Method of and system for enhanced local-device content discovery

Information

  • Patent Grant
  • 9703779
  • Patent Number
    9,703,779
  • Date Filed
    Wednesday, February 2, 2011
    13 years ago
  • Date Issued
    Tuesday, July 11, 2017
    7 years ago
Abstract
A method of and system for enhanced local-device content discovery is disclosed. A method includes providing a local collection of content items and associated metacontent on a device. The metacontent describes the informational content of the corresponding content items. A remote catalog of metacontent items and information describing relationships between the metacontent items is provided. Input is received from the user for finding at least one desired content item and a search query is formed including at least one metacontent item of the remote catalog based on matching the input from the user with metacontent items of the catalog and further based on the information describing relationships between the metacontent items. A subset of content items of the local collection associated with metacontent that at least partially matches the search query is selected and presented on a display device based on at least one ranking criterion.
Description
BACKGROUND OF THE INVENTION

Field of the Invention


The invention generally relates to identifying and presenting content to a user in response to a search action, and, more specifically, to combining global preference and metacontent information with individualized preference information gathered by a user device.


Description of Related Art


On-device information retrieval systems permit a user to search, browse or shuffle through items located in databases on and off of the device. For example, a cache of items may be stored on the device, with more items stored in databases in various servers on the Internet/network, to which the device is connected. The device may be, for example, a phone, personal music device (e.g., iPod, mp3 players), a set top box, a mapping or GPS device, a gaming device or even a personal computer.


Examples of items located in databases resident on the device include, but are not limited to, contact information, music related items (songs, artists, albums, playlists), videos, images, DVR'd programs, local region-specific maps and local listings, applications from appstores of various kinds, bookmarks of browsers, etc. With the growth in volatile and especially non-volatile memory on devices, local databases are increasing in size as well as diversity.


On one hand, meaningful portions of otherwise large databases, usually stored only in the network, may be explicitly carved out by a service provider and cached on the device itself, in order to facilitate mission critical information retrieval, even in the face of data network failures. For instance, the entire Boston region maps/directions database and local listings of a Boston based subscriber may be cached on his/her device (phone or GPS) so that a minimal set of search queries work even when the data network is congested or unavailable. On the other hand, the on-device non-volatile memory is also a natural choice to store the databases pertaining to the user's music collection (from a music store or from a CD or MP3 collection), applications downloaded from an application store, bookmarks of the device browser being used by the user, contact information being used in communication applications used by a device-user, TV programs or other videos DVR'd, downloaded or purchased by the user, images or photos that are on the device and so on.


Examples of items from databases resident on network-based servers that can possibly be returned in response to search, browse or shuffle queries originating in on-device information retrieval systems include, but are not limited to, contact information and listings of businesses, map and listings databases, videos, songs, album and artist listings, applications databases, images and photos, and indeed arbitrary collections of items, textual or multimedia, including web-pages that can be presented to the user of the device. There can be a multiplicity of servers in the Internet or network connected to the device which may serve requests and send back items of various types back to the device.


There are two distinct possibilities pertaining to the nature of the results presented in response to search browse, or shuffle queries from such on-device information retrieval systems. In the first possibility, the results are restricted to items from databases resident on the device. In the second possibility, the results are a mix of items, some from databases resident on the device and some from databases requested on a multiplicity of servers in the Internet or network to which the device is connected. A boundary case of this scenario, for example in a search operation, is when there are no local results for a user input, and the results are all from the network. One example of the boundary case of this scenario for a browse operation is when the entire contents or part of the browse hierarchy itself comes from the network.


BRIEF SUMMARY OF THE INVENTION

A method of and system for enhanced local-device content discovery is disclosed.


In accordance with one embodiment of the invention, a method includes providing on a local device a local collection of content items and associated metacontent. The metacontent associated with each content item describes the informational content of the corresponding content item. The method also includes providing on a remote server system a remote catalog of metacontent items and information describing relationships between the metacontent items. The method further includes receiving input from the user for finding at least one desired content item and forming a search query including at least one metacontent item of the catalog of metacontent items based on matching the input from the user with metacontent items of the catalog and further based on the information describing relationships between the metacontent items. The method includes determining a subset of content items of the local collection associated with metacontent that at least partially matches the search query and presenting the subset of content items of the local collection on a display device based on at least one ranking criterion.


In accordance with another embodiment of the invention, the remote catalog of metacontent further includes metacontent associated with content items.


In accordance with yet another embodiment of the invention, the method also includes providing access to a collection of content items and associated metacontent remote from the local device. The metacontent associated with each content item describes the informational content of the corresponding content item. The method also includes determining a subset of content items of the remote collection of content items associated with metacontent that at least partially matches the search query. The method further includes merging the subset of content items of the remote collection with the subset of content items of the local collection for presentation on the display device based on the at least one ranking criterion.


In accordance with a further embodiment of the invention, the method also includes maintaining a remote inventory of the content items of the local collection remote from the local device. Optionally, the determination of the subset of content items of the local collection associated with metacontent that at least partially matches the search query is performed relative to the remote inventory of the content items of the local collection.


In accordance with still another embodiment of the invention, the method includes, responsive to the selection of one of the content items of the subset, passing at least a portion of the search query as an input to the selected content item.





BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS


FIG. 1 illustrates an overview of the architecture of a system according to an embodiment of the invention.



FIG. 2 illustrates a process for augmenting metacontent associated with content accrued on a user device.



FIG. 3 illustrates a process for displaying content in response to a user search action.



FIG. 4 illustrates a process for query analysis and query extension in an on-device search.



FIG. 5 illustrates a process for query analysis and query extension using remote server-based computation of device results.





DETAILED DESCRIPTION

Disclosed herein is a method and system to combine network based global information about content items with locally-cached preference information. For example, the global information can include content item relevance, popularity, and text metacontent. Whereas the locally-cached information (“local information” herein) present on the user's device can include personalized relevance, personal user preferences, and usage patterns. Doing so enables an improved ordering of results presented to the device user in response to a content search action. The disclosed techniques can be applied to the results regardless of whether the results come only from a local database on the device, a combination of a local database and a remote database (e.g., an Internet-based search engine), or the remote database only. Regardless of the user operation of search/browse/shuffle, the network response can be personalized to the user based on the previous learned user content access behavior on the device.


Certain embodiments of the invention build on techniques, systems and methods disclosed in U.S. patent application Ser. No. 11/136,261, entitled Method And System For Performing Searches For Television Content Using Reduced Text Input, filed on May 24, 2005, U.S. patent application Ser. No. 11/235,928, entitled Method And System For Processing Ambiguous, Multiterm Search Queries, filed on Sep. 27, 2005, now U.S. Pat. No. 7,788,266, U.S. patent application Ser. No. 11/682,693, entitled Methods And Systems For Selecting And Presenting Content Based On Learned Periodicity Of User Content Selections, filed on Mar. 6, 2007, now U.S. Pat. No. 7,774,294, U.S. patent application Ser. No. 11/939,086, entitled Method Of And System For Selecting And Presenting Content Based On User Identification, filed on Nov. 17, 2007, all of which are incorporated by reference herein and included in the attached appendix. The present techniques, however, are not limited to systems and methods disclosed in the incorporated patents and applications. Thus, while reference to such systems and applications may be helpful, it is not believed necessary to understand the present embodiments or inventions. For example, the incorporated applications describe methods of learning user content preferences, processing user incremental query input, and employing user viewing habits to discover relevant content. As described in greater detail below, these techniques can be used in combination with those presented herein.


In one embodiment of the invention, a query database is associated with each possible result of a search, browse, or shuffle query. Thus, such a query database contains associations between result items and one or more queries made by users, in response to which a user acted upon the particular result. Optionally, certain personalized item attributes and certain global item attributes can be associated with each possible result. Examples of personalized and global attributes are described below. Furthermore, certain personalized dataspace attributes can be associated with each dataspace in the set of all possible dataspaces.


In another embodiment of the invention, a dataspace is associated with any result item, and a dataspace can be defined in terms of the following two attributes: a dataspace type and a dataspace origin flag. Dataspace type, denoted Type herein, describes the type of content items resident in the dataspace. Examples of dataspace types include, but are not limited to, contact information, music/song, music/artist, music/album, televisions program, mobile application, webpage/bookmark, webpage, video, photograph, on-device utility, on-device file, on-device directory/folder, local region map information, yellow page listing, white page listing, game etc. Other taxonomies of dataspace types can also be used; the one mentioned above is only indicative. Dataspace origin flag, denoted Origin herein, indicates the source of the database. Examples include, but are not limited to, On-Device database and Network database.


