IP Library › Granted Patent US 11,729,278
Granted Patent B2
US 11,729,278 · App. 16/867,282 · Granted Aug 15, 2023

Systems and methods for data routing management

Inventor: David Rose (Parker, CO)
Assignee: Comcast Cable Communications, LLC
H04L67/51H04L61/103H04L67/1012
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,729,278
App. No.
16/867,282
Granted
Aug 15, 2023
Kind
B2
Abstract

Methods and systems for data routing management are disclosed. A method can comprise a system receiving a request directed to an address. The system can determine performance capabilities of a first logical grouping of computing devices, wherein the first logical grouping of computing devices share the address. The system can determine whether at least one computing device of the first logical grouping of computing devices can receive the request. If at least one computing device of the first logical grouping of computing devices can receive the request, the request can be transmitted to the at least one computing device of the first logical grouping of computing devices. If at least one computing device of the first logical grouping of computing devices cannot receive the request, the request can be transmitted to a second logical grouping of computing devices that share the address.

Claims (78)

1. A method comprising:

receiving a communication request directed to an address indicative of a first plurality of computing devices;

determining, based on a performance capability of a computing device of the first plurality of computing devices satisfying a performance threshold, that the computing device is to process the communication request; and

sending, to the computing device and based on the performance capability of the computing device satisfying the performance threshold, the communication request.

2. The method of claim 1 , wherein receiving the communication request comprises receiving the communication request based on at least one of: an internet phone call, a Voice over Internet Protocol (VoIP) communication, a multimedia communication, a VoIP enabled computer, a VoIP phone, or a VoIP adapter.

3. The method of claim 1 , wherein determining that the computing device is to process the communication request comprises:

determining a performance metric of the computing device, wherein the performance metric comprises at least one of: a central processing unit (CPU) status, a utilization of the CPU, a random access memory (RAM) status, a utilization of memory, a storage space status, an available disk space, a quantity of calls per second, a quantity of active communication sessions, an error message associated with the computing device, or a historical performance metric; and

determining, based on comparing the performance metric to the performance threshold, the computing device is available to process the communication request.

4. The method of claim 1 , further comprising:

determining, based on information stored in a node threshold table, that the computing device satisfies the performance threshold, wherein the performance threshold comprises at least one of: a threshold performance metric value, a percentage of central processing unit (CPU) utilization capacity, a threshold quantity of active communication requests, a percentage of random access memory (RAM) utilization capacity, or a trigger point indicative of a classification of a processing availability or a routing availability of the computing device; and

sending, to a database, based on determining the computing device satisfies the performance threshold, a performance metric of the computing device, wherein the performance metric is indicative of the processing availability or the routing availability of the computing device.

5. The method of claim 1 , further comprising:

updating, based on the performance capability satisfying the performance threshold and determining a change in a processing availability or a routing availability of the determined computing device, a database that stores the processing availability or the routing availability of the computing device; and

determining, based on the database, a change in a performance capability category of the computing device, wherein the performance capability category is associated with a classification of the processing availability or the routing availability of the computing device.

6. The method of claim 5 , wherein the performance capability category is associated with at least one of: a green classification indicative of receiving availability for new communication sessions, a yellow classification indicative of passing availability for existing communication sessions, or a red classification indicative of a transition of communication sessions.

7. The method of claim 1 , further comprising:

determining whether at least one computing device of a second plurality of computing devices can process the communication request; and

wherein the communication request is sent to the computing device of the first plurality of computing devices based on no computing device of the second plurality of computing devices being capable of processing the communication request.

8. An apparatus, comprising:

one or more processors; and

memory storing processor-executable instructions that, when executed by the one or more processors, cause the apparatus to:

receive a communication request directed to an address indicative of a first plurality of computing devices;

determine, based on a performance capability of a computing device of the first plurality of computing devices satisfying a performance threshold, that the computing device is to process the communication request; and

send, to the computing device and based on the performance capability of the computing device satisfying the performance threshold, the communication request.

9. The apparatus of claim 8 , wherein the processor-executable instructions that, when executed by the one or more processors, cause the apparatus to receive the communication request, cause the apparatus to receive the communication request based on at least one of: an internet phone call, a Voice over Internet Protocol (VoIP) communication, a multimedia communication, a VoIP enabled computer, a VoIP phone, or a VoIP adapter.

