IP Library › Granted Patent US 12,229,414
Granted Patent B2
US 12,229,414 · App. 18/221,283 · Granted Feb 18, 2025

Processing and archiving data from edge nodes across distributed systems

Inventors: Feng Xue (Singapore, SG); Jeffrey G. Komatsu (Kasson, MN); John Scott Bacon (Rochester, MN); Aaron Civil (Rochester, MN); Julian Reyes (Rochester, MN); Jun Jiang (Wuhan, CN); Lei Yang (Dalian, CN); Ding Guo Xiong (Wuhan, CN)
Assignee: International Business Machines Corporation
G06F3/0619G06F3/0659G06F3/067
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,229,414
App. No.
18/221,283
Granted
Feb 18, 2025
Kind
B2
Abstract

A computer-implemented method, according to one approach, includes: detecting new data generated at a first edge node, and causing a first copy of the new data to be transferred to a central data storage location in real-time. A second copy of the new data is also stored in a first location at the first edge node. In response to a predetermined condition being met, a determination is made as to whether any information in the first copy of the new data transferred is missing at the central data storage location. The first copy of the new data is removed from the first location at the first edge node in response to determining that no information in the first copy of the new data transferred is missing at the central data storage location.

Claims (77)

1. A computer-implemented method, comprising:

detecting new data generated at a first edge node;

causing a first copy of the new data to be transferred to a central data storage location in real-time;

causing a second copy of the new data to be stored in a first location at the first edge node;

sending, to the central data storage location, a request to determine whether a first storage location at the central data storage location includes a mirrored duplicate of the first copy of the new data; and

in response to receiving a determination that the first storage location includes a mirrored duplicate of the first copy of the new data, releasing the second copy of the new data from the first edge node.

2. The computer-implemented method of claim 1 , wherein the computer-implemented method is performed by an archive handler, wherein the archive handler includes a set of observers and a remover.

3. The computer-implemented method of claim 2 , wherein the detecting new data generated at the first edge node includes an observer from the set of observers identifying the new data being written into a folder that corresponds to the observer, wherein the first copy of the new data is transferred to the central data storage location in real-time by the observer, wherein the second copy of the new data is stored in the first location at the first edge node by the observer.

4. The computer-implemented method of claim 3 , comprising:

in response to a predetermined condition being met, determining whether any information in the first copy of the new data transferred is missing at the central data storage location;

in response to determining that no information in the first copy of the new data transferred is missing at the central data storage location, causing the second copy of the new data to be removed from the first location at the first edge node;

in response to determining that at least some information in the first copy of the new data is missing at the central data storage location, transferring, by the observer, the missing information to the central data storage location; and

removing the first copy of the new data from the first location in response to transferring the missing information to the central data storage location.

5. The computer-implemented method of claim 2 , wherein the archive handler is configured to manage an edge file hierarchy at the first edge node.

6. The computer-implemented method of claim 5 , wherein the observers in the set of observers correspond to respective folders at the first edge node, wherein the new data generated at the first edge node is detected in response to receiving a notification from the observer.

7. The computer-implemented method of claim 5 , wherein releasing the second copy of the new data to be removed from the first location at the first edge node includes sending one or more instructions to the remover, the one or more instructions causing the remover component to remove the second copy of the new data from the first location.

8. The computer-implemented method of claim 4 , wherein meeting the predetermined condition includes maintaining the second copy of the new data in the first location at the first edge node for a first predetermined amount of time.

9. The computer-implemented method of claim 8 , wherein the first predetermined amount of time is based at least in part on a type and/or amount of information included in the second copy of the new data.

10. A computer program product, comprising a computer readable storage medium having program instructions embodied therewith, the program instructions readable by a processor, executable by the processor, or readable and executable by the processor, to cause the processor to:

detect new data generated at a first edge node;

cause a first copy of the new data to be transferred to a central data storage location in real-time;

cause a second copy of the new data to be stored in a first location at the first edge node;

send, to the central data storage location, a request to determine whether a first storage location at the central data storage location includes a mirrored duplicate of the first copy of the new data; and

in response to receiving a determination that the first storage location includes a mirrored duplicate of the first copy of the new data, release the second copy of the new data from the first edge node.

