throbber
a2) United States Patent
`US 10,484,510 B2
`(0) Patent No.:
`*Nov. 19, 2019
`(45) Date of Patent:
`Shribmanet al.
`
`US010484510B2
`
`(54) SYSTEM PROVIDING FASTER AND MORE
`EFFICIENT DATA COMMUNICATION
`
`(56)
`
`(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 ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`This patent is subject to a terminal dis-
`claimer.
`Appl. No.: 16/278,107
`,
`Appl.
`No
`Filed:
`Feb. 17, 2019
`File
`.

`Prior Publication Data
`US 2019/0182360 Al
`Jun. 13, 2019
`
`21)
`(21)
`22)
`(22)
`(65)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`3,922,494 A
`4,937,781 A
`
`LL/1975. Cooperet al.
`6/1990 Leeetal.
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`CN
`CN
`
`11/2007
`101075242 A
`5/2008
`101179389 A
`(Continued)
`
`OTHER PUBLICATIONS
`Third-party submission under 37 CFR 1.290 filed on Jul. 23, 2019
`d entered in U.S. Appl. No. 16/140,749.
`an
`(Continued)
`.
`Primary Examiner — Minh Chau Nguyen
`(74) Attorney, Agent, or Firm — May Patents Ltd. c/o
`Dorit Shem-Tov
`
`(51)
`
`ABSTRACT
`(57)
`A system designed for increasing network communication
`on
`speed for users, while lowering network congestion for
`Related U.S. Application Data
`content owners and ISPs. The system employs network
`(60) Continuation of application No. 15/957,945, filed on
`elements including an acceleration server, clients, agents,
`Apr. 20, 2018, now Pat. No. 10,257,319, which is a
`— ° CP and peers, where communication requests generated by
`(Continued)
`applications are intercepted by the client on the same
`machine. The IP address of the server in the communication
`request
`is transmitted to the acceleration server, which
`provides a list of agents to use for this IP address. The
`communication request is sent to the agents. One or more of
`the agents respond with a list of peers that have previously
`seen someorall of the content which is the response to this
`request (after checking 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.
`
`(2006.01)
`(2006.01)
`(2006.01)
`
`Int. Cl.
`HOAL 29/06
`HO4L 29/08
`HOAL 12/24
`(52) U.S. Cl.
`CPC wee FOAL 67/42 (2013.01); HO4L 41/046
`(2013.01); HO4L 67/1002 (2013.01);
`(Continued)
`:
`:
`:
`(58) Field of Classification Search
`CPC ... HO4L 67/42; HO4L 41/046; HO4L 67/1002;
`HO4L 67/22; HO4L 67/02
`(Continued)
`
`Data Co v. Bright Data
`
`24 Claims, 15 Drawing Sheets
`
`Data Co Exhibit 1025
`Data Co Exhibit 1025
`Data Co v. Bright Data
`
`

`

`US 10,484,510 B2
`
`Page 2
`
`Related U.S. Application Data
`
`9/2002 Marcoetal.
`2002/0133621 Al
`1/2003 Harrow et al.
`2003/0009518 Al
`1/2003 Chan et al.
`2003/0009583 Al
`continuation of application No. 14/025,109, filed on
`
`
`Sep. 12, 2013, now Pat. No. 10,069,936, which is a 4/2003_--Harrow etal.2003/0074403 Al
`division of application No. 12/836,059, filed on Jul.
`2003/0097408 Al
`5/2003 Kageyama
`14. 2010. now Pat. No. 8.560.604
`2003/0115364 Al
`6/2003 Shuetal.
`,
`,
`oo
`?
`.
`2003/0174648 Al
`9/2003 Wangetal.
`2003/0200307 Al
`10/2003 Raju etal.
`2003/0204602 Al
`10/2003 Hudson
`2003/0210694 Al
`11/2003 Jayaraman etal.
`2003/0229718 Al
`12/2003 Tock
`2003/0229785 Al
`12/2003 Daseke
`2004/0088646 Al
`5/2004 ‘Yeageret al.
`(52) U.S. Cl.
`2004/0107242 Al
`6/2004 Vert etal.
`CPC ........ FOAL 67/108 (2013.01); HO4E 67/1023
`2004/0264506 Al=12/2004 Furukawa
`67/22 (2013.01); HO4L 67/2814 (2013.01);
`2005/0015552 Al
`1/2005 So et al.
`HO4L 67/2819 (2013.01); HO4L 67/02
`2005/0022236 Al
`1/2005.
`Ito et al.
`(2013.01)
`2005/0027782 Al
`2/2005 Jalan
`‘
`‘
`2005/0097441 Al
`5/2005 Herbach
`709/202
`(58) awn Classification Search
`2005/0228964 Al
`10/2005 Sechrest et al.
`9/2006 Abdullah
`3006/0036755 Al
`siseeesosnneecnsnneseccnnnnseeconnnnseecennnseeceennnass
`See application file for complete search history.
`2006/0039352 Al
`3/2006 Karstens
`2006/0047844 Al
`3/2006 Deng
`2006/0212542 AL*
`9/2006 Fang ween HO4L 67/104
`709/219
`9/2006 YU wecceeceeeeeeee HO4L 67/104
`709/227
`
`(60) Provisional application No. 61/249,624, filed on Oct.
`8 2009
`’
`.
`
`‘
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`2006/0212584 Al
`
`5,519,693 A
`5,577,243 A
`5,758,195 A
`6,061,278 A
`6,154,782 A
`6,173,330 Bl
`6,466,470 Bl
`6,519,693 Bl
`6,868,453 Bl
`6,895,011 Bl
`7,120,666 B2
`7,203,741 B2
`7,234,059 Bl
`7,558,942 Bl
`7,673,048 Bl
`7,742,485 B2
`7,751,628 Bl
`7,783,777 Bl
`7,788,378 B2
`7,818,430 B2
`7,831,720 Bl
`7,865,585 B2*
`
`7,890,547 B2
`7,970,835 B2
`8,135,912 B2
`8,171,101 B2
`8,479,251 B2
`8,499,059 B2
`8,595,786 B2
`8,639,630 B2
`8,769,035 B2
`8,719,430 B2
`8,719,505 B2
`8,832,179 B2
`8,838,811 B2
`9,201,808 B2
`9,015,335 BL*
`
`5/1996 Galuszka
`11/1996 Sherwoodetal.
`5/1998 Balmer
`5/2000 Katoet al.
`11/2000 Kawaguchi
`9/2001 Guoetal.
`10/2002 Chang
`2/2003 Debey
`3/2005 Watanabe
`5/2005 Lassers
`10/2006 McCanneetal.
`4/2007 Marcoetal.
`6/2007 Beaver
`7/2009 Chen et al.
`3/2010 O’Toole
`6/2010 Zhang
`7/2010 Reisman
`8/2010 Pabla
`8/2010 Rao
`10/2010 Zuckerman
`11/2010 Noureddine
`1/2011 Samuels «0.0.0.0... HO4L 67/28
`709/217
`
`2/2011 Hotti
`6/2011 St. Jacques
`3/2012 Shribman et al.
`5/2012 Gladwin et al.
`7/2013 Feinleib etal.
`7/2013 Stoyanov
`11/2013 Choi
`1/2014 Fomenkoetal.
`1/2014 Reschetal.
`5/2014 Van Ackere
`6/2014 Shribman etal.
`9/2014 Owenetal.
`9/2014 Chen
`1/2015 Shribman et al.
`4/2015 Gigliotti oo. GO6F 16/40
`709/231
`
`11/2015 Binder
`9,177,157 B2
`2/2016 Gouge
`9,253,164 B2
`6/2018 Shribman et al.
`9,990,295 B2
`10/2001 Rabenkoetal.
`2001/0033583 Al
`2001/0054020 Al* 12/2001 Barth wo G06Q 10/02
`705/37
`
`2002/0007413 Al
`2002/0065930 Al
`2002/0069241 Al
`2002/0091760 Al
`2002/0120874 Al
`2002/0123895 Al
`
`1/2002 Garcia-Luna-Acevesetal.
`5/2002 Rhodes
`6/2002 Narlikar et al.
`7/2002 Rozen
`8/2002 Shuetal.
`9/2002 Potekhin
`
`2006/0224687 Al
`2006/0259728 Al
`2007/0050522 Al
`2007/0073878 Al
`2007/0100839 Al
`2007/0142036 Al
`2007/0156855 Al
`2007/0174246 Al
`2007/0226810 Al
`2007/0239655 Al
`2008/0008089 Al
`2008/0025506 Al
`2008/0109446 Al
`2008/0125123 Al
`2008/0222291 Al
`2008/0235391 Al
`2008/0086730 Al
`2008/0256175 Al
`2009/0010426 Al
`2009/0037529 Al
`2009/0182843 Al
`2009/0216887 Al
`2009/0217122 Al
`2009/0232003 Al
`2009/0248793 Al
`2009/0279559 Al
`2009/0292816 Al
`2009/0319502 Al
`2010/0066808 Al
`2010/0085977 Al
`2010/0094970 Al
`2010/0115063 Al
`2010/0154044 Al
`2010/0235438 Al
`2010/0262650 Al
`2010/0293555 Al
`2010/0329270 Al
`2011/0035503 Al
`
`2011/0066924 Al
`2011/0087733 Al
`2011/0128911 Al
`2011/0264809 Al
`2011/0314347 Al
`2012/0099566 Al
`2012/0124173 Al
`2012/0124239 Al
`2012/0164980 Al
`2012/0166582 Al
`2012/0246273 Al
`2012/0254370 Al
`
`10/2006 Popkin
`11/2006 Chandrasekaran etal.
`3/2007 Grove
`3/2007 Issa
`5/2007 Kim
`6/2007 Wikman
`7/2007 Johnson
`7/2007 Sigurdsson
`9/2007 Hotti
`10/2007 Agetsumaet al.
`1/2008 Bornstein etal.
`1/2008 Muraoka
`5/2008 Wang
`§/2008 Dorenboschet 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 Yokokawaetal.
`9/2009 Vasseur
`10/2009 Jacobsson
`11/2009 Wongetal.
`11/2009 Etchegoyen
`12/2009 Chalouhietal.
`3/2010 Tuckeretal.
`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 wo... HO4L 63/0407
`709/228
`
`3/2011 Dorso
`4/2011 Shribman
`6/2011 Shaheen
`10/2011 Koster
`12/2011 Nakanoetal.
`4/2012 Laineet all.
`5/2012 Deet al.
`5/2012 Shribman
`6/2012 Van Phan
`6/2012 Binder
`9/2012 Bornstein
`10/2012 Bacher
`
`

`

`US 10,484,510 B2
`Page 3
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`2012/0254456 Al
`2013/0007232 Al
`2013/0007253 Al
`2013/0064370 Al
`2013/0080575 Al
`2013/0157699 Al
`2013/0166768 Al
`2013/0171964 Al
`2013/0201316 Al
`2013/0219458 Al
`2013/0272519 Al
`2013/0304796 Al
`2013/0326607 Al
`2014/0082260 Al
`2014/0189802 Al
`2014/0301334 Al
`2014/0359081 Al
`2014/0376403 Al
`2015/0033001 Al
`2015/0067819 Al
`2015/0189401 Al
`2015/0206176 Al
`2015/0206197 Al
`2015/0341812 Al
`2015/0358648 Al
`2016/0021430 Al
`2016/0105530 Al
`2017/0221092 Al
`
`10/2012 Visharam
`1/2013 Wang
`1/2013 Li
`3/2013 Gouge
`3/2013 Prince
`6/2013 Talwar
`6/2013 Gouacheetal.
`7/2013 Bhatia
`8/2013 Binderet al.
`8/2013. Ramanathan
`10/2013 Huang
`11/2013 Jackowski
`12/2013 Feng
`3/2014 Ohet al.
`7/2014 Montgomery
`10/2014 Labrancheet 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 LaBoscoetal.
`4/2016 Shribman
`8/2017 Toval
`
`FOREIGN PATENT DOCUMENTS
`
`OTHER PUBLICATIONS
`
`“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://rcf-editor.org
`[retrieved Apr. 15, 2002] (114 pages).
`“On the Leakage of Personally Identifiable Information via Online
`Social Networks”—wWills 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-
`7FOLI711 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
`EP 0948176 A2—10/1999
`
`Proceedings of the 7th USENIX conference on Networked. systems
`EP
`2597869 Al
`5/2013
`design and implementation San Jose, Califomia—Apr. 28-30, 2010
`EP
`2597869 Al
`5/2015
`(17 pages).
`EP
`2922275 Bl
`3/2016
`“The BitTorrent Protocol Specification”, Website: https://web.archive.
`JP
`2007280388
`10/2007
`KR
`1020090097034
`9/2009
`org/web/201205 1301 1037/http:/www.bittorrent.org/beps/bep_0003.
`RU
`2343536 C2
`10/2009
`html describing BitTorrent dated Jan. 10, 2008 downloaded. using
`WO
`2000/018078 Al
`3/2000
`webarchive on Aug. 16, 2019 (6 pages).
`WO
`2004094980
`11/2004
`“BitTorrent”, Website: https://en.wikipedia.org/w/index .php?title=
`WO
`2010090562 Al
`8/2010
`BitTorrent&oldid=530466721 describing BitTorrent dated Dec. 30,
`
`WO 2010090562 Al=12/2010
`2012 downloaded using Wikipedia on Aug. 16, 2019 (9 pages).
`WO
`2011068784 Al
`9/2011
`“VIP Socks/VPN Service”, Website: http://vip72.com:80/?drgn=1
`WO
`2015034752 Al
`3/2015
`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 makeit fun; we’ll makeit 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/defaulthtm 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/faqhtm 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 YouTubevideoclip 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 andavailable as of at least 2011 <https://
`www.youtube.com/watch?v=yRRYpFLbKNU>.
`
`Third-party submission under 37 CFR 1.290filed on Jul. 23, 2019
`and entered in U.S. Appl. No. 16/140,785.
`Third-party submission under 37 CFR 1.290filed on Jul. 23, 2019
`and entered in U.S. Appl. No. 16/214,433.
`Third-party submission under 37 CFR 1.290filed on Jul. 23, 2019
`and entered in U.S. Appl. No. 16/214,451.
`Third-party submission under 37 CFR 1.290filed on Jul. 23, 2019
`and entered in U.S. Appl. No. 16/214,476.
`Third-party submission under 37 CFR 1.290filed on Jul. 23, 2019
`and entered in U.S. Appl. No. 16/214,496.
`Third-party submission under 37 CFR 1.290filed on Jul. 23, 2019
`and entered in U.S. Appl. No. 16/292,363.
`Third-party submission under 37 CFR 1.290filed on Jul. 22, 2019
`and entered in U.S. Appl. No. 16/292,364.
`Third-party submission under 37 CFR 1.290filed on Jul. 23, 2019
`and entered in U.S. Appl. No. 16/292,374.
`Third-party submission under 37 CFR 1.290filed on Jul. 23, 2019
`and entered in U.S. Appl. No. 16/292,382.
`Third-party submission under 37 CFR 1.290filed on Jul. 25, 2019
`and entered in U.S. Appl. No. 16/365,250.
`Third-party submission under 37 CFR 1.290filed 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/20 1 1-025-slice-embedding.pdf (Year 2011) (16
`pages).
`
`
`
`
`
`

`

`US 10,484,510 B2
`Page 4
`
`(56)
`
`References Cited
`OTHER PUBLICATIONS
`
`SpyEye, https://www.symantec.com/security-center/writeup/20 10-
`020216-0135-9; http://securesql.info/riskyclouds/spyeye-user-
`manual; knownasofat 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 andavailable as of at least 2011, <https://
`www.youtube.com/watch?v=ulwkf1sOfdA andhttps://www.youtube.
`com/watch?v=iFEMT-o9DTc>.
`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/20 1 1-025-slice-embedding.
`pdf.
`International Search Report of PCT/US2010/034072 dated Jul. 1,
`2010.
`YouTubevideoclip 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=ulwkflsOfdA and https://www.youtube.com/watch?v=
`iFEMT-b9DTec>.
`
`* cited by examiner
`
`

`

`U.S. Patent
`
`Nov. 19, 2019
`
`Sheet 1 of 15
`
`US 10,484,510 B2
`
`
`CLIENT
`
`DEVICE
`
`
`io
`
`
`
`
`
`CLIENT
`
`DEVICE
`a2
`
`
`
`
`
`CLIENT
`
`
`DEVICE
`
`
`4
`
`
`
`
`
`CLIENT
`DEVICE
`
`‘16
`
`
`
`PROXY
`SERVER
`
`;
`i
`
`
`
`CLIENT
`
`DEVICE
`PROXY
`
` 28
`SERVER
`
`
`FIG. 1
`
`

`

`U.S. Patent
`
`Nov. 19, 2019
`
`Sheet 2 of 15
`
`US 10,484,510 B2
`
`rg
`
`SERVER
`
`BS
` CLIENT
`
`DEVICE
`69
`
`ty
`;
`
`

`

`U.S. Patent
`
`Nov. 19, 2019
`
`Sheet 3 of 15
`
`US 10,484,510 B2
`
`J 133
`
`ACCELERATION
`SERVER
`AfZ
`
`STORAGE
`DEVICE
`184
`
`
`
`{
`
`CLIENT
`302
`
`FIG. 3
`
`

`

`U.S. Patent
`
`Nov. 19, 2019
`
`Sheet 4 of 15
`
`US 10,484,510 B2
`
`INTERNET
`
`BROWSER 244
`
`ACCELERATION
`APPLICATION
`
`SOFTWARE
`
`CONFIGURATION
`DATABASE
`280
`
`CACHE DATABASE
`
`210
`
`
`
`PROCESSOR
`202
`
`STORAGE DEVICE
`208
`
`MEMORY
`
`LOCALINTERFACE 250
`
`0 DEVICES
`240
`
`FIG. 4
`
`

`

`U.S. Patent
`
`Nov. 19, 2019
`
`Sheet 5 of 15
`
`US 10,484,510 B2
`
`ACCELERATION
`OTHER
`INTERNET
`APPLICATION|
`
`LEVEL APPLICATIONS||APPLICATIONBROWSER
`
`270
`214
`216
`220
`
`210
`
`OPERATING
`SYSTEM
`
`eo
`
`a
`
`INTERMMEDIATE DRIVER
`272
`
`COMMUNICATION
`STACKS
`264
`
`<b
`
`DEVICE DRIVERS
`
`262
`
`OPERATING
`SYSTEM
`230
`
`MEMORY
`
`FIG. 5
`
`

`

`U.S. Patent
`
`Nov. 19, 2019
`
`Sheet 6 of 15
`
`US 10,484,510 B2
`
`
`ACCELERATION
`APPLICATION
`
`220
`
`CLIENT MODULE]|PEERMODULE]|AGENT MODULE
`
`
`ACCELERATION
`224
`226
`228
`SYSTEM INITIALIZER
`MODULE
`222
`
`
`
`
`
`
`
`
`CONFIGURATION
`DATABASE
`280
`
`CACHE DATABASE
`282
`
`STORAGEDEVICE
`208
`
`

`

`U.S. Patent
`
`Nov. 19, 2019
`
`Sheet 7 of 15
`
`US 10,484,510 B2
`
`£9T
`
`EEACREEeg
`
`
`
`2NTHO/INGNOWdt.LNZ9¥|99T
`
`q
`
` WNSH.}
`
`
`

`

`U.S. Patent
`
`Nov. 19, 2019
`
`Sheet 8 of 15
`
`US 10,484,510 B2
`
`300
`
`D
`
`INITIALIZER LAUNCHES AGENT
`MODULE AND PEER MODULE
`
`FIG. 8
`
`INITIALIZER SIGNS UP WITH
`ACCELERATION SERVER
`302
`
`DETERMINE IF THERE IS AN
`UPDATED VERSION OF
`APPLICATION?
`304
`
`INITIALIZER REDIRECTS
`OUTGOING NETWORK TRAFFIC
`306
`
`310
`
`INITIALIZER LAUNCHES CLIENT
`MODULE AND CONFIGURES
`CLIENT MODULE TO INTERCEPT
`ALL OUTGOING NETWORK
`COMMUNICATIONS
`308
`
`

`

`U.S. Patent
`
`Nov. 19, 2019
`
`Sheet 9 of 15
`
`US 10,484,510 B2
`
`352
`
`APPLICATION ON CLIENT INITIATES
`REQUEST FOR A RESOURCE ONA
`NETWORK
`
`350
`
`RESOURCE REQUESTIS INTERCEPTED BY
`THE CLIENT MODULE
`354
`
`CLIENT MODULE LOOKSUP IP ADDRESS OF
`SERVER THATIS TARGET OF RESOURCE
`REQUEST AND SENDS IP ADDRESS TO
`ACCELERATION SERVERTO OBTAIN LIST
`OF COMMUNICATION DEVICES THAT
`CLIENT CAN USE AS AGENTS
`356
`
`ACCELERATION SERVER PREPARESA LIST
`OF AGENTSTHATMAYBE SUITABLE TO
`HANDLE THE REQUEST FROM THIS IP
`ADDRESS
`358
`
`360
`
`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
`
`

`

`U.S. Patent
`
`Nov.19, 2019
`
`Sheet 10 of 15
`
`US 10,484,510 B2
`
`EACH AGENTTHAT RECEIVES CLIENT REQUEST RESPONDSTO CLIENT WITH
`WHETHER IT HAS INFO. REGARDING REQUESTTHATCAN ASSIST CLIENT TO
`DOWNLOAD REQUESTED INFO. FROM PEERS IN NETWORK
`382
`
`CLIENT SELECTS SPECIFIC AGENT
`
`CLIENT NOTIFIES SELECTED AGENT OF USE FOR REQUESTAND NOTIFIES OTHER
`
`
`
`CLIENT FORWARDS SELECTED AGENT REQUESTFORFIRST X NUMBER OF
`CHUNKS
`388
`
`
`DOES SELECTED AGENTHAVEINFO. REGARDING
`REQUESTED CHUNKS AND IS INFO. STILL VALID?
`
`
`
`
`
`YES
`
`NO
`
`AGENTS OF LACK OF USE 386
`
`
`SELECTED AGENT SENDS REQUEST
`DIRECTLY TO SERVER
`400
`
`
`
`SELECTED AGENT STORESINFO.
`FROM SERVER IN ITS DATABASE
`
`402
`
`
`SELECTED AGENT PREPARES
`RESPONSE(LIST) FOR CLIENT,
`WHERE RESPONSEINCLUDES
`CHECKSUM OF CHUNK, HEADERS,
`AND PROVIDES ITSELF AS THE ONLY
`PEER FOR THESE CHUNKS
`404
`
`LIST IS FORWARDED BACK TO
`CLIENT
`406
`
`FIG. 10
`
`IF INFO. STILL VALID, SELECTED
`AGENT RESPONDSTO CLIENT WITH
`CHECKSUM OF CHUNK,LIST OF
`PEERS THAT CONTAIN CHUNKS, AND
`IF ONLY A PORTIONOF INFO.,
`HEADERS
`
`LIST OF PEERS FOR EACH CHUNK IS
`SORTED BY GEOGRAPHICAL
`PROXIMITY TO REQUESTING CLIENT
`
`392
`394
`396
`
`LIST OF CLOSEST PEERS TO CLIENT
`IS SENT TO CLIENT
`
`

`

`U.S. Patent
`
`Nov. 19, 2019
`
`Sheet 11 of 15
`
`US 10,484,510 B2
`
`422
`
`CLIENT RECEIVES RESPONSE FROM THE AGENT AND FOR EACH OFX CHUNKS,
`CLIENT SENDS A REQUEST TO EACH OF THE PEERSLISTED FOR THE CHUNK TO
`DOWNLOADTHE DATA OF THAT CHUNK
`
`PEERS RESPOND REGARDING WHETHER THEYSTILL HAVE THE DATA OF THE
`CHUNK
`424
`
`CLIENT SELECTS QUICKEST PEER WITH DATA OF THE CHUCK 426
`
`CHOSEN PEER SENDS CHUNK TO CLIENT
`
`428
`
`CLIENT STORES CHUNKSIN ITS CACHE FOR FUTURE USE
`
`430
`
`IF ANY CHUNKS WERE NOT LOADED FROMANYOF THE PEERS, CLIENT REQUESTS
`CHUNKS AGAIN FROM AGENT
`432
`
`CLIENT ACKNOWLEDGESTO 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 WHETHER ALL OF THE CHUNKS FOR REQUEST WERE RECEIVED
`440
`
`\ 4
`
`20
`
`FIG. 11
`
`

`

`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
`
`504
`
`USING STANDARD HTTP
`PROTOCOL, CHECK THE HEADERS
`TO SEE IF THE URL IS STILL VALID
`AT THIS TIME (USING HTTP
`HEADER INFORMATION SUCH AS
`"MAX AGE’, "NO CACHE’, MUST
`REVALIDATE’, ETC.)
`
`
`
`
`IS DATA CACHEDFOR THIS
`
`SEND HTTP CONDITIONAL REQUE
`REQUEST STILL VALID?
`
`506
`TO THE WEB SERVER, TO CHECK IF
`
`THE DATA STORED FORTHIS
`
`REQUESTIS STILL VALID
`510
`
`
`
`
`
`
`IS CACHED DATA STILL VALID?
`
`RETURN "VALID"
`512
`508
`
`
`
`NO
`
`514
`
`RETURN "INVALID"
`
`FIG. 12
`
`

`

`U.S. Patent
`
`Nov. 19, 2019
`
`Sheet 13 of 15
`
`US 10,484,510 B2
`
`ar
`
`QHECK "KEEP ALIVE” WITH NETWORK
`ELEMENTS (CLIENTS/AGENTS/PEERS), AND]
`UPDATE DATABASE AS TO THEIR STATUS
`
`(ON-LINE / OFF-LINE)
`
`
`
`FOR THE NEXT 5 ACTIVE AGENTS
`
`THAT HAS THE IP ADDRESSTHAT
`
`
`TS CLOSEST TOTHE TARGET
`
`SERVERIP
`
`
`(EG. 192.166,3,103 IS CLOSER TO
`
`
`192. 166.3.212. THEN TO
`192.167.3.104)
`
`
`

