IP Library Granted Patent US 12,278,880
Granted Patent B2
US 12,278,880 · App. 18/120,378 · Granted Apr 15, 2025

System and method for improving internet communication by using intermediate nodes

Inventors: Derry Shribman (Tel Aviv, IL); Ofer Vilenski (Moshav Hadar Am, IL)
Assignee: BRIGHT DATA LTD.
H04L67/60G06Q40/08G06Q50/16H04L43/0864H04L63/029H04L63/0407H04L65/612H04L67/02H04L67/06H04L67/141H04L67/567H04L67/59G05B2219/2642G08B21/043H04L12/2803H04L67/52H04N21/4622H04W4/029
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,278,880
App. No.
18/120,378
Granted
Apr 15, 2025
Kind
B2
Abstract

A method for fetching a content from a web server to a client device is disclosed, using tunnel devices serving as intermediate devices. The client device accesses an acceleration server to receive a list of available tunnel devices. The requested content is partitioned into slices, and the client device sends a request for the slices to the available tunnel devices. The tunnel devices in turn fetch the slices from the data server, and send the slices to the client device, where the content is reconstructed from the received slices. A client device may also serve as a tunnel device, serving as an intermediate device to other client devices. Similarly, a tunnel device may also serve as a client device for fetching content from a data server. The selection of tunnel devices to be used by a client device may be in the acceleration server, in the client device, or in both. The partition into slices may be overlapping or non-overlapping, and the same slice (or the whole content) may be fetched via multiple tunnel devices.

Claims (96)

1. A computer-implemented method for checking a tunnel device that serves as a proxy device between a web server and a server device, the web server stores a content that is identified by a Uniform Resource Locator (URL), and for use with a database that stores a time interval value associated with the proxy device, the method comprising:

sending, by the proxy device to the server device over the Internet, a connection request;

accepting, by the server device from the proxy device over the Internet, the connection request;

sending, by the server device to the proxy device over the Internet, a HyperText Transfer Protocol (HTTP) or HTTP Secure (HTTPS) request that comprises the URL;

implementing, by the proxy device, the request, the implementing comprises sending, by the proxy device to the web server over the Internet, the URL, and receiving, by the proxy device from the web server over the Internet, the content, in response to the sending of the URL;

sending, by the tunnel device to the server device over the Internet, the received content;

receiving, by the server device from the tunnel device over the Internet, the content;

measuring, by the server device, a time interval value associated with the implementing;

updating and storing, in the database at the server device, the measured time interval value; and

determining, at the server device, whether the proxy device is suitable for proxying or not suitable for proxying.

2. The method according to claim 1 , wherein the measuring comprises measuring a latency from the sending of the URL until the receiving of the content, by the proxy device.

3. The method according to claim 2 , wherein the measuring comprises measuring the latency from the sending of the URL until a starting of the receiving of the content, by the proxy device.

4. The method according to claim 2 , wherein the measuring comprises measuring the latency from the sending of the URL until a completion of the receiving of the content, by the proxy device.

5. The method according to claim 2 , wherein the measuring comprises measuring the latency from the starting of the receiving of the content until the completion of the receiving of the content, by the proxy device.

6. The method according to claim 2 , further comprising measuring the received content size.

7. The method according to claim 6 , further comprising calculating a bandwidth (BW) by dividing the measured content size by the measured time interval.

8. The method according to claim 1 , wherein the measuring comprises measuring of a Round Trip Time (RTT) or a bandwidth (BW).

9. The method according to claim 1 , wherein the database further associates a URL of a former implementation, an IP address of a web-server of a former implementation, a measured or estimated bandwidth (BW) of a former implementation, a measured or estimated Round Trip Time (RTT) of a former implementation, a time of day of a former implementation, a date of a former implementation, or any combination thereof.

10. The method according to claim 9 , wherein the updating comprises updating and storing in the database the IP address of the web-server, a measured or estimated bandwidth (BW) associated with the implementation, a measured or estimated Round Trip Time (RTT) associated with the implementation, a time of day of the implementation, a date of the implementation, or any combination thereof.

11. The method according to claim 1 , further comprising sending, by the server device over the Internet, the measured time interval value.

12. The method according to claim 1 , further comprising sending, by the server device over the Internet, the updated database.

13. The method according to claim 1 , further for checking the tunnel device that serves as an additional proxy device between an additional web server and the server device, the additional web server stores an additional content that is identified by an additional Internet Protocol (IP) address or an additional Uniform Resource Locator (URL), the method comprising:

sending, by the server device to the proxy device over the Internet, an additional request that comprises the additional URL;

additional implementing, by the proxy device, the additional request, the implementing comprises sending, by the proxy device to the additional web server over the Internet, the additional URL, and receiving, by the proxy device from the additional web server over the Internet, the additional content, in response to the sending of the additional URL;

sending, by the tunnel device to the server device over the Internet, the received additional content;

receiving, by the server device from the tunnel device over the Internet, the additional content;

measuring, by the server device, an additional time interval value associated with the additional implementing;

updating and storing, in the database at the server device, the measured additional time interval value; and

determining, at the server device, whether the tunnel device is suitable for proxying or not suitable for proxying.

14. The method according to claim 1 , further for checking an additional tunnel device that serves as an additional proxy device between the web server and the server device, and wherein the database stores a time interval value associated with the additional tunnel device, the method comprising:

accepting, by the server device from the additional proxy device over the Internet, a connection;

sending, by the server device to the additional proxy device over the Internet, an additional request that comprises the URL;

