|
|  Get related patents on CD |
| United States Patent | 6594682 |
| Link to this page | http://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) |
| Abstract | A 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  |
|
|
|
|
|
|
| Publication Date |
July 15, 2003 |
|
|
|
|
|
| Filing Date |
October 28, 1997 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 6442598 Wright 709/217 Aug,2002 |      Your vote accepted [0 after 0 votes] | | 6324182 Burns 370/429 Nov,2001 |      Your vote accepted [0 after 0 votes] | | 6298373 Burns 709/203 Oct,2001 |      Your vote accepted [0 after 0 votes] | | 6275496 Burns 370/429 Aug,2001 |      Your vote accepted [0 after 0 votes] | | 6182113 Narayanaswami 709/203 Jan,2001 |      Your vote accepted [0 after 0 votes] | | 6134584 Chang 709/219 Oct,2000 |      Your vote accepted [0 after 0 votes] | | 6065059 Shieh 709/233 May,2000 |      Your vote accepted [0 after 0 votes] | | 5999664 Mahoney 382/305 Dec,1999 |      Your vote accepted [0 after 0 votes] | | 5991306 Burns 370/429 Nov,1999 |      Your vote accepted [0 after 0 votes] | | 5978842 Noble 709/218 Nov,1999 |      Your vote accepted [0 after 0 votes] | | 5978381 Perlman 370/432 Nov,1999 |      Your vote accepted [0 after 0 votes] | | 5961602 Thompson 709/229 Oct,1999 |      Your vote accepted [0 after 0 votes] | | 5907681 Bates 709/228 May,1999 |      Your vote accepted [0 after 0 votes] | | 5870558 Branton, Jr.
Feb,1999 |      Your vote accepted [0 after 0 votes] | | 5854901 Cole
Dec,1998 |      Your vote accepted [0 after 0 votes] | | 5848396 Gerace 705/10 Dec,1998 |      Your vote accepted [0 after 0 votes] | | 5832223 Hara
Nov,1998 |      Your vote accepted [0 after 0 votes] | | 5832496 Anand
Nov,1998 |      Your vote accepted [0 after 0 votes] | | 5832232 Danneels
Nov,1998 |      Your vote accepted [0 after 0 votes] | | 5790790 Smith 709/206 Aug,1998 |      Your vote accepted [0 after 0 votes] | | 5778187 Monteiro 709/231 Jul,1998 |      Your vote accepted [0 after 0 votes] | | 5768528 Stumm 709/231 Jun,1998 |      Your vote accepted [0 after 0 votes] | | 5760771 Blonder 715/854 Jun,1998 |      Your vote accepted [0 after 0 votes] | | 5758257 Herz
May,1998 |      Your vote accepted [0 after 0 votes] | | 5754939 Herz
May,1998 |      Your vote accepted [0 after 0 votes] | | 5715443 Yanagihara 707/3 Feb,1998 |      Your vote accepted [0 after 0 votes] | | |
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
|
|
|
|
|
|
Public's "Guesstimation" of Royalty Value
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
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. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
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 | | |