10. The apparatus of claim 8 , wherein the processor-executable instructions that, when executed by the one or more processors, cause the apparatus to determine that the computing device is to process the communication request, further cause the apparatus to:

determine a performance metric of the computing device, wherein the performance metric comprises at least one of: a central processing unit (CPU) status, a utilization of the CPU, a random access memory (RAM) status, a utilization of memory, a storage space status, an available disk space, a quantity of calls per second, a quantity of active communication sessions, an error message associated with the determined computing device, or a historical performance metric; and

determine, based on comparing the performance metric to the performance threshold, the computing device is available to process the communication request.

11. The apparatus of claim 8 , wherein the processor-executable instructions, when executed by the one or more processors, further cause the apparatus to:

determine, based on information stored in a node threshold table, that the computing device satisfies the performance threshold, wherein the performance threshold comprises at least one of: a threshold performance metric value, a percentage of central processing unit (CPU) utilization capacity, a threshold quantity of active communication requests, a percentage of random access memory (RAM) utilization capacity, or a trigger point indicative of a classification of a processing availability or a routing availability of the computing device; and

send, to a database, based on determining the computing device satisfies the performance threshold, a performance metric of the computing device, wherein the performance metric is indicative of the processing availability or the routing availability of the computing device.

12. The apparatus of claim 8 , wherein the processor-executable instructions, when executed by the one or more processors, further cause the apparatus to:

update, based on the performance capability satisfying the performance threshold and a determination of a change in a processing availability or a routing availability of the computing device, a database that stores the processing availability or the routing availability of the computing device; and

determine, based on the updated database, a change in a performance capability category of the computing device, wherein the performance capability category is associated with a classification of the processing availability or the routing availability of the computing device.

13. The apparatus of claim 8 , wherein the processor-executable instructions, when executed by the one or more processors, further cause the apparatus to:

determine whether at least one computing device of a second plurality of computing devices can process the communication request; and

wherein the communication request is sent to the computing device of the first plurality of computing devices based on no computing device of the second plurality of computing devices being capable of processing the communication request.

14. A system, comprising:

a first plurality of computing devices comprising a computing device, wherein the computing device is configured to receive a communication request; and

a communication processing system in communication with the first plurality of computing devices, wherein the communication processing system is configured to:

receive the communication request directed to an address indicative of the first plurality of computing devices;

determine, based on a performance capability of the computing device of the first plurality of computing devices satisfying a performance threshold, that the computing device is to process the communication request; and

send, to the computing device and based on the performance capability of the computing device satisfying the performance threshold, the communication request.

15. The system of claim 14 , wherein the communication processing system is configured to receive the communication request based on at least one of: an internet phone call, a Voice over Internet Protocol (VoIP) communication, a multimedia communication, a VoIP enabled computer, a VoIP phone, or a VoIP adapter.

16. The system of claim 14 , wherein the communication processing system is configured to determine that the computing device is to process the communication request by the communication processing system being further configured to:

determine a performance metric of the computing device, wherein the performance metric comprises at least one of: a central processing unit (CPU) status, a utilization of the CPU, a random access memory (RAM) status, a utilization of memory, a storage space status, an available disk space, a quantity of calls per second, a quantity of active communication sessions, an error message associated with the computing device, or a historical performance metric; and

determine, based on comparing the performance metric to the performance threshold, the computing device is available to process the communication request.

17. The system of claim 14 , wherein the communication processing system is further configured to:

determine, based on information stored in a node threshold table, that the computing device satisfies the performance threshold, wherein the performance threshold comprises at least one of: a threshold performance metric value, a percentage of central processing unit (CPU) utilization capacity, a threshold quantity of active communication requests, a percentage of random access memory (RAM) utilization capacity, or a trigger point indicative of a classification of a processing availability or a routing availability of the computing device; and

send, to a database, based on determining the computing device satisfies the performance threshold, a performance metric of the computing device, wherein the performance metric is indicative of the processing availability or the routing availability of the computing device.

18. The system of claim 14 , wherein the communication processing system is further configured to:

update, based on the performance capability satisfying the performance threshold and a change in a processing availability or a routing availability of the computing device, a database that stores the processing availability or the routing availability of the computing device; and

determine, based on the updated database, a change in a performance capability category of the computing device, wherein the performance capability category is associated with a classification of the processing availability or the routing availability of the computing device.

19. The system of claim 18 , wherein the performance capability category is associated with at least one of: a green classification indicative of receiving availability for new communication sessions, a yellow classification indicative of passing availability for existing communication sessions, or a red classification indicative of a transition of communication sessions.

20. The system of claim 14 , wherein the communication processing system is further configured to:

determine whether at least one computing device of a second plurality of computing devices can process the communication request; and

wherein the communication request is sent to the computing device of the first plurality of computing devices based on no computing device of the second plurality of computing devices being capable of processing the communication request.

21. The method of claim 1 , wherein each computing device of the first plurality of computing devices is associated with a respective device identifier.

22. The apparatus of claim 8 , wherein each computing device of the first plurality of computing devices is associated with a respective device identifier.

23. The system of claim 14 , wherein each computing device of the first plurality of computing devices is associated with a respective device identifier.

24. One or more non-transitory computer-readable media storing processor-executable instructions that, when executed by at least one processor, cause the at least one processor to:

receive a communication request directed to an address indicative of a first plurality of computing devices;

determine, based on a performance capability of a computing device of the first plurality of computing devices satisfying a performance threshold, that the computing device is to process the communication request; and

send, to the computing device and based on the performance capability of the computing device satisfying the performance threshold, the communication request.

25. The one or more non-transitory computer-readable media of claim 24 , wherein the processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to receive the communication request, further cause the at least one processor to receive the communication request based on at least one of: an internet phone call, a Voice over Internet Protocol (VoIP) communication, a multimedia communication, a VoIP enabled computer, a VoIP phone, or a VoIP adapter.

26. The one or more non-transitory computer-readable media of claim 24 , wherein the processor-executable instructions that, when executed by the at least one processor, cause the at least one processor to determine that the computing device is to process the communication request, further cause the at least one processor to:

determine a performance metric of the computing device, wherein the performance metric comprises at least one of: a central processing unit (CPU) status, a utilization of the CPU, a random access memory (RAM) status, a utilization of memory, a storage space status, an available disk space, a quantity of calls per second, a quantity of active communication sessions, an error message associated with the determined computing device, or a historical performance metric; and

determine, based on comparing the performance metric to the performance threshold, the computing device is available to process the communication request.

27. The one or more non-transitory computer-readable media of claim 24 , wherein the processor-executable instructions, when executed by the at least one processor, further cause the at least one processor to:

determine, based on information stored in a node threshold table, that the computing device satisfies the performance threshold, wherein the performance threshold comprises at least one of: a threshold performance metric value, a percentage of central processing unit (CPU) utilization capacity, a threshold quantity of active communication requests, a percentage of random access memory (RAM) utilization capacity, or a trigger point indicative of a classification of a processing availability or a routing availability of the computing device; and

send, to a database, based on determining the computing device satisfies the performance threshold, a performance metric of the computing device, wherein the performance metric is indicative of the processing availability or the routing availability of the computing device.

28. The one or more non-transitory computer-readable media of claim 24 , wherein the processor-executable instructions, when executed by the at least one processor, further cause the at least one processor to:

update, based on the performance capability satisfying the performance threshold and a determination of a change in a processing availability or a routing availability of the computing device, a database that stores the processing availability or the routing availability of the computing device; and

determine, based on the updated database, a change in a performance capability category of the computing device, wherein the performance capability category is associated with a classification of the processing availability or the routing availability of the computing device.

29. The one or more non-transitory computer-readable media of claim 24 , wherein the processor-executable instructions, when executed by the at least one processor, further cause the at least one processor to:

determine whether at least one computing device of a second plurality of computing devices can process the communication request; and

wherein the communication request is sent to the computing device of the first plurality of computing devices based on no computing device of the second plurality of computing devices being capable of processing the communication request.

30. The one or more non-transitory computer-readable media of claim 24 , wherein the each computing device of the first plurality of computing devices is associated with a respective device identifier.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2020
From: ROSE, DAVID
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 052589/0577 →
Continuity (4)
Continuation 16277622 · Feb 15, 2019
Continuation 15637566 · Jun 29, 2017
Continuation 14532276 · Nov 4, 2014
Related Publication 20200404060A1 · Dec 24, 2020