throbber
(12) United States Patent
`US 6,449,658 B1
`(10) Patent N0.:
`Lafe et al.
`(45) Date of Patent:
`Sep. 10, 2002
`
`USOO6449658B1
`
`(54) METHOD AND APPARATUS FOR
`ACCELERATING DATA THROUGH
`COMMUNICATION NETWORKS
`
`(75)
`
`InVentorS: Olurinde E. Lafe, Chesterland; Atfla
`Boros, University HeightS; Valeriy
`Tsuryk, Richmond Heights, all of OH
`(US)
`
`(73) Assignee: QuikCAT.c0m, Inc., Mayfield Village,
`OH (US)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21) Appl. No.: 09/442,797
`
`NOV. 18, 1999
`
`Filed:
`(22)
`Int Cl 7
`(51)
`G06F 15/16
`(52) us. Ci.
`........................ 709/247; 709/219; 709/203
`(58) Field of Search ................................. 7%99/224279, 221093,
`’
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`5/1997 Gleeson et al‘ """"""" 370/230
`5’627’829 A
`6/1997 Tyler et a1.
`..........
`395/117
`5,638,498 A
`
`9/1997 Pepe et al
`709/219
`5673322 A *
`.......... 709/228
`6/1998 Kralowetz et a1.
`5,768,525 A *
`5,838,927 A * 11/1998 Gillon et a1.
`............... 709/247
`5,872,845 A
`2/1999 Feder .......................... 380/18
`5,938,737 A *
`8/1999 Smallcomb et a1.
`........ 709/247
`
`6,111,566 A
`6,112,250 A *
`6,125,209 A
`6,144,996 A
`
`8/2000 Chiba et a1.
`................ 345/202
`8/2000 Appelman ........... 709/247
`
`
`9/2000 Dorricott ............. 382/233
`
`..... 709/217
`11/2000 Starnes et a1.
`
`12/2000 YOkOIIllZO ................... 709/203
`6,163,796 A
`FOREIGN PATENT DOCUMENTS
`
`JP
`JP
`
`WO
`
`08331173
`10334003
`
`12/1996
`12/1998
`
`”/1997
`9749252
`OTHER PUBLICATIONS
`
`Nand, A., “Mail Servers with Embedded Data Compression
`Mechanism,” document number XP—002164409, dated Mar.
`30, 1998, 1 page.
`* cited by examiner
`.
`.
`.
`Primary Examzner—Ayaz Sheikh
`Assistant Examiner—Philip B. Tran
`(74) Attorney, Agent, or Firm—Michael A. Jaffe
`(57)
`ABSTRACT
`A method and apparatus for accelerating data transport
`through communication networks (e.g.,
`the Internet)
`is
`taught. The data sources may include Internet web pages,
`electronic mails, computer files, digitized pictures, voice and
`video. The method combines smart content-based data com-
`
`pression schemes with intelligent routing to efficiently move
`information across a network. The apparatus works with
`.
`.
`.
`.
`eXisting communications protocols (e.g., TCP/IP, UDP,
`HTTP, SMTP and POP3) and fits transparently with Internet
`browsing applications
`
`31 Claims, 9 Drawing Sheets
`
`
`
`
`INTERNET
`
`SERVICE
`
`
`PROVIDER
`
`
`
`
`LOW-SPEED
`
`
`
`
`
`
`
`
`CLIENT
`
`THE INTERNET
`
`
`
`
`
`
`
`ACCELERATOR
`SERVER
`
`Commvault Ex. 1029
`Commvault v. Realtime
`
`US Patent No. 9,054,728
`
`Page 1
`
`Page 1
`
`Commvault Ex. 1029
`Commvault v. Realtime
`US Patent No. 9,054,728
`
`

`

`US. Patent
`
`Sep. 10, 2002
`
`Sheet 1 0f 9
`
`US 6,449,658 B1
`
`
`
`
`
`HIGH-SPEED
`
`
`
`
`
`
`THEINTERNET
`
`Fig.I PRIORART
`
`CLIENT
`
`Iilllll"'
`I! 'II
`
`Page2
`
`LAJ
`
`o:
`,_
`1...:
`Lu
`:30
`m§>
`D—LIJO
`zmo:
`...
`CL
`
`LOW-
`
`SPEED
`
`Page 2
`
`

