IP Library Granted Patent US 7,697,511
Granted Patent B2
US 7,697,511 · App. 11/398,966 · Granted Apr 13, 2010

Selective voice switching of multiparty communications

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,697,511
App. No.
11/398,966
Granted
Apr 13, 2010
Kind
B2
Abstract

A method for processing speech data packets passed between a plurality of devices in a conversation is disclosed. The method associates priorities with each of the devices in the conversation and processes speech data packets received from the devices according to the priorities. Devices in the conversation are identified, a priority for each device is determined, and the priority for each device is associated with speech data packets transmitted from the device. The priorities may change during the conversation. If more than one speech data packet is received in a time window, the speech data packet with high priority is transmitted. Speech data packets that are not transmitted may be deleted or buffered. If a device is not assigned a priority, a low priority is assigned to speech data packets transmitted from the device.

Claims (61)

1. A method for processing speech data packets passed between a plurality of devices in a conversation, comprising:

identifying a plurality of devices in a conversation;

determining a priority for each of the plurality of devices in the conversation;

associating a priority with each of the plurality of devices;

receiving a first speech data packet received from a first of the plurality of devices;

receiving a second speech data packet from a second device of the plurality of devices;

determining priorities of the first speech data packet and the second speech data packet based on the priorities associated with the first device and the second device;

transmitting the speech data packet with a highest priority; and

using a predetermined policy to process the speech data packet that was not transmitted;

wherein the priority associated with at least one of the plurality of devices changes during the conversation.

2. A method for processing speech data packets, comprising:

associating a priority with each of a plurality of devices in a conversation;

receiving from the plurality of devices a plurality of contextual data packets including the associated priorities of the plurality of devices;

assigning priorities for each of the plurality of devices using the associated priorities from the contextual data packets received from the plurality of devices

receiving a plurality of speech data packets from the plurality of devices;

determining whether any of the speech data packets are received from at least two of the plurality of prioritized devices within a predetermined time window;

when speech data packets are received from in different predetermined time windows, transmitting the packets according to the order received; and

when speech data packets are received from at least two of the plurality of prioritized devices within a predetermined time window:

identifying relative priorities of any speech data packets received from the at least two prioritized devices within a predetermined time window;

transmitting a speech data packet received from the at least two prioritized devices within a predetermined time window having a highest relative priority; and

processing remaining speech data packets received from the plurality of devices within a predetermined time window according to a predetermined policy for processing speech data packets received within a predetermined window that do not have the highest priority.

3. The method of claim 2 , wherein associating a priority with each of the plurality of devices in the conversation comprises:

identifying the plurality of devices in the conversation;

determining a priority for each of the plurality of devices in the conversation; and

associating a priority with each of the plurality of devices.

4. The method of claim 3 , wherein associating a priority with each of the plurality of devices includes manually assigning priorities to devices.

5. The method of claim 3 , wherein the conversation includes a device that is not assigned a priority.

6. The method of claim 2 , wherein the method is implemented by a speech priority service that operates on a service provider.

7. The method of claim 2 , wherein the priority associated with at least one of the plurality of devices changes during the conversation.

8. The method of claim 2 , wherein the method is implemented by a speech priority service that operates on each device in the conversation.

9. The method of claim 2 , wherein the predetermined policy is to delete the speech data packet that was not transmitted.

10. The method of claim 2 , wherein the predetermined policy is to buffer the speech data packet that was not transmitted.

11. The method of claim 10 , wherein the buffered speech data packet is transmitted in response to a request.

12. The method of claim 11 , wherein the buffered speech data packet is transmitted after a predetermined amount of time.

13. A speech processing system, comprising:

a priority assignment component associating a priority with each of a plurality of devices in a conversation;

a speech data packet processing component receiving from the plurality of devices a plurality of contextual data packets including the associated priorities of the plurality of devices, assigning priorities for each of the plurality of devices using the associated priorities from the contextual data packets received from the plurality of devices and receiving a plurality of speech data packets from the plurality of devices;

a conflict resolution component determining whether any of the speech data packets are received from at least two of the plurality of prioritized devices within a predetermined time window; and:

when speech data packets are received from in different predetermined time windows, transmitting the packets according to the order received; and

when speech data packets are received from at least two of the plurality of prioritized devices within a predetermined time window:

identifying relative priorities of any speech data packets received from the at least two prioritized devices within a predetermined time window;

transmitting a speech data packet received from the at least two prioritized devices within a predetermined time window having a highest relative priority; and

processing remaining speech data packets received from the plurality of devices within a predetermined time window according to a predetermined policy for processing speech data packets received within a predetermined window.

14. The speech processing system of claim 13 , wherein speech data packets received within the time window that are not to be transmitted are buffered.

15. The speech processing system of claim 13 , wherein speech data packets received within the time window that are not to be transmitted are deleted.

16. The speech processing system of claim 13 further comprising a notification component notifying a device that transmitted a speech data packet received within the time window that was determined not to be transmitted.

17. A non-transitory computer readable medium including executable instructions which, when executed, process speech data packets, by:

associating a priority with each of a plurality of devices in a conversation;

receiving from the plurality of devices a plurality of contextual data packets including the associated priorities of the plurality of devices;

assigning priorities for each of the plurality of devices using the associated priorities from the contextual data packets received from the plurality of devices

receiving a plurality of speech data packets from the plurality of devices;

determining whether any of the speech data packets are received from at least two of the plurality of prioritized devices within a predetermined time window;

when speech data packets are received from in different predetermined time windows, transmitting the packets according to the order received; and

when speech data packets are received from at least two of the plurality of prioritized devices within a predetermined time window:

identifying relative priorities of any speech data packets received from the at least two prioritized devices within a predetermined time window;

transmitting a speech data packet received from the at least two prioritized devices within a predetermined time window having a highest relative priority; and

processing remaining speech data packets received from the plurality of devices within a predetermined time window according to a predetermined policy for processing speech data packets received within a predetermined window.

18. The non-transitory computer readable medium of claim 17 , further comprising notifying the second device that the second speech data packet was not transmitted.

19. The non-transitory computer readable medium of claim 17 , further comprising:

determining if the first device and the second device are assigned a priority; and

if it is determined that the second device is not assigned a priority, associating a lowest priority with the second speech data packet.

Assignments (2)
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 19, 2006
From: MILSTEIN, DAVID; CRIDDLE, LINDA; FORBES, SCOTT C.
To: MICROSOFT CORPORATION
Reel/Frame 017642/0889 →