IP Library Granted Patent US 8,472,430
Granted Patent B2
US 8,472,430 · App. 11/397,475 · Granted Jun 25, 2013

VoIP packet prioritization

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 8,472,430
App. No.
11/397,475
Granted
Jun 25, 2013
Kind
B2
Abstract

A method and system for prioritizing data packets relating to a conversation over a VoIP communication channel is provided. An individual client or a service provider may specify priority information corresponding to incoming conversations. When several calling clients send data packets to one called client, the predefine priority information of the called client may be exchanged as part of contextual information. Based on the predefined priority information, priority levels are assigned to the received data packets. Subsequently, an existing communication channel may be terminated, interrupted, altered, and/or suspended in order to transmit data packets with higher priority than other data packets. A new communication channel may be established for a two-way communication, or a one-way communication between two clients. In this manner, the highest priority conversation among several incoming conversations, such as an emergency broadcast message or communication, can be ensured to reach to a client without a delay.

Claims (56)

1. A method for transmitting data packets comprising:

establishing a communication channel between a first client and a second client;

receiving a second client data packet from the second client that is directed to the first client for the communication channel between the first client and the second client;

receiving a third client data packet from a third client that is directed to the first client, wherein the third client is an emergency broadcast client with an emergency broadcast message to Voice Over Internet Protocol (VoIP) clients in a specific geographic area;

determining a priority level for the second client data packet and the third client data packet based on both priority information obtained from the first client and a type of data packet;

obtaining a priority list including priority information corresponding to the second client and the third client for use in determining the priority level of the data packets;

when the second client does not have a lower priority level than the third client, determining whether the first client has indicated to ignore the priority level of the second client upon receipt of the data packet from the third client;

determining a highest priority level data packet between the second client data packet and the third client data packet; and

transmitting the highest priority level data packet to the first client.

2. The method of claim 1 , further comprising:

when the second client has a lower priority level than the third client, interrupting the existing communication channel between the first client and the second client.

3. The method of claim 1 , further comprising:

when the first client has indicated to ignore the priority level of the second client, interrupting the existing communication channel between the first client and the second client and assigning a higher priority level to the data packet received from the third client than the data packet received from the second client.

4. The method of claim 1 , further comprising:

when the first client has not indicated to ignore the priority level of the second client in case of emergency, maintaining the existing channel connection between the first client and the second client and notifying the first client about the data packet received from the third client.

5. The method of claim 1 , wherein the third client is a caller requesting to initiate a communication channel with the first client.

6. The method of claim 5 , further comprising:

when the third client has a higher priority level than the second client, terminating the existing communication channel between the first client and the second client and establishing a communication channel between the first client and the third client.

7. The method of claim 5 , further comprising:

when the third client does not have a higher priority level than the second client, maintaining the existing communication channel between the first client and the second client.

8. The method of claim 5 , further comprising:

when the third client has a higher priority level than the second client, interrupting the existing communication channel between the first client and the second client for a predetermined time period and establishing a communication channel connection between the first and the third client.

9. The method of claim 8 , further comprising:

terminating the existing communication channel between the first client and the second client after the predetermined time period.

10. A computer-readable memory device used in transmitting data packets, comprising:

establishing a communication channel between a first client and a second client;

receiving a second client data packet from the second client that is directed to the first client for the communication channel between the first client and the second client;

receiving a third client data packet from a third client that is directed to the first client, wherein the third client is an emergency broadcast client with an emergency broadcast message to Voice Over Internet Protocol (VoIP) clients in a specific geographic area;

determining a priority level for the second client data packet and the third client data packet based on both priority information obtained from the first client and a type of data packet;

obtaining a priority list including priority information corresponding to the second client and the third client for use in determining the priority level of the data packets;

when the second client does not have a lower priority level than the third client, determining whether the first client has indicated to ignore the priority level of the second client upon receipt of the data packet from the third client;

determining a highest priority level data packet between the second client data packet and the third client data packet; and

transmitting the highest priority level data packet to the first client.

11. The computer-readable memory device of claim 10 , further comprising:

when the second client has a lower priority level than the third client, interrupting the existing communication channel between the first client and the second client.

12. The computer-readable memory device of claim 10 , further comprising: when the first client has indicated to ignore the priority level of the second client, interrupting the existing communication channel between the first client and the second client and assigning a higher priority level to the data packet received from the third client than the data packet received from the second client.

13. The computer-readable memory device of claim 10 , further comprising: when the first client has not indicated to ignore the priority level of the second client in case of emergency, maintaining the existing channel connection between the first client and the second client and notifying the first client about the data packet received from the third client.

14. The computer-readable memory device of claim 10 , further comprising:

when the third client has a higher priority level than the second client, terminating the existing communication channel between the first client and the second client and establishing a communication channel between the first client and the third client.

15. The computer-readable memory device of claim 14 , further comprising: when the third client does not have a higher priority level than the second client, maintaining the existing communication channel between the first client and the second client.

16. The computer-readable memory device of claim 10 , further comprising: when the third client has a higher priority level than the second client, interrupting the existing communication channel between the first client and the second client for a predetermined time period and establishing a communication channel connection between the first and the third client.

17. The computer-readable memory device of claim 16 , further comprising: terminating the existing communication channel between the first client and the second client after the predetermined time period.

18. A system for transmitting data packets, comprising:

a processor and a computer readable medium memory;

the processor configured to perform operations, comprising:

establishing a communication channel between a first client and a second client;

receiving a second client data packet from the second client that is directed to the first client for the communication channel between the first client and the second client;

receiving a third client data packet from a third client that is directed to the first client, wherein the third client is an emergency broadcast client with an emergency broadcast message to Voice Over Internet Protocol (VoIP) clients in a specific geographic area;

determining a priority level for the second client data packet and the third client data packet based on both priority information obtained from the first client and a type of data packet;

obtaining a priority list including priority information corresponding to the second client and the third client for use in determining the priority level of the data packets;

when the second client does not have a lower priority level than the third client, determining whether the first client has indicated to ignore the priority level of the second client upon receipt of the data packet from the third client;

determining a highest priority level data packet between the second client data packet and the third client data packet; and

transmitting the highest priority level data packet to the first client.

19. The system of claim 18 , further comprising:

when the second client has a lower priority level than the third client, interrupting the existing communication channel between the first client and the second client.

20. The system of claim 18 , further comprising: when the first client has indicated to ignore the priority level of the second client, interrupting the existing communication channel between the first client and the second client and assigning a higher priority level to the data packet received from the third client than the data packet received from the second client.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2016
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: ZHIGU HOLDINGS LIMITED
Reel/Frame 040354/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2006
From: MILSTEIN, DAVID; CRIDDLE, LINDA; FORBES, SCOTT
To: MICROSOFT CORPORATION
Reel/Frame 017617/0204 →