`

`US. Patent
`
`Sep.10,2002
`
`SheetZ 0f9
`
`US 6,449,658 B1
`
`puzmmHzHwxp
`
`
`
`mo~<mmgmuu<
`
`szmsz_
`
`muw>mmm
`
`mmo_>om¢
`
`cummm-304
`
`gags,“Nm:
`xu>mmm.
`
`
`
`
`
` m.544<3mm_g44<3mmHm
`
`4<zogkzu>zou
`
`>xommQEHI
`
`mop<mu4muu<
`
`mm>mmm
`
`4<zompzm>zou
`
`>xommmph:
`
`moh<mu4muu<
`
`sz_4u
`
`mm
`
`
`
`awhzmzoum.mmm:
`
`onp<uH4mm<
`
`hzu_4u
`
`Page 3
`
`Page 3
`
`
`
`
`
`
`
`

`

`US. Patent
`
`nr&
`
`mm
`
`mm.
`
`9“m3AmhS
`
`Snv
`
`1DD8560a
`
`
`
`oummmIo_I
`
`onhumzzou
`
`mm>mmm
`
`mop<mm4muu<
`mmwmmzouuo
`
`cummm304
`
`zo_»uuzzou
`
`moh<mu4muu<ommwmemm
`
`zo__<u_4mm<
`
`Aouohomm
`
`mmmm<m
`
`
`
`
`
`uHuHuwmmmm»p
`
`Zonmmmmzou
`
`a>HH4<DQH<
`
`M“a>H_4<Dg
`
`awh<Dmmmmmazou
`
`ommmummxouz:
`
`ma:
`
`Page4
`
`Page 4
`
`
`
`
`
`
`
`

`

`1
`
`2
`
`9M4
`
`6
`
`1
`
`0,N<©L
`
`m.m~mo...
`
`.2823:32t3335Us;38;
`
`m22.S.633«
`
`=8.UZS<..:§
`
`
`
`Va8m.aszmMm3%22:3:eaEm
`
`
`
`6,..WVa0%$283”.2%.22ESE5535
`
`
`
`
`
`onHzmz_4H<z.M:25amaszSmgm:3.2:gm
`
`
`
`
`
`B.8NS0:E2:;5iii}-i.-.-i.-ii.........-iiiiiii.z-
`
`Page 5
`
`w.EDEU53
`
`S Ia
`
`;
`
`US. Patent
`
`285.28@8352 mms
`
`
`
`Eon«maaum33H333.3»:Q
`
`tamed:3.
`
`Page 5
`
`
`
`
`

`

`US. Patent
`
`Sep. 10, 2002
`
`Sheet 5 0f 9
`
`US 6,449,658 B1
`
`—-— —.—u—.—uu—u—u—n—.—.—.—.—._.—.—.—._._._.—.— _.—-—._.—._
`MATCH T0 FIG.6AT
`
`MIME HRU
`
`MIME HRO
`
`
`
`
`PICTUREI.BMP
`BASE64 ENCODEO
`
`MIME HRD
`
`TEXT
`
`IMAGE.BMP
`
`POWERPOINT.PPT
`BASE64 ENCOOEO
`
`
`
`
`
`
`
`
`
`
`
`
`
`
` 20
`
`MIME HRO
`
`_ S
`
`
`MTP CMO: OUIT
`
`
`ACCELERATOR CLIENT
`
`SMTP RESPONSE: 250 OK
`
`SMTP RESPONSE: 221
`SMTP.ABCINC.COM
`
`CLOSING SESSION
`
`Fig. 6A2
`
`Page6
`
`Page 6
`
`

`

`US. Patent
`
`Sep. 10, 2002
`
`Sheet 6 0f 9
`
`US 6,449,658 B1
`
`ACCELERATOR CLIENT
`
`20
`
`
`
`
`
`
`
`
`SMTP CMO MAIL FROM
`
`SMTP CMO RECEIPT TO
`
`SMTP CMD OATA
`
`
` SMTP RESPONSE: 250 OK
`
`
`MAIL.ABCINC.COM
`
`SMTP RESPONSE: 250 OK
`
`SMTP RESPONSE: 3S4 START
`MAIL INPUT
`
`MIME HRO
`
`
`
`
`
`MIME HRO
`
`
`
`
`
`
`
`
`
`
`
`
`
`
` SMTP RESPONSE: 221
`3O
`
`PICTUREI.BMP
`
`O
`
`MIME HRO
`
`PPT.TXT
`
`TEXT
`
`IMAGE.BMP
`
`O
`
`MIME HRD
`
`Fig. 631
`
`SMTP RESPONSE: 250 OK
`
`
`SMTP CMO: OUIT
`
`
`SMTP.A8CINC.COM
`CLOSING SESSION
`
`-
`
`ACCELERATOR SERVER
`
`MATCH T0 FIG.682
`
`Page?
`
`Page 7
`
`

`

`US. Patent
`
`Sep. 10, 2002
`
`Sheet 7 0f 9
`
`US 6,449,658 B1
`
`_._ ..._.._.—..—._._.—.—-—.—-_.—4—q—.—.—.—-—.—u— —-_..—.-—..—.—
`MATCH T0 F1068!
`
`SHIP CM” MAIL FROM
`
`SMTP ENO RECEIPT TO
`
`SMTP [NO DATA
`
`MIME HRD
`
`
`
`
`
`
`
`SMTP RESPONSE: 250 OK
`MAIL.ABCINC.COM
`
`SHIP RESPONSE: 250 OK
`
`SNTP RESPONSE: 354 START
`MA
`NP T
`IL I
`U
`
`
`
`
`
`
`
`Fig. 682
`
`SMTP RESPONSE: 250 OK
`
`SMTP RESPONSE: 22!
`SMIP.ABCINC.COM
`CLOSING SESSION
`
`
`
`
`
`Page 8
`
`MIME HRD
`
`
`PICTUREI.BMP
`BASE64 ENCOOED
`
`
`O
`
`MIME HRU
`
`
`
`
`
`
`
`
`
`
`
`
`
`IMAGE.BMP
`
`D
`
`POWERPOINT.PPT
`BASE64 ENCODED
`
`_ S
`
`MIP EMU: UUIT
`
`
`
`SMTP ABCINC.COM - SMTP SERVER
`
`Page 8
`
`

`

`US. Patent
`
`Sep. 10, 2002
`
`Sheet 8 0f 9
`
`US 6,449,658 B1
`
`
` TEXT AND
`FORMATING
`
`
`
`
`
`COMPRESSION
`JPG
`DISASSEMBLY
`AT DUALITY D
`
`TEXT AND
`FORMATING
`
`
`
`FORMATING
`
`
`TEXT AND
`
`TEXT AND
`FORMATING
`
`
`
`DECOMPRESSION
`
`
`
`
`
`
`TEXT AND
`FORMATING
`
`
`TEXT AND
`FORMATING
`
`
`
`
`
`JPG
`ASSEMBLY
`D
`
`Page9
`
`Page 9
`
`

`

`US. Patent
`
`Sep. 10, 2002
`
`Sheet 9 0f 9
`
`US 6,449,658 B1
`
` USER'S COMPUTER
`
`
`
`
`
`UNCDMPRESSED
`AT QUALITY a
`
`
`
`
`GET
`JPG
`IMAGE!
`
`
`
`-
`
`127.0.0.l
`lLOCALHOST'
`
`ACCELERATORCLIENT
`
`
`
`
`
`
`
`
`
`
`-_---
`
`GET
`IMAGEI JPG
`
`COMPRESSED
`
`
` AT QUALITY 0
`
`
`HTML
`
`30
`
`
`
`ACCELERA—ORSERVER
`
`ORIGINAL
`OBJECTS
`
`GET
`IMAGE] JPG
`
`
`
`
`CNN-COM
`
`Fig, 8
`
`Page10
`
`Page 10
`
`

