Managing network communications between network nodes and stream transport protocol
First Claim
Patent Images
1. A method, comprising by a server network node:
- determining one or more pairs of client network nodes that are connected to a server application hosted by the server network node, wherein the constituent client network nodes of each of the pairs have one or more active sets of complementary sources and sinks of respective data stream content types; and
for each of the determined pairs of client network nodes, sending to each of the constituent client network nodes of the pair a respective session definition defining a respective peer-to-peer session over a network connection between the constituent client network nodes of the pair;
establishing a respective server session with each of the client network nodes connected to the server application; and
over each of the server sessions, transporting control messages of different content types on different respective channels that logically divide the control messages by content type.
2 Assignments
0 Petitions
Accused Products
Abstract
A stream transport protocol supports realtime network communications between communicants operating on respective network nodes. The stream transport protocol supports remote management of client communication sessions, including provisioning of each pair of client network nodes with a respective session definition defining a respective peer-to-peer session over a network connection between the constituent client network nodes of the pair. The stream transport protocol has relatively low computational resource requirements so that realtime communications performance can be achieved using a wide range of computing devices and network connections that currently are available.
127 Citations
50 Claims
-
1. A method, comprising by a server network node:
-
determining one or more pairs of client network nodes that are connected to a server application hosted by the server network node, wherein the constituent client network nodes of each of the pairs have one or more active sets of complementary sources and sinks of respective data stream content types; and for each of the determined pairs of client network nodes, sending to each of the constituent client network nodes of the pair a respective session definition defining a respective peer-to-peer session over a network connection between the constituent client network nodes of the pair; establishing a respective server session with each of the client network nodes connected to the server application; and over each of the server sessions, transporting control messages of different content types on different respective channels that logically divide the control messages by content type. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. Apparatus, comprising:
-
a computer-readable memory storing computer-readable instructions; and a data processor coupled to the memory, operable to execute the instructions, and based at least in part on the execution of the instructions operable to perform operations comprising determining one or more pairs of client network nodes that are connected to a server application hosted by the server network node, wherein the constituent client network nodes of each of the pairs have one or more active sets of complementary sources and sinks of respective data stream content types; and for each of the determined pairs of client network nodes, sending to each of the constituent client network nodes of the pair a respective session definition defining a respective peer-to-peer session over a network connection between the constituent client network nodes of the pair; establishing a respective server session with each of the client network nodes connected to the server application; and over each of the server sessions, transporting control messages of different content types on different respective channels that logically divide the control messages by content type.
-
-
18. At least one computer-readable memory device having computer-readable program code embodied therein, the computer-readable program code adapted to be executed by a computer to implement a method comprising:
-
determining one or more pairs of client network nodes that are connected to a server application hosted by the server network node, wherein the constituent client network nodes of each of the pairs have one or more active sets of complementary sources and sinks of respective data stream content types; and for each of the determined pairs of client network nodes, sending to each of the constituent client network nodes of the pair a respective session definition defining a respective peer-to-peer session over a network connection between the constituent client network nodes of the pair; establishing a respective server session with each of the client network nodes connected to the server application; and over each of the server sessions, transporting control messages of different content types on different respective channels that logically divide the control messages by content type.
-
-
19. A method, comprising by a given client network node:
-
connecting to a server application hosted by a server network node and to which are connected one or more other client network nodes, wherein each of the given client network node and the one or more other client network nodes has one or more sources and sinks of respective data stream content types; receiving from the server network node a respective session definition between the given client network node and a respective session partner one of the other client network nodes for each of the other client network nodes with which the given client network node has at least one active source or sink that is complementary to an active one of the one or more sources and sinks of the other client network node; and for each of the received session definitions, establishing a respective peer-to-peer session over a respective network connection between the given client network node and the respective session partner client network node based on the session definition. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
-
47. Apparatus, comprising:
-
a computer-readable memory storing computer-readable instructions; and a data processor coupled to the memory, operable to execute the instructions, and based at least in part on the execution of the instructions operable to perform operations comprising connecting to a server application hosted by a server network node and to which are connected one or more other client network nodes, wherein each of the given client network node and the one or more other client network nodes has one or more sources and sinks of respective data stream content types; receiving from the server network node a respective session definition between the given client network node and a respective session partner one of the other client network nodes for each of the other client network nodes with which the given client network node has at least one active source or sink that is complementary to an active one of the one or more sources and sinks of the other client network node; and for each of the received session definitions, establishing a respective peer-to-peer session over a respective network connection between the given client network node and the respective session partner client network node based on the session definition.
-
-
48. At least one computer-readable memory device having computer-readable program code embodied therein, the computer-readable program code adapted to be executed by a computer to implement a method comprising:
-
connecting to a server application hosted by a server network node and to which are connected one or more other client network nodes, wherein each of the given client network node and the one or more other client network nodes has one or more sources and sinks of respective data stream content types; receiving from the server network node a respective session definition between the given client network node and a respective session partner one of the other client network nodes for each of the other client network nodes with which the given client network node has at least one active source or sink that is complementary to an active one of the one or more sources and sinks of the other client network node; and for each of the received session definitions, establishing a respective peer-to-peer session over a respective network connection between the given client network node and the respective session partner client network node based on the session definition.
-
-
49. A method, comprising by a given client network node
from a server network node, receiving a session definition defining a respective peer-to-peer session over a network connection between the given client network node and a session partner client network node, wherein the session definition comprises a unique station identifier assigned to the given client network node and a unique station identifier assigned to the session partner client network node; - and
based on the session definition, establishing a network connection with the session partner client network node, wherein the establishing comprises sending to the session partner client network node an outbound message containing the unique station identifier assigned to the given client network node, and in response to receipt of an inbound message responsive to the outbound message and containing the unique station identifier assigned to the session partner client network node, extracting a source network address from the inbound message and binding the session partner client network node to the extracted source network address.
- and
-
50. A method, comprising by a given client network node:
-
establishing a network connection with a session partner client network node, wherein the establishing comprises sending an outbound message containing a unique station identifier assigned to the given client network node to the session partner client network node, and in response to receipt of an inbound message responsive to the outbound message and containing a unique station identifier assigned to the session partner client network node, extracting a source network address from the inbound message and binding the session partner client network node to the extracted source network address; sending another outbound message containing a unique session identifier assigned to the session to the session partner client network node over a transport stream addressed to the network address to which the respective session partner client network node is bound; and in response to receipt of an inbound message responsive to the other outbound message and containing the unique session identifier assigned to the respective session, designating the transport stream as valid for transmitting data in the respective session.
-
Specification