SYSTEM AND METHODS FOR ACCESSING INTERNET INFORMATION USING INTERNET APPLIANCES

Abstract: A system and methods for accessing summary or pre-selected items of Internet information using Internet appliances (20-25) is provided. Users access Internet information through an Internet appliance interface optimized for the network bandwidth and display capabilities (22) of the Internet appliance. The Internet information accessed is the information that is determined to be relevant and important to the user. The information is summarized for, and presented to, the user at one or more pre-determined levels of detail.

Description: SYSTEM AND METHODS FOR ACCESSING INTERNET INFORMATION USING INTERNET APPLIANCES Field Of The Invention This invention relates generally to a system and methods for providing access to Internet information from Internet appliances. More specifically, the present invention provides a system and methods for accessing summary or pre-selected items of Internet from Internet appliances according to users' preferences. Background Of The Invention The Internet and the World Wide Web (hereinafter "the web") have revolutionized the ways in which information is disseminated and shared. A wide variety of information can be simultaneously accessed by multiple users through a new category of documents designed to easily represent content for display and transmission over the Internet. These new documents, often referred to as electronic documents or web pages, are increasingly replacing their traditional paper counterparts as the medium through which business is carried out. A web page is a multimedia composition that is displayed to the user on a "web browser window" by "web browser software". Under the control of a user, the web browser software establishes a connection over the Internet between the user' s computer, and a "web server". This connection is used to download data representing a "web page" from the web server to the user's computer. Web pages may contain text, audio, graphics, imagery, and video content, as well as nearly any other type of content that may be experienced through use of a computer or other electronic devices. Additionally, web pages may be interactive, and may contain user selectable links that cause other web pages to be displayed, forms that may be used to send information from the user to the web server, interactive executable code, or other elements through which the user may interact with web pages. A group of one or more interconnected and closely related web pages, such as all the web pages containing information about a single company, located on one or more web servers, is referred to as a "web site". At present, information displayed on web pages in the Internet can be accessed by users from various "Internet appliances", which are electronic devices configured with Internet access systems. Internet appliances include, but are not limited to, microprocessor based devices such as personal and portable computers, personal digital assistants, electronic organizers and toys, as well as consumer media delivery devices such as land line and wireless mobile telephones, television, and radio. The Internet access systems allow users to access information such as their e-mail, news, stock quotes, among others, from different Internet appliances. The information is accessed through an interface, which can be either a vi sual interface or a voice interface, depending on the Internet appliance being used to access the information. A visual interface may be used in Internet appliances that have a visual display, such as personal and portable computers, personal digital assistants (PDA) , electronic organizers and toys, as well as consumer media delivery devices such as wireless mobile telephones and television. In appliances that have a small visual display such as PDAs, electronic organizers, and wireless telephones, access to Internet information is provided via mi crobrowser software, which consists of a simpler version of a web browser, with reduced graphic capabilities. Users select an information content provider in the Internet from a pull-down menu displayed in the microbrowser window in the wireless telephone. Such content providers include Yahoo! from Santa Clara, CA, Excite from Redwood City, CA, America Online, Inc., from Dulles, VA, as well electronic commerce companies such as Amazon.com from Seattle, WA. The user makes a specific information request to the content provider, and the requested information is then delivered to the user by the microbrowser in the telephone display. A voice interface may be used in Internet appliances with speech recognition technologies, such as land line and wireless mobile telephones, to access an interactive voi ce response (IVR) system. These systems enable a telephone user to access information by dialing a phone number corresponding to an IVR system server. The server contains software to issue voice prompts to the user corresponding to several information access options, and the user responds to the voice prompts by either selecting and pushing buttons on the telephone, or by using speech recognition technologies. Users can access IVR systems from any standard telephone, including those that do not have visual displays. Examples of IVR systems include those employed by financial institutions to give users access to their accounts over the telephone, such as the system covered in U.S. Patent Number 5,825,856. Similar systems are also employed in a host of other applications, including those in the airline industry offering users the ability to check flight information over the telephone, and the system developed by Tellme Networks, Inc., of Mountain View, CA, that allows users to access information on a variety of topics, such as weather, traffic reports, restaurant reviews, stock quotes, among others. Both visual and voice interface systems utilize a request -wai t -response mechanism to access information that may be interesting to a user from an Internet appliance. The user makes requests on a very specific topic, waits for the information to be collected by the system from a server, and receives the information in the visual display of the Internet appliance in case a visual interface is used, or in the form of voice prompts if a voice interface is used. The request-wait-response mechanism works well on high network and display bandwidth Internet appliances such as personal computers, where users can quickly sift through information and make further requests to find exactly the information they are looking for. However, the result is less satisfactory on low network and display bandwidth Internet appliances, where the speed of information delivery is slower, presentation capabilities are less effective, and control machinery to interact and search for more relevant information is difficult to use. As an example, consider the case of users wishing to examine their stock portfolio through a wireless telephone. Using existing systems such as the visual-based system designed for wireless telephones provided by Sprint Co. from Westwood, KS, and the voice-based system provided by Tellme Networks, Inc., of Mountain View, CA, the users may either individually request details on each company in the stock portfolio by using the telephone's limited visual or voice interface, or the users may request a list of all the stock information as a single stock portfolio. In both cases, the systems do not provide access to summary or pre-selected items of information quickly and easily. Different pieces of information are often relevant to different users, and users may have to iterate through several items of less important and less interesting information before accessing desired information. The importance of the information may be dependent on a combination of complex parameters, for example, it may be determined by a combination of how much money users have in the stock in question, what is the percentage change in the stock price, what is the day' s range, what is the volume, and when the quarterly results for the company issuing the stock are announced. Users must sift through this information using the limited interface in the telephone, which is a very time consuming and laborious process. Further, the telephone and Internet connections may be unreliable, and the user may have to wait a significant a ount of time to receive the requested information. In view of the foregoing drawbacks of accessing Internet information from Internet appliances, it would be desirable to provide a system and methods for accessing summary and pre-selected items of Internet information quickly and easily from Internet appliances according to users' preferences. It further would be desirable to provide a system and methods for creating an Internet information database to store Internet information in categories, manage the relative importance of different items of information, and manage the relationships between different items of information. It still further would be desirable to provide a system and methods for accessing desired information that is relevant to a particular user' s interests at any given moment in time quickly within the Internet information database. It also would be desirable to provide a system and methods for creating users' profiles to manage the information interests of each user in different information categories. It further would be desirable to provide a system and methods for delivering summary and pre- selected items of information desired by a user in a concise and easy to comprehend format optimized for the network bandwidth and display capabilities of each individual Internet appliance. Summary Of The Invention In view of the foregoing, it is an object of the present invention to provide a system and methods for accessing summary and pre-selected items of Internet information quickly and easily from Internet appliances according to users' preferences. It is another object of the present invention to provide a system and methods for creating an Internet information database to store Internet information in categories, manage the relative importance of different items of information, and manage the relationships between different items of information. It is a further object of the present invention to provide a system and methods for accessing the desired information that is relevant to a particular user' s interests at any given moment in time quickly within the Internet information database. It is also an object of the present invention to provide a system and methods for creating users' profiles to manage the information interests of each user in different information categories. It is a further object of the present invention to provide a system and methods for delivering summary and pre-selected items of information to a user in a concise and easy to comprehend format optimized for the network bandwidth and display capabilities of each individual Internet appliance . These and other objects of the present invention are accomplished by providing a system and methods for accessing summary and pre-selected items of Internet information from Internet appliances quickly and easily according to a user's preferences. The user preferences are stored in a user profile that specifies the information interests of the user in a variety of information categories, such as weather, news, stock quotes, among others. The information is stored in an Internet information database designed to enable an Internet appliance to access desired information for a given user' s interests as well as other desired related information. Information determined to be desired by a user is delivered in a format optimized for network bandwidth and display capabilities of that user's Internet appliance. Such a system and methods may automatically provide more detail on information that is deemed relevant to an user, while less important and less interesting information is provided only in a summary format. In a preferred embodiment, the system of the present invention for providing access to pre-selected items of Internet information from Internet appliances according to users' preferences involve four components: (1) an information server; (2) an information database; (3) a user configuration interface; and (4) an Internet appliance interface. The information server executes the system software and contains four software modules: (1) an information retrieval module; (2) an information analysis module; (3) an information classification module; and (4) an information rendering module. The server also stores users' profiles that specify the information interests of each user in a variety of information categories, such as weather, news, stock quotes, among others. The information retrieval module retrieves information from diverse Internet resources such as web servers, news feeds, and e-mail servers. The information analysis module parses the retrieved information to extract different representations at varying levels of detail. The information classification module, classifies the extracted information according to its category and priority. The information rendering module then extracts the information determined to be desired by a user from the information database, and renders that information at one or more levels of detail and summarization dependent on that user's interest in the information, the priority of the information, and the information rendering capabilities of the user's Internet appliance. The renderings of individual items of information, which may be on a variety of categories and at different levels of detail and summarization, are combined into a summary delivered to the user in a visual format and presentation optimized for the user's Internet appliance. Optionally, the information may be transformed to facilitate presentation using a voice interface. The information database is designed to enable an Internet appliance to access information according to a given user's interests and as well as other related information. The database records the information in categories and provides mechanisms to determine the relationships between information in different categories. These relationships define sub- categories of information and clusters of information that group related categories and sub-categories together. The clusters of information may be defined by manually programmed relationships between information categories and sub-categories, as well as by relationships formed when natural language processing of the information database can determine what information categories and sub-categories associated with the information accessed by a user are available . The user specifies which information he or she considers relevant through a user configuration interface. The interface enables the user to explicitly specify not only the categories of information of interest, but also the relative level of interest in each information category. The information is accessed through an Internet appliance interface in a concise and easy to comprehend format optimized for network bandwidth and display capabilities of each individual Internet appliance. Advantageously, the present invention enables a user to access Internet information quickly and easily from any Internet appliance. In addition, the present invention enables a user to select the information accessible through the Internet appliance according to his or her personal preferences . Brief Description Of The Drawings The foregoing and other objects of the present invention will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which: FIG. 1 is a schematic view of the system and the network environment in which the present invention operates; FIG. 2 is a flow chart of the methods employed by the information server of the present invention; FIG. 3 is a schematic view of the transactional queuing mechanisms for retrieving Internet information; FIG. 4 is a schematic view of an illustrative information query; FIG. 5 shows a logic equation to calculate the importance and priority of a weather report; FIG. 6 is a schematic view of an illustrative fragment of a categorization tree for managing relationships between information items in the information database; FIG. 7 is a schematic view of an illustrative ad hoc relationship between content nodes in a categorization tree; FIG. 8 is a schematic view of an illustrative user profile; FIG. 9 shows an equation to calculate the importance of a content or virtual content node in a categorization tree to an user; FIG. 10 is a schematic view of an illustrative configured rendering definition for the lottery information category; FIG. 11 is a flow chart for combining renderings of information categories in accordance with the principles of the present invention; FIG. 12 is a flow chart for transforming text to facilitate presentation using a voice interface; FIG. 13 is a schematic view of illustrative written text to voice transformations for improving the understandability of text for voice-based Internet appliance interfaces; FIG. 14 shows an example text transcript of user access to an illustrative voice-based Internet appliance interface; and FIGS. 15A and 15B are schematic views of illustrative visual-based interfaces for use with Internet appliances having a visual display. Detailed Description Of The Invention The present invention provides a system and methods for accessing concise, relevant, and important items of Internet information quickly and easily from Internet appliances according to an user's preferences. Internet appliances, as used herein, are electronic devices configured with Internet access systems. Internet appliances include, but are not limited to, microprocessor based devices such as personal and portable computers, personal digital assistants, electronic organizers and toys, as well as consumer media delivery devices such as land line and wireless mobile telephones, television, and radio. Referring to FIG. 1, a schematic view of the system and the network environment in which the present invention operates is described. Internet appliances 20 (personal computer) , 21 (portable computer) , 22 (mobile telephone), 23 (land-line telephone), 24 (PDA), and 25 (television) communicate across the Internet with information server 26. Internet appliances 20-25 have an Internet appliance interface to access Internet information in a concise and easy to comprehend format optimized for the network bandwidth and display capabilities of each individual appliance. The Internet appliance interface may be a visual interface or a voi ce interface, depending on the Internet appliance being used to access the information. A visual interface may be used in Internet appliances that have a visual display, such as personal computer 20 and portable computer 21, wireless mobile telephone 22, PDA 24, and television 25. A voice interface may be used in Internet appliances with speech recognition technologies, such as wireless mobile telephone 22 and land line telephone 23. The Internet appliance interfaces access Internet information by connecting to information server 26, which executes the system software and is responsible for retrieving information from diverse Internet resources such as web servers, news feeds, and e-mail servers. Information server 26 parses the retrieved information to extract different representations at varying levels of detail and classify the extracted representations according to their category and priority. Information server 26 also stores users' profiles that specify the information interests of each user in a variety of information categories, such as weather, news, stock quotes, among others, and extracts the information that is currently most important to the user from information database 27. Information server 26 combines the extracted information into a concise and easy to understand summary to be delivered to the user's Internet appliance. Information database 27 enables Internet appliances 20-25 to access the most important information for a given user's interests. Information database 27 stores the information retrieved by information server 26 in categories and provides mechanisms to determine the relationships between information in different categories. Users of Internet appliances 20-25 specify which information they consider to be important and relevant to them through user configuration interface 28. User configuration interface 28 enables users to explicitly specify not only the categories of information in which they are interested, but also their relative level of interest in each information category. User configuration interface 28 may be a user configuration web site, where a questionnaire about the user's interests can be completed. Information collected in the questionnaire is transmitted to information server 26, which translates the collected information into a user profile. User configuration interface 28 also may be a call center where a user talks to a human operator who asks questions about the user to build up the user profile. It will be apparent to one of ordinary skill in the art that Internet appliances 20-25 are illustrative, and that alternative Internet appliances may be used with the present invention. It will further be understood that the present invention also could be used in other network settings. For example, rather than connecting through the Internet, the system and methods of the present invention could be used on a local area network. In such a configuration, the Internet appliances and server would all be connected to the same local area network. I. Overview of Information Flow from the Internet to an Internet Appliance Referring to FIG. 2, a flow chart of the methods employed by the information server to deliver concise, relevant, and important information from the Internet to an Internet appliance is described. At step 30, the information retrieval module of the information server reliably retrieves information from diverse Internet resources such as web servers, news feeds, and e-mail servers. The information may contain news and weather reports, stock quotes, e-mails, among others. The retrieved information is parsed at step 31 by the information analysis module of the information server to extract different representations of information at varying levels of detail. For example, a stock quote for a company may be extracted solely by the stock price at a low detail representation, or by the stock price, the low and high of the day' s price, the volume traded, and the percent change in value at a higher detail representation. At step 32, the extracted information is classified by the information classification module of the information server according to the category and priority of the information. The information category may include weather, traffic, financial news, movies, among others. The priority of the extracted information is based on the importance of the information independent of the level of interest any individual user has in that information and on the importance of the information independent of how old the information is. The priority is calculated based on the assumption that the information has just been reported. At step 33, the information is stored in the information database. The information database is designed to enable an Internet appliance to access the most important information for a given user' s interests as well as other important inter-related information. The database records the information in categories and provides mechanisms to determine the relationships between information in different categories. These relationships define sub-categories of information and clusters of information that group related categories and sub-categories together. The clusters of information may be defined by manually programmed relationships between information categories and sub- categories, as well as by relationships formed when natural language processing of the information database can determine what information categories and sub- categories associated with the information accessed by a user would ideally be available. Lastly, at step 34, the information rendering module extracts from the information database the information determined to be important to the user. The information extracted from the database is rendered at different levels of detail and summarization dependent on the user' s interest in the information, the priority of the information, and the information rendering capabilities of the user' s Internet appliance. The user's information preferences are extracted from the user's profile stored in the server. The user's profile specifies the information interests of each user in a variety of information categories, such as weather, news, stock quotes, among others. The renderings of individual items of information, which may be on a variety of categories and at different levels of detail and summarization, are combined into a concise and easy to understand summary delivered to the user at step 35 in a format and presentation optimized for the user's Internet appliance. II. Information Retrieval The information retrieval module of the information server reliably retrieves information from diverse Internet resources such as web servers, news feeds, and e-mail servers. To ultimately provide a robust and deterministic user interface for the user, availability of up to date Internet information must be guaranteed by the system. Standard Internet protocols do not guarantee end to end delivery of information since any number of computer or network failures can effect the delivery. Unless the user is protected from this unreliability, speed and ease of use will be compromised. The information retrieval module uses transactional queuing mechanisms with retry queues to manage requests for Internet information and handle failures. This ensures that required information content is brought into the system with the appropriate or necessary frequency to satisfy user demand. Referring to FIG. 3, a schematic view of the transactional queuing mechanisms for retrieving Internet information is described. The information to be retrieved from the Internet by the information server is specified in a configuration object called an information query. An information query object specifies the location on the Internet from which the information may be fetched, for example, the URL of a web site, the frequency during which it should be collected, for example, every hour during the day, the category of the information being collected, how to calculate the priority of the information being collected, and how the retrieved information should be parsed by the information analysis module of the information server, that is, what specific information items should be extracted from the information collected. An information query can specify an individual item of Internet information to be collected, or more often, it can specify a collection of Internet information such as a set of stock prices from a user' s portfolio or even all the stock prices on the New York Stock Exchange. Two queues are used to manage the information requests from the Internet, normal queue 36 and retry queue 37. Normal queue 36 handles the successful information retrievals, while retry queue 37 handles the failed information retrieval attempts. Information queries are retrieved from the Internet starting at the head of normal queue 36 and finishing at the tail of normal queue 36. The same information query may be placed at different positions in normal queue 36 to retrieve the information at a particular time frequency. A request for information query 38 at the head of normal queue 36 is sent to the Internet by the information server. There are two possible outcomes of this request. First, the information specified in information query 38 is retrieved from the Internet within a configured allowed time and so processing of the information by the information analysis and information classification modules of the information server and storage of the information in the information database can be completed. Upon completion, information query 38 is placed at the tail of normal queue 36 as information query 39. Second, either a network failure occurs during retrieval of information query 38 or the information is not retrieved from the Internet within a configured time limit. In this case, information query 38 is placed at the tail of retry queue 37 as information query 40 to be retried at a later date. Retry queue 37 is processed in a similar way to normal queue 36, with a request for information query 41 at the head of retry queue 37 being sent to the Internet. Information query 41 consists of a failed information request that was previously attempted by the information server in normal queue 36. Similarly to normal queue 36, there are two possible outcomes for requesting information query 41. First, the information specified in information query 41 is retrieved from the Internet within a configured allowed time and so processing of the information by the information analysis and information classification modules of the information server and storage of the information in the information database can be completed. Upon completion, information query 41 is placed at the tail of normal queue 36 as information query 39. Second, either a network failure occurs during retrieval of information query 41 or the information is not retrieved from the Internet within a configured time limit. In this case, information query 41 is placed at the tail of retry queue 37 as information query 40 to be retried at a later date. In such a way, normal queue 36 handles collection of information that can be handled "reliably," i.e., where information can be retrieved with a statistically acceptable frequency, and retry queue 37 handles "unreliable" Internet information. The information server uses this basic queuing mechanism to ensure transactional receipt of Internet content and efficient handling of network and Internet server failures. Advantageously, failure to retrieve information from the Internet is dealt with gracefully, that is, without data loss by the scheduling of a retry in retry queue 37. In addition, careful configuration of time out periods on the processing of information queries allows efficient information retrievals. For example, a relatively short time out period on normal queue 36 means that slow and unreliable connections are aborted quickly, leaving normal queue 36 to continue to rapidly process other information queries. A long time out period on retry queue 37 means that the information server will wait for slower connections without holding up the receipt of the main bulk of Internet information. Further efficiency gains may be made through parallelism, both in the use of different queue pairs for different types of information content, for example, one queue pair to handle e-mails, another queue pair to handle web sites, and so on, and also by having multiple multi-threaded processors of each queue. III. Information Analysis Once information has been received from the Internet, it is parsed by the information analysis module of the information server to extract different representations of information at varying levels of detail. The different representations of information to be extracted are specified in the information query issued by the information retrieval module of the information server. Referring now to FIG. 4, a schematic view of an illustrative information query is described. Information query 42 consists of an XML function that is executed by the information server to extract stock quote information from the Internet. Information query 42 contains two fields, query field 43 and information field 44. Query field 43 specifies URL 45 from which the stock price information is to be extracted, broad category 46 of the information being collected, time 47 during which the information should be collected, and how the priority of the information should be calculated (48). Upon execution of information query 42, the information server receives the source data contained in URL 45. Information field 44 specifies how to parse the collected information, that is, what data fields (49) should be extracted from retrieved URL 45 and how. Data extraction utilizes pattern-matching techniques to extract data fields 49, which in the case of information query 42 for a stock price, include: the name of the stock, the market in which the stock is traded, the stock symbol, the last trade date and price, the change and change percent in value of the stock, the previous closing price, the volume traded on the day, among others. The process for extracting data fields 49 involves searching for known terms and markers in URL 45. These terms and markers are used as beginning and end delimiters for the data field being sought. For example, data field 50 for the stock symbol specifies data type 51, beginning delimiter 52, and end delimiter 53. The pattern matching specification can either be built manually by a system administrator operating a user interface to highlight data fields 49 in URL 45, or automatically by using natural language analysis and heuristic techniques to recognize expected data fields in a source information of a known context. In case the information is easily accessed from a database, the natural language analysis is not required since the data fields can be directly extracted from the database. The natural language analysis is preferred to the manual method since it does not involve human interaction, which would be very slow and inefficient in retrieving Internet information during short time intervals . IV. Information Classification The information classification module classifies the extracted information according to its category and priority. Classifying the information according to its category begins with knowledge of where the information collected originated. In some circumstances, this may be all that is required to position the information in the correct information category. For example, if the information came from a news feed that provides only surf reports for a specific beach, then the information can be automatically categorized. More likely, knowledge of the source information provides only broad categorization, and the final classification can only be determined in combination with data fields extracted during the information analysis. For example, a news feed providing stock quotes specifies a broad classification of any information read from the news feed as a stock quote, but this broad categorization must be combined with the company name and perhaps the market on which the stock is traded to provide the final category classification. This additional information can be determined from the data fields extracted during the information analysis, with the rules for providing the final classification category being specified in the information query. For example, information query 42 is categorized based on a combination of a broad category field and the name of the stock (54) . The information classification module calculates the priority of each item of Internet information collected based on the importance of the information independent of the level of interest any individual user has in that information and on the importance of the information independent of how old the information is. The priority is calculated based on the assumption that the information has just been reported. An individual user's interest in a category of information and the modification of priority based on how recently the information was reported are properties that are applied by the information classification module at the time at which the information is accessed by the user. The individual user's interest in a category of information is specified in the user's profile stored in the information server. The priority of an information category is computed using arithmetic and logic equations. For example, illustrative priority equation 48 in FIG. 4 is an arithmetic equation to calculate the importance of a stock quote based on the percentage change of a stock price. Data used within the calculation is taken from the CHANGEPERCENT data field (49) extracted during information analysis. Referring now to FIG. 5, an illustrative logic equation to compute the importance and priority of a weather report is described. Logic equation 55 determines the importance and priority of a weather report by looking for occurrences of unusual weather conditions within the weather report, such as thunderstorms, ice, sleet, wind conditions, among others. When an unusual weather pattern is present at the weather report, the priority of the weather report is increased. The priority of an information category is represented by a numeric value such that the higher the value, the higher the priority. The priority can take values between 0 % and 100 %, and it is normalized to provide consistent values across information categories. An assignment of a priority of 95 % implies that an item of information is more important than 95 % of the information previously collected in a specific information category. In this way, historical trends can be used to normalize the calculation of priority of an item of information within a category. It should be understood by those skilled in the art that a wide variety of equations may be used to calculate the priority of any given information category. For example, in calculating the priority of e-mail received, header information within the e-mail can be used as the basis of a calculation of the priority of an individual message. Such information can be extracted from the subject of the e-mail by looking for reply or forward markers, or from the e- mail distribution list by looking for e-mail sent directly to the user. V. Information Database Once the retrieved information has been analyzed and classified according to its category and priority, it is stored in an information database designed to enable an Internet appliance to access the most important information for a given user' s interests as well as other important inter-related information. The information database records the information in categories and provides mechanisms to determine the relationships between information in different categories . Referring to FIG. 6, a schematic view of an illustrative fragment of a categorization tree for managing the relationships between information items in the information database is described. Categorization tree 56 organizes the information in the information database by categories and associated relationships between information items in the categories. The categories and associated relationships are manually programmed in the information database. Each information item in categorization tree 56 is a node in the tree, and a universally unique identifier is assigned to every node in the tree to uniquely identify a node. There are five types of nodes in categorization tree 56: (1) global root node; (2) category node; (3) cluster definition node; (4) content node; and (5) virtual content node. Each node in the tree may be of more than one type. Global root node 57 defines the head of the information space from which all of the information in the database may be traversed. Category nodes 59a and 59b represent a category of information within the information database, with category node 59a representing the entertainment category and category node 59b representing the geography category. Category node 59a is divided into category nodes 61a-c, which are sub- categories of the entertainment category, namely, movies (61a), producers (61b), and actors (61c). Category node 61a refers to content node 63a and virtual content nodes 63b and 65. Content node 63a contains an instance of information content produced by the information analysis module of the information server, in this case, a video clip of a movie. Content nodes may be of different types, including text, graphics, imagery, video, sound, and combinations. Virtual content nodes 63b and 65 specify instances of information that vary depending on context parameters, for example, virtual content node 63b represent movie theater information that depends on location, and virtual content node 65 represent movie schedules that depend on date and time. Other virtual content nodes in categorization tree 56 include node 61d representing maps of given locations, and node 61e, representing driving directions between two locations. In addition, category nodes 61a (movies) and virtual content node 63b (theaters) are also cluster nodes, which define a cluster of information containing related information items. Cluster node 61a define cluster 66 and cluster node 63b define cluster 67. Cluster 66 is used to specify that when information on a movie is requested by a user, related information such as the movies' producers (61b) and actors (61c), a sample preview clip of the movie (63a), and the theaters where the movie is currently playing (63b) can also be displayed to the user. Information clusters allow the users to see all relevant information on a topic and can be cascaded to form large interrelated maps of content. When a new information item belonging to an information category is inserted in the information database, any existing information cluster for that information category is checked to determine whether the new information item can be inserted in the cluster. The nodes in categorization tree 56 are connected to each other through several arcs that define relationships between the nodes. An arc links two nodes specified by their unique identifiers, and also has properties defining the weighted strength of a relationship, the age and any expiration date of the relationship, and any ownership or privacy rules. The weighted strength of a relationship is a value associated with the arc that determines how strongly the nodes connected by the arc are related. This value is used by the information rendering module of the information server when extracting the most important information for a user from the information database. Ownership and privacy properties define which users have access to the information stored at the node destination of an arc. For example, e-mail messages are made private to a user by their ownership being associated to the user and properties being set on the arc that enforce the privacy of e-mail messages. There are five types of arcs in a categorization tree: (1) "is a subcategory of" arc; (2) "is an instance of" arc; (3) "is equivalent to" arc; (4) "is related to"; and (5) "is a cluster definition of" arc. The "is a subcategory" arc is used to link the global root node to category nodes to form a categorization of the information space. Arcs 58a and 58b in categorization tree 56 are of this type. The "is an instance of" arc is used to connect category nodes to content nodes or virtual content nodes to indicate that the content is in the specified category. Arcs 62a and 62b in categorization tree 56 are of this type. The "is equivalent to" arc indicates when two or more content nodes contain equivalent content, for example, two content nodes containing news stories on the same topic and same date but from different news sources would be connected with an "is equivalent to" arc. The "is related to" arc is used to specify relationships between instances of information in content nodes and virtual content nodes, such as arc 64 in categorization tree 56. Lastly, the "is a cluster definition of" arc is used to connect a category node to a cluster node and that cluster node to other nodes that may contain information that if available should be presented with the requested information in the cluster node since it is closely related. Arcs 68a-d in cluster 66 of categorization tree 56 and arcs 69a-c in cluster 67 of categorization tree 56 are of this type. Information items in the information database also can be interrelated by defining "ad hoc relationships" between them. Ad hoc relationships are formed when natural language processing of content nodes in a categorization tree can determine what other associated information are available to an user and also what information a content node can supply that would be of interest to other content nodes. This enables ad hoc relationships to be built between content nodes from anywhere within the information database without having to follow manually programmed cluster or category definitions already in place in the information database. Referring now to FIG. 7, a schematic view of an illustrative ad hoc relationship between content nodes in a categorization tree is described. Content node 70 contains an instance of a summary plot of the movie Antz, and is connected to content nodes 71, 72, 73, and 74, through "is related to" arcs. Natural language processing of the information in the categorization tree has determined that content node 75 representing a TV show containing a review of the movie Antz is related to content node 70. An ad hoc relationship is then formed between content nodes 70 and 75 though "is related to" arc 77. I . User Configuration Interface & User Profile A user specifies which information he or she considers to be important and relevant through a user configuration interface. The interface enables users to explicitly specify not only the categories of information of interest, but also the relative level of interest in each information category. The user configuration interface may be a user configuration web site or a call center where a user talks to a human operator. In both cases, a questionnaire about the user' s interests is completed and transmitted to the information server, which translates the collected information into a user profile. Referring to FIG. 8, a schematic view of an illustrative user profile is described. User profile 78 consists of an XML function that is executed by the information server when the user requests information from an Internet appliance. The user profile is used to extract only the information determined to be important and relevant to that user from the information database. User profile 78 specifies user's interests in categories 79a-f, namely, e-mail (79a) , financial (79b), lottery (79c), traffic (79d) , weather (79e) , and horoscope (79f) . Category 79b has two sub-categories, 80a and 80b, further specifying the user's interest in stock prices of technology companies as the relevant financial information. Categories 79a-f have information or content items 81a-h that specify exactly what information item belonging to a given category the user has an interest in. For example, in traffic category 79d, the user only has an interest in the traffic of the San Francisco Peninsula in California, USA (81f) . Information items 81a-h have associated interest levels 82a-h that specify the importance and priority of information items 81a-h to the user. Interest levels 82a-h can be adjusted dynamically based on the user' s behavior while interacting with an Internet appliance interface. For example, if information is presented to a user on a particular category of information and the user routinely skips past that information in the Internet appliance interface, the system may determine that the user has a reduced interest in this category of information. As such, the interest level on that particular category recorded in the user profile may be reduced accordingly with appropriate notification to the user. Conversely, if a user spends a significant amount of time accessing a particular category of information in the Internet appliance interface, it can be reasonably determined that the user has a higher interest level in that information category. As such, the interest level on that particular category recorded in the user's profile can be increased accordingly with appropriate notification to the user. The dynamic adjustments to a user's interest levels are limited within reasonable bounds to avoid such adjustments having a more significant effect on the user profile than more accurate specifications of a user's interests specified in questionnaires through user configuration interfaces . VII. Information Rendering The user' s profile is combined with the information in the information database to provide the most important information to the user through an Internet appliance interface. The information rendering module of the information server traverses an individual user's profile, taking each definition of a category of interest as a starting point within the information database, which corresponds to a category node in a categorization tree. From each of these starting points within the information database, a calculation is carried out to determine which pieces of information in the vicinity of the starting point are important enough to bring to the user's attention, that is, which content nodes and virtual content nodes can be reached from the starting point by traversing arcs in the categorization tree in the information database. The importance of a content node and virtual content node to the user and how strongly the nodes are related depend on the combined weighted strength of the arcs that are traversed. Referring to FIG. 9, an illustrative equation to compute the importance of a content or virtual content node in a categorization tree to an user is described. Equation 83 involves three parameters, 83a- c, that are used to calculate the importance of a content or virtual content node. Equation parameter 83a consists of the multiple of all strength of relationship weights assigned to the arcs that are traversed from the starting point to get to the content or virtual node whose importance is being determined. The weights are recorded in the information database. Equation parameter 83b is extracted from the user's profile and consists of the interest level of the user in the information category represented by the category node at the starting point. Lastly, equation parameter 83c is an aging factor stored in the information database for each arc traversed from the starting point to the content or virtual node whose importance is being determined. The aging factor for a given arc is determined as the difference in dates between the date when the arc was created and the date when the user is accessing the information at the starting point. Equation 83 is calculated for each of the user's interests so that a prioritized list of the importance of the information in the information database to be transmitted to the user is constructed. The prioritized list is used to determine the order in which the information is to be transmitted to the user when accessing an Internet appliance interface. The process of constructing the prioritized list can be optimized by using importance thresholds for arcs that are traversed from a starting point to a content or virtual content node. Arcs whose importance fall below the importance threshold will link to information items that will not be important enough to bring to the attention of the user, so that equation 83 is only calculated for the subset of arcs which is most interesting to the user. By adjusting the importance threshold, the quantity of information pulled from the information database can be adjusted for different Internet appliance bandwidths, different Internet appliance interfaces, and different user requests. Additionally, when this process is applied to only a subset of the user' s profile, a similar prioritized list can be constructed for a subset of information categories in the user's profile. These subsets allow the user to have more control of the level of detail presented for each information category when accessing an Internet appliance interface. For example, when a user initially logs into an Internet appliance interface a high level summary can be obtained of all their information interests at a relatively high importance threshold. The user then may go on to view more information, including that at a lower importance threshold in a specific information category, such as viewing the details on a stock portfolio when accessing the financial category. The calculation of the importance of each individual item of information to a user allows a decision to be automatically made as to whether that information item should be presented to the user when accessing a particular Internet appliance. It also enables the information rendering module of the information server to decide how much detail should be provided when the information is presented (or "rendered") to the user such that an information item that is more important to the user at a moment in time is rendered with more detail than another information item that is less important. This approach helps the information rendering module of the information server present information concisely to the user. The rendering of information is based on configured rendering definitions that are stored in the information server and specify what information is available at different levels of detail, or strata. A rendering of information at a higher strata is more summarized than a rendering of the same information at a lower strata. Referring to FIG. 10, a schematic view of an illustrative configured rendering definition for the lottery information category is described. Rendering definition 84 consists of an XML function that is executed by the information server when information is to be rendered from the information database to an Internet appliance. Rendering definition 84 contains two rendering levels of detail, 85 and 86. Each rendering level of detail defines an information category (85a and 86a), a stratum (85b and 86b), the Internet appliance interface for which the information is being rendered (85c and 86c), and the language in which it is being rendered (85d and 86d) . Each rendering level provides formatting within which data parameters such as data parameter 87 are substituted. Data parameters substituted in renderings are extracted by the information analysis module of the information server and stored in the information database. Rendering definitions may be conditional on the values of data parameters such that detail for a particular information category is only rendered if the values of certain data parameters indicate that the user may be interested in receiving the detailed information. For example, detail on the volume of a stock may be rendered to an user if a stock volume parameter indicates that the volume in the traded stock has reached an exceptional value at a particular date. Stratum 85b at 100 % represents a minimum rendering consisting of only a summary of the latest information on information category 85a. Stratum 86b at 50 % provides some additional detail for the user, in this case, the latest two lottery results, that may be rendered if the user's interest level in information category 86a is high enough. Any number of renderings may be configured between the 100 % stratum and 0% stratum levels. A rendering for an item of information is selected by the information rendering module of the information server when the stratum value is appropriate for the level of importance of the information to the user. The higher the importance of an item of information, the lower the stratum and the lower the summarization selected to render the information, that is, the information will be rendered with more detail. The selection of a rendering definition depends on the Internet appliance interface (85c and 86d) for which information is being rendered. Only renderings appropriate for a user' s Internet appliance are selected for rendering an item of information. The same information item may be rendered in different ways for different Internet appliances so as to optimize the effectiveness of the information on the target appliance. For example, a stock quote may be rendered in the form of a visual graph on an Internet appliance with a visual display, but on a voice-based Internet appliance the rendering may consist of only the percentage change in the stock price. Referring to FIG. 11, a flow chart for combining renderings on a variety of information categories into a concise and easy to understand summary to be delivered to an Internet appliance is described. To make the combined rendering both easy to understand by the user and also most effective in quickly providing the most important information to an user, a two-stage sorting algorithm is carried out. First, at step 89, the list of renderings of all information categories that are important to the user are sorted so that the most important information categories are rendered to the user before the less important ones. Second, at step 90, a sort is performed within each information category to order the individual information items in each information category by their importance to a user. For example, ordering individual information items in the stock quotes category would render a stock price that has risen substantially prior to one that is stable. Providing a concise and easy to understand summary optimized for network bandwidth and display capabilities of each individual Internet appliance optionally involves a method for transforming text so that it can be presented using a voice-based interface. Referring now to FIG. 12, a flow chart for transforming written text so that it may be presented by a voice interface as it is normally spoken in conversation is described. At step 93, an information context analysis is performed so that the broad context of the information is determined by the information rendering module. The broad context may determine, for example, that the information item is an e-mail message, or that the information item contains telephone numbers of a movie theater. The context analysis searches for known keywords within the information rendering that indicate the context of the information, for example, a paragraph of information that contains the words "highway" and "interstate" is likely to be discussing roads, a sentence that starts with the word "phone" is likely to contain a phone number, a sentence that contains the word "dollar" or the character "$" is likely to contain financial figures, and so on. At step 94, a word token analysis is performed by the information rendering module to determine word tokens whose understandability when spoken in conversation can typically be improved. Examples of such word tokens include streams of numbers or dates, or header information in an e-mail message. By combining steps 93 and 94, a high degree of reliability can be achieved in improving the understandability of text. Referring now to FIG. 13, a schematic view of illustrative written text to voice transformations for voice-based Internet appliance interfaces is described. Information context analysis 96, token analysis 97, and improved renderings 98 contain examples of transformations of different information items in particular contexts, including information items in financial context 99 and information items in telephone context 100. Information items in financial context 99 are rendered in such a way to clarify specific symbols used in a financial context, such as "$" signs and "V fractions of stock quotes, which are rendered in speech as the word "dollar" and the word "half", respectively. Similarly, telephone numbers in telephone context 100 are rendered so that well-known phone prefixes, such as "1-800" and area codes, are easily understood in a voice-based interface. VIII. Internet Appliance Interface The rendered information can be accessed from an Internet appliance through an Internet appliance interface, that may be a voice interface or a visual interface, depending on the display capabilities of the Internet appliance being used. The Internet appliance interface is designed to that information can be accessed from any Internet appliance with little user interface interaction. The Internet appliance interface preferably provides the a high degree of desired Internet information to an user in a conveniently accessible manner from any Internet appliance. Referring to FIG. 14, an example text transcript of user access to an illustrative voice- based Internet appliance interface is described. Text transcript 101 contains the text translation of voice prompts issued by the user of a voice-based Internet appliance interface as well as the text translation of the voice information sent by the information server to the user during a user's phone call to the server. Upon dialing the phone number corresponding to the server, the user receives summary 102 of the information important to the user. After a brief pause following summary 102, the information server presents the user menu of options 103 to prompt the user for access to the user's pre-selected information categories . When the user selects an information category option by saying the number corresponding to the selected information category, the server fetches the appropriate rendering configuration of the information, and translates the information to the user through information voice notification 104. The information transmitted to the user for each information item depends on the importance of the information item, with more detail information being provided for the information items that are considered more important. A brief pause follows information voice notification 104, and the user then hears menu 103 again to select further information categories. The user selects the e-mail information category, and listens to e-mail notification 105 from the server. Selecting the e-mail information category again after listening to e-mail notification 105 triggers the server to render the important messages in e-mail notification 106 providing more detail to the user. At any point during the phone call the user may choose to hangup, or to return to menu of options 103 to access more detailed information on the relevant information categories . Referring to FIGS. 15A and 15B, schematic views of illustrative visual-based interfaces for use with an Internet appliance having a visual display is described. Visual-based interface 107 shown in FIG. 15A contains top-level summaries on various information categories of interest to an user named Dave, including e-mail messages, financial news, weather information, shopping requests, news headlines, and entertainment news. Each information category is easily accessed through icons displayed in visual-based interface 107. Accessing the information category icons enables the user to get more detail information on any one of the relevant information categories. Visual-based interface 108 shown in FIG. 15B consists of an instance of user interaction requesting information on the movie Antz . Visual-based interface 108 displays all the related information on the movie Antz that is available on the information database. Although particular embodiments of the present invention have been described above in detail, it will be understood that this description is merely for purposes of illustration. Specific features of the invention are shown in some drawings and not in others, and this is for convenience only and any feature may be combined with another in accordance with the invention. Steps of the described processes may be reordered or combined, and other steps may be included. Further variations will be apparent to one skilled in the art in light of this disclosure and are intended to fall within the scope of the appended claims.