additional implementing, by the additional proxy device, the additional request, the implementing comprises sending, by the additional proxy device to the web server over the Internet, the URL, and receiving, by the additional proxy device from the web server over the Internet, the content, in response to the sending of the URL;

sending, by the additional tunnel device to the server device over the Internet, the received content;

receiving, by the server device from the additional tunnel device over the Internet, the content;

measuring, by the server device, an additional time interval value associated with the additional implementing;

updating and storing, in the database at the server device, the additional measured time interval value; and

determining, at the server device, whether the additional tunnel device is suitable for proxying or not suitable for proxying.

15. The method according to claim 1 , for use with a group of devices that includes the tunnel device, the method further comprises selecting, by the server device, the tunnel device from the group.

16. The method according to claim 15 , wherein database comprises an associated respective time interval value for each of the devices in the group.

17. The method according to claim 16 , wherein the selecting is based on, or uses, the respective time interval value of the selected tunnel device.

18. The method according to claim 16 , wherein the tunnel device is selected in response to being associated the lowest time interval value.

19. The method according to claim 15 , wherein the database further associates a URL of a former implementation, an IP address of a web-server of a former implementation, a measured or estimated bandwidth (BW) of a former implementation, a measured or estimated Round Trip Time (RIT) of a former implementation, a time of day of a former implementation, a date of a former implementation, or any combination thereof, wherein the tunnel device is selected based on the associated BW, RTT, time of day, date, or any combination thereof.

20. The method according to claim 1 , further comprising receiving, by the server device from a client device over the Internet, the URL, and wherein the sending of the request is in response to the receiving of the URL from the client device.

21. The method according to claim 20 , further comprising sending, by the server device to the client device over the Internet, a message in response to the measuring, to the updating, or to the determining.

22. The method according to claim 21 , wherein the message is indicative of the measured time interval value.

23. The method according to claim 21 , wherein the message is indicative of the determining.

24. The method according to claim 21 , wherein the message is indicative of the determining that the proxy device is suitable for proxying.

25. The method according to claim 21 , wherein the message comprises the IP address of the proxy device.

26. The method according to claim 1 , further for use with multiple web servers that store multiple respective contents, each identified by a respective Internet Protocol (IP) address or a Uniform Resource Locator (URL), wherein the method is repeated for each of the web servers.

27. The method according to claim 26 , wherein the repeating is dynamically repeating.

28. The method according to claim 26 , wherein the web server in each of the repetitions is selected in response to an analyzing result.

29. The method according to claim 26 , wherein the web server in each or the repetitions is selected in response to a message received from a client device.

30. The method according to claim 1 , for use with a group of devices, wherein the proxy device is added to the group in response to determining that the proxy device is suitable for proxying.

31. The method according to claim 1 , for use with a group of devices that comprises the proxy device, the method further comprising selecting, by the server device, the proxy device from the group.

32. The method according to claim 31 , wherein the selecting is based on, or uses, the time interval value associated with the devices in the group.

33. The method according to claim 31 , wherein the selecting is based on, or uses, a respective physical geographical location of each of the devices in the group.

34. The method according to claim 33 , wherein the physical geographical location includes at least one out of a country, a state or province, a city, a street, a ZIP code, longitude and latitude, or any combination thereof.

35. The method according to claim 33 , wherein the physical geographical location of each of the devices is the group is based on a geolocation.

36. The method according to claim 35 , wherein the geolocation is based on W3C Geolocation Application Programming Interface (API).

37. The method according to claim 31 , wherein the selecting comprises selecting based on a value of the IP addresses of the devices in the group.

38. The method according to claim 31 , wherein the selecting comprises randomly selecting.

39. The method according to claim 38 , wherein the randomly selecting is based on using one or more random numbers generated by a random number generator.

40. The method according to claim 39 , wherein the random number generator is hardware based and uses thermal noise, shot noise, nuclear decaying radiation, photoelectric effect, or quantum phenomena.

41. The method according to claim 39 , wherein the random number generator is software based and is based on executing an algorithm for generating pseudo-random numbers.

42. The method according to claim 31 , wherein the is based on, or uses, a load balancing or a performance optimization.

43. The method according to claim 31 , wherein the selecting is based on, or uses, sequential selection, cyclic selection, Last-In-First-Out (LIFO) scheme, or First-In-First-Out (FIFO) scheme.

44. The method according to claim 31 , wherein the selecting is based on past activities of each of the devices in the group.

45. The method according to claim 44 , wherein the selecting comprises selecting based on a timing of an event.

46. The method according to claim 44 , wherein the selecting comprises selecting based on timing of the last communication of each of the devices in the group.

47. The method according to claim 31 , wherein the selecting is based on, or uses, the IP address or the URL.

48. The method according to claim 31 , further comprising receiving, by the server device from a client device over the Internet, a message indicative of the proxy device, and wherein the selecting is based on, or uses, the message.

49. The method according to claim 1 , further comprising receiving, by the server device from a client device over the Internet, a message that comprises a criterion, and wherein the selecting is based on, or uses, the criterion.

50. The method according to claim 1 , wherein the server device is further storing, operating, or using, a server operating system.

51. The method according to claim 50 , wherein the server operating system consists or, comprises of, or based on, one out of Microsoft Windows Server®, Linux, or UNIX.

