WO2011064675A1 - Method and system to recommend applications from an application market place - Google Patents

Method and system to recommend applications from an application market place Download PDF

Info

Publication number
WO2011064675A1
WO2011064675A1 PCT/IB2010/003433 IB2010003433W WO2011064675A1 WO 2011064675 A1 WO2011064675 A1 WO 2011064675A1 IB 2010003433 W IB2010003433 W IB 2010003433W WO 2011064675 A1 WO2011064675 A1 WO 2011064675A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
category
exclusive
indexed
database
Prior art date
Application number
PCT/IB2010/003433
Other languages
French (fr)
Inventor
Srinivas Chervirala
Satya Mallya
Original Assignee
France Telecom
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by France Telecom filed Critical France Telecom
Publication of WO2011064675A1 publication Critical patent/WO2011064675A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Definitions

  • the present invention generally relates to applications running on an electronic device and more specifically to the recommendation of such applications.
  • a device user such as a mobile phone user, or mobile user in short, has to rely heavily upon rating systems to discover the popular applications in the market place.
  • the discovery ends up biased as the current rating systems of all application market places are flawed. Indeed anyone can review and rate a given application, opening the possibility of reviews and ratings from so called users who may not have used and experienced that application .
  • the ratings can also be biased through bashing of an application by competitors offering a similar application and seeking an edge with improper ratings.
  • Such recommendation techniques are nonetheless of little help with applications found in an app store due to the specific nature of an application. Indeed, a user who installs a certain type of application may not be interested in purchasing a similar application . For instance, if a user has installed a weather application, a mail application or a browser application, he may not be interested in getting a similar type of application, finding one enough. Conversely, if a user purchased an arcade game or a news application, then he may want one more similar application.
  • the present method relates to a method for recommending a second application to an electronic device over a telecommunication network, the electronic device hosting at least a first application, the second application being indexed with one or more application categories in an application category database, the application category database comprising a plurality of application categories for characterizing applications available to the electronic device, the method being carried out by a recommendation node and comprising acts of:
  • an exclusive category being defined by a presence criterion based on the average number of applications indexed with the exclusive category among a plurality of electronic devices
  • the user of the electronic device will not receive recommendations for application categories already present on his device.
  • the recommendation node can identify such applications when hosting on an electronic device.
  • the push of second applications will be focused on non exclusive applications, that are more likely to be picked up by the user.
  • the present system also related to a recommendation node for recommending a second application to an electronic device over a telecommunication network, the electronic device hosting at least a first application, the second application being indexed with one or more application categories in an application category database, the application category database comprising a plurality of application categories for characterizing applications available to the electronic device, the recommendation node being arranged to:
  • the present system also relates to a telecommunication system comprising:
  • an application category database comprising a plurality of application categories for indexing applications available to the electronic device
  • a recommendation node for recommending a second application to the electronic device, the second application being indexed with one or more application categories in the application category database, the recommendation node being arranged to:
  • an exclusive category being defined by a presence criterion based on the average number of applications indexed with the exclusive category among a plurality of electronic devices
  • the present system also relates to a computer readable carrier including computer program instructions that cause a computer to implement a method for recommending a second application to an electronic device over a telecommunication network, the electronic device hosting at least a first application, the second application being indexed with one or more application categories in an application category database, the application category database comprising a plurality of application categories for characterizing applications available to the electronic device, the computer readable carrier comprising instructions for:
  • an exclusive category being defined by a presence criterion based on the average number of applications indexed with the exclusive category among a plurality of electronic devices
  • FIG. 1 shows an exemplary embodiment of the present system
  • FIG. 2 shows an exemplary embodiment of an electronic device in the present system
  • FIG. 3A shows an exemplary flowchart according to an embodiment of the present method
  • FIG. 3B shows an exemplary flowchart according to an embodiment of the present method
  • FIG. 4 shows an exemplary flowchart according to an embodiment of the present method
  • FIG. 5 shows an exemplary embodiment of the application category database of the present system, and
  • FIG. 6 shows another exemplary embodiment of the present system.
  • routers, servers, nodes, base stations, gateways or other entities in a telecommunication network are not detailed as their implementation is beyond the scope of the present system and method.
  • an operative coupling may include one or more of a wired connection and/or a wireless connection between two or more devices that enables a one and/or two-way communication path between the devices and/or portions thereof.
  • an operative coupling may include a wired and/or wireless coupling to enable communication between an application market server, the application recommendation node of the present system and one or more user devices.
  • the exemplary embodiment here after will be described in its application to a mobile device operable to select and download via a telecommunication network applications from an application market place.
  • the mobile device will also be referred to as a user device or electronic device.
  • An application market client hosted by the mobile device may be used to facilitate the selection and download of applications.
  • the present exemplary embodiment is in no way a limitation of the scope of the present method and system as the present teachings could be implemented for other electronic devices, such as computers, laptops, PDAs (Personal Digital Assistants) , set top boxes and the like. More generally any electronic device having a connection for accessing distant application market servers over a telecommunication network for downloading applications may benefit form the present teachings.
  • GUI graphical user interface
  • FIG. I shows an illustration of an exemplary embodiment of the present system.
  • a telecommunication device 100 illustrated as mentioned before as a mobile device, may access through a telecommunication network (not shown on FIG. 1 ) an application market place - or app store - hosted by an application market server 1 20.
  • the Apple AppStoreTM is a known example of such an application market place.
  • Such a server 1 20 may store a large number of applications that can be downloaded to the mobile device 100 over telecommunication network. Subsequent to its download, the user may invoke and execute the application added to his device 100.
  • Today a large number of such applications are available and can performs tasks varying from games, location based services, call services, news, social network interfaces to music and video players and the like.
  • An application recommendation server 1 40 - or ARS - may be available in the telecommunication network to provide application recommendations in the present system.
  • the present application recommendation server 1 40 acts as a recommendation node in the telecommunication network and may comprise a number of parts or components as follows:
  • an application category manager 144 for associating (i.e. tagging) each application discovered from the application market server 1 20 with one or more application categories.
  • the tagging of applications may be stored in an application category database 1 60 and will be illustrated later on in this description,
  • an application category finder 146 that shall find, using the application category database 1 60, for each application hosted by the user device 100, its categories and for each category its type (exclusive or not) as detailed later on,
  • Application crawlers 1 42 and the application manager 1 44 correspond to the interface of the application recommendation server 1 40 with the application market server 1 20, while the application category finder 1 46 and the application recommendation engine 1 48 correspond to the interface with the mobile device 100.
  • illustrating the ARS as a four part server is a mere illustration highlighting the different functionalities of the present ARS. This is in no way limiting as the four parts may be one of the same software or hosted on different elements of the application recommendation server 1 40.
  • the crawlers 1 42 may be hosted on different nodes of the present telecommunication network and may vary depending on the application market place being discovered.
  • FIG. 2 is an illustration of an exemplary embodiment of a user device used in the present system.
  • Mobile device 200 may comprise a display 240 for presenting a Graphical User Interface (GUI) of an application program to a user of this device.
  • a processor 210 (or Computational Processing Unit) is also provided for controlling and rendering the GUI presented to the display 240.
  • the display 240 may be a touch panel.
  • Touch panel 240 can be seen as an input device allowing interactions with a finger of a user or other devices such as a stylus. Such an input device can, for example, be used to make selections of portions of the GUI.
  • the input received from a user's touch is sent to the processor 210 that interprets the touches in accordance with the application program corresponding to the GUI.
  • the processor 210 can initiate a task, i.e. a control of the AP, in accordance with a particular touch.
  • processor 210 is provided for running the Operating System (OS) of the mobile device 200.
  • OS Operating System
  • a touch panel or keyboard, or keypad may also be provided to control one or more APs running on the processor 21 0 of mobile device 200.
  • An application store client 220 may be provided for interaction with the application market place 1 20 of FIG. 1 .
  • Such a client like the AppStoreTM client available today on an iPhoneTM, will allow the user to search and browse the different applications available for download.
  • This ASC 220 will also deal with payments for applications that necessitate such a payment prior to download.
  • a number of applications for instance API 231 , AP2 232 and AP3 233 have been downloaded on the mobile device 200 by the user.
  • the type of application category will be identified based on a presence criterion.
  • application categories may be exclusive or non exclusive. When most users only need a limited number of applications, if not just one, from a given category CATl , this category CATl will be of the exclusive type. In other words, a few applications from an exclusive category will serve the need of most users.
  • an application from an exclusive category will provide such functionalities that most users will only need one such application. For instance, an email application, a weather application, a calculator application ... are generally present only once on a mobile device.
  • a user may not need a second similar application frdm the same category as all the needed functionalities are already available with only one application from the exclusive category.
  • a user may require several such applications.
  • exemplary applications rely heavily on a content source, a user may need several news or sports applications to reach different content sources and get the most up to date information.
  • an exclusive category is defined by a presence criterion measuring the average number of applications tagged with the exclusive category among a plurality of electronic devices.
  • the notion of exclusivity may be defined once for all (static type) or may evolve over time depending on a feedback on the selections of users from the recommended applications.
  • the presence criterion helps measure whether a user, "on average", needs only one application of a category.
  • FIG. 3A is an illustration of an exemplary embodiment of the present method.
  • the user of the mobile device 200 will register with an application market place like the Apple AppStoreTM for instance. This registration will give the user access to all applications available for download to his mobile device 200.
  • the registration and downloads may be performed thanks to a data connection over a telecommunication network, for instance using a web browser or the application store client ASC 220.
  • the user then may browse the application market place for new applications or use search tools, like a keywords tool, category searches, most popular applications, etc.
  • the user may select a first application, say for instance AP I 231 of FIG. 2, and download it to his device.
  • a first application may be associated with metadata describing the first application.
  • the metadata may be for instance keywords describing the application functionalities, or application categories the application market place may be using for indexing and searching applications.
  • the application recommendation server 140 will receive (directly or indirectly) from the user device 200 the metadata, or part of it, describing the first application.
  • the present application recommendation server 140 may be seen as a recommendation engine for pushing interesting applications to a user. Such a service may be accessed voluntarily (directly) by the user through for instance another application on his user device or a browser.
  • the metadata may also be pushed to the application recommendation server 1 40 by the application market place 1 20 itself once the user has downloaded the first application.
  • the application recommendation server 1 40 will receive the metadata for the first application indirectly from the user device 200, as the download or payment for the first application will trigger the sending of the metadata from the application market place 1 20 to the application recommendation server 1 40.
  • the application recommendation server 140 may be part of or operatively coupled to the application market place 1 20.
  • the application market place will be able to directly recommend applications to the mobile device once a user has chosen the first application.
  • An interface like the one known from the AmazonTM platform may be proposed with the present system.
  • a user having purchased a first application will be presented with a list of recommended second applications to download, the list of second applications being generated with the present method.
  • the application recommendation server 1 40 will associate the first application API with one or more application categories to characterize API .
  • the application category finder 146 will use the received metadata to retrieve from the database 1 60 at least the one or more application categories.
  • the application category database 1 60 may comprise a list of preexisting categories describing most existing applications. Examples of such a list are available from existing application market places like the AppStoreTM. This list can be further completed with additional categories used for instance in other application market places.
  • all applications provided by an application market place may be parsed (using application crawlers 1 42) and tagged (using the application category manager 144) in the application category database 1 60 prior to any recommendation of applications.
  • the parsing and tagging may be done periodically for new applications or as updates of existing applications becoming available in the application market place 1 20. This may be referred to as a pretagging of the applications.
  • first application categories describing API can be identified directly from the database 160 using the received API metadata. If the first application is not tagged yet (new application downloaded after the most recent tagging of the application market place or downloaded from another app store), it can be tagged "on the fly" to find a match with categories stored in the application category database 1 60. To do so, the received metadata may be parsed using Natural Language Processing (NPL) and semantic tools.
  • NPL Natural Language Processing
  • the application recommendation server 1 40 will check for a first one of the retrieved first application categories to determine if its type is exclusive or not. As with the pretagging or tagging "on the fly" of the applications, the determination of the exclusive/non exclusive type may be either performed (on the fly) after the first application category has been identified or prior to any recommendation and stored in the application category database 1 60 (detailed with FIG. 4) .
  • the exclusive type of a category is defined based on a presence criterion.
  • a presence criterion may be based on statistics computed over a given panel of users of the application market place 1 20.
  • the presence criterion could be defined for a given application category CATl as:
  • N an integer greater or equal to 1 , and defining the exclusivity parameter
  • N_user_single_app_CATl number of users having only one single application tagged with CATl
  • N_user_app_CATl number of users having applications tagged with
  • PRESENCE_THRESHOLD threshold beyond which users are considered to need on average only N applications from the CATl category.
  • N can be defined as the exclusivity parameter, the closer N is to one, the more unique the user need will become.
  • Such data may be collected directly from the application market place 1 20 by selecting a plurality of users and reviewing their application downloads over a period of time.
  • any application category with an exclusivity ratio a lower then USAGE_THRESHOLD will be considered as non exclusive.
  • the mail, weather or browser categories could be seen for instance as exclusive as most users will only need one application tagged with such application categories to get the service they need.
  • a sports category can be seen as non exclusive as users have various interests and like to get reports from different sources. Thus they can download a large number of sports applications for getting the most up to date info on their favorite sports.
  • the application recommendation engine 148 of the ARS 1 40 will select, in the application category database 1 60, one or more second application(s) AP2 associated/tagged with the same first application category (act 325) .
  • the application recommendation engine 1 48 will select, from the application category database 1 60, one or more second application (s) AP2 associated/tagged with a second application category distinct from the first application category (act 330) .
  • the choice of the second category may be random. Alternatively it may be chosen on a user's profile, or based on a category related to the first category but nevertheless distinct. An example of such a choice for a second category will be illustrated in relation to FIG. 3B.
  • the application recommendation engine 1 48 will add the selected second application (s) AP2 to a list of recommended applications for the mobile device 200. Provided more categories associated to AP I are left to be checked (answer yes to act 340), the present method will resume with act 310 with the next application category associated to AP I . Once no more first application categories can be found (answer no to act 340) , the application recommendation engine 1 48 will push the list of recommended applications to the mobile device 200 as in act 350.
  • the application recommendation engine 1 48 may push the recommended application with act 335, each time applications are found in either act 330 or 325.
  • the application recommendation server 1 40 will only push similar applications to a user when his applications (on his device) are associated to non exclusive categories. Furthermore, if any application tagged with an exclusive type of category is present on the mobile device 200, the present application recommendation server 140 will not push for recommendation any other applications from the same category. Thus the user is not bothered with recommendation for applications rendering services he is already familiar with.
  • FIG. 4 illustrates an additional embodiment of the present system, in order to index, i.e. tag, the applications available from the application market place 1 20 in the application category database 1 60. This corresponds to the pretagging mentioned before, prior to any recommendation. This preliminary indexing or tagging is carried out by the applications crawlers 1 42 and the application category manager 1 44 of the application recommendation server 1 40.
  • the application market place 1 20 may render its application data available to the application recommendation server 1 40.
  • the application category database 1 60 may be populated with a number of categories that are made available for instance from existing application market places. An example of a tree like organization of the application category database 1 60 is illustrated in FIG. 5 and will be described here after.
  • the application crawlers will discover and collect for each application of the application market place 1 20, metadata describing the application.
  • the application category manager 1 44 will parse its metadata.
  • the application category manager 1 44 will check if one application category, as predefined in the application category database 1 60, matches the metadata describing the first application API . Provided there is one match (answer yes to act 41 5), the first application will be indexed under, i.e. associated with, the matched category in a further act 430.
  • Application market places may already provide metadata comprising categories. This allows an easy tagging of all the available applications.
  • act 430 will be carried out as well.
  • the tagging of acts 415 and 425 may lead to several application categories matching the first application metadata. Once the metadata under review has been tagged, the application category manager 144 will check if more metadata for the first application is left to be reviewed. Provided so (answer yes to act 435), the tagging will continue with act 410 for the first application as long as more metadata is left to be parsed.
  • the first application API will be considered as tagged/indexed (act 440) and the present method will resume with act 405 for another application AP2.
  • a taxonomic scheme may be used to sort out in a hierarchical manner/scheme the application categories in the application category database 1 60.
  • An illustration of such a hierarchy or treelike organization is illustrated in FIG. 5.
  • different level of categories are available, from a more general down to a more refined category as one navigates down the branch of the tree. For instance, in the example of FIG. 5, an email application is in the subcategory email which is part of the following branch:
  • XOR is used to denote an exclusive type of application category.
  • a number of categories based on the presence criterion, are defined as exclusive, like the email, SMS, MMS, phonebook, calendar, and temperature conversion.
  • Other categories are non exclusive (denoted as OR categories) .
  • OR categories In the present system, a category is either exclusive or non exclusive. It can, nonetheless, change type over time if a dynamic update of the type is implemented, as illustrated later on.
  • FIG. 3B an additional embodiment of the present method is illustrated in FIG. 3B.
  • This additional embodiment relies upon the similarities between subcategories in a branch and/or under the same parent category. We assume that the pretagging of FIG. 4 has been carried out prior to any recommendation with the present method.
  • the same acts bear the same number as in FIG. 3A.
  • the application recommendation server 1 40 will, in a further act 31 1 , associate one more application categories with AP I , using the received metadata. To do so, it may retrieve directly from the application category database 1 60 the application categories matching the first application metadata, since the applications from the application market place 1 20 have been pretagged (as illustrated in FIG. 4) . In the present additional embodiment, the application recommendation server 1 40 will select among the retrieved categories the lowest level category LLC as the first application category. In a treelike organization of categories, categories and subcategories can be described with a rank in the hierarchy which corresponds to their position in a branch.
  • the acts 31 1 to 340 will be repeated for all found subcategories.
  • the application recommendation server 140 will check whether the lowest level subcategory is exclusive or not, using the presence criterion illustrated here before. Provided the lowest level category is non exclusive (answer no to act 315), the application recommendation engine 148 of the application recommendation server 140 will select, in the application category database 160, one or more second applications AP2 associated with the same lowest level application category (act 325).
  • the application recommendation engine 148 will select in a further act 331 a second application category distinct from the first application category.
  • the second application category may be chosen as the other subcategory if at least one application is indexed with the other subcategory. This condition ensures that applications are available for recommendation with this choice of a second application category.
  • the second application category may be chosen as:
  • the first application category is "temperature conversion”
  • this subcategory will be found as an exclusive category.
  • the immediate parent category is “conversion”, which comprises other subcategories “weight conversion”, “currency conversion” or “language converters”, distinct from the "temperature conversion” first category.
  • conversion comprises other subcategories "weight conversion”, “currency conversion” or “language converters”, distinct from the "temperature conversion” first category.
  • conversion comprises other subcategories “weight conversion”, “currency conversion” or “language converters”, distinct from the "temperature conversion” first category.
  • These three subcategories are a same level category with "temperature conversion”.
  • either one of the weight, currency or language conversion subcategories could be chosen by the application recommendation engine 1 48 as same level subcategories, under the same parent category, with the first application category. More than one same level subcategory could actually be chosen, for instance if the selected one does not comprise enough applications.
  • the application recommendation engine 1 48 will select one or more second application (s) from the subcategory identified in act 331 .
  • the application recommendation server namely the application recommendation engine 1 48
  • the application recommendation engine 1 48 will add the second application(s) to a list of recommended applications for the mobile device 200.
  • the present method will resume with act 31 1 with the next LLC application for API .
  • the application recommendation engine 1 48 will push the list of recommended applications to the mobile device 200 as in act 350.
  • the application recommendation engine 1 48 may select the parent category as the second application category distinct from the first application category. Another possibility would be not to push any second application in such circumstances.
  • the provided list of recommended applications may be screened based on a number of filters. Indeed, provided the list of recommended applications is long, it may not be interesting to flood the mobile device 200 with a large number of recommended applications.
  • filters could be for instance:
  • monitoring agents could be used to monitor a user's behavior and built up a user profile for such a user.
  • the user profile may be used to also screen the list of recommended applications, by matching the list with the knowledge of the user profile.
  • FIG. 3B The present illustration of FIG. 3B is based on selecting the LLC as the first category for API . This is a mere illustration as, alternatively, other subcategories indexing API may be chosen in the hierarchy scheme of the application category database.
  • the present system it may be of interest to monitor the choices of a user when presented with recommended applications using the present method. This will allow an embodiment of the present system to recalculate dynamically the presence criterion and change if needed the type of a category from exclusive to non exclusive or vice versa.
  • the presence criterion could be recalculated after a large number of applications from a first category failed to be selected by users. Such a trend among users could show that the first category type may not be up to date.
  • a second criterion could be added to update the type of category, this second criterion measuring how successful the recommendation can be.
  • the application category manager 1 48 may change the type of that first category CAT1 from "non exclusive" to "exclusive” based on a successful recommendation criterion for a given category that is defined as:
  • N _ recom _ app _ C ATI ⁇ recommendation success ratio for a non exclusive category, i.e. percentage of recommended CATl applications that are actually downloaded by users
  • N_downl_app_CATl number of users who downloaded applications recommended for CATl
  • N_recom_app_CATl number of recommended applications for CATl
  • RECOM_THRESHOLDl threshold below which the recommendation of CATl applications is not considered successful.
  • the second criterion may be checked only after N_downl_app_CATl or N_recom_app_CATl reaches a predefined value. For instance, let's assume that:
  • the sample size for checking the second criterion (2) is 9000.
  • the application recommendation server 140 will then change the weight conversion type from OR to XOR.
  • ⁇ recommendation success ratio for an exclusive category i.e. percentage of recommended applications from CAT2 that are actually downloaded by users having a CATl application, with CATl exclusive and CAT2 same level with CATl ,
  • N_downl_app_CAT2 number of users who downloaded applications recommended for CAT2,
  • N_recom_app_CAT2 number of recommended applications for CAT2 for users having a CATl application, with CATl exclusive and CAT2 same level with CATl ,
  • RECOM_THRESHOLD2 threshold below which the recommendation of applications from CAT2 is not seen as successful.
  • the third criterion (3) may be checked only after N_downl_app_CAT2 or N_recom_app_CAT2 reaches a predefined value.
  • is too low, this could be an indication that users are not interested in same level categories with CATl and the application category manager may switch CATl type from exclusive to non exclusive to recommend CATl applications again.
  • FIG. 6 shows a system 600 in accordance with an embodiment of the present system.
  • the system 600 includes an application recommendation node 690 of a telecommunication network, and hosting an application recommendation.
  • Recommendation node 690 has a processor 610 operationally coupled to a memory 620, a rendering device 630, such as one or more of a display, speaker, etc., a user input device 670, such as a sensor panel, a keyboard, trackball and the likes, and a connection 640 operationally coupled to other entities and nodes of a telecommunication network.
  • a processor 610 operationally coupled to a memory 620
  • a rendering device 630 such as one or more of a display, speaker, etc.
  • a user input device 670 such as a sensor panel, a keyboard, trackball and the likes
  • connection 640 operationally coupled to other entities and nodes of a telecommunication network.
  • connection 640 may be an operable connection between the recommendation node 690 and another node, server or device that has similar elements as mobile node 690, such as the application market place hosted by an application market server, or a mobile device of a user, hosting an application market agent.
  • the memory 620 may be any type of device for storing for instance the application data related to the operating system of the recommendation node, as well as to application data in accordance with the present method.
  • the application data are received by the processor 610 for configuring the processor 610 to perform operation acts in accordance with the present system.
  • the processor 610 so configured becomes a special purpose machine particularly suited for performing in accordance with the present system.
  • the operation acts include:
  • an exclusive category being defined by a presence criterion based on the average number of applications indexed with the exclusive category among a plurality of electronic devices
  • the user input 670 may include a sensor panel as well as a keyboard, mouse, trackball, touchpad or other devices, which may be stand alone or be a part of a system, such as part of a personal computer (e.g., desktop computer, laptop computer, etc.) personal digital assistant, mobile phone, converged device, or other rendering device for communicating with the processor 610 via any type of coupling, such as a wired or wireless coupling.
  • the user input device 670 is operable for interacting with the processor 610 including interaction within a paradigm of a GUI and/or other elements of the present system, such as to enable entry of data by an operator.
  • the recommendation node 690, the processor 610, memory 620, rendering device 630 and/or user input device 670 may all or partly be portions of a computer system or other device, and/or be embedded in one or more servers.
  • the system, device and method described herein address problems in prior art systems.
  • the application recommendation node may push to a mobile device, applications from a second category distinct from a first category when finding out that the first category characterizing an application present on the mobile device is exclusive.
  • the methods of the present system are particularly suited to be carried out by a computer software program, such program containing modules corresponding to one or more of the individual steps or acts described and/or envisioned by the present system.
  • a computer software program such program containing modules corresponding to one or more of the individual steps or acts described and/or envisioned by the present system.
  • Such program may of course be embodied in a computer-readable medium, such as an integrated chip, a peripheral device or memory, such as the memory 620 or other memory coupled to the processor 610.
  • the computer-readable medium and/or memory 620 may be any recordable medium (e.g., RAM, ROM, removable memory, CD-ROM, hard drives, DVD, floppy disks or memory cards) or may be a transmission medium utilizing one or more of radio frequency (RF) coupling, Bluetooth coupling, infrared coupling, etc. Any medium known or developed that can store and/or transmit information suitable for use with a computer system may be used as the computer-readable medium and/or memory 620.
  • RF radio frequency
  • Additional memories may also be used. These memories configure processor 610 to implement the methods, operational acts, and functions disclosed herein.
  • the operation acts may include controlling the rendering device 630 to render elements in a form of a GUI and/or controlling the rendering device 630 to render other information in accordance with the present system.
  • the term "memory” should be construed broadly enough to encompass any information able to be read from or written to an address in the addressable space accessed by a processor. With this definition, information on a network is still within memory 620, for instance, because the processor 610 may retrieve the information from the network for operation in accordance with the present system. For example, a portion of the memory like the application category database 160 understood herein may reside on different nodes of the telecommunication network.
  • the processor 610 is capable of performing operations in response to incoming user actions with and control over the application recommendation server, and executing instructions stored in the memory 620.
  • the processor 610 may be an application-specific or general-use integrated circuit(s).
  • the processor 610 may be a dedicated processor for performing in accordance with the present system or may be a general-purpose processor wherein only one of many functions operates for performing in accordance with the present system.
  • the processor 610 may operate utilizing a program portion, multiple program segments, or may be a hardware device utilizing a dedicated or multi-purpose integrated circuit.
  • the present teaching may be transposable to any electronic device capable of running an application downloaded from an application market place, such as a general purpose computer, a PDA, etc.
  • the present teaching is illustrated with one first application on a user mobile device. The present method could be readily applied to more applications present on the mobile device, by simply repeating the different acts for each application under review of the mobile device.
  • the exemplary embodiment illustrated herein shows the application market place 1 20 and the application category database 160 as part of different systems.
  • the application category database may be under the control of the app store.
  • exemplary user interfaces are provided to facilitate an understanding of the present system.
  • Other user interfaces may be provided and/or elements of one user interface may be combined with another of the user interfaces in accordance with further embodiments of the present system.
  • the section headings included herein are intended to facilitate a review but are not intended to limit the scope of the present system. Accordingly, the specifications and drawings are to be regarded in an illustrative manner and are not intended to limit the scope of the appended claims.
  • any of the disclosed elements may be comprised of hardware portions (e.g., including discrete and integrated electronic circuitry), software portions (e.g., computer programming), and any combination thereof;
  • f) hardware portions may be comprised of one or both of analogue and digital portions
  • any of the disclosed devices or portions thereof may be combined together or separated into further portions unless specifically stated otherwise;
  • the term "plurality of" an element includes two or more of the claimed element, and does not imply any particular range of number of elements; that is, a plurality of elements may be as few as two elements, and may include an immeasurable number of elements.

