`US 10,069,936 B2
`(0) Patent No.:
`Sep. 4, 2018
`(45) Date of Patent:
`Shribmanet al.
`
`US010069936B2
`
`(54) SYSTEM PROVIDING FASTER AND MORE
`EFFICIENT DATA COMMUNICATION
`
`(56)
`
`(71) Applicant! HOLA NEWCO LTD., Netanya (IL)
`,
`.
`(72)
`Inventors: Derry Shribman, Tel Aviv (IL); Ofer
`Vilenski, Moshav Hadar Am (IL)
`
`(73) Assignee: HOLA NEWCO LTD., Netanya (IL)
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 485 days.
`
`(21) Appl. No.: 14/025,109
`
`(22)
`
`Filed:
`
`Sep. 12, 2013
`
`(65)
`
`Prior Publication Data
`US 2014/0019514 Al
`Jan. 16, 2014
`
`Related U.S. Application Data
`(62) Division of application No. 12/836,059,filed on Jul.
`14, 2010, now Pat. No. 8,560,604.
`(Continued)
`
`(51)
`
`(2006.01)
`(2006.01)
`(2006.01)
`
`Int. CL
`FOAL 29/06
`HOAL 29/08
`HOAL 12/24
`(52) US. Cl
`a
`CPC vovessesses HO4L 67/42 (2013.01); HOAL 41/046
`(2013.01); HO4L 67/1002 (2013.01);
`(Continued)
`(58) Field of Classification Search
`CPC .... HO4L 67/42; HO4L 41/046; HO4L 67/1002
`(Continued)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`3,922,494 A
`4,937,781 A
`
`LL/1975. Cooperet al.
`6/1990 Leeetal.
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`CN
`CN
`
`11/2007
`101075242 A
`5/2008
`101179389 A
`(Continued)
`
`OTHER PUBLICATIONS
`
`Notice of Preliminary Rejection in KR Application No. 10-2012-
`7FOLI711 dated Jul. 15, 2016.
`(Continued)
`Primary Examiner — Minh Chau Nguyen
`(74) Attorney, Agent, or Firm — May Patents Ltd.
`(57)
`ABSTRACT
`A system designed for increasing network communication
`speed for users, while lowering network congestion for
`content owners and ISPs. The system employs network
`elements including an acceleration server, clients, agents,
`and peers, where communication requests generated by
`applications are intercepted by the client on the same
`machine. The IP address of the server in the communication
`request
`is transmitted to the acceleration server, which
`provides a list of agents to use for this IP address. The
`communication request is sent to the agents. One or more of
`the agents respond with a list of peers that have previously
`seen someorall of the content which is the response to this
`request (after checking whetherthis 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 Web servers by
`offloading the data transfers from them to nearby peers.
`34 Claims, 15 Drawing Sheets
`
`
`
`{
`
`SERVER
`
`
`
`
`
`
`
`CLIENT
`DEVICE
`
`CRXENT
`PEVICE28
`
`
`
`
`CLIENT
`DEVICE
`ao
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`1 of 28
`1 of 28
`
`
`
`US 10,069,936 B2
`
`Page 2
`
`Related U.S. Application Data
`(60) Provisional application No. 61/249,624,filed on Oct.
`8, 2009.
`
`2007/0073878 A1L*
`3/2007 Issa veces HO4L 67/104
`9007/0156855 Al
`7/2007 Johnson
`709/225
`2007/0226810 Al
`9/2007 Hotti
`2007/0239655 Al
`10/2007 Agetsumaetal.
`2008/0008089 Al
`1/2008 Bornstein et al.
`(52) US. CL
`3008007008 AN Wane
`CPC ceesece HOAL 67/108 (2013.01); HOAL 67/1023
`2008/0109466 Al
`5/2008 Xin
`(2013.01); HO4L 67/1063 (2013.01); HO4LE
`2008/0125123 Al
`§/2008 Dorenboschetal.
`67/22 (2013.01); HO4L 67/2814 (2013.01);
`2008/0222291 Al
`9/2008 Welleret al.
`HOAL 67/2819 (2013.01); HOAL 67/02
`2008/0235391 Al
`9/2008 Painteretal.
`(2013.01)
`2009/0217122 Al
`8/2009 Yokokawaetal.
`oo
`:
`.
`2009/0279559 Al
`11/2009 Wongetal.
`(58) Field of Classification Search
`2009/0319502 A1l* 12/2009 Chalouhi
`.............. HO4L 67/104
`USPC ciceeccceccccsccecccccccccseeeeeeeeeesees 709/201—203, 207
`
`See application file for complete search history. 2010/0066808 Al=3/2010 Tuckeretal.
`2010/0085977 Al
`4/2010 Khalid etal.
`.
`2010/0094970 Al
`4/2010 Zuckerman etal.
`References Cited
`2010/0115063 Al
`6/2010 Gladwinetal.
`2010/0154044 Al
`6/2010 Manku
`U.S. PATENT DOCUMENTS
`2010/0235438 Al
`9/2010 Narayanan etal.
`2010/0293555 Al
`11/2010 Vepsalainen
`5,758,195 A
`5/1998 Balmer
`2010/0329270 Al
`12/2010 Asati et al.
`6,061,278 A
`eal Kato eta
`2011/0087733 Al
`4/2011 Shribman et al.
`6,173,330 Bl
`1/2001 Guoet
`al.
`2011/0314347 Al
`12/2011 Nakanoetal.
`6,466,470 Bl
`10/2002 Chang
`2012/0099566 Al
`4/2012. Laineet all.
`7,120,666 B2
`10/2006 McCanneetal.
`2012/0124239 Al
`5/2012. Shribman et al.
`7,203,741 B2
`4/2007 Marco et al.
`2012/0254456 Al
`10/2012 Visharam etal.
`7,558,942 Bl
`7/2009 Chenetal.
`2013/0166768 Al
`6/2013 Gouacheetal.
`7,865,585 B2 *
`1/2011 Samuels beeen eeeee es HO4L 67/2842
`2013/0201316 Al
`8/2013 Binder et al.
`709/217
`2013/0272519 Al
`10/2013 Huang
`2014/0082260 Al
`3/2014. Oh etal.
`2014/0301334 Al
`10/2014 Labrancheetal.
`
`(56)
`
`7,970,835 B2
`8,171,101 B2
`
`6/2011 St. Jacques
`5/2012 Gladwin et al.
`
`8,499,059 B2
`8,769,035 B2
`8,832,179 B2
`2001/0033583 Al
`2002/0007413 A1*
`
`2002/0065930 Al
`2002/0120874 Al
`2002/0123895 Al
`2002/0133621 Al
`2003/0009518 Al*
`
`2003/0009583 Al
`2003/0074403 Al*
`
`7/2013 Stoyanov
`7/2014 Reschetal.
`9/2014 Owenetal.
`10/2001 Rabenkoetal.
`1/2002 Garcia-Luna-Aceves ..... cee
`GO6F 12/1483
`709/229
`
`5/2002 Rhodes
`8/2002 Shuet al.
`9/2002 Potekhin
`9/2002 Marcoet al.
`1/2003 Harrow ........ ce HO4L 47/10
`709/203
`
`1/2003 Chan etal.
`4/2003 Harrow ............. GO6F 17/30206
`709/203
`
`6/2003 Shuet al.
`2003/0115364 Al
`9/2003 Wanget al.
`2003/0174648 Al
`2003/0200307 Al* 10/2003 Raju wu... GO6F 12/1483
`709/224
`
`10/2003 Hudson
`2003/0204602 Al
`2003/0210694 Al* 11/2003 Jayaraman .......... HO4L 67/1008
`370/392
`
`R. Fielding et al, RFC 2616: Hypertext Transfer Protocol—HTTP/
`1.1, Jun. 1999, retrieved from the Internet http://rcf-editor.org
`[retrieved Apr. 15, 2002] (114 pages).
`“On the Leakage of Personally Identifiable Information via Online
`5/2004 ‘Yeageret al.
`2004/0088646 Al
`6/2004 Vert et al.
`2004/0107242 Al
`Social Networks”—wWills et al, AT&T, Apr. 2009 http://www2.
`2004/0264506 Al=12/2004 Furukawa
`research.att.com/~bala/papers/wosn09 pdf.
`2006/0212584 AL*
`9/2006 YU uc GO6F 17/30902
`709/227
`
`2015/0067819 Al
`2015/0358648 Al
`2016/0021430 Al
`
`3/2015 Shribman etal.
`12/2015 Limberg
`1/2016 LaBoscoetal.
`
`FOREIGN PATENT DOCUMENTS
`
`EP
`EP
`JP
`JP
`KR
`RU
`WO
`WO
`WO
`
`0948176 A2
`2597869 Al
`2007-280388 A
`2007280388
`1020090097034
`2343536 C2
`2000/018078 Al
`2010090562 Al
`2015034752 Al
`
`10/1999
`5/2015
`10/2007
`10/2007
`9/2009
`10/2009
`3/2000
`8/2010
`3/2015
`
`OTHER PUBLICATIONS
`
`* cited by examiner
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`2 of 28
`2 of 28
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 1 of 15
`
`US 10,069,936 B2
`
`
`CLIENT
`
`DEVICE
`
`
`an
`
`
`
`CLIENT
`DEVICE
`a2
`
`CLIENT
`
`
`DEVICE
`4a
`
`CLIENT
`
`
`=
`SERVER,
`
`
`
`.
` £ 3
`Atereeeeneenee
`
`
`
`
`
`
`
`CLIENT
`DEVICE
`38
`
`
`
`CLIENT
`DEVICE
`ae
`
`
`SERVER
`8
`j
`
`
`FIG. 1
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`3 of 28
`3 of 28
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 2 of 15
`
`US 10,069,936 B2
`
`SERVER
`Ro
`
`
`
`CLLENT
`DEVICE
`60
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`4 of 28
`4 of 28
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 3 of 15
`
`US 10,069,936 B2
`
`
`ACCELERATION
`SERVER
`Af2
`
`
`
`
`WEB
`SERVER
`Ab2
`
`CLIENT
`
`AGENT
`X22
`
`PEER
`
`
`
`FIG. 3
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`5 of 28
`5 of 28
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 4 of 15
`
`US 10,069,936 B2
`
` Ore
`
`AYOWSW
`
`
`
`ASIASGAOVYOLS
`
`LANYALNI
`
`YsaSMOug
`
`ble
`
`
`
`NOILVYsTa99V
`
`NOILVOMddV
`
`0ee
`
`aYVMLIOS
`
`ce
`
`NOLLVYNSDISNOD
`
`asvavilvd
`
`082
`
`
`
`ASVaVLvdSHOWS
`
`78
`
`
`
`0S¢AOVAYALNI1V9O7T
`
`80¢
`
`SSOIAA”Ol
`
`orz
`
`vySlA
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`6 of 28
`6 of 28
`
`aYoOsssd0dd
`
`0g
`
`Nee
`
`
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 5 of 15
`
`US 10,069,936 B2
`
`ACCELERATION
`OTHER
`INTERNET
`APPLICATION|
`
`LEVEL APPLICATIONS||APPLICATIONBROWSER
`
`270
`214
`216
`220
`
`210
`
`INTERMMEDIATE DRIVER
`272
`
`COMMUNICATION
`STACKS
`264
`
`DEVICE DRIVERS
`
`262
`
`OPERATING
`SYSTEM
`230
`
`MEMORY
`
`OPERATING
`SYSTEM
`
`eo
`
`—_
`
`FIG. 5
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`7 of 28
`7 of 28
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 6 of 15
`
`US 10,069,936 B2
`
`NOILVYATADOV
`
`
`
`
`
`JINGOWLNASVJINGOWYaadJINGOWLN3I1D
`8z~e9ezveeNOILVYATS99NV
`
`
`
`NOILVOMddV
`
`0e2
`
`
`
`YAZITVILINIWALSAS
`
`JINGOW
`
`
`
`
`
`9°SIs
`
`NOLLVYNSIANOD
`
`asvavivd
`
`082
`
`
`
`ASVaEVLVdAHOVO
`
`c8e
`
`
`
`ASIAAGADVYOLS
`
`802
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`8 of 28
`8 of 28
`
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 7 of 15
`
`US 10,069,936 B2
`
`celia Rabatse sced
`162
`166 AGENT IP AONLINE/OFFLINE
`
`
`voPRPINDEXEDBY:AGENTIPADDRESS
`
`
`
`mBURLE
`a SSURL —
`_ ASCURLHTTPHEADERS
`wetuanet
`_.. 2B4LAST CHECKEDON SERVER cits nvawnstenntnty tan
`_ 298LAST CHANGED ONSERVERscenes
`298 LISTOFCHUNKSFORTHISURL:
`300: CHUNK |
`i.
`SOR CHUNK CHECKSUM
`SOECHUNKDATA
`
`
`
`310.PEER 1IP ADDRESS
`_ 312PEER 2 CONNECTION STATUS -
`
`FIG. 7
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`9 of 28
`9 of 28
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 8 of 15
`
`US 10,069,936 B2
`
`300
`
`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
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`10 of 28
`10 of 28
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 9 of 15
`
`US 10,069,936 B2
`
`352
`
`APPLICATION ON CLIENT INITIATES
`REQUEST FOR A RESOURCE ONA
`NETWORK
`
`350
`
`360
`
`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 SERVER TO OBTAIN LIST
`OF COMMUNICATION DEVICES THAT
`CLIENT CAN USE AS AGENTS
`356
`
`ACCELERATION SERVER PREPARESA LIST
`OF AGENTSTHATMAYBE SUITABLE TO
`HANDLE THE REQUEST FROMTHISIP
`ADDRESS
`358
`
`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
`
`FIG. 9
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`11 of 28
`11 of 28
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 10 of 15
`
`US 10,069,936 B2
`
`
`EACH AGENTTHAT RECEIVES CLIENT REQUEST RESPONDSTO CLIENT WITH
`WHETHER IT HASINFO. REGARDING REQUESTTHATCANASSIST CLIENT TO
`DOWNLOAD REQUESTED INFO. FROM PEERS IN NETWORK
`382
`
`
`CLIENT SELECTS SPECIFIC AGENT
`
`CLIENT NOTIFIES SELECTED AGENT OF USE FOR REQUEST AND NOTIFIES OTHER
`AGENTS OF LACK OF USE
`386
`
`CLIENT FORWARDS SELECTED AGENT REQUESTFOR FIRST X NUMBER OF
`CHUNKS
`388
`
`
`
`
`DOES SELECTED AGENT HAVEINFO. REGARDING
`REQUESTED CHUNKS AND IS INFO. STILL VALID?
`
`
`390
`
`YES
`
`NO
`
`
`IF INFO. STILL VALID, SELECTED
`AGENT RESPONDSTO CLIENT WITH
`CHECKSUM OF CHUNK,LIST OF
`PEERS THAT CONTAIN CHUNKS, AND
`IF ONLY A PORTIONOFINFO.,
`HEADERS
`392
`
`
`LIST OF PEERS FOR EACH CHUNK IS
`SORTED BY GEOGRAPHICAL
`PROXIMITY TO REQUESTING CLIENT
`394
`
`LIST OF CLOSEST PEERS TO CLIENT
`IS SENT TO CLIENT
`
`SELECTED AGENT SENDS REQUEST
`DIRECTLY TO SERVER
`400
`
`SELECTED AGENT STORESINFO.
`FROM SERVER IN ITS DATABASE
`a”
`
`
`ELECTED AGENT PREPARE
`SELEC
`G
`s
`RESPONSE (LIST) FOR CLIENT,
`WHERE RESPONSEINCLUDES
`CHECKSUM OF CHUNK, HEADERS,
`AND PROVIDES ITSELF AS THE ONLY
`PEER FOR THESE CHUNKS
`404
`
`396 LIST IS FORWARDED BACK TO
`
`
`CLIENT
`406
`
`FIG. 10
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`12 of 28
`12 of 28
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 11 of 15
`
`US 10,069,936 B2
`
`422
`
`CLIENT RECEIVES RESPONSE FROM THE AGENT AND FOR EACH OF X CHUNKS,
`CLIENT SENDS A REQUEST TO EACH OF THE PEERSLISTED FOR THE CHUNK TO
`DOWNLOADTHE DATA OF THAT CHUNK
`
`PEERS RESPOND REGARDING WHETHER THEYSTILL HAVE THE DATA OF THE
`CHUNK
`424
`
`CLIENT SELECTS QUICKEST PEER WITH DATA OF THE CHUCK 426
`
`CHOSEN PEER SENDS CHUNK TO CLIENT
`
`428
`
`CLIENT STORES CHUNKSIN ITS CACHE FOR FUTURE USE
`
`430
`
`IF ANY CHUNKS WERE NOT LOADED FROM ANYOF THE PEERS, CLIENT REQUESTS
`CHUNKS AGAIN FROM AGENT
`432
`
`CLIENT ACKNOWLEDGES TO THE AGENT WHICH OF THE CHUNKSIT RECEIVED
`PROPERLY
`434
`
`AGENT LOOKS UP CHUNKSIN DATABASE OF AGENT AND ADDS CLIENT TO LIST
`OF PEERS FOR THESE CHUNKS
`436
`
`CLIENT PASSES DATA TO APPLICATION OF CLIENT THAT MADE REQUEST438
`
`CLIENT CHECKS WHETHER ALL OF THE CHUNKS FOR REQUEST WERE RECEIVED
`440
`
`\ 4
`
`20
`
`FIG. 11
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`13 of 28
`13 of 28
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 12 of 15
`
`US 10,069,936 B2
`
`500
`
`LOOK UP HTTP REQUEST IN
`DATABASE, GET ITS HTTP HEADERS
`502
`
`504
`
`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.)
`
`
`
`IS DATA CACHED FOR THIS
`
`
`SEND HTTP CONDITIONAL REQUES
`
`
`REQUEST STILL VALID?
`
`
`TO THE WEB SERVER, TO CHECK IF
`506
`
`THE DATA STORED FOR THIS
`REQUESTIS STILL VALID
`510
`
`
`
`512
`
`
`RETURN "VALID"
`IS CACHED DATA STILL VALID?
`508
`
`
`
`NO
`
`514
`
`RETURN "INVALID"
`
`FIG. 12
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`14 of 28
`14 of 28
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 13 of 15
`
`US 10,069,936 B2
`
`(ON-LINE / OFF-LINE)
`
`UPDATE DATABASE AS TO THEIR STATUS
`
`SIGN_UP
`
`FIND_AGENT
`
`RETURN TO THE CLIENT THE VERSION OF
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`15 of 28
`15 of 28
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 14 of 15
`
`US 10,069,936 B2
`
`NETWORK APPLICATION ON CLIENT ISSUES REQUEST TO
`CONNECT TO A TCPIP SERVER
`
`601
`
`600
`
`CONNECTION REQUEST IS INTERCEPTED BY
`ACCELERATION APPLICATION ON THE CLIENT
`602
`
`612
`
`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
`
`AGENT ISSUES A TCPIP CONNECT WITH THE TCPIP
`SERVER TO THE IP AND PORT RECEIVED FROM THE CLIENT
`
`FIG. 14
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`16 of 28
`16 of 28
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 15 of 15
`
`US 10,069,936 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 |S 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
` ACCELERATION APPLICATION ADDS
`
`LIST OF PEERS THAT HAVE RECEIVED THIS
`CHUNK IN THE PAST 810
`
`ACCELERATION APPLICATION SENDS PEER
`LIST TO COMMUNICATION DEVICE IT IS
`COMMUNICATING WITH (CLIENT TO AGENT,
`OR AGENT TO 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
`
`
`
`
`
`
`
`
`
`
`THE CHUNK AND ITS CHECKSUM TO
`ITS CACHE DATABASE, AND SENDS
`THE CHUNK ITSELF TO THE
`COMMUNICATION DEVICE IT IS
`COMMUNICATING WITH (CLIENT TO
`AGENT, OR AGENT TO CLIENT), AND
`ADDS THAT COMMUNICATION DEVICE
`TO THE LIST OF PEERS FOR THAT
`CHUNK 820
`
`
`
`
`
`
`
`
`
`
`HAVE ALL CHUNK DATA BEEN TRANSFERRED TO THE OTHER SIDE? 816
`{YES
`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
`XM 800
`
`ACCELERATION APPLICATION PASSES ON THE COMPLETE DATA RECEIVED ON TO THE
`
`
`
`FIG. 15
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`17 of 28
`17 of 28
`
`
`
`US 10,069,936 B2
`
`1
`SYSTEM PROVIDING FASTER AND MORE
`EFFICIENT DATA COMMUNICATION
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`The present application is a divisional application of
`copending U.S. non-provisional patent application entitled
`“SYSTEM AND METHOD FOR PROVIDING FASTER
`AND MORE EFFICIENT DATA COMMUNICATION”
`
`having Ser. No. 12/836,059, filed Jul. 14, 2010, and claims
`priority to U.S. provisional patent application entitled “SYS-
`TEM AND METHOD FOR REDUCING INTERNET
`
`CONGESTION,” having Ser. No. 61/249,624, filed Oct. 8,
`2009, both of which are hereby incorporated herein by
`reference in their entirety.
`
`FIELD OF THE INVENTION
`
`The present invention is related to Internet communica-
`tion, and moreparticularly, to improving data communica-
`tion speed and bandwidth efficiency on the Internet.
`
`BACKGROUND OF 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 demand on the Internet. Such
`viewing includes the viewing of both large and short video
`clips. In addition, regular shows and full-featured films may
`be viewed on the Internet. Another trend 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 of the 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—the current 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 users is costing large amounts of
`money in hosting and bandwidth costs; and
`The problem for Internet Service Providers (ISPs)—the
`growth in Internet traffic is requiring the ISPs to increase the
`infrastructure costs (communication lines, routers, etc.) at
`tremendous financial 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 consumer and cheaper for the broadcaster.
`Each such attempt is lacking in some aspect to become a
`widespread, practical solution, or is a partial solution in that
`it solves only a subset of the major problemsassociated with
`the increase in Internettraffic. Mostof the previous solutions
`require billions of dollars in capital investment for a com-
`prehensive solution. Many of these attempts are lacking in
`that muchofthe content on the Internet has become dynami-
`cally created per the user and the session of the user (this is
`what used to be called the “Web2.0” trend). This may be
`seen on the Amazon Website and the Salesforce Website,
`for example, where most of the page views on these Web
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`sites is tailored to the viewer, and is thus different for any
`two viewers. This dynamic information makesit impossible
`for most of the solutions offered to date to store the content
`
`and provide it to others seeking similar content.
`Onesolution that has been in useis 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 device that is placed between one or more clients,
`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
`Webservers 30, 32, 34 from which they are requesting the
`data. The proxyserver4, 6, 8 requests the data from the Web
`servers 30, 32, 34 on their behalf, and caches the responses
`from the Web servers 30, 32, 34, to provide to other client
`devices that make similar requests. If the proxy server 4, 6,
`8 is geographically close enoughtothe 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 that it is serving.
`It should be noted, however, that to provide a compre-
`hensive solution for Internet surfing, the proxy servers of
`FIG. 1 would need to be deployed at every point around the
`world where the Internet is being consumed, andthe storage
`size of the proxy servers at each location would need to be
`near the sizeofall the data stored anywhere on the Internet.
`The abovementioned would lead to massive costs that are
`impractical. In addition, these proxy solutions cannot deal
`well with dynamic data that is prevalent now on the Web.
`There have been commercial companies, such as Akamai,
`that have deployed such proxies locally around the world,
`and that are serving a select small group of sites on the
`Internet. If all sites on the Web were to be solved with such
`
`a solution, the capital investment would be in the range of
`billions of dollars. In addition, this type of solution does not
`handle dynamic content.
`To create large distribution systems without the large
`hardwarecosts involved with a proxy solution,“peer-to-peer
`file sharing” solutions have been introduced, such as, for
`example, BitTorrent. FIG. 2 is a schematic diagram provid-
`ing 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
`them the associated costs, and providing the consumer
`multiple points from which to downloadthe data, referred to
`herein as peers 70, 72, 74, 76, 78, thus increasing the speed
`of the download. However, each such peer-to-peer solution
`must have somesort of index by which to find the required
`data. In typical peer-to-peerfile sharing systems, because the
`index is on a server 80, or distributed amongseveral servers,
`the numberoffiles 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 in file
`sharing systems, because there are not that many mediafiles
`that are of interest to the mass (probably in the order of
`magnitude of millions of movies and songs that are of
`interest). Storing and maintaining an index of millions of
`entries is practical technically and economically. However,
`if this system were to be used to serve the hundreds of
`billionsof files that are available on the Internet of today, the
`cost of storing and maintaining such an index would be
`again in the billions of dollars. In addition, these types of
`peer-to-peer file sharing systems are not able to deal with
`dynamic HTTP data.
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`18 of 28
`18 of 28
`
`
`
`US 10,069,936 B2
`
`3
`In conclusion, a system does not exist that enables fast
`transmission of most of the data on the Internet, that does not
`incur tremendous costs, and/or that provides only a very
`partial solution to the problem of Internettraffic congestion.
`Thus, a heretofore unaddressed need exists in the industry to
`address the aforementioned deficiencies and inadequacies.
`
`SUMMARY OF THE INVENTION
`
`4
`FIG. 3 is a schematic diagram providing an example of a
`communication network in accordance with the present
`invention.
`
`FIG. 4 is a schematic diagram further illustrating a
`communication device of the communication network of
`FIG.3.
`
`FIG. 5 is a schematic diagram further illustrating the
`memory of FIG. 4.
`FIG.6 is a schematic diagram furtherillustrating elements
`The present system and method provides for faster and 1° of the acceleration application of FIG. 5, as well as com-
`more efficient data communication within a communication
`munication paths of the acceleration application.
`.
`network. Briefly described, in architecture, one embodiment
`FIG. 7 is a chart further illustrating two of the main
`ofthe system, among others, can be implementedas follows.
`databases utilized within the communication network.
`Anetwork is provided for accelerating data communication,
`FIG. 8 isa flowehart illustrating operation of the accel-
`:
`.
`:
`.
`15 eration system initializer module.
`wherein the network contains: at least one client communi-
`:
`:
`.
`.
`FIG. 9 is a flowchart further illustrating communication
`.
`.
`tee
`a
`cation device for originating a data request for obtaining the
`.
`oe
`b
`.
`etween different elements of the communication network.
`oe
`data from a data Server, at least one agent communication
`FIG. 10 is a flowchart continuing the flowchart of FIG. 9
`device which is assigned to the data server for receiving the
`and focused on agent response to the HTTP request.
`data request from the client communication device, wherein 20
`FIG. 11 isa flowchart continuingthe flowchart ofFIG.10,
`the agent keeps track ofwhich client communication devices
`whichillustrates actions taken upon receipt of the list of
`have received responses to data requests from the assigned
`peers, or single peerlisting, from the agent.
`data server; at least one peer communication device for
`FIG. 12is a flowchart illustrating steps taken by an agent,
`storing portions of data received in response to the data
`_¢lient, or peer to determine whether a certain HTTP request
`request by the at least one client communication device, 25 js still valid.
`wherein the portions of data may be transmitted to the at
`FIG. 13 is a flowchart outlining operation of the accel-
`least one client communication device upon request by the
`eration server.
`client communication device; and at least one acceleration
`FIG. 14 is a flowchart further illustrating TCPIP accel-
`server for deciding which agent communication device is to
`eration in accordance with an alternative embodiment of the
`be assigned to which data server and providing this infor- 3°
`invention.
`mation to the at least one client communication device.
`FIG. AS is a flowchart further illustrating TCPIP accel-
`The present system and method also provides a commu-
`eration in accordance with an alternative embodimentof the
`nication device within a network, wherein the communica-
`invention, detailing the communication between the client
`tion device contains: a memory; and a processor configured
`and the TCPIP server (read and write commands)after the
`by the memory to perform the steps of: originating a data 35 connect phase has completed successfully.
`request for obtaining data from a data server; being assigned
`DETAILED DESCRIPTION
`to a data server, referred to as an assigned data server;
`The present system and method provides for faster and
`receiving a data request from a separate device within the
`network, andkeeping track of which client communication 49 more efficient data communication within a communication
`devices within the network have received responses to data
`network. An example of such a communication network 100
`requests from the assigned data server; and storing portions
`is provided by the schematic diagram of FIG. 3. The network
`of data received in response to the originated data request,
`100 of FIG. 3 contains multiple communication devices.
`wherein the portions of data may be transmitted to commu-—-Dueto functionality provided by software stored within each
`nication device upon request by the communication device. 45 communication device, which may be the same in each
`Other systems, methods, features, and advantages of the
`communication device, each communication device may
`present invention will be or become apparent to one with
`serve as a client, peer, or agent, depending upon require-
`skill in the art upon examination of the following drawings
`ments of the network 100, as is described in detail herein.It
`and detailed description. It is intended that all such addi-_should be noted that a detailed description of a communi-
`tional
`systems, methods,
`features, and advantages be 50 cation device is provided with regard to the description of
`included within this description, be within the scope of the
`FIG.4.
`present invention, and be protected by the accompanying
`Returning to FIG. 3, the exemplary embodiment of the
`claims.
`network 100 illustrates that one of the communication
`devices is functioning as a client 102. The client 102 is
`55 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, although it
`is noted that a client can communicate with any numberof
`agents and peers.
`|The communication network 100 also contains a Web
`server 152. The Web server 152 is the server from which the
`client 102 is
`requesting information and may be,
`for
`example, a typical HTTPserver, such as those being used to
`deliver content on any of the many such servers on the
`Internet. It should be noted that the server 152 is not limited
`to being an HTTPserver. In fact, if a different communica-
`tion protocol is used within the communication network, the
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Manyaspects of the invention can be better understood
`with reference to the following drawings. The components
`in the drawingsare not necessarily to scale, emphasis instead
`being placed upon clearly illustrating the principles of the 60
`present invention. Moreover, in the drawings,like reference
`numerals designate corresponding parts throughout the sev-
`eral views.
`FIG. 1 is a schematic diagram providing a prior art
`example of use of a proxy within a network.
`FIG. 2 is a schematic diagram providing a prior art
`example of a peer-to-peer file transfer network.
`
`65
`
`Major Data, UABv. Bright Data Ltd.
`Major Data, UAB v. Bright Data Ltd.
`IPR2022-00915, EX. 2011
`IPR2022-00915, EX. 2011
`19 of 28
`19 of 28
`
`
`
`US 10,069,936 B2
`
`5
`server may be a server capable of handling a different
`protocol. It should also be noted that while the present
`description refers to the use of HTTP, the present invention
`mayrelate to any other communication protocol and HTTP
`is not intended to be a limitation to the present invention.
`The communication network 100 further contains an
`acceleration server 162 having an acceleration server storage
`device 164. As is described in more detail herein,
`the
`acceleration server storage device 164 has contained therein
`an acceleration server database. The acceleration server 10
`
`6
`connections to enable appropriate communications among
`the aforementioned components.
`The processor 202 is a hardware device for executing
`software, particularly that stored in the memory 210. The
`processor 52 can be any custom made or commercially
`available processor, a central processing unit (CPU), an
`auxiliary processor among several processors associated
`with the communication device 200, a semiconductor based
`microprocessor (in the form of a microchip or chip set), a
`:
`:
`macroprocessor, or generally any device for executing soft-
`.
`.
`database stores Internet protocol (IP) addresses of commu-
`ware instructions.
`.
`.
`.
`nication devices within the communication network 100
`further
`The memory 210, which is
`illustrated and
`having acceleration software stored therein. Specifically,
`the
`.
`:
`a
`ig
`p
`ly,
`described by the description of FIG.5, can include any one
`acceleration server database contains stored therein a list of
`communication devices having acceleration software stored is ° combination of volatile memory elements (e.g., random
`therein that are currently online within the communication—8¢¢ess memory (RAM,such as DRAM, SRAM, SDRAM,
`network 100. F