throbber
(12) United States Patent
`Shribman etal.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 10,069,936 B2
`Sep. 4, 2018
`
`US010069936B2
`
`(54) SYSTEM PROVIDING FASTER AND MORE
`EFFICIENT DATA COMMUNICATION
`(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 ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 485 days.
`
`(56)
`
`References Cited
`US. PATENT DOCUMENTS
`3,922,494 A
`1L/1975 Cooper et al.
`4,937,781 A
`6/1990 Lee etal.
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`CN
`CN
`
`11/2007
`101075242 A
`5/2008
`101179389 A
`(Continued)
`
`OTHER PUBLICATIONS
`
`(21) Appl. No.: 14/025,109
`
`(22)
`
`Filed:
`
`Sep. 12, 2013
`
`(65)
`
`Prior Publication Data
`US 2014/0019514 Al
`Jan. 16, 2014
`
`Notice of Preliminary Rejection in KR Application No. 10-2012-
`TOLL711 dated Jul. 15, 2016.
`(Continued)
`Primary Examiner — Minh Chau Nguyen
`(74) Attorney, Agent, or Firm — May PatentsLtd.
`(57)
`ABSTRACT
`A system designed for increasing network communication
`Related U.S. Application Data
`speed for users, while lowering network congestion for
`(62) Division of application No. 12/836,059, filed onJul. ae Sener and ISPs. The ayoieml employ= network
`14. 2010. now Pat. No. 8.560.604.
`elements including an acceleration server, clients, agents,
`;
`,
`ee
`and peers, where communication requests generated by
`(Continued)
`applications are intercepted by the client on the same
`machine. The IP addressofthe 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 witha list of peers that have previously
`seen ste “a onthe content wnichJs the aiealigy ws
`request
`(after checking whetherthis datais still valid).
`The
`client then downloadsthe data from these peers in parts and
`in parallel, thereby speeding up the Webtransfer, releasing
`congestion from the Web byfetching the information from
`multiple sources, and relieving traflic from Web servers by
`offloading the data transfers from them to nearby peers.
`
`34 Claims, 15 Drawing Sheets
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`1 of 28
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2012
`1 of 28
`
`(51)
`
`(2006.01)
`(2006.01)
`(2006.01)
`
`Int. Cl.
`HO4L 29/06
`HOAL 29/08
`HO4L 12/24
`(52) US. Ch
`CPC vevsssssore HO4L 67/42 (2013.01); HO4L 41/046
`(2013.01); HO4L 67/1002 (2013.01);
`(Continued)
`(S58) Field of Classification Search
`CPC .... HO4L 67/42; HO4L 41/046; HO4L 67/1002
`(Continued)
`
`

`

`US 10,069,936 B2
`Page 2
`
`Related U.S. Application Data
`.
`..
`.
`(60) Provisional application No. 61/249,624,filed on Oct.
`8, 2009.
`
`(56)
`
`Ea
`
`(52) US. CL
`CPC ves HOAL 67/108 (2013.01); HO4L 67/1023
`(2013.01); HO4L 67/1063 (2013.01); HO4L
`67/22 (2013.01); HO4L 67/2814 (2013.01):
`HOAL 67/2819 (2013.01); HO4L 67/02
`(2013 01)
`”
`
`3/2007 Issa .o.ecececeseeeee HOAL 67/104
`2007/0073878 AL*
`709/225
`7/2007 Johnson
`2007/0156855 Al
`9/2007 Hotti
`2007/0226810 Al
`10/2007 Agetsumaet al.
`2007/0239655 Al
`1/2008 Bornstein et al.
`2008/0008089 Al
`}
`7
`/00?
`5.2008 Wane
`sos9100446 AL
`5/2008 Xin
`2008/0109466 Al
`5/2008 Dorenboschet al.
`2008/0125123 Al
`9/2008 Welleret al.
`2008/0222291 Al
`9/2008 Painteret al.
`2008/0235391 Al
`8/2009 Yokokawaetal.
`2009/0217122 Al
`ees
`.
`11/2009 Wonget al.
`9009/0279559 Al
`(58) Field of Classification Search
`2009/0319502 Al* 12/2009 Chalouhi.............. HO4L 67/104
`USPC ceescecsesssesssesssesessesseceseesseeens 709/201-203, 207
`2010/0066808 Al
`3/2010 Tuckeretal.
`See application file for complete search history.
`2010/0085977 Al
`4/2010 Khalid et al.
`2010/0094970 Al
`4/2010 Zuckerman etal.
`,
`2010/0115063 Al
`6/2010 Gladwinet al.
`Retercucos iad
`2010/0154044 Al
`6/2010 Manku
`2010/0235438 Al
`9/2010 Narayanan etal.
`U.S. PATENT DOCUMENTS
`2010/0293555 Al
`11/2010 Vepsalainen
`2010/0329270 Al
`12/2010 Asati et al.
`seas A
`aes a ‘i
`2011/0087733 Al
`4/2011 Shribmanet al.
`oa3330 8
`OMT Gaewa:
`2011/0314347 Al
`12/2011 Nakanoet al.
`eT BL
`Len)
`laao efal
`2012/0099566 Al
`4/2012 Laineet al.
`ne Te ee
`2012/0124239 Al
`5/2012. Shribman et al.
`a oSeS eens el.
`2012/0254456 Al
`10/2012 Visharam et al.
`ee aoe ina
`
`
`
`7.865.585 B2* BoaLezosay«=SSAIUIGE AL1/2011 Samuels... GUIS Gonads of els
`
`
`865,585B2™12011Samuels............ $0017 2013/0201316 Al 8/2013 Binderet al.
`
`
`
`!
`2013/0272519 Al
`10/2013 H
`7,970,835 B2
`6/2011 St. Jacques
`2014/0082260 Al
`3/2014 ihecal,
`8.171, 101 Be
`5/2012 Gladwin et al.
`2014/0301334 Al
`10/2014 Labrancheetal.
`8.479,251 B2
`7/2013 Feinleib et al.
`20150033001 Al
`1/2015 Ivanov
`[ae he LS See
`2015/0067819 Al
`3/2015. Shribmanetal.
`8,769,035 BZ
`7/2014 Resch ¢t al.
`2015/0358648 Al
`12/2015 Limberg
`sunaneaeet ri,
`icon oo - :
`2016/0021430 Al
`1/2016 LaBoscoet al.
`{0033583
`fi
`NKO ef al.
`“
`9}
`‘9
`9
`la-
`9
`=,
`7
`2002/0007413 Al
`1/2002 Garcia-Luna ieeer
`FOREIGN PATENT DOCUMENTS
`709/229
`EF
`2002/0065930 Al
`5/2002 Rhodes
`ale ve Ae
`'
`2002/0120874 Al
`8/2002 Shuet al.
`ee eee
`
`
`2002/0123895 Al ile|I9/2002 Potekhin e
`
`—
`Jp
`2007280388
`10/2007
`2002/0133621 Al
`9/2002 Marcoetal.
`KR
`1020090097034
`9/2009
`/
`'
`,
`*
`}
`2
`/
`2003/0009518 AL*
`1/2003 Harrow... aea RU
`9343536 C2
`100000
`A
`9)
`A
`9
`(40
`2003/0009583 Al
`1/2003 Chanet al.
`we
`saeooneas “ aout
`2003/0074403 Al*
`4/2003 Harrow wc. GO6F EOS
`wo
`3015034752 Al
`3/2015
`2003/0115364 Al
`6/2003 Shuetal.
`2003/0174648 Al
`9/2003 Wangetal.
`2003/0200307 Al* 10/2003 Raj ..ccscssssseen GO6F 12/1483
`R. Fielding et al, RFC 2616: Hypertext Transfer Protocol—HTTPY
`709/224
`1.1, Jun. 1999,
`FOAL. 67/1008
`soraboos “ . ees pudson-
`retrieved from the Internet http://ref-editor.org
`~~ TRYREADYfe soveeeees 370/392 {retrieved Apr. 15, 2002] (114 pages).
`
`
`
`
`
`2004/0088646 Al
`5/2004 Yeageret al.
`— “On the Leakageof Personally Identifiable Information via Online
`2004/0107242 Al
`6/2004 Vert et al.
`Social Networks —Wills 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 eeecesccscsssse GOGF 17/30902
`709/227
`
`OTHER PUBLICATIONS
`
`* cited by examiner
`
`The Data Company Technologies Inc. v. Bright DataLtd.|The Data Company TechnologiesInc, v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`IPR2022-00138, EX. 2012
`2 of 28
`2 of 28
`
`

`

