HNTF/Home Network TF Discussions/DocumentMigration
Application Migration
Submitter: Jean-Claude Dufourd, Telecom ParisTech
Tracker Issue ID: ISSUE-15
Description: An application moving across devices in a decentralized situation (local application, without a server).
I start using my phone for the user interface to a device, then my tablet becomes available, so I move the interface application to the tablet. The application in question is an HNTF application, which means it has discovered services and has connections to some services and a history of execution. Just restarting the application on another device would lose the execution state, the existing connections, etc...
- I start using my phone as a UI of a service on my TV, e.g. EPG, but the screen is small.
- My tablet finally becomes available.
- I request the migration of the current application: this is a user agent function.
- The user agent discovers its peers on the network, i.e. other user agents capable of running the current document.
- The user agent proposes to me a list of suitable user agents, including the one running on the tablet.
- I choose the user agent running on the tablet.
- The UA on the phone binds to the UA on the tablet, and sends a migration message with the URL of the document, and the URL of the execution state.
- The UA on the tablet receives the migration message, fetches the application and the execution state, loads both.
- The UA on the tablet signals to the UA on the phone that migration is complete, by replying "success" to the migration message.
- The UA on the phone stops rendering the migrated application.
- I pick up the tablet and go on with the service at the point I left it on the phone.
Implementation:
Justification:
There is no way with current standards and in the absence of a central server to achieve the saving and transfer of the execution state of a widget, so there is no way to start an application on a device, switch devices and restart the application on the new device, keeping the exact same execution state.
Dependencies:
This use case depends on discovery.
Comments: