throbber
(12) United States Patent
`Jungck
`
`USOO6728785B1
`(10) Patent No.:
`US 6,728,785 B1
`(45) Date of Patent:
`Apr. 27, 2004
`
`(54) SYSTEM AND METHOD FOR DYNAMIC
`COMPRESSION OF DATA
`
`(*) Notice:
`
`(75) Inventor: Peder J. Jungck, San Carlos, CA (US)
`(73) Assignee: Cloudshield Technologies, Inc.,
`Sunnyvale, CA (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 664 days.
`(21) Appl. No.: 09/602,128
`(22) Filed:
`Jun. 23, 2000
`(51) Int. Cl. ................................................ G06F 15/16
`
`(52) U.S. Cl. ........................ 709/247; 709/238; 709/203
`(58) Field of Search ................................. 709/247, 248,
`709/238, 227, 217, 219, 203, 204; 707/101,
`5; 370/401
`
`56
`(56)
`
`Ref
`
`WO
`WO
`WO
`WO
`WO
`W
`WO
`
`4/1998
`WO 98/17039
`2/1999
`WO 99/O5584
`2/1999
`WO 99/09725
`6/1999
`WO 99/27684
`11/1999
`WO 99/60459
`2:
`W 8:
`5/2000
`WO OO/28713
`OTHER PUBLICATIONS
`Module 2: INternet Tools (Advanced) ; www.quasarual
`berta.ca/edpy202/tttl/keya . . . le2/module2.htm.*
`Globally Progressive INteractive Web Delivery, Gilbert et
`al, IEEE 1999.*
`SqueezePlay product described at www.innermedia.com In
`Beta as “SpeedBrowse” Apr. 21, 2001. http://web.archi
`ve.org/web/20010515234313/http://www.innermedia.com/,
`pp. 1-3.
`JetNexus product described at http://www.preactholding
`S.com/performance/products/jetneXuS/ First customer install
`Dec. 07, 2001 http://www.webmetrics.co.uk/Documents/
`CaseStudies/jetNEXUS William%20Hill Case Study.pdf,
`p. 1.
`
`(List continued on next page.)
`Primary Examiner Jack B. Harvey
`Assistant Examiner Thong Vu
`(74) Attorney, Agent, Or Firm-Brinks Hofer Gilson &
`Lione
`
`Cited
`CS
`U.S. PATENT DOCUMENTS
`5,805,820 A 9/1998 Belovin et al. ....... 395/200.55
`5,938.737 A * 8/1999 Smallcomb et al. ........ 709/247
`5,953,503 A * 9/1999 Mitzenmacher et al. ... 709/203
`5.991,713 A 11/1999 Unger et al. ................... 704/9
`(57)
`ABSTRACT
`6,014,660 A 1/2000 Lim et al. ......
`... 707/3
`6,016,512 A 1/2000 Huitema ..................... 709/245
`A method of transferring a compressed web page over a
`6,046.980 A 4/2000 Packer ....................... 370/230
`p
`k with
`ffecting the existing web
`COmputer netWOrk Without affecting the eXISting Web SerVer
`6,052,718 A 4/2000 Gifford .............
`... 709/219
`applications and processes. The compressor intercepts a
`6,070,191 A 5/2000 Narendran et al. ......... 709/226
`request from a WorkStation for the web page. A Second
`6,073,168 A 6/2000 Mighdoll et al. ........... 709/217
`(i. f : R2. yed et al. ............ 3.y request is transmitted to the Server from the compressor for
`63.01607 B2 - 10/2001 Rough a - - - - - - - - - - 709/204
`the original, uncompressed web page. The web page is
`6,327,589 B1 12f2001 Blewett
`... 707/5
`Selectively compressed in the compressor. Then the com
`6349,336 B1 - 22002 sitet al... .700,227
`pressed web page is transmitted to the WorkStation.
`6.460.044 B1 * 10/2002 Wang .....
`... 707/101
`Optionally, Some of the files associated web page, Such as
`6,553,413 B1 * 4/2003 Leighton et al...
`... 709/219
`image files, are also compressed and the references to the
`6,567.857 B1 * 5/2003 Gupta et al. ................ 709/238
`compressed associated files is changed to reflect any change
`FOREIGN PATENT DOCUMENTS
`in the name of the compressed associated files.
`
`EP
`
`O 865 180 A2 3/1998
`
`3 Claims, 3 Drawing Sheets
`
`
`
`400
`
`ng if the requested web page can he
`d and if any
`assiciated files cine
`
`48
`
`4.0
`
`4.2
`
`414
`
`4.6
`
`48
`
`Transmitting a fourth request to the web server for the
`assiciated files and receiving the associated files.
`
`CISCO EXHIBIT 1019
`Jungck
`
`

`

`US 6,728,785 B1
`Page 2
`
`OTHER PUBLICATIONS
`PipeBoost product described at http://www.pipeboost.com
`Released Nov. 30, 1999 http://soft.necromancers.ru/prog.
`php?prog id=6261, pp. 1-2.
`XCache, products described at XCompress http://www.x-
`cache.com/home/default.asp?c=32&p=165 Announced May
`15, 2000 http://web.archive.org/web/20010211030245/ww
`W.Xcache.com/home/press room poS t point releases
`Xcache delivering dynamic internet content 6X to
`7X faster. Htm, pp. 1-2.
`NetScaler's webscaler product described at www.netscaler.
`com Announced May 01, 2000 http://www.nwfusion.com/
`archive/2000/94567 May 01, 2000.html, 3 pages.
`http://
`http:Zip
`product
`described
`at
`Announced
`www.port80software.com/products/httpzip/
`Dec. 17, 2002 http://www.port80software.com/about/press/
`121702, 7 pages.
`Web I/O accelerator products described at http://www.red
`linenetworks.com Described on website Aug. 29, 2000
`http://web.archive.org/web/20000829044951/http://ww
`w.redlinenetworks.com/, 5 pages.
`HyperSpace Acclerator hypertunnel product described at
`http://www.ehyperSpace.com/products/hypertunnel.php
`?software=HyperTunnel%202.0 announced Nov. 10, 2001
`Key technology released as freeware called mod gzip
`around Nov. 2000. http://www.frtechbiz.com/displayarticle
`detail.asp?art id=51999&search=hypers pace%2B, 4
`pageS.
`Turbois technology described at http://www.turbois.com
`Described on website Jun. 03, 2002 http://web.archive.org/
`web/20020603144834/http://www.turbois.com/, 1 page.
`Array TM products described at http://www.arraynetwork
`s.net/pr 10022002 2.html Press Release Oct. 02, 2002
`http://www.businesswire.com/webbox/bw.100202/
`222750321.htm, 5 pages.
`EngageIP Cache Server with Compression Plugin created by
`SlipStream described at http://www.logisense.com/com
`pression.html, 1 page.
`Slipstream Data www.slipstream.com Described as in beta
`test in press release May 07, 2002 http://www.slipstream
`data.com/news/pro20507.html, pp. 1-2.
`Coheon Web Accelerator product described at http://www.
`fundamentech.com/products/coheon.htm In beta as of Aug.
`01, 2003 http://www.fundamentech.com/products/coheon.
`htm, pp. 1-5.
`Wayne Berry, 15 Seconds: Web Site compression described
`at http://www.internet.com/icom cgi/print/print.cgi?url=
`http://www.15seconds.com/issue/020314.htm. Mar. 14,
`2002, pp. 1-6.
`Website Optimization.com “Chapter 18: Compressing the
`Web,” described at http://www.websiteoptimization.com/
`speed/18/18-2.html, (C) 2002–2003 Web Site Optimization,
`LLC, last modified: Mar. 17, 2003, pp. 1-2.
`Website Optimization.com “Chapter 18: Compressing the
`Web,” described at http://www.websiteoptimization.com/
`speed/18, (C) 2002–2003 Web Site Optimization, LLC, last
`modified: Jun. 27, 2003, pp. 1-5.
`HTTP Compression Speeds up the Web, described at http://
`Webreference.com/internet/Software/serverS/http/compres
`sion/, Copyright 2003 Jupitermedia Corporation, Revised
`Apr. 20, 2002, pp. 1-6.
`
`Hyperspace Communications, Inc. “HyperWeb' product,
`formerly named “HyperSpace', described at http://www.e-
`hyperSpace.com/products/hyperweb.php, Copyright (C) 2001
`to 2003 HyperSpace Communications, Inc., pp. 1-3.
`PacketShaper Express product brochure, pp. 1-4, Copyright
`(C) 1996-2003 Packeteer, Inc., pp. 1-4.
`“Packeteer Enters Into Definitive Agreement To Acquire
`Internet Caching And Acceleration Infrastructure Software
`Company' press release Jul. 13, 2000, pp. 1-4, available at
`http://www.packeteer.com/news/pr.cfm?pr ID=55.
`Venturi Wireless Accelerators “Driving Successful Data
`Services for Mobile Operators”, described at http://ww
`W.VenturiwireleSS.com/, 1 page, formerly Fourelle, press
`release “Independent Tests Confirm Wireline/Wireless Per
`formance Of Fourelle's Compression Technology', pp. 1-2,
`available at http://web.archive.org/web/1998.0109233518/
`http:/fourelle.com/.
`Vigos AG “High Performance Internet Technologies' bro
`chure, described at http://www.Vigos.com/ pp. 1-2, avail
`ability announced at "Innovative data compression for the
`Internet: VIGOS Website Accelerator provides speed and
`cost Savings in the e-BusineSS World. The pioneering devel
`opment of a 21 years old Internet entrepreneur from Hagen
`(Germany) creates enormous international demand.”, press
`release, pp. 1-2, Oct. 17, 2000, http://www.Vigos.com/press/
`20001017.html.
`Juniper Networks, “M40 Internet Backbone Router.”
`Datasheet, obtained at internet address, http://www.juniper
`.net/products/dsheet/100001.html.
`Juniper Networks, Inc., “M160 Internet Backbone Router”
`Datasheet, obtained at internet address, http://www.juniper.
`net/products/dsheet/10012.
`Rajeev Kumar, Intel Confidential, “IXP1200 Overview”.
`Intel “IXP1200 Network Processor.” Datasheet, pp 1-109
`(out of 146 pages), May, 2000.
`Cisco 7500 Series Routers, pp. 1-2, obtained at internet
`address http://www.cisco.com/warp/public/cc/pr/rt/7500/.
`John Pescatore, Gartner Analyst, “Commentary: Digging
`into the DNS foundation,” obtained at internet address,
`http://news.cnet.com/news/0-1005-202-2080091.html,
`Jun. 15, 2000.
`Rainbow Technologies Products, “CryptoSwift eCommerce
`Accelerator,” obtained at internet address, http://isgrain
`bow.com/products/cs 1.html, Aug. 5, 2000.
`Flow Wise Networks, Inc., “AutoRoute TM Automatic Con
`figuration of Layer 3 Routing,” www.flow wise.com.
`Flow Wise, “Router Accelerator-RA 7000 from Flow
`Wise,” obtained at internet address http://www.flowise.com/
`products/ra7000.htm.
`Intel(R) IXP1200 Network Processor, obtained at internet
`address,
`http://developerintel.com/design/network/
`ixp1200.htm.
`Marshall Brain, How StuffWorks, “How Web Servers and
`the Internet Work,” obtained at internet address http://ww
`w.howStuffworks.com/web-server.htm.
`Marshall Brain, How Stuff Works, “How Domain Name
`Servers Work,” obtained at internet address http://ww
`w.howStuffworks.com/dns.htm.
`Curt Franklin, How Stuff Works, “How Routers Work,”
`obtained at internet address http://www.howstuffworks.com/
`router.htm.
`Microsoft Corporation, Sep.1998 “Introduction to TCP/IP.”
`obtained at internet address http://msdn.microSoft.com/li
`brary/backgrind/html/tcpipintro.htm.
`
`CISCO EXHIBIT 1019
`Jungck
`
`

`

`US 6,728,785 B1
`Page 3
`
`Robert Stone, “CenterTrack: An IP Overlay Network for
`Tracking DoS Floods,” Article Oct. 1, 1999, pp. 1-9.
`Chapter 1 TCP/IP Fundamentals, obtained at internet
`address
`http://webdocs. Sequent.com/docs/tcpoac01/ch
`1.htm, pp. 1-28.
`Cheng Wu, “Web Switching: A New Generation of Net
`working, pp 1-3.
`Arrow Point CommunicationsTM Article, “A Comparative
`Analysis of Web Switching Architectures, pp. 1-11.
`Arrow Point Communications TM, Brochure, “The Top 12
`Benefits of Content Intelligence.”
`L. Peter Deutsch, “DEFLATE Compressed Data Format
`Specification,” May 1996.
`Antaeus Feldspar, Article, “An Explanation of the Deflate
`Algorithm.” Sep. 11, 1997.
`Arrow Point CommunicationsTM CDDCenter Vendor List
`ing, “Arrow Point CS-50 Highlights’ obtained at internet
`address http://www.cddcenter.com/arrowpoint.htm, May 21,
`2OOO.
`Peter Christy, Analyst Commentary, “When to Distribute
`Content- The Peter's Principles,” obtained at internet
`address http://www.cddcenter.com/index.html, May 21,
`2OOO.
`Content Delivery 101: An Introduction to Content Distribu
`tion & Delivery.
`CDDCenter, “How Do Caching and Content Delivery
`Really Differ'?" obtained at internet address http://www.cd
`dcenter.com/cachingVcontent.htm, pp. 1-4, May 21, 2000.
`Internet Research Group “Infrastructure Application Service
`Providers,” Feb. 2000, pp. 1-7.
`Peter Christy, Internet Research Group, “Content Delivery
`Architectures: Why Doesn’t One Size Fit All?” pp. 1-12.
`Steven Vonder Haar, Inter(Octive Week, Feb. 14, 2000,
`“Content Delivery Shifts. To Edge of Net,” obtained at
`internet address http://www.Zdnet.com/intweek/Stories/
`news/0,4164,2436865,00.html, Dated May 22, 2000.
`David Wilis, Network Computing, “The Content-Delivery
`Edge,” obtained at internet address http://www.network
`computing.com/1103/1103colwillis.html, Dated May 22,
`2OOO.
`Phrack Magazine, “IP-spoofing Demystified (Trust-Rela
`tionship Exploitation)” Vol. Seven, Issue Forty-Eight, File
`14 of 18. pp. 1-9, obtained at internet address http://
`www.fc.net/phrack/files/p48/p48-14.html, Dated Jun. 5,
`2OOO.
`Eddie Mission, “What is Eddie'?', obtained at internet
`address http://www.eddieware.org/what.html, Dated Apr.
`21, 2000.
`Cisco Enterprise Solutions, “Quality of Service,” obtained at
`internet address http://www.cisco.com/warp/public/779/lar
`geent/learn/technologieS/qoS/.
`Cisco White Paper, “Delivering End-to-End Security in
`Policy-Based Networks,” obtained at internet address,
`http://www.cisco.com/warp/public/cc/pd/nemnSW/cap/tech/
`deesp Wp.htm.
`Technology Packeteer, obtained at internet address, http://
`www.packeteer.com/technology/index.cfm.
`
`Overview, Cisco Content Networking, obtained at internet
`address
`http://www.cisco.com/warp/public/cc/SO/neSO/
`ieneSV/cXne/ccnoV ov.htm.
`Overview Cisco Secure Policy Manager 2.0, obtained at
`internet address http://www.cisco.com/warp/public/cc/pd/
`SqSW/Sqppmn/prodlit/secmn ov.htm.
`Alteon Web Systems, White Paper “Optimizing ISP Net
`works and Services with DNS Redirection,” Aug. 1999.
`Alteon Web Systems, White Paper “Virtual Matrix Archi
`tecture Scaling Web Services for Performance and Capac
`ity.” Apr. 2000.
`Alteon Web Systems, White Paper, Questions and Answers,
`pp. 1-3.
`3Com Technical Ppaers, Layer 3 Switching, 5/98.
`Web Cache Communication Protocol Version 2, pp. C-1 to
`C-54.
`RFC2267 Working Group-Denial of Service Counter Mea
`Sures, Tele-conference Meeting Aug. 25, 2000, Moderator,
`Henry Teng of eBay.
`Track-back Architecture General Requirements Version 0.1,
`Initial Draft Submitted to Counter-DoS Solutions Working
`Group, Jul. 31, 2000, Edited by Bob Geiger, Recourse
`Technologies.
`SwitchOn Networks, Inc., ClassiPITM At-a-Glance.
`C-PortTM A Motorola Company, C-5TM Digital Communi
`cations Processor, Product Brief, pp. 1-8, May 4, 2000.
`Peder Jungck, “Building a Faster Cache Server' A Theo
`retical Whitepaper, Silicon Valley Internet Capital, pp. 1-19.
`IXF1002 Dual Port Gigabit Ethernet MAC, Product Brief,
`Levon OneTM an Intel Company.
`NetLogic Microsystems Product Overview.
`Agere, Inc. “The Challenge for Next Generation Network
`Processors”, Sep. 10, 1999.
`Phillips Semiconductors’ VMS747 Security Processor
`Overview.
`Cisco Systems, Cisco 12000 Series GSR, “Performing Inter
`net Routing and Switching at Gigabit Speeds, obtained at
`internet address, http://www.cisco.com/warp/public/cc/pd/
`rt/12000/.
`Cisco Systems, “Cisco 10000 Edge Service Router,”
`obtained at internet address, http://www.cisco.com/warp/
`public/cc/pd/rt/10000/.
`Nortel NetworksTM “Passport 8600 Routing Switch.”
`obtained at internet address, http://www.nortelnetwork
`S.com/products/01/passport/8600/index.html.
`Lucent Technologies, “InterNetworking Systems,” obtained
`at internet address, http://www.lucent.com/ins/products/grf/.
`Lucent Technologies, “InterNetworking Systems,” obtained
`at internet address, http://www.lucent.com/ins/products/grf/
`grf1600.html.
`Juniper Networks, “M20 Internet Backbone Router.”
`Datasheet, obtained at internet address, http://www.juniper.
`net/products/dsheet/100009.html.
`* cited by examiner
`
`CISCO EXHIBIT 1019
`Jungck
`
`