`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 1 of 15
`
`US 10,069,936 B2
`
` CLIENT
`DEVICE
`aa
`
`
`CLIENT
`
`
`
`
`COITENT
`
`
`DEVICE
`
`
`20
`
`SERVER
`
`een. no
`
`8
`j
`
`FIG. 1
`
`The Data Company Technologies Inc. v. Bright DataLtd.|The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`IPR2022-00138, EX. 2012
`3 of 28
`3 of 28
`
`

`

`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 2 of 15
`
`US 10,069,936 B2
`
`ag
`
`SERVER
`&o
`
`
`
`CLIENT
`DEVICE
`690
`
`FIG, 2
`
`The Data Company Technologies Inc. v. Bright DataLtd.|The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`IPR2022-00138, EX. 2012
`4 of 28
`4 of 28
`
`

`

`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 3 of 15
`
`US 10,069,936 B2
`
`
`
`The Data Company Technologies Inc. v. Bright DataLtd.|The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`IPR2022-00138, EX. 2012
`5 of 28
`5 of 28
`
`

`

`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 4 of 15
`
`US 10,069,936 B2
`
`INTERNET
`
`BROWSER 214
`
`ACCELERATION
`
`APPLICATION 220
`
`SOFTWARE 212
`
`CONFIGURATION
`
`DATABASE 280
`
`MEMORY 210
`
`
`
`STORAGEDEVICE 208
`
`/O0DEVICES 240
`
`
`
`
`
`
`
`LOCALINTERFACE250
`
`CACHEDATABASE
`
`
`
`
`
`
`PROCESSOR 202
`
`
`200
`
`The Data Company Technologies Inc. v. Bright DataLtd.|The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`IPR2022-00138, EX. 2012
`6 of 28
`6 of 28
`
`

`

