Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless...

25
Wireless CORBA Richard Verhoeven

Transcript of Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless...

Page 1: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

Wireless CORBA

Richard Verhoeven

Page 2: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

Content

• Quick Introduction to CORBA

• Wireless & Mobile

• Wireless CORBA

• Test Case

• Conclusions

Page 3: 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

Page 4: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

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

Page 5: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

Example: IDL

interface Account {

void deposit(in unsigned long amount);

void withdraw(in unsigned long amount);

long balance();

};

Page 6: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

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 );

}

Page 7: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

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; };

}

Page 8: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

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();

Page 9: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

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

Page 10: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

Interoperability Timing

Page 11: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

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

Page 12: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

MobileIP

• IETF solution (RFC 2002)

• Addresses macro-mobilityhome-office, office-travel

• Requires an activehome agent

Page 13: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

Wireless CORBA

• Issues

• MobileIP

• Architecture

• Mobile IORs

• Handoff & Access Recovery

Page 14: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

Wireless CORBA - Issues

• CORBA relies on fixed end-points for connections

• Nomadic computing

• Wireless transport issues

• Mobility transparency

• Handoff

• Backwards compatible

Page 15: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

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.

Page 16: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

Architecture

Page 17: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

Architecture

• Redirects requests for services on the terminal• Keeps track of the current access bridge

Page 18: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

Architecture• Encapsulates, forwards or ignores incoming GIOP messages• Decapsulates and forwards messages from the GIOP tunnel• Generates mobility events• Lists available services

Page 19: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

Architecture

• Similar to the Access Bridge• Does not provide forwarding• Generates mobility events• Does not list services

Page 20: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

Architecture• Abstract transport-independent tunnel for GIOP messages• Concrete tunnels for TCP/IP, UDP/IP and WAP.• Protocol requires reliable and ordered delivery

Page 21: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

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

Page 22: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

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

Page 23: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

Test Case

• ITEA Project “Vivian”

• Common platform for mobile phones

• CORBA for distributed middleware

• SOAP as alternative

Page 24: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

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)

Page 25: Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.

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