Selective Compression Based on Data Type and Client Capability
First Claim
1. A method for communicating a plurality of data streams from an application host server device, comprising:
- assembling a plurality of compression profiles for a corresponding plurality of data streams at the application host server device, where each compression profile specifies a compression limit for the corresponding data stream based upon what type of data is in the data stream, one or more transmission requirements for the data stream, and a processing capability measure of the client device that will receive the data stream;
setting up, at the application host server device, a virtual channel for each of the plurality of data streams based on the compression profile corresponding to the data stream;
selectively compressing each of the plurality of data streams based on the corresponding compression profile; and
sending the plurality of data streams over the corresponding plurality of virtual channels to at least a first client device.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus are provided for generating virtual channels to selectively compress and deliver different data streams over a communication medium to a thin client receiving device by selecting a compression technique for each data stream that takes into account the data stream type, the bandwidth/latency characteristics of the communication channel, and the processing capabilities of the thin client that is the target or source of the data. By selectively compressing data streams within multiple virtual channels that are aggregated into a combined data stream to the receiving device, each individual data stream is individually compressed and packetized within its virtual channel based on the specific different delivery, bandwidth, latency and data fidelity requirements for that data stream, as well as the processing capability of the receiving device.
93 Citations
20 Claims
-
1. A method for communicating a plurality of data streams from an application host server device, comprising:
-
assembling a plurality of compression profiles for a corresponding plurality of data streams at the application host server device, where each compression profile specifies a compression limit for the corresponding data stream based upon what type of data is in the data stream, one or more transmission requirements for the data stream, and a processing capability measure of the client device that will receive the data stream; setting up, at the application host server device, a virtual channel for each of the plurality of data streams based on the compression profile corresponding to the data stream; selectively compressing each of the plurality of data streams based on the corresponding compression profile; and sending the plurality of data streams over the corresponding plurality of virtual channels to at least a first client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An article of manufacture having at least one recordable medium having stored thereon executable instructions and data which, when executed by at least one processing device, cause the at least one processing device to:
-
assemble a plurality of data streams for transmission to one or more target client devices; evaluate each data stream to determine a plurality of transmission requirements for the data stream; establish a connection with each target client device to determine one or more processing capabilities of the target client device; and selectively compress and transmit each data stream based on the plurality of transmission requirements for the data stream and based on the one or more processing capabilities of the target client device where the data stream is to be transmitted. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A hosted graphics system, comprising:
a central server device for performing graphics processing for a plurality of remote client devices, where the central server device is configured to selectively compress different graphics data streams having different bandwidth and latency requirements over a communication medium to at least a first remote client device, where each graphics data stream is compressed into a compressed graphics data stream based on the bandwidth and latency requirements of the graphics data stream and based on the one or more processing capabilities of the remote client device where the graphics data stream is to be transmitted. - View Dependent Claims (19, 20)
Specification