This invention relates generally to computer networking in a home setting, and more particularly to a system and method of integrating televisions in a home with a home network for accessing information on the Internet.
The Internet has become an indispensable part of our daily lives. Everyday, millions of people use the Internet to read news, shop on-line, search for information, and chat with others, etc. The Internet presents a wealth of information. With thousands of websites providing downloadable information, a user can search for and gather desired information using well-developed search engines and services available on the Internet. Some websites even provide web pages customized for individual users. A user can specify to the web server providing the custom web page service the types of information she likes to see, such as weather, local traffic, world and local news, stock market reports, entertainment, sports, etc. The custom web page server will then go to various information sources to retrieve the selected types of information, and presents the collected information in the customized web page. Thus, instead of having to access multiple websites, the user only has to go to the site of the custom web page server and open her personal web page composed by the server, and all the information of the types she specified is there for her to review.
In conjunction with the expansion of the reaches of the Internet, the number of home networks has also been growing rapidly. The prices of personal computers and networking devices have fallen tremendously, and it is very easy for a household with multiple computers to set up a home network. As a result, computer networking is no longer limited to work places and has entered many homes. The availability of home networking has opened many possibilities of home automation. Such possibilities, however, are mostly unrealized at this time. Many users implement home networks mainly for the purpose of being able to access the Internet from different computers in the home and to share data and programs among the home computers, and the aspect of information/data access is largely independent of and unrelated to other aspects of home activities and functions.
For instance, watching television is a major form of home entertainment. If a user watching television in the living room wants to access the Internet to read her custom web page during a commercial break, she has to go to her study room where her personal computer is located, sit down in front of the personal computer, and use the computer to connect to the custom web page server to get her custom web page. If the Internet connection of the user is slow or if the custom web page server is slow or overloaded, the user may have to wait for a while for her custom web pages to download and is not able to see the pages instantly.
In view of the foregoing, the present invention provides a home network system that composes and caches a personalized web page for a user and enables the user to use her television to review the personalized web page instantly. The home network includes a media server that is capable of accessing the Internet. The user can use the user interface presented by the media server to specify the types of information to be included in her personalized web page. The media server then goes to the Internet to collect information of the types specified by the user, and use the retrieved information to construct the personalized web page. The personalized web page is stored in a cache to enable instant delivery over the home network. The television is connected to a TV client on the home network. The TV client presents an option in a menu that can be selected by the user to view the personalized web page. When the user invokes the option to view her personalized web page, the TV client instantly retrieves the personalized web page cached by the media server and displays the web page on the television for viewing by the user.
Turning to the drawings, wherein like reference numerals refer to like elements, the invention is illustrated as being implemented in a suitable computing environment. Although not required, the invention will be described in the general context of computer-executable instructions, such as program modules, being executed by a personal computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention may be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
The following description begins with a description of a general-purpose computing device that may implement components of a home network of the invention for integrating data access and home entertainment. The home network architecture of the invention that compiles personalized web pages for a user and shows the pages on a television connected to the home network for viewing will be described in greater detail with reference to
The hard disk drive 27, magnetic disk drive 28, and optical disk drive 30 are connected to the system bus 23 by a hard disk drive interface 32, a magnetic disk drive interface 33, and an optical disk drive interface 34, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the personal computer 20. Although the exemplary environment described herein employs a hard disk 60, a removable magnetic disk 29, and a removable optical disk 31, it will be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories, read only memories, storage area networks, and the like may also be used in the exemplary operating environment.
A number of program modules may be stored on the hard disk 60, magnetic disk 29, optical disk 31, ROM 24 or RAM 25, including an operating system 35, one or more applications programs 36, other program modules 37, and program data 38. A user may enter commands and information into the personal computer 20 through input devices such as a keyboard 40 and a pointing device 42. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 21 through a serial port interface 46 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or a universal serial bus (USB) or a network interface card. A monitor 47 or other type of display device is also connected to the system bus 23 via an interface, such as a video adapter 48. In addition to the monitor, personal computers typically include other peripheral output devices, not shown, such as speakers and printers.
The personal computer 20 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 49. The remote computer 49 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the personal computer 20, although only a memory storage device 50 has been illustrated in
When used in a LAN networking environment, the personal computer 20 is connected to the local network 51 through a network interface or adapter 53. When used in a WAN networking environment, the personal computer 20 typically includes a modem 54 or other means for establishing communications over the WAN 52. The modem 54, which may be internal or external, is connected to the system bus 23 via the serial port interface 46. In a networked environment, program modules depicted relative to the personal computer 20, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
In the description that follows, the invention will be described with reference to acts and symbolic representations of operations that are performed by one or more computers, unless indicated otherwise. As such, it will be understood that such acts and operations, which are at times referred to as being computer-executed, include the manipulation by the processing unit of the computer of electrical signals representing data in a structured form. This manipulation transforms the data or maintains it at locations in the memory system of the computer, which reconfigures or otherwise alters the operation of the computer in a manner well understood by those skilled in the art. The data structures where data is maintained are physical locations of the memory that have particular properties defined by the format of the data. However, while the invention is being described in the foregoing context, it is not meant to be limiting as those of skill in the art will appreciate that various ones of the acts and operations described hereinafter may also be implemented in hardware.
Referring now to
In accordance with a feature of the invention, the home network 74 further includes a media server 100. The media server 100 may be located, for instance, in an equipment room in the home. In one embodiment, the media server 100 is implemented in a personal computer. Alternatively, the media server may be a dedicated microprocessor-based device, similar to a set-top box, with adequate hardware and software implementing media service related functions. The media server 100 may be connected to various video/audio signal sources, such as a tuner 102, which may receive signals from different carries such as satellite, terrestrial, or cable (broadband) connections. The media server 100 is provided with capabilities to access the Internet 110. In the illustrated embodiment, the media server is connected to an Internet gateway device (IGD) 106, which may be connected to the Internet via a broadband cable, a DSL line, an optical connection, or a phone line (i.e., publicly switched telephone network (PSTN)). In the illustrated example, the Internet gateway device 106 is also used by the personal computer 74 in the productivity station 72 to access the Internet 110.
The media server 100 enables integration of the home entertainment components/devices with the home network 70 to provide enhanced home automation experience. In particular, in accordance with the invention, the media server 100 is capable of compiling personalized web pages in accordance with configuration information entered by the user. Moreover, the media server 100 interacts with the TV client component 86 of a television 82 to enable a user to view her personalized web page on the television. To that end, the media server 100 includes a personalized web page service software component 104 that handles the various functions related to the composition and presentation of personalized web pages. As used herein, the term “web page” is used broadly to mean a presentation that resembles HTML documents that can be downloaded from a website and viewed with an Internet browser, and does not require that the page be located at a site of the World-Wide Web on the Internet.
To allow the user to configure a personalized web page according to her preferences, the personalized web page service 104 of the media server 100 has a configuration user interface module 124 that is programmed to provide a user interface for the user to enter configuration information. The user interface may be presented on a monitor attached to the media server, and the user may use a keyboard and a pointing device attached to the media server to enter her selections. Alternatively, the user interface may be sent to any personal computer (e.g., the personal computer 74) connected to the home network 70, and the user will use the personal computer to view available options and enter her selections.
As illustrated in
The user interface 112 also allows the user to enter configuration information to be used by the media server 100 to compose personalized web pages for the user. For instance, the composition configuration information may include a selection of the various types of information the user wants to include in her personalized web page. The information categories that the user can select from may include, for example, the user's e-mail inbox, the user's calendar, local traffic map, local weather report, headline stories, stock prices, selected TV guide, accurate current time, instant message buddies online, etc. The user may also specify how often the page is to be updated. The composition configuration information may also include information regarding the presentation of the personalized web page. For instance, the user may select to show her personalized web page in the form of boxes aligned along the sides of the television screen while showing the regular TV program in the center portion of the screen, or to use the entire television to show the personalized web page. The user may also select to format the page to fit on the entire television. For instance, if the television has an aspect ratio of 16:9, which is longer and narrower than the 4:3 aspect ratio of conventional televisions and computer display screens, the user can select to configure the personalized web page to fit on the entire screen instead of leaving empty bars on the sides.
Once the user has entered appropriate configuration information for her personalized web page, the media server 100 constructs the personalized web page. To that end, the media server 100 includes an information gatherer component 116 that periodically goes to the information server 108 or other information sources on the Internet 110 to download up-to-date information in information categories selected by the user for her personalized web page. Alternatively or in conjunction with the periodic downloading, the information server 108 may also provide information in a “push” mode to the media server 100 whenever there are changes to any information category selected by the user. In a preferred embodiment, the information sent by the information server 108 to the media server 100 for populating the personalized web page may be in the format of an XML document 118.
With the information obtained from the information server 108 or other Internet sources, a web page composer component 120 of the media server constructs or edits the personalized web page to contain the up-to-date information, and saves the composed/updated personalized web page 122 in a cache 126 that allow fast retrieve of the page upon demand. To enable instant display of the personalized web page on the television on demand, the web page composer 120 preprocesses the page for fast transfer to the TV client 86 and easy rendering by the TV client for display on the television 82. The preprocessed page may be in one of several suitable formats, such as a JPEG image, a RDP stream, or an HTML file. By way of example, the web page composer 120 may preprocess the personal web page (e.g., described in HTML) to an image stored in the memory, and then compresses this image into a JPEG file, which is transmitted on demand to the TV client, which in turn renders the JPEG for display on the television. The RDP and HTML forms of representation entail greater complexity but also provide more flexibility.
When the TV client 86 of a television 82 is connected to the home network 70, it automatically discovers the personalized web page service 104 on the media server 100. The discovery may be performed, for example, using the Universal Plug-and-Play (UPnP) process. The TV client 86 then forms a communication link with the media server over the home network.
Returning to
Turning now to
The operations of the media server 100 and the TV client 86 in the embodiment of
In view of the many possible embodiments to which the principles of this invention may be applied, it should be recognized that the embodiments described herein with respect to the drawing figures are meant to be illustrative only and should not be taken as limiting the scope of the invention. Therefore, the invention as described herein contemplates all such embodiments as may come within the scope of the following claims and equivalents thereof.