Claims: What Is Claimed Is: 1. A system for providing a user with access to items of Internet information according to a user's preferences using an Internet appliance, the system comprising: an information server programmed to communicate with an Internet appliance; an information database programmed to store and manage Internet information; an user configuration interface to enable an user to generate a user profile to specify the user's preferences; and an Internet appliance interface to enable an user to access Internet information using the Internet appliance . 2. The system of claim 1, wherein the Internet appliance comprises an electronic device configured to access the Internet. 3. The system of claim 1, wherein the information server comprises: an information retrieval software module; an information analysis software module; an information classification software module; and an information rendering software module. 4. The system of claim 2, wherein the information retrieval software module comprises information retrieval software routines for retrieving Internet information from a plurality of Internet resources . 5. The system of claim 4, wherein the Internet resources comprise web servers, news feeds, and e-mail servers. 6. The system of claim 4, wherein the information retrieval software routines further comprise transactional queues that manage requests for Internet information. 7. The system of claim 3, wherein the information analysis module comprises: software routines for parsing retrieved Internet information and extracting information representations at various levels of detail; and pattern matching software routines for searching and extracting known markers and data fields from retrieved Internet information. 8. The system of claim 7, wherein software routines for parsing retrieved Internet information and extracting information representations comprise information queries for specifying one or more of: information representations to be extracted from the retrieved Internet information; a location from which Internet information is to be extracted; a category of the information being extracted; a time during which the information is extracted; and how to determine the priority of the information being extracted. 9. The system of claim 3, wherein the information classification module comprises software routines for classifying retrieved Internet information according to information categories and information priority. 10. The system of claim 9, wherein the information categories comprise one or more of: a messages categories; a news category; a financial category; a weather category; an entertainment category; a traffic category; and a calendar category. 11. The system of claim 9, wherein the information priority is computed based on the importance of the information independent of a level of user interest and independent of an age of the information. 12. The system of claim 3, wherein the information rendering module comprises: software routines for extracting the information from the information database determined to be desired by the user; software routines for rendering items of information at one or more levels of detail; and software routines for combining renderings of items of information into a summary format. 13. The system of claim 12, wherein software routines for extracting the information comprise software routines for computing the importance of an item of information in the information database based on related information items in the information database and on a level of user interest. 14. The system of claim 13, wherein the level of user interest comprises a priority value associated with the item of information item or information category stored in the user's profile. 15. The system of claim 13, wherein software routines for rendering individual information items at one or more levels of detail comprise software routines for extracting the items of information from the information database specified in a plurality of rendering definitions stored in the information server. 16. The system of claim 15, wherein the rendering definitions comprise formatting specifications for representing the items of information at a plurality of levels of detail. 17. The system of claim 12, wherein software routines for combining renderings of items of information items into a summary format comprise: a routine for sorting the renderings of the items of information and information categories that are determined to be important to the user; and a routine for transforming the items of information into a format for presentation by a voice interface . 18. The system of claim 17, wherein the items of information and information categories that are determined to be important to the user are specified in the user's profile with a high priority value . 19. The system of claim 17, wherein routines for transforming the items of information comprises information context analysis software routines and word token analysis software routines. 20. The system of claim 1, wherein the information database comprises software routines for recording items of information in categories and determining relationships between items of information in different categories. 21. The system of claim 20, wherein the software routines organize the items of information in a categorization tree. 22. The system of claim 21, wherein the categorization tree comprises nodes that identify an information item or category and arcs that define relationships between the nodes. 23. The system of claim 22, wherein the nodes comprise a universally unique identifier. 24. The system of claim 1, wherein the user configuration interface comprises a user configuration web site or a human-operated call center. 25. An information server programmed to communicate with an Internet appliance, the information server comprising: an information retrieval software module; an information analysis software module; an information classification software module; and an information rendering software module. 26. The server of claim 25, wherein the information retrieval software module comprises information retrieval software routines for retrieving Internet information from a plurality of Internet resources . 27. The server of claim 25, wherein the information analysis software module comprises: software routines for parsing retrieved Internet information and extracting information representations at a pre-determined level of detail; and pattern matching software routines for searching and extracting known markers and data fields from retrieved Internet information. 28. The server of claim 25, wherein the information classification module comprises software routines for classifying retrieved Internet information according to information categories and information priority. 29. The server of claim 25, wherein the information rendering module comprises: software routines for extracting information from an information database determined to be important to a user; software routines for rendering items of information at one or more levels of detail; and software routines for combining renderings of the items of information into a summary format. 30. The server of claim 29, wherein the information database comprises a database of Internet information and software routines for recording the information in categories and determining relationships between items of information in different categories. 31. A method for providing Internet information using an Internet appliance according to a user's preferences, the method comprising: providing a user configuration interface to enable a user to specify his or her information preferences; retrieving information from the Internet and organizing the information into an information database; extracting information from the information database determined to be desired by the user; summarizing the extracted information at a level of detail according to a network bandwidth and display capability of the Internet appliance; and providing an Internet appliance interface for accessing the extracted information. 32. The method of claim 31, wherein providing a user configuration interface comprises providing a web site or a human-operated call center for the user to specify information preferences. 33. The method of claim 31, wherein retrieving information from the Internet and organizing the information into an information database comprises : retrieving Internet information from a plurality of Internet resources; parsing the retrieved Internet information and extracting information representations at various levels of detail; classifying the information representations into information categories; assigning a priority level to the information categories; and recording the information in the information in the information database according to categories and relationships between information items in different categories . 34. The method of claim 31, wherein extracting information from the information database comprises computing a level of importance of an item of information based on related items of information database and on a user's level of interest in the item of information or information category comprising the item of information. 35. The method of claim 31, wherein summarizing the extracted information comprises providing formatting specifications for representing items of information at a plurality of levels of detail and sorting the items of information.

Inventors: CALLENDER JOHN LENNON, SHEARD NICOLAS, CALLENDER, JOHN, LENNON, SHEARD, NICOLAS
Applicants: SIRENIC INC, SIRENIC, INC.
Application year: 2000
Main classification: G06F15
IPC codes: G06F12, G06F13, G06F15, G06F17, H04L12, H04L29, H04M1