`

`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 1 of 3
`
`US 6,728,785 B1
`
`102
`
`N
`
`100
`
`4.
`
`O6
`
`1 O 8
`
`Figure 1
`
`204
`
`
`
`2O2
`
`N
`
`200
`4.
`
`208
`
`2O6
`
`Figure 2
`
`
`
`
`
`3 O 8
`
`302
`
`N
`Workstation
`
`3 O 4
`
`
`
`3 OO
`
`3 O 6
`
`Figure 3
`
`CISCO EXHIBIT 1019
`Jungck
`
`

`

`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 2 of 3
`
`US 6,728,785 B1
`
`400
`
`4.
`
`4 O2
`
`Receiving a first request for a web page.
`
`404
`
`Transmitting a second request for the web page to the
`web server and receiving the web page from the web
`
`SeVe.
`
`Determining if the requested web page can be
`compressed and if any associated files can be
`compressed.
`
`Selectively compressing the web page and selectively
`modify references to associated files within the web
`page.
`
`Transmitting the web page to the workstation.
`
`406
`
`4.08
`
`40
`
`
`
`
`
`412
`
`Receiving a third request from the workstation for
`files associated with the web page.
`
`O
`
`44 Transmitting a fourth request to the web server for the
`associated files and receiving the associated files.
`
`416
`
`Selectively compressing the associated files and
`selectively renaming the associated files.
`
`418
`
`Transmitting the files associated with the web page to
`the workstation.
`
`Figure 4
`
`CISCO EXHIBIT 1019
`Jungck
`
`

`

`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 3 of 3
`
`US 6,728,785 B1
`
`SOO
`
`5 O2
`
`Receiving a request at a data center from a web
`browser requesting a web page from a web server.
`
`504
`
`Determining if the workstation supports compression.
`
`506
`
`Sending a request to the web server for the web page.
`
`508
`
`Receiving the web page, selectively compressing the
`web page, and selectively changing references in web
`page.
`
`5 1. O
`
`
`
`A
`
`s
`
`Receiving a request for a set of files associated with the
`web page.
`
`52 Receiving a request for a set of files associated with the
`web page.
`
`514
`
`Requesting the set of files associated with the web page
`from the web server.
`
`
`
`516
`
`Receiving the set of files, selectively compressing and
`selectively renaming at least some of the set of files.
`
`518
`
`Transmitting the set of files to the web browser.
`
`Figure 5
`
`CISCO EXHIBIT 1019
`Jungck
`
`

`

`1
`SYSTEMAND METHOD FOR DYNAMIC
`COMPRESSION OF DATA
`
`US 6,728,785 B1
`
`BACKGROUND
`The present invention relates to a method of compressing
`data for transmission.
`The Internet is a publicly accessible worldwide network
`which primarily uses the Transport Control Protocol and
`Internet Protocol (“TCP/IP”) to permit the exchange of
`information. The Internet Supports Several applications pro
`tocols including the Hypertext Transfer Protocol (“HTTP")
`for facilitating the exchange of HTML/World Wide Web
`(“WWW) content, File Transfer Protocol (“FTP”) for the
`eXchange of data files, electronic mail eXchange protocols,
`Telnet for remote computer acceSS and Usenet for the
`collaborative sharing and distribution of information.
`Several compression techniques have been used to reduce
`the time required to transfer files. Compression can occur at
`the file or the bit stream level. Applications, Such as
`PKZIPTM, compress files on a computer. Modems use bit
`Stream level compression techniques to optimize through
`put. Microsoft's Windows NTTM servers include IIS that can
`provide static web files in the deflate format. Some web
`browsers (“browsers”) support the “deflate” format.
`Traditionally, a WorkStation accesses a web page acroSS
`the Internet by transmitting a request for the web page to a
`Web Server. The Web Server then processes the request and
`transmits the web page to the WorkStation. The web page is
`a file having hypertext markup language (“HTML') codes.
`Once the WorkStation receives the web page, the WorkStation
`analyzes the HTML codes for references to associated files,
`Such as graphic files, Video files, audio files and other files.
`The WorkStation then sends a Second request to the web
`server for the associated files. The web server then sends the
`asSociated files to the WorkStation. This network congestion
`management mechanism is called “HTTP slow start.”
`Since the associated files are requested only after the
`initial web page file has been received and analyzed at the
`WorkStation, the Speed of receiving the initial web page file
`is a controlling factor in the over all Speed of viewing a web
`page. In order to utilize compression techniques as a Speed
`enhancement, conventional Systems require the Web Server
`to Store separate pre-compressed web pages. OtherS also
`require the Web Server to Send additional code to decode the
`Web page.
`
`1O
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`BRIEF SUMMARY
`A method of transferring a compressed web page over a
`computer network without affecting the existing web server
`applications and processes. The compressor intercepts a
`request from a WorkStation for the web page. A Second
`request is transmitted to the Server from the compressor for
`the original, uncompressed web page. The web page is
`55
`Selectively compressed in the compressor. Then the com
`pressed web page is transmitted to the WorkStation.
`BRIEF DESCRIPTION OF THE DRAWINGS
`The present invention is described with reference to the
`accompanying figures. In the figures, like reference numbers
`indicate identical or functionally similar elements.
`Additionally, the left-most digit(s) of a reference number
`identifies the figure in which the reference number first
`appearS.
`FIG. 1 is an illustration of an embodiment of the present
`invention including dynamic compression at the Web Server;
`
`60
`
`65
`
`2
`FIG. 2 is an illustration of an embodiment of the present
`invention including a data center near the Web Server,
`FIG. 3 is an illustration of an embodiment of the present
`invention including a data center near the WorkStation;
`FIG. 4 is a flow chart of an embodiment of the present
`invention including dynamic compression near a web server;
`FIG. 5 is an illustration of first embodiment of the present
`invention including dynamic compression in a data center.
`
`DEFINITIONS
`A proxy server with cache is a Server that is located
`between a client application, Such as a web browser, and a
`real server where the proxy is at the client's side of the
`network. The proxy Server intercepts content requests to the
`real server to see if it can fulfill the requests itself out of its
`cache Storage. If not, or if the proxy server does not have a
`cache, it Substitutes its own IP address for that of the
`originating client, makes a notation to associate the returned
`response to the client, and forwards the request onto the real
`SCWC.
`A reverse proxy server is a Server that is located between
`a client application, Such as a web browser, and a real Server
`at the server's side of the network. Optionally, the reverse
`proxy Server has a cache.
`A forward proxy server sits between a WorkStation and the
`Internet to ensure Security, administrative control and
`optionally provide caching Services. A forward proxy server
`can be associated with a gateway Server which Separates the
`workstation's local network from the Internet or other
`network. The forward proxy server can also be associated
`with a firewall server which protects the local network from
`outside intrusion. The forward proxy server receives content
`requests from WorkStation's requesting web pages and web
`page content from the Web Server. The forward proxy server
`then transmits a request for the web page or content to the
`web server on the behalf of the workstation. The forward
`proxy server modifies the identity of the requestor to be that
`of the forward proxy server. This is typically achieved by
`altering the internet protocol address of the requestor. A
`forward proxy Server can also be a cache Server.
`Portable Network Graphics (PNG) format is a new bit
`mapped graphics format Similar to the GIF format. A graph
`ics file stored in the PNG format is more compressed than
`the same file stored in the GIF format. The conversion from
`GIF to PNG format is a lossless conversion. Web browsers
`such as Netscape NavigatorTM and Microsoft Internet
`ExplorerTM support PNG.
`Internet Information Server (“IIS”) is Microsoft's Web
`server that runs on Windows NTTM platforms. “IIS'supports
`the open-Source compression algorithm called deflate.
`Huffman encoding is a prefix coding prepared by a special
`algorithm. Each code is a Series of bits, either 0 or 1 that
`represents an element in a specific “alphabet”, Such as the Set
`of ASCII characters. This is the primary but not the only use
`of Huffman coding in the deflate compression technique.
`A Huffman algorithm starts by assembling the elements of
`the alphabet, each one being assigned a weight, i.e., a
`number that represents its relative frequency within the data
`to be compressed. These weights may be guessed at
`beforehand, or they may be measured exactly by examining
`the data to be compressed, or Some combination thereof. The
`elements are Selected two at a time, the elements with the
`lowest weights being chosen first. The two chosen elements
`are made to be leaf nodes of a node with two branches. For
`example, a set of elements and weights can looked like this:
`
`CISCO EXHIBIT 1019
`Jungck
`
`

`

`15
`
`25
`
`35
`
`40
`
`A 16
`B 32
`C 32
`D 8
`E 8
`Lempel–Ziv (LZ) encoding including LZ77, LZ78, LZW
`and others are dictionary based Substitution compression
`techniques. LZ77 compression works by finding Sequences
`of data that are repeated. LZ77 compression uses a "sliding
`window” that is, at any given point in the data, there is a
`record of what characters went before.
`Deflate compression can be accomplished with a variety
`of techniques as defined in the deflate specification, RFC
`1951, herein incorporated by reference. The three modes of
`compression available to the compressor include:
`First, no compression. This mode is Selected when the
`data analyzed has already been compressed.
`Second, compression with LZ77 and then with standard
`Huffman coding. The trees that are used to compress in this
`mode are defined by the Deflate specification itself and
`preloaded in any deflate decoding capable Software, and So
`no extra Space needs to be taken to Store those trees or Send
`them to the receiver of the compressed file.
`Third, compression with LZ77 and then with Huffman
`coding with trees that the compressor creates by examina
`tion of the file and Stores along with the data.
`The data is broken up in “blocks,” and each block uses a
`Single mode of compression. If the compressor wants to
`Switch from non-compressed Storage to compression with
`the trees defined by the Specification, or to compression with
`Specified Huffman trees, or to compression with a different
`pair of Huffman trees, the current block is ended and a new
`one begun.
`HyperTextMarkup Language (“HTML') is the authoring
`language used to create documents on the World Wide Web
`(Web). HTML defines the structure and layout of a Web
`document by using a variety of tags and attributes. The
`correct structure for an HTML document starts with
`<HTML><HEAD> “text describing the document”
`</HEAD&BODY and ends with </BODY &/HTML.
`The information included in the Web page is located
`between the <BODY> and </BODY> tags.
`An example of an HTML reference to a image file called
`“cpu.gif is:
`<img border=“0” src="cpu.gif" width="79” height=
`“75.
`There are numerous other HTML tags used to format and
`layout the information in a Web page. For example <P> is
`used to begin paragraphs and <I> and </I> are used to
`italicize text. Tags are also used to Specify hypertext linkS.
`Internet Server API (“ISAPI') is an application program
`ming interface (“API”) for Microsoft's Internet Information
`Server (“IIS) web server. ISAPI enables programmers to
`develop Web-based applications that run much faster than
`conventional CGI programs. ISAPI can Support requests
`from multiple workStations with only a single instance
`running on the Server. CGI requires a separate instance for
`each request.
`ZLIB is lossleSS data compression technique that uses the
`deflate technique to compress only the body of web pages
`and not the headers.
`
`45
`
`50
`
`55
`
`60
`
`DETAILED DESCRIPTION
`Transfer speed of files over the Internet is a critical factor
`in the usability of the Internet. Many techniques currently
`exist to increase the Speed of file transfers. The present
`
`65
`
`US 6,728,785 B1
`
`4
`invention intercepts web page requests then compresses the
`web page, which is usually an HTML file, and sends it to the
`requesting WorkStation in the compressed format. The
`requesting WorkStation then decompresses the web page
`before processing the web page. Optionally, the tags in the
`web page that point to image files, for example GIF files, are
`modified to point to modified image files of a different name,
`for example PNG files. This process can occur at an ISP or
`other form of point of presence to the Internet, at a forward
`proxy Server, at a reverse proxy server, at a transparent proxy
`server or at the web server.
`FIG. 1 is an illustration of an embodiment of the present
`invention including dynamic compression at the Web Server,
`i.e. as the content is Served or transferred in response to the
`request, it is compressed. The system 100 includes a work
`station 102, connected with a network 104 connected with a
`web server 106 that includes a compressor 108. The work
`Station 102 can be a personal computer, a network enabled
`mobile device Such as a cellular telephone, a portable
`computer, a WebTV like device or other Internet appliance,
`a personal digital assistant such as a Palm Pilot'TM manufac
`tured by 3-Com Corporation, or other device that can
`communicate with a server. The network 104 can be the
`Internet, a private network, an intranet, or other network
`including a combination of networks. The web server 106
`can be any computer that Stores or retrieves web pages or
`web files for others over a network. The compressor 108 can
`be integrated with the web server 106 or a stand alone unit.
`For example, the compressor 108 can be a PCI adapter card
`in the web server 106 or it can be a separate computer
`connected with the web server 106.
`In an embodiment illustrated in FIG. 1, a user at the
`workstation 102 sends a request to the web server 106 over
`the network 104 for a web page. The user may be running
`a web browser such as Internet ExplorerTM or Netscape
`NavigatorTM. When the request reaches the web server 106,
`the compressor 108 intercepts the request and determines if
`the WorkStation 102 can proceSS compressed web pages.
`Various mechanisms can be used by the compressor 108 to
`make this determination. In one embodiment, the compres
`Sor 108 analyzes the request to determine if the request's
`header contains a indication that the WorkStation can handle
`compressed files. For example, the header can contain a
`“request encoding=deflate' indication.
`If the WorkStation can handle compressed files, then the
`compressor 108 compresses the web page returned by the
`web server 106 before the web page is transmitted to the
`workstation 102.
`It is preferred that the web server 106 operations not be
`affected by the compressor 108. That is, the web server
`applications are not affected and the compressor 108 per
`forms the compression transparently to the web server 106,
`e.g., neither data throughput nor data processing power is
`impacted.
`Another embodiment of the compressor 108 utilizes a
`novel mode of deflate compression using LZ77 in combi
`nation with Huffman coding. The Huffman coding utilizes
`trees that are predefined based on an analysis of HTML
`codes. Since some HTML code must exist in every HTML
`page and others occur at frequencies that can be predicted,
`the Huffman tree can be generated before the compression to
`Save time compressing the data. For example:
`
`CISCO EXHIBIT 1019
`Jungck
`
`

`

`US 6,728,785 B1
`
`S
`
`HTML Code
`
`Huffman Code
`
`<html>
`</html>
`<head>
`<head>
`<title>
`</title>
`<b>
`<?b>
`WWW.
`<img src=
`<a href=
`
`O
`1.
`OO
`O1
`OOO
`OO1
`1O
`11
`110
`1110
`1111
`
`6
`indication flag that indicates that web page compression is
`acceptable. The same flag or an additional flag can be used
`to indicate that the associated files, for example GIF files,
`can be compressed. Second, the WorkStation 102 can Send a
`request to the compressor 108 or data center 208 (FIG. 2)
`indicating that compression is acceptable for that WorkSta
`tion 102. Other means of indicating that the workstation 102
`can accept compressed files can also be used. While the
`terms compressor and data center have been used to describe
`devices that are located near the web server and between the
`Web Server and the WorkStation, those terms are not limited
`to the embodiments used to illustrate their functionality.
`FIG. 2 is an illustration of an embodiment of the present
`invention including a data center 208 near the web server
`206 in a reverse proxy server configuration. The system 200
`includes a workstation 202 connected with a network 204
`connected with a data center 208 connected with the web
`server 206. The data center 208 intercepts web pages and
`compresses them before they are transmitted over the net
`work 204 to the workstation 202. The data center 208 can be
`connected with the web server 206 via a network, a direct
`connection, or other means. It is preferred that the data
`center 208 is directly connected with the web server 206. In
`one embodiment, the data center 208 can used to compress
`all appropriate web pages and asSociated files from the web
`SCWC.
`FIG. 3 is an illustration of an embod

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


Or .

Accessing this document will incur an additional charge of $.

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

Accept $ Charge
throbber

Still Working On It

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

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

throbber

A few More Minutes ... Still Working

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

Thank you for your continued patience.

This document could not be displayed.

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

Your account does not support viewing this document.

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

Your account does not support viewing this document.

Set your membership status to view this document.

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

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

Become a Member

One Moment Please

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

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

Your document is on its way!

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

Sealed Document

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

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


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket