USRE47585EActiveUtilityPatentIndex 73
System and method for migrating agents between mobile devices
Est. expiryDec 3, 2029(~3.4 yrs left)· nominal 20-yr term from priority
G06F 9/4862H04W 4/029H04W 4/021H04L 67/34H04L 67/18H04W 4/20H04L 67/52H04W 4/02
73
PatentIndex Score
2
Cited by
66
References
35
Claims
Abstract
Mobile agents can be deployed to location aware mobile devices within specific regions of interest to achieve specific goals in respect of events occurring in the region of interest. In order to ensure that the agent can persist within the region of interest until the agent goals are achieved, the agent is configured to locate other devices within the region of interest and to propagate itself, by moving or copying itself, to those other devices. When a device hosting the agent exits the region of interest, the agent is terminated, thereby freeing device resources.
Claims
exact text as granted — not AI-modifiedThe invention claimed is:
1. A computer-readable medium comprising computer-executable instructions, that when executed by a processing device, cause the processing device to:
receive, from a first device, an agent activation request comprising a first copy of an agent application executing on the first device;
execute the first copy of the agent application based at least in part on receiving the agent activation request;
transmit, to the first device, a first agent activation response based at least in part on executing the first copy of the agent application;
receive, from a second device, an agent participation request providing a location of the second device;
compare the location of the second device to a region of interest;
provide, to the second device, a second copy of the agent application based at least in part on the comparison;
receive, from the second device, a second agent activation response based at least in part on the second copy of the agent application executing on the second device; and
record that the second copy of the agent application is executing successfully on the second device based at least in part on receiving the second agent activation response from the second device within a predetermined amount of time.
2. The computer-readable medium of claim 1 , wherein the first agent activation response comprises at least one of a first device identification, an agent application identification, and a success indicator.
3. A device, comprising:
a memory configured to store a first copy of an agent application received from a first device; and
a processing device configured to:
execute the first copy of the agent application based at least in part on receiving an agent activation request from the first device, the agent activation request comprising the first copy of the agent application;
transmit, to the first device, a first agent activation response based at least in part on executing the first copy of the agent application;
receive, from a second device, an agent participation request providing a location of the second device;
compare the location of the second device to a region of interest;
provide, to the second device, a second copy of the agent application based at least in part on the comparison;
receive, from the second device, a second agent activation response based at least in part on the second copy of the agent application executing on the second device; and
record that the second copy of the agent application is executing successfully on the second device based at least in part on receiving the second agent activation response from the second device within a predetermined amount of time.
4. The device of claim 3 , wherein the processing device is further configured to trigger storing the region of interest or agent history in the memory in response to the agent activation request.
5. The device of claim 3 , wherein the first agent activation response comprises at least one of a device identification, an agent application identification, and a success indicator.
6. A mobile device, comprising:
a memory device configured to store instructions; and
a processing device configured to execute the instructions stored in the memory device to:
activate a first copy of an agent application based at least in part on receiving the first copy of the agent application in an agent activation request from a first device;
transmit, to the first device, a first agent activation response based at least in part on activating the first copy of the agent application;
receive, from a second device, an agent participation request providing a location of the second device;
compare the location of the second device to a region of interest;
provide, to the second device, a second copy of the agent application based at least in part on the comparison;
receive, from the second device, a second agent activation response based at least in part on the second copy of the agent application executing on the second device; and
record that the second copy of the agent application is executing successfully on the second device based at least in part on receiving the second agent activation response from the second device within a predetermined amount of time.
7. The mobile device of claim 6 , wherein the processing device is configured to execute the instructions stored in the memory device further to transmit the first agent activation response based at least in part on activating the first copy of the agent application after receiving the agent activation request.
8. The mobile device of claim 6 , wherein the processing device is configured to execute the instructions stored in the memory device further to terminate execution of the first copy of the agent application in response to detecting that the mobile device is leaving the region of interest.
9. The mobile device of claim 6 , wherein the processing device is configured to execute the instructions stored in the memory device further to receive the agent activation request based at least in part on a comparison of a location of the mobile device to the region of interest being within a predetermined threshold.
10. The mobile device of claim 9 , wherein the predetermined threshold is based at least in part on a distance between the mobile device and a base station that serves the region of interest.
11. The mobile device of claim 9 , wherein the predetermined threshold is based at least in part on a battery power of the mobile device.
12. A method, comprising:
activating a first copy of an agent application based at least in part on receiving the first copy of the agent application from a first device;
transmitting, to the first device, an agent activation response based at least in part on successfully activating the first copy of the agent application;
transmitting, to the first device, a first agent activation response based at least in part on activating the first copy of the agent application;
receiving, from a second device, an agent participation request providing a location of the second device;
comparing the location of the second device to a region of interest;
providing, to the second device, a second copy of the agent application based at least in part on the comparison;
receiving, from the second device, a second agent activation response based at least in part on the second copy of the agent application executing on the second device; and
recording that the second copy of the agent application is executing successfully on the second device based at least in part on receiving the second agent activation response from the second device within a predetermined amount of time.
13. The method of claim 12 , further comprising transmitting the first agent activation response based at least in part on activating the first copy of the agent application after receiving the first copy of the agent activation request application.
14. The method of claim 12 , further comprising terminating execution of the first copy of the agent application in response to detecting that the mobile device is leaving the region of interest.
15. The method of claim 12 , further comprising determining that the location of the second device is within a predetermined threshold distance of the region of interest.
16. The method of claim 15 , wherein the predetermined threshold distance is based at least in part on a distance between the mobile device and a base station that serves the region of interest.
17. The method of claim 15 , wherein the predetermined threshold distance is based at least in part on a battery power of the mobile device.
18. A mobile management device, comprising a processor configured to:
propagate an agent to a first device in response to detecting the first device being located in a region of interest; receive an agent participation request from a second device, the agent participation request indicating a location of the second device; provide an agent activation request comprising deploying the agent to the second device based at least in part on the second device being located in the region of interest; and terminate the agent executing on the first device based at least in part on the agent successfully executing on the second device or place the agent executing on the first device into a stand-by mode based at least in part on the agent successfully executing on the second device.
19. The mobile management device of claim 18, wherein the processor is further configured to:
compare a location of the second device to the region of interest; and provide the agent to the second device based at least in part on the comparison.
20. The mobile management device of claim 23, wherein the processor is further configured to:
terminate the agent executing on the first device based at least in part on detecting that the first device is no longer located in the region of interest.
21. A system, comprising:
a first processor configured to:
propagate an agent to a first mobile device in response to detecting the first mobile device being located in a region of interest;
receive an agent participation request from a second mobile device, the agent participation request indicating a location of the second mobile device; and
provide an agent activation request comprising deploying the agent to the second mobile device based at least in part on the second mobile device being located in the region of interest; and
a second processor configured to activate the agent on the second mobile device before providing an agent activation response to the first mobile device.
22. The mobile management device of claim 18, wherein the processor is further configured to:
propagate the agent to the first device in response to detecting the first device being located in the region of interest within a predetermined threshold.
23. A mobile management device, comprising a processor configured to:
propagate an agent to a first device in response to detecting the first device being located in a region of interest within a predetermined threshold; receive an agent participation request from a second device, the agent participation request indicating a location of the second device; provide an agent activation request comprising deploying the agent to the second device based at least in part on the second device being located in the region of interest; and determine the predetermined threshold based at least in part on a distance between the first device and a base station that serves the region of interest.
24. A mobile management device, comprising a processor configured to:
propagate an agent to a first device in response to detecting the first device being located in a region of interest within a predetermined threshold; receive an agent participation request from a second device, the agent participation request indicating a location of the second device; provide an agent activation request comprising deploying the agent to the second device based at least in part on the second device being located in the region of interest; and determine the predetermined threshold based at least in part on a battery power of the first device.
25. A mobile device, comprising a processor to execute instructions stored in a memory to:
execute an agent on a first device in response to detecting the first device being located in a region of interest; receive an agent participation request from a second device, the agent participation request indicating a location of the second device; provide the agent to the second device based at least in part on the second device being located in the region of interest; and record that the agent is executing successfully on the second device based at least in part on receiving an agent activation response from the second device within a predetermined amount of time.
26. The mobile device of claim 25, wherein the processor is further configured to:
provide the agent to the second device comprised in an agent activation request.
27. The mobile device of claim 25, wherein the processor is further configured to:
compare a location of the second device to the region of interest; and provide the agent to the second device based at least in part on the comparison.
28. The mobile device of claim 25, wherein the processor is further configured to:
terminate the agent executing on the first device based at least in part on the agent successfully executing on the second device.
29. The mobile device of claim 25, wherein the processor is further configured to:
terminate the agent executing on the first device based at least in part on detecting that the first device is no longer located in the region of interest.
30. The mobile device of claim 25, wherein the processor is further configured to:
activate the agent on the second device before providing the agent activation response.
31. The mobile device of claim 25, wherein the processor is further configured to:
propagate the agent to the first device in response to detecting the first device being located in the region of interest within a predetermined threshold.
32. The mobile device of claim 31, wherein the processor is further configured to:
determine the predetermined threshold based at least in part on a distance between the first device and a base station that serves the region of interest.
33. The mobile device of claim 25, wherein the processor is further configured to:
determine the predetermined threshold based at least in part on a battery power of the first device.
34. The mobile management device of claim 21, wherein the first processor is further configured to:
compare a location of the second device to the region of interest; and provide the agent to the second device based at least in part on the comparison.
35. The mobile management device of claim 24, wherein the processor is further configured to:
terminate the agent executing on the first device based at least in part on detecting that the first device is no longer located in the region of interest.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.