IP Library › Granted Patent US 9,338,229
Granted Patent B2
US 9,338,229 · App. 13/927,190 · Granted May 10, 2016

Relocating an application from a device to a server

Inventors: Michael J. Branson (Rochester, MN); Gregory R. Hintermeister (Rochester, MN)
Assignee: International Business Machines Corporation
H04L67/1025H04L67/34
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,338,229
App. No.
13/927,190
Granted
May 10, 2016
Kind
B2
Abstract

Methods are provided for transferring an application to a virtual electronic device. One method may include receiving an application to be relocated from a first local electronic device to a virtual electronic device. The method may further include, establishing a first anchor between the first local electronic device and the relocated application. The first anchor may be adapted to act as a conduit between the first local electronic device and the application. The method may further include, requesting local application data from the first local electronic device via the first anchor in response to an interrupt from the application on the virtual electronic device.

Claims (49)

1. A computer-implemented method, comprising:

establishing a first anchor between a first local electronic device and a server computer,

wherein an anchor is adapted to act as a conduit between a local electronic device and an application that has been relocated to a server computer from the local electronic device, each anchor including a first proxy for the application at the local electronic device, a second proxy for a virtualization-based resource at the server computer, and an application program interface mapper;

receiving a first application and check point data for the first application from the first local electronic device via the first anchor by the server computer, wherein the first application is running on the first local electronic device prior to receiving the first application and the checkpoint data is determined prior to receiving the first application, the check point data including data of a state of the application; and

subsequent to receiving the first application and check point data:

receiving a first user input from the first local electronic device via the first anchor by the server computer,

processing the first user input by the first application at the server computer,

generating a first output based on processing the first input, and

transferring the first output from the server computer to the first local electronic device via the first anchor.

2. The method of claim 1 , further comprising:

receiving local application data for the first application from the first local electronic device via the first anchor;

wherein the processing of the first user input by the first application at the server computer includes processing the local application data; and

generating a second output based on processing the first input and the local application data.

3. The method of claim 1 , further comprising, subsequent to receiving the first application and check point data:

establishing a second anchor between a second local electronic device and the server computer, the second anchor adapted to act as a conduit between the second local electronic device and the first application; and

transferring the first output from the server computer to the second local electronic device via the second anchor.

4. The method of claim 1 , further comprising, subsequent to receiving the first application and check point data:

establishing a second anchor between a second local electronic device and the server computer, the second anchor adapted to act as a conduit between the second local electronic device and the first application;

receiving a second user input from the second local electronic device via the second anchor by the server computer;

combining the first and second user inputs into a bundle of inputs;

wherein the processing of the first user input by the first application at the server computer includes processing the bundle of inputs;

generating a second output based on processing the bundle of inputs; and

transferring the second output from the server computer to the first local electronic device via the first anchor and to the second local electronic device via the second anchor.

5. The method of claim 4 , wherein the first and second user inputs are first and second search parameters of a search query and the second output is a search result that matches both the first and second search parameters.

6. The method of claim 4 , wherein the combining the first and second user inputs into a bundle of inputs further comprises:

requesting an approval from the first local electronic device to process of the second user input prior to combining the first and second user inputs into a bundle of inputs.

7. The method of claim 1 , wherein the first local electronic device comprises a cellular telephone.

8. A computer-implemented method, comprising:

establishing a first anchor between a first local electronic device and a server computer,

wherein an anchor is adapted to act as a conduit between a local electronic device and an application that has been relocated to a server computer from the local electronic device, each anchor including a first proxy for the application at the local electronic device, a second proxy for a virtualization-based resource at the server computer, and an application program interface mapper;

transferring a first application and check point data for the first application from the first local electronic device via the first anchor to the server computer, wherein the first application is running on the first local electronic device prior to receiving the first application and the checkpoint data is determined prior to receiving the first application, the check point data including data of a state of the application; and

subsequent to transferring the first application and check point data:

transmitting a first user input from the first local electronic device via the first anchor to the server computer, and

receiving a first output from the server computer at the first local electronic device via the first anchor, the first output being a result of a processing of the first input by the first application at the server computer.

9. The method of claim 8 , further comprising:

transmitting local application data for the first application from the first local electronic device to the server computer via the first anchor; and

receiving a second output from the server computer at the first local electronic device via the first anchor, the second output being a result of a processing the first input and the local application data.

10. The method of claim 8 , further comprising, subsequent to transferring the first application and check point data:

establishing a second anchor between a second local electronic device and the server computer, the second anchor adapted to act as a conduit between the second local electronic device and the first application; and

receiving the first output from the server computer at the second local electronic device via the second anchor.

11. The method of claim 8 , further comprising, subsequent to transferring the first application and check point data:

establishing a second anchor between a second local electronic device and the server computer, the second anchor adapted to act as a conduit between the second local electronic device and the first application;

transmitting a second user input from the second local electronic device via the second anchor to the server computer; and

transferring a second output from the server computer to the first local electronic device via the first anchor and to the second local electronic device via the second anchor, wherein the second output is based on combining the first and second user inputs into a bundle of inputs and processing the bundle of inputs.

12. The method of claim 11 , wherein the first and second user inputs are first and second search parameters of a search query and the second output is a search result that matches both the first and second search parameters.

13. The method of claim 11 , further comprising:

receiving a request for an approval from the server computer to process the second user input by the first local electronic device; and

transmitting an approval by the first local electronic device.

14. The method of claim 8 , wherein the first local electronic device comprises a cellular telephone.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2013
From: BRANSON, MICHAEL J.; HINTERMEISTER, GREGORY R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030687/0136 →
Continuity (1)
Related Publication 20150007046A1 · Jan 1, 2015