OSDL's Carrier Grade Linux working group is hard at work on an open source platform for the Telecom industry. This article describes the goals, structure, and working groups of CGL; presents the CGL architecture; and provides an overview of the CGL 2.0 requirements.
The Linux kernel does not meet Telecom requirements in various areas, including reliability, security, and scalability. Open Source Development Labs (OSDL) has established the Carrier Grade Linux (CGL) working group to specify and help implement an open source platform targeted for the communication industry that is highly available, secure, scalable, and easily maintained. CGL is composed of several member companies that are contributing to the requirement definition of CGL, helping open source projects to meet these requirements, and in some cases starting new open source projects such as the OSDL cluster project.
Many of the CGL member companies have contributed technologies to open source to allow the Linux kernel to be a viable option for Telecom platforms. For instance, Ericsson has contributed the Telecom IPC, the Asynchronous Event Mechanism, and the Distributed Security infrastructure. in parallel, Linux distributions such as MontaVista are providing distributions based on the CGL requirement definitions. As for deployment, quite a few companies are evaluating, experimenting with, or deploying CGL.
CGL Working GroupCarrier Grade Linux (CGL) is a working group in OSDL that was established in January 2002. The group aims to enhance the Linux operating system with carrier grade characteristics; it is defining specifications for an operating system with carrier grade characteristics as well as tools to support software development for carrier grade systems.
CGL has the vision that next-generation communication services can be delivered using open standards and Linux-based platforms on carrier grade equipment. To achieve this goal, the working group is defining the requirements and architecture for the Carrier Grade Linux platform, upon which commercial components and services can be deployed.
As part of creating the requirements definition, the group is identifying existing open source projects that support the roadmap and implement required components and interfaces. When an open source project does not exist to support a certain requirement, OSDL CGL launches (or supports the launch of) new open source projects to implement missing components and interfaces. One example is the OSDL Cluster Project (see references), which aims to develop clustering services for Linux.
CGL SubgroupsThe CGL working group consists of three distinct subgroups that work together: Specifications, Proof-of-Concept, and Validation. Explanations of the responsibilities of each subgroup follow.
Specifications: The specifications subgroup is responsible for defining the requirements that lead to enhancements in the Linux operating system that are useful for carrier grade implementations and applications.
Proof-of-Concept: This subgroup drives the implementation and integration of core carrier grade enhancements to Linux as identified and prioritized by the requirement document. The group is also responsible for ensuring that integrated enhancements pass the Carrier Grade Linux validation test suite and for establishing and leading an open source umbrella project to coordinate implementation and integration activities for Carrier Grade Linux enhancements.
Validation: This subgroup defines standard test environments for developing validation suites. It develops validation suites to ensure that all of the Carrier Grade Linux requirements are covered.
CGL 2.0 ContributorsThe key participants in the CGL working group include:
Network equipment providers: Alcatel, Cisco, Ericsson, Fujitsu, Hitachi, and Nokia
System integrators: HP, IBM, and Sun
Platform providers: intel and Force Computers
Linux distributors: MontaVista, Miracle Linux, SUSE, and TurboLinux. CGL works closely with Linux distributions to ensure that CGL functionality is adopted in their offerings. As for new contributors to CGL 3.0, the following companies have recently joined OSDL in contributing to CGL: NTT, WindRiver, TimeSys, and Ulticom.
Target CGL ApplicationsThe CGL working group has identified three main categories of application areas in which they expect the majority of applications implemented on CGL platforms to fall.
Gateways: Bridges between two different technologies or administration domains. A gateway processes a large number of small messages received and transmitted over a large number of physical interfaces. Gateways perform in a timely manner, very close to hard real time.
Signaling servers: These handle call control, session control, and radio recourse control. Signaling servers require soft real-time response capabilities and may manage tens of thousands of simultaneous connections. A signaling server application is context switch and memory intensive due to requirements for quick switching and a capacity to manage large numbers of connections.
Management servers: These handle traditional network management operations, as well as service and customer management. Typically, management applications are data and communication intensive.
Carrier Grade Linux ArchitectureFigure 1 presents the scope of the CGL working group, which covers two areas:
Carrier Grade Linux: Various requirements, such as availability and scalability, are related to the CGL enhancements to the operating system. Enhancements may also be made to hardware interfaces, interfaces to the user level, or application code and interfaces to development and debugging tools. in some cases, to access the kernel services, user-level library changes will be needed.
Software development tools: These tools will include debuggers and analyzers. On October 9, 2003, OSDL announced the availability of the OSDL Carrier Grade Linux Requirements Definition, version 2.0 (CGL 2.0). This latest requirement definition for next-generation Carrier Grade Linux offers major advances in security, high availability, and clustering.
CGL 2.0 Requirements DefinitionThe requirements definition document of CGL version 2.0 introduces new and enhanced features to support Linux as a carrier grade platform. The complete requirements document is available for download from the OSDL Web site. It consists of 105 pages; the following brief summary of the main categories should satisfy the impatient for now.
ClusteringThese requirements support the use of multiple carrier server systems to provide higher levels of service availability through redundant resources and recovery capabilities, and to provide a horizontally scaled environment supporting increased throughput.
SecurityThe security requirements are aimed at maintaining a certain level of security while not endangering the goals of high availability, performance, and scalability. The requirements support the use of additional security mechanisms to protect the systems aGainst attacks from both the internet and intranets, and provide special mechanisms at kernel level to be used by Telecom applications.
StandardsThese requirements specify standards that are required for compliance. Examples of these standards include:
POSIX Timer interface
POSIX Signal interface
POSIX Message Queue interface
POSIX Semaphore interface
IPv6 RFCs compliance
IPsecv6 RFCs compliance
MIPv6 RFCs compliance
SNMP support
POSIX threads
PlatformOSDL CGL specifies requirements that support interactions with the hardware platforms making up carrier server systems. Platform capabilities are not tied to a particular vendor's implementation. Examples of the platform requirements include:
Hot insert: Supports hot-swap insertion of hardware components
Hot remove: Supports hot-swap removal of hardware components
Remote boot support: Supports remote booting functionality
Boot cycle detection: Supports detection of reboot cycles due to recurring failures
Diskless systems: Support for diskless systems, which load and run applications via the network
AvailabilityThe availability requirements support heightened availability of carrier server systems by improving the robustness of software components or by supporting recovery from failure of hardware or software. Examples of these requirements include:
RAID 1: Support for RAID 1 offers mirroring to provide duplicate sets of all data on separate hard disks.
Watchdog timer interface: Support for watchdog timers to perform certain specified operations when timeouts occur.
Support for disk and volume management: To allow grouping of disks into volumes.
Ethernet link aggregation and link failover: Support bonding of multiple NIC for bandwidth aggregation; also provide automatic failover of IP addresses from one interface to another.
Support for application heartbeat monitor: Monitor application availability and functionality.
ServiceabilityThe serviceability requirements support servicing and managing hardware and software on carrier server systems. These are wide-ranging requirements that, when put together, help support the availability of applications and the operating system. Examples of these requirements include:
Support for producing and storing kernel dumps
Support for dynamic debug of the kernel and running applications
Support for platform signal handler, enabling infrastructures to allow interrupts generated by hardware errors to be logged using the event-logging mechanism
Support for remote access to event log information
PerformanceOSDL CGL specifies the requirements that support performance levels necessary for the environments expected to be encountered by carrier server systems. Examples of these requirements include:
Support for application (pre)loading
Support for soft real-time performance through configuring the scheduler to provide soft real-time support with latency of 10 ms
Support for kernel preemption
Raid 0 support to enhance performance
ScalabilityThese requirements support vertical and horizontal scaling of carrier server systems, such as the addition of hardware resources for increased capacity.
ToolsThe tools requirements provide capabilities to facilitate diagnosis. Examples of these requirements include:
Support for the usage of a kernel debugger
Support for kernel dump analysis
Support for debugging multithreaded programs
CGL 3.0CGL activities are providing Momentum for Linux in the Telecom space, allowing it to be a viable option to proprietary operating systems. The work on the OSDL CGL requirements, version 3.0, started in January 2004 with focus on the following requirement areas:
APIs/specifications/standards: References to useful and necessary existing standards and interface specifications
Availability: Useful and necessary functionality for single-node availability and recovery
Clustering: Useful and necessary components to build a clustered set of individual systems
Hardware: Useful and necessary hardware-specific support that affects the expected carrier operating environment
Performance: Useful and necessary features that contribute to adequate performance of a system
Security: Useful and necessary features for building secure systems
Serviceability and tools: Useful and necessary features for servicing and maintaining a system, and coverage of tools that support this as well as support the other sections The official release of CGL 3.0 is expected in October 2004.
Open invitation to ParticipateLinux with carrier grade characteristics provides an essential building block that will allow us to build open communication platforms. CGL is a community effort, based on cooperation between companies and individuals, and participation is open to everyone. Please consider this as an invitation to get involved in this effort and contribute to the making of Linux as an alternative operating system for communication platforms.
Is this a step for Linux toward world domination? Only time will tell...
References
OSDL: index.html" target=new />www.osdl.org
CGL: Linux" target=new />www.osdl.org/lab_activities/carrier_grade_Linux
MontaVista: index.html" target=new />www.mvista.com
Open System Lab: Linux.ericsson.ca/index.html" target=new />www.Linux.ericsson.ca
TIPC: index.html" target=new />http://tipc.sourceforge.net
AEM: index.html" target=new />http://aem.sourceforge.net
DSI: index.html" target=new />http://disec.sourceforge.net
Linux kernel: index.html" target=new />www.kernel.org
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>