`Shribman et al .
`
`US 10,484,510 B2
`( 10 ) Patent No .:
`( 45 ) Date of Patent :
`* Nov . 19 , 2019
`
`US010484510B2
`
`( 54 ) SYSTEM PROVIDING FASTER AND MORE
`EFFICIENT DATA COMMUNICATION
`Applicant : WEB SPARK LTD . , Netanya ( IL )
`( 71 )
`( 72 ) Inventors : Derry Shribman , Tel Aviv ( IL ) ; Ofer
`Vilenski , Moshav Hadar Am ( IL )
`( 73 ) Assignee : WEB SPARK LTD . , Netanya ( IL )
`Subject to any disclaimer , the term of this
`( * ) Notice :
`patent is extended or adjusted under 35
`U.S.C. 154 ( b ) by 0 days .
`This patent is subject to a terminal dis
`claimer .
`( 21 ) Appl . No .: 16 / 278,107
`( 22 ) Filed :
`Feb. 17 , 2019
`( 65 )
`Prior Publication Data
`US 2019/0182360 A1 Jun . 13 , 2019
`
`Related U.S. Application Data
`( 60 ) Continuation of application No. 15 / 957,945 , filed on
`Apr. 20 , 2018 , now Pat . No. 10,257,319 , which is a
`( Continued )
`
`( 51 )
`
`Int . Ci .
`H04L 29/06
`H04L 29/08
`H04L 12/24
`( 52 ) U.S. CI .
`CPC
`
`( 2006.01 )
`( 2006.01 )
`( 2006.01 )
`H04L 67/42 ( 2013.01 ) ; H04L 41/046
`( 2013.01 ) ; H04L 67/1002 ( 2013.01 ) ;
`( Continued )
`Field of Classification Search
`CPC ... HO4L 67/42 ; H04L 41/046 ; H04L 67/1002 ;
`HO4L 67/22 ; H04L 67/02
`( Continued )
`
`( 58 )
`
`( 56 )
`
`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
`
`CN
`CN
`
`11/2007
`101075242 A
`5/2008
`101179389 A
`( Continued )
`
`OTHER PUBLICATIONS
`Third - party submission under 37 CFR 1.290 filed on Jul . 23 , 2019
`and entered in U.S. Appl . No. 16 / 140,749 .
`( Continued )
`Minh Chau Nguyen
`Primary Examiner
`( 74 ) Attorney , Agent , or Firm — May Patents Ltd. clo
`Dorit Shem - Tov
`( 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 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 .
`24 Claims , 15 Drawing Sheets
`
`CLIENT
`DEVICE
`14
`
`CLIENT
`DEVICE
`16
`
`CLIENT
`DEVICE
`IE
`
`CLIENT
`DEVICE
`
`PROXY
`SERVER
`
`WEB
`SERVER
`7 .
`
`PROXY
`SERVER
`6
`
`INTERNET
`
`Wea
`SERVER
`
`CLIENT
`DEVICE
`
`CLIENT
`DEVICE
`20
`
`WEB
`SERVER
`
`.
`PROXY
`SERVER
`B
`
`Code200 Exhibit 1001
`Page 1 of 30
`
`
`
`US 10,484,510 B2
`Page 2
`
`Related U.S. Application Data
`continuation of application No. 14 / 025,109 , filed on
`Sep. 12 , 2013 , now Pat . No. 10,069,936 , which is a
`division of application No. 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 .
`
`( 56 )
`
`( 52 ) U.S. Ci .
`H04L 67/108 ( 2013.01 ) ; H04L 67/1023
`CPC
`( 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
`USPC
`709/202
`See application file for complete search history .
`References Cited
`U.S. PATENT DOCUMENTS
`5,519,693 A
`5/1996 Galuszka
`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
`9/2001 Guo et al .
`6,466,470 B1 10/2002 Chang
`6,519,693 B1
`2/2003 Debey
`6,868,453 B1
`3/2005 Watanabe
`6,895,011 B1
`5/2005 Lassers
`7,120,666 B2 10/2006 McCanne et al .
`7,203,741 B2
`4/2007 Marco et al .
`7,234,059 B1 6/2007 Beaver
`7,558,942 B1 7/2009 Chen et al .
`7,673,048 B1
`3/2010 O'Toole
`7,742,485 B2
`6/2010 Zhang
`7,751,628 B1
`7/2010 Reisman
`7,783,777 B1
`8/2010 Pabla
`7,788,378 B2
`8/2010 Rao
`7,818,430 B2
`10/2010 Zuckerman
`7,831,720 B1 11/2010 Noureddine
`7,865,585 B2 *
`1/2011 Samuels
`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,639,630 B2
`1/2014 Fomenko et al .
`8,769,035 B2
`1/2014 Resch et al .
`8,719,430 B2
`5/2014 Van Ackere
`8,719,505 B2 6/2014 Shribman
`8,832,179 B2
`9/2014 Owen al .
`8,838,811 B2
`9/2014 Chen
`9,201,808 B2
`1/2015 Shribman et al .
`9,015,335 B1 4/2015 Gigliotti
`9,177,157 B2 11/2015 Binder
`9,253,164 B2
`2/2016 Gouge
`9,990,295 B2
`6/2018 Shribman et al .
`2001/0033583 Al 10/2001 Rabenko et al .
`G06Q 10/02
`2001/0054020 A1 * 12/2001 Barth
`705/37
`2002/0007413 Al
`1/2002 Garcia - Luna - Aceves et al .
`2002/0065930 A1
`5/2002 Rhodes
`2002/0069241 Al 6/2002 Narlikar et al .
`2002/0091760 A1 7/2002 Rozen
`2002/0120874 A1
`8/2002 Shu et al .
`2002/0123895 A1 9/2002 Potekhin
`
`G06F 16/40
`709/231
`
`H04L 67/28
`709/217
`
`al .
`
`2002/0133621 A1
`2003/0009518 Al
`2003/0009583 Al
`2003/0074403 A1
`2003/0097408 Al
`2003/0115364 A1
`2003/0174648 A1
`2003/0200307 Al
`2003/0204602 A1
`2003/0210694 Al
`2003/0229718 Al
`2003/0229785 Al
`2004/0088646 A1
`2004/0107242 Al
`2004/0254907 A1
`2004/0264506 Al
`2005/0015552 Al
`2005/0022236 A1
`2005/0027782 Al
`2005/0097441 A1
`2005/0228964 A1
`2006/0036755 Al
`2006/0039352 A1
`2006/0047844 Al
`2006/0212542 A1 *
`
`2006/0212584 A1 *
`
`2006/0224687 Al
`2006/0259728 A1
`2007/0050522 A1
`2007/0073878 A1
`2007/0100839 Al
`2007/0142036 A1
`2007/0156855 Al
`2007/0174246 A1
`2007/0226810 A1
`2007/0239655 A1
`2008/0008089 Al
`2008/0025506 A1
`2008/0109446 A1
`2008/0125123 Al
`2008/0222291 Al
`2008/0235391 A1
`2008/0086730 Al
`2008/0256175 A1
`2009/0010426 A1
`2009/0037529 A1
`2009/0182843 A1
`2009/0216887 A1
`2009/0217122 A1
`2009/0232003 A1
`2009/0248793 A1
`2009/0279559 Al
`2009/0292816 Al
`2009/0319502 Al
`2010/0066808 Al
`2010/0085977 Al
`2010/0094970 A1
`2010/0115063 A1
`2010/0154044 A1
`2010/0235438 A1
`2010/0262650 Al
`2010/0293555 Al
`2010/0329270 A1
`2011/0035503 A1 *
`
`2011/0066924 Al
`2011/0087733 A1
`2011/0128911 A1
`2011/0264809 A1
`2011/0314347 Al
`2012/0099566 A1
`2012/0124173 A1
`2012/0124239 A1
`2012/0164980 Al
`2012/0166582 A1
`2012/0246273 A1
`2012/0254370 A1
`
`H04L 67/104
`709/219
`HO4L 67/104
`709/227
`
`9/2002 Marco et al .
`1/2003 Harrow et al .
`1/2003 Chan et al .
`4/2003 Harrow et al .
`5/2003 Kageyama
`6/2003 Shu et al .
`9/2003 Wang et al .
`10/2003 Raju et al .
`10/2003 Hudson
`11/2003 Jayaraman et al .
`12/2003 Tock
`12/2003 Daseke
`5/2004 Yeager et al .
`6/2004 Vert et al .
`12/2004 Crow et al .
`12/2004 Furukawa
`1/2005 So et al .
`1/2005 Ito et al .
`2/2005 Jalan
`5/2005 Herbach
`10/2005 Sechrest et al .
`2/2006 Abdullah
`2/2006 Karstens
`3/2006 Deng
`9/2006 Fang
`9/2006 Yu
`10/2006 Popkin
`11/2006 Chandrasekaran et al .
`3/2007 Grove
`3/2007 Issa
`5/2007 Kim
`6/2007 Wikman
`7/2007 Johnson
`7/2007 Sigurdsson
`9/2007 Hotti
`10/2007 Agetsuma et al .
`1/2008 Bornstein et al .
`1/2008 Muraoka
`5/2008 Wang
`5/2008 Dorenbosch et al .
`9/2008 Weller
`9/2008 Painter et al .
`10/2008 Vertes
`10/2008 Lee
`1/2009 Redmond
`2/2009 Armon - Kest
`7/2009 Hluchyj
`8/2009 Hertle
`8/2009 Yokokawa et al .
`9/2009 Vasseur
`10/2009 Jacobsson
`11/2009 Wong et al .
`11/2009 Etchegoyen
`12/2009 Chalouhi et al .
`3/2010 Tucker et al .
`4/2010 Khalid et al .
`4/2010 Zuckerman et al .
`6/2010 Gladwin et al .
`6/2010 Manku
`9/2010 Narayanan
`10/2010 Chauhan
`11/2010 Vepsalainen
`12/2010 Asati et al .
`2/2011 Zaid
`
`H04L 63/0407
`709/228
`
`3/2011 Dorso
`4/2011 Shribman
`6/2011 Shaheen
`10/2011 Koster
`12/2011 Nakano et al .
`4/2012 Laine et al .
`5/2012 De et al .
`5/2012 Shribman
`6/2012 Van Phan
`6/2012 Binder
`9/2012 Bornstein
`10/2012 Bacher
`
`Code200 Exhibit 1001
`Page 2 of 30
`
`
`
`US 10,484,510 B2
`Page 3
`
`( 56 )
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`2012/0254456 A1
`2013/0007232 A1
`2013/0007253 A1
`2013/0064370 A1
`2013/0080575 Al
`2013/0157699 A1
`2013/0166768 A1
`2013/0171964 Al
`2013/0201316 A1
`2013/0219458 A1
`2013/0272519 Al
`2013/0304796 A1
`2013/0326607 A1
`2014/0082260 A1
`2014/0189802 A1
`2014/0301334 Al
`2014/0359081 A1
`2014/0376403 A1
`2015/0033001 Al
`2015/0067819 A1
`2015/0189401 A1
`2015/0206176 Al
`2015/0206197 A1
`2015/0341812 A1
`2015/0358648 Al
`2016/0021430 Al
`2016/0105530 A1
`2017/0221092 Al
`
`10/2012 Visharam
`1/2013 Wang
`1/2013 Li
`3/2013 Gouge
`3/2013 Prince
`6/2013 Talwar
`6/2013 Gouache et al .
`7/2013 Bhatia
`8/2013 Binder et al .
`8/2013 Ramanathan
`10/2013 Huang
`11/2013 Jackowski
`12/2013 Feng
`3/2014 Oh et al .
`7/2014 Montgomery
`10/2014 Labranche et al .
`12/2014 Van Deventer
`12/2014 Shao
`1/2015 Ivanov
`3/2015 Shribman
`7/2015 Yi
`7/2015 Toval
`7/2015 Toval
`11/2015 Dion
`12/2015 Limberg
`1/2016 LaBosco et al .
`4/2016 Shribman
`8/2017 Toval
`
`FOREIGN PATENT DOCUMENTS
`10/1999
`0948176 A2
`5/2013
`2597869 A1
`5/2015
`2597869 A1
`3/2016
`2922275 B1
`10/2007
`2007280388
`9/2009
`1020090097034
`2343536 C2
`10/2009
`3/2000
`2000/018078 Al
`11/2004
`2004094980
`2010090562 A1
`8/2010
`12/2010
`2010090562 A1
`9/2011
`2011068784 Al
`3/2015
`2015034752 A1
`
`EP
`EP
`EP
`EP
`JP
`KR
`RU
`WO
`WO
`WO
`WO
`WO
`WO
`
`OTHER PUBLICATIONS
`Third - party submission under 37 CFR 1.290 filed on Jul . 23 , 2019
`and entered in U.S. Appl . No. 16 / 140,785 .
`Third - party submission under 37 CFR 1.290 filed on Jul . 23 , 2019
`and entered in U.S. Appl . No. 16 / 214,433 .
`Third - party submission under 37 CFR 1.290 filed on Jul . 23 , 2019
`and entered in U.S. Appl . No. 16 / 214,451 .
`Third - party submission under 37 CFR 1.290 filed on Jul . 23 , 2019
`and entered in U.S. Appl . No. 16 / 214,476 .
`Third - party submission under 37 CFR 1.290 filed on Jul . 23 , 2019
`and entered in U.S. Appl . No. 16 / 214,496 .
`Third - party submission under 37 CFR 1.290 filed on Jul . 23 , 2019
`and entered in U.S. Appl . No. 16 / 292,363 .
`Third - party submission under 37 CFR 1.290 filed on Jul . 22 , 2019
`and entered in U.S. Appl . No. 16 / 292,364 .
`Third - party submission under 37 CFR 1.290 filed on Jul . 23 , 2019
`and entered in U.S. Appl . No. 16 / 292,374 .
`Third - party submission under 37 CFR 1.290 filed on Jul . 23 , 2019
`and entered in U.S. Appl . No. 16 / 292,382 .
`Third - party submission under 37 CFR 1.290 filed on Jul . 25 , 2019
`and entered in U.S. Appl . No. 16 / 365,250 .
`Third - party submission under 37 CFR 1.290 filed on Jul . 25 , 2019
`and entered in U.S. Appl . No. 16 / 365,315 .
`“ Slice Embedding Solutions for Distributed Service Architectures ”
`Esposito et al . , Boston University , Feb. 12 , 2011 http : //www.cs.bu .
`edu / techreports / pdf / 2011-025 - slice - embedding.pdf ( Year 2011 ) ( 16
`pages ) .
`
`“ Keep Alive ” —Imperva , 2019 https://www.imperva.com/learn/
`performance / keep - alive ( 2019 ) ( 3 pages ) .
`Third party observation filed on Jun . 21 , 2019 in PCT Application
`No. PCT / IL2018 / 050910 ( 7 pages ) .
`IETF named : IPy6 Tunnel Broker , Apr. 1999 — First uploaded
`document submitted with third party observation dated Jun . 21 ,
`2019 ( 13 pages ) .
`RFC 3053 ( Jan. 2001 ) named : IPv6 Tunnel Broker - Secod uploaded
`document submitted with third party observation dated Jun . 21 ,
`2019 ( 13 pages ) .
`International Search Report issued in PCT Application No. PCT /
`US2010 / 051881 dated Dec. 9 , 2010 .
`Supplementary European Search Report issued in EP Application
`No. 10822724 dated Apr. 24 , 2013 .
`R. Fielding et al , RFC 2616 : Hypertext Transfer Protocol — HTTP /
`1.1 , Jun . 1999 , retrieved from the Internet http://ref-editor.org
`[ retrieved Apr. 15 , 2002 ] ( 114 pages ) .
`" 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 .
`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 .
`Reed et al , “ Anonymous Connections and Onion Routing ” , Naval
`Research Laboratory , Mar. 1998 https://www.onion-router.net/
`Publications / JSAC - 1998.pdf ( Year : 1998 ) .
`Michael J. Freedman , Princeton University , “ Experiences with
`CoralCDN : a five - year operational view ” , Proceeding NSDI ' 10
`Proceedings of the 7th USENIX conference on Networked systems
`design and implementation San Jose , Califomia — Apr . 28-30 , 2010
`( 17 pages )
`“ The BitTorrent Protocol Specification ” , Website : https : //web.archive .
`org / web / 20120513011037 / http : /www.bittorrent.org/beps/bep_0003 .
`html describing BitTorrent dated Jan. 10 , 2008 downloaded using
`web archive on Aug. 16 , 2019 ( 6 pages ) .
`“ BitTorrent " , Website : https://en.wikipedia.org/w/index.php?title=
`BitTorrent & oldid = 530466721 describing BitTorrent dated Dec. 30 ,
`2012 downloaded using Wikipedia on Aug. 16 , 2019 ( 9 pages ) .
`“ VIP Socks / VPN Service ” , Website : http://vip72.com:80/?drgn=1
`describing VIP72 proxy service dated Jan. 2010 downloaded using
`VIP Technologies webpage on Aug. 16 , 2019 ( 3 pages ) .
`“ Welcome to Easy Hide IP " , Website : https://web.archive.org/web/
`20130702093456 / http : //www.easy-hide-ip.com : 80 / describing Easy
`Hide IP dated Jun . 26 , 2007 downloaded using web archive on Aug.
`16 , 2019 ( 2 pages ) .
`“ You make it fun ; we'll make it run ” , Website : https : //web.archive .
`org / web / 20130726050810 / https : //www.coralcdn.org describing
`CoralCDN dated Jan. 25 , 2005 downloaded using web archive on
`Aug. 16 , 2019 ( 2 pages ) .
`“ Net Transport ” , Website : http://www.xi-soft.com/default.htm describ
`ing Net Transport Overview dated 2005 downloaded using Net
`Transport webpage on Aug. 16 , 2019 ( 2 pages ) .
`Net Transport - Develop History , Website : http://www.xi-soft.com/
`download.htm describing Net Transport Download dated 2005
`downloaded using Net Transport webpage on Aug. 16 , 2019 ( 10
`pages ) .
`Net Transport FAQ , Website : http://www.xi-soft.com/faq.htm describ
`ing Net Transport FAQ dated 2005 downloaded using Net Transport
`webpage on Aug. 16 , 2019 ( 4 pages ) .
`Net Transport News , Website : http://www.xi-soft.com/news.htm
`describing Net Transport News dated 2005 downloaded using Net
`Transport webpage on Aug. 16 , 2019 ( 5 pages ) .
`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=yRRYPFLbKNU > .
`
`Code200 Exhibit 1001
`Page 3 of 30
`
`
`
`US 10,484,510 B2
`Page 4
`
`( 56 )
`
`References Cited
`OTHER PUBLICATIONS
`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://ref-editor.org
`[ retrieved Apr. 15 , 2002 ] .
`" 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 = yRRYPFLØKNU > .
`YouTube video clip entitled “ Change Your Country IP Address &
`Location with Easy Hide IP Software ” < https://www.youtube.com/
`watch ? v = ulwkflsOfdA and https://www.youtube.com/watch?v=
`iFEMT - b9DTc > .
`* cited by examiner
`
`Code200 Exhibit 1001
`Page 4 of 30
`
`
`
`U.S. Patent
`
`Nov. 19 , 2019
`
`Sheet 1 of 15
`
`US 10,484,510 B2
`
`CLIENT
`DEVICE
`
`CLIENT
`DEVICE
`
`2
`
`PRO
`SERVER
`
`WEB
`SERVER
`
`CLIENT
`
`CLIENT
`DEVICE
`16
`
`CLIENT
`DEVICE
`
`CLIENT
`DEVICE
`
`PROXY
`SERVER
`
`INTERNET
`22
`
`WEB
`SERVER
`
`WEB
`SERVER
`
`PROXY
`SERVER
`
`FIG .
`
`1
`
`Code200 Exhibit 1001
`Page 5 of 30
`
`
`
`U.S. Patent
`
`Nov. 19 , 2019
`
`Sheet 2 of 15
`
`US 10,484,510 B2
`
`SERVER
`
`S "
`
`PEER
`78
`
`INTERNET
`
`PEER
`
`CLIENT
`DEVICE U
`
`PEER
`
`PEER
`
`FIG . 2
`
`Code200 Exhibit 1001
`Page 6 of 30
`
`
`
`U.S. Patent
`
`Nov. 19 , 2019
`
`Sheet 3 of 15
`
`US 10,484,510 B2
`
`ACCELERATION
`SERVER
`
`STORAGE
`DEVICE
`
`SERVER
`
`CLIENT
`102
`
`AGENT
`
`PEER
`
`PEER
`116
`
`PEER
`
`FIG . 3
`
`Code200 Exhibit 1001
`Page 7 of 30
`
`
`
`U.S. Patent
`
`Nov. 19 , 2019
`
`Sheet 4 of 15
`
`US 10,484,510 B2
`
`200
`
`PROCESSOR
`202
`
`INTERNET
`BROWSER
`214
`ACCELERATION
`APPLICATION
`220
`
`SOFTWARE
`212
`
`O / S
`230
`
`MEMORY
`210
`
`CONFIGURATION
`DATABASE
`280
`
`CACHE DATABASE
`282
`
`STORAGE DEVICE
`208
`
`LOCAL INTERFACE 250
`
`I / O DEVICES
`240
`
`FIG . 4
`
`Code200 Exhibit 1001
`Page 8 of 30
`
`
`
`U.S. Patent
`
`Nov. 19 , 2019
`
`Sheet 5 of 15
`
`US 10,484,510 B2
`
`APPLICATION
`LEVEL
`270
`
`INTERNET
`BROWSER
`214
`
`OTHER
`APPLICATIONS
`216
`
`ACCELERATION
`APPLICATION
`220
`
`OPERATING
`SYSTEM
`LEVEL
`260
`
`INTERMMEDIATE DRIVER
`272
`
`COMMUNICATION
`STACKS
`264
`
`] [
`
`DEVICE DRIVERS
`262
`
`OPERATING
`SYSTEM
`230
`
`MEMORY
`210
`
`FIG . 5
`
`Code200 Exhibit 1001
`Page 9 of 30
`
`
`
`U.S. Patent
`
`Nov. 19 , 2019
`
`Sheet 6 of 15
`
`US 10,484,510 B2
`
`ACCELERATION
`APPLICATION
`220
`
`ACCELERATION
`SYSTEM INITIALIZER
`MODULE
`222
`
`CLIENT MODULE
`224
`
`PEER MODULE
`226
`
`AGENT MODULE
`228
`
`CONFIGURATION
`DATABASE
`280
`
`CACHE DATABASE
`282
`
`STORAGE DEVICE
`208
`
`FIG . 6
`
`Code200 Exhibit 1001
`Page 10 of 30
`
`
`
`U.S. Patent
`
`Nov. 19 , 2019
`
`Sheet 7 of 15
`
`US 10,484,510 B2
`
`162
`
`, YIT
`
`312PEER 2 CONNECTION STATUS
`
`
`310 PEER 1 IP ADDRESS
`
`308 | PEER I
`
`
`
`
`
`
`
`302 CHUNK CHECKSUM 304
`
`LIST OF PEERS : CRUNK DATA 306
`
`FIG . 7
`
`
`
`
`
`
`
`CHUNK 1 298 LIST OF CHUNKS FOR THIS URL . 300
`
`
`
`
`
`LAST CHANGED ON SERVER 294 LAST CHECKED ON SERVER 296
`
`
`
`
`
`
`
`ACCELERATION DATABASE 164 166
`
`AGENTIP A ONLINE / OFFLINE
`
`
`
`>>> INDEXED BY : AGENT IP ADDRESS
`
`
`
`CACHE DATABASE 282
`
`290 URL
`
`286 ) LIST OF URUS :
`288 URL 1
`
`
`
`
`
`292 URL HTTP HEADERS
`
`Code200 Exhibit 1001
`Page 11 of 30
`
`
`
`U.S. Patent
`
`Nov. 19 , 2019
`
`Sheet 8 of 15
`
`US 10,484,510 B2
`
`300
`
`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
`MODULE AND CONFIGURES
`CLIENT MODULE TO INTERCEPT
`ALL OUTGOING NETWORK
`COMMUNICATIONS
`308
`
`INITIALIZER LAUNCHES AGENT
`MODULE AND PEER MODULE
`310
`
`FIG . 8
`
`Code200 Exhibit 1001
`Page 12 of 30
`
`
`
`U.S. Patent
`
`Nov. 19 , 2019
`
`Sheet 9 of 15
`
`US 10,484,510 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 13 of 30
`
`
`
`U.S. Patent
`
`Nov. 19 , 2019
`
`Sheet 10 of 15
`
`US 10,484,510 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
`
`CLIENT SELECTS SPECIFIC AGENT
`
`384
`
`CLIENT NOTIFIES SELECTED AGENT OF USE FOR REQUEST AND NOTIFIES OTHER
`386
`AGENTS OF LACK OF USE
`
`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
`IS SENT TO CLIENT
`396
`
`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 14 of 30
`
`
`
`U.S. Patent
`
`Nov. 19 , 2019
`
`Sheet 11 of 15
`
`US 10,484,510 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
`424
`CHUNK
`
`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
`OF PEERS FOR THESE CHUNKS
`436
`
`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
`
`420
`
`Code200 Exhibit 1001
`Page 15 of 30
`
`
`
`U.S. Patent
`
`Nov. 19 , 2019
`
`Sheet 12 of 15
`
`US 10,484,510 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
`
`NO
`
`SEND HTTP CONDITIONAL REQUEST
`TO THE WEB SERVER , TO CHECK IF
`THE DATA STORED FOR THIS
`REQUEST IS STILL VALID
`510
`
`YES
`
`RETURN " VALID "
`508
`
`T !
`
`YES
`
`IS CACHED DATA STILL VALID ?
`512
`
`NO
`
`RETURN " INVALID "
`514
`
`FIG . 12
`
`Code200 Exhibit 1001
`Page 16 of 30
`
`
`
`U.S. Patent
`
`Nov. 19 , 2019
`
`Sheet 13 of 15
`
`US 10,484,510 B2
`
`550
`
`S
`
`C - ECK " KEEP ALIVE WIHNETWORK
`ELEMENTS ( CENTS / AGENTS / PEERS ) , AND
`UPDATE DATABASE AS TOTHER STATUS
`( ONUN / 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
`( CLIENTS , PEDRS , AGENTS )
`558
`
`CREATE A NEW EMPTY AGENT LIST
`560
`
`RETURN TO THE CIENT THE VERSION OF
`THE LATEST AVAILABLE SOFTWARE , AND
`AUR OFWBRE TO DOWNLOAD THE
`LATEST VERSION
`566
`
`SEARCH THE AGENT DATABASE
`FOR THE NEXT 5 ACTIVE AGENTS
`THAT HAS THE IP ADDRESS THAT
`IS CLOSEST TOTHE TARGET
`SERVERIP
`( EG 1921663.103 isaoseR 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 17 of 30
`
`
`
`U.S. Patent
`
`Nov. 19 , 2019
`
`Sheet 14 of 15
`
`US 10,484,510 B2
`
`NETWORK APPLICATION ON CLIENT ISSUES REQUEST TO
`CONNECT TO A TCPIP SERVER
`6 01
`
`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
`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
`6 10
`
`AGENT ISSUES A TCPIP CONNECT WITH THE TCPIP
`SERVER TO THE IP AND PORT RECEIVED FROM THE CLIENT
`6
`1
`2
`
`FIG . 14
`
`Code200 Exhibit 1001
`Page 18 of 30
`
`
`
`U.S. Patent
`
`Nov. 19 , 2019
`
`Sheet 15 of 15
`
`US 10,484,510 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
`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
`
`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 19 of 30
`
`
`
`1
`SYSTEM PROVIDING FASTER AND MORE
`EFFICIENT DATA COMMUNICATION
`
`US 10,484,510 B2
`
`5
`
`FIELD OF THE INVENTION
`The present invention is related to Internet communica
`tion , and more particularly , to improving data communica
`tion speed and bandwidth efficiency on the Internet .
`BACKGROUND OF THE INVENTION
`
`2
`prehensive solution . Many of these attempts are lacking in
`that much of the 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
`CROSS - REFERENCE TO RELATED
`seen on the Amazon Web site and the Salesforce Web site ,
`APPLICATIONS
`for example , where most of the page views on these Web
`sites is tailored to the viewer , and is thus different for any
`The present application is a continuation application of
`two viewers . This dynamic information makes it impossible
`U.S. non - provisional patent application Ser . No. 15 / 957,945 ,
`for most of the solutions offered to date to store the content
`filed Apr. 20 , 2018 , which is a continuation application of
`U.S. non - provisional patent application Ser . No. 14 / 025,109 , 10 and provide it to others seeking similar content .
`One solution that has been in use is called a " proxy ” . FIG .
`filed Sep. 12 , 2013 and issued as U.S. Pat . No. 10,069,936
`1 is a schematic diagram providing an example of use of a
`on Sep. 4 , 2018 , which is a divisional application of U.S.
`non - provisional patent application entitled “ SYSTEM AND
`proxy within a network 2. A proxy , or proxy server 4 , 6 , 8
`METHOD FOR PROVIDING FASTER . AND MORE is a device that is placed between one or more clients ,
`EFFICIENT DATA COMMUNICATION ” having Ser . No. 15 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
`12 / 836,059 , filed Jul . 14 , 2010 and issued as U.S. Pat . No.
`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
`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 , 20 from the Web servers 30 , 32 , 34 , to provide to other client
`devices that make similar requests . If the proxy server 4 , 6 ,
`which are hereby incorporated herein by reference in their
`8 is geographically close enough to the client devices 10 , 12 ,
`entirety .
`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
`25 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
`30 world where the Internet is being consumed , and the storage
`size of the proxy servers at each location would need to be
`near the size of all the data stored anywhere on the Internet .
`There are several trends in network and Internet usage ,
`The abovementioned would lead to massive costs that are
`which tremendously increase the bandwidth that is being
`impractical . In addition , these proxy solutions cannot deal
`used on the Internet . One such trend is that more and more
`video is being viewed on demand on the Internet . Such 35 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 Akarnai ,
`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
`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 40 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
`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- 45 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
`ing an example of a peer - to - peer file transfer network 50. In
`The problem for users -the current Internet bandwidth is
`not sufficient , and thus the effective ‘ speed ' experienced
`the network 50 , files are stored on computers of consumers ,
`by users is slow ;
`referred to herein as client devices 60. Each consumer can
`The problem for content owners the tremendous amount of 50 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 dist