throbber
( 12 ) United States Patent
`Shribman et al .
`
`( 10 ) Patent No . : US 10 , 257 , 319 B2
`( 45 ) Date of Patent :
`Apr . 9 , 2019
`
`US010257319B2
`
`( 54 ) SYSTEM PROVIDING FASTER AND MORE
`EFFICIENT DATA COMMUNICATION
`
`( 71 ) Applicant : WEB SPARK LTD . , Netanya ( IL )
`
`( 72 ) Inventors : Derry Shribman , Tel Aviv ( IL ) ; Ofer
`Vilenski , Moshav Hadar Am ( IL )
`
`( 73 ) Assignee : WEB SPARK 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 0 days .
`( 21 ) Appl . No . : 15 / 957 , 945
`Apr . 20 , 2018
`( 22 ) Filed :
`( 65 )
`
`Prior Publication Data
`US 2018 / 0241851 A1 Aug . 23 , 2018
`
`Related U . S . Application Data
`( 60 ) Continuation of application No . 14 / 025 , 109 , filed on
`Sep . 12 , 2013 , which is a division of application No .
`( Continued )
`
`( 51 )
`
`( 52 )
`
`Int . CI .
`H04L 29 / 06
`H04L 29 / 08
`H04L 12 / 24
`U . S . CI .
`CPC . . . . . . . . . . . H04L 67 / 42 ( 2013 . 01 ) ; H04L 41 / 046
`( 2013 . 01 ) ; H04L 67 / 1002 ( 2013 . 01 ) ;
`( Continued )
`( 58 ) Field of Classification Search
`CPC . . . . . HO4L 67 / 42 ; H04L 41 / 046 ; H04L 67 / 108 ;
`H04L 67 / 22
`
`( 2006 . 01 )
`( 2006 . 01 )
`( 2006 . 01 )
`
`( Continued )
`
`( 56 )
`
`CN
`CN
`
`References Cited
`U . S . PATENT DOCUMENTS
`11 / 1975 Cooper et al .
`3 , 922 , 494 A
`4 , 937 , 781 A
`6 / 1990 Lee et al .
`( Continued )
`FOREIGN PATENT DOCUMENTS
`101075242 A
`11 / 2007
`101179389 A
`5 / 2008
`( Continued )
`OTHER PUBLICATIONS
`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 ) .
`( Continued )
`Primary Examiner – Minh Chau Nguyen
`( 74 ) Attorney , Agent , or Firm — May Patents Ltd . c / o
`Dorit Shem - Tov
`( 57 )
`
`ABSTRACT
`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 some or all of the content which is 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 Web servers by
`offloading the data transfers from them to nearby peers .
`29 Claims , 15 Drawing Sheets
`
`CLIENT
`DEVICE
`
`CLIENT
`DEVICE
`
`CLIENT
`DEVICE
`10
`
`CLIENT
`DEVICE
`
`PROXY
`SERVER
`
`WEB
`SERVER
`3 . 0
`
`PROXY
`SERVER
`
`INTERNET
`
`WEB
`SERVER
`
`CLIENT
`DEVICE
`
`CLIENT
`DEVICE
`20
`
`MED
`SERVER
`
`PROXY
`SERVER
`
`Code200 Exhibit 1001
`Page 1 of 29
`
`

