Introduction - Quantum Systems Integrators, Inc.

Download Report

Transcript Introduction - Quantum Systems Integrators, Inc.

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