53
MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN [email protected] Eighth International Conference on Computer Communication and Networks IEEE ICCCN’99 October 11-13, 1999 @Boston, USA

MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN [email protected]

Embed Size (px)

Citation preview

Page 1: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

MobileSocketToward Continuous Operation for Java Applications

Tadashi OKOSHIGraduate School of Media and Governance

Keio University, JAPAN

[email protected]

Eighth International Conference on Computer Communication and NetworksIEEE ICCCN’99 October 11-13, 1999 @Boston, USA

Page 2: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Research Abstract Goal: Communication Continuity

for network applications for users’ Work Continuity

MobileSocket… Is an application layer approach

implemented as an user-level library. Is effective for

Conventional Network Application Java Mobile Applications

Page 3: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

With MobileSocket library… Java network applications can continue

their communication with the one continuous socket connection, even after the mobile host’s relocation.

No need to modify source code Additional APIs for adaptation

Page 4: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Today’s Outline 1. Research Background 2. Communication Continuity MobileSocket

3. Design 4. Implementation 5. Programming & Applications 6. Evaluation

7. Conclusion & Future Work

Page 5: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

1. Background Mobile Computing Environment

Mobile hosts and users move around network even during applications are communicating with the remote.

Mobile HostMobile Host

Internet

AA

AA

BB

Page 6: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

1. Background (Cont’d) Research Goal

To realize users’ “Continuous Operation”supported by the continuous behavior of applications

For network applications… “Communication Continuity” with

remote

Page 7: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

2. Communication Continuity Communication Continuity consists

of… “Mobility” “Virtual Circuit Continuity”

Other Issues

Page 8: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

“Mobility” Capability of the protocol

functionality in the both communication endpoints to identify each otheridentify each other independent of the location changes of the endpoints.

E.g.: Mobile IPIdentify each other

(Location Transparent ID)

Page 9: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

“Virtual Circuit Continuity” Capability of keeping a virtual keeping a virtual

circuitcircuit connectionconnection alive, retaining reliability and the byte stream the byte stream consistencyconsistency independent of the location changes of the endpoints.

E.g.: TCP-R

Keep a virtual circuit connection

Page 10: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Toward Communication Continuity

For applications with… Datagram communication (e.g.UDP/IP)

Mobility support Virtual circuit communication (e.g.TCP/IP)

Mobility support Virtual circuit continuity support

⇒ Both “Mobility” and “VC Continuity” supports   are the requirements for communication continuity.

Page 11: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Other Issues for CommunicationContinuity Support

2) Simplified and minimized implementation

3) Avoidance of modification in existing applications

4) Adaptation interfaces for MobileSocket-aware applications

Page 12: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

3. MobileSocket Design (1) mobility and connection continuity

support in application layerin application layer Dynamic Socket Switching (DSS) Application Layer Window (ALW)

(2) User-level library in Java (3) Supports both implicit & explicitimplicit & explicit

redirection operations (4) Adaptation APIs for applications

Page 13: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

(1) Application Layer Approach

Application

IP Laye

rTCP Layer

Socket

Layer

Mobile IP

TCP-R

MSOCKM

obileSock

et Laye

r

MobileSocketApplication

Page 14: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Dynamic Socket Switching

IPCH

CH

CH

CH

IPMH1

MH1

MH1

MH1

Application(MobileHost)Application

(CorrespondentHost)

Internal SocketConnection (1)

Before

IP Laye

rTCP Layer

Socket

Layer

Mobile

Socket

Layer

Page 15: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Dynamic Socket Switching

IP Laye

rTCP Layer

Socket

Layer

Mobile

Socket

Layer

IPCH

CH

CH

CH

IPMH1

MH1

MH1

MH1

IPMH2

MH2

MH2

Application(MobileHost)

After

Application(Correspondent

Host)

Relocation

Internal SocketConnection (2)

Page 16: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Application Layer Window (ALW) User-level sliding window inside library Provides Byte Stream Consistency

MobileSocketin Sender

MobileSocketin Receiver

DataSocketDataData DataData

ACKACK

DataData

Application Application

ALW

DataData

ACKACK ACKACK

DataData

ALW_COUNTERALW_COUNTER

write() read()

recvflush

writestore

count