Abstract

The invention relates to method for recommending a second application to an electronic device over a telecommunication network, the electronic device hosting at least a first application, the second application being indexed with one or more application categories in an application category database, the application category database comprising a plurality of application categories for characterizing applications available to the electronic device, the method being carried out by a recommendation node and comprising the acts of receiving over the telecommunication network metadata describing the first application, indexing the first application with a first application category from the application category database using the received metadata, identifying whether the first application category is exclusive or not, an exclusive category being defined by a presence criterion based on the average number of applications indexed with the exclusive category among a plurality of electronic devices, selecting a second application indexed in the application category database with a second application category distinct from the first application category if the first application category is exclusive, selecting a second application indexed in the application category database with the first application category if the first application category is non exclusive, sending over the telecommunication network metadata describing the second application to the electronic device.

Description

METHOD AND SYSTEM TO RECOMMEND APPLICATIONS FROM AN APPLICATION MARKET
PLACE
FIELD OF THE PRESENT INVENTION:
The present invention generally relates to applications running on an electronic device and more specifically to the recommendation of such applications.
BACKGROUND OF THE PRESENT INVENTION:
With the success of an application market place like the Apple AppStore™, it is anticipated that Operators and Handset manufacturer will come up with application market places of their own. Application market places - app store in short - not only provide visibility to developers and small 3rd party developers, but also provide an opportunity to reach users more directly than the more traditional cooperation with an Operator when getting on board its generic device platform. However, the exponential growth of applications available on market places creates the problem of discovery of interesting applications for most users.
A device user, such as a mobile phone user, or mobile user in short, has to rely heavily upon rating systems to discover the popular applications in the market place. The discovery ends up biased as the current rating systems of all application market places are flawed. Indeed anyone can review and rate a given application, opening the possibility of reviews and ratings from so called users who may not have used and experienced that application . The ratings can also be biased through bashing of an application by competitors offering a similar application and seeking an edge with improper ratings.
Today, when a user is looking for an application, he will need to enter keywords for searching in app stores applications matching these keywords. Using the example of the Apple AppStore™, a user can seek through Itunes™ on his computer for instance or through the AppStore™ application on his iPhone™ an application through a keyword search. Itunes™ will return a list of hits and the user will have to choose, for instance based on ratings, an application matching his own interests. When it comes to recommendations of applications, some store may use solutions similar to what is available today in more general purpose stores like Amazon™. For instance, when a user or customer just bought a first item from the store catalog, the store will recommend a list of additional items purchased by other customers who also bought this first item. In other words, the platform hosting the store will monitor customers' activities and will come up with a list of recommended items assuming customers buying similar items have similar tastes.
Such recommendation techniques are nonetheless of little help with applications found in an app store due to the specific nature of an application. Indeed, a user who installs a certain type of application may not be interested in purchasing a similar application . For instance, if a user has installed a weather application, a mail application or a browser application, he may not be interested in getting a similar type of application, finding one enough. Conversely, if a user purchased an arcade game or a news application, then he may want one more similar application.
There is still a need today to improve the recommendation of applications found in application market places. There is a further need for a novel recommendation engine that takes into account the specificities of applications. SUMMARY OF THE PRESENT METHOD AND SYSTEM:
It is an objective of the present method and system to overcome disadvantages and/or make improvements in the prior art.
To that extent, the present method relates to a method for recommending a second application to an electronic device over a telecommunication network, the electronic device hosting at least a first application, the second application being indexed with one or more application categories in an application category database, the application category database comprising a plurality of application categories for characterizing applications available to the electronic device, the method being carried out by a recommendation node and comprising acts of:
- receiving over the telecommunication network metadata describing the first application, - indexing the first application with a first application category from the application category database using the received metadata,
- identifying whether the first application category is exclusive or not, an exclusive category being defined by a presence criterion based on the average number of applications indexed with the exclusive category among a plurality of electronic devices,
- selecting a second application indexed in the application category database with a second application category distinct from the first application category if the first application category is exclusive,
- selecting a second application indexed in the application category database with the first application category if the first application category is non exclusive,
- sending over the telecommunication network metadata describing the second application to the electronic device.
Thanks to the present method, the user of the electronic device will not receive recommendations for application categories already present on his device. As a strong distinction is made in the present system between applications answering a unique need for the user, and other applications, the recommendation node can identify such applications when hosting on an electronic device. As the user will not need another application from an exclusive category on his device, the push of second applications will be focused on non exclusive applications, that are more likely to be picked up by the user.
The present system also related to a recommendation node for recommending a second application to an electronic device over a telecommunication network, the electronic device hosting at least a first application, the second application being indexed with one or more application categories in an application category database, the application category database comprising a plurality of application categories for characterizing applications available to the electronic device, the recommendation node being arranged to:
- receive metadata describing the first application,
- index the first application with a first application category from the application category database using the received metadata, - identify whether the first application category is exclusive or not, an exclusive category being defined by a presence criterion based on the average number of applications indexed with the exclusive category among a plurality of electronic devices,
- select a second application indexed in the application category database with a second application category distinct from the first application category if the first application category is exclusive,
- select a second application indexed in the application category database with the first application category if the first application category is non exclusive,
- send over the telecommunication network metadata describing the second application to the electronic device.
The present system also relates to a telecommunication system comprising:
- an electronic device hosting at least a first application,
- an application category database comprising a plurality of application categories for indexing applications available to the electronic device,
- a recommendation node for recommending a second application to the electronic device, the second application being indexed with one or more application categories in the application category database, the recommendation node being arranged to:
- receive metadata describing the first application,
- index the first application with a first application category from the application category database using the received metadata,
- identify whether the first application category is exclusive or not, an exclusive category being defined by a presence criterion based on the average number of applications indexed with the exclusive category among a plurality of electronic devices,
- select a second application indexed in the application category database with a second application category distinct from the first application category if the first application category is exclusive, - select a second application indexed in the application category database with the first application category if the first application category is non exclusive,
- send over the telecommunication network metadata describing the second application to the electronic device.
The present system also relates to a computer readable carrier including computer program instructions that cause a computer to implement a method for recommending a second application to an electronic device over a telecommunication network, the electronic device hosting at least a first application, the second application being indexed with one or more application categories in an application category database, the application category database comprising a plurality of application categories for characterizing applications available to the electronic device, the computer readable carrier comprising instructions for:
- receiving over the telecommunication network metadata describing the first application,
- indexing the first application with a first application category from the application category database using the received metadata,
- identifying whether the first application category is exclusive or not, an exclusive category being defined by a presence criterion based on the average number of applications indexed with the exclusive category among a plurality of electronic devices,
- selecting a second application indexed in the application category database with a second application category distinct from the first application category if the first application category is exclusive,
- selecting a second application indexed in the application category database with the first application category if the first application category is non exclusive,
- sending over the telecommunication network metadata describing the second application to the electronic device.
BRIEF DESCRIPTION OF THE DRAWINGS: The present system and method are explained in further detail, and by way of example, with reference to the accompanying drawings wherein:
FIG. 1 shows an exemplary embodiment of the present system,
FIG. 2 shows an exemplary embodiment of an electronic device in the present system,
FIG. 3A shows an exemplary flowchart according to an embodiment of the present method,
FIG. 3B shows an exemplary flowchart according to an embodiment of the present method,
FIG. 4 shows an exemplary flowchart according to an embodiment of the present method,
FIG. 5 shows an exemplary embodiment of the application category database of the present system, and;
FIG. 6 shows another exemplary embodiment of the present system.
DETAILED DESCRIPTION OF THE PRESENT SYSTEM:
The following are descriptions of exemplary embodiments that when taken in conjunction with the drawings will demonstrate the above noted features and advantages, and introduce further ones.
In the following description, for purposes of explanation rather than limitation, specific details are set forth such as architecture, interfaces, techniques, etc., for illustration. However, it will be apparent to those of ordinary skill in the art that other embodiments that depart from these details would still be understood to be within the scope of the appended claims.
Moreover, for the purpose of clarity, detailed descriptions of well-known devices, systems, and methods are omitted so as not to obscure the description of the present system. Furthermore, routers, servers, nodes, base stations, gateways or other entities in a telecommunication network are not detailed as their implementation is beyond the scope of the present system and method.
For purposes of simplifying a description of the present system, the terms "operatively coupled", "coupled", and formatives thereof as utilized herein refer to a connection between devices and/or portions thereof that enables operation in accordance with the present system. For example, an operative coupling may include one or more of a wired connection and/or a wireless connection between two or more devices that enables a one and/or two-way communication path between the devices and/or portions thereof. For example, an operative coupling may include a wired and/or wireless coupling to enable communication between an application market server, the application recommendation node of the present system and one or more user devices.
Unless specified otherwise, the exemplary embodiment here after will be described in its application to a mobile device operable to select and download via a telecommunication network applications from an application market place. The mobile device will also be referred to as a user device or electronic device. An application market client hosted by the mobile device may be used to facilitate the selection and download of applications.
The present exemplary embodiment is in no way a limitation of the scope of the present method and system as the present teachings could be implemented for other electronic devices, such as computers, laptops, PDAs (Personal Digital Assistants) , set top boxes and the like. More generally any electronic device having a connection for accessing distant application market servers over a telecommunication network for downloading applications may benefit form the present teachings.
The expressions application or application program (AP) in the present description may be taken in a very general sense, and may be seen as any tool that functions and is operated by means of a computer, with the purpose of performing one or more functions or tasks for a user or another application program. To interact with and control an AP, a graphical user interface (GUI) of the AP may be displayed on the mobile device display.
In addition, it should be expressly understood that the drawings are included for illustrative purposes and do not represent the scope of the present system.
FIG. I shows an illustration of an exemplary embodiment of the present system. A telecommunication device 100, illustrated as mentioned before as a mobile device, may access through a telecommunication network (not shown on FIG. 1 ) an application market place - or app store - hosted by an application market server 1 20. The Apple AppStore™ is a known example of such an application market place. Such a server 1 20 may store a large number of applications that can be downloaded to the mobile device 100 over telecommunication network. Subsequent to its download, the user may invoke and execute the application added to his device 100. Today a large number of such applications are available and can performs tasks varying from games, location based services, call services, news, social network interfaces to music and video players and the like.
An application recommendation server 1 40 - or ARS - may be available in the telecommunication network to provide application recommendations in the present system. The present application recommendation server 1 40 acts as a recommendation node in the telecommunication network and may comprise a number of parts or components as follows:
- application crawlers 1 42 for discovering and collecting application metadata from the application market server 1 20 to which the recommendation server 1 40 is operatively connected to,
- an application category manager 144 for associating (i.e. tagging) each application discovered from the application market server 1 20 with one or more application categories. The tagging of applications may be stored in an application category database 1 60 and will be illustrated later on in this description,
- an application category finder 146 that shall find, using the application category database 1 60, for each application hosted by the user device 100, its categories and for each category its type (exclusive or not) as detailed later on,
- an application recommendation engine 1 48 for building a list of recommended applications, using the application category finder 1 46, and pushing this list to the user device 100.
Application crawlers 1 42 and the application manager 1 44 correspond to the interface of the application recommendation server 1 40 with the application market server 1 20, while the application category finder 1 46 and the application recommendation engine 1 48 correspond to the interface with the mobile device 100. One may note that illustrating the ARS as a four part server is a mere illustration highlighting the different functionalities of the present ARS. This is in no way limiting as the four parts may be one of the same software or hosted on different elements of the application recommendation server 1 40. For instance, the crawlers 1 42 may be hosted on different nodes of the present telecommunication network and may vary depending on the application market place being discovered.
FIG. 2 is an illustration of an exemplary embodiment of a user device used in the present system. Mobile device 200 may comprise a display 240 for presenting a Graphical User Interface (GUI) of an application program to a user of this device. A processor 210 (or Computational Processing Unit) is also provided for controlling and rendering the GUI presented to the display 240. The display 240 may be a touch panel. Touch panel 240 can be seen as an input device allowing interactions with a finger of a user or other devices such as a stylus. Such an input device can, for example, be used to make selections of portions of the GUI. The input received from a user's touch is sent to the processor 210 that interprets the touches in accordance with the application program corresponding to the GUI. For example, the processor 210 can initiate a task, i.e. a control of the AP, in accordance with a particular touch. More generally, processor 210 is provided for running the Operating System (OS) of the mobile device 200.
A touch panel or keyboard, or keypad (not shown in FIG. 2) may also be provided to control one or more APs running on the processor 21 0 of mobile device 200.
An application store client 220 (ASC) may be provided for interaction with the application market place 1 20 of FIG. 1 . Such a client, like the AppStore™ client available today on an iPhone™, will allow the user to search and browse the different applications available for download. This ASC 220 will also deal with payments for applications that necessitate such a payment prior to download. In the present illustration of FIG. 2, a number of applications, for instance API 231 , AP2 232 and AP3 233 have been downloaded on the mobile device 200 by the user.
Thanks to the present system, once a first category describing a first application available on the user device 200 is retrieved from the application category database 1 60, the type of application category will be identified based on a presence criterion. In the present system, application categories may be exclusive or non exclusive. When most users only need a limited number of applications, if not just one, from a given category CATl , this category CATl will be of the exclusive type. In other words, a few applications from an exclusive category will serve the need of most users. Ideally, an application from an exclusive category will provide such functionalities that most users will only need one such application. For instance, an email application, a weather application, a calculator application ... are generally present only once on a mobile device. A user may not need a second similar application frdm the same category as all the needed functionalities are already available with only one application from the exclusive category. Conversely, for a news application or a sports application, a user may require several such applications. As such exemplary applications rely heavily on a content source, a user may need several news or sports applications to reach different content sources and get the most up to date information.
In the present system, an exclusive category is defined by a presence criterion measuring the average number of applications tagged with the exclusive category among a plurality of electronic devices. As will be explained here after, the notion of exclusivity may be defined once for all (static type) or may evolve over time depending on a feedback on the selections of users from the recommended applications. The presence criterion helps measure whether a user, "on average", needs only one application of a category.
FIG. 3A is an illustration of an exemplary embodiment of the present method. In a preliminary act 300, the user of the mobile device 200 will register with an application market place like the Apple AppStore™ for instance. This registration will give the user access to all applications available for download to his mobile device 200. The registration and downloads may be performed thanks to a data connection over a telecommunication network, for instance using a web browser or the application store client ASC 220.
The user then may browse the application market place for new applications or use search tools, like a keywords tool, category searches, most popular applications, etc. The user may select a first application, say for instance AP I 231 of FIG. 2, and download it to his device. Such a first application may be associated with metadata describing the first application. The metadata may be for instance keywords describing the application functionalities, or application categories the application market place may be using for indexing and searching applications.
In a further act 305, for instance once the first application is installed on the user device 200, the application recommendation server 140 will receive (directly or indirectly) from the user device 200 the metadata, or part of it, describing the first application. The present application recommendation server 140 may be seen as a recommendation engine for pushing interesting applications to a user. Such a service may be accessed voluntarily (directly) by the user through for instance another application on his user device or a browser. The metadata may also be pushed to the application recommendation server 1 40 by the application market place 1 20 itself once the user has downloaded the first application. In this exemplary embodiment of the present system, the application recommendation server 1 40 will receive the metadata for the first application indirectly from the user device 200, as the download or payment for the first application will trigger the sending of the metadata from the application market place 1 20 to the application recommendation server 1 40.
In a further embodiment of the present system, the application recommendation server 140 may be part of or operatively coupled to the application market place 1 20. With such an implementation, the application market place will be able to directly recommend applications to the mobile device once a user has chosen the first application. An interface like the one known from the Amazon™ platform may be proposed with the present system. A user having purchased a first application will be presented with a list of recommended second applications to download, the list of second applications being generated with the present method.
In a further act 310 of the present method, the application recommendation server 1 40 will associate the first application API with one or more application categories to characterize API . To do so, the application category finder 146 will use the received metadata to retrieve from the database 1 60 at least the one or more application categories. The application category database 1 60 may comprise a list of preexisting categories describing most existing applications. Examples of such a list are available from existing application market places like the AppStore™. This list can be further completed with additional categories used for instance in other application market places.
In a further embodiment described later on and corresponding to FIG. 4, all applications provided by an application market place may be parsed (using application crawlers 1 42) and tagged (using the application category manager 144) in the application category database 1 60 prior to any recommendation of applications. The parsing and tagging may be done periodically for new applications or as updates of existing applications becoming available in the application market place 1 20. This may be referred to as a pretagging of the applications.
Provided API was downloaded by the user from the application market place 1 20, first application categories describing API can be identified directly from the database 160 using the received API metadata. If the first application is not tagged yet (new application downloaded after the most recent tagging of the application market place or downloaded from another app store), it can be tagged "on the fly" to find a match with categories stored in the application category database 1 60. To do so, the received metadata may be parsed using Natural Language Processing (NPL) and semantic tools.
In a subsequent act 315, the application recommendation server 1 40 will check for a first one of the retrieved first application categories to determine if its type is exclusive or not. As with the pretagging or tagging "on the fly" of the applications, the determination of the exclusive/non exclusive type may be either performed (on the fly) after the first application category has been identified or prior to any recommendation and stored in the application category database 1 60 (detailed with FIG. 4) .
Whatever the exclusive/non exclusive determination may be, the exclusive type of a category is defined based on a presence criterion. Such a presence criterion may be based on statistics computed over a given panel of users of the application market place 1 20. In accordance with an embodiment of the present
( 1 ) system, the presence criterion could be defined for a given application category CATl as:
a > PRESENCE_ THRESHOLD
wherein:
N _ user _ sin ale _ app _ CATl
a = , wherein
N _ user _ app _ CATl
a: exclusivity ratio, i.e. the percentage of users having only N applications tagged with CATl on their device,
N: an integer greater or equal to 1 , and defining the exclusivity parameter,
N_user_single_app_CATl : number of users having only one single application tagged with CATl
N_user_app_CATl : number of users having applications tagged with
CATl
PRESENCE_THRESHOLD: threshold beyond which users are considered to need on average only N applications from the CATl category.
N can be defined as the exclusivity parameter, the closer N is to one, the more unique the user need will become. Such data may be collected directly from the application market place 1 20 by selecting a plurality of users and reviewing their application downloads over a period of time.
USAGE_THRESHOLD could be set, for instance, to 60% and N=l . Any application category with an exclusivity ratio a greater than 60% will be defined as an exclusive category. This means that more than 60% of a selected panel of users only have N= l application from the category CATl on their device. One can conclude that recommending a second category CATl application to users would prove useless due to the exclusive character of the CATl category.
Conversely any application category with an exclusivity ratio a lower then USAGE_THRESHOLD will be considered as non exclusive. The mail, weather or browser categories could be seen for instance as exclusive as most users will only need one application tagged with such application categories to get the service they need. A sports category can be seen as non exclusive as users have various interests and like to get reports from different sources. Thus they can download a large number of sports applications for getting the most up to date info on their favorite sports.
Provided the first application category is non exclusive (answer no to act 31 5) , the application recommendation engine 148 of the ARS 1 40 will select, in the application category database 1 60, one or more second application(s) AP2 associated/tagged with the same first application category (act 325) .
If the first application category is found exclusive (answer yes to act 31 5), the application recommendation engine 1 48 will select, from the application category database 1 60, one or more second application (s) AP2 associated/tagged with a second application category distinct from the first application category (act 330) . The choice of the second category may be random. Alternatively it may be chosen on a user's profile, or based on a category related to the first category but nevertheless distinct. An example of such a choice for a second category will be illustrated in relation to FIG. 3B.
In an additional act 335, the application recommendation engine 1 48 will add the selected second application (s) AP2 to a list of recommended applications for the mobile device 200. Provided more categories associated to AP I are left to be checked (answer yes to act 340), the present method will resume with act 310 with the next application category associated to AP I . Once no more first application categories can be found (answer no to act 340) , the application recommendation engine 1 48 will push the list of recommended applications to the mobile device 200 as in act 350.
In an alternative embodiment of the present method, the application recommendation engine 1 48 may push the recommended application with act 335, each time applications are found in either act 330 or 325.
Thanks to the present method, the application recommendation server 1 40 will only push similar applications to a user when his applications (on his device) are associated to non exclusive categories. Furthermore, if any application tagged with an exclusive type of category is present on the mobile device 200, the present application recommendation server 140 will not push for recommendation any other applications from the same category. Thus the user is not bothered with recommendation for applications rendering services he is already familiar with.
FIG. 4 illustrates an additional embodiment of the present system, in order to index, i.e. tag, the applications available from the application market place 1 20 in the application category database 1 60. This corresponds to the pretagging mentioned before, prior to any recommendation. This preliminary indexing or tagging is carried out by the applications crawlers 1 42 and the application category manager 1 44 of the application recommendation server 1 40.
In a preliminary act 400, the application market place 1 20 may render its application data available to the application recommendation server 1 40. Furthermore, the application category database 1 60 may be populated with a number of categories that are made available for instance from existing application market places. An example of a tree like organization of the application category database 1 60 is illustrated in FIG. 5 and will be described here after.
In a subsequent act 405, the application crawlers will discover and collect for each application of the application market place 1 20, metadata describing the application. For each application API , in a further act 410, the application category manager 1 44 will parse its metadata.
In a further act 41 5, the application category manager 1 44 will check if one application category, as predefined in the application category database 1 60, matches the metadata describing the first application API . Provided there is one match (answer yes to act 41 5), the first application will be indexed under, i.e. associated with, the matched category in a further act 430. Application market places may already provide metadata comprising categories. This allows an easy tagging of all the available applications.
Provided no match is found (answer no to act 41 5) , the use of semantics or NLP will help in a further act 420 to interpret the AP I metadata. The application category manager 1 44 will check again if a match can be found with the existing categories of application category database 1 60 thanks to the help of the semantic and NLP approach applied to API metadata. If an application category is found (answer Yes to act 425), act 430 will be carried out as well.
As several application categories can describe a same application, the tagging of acts 415 and 425 may lead to several application categories matching the first application metadata. Once the metadata under review has been tagged, the application category manager 144 will check if more metadata for the first application is left to be reviewed. Provided so (answer yes to act 435), the tagging will continue with act 410 for the first application as long as more metadata is left to be parsed.
Once all the metadata for a first application has been checked against existing categories of the application category database 1 60 (answer no to act 435), the first application API will be considered as tagged/indexed (act 440) and the present method will resume with act 405 for another application AP2.
In the present illustration of FIG. 3A and 4, the categories are not necessarily interrelated. In a further embodiment of the present system, a taxonomic scheme may be used to sort out in a hierarchical manner/scheme the application categories in the application category database 1 60. An illustration of such a hierarchy or treelike organization is illustrated in FIG. 5. In such a taxonomy of categories, different level of categories are available, from a more general down to a more refined category as one navigates down the branch of the tree. For instance, in the example of FIG. 5, an email application is in the subcategory email which is part of the following branch:
BRANCHJ :
utilities -> phone services -> software based -> messaging -> email (XOR) The email application category can also be found down another branch:
BRANCH_2:
utilities -> phone services -> software based -> contacts -> email (XOR)
IN FIG. 5, XOR is used to denote an exclusive type of application category. As can be seen from this taxonomy illustration, a number of categories, based on the presence criterion, are defined as exclusive, like the email, SMS, MMS, phonebook, calendar, and temperature conversion. Other categories are non exclusive (denoted as OR categories) . In the present system, a category is either exclusive or non exclusive. It can, nonetheless, change type over time if a dynamic update of the type is implemented, as illustrated later on.
With such a treelike organization to the application category database 1 60, applications available from an application market place 1 20 will be tagged with application categories of different levels. The categories may be part of a same branch in the category hierarchy and/or belong to different branches. A direct consequence of the treelike organization is that two contiguous categories in a same branch (a subcategory and a root category immediately above in a given branch) are interrelated. Furthermore two subcategories under the same root (or parent) category are also interrelated through the parent category. Using the example of FIG. 5, the "SMS", "MMS" and "email" subcategories are under the same parent subcategory "messaging". They all describe applications allowing users to exchange messages. The "email" and "messaging" categories, contiguous in the BRANCH_l illustrated here above, also correspond to similar applications.
Taking into account this taxonomy of the application category database 1 60, an additional embodiment of the present method is illustrated in FIG. 3B. This additional embodiment relies upon the similarities between subcategories in a branch and/or under the same parent category. We assume that the pretagging of FIG. 4 has been carried out prior to any recommendation with the present method.
In FIG. 3B, the same acts bear the same number as in FIG. 3A. After carrying out the acts 300 and 305 as in FIG. 3A, the application recommendation server 1 40 will, in a further act 31 1 , associate one more application categories with AP I , using the received metadata. To do so, it may retrieve directly from the application category database 1 60 the application categories matching the first application metadata, since the applications from the application market place 1 20 have been pretagged (as illustrated in FIG. 4) . In the present additional embodiment, the application recommendation server 1 40 will select among the retrieved categories the lowest level category LLC as the first application category. In a treelike organization of categories, categories and subcategories can be described with a rank in the hierarchy which corresponds to their position in a branch. For instance, in BRANCh - the categories "SMS", "MMS" and "email" are of rank 5 if the category "utilities" is of rank 1 . The "calendar" category, under the same "utility" top category is of rank 4. The lowest level subcategory corresponds to the subcategory with the highest rank.
If more than one lowest level subcategories can be found (i.e. more than one subcategories sharing the highest category rank), the acts 31 1 to 340 will be repeated for all found subcategories.
In a subsequent act 315, the application recommendation server 140 will check whether the lowest level subcategory is exclusive or not, using the presence criterion illustrated here before. Provided the lowest level category is non exclusive (answer no to act 315), the application recommendation engine 148 of the application recommendation server 140 will select, in the application category database 160, one or more second applications AP2 associated with the same lowest level application category (act 325).
If the first application category is found exclusive (answer yes to act 315), the application recommendation engine 148 will select in a further act 331 a second application category distinct from the first application category. Using again the treelike organization of the application category database 1 60, provided the parent directory of LLC comprises one other subcategory distinct from LLC, the second application category may be chosen as the other subcategory if at least one application is indexed with the other subcategory. This condition ensures that applications are available for recommendation with this choice of a second application category.
In other words, the second application category may be chosen as:
- a same level category with (but distinct from LLC) the lowest level category LLC, and,
- directly under the immediate parent category.
Using the example of FIG. 5, if the first application category is "temperature conversion", this subcategory will be found as an exclusive category. The immediate parent category is "conversion", which comprises other subcategories "weight conversion", "currency conversion" or "language converters", distinct from the "temperature conversion" first category. These three subcategories are a same level category with "temperature conversion". In this additional embodiment of the present system, either one of the weight, currency or language conversion subcategories could be chosen by the application recommendation engine 1 48 as same level subcategories, under the same parent category, with the first application category. More than one same level subcategory could actually be chosen, for instance if the selected one does not comprise enough applications.
In a further act 332, the application recommendation engine 1 48 will select one or more second application (s) from the subcategory identified in act 331 .
In a further act 335, the application recommendation server, namely the application recommendation engine 1 48, will add the second application(s) to a list of recommended applications for the mobile device 200. Provided more categories LLC are associated to the first application (answer yes to act 340), the present method will resume with act 31 1 with the next LLC application for API . Once no more first application categories can be found (answer no to act 340) , the application recommendation engine 1 48 will push the list of recommended applications to the mobile device 200 as in act 350.
When no same level subcategory can be found in act 331 , or if no application can be found in the same level subcategory in act 332, alternatively, the application recommendation engine 1 48 may select the parent category as the second application category distinct from the first application category. Another possibility would be not to push any second application in such circumstances.
The provided list of recommended applications (resulting from act 350 in both FIGs. 3A and 3B) may be screened based on a number of filters. Indeed, provided the list of recommended applications is long, it may not be interesting to flood the mobile device 200 with a large number of recommended applications. Such filters could be for instance:
- most popular applications among the list of recommended applications, - best user rating among the list of recommended applications,
- free applications among the list of recommended applications, etc. Furthermore, monitoring agents (not shown in FIG. 1 ) could be used to monitor a user's behavior and built up a user profile for such a user. Provided such a user requests a recommendation for applications from the present application recommendation server 1 40, the user profile may be used to also screen the list of recommended applications, by matching the list with the knowledge of the user profile.
The present illustration of FIG. 3B is based on selecting the LLC as the first category for API . This is a mere illustration as, alternatively, other subcategories indexing API may be chosen in the hierarchy scheme of the application category database.
In an additional embodiment of the present system, it may be of interest to monitor the choices of a user when presented with recommended applications using the present method. This will allow an embodiment of the present system to recalculate dynamically the presence criterion and change if needed the type of a category from exclusive to non exclusive or vice versa. The presence criterion could be recalculated after a large number of applications from a first category failed to be selected by users. Such a trend among users could show that the first category type may not be up to date. Additionally or alternatively, a second criterion could be added to update the type of category, this second criterion measuring how successful the recommendation can be.
For instance, let's assume that the first category is of the non exclusive type, as defined by the presence criterion. Nevertheless, after recommending a number of applications from the same first category CAT1 to a plurality of users, very few users end up downloading these recommended applications. In response, the application category manager 1 48 may change the type of that first category CAT1 from "non exclusive" to "exclusive" based on a successful recommendation criterion for a given category that is defined as:
β < RECOM _THRESHOLD1 (2) wherein:
N downl app CAH
β = , wherein
N _ recom _ app _ C ATI β: recommendation success ratio for a non exclusive category, i.e. percentage of recommended CATl applications that are actually downloaded by users, N_downl_app_CATl : number of users who downloaded applications recommended for CATl ,
N_recom_app_CATl : number of recommended applications for CATl , RECOM_THRESHOLDl : threshold below which the recommendation of CATl applications is not considered successful.
In order to have a significant sample before changing the type for the first category CATl , the second criterion may be checked only after N_downl_app_CATl or N_recom_app_CATl reaches a predefined value. For instance, let's assume that:
- after 10000 recommendations of "weight conversion" application (OR category according to FIG. 5), the non exclusive category recommendation success ratio is below RECOM_THRESHOLDl = 5%
- the sample size for checking the second criterion (2) is 9000.
The application recommendation server 140 will then change the weight conversion type from OR to XOR.
With a treelike organization of the application category database 1 60 as described in relation with FIGs. 3B and 5, it may be interesting to monitor the number of downloaded applications from a subcategory CAT2 on the same level with an exclusive category CATl . Provided this number is too low, it could be interesting to switch the type of CATl from exclusive to non exclusive. The criterion could be defined as follows:
γ < RECOM _ THRESHOLD2 (3) wherein:
N _ downl _ app _ C AT2
γ = , wherein
N _ recom _ app _ CAT2
γ recommendation success ratio for an exclusive category, i.e. percentage of recommended applications from CAT2 that are actually downloaded by users having a CATl application, with CATl exclusive and CAT2 same level with CATl ,
N_downl_app_CAT2: number of users who downloaded applications recommended for CAT2,
N_recom_app_CAT2: number of recommended applications for CAT2 for users having a CATl application, with CATl exclusive and CAT2 same level with CATl ,
RECOM_THRESHOLD2: threshold below which the recommendation of applications from CAT2 is not seen as successful.
As with the second criterion (2), in order to have a significant sample before changing the type for the first category CATl , the third criterion (3) may be checked only after N_downl_app_CAT2 or N_recom_app_CAT2 reaches a predefined value.
Provided γ is too low, this could be an indication that users are not interested in same level categories with CATl and the application category manager may switch CATl type from exclusive to non exclusive to recommend CATl applications again.
FIG. 6 shows a system 600 in accordance with an embodiment of the present system. The system 600 includes an application recommendation node 690 of a telecommunication network, and hosting an application recommendation. Recommendation node 690 has a processor 610 operationally coupled to a memory 620, a rendering device 630, such as one or more of a display, speaker, etc., a user input device 670, such as a sensor panel, a keyboard, trackball and the likes, and a connection 640 operationally coupled to other entities and nodes of a telecommunication network. The connection 640 may be an operable connection between the recommendation node 690 and another node, server or device that has similar elements as mobile node 690, such as the application market place hosted by an application market server, or a mobile device of a user, hosting an application market agent.
The memory 620 may be any type of device for storing for instance the application data related to the operating system of the recommendation node, as well as to application data in accordance with the present method. The application data are received by the processor 610 for configuring the processor 610 to perform operation acts in accordance with the present system. The processor 610 so configured becomes a special purpose machine particularly suited for performing in accordance with the present system. The operation acts include:
- receiving over the telecommunication network metadata describing the first application,
- indexing the first application with a first application category from the application category database using the received metadata,
- identifying whether the first application category is exclusive or not, an exclusive category being defined by a presence criterion based on the average number of applications indexed with the exclusive category among a plurality of electronic devices,
- selecting a second application indexed in the application category database with a second application category distinct from the first application category if the first application category is exclusive,
- selecting a second application indexed in the application category database with the first application category if the first application category is non exclusive,
- sending over the telecommunication network metadata describing the second application to the electronic device.
The user input 670 may include a sensor panel as well as a keyboard, mouse, trackball, touchpad or other devices, which may be stand alone or be a part of a system, such as part of a personal computer (e.g., desktop computer, laptop computer, etc.) personal digital assistant, mobile phone, converged device, or other rendering device for communicating with the processor 610 via any type of coupling, such as a wired or wireless coupling. The user input device 670 is operable for interacting with the processor 610 including interaction within a paradigm of a GUI and/or other elements of the present system, such as to enable entry of data by an operator.
Clearly the recommendation node 690, the processor 610, memory 620, rendering device 630 and/or user input device 670 may all or partly be portions of a computer system or other device, and/or be embedded in one or more servers. The system, device and method described herein address problems in prior art systems. In accordance with an embodiment of the present system, the application recommendation node may push to a mobile device, applications from a second category distinct from a first category when finding out that the first category characterizing an application present on the mobile device is exclusive.
The methods of the present system are particularly suited to be carried out by a computer software program, such program containing modules corresponding to one or more of the individual steps or acts described and/or envisioned by the present system. Such program may of course be embodied in a computer-readable medium, such as an integrated chip, a peripheral device or memory, such as the memory 620 or other memory coupled to the processor 610.
The computer-readable medium and/or memory 620 may be any recordable medium (e.g., RAM, ROM, removable memory, CD-ROM, hard drives, DVD, floppy disks or memory cards) or may be a transmission medium utilizing one or more of radio frequency (RF) coupling, Bluetooth coupling, infrared coupling, etc. Any medium known or developed that can store and/or transmit information suitable for use with a computer system may be used as the computer-readable medium and/or memory 620.
Additional memories may also be used. These memories configure processor 610 to implement the methods, operational acts, and functions disclosed herein. The operation acts may include controlling the rendering device 630 to render elements in a form of a GUI and/or controlling the rendering device 630 to render other information in accordance with the present system.
Moreover, the term "memory" should be construed broadly enough to encompass any information able to be read from or written to an address in the addressable space accessed by a processor. With this definition, information on a network is still within memory 620, for instance, because the processor 610 may retrieve the information from the network for operation in accordance with the present system. For example, a portion of the memory like the application category database 160 understood herein may reside on different nodes of the telecommunication network. The processor 610 is capable of performing operations in response to incoming user actions with and control over the application recommendation server, and executing instructions stored in the memory 620. The processor 610 may be an application-specific or general-use integrated circuit(s). Further, the processor 610 may be a dedicated processor for performing in accordance with the present system or may be a general-purpose processor wherein only one of many functions operates for performing in accordance with the present system. The processor 610 may operate utilizing a program portion, multiple program segments, or may be a hardware device utilizing a dedicated or multi-purpose integrated circuit.
Finally, the above discussion is intended to be merely illustrative of the present system and should not be construed as limiting the appended claims to any particular embodiment or group of embodiments. Thus, while the present system has been described with reference to exemplary embodiments of a mobile device, it should also be appreciated that numerous modifications and alternative embodiments may be devised by those having ordinary skill in the art without departing from the broader and intended spirit and scope of the present system as set forth in the claims that follow.
Indeed the present teaching may be transposable to any electronic device capable of running an application downloaded from an application market place, such as a general purpose computer, a PDA, etc. Additionally, the present teaching is illustrated with one first application on a user mobile device. The present method could be readily applied to more applications present on the mobile device, by simply repeating the different acts for each application under review of the mobile device.
Furthermore, the exemplary embodiment illustrated herein shows the application market place 1 20 and the application category database 160 as part of different systems. As an application market place may itself offer the present recommendation method, the application category database may be under the control of the app store.
Further, while exemplary user interfaces are provided to facilitate an understanding of the present system. Other user interfaces may be provided and/or elements of one user interface may be combined with another of the user interfaces in accordance with further embodiments of the present system. The section headings included herein are intended to facilitate a review but are not intended to limit the scope of the present system. Accordingly, the specifications and drawings are to be regarded in an illustrative manner and are not intended to limit the scope of the appended claims.
In interpreting the appended claims, it should be understood that:
a) the words "comprising" or "including" do not exclude the presence of other elements or acts than those listed in a given claim;
b) the word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements;
c) any reference signs in the claims do not limit their scope;
d) several "means" may be represented by the same item or hardware or software implemented structure or function;
e) any of the disclosed elements may be comprised of hardware portions (e.g., including discrete and integrated electronic circuitry), software portions (e.g., computer programming), and any combination thereof;
f) hardware portions may be comprised of one or both of analogue and digital portions;
g) any of the disclosed devices or portions thereof may be combined together or separated into further portions unless specifically stated otherwise;
h) no specific sequence of acts or steps is intended to be required unless specifically indicated; and
i) the term "plurality of" an element includes two or more of the claimed element, and does not imply any particular range of number of elements; that is, a plurality of elements may be as few as two elements, and may include an immeasurable number of elements.

