IP Library › Granted Patent US 12,255,955
Granted Patent B2
US 12,255,955 · App. 18/090,890 · Granted Mar 18, 2025

System and method for migrating an agent server to an agent client device

Inventor: Mark Gerard (Plano, TX)
Assignee: OL SECURITY LIMITED LIABILITY COMPANY
H04L67/1095G06F9/4862H04L67/01
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 12,255,955
App. No.
18/090,890
Granted
Mar 18, 2025
Kind
B2
Abstract

In a network of mobile agents, data integrity can be improved by providing an agent server that can migrate between devices operating in the region of interest (ROI). The agent server distributes agent clients onto devices in the ROI and provides agent server services to the agent clients, including receiving and storing data from the agents. When the agent server device is to leave the ROI, the agent server can migrate to any device executing an agent client and continue to provide the agent server services, including data collection and aggregation, from the device to which the agent server has migrated.

Claims (40)

1. An apparatus, comprising:

a first device communicatively coupled to a second device that is remote from the first device, the first device hosting an agent provider configured to:

provide at least one agent provider service from the first device to the second device in a region of interest (ROI);

search for a next possible candidate host, wherein a third device that is different than the second device is identified based on a result of the search for the next possible candidate host;

migrate from the first device to the third device; and

provide the at least one agent provider service from the third device to the second device.

2. The apparatus of claim 1 , wherein the agent provider service comprises a location dependent service.

3. The apparatus of claim 2 , wherein the location dependent service is an ROI dependent service.

4. The apparatus of claim 2 , wherein the agent provider service is further configured to distribute one or more agent clients from the agent provider to one or more devices within the ROI.

5. The apparatus of claim 1 , wherein the agent provider service enables the second device to determine its position.

6. The apparatus of claim 5 , wherein the agent provider service is further configured to determine a client's position using a global navigation satellite system, a cellular system, near field radio, digital/video camera, or triangulation.

7. The apparatus of claim 1 , wherein the first device, the second device, or the third device comprises a portable device, a mobile device, or a static device.

8. The apparatus of claim 1 , wherein the agent provider service is further configured to distribute an instance of an agent client to a participating device within the ROI.

9. The apparatus of claim 1 , wherein the agent provider service is further configured to:

receive data, at the first device, data collected by the second device; and

migrate from the first device to the third device with the collected data;

wherein the agent provider service is further configured to notify the second device of an association between the agent provider service and the third device.

10. The apparatus of claim 9 :

wherein the collected data is generated by one or more sensors of the second device, or

wherein the first device is communicatively coupled to the second device using SOAP (simple object access protocol), XML (extensible markup language), HTTP (hypertext transfer protocol), or HTTPS (hypertext transfer protocol secure).

11. A method, comprising:

providing a first device communicatively coupled to a second device that is remote from the first device, the first device hosting an agent provider configured to provide at least one agent provider service from the first device to the second device in a region of interest (ROI);

selecting, by the agent provider according to stored instructions accessible by the agent provider, a next possible candidate host from more than one possible candidate hosts, wherein the selected next possible candidate host comprises a third device that is different from the second device;

migrating the agent provider to the third device, wherein the migrating is performed automatically in response to an event associated with the first device or the third device; and

providing the at least one agent provider service from the third device to the second device.

12. The method of claim 11 , further comprising:

receiving data, at the first device, data collected by the second device; and

migrating from the first device to the third device with the collected data.

13. The method of claim 11 , further comprising notifying the second device of an association between the agent provider service and the third device.

14. The method of claim 11 , further comprising identifying, by the first device or the third device, a position of the second device using a global navigation satellite system, a cellular system, near field radio, digital/video camera, or triangulation.

15. The method of claim 11 , wherein the first device or the third device comprises a portable device, a mobile device, or a static device.

16. A memory storing instructions for execution by a processor of a service-consumer, that, when executed, cause the processor to:

execute an agent client received from a remote device, wherein the remote device comprises a first device and the service consumer comprises a second device that is remote from the first device, wherein the agent client is arranged to operate with an agent provider operated remotely with respect to the second device; and

wherein a physical distance between the first and second devices is variable;

after receiving the agent client from the first device and before the variable physical distance exceeds a threshold, operate the agent client with a third device that is different than the first device, wherein the third device includes an instance of the agent provider from the first device;

wherein the second device consumes a service provided by a plurality of devices, wherein the plurality of devices includes the first and third devices.

17. The memory of claim 16 , wherein the service comprises a location dependent service.

18. The memory of claim 17 , wherein the location dependent service is an ROI dependent service.

19. The memory of claim 16 , wherein the service-consumer includes one or more sensors to collect sensor data, wherein service-associated data generated by the plurality of devices, the first device, or the third device, is derived from the collected sensor data.

