Patent ID: 11876707
Assignee: SOCOCO, INC.
Field: Digital communication (Electrical engineering)
Classification: CPC H  G | IPC G  H

Claim 2:
3. At least one non-transitory computer-readable medium comprising processor-readable instructions which, when executed by one or more processors, causes the one or more processors to perform operations comprising:
based on stream routing instructions, an intermediate network node creating 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;
on a first network connection between the intermediate network node and the first network node, the intermediate network node 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 processing the input data stream through the stream router to produce an output data stream;
on a second network connection between the intermediate network node and the second network node, the intermediate network node 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;
responsive to an event, ascertaining 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;
responsive to a determination that a network connection of the second type currently exists, routing 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
responsive to a determination that the second type of network connection currently does not exist, establishing 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.