`

`US 6,449,658 B1
`
`1
`METHOD AND APPARATUS FOR
`ACCELERATING DATA THROUGH
`COMMUNICATION NETWORKS
`
`FIELD OF INVENTION
`
`The present invention generally relates to a method and
`apparatus for improving data transfer rates, and more par-
`ticularly to a method and apparatus for accelerating data
`through communication networks.
`
`BACKGROUND OF THE INVENTION
`
`The bandwidth problem is a lingering issue with many
`communication networks, particularly the Internet. No Inter-
`net surfer enjoys the long delays associated with viewing
`graphically intensive web sites. The use of the Internet
`continues to grow at an exponential rate. As the number of
`users has increased, so has the need for a solution to deliver
`data over the Internet quickly.
`Most Internet users connect to the Internet by dialup
`modems running at 28.8 kilobits per second (kps) to 56.6
`kps. Wireless mobile users have a bigger bandwidth prob-
`lem. The best wireless connections are currently below 19.2
`kps. Corporate landline users generally enjoy faster connec-
`tions of 128 kps or more. However, even at the higher
`connection speeds, users can find themselves waiting end-
`lessly for a web site to download to their personal computer
`because of the size of data at the site.
`
`The majority of web sites that tend to hold a user’s interest
`use color-rich graphic files for appeal. These graphics can
`consume over 50% of the data volume found within the web
`site. Digital audio and video files similarly require millions
`of bytes per second for transmission. The balance of the
`contents on a typical web page consists of text files, most of
`which are transmitted in raw uncompressed form.
`Due to the rapid growth of Internet usage and the large
`size of most digital files on web pages,
`it has become
`apparent that a dire need exists for a seamless transport
`engine to move data quickly through the Internet. The ideal
`transport engine would allow the Internet user to control the
`rate at which information is received or sent.
`
`FIG. 1 illustrates a conventional prior art arrangement for
`communications between a client and the Internet.
`In
`
`particular, a low speed communications link is utilized
`between a Client 12 and an Internet service provider (ISP)
`16. This low speed communications link will typically take
`the form of a conventional telephone voice line of the Plain
`Old Telephone System (POTS) or a Cellular Wireless Net-
`work. A high speed communications link (e.g., T1/T3
`carrier) is utilized between the Internet 18 and ISP 16. It is
`readily apparent
`that the data transfer rate will be con-
`strained by the low speed communications link between
`client 12 and ISP 16. Therefore, despite the high speed
`communications link provided between ISP 16 and the
`Internet 18, the user of Client 12 will experience slow data
`transfer rates due to the low speed communications link
`between Client 12 and ISP 16. The present
`invention
`addresses this and other drawbacks of the prior art.
`It can be readily appreciated that the need often arises to
`transmit large amounts of data across a variety of commu-
`nication networks (e.g., the Internet;
`the Plain Old Tele-
`phone System (POTS); Cellular Wireless Networks; Local
`Area Networks (LAN); Wide Area Networks (WAN); and
`Satellite Communications Systems). A major example is
`digital audio data. The volume of data required to encode
`raw audio data is large. Consider a stereo audio data sampled
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`at 44100 samples per second and with a maximum of 16 bits
`used to encode each sample per channel. Aone-hour record-
`ing of a raw digital music with that fidelity will occupy about
`606 megabytes (MB) of storage space. To transmit such an
`audio file over 56 kilobits per second communications
`channel (e.g.,
`the rate supported by most POTS through
`modems), will take over 24.6 hours.
`One approach for dealing with the bandwidth limitation is
`to compress the data before transmission. For certain kinds
`of data (e.g., text, computer executable file, financial data)
`the compression/decompression process must reproduce a
`perfect reproduction of the transmitted data when decoded.
`Such a process is described as being “lossless.” In some
`other cases, especially when the transmitted information is
`to be perceived and not to be read (e.g., pictures, audio,
`video data) the compression/decompression process need
`not result in a perfect reconstruction of the transmitted data.
`The process is described as being “lossy” when the recon-
`structed data is not a perfect copy of the original.
`The present invention provides a method and apparatus
`for transmitting and receiving data at faster rates through
`communication networks, such as the Internet.
`Moreover, the present invention selectively employs both
`“lossless” and “lossy” compression methods in order to
`compress the information being moved across a given
`network.
`
`SUMMARY OF THE INVENTION
`
`According to the present invention there is provided a
`system for data transfer acceleration comprising:
`(1) an
`accelerator client for intercepting data transferred between a
`client computer and a communications network service
`provider via a first communications link, wherein said
`accelerator client compresses data transmitted from the
`client computer to the communications network service
`provider, and forwards said compressed data to said com-
`munications network service provider, and said accelerator
`client decompresses compressed data transmitted from the
`communications network service provider to the client
`computer, and forwards said uncompressed data to said
`client computer; and (2) an accelerator server for intercept-
`ing data transferred between the communications network
`service provider and a communications network, via a
`second communications link, wherein said accelerator
`server decompresses compressed data transmitted from the
`communications network service provider to the communi-
`cations network, and forwards the uncompressed data to the
`communications network, and said accelerator server com-
`presses data transmitted from the communications network
`to the communications network service provider, and for-
`wards the compressed data to the communications network
`service provider.
`According to another aspect of the present invention there
`is provided a method of data transfer acceleration compris-
`ing: intercepting data transferred between a client computer
`and a communications network service provider via a first
`communications link, wherein data transmitted from the
`client computer to the communications network service
`provider is compressed, and forwarded to said communica-
`tions network service provider, and decompressing com-
`pressed data transmitted from the communications network
`service provider to the client computer, and forwarding said
`uncompressed data to said client computer; and
`intercepting data transferred between the communications
`network service provider and a communications network,
`via a second communications link, wherein compressed data
`
`Page 11
`
`Page 11
`
`

`

`US 6,449,658 B1
`
`3
`transmitted from the communications network service pro-
`vider to the communications network is decompressed, and
`forwarded to the communications network, and data trans-
`mitted from the communications network to the communi-
`cations network service provider is compressed, and for-
`warded to the communications network service provider.
`According to still another aspect of the present invention
`there is provided a system for data transfer acceleration
`comprising: (1) an accelerator client for intercepting data
`transferred between a client computer and a communications
`network service provider via a first communications link,
`wherein said accelerator client selectively compresses data
`transmitted from the client computer to the communications
`network service provider, and forwards the intercepted data
`to said communications network service provider, and said
`accelerator client decompresses any compressed data trans-
`mitted from the communications network service provider to
`the client computer, and forwards the intercepted data to said
`client computer; and (3) an accelerator server for intercept-
`ing data transferred between the communications network
`service provider and a communications network, via a
`second communications link, wherein said accelerator
`server decompresses any compressed data transmitted from
`the communications network service provider to the com-
`munications network, and forwards the intercepted data to
`the communications network, and said accelerator server
`selectively compresses data transmitted from the communi-
`cations network to the communications network service
`
`provider, and forwards the intercepted data to the commu-
`nications network service provider.
`In accordance with yet another aspect of the present
`invention there is provided a method of data transfer accel-
`eration comprising:
`intercepting data transferred between a client computer
`and a communications network service provider via a
`first communications link, wherein data transmitted
`from the client computer to the communications net-
`work service provider is selectively compressed, and
`forwarded to said communications network service
`
`provider, and decompressing compressed data trans-
`mitted from the communications network service pro-
`vider to the client computer, and forwarding said
`uncompressed data to said client computer; and
`intercepting data transferred between the communications
`network service provider and a communications
`network, via a second communications link, wherein
`compressed data transmitted from the communications
`network service provider to the communications net-
`work is decompressed, and forwarded to the commu-
`nications network, and data transmitted from the com-
`munications network to the communications network
`
`service provider is selectively compressed, and for-
`warded to the communications network service pro-
`vider.
`
`An advantage of the present invention is the provision of
`a method and apparatus for increasing a data transfer rate.
`Another advantage of the present invention is the provi-
`sion of a method and apparatus for data transfer acceleration
`that operates independently of any special network protocol.
`Another advantage of the present invention is the provi-
`sion of a method and apparatus for data transfer acceleration
`that operates whenever a TCP/IP network connection to an
`Accelerator Server is available.
`
`Another advantage of the present invention is the provi-
`sion of a method and apparatus for data transfer acceleration
`that operates with the public Internet, independently from
`any Internet service provider (ISP).
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`Another advantage of the present invention is the provi-
`sion of a method and apparatus for data transfer acceleration
`that operates within a corporate intranet.
`Still another advantage of the present invention is the
`provision of a method and apparatus for data transfer
`acceleration that operates through firewalls.
`Still another advantage of the present invention is the
`provision of a method and apparatus for data transfer
`acceleration that operates with corporate HTTP proxies.
`Yet another advantage of the present invention is the
`provision of a method and apparatus for data transfer
`acceleration that operates in Virtual Public Networks.
`Yet another advantage of the present invention is the
`provision of a method and apparatus for data transfer
`acceleration that supports both wireless and wire line sys-
`tems.
`
`Yet another advantage of the present invention is the
`provision of a method and apparatus of data transfer accel-
`eration that selectively uses “lossless” and “lossy” methods
`in order to compress/decompress data.
`Still other advantages of the invention will become appar-
`ent to those skilled in the art upon a reading and under-
`standing of the following detailed description, accompany-
`ing drawings and appended claims.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The invention may take physical form in certain parts and
`arrangements of parts, a preferred embodiment and method
`of which will be described in detail in this specification and
`illustrated in the accompanying drawings which form a part
`hereof, and wherein:
`FIG. 1 is an illustration of conventional information flow
`
`to and from a Client (Internet user) that is connected to the
`Internet through an Internet Service Provider (ISP);
`FIG. 2 is an illustration of the information flow between
`
`a Client and the Internet, according to a preferred embodi-
`ment of the present invention;
`FIG. 3 is an illustration of an Accelerator Client and an
`
`Accelerator Server operating from behind a security “fire-
`wall”;
`FIG. 4 illustrates the connection between an Accelerator
`
`Client and an Accelerator Server via a low-speed commu-
`nications link;
`FIG. 5 illustrates the general process for compression of
`various types of data objects;
`FIGS. 6A and 6B illustrate the process of sending an
`electronic mail including media and non-media objects, in
`accordance with a preferred embodiment of the present
`invention;
`FIG. 7A illustrates the disassembly of a data document
`into media and non-media objects, and compression thereof;
`FIG. 7B illustrates the decompression of media and
`non-media objects, and re-assembly thereof into the original
`data document; and
`FIG. 8 illustrates the processes of downloading a web
`page using an Accelerator Client according to a preferred
`embodiment of the present invention.
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`The present invention provides a method and apparatus
`for sending and receiving data at a faster rate in a commu-
`nication network, such as the Internet. The present invention
`generally operates as follows: when a Client (i.e., the user)
`requests information (e.g., a page from a web site) from the
`
`Page12
`
`Page 12
`
`