`

`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
`
`601
`
`600
`
`CONNECTION REQUEST IS INTERCEPTED BY
`ACCELERATION APPLICATION ON THE CLIENT
`602
`
`612
`
`CLIENT MODULE SENDS THE IP ADDRESS OF THE TCPIP
`SERVER TO THE ACCELERATION SERVER TO OBTAIN AN
`AGENT LIST
`604
`
`ACCELERATION SERVER PREPARES A LIST OF AGENTS
`THAT MAY BE SUITABLE TO HANDLE THE REQUEST FROM
`THIS IP ADDRESS (FOR EXAMPLE, A PRIMARY AGENT AND
`FOUR SECONDARY AGENTS), AND SENDS THE LIST TO THE
`CLIENT
`606
`
`CLIENT ISSUES A TCPIP CONNECT WITH THE PRIMARY
`AGENT (OR ONE OF THE OTHER AGENTS IF THE PRIMARY
`AGENT CONNECT DOES NOT SUCCEED) TO ESTABLISH A
`TCPIP CONNECTION WITH AN AGENT
`608
`
`CLIENT SENDS TO THE AGENT THE IP ADDRESS OF THE
`TCPIP SERVER THAT THE COMMUNICATION APPLICATION
`WANTS TO CONNECT WITH, AND THE PORT TO WHICH IT
`WANTS TO CONNECT
`610
`
`AGENT ISSUES A TCPIP CONNECT WITH THE TCPIP
`SERVER TO THE IP AND PORT RECEIVED FROM THE CLIENT
`
`FIG. 14
`
`

`

