KEYSTONE ACTIVITY SUGGESTIONS

The innovation disclosed and claimed herein, in one aspect thereof, comprises systems and methods of keystone activity based suggestions. The innovation detects a keystone activity of a user. The keystone activity is a planned event for the user such as recently purchased tickets to a specific show. Customer data of a financial institution is accessed where the customer data includes data of customers of the financial institution. A set of similar customers to the user is determined. Transaction data of the set of similar customers is determined and analyzed for likelihood of the user wanting to attend a secondary activity that is similar the set of similar customers. The secondary activity can be automatically scheduled for the user based on the keystone activity and the transaction data.

BACKGROUND

Customers usually make advanced plans for certain activities, particularly while traveling. However, while a customer will make plans for certain activities, e.g. a pre-planned event with tickets that are acquired in advance, the customer will often leave further secondary activities until the last minute. The secondary activities, such as transportation, dining, other related activities, and/or the like, are almost as important as the primary activity and can often use more time to research and plan than the primary activity. The planning of the secondary activities can waste valuable customer time. The customers must balance many factors including maximizing the primary activity, balancing relaxation time with other activities, balancing spontaneity with plans, and/or the like. The customer is often overwhelmed attempting to decide what secondary activities to schedule.

BRIEF SUMMARY OF THE DESCRIPTION

The innovation disclosed and claimed herein, in one aspect thereof, comprises systems and methods of keystone activity based suggestions. The innovation detects a keystone activity of a user. The keystone activity is a planned event for the user such as recently purchased tickets to a specific show. Customer data of a financial institution is accessed where the customer data includes data of customers of the financial institution. A set of similar customers to the user is determined. Transaction data of the set of similar customers is determined and analyzed for likelihood of the user wanting to attend a secondary activity that is similar the set of similar customers. The secondary activity can be automatically scheduled for the user based on the keystone activity and the transaction data.

In aspects, the subject innovation provides substantial benefits in terms of keystone activity suggestions. One advantage resides in time savings in planning secondary activities. Another advantage resides in automatically scheduling secondary activities based on the keystone activity.

DETAILED DESCRIPTION

FIG.1illustrates a high level view of the subject innovation according to aspects herein. An activity coordinator105can detect plans110upcoming for a user115to attend a keystone activity120. The activity coordinator105can detect plans110by monitoring the user115. The monitoring can include searching the user's115transactions, correspondence, and activities to detect plans110and/or the keystone activity120. For example, the activity coordinator105can monitor the user's115email to search for ticket receipts, reservations, conversations that set up a keystone activity120, and/or the like. The activity coordinator105can utilize optical character recognition OCR, natural language processing NLP, machine learning techniques, computer vision CV, and/or the like to monitor the user115. For example, the activity coordinator105can determine a user transaction that includes a merchant code for a ticketing website. The activity coordinator105can access the user's115correspondence for a receipt or a conversation with a friend regarding the keystone activity120. The activity coordinator105utilizes natural language processing to read the correspondence to confirm plans110for the keystone activity120.

The activity coordinator105can generate activity recommendations125based on the keystone activity120. The activity recommendations125can be for secondary activities130. In some embodiments, the secondary activities130succeeds or proceeds the keystone activity120. The activity recommendations125can be presented to the user115via a user device135. Secondary activities can be activities that are related to the keystone activity120. For example, if the keystone activity120is a movie showing at a cinema, a secondary activity130can be transportation to and/or from the cinema or a restaurant reservation near the cinema for after the movie showing. The activity coordinator105can automatically schedule the transportation or reservation or present the options to the user115to confirm the secondary activity130. In some embodiments, the activity coordinator105detects actual attendance of the keystone activity120before providing the activity recommendations125for after the keystone activity120. The detection can be performed using location tracking of the user, detecting a scan of tickets, and/or the like. Determining attendance of the user at the keystone activity can be performed via monitoring user transactions, correspondence, or user activities.

The activity coordinator105can generate activity recommendations for the user via a variety of techniques. In some embodiments, the activity coordinator105can determine other users that are attending the keystone activity120. The activity coordinator105can further determine secondary activities that the other users have planned to base the activity recommendations around.

