| CPC H04L 45/54 (2013.01) [G06T 11/60 (2013.01); G06T 13/40 (2013.01); G06T 15/205 (2013.01); G06T 17/05 (2013.01); G06T 19/006 (2013.01); G06T 19/20 (2013.01); H04L 65/61 (2022.05); H04L 65/765 (2022.05); H04L 67/131 (2022.05); G06T 2200/04 (2013.01); G06T 2207/10012 (2013.01); G06T 2207/10016 (2013.01); G06T 2207/10072 (2013.01); G06T 2207/30196 (2013.01); G06T 2215/16 (2013.01); G06T 2219/024 (2013.01); G06T 2219/2004 (2013.01)] | 14 Claims |

|
1. A method system comprising:
means, including an intermediate network node, for creating, based on stream routing instructions, between a first network node and a second network node a stream router comprising a directed graph of processing elements operable to receive network data, process the received network data, and output the processed network data, wherein: on a first network connection between the intermediate network node and the first network node, the intermediate network node is capable of receiving an input data stream derived from output data generated by the first network node in association with a virtual area;
the intermediate network node is capable of processing the input data stream through the stream router to produce an output data stream; and
on a second network connection between the intermediate network node and the second network node, the intermediate network node is capable of sending the output data stream to the second network node, wherein sending the output data stream to the second network node comprises routing the output data stream of a first data stream type over a first type of network connection between client network nodes of users who are copresent in the virtual area;
means including one or more processors, for ascertaining, responsive to an event, the second type of network connection between client network nodes of users who are copresent in the virtual area, wherein the first and second types of network connections are different, and the switching predicate is based on one or more of a count of client network nodes of users who are copresent in the virtual area, one or more types of data streams being communicated between client network nodes of the copresent users, bandwidth capabilities of client network nodes of the copresent users, attributes of the virtual area, and network latencies experienced by client network nodes of the copresent users;
means, including one or more processors, for routing, responsive to a determination that a network connection of the second type currently exists, one or more data streams of the first data stream type over the second type of network connection between client network nodes of users who are copresent in the virtual area, and tearing down the one or more corresponding network connections of the first type; and
means for establishing, responsive to a determination that the second type of network connection currently does not exist, one or more network connections of the second type and routing one or more data streams of the first data stream type over the established second type of network connection between client network nodes of users who are copresent in the virtual area.
|