In one illustrative implementation, the personalized item attributes associated with any result item may include one or more of a personalized item-relevance or other personalized attributes. Personalized item-relevance, denoted P-Relevance herein, can a scaled integer or real number directly proportional to the relevance of that item relative to the database of all items in the same dataspace as that item, for the device's user and each specific search, browse or shuffle query. Other attributes, denoted P-Other Attributes, can include personal periodicity of usage, frequency of usage, duration of usage/interaction, raw count of usage, last time of usage, temporal characteristics of usage, and/or location characteristics of usage. Other attributes are within the scope of the invention. Theses attributes can be independent of any queries associated with items, and, rather, be simply associated with the items themselves based upon learning the users' interactions with the items.


The techniques set forth in U.S. Pat. No. 7,774,294 can be used to learn the various attributes. As described in that patent, each time a user interacts with a particular item, the user's preference that is tracked for that item is increased. Similarly, preference tracking values associated with metacontent associated with the item can be increased. For example, if the item viewed by the user is a clip of a Red Sox baseball game, preference values associated with video clips, Red Sox, and baseball can all be increased. Furthermore, the weighting factors associated with any of the attributes described herein can be scaled integers, real numbers, and/or vector quantities, depending on the type of user interaction information collected. Thus, if a user has a variable pattern of interaction with an item, a set of items, or a particular dataspace during the day, this pattern can be captured in a vector representing user preferences during timeslots throughout the day (the same can be done for location of interaction). For example, a user may exhibit a high degree of interaction with audio/video items during the morning commute, very little to none during the workday, and a high degree of interaction during the evening commute. Such an activity pattern can be learned and captured in a vector quantity. Also as described in the incorporated patent, the attribute weights can be decayed over time.


In one embodiment of the invention, the global item attributes associated with any result item may include one or more of a global item-relevance or other global attributes. Global item-relevance, denoted G-Relevance herein, can be a scaled integer or real number directly proportional to the relevance of that item relative to the database of all items in the same dataspace as that item, across all possible users and for each specific search, browse or shuffle query. Other attributes, denoted G-Other Attributes, can include a global periodicity of usage, global frequency of usage, average duration of usage/interaction, raw count of usage, last time of usage, global temporal characteristics of usage, and/or global location characteristics of usage. Other attributes are within the scope of the invention. Theses attributes can be independent of any queries associated with items, and, rather, be simply associated with the items themselves based upon learning the users' interactions with the items across the entire system or a portion thereof.


As set forth above in connection with the personalized attributes, the techniques set forth in U.S. Pat. No. 7,774,294 can be used to determine the various attributes and magnitudes of those attributes to be associated with the items, sets of items, and/or dataspaces. However, in the case of global attributes, the actions and interactivity of a plurality of users (in some cases, all) are monitored to determine the proper values.


In one embodiment of the invention, the personalized dataspace attributes associated with a dataspace may include one or more of a personalized dataspace relevance, or other personalized database attributes. Personalized dataspace relevance, denoted PD-Relevance herein, can be scaled integer or real number directly proportional to the relevance of that dataspace for the device's user and each specific search, browse or shuffle query. Other personalized dataspace related attributes, denoted PD-Other Attributes, can include personal periodicity of usage of a dataspace, frequency of usage of a dataspace, duration of usage/interaction of a dataspace, raw count of usage of a dataspace, last time of usage of a dataspace, temporal characteristics of usage of a dataspace, and/or location characteristics of usage of a dataspace. Other attributes are within the scope of the invention.


Personalized dataspace attributes concern the dataspace itself rather than the particular items belonging the dataspace. Thus, while attribute values are determined and/or modified for an item based on a user's interaction behavior with that item, separate values associated with the dataspace to which the item belongs are also determined and/or modified. For example, when a user plays a number of songs on her device, one implementation of the invention will increase the individual personal preference attributes associated with each individual song. In addition, personalized dataspace attribute values will be increased in the aggregate for the music dataspace for each individual song played. Moreover, if the user merely interacts with the dataspace (e.g., search and/or browse), but does not select content from the dataspace, this, too, can be captured by the techniques set forth herein.


Embodiments of the invention described herein enable the global dataspace attributes, personalized item attributes, global item attributes, and the personalized dataspace attributes associated with each item-result candidate to be considered together and combined in suitable ways in order to determine and present an improved ordering of results in response to a search, browse, or shuffle query performed on a user device. The relevance values and attributes can be treated as metacontent, as described in more detail below. As used herein, the terms device, user device, local device, and Smartphone are used interchangeable and can include any one of a PDA, tablet-style computing device, Smartphone, mobile phone, or other handheld computing device. Any of the embodiments or implementations of the invention can also be implemented on a personal computer or via a web-based interface to a on-line application.



FIG. 1 illustrates the on-device architecture in one possible embodiment of the invention. An on-device metacontent crawler and tracker (101) continuously keeps track of all locally resident content items and their associated metacontent, including updates, etc. An activity tracker (102) keeps track of all the user's activities, including, but not limited to, specific usage patterns and actions on on-device items, as well as certain items from network databases. For example, a remote network database (e.g., search engine) may send a set of results in response to user queries for such things as restaurants, websites, sports teams, places of interest, etc. If a particular user frequently acts upon some specific subset of restaurants, websites, sports teams, and/or places of interest, the listings corresponding to the specific subset of restaurants, websites, sports teams, and/or places of interest etc. are stored and indexed on that user's device. At any subsequent time, the particular subset of network listings stored and indexed on the device may change based on the user's “current” preferences, i.e., the subset of network items on the device may age-decay and change over time.


A personalization engine (103) consumes activity information that has been captured by the activity tracker (102) and maintains information (including, e.g., information from crawler tracker (101)) to compute the current personalized item attributes for all items on-device, as well as any on-device queued items, as described above. The personalization engine (103) also maintains information to determine the current personalized dataspace attributes for each dataspace corresponding to items from local and network databases.


A Metacontent Engine (104) maintains a metacontent database that includes metacontent associated with content items and dataspaces and other global information that can be used to compute global item attributes (e.g., G-Relevance, G-Other attributes, etc.). The metacontent that is associated with content items and dataspaces depends on the type of items and dataspaces in question. Examples follow. A contacts dataspace can have the following associated metacontent: name, email address, company, telephone number, and physical address. An audio/video item (e.g., music) dataspace can have the following associated metacontent: song name, artist name, album name, and musical genre. A bookmarks or websites dataspace can have the following associated metacontent: the URL, domain name, page title, and category. An “apps store” dataspace can have the following associated metacontent: Application name, keywords, price, and categories. A point of interest dataspace can have the following associated metacontent: name of listing, physical address, geographic location (e.g., latitude and longitude). A text communication dataspace (e.g., for SMS, email, IM) can have the following associated metacontent: subject (if applicable), text content, sender identifier, and receiver identifiers.


The Metacontent Engine (104) augments and enhances global information, including global popularity and relevance for local items, by incorporating information from Network Metacontent Enhancers (105) from time-to-time. Network Metacontent Enhancers (105) serve as a source of metacontent related to content items of various data types. This information can be gathered from a variety of online sources of information, such as websites, authoritative databases, user contributed websites, curated or editorially created content databases, operator-controlled content walled-gardens, etc. Certain implementations of the present invention can be used with the systems and techniques disclosed in U.S. patent application Ser. No. 12/879,141, entitled “Method of and System For Presenting Enriched Video Viewing Analytics”, filed on Sep. 10, 2010, incorporated by reference herein. That application describes analytics associated with audio/video content items, and, more specifically, to providing statistical and analytical information on past, present, and predicted future viewing and user-interaction operations as well as providing a structured metacontent system for content items. Thus, the various server elements described in that application can serve as Network Metacontent Enhancers for use with embodiments of the present invention.


Thus, the Metacontent Engine (104) has information that can be used to determine global item attributes for each local item. An on-device Information Retrieval System (106) can, optionally, communicate with the Metacontent Engine (104) and Usage Personalization Engine (103) to retrieve and combine global item attributes, personalized item attributes, and dataspace attributes for each item in a result set from any search/browse/shuffle query originating on the device. The items in the result set could be from a device-resident database or a network-resident database.


The elements described in FIG. 1 can be implemented in one or many computer systems, including individual server machines. The elements of the computer systems can be connect via a network, which can be public and/or private, wired and/or wireless. Thus, “network” as used herein includes the paths used to communicated between elements of the system disclosed herein as well as paths connected outside of the system.



FIG. 2 illustrates the offline processing steps for augmenting the metacontent associated with on-device accrued content. Content such as media, contacts, etc. continue to accrue on device (201). In response, from time-to-time, a Metacontent Engine (104) on the device connects to a Network Metacontent Enhancer (105) via a network link and correlates the content that has locally accrued with content present on the Network Metacontent Enhancer. For example, suppose an application that was downloaded onto the device from an application store. Locally obtained information about the application (e.g., file name, MP3 tags for a song, URL or other text information pertaining to a bookmark, application name, and/or appstore name) is sent to the Network Metacontent Enhancer (105) or one of a multiplicity of network based metacontent servers. The Network Metacontent Enhancer (105) matches the locally obtained information using various techniques with meaningful items in its database. Whenever a match is possible, the Network Metacontent Enhancer (105) returns additional information, such as global popularity measures of appropriate kinds.