`

`US 10 , 257 , 319 B2
`Page 2
`
`( 56 )
`
`H04L 1 / 005
`725 / 151
`
`Related U . S . Application Data
`12 / 836 , 059 , filed on Jul . 14 , 2010 , now Pat . No .
`8 , 560 , 604
`( 60 ) Provisional application No . 61 / 249 , 624 , filed on Oct .
`8 , 2009 .
`( 52 ) U . S . CI .
`CPC . . . . . . . H04L 67 / 108 ( 2013 . 01 ) ; H04L 67 / 1023
`( 2013 . 01 ) ; H04L 67 / 1063 ( 2013 . 01 ) ; H04L
`67 / 22 ( 2013 . 01 ) ; H04L 67 / 2814 ( 2013 . 01 ) ;
`H04L 67 / 2819 ( 2013 . 01 ) ; H04L 67 / 02
`( 2013 . 01 )
`( 58 ) Field of Classification Search
`. . . . . . . . . . . . . . . . . 709 / 202
`USPC . . . . . . . . . . . . . . .
`See application file for complete search history .
`References Cited
`U . S . PATENT DOCUMENTS
`5 , 577 , 243 A
`11 / 1996 Sherwood et al .
`5 , 758 , 195 A
`5 / 1998 Balmer
`6 , 061 , 278 A
`5 / 2000 Kato et al .
`6 , 154 , 782 A
`11 / 2000 Kawaguchi
`6 , 173 , 330 B1
`1 / 2001 Guo et al .
`6 , 466 , 470 B1 10 / 2002 Chang
`6 , 868 , 453 B1 *
`3 / 2005 Watanabe . . . . . . . . . G06F 17 / 30861
`707 / E17 . 107
`7 , 120 , 666 B2
`10 / 2006 McCanne et al .
`7 , 203 , 741 B2
`4 / 2007 Marco et al .
`7 , 558 , 942 B1
`7 / 2009 Chen et al .
`7 , 788 , 378 B2
`8 / 2010 Rao
`7 , 818 , 430 B2 10 / 2010 Zuckerman
`7 , 865 , 585 B2
`1 / 2011 Samuels et al .
`7 , 890 , 547 B2
`2 / 2011 Hotti
`7 , 970 , 835 B2
`6 / 2011 St . Jacques
`8 , 135 , 912 B2
`3 / 2012 Shribman et al .
`8 , 171 , 101 B2
`5 / 2012 Gladwin et al .
`8 , 479 , 251 B2
`7 / 2013 Feinleib et al .
`8 , 499 , 059 B2
`7 / 2013 Stoyanov
`8 , 595 , 786 B2 * 11 / 2013 Choi
`. . . . . . . . . . .
`8 , 769 , 035 B2
`1 / 2014 Resch et al .
`8 , 719 , 505 B2
`5 / 2014 Shribman et al .
`8 , 832 , 179 B29 / 2014 Owen et al .
`9 , 201 , 808 B2 12 / 2015 Shribman et al .
`9 , 253 , 164 B2
`2 / 2016 Gouge
`9 , 990 , 295 B2
`6 / 2018 Shribman et al .
`2001 / 0033583 Al 10 / 2001 Rabenko et al .
`2002 / 0007413 A1
`1 / 2002 Garcia - Luna - Aceves et al .
`2002 / 0065930 A1 5 / 2002 Rhodes
`2002 / 0069241 A1
`6 / 2002 Narlikar et al .
`2002 / 0120874 A1 8 / 2002 Shu et al .
`2002 / 0123895 A
`9 / 2002 Potekhin
`2002 / 0133621 A
`9 / 2002 Marco et al .
`2003 / 0009518 Al
`1 / 2003 Harrow et al .
`2003 / 0009583 Al
`1 / 2003 Chan et al .
`2003 / 0074403 A1
`4 / 2003 Harrow et al .
`2003 / 0097408 AL
`5 / 2003 Kageyama
`2003 / 0115364 A1
`6 / 2003 Shu et al .
`2003 / 0174648 A1 9 / 2003 Wang et al .
`2003 / 0200307 Al 10 / 2003 Raju et al .
`2003 / 0204602 A1 10 / 2003 Hudson et al .
`2003 / 0210694 Al 11 / 2003 Jayaraman et al .
`2004 / 0088646 A1
`5 / 2004 Yeager et al .
`2004 / 0107242 A16 / 2004 Vert et al .
`2004 / 0254907 Al 12 / 2004 Crow et al .
`2004 / 0264506 AL 12 / 2004 Furukawa
`2005 / 0015552 AL
`1 / 2005 So et al .
`2005 / 0022236 AL
`1 / 2005 Ito et al .
`2005 / 0097441 A1 *
`5 / 2005 Herbach
`2005 / 0228964 A1 10 / 2005 Sechrest et al .
`2006 / 0036755 AL
`2 / 2006 Abdullah
`
`G06F 21 / 10
`715 / 229
`
`9 / 2006 Fang . . . . . . . . . . . . . . . . . . . . . HO4L 67 / 104
`2006 / 0212542 A1 *
`709 / 219
`9 / 2006 Yu . . . . . . . . . . . . . . . . . . . . GO6F 17 / 30902
`2006 / 0212584 A1 *
`709 / 227
`2006 / 0259728 Al 11 / 2006 Chandrasekaran et al .
`2007 / 0073878 A1
`3 / 2007 Issa
`2007 / 0100839 A1 5 / 2007 Kim
`2007 / 0156855 A1 7 / 2007 Johnson
`2007 / 0226810 A1
`9 / 2007 Hotti
`2007 / 0239655 AL 10 / 2007 Agetsuma
`2008 / 0008089 A1
`1 / 2008 Bornstein et al .
`2008 / 0025506 A1
`1 / 2008 Muraoka
`2008 / 0109446 Al 5 / 2008 Wang
`2008 / 0125123 A1 5 / 2008 Dorenbosch
`2008 / 0222291 A1
`9 / 2008 Weller et al .
`2008 / 0235391 A1
`9 / 2008 Painter et al .
`2008 / 0086730 Al 10 / 2008 Vertes
`2008 / 0256175 Al 10 / 2008 Lee
`2009 / 0037529 Al 2 / 2009 Armon - Kest
`2009 / 0182843 A1 7 / 2009 Hluchyi
`2009 / 0217122 A1 8 / 2009 Yokokawa et al .
`2009 / 0279559 Al 11 / 2009 Wong et al .
`2009 / 0319502 Al 12 / 2009 Chalouhi et al .
`2010 / 0066808 AL 3 / 2010 Tucker et al .
`2010 / 0085977 Al 4 / 2010 Khalid et al .
`2010 / 0094970 Al
`4 / 2010 Zuckerman
`2010 / 0115063 Al 6 / 2010 Gladwin et al .
`2010 / 0154044 Al 6 / 2010 Manku
`2010 / 0235438 Al 9 / 2010 Narayanan et al .
`2010 / 0293555 A1 11 / 2010 Vepsalainen
`2010 / 0329270 A112 / 2010 Asati et al .
`2011 / 0035503 A1 *
`2 / 2011 Zaid . . . . . . . . . . . . . . . . . . . . H04L 63 / 0407
`709 / 228
`2011 / 0066924 Al
`3 / 2011 Dorso
`2011 / 0087733 A1 4 / 2011 Shribman et al .
`2011 / 0128911 A1 6 / 2011 Shaheen
`2011 / 0314347 Al 12 / 2011 Nakano et al .
`2012 / 0099566 A1 4 / 2012 Laine et al .
`2012 / 0124173 AL
`5 / 2012 De et al .
`2012 / 0124239 A1
`5 / 2012 Shribman et al .
`2012 / 0254370 A1 10 / 2012 Bacher
`2012 / 0254456 A1 10 / 2012 Visharam et al .
`2013 / 0007253 Al 1 / 2013 Li
`2013 / 0157699 A1 6 / 2013 Talwar
`2013 / 0166768 Al
`6 / 2013 Gouache et al .
`2013 / 0201316 Al 8 / 2013 Binder et al .
`2013 / 0272519 A1 10 / 2013 Huang
`2013 / 0326607 AL 12 / 2013 Feng
`2014 / 0082260 A13 / 2014 Oh et al .
`2014 / 0301334 Al 10 / 2014 Labranche
`2014 / 0376403 Al 12 / 2014 Shao
`2015 / 0033001 A11 / 2015 Ivanov
`2015 / 0067819 Al
`3 / 2015 Shribman et al .
`2015 / 0358648 A1 12 / 2015 Limberg
`2016 / 0021430 AL
`1 / 2016 LaBosco et al .
`FOREIGN PATENT DOCUMENTS
`0948176 A2
`10 / 1999
`2597869 A1
`12 / 2013
`5 / 2015
`2597869 AL
`2007280388
`10 / 2007
`1020090097034
`9 / 2009
`2343536 C2
`10 / 2009
`2000 / 018078 A1
`3 / 2000
`2010090562 Al
`8 / 2010
`2011068784 Al
`6 / 2011
`2015034752 A1
`3 / 2015
`
`EP
`EP
`EP
`JP
`KR
`RU
`WO
`WO
`WO
`WO
`
`OTHER PUBLICATIONS
`Notice of Preliminary Rejection in KR Application No . 10 - 2012
`7011711 dated Jul . 15 , 2016 .
`Kei Suzuki , a study on Cooperative Peer Selection Method in P2P
`Video Delivery , vol . 109 , No . 37 , IEICE Technical Report , The
`Institute of Electronics , Information and Communication Engineers ,
`May 14 , 2009 .
`
`Code200 Exhibit 1001
`Page 2 of 29
`
`

`

`US 10 , 257 , 319 B2
`Page 3
`
`( 56 )
`
`References Cited
`OTHER PUBLICATIONS
`International Search Report dated in PCT Application No . PCT /
`US2010 / 051881 dated Dec . 9 , 2010 .
`Supplementary European Search Report dated in EP Application
`No . 10822724 dated Apr . 24 , 2013 .
`Screen captures from YouTube video clip entitle “ nVpn . net | Double
`your Safety and use Socks5 + nVpn ” 38 pages , last accessed Nov .
`20 , 2018 < https : / / www . youtube . com / watch ? v = LOHct2kSnn4 > .
`Screen captures from YouTube video clip entitle “ Andromeda ” 47
`pages , publicly known and available as of at least 2011 < https : / /
`www . youtube . com / watch ? v = yRRYPFLØKNU > .
`SpyEye , https : / / www . symantec . com / security - center / writeup / 2010
`020216 - 0135 - 9 ; http : / / securesql . info / riskyclouds / spyeye - user
`manual ; known as of at least 2010 ( 13 pages ) .
`Screen captures from YouTube video clip entitle “ Change Your
`Country IP Address & Location with Easy Hide IP Software ” 9
`pages , publicly known and available as of at least 2011 , < https : / /
`www . youtube . com / watch ? v = ulwkflsOfdA and https : / / www . youtube .
`com / watch ? v = iFEMT - 09DTc > .
`CoralCDN ( “ CoralCDN ” ) , https : / / pdos . csail . mit . edu / 6 . 824 / papers /
`freedman - coral . pdf ( 14 Pages ) .
`
`European Search Report for EP 14182547 . 1 , dated Jul . 30 , 2015 .
`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 ] .
`“ On the leakage of personally identifiable information via online
`social networks ” , Wills et al . AT & T , Apr . 2009 http : / / www2 . research .
`att . com / - bala / papers / wosn09 . pdf .
`“ Slice Embedding Solutions for Distributed Service Architectures ” —
`Esposito et al . , Boston University , Computer Science Dept . , Oct .
`2011 http : / / www . cs . bu . edu / techreports / pdf / 2011 - 025 - slice - embedding .
`pdf .
`International Search Report of PCT / US2010 / 034072 dated Jul . 1 ,
`2010 .
`YouTube video clip entitled “ nVpn . net | Double your Safety and use
`Socks5 + nVpn ” < https : / / www . youtube . com / watch ? v = LOHct2kSnn4 > .
`YouTube video clip entitled “ Andromeda ” < https : / / www . youtube .
`com / watch ? v = yRRYPFLbKNU > .
`YouTube video clip entitled “ Change Your Country IP Address &
`Location with Easy Hide IP Software ” < https : / / www . youtube . com /
`watch ? v = ulwkfisOfdA and https : / / www . youtube . com / watch ? v =
`iFEMT - 09DTc > .
`* cited by examiner
`
`Code200 Exhibit 1001
`Page 3 of 29
`
`

