IP Library Granted Patent US 11,290,339
Granted Patent B2
US 11,290,339 · App. 16/916,579 · Granted Mar 29, 2022

Estimating physical disparity for data locality in software-defined infrastructures

Inventors: Gary D. Cudak (Wake Forest, NC); Ronald F. Ridgeway, Jr. (Holly Springs, NC); John M. Petersen (Wake Forest, NC); Alexander V. Verrigni (Cary, NC)
Assignee: Lenovo Enterprise Solutions (Singapore) Pte. Ltd.
H04L41/12H01B13/34H04L45/64H04L61/6022H04L67/1095
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,290,339
App. No.
16/916,579
Granted
Mar 29, 2022
Kind
B2
Abstract

Methods, apparatuses, and computer program products for estimating physical disparity for data locality in software-defined infrastructures are disclosed. For each node in a cluster of nodes connected to a switch, vital product data (VPD) of a cable connecting the node to the switch is obtained, and for each cable, a length of the cable is determined from the VPD. A management application assigns a group identifier to each node in the cluster based on the length of the cable connecting the node to the switch. The management application selects a node in the cluster for storing a data set in dependence upon the group identifier of the node.

Claims (32)

1. A method of estimating physical disparity for data locality in software-defined infrastructures, the method comprising:

obtaining, for each node in a plurality of nodes connected to a switch, vital product data (VPD) of a cable connecting the node to the switch;

determining, for each cable, a length of the cable from the VPD;

assigning, by a management application, a group identifier to each node in the plurality of nodes based on the length of the cable connecting the node to the switch; and

selecting, by the management application, a node in the plurality of nodes for storing a data set in dependence upon the group identifier of the node.

2. The method of claim 1 , wherein obtaining, for each node in the plurality of nodes connected to a switch, the VPD of the cable connecting the node to the switch includes capturing the VPD from the cable by an instance of an operating system on the node.

3. The method of claim 1 , wherein obtaining, for each node in the plurality of nodes connected to a switch, VPD of a cable connecting the node to the switch includes capturing the VPD from the cable by requesting, by the management application, VPD of a plurality of cables from the switch and correlating the VPD of each cable to a node based on a media access control (MAC) address of the node.

4. The method of claim 1 , determining, for each cable, the length of the cable from the VPD includes parsing the VPD to determine the length of the cable.

5. The method of claim 1 , wherein assigning, by the management application, a group identifier to each node in the plurality of nodes based on the length of the cable connecting the node to the switch includes assigning the same group identifier to nodes that are connected to the switch by a common length of cable.

6. The method of claim 1 , wherein selecting, by the management application, a node in the plurality of nodes for storing a data set in dependence upon the group identifier of the node includes selecting a first node to store the data set and designating a second node to store a replica of the data set, wherein the first node and the second node have different group identifiers.

7. The method of claim 1 , wherein each cable is a direct attached cable (DAC) and the VPD is stored on a non-volatile memory in a transceiver of the DAC.

8. An apparatus for estimating physical disparity for data locality in software-defined infrastructures, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

obtaining, for each node in a plurality of nodes connected to a switch, vital product data (VPD) of a cable connecting the node to the switch;

determining, for each cable, a length of the cable from the VPD;

assigning, by a management application, a group identifier to each node in the plurality of nodes based on the length of the cable connecting the node to the switch; and

selecting, by the management application, a node in the plurality of nodes for storing a data set in dependence upon the group identifier of the node.

9. The apparatus of claim 8 , wherein obtaining, for each node in the plurality of nodes connected to a switch, the VPD of the cable connecting the node to the switch includes capturing the VPD from the cable by an instance of an operating system on the node.

10. The apparatus of claim 8 , wherein obtaining, for each node in the plurality of nodes connected to a switch, VPD of a cable connecting the node to the switch includes capturing the VPD from the cable by requesting, by the management application, VPD of a plurality of cables from the switch and correlating the VPD of each cable to a node based on a media access control (MAC) address of the node.

11. The apparatus of claim 8 , determining, for each cable, the length of the cable from the VPD includes parsing the VPD to determine the length of the cable.

12. The apparatus of claim 8 , wherein assigning, by the management application, a group identifier to each node in the plurality of nodes based on the length of the cable connecting the node to the switch includes assigning the same group identifier to nodes that are connected to the switch by a common length of cable.

13. The apparatus of claim 8 , wherein selecting, by the management application, a node in the plurality of nodes for storing a data set in dependence upon the group identifier of the node includes selecting a first node to store the data set and designating a second node to store a replica of the data set, wherein the first node and the second node have different group identifiers.

14. The apparatus of claim 8 , wherein each cable is a direct attached cable (DAC) and the VPD is stored on a non-volatile memory in a transceiver of the DAC.

15. A computer program product for estimating physical disparity for data locality in software-defined infrastructures, the computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

obtaining, for each node in a plurality of nodes connected to a switch, vital product data (VPD) of a cable connecting the node to the switch;

determining, for each cable, a length of the cable from the VPD;

assigning, by a management application, a group identifier to each node in the plurality of nodes based on the length of the cable connecting the node to the switch; and

selecting, by the management application, a node in the plurality of nodes for storing a data set in dependence upon the group identifier of the node.

16. The computer program product of claim 15 , wherein obtaining, for each node in the plurality of nodes connected to a switch, the VPD of the cable connecting the node to the switch includes capturing the VPD from the cable by an instance of an operating system on the node.

17. The computer program product of claim 15 , wherein obtaining, for each node in the plurality of nodes connected to a switch, VPD of a cable connecting the node to the switch includes capturing the VPD from the cable by requesting, by the management application, VPD of a plurality of cables from the switch and correlating the VPD of each cable to a node based on a media access control (MAC) address of the node.

18. The computer program product of claim 15 , determining, for each cable, the length of the cable from the VPD includes parsing the VPD to determine the length of the cable.

19. The computer program product of claim 15 , wherein assigning, by the management application, a group identifier to each node in the plurality of nodes based on the length of the cable connecting the node to the switch includes assigning the same group identifier to nodes that are connected to the switch by a common length of cable.

20. The computer program product of claim 15 , wherein selecting, by the management application, a node in the plurality of nodes for storing a data set in dependence upon the group identifier of the node includes selecting a first node to store the data set and designating a second node to store a replica of the data set, wherein the first node and the second node have different group identifiers.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LIMITED
To: LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069869/0614 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2023
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE.LTD.
To: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LTD.
Reel/Frame 063564/0925 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2020
From: CUDAK, GARY D.; RIDGEWAY, RONALD F., JR.; PETERSEN, JOHN M.; VERRIGNI, ALEXANDER V.
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 054130/0624 →