`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 5 of 15
`
`US 10,069,936 B2
`
`APPLICATION
`LEVEL
`270
`
`INTERNET
`BROWSER
`214
`
`OTHER
`APPLICATIONS
`216
`
`ACCELERATION
`APPLICATION
`220
`
`INTERMMEDIATE DRIVER
`272
`
`COMMUNICATION
`STACKS
`
`210
`
`OPERATING
`SYSTEM
`
`360
`
`
`DEVICE DRIVERS
`
`262
`
`OPERATING
`SYSTEM
`230
`
`MEMORY
`
`FIG. 5
`
`The Data Company Technologies Inc. v. Bright DataLtd.|The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`IPR2022-00138, EX. 2012
`T of 28
`7 of 28
`
`

`

`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 6 of 15
`
`US 10,069,936 B2
`
`822JINGOWLNASV
`
`
`
`
`
`TINGOWYaddJINGOWLN3IN19
`
`9‘SIs
`
`NOILVYNDIANOD
`
`asvavivd
`
`082
`
`
`
`ASVaVLVGAHOVD
`
`787
`
`
`
`ADIAAGADVYHOLS
`
`807
`
`JINGOW
`
`NOILVYSTS990V
`
`
`
`____YAZIMVILINIWALSAS
`
`9e¢veeNOILVYATIOOV
`
`NOILVOIIddV¥
`
`0%
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`8 of 28
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2012
`8 of 28
`
`
`

`

`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 7 of 15
`
`US 10,069,936 B2
`
`ae taalataecabtnlicatswes
`
`166 AGENT IP A ONLINE/OFFLINE
`
`:
`
`162
`
`___>>>INDEXEDBY: AGENTIP ADDRESS __
`
`aha rathalsel eer
`286 LIST OF URLS;
`288 URLL
`
`7
`POOR nnd
`(292 URLITTP HEADERS
`294LAST CHECKED ON SERVER
`296 LAST CHANGED ONSERVER
`298 LIST.OFCHUNKSFORTHISURL:
`300: CHUNK 1
`
`302 CHUNK CHECKSUM
`_304'CHUNK DATA
`306 LISTOFPEERS: ©
`
`310 PEER 11P ADDRESS
`312 PEER 2 CONNECTION STATUS
`
`FIG. 7
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`9 of 28
`
`The Data Company TechnologiesInc, v. Bright Data Ltd.
`IPR2022-00138, EX. 2012
`9 of 28
`
`

`