Claims

CLAIMS What is claimed is:
1 . A method for recommending a second application to an electronic device over a telecommunication network, the electronic device hosting at least a first application, the second application being indexed with one or more application categories in an application category database, the application category database comprising a plurality of application categories for characterizing applications available to the electronic device, the method being carried out by a recommendation node and comprising acts of:
- receiving over the telecommunication network metadata describing the first application,
- indexing the first application with a first application category from the application category database using the received metadata,
- identifying whether the first application category is exclusive or not, an exclusive category being defined by a presence criterion based on the average number of applications indexed with the exclusive category among a plurality of electronic devices,
- selecting a second application indexed in the application category database with a second application category distinct from the first application category if the first application category is exclusive,
- selecting a second application indexed in the application category database with the first application category if the first application category is non exclusive,
- sending over the telecommunication network metadata describing the second application to the electronic device.
2. The method of claim I , wherein the first and the second applications are applications available from a same application market server, the method further comprising a preliminary act of indexing a plurality of the applications available from the application market server with one or more application categories in the application category database, using metadata describing the applications.
3. The method of claim 2, wherein the act of indexing the first application with a first category comprises an act of retrieving in the application category database the first category indexed with the first application using the received metadata.
4. The method of claim 1 , wherein the application categories are organized in the application category database following a hierarchical scheme, the first category being a subcategory of a parent directory comprising one other subcategory distinct from the first category, the act of selecting the second application comprising an act of selecting the other subcategory as the second application category if at least one application is indexed with the other subcategory.
5. The method of claim 4, wherein the act of selecting the second application comprises an act of selecting the parent category as the second application category if no application is indexed with the other subcategory.
6. A recommendation node for recommending a second application to an electronic device over a telecommunication network, the electronic device hosting at least a first application, the second application being indexed with one or more application categories in an application category database, the application category database comprising a plurality of application categories for characterizing applications available to the electronic device, the recommendation node being arranged to:
- receive metadata describing the first application,
- index the first application with a first application category from the application category database using the received metadata,
- identify whether the first application category is exclusive or not, an exclusive category being defined by a presence criterion based on the average number of applications indexed with the exclusive category among a plurality of electronic devices, - select a second application indexed in the application category database with a second application category distinct from the first application category if the first application category is exclusive,
- select a second application indexed in the application category database with the first application category if the first application category is non exclusive,
- send over the telecommunication network metadata describing the second application to the electronic device.
7. The node of claim 6, wherein the first and the second applications are applications available from a same application market server, the node being arranged to perform a preliminary act of indexing a plurality of the applications available from the application market server with one or more application categories in the application category database.
8. The node of claim 7, further arranged to retrieve in the application category database the first category indexed with the first application using the received metadata.
9. The node of claim 6, wherein the application categories are organized in the application category database following a hierarchical scheme, the first category being a subcategory of a parent directory comprising one other subcategory distinct from the first category, the node being further arranged to select the other subcategory as the second application category if at least one application is indexed with the other subcategory.
10. The node of claim 9, further arranged to select the parent category as the second application category if no application is indexed with the other subcategory.
1 l . A telecommunication system comprising
- an electronic device hosting at least a first application, - an application category database comprising a plurality of application categories for indexing applications available to the electronic device,
- a recommendation node for recommending a second application to the electronic device, the second application being indexed with one or more application categories in the application category database, the recommendation node being arranged to:
- receive metadata describing the first application,
- index the first application with a first application category from the application category database using the received metadata,
- identify whether the first application category is exclusive or not, an exclusive category being defined by a presence criterion based on the average number of applications indexed with the exclusive category among a plurality of electronic devices,
- select a second application indexed in the application category database with a second application category distinct from the first application category if the first application category is exclusive,
- select a second application indexed in the application category database with the first application category if the first application category is non exclusive,
- send over the telecommunication network metadata describing the second application to the electronic device.
1 2. A computer readable carrier including computer program instructions that cause a computer to implement a method for recommending a second application to an electronic device over a telecommunication network, the electronic device hosting at least a first application, the second application being indexed with one or more application categories in an application category database, the application category database comprising a plurality of application categories for characterizing applications available to the electronic device, the computer readable carrier comprising instructions for:
- receiving over the telecommunication network metadata describing the first application, - indexing the first application with a first application category from the application category database using the received metadata,
- identifying whether the first application category is exclusive or not, an exclusive category being defined by a presence criterion based on the average number of applications indexed with the exclusive category among a plurality of electronic devices,
- selecting a second application indexed in the application category database with a second application category distinct from the first application category if the first application category is exclusive,
- selecting a second application indexed in the application category database with the first application category if the first application category is non exclusive,
- sending over the telecommunication network metadata describing the second application to the electronic device. 1 3. The carrier of claim 1 2, wherein the first and the second applications are applications available from a same application market server, the carrier further comprising instructions for indexing a plurality of the applications available from the application market server with one or more application categories in the application category database, using metadata describing the applications.
1 4. The carrier of claim 1 3, further comprising instructions for indexing the first application with a first category by retrieving in the application category database the first category indexed with the first application using the received metadata. 1 5. The carrier of claim 1 2, wherein the application categories are organized in the application category database following a hierarchical scheme, the first category being a subcategory of a parent directory comprising one other subcategory distinct from the first category, the carrier further comprising instructions for selecting the other subcategory as the second application category if at least one application is indexed with the other subcategory.
1 6. The carrier of claim 1 5, further comprising instructions for selecting the parent category as the second application category if no application is indexed with the other subcategory.
PCT/IB2010/003433 2009-11-30 2010-11-29 Method and system to recommend applications from an application market place WO2011064675A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26534709P 2009-11-30 2009-11-30
US61/265,347 2009-11-30

Publications (1)

Publication Number Publication Date
WO2011064675A1 true WO2011064675A1 (en) 2011-06-03

Family

ID=43806840

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2010/003433 WO2011064675A1 (en) 2009-11-30 2010-11-29 Method and system to recommend applications from an application market place

Country Status (1)

Country Link
WO (1) WO2011064675A1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455559A (en) * 2011-12-27 2013-12-18 北京奇虎科技有限公司 Method and device for automatically recommending application
EP2721535A2 (en) * 2011-06-17 2014-04-23 Microsoft Corporation Context aware application model for connected devices
EP2741208A1 (en) * 2012-12-06 2014-06-11 Samsung Electronics Co., Ltd Method for providing application information and mobile terminal thereof
US20150052145A1 (en) * 2013-08-13 2015-02-19 Samsung Electronics Co., Ltd. Electronic device and method capable of searching application
EP2907024A1 (en) * 2012-10-11 2015-08-19 Thomson Licensing Solution for distributed application life-cycle management
WO2016054928A1 (en) * 2014-10-09 2016-04-14 百度在线网络技术(北京)有限公司 Method and device for providing push information
WO2016204642A1 (en) * 2015-06-15 2016-12-22 Google Inc. Automatic crawling of applications
CN107220269A (en) * 2016-09-12 2017-09-29 中山大学 A kind of personalized recommendation method for geographical position sensitivity app
CN107918622A (en) * 2016-10-10 2018-04-17 阿里巴巴集团控股有限公司 Commending contents, methods of exhibiting, client, server and system
CN108307039A (en) * 2017-12-21 2018-07-20 维沃移动通信有限公司 A kind of application message methods of exhibiting and mobile terminal
WO2019090777A1 (en) * 2017-11-13 2019-05-16 深圳市华阅文化传媒有限公司 Method and apparatus for pushing discount information in e-book client
CN110555131A (en) * 2018-03-27 2019-12-10 优酷网络技术(北京)有限公司 Content recommendation method, content recommendation device and electronic equipment
CN110555135A (en) * 2018-03-27 2019-12-10 优酷网络技术(北京)有限公司 Content recommendation method, content recommendation device and electronic equipment
CN110555157A (en) * 2018-03-27 2019-12-10 优酷网络技术(北京)有限公司 Content recommendation method, content recommendation device and electronic equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002019096A2 (en) * 2000-08-31 2002-03-07 Docubase Reconfiguration and preservation of setup data
WO2002052540A1 (en) * 2000-12-22 2002-07-04 Connectedmedia Corporation Program selector and guide system and method
EP1477911A1 (en) * 2002-02-22 2004-11-17 Toyota Jidosha Kabushiki Kaisha Server, information providing method and program
JP2005190388A (en) * 2003-12-26 2005-07-14 Matsushita Electric Ind Co Ltd Method for executing program, electronic device and personal digital assistant
US7194557B1 (en) * 2004-11-08 2007-03-20 Palmsource, Inc. Data exchange between a handheld device and another computer system using an exchange manager via synchronization
US20080147530A1 (en) * 2006-12-19 2008-06-19 Kwan Shu-Leung Programmatically transferring applications between handsets based on license information

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002019096A2 (en) * 2000-08-31 2002-03-07 Docubase Reconfiguration and preservation of setup data
WO2002052540A1 (en) * 2000-12-22 2002-07-04 Connectedmedia Corporation Program selector and guide system and method
EP1477911A1 (en) * 2002-02-22 2004-11-17 Toyota Jidosha Kabushiki Kaisha Server, information providing method and program
JP2005190388A (en) * 2003-12-26 2005-07-14 Matsushita Electric Ind Co Ltd Method for executing program, electronic device and personal digital assistant
US7194557B1 (en) * 2004-11-08 2007-03-20 Palmsource, Inc. Data exchange between a handheld device and another computer system using an exchange manager via synchronization
US20080147530A1 (en) * 2006-12-19 2008-06-19 Kwan Shu-Leung Programmatically transferring applications between handsets based on license information

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2721535A2 (en) * 2011-06-17 2014-04-23 Microsoft Corporation Context aware application model for connected devices
EP2721535A4 (en) * 2011-06-17 2014-12-03 Microsoft Corp Context aware application model for connected devices
CN103455559B (en) * 2011-12-27 2016-11-16 北京奇虎科技有限公司 A kind of method and device applying recommendation automatically
CN103455559A (en) * 2011-12-27 2013-12-18 北京奇虎科技有限公司 Method and device for automatically recommending application
EP2907024A1 (en) * 2012-10-11 2015-08-19 Thomson Licensing Solution for distributed application life-cycle management
EP2741208A1 (en) * 2012-12-06 2014-06-11 Samsung Electronics Co., Ltd Method for providing application information and mobile terminal thereof
US20150052145A1 (en) * 2013-08-13 2015-02-19 Samsung Electronics Co., Ltd. Electronic device and method capable of searching application
WO2016054928A1 (en) * 2014-10-09 2016-04-14 百度在线网络技术(北京)有限公司 Method and device for providing push information
WO2016204642A1 (en) * 2015-06-15 2016-12-22 Google Inc. Automatic crawling of applications
US11055369B2 (en) 2015-06-15 2021-07-06 Google Llc Automatic crawling of applications
CN107592930A (en) * 2015-06-15 2018-01-16 谷歌公司 The automatic of application crawls
CN107592930B (en) * 2015-06-15 2020-12-29 谷歌有限责任公司 Automatic crawling of applications
US10558715B2 (en) 2015-06-15 2020-02-11 Google Llc Automatic crawling of applications
CN107220269B (en) * 2016-09-12 2020-10-30 中山大学 Personalized recommendation method for geographic position sensitive app
CN107220269A (en) * 2016-09-12 2017-09-29 中山大学 A kind of personalized recommendation method for geographical position sensitivity app
CN107918622A (en) * 2016-10-10 2018-04-17 阿里巴巴集团控股有限公司 Commending contents, methods of exhibiting, client, server and system
CN107918622B (en) * 2016-10-10 2022-06-03 阿里巴巴集团控股有限公司 Content recommendation and display method, client, server and system
WO2019090777A1 (en) * 2017-11-13 2019-05-16 深圳市华阅文化传媒有限公司 Method and apparatus for pushing discount information in e-book client
CN108307039A (en) * 2017-12-21 2018-07-20 维沃移动通信有限公司 A kind of application message methods of exhibiting and mobile terminal
CN108307039B (en) * 2017-12-21 2021-02-02 维沃移动通信有限公司 Application information display method and mobile terminal
CN110555131A (en) * 2018-03-27 2019-12-10 优酷网络技术(北京)有限公司 Content recommendation method, content recommendation device and electronic equipment
CN110555135A (en) * 2018-03-27 2019-12-10 优酷网络技术(北京)有限公司 Content recommendation method, content recommendation device and electronic equipment
CN110555157A (en) * 2018-03-27 2019-12-10 优酷网络技术(北京)有限公司 Content recommendation method, content recommendation device and electronic equipment
CN110555135B (en) * 2018-03-27 2023-04-07 阿里巴巴(中国)有限公司 Content recommendation method, content recommendation device and electronic equipment
CN110555157B (en) * 2018-03-27 2023-04-07 阿里巴巴(中国)有限公司 Content recommendation method, content recommendation device and electronic equipment
CN110555131B (en) * 2018-03-27 2023-04-07 阿里巴巴(中国)有限公司 Content recommendation method, content recommendation device and electronic equipment

Similar Documents

Publication Publication Date Title
WO2011064675A1 (en) Method and system to recommend applications from an application market place
US9881050B2 (en) Method and system to recommend applications from an application market place to a new device
US10310834B2 (en) Searching and accessing application functionality
US10387505B2 (en) Generating advertisements using functional clusters
US9626443B2 (en) Searching and accessing application functionality
RU2451986C2 (en) Systems, apparatus and methods of creating recommendations
US9280607B2 (en) Method and a device for frequency counting
US20160179816A1 (en) Near Real Time Auto-Suggest Search Results
US20160275081A1 (en) Method and apparatus for personalized resource recommendations
TWI533246B (en) Method and system for discovery of user unknown interests
US20090055398A1 (en) Retrieving mobile user context information using tokenized virtual dictionaries
US8635062B2 (en) Method and apparatus for context-indexed network resource sections
CN108073605A (en) A kind of loading of business datum, push, the generation method of interactive information and device
US20200125246A1 (en) Integrated agent player-client management system and method with automated event trigger initiated communications
JP2011511342A (en) Personalized location-based advertising
US9330186B2 (en) Similarity engine for facilitating re-creation of an application collection of a source computing device on a destination computing device
US9946794B2 (en) Accessing special purpose search systems
US10331680B2 (en) Ranking of search results
CN110390569A (en) A kind of content promotion method, device and storage medium
US20190253503A1 (en) Techniques for selecting additional links
US20120311145A1 (en) Method and system to monitor equipment of an it infrastructure
KR101544462B1 (en) Providing Personalized POI Information Using Client Information And Client Terminal Implementing The Same
KR20130064447A (en) Method and appratus for providing search results using similarity between inclinations of users and device
CN106651410A (en) Application management method and application management device
CN111580709B (en) Display method and device of operation information sheet

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10814742

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10814742

Country of ref document: EP

Kind code of ref document: A1