In other embodiments, the activity coordinator105can determine customers that are similar to the user115. For example, the activity coordinator105can access customer information of a plurality of customers associated with a financial institution (e.g. disparate customers). The activity coordinator105can determine similar customers to the user115that match attributes of the user115. In some embodiments, the activity coordinator105can determine a similarity score between the user115and customer data of the financial institution. The activity coordinator105determines a set of similar customers to the customer based on the similarity score exceeding a threshold score. The activity coordinator105analyzes transaction data of the set of similar customers to determine the activity recommendation. For example, if a majority of the set of similar customers have a transaction for a rideshare transportation to the same area as the keystone activity120, the activity coordinator105recommends that the user115use a rideshare transportation instead of driving and parking a personal vehicle.

In some embodiments, the activity coordinator105can base the activity recommendations125on transaction data of the user115, past activity data, correspondence data, financial transaction data, and/or other customer data of a financial institution. The activity coordinator105can analyze the transaction data according to a recommendation model. The recommendation model can be a model that is trained with the customer data (e.g. training data, a training data set, or input training data) of the financial institution using a machine learning technique to learn trends and/or relationships between data points. The recommendation model can determine a likelihood of a secondary activity130being needed or wanted and provide the secondary activities that the user115would most likely book.

In some embodiments, the activity coordinator105determines whether the user follows or attends an activity recommendation or secondary activity130. The activity coordinator105can update the recommendation model with the attendance to further optimize the recommendation model.

In other embodiments, the activity coordinator105can optimize the activity recommendations125for further data factors. The data factors can include at least one of distance, demographic, weather, transaction history, social media, wearable device data, augmented reality visualization of the user115, and/or the like. The data factors can be part of the recommendation model to optimize the activity recommendations. For example, the recommendation model can suggest a rideshare car ride instead of an electric scooter due to inclement weather.

FIG.2illustrates a detailed component diagram of the activity coordinator105. The activity coordinator105includes a monitoring component210. The monitoring component210can detect upcoming plans for the user115to attend a keystone activity120. The activity coordinator105can detect plans110by monitoring user data220. The monitoring component210searches the user data220for transactions, correspondence, and activities to detect plans110and/or the keystone activity120. For example, the monitoring component210can monitor the user's115email to search for ticket receipts, reservations, conversations that set up a keystone activity120, and/or the like. The monitoring component210can utilize optical character recognition OCR, natural language processing NLP, machine learning techniques, computer vision CV, and/or the like to monitor the user115. For example, the monitoring component210can determine a user transaction with a ticketing website. The monitoring component210can, e.g., with permission, access the user's115text messages for a receipt or a conversation with a friend regarding a keystone activity120. The monitoring component210utilizes natural language processing to read the text messages to confirm plans110for the keystone activity120.

The activity coordinator105includes a recommendation component230. The recommendation component230generates activity recommendations125based on the keystone activity120. The recommendation component230generates one or more secondary activities130. The recommendation component230presents the activity recommendations to the user115via a user device135. Secondary activities can be activities that are related to the keystone activity120. For example, if the keystone activity120is a movie showing at a cinema, a secondary activity130can be transportation to and/or from the cinema or a dining reservation near the cinema for after the movie showing. The recommendation component230can automatically schedule the transportation or reservation or present the options to the user115to confirm the secondary activity130selection.

The recommendation component230generates activity recommendations for the user115via a variety of techniques. In some embodiments, the recommendation component230determines other users that are attending the keystone activity120. The recommendation component230can further determine secondary activities that the other users have planned to base the activity recommendations around.

In other embodiments, the recommendation component230can determine customers that are similar to the user115. For example, the recommendation component230can access customer information of a plurality of customers associated with a financial institution240. The recommendation component230can determine similar customers of the financial institution240to the user that match attributes of the user115. In some embodiments, the recommendation component230can determine a similarity score between the customer and customer data of the financial institution. The recommendation component230determines a set of similar customers to the customer based on the similarity score exceeding a threshold score. The recommendation component230analyzes transaction data of the set of similar customers to determine the activity recommendation. For example, if a majority of the set of similar customers have a transaction for a rideshare transportation to the same area as the keystone activity120, the recommendation component230recommends that the user115use a rideshare transportation service as a transportation recommendation instead of driving and parking a personal vehicle.

In some embodiments, the recommendation component230can base the activity recommendations125on transaction data of the user115and/or other customer data of the financial institution240. The recommendation component230can analyze the transaction data according to a recommendation model. The recommendation model can be a model that is trained with the customer data of the financial institution using a machine learning technique to learn trends and/or relationships between data points. The recommendation model can determine or predict a likelihood of a secondary activity130being needed or wanted and provide the secondary activities that the user115would most likely book.

In other embodiments, the recommendation component230can optimize the activity recommendations125for further data factors. The data factors can include at least one of distance, demographic, weather, transaction history, social media, wearable device data, augmented reality visualization of the user115, and/or the like. The data factors can be part of the recommendation model to optimize the activity recommendations.

The recommendation component230utilizes the different data factors for optimization. In some embodiments, the recommendation component230uses a distance factor to optimize the activity recommendations. For example, the recommendation component230leverages mapping data such as location and transportation times to minimize recommendations that are not within walking/driving distance. In other embodiments, the recommendation component230uses a demographic factor to optimize the activity recommendations. For example, the recommendation component230leverages collaborative filtering to predict the utility of a potential recommendations based on the user's115demographic similarity to other users such as similarities between users of the same age group who have small children.

In other embodiments, the recommendation component230uses a weather factor to optimize the activity recommendations. For example, the recommendation component230leverages publicly available weather APIs. Such as minimizing the value of outdoor activities if the weather is rainy. The recommendation component230uses weather on the dates of past purchases by other customers at potential recommendation spots as a data factor. In some embodiments, the recommendation component230uses past purchases to optimize the activity recommendations. For example, the recommendation component230leverages the past purchases to recommend restaurants that are within the user's115typical budget range and/or recommend merchants from categories the user115has frequented in the past, e.g. the user frequents bookstores.

In some embodiments, the recommendation component230uses a fitness factor to optimize the activity recommendations. For example, the recommendation component230leverages information from a fitness application, wearable device, internet of things device, and/or the like to optimize the activity recommendations. For example, the recommendation component230determines the user tends to have high step counts on a fitness wearable device. The recommendation component230can increase the value of active activities such as nearby hiking routes.

In some embodiments, the recommendation component230uses a social media factor to optimize the activity recommendations. The recommendation component230can integrate with a social media account. For example, the recommendation component230can use a web crawling technique and/or computer vision CV technology to determine what kind of activities or foods the user prefers. The recommendation component230can use natural language processing NLP to group keywords associated with potential recommendations (e.g. from geotagged public social media posts), and characterize a potential activity recommendation as appropriate for a certain mood or activity level.

In some embodiments, the recommendation component230uses a mood factor to optimize the activity recommendations. For example, the recommendation component230leverages data from a wearable device that can measure galvanic skin response, heart rate, heart rate variability, and/or the like. The recommendation component230can utilize the mood data and match the mood to the user's previous activities to build a picture of moods over time. In other embodiments, the recommendation component230uses an augmented reality factor to optimize the activity recommendations. For example, the recommendation component230leverages an augmented reality AR visualizations for the user's115searching trends to factor for the activity recommendations.

In some embodiments, the activity coordinator105includes an interface component250. The interface component250can access a secondary service260. The interface component250can access the secondary service260over a network, server, internet connection, wireless network, wired network, and/or the like. In some embodiments, the interface component250can utilize an application programming interface API to send and receive data from the secondary service260. The secondary service260can be an application on a user device, a cloud application, and/or the like. The secondary service260can be associated with a user account that can schedule secondary activities for the user. For example, the secondary service260can be a rideshare application associated with the user and/or user account. The interface component250can send a command (or interface with) for the secondary service260to schedule a recommended secondary activity using the secondary service260.

FIG.3illustrates a detailed component diagram of a recommendation component230. The recommendation component230include a comparison component310. The comparison component310can determine customers that are similar to the user115. For example, the comparison component310can access customer information of a plurality of customers associated with a financial institution240. The comparison component310can determine similar customers of the financial institution240to the user that match attributes of the user115. In some embodiments, the comparison component310can determine a similarity score between the customer and customer data of the financial institution. The comparison component310determines a set of similar customers to the customer based on the similarity score exceeding a threshold score.

The recommendation component230includes an analysis component320. The analysis component320analyzes transaction data of the set of similar customers to determine the activity recommendation. For example, if a majority of the set of similar customers have a transaction at a nearby restaurant in the same area as the keystone activity120, the analysis component320recommends that the user115book a reservation at the restaurant (e.g. a dining recommendation).