`

`U . S . Patent
`
`Apr . 9 , 2019
`
`Sheet 1 of 15
`
`US 10 , 257 , 319 B2
`
`DEVICE
`?
`
`CLIENT
`3CE
`16
`
`EXT?? ?? CLIENT
`
`CLIENT
`
`DEVICE
`
`Fromant . wmv
`
`PROXY
`SERVER
`
`WEB
`SERVER
`
`* * * ver y
`* *
`PROXY
`????
`
`INTERNET
`
`WEB
`SERVER
`
`?? , ??
`
`???
`SERVER
`
`CLIENT
`???
`
`CLIENT
`DEVICE
`
`* *
`
`.
`…
`… . . . wret m
`"
`PROXY
`SERVER
`
`FIG . 1
`
`Code200 Exhibit 1001
`Page 4 of 29
`
`

`

`atent
`
`Apr . 9 , 2019
`
`Sheet 2 of 15
`
`US 10 , 257 , 319 B2
`
`SERVER
`
`PEER
`78
`
`INTERNET
`
`PEER
`76
`
`CLIENT
`DEVICE
`60
`
`.
`
`PEER
`
`PEER
`
`PEER
`
`FIG , 2
`
`Code200 Exhibit 1001
`Page 5 of 29
`
`

`

`U . S . Patent
`
`Apr . 9 , 2019
`
`Sheet 3 of 15
`
`US 10 , 257 , 319 B2
`
`ACCELERATION
`SERVER
`
`WEB
`SERVER
`152
`
`LAT
`
`CLIENT
`102
`
`STORAGE
`DEVICE
`164
`
`AGENT
`
`PEER
`112
`
`PEER
`
`* E?
`
`FIG . 3
`
`Code200 Exhibit 1001
`Page 6 of 29
`
`

`

`U . S . Patent
`
`Apr . 9 , 2019
`
`Sheet 4 of 15
`
`US 10 , 257 , 319 B2
`
`CONFIGURATION
`DATABASE
`280
`
`CACHE DATABASE
`282
`
`STORAGE DEVICE
`208
`
`+ + + +
`
`+ + + + + + +
`
`+ + + + + +
`
`PROCESSOR
`202
`
`INTERNET
`BROWSER
`214
`ACCELERATION
`APPLICATION
`220
`SOFTWARE
`212
`
`MEMORY
`210
`
`LOCAL INTERFACE 250
`
`VO DEVICES
`240
`
`FIG . 4
`
`Code200 Exhibit 1001
`Page 7 of 29
`
`

`

`U . S . Patent
`
`Apr . 9 , 2019
`
`Sheet 5 of 15
`
`US 10 , 257 , 319 B2
`
`iiiiiiiiiii
`
`i
`
`ii
`
`wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
`
`w
`
`www
`
`APPLICATION
`LEVEL
`270
`
`INTERNET
`BROWSER
`214
`
`OTHER
`APPLICATIONS
`216
`
`ACCELERATION
`APPLICATION
`220
`
`OPERATING
`SYSTEM
`LEVEL
`260
`
`INTERMMEDIATE DRIVER
`272
`
`COMMUNICATION
`STACKS
`264
`ir
`DEVICE DRIVERS
`262
`
`OPERATING
`SYSTEM
`230
`
`MEMORY
`210
`
`FIG . 5
`
`Code200 Exhibit 1001
`Page 8 of 29
`
`

`

`U . S . Patent
`
`Apr . 9 , 2019
`
`Sheet 6 of 15
`
`US 10 , 257 , 319 B2
`
`ACCELERATION
`APPLICATION
`220
`
`ACCELERATION
`SYSTEM INITIALIZER
`MODULE
`
`CLIENT MODULE
`
`PEER MODULE
`226
`
`AGENT MODULE
`228
`
`CONFIGURATION
`DATABASE
`
`CACHE DATABASE
`282
`
`STORAGE DEVICE
`208
`
`FIG . 6
`
`Code200 Exhibit 1001
`Page 9 of 29
`
`

`