`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 8 of 15
`
`US 10,069,936 B2
`
`300
`
`D
`
`INITIALIZER SIGNS UP WITH
`ACCELERATION SERVER
`302
`
`DETERMINE IF THERE IS AN
`UPDATED VERSION OF
`APPLICATION?
`304
`
`310
`
`INITIALIZER REDIRECTS
`OUTGOING NETWORKTRAFFIC
`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. 2012
`10 of 28
`
`The Data Company TechnologiesInc, v. Bright Data Ltd.
`IPR2022-00138, EX. 2012
`10 of 28
`
`

`

`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 9 of 15
`
`APPLICATION ON CLIENT INITIATES
`
`REQUEST FORA RESOURCE ON A
`
`NETWORK
`352
`
`RESOURCE REQUESTIS INTERCEPTED BY
`THE CLIENT MODULE
`354
`
`360
`
`US 10,069,936 B2
`
`350
`
`OD
`
`CLIENT MODULE LOOKSUP IP ADDRESS OF
`SERVER THATIS TARGET OF RESOURCE
`REQUEST AND SENDSIP ADDRESS TO
`ACCELERATION SERVERTO OBTAIN LIST
`OF COMMUNICATION DEVICES THAT
`CLIENT CAN USE AS AGENTS
`356
`
`ACCELERATION SERVER PREPARESA LIST
`OF AGENTSTHAT MAYBE SUITABLE TO
`HANDLE THE REQUEST FROMTHISIP
`ADDRESS
`358
`
`CLIENT SENDS ORIGINAL REQUESTTO 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
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`11 of 28
`
`The Data Company TechnologiesInc, v. Bright Data Ltd.
`IPR2022-00138, EX. 2012
`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 HAS INFO. REGARDING REQUEST THAT CAN ASSIST CLIENT TO
`DOWNLOAD REQUESTED INFO. FROM PEERS IN NETWORK
`382
`
`CLIENT SELECTS SPECIFIC AGENT
`
`384
`
`CLIENT NOTIFIES SELECTED AGENT OF USE FOR REQUEST AND NOTIFIES OTHER
`AGENTS OF LACK OF USE
`386
`
`CLIENT FORWARDS SELECTED AGENT REQUESTFORFIRST X NUMBER OF
`CHUNKS
`388
`
`DOES SELECTED AGENT HAVEINFO. REGARDING
`REQUESTED CHUNKSAND IS INFO. STILL VALID?
`
`YES
`
`NO
`
`390
`PEERS THAT CONTAIN CHUNKS, AND IF ONLY A PORTIONOFINFO.,
`
`
`IF INFO. STILL VALID, SELECTED
`AGENT RESPONDSTO CLIENT WITH
`CHECKSUM OF CHUNK,LIST OF
`
`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
`396
`
`SELECTED AGENT SENDS REQUEST
`DIRECTLY TO SERVER
`400
`
`SELECTED AGENT STORESINFO.
`FROM SERVERIN ITS DATABASE
`402
`
`RESPONSE (LIST) FOR CLIENT,
`
`WHERE RESPONEE SICITIDES
`CHECKSUM OF CHUNK, HEADERS,
`AND PROVIDES ITSELF AS THE ONLY
`PEER FOR THESE CHUNKS
`
`LIST IS FORWARDED BACK TO
`CLIENT
`406
`
`FIG. 10
`
`The Data Company Technologies Inc. v. Bright DataLtd.|The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`IPR2022-00138, EX. 2012
`12 of 28
`12 of 28
`
`

`

