wireless corba richard verhoeven. content quick introduction to corba wireless & mobile wireless...

Post on 28-Dec-2015

234 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related