IP Library Granted Patent US 11,099,855
Granted Patent B2
US 11,099,855 · App. 16/661,558 · Granted Aug 24, 2021

System and method for updating files through a peer-to-peer network

Inventor: Sean Yu (Taipei, TW)
Assignee: AMERICAN MEGATRENDS INTERNATIONAL, LLC
G06F9/4406G06F8/658G06F9/45541G06F16/1834G06F40/194
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,099,855
App. No.
16/661,558
Granted
Aug 24, 2021
Kind
B2
Abstract

A system and a method for updating files through a peer-to-peer (P2P) network are provided. The system includes a plurality of device nodes, and a link manager. The device nodes are distributed in a peer-to-peer network and respectively have baseboard management controllers (BMCs). The link manager connects to the peer-to-peer network via a management network and includes an update engine. The device nodes include at least a first device node, a second device node and a third device node. The link manager sends an update command to the peer-to-peer network. The update engine arranges a first update from the first device node to the second device node, and arranges a second update from the second device node to the third device node.

Claims (126)

1. A system for updating files through a peer-to-peer network, comprising:

a plurality of device nodes distributed in the peer-to-peer network, the device nodes respectively having baseboard management controllers (BMCs), the device nodes having at least two update states including a bare-metal state and an OS-installed state, and all the device nodes being in the same update state; and

a link manager connected to the peer-to-peer network via a management network, the link manager comprising an update engine; wherein the device nodes comprise at least a first device node, a second device node and a third device node;

the link manager sends an update command to the peer-to-peer network; and

the update engine using a processor to arrange a first update from the first device node to the second device node, and arrange a second update from the second device node to the third device node according to the update state of the device nodes.

2. The system according to claim 1 , wherein

the update engine assigns at least one of the device nodes as a group member to at least one update group, and assigns a group leader to each update group; and

each group leader has group information of the update group and exchanges group information with other group leaders.

3. The system according to claim 2 , wherein

the group information comprises a group member list, and a device status of each group member.

4. The system according to claim 3 , wherein

the device status comprises version information of at least one downloaded source files in the device node.

5. The system according to claim 2 , further comprising

a source node connected to the peer-to-peer network via the management network, the source node having at least one version of source files; wherein

the update engine assigns an update version of source files corresponding to the update state of the device nodes to each update group; and

each update group updates the update version of source files through the peer-to-peer network.

6. The system according to claim 1 , wherein

the link manager further comprises a management console, and

the link manager sends the update command via the management console.

7. The system according to claim 5 , wherein

the peer-to-peer network has an index;

the index comprises a version list of the device nodes in the peer-to-peer network and one or more corresponding versions of source files of each device node; and

the group leaders update the index after updating the update version of source files.

8. The system according to claim 7 , wherein

the update engine assigns a service node to the device nodes for updating based on the index;

each device node for updating downloads the update version of source files from the service node; and

the service node is the device node with the update version of source files in the update group.

9. The system according to claim 8 , wherein

if more than one device node in the update group has the update version of source files, the update engine selects the service node based on a network bandwidth condition.

10. The system according to claim 8 , wherein

if no device node in the update group has the update version of source files, the update engine assigns the source node as the service node.

11. The system according to claim 5 , wherein

when the device nodes are bare-metal devices, the update state of the device nodes is the bare-metal state; and

the source files are BMC firmware binary files, BIOS firmware binary files, or operating system image files.

12. The system according to claim 5 , wherein

when the device nodes are devices with installed operating system, the update state of the device nodes is the OS-installed state; and

the source files are BMC firmware binary files, BIOS firmware binary files, operating system patch files, device driver patch files, or application files.

13. A method for updating files through a peer-to-peer network, comprising:

sending an update command to the peer-to-peer network by a link manager;

arranging a first update from a first device node to a second device node and arranging a second update from the second device node to a third device node by an update engine;

wherein

the first device node, the second device node and the third device node are selected from a plurality of device nodes distributed in a peer-to-peer network;

the device nodes respectively have baseboard management controllers (BMCs);

the device nodes have at least two update states including a bare-metal state and an OS-installed state, and all the device nodes are in the same update state;

the update engine arranges the first update and the second update according to the update state of the device nodes; and

the link manager is connected to the peer-to-peer network via a management network and comprises the link manager.

14. The method according to claim 13 , further comprising:

assigning at least one of the device nodes distributed in a peer-to-peer network as a group member to at least one update group by the update engine;

assigning a group leader to each update group by the update engine; wherein

each group leader has group information of the update group and exchanges group information with other group leaders.

15. The method according to claim 14 , wherein

the group information comprises a group member list, and a device status of each group member.

16. The method according to claim 15 , wherein

the device status comprises version information of at least one downloaded source files in the device node.

17. The method according to claim 14 , further comprising:

assigning an update version of source files corresponding to the update state of the device nodes to each update group by the update engine; and

updating the update version of source files through the peer-to-peer network by each update group; wherein

the update version of source files is selected from multiple versions of source files in a source node connected to the peer-to-peer network via the management network.

18. The method according to claim 13 , further comprising

sending the update command via a management console of the link manager by the link manager.

19. The method according to claim 17 , further comprising:

