Post on 28-Dec-2015
Wireless CORBA
Richard Verhoeven
Content
• Quick Introduction to CORBA
• Wireless & Mobile
• Wireless CORBA
• Test Case
• Conclusions
What is CORBA?• Common Object Request Broker Architecture
• Distributed object-oriented middleware– Network abstraction of object location– Independent of programming language, platform
or operating system
• Set of open standards defined by the OMG– interface definition language (IDL)– interoperability standards (GIOP, IIOP)– collection of services
How does it work?
• Write the interface definition in IDL
• Use the ORB-specific IDL compiler to generate client stubs and server skeletons
• Use the stubs in the client application
• Fill the skeletons with the server implementation
• Compile everything
Example: IDL
interface Account {
void deposit(in unsigned long amount);
void withdraw(in unsigned long amount);
long balance();
};
Example: clientCORBA::Object_var
obj = orb->string_to_object( uri );
Account_var
account = Account::_narrow( obj );
...
if (account->balance() < 100) {
account->deposit( 500 );
} else {
account->withdraw( 100 );
}
Example: server (1)
class Account_impl : virtual public POA_Account
{ ...
CORBA::Long _current_balance;
...
void deposit( CORBA::ULong amount)
{ _current_balance += amount; };
...
CORBA::Long balance()
{ return _current_balance; };
}
Example: server (2)
… // orb, poa and mgr setup
Account_impl*
servant = new Account_impl();
PortableServer::ObjectId_var
oid = poa->activate_object(servant);
… // construct object uri
mgr->activate();
orb->run();
Sizes of ORBs
Name Lang. LOC Librarysize
Compress
JacORB Java 50K 8697 4034MICO C++ 62K 4715 1235OmniORB C++ 30K 1003 310
OpenORB Java 40K 3712 1796
ORBacus/E C++ 17K 1735 422ORBacus Java 58K 3355 1704ORBit C 21K 562 175TAO C++ 345K 11299 2863
Interoperability Timing
Wireless & Mobile
• Wireless protocolsInfraRed, BlueTooth, 802.11b, GSM, GPRS, UMTS
• Wireless issuespacket loss, network congestion, packet cost
• Mobile issueshand-off, roaming, address changes
• Location based serviceswireless range, position & direction detection
MobileIP
• IETF solution (RFC 2002)
• Addresses macro-mobilityhome-office, office-travel
• Requires an activehome agent
Wireless CORBA
• Issues
• MobileIP
• Architecture
• Mobile IORs
• Handoff & Access Recovery
Wireless CORBA - Issues
• CORBA relies on fixed end-points for connections
• Nomadic computing
• Wireless transport issues
• Mobility transparency
• Handoff
• Backwards compatible
Why not MobileIP?
• It only addresses macro-mobility, not the movement between small cells
• The home agent is too important
• It does not address wireless protocols
• It hides all handoff events, thus making location-aware services difficult.
Architecture
Architecture
• Redirects requests for services on the terminal• Keeps track of the current access bridge
Architecture• Encapsulates, forwards or ignores incoming GIOP messages• Decapsulates and forwards messages from the GIOP tunnel• Generates mobility events• Lists available services
Architecture
• Similar to the Access Bridge• Does not provide forwarding• Generates mobility events• Does not list services
Architecture• Abstract transport-independent tunnel for GIOP messages• Concrete tunnels for TCP/IP, UDP/IP and WAP.• Protocol requires reliable and ordered delivery
Handoff & Access Recovery
• Network initiated handoff– started by an external application– optional to support make-before-break
• Terminal initiated handoff– terminal discovered a new Access Bridge– make-before-break is required
• Access recovery
Handoff Issues
• The Home Location Agent is informed
• Old Access Bridges are informed to allow forwarding of open connection
• Mobility events are generated in the visited domain and the terminal domain
Test Case
• ITEA Project “Vivian”
• Common platform for mobile phones
• CORBA for distributed middleware
• SOAP as alternative
Test Case
• Mobile device (Psion Revo)
• Java virtual machine
• Java ORB
• XML sax parser
• Remote User Interface Protocol
Conclusion: it works reasonable(Wireless CORBA not used yet)
Conclusions
• Wireless CORBA addresses wireless & mobility, not low resource constraints.
• CORBA works on a mobile device, but it requires lots of resources
• Handoff notification breaks the layered network model