Method and apparatus for compressing a continuous, indistinct data stream
First Claim
1. In a networked computer system comprising a plurality of logically interconnected network servers and client systems, and wherein at least some of said network servers are comprised of a compression unit and at least some of said client systems are comprised of a data decompression unit, a method of transmitting and receiving a continuous, indistinct data stream so as to reduce latency between the time data is retrieved and the time the data is transmitted by a network server, the method comprising the steps of:
- in response to a request from a client system, retrieving at a network server data to be transmitted back to the client system;
as soon as data retrieval is initiated and without regard to retrieving a complete block of data, determining whether the retrieved data is compressible;
without regard to retrieving a complete block of data, attaching the retrieved data to a compression stream generated at the compression unit and essentially simultaneously transmitting the data as it is retrieved and attached to the compression stream, and continuing to retrieve the requested data, attach it to the compression stream and transmit the attached data without regard to any predetermined length of the data until all requested data has been sent; and
receiving the transmitted data as attached to the compression stream in the form of a continuous, indistinct data stream at a decompression unit of a client server, and detaching and decompressing the data as it is received without regard to any predetermined length of the data.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for compressing a continuous, indistinct data stream is disclosed. According to one aspect of the present invention, the data stream is examined to determine whether it is compressible. If compressible, the data stream is then attached to a compression stream, and compression is performed immediately to generate a compressed data stream. The compressed data stream is transmitted continuously as it is generated. According to another aspect of the invention, the data stream is an HTML data stream.
186 Citations
22 Claims
-
1. In a networked computer system comprising a plurality of logically interconnected network servers and client systems, and wherein at least some of said network servers are comprised of a compression unit and at least some of said client systems are comprised of a data decompression unit, a method of transmitting and receiving a continuous, indistinct data stream so as to reduce latency between the time data is retrieved and the time the data is transmitted by a network server, the method comprising the steps of:
-
in response to a request from a client system, retrieving at a network server data to be transmitted back to the client system; as soon as data retrieval is initiated and without regard to retrieving a complete block of data, determining whether the retrieved data is compressible; without regard to retrieving a complete block of data, attaching the retrieved data to a compression stream generated at the compression unit and essentially simultaneously transmitting the data as it is retrieved and attached to the compression stream, and continuing to retrieve the requested data, attach it to the compression stream and transmit the attached data without regard to any predetermined length of the data until all requested data has been sent; and receiving the transmitted data as attached to the compression stream in the form of a continuous, indistinct data stream at a decompression unit of a client server, and detaching and decompressing the data as it is received without regard to any predetermined length of the data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. In a networked computer system comprising a plurality of logically interconnected network servers and client systems, and wherein at least some of said network servers are comprised of a compression unit and at least some of said client systems are comprised of a data decompression unit, a method of transmitting and receiving a continuous, indistinct data stream so as to reduce latency between the time data is retrieved and the time the data is transmitted by a network server, the method comprising the steps of:
-
in response to a request from a client system, retrieving at a network server data to be transmitted back to the client system; as soon as data retrieval is initiated and without regard to retrieving a complete block of data, determining whether the retrieved data is compressible by performing one of the steps of; examining said retrieved data to determine whether a header of said retrieved data matches a predetermined header type; and examining said retrieved data to determine whether a file extension of a file from which said retrieved data originated matches a predetermined file extension type; without regard to retrieving a complete block of data, attaching the retrieved data to a compression stream generated at the compression unit and essentially simultaneously transmitting the data as it is retrieved and attached to the compression stream, and continuing to retrieve the requested data, attach it to the compression stream and transmit the attached data without regard to any predetermined length of the data until all requested data has been sent; and receiving the transmitted data as attached to the compression stream in the form of a continuous, indistinct data stream at a decompression unit of a client server, and detaching and decompressing the data as it is received without regard to any predetermined length of the data. - View Dependent Claims (9, 10, 11)
-
-
12. In a networked computer system comprising a plurality of logically interconnected network servers and client systems, and wherein at least some of said network servers are comprised of a compression unit and at least some of said client systems are comprised of a data decompression unit, a computer program product for implementing a method of transmitting a continuous, indistinct data stream so as to reduce latency between the time data is retrieved and the time the data is transmitted by a network server, the computer program product comprising:
-
a computer readable medium for carrying computer program code means for implementing said method; and said computer program code means comprising; program code means for retrieving at a network server data to be transmitted back to a client system in response to a request from the client system; program code means for determining whether the retrieved data is compressible as soon as data retrieval is initiated and without regard to retrieving a complete block of data; and program code means for attaching the retrieved data to a compression stream generated at the compression unit without regard to retrieving a complete block of data, and essentially simultaneously transmitting the data as it is retrieved and attached to the compression stream, and continuing to retrieve the requested data, attach it to the compression stream and transmit the attached data without regard to any predetermined length of the data until all requested data has been sent. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. In a networked computer system comprising a plurality of logically interconnected network servers and client systems, and wherein at least some of said network servers are comprised of a compression unit and at least some of said client systems are comprised of a data decompression unit, a computer program product for implementing a method of transmitting a continuous, indistinct data stream so as to reduce latency between the time data is retrieved and the time the data is transmitted by a network server, the computer program product comprising:
-
a computer readable medium for carrying computer program code means for implementing said method; and said computer program code means comprising; program code means for retrieving at a network server data to be transmitted back to a client system in response to a request from the client system; program code means for determining whether the retrieved data is compressible as soon as data retrieval is initiated and without regard to retrieving a complete block of data by performing one of the steps of; examining said retrieved data to determine whether a header of said retrieved data matches a predetermined header type; and examining said retrieved data to determine whether a file extension of a file from which said retrieved data originated matches a predetermined file extension type; and program code means for attaching the retrieved data to a compression stream generated at the compression unit without regard to retrieving a complete block of data, and essentially simultaneously transmitting the data as it is retrieved and attached to the compression stream, and continuing to retrieve the requested data, attach it to the compression stream and transmit the attached data without regard to any predetermined length of the data until all requested data has been sent. - View Dependent Claims (20, 21, 22)
-
Specification