IP Library Granted Patent US 7,313,133
Granted Patent B2
US 7,313,133 · App. 11/128,519 · Granted Dec 25, 2007

Selecting a network based on metrics for real time communication

Assignee: Yahoo! Inc.
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 7,313,133
App. No.
11/128,519
Granted
Dec 25, 2007
Kind
B2
Abstract

A system, method, and apparatus are directed towards routing a Voice over IP (VOIP) messages over a network. The VOIP messages are sent by a source client device to a destination client device through a portal service that has access to multiple routing services such as peering partners, carriers, etc. A VOIP system of the portal service aggregates call quality data after each VOIP call over each routing service. The call quality data is analyzed to determine a perception factor for each routing service at various times of day, days of the week, day of the year, geographic areas, and the like. When a VOIP call is requested through the portal service, the VOIP system determines a current cost, a current quality of service, and the perception factor for each routing service. A weighting is applied to each criterion and a routing service is selected for routing the VOIP call.

Claims (79)

1. A method for use in routing Voice over IP (VOIP) packets over a network, comprising:

determining a perception factor based on call quality feedback for each of a plurality of routing services;

determining a current cost and a current quality of service for each of the plurality of routing services;

selecting one of the plurality of routing services based on the current cost, the current quality of service, and the perception factor; and

routing the VOIP packets over the selected routing service.

2. The method of claim 1 , wherein a routing service of the plurality of routing services comprise at least one of the following; a peering partner, an internet service provider (ISP), an internet backbone network, a carrier network, and a public switched telephone network (PSTN).

3. The method of claim 1 , wherein the VOIP packets employ at least one of the following; a Session Initiation Protocol (SIP) and a Real-time Transport Protocol (RTP) format.

4. The method of claim 1 , further comprising applying a first weight to the perception factor, a second weight to the current cost, and a third weight to the current quality of service.

5. The method of claim 4 , wherein the first weight changes relative to a quantity of call quality feedback.

6. The method of claim 1 , further comprising:

receiving a request from a source client device to initiate VOIP communication with a destination client device;

determining a destination identification (ID) associated with the destination client device;

determining a routing service associated with the destination ID; and

determining whether a predefined preference exists to route the VOIP packets to the routing service associated with the destination ID.

7. The method of claim 1 , further comprising:

receiving a request from a source client device to initiate VOIP communication with a destination client device;

determining whether the source client device is associated with a first online portal identification (ID);

accessing a first profile associated with the first online portal ID if the source client device is associated with the first online portal ID;

determining whether the destination client device is associated with a second online portal ID;

accessing a second profile associated with the second online portal ID if the destination client device is associated with the second online portal ID; and

selecting the one of the plurality of routing services based further on at least one of the following; the first profile and the second profile.

8. The method of claim 1 , further comprising:

detecting an end to a VOIP call in which the VOIP packets were routed over the selected routing service;

determining a quality of the VOIP call; and

storing the quality for use in determining the perception factor.

9. The method of claim 1 , wherein the perception factor is further determined based on at least one of the following; a time of day, a day of week, a day of year, and a geographic area.

10. The method of claim 1 , wherein the VOIP packets are intended for receipt by a destination device, the destination device being a mobile device.

11. The method of claim 1 , wherein the method is implemented as computer-readable instructions stored within a memory of a server, and the VOIP packets originate from a mobile device.

12. A server for use in routing Voice over IP (VOIP) packets over a network, comprising:

a transceiver for receiving and sending packets to another computing device;

a processor in communication with the transceiver; and

a memory in communication with the processor and for use in storing data and machine instructions that causes the processor to perform a plurality of operations, including:

receiving a VOIP packet from a source device, the VOIP packet being destined for a destination device, and is configured to employ a Transmission Control Protocol (TCP) transport protocol;

determining a perception factor based on call quality feedback for each of a plurality of routing services;

determining a current cost and a current quality of service for each of the plurality of routing services;

