Telecommunication software is on the verge of a revolution. Closed, proprietary programming environments are giving way to an open, extensible, reusable and services-oriented framework based on Java. JAIN — The Java Advanced Intelligent Network effort promises to bring service portability, secure network access, and network integration to the world of telecom and Internet networks. The JAIN effort will define standard Java interfaces and environments for service creation, testing, management, and deployment over wireless, PSTN, IP, and other networks.
From Dumb to Intelligent Networks: The network evolution
I’m sure you know what a network is, but let’s just reiterate for the sake of completeness. A network is a group of interconnected devices. These devices may be computers, satellite links, cell phones, etc. Every network employs the model of switches and routers, which are the devices and logic that allow connections to be made between the devices of the network and empower data to find its way across the network to its ultimate destination. The applications that run on a network are termed services.
Java becomes the enabling technology for solving existing problems in the telecom industry.
Prior to the mid-1960s, services were hardwired on the switching devices. These are what can be called Dumb Networks. They had limited logic and processing capabilities. The service logic was specific to the switch, not easily modifiable, not extensible, and not scalable.
To counter this, Stored Program Control (SPC) was introduced at that time. This was a major step forward, since service logic could be programmed, rather than hardwired. However, SPC was still proprietary and not extensible. Service logic could not be reused due to dependencies on the switch and interoperability issues. You could call these Semi-Dumb Networks.
The mid-1970s brought about a milestone in the history of telecom networks with the introduction of Common Channel Signaling Networks (CCSN). SS7 is the protocol that the devices on CCSN use to communicate. As a result these networks became popularly known as SS7 Networks. This was a brave departure from the earlier networks. In those, service control information (handshaking and call-setup information) would be transmitted over the same physical link that would carry the call. This meant that the process of setting up a telephone link would exclusively lock the physical call path from source to destination. The physical link locking and setup was a waste if the destination was busy. In SS7 Networks the signal control information was transmitted independently of the physical call path through packet-switching systems known as Signal Transfer Points (STP). This eased congestion on the physical call paths and proved to be an enabling technology for call information services like Call Waiting and Caller-ID. SS7 Networks marked the foundations of the Intelligent Network.
JAIN will standardize interfaces and programming models for intelligent network services.
In the 1980s service logic was removed from the switching systems of the network and placed on devices called Service Control Points across the network. The service logic was switch independent but remained service dependent. The service would define its own interfaces, which the switch must adhere to. If the switch wanted to use some other service, it would have to learn these new interfaces and implement them too. The next wave of evolution marked a reversal of this process. Services started implementing standard switch callback interfaces and any service could be plugged in as long as it implemented that interface. These service independent networks are known as Intelligent Networks (IN). Other networks, like Wireless and IP data networks, are converging with IN to form the Advanced Intelligent Network (AIN).
Where Java fits in
It is truly a great vision to have a cohesive unified network, but the biggest problem with AIN is a lack of standardization. Devices and programming environments remain closed and proprietary. Incompatibilities and “impedance mismatches” abound. Though standards bodies are actively pursuing the issue, little progress has been made so far. Besides protocol and interface level standards there are also technical incompatibilities that render services useless on platforms that they were not developed for. Services suffer from vendor lock-in as migrating from one platform to another is not easy and involves substantial effort and cost. Developing services requires a high level of domain exposure and expertise, thereby raising the entry barrier for third parties to provide service implementation and hosting. From the network infrastructure providers, to the equipment vendors, to the service carriers, the IN ecosystem is a tightly intertwined mesh that is tough to break through.
Enter Java. Java becomes the enabling technology for solving existing problems in the telecom industry. Java goes one step further by opening up and integrating the telecom networks with other existing networks, like IP, wireless, etc. The essence of the JAIN initiative is to integrate, liberate, and standardize the network services industry through the use of Java technology.
The most important feature that JAIN will provide is a standard, platform-neutral and ubiquitous operating environment for services, namely the Java Virtual Machine. Services are now portable across equipment from different vendors. Developers familiar with Java can create services by learning a few concepts and APIs. This throws the telecom service industry open to hundreds of thousands of existing Java developers and ISVs and the potential to create numerous innovative and cross-functional services.
Though JAIN is still in its infancy, the promise of this technology has motivated over 20 industry players to endorse and actively develop it.
Along with the pervasive computing environment, JAIN will standardize interfaces and programming models for intelligent network services. JAIN preaches a component-based architecture based on Java Beans. This standardization effort will enable interoperability between service implementations and will encourage service developers to write modular building blocks and reuse them. Functionality can be delivered by simply connecting these blocks together in different combinations. Implementation cycles for new services will be drastically reduced. Deployment could be real-time.
JAIN is being specified as a community extension to the Java Platform. Development is being carried out under the terms of Sun’s Java Specification Participation Agreement (JSPA), Java Community Process (JCP), and Sun Community Source Code Licensing (SCSL). This means that any feature that will ultimately be provided with JAIN has to be endorsed by an expert group.
The JAIN initiative consists of two expert groups:
- The Protocols Expert Group (PEG) specifies interfaces to wireline, wireless, and IP signaling protocols.
- The Application Expert Group (AEG) addresses the APIs required for service creation within a Java framework spanning across all protocols covered by the PEG.
A significant amount of work has already been done on JAIN. Numerous Java Specification Requests (JSRs) have been approved under the Java Community Process, which means that the work of defining and implementing the APIs has been approved and will be released in the near future. JSRs have been approved for various communication and application level protocols, transaction and operational interfaces, management interfaces, and service creation and execution interfaces.
The biggest hurdle facing JAIN today is the lack of embedded JVMs in telecom equipment. Equipment vendors will have to work together with JVM providers to ensure that future telecom equipment upgrades come with a JVM. Without the embedded JVM, JAIN is useless. Industry players must work together in defining and implementing the JAIN APIs in a manner to discourage vendor-specific extensions and proprietary APIs.
The vision of a unified and cohesive network in which services are portable, scalable, extensible, interoperable, and flow freely without modification between networks is a powerful one. JAIN is the first step toward integration of IP, wireless, cellular, and PSTN networks. By providing industry standard environments and interfaces to creating intelligent network services and applications, JAIN will create the opportunity for ISVs, network service providers, equipment vendors, and carriers to create numerous innovative Java-based components to strategically grow their respective businesses. Though JAIN is still in its infancy, the promise of this technology has motivated over 20 industry players, such as Ericsson, AT&T, Telecordia, ApiON, and so on to endorse and actively develop it. This technology has the potential to radically change the whole network-services market and open up various opportunities for those who capitalize on JAIN.
For information about JAIN:
JAIN product pages
For information on the JAIN Java Specification Request:
Java Specification Request (JSR)
For information on the Java Community Process:
Java Community Process pages
For information about Intelligent Networks:
Intelligent Network tutorials
About the author
Apu Shah is the director of technology at Boston Education and Software Technologies. His focus areas are network and distributed computing. Feel free to contact him at firstname.lastname@example.org.