Source: http://www.google.es/patents/US9009286
Timestamp: 2017-09-22 04:45:24
Document Index: 611635693

Matched Legal Cases: ['Application No. 2011', 'Application No. 2011', 'Application No. 2013', 'Application No. 200980125551', 'Application No. 200980119993', 'Application No. 2726915', 'Application No. 2741895', 'Application No. 2741895', 'Application No. 200780020255', 'Application No. 200980119993', 'Application No. 200980119995', 'Application No. 3742', 'Application No. 2011', 'Application No. 2011', 'Application No. 2011', 'Application No. 2012', 'Application No. 2013', 'Application No. 2013', 'Application No. 10', 'Application No. 201180053405', 'Application No. 201310717573', 'Application No. 201103333', 'Application No. 201301573', 'Application No. 201006873', 'Application No. 2011', 'Application No. 201006837', 'Application No. 201006836', 'Application No. 201006836', 'Application No. 201006837', 'Application No. 201006874', 'Application No. 07754164', 'Application No. 09727694', 'Application No. 09728756', 'Application No. 200980111426', 'Application No. 201303521']

Patente US9009286 - Locality based content distribution - Google Patentes
A system and method for content distribution are provided. A content provider generates a network topology having one or more subnetworks made up of content sources. The content provider segments content, such as applications, into segments for distribution. The content provider then distributes the...http://www.google.es/patents/US9009286?utm_source=gb-gplus-sharePatente US9009286 - Locality based content distribution
Número de publicación US9009286 B2
Número de solicitud US 13/888,283
También publicado como US7970820, US8060561, US8275874, US8438263, US9332078, US9621660, US20110258253, US20120102099, US20130007117, US20130318153, US20150180988, US20160241651, US20170214755
Número de publicación 13888283, 888283, US 9009286 B2, US 9009286B2, US-B2-9009286, US9009286 B2, US9009286B2
Inventores Swaminathan Sivasubramanian, David R. Richardson, Bradley E. Marshall
Citas de patentes (645), Otras citas (106), Citada por (42), Clasificaciones (18)
US 9009286 B2
at least one computing device for receiving a request for content from a client computing device, wherein the at least one computing device is associated with a distribution network, wherein the distribution network includes a plurality of subnetworks, and wherein individual subnetworks in the distribution network include a source of the requested content within the subnetwork, the at least one computing device configured, responsive to the request for content from the client computing device, to:
identify a subnetwork in the distribution network for providing the requested content based on a network locality of the client computing device relative to subnetworks in the distribution network; and
provide identification information for the source of the requested content in the identified subnetwork.
2. The system as recited in claim 1, wherein the at least one computing device is further configured to distribute the requested content so that the requested content is distributed among one or more content sources in each subnetwork in the distribution network.
3. The system as recited in claim 2, wherein distributing the requested content comprises distributing the requested content to one or more content sources in each subnetwork.
4. The system as recited in claim 2, wherein distributing the requested content comprises distributing the requested content to each subnetwork that does not already have one or more content sources including the requested content.
5. The system as recited in claim 1, wherein the identification information includes network address information for the source of the requested content in the identified subnetwork.
6. The system as recited in claim 1, wherein the identification information includes reconciliation information to be provided to the source of the requested content in the identified subnetwork.
7. A system for managing content at a content provider, the system comprising:
at least one computing device associated with a distribution network for receiving a request for content from a client computing device, wherein the distribution network includes a plurality of subnetworks, wherein individual subnetworks correspond to two or more logically grouped nodes within the distribution network, and wherein individual subnetworks include a source of the requested content within the subnetwork, the at least one computing device configured to:
determine a content source from a subnetwork for providing at least a portion of the requested content to the client computing device such that the determined content source will minimize distribution node traffic between one or more parent nodes to the client computing device and the content source; and
responsive to the request for content from the client computing device, provide identification information identifying the determined content source for providing at least a portion of the requested content.
8. The system as recited in claim 7, wherein the identification information includes network address information corresponding to the determined content source.
9. The system as recited in claim 7, wherein determining a content source for providing at least a portion of the content includes identifying at least one peer computing device for providing at least a portion of the requested content.
10. The system as recited in claim 9, wherein the at least one computing device is further configured to:
11. A computer-implemented method for managing content, the method comprising:
obtaining, at a computing device corresponding to a distribution network, a request for content from a client computing device, wherein the distribution network includes a plurality of subnetworks, and wherein individual subnetworks in the distribution network include a source of the requested content within the subnetwork; and
responsive to the request for content from the client computing device:
identifying a subnetwork in the distribution network for providing the requested content based on a network locality of the client computing device relative to subnetworks in the distribution network; and
providing identification information for the source of the requested content in the identified subnetwork.
12. The method as recited in claim 11 further comprising distributing the requested content so that the requested content is distributed among one or more content sources in each subnetwork in the distribution network.
13. The method as recited in claim 12, wherein distributing the requested content comprises distributing the requested content to one or more content sources in each subnetwork.
14. The method as recited in claim 12, wherein distributing the requested content comprises distributing the requested content to each subnetwork that does not already have one or more content sources including the requested content.
15. The method as recited in claim 11, wherein the identification information includes network address information for the source of the requested content in the identified subnetwork.
16. The method as recited in claim 11, wherein the identification information includes reconciliation information to be provided to the source of the requested content in the identified subnetwork.
17. A computer-implemented method for managing content, the method comprising:
obtaining, at a computing device corresponding to a distribution network, a request for content from a client computing device, wherein the distribution network includes a plurality of subnetworks, wherein individual subnetworks correspond to two or more logically grouped nodes within the distribution network, and wherein individual subnetworks include a source of the requested content within the subnetwork;
determining a content source from a subnetwork for providing at least a portion of the requested content to the client computing device such that the determined content source will minimize distribution node traffic between one or more parent nodes to the client computing device and the content source; and
responsive to the request for content from the client computing device, providing identification information identifying the determined content source for providing at least a portion of the requested content.
18. The method as recited in claim 17, wherein the identification information includes network address information corresponding to the determined content source.
19. The method as recited in claim 17, wherein determining a content source for providing at least a portion of the content includes identifying at least one peer computing device for providing at least a portion of the requested content.
This application is a continuation of U.S. patent application Ser. No. 13/614,714, now U.S. Pat. No. 8,438,263, entitled “LOCALITY BASED CONTENT DISTRIBUTION” and filed on Sep. 13, 2012, which is in turn a continuation of U.S. patent application Ser. No. 13/296,189, now U.S. Pat. No. 8,275,874 entitled “LOCALITY BASED CONTENT DISTRIBUTION” and filed Nov. 14, 2011, which is in turn a continuation of U.S. patent application Ser. No. 13/170,102, which is now U.S. Pat. No. 8,060,561, entitled “LOCALITY BASED CONTENT DISTRIBUTION” and filed on Jun. 27, 2011, which is in turn a continuation of U.S. patent application Ser. No. 12/060,124, which is now U.S. Pat. No. 7,970,820, entitled “LOCALITY BASED CONTENT DISTRIBUTION” and filed on Mar. 31, 2008, the disclosures of which are incorporated herein by reference.
In one embodiment, a content provider can utilize additional content sources as part of a content distribution network to provide data to client computing devices. Examples of the additional content sources that can be part of the content distribution network include network-based storage resources or points of presence, edge network computing devices, peer or registered computing devices, and the like. Traditional content distribution networks can become deficient, however, with the repetitive transmission of requested content (per a client computing device request) across network resource nodes (e.g., routers). For example, randomized selection of a distributed network content source can result the transmission of content across a number of distribution network nodes. Such inefficiencies can result in content distribution bottlenecks for the content distribution network.
With reference to FIG. 2, an illustrative interaction for registration of third party content providers 134 with the content provider 104 will be described. As will be described in greater detail below, the content provider 104 can utilize the third party content providers 134 to provide content to requesting client computing devices. As illustrated in FIG. 2, the content hosting registration process begins with registration of the third party content providers 134 with the content provider 104. In an illustrative embodiment, the third party content providers 134 utilize a registration application program interface (“API”) to register with the content provider 104 such that the third party content providers 134 can provide content on behalf of the content provider 104 or the CDN service provider 106 on behalf of the content provider 104. The registration API includes the identification of the computing devices associated with the third party content providers 134 that will provide requested resources on behalf of the content provider 104. Additionally, the registration API can include additional identification information used by the content provider 104 to identify content previously downloaded by the third party content providers 134 and that is available for downloading by other client computing devices 102.
In another embodiment, the content provider 104 can use additional information, in conjunction with the network topology information, to select an appropriate third party registration server (and other content source). The content provider 104 can also use the registration information to identify content previously downloaded by the third party content providers 134 (such as acting in the capacity as a client computing device 102). In still a further embodiment, the content provider 104 can also use the registration information to establish, or otherwise confirm, financial or account information that the content provider 104 will utilize to reconcile with the third party content provider 134 for content provided to client computing devices. For example, the financial or account information can correspond to account information for a particular financial institution, user identifiers for additional third party services utilized to exchange value between parties, or other information utilized in accordance with a particular type of reconciliation used between the content provider 104 and the third party content provider 134. One skilled in the relevant art will appreciate that various types of additional information may be generated or collected by the content provider 104.
Turning now to FIG. 3, in an illustrative embodiment, the content provider 104 may utilize network topology information to generate a model of the distribution network 300 for purposes of distributing content to content sources and associating client computing devices with content sources. As illustrated in FIG. 3, the model 300 can correspond to a multi-level network in which a plurality of computing devices are grouped into a first level. The computing devices can correspond to content sources that provide content to other computing devices. Additionally, the computing devices can also correspond to client computing devices 102 that request content from content sources. Thus, each computing device may act as a content source only, a client computing device only, or a combination of content source and client computing device. Accordingly, the computing devices will be generally referred to as client/content sources 302. The first level nodes (nodes 302A-302E) are grouped according to shared nodal connections in the distribution network, such as nodes 304A, 304B and 304C. As illustrated in FIG. 3, nodes 304A-304C represent a second level in the distribution network model 300. Nodes 304A-304C may correspond to networking equipment, such as routers, switch, etc. In such an embodiment, router node 304A would be considered a parent node to children client/content source nodes 302A, 302B and 302C and router node 304C would be considered a parent node to children client/content source nodes 302D and 302E.
With reference now to FIG. 5B, the client computing device 102 utilizes the information provided by the content provider 104 and transmits content requests to the identified content sources. If the content source is a third party content provider 134, the content requests can include the reconciliation information to be used by the third party content provider 134 to reconcile with the content provider 104 (either directly or through a proxy).
With reference now to FIG. 5C, in an alternative embodiment, the client computing device 102 does not transmit an initial request to the content provider 104 to obtain an identification of the available content sources. In this embodiment, the client computing device 102 may implement some additional processing that facilitates the identification of the appropriate content source. For example, the client computing device could utilize a hashing algorithm that determines the content source based, as least in part, on a hash of a client identifier or client identification information. As described in FIG. 5C, the client computing device 102 then utilizes the information it calculated and transmits content requests to the identified content sources. If the content source is a third party content provider 134, the content requests can include the reconciliation information to be used by the third party content provider 134 to reconcile with the content provider 104 (either directly or through a proxy).
Once all the content segments have been distributed within a subnetwork, at decision block 612, a test is conducted to determine whether additional subnetworks exist in the distribution network. If so, at block 614, the content provider 104 selects a next subnetwork in the distribution network and the routine 600 returns to block 606 in which all the content segments will be distributed to clients/content sources in the next subnetwork. Once there are no remaining subnetworks in the distribution network at decision block 612, the routine 600 terminates at block 616.
With reference now to FIG. 8, a request routing processing routine 800 implemented by a client computing device 102 will be described. At block 802, the client computing device 102 transmits a content request to the content provider 104. As previously stated, in an illustrative embodiment, the content request corresponds to the processing of embedded URLs in content (e.g., a Web page) provided by the content provider 104. At block 804, the client computing device 102 obtains a set of network addresses from the content provider 104 in resolution of the DNS query content provider 104 that are responsive to the client request. As previously described, the set of network addresses corresponds to an identification of client/content sources that can process the resource request from the client computing device 102. Additionally, the set of network addresses may be prioritized or filtered based of the network proximity of the potential content sources to the client computing device. As previously discussed, in an illustrative embodiment, the requested content can be divided into various content segments or content chunks. Accordingly, the set of network addresses can be specified for each identifiable content segment or content chunk or alternatively, for the cumulative set of content segments/chunks.
US20060036966 10 Ago 2004 16 Feb 2006 Slava Yevdayev Method and system for presenting links associated with a requested website
US20070183342 * 6 Feb 2007 9 Ago 2007 Mediazone.Com, Inc. Peer-to-peer broadcast management system
US20080072264 * 30 Jul 2007 20 Mar 2008 Aaron Crayford Distribution of content on a network
US20080155061 * 6 Sep 2007 26 Jun 2008 Akamai Technologies, Inc. Hybrid content delivery network (CDN) and peer-to-peer (P2P) network
US20090013063 * 2 Jul 2007 8 Ene 2009 Mrs. NIRALI SANGHI Method for enabling internet access to information hosted on csd
US20100011061 * 31 Jul 2009 14 Ene 2010 Hudson Michael D Centralized selection of peers as media data sources in a dispersed peer network
US20100322255 22 Jun 2009 23 Dic 2010 Alcatel-Lucent Usa Inc. Providing cloud-based services using dynamic network virtualization
US20130198341 * 21 Dic 2012 1 Ago 2013 Electronics And Telecommunications Research Institute System and method for delivering segmented content
US20130246567 * 12 Dic 2012 19 Sep 2013 Abacast, Inc. Systems and methods to deliver a personalized mediacast
16 American Bar Association; Digital Signature Guidelines Tutorial [online]; Feb. 10, 2002 [retrived on Mar. 2, 2010]; American Bar Association Section of Science and Technology Information Security Committee; Retrieved from the internet: (URL: http://web.archive.org/web/20020210124615/www.abanet.org/scitech/ec/isc/dsg-tutorial.html; pp. 1-8.
19 Bellovin, S., "Distributed Firewalls,";login;:37-39, Nov. 1999, http://www.cs.columbia.edu/-smb/papers/distfw. html, 10 pages, retrieved Nov. 11, 2005.
39 First Office Action in Japanese Application No. 2011-502139 dated Nov. 5, 2013.
40 First Office Action in Japanese Application No. 2011-503091 dated Nov. 18, 2013.
41 First Office Action in Japanese Application No. 2013-529454 mailed Feb. 3, 2014 in 6 pages.
42 First Office Action is Chinese Application No. 200980125551.8 mailed Jul. 4, 2012.
44 Fourth Office Action in Chinese Application No. 200980119993.1 dated Oct. 21, 2013.
45 Gruener, J., "A Vision Of Togetherness," May 24, 2004, NetworkWorld, retrieved May 3, 2006, from, http://www.networkworld.com/supp/2004/ndc3/0524virt.html, 9 pages.
46 Gunther et al, "Measuring Round Trip Times to determine the Distance between WLAN Nodes", Dec. 18, 2004, Technical University Berlin, all pages.
51 International Search Report and Written Opinion in PCT/US2011/053302 mailed Nov. 28, 2011 in 11 pages.
52 International Search Report and Written Opinion in PCT/US2011/061486 mailed Mar. 30, 2012 in 11 pages.
53 Ioannidis, S., et al., "Implementing a Distributed Firewall," Nov. 2000, (ACM) Proceedings of the ACM Computer and Communications Security (CCS) 2000, Athens, Greece, pp. 190-199, retrieved from http://www.cis.upenn.edu/~dls/STRONGMAN/Papers/df.pdf, 10 pages.
54 Ioannidis, S., et al., "Implementing a Distributed Firewall," Nov. 2000, (ACM) Proceedings of the ACM Computer and Communications Security (CCS) 2000, Athens, Greece, pp. 190-199, retrieved from http://www.cis.upenn.edu/˜dls/STRONGMAN/Papers/df.pdf, 10 pages.
55 Joseph, Joshy, et al., "Introduction to Grid Computing," Apr. 16, 2004, retrieved Aug. 30, 2007, from http://www.informit.com/articles/printerfriendly.aspx?p=169508, 19 pages.
56 Kenshi, P., "Help File Library: Iptables Basics," Justlinux, retrieved Dec. 1, 2005, from http://www.justlinux.com/nhf/Security/Iptables - Basics.html, 4 pages.
57 Kenshi, P., "Help File Library: Iptables Basics," Justlinux, retrieved Dec. 1, 2005, from http://www.justlinux.com/nhf/Security/Iptables — Basics.html, 4 pages.
58 Liu et al., "Combined mining of Web server logs and web contents for classifying user navigation patterns and predicting users' future requests," Data & Knowledge Engineering 61 (2007) pp. 304-330.
59 Maesono, et al., "A Local Scheduling Method considering Data Transfer in Data Grid," Technical Report of IEICE, vol. 104, No. 692, pp. 435-440, The Institute of Electronics, Information and Communication Engineers, Japan, Feb. 2005.
60 Office Action in Canadian Application No. 2726915 dated May 13, 2013.
61 Office Action in Canadian Application No. 2741895 dated Feb. 25, 2013.
62 Office Action in Canadian Application No. 2741895 dated Oct. 21, 2013.
63 Office Action in Chinese Application No. 200780020255.2 dated Mar. 4, 2013.
64 Office Action in Chinese Application No. 200980119993.1 dated Oct. 21, 2013.
65 Office Action in Chinese Application No. 200980119995.0 dated Apr. 15, 2013.
66 Office Action in Indian Application No. 3742/KOLNP/2008 dated Nov. 22, 2013.
67 Office Action in Japanese Application No. 2011-502138 mailed Feb. 1, 2013.
68 Office Action in Japanese Application No. 2011-502140 mailed Dec. 7, 2012.
69 Office Action in Japanese Application No. 2011-516466 mailed Mar. 6, 2013.
70 Office Action in Japanese Application No. 2012-052264 mailed Dec. 11, 2012 in 26 pages.
71 Office Action in Japanese Application No. 2013-123086 mailed Apr. 15, 2014 in 3 pages.
72 Office Action in Japanese Application No. 2013-540982 dated Jun. 2, 2014 English Translation Not Yet Received.
73 Office Action in Korean Application No. 10-2011-7002461 mailed May 29, 2013.
74 Preliminary Examination in Chinese Application No. 201180053405.6 dated May 28, 2013. English Translation Not Yet Received.
75 Preliminary Examination in Chinese Application No. 201310717573.1 dated Feb. 25, 2014. English Translation Not Yet Received.
76 Search Report and Written Opinion in Singapore Application No. 201103333-9 mailed Nov. 19, 2012.
77 Search Report and Written Opinion in Singapore Application No. 201301573-0 mailed Jul. 1, 2014.
78 Search Report and Written Opinion issued in Singapore Application No. 201006873-2 mailed on Oct. 12, 2011.
81 Second Office Action in Japanese Application No. 2011-516466 mailed Mar. 17, 2014.
82 Shankland, S., "Sun to buy start-up to bolster N1 ," Jul. 30, 2003, CNet News.com, retrieved May 3, 2006, http://news.zdnet.com/2100-3513-22-5057752.html, 8 pages.
83 Shankland, S., "Sun to buy start-up to bolster N1 ," Jul. 30, 2003, CNet News.com, retrieved May 3, 2006, http://news.zdnet.com/2100-3513—22-5057752.html, 8 pages.
84 Singapore Examination Report in Application No. 201006837-7 mailed May 16, 2012.
85 Singapore Written Opinion in Application No. 201006836-9, mailed Apr. 30, 2012 in 10 pages.
86 Singapore Written Opinion in Application No. 201006836-9, mailed Oct. 12, 2011 in 12 pages.
87 Singapore Written Opinion in Application No. 201006837-7, mailed Oct. 12, 2011 in 11 pages.
88 Singapore Written Opinion in Application No. 201006874-0, mailed Oct. 12, 2011 in 10 pages.
89 Strand, L., "Adaptive distributed firewall using intrusion detection," Nov. 1, 2004, University of Oslo Department of Informatics, retrieved Mar. 8, 2006, from http://gnist.org/~lars/studies/master/StrandLars-master.pdf, 158 pages.
90 Strand, L., "Adaptive distributed firewall using intrusion detection," Nov. 1, 2004, University of Oslo Department of Informatics, retrieved Mar. 8, 2006, from http://gnist.org/˜lars/studies/master/StrandLars-master.pdf, 158 pages.
91 Supplementary European Search Report in Application No. 07754164.7 mailed Dec. 20, 2010 in 7 pages.
92 Supplementary European Search Report in Application No. 09727694.3 mailed Jan. 30, 2012 in 6 pages.
93 Supplementary European Search Report in Application No. 09728756.9 mailed Jan. 8, 2013.
94 Takizawa, et al., "Scalable MultiReplication Framework on The Grid," Report of Study of Information Processing Society of Japan, Information Processing Society, vol. 2004, No. 81, pp. 247-252, Japan, Aug. 1, 2004.
95 Tan et al., "Classification: Basic Concepts, Decision Tree, and Model Evaluation", Introduction in Data Mining; http://www-users.cs.umn.edu/~kumar/dmbook/ch4.pdf, 2005, pp. 245-205.
96 Tan et al., "Classification: Basic Concepts, Decision Tree, and Model Evaluation", Introduction in Data Mining; http://www-users.cs.umn.edu/˜kumar/dmbook/ch4.pdf, 2005, pp. 245-205.
97 Third Office Action in Chinese Application No. 200980111426.1 mailed Jul. 7, 2014.
98 Van Renesse, R., "Astrolabe: A Robust And Scalable Technology For Distributed System Monitoring, Management, And Data Mining," May 2003, ACM Transactions On Computer Systems (TOCS), 21 (2): 164-206, 43 pages.
99 Vijayan, J., "Terraspring Gives Sun's N1 a Boost," Nov. 25, 2002, Computerworld, retrieved May 3, 2006, from http://www.computerworld.com/printthis/2002/0,4814, 76159,00.html, 3 pages.
100 Virtual Iron Software Home, Virtual Iron, retrieved May 3, 2006, from http://www.virtualiron.com/, 1 page.
101 Waldspurger, CA., "Spawn: A Distributed Computational Economy," Feb. 1992, IEEE Transactions on Software Engineering, 18(2): 103-117, I5 pages.
102 Watanabe, et al., "Remote Program Shipping System for GridRPC Systems," Report of Study of Information Processing Society of Japan, Information Processing Society, vol. 2003, No. 102, pp. 73-78, Japan, Oct. 16, 2003.
103 Written Opinion in Singapore Application No. 201303521-7 dated May 20, 2014.
104 Xu et al., "Decision tree regression for soft classification of remote sensing data", Remote Sensing of Environment 97 (2005) pp. 322-336.
105 Yamagata, et al., "A virtual-machine based fast deployment tool for Grid execution environment," Report of Study of Information Processing Society of Japan, Information Processing Society, vol. 2006, No. 20, pp. 127-132, Japan, Feb. 28, 2006.
106 Zhu, Xiaoyun, et al., "Utility-Driven Workload Management Using Nested Control Design," Mar. 29, 2006, HP Laboratories Palo Alto, HPL-2005-193(R.1), retrieved Aug. 30, 2007, from http://www.hpl.hp.com/techreports/2005/HPL-2005-193R1.pdf, 9 pages.
US7366099 1 Dic 2003 29 Abr 2008 Cisco Technology, Inc. Method and apparatus for synchronizing a data communications network
US20060087965 * 27 Oct 2004 27 Abr 2006 Shand Ian Michael C Method and apparatus for forwarding data in a data communications network
Clasificación de EE.UU. 709/223, 709/203, 709/224, 709/217
Clasificación cooperativa H04L67/1082, H04L41/12, H04L67/06, H04L67/1097, H04L67/26, H04L67/18, H04L67/02, H04L67/42, H04L67/20, H04L67/10, H04L67/2809