US20170249378A1 - System and method for indexing mobile applications - Google Patents
System and method for indexing mobile applications Download PDFInfo
- Publication number
- US20170249378A1 US20170249378A1 US15/596,484 US201715596484A US2017249378A1 US 20170249378 A1 US20170249378 A1 US 20170249378A1 US 201715596484 A US201715596484 A US 201715596484A US 2017249378 A1 US2017249378 A1 US 2017249378A1
- Authority
- US
- United States
- Prior art keywords
- application
- query
- category
- applications
- appropriate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G06F17/30619—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/34—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G06F17/30705—
-
- G06F17/30867—
-
- G06F17/30887—
Definitions
- the present disclosure relates generally to search engines for providing one or more search results respective of a query received from a user and, more specifically, to systems and methods for detecting user intent respective of a query and providing applications respective of user intent.
- Search engines are used for searching for information over the World Wide Web.
- a web search query refers to a query that a user enters into a web search engine in order to receive search results.
- a query received from a user device may be explicit or implicit in different levels.
- An implicit query makes it complicated to provide appropriate search results to the user because the user intent is unclear. As an example, if the user's query is “Madonna clips” it is unclear whether the user is interested in listening to the entertainer Madonna music clips, viewing Madonna's video clips or downloading Madonna's clips to the user's device.
- web search engines generate large databases and indexes of websites and webpages accessible on the WWW, in a process known as web crawling. Such databases and indexes are updated frequently as websites and webpages are added, deleted, and changed very frequently on the WWW.
- the databases of a web search engine may include information regarding each webpage in the databases, such as the actual words on the webpage, and the index usually includes information relating to how a webpage should be classified and indexed in the databases.
- the indexing of webpages is based on the contents of a webpage, metadata and tags defined by the web-page designers.
- the web search engine uses its indexing system to determine which webpages in its databases match the search query with which it was provided.
- the web search engine may be able to rank the webpages in its databases which most closely match the search query with which it was provided.
- the webpages which most closely match the search query are returned to the user and usually presented in the form of a list, also known as search results, a search results list, or even an “answer” to a user's search query.
- search engines such as Google® and Bing
- an input query is checked only against the indexes and databases maintained by the search engine. That is, a search query input to Google's search engine will be fully served by Google's databases and indexes and will not be relayed to other engines (e.g., to retrieve the result).
- the indexing of web contents is limited in many aspects.
- the indexing directly relates to contents of the webpages, as such webpages are not indexed to serve specific interests of users seeking for information.
- the search engines are limited to search only their index database, thus search results across difference resources cannot be retrieved.
- Certain exemplary embodiments disclosed herein include a method for indexing mobile applications.
- the method comprises: crawling through a plurality of data sources to detect applications accessible through a user device; for each detected application, generating metadata characterizing the application; analyzing the generated metadata to classify each detected application to at least one category; and updating an application index to include at least the classified applications and the respective classified categories.
- Certain embodiments disclosed herein also include a non-transitory computer readable medium having stored thereon causing a processor to execute a process, the process comprising: crawling through a plurality of data sources to detect applications accessible through a user device; for each detected application, generating metadata characterizing the application; analyzing the generated metadata to classify each detected application to at least one category; and updating an application index to include at least the classified applications and the respective classified categories.
- Certain embodiments disclosed herein also include a system for indexing mobile applications.
- the system comprises: an interface to a network for accessing a plurality of data sources over the network; a processor; and a memory coupled to the processor, wherein the memory contains instructions that, when executed by the processor, configure the system to: crawl through the plurality of data sources to detect applications accessible through a user device; for each detected application, generate metadata characterizing the application; analyze the generated metadata to classify each detected application to at least one category; and update an application index to include at least the classified applications and the respective classified categories.
- FIG. 1 is a schematic diagram of the operation of the system in accordance with an embodiment
- FIG. 2 is a schematic block diagram of exemplary applications categories according to an embodiment
- FIG. 3 is a flowchart illustrating the operation of indexing applications according to an embodiment
- FIG. 4 is a flowchart describing the operation of providing appropriate applications to queries based on user intent according to an embodiment
- FIG. 5 is a flowchart illustrating a method for determining whether applications are appropriate for serving one or more categories based on user intent according to an embodiment.
- the various disclosed embodiments include a system and methods for indexing applications to queries.
- the system is configured to receive a query from a user device.
- a query may be, but is not necessarily limited to, a set of typed words, a voice command, and the like.
- the received query may be implicit or explicit.
- the system is then configured to generate metadata respective of the received query and determine the user intent. Respective of the user intent, the system is then configured to classify the at least one query to one or more categories, each category serves a different topic of user intents.
- the system is then configured to provide one or more appropriate applications respective of the at least one query.
- FIG. 1 shows an exemplary and non-limiting schematic diagram of a system 100 utilized to describe certain embodiments disclosed herein.
- a plurality of user devices 110 - 1 through 110 - n (collectively referred hereinafter as user devices 110 or individually as a user device 110 , merely for simplicity purposes) are connected to a network 120 .
- the network 120 may be, but is not limited to, a local area network (LAN), a wide area network (WAN), a metro area network (MAN), the world wide web (WWW), the Internet, a wired network, a wireless network, and the like, as well as any combination thereof.
- the user devices 110 are configured to submit queries to a server 130 which is also connected to the network 120 .
- the server 130 is configured to send the received queries to and from an intent detection unit (IDU) 140 .
- IDU intent detection unit
- the IDU 140 is configured to determine the user's intent respective of a query or part of a query received from the user through the user device 110 . Determination of user intent is further described in co-pending U.S. patent application Ser. No. 14/103,536 filed on May 12, 2013, titled “A System and Methods for Detecting User Intent”, assigned to the common assignee, which is hereby incorporated by reference for all that it contains.
- the user's intent represents the type of content, the content, and/or actions that may be of interest to the user for a current time period.
- the IDU 140 may be further configured to send the determined user's intent to the server 130 .
- a user's intent may be determined based on, e.g., a query entered by a user into an engine.
- User intents may range from general intents (e.g., “games”) to more narrow intents (e.g., “Angry Birds®,” “tactical games,” “games involving animals”).
- Queries may further include one or more tokenized portions, wherein each tokenized portion represents a meaningful entity.
- Entities are physical or conceptual items bearing known types and attributes such as, but not limited to, products, people, locations, groups, theories, facts, virtual spaces, and so on. Types may describe an entity and can be used in identifying user intent. As a non-limiting example, the entity “Madonna” may bear types including, but not limited to, singer, director, actor, and celebrity.
- Tokenized portions may be compared and contrasted to determine a user's intent. Specifically, matching types among multiple tokenized portions may indicate that the user's intent is related to such types.
- a user may enter the query “madonna warren beatty”. The query may be broken down into tokenized portions “madonna” and “warren beatty.” Both Madonna and Warren Beatty are associated with the type “actor.”
- the user's intent may be determined to be related to actors. Specifically, the user's intent may be determined to be “movies featuring the actors Madonna and Warren Beatty.”
- the movie “Dick Tracy®” is a movie featuring both of these actors.
- a Wikipedia® article or a YouTube® video of the “Dick Tracy®” movie may be provided to a user based on the user's intent depending on the category of the query Categorization of queries is described further herein below with respect to FIG. 2 .
- the system 100 may further include a database 150 for storing information such as prior user intents, prior queries received from a user, data for enhancing the search experience, applications' classification, etc.
- a plurality of web sources 160 - 1 through 160 - m are further connected to the network 120 .
- the web sources 160 may include “cloud-based” applications; that is, applications executed by servers in a cloud-computing infrastructure such as, but not limited to, a private-cloud, a public-cloud, or any combination thereof.
- the cloud-computing infrastructure is typically realized through a data center.
- Applications are typically installed on the user devices 110 or suggested to be installed by the server 130 .
- the server 130 is configured to crawl through the applications existing in the web sources 160 as well as through the applications installed on the user devices 110 and the suggested applications.
- the server 130 is configured to generate metadata respective of the applications.
- metadata may be, for example, the name of the application, the application bundle name, the application description, the application score, content of the application, a portion thereof, a combination thereof, and so on.
- the metadata is then analyzed by the server 130 and the applications are determined to be either appropriate or inappropriate to serve one or more categories of queries, wherein each category serves a different topic of user intents.
- one or more additional categories may be generated dynamically respective of user intents as further described herein below with respect to FIGS. 2 and 4 .
- an appropriate application may be provided to the user.
- such applications are provided to the user as virtual applications.
- Virtual applications are applications which run within a browser embedded in another program, thereby permitting users to utilize virtual versions of applications without downloading such applications directly.
- the determination of which one or more applications of the plurality of applications are appropriate to serve one or more categories of queries is stored in the database 150 for further use.
- the IDU 140 upon receiving a query from a user through a user device 110 , the IDU 140 is configured to determine the user intent.
- the system 100 then classifies the query into one or more categories respective of the user's intent and provides the appropriate applications to the user device 110 respective of the query. Techniques for providing appropriate applications are described in more detail herein below with respect to FIG. 4 .
- the system is capable of providing one or more appropriate applications to the user device 110 based on the analysis of metadata related to the user regardless of the user intent.
- the system 100 may further include an agent installed locally on the user devices 110 that enable a local crawling of a search through the content of the user devices 110 .
- the various elements of the system 100 are further described in co-pending U.S. patent application Ser. No. 13/156,999 titled “SYSTEM AND METHODS THEREOF FOR ENHANCING A USER's SEARCH EXPERIENCE”, assigned to the common assignee, which is hereby incorporated by reference for all that it contains.
- FIG. 2 depicts an exemplary and non-limiting schematic diagram 200 of exemplary queries' categories according to an embodiment.
- Informational category 210 generally includes one or more queries that comprise a specific question.
- such an informational query may be “Who won the NBA championship in 2003?”
- the system 100 is configured to match one or more appropriate applications to the query.
- applications may be the Wikipedia® website, the IMDB® web application, an ESPN® application in sport related matters, applications that enable local search through the contact list of the user device 110 , and so on.
- the user's intent may be determined to be seeking information regarding NBA championship history.
- an appropriate application may be determined to be a Wikipedia® or ESPN® article about the NBA championship.
- Transactional category 220 typically includes one or more queries that require additional actions following the execution of a corresponding one or more applications in order to be appropriately served, for example, playing a video within a video stream website, purchasing tickets through ticket purchasing applications, and the like. Examples of such applications include the YouTube® application, the Ticketmaster® website, and so on. According to one embodiment, applications that are determined as appropriate to serve queries that classified to the transactional category 220 may be provided with one or more search results respective of the query, for example, if the query received is “watch Madonna's new video clip,” the stream of the new Madonna's video clip through YouTube® application may be provided to the user device 110 rather than the YouTube® main web page.
- the navigational category 230 generally includes one or more queries that specifically mention the name and/or the designated functionality of the application.
- the one or more queries classified to the navigational category 230 explicitly indicate the user intent.
- An example for such query may be “PDF reader”, “scanner”, and so on.
- Applications determined as appropriate to server queries classified to the navigational category may be, for example, photos galleries, alarm clock applications, etc.
- an experience category 240 may also be determined based on the user intent.
- the experience category may include, for example, queries such as “games for five minutes.”
- the user intent based on such a query is determined as quick games and, therefore, a server (e.g., the server 130 ) may provide such quick games to the user device 110 .
- a server e.g., the server 130
- FIG. 2 may be clustered without departing from the scope of the disclosed embodiments and, therefore, several applications may be included in several categories.
- FIG. 3 is an exemplary and non-limiting flowchart 300 of a method for indexing applications according to one embodiment.
- the method may be performed by the server 130 .
- a crawling procedure is performed through a plurality of data sources to identify mobile applications.
- a data source may be each one of the user devices 110 , the web sources 160 , the database 150 , or combinations thereof.
- a data source may be repository for storing such applications, e.g., AppStore®, GooglePlay®, and the like.
- metadata respective of the identified applications is generated.
- metadata may be, for example: the name of the application, the application bundle name, the application description, the application score, applications' URL, deep URLs, and so on.
- Deep URLs are links to contents that can be viewed or retrieved through the application. For example, an application for recipes, the deep URLs may direct to the recipes offered by the application.
- the metadata is analyzed to classify the application to one or more categorizes.
- the analysis of the metadata includes, for example, textual analysis of the application's description, the application bundle name, and/or name.
- the analysis may include querying external databases to determine the category to classify the application.
- the crawling process further crawls through deep-URLs listed in the metadata. The contents that can be retrieved through such URLs can be indexed and analyzed.
- an application index is updated.
- the index lists each application detected by the crawler and the categories that the applications are classified to.
- the index may also include an appropriateness score indicating how good the application can serve a certain category.
- the index includes for each indexed application is associated metadata including, for example, application name, application type, application ID, URLs and deep URLs that activate the application, and more.
- the application index may be saved in the database. Alternatively, the index may be locally saved in the device. The index may be updated based on usage of the applications and/or queries submitted by users.
- FIG. 4 depicts an exemplary and non-limiting flowchart 400 of a method for providing appropriate applications to queries based on user intent according to one embodiment.
- a query or a portion thereof, is received from a user device (e.g., user device 110 ).
- the user intent is determined by the IDU 140 .
- the query is classified into one or more categories.
- the application index generated is searched to detect one or more applications that can appropriately serve the categories determined for the query.
- the search returned only applications indexed with an appropriateness score above a predefined threshold.
- applications indexed to the same categories as to the input query are returned to the user.
- the matching applications are provided to the user device 110 .
- the matching applications i.e., search results may be displayed in a form of icons representing the matching applications being rendered and displayed on the user device.
- a matching application may be a “native application” and/or a “virtual application” in the browser of the native application.
- a native application (or app) is installed and executed on the user device.
- a virtual application (app) is executed on a server and only relevant content is rendered and sent to the user device. In an exemplary embodiment, content is relevant if it relates to the user's current activity.
- the virtual app results include contents addressed by indexed deep URLs. For example, for the query “sushi and seaweed”, a sushi recipe offed by the recipe application (mentioned) above will be returned to the user.
- different icons can represent different type of icons. It should be noted that the search results, which may include both virtual and native apps, address the user's intent.
- FIG. 5 is an exemplary and non-limiting flowchart S 440 illustrating a method for determining whether applications are appropriate for serving categories based on the user intent according to one embodiment.
- S 510 a request to determine appropriateness of an application and at least one categorization are received.
- S 515 metadata is generated for the application.
- metadata may be, for example, the name of the application, the application bundle name, the application description, the application score, content of the application, a combination thereof, and so on.
- analysis of the application may include analysis of metadata. Analysis of the application may be utilized to determine, e.g., what types of entities are included in the application, whether the application returns multimedia content (e.g., videos, music, images, etc.), whether the application is interactive (e.g., a game), statistics or parameters related to content featured in the application, and whether content included in the application is suitable for a given age group.
- multimedia content e.g., videos, music, images, etc.
- the application is interactive (e.g., a game)
- statistics or parameters related to content featured in the application e.g., a game
- categories may be associated with certain analysis results.
- an informational category e.g., informational category 210
- a transactional category e.g., transactional category 220
- applications that require additional actions following application execution to be appropriately served such as, e.g., video streaming applications, social media applications, and shopping applications.
- Navigational categories may be associated with applications whose description metadata matches the query (e.g., “PDF reader,” “scanner,” and so on).
- An experience category e.g., experience category 240
- An experience category may be associated with applications whose content bears statistics or parameters that correspond to a requirement buried in a query (e.g., the YouTube® application may be associated with the category of the query “short clips,” as YouTube® videos are generally shorter in length than, for example, Netflix® streaming content).
- applications may be determined as more or less appropriate for a given query's category based on relevance to the query.
- a user may provide the query “Who won the 2003 NBA championship?”
- the category of this query is determined to be informational.
- Applications such as Wikipedia® and ESPN® may be determined to be appropriate for this category based on the presence of articles related to NBA news included in each. Based on statistics demonstrating relative content of each application, however, ESPN® may be determined to be more appropriate for the given query.
- the ESPN® application may be returned to the user rather than the Wikipedia® application.
- the appropriateness results may be quantized to provide an appropriateness score.
- the score may be represented using a numerical number, e.g., 0-10, a percentage, and the like.
- the appropriateness results determined in S 530 are returned.
- the various embodiments disclosed herein can be implemented as hardware, firmware, software, or any combination thereof.
- the software is preferably implemented as an application program tangibly embodied on a program storage unit or computer readable medium consisting of parts, or of certain devices and/or a combination of devices.
- the application program may be uploaded to, and executed by, a machine comprising any suitable architecture.
- the machine is implemented on a computer platform having hardware such as one or more central processing units (“CPUs”), a memory, and input/output interfaces.
- CPUs central processing units
- the computer platform may also include an operating system and microinstruction code.
- a non-transitory computer readable medium is any computer readable medium except for a transitory propagating signal.
Abstract
A system and method for indexing mobile applications. The method includes crawling through a plurality of data sources to detect applications accessible through a user device; for each detected application, generating metadata characterizing the application; analyzing the generated metadata to classify each detected application to at least one category; and updating an application index to include at least the classified applications and the respective classified categories.
Description
- This application is a continuation of U.S. patent application Ser. No. 14/278,223 filed on May 15, 2014, now allowed, which claims the benefit of U.S. Provisional Application No. 61/826,047 filed on May 22, 2013. The Ser. No. 14/278,223 application is also a continuation-in-part (CIP) of:
- (a) U.S. patent application Ser. No. 13/712,563 filed on Dec. 12, 2012, now U.S. Pat. No. 9,141,702, which claims the benefit of U.S. Provisional Application No. 61/653,562 filed on May 31, 2012. The Ser. No. 13/712,563 Application is also a CIP of U.S. patent application Ser. No. 13/156,999 filed on Jun. 9, 2011, now U.S. Pat. No. 9,323,844, and of U.S. patent application Ser. No. 13/296,619 filed on Nov. 15, 2011, now pending. The Ser. No. 13/156,999 application claims the benefit of U.S. Provisional Application No. 61/468,095 filed on Mar. 28, 2011, and of U.S. Provisional Application No. 61/354,022 filed on Jun. 11, 2010;
- (b) U.S. patent application Ser. No. 13/156,999 filed on Jun. 9, 2011, now U.S. Pat. No. 9,323,844, which claims the benefit of U.S. Provisional Application No. 61/468,095 filed on Mar. 28, 2011, and of U.S. Provisional Application No. 61/354,022 filed on Jun. 11, 2010;
- (c) U.S. patent application Ser. No. 13/296,619 filed on Nov. 15, 2011, now pending; and
- (d) U.S. patent application Ser. No. 14/103,536 filed on Dec. 11, 2013, now U.S. Pat. No. 9,552,422, which claims the benefit of U.S. Provisional Application No. 61/822,376 filed on May 12, 2013. The Ser. No. 14/103,536 Application is also a CIP of the above-noted U.S. patent application Ser. No. 13/712,563.
- All of the applications referenced above are herein incorporated by reference.
- The present disclosure relates generally to search engines for providing one or more search results respective of a query received from a user and, more specifically, to systems and methods for detecting user intent respective of a query and providing applications respective of user intent.
- Search engines are used for searching for information over the World Wide Web. A web search query refers to a query that a user enters into a web search engine in order to receive search results.
- A query received from a user device may be explicit or implicit in different levels. An implicit query makes it complicated to provide appropriate search results to the user because the user intent is unclear. As an example, if the user's query is “Madonna clips” it is unclear whether the user is interested in listening to the entertainer Madonna music clips, viewing Madonna's video clips or downloading Madonna's clips to the user's device.
- In general, web search engines generate large databases and indexes of websites and webpages accessible on the WWW, in a process known as web crawling. Such databases and indexes are updated frequently as websites and webpages are added, deleted, and changed very frequently on the WWW. The databases of a web search engine may include information regarding each webpage in the databases, such as the actual words on the webpage, and the index usually includes information relating to how a webpage should be classified and indexed in the databases. The indexing of webpages is based on the contents of a webpage, metadata and tags defined by the web-page designers.
- When a user submits a search query to a web search engine, the web search engine uses its indexing system to determine which webpages in its databases match the search query with which it was provided. The web search engine may be able to rank the webpages in its databases which most closely match the search query with which it was provided. The webpages which most closely match the search query are returned to the user and usually presented in the form of a list, also known as search results, a search results list, or even an “answer” to a user's search query.
- In conventional search engines, such as Google® and Bing, an input query is checked only against the indexes and databases maintained by the search engine. That is, a search query input to Google's search engine will be fully served by Google's databases and indexes and will not be relayed to other engines (e.g., to retrieve the result).
- The indexing of web contents is limited in many aspects. For example, the indexing directly relates to contents of the webpages, as such webpages are not indexed to serve specific interests of users seeking for information. In addition, the search engines are limited to search only their index database, thus search results across difference resources cannot be retrieved.
- With the widespread use of smartphones these days, users search for mobile applications (also referred to as ‘apps’) and contents provided through such apps. The conventional indexing solutions are not usually designed to index mobile applications or, more specifically, contents that can be retrieved through such applications.
- It would therefore be advantageous to provide a solution that would overcome the deficiencies of the conventional indexing solutions.
- Certain exemplary embodiments disclosed herein include a method for indexing mobile applications. The method comprises: crawling through a plurality of data sources to detect applications accessible through a user device; for each detected application, generating metadata characterizing the application; analyzing the generated metadata to classify each detected application to at least one category; and updating an application index to include at least the classified applications and the respective classified categories.
- Certain embodiments disclosed herein also include a non-transitory computer readable medium having stored thereon causing a processor to execute a process, the process comprising: crawling through a plurality of data sources to detect applications accessible through a user device; for each detected application, generating metadata characterizing the application; analyzing the generated metadata to classify each detected application to at least one category; and updating an application index to include at least the classified applications and the respective classified categories.
- Certain embodiments disclosed herein also include a system for indexing mobile applications. The system comprises: an interface to a network for accessing a plurality of data sources over the network; a processor; and a memory coupled to the processor, wherein the memory contains instructions that, when executed by the processor, configure the system to: crawl through the plurality of data sources to detect applications accessible through a user device; for each detected application, generate metadata characterizing the application; analyze the generated metadata to classify each detected application to at least one category; and update an application index to include at least the classified applications and the respective classified categories.
- The subject matter disclosed herein is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the disclosure will be apparent from the following detailed description taken in conjunction with the accompanying drawings.
-
FIG. 1 is a schematic diagram of the operation of the system in accordance with an embodiment; -
FIG. 2 is a schematic block diagram of exemplary applications categories according to an embodiment; -
FIG. 3 is a flowchart illustrating the operation of indexing applications according to an embodiment; -
FIG. 4 is a flowchart describing the operation of providing appropriate applications to queries based on user intent according to an embodiment; and -
FIG. 5 is a flowchart illustrating a method for determining whether applications are appropriate for serving one or more categories based on user intent according to an embodiment. - It is important to note that the embodiments disclosed herein are only examples of the many advantageous uses of the innovative teachings herein. In general, statements made in the specification of the present application do not necessarily limit any of the various claimed embodiments. Moreover, some statements may apply to some inventive features but not to others. In general, unless otherwise indicated, singular elements may be in plural and vice versa with no loss of generality. In the drawings, like numerals refer to like parts through several views.
- The various disclosed embodiments include a system and methods for indexing applications to queries. The system is configured to receive a query from a user device. A query may be, but is not necessarily limited to, a set of typed words, a voice command, and the like. The received query may be implicit or explicit. The system is then configured to generate metadata respective of the received query and determine the user intent. Respective of the user intent, the system is then configured to classify the at least one query to one or more categories, each category serves a different topic of user intents. The system is then configured to provide one or more appropriate applications respective of the at least one query.
-
FIG. 1 shows an exemplary and non-limiting schematic diagram of asystem 100 utilized to describe certain embodiments disclosed herein. A plurality of user devices 110-1 through 110-n (collectively referred hereinafter asuser devices 110 or individually as auser device 110, merely for simplicity purposes) are connected to a network 120. The network 120 may be, but is not limited to, a local area network (LAN), a wide area network (WAN), a metro area network (MAN), the world wide web (WWW), the Internet, a wired network, a wireless network, and the like, as well as any combination thereof. Theuser devices 110 are configured to submit queries to aserver 130 which is also connected to the network 120. Theserver 130 is configured to send the received queries to and from an intent detection unit (IDU) 140. - The
IDU 140 is configured to determine the user's intent respective of a query or part of a query received from the user through theuser device 110. Determination of user intent is further described in co-pending U.S. patent application Ser. No. 14/103,536 filed on May 12, 2013, titled “A System and Methods for Detecting User Intent”, assigned to the common assignee, which is hereby incorporated by reference for all that it contains. The user's intent represents the type of content, the content, and/or actions that may be of interest to the user for a current time period. TheIDU 140 may be further configured to send the determined user's intent to theserver 130. - A user's intent may be determined based on, e.g., a query entered by a user into an engine. User intents may range from general intents (e.g., “games”) to more narrow intents (e.g., “Angry Birds®,” “tactical games,” “games involving animals”). Queries may further include one or more tokenized portions, wherein each tokenized portion represents a meaningful entity. Entities are physical or conceptual items bearing known types and attributes such as, but not limited to, products, people, locations, groups, theories, facts, virtual spaces, and so on. Types may describe an entity and can be used in identifying user intent. As a non-limiting example, the entity “Madonna” may bear types including, but not limited to, singer, director, actor, and celebrity.
- Tokenized portions may be compared and contrasted to determine a user's intent. Specifically, matching types among multiple tokenized portions may indicate that the user's intent is related to such types. As a non-limiting example, a user may enter the query “madonna warren beatty”. The query may be broken down into tokenized portions “madonna” and “warren beatty.” Both Madonna and Warren Beatty are associated with the type “actor.” Thus, the user's intent may be determined to be related to actors. Specifically, the user's intent may be determined to be “movies featuring the actors Madonna and Warren Beatty.” The movie “Dick Tracy®” is a movie featuring both of these actors. As a result, a Wikipedia® article or a YouTube® video of the “Dick Tracy®” movie may be provided to a user based on the user's intent depending on the category of the query Categorization of queries is described further herein below with respect to
FIG. 2 . - The
system 100 may further include adatabase 150 for storing information such as prior user intents, prior queries received from a user, data for enhancing the search experience, applications' classification, etc. A plurality of web sources 160-1 through 160-m (collectively referred hereinafter asweb sources 160 or individually as aweb source 160, merely for simplicity purposes) are further connected to the network 120. Theweb sources 160 may include “cloud-based” applications; that is, applications executed by servers in a cloud-computing infrastructure such as, but not limited to, a private-cloud, a public-cloud, or any combination thereof. The cloud-computing infrastructure is typically realized through a data center. - Applications are typically installed on the
user devices 110 or suggested to be installed by theserver 130. Theserver 130 is configured to crawl through the applications existing in theweb sources 160 as well as through the applications installed on theuser devices 110 and the suggested applications. According to certain embodiments, theserver 130 is configured to generate metadata respective of the applications. Such metadata may be, for example, the name of the application, the application bundle name, the application description, the application score, content of the application, a portion thereof, a combination thereof, and so on. In an embodiment, the metadata is then analyzed by theserver 130 and the applications are determined to be either appropriate or inappropriate to serve one or more categories of queries, wherein each category serves a different topic of user intents. According to another embodiment, one or more additional categories may be generated dynamically respective of user intents as further described herein below with respect toFIGS. 2 and 4 . - In an embodiment, an appropriate application may be provided to the user. In a further embodiment, such applications are provided to the user as virtual applications. Virtual applications are applications which run within a browser embedded in another program, thereby permitting users to utilize virtual versions of applications without downloading such applications directly.
- The determination of which one or more applications of the plurality of applications are appropriate to serve one or more categories of queries is stored in the
database 150 for further use. According to one embodiment, upon receiving a query from a user through auser device 110, theIDU 140 is configured to determine the user intent. Thesystem 100 then classifies the query into one or more categories respective of the user's intent and provides the appropriate applications to theuser device 110 respective of the query. Techniques for providing appropriate applications are described in more detail herein below with respect toFIG. 4 . According to another embodiment, the system is capable of providing one or more appropriate applications to theuser device 110 based on the analysis of metadata related to the user regardless of the user intent. - The
system 100 may further include an agent installed locally on theuser devices 110 that enable a local crawling of a search through the content of theuser devices 110. The various elements of thesystem 100 are further described in co-pending U.S. patent application Ser. No. 13/156,999 titled “SYSTEM AND METHODS THEREOF FOR ENHANCING A USER's SEARCH EXPERIENCE”, assigned to the common assignee, which is hereby incorporated by reference for all that it contains. -
FIG. 2 depicts an exemplary and non-limiting schematic diagram 200 of exemplary queries' categories according to an embodiment.Informational category 210 generally includes one or more queries that comprise a specific question. As an example, such an informational query may be “Who won the NBA championship in 2003?” By analyzing the query and determining the user intent, thesystem 100 is configured to match one or more appropriate applications to the query. As an example, such applications may be the Wikipedia® website, the IMDB® web application, an ESPN® application in sport related matters, applications that enable local search through the contact list of theuser device 110, and so on. As a non-limiting example, in response to the query “Who won the NBA championship in 2003?”, the user's intent may be determined to be seeking information regarding NBA championship history. In response, an appropriate application may be determined to be a Wikipedia® or ESPN® article about the NBA championship. -
Transactional category 220 typically includes one or more queries that require additional actions following the execution of a corresponding one or more applications in order to be appropriately served, for example, playing a video within a video stream website, purchasing tickets through ticket purchasing applications, and the like. Examples of such applications include the YouTube® application, the Ticketmaster® website, and so on. According to one embodiment, applications that are determined as appropriate to serve queries that classified to thetransactional category 220 may be provided with one or more search results respective of the query, for example, if the query received is “watch Madonna's new video clip,” the stream of the new Madonna's video clip through YouTube® application may be provided to theuser device 110 rather than the YouTube® main web page. - The
navigational category 230 generally includes one or more queries that specifically mention the name and/or the designated functionality of the application. The one or more queries classified to thenavigational category 230 explicitly indicate the user intent. An example for such query may be “PDF reader”, “scanner”, and so on. Applications determined as appropriate to server queries classified to the navigational category may be, for example, photos galleries, alarm clock applications, etc. - According to another embodiment, an
experience category 240 may also be determined based on the user intent. The experience category may include, for example, queries such as “games for five minutes.” The user intent based on such a query is determined as quick games and, therefore, a server (e.g., the server 130) may provide such quick games to theuser device 110. A person of ordinary skill in the art would readily appreciate that the queries described inFIG. 2 may be clustered without departing from the scope of the disclosed embodiments and, therefore, several applications may be included in several categories. -
FIG. 3 is an exemplary andnon-limiting flowchart 300 of a method for indexing applications according to one embodiment. The method may be performed by theserver 130. In S310, a crawling procedure is performed through a plurality of data sources to identify mobile applications. A data source may be each one of theuser devices 110, theweb sources 160, thedatabase 150, or combinations thereof. In an embodiment, a data source may be repository for storing such applications, e.g., AppStore®, GooglePlay®, and the like. In S320, metadata respective of the identified applications is generated. Such metadata may be, for example: the name of the application, the application bundle name, the application description, the application score, applications' URL, deep URLs, and so on. Deep URLs are links to contents that can be viewed or retrieved through the application. For example, an application for recipes, the deep URLs may direct to the recipes offered by the application. - In S330, the metadata is analyzed to classify the application to one or more categorizes. The analysis of the metadata includes, for example, textual analysis of the application's description, the application bundle name, and/or name. The analysis may include querying external databases to determine the category to classify the application. In one embodiment, the crawling process further crawls through deep-URLs listed in the metadata. The contents that can be retrieved through such URLs can be indexed and analyzed.
- In S340, based on the analysis of the metadata, the identified applications are determined as appropriate to serve one or more categories of queries. Determination of appropriateness is discussed further herein below with respect to
FIG. 5 . In S345, an application index is updated. The index lists each application detected by the crawler and the categories that the applications are classified to. The index may also include an appropriateness score indicating how good the application can serve a certain category. In another embodiment, the index includes for each indexed application is associated metadata including, for example, application name, application type, application ID, URLs and deep URLs that activate the application, and more. - The application index may be saved in the database. Alternatively, the index may be locally saved in the device. The index may be updated based on usage of the applications and/or queries submitted by users.
- In S350, it is checked whether additional applications should be indexed and if so, execution continues with S310; otherwise, execution terminates.
-
FIG. 4 depicts an exemplary andnon-limiting flowchart 400 of a method for providing appropriate applications to queries based on user intent according to one embodiment. In S410, a query, or a portion thereof, is received from a user device (e.g., user device 110). In S420, the user intent is determined by theIDU 140. In S430, based on the determined intent, the query is classified into one or more categories. - In S440, the application index generated, as discussed above, is searched to detect one or more applications that can appropriately serve the categories determined for the query. In an embodiment, the search returned only applications indexed with an appropriateness score above a predefined threshold. In another embodiment, applications indexed to the same categories as to the input query are returned to the user.
- In S450, the matching applications are provided to the
user device 110. The matching applications, i.e., search results may be displayed in a form of icons representing the matching applications being rendered and displayed on the user device. A matching application may be a “native application” and/or a “virtual application” in the browser of the native application. A native application (or app) is installed and executed on the user device. A virtual application (app) is executed on a server and only relevant content is rendered and sent to the user device. In an exemplary embodiment, content is relevant if it relates to the user's current activity. For example, if a virtual version of an app that displays content from a video streaming website is executed while a user is engaged in or attempting to view a particular video, only content that is relevant to that video would be displayed on the user device. In an embodiment, the virtual app results include contents addressed by indexed deep URLs. For example, for the query “sushi and seaweed”, a sushi recipe offed by the recipe application (mentioned) above will be returned to the user. In an embodiment, different icons can represent different type of icons. It should be noted that the search results, which may include both virtual and native apps, address the user's intent. - In S460, it is checked whether additional queries have been received and, if so, execution continues with S420; otherwise, execution terminates.
- It should be appreciated that the operation of the method for indexing applications as described in
FIG. 3 and the operation of providing appropriate applications to queries based on the user intent as described inFIG. 4 may be integrated without departing from the scope of the disclosed embodiments. -
FIG. 5 is an exemplary and non-limiting flowchart S440 illustrating a method for determining whether applications are appropriate for serving categories based on the user intent according to one embodiment. In S510, a request to determine appropriateness of an application and at least one categorization are received. In various embodiments, in S515, metadata is generated for the application. Such metadata may be, for example, the name of the application, the application bundle name, the application description, the application score, content of the application, a combination thereof, and so on. - In S520, the application is analyzed. In embodiments where metadata is generated, analysis of the application may include analysis of metadata. Analysis of the application may be utilized to determine, e.g., what types of entities are included in the application, whether the application returns multimedia content (e.g., videos, music, images, etc.), whether the application is interactive (e.g., a game), statistics or parameters related to content featured in the application, and whether content included in the application is suitable for a given age group.
- In S530, the results of the analysis are compared to the at least one provided category. In an embodiment, categories may be associated with certain analysis results. For example, an informational category (e.g., informational category 210) may be associated with applications that return text-based information and, in particular, information that is relevant to a particular query. Similarly, a transactional category (e.g., transactional category 220) may be associated with applications that require additional actions following application execution to be appropriately served such as, e.g., video streaming applications, social media applications, and shopping applications.
- Navigational categories (e.g., navigational category 230) may be associated with applications whose description metadata matches the query (e.g., “PDF reader,” “scanner,” and so on). An experience category (e.g., experience category 240) may be associated with applications whose content bears statistics or parameters that correspond to a requirement buried in a query (e.g., the YouTube® application may be associated with the category of the query “short clips,” as YouTube® videos are generally shorter in length than, for example, Netflix® streaming content).
- In a non-limiting embodiment, applications may be determined as more or less appropriate for a given query's category based on relevance to the query. As a non-limiting example, a user may provide the query “Who won the 2003 NBA championship?” The category of this query is determined to be informational. Applications such as Wikipedia® and ESPN® may be determined to be appropriate for this category based on the presence of articles related to NBA news included in each. Based on statistics demonstrating relative content of each application, however, ESPN® may be determined to be more appropriate for the given query. Thus, in an embodiment, the ESPN® application may be returned to the user rather than the Wikipedia® application.
- In an exemplary embodiment, the appropriateness results may be quantized to provide an appropriateness score. The score may be represented using a numerical number, e.g., 0-10, a percentage, and the like. In S540, the appropriateness results determined in S530 are returned.
- The various embodiments disclosed herein can be implemented as hardware, firmware, software, or any combination thereof. Moreover, the software is preferably implemented as an application program tangibly embodied on a program storage unit or computer readable medium consisting of parts, or of certain devices and/or a combination of devices. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (“CPUs”), a memory, and input/output interfaces. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, which may be executed by a CPU, whether or not such a computer or processor is explicitly shown. In addition, various other peripheral units may be connected to the computer platform such as an additional data storage unit and a printing unit. Furthermore, a non-transitory computer readable medium is any computer readable medium except for a transitory propagating signal.
- All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the principles of the disclosure and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the disclosure, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.
Claims (19)
1. A method for indexing applications accessible through a user device, comprising:
crawling through a plurality of data sources to detect applications accessible through a user device;
for each detected application, generating metadata characterizing the application;
analyzing the generated metadata to classify each detected application to at least one category; and
updating an application index to include at least the classified applications and the respective classified categories.
2. The method of claim 1 , further comprising:
crawling through deep uniform resource locators (URLs) of each detected application;
indexing contents addressed by the deep URLs; and
saving the indexed contents in the application index.
3. The method of claim 1 , wherein each application is appropriate to serve categories of queries matching the at least one classified category of the application.
4. The method of claim 3 , further comprising:
receiving a query from a user device; and
searching, using the application index, for at least one application that is appropriate to serve the query.
5. The method of claim 4 , further comprising:
analyzing at least the received query; and
classifying, based on the analysis of the received query, the query to at least one category, wherein the search is based on the at least one category of the query.
6. The method of claim 5 , further comprising:
comparing the at least one category of the query to the at least one category of each indexed application;
determining, based on the comparison, whether each application is appropriate to serve the at least one category of the query; and
returning each application that is appropriate to serve the at least one category of the query to the user device.
7. The method claim 6 , wherein the at least one matching application is returned as at least one of: a native application, and a virtual application.
8. The method of claim 6 , wherein determining whether each application is appropriate to serve the at least one category of the query further comprises:
determining an appropriateness score of the application with respect to the at least one category of the query, wherein each application having an appropriateness score above a predetermined threshold is determined to be appropriate to serve the at least one category of the query.
9. The method of claim 1 , further comprising:
updating the application index based on usage of the detected applications.
10. A non-transitory computer readable medium having stored thereon instructions for causing one or more processing units to execute a process, the process comprising:
crawling through a plurality of data sources to detect applications accessible through a user device;
for each detected application, generating metadata characterizing the application;
analyzing the generated metadata to classify each detected application to at least one category; and
updating an application index to include at least the classified applications and the respective classified categories.
11. A system for indexing applications accessible through a user device, comprising:
an interface to a network for accessing a plurality of data sources over the network;
a processor; and
a memory coupled to the processor, wherein the memory contains instructions that, when executed by the processor, configure the system to:
crawl through the plurality of data sources to detect applications accessible through a user device;
for each detected application, generate metadata characterizing the application;
analyze the generated metadata to classify each detected application to at least one category; and
update an application index to include at least the classified applications and the respective classified categories.
12. The system of claim 11 , wherein the system is further configured to:
crawl through deep uniform resource locators (URLs) of each detected application;
index contents addressed by the deep URLs; and
save the indexed contents in the application index.
13. The system of claim 11 , wherein each application is appropriate to serve categories of queries matching the at least one classified category of the application.
14. The system of claim 13 , wherein the system is further configured to:
receive a query from a user device; and
search, using the application index, for at least one application that is appropriate to serve the query.
15. The system of claim 14 , wherein the system is further configured to:
analyze at least the received query; and
classify, based on the analysis of the received query, the query to at least one category, wherein the search is based on the at least one category of the query.
16. The system of claim 15 , wherein the system is further configured to:
compare the at least one category of the query to the at least one category of each indexed application;
determine, based on the comparison, whether each application is appropriate to serve the at least one category of the query; and
return each application that is appropriate to serve the at least one category of the query to the user device.
17. The system claim 16 , wherein the at least one matching application is returned as at least one of: a native application, and a virtual application.
18. The system of claim 16 , wherein the system is further configured to:
determine an appropriateness score of the application with respect to the at least one category of the query, wherein each application having an appropriateness score above a predetermined threshold is determined to be appropriate to serve the at least one category of the query.
19. The system of claim 11 , wherein the system is further configured to:
update the application index based on usage of the detected applications.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/596,484 US20170249378A1 (en) | 2010-06-11 | 2017-05-16 | System and method for indexing mobile applications |
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US35402210P | 2010-06-11 | 2010-06-11 | |
US201161468095P | 2011-03-28 | 2011-03-28 | |
US13/156,999 US9323844B2 (en) | 2010-06-11 | 2011-06-09 | System and methods thereof for enhancing a user's search experience |
US13/296,619 US20130124547A1 (en) | 2011-11-15 | 2011-11-15 | System and Methods Thereof for Instantaneous Updating of a Wallpaper Responsive of a Query Input and Responses Thereto |
US201261653562P | 2012-05-31 | 2012-05-31 | |
US13/712,563 US9141702B2 (en) | 2010-06-11 | 2012-12-12 | Method for dynamically displaying a personalized home screen on a device |
US201361822376P | 2013-05-12 | 2013-05-12 | |
US201361826047P | 2013-05-22 | 2013-05-22 | |
US14/103,536 US9552422B2 (en) | 2010-06-11 | 2013-12-11 | System and method for detecting a search intent |
US14/278,223 US9665647B2 (en) | 2010-06-11 | 2014-05-15 | System and method for indexing mobile applications |
US15/596,484 US20170249378A1 (en) | 2010-06-11 | 2017-05-16 | System and method for indexing mobile applications |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/278,223 Continuation US9665647B2 (en) | 2010-06-11 | 2014-05-15 | System and method for indexing mobile applications |
Publications (1)
Publication Number | Publication Date |
---|---|
US20170249378A1 true US20170249378A1 (en) | 2017-08-31 |
Family
ID=51421546
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/278,223 Active 2031-11-15 US9665647B2 (en) | 2010-06-11 | 2014-05-15 | System and method for indexing mobile applications |
US15/596,484 Abandoned US20170249378A1 (en) | 2010-06-11 | 2017-05-16 | System and method for indexing mobile applications |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/278,223 Active 2031-11-15 US9665647B2 (en) | 2010-06-11 | 2014-05-15 | System and method for indexing mobile applications |
Country Status (1)
Country | Link |
---|---|
US (2) | US9665647B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11301479B2 (en) | 2019-05-30 | 2022-04-12 | International Business Machines Corporation | Service provider selection for queries sent to a digital assistant |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120124028A1 (en) * | 2010-11-12 | 2012-05-17 | Microsoft Corporation | Unified Application Discovery across Application Stores |
US9424002B2 (en) | 2010-12-03 | 2016-08-23 | Microsoft Technology Licensing, Llc | Meta-application framework |
US9600530B2 (en) * | 2012-04-27 | 2017-03-21 | Quixey, Inc. | Updating a search index used to facilitate application searches |
US9286338B2 (en) | 2013-12-03 | 2016-03-15 | International Business Machines Corporation | Indexing content and source code of a software application |
US10216852B1 (en) | 2015-01-22 | 2019-02-26 | Google Llc | Indexing access limited native applications |
US10769127B2 (en) * | 2015-06-12 | 2020-09-08 | Quest Software Inc. | Dynamically optimizing data access patterns using predictive crowdsourcing |
US9965604B2 (en) | 2015-09-10 | 2018-05-08 | Microsoft Technology Licensing, Llc | De-duplication of per-user registration data |
US10069940B2 (en) | 2015-09-10 | 2018-09-04 | Microsoft Technology Licensing, Llc | Deployment meta-data based applicability targetting |
US11269961B2 (en) | 2016-10-28 | 2022-03-08 | Microsoft Technology Licensing, Llc | Systems and methods for App query driven results |
US10701166B2 (en) * | 2017-01-31 | 2020-06-30 | Microsoft Technology Licensing, Llc | Automated application linking |
US20180349467A1 (en) | 2017-06-02 | 2018-12-06 | Apple Inc. | Systems and methods for grouping search results into dynamic categories based on query and result set |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070226242A1 (en) * | 2006-03-27 | 2007-09-27 | Oracle International Corporation | Search Based Application Development Framework |
US20070239724A1 (en) * | 2005-09-14 | 2007-10-11 | Jorey Ramer | Mobile search services related to direct identifiers |
US20090327261A1 (en) * | 2008-06-25 | 2009-12-31 | Microsoft Corporation | Search techniques for rich internet applications |
Family Cites Families (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5911043A (en) | 1996-10-01 | 1999-06-08 | Baker & Botts, L.L.P. | System and method for computer-based rating of information retrieved from a computer network |
US6101529A (en) | 1998-05-18 | 2000-08-08 | Micron Electronics, Inc. | Apparatus for updating wallpaper for computer display |
US6122648A (en) | 1999-01-11 | 2000-09-19 | Gohome Networks, Inc. | Method apparatus and system for improved content management and delivery |
US6484162B1 (en) | 1999-06-29 | 2002-11-19 | International Business Machines Corporation | Labeling and describing search queries for reuse |
US6847959B1 (en) | 2000-01-05 | 2005-01-25 | Apple Computer, Inc. | Universal interface for retrieval of information in a computer system |
US6564213B1 (en) | 2000-04-18 | 2003-05-13 | Amazon.Com, Inc. | Search query autocompletion |
US6876997B1 (en) | 2000-05-22 | 2005-04-05 | Overture Services, Inc. | Method and apparatus for indentifying related searches in a database search system |
KR100460276B1 (en) | 2000-06-10 | 2004-12-04 | 유미특허법인 | An internet service apparatus and service method |
US8271333B1 (en) | 2000-11-02 | 2012-09-18 | Yahoo! Inc. | Content-related wallpaper |
CN100370814C (en) | 2001-02-28 | 2008-02-20 | 汤姆森许可公司 | System and method for creating user profiles |
US7016963B1 (en) | 2001-06-29 | 2006-03-21 | Glow Designs, Llc | Content management and transformation system for digital content |
US7406715B2 (en) | 2003-03-19 | 2008-07-29 | Intel Corp. | Controlling and remotely monitoring accessed network data |
US7680491B2 (en) | 2003-05-15 | 2010-03-16 | Redknee Inc. | Method and system allowing for one mobile phone number (MSISDN) to be associated with a plurality of wireless devices (‘Multi-SIM’) |
RU2349950C2 (en) | 2003-09-26 | 2009-03-20 | Дисней Энтерпрайзес Инк. | Method of parental control of cellular telephone use |
US20050071328A1 (en) | 2003-09-30 | 2005-03-31 | Lawrence Stephen R. | Personalization of web search |
US20050108406A1 (en) | 2003-11-07 | 2005-05-19 | Dynalab Inc. | System and method for dynamically generating a customized menu page |
US7594019B2 (en) | 2003-11-12 | 2009-09-22 | Intel Corporation | System and method for adult approval URL pre-screening |
US20050149496A1 (en) | 2003-12-22 | 2005-07-07 | Verity, Inc. | System and method for dynamic context-sensitive federated search of multiple information repositories |
US7707142B1 (en) | 2004-03-31 | 2010-04-27 | Google Inc. | Methods and systems for performing an offline search |
US7747601B2 (en) * | 2006-08-14 | 2010-06-29 | Inquira, Inc. | Method and apparatus for identifying and classifying query intent |
US7511682B2 (en) | 2004-05-03 | 2009-03-31 | Microsoft Corporation | Context-aware auxiliary display platform and applications |
US8812613B2 (en) | 2004-06-03 | 2014-08-19 | Maxsp Corporation | Virtual application manager |
US7836044B2 (en) | 2004-06-22 | 2010-11-16 | Google Inc. | Anticipated query generation and processing in a search engine |
US9218588B2 (en) | 2004-06-29 | 2015-12-22 | United Parcel Service Of America, Inc. | Offline processing systems and methods for a carrier management system |
US20060064411A1 (en) | 2004-09-22 | 2006-03-23 | William Gross | Search engine using user intent |
US20060129931A1 (en) | 2004-12-10 | 2006-06-15 | Microsoft Corporation | Integrated client help viewer for internet-based and local help content |
EP1831811A2 (en) | 2004-12-22 | 2007-09-12 | EVINCII, Inc. | System and method for digital content searching based on determined intent |
US7617192B2 (en) | 2005-03-09 | 2009-11-10 | Medio Systems, Inc. | Method and system for capability content search with mobile computing devices |
US20060224593A1 (en) | 2005-04-01 | 2006-10-05 | Submitnet, Inc. | Search engine desktop application tool |
US20060265394A1 (en) | 2005-05-19 | 2006-11-23 | Trimergent | Personalizable information networks |
WO2006127480A2 (en) | 2005-05-20 | 2006-11-30 | Perfect Market Technologies, Inc. | A search apparatus having a search result matrix display |
US8166059B2 (en) | 2005-07-08 | 2012-04-24 | Oracle International Corporation | Optimization of queries on a repository based on constraints on how the data is stored in the repository |
US7672932B2 (en) | 2005-08-24 | 2010-03-02 | Yahoo! Inc. | Speculative search result based on a not-yet-submitted search query |
US8103545B2 (en) | 2005-09-14 | 2012-01-24 | Jumptap, Inc. | Managing payment for sponsored content presented to mobile communication facilities |
US7933632B2 (en) | 2005-09-16 | 2011-04-26 | Microsoft Corporation | Tile space user interface for mobile devices |
US7533084B2 (en) | 2005-11-15 | 2009-05-12 | International Business Machines Corporation | Monitoring user specific information on websites |
US7565157B1 (en) | 2005-11-18 | 2009-07-21 | A9.Com, Inc. | System and method for providing search results based on location |
US20070174900A1 (en) | 2006-01-24 | 2007-07-26 | Sunny Marueli | System and method for establishing a trust model governing interaction and service or program delivery |
US20070195105A1 (en) | 2006-02-17 | 2007-08-23 | Anu Koberg | Dynamic wallpaper on mobile communication device |
US20070204039A1 (en) | 2006-02-24 | 2007-08-30 | Prasanna Inamdar | System and method of downloading restricted applications to wireless devices |
US7774341B2 (en) | 2006-03-06 | 2010-08-10 | Veveo, Inc. | Methods and systems for selecting and presenting content based on dynamically identifying microgenres associated with the content |
US8073860B2 (en) | 2006-03-30 | 2011-12-06 | Veveo, Inc. | Method and system for incrementally selecting and providing relevant search engines in response to a user query |
EP4209927A1 (en) | 2006-04-20 | 2023-07-12 | Veveo, Inc. | User interface methods and systems for selecting and presenting content based on user navigation and selection actions associated with the content |
US7636779B2 (en) | 2006-04-28 | 2009-12-22 | Yahoo! Inc. | Contextual mobile local search based on social network vitality information |
US20070300185A1 (en) | 2006-06-27 | 2007-12-27 | Microsoft Corporation | Activity-centric adaptive user interface |
US20080065685A1 (en) | 2006-08-04 | 2008-03-13 | Metacarta, Inc. | Systems and methods for presenting results of geographic text searches |
US7636900B2 (en) | 2006-10-25 | 2009-12-22 | Samsung Electronics Co., Ltd. | Personalized virtual reality home screen for mobile devices |
US7814234B2 (en) | 2006-10-30 | 2010-10-12 | Microsoft Corporation | Offline execution of web based applications |
US7974976B2 (en) | 2006-11-09 | 2011-07-05 | Yahoo! Inc. | Deriving user intent from a user query |
US8843853B1 (en) | 2006-12-05 | 2014-09-23 | At&T Mobility Ii Llc | Home screen user interface for electronic device display |
US20090234814A1 (en) | 2006-12-12 | 2009-09-17 | Marco Boerries | Configuring a search engine results page with environment-specific information |
US7966321B2 (en) | 2007-01-17 | 2011-06-21 | Google Inc. | Presentation of local results |
US20080256443A1 (en) | 2007-04-16 | 2008-10-16 | France Telecom | System for aggregating and displaying syndicated news feeds |
US9990439B2 (en) | 2007-08-14 | 2018-06-05 | Nbcuniversal Media, Llc | Flexible method and system for providing digital content |
US8793265B2 (en) | 2007-09-12 | 2014-07-29 | Samsung Electronics Co., Ltd. | Method and system for selecting personalized search engines for accessing information |
US7856434B2 (en) | 2007-11-12 | 2010-12-21 | Endeca Technologies, Inc. | System and method for filtering rules for manipulating search results in a hierarchical search and navigation system |
US20090210403A1 (en) | 2008-02-20 | 2009-08-20 | Menachem Reinshmidt | System and method for extended structured searching architecture |
US7974974B2 (en) | 2008-03-20 | 2011-07-05 | Microsoft Corporation | Techniques to perform relative ranking for search results |
US8312484B1 (en) | 2008-03-28 | 2012-11-13 | United Video Properties, Inc. | Systems and methods for blocking selected commercials |
US20090265328A1 (en) | 2008-04-16 | 2009-10-22 | Yahool Inc. | Predicting newsworthy queries using combined online and offline models |
US8344233B2 (en) | 2008-05-07 | 2013-01-01 | Microsoft Corporation | Scalable music recommendation by search |
JP4525794B2 (en) | 2008-05-14 | 2010-08-18 | ソニー株式会社 | Electronic device, content reproduction method, program, and recording medium |
JP2009285550A (en) | 2008-05-28 | 2009-12-10 | Ihi Corp | Exhaust gas treating method |
US20100042912A1 (en) | 2008-06-12 | 2010-02-18 | Eva Whitaker | Reminder and notification system for a parent |
US8306969B2 (en) | 2008-09-23 | 2012-11-06 | Microsoft Corporation | Linking search queries to rich media themes |
US8606725B1 (en) | 2008-10-29 | 2013-12-10 | Emory University | Automatic client-side user-behavior analysis for inferring user intent |
US8799273B1 (en) | 2008-12-12 | 2014-08-05 | Google Inc. | Highlighting notebooked web content |
US9083791B2 (en) | 2009-01-22 | 2015-07-14 | Yahoo ! Inc. | Web-hosted framework for mobile applications |
US8850472B2 (en) | 2009-04-01 | 2014-09-30 | Nuance Communications, Inc. | Method and apparatus for customizing user experience |
US20100268673A1 (en) | 2009-04-16 | 2010-10-21 | The Boeing Company | Associate memory learning agent technology for travel optimization and monitoring |
US8032666B2 (en) | 2009-06-12 | 2011-10-04 | Microsoft Corporation | Location enabled bookmark and profile |
US8825597B1 (en) | 2009-08-13 | 2014-09-02 | Dropbox, Inc. | Network folder synchronization |
WO2011021908A2 (en) | 2009-08-21 | 2011-02-24 | Samsung Electronics Co., Ltd. | Application downloading method, application providing method, user terminal using the same |
US8972878B2 (en) | 2009-09-21 | 2015-03-03 | Avaya Inc. | Screen icon manipulation by context and frequency of Use |
US8347362B2 (en) | 2009-09-30 | 2013-01-01 | Alcatel Lucent | Usage control services performed in an end user device |
US9405841B2 (en) | 2009-10-15 | 2016-08-02 | A9.Com, Inc. | Dynamic search suggestion and category specific completion |
US8560536B2 (en) | 2010-03-11 | 2013-10-15 | Yahoo! Inc. | Methods, systems, and/or apparatuses for use in searching for information using computer platforms |
US9135354B2 (en) | 2010-04-07 | 2015-09-15 | Yahoo! Inc. | Method and system for topical browser history |
US9361387B2 (en) | 2010-04-22 | 2016-06-07 | Microsoft Technology Licensing, Llc | Context-based services |
US20110314419A1 (en) | 2010-06-22 | 2011-12-22 | Microsoft Corporation | Customizing a search experience using images |
US20120158685A1 (en) | 2010-12-16 | 2012-06-21 | Microsoft Corporation | Modeling Intent and Ranking Search Results Using Activity-based Context |
US20120198347A1 (en) | 2011-01-31 | 2012-08-02 | Nokia Corporation | Method and apparatus for enhancing user based content data |
US8700804B1 (en) | 2011-03-16 | 2014-04-15 | EP Visual Design, Inc. | Methods and apparatus for managing mobile content |
US9858342B2 (en) | 2011-03-28 | 2018-01-02 | Doat Media Ltd. | Method and system for searching for applications respective of a connectivity mode of a user device |
US8718633B2 (en) | 2011-07-13 | 2014-05-06 | Qualcomm Incorporated | Intelligent parental controls for wireless devices |
US8571538B2 (en) | 2011-08-10 | 2013-10-29 | Qualcomm Incorporated | Web-based parental controls for wireless devices |
KR101812657B1 (en) | 2011-11-22 | 2018-01-31 | 삼성전자주식회사 | A method and apparatus for recommending applications based on context information |
US9600530B2 (en) | 2012-04-27 | 2017-03-21 | Quixey, Inc. | Updating a search index used to facilitate application searches |
CN104145434B (en) | 2012-08-17 | 2017-12-12 | 青岛海信国际营销股份有限公司 | The channel switch device of intelligent television |
US20140279013A1 (en) | 2013-03-13 | 2014-09-18 | Ebay Inc. | Online and offline ecommerce connections |
-
2014
- 2014-05-15 US US14/278,223 patent/US9665647B2/en active Active
-
2017
- 2017-05-16 US US15/596,484 patent/US20170249378A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070239724A1 (en) * | 2005-09-14 | 2007-10-11 | Jorey Ramer | Mobile search services related to direct identifiers |
US20070226242A1 (en) * | 2006-03-27 | 2007-09-27 | Oracle International Corporation | Search Based Application Development Framework |
US20090327261A1 (en) * | 2008-06-25 | 2009-12-31 | Microsoft Corporation | Search techniques for rich internet applications |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11301479B2 (en) | 2019-05-30 | 2022-04-12 | International Business Machines Corporation | Service provider selection for queries sent to a digital assistant |
Also Published As
Publication number | Publication date |
---|---|
US9665647B2 (en) | 2017-05-30 |
US20140250098A1 (en) | 2014-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9665647B2 (en) | System and method for indexing mobile applications | |
US10339172B2 (en) | System and methods thereof for enhancing a user's search experience | |
US10885039B2 (en) | Machine learning based search improvement | |
US9529918B2 (en) | System and methods thereof for downloading applications via a communication network | |
CN103177075B (en) | The detection of Knowledge based engineering entity and disambiguation | |
US8745067B2 (en) | Presenting comments from various sources | |
US9002821B2 (en) | Indexing application pages of native applications | |
US10198503B2 (en) | System and method for performing a semantic operation on a digital social network | |
US8762326B1 (en) | Personalized hot topics | |
IL227140A (en) | System and method for performing a semantic operation on a digital social network | |
US20160306887A1 (en) | Methods, apparatuses and systems for linked and personalized extended search | |
US7962523B2 (en) | System and method for detecting templates of a website using hyperlink analysis | |
US9805406B2 (en) | Embeddable media content search widget | |
US20140143237A1 (en) | Information processing device, information processing method, program for information processing device, and recording medium | |
EP3238105B1 (en) | Application partial deep link to a corresponding resource | |
US9152698B1 (en) | Substitute term identification based on over-represented terms identification | |
US20140297613A1 (en) | Method for customizing search queries to optimized search results | |
US8365064B2 (en) | Hyperlinking web content | |
US9128993B2 (en) | Presenting secondary music search result links | |
US20180054652A1 (en) | Embeddable media content search widget | |
US20170091214A1 (en) | System and method for populating dynamic folders for sharing content over the web | |
Cheng et al. | Data services for E-tailers leveraging web search engine assets | |
US9639611B2 (en) | System and method for providing suitable web addresses to a user device | |
US20150186539A1 (en) | System and methods thereof for generation of widgets based on entities | |
US20130226900A1 (en) | Method and system for non-ephemeral search |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |