WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Client-side system for scheduling delivery of web content and locally managing the web content    

Get related patents on CD
United States Patent6594682   
Link to this pagehttp://www.wikipatents.com/6594682.html
Inventor(s)Peterson; Leonard J. (Woodinville, WA); Freedman; Steven J. (Seattle, WA); Partovi; Hadi (Seattle, WA); Endres; Raymond E. (Kirkland, WA); D'Souza; David J. (Kirkland, WA); Ellerman; Erik Castedo (Redmond, WA); Jiggins; Julian P. (Seattle, WA)
AbstractA client-based system has a scheduling subsystem to schedule a time to obtain the Web content from the server. When the client reaches the scheduled time, the scheduling subsystem generates an event notification that contains sufficient information explaining how to retrieve the Web content. The client-based system has a delivery subsystem that is responsive to the event notification to obtain the Web content at the time set by the scheduling subsystem. The delivery subsystem preferably has multiple delivery modules that enable different types of distribution mechanism. In addition to the Web content or data itself, the delivery subsystem obtains an index to the Web content. The index summarizes the Web content to facilitate local search and find tasks. The index and Web content are stored in a cache at the client. An indexing subsystem presents the index to a user and enables the user to select from the index portions of the Web content that they prefer. Based on these preferences, filters are created to remove items not of interest. When the client is offline, the user browses the cached Web content. The user is offered essentially the same functionality as a live online session, except that any requests to a remote server are temporarily accumulated for later submission. When the client reconnects to the server, all accumulated data is sent in batch to the appropriate servers. The user can also create his/her own channel by aggregating content from different channels.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History Custom Search
Inventor     Peterson; Leonard J. (Woodinville, WA); Freedman; Steven J. (Seattle, WA); Partovi; Hadi (Seattle, WA); Endres; Raymond E. (Kirkland, WA); D'Souza; David J. (Kirkland, WA); Ellerman; Erik Castedo (Redmond, WA); Jiggins; Julian P. (Seattle, WA)
Owner/Assignee     Microsoft Corporation (Redmond, WA)
Patent assignment
All assignments
Company News
Publication Date     July 15, 2003
Application Number     08/959,613
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     October 28, 1997
US Classification     718/102 709/219 709/232
Int'l Classification     G06F  015/16
Examiner     Luu; Le Hien
Assistant Examiner     Willett; Stephan
Attorney/Law Firm     Lee & Hayes, PLLC
Address
Parent Case    
Priority Data    
USPTO Field of Search     709/277 709/228 709/229 709/232 709/233 709/243 709/202 709/203 709/102 709/200 709/217 709/218 709/234 713/600
Patent Tags     client-side scheduling delivery web content locally managing web content
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
6442598
Wright
709/217
Aug,2002

[0 after 0 votes]
6324182
Burns
370/429
Nov,2001

[0 after 0 votes]
6298373
Burns
709/203
Oct,2001

[0 after 0 votes]
6275496
Burns
370/429
Aug,2001

[0 after 0 votes]
6182113
Narayanaswami
709/203
Jan,2001

[0 after 0 votes]
6134584
Chang
709/219
Oct,2000

[0 after 0 votes]
6065059
Shieh
709/233
May,2000

[0 after 0 votes]
5999664
Mahoney
382/305
Dec,1999

[0 after 0 votes]
5991306
Burns
370/429
Nov,1999

[0 after 0 votes]
5978842
Noble
709/218
Nov,1999

[0 after 0 votes]
5978381
Perlman
370/432
Nov,1999

[0 after 0 votes]
5961602
Thompson
709/229
Oct,1999

[0 after 0 votes]
5907681
Bates
709/228
May,1999

[0 after 0 votes]
5870558
Branton, Jr.

Feb,1999

[0 after 0 votes]
5854901
Cole

Dec,1998

[0 after 0 votes]
5848396
Gerace
705/10
Dec,1998

[0 after 0 votes]
5832223
Hara

Nov,1998

[0 after 0 votes]
5832496
Anand

Nov,1998

[0 after 0 votes]
5832232
Danneels

Nov,1998

[0 after 0 votes]
5790790
Smith
709/206
Aug,1998

[0 after 0 votes]
5778187
Monteiro
709/231
Jul,1998

[0 after 0 votes]
5768528
Stumm
709/231
Jun,1998

[0 after 0 votes]
5760771
Blonder
715/854
Jun,1998

[0 after 0 votes]
5758257
Herz

May,1998

[0 after 0 votes]
5754939
Herz

May,1998