52. The method according to claim 50 , wherein the server operating system consists or, comprises of, or based on, Microsoft Windows Server® 2003 R2, 2008, 2008 R2, 2012, or 2012 R2 variant, Linux™ or GNU/Linux based Debian GNU/Linux, Debian GNU/kFreeBSD, Debian GNU/Hurd, Fedora™, Gentoo™, Linspire™, Hat® SuSE, Ubuntu®, UNIX® variant Mandriva, Red Linux, Solaris™, AIX®, Mac™ OS X, FreeBSD®, OpenBSD, or NetBSD®.

53. The method according to claim 1 , wherein the proxy device comprises a consumer computer device.

54. The method according to claim 53 , wherein the proxy device comprises a mobile device that stores, operates, or uses, a client operating system.

55. The method according to claim 54 , wherein the client operating system consists or, comprise, or is based on, Microsoft Windows 7, Microsoft Windows XP, Microsoft Windows 8, Microsoft Windows 8.1, Linux, or Google Chrome OS.

56. The method according to claim 54 , wherein the client operating system is a mobile operating system.

57. The method according to claim 56 , wherein the mobile operating system comprises, or is based on, Android version 2.2 (Froyo), Android version 2.3 (Gingerbread), Android version 4.0 (Ice Cream Sandwich), Android Version 4.2 (Jelly Bean), Android version 4.4 (KitKat), Apple iOS version 3, Apple iOS version 4, Apple iOS version 5, Apple iOS version 6, Apple iOS version 7, Microsoft Windows® Phone version 7, Microsoft Windows® Phone version 8, Microsoft Windows® Phone version 9, or Blackberry® operating system.

58. The method according to claim 56 , wherein the proxy device comprises, or consists of, a cellular telephone device.

59. The method according to claim 58 , wherein the cellular telephone device comprises, or consists of, a smartphone.

60. The method according to claim 1 , further comprising storing, at the server device, the received content.

61. The method according to claim 1 , wherein the accepting comprises establishing, between the server device and the proxy device over the Internet, the connection, and wherein the sending of the request by the server device to the proxy device, and the of the received content by the tunnel device to the server device over the Internet, are over the established connection.

62. The method according to claim 61 , wherein the established connection is based on, or uses, HTTP persistent connection.

63. The method according to claim 61 , wherein the established connection is based on, or uses, TCP connection that uses ‘Active OPEN’ or ‘Passive OPEN’.

64. The method according to claim 1 , wherein the steps are sequentially executed.

65. The method according to claim 1 , wherein at least two steps are concurrently executed using multitasking or multiprocessing.

66. The method according to claim 1 , wherein the content includes, consists of, or comprises, a part or whole of a computer file, audio data, voice data, multimedia data, video data, an image data, music data, a computer program, or any combination thereof.

67. The method according to claim 1 , for use with multiple tunnel devices, each serving as a proxy device between one of multiple web servers and the server device, the method further comprising accepting, by the server device from each of the multiple tunnel devices over the Internet, a connection request; and establishing by the server device a connection with each of the multiple tunnel devices over the Internet in response to the received connection request.

68. The method according to claim 1 , wherein the sending by the server device to the proxy device over the Internet of the request is in response to the accepting, by the server device from the proxy device over the Internet, the connection request.

69. The method according to claim 1 , further comprising periodically sending, by the proxy device to the server device over the Internet, a message that comprises a status of the device.

70. The method according to claim 69 , wherein the sending of the message is in response to the determined status or a status change of the proxy device.

71. The method according to claim 69 , wherein the message comprises, or is based on, an ‘heartbeat’ message.

72. The method according to claim 69 , wherein a time period between two or more sent messages is at least 10 milliseconds, 20 milliseconds, 30 milliseconds, 50 milliseconds, 100 milliseconds, 1 second, 2 seconds, 3 seconds, 5 seconds, 10 seconds, 20 seconds, 30 seconds, 50 seconds, 100 seconds, 1 minute, 2 minutes, 3 minutes, 5 minutes, or 10 minutes.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2023
From: VILENSKI, OFER; SHRIBMAN, DERRY
To: LUMINATI NETWORKS LTD.
Reel/Frame 063026/0978 →
CHANGE OF NAME Recorded Mar 18, 2023
From: LUMINATI NETWORKS LTD.
To: BRIGHT DATA LTD.
Reel/Frame 063117/0429 →
Continuity (9)
Continuation 18099984 · Jan 23, 2023
Continuation 17518594 · Nov 4, 2021
Continuation 17146625 · Jan 12, 2021
Continuation 16292364 · Mar 5, 2019
Continuation 15663762 · Jul 30, 2017
Continuation 14930894 · Nov 3, 2015
Division 14468836 · Aug 26, 2014
Provisional Application 61870815 · Aug 28, 2013
Related Publication 20230231790A1 · Jul 20, 2023
References Cited (400)
US 3922494A · Cooper et al. · 1975 [cited by applicant]
US 3962539A · Ehrsam et al. · 1976 [cited by applicant]
US 4347827A · Lo Cascio · 1982 [cited by applicant]
US 4405829A · Rivest et al. · 1983 [cited by applicant]
US 4464650A · Eastman et al. · 1984 [cited by applicant]
US 4558302A · Welch · 1985 [cited by applicant]
US 4814746A · Miller et al. · 1989 [cited by applicant]
US 4855894A · Asahi · 1989 [cited by applicant]
US 4937781A · Lee et al. · 1990 [cited by applicant]
US 5519693A · Galuszka · 1996 [cited by applicant]
US 5577243A · Sherwood et al. · 1996 [cited by applicant]
US 5734829A · Robinson · 1998 [cited by applicant]
US 5758195A · Balmer · 1998 [cited by applicant]
US 5826014A · Coley · 1998 [cited by applicant]
US 5974566A · Ault · 1999 [cited by applicant]
US 6012083A · Savitzky · 2000 [cited by applicant]
US 6012090A · Chung · 2000 [cited by applicant]
US 6061278A · Kato et al. · 2000 [cited by applicant]
US 6085193A · Malkin · 2000 [cited by applicant]
US 6134584A · Chang · 2000 [cited by applicant]
US 6154782A · Kawaguchi · 2000 [cited by applicant]
US 6173330B1 · Guo et al. · 2001 [cited by applicant]
US 6185625B1 · Tso · 2001 [cited by applicant]
US 6236652B1 · Preston et al. · 2001 [cited by applicant]
US 6240444B1 · Fin · 2001 [cited by applicant]
US 6266704B1 · Reed · 2001 [cited by applicant]
US 6311216B1 · Smith · 2001 [cited by applicant]
US 6345303B1 · Knauerhase et al. · 2002 [cited by applicant]
US 6351775B1 · Yu · 2002 [cited by applicant]
US 6356934B1 · Delph · 2002 [cited by applicant]
US 6389422B1 · Doi · 2002 [cited by applicant]
US 6389462B1 · Cohen · 2002 [cited by applicant]
US 6397259B1 · Lincke et al. · 2002 [cited by applicant]
US 6412008B1 · Fields et al. · 2002 [cited by applicant]
US 6421733B1 · Tso · 2002 [cited by applicant]
US 6449640B1 · Haverstock · 2002 [cited by applicant]
US 6466470B1 · Chang · 2002 [cited by applicant]
US 6477581B1 · Carpenter et al. · 2002 [cited by applicant]
US 6484149B1 · Jammes et al. · 2002 [cited by applicant]
US 6513061B1 · Ebata · 2003 [cited by applicant]
US 6519693B1 · Debey · 2003 [cited by applicant]
US 6578066B1 · Logan et al. · 2003 [cited by applicant]
US 6601098B1 · Case et al. · 2003 [cited by applicant]
US 6658463B1 · Dillon et al. · 2003 [cited by applicant]
US 6661799B1 · Molitor · 2003 [cited by applicant]
US 6665715B1 · Houri · 2003 [cited by applicant]
US 6687732B1 · Bector · 2004 [cited by applicant]
US 6701374B2 · Gupta · 2004 [cited by applicant]
US 6785705B1 · Kocherlakota · 2004 [cited by applicant]
US 6792461B1 · Hericourt · 2004 [cited by applicant]
US 6795848B1 · Border et al. · 2004 [cited by applicant]
US 6820133B1 · Grove · 2004 [cited by applicant]
US 6829638B1 · McBrearty · 2004 [cited by applicant]
US 6842463B1 · Drwiega · 2005 [cited by applicant]
US 6868453B1 · Watanabe · 2005 [cited by applicant]
US 6895011B1 · Lassers · 2005 [cited by applicant]
US 6941562B2 · Gao et al. · 2005 [cited by applicant]
US 6961783B1 · Cook · 2005 [cited by applicant]
US 6970913B1 · Albert et al. · 2005 [cited by applicant]
US 7007228B1 · Carro · 2006 [cited by applicant]
US 7010526B2 · Denesuk et al. · 2006 [cited by applicant]
US 7020667B2 · Guest et al. · 2006 [cited by applicant]
US 7047315B1 · Srivastava · 2006 [cited by applicant]
US 7080158B1 · Squire · 2006 [cited by applicant]
US 7009927B2 · Cudd · 2006 [cited by applicant]
US 7120666B2 · McCanne et al. · 2006 [cited by applicant]
US 7027418B2 · Gan et al. · 2006 [cited by applicant]
US 7139276B1 · Sitaraman et al. · 2006 [cited by applicant]
US 7139557B2 · Tang et al. · 2006 [cited by applicant]
US 7139579B2 · Hatano · 2006 [cited by applicant]
US 7149797B1 · Weller et al. · 2006 [cited by applicant]
US 7159234B1 · Murphy et al. · 2007 [cited by applicant]
US 7234059B1 · Beaver · 2007 [cited by applicant]
US 7240100B1 · Wein et al. · 2007 [cited by applicant]
US 7246272B2 · Cabezas · 2007 [cited by applicant]
US 7254636B1 · O'Toole, Jr. et al. · 2007 [cited by applicant]
US 7257634B2 · Colby et al. · 2007 [cited by applicant]
US 7203741B2 · Marco et al. · 2007 [cited by applicant]
US 7353279B2 · Durvasula et al. · 2008 [cited by applicant]
US 7381366B2 · Carter · 2008 [cited by applicant]
US 7401115B1 · Arsenault · 2008 [cited by applicant]
US 7464123B2 · Croker · 2008 [cited by applicant]
US 7543018B2 · Appelman · 2009 [cited by applicant]
US 7558942B1 · Chen et al. · 2009 [cited by applicant]
US 7620703B1 · Shteyn · 2009 [cited by applicant]
US 7639682B2 · Suzuki et al. · 2009 [cited by applicant]
US 7640580B1 · Plotnikov et al. · 2009 [cited by applicant]
US 7673048B1 · O'Toole · 2010 [cited by applicant]
US 7702784B2 · Berstis · 2010 [cited by applicant]
US 7706362B1 · Senthilnathan · 2010 [cited by applicant]
US 7719971B1 · Issa · 2010 [cited by applicant]
US 7742485B2 · Zhang · 2010 [cited by applicant]
US 7751628B1 · Reisman · 2010 [cited by applicant]
US 7761500B1 · Wei et al. · 2010 [cited by applicant]
US 7734777B2 · Raja · 2010 [cited by applicant]
US 7783777B1 · Pabla · 2010 [cited by applicant]
US 7788378B2 · Rao · 2010 [cited by applicant]
US 7801824B1 · Bryar · 2010 [cited by applicant]
US 7805517B2 · Shim · 2010 [cited by applicant]
US 7818430B2 · Zuckerman · 2010 [cited by applicant]
US 7831720B1 · Noureddine · 2010 [cited by applicant]
US 7853472B2 · Al-Abdulqader · 2010 [cited by applicant]
US 7860988B2 · Aoki · 2010 [cited by applicant]
US 7877511B1 · Berger · 2011 [cited by applicant]
US 7886050B2 · Raja et al. · 2011 [cited by applicant]
US 7890547B2 · Hotti · 2011 [cited by applicant]
US 7890624B2 · Bivens · 2011 [cited by applicant]
US 7894431B2 · Goring · 2011 [cited by applicant]
US 7917755B1 · Giliyaru · 2011 [cited by applicant]
US 7865585B2 · Samuels et al. · 2011 [cited by applicant]
US 7929429B2 · Bornstein · 2011 [cited by applicant]
US 7929535B2 · Chen et al. · 2011 [cited by applicant]
US 7970835B2 · St. Jacques · 2011 [cited by applicant]
US 7984110B1 · Raman · 2011 [cited by applicant]
US 8014292B1 · Breau et al. · 2011 [cited by applicant]
US 7941525B1 · Yavilevich · 2011 [cited by applicant]
US 8041784B1 · Amidon · 2011 [cited by applicant]
US 8108245B1 · Hosea et al. · 2012 [cited by applicant]
US 8108554B1 · Masters · 2012 [cited by applicant]
US 8135912B2 · Shribman et al. · 2012 [cited by applicant]
US 8144611B2 · Agarwal · 2012 [cited by applicant]
US 8156275B2 · de Cesare · 2012 [cited by applicant]
US 8171101B2 · Gladwin et al. · 2012 [cited by applicant]
US 8190593B1 · Dean · 2012 [cited by applicant]
US 8234370B2 · Hammer et al. · 2012 [cited by applicant]
US 8285808B1 · Joel et al. · 2012 [cited by applicant]
US 8302161B2 · Burch et al. · 2012 [cited by applicant]
US 8306022B1 · Cranor · 2012 [cited by applicant]
US 8307089B1 · Rothschild · 2012 [cited by applicant]
US 8347405B2 · Backhouse · 2013 [cited by applicant]
US 8375434B2 · Cottrell · 2013 [cited by applicant]
US 8452901B1 · Sandstrom et al. · 2013 [cited by applicant]
US 8453227B2 · Aiello · 2013 [cited by applicant]
US 8458786B1 · Kailash · 2013 [cited by applicant]
US 8464350B2 · Kanevsky · 2013 [cited by applicant]
US 8479251B2 · Feinleib et al. · 2013 [cited by applicant]
US 8490059B2 · Huang et al. · 2013 [cited by applicant]
US 8499059B2 · Stoyanov · 2013 [cited by applicant]
US 8514812B2 · Tang et al. · 2013 [cited by applicant]
US 8516084B1 · Grieve · 2013 [cited by applicant]
US 8527631B1 · Liang · 2013 [cited by applicant]
US 8533628B2 · Rohrabaugh · 2013 [cited by applicant]
US 8543721B2 · White et al. · 2013 [cited by applicant]
US 8560604B2 · Shribman et al. · 2013 [cited by applicant]
US 8566452B1 · Goodwin, III et al. · 2013 [cited by applicant]
US 8577724B1 · Gandhi · 2013 [cited by applicant]
US 8595786B2 · Choi · 2013 [cited by applicant]
US 8612641B1 · Bozarth et al. · 2013 [cited by applicant]
US 8627422B2 · Hawkes · 2014 [cited by applicant]
US 8639630B2 · Fomenko et al. · 2014 [cited by applicant]
US 8639748B2 · Kazerani et al. · 2014 [cited by applicant]
US 8655838B2 · Wright · 2014 [cited by applicant]
US 8655985B2 · De · 2014 [cited by applicant]
US 8719430B2 · Van Ackere · 2014 [cited by applicant]
US 8719505B2 · Shribman et al. · 2014 [cited by applicant]
US 8769035B2 · Resch et al. · 2014 [cited by applicant]
US 8793347B2 · Chow et al. · 2014 [cited by applicant]
US 8832179B2 · Owen et al. · 2014 [cited by applicant]
US 8832260B2 · Raja et al. · 2014 [cited by applicant]
US 8838811B2 · Chen · 2014 [cited by applicant]
US 8874594B2 · Want et al. · 2014 [cited by applicant]
US 8671221B2 · Shribman et al. · 2014 [cited by applicant]
US 8935418B2 · Knouse et al. · 2015 [cited by applicant]
US 8935798B1 · Smith · 2015 [cited by applicant]
US 9201808B2 · Shribman et al. · 2015 [cited by applicant]
US 8972602B2 · Mithyantha · 2015 [cited by applicant]
US 8990357B2 · Graham-Cumming · 2015 [cited by applicant]
US 8996856B2 · Amit · 2015 [cited by applicant]
US 9015335B1 · Gigliotti · 2015 [cited by applicant]
US 9049247B2 · Holloway · 2015 [cited by applicant]
US 9059938B1 · Strand · 2015 [cited by applicant]
US 9071668B2 · Brueck et al. · 2015 [cited by applicant]
US 9100320B2 · Hsy · 2015 [cited by applicant]
US 9122554B2 · Callaghan · 2015 [cited by applicant]
US 9154557B2 · Lev-Ran · 2015 [cited by applicant]
US 9177157B2 · Binder · 2015 [cited by applicant]
US 9210094B1 · Warren et al. · 2015 [cited by applicant]
US 9237210B2 · Liu · 2016 [cited by applicant]
US 9253164B2 · Gouge · 2016 [cited by applicant]
US 9313100B1 · Jenkins · 2016 [cited by applicant]
US 9374244B1 · Reed · 2016 [cited by applicant]
US 9378473B2 · Wolfe · 2016 [cited by applicant]
US 9380028B2 · Rizzo · 2016 [cited by applicant]
US 9418243B2 · Bauer · 2016 [cited by applicant]
US 9380523B1 · Mijar · 2016 [cited by applicant]
US 9438564B1 · Weng et al. · 2016 [cited by applicant]
US 9444903B2 · Nuaimi · 2016 [cited by applicant]
US 9503540B2 · Athas et al. · 2016 [cited by applicant]
US 9529911B2 · Richard et al. · 2016 [cited by applicant]
US 9584529B2 · Su · 2017 [cited by applicant]
US 9634994B2 · Prince · 2017 [cited by applicant]
US 9654581B2 · Pollack et al. · 2017 [cited by applicant]
US 9660895B1 · Bennett · 2017 [cited by applicant]
US 9673996B1 · Upadhyay et al. · 2017 [cited by applicant]
US 9705959B1 · Strand · 2017 [cited by applicant]
US 9742866B2 · Shribman · 2017 [cited by applicant]
US 9769121B2 · Joy et al. · 2017 [cited by applicant]
US 9838497B2 · Lawrence · 2017 [cited by applicant]
US 9866655B2 · Steiner et al. · 2018 [cited by applicant]
US 9880881B1 · Perez et al. · 2018 [cited by applicant]
US 9979674B1 · Kumar · 2018 [cited by applicant]
US 9990295B2 · Shribman et al. · 2018 [cited by applicant]
US 10069852B2 · Turgeman et al. · 2018 [cited by applicant]
US 10104165B1 · Killian · 2018 [cited by applicant]
US 10110606B2 · Mizhar · 2018 [cited by applicant]
US 10148735B1 · Kolam · 2018 [cited by applicant]
US 10182466B2 · Nirantar · 2019 [cited by applicant]
US 10277711B2 · Shribman · 2019 [cited by applicant]
US 10361911B2 · Brandwine · 2019 [cited by applicant]
US 10375192B1 · Lepeska · 2019 [cited by applicant]
US 10404791B2 · Puri · 2019 [cited by applicant]
US 10410244B2 · Toval · 2019 [cited by applicant]
US 10484337B2 · Subbarayan · 2019 [cited by applicant]
US 10484510B2 · Shribman · 2019 [cited by applicant]
US 10511630B1 · Weiss et al. · 2019 [cited by applicant]
US 10560509B2 · Lo · 2020 [cited by applicant]
US 10594660B2 · Smith · 2020 [cited by applicant]
US 10601948B1 · Juravicius · 2020 [cited by applicant]
US 10601984B2 · Olligschlaeger · 2020 [cited by applicant]
US 10630771B1 · Garza et al. · 2020 [cited by applicant]
US 10637956B1 · Juravicius · 2020 [cited by applicant]
US 10642738B1 · Parakh et al. · 2020 [cited by applicant]
US 10645654B1 · Backholm · 2020 [cited by applicant]
US 10650166B1 · Sundberg · 2020 [cited by applicant]
US 10652357B2 · Shribman et al. · 2020 [cited by applicant]
US 10735322B2 · Alstad et al. · 2020 [cited by applicant]
US 10743051B1 · Reed · 2020 [cited by applicant]
US 10749893B1 · Dahlberg · 2020 [cited by applicant]
US 10771524B1 · Long · 2020 [cited by applicant]
US 10798209B1 · Juravicius et al. · 2020 [cited by applicant]
US 10805181B2 · Boutros et al. · 2020 [cited by applicant]
US 10887313B2 · Mitevski · 2021 [cited by applicant]
US 10972434B2 · Kupisiewicz et al. · 2021 [cited by applicant]
US 11140235B1 · Vilcinskas et al. · 2021 [cited by applicant]
US 11258872B1 · Gogel · 2022 [cited by applicant]
US 11424946B2 · Shribman · 2022 [cited by examiner]
US 11469992B2 · Gerstel · 2022 [cited by applicant]
US 11574536B2 · Saurin et al. · 2023 [cited by applicant]
US 11593446B2 · Shribman et al. · 2023 [cited by applicant]
US 11614893B2 · Kannan et al. · 2023 [cited by applicant]
US 11635877B2 · Lopez et al. · 2023 [cited by applicant]
US 11658876B2 · Hooda et al. · 2023 [cited by applicant]
US 11677853B2 · Acharya et al. · 2023 [cited by applicant]
US 11757961B2 · Shribman et al. · 2023 [cited by applicant]
US 11818096B2 · Jain et al. · 2023 [cited by applicant]
US 11831532B2 · Nakamura et al. · 2023 [cited by applicant]
US 20010011312A1 · Chu · 2001 [cited by applicant]
US 20010033583A1 · Rabenko et al. · 2001 [cited by applicant]
US 20010054020A1 · Barth · 2001 [cited by applicant]
US 20020007413A1 · Garcia-Luna-Aceves et al. · 2002 [cited by applicant]
US 20020026517A1 · Watson · 2002 [cited by applicant]
US 20020052947A1 · Duimovich et al. · 2002 [cited by applicant]
US 20020055956A1 · Krasnoiarov et al. · 2002 [cited by applicant]
US 20020055966A1 · Border · 2002 [cited by examiner]
US 20020059371A1 · Jamail · 2002 [cited by applicant]
US 20020059429A1 · Carpenter · 2002 [cited by applicant]
US 20020065930A1 · Rhodes · 2002 [cited by applicant]
US 20020069241A1 · Narlikar et al. · 2002 [cited by applicant]
US 20020073075A1 · Dutta · 2002 [cited by applicant]
US 20020073232A1 · Hong · 2002 [cited by applicant]
US 20020091760A1 · Rozen · 2002 [cited by applicant]
US 20020103823A1 · Jackson · 2002 [cited by applicant]
US 20020112036A1 · Bohannon · 2002 [cited by applicant]
US 20020112152A1 · VanHeyningen · 2002 [cited by applicant]
US 20020120874A1 · Shu et al. · 2002 [cited by applicant]
US 20020123895A1 · Potekhin · 2002 [cited by applicant]
US 20020169818A1 · Stewart · 2002 [cited by applicant]
US 20020178217A1 · Nguyen · 2002 [cited by applicant]
US 20020194183A1 · Yoakum · 2002 [cited by applicant]
US 20020194292A1 · King · 2002 [cited by applicant]
US 20030009518A1 · Harrow et al. · 2003 [cited by applicant]
US 20030009583A1 · Chan et al. · 2003 [cited by applicant]
US 20030018705A1 · Chen · 2003 [cited by applicant]
US 20030018834A1 · Eilers · 2003 [cited by applicant]
US 20030061282A1 · Ebata et al. · 2003 [cited by applicant]
US 20030074403A1 · Harrow et al. · 2003 [cited by applicant]
US 20030095520A1 · Aalbers · 2003 [cited by applicant]
US 20030097408A1 · Kageyama · 2003 [cited by applicant]
US 20030115364A1 · Shu et al. · 2003 [cited by applicant]
US 20030120805A1 · Couts · 2003 [cited by applicant]
US 20030149720A1 · Goldstein · 2003 [cited by applicant]
US 20030163413A1 · Wiczkowski · 2003 [cited by applicant]
US 20030174648A1 · Wang et al. · 2003 [cited by applicant]
US 20030187925A1 · Inala · 2003 [cited by applicant]
US 20030200307A1 · Raju et al. · 2003 [cited by applicant]
US 20030204602A1 · Hudson et al. · 2003 [cited by applicant]
US 20030210694A1 · Jayaraman et al. · 2003 [cited by applicant]
US 20030212648A1 · Cunningham et al. · 2003 [cited by applicant]
US 20030217144A1 · Fu et al. · 2003 [cited by applicant]
US 20030229682A1 · Day · 2003 [cited by applicant]
US 20030229718A1 · Tock · 2003 [cited by applicant]
US 20030229785A1 · Daseke · 2003 [cited by applicant]
US 20040044731A1 · Chen · 2004 [cited by applicant]
US 20040052257A1 · Abdo · 2004 [cited by applicant]
US 20040054748A1 · Ackaouy · 2004 [cited by applicant]
US 20040054800A1 · Shah · 2004 [cited by applicant]
US 20040068579A1 · Marmigere · 2004 [cited by applicant]
US 20040088646A1 · Yeager et al. · 2004 [cited by applicant]
US 20040111529A1 · Parmar · 2004 [cited by applicant]
US 20040117455A1 · Kaminsky · 2004 [cited by applicant]
US 20040133692A1 · Blanchet · 2004 [cited by applicant]
US 20040136370A1 · Moore et al. · 2004 [cited by applicant]
US 20040143665A1 · Mace · 2004 [cited by applicant]
US 20040153473A1 · Hutchinson · 2004 [cited by applicant]
US 20040199629A1 · Bomer · 2004 [cited by applicant]
US 20040212490A1 · Fredericks · 2004 [cited by applicant]
US 20040215717A1 · Seifert · 2004 [cited by applicant]
US 20040221207A1 · Yokota · 2004 [cited by applicant]
US 20040230593A1 · Rudin · 2004 [cited by applicant]
US 20040236962A1 · Wong · 2004 [cited by applicant]
US 20040254907A1 · Crow et al. · 2004 [cited by applicant]
US 20040257761A1 · Park · 2004 [cited by applicant]
US 20040263479A1 · Shkolnikov · 2004 [cited by applicant]
US 20040264506A1 · Furukawa · 2004 [cited by applicant]
US 20050015552A1 · So et al. · 2005 [cited by applicant]
US 20050018645A1 · Mustonen et al. · 2005 [cited by applicant]
US 20050022236A1 · Ito et al. · 2005 [cited by applicant]
US 20050027782A1 · Jalan · 2005 [cited by applicant]
US 20050027834A1 · Chen et al. · 2005 [cited by applicant]
US 20050050097A1 · Yeh · 2005 [cited by applicant]
US 20050060542A1 · Risan · 2005 [cited by applicant]
US 20050086328A1 · Landram et al. · 2005 [cited by applicant]
US 20050091399A1 · Candan et al. · 2005 [cited by applicant]
US 20050091540A1 · Dick · 2005 [cited by applicant]
US 20050096753A1 · Arling · 2005 [cited by applicant]
US 20050097217A1 · Val et al. · 2005 [cited by applicant]
US 20050097221A1 · James · 2005 [cited by applicant]
US 20050097441A1 · Herbach · 2005 [cited by applicant]
US 20050108244A1 · Riise · 2005 [cited by applicant]
US 20050108551A1 · Toomey · 2005 [cited by applicant]
US 20050120111A1 · Bailey et al. · 2005 [cited by applicant]
US 20050125412A1 · Glover · 2005 [cited by applicant]
US 20050138426A1 · Styslinger · 2005 [cited by applicant]
US 20050165903A1 · Doan · 2005 [cited by applicant]
US 20050180319A1 · Hutnik · 2005 [cited by applicant]
US 20050190059A1 · Wehrenberg · 2005 [cited by applicant]
US 20050198309A1 · Li et al. · 2005 [cited by applicant]
US 20050228964A1 · Sechrest et al. · 2005 [cited by applicant]
US 20050235044A1 · Tazuma · 2005 [cited by applicant]
US 20050246442A1 · Gutjahr · 2005 [cited by applicant]
US 20050289648A1 · Grobman et al. · 2005 [cited by applicant]
US 20060015545A1 · Ezra · 2006 [cited by applicant]
US 20060026304A1 · Price · 2006 [cited by applicant]
US 20060031407A1 · Dispensa et al. · 2006 [cited by applicant]
US 20060036755A1 · Abdullah · 2006 [cited by applicant]
US 20060039352A1 · Karstens · 2006 [cited by applicant]
US 20060047844A1 · Deng · 2006 [cited by applicant]
US 20060059091A1 · Wang · 2006 [cited by applicant]
US 20060075114A1 · Panasyuk · 2006 [cited by applicant]
US 20060155995A1 · Torvinen · 2006 [cited by applicant]
US 20060184647A1 · Dixit · 2006 [cited by applicant]
US 20060187830A1 · Nam · 2006 [cited by applicant]
US 20060200541A1 · Wikman et al. · 2006 [cited by applicant]
US 20060206586A1 · Ling · 2006 [cited by applicant]
US 20060212542A1 · Fang · 2006 [cited by applicant]
US 20060212584A1 · Yu et al. · 2006 [cited by applicant]
US 20060224687A1 · Popkin · 2006 [cited by applicant]
US 20060236083A1 · Fritsch · 2006 [cited by applicant]
US 20060242318A1 · Nettle · 2006 [cited by applicant]
US 20060256772A1 · Yarlagadda · 2006 [cited by applicant]
US 20060259607A1 · O'Neal et al. · 2006 [cited by applicant]
US 20060259728A1 · Chandrasekaran et al. · 2006 [cited by applicant]
US 20060271438A1 · Shotland · 2006 [cited by applicant]
US 20060280191A1 · Nishida · 2006 [cited by applicant]
US 20060287738A1 · Rizzi et al. · 2006 [cited by applicant]
US 20060293052A1 · Orler · 2006 [cited by applicant]
US 20070011674A1 · Joo · 2007 [cited by applicant]
US 20070042332A1 · Leem · 2007 [cited by applicant]
US 20070047452A1 · Lohr · 2007 [cited by applicant]
US 20070050522A1 · Grove · 2007 [cited by applicant]
US 20070061440A1 · Sundaram · 2007 [cited by applicant]
US 20070073878A1 · Issa · 2007 [cited by applicant]
US 20070088821A1 · Sankuratripati · 2007 [cited by applicant]
US 20070100839A1 · Kim · 2007 [cited by applicant]
US 20070142036A1 · Wikman · 2007 [cited by applicant]
US 20070156855A1 · Johnson · 2007 [cited by applicant]
US 20070160072A1 · Thalanany et al. · 2007 [cited by applicant]
US 20070171921A1 · Wookey · 2007 [cited by applicant]
US 20070174246A1 · Sigurdsson · 2007 [cited by applicant]
US 20070174442A1 · Sherman et al. · 2007 [cited by applicant]
US 20070177513A1 · Kuokkanen · 2007 [cited by applicant]
US 20070180111A1 · Chmaytelli · 2007 [cited by applicant]
US 20070204003A1 · Abramson · 2007 [cited by applicant]
US 20070220145A1 · Kozakura et al. · 2007 [cited by applicant]
US 20070226810A1 · Hotti · 2007 [cited by applicant]
US 20070233706A1 · Farber et al. · 2007 [cited by applicant]
US 20070239655A1 · Agetsuma · 2007 [cited by applicant]
US 20070283026A1 · Lohmar · 2007 [cited by applicant]
US 20070299954A1 · Fatula · 2007 [cited by applicant]
US 20080008089A1 · Bornstein et al. · 2008 [cited by applicant]
US 20080010365A1 · Schneider · 2008 [cited by applicant]
US 20080025506A1 · Muraoka · 2008 [cited by applicant]
US 20080034072A1 · He et al. · 2008 [cited by applicant]
US 20080034416A1 · Kumar · 2008 [cited by applicant]
US 20080037536A1 · Padmanabhan · 2008 [cited by applicant]
US 20080046562A1 · Butler · 2008 [cited by applicant]
US 20080052156A1 · Brenner · 2008 [cited by applicant]
US 20080062879A1 · Sivakumar et al. · 2008 [cited by applicant]
US 20080071907A1 · Thompson · 2008 [cited by applicant]
US 20080071925A1 · Leighton · 2008 [cited by applicant]
Cited By (1)
US 12,401,620