selecting one of the plurality of routing services based on the current cost, the current quality of service, and the perception factor; and

routing the VOIP packets over the selected routing service via the transceiver.

13. The server of claim 12 , wherein a routing service of the plurality of routing services is in communication with the transceiver and comprise at least one of the following; a peering partner, an internet service provider (ISP), an internet backbone network, a carrier network, and a public switched telephone network (PSTN).

14. The server of claim 13 , wherein the received VOIP packet employs at least one of a Session Initiation Protocol (SIP) or a Real-time Transport Protocol (RTP).

15. The server of claim 12 , wherein the machine instructions further causes the processor to perform the operation of applying a first weight to the perception factor, a second weight to the current cost, and a third weight to the current quality of service.

16. The server of claim 15 , wherein the first weight changes relative to a quantity of call quality feedback.

17. The server of claim 12 , wherein the machine instructions further causes the processor to perform the operations of:

receiving a request from a source client device to initiate VOIP communication with a destination client device;

determining a destination identification (ID) associated with the destination client device;

determining a routing service associated with the destination ID; and

determining whether a predefined preference exists to route the VOIP packets to the routing service associated with the destination ID.

18. The server of claim 12 , wherein the machine instructions further causes the processor to perform the operations of:

receiving a request from a source client device to initiate VOIP communication with a destination client device;

determining whether the source client device is associated with a first online portal identification (ID);

accessing a first profile associated with the first online portal ID if the source client device is associated with the first online portal ID;

determining whether the destination client device is associated with a second online portal ID;

accessing a second profile associated with the second online portal ID if the destination client device is associated with the second online portal ID; and

selecting the one of the plurality of routing services based further on at least one of the following; the first profile and the second profile.

19. The server of claim 12 , wherein the machine instructions further causes the processor to perform the operations of:

detecting an end to a VOIP call in which the VOIP packets were routed over the selected routing service;

determining a quality of the VOIP call; and

storing the quality for use in determining the perception factor.

20. The relay server of claim 12 , wherein the server comprises an online portal.

21. A system for use in routing Voice over IP (VOIP) packets over a network, comprising:

a client device that is configured to perform actions, including requesting a VOIP call through a portal service to a destination device;

a server in communication with the client device and the destination device and configured to perform actions, including:

determining a perception factor based on call quality feedback for each of a plurality of routing services;

determining a current cost and a current quality of service for each of the plurality of routing services;

selecting one of the plurality of routing services based on the current cost, the current quality of service, and the perception factor; and

routing the VOIP packets over the selected routing service.

22. An apparatus for routing Voice over IP (VOIP) packets over a network, comprising:

a transceiver for receiving and sending packets to a computing device over the network;

means for determining a perception factor based on call quality feedback for each of a plurality of routing services;

means for determining a current cost and a current quality of service for each of the plurality of routing services;

means for selecting one of the plurality of routing services based on the current cost, the current quality of service, and the perception factor; and

means for routing the VOIP packets over the selected routing service.

23. A method for use in routing audio data packets over a network, comprising:

determining a perception factor based on audio quality feedback for each of a plurality of routing services;

determining a current cost and a current quality of service for each of the plurality of routing services;

selecting one of the plurality of routing services based on the current cost, the current quality of service, and the perception factor; and

routing the audio data packets over the selected routing service.

24. The method of claim 23 , wherein the audio data packets comprise voice over internet protocol (VOIP) packets.

25. The method of claim 1 , wherein a particular perception factor is based on an aggregate of a plurality of accumulated call quality feedback for a particular routing service.

26. The method of claim 1 , wherein a particular call quality feedback is an estimation of a party's satisfaction of a VOIP call.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC; ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2005
From: YARLAGADDA, MADHU
To: YAHOO! INC.
Reel/Frame 016568/0984 →
Continuity (1)
Related Publication 20060268828A1 · Nov 30, 2006