[0 after 0 votes]
5715443
Yanagihara
707/3
Feb,1998

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B

[0 market size comments]
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 market share comments]
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 reasonable royalty comments]
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

[0 Guesstimation of Royalty Value Comments]
License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 license availability comments]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 owner/assignee comments]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

[0 competitive advantage comments]
Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

[0 commercial alternatives comments]
 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. In a client-server system in which Web content is delivered from multiple servers to a client, a client-based system implemented at the client comprising:

a scheduling subsystem to schedule times to obtain the Web content from the servers without the servers having prearranged knowledge of the times, whereupon reaching a scheduled time, the scheduling subsystem generates an event notification containing information regarding how to retrieve the Web content from a corresponding server;

a delivery subsystem, responsive to the event notification, to retrieve the Web content and an index of the Web content from the corresponding server;

a cache to store the index and the Web content obtained by the delivery system;

an indexing subsystem to retrieve the index from the cache and present the index to a user, the indexing subsystem including a user interface which enables the user to select from the index portions of the Web content stored in the cache; and

a filter to condense the index according to preferences of the user.

2. A client-based system as recited in claim 1, wherein the scheduling subsystem comprises:

a scheduler to schedule the time to obtain the Web content; and

a notification generator to generate the event notification at the scheduled time.

3. A client-based system as recited in claim 1, wherein:

the delivery subsystem comprises multiple delivery modules that utilize different distribution systems to retrieve the index and the Web content; and

the event notification contains instructions dictating which of the delivery modules is to be used.

4. A client-based system as recited in claim 1, wherein the Web content is multicast to a network address, the delivery subsystem comprising a listener program to listen to the network address at the scheduled time to retrieve the Web content.

5. A client-based system as recited in claim 1, wherein the delivery subsystem comprises a fetching program to access the server and retrieve the Web content from the server.

6. A client-based system as recited in claim 1, wherein the Web content is transmitted as a broadcast data stream over a broadcast medium from the server, the delivery subsystem being coupled to receive the broadcast data stream from a broadcast receiver and to reconstruct the Web content from the data stream.

7. A client-based system as recited in claim 1, further comprising a content user interface to present the Web content to the user.

8. A Web browser application, embodied on a computer-readable medium, comprising:

computer-executable instructions to schedule a time to obtain Web content from a server without the server having prearranged knowledge of the scheduled time;

computer-executable instructions to generate an event notification upon occurrence of a scheduled time, the event notification containing information regarding how to retrieve the Web content;

computer-executable instructions to retrieve the Web content and an index of the Web content;

computer-executable instructions to present the index to a user and to enable the user to select certain Web content identified in the index; and

computer-executable instructions to filter the index according to user preferences.

9. A Web browser application as recited in claim 8, further comprising computer-executable instructions to listen to a multicast address to retrieve at least one of the index and the Web content.

10. A Web browser application as recited in claim 8, further comprising computer-executable instructions to access a remote server and retrieve at least one of the index and the Web content.

11. A system for delivering Web content over a medium, comprising:

a gathering subsystem located at a webcast center to gather Web content from sites on the Internet and to store the Web content;

a scheduling subsystem implemented at a client remote from the webcast center to schedule a time for the client to retrieve the Web content from the webcast server;

a delivery subsystem implemented at the client and responsive to the scheduling subsystem to obtain the Web content from the webcast center at the time set by the scheduling subsystem;

a program implemented at the client to cache a user's preferences regarding types of the Web content;

an indexing subsystem at the client to obtain an index of the Web content and present the index to a user, the indexing subsystem including a user interface which enables the user to select certain Web content identified in the index; and

a filter to filter the index according to the user's preferences.

12. A system as recited in claim 11, further comprising:

a multicast transmitter at the webcast center to multicast the Web content to a multicast address; and

the delivery subsystem comprising a listener program to listen to the multicast address to retrieve the Web content.

13. A system as recited in claim 11, wherein the delivery subsystem comprises means for accessing the server and retrieving the Web content from the server.

14. A system as recited in claim 11, further comprising:

a broadcast transmitter to broadcast the Web content from the webcast center as a broadcast data stream over a broadcast medium; and

the delivery subsystem being coupled to receive the broadcast data stream from a broadcast receiver and to reconstruct the Web content from the data stream.

15. A system as recited in claim 11, wherein the filter is implemented at the webcast center.

16. A system as recited in claim 11, wherein the filter is implemented at the server.

17. A system as recited in claim 11, wherein the webcast center maintains the index of the Web content and wherein the indexing subsystem obtains the index from the webcast center.

18. A system as recited in claim 11, further comprising:

a cache implemented at the client;

a data submission subsystem implemented at the client to accumulate data, which is destined for the server for server-side processing, within the cache while the client is offline from the webcast center; and

the data submission subsystem submitting the data accumulated in the cache to the webcast center during an online session between the client and the server.

19. In a client-server system in which Web content is delivered from a server to a client, a computer-implemented method implemented at the client comprising the following steps:

scheduling a time to obtain the Web content from the server without the server having prearranged knowledge of the scheduled time;

listening to a multicast address to retrieve the Web content from the server at the scheduled time;

locally caching the Web content obtained from the server;

obtaining an index of the Web content from the server; and

filtering the index according to user preferences.

20. A computer-implemented method as recited in claim 11, further comprising the step of caching the Web content according to a unique identification.

21. A computer-implemented method as recited in claim 11, further comprising the step of caching the Web content according to a corresponding universal resource locator.

22. A computer-implemented method as recited in claim 19, further comprising the following steps:

presenting the index to a user; and

enabling a user to select items in the index as an indication of preferred Web content.

23. A computer-implemented method as recited in claim 11, further comprising the following steps:

caching data to be submitted to the server when the client is offline from the server; and

submitting the cached data to the server during an online session in which the client is actively connected to the server.

24. A computer-implemented method as recited in claim 11, further comprising the following steps:

enabling a user to select Web content obtained from different channels; and

aggregating the Web content into a single channel for presentation to the user.

25. A computer-readable medium having computer-executable instructions for performing the steps as recited in claim 11.

26. A browser application, embodied on a computer-readable medium, having computer-executable instructions for performing the steps as recited in claim 11.
 Description Submit all comments and votes
 


TECHNICAL FIELD

This invention relates to client-server systems and methods for obtaining Web related content from one or more servers and presenting that content to a user. More particularly, this invention further relates to client-side software and devices that facilitate delivery and presentation of the Web content.

BACKGROUND OF THE INVENTION

Public networks, and most notably the Internet, are emerging as a primary conduit for communications, entertainment, and business services. The Internet is a network formed by the cooperative interconnection of computing networks, including local and wide area networks. It interconnects computers from around the world with existing and even incompatible technologies by employing common protocols that smoothly integrate the individual and diverse components.

The Internet has recently been popularized by the overwhelming and rapid success of the World Wide Web (WWW or Web). The Web links together various topics in a complex, non-sequential web of associations which permit a user to browse from one topic to another, regardless of the presented order of topics. The Web is rapidly evolving as a standard for distributing, finding, and accessing information of any type. A "Web browser" is an application that executes on the user's computer to navigate the Web. The Web browser allows a user to retrieve and render hypermedia content from the WWW, including text, sound, images, video, and other data.

The amazing growth rate in the demand for data over the Internet is partly due to an increasing audience. The World Wide Web has crossed the threshold that makes it affordable and interesting to a much larger audience. There is information available on a very wide variety of topics, and tools exist to help people find and view the information cost effectively.

Another factor fueling the Internet growth is the exploding amount of information that is now available on the Web. The Web has grown from thousands of Web sites to several million Web sites in a very short period of time. The growth continues at an exponential rate. Many corporations and libraries are translating paper and microfilm information archives to electronic media that is published via the Web or similar network. While this has resulted in a wealth of information that is now available to virtually anyone, the information is poorly organized and the sheer volume of the information makes it hard for a typical person to sort through, find, and retrieve specific information.

The shift from paper published media to online media also created a new problem. People wishing to access Web information are limited to accessing it only when connected to the Internet or other network. Network connectivity is largely restricted to a physical wire connection to the computer, or a virtual connection to wireless transmission networks. This makes it hard, if not impossible, to disconnect the computer from the network and still access information.

As more information is brought online, the demand on the computational and network resources to categorize, search, personalize, and retrieve the information is placing new demands on the existing client-server infrastructure that makes up networks like the Web. Additionally, the data demands are affected by a trend for Web sites to evolve from serving pure text to serving richer media content, including graphics, sound, and video. Adding richer media content is popular because it presents information more clearly and attractively, thereby enhancing a site's impact and popularity.

