`Lafe et al.
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 6,449,658 B1
`Sep. 10, 2002
`
`US00644-9658B1
`
`.............. .. 345/202
`8/2000 Chiba et al.
`6,111,566 A
`709/247
`8/2000 Appelinaii
`6,112,250 A *
`~~~~~~~~~ 4:3:/1:1:
`03333
`21:29:22:
`/
`arnes e a.
`,
`,
`Y0k0]I11Z0 . . . . . . . . . . . . .. . .. ..
`A
`FOREIGN PATENT DOCUMENTS
`
`
`
`JP
`JP
`
`“'0
`
`08331173
`10334003
`
`12/1996
`12/1998
`
`12/1997
`97/49252
`OTHER PUBLICATIONS
`
`Nand, A., “l\:/tlail Servers with Embedded Data Compression
`Mechanism, document number XP—002l64409, dated Mar.
`30, 1998, 1 page.
`* cited by examiner
`_
`.
`.
`Primary Exammer—Ayaz Sheikh
`Assistant Examiner—Philip B. Tran
`(74) A”°’”ey‘ Agem’ 0’ F‘""_M‘°ha"1A' Jam’
`(57)
`ABSTRACT
`A method and annaratne 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 sclieiiies with intelligent routing to efficiently niove
`information across a network. The apparatus works with
`existing communications protocols (e.g., TCP/IP, UDP,
`IITTP, SMTP and POP3) and fits transparently with Internet
`browsing applications.
`
`31 Claims, 9 Drawing Sheets
`
`(54) METHOD AND APPARATUS FOR
`ACCELERATING DATA THROUGH
`
`Inventors: Olurinde E. Lafe, Chesterlande
`Boros, University Heights; Valeriy
`Tsuryk, Richmond Heights, all of OH
`(US)
`
`(73) Assignee: QuikCAT.c0m, Inc., Mayfield Village,
`OH (US)
`
`( * ) Notice:
`
`Sub]-eetite 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 .............................................. .. G06F 15/16
`(51)
`(52) U.S. Cl.
`...................... .. 709/247; 709/219; 709/203
`(58) Field of Search ................................. 77%99//274279,
`‘
`
`’
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`........... .. 370/230
`Gleeson et al.
`Tyler et al.
`..... ..
`395/117
`Pepe et al.
`...... ..
`709/219
`Kralowetz et al.
`709/228
`Gillon et al.
`709/247
`Feder ................ ..
`380/18
`Smallcomb et al.
`...... .. 709/247
`
`
`
`5/1997
`6/1997
`9/1997
`>i<
`6/1998
`* 11/1998
`2/1999
`8/1999
`
`AAAA
`
`AAA
`
`5,627,829
`5,638,498
`5,673,322
`5,768,525
`5,838,927
`5,872,845
`5,938,737
`
`
`
`
`THE INTERNET
`
`
`
`Oracle 1013
`Oracle 1013
`
`INTERNET
`SERVICE
`PROVIDER
`
`LOW-SPEED
`
`CLIENT
`
`ACCELERATOR
`SERVER
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 1 of 9
`
`US 6,449,658 B1
`
`
`
`THEINTERNET
`
`
`
`HIGH-SPEED
`
`CLIENT
`
`
`
`INTERNET
`
`SERVICEPROVIDER
`
`LOW-
`
`SPEED
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 2 of 9
`
`US 6,449,658 B1
`
`_uzmu_zMuxp
`
`oum¢m-3o4
`
`mop<mm4muU<
`
`_zu_4u
`
`mo_<mu4
`
`mu>mu
`
`_Umobz4mQu<
`
`zo__<uH4m¢<
`
`
`
`mm_:mzQUm.mum=
`
`
`
`
`U.S. Patent
`
`Sqm1&2mM
`
`Shun30f9
`
`Sn.
`
`005aw94
`
`1DD
`
`MSm$E_._8z=
`
`u__Huuamm¢>H
`
`zo_mmwmmzaQ
`
`3»__4<=a~<
`
`ammmm304
`
`zo__Qmzzoumo_<mm4m.Q<ou>_mumm¢
`
`ommmm
`
`
`
`
`
`zo__<u_4mm<
`
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 4 of 9
`
`US 6,449,658 B1
`
`xoommummzommmzmpzm
`
`
`
`...aHpmfimumm"ozumbzm
`
`:3am;mzE§_Ea:3.2:Ea
`
`
`5%.:2..
`
`
`
`
`
`..............:mMR~.m_Mfi=©&r_Am&_¢2-;.;,.,-;,.-;.
`
`
`
`
`
`..zom_4H<zDzu¢_zm
`
`.mu.ommm
`
`anew
`
`E0E0E2: 2:33
`
`mow
`
`
`
`.m_um_no_mm_mg.ummo_ucmuc.wmmom_¢
`
`
`
`
`
`
`
`
`
`3%..umasum32H:..:a_:33.-3»
`
`
`
`
`
`:3.2L
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 5 of 9
`
`US 6,449,658 B1
`
`MATCH T0 FIG.6AI
`
`MIME HRU
`
`TEXT
`
`MIME HRU
`
`PICTUREl.BMP
`BASES4 ENCOUEU
`
`MIME HRD
`
`IMAGE.BMP
`
`POWERPOINT.PPT
`BASE64 ENCODED
`
`E
`
`SMTP CMD= QUIT
`
`SMTP RESPONSE: 250 OK
`
`SMTP RESPONSE: 221
`SMTP.ABCINC.COM
`CLOSING SESSION
`
`ACCELERATOR CLIENT
`
`20
`
`Fig. 6/I2
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 6 of 9
`
`US 6,449,658 B1
`
`
` SMTP RESPONSE: 250 OK
`
`
`MAIL.ABCINC.COM
`
`SMTP RESPONSE: 250 OK
`
`SMTP RESPONSE: 354 START
`MAIL INPUT
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Fig. 6B1
`
`SMTP RESPONSE: 250 OK
`
`SMTP RESPONSE: 221
`SMTP.ABEINC.COM
`CLOSING SESSION
`
`A
`
`ACCELERATOR CLIENT
`
`SMTP CMO MAIL FROM
`
`SMTP EMU RECEIPT TO
`
`SMTP CMO OATA
`
`MIME HRO
`
`O
`
`
`
`
`
`PICTUREI.BMP
`
`MIME HRO
`
`PPT.TXT
`
`E I
`
`MA6E.BMP
`
`O
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`SMTP CMO: OUIT
`
`ACCELERATOR SERVER
`
`—._— —.—.—.—.—.—.—.—.—.—u—.._.—.—.—.—.—.—.—.—.— —._..—.—..—.—
`
`MATCH TO FIG.6B2
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 7 of 9
`
`US 6,449,658 B1
`
`_.— .-.—..-.—.—.—.—._.—-—.—a—.—._.—-—n—.—-—.—-— .-.—.—.—.—-.-
`MATCH T0 FIG.6Bl
`
`SMTP RESPONSE: 250 OK
`MAIL.ABCINE.COM
`
`SMTP RESPONSE: 250 OK
`
`SMTP RESPONSE: 354 START
`MAIL INPUT
`
`Fig. 6B2
`
`SMTP RESPONSE: 250 OK
`
`SMTP RESPONSE: E3!
`SMTP.ABCINC.COM
`CLOSING SESSION
`
`SMTP CMO MAIL FROM
`
`SMTP CMO RECEIPT TO
`
`
`
`
`
`
`
`
`
`
`SMTP CMO DATA
`
`MIME HRO
`
`MIME HRO
`
`
`
`PICTUREl.BMP
`BASE64 ENCOOEO
`
`O
`
`MIME HRO
`
`
`
`IMAGE.BMP
`
`O
`
`POWERPOINT.PPT
`BASE64 ENCOOEO
`
`
`
`
`
`
`
`
`
`
`_ S
`
`MTP CMD: OUIT
`
`SMTP ABCINC.COM - SMTP SERVER
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 8 of 9
`
`US 6,449,658 B1
`
`TEXT AND
`
`FORHAT ‘N5
`
`
`
` TEXT AND
`FORMATING
`
`
` JPG
`
`FTLTRXMTATAINNDG
`
`
`DISASSEMBLY
`
`
`COMPRESSION
`
`
`
`FORMATTNG
`
`
`
`DECOMPRESSION
`
`ASSEMBLY
`
`TEXT AND
`
`TEXT ANU
`FORMATIN5
`
`
`
`U.S. Patent
`
`Sep. 10, 2002
`
`Sheet 9 of 9
`
`US 6,449,658 B1
`
`
`
`DCTCIDDCJDCIDD
`
`ACCELERATOR CLIENT
`
` USER'S COMPUTER
`If
`
`
`
`
`
`
`ORIBI
`OBJE
`
`— : —
`
`CNN.COM
`
`Fig, 8
`
`
`
`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 TIIE 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
`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
`
`40
`
`45
`
`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
`
`
`
`US 6,449,658 B1
`
`10
`
`15
`
`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).
`
`40
`
`45
`
`60
`
`65
`
`4
`Another advantage of the present invention is the provi-
`sion of a method anc apparatus for data transfer acceleration
`that operates within a corporate intranet.
`Still another advantage of the present invention is the
`provision of a me hod and apparatis for data transfer
`acceleration that operates through firewalls.
`Still another advantage of the present invention is the
`provision of a me hod and apparatis for data transfer
`acceleration that operates with corporate HTTP proxies.
`Yet another advantage of the present invention is the
`provision of a me hod and apparatis for data transfer
`acceleration that operates in Virtual Public Networks.
`Yet another advantage of the present invention is the
`provision of a me hod and apparatis 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 o 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
`
`
`
`US 6,449,658 B1
`
`5
`Internet, the request is processed through an Accelerator
`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
`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.
`
`6
`
`RPC
`
`DCOM
`
`5
`
`10
`
`JPG, JPEG
`
`GIF
`
`15
`
`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 Cornponent 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.
`
`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 "
`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 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
`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, wavclcts, 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
`
`TABLE I
`
`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 Oflice 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 li_ke 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.
`
`L»O
`
`40
`
`45
`
`60
`
`65
`
`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
`contcnts. It should be appreciated that Accclcrator Clicnt 20
`will decide whether compression is worthwhile for
`improved data transfer rates. Therefore, not all data will
`necessarily be compressed in all cases.
`
`
`
`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.
`
`10
`
`15
`
`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 (picturelbmb 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 (c.g, text and formatting non-mcdia objccts). Sec
`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 wrapped into the same MIME format. In order
`for these two processes, sending and receiving email
`to
`work, it is necessary that the given ISP allow the use of the
`given SMTP and POP3 servers. For example, at present,
`Yahoo! Mail can be generally used with any ISP, but
`mailboxes provided with ATT WORLDNET Internet service
`or Prodigy Internet service can be used only when connected
`by those providers.
`The invention has been described with reference to a
`preferred embodiment. Obviously, modifications and alter-
`ations will occur to others upon a reading and understanding
`of this specification. It should be. fully appreciated that
`while a preferred embodiment of the present invention has
`been described with reference to the Internet, the present
`invention is also suitable for use in connection with other
`
`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 Accclcrator Clicnt
`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).
`
`40
`
`45
`
`60
`
`65
`
`communication networks where increased performance in
`data transfer rates is desired. It is intended that all such
`modifications and alterations be included insofar as they
`come within the scope of the appended claims or the
`equivalents thereof.
`Having thus described the