System and method for multi-layered network communications
First Claim
1. In a first software object which executes on a computing device and which facilitates the transmission of data from the computing device over a computer network comprising a session/transport layer and a separate audio layer, said first software object participating in a data session in said session/transport layer of the network, a method of providing communication services to a second software object and of permitting said computing device to participate in an audio session in said audio layer of the network, wherein the data session in said session/transport layer has a session topology that is different from and independent of a session topology of the audio session in said audio layer of the network, said method comprising the acts of:
- exposing a first function in said session/transport layer of the network which returns a plurality of data to a caller in said audio layer of the network, said plurality of data comprising information about the configuration of the session/transport layer and including;
one or more flags;
a type of the data session, wherein the type comprises either a peer to peer transport or a client/server transport;
a first identifier of a host in the data session;
a second identifier which identifies the computing device; and
a number indicative of a number of nodes that can participate in the first or second sessions;
exposing a second function in said session/transport layer of the network which enables the audio layer to provide the session/transport layer with a pointer to the audio layer, wherein the exposed first and second functions are part of an application programming interface (API) of the session/transport layer;
querying the audio layer using the pointer to retrieve an application programming interface (API) of the audio layer; and
providing said plurality of data in response to a call to said callable function.
1 Assignment
0 Petitions
Accused Products
Abstract
A multi-layered network for transporting data comprises a first network layer that provides a first session topology, and a second network layer that provides a second session topology. The second network layer uses the first network layer to transport data. In one embodiment of the invention, the data sent by the second layer is real-time audio data, such as voice. Each session topology may be either peer-to-peer or client/server. The first and second layers may have different topologies and/or different session hosts. A deterministic algorithm is provided whereby a new session host is selected when the current host leaves the session.
-
Citations
18 Claims
-
1. In a first software object which executes on a computing device and which facilitates the transmission of data from the computing device over a computer network comprising a session/transport layer and a separate audio layer, said first software object participating in a data session in said session/transport layer of the network, a method of providing communication services to a second software object and of permitting said computing device to participate in an audio session in said audio layer of the network, wherein the data session in said session/transport layer has a session topology that is different from and independent of a session topology of the audio session in said audio layer of the network, said method comprising the acts of:
-
exposing a first function in said session/transport layer of the network which returns a plurality of data to a caller in said audio layer of the network, said plurality of data comprising information about the configuration of the session/transport layer and including; one or more flags; a type of the data session, wherein the type comprises either a peer to peer transport or a client/server transport; a first identifier of a host in the data session; a second identifier which identifies the computing device; and a number indicative of a number of nodes that can participate in the first or second sessions; exposing a second function in said session/transport layer of the network which enables the audio layer to provide the session/transport layer with a pointer to the audio layer, wherein the exposed first and second functions are part of an application programming interface (API) of the session/transport layer; querying the audio layer using the pointer to retrieve an application programming interface (API) of the audio layer; and providing said plurality of data in response to a call to said callable function. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer storage medium containing computer-executable instructions which, when executed by a computer, perform a method of providing communication services to a second software object and of permitting said computing device to participate in an audio session in said audio layer of the network, wherein the data session in said session/transport layer has a session topology that is different from and independent of a session topology of the audio session in said audio layer of the network, said method comprising the acts of:
-
exposing a first function in said session/transport layer of the network which returns a plurality of data to a caller in said audio layer of the network, said plurality of data comprising information about the configuration of the session/transport layer and including; one or more flags; a type of the data session, wherein the type comprises either a peer to peer transport or a client/server transport; a first identifier of a host in the data session; a second identifier which identifies the computing device; and a number indicative of a number of nodes that can participate in the first or second sessions; exposing a second function in said session/transport layer of the network which enables the audio layer to provide the session/transport layer with a pointer to the audio layer, wherein the exposed first and second functions are part of an application programming interface (API) of the session/transport layer; querying the audio layer using the pointer to retrieve an application programming interface (API) of the audio layer; and providing said plurality of data in response to a call to said callable function. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system which facilitates the transmission of data from a computing device over a computer network comprising a session/transport layer and a separate audio layer, the system comprising:
-
one or more processing units; and a memory coupled with and readable by the one or more processing units, the memory containing a series of instructions that, when executed by the one or more processing units, cause the one or more processing units to perform a method of providing communication services to a second software object and of permitting said computing device to participate in an audio session in said audio layer of the network, wherein the data session in said session/transport layer has a session topology that is different from and independent of a session topology of the audio session in said audio layer of the network, said method comprising the acts of; exposing a first function in said session/transport layer of the network which returns a plurality of data to a caller in said audio layer of the network, said plurality of data comprising information about the configuration of the session/transport layer and including; one or more flags; type of the data session, wherein the type comprises either a peer to peer transport or a client/server transport; a first identifier of a host in the data session; a second identifier which identifies the computing device; and a number indicative of a number of nodes that can participate in the first or second sessions; exposing a second function in said session/transport layer of the network which enables the audio layer to provide the session/transport layer with a pointer to the audio layer, wherein the exposed first and second functions are part of an application programming interface (API) of the session/transport layer; querying the audio layer using the pointer to retrieve an application programming interface (API) of the audio layer; and providing said plurality of data in response to a call to said callable function. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification