`(10) Patent No.:
`a2) United States Patent
`US 6,449,658 B1
`Lafe et al.
`(45) Date of Patent:
`Sep. 10, 2002
`
`
`(54) METHOD AND APPARATUS FOR
`ACCELERATING DATA THROUGH
`COMMUNICATION NETWORKS
`
`(75)
`
`Inventors: Olurinde E. Lafe, Chesterland; Atila
`Boros, University Heights; Valeriy
`Tsuryk, Richmond Heights, all of OH
`(US)
`(73) Assignee: QuikCAT.com, Inc., Mayfield Village,
`OH (US)
`
`(*) Notice:
`
`Subject to any disclaimer, the term ofthis
`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)
`GO6F 15/16
`Int. C17
`(51)
`(52) US. Ch. cecccccccsee 709/247; 709/219; 709/203.
`(58) Field of Search oo... eee 709/247, 219,
`709/229, 203
`
`(56)
`
`8/2000 Chiba et al. wo... 345/202
`6,111,566 A
`
`8/2000 Appelman ...........0.. 709/247
`6,112,250 A *
`9/2000 Dorricott ...... 382/233
`6,125,209 A
`
`
`11/2000 Starnes et al. .......... 709/217
`6,144,996 A
`12/2000 Yokomizo boccesees cece sees 709/203
`6,163,796 A
`FOREIGN PATENT DOCUMENTS
`
`JP
`JP
`wo
`
`12/1996
`08331173
`12/1998
`10334003
`12/1997
`97/49252
`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 Examiner—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,
`References Cited
`electronic mails, computerfiles, digitized pictures, voice and
`video. The method combines smart content-based data com-
`U.S. PATENT DOCUMENTS
`pression schemes with intelligent routing to efficiently move
`5.627829 A
`5/1997 Gl
`\
`370/230
`information across a network. The apparatus works with
`ve
`/
`Cesom Ct ale woes.
`/
`ae
`aoe
`5,638,498 A
`6/1997 Tyler et al.
`..........
`w. 395/117
`
`existing communications protocols (e.g., TCP/IP, UDP,
`5,673,322 A *
`9/1997 Pepeet al
`709/219
`HTTP, SMTPand POP3)andfits transparently with Internet
`5.768.525 A *
`6/1998 Kralowetz et al. 709228
`5,838,927 A * 11/1998 Gillon et al. vce 709/247~~browsing applications.
`5,872,845 A
`2/1999 Feder weveecesesseeeseees 380/18
`5,938,737 A *
`8/1999 Smallcombetal. ........ 709/247
`
`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
`
`Page1
`
`Page 1
`
`Commvault Ex. 1029
`Commvault v. Realtime
`US Patent No. 9,054,728
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 1 of 9
`
`US 6,449,658 B1
`
`
`
`
`
`HIGH-SPEED
`
` oeLids
`
`
`
`
`THEINTERNET
`
`Fig.| PRIORART
`
`CLIENT
`
`CHCT
`BoC
`
`Page 2
`
`uM
`us
`eso
`wWa>
`EF woe
`zineVg
`
`LOW-
`
`SPEED
`
`Page 2
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 2 of 9
`
`US 6,449,658 B1
`
`YOLVY31309¥6bi41N3179
`YILAdWOIS,Y3SN 43NY3S.
`
`
`L3NY31NT3H1IN3113
`
`LINSIINI
`
`JITAYSS
`
`YIOTAOYd
`
`
`
`VWM3814T1WMBUTJ
`
`ebry
`
`
`
`AXOUddllH
`
`YIAY3S
`
`
`WNOITLN3ANO3
`YOLVYITIIIV
`
`WNOTILN3ANO9
`
`
`
`AXOYdd1lH
`
`
`
`YO1VY319939
`
`IN3113
`
`ee
`
`
`
`NOT1LVIIIdd¥
`
`IN3119
`
`Page 3
`
`Q33dS-M071
`
`YOLVYS1IIIV
`
`Page 3
`
`
`
`
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 3 of 9
`
`US 6,449,658 B1
`
`
`
`Q334dSHOTH
`
`
`
`NOT1I3NNO3
`
`0330SMOT
`
`p‘bry
`
`‘1030108d
`
`YISUVd
`
`
`
`JI41II3dS3dAL
`
`NOISS3adW0I
`
`0ALIVWAODLV
`
`1030104d
`
`YASYVd
`
`
`
`
`YOLVYI13II¥NOTLJ3NNOJYOLVYI1IIIV|gan]Fagg|NOLINIddv
`Maoy|SSN>ASEHwar
`
`SS3udN0I300334S
`
`1¥Q3SS3Y¥dWOIO3SSIYdWOINN
`
`0ALTAVAD
`
`¢bi
`
`Page 4
`
`Page 4
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 4 of 9
`
`US 6,449,658 B1
`
`v9‘bry
`
`ce
`
`
`
`
`
`WOOUIOWOP@eopawoy
`
`sooww ———rr8t
`
`
`
`RT]CERRATIO
`
`aor
`
`
`
`
`
`*sidalqa153ayspasojquapurjasvaly
`
`*spsobay
`
`uyor
`
`SOB
`
`dyay
`
`
`
`
`
`aossay syooTsowdymainwi
`
`133807apy
`
`WO"INIGY"
`
`
`
`T1¥H7WOOS2+3SNOdS3YdLWSWOYSTVWOWId1WS
`
`
`
`
`
`
`
`
`
`LYVLSPSEF3SNOdS39Y¥dLWS
`
`
`
`INdNITEVA
`
`VIVO‘QWdlWS
`
`6V9DidOLHOLYW
`
`
`
`HOOSe*ASNOdS3YdIWS
`
`
`"QLLd333d*OWIdLWS
`
`Page 5
`
`Page 5
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 5 of 9
`
`US 6,449,658 B1
`
`
`
`IMAGE .BMP
`
`POWERPOINT .PPT
`
`MIME HRO
`
`MATCH TO FIC. 6A]
`em gyms > ces mn mmc mee bem omees 3 swt comme + coms cm 6 mem tet tt Sy es se es
`
`
`
`MIME HRO
`
`
`
`TEXT
`
`
`MIME HRO
`
`
`
`
`PICTURE! .BMP
`BASE64 ENCODED
`
`
`
`MIME HRO
` TEXT
`BASE64 ENCODED
`
` SMTP CMO: QUIT
`
`SMTP RESPONSE: 250 OK
`
`
`
`
`
`SMTP RESPONSE:
`SMTP. ABC INC.COM
`CLOSING SESSION
`
`e221
`
` ACCELERATOR CLIENT
` 20
`
`Fig. 6A2
`
`Page 6
`
`Page 6
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 6 of 9
`
`US 6,449,658 B1
`
`SMTP RESPONSE: 250 OK
`
`SMTP RESPONSE: 354 START
`MAIL INPUT
`
`Fig. 6BI
`
` ACCELERATOR CLIENT
`
`
`
`SMTP CMD MAIL FROM
`SMTP RESPONSE: 250 OK
`MAIL.ABCINC.COM
`
`
`SMTP CMO RECEIPT TO
`SMTP CMD DATA
`
`
`
`
`MIME HRO
`
`
`TEXT
`
` MIME HRO
`
`
` PICTURE! .BMP
`
`
` MIME HRO
`
` PPT. TXT
` TEXT
`
`
`IMAGE «BMP
`
`
`MIME HRO
`
`SMTP CMO: QUIT
`
`
`
`
`SMTP RESPONSE: 250 OK
`
`SMTP RESPONSE: 221
`SMTP. ABCINC .COM
`CLOSING SESSTON
`
`Q
`
`
`
`
`
`ACCELERATOR SERVER
`
`MATCH TO FIG. 6B2
`
`Page 7
`
`Page 7
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 7 of 9
`
`US 6,449,658 B1
`
`MATCH TO FIG. 6B)
`eee meet mes ves lt 8 oa Ft 4 Sam 5M ues 5 AS 6 ey 6 nd fe SO Soe ff9 eS ee a es mg
`
`SMTP CMO MAIL FROM
`
`SMTP CMO RECEIPT 10
`
`SMTP CMO DATA
`
`
`
`MIME HRO
`
`
`
`TEXT
`
`MIME HRO
`
`SMTP RESPONSE: 250 OK
`MAIL.ABCINC .COM
`
`SMTP RESPONSE: 250 OK
`
`SMTP RESPONSE: 354 START
`MAIL INPUT
`
`Fig. 0B2
`
`
`
`
`
`
`
`
`
`
`
`
` PICTURE] .BMP
`
`BASE64 ENCOOEO
`MIME HRO
` Q
` SMTP RESPONSE: 250 OK
`
`
`
`
`
`
`
`
`SMTP RESPONSE: 22!
`SMTP. ABCINC .COM
`CLOSING SESSION
`
`
`
`
`
`IMAGE .BMP
`
`Q
`
`POWERPOINT .PPT
`BASE64 ENCODED
`
`a S
`
`MTP CMO: QUIT
`
`
`
`SMTP ABCINC.COM - SMTP SERVER
`
`Page 8
`
`Page 8
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 8 of 9
`
`US 6,449,658 B1
`
`
` TEXT ANO
`FORMAT ING
`
`
`
`
`JPG
`DISASSEMBLY
`AT QUALITY Q
`
`TEXT AND
`FORMAT ING
`
`FORMAT ING
`
`
`TEXT AND
`
`
`
`COMPRESSION
`
`TEXT AND
`FORMAT ING
`
`
`
`QECOMPRESSION
`
`
`
`
`TEXT ANO
`FORMAT ING
`
`
`
`
`
`TEXT ANO
`FORMAT ING
`
`
`
`
`
`JPG
`ASSEMBLY
`Q
`
`Page 9
`
`Page 9
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 9 of 9
`
`US 6,449,658 B1
`
`
`
` USER'S COMPUTER
`
`
`
` UNCOMPRESSED
`
`
`AT QUALITY Q
`"LOCALHOST ‘
`
`
`
`
`127.0.0.1
`
`
`
`
`COMPRESSEO
`AT QUALITY @
`
`
`
`|ACCELERATORSERVERSERVER
`
`ORIGINAL
`OBJECTS
`
`GET
`IMAGE! .JPG
`
`CNN.COM
`Fig. 8
`
`Page 10
`
`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 numberof
`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 videofiles similarly require millions
`of bytes per second for transmission. The balance of the
`contents on a typical web page consistsoftext 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 arrangementfor
`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 drawbacksof the priorart.
`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 volumeof 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 of16 bits
`used to encode each sample per channel. A one-hourrecord-
`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.
`Oneapproach 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.
`
`SUMMARYOF 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 communicationslink, 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.
`Accordingto 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 networkservice provider to
`the client computer, and forwardsthe 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 transferrate.
`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
`
`60
`
`65
`
`4
`Another advantage of the present invention is the provi-
`sion of a method and apparatusfor 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/decompressdata.
`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
`
`Page 12
`
`Page 12
`
`
`
`US 6,449,658 B1
`
`5
`the request 1s processed through an Accelerator
`Internet,
`Server (AS). Acommandis 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
`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.
`
`In accordance with a preferred embodimentofthe present
`invention, data acceleration is achieved by replacing the
`Client’s slow connection with a compressed link to the
`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
`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
`GIF files) and other media objects with minimal percep-
`tional quality loss achieving much higher compressionratios
`than conventional lossless compression algorithms. Lossless
`compression can be used for non-media objects, suchas text,
`formatting, executables and unsupported media objects. In
`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
`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-
`tions:
`
`HTTP
`HTML
`
`SMTP
`
`POP3
`
`MIME
`
`BASE64
`
`TABLEI
`
`
`
`Hypertext Transfer Protocol: Used to download and upload
`content from the World Wide Web.
`Hypertext Markup Language: The set of “markup” symbols
`or codes inserted in a file intended for display on a World
`Wide Web browser.
`Simple Mail Transfer Protocol: Used to send mail messages
`in Internet.
`Post Office Protocol version 3: Used to retrieve messages
`from host mailboxes.
`Multi-Purpose Internet Mail Extensions: Used to exchange
`contents of different types other than text, which was the
`only content originally meant to transfer using SMTP and
`POP3. It allows transferring attachment of multimedia and
`document 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 encoding 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.
`
`6
`
`RPC
`
`DCOM
`
`JPG, JPEG
`
`GIF
`
`TABLEI-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 showingsare
`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 embodimentof 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 Chent 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 communicationslink of the system, namely, the
`low speed communications link between client 22 and ISP
`26. Asimplified illustration of the data flow is shownin FIG.
`4.
`
`Accelerator Client 20 is an application that runs on Client
`22 (ie.,
`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 embodimentillustrated 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.
`
`10
`
`25
`
`5
`
`40
`
`55
`
`65
`
`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 embodimentof 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 decompressionis
`done using quality Q, which maybe 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 onclient 22) is directed to
`the localhost as to an HTTP Proxy;
`(2) The browser sends the appropriate GET requests for
`the HTMLpage. In FIG. 8, the process for downloading
`the cnn.com web page is shown.
`(3) The GET requestis 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 HTMLtext 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 browseron client 22 then performsthe 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).
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`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 embodimentof 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 SMTPserver smt-
`p.abcinc.com (a fictional address);
`(2) Accelerator Client 20 forwards these commandsto 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 uncompresseddatato the destination
`SMTPserver. 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). Thetext and associated formatting
`are disassembled and all components compressed(lossless)
`separately. Moreover, attachments (e.g., JPG and GIF files)
`are unwrapped from MIMEenclosure (disassembly) and
`compressed with the appropriate algorithm at quality Q
`(FIG. 7A). It should be understood that the MIMEheaders
`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