20. The memory of claim 16 , wherein the service enables the second device to determine its position.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2022
From: RECURSION SOFTWARE, INC.
To: OSOCAD REMOTE LIMITED LIABILITY COMPANY
Reel/Frame 062236/0444 →
MERGER Recorded Dec 29, 2022
From: OSOCAD REMOTE LIMITED LIABILITY COMPANY
To: OL SECURITY LIMITED LIABILITY COMPANY
Reel/Frame 062236/0503 →
Continuity (7)
Continuation 17409547 · Aug 23, 2021
Continuation 16938811 · Jul 24, 2020
Continuation 16216126 · Dec 11, 2018
Continuation 15903684 · Feb 23, 2018
Continuation 15187596 · Jun 20, 2016
Continuation 12629945 · Dec 3, 2009
Related Publication 20230140594A1 · May 4, 2023
References Cited (77)
US 6424988B2 · Lurndal · 2002 [cited by applicant]
US 6601093B1 · Peters · 2003 [cited by applicant]
US 6601101B1 · Lee · 2003 [cited by examiner]
US 6744730B2 · Le · 2004 [cited by examiner]
US 6775673B2 · Mahalingam et al. · 2004 [cited by applicant]
US 6880013B2 · Kashyap · 2005 [cited by examiner]
US 6892230B1 · Gu et al. · 2005 [cited by applicant]
US 6909721B2 · Ekberg et al. · 2005 [cited by applicant]
US 6950991B2 · Bloomfield · 2005 [cited by applicant]
US 6970434B1 · Mahany et al. · 2005 [cited by applicant]
US 6985750B1 · Vicknair et al. · 2006 [cited by applicant]
US 7065541B2 · Gupta et al. · 2006 [cited by applicant]
US 7082604B2 · Schneiderman · 2006 [cited by applicant]
US 7089298B2 · Nyman et al. · 2006 [cited by applicant]
US 7272636B2 · Pabla · 2007 [cited by applicant]
US 7289102B2 · Hinckley · 2007 [cited by examiner]
US 7296068B1 · Sarma et al. · 2007 [cited by applicant]
US 7318095B2 · Husain et al. · 2008 [cited by applicant]
US 7395536B2 · Verbeke · 2008 [cited by applicant]
US 7412224B2 · Kotola et al. · 2008 [cited by applicant]
US 7434087B1 · Singh · 2008 [cited by applicant]
US 7440416B2 · Mahany et al. · 2008 [cited by applicant]
US 7480816B1 · Mortazavi et al. · 2009 [cited by applicant]
US 7487230B2 · Gu et al. · 2009 [cited by applicant]
US 7492777B2 · Ekberg et al. · 2009 [cited by applicant]
US 7539481B2 · Abhishek et al. · 2009 [cited by applicant]
US 7543174B1 · van Rietschote et al. · 2009 [cited by applicant]
US 7555529B2 · Bloomfield et al. · 2009 [cited by applicant]
US 7558846B2 · Gu et al. · 2009 [cited by applicant]
US 7570627B2 · Welborn et al. · 2009 [cited by applicant]
US 7602756B2 · Gu et al. · 2009 [cited by applicant]
US 7613772B2 · Bartram et al. · 2009 [cited by applicant]
US 7630944B2 · Rupp · 2009 [cited by applicant]
US 7685279B2 · Miltonberger · 2010 [cited by applicant]
US 7685288B2 · Kakivaya et al. · 2010 [cited by applicant]
US 7801077B2 · Rentel et al. · 2010 [cited by applicant]
US 7801082B2 · Jeon et al. · 2010 [cited by applicant]
US 7804849B2 · Mahany et al. · 2010 [cited by applicant]
US 7904534B2 · Lobbert · 2011 [cited by applicant]
US 7925772B2 · Fujita · 2011 [cited by applicant]
US 7966368B2 · Su et al. · 2011 [cited by applicant]
US 7969911B2 · Mahany et al. · 2011 [cited by applicant]
US 8009658B2 · Welborn et al. · 2011 [cited by applicant]
US 8452895B2 · Ito · 2013 [cited by applicant]
US 8473566B1 · Cardente · 2013 [cited by examiner]
US 8601101B1 · Singh · 2013 [cited by applicant]
US 8605596B2 · Sim · 2013 [cited by applicant]
US 8615592B2 · Kashyap · 2013 [cited by applicant]
US 8819199B2 · Matuszewski · 2014 [cited by applicant]
US 8824449B2 · van der Wateren et al. · 2014 [cited by applicant]
US 9372728B2 · Gerard · 2016 [cited by applicant]
US 9948712B2 · Gerard · 2018 [cited by applicant]
US 10154088B2 · Gerard · 2018 [cited by applicant]
US 10728325B2 · Gerard · 2020 [cited by applicant]
US 11102293B2 · Gerard · 2021 [cited by applicant]
US 11546424B2 · Gerard · 2023 [cited by examiner]
US 11928823B2 · Calvarese · 2024 [cited by examiner]
US 20020044549A1 · Johansson · 2002 [cited by examiner]
US 20020156875A1 · Johansson et al. · 2002 [cited by applicant]
US 20020169889A1 · Yang et al. · 2002 [cited by applicant]
US 20030046426A1 · Nguyen · 2003 [cited by examiner]
US 20030233433A1 · Halpern · 2003 [cited by applicant]
US 20040098447A1 · Verbeke et al. · 2004 [cited by applicant]
US 20040139167A1 · Edsall et al. · 2004 [cited by applicant]
US 20060031429A1 · Ayyagari · 2006 [cited by applicant]
US 20060176852A1 · Wu et al. · 2006 [cited by applicant]
US 20070233626A1 · Rupp et al. · 2007 [cited by applicant]
US 20070245003A1 · Kashyap · 2007 [cited by applicant]
US 20090037562A1 · Lobbert · 2009 [cited by applicant]
US 20090049158A1 · Krishnaswamy et al. · 2009 [cited by applicant]
US 20090222537A1 · Watkins et al. · 2009 [cited by applicant]
US 20090238153A1 · Sim · 2009 [cited by applicant]
US 20110137972A1 · Gerard · 2011 [cited by applicant]
US 20110173305A1 · Matuszewski · 2011 [cited by applicant]
US 20110208846A1 · Ito · 2011 [cited by applicant]
US 20170099349A1 · Gerard · 2017 [cited by applicant]
US 20180248944A1 · Gerard · 2018 [cited by applicant]