11. The computer program product of claim 10 , wherein the central data storage location is configured to receive and store one or more additional copies of data received from one or more additional edge nodes, wherein the central data storage location is configured to maintain real-time mirrored copies of data that is received at the respective one or more additional edge nodes.

12. The computer program product of claim 10 , wherein the detecting new data generated at the first edge node includes an observer identifying the new data being written into a folder that corresponds to the observer, wherein the first copy of the new data is transferred to the central data storage location in real-time by the observer, wherein the second copy of the new data is stored in the first location at the first edge node by the observer, wherein the observer is from a set of observers in an archive handler.

13. The computer program product of claim 10 , wherein the program instructions are readable and/or executable by the processor to cause the processor to:

in response to a predetermined condition being met, determine whether any information in the first copy of the new data transferred is missing at the central data storage location;

in response to determining that no information in the first copy of the new data transferred is missing at the central data storage location, cause the second copy of the new data to be removed from the first location at the first edge node;

in response to determining that at least some information in the first copy of the new data is missing at the central data storage location, transfer the missing information to the central data storage location; and

remove the first copy of the new data from the first location in response to transferring the missing information to the central data storage location.

14. The computer program product of claim 12 , wherein the archive handler is configured to manage an edge file hierarchy at the first edge node, wherein the archive handler includes the set of observer components and a remover component.

15. The computer program product of claim 14 , wherein the observers in the set of observers correspond to respective folders at the first edge node, wherein the new data generated at the first edge node is detected in response to receiving a notification from a respective one of the observer components.

16. The computer program product of claim 14 , wherein causing the first copy of the new data to be removed from the first location at the first edge node includes sending one or more instructions to the remover component, the one or more instructions causing the remover component to remove the first copy from the first location.

17. The computer program product of claim 10 , wherein meeting the predetermined condition includes maintaining the first copy of the new data in the first location at the first edge node for a first predetermined amount of time.

18. The computer program product of claim 17 , wherein the first predetermined amount of time is based at least in part on a type and/or amount of information included in the first copy of the new data.

19. A system, comprising:

a first edge node connected to a central data storage location;

a processor; and

logic integrated with the processor, executable by the processor, or integrated with and executable by the processor, the logic being configured to:

detect new data generated at a first edge node;

cause a first copy of the new data to be transferred to a central data storage location in real-time;

cause a second copy of the new data to be stored in a first location at the first edge node;

send, to the central data storage location, a request to determine whether a first storage location at the central data storage location includes a mirrored duplicate of the first copy of the new data; and

in response to receiving a determination that the first storage location includes a mirrored duplicate of the first copy of the new data, release the second copy of the new data from the first edge node.

20. The system of claim 19 ,

wherein the central data storage location is configured to receive and store one or more additional copies of data received from one or more additional edge nodes,

wherein the central data storage location is configured to maintain real-time mirrored copies of data that is received at the respective one or more additional edge nodes.

21. A computer program product, comprising a computer readable storage medium having program instructions embodied therewith, the program instructions readable by a processor, executable by the processor, or readable and executable by the processor, to cause the processor to:

receive a first copy of data from a first edge node;

store the first copy of data in a first storage location at a central data storage location;

receive a second copy of data from a second edge node;

store the second copy of data in a second storage location at the central data storage location;

receive a request from the first edge node to determine whether the first storage location includes a mirrored duplicate of the first copy of data received from the first edge node; and

in response to determining that the first storage location includes a mirrored duplicate of the first copy of data, cause the first copy of data to be released from the first edge node by sending an acknowledgement to the first edge node.

22. The computer program product of claim 21 , wherein the program instructions are readable and/or executable by the processor to cause the processor to:

in response to determining that the first storage location does not include a mirrored duplicate of the first copy of data, issue a request to the first edge node for missing portions of the first copy of data;

receive the missing portions of the first copy of data; and

use the missing portions to complete the mirrored duplicate of the first copy of data at the first storage location.

23. The computer program product of claim 21 , wherein the program instructions are readable and/or executable by the processor to cause the processor to:

receive a request from the second edge node to determine whether the second storage location includes a mirrored duplicate of the second copy of data received from the second edge node; and

in response to determining that the second storage location includes a mirrored duplicate of the second copy of data, cause the second copy of data to be released from the second edge node by sending an acknowledgement to the second edge node.