`U . S . Patent
`
`Apr . 9 , 2019
`
`Sheet 7 of 15
`
`US 10 , 257 , 319 B2
`
`ek 162
`
`wwwwwwwwwwwwwwwwwwwwwóminümummilitoww
`
`
`
`. mintaininiw lwminiwminiwminiwmetentiomwwwmintimiwimminwm
`
`.
`
`EMT
`
`> > > INDEXED BY : AGENT IP ADDRESS
`
`.
`
`.
`
`. . . . . . . . . . . .
`
`.
`
`ACCELERATION DATABASE 164
`
`
`166 AGENTIP A ONLINEJOHFLINE
`
`?????????????????????????????????????????????????????????????????????????????
`
`???
`
`-
`
`
`THIS URL : 300 CHUNKI
`
`CHANGED ON SERVER 298 | LIST OF CHUNKS FOR
`
`
`LAST 294 LAST CHECKED ON SERVER 296
`
`
`292 URL HTTP HEADERS
`290 URL
`
`SON TV
`
`
`
`CACHE DATABASE 282
`
`286 LIST OF URIS ;
`
`288 URL 1
`
`FIG . 7
`
`
`
`
`
`310 ] PEER 1 IP ADDRESS 312 PEER 2 CONNECTION STATUS
`
`
`
`308 PEER 1
`
`wwwwwwwwwwwwwwwwww
`
`
`3021 CHUNK CHECKSUM 304
`
`LIST QE PEERS : CHUNK DATA 306
`
`
`
`menengamasin
`istrameniniamini
`mimimi
`
`.
`
`1
`
`.
`
`.
`
`Code200 Exhibit 1001
`Page 10 of 29
`
`

`

`U . S . Patent
`
`Apr . 9 , 2019
`
`Sheet 8 of 15
`
`US 10 , 257 , 319 B2
`
`INITIALIZER SIGNS UP WITH
`ACCELERATION SERVER
`302
`
`DETERMINE IF THERE IS AN
`UPDATED VERSION OF
`APPLICATION ?
`304
`
`INITIALIZER REDIRECTS
`OUTGOING NETWORK TRAFFIC
`306
`
`INITIALIZER LAUNCHES CLIENT
`
`CLIENT MODULE TO INTERCEPT
`ALL OUTGOING NETWORK
`COMMUNICATIONS
`308
`
`INITIALIZER LAUNCHES AGENT
`MODULE AND PEER MODULE
`310
`
`FIG . 8
`
`Code200 Exhibit 1001
`Page 11 of 29
`
`

`

`U . S . Patent
`
`Apr . 9 , 2019
`
`Sheet 9 of 15
`
`US 10 , 257 , 319 B2
`
`350
`
`APPLICATION ON CLIENT INITIATES
`REQUEST FOR A RESOURCE ON A
`NETWORK
`352
`
`RESOURCE REQUEST IS INTERCEPTED BY
`THE CLIENT MODULE
`354
`
`CLIENT MODULE LOOKS UP 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 PREPARES A LIST
`OF AGENTS THAT MAY BE SUITABLE TO
`HANDLE THE REQUEST FROM THIS IP
`ADDRESS
`358
`
`CLIENT SENDS ORIGINAL REQUEST TO ALL
`AGENTS IN THE LIST RECEIVED FROM
`ACCELERATION SERVER TO DETERMINE
`WHICH AGENT IN THE LIST IS BEST SUITED
`TO ASSIST WITH THE REQUEST
`360
`
`FIG . 9
`
`Code200 Exhibit 1001
`Page 12 of 29
`
`

`

`U . S . Patent
`
`Apr . 9 , 2019
`
`Sheet 10 of 15
`
`US 10 , 257 , 319 B2
`
`EACH AGENT THAT RECEIVES CLIENT REQUEST RESPONDS TO CLIENT WITH
`WHETHER IT HAS INFO . REGARDING REQUEST THAT CAN ASSIST CLIENT TO
`DOWNLOAD REQUESTED INFO . FROM PEERS IN NETWORK
`382
`30
`
`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 REQUEST FOR FIRST X NUMBER OF
`CHUNKS
`388
`
`DOES SELECTED AGENT HAVE INFO . REGARDING
`REQUESTED CHUNKS AND IS INFO . STILL VALID ?
`390
`
`YES
`
`IF INFO . STILL VALID , SELECTED
`AGENT RESPONDS TO CLIENT WITH
`CHECKSUM OF CHUNK , LIST OF
`PEERS THAT CONTAIN CHUNKS , AND
`IF ONLY A PORTION OF INFO . ,
`HEADERS
`392
`
`LIST OF PEERS FOR EACH CHUNK IS
`SORTED BY GEOGRAPHICAL
`PROXIMITY TO REQUESTING CLIENT
`394
`
`LIST OF CLOSEST PEERS TO CLIENT
`396
`IS SENT TO CLIENT
`
`NO
`SELECTED AGENT SENDS REQUEST
`400
`DIRECTLY TO SERVER
`
`SELECTED AGENT STORES INFO .
`FROM SERVER IN ITS DATABASE
`402
`
`SELECTED AGENT PREPARES
`RESPONSE ( LIST ) FOR CLIENT ,
`WHERE RESPONSE INCLUDES
`CHECKSUM OF CHUNK , HEADERS ,
`AND PROVIDES ITSELF AS THE ONLY
`PEER FOR THESE CHUNKS
`404
`
`LIST IS FORWARDED BACK TO
`CLIENT
`406
`FIG . 10
`
`Code200 Exhibit 1001
`Page 13 of 29
`
`

