throbber
(12) United States Patent
`Shribman etal.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,560,604 B2
`Oct. 15, 2013
`
`US008560604B2
`
`(54) SYSTEM AND METHOD FOR PROVIDING
`FASTER AND MOREEFFICIENT DATA
`COMMUNICATION
`
`(75)
`
`Inventors: Derry Shribman, Netanya (IL); Ofer
`Vilenski, Netanya (IL)
`
`(73) Assignee: Hola Networks Ltd., Netanya (IL)
`(*) Notice:
`Subject to any disclaimer, the term ofthis
`re aoa‘1.Zalusted under 35
`S.C.
`154(b) by 451
`days.
`(21) Appl. No.: 12/836,059
`
`(22)
`(65)
`
`Filed:
`
`Jul. 14, 2010
`Prior Publication Data
`US 201 1/0087733 Al
`Apr. 14, 2011
`
`7,865,585 B2*
`2003/0009583 AL*
`2003/0174648 Al
`2004/0088646 Al
`2007/0156855 Al
`2008/0008089 Al
`2008/0109446 Al
`2008/0235391 Al
`* cited by examiner
`
`1/2011 Samuels etal. 0.0.0... 709/223
`1/2003 Chanet al.
`.................. 709/236
`9/2003 Wangetal.
`5/2004 Yeageret al.
`7/2007 Johnso:
`1/2008 Bornstein etal.
`5/2008 Wang
`9/2008 Painteretal.
`
`Primary Examiner — Minh-Chau Nguyen
`(74) Attorney, Agent, or Firm — Peter A. Nieves; Sheehan
`Phinney Bass + Green PA
`
`ABSTRACT
`(57)
`A system designed for increasing network communication
`speed for users, while lowering network congestion for con-
`tent owners and ISPs. The system employs network elements
`including an accelerationserver, clients, agents, and peers,
`wherecommunication requests generated byapplications are
`intercepted by the client on the same machine. The IP address
`ofthe server in the communication request is transmitted to
`the acceleration server, which providesalist of agents to use
`for this IP address. The communication requestis sent to the
`agents. One or more ofthe agents respond with a list ofpeers
`that have previously seen someor all of the content whichis
`|
`po
`his
`request
`(after
`checking
`whether
`this d
`the response to this request
`(after checking whether this data
`is still valid). The client then downloads the data from these
`peers in parts and in parallel, thereby speeding up the Web
`transfer, releasing congestion from the Web by fetching the
`information from multiple sources, and relieving traffic from
`Webservers by offloading the data transfers from them to
`nearbypeers.
`
`filed on Oct
`
`,
`
`(60)
`
`(56)
`
`Related U.S. Application Data
`Provisionalapplication Na: 61/249,624,
`8 2009
`PP
`.
`o_o

`.
`Int. Cl
`(51)
`(2006.01)
`G06F 15/16
`,
`(52) US.CI
`.
`Q
`.
`Cpe
`:
`USPC seat 709/204; 709/203; 709/228
`.

`,
`(58) Field of Classification Search
`USPC seseresseseseseess eee 217-219, 223, 236
`See applicationfile for completesearch history.
`an
`References Cited
`U.S. PATENT DOCUMENTS
`
`............. 709/203
`7,120,666 B2* 10/2006 McCanneet al.
`7,203,741 B2*
`4/2007 Marcoet al.
`......:seeee 709/223
`
`20 Claims, 15 Drawing Sheets
`
`
`
`CLIENT
`DEVICE
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2011
`1 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`1 of 27
`
`

`

`U.S. Patent
`
`Oct. 15, 2013
`
`Sheet 1 of 15
`
`US 8,560,604 B2
`
`CLIENT
`
`DEVICE
`42
`
` “SN
`
`
`—
`~
`———
`PROXY
`SERVER
`6
`
`CLIENT
`DEVICE
`16
`
`CLIENT
`DEVICE
`20
`
`
`
`a
`PROXY
`SERVER
`8
`
`FIG. 1
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2011
`2 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`2 of 27
`
`

`

`U.S. Patent
`
`Oct. 15, 2013
`
`Sheet2 of 15
`
`US 8,560,604 B2
`
`ac
`
`SERVER
`so
`
`
`
`
`CLIENT
`DEVICE
`so
`
`FIG. 2
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2011
`3 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`3 of 27
`
`

`

`U.S. Patent
`
`Oct. 15, 2013
`
`Sheet 3 of 15
`
`US 8,560,604 B2
`
`ac
`
`
`
`CL
`STORAGE
`DEVICE
`164
`
`ACCELERATION
`SERVER
`
`FIG. 3
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2011
`4 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`4 of 27
`
`

`

`U.S. Patent
`
`Oct. 15, 2013
`
`Sheet 4 of 15
`
`US 8,560,604 B2
`
`LANYALNI
`
`yaSMOus
`
`
`
`JYVMLIOSa
`
`__082
`
`
`
`0zzasvaviva
`
`
`
`NOILWOIIdd¥NOLLVYNSIANOO
`
`cle
`
`
`
`—_ASvVavLvdSHOWS
`
` o1z
`NOILVY315990N\
`
`
`AYOWAINFOIAAdJDVHOLSz0e
`
`pie00z
`
`
`
`$¢JOVAYALNITVDOT
`
`SASIAAOI
`
`ove
`
`Vv-Sis
`
`282
`
`802
`
`w4OSS390Nd
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2011
`5 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`5 of 27
`
`
`

`

`U.S. Patent
`
`Oct. 15, 2013
`
`Sheet 5 of 15
`
`US 8,560,604 B2
`
`ACCELERATION
`OTHER
`INTERNET
`APPLICATION;
`
`LEVEL APPLICATIONS||APPLICATIONBROWSER
`
`270
`214
`216
`220
`
`
`
`INTERMMEDIATE DRIVER
`272
`
`210
`
`
`
`“SYSTEM
`CO
`
`—_
`
`
`
`COMMUNICATION
`STACKS
`264
`
`Jl
`DEVICE DRIVERS
`
`262
`
`OPERATING
`SYSTEM
`230
`
`MEMORY
`
`FIG. 5
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2011
`6 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`6 of 27
`
`

`

`U.S. Patent
`
`Oct. 15, 2013
`
`Sheet 6 of 15
`
`US 8,560,604 B2
`
`NOLLVYNSIANOD
`
`asvavlvd
`
`082
`
`
`
`ASVaVLVdAHOVS
`
`282
`
`
`
`ASIAAGANVUOLS
`
`802
`
`TS99V
`
`
`
`
`JINGOWLNADVJINGOWY¥33dJINGOWLNAND
`8ez9¢zv2zNOILVYS1599
`
`
`
`NOILLVYS
`
`NOILVOIMMddV
`
`022
`
`
`
`YAZIIVILININALSAS
`
`a71nNGowW
`
`222
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2011
`7 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`7 of 27
`
`

`

`U.S. Patent
`
`Oct. 15, 2013
`
`Sheet7 of 15
`
`US 8,560,604 B2
`
`ACCELERATIONDATABASE164
`
`
`166 AGENT IP ADDRESS ONLINE/OFFLINE
`
`162
`
`J
`
`>>> INDEXED BY: AGENT IP ADDRESS
`
`CACHE DATABASE 282
`286 LIST OF URLS:
`288 URL1
`290 URL
`292 URL HTTP HEADERS
`294 LAST CHECKED ON SERVER
`296 LAST CHANGED ON SERVER
`298 LIST OF CHUNKS FOR THIS URL:
`300 CHUNK 1
`302 CHUNK CHECKSUM
`304 CHUNK DATA
`306 LIST OF PEERS:
`308 PEER 1
`310 PEER 1 IP ADDRESS
`312 PEER 2 CONNECTION STATUS
`
`FIG. 7
`
`The Data Company Technologies Inc. v. Bright Data Ltd.

`pay
`wAPR2022.00135 EX. 2011
`8 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`8 of 27
`
`

`

`U.S. Patent
`
`Oct. 15, 2013
`
`Sheet 8 of 15
`
`US 8,560,604 B2
`
`300
`
`SO
`
`INITIALIZER SIGNS UP WITH
`ACCELERATION SERVER
`302
`
`DETERMINE IF THERE IS AN
`UPDATED VERSION OF
`APPLICATION?
`304
`
`310
`
`INITIALIZER REDIRECTS
`OUTGOING NETWORK TRAFFIC
`306
`
`INITIALIZER LAUNCHES CLIENT
`MODULE AND CONFIGURES
`CLIENT MODULE TO INTERCEPT
`ALL OUTGOING NETWORK
`COMMUNICATIONS
`308
`
`INITIALIZER LAUNCHES AGENT
`MODULE AND PEER MODULE
`
`FIG. 8
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2011
`9 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`9 of 27
`
`

`

`U.S. Patent
`
`Oct. 15, 2013
`
`Sheet9 of 15
`
`US 8,560,604 B2
`
`APPLICATION ON CLIENTINITIATES
`
`REQUEST FOR A RESOURCE ON A
`NETWORK
`352
`
`350
`
`D
`
`358
`
`RESOURCE REQUESTIS INTERCEPTED BY
`THE CLIENT MODULE
`354
`
`CLIENT MODULE LOOKSUP IP ADDRESS OF
`SERVER THAT IS TARGET OF RESOURCE
`REQUEST AND SENDS IP ADDRESS TO
`ACCELERATION SERVERTO OBTAIN LIST
`OF COMMUNICATION DEVICES THAT
`CLIENT CAN USE AS AGENTS
`356
`
`ACCELERATION SERVER PREPARES A LIST
`OF AGENTSTHAT MAYBE SUITABLE TO
`HANDLE THE REQUESTFROMTHIS IP
`ADDRESS
`
`CLIENT SENDS ORIGINAL REQUEST TO ALL
`AGENTSIN THE LIST RECEIVED FROM
`ACCELERATION SERVER TO DETERMINE
`WHICH AGENT IN THE LIST IS BEST SUITED
`TO ASSIST WITH THE REQUEST
`360
`
`
`FIG. 9
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2011
`10 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`10 of 27
`
`

`

`U.S. Patent
`
`Oct. 15, 2013
`
`Sheet 10 of 15
`
`US 8,560,604 B2
`
`EACH AGENT THAT RECEIVES CLIENT REQUEST RESPONDSTO CLIENT WITH
`WHETHER IT HAS INFO. REGARDING REQUESTTHAT CAN ASSIST CLIENT TO
`DOWNLOAD REQUESTED INFO. FROM PEERS IN NETWORK
`382
`
`CLIENT NOTIFIES SELECTED AGENT OF USE FOR REQUESTAND NOTIFIES OTHER
`AGENTS OF LACK OF USE
`386
`
`CLIENT FORWARDS SELECTED AGENT REQUEST FOR FIRST X NUMBER OF
`388
`CHUNKS
`
`
`
`
`DOES SELECTED AGENT HAVEINFO. REGARDING
`REQUESTED CHUNKS AND IS INFO. STILL VALID?
`390
`
`SELECTED AGENT SENDS REQUEST
`DIRECTLY TO SERVER
`400
`a
`
`
`CLIENT SELECTS SPECIFIC AGENT
`384
`
`
`
`
`
`
`
`IF INFO. STILL VALID, SELECTED
`AGENT RESPONDSTO CLIENT WITH
`
`CHECKSUM OF CHUNK,LIST OF
`PEERS THAT CONTAIN CHUNKS, AND
`
`IF ONLY A PORTIONOFINFO.,
`SELECTED AGENT STORESINFO.
`HEADERS
`392
`FROM SERVERIN ITS DATABASE
`
`
`
`LIST OF PEERS FOR EACH CHUNK IS
`
`SORTED BY GEOGRAPHICAL
`RESPONSE(LIST) FOR CLIENT,
`PROXIMITY TO REQUESTING CLIENT
`WHERE RESPONSE INCLUDES
`
`
`
`394
`
`CHECKSUM OF CHUNK, HEADERS,
`AND PROVIDES ITSELF AS THE ONLY
`
`PEER FOR THESE CHUNKS
`
`
`404
`
`
`LIST OF CLOSEST PEERSTO CLIENT
`IS SENT TO CLIENT
`396
`
`
`
`
`LIST IS FORWARDED BACK TO
`CLIENT
`406
`
`FIG. 10
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2011
`11 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`11 of 27
`
`

`

`U.S. Patent
`
`Oct. 15, 2013
`
`Sheet 11 of 15
`
`US 8,560,604 B2
`
`422
`
`CLIENT RECEIVES RESPONSE FROM THE AGENT AND FOR EACH OFX CHUNKS,
`CLIENT SENDS A REQUESTTO EACH OF THE PEERSLISTED FOR THE CHUNK TO
`DOWNLOADTHE DATA OF THAT CHUNK
`
`CHUNK
`
`424
`
`IF ANY CHUNKS WERE NOT LOADED FROM ANY OF THE PEERS, CLIENT REQUESTS
`CHUNKS AGAIN FROM AGENT
`432
`
`CLIENT ACKNOWLEDGESTO THE AGENT WHICH OF THE CHUNKSIT RECEIVED
`PROPERLY
`434
`
`AGENT LOOKS UP CHUNKSIN DATABASEOF AGENT AND ADDSCLIENT TO LIST
`OF PEERS FOR THESE CHUNKS
`436
`
`CLIENT PASSESDATA TO APPLICATION OF CLIENT THAT MADE REQUEST 438
`
`CLIENT CHECKS WHETHER ALL OF THE CHUNKS FOR REQUEST WERE RECEIVED
`440
`
`\ 4
`
`20
`
`FIG. 11
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2011
`12 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`12 of 27
`
`

`

`U.S. Patent
`
`Oct. 15, 2013
`
`Sheet 12 of 15
`
`US 8,560,604 B2
`
`JS 500
`
`LOOK UP HTTP REQUEST IN
`DATABASE, GET ITS HTTP HEADERS
`502
`
`USING STANDARD HTTP
`PROTOCOL, CHECK THE HEADERS
`TO SEE IF THE URL IS STILL VALID
`AT THIS TIME (USING HTTP
`HEADER INFORMATION SUCH AS
`"MAX AGE', 'NO CACHE', MUST
`REVALIDATE’, ETC.)
`504
`
`
`
`IS DATA CACHED FOR THIS
`
`
`SEND HTTP CONDITIONAL REQUEST
`REQUEST STILL VALID?
`
`
`
`TO THE WEB SERVER,TO CHECK IF
`506
`
`
` THE DATA STORED FOR THIS
`REQUEST IS STILL VALID
`510
`
`
`
`
`RETURN "VALID"
`508
`
`IS CACHED DATASTILL VALID?
`512
`
`RETURN "INVALID"
`514
`
`FIG. 12
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2011
`13 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`13 of 27
`
`

`

`U.S. Patent
`
`Oct. 15, 2013
`
`Sheet 13 of 15
`
`US 8,560,604 B2
`
`CHECK "KEEP ALIVE” WITH NETWORK
`ELEMENTS (CLIENTS/AGENTS/PEERS), AND
`UPDATE DATABASE AS TO THEIR STATUS
`(ON-LINE / OFF-LINE)
`
`552
`
`
`
`FIG. 13
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2011
`14 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`14 of 27
`
`

`

`U.S. Patent
`
`Oct. 15, 2013
`
`Sheet 14 of 15
`
`US 8,560,604 B2
`
`600
`
`NETWORK APPLICATION ON CLIENT ISSUES REQUEST TO
`CONNECT TO A TCPIP SERVER
`601
`
`CONNECTION REQUEST IS INTERCEPTED BY
`ACCELERATION APPLICATION ON THE CLIENT
`602
`
`CLIENT MODULE SENDS THE IP ADDRESS OF THE TCPIP
`SERVER TO THE ACCELERATION SERVER TO OBTAIN AN
`AGENT LIST
`604
`
`ACCELERATION SERVER PREPARES A LIST OF AGENTS
`THAT MAY BE SUITABLE TO HANDLE THE REQUEST FROM
`THIS IP ADDRESS (FOR EXAMPLE, A PRIMARY AGENT AND
`FOUR SECONDARY AGENTS), AND SENDS THE LIST TO THE
`CLIENT
`606
`
`CLIENT ISSUES A TCPIP CONNECT WITH THE PRIMARY
`AGENT (OR ONE OF THE OTHER AGENTS IF THE PRIMARY
`AGENT CONNECT DOES NOT SUCCEED) TO ESTABLISH A
`TCPIP CONNECTION WITH AN AGENT
`608
`
`CLIENT SENDS TO THE AGENT THE IP ADDRESS OF THE
`TCPIP SERVER THAT THE COMMUNICATION APPLICATION
`WANTS TO CONNECT WITH, AND THE PORT TO WHICH IT
`WANTS TO CONNECT
`610
`
`612
`
`AGENT ISSUES A TCPIP CONNECT WITH THE TCPIP
`SERVER TO THE IP AND PORT RECEIVED FROM THE CLIENT
`
`FIG. 14
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2011
`15 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`15 of 27
`
`

`

`U.S. Patent
`
`Oct. 15, 2013
`
`Sheet 15 of 15
`
`US 8,560,604 B2
`
`ACCELERATION APPLICATION INTERCEPTS A TCPIP WRITE COMMAND FROM THE
`COMMUNICATION APPLICATION (ON CLIENT) OR FROM TCPIP SERVER (ON AGENT) 802
`
`DATA OF WRITE COMMAND IS BROKEN UP INTO CHUNKS AND CHECKSUMS ARE
`CALCULATED FOR EACH CHUNK 804
`
`ACCELERATION APPLICATION LOOKS UP EACH CHUNK’S CHECKSUM IN ITS CACHE
`DATABASE 806
`
`DOES AN ENTRY FOR THE CHECKSUM EXIST IN THE CACHE DATABASE? 808
`
`YES
`
`ACCELERATION APPLICATION PREPARES
`LIST OF PEERS THAT HAVE RECEIVED THIS
`CHUNK IN THE PAST 810
`
`ACCELERATION APPLICATION SENDS PEER
`LIST TO COMMUNICATION DEVICEIT IS
`COMMUNICATING WITH (CLIENT TO AGENT,
`OR AGENTTO CLIENT), AND ADDS THAT
`COMMUNICATION DEVICE TO THE LIST OF
`PEERS FOR THAT CHUNK 812
`
`COMMUNICATION DEVICE WITH
`ACCELERATION APPLICATION THAT
`RECEIVED THE LIST OF PEERS CONNECTS
`TO AT LEAST ONE OF THE PEERS AND
`DOWNLOADS THE CHUNK FROM IT 814
`
`
`
`NO
`
`ACCELERATION APPLICATION ADDS
`THE CHUNK AND ITS CHECKSUM TO
`ITS CACHE DATABASE, AND SENDS
`THE CHUNK ITSELF TO THE
`COMMUNICATION DEVICEIT IS
`COMMUNICATING WITH (CLIENT TO
`AGENT, OR AGENT TO CLIENT), AND
`ADDS THAT COMMUNICATION DEVICE
`TO THE LIST OF PEERS FOR THAT
`CHUNK 820
`
`N
`
`HAVE ALL CHUNK DATA BEEN TRANSFERRED TO THE OTHER SIDE? 816
`
`O
`
`
`
`
`YES
`
`ACCELERATION APPLICATION PASSES ON THE COMPLETE DATA RECEIVED ON TO THE
`REQUESTER — IN THE CLIENT IT PASSES IT ON TO THE COMMUNICATION APPLICATION,
`AND IN THE AGENT IT PASSES IT ON TO THE TCPIP SERVER 818
`
`
`FIG. 15
`
`XN 800
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2011
`16 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`16 of 27
`
`

`

`US 8,560,604 B2
`
`1
`SYSTEM AND METHOD FOR PROVIDING
`FASTER AND MOREEFFICIENT DATA
`COMMUNICATION
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`The presentapplication claimspriority to U.S. provisional
`patent application entitled “FASTER AND MORE EFFI-
`CIENT DATA COMMUNICATION SYSTEM,”having Ser.
`No. 61/249,624,filed Oct. 8, 2009, which is hereby incorpo-
`rated herein by reference inits entirety.
`
`FIELD OF THE INVENTION
`
`The present inventionis related to Internet communication,
`and more particularly,
`to improving data communication
`speed and bandwidth efficiency on the Internet.
`
`BACKGROUNDOF THE INVENTION
`
`There are several trends in network and Internet usage,
`which tremendously increase the bandwidth that is being
`used on the Internet. One such trend is that more and more
`video is being viewed on demandonthe Internet. Such view-
`ing includesthe viewingofboth large and short video clips. In
`addition, regular showsandfull-featured films may be viewed
`onthe Internet. Anothertrend that is increasing the traffic on
`the Internet is that Web sites (such as shopping portals, news
`portals, and social networks) are becoming global, meaning
`that the Web sites are serving people in many diverse places
`on the globe, and thus the data is traversing over longer
`stretches ofthe Internet, increasing the congestion.
`The increase in bandwidth consumption has created sev-
`eral major problems, a few of which are described below:
`The problem for users—thecurrent Internet bandwidth is not
`sufficient, and thus the effective ‘speed’ experienced by users
`is slow;
`The problem for content owners—the tremendous amount of
`data being, viewed by usersis costing large amounts ofmoney
`in hosting and bandwidthcosts; and
`The problem for Internet Service Providers (ISPs)—the
`growthin Internet traffic is requiring the ISPs to increase the
`infrastructure costs (communication lines, routers, etc.) at
`tremendousfinancial expense.
`The need for a new methodofdata transfer that is fast for
`the consumer, cheap for the content distributor and does not
`require infrastructure investment for ISPs, has become a
`major issue which is yet unsolved.
`There have been many attempts at making the Internet
`faster for the consumerand cheaper for the broadcaster. Each
`such attempt is lacking in some aspect to become a wide-
`spread, practical solution, or is a partial solution in that it
`solves only a subset ofthe major problemsassociated with the
`increase in Internet traffic. Most of the previous solutions
`require billions ofdollars in capital investment for a compre-
`hensive solution. Many ofthese attempts are lacking in that
`muchofthe contenton the Internet has become dynamically
`created per the user and the session of the user (this is what
`usedto be called the “Web2.0”trend). This may be seen onthe
`Amazon Website and the Salesforce Website, for example,
`where mostof the page views on these Websites is tailored to
`the viewer, and is thus different for any two viewers. This
`dynamic information makes it impossible for most ofthe
`solutions offered to date to store the content and provide it to
`others seeking similar content.
`
`40
`
`50
`
`55
`
`60
`
`2
`Onesolution that has beeninuse is called a “proxy”. FIG.
`1 is a schematic diagram providing an example of use of a
`proxy within a network 2. A proxy, or proxy server 4,6, 8 is
`a devicethat is placed between oneor moreclients,illustrated
`in FIG. 1 as client devices 10, 12, 14, 16, 18, 20, that request
`data, via the Internet 22, and a Web server or Web servers 30,
`32, 34 from whichthey are requesting the data. The proxy
`server 4, 6,8 requests the data from the Webservers 30, 32, 34
`on their behalf, and caches the responses from the Webserv-
`ers 30, 32, 34, to provide to other client devices that make
`similar requests. If the proxy server 4, 6, 8 is geographically
`close enough to the client devices 10, 12, 14, 16, 18, 20, and
`if the storage and bandwidth of the proxy server 4, 6, 8 are
`large enough, the proxy server 4, 6, 8 will speed up the
`requests for the client devices 10, 12, 14, 16, 18, 20 thatit is
`serving.
`It should be noted, however, that to provide a comprehen-
`sive solution for Internet surfing, the proxy servers of FIG. 1
`would need to be deployed at every point around the world
`wherethe Internet is being consumed, and the storage size of
`the proxy servers at each location would need to be near the
`size of all the data stored anywhere on the Internet. The
`abovementioned would lead to massive costs that are imprac-
`tical. In addition, these proxy solutions cannot deal well with
`dynamic data that is prevalent nowon the Web.
`There have been commercial companies, such as Akamai,
`that have deployed such proxies locally around the world, and
`that are servinga select small groupofsites onthe Internet. If
`all sites on the Web wereto be solved with sucha solution, the
`capital investment would be in the range ofbillions of dollars.
`In addition, this type of solution does not handle dynamic
`content.
`
`To createlarge distribution systems withoutthe large hard-
`ware costs involved with a proxy solution, “peer-to-peerfile
`sharing” solutions have been introduced,
`such as,
`for
`example, BitTorrent. FIG. 2 is a schematic diagram providing
`an example of a peer-to-peerfile transfer network 50. In the
`network 50, files are stored on computers of consumers,
`referred to herein as client devices 60. Each consumer can
`serve up data to other consumers, via the Internet 62, thus
`taking the load of serving off of the distributors and saving
`themtheassociated costs, and providing the consumer mul-
`tiple points from which to download the data, referred to
`herein as peers 70, 72. 74, 76, 78, thus increasing the speed of
`the download. However, each suchpeer-to-peer solution must
`have somesort of index by whichto find the required data. In
`typical peer-to-peerfile sharing systems, becausethe indexis
`on a server 80, or distributed among several servers, the
`number of files available in the system is not very large
`(otherwise, the server costs would be very large, or the lookup
`time would be very long).
`The peer-to-peer file sharing solution is acceptable infile
`sharing systems, because there are not that many mediafiles
`that are of interest to the mass (probably in the order of
`magnitude ofmillions of movies and songs thatare of inter-
`est). Storing and maintaining anindex ofmillionsofentries is
`practical technically and economically. However,ifthis sys-
`tem were to be used to serve the hundreds ofbillionsoffiles
`that are available on the Internet oftoday, the cost of storing
`and maintaining such an index would be againin the billions
`of dollars. In addition, these types of peer-to-peerfile sharing
`systemsare not able to deal with dynamic HTTPdata.
`In conclusion, there does not exist a system that enables
`fast transmission ofmost ofthe data on the Internet. that does
`not incur tremendouscosts, and/or that provides only a very
`partial solution to the problem ofInternet traffic congestion.
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2011
`17 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`17 of 27
`
`

`