`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 11 of 15
`
`US 10,069,936 B2
`
`
`
`CLIENT RECEIVES RESPONSE FROM THE AGENT AND FOR EACH OF X CHUNKS,
`CLIENT SENDS A REQUESTTO EACH OF THE PEERSLISTED FOR THE CHUNK TO
`DOWNLOADTHE DATA OF THAT CHUNK
`422
`
`CHUNK
`
`424
`
`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 ADDSCLIENT TO LIST
`OF PEERS FOR THESE CHUNKS
`436
`
`CLIENT PASSES DATA TO APPLICATION OF CLIENT THAT MADE REQUEST438
`
`CLIENT CHECKS WHETHERALL OF THE CHUNKS FOR REQUEST WERE RECEIVED
`440
`
`FIG. 11
`
`\
`
`420
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`13 of 28
`
`The Data Company TechnologiesInc, v. Bright Data Ltd.
`IPR2022-00138, EX. 2012
`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
`
`
`
`
`
`
`
`
`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 REQUE
`
`REQUESTSTILL VALID?
`
`TO THE WEB SERVER, TO CHECK IF
`506
`
`
`THE DATA STORED FOR THIS
`REQUEST IS STILL VALID
`510
`
` RETURN "VALID"
`
`IS CACHED DATA STILL VALID?
`
`
`512
`
`508
`
`RETURN "INVALID"
`514
`
`FIG. 12
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`14 of 28
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2012
`14 of 28
`
`

`