In some embodiments, the analysis component320can base the activity recommendations125on transaction data of the user115and/or other customer data of the financial institution240. The analysis component320generates activity recommendations125based on the keystone activity120. The analysis component320generates one or more secondary activities130. The analysis component320presents the activity recommendations to the user115via a user device135. Secondary activities can be activities that are related to the keystone activity120. For example, if the keystone activity120is a movie showing at a cinema, a secondary activity130can be transportation to and/or from the cinema or a restaurant reservation near the cinema for after the movie showing. The analysis component320can automatically schedule the transportation or reservation or present the options to the user115to confirm the secondary activity130selection.

The analysis component320generates activity recommendations for the user115via a variety of techniques. In some embodiments, the analysis component320determines other users that are attending the keystone activity120. The analysis component320can further determine secondary activities that the other users have planned to base the activity recommendations around.

In some embodiments, the analysis component320determines activity recommendations in a sequence and/or timing around the keystone activity120. For example, the analysis component320analyze the transaction data to determine when the user115typically likes to eat dinner. The analysis component320can determine whether the user115would prefer to eat before or after the keystone activity120. The analysis component320can determine how much time the user115usually uses to complete a secondary activity130. For example, the analysis component320can correlate a dining reservation with a timestamped transaction at the restaurant to determine how long the user115likes to take to complete a meal at the restaurant.

The recommendation component230includes a model component330. The model component330can analyze the transaction data according to a recommendation model. The recommendation model can be a model that is trained with the customer data of the financial institution using a machine learning technique to learn trends and/or relationships between data points. The recommendation model can determine a likelihood of a secondary activity130being needed or wanted and provide the secondary activities that the user115would most likely book.

The model component330develops the recommendation model according to transaction data of the user and the set of similar customers. The model component330can train the recommendation model via a machine learning technique using a set of similar customer data and/or previous transactions. The recommendation model can be trained via purchase data or transaction data of a set of customers that are similar to the user115.

The recommendation model can be trained via purchase data or transaction data of a set of customers that are similar to the user115. The similarity can be based on demographics, income, location, and/or the like. In some embodiments, the set of similar customers can be determined by comparing a similarity score of each customer or a subset of disparate customers to a similarity score of the user115. The recommendation component230can access a financial institution240. The financial institution240stores customer information for the set of customers. The customer information can be analyzed to generate a set of customers that are similar demographically to the user. The model component330can determine the secondary activities using the set of similar customers. For example, the set of customers all have similar incomes as that of the user115. The model component330and/or recommendation model can determine a second activity that is most commonly purchased by the set of customers (e.g. a purchase recommendation).

In some embodiments, the model component330optimizes the recommendation model according to further data factors. The data factors can include at least one of distance, demographic, weather, transaction history, social media, wearable device data, augmented reality visualization of the user115, and/or the like. The data factors become part of the recommendation model to optimize the activity recommendations125.

The model component330can further develop the recommendation model over time. For example, the model component330can keep track of secondary activities that the user115is presented with and which secondary activities are accepted/rejected. The model component330updates the recommendation model according to the user's115live selections.

With reference toFIG.4, example method400is depicted for keystone activity based recommendations. While, for purposes of simplicity of explanation, the one or more methodologies shown herein, e.g., in the form of a flow chart, are shown and described as a series of acts, it is to be understood and appreciated that the subject innovation is not limited by the order of acts, as some acts may, in accordance with the innovation, occur in a different order and/or concurrently with other acts from that shown and described herein. For example, those skilled in the art will understand and appreciate that a methodology could alternatively be represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all illustrated acts may be required to implement a methodology in accordance with the innovation. It is also appreciated that the method400are described in conjunction with a specific example is for explanation purposes.

FIG.4illustrates a method400for keystone activity based suggestions. At410, a user115is monitored for keystone activities. At420, a keystone activity or plans for a keystone activity are detected. The user115can be monitored using correspondence, transactions, social media posts, and/or the like to find plans to attend a keystone activity120. At430, a set of similar customers to the user115is determined. An activity coordinator105can determine the set of similar customers of a financial institution to the user115by matching or factoring transaction histories, demographic data, customer interests, and/or the like.

At440, activity recommendations are generated based on the set of similar customers and/or the user's115transaction history. The activity coordinator105can use a recommendation model to determine the activity recommendations. The recommendation model can be determines using machine learning techniques to train the model using transaction histories. At450, the activity recommendations can be optimized according to data factors. The activity coordinator105can factor in distance, demographic, weather, transaction history, social media, wearable device data, augmented reality visualization of the user115, and/or the like. At460, a secondary activity of the activity recommendations can be automatically selected and scheduled. For example, the activity coordinator105can schedule a rideshare transportation for when the keystone activity is determined to end.

The innovation disclosed and claimed herein, in one aspect thereof, comprises systems and methods of keystone activity based suggestions. A method for planning a secondary activity related to a keystone activity of a user, comprising: analyzing financial transaction data, correspondence data, and past activity data of the user; determining the keystone activity of the user based on the analysis of the financial transaction data, correspondence data, and past activity data, wherein the keystone activity is an upcoming event for the user; analyzing a set of data factors related to the analysis of the financial transaction data, correspondence data, and past activity data in view of the keystone activity; and predicting, via a recommendation model, an activity recommendation for the user based on the analysis of the set of data factors, wherein the activity recommendation is the secondary activity that succeeds the keystone activity.

A system that schedules a secondary activity in view of a keystone activity of a user, comprising one or more processors having instructions. The instructions comprise: analyzing a first set of financial transaction data of a user; identifying the keystone activity of the user based on the analysis of the first set of financial transaction data, wherein the keystone activity is a planned event for the user; training a recommendation model according to a set of data factors associated with the keystone activity and the user; identifying the secondary activity based on the recommendation model; and scheduling the secondary activity via a secondary service based on the recommendation model.

A method of suggesting a secondary activity that succeeds a keystone activity, comprising: analyzing financial transaction data of a user; identifying the keystone activity of the user based on a result of the analysis, wherein the keystone activity is a planned event for the user; accessing customer data of a financial institution, wherein the customer data includes financial transaction data of disparate customers of the financial institution; determining a similarity score between the financial data of the user and the customer data of the financial institution; determining a set of similar customers to the user based on the similarity score; analyzing financial transaction data of the set of similar customers; determining a secondary activity based on the analysis of the financial transaction data of the set of similar customers in view of a recommendation model that is trained with historical transaction data of customers of the financial institution; and suggesting the secondary activity for the user via a financial services application installed on a mobile device.

As used herein, the terms “component” and “system,” as well as various forms thereof (e.g., components, systems, sub-systems . . . ) are intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an instance, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a computer and the computer can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.

The conjunction “or” as used in this description and appended claims is intended to mean an inclusive “or” rather than an exclusive “or,” unless otherwise specified or clear from context. In other words, “‘X’ or ‘Y’” is intended to mean any inclusive permutations of “X” and “Y.” For example, if “‘A’ employs ‘X,’” “‘A employs ‘Y,’” or “‘A’ employs both ‘X’ and ‘Y,’” then “‘A’ employs ‘X’ or ‘Y’” is satisfied under any of the foregoing instances.

Furthermore, to the extent that the terms “includes,” “contains,” “has,” “having” or variations in form thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.

To provide a context for the disclosed subject matter,FIG.5as well as the following discussion are intended to provide a brief, general description of a suitable environment in which various aspects of the disclosed subject matter can be implemented. The suitable environment, however, is solely an example and is not intended to suggest any limitation as to scope of use or functionality.

While the above disclosed system and methods can be described in the general context of computer-executable instructions of a program that runs on one or more computers, those skilled in the art will recognize that aspects can also be implemented in combination with other program modules or the like. Generally, program modules include routines, programs, components, data structures, among other things that perform particular tasks and/or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the above systems and methods can be practiced with various computer system configurations, including single-processor, multi-processor or multi-core processor computer systems, mini-computing devices, server computers, as well as personal computers, hand-held computing devices (e.g., personal digital assistant (PDA), smart phone, tablet, watch . . . ), microprocessor-based or programmable consumer or industrial electronics, and the like. Aspects can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. However, some, if not all aspects, of the disclosed subject matter can be practiced on stand-alone computers. In a distributed computing environment, program modules may be located in one or both of local and remote memory devices.

With reference toFIG.5, illustrated is an example computing device500(e.g., desktop, laptop, tablet, watch, server, hand-held, programmable consumer or industrial electronics, set-top box, game system, compute node . . . ). The computing device500includes one or more processor(s)510, memory520, system bus530, storage device(s)540, input device(s)550, output device(s)560, and communications connection(s)570. The system bus530communicatively couples at least the above system constituents. However, the computing device500, in its simplest form, can include one or more processors510coupled to memory520, wherein the one or more processors510execute various computer executable actions, instructions, and or components stored in the memory520.

