IP Library Granted Patent US 12,218,806
Granted Patent B2
US 12,218,806 · App. 17/975,398 · Granted Feb 4, 2025

Object storage gateway for IoT devices with intermittent network connectivity

Inventors: Yuval Lifshitz (Kfar HaOranim, IL); Yehoshua Salomon (Kfar Saba, IL)
Assignee: Red Hat, Inc.
H04L41/16H04L12/66H04L41/0896H04L43/028
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,218,806
App. No.
17/975,398
Granted
Feb 4, 2025
Kind
B2
Abstract

Systems and methods providing object storage gateway for a client device with intermittent connectivity. In one implementation, data objects stored locally on the client device are identified. The data objects are associated with an application running on the client device. Filtered data are produced by filtering the data objects in view of a set of rules. Responsive to determining that a connection between the client device and the server device satisfies a quality condition, the filtered data are synchronized with the server device.

Claims (51)

1. A method comprising:

identifying, by a client device connected to a server device, data objects stored locally on the client device, wherein the data objects are associated with an application running on the client device;

producing filtered data by filtering the data objects in view of a set of rules, wherein the set of rules specify one or more object containers associated with the data objects; and

responsive to determining that a connection between the client device and the server device satisfies a quality condition, synchronizing the filtered data with the server device.

2. The method of claim 1 , wherein determining that the connection between the client device and the server device satisfies the quality condition comprises:

determining that a bandwidth metric associated with the connection satisfies a threshold.

3. The method of claim 1 , further comprising:

receiving, from the server device, one or more changes associated with the application; and

updating the application running on the client device in view of the one or more changes.

4. The method of claim 3 , wherein the one or more changes comprise a trained machine learning model trained by the server device using at least a subset of the filtered data.

5. The method of claim 1 , wherein producing the filtered data further comprises:

updating metadata associated with the data objects, wherein the metadata specifies a function of the filtered data, and wherein the metadata comprises a set of key-value pairs that uniquely identify the associated data objects in the one or more object containers.

6. The method of claim 1 , wherein synchronizing the filtered data with the server device comprises:

synchronizing metadata associated with the filtered data; and

transmitting the filtered data to an object storage gateway associated with the server device.

7. The method of claim 1 , further comprising:

storing, via an object storage gateway, the data objects on the client device in a local object repository.

8. A system comprising:

a memory; and

a processing device operatively coupled to the memory, the processing device to:

identify, by a client device connected to a server device, data objects stored locally on the client device, wherein the data objects are associated with an application running on the client device;

produce filtered data by filtering the data objects in view of a set of rules, wherein the set of rules specify one or more object containers associated with the data objects; and

responsive to determining that a connection between the client device and the server device satisfies a quality condition, synchronize the filtered data with the server device.

9. The system of claim 8 , wherein the quality condition specifies a minimum bandwidth metric for the connection.

10. The system of claim 8 , wherein the processing device is further to:

receive, from the server device, one or more changes associated with the application; and

update the application running on the client device in view of the one or more changes.

11. The system of claim 10 , wherein the one or more changes comprise a trained machine learning model trained by the server device using at least a subset of the filtered data.

12. The system of claim 8 , wherein to produce the filtered data, the processing device is further to:

update metadata associated with the data objects, wherein the metadata specifies a function of the filtered data, and wherein the metadata comprises a set of key-value pairs that uniquely identify the associated data objects in the one or more object containers.

13. The system of claim 8 , wherein, to synchronize the filtered data with the server device, the processing device is further to:

synchronize metadata associated with the filtered data; and

transmit the filtered data and associated metadata to an object storage gateway associated with the server device.

14. The system of claim 8 , wherein the processing device is further to:

store, via an object storage gateway, the data objects on the client device in a local object repository.

15. A non-transitory computer-readable media storing instructions that, when executed, cause a processing device to:

identify, by a client device connected to a server device, data objects stored locally on the client device, wherein the data objects are associated with an application running on the client device;

produce filtered data by filtering the data objects in view of a set of rules, wherein the set of rules specify one or more object containers associated with the data objects; and

responsive to determining that a connection between the client device and the server device satisfies a quality condition, synchronize the filtered data with the server device.

16. The non-transitory computer-readable media of claim 15 , wherein, to determine that the connection between the client device and the server device satisfies the quality condition, the processing device is further to:

determine that a bandwidth metric associated with the connection satisfies a threshold.

17. The non-transitory computer-readable media of claim 15 , wherein the processing device is further to:

receive, from the server device, one or more changes associated with the application; and

update the application running on the client device in view of the one or more changes.

18. The non-transitory computer-readable media of claim 15 , wherein to produce the filtered data, the processing device is further to:

update metadata associated with the data objects, wherein the metadata specifies a function of the filtered data, and wherein the metadata comprises a set of key-value pairs that uniquely identify the associated data objects in the one or more object containers.

19. The non-transitory computer-readable media of claim 15 , wherein, to synchronize the filtered data with the server device, the processing device is further to:

synchronize metadata associated with the filtered data; and

transmit the filtered data to an object storage gateway associated with the server device.

20. The non-transitory computer-readable media of claim 15 , wherein the processing device is further to:

store, via an object storage gateway, the data objects on the client device in a local object repository.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2022
From: LIFSHITZ, YUVAL; SALOMON, YEHOSHUA
To: RED HAT, INC.
Reel/Frame 061691/0952 →
Continuity (1)
Related Publication 20240146618A1 · May 2, 2024
References Cited (10)
US 7899917B2 · Chitre · 2011 [cited by examiner]
US 9330106B2 · Piasecki et al. · 2016 [cited by applicant]
US 20060077949A1 · Allen · 2006 [cited by examiner]
US 20190132389A1 · Lillie · 2019 [cited by examiner]
US 20200344297A1 · Agarwal et al. · 2020 [cited by applicant]
US 20220053045A1 · Wilczynski et al. · 2022 [cited by applicant]
Microsoft, “Store Data at the Edge with Azure Blob Storage on IoT Edge,” https://docs.microsoft.com/en-us/azure/iot-edge/how-to-store-data-blob?view=iotedge-2020-11, 2022, 14 pages. [cited by applicant]
Tian Wang et al., “Fog-Based Computing and Storage Offloading for Data Synchronization in IoT,” IEEE Internet of Things Journal, vol. 6, No. 3, Jun. 2019, https://www.researchgate.net/publication/328309150_Fog-Based_Com… [cited by applicant]
Wai Gen Yee et al., “Scalable Synchronization of Intermittently Connected Database Clients,” Database and Information Retrieval Laboratory Department of Computer Science Illinois Institute of Technology Chicago, https:/… [cited by applicant]
Amazon Web Services, Inc., “Securing Internet of Things (IOT) with AWS, ” https://d1.awsstatic.com/whitepapers/Security/Securing_IoT_with_AWS.pdf, Dec. 20, 2021, 40 pages. [cited by applicant]