`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