24. The computer program product of claim 23 , wherein the program instructions are readable and/or executable by the processor to cause the processor to:

in response to determining that the second storage location does not include a mirrored duplicate of the second copy of data, issue a request to the second edge node for missing portions of the second copy of data;

receive the missing portions of the second copy of data; and

use the missing portions to complete the mirrored duplicate of the second copy of data at the second storage location,

wherein the first storage location is in non-volatile memory at the central data storage location, wherein the second storage location is in non-volatile memory at the central data storage location.

25. A system, comprising:

a central data storage location connected to a first edge node and a second edge node;

a processor; and

logic integrated with the processor, executable by the processor, or integrated with and executable by the processor, the logic being configured to:

receive a first copy of data from a first edge node;

store the first copy of data in a first storage location at the central data storage location;

receive a second copy of data from a second edge node;

store the second copy of data in a second storage location at the central data storage location;

receive a request from the first edge node to determine whether the first storage location includes a mirrored duplicate of the first copy of data received from the first edge node; and

in response to determining that the first storage location includes a mirrored duplicate of the first copy of data, cause the first copy of data to be released from the first edge node by sending an acknowledgement to the first edge node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2023
From: XUE, FENG; KOMATSU, JEFFREY G.; BACON, JOHN SCOTT; CIVIL, AARON; REYES, JULIAN; JIANG, JUN; YANG, LEI; XIONG, DING GUO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 064281/0667 →
Continuity (1)
Related Publication 20250021236A1 · Jan 16, 2025
References Cited (33)
US 8010559B2 · Verma et al. · 2011 [cited by applicant]
US 9646024B2 · Srivas et al. · 2017 [cited by applicant]
US 10095708B2 · Passey et al. · 2018 [cited by applicant]
US 10326766B2 · Egner et al. · 2019 [cited by applicant]
US 10423609B1 · Strauss · 2019 [cited by applicant]
US 10474636B2 · Strauss et al. · 2019 [cited by applicant]
US 10545927B2 · Strauss et al. · 2020 [cited by applicant]
US 10789020B2 · Karr et al. · 2020 [cited by applicant]
US 10936238B2 · Power et al. · 2021 [cited by applicant]
US 10979383B1 · Warfield et al. · 2021 [cited by applicant]
US 11096036B2 · Poornachandran et al. · 2021 [cited by applicant]
US 11159609B2 · McGrath et al. · 2021 [cited by applicant]
US 11307998B2 · Irwin et al. · 2022 [cited by applicant]
US 11354058B2 · Bernat et al. · 2022 [cited by applicant]
US 11558253B2 · Peng · 2023 [cited by applicant]
US 20020078174A1 · Sim · 2002 [cited by examiner]
US 20100228819A1 · Wei · 2010 [cited by applicant]
US 20100257140A1 · Davis et al. · 2010 [cited by applicant]
US 20130073808A1 · Puthalath · 2013 [cited by examiner]
US 20150161226A1 · Lipstone · 2015 [cited by examiner]
US 20150227550A1 · Matsuki et al. · 2015 [cited by applicant]
US 20180146041A1 · Moustafa · 2018 [cited by examiner]
US 20190251279A1 · Emberson et al. · 2019 [cited by applicant]
US 20200007414A1 · Smith et al. · 2020 [cited by applicant]
US 20210021563A1 · Hegde · 2021 [cited by examiner]
US 20210099848A1 · Ruan et al. · 2021 [cited by applicant]
US 20210144517A1 · Guim Bernat et al. · 2021 [cited by applicant]
US 20220137876A1 · Chung et al. · 2022 [cited by applicant]
DE 112019000841T5 · 2020 [cited by applicant]
JP 4148915B2 · 2008 [cited by applicant]
JP 5272098B2 · 2013 [cited by applicant]
Hung et al., “CSM-DBEN: Container Storage Manager for Data Backup on Edge Nodes,” IEEE International Conference on Cloud Computing Technology and Science (CloudCom), 2022, pp. 105-112. [cited by applicant]
International Search Report and Written Opinion from PCT Application No. PCT/EP2024/068593, dated Nov. 11, 2024, 13 pages. [cited by applicant]