`US 8,560,604 B2
`
`SUMMARYOF THE INVENTION
`
`10
`
`3
`Thus, a heretofore unaddressed need exists in the industry to
`address the aforementioned deficiencies and inadequacies.
`
`4
`FIG. 6 is a schematic diagram furtherillustrating elements
`ofthe acceleration application of FIG. 5, as well as commu-
`nication paths of the acceleration application.
`FIG. 7 is a chart furtherillustrating two ofthe main data-
`bases utilized within the communication network.
`FIG. 8 is a flowchart illustrating operation of the accelera-
`The present system and method provides for faster and
`more efficient data communication within a communication
`tion systeminitializer module.
`FIG. 9 is a flowchart further illustrating communication
`network. Briefly described, in architecture, one embodiment
`between different elements of the communication network.
`of the system, among others, can be implementedas follows.
`FIG. 10 is a flowchart continuing the flowchart of FIG. 9
`A networkis provided for accelerating data communication,
`wherein the network contains: at least one client communi-
`and focused on agent response to the HTTP request.
`FIG.11 is a flowchart continuing the flowchart of FIG. 10,
`cation device for originating a data request for obtaining the
`whichillustrates actions taken upon receipt of the list of
`data from a data server; at least one agent communication
`peers, or single peer listing, from the agent.
`device whichis assigned to the data server for receiving the
`FIG. 12 is a flowchart illustrating steps taken by an agent,
`data request from the client communication device, wherein 15
`client, or peer to determine whether a certain HTTP requestis
`the agent keepstrack ofwhich client communication devices
`still valid.
`have received responses to data requests from the assigned
`FIG.13 is a flowchart outlining operationof the accelera-
`data server; at least one peer communication device for stor-
`tion server.
`ing portions ofdata receivedin responseto the data request by
`FIG. 14 is a flowchart further illustrating TCPIP accelera-
`the at least one client communication device, wherein the 20.
`tion in accordance with an alternative embodiment of the
`portions of data may be transmitted to the at least one client
`invention.
`communication device uponrequest by the client communi-
`FIG. 15 is a flowchart further illustrating TCPIP accelera-
`cation device; andatleast one acceleration serverfor deciding
`tion in accordance with an alternative embodiment of the
`which agent communicationdeviceis to be assigned to which
`data server and providing this information to the at least one 25 invention, detailing the communication between the client
`client communicationdevice.
`and the TCPIP server (read and write commands) after the
`The present system and method also provides a communi-
`connect phase has completed successfully.
`cation device within a network, wherein the communication
`device contains: a memory: anda processor configured bythe
`memory to perform the steps of: originating a data request for 30
`The present system and method provides for faster and
`obtaining data from a data server; being assigned to a data
`moreefficient data communication within a communication
`server, referred to as an assigned data server; receiving a data
`network. An example of such a communication network 100
`request from a separate device within the network, and keep-
`_is provided by the schematic diagram ofFIG. 3. The network
`ing track of which client communication devices within the
`network have received responses to data requests from the 35 100 of FIG.3 contains multiple communication devices. Due
`assigned data server; and storing portions of data received in
`_to functionality provided by software stored within each com-
`responseto the originated data request, wherein the portions
`munication device, which may be the same in each commu-
`of data may be transmitted to communication device upon
`nication device, each communication device may serve as a
`request by the communication device.
`client, peer, or agent, depending upon requirements of the
`Other systems, methods, features, and advantages ofthe 40 network 100, as is described in detail herein. It should be
`presentinvention will be or become apparentto onewith skill
`noted that a detailed description ofacommunicationdeviceis
`in the art upon examination of the following drawings and_provided withregard to the description of FIG.4.
`detailed description. It is intended that all such additional
`Returning to FIG. 3, the exemplary embodiment of the
`systems, methods,
`features, and advantages be included
`network 100 illustrates that one of the communication
`within this description, be within the scope ofthe present 45 devices is functioning as a client 102. The client 102 is
`invention, and be protected by the accompanying claims.
`capable of communication with one or more peers 112, 114,
`116 and one or more agents 122. For exemplary purposes, the
`network contains three peers and one agent, althoughit is
`noted that a client can communicate with any number of
`Many aspects of the invention can be better understood 50 agents and peers.
`with reference to the following drawings. The components in
`The communication network 100 also contains a Web
`the drawings are not necessarily to scale, emphasis instead
`server 152. The Web server 152 is the server from which the
`being placed uponclearly illustrating the principles of the
`client 102 is requesting information and maybe, for example,
`present invention. Moreover, in the drawings, like reference
`a typical HTTPserver, such as those being used to deliver
`numerals designate corresponding parts throughout the sev- 55 content on any of the manysuchservers on the Internet. It
`eral views.
`should be noted that the server 152 is not limited to being an
`FIG. 1 is a schematic diagramproviding a prior art example
`HTTPserver. Infact, ifa different communication protocolis
`of use ofa proxy within a network.
`used within the communication network, the server may be a
`FIG. 2 is a schematic diagram providing a prior art example
`server capable of handling a different protocol. It should also
`of a peer-to-peerfile transfer network.
`60 be noted that while the present description refers to the use of
`FIG, 3 is a schematic diagram providing an example of a
`HTTP, the present invention mayrelate to any other commu-
`communication network in accordance with the present
`nication protocol and HTTPis not intendedto be a limitation
`invention.
`to the present invention.
`FIG. 4 is a schematic diagram further illustrating a com-
`The communication network 100 further contains an accel-
`munication device of the communication network of FIG. 3. 65 eration server 162 having an acceleration server storage
`device 164. As is described in more detail herein, the accel-
`FIG. 5 is a schematic diagram further illustrating the
`memory of FIG. 4.
`eration server storage device 164 has contained therein an
`
`DETAILED DESCRIPTION
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2011
`18 of 27
`
`The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2011
`18 of 27
`
`

`