read

send

ControlSocket

Page 17: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

(2) User-Level Library

TCP/UDP

IP

Socket interface

TCP/UDP

IP

Socket interface

Application Application

Application Application

MobileSocket libMobileSocket lib MobileSocket libMobileSocket lib

(Mobile-IP)

(TCP-R)(MSOCKS)

Page 18: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

(3) Connection Redirection Schemes

Implicit Redirection Mechanism by which a connection is

automatically redirected such that application is unaware of the relocation.

No need to modify and insert any additional lines to applications

No adaptability in applications behavior Explicit Redirection

Page 19: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

(4) Explicit Redirection & Adaptation Interfaces

Implicit Redirection Explicit Redirection

Mechanism by which the application programmers can explicitly specify where the connection redirection takes place

Realized by specific APIs (suspend(); resume();suspend(); resume(); ) Adaptive behavior of application Need to modify application’s source code

Page 20: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

4. MobileSocket Implementation State Transition Diagram Time Sequence

Connection Establishment Implicit Redirection Explicit Redirection

Page 21: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

EstablishedEstablishedImplicitlySuspendedImplicitly

SuspendedExplicitly

SuspendedExplicitly

Suspended

ClosedClosedConnected to Server (DSS-EstablishmentPhase(Client) )

Connected from Client (DSS-EstablishmentPhase(Server) )

Lost IP address

Get IP address (Reconnect to CH, DSS-

ImplicitResume Phase)

Reconnected from MH(DSS-ImplicitResume Phase)

Called suspend()suspend() (send SUSPEND_SIGNAL, DSS-ExplicitSuspend Phase)

Called resume()resume() (Reconnect to CH, DSS- ExplicitResume Phase)

reconnected from MH(DSS-ExplicitResume Phase)

received SUSPEND_SIGNAL (DSS-ExplicitSuspend Phase)

DataSocket broken-pipe

Reconnected from MH(DSS-ImplicitResume Phase)

Called close()close()(close connection)

Called close()close()or timedout

(close connection)

Called close()close()(close connection)

Called close()close()(close connection)

Called close()close()or timedout

(close connection)

Normal Transitions for CHNormal Transitions for MH

Normal Transitions for ClientNormal Transitions for Server

Transition trigger(action)

START POINTSTART POINT

StateState

Page 22: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

DSS(1) Establishment Phase

Page 23: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

ClientClient ServerServerDataDataSocketSocket

ControlControlSocketSocket

connectconnect accept()accept()

ControlSocket port, AuthenticationSEED1

accept()accept()connect()

ACK

AuthenticationSEED1

DS

S-E

sta

blis

hm

ent

Ph

as

e

RedirectionRedirectionServSocketServSocket

RedirectionServer port, Next_SEED

Data

ALW ACK

DataDataSocketSocket

ControlControlSocketSocket

RedirectionRedirectionServSocketServSocket

CreateCreateSocketSocket

CreateCreateSocketSocket

CreateCreateSocketSocket

CreateCreateSocketSocket

Page 24: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

DSS(2) Explicit Suspend Phase

Page 25: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Mobile HostMobile Host Correspondent HostCorrespondent HostDataDataSocketSocket

ControlControlSocketSocket

lock

ACK

SUSPEND_SIGNAL

DSS

-Exp

licitS

uspe

nd P

hase

RedirectionRedirectionServSocketServSocket

WRITE_COUNTER

DataDataSocketSocket

ControlControlSocketSocket

RedirectionRedirectionServSocketServSocket

lock

Compute DIFF Compute DIFF

Invoke Suspend SubPhase(if DIFF>0)

Invoke Suspend SubPhase(if DIFF>0)

ACK (DIFF_IS_ZERO)

CloseClose

Close

Susp

end

SubP

hase

Page 26: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

DSS(3) Explicit Resume Phase

Page 27: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

ControlControlSocketSocket

connect() accept()

ACK, ControlSocket port, AuthenticationSEED3

accept()connect()

ACK

AuthenticationSEED3

DSS

-Exp

licitR

esum

e Ph

ase

RedirectionRedirectionServSocketServSocket → DataSocket → DataSocket

RedirectionServer port, Next_SEED

Data

ALW ACK

DataDataSocketSocket

ControlControlSocketSocket

RedirectionRedirectionServSocketServSocket

Mobile HostMobile Host Correspondent HostCorrespondent HostNewNewRedirectionRedirectionServSocketServSocket

Next_SEED

unlock unlock

CreateSocketCreate

Socket

CreateSocket

Page 28: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

DSS(4) Implicit Redirection

Page 29: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

ControlSocket

connect() accept()

ACK, ControlSocket port, AuthenticationSEED3

accept()connect()

ACK

AuthenticationSEED3

DSS

-Impl

icitR

esum

e Ph

ase

RedirectionServSocket → DataSocket

RedirectionServer port, Next_SEED

DataSocket

ControlSocket

RedirectionServSocket

NewRedirectionServSocket

Next_SEED

unlock

READ_COUNTER

unACKed Data retransmit

~ disconnected~lose IP

get IP

CreateSocket

CreateSocket

CreateSocket

CreateSocket

ControlSocket

connect() accept()

ACK, ControlSocket port, AuthenticationSEED3

accept()connect()

ACK

AuthenticationSEED3

DSS

-Impl

icitR

esum

e Ph

ase

RedirectionServSocket → DataSocket

RedirectionServer port, Next_SEED

DataSocket

ControlSocket

RedirectionServSocket

Mobile HostMobile Host Correspondent HostCorrespondent HostNewRedirectionServSocket

Next_SEED

unlockunlock

READ_COUNTER

unACKed Data retransmit

~ disconnected~lose IPlose IP

get IPget IP

CreateSocket

CreateSocket

CreateSocket

CreateSocket

Page 30: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Disconnection Recognition in MH java.net.InetAddress#getLocalHost

returns IP address based on DNS.

“Checker” Thread as a adhoc solution Disconnection

(1)get local IP from java.net.Socket#getLocalAddress (2)make Socket to local IP address periodically.

Reconnection (1) make Socket to Correspondent Host IP address periodically.

Page 31: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

5. Programming & Applications Class

Socket sock = new Socket(host, port);Socket sock = new Socket(host, port); MobileMobileSocket sock = new Socket sock = new MobileMobileSocket(host, port);Socket(host, port);

Explicit Redirection (Option) sock.suspend();sock.suspend(); sock.resume(); sock.resume();

Adaptation Event (Option) MobilityEventMobilityEvent Event , MobilityListenerMobilityListener Interface

Page 32: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Applications with MobileSocket “Serializable” MobileSocket class

for Mobile Applications and Agents

AppBAppB

Host-B

Host-A

AppAAppA

AppA’ObjectSerialization

MSockA (SocketX)

MSockA (SocketY)

Host-C

Page 33: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Applications with MobileSocket MobileSocket Exchanging

Host-A Host-B

Host-C

AppAAppA

AppCAppC

AppBAppBMSockA MSockB

MSockA’Send “MobileSocket” Objectvia ObjectSerialization

Page 34: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

6. Evaluation Performance Measurement

Explicit Redirection Comparison with Related Works

Page 35: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Measurement Environment

Implementation JavaCoreAPI 1.1 jp.ac.keio.sfc.ht.MobileSocketjp.ac.keio.sfc.ht.MobileSocket package

Evaluation Environment Dynabook SS-R590 (Pentium 90MHz, 40MB) for MH S

ony PCG-737 (PentiumMMX 233MHz, 64MB) for CH Closed 10Base-T Network FreeBSD2.2.1R + JDK 1.1.6.V98-9-23 for FreeBSD

Page 36: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Performance Results at MH

Redirection Time (ms)Explicit Suspending 46.67Explicit Resuming 270.28Implicit Resuming 317.78

Page 37: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Explicit Redirection Performance Explicit Suspending

Steps Time (ms) %manage phase transition 1.76 3.77lock Socket 7.40 15.86kill sub-thread 8.12 17.40send SUSPEND_SIGNAL 1.17 2.50send WRITE_COUNTER 5.35 11.46receive ACK from CH 11.01 23.59receive port number 1.11 2.38receive auth seed 1.85 3.96close Socket 3.28 7.03prepare info of next Socket 1.02 2.19misc 4.60 9.86Total 46.67 100.00

