[go: up one dir, main page]

HK1202662B - Contextual application delivery - Google Patents

Contextual application delivery Download PDF

Info

Publication number
HK1202662B
HK1202662B HK15102930.2A HK15102930A HK1202662B HK 1202662 B HK1202662 B HK 1202662B HK 15102930 A HK15102930 A HK 15102930A HK 1202662 B HK1202662 B HK 1202662B
Authority
HK
Hong Kong
Prior art keywords
application
context aware
content
user
context
Prior art date
Application number
HK15102930.2A
Other languages
Chinese (zh)
Other versions
HK1202662A1 (en
Inventor
陈罗健
雷纳尔.克拉夫特
关官
Original Assignee
Oath Inc.
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
Priority claimed from US13/461,010 external-priority patent/US10204169B2/en
Application filed by Oath Inc. filed Critical Oath Inc.
Publication of HK1202662A1 publication Critical patent/HK1202662A1/en
Publication of HK1202662B publication Critical patent/HK1202662B/en

Links

Abstract

System and method for delivering context aware applications including a content analyzer, a context aware application, a recommendation component, and a controller. The content analyzer is adapted to determine topics in content requested by a user. The context aware application repository contains one or more context aware applications. The recommendation component is adapted to select a context aware application from among the one or more context aware applications based on the determined topics. The controller is adapted to receive the request for a context aware application including information regarding the requested content and is adapted to send the selected context aware application to the requester of the selected context aware application.

Description

Contextual application delivery
Cross Reference to Related Applications
The present Application relates to U.S. patent Application serial No. 13/461,108 entitled "Contextual Application Customization" filed on day 5/1 2012, owned by the present assignee and entitled "Contextual Application Tracking" filed on day 5/2012, and U.S. patent Application serial No. 13/461,271 filed on day 2 2012, owned by the present assignee and entitled "Contextual Application Tracking", which are hereby incorporated by reference in their entirety.
Technical Field
The present teachings relate to methods, systems, and programming for providing content to a user.
In particular, the present teachings are directed to methods, systems, and programming for providing context aware (context aware) content to a user.
Background
Service providers, such as social networking sites and news sites on the internet, attract hundreds of millions of users per month. The popularity of such services depends on many factors. One factor is the content provided by the service provider, which generates interests, functionality, and entertainment for the user.
To maintain a user's interest in content, the content should be useful, informative, or entertaining but also newly relevant. The better the content provided to the user, the more the user will visit the site and the longer the user will stay at the site. As a result, sites will become popular, generating more revenue. Poor content or content that is not new and changed may cause the user to become bored with the content and visit another service provider. The popularity of service providers on the internet often leads to an increase in the number of users, which often translates into higher revenue. The more users a service provider attracts, the more likely the service provider is to provide increased revenue to its operators.
Disclosure of Invention
The teachings disclosed herein relate to methods, systems, and programming for providing content to a user. More particularly, the present teachings relate to methods, systems, and programming for providing context-aware content to a user.
In one example, an application delivery system for delivering context aware applications is disclosed that includes a content analyzer, a context aware application, a recommendation component, and a controller. The content analyzer is adapted to determine topics in the content requested by the user. The context aware application repository contains one or more context aware applications. The recommendation component is adapted to select a context aware application from the one or more context aware applications based on the determined topic. The controller is adapted to receive a request for a context aware application comprising information about requested content and to send a selected context aware application to a requester of said selected context aware application.
In another example, a method of delivering a context aware application implemented on a machine having at least one processor, storage, and a communication platform connected to a network is disclosed. A request for a context aware application including information about content requested by a user is received by an application delivery system. Analyzing, by the application delivery system, the content to determine topics in the content. Selecting, by the application delivery system, a context-aware application. Sending, by the application delivery system, the context aware application to a requestor.
Other concepts relate to software for enabling the generation of a specification of a relationship. A software product according to the concept includes at least one machine-readable non-transitory medium and information carried by the medium. The information carried by the medium may be executable program code data regarding parameters associated with the request or operational parameters, such as information related to the user, the request, or a social group.
In another example, a machine-readable and non-transitory medium having information recorded thereon is disclosed, wherein the information, when read by a machine, causes the machine to perform a method of delivering a context aware application. A request for a context aware application including information about content requested by a user is received by an application delivery system. Analyzing, by the application delivery system, the content to determine topics in the content. Selecting, by the application delivery system, a context-aware application. Sending, by the application delivery system, the context aware application to a requestor.
Additional advantages and novel features will be set forth in part in the description which follows and in part will become apparent to those skilled in the art upon examination of the following or may be learned by manufacture or operation of the examples. The advantages of the present teachings may be realized and attained by practice or use of various aspects of the methodologies, instrumentalities and combinations set forth in the detailed examples discussed below.
Drawings
The methods, systems, and/or programming described herein are further described in accordance with the exemplary embodiments. These exemplary embodiments are described in detail with reference to the accompanying drawings. These embodiments are non-limiting exemplary embodiments in which like reference numerals represent similar structures throughout the several views of the drawings and wherein:
FIG. 1 illustrates a web page formed on a display of a user's device and displaying content to the user, according to one embodiment;
FIG. 2 illustrates a web page formed on a display of a user's device and displaying content to the user, according to one embodiment;
FIG. 3 illustrates a system including an application delivery system, according to one embodiment;
FIG. 4 illustrates a system including an application delivery system, according to one embodiment;
FIG. 5 illustrates an application delivery system for delivering context aware applications, according to one embodiment;
6A-6B illustrate a flow diagram of a method for a user to receive a context aware application, according to one embodiment;
FIG. 7 illustrates a flow diagram of a method of providing context aware applications by a service provider, according to one embodiment;
FIG. 8 illustrates a flow diagram of a method of providing context aware applications, according to one embodiment;
FIG. 9 illustrates a flow diagram of a method for a user to receive a context aware application, according to one embodiment;
FIG. 10 illustrates a flow diagram of a method of providing context aware applications by a service provider, according to one embodiment;
FIG. 11 illustrates a flow diagram of a method of providing context aware applications, according to one embodiment;
FIG. 12 illustrates a flow diagram of a method for customizing an application embedded in a web page based on the content of the web page, according to one embodiment;
FIG. 13 illustrates a flow diagram of an alternative method for customizing an application embedded in a web page based on the content of the web page, according to one embodiment;
FIG. 14 illustrates a flow diagram of an alternative method for customizing an application embedded in a web page based on the content of the web page, according to one embodiment;
FIG. 15 illustrates a flow diagram of a method of tracking stimuli in accordance with one embodiment;
FIG. 16 illustrates a general computer architecture upon which embodiments of the present disclosure may be implemented.
Detailed Description
In the following detailed description, numerous specific details are set forth by way of examples in order to provide a thorough understanding of the relevant teachings. It will be apparent, however, to one skilled in the art that the present teachings may be practiced without these specific details. In other instances, well-known methods, procedures, components, and/or circuits have been described at a relatively high-level without detail so as not to unnecessarily obscure aspects of the present teachings.
Embodiments in accordance with this disclosure allow applications that are contextually related to content that a user is downloading or viewing on, for example, the internet. Embodiments in accordance with the disclosure allow for content that is adaptive to the content in which the application is embedded. Embodiments in accordance with the disclosure facilitate online communities that have people with the same interests become connected.
FIG. 1 illustrates a web page 100 formed on a display of a user's device and displaying content to the user, according to one embodiment. The web page 100 includes requested content 105 and a word guessing game context aware application 110.
The web page 100 may contain any content that the user downloads during, for example, web browsing, e-mailing, instant messaging, etc. The word game context aware application 110 is placed within a web page so as not to unduly interfere with the layout of the content requested by the user. The requested content 105 is content that the user requests, for example, by clicking on an internet link, performing an internet search, writing or replying to an email or instant message, shopping, or any other activity compatible with embodiments of the present disclosure.
The word game context aware application 110 is a widget embedded on the web page 100, written in JavaScript, HTML5, or CSS3, for example. The word guessing game context aware application 110 includes a word control 115, a leaderboard 120, and an invitation control 125. The word game context aware application 110 has invoked a content analyzer (see, e.g., fig. 5) to perform content analysis of the requested content 105. The content analyzer has returned the words most relevant to the requested content. Word guessing games present words to the user with some characters hidden. The user must guess the hidden word and enter a guess (guest) using the word control 115. A score is calculated based on the accuracy of the guess and attributed to the user's account. The leaderboard 120 indicates the current score of the best user. The user may earn incentives when the score reaches a certain level. The user may invite friends to use the word game context aware application 110 via a social networking channel using the invitation control 125.
FIG. 2 illustrates a web page 200 formed on a display of a user's device and displaying content to the user, according to one embodiment. The web page 200 includes request content 105 and a poll/vote context aware application 205.
The content of the web page may be any content that the user downloads during, for example, web browsing, e-mailing, instant messaging, etc. The poll/vote context aware application 205 is placed within the web page so as not to unduly interfere with the layout of the user requested content. The poll/vote context aware application 205 is, for example, an algorithmically generated web browser based voting game/poll application. The poll/vote game may appear on any web page with sufficient textual content. The topics and options of the poll are contextually related to the web page where the poll appears. The poll/vote context aware application 205 is, for example, a widget written in JavaScript, HTML5, and CSS3 embedded on, for example, a celebrity-focused web page. The poll/vote context aware application 205 includes a vote control 210 and an invitation control 125. The poll/vote context aware application 205 invokes the content analyzer (fig. 5) to perform content analysis on the page. The content analyzer returns the celebrities mentioned on the page as well as other related celebrities. The poll/vote context aware application 205 presents the user with a poll listing celebrities and asks the user to vote for the favorite celebrities. The user votes using the voting control 210. A score is calculated based on the vote and attributed to the user's account. The results of the vote are recorded and displayed by the poll/vote context aware application 205. The user may earn incentives when the score reaches a certain level. The user may use the invitation control 125 to invite friends to use the poll/vote context aware application 205 via a social networking channel.
Fig. 3 illustrates a system 300 including an application delivery system 305, according to one embodiment. System 300 includes application delivery system 305, network 310, user 320, service provider 345, and content source 350.
The system 300 allows a user to send a request for content, such as a web page, to a service provider 345 via a network 310. These requests are received by the service provider 345. The service provider 345 responds to these requests by providing the requested content to the corresponding user via the network 310. The service provider 345 consolidates the content obtained from the content source 350 with the application delivery system 305.
The application delivery system 305 delivers context aware applications to the service provider 345 based on requests from the service provider 345. In some embodiments, the service provider 345 forwards the content requested by the user to the application delivery system 305 so that the application delivery system 305 can select and customize the context aware application before returning the application to the service provider 345. In some embodiments, the application delivery system 305 incorporates the selected context aware application into the user requested content to form customized content. The application delivery system 305 then delivers the customized content to the service provider 345 via the network 310, or the application delivery system 305 delivers the customized content directly to the user via the network 310. In some embodiments, the application delivery system 305 responds to requests for context aware applications from the predetermined service provider 345. In some embodiments, the application delivery system 305 responds to requests from any service provider 345 making the request.
The network 310 system may be a single network or a combination of different networks. For example, the network may be a Local Area Network (LAN), a Wide Area Network (WAN), a public network, a private network, a Public Switched Telephone Network (PSTN), the internet, a wireless network, a virtual network, or any combination thereof. The network 310 includes wired or wireless access points 315. Wired or wireless access points 315 allow data sources to connect to the network 310 to transmit information via the network.
The user 320 may send a request to the service provider 345 via the network 310 and receive the request results from the service provider 345 over the network. Users 320 include users connected to the network via a desktop connection 325, users connected to the network via a wireless connection such as through a laptop 330, users connected to the network via a handheld device 335, and users connected to the network via built-in devices in a motor vehicle 340.
The service provider 345 receives a request for content from a user. The service provider 345 may provide the requested content to the user from a content source within the service provider 345 or the service provider 345 may retrieve the requested content from the content source 350. The service provider 345 may combine content from more than one source to satisfy the request. The content requested by the user may be provided directly by the service provider 345 via the network 310 or may be provided to the user via the application delivery system 305, as discussed above. The service provider 345 may request the context aware application from the application delivery system 305 and incorporate the context aware application into the user's requested content before sending the content to the user 320.
The content source 350 may include a plurality of content sources 350-a, 350-b. The web page host may be an individual, a business, or an organization such as uspto. The service provider 345 may rely on this information to respond to requests from the user, for example, the service provider 345 may provide web content corresponding to the request and return the web content to the user.
Fig. 4 illustrates a system 400 including an application delivery system 305, according to one embodiment. System 400 includes application delivery system 305, user 320, network 310, service provider 345, and content source 350.
The system 400 allows a user to send a request for content, such as a web page, to a service provider 345 via the network 310. These requests are received by the service provider 345. The service provider 345 responds to these requests by providing the requested content to the corresponding user via the network 310. The service provider 345 contains the content and application delivery system 305 obtained from the content source 350.
The application delivery system 305 is connected to the service provider 345 and acts as a backend server for the service provider 345. The service provider 345 requests the context aware application from the application delivery system 305. The application delivery system 305 provides context aware applications to the service provider 345 based on requests from the service provider 345. In some embodiments, the service provider 345 forwards the content requested by the user to the application delivery system 305 so that the application delivery system 305 can select and customize the context aware application before returning the context aware application to the service provider 345. In some embodiments, the application delivery system 305 incorporates the selected context aware application into the user requested content to form customized content.
FIG. 5 illustrates an application delivery system 305 for delivering context aware applications 570, according to one embodiment. The application delivery system 305 includes a content analyzer 505, a context aware application platform 510, a repository 515 of contextual applications, a recommendation component 520, a user interaction tracker 525, a tracking repository 530, an incentive system 535, an analysis component 540, an internal network 545, a network interface 550, an external network 555, a controller 560, and an application customizer 565.
The application delivery system 305 receives a request for a context aware application 570 from, for example, a service provider 345 or directly from a browser of one of the users 320. The application delivery system 305 selects and/or customizes the context aware applications 570, provides the customized context aware applications 570 to the requestor and/or tracks the context aware applications 570, as discussed above.
The content analyzer 505 analyzes the content provided in the request to identify topics, etc. in the content. For example, the content analyzer 505 may return a digest of the web page in the form of entities/concepts and categories, collectively referred to as context.
Context aware application platform 510 provides common resources for use by context aware applications 570. These resources may include communication drivers, display and graphics resources, resources for stitching applications into web pages, resources for the context aware application 570 to interact with users of web pages, resources for the context aware application 570 to communicate over the internet, and to communicate with other applications and services.
In some embodiments, the context aware application 570 is a standalone script embedded in the web page 200 sent to the user, and the context aware application 570 calls and uses resources provided by the context aware application platform 510 over the internet or other network.
In some embodiments, the context aware application 570 is not sent to the user's browser but only a script that allows the display and interaction with the user of the context aware application 570. Context aware application 570, for example, as JAVATMThe servlets run on the application delivery system 305. Context aware application 570 then directly uses context aware application platform 510 on application delivery system 305.
The repository 515 of contextual applications contains context aware applications 570 stored with metadata that allows the materials and topics presented by the context aware applications 570 to be identified. Thus, for example, if the context aware application 570 is a weather application, the metadata will contain information indicating that the context aware application 570 has weather content. The metadata further indicates the kind of rewards available to the user from the context aware application 570. The reward may include a coupon, gift certificate, promotion, upgrade of the context aware application 570, and the like.
The recommendation component 520 selects the appropriate context aware application 570 for the web page requested by the user. In some embodiments, the selection of the context aware application 570 is based on the content of the current web page requested by the user. In some embodiments, the selection of the context aware application 570 is based on the output from the content analyzer 505. In some embodiments, the selection of the context aware application 570 is based on one or more of the identity of the user, the documented interests of the user, the natural language of the user, the physical location of the user, information about the user's social network, and the like. In some embodiments, the selection of the context aware application 570 is based on the previous context aware application 570 sent to the user 320 and the user's use of the previous context aware application 570 or performance in the previous context aware application 570. In some embodiments, the selection of the context aware application 570 is based on the user's social network, the user's demographics, the user's geographic region, the user's natural language groups, and the like, of the other users ' usage or performance of the context aware application 570. In some embodiments, the selection of the context aware application 570 is based on providing a continuation of the context aware application 570 currently being used by the user. In some embodiments, any combination with any weighting scheme may be used to select the context aware application 570 to send to the user.
User interaction tracker 525 tracks user interactions with context aware applications 570 that user 320 has downloaded. Thus, for example, if a user downloads a game and plays the game, the context aware application 570 sends data indicative of the user's interactions with the game to the user interaction tracker 525. The user interaction tracker 525 stores the transmitted data in the tracking repository 530. In some embodiments, the user interaction tracker 525 also stores content or links to content requested by the user in the tracking repository 530, e.g., content detailed in the request for a context aware application, or a request to customize an application. The user interaction tracker 525 sends events related to the activation system 535. In addition, the interaction tracker tracks the current state of any context aware applications 570. If the context aware application 570 is being used by a user, e.g., a game is being played, or the user appears to be interacting with the context aware application 570, the interaction tracker marks the context aware application 570 as in use. When new content is requested by a user, if the interaction tracker indicates that the context aware application 570 is in use, the application delivery system 305 may deliver the context aware application 570 in use in a state that the context aware application 570 was in when it left the previous page.
Tracking repository 530 stores interactions of users 320 with context aware application 570. The user interaction tracker 525 sends the user's interactions with the context aware application 570 to the tracking repository 530 and the tracking repository 530 stores the interactions per the user and context aware application 570. For example, the interactions may be stored in a hierarchical database in the name of the user and context aware application 570. Alternatively, the interactions may be stored in a folder of the file system of the user that contains the folders of the context aware application 570. The tracking repository 530 may be queried by the incentive system 535 to determine the current value of the user's incentive package.
The incentive system 535 keeps track of the user history for each context aware application 570 that the user downloads and uses. For example, the incentive system 535 tracks the activities of the user by querying the tracking repository 530. The incentive system 535 tracks the state of the context aware application 570 for each user. The state may include, for example, the current reward accumulated for each context aware application 570, the usage of each context aware application 570, and other users of each context aware application 570 using a particular user. Thus, for example, the incentive system 535 may track which users use the context aware application 570 that enables a particular game to be competitively played. The incentive system 535 may track the ranking of the player, or the player's score history. Based on this tracking and the metadata of the context aware application 570, the incentive system 535 may issue rewards such as coupons, gift certificates, promotions, upgrades to the context aware application 570, and the like to the user. In some embodiments, the incentive system 535 may be queried by a context-aware application running on a server or a user's browser. These queries allow the context aware application 570 to determine information about other users' usage of the context aware application 570, such as the scores of other users on a particular context aware application 570. Thus, the context aware gaming application may find scores for users in the social network of users of the same game and display those scores as an incentive to the users.
The analysis component 540 associates the performance of the context aware applications 570 with the entity/category. The analysis component can be utilized by the recommendation component 520 to suggest context aware applications 570. Additionally, based on the user's use of the context aware applications 570, the analysis component 540 may update the relationships between the performance and the entities/categories of the context aware applications 570.
The internal network 545 interconnects the components of the application delivery system 305 and connects the components of the application delivery system 305 to the service provider 345 via the network interface 550 and the external network. The network interface 550 connects the application delivery system 305 to the service provider 345 via an external network.
The controller 560 coordinates the activities of the content analyzer 505, the context aware application platform 510, the recommendation component 520, the user interaction tracker 525, the incentive system 535, the analysis component 540, and the application customizer 565. The controller 560 also coordinates the receipt of requests for applications and the receipt of interaction data from applications, as well as the transmission of applications, incentives, and rewards.
The application customizer 565, if requested, customizes the application or context aware application 570 based on the topics provided by the content analyzer 505. In some embodiments, the application or context aware application 570 is adapted to be self-customized based on the topics provided by the content analyzer 505. In some embodiments, the application or context aware application 570 is adapted to analyze the content of the web page 200 in which the application or context aware application 570 is embedded.
6A-B illustrate a flow diagram of a method 600 for a user to receive a context aware application 570, according to one embodiment. The method 600 begins at step 605. At step 605, the user selects content to view. The request may be made by the user typing an internet address into a browser, clicking on a link on a web page, scanning a barcode or Quick Response (QR) code, entering a search request, etc. At step 610, a user submits a request for content.
At step 615, the user receives the requested content including the context aware application 570 from the service provider 345. In some embodiments, context aware application 570 may be placed in the body of content, such as a web page. In some embodiments, the context aware application 570 may be placed in a separate web page, for example, as a new tab in the browser or a pop-up on the browser. In some embodiments, the user's browser may have to request the context aware application 570 from the application delivery system 305 separately based on the link inserted in the content. In some embodiments, context aware application 570 does not run in the browser of user 320 but instead runs as an application on application delivery system 305. In these embodiments, the browser merely serves as a means to view the application and deliver the user actions to the context aware application 570 running on the application delivery system 305.
At step 620, the user 320 views the content and context aware application 570. At step 625, the user interacts with the context aware application 570. If the user is interested in the context aware application 570, the user may interact with the context aware application 570. The context aware application 570 may be, for example, a game that a user may play, such as a word game context aware application 110, an information application, such as poll/vote context aware application 205, or any other context aware application 570.
At step 630, context aware application 570 sends the user interaction to application delivery system 305. When a user interacts with an application, for example by clicking a button, dragging a feature, etc., these interactions are sent to the application delivery system 305 for analysis and storage.
At step 635, context aware application 570 optionally receives data from application delivery system 305. Depending on the kind of context aware application 570, context aware application 570 may receive data from application delivery system 305. The data may be based on the user's interactions with the context aware applications 570, the other users' interactions with the context aware applications 570 running on those users 'browsers, the time, the user's location, etc. For example, the context aware application 570 may receive high scores for other users, information about achievements of other users, and so forth.
At step 640, context aware application 570 optionally displays the data received from application delivery system 305 to the user. Context aware application 570 may display information received from application delivery system 305, for example, in the form of a high score table or as an action by another user. For example, if a game is being played, the action of another player may be displayed by the context aware application 570 based on data sent by the application delivery system 305. In addition, the data may cause the application to move to different stages of the game or process, or display rewards such as coupons, gift certificates, promotions, upgrades to the context aware application 570, etc. for use by the user.
At step 645, the user selects a new page to view. At step 650, the user receives new content from where the context aware application 570 was on the last page, optionally with continuation of the context aware application 570. Providing continuation of the context aware application 570 from where the context aware application 570 was on the previous page allows the user to browse while continuing to use the context aware application 570 uninterrupted.
Fig. 7 shows a flowchart of a method 700 of providing a context aware application 570 by a service provider 345, according to one embodiment. The method 700 begins at step 705. At step 705, the service provider 345 receives a request for content from a user.
At step 710, the service provider 345 obtains the content. The content may be content on a server of the service provider 345, in which case the service provider 345 obtains the content from the server. The service provider 345 may obtain content from one of the content sources 350 on the network 310.
At step 715, the service provider 345 sends a request to the application delivery system 305. The request includes the content requested by the user or a link to the content so that the application delivery system 305 can select the appropriate context aware application 570.
At step 720, the service provider 345 receives a context aware application 570 from the application delivery system 305. As mentioned above, in some embodiments, the application delivery system 305 delivers context-aware applications 570 that have been embedded in content. In some embodiments, the service provider 345 receives context aware applications 570 that are not embedded in the content.
At step 725, the service provider 345 optionally incorporates the context aware application 570 into the content requested by the user. In embodiments where the service provider 345 receives context aware applications 570 that are not embedded in the content, the service provider 345 embeds the context aware applications 570 in the content. In some embodiments, the service provider 345 receives a link or reference to the context aware application 570 to be embedded in the content. When sent to the user, this link may be used by the user's 320 browser to download the context aware application 570 directly from the application delivery system 305, or as a means to run the context aware application 570 on the application delivery system 305 with the user's browser, thereby providing display and control of the context aware application 570 via the network 310.
At step 730, the service provider 345 sends the content to the user along with the context aware application 570.
FIG. 8 shows a flowchart of a method 800 of providing a context aware application 570 according to one embodiment. The method 800 begins at step 805. At step 805, application delivery system 305 receives a request for context aware application 570. The request to the context aware application 570 is received via the external network 555 and the network interface 550. In some embodiments, the request for the context aware application 570 is received from the service provider 345 over the internet. In some embodiments, the request for the context aware application 570 is received from the service provider 345 via a private network. The request to the context aware application 570 includes the content in which the context aware application 570 is to be placed, or a link to the content in which the context aware application 570 is to be placed. In some embodiments, information detailing requests and requested content is stored by user interaction tracker 525 in tracking repository 530.
At step 810, the controller 560 obtains the content in the request. In some embodiments, the content is provided by a service provider, such as service provider 345, that initially receives the request and forwards the request along with the content to application delivery system 305. The controller 560 extracts the content and forwards the content to the content analyzer 505. In some embodiments, the link to the content is provided by the service provider 345 that initially receives the request and forwards the request with the content to the application delivery system 305. The controller 560 extracts the link and retrieves the content based on the link. The controller 560 forwards the content to the content analyzer 505. Alternatively, the controller 560 may forward the link to the content analyzer 505 so that the content analyzer 505 obtains the content directly. In some embodiments, the content is obtained by the application delivery system 305 based on a request sent directly by the user's browser.
At step 815, the controller 560 checks to see if the current context aware application 570 should be continued by checking the current state of the user's context aware application 570. If the context aware application should be continued, the method proceeds to step 845. If a new context aware application is to be acquired, the method proceeds to step 820.
At step 820, the content analyzer analyzes the content for the topic. In some embodiments, the content analyzer 505 searches the content for keywords or phrases. In some embodiments, the content analyzer 505 extracts topics from the content based on an analysis of the current content requested by the user and other content requested by the same user. In some embodiments, the content analyzer 505 extracts topics from content based on analysis of documents requested by more than one user and comparison of words and phrases in all of the above documents. In some embodiments, the analysis of the content is based on statistical analysis of words and phrases in the requested content as well as in the content requested at other times. The content analyzer 505 generates a content digest in the form of keywords, entities/concepts and/or categories, collectively referred to as context.
At step 825, the controller 560 sends the context to the recommendation component 520 to obtain the context aware application 570. The recommendation component 520 selects a context aware application 570 from the repository 515 of context applications based on context. For example, if the context includes a particular celebrity, the recommendation component 520 may select the word guessing game context aware application 110. The recommendation component 520 can employ the analysis component 540 to provide relationships of entities/concepts.
At step 830, the recommendation component returns the recommended context aware application 570 to the controller 560. In some embodiments, recommendation component 520 sends a reference link corresponding to context aware application 570. In some embodiments, recommendation component 520 sends context aware application 570 to controller 560.
At step 835, controller 560 may optionally incorporate context aware application 570 into the content. In some embodiments, the controller 560 of the application delivery system 305 can incorporate the context aware application 570 in an appropriate location in the content. If necessary, the controller 560 downloads the content and incorporates the context aware application 570.
At step 840, the application delivery system 305 sends the context aware application 570 back to the requestor. In embodiments where the application delivery system 305 incorporates the context aware application 570 into the content, the application delivery system 305 transmits the content including the context aware application 570. In embodiments where the application delivery system 305 does not incorporate the context aware application 570 into the content, the application delivery system 305 sends the context aware application 570 to the requestor. In embodiments where the application delivery system 305 is to run the user's context aware application 570 on a server of the application delivery system 305, the application delivery system 305 sends a link or reference to the context aware application 570 to the requestor. In some embodiments, a link or reference to the context aware application 570 is embedded in the content and sent to the requestor. In some embodiments, information detailing the transmitted context aware applications is stored by the user interaction tracker 525 in the tracking repository 530.
At step 845, the controller 560 retrieves the current state of the application from the user interaction tracker.
At step 850, controller 560 may optionally incorporate context aware application 570 into the content. In some embodiments, the controller 560 of the application delivery system 305 can incorporate the context aware application 570 in an appropriate location in the content. If necessary, the controller 560 downloads the content and incorporates the context aware application 570.
At step 855, controller 560 sends current context aware application 570, including the current state of current context aware application 570, to the requestor. In some embodiments, information detailing current context aware applications and states is stored by the user interaction tracker 525 in the tracking repository 530.
FIG. 9 illustrates a flow diagram of a method 900 for a user to receive a context aware application 570, according to one embodiment. The method 900 begins at step 905. At step 905, the user selects content to view. The selection may be made by the user typing an internet address into a browser, clicking on a link on a web page, scanning a barcode or Quick Response (QR) code, entering a search request, etc. At step 910, the user submits a request for content to the service provider 345.
At step 915, the user receives the requested content from the service provider 345 including the general link of the context aware application 570. In some embodiments, context aware application 570 may be placed in the body of content, such as a web page. In some embodiments, the context aware application 570 may be placed in a separate web page, for example, as a new tab in the browser or a pop-up on the browser. In some embodiments, the context aware application 570 does not run in the browser of the user running as an application on the application delivery system 305. In these embodiments, the browser merely serves as a means to view the application and deliver the user actions to the context aware application 570 running on the application delivery system 305.
At step 920, the user's browser sends a request to the application delivery system 305 for the context aware application 570. The request to the context aware application 570 includes the content or a link to the content that the service provider 345 sends to the user. The request to the application delivery system 305 is based on a generic link to the application delivery system 305 embedded in the content sent to the user.
At step 925, the user receives context aware application 570 from application delivery system 305. At step 930, the user views the content and context aware application 570.
At step 935, the user interacts with context aware application 570. If the user is interested in the context aware application 570, the user may interact with the context aware application 570. The context aware application 570 may be, for example, a game that a user may play, such as a word game context aware application 110, an information application, such as poll/vote context aware application 205, or any other context aware application 570.
At step 940, context aware application 570 sends the user interaction to application delivery system 305. When a user interacts with an application, for example by clicking a button, dragging a feature, etc., these interactions are sent to the application delivery system 305 for analysis and storage.
At step 945, context aware application 570 optionally receives data from application delivery system 305. Depending on the kind of context aware application 570, context aware application 570 may receive data from application delivery system 305. The data may be based on the user's interactions with the context aware applications 570, the other users' interactions with the context aware applications 570 running on those users 'browsers, the time, the user's location, etc. For example, the context aware application 570 may receive high scores for other users, information about achievements of other users, and so forth.
At step 950, context aware application 570 optionally displays the data received from application delivery system 305 to the user. Context aware application 570 may display information received from application delivery system 305, for example, in the form of a high score table or as an action by another user. For example, if a game is being played, the action of another player may be displayed by the context aware application 570 based on data sent by the application delivery system.
Fig. 10 shows a flowchart of a method 1000 of providing a context aware application 570 by a service provider 345, according to one embodiment. Method 1000 begins at step 1005. At step 1005, the service provider 345 receives a request for content from a user.
At step 1010, the service provider 345 obtains the content. The content may be content on a server of the service provider 345, in which case the service provider 345 obtains the content from the server. The service provider 345 may obtain content from one of the content sources 350 on the network 310.
At step 1015, the service provider 345 builds content for the user and includes a link to the general context aware application 570 in the content. The generic link is a link that requests the context aware application 570 from the application delivery system 305. The generic link may be an HTML element inserted in the content to provide space on the web page 200 for the context aware application 570 to be inserted.
At step 1020, the service provider 345 sends the content to the user along with the generic link. When the user's browser receives the content and the general link, the browser displays the content and requests the context aware application 570 from the application delivery system 305 using the general link. The request may include content or a link to content to enable the application delivery system 305 to select a context aware application 570 based on the content.
FIG. 11 shows a flowchart of a method 1100 of providing a context aware application 570 according to one embodiment. Method 1100 begins at step 1105. At step 1105, the context aware application provider receives a request for a context aware application 570. The request to the context aware application 570 is received via the external network 555 and the network interface 550. The request for the context aware application 570 is received from the user's browser via the network 310 based on a general link to the application delivery system 305 provided in the content sent to the user. The request to the context aware application 570 includes the content in which the context aware application 570 is to be placed, or a link to the content in which the context aware application 570 is to be placed. In some embodiments, information detailing requests and requested content is stored by user interaction tracker 525 in tracking repository 530.
At step 1110, controller 560 obtains the content in the request. Controller 560 either extracts the content and forwards the content to content analyzer 505 or controller 560 extracts a link and retrieves the content based on the link. The controller 560 forwards the content to the content analyzer 505. Alternatively, the controller 560 may forward the link to the content analyzer 505 so that the content analyzer 505 obtains the content directly.
At step 1115, the controller 560 checks to see if the current context aware application 570 should be continued by checking the current state of the user's context aware application 570. If the context aware application should be continued, the method proceeds to step 1140. If a new context aware application is to be acquired, the method proceeds to step 1120.
At step 1120, the content analyzer analyzes the content for the topic. In some embodiments, the content analyzer 505 searches the content for keywords or phrases. In some embodiments, the content analyzer 505 extracts topics from the content based on an analysis of the current content requested by the user and other content requested by the same user. In some embodiments, the content analyzer 505 extracts topics from content based on analysis of documents requested by more than one user and comparison of words and phrases in all of the above documents. In some embodiments, the analysis of the content is based on statistical analysis of words and phrases in the requested content as well as in the content requested at other times. The content analyzer 505 generates a content digest in the form of keywords, entities/concepts and/or categories, collectively referred to as context.
When the content analyzer 505 has analyzed the content, the content analyzer sends the content to the recommendation component 520. At step 1125, the controller 560 sends the context to the recommendation component 520 to obtain a context aware application 570. The recommendation component 520 selects a context aware application 570 from the repository 515 of context applications based on context. For example, if the context includes a particular celebrity, the recommendation component 520 may select the word guessing game context aware application 110.
At step 1130, the recommendation component returns the recommended context aware application 570 to the controller 560. In some embodiments, recommendation component 520 sends a reference link corresponding to context aware application 570. In some embodiments, recommendation component 520 sends context aware application 570 to controller 560.
At step 1140, the controller 560 obtains the current state of the application from the user interaction tracker. At step 1145, the controller 560 sends the current context aware application 570 including the current state of the current context aware application 570 to the requestor. In some embodiments, information detailing current context aware applications and states is stored by the user interaction tracker 525 in the tracking repository 530.
At step 1135, application delivery system 305 sends context aware application 570 to the user. The application delivery system 305 sends the context aware application 570 to the requestor. In embodiments where the application delivery system 305 is to run the user's context aware application 570 on a server of the application delivery system 305, the application delivery system 305 sends a link or reference to the context aware application 570 to the requestor. In some embodiments, information detailing context aware applications is stored by user interaction tracker 525 in tracking repository 530.
FIG. 12 illustrates a flow diagram of a method 1200 of customizing an application embedded in a web page based on the content of the web page, according to one embodiment. In some embodiments, the application delivery system 305 adapts the application embedded in the web page based on the content of the web page. In some embodiments, applications embedded in web pages use resources in the context aware application platform 510 to adapt/customize applications for content in the web pages. The application may be selected by the recommendation component 520 or may be an application requested by the service provider 345. Thus, the application may be considered a context aware application 570, because the application is selected for the content in which the application is placed, or because the functionality of the application is adapted for the content in which the application is placed. The application may also be context aware, as selected and adapted for the content. Thus, the methods described in fig. 6-11 may be used in conjunction with the methods described in fig. 10-12 or separately from the methods described in fig. 10-12. The method 1200 begins at step 1205. At step 1205, the context aware application provider receives a request for a context aware application 570. This request may be the same as the request to context aware application 570 in fig. 8 or fig. 11. However, the request may also include a request for a particular context aware application 570 and the requested content or a link to the requested content.
At step 1210, the controller 560 obtains the content in the request. If content has been acquired by the controller 560 to determine a particular context aware application 570, the controller 560 uses the already acquired content.
At step 1215, a content analyzer analyzes content for topics. In some embodiments, the content analyzer searches the content for keywords or phrases. In some embodiments, the content analyzer extracts topics from the content based on an analysis of the current content requested by the user and other content requested by the same user. In some embodiments, the content analyzer extracts topics from the content based on analysis of documents requested by more than one user and comparison of words and phrases in all of the above documents. In some embodiments, the analysis of the content is based on statistical analysis of words and phrases in the requested content as well as in the content requested at other times. The content analyzer 505 generates a content digest in the form of keywords, entities/concepts and/or categories, collectively referred to as context.
When the content analyzer 505 has analyzed the content, the content analyzer sends the content to the recommendation component 520. At step 1125, the controller 560 sends the context to the recommendation component 520.
If the content has been analyzed by the content analyzer 505 to determine the topic used to select a particular context aware application 570, the application delivery system 305 may use the previously determined topic. In some embodiments, the content analyzer 505 may be requested to change the analysis when content is found for the customized application or context aware application 570. Additionally, in some embodiments, a second content analyzer may be added to the application delivery system 305 specifically to find topics for the customized application or context aware application 570. In particular, to customize the application or context aware application 570 may require much more detailed analysis and more topics to be presented. The topic used to select the context aware application 570 may be more generalized because the selected application needs to conform to the overall context of the content rather than to the details.
At step 1220, controller 560 selects context aware application 570. If an application or context aware application 570 was specified by the service provider 345 or the user, the controller 560 need not send context to the recommendation component 520 to obtain the context aware application 570. If the application or context aware application 570 is not specified by the service provider 345 or the user, the controller 560 obtains the context aware application 570, for example, using method step 825 or method steps 1120-1125.
At step 1225, the controller 560 sends the selected application or context aware application 570 with the discovered topic to the application customizer for customization. Customization may include, for example, changing a list of words used by the application or other data files used by the application to correspond to a topic. For example, the word guessing game context aware application 110 may have a list of words for the user to guess on a topic basis, or for example, the poll/vote context aware application 205 may have a topic for which to vote on a topic basis. Additionally, the operation of the application may be customized based on the topic. For example, in the poll/vote context aware application 205, the type of vote may vary based on topic. The type of vote may be, for example, a proportional voting system, a simple majority voting system, a transferable vote voting system, etc. In some embodiments, any manner of customizing an application based on a topic is within the scope of embodiments of the present disclosure.
At step 1230, the application delivery system 305 sends the context aware application 570 back to the requestor.
FIG. 13 illustrates a flow diagram of an alternative method 1300 of customizing an application embedded in a web page based on the content of the web page, according to one embodiment. This alternative method for customizing applications is based on customizing an application when the application is already open at the user's browser. When the application opens on the user's browser, the application sends content information for the web page the user is browsing to the application delivery system 305, and the application is adapted based on the sent information. Method 1300 begins at step 1305. At step 1305, the application opens on the user's browser. The application may be a customizable application, or a customizable context-aware application 570. The application may run on the user's browser, or the application may run on a server of the application delivery system 305 with the user's browser providing an interface for the user.
At step 1310, the application or context aware application 570 sends the content of the web page being browsed to the application delivery system 305. The content may be sent to the application delivery system 305 or, alternatively, a link to the content may be sent to the application delivery system 305. At step 1315, the application or context aware application 570 receives customization data from the application delivery system 305.
At step 1320, the application or context aware application 570 is customized based on the customization data. In some embodiments, the application or context aware application 570 is self-customizing. The application or context aware application 570 contains customization data and the application or context aware application 570 operates in a manner corresponding to the customization data. In some embodiments, the application or context aware application 570 is customized using the context aware application platform 510. The application or context aware application 570 relies on the context aware application platform 510 to obtain instructions on how to customize the application or how to customize the way the application runs.
FIG. 14 shows a flowchart of an alternative method 1400 for customizing an application embedded in a web page based on the content of the web page, according to one embodiment. The method in fig. 14 describes steps performed on the application delivery system 305 in response to steps performed in the browser by the application or context aware application 570 as described in fig. 13. The method 1400 begins at step 1405. At step 1405, the application delivery system 305 receives a request for customization data from an application or context aware application 570. The application or context aware application 570 may run in the user's browser or on a server of the application delivery system 305. The request includes content of the web page in which the application or context aware application 570 is running, or a link to content of the web page in which the application or context aware application 570 is running.
At step 1410, the controller 560 optionally retrieves content. If a link to the content is received, the controller 560 acquires the content.
At step 1415, the controller 560 sends the content to the content analyzer to analyze the content for the topic. As discussed above, the content analyzer 505 may analyze the content for a custom application or context aware application 570 differently than for selecting a context aware application 570. In some embodiments, the content analyzer 505 for the customized application or context aware application 570 is different from the content analyzer 505 used to select the context aware application 570. The content analyzer 505 returns the topic to the controller 560.
At step 1420, the controller 560 receives the topic and sends the topic to the application customizer 565. At step 1425, the controller 560 receives data for customization from the application customizer 565.
At step 1430, the controller 560 sends data for customization back to the requesting application or context aware application 570. In some embodiments, the application or context aware application 570 is adapted to directly contact the content analyzer 505 and retrieve topics directly from the content analyzer 505. In some embodiments, the application or context aware application 570 is adapted to directly contact the application customizer 565 and retrieve customization data directly from the application customizer 565.
FIG. 15 shows a flow diagram of a method 1500 of tracking stimuli according to one embodiment. The method as shown in fig. 15 involves the response of the application delivery system 305 to the user interaction sent to the application delivery system 305, for example, at steps 630 and 940. In response to the user interaction, application delivery system 305 sends the data back to context aware application 570, for example, at steps 635 and 945. The method illustrated in fig. 15 may be performed on an application, a customized application, a context aware application 570, or a customized context aware application. Any application embedded in a web page that sends interaction data back to the application delivery system 305 may use the method illustrated in fig. 15. The method 1500 begins at step 1505. At step 1505, the application delivery system 305 receives interaction data from an application or context aware application 570. At step 1510, the incentive tracker stores the interaction data in the tracking repository 530.
At step 1515, the controller 560 sends the interaction data to the incentive system 535 for analysis. The interaction data may be, for example, the user's progress in a game, such as the word game context aware application 110. Alternatively, the interaction data may be for use by an application such as poll/vote context aware application 205.
At step 1520, the incentive system 535 analyzes the interaction data and the interaction data stored in the tracking repository 530. The incentive system 535 analyzes the interaction data based on the user's use of the application or context aware application 570 and the particular application or context aware application 570.
At step 1525, the incentive system 535 optionally requests information of other users' applications or context-aware applications 570 for the tracking repository 530. The other users may be users within the user's social group using the context aware application 570, or users within any other user group that is related to the user in some way. The users of the group may be related by interests, profession, geography, location, language group, etc.
At step 1530, the incentive system 535 reviews the requested information including the content in which the context aware application is embedded. Additionally, the incentive system 535 matches in the request information processes that are deemed to be relevant to the user using the context aware application 570 or input from other users that are of interest to the user using the context aware application 570. For example, the incentive system 535 may notice that there are users in the game that have a higher score than the user of the application or context aware application 570. The incentive system 535 may note that a particular group of users has completed voting on a particular topic detailed in the opinion testing/voting context awareness application 570. Additionally, the incentive system 535 may check for rewards such as coupons, gift certificates, promotions, upgrades to the context aware application 570, etc. corresponding to the information reviewed. The reward may be provided by the context aware application 570 or a third party sponsoring the context aware application 570. The reward may also be provided by a third party that is provided or referenced in the application in which the context aware application 570 is embedded.
At step 1535, the incentive system 535 selects data to send to the application or context aware application 570 based on the reviewed information. In some embodiments, the incentive system 535 ranks the pieces of information noted during review based on a predetermined ranking or rule set. Information deemed to meet a threshold of interest to the user of the application or context aware application 570 and ranked highest in an audit is selected for transmission to the application or context aware application 570.
At step 1540, application delivery system 305 sends the selected information to the user's application or context aware application 570. The user interaction tracker 525 and the incentive system 535 may continually review the information in the tracking repository 530. The user interaction tracker 525 and incentive system 535 may delete information no longer considered relevant and notice important milestones for a particular application and user group. For example, the incentive system 535 notes that a group of users has completed a particular activity, such as voting or completing a level of play, etc. Additionally, the incentive system 535 may indicate to the user other applications or context aware applications 570 that may be of interest to the user based on the activities of the other users. Other users may be part of any group related to the user. Additionally, the incentive system 535 may indicate to the user other users who may be interested in the application or the context aware application 570 based on the activities of the other users. The user may then be enabled to invite other users to use the application or context aware application 570. In some embodiments, the selected information is stored by the user interaction tracker 525 in the tracking repository 530.
FIG. 16 illustrates a general computer architecture 1600 upon which embodiments of the present disclosure may be implemented. The general computer architecture 1600 includes a COM port 1605, a central processing unit 1610, an internal communication bus 1615, disks 1620, read only memory 1625, random access memory 1630, I/0 components 1635, and a user interface 1640.
The general computer architecture 1600 may be a general purpose computer or a special purpose computer. The general computer architecture 1600 may be used to implement any of the components of the application delivery system 305. For example, the content analyzer 505, the context aware application platform 510, the repository 515 of contextual applications, the recommendation component 520, the user interaction tracker 525, the tracking repository 530, the incentive system 535, the analysis component 540, the network interface 550, the controller 560, and the application customizer 565 may all be implemented on a computer such as the general computer architecture 1600 via its hardware, software programs, firmware, or a combination thereof. Although only one such computer is shown for convenience, computer functions related to context aware application delivery may be implemented in a distributed manner across multiple similar platforms to distribute processing load.
COM port 1605 connects general computer architecture 1600 to a network connected thereto to facilitate data communications. The central processing unit 1610 may be in the form of one or more processors to execute program instructions. Various data files to be processed and/or transferred by computers and program instructions that may be executed by the central processing unit 1610 may be stored on the disk 1620, the read only memory 1625, or the random access memory 1630.
The I/O component 1635 supports input/output flows between the computer and other components therein, such as a user interface 1640. The computer may also receive programming and data via network communications.
Thus, aspects of the context aware application delivery system as outlined above may be implemented programmatically. The procedural aspects of the technology may be considered an "article of manufacture" or an "article of manufacture" typically in the form of executable code and/or associated data carried on or contained in one type of machine-readable medium. Tangible, non-transitory "storage" type media include any or all of memory or other storage devices of a computer, processor, etc., or associated modules thereof, such as various semiconductor memories, tape drives, disk drives, etc., which may provide storage for software programming at any time.
All or portions of the software may sometimes be transmitted over a network, such as the internet or various other telecommunications networks. Such communication may, for example, enable loading of software from one computer or processor into another, such as from a management server or host computer into one or more hardware platforms of a computing environment or other system implementing the computing environment or similar functionality related to context aware application delivery. Thus, another type of medium that may carry software elements includes optical, electrical, and electromagnetic waves used through landline networks, both wired and optical, and through various airlinks, such as across physical interfaces between local devices. A physical element carrying such waves, such as a wired or wireless link, an optical link, etc., may also be considered a medium carrying software. As used herein, unless limited to a tangible "storage" medium, terms such as a computer or machine "readable medium" refer to any medium that participates in providing instructions to a processor for execution.
Thus, a machine-readable medium may take many forms, including but not limited to, tangible storage media, carrier wave media, or physical transmission media. Non-volatile storage media includes, for example, optical or magnetic disks, such as any of the storage devices in any one or more computers or the like that may be used to implement the systems 300, 400 or any of the system components as shown in the figures. Volatile storage media includes dynamic memory, such as the main memory of such computer platforms. Tangible transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise a bus within a computer system. Carrier-wave transmission media can take the form of electrical or electromagnetic signals, or acoustic or light waves, such as those generated during Radio Frequency (RF) and Infrared (IR) data communications. Common forms of computer-readable media thus include, for example: a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD or DVD-ROM, any other optical medium, paper punch cards, any other physical storage medium with patterns of holes, a RAM, a PROM, and EPROM, a flash EPROM, any other memory chip or cartridge, a carrier wave transporting data or instructions, cables or links transporting such a carrier wave, or any other medium from which a computer can read programming code and/or data. Many of these forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to a processor for execution.
Those skilled in the art will recognize that the present teachings may be modified and/or enhanced in various ways. For example, although the implementations of the various components described above may be implemented in a hardware device, they may also be implemented as a pure software solution-e.g., installation on an existing server. Further, the system and its components as disclosed herein may be implemented as firmware, a firmware/software combination, a firmware/hardware combination, or a hardware/firmware/software combination.
While the foregoing has described what are considered to be the best mode and/or other examples, it is understood that various modifications may be made therein and that the subject matter disclosed herein may be implemented in various forms and examples, and that the present teachings may be applied in numerous applications, only some of which have been described herein. The following claims are intended to claim any and all applications, modifications and variations that fall within the true scope of the present teachings.

Claims (14)

1. An application delivery system for delivering context aware applications, comprising:
a controller adapted to receive a request for an application, the request including information about content requested by a user and an application in which the requested application is to be placed;
a content analyzer adapted to determine one or more topics in the content requested by the user;
a recommendation component adapted to select an application from one or more context-aware applications based on the one or more topics and performance or usage of the application as derived to other users in the user's social network; wherein
The controller is further adapted to transmit the selected application in response to the request.
2. The application delivery system of claim 1, wherein the request for the application is from a service provider.
3. The application delivery system of claim 1, wherein the request for the context aware application is received from a browser of the user.
4. The application delivery system of claim 1, wherein the controller is further adapted to: embedding the selected application into content, and transmitting the selected context-aware application embedded in the content.
5. The application delivery system of claim 1, wherein the recommendation component is further adapted to: selecting a current context aware application from the one or more context aware applications if the current context aware application is determined to be in use.
6. The application delivery system of claim 5, further comprising: an interaction tracker adapted to determine a current state of the current context aware application; and is
The controller is further adapted to transmit the current context aware application in a state corresponding to a current state of the current context aware application.
7. The application delivery system of claim 1, further comprising an incentive system adapted to send an incentive to the selected context-aware application.
8. An electronically-executed method implemented on a machine having at least one processor, storage, and a communication platform coupled to a network, comprising:
receiving a request for an application, the request including information about content requested by a user and an application in which the requested application is to be placed;
determining one or more topics in the content requested by the user;
selecting an application from one or more context-aware applications based on the one or more topics and performance or usage of applications derived to other users in the user's social network;
the selected application is sent in response to the request.
9. The electronically-executed method of claim 8, wherein the request for the application is received from a service provider.
10. The electronically-executed method of claim 8, wherein the request for the context-aware application is received from a browser of the user.
11. The electronically-executed method of claim 8, further comprising:
embedding, by an application delivery system, the context-aware application in the content; and
transmitting, by the application delivery system, the context-aware application embedded in the content.
12. The electronically-performed method of claim 8, further comprising selecting a current context-aware application from the one or more context-aware applications if the current context-aware application is determined to be in use.
13. The electronically-performed method of claim 12, further comprising:
determining a current state of the current context aware application; and
transmitting the current application in a state corresponding to a current state of the current context aware application.
14. The electronically-executed method of claim 8, further comprising sending an incentive to the application.
HK15102930.2A 2012-05-01 2013-04-05 Contextual application delivery HK1202662B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/461,010 US10204169B2 (en) 2012-05-01 2012-05-01 Contextual application delivery
US13/461,010 2012-05-01
PCT/US2013/035363 WO2013165647A1 (en) 2012-05-01 2013-04-05 Contextual application delivery

Publications (2)

Publication Number Publication Date
HK1202662A1 HK1202662A1 (en) 2015-10-02
HK1202662B true HK1202662B (en) 2019-08-30

Family

ID=

Similar Documents

Publication Publication Date Title
US12314964B2 (en) Contextual application tracking
US9361625B2 (en) Game navigation interface for electronic content
US11295339B1 (en) Tracking user conversions across mobile applications and browsers
US10691759B2 (en) Contextual application customization
US12217067B2 (en) Systems and methods for dynamically generating context aware active icons on a mobile device
US20160148262A1 (en) Providing Additional Functionality as Advertisements with Search Results
JP2015179518A (en) Method and system for searching, selecting and displaying content
TWI493490B (en) Recommended methods for giving virtual rewards and awarding virtual rewards, as well as computer-readable storage media for recording relevant instructions
CN102483753A (en) Computer Application Data In Search Results
CN109101248A (en) Computer Application Promotion
WO2014093638A2 (en) Query-refinement advertisements based on query-completion suggestions
US11237725B1 (en) Tracking link generation using keyboard interception on mobile devices
CN104254847B (en) contextual application delivery
US12242523B2 (en) Method and system for intercepting user inputs on a mobile device
US12135873B2 (en) Tracking link generation using a keyboard application
US20160125080A1 (en) Accessing Special Purpose Search Systems
US20150310483A1 (en) Determining application conversions
US20170316458A1 (en) Polling system supporting advertiser-defined custom targeting
US12487807B2 (en) Systems and methods for generating enquiries and responses based on application metadata
HK1202662B (en) Contextual application delivery
US12174904B2 (en) User-selectable link including multiple routing links
KR101325009B1 (en) Method, server, and recording medium for providing music producing service