Wireless CORBA
Download
Report
Transcript Wireless CORBA
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: client
CORBA::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
JacORB
MICO
OmniORB
OpenORB
ORBacus/E
ORBacus
ORBit
TAO
Java
C++
C++
Java
C++
Java
C
C++
50K
62K
30K
40K
17K
58K
21K
345K
Library
size
8697
4715
1003
3712
1735
3355
562
11299
Compress
4034
1235
310
1796
422
1704
175
2863
Interoperability Timing
Wireless & Mobile
• Wireless protocols
InfraRed, BlueTooth, 802.11b, GSM, GPRS, UMTS
• Wireless issues
packet loss, network congestion, packet cost
• Mobile issues
hand-off, roaming, address changes
• Location based services
wireless range, position & direction detection
MobileIP
• IETF solution (RFC 2002)
• Addresses macro-mobility
home-office, office-travel
• Requires an active
home 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