The computing device500can include or otherwise interact with a variety of computer-readable media to facilitate control of the computing device to implement one or more aspects of the disclosed subject matter. The computer-readable media can be any available media that accessible to the computing device500and includes volatile and nonvolatile media, and removable and non-removable media. Computer-readable media can comprise two distinct and mutually exclusive types, namely storage media and communication media.

Storage media includes volatile and nonvolatile, removable, and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Storage media includes storage devices such as memory devices (e.g., random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM) . . . ), magnetic storage devices (e.g., hard disk, floppy disk, cassettes, tape . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD) . . . ), and solid state devices (e.g., solid state drive (SSD), flash memory drive (e.g., card, stick, key drive . . . ) . . . ), or any other like mediums that store, as opposed to transmit or communicate, the desired information accessible by the computing device500. Accordingly, storage media excludes modulated data signals as well as that described with respect to communication media.

The memory520and storage device(s)540are examples of computer-readable storage media. Depending on the configuration and type of computing device, the memory520may be volatile (e.g., random access memory (RAM)), non-volatile (e.g., read only memory (ROM), flash memory . . . ) or some combination of the two. By way of example, the basic input/output system (BIOS), including basic routines to transfer information between elements within the computing device500, such as during start-up, can be stored in nonvolatile memory, while volatile memory can act as external cache memory to facilitate processing by the processor(s)510, among other things.

The storage device(s)540include removable/non-removable, volatile/non-volatile storage media for storage of vast amounts of data relative to the memory520. For example, storage device(s)540include, but are not limited to, one or more devices such as a magnetic or optical disk drive, floppy disk drive, flash memory, solid-state drive, or memory stick.

Memory520and storage device(s)540can include, or have stored therein, operating system580, one or more applications586, one or more program modules584, and data582. The operating system580acts to control and allocate resources of the computing device500. Applications586include one or both of system and application software and can exploit management of resources by the operating system580through program modules584and data582stored in the memory520and/or storage device(s)540to perform one or more actions. Accordingly, applications586can turn a general-purpose computer500into a specialized machine in accordance with the logic provided thereby.

All or portions of the disclosed subject matter can be implemented using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control the computing device500to realize the disclosed functionality. By way of example and not limitation, all or portions of the activity coordinator105can be, or form part of, the application586, and include one or more modules584and data582stored in memory and/or storage device(s)540whose functionality can be realized when executed by one or more processor(s)510.

In accordance with one particular embodiment, the processor(s)510can correspond to a system on a chip (SOC) or like architecture including, or in other words integrating, both hardware and software on a single integrated circuit substrate. Here, the processor(s)510can include one or more processors as well as memory at least similar to the processor(s)510and memory520, among other things. Conventional processors include a minimal amount of hardware and software and rely extensively on external hardware and software. By contrast, an SOC implementation of processor is more powerful, as it embeds hardware and software therein that enable particular functionality with minimal or no reliance on external hardware and software. For example, the activity coordinator105and/or functionality associated therewith can be embedded within hardware in a SOC architecture.

The input device(s)550and output device(s)560can be communicatively coupled to the computing device500. By way of example, the input device(s)550can include a pointing device (e.g., mouse, trackball, stylus, pen, touch pad . . . ), keyboard, joystick, microphone, voice user interface system, camera, motion sensor, and a global positioning satellite (GPS) receiver and transmitter, among other things. The output device(s)560, by way of example, can correspond to a display device (e.g., liquid crystal display (LCD), light emitting diode (LED), plasma, organic light-emitting diode display (OLED) . . . ), speakers, voice user interface system, printer, and vibration motor, among other things. The input device(s)550and output device(s)560can be connected to the computing device500by way of wired connection (e.g., bus), wireless connection (e.g., Wi-Fi, Bluetooth . . . ), or a combination thereof.

The computing device500can also include communication connection(s)570to enable communication with at least a second computing device502by means of a network590. The communication connection(s)570can include wired or wireless communication mechanisms to support network communication. The network590can correspond to a local area network (LAN) or a wide area network (WAN) such as the Internet. The second computing device502can be another processor-based device with which the computing device500can interact. For example, the computing device500can correspond to a server that executes functionality of the activity coordinator105, and the second computing device502can be a user device that communications and interacts with the computing device500.

What has been described above includes examples of aspects of the claimed subject matter. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the claimed subject matter, but one of ordinary skill in the art may recognize that many further combinations and permutations of the disclosed subject matter are possible. Accordingly, the disclosed subject matter is intended to embrace all such alterations, modifications, and variations that fall within the spirit and scope of the appended claims.