`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 13 of 15
`
`US 10,069,936 B2
`
`ar
`
`CHECK "KEEP ALTVE" WITH NETWORK
`ELEMENTS (CLIENTS/AGENTS/PEERS),
`&
`UPDATE DATABASE AS TO THEIR STATUS
`
`(ON-LINE / OFF-LINE)
`
`
`
`FIG. 13
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`15 of 28
`
`The Data Company TechnologiesInc, v. Bright Data Ltd.
`IPR2022-00138, EX. 2012
`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
`
`$06
`612
`
`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
`
`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
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`16 of 28
`
`The Data Company TechnologiesInc, v. Bright Data Ltd.
`IPR2022-00138, EX. 2012
`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 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 DEVICE IT IS
`
`
`ACCELERATION APPLICATION ADDS
`COMMUNICATING WITH (CLIENT TO AGENT,
`THE CHUNK AND ITS CHECKSUM TO
`OR AGENTTO CLIENT), AND ADDS THAT
`ITS CACHE DATABASE, AND SENDS
`COMMUNICATION DEVICE TO THE LIST OF
`THE CHUNK ITSELF TO THE
`PEERS FOR THAT CHUNK 812
`
`COMMUNICATION DEVICE IT IS
`
`
`COMMUNICATING WITH (CLIENT TO
`AGENT, OR AGENT TO CLIENT), AND
`
`
`COMMUNICATION DEVICE WITH
`ADDS THAT COMMUNICATION DEVICE
`ACCELERATION APPLICATION THAT
`
`TO THE LIST OF PEERS FOR THAT
`
`
`RECEIVED THE LIST OF PEERS CONNECTS
`
`
`CHUNK 820
`
`TO AT LEAST ONE OF THE PEERS AND
`
`
`DOWNLOADS THE CHUNK FROM IT 814
`
`
`HAVE ALL CHUNK DATA BEEN TRANSFERRED TO THE OTHER SIDE? 816
`
`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
`XQ 800
`
`FIG. 15
`
`The Data Company Technologies Inc. v. Bright DataLtd.|The Data Company TechnologiesInc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`IPR2022-00138, EX. 2012
`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 METIIOD 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.
`
`— ww
`
`FIELD OF THE INVENTION
`
`The present invention is related to Internet communica-
`tion, and moreparticularly, to improving data communica-
`tion speed and bandwidthefficiency 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 ofboth large and short video
`clips. In addition, regular shows andfull-featured films may
`be viewed onthe 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 consumptionhascreated sev-
`eral major problems, a few of which are described below:
`The problem for users—the current Internet bandwidth is
`notsufficient, 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 Internettraflic is requiring the ISPsto increase the
`infrastructure costs (communication lines, routers, etc.) at
`tremendousfinancial expense.
`The need for a new method ofdata 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 whichis 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, oris a partial solutionin that
`it solves only a subset of the major problemsassociated with
`the increasein Internet traffic. Most of the previous solutions
`require billions of dollars in capital investment for a com-
`prehensive solution. Many of these attempts are lacking in
`that much ofthe content on the Internet has become dynami-
`cally created per the user and the sessionofthe 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
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`2
`sites is tailored to the viewer, and is thus different for any
`two viewers. This dynamic information makesit impossible
`for most ofthe solutions offered to date to store the content
`and provide it to others seeking similar content.
`Onesolutionthat has beenin 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 server4, 6,
`8 is geographically close enoughto the client devices 10, 12,
`14, 16, 18, 20, and if the storage and bandwidthofthe proxy
`server 4, 6, 8 are large enough, the proxy server4, 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 size ofall the data stored anywhere onthe 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 doesnot
`handle dynamic content.
`the large
`To create large distribution systems without
`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 ofa 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 whichto find the required
`data. In typical peer-to-peerfile sharing systems, because the
`index is on a server 80, or distributed among several servers,
`the numberoffiles available in the system is not very large
`(otherwise, the server costs would be verylarge, or the
`lookup time would be very long).
`The peer-to-peerfile sharing solution is acceptable in file
`sharing systems, because there are not that many media files
`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
`billions offiles that are available onthe 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.
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`18 of 28
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2012
`18 of 28
`
`

`

`US 10,069,936 B2
`
`3
`In conclusion, a system does not exist that enables fast
`transmission of most ofthe data on the Internet, that does not
`incur tremendous costs, and/or that provides only a very
`partial solution to the problem of Internettraflic congestion.
`Thus, a heretofore unaddressed need exists in the industry to
`address the aforementioned deficiencies and inadequacies.
`
`SUMMARYOF 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 ofFIG. 4.
`FIG. 6 is a schematic diagramfurther illustrating elements
`of the acceleration application of FIG. 5, as well as com-
`munication paths of the acceleration application.
`FIG. 7 is a chart further illustrating two of the main
`network. Briefly described, in architecture, one embodiment
`databases utilized within the communication network.
`of the system, amongothers, can be implemented as follows.
`FIG. 8 is a flowchart illustrating operation of the accel-
`A networkis provided for accelerating data communication,
`15 eration system initializer module.

`: .
`.
`.
`,
`'
`,
`‘
`a
`wherein the network contains: at least one client communi-
`FIG. 9 is a flowchart furtherillustrating communication
`tee
`.
`.
`ve
`
`
`
`
`
`
`cation device for originating a data request for obtaining the tsofthbet different el icati verte
`data from a data server; at least one agent communication Soe eee eeecan ewe
`:
`..
`od
`_
`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 requestfromthe client communication device, wherein 39
`1G. 11 is a flowchart continuingthe flowchart ofFIG.10,
`the agent keeps track ofwhich client communication devices
`which illustrates 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. 12 is a flowchart illustrating steps taken by an agent,
`storing portions of data received in response to the data
`client, 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 deviceis to
`eration in accordance with an alternative embodimentofthe
`be assigned to which data server and providing this infor- 3°
`invention.
`mationto the at least one client communication device.
`FIG. 15 is a flowchart furtherillustrating TCPIP accel-
`The present system and method also provides a commu-
`_—-&Fttionin accordance withan alternative embodimentofthe
`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 *> Connect phase has completed successfully.
`request for obtaining data froma 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, and keeping track of whichclient communication 49 more efficient data communication within a communication
`devices within the network have received responsesto data
`network. An example of such a communication network 100
`requests fromthe assigned data server; and storing portions
`is provided by the schematic diagramof FIG. 3. The network
`ofdata 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 bysoftware 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 examinationof the following drawings
`ments ofthe network 100, as is described indetail 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 ofthe
`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 number of
`agents and peers.
`The communication network 100 also contains a Web
`server 152. The Web server 152 is the server from whichthe
`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 suchservers on the
`65 Internet. It should be noted that the server 152 is not limited
`to being an HTTPserver. In fact, if a different communica-
`tion protocolis used within the communication network, the
`
`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 uponclearly 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 ofuse 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.
`
`The present system and method provides for faster and
`moreefficient data communication within a communication
`
`10
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00135, EX. 2012
`19 of 28
`
`The Data Company Technologies Inc. v. Bright Data Ltd.
`IPR2022-00138, EX. 2012
`19 of 28
`
`

`

`US 10,069,936 B2
`
`5
`
`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 sofi-
`ware instructions.
`
`0
`
`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
`may relate 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
`database stores Internet protocol (IP) addresses of commu-
`nication devices within the communication network 100
`illustrated and
`further
`The memory 210, which is
`having acceleration software stored therein. Specifically, the
`described by the description of FIG. 5, can include any one
`acceleration server database contains stored therein a list of
`or combination ofvolatile memory elements (e.g., random
`communication devices having acceleration software stored 15
`thereinthat are currently online within the communicatio

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