IP Library Granted Patent US 11,513,870
Granted Patent B2
US 11,513,870 · App. 16/888,302 · Granted Nov 29, 2022

Method, device, and computer program product for managing a task in an application node

Inventors: Yuan Luo (Shanghai, CN); Jia Zhuo (Shanghai, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F9/542G06F9/4856G06F9/5088
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 11,513,870
App. No.
16/888,302
Granted
Nov 29, 2022
Kind
B2
Abstract

A task in an application node is managed. For instance, based on a type of a predetermined task that is to be executed on a data object in the application node, an address range of a group of objects on which the predetermined task is to be executed is determined in the data object. The predetermined task is executed on the group of objects in an order of addresses of the group of objects. A progress indicator is created for indicating an address of an object that is currently being processed in the group of objects. The predetermined task is managed based on the progress indicator. Thus, an address of an object that is currently being processed may be indicated based on the progress indicator, so that the predetermined task may be managed more easily and effectively based on the progress indicator in subsequent operations.

Claims (75)

1. A method, comprising:

based on a type of a predetermined task that is to be executed on a data object in an application node, determining, in the data object by a system comprising a processor, an address range of a group of objects on which the predetermined task is to be executed;

executing the predetermined task on the group of objects in an order of addresses of the group of objects during a predetermined period that is based on a data amount of the group of objects;

creating a progress indicator for indicating an address of an object that is currently being processed in the group of objects; and

managing the predetermined task based on the progress indicator;

wherein managing the predetermined task based on the progress indicator comprises:

in accordance with determining that the predetermined period ends before the predetermined task is completed,

dividing a portion of the group of objects that are not yet processed into at least a first portion and a second portion, and

executing the predetermined task on the first portion and the second portion respectively.

2. The method of claim 1 , wherein managing the predetermined task based on the progress indicator further comprises:

restarting the application node in accordance with determining that the application node fails; and

continuing an execution of the predetermined task based on the progress indicator.

3. The method of claim 1 , wherein dividing the portion of the group of objects that are not yet processed into at least the first portion and the second portion comprises:

determining an unprocessed address range of the portion of the group of objects that are not yet processed; and

dividing the unprocessed address range into at least the first portion and the second portion.

4. The method of claim 1 , wherein executing the predetermined task on the first portion and the second portion respectively comprises:

creating the progress indicator to indicate an address of an object that is currently being processed in the first portion; and

executing the predetermined task on the first portion based on the progress indicator.

5. The method of claim 1 , wherein determining, in the data object, the address range of the group of objects on which the predetermined task is to be executed based on the type of the predetermined task that is to be executed on the data object comprises:

in accordance with determining that the type of the predetermined task is a traversing task, obtaining an index of a hierarchy structure describing the data object, the traversing task representing that the predetermined task is to be executed on all objects in the data object; and

determining the address range based on the index.

6. The method of claim 1 , wherein determining, in the data object, the address range of the group of objects on which the predetermined task is to be executed based on the type of the predetermined task that is to be executed on the data object comprises:

in accordance with determining that the type of the predetermined task is an incremental task, obtaining a group of changed objects in the data object, the incremental task representing that the predetermined task is to be executed on the group of changed objects in the data object; and

determining the address range based on the group of changed objects.

7. The method of claim 1 , wherein determining, in the data object, the address range of the group of objects on which the predetermined task is to be executed based on the type of the predetermined task that is to be executed on the data object comprises:

in accordance with determining that the type of the predetermined task is a file task, obtaining a size of the data object, the file task representing that the data object is a file and the predetermined task is to be executed on the file; and

determining the address range based on the size of the file.

8. The method of claim 1 , wherein the application node comprises a plurality of processing resources, and the predetermined task is executed by one or more processing resources in the plurality of processing resources.

9. An electronic device, comprising:

at least one processor; and

a memory coupled to the at least one processor, the memory having instructions stored thereon, the instructions, when executed by the at least one processor, causing the electronic device to implement acts for managing a predetermined task in an application node, the acts comprising:

based on a type of the predetermined task that is to be executed on a data object in the application node, determining in the data object an address range of a group of objects on which the predetermined task is to be executed;

executing, using a first processing resource, the predetermined task on the group of objects in an order of addresses of the group of objects during a predetermined period that is based on a data amount of the group of objects;

creating a progress indicator for indicating an address of an object that is currently being processed in the group of objects; and

managing the predetermined task based on the progress indicator;

wherein managing the predetermined task based on the progress indicator comprises:

in accordance with determining that the predetermined period has ended before the predetermined task is completed, dividing a portion of the group of objects that are not yet processed into at least a first portion and a second portion; and

executing the predetermined task on the first portion and the second portion, using the first processing resource and a second processing resource, respectively, wherein the second processing resource is a different processing resource than the first processing resource.

10. The electronic device of claim 9 , wherein managing the predetermined task based on the progress indicator further comprises:

restarting the application node in accordance with determining that the application node fails; and

continuing an execution of the predetermined task based on the progress indicator.

11. The electronic device of claim 9 , wherein dividing the portion of the group of objects that are not yet processed into at least the first portion and the second portion comprises:

determining an unprocessed address range of the portion of the group of objects that are not yet processed; and

dividing the unprocessed address range into at least the first portion and the second portion.

12. The electronic device of claim 9 , wherein executing the predetermined task on the first portion and the second portion, using the first processing resource and the second processing resource, respectively comprises:

creating the progress indicator for indicating an address of an object that is currently being processed in the first portion; and

executing the predetermined task on the first portion based on the progress indicator.

13. The electronic device of claim 9 , wherein determining, in the data object, the address range of the group of objects on which the predetermined task is to be executed based on the type of the predetermined task that is to be executed on the data object comprises:

in accordance with determining that the type of the predetermined task is a traversing task, obtaining an index of a hierarchy structure describing the data object, the traversing task representing that the predetermined task is to be executed on all objects in the data object; and

determining the address range based on the index.

14. The electronic device of claim 9 , wherein determining, in the data object, the address range of the group of objects on which the predetermined task is to be executed based on the type of the predetermined task that is to be executed on the data object comprises:

in accordance with determining that the type of the predetermined task is an incremental task, obtaining a group of changed objects in the data object, the incremental task representing that the predetermined task is to be executed on the group of changed objects in the data object; and

determining the address range based on the group of changed objects.

15. The electronic device of claim 9 , wherein determining, in the data object, the address range of the group of objects on which the predetermined task is to be executed based on the type of the predetermined task that is to be executed on the data object comprises:

in accordance with determining that the type of the predetermined task is a file task, obtaining a size of the data object, the file task representing that the data object is a file and the predetermined task is to be executed on the file; and

determining the address range based on the size of the file.

16. The electronic device of claim 9 , wherein the application node comprises a plurality of processing resources, and the predetermined task is executed by one or more processing resources in the plurality of processing resources.

17. A non-transitory machine-readable medium, comprising executable instructions that, when executed by a processor of an electronic device, facilitate performance of operations, comprising:

based on a type of a predetermined task that is to be executed on a data object in an application node, determining in the data object an address range of a group of objects on which the predetermined task is to be executed, wherein the predetermined task comprises application of removing noise from an image of the data object;

executing, using a first processing resource, the predetermined task on the group of objects in an order of addresses of the objects of the group during a predetermined period;

creating a progress indicator for indicating an address of an object that is currently being processed in the group of objects; and

managing the predetermined task based on the progress indicator;

wherein managing the predetermined task based on the progress indicator comprises:

determining that the predetermined period ends before the predetermined task is completed,

dividing a portion of the group of objects that are not yet processed into at least a first portion and a second portion; and

executing the predetermined task on the first portion and the second portion, using the first processing resource and a second processing resource, respectively, wherein the second processing resource is a different processing resource than the first processing resource.

18. The non-transitory machine readable medium of claim 17 , wherein the predetermined task comprises at least one of:

synchronizing the data object from the application node to another application node; and

processing the data object and transmitting a result of processing the data object to the another application node.

19. The non-transitory machine readable medium of claim 17 , wherein managing the predetermined task based on the progress indicator further comprises:

restarting the application node in accordance with determining that the application node has failed; and

continuing an execution of the predetermined task based on the progress indicator.

20. The non-transitory machine readable medium of claim 17 , wherein dividing the portion of the group of objects that are not yet processed into at least the first portion and the second portion comprises:

determining an unprocessed address range of the portion of the group of objects that are not yet processed; and

dividing the unprocessed address range into at least the first portion and the second portion.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2020
From: LUO, YUAN; ZHUO, JIA
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052793/0291 →