IP Library Granted Patent US 8,621,079
Granted Patent B2
US 8,621,079 · App. 12/855,210 · Granted Dec 31, 2013

Automated real-time data stream switching in a shared virtual area communication environment

Inventors: David Van Wie (Eugene, OR); Paul J. Brody (Palo Alto, CA)
Assignee: Social Communications Company
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,621,079
App. No.
12/855,210
Granted
Dec 31, 2013
Kind
B2
Abstract

In one aspect, one or more real-time data stream connections that deliver a set of real-time data streams to a given network node are determined based at least in part on bandwidth capabilities of the given network node. In another aspect, for each of one or more recipient network nodes, a respective link over which to transmit a respective transmission set of one or more real-time data streams is determined. For each of the links, the respective link bandwidth is apportioned between one or more channels that are respectively allocated to the one or more real-time data streams in the respective transmission set.

Claims (21)

1. A method of switching real-time data stream connections between network nodes sharing a virtual area wherein each of the network nodes is associated with at least one of a source and a sink of one or more of real-time data stream types, the method comprising:

ascertaining a set of real-time data streams each of which is sourced uniquely from a respective one of the sources and the set of real-time data streams are delivered to at least one sink of a given one of the network nodes that is associated with a respective position in the virtual area to enable the given network node to participate in a communication session with one or more other ones of the network nodes that are associated with respective positions in the virtual area;

determining one or more real-time data stream connections that deliver the set of real-time data streams to the given network node, wherein for a particular real-time data stream type the determining comprises selecting for transmission of ones of real-time data streams in the set of the particular real-time data stream type to the given network node either a direct peer-to-peer network route or a network route mediated by another network node based at least in part on transmission characteristics of the network routes; and

controlling establishment of the one or more determined real-time data stream connections between the given network node and one or more of the other ones of the network nodes.

2. The method of claim 1 , wherein the determining comprises determining a respective form in which to receive each of the real-time data streams, wherein each of the determined real-time data streams is in the form of either an unmixed real-time data stream or a mixed real-time data stream derived from a combination of real-time data streams transmitted from ones of the other network nodes.

3. The method of claim 1 , further comprising transmitting to the given network node a list of one or more mixed real-time data streams derived from real-time data streams transmitted from ones of the other the network nodes.

4. A non-transitory computer-readable medium storing computer-readable instructions for switching real-time data stream connections between network nodes sharing a virtual area wherein each of the network nodes is associated with at least one of a source and a sink of one or more of real-time data stream types, the computer-readable instructions being operable to cause a computer to perform operations comprising:

ascertaining a set of real-time data streams each of which is sourced uniquely from a respective one of the sources and the set of real-time data streams are delivered to at least one sink of a given one of the network nodes that is associated with a respective position in the virtual area to enable the given network node to participate in a communication session with one or more other ones of the network nodes that are associated with respective positions in the virtual area;

determining one or more real-time data stream connections that deliver the set of real-time data streams to the given network node, wherein for a particular real-time data stream type the determining comprises selecting for transmission of ones of real-time data streams in the set of the particular real-time data stream type to the given network node either a direct peer-to-peer network route or a network route mediated by another network node based at least in part on transmission characteristics of the network routes; and

controlling establishment of the one or more determined real-time data stream connections between the given network node and one or more of the other ones of the network nodes.

5. The method of claim 1 , wherein the ascertaining, the determining, and the establishing are performed by the given network node.

6. The method of claim 1 , wherein the determining, the apportioning, and the transmitting are performed by a given one of the network nodes.

7. A method, comprising:

ascertaining data stream content types respectively needed by network nodes to communicate in a shared spatial context defined by a virtual area based on respective positions of the network nodes in the virtual area and respective sources and sinks of different data stream content types respectively associated with the network nodes;

determining a data stream handling topology that delivers data streams of the ascertained data stream content types respectively needed by the network nodes to communicate in the shared spatial context, wherein

the data streams delivered by the data stream handling topology are derived from data originated by respective ones of the sources and are delivered to respective ones of the sinks, and

for a particular real-time data stream type, the determining comprises selecting for transmission of ones of real-time data streams in the set of the particular real-time data stream type to the given network node either a direct peer-to-peer network route or a network route mediated by another network node based at least in part on transmission characteristics of the network routes; and

transmitting data enabling network connections to be established between the network nodes in accordance with the data stream handling topology.

8. The method of claim 7 , wherein the determining comprises, for each of the delivered data streams, selecting either a mixed data stream form derived from data originated by multiple of the sources or an unmixed data stream form derived from data originated by a single one of the sources.

9. The method of claim 7 , wherein the determining comprises, for each data stream derived from data originated by a respective one of the sources, selecting the route over which the derived data is delivered to a respective one of the sinks from either a direct peer-to-peer network route or an indirect network route that is mediated by one or more network nodes other than the network nodes comprising the respective source and the respective sink.

10. The method of claim 7 , wherein the determining comprises changing the data stream handling topology in response to changes in the respective bandwidth capabilities of one or more of the network nodes.

Assignments (1)
CHANGE OF NAME Recorded Sep 13, 2016
From: SOCIAL COMMUNICATIONS COMPANY
To: SOCOCO, INC.
Reel/Frame 040017/0709 →
Continuity (2)
Continuation 11923634 · Oct 24, 2007
Related Publication 20100318662A1 · Dec 16, 2010