US11665063B1ActiveUtility

Method, apparatus, and computer readable medium

82
Assignee: RAKUTEN MOBILE INCPriority: Dec 23, 2021Filed: Dec 23, 2021Granted: May 30, 2023
Est. expiryDec 23, 2041(~15.5 yrs left)· nominal 20-yr term from priority
H04L 41/12H04L 67/10H04L 43/0805H04L 41/0853H04L 41/024H04L 69/40
82
PatentIndex Score
2
Cited by
1
References
17
Claims

Abstract

A method includes identifying, by a first server, a set of servers in an edge data center, discovering details of a plurality of components of each corresponding server of the set of servers, updating inventory of the set of servers based on at least the details of the plurality of components of each corresponding server of the set of servers, and performing health checks on the set of servers according to a health check frequency. The first server is connected to the set of servers by a switch. Performing the health checks includes detecting a removal of a second server from the set of servers, detecting an addition of the second server to the set of servers, detecting an addition of a new component in the second server, or detecting a replacement of a failed component in the second server in response to detecting a failure of the failed component.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method, comprising:
 identifying, by a first server, a first set of servers in an edge data center, the first server being connected to the first set of servers by a first switch; 
 discovering, by the first server, details of a plurality of components of each corresponding server of the first set of servers, wherein discovering the first set of servers connected to the first switch comprises:
 logging into the first switch by the first server; 
 obtaining, by the first server, a first set of media access control (MAC) addresses for a first set of devices connected to the first switch, the first set of devices including the first set of servers; 
 filtering a first MAC address of each server of the first set of servers from the first set of MAC addresses based on a corresponding organizationally unique identifier (OUI) prefix in the first set of MAC addresses; 
 converting, by the first server, each server's first MAC address into a corresponding internet protocol (IP) address based on an extended unique identifier-64 (EUI-64); and 
 storing the corresponding IP address of each server of the first set of servers in the first server; 
 
 updating, by the first server, inventory of the first set of servers based on at least the details of the plurality of components of each corresponding server of the first set of servers, the inventory being stored in a database; and 
 performing health checks on the first set of servers according to a health check frequency, wherein performing the health checks includes at least one of:
 detecting a removal of a second server from the first set of servers; 
 detecting an addition of the second server to the first set of servers; 
 detecting an addition of a new component in the second server; or 
 detecting a replacement of a failed component in the second server in response to detecting a failure of the failed component. 
 
 
     
     
       2. The method of  claim 1 , wherein identifying the first set of servers in the edge data center comprises:
 receiving, by the first server, point of entry details of the first switch from the database; and 
 discovering the first set of servers connected to the first switch. 
 
     
     
       3. The method of  claim 1 , wherein discovering the details of the plurality of components of each corresponding server in the first set of servers comprises:
 logging into each server of the first set of servers by the first server based on the corresponding IP addresses of each server of the first set of servers using a first application programming interface (API); 
 obtaining, by the first server, the details of the plurality of components of each corresponding server of the first set of servers, wherein the details of the plurality of components includes at least memory, hard drive disk, peripheral component interconnect express (PCIe) devices, redundant array of independent disks (RAID), central processing unit (CPU), power supply units, basic input output system (BIOS), network interface cards (NIC), fans, or field programmable gate array (FPGA); and 
 storing the details of the plurality of components of each corresponding server of the first set of servers in the first server. 
 
     
     
       4. The method of  claim 3 , wherein performing the health checks on the first set of servers further comprises:
 periodically performing, by the first server, periodic reconciliation of the plurality of components of each corresponding server of the first set of servers in a first time period, wherein performing the periodic reconciliation of the plurality of components of each corresponding server of the first set of servers comprises:
 logging into each server of the first set of servers by the first server based on the corresponding IP addresses of each server of the first set of servers using the first API; 
 obtaining, by the first server, at least updated details of the plurality of components of each corresponding server of the first set of servers; and 
 storing at least the updated details of the plurality of components of each corresponding server of the first set of servers in the first server; and 
 
 updating the inventory of at least the updated details of the plurality of components of each corresponding server of the first set of servers in the first server. 
 
     
     
       5. The method of  claim 3 , wherein performing the health checks on the first set of servers further comprises:
 performing, by the first server, alert-based reconciliation of the plurality of components of each corresponding server of the first set of servers in real-time, wherein performing the alert-based reconciliation of the plurality of components of each corresponding server of the first set of servers comprises:
 monitoring, by an observability framework (OBF) tool, events of the first set of servers, the events including fault, performance, logging and inventory update events; 
 publishing, by the OBF tool, the events over a Kafka interface to the first server; 
 filtering, by the first server, the inventory update events from the events; 
 identifying, by the first server, which servers of the first set of servers or data centers have been updated based on the inventory update events; and 
 discovering, by the first server, at least updated details of the plurality of components of each corresponding server of the first set of servers or data centers that have been updated based on the inventory update events; and 
 
 updating the inventory of at least the updated details of the plurality of components of each corresponding server of the first set of servers or data centers that have been updated based on the inventory update events. 
 
     
     
       6. The method of  claim 1 , wherein updating the inventory of the first set of servers comprises:
 receiving, by the first server, automatic polling requests for updating the inventory; and 
 updating, by a second API, the inventory with the details of the plurality of components of each corresponding server of the first set of servers discovered by the first server in response to the automatic polling request. 
 
     
     
       7. An apparatus, comprising:
 a memory having non-transitory instructions stored therein; and 
 a processor coupled to the memory, and being configured to execute the non-transitory instructions, thereby causing the apparatus to:
 identify a first set of servers in an edge data center, the apparatus being connected to the first set of servers by a first switch; 
 discover details of a plurality of components of each corresponding server of the first set of servers, wherein the non-transitory instructions that cause the apparatus to discover the first set of servers comprises, the processor being further configured to cause the apparatus to:
 log into the first switch; 
 obtain a first set of media access control (MAC) addresses for a first set of devices connected to the first switch, the first set of devices including the first set of servers; 
 filter a first MAC address of each server of the first set of servers from the first set of MAC addresses based on a corresponding organizationally unique identifier (OUI) prefix in the first set of MAC addresses; 
 convert each server's first MAC address into a corresponding internet protocol (IP) address based on an extended unique identifier-64 (EUI-64); and 
 store the corresponding IP address of each server of the first set of servers; 
 
 update inventory of the first set of servers based on at least the details of the plurality of components of each corresponding server of the first set of servers, the inventory being stored in a database; and 
 perform health checks on the first set of servers according to a health check frequency, wherein the apparatus configured to perform the health checks includes the apparatus to at least one of:
 detect a removal of a second server from the first set of servers; 
 detect an addition of the second server to the first set of servers; 
 detect an addition of a new component in the second server; or 
 detect a replacement of a failed component in the second server in response to detection of a failure of the failed component. 
 
 
 
     
     
       8. The apparatus of  claim 7 , wherein the non-transitory instructions that cause the apparatus to identify the first set of servers in the edge data center comprises, the processor being further configured to cause the apparatus to:
 receive point of entry details of the first switch from the database; and 
 discover the first set of servers connected to the first switch. 
 
     
     
       9. The apparatus of  claim 7  wherein the non-transitory instructions that cause the apparatus to discover the details of the plurality of components of each corresponding server in the first set of servers comprises, the processor being further configured to cause the apparatus to:
 log into each server of the first set of servers based on the corresponding IP addresses of each server of the first set of servers using a first application programming interface (API); 
 obtain the details of the plurality of components of each corresponding server of the first set of servers, wherein the details of the plurality of components includes at least memory, hard drive disk, peripheral component interconnect express (PCIe) devices, redundant array of independent disks (RAID), central processing unit (CPU), power supply units, basic input output system (BIOS), network interface cards (NIC), fans, or field programmable gate array (FPGA); and 
 store the details of the plurality of components of each corresponding server of the first set of servers. 
 
     
     
       10. The apparatus of  claim 9 , wherein the non-transitory instructions that cause the apparatus to perform the health checks on the first set of servers further comprises, the processor being further configured to cause the apparatus to:
 perform periodic reconciliation of the plurality of components of each corresponding server of the first set of servers in a first time period, wherein the instructions that cause the apparatus to perform the periodic reconciliation of the plurality of components of each corresponding server of the first set of servers comprises, the processor being further configured to cause the apparatus to:
 log into each server of the first set of servers based on the corresponding IP addresses of each server of the first set of servers using the first API; 
 obtain at least updated details of the plurality of components of each corresponding server of the first set of servers; and 
 store at least the updated details of the plurality of components of each corresponding server of the first set of servers; and 
 update the inventory of at least the updated details of the plurality of components of each corresponding server of the first set of servers. 
 
 
     
     
       11. The apparatus of  claim 9 , wherein the non-transitory instructions that cause the apparatus to perform the health checks on the first set of servers further comprises, the processor being further configured to cause the apparatus to:
 perform alert-based reconciliation of the plurality of components of each corresponding server of the first set of servers in real-time, wherein the instructions that cause the apparatus to perform the alert-based reconciliation of the plurality of components of each corresponding server of the first set of servers comprises, the processor being further configured to cause the apparatus to:
 receive events of the first set of servers over a Kafka interface from an observability framework (OBF) tool, the events including fault, performance, logging and inventory update events; 
 filter the inventory update events from the events; 
 identify which servers of the first set of servers or data centers have been updated based on the inventory update events; and 
 discover at least updated details of the plurality of components of each corresponding server of the first set of servers or data centers that have been updated based on the inventory update events; and 
 update the inventory of at least the updated details of the plurality of components of each corresponding server of the first set of servers or data centers that have been updated based on the inventory update events. 
 
 
     
     
       12. The apparatus of  claim 7 , wherein the non-transitory instructions that cause the apparatus to update the inventory of the first set of servers comprises, the processor being further configured to cause the apparatus to:
 receive automatic polling requests for updating the inventory; and 
 update the inventory with the details of the plurality of components of each corresponding server of the first set of servers in response to the automatic polling request. 
 
     
     
       13. A non-transitory computer-readable medium including instructions executable by a controller of a first server to cause the controller to perform operations comprising:
 identifying a first set of servers in an edge data center, the first server being connected to the first set of servers by a first switch; 
 discovering details of a plurality of components of each corresponding server of the first set of servers, wherein discovering the first set of servers connected to the first switch comprises:
 logging into the first switch; 
 obtaining a first set of media access control (MAC) addresses for a first set of devices connected to the first switch, the first set of devices including the first set of servers; 
 filtering a first MAC address of each server of the first set of servers from the first set of MAC addresses based on a corresponding organizationally unique identifier (OUI) prefix in the first set of MAC addresses; 
 converting each server's first MAC address into a corresponding internet protocol (IP) address based on an extended unique identifier-64 (EUI-64); and 
 storing the corresponding IP address of each server of the first set of servers in the first server; 
 
 updating inventory of the first set of servers based on at least the details of the plurality of components of each corresponding server of the first set of servers, the inventory being stored in a database; and 
 performing health checks on the first set of servers according to a health check frequency, wherein performing the health checks includes at least one of:
 detecting a removal of a second server from the first set of servers; 
 detecting an addition of the second server to the first set of servers; 
 detecting an addition of a new component in the second server; or 
 detecting a replacement of a failed component in the second server in response to detecting a failure of the failed component. 
 
 
     
     
       14. The non-transitory computer-readable medium of  claim 13 , wherein
 identifying the first set of servers in the edge data center comprises:
 receiving, by the first server, point of entry details of the first switch from the database; and 
 discovering the first set of servers connected to the first switch; 
 
 updating the inventory of the first set of servers comprises:
 receiving, by the first server, automatic polling requests for updating the inventory; and 
 updating, by a second API, the inventory with the details of the plurality of components of each corresponding server of the first set of servers discovered by the first server in response to the automatic polling request. 
 
 
     
     
       15. The non-transitory computer-readable medium of  claim 13 , wherein discovering the details of the plurality of components of each corresponding server of the first set of servers comprises:
 logging into each server of the first set of servers by the first server based on the corresponding IP addresses of each server of the first set of servers using a first application programming interface (API); 
 obtaining the details of the plurality of components of each corresponding server of the first set of servers, wherein the details of the plurality of components includes at least memory, hard drive disk, peripheral component interconnect express (PCIe) devices, redundant array of independent disks (RAID), central processing unit (CPU), power supply units, basic input output system (BIOS), network interface cards (NIC), fans, or field programmable gate array (FPGA); and 
 storing the details of the plurality of components of each corresponding server of the first set of servers in the first server. 
 
     
     
       16. The non-transitory computer-readable medium of  claim 15 , wherein performing the health checks on the first set of servers further comprises:
 periodically performing periodic reconciliation of the plurality of components of each corresponding server of the first set of servers in a first time period, wherein performing the periodic reconciliation of the plurality of components of each corresponding server of the first set of servers comprises:
 logging into each server of the first set of servers by the first server based on the corresponding IP addresses of each server of the first set of servers using the first API; 
 obtaining at least updated details of the plurality of components of each corresponding server of the first set of servers; and 
 storing at least the updated details of the plurality of components of each corresponding server of the first set of servers in the first server; and 
 
 updating the inventory of at least the updated details of the plurality of components of each corresponding server of the first set of servers in the first server. 
 
     
     
       17. The non-transitory computer-readable medium of  claim 15 , wherein performing the health checks on the first set of servers further comprises:
 performing alert-based reconciliation of the plurality of components of each corresponding server of the first set of servers in real-time, wherein performing the alert-based reconciliation of the plurality of components of each corresponding server of the first set of servers comprises:
 receiving events of the first set of servers from an observability framework (OBF) tool over a Kafka interface, the events including fault, performance, logging and inventory update events; 
 filtering the inventory update events from the events; 
 identifying which servers of the first set of servers or data centers have been updated based on the inventory update events; and 
 discovering at least updated details of the plurality of components of each corresponding server of the first set of servers or data centers that have been updated based on the inventory update events; and 
 
 updating the inventory of at least the updated details of the plurality of components of each corresponding server of the first set of servers or data centers that have been updated based on the inventory update events.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.