I'm sponsoring this case for the Sailfin team. ?Lloyd Chambers LSARC
On Oct 13, 2009, at 3:02 AM, sankara rao bhogi wrote: 1. Introduction 1.1. Project/Component Working Name: Sun GlassFish Communication Server 2.0 (Project SailFin 2.0) 1.2. Name of Document Author/Supplier: Sreeram Duvur, Sankara Rao Bhogi 1.3. Date of This Document: October 5, 2009 1.3.1. Date this project was conceived: February , 2009 1.4. Name of Major Document Customer(s)/Consumer(s): 1.4.1. The PAC or CPT you expect to review your project: Web and Application Platform PAC (WAP PAC) 1.4.2. The ARC(s) you expect to review your project: LSARC 1.4.3. The Director/VP who is "Sponsoring" this project: Thomas Kincaid 1.4.4. The name of your business unit: Software Infrastructure 1.5. Email Aliases: 1.5.1. Responsible Manager: Murthy Narayanan 1.5.2. Responsible Engineer: prasad.subramanian at sun.com 1.5.3. Marketing Manager: satish.hemachandran at sun.com 1.5.4. Interest List: as-telco at sun.com 2. Project Summary 2.1. Project Description: Sun GlassFish communication Server 2.0 is next version of the previous release, Sun GlassFish Communication Server 1.5. Its main drivers are stabilizing 1.5 release, meeting unfinished commitments of previous release and some new features requested by the customers. ARC case for 1.5 release : http://sac.eng.sun.com/Archives/CaseLog/arc/LSARC/2008/442/ 2.2. Risks and Assumptions: * Project is in the final stages and there are no anticipated major risks at this time. 3. Business Summary 3.1. Problem Area: Addresses the need for a high performance SIP application server that also provides all the power of Java EE 5 to deploy new subscriber services. Fixing the gaps identified in the earlier release. 3.2. Market/Requester: Network Equipment Providers and Carriers who create and deploy services for the mobile and fixed line markets. Ericsson is one of the major driver of the requirements for this release. 3.3. Business Justification: Java and SIP Servlets are surprisingly deeply penetrated in the service creation markets. Carriers demand high-end performance, scalability and availability and are looking to establish long-term OEM and supplier relations with infrastructure software players. They are attracted to Java EE and JSR-289 (SIP Servlets API 1.1) because it enables new class of applications that use web services and data access to be developed and composed much more easily. 3.4. Competitive Analysis: Project SailFin is the first and most popular SIP Application Server to be developed in open source. It has drawn the interest of many customers including Ericsson which is a co-developer and consumer, and 40% market reach. Sun GlassFish Communication Server is Sun's commercial version of the project SailFin. Mobicents, driven by RedHat/JBoss is another player in the open source SIP application server arena. IBM, Oracle have products in this category. 3.5. Opportunity Window/Exposure: Customer interest and business commitments require that the product be delivered in CY09. 3.6. How will you know when you are done?: The initial delivery of the product will be deemed complete when it passes the agreed quality criteria. 4. Technical Description: 4.1. Details: Following are some of the new features added for Sun GlassFish Communication Server in 2.0 release: Sip Session Replication (SSR): The purpose of SSR is to provide reliable fail over of SIP sessions and their artifacts (times, dialog fragments, converged http sessions). This provides minimal loss of sessions in the event of a single failure in a cluster of SailFin instances. Multiple failures can be tolerated provided that they allow sufficient recovery time between the failures; however, given that session migration happens in a lazy fashion, the recovery time between failures may be quite long. Enhancing GMS Failure Detection: Group Membership Service (GMS) is part of Project Shoal, being developed at https://shoal.dev.java.net/ . A new GMS functionality that enables an external entity or an in- process GMS client to report a member failure to GMS. This functionality addresses an incompatibility between GMS and other external processes(NA, potentially SAF/ AMF) that monitor and restart a GMS member faster than GMS heartbeat-based failure detection is capable of detecting failure. Data Centric Rules in Java: The Data Centric Rules (DCR) is a part of the Converged Load Balancer making it possible to configure how the key, used as input to the consistent hash, is extracted from a request. The rules for a specific CLB configuration can currently be specified using a proprietary language in XML. However, this language is somewhat limited, and moreover, it is hard to understand. A java based DCRs are proposed and implemented to add more flexibility. Enhanced Overload Protection: The CPU based Overload Protection mechanism available in Sun GlassFish Communication Server 1.5 protects the system from getting to much load. Unfortunately the protection system is too sensitive and reacts on every small CPU spike. An algorithm is needed to minimize the spikes and reduce the number of alarms generated. Currently there is a poor way of notifications of overload within SGSC. Only warnings are logged when overload is detected. A notification mechanism is introduced for clients to observe changes from normal load to overload and vice versa. Rolling upgrade: Objective of the rolling upgrade is to provide service availability and minimize the data loss. Rolling upgrade works in conjunction with SSR. Multihome support: JSR 289 has an optional feature, an implementation should provide an ability to send or receive SIP traffic on selected interfaces. Telco customers also often separate the user traffic and their OAM traffic. Multihome support is provided to support such use cases. Inception materials for http://sac.eng.sun.com/Archives/CaseLog/arc/LSARC/2008/442/ are still valid for this release and the new functional specifications/one pagers are at: http://wiki.glassfish.java.net/Wiki.jsp?page=SFv2FunctionalSpecs 4.2. Bug/RFE Number(s): Not Applicable 4.3. In Scope: 4.3.1 OS Platform Support The primary OS platforms being supported by the project include: Deployment: Solaris10 X86 U7 Solaris10 Sparc U7 SuSE 10 Linux SP2 RedHat Linux 5 Development: Windows XP, Vista, 2008 MAC OS 10.4, 10.5 OpenSolaris 2009.06 4.4. Out of Scope: Not Applicable 4.5. Interfaces: Exported Interfaces 1) Name: sun-domain_1_5.dtd Description: DTD schema change which captures new configuration and modified configuration from earlier release. Backward compatibility is retained to work with previous DTD schema. Actual changes are captured in functional specification/one pagers. Classification: Committed 2) Name: org.glassfish.comms.api.datacentric.DcrPlugin Description: Java interface to implement user defined data centric rules in Java. Packaged as part of comms-appserv-api.jar. Classification: Committed 3) Name: org.glassfish.comms.api.overload package Description: various interfaces to implement a overload notification listener, registrar and to get event data. Packaged as part of comms-appserv-api.jar. Classification: Committed 4) Name: asadmin command line tool Description: Existing asadmin tool is extended with sub command to support new functionality introduced. Classification: Committed Note: Changes to the domain dtd and CLI commands are captured at: http://wiki.glassfish.java.net/attach/SailFinAdministration/Admin_SF20.html Imported Interfaces No new imported interfaces, other than those covered in the earlier ARC case http://sac.eng.sun.com/Archives/CaseLog/arc/LSARC/2008/442/ 4.6. Doc Impact: 4.6.1. End User Documentation Previous release documentation set will be refreshed. 4.6.2. Distribution Documentation Administration and Deployment documents will guide administrators. 4.6.3. Developer Documentation SIP Servlet and Converged Application Development will be described in Developer Guide. 4.7. Admin/Config Impact: As specified in the one pagers and is backward compatible. 4.8. HA Impact: As specified in the previous ARC case. 4.9. I18N/L10N Impact: Will be internationalized. Localizations based on customer demand. 4.10. Packaging & Delivery: 4.10.1 Overall File system Layout Layout is identical to what is already approved for Sun GlassFish Communication Server 1.5. 4.11. Security Impact: Adds TLS support for SIP protocol, support for Digest Authentication and support for Proxy-Asserted-Identity 4.12. Dependencies: Sun GlassFish Enterprise Server 2.1.1 5. Reference Documents: WSARC 2008/442 Sun GlassFish Communication Server: http://sac.eng/arc/WSARC/2008/442/ See project detail document locations in submitted materials. 6. Resources and Schedule: 6.1. Projected Availability: Production quality release in October 2009. 6.2. Cost of Effort: Roughly 12 development resources for 10 months. 6.3. Cost of Capital Resources: Addressed via existing resources. 6.4. Product Approval Committee requested information: 6.4.1. Consolidation or Component Name: Not applicable. 6.4.3. Type of CPT Review and Approval expected: Not applicable. 6.4.4. Project Boundary Conditions: Not applicable. 6.4.5. Is this a necessary project for OEM agreements: Yes. 6.4.6. Notes: Not applicable. 6.4.7. Target RTI Date/Release: Not applicable. 6.4.8. Target Code Design Review Date: Reviews have been occurring throughout the development process. 6.4.9. Update approval addition: Not applicable. 6.5. ARC review type: Fast Track Sun GlassFish Communications Server 2.0 is incremental release on Sun GlassFish Communication Server 1.5, with focus on stability and meeting commitments made on SailFin 1.5 release. 6.6. ARC Exposure: Open 6.6.1. Rationale: Not applicable. 7. Prototype Availability: Open Source development builds are visible at http://SailFin.dev.java.net Lloyd Chambers lloyd.chambers at sun.com GlassFish Team