AUTOMATICALLY DELAYING CLIENT RESPONSES TO BROADCAST UNIFORM RESOURCE LOCATORS

Abstract: A client side system reduces overloading of web servers that experience excessive loads in response to widely distributed information about services or products available through the web server. The client side system may delay the accessing of the web server. For example, instructions may be added to the uniform resource locator distributed for the server over a television broadcast. These instructions may be utilized by software resident on the client side system to delay the accessing of the server to reduce server overloading.

Description: AUTOMATICALLY DELAYING CLIENT RESPONSES TO BROADCAST UNIFORM RESOURCE LOCATORS Background This invention relates generally to the Internet and the use of uniform resource locators. Television programs and commercials often invite viewers to visit a web server to get information or buy something. If each of the millions of television viewers responded to the enticement at the same time, they would quickly overwhelm the transaction capacity of most web servers . For example, during the 1999 Super Bowl football game, a Victoria's Secret television commercial solicited viewers to visit its web site. The television program displayed a web site uniform resource locator. Millions of viewers saw the uniform resource locator at precisely the same time and many of them immediately attempted to contact the web server. The web server failed to respond to such requests because the web server was unable to deal with the large number of simultaneous web site access requests. Even when web proxy servers are utilized to mirror origin servers to distribute the load, failures may occur because the capacity of the proxy servers is also exceeded. In addition, there may be a problem with establishing the needed number of telephony connections to the user' s Internet service provider because the capacity of the Internet service provider's modem bank has been reached. These failures result in frustration to users and lost opportunities for broadcasters and advertisers to gain revenue and viewer satisfaction. In some cases, these lost connections may be expensive, especially in Europe and Asia, where Internet service provider connection time is metered. Thus, there is a need to reduce the overloading of web servers when a large number of users attempt to contact the server at the same time. Brief Description of the Drawings Figure 1 is a schematic depiction of one embodiment of the prevent invention; Figure 2 is a screen display that may be utilized in accordance with one embodiment of the present invention; Figure 3 is software that may be included on the client in one embodiment of the present invention; and Figure 4 is a block diagram of a client in accordance with one embodiment of the present invention. Detailed Description Referring to Figure 1, a video distribution system 12 may be any of a variety of systems that distribute video such as television programming. For example, the system 12 may be an airwave broadcast system, a satellite distribution system, or a cable distribution system. The system 12 may also be an Internet based distribution system in another embodiment of the present invention. A plurality of clients, indicated as 14, may receive the video distributed by the system 12. Each client 14 may be a processor-based system. Thus, in some cases, each client 14 may receive the video information at the same time. Referring to Figure 2, an exemplary screen display 20 for a client 14 is illustrated. In this hypothetical example, a television program offers viewers the opportunity to receive a free personal computer. The advertisement gives a uniform resource locator (URL) 22 to contact for additional information. If a large number of viewers learn about a given opportunity (and a given URL) at the same time, many viewers may attempt to contact the web server 18 associated with the URL at the same time. In some cases, this may cause the server 18 to fail, resulting in frustration for a large number of potential users . This may cause lost revenues where the users are potential customers. If each of the owners of a client 14 attempts to contact the server 18 over the Internet 16 at the same time, the server may be unable to handle the load. In accordance with one embodiment of the present invention, access delays may be incorporated into the clients 14 to spread the demand on the server 18 over a time interval. For example, the URL 22 indicated in Figure 2 may include the additional instructions "?delay=2&". The material between the tags ? and & are recognized as providing additional comments conventionally directed to the server. The additional instructions do not in any way affect the preceding web address. The instructions may include a name and a delay value. In this example, the name is "delay" and the delay value is "two". The parameters in the additional instructions may be utilized by the client 14 to provide a delay between the time the user enters the URL into the user' s Internet browser and the time that the browser actually proceeds to contact the web server 18. The length and nature of the delay is subject to considerable variation. For example, in one embodiment of the present invention, the value provided within the tags may provide an indicator that works with browser software on the client 14 to produce a desired delay. The browser software on the client side processor-based system may utilize the delay value in different ways. For example, depending on the intended or expected load on the server, different extents of delay may be provided. If the highest number of access attempts is expected, the longest delay periods may be assigned. Conversely, if a large load is expected but less than the highest load, a lower delay period may be provided. Thus, the delay value provided between the tags may be used to determine the delay time. Within the delay period, the client side software may institute a selectable or variable delay. Thus, for extremely high loads, a delay period of between zero and X seconds may be implemented and for smaller loads a delay period of between zero and X/2 seconds may be provided. In one embodiment of the present invention, the exact delay within the delay period may be chosen randomly so that the load is distributed over the delay period. The random delay generation may be implemented on the client 14. In another example, the delay may be predefined so that each client 14, having recognized the delay instructions demarked by the tags ? and &, may immediately institute a predetermined delay. This predetermined delay may have been preassigned to that system in one embodiment. As still another example, the delay settings may be pre-transmitted to the client 14. In one embodiment of the present invention, that information may be provided as part of a trigger in a digital broadcast. A trigger is used to identify a URL in an announcement. An announcement announces the availability of the interactive television capability. See Advanced Television Enhancement Forum (ATVEF) Specification, Version l.lr.26, February 2, 1999. Once the delay is initiated, the user may be advised of the waiting period. For example, the client 14 may display a screen display which shows a countdown indicator indicating the remaining time before access is attempted. After the delay period, the client 14 automatically contacts the server 18. By distributing the attempted contacts over a time period, the effectiveness of the overall system may be enhanced without unduly prejudicing any given user. The software responsible for implementing the delay may be loaded on the client 14 in a number of ways. As one example, it may be downloaded as script with the permission of the client 14 as one example. As another example, the software may also be provided as a part of the browser software utilized by client 14 as a selectable option in accordance with another embodiment of the present invention. As still another example, the software may also be provided with certain processor-based systems such as those provided as free personal computers. For example, in a free personal computer system provided by a Internet service provider, the Internet service provider may prefer to initiate delays in accessing a given web site (such as its own) under certain circumstances . Referring to Figure 3, the access delay software 24 on the client 14 initially determines whether a uniform resource locator has been entered as indicated in diamond 26 in accordance with one embodiment of the present invention. If so, the software 24 may check for delay instructions as indicated in diamond 28. In one embodiment of the present invention illustrated in Figure 2, these delay instructions may be included as part of the URL. If no such delay instructions are found, in one embodiment of the present invention, the request is sent immediately. In other embodiments, an automatic delay may be entered without instructions . If delay instructions are included with the URL, a delay is determined as indicated in block 30. The delay may be determined by parsing the delay instructions from the URL to get a delay setting. For example, the delay setting may be one of the numbers from one to four which provides information to the client side software 24 about the extent of the delay period. The extent of the delay period may correspond to the expected load on a given web site under particular circumstances. Once the delay information is decoded, the active delay time (within the delay period) may be set. The delay time may be set using a random number generator to randomly pick a delay time within predetermined boundaries. Alternatively, the delay may be set based on predefined instructions for a particular client 14. Having determined the delay time, a timer may be started as indicated in block 32. A check at diamond 34 determines whether the timer has timed out. If not, the timer is incremented as indicated in block 38. Otherwise, once a time out occurs, the web site is automatically accessed as indicated in block 36. As a result, every attempted Internet web site access attempt is not delayed in one embodiment of the present invention. Instead, only those access attempts involving URLs with delay instructions may trigger the delays. Referring to Figure 4, one embodiment of a client 14 includes a processor 40. The client 14 may be any of a wide variety of processor-based systems. Examples of such systems include desktop computers, mobile computers, set-top boxes, personal digital assistants, cellular telephones, appliances, and any other device having information handling capabilities . In the embodiment illustrated in Figure 4, the processor 40 may be coupled to an accelerated graphics port chipset 42. The chipset 42 couples system memory 44 to an accelerated graphics port 46. The port 46 in turn couples a graphics accelerator 48 and a display 50. The chipset 42 is also coupled to a bus 52, in turn connected to a bridge 54. A hard disk drive 56 may store software 58 and 24. The software 58 may, for example, be an Internet browser application. The bridge 54 is coupled to another bus 60 which may be coupled to a memory 62 that stores a basic input/output system (BIOS) . The bus 60 also couples a serial input/output device 64. The device 64 communicates with a modem 66 and a keyboard 68. The modem 66 may be any of a variety of modems which enable access to the Internet over a telephone, a cable or satellite system, as examples. In one embodiment of the present invention the client 14 may be a set-top box and the display 50 may be a television receiver. The set-top box may include the capability to tune to television programming provided over a television distribution system. Thus, the user may receive television programming and may automatically select a URL displayed on the television screen as one example. The URL selection may be accomplished using a remote control unit for example. While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention. What is claimed is:

Claims: 1. A method comprising: receiving a request to access a web server; and automatically delaying accessing the web server to prevent overloading the web server. 2. The method of claim 1 wherein receiving the request to access the web server includes receiving a uniform resource locator in a browser. 3. The method of claim 2 wherein receiving the request includes receiving the uniform resource locator which includes instructions indicating that access to the server should be delayed. 4. The method of claim 3 wherein automatically delaying accessing the web server includes initiating a randomly determined delay. 5. The method of claim 4 including basing said randomly determined delay in part on information included with said uniform resource locator. 6. The method of claim 4 including selecting a maximum delay period. 7. The method of claim 6 including setting the delay time for a given user within said maximum delay period. 8. The method of claim 7 including selecting said maximum delay period from information received with said uniform resource locator. 9. The method of claim 1 including receiving television programming information together with a trigger containing a uniform resource locator and information for delaying accessing the web server. 10. The method of claim 1 including initiating a timer and accessing the web server when the time expires. 11. The method of claim 1 including selectively delaying access to the web server. 12. An article comprising a medium storing instructions that cause a processor-based system to: receive a request to access a web server; and automatically delay accessing the web server to prevent overloading the web server. 13. The article of claim 12 further storing instructions that cause a processor-based system to selectively delay access to the web server. 14. The article of claim 12 further storing instructions that cause a processor-based system to receive a uniform resource locator in a browser. 15. The article of claim 12 further storing instructions that cause a processor-based system to receive a uniform resource locator which includes instructions indicating that access to the server should be delayed. 16. The article of claim 15 further storing instructions that cause a processor-based system to initiate a randomly determined delay. 17. The article of claim 16 further storing instructions that cause a processor-based system to base the randomly determined delay in part on information included within said uniform resource locator. 18. The article of claim 16 further storing instructions that cause a processor-based system to select a maximum delay. 19. The article of claim 18 further storing instructions that cause a processor-based system to set the delay time for a given user within the maximum delay period. 20. The article of claim 19 further storing instructions that cause a processor-based system to select said maximum delay from information received with said uniform resource locator. 21. The article of claim 20 further storing instructions that cause a processor-based system to receive television programming information together with a trigger containing the uniform resource locator and information for delaying access to the web server. 22. The article of claim 12 further storing instructions that cause a processor-based system to initiate a timer and access the web server when the timer expires. 23. A system comprising: a processor; storage coupled to said processor, said storage storing instructions that cause said system to receive a request to access a web server and automatically delay accessing said web server to prevent overloading the web server . 24. The system of claim 23 wherein said system is a set-top box. 25. The system of claim 23 wherein said storage stores instructions that cause the system to selectively delay access to the web server. 26. The system of claim 23 wherein said storage stores a browser and said browser receives a uniform resource locator associated with said server. 27. The system of claim 26 wherein instructions stored in said storage cause the uniform resource locator to be parsed to separate instructions indicating that access to the server should be delayed. 28. The system of claim 27 wherein said instructions cause a randomly determined delay to be initiated. 29. The system of claim 28 wherein said instructions stored in said storage use information in said uniform resource locator to determine the delay. 30. The system of claim 23 including a software timer which determines when to access said web server.

Inventors: KINDER DAVID, MO STANLEY, WELSH LINDA, KINDER, DAVID, MO, STANLEY, WELSH, LINDA
Applicants: INTEL CORP, KINDER DAVID, MO STANLEY, WELSH LINDA, INTEL CORPORATION, KINDER, DAVID, MO, STANLEY, WELSH, LINDA
Application year: 2001
Main classification: H04L29
IPC codes: H04L29, H04N7