`

`U . S . Patent
`
`Apr . 9 , 2019
`
`Sheet 11 of 15
`
`US 10 , 257 , 319 B2
`
`CLIENT RECEIVES RESPONSE FROM THE AGENT AND FOR EACH OF X CHUNKS ,
`CLIENT SENDS A REQUEST TO EACH OF THE PEERS LISTED FOR THE CHUNK TO
`DOWNLOAD THE DATA OF THAT CHUNK
`422
`
`PEERS RESPOND REGARDING WHETHER THEY STILL 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 CHUNKS IN ITS CACHE FOR FUTURE USE
`
`430
`
`IF ANY CHUNKS WERE NOT LOADED FROM ANY OF THE PEERS , CLIENT REQUESTS
`CHUNKS AGAIN FROM AGENT
`432
`
`CLIENT ACKNOWLEDGES TO THE AGENT WHICH OF THE CHUNKS IT RECEIVED
`PROPERLY
`434
`
`AGENT LOOKS UP CHUNKS IN DATABASE OF AGENT AND ADDS CLIENT TO LIST
`436
`OF PEERS FOR THESE CHUNKS
`
`CLIENT PASSES DATA TO APPLICATION OF CLIENT THAT MADE REQUEST 438
`
`CLIENT CHECKS WHETHER ALL OF THE CHUNKS FOR REQUEST WERE RECEIVED
`440
`
`FIG . 11
`
`Code200 Exhibit 1001
`Page 14 of 29
`
`

`

`U . S . Patent
`
`Apr . 9 , 2019
`
`Sheet 12 of 15
`
`US 10 , 257 , 319 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
`REQUEST STILL VALID ?
`506
`
`YES
`
`SEND HTTP CONDITIONAL REQUEST
`TO THE WEB SERVER , TO CHECK IF
`THE DATA STORED FOR THIS
`REQUEST IS STILL VALID
`510
`
`RETURN " VALID "
`508
`
`YES
`
`IS CACHED DATA STILL VALID ?
`512
`
`RETURN " INVALID "
`514
`
`FIG . 12
`
`Code200 Exhibit 1001
`Page 15 of 29
`
`

`

`U . S . Patent
`
`Apr . 9 , 2019
`
`Sheet 13 of 15
`
`US 10 , 257 , 319 B2
`
`550
`
`CHECK " KEEP ALIVE " WTH NETWORK
`E BENTS ( CENTS / AGENTS / PERS ) , AND
`UPDATE DATABASE AS TO THEIR STATUS
`( ONHUINE / OFF - LINE )
`552
`
`WAIT FOR CLIENT REQUEST
`554
`
`TYPE OF REQUEST RECEIVED ?
`556
`
`SIGN _ UP
`
`FIND AGENT
`
`CHECK _ VERSION
`
`ADD THE CIENT TO LIST OF
`POTENTIAL AGENTS ,
`SORTED BY IP ADDRESS OF
`THE NETWORK BEMENTS
`( CIENTS , PERS , AGENTS )
`558
`
`CREATE A NEW EMPTYAGENT LIST
`560
`
`RETURN TO THE CIENT THE VERSION OF
`THE LATEST AVAILABLE SOFTWARE , AND
`AURL OF WHERE TO DOWNLOAD THE
`LATEST VERSION
`566
`
`SEARCH THE AGENT DATABASE
`FOR THE NEXT 5 ACTIVE AGENTS
`THAT HAS THE IP ADDRESS THAT
`IS COSEST TO THE TARGET
`SERVERIP
`| ( EG . 1921663 . 103 IS CLOSER TO
`192 . 166 . 3 . 212 THEN TO
`192 . 167 . 3 . 104 )
`562
`
`SEND THE AGENT LIST TO THE
`CENT
`564
`
`FIG 13
`
`Code200 Exhibit 1001
`Page 16 of 29
`
`

`

`U . S . Patent
`
`Apr . 9 , 2019
`
`Sheet 14 of 15
`
`US 10 , 257 , 319 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
`
`CLIENT MODULE SENDS THE IP ADDRESS OF THE TCPIP
`SERVER TO THE ACCELERATION SERVER TO OBTAIN AN
`AGENT LIST
`6 04
`
`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 ESTABLISHA
`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
`
`Code200 Exhibit 1001
`Page 17 of 29
`
`

`

`atent
`
`Apr . 9 , 2019
`
`Sheet 15 of 15
`
`US 10 , 257 , 319 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
`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
`
`NO
`
`ACCELERATION APPLICATION ADDS
`THE CHUNK AND ITS CHECKSUM TO
`ITS CACHE DATABASE , AND SENDS
`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
`
`NO
`
`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
`
`FIG . 15
`
`800
`
`Code200 Exhibit 1001
`Page 18 of 29
`
`

`

`US 10 , 257 , 319 B2
`
`SYSTEM PROVIDING FASTER AND MORE
`EFFICIENT DATA COMMUNICATION
`
`what used to be called the “ Web2 . 0 ” trend ) . This may be
`seen on the Amazon Web site and the Salesforce Web site ,
`
`CROSS - REFERENCE TO RELATED
`sites is tailored to the viewer , and is thus different for any
`5 two viewers . This dynamic information makes it impossible
`APPLICATIONS
`for most of the solutions offered to date to store the content
`and provide it to others seeking similar content .
`The present application is a continuation application of
`One solution that has been in use is called a “ proxy ” . FIG .
`U . S . non - provisional patent application Ser . No . 14 / 025 , 109 ,
`1 is a schematic diagram providing an example of use of a
`filed Sep . 12 , 2013 , which is a divisional application of U . S .
`non - provisional patent application entitled “ SYSTEM AND 10 proxy within a network 2 . A proxy , or proxy server 4 , 6 , 8
`METHOD FOR PROVIDING FASTER AND MORE EFFI
`is a device that is placed between one or more clients ,
`LEFFI
`CIENT DATA COMMUNICATION ” having Ser . No .
`illustrated in FIG . 1 as client devices 10 , 12 , 14 , 16 , 18 , 20 ,
`12 / 836 , 059 , filed Jul . 14 , 2010 and issued as U . S . Pat . No .
`that request data , via the Internet 22 , and a Web server or
`8 , 560 , 604 on Oct . 15 . 2013 , and claims priority to U . S .
`Web servers 30 , 32 , 34 from which they are requesting the
`provisional patent application entitled “ SYSTEM AND 15 data . The proxy server 4 , 6 , 8 requests the data from the Web
`METHOD FOR REDUCING INTERNET CONGES
`servers 30 , 32 , 34 on their behalf , and caches the responses
`TION , ” having Ser . No . 61 / 249 , 624 , filed Oct . 8 , 2009 ,
`from the Web servers 30 , 32 , 34 , to provide to other client
`which are hereby incorporated herein by reference in their
`devices that make similar requests . If the proxy server 4 , 6 ,
`8 is geographically close enough to the client devices 10 , 12 ,
`entirety .
`2014 , 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
`FIELD OF THE INVENTION
`speed up the requests for the client devices 10 , 12 , 14 , 16 ,
`The present invention is related to Internet communica
`18 , 20 that it is serving .
`It should be noted , however , that to provide a compre
`tion , and more particularly , to improving data communica
`25 hensive solution for Internet surfing , the proxy servers of
`tion speed and bandwidth efficiency on the Internet .
`FIG . 1 would need to be deployed at every point around the
`BACKGROUND OF THE INVENTION
`world where the Internet is being consumed , and the storage
`size of the proxy servers at each location would need to be
`There are several trends in network and Internet usage ,
`near the size of all the data stored anywhere on the Internet .
`which tremendously increase the bandwidth that is being 30 The abovementioned would lead to massive costs that are
`used on the Internet . One such trend is that more and more
`impractical . In addition , these proxy solutions cannot deal
`video is being viewed on demand on the Internet . Such
`well with dynamic data that is prevalent now on the Web .
`viewing includes the viewing of both large and short video
`There have been commercial companies , such as Akamai ,
`clips . In addition , regular shows and full - featured films may
`that have deployed such proxies locally around the world ,
`be viewed on the Internet . Another trend that is increasing 35 and that are serving a select small group of sites on the
`the traffic on the Internet is that Web sites ( such as shopping
`Internet . If all sites on the Web were to be solved with such
`portals , news portals , and social networks ) are becoming
`a solution , the capital investment would be in the range of
`global , meaning that the Web sites are serving people in
`billions of dollars . In addition , this type of solution does not
`many diverse places on the globe , and thus the data is
`handle dynamic content .
`traversing over longer stretches of the Internet , increasing 40
`To create large distribution systems without the large
`the congestion .
`hardware costs involved with a proxy solution , " peer - to - peer
`The increase in bandwidth consumption has created sev -
`file sharing " solutions have been introduced , such as , for
`eral major problems , a few of which are described below :
`example , BitTorrent . FIG . 2 is a schematic diagram provid
`The problem for users — the current Internet bandwidth is
`ing an example of a peer - to - peer file transfer network 50 . In
`not sufficient , and thus the effective ' speed ' experienced by 45 the network 50 , files are stored on computers of consumers ,
`users is slow ;
`referred to herein as client devices 60 . Each consumer can
`The problem for content owners — the tremendous amount of
`serve up data to other consumers , via the Internet 62 , thus
`data being viewed by users is costing large amounts of
`taking the load of serving off of the distributors and saving
`them the associated costs , and providing the consumer
`money in hosting and bandwidth costs ; and
`The problem for Internet Service Providers ( ISPs ) — the 50 multiple points from which to download the data , referred to
`growth in Internet traffic is requiring the ISPs to increase the
`herein as peers 70 , 72 , 74 , 76 , 78 , thus increasing the speed
`infrastructure costs ( communication lines , routers , etc . ) at
`of the download . However , each such peer - to - peer solution
`must have some sort of index by which to find the required
`tremendous financial expense .
`The need for a new method of data transfer that is fast for
`data . In typical peer - to - peer file sharing systems , because the
`the consumer , cheap for the content distributor and does not 55 index is on a server 80 , or distributed among several servers ,
`require infrastructure investment for ISPs , has become a
`the number of files available in the system is not very large
`( otherwise , the server costs would be very large , or the
`major issue which is yet unsolved .
`There have been many attempts at making the Internet
`lookup time would be very long ) .
`The peer - to - peer file sharing solution is acceptable in file
`faster for the consumer and cheaper for the broadcaster .
`Each such attempt is lacking in some aspect to become a 60 sharing systems , because there are not that many media files
`widespread , practical solution , or is a partial solution in that
`that are of interest to the mass ( probably in the order of
`it solves only a subset of the major problems associated with
`magnitude of millions of movies and songs that are of
`the increase in Internet traffic . Most of the previous solutions
`interest ) . Storing and maintaining an index of millions of
`require billions of dollars in capital investment for a com -
`entries is practical technically and economically . However ,
`prehensive solution . Many of these attempts are lacking in
`65 if this system were to be used to serve the hundreds of
`that much of the content on the Internet has become dynami -
`billions of files that are available on the Internet of today , the
`cally created per the user and the session of the user ( this is
`cost of storing and maintaining such an index would be
`
`Code200 Exhibit 1001
`Page 19 of 29
`
`

`

`US 10 , 257 , 319 B2
`
`FIG . 2 is a schematic diagram providing a prior art
`again in the billions of dollars . In addition , these types of
`example of a peer - to - peer file transfer network .
`peer - to - peer file sharing systems are not able to deal with
`dynamic HTTP data .
`FIG . 3 is a schematic diagram providing an example of a
`communication network in accordance with the present
`In conclusion , a system does not exist that enables fast
`invention .
`transmission of most of the data on the Internet , that does not 5
`FIG . 4 is a schematic diagram further illustrating a
`incur tremendous costs , and / or that provides only a very
`communication device of the communication network of
`partial solution to the problem of Internet traffic congestion
`FIG . 3
`Thus , a heretofore unaddressed need exists in the industry to
`FIG . 5 is a schematic diagram further illustrating the
`address the aforementioned deficiencies and inadequacies .
`10 memory of FIG . 4 .
`FIG . 6 is a schematic diagram further illustrating elements
`SUMMARY OF THE INVENTION
`of the acceleration application of FIG . 5 , as well as com
`munication paths of the acceleration application .
`The present system and method provides for faster and
`FIG . 7 is a chart further illustrating two of the main
`more efficient data communication within a communication
`network . Briefly described , in architecture , one embodiment * 15 databases utilized within the communication network .
`FIG . 8 is a flowchart illustrating operation of the accel
`of the system , among others , can be implemented as follows .
`eration system initializer module .
`A network is provided for accelerating data communication ,
`FIG . 9 is a flowchart further illustrating communication
`wherein the network contains : at least one client communi
`between different elements of the communication network .
`FIG . 10 is a flowchart continuing the flowchart of FIG . 9
`cation device for originating a data request for obtaining the 20
`data from a data server , at least one agent communication
`and focused on agent response to the HTTP request .
`device which is assigned to the data server for receiving the
`FIG . 11 is a flowchart continuing the flowchart of FIG . 10 .
`which illustrates actions taken upon receipt of the list of
`data request from the client communication device , wherein
`the agent keeps track of which client communication devices
`peers , or single peer listing , from the agent .
`have received responses to data requests from the assigned 25
`FIG . 12 is a flowchart illustrating steps taken by an agent ,
`data server ; at least one peer communication device for
`client , or peer to determine whether a certain HTTP request
`storing portions of data received in response to the data
`is still valid .
`request by the at least one client communication device ,
`FIG . 13 is a flowchart outlining operation of the accel
`wherein the portions of data may be transmitted to the at
`e

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