260 likes | 379 Views
Building Jini™ Based Network Management Applications for the Wireless Space. JavaOne BOF-512 June 4, 2001 Doug Smith & Jeff Hackert, Nextel Communications, Inc. Jon Strabala & Mark Karmelich, Quantum Systems Integrators, Inc. Overview. Managing A Complex Network
E N D
Building Jini™ Based Network Management Applications for the Wireless Space JavaOne BOF-512 June 4, 2001 Doug Smith & Jeff Hackert, Nextel Communications, Inc. Jon Strabala & Mark Karmelich, Quantum Systems Integrators, Inc
Overview • Managing A Complex Network • The Challenge / Solution • The One-Vendor Solution Dilemma • Java/Jini Solution and its benefits • Jini Example: MCB • Event Object Factory (EOF) • EOF Jini: Uses and Interfaces • EOF Jini: Demo Example • Vendor and ISV Opportunities
Managing A Complex Network • Overview of iDEN a complex wireless network • Interconnect - Dispatch • Short Message System -Voice Mail • Packet Data - Circuit Switched Data • TCP/IP - ATM - X25 - internal protocols • Management goals and challenges • Provide a reliable and consistent view of a dynamic wireless network • Provide reliable and timely notification of network state and topology changes • Proactively manage complex wireless networks
Managing A Complex Network • Why Traditional NMS fails • Lack of consistency between Vendors supplying similar implementations and between revisions of a given implementation • Poll and trap is not reliable when multiple boxes share dependencies • Current NMS applications are only as good as the last rewrite • Legacy discovery methods are expensive and sometimes dangerous!
The Challenge • Easily Manage a Complex Wireless Network • Create a robust, standard API across device types • Services must gracefully join / leave the network • Allow consumers of data to dynamically access services as they become available • Provide consumers with a uniform data type
One Vendor Solution Dilemma • Jack of all trades, master of none - The set of “best” sub-API providers/vendors “locked out” • Object Oriented principals are typically encapsulated within one vendor's application suite and are not exposed for extensibility outside that suite for the creation of new services • "One-vendor" solutions, even via SNMP or CMIP, have failed to deliver true extensibility and inter-operability with respect to Network Management Systems
Solution • Reduce the complexity of managing large, heterogeneous networks via a standard and well-defined service API, where attributes are similar among different service implementations. • Provide a standard data type (Event Object) to encapsulate state, topology, and other attributes • Create infrastructure to create, store and destroy Event Objects • Define a standard API for accessor methods for Event Objects
The Java/Jini Solution • Jini provides an API for services or proxies to gracefully join, detach, and advertise their presence in a “managed service community”. • Detect and recover from failure. • Allow transparent redundancy and failover • Allow construction of transparent fault tolerant services • Deliver services and device drivers dynamically
Jini Example: MCB • Quantum System’s Multi-Cast Buffer (MCB)
Jini Example: MCB • Simple means to manage any data source distribute data to any interested consumer • Secure, Robust, and Efficient Data Store • Ensures integrity and allows increased application recovery capabilities • Isolates critical data collection from non-robust processing • Minimizes WAN bandwidth by source filtering
Jini Example: MCB • Each MCB registers as a Jini Service with its own MCB attributes
Jini Example: MCB • Non-Java Legacy MCB now a simple to use Jini Service. • Very efficient 1000’s of MCBs (i.e. data stores) use a single Jini proxy or surrogate. • Clients can automatically “find” MCBs that are match a desired attribute set via Jini • Clients automatically and dynamically obtain the necessary and latest Java classes define MCB accessor methods
Jini Example: MCB • Now a mere 12 lines of code can leverage a Jini service, get real-time data from any type of equipment i.e. (equiptype=MSC), no matter where it is, when it is added to the network, or if it just recovered!public class McbClient { public static void main(String[] args) throws Exception { System.setSecurityManager(new RMISecurityManager()); String equiptype = args[0]; ServiceFinder remsf[] = new FindAllFeedsOfType(McbService.class,equiptype); McbService remcs = (McbService) remsf.getObject(); ServiceFinder locsf = new ServiceFinder(McbServiceDriver.class); McbServiceDriver loccs = (McbServiceDriver) locsf.getObject(); loccs.StartMultiFeedRealTime(loccs,remsf); while (true) System.out.println(loccs.getMultiFeedRealTimeData()); } } • Note, no other local code, libraries, DLLs, etc. are required!
EOF Jini: Event Object Factory • Hide Connection details from Clients • Parse raw input streams into rich context full records i.e. Event Objects • Return a standard data type to consumers (Event Objects) • Clients can focus on interpretation of data rather than collection, and record formatting • Subscription pattern for registering interest in specific types of Event Objects
EOF EOF Jini: NMS data service Registration of Services and Drivers Jini community Network Element Event Object Factory MCB Jini/RMI Socket EOF(s) perform Jini service discovery, service management, and a provides a uniform FM Java Object. MCB proxies FM data for network elements with limited NMS capabilities (e.g. MSC) EOF(s) supply Jini services, JSB services, and Custom APIs
Client EOF Jini: Jini aware client Data via NOC data service(s) STP service from EOF Jini community Jini stub
Client EOF Jini: non-Jini mobile client Data via NOC data service(s) STP JSB service from EOF JSB HTTP Request(s) Http://bobo.com/jsbServlet?cmd=getinfo&handle=43618 JSB lookup service
Client EOF Jini: non-Jini custom client Data via NOC data service(s) Custom Display API Optional: Custom Lookup service SharedCustomAPI forDisplay
EOF Jini: Demo Example MCB data stores/records data from any equipment and distributes real-time and/or history to interested consumers. In this demo (i.e. SS7 data is shown). (Data is RAW) Network Element MCB
EOF Jini: Demo Example (cont.) JINI enabled MCB makes data available dynamically via Jini (Data is RAW) Standard JINI Lookup Service can find entries or service types of interest. Jini community
EOF EOF Jini: Demo Example (cont.) The Event Object Factory (EOF) provides value added enrichment to the RAW data, providing First class Java Objects and/or Generic Java encapsulations. Jini community Unstructured Data (in) Structured Data (out) STP service from EOF
EOF Jini: Demo Example (cont.) Data via NOC data service(s) STP service from EOF Jini community
EOF Jini: Demo Example (cont.) Initial Client Screen with no active “feeds”. The Start/Stop menus only have TEST feeds from a configuration file. User checks ‘Auto Discovery’ to invoke discovery, EOF provides correct “parsed” Event Objects Dynamic discovery of new data feeds of proper type. EOF interface supplies “proper” record oriented data to the client. In this case a NMS alert display with criticality. and correlation functions.
Vendor and ISV Opportunities • Follow the EOF model with a) Jini services, b) JSB services, and c) Custom services. • Code reuse • Realize truly generic solutions (80/20 rule) • Integrate system components STOP writing MIBs • Participate with Nextel & Quantum in in finalizing the NMS-EOF JSR proposal.
Summary • Java/Jini ideally suited for the Network Management arena, especially in Wireless infrastructures. • Wireless networks are inherently object-oriented by design, but are traditionally buried in specific NMS solutions • Jini gives a wireless company the power to transform a set of disparate specific solutions (multi vendor) into a system of generic interfaces that can cooperate homogenously.
Contacts Jeff Hackert, Sr. Systems IntegratorNextel Communications, Inc. jeff.hackert@nextel.com Doug Smith, V.P. Technical ServicesNextel Communications, Inc. doug.smith@nextel.com Jon Strabala, Chief Technical OfficerQuantum Systems Integrators, Inc. jon.strabala@QuantumSI.com Mark Karmelich, VP EngineeringQuantum Systems Integrators, Inc. mark.karmelich@QuantumSI.com Code samples, this presentation and more info: http://www.QuantumSI.com/developer