For example, the Network Metacontent Enhancer (105) matches an MP3 file with file-name “beatlesheyjude” (note: often MP3 tags are often not well formed name-value pairs.) with the database records for the track name “Hey Jude” of artist “The Beatles” from a music listings database. Based upon the match the Network Metacontent Enhancer (105) returns the current song's popularity figure on a scale of 1000 and/or the current artist popularity figure for the artist associated with the song. Similarly, additional textual metacontent may be sent back to the device, e.g., the artist “Beatles” and song title “Hey Jude” may be associated with the file “beatlesheyjude”.


Another example follows: based on an application name and application store identity, the Network Metacontent Enhancer (105) identifies one or more records pertaining to a database of all applications corresponding to that application store, and/or a figure indicative of the current number of downloads for the application. Yet another example is correlating a bookmark URL to database records pertaining to a website having a name that matches or is similar to the URL in a website metacontent database. For web content, the Network Metacontent Enhancer (105) returns a figure indicative of current page-rank and/or some other web popularity number for a webpage. Likewise, the categories for an application or web site, etc. can be associated with the corresponding content. By doing this, the system enhances the metacontent of locally accrued content (203).



FIG. 3 illustrates the steps involved in displaying the results of a user action (search, browse, shuffle) according to an illustrative implementation of the invention. When user attempts to discover content (301) (e.g., via search, browser, or other action), the user action is dispatched to the network (302) (e.g., an Internet-based search engine or database). In the case of a text search, characters constituting the query can be dispatched as the user is typing (i.e., incremental searching). In the case of a browse action, additional results may be requested from the network when the user navigates into a browse node hierarchy. The results from the network are then fetched, and they are displayed (303) along with the locally present results, removing duplicate results. This duplicate item removal process is facilitated by the augmented metacontent that is already present on the device that resulted from the offline enhancement of on-device metacontent process described above. For example, if two items have metacontent that match within a certain threshold, the system considers the two items to be identical.


For example, the only metacontent initially available on-device for a music track could be the file nametag created by user, such as “ninth_symphony.mp3”. This sparse metacontent could have been enhanced by the offline processing, described above, by correlating it with Beethoven's Ninth Symphony as found on a network element. Thus, the metacontent “Beethoven” is associated with the locally resident music track. Therefore, when user types “beeth” as an incremental query on the local device, the system will return this item as a result item because of the match in query input and metacontent. Likewise, other content items associated with the word “Beethoven” will be returned, e.g., other symphonies by Beethoven, a link to the 1992 movie “Beethoven”, and/or web articles about the composer. The system will also begin the process of combining network resident results along with locally resident results by removing duplicates. Thus, the device may only present the locally resident copy of Beethoven's Ninth Symphony in response to the query instead of both the local copy and network resident copy.


Next, the likely relevance of each of the content items of the result set is determined using the personalized attributes and global attribute values described above (304). In so doing, any one or more of these attributes are combined (e.g., using a weighted sum of any applicable relevance or attribute values) to determine an overall relative relevance of the content item to the user's query. For example, because the Ninth Symphony music track is locally resident on the device, in some implementations, it will get a relevance boost. Likewise, the user's prior access frequency of the music track will be taken into account in determining overall relevance. Further still, other parameters, such as, global dataspace attributes, personalized dataspace attributes, other global item attributes, and/or other personalized item attributes are taken into account to decide the final ordering of results tailored to the user. Finally, the results are ordered and presented on the device based on the overall relevance determination (305).


The presence of locally resident metacontent combined with access and usage history offers the potential for significant enhancement to the user experience by leveraging the user's prior device usage to determine personalized content. This personalized content display allows for a user's preferences to outweigh, in appropriate contexts, global relevance for certain items. At the same time, it also enables the network global relevance to have an impact on results display when meaningful. For example, even if the user has only infrequently played a particular song, if there is a major news event on that artist, a result pertaining to that artist may have a strong temporal boost from the network when the user is searching for or browsing content given the item will have relatively high global relevance and global attribute values.


In contrast, personalized relevance and personalized attributes may outweigh global relevance and global attributes. For example, assume a music group A is globally much more popular than music group B (i.e., group B may be considered a “longtail” band). In addition, assume both bands are searchable using the same search term(s). If a particular user has a much higher personalized relevance for group B then an on-device search may be more likely to rank items associated with group B more highly than group A even though group A is globally more popular. This is because group B is more relevant for that particular user than group A. The same principle can extend to other types of items and other dataspaces. As a second example, assume user 1 tends to do searches in the contacts, email, and website dataspace from his Smartphone, whereas user 2 primarily searches the contacts, music, and applications dataspace from his Smartphone. In this example, even if the two users have absolutely identical content on the device, as well as access to the same content on remote network sources, the same query from user 1 and user 2 may return different results for user 1 than for user 2 reflecting their personalized dataspace relevance values. A similar result could occur if, in response to a dataspace-independent search, user 1 typically selected items belonging to the contacts, email, and website dataspaces, while user 1 typically selected items belonging to the contacts, music, and applications dataspaces.


Embodiments of the present invention, leverages the user's on-device actions to influence and personalize the display of results by combining on-device learning with the global network-based relevance of items. This device-centric approach while maintaining the network's global relevance for items and dataspaces, enhances user experience by offering a more relevant and pertinent ordering, from the user's perspective, in content discovery operations. Moreover, by storing the user's preference information and history of usage (i.e., the user's “signature”) on the device and not on the network, a user's concerns for privacy are reduced. In situations where network results have to be personalized to the user's signature, the pruning and reordering can happen on the device.


In another implementation, the user's signature could be sent anonymously to facilitate personalized results generation on the server, but the signature is not saved on the server. Each content request/search could be accompanied by the signature to enable the server to generate a personalized response. Having the user signature resident on the device also has the advantage of selectively requesting servers catering to specific dataspaces of interest to the user. For example, a user may be interested in only a certain dataspace though its global relevance may not be high. The user signature however, can dictate that the network server catering to the dataspace of interest to the user is contacted as opposed to a globally popular dataspace.


Systems and techniques for using metacontent present on servers and databases that are remote from a user to improve search, browse, and shuffle queries on such devices (e.g., Smartphone) have been disclosed above. The use of the Network Metacontent Enhancers to analyze the on-device metacontent of an item and supplement that metacontent with additional metacontent (e.g., keywords, terms, and categories) in order to improve the searchability of that item is performed at least once, and more typically, performed from time-to-time. However, supplementing the metacontent on the device is typically done independent of user queries. In contrast, the use of numerical and statistical weights denoting the personalized and global relevance values for an item, or for an item in the context of a specific query, to present a personalized and meaningful ordering of search results is linked directly to the query activity.


In some implementations of the invention, the enhancement of a query is performed dynamically (i.e., at the time of the query) by using metacontent on remote servers and/or databases to discover content on the local device that otherwise may not have been returned as a query result. FIG. 4 illustrates a process for query analysis and query extension in an on-device search. In such a process, a user enters a query to discover content resident on a local device and, optionally, from a remote server source (401). The query is sent to a remote system (402), where the query is analyzed is greater detail than may be practical on the local device due to limited memory and/or computational abilities of the device. The remote system may include or work in conjunction with one or more of the Usage Personalization Engine (103), Metacontent Engine (104), Network Metacontent Enhancers (105), and/or Information Retrieval System (106), described above. As such, implementations of the invention provide both associations between content and their corresponding metacontent as well as associations between metacontent alone, independent of underlying content. The query analysis may, e.g., involve performing a semantic analysis of the user's query, so as to extend the user's original query by determining terms, categories, keywords, and/or other information (extension information) that can be used to discover content on the local device that would have gone undiscovered using the original query alone (403). For example, additional information that is commonly associated with similar queries by other users can be returned. Such associations can be discovered through global user query tracking using, for example, any of the components shown and described above.


The extension terms, keywords, categories, and/or other information are sent back to the user's device (404). This extension information is then used by the on-device processing engine(s) to retrieve additional on-device items that would not have been retrieved without the query extension information (405). Optionally, any remote server-based results and/or global relevance or other global attribute information can be sent back to the local device with the extension information. Any new result items that are found on the local device can then be blended with other on-device query results and/or query results that originated from remote server sources.


The following example illustrates one implementation of the above-described techniques. Assume a user has on his device an application called “Yelp!”, which may have been associated with, among other textual strings, the text string “restaurant guide”. Because of on-device resource limitations, the number of strings that can be associated with the application is limited. Moreover, when the Yelp! Application is loaded onto the device, it may only be associated with a limited numbers of descriptor keywords. As a result, even though the Yelp! on-device application, which can be an effective restaurant-locator, is arguably a very good on-device query result for numerous queries containing terms such as “Vietnamese”, “Moroccan cuisine”, “Mediterranean”, “pho”, “quiche”, and/or “moussaka”, that application will never be retrieved by an on-device search engine using those keywords because those keywords are not associated with the Yelp! application on the local device. However, as mentioned above, it may be impractical to associate all of the possible keywords with the application because the number of terms is likely to be so large, and often so dynamic, that periodically enhancing the local metacontent associated with the Yelp! application will be ineffective of problematic.


Implementations of the invention make possible the presentation of the Yelp! application, or other on-device restaurant-finding applications, as query result items for queries containing terms such as those described above. Specifically, runtime query analysis is performed on the query terms submitted by the user on the network servers in order to compute additional possible keywords that are related to the ones submitted by the user but not present in the on-device index. Thus, in response to the user query “Mediterranean”, an on-device search using this query only would not discover the Yelp! application. However, in response to having the keyword “Mediterranean” submitted to the network servers, the related keywords or categories such as “restaurant”, “restaurant locator”, etc. are determined and sent back to the local device as query extension information. Upon receiving these query extension terms, the on-device search engine discovers the application Yelp!, which was associated with the category “restaurants” and/or “restaurant-locator” on the local device.


Another illustrative example of how the network-side query-extensions process (FIG. 4) can improve the user's experience involves a user query “big papi trade”. The remote server query-analysis extends this query to include terms such as “mlb”, “baseball”, “Red Sox”, “ESPN”, and/or “Manny Ramirez” These extensions are then be used to discover relevant on-device applications (and/or content) that would otherwise not be presented to the user. Further still, is a query “MSFT quarterly results”, which could produce query extensions of “finance”, “business news”, etc. The on-device query could then discover on-device results such as the Bloomberg Application, if present.


In another illustrative implementation of the invention, the network-side query extension process can be used to perform query extensions before the user's query is completely entered. For example, the remote servers may provide for a partial query string “mediterr” (a prefix of “Mediterranean”) the extension terms of “restaurant” and/or “restaurant-locator” if the remote server(s) analyzing the partial entry sufficiently disambiguated. Similarly the query entry “MSFT” may be enough information for the remote server(s) to extend the query with the keywords or categories “Business news”, “finance”, etc. even before the user has entered additional terms in the search query “MSFT quarterly results”. Further still, the network-side query-analyzer system can perform query extensions even when the query entered by the user has typographical, lexicographic, and/or phonetic errors. Thus, even if the queries entered by the user contain errors, e.g., “Big poppy trade”, “mussaakaa”, or “msft quatery result”, the network-side query-analyzer system can correct these queries and return relevant extensions to the local device. The techniques disclosed herein enable content items resident on the local devices to be easily discovered on handheld computing devices with overloaded and/or especially small input keypads. The techniques also increase the ease with which on-device items can be found using text input keypads that are inconvenient to use and/or when the user-query is a speech to text converted query.


In still further implementations of the invention, some or all of the metacontent of at least a subset of the user's on-device content items (including on-device identifiers for those items) is synchronized, or backed-up, to a network servers. In such an implementation, the remote network servers perform not only the query analyses and extensions determination, as described above, but they also carryout a network-side search of the user's backed-up device metacontent. Such a process is illustrated in FIG. 5.


As shown in FIG. 5, a user enters a query to discover content (501). The query is sent to a remote system (502), where the query is analyzed is greater detail for the determination of extension information, as described above (503). The extension information and original query terms are then used to determine matching content items that satisfy the extended query (504). Remote servers perform this query against the backed-up set of on-device metacontent and, optionally, against content in the remote system.


The extension terms, keywords, categories, and/or other information are sent back to the user's device along with identifiers associated with the on-device results determined by the remote system (505). Optionally, any remote server-based results and/or global relevance or other global attribute information can be sent back to the local device with the extension information. The extension information is then used by the on-device processing engine(s) to retrieve additional on-device items for which had not been included in the remote server system backup (506). Any new on-device result items that are found on the local device can then be blended with on-device query results discovered by the remote system as well as query results that originated from remote server sources (506).


Building on the Yelp! application example above, assume the Yelp! application is resident on the user's device, and metacontent associated with on-device content (such as the Yelp! application) is backed-up on a remote server system. In such a case, the remote system can return the on-device Yelp! application as an on-device result. In some implementations, the search result interface can present the Yelp! application result as a clickable link to launch the on-device application. Furthermore, certain items provide support for “deep-linking” such that the act of launching the on-device item (e.g., application or website) also provides all or part of the user's query that caused the particular item to be presented to the user as input to the item itself.


In certain implementations of the invention, all or part of the query extension information is provided to the item selected by the user (assuming the item supports deep-linking). For example, if a particular search result item is a web URL, e.g., gmail.com, upon the user selecting the items, a browser application is launched with the deep-link criterion “gmail.com” so that the browser directly opens that URL. Similarly, when the Yelp! application is returned as a result item through the use of query extension information based on “mediterr”, as described above, selecting the item will cause the system to launch the Yelp! application with the keyword “Mediterranean”. This can result is directly displaying results of interest to the user without the additional steps of completing a query in the Yelp! application. This deep-linking aspect can be used with any of the embodiments and/or implementations described herein.


The techniques and systems disclosed herein may be implemented as a computer program product for use with a computer system or computerized electronic device. Such implementations may include a series of computer instructions, or logic, fixed either on a tangible medium, such as a computer readable medium (e.g., a diskette, CD-ROM, ROM, flash memory or other memory or fixed disk) or transmittable to a computer system or a device, via a modem or other interface device, such as a communications adapter connected to a network over a medium.


The medium may be either a tangible medium (e.g., optical or analog communications lines) or a medium implemented with wireless techniques (e.g., Wi-Fi, cellular, microwave, infrared or other transmission techniques). The series of computer instructions embodies at least part of the functionality described herein with respect to the system. Those skilled in the art should appreciate that such computer instructions can be written in a number of programming languages for use with many computer architectures or operating systems.


Furthermore, such instructions may be stored in any tangible memory device, such as semiconductor, magnetic, optical or other memory devices, and may be transmitted using any communications technology, such as optical, infrared, microwave, or other transmission technologies.


It is expected that such a computer program product may be distributed as a removable medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the network (e.g., the Internet or World Wide Web). Of course, some embodiments of the invention may be implemented as a combination of both software (e.g., a computer program product) and hardware. Still other embodiments of the invention are implemented as entirely hardware, or entirely software (e.g., a computer program product).


As described above, the techniques and methods disclosed herein enable an improved user experience for conducting search/discovery operations on a user device. Such devices include, but are not limited to, mobile telephones, personal digital assistants, tablet computers, television remote control/set-top-box systems, and other portable computing systems. Likewise, aspects of the various embodiments of the invention can be used with personal computer systems, whether of the portable or desktop variety. In all such devices, any of the tangible media and/or memory devices described above can be incorporated.


It will be appreciated that the scope of the present invention is not limited to the above-described embodiments, but rather is defined by the appended claims, and these claims will encompass modifications of and improvements to what has been described. For example, the embodiments provided above are described as being useful for performing searches using incremental and/or ambiguous text input. However, the techniques, methods, and systems described and incorporated herein can be implemented on user devices having a full keyboard and/or other input methods permitting full text queries.

Claims
  • 1. A method of finding and presenting content items based on input received from a user in which the search query used to match content items of potential interest is formed based on matching the input with a catalog of metacontent items and keywords associated with the metacontent items, the method comprising: providing, on a local device, a local collection of content items and associated metacontent, the metacontent associated with each content item describing informational content of the corresponding content item;providing, on a remote server system, a remote catalog of metacontent items and keywords associated with the metacontent items;receiving, on the local device during a range of time of a sequence of ranges of times, input from the user for finding at least one desired content item, wherein the sequence of ranges of times repeats cyclically after all ranges of times in the sequence of ranges of times have lapsed;receiving a plurality of magnitudes of user interaction, wherein each respective magnitude of the plurality of magnitudes corresponds to an amount of user interaction of the user with a respective dataspace of a plurality of dataspaces of the remote catalog during the range of time;identifying, based on the plurality of magnitudes, a dataspace of the plurality of dataspaces that corresponds to the respective magnitude having a greatest magnitude of user interaction of the plurality of magnitudes of user interaction;selecting at least one keyword that has a different word stem than the received input from keywords included within a subset of the remote catalog corresponding to the dataspace, based at least in part on matching the received input from the user with metacontent items that are included within the subset of the remote catalog;adding, on the local device, the at least one keyword to the received input from the user to form a search query;determining, on the local device, a subset of content items of the local collection associated with metacontent that at least partially matches both of the at least one keyword and the received input from the user of the search query; andpresenting, on the local device, the subset of content items of the local collection on a display device based at least in part on at least one ranking criterion, wherein the ranking criterion includes learned preferences of the user for content items of the local collection and local attribute values associated with the content items of the local collection, each local attribute value being based on interactions of the user with at least one content item of the local collection corresponding to the local attribute value.
  • 2. The method of claim 1, wherein the remote catalog of metacontent items further includes metacontent associated with content items.
  • 3. The method of claim 1, wherein the content items of the local collection include contact information records and the associated metacontent includes at least one of contact name, contact email address, contact company name, contact telephone number, and contact physical address.
  • 4. The method of claim 1, wherein the content items of the local collection include audio/video items and the associated metacontent includes at least one of song name, song artist name, song album name, audio/video genre, video clip name, and actors featured in the audio/video item.
  • 5. The method of claim 1, wherein the content items of the local collection include website links and the associated metacontent includes at least one of a URL address, domain name of the website link, website page title, and website category.
  • 6. The method of claim 1, wherein the content items of the local collection include application store items and the associated metacontent includes at least one of application name, keywords associated with the application, application price, and application categories.
  • 7. The method of claim 1, wherein the content items of the local collection include point of interest items and the associated metacontent includes at least one of name of point of interest, physical address of the point of interest, geographic location of the point of interest.
  • 8. The method of claim 1, wherein the content items of the local collection include text-based communication records and the associated metacontent includes at least one of subject field, text content of the communication, communication sender identifier, and communication receiver identifiers.
  • 9. The method of claim 1, wherein the local attribute values include at least one of a periodicity of usage by the user, frequency of usage by the user, a duration of usage by the user, a number of interactions by the user, a last time of use by the user, temporal information associated with usage by the user, and location information associated with usage by the user.
  • 10. The method of claim 1, wherein the ranking criterion includes learned preferences of a plurality of users for content items of the local collection and global attribute values associated with the content items of the local collection, each global attribute value being based on interactions of the plurality of users with at least one content item of the local collection corresponding to the global attribute value.
  • 11. The method of claim 10, wherein the global attribute values include at least one of a periodicity of usage by the plurality of users, frequency of usage by the plurality of users, a duration of usage by the plurality of users, a number of interactions by the plurality of users, a last time of use by the plurality of users, temporal information associated with usage by the plurality of users, and location information associated with usage by the plurality of users.
  • 12. The method of claim 1, wherein the local device is one of a personal digital assistant, a Smartphone, and a tablet computer.
  • 13. The method of claim 1, wherein the determination of the subset of content items on the local device is determined as subsequent characters of input are entered by the user.
  • 14. The method of claim 1, further comprising: providing access to a collection of content items and associated metacontent remote from the local device, the metacontent associated with each content item describing the informational content of the corresponding content item;determining a subset of content items of the remote collection of content items associated with metacontent that at least partially matches both of the at least one keyword and the received input from the user of the search query; andmerging the subset of content items of the remote collection with the second subset of content items of the local collection for presentation on the display device based on the at least one ranking criterion.
  • 15. The method of claim 1, further comprising maintaining a remote inventory of the content items of the local collection remote from the local device, wherein the determination of the subset of content items of the local collection associated with metacontent that at least partially matches both of the at least one keyword and the received input from the user of the search query is performed relative to the remote inventory of the content items of the local collection.
  • 16. The method of claim 1, further comprising, responsive to the selection of one of the content items of the subset of content items of the local collection, passing at least a portion of the search query as an input to the selected content item.
  • 17. A system for searching for content items, the system comprising: memory; andhardware processing circuitry configured to: provide, on a local device, a local collection of content items and associated metacontent, the metacontent associated with each content item describing information content of the corresponding content item;access a remote catalog of metacontent items and keywords associated with the metacontent items stored on a remote server system;receive, on the local device, a search input from a user for finding a desired content item during a range of time of a sequence of ranges of times, wherein the sequence of ranges of times repeats cyclically after all ranges of times in the sequence of ranges of times have lapsed;receive a plurality of magnitudes of user interaction, wherein each respective magnitude of the plurality of magnitudes corresponds to an amount of user interaction of the user with a respective dataspace of a plurality of dataspaces of the remote catalog during the range of time;identify, based on the plurality of magnitudes, a dataspace of the plurality of dataspaces that corresponds to the respective magnitude having a greatest magnitude of user interaction of the plurality of magnitudes of user interaction;identify a metacontent item included in a subset of metacontent items of the remote catalog corresponding to the dataspace matching at least a part of the search input;retrieve, from the remote catalog, a keyword that is associated with the identified metacontent item, wherein the keyword has a different word stem than the search input has;form, at the local device, a search query comprising the keyword and the search input;compare, at the local device, the search query to the metacontent associated with the local collection to determine a subset of content items of the local collection that are each associated with metacontent that at least partially matches both the keyword and the search input of the search query; andgenerate for display, at the local device, an indication of the subset of content items based on a ranking criterion, wherein the ranking criterion includes learned preferences of the user for content items of the local collection and local attribute values associated with the content items of the local collection, each local attribute value being based on interactions of the user with at least one content item of the local collection corresponding to the local attribute value.
  • 18. The system of claim 17, wherein the keyword and the search input belong to the dataspace, and the dataspace is one of contacts, e-mail, website, music, and applications.
  • 19. A non-transitory computer-readable medium for storing a plurality of instructions for searching for content items, the plurality of instructions comprising: an instruction for providing, on a local device, a local collection of content items and associated metacontent, the metacontent associated with each content item describing information content of the corresponding content item;an instruction for accessing, on a remote server system, a remote catalog of metacontent items and keywords associated with the metacontent items;an instruction for receiving, on the local device, a search input from a user for finding a desired content item during a range of time of a sequence of ranges of times, wherein the sequence of ranges of times repeats cyclically after all ranges of times in the sequence of ranges of times have lapsed;an instruction for receiving a plurality of magnitudes of user interaction, wherein each respective magnitude of the plurality of magnitudes corresponds to an amount of user interaction of the user with a respective dataspace of a plurality of dataspaces of the remote catalog during the range of time;an instruction for identifying, based on the plurality of magnitudes, a dataspace of the plurality of dataspaces that corresponds to the respective magnitude having a greatest magnitude of user interaction of the plurality of magnitudes of user interaction;an instruction for identifying a metacontent item included in a subset of metacontent items of the remote catalog corresponding to the dataspace matching at least a part of the search input;an instruction for retrieving, from the remote catalog, a keyword that is associated with the identified metacontent item, wherein the keyword has a different word stem than the search input;an instruction for forming, at the local device, a search query comprising the keyword and the search input;an instruction for comparing, at the local device, the search query to the metacontent associated with the local collection to determine a subset of content items of the local collection that are each associated with metacontent that at least partially matches both the keyword and the search input of the search query; andan instruction for generating for display, at the local device, an indication of the subset of content items based on a ranking criterion, wherein the ranking criterion includes learned preferences of the user for content items of the local collection and local attribute values associated with the content items of the local collection, each local attribute value being based on interactions of the user with at least one content item of the local collection corresponding to the local attribute value.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit under 35 U.S.C. §119(e) to U.S. Provisional Patent Application No. 61/301,307, entitled Method of and System for Enhanced Content Discovery Based on Network and Device Access Behavior, filed on Feb. 4, 2010, the contents of which are incorporated by reference herein. This application is related to the following U.S. Patent Applications, filed on an even date herewith: U.S. patent application Ser. No. 13/019,461, entitled Method of and System for Enhanced Content Discovery Based on Network and Device Access Behavior, andU.S. patent application Ser. No. 13/019,467, entitled Method of and System for Updating Locally Cached Content Descriptor Information.

US Referenced Citations (353)
Number Name Date Kind
1261167 Russell Apr 1918 A
4045777 Mierzwinski et al. Aug 1977 A
4453217 Boivie Jun 1984 A
4760528 Levin Jul 1988 A
4797855 Duncan, IV et al. Jan 1989 A
4893238 Venema Jan 1990 A
5224060 Ma et al. Jun 1993 A
5337347 Halstead-Nussloch et al. Aug 1994 A
5369605 Parks Nov 1994 A
5487616 Ichbiah Jan 1996 A
5532754 Young et al. Jul 1996 A
5557686 Brown et al. Sep 1996 A
5623406 Ichbiah Apr 1997 A
5635989 Rothmuller Jun 1997 A
5745889 Burrows Apr 1998 A
5774588 Li Jun 1998 A
5802361 Wang et al. Sep 1998 A
5805155 Allibhoy et al. Sep 1998 A
5818437 Grover et al. Oct 1998 A
5828420 Marshall et al. Oct 1998 A
5828991 Skiena et al. Oct 1998 A
5835087 Herz et al. Nov 1998 A
5859662 Cragun et al. Jan 1999 A
5872834 Teitelbaum Feb 1999 A
5880768 Lemmons et al. Mar 1999 A
5896444 Perlman et al. Apr 1999 A
5912664 Eick et al. Jun 1999 A
5930788 Wical Jul 1999 A
5937422 Nelson et al. Aug 1999 A
5945928 Kushler et al. Aug 1999 A
5945987 Dunn Aug 1999 A
5953541 King et al. Sep 1999 A
6005565 Legall et al. Dec 1999 A
6005597 Barrett et al. Dec 1999 A
6006225 Bowman et al. Dec 1999 A
6008799 Van Kleeck Dec 1999 A
6009459 Belfiore et al. Dec 1999 A
6011554 King et al. Jan 2000 A
6041311 Chislenko et al. Mar 2000 A
6047300 Walfish et al. Apr 2000 A
6075526 Rothmuller Jun 2000 A
6133909 Schein et al. Oct 2000 A
6169984 Bogdan Jan 2001 B1
6184877 Dodson et al. Feb 2001 B1
6189002 Roitblat Feb 2001 B1
6204848 Nowlan et al. Mar 2001 B1
6223059 Haestrup Apr 2001 B1
6260050 Yost et al. Jul 2001 B1
6266048 Carau, Sr. Jul 2001 B1
6266814 Lemmons et al. Jul 2001 B1
6269361 Davis et al. Jul 2001 B1
6286064 King et al. Sep 2001 B1
6292804 Ardoin et al. Sep 2001 B1
6307548 Flinchem et al. Oct 2001 B1
6307549 King et al. Oct 2001 B1
6360215 Judd et al. Mar 2002 B1
6377945 Risvik Apr 2002 B1
6383080 Link et al. May 2002 B1
6385602 Tso et al. May 2002 B1
6392640 Will May 2002 B1
6438579 Hosken et al. Aug 2002 B1
6438751 Voyticky et al. Aug 2002 B1
6463586 Jerding Oct 2002 B1
6466933 Huang et al. Oct 2002 B1
6529903 Smith Mar 2003 B2
6543052 Ogasawara Apr 2003 B1
6564213 Ortega et al. May 2003 B1
6564313 Kashyap May 2003 B1
6594657 Livowsky et al. Jul 2003 B1
6600496 Wagner et al. Jul 2003 B1
6614422 Rafii et al. Sep 2003 B1
6614455 Cuijpers et al. Sep 2003 B1
6615248 Smith Sep 2003 B1
6622148 Noble et al. Sep 2003 B1
6631496 Li et al. Oct 2003 B1
6662177 Martino et al. Dec 2003 B1
6664980 Bryan et al. Dec 2003 B2
6708336 Bruette Mar 2004 B1
6721954 Nickum Apr 2004 B1
6732369 Schein et al. May 2004 B1
6734881 Will May 2004 B1
6735695 Gopalakrishnan et al. May 2004 B1
6757906 Look et al. Jun 2004 B1
6766526 Ellis Jul 2004 B1
6772147 Wang Aug 2004 B2
6785671 Bailey et al. Aug 2004 B1
6801909 Delgado et al. Oct 2004 B2
6835602 Norskov et al. Dec 2004 B2
6839702 Patel et al. Jan 2005 B1
6839705 Grooters Jan 2005 B1
6850693 Young et al. Feb 2005 B2
6865575 Smith et al. Mar 2005 B1
6865746 Herrington et al. Mar 2005 B1
6907273 Smethers Jun 2005 B1
6965374 Villet et al. Nov 2005 B2
6999959 Lawrence et al. Feb 2006 B1
7013304 Schuetze et al. Mar 2006 B1
7117207 Kerschberg et al. Oct 2006 B1
7130866 Schaffer Oct 2006 B2
7136845 Chandrasekar et al. Nov 2006 B2
7136854 Smith Nov 2006 B2
7146627 Ismail et al. Dec 2006 B1
7149983 Robertson et al. Dec 2006 B1
7191238 Uchida Mar 2007 B2
7213256 Kikinis May 2007 B1
7225180 Donaldson et al. May 2007 B2
7225184 Carrasco et al. May 2007 B2
7225455 Bennington et al. May 2007 B2
7269548 Fux et al. Sep 2007 B2
7293231 Gunn et al. Nov 2007 B1
7461061 Aravamudan et al. Dec 2008 B2
7487151 Yamamoto et al. Feb 2009 B2
7509313 Colledge et al. Mar 2009 B2
7512620 Dingle Mar 2009 B2
7529741 Aravamudan et al. May 2009 B2
7529744 Srivastava et al. May 2009 B1
7536384 Venkataraman et al. May 2009 B2
7536854 Da-Silva et al. May 2009 B2
7539676 Aravamudan et al. May 2009 B2
7548915 Ramer et al. Jun 2009 B2
7594244 Scholl et al. Sep 2009 B2
7644054 Garg et al. Jan 2010 B2
7657526 Aravamudan et al. Feb 2010 B2
7679534 Kay et al. Mar 2010 B2
7683886 Willey Mar 2010 B2
7685197 Fain et al. Mar 2010 B2
7712053 Bradford et al. May 2010 B2
7725485 Sahami et al. May 2010 B1
7725486 Tsuzuki et al. May 2010 B2
7739280 Aravamudan et al. Jun 2010 B2
7757250 Horvitz et al. Jul 2010 B1
7774294 Aravamudan et al. Aug 2010 B2
7774341 Aravamudan et al. Aug 2010 B2
7779011 Venkataraman et al. Aug 2010 B2
7788266 Venkataraman et al. Aug 2010 B2
7792815 Aravamudan et al. Sep 2010 B2
7835998 Aravamudan et al. Nov 2010 B2
8086608 Hampton Dec 2011 B2
8266173 Reztlaff et al. Sep 2012 B1
8832132 Spertus et al. Sep 2014 B1
20010044759 Kutsumi et al. Nov 2001 A1
20020002550 Berman Jan 2002 A1
20020042791 Smith et al. Apr 2002 A1
20020049752 Bowman et al. Apr 2002 A1
20020052873 Delgado et al. May 2002 A1
20020059066 O'Hagan May 2002 A1
20020059621 Thomas et al. May 2002 A1
20020077143 Sharif et al. Jun 2002 A1
20020083448 Johnson Jun 2002 A1
20020116291 Grasso et al. Aug 2002 A1
20020120925 Logan Aug 2002 A1
20020133481 Smith et al. Sep 2002 A1
20020144267 Gutta et al. Oct 2002 A1
20020152190 Biebesheimer et al. Oct 2002 A1
20020184373 Maes Dec 2002 A1
20020188488 Hinkle Dec 2002 A1
20020199194 Ali Dec 2002 A1
20030005452 Rodriguez Jan 2003 A1
20030005462 Broadus et al. Jan 2003 A1
20030011573 Villet et al. Jan 2003 A1
20030014753 Beach et al. Jan 2003 A1
20030023976 Kamen et al. Jan 2003 A1
20030033292 Meisel et al. Feb 2003 A1
20030037043 Chang et al. Feb 2003 A1
20030037333 Ghashghai et al. Feb 2003 A1
20030046698 Kamen et al. Mar 2003 A1
20030051240 Schaffer et al. Mar 2003 A1
20030066068 Gutta et al. Apr 2003 A1
20030066079 Suga Apr 2003 A1
20030067495 Pu et al. Apr 2003 A1
20030084270 Coon et al. May 2003 A1
20030097661 Li et al. May 2003 A1
20030103088 Dresti et al. Jun 2003 A1
20030135464 Mourad et al. Jul 2003 A1
20030154138 Phillips et al. Aug 2003 A1
20030217121 Willis Nov 2003 A1
20030226146 Thurston et al. Dec 2003 A1
20030229900 Reisman Dec 2003 A1
20030237096 Barrett et al. Dec 2003 A1
20040013909 Shimizu et al. Jan 2004 A1
20040021691 Dostie et al. Feb 2004 A1
20040024777 Schaffer Feb 2004 A1
20040034652 Hofmann et al. Feb 2004 A1
20040046744 Rafii et al. Mar 2004 A1
20040049783 Lemmons et al. Mar 2004 A1
20040054520 Dehlinger et al. Mar 2004 A1
20040073432 Stone Apr 2004 A1
20040073926 Nakamura et al. Apr 2004 A1
20040078815 Lemmons et al. Apr 2004 A1
20040078816 Johnson Apr 2004 A1
20040078820 Nickum Apr 2004 A1
20040083198 Bradford et al. Apr 2004 A1
20040093616 Johnson May 2004 A1
20040111745 Schein et al. Jun 2004 A1
20040128686 Boyer et al. Jul 2004 A1
20040139091 Shin Jul 2004 A1
20040143569 Gross et al. Jul 2004 A1
20040155908 Wagner Aug 2004 A1
20040163032 Guo et al. Aug 2004 A1
20040194141 Sanders Sep 2004 A1
20040205065 Petras et al. Oct 2004 A1
20040216160 Lemmons et al. Oct 2004 A1
20040220926 Lamkin et al. Nov 2004 A1
20040221308 Cuttner et al. Nov 2004 A1
20040254911 Grasso et al. Dec 2004 A1
20040261021 Mittal et al. Dec 2004 A1
20040267715 Polson et al. Dec 2004 A1
20050015366 Carrasco et al. Jan 2005 A1
20050038702 Merriman et al. Feb 2005 A1
20050065912 Cafrelli et al. Mar 2005 A1
20050071874 Elcock et al. Mar 2005 A1
20050079895 Kalenius et al. Apr 2005 A1
20050086234 Tosey Apr 2005 A1
20050086691 Dudkiewicz et al. Apr 2005 A1
20050086692 Dudkiewicz et al. Apr 2005 A1
20050125307 Hunt et al. Jun 2005 A1
20050129199 Abe Jun 2005 A1
20050174333 Robinson et al. Aug 2005 A1
20050187945 Ehrich et al. Aug 2005 A1
20050187971 Hassan et al. Aug 2005 A1
20050192944 Flinchem Sep 2005 A1
20050210020 Gunn et al. Sep 2005 A1
20050210383 Cucerzan et al. Sep 2005 A1
20050210402 Gunn et al. Sep 2005 A1
20050223308 Gunn et al. Oct 2005 A1
20050240580 Zamir et al. Oct 2005 A1
20050246311 Whelan et al. Nov 2005 A1
20050246324 Paalasmaa et al. Nov 2005 A1
20050267994 Wong et al. Dec 2005 A1
20050278175 Hyvonen Dec 2005 A1
20050283468 Kamvar et al. Dec 2005 A1
20060004711 Naam Jan 2006 A1
20060010477 Yu Jan 2006 A1
20060010503 Inoue et al. Jan 2006 A1
20060013487 Longe et al. Jan 2006 A1
20060015906 Boyer et al. Jan 2006 A1
20060020662 Robinson Jan 2006 A1
20060036640 Tateno et al. Feb 2006 A1
20060041843 Billsus et al. Feb 2006 A1
20060044277 Fux et al. Mar 2006 A1
20060059044 Chan et al. Mar 2006 A1
20060064411 Gross et al. Mar 2006 A1
20060069616 Bau Mar 2006 A1
20060075429 Istvan et al. Apr 2006 A1
20060090182 Horowitz et al. Apr 2006 A1
20060090185 Zito et al. Apr 2006 A1
20060090812 Summerville May 2006 A1
20060098899 King et al. May 2006 A1
20060101499 Aravamudan et al. May 2006 A1
20060101503 Venkataraman et al. May 2006 A1
20060101504 Aravamudan et al. May 2006 A1
20060106782 Blumenau et al. May 2006 A1
20060112162 Marot et al. May 2006 A1
20060117019 Sylthe et al. Jun 2006 A1
20060136379 Marino et al. Jun 2006 A1
20060156233 Nurmi Jul 2006 A1
20060161520 Brewer et al. Jul 2006 A1
20060163337 Unruh Jul 2006 A1
20060167676 Plumb Jul 2006 A1
20060167859 Verbeck Sibley et al. Jul 2006 A1
20060173818 Berstis et al. Aug 2006 A1
20060176283 Suraqui Aug 2006 A1
20060179074 Martin et al. Aug 2006 A1
20060184989 Slothouber Aug 2006 A1
20060190308 Janssens et al. Aug 2006 A1
20060195435 Laird-McConnell et al. Aug 2006 A1
20060206454 Forstall et al. Sep 2006 A1
20060206815 Pathiyal et al. Sep 2006 A1
20060242178 Butterfield et al. Oct 2006 A1
20060242607 Hudson Oct 2006 A1
20060248078 Gross et al. Nov 2006 A1
20060256070 Moosavi et al. Nov 2006 A1
20060256078 Flinchem et al. Nov 2006 A1
20060259344 Patel et al. Nov 2006 A1
20060259479 Dai Nov 2006 A1
20060261021 Stagnaro Nov 2006 A1
20060271552 McChesney et al. Nov 2006 A1
20060274051 Longe et al. Dec 2006 A1
20060282856 Errico et al. Dec 2006 A1
20060287995 Quince Dec 2006 A1
20070005526 Whitney et al. Jan 2007 A1
20070005563 Aravamudan Jan 2007 A1
20070005576 Cutrell et al. Jan 2007 A1
20070016476 Hoffberg et al. Jan 2007 A1
20070016862 Kuzmin Jan 2007 A1
20070027852 Howard et al. Feb 2007 A1
20070027861 Huentelman et al. Feb 2007 A1
20070027871 Arbajian Feb 2007 A1
20070043750 Dingle Feb 2007 A1
20070044122 Scholl et al. Feb 2007 A1
20070050337 Venkataraman et al. Mar 2007 A1
20070050348 Aharoni et al. Mar 2007 A1
20070050351 Kasperski et al. Mar 2007 A1
20070060114 Ramer et al. Mar 2007 A1
20070061244 Ramer et al. Mar 2007 A1
20070061317 Ramer et al. Mar 2007 A1
20070061321 Venkataraman et al. Mar 2007 A1
20070061753 Ng et al. Mar 2007 A1
20070061754 Ardhanari et al. Mar 2007 A1
20070067272 Flynt et al. Mar 2007 A1
20070074131 Assadollahi Mar 2007 A1
20070088681 Aravamudan et al. Apr 2007 A1
20070094024 Kristensson et al. Apr 2007 A1
20070100650 Ramer May 2007 A1
20070130128 Garg et al. Jun 2007 A1
20070143567 Gorobets Jun 2007 A1
20070150606 Flinchem et al. Jun 2007 A1
20070182595 Ghasabian Aug 2007 A1
20070208718 Javid et al. Sep 2007 A1
20070219984 Aravamudan et al. Sep 2007 A1
20070219985 Aravamudan et al. Sep 2007 A1
20070226649 Agmon Sep 2007 A1
20070240045 Fux et al. Oct 2007 A1
20070242178 Kawasaki et al. Oct 2007 A1
20070255693 Ramaswamy et al. Nov 2007 A1
20070256070 Bykov et al. Nov 2007 A1
20070260703 Ardhanari et al. Nov 2007 A1
20070266021 Aravamudan et al. Nov 2007 A1
20070266026 Aravamudan et al. Nov 2007 A1
20070266406 Aravamudan et al. Nov 2007 A1
20070271205 Aravamudan et al. Nov 2007 A1
20070276773 Aravamudan et al. Nov 2007 A1
20070276821 Aravamudan et al. Nov 2007 A1
20070276859 Aravamudan et al. Nov 2007 A1
20070288456 Aravamudan et al. Dec 2007 A1
20070288457 Aravamudan et al. Dec 2007 A1
20080005184 Myllyla et al. Jan 2008 A1
20080065617 Burke et al. Mar 2008 A1
20080071771 Venkataraman et al. Mar 2008 A1
20080077577 Byrne et al. Mar 2008 A1
20080086704 Aravamudan Apr 2008 A1
20080109401 Sareen et al. May 2008 A1
20080114743 Venkataraman et al. May 2008 A1
20080177717 Kumar et al. Jul 2008 A1
20080195601 Ntoulas et al. Aug 2008 A1
20080209229 Ramakrishnan et al. Aug 2008 A1
20080243828 Reztlaff et al. Oct 2008 A1
20080250011 Haubold Oct 2008 A1
20080313564 Barve et al. Dec 2008 A1
20090077496 Aravamudan et al. Mar 2009 A1
20090112848 Kunjithapatham Apr 2009 A1
20090175561 Lankswert Jul 2009 A1
20090198688 Venkataraman et al. Aug 2009 A1
20090217203 Aravamudan et al. Aug 2009 A1
20090248682 Hueter et al. Oct 2009 A1
20090307105 Lemay et al. Dec 2009 A1
20100121845 Aravamudan et al. May 2010 A1
20100153380 Garg et al. Jun 2010 A1
20100241625 Aravamudan et al. Sep 2010 A1
20100293160 Aravamudan et al. Nov 2010 A1
20100299343 Ahari et al. Nov 2010 A1
20100325111 Aravamudan et al. Dec 2010 A1
20100325153 Thakkar et al. Dec 2010 A1
Foreign Referenced Citations (35)
Number Date Country
1050794 Nov 2000 EP
1143691 Oct 2001 EP
1338967 Aug 2003 EP
1338976 Aug 2003 EP
1458193 Sep 2004 EP
1463307 Sep 2004 EP
1622054 Feb 2006 EP
1810120 Jul 2007 EP
1810508 Jul 2007 EP
1955130 Aug 2008 EP
2016513 Jan 2009 EP
2062171 May 2009 EP
2009534761 Sep 2009 JP
2010-503931 Feb 2010 JP
WO-9856173 Dec 1998 WO
WO-0070505 Nov 2000 WO
WO-2004010326 Jan 2004 WO
WO-2004010326 Jan 2004 WO
WO-2004031931 Apr 2004 WO
WO-2005033967 Apr 2005 WO
WO-2005054982 Jun 2005 WO
WO-2005084235 Sep 2005 WO
WO-2006052959 May 2006 WO
WO-2006052966 May 2006 WO
WO-2007025148 Mar 2007 WO
WO-2007025149 Mar 2007 WO
WO-2007062035 May 2007 WO
WO-2007118038 Oct 2007 WO
WO-2007124429 Nov 2007 WO
WO-2007124436 Nov 2007 WO
WO-2007131058 Nov 2007 WO
WO-2008034057 Mar 2008 WO
WO-2008091941 Jul 2008 WO
WO-2008063987 Aug 2008 WO
WO-2008148012 Dec 2008 WO
Non-Patent Literature Citations (46)
Entry
Ardissono, L. et al., User Modeling and Recommendation Techniques for Personalized Electronic Program Guides, Personalized Digital Television,Editors: Ardissono, et al., Kluwer Academic Press, 2004. (27 pages).
Dalianis, “Improving search engine retrieval using a compound splitter for Swedish,” Abstract of presentation at Nodalida 2005—15th Nordic Conference on Computational Linguistics, Joensuu Finland, May 21-22, 2005. Retrieved Jan. 5, 2006 from http://phon.joensuu.fi/nodalida/abstracts/03.shtml, 3 pages.
Digital Video Broadcasting, http://www.dvb.org (Oct. 12, 2007) (2 pages).
European Search Report for 06838179.7, dated Dec. 9, 2009, 7 pages.
European Search Report for EP 05826129.8 dated Aug. 11, 2009, 15 pages.
European Supplementary Search Report dated Aug. 11, 2009, for PCT/US2005040415, 15 pages.
Gadd, Phonix: The Algorith, Program, vol. 24(4), Oct. 1990 (pp. 363-369).
Good, N. et al., Combining Collaborative Filtering with Personal Agents for Better Recommendations, in Proc. of the 16th National Conference on Artificial Intelligence, pp. 439-446, Orlando, Florida, Jul. 18-22, 1999.
International Search Report and Written Opinion of the International Searching Authority of the United States Patent and Trademark Office for PCT/US2005/040424, dated Nov. 21, 2006, 6 pages.
International Search Report and Written Opinion of the International Searching Authority of the United States Patent and Trademark Office for PCT/US2005/040517, mailed Jun. 13, 2008, 4 pages.
International Search Report and Written Opinion of the International Searching Authority of the United States Patent and Trademark Office for PCT/US2006/025249, mailed Jan. 29, 2008, 5 pages.
International Search Report and Written Opinion of the International Searching Authority of the United States Patent and Trademark Office for PCT/US2006/033204, mailed Sep. 21, 2007, 5 pages.
International Search Report and Written Opinion of the International Searching Authority of the United States Patent and Trademark Office for PCT/US2006/033257, dated Mar. 26, 2008, 5 pages.
International Search Report and Written Opinion of the International Searching Authority of the United States Patent and Trademark Office for PCT/US2006/045053, dated Jul. 24, 2008, 10 pages.
International Search Report and Written Opinion of the International Searching Authority of the United States Patent and Trademark Office for PCT/US2006/40005, mailed Jul. 3, 2007, 8 pages.
International Search Report and Written Opinion of the International Searching Authority of the United States Patent and Trademark Office for PCT/US2007/067100, mailed Mar. 7, 2008, 5 pages.
International Search Report and Written Opinion of the International Searching Authority of the United States Patent and Trademark Office for PCT/US2007/067114, dated Jul. 2, 2008, 6 pages.
International Search Report and Written Opinion of the International Searching Authority of the United States Patent and Trademark Office for PCT/US2007/068064, dated Jul. 7, 2008, 9 pages.
International Search Report and Written Opinion of the International Searching Authority of the United States Patent and Trademark Office for PCT/US2007/078490, dated Jul. 4, 2008, 6 pages.
International Search Report and Written Opinion of the International Searching Authority of the United States Patent and Trademark Office for PCT/US2007/084500, dated May 20, 2008, 6 pages.
International Search Report and Written Opinion of the International Searching Authority of the United States Patent and Trademark Office for PCT/US2008/051789, dated Jul. 14, 2008, 7 pages.
International Search Report and Written Opinion of the International Searching Authority of the United States Patent and Trademark Office for PCT/US2008/064730, dated Sep. 8, 2008, 5 pages.
International Search Report and Written Opinion, International Application No. PCT/US06/33258, mailed Mar. 26, 2008 (6 pages).
International Search Report and Written Opinion, International Application No. PCT/US07/65703, mailed Jan. 25, 2008 (5 pages).
Kurapati, et al., “A Multi-Agent TV Recommender,” In Proceedings of the UM 2001 Workshop “Personalization in Future TV,” 2001, 8 pages.
Mackenzie et al., LetterWise: Prefix-based disambiguation for mobile text input, Proceedings of the ACM Symposium on User Interface Software and Technology—UIST2001, pp. 111-120.
Matthom, “Text Highlighting in Search Results”, Jul. 22, 2005. Available at www.matthom.com/archive/2005/07/22/text-highlighting-in-search-results; retrieved Jun. 23, 2006. (4 pages).
Mokotoff, Soundexing and Genealogy, Available at http://www.avotaynu.com/soundex.html, retrieved Mar. 19, 2008, last updated Sep. 8, 2007 (6 pages).
Murray et al., “Inferring Demographic Attributes of Anonymous Internet Users,” WEBKDD '99 LNAI, 1836, pp. 7-20, 2000.
Nardi, et al., “Integrating Communication and Information Through Contact Map,” Communications of the ACM, vol. 45, No. 4, Apr. 2002, 7 pages, retrieved from URL:http://portal.acm.org/citation.cfm?id+505251>.
Office Action for U.S. Appl. No. 11/204,546 mailed Jul. 8, 2008, 30 pages.
Office Action for U.S. Appl. No. 11/204,546 mailed Mar. 3, 2009, 26 pages.
Office Action for U.S. Appl. No. 11/204,546 mailed Sep. 17, 2009, 34 pages.
Press Release from Tegic Communications, Tegic Communications is awarded patent for Japanese T9(R) text input software from the Japan Patent Office, Oct. 12, 2004. Retrieved Nov. 18, 2005 from http://www.tegic.com/press—view.html?release—num=55254242 (4 pages).
Review of Personalization Technologies: Collaborative Filtering vs. ChoiceStream's Attributized Bayesian Choice Modeling, Technology Brief, ChoiceStream Technologies, Cambridge, MA, Feb. 2004, 13 pages.
Roe, et al., “Mapping UML Models Incorporating OCL Constraints into Object-Z,” Technical Report, Sep. 2003, Department of Computing, Imperial College London, retrieved on Jul. 12, 2007, retrieved from the internet: <URL: http://www.doc.ic.ac.uk/-ar3/TechnicalReport2003—9.pdf>, 17 pages.
Silfverberg et al., Predicting text entry speed on mobile phones, Proceedings of the ACM Conference on Human Factors in Computing System—Chi, 2000. pp. 1-16.
Supplemental European Search Report dated Aug. 20, 2009 for PCT/US2005040424, 13 pages.
Supplemental European Search Report for EP05826114.0 dated Aug. 20, 2009, 13 pages.
Supplementary European Search Report and Written Opinion for EP07842499, dated Aug. 26, 2010, 6 pages.
Supplementary European Search Report for EP07761026.9 dated Jan. 28, 2010, 8 pages.
Talbot, David. “Soul of a New Mobile Machine.” Technology Review: The Design Issue May/Jun. 2007. (pp. 46-53).
Turski, et al., “Inner Circle—People Centered Email Client,” CHI 2005 Conference on Human Factors in Computing Systems, Apr. 2005, pp. 1845-1848, 4 pages, retrieved from URL:http://portal.acm.org/citation.cfm?id+1056808.1057037.
Villani, et al., Keystroke Biometric Recognition Studies on Long-Text Input under Ideal and Application-Oriented Conditions, Proceedings of Student/Faculty Research Day, CSIS, Pace University, May 2006, pp. C3.1-C3.8, retrieved from URL: <http://www.csis.pace.edu/-ctappert/srd2006/c3.pdf>, p. 6, para 6.
Wikipedia's entry for Levenshtein distance (n.d.). Retrieved Nov. 15, 2006 from http://en.wikipedia.org/wiki/Levenshtein—distance (9 pages).
Zimmerman, et al., “TV Personalization System Design of a TV Show Recommender Engine and Interface,” In Liliana Ardissono, Alfred Kobsa, Mark Maybury (eds) Personalized Digital Television: Targeting Programs to Individual Viewers, Kluwer: 27-52, 29 pages, 2004.
Related Publications (1)
Number Date Country
20110191331 A1 Aug 2011 US
Provisional Applications (1)
Number Date Country
61301307 Feb 2010 US