Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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 1 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 2 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 3 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! 4 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 5 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 6 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 7 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 8 Jini Example: MCB • Quantum System’s Multi-Cast Buffer (MCB) 9 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 nonrobust processing • Minimizes WAN bandwidth by source filtering 10 Jini Example: MCB • Each MCB registers as a Jini Service with its own MCB attributes 11 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 12 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! 13 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 14 EOF Jini: NMS data service Registration of Services and Drivers Jini community Network Element Event Object Factory EOF MCB Socket Jini/RMI 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 15 EOF Jini: Jini aware client Data via NOC data service(s) STP service from EOF Client Jini community 16 Jini stub EOF Jini: non-Jini mobile client Data via NOC data service(s) STP JSB service from EOF JSB JSB lookup service Client HTTP Request(s) Http://bobo.com/jsbServlet?c md=getinfo&handle=43618 17 EOF Jini: non-Jini custom client Data via NOC data service(s) Custom Display API Optional: Custom Lookup service Client Shared Custom API for Display 18 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 19 EOF Jini: Demo Example (cont.) JINI enabled MCB makes data available dynamically via Jini (Data is RAW) Jini community 20 Standard JINI Lookup Service can find entries or service types of interest. 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) EOF Structured Data (out) STP service from EOF 21 EOF Jini: Demo Example (cont.) Data via NOC data service(s) STP service from EOF Jini community 22 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. 23 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. 24 Summary • Java/Jini ideally suited for the Network Management arena, especially in Wireless infrastructures. • Wireless networks are inherently objectoriented 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. 25 Contacts Jeff Hackert, Sr. Systems Integrator Nextel Communications, Inc. [email protected] Jon Strabala, Chief Technical Officer Quantum Systems Integrators, Inc. [email protected] Doug Smith, V.P. Technical Services Nextel Communications, Inc. [email protected] Mark Karmelich, VP Engineering Quantum Systems Integrators, Inc. [email protected] Code samples, this presentation and more info: http://www.QuantumSI.com/developer 26