REALTIME KERNEL
First Claim
1. A computer-implemented method of remote-controlled realtime data stream handling, comprising:
- at a local network node, receiving one or more stream handling instructions from a remote network node, wherein the one or more stream handling instructions comprise a specification of a stream handler for processing at least one realtime data stream;
at the local network node, creating a stream handler in accordance with the specification; and
producing a resultant data stream at the local network node, wherein the producing comprises processing a realtime data stream through the created stream handler.
2 Assignments
0 Petitions
Accused Products
Abstract
A realtime kernel supports realtime communications between communicants operating on respective network nodes. The realtime kernel handles the complex tasks of connecting to communicants, virtual areas, and other network resources, switching those connections in response to user inputs, and mixing realtime data streams. The realtime kernel enables developers to focus on developing high-level communications functionality instead of low-level plumbing code. The realtime kernel imposes 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.
-
Citations
139 Claims
-
1. A computer-implemented method of remote-controlled realtime data stream handling, comprising:
-
at a local network node, receiving one or more stream handling instructions from a remote network node, wherein the one or more stream handling instructions comprise a specification of a stream handler for processing at least one realtime data stream; at the local network node, creating a stream handler in accordance with the specification; and producing a resultant data stream at the local network node, wherein the producing comprises processing a realtime data stream through the created stream handler. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. Apparatus, comprising:
-
a computer-readable medium storing computer-readable instructions; and a data processing unit 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 at a local network node, receiving one or more stream handling instructions from a remote network node, wherein the one or more stream handling instructions comprise a specification of a stream handler for processing at least one realtime data stream, at the local network node, creating a stream handler in accordance with the specification, and producing a resultant data stream at the local network node, wherein the producing comprises processing a realtime data stream through the created stream handler.
-
-
24. At least one computer-readable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed by a computer to implement a method comprising:
-
at a local network node, receiving one or more stream handling instructions from a remote network node, wherein the one or more stream handling instructions comprise a specification of a stream handler for processing at least one realtime data stream; at the local network node, creating a stream handler in accordance with the specification; and producing a resultant data stream at the local network node, wherein the producing comprises processing a realtime data stream through the created stream handler.
-
-
25. A computer-implemented method of realtime data stream handling, comprising:
-
parsing a specification of a realtime stream handler from one or more stream handling instructions, wherein the parsing comprises parsing an input source identifier, an output sink identifier, and a respective identifier of each of one or more data processing objects from the one or more stream handing instructions; instantiating realtime stream handling objects corresponding to respective ones of the identifiers; creating a directed graph comprising ones of the instantiated realtime stream handling objects in accordance with the specification; receiving a realtime data stream from an input source corresponding to the input source identifier; and producing a resultant data stream at an output sink corresponding to the output sink identifier, wherein the producing comprises processing the realtime data stream through the directed graph. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
-
-
51. Apparatus, comprising:
-
a computer-readable medium storing computer-readable instructions; and a data processing unit 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 parsing a specification of a realtime stream handler from one or more stream handling instructions, wherein the parsing comprises parsing an input source identifier, an output sink identifier, and a respective identifier of each of one or more data processing objects from the one or more stream handing instructions, instantiating realtime stream handling objects corresponding to respective ones of the identifiers, creating a directed graph comprising ones of the instantiated realtime stream handling objects in accordance with the specification, receiving a realtime data stream from an input source corresponding to the input source identifier, and producing a resultant data stream at an output sink corresponding to the output sink identifier, wherein the producing comprises processing the realtime data stream through the directed graph.
-
-
52. At least one computer-readable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed by a computer to implement a method comprising:
-
parsing a specification of a realtime stream handler from one or more stream handling instructions, wherein the parsing comprises parsing an input source identifier, an output sink identifier, and a respective identifier of each of one or more data processing objects from the one or more stream handing instructions; instantiating realtime stream handling objects corresponding to respective ones of the identifiers; creating a directed graph comprising ones of the instantiated realtime stream handling objects in accordance with the specification; receiving a realtime data stream from an input source corresponding to the input source identifier; and producing a resultant data stream at an output sink corresponding to the output sink identifier, wherein the producing comprises processing the realtime data stream through the directed graph.
-
-
53. A computer-implemented method of realtime data stream handling, comprising:
-
establishing at least one realtime data stream connection between a local network node and at least one remote network node; at the local network node, processing at least one realtime data stream sourced by the remote network node, wherein the processing comprises processing the at least one realtime data stream through one or more realtime data processing operations to produce a resultant data stream; monitoring the processing; and in response to a determination based on the monitoring that the processing deviates from a performance target, modifying the processing in accordance with a realtime performance targeting routine. - View Dependent Claims (54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85)
-
-
86. Apparatus, comprising:
-
a computer-readable medium storing computer-readable instructions; and a data processing unit 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 establishing at least one realtime data stream connection between a local network node and at least one remote network node, at the local network node, processing at least one realtime data stream sourced by the remote network node, wherein the processing comprises processing the at least one realtime data stream through one or more realtime data processing operations to produce a resultant data stream; monitoring the processing, and in response to a determination based on the monitoring that the processing deviates from a performance target, modifying the processing in accordance with a realtime performance targeting routine.
-
-
87. At least one computer-readable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed by a computer to implement a method comprising:
-
establishing at least one realtime data stream connection between a local network node and at least one remote network node; at the local network node, processing at least one realtime data stream sourced by the remote network node, wherein the processing comprises processing the at least one realtime data stream through one or more realtime data processing operations to produce a resultant data stream; monitoring the processing; and in response to a determination based on the monitoring that the processing deviates from a performance target, modifying the processing in accordance with a realtime performance targeting routine.
-
-
88. A computer-implemented method, comprising:
-
on a local network node, establishing a first session with a remote network node on a transport stream in accordance with a connectionless transport protocol; on behalf of one or more software entities on the local network node, automatically opening one or more channels over which data is transmitted between the local network node and the remote network node in the first session; in the first session, maintaining a table identifying open ones of the channels and associating respective attribute values with the identified channels; in response to a determination that the first session has failed, automatically attempting to establish a second session with the remote network node on a second transport stream in accordance with the connectionless transport protocol; and in response to successful establishment of the second session, automatically opening each of the channels identified in the table. - View Dependent Claims (89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105)
-
-
106. Apparatus, comprising:
-
a computer-readable medium storing computer-readable instructions; and a data processing unit 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 on a local network node, establishing a first session with a remote network node on a transport stream in accordance with a connectionless transport protocol; on behalf of one or more software entities on the local network node, automatically opening one or more channels over which data is transmitted between the local network node and the remote network node in the first session; in the first session, maintaining a table identifying open ones of the channels and associating respective attribute values with the identified channels; in response to a determination that the first session has failed, automatically attempting to establish a second session with the remote network node on a second transport stream in accordance with the connectionless transport protocol; and in response to successful establishment of the second session, automatically opening each of the channels identified in the table.
-
-
107. At least one computer-readable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed by a computer to implement a method comprising:
-
on a local network node, establishing a first session with a remote network node on a transport stream in accordance with a connectionless transport protocol; on behalf of one or more software entities on the local network node, automatically opening one or more channels over which data is transmitted between the local network node and the remote network node in the first session; in the first session, maintaining a table identifying open ones of the channels and associating respective attribute values with the identified channels; in response to a determination that the first session has failed, automatically attempting to establish a second session with the remote network node on a second transport stream in accordance with the connectionless transport protocol; and in response to successful establishment of the second session, automatically opening each of the channels identified in the table.
-
-
108. A method performed on a local network node, the method comprising:
-
parsing a list of kernel components comprising one or more kernel service components; determining all the kernel components in the parsed list that are missing from a local repository; retrieving each of the kernel components determined to be missing; instantiating kernel services from ones of the kernel service kernel components; executing the instantiated kernel services to communicate with one or more remote network nodes in a communication environment defined with respect to a virtual area. - View Dependent Claims (109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123)
-
-
124. Apparatus, comprising:
-
a computer-readable medium storing computer-readable instructions; and a data processing unit 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 parsing a list of kernel components comprising one or more kernel service components, determining all the kernel components in the parsed list that are missing from a local repository, retrieving each of the kernel components determined to be missing, instantiating kernel services from ones of the kernel service kernel components, and executing the instantiated kernel services to communicate with one or more remote network nodes in a communication environment defined with respect to a virtual area.
-
-
125. At least one computer-readable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed by a computer to implement a method comprising:
-
parsing a list of kernel components comprising one or more kernel service components; determining all the kernel components in the parsed list that are missing from a local repository; retrieving each of the kernel components determined to be missing; instantiating kernel services from ones of the kernel service kernel components; and executing the instantiated kernel services to communicate with one or more remote network nodes in a communication environment defined with respect to a virtual area.
-
-
126. A method performed on a local network node, comprising:
-
configuring the local network node to support realtime communications with at least one remote network node in a context defined by a virtual area, wherein the configuring comprises in response to a call to enumerate all plugins that support a specified application programming interface (API), returning a list comprising identifiers of all plugins associated with the specified API in a plugin database, in response to a call to enumerate variants of a given API supported by an identified one of the plugins, delivering a list comprising identifiers of all variants of the given API that are supported by the identified plugin, and in response to a call to instantiate an identified one of the variants of an identified API supported by an identified one of the plugins, loading the identified plugin and providing a pointer to an instance of the identified variant; and establishing at least one realtime data stream connection between the configured local network node and the at least one remote network node. - View Dependent Claims (127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137)
-
-
138. Apparatus, comprising:
-
a computer-readable medium storing computer-readable instructions; and a data processing unit 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 configuring the local network node to support realtime communications with at least one remote network node in a context defined by a virtual area, wherein the configuring comprises in response to a call to enumerate all plugins that support a specified application programming interface (API), returning a list comprising identifiers of all plugins associated with the specified API in a plugin database, in response to a call to enumerate variants of a given API supported by an identified one of the plugins, delivering a list comprising identifiers of all variants of the given API that are supported by the identified plugin, and in response to a call to instantiate an identified one of the variants of an identified API supported by an identified one of the plugins, loading the identified plugin and providing a pointer to an instance of the identified variant; and establishing at least one realtime data stream connection between the configured local network node and the at least one remote network node.
-
-
139. At least one computer-readable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed by a computer to implement a method comprising:
-
configuring the local network node to support realtime communications with at least one remote network node in a context defined by a virtual area, wherein the configuring comprises in response to a call to enumerate all plugins that support a specified application programming interface (API), returning a list comprising identifiers of all plugins associated with the specified API in a plugin database, in response to a call to enumerate variants of a given API supported by an identified one of the plugins, delivering a list comprising identifiers of all variants of the given API that are supported by the identified plugin, and in response to a call to instantiate an identified one of the variants of an identified API supported by an identified one of the plugins, loading the identified plugin and providing a pointer to an instance of the identified variant; and establishing at least one realtime data stream connection between the configured local network node and the at least one remote network node.
-
Specification