`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 DEVICEIT IS
`
`COMMUNICATING WITH (CLIENT TO AGENT,
`OR AGENT TO CLIENT), AND ADDS THAT
`COMMUNICATION DEVICE TO THE LIST OF
`PEERS FOR THAT CHUNK 812
`
`ACOEERATIONROPLIOATONTHAT
`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
`
`HAVE ALL CHUNK DATA BEEN TRANSFERRED TO THE OTHER SIDE? 816
`
`NO
`
`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
`XM 800
`
`FIG. 15
`
`

`

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

`

`US 10,484,510 B2
`
`3
`if this system were to be used to serve the hundreds of
`billionsoffiles that are available on the Internet of today, the
`cost of storing and maintaining such an index would be
`again in the billions of dollars. In addition, these types of
`peer-to-peer file sharing systems are not able to deal with
`dynamic HTTP data.
`In conclusion, a system does not exist that enables fast
`transmission of most of the data on the Internet, that does not
`incur tremendous costs, and/or that provides only a very
`partial solution to the problem of Internettraffic congestion.
`Thus, a heretofore unaddressed need exists in the industry to
`address the aforementioned deficiencies and inadequacies.
`
`SUMMARY OF THE INVENTION
`
`The present system and method provides for faster and
`more efficient data communication within a communication
`
`network. Briefly described, in architecture, one embodiment
`of the system, amongothers, can be implementedas follows.
`Anetwork is provided for accelerating data communication,
`wherein the network contains: at least one client communi-
`
`cation device for originating a data request for obtaining the
`data from a data server; at least one agent communication
`device which is assigned to the data server for receiving the
`data request from the client communication device, wherein
`the agent keeps track of which client communication devices
`have received responses to data requests from the assigned
`data server; at least one peer communication device for
`storing portions of data received in response to the data
`request by the at least one client communication device,
`wherein the portions of data may be transmitted to the at
`least one client communication device upon request by the
`client communication device; and at least one acceleration
`server for deciding which agent communication device is to
`be assigned to which data server and providing this infor-
`mation to the at least

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