Page 38: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Steps Time (ms) %make new Socket 80.75 29.88switch Socket in stream 0.36 0.13auth check for DataSocket 2.95 1.09receive port of ControlSocket 1.11 0.41receive auth seed 1.89 0.70make new ControlSocket 80.80 29.90auth check for ControlSocket 3.30 1.22make new NextServerSocket 60.44 22.36exchange next port and seed 6.62 2.45restart sub thread 26.56 9.83manage phase transition 0.90 0.33misc 4.60 1.70Total 270.28 100.00

Steps Time (ms) %make new Socket 80.75 29.88switch Socket in stream 0.36 0.13auth check for DataSocket 2.95 1.09receive port of ControlSocket 1.11 0.41receive auth seed 1.89 0.70make new ControlSocket 80.80 29.90auth check for ControlSocket 3.30 1.22make new NextServerSocket 60.44 22.36exchange next port and seed 6.62 2.45restart sub thread 26.56 9.83manage phase transition 0.90 0.33misc 4.60 1.70Total 270.28 100.00

82.14%

Explicit Redirection Performance Explicit Resuming

Page 39: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Comparison with Related Works

Name Layer Connection Implementation Continuity MH CH Others

Mobile-IP IPIP Limited Limited KK HA,FAHA,FATCP-R TCPTCP Yes Yes KK KK - -MSOCKS SocketSocket Limited Limited U U ProxyProxy MobileSocket SocketSocket Yes Yes U U U U - -

upperupper

Page 40: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

7. Conclusion Conclusion

Application Layer Mobility and Connection Continuity

User-Level library in Java Implicit & Explicit Redirection for Conventional Apps. & Mobile Apps.

Future Work More Optimization Security Issues

Page 41: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Fin

Page 42: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Eval.1 MobileSocket Overhead Conventional Java.net.Socket 100 MobileSocket (contains Mobility

Support)80?

90?

Page 43: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Eval.2 Socket Creation Overhead Why is Socket Creation so heavy

in Java? Where is bottle neck? C & Java

Java 80.4ms (71ms object constructor)

C

Page 44: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Eval.3 ALW In the case of large size ALW? Buffer overflow? Lock? Defined buffer size? ALW size and Transfer bandwidth

could not evaluate because of bug in JDK FreeBSD

Or Solaris ?

Page 45: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

read & write mechanism

Page 46: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Adaptation in Application Java Event

Page 47: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

DSS Time Sequence

Client Server

connect

MobilityPreparation

DSS-EstablishmentPhase

user data EstablishedStateEstablishedState

ClosedStateClosedState

Explicit Redirection Implicit Redirection

Connection Establishment

Page 48: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

MH

ALWAdjustment

DSS-Explicit SuspendPhase

disconnectExplicitySuspended StateExplicitySuspended State

CHSuspend()

resume()

connect

MobilityPreparation

user data EstablishedStateEstablishedState

DSS-Explicit ResumePhase

EstablishedStateEstablishedState

Explicit Redirection

Page 49: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

MH

ImplicitlySuspended StateImplicitlySuspended State

CH

connect

ALWAdjustment

user data EstablishedStateEstablishedState

DSS-Implicit ResumePhase

EstablishedStateEstablishedState

lose IP(Disconnect)

Brokenpipe

Implicit Redirection

MobilityPreparation

Page 50: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

Mobile Computing Environment

“Work Continuity” for users

Mobile HostMobile Host

Internet

AA

AA

BB

??

Page 51: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

MobileSocket Applications (1)

Java network applications

Mobile HostMobile Host

Internet

AA

AA

BB

Page 52: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

MobileSocket Applications (2)

Java Mobile Applications

AppBAppB

Host-B

Host-A

AppAAppA

AppA’ObjectSerialization

MSockA (SocketX)

MSockA (SocketY)

Host-C

Page 53: MobileSocket Toward Continuous Operation for Java Applications Tadashi OKOSHI Graduate School of Media and Governance Keio University, JAPAN slash@ht.sfc.keio.ac.jp

MobileSocket Applications (3)

Even Exchanging Socket...

Host-A Host-B

Host-C

AppAAppA

AppCAppC

AppBAppBMSockA MSockB

MSockA’Send “MobileSocket” Objectvia ObjectSerialization