IP Library Granted Patent US 10,402,429
Granted Patent B2
US 10,402,429 · App. 15/610,098 · Granted Sep 3, 2019

Minimizing data transport within a storlet architecture

Inventors: Sasikanth Eda (Pune, IN); Deepak R. Ghuge (Sangamner, IN); Kaustubh I. Katruwar (Pune, IN); Sandeep R. Patil (Pune, IN)
Assignee: International Business Machines Corporation
G06F16/285G06F9/46G06F16/22G06F16/9024
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 10,402,429
App. No.
15/610,098
Granted
Sep 3, 2019
Kind
B2
Abstract

A computer-implemented method according to one embodiment includes receiving a computation algorithm to be implemented by one of a plurality of nodes, identifying object classification data for objects stored within the plurality of nodes, identifying capability data for each of the plurality of nodes, determining an optimal node for implementing the computation algorithm from the plurality of nodes, based on the object classification data and the capability data, and returning an identification of the optimal node.

Claims (51)

1. A computer-implemented method, comprising:

receiving a computation algorithm to be implemented by one of a plurality of nodes;

identifying object classification data for objects stored within the plurality of nodes;

identifying capability data for each of the plurality of nodes;

determining an optimal node for implementing the computation algorithm from the plurality of nodes, based on the object classification data and the capability data, where weighting is utilized in determining the optimal node, and:

nodes containing a larger number of objects associated with the computation algorithm are weighted higher than nodes containing a smaller number of objects associated with the computation algorithm,

nodes containing objects associated with the computation algorithm having a greater size are weighted higher than nodes containing objects associated with the computation algorithm having a smaller size, and

nodes containing capability data more favorable to object transfer are weighted higher than nodes containing capability data less favorable to object transfer; and

returning an identification of the optimal node.

2. The computer-implemented method of claim 1 , wherein the plurality of nodes is included within a storlet architecture.

3. The computer-implemented method of claim 1 , wherein the computation algorithm is received utilizing hooking.

4. The computer-implemented method of claim 1 , wherein the object classification data describes objects that have been stored within the plurality of nodes.

5. The computer-implemented method of claim 1 , wherein the object classification data for each of the objects includes a size of data within the object.

6. The computer-implemented method of claim 1 , wherein the object classification data for each of the objects includes a computation algorithm identifier that identifies one of a plurality of different computation algorithms determined to utilize the object.

7. The computer-implemented method of claim 1 , wherein the object classification data is stored in a data structure, where the data structure indicates:

a total size of the objects stored within the plurality of nodes that are associated with the computation algorithm,

a total count of the objects stored within all of the plurality of nodes that are associated with the computation algorithm,

for each of the plurality of nodes, a total count of objects stored within the node that are associated with the computation algorithm.

8. The computer-implemented method of claim 1 , wherein the capability data includes a hardware architecture implemented within each of the plurality of nodes.

9. The computer-implemented method of claim 1 , wherein the capability data includes a network bandwidth available to each of the plurality of nodes.

10. A computer program product for minimizing data transport within a storlet architecture, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions executable by a processor to cause the processor to perform a method comprising:

receiving a computation algorithm to be implemented by one of a plurality of nodes, utilizing the processor;

identifying object classification data for objects stored within the plurality of nodes, utilizing the processor;

identifying capability data for each of the plurality of nodes, utilizing the processor;

determining, utilizing the processor, an optimal node for implementing the computation algorithm from the plurality of nodes, based on the object classification data and the capability data, where weighting is utilized in determining the optimal node, and:

nodes containing a larger number of objects associated with the computation algorithm are weighted higher than nodes containing a smaller number of objects associated with the computation algorithm,

nodes containing objects associated with the computation algorithm having a greater size are weighted higher than nodes containing objects associated with the computation algorithm having a smaller size, and

nodes containing capability data more favorable to object transfer are weighted higher than nodes containing capability data less favorable to object transfer; and

returning an identification of the optimal node, utilizing the processor.

11. The computer program product of claim 10 , wherein the plurality of nodes is included within a storlet architecture.

12. The computer program product of claim 10 , wherein the computation algorithm is received utilizing hooking.

13. The computer program product of claim 10 , wherein the object classification data describes objects that have been stored within the plurality of nodes.

14. The computer program product of claim 10 , wherein the object classification data for each of the objects includes a size of data within the object.

15. The computer program product of claim 10 , wherein the object classification data for each of the objects includes a computation algorithm identifier that identifies one of a plurality of different computation algorithms determined to utilize the object.

16. The computer program product of claim 10 , wherein the object classification data is stored in a data structure, where the data structure indicates:

a total size of the objects stored within the plurality of nodes that are associated with the computation algorithm,

a total count of the objects stored within all of the plurality of nodes that are associated with the computation algorithm,

for each of the plurality of nodes, a total count of objects stored within the node that are associated with the computation algorithm.

17. The computer program product of claim 10 , wherein the capability data includes a hardware architecture implemented within each of the plurality of nodes.

18. The computer program product of claim 10 , wherein the capability data includes a network bandwidth available to each of the plurality of nodes.

19. A system, comprising:

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 computation algorithm to be implemented by one of a plurality of nodes;

identify object classification data for objects stored within the plurality of nodes;

identify capability data for each of the plurality of nodes;

determine an optimal node for implementing the computation algorithm from the plurality of nodes, based on the object classification data and the capability data, where weighting is utilized in determining the optimal node, and:

nodes containing a larger number of objects associated with the computation algorithm are weighted higher than nodes containing a smaller number of objects associated with the computation algorithm,

nodes containing objects associated with the computation algorithm having a greater size are weighted higher than nodes containing objects associated with the computation algorithm having a smaller size, and

nodes containing capability data more favorable to object transfer are weighted higher than nodes containing capability data less favorable to object transfer; and

return an identification of the optimal node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2017
From: EDA, SASIKANTH; GHUGE, DEEPAK R.; KATRUWAR, KAUSTUBH I.; PATIL, SANDEEP R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042568/0753 →
Continuity (1)
Related Publication 20180349465A1 · Dec 6, 2018