`

`US 6,449,658 B1
`
`5
`the request is processed through an Accelerator
`Internet,
`Server (AS). Acommand is issued by the AS via the Internet
`for the requested web page to be imported into the AS. The
`received contents of the web page (including images, text,
`audio and video data) are then compressed by the AS. The
`compressed data is sent back to the Client. However, a
`decoder, which forms a part of an Accelerator Client (AC),
`intercepts the data sent to the client and decompresses the
`compressed data, and rebuilds the requested page for display
`at the Client. The total time it takes to deliver the requested 10
`page is reduced, because a smaller data chunk (i.e., com-
`pressed data rather than uncompressed data) is transported
`through low speed communication lines typically used
`between the Client and the Internet. The present invention
`also incorporates the acceleration of electronic mail (email)
`during both the sending and receiving phases, as will also be
`described in detail below.
`
`15
`
`5
`
`In accordance with a preferred embodiment of the present
`invention, data acceleration is achieved by replacing the
`Client’s slow connection with a compressed link to the 20
`Accelerator Server, as will be described below. This allows
`the user to transfer large amounts of data more quickly over
`the slow connection. The Accelerator Server is connected to
`
`the Internet or a corporate intranet by a high-speed connec-
`tion. The effect is that the user realizes much higher data 25
`transfer speeds, because the same amount of data can be
`transferred in less time.
`The Accelerator Server and Accelerator Client use
`
`intelligent, content-based compression/decompression algo-
`rithms that can compress pictures, images (e.g., JPEG and 30
`GIF files) and other media objects with minimal percep-
`tional quality loss achieving much higher compression ratios
`than conventional lossless compression algorithms. Lossless
`compression can be used for non-media objects, such as text,
`formatting, executables and unsupported media objects. In 35
`contrast,
`lossy compression algorithms can be used for
`media objects, such as images, video and audio. Examples
`of compression algorithms include, but are not limited to
`cellular automata transforms (CAT), discrete cosine
`transform, wavelets, fractal image compression, Huffman 40
`coding, arithmetic coding and dictionary techniques (e.g.,
`LZ77 and LZ78).
`Table I, set forth below, provides a glossary of terms
`commonly used in connection with Internet communica- 45
`tions:
`
`HTTP
`
`HTML
`
`SMTP
`
`POP3
`
`MIME
`
`BASE64
`
`TABLE I
`
`
`
`Hypertex Transfer Protocol: Used to download and upload
`content from the World Wide Web.
`Hypertex Markup Language: The set of “markup” symbols
`or codes inserted in a file intended for display on a World
`Wide Wen browser.
`Simple Mail Transfer Protocol: Used to send mail messages
`in Internet.
`Post Office Protocol version 3: Used to retrieve messages
`from hos mailboxes.
`Multi—Purpose Internet Mail Extensions: Used to exchange
`contents of different types other than text, which was the
`only con ent originally meant to transfer using SMTP and
`POP3. It allows transferring attachment of multimedia and
`documen content, as well as nested and forwarded
`attachments. It defines codes for each content type and
`encoding type like BASE64, QUOTED-PRINTABLE, and
`the like.
`An encocing scheme, which encodes binary content, which
`can include non-printable and control into printable
`characters. It makes content longer, but BASE64 encoded
`content can travel through conventional SMTP and POP3
`host, which cannot process binary content.
`
`50
`
`55
`
`60
`
`65
`
`6
`
`RPC
`
`DCOM
`
`JPG, JPEG
`
`GIF
`
`TABLE I-continued
`Remote Procedure Call: Used to execute a function
`call at a remote computer, without knowledge of the
`underlying network.
`Distributed Component Object Model: A set of Microsoft
`concepts and program interfaces in which client program
`objects can request services from server program objects
`on other computers in a network.
`The Component Object Model (COM) provides a set of
`interfaces allowing clients and servers to communicate
`within the same computer (running a Windows 95 or NT
`system).
`Joint Photographic Experts Group: A graphic image format,
`based on the Discrete Cosine Transform, created by
`choosing from a range of compression qualities.
`Graphics Interchange Format: One of the two most common
`file formats for graphic images on the World Wide Web.
`
`Referring now to the drawings wherein the showings are
`for the purposes of illustrating a preferred embodiment of
`the invention only and not for purposes of limiting same,
`FIG. 2 illustrates the flow of information between a Client
`and the Internet, according to a preferred embodiment of the
`present
`invention. A system according to a preferred
`embodiment of the present invention may include a Client
`22, an Accelerator Client (AC) 20, an ISP 26, an Accelerator
`Server (AS) 30 and a communications network, such as the
`Internet 28. A low speed communications link may be
`utilized between Client 22 and ISP 26. This low speed
`communications link will
`typically take the form of a
`conventional telephone voice line of the Plain Old Tele-
`phone System (POTS) or a Cellular Wireless Network. A
`high speed communications link (e.g., a T1/T3 carrier) is
`typically utilized between ISP 26 and AS 30, and between
`AS 30 and the Internet 28. The present invention utilizes
`data compression to improve the data transfer rate through
`the slowest communications link of the system, namely, the
`low speed communications link between client 22 and ISP
`26. Asimplified illustration of the data flow is shown in FIG.
`4.
`
`Accelerator Client 20 is an application that runs on Client
`22 (i.e.,
`the user’s computer) or on a separate special-
`purpose device or computer system used in connection with
`Client 22. In a preferred embodiment, it supports the fol-
`lowing Internet. protocols: HTTP (Web), SMTP, and POP3
`(email), all of which are defined above.
`Accelerator Server 30 is an application that runs on a
`general-purpose server computer or on a special-purpose
`device or computer system. In a preferred embodiment, it
`also supports the following Internet protocols: HTTP (Web),
`SMTP, and POP3 (email).
`Operation of the system shown in FIG. 2 will now be
`described in detail. In the embodiment illustrated in FIG. 2,
`Accelerator Client 20 runs on client computer 22. Accelera-
`tor Client 20 communicates with browsers and email clients
`
`running on client 22 using a special IP address 127.0.0.1,
`known as “localhost”. This is simply a shortcut, which is
`used by TCP/IP for referring to the computer on which the
`program is running. This is a convenient way to force a
`browser or an email client application to communicate with
`a program running on the same computer using the concept
`of TCP/IP networking. Accelerator Client 20 intercepts the
`transfer protocol (HTTP, SMTP, POP3) and extracts its
`contents,
`then selectively performs compression when
`sending, and decompression when receiving compressed
`contents. It should be appreciated that Accelerator Client 20
`will decide whether compression is worthwhile for
`improved data transfer rates. Therefore, not all data will
`necessarily be compressed in all cases.
`
`Page 13
`
`Page 13
`
`

`

`US 6,449,658 B1
`
`7
`Referring now to FIG. 5, the process of compression will
`be described in detail. Accelerator Client 20 and Accelerator
`
`Server 30 include a protocol parser 52, a compressor 54, and
`a protocol assembler 56. Protocol parser 52 breaks a data
`document into media and non-media objects (e.g., image
`objects, text objects, etc.). Compressor 54 utilizes a suitable
`compression technique to compress each object at a quality
`Q. Protocol assembler 56 receives the compressed objects,
`decompresses the compressed objects and reassembles them
`accordingly. Protocol assembly 56 includes a decompressor.
`It should be understood that in most cases non-media objects
`(e.g., text objects) are subject to lossless compression (i.e.,
`Q=100).
`In accordance with an embodiment of the present inven-
`tion wherein a CAT hierarchical compression method is
`used, the Accelerator Server 30 may determine that one or
`more web pages or other data is frequently requested.
`Accordingly, it will cache the web pages or other data in
`compressed form at Q=100. By caching at Q=100,
`the
`Accelerator Server 30 can provide the web page or other
`data at any level of compression quality Q requested by a
`client.
`
`It should be appreciated that Accelerator Client 20 can
`work through conventional HTTP Proxy servers and
`firewalls, as illustrated in FIG. 3.
`FIG. 8 illustrates the case of downloading hypothetical
`media objects (i.e., imagel.jpg, image2.gif) and non-media
`objects (i.e., HTML text of cnn.com),
`in response to an
`Internet GET request. All compression and decompression is
`done using quality Q, which may be selected by the user. As
`indicated above quality Q=100 signifies lossless
`compression, and is typically utilized for non-media objects
`such as text objects. The following are the steps for data
`acceleration, according to a preferred embodiment of the
`present invention, during a web browsing session at client
`computer 22:
`(1) the user’s browser (running on client 22) is directed to
`the localhost as to an HTTP Proxy;
`(2) The browser sends the appropriate GET requests for
`the HTML page. In FIG. 8, the process for downloading
`the cnn.com web page is shown.
`(3) The GET request is intercepted by Accelerator Client
`20 which may compress the GET request and for-
`warded it to Accelerator Server 30 via ISP 26;
`(4) Accelerator Server 30 then performs the following:
`A. decompress the GET request (if in compressed
`form) and download the requested HTML text and/or
`other data from the Internet 28 in accordance with
`
`the GET request,
`B. selectively performing a lossy and/or lossless com-
`pression to generate one or more compressed
`objects, and
`C. send the compressed objects to Accelerator Client 20
`via ISP 26.
`
`(5) Accelerator Client then performs the following:
`A. decompresses a compressed object sent by Accel-
`erator Server 30, and
`B. sends the decompressed object to the browser run-
`ning on client 22.
`(6) The browser on client 22 then performs the following:
`A. displays the decompressed object (e.g., text, JPG
`image, or GIF image),
`B. extracts the embedded links, and
`C. issues requests to Accelerator Client 20 for the next
`object, and in response thereto Accelerator Client 20
`sends the next object (decompressed).
`
`8
`In the case where a user desires to send an electronic mail
`
`(email) message, an email client, running on client computer
`22, is used to create the email message. Reference is now
`made to FIGS. 6A and 6B, wherein an email message
`includes two attachments (picturel.bmb and powerpnt.ppt).
`The steps involved in accelerating the sending of electronic
`mail messages, according to a preferred embodiment of the
`present invention are as follows:
`(1) In response to initiation of a “send” command, the
`email client sends SMTP commands to Accelerator
`Client 20 instead of the destination SMTP server smt-
`
`p.abcinc.com (a fictional address);
`(2) Accelerator Client 20 forwards these commands to the
`Accelerator Server 30. It should be noted that AC 20
`
`will selectively compress the data at a quality Q. In this
`regard, some data may require that it not be compressed
`in order for the data transfer operation to successfully
`operate, as will be explained in further detail below;
`(2) Accelerator Server 30 decompresses the compressed
`data and sends the uncompressed data to the destination
`SMTP server. The response commands. are routed back
`the same way.
`It should be appreciated that a DATA SMTP command
`indicates the start of the actual email message. The text
`message and the attachments come wrapped in MIME
`headers (MIME HRD). The text and associated formatting
`are disassembled and all components compressed (lossless)
`separately. Moreover, attachments (e.g., JPG and GIF files)
`are unwrapped from MIME enclosure (disassembly) and
`compressed with the appropriate algorithm at quality Q
`(FIG. 7A). It should be understood that the MIME headers
`remain uncompressed.
`As indicated above, Accelerator Server 30 reverses the
`compression process by decompressing the objects (e.g.,
`text and formatting non-media objects, and JPG and GIF
`media objects) and re-assembling the objects into their
`original format. All of the objects are reconstructed at
`quality Q, except the objects compressed without any qual-
`ity loss (e.g, text and formatting non-media objects). See
`FIG. 7B.
`
`For receiving Internet emails, a very similar process is
`used, except that instead of the SMTP protocol, the POP3
`(Post Office Protocol version 3) is used. The attachments to
`the email are

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket