IP Library Granted Patent US 10,097,612
Granted Patent B2
US 10,097,612 · App. 11/751,391 · Granted Oct 9, 2018

Selecting routes through a network

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,097,612
App. No.
11/751,391
Granted
Oct 9, 2018
Kind
B2
Abstract

Routing a communication from a first computer system, through a network, to a second computer system, may include determining whether a route through the network meets a metric, and assigning an output address of the first computer system and an input address of the second computer system based on whether the route meets the metric. The communication may be sent from the output address of the first computer system and received at the input address of the second computer system.

Claims (114)

1. A method for affecting routing of a communication from a first computer system, through a network, to a second computer system, the method comprising:

identifying a location of a fault on a segment of the network based on (a) an identification of multiple communication endpoints on the network, (b) a determination of which of the multiple communication endpoints experience data transmission that is affected by the fault, (c) a determination of which of the multiple communication endpoints experience data transmission that is not affected by the fault, and (d) correlating both common and unique segments of paths through the network to the multiple communication endpoints experiencing data transmission affected by the fault and the multiple communication endpoints experiencing data transmission not affected by the fault, wherein the multiple communication endpoints comprise carrier systems;

selecting a metric from a plurality of metrics based on a type of the communication initiated from the first computer system, through the network, ending at the second computer system, the first computer system and the second computer system being among the multiple communication endpoints on the network;

determining whether a route through the network meets the selected metric and avoids the segment of the network containing the fault;

assigning an output address of the first computer system and an input address of the second computer system corresponding to the determined route through the network; and

when the route is determined to no longer meet the selected metric, the method further comprises assigning a new output address of the first computer system and a new input address of the second computer system to a new route through the network, at least one of the new output address of the first computer system and the new input address of the second computer system being different from the output address of the first computer system and the input address of the second computer system.

2. The method of claim 1 , further comprising generating a route list comprising the output address of the first computer system and the input address of the second computer system, the route list comprising one or more additional output addresses of the first computer system paired with one or more additional input addresses of the second computer system.

3. The method of claim 1 , wherein the selected metric comprises plural metrics, the plural metrics comprising an attribute of the determined route and a quality of communication.

4. The method of claim 3 , wherein the attribute of the determined route comprises at least one of a quality of the determined route and a bandwidth associated with the determined route.

5. The method of claim 1 , wherein the selected metric comprises a bandwidth associated with the determined route.

6. The method of claim 5 , further comprising:

assigning the new output address of the first computer system and the new input address of the second computer system to the determined route if there is not sufficient bandwidth associated with the determined route to accommodate the communication, at least one of the new output address of the first computer system and the new input address of the second computer system being different from the output address of the first computer system and the input address of the second computer system.

7. The method of claim 1 , wherein the network comprises an unmanaged network, over which a predefined bandwidth is not guaranteed for communication.

8. The method of claim 7 , wherein the unmanaged network comprises the Internet.

9. The method of claim 1 , wherein the network comprises a managed network, over which a predefined bandwidth is guaranteed for communication.

10. The method of claim 1 , wherein the communication comprises a telephone call.

11. The method of claim 1 ,

wherein assigning comprises generating a route list comprising the output address of the first computer system and an input address of the second computer system; and

wherein, prior to engaging in a communication over the network, the first computer system is configured to obtain the route list and to route the communication in accordance with the route list.

12. The method of claim 1 , further comprising selecting the metric from the plural metrics further based on a type of the communication being one of video content or voice content.

13. One or more non-transitory machine-readable storage media comprising instructions that are executable to affect routing of a communication from a first computer system, through a network, to a second computer system, the instructions being executable by one or more processing devices to:

identify a location of a fault on a segment of the network based on (a) an identification of multiple communication endpoints on the network, (b) a determination of which of the multiple communication endpoints experience data transmission that is affected by the fault, (c) a determination of which of the multiple communication endpoints experience data transmission that is not affected by the fault, and (d) correlating both common and unique segments of paths through the network to the multiple communication endpoints experiencing data transmission affected by the fault and the multiple communication endpoints experiencing data transmission not affected by the fault, wherein the multiple communication endpoints comprise carrier systems;

select a metric from a plurality of metrics based on a type of the communication initiated from the first computer system, through the network, ending at the second computer system, the first computer system and the second computer system being among the multiple communication endpoints on the network;

determine whether a route through the network meets the selected metric and avoids the segment of the network containing the fault;

assign an output address of the first computer system and an input address of the second computer system-corresponding to the determined route through the network; and

when the route is determined to no longer meet the selected metric, assign a new output address of the first computer system and a new input address of the second computer system to a new route through the network, at least one of the new output address of the first computer system and the new input address of the second computer system being different from the output address of the first computer system and the input address of the second computer system.

14. The one or more non-transitory machine-readable storage media of claim 13 , further comprising instructions to generate a route list comprising the output address of the first computer system and an input address of the second computer system, the route list comprising one or more additional output addresses of the first computer system paired with one or more additional input addresses of the second computer system.

15. The one or more non-transitory machine-readable storage media of claim 13 , wherein the communication is sent from the new output address of the first computer system and received at the new input address of the second computer system.

16. The one or more non-transitory machine-readable storage media of claim 13 , wherein the selected metric comprises plural metrics, the plural metrics comprising an attribute of the determined route and a quality of communication.

17. The one or more non-transitory machine-readable storage media of claim 16 , wherein the attribute of the determined route comprises at least one of a quality of the determined route and a bandwidth associated with the determined route.

18. The one or more non-transitory machine-readable storage media of claim 13 , wherein the selected metric comprises a bandwidth associated with the determined route.

19. The one or more non-transitory machine-readable storage media of claim 18 , further comprising instructions to:

assign the new output address of the first computer system and the new input address of the second computer system if there is not sufficient bandwidth associated with the determined route to accommodate the communication, at least one of the new output address of the first computer system and the new input address of the second computer system being different from the output address of the first computer system and the input address of the second computer system.

20. The one or more non-transitory machine-readable storage media of claim 13 , wherein the network comprises an unmanaged network, over which a predefined bandwidth is not guaranteed for communication.

21. The one or more non-transitory machine-readable storage media of claim 20 , wherein the unmanaged network comprises the Internet.

22. The one or more non-transitory machine-readable storage media of claim 13 , wherein the network comprises a managed network, over which a predefined bandwidth is guaranteed for communication.

23. The one or more non-transitory machine-readable storage media of claim 13 ,

wherein assigning comprises generating a route list comprising the output address of the first computer system and an input address of the second computer system; and

wherein the one or more machine-readable media comprise instructions to obtain the route list and to route the communication in accordance with the route list.

24. A system to affect routing of communication over a network, comprising:

a first computer system having plural output addresses;

a second computer system having plural input addresses; and

at least one of the first computer system and the second computer system being configured to:

(i) identify a location of a fault on a segment of the network based on (a) an identification of multiple communication endpoints on the network, (b) a determination of which of the multiple communication endpoints experience data transmission that is affected by the fault, (c) a determination of which of the multiple communication endpoints experience data transmission that is not affected by the fault, and (d) correlating both common and unique segments of paths through the network to the multiple communication endpoints experiencing data transmission affected by the fault and the multiple communication endpoints experiencing data transmission not affected by the fault, wherein the multiple communication endpoints comprise carrier systems;

(ii) to select a metric from a plurality of metrics based on a type of the communication initiated from the first computer system, through the network, ending at the second computer system, the first computer system and the second computer system being among the multiple communication endpoints on the network,

(iii) to determine whether a route through the network meets the selected metric and avoids the segment of the network containing the fault,

(iv) to assign an output address of the first computer system and an input address of the second computer system, through which addresses communication is routed, via the network, between the first computer system and the second computer system-corresponding to the determined route through the network; and

when the route is determined to no longer meet the selected metric, to assign a new output address of the first computer system and a new input address of the second computer system to a new route through the network, at least one of the new output address of the first computer system and the new input address of the second computer system being different from the output address of the first computer system and the input address of the second computer system.

25. The system of claim 24 , wherein at least one of the first computer system and the second computer system is configured to generate a route list comprising the output address of the first computer system and an input address of the second computer system, the route list comprising one or more additional output addresses of the first computer system paired with one or more additional input addresses of the second computer system.

26. The system of claim 25 , further comprising a registration server, the registration server being configured to receive the route list and to send the route list to at least one of the first computer system and the second computer system; wherein at least one of the first computer system and the second computer system is configured to use the route list to determine the output address of the first computer system over which to output the communication to the network and to determine the input address of the second computer system to which to direct the communication.

27. The system of claim 24 , wherein the selected metric comprises plural metrics, the plural metrics comprising an attribute of the determined route and a quality of the communication.

28. The system of claim 27 , further comprising one or more servers configured to store information relating to quality of communications transmitted over the determined route and to provide the information to at least one of the first computer system and the second computer system, the information corresponding to the selected metric.

29. The system of claim 27 , wherein the attribute of the determined route comprises a bandwidth associated with the determined route.

30. The system of claim 24 , wherein the selected metric comprises a bandwidth associated with the determined route.

31. The system of claim 24 ,

wherein the communication is sent from the new output address of the first computer system and received at the new input address of the second computer system.

32. The system of claim 24 , wherein the network comprises an unmanaged network, over which a predefined bandwidth is not guaranteed for communication.

33. The system of claim 32 , wherein the unmanaged network comprises the Internet.

34. The system of claim 24 , wherein the network comprises a managed network, over which a predefined bandwidth is guaranteed for communication.

35. The system of claim 24 , wherein the communication comprises a telephone call.

36. The system of claim 24 ,

wherein the first computer system is configured to assign an output address of the first computer system and an input address of the second computer system, the output address of the first computer system and the input address of the second computer system corresponding to the determined route through the network; and

wherein the second computer system is configured to receive the determined route from the first computer system and to propose, to the first computer system, an alternate route through the network.

37. The system of claim 24 ,

wherein the first computer system is configured to assign an output address of the first computer system and an input address of the second computer system, the output address of the first computer system and the input address of the second computer system corresponding to the determined route through the network; and

wherein the second computer system is configured to receive the determined route from the first computer system, to determine whether the determined route is acceptable to the second computer system, and, if the determined route is not acceptable, to wait for an alternate route from the first computer system.

38. The system of claim 24 ,

wherein the second computer system is configured to assign an output address of the first computer system and an input address of the second computer system, the output address of the first computer system and the input address of the second computer system corresponding to the determined route through the network; and

wherein the first computer system is configured to receive the determined route from the second computer system and to propose, to the second computer system, an alternate route through the network.

39. The system of claim 24 ,

wherein the second computer system is configured to assign an output address of the first computer system and an input address of the second computer system, the output address of the first computer system and the input address of the second computer system corresponding to the determined route through the network; and

wherein the first computer system is configured to receive the determined route from the second computer system, to determine whether the determined route is acceptable to the first computer system, and, if the determined route is not acceptable, to wait for an alternate route from the second computer system.

40. The system of claim 24 ,

wherein the first computer system is configured to assign a first output address of the first computer system and a first input address of the second computer system, the first output address of the first computer system and the first input address of the second computer system corresponding to a first route through the network;

wherein the second computer system is configured to assign the new output address of the first computer system and the new input address of the second computer system, the new output address of the first computer system and the new input address of the second computer system corresponding to a second route through the network; and

wherein at least one of the first computer system and the second computer system are configured to determine whether to use, for communication as the determined route, the first route, the second route, or neither route.

41. The system of claim 40 ,

wherein, if the first computer system determines that neither the first or second route is to be used for communication, the first computer system is configured to select a third computer system with which to communicate; and

wherein, if the second computer system determines that neither the first or second route is to be used for communication, the second computer system is configured to select the third computer system with which to communicate.

42. A system to affect routing of communication over a network, comprising:

a first computer system that is that is configured to communicate over the network via one or more output addresses;

a second computer system that is that is configured to communicate over the network via one or more input addresses; and

a third computer system that is configured to communicate over the network;

at least one of the first computer system, the second computer system, and the third computer system being configured to:

(i) identify a location of a fault on a segment of the network based on (a) an identification of multiple communication endpoints on the network, (b) a determination of which of the multiple communication endpoints experience data transmission that is affected by the fault, (c) a determination of which of the multiple communication endpoints experience data transmission that is not affected by the fault, and (d) correlating both common and unique segments of paths through the network to the multiple communication endpoints experiencing data transmission affected by the fault and the multiple communication endpoints experiencing data transmission not affected by the fault, wherein the multiple communication endpoints comprise carrier systems,

(ii) to select a metric from a plurality of metrics based on a type of the communication initiated from the first computer system, through the network, ending at the second computer system, the first computer system and the second computer system being among the multiple communication endpoints on the network,

(iii) to determine whether a route through the network meets the selected metric and avoids the segment of the network containing the fault,

(iv) to assign an output address of the first computer system and an input address of the second computer system for communication between the first computer system and the second computer system-corresponding to the determined route through the network, and

(v) when the route is determined to no longer meet the selected metric, to assign a new output address of the first computer system and a new input address of the second computer system to a new route through the network, at least one of the new output address of the first computer system and the new input address of the second computer system being different from the output address of the first computer system and the input address of the second computer system.

43. The system of claim 42 ,

wherein the output address of the first computer system and the input address of the second computer system comprise parts of a route list, the route list comprising pairs of addresses over which communications can be routed between the first computer system and the second computer system; and

wherein, if the first computer system is configured to assign the output address of the first computer system and the input address of the second computer system, the first computer system is configured to provide the route list to at least one of the second computer system and the third computer system.

44. The system of claim 42 ,

wherein the output address of the first computer system and the input address of the second computer system comprise parts of a route list, the route list comprising pairs of addresses over which communications can be routed between the first computer system and the second computer system; and

wherein, if the second computer system is configured to assign the output address of the first computer system and the input address of the second computer system, the second computer system is configured to provide the route list to at least one of the first computer system and the third computer system.

45. The system of claim 42 ,

wherein the output address of the first computer system and the input address of the second computer system comprise parts of a route list, the route list comprising pairs of addresses over which communications can be routed between the first computer system and the second computer system; and

wherein, if the third computer system is configured to assign the output address of the first computer system and the input address of the second computer system, the third computer system is configured to provide the route list to at least one of the first computer system and the second computer system.

46. The system of claim 42 , wherein the selected metric comprise one or more metrics that are obtained via one or more of the first computer system, the second computer system, and the third computer system.

47. The system of claim 42 , wherein, in a case that the first computer system assigns the output address of the first computer system and the input address of the second computer system, the selected metric comprises one or more metrics that are determined by the first computer system.

48. The system of claim 42 , wherein, in a case that the second computer system assigns the output address of the first computer system and the input address of the second computer system, the selected metric comprises one or more metrics that are determined by the second computer system.

49. The system of claim 42 , wherein, in a case that the third computer system assigns the output address of the first computer system and the input address of the second computer system, the selected metric comprises one or more metrics that are determined by the third computer system.

50. The system of claim 42 , wherein, in a case that the first computer system assigns the output address of the first computer system and the input address of the second computer system, the selected metric comprises one or more metrics that are determined by at least one of the second computer system and the third computer system.

51. The system of claim 42 , wherein, in a case that the second computer system assigns the output address of the first computer system and the input address of the second computer system, the selected metric comprises one or more metrics that are determined by at least one of the first computer system and the third computer system.

52. The system of claim 42 , wherein, in a case that the third computer system assigns the output address of the first computer system and the input address of the second computer system, the selected metric comprises one or more metrics that are determined by at least one of the first computer system and the second computer system.

53. The system of claim 42 , wherein the selected metric relates to one or more of jitter on the network, packet loss on the network, latency on the network, and bandwidth utilization on the network.

54. The system of claim 42 ,

wherein at least one of the first computer system, the second computer system, and third computer system is configured to generate a route list comprising the output address of the first computer system and an input address of the second computer system; and

wherein, prior to engaging in a communication over the network, the first computer system is configured to obtain the route list and to route the communication in accordance with the route list.

55. The system of claim 54 , wherein the route list is obtained from one of the second computer system and the third computer system.

56. The system of claim 42 ,

wherein at least one of the first computer system, the second computer system, and third computer system is configured to generate a route list comprising the output address of the first computer system and an input address of the second computer system; and

wherein, during a set-up process for engaging in communication over the network, the first computer system is configured to obtain the route list and to route the communication in accordance with the route list.

57. The system of claim 56 , wherein the route list is obtained from one of the second computer system and the third computer system.

Assignments (23)
SECURITY INTEREST Recorded Aug 5, 2024
From: 8X8, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 068327/0819 →
RELEASE OF SECURITY INTEREST Recorded Aug 5, 2024
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: 8X8, INC.; FUZE, INC.
Reel/Frame 068328/0569 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS SECTION TO REMOVE APPLICATION NUMBERS 11265423, 11252205, 11240370, 11252276, AND 11297182 PREVIOUSLY RECORDED ON REEL 061085 FRAME 0861. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY SECURITY AGREEMENT. Recorded Jan 26, 2024
From: 8X8, INC.; FUZE, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 066383/0936 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: 8X8, INC.; FUZE, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 061085/0861 →
RELEASE OF SECURITY INTEREST Recorded Jan 19, 2022
From: AB PRIVATE CREDIT INVESTORS LLC
To: FUZE, INC.
Reel/Frame 058768/0103 →
RELEASE OF SECURITY INTEREST Recorded Jan 11, 2022
From: ASCENT VENTURE PARTNERS IV-A, L.P.; CASTILE VENTURES III, L.P.; EGAN MANAGED CAPITAL III, L.P.
To: WHALEBACK SYSTEMS CORPORATION
Reel/Frame 058619/0327 →
RELEASE OF SECURITY INTEREST Recorded Jan 4, 2022
From: HORIZON TECHNOLOGY FINANCE MANAGEMENT LLC (AS AGENT FOR HORIZON TECHNOLOGY FUNDING COMPANY LLC)
To: WHALEBACK SYSTEMS CORPORATION
Reel/Frame 058542/0752 →
RELEASE OF SECURITY INTEREST Recorded Jan 4, 2022
From: TRIPLEPOINT VENTURE GROWTH BDC CORP.
To: FUZE, INC. (FKA THINKING PHONE NETWORKS, INC.)
Reel/Frame 058570/0812 →
SECURITY INTEREST Recorded Sep 23, 2019
From: FUZE, INC.
To: AB PRIVATE CREDIT INVESTORS LLC
Reel/Frame 050463/0723 →
RELEASE OF SECURITY INTEREST Recorded Sep 23, 2019
From: HERCULES CAPITAL, INC.
To: FUZE, INC.
Reel/Frame 050463/0395 →
RELEASE OF SECURITY INTEREST Recorded Sep 20, 2019
From: SILICON VALLEY BANK
To: FUZE, INC.
Reel/Frame 050449/0592 →
SECOND AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 28, 2017
From: FUZE, INC.
To: SILICON VALLEY BANK
Reel/Frame 043688/0446 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 30, 2017
From: FUZE, INC.
To: HERCULES CAPITAL, INC., FORMERLY KNOWN AS HERCULES TECHNOLOGY GROWTH CAPITAL, INC., AS AGENT
Reel/Frame 043072/0472 →
CHANGE OF NAME Recorded Dec 2, 2016
From: THINKING PHONE NETWORK, INC.
To: FUZE, INC.
Reel/Frame 040817/0316 →
SECURITY INTEREST Recorded Nov 2, 2015
From: THINKING PHONE NETWORKS, INC.
To: TRIPLEPOINT VENTURE GROWTH BDC CORP.
Reel/Frame 036937/0693 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 033522 FRAME: 0041. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 25, 2014
From: COMMUNICATIONS ACQUISITIONS CORP., DOING BUSINESS AS WHALEBACK MANAGED SERVICES
To: THINKING PHONE NETWORKS, INC.
Reel/Frame 034447/0801 →
CHANGE OF NAME Recorded Nov 13, 2014
From: COMMUNICATIONS ACQUISITIONS LLC
To: COMMUNICATIONS ACQUISITIONS CORPORATION
Reel/Frame 034218/0594 →
SECURITY INTEREST Recorded Aug 14, 2014
From: THINKING PHONE NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 033533/0565 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2014
From: WHALEBACK MANAGED SERVICES
To: THINKING PHONE NETWORKS, INC.
Reel/Frame 033522/0041 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2012
From: WHALEBACK SYSTEMS CORPORATION
To: COMMUNICATIONS ACQUISITIONS LLC.
Reel/Frame 027482/0377 →
NOTICE OF SECURITY INTEREST IN PATENTS Recorded Sep 30, 2010
From: WHALEBACK SYSTEMS CORPORATION
To: ASCENT VENTURE PARTNERS IV-A, L.P.; CASTILE VENTURES III, L.P.; EGAN MANAGED CAPITAL III, L.P.
Reel/Frame 025067/0110 →
SECURITY AGREEMENT Recorded Jul 19, 2007
From: WHALEBACK SYSTEMS CORPORATION
To: HORIZON TECHNOLOGY FUNDING COMPANY LLC
Reel/Frame 019596/0683 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2007
From: WEST, JULIAN WRAY; JEFFORDS, JASON PAUL; DIETZ, DARRYL; MISHRA, RAJESH K.
To: WHALEBACK SYSTEMS CORPORATION
Reel/Frame 019450/0740 →