The disclosure generally relates to techniques for searching for mobile applications (“apps”) to provide to a user, and more specifically to techniques for searching for applications based on the intent of a user.
The use of mobile devices such as smart phones, mobile phones, tablet computers, and other similar devices has significantly increased in the past years. Such mobile devices allow access to a variety of application programs also known as “applications” or “apps.”
The applications are usually designed to help a user of a mobile device in performing a specific task. Applications may be bundled with the computer and its system software, or may be accessible and sometimes downloadable from a central repository such as, for example, the App Store™ by Apple®, and the like.
Through the central repositories hosting applications, users are able to search for applications using search engines. When a user finds a desired application, a link is provided through which the application is downloaded to the mobile device. The applications are sometimes downloadable straight from the repository.
In the central repositories, applications are typically organized according to different categories, such as books, games, educational applications, and so on. A user can start the search for an application by first selecting a category of interest and then navigating through the applications listed under the selected category. To narrow the search a user can filter the listed applications in the selected category to ‘paid,’ ‘free,’ and ‘top rated’ applications. Alternatively, the user can search for applications using keywords. However, in such a case the user needs to know at least the name of the desired application, as the search results include all applications that the input keyword exists in. For example, the keyword ‘ticket’ would return a list of applications that offer tickets for movies, sport events, and concerts in different cities around the world. If the user who searched by the keyword “ticket” is interested only in movie tickets for a local theater, the user will need to review a list of irrelevant applications to find an application related to his particular desired topic. The order of the applications presented to the user is usually not based on the relevancy to the user. Thus, the process for searching for an application is very time consuming, as the process requires navigation through tens or hundreds of applications. This longevity of the process occurs because, among other causes, the applications retuned in response to the search are commonly promoted by the repository's owner, even if such applications do not meet the exact user's needs or intent.
It would therefore be advantageous to provide an application search solution that overcomes the limitations of current search solutions as discussed above.
Certain embodiments disclosed herein include a method for causing downloads of applications based on user intents. The method comprises: determining, based on an input search query, a search intent; selecting, based on the determined search intent, at least one application from at least one applications central repository; causing, via a user device, creation of a dynamic display segment, wherein the dynamic display segment includes at least one icon corresponding to the selected at least one application; receiving, from the user device, at least one input indicating a user-selected application with respect to the at least one displayed icon; causing establishment of a direct communication link between the user device and a source of the user-selected application; and causing initiation of a download of the user-selected application on the user device over the direct communication link.
Certain embodiments disclosed herein also include a non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to perform a process, the process comprising: determining, based on an input search query, a search intent; selecting, based on the determined search intent, at least one application from at least one applications central repository; causing, via a user device, creation of a dynamic display segment, wherein the dynamic display segment includes at least one icon corresponding to the selected at least one application; receiving, from the user device, at least one input indicating a user-selected application with respect to the at least one displayed icon; causing establishment of a direct communication link between the user device and a source of the user-selected application; and causing initiation of a download of the user-selected application on the user device over the direct communication link.
Certain embodiments disclosed herein also include a system for causing downloads of applications based on user intents. The system comprises: a processing circuitry; and a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to: determine, based on an input search query, a search intent; select, based on the determined search intent, at least one application from at least one applications central repository; cause, via a user device, creation of a dynamic display segment, wherein the dynamic display segment includes at least one icon corresponding to the selected at least one application; receive, from the user device, at least one input indicating a user-selected application with respect to the at least one displayed icon; cause establishment of a direct communication link between the user device and a source of the user-selected application; and cause initiation of a download of the user-selected application on the user device over the direct communication link.
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 disclosed embodiments will be apparent from the following detailed description taken in conjunction with the accompanying drawings.
The embodiments disclosed herein are only examples of the many possible advantageous uses and implementations of the innovative teachings presented 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 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. Also communicatively connected to the network 120 is a search server 130, an intent detection unit (IDU) 140, a plurality of applications repositories 150, a plurality of web sources 160-1 through 160-o, and a database 170. In an embodiment, the IDU 140 may be integrated in the search server 130.
The applications repositories 150 are web sources that contain links to web sources 160-1 through 160-o, through which applications can be downloaded to the user device 110. According to another embodiment, the applications may be downloadable directly from the applications repositories. Examples of applications repositories 150 are the AppStore®, Google Play® and the like. 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.
According to one embodiment, the database 170 includes an index of applications that can be downloaded from applications central repositories. Each application is indexed using a corresponding identification tag or name. In addition, the index contains a corresponding rank in the respective data repository and a URL from which the application be downloaded for each application. The index can be organized according to the different operating systems that the applications are programmed to be executed on. For example, an index can be organized to separately list applications programmed to run on iOS®, on Android®, and on Windows® operating system.
The search server 130 is configured to search for applications that would best match a user of the device 110. To this end, the search server 130 receives an input search query from the user device. The input search query may be a text query, a portion of a text query, or a voice query. Then, the server 130 is configured to send the received query to the IDU 140 to determine the search intent of a user of the user device 110. The search intent represents the type of content, the content, actions, or a combination thereof, that currently may be of an interest to the user.
Specifically, the intent represents an application category, an application name, or both, that would best match the user's input query. In one embodiment, the intent is implicitly determined (“implicit intent”) based on environmental variables, personal variables, or both, received from the user device 120. An environmental variable includes, for example, a temperature, a location, a set of GPS coordinates, a current time, the user device 110's movement, and so on. A personal variable includes, for example, the user profile, demographic information, the user's preferences, and so on.
In an example embodiment, the process for determining the implicit intent includes receiving personal variables, environmental variables, or both from a user device; analyzing each of the personal variables and/or environmental variables to determine their context; correlating the personal variables and/or environmental variables based on their respective context; and using the correlation results to derive at least a category of interest. The category of interest is determined to be the intent. As an example, if the user enters the query “eat” and the environmental variables are the current time (e.g., 8 A.M.) and a location of a train station, then the implicit intent would be to search for “restaurants for breakfast.” The process for determining the implicit intent is further described in the above-referenced U.S. Pat. No. 9,141,702 filed on Dec. 12, 2012, titled “METHOD FOR DYNAMICALLY DISPLAYING A PERSONALIZED HOME SCREEN ON A DEVICE”, assigned to common assignee, and which is hereby incorporated by reference for all that it contains.
It should be noted that the IDU 140 is configured to determine search intent only based on the input query (hereinafter “explicit intent”) as discussed below with reference to
Respective of the determined search intent (the explicit intent, implicit intent, or both) one or more applications are selected for download to the user device from the applications repositories 150. In an embodiment, the search engine first searches for applications that match the search intent in the application index stored in the database. If at least one application is found, the search server 130 downloads the application from a location indicated by the application's URL as saved in the index. If a matching application cannot be found in the index, then the search engine searches for the application in the applications repositories 150 and the web sources 160.
Upon selection of at least one application (i.e., an application that matches the intent), a dynamic display segment is created on the user device. An icon of the selected application is displayed over the created dynamic display segment. Thereafter, upon identification of an input received from the user device 110-1 respective of at least one representative icon, the server 130 is configured to establish a direct communication link between the user device and the location that stores the selected application and initiates the download of the application to the user device. According to one embodiment, the input received from the user device 110 is a user's gesture. The user's gesture may be, for example, a scroll on the application icon, a tap on the application icon, and the like. The location storing the downloaded application may be one or more of the web sources 160 and the application repositories 150.
In a non-limiting embodiment, the system 100 may further include an agent 115 installed locally on the user device 110. The agent 115 is configured to facilitate communication with the search server 130. In an embodiment, the agent 115 is realized as an application (mobile app), wherein instructions of such an application are saved in a memory and executed by a processor of the user device 110. It should be noted that the one user device 110 is illustrated in
In S220, the search intent of a user of the user device 110 is determined. The search intent may be an implicit intent and/or an explicit intent, as further described and below with respect to
In S230, at least one application is selected to match the determined search intent. The search can be performed against an index of applications or applications repositories 150-1 through 150-m. In addition to searching based on the intent, the search is performed only for applications that their execution can be supported by the operating system of the server device.
In S240, a dynamic display segment is created on the user device. At least one icon corresponding to the at least one selected application is displayed on the user's segment. In S250, at least one input is received from the user device 120 that the user wishes to install the at least one selected application. Such an input may be, for example, a user tapping on the displayed icon. If the user decides not to the downloaded application that a new icon of another matching application can be displayed in the segment display. If no applications are available execution continues with S280.
In S260, respective of the selection, a direct communication link is established between a source of the at least one selected application and the user device to initiate the application download to the device.
In S270, the at least one application is downloaded to the user device 110. According to one embodiment, in S270 the application may further be installed and/or executed on the user device 110. In S280, it is checked whether there are additional queries and if so, execution continues with S220; otherwise, execution terminates.
An application discussed herein includes, but is not limited to, a native application (also known as “Internet mobile application”) and a web application. A native application is any software application that runs on a user device 120 and can, but is not required to, be accessed using the Internet or via a connection to the Internet. Typically, a native application is installed on smart phones or tablet computers (Apps for Apple's iPhone® and iPAD®). Examples of native applications include applications that play movies, applications that download songs, applications through which a user can order a pizza, applications through which a user can request an electrician to make a house call, and the like. A web application is any application that can be accessed on the World Wide Web (WWW) via a web browser. Typically, a web application is executed by a web server and the user's device (client) receives the processing results such as, for example, a web application for booking flight tickets.
The tokenizer 144 is configured to tokenize an input query to units of information (tokens). The tokenizer 144 arranges the tokens in tokenized paths to enable efficient processing by the engine 146. Each token may be, but is not limited to, a word or a series of words, or a number or a series of numbers. According to one embodiment, the tokenizer 144 may also include a filtering unit (not shown) for filtering the input query. The input queries can be classified to three different types: definitive, fuzzy, and noisy. A definitive query is short and is mapped to known entities or keywords. A fuzzy query contains a combination of known entities and keywords that are uncorrelated to the known entities. Noisy queries cannot be mapped to known entities, or are long and complex. According to the disclosed embodiments, an entity is an “object” in the world that can be defined with known types and attributes. Entities may be, for example, products, people, locations, companies, music bands, popular keywords, applications, zip codes, and query components. Each entity can be associated with one or more classifications describing its essence. For example, an entity ‘Madonna’ can be associated with the classifications singer, actor, and celebrity.
The filtering process is designed to simplify at least fuzzy and noisy queries. The filtering process may include removing one or more unnecessary tokens (such as preposition words) from the query. As an example, if the received query is “where there in Tolsa”, the word “in” may be removed from the query if the determined to be unnecessary. A list of unnecessary tokens is defined in a semantic dictionary maintained in the database 150 or the memory 149.
The tokenized paths created by the tokenizer 144 are based on the fact that the coherent query typically includes a set of tokens (map to entities as defined above) that represent similar intents. According to one embodiment, any ambiguity between paths is resolved by using the most coherent and probable path among all possible tokenized paths. In one embodiment, a graph of connections between entities (e.g., singers connected to their songs) is utilized to evaluate the likelihood of a certain tokenized paths yielding the user's intended search result based on the connection of tokens (mapped to entities) in the same query. For example, the input query “madonna vogue” includes two tokens “madonna” and “vogue”, where the tokenized path is that the entire query deals with music, rather than a Vogue magazine article (“Vogue” is both the name of a Madonna song and the title of a magazine).
Each engine of the plurality of engines 146 is configured to handle different one or more topics of interest. In one embodiment, a set of engines 146 are configured to map input tokenized paths or tokens (hereinafter tokenized queries) to entities. As noted above entities are objects that can be defined using a set of attributes such as consumer goods, locations, keywords, mobile applications (apps), person names, questions, URLs, and so on.
As a non-limiting example, an engine 146 that is configured to handle locations, search for place names (cities, states, countries) in the tokenized query, and compute the probability that the user added a location to in their input queries. As another non-limiting example, an engine 146 that handles the names of people computes the probability that a given n-gram in the tokenized query is the name of an unknown person. Such an engine uses a frequency dictionary for common names versus common words, and common last name suffixes. In the fields of computational linguistics and probability, an n-gram is a contiguous sequence of n items from a given sequence of text or speech.
As another non-limiting example, an engine 146 that handles URLs is configured to include a list of URLs, domain names, and websites, and to compute the probability that the tokenized query includes a website name. As another non-limiting example, an engine 146 computes the probability that the tokenized query includes a question word, thereby determining the probability that the entire input query is a question. This is performed using pattern matching.
According to one embodiment, the probability may be computed based on at least one of: the frequency of appearance of the tokenized query within the entities by the engines, the correlation of the tokenized query to the entities, the matching between each of the tokens to the entities, the matching of the tokenized query to a plurality of search results received from an external search engine, the correlation to trend reports, and combinations thereof. As noted above, entities represent topics of interests.
The engines 146 are periodically updated with relevant content and are therefore consistent with the trends related to the respective topics. As a non-limiting example, the entities are updated by periodically downloading an index of entities from external sources (e.g., freebase.org) and names relevant mobile apps that can be periodically downloaded from central repositories of such applications, e.g., AppStore®.
In one embodiment, trends or popularity reports of certain keywords or queries are retrieved from external sources. Such reports can be input to engines 146 and can be utilized in part to compute the probability of a certain entity. For example, a trend report shows that a keyword “JFK airport” is currently trendy, so the probability computed for the location JFK airport would be higher than the probability computed for the person President John F. Kennedy.
Each engine of the plurality of engines 146 then provides an output respective of the tokenized query. Such output includes the mapped entity from the engine 146 and a certainty score for the tokenized query based on the probability computed for the entity handled by a respective engine. That is, each certainty score reflects the matching of the tokenized query to the topic of which the corresponding engine handles. In an exemplary embodiment, the certainty score is an integer number between 0 and 10. In one embodiment, a certainty score that does not exceed a predefined threshold is not output by the engine 146.
The outputs of the engines 146 are then analyzed by an analyzer 148 and the search intent is determined respective to the analysis. The analysis of the analyzer 148 may include: a statistical analysis, a semantic analysis, analysis of the user experience, and combinations thereof. The statistical analysis determines the co-occurrence of the tokens within the topics of interest of the engine. The semantic analysis determines at least one of: the type of each of the one or more tokens, the correlation between each of the tokens and the topic of interest of the engine, and a combination thereof.
The statistical analysis is performed to determine, based on the certainty scores, which entities would best describe the search intent of an input query. This may include statistically combining the outputs from engines 146. In another embodiment, the statistical analysis including computing an average over the received certainty scores and considering entities with certainty scores over the computed average. The semantic analysis determines which of the combination of tokens mapped to entities describes a coherent query (or phrase).
The user intent is then sent to the search server 130 in order to provide the user with appropriate search results. It should be noted that each of the units may include a processor coupled to a memory (both are not shown).
As a non-limiting example, the words “March madness” are received as a query by the network interface 142. The query is tokenized by the tokenizer 144 to the tokenized queries “March”, “madness” and “March madness”. The tokenized queries are then sent to a plurality of engines 146. An engine (e.g., engine 146-1) that handles dates will provide a high certainty score (e.g., 10) for the word “March” and the certainty of this word as the 3rd Month of the year, but this engine 146-1 will not provide an output for the tokenized queries “madness” and “March Madness”, or otherwise the computed score is below a predefined threshold. An engine (e.g., engine 146-2) that handles a music entity will provide a high certainty score (e.g., 7) for the word “madness” and the certainty of this word as the name of a Music band, but engine 146-2 will not provide an output for the tokenized queries “March” and “March Madness.” An engine (e.g., engine 146-3) that handles a basketball will output a high certainty score (e.g., 10) for the tokenized query “March Madness” and the certainty of this combination of words as a basketball related phrase. Respective thereto the search intent is determined to be basketball, as a coherent query is comprised of entities that best represent the intent.
In S420, the received query is tokenized to one or more tokenized queries. A tokenized query may be any combination of tokens broken from the input query. A token may be a word or phrase that appears in the input query. In an embodiment, S420 is performed by the tokenizer 146. In S430, the tokenized queries are input to the plurality of engines 146-1 through 146-N. In S435, each engine computes the probability that a tokenized query is mapped to at least entity that the engine is configured with. An entity represents a topic of interest. Various examples of engines and their entities are discussed above. The probability computation is realized by a certainty score. In S440, each of the engines 146-1 through 146-N provides at least one entity together with a certainty score. As an example, the tokenized query ‘madonna’ can be mapped to the entities: ‘musician’ and ‘religious figure’. As noted above, in an embodiment, certainty scores below a predefined threshold are not output by the engines. In S450, at least a statistical analysis, a semantic analysis, or both is performed on at least the certainty scores and entities received from the engines to determine the search intent of the user. In S460, the determined search intent is returned to a search server. In an embodiment, the tokenized queries and the search intent are saved in the memory 149. In S470, it is checked whether a new query is received, and if so execution continues with S410; otherwise, execution terminates.
It should be understood that any reference to an element herein using a designation such as “first,” “second,” and so forth does not generally limit the quantity or order of those elements. Rather, these designations are generally used herein as a convenient method of distinguishing between two or more elements or instances of an element. Thus, a reference to first and second elements does not mean that only two elements may be employed there or that the first element must precede the second element in some manner. Also, unless stated otherwise, a set of elements comprises one or more elements.
As used herein, the phrase “at least one of” followed by a listing of items means that any of the listed items can be utilized individually, or any combination of two or more of the listed items can be utilized. For example, if a system is described as including “at least one of A, B, and C,” the system can include A alone; B alone; C alone; A and B in combination; B and C in combination; A and C in combination; or A, B, and C in combination.
The various embodiments may 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 tangible 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 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. All or some of the servers maybe combined into one or more integrated servers. Furthermore, a non-transitory computer readable medium is any computer readable medium except for a transitory propagating signal. The display segments and mini-display segments may be shown on a display area that can be a browser or another other appropriate graphical user interface of an internet mobile application, either generic or tailored for the purposes described in detail hereinabove.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the principles 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, 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.
This application is a continuation of U.S. patent application Ser. No. 14/103,500 filed on Dec. 11, 2013, now allowed, which claims the benefit of U.S. provisional application No. 61/890,266 filed on Oct. 13, 2013, and of U.S. provisional application No. 61/822,376 filed on May 12, 2013. The Ser. No. 14/103,500 application is also a continuation-in-part of U.S. patent application Ser. No. 13/712,563 filed on Dec. 12, 2012, now U.S. Pat. No. 9,141,702. The Ser. No. 13/712,563 application claims the benefit of U.S. provisional patent application No. 61/653,562 filed on May 31, 2012, and is a continuation-in-part of U.S. patent application Ser. No. 13/156,999 filed on Jun. 9, 2011, now U.S. Pat. No. 9,323,844. The Ser. No. 13/156,999 application claims the benefit of U.S. provisional patent 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. The Ser. No. 13/712,563 application is also a continuation-in-part application of U.S. patent application Ser. No. 13/296,619 filed on Nov. 15, 2011. The contents of the above-referenced applications are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5911043 | Duffy et al. | Jun 1999 | A |
6101529 | Chrabaszcz | Aug 2000 | A |
6484162 | Edlund et al. | Nov 2002 | B1 |
6560590 | Shwe | May 2003 | B1 |
6564213 | Ortega et al. | May 2003 | B1 |
6605121 | Roderick | Aug 2003 | B1 |
6668177 | Salmimaa et al. | Dec 2003 | B2 |
7181438 | Szabo | Feb 2007 | B1 |
7266588 | Oku | Sep 2007 | B2 |
7302272 | Ackley | Nov 2007 | B2 |
7376594 | Nigrin | May 2008 | B2 |
7461061 | Aravamudan et al. | Dec 2008 | B2 |
7529741 | Aravamudan et al. | May 2009 | B2 |
7533084 | Holloway et al. | May 2009 | B2 |
7565383 | Gebhart et al. | Jul 2009 | B2 |
7599925 | Larson et al. | Oct 2009 | B2 |
7636900 | Xia | Dec 2009 | B2 |
7774003 | Ortega et al. | Aug 2010 | B1 |
7792815 | Aravamudan et al. | Sep 2010 | B2 |
7797298 | Sareen et al. | Sep 2010 | B2 |
7958141 | Sundaresan et al. | Jun 2011 | B2 |
7966321 | Wolosin et al. | Jun 2011 | B2 |
7974976 | Yahia et al. | Jul 2011 | B2 |
8032666 | Srinivansan et al. | Oct 2011 | B2 |
8073860 | Venkataraman et al. | Dec 2011 | B2 |
8086604 | Arrouye et al. | Dec 2011 | B2 |
8271333 | Grigsby et al. | Sep 2012 | B1 |
8312484 | McCarty et al. | Nov 2012 | B1 |
8392449 | Pelenur et al. | Mar 2013 | B2 |
8571538 | Sprigg et al. | Oct 2013 | B2 |
8572129 | Lee et al. | Oct 2013 | B1 |
8606725 | Agichtein et al. | Dec 2013 | B1 |
8626589 | Sengupta et al. | Jan 2014 | B2 |
8700804 | Meyers et al. | Apr 2014 | B1 |
8718633 | Sprigg et al. | May 2014 | B2 |
8793265 | Song et al. | Jul 2014 | B2 |
8799273 | Chang et al. | Aug 2014 | B1 |
8825597 | Houston et al. | Sep 2014 | B1 |
8843853 | Smoak et al. | Sep 2014 | B1 |
20030018778 | Martin et al. | Jan 2003 | A1 |
20040186989 | Clapper | Sep 2004 | A1 |
20040229601 | Zabawskyj et al. | Nov 2004 | A1 |
20050071328 | Lawrence | Mar 2005 | A1 |
20050076367 | Johnson et al. | Apr 2005 | A1 |
20050102407 | Clapper | May 2005 | A1 |
20050108406 | Lee et al. | May 2005 | A1 |
20050149496 | Mukherjee et al. | Jul 2005 | A1 |
20050232423 | Horvitz et al. | Oct 2005 | A1 |
20050283468 | Kamvar et al. | Dec 2005 | A1 |
20060031529 | Keith | Feb 2006 | A1 |
20060064411 | Gross et al. | Mar 2006 | A1 |
20060085408 | Morsa | Apr 2006 | A1 |
20060089945 | Paval | Apr 2006 | A1 |
20060095389 | Hirota et al. | May 2006 | A1 |
20060112081 | Qureshi | May 2006 | A1 |
20060136403 | Koo | Jun 2006 | A1 |
20060167896 | Kapur et al. | Jul 2006 | A1 |
20060190439 | Chowdhury et al. | Aug 2006 | A1 |
20060200761 | Judd et al. | Sep 2006 | A1 |
20060206803 | Smith | Sep 2006 | A1 |
20060217953 | Parikh | Sep 2006 | A1 |
20060224448 | Hert | Oct 2006 | A1 |
20060224593 | Benton et al. | Oct 2006 | A1 |
20060248062 | Libes et al. | Nov 2006 | A1 |
20060265394 | Raman et al. | Nov 2006 | A1 |
20060271520 | Ragan | Nov 2006 | A1 |
20060277167 | Gross et al. | Dec 2006 | A1 |
20070011167 | Krishnaprasad et al. | Jan 2007 | A1 |
20070055652 | Hood et al. | Mar 2007 | A1 |
20070082707 | Flynt et al. | Apr 2007 | A1 |
20070112739 | Burns et al. | May 2007 | A1 |
20070136244 | MacLaurin et al. | Jun 2007 | A1 |
20070174900 | Marueli et al. | Jul 2007 | A1 |
20070195105 | Koberg | Aug 2007 | A1 |
20070204039 | Inamdar | Aug 2007 | A1 |
20070239724 | Ramer et al. | Oct 2007 | A1 |
20070255831 | Hayashi et al. | Nov 2007 | A1 |
20070300185 | Macbeth et al. | Dec 2007 | A1 |
20080065685 | Frank | Mar 2008 | A1 |
20080082464 | Ozzie et al. | Apr 2008 | A1 |
20080114759 | Yahia et al. | May 2008 | A1 |
20080172362 | Shacham | Jul 2008 | A1 |
20080172374 | Wolosin et al. | Jul 2008 | A1 |
20080256443 | Li et al. | Oct 2008 | A1 |
20090013052 | Robarts et al. | Jan 2009 | A1 |
20090031236 | Robertson et al. | Jan 2009 | A1 |
20090049052 | Sharma et al. | Feb 2009 | A1 |
20090063491 | Barclay et al. | Mar 2009 | A1 |
20090070318 | Song et al. | Mar 2009 | A1 |
20090077047 | Cooper et al. | Mar 2009 | A1 |
20090125374 | Deaton | May 2009 | A1 |
20090125482 | Peregrine et al. | May 2009 | A1 |
20090150792 | Laakso et al. | Jun 2009 | A1 |
20090210403 | Reinshmidt et al. | Aug 2009 | A1 |
20090228439 | Manolescu et al. | Sep 2009 | A1 |
20090234814 | Boerries et al. | Sep 2009 | A1 |
20090239587 | Negron et al. | Sep 2009 | A1 |
20090240680 | Tankovich et al. | Sep 2009 | A1 |
20090277322 | Cai et al. | Nov 2009 | A1 |
20090285550 | Yamada et al. | Nov 2009 | A1 |
20090327261 | Hawkins | Dec 2009 | A1 |
20100042912 | Whitaker | Feb 2010 | A1 |
20100082661 | Beaudreau | Apr 2010 | A1 |
20100094854 | Rouhani-Kalleh | Apr 2010 | A1 |
20100106706 | Rorex et al. | Apr 2010 | A1 |
20100228715 | Lawrence | Sep 2010 | A1 |
20100257552 | Sharan et al. | Oct 2010 | A1 |
20100268673 | Quadracci | Oct 2010 | A1 |
20100280983 | Cho et al. | Nov 2010 | A1 |
20100306191 | Lebeau et al. | Dec 2010 | A1 |
20100312782 | Li | Dec 2010 | A1 |
20100332958 | Weinberger et al. | Dec 2010 | A1 |
20110029541 | Schulman | Feb 2011 | A1 |
20110072492 | Mohler et al. | Mar 2011 | A1 |
20110078767 | Cai et al. | Mar 2011 | A1 |
20110093488 | Amacker et al. | Apr 2011 | A1 |
20110131205 | Iyer et al. | Jun 2011 | A1 |
20110252329 | Broman | Oct 2011 | A1 |
20110264656 | Dumais et al. | Oct 2011 | A1 |
20110295700 | Gilbane et al. | Dec 2011 | A1 |
20110314419 | Dunn et al. | Dec 2011 | A1 |
20120198347 | Hirvonen et al. | Aug 2012 | A1 |
20120284256 | Mahajan | Nov 2012 | A1 |
20130132896 | Lee et al. | May 2013 | A1 |
20130166525 | Naranjo et al. | Jun 2013 | A1 |
20130173513 | Chu et al. | Jul 2013 | A1 |
20130219319 | Park et al. | Aug 2013 | A1 |
20140007057 | Gill | Jan 2014 | A1 |
20140049651 | Voth | Feb 2014 | A1 |
20140279013 | Chelly et al. | Sep 2014 | A1 |
20150032714 | Simhon et al. | Jan 2015 | A1 |
Number | Date | Country |
---|---|---|
2288113 | Feb 2011 | EP |
2009278342 | Nov 2009 | JP |
2011044147 | Mar 2011 | JP |
2012083540 | Jun 2012 | WO |
Entry |
---|
Alice Corp V. CLS Bank International, 573 U.S. Pat. No. 208,134 S. CT. 2347 (2014). |
Notice of the First Office Action for Chinese Patent Application No. 201280004300.6, State Intellectual Property Office of the P.R.C., dated Oct. 26, 2016. |
Foreign Office Action for JP2015-537680 dated Dec. 6, 2016 from the Japanese Patent Office. |
Kurihara, et al., “How to Solve Beginner's Problem, Mac Fan Supports” Mac Fan, Mainichi Communications Cooperation, Dec. 1, 2009, vol. 17, 12th issue, p. 92. |
Chinese Foreign Action dated Mar. 13, 2017 from the State Intellectual Property of the P.R.C. for Chinese Patent Application: 201280004301.0, China. |
“Categories App Helps Organize iPhone Apps on your iPhone's Home Screen,” iPhoneHacks, url: http://www.iphonehacks.com/2008/10/categoriesapp.html, pp. 1-4, date of publication: Oct. 5, 2008. |
“iOS 4.2 for iPad New Features: Folders,” Purcell, url: http://notebooks.com/2010/11/22/ios-4-2-foripad-new-features-folders/, pp. 1-5, date of publication Nov. 22, 2010. |
Foreign Office Action for Patent Application No. 201380000403.X date Jun. 2, 2017 by the State Intellectual Property Office of the P.R.C. |
Second Office Action for Chinese Patent Application No. 201280004300.6 dated Aug. 23, 2017, SIPO. |
The Second Office Action for Chinese Patent Application No. 201280004301.0 dated Jan. 19, 2018, SIPO. |
Chinese Foreign Action dated Sep. 3, 2018 from the State Intellectual Property of the P.R.C for Chinese Patent Application: 201280004301.0, China. |
Number | Date | Country | |
---|---|---|---|
20170098004 A1 | Apr 2017 | US |
Number | Date | Country | |
---|---|---|---|
61890266 | Oct 2013 | US | |
61822376 | May 2013 | US | |
61653562 | May 2012 | US | |
61468095 | Mar 2011 | US | |
61354022 | Jun 2010 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14103500 | Dec 2013 | US |
Child | 15383249 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13712563 | Dec 2012 | US |
Child | 14103500 | US | |
Parent | 13156999 | Jun 2011 | US |
Child | 13712563 | US | |
Parent | 13296619 | Nov 2011 | US |
Child | 13712563 | Dec 2012 | US |