Source: http://www.google.es/patents/US8533293
Timestamp: 2017-09-21 07:06:28
Document Index: 667815527

Matched Legal Cases: ['Application No. 2741895', 'Application No. 2011', 'Application No. 2011', 'Application No. 2012', 'Application No. 201103333', 'Application No. 201006837', 'Application No. 201006836', 'Application No. 201006836', 'Application No. 201006837', 'Application No. 201006874', 'Application No. 07754164', 'Application No. 09727694', 'Application No. 09728756']

Patente US8533293 - Client side cache management - Google Patentes
A system, method and computer-readable medium for client-side cache management are provided. A client request for content is returned that includes executable code for generating a request for preload information. Based on processing the executable code, a client computing device requests preload information...http://www.google.es/patents/US8533293?utm_source=gb-gplus-sharePatente US8533293 - Client side cache management
Número de publicación US8533293 B1
Número de solicitud US 12/060,202
También publicado como US9210235, US20130346539, US20160088118
Número de publicación 060202, 12060202, US 8533293 B1, US 8533293B1, US-B1-8533293, US8533293 B1, US8533293B1
Inventores Swaminathan Sivasubramanian, David R. Richardson, Bradley E. Marshall, Mauricio A. Uribe
Citas de patentes (474), Otras citas (74), Citada por (3), Clasificaciones (8), Eventos legales (2)
US 8533293 B1
1. A method for processing content at a service provider, the method comprising:
under control of one or more configured computer systems associated with the service provider:
providing executable code to a content provider for embedding in content to be requested by a client computing device, wherein the executable code causes the client computing device to generate a request to the service provider for a preload content list;
obtaining a request for a preload content list from the client computing device responsive to the client computing device receiving the requested content and executing the embedded executable code, wherein the preload content list includes an identification of a set of resources for selection and preloading by the client computing device from the service provider and wherein the embedded executable code includes code for providing additional information associated with the client computing device;
determining a set of resources to provide to the client computing device in the preload content list, wherein the set of resources determined for identification in the preload content list corresponds to previous content requests serviced by one or more cache components of the service provider;
filtering the determined set of resources based on the additional information provided by the client computing device to identify a filtered preload content list;
providing the filtered preload content list to the client computing device;
obtaining a request, from the client computing device, to preload a resource identified on the filtered preload content list at the client computing device; and
providing the requested resource to the client computing device.
2. The method as recited in claim 1, wherein determining the set of resources for identification in the preload content list includes determining the set of resources based on previous content requests from the client computing device.
3. The method as recited in claim 1, wherein determining the set of resources for identification in the preload content list includes determining the set of resources based on previous content requests from a class associated with a set of client computing devices.
4. The method as recited in claim 3, wherein the class associated with a set of client computing devices is based on behavioral observations of resource requests from the set of client computing devices.
5. The method as recited in claim 1, wherein determining the set of resources for identification in the preload content list includes determining the set of resources based on previous content requests from a class associated with the client computing device.
6. The method as recited in claim 1, wherein the executable code further comprises executable instructions for processing the filtered preload content list at the client computing device after the filtered preload content list has been provided from the service provider to the client computing device.
7. The method as recited in claim 6, wherein the executable instructions for processing the filtered preload content list at the client computing device comprise instructions for filtering, at the client computing device, the filtered preload content list to prevent select content on the filtered preload content list from being preloaded at the client computing device.
8. The method as recited in claim 6, wherein the executable instructions for processing the filtered preload content list at the client computing device comprise instructions for managing storage controls at the client computing device for maintaining content both identified in the filtered preload content list and already stored at the client computing device.
9. The method as recited in claim 1, wherein the executable code further comprises executable instructions for processing a preloaded resource from the filtered preload content list at the client computing device.
10. The method as recited in claim 9, wherein the executable instructions for processing a preloaded resource from the filtered preload content list at the client computing device comprise instructions to store the preloaded resource from the filtered preload content list in a storage location for subsequent use by the client computing device.
11. A method for processing content at a client computing device, the method comprising:
obtaining, from a content provider, a set of content for processing on the client computing device responsive to a request for the set of content from the client computing device, wherein the set of content includes embedded executable code for causing the client computing device to generate a request to an identified service provider for a preload content list and wherein the set of content is different from one or more resources identified in the preload content list;
obtaining, from the identified service provider, the requested preload content list, wherein resources identified in the requested preload content list correspond to previous content requests serviced by one or more cache components of the identified service provider;
filtering, at the client computing device, the requested preload content list to identify a subset of resources from the requested preload content list;
generating and transmitting, by the client computing device, a request for preloading one or more of the subset of resources identified in the filtered preload content list; and
receiving, at the client computing device, the one or more of the subset of requested resources in response to the request for preloading one or more of the subset of resources.
maintaining the one or more of the subset of requested resources for subsequent use.
13. The method as recited in claim 11, wherein the executable code includes code for identifying additional information associated with the client computing device and wherein the request for the preload content list includes the additional information.
14. The method as recited in claim 13, wherein the requested preload content list further corresponds to the additional information.
15. The method as recited in claim 11, wherein the requested preload content list is filtered by the type or size of content.
16. The method as recited in claim 11, wherein the executable code further comprises executable instructions for processing the filtered preload content list at the client computing device.
17. The method as recited in claim 16, wherein the executable instructions for processing the filtered preload content list at the client computing device comprise instructions for managing storage controls at the client computing device for maintaining content both identified in the filtered preload content list and already stored at the client computing device.
18. The method as recited in claim 11, wherein the executable code further comprises executable instructions for processing the one or more preloaded resources from the filtered preload content list at the client computing device.
19. The method as recited in claim 18, wherein the executable instructions for processing the one or more preloaded resources from the filtered preload content list at the client computing device comprise instructions to store the one or more preloaded resources from the filtered preload content list in a storage location for subsequent use by the client computing device.
20. A method for processing content at a service provider, the method comprising:
obtaining a request, from a client computing device, for a preload content list responsive to the client computing device processing an original resource request, wherein the original resource request includes a request for one or more embedded resources and embedded executable code for causing the client computing device to provide the service provider with additional information associated with the client computing device;
determining a set of content for identification in the requested preload content list, wherein at least a portion of the set of content identified in the requested preload content list is unrelated to the one or more embedded resources corresponding to the original resource request;
filtering the determined set of content based on the additional information provided by the client computing device to identify a filtered preload content list; transmitting the filtered preload content list to the client computing device;
21. The method as recited in claim 20 further comprising obtaining the additional information generated by the client computing device with the request for the preload content list, wherein the set of content identified in the filtered preload content list is determined based on the additional information.
22. The method as recited in claim 21, wherein the additional information is behavioral information corresponding to the client computing device.
23. The method as recited in claim 20, wherein determining the set of content for identification in the requested preload content list further comprises determining the set of content for identification in the requested preload content list based on previously requested content provided by one or more cache components of the service provider.
24. The method as recited in claim 20, wherein determining the set of content for identification in the requested preload content list includes determining the set of content for identification in the requested preload content list based on previous content requests from a class associated with a set of client computing devices.
25. The method as recited in claim 20, wherein determining the set of content for identification in the requested preload content list includes determining the set of content for identification in the requested preload content list based on previous content requests from a class associated with the client computing device.
26. The method as recited in claim 20 further comprising obtaining, at the service provider, a request from the client computing device to preload content identified on the filtered preload content list at the client computing device.
27. The method as recited in claim 20 further comprising obtaining, at the service provider, a request from the client computing device to preload content identified on the filtered preload content list at the client computing device if the content is not stored in a storage location at the client computing device.
28. The method as recited in claim 20, wherein transmitting the filtered preload content list to the client computing device comprises transmitting the filtered preload content list together with expiration timeframes for the filtered preload content list.
In one illustrative embodiment, the class can correspond to a specific geographic region to which the client computing device belongs. In addition or alternatively, the class can correspond to temporal domain, e.g., time zone, business hours, daytime/nighttime, holidays, and the like. In another embodiment, the class can correspond to a particular subject area, such as a news group, associated with either the requested content or the user or both. Still further the class can correspond to demographic data. Depending on the information to be collected from the requesting client computing device, the resource cache component can determine and maintain this information in a number of ways as will be appreciated by one skilled in the relevant art. Moreover, it will further be appreciated by one skilled in the relevant art that one or more computing devices at the POP where the resource request is received can perform any of the above described functions
US20060143292 28 Dic 2004 29 Jun 2006 Taubenheim David B Location-based network access
13 "Xen-The Xen virtual Machine Monitor," University of Cambridge Computer Laboratory, retrieved Nov. 8, 2005, from http://www.cl.cam.ac.uk/Research/SRG/netos/xent, 2 pages.
14 "Xen—The Xen virtual Machine Monitor," University of Cambridge Computer Laboratory, retrieved Nov. 8, 2005, from http://www.cl.cam.ac.uk/Research/SRG/netos/xent, 2 pages.
23 Clark, C., "Live Migration of Virtual Machines," May 2005, NDSI '05: 2nd Symposium on Networked Systems Design and Implementation, Boston, MA, May 2-4, 2005, retrieved from http://www.usenix.org/events/nsdi05/tech/full-papers/clark/clark.pdf, 14 pages.
24 Clark, C., "Live Migration of Virtual Machines," May 2005, NDSI '05: 2nd Symposium on Networked Systems Design and Implementation, Boston, MA, May 2-4, 2005, retrieved from http://www.usenix.org/events/nsdi05/tech/full—papers/clark/clark.pdf, 14 pages.
39 International Search Report from PCT/US2009/38904 dated Aug. 25, 2010.
40 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/dt.pdf, 10 pages.
41 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/dt.pdf, 10 pages.
42 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.
43 Kenshi, P., "Help File Library: Iptables Basics," Justlinux, retrieved Dec. 1, 2005, from http://www.justlinux.com/nhf/Security/Iptables-Basics.html, 4 pages.
44 Kenshi, P., "Help File Library: Iptables Basics," Justlinux, retrieved Dec. 1, 2005, from http://www.justlinux.com/nhf/Security/Iptables—Basics.html, 4 pages.
45 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.
46 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.
47 Office Action in Candian Application No. 2741895 dated Feb. 25, 2013.
48 Office Action in Japanese Application No. 2011-502138 mailed Feb. 1, 2013.
49 Office Action in Japanese Application No. 2011-502140 mailed Dec. 7, 2012.
50 Office Action in Japanese Application No. 2012-052264 mailed Dec. 11, 2012 in 26 pages.
51 Search Report and Written Opinion in Singapore Application No. 201103333-9 mailed Nov. 19, 2012.
52 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.
53 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.
54 Singapore Examination Report in Application No. 201006837-7 mailed May 16, 2012.
55 Singapore Written Opinion in Application No. 201006836-9, mailed Apr. 30, 2012 in 10 pages.
56 Singapore Written Opinion in Application No. 201006836-9, mailed Oct. 12, 2011 in 12 pages.
57 Singapore Written Opinion in Application No. 201006837-7, mailed Oct. 12, 2011 in 11 pages.
58 Singapore Written Opinion in Application No. 201006874-0, mailed Oct. 12, 2011 in 10 pages.
59 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.
60 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.
61 Supplementary European Search Report in Application No. 07754164.7 mailed Dec. 20, 2010 in 7 pages.
62 Supplementary European Search Report in Application No. 09727694.3 mailed Jan. 30, 2012 in 6 pages.
63 Supplementary European Search Report in Application No. 09728756.9 mailed Jan. 8, 2013.
64 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.
65 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.
66 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.
67 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.
68 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.
69 Virtual Iron Software Home, Virtual Iron, retrieved May 3, 2006, from http://www.virtualiron.com/, 1 page.
70 Waldspurger, CA., "Spawn: A Distributed Computational Economy," Feb. 1992, IEEE Transactions on Software Engineering, 18(2): 103-117,I5 pages.
71 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.
72 Xu et al., "Decision tree regression for soft classification of remote sensing data", Remote Sensing of Environment 97 (2005) pp. 322-336.
73 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.
74 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.
US9571417 13 Ene 2015 14 Feb 2017 International Business Machines Corporation Processing resource access request in network
US9571982 20 Ago 2014 14 Feb 2017 Software Ag System and method for dynamically providing real-time service for a mobile wireless device
Clasificación de EE.UU. 709/219, 709/247, 707/999.01, 709/203
Clasificación cooperativa H04L67/2847, H04L67/2842, H04L67/42
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SIVASUBRAMANIAN, SWAMINATHAN;RICHARDSON, DAVID R.;MARSHALL, BRADLEY E.;AND OTHERS;SIGNING DATES FROM 20080422 TO 20100914;REEL/FRAME:024995/0172