Due to these emerging factors, a significant problem facing the continued growth and acceptance of the Internet is that conventional methods for accessing the Web do not scale well to meet the rapid growth in supply and demand, or to satisfy the need for better organization. The quality of service for the Web is intuitively measured by the user as the amount of time it takes to search, find, request, and receive data from the Web. Internet users have been conditioned through their experiences with television and standalone multimedia applications to expect instantaneous results on demand. Users are accustomed to changing the TV channel and instantaneously viewing the video content for that channel on the screen. Unfortunately, the Internet is unable to deliver data instantaneously. For the most part, the Internet has significant latency problems that reduce fairly routine Web browsing exercises to protracted lessons in patience.

The basic dilemma is that the quality of service degrades as more people try to use the Web. More unsettling is the corollary that service for popular Web sites is typically much worse than service for unpopular sites. There are several causes of the service problem, including overburdened servers and slow distribution networks.

Networks often have too little bandwidth to adequately distribute the data. "Bandwidth" is the amount of data that can be moved through a particular network segment at any one time. The Internet is a conglomerate of different technologies with different associated bandwidths. Distribution over the Internet is usually constrained by the segment with the lowest available bandwidth.

In the consumer market, for example, most clients typically connect to the Internet via a local modem connection to an Internet Service Provider (ISP). This connection is generally enable a maximum data rate of 14.4 Kbps (Kilobits per second) to 28.8 Kbps. Some clients might employ an ISDN connection, which facilitates data flow in the range of 128-132 Kbps.

The ISP connects to the primary distribution network using a higher bandwidth pipeline, such as a T1 connection that can facilitate a maximum data flow of approximately 1.5 Mbps. This bandwidth is available to serve all of the clients of the ISP so that each client can consume a 14.4 Kbps, 28.8 Kbps, or 128 Kbps slice of the 1.5 Mbps bandwidth. As more clients utilize the ISP services, however, there is less available bandwidth to satisfy the subscriber requests. If too many requests are received, the ISP becomes overburdened and is not able to adequately service the requests in a timely manner, causing frustration to the users.

Couple this problem with the fact that clients typically go underutilized. While servers are pushed to their maximum output limits, clients often sit idle for many hours per day.

Because the bandwidth issue is constrained by technology development in the physical network architecture, early attempts to solve these problems focused on organizing the Web content in some manner to better facilitate search and retrieval. This in turn enabled users to more quickly access information on the Internet, even though the underlying physical architecture remained the same.

The earliest solutions involve organizing the information by hand. Humans review information by browsing the Internet and assemble large lists of documents containing similar information. The lists are further organized into hierarchies of categorized content. People can view the categorized lists online in an attempt to more quickly obtain a specific piece of information. The advantage of this scheme is that human reviewers are very good at categorizing the information and discarding low-value documents, so the lists of categorized information contain fairly high value information. Some hand-categorized data schemes are organized into popular Web sites. The best known example of this is the "Yahoo!" Web site.

The disadvantage of this human-driven technique is that it becomes more difficult to keep up when the amount of information grows exponentially. The categorized lists are frequently out of date or inadequate. Additionally, the method requires a user to be connected to the network to view the information.

Another approach is to use massive search engines that automatically retrieve documents on the Web and attempt to index all of the information. The technique of fetching this information is known as "web-crawling" or "web-scraping". Heuristic document categorization algorithms index the information and store the indices (but not the information) in large centralized databases. Users run queries against the massive databases to find specific information, and then retrieve the information from individual web-sites. Popular examples of these types of Web based services include Lycos, InfoSeek, Alta-Vista, and others. They are generally referred to as "Search Sites" or "Internet Search Engines".

The advantage of web-crawling and indexing is that computers can automate the process of retrieving and reviewing documents. The speed of computers means that a larger number of documents can be compiled as compared to human efforts. The disadvantage is that the computers have a hard time distinguishing between valuable information and worthless information, and are not very good at categorizing the information. Also, these types of databases are centralized and require an end user to be online to make queries against the database. A third approach to solving the information glut problem is to employ information services that collect and editorialize information that they deem as important. The information is indexed and placed into a centralized database. The services utilize a combination of humans to collect and categorize information, and computers to perform automated information collection. Because these systems effectively filter down the amount of potential information by many orders of magnitude, it is possible to locally store portions of the centralized database on the client server and for the user to view the information when disconnected.

The most popular example of this type of system is PointCast. PointCast collects news articles from many sources, edits them down to a predefined maximum length, categorizes them, and stores them in a centralized database at their data center. Client software then queries the centralized database to obtain the portions of the data in which the user is interested.

The disadvantage of these systems is that a centralized database scales poorly as more and more users attempt to retrieve information. By centralizing all information, the data source becomes a choker point to information flow. Another disadvantage is that while some of these centralized information services provide a good selection