US20100011123A1 - Method and Apparatus for Hierarchical Selective Personalization - Google Patents
Method and Apparatus for Hierarchical Selective Personalization Download PDFInfo
- Publication number
- US20100011123A1 US20100011123A1 US12/562,649 US56264909A US2010011123A1 US 20100011123 A1 US20100011123 A1 US 20100011123A1 US 56264909 A US56264909 A US 56264909A US 2010011123 A1 US2010011123 A1 US 2010011123A1
- Authority
- US
- United States
- Prior art keywords
- client
- computing device
- request
- level
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Definitions
- the present invention relates to distributed data processing systems and, more particularly, to distributed data processing systems for serving personalized content.
- Personalization in the context of distributed data networks involving clients and servers (such as the Internet or World Wide Web) is the term generally given to the process of serving content customized in some way to a requesting client.
- the basic mechanism for personalization in such data networks includes composing a Web page served on a Web server based on knowledge of the identity of the client.
- a key problem with existing personalization technique is that it can introduce significant overhead for producing content.
- Personalized content may require accesses to back-end databases which can consume significant central processing unit (CPU) cycles.
- CPU central processing unit
- a number of commercial Web sites use some forms of personalization. For example, one Web site employs two levels of subscribers. The preferred status level may receive personalized content by going to the server. It may not matter what the load is on the site; clients of a given level may always get the same service level. If the system is heavily loaded, their performance may be impacted but to a lesser degree due to the use of dedicated servers. Non-preferred users may get whatever the system can support no matter if it is heavily loaded or lightly loaded. “Load” generally refers to the utilization of the Web site and/or the number of requests made for content associated with the Web site.
- Web sites of weather or news related organizations typically support the concept of “extreme weather” or “big new story” situations. Such organizations may cut back on content of all types the more load they have on their Web sites. If they have no concept of preferred or non-preferred customers, personalized content simply becomes out-dated under these conditions.
- Another Web site employs the concept of shifting servers if a particular category of content is getting too much load. No personalization or customer differentiation is used. Load is simply shifted based on degree of usage.
- the present invention provides techniques for improved serving of content in a distributed data network.
- a technique of delivering content in a client-server system based on a request from a client comprises the following steps/operations.
- the request is received at a computing device, the receiving computing device being part of a hierarchy of one or more caches and one or more servers in the client-server system.
- a current load on a next-level computing device of the hierarchy is determined.
- a client type associated with the request is checked and, when the client type indicates that the client is below a given priority level, content to be delivered to the client in response to the request is personalized at the receiving computing device.
- the request is sent from the receiving computing device to the next-level computing device and the content to be delivered to the client in response to the request is personalized at the next-level computing device.
- the personalized content is sent to the client.
- FIG. 1 is a block diagram illustrating a distributed data network architecture with which embodiments of the present invention may be implemented
- FIG. 2 is a flow diagram illustrating a methodology for serving personalized content in accordance with an embodiment of the present invention.
- FIG. 3 is a block diagram illustrating a computing system with which embodiments of the present invention may be implemented.
- the present invention will be explained below in the context of an illustrative Internet or World Wide Web implementation. However, it is to be understood that the present invention is not limited to such an data network architecture. Rather, the invention is more generally applicable to any distributed data environment in which it would be desirable to serve personalized data to a client.
- client may generally refer to one or more computing systems (e.g., personal computer, personal digital assistant, cellphone, laptop, etc.) capable of making a request to a server (e.g., by connecting to a network to obtain data).
- a “client” may also occasionally refer to the individual(s) using the computing system (this will be clear from the circumstances).
- a “server” may generally refer to one or more computing systems capable of responding to a client request (e.g., by generating and serving content available on the network).
- cache may generally refer to one or more computing systems capable of storing and also serving data efficiently and is typically deployed to improve performance.
- the invention provides techniques for providing data in a client-server environment (including Web environments) in which personalized content is served from one or more servers and one or more caches.
- the system selects the proper server(s) and cache(s) to provide personalization based on characteristics such as load on the system and client identity.
- the degree of personalization of Web pages that can be achieved at a cache node is less than that possible at a server node.
- the improved personalization at a server node, relative to that at a cache comes at a price.
- the performance of serving personalized pages at a cache is usually better than that at a server node.
- the invention makes use of this difference to optimize the degree of personalization based on selecting degree and location of personalization based on several factors.
- the invention may be realized with one or more Web caches (having limited Web page personalization capability) and one or more Web servers (with capability of various levels of additional Web page personalization) arranged in a hierarchy.
- the Web cache(s) are interposed between the data network and the Web server(s).
- a combination of several criteria may be used to determine where the personalization is done and the degree of personalization to be employed.
- the invention determines when a page is served from a cache using considerations based on personalization.
- the methodology may decide to serve the page from a Web server, depending on the degree of personalization that the methodology decides to achieve.
- the Web page can be personalized at a cache, less information about the client may be available at the cache. For example, limited or no history of access information may be available for each client at the cache.
- IP Internet Protocol
- the cache may process cookies, or uniform resource locator (URL) headers that may provide more information about the client.
- One criterion for selective personalization that may be employed by the invention is that of the current load on the caches and the servers. If a Web server is lightly loaded, the methodology of the invention may favor personalization on the Web server. On the other hand, if the Web server is heavily loaded, the methodology of the invention may favor personalization at another entity. If the server has moderate load, the methodology of the invention may decide to still perform the personalization at the server, but to limit the degree of personalization so as to use less processing power at the server. If all caches and servers are loaded beyond a threshold, the methodology of the invention may serve the Web page without personalization to minimize the resources used.
- the identity and class of the client may be used to determine the location and degree of personalization.
- the identity of the client may be carried using cookies or URL extensions, by hidden fields, or other mechanisms in the Web request.
- High priority clients for personalization may be favored over lower priority clients.
- load on the Web servers permitting, personalization for the high priority clients may be done on the Web servers; very low priority clients may not have any personalization at all, and could be fed pre-cached pages; clients with intermediate priority would be served from a server if the server load is not too high, and personalized at the cache if server load is higher.
- FIG. 1 a block diagram illustrates a distributed data network architecture with which one or more embodiments of the present invention may be implemented.
- the architecture may include a plurality of client nodes 1000 - 1 , . . . , 1000 - n ) connected to network 2000 (e.g., World Wide Web).
- the architecture may also include a multilevel hierarchy formed by one or more caches and one or more servers.
- level 1 e.g., the lowest hierarchy level
- Level 2 includes Web cache 4000 - 1 connected to the level 1 caches.
- Level 3 (e.g., the highest hierarchy level) includes Web server 5000 - 1 connected to the level 2 cache. It is to be understood that more or less caches and Web servers may be employed at each level and the hierarchy may include more or less levels.
- FIG. 2 a flow diagram illustrates a methodology for serving personalized content in accordance with an embodiment of the present invention. More particularly, FIG. 2 shows processing logic 6000 of a Web page request at a Web cache. It is to be understood that such methodology could be implemented at a cache at any level in the hierarchy.
- a Web request is received at a Web cache. Note that if the cache is at the lowest level of the hierarchy, the request is directly from the client. Otherwise, the request is from the next lower level cache of the hierarchy.
- the load on the next level of the hierarchy is considered in step 6020 . If the load is high (e.g., enough to increase response times by at least 50 percent), the client type is checked in step 6030 . If the client type is of low priority, the personalization is performed at the Web cache in step 6060 . Otherwise, the client request is sent to the next level of the hierarchy at step 6040 .
- step 6050 the personalized response is received back from the cache in the next level of the hierarchy.
- step 6070 the personalized page is returned to the client. This is done through the next lower level cache of the hierarchy, if the Web cache is not at the lowest level.
- the client can have multiple levels of priority.
- the priority threshold to forward the request to the next higher level cache is load dependent. For example, assume four levels of client priority. If the load of the higher level cache is at 30 percent (%) or less, all requests can be forwarded to the higher level cache. Between 30% and 50% load, only clients with a priority level of two or higher will be forwarded to the next level. Between 50% and 70% load, the priority threshold is at priority level three. Above 70% load, only a priority four client request will be forwarded to the next level.
- One example of using the invention would pertain to personalizing a weather Web site that gets high loads during extreme weather (e.g., hurricanes).
- a weather Web site may be able to give customers very personalized and selectable content under normal conditions such as local golf course conditions, current local maps, local temperatures, etc.
- Customers to the site would be placed in different quality-of-service (QoS) classes.
- QoS quality-of-service
- Customers in higher QoS classes would get preferred access to personalized data.
- the site is subject to large numbers of users coming to the site during extreme weather conditions, the site could choose which customers it would give current personalized information versus perhaps personalized, but out-of-date, information.
- a preferred customer may always get his up-to-date personalized content even when the site is under very high load.
- a regular customer would receive all of his personalized information up-to-date when the site is lightly loaded but under heavy load his content would still be personalized but would only be updated at some interval (e.g., every fifteen minutes) and so would be out-of-date.
- the site could even be set up to have hierarchical levels of caching based on various loads. So that general customers would receive out-of-date information (fifteen minutes old) from first level caches, the next level up customer would receive more up-to-date information (two minutes old) from the next level of caches, and the most preferred customers would receive up-to-date information directly from the server under almost all conditions.
- the location and degree of personalization may depend on the Web page and/or port being requested. For instance, in an on-line business scenario, it may be deemed that request pages associated with ordering are to be favored for deep personalization. Or, there may be excess stock of some item, and browsers of certain other catalog pages are likely targets for advertising that item, possibly requiring personalization at the server.
- Other criteria may be combined with the above in determining the location and degree of personalization to be performed for a Web page requested by a client. For instance, personalization could be dependent on a profile of client preferences, e.g., preference for lower response time over more personalized data. Or it could be length of a client session, favoring clients who stay on the site indicating that they like the site.
- the decision to perform personalization can also take into account the type of personalization: (i) ad insertion; (ii) promotion (links within the site); and (iii) format of page which should only be done at the host.
- the invention provides a methodology for providing differentiated accuracy of information.
- accuracy of information may be the degree of personalization. In other cases, it may be something entirely different (e.g., degree of image resolution).
- FIG. 3 a block diagram illustrates an illustrative hardware implementation of a computing system in accordance with which one or more components/steps of the invention (e.g., methodologies described in the context of FIG. 2 as may be performed in accordance with the architecture of FIG. 1 ) may be implemented, according to an embodiment of the present invention.
- the computer system in FIG. 3 may be used to implement the caches and servers shown in FIG. 1 .
- the computer system of FIG. 3 may also be used to implement each of the plurality of clients.
- the individual components/steps of the invention may be implemented on one such computer system, or more preferably, on more than one such computer system.
- the individual computer systems and/or devices may be connected via a suitable network, e.g., the Internet or World Wide Web.
- a suitable network e.g., the Internet or World Wide Web.
- the system may be realized via private or local networks.
- the invention is not limited to any particular network.
- the computer system 7000 may be implemented in accordance with a processor 7020 , a memory 7040 , I/O devices 7060 , and a network interface 7080 , coupled via a computer bus 7100 or alternate connection arrangement.
- processor as used herein is intended to include any processing device, such as, for example, one that includes a CPU and/or other processing circuitry. It is also to be understood that the term “processor” may refer to more than one processing device and that various elements associated with a processing device may be shared by other processing devices.
- memory as used herein is intended to include memory associated with a processor or CPU, such as, for example, RAM, ROM, a fixed memory device (e.g., hard drive), a removable memory device (e.g., diskette), flash memory, etc.
- input/output devices or “I/O devices” as used herein is intended to include, for example, one or more input devices (e.g., keyboard, mouse, etc.) for entering data to the processing unit, and/or one or more output devices (e.g., speaker, display, etc.) for presenting results associated with the processing unit.
- input devices e.g., keyboard, mouse, etc.
- output devices e.g., speaker, display, etc.
- network interface as used herein is intended to include, for example, one or more transceivers to permit the computer system to communicate with another computer system via an appropriate communications protocol.
- software components including instructions or code for performing the methodologies described herein may be stored in one or more of the associated memory devices (e.g., ROM, fixed or removable memory) and, when ready to be utilized, loaded in part or in whole (e.g., into RAM) and executed by a CPU.
- ROM read-only memory
- RAM random access memory
- the invention can be applied to caching in a variety of different contexts in addition to the Web. It is important to note that while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms and that the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution.
- Examples of computer readable media include storage media, such as a floppy disk, a hard disk drive, a RAM, CD-ROMs, DVD-ROMs, and transmission-type media, such as digital and analog communications links, wired or wireless communications links using transmission forms, such as, for example, radio frequency and light wave transmissions.
- the computer readable media may take the form of coded formats that are decoded for actual use in a particular data processing system.
- a service provider could provide aspects of the present invention in the following illustrative way.
- Clients could belong to different quality-of-service (QoS) classes.
- QoS quality-of-service
- Clients belonging to high QoS classes get preferred access to personalized information.
- the service provider could provide different options for grouping clients into different QoS classes.
- One such method would be for levels of service to be specified via service level agreements.
- the service provider could monitor load on the system and control the degree of personalization in response to varying loads.
Abstract
A technique for delivering content in a client-server system based on a request received at a computing device from a client includes determining a current load on a next-level computing device of a hierarchy. When this current load is such that a response time for delivery of the request from the next-level computing device would increase above a given threshold, a client type associated with the request is checked and, when the client type indicates that the client is below a given priority level, content to be delivered to the client in response to the request is personalized at the receiving computing device. When the current load is such that the response time would not increase above a given threshold, the request is sent from the receiving computing device to the next-level computing device and the content to be delivered is personalized at the next-level computing device.
Description
- This application is a divisional of U.S. application Ser. No. 10/789,087 filed on Feb. 27, 2004, the disclosure of which is incorporated herein by reference.
- The present invention relates to distributed data processing systems and, more particularly, to distributed data processing systems for serving personalized content.
- “Personalization” in the context of distributed data networks involving clients and servers (such as the Internet or World Wide Web) is the term generally given to the process of serving content customized in some way to a requesting client. The basic mechanism for personalization in such data networks includes composing a Web page served on a Web server based on knowledge of the identity of the client.
- A key problem with existing personalization technique, however, is that it can introduce significant overhead for producing content. Personalized content may require accesses to back-end databases which can consume significant central processing unit (CPU) cycles.
- A number of commercial Web sites use some forms of personalization. For example, one Web site employs two levels of subscribers. The preferred status level may receive personalized content by going to the server. It may not matter what the load is on the site; clients of a given level may always get the same service level. If the system is heavily loaded, their performance may be impacted but to a lesser degree due to the use of dedicated servers. Non-preferred users may get whatever the system can support no matter if it is heavily loaded or lightly loaded. “Load” generally refers to the utilization of the Web site and/or the number of requests made for content associated with the Web site.
- Web sites of weather or news related organizations typically support the concept of “extreme weather” or “big new story” situations. Such organizations may cut back on content of all types the more load they have on their Web sites. If they have no concept of preferred or non-preferred customers, personalized content simply becomes out-dated under these conditions.
- Another Web site employs the concept of shifting servers if a particular category of content is getting too much load. No personalization or customer differentiation is used. Load is simply shifted based on degree of usage.
- Thus, a need exists for improved serving of personalized content in a distributed data network.
- The present invention provides techniques for improved serving of content in a distributed data network.
- In one aspect of the invention, a technique of delivering content in a client-server system based on a request from a client comprises the following steps/operations. The request is received at a computing device, the receiving computing device being part of a hierarchy of one or more caches and one or more servers in the client-server system. A current load on a next-level computing device of the hierarchy is determined. When the current load on the next-level computing device of the hierarchy is such that a response time for delivery of the request from the next-level computing device would increase above a given threshold, a client type associated with the request is checked and, when the client type indicates that the client is below a given priority level, content to be delivered to the client in response to the request is personalized at the receiving computing device. When the current load on the next-level computing device of the hierarchy is such that a response time for delivery of the request from the next-level computing device would not increase above a given threshold, the request is sent from the receiving computing device to the next-level computing device and the content to be delivered to the client in response to the request is personalized at the next-level computing device. The personalized content is sent to the client.
- These and other objects, features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings.
-
FIG. 1 is a block diagram illustrating a distributed data network architecture with which embodiments of the present invention may be implemented; -
FIG. 2 is a flow diagram illustrating a methodology for serving personalized content in accordance with an embodiment of the present invention; and -
FIG. 3 is a block diagram illustrating a computing system with which embodiments of the present invention may be implemented. - The present invention will be explained below in the context of an illustrative Internet or World Wide Web implementation. However, it is to be understood that the present invention is not limited to such an data network architecture. Rather, the invention is more generally applicable to any distributed data environment in which it would be desirable to serve personalized data to a client.
- As illustratively used herein, the term “client” may generally refer to one or more computing systems (e.g., personal computer, personal digital assistant, cellphone, laptop, etc.) capable of making a request to a server (e.g., by connecting to a network to obtain data). A “client” may also occasionally refer to the individual(s) using the computing system (this will be clear from the circumstances). A “server” may generally refer to one or more computing systems capable of responding to a client request (e.g., by generating and serving content available on the network). A “cache” may generally refer to one or more computing systems capable of storing and also serving data efficiently and is typically deployed to improve performance.
- As will be illustratively explained below, the invention provides techniques for providing data in a client-server environment (including Web environments) in which personalized content is served from one or more servers and one or more caches. The system selects the proper server(s) and cache(s) to provide personalization based on characteristics such as load on the system and client identity. In general, the degree of personalization of Web pages that can be achieved at a cache node is less than that possible at a server node. However, the improved personalization at a server node, relative to that at a cache, comes at a price. The performance of serving personalized pages at a cache is usually better than that at a server node. The invention makes use of this difference to optimize the degree of personalization based on selecting degree and location of personalization based on several factors.
- Furthermore, in one embodiment, it is to be appreciated that the invention may be realized with one or more Web caches (having limited Web page personalization capability) and one or more Web servers (with capability of various levels of additional Web page personalization) arranged in a hierarchy. The Web cache(s) are interposed between the data network and the Web server(s).
- There has been considerable work in the area of hierarchical caching for Web environments. The following references describe such work: J. Wang, “A Survey of Web Caching Schemes for the Internet,” ACM Computer Communication Review (CCR), Vol. 29, No. 5, October 1999; and J. Challenger et al., “Efficiently Serving Dynamic Data at Highly Accessed Web Sites,” IBM Research Report No. RC22823, June 2003, the disclosures of which are incorporated by reference herein. However, no past references on hierarchical caching describe how to use such systems for personalization.
- In accordance with the present invention, a combination of several criteria may be used to determine where the personalization is done and the degree of personalization to be employed.
- In an illustrative methodology described herein, the invention determines when a page is served from a cache using considerations based on personalization. Thus, even if a Web page is cached at a Web cache, the methodology may decide to serve the page from a Web server, depending on the degree of personalization that the methodology decides to achieve. While the Web page can be personalized at a cache, less information about the client may be available at the cache. For example, limited or no history of access information may be available for each client at the cache. The source Internet Protocol (IP) address of the client (or that of the firewall his request comes through) is known at the cache. The cache may process cookies, or uniform resource locator (URL) headers that may provide more information about the client.
- One criterion for selective personalization that may be employed by the invention is that of the current load on the caches and the servers. If a Web server is lightly loaded, the methodology of the invention may favor personalization on the Web server. On the other hand, if the Web server is heavily loaded, the methodology of the invention may favor personalization at another entity. If the server has moderate load, the methodology of the invention may decide to still perform the personalization at the server, but to limit the degree of personalization so as to use less processing power at the server. If all caches and servers are loaded beyond a threshold, the methodology of the invention may serve the Web page without personalization to minimize the resources used.
- Furthermore, the identity and class of the client may be used to determine the location and degree of personalization. As is known, the identity of the client may be carried using cookies or URL extensions, by hidden fields, or other mechanisms in the Web request. High priority clients for personalization may be favored over lower priority clients. Thus, load on the Web servers permitting, personalization for the high priority clients may be done on the Web servers; very low priority clients may not have any personalization at all, and could be fed pre-cached pages; clients with intermediate priority would be served from a server if the server load is not too high, and personalized at the cache if server load is higher.
- Referring initially to
FIG. 1 , a block diagram illustrates a distributed data network architecture with which one or more embodiments of the present invention may be implemented. As shown, the architecture may include a plurality of client nodes 1000-1, . . . , 1000-n) connected to network 2000 (e.g., World Wide Web). The architecture may also include a multilevel hierarchy formed by one or more caches and one or more servers. In the example shown inFIG. 1 , level 1 (e.g., the lowest hierarchy level) includes a plurality of Web caches 3000-1, . . . , 3000-m, which are directly connected tonetwork 2000.Level 2 includes Web cache 4000-1 connected to thelevel 1 caches. Level 3 (e.g., the highest hierarchy level) includes Web server 5000-1 connected to thelevel 2 cache. It is to be understood that more or less caches and Web servers may be employed at each level and the hierarchy may include more or less levels. - Referring now
FIG. 2 , a flow diagram illustrates a methodology for serving personalized content in accordance with an embodiment of the present invention. More particularly,FIG. 2 showsprocessing logic 6000 of a Web page request at a Web cache. It is to be understood that such methodology could be implemented at a cache at any level in the hierarchy. - In
step 6010, a Web request is received at a Web cache. Note that if the cache is at the lowest level of the hierarchy, the request is directly from the client. Otherwise, the request is from the next lower level cache of the hierarchy. The load on the next level of the hierarchy is considered instep 6020. If the load is high (e.g., enough to increase response times by at least 50 percent), the client type is checked instep 6030. If the client type is of low priority, the personalization is performed at the Web cache instep 6060. Otherwise, the client request is sent to the next level of the hierarchy atstep 6040. - In
step 6050, the personalized response is received back from the cache in the next level of the hierarchy. Instep 6070, the personalized page is returned to the client. This is done through the next lower level cache of the hierarchy, if the Web cache is not at the lowest level. - It is to be noted that for the cache at the highest level of the cache hierarchy (i.e., the portion of the overall system hierarchy that includes only the caches), no client type checking will be performed. All requests forwarded to the cache will be served. Since the lower level cache maintains information on the load of the higher level cache, it can avoid overloading the higher level cache.
- It is also to be noted that the client can have multiple levels of priority. The priority threshold to forward the request to the next higher level cache is load dependent. For example, assume four levels of client priority. If the load of the higher level cache is at 30 percent (%) or less, all requests can be forwarded to the higher level cache. Between 30% and 50% load, only clients with a priority level of two or higher will be forwarded to the next level. Between 50% and 70% load, the priority threshold is at priority level three. Above 70% load, only a priority four client request will be forwarded to the next level.
- One example of using the invention would pertain to personalizing a weather Web site that gets high loads during extreme weather (e.g., hurricanes). Such a Web site may be able to give customers very personalized and selectable content under normal conditions such as local golf course conditions, current local maps, local temperatures, etc. Customers to the site would be placed in different quality-of-service (QoS) classes. Customers in higher QoS classes would get preferred access to personalized data. When the site is subject to large numbers of users coming to the site during extreme weather conditions, the site could choose which customers it would give current personalized information versus perhaps personalized, but out-of-date, information.
- So a preferred customer may always get his up-to-date personalized content even when the site is under very high load. A regular customer would receive all of his personalized information up-to-date when the site is lightly loaded but under heavy load his content would still be personalized but would only be updated at some interval (e.g., every fifteen minutes) and so would be out-of-date.
- The site could even be set up to have hierarchical levels of caching based on various loads. So that general customers would receive out-of-date information (fifteen minutes old) from first level caches, the next level up customer would receive more up-to-date information (two minutes old) from the next level of caches, and the most preferred customers would receive up-to-date information directly from the server under almost all conditions.
- The location and degree of personalization may depend on the Web page and/or port being requested. For instance, in an on-line business scenario, it may be deemed that request pages associated with ordering are to be favored for deep personalization. Or, there may be excess stock of some item, and browsers of certain other catalog pages are likely targets for advertising that item, possibly requiring personalization at the server. Those skilled in the art will readily appreciate that other criteria may be combined with the above in determining the location and degree of personalization to be performed for a Web page requested by a client. For instance, personalization could be dependent on a profile of client preferences, e.g., preference for lower response time over more personalized data. Or it could be length of a client session, favoring clients who stay on the site indicating that they like the site.
- The decision to perform personalization can also take into account the type of personalization: (i) ad insertion; (ii) promotion (links within the site); and (iii) format of page which should only be done at the host.
- Personalization is just one example of an application of the invention. More generally, the invention provides a methodology for providing differentiated accuracy of information. In some cases, accuracy of information may be the degree of personalization. In other cases, it may be something entirely different (e.g., degree of image resolution).
- Referring finally to
FIG. 3 , a block diagram illustrates an illustrative hardware implementation of a computing system in accordance with which one or more components/steps of the invention (e.g., methodologies described in the context ofFIG. 2 as may be performed in accordance with the architecture ofFIG. 1 ) may be implemented, according to an embodiment of the present invention. Thus, the computer system inFIG. 3 may be used to implement the caches and servers shown inFIG. 1 . The computer system ofFIG. 3 may also be used to implement each of the plurality of clients. - It is to be understood that the individual components/steps of the invention may be implemented on one such computer system, or more preferably, on more than one such computer system. In the case of an implementation on a distributed computing system, the individual computer systems and/or devices may be connected via a suitable network, e.g., the Internet or World Wide Web. However, the system may be realized via private or local networks. The invention is not limited to any particular network.
- As shown, the
computer system 7000 may be implemented in accordance with aprocessor 7020, amemory 7040, I/O devices 7060, and anetwork interface 7080, coupled via acomputer bus 7100 or alternate connection arrangement. - It is to be appreciated that the term “processor” as used herein is intended to include any processing device, such as, for example, one that includes a CPU and/or other processing circuitry. It is also to be understood that the term “processor” may refer to more than one processing device and that various elements associated with a processing device may be shared by other processing devices.
- The term “memory” as used herein is intended to include memory associated with a processor or CPU, such as, for example, RAM, ROM, a fixed memory device (e.g., hard drive), a removable memory device (e.g., diskette), flash memory, etc.
- In addition, the phrase “input/output devices” or “I/O devices” as used herein is intended to include, for example, one or more input devices (e.g., keyboard, mouse, etc.) for entering data to the processing unit, and/or one or more output devices (e.g., speaker, display, etc.) for presenting results associated with the processing unit.
- Still further, the phrase “network interface” as used herein is intended to include, for example, one or more transceivers to permit the computer system to communicate with another computer system via an appropriate communications protocol.
- Accordingly, software components including instructions or code for performing the methodologies described herein may be stored in one or more of the associated memory devices (e.g., ROM, fixed or removable memory) and, when ready to be utilized, loaded in part or in whole (e.g., into RAM) and executed by a CPU.
- The invention can be applied to caching in a variety of different contexts in addition to the Web. It is important to note that while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms and that the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include storage media, such as a floppy disk, a hard disk drive, a RAM, CD-ROMs, DVD-ROMs, and transmission-type media, such as digital and analog communications links, wired or wireless communications links using transmission forms, such as, for example, radio frequency and light wave transmissions. The computer readable media may take the form of coded formats that are decoded for actual use in a particular data processing system.
- It is to be further appreciated that a service provider could provide aspects of the present invention in the following illustrative way. Clients could belong to different quality-of-service (QoS) classes. Clients belonging to high QoS classes get preferred access to personalized information. The service provider could provide different options for grouping clients into different QoS classes. One such method would be for levels of service to be specified via service level agreements.
- During periods of light load, all clients could receive personalized information. During periods of heavier load, some fraction of clients could receive less personalized content. As load increases, more clients would receive less personalized information. Clients belonging to higher QoS classes would be affected the least. Conversely, as load decreases, more clients could receive more personalized information.
- The service provider could monitor load on the system and control the degree of personalization in response to varying loads.
- Although illustrative embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various other changes and modifications may be made by one skilled in the art without departing from the scope or spirit of the invention.
Claims (20)
1. A method of delivering content in a client-server system based on a request from a client, comprising the steps of:
receiving the request at a computing device, the receiving computing device being part of a hierarchy of one or more caches and one or more servers in the client-server system;
determining a current load on a next-level computing device of the hierarchy;
when the current load on the next-level computing device of the hierarchy is such that a response time for delivery of the request from the next-level computing device would increase above a given threshold, checking a client type associated with the request and, when the client type indicates that the client is below a given priority level, personalizing content to be delivered to the client in response to the request at the receiving computing device;
when the current load on the next-level computing device of the hierarchy is such that a response time for delivery of the request from the next-level computing device would not increase above a given threshold, the request is sent from the receiving computing device to the next-level computing device and the content to be delivered to the client in response to the request is personalized at the next-level computing device; and
sending the personalized content to the client.
2. The method of claim 1 , wherein personalizing the content to be delivered to the client in response to the request comprises selecting a level of personalization from a plurality of levels of personalization.
3. The method of claim 2 , wherein the selection of the level of personalization is based on at least one personalization preference.
4. The method of claim 2 , wherein personalizing the content to be delivered to the client in response to the request further comprises creating a personalized Web page based on the selected level of personalization.
5. The method of claim 1 , wherein delivering content in a client-server system comprises delivering content in the World Wide Web.
6. The method of claim 5 , wherein delivering the content comprises delivering one or more Web pages.
7. A computing device for delivering content in a client-server system based on a request from a client, the computing device being part of a hierarchy of one or more caches and one or more servers in the client-server system, the computing device comprising:
a memory; and
one or more processors coupled to the memory and operative:
to receive the request;
to determine a current load on a next-level computing device of the hierarchy;
when the current load on the next-level computing device of the hierarchy is such that a response time for delivery of the request from the next-level computing device would increase above a given threshold, to check a client type associated with the request and, when the client type indicates that the client is below a given priority level, to personalize content to be delivered to the client in response to the request;
when the current load on the next-level computing device of the hierarchy is such that a response time for delivery of the request from the next-level computing device would not increase above a given threshold, to send the request to the next-level computing device such that content to be delivered to the client in response to the request is personalized at the next-level computing device; and
to send the personalized content to the client.
8. The computing device of claim 7 , wherein personalizing the content to be delivered to the client in response to the request comprises selecting a level of personalization from a plurality of levels of personalization.
9. The computing device of claim 8 , wherein the selection of the level of personalization is based on at least one personalization preference.
10. The computing device of claim 8 , wherein personalizing the content to be delivered to the client in response to the request further comprises creating a personalized Web page based on the selected level of personalization.
11. The computing device of claim 7 , wherein delivering content in a client-server system comprises delivering content in the World Wide Web.
12. The computing device of claim 11 , wherein delivering the content comprises delivering one or more Web pages.
13. The computing device of claim 11 , wherein the computing device is one of a cache or a server.
14. An article of manufacture for use in delivering content in a client-server system based on a request from a client, comprising a computer readable storage medium containing one or more programs which when executed by a computing device, the computing device being part of a hierarchy of one or more caches and one or more servers in the client-server system, implement the steps of:
receiving the request;
determining a current load on a next-level computing device of the hierarchy;
when the current load on the next-level computing device of the hierarchy is such that a response time for delivery of the request from the next-level computing device would increase above a given threshold, checking a client type associated with the request and, when the client type indicates that the client is below a given priority level, personalizing content to be delivered to the client in response to the request;
when the current load on the next-level computing device of the hierarchy is such that a response time for delivery of the request from the next-level computing device would not increase above a given threshold, sending the request to the next-level computing device such that content to be delivered to the client in response to the request is personalized at the next-level computing device; and
sending the personalized content to the client.
15. The article of manufacture of claim 14 , wherein personalizing the content to be delivered to the client in response to the request comprises selecting a level of personalization from a plurality of levels of personalization.
16. The article of manufacture of claim 15 , wherein the selection of the level of personalization is based on at least one personalization preference.
17. The article of manufacture of claim 15 , wherein personalizing the content to be delivered to the client in response to the request further comprises creating a personalized Web page based on the selected level of personalization.
18. The article of manufacture of claim 14 , wherein delivering content in a client-server system comprises delivering content in the World Wide Web.
19. The article of manufacture of claim 18 , wherein delivering the content comprises delivering one or more Web pages.
20. The article of manufacture of claim 14 , wherein the computing device is one of a cache or a server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/562,649 US20100011123A1 (en) | 2004-02-27 | 2009-09-18 | Method and Apparatus for Hierarchical Selective Personalization |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/789,087 US7631081B2 (en) | 2004-02-27 | 2004-02-27 | Method and apparatus for hierarchical selective personalization |
US12/562,649 US20100011123A1 (en) | 2004-02-27 | 2009-09-18 | Method and Apparatus for Hierarchical Selective Personalization |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/789,087 Division US7631081B2 (en) | 2004-02-27 | 2004-02-27 | Method and apparatus for hierarchical selective personalization |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100011123A1 true US20100011123A1 (en) | 2010-01-14 |
Family
ID=34887179
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/789,087 Expired - Fee Related US7631081B2 (en) | 2004-02-27 | 2004-02-27 | Method and apparatus for hierarchical selective personalization |
US12/562,649 Abandoned US20100011123A1 (en) | 2004-02-27 | 2009-09-18 | Method and Apparatus for Hierarchical Selective Personalization |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/789,087 Expired - Fee Related US7631081B2 (en) | 2004-02-27 | 2004-02-27 | Method and apparatus for hierarchical selective personalization |
Country Status (5)
Country | Link |
---|---|
US (2) | US7631081B2 (en) |
EP (1) | EP1725954A1 (en) |
JP (1) | JP4405548B2 (en) |
CN (1) | CN100444162C (en) |
WO (1) | WO2005093608A1 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9367490B2 (en) | 2014-06-13 | 2016-06-14 | Microsoft Technology Licensing, Llc | Reversible connector for accessory devices |
US9384335B2 (en) | 2014-05-12 | 2016-07-05 | Microsoft Technology Licensing, Llc | Content delivery prioritization in managed wireless distribution networks |
US9384334B2 (en) | 2014-05-12 | 2016-07-05 | Microsoft Technology Licensing, Llc | Content discovery in managed wireless distribution networks |
US9430667B2 (en) | 2014-05-12 | 2016-08-30 | Microsoft Technology Licensing, Llc | Managed wireless distribution network |
US9614724B2 (en) | 2014-04-21 | 2017-04-04 | Microsoft Technology Licensing, Llc | Session-based device configuration |
US9874914B2 (en) | 2014-05-19 | 2018-01-23 | Microsoft Technology Licensing, Llc | Power management contracts for accessory devices |
US9948780B1 (en) | 2015-12-21 | 2018-04-17 | At&T Mobility Ii Llc | Customized communication routing |
US10111099B2 (en) | 2014-05-12 | 2018-10-23 | Microsoft Technology Licensing, Llc | Distributing content in managed wireless distribution networks |
US10691445B2 (en) | 2014-06-03 | 2020-06-23 | Microsoft Technology Licensing, Llc | Isolating a portion of an online computing service for testing |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589534B2 (en) * | 2007-09-13 | 2013-11-19 | Ricoh Company, Ltd. | Device information management apparatus, device information management method, and storage medium which operates during a failure |
US8566439B2 (en) * | 2007-10-01 | 2013-10-22 | Ebay Inc | Method and system for intelligent request refusal in response to a network deficiency detection |
US8015280B2 (en) * | 2007-10-01 | 2011-09-06 | Ebay Inc. | Method and system for intelligent feature degradation in response to a network deficiency detection |
WO2011075019A1 (en) * | 2009-12-16 | 2011-06-23 | Telefonaktiebolaget L M Ericsson (Publ) | A method, server, computer program and computer program product for caching |
JP5469156B2 (en) * | 2011-12-06 | 2014-04-09 | ヤフー株式会社 | Information processing apparatus, method and system |
JP2015507882A (en) * | 2012-01-05 | 2015-03-12 | テルコム・ベンチャーズ・エルエルシー | System, method and device for selecting content delivery method based on customer demand for specific content |
ES2720051T3 (en) * | 2012-09-27 | 2019-07-17 | Amadeus Sas | System and method of load distribution in a network |
US10033824B2 (en) * | 2014-06-30 | 2018-07-24 | Samsung Electronics Co., Ltd. | Cache manifest for efficient peer assisted streaming |
JP6062511B1 (en) * | 2015-09-07 | 2017-01-18 | ヤフー株式会社 | CHANGE DEVICE, CHANGE METHOD, DISTRIBUTION METHOD, CHANGE PROGRAM, AND DISTRIBUTION SYSTEM |
Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6078960A (en) * | 1998-07-03 | 2000-06-20 | Acceleration Software International Corporation | Client-side load-balancing in client server network |
US6128279A (en) * | 1997-10-06 | 2000-10-03 | Web Balance, Inc. | System for balancing loads among network servers |
US6167438A (en) * | 1997-05-22 | 2000-12-26 | Trustees Of Boston University | Method and system for distributed caching, prefetching and replication |
US6182138B1 (en) * | 1996-02-15 | 2001-01-30 | Nec Corporation | Data distribution system that performs load balancing by directly transmitting data between distribution servers |
US6192408B1 (en) * | 1997-09-26 | 2001-02-20 | Emc Corporation | Network file server sharing local caches of file access information in data processors assigned to respective file systems |
US20010037402A1 (en) * | 1998-06-25 | 2001-11-01 | Bengt-Olaf Schneider | Method and system for providing three-dimensional graphics over computer networks |
US20020065899A1 (en) * | 2000-11-30 | 2002-05-30 | Smith Erik Richard | System and method for delivering dynamic content |
US6421675B1 (en) * | 1998-03-16 | 2002-07-16 | S. L. I. Systems, Inc. | Search engine |
US6438652B1 (en) * | 1998-10-09 | 2002-08-20 | International Business Machines Corporation | Load balancing cooperating cache servers by shifting forwarded request |
US20020198961A1 (en) * | 1999-08-27 | 2002-12-26 | Balachander Krishnamurthy | Method for improving web performance by client characterization-driven server adaptation |
US6542964B1 (en) * | 1999-06-02 | 2003-04-01 | Blue Coat Systems | Cost-based optimization for content distribution using dynamic protocol selection and query resolution for cache server |
US20030065743A1 (en) * | 2001-09-28 | 2003-04-03 | Jenny Patrick Duncan | Method and system for distributing requests for content |
US20030108052A1 (en) * | 2001-12-06 | 2003-06-12 | Rumiko Inoue | Server load sharing system |
US6799251B1 (en) * | 2000-08-29 | 2004-09-28 | Oracle International Corporation | Performance-based caching |
US6973485B2 (en) * | 1997-10-07 | 2005-12-06 | Hitachi, Ltd. | Proxy server selecting server and proxy server |
US6988135B2 (en) * | 2001-02-15 | 2006-01-17 | International Business Machines Corporation | Method and system for specifying a cache policy for caching web pages which include dynamic content |
US7133905B2 (en) * | 2002-04-09 | 2006-11-07 | Akamai Technologies, Inc. | Method and system for tiered distribution in a content delivery network |
US7143244B2 (en) * | 2003-09-05 | 2006-11-28 | Oracle International Corp. | System and method for invalidating data in a hierarchy of caches |
US7146430B2 (en) * | 2000-07-25 | 2006-12-05 | Nec Corporation | Technique for enhancing effectiveness of cache server |
US7197547B1 (en) * | 1999-05-11 | 2007-03-27 | Andrew Karl Miller | Load balancing technique implemented in a data network device utilizing a data cache |
US7552195B2 (en) * | 2000-04-10 | 2009-06-23 | Integrated Architecture, Llc | Dynamic page generation acceleration using component-level caching by determining a maximum navigation probability for a particular cacheline |
US7761594B1 (en) * | 2001-10-15 | 2010-07-20 | Netapp, Inc. | Method and apparatus for forwarding requests in a cache hierarchy based on user-defined forwarding rules |
US7802065B1 (en) * | 2004-05-03 | 2010-09-21 | Crimson Corporation | Peer to peer based cache management |
US7865585B2 (en) * | 2007-03-12 | 2011-01-04 | Citrix Systems, Inc. | Systems and methods for providing dynamic ad hoc proxy-cache hierarchies |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3755147B2 (en) * | 2001-05-25 | 2006-03-15 | 日本電気株式会社 | Portal site creation method and portal site creation device |
-
2004
- 2004-02-27 US US10/789,087 patent/US7631081B2/en not_active Expired - Fee Related
- 2004-06-21 WO PCT/US2004/019764 patent/WO2005093608A1/en active Application Filing
- 2004-06-21 JP JP2007500738A patent/JP4405548B2/en active Active
- 2004-06-21 CN CNB2004800421289A patent/CN100444162C/en active Active
- 2004-06-21 EP EP04776850A patent/EP1725954A1/en not_active Withdrawn
-
2009
- 2009-09-18 US US12/562,649 patent/US20100011123A1/en not_active Abandoned
Patent Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182138B1 (en) * | 1996-02-15 | 2001-01-30 | Nec Corporation | Data distribution system that performs load balancing by directly transmitting data between distribution servers |
US6167438A (en) * | 1997-05-22 | 2000-12-26 | Trustees Of Boston University | Method and system for distributed caching, prefetching and replication |
US6192408B1 (en) * | 1997-09-26 | 2001-02-20 | Emc Corporation | Network file server sharing local caches of file access information in data processors assigned to respective file systems |
US6128279A (en) * | 1997-10-06 | 2000-10-03 | Web Balance, Inc. | System for balancing loads among network servers |
US6973485B2 (en) * | 1997-10-07 | 2005-12-06 | Hitachi, Ltd. | Proxy server selecting server and proxy server |
US6421675B1 (en) * | 1998-03-16 | 2002-07-16 | S. L. I. Systems, Inc. | Search engine |
US20010037402A1 (en) * | 1998-06-25 | 2001-11-01 | Bengt-Olaf Schneider | Method and system for providing three-dimensional graphics over computer networks |
US6078960A (en) * | 1998-07-03 | 2000-06-20 | Acceleration Software International Corporation | Client-side load-balancing in client server network |
US6438652B1 (en) * | 1998-10-09 | 2002-08-20 | International Business Machines Corporation | Load balancing cooperating cache servers by shifting forwarded request |
US7197547B1 (en) * | 1999-05-11 | 2007-03-27 | Andrew Karl Miller | Load balancing technique implemented in a data network device utilizing a data cache |
US6542964B1 (en) * | 1999-06-02 | 2003-04-01 | Blue Coat Systems | Cost-based optimization for content distribution using dynamic protocol selection and query resolution for cache server |
US20020198961A1 (en) * | 1999-08-27 | 2002-12-26 | Balachander Krishnamurthy | Method for improving web performance by client characterization-driven server adaptation |
US7552195B2 (en) * | 2000-04-10 | 2009-06-23 | Integrated Architecture, Llc | Dynamic page generation acceleration using component-level caching by determining a maximum navigation probability for a particular cacheline |
US7146430B2 (en) * | 2000-07-25 | 2006-12-05 | Nec Corporation | Technique for enhancing effectiveness of cache server |
US6799251B1 (en) * | 2000-08-29 | 2004-09-28 | Oracle International Corporation | Performance-based caching |
US20020065899A1 (en) * | 2000-11-30 | 2002-05-30 | Smith Erik Richard | System and method for delivering dynamic content |
US6988135B2 (en) * | 2001-02-15 | 2006-01-17 | International Business Machines Corporation | Method and system for specifying a cache policy for caching web pages which include dynamic content |
US20030065743A1 (en) * | 2001-09-28 | 2003-04-03 | Jenny Patrick Duncan | Method and system for distributing requests for content |
US7761594B1 (en) * | 2001-10-15 | 2010-07-20 | Netapp, Inc. | Method and apparatus for forwarding requests in a cache hierarchy based on user-defined forwarding rules |
US20030108052A1 (en) * | 2001-12-06 | 2003-06-12 | Rumiko Inoue | Server load sharing system |
US7133905B2 (en) * | 2002-04-09 | 2006-11-07 | Akamai Technologies, Inc. | Method and system for tiered distribution in a content delivery network |
US7143244B2 (en) * | 2003-09-05 | 2006-11-28 | Oracle International Corp. | System and method for invalidating data in a hierarchy of caches |
US7802065B1 (en) * | 2004-05-03 | 2010-09-21 | Crimson Corporation | Peer to peer based cache management |
US7865585B2 (en) * | 2007-03-12 | 2011-01-04 | Citrix Systems, Inc. | Systems and methods for providing dynamic ad hoc proxy-cache hierarchies |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9614724B2 (en) | 2014-04-21 | 2017-04-04 | Microsoft Technology Licensing, Llc | Session-based device configuration |
US9384335B2 (en) | 2014-05-12 | 2016-07-05 | Microsoft Technology Licensing, Llc | Content delivery prioritization in managed wireless distribution networks |
US9384334B2 (en) | 2014-05-12 | 2016-07-05 | Microsoft Technology Licensing, Llc | Content discovery in managed wireless distribution networks |
US9430667B2 (en) | 2014-05-12 | 2016-08-30 | Microsoft Technology Licensing, Llc | Managed wireless distribution network |
US10111099B2 (en) | 2014-05-12 | 2018-10-23 | Microsoft Technology Licensing, Llc | Distributing content in managed wireless distribution networks |
US9874914B2 (en) | 2014-05-19 | 2018-01-23 | Microsoft Technology Licensing, Llc | Power management contracts for accessory devices |
US10691445B2 (en) | 2014-06-03 | 2020-06-23 | Microsoft Technology Licensing, Llc | Isolating a portion of an online computing service for testing |
US9367490B2 (en) | 2014-06-13 | 2016-06-14 | Microsoft Technology Licensing, Llc | Reversible connector for accessory devices |
US9477625B2 (en) | 2014-06-13 | 2016-10-25 | Microsoft Technology Licensing, Llc | Reversible connector for accessory devices |
US9948780B1 (en) | 2015-12-21 | 2018-04-17 | At&T Mobility Ii Llc | Customized communication routing |
US10230845B2 (en) | 2015-12-21 | 2019-03-12 | At&T Mobility Ii Llc | Customized communication routing |
Also Published As
Publication number | Publication date |
---|---|
JP4405548B2 (en) | 2010-01-27 |
US7631081B2 (en) | 2009-12-08 |
US20050193110A1 (en) | 2005-09-01 |
WO2005093608A1 (en) | 2005-10-06 |
JP2007525764A (en) | 2007-09-06 |
EP1725954A1 (en) | 2006-11-29 |
CN1922607A (en) | 2007-02-28 |
CN100444162C (en) | 2008-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100011123A1 (en) | Method and Apparatus for Hierarchical Selective Personalization | |
US9787790B2 (en) | System and method for selectively caching hot content in a content distribution network | |
US9703885B2 (en) | Systems and methods for managing content variations in content delivery cache | |
US7603483B2 (en) | Method and system for class-based management of dynamic content in a networked environment | |
US7941478B2 (en) | Method and apparatus for distributed application execution | |
US7769823B2 (en) | Method and system for distributing requests for content | |
US8275778B2 (en) | Method and system for adaptive prefetching | |
US6983318B2 (en) | Cache management method and system for storing dynamic contents | |
US8069150B2 (en) | Method and apparatus for improving end to end performance of a data network | |
US20070283036A1 (en) | System And Method For Providing A Web Page | |
US20100125656A1 (en) | System and Method for Request Routing Optimization | |
US7325030B2 (en) | High performance client-server communication system | |
US6766313B1 (en) | System and method for caching and retrieving information | |
US20030005078A1 (en) | Apparatus and method for providing user-requested content through an alternate network service | |
US7103671B2 (en) | Proxy client-server communication system | |
WO2002017213A2 (en) | Server-side optimization of content delivery to clients by selective in-advance delivery | |
KR20040039099A (en) | Contents conversion and cashing system and method through feature classification of wireless terminals | |
Ravi et al. | Pace: Prefetching and filtering of personalized emails at the network edges | |
Muntean et al. | A Client-orientated dynamic Web server | |
Pons | Enhancement of Web object speculative retrieval |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |