Resolving a distributed topology to stream data
First Claim
Patent Images
1. A method, comprising:
- requesting data to be streamed from a source device to a client device over a network;
building, by a parent Distributed Media Session (“
DMS”
), a distributed software infrastructure from an optimized distributed topology, the built distributed software infrastructure configured to stream data to the client device from the source device without rendering the data by the source device, the parent DMS providing a federated mechanism for control;
resolving, by the parent DMS, a distributed topology from the request, wherein;
the distributed topology references a plurality of software components that, when executed, fulfill the request;
at least one of the plurality of software components is executable on each of;
the source device; and
the client device,instantiating, by the parent DMS, one or more child DMS; and
delegating control of one or more of the plurality of software components of the distributed software infrastructure to the one or more child DMS.
2 Assignments
0 Petitions
Accused Products
Abstract
A distributed media session is described, which when executed, resolves a distributed topology from a request to stream data from a source device to a client device over a network. The distributed topology references a plurality of software components that, when executed, fulfill the request. At least one of the plurality of software components is executable on each of the source device and the client device.
152 Citations
44 Claims
-
1. A method, comprising:
-
requesting data to be streamed from a source device to a client device over a network; building, by a parent Distributed Media Session (“
DMS”
), a distributed software infrastructure from an optimized distributed topology, the built distributed software infrastructure configured to stream data to the client device from the source device without rendering the data by the source device, the parent DMS providing a federated mechanism for control;resolving, by the parent DMS, a distributed topology from the request, wherein; the distributed topology references a plurality of software components that, when executed, fulfill the request; at least one of the plurality of software components is executable on each of; the source device; and the client device, instantiating, by the parent DMS, one or more child DMS; and delegating control of one or more of the plurality of software components of the distributed software infrastructure to the one or more child DMS. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method, comprising:
-
receiving a request to stream data from a source device to a client device over a network; and resolving, by a parent Distributed Media Session (“
DMS”
), a distributed topology that references software components to fulfill the request, the parent DMS providing a federated mechanism for control, wherein the distributed topology is resolved from;capabilities of the client device to render a stream of data; and capabilities of the source device to stream data that is to be rendered; building, by the parent DMS, a distributed software infrastructure from an optimized distributed topology, the built distributed software infrastructure configured to stream data to the client device from the source device without rendering the data by the source device, and building from the distributed topology a distributed software infrastructure that includes the referenced software components, wherein at least one of the software components is executable on each of; the source device; and the client device, and instantiating, by the parent DMS, one or more child DMS; and delegating control of the referenced software components included within the distributed software infrastructure to the one or more child DMS. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A method, comprising:
-
discovering the capabilities of a client device to render a stream of data; discovering the capabilities of a source device to stream data that is to be rendered, the discovering the capabilities of the client device and the source device by querying a look-up table that specifies a particular capability; building, by a parent Distributed Media Session (“
DMS”
), a distributed software infrastructure from an optimized distributed topology, the built distributed software infrastructure configured to stream data to the client device from the source device without rendering the data by the source device, the parent DMS providing a federated mechanism for control;deriving, by the parent DMS, a distributed topology from the capabilities of the client device and the capabilities of the source device, wherein; the distributed topology references a plurality of software components to fulfill the request; and at feast one of the software components referenced by the distributed topology is executable on each of; the source device; and the client device, and instantiating, by the parent DMS, one or more child DMS; and delegating control of one or more of the referenced plurality of software components to the one or more child DMS. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
-
24. A method, comprising:
-
receiving a request to stream data from a source device to a client device; discovering the capabilities of the client device to render a stream of data; discovering the capabilities of the source device to stream data that is to be rendered, the discovering the capabilities of the client device and the source device by querying a look-up table that specifies a particular capability; deriving, by a parent Distributed Media Session (“
DMS”
), a distributed topology to fulfill the request from the capabilities of the client device and the capabilities of the source device wherein the distributed topology references a plurality of software components, the parent DMS providing a federated mechanism for control;building, by the parent DMS, from the distributed topology a distributed software infrastructure, wherein the distributed software infrastructure includes the software components referenced by the distributed topology; building, by the parent DMS, a distributed software infrastructure from an optimized distributed topology, the built distributed software infrastructure configured to stream data to the client device from the source device to the client device without rendering the data by the source device; instantiating, by the parent DMS, one or more child DMS; delegating control of one or more of the plurality of software components referenced by the distributed topology to the one or more child DMS; streaming the data from the source device to the client device; and rendering the data by the client device.
-
-
25. A parent distributed media session (“
- DMS”
), comprisinga software component residing on a storage medium having instructions that when executed, directs acts comprising; resolving, by the DMS that provides a federated mechanism for control, a distributed topology that references a plurality of software components that, when executed, fulfill a request to stream data from a source device to a client device;
wherein the resolving further comprises optimizing the distributed topology such that the distributed software infrastructure which is built from the distributed topology is configured to stream data from the source device to the client device without rendering the data by the source device before the data is streamed;building, from the distributed topology, a distributed software infrastructure that includes the software components, wherein at least one of the software components is executable on each of; the source device; and the client device, instantiating, by the parent DMS, one or more child DMS; and delegating control of one or more of the plurality of software components to the one or more child DMS. - View Dependent Claims (26, 27, 28)
- DMS”
-
29. A computer-readable medium comprising computer-executable instructions residing on a storage medium that, when executed, direct a computing device to perform acts comprising:
-
resolving, by a parent Distributed Media Session (“
DMS”
) and without user intervention, a distributed topology that references a plurality of software components that, when executed, stream data from a source device to a client device over a network;building, by the parent DMS, a distributed software infrastructure from an optimized distributed topology, the built distributed software infrastructure configured to stream data to the client device from the source device to the client device without rendering the data by the source device;
wherein at least one of the plurality of software components is executable on each of;the source device; and the client device, instantiating, by the parent DMS, one or more child DMS; and delegating control of one or more of the plurality of software components to the one or more child DMS. - View Dependent Claims (30, 31, 32)
-
-
33. A computer-readable storage medium comprising computer-executable instructions that, when executed, direct a computing device to perform acts comprising:
-
discovering the capabilities of a client device to render a stream of data; discovering the capabilities of a source device to stream data that is to be rendered, the discovering the capabilities of the client device and the source device by querying a look-up table that specifies a particular capability; deriving, by a parent Distributed Media Session (“
DMS”
) and without user intervention, a distributed topology from both the capabilities of the client device and the capabilities of the source device, wherein;the distributed topology references a plurality of software components that, when executed, stream data, without rendering the data, from the source device to the client device; and at least one of the plurality of software components referenced by the distributed topology is executable on each of; the source device; and the client device, instantiating, by the parent DMS, one or more child DMS; and delegating control of one or more of the plurality of software components to the one or more child DMS. - View Dependent Claims (34)
-
-
35. A system, comprising:
-
a source device that is operable to stream data to be rendered; a client device that is operable to render a stream of data; and a parent distributed media session (“
DMS”
) which when executed, causes actions to be performed including;resolving, by the parent DMS, a distributed topology that references a plurality of software components that, when executed, stream data from the source device to the client device over a network; building, by the parent DMS, from the distributed topology a distributed software infrastructure that includes the software components, wherein the building further comprises building the distributed software infrastructure from an optimized distributed topology, the built distributed software infrastructure configured to stream data to the client device from the source device without rendering the data by the source device, wherein at least one of the software components is executable on each of; the source device; and the client device, instantiating one or more child DMS; and delegating control of one or more of the plurality of software components to the one or more child DMS. - View Dependent Claims (36, 37, 38, 39, 40, 41)
-
-
42. A system, comprising:
-
a source device which includes a software component that, when executed by the source device, streams data that is to be rendered; a client device which includes a software component that, when executed by the client device, renders a stream of data; and a parent distributed media session (“
DMS”
), which when executed by either the source device or the client device, provides a federated mechanism for control of;the software component that, when executed by the source device, streams data without rendering the data that is to be rendered; and the software component that, when executed by the client device, renders a stream of data, the parent DMS instantiating one or more child DMS and delegating control of the software component to the one or more child DMS. - View Dependent Claims (43, 44)
-
Specification