`US 8,560,604 B2
`
`GQ
`
`6
`5
`acceleration server database. The acceleration server data-
`The memory 210, whichis furtherillustrated and described
`by the description of FIG. 5, can include any one or combi-
`base stores Internet protocol (IP) addresses of communica-
`nation of volatile memory elements (e.g., random access
`tion devices within the communication network 100 having
`memory(RAM,such as DRAM, SRAM, SDRAM,etc.)) and
`acceleration software stored therein. Specifically, the accel-
`eration server database containsstored therein a list of com-
`nonvolatile memory elements (e.g., ROM, hard drive, tape,
`CDROM,etc.). Moreover, the memory 210 may incorporate
`munication devices having acceleration software stored
`electronic, magnetic, optical, and/or other types of storage
`therein that are currently online within the communication
`media. Note that the memory 210 can have a distributed
`network 100. For each such agent, the acceleration server
`architecture, where various components are situated remote
`assignsa list of IP addresses.
`from one another, but can be accessed by the processor 202.
`In the communication network 100 of FIG. 3, the applica-
`The software 212 located within the memory 210 may
`tionin the client 102 is requesting information from the Web
`include one or more separate programs, each of which con-
`server 152, which is why the software within the communi-
`tains an ordered listing of executable instructions for imple-
`cation device designated this communication device to work
`as a client. In addition, since the agent 122 receives the
`menting logical functions of the communication device 200,
`request from the client 102 as the communication device 15 as described below.Inthe example ofFIG. 4, the software 212
`closest to the Web server 152, functionality of the agent 122,
`in the memory 210 at least contains an acceleration applica-
`as provided by the software ofthe agent 122, designates this
`tion 220 and an Internet browser214. In addition, the memory
`communication device to work as an agent. It should be
`210 may contain an operating system (O/S) 230. The operat-
`noted, that in accordance withanalternative embodiment of
`ing system230 essentially controls the execution ofcomputer
`the invention,
`the agent need not be the communication 20 programs and provides scheduling, input-output control, file
`device that is closest to the Web server. Instead, a different
`and data management, memory management, and communi-
`communication device may beselected to be the agent.
`cation control andrelated services. It should be noted that, in
`Since the peers 112, 114, 116 contain at least portions of
`additionto the acceleration application 220, Internet browser
`the information soughtby the client 102 from the Web server
`214, and operating system 230, the memory 210 may contain
`152, functionality of the peers 112, 114, 116, as provided by 25 other software applications.
`the software of the peers 112, 114, 116, designates these
`While the present description refers to a request from the
`communication devices to work as peers. It should be noted
`client originating from an Internet browser, the present inven-
`that the process ofdesignating clients, agents, and peers is
`tionis notlimited to requests originating fromInternet brows-
`described in detail herein. It should also be noted that the
`ers. Instead, a request may originate froman email programor
`numberof clients, agents, peers, acceleration servers, Web 30 any other program that would be used to request data that is
`servers, and other componentsofthe communication network
`stored on a Webserver, or other server holding data that is
`100 may differ from the numberillustrated by FIG. 3. In fact,
`requested bythe client device.
`the numberofclients, agents, peers, acceleration servers,
`Functionality of the communication device 200 may be
`Webservers, and other components of the communication
`provided by a source program, executable program (object
`network 100 are not intended to be limited by the current 35 code), script, or any other entity containing a set ofinstruc-
`description.
`tions to be performed. When a source program, then the
`Prior to describing functionality performed within a com-
`program needs to be translated via a compiler, assembler,
`munication network 100, the following further describes a
`interpreter, or the like, which may or may not be included
`communication device 200, in accordance witha first exem-
`within the memory210, so as to operate properly in connec-
`plary embodiment of the invention. FIG. 4 is a schematic 40 tion with the operating system 230. Furthermore, functional-
`diagramfurtherillustrating a communication device 200 of
`ity of the communication device 200 can be writtenas (a) an
`the communication network 100, which contains general
`object oriented programming language, which has classes of
`components of a computer. As previously mentioned,
`it
`data and methods, or (b) a procedure programming l

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