IP Library Granted Patent US 8,817,955
Granted Patent B2
US 8,817,955 · App. 11/480,660 · Granted Aug 26, 2014

Peer-to-peer broadcasting in a VoIP system

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,817,955
App. No.
11/480,660
Granted
Aug 26, 2014
Kind
B2
Abstract

A method and system provides the ability to use VoIP devices to generate and/or propagate a broadcast message to other devices. A device transmits a broadcast message to a recipient device over a peer-to-peer communication channel. Such a device can be an originator or a propagator designated by a third party. Upon receipt of a request to broadcast a message, or upon detecting any triggering event to broadcast, the device processes the request or the triggering event to compose content of the message. Subsequently, a group of recipient devices are identified and located. The device may transmit the broadcast message over existing communications channels without disturbing a conversation with the recipient device. Further, a peer-to-peer communication channel may be established to transmit the broadcast message. Alternatively, the device may request the recipient device to broadcast the message to devices outside of its current peer-to-peer communication connections.

Claims (45)

1. A method for broadcasting a message from a device to recipient devices over a digital voice communication channel, comprising:

composing a content of a broadcast message;

identifying a first group of recipient devices based on the content, the recipient devices being communicatively connected according to a peer-to-peer protocol that is used to transmit messages as part of a Voice Over Internet Protocol (VoIP) conversation; wherein at least a portion of the recipient devices are connected through a communication channel that is used to transmit and receive contextual data packets and conversational data packets between the at least the portion of the recipient devices; wherein the conversational data packets are for conversation data and the contextual data packets are for data other then the conversation data;

formatting at least one broadcast message in accordance with profile information of a recipient device from the first group;

transmitting the formatted broadcast message to a recipient device from the first group; in response to receiving the broadcast message, the recipient device, automatically sends the broadcast message to another recipient devices from the first group connected according to the peer-to-peer protocol; and

receiving a response to the transmitted broadcast message from the recipient device.

2. The method of claim 1 further comprising:

identifying and locating a second group of recipient devices which have indicated a peer to peer communication channel is permitted, the second group of recipient devices not yet being connected according to a peer-to-peer protocol;

establishing a peer to peer communication channel with a recipient device from the second group;

formatting at least one broadcast message in accordance with profile information of the recipient device from the second group; and

transmitting the formatted broadcast message to the recipient device from the second group over the established peer to peer communication channel.

3. The method of claim 2 , wherein the second group of recipient devices is identified based on geographic locations of each recipient device.

4. The method of claim 3 , wherein the second group of recipient devices is identified based on a predefined set of rules.

5. The method of claim 1 , further comprising:

if the response from the recipient device indicates a failed delivery of the broadcast message, retransmitting the broadcast message to the recipient device.

6. The method of claim 1 further comprising:

if the response from the recipient device indicates a successful delivery of the broadcast message, determining a next broadcast message and transmitting the next broadcast message to the recipient device.

7. The method of claim 1 , wherein composing the content of a broadcast message includes receiving a request from an authorized party to broadcast a message in conjunction with broadcast information relating to the message, processing the request, and determining content for the broadcast message based on the processed request.

8. The method of claim 7 , wherein the broadcast information includes information necessary to format, schedule, and/or transmit the message.

9. The method of claim 1 further comprising:

obtaining the profile information about the recipient device.

10. The method of claim 9 , further comprising:

if the response from the recipient device is a request to stop the broadcast message, updating the profile information about the recipient client accordingly.

11. The method of claim 9 wherein if the profile information about the recipient device is not available, default profile information is utilized, and wherein the default profile information is predefined.

12. The method of claim 1 , wherein composing the content of a broadcast message includes retrieving a request to broadcast a message, processing the request, and determining the content based on the processed request.

13. A method for permitting a sending device to transmit a message over an existing peer to peer communication channel without interrupting a digital voice conversation, comprising:

establishing a Voice Over Internet Protocol (VoIP) conversation channel between the sending device and a receiving device, wherein the VoIP conversation channel is used to transmit and receive contextual data packets and conversational data packets; wherein the conversational data packets are for conversation data and the contextual data packets are for data other than the conversation data;

receiving a message from the sending device over the established conversation channel;

upon receipt of the message, the receiving device,

identifying a set of contextual information corresponding to the message, embedding the message in the set of contextual information, and determining another recipients devices of the message based on the processed message; and

automatically transmitting the set of contextual information to the another recipients devices over an established peer-to-peer communication channel without interrupting the digital voice conversation.

14. The method of claim 13 further comprising:

receiving a response from the destination;

determining an appropriate action based on the response; and

performing the determined appropriate action.

15. The method of claim 14 , wherein performing the determined appropriate action includes forwarding the response to the sending device.

16. The method of claim 13 further comprising:

upon receipt of the message, forwarding the message to the destination without processing the message.

17. A system for broadcasting a message over a digital voice conversation between two or more devices in a peer-to-peer network, comprising:

a processing component for detecting a request to broadcast;

a generating component for identifying a recipient device upon detecting the request to broadcast and for formatting a first broadcast message suitable for the recipient device; and

a broadcasting component for transmitting the first broadcast message to the recipient device; in response to receiving the broadcast message, sends the broadcast message to another recipients devices over a digital voice conversation according to a peer-to-peer protocol that is used to transmit messages as part of the digital voice conversation without interrupting the digital voice conversation; wherein the digital voice conversation occurs over a communication channel that is used to transmit and receive contextual data packets and conversational data packets; wherein the conversational data packets are for conversation data and the contextual data packets are for data other then the conversation data.

18. The system of claim 17 , wherein the broadcasting component receives a response from the recipient devices about the first broadcast message and based on the response, the processing component performs an appropriate action.

19. The system of claim 17 , wherein the request to broadcast is triggered by an authorized party.

20. The system of claim 17 , wherein the request to broadcast is triggered by a predefined event.

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 Sep 18, 2006
From: MILSTEIN, DAVID; CRIDDLE, LINDA; FORBES, SCOTT C.
To: MICROSOFT CORPORATION
Reel/Frame 018278/0174 →