updating an index of the peer-to-peer network after updating the update version of source files by the group leaders; wherein

the index comprises a version list of the device nodes in the peer-to-peer network and one or more corresponding versions of source files of each device node.

20. The method according to claim 19 , further comprising:

assigning a service node to the device nodes for updating based on the index by the update engine; and

downloading the update version of source files from service node by each device node for updating; wherein

the service node is the device node with the update version of source files in the update group.

21. The method according to claim 20 , further comprising:

selecting the service node based on a network bandwidth condition by the update engine if more than one device node in the update group has the update version of source files.

22. The method according to claim 20 , further comprising:

assigning the source node as the service node by the update engine if no device node in the update group has the update version of source files.

23. The method according to claim 17 , wherein

when the device nodes are bare-metal devices, the update state of the device nodes is the bare-metal state; and

the source files are BMC firmware binary files, BIOS firmware binary files, or operating system image files.

24. The method according to claim 17 , wherein

when the device nodes are devices with installed operating system, the update state of the device nodes is the OS-installed state; and

the source files are BMC firmware binary files, BIOS firmware binary files, operating system patch files, device driver patch files, or application files.

25. A system for updating files through a peer-to-peer network, comprising:

a plurality of device nodes distributed in the peer-to-peer network, the device nodes respectively having baseboard management controllers (BMCs), the device nodes having at least two update states including a bare-metal state and an OS-installed state, and all the device nodes being in the same update state;

a link manager connected to the peer-to-peer network via a management network, the link manager comprising an update engine; and

a source node connected to the peer-to-peer network via the management network, the source node having at least one version of source files; wherein

at least one of the device nodes requests for an update version of source files corresponding to the update state of the device nodes; and

the update engine using a processor to assign a service node to the requesting device node according to the update state of the device nodes and redirect the request to the service node.

26. The system according to claim 25 , wherein

the peer-to-peer network has an index; and

the index comprises a version list of the device nodes in the peer-to-peer network and one or more corresponding versions of source files of each device node.

27. The system according to claim 26 , wherein

the update engine assigns the service node based on the index;

each device node for updating downloads the update version of source files from the service node; and

the service node is the device node with the update version of source files.

28. The system according to claim 27 , wherein

if more than one device node has the update version of source files, the update engine selects the service node based on a network bandwidth condition.

29. The system according to claim 27 , wherein

if no device node has the update version of source files, the update engine assigns the source node as the service node.

30. The system according to claim 25 , wherein

when the device nodes are bare-metal devices, the update state of the device nodes is the bare-metal state; and

the source files are BMC firmware binary files, BIOS firmware binary-files, or operating system image files.

31. The system according to claim 25 , wherein

when the device nodes are devices with installed operating system, the update state of the device nodes is the OS-installed state; and

the source files are BMC firmware binary files, BIOS firmware binary files, operating system patch files, device driver patch files, or application files.

32. A method for updating files through a peer-to-peer network, comprising:

requesting for an update version of source files by at least one of device nodes; and

assigning a service node to the requesting device node and redirecting the request to the service node by an update engine; wherein

the device nodes are distributed in a peer-to-peer network and respectively have baseboard management controllers (BMCs);

the device nodes have at least two update states including a bare-metal state and an OS-installed state, and all the device nodes are in the same update state;

the device nodes request for an update version of source files corresponding to the update state of the device nodes;

the update engine assigns a service node to the requesting device node according to the update state of the device nodes;

a link manager connects to the peer-to-peer network via a management network and comprises the update engine; and

a source node connects to the peer-to-peer network via the management network and has at least one version of source files.

33. The method according to claim 32 , wherein

the peer-to-peer network has an index; and

the index comprises a version list of the device nodes in the peer-to-peer network and one or more corresponding versions of source files of each device node.

34. The method according to claim 33 , further comprising:

assigning the service node based on the index by the update engine; and

downloading the update version of source files from the service node by each device node for updating; wherein

the service node is the device node with the update version of source files.

35. The method according to claim 34 , wherein

selecting the service node based on a network bandwidth condition by the update engine if more than one device node has the update version of source files.

36. The method according to claim 34 , wherein

assigning the source node as the service node by the update engine if no device node has the update version of source files.

37. The method according to claim 32 , wherein

when the device nodes are bare-metal devices, the update state of the device nodes is the bare-metal state; and

the source files are BMC firmware binary files, BIOS firmware binary files, or operating system image files.

38. The method according to claim 32 , wherein

when the device nodes are devices with installed operating system, the update state of the device nodes is the OS-installed state; and

the source files are BMC firmware binary files, BIOS firmware binary files, operating system patch files, device driver patch files, or application files.

Assignments (4)
PATENT SECURITY AGREEMENT Recorded Oct 23, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: BAIN CAPITAL CREDIT, LP, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 069229/0834 →
RELEASE OF SECURITY INTEREST Recorded Oct 17, 2024
From: MIDCAP FINANCIAL TRUST
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 069205/0948 →
SECURITY INTEREST Recorded Apr 30, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT
Reel/Frame 067274/0834 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2019
From: YU, SEAN
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 050819/0387 →
Continuity (1)
Related Publication 20210124592A1 · Apr 29, 2021