WO2015148559A1 - Data mesh platform - Google Patents
Data mesh platform Download PDFInfo
- Publication number
- WO2015148559A1 WO2015148559A1 PCT/US2015/022318 US2015022318W WO2015148559A1 WO 2015148559 A1 WO2015148559 A1 WO 2015148559A1 US 2015022318 W US2015022318 W US 2015022318W WO 2015148559 A1 WO2015148559 A1 WO 2015148559A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- module
- activity
- data
- attribute
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Recommending goods or services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Managing shopping lists, e.g. compiling or processing purchase lists
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—Two-dimensional [2D] image generation
- G06T11/20—Drawing from basic elements
- G06T11/26—Drawing of charts or graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/107—Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1042—Peer-to-peer [P2P] networks using topology management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/69—Types of network addresses using geographic information, e.g. room number
Definitions
- Embodiments of the present disclosure relate generally to a data mesh platform.
- Example 1 A system comprising: an attribute module to receive attribute data associated with a user from a plurality of attribute sources; an item module to extract demand indications from the attribute data, the demand indications being indicative of anticipatory demand by the user for a particular item; an analysis module, implemented by a hardware processor of a machine, to identify a pertinent item from the attribute data based on the extracted demand indications; a characteristic module to infer user
- an order module to determine transaction parameters for a suggested transaction associated with the pertinent item based, at least in part, on the user characteristics and facilitating the suggested transaction according to the determined transaction parameters.
- Example 2 The system of example 1, wherein the at least one order parameter includes at least one of a quantity, a delivery time, a payment time, a delivery method, a delivery destination, a merchant, or a product.
- Example 3 A method comprising: receiving attribute data associated with a user from a plurality of attribute sources; extracting demand indications from the attribute data, the demand indications being indicative of anticipatory demand by the user for a particular item; identifying, using a hardware processor of a machine, a commerce item from the attribute data based on the extracted demand indications; inferring user characteristics pertaining to the user from the attribute data; determining order parameters for a user purchase associated with the commerce item based, at least in part, on the inferred user characteristics; and facilitating the user purchase according to the determined order parameters.
- Example 4 The method of example 3, wherein the at least one order parameter includes at least one of a quantity , a delivery time, a payment time, a delivery method, a delivery destination, a merchant, or a product.
- Example 5 The method of example 3, further comprising: extracting a current inventory level of the commerce item from the attribute data; determining an inventory threshold for the commerce item by modeling usage of the commerce item based on the extracted current inventory level and the inferred user characteristics; identifying a mismatch between the inventory threshold and the current inventor '- level; and based on the mismatch, automatically performing the user purchase on behalf of the user.
- Example 6 The method of example 3, further comprising: identifying a purchase motive of the user for the commerce item by analyzing the inferred user characteristics, the purchase motive corresponding to a motive time; determining temporal order parameters, included in the order parameters, based on the motive time; and facilitating the user purchase according to the determined temporal order parameters.
- Example 7 The method of example 3, further comprising: identifying similar users, from among a plurality of other users, that are similar to the user based on the inferred user characteristics and respective user characteristics of the plurality of other users: and determining the order parameters based on the user characteristics of the identified similar users.
- Example 8 The method of example 3, further comprising: accessing purchase criteria corresponding to the user; and automatically purchasing the commerce item on behalf of the user according to the purchase criteria.
- Example 9 The method of example 8, wherein the purchase criteria include at least one criterion corresponding to a budget; and wherein the automatically purchasing the comm erce item on behalf of the user is based, at least in part, on the budget.
- Example 10 The method of example 8, further comprising: determining an item category for the commerce item, the purchase criteria including criteria corresponding to the item category; and facilitating the user purchase of the commerce item according to the purchase criteria corresponding to the determined item category,
- Example 1 1. The method of example 3, further comprising: generating a notification that includes an option to make the user purchase, the notification including the determined order parameters; causing presentation of the notification to the user; receiving a user selection of the option to make the user purchase; and responsive to receiving the user selection, performing the user purchase according to the determined order parameters.
- Example 12 The method of example 1 1, further comprising: identifying presentation parameters for presentation of the notification to the user based on the inferred user characteristics, the presentation parameters including a presentation time and a presentation device; and causing presentation of the notification according to the presentation parameters.
- Example 13 The method of example 1 1, further comprising: adapting the presentation of the notification to the user based, at least in part, on the inferred user characteristics.
- Example 14 The method of example 1 1 , further comprising: detecting a trigger action of the user based on real-time data included in the attribute data; and based on the detected trigger action, causing presentation of the notification to the user.
- Example 15 The method of example 3, further comprising: calculating a demand metric for ihe commerce item based on the demand indications corresponding to the commerce item; and facilitating the user purchase associated with the commerce item based, at least in part, on the demand metric.
- Example 16 The method of example 15, further comprising: automatically performing the user purchase on behalf of the user based on the demand metric exceeding a threshold.
- Example 17 The method of example 15, further comprising: based on demand metric exceeding a threshold, generating a notification providing the user an option to purchase the commerce item, the notification including the determined order parameters; and causing presentation of the notification to the user.
- Example 18 A machine readable medium storing instructions that, when executed by at least one processor of a machme, cause the machine to perform operations comprising: receiving attribute data associated with a user from a plurality of attribute sources; extracting demand indications from the attribute data, the demand indications being indicative of anticipatory demand by the user for a particular item; identifying an item from the attribute data based on the extracted demand indications; inferring user characteristics pertaining to the user from the attribute data; determining order parameters for a user purchase associated with the commerce item based, at least in part, on the inferred user characteristics; and facilitating the user purchase according to the determined order parameters.
- Example 19 The machine-readable medium of example 18, wherein the at least one order parameter includes at least one of a quantity, a delivery time, a payment time, a delivery method, a delivery destination, a merchant, or a product.
- Example 20 The machine-readable medium of example 18, wherein the operations further comprise: extracting a current inventory level of the commerce item from the attribute data; determining an inventory threshold for the commerce item by modeling usage of the commerce item based on the extracted current inventory level and the inferred user characteristics; identifying a mismatch between the inventory threshold and the current inventory level; and based on the mismatch, automatically performing the user purchase on behalf of the user,
- Example 21 A system comprising: an attribute module to receive attribute data associated with a user from a plurality of attribute sources, the attribute data including real-time data; an authentication module, implemented by a hardware processor of a machine, to identify a portion of the real-time data indicative of user identification, and to authenticate the user identification with respect to the real-time data based on an analysis of the identified portion of the real-time data; and an activity module t o, in response to the analysis of the portion of the real-time data authenticating the user identificat on, identify a user objective being advanced by the user based on the real-time data, and to augment an environment of the user based on a user setting to facilitate advancement towards the user objective.
- an attribute module to receive attribute data associated with a user from a plurality of attribute sources, the attribute data including real-time data
- an authentication module implemented by a hardware processor of a machine, to identify a portion of the real-time data indicative of user identification, and to authenticate the user identification with respect to the real-time data based on an analysis
- Example 22 The system of example 21 , wherein the authentication module is further to: calculate an identity likelihood metric based on the real-time data, the identity likelihood metric indicating a likelihood of authentication of the user identification with respect to the real-time data; and authenticate the user identification based on the identity likelihood metric exceeding a threshold.
- Example 23 The system of example 22, wherein the authentication module is further to identify, from the real-time data, a portable device that corresponds to the user, wherein the identity likelihood metric is based on the identified portable device.
- Example 24 The system of example 22, wherein the real-time data includes sensor data corresponding to the user and wherein the identify likelihood metric is based in part on the sensor data.
- Example 25 The system of example 22, wherein the authentication module is further to: extract past identification indications from past attribute data that corresponds to the user, wherein the attribute data includes the past attribute data; extract real-time identification indications from the real-time data corresponding to the user; and calculate the identity likelihood metric by correlating the real-time identification indications with the past identification indications.
- Example 26 A method comprising: receiving attribute data associated with a user from a plurality of attribute sources, the attribute data including real -time data; identifying a portion of the real-time data indicati ve of an identity of the user; authenticating, using a hardware processor of a machine, the identity of the user with respect to the real-time data by analyzing the identified portion of the real-time data; based on the authenticating of the identity of the user, identifying a user activity being performed by the user based on the real-time data; and augmenting the user activity according to a user setting.
- Example 27 The method of example 26, further comprising: calculating an identity likelihood metric based on the identified portion of the real-time data, the identity likelihood metric indicating a likelihood of authentication of the identity of the user with respect to the real-time data; and authenticating the identity of the user based on the identity likelihood metric exceeding a threshold.
- Example 28 The method of example 27, further comprising: identifying, from the real-time data, a portable device corresponding to the user, wherein the identity likelihood metric is based on the identified portable device.
- Example 29 The method of example 27, wherein the real-time data includes sensor data corresponding to the user and wherein the identity likelihood metric is based, at least in part, on the sensor data.
- Example 30 The method of example 27, further comprising: extracting past identification indications from past attribute data corresponding to the user, wherein the attribute data ineludes the past attribute data; extracting real-time identification indications from the real-time data corresponding to the user; and calculating the identity likelihood metric by correlating the real-time identification indications with the past identification indications.
- Example 31 The method of example 27, further comprising: adjusting a security level of an authorization task based on the identity likelihood metric, the user activity including the authorization task.
- Example 32 The method of example 31 , wherein the adjusting the security level of the authorization task includes automatically performing the authorization task on behalf of the user,
- Example 33 The method of example 26, further comprising: determining the user setting based on the attribute data and the user activity; and augmenting the user activity according to the determined user setting.
- Example 34 The method of example 33, further comprising: inferring user characteristics based on an analysis of a portion of the attribute data; determining the user setting based on the inferred user characteristics and the user activity; and augmenting the user activity according to the determined user setting.
- Example 35 The method of example 34, further comprising: identifying similar users that are similar to the user based on the inferred user characteristics and respective user characteristics of the similar users; and determining the user setting based on the user characteristics of the identified similar users.
- Example 36 The method of example 26, further comprising: determining the user activity includes presentation of a user interface to the user; identifying presentation devices available to the user based on the attribute data, the presentation devices being capable of presenting the user interface to the user; determining an alternate presentation device from among the identified presentation devices based on the user setting; and causing presentation of the user interface to the user on the alternate presentation device.
- Example 37 The method of example 26, further comprising: determining a current location of the user based on the real-time data; accessing device location data included in the attribute data; identifying user devices within an operating distance of the user based on the current location of the user and the device location data: and augmenting operation of the identified user devices according to the user setting.
- Example 38 The method of example 26, further comprising: identifying a user ac tion of the user based on the real-time data, the user action being in response to the augmented user activity; inferring an augmentation result of employing the user setting to augment the user activity; and storing the augmentation result to be used subsequently to determine the user setting.
- Example 39 A machine readable medium having no transitory signals and storing instructions that, when executed by at least one processor of a machine, cause the machine to perform operations comprising: receiving attribute data associated with a user from a plurality of attribute sources, the attribute data including real-time data; identifying a portion of the real-time data indicative of an identity of the user; authenticating the identity of the user with respect to the real-time data by analyzing the identified portion of the real-time data; based on the authenticating of the identity of the user, identifying a user activity being performed by the user based on the real-time data; and modifying the user activity according to a user setting.
- Example 40 The machine-readable medium of example 39, wherein the operations further comprise: calculating an identity likelihood metric based on the identified portion of the real-time data, the identity likelihood metric indicating a likelihood of authentication of the identity of the user with respect to the real-time data; and authenticating the identity of the user based on the identity likelihood metric exceeding a threshold.
- Example 41 A system comprising: an attribute module to receive attribute data associated with a user from a plurality of attribute sources; a characteristic module to infer user characteristics based on an analysis of at least a portion of the attribute data; a visualization module, implemented by a hardware processor of a machine, to generate a visualization based at least in part on the user characteristic, the visualization being representative of the attribute data; and a presentation module to cause presentation of the visualization to the user.
- Example 42 The system of example 41 , wherein the presentation module is further to receive user input indicating a change to the visualization, the visualization module further to update the visualization according to the change indicated by the user input, and the characteristic module further to infer subsequent user characteristics based, at least in part, on the user input.
- Example 43 The system of example 42, wherein the user input comprises a user interaction with the visualization.
- Example 44 The system of example 41, further comprising: an analysis module to identify similar users from among a plurality of other users that are similar to the user based on the inferred user characteristics and respective user characteristics of the plurality of other users; and the visualization module further to generate the visualization based on the user characteristics of the identified similar users.
- Example 45 The system of example 41, further comprising an analysis module to: determine satisfaction of a reward criteria associated with ihe attribute data; and provide a reward to the user based on the determined satisfac tion of the reward criteria, wherein the reward comprises a visualization feature.
- Example 46 The system of example 45, wherein the analysis module is further to: calculate a completeness metric based on the attribute data, the reward criteria including a criterion based on the completeness metric.
- Example 47 The system of example 46, wherein the completeness metric indicates a quantity of a specified type of data included in the attribute data and wherein the criterion based on the completeness metric is satisfied by the user providing the specified type of data.
- Example 48 The system of example 45, wherein the analysis module is further to: calculate a quality metric based on the attribute data, the reward criterion including a criterion based on the quality metric.
- Example 49 The system of example 48, wherein the quality metric indicates a recentaess of the attribute data and wherein the criierion based on the quality metric is satisfied by the user providing recent data.
- Example 50 A method comprising: receiving attribute data associated with a user from a plurality of attribute sources; inferring user characteristics pertaining to the user from the attribute data, the user characteristics including a physical characteristic of the user; generating, using a hardware processor of a machine, an avatar representative of the user based on ihe inferred user characteristics, the avatar including an avatar trait
- Example 51 The method of example 50, further comprising: receiving user input indicating a change to the avatar; and updating the avatar according to the change indicated by the user input, subsequent inferred user characteristics being inferred based, at least in part, on the user input.
- Example 52 The method of example 51 , wherein the user input comprises a user interaction with the avatar.
- Example 53 The method of example 50, further comprising: identifying similar users, from among a plurality of other users, that are similar to the user based on the inferred user characteristics and respective user characteristics of the plurality of other users; and determining the avatar trait based on the user characteristics of the identified similar users.
- Example 54 The method of example 50, further comprising: determining satisfaction of a reward criteria associated with the attribute data; and pro viding a reward to the user based on the determined satisfaction of the reward criteria, wherein the reward comprises an avatar feature.
- Example 55 The method of example 54, further comprising: calculating a completeness metric based on the attribute data, the reward criteria including a criterion based on the completeness metric.
- Example 56 The method of example 55, wherein the completeness metric indicates a quantity of a specified type of data included in the attribute data and wherein the criterion based on the completeness metric is satisfied by the user providing the specified type of data.
- Example 57 The method of example 54, further comprising: calculating a quality metric based on the attribute data, the reward criterion including a criterion based on the qualify metric.
- Example 58 The method of example 57, wherein the quality metric indicates a recentness of the attribute data and wherein the criterion based on the quality metric is satisfied by the user providing recent data.
- Example 59 T he method of example 54, further comprising: identifying similar users from among a plurality of other users that are similar to the user based on the inferred user characteristics and respective user characteristics of the plurality of other users; and determining satisfaction of the reward criteria based on the attribute data associated with the identified similar users,
- Example 60 A machine readable medium storing instructions that, when execuied by at least one processor of a machine, cause the machine to perform operations comprising: receiving attribute data associated with a user from a plurality of attribute sources; inferring user characteristics from the attribute data, the user characteristics pertaining to the user: generating a user interface including an avatar representative of the user based on the inferred user characteristics, the user characteristics including a physical characteristic of the user, the avatar including an avatar trait corresponding to the physical characteristic of the user; and causing presentation of the user interface in a device of the user.
- FIG, 1 is a block diagram illustrating a networked system, according to some example embodiments.
- FIG. 2. is a block diagram illustrating an example embodiment of a data mesh system, according to some example embodiments.
- FIG. 3 is a block diagram illustrating an example embodiment of an ancillary activity system, according to some example embodiments.
- FIG. 4 illustrates an example of generating ancillary activity for a secondary user device, according to some example embodiments
- FIG. 5 is a flow diagram illustrating an example method for generating ancillary activity for a secondary user device, according to some example embodiments.
- FIG. 6 is a flow diagram illustrating further operations for inferring a user preference from the attribute data, according to some example embodiments.
- FIGS. 7 and 8 are flow diagrams illustrating further operations for facilitating identifying a secondary user device, according to some example embodiments.
- FIGS. 9 and 10 are flow diagrams illustrating further operations for generating an ancillar '- activity for a secondary user device, according to some example embodiments.
- FIG, 11 illustrates an example scene showing a presentation of ancillary activity to the user, according to some example embodiments.
- FIGS. 12 and 13 depict example user interfaces that present ancillary activity, according to some example embodiments.
- FIG. 14 is a block diagram illustrating an example embodiment of a user analytics system, according to some example embodiments.
- FIG. 15 is a flow diagram illustrating an example method for identifying an item and facilitating a purchase associated with the identified item, according to some example embodiments.
- FIG. 16 is a flow diagram illustrating further operations for facilitating the purchase based, at least in part, on an evaluation of an inventory level, according to some example embodiments.
- FIG, 17 is a flow diagram illustrating further operations for facilitating the purchase including operations to determine parameters for the purchase, according to some example embodiments.
- FIG. 18 is a flow diagram illustrating further operations for determining order parameters including operations to determine a temporal parameter associated with the purchase, according to some example
- FIG. 19 is a flow diagram illustrating further operations to facilitate the purchase based, at least in part on purchase criteria, according to some example embodiments.
- FIG. 20 is a flow diagram illustrating a further example method for identifying an item and facilitating a purchase, according to some example embodiments.
- FIG. 21 is a flow diagram illustrating an alternative example method for identifying an item and facilitating a purchase, according to some example embodiments.
- FIG, 22 is a flow diagram illustrating further operations to facilitate the purchase based, at least in part, on a demand metric, according to some example embodiments.
- FIG. 23 is a flow diagram illustrating further operations to facilitate the purchase using a notification, according to some example embodiments.
- FIGS. 24 and 25 are flow diagrams illustrating further operations for presenting a notification, according to some example embodiments.
- FIG, 26 is a flow diagram illustrating communication between various devices in relation to presenting a notification to the user, according to some example embodiments.
- FIG. 27 depicts an example user interface to facilitate the purchase, according to some example embodiments.
- FIGS. 28 and 29 illustrate examples of identifying an item and facilitating a purchase associated with the identified item, according to some example embodiments.
- FIG. 30 is a block diagram illustrating an example embodiment of an augmentation system, according to some example embodiments.
- FIG. 31 is a flow diagram illustrating an example method for authenticating a user and augmenting a user aetiviiy, according to some example embodiments.
- FIGS. 32 and 33 are flow diagrams illustrating further example operations of the method of FIG. 31, according to some example embodiments.
- FIG. 34 depicts communication between a device of the user and the data mesh system, according to some example embodiments.
- FIGS. 35-38 are flow diagrams illustrating further example operations of the method of FIG. 31, according to some example embodiments.
- FIG. 39 illustrates augmenting an example user activity, according to some example embodiments.
- FIG. 40 depicts an example user interface to facilitate augmentation of a user activity, according to some example embodiments.
- FIG. 41 is a flow diagram illustrating various communications to facilitate the method of FIG . 31, according to some example embodiments.
- FIG, 42 is a block diagram illustrating an example embodiment of a visualization system, according to some example embodiments.
- FIG, 43 is a flow diagram illustrating an example method for generating a visualization, according to some example embodiments.
- FIG. 44 is a flow diagram illustrating further example operations of the method of FIG. 43, according to some example embodiments.
- FIG. 45 is a flow diagram illustrating an example method for determining satisfaction of reward criteria, according to some example embodiments.
- FIG, 46 is a flow diagram illustrating further example operations of the method of FIG. 43, according to some example embodiments.
- FIG. 47 is a flow diagram illustrating various communications to facilitate the method of FIG. 43, according to some example embodiments.
- FIGS. 48, 49, 50A and SOB depict example user interfaces including example visualizations, according to some example embodiments.
- FIGS. 51 A and 5 IB depict example configurations for
- FIG. 52 depicts various example attribute sources, according to some example embodiments.
- FIG, 53 depicts various components that provide attribute data, according to some example embodiments.
- FIG. 54 is a block diagram of an example data structure for example attribute data associated with a user, according to some example embodimenis,
- FIG. 55 is a block diagram of an example data structure for example attribute data associated with a device, according to some example embodiments.
- FIG. 56 is a block diagra illustrating an example of a software architecture that may be installed on a machine, according to some example embodiments.
- FIG. 57 iliusirates a diagrammatic representation of a machine in the form of a computer system within which a set of instructions may be executed for causing the machine to perform any one or more of the
- the discussion below describes systems and methods that, in some embodiments, utilize multiple devices to perform, in real time, an ancillary, complementary, or supplemental activity associated with a particular activity or task.
- the systems and methods distribute a portion of a particular activity or task across multiple devices.
- the ancillary or supplemental activity associated with a particular device activity may be determined based on a variety of factors including an inferred user preference, device functionality, and the device activity.
- the ancillary activity is dynamically determined and performed for the user in real time to assist the user with the device activity ,
- a device activity being performed in real time by a user device of a user is detected.
- the user may be browsing a website on a mobile device or a laptop computer.
- attribute data associated with the user from a plurality of attribute sources is accessed.
- the attribute data is received or accessed from a broad range of attribute sources such as, for example, from mobile devices, smart devices, smart homes, social network services, user profiles, browsing histories, purchase histories, and so forth.
- a user preference is inferred indicating a preference or desire of the user for performing on a secondary user device an ancillary, supplemental, complementary, or companion activity corresponding to the device activity.
- an analysis of the attribute data can indicate the user would like to view supplemental content corresponding to the device activity.
- the ancillary activity comprises presenting the supplemental content to the user on the secondary user device.
- the secondary user device can be identified according to a device status of the secondary user device, according to some example embodiments.
- the device status indicates a device capability to perform the ancillary activity in real time. For example, if the ancillary activity comprises presenting content to the user, the secondary user device may be incapable of performing such a task if the secondary user device is not within a vicinity of the user (e.g., within a presentation distance of the user).
- the ancillary activity to be performed in real time on the secondary user device, is generated by analyzing the device activity, a device functionality of the secondary user device, and the user preference. For example, if the device acti vity comprises providing directions to the user, the ancillary activity may comprise providing content associated with providing directions such as a current heading or distance to destination readout. In various implementations, the ancillary activity is caused to be performed on the secondary user device or transmitted to the secondary user device with instruction to perform in real time the ancillary activity.
- the objective of zero effort shopping is to reduce or eliminate effort by a consumer user to purchase various products.
- the systems and methods described herein may, among other functions, access a wealth of attribute data associated with a user, analyze the attribute data to identity items that the user may have demand for, and facilitate a purchase associated with the identified items. For instance, the user may be characterized based on an analysis of the attribute data, and the user characterization may be used as a basis for identifying items and order parameters for a purchase associated with identified items.
- the collective, aggregated attribute data may be referred to as a "dat mesh.”
- the attribute data is received or accessed from a broad gamut of attribute sources such as, for example, mobile devices, smart devices, smart homes, social network services, user profiles, browsing histories, purchase histories, and so forth.
- Demand indications that are indicative of anticipatory demand by the user for a particular item are extracted from the attribute data.
- purchase histories may indicate prior purchases for coffee products
- location dat e.g., as determined by a Global Positionmg System (GPS) component of a mobile device, beacon detections, or other location services
- GPS Global Positionmg System
- beacon detections e.g., as determined by a Global Positionmg System (GPS) component of a mobile device, beacon detections, or other location services
- social media data such as check-ins or user postings may indicate an affinity for coffee.
- a commerce item may be identified from the attribute data based on the extracted demand indications.
- the identified commerce item may comprise coffee beans, coffee filters, or other coffee-related items.
- user characteristics pertaining to the user are inferred based on an analysis of a portion of the attribute data.
- the user characteristics include, for instance, a trait, quality, action, activity, attitude, health condition, habit, behavior, and the like.
- the user characteristics may include a particular medical condition of that user associated with diet restrictions.
- the systems and methods described herein may facilitate a purchase associated with the commerce item based, at least in part, on the user characteristics.
- a notification including an option to make the purchase, is presented to the user.
- the notification is personalized to the user based on the user characteristics (e.g., the notification may be presented on a preferred device of the user at a time of day
- the purchase is made automatically on behalf of the user. For instance, a demand metric is calculated based on the demand indications, and if the demand metric exceeds a threshold, the purchase may be performed automatically.
- the systems and methods described herein may facilitate commerce on behalf of the user to increase convenience and reduce time and effort of the user to conduct commerce.
- the systems and methods analyze the attribute data to simulate decisions of the user regarding various shopping or purchasing-related activities.
- attribute data may be received from a plurality of attribute sources; a user may be authenticated based on an analysis of the attribute data; a user activity may be identified based on the attribute data; and the user activity may be augmented according to a user setting.
- the attribute data may include data received from a broad gamut of attribute sources such as, for example, mobile de vices, smart devices, smart homes, social network sendees, user profiles, browsing histories, purchase histories, and so forth.
- a portion of the real-time data indicative of an identity of the user may be identified.
- the real-time data may include a location of a mobile device of the user, sensor data from a device of the user, and so on.
- the identity of the user may be authenticaied based on an analysis of the identified portion of the real-time data.
- the location of the user's mobile device may be indicative of the location of the user, and if the location of the user device is within a distance of an Internet device currently being used, it may be inferred that the user may be currently using the Internet device.
- Many other indications of the user's identity may be employed to authenticate the identity of the user.
- an identity likelihood metric may be calculated based on an analysis of the attribute data.
- the identity of the user may be authenticated when the identity likelihood metric exceeds a threshold.
- a user activity being performed by the user may be identified based on the real-time data.
- the user may be using a website, jogging, entering a room (e.g., walking from a living room to a kitchen), and so on.
- the user activity may be augmented according to the user setting.
- the user may be using a website that implements a login, and based on the authentication of the user's identity, the security for the website login may be reduced or the user is automatically logged in.
- the user may be streaming media in the living room to an Internet-connected device (e.g., a media entertainment system presenting to a display), and the streaming may be continued in the kitchen (e.g., to a smart refrigerator that includes a display) when the user moves from the living room to the kitchen.
- an Internet-connected device e.g., a media entertainment system presenting to a display
- the streaming may be continued in the kitchen (e.g., to a smart refrigerator that includes a display) when the user moves from the living room to the kitchen.
- kitchen e.g., to a smart refrigerator that includes a display
- Many other user activities may be augmented in a variety of ways.
- a visualization may be generated based, at least in part, on attribute data associated with a user.
- attribute data may be received from a broad gamut of attribute sources.
- the attribute data may include data associated with the user received from mobile de vices, smart dev ices, smart homes, social network services, user profiles, browsing histories, or purchase histories.
- the collective, aggregated attribute data may be referred to as a "data mesh.”
- a user characteristic may be inferred based on an analysis of at least a portion of the attribute data.
- the user characteristic may be a trait, quality, action, activity, attitude, health condition, habit, behavior, and the like.
- a visualization may be generated based, at least in part, on the user characteristic.
- the visualizatio may be representative of the attribute data.
- the visualization may be an avatar that includes physical characteristics similar to the user's.
- the visualization may be representative of the user.
- the visualization may be caused to be presented to the user.
- the user may provide user input indicating a change to the visualization.
- the visualization may be updated according to the change indicated by the user input.
- Subsequent inferred user characteristics may be based, at least in part, on the user input. For example, if the visualization does not accurately reflect the user or the attribute data, the user may modify the visualization. The modification may then be used as a basis to more accurately generate the visualization or more accurately infer the user characteristics.
- a reward may be provided to the user based on a determined satisfaction of reward criteria.
- the reward criteria may include a criterion to complete a physical activity such as a certain number of steps taken as determined by a pedometer (e.g., an application executing on a mobile device of the user that may determine steps taken). Based on exceeding a threshold number of steps taken, the user may satisfy the reward criteria.
- the reward may include an additional feature for the visualization (e.g., an additional accessory or function for the visualization).
- the reward criteria may be associated with completeness of a profile. In this instance, the more information the user provides or provides permission to access, the closer the user may be to satisfying the reward criteria.
- FIG. 1 illustrates, for example, a web client 1 12 (e.g., a browser, such as the INTERNET
- the client device 1 10 can include the web client 1 12, ihe client appiicafion(s) 1 14, and the programmatic client 1 16 alone, together, or in any suitable combination. Although FIG. 1 shows one client device 1 10, multiple client devices can be included in the network architecture 100.
- the client device 1 10 can comprise a computing device that includes at least a display and communication capabilities that provide access to the networked system 102 via the network 104.
- the client device 110 comprises, but is not limited to, a remote device, work station, computer, general purpose computer, Internet appliance, hand-held device, wireless device, portable device, wearable computer, cellular or mobile phone, personal digital assistant (PDA), smart phone, tablet, ultrabook, netbook, laptop, desktop, multiprocessor system, microprocessor-based or programmable consumer electronic, game consoles, set-top box, network PC, mini-computer, and the like.
- the client device 1 10 comprises one or more of a touch screen, accelerometer, gyroscope, biometric sensor, camera, microphone, global positioning system (GPS) device, and the like.
- GPS global positioning system
- the client device 1 10 can communicate with the network 104 via a wired or wireless connection.
- the network 104 can be an ad hoc network, an intranet, an extranet, a Viriual Privaie Network (VPN), a Local Area Network (LAN), a wireless LAN (WLAN), a Wide Axea Network (WAN), a wireless WAN (WWAN), a Metropolitan Area Network (MAN), a portion of the Internet, a portion of the Public Switched Telephone Network (PSTN), a cellular telephone network, a wireless network, a Wireless Fidelity (Wi-Fi®) network, a Worldwide Interoperability for Microwave Access (WiMax) network, another type of network, or a combination of two or more such networks.
- VPN Viriual Privaie Network
- LAN Local Area Network
- WLAN wireless LAN
- WAN Wide Axea Network
- WWAN wireless WAN
- MAN Metropolitan Area Network
- PSTN Public Switched Telephone Network
- PSTN Public Switch
- the client device 1 10 can include one or more of the applications (also referred to as "apps") such as, but not limited to, web browsers, book reader apps (operable to read e-books), media apps (operable to present various media forms including audio and video), fitness apps, biometric monitoring apps, messaging apps, electronic mail (email) apps, e-commerce site apps (also referred to as "marketplace apps”), and so on.
- the client application ⁇ ) 1 14 can include various components operable to present information to the user and communicate with the networked system 102.
- the e- commerce site application if the e- commerce site application is included in the client device 1 10, then this application can be configured to locally provide the user interface and at least some of the functionalities with the application configured to communicate with the networked system 102, on an as-needed basis, for data or processing capabilities not locally available (e.g., access to a database of items available for sale, to authenticate a user, to verify a method of payment). Conversely, if the e- commerce site application is not included in the client device 1 10, the client device 110 can use its web browser to access the e-coinnierce site (or a variant thereof) hosted on the networked system 102.
- the users can be a person, a machine, or other means of interacting with the client device 1 10.
- the users may not be part of the network architecture 100, but may interact with the network architecture 100 via the client device 1 10 or another means.
- the users can interact with client device 1 10 operable to receive input information from (e.g., using touch screen input or alphanumeric input) and present information to (e.g., using graphical presentation on a device display) the users.
- the users may, for example, provide input information to the client device i 10 to be communicated to the networked system 102 via the network 104,
- the networked system 102 in response to the received input information, communicates information to the client device 1 10 via the network 104 to be presented to the users. In this way, the user may interact with the networked system 102. using the client device 1 10.
- An Application Program Interface (API) server 120 and a web server 122 may be coupled to, and provide programmatic and web interfaces respectively to, one or more application server(s) 140.
- API Application Program Interface
- web server 122 may be coupled to, and provide programmatic and web interfaces respectively to, one or more application server(s) 140.
- the application server(s) 140 hosts one or more publication system(s) 142, payment system(s) 144, and a data mesh system 150, each of which comprises one or more modules or applications and each of which is embodied as hardware, software, firmware, or any combination thereof.
- the application server(s) 140 are, in turn, shown to be coupled to one or more database server(s) 124 that facilitate access to one or more information storage repositories or database(s) 126.
- the database(s) 126 are storage devices that store information to be posted (e.g., publications or listings) to the publication systemfs) 142,
- the database(s) 126 stores digital goods information in accordance with some example embodiments.
- a third party application 132 executing on third party server(s) 130, is shown as having programmatic access to the networked system 102 via the programmatic interface provided by the API server 120.
- the third party application 132 utilizing information retrieved from the networked system 102, supports one or more features or functions on a website hosted by the third party.
- the third party website for example, provides one or more promotional, marketplace, or payment functions that are supported by the relevant applications of the networked system 102.
- the publication systemfs) 142 provides a number of publication functions and services to the users that access the networked system 102.
- the payment systemfs) 144 likewise provide a number of functions to perform or facilitate payments and transactions. While the publication systemfs) 142 and payment systemfs) 144 are shown in FIG. 1 to both form part of the networked system 102, it will be appreciated that, in alternative embodiments, each system 142 and 144 may form part of a payment service that is separate and distinct from the networked system 102. In some example embodiments, the payment systemfs) 144 may form part of the publication systemfs) 142.
- the data mesh system 150 provides functionality to receive, retrieve, or store a broad spectrum of data associated with the users, according to various embodiments. It will be noted that the collective, aggregated attribute data is sometimes referred to as a "data mesh.”
- the data mesh system 150 stores, for example, received data in storage devices such as the database(s) 126.
- the data mesh system 150 communicates with the client device 1 10, the third party server(s) 130, the publication systemfs) 142 (e.g., retrieving listings), and the payment systemfs) 144 (e.g., purchasing a listing).
- the data mesh system 150 can be a part of the publication systemfs) 142.
- client-server-based network architecture 100 shown in FIG. I employs a client-server architecture
- present inventive subject matter is, of course, not limited to such an architecture, and can equally well find application in a distributed, or peer-to-peer, architecture system, for example.
- the various systems of the applications server(s) 140 e.g., the publication system(s) 142 and the payment system(s) 144) can also be implemented as standalone software programs, which do not necessarily have networking capabilities.
- the web client 1 12 can access the various systems of the networked system 102 (e.g., the publication system(s) 142) via the web interface supported by the web server 122.
- the programmatic client 1 16 and client application(s) 1 14 can access the various services and functions provided by the networked system 102 via the programmatic interface provided by the API server 120.
- the programmatic client 1 16 can, for example, be a seller application (e.g., the Turbo Lister application developed by EBAY® Inc., of San Jose, California) to enable sellers to author and manage listings on the networked system 102 in an off-line manner, and to perform batch-mode communications between the programmatic client 1 16 and the networked system 102.
- FIG. 2 is a block diagram of the data mesh system 150, which can provide functionality to receive, retrieve, or access attribute data from attribute sources, analyze the attribute data, manage the attribute data, and so forth.
- the data mesh system 150 can include a presentation module 210, a communication module 220, an attribute module 230, a characteristic module 240, a management module 250, an ancillary activity system 2.60, a user analytics system 270, an augmentation system 280, and a visualization system 290. All, or some, of the modules 210-290 of FIG. 2, can communicate with each other, for example, via a network coupling, shared memory, and the like. It will be appreciated that each module of modules 210- 290 can be implemented as a single module, combined into other modules, or further subdivided into multiple modules. Other modifies not pertinent to example embodiments can also be included, but are not shown.
- the presentation module 210 provides various presentation and user interface functionality operable to interactively present and receive information from users.
- the presentation module 210 causes presentation of various notifications or user interfaces that provide the user an option to make a purchase associated with the identified items.
- the presentation module 210 presents or causes presentation of information using a variety of means, including visually displaying information and using other device outputs (e.g., acoustic, haptic).
- Interactively presenting is intended to include the exchange of information between a device and a user.
- the user can provide input to interact with the user interface in a variety of ways, including alphanumeric input, cursor input, tactile input, or other input (e.g., one or more of touch screen, camera, tactile sensors, light sensors, infrared sensors, biometric sensors, microphone, gyroscope, accelerometer, or other sensors).
- the presentation module 210 provides many other user interfaces to facilitate functionality described herein.
- "presenting" as used herein is intended to include communicating information to another device with functionality operable to perform presentation using the communicated informatio .
- the communication module 220 provides various communications functionality and web services.
- the communication module 220 provides network communication such as communicating with the networked system 102, the client device 1 10, and the third part ⁇ / server(s) 130.
- the network communication operates over wired or wireless modalities.
- Web services are intended to include retrieving information from the third party server(s) 130, the database! ) 126, and the application server(s) 140.
- Information retrieved by the communication module 220 comprises data associated with the user (e.g., user profile information from an online account, social network service data associated with the user), data associated with one or more items listed on an e-commerce website (e.g., images of the item, reviews of the item, item price), other data to facilitate the functionality described herein, and so on.
- data associated with the user e.g., user profile information from an online account, social network service data associated with the user
- data associated with one or more items listed on an e-commerce website e.g., images of the item, reviews of the item, item price
- other data e.g., images of the item, reviews of the item, item price
- the attribute module 230 can receive, access, or retrieve a wide variety of attribute data from many different attribute sources.
- the attribute module 230 receives, retrieves, or accesses the attribute data from user devices or machines (e.g., the client device 110), social network services, the third party server(s) 130, the publication system(s) 142, the payment system(s) 144, other applications servers, or other attribute sources.
- the attribute data is intended to include raw data such as sensor data, profile data, social network content, and so on.
- the attribute module 230 extracts the attribute data from various sources. For instance, a payment history log of the user can include a tremendous amount of extraneous data.
- the attribute module 230 can extract purchase information such as item purchased, time, purchase price, seller, location, brand, and so forth fro the payment history log of the user.
- the attribute module 230 performs various functions to prepare or condition the attribute data for analysis. For instance, the attribute module 230 standardizes the attribute data to facilitate analysis of the attribute data (e.g., determine a normal form for the data to allow for comparison and other mathematical analysis). The attribute module 230 performs many other functions to prepare the attribute data for analysis.
- the attribute module 230 stores the attribute data in association with the user for subsequent analysis.
- the attribute module 230 stores the attribute data in the daiabase(s) 126.
- the attribute data can be stored in conjunction with a user identifier such that the attribute module 230 subsequently uses the user identifier to access the attribute data corresponding to a particular user.
- the attribute module 230 accesses the stored attribute data using other schemes. For instance, the attribute module 230 accesses a portion of the attribute data associated with a time, an item, a user, a type of user, a particular attribute source, and so forth. In this way, the attribute module 230 accesses a portion of attribute data according to various parameters from among a large quantity of the attribute data to access, identify, or find pertinent and relevant data.
- the characteristic module 240 infers a user characteristic or multiple user characteristics corresponding to the user based on an analysis of at least a portion of the attribute data.
- a particular user characteristic can be a work location of the user.
- the attribute data can include a plurality of locations (e.g., as determined by a GPS component of a user device used by the user) that include time stamps.
- the work location of the user can be inferred based on the consistency and timing of the locations included in the attribute data (e.g., during normal working hours, the user is typically at a particular office building).
- Many different portions of attribute data and combinations of portions of attribute data can be analyzed to infer a wide variety of characteristics.
- characteristics are iniended to include traits, qualities, actions, activities, attitudes, habits, behaviors, and the like pertaining to a person or people, inasmuch as the attribute data may not necessarily pertain to a person (e.g., raw data such as coordinates of a particular location), a characteristic (e.g., current location of the user, disliking spicy food, having young children, being a Star Trek fanatic) can be distinct from the attribute data.
- a characteristic e.g., current location of the user, disliking spicy food, having young children, being a Star Trek fanatic
- the management module 250 provides management functions associated with the attribute data.
- the management module 250 provides the user with functionality to edit, modify, update, or otherwise control the attribute data.
- the user removes undesired attribute data via the functionality provided by the management module 250.
- the user specifies permissions for portions of the attribute data using the functionality provided by the management module 2.50.
- the permissions allow or prohibit certain access or uses for the attribute data (e.g., the permission prohibits access to the attribute data by third parties).
- Various levels of access and abilities can be granted.
- the permissions persist for a period of time, and after expiration of the time period, the permissions are revoked.
- the management module 250 requests consent from the user to access portions of the attribute data or to request permission for certain uses of the attribute data. For example, the management module 250 requests consent from the user to allow third parties to access portions of the attribute data. The management module 250 requests a variety of other consents associated with various actions corresponding to the attribute data.
- the management module 250 provides functionality to allow third parties to access the attribute data or user characteristics.
- the management module 250 provides a set of APIs that can be invoked by third parties to access the attribute data or user characteristics.
- permission or consent of the user is determined prior to providing access to the attribute data.
- FIG. 3 is a block diagram of the ancillary activity system 260, which can provide functionality to generate ancillary activities based on various triggers and information.
- the ancillary activity sysiem 260 includes an activity module 310, a preference module 320, and a device module 330, according to an example embodiment.
- the activity module 310 in the ancillary activity system 260 provides functionality to generate the ancillary, supplemental, complementary, or companion activity corresponding to the device activity. For example, the user can be browsing a website and the activity module 310 generates the ancillary aciivity comprising providing the user interactive content such as an option to share, like, post (e.g., tweet), and so forth the website. The activity module 310 generates many other ancillary activities corresponding to the device activity based on various triggers and information.
- the preference module 320 provides functionality to infer a user preference, from the attribute data, indicating a preference of the user associated with performing on the secondary user device the ancillary activity
- the preference module 320 infers that the user desires or prefers a particular type of content associated with a particular device activity.
- the preference module 320 also identifies other users that are similar to the user and infer the user preference based on the identified similar users.
- the preference module 320 employs a variety of schemes and techniques using a wide range of data to infer the user preference.
- the device module 330 provides functionality to identify the secondary user device according to a device status of the secondary user device, in various implementations, the device status indicates a device capability to perform the ancillary activity in real-time.
- the device module 330 retrieves, derives, determines, or otherwise obtains a variety of information associated with the user device and ihe secondary user device to facilitaie the functionality herein. For example, the device module 330 determines available functionality of the secondary user device.
- FIG. 4 illustrates a diagram 400 showing an example of generating ancillary aciivity for a secondary user device, according to some example embodiments.
- User 410 may be using wearable computing devices such as wearable device 420 (e.g., GOOGLE GLASS®) or wearable device 430 (e.g., a small watch).
- wearable device 420 e.g., GOOGLE GLASS®
- wearable device 430 e.g., a small watch
- the user device 450 is communicatively coupled, via coupling 460, to the network 104, which is in turn communicatively coupled to the networked system 102 including the data mesh system 150 (discussed above in connection with FIG. 2) and the ancillary activity system 260 (discussed above in connection with FIG. 3),
- the user 410 may be operating or using the user device 450.
- the terms ''operating,” “using,” “in service,” or “in use” as used herein are intended to include a particular user physically interacting with a particular device, being capable of operating the particular device within a short time period such as dormant device or a device in standby (e.g., a particular user carrying a mobile device on their person without presently physically interacting with the device is included in the terms “operating,” “using,” or “in use”), or otherwise utilizing the particular device (e.g., a smart refrigerator, that is not within a vicinity of the user, configured to track inventory levels and provide inventory data),
- a smart refrigerator that is not within a vicinity of the user, configured to track inventory levels and provide inventory data
- the user 410 is carrying the user device 450 that is communicatively coupled to the ancillary activity system 260.
- the activity module 310 detects the device activity of the user device 450. For instance, the user 410 can be browsing a web page, receiving directions to a particular location, monitoring fitness activity such as a number of steps taken, and so forth using the user device 450.
- the preference module 320 infers the user preference from the attribute data accessed by the attribute module 230.
- the user preference indicates a preference of the user or desire of the user for performing, on a particular user device, a particular ancillary activity corresponding to the device activity.
- the preference module 320 infers that the user 410 would like an option, presented on a particular wearable device, to favorite, share, post (e.g., tweet) associated with a webpage the user 410 is browsing on the user device 450.
- the device module 330 identifies the secondary user device according to the device status of the secondary user device.
- the device status indicates that the device is capable of performing the ancillary activity.
- the device module 330 identifies the wearable device 430 as the secondary user device based on the device status corresponding to the wearable device 430.
- the device module 330 determines the de vice status of the wearable device 430 as being in use by the user 410 (e.g., the user 410 wearing the wearable device 430).
- the wearable device 430 is operable to perfonn the ancillar '- activity since providing the option for the user 410 to select can be effectuated by the wearable device 430 as the user 410 is within an operating distance of the wearable device 430.
- the activity module 310 After the device module 330 identifies the secondary user device, the activity module 310 generates the ancillary activity to be performed in real time on the secondary user device.
- the activity module 310 generates the ancillary activity by analyzing the device activity, a device functionality of the secondary user device, the user preference, and other data.
- the device functionality indicates options available for input and output on the secondary user device.
- the identified secondary user device is the wearable device 430 that has a small screen area to display user interfaces or has reduced options for output (e.g., no speakers).
- the activity module 310 generates the ancillary activity to include abridged activity content according to the device functionality (e.g., small display size).
- the activity module 310 transmits or otherwise communicates to the secondary user device to perform the ancillary activity in real time.
- FIG. 5 is a flow diagram illustrating an example method 500 for generating ancillary activity for the secondary user device, according to some example embodiments.
- the activity module 310 detects the device activity being performed in real time by the user device of a user.
- the term "real-time data," as used herein, is mtended to include data associated with an event currently happening.
- the device activity being performed in real time includes a particular device activity detected at the activity module 310 after a delay interval (e.g., due to transmission delay or other delays such as being temporarily stored at an intermediate device) between the instant of the particular device activity occurring and the activity module 310 detecting the particular device activity.
- the device activity being performed in real time is mtended to include activities that have occurred a short time in the past. This discussion of real time applies equally throughout the specification in relation to other uses of the term "real time.”
- the device activity includes a wide variety of activities such as browsing a webpage, monitoring fitness activity (e.g., steps the user has taken), heart rate monitoring, inventory level monitoring (e.g., a smart refrigerator that monitors inventory), and so on.
- the activity module 310 detects the device activity being performed by- monitoring devices of the user. For instance, a smart appliance of the user provides a continuous or periodic stream of data indicating various device activities.
- the attribute module 230 accesses the attribute data associated with the user from the plurality of attribute sources.
- the attribute data includes real-time data or near real-time data.
- the real-time data includes user input data or sensor data communicated to the attribute module 230 after a delay interval (e.g., due to transmission delay or other delays such as being temporarily stored at an intermediate device) between capturing the data and the attribute module 230 receiving the data.
- the attribute data is received from a broad spectrum of attribute sources (e.g., devices, sensors, servers, databases, and other sources). Additionally, the attribute module 230 receives or accesses the attribute data via many paihways resulting from an assortment of configurations of the attribute sources as further discussed in connection with FIGS. 51 A and 51 B. In an example embodiment, the attribute module 230 receives the attribute data directly from the attribute sources. In other example embodiments, the attribute module 2.30 receives the attribute data from a central device that receives attribute data from a plurality of user devices.
- attribute sources e.g., devices, sensors, servers, databases, and other sources.
- the attribute module 230 receives or accesses the attribute data via many paihways resulting from an assortment of configurations of the attribute sources as further discussed in connection with FIGS. 51 A and 51 B. In an example embodiment, the attribute module 230 receives the attribute data directly from the attribute sources. In other example embodiments, the attribute module 2.30 receives the attribute data from a central device that receives attribute data
- various user devices are communicatively coupled in a decentralized device-to-device mesh, and the attribute module 230 receives the attribute data corresponding to a particular device in the mesh from any of the devices in the mesh.
- the attribute module 230 receives the attribute data from the attribute sources in many other configurations including various suitable combinations of configurations.
- the attribute module 230 stores the attribute data in association with the user (e.g., indexed based on a user identifier) for subsequent analysis.
- the attribute module 230 stores the attribute data in a storage device such as the database(s) 126, for example.
- the attribute module 230 accesses the stored attribute data using a variety of search or find schemes. For instance, the attribute data associated with a particular user is accessed using a user identifier that corresponds to the particular user, it will be noted that the collective, aggregated attribute data is sometimes referred to as a "data mesh.”
- the preference module 320 infers the user preference or desired user setting, from the attribute data, indicating a preference of the user for performing on the secondary user de vice the ancillary acti v ity corresponding to the device activity.
- the attribute data includes engagement data of the user (e.g., particular websites the user visits, taps, clicks, or other interactions with various notifications) indicative of the types of information the user is interested in.
- the preference module 320 infers the user preference for receiving notifications associated with a particular spoiling event based on the engagement data.
- the activity module 310 detects from the user device (e.g., a smart television) that the device activity includes watching a sporting event.
- the preference module 320 infers the user preference to indicate the user has an affinity for notification associated with watching a sporting event on a particular secondary device based on past notifications the user showed interest in that are included in the attribute data.
- FIG. 6 a flow diagram is shown illustrating further operations for inferring a user preference from the attribute data, according to some example embodiments.
- the preference module 320 infers the user preference from ihe attribute data.
- the characteristic module 240 infers or directly measures user characteristics pertaining to the user from the attribute data.
- the characteristic module 240 stores the inferred user characteristics for subsequent analysis, for example, in a storage device such as database(s) 126.
- the characteristic module 240 infers a vast spectrum of the user characteristics from the attribute data.
- user characteristics include demographic daia (e.g., age, gender, marital status, number of children), user preferences (e.g., being a morning person, favorite locations, enjoying spicy food), idiosyncrasy (e.g., being forgetful, such as draining the battery on a mobile device; or being impatient, such as a line breaker that will leave a store if the line is too long), qualities (e.g., being athletic, being tall, having a large vocabulary), personality traits (e.g., being a risk taker), actions, activities (e.g., working for a non-profit), attitudes, habits (e.g., being a coffee drinker), behaviors, beliefs, biases, demeanor, and physical characteristics of the user (e.g., height, weight, garment sizes, eye color, hair color).
- demographic daia e.g., age, gender, marital status, number of children
- user preferences e.g., being a morning person, favorite locations, enjoying spicy food
- the specificity of the characteristics ranges from very narrow (e.g., drinks a particular brand of soda) to very broad (e.g., being generally philanthropic).
- the attribute data includes user location data that indicates frequent visits to a local school, local soccer fields, and the like.
- the characteristic module 240 infers that the user has children based on the types of locations the user may be frequently visiting,
- the characteristic module 240 performs varying degrees of inferential analysis of the attribute data to derive the user
- the characteristic module 240 infers the user's wake-up time based on user device activity or other activity (e.g., connected alarm clock settings, logins to accounts, and various other user activities that indicate a wake-up time). In this example, the characteristic module 240 infers a particular user characteristic that can be of a larger inferential jump such as the user being a morning person or liking to sleep in. The degree of inferential jump can be configurable. In some example embodiments, the characteristic module 240 employs various techniques to minimize or otherwise control incorrect inferences (e.g., machine- learning, other learning algorithms).
- the characteristic module 240 learns, adapts, or evolves as more of the attribute data is received (e.g., via machine learning techniques or other learning algorithms).
- the attribute data includes location data of the user.
- the characteristic module 240 infers a favorite location of the user based on a pattern (e.g., frequently visited locations) in the location data.
- the characteristic module 240 subsequently receives employment data of the user that indicates a current employer including an employer location.
- the characteristic module 240 learns, updates, or otherwise adapts to account for the new attribute data.
- the characteristic module 240 may not infer a favorite location of the user if the location is a work location of the user, in some instance, the user may provide input directly (e.g., via a user interface configured to receive inferential guidance from the user) to facilitate the characteristic module 240 in inferring characteristics from the attribute data (e.g., user input indicating that a particular inferred characteristic is incorrect or providing input to be used as a basis for future inferences).
- the attribute data e.g., user input indicating that a particular inferred characteristic is incorrect or providing input to be used as a basis for future inferences.
- the characteristic module 240 performs very little or no analysis to derive the user characteristic from the attribute data.
- the attribute data includes an alarm time setting from a connected alarm clock (e.g., a smart phone with an alarm clock app).
- the alarm time setting can directly indicate a wake-up time. Since the attribute data directly relates to a particular user characteristic, the characteristic module 240 need not perform analysis to derive the user characteristic.
- the user characteristic comprises predefined characteristics or dynamically determined characteristics. For instance, a particular set of characteristics is predefined (e.g., work location, home location, marital status, socio-economic level). In this instance, the characteristic module 240 determines that particular predefined characteristics are associated with the user based on an analysis of the attribute data. In other instances, the characteristic module 240 dynamically determines characteristics based on the attribute data. For example, the attribute data indicates that the user owns a particular exotic pet. Although there may not be a predefined characteristic associated with the particular exotic pet, the characteristic module 240 determines the user characteristic of owning an exotic pet from the attribute data.
- predefined characteristics e.g., work location, home location, marital status, socio-economic level.
- the characteristic module 240 determines that particular predefined characteristics are associated with the user based on an analysis of the attribute data.
- the characteristic module 240 dynamically determines characteristics based on the attribute data. For example, the attribute data indicates that the user owns a particular exotic pet. Although there may not be a pre
- the preference module 320 identifies similar users that are similar to the user based on the inferred user characteristics and respective user charac teristics of a plurality of other users.
- the preference module 320 identifies similar users that are similar to the user based on a variety of factors.
- the preference module 320 accesses the attribute data or stored user characteristics corresponding to the plurality of other users. For example, the preference module 320 identities the similar users from among the plurality of other users that are similar to the user based on the inferred user characteristics of the user and respective user characteristics of the plurality of other users.
- the preference module 320 correlates, matches, or otherwise compares the inferred user characteristics with respective user characteristics of the plurality of other users to identify the similar users.
- the preference module 320 identifies the similar users based on same or similar demographic data (e.g., same or similar age, marital status, gender, geographic location, etc.), same or similar user characteristics (e.g., same or similar brand purchases), same or similar attribute data, and so on.
- the preference module 320 infers the user preference or desired user setting based on the identified similar users. For example, the preference module 320 analyzes the user characteristics of the identified similar users to determine the user preference. In a specific example, if the user characteristics of the identified similar users indicate a preference for viewing particular content on a particular secondaiy user device, the preference module 320 infers that the user also has the same or a similar preference for viewing the particular content on the particular secondary user device, in this way, the preference module 320 infers the user preference based on the identified similar users.
- the device module 330 identifies the secondary user device according to the device status of the secondar user device.
- the device status indicates a device capability to perfor the ancillary activity in real time.
- the device capability includes various metrics and features associated with the secondaiy user device.
- the device module 330 identifies the secondary user device based on the device status that includes various combinations of factors discussed below.
- the device status can be based on the device capability including a distance of the secondaiy user device to the user as further discussed in connection with FIG. 7, below.
- the secondary user de vice is capable of presenting information or notification to the user if the secondary user device is within a vicinity of the user,
- the device status is based on a particular functionality of the device.
- the device module 330 queries the secondary user device to determine the functionality of the secondary user device.
- the device module 330 determines the functionality of the secondary user device via a lookup of functionality for the same or similar device as the secondary user device. For instance, if the secondary user device is a particular type of wearable device, the device module 330 can look up available functions for the particular type of wearable device from the third party servers(s) 130. For instance, if the secondary user device has an audio output then the device module 330 identifies the secondary user device as capable of performing a particular ancillary activity that includes audio output (e.g., voice directions for hands-free navigation). Thus, in some cases, the device module 330 determines the device status in conjunction with a particular ancillary activity.
- the device status is based on whether the secondary user device is active as further discussed in connection with FIG. 8, below. For example, if the secondary user device is not currently being used (e.g., as determined via a sensor on the device such as an accelerometer that indicates the device is perfectly still), then the device module 330 determines that the device is not active and does not identify the inactive secondary user device as being capable of performing the ancillary activity.
- FIG. 7 a flo diagram illustrates further operations for identifying a secondary user de vice, according to some example embodiments.
- FIG. 7 is directed to the device module 330 identifying the secondary user device by determining that the device status of the secondary user device includes the secondary user being within a distance of the user.
- the device module 330 receives sensor data from the secondary user device at operation 710.
- the sensor data includes, for example, data received from any of the sensors discussed in connection with FIG. 53, below.
- the sensor data includes location data as determined by a GPS component of the secondary user device.
- the sensor data represents a real-time physical environment of the secondary user device.
- the device module 330 determines the device status of the secondary user device based on the sensor data received from the secondary user device.
- the characteristic module 240 or the device module 330 infers the current user location based on location data received from the user device.
- the attribute data includes real-time data, from the user device, corresponding to the location of the user (e.g., location data as determined by a GPS component of a mobile device corresponding to the user).
- the device module 330 extracts a current device location from the sensor data received from the secondary user device.
- the secondary user device can be equipped with a GPS component that provides location data.
- the device module 330 extracts the current device location based on WI-FI® triangulation, NFC beacon detection, or other location services.
- the device module 330 compares the current user location and the current device location to determine that the secondary user device is within a distance (e.g., an operating distance) of the current user location.
- the distance may be a short distance such as a reasonable distance to allow the user to physically operate the secondary user device (e.g., an arm's length).
- FIG. 7 is directed to determining that the secondary user device is within a distance of the user location based on an inferred location of the user and the secondary user device
- the device module 330 employs other schemes to determine whether the user is within an operating distance of the secondary user device. For instance, if the secondary user dev ice is equipped with biometric identification sensors and the device module 330 receives biometric sensor data from the secondary user device indicating the identity of the user, the device module 330 can, in that situation, infer thai the user is within an operating distance of the secondary user device.
- FIG. 8 a flow diagram illustrates further operations for identifying the secondary user device, according to some example embodiments.
- the device module 330 receives sensor data from the secondary user device at operation 810, similar to the operation 710 described above.
- the sensor data represents a real-time physical environment of the secondary user device.
- the sensor data includes thermal data (e.g., data that indicates a current temperature), motion data (e.g., as determined by an accelerometer component), position data (e.g., as determined by a GPS component), biometric data (e.g., heart rate data or fingerprint identifications), communication data (e.g., NFC beacon detections or BLUETOOTH ⁇ device detections), and other sensor data (see FIG. 53 below for additional sensors and data).
- thermal data e.g., data that indicates a current temperature
- motion data e.g., as determined by an accelerometer component
- position data e.g., as determined by a GPS component
- biometric data e.g., heart rate data or fingerprint identifications
- communication data e.g., NFC beacon detections or BLUETOOTH ⁇ device detections
- other sensor data see FIG. 53 below for additional sensors and data.
- the device module 330 calculates an active metric from the sensor data.
- the active metric indicates the secondary user device is in use by the user.
- the active metric comprises a probability or likelihood that the secondary user device is active. In these implementations, a higher value for the active metric is associated with a higher probability that the secondary user device is active.
- the sensor data indicates that a particular user is wearing the wearable device based on a heart rate sensor (when the user is not wearing the wearable device the heart rate sensor indicates no heart rate).
- the device module 330 calculates the active metric based on the temperature data. For example, if the temperature data is fluctuating or is above an expected ambient temperature, this indicates that the user is carrying the smart phone in their pocket. Conversely, if the temperature is near expected ambient temperature and there is little fluctuation in the temperature, the device module 330 calculates a low probability, corresponding to a lower active metric, indicating that the particular device is not active or in use by the user.
- the device module 330 determines that the secondary user device is active based on the active metric. For example, if the calculated active metric exceeds a threshold value, the device module 330 determines that the secondary user device is active.
- the threshold value can be predetermined or dynamically determined by the device module 330.
- the device module 330 employs various statistical models based on historical values of the active metric to determine whether the current active metric is anomalous. In a simple non-limiting example, the device module 330 determines the threshold value to be an average of historical values for the active metric, and the device module 330 determines that the secondary user device is active if the active metric exceeds the average of the historical values of the active metric.
- the device module 330 employs many other schemes and techniques to determine that the device is active based on the active metric. [80187] At operation 840, the device module 330 identifies the secondary user dev ice as being capable of performing the anciiiary activity in real time based on the secondary user device being active. That is to say, the device module 330 identifies a particular secondary user device based o the particular secondary user device being active. The reasoning being that if the secondary user device is inactive, the secondary user de v ice is not capable of presenting information to or receiving input from the user and therefore is not capable of performing the ancillary activity, in some cases.
- the activity module 310 generates the ancillary activity, to be performed in real time on the secondary user device, by analyzing the device activity, a device functionality of the secondary user device, the user preference, and other factors and data.
- the ancillary activity can include a wide range of tasks, content, and functionality.
- the ancillary activity comprises a notification that includes notification content associated with the device activit '-.
- the ancillary activity comprises a notification including notification content associated with the sporting event (e.g., information about the players, the current score, sporting statistics).
- the ancillary activity includes a portion of the device activity.
- the activity module 310 generates the ancillary activity to include content that is a portion of the website.
- the activity module 310 is distributing a portion of the device activity to the secondary user device.
- FIG. 9 is a flow diagram illustrating further operations for generating the ancillary activity of the secondary user device, according to some example embodiments. Subsequent to the operation 540, at the operation 550, the activity module 310 generates the ancillaiy activity. The operation 550 can further include operations 910, 920, and 930.
- the device module 330 determines a display size corresponding to the secondary user device. For example, the device module 330 queries the secondary user device directly to retrieve data associated with the display size. In another example, the device module 330 queries a particular third party server (e.g., the third party server(s) 130) using an identifier associated with the secondary user device to determine the display size of the secondary user device. In a specific example, the device module 330 determines a particular device model for the secondary user device and performs a lookup of the display size for the particular device model.
- a particular third party server e.g., the third party server(s) 130
- the device module 330 determines the display size corresponding to the secondary user device is below a threshold size. For example, the display size may be too small for particular content of the ancillary activity. In this situation, the device module 330 determines that the display size is below the threshold size.
- the activity module 310 generates the ancillary activity to include abridged activity context according to the display size corresponding to the secondary user device. For instance, the device module 330 shortens or reduces content or functionality of the ancillary activity to accommodate the display size of the secondary user device.
- FIG. 10 is a flow diagram illustrating further operations for generating the ancillary activity of the secondary user device, according to some example embodiments. Subsequent to the operation 540, at the operation 550, the activity module 310 generates the ancillary activity. The operation 550 further includes operations 1010 and 1020,
- the device module 330 compares the device functionality of the secondary user device with a device functionality of the user de v ice to identify non-mutual functionality of the secondary user de v ice that is not available on the user device.
- the user device comprises a mobile computer that the user is browsing a website on.
- the secondary user device can be a wearable device affixed to the user.
- the device module 330 identifies haptic output, for instance, of the secondary user device as being non-mutual functionality as the mobile computer may not have haptic output functionality.
- a particular wearable device may not include a GPS component while a smart phone device of the user may include a GPS component to determine current location.
- the device module 330 identifies use of the GPS component as non-mutual functionality.
- the activity module 310 generates the ancillary activity to include an activity component that utilizes the non-mutual functionality of the secondary user device.
- the activity module 310 utilizes location data from the secondary user device in generating the ancillary activity.
- the activity module 310 generates the ancillary activity to include mapping directions to the particular location using the GPS component of the secondary user device to access the user's current location.
- the activity module 310 receives the particular location from the user device and communicates, to the secondary user device, the location and instructions to map directions to that location from the current location.
- the activity module 310 transmits or othenvise communicates, to the secondary user device, instructions to perform in real time the complementary activity.
- the activity module 310 communicates instructions to the secondary user device to present a user interface that facilitates or effectuates the ancillary activity (e.g., a user interface including functionality to carry out the ancillary activity).
- the ancillary activity comprises a notification including notification content
- the activity module 310 transmits the notification including the notification content to the secondary user device to be presented to the user.
- the activity module 310 causes presentation of the notification on the secondary user device.
- the operations 540 - 560 are directed to performing a single ancillary activity on a single secondary user device
- other embodiments include identifying multiple secondary devices and generating multiple ancillary activities to be performed in real time on one or more of the identified secondary user devices. For example, if the user is carrying a smart watch and wearing smart glasses, the generated ancillary activities can be distributed among the identified ancillary activities. For instance, haptic -based notifications can be directed to the user's smart watch while visual notification is directed to the user's smart glasses.
- the activity module 310 distributes the multiple ancillary activities among the multiple secondary user devices based on respective device functionalities of the multiple secondary user devices. The activity module 310 employs other factors to distribute the multiple ancillary activities such as the user preference.
- FIG. 1 1 illustrates non-limiting examples of generating the ancillary activity for the secondar '- user device, according to some example embodiment.
- FIG. 1 1 includes a scene 1 100 that depicts a living room attached to an open kitchen.
- the scene 1 100 includes a smart television (TV) ⁇ 1 10, a media entertainment device 1 12.0, a lamp ⁇ 130, a mobile computer 1 140, a wearable device 1 150, a user 1 160, a mobile device 1 170, a smart refrigerator 1 180, and a kitchen display 1 190.
- Each of the devices of FIG. 1 1 can be attribute sources coupled to a network (e.g., the network 104) and operable to communicate with the data mesh system 150.
- the user 1 160 may be carrying or wearing a smart device such as the wearable device 1 150 (e.g., a mobile device, a wearable device, a NFC enable smart ring) on their person that provides real-time data
- the wearable device 1 150 e.g.,
- the user 1 160 may be carrying a mobile device that provides real-time location data (e.g., as determined by a GPS component, beacon location detect, or other location services).
- a mobile device that provides real-time location data (e.g., as determined by a GPS component, beacon location detect, or other location services).
- the user 1 160 may be browsing a webpage using the mobile computer 1 140.
- the mobile computer 1 140 can be coupled to the network 104, and the activity module 310 detects the device activity of browsing a particular webpage.
- the preference module 320 infers a user preference associated with the device activity of browsing a particular webpage. For instance, the activity module 310 infers that the user has a preference for viewing supplemental content associated with the particular webpage the user is browsing or supplemental functionality associated with the particular webpage (e.g., liking, favorhing, or sharing the particular webpage).
- the device module 330 identifies the secondary user device such as the wearable device 1 150 that is capable of performing the ancillary activity.
- the device module 330 identifies the wearable device 1 150 based on the wearable device 1 150 being within an operating dist ance of the user 1160 (the reasoning being that if the wearable device 1 150 is within a short distance of the user 1 160, then the wearable device 1 150 is capable of providing information or receiving input from the user 1 160).
- the device module 330 determines the user 1 160 is wearing the wearable device 1 150 based on various sensor data received from the wearable device 1 150 (e.g., biometric data ihai indicates a particular user is wearing the device, aecelerometer data that indicates the device is in use, BLUETOOTH® device detections that indicates the wearable device 1 150 is within short range communication range of another user device that the device module 330 has inferred the user is using).
- biometric data ihai indicates a particular user is wearing the device
- aecelerometer data that indicates the device is in use
- BLUETOOTH® device detections that indicates the wearable device 1 150 is within short range communication range of another user device that the device module 330 has inferred the user is using.
- the activity module 310 generates the ancillary activity based on the device functionality of the identified secondary user de vice, the device activity, the user preference, and other data.
- the wearable device 1 150 may not have an audio output; in that case, content including an audio component can be altered or modified to accommodate the functionality of the wearable device 1 150.
- the activity module 310 generates the ancillary activity to include options to favorite, like, share (e.g., tweet) the particular webpage the user 1 160 is browsing. In some instances, the activity module 310 generates the ancillary activity based on the device activity.
- the activity module 310 For example, if the device activity of browsing a particular webpage already includes options to favorite or share the webpage, the activity module 310 generates the ancillary activity to include functionality not already available at the user device (the mobile computer 1 140 in this case). After the activity module 310 generates the ancillary activity, the activity module 310 transmits or otherwise communicates to the wearable device 1 150 to perform the ancillary activity. In this example, the activity module 310 transmits instructions to the wearable device 1150 to present a user interface including the options to favorite, like, or share the particular webpage the user 1 160 is browsing on the mobile computer 1 140.
- FIGS. 12. and 13 depict example user interfaces for interactively presenting information to the user.
- FIGS. 12 and 13 depict specific example user interfaces and user interface elements, these are merely non- limiting examples, and many other alternate user interfaces and user interface elements can be generated by the presentation module 210 and presented to the user. It will be noted that alternate presentations of the displays of FIGS. 12 and 13 can include additional information, graphics, options, and so forth; other presentations include less information, or provide abridged information for easy use by the user.
- FIG, 12 depicts an example device 1200 (e.g., smart watch) displaying an example user interface 1210 that includes ancillary or supplemental functionality.
- the user interface 1210 includes user interfaces elements 1220, 1230, and 1240 that provide the user with options to like (e.g., like a particular webpage or a particular location), share (e.g., tweet a link to a particular location or a webpage), or return to home (e.g., navigate a particular webpage on the user device using the secondary user device) respectively.
- activating the user interface element 12.20 causes the secondary user device to "like" an item associated with the device activity (e.g., a particular webpage) o a social network service the user is a member of.
- the user interface 1210 includes a wide variety of other functionality.
- the ancillary activity comprises a notification.
- the activity module 310 causes presentation of the notification to the user. I 7 or instance, the activity module 310 communicates, to the device 1200, instructions to present the notification.
- the instructions include notification content, generated by the activity module 310, such as a message (e.g., pertinent information) to be presented to the user.
- the notification comprises a text message, such as Short Message Service (SMS) messages. Multimedia Messaging Service (MMS), Enhanced Messaging Service (EMS), and so forth.
- SMS Short Message Service
- MMS Multimedia Messaging Service
- EMS Enhanced Messaging Service
- the notification comprises a push notification or another similar type of notification.
- the notification comprises interactive user interface elements.
- FIG, 13 depicts an example device 1300 displaying an example user interface 1310 that includes ancillary or supplemental content.
- the user interface 1310 includes supplemental content associated with directions to a particular location. For instance, if the user is attempting to physically locate a particular place using a smart phone, the ancillary activity includes providing additional or supplemental content on a wearable device the user may be wearing.
- the user interface 1310 includes a heading determined via sensors included in the wearable device or from data received from the smart phone.
- the supplemental content can also include pertinent information such as a distance to the specified location. In this way, the wearable device performs the ancillary activity associated with the de vice activity being performed in real time by the user device of the user.
- FIG. 14 is a block diagram of the user analytics system 270, which may provide functionality to identify items that the user has demand for and facilitate a purchase associated with the identified items.
- the user analytics system 270 may include an item module 1410, an analysis module 1420, and an order module 1430.
- the item module 1410 in the user analytics system 270 may provide functionality to facilitate identifying items from the attribute data.
- the item module 1410 extracts demand indications, from the attribute data, that may indicate anticipatory demand by the user for a particular item.
- the demand indications may indicate use of a particular item by the user, a user supply of a particular item, a user activity indicative of a particular item (e.g., frequent visits to a beach may be indicative of demand for sunscreen products and other beach related products), and other indications of demand for various items.
- the item module 1410 extracts the demand indications from many different portions of attribute data and combinations of portions of attribute data using a variety of schemes and techniques.
- the analysis module 1420 provides functionality to identify items from the attribute data. For example, the analysis module 1420 identifies the commerce item or a pertinent item based on the demand indications, the user characteristics, the attribiEte data, or any suitable combination thereof. In further example embodiments, the analysis module 1420 calculates a demand metric based on the demand indications. In some implementations, the user analytics system 270 performs a variety of tasks and functions based on the demand metric, such as various aspects of facilitating the purchase associated with the commerce item.
- the order module 1430 provides functionality to facilitate the user purchase associated with the commerce item. For example, the order module 1430 determines order parameters or transaction parameters for the user purchase based on the user characteristics, the attribute data, the demand indications, or other data. In some example embodiments, the order module 1430 automatically (e.g., without intervention or action of the user) performs the user purchase on behalf of the user based on various triggers or analyses.
- FIG. 15 is a flow diagram illustrating an example method 1500 for identifying the commerce item from the attribute data and facilitating the user purchase associated with the commerce item. At operation 1510, the attribute module 230 receives attribute data associated with the user from a plurality of attribute sources.
- the attribute data includes real-time data or near real-time data.
- real-time data is intended to include data associated with an event currently happening.
- the real-time data may include user input data or sensor data communicated to the attribute module 230 after a delay interval (e.g., due to transmission delay or other delays such as being temporarily stored at an intermediate device) between capturing the data and the attribute module 230 receiving the data.
- the attribute data is received from a broad spectrum of attribute sources (e.g., devices, sensors, servers, databases, and other sources). Additionally, the attribute module 230 may receive the attribute data via many pathways resulting from an assortment of configurations of the attribute sources as further discussed in connection with FIGS. 5 IA and 5 IB. In an example embodiment, the attribute module 230 receives the attribute data directly from the attribute sources. In other example embodiments, the attribute module 230 receives the attribute data from a central device that receives attribute data from a piuraiity of user devices.
- attribute sources e.g., devices, sensors, servers, databases, and other sources.
- the attribute module 230 may receive the attribute data via many pathways resulting from an assortment of configurations of the attribute sources as further discussed in connection with FIGS. 5 IA and 5 IB. In an example embodiment, the attribute module 230 receives the attribute data directly from the attribute sources. In other example embodiments, the attribute module 230 receives the attribute data from a central device that receives attribute data from a piuraiity of
- various user devices are communicatively coupled in a decentralized device-to-device mesh, and the attribute module 230 receives the attribute data corresponding to a particular device in the mesh from any of the devices in the mesh.
- the attribute module 230 receives the attribute data from the attribute sources in many other configurations including various suitable combinations of configurations.
- the attribute module 230 stores the attribute data in association with the user (e.g., indexed based on a user identifier) for subsequent analysis.
- the attribute module 230 may store the attribute data in a storage device such as the databases) 126, for example.
- the attribute module 230 accesses the stored attribute data using a variety of search or find schemes. For instance, the attribute data associated with a particular user is accessed using a user identifier that corresponds to the particular user. It will be noted that (he collective, aggregated attribute data may be referred to as a "data mesh.”
- the item module 1410 extracts demand indications from the attribute data.
- the demand indications are indicative of anticipatory demand by the user for a particular item.
- a particular demand indication may indicate that the user may want, desire, or have an affinity for a particular product or commerce item.
- the terms "item,” “product,” “commerce item,” and the like are intended to include a wide variety of products (e.g., items corresponding to item listings published on an e-commerce website) and services (e.g., a particular activity such going to a restaitrant).
- anticipatory and “predictive” as used herein are intended to pertain to future events, or activity, including events that are in the immediate future (e.g., events within a short time period, such as minutes or seconds, of the present) as well as events further in the future (e.g., months or years from the present).
- the item module 1410 extracts the demand indications from a wide variety of data included in the attribute data, such as purchase histories, location data (e.g., as determined by a GPS component of a mobile device, beacon detections, or other location services), social media data (e.g., check-ins or postings by the user), as well as other data included in the attribute data as discussed herein.
- location data e.g., as determined by a GPS component of a mobile device, beacon detections, or other location services
- social media data e.g., check-ins or postings by the user
- the demand indications include, for example, inventory level indications (e.g., a food supply of the user as indicated by a smart refrigerator), item usage indications (e.g., user purchase history may indicate certain item usage patterns), item activity indications, activity related to an item (e.g., the user spending time on the ski slopes may indicate a demand for ski equipment), user engagement data (e.g., the user clicking on particular links associated with various products or activities), and so forth.
- location data included in the attribute data may indicate frequent trips to coffee shops.
- the item module 1410 extracts the location data from the attribute data since it may be indicative of demand for coffee or coffee related products by the user.
- social media data such as check-ins to a gym or postings about fitness activities, may indicate demand for fitness-related items or activities.
- the user may currently possess a sufficient supply of bottled water, but based on indications of consumption rates of bottled water by the user, the user may have future demand for the bottled water.
- the item module 1410 extracts supply indications for the bottled water (e.g., purchase history data of the user) or consumption indications for the bottled water (e.g., inventory activity data as retrieved or accessed from a smart refrigerator) from the attribute data. That is to say, the demand indications, extracted by the item module 1410, may include the supply indications, inventory level indications, or inventory activity indication for the bottle water.
- the analysis module 1420 identifies the commerce item, product, or pertinent item fro the attribute data based on the extracted demand indications. For instance, the analysis module 1420 determines that there may be a high likelihood that the user is interested in or has demand for a particular item. In other words, the analysis module 1420 identifies the commerce item or multiple commerce items fro among a plurality of commerce items associated with the demand indications based on user demand for respective commerce items included in the plurality of commerce items.
- the analysis module 1420 identifies the commerce item based on the demand indications using a variety of schemes and techniques. For example, the analysis module 1420 ma calculate the demand metric based on the demand indications.
- the demand metric may indicate a likelihood that the user has a demand for a particular item.
- the demand metric may be based on an occurrence count of demand indications that correspond to a particular item (e.g., a particular item with multiple corresponding demand indications may be associated with a higher demand metric than a particular item with a single corresponding demand indication).
- the analysis module 1420 may identify the commerce item based on the calculated demand metric exceeding a threshold (e.g., a predefined or dynamically determined value).
- the analysis module 1420 ranks, sorts, or otherwise orders at least a portion of the plurality of commerce items associated with the demand indications based on the demand metric.
- the analysis module 1420 identifies the first, a predefined number, or a dynamically determined number of the highest- ranking commerce items included in the plurality of commerce items associated with the demand indications, either alone or in any suitable combination.
- the analysis module 1420 identifies the commerce item from among the plurality of commerce items associated with the demand indications based on a statistical analysis such as a percentage (e.g., top ten percent of the ranked plurality of commerce items), analysis based on standard deviations away from a mean, or other statistical methods.
- the demand indications are weighted such that higher weighted demand indications may be more influential in the analysis module 1420 identifying the commerce item based on the demand indications.
- the weighting can be pre-defined or dynamically determined based on a user feedback data (e.g., data that indicates whether the user actually had demand for the commerce item identified by the analysis module 1420).
- the feedback data is included in the attribute data subsequent to the analysis module 1420 identifying the commerce item. In this way, the analysis module 1420 can adapt, learn, or evolve as more of the attribute data is received.
- the analysis module 1420 employs various machine-learning techniques to enhance identifying the commerce item based on the demand indications. Similar techniques may be applied by the item module 1410 to extract the demand indications in the previous operation.
- the characteristic module 240 infers or directly measures user characteristics pertaining to the user from the attribute data. As discussed above in connection with operation 610, the characteristic module 240 can infer a variety of user characteristics from the attribute data using a variety of data. It will be understood that the discussion of operation 610 regarding the characteristic module 240 applies equally to operation 1540,
- the order module 1430 facilitates the user purchase or suggested transaction, for the user, associated with the commerce item based, at least in part, on the user characteristics.
- Facilitating a particular purchase is intended to include actions such as automatically (e.g., without intervention or action of the user) performing the particular purchase on behalf of the user, causing presentation of a notification that includes the option to make the particular purchase, or other actions associated with facilitating the particular purchase (e.g., causing presentation of an advertisement, adjusting item listing search results of the user to emphasize item listings associated with a particular item).
- the order module 1430 determines various parameters associated with the user purchase (e.g., order parameters or transaction parameters) based on the attribute data, the user characteristics, the demand indications, or other data. In the discussion below, additional aspects of facilitating the user purchase are described.
- FIG. 16 is a flow diagram illustrating further operations for facilitating the user purchase based, at least in part, on an evaluation of an inventory level, according to some example embodiments.
- the item module 1410 extracts a current inventory level of the commerce item from the attribute data.
- the item module 1410 extracts a quantity of the commerce item from the attribute data that includes inventory data received from a smart refrigerator.
- the attribute data includes inventory indications from sensors that directly monitor or measure the commerce item.
- brake pads in an automobile of the user can be monitored via a sensor operable to indicate a condition of the brake pads (e.g., needing replacement),
- another user that may be associated with the user may purchase a particular item for which the user has demand. In this example, the user may no longer have demand for the particular item based on the purchase by the other user (e.g., shared shopping list between family members).
- the analysis module 1420 determines an inventory threshold for the commerce item by modeling usage of the commerce item based on the extracted current inventory level and the inferred user characteristics. In an example embodiment, the analysis module 1420 determines the inventory threshold such that when the current inventory level may be below the threshold, the inventory may need to be reordered to avoid depletion. For instance, the analysis module 1420 calculates a usage rate corresponding to the commerce item based on the attribute data, the user characteristics, or other data and applies the usage rate to determine the inventory threshold for the commerce item to avoid depletion of a supply of the commerce item.
- the analysis module 1420 determines the usage rate for a particular item based on historical purchase history data and infers usage rate based on a frequency of purchase of the particular item.
- the commerce item may be coffee beans and the analysis module 1420 determines that based on the user's current supply of coffee beans and the user's rate of consumption (e.g., the usage rate) corresponding to coffee beans, the user may run out in fourteen days.
- the analysis module 1420 determines the inventory threshold to be a value, such as a quantity of the coffee beans, that may be the current inventory level several days prior to depletion of the supply of coffee beans.
- the analysis module 1420 identifies a mismatch between the inventory threshold and the current inventory level. For example, if the analysis module 1420 determines that the current inventory level is below the inventory threshold, the analysis module 1420 identifies the mismatch on that basis.
- the order module 1430 automatically (e.g., without intervention or action of the user) performs the user purchase on behalf of the user based on the mismatch, according to some implementations.
- the order module 1430 accounts for shipping delays and other delays so as to avoid the current inventor '' level of the commerce item falling below the inventory threshold.
- the analysis module 1420 increases the inventory threshold to account for delays in receiving an order for a particular item.
- FIG. 17 is a flow diagram illustrating further operations for facilitating the purchase including operations to determine parameters for the purchase, according to some example embodiments.
- the order module 1430 determines at least one order parameter based, at least in part, on the user characteristics.
- the order parameter may include at least one of a quantity, a delivery time, a payment time, a delivery method, a delivery destination, a merchant, a brand, a price, an item color, an item style, and so on.
- the user characteristics may indicate that the user may wear a certain garment size.
- the order module 1430 specifies order parameters for clothing or apparel according to the garment size.
- the order module 1430 may specify a brand for the user purchase based on the user characteristics (e.g., historical brand purchases by the user or an analysis of the user's style and the brands that conform to that style).
- the user characteristics may indicate that the user may be minimizing cost above other considerations.
- the order module 1430 identifies a lower cost option as opposed to a speedier option (e.g., wait for a sale for a particular item or use the cheapest shipping).
- the user characteristics may indicate that the shipping speed may be important for certain items (e.g., a trendy new mobile device that the user may want right away).
- the order module 1430 determines the delivery method parameter based on how fast the order may be delivered.
- the order module 1430 specifies the delivery location for the user purchase based on the user characteristics (e.g., if the user purchase relates to items for the user's work, the delivery location may be the user's work location rather than a home address).
- the order module 1430 may determine many other order parameters based on the user characteristics.
- the order module 1430 facilitates the purchase according to the determined order parameters. For example, the order module 1430 may recommend the user purchase to the user, with the recommendation including the determined order parameters (e.g., providing the user with a notification including the option to make the user purchase). In another example, the order module 1430 automatically makes the user purchase on behalf of the user. For instance, if the order module 1430 determines that the user purchase may be urgent (e.g., to avoid depletion of a supply of a certain item), routine (e.g., purchasing bottled water), or specified by the user as a permissible automatic purchase in advance, the user purchase may be made automatically to avoid burdening the user with the decision to make the user purchase,
- the order module 1430 may recommend the user purchase to the user, with the recommendation including the determined order parameters (e.g., providing the user with a notification including the option to make the user purchase).
- the order module 1430 automatically makes the user purchase on behalf of the user. For instance, if the order module 1430 determines that the user purchase may
- FIG. 18 is a flow diagram illustrating further operations for determining order parameters including operations to determine a temporal parameter associated with the purchase, according to some example
- the analysis module 1420 identities a purchase motive of the user for the commerce item by analyzing the user characteristics.
- the purchase motive corresponds to a motive time.
- the user may be planning a vacation that includes a beach destination.
- the vacation may be indicative of the purchase motive of the user for items associated with the vacation (e.g., sunscreen for a beach type vacation, snacks for a road trip type vacation, Broadway tickets for a New York city trip).
- the motive time corresponds to th e beginning of the vacation (e.g., as determined by user calendar information included in the attribute data or purchase history data such as plane ticket information).
- the order module 1430 determines temporal order parameters based on the motive time. In the example above, where the user may be planning a vacation, the order module 1430 determines the temporal order parameters so ihai the items corresponding to the user purchase arrive prior to the vacation. In another example, if the purchase motive is associated with an event, such as a graduation party, the order module 1430 may determine the temporal order parameters such that the items associated with the user purchase are delivered prior to the graduation party, since the user may no longer have demand for the particular item after a certain time.
- the order module 1430 facilitates the purchase according to the determined temporal order parameters. For example, the order module 1430 schedules the items corresponding to the user purchase to arrive at a certain time.
- FIG. 19 is a flow diagram illustrating further operations to facilitate the purchase based, at least in part, on purchase criteria, according to some example embodiments.
- the analysis module 1420 accesses purchase criteria corresponding to the user.
- the purchase criteria for example, include predefined criteria, user-specified criteria, dynamically determined criteria, either alone or any suitable combination thereof.
- the purchase criteria may include temporal-based criteria (e.g., criteria that specifies making the user purchase with certain time periods), budget criteria (e.g., spending limits associated with particular items or categories of items), context- based criteria (e.g., adjusting the budgeting criteria based on the user's current location), among other purchase criteria.
- the user specifies a budget for a particular category or good (e.g., transportation, food, utilities, housing, entrainment, travel, health), a total budget, or a monthly- budget.
- a budget for a particular category or good e.g., transportation, food, utilities, housing, entrainment, travel, health
- a total budget e.g., a total budget, or a monthly- budget.
- rules-based criteria such as a particular time to make certain purchases (e.g., after paycheck is deposited).
- the analysis module 1420 identifies, and includes, in the purchase criteria, patterns in the user's purchasing habits, objectives, goals, or dynamically generated criterion.
- the analysis module 142.0 determines that the user may be afflicted with a medical condition, such as a peanut allergy, in this scenario, the analysis module 1420 includes a criterion in the purchase criteria to avoid items that contain peanuts.
- the analysis module 1420 determines that the user may be attempting to maintain a vegan diet and the analysis module 1420 may avoid food items that are contrary to the goal of maintaining a vegan diet.
- the order module 1430 automatically purchases the commerce item on behalf of the user according to the purchase criteria.
- the order module 1430 determines satisfaction of the purchase criteria prior to facilitating the user purchase for the user. For example, the order module 1430 determines that a particular budget criterion included in the purchase criteria has been exceeded and the order module 1430 may not perform the user purchase on that basis. In other words, the order module 1430 facilitates the user purchase based on the determined satisfaction of the purchase criteria.
- FIG. 20 is a flow diagram illustrating an example method 2000 of one such combination of the operations, although many other suitable combinations may be employed.
- the attribute module 230 receives the attribute data associated with the user.
- the item module 1410 extracts the demand indications from the attribute data.
- the analysis module 1420 identifies the commerce item from the attribute data based on the demand indications.
- the characteristic module 240 infers the user characteristics from the attribute data. As shown in FIG, 20, vario us combinations of the above operations may be employed to facilitate the user purchase at the operation 1550.
- the item module 1410 extracts the current inventory level of the commerce item at the operation 1610. As described above, at the operation 1620, the analysis module 1420 determines the inventory threshold for the commerce item.
- the analysis module 1420 identifies the mismatch between the inventory threshold and the current inventory level.
- the user analytics system 270 may proceed to the operation 1710. Alternatively, if the analysis module 1420 does not identify the mismatch, no subsequent operation may be performed.
- ihe order module 1430 determines the order parameters of the user purchase based on the user characteristics, in an example embodiment. In some example embodiments, this may involve the operations 1810, 1820, and 1830, respectively, to determine the temporal order parameters that may be included in the order parameters. At the operation 1720, the order module 1430 facilitates the user purchase according to the order parameters.
- FIG. 20 shows an example embodiment where various ones of the above operations may be employed in conjunction with each other to facilitate the user purchase.
- FIG. 21 is a flow diagram illustrating an alternative example method 2100 for identifying the commerce item and facilitating the user purchase, according to some example embodiments.
- the example method 2100 may involve similar operations as those described above.
- the attribute module 230 receives or accesses the attribute data associated with the user.
- the characteristic module 2.40 infers the user characteristics pertaining to the user from the attribute data,
- the analysis module 1420 identifies similar users that are similar to the user based on the inferred user characteristics and respective user characteristics of a plurality of other users.
- the analysis module 1420 identifies similar users that are similar to the user based on a variety of factors.
- the analysis module 1420 accesses the attribute data or stored user characteristics corresponding to the plurality of other users.
- the analysis module 1420 identities the similar users from among the plurality of other users that are similar to the user based on the inferred user characteristics of the user and respective user characteristics of the plurality of other users.
- the analysis module 1420 may correlate, match, or otherwise compare the inferred user characteristics with respective user characteristics of the plurality of other users to identiiy the similar users.
- the analysis module 142.0 identifies the similar users based on the same or similar demographic data (e.g., same or similar age, marital status, gender, geographic location, etc.), same or similar user characteristics (e.g., same or similar brand purchases), same or similar attribute data, and so on,
- the analysis module 1420 identities the commerce item from the attribute data based on the user characteristics of the similar users and the demand indications.
- the demand indications may indicate a particular item that may not be particularly significant based on the demand indications (e.g., the demand metric may be particularly low for the particular item).
- the analysis module 1420 may identify this particular item based on the user characteristics of the similar users indicating that the particular item may be of significance. In other words, although the demand indications did not show a strong demand for the particular item, the user characteristics of the similar users indicated that the user may have strong demand for the particular item.
- the demand indications may indicate the user has demand for a pair of sunglasses.
- the demand indications in this example may further indicate the user may be interested in brands X, Y, and Z with a particular emphasis on brand X.
- the user characteristics of the similar users e.g., user of the same or similar age, location, gender, other demographic information, or similar purchasing preferences
- brand Z maybe in high demand for the users similar to the user.
- the analysis module 1420 may identify brand Z sunglasses as the commerce item.
- the order module 1430 determines the order parameters or transaction parameters based on the user characteristics of the similar users. For example, the delivery method may be determined based on the user characteristics of the similar users. For instance, if the similar users frequently choose a speedy delivery method for a particular item (e.g., new electronics), ihe order module 1430 may determine a speedy delivery method corresponding to the user purchase for the commerce item that may be the same or similar to the particular item,
- a speedy delivery method corresponding to the user purchase for the commerce item that may be the same or similar to the particular item.
- the purchase criteria may include dynamically determined criterion based on the user characteristics of the similar users. That is to say, the analysis module 1420 may dynamically generate a portion of the purchase criteria based on the similar users. For example, a default budget for particular categories of items may be determined based on an analysis of the user characteristics of the similar users (e.g., other users with similar demographic information as the user may on average spend a certain amount per category of good).
- the order module 1430 facilitates the user purchase associated with the commerce item according to the determined order parameters. As discussed above, the order module 1430 facilitates the user purchase in a variety of manners including automatically performing the user purchase on behalf of the user or causing presentation of a notification to the user that includes the option to make the user purchase according to the order parameters.
- FIG. 2.2 is a flow diagram illustrating further operations to facilitate the purchase based, at least in part, on the demand metric, according to some example embodiments.
- the analysis module 1420 calculates the demand metric of the identified item based on the demand indications corresponding to the identified item.
- the order module 1430 facilitates the user purchase based on the demand metric. For example, if the order module 1430 determines that the demand metric is high (e.g., exceeds a predefined or dynamically determined threshold) then the order module 1430 may facilitate the user purchase with more urgency than for a lower demand metric. For instance, the order module 1430 automatically performs the user purchase for the user based on a high demand metric or more frequently causes presentation to the user of the notification that includes the option to make the user purchase (or with more emphasis such as a more conspicuous notification such as a larger user interface presentation to the user). In some instance, the order module 1430 determines the order parameters based on the demand metric. For instance, if the order module 1430 determines that the demand metric is high, then the order module 1430 may subsequently determine a speedier delivery option for the commerce item.
- the demand metric e.g., exceeds a predefined or dynamically determined threshold
- FIG. 23 is a flow diagram illustrating further operations to facilitate the purchase using a notification, according to some example embodiments.
- the presentation module 210 generates the notification that includes an option to make the user purchase.
- the notification may include a user interface, a text message (Short Message Service (SMS), Multimedia Messaging Service (MMS), Enhanced Messaging Service (EMS), other messaging modalities), and so on.
- SMS Short Message Service
- MMS Multimedia Messaging Service
- EMS Enhanced Messaging Service
- the presentation module 210 may generate the content of the notification based on the commerce item, the user characteristics, the user characteristics of the similar users, the attribute data, and so forth.
- the notification may include the order parameters for the user purchase.
- the presentation module 210 causes presentaiion of the generated notification to the user.
- the presentation module 210 may communicate instructions to present a user interface that includes the notification to a device of tire user.
- the presentation module 210 may determine the device of the user to present the notification of the user based on the user characteristics. For example, if the user has a preference for a particular device (e.g., a mobile device of the user), the presentation module 210 may cause presentation of the notification to that device.
- the notification may provide the user the option to specify or modify the order parameters of the user purchase.
- the presentation module 210 receives a user selection of the option to make the purchase. For example, if the user chooses to make the user purchase, the presentation module 210 may receive the user selection of the option to make the purchase and communicate the selection to the order module 1430 to perform the user purchase.
- FIG. 24 is a flow diagram illustrating further operations for presenting a notification, according to some example embodiments.
- the presentation module 2.10 identifies presentation parameters for presentation of the notification.
- the presentation module 210 may identify the presentation parameters based on the user characteristics, the user characteristics of the similar users, the attribute data, the demand indications, or other data.
- the presentation parameters may include a preferred device of the user to present the notification, preferred time of day to present the notification, content preferences (e.g., do not present notifications regarding particular item categories), and so on.
- the user characteristics may indicate a work time period for the user.
- the notification may not be presented to the user during the work time period as the user may not respond.
- the analysis module 1420 may identity a device status of a particular user device and, based o n the device status, the presentation module 210 may route the notification to another device. For instance, if the device status indicates that the device is inactive (e.g., being charged), the presentation module 210 may cause presentation of the notification to another device (e.g., an active device as determined by device sensors).
- the presentation module 210 causes presentation of the notification according to the presentation parameters. For instance, the presentation module 210 may cause presentation of the notification to a preferred device of the user at a time of day that the user is likely to respond to the notification as determined based on an analysis of the user characteristics.
- FIG. 25 is a flow diagram illustrating further operations for presenting a notification, according to some example embodiments.
- the analysis module 1420 detec ts a trigger ac tion of the user based on the real-time data included in the attribute data. For example, the analysis module 1420 may determine that the user may be moving into the kitchen (e.g., as determined by a BLUETOOTH® handshake between a mobile device the user may be wearing and a smart appliance located in the user's kitchen), which may be a good time to notify the user regarding food supplies.
- the presentation module 210 causes presentation of the notification to the user in response to detecting the trigger action.
- the presentation module 210 may cause presentation of the notification to the user.
- FIG. 26 is a flow diagram illustrating an example method 2600 showing communication between various devices in relation to presenting a notification to the user, according to some example embodiments.
- attribute source 2602 communicates the attribute data to the data mesh system 150.
- the attribute module 230 may receive the attribute data associated with the user.
- the item module 1410 extracts the demand indications from the attribute data.
- the analysis module 1420 may identify the commerce item from the attribute data based on the demand indications.
- the characteristic module 240 infers the user characteristics from the attribute data.
- the order module 1430 facilitates the user purchase by generating the notification at the operation 2620.
- the presentation module 210 communicates the notification from the data mesh system 150 to the user device 2606.
- the user device 2.606 may receive the notification and present the notification to the user.
- the user may select an option to make the user purchase.
- the user device 2606 may communicate an indication of the user selection to make the user purchase at the operation 2640.
- the data mesh system 150 may receive the user selection to make the user purchase.
- the order module 1430 may perform the user purchase in response to receiving the user selection to make the user purchase at operation 2660.
- FIG, 27 depicts an example user interface 2700 to facilitate the purchase, according to some example embodiments. It will be noted that alternate presentations of the displays of FIG. 27 may include additional information, graphics, options, and so forth; other presentations may include less information, or may provide abridged information for easy use by the user.
- Notification 2710 may be text messages, such as Short Message Service (SMS) messages, Multimedia Messaging Service (MMS), Enhanced Messaging Service (EMS), and other messaging modalities, which may be provided to notify the user of the user purchase including the order parameters.
- SMS Short Message Service
- MMS Multimedia Messaging Service
- EMS Enhanced Messaging Service
- the notification 2710 may be a push notification or similar type of notification. Some notifications may be interactive, enabling the user to make a selection through the SMS system, mobile application, or other method. For instance, the user may interact with the notification 2710 using user interface element 2720.
- FIGS. 28 and 29 illustrate non- limiting examples of identifying the commerce item and facilitating the user purchase associated with the commerce item, according to some example embodiment.
- a scene 2800 depicts a living room attached to an open kitchen.
- the scene 2800 includes a media entertainment device 2810, a smart television (TV) 2.820, a lamp 2830, a mobile computer 2840, a mobile device 2850, a user 2860, a smart refrigerator 2870, and a kitchen display 2880.
- TV smart television
- Each of the devices 2810- 2850, 2870, and 2880 may be attribute sources coupled to a network (e.g., the network 104) and operable to communicate with the data mesh system 150.
- the user 2860 is carrying a smart device (e.g., a mobile device, a wearable device, a near field communication (NFC) enabled smart ring) on their person that may provide real-time data corresponding to the user 2860.
- a smart device e.g., a mobile device, a wearable device, a near field communication (NFC) enabled smart ring
- NFC near field communication
- the user 2860 may be carrying a mobile device that may provide real-time location data (e.g., as determined by a GPS component, beacon location detect, or other location services).
- the analysis module 1420 tracks, monitors, or otherwise observes the location of the user 2860 via a particular device the user is wearing, or the location of the user 2860 may be derived from various real-time data associated with the user's location included in the attribute data (e.g., BLUETOOTH® handshakes between a device the user is wearing and another device with a known or fixed location).
- attribute data e.g., BLUETOOTH® handshakes between a device the user is wearing and another device with a known or fixed location.
- the lamp 2830 is a smart lamp operable to communicate various operating data to the data mesh system 150 or connected to a smart outlet operable to monitor the functionality of the lamp 2830.
- the item module 1410 extracts demand indications from portions of the attribute data corresponding to the lamp 2830.
- the demand indications may indicate use of the lamp 2830 in a particular way (e.g., the user 2860 may use a low brightness setting on the lamp 2830) or that the light bulb of the lamp 2830 has burned out.
- the analysis module 1420 identifies the commerce item as a light bulb that needs to be replaced based on the demand indications (e.g., detected via sensors of the lamp 2830 or derived via data from a smart outlet such as reduced power consumption indicating a burnt-out light bulb). Subsequently, the order module 1430 may notify the user of the burnt- out light bulb with an option to reorder a particular light bulb based on the user characteristics (e.g., purchase history of the user ). In some ins tance, the order module 1430 may automatically reorder the light bulb without notify ing the user. In various example embodiments, the order module 1430 automatically performs the user purchase based on the purchase criteria (e.g., for this particular category of goods, simply place an automatic order).
- the purchase criteria e.g., for this particular category of goods, simply place an automatic order.
- the smart refrigerator 2870 communicates inventory data to the data mesh system 150,
- the smart refrigerator 2870 may communicate food supply data.
- the item module 1410 extracts demand indications from the food supply data.
- the analysis module 1420 identifies the commerce item based on the demand indications. For instance, the analysis module 1420 may identify milk as the commerce item based on a low inventory level of milk.
- the order module 1430 determines a quantity of milk to order based on the user characteristics (e.g., historical purchase data for milk during the current season of the year). The order module 1430 may then generate a notification that includes an option to purchase milk.
- the order module 1430 causes presentation of the notification based on the user characteristics.
- the real-time data included in the attribute data may indicate the user 2860 is currently in the kitchen, which may be a good time to provide the user 2860 the option to reorder milk (the reasoning being that the user 2860 may be able to inspect the food supply first).
- the order module 1430 may determine that the status of the mobile device 2850 is inactive (e.g., toned off or not in use based on a lack of movement detected from device accelerometers). In this scenario, the order module 1430 may cause presentation of the notification to the user on another device such as display 2880.
- FIG. 29 illustrates an example of identifying an item and facilitating a purchase associated with the identified item, according to some example embodiments.
- the scene 2900 depicts a city including the user 2910 driving in a car.
- the item module 1410 extracts demand indications such as a location of the user 2910 or a route of the user 2910 that may be indicative of a destination 2950 and thus, the commerce item.
- the analysis module 1420 determines the destination 2950 of the user 2910 from the demand indications or based on, for example, a route 2930 the user 2910 is taking, a time of day, and a day of the year. In other words, the analysis module 1420 may determine the destination 2950 of the user 2910 based on the demand indications and the user
- the analysis module 1420 or the characteristic module 240 determines the real-time location of the user 2910 based on BLUETOOTH® or other close range communication detections within a radius such as radius 2920. For instance, the analysis module 1420 determines that the user 2910 may be at the destination 2950 if the user 2910 is within the radius 2940 of the destination 2.950. In this scenario, the destination 2950 may be a coffee shop and the commerce item may be a cup of coffee.
- the order module 1430 automatically places an order for the cup of coffee, or presents a notification with the option to place the order for the coffee, while the user 2910 may be en route.
- the order module 1430 determines the order parameters based on the user characteristics such as past orders for coffee included in a purchase history of the user 2910.
- the presentation module 210 determines the presentation parameters based on the user 2910 being in the car (e.g., present an audio alert for the option to place the order and receive a vocal command from the user 2910 to place the order).
- FIG. 30 is a block- diagram of the augmentation system 280, which may provide functionality to authenticate the identity of the user, identify the user activity, and augment the user activity.
- the augmentation system 280 may include an authentication module 3010, an activity module 3020, and a settings module 3030.
- the authentication module 3010 in the augmentation system 280 may provide functionality to facilitate authenticating a user's identity. For example, the authentication module 3010 may identify a portion of the attribute data indicative of the identity of the user. Subsequently, the authentication module 3010 may authenticate the identity of the user by analyzing the identified portion of the attribute data. In further example embodiments, the authentication module 3010 may calculate an identity likelihood metric based on real-time data included in the attribute data. The identity likelihood metric may indicate the likelihood of authenticating the identity of the user (e.g., a higher identity likelihood metric may indicate a strong probability that the user's identity may be authenticated). The autheniication module 3010 may analyze a variety of portions of the attribute data using many different schemes and techniques to authenticate the identity of the user.
- the activity module 3020 may provide functionality associated with user activities. For example, the activity module 3020 may identify a user activity being performed by the user based on the attribute data included in the real-time data. In a further example, the activity module 3020 may facilitate augmentation of the identified user activity according to a user setting or user preference. For instance, the user setting may be associated with presenting information to the user (e.g., the user may have a desire to use a larger screen for presenting information if available). In this instance, the activity module 3020 may augment presentation of information to the user based on the user setting.
- the user setting may be associated with presenting information to the user (e.g., the user may have a desire to use a larger screen for presenting information if available).
- the activity module 3020 may augment presentation of information to the user based on the user setting.
- the settings module 3030 may provide functionality to access or determine one or more user settings. For example, the settings module 3030 may determine the user setting based on the attribute data and the identified user activity. In some example embodiments, the settings module 3030 may access the user setting from a storage device (e.g., the database(s) 126). In further example embodiments, the settings module 3030 may determine the user setting based on an analysis of the user characteristics, similar users, an augmentation result from augmenting the user activity, and so forth.
- FIG. 31 is a flow diagram illustrating an example method 3100 for authenticating the user and augmenting the user activity , according to some example embodiments.
- the operations of the method 3100 may be performed by components of the data mesh system 150 and the augmentation system 280.
- the attribute module 230 may receive the attribute data associated with the user from a plurality of attribute sources.
- at least a portion of the attribute data may include real-time data or near real-time data.
- real-time data is intended to include data associated with an event currently happening.
- the real-time data may include user input data or sensor data communicated to the attribute module 230 after a delay interval (e.g., due to transmission delay or other delays such as being temporarily stored at an intermediate device) between capturing the data and the attribute module 230 receiving the data,
- a delay interval e.g., due to transmission delay or other delays such as being temporarily stored at an intermediate device
- the attribute data may be received from a broad spectrum of attribute sources (e.g., devices, sensors, servers, databases, and other sources). Additionally, the attribute module 230 may receive the attribute data via many pathways resulting from an assortment of configurations of the attribute sources as further discussed in connection with FIGS. 51 A and 51 B. in an example embodiment, the attribute module 230 may receive the attribute data directly from the attribute sources. In other example embodiments, the attribute module 230 may receive the attribute data from a central device that receives attribute data from a plurality of user devices.
- attribute sources e.g., devices, sensors, servers, databases, and other sources.
- the attribute module 230 may receive the attribute data via many pathways resulting from an assortment of configurations of the attribute sources as further discussed in connection with FIGS. 51 A and 51 B. in an example embodiment, the attribute module 230 may receive the attribute data directly from the attribute sources. In other example embodiments, the attribute module 230 may receive the attribute data from a central device that receives attribute data from a plurality of user devices.
- various user devices may be communicatively coupled in a decentralized device-to-device mesh, and the attribute module 230 may receive the attribute data corresponding to a particular device in the mesh from any of the devices in the mesh.
- the attribute module 230 may receive the attribute data from the attribute sources in many other configurations including various suitable combinations of configurations.
- the attribute module 230 may store the attribute data in association with the user (e.g., indexed based on a user identifier) for subsequent analysis.
- the attribute module 230 may store the attribute data in a storage device such as the database(s) 126, for example.
- the attribute module 230 may access the stored attribute data using a variety of search or find schemes. For instance, the attribute data associated with a particular user may be accessed using a user identifier that corresponds io the particular user. It will be noted that the collective, aggregated attribute data may be referred to as a "data mesh.”
- the authentication module 3010 may identify a portion of the real-time data indicative of an identity of the user.
- the attribute data including the real-time data may comprise a vast amount of data associated with the user. All or various portions (e.g., segments or pieces) of the real-time data may be indicative of the identity of the user.
- the authentication module 3010 may identify, extract, parse, or otherwise obtain data from the real-time data that is pertinent, relevant, or otherwise useful in authenticating the identity of the user.
- various devices that provide the realtime data to the attribute modide 230 may correspond to the user.
- one or more user devices e.g., mobile device, wearable device
- the user devices and the real-time data provided by the user devices may be identified via a device identifier such as an internet Protocol (IP) address, a Media Access Control (MAC) address, other unique identifies, an international Mobile Station Equipment identity (IMEI), a Mobile Equipment identifier (MEID), and so forth.
- IP internet Protocol
- MAC Media Access Control
- IMEI international Mobile Station Equipment identity
- MEID Mobile Equipment identifier
- the authentication module 3010 may identify portions of the realtime data indicative of the identity of the user by matching de vice identifiers corresponding to the user with respective device identifiers associated with the real-time data.
- location data e.g., as determined by a GPS component of a mobile device
- location data may be identified by the authentication module 3010 as indicative of the identity of the user if the location data originated from a device having a device identifier corresponding to the user (e.g., the location data originated from the user's mobile device).
- data that originates from a de vice corresponding to the user may merely be indicative of the identity of the user rather than identify the user as another user that may be operating the device.
- the identity of the user may be authenticated with respect to the real-time data in subsequent operations discussed below.
- the attribute data and the realtime data may include sensor data.
- the authentication module 3010 may identify portions of the sensor data that may be indicative of the identity of the user.
- the sensor data may include biometric data such as a fingerprint scan, vocal sample, electroencephalogram, or retinal scan (refer to FIG. 53 for additional sensor data).
- the authentication modide 3010 may identify the biometric data as being indicative of the identity of the user (e.g., matching fingerprints included in the sensor data with fingerprints of the user or matching another sensor signature with a sensor signature of the user).
- the real-time data need not necessarily have originated from a device corresponding to the user.
- the authentication module 3010 may identify portions of the attribute data indicative of the identity of the user based on various analyses or patterns. For example, a particular device may provide location data (e.g., as determined by a GPS component of a mobile device). The authentication module 3010 may determine that the location data may be indicative of the user identity based on past location data of the user. In a specific example, if the user has, in the past, exhibited a particular pattern of travel or has frequently visited a particular location (e.g., a particular route home, or spent a particular amount of time in certain locations) then the authentication module 3010 may identify the real-time data corresponding to the particular device providing the location data as indicative of the user identity .
- location data e.g., as determined by a GPS component of a mobile device.
- the authentication module 3010 may determine that the location data may be indicative of the user identity based on past location data of the user. In a specific example, if the user has, in the past, exhibited a particular pattern of travel or has frequently visited
- the authentication module 3010 may employ many other analyses to identify the attribute data indicative of the identity of the user.
- the user may be a member of various websites (e.g., e-commerce websites, social website.). If the user logs into a particular website using a particular device, the authentication module 3010 may identify the particular device and the attribute data received from the particular device as indicative of the user identity.
- the authentication module 3010 may authenticate the identity of the user with respec t to the real-time data by analyzing the identified portion of the real-time data and the attribute data. In some example embodiments, authenticating the identity of the user with respect to the real-time data may establish that the real-time data resulted from an action of the user. For instance, if the authentication module 3010 authenticates the identity of the user with respect to location data included in the real-time data, the location data may indicate the current location of the user.
- authentication module 3010 may analyze many different portions of the attribute data using a variety of analysis schemes and techniques to authenticate the identity of the user. The following discussion merely provides non-limiting examples of the authentication module 3010 authenticating the identity of the user based on the attribute data.
- the authentication module 3010 may identify a portable device (e.g., mobile device, wearable device) corresponding to the user from the real-time data, and use the identified portable device as a basis for authenticating the identity of the user with respect to the real-time data. For example, the authentication module 3010 may calculate the identity likelihood metric based on the identified portable device. The identity likelihood metric may indicate the likelihood that the identified portion of the attribute data identifies the user. In a specific example, the user may be operating a computer, carrying a mobile device, and wearing a smart watch. In this example, the attribute module 230 may receive the real-time data from each of the devices.
- a portable device e.g., mobile device, wearable device
- the authentication module 3010 may authenticate the identity of the user with respect to the real-time data received from those devices, the reasoning being thai if a person is determined to be carrying one or more devices belonging to the user, the person may be the user (e.g., the identified portable devices implicate or suggest the person may be the user). The more devices of the user that the person may be carrying, the stronger the basis may be that the person is the user.
- the authentication module 3010 may authenticate the identity of the user with respect to the real-time data corresponding to the computer based on the authentication with respect to the mobile device and wearable device.
- the authentication module 3010 may perform this authentication, for example, based on the location of the computer relative to the location of the portable devices of the user. For example, if the location of the computer is the same or within a short distance (e.g., an arm's length) of the location of the portable devices of the user, the authentication module 3010 may infer that the user is using the computer.
- the location of the computer may be established based on sensor data included in the real-time data such as near field, BLUETOOTH®, or other interactions between the portable devices and the computer.
- the location of a particular portable device may be known based on a GPS component of the particular portable de vice, and the location of a device in communication with the particular portable device may be inferred based on short-range communications that operate over short distances.
- the authentication module 3010 may authenticate the identity of the user with respect to the real-time data received from the computer.
- the above is merely a non-limiting example, and many other techniques may be employed by the authentication module 3010 to authenticate the identity of the user with respect to the real-time data of various devices.
- the authentication module 3010 may use other indications of the identity of the user to authenticate ihe identity of the user with respect to the real-time data.
- the authentication module 3010 may use sensor data, at least in part, to authenticate the identity of the user.
- the sensor data may include biomeiric data ihai ihe authentication module 3010 may use to authenticate the identity of the user.
- the biometric data may include biometric identification data such as fingerprint scans, vocal samples, retinal scans, facial scans, or electroencephalogram data (see FIG. 53 for additional biometric identification data).
- the authentication module 3010 may match, correlate, or otherwise determine that the biometric data corresponds to the user to authenticate the identity of the user with respect to the real-time data.
- the authentication module 3010 may use location data to authenticate the identity of the user with respect to the real-time data.
- the location data e.g., as determined by a GPS component of a mobile device
- the location pattern may comprise being at a particular location at a particular time or a particular route at a particular time.
- the location data may indicate a location that may be the home of the user. Given that the location may be the home of the user, it may be probable that the real-time data provided by the mobile device may correspond to the user.
- the authentication module 3010 may authenticate the identity of the user with respec t to the real-time data based on a location corresponding to the real-time data that may be indicative of the user (e.g., a location that may be typically access-restricted for which the user has access such as a home or office).
- FIG. 32 is a flow diagram illustrating further example operations of the method 3100 of FIG. 31, according to some example embodiments.
- the authentication module 3010 may authenticate the identity of the user by analyzing ihe identified portion of the real-time data.
- the authenticat on module 3010 may calculate the identity likelihood metric based o the identified portion of the attribute data.
- the identity likelihood metric may indicate the likelihood that the identified portion of the attribute data identifies the user (e.g., the probability that the identified portion of the real-time data identifies the user).
- the authentication module 3010 may calculate the identity likelihood metric using a variety of schemes and techniques.
- the authentication module 3010 may weight various portions of the real-time data indicative of the identity of the user. For example, the authentication module 3010 may more heavily weight the real-time data that strongly indicates the identity of the user (e.g., a fingerprint scan that matches a fingerprint scan of the user). Conversely, the authentication module 3010 may weight less heavily the real-time data that does not strongly indicate the identity of the user (e.g., real-time data indicating a user device in a particular location at a particular time may be indicative of the identity of the user but may not as strongly implicate the identity of the user as biometric identification data). In some example embodiments, the authentication module 3010 may use a combination of the real-time data to calculate the identity likelihood metric.
- the authentication module 3010 may determine whether the identit likelihood metric exceeds an authentication threshold. In an example embodiment, when the identity likelihood metric exceeds the authentication threshold, the authentication module 3010 may authenticate the identity of the user. Conversely, if the identity likelihood metric does not exceed the threshold, the authentication module 3010 may not authenticate the identity of the user, and no further operations may be performed in method 3100.
- the authentication module 3010 may authenticate the identity of the user. As discussed above, the authentication module 3010 may use the identity likelihood metric exceeding the authentication threshold as a factor in authenticating the identity of the user with respect to the real-time data. The authentication module 3010 may use the identity likelihood metric alone or in conjunction with other factors to authenticate the identity of the user. Once the identity of the user is authenticated with respect to the realtime data, subsequent operations of the method 3100 may be performed.
- FTG. 33 is a flow diagram illustrating a further embodiment for authenticating the identity of the user, according to some example embodiments.
- the authentication module 3010 may authenticate the identity of the user b analyzing the identified portion of the attribute data.
- the authentication module 3010 may derive, extract, or otherwise obtain past identification indications from past attribute data. For example, if the past attribute data includes location data, the authentication module 3010 may extract favorite or frequent locations corresponding to the user.
- the authentication module 3010 may derive, extract or otherwise obtain real-time identification indications from the real-time data.
- the real-time data may include location data.
- the real-time identification indications may be derived.
- the authentication module 3010 may derive location information based on short-range communications with devices of a known or fixed location.
- the authentication module 3010 may calculate the identity likelihood metric by correlating, matching, or otherwise comparing the real-time identification indications with the past identification indications. For example, if the real-time data indicates a particular location, the
- authentication module 3010 may match the particular location with a frequent location of the user to authenticate the identity of the user. Although the discussion of FIG. 33 is mostly directed to location data, the authentication module 3010 may, in a similar manner, use many other types of data included in the attribute data to calculate the identity likelihood metric.
- the activity module 3020 may identify or infer a user activity being performed by the user based on the real-time data.
- the activity module 3020 may identify a user objective (e.g., logging into a website) being advanced by the user based on the real-time data.
- the user activity may include a wide variety of activities such as, for example, operating a computer (e.g., logging into a website), jogging in the park, walking toward the refrigerator, and streaming video or other media content.
- the activity module 302.0 may identify the user activity based on sensor data and status data received from one or more user devices. The status data may indicate activity associated with a particular device.
- the user devices may include a mobile device that provides location data and a variety of other user devices that may provide the status daia (e.g., a smart TV that indicates current operating status such as streaming a particular piece of media).
- the activity module 3020 may infer the user activity by analyzing the location data in conjunction with the status data (e.g., the user may be proximate to the smart TV based on the location data, and the smart TV may indicate that it is streaming a video).
- the activity module 3020 may infer, extract, or deri ve the status data for a particular device based on an analysis of sensor data corresponding to the particular device.
- a mobile device may be equipped with accelerometers that measure motion and provide motion data. If the motion data indicates that the device is not moving, the activity modide 3020 may infer that a person may not be carrying the particular device. In this scenario, the activity module 3020 may not infer the user activity based on a device that is not currently being carried by the user.
- the above examples are merely non-limiting examples of the activity module 3020 identifying or inferring the user activity based on the real-time data.
- the activity module 3020 may use many other portions of the real-time data in a variety of schemes to identify or infer the user activity.
- the activity module 302.0 may augment, adapt, or otherwise modify the user activity according to a user setting or user preference.
- the activity module 3020 may augment an environment of the user based on a user preference to facilitate the user's advancement towards the user objective.
- the environment of the user is intended to include, for example, user devices within the vicinity of the user.
- the activity module 3020 may augment the user activity by adjusting a security level of the authorization task.
- the activity module 3020 may adjust the security level of the authorization task based on the identity likelihood metric.
- adjusting the security level of the authorization task may include automatically performing the authorization task on behalf of the user. For example, if the authentication module 3010 has authenticated the identity of the user and the user activity includes accessing a particular website, then the activity module 3020 may automatically log the user into the particular website.
- the identified user activity may comprise making a payment (e.g., an electronic payment to an e-commerce website corresponding to an item listing listed on the e-commerce website or a electronic payment to a merchant at a physical store).
- the activity module 3020 may augment the user activity associated with making a particular payment by facilitating the payment between the user and the payee. For instance, based on the authentication of the identity of the user, the user may not need to provide a security credential or provide fewer security credentials to make the payment.
- FIG. 34 depicts communication between a device of the user and the data mesh system 150, according to some example embodiments.
- a user 3410 may be wearing one or more smart devices such as a smart watch 3420.
- the smart watch 342.0 may be communicatively coupled to the network 104 via various modalities.
- the smart watch 3420 may be
- the smart watch 3420 may send signals 3430 that are received at the network interface 3440.
- the smart watch 3420 may be communicatively coupled to the network 104 without the network interface 3440.
- the networked system 102 including the data mesh system 150 and the augmentation system 280, may be communicatively coupled to the network 104.
- the smart watch 3420 of the user 3410 may be any type of the user 3410.
- the data mesh system 150 may receive or access the attribute data corresponding to the smart watch 3420 via the network 104.
- the data mesh system 150 including the augmentation system 280, may communicate or exchange data with the smart w atch 3420 to facilitate augmentation of the user activity such as communicating instructions to present a user interface.
- FIG. 34 depicts an example smart watch 3420, it will be appreciated that a wide variety of other devices may similarly be configured to interact with the data mesh system 150,
- FIGS. 35-38 are flow diagrams illustrating further example operations of the method 3100 of FIG . 31 , according to some example embodiments.
- the activity module 302.0 may augment the user activity according to the user setting.
- Each of the flow diagrams of FIGS. 35-38 illustrates additional operations of the operation 3150.
- the additional operations of the operation 3150 include various example embodiments of augmenting the user activity according to the user setting.
- the following discussion merely describes non- limiting examples, and many other schemes and techniques may be employed by the augmentation system 280 to augment the user activity using the user setting.
- the settings module 3030 may determine the user setting based on the attribute data and the user activity at operation 3510. For example, the settings module 3030 may store a plurality of user settings in a storage device such as the database(s) 126. Subsequent to determining the user activity, the settings module 3030 may determine the user setting associated with or pertaining to the user activity. For instance, the user activity may include the user streaming a movie to a particular user device.
- the settings module 3030 may determine the user setting associated with augmenting the user activity of streaming the movie such as, for example, automatically pausing the streaming when the user leaves a vicinity of the particular user device presenting the movie to the user.
- the activity module 3020 may augment the user activity according to the determined user setting.
- the user activity may include streaming the movie.
- the activity module 3020 may augment the user activity according to the determined user setting.
- the activity module 3020 may automatically pause or otherwise halt the movie based on a trigger (e.g., the user leaving the vicinity or answering a phone call), present the streaming movie to another display based on the user setting and a location of the user, and so on.
- a trigger e.g., the user leaving the vicinity or answering a phone call
- present the streaming movie to another display based on the user setting and a location of the user, and so on.
- the activity module 3020 may augment the user act vity that includes many other activities and based on many different types or kinds of user settings.
- the characteristic module 240 may infer or measure directly user characteristics based on an analysis of at least a portion of the attribute data at operation 3610. As discussed above in connection with operation 610, the characteristic module 240 can infer a variety of user characteristics from the attribute data using a variety of data. It will be understood that the discussion of operation 610 regarding the characteristic module 240 applies equally to operation 3610.
- the settings module 3030 may determine the user setting based on the inferred user characteristics and the user activity.
- the inferred user characteristics may indicate the user has an affinity to view user interfaces on a largest screen available.
- the settings module 3030 may determine that the user setting includes presenting user interfaces to the largest screen available,
- the settings module 3030 may identify similar users to the user based on the attribute data or the user characteristics. For instance, the settings module 3030 may identify users associated with the same or similar demographic data as that of the user. In an example embodiment, the settings module 3030 may determine the user setting based on attribute data or characteristics corresponding to the similar users. For example, the settings module 3030 may access the user characteristics corresponding to other users and correlate, match, or otherwise compare the user characteristics of the user with the user characteristics of other users to identify the similar users.
- the activity module 3020 may augment the user activity according to the determined user setting. For example, if the user is viewing a particular user interface on a mobile device and the user is within a distance of a larger screen, such as a computer or smart TV, the activity module 3020 may augment the user activity by presenting the particular user interface on the larger screen, [803 ⁇ 8]
- the aciivity module 3020 may determine that the user aciivity includes a presentation of a user interface to the user at operation 3710. For example, the presentation of the user interface may include the user viewing a movie, using a website, or reading an email.
- the activity module 3020 may determine that the user aciivity includes ihe presentation of ihe user interface based on the real-time data. For instance, the status data of a particular device of the user may indicate that the particular device may be presenting the user interface to the user.
- the activity module 3020 may identify presentation devices available to the user based on the attribute data that are capable of presenting the user interface to the user. For instance, the user may ⁇ be in a room that includes several user devices such as a smart TV, a laptop computer, and a mobile device. The aciivity module 3020 may identify these devices based on the real-time data. For example, if the smart TV is active and connected to a network, the activity module 3020 may query the smart TV to determine whether it may be capable of presenting the user interface.
- the activity module 302.0 may determine an alternate presentation device from among the identified presentation devices based on the user setting.
- the activity modide 3020 may determine the alternate presentation device based on a number of factors.
- the user setting may indicate the user has an affinity to view a larger screen when available.
- the activity module 3020 may identify a presentation device with a larger display.
- the alternate presentation device may be within a close vicinity of the user. For example, a particular presentation device that is out of view of the user may not be the best choice for the alternate presentation device.
- the aciivity module 3020 may make this determination based on location data included in the real-time data.
- the activity module 3020 may identity a presentation device that is portable. For example, the activity module 3020 may determine that the user is viewing a movie and that the user is leaving the vicinity , and may determine that a portable device to continue playing the movie is a desirable choice for the alternate presentation device.
- the activity module 3020 may cause
- the acti vity module 3020 may cause presentation of the live sporting event to the alternate presentation device such as another smart TV that is viewable to the user or a portable device of the user to allow the user to continue view the live sporting event despite being out of view of the initial presentation device.
- the activity module 3020 or the characteristic module 240 may determine a current location of the user based on the real- time data at operation 3810.
- the real-time data may include location data as determined by a GPS component of a mobile device, near-field beacon detections, and other location services.
- the activity module 3020 or the characteristic module 240 may access device location data included in the attribute data that includes the real-time data. Similar to the operation 3810, the activity module 3020 may access, receive, or otherwise obtain the device location data based on GPS, near-field beacon detections, and other location services.
- FIG. 38 illustrates performing the operation 3810 prior to operation 3820, in alternative example embodiments, the operation 3810 may be performed concurrently or after the operation 3820. For instance, the current location of the user and the device location data may be received, accessed, retrieved, derived, or otherwise obtained by the activity module 3020 at the same time in any order and the subsequent operations illustrated in FIG. 38 performed.
- the activity module 302.0 may identify user devices within an operation distance of the user based on the current location of the user and the device location data.
- the operation distance may be configurable or dynamically determined.
- the operation distance may vary from device to device.
- the operation distance corresponding to a smart TV may be a reasonable distance such that the user may view the smart TV.
- the operation distance corresponding to a mobile device may be a reasonable distance (e.g., arm's length) such that the user may touch the mobile device.
- the activity module 3020 may augment the operation of the identified user devices according to the user setting.
- the activity module 3020 may augment the operation of the identified user device according to the user setting and the user activity. For example, if the user activity includes the user moving into a smart kitchen, the user activity module 3020 may augment the operation of various user devices according to the user setting based on moving into the smart kitchen. For instance, relevant notifications may be pushed t o a mobile device of the user based on the user moving into or being in the smart kitchen (e.g., a notification regarding the status of a smart kitchen appliance). In another instance, the activity module 3020 may cause the smart appliance of the smart kitchen to perform a task on behalf of the user automatically based on the user moving into the smart kitchen (e.g., automatically brew a cup of coffee).
- FIG. 39 illustrates non-limiting examples of augmenting the user activity, according to some example embodiment.
- a scene 3900 depicts a living room attached to an open kitchen.
- the scene 3900 may include a media entertainment device 3910, a smart TV 3920, a lamp 3930, a mobile computer 3940, a mobile device 3950, a user 3960, a smart refrigerator 3970, and a kitchen display 3980.
- Each of the devices 3910-3950, 3970, and 3980 may be attribute sources coupled to a network (e.g., the network 104) and operable to communicate with the data mesh system 150.
- the real-time data may include location data corresponding to the user.
- the user 3960 may be carrying a mobile device or another smart device (e.g., smart watch, NFC enable smart ring) that may provide real-time location data (e.g., as determined by a GPS component, beacon location detect, or other location sendees).
- a mobile device or another smart device e.g., smart watch, NFC enable smart ring
- real-time location data e.g., as determined by a GPS component, beacon location detect, or other location sendees.
- the location of the user 3960 may be tracked, monitored, or observed via a particular device the user 3960 is wearing, or the location of the user 3960 may be derived from various real-time data associated with the user's location included in the attribute data (e.g., BLUETOOTH® handshakes between a device the user 3960 is wearing and a another device with a .known or fixed location).
- the activity module 3020 may infer the user activity based on the real-time data and augment the user activity based on the user setting
- the activity module 3020 may- determine that the user 3960 may be streaming media content to the smart TV 3920 and may be moving away from the smart TV 3920 towards the kitchen.
- the activity module 3020 may identify the mobile computer 3940 and the display 3980 as alternate presentation devices.
- the activity module 3020 may further determine that the kitchen display 3980 may be a desirable alternate presentation device as it may be within viewing distance of the user 3960.
- the activity module 3020 may then augment the activity of the user 3960 by presenting the streaming media content on the kitchen display 3980 and halting the presentation to the smart TV 3920.
- the activity module 3020 may further determine that the user 3960 has opened the smart refrigerator 3970 and may pause the streaming of the media content while the user 3960 may be using the smart refrigerator 3970.
- the authentication module 3010 may authentication the identity of the user 3960 by detecting a mobile device or wearable device the user 3960 may be carrying in proximity to the kitchen display 3980 (e.g., detected from the attribute data that may include a data feed from the mobile device, the wearable device, and the kitchen display 3980). Subsequently, the activity module 3020 may detect that the user 3960 is walking within an operating distance (e.g., a reasonable distance such as a distance that would place the user 3960 within the same room as a particular device) of a particular user device such as the kitchen display 3980.
- an operating distance e.g., a reasonable distance such as a distance that would place the user 3960 within the same room as a particular device
- the activity module 3020 may detect the user 3960 within the operating distance of the kitchen display 3980 via a GPS component of a mobile device the user 3960 may be carrying, short range communication detections (e.g., BLUETOOTH® or near- field communication handshakes between the mobile device of the user 3960 and the kitchen display 3980), and so on.
- short range communication detections e.g., BLUETOOTH® or near- field communication handshakes between the mobile device of the user 3960 and the kitchen display 3980
- the activity module 3020 may then present a personalized message to the user 3960 on the kitchen display 3980 that may be pertinent or relevant to the user 3960 with respect to the context or environment of the user 3960 as determined by the settings module 3030 via an analysis of the attribute data (e.g., the attribute data may include calendar information corresponding to the user 3960 or food inventory information as provided by the smart refrigerator 3970).
- the personalized message may be a reminder regarding an upcoming appointment or a reminder to purchase a particular product the user 3960 may be running lo on.
- the activity module 3020 may present a different personalized message or perform a different augmentation of the user activity.
- the augmentation system 280 has received the attribute data associated with the user (e.g., the user 3960), authenticated the identity of the user with respect to the real-time data (e.g., by detecting a portable device corresponding to the user 3960), identified the user activity (e.g., walking near the kitchen display 3980), and augmented the acti vity of the user according to the user setting (e.g., presenting the personalized message to the user 3960 on the kitchen display 3980).
- the attribute data associated with the user e.g., the user 3960
- authenticated the identity of the user with respect to the real-time data e.g., by detecting a portable device corresponding to the user 3960
- identified the user activity e.g., walking near the kitchen display 3980
- augmented the acti vity of the user according to the user setting e.g., presenting the personalized message to the user 3960 on the kitchen display 3980.
- the activity module 3020 may detect the user may be in a vicinity of the lamp 3930 (e.g., the user 3960 is in the same room as the lamp 3930) via location tracking of the user 3960 (e.g., a wearable device on the user's person).
- the activity module 3020 may augment the environment of the user 3960 by switching on the lamp 3930 or changing a brightness of the lamp 3930 (e.g., the lamp 3930 may be a smart lamp operable to execute various commands, or the lamp 3930 may be coupled to a smart outlet operable to control various functions of the lamp 3930).
- the activity module 3020 may adjust the operation of the lamp 3930 according to the user setting corresponding to the lamp 3930 as determined by the settings module 3030 (e.g., adjusting the brightness of the lamp 3930 according to historical brightness of the lamp 3930 corresponding to the user 3960).
- FIG. 40 depicts an example user interface to facilitate augmentation of a user acti vity, according to another embodiment.
- the activity module 3020 may identify the user activity, such as the user moving into a particular location (e.g., the kitchen).
- the activity module 3020 may augment the activity of the user by presenting a user interface to the user.
- An example mobile device 4000 displaying an example notification 4010 is shown.
- the activity module 3020 may present notifications, such as the notification 4010, to the user that are relevant within the context of the user activity. For instance, if the user has just entered the kitchen, it may be a good time to provide the user with information relevant to the kitchen, such as kitchen supplies.
- the attribute data may include data received from a smart refrigerator (e.g., smart refrigerator 3970) indicating a food supply.
- the acti vity module 3020 may augment the acti v ity of the user by presenting a notification 4010 to the user regarding the food supply.
- the user may interact with the notification 4010 using user interface elements 402.0 (e.g., place an order for the item or dismiss the notification),
- FIG. 41 is a flow diagram 4100 illustrating various communications to facilitate the method of FIG. 31, according to example embodiments.
- attribute source 4102 may communicate attribute data to the data mesh system 150.
- the data mesh system 150 may receive the attribute data at operation 31 10, authenticate the identity of the user at the operation 3130, identify the user activity at operation 3140, and augment the user activity at the operation 3150.
- the data mesh system 150 may augment the user activity by communicating with a user device 4106.
- the user device 4106 may facilitate augmentation of the user activity.
- the data mesh system 150 may communicate instructions to the user device 4106 to present a particular user interface (e.g., a notification), and the user device 4106 may present the user interface in response.
- the user device 4106 may communicate data associated with a user action responsive to the user activity.
- the data associated with the user action responsive to the augmentation of the user activity may indicate whether the augmentation is desired by the user. For instance, if the augmentation included presenting a notification to the user and the user dismisses the notification, then the settings module 3030 may use that as a basis for determining the user setting in subsequent analysis.
- the attribute source 4102 may communicate attribute data associated with the user action responsive to the augmentation of the user activity.
- the data mesh system 150 may request, retrieve, or otherwise obtain the attribute data associate with the user action from the attribute source 4102 responsive to the augmentation of the user.
- the attribute source 4102 may communicate the attribute data that indicates whether the augmentation was desired by the user.
- the settings module 3030 may infer an augmentation result from the data received from the user device 4106 and the attribute source 4102.
- the settings module 3030 or characteristic module 240 may identify a user ac tion of the user based on the real-time data, the user action being in response to the augmented user activity or environment. For instance, the user action may include dismissing a notification or interacting with a user interface.
- the augmentation result may indicate whether the augmentation was desired by the user.
- the attribute data may include engagement data that indicates the user's engagement in a particular activity, such as clicking on user interface elements.
- the settings module 3030 may infer the
- the activity module 3020 may store the augmentation result in a storage device such as the databases 126 to be used subsequently to determine the user setting.
- the settings module 3030 may evolve the user settings to better fit the user over time as more data associated with
- FIG. 42 is a block diagram of the visualization system 290, which may provide functionality to analyze the attribute data and generate a visualization based on the attribute data.
- the visualization system 290 may include an analysis module 4210, a commerce module 4220, and a visualization module 4230.
- the analysis module 4210 in the visualization system 290 may perform various analyses to facilitate the functionality described herein. For example, the analysis module 4210 may determine satisfaction of a reward criteria associated with the attribute data.
- the reward criteria may include a fitness goal and the analysis module 4210 may determine whether the user has satisfied the fitness goal based on an analysis of the attribute data. Many other rewards and analyses may be performed by the analysis module 4210.
- the commerce module 4220 may identify items from an e- commerce platform (e.g., the publication system 142).
- the items e.g., item listings on an e-commerce website
- the commerce module 4220 may also retrieve item data associated with the identified items such as item price, seller, item location, seller location, item images, item description, and so on.
- the commerce module 4220 may facilitate the purchase, by the user, of the identified items, [80322]
- the visualization module 4230 may generate a visualization based, at least in part, on the attribuie data. The visuaiization may be representaiive of the attribute data.
- the visualization module 42.30 may generate an avatar that is representative of the attribute data.
- the attribute data may indicate demographic data corresponding to the user such as gender, age, height, and so on.
- the visualization module 4230 may generate the avatar based on the demographic data such as an avatar of the same gender and similar age, height, and so forth.
- the presentation module 210 may subsequently cause presentation of the generated visualization to the user.
- FIG. 43 is a flow diagram illustrating an example method 4300 for generating the visualization, according to some example embodiments.
- the operations of the method 4300 may be performed by components of the data mesh system 150 and the visualizaiion system 290.
- the attribute module 230 may receive the attribute dat associated with the user from a plurality of attribute sources.
- the attribute data may be received from a broad spectrum of attribute sources (e.g., devices, sensors, servers, databases, and other sources).
- the attribute module 230 may receive the attribute data via many pathways resulting from an assortment of configurations of the attribute sources as further discussed in connection with FIGS. 51A and 5 IB.
- the attribute module 230 may receive the attribute data directly from the attribute sources.
- the attribute module 230 may receive the attribuie data from a central device that receives attribute data from a plurality of user devices.
- various user devices may be communicatively coupled in a decentralized device- to-device mesh, and the attribute module 230 may receive the attribute data corresponding to a particular device in the mesh from any of the devices in the mesh.
- the attribute module 230 may receive the attribute data from the attribute sources in many other configurations including various suitable combinations of configurations.
- the attribute module 230 may store the attribute data in association with the user (e.g., indexed based on a user identifier) for subsequent analysis.
- the attribute module 230 may store the attribute data in a storage device such as the database(s) 126, for example.
- the aitribiEte module 230 may access the stored attribute data using a variety of search or find schemes. For instance, the attribute data associated with a particular user may be accessed using a user identifier that corresponds to the particular user. It will be noted that the collective, aggregated attribute data may be referred to as a "data mesh.”
- the attribute data may include real-time data or near real-time data.
- real-time data is intended to include data associated with an event currently happening.
- the real-time data may include user input data or sensor data communicated to the attribute module 230 after a delay interval (e.g., due to transmission delay or other delays such as being temporarily stored at an intermediate device) between capturing the data and the attribute module 230 receiving the data.
- the characteristic module 240 may infer or measure directly a user characteristic or multiple user characteristics based o an analysis of at least a portion of the attribute data. As discussed above in connection with operation 610, the characteristic module 240 can infer a variety 7 of user characteristics from the attribute data using a variety of data. It will be understood that the discussion of operation 610 regarding the characteristic module 240 applies equally to operation 4320,
- the characteristic module 240 may infer the user's physical dimensions based on the aitribiEte data that may include purchase history. For instance, the characteristic module 240 may use demographic information such as age, gender, or location to filter clothing purchases included in the purchase history (e.g., filtering to identify clothing purchase intended for the user). Based on the filtered clothing purchase history, the characteristic module 240 may identify the user's physical dimensions based on the garment sizes of the clothing purchases. In another specific example, the characteristic module 240 may infer the user's fitness level based on fitness tracking software included in a mobile device of the user. Thus, in these specific examples, the characteristic module 240 may infer various physical characteristics or traits of the user based on the attribute data.
- the characteristic module 240 may use demographic information such as age, gender, or location to filter clothing purchases included in the purchase history (e.g., filtering to identify clothing purchase intended for the user). Based on the filtered clothing purchase history, the characteristic module 240 may identify the user's physical dimensions based on the garment sizes of the clothing purchases
- the visualization module 4230 may generate a visualization based, at least in part, on the user characteristic.
- the term "visualization” as used herein is intended to include visual and non-visual components of a presentation (e.g., an animation including audio cued to the animation).
- the term “v sualizat on” is also intended to include static images, animations, and other forms of visual presentation.
- the visualization may comprise a chart or graph that may indicate a metric associated with the attribute data.
- the metric associated with the attribute data may be a completeness metric that indicates completeness of the attribute data associated with the user. That is to say, ihe completeness metric may indicate a quantity of attribute data versus a goal quantity of attribute data or attainable quantity of attribute data (e.g., the completeness metric may indicate a quantity of the attribute data associated with the user is sixty percent of the way to a goal quantity of attribute data).
- the visualization may comprise an avatar that is representative of the user.
- the avatar may be a person- like animation or image that may be intended to represent the user.
- the avatar does not necessarily need to resemble the user's physical qualities or personality traits.
- the avatar may be intended to include qualities or traits that are similar or the same as qualities or traits of the user.
- the avatar may be visually analogous to the user.
- the visualization module 42.30 may determine an avatar trait based, at least in part, on the inferred user characteristic and include the avatar trait when generating the avatar.
- the user characteristic may comprise a physical characteristic of the user
- the avatar trait may comprise a representation of the physical characteristic.
- the characteristic module 240 may infer various user characteristics such as physical dimensions of the user, demographic information, personality traits and the like.
- the physical dimensions may indicate a person who may be six feet tall
- the demographic information may indicate a gender of female and an age of twenty two
- the personality traits may indicate an outlandish tendency.
- the avatar in this example may resemble a six foot tail woman and may include apparel that is congruent with having an outlandish tendency.
- the avatar may visually exemplify various characteristics of the user.
- the visualization module 4230 may employ a variety of schemes and techniques to determine an avatar trait based, at least in part, on the inferred user characteristic.
- the analysis module 4210 may identify similar users that are similar to the user based on a variety of factors. In some example embodiments, the analysis module 4210 may access the attribute data or stored user characteristics corresponding to a plurality of other users. For example, the analysis module 4210 may identity the similar users from among the plurality of other users that are similar to the user based on the inferred users characteristics of the user and respective user characteristics of the plurality of other users. The analysis module 4210 may correlate, match, or otherwise compare the inferred user characteristics with respective user characteristics of the plurality of other users to identify the similar users.
- the analysis module 4210 may identify the similar users based on same or similar demographic data (e.g., same or similar age, gender, location, etc.), same or similar user characteristics (e.g., same or similar brand purchases), same or similar attribute data, and so on. For instance, the analysis module 4210 may correlate the inferred user characteristics with respective user characteristics of other user to identify the similar users.
- same or similar demographic data e.g., same or similar age, gender, location, etc.
- same or similar user characteristics e.g., same or similar brand purchases
- same or similar attribute data e.g., same or similar attribute data
- the visualization module 4230 may extract common characteristics from among the identified similar users.
- the visualization module 4230 may generate the visualization based on the extracted common characteristics.
- the analysis module 4210 may identify particular similar users that are associated with being outlandish. Continuing with this example, the
- visualization module 4230 may extract the common characteristics (e.g., a particuiar style of clothing or brand) from among the ident ified plurality of users. For instance, the common characteristic may be wearing a particular clothing color, style, brand, and so o .
- the visualization module 4230 may generate or render the avatar to include a particular avatar trait that corresponds to the common characteristic (e.g., wearing a particular clothing brand).
- the visualization module 4230 may apply weighting the inferred user characteristics and the extracted common characteristics in various schemes to generate the visualization based on the inferred user characteristics or the extracted common characteristics. For example, a particular user characteristic that may be inferred from particular attribute data that correspond to a time further in the past may be weighted less heavily than a particular user characteristics interred from particular attribute data that is more recent, the reasoning being that more recent data may be more relevant or pertinent to the objective of generating the visualization in a manner that accurately reflects t e user or the attribute data.
- the visualization module 4230 may apply weighting using many other schemes, and the above is merely a non-limiting example.
- the visualization module 4230 may generate the visualization based, at least in part, on the real-time data included in the attribute data.
- the characteristic module 240 may infer the user characteristics based, at least in part, on the real-time data, and the visualization module 4230 may generate the visualization based on the user characteristics inferred from the real-time data.
- the visualization may be reflective of a current status of the user.
- the characteristic module 240 may infer that the user may currently be jogging vigorously at a park.
- the visualization module 4230 may, for example, generate the visualization, such as the avatar, to include a feature of perspiration indicative of the user currently performing a vigorous physical activity.
- the visualization may be representative of a real-time status of the user.
- the characteristic module 240 may infer an outfit the user is currently wearing (e.g., inferred from attribute data that may include detections from smart tags embedded into the user's clothing) and the visualization module 4230 may generate the avatar to include a representation of the inferred outfit.
- the presentation module 210 may cause presentation of the v isualization to the user.
- the visualization may comprise an avatar and the presentation may be displaying the avatar on a screen.
- the presentation module 210 causing presentation of the visualization may include communicating the visualization, or instructions to present the visualization, to a device of the user operable to present the visualization to the user.
- the presentation module 210 may cause the presentation of the visualization to other users.
- the user may be associated with a profile, and viewers of the user's profile may also view the visualization.
- the user may be associated with contact users that have a connection with the user such as a social media-based relationship.
- the visualization may be presented to the contact users.
- FIG. 44 is a flow diagram illustrating further example operations 4400 of the example method 4300 of FIG. 43, according to some example embodiments.
- the presentation module 210 may receive user input indicating a change to the visualization.
- the user input may indicate thai the visualization is based on user characteristics or attribute data that is not reflective of the user.
- the visualization may be an avatar, and the physical characteristics of the avatar may not be reflective of the user (e.g., the avatar is too short as compared to the user).
- the visualization module 42.30 may update the visualization according to the change indicated by the user input.
- the visualization module 42.30 may generate or render the avatar with a taller height.
- the attribute module 230 may update or modify the attribute data according to the user input. For instance, if the user input indicates demographic data (e.g., age) other than that currently associated with the user, the attribute module 230 may update the demographic information according to the user input.
- the characteristic module 240 may infer the user characteristics based on an analysis of the attribute data and the user input. For instance, if the user input indicates a particular clothing style, color, brand, and so forth, the characteristic module 240 may use that user input as a basis for inferring the user characteristics in conjunction with the attribute data.
- FIG. 45 is a flow diagram illustrating an example method 4500 for determining satisfaction of a reward criteria and providing a reward to the user according to some example embodiments.
- the operations of the method 4500 may be performed by components of the data mesh system 150 and the visualization system 290.
- the analysis module 4210 may determine satisfaction of the reward criteria associated with the attribute data.
- the reward criteria may include a variety of criteria.
- the reward criteria may include a criterion based on the completeness metric
- the analysis module 4210 may determine the completeness metric based on an analysis of the attribute data.
- the completeness metric may indicate a quantity of attribute data available to the data mesh system 150.
- the completeness metric may indicate the quantity of attribute data in comparison to a goal quantity of attribute data or attainable quantity of attribute data (e.g., the completeness metric may indicate a quantity of the attribute data associated with the user is sixty percent of the way to a goal quantity of attribute data).
- the user may have provided the attribute data, permission to access portions of the attribute data, or consent to access portions of the attribute data via the management module 250 (e.g., the user may have provided permission to the management module 250 to allow the attribute module 230 to access mobile sensor data but not social networking data).
- the completeness metric may indicate that portions of the attribute data may not be available to the attribute module 230.
- the analysis module 42.10 may determine satisfaction of the criterion based on the completeness metric if the completeness metric exceeds a threshold.
- the threshold may be predefined or dynamically determined by the analysis module 4210 based on various statistical analyses.
- the completeness metric may be associated with a specified type of attribute data.
- the analysis module 4210 may determine the criterion based on the completeness metric being satisfied if the user provides the specified type of attribute data or permission to access the specified type of attribute data.
- the reward criteria may include a criterion based on a quality metric.
- the analysis module 4210 may determine the quality metric based on an analysis of the attribute data.
- the quality metric may indicate a relevance or pertinence of the attribute data. For instance, older attribute data may be less relevant than newer attribute data.
- the quality metric may be higher for new attribute data and lower for older attribute data. Thus, a particular user associated with attribute data that is constantly updated may be associated with a higher quality metric.
- the analysis module 4210 may determine satisfaction of the reward criteria that includes the criterion based on the quality metric exceeding a threshold.
- the analysis module 4210 may determine satisfaction of the reward criteria that includes a particular criterion based on the quality metric by providing recent data, for example.
- the threshold may be predefined or dynamically determined by the analysis module 4210 based on various statistical analyses.
- the reward criteria may include a criterion associated with completing a task.
- the task may include the user recommending or communicating (e.g., email, text message) to other users regarding a product or application.
- the presentation module 210 may facilitate the user in performing the task (e.g., automatically determining available contact that may be contacted and providing a predetermined message that may be sent via a user interface provided by the presentation module 210).
- the task may include a specified goal. Tn this instance, the goal may, for example, be a fitness goal such as a number of steps taken in a day (e.g., as determined a pedometer app executing on a mobile device of the user).
- the analysis module 4210 may determine satisfaction of the reward criteria including a criterion based on a number of steps taken if the user exceeds a threshold number of steps.
- the analysis module 4210 may determine satisfaction of the reward criteria including various criteria (e.g., criterion based on the completeness metric or the quality metric) by comparing metrics associated with the user to other users. As described above, the analysis module 4210 may identify the similar users that are similar to the user based on a variety of factors. The analysis module 4210 may determine satisfaction of the reward criteria by comparing the various metrics associated with the user to the various metrics associated with the similar users. In a specific example, the similar users may include users that may have the same or similar demographic data (e.g., age, gender, location). Among these similar users, the analysis module 4210 may determine an average completeness metric or another statistic- based value.
- various criteria e.g., criterion based on the completeness metric or the quality metric
- the analysis module 4210 may compare the completeness metric of the user to the average completeness metric or another statistic-based value to determine satisfaction of a particular criterion associated with the completeness metric of the user (e.g., the user may satisfy the reward criteria by being above average as compared to similar users). Similarly, the analysis module 4210 ma compare a fitness goal of a user to the similar users that may be of a similar fitness level to the user. The analysis module 4210 may employ many other comparisons of the similar users or other users to determme satisfaction of the reward criteria. Thus, in some example embodiments, the analysis module 4210 may determine satisfaction of the reward criteria based on the attribute data associated with the identified similar users.
- the analysis module 4210 may provide a reward to the user based on the determined satisfaction of the reward criteria.
- the reward may include additional visualization features or functions.
- the reward may include providing the user the ability to further customize the visualization (e.g., modify apparel of the avatar).
- the reward may provide the user with additional features such as the ability to share the visualization with other users.
- the reward may include many other features and functions related to the visualization.
- the reward may include a coupon, deaf, or other incentive.
- the reward may incentivize the user to provide consent, permission, or access to additional attribute data, provide higher quality, more relevant attribute data, complete various marketing (asks, complete various goals (e.g., a fitness goal), and so forth.
- FIG. 46 is a flow diagram illustrating additional operations of the method 4300 according to some example embodimenis.
- the visualization module 4230 may generate the visualization based at feast in part on the user characteristics
- the commerce module 4220 may identify an item listing based on the user characteristics.
- the user characteristics may indicate the user's preferences for clothing, electronics, and so on.
- the attribute data may include purchase history data that the commerce module 4220 may use to determine products already owned by the user. By analyzing this information, the commerce module 42.20 may identify an item listing of interest to the user (e.g., an item fisting on an e-commerce website).
- the commerce module 4220 may employ a variety of schemes and techniques using the user characteristics and the attribute data to identify the item listing.
- the visualization module 4230 may generate the visualization including the identified item associated with the identified item listing.
- the visualization generated by the visualization module 4230 may include the avatar that may be representative of the user.
- the visualization module 4230 may generate the avatar to include the avatar wearing or using a suitable item associated with the identified item listing.
- the commerce module 4220 may access item data associated with the identified item associated with the identified item listing.
- the commerce module 4220 may access the item data that may include images of the item, physical dimensions of the item (e.g., garment sizes), and so forth.
- the visualization module 4230 may generate the visualization to include a representation of the identified item.
- the representation may be similar to the item in ihai it may include similar characteristics to the identified stem.
- the identified item may be a particular piece of apparel.
- the visualization module 4230 may render a representation of the piece of apparel that is of the same or similar dimensions, color, pattern, and so forth.
- the item associated with the identified item listing may be highlighted or otherwise emphasized in the rendering of the avatar.
- the user may interact with the generated item rendering associated with the identified item listing included in the avatar (e.g., interacting with the item may cause recommendation for sale of the item listing).
- FIG. 47 is a flow diagram illustrating an example method 4700 for generating the visualization based on the attribute data according to some example embodiments.
- the operations of the method 4700 may be performed by components of the data mesh system 150 and the visualization system 290.
- attribute source 4702 may communicate the attribute data to the attribute source 4704.
- the attribute source 4704 may receive the attribute data from the attribute source 4702.
- the attribute source 4704 may communicate the attribute data to the data mesh system 150.
- the data mesh system 150 may receive the attribute data from the attribute source 4704.
- the attribute data may be exchanged between the attribute source 4702 and the attribute source 4704, In this way, the data mesh system 150 may access various attr bute data corresponding to a particular attribute source without directly communicating with the particular attribute source.
- the characteristic module 2.40 may infer a user characteristic.
- the visualization module 4230 may generate the visualization based, at least in pari, on the user characteristic.
- the presentation module 210 may cause presentation of the visualization to the user.
- the presentation module 210 may cause presentation of the visualization by communicating the visualization to the user device 4706.
- the user device 4706 may present the visualization to the user.
- the user device 4706 may be a mobile device of the user, and the presentation may be displaying the visualization on a screen of the mobile device.
- the user device 4706 may receive user input from the user.
- the user input may result from an interaction with the presented visualization.
- the user device 4706 may communicate the user input to the data mesh system 150.
- the user input may be received by the presentation module 210 of the data mesh system 150.
- the presentation module 210 may receive the user input indicating a change to the visualization.
- the visualization module 4230 may update the visualization according to the change indicated by the user input.
- FIG. 47 has shown various communications or interactions between devices according to some example embodiments.
- FIGS. 48, 49, 50A, and 50B depict example user interfaces for presenting the visualization to the user.
- FIGS. 48, 49, 50A, and SOB depict specific example visualization and user interface elements, these are merely non-limiting examples and many other alternate visualization and user interface elements may be generated by the presentation module 210 and presented to the user. It will be noted that alternate presentations of the displays of FIGS. 48, 49, 50A, and SOB may include additional information, graphics, options, and so forth; other presentations may include less information, or may provide abridged information for easy use by the user.
- FIG, 48 depicts an example device 4800 displaying an example user interface 4810 to present the visualization to the user.
- the visualization may be an avatar 4820 that is based on the inferred user characteristics.
- the approximate physical size of the user may be deri v ed from purchase history data such as clothing sizes, user input (e.g., user input to a fitness app that requests the user's size to make various calculations), and so on.
- the user characteristics may include style characteristics extracted, derived, or inferred from the attribute data (e.g., type of clothing purchased, types of activities the user engages in, and so on).
- the avatar 4820 may be used as a virtual fitment gauge to determine how particular apparel may appear on the person.
- the v isualization of FIG. 48 depicts the avatar 4820, many other varieties of visualization may be rendered by the visualization module 4230 and presented to the user by the presentation module 210.
- the user may have provided interests and other information to the data mesh system 150, as depicted by user interface element 4830.
- the user may modify access permission to the user information, for example, by activaiing user interface element 4840.
- the user may also edit or modify the attribute data, for example, by activating user interface element 4850.
- the user may be provided with recommendations that are based on an analy sis of the attribute data or the user characteristics. For example, activating user interface element 4860 may display various personalized recommen dations .
- FIG. 49 depicts an example device 4900 displaying an example user interface 4910 that may present the visualization to the user.
- the example user interface 4910 may include recommended items or allow the user to provide the user input to alter the visualization.
- user interface element 4930 may include a plurality of recommended items such as user interface element 4940.
- the user may activate (e.g., dragging a user interface element onto the area occupied by the avatar 4920) a particular recommended item to indicate an interest in the particular recommended item.
- the visualization may ⁇ be updated or otherwise modified responsive to the user activaiing the particular recommended item.
- the recommended item may be visually incorporated into the visualization such as the avatar 4920 may be shown to wear the recommended item when suitable.
- the user may provide indications interests and other information.
- user interface element 4950 may include a plurality of user interests such as interest 4960.
- the visualization module 4230 may modify the visualization.
- the characteristic module 240 may incorporate the selected interest into the analysis to determine the user characteristics.
- FIG. 50A depicts an example device displaying an example user interface 5010 to present the visualization to the user.
- FIG. 50B depicts an example device displaying an example user interface 5050 to present the visualization to the user.
- the visualization module 4230 may render the visualization representative of the attribute data.
- the user may be a college aged male with an athletic build.
- avatar 5020 of FIG. 50A may be a less detailed and less accurate representation of the user than avatar 5060 of FIG. SOB.
- the avatar 5020 may be an initial representation of the attribute data and the av atar 5060 may be a subsequent representation of the attribute data after the data mesh system 150 receives more attribute data from the user allowing the visualization sy stem 290 to more accurately represent the user.
- FIGS. 51A and 5 IB depict example configurations for
- each attribute source is communicatively coupled to the networked system 102 independently to provide the networked system 102 access to the attribute data corresponding to each of the communicatively coupled attribute sources.
- FIGS. 51A and 5 IB depict alternative example attribute source configurations. It will be appreciated that FIGS. 51A and 5 IB are merely non- limiting examples of attribute source configurations and many other configurations or suitable combinations of configurations can be employed.
- FIG. 51 A depicts an example embodiment that includes attribute sources 51 10 communicatively coupled in a decentralized device -to-device mesh.
- the attribute data corresponding to a particular device in the mesh may be received from any one or more of the devices in the mesh.
- the networked system 102 may access the attribute data corresponding to attribute source E via attribute source H or a combination of attribute sources H and I in FIG. 51 A.
- the attribute source H or I may aggregate and store the attribute data corresponding to attribute sources A-F in FIG, 51 A.
- the networked system 102 may access the attribute data associated with attribute source E by communicating with attribute source H or I in FIG. 51 A.
- FIG. 51 B depicts another example embodiment that may include attribute sources 5120 communicatively coupled to a central attribute source (e.g., attribute source H in FIG. 5 IB).
- the networked system 102 may access the attribute data associated with attribute sources A-G via the central attribute source in FIG. 5 IB.
- the central attribute source may- aggregate and store the attribute data received or accessed from the attribute sources A-G and pro vide a centralized access point for the attribute data associated with all, or some, of the communicatively coupled attribute sources A-G in FIG. 5 IB.
- FIG. 52 depicts example sources 5200 including attribute sources 5210, according to some example embodiments.
- the attribute data may include data received, retrieved, or accessed from the attribute sources 5210.
- the attribute sources 5210 may provide data including everything from a moisture level of a houseplant to a dribbling rhythm of a basketball.
- the attribute data corresponding to the attribute sources 5210 may be received or accessed in real time or near real time.
- the attribute sources 5210 may
- the attribirte sources 5210 may include user device sources 5220, user data sources 5230, transportation sources 52.40, materials sources 52.50, third party sources 5260, home sources 5270, and a variety of other sources.
- the attribute sources 5210 may be associated with a wide variety of sensors, gauges, measurement components, and other components.
- the attribute dat may include data corresponding to the user device sources 5220.
- the user device sources 5220 may include such non-limiting examples as a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a cellular telephone, a smart phone, a mobile device, a wearable device (e.g., a smart watch), a smart home device (e.g., a smart appliance), and other smart devices.
- PC personal computer
- PDA personal digital assistant
- the attribute data corresponding to the user device sources 5220 may include data associated with sensors, gauges, or other measurement components such as environmental sensor data (e.g., ambient temperature data associated with an environment of the user), biometric sensor data (e.g., heart rate data of the user), detection data (e.g., detection of a Near Field Communication (NFC) beacon), motion data (e.g., acceleration data), position data (e.g., location as determined by a GPS of a mobile device), and so forth.
- environmental sensor data e.g., ambient temperature data associated with an environment of the user
- biometric sensor data e.g., heart rate data of the user
- detection data e.g., detection of a Near Field Communication (NFC) beacon
- motion data e.g., acceleration data
- position data e.g., location as determined by a GPS of a mobile device
- the attribirte data corresponding to the user device sources 5220 includes data such as device type, device model, device name, a unique device identifier, and other device parameters.
- the device type data provides a basis for an inference associated with the attribute data. For instance, if the device type data indicates mai me device is a mobile device of the user, location data corresponding to the mobile device may indicate the location of the user. Similarly, if the device type is a media entertainment system, the attribute data corresponding to the media entertainment system may be associated with a home of the user.
- the user data sources 5230 include, for example, calendars (e.g., user calendar events such as birthdays, trips, exams), user profiles (e.g., demographic information such as age, gender, income level), purchase histories, browse histories (e.g., search terms), social media content (e.g., check-ins, posts, connections), or other user data (e.g., bookmarked websites, preferences or settings for various applications, application usage data such as time spent using a particular application).
- calendars e.g., user calendar events such as birthdays, trips, exams
- user profiles e.g., demographic information such as age, gender, income level
- purchase histories e.g., browse histories (e.g., search terms)
- social media content e.g., check-ins, posts, connections
- other user data e.g., bookmarked websites, preferences or settings for various applications, application usage data such as time spent using a particular application.
- the attribute data corresponding to the user data sources 5230 is stored, for example, by the user device sources 5220 (e.g., a mobile device that includes a mobile browser with browse history of the user), application server(s) 140 (e.g., payment history of the user stored in payment system(s) 144, user profiles stored by an e-commerce website), or the third party server(s) 130 (e.g., social media data stored in a social networking service).
- the user device sources 5220 e.g., a mobile device that includes a mobile browser with browse history of the user
- application server(s) 140 e.g., payment history of the user stored in payment system(s) 144, user profiles stored by an e-commerce website
- the third party server(s) 130 e.g., social media data stored in a social networking service.
- the attribute data corresponding to the user device sources 5220 includes device resource data
- the device resource data includes fifes stored on the devices (e.g., digital media or apps) or metadata associated with the files (e.g., the number of times a particular song has been played or usage time corresponding to a particular app).
- the attribute data corresponding to the transportation sources 5240 may include acceleration data, velocity data, and other sensor data (e.g., brake pad wear data, gear shifting data, miles driven).
- the attribute data corresponding to the iransportation sources 5240 may provide indications of a user's driving patterns and styles (e.g., comes to a complete stop at a stop sign, speeds, or finicky use of the brakes).
- the materials sources 5250 are also increasingly gaining the ability to capture data.
- the attribute data may include data corresponding to the materials sources 5250.
- clothing may be embedded with sensors to detect motion. Data from these sensors may provide indications of whether the user is active or inactive.
- clothing may be embedded with biometric sensors that may provide a continuous feed of biometric data corresponding to the user. The biometric data may provide indications of the user's health, athletic ability, and many other characteristics corresponding to the user.
- structures may be equipped with sensors to passively or actively monitor the surrounding environment (e.g., street cameras, traffic cameras, and other sensors).
- the attribute data may include data associated with the third party sources 5260,
- the third party sources 5260 may also provide an abundance of data associated with the user.
- the attribute data may include data accessed from government websites or other public records that may provide criminal histories, civil citation histories, credit histories, or other publicly available information,
- a smart home is a house, office, or other environment of the user with one or more smart devices integrated throughout. Nearly ev ery facet of the smart home may provide data associated with the user (e.g., via the smart device acting as sensors to provide various data).
- the attribute data includes data corresponding to the home sources 5270.
- the home sources 5270 may include smart appliances, consumables, utilities, and many other smart devices.
- the attribute data may include consumable inventories and consumption rates of various consumable goods (e.g., perishables such as milk or bread) tracked, monitored, or otherwise observed by smart refrigerators.
- the attribute data may include utility usage data (e.g., electricity, w r ater). Analysis of the utility usage data may indicate patterns or a status of the user, such as the user being on vacation, the user being ill (e.g., increasing house thermostat set temperature to cope with a cold), the user being an energy conscious consumer, and so on.
- utility usage data e.g., electricity, w r ater
- Analysis of the utility usage data may indicate patterns or a status of the user, such as the user being on vacation, the user being ill (e.g., increasing house thermostat set temperature to cope with a cold), the user being an energy conscious consumer, and so on.
- example diagram 5300 depicts non- limiting example I/O components 5310 that may provide attribute data, according to some example embodiments.
- the I/O components 5310 include input components 5320, output components 5330, environmental components 5340, motion components 5350, position components 5360, biometric components 5370, communication components 5380, detection components 5390, and a wide gamut of other sensors, gauges, and measurement components not shown in FIG, 53.
- the I/O components 5310 or a suitable combination of the I/O components 5310 may be included in any suitable device or machine such as those included in the attribute sources 5210 depicted in FIG. 52 to facilitate the functionality described herein.
- the I/O components 5310 may receive, detect, measure, capture, or otherwise obtain sensor data associated with physical properties, attributes, or characteristics.
- the I/O components 5310 may provide, produce, transmit, or otherwise communicate the sensor data or other indications associated with the physical properties, attributes, or characteristics (e.g., a sensor included in a device operable to communicate the sensor data to the networked system 102).
- a combination of devices may be employed to provide the sensor data (e.g., a first device that includes a sensor and is communicatively coupled to a second device that communicates sensor data received from the first device to the networked system 102).
- the sensor data provided by the I/O components 5310 may be accessible to all, or some, of the modules described above on a real-time or near real-time basis.
- the I/O components 5310 are grouped according to functionality merely for simplifying the following discussion and the grouping is in no way limiting.
- the input components 5320 include alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input components), point- based input components (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or other pointing instrument), tactile input components (e.g., a physical button, a touch screen that provides location and force of touches or touch gestures, or other tactile input components), audio input components (e.g., a microphone), and the like.
- the input components 5320 receive input from the user to facilitate the functionalities described herein. For instance, the user may interact with a user interface using the input components 5320.
- the output components 5330 include visual components (e.g., a display such as a plasma display panel (PDF), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)), acoustic components (e.g., speakers), haptic components (e.g., a vibratory motor), other signal generators, and so forth.
- the output components 5330 may present information to the user. For example, the output components 5330 may present a user interface to the user or present media files to the user.
- the environmental components 5340 include illumination sensors (e.g., photometer), temperature sensors (e.g., one or more thermometers that detect ambient temperature), humidity sensors, pressure sensors (e.g., barometer), acoustic sensors (e.g., one or more microphones that detect background noise), proximity sensors (e.g., an infrared sensor that detects nearby objects), gas sensors (e.g., machine olfaction detection sensors, gas detection sensors to detect concentrations of hazardous gases for safety or to measure pollutants in the atmosphere), and so on.
- the environmental components 5340 may measure various physical parameters to provide an indication or signal corresponding to the physical environment surrounding the environmental components 5340.
- the motion components 5350 include acceleration sensors (e.g., accelerometer), gravitation sensors, rotation sensors (e.g., gyroscope), and so forth.
- the motion components 5350 may provide motion data such as velocity, acceleration, or other force measurements along x, y, and z axes.
- the motion data is provided at a regular update rate or sampling rate (e.g., 10 updates per second) that may be configurable.
- the position components 5360 include location sensors (e.g., a Global Positioning System (GPS) receiver component), altitude sensors (e.g., altimeters or barometers that detect air pressure from which altitude may be derived), orientation sensors (e.g., magnetometers that provide magnetic field strength along the x, y, and z axes), and the like.
- the position components 5360 may provide position data such as latitude, longitude, altitude, and a time stamp. Similar to the motion components 5350, the position components 5360 may provide the motion data at a regular update rate that may be configurable.
- the biometric components 5370 include components to detect expressions, measure biosignais, or identify people, among other functions.
- the biometric components 5370 include expression components to detect expressions (also referred to as "kinesics") such as hand gestures (e.g., an optical component to detect a hand gesture or a Doppler component to detect hand motions), vocal expressions (e.g., a microphone to detect changes in voice pitch that may indicate tension), facial expressions (e.g., a camera to detect expressions or micro-expressions of a person such as a smile), body gestures, and eye tracking (e.g., detecting the focal point of a person's eyes or patterns in eye movement).
- hand gestures e.g., an optical component to detect a hand gesture or a Doppler component to detect hand motions
- vocal expressions e.g., a microphone to detect changes in voice pitch that may indicate tension
- facial expressions e.g., a camera to detect expressions or micro-expressions of a
- the biometric components 5370 may also include, for example, biosignal components to measui'e biosignais such as blood pressure, heart rate, body temperature, perspiration, and brain waves (e.g., as determined by a electroencephalogram).
- biometric components 5370 include identification components to identify people such as retinal scanners (e.g., a camera component), vocal detectors (e.g., a microphone to receive audio data for voice identification), facial detectors, fingerprint detectors, and electroencephalogram sensors (e.g., to identify a person via unique brainwave patterns).
- the I/O components 5310 may include communication components 5380 operable to communicatively couple machines or devices.
- the communication components 5380 may include a network interface component or other suitable device to interface with a network (e.g., the network 104).
- the communication components 5380 may include wired communication components, wireless communication components, cellular communication components, ear Field Communication (NFC) components, BLUETOOTH® components (e.g., BLUETOOTH® Low Energy), WI-FI® components, and other communication components to provide communication via other modalities.
- NFC ear Field Communication
- BLUETOOTH® components e.g., BLUETOOTH® Low Energy
- WI-FI® components Worldwide Interoperability for Microwave Access
- IP Internet Protocol
- WI-FI® Wireless Fidelity
- NFC beacon a variety of information may be derived using the communication components 5380 such as location via Internet Protocol (IP) geo-location, location via WI-FI® signal triangulation, location via detecting a NFC beacon signal that may indicate a particular location, and so forth.
- IP Internet Protocol
- the detection components 5390 provide functionality to detect a variety of identifiers.
- the detection components 5390 include Radio Frequency Identification (RFID) tag reader components, Near Field Communication (NFC) smart tag detection components, optical reader components (e.g., an optical sensor to detect one-dimensional bar codes such as Universal Product Code (UPC) bar codes, multi-dimensional bar codes such as a Quick Response (QR) code, Aztec code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ults-a Code, Uniform Commercial Code Reduced Space Symbology (UCC RSSV2D bar code, and other optical codes), or acoustic detection components (e.g., microphones to identify tagged audio signals).
- RFID Radio Frequency Identification
- NFC Near Field Communication
- optical reader components e.g., an optical sensor to detect one-dimensional bar codes such as Universal Product Code (UPC) bar codes, multi-dimensional bar codes such as a Quick Response (QR) code, Aztec code, Data Matrix, Dataglyph, MaxiCode, PDF
- FIG, 54 is a block diagram 5400 of an example data structure for the attribute data associated with a particular user according to example embodiments.
- the attribute data is associated with a plurality of users such as user 5402, 5404, 5406, 5408, 5410, 5412, and 5414.
- the attribute data is accessed for a particular user via a lookup using a user identifier.
- the attribute data includes, for example, profile data 5420, device data 5422, calendar data 5424, list data 5426, list type data 5428, interest data 5430, fitment data 5432, garment type data 5434, preference data 5436, measured dimension data 5438, fitness goal data 5440, reward data 5442, location data 5444, and other data not shown in FIG, 54.
- the attribute data may be structured such that various portions of the attribute data are associated with other portions of the attribute data via relationships.
- the calendar data 5424 may include a calendar event associated with an event name, an event data, and an event location for the calendar event.
- FIG. 55 is a block diagram 5500 of an example data structure for data associated with a device according to some example embodiments.
- the device data 5422 of FIG, 54 may include a device identifier, a device name, device resources data (e.g., files stores on the devices such as browser cookies, media files), I/O component data, and so forth.
- the device identifier comprises, for example, an Internet Protocol (IP) address, a Media Access Control (MAC) address, other unique identifiers, an International Mobile Station Equipment Identity ( ⁇ ), or a Mobile Equipment Identifier (MEI.D).
- IP Internet Protocol
- MAC Media Access Control
- ⁇ International Mobile Station Equipment Identity
- MEI.D Mobile Equipment Identifier
- the I/O component data includes standard device parameters 5502, position data 5504, location data 5506, motion data 5508, environmental data 5510, bio metric data 5512, among other data.
- FIG. 55 merely depicts example attribute data that may correspond to a particular device, and a variety of other data not shown in FIG. 55 may be included in the device data.
- the standard device parameters 5502 include parameters that are standard across multiple devices included in the IoT.
- standardized parameters and protocols facilitate access and utilization of the attribute data corresponding to such devices. For example, the attribute data available on an unknown device may be accessed and utilized without the need to discover or otherwise determine which parameters are available and which units of measure are associated with the parameters. Many other schemes may be employed to discover or otherwise determine available parameters accessible on a particular device.
- Modules can constitute either software modules (e.g., code embodied on a machine-readable medium or in a transmission signal) or hardware modules.
- a "hardware module” is a tangible unit capable of performing ceriain operations and can be configured or arranged in a certain physical manner.
- one or more computer systems e.g., a standalone computer system, a client computer system, or a server computer system
- one or more hardware modules of a computer system e.g., a processor or a group of processors
- software e.g., an application or application portion
- a hardware module is implemented mechanically, electronically, or any suitable combination thereof.
- a hardware module can include dedicated circuitry or logic that is permanently configured to perform certain operations.
- a hardware module can be a special-purpose processor, such as a Field-Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC).
- a hardware module may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations.
- a hardware module can include software encompassed within a general-purpose processor or other programmable processor. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by- software) can be driven by cost and time considerations.
- hardware module should be understood to encompass a tangible entity, be that an entity that is physically constmcted, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein.
- “hardware-implemented module” refers to a hardware module. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time.
- a hardware module comprises a general-purpose processor configured by software to become a special-puipose processor
- the general-purpose processor may be configured as respectively different special-purpose processors (e.g., comprising different hardware modules) at different times.
- Software can accordingly configure a particular processor or processors, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
- Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules can be regarded as being communicatively coupled. Where multiple hardware modules exist contemporaneously, communications can be achieved through signal transmission (e.g., over appropriate circuits and buses) between or among two or more of the hardware modules, in embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module performs an operation and stores the output of that operation in a memory device to which it is communicatively coupled. A further hardware module can then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules can also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
- a resource e.g., a collection of information
- processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors constitute processor-implemented modules that operate to perform one or more operations or functions described herein.
- processor-implemented module refers to a hardware module implemented using one or more processors.
- the methods described herein can be at least partially processor-implemented, with a particular processor or processors being an example of hardware.
- a particular processor or processors being an example of hardware.
- the operations of a method can be performed by one or more processors or processor-implemented modules
- the one or more processors may also operate to support performance of the relevant operations in a "cloud computing" environment or as a "software as a service” (SaaS).
- SaaS software as a service
- at least some of the operations may be performed by a group of computers (as examples of machines including processors), with these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., an Application Program Interface (API)).
- API Application Program Interface
- the performance of certain of the operations may be distributed among the processors, not only residing within a single machine, but deployed across a number of machines.
- the processors or processor-implemented modules are located in a single geographic location (e.g. within a home environment, an office environment, or a server farm). In other example embodiments, the processors or processor-implemented modules are distributed across a number of geographic locations.
- FIG, 56 is a block diagram 5600 illustrating an architecture of software 5602, which can be installed on any one or more of the devices described above.
- FIG. 56 is merely a non-limiting example of a software architecture, and it will be appreciated that many other architectures can be implemented to facilitate the functionality described herein.
- the software 5602. is implemented by hardware such as a machine 5700 of FIG. 57 that includes processors 5710, memory 5730, and I/O components 5750.
- the software 5602 can be conceptualized as a stack of layers where each layer may provide a particular functionality.
- the software 5602. includes layers such as an operating system 5604, libraries 5606, frameworks 5608, and applications 5610.
- the applications 5610 invoke application programming interface (API) calls 5612 through the software stack and receive messages 5614 in response to the API calls 5612, consistent with some embodiments.
- API application programming interface
- the operating system 5604 manages hardware resources and provides common services.
- the operating system 5604 includes, for example, a kernel 5620, services 5622, and drivers 562.4,
- the kernel 5620 acts as an abstraction layer between the hardware and the other software layers consistent with some embodiments.
- the kernel 562.0 provides memory management, processor management (e.g., scheduling), component management, networking, and security settings, among other functionality.
- the services 5622 can provide other common services for the other software layers.
- the drivers 5624 are responsible for controlling or interfacing with the underlying hardware, according to some embodiments.
- the drivers 5624 can include display drivers, camera drivers,
- BLUETOOTH® drivers flash memory drivers, serial communication drivers (e.g., Universal Serial Bus (USB) drivers), WI-FI® drivers, audio drivers, power management drivers, and so forth.
- USB Universal Serial Bus
- the libraries 5606 provide a low-level common infrastructure utilized by the applications 5610.
- the libraries 5606 can include system libraries 5630 (e.g., C standard library) that can provide functions such as memory allocation functions, string manipulation functions, mathematic functions, and the like.
- the libraries 5606 can include API libraries 5632 such as media libraries (e.g., libraries to support presentation and manipulation of various media formats such as Moving Picture Experts Group-4 (MPEG4), Advanced Video Coding (H.264 or AVC), Moving Picture Experts Group Layer-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR) audio codec.
- MPEG4 Moving Picture Experts Group-4
- AVC Moving Picture Experts Group Layer-3
- AAC Advanced Audio Coding
- AMR Adaptive Multi-Rate
- JPEG Joint Photographic Experts Group
- PNG Portable Network Graphics
- graphics libraries e.g., an OpenGL framework used to render in two dimensions (2D) and three dimensions (3D) in a graphic context on a display
- database libraries e.g., SQLite to provide various relational database functions
- web libraries e.g., WebKit to provide web browsing functionality
- the libraries 5606 can also include a wide variety of other libraries 5634 to provide many other APIs to the applications 5610.
- the frameworks 5608 provide a high-level common infrastructure that can be utilized by the applications 5610, according to some embodiments.
- the frameworks 5608 provide various graphic user interface (GUI) functions, high-level resource management, high-level location services, and so forth.
- GUI graphic user interface
- the frameworks 5608 can provide a broad spectrum of other APIs that can be utilized by the applications 5610, some of which may be specific to a particular operating system or platform.
- the applications 5610 include a home application 5650, a contacts application 5652, a browser application 5654, a book reader application 5656, a location application 5658, a media application 5660, a messaging application 5662, a game application 5664, and a broad assortment of other applications such as a third party application 5666.
- the applications 5610 are programs that execute functions defined in the programs.
- Various programming languages can be employed to create one or more of the applications 5610, structured in a variety of manners, such as object-oriented programming languages (e.g.,
- the third party application 5666 may be mobile software running on a mobile operating system such as
- the third parry application 5666 can invoke the API calls 5612 provided by the operating system 5604 to facilitate functionality described herein.
- FIG. 57 is a block diagram illustrating components of a machine
- FIG. 57 shows a diagrammatic representation of the machine 5700 in the example form of a computer system, within which instructi ns 5716 (e.g., software, a program, an application, an applet, an app, or other executable code) for causing the machine 5700 to perform any one or more of the methodologies discussed herein can be executed.
- instructi ns 5716 e.g., software, a program, an application, an applet, an app, or other executable code
- the machine 5700 operates as a standalone device or can be coupled (e.g., networked) to other machines.
- the machine 5700 may operate in the capacity of a server machine or a client machine in a ser ver-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
- the machine 5700 can comprise, but not be limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set ⁇ top box (STB), a personal digital assistant (PDA), an entertainment media system, a cellular telephone, a smart phone, a mobile device, a wearable device (e.g., a smart watch), a smart home device (e.g., a smart appliance), other smart devices, a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing the instructions 5716, sequentially or otherwise, thai specify actions to be taken by the machine 5700.
- the term "machine” shall also be
- the machine 5700 comprises processors 5710, memory 5730, and I/O components 5750, which can be configured to communicate with each other via a bus 5702.
- the processors 5710 e.g., a Central Processing Unit (CPU), a Reduced Instruction Set Computing (RISC) processor, a Complex instruction Set Computing (CISC) processor, a Graphics Processing Unit (GPU), a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Radio-Frequency Integrated Circuit (RFIC), another processor, or any suitable combination thereof
- the processors 5710 include, for example, a processor 5712 and a processor 5714 that may execute the instructions 5716.
- processor is intended to include multi-core processors that may comprise two or more independent processors (also referred to as "cores") that can execute instructions contemporaneously.
- FIG. 57 shows multiple processors, the machine 5700 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, multiple processors with multiples cores, or any combination thereof.
- the memory 5730 comprises a main memory 5732, a static memory 5734, and a storage unit 5736 accessible to the processors 5710 via the bus 5702, according to some embodiments.
- the storage unit 5736 can include a machine-readable medium 5738 on which are stored the instructions 5716 embodying any one or more of the methodologies or functions described herein.
- the instructions 5716 can also reside, completely or at least partially, within the main memory 5732, within the static memory 5734, within at least one of the processors 5710 (e.g., within the processor's cache memory), or any suitable combmation thereof, during execution thereof by the machine 5700.
- main memory 5732, the static memory 5734, and the processors 5710 are considered machine-readable media 5738.
- the term "memory” refers to a machine-readable medium 5738 able to store data temporarily or permanently and may be taken to include, but not be limited to, random-access memory (RAM), read-only memory (ROM), buffer memory, flash memory, and cache memory. While the machine -readable medium 5738 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) able to store the instructions 5716.
- machine -readable medium shall also be iaken to include any medium, or combination of multiple media, that is capable of storing instructions (e.g., instructions 5716) for execution by a machine (e.g., machine 5700), such that the instructions, when executed by one or more processors of the machine 5700 (e.g., processors 5710), cause the machine 5700 to perform any one or more of the methodologies described herein.
- a “machine-readable medium” refers to a single storage apparatus or device, as well as “cloud-based” storage systems or storage networks that include multiple storage apparatus or devices.
- machine -readable medium shall accordingly be taken to include, but not be limited to, one or more data repositories in the form of a solid-state memory (e.g., flash memory), an optical medium, a magnetic medium, other non-volatile memory (e.g., Erasable Programmable Read-Only Memory (EPROM)), or any suitable combination thereof.
- solid-state memory e.g., flash memory
- EPROM Erasable Programmable Read-Only Memory
- machine- readable medium specifically excludes non-statutory signals per se.
- the I/O components 5750 include a wide variety of components to receive input, provide output, produce output, transmit information, exchange information, capture measurements, and so on. In general, it will be appreciated that the I/O components 5750 can include many other components that are not shown in FIG. 57.
- the I/O components 5750 are grouped according to functionality merely for simplifying the following discussion, and the grouping is in no way limiting.
- the I/O components 5750 include output componenis 5752 and input components 5754.
- the output components 5752 include visual components (e.g., a display such as a plasma display panel (PDP), a light emitting diode (LED) display, a liquid cry stal display (LCD), a projector, or a cathode ray tube (CRT)), acoustic components (e.g., speakers), haptic components (e.g., a vibratory motor), other signal generators, and so forth.
- visual components e.g., a display such as a plasma display panel (PDP), a light emitting diode (LED) display, a liquid cry stal display (LCD), a projector, or a cathode ray tube (CRT)
- acoustic components e.g., speakers
- haptic components e.g., a vibratory motor
- the input components 5754 include alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input components), point based input components (e.g., a mouse, a touchpad, a trackball, a joy stick, a motion sensor, or other pointing instruments), tactile input components (e.g., a physical button, a touch screen that provides location and force of touches or touch gestures, or other tactile input components), audio input components (e.g., a microphone), and the like.
- alphanumeric input components e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input components
- point based input components e.g., a mouse, a touchpad, a trackball, a joy stick, a motion sensor, or other pointing instruments
- tactile input components e.g., a physical button, a
- the I/O components 5750 include biometric components 5756, motion components 5758, environmental components 5760, or position components 5762, among a wide array of other components.
- the biometric components 5756 include components to detect expressions (e.g., hand expressions, facial expressions, vocal expressions, body gestures, or eye tracking), measure biosignafs (e.g., blood pressure, heart rate, body temperature, perspiration, or brain waves), identify a person (e.g., voice identification, retinal identification, facial identification, fingerprint identification, or electroencephalogram based identification), and the like.
- the motion components 5758 include acceleration sensor components (e.g., an accelerometer), gravitation sensor components, rotation sensor components (e.g., a gyroscope), and so forth.
- the environmental components 5760 include, for example, illumination sensor components (e.g., a photometer), temperature sensor components (e.g., one or more thermometers that detect ambient temperature), humidity sensor components, pressure sensor components (e.g., a barometer), acoustic sensor components (e.g., one or more microphones that detect background noise), proximity sensor components (e.g., infrared sensors that detect nearby objects), gas sensor components (e.g., machine olfaction detection sensors, gas detection sensors to detect concentrations of hazardous gases for safety or to measure pollutants in the atmosphere), or other components that may provide indications, measurements, or signals
- illumination sensor components e.g., a photometer
- temperature sensor components e.g., one or more thermometers that detect ambient temperature
- humidity sensor components e.g., a bar
- the position components 5762 include location sensor components (e.g., a Global Positioning System (GPS) receiver component), altitude sensor components (e.g., altimeters or barometers that detect air pressure from which altitude may be derived), orientation sensor components (e.g., magnetometers), and the like.
- location sensor components e.g., a Global Positioning System (GPS) receiver component
- altitude sensor components e.g., altimeters or barometers that detect air pressure from which altitude may be derived
- orientation sensor components e.g., magnetometers
- the I/O components 5750 may include communication components 5764 operable to couple the machine 5700 to a network 5780 or devices 5770 via a coupling 5782 and a coupling 5772, respectively.
- the communication components 5764 include a network interface component or another suitable device to interface with the network 5780.
- communication components 5764 include wired
- the devices 5770 may be another machine or any of a wide variety of peripheral devices (e.g. , a peripheral device coupled via a Universal Serial Bus (USB)).
- peripheral devices e.g. , a peripheral device coupled via a Universal Serial Bus (USB)
- the communication components 5764 detect identifiers or include components operable to detect identifiers.
- the communication components 5764 include Radio Frequency Identification (RFID) tag reader components, NFC smart tag detection components, optical reader components (e.g., an optical sensor to detect one- dimensional bar codes such as a Universal Product Code (UPC) bar code, multidimensional bar codes such as a Quick Response (QR) code, Aztec Code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, Uniform Commercial Code Reduced Space Symboiogy (UCC RSS)-2D bar codes, and other optical codes), acoustic detection components (e.g., microphones to identify tagged audio signals), or any suitable combination thereof.
- RFID Radio Frequency Identification
- NFC smart tag detection components e.g., NFC smart tag detection components
- optical reader components e.g., an optical sensor to detect one- dimensional bar codes such as a Universal Product Code (UPC) bar code, multidimensional bar codes such as a Quick Response
- IP Internet Protocol
- WI-FI® Wireless Fidelity
- NFC beacon a variety of information can be derived via the communication components 5764, such as location via Internet Protocol (IP) geo-location, location via WI-FI® signal triangulation, location via detecting a BLUETOOTH® or NFC beacon signal that may indicate a particular location, and so forth.
- IP Internet Protocol
- one or more portions of the network 5780 can be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWA.N), a metropolitan area network (M AN), the Internet, a portion of the Internet, a portion of the Public Switched Telephone Network (PSTN), a plain old telephone service (POTS) network, a cellular telephone network, a wireless network, a WI-FI® network, another type of network, or a combination of two or more such networks.
- VPN virtual private network
- LAN local area network
- WLAN wireless LAN
- WAN wide area network
- WWA.N wireless WAN
- M AN metropolitan area network
- PSTN Public Switched Telephone Network
- POTS plain old telephone service
- the network 5780 or a portion of the network 5780 may include a wireless or cellular network
- the coupling 5782 may be a Code Division Multiple Access (CDMA) connection, a Global System for Mobile communications (GSM) connection, or another type of cellular or wireless coupling.
- the coupling 5782 can implement any of a variety of types of data transfer technology, such as Single Carrier Radio Transmission Technology (IxRTT), Evolution-Data Optimized (EVDO) technology.
- IxRTT Single Carrier Radio Transmission Technology
- EVDO Evolution-Data Optimized
- GPRS General Packet Radio Se dee
- EDGE Enhanced Data rates for GSM Evolution
- 3GPP Third Generation Partnership Project
- fourth generation wireless (4G) networks Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Worldwide
- WiMAX Microwave Access
- LTE Long Term Evolution
- the instructions 5716 are transmitted or received over the network 5780 using a. transmission medium via a network interface device (e.g., a network interface component included in the communication components 5764) and utilizing any one of a number of well- known transfer protocols (e.g., Hyperiext Transfer Protocol (HTTP)).
- a network interface device e.g., a network interface component included in the communication components 5764
- HTTP Hyperiext Transfer Protocol
- the instructions 5716 are transmitted or received using a transmission medium via the coupling 5772 (e.g., a peer-to-peer coupling) to the devices 5770.
- the term "transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding, or carrying the instructions 5716 for execution by the machine 5700, and includes digital or analog communications signals or other intangible media to facilitate communication of such software.
- the machine-readable medium 5738 is non-transitory (in other words, not having any transitory signals) in that it does not embody a propagating signal.
- labeling the machine-readable medium 5738 "non-transitory" should not be construed to mean that the medium is incapable of movement; the medium should be considered as being transportable from one physical location to another.
- the machine-readable medium 5738 is tangible, the medium may be considered to be a machine-readable device, A. earner medium comprises a tangible machine readable medium storing machine readable instructions and a transient medium, such as a signal, carrying machine readable instructions,
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Biophysics (AREA)
- Pathology (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Surgery (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
Claims
Priority Applications (9)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020227009425A KR102702649B1 (en) | 2014-03-25 | 2015-03-24 | Data mesh platform |
| CN202211165952.XA CN115496557A (en) | 2014-03-25 | 2015-03-24 | Data Grid Platform |
| KR1020207025223A KR102379643B1 (en) | 2014-03-25 | 2015-03-24 | Data mesh platform |
| KR1020187012784A KR102153803B1 (en) | 2014-03-25 | 2015-03-24 | Data mesh platform |
| CN201580027971.8A CN106462825B (en) | 2014-03-25 | 2015-03-24 | Data grid platform |
| CN202211165937.5A CN115496556B (en) | 2014-03-25 | 2015-03-24 | Data Grid Platform |
| KR1020167029553A KR20160137600A (en) | 2014-03-25 | 2015-03-24 | Data mesh platform |
| KR1020247029276A KR102778624B1 (en) | 2014-03-25 | 2015-03-24 | Data mesh platform |
| AU2016101802A AU2016101802A4 (en) | 2014-03-25 | 2016-10-14 | Data mesh platform |
Applications Claiming Priority (10)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201461970263P | 2014-03-25 | 2014-03-25 | |
| US61/970,263 | 2014-03-25 | ||
| US14/449,113 | 2014-07-31 | ||
| US14/449,126 | 2014-07-31 | ||
| US14/449,126 US10304114B2 (en) | 2014-03-25 | 2014-07-31 | Data mesh based environmental augmentation |
| US14/449,113 US9886710B2 (en) | 2014-03-25 | 2014-07-31 | Data mesh visualization |
| US14/459,115 US20150278912A1 (en) | 2014-03-25 | 2014-08-13 | Data mesh based zero effort shopping |
| US14/459,115 | 2014-08-13 | ||
| US14/498,326 | 2014-09-26 | ||
| US14/498,326 US9576312B2 (en) | 2014-03-25 | 2014-09-26 | Data mesh-based wearable device ancillary activity |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| AU2016101802A Division AU2016101802A4 (en) | 2014-03-25 | 2016-10-14 | Data mesh platform |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2015148559A1 true WO2015148559A1 (en) | 2015-10-01 |
Family
ID=54191029
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2015/022318 Ceased WO2015148559A1 (en) | 2014-03-25 | 2015-03-24 | Data mesh platform |
Country Status (4)
| Country | Link |
|---|---|
| US (14) | US10304114B2 (en) |
| KR (5) | KR102702649B1 (en) |
| CN (3) | CN115496557A (en) |
| WO (1) | WO2015148559A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9576312B2 (en) | 2014-03-25 | 2017-02-21 | Ebay Inc. | Data mesh-based wearable device ancillary activity |
| GB2635514A (en) * | 2023-11-15 | 2025-05-21 | Nokia Technologies Oy | Authentication |
Families Citing this family (89)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012119215A1 (en) | 2011-03-04 | 2012-09-13 | Eski Inc. | Devices and methods for providing a distributed manifestation in an environment |
| JP6148246B2 (en) * | 2012-10-26 | 2017-06-14 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Advertisement delivery method and advertisement delivery system |
| US9345103B1 (en) * | 2013-01-07 | 2016-05-17 | Amazon Technologies, Inc. | Non-linear lighting system brightness control for a user device |
| US9160729B2 (en) | 2013-08-20 | 2015-10-13 | Paypal, Inc. | Systems and methods for location-based device security |
| US9767471B1 (en) | 2014-03-24 | 2017-09-19 | Square, Inc. | Determining recommendations from buyer information |
| JP6523437B2 (en) | 2014-09-15 | 2019-05-29 | 華為技術有限公司Huawei Technologies Co.,Ltd. | Communication method for wearable device, communication system, and related device |
| WO2016059447A2 (en) | 2014-10-13 | 2016-04-21 | Pismo Labs Technology Ltd. | Methods and systems for configuring electronic devices |
| KR102232583B1 (en) * | 2015-01-08 | 2021-03-26 | 삼성전자주식회사 | Electronic apparatus and web representation method thereof |
| US10606221B2 (en) * | 2015-02-11 | 2020-03-31 | International Business Machines Corporation | Identifying home automation correlated events and creating portable recipes |
| US9536176B2 (en) * | 2015-03-23 | 2017-01-03 | International Business Machines Corporation | Environmental-based location monitoring |
| US11017369B1 (en) | 2015-04-29 | 2021-05-25 | Square, Inc. | Cloud-based inventory and discount pricing management system |
| US11321765B2 (en) * | 2015-06-11 | 2022-05-03 | Vivint, Inc. | Method, apparatus, and medium for product ordering using a home automation system |
| US10949796B1 (en) | 2015-07-15 | 2021-03-16 | Square, Inc. | Coordination of inventory ordering across merchants |
| US10909486B1 (en) | 2015-07-15 | 2021-02-02 | Square, Inc. | Inventory processing using merchant-based distributed warehousing |
| CN108141903A (en) | 2015-08-05 | 2018-06-08 | 爱奇 | For the method and apparatus to communicate with receiving unit |
| US10097968B2 (en) * | 2015-12-22 | 2018-10-09 | Elizabeth McHugh | Event-based interactive device system |
| US10621213B2 (en) | 2015-12-23 | 2020-04-14 | Intel Corporation | Biometric-data-based ratings |
| WO2017165952A1 (en) | 2016-04-01 | 2017-10-05 | Eski Inc. | Proximity-based configuration of a device |
| US10034353B2 (en) * | 2016-04-11 | 2018-07-24 | Noon Home, Inc. | Intelligent lighting control bulb detection apparatuses, systems, and methods |
| US9936344B2 (en) * | 2016-06-10 | 2018-04-03 | Apple Inc. | Managing location sharing requests |
| US11171800B1 (en) | 2016-06-24 | 2021-11-09 | United Services Automobile Association (Usaa)) | Microservice based multi-device coordinated user experience |
| US10623250B1 (en) | 2016-06-24 | 2020-04-14 | United Services Automobile Association (Usaa) | Multi-device coordinated user experience |
| WO2018034748A1 (en) * | 2016-08-16 | 2018-02-22 | Mai Xiao Ming | Standalone inventory reordering system |
| EP3504695A1 (en) | 2016-09-07 | 2019-07-03 | Eski Inc. | Projection systems for distributed manifestation and related methods |
| US11005859B1 (en) * | 2016-09-23 | 2021-05-11 | EMC IP Holding Company LLC | Methods and apparatus for protecting against suspicious computer operations using multi-channel protocol |
| US9990830B2 (en) | 2016-10-06 | 2018-06-05 | At&T Intellectual Property I, L.P. | Spatial telemeter alert reconnaissance system |
| US11087380B2 (en) * | 2016-10-26 | 2021-08-10 | American Express Travel Related Services Company, Inc. | Method, article of manufacture, and system for provisioning available appointments |
| US11095738B2 (en) | 2016-11-03 | 2021-08-17 | Apple Inc. | Push notifications for multiple user devices |
| US12141853B2 (en) | 2016-11-22 | 2024-11-12 | Ordergroove, Llc | Adaptive scheduling of electronic messaging based on predictive consumption of the sampling of items via a networked computing platform |
| US11416810B2 (en) | 2017-04-04 | 2022-08-16 | OrderGroove, Inc. | Electronic messaging to distribute items based on adaptive scheduling |
| US10586266B2 (en) | 2016-11-22 | 2020-03-10 | OrderGroove, Inc. | Dynamic processing of electronic messaging data and protocols to automatically generate location predictive retrieval using a networked, multi-stack computing environment |
| US12014407B2 (en) | 2016-11-22 | 2024-06-18 | Ordergroove, Llc | Adaptive scheduling to facilitate optimized distribution of subscribed items |
| US11640636B2 (en) | 2016-11-22 | 2023-05-02 | Ordergroove, Llc | Sensors and executable instructions to compute consumable usage to automate replenishment or service of consumables via an adaptive distribution platform |
| US10769708B2 (en) * | 2016-11-22 | 2020-09-08 | OrderGroove, Inc. | Consumable usage sensors and applications to facilitate automated replenishment of consumables via an adaptive distribution platform |
| US10685131B1 (en) * | 2017-02-03 | 2020-06-16 | Rockloans Marketplace Llc | User authentication |
| US10929818B2 (en) * | 2017-02-16 | 2021-02-23 | Seoul National University R&Db Foundation | Wearable sensor-based automatic scheduling device and method |
| US12014325B2 (en) | 2017-04-04 | 2024-06-18 | Ordergroove, Llc | Consumable usage sensors and applications to facilitate automated replenishment of consumables via an adaptive distribution platform |
| US11900439B2 (en) | 2017-04-04 | 2024-02-13 | Ordergroove, Llc | Consumable usage sensors and applications to facilitate automated replenishment of consumables via an adaptive distribution platform |
| US11537980B2 (en) | 2017-04-04 | 2022-12-27 | OrderGroove, Inc. | Consumable usage sensors and applications to facilitate automated replenishment of consumables via an adaptive distribution platform |
| JP6806930B2 (en) * | 2017-04-06 | 2021-01-06 | シグニファイ ホールディング ビー ヴィSignify Holding B.V. | Methods and equipment for monitoring the use of lighting systems |
| CN107213642A (en) * | 2017-05-12 | 2017-09-29 | 北京小米移动软件有限公司 | Virtual portrait outward appearance change method and device |
| CN106991505A (en) * | 2017-05-15 | 2017-07-28 | 发联(上海)网络科技有限公司 | Management system for O&M electric medical treatment equipment |
| CN107481086A (en) * | 2017-06-28 | 2017-12-15 | 北京小度信息科技有限公司 | Information processing method and device |
| US11157562B2 (en) * | 2017-10-18 | 2021-10-26 | International Business Machines Corporation | Determining apparel-based recommendations for a user |
| US10909266B2 (en) * | 2017-10-24 | 2021-02-02 | Merck Sharp & Dohme Corp. | Adaptive model for database security and processing |
| US9996940B1 (en) * | 2017-10-25 | 2018-06-12 | Connectivity Labs Inc. | Expression transfer across telecommunications networks |
| US20190197278A1 (en) * | 2017-12-13 | 2019-06-27 | Genista Biosciences Inc. | Systems, computer readable media, and methods for retrieving information from an encoded food label |
| US10362357B1 (en) * | 2017-12-28 | 2019-07-23 | Rovi Guides, Inc. | Systems and methods for resuming media in different modes of playback based on attributes of a physical environment |
| US11354617B1 (en) | 2018-03-12 | 2022-06-07 | Amazon Technologies, Inc. | Managing shipments based on data from a sensor-based automatic replenishment device |
| US11137479B1 (en) | 2018-03-20 | 2021-10-05 | Amazon Technologies, Inc. | Product specific correction for a sensor-based device |
| US10846780B2 (en) * | 2018-03-21 | 2020-11-24 | Amazon Technologies, Inc. | Order quantity and product recommendations based on sensor data |
| US11023855B1 (en) | 2018-03-21 | 2021-06-01 | Amazon Technologies, Inc. | Managing electronic requests associated with items stored by automatic replenishment devices |
| US10373118B1 (en) | 2018-03-21 | 2019-08-06 | Amazon Technologies, Inc. | Predictive consolidation system based on sensor data |
| US10909610B1 (en) | 2018-03-21 | 2021-02-02 | Amazon Technologies, Inc. | Method, system and computer-readable medium for automatic replenishment of items utilizing a sensor-based device |
| US10853870B2 (en) | 2018-03-22 | 2020-12-01 | Amazon Technologies, Inc. | Product and lid identification for sensor-based device |
| US11010711B1 (en) | 2018-03-23 | 2021-05-18 | Amazon Technologies, Inc. | Test-enabled measurements for a sensor-based device |
| US11361011B1 (en) | 2018-04-26 | 2022-06-14 | Amazon Technologies, Inc. | Sensor-related improvements to automatic replenishment devices |
| CN108614439A (en) * | 2018-05-07 | 2018-10-02 | 珠海格力电器股份有限公司 | Information pushing method and device |
| US11799955B2 (en) * | 2018-06-03 | 2023-10-24 | Apple Inc. | Data synchronization across multiple devices |
| US11169677B1 (en) * | 2018-06-08 | 2021-11-09 | Wells Fargo Bank, N.A. | Future state graphical visualization generator |
| KR102619657B1 (en) * | 2018-06-15 | 2023-12-29 | 삼성전자주식회사 | Refrigerator, server and method of controlling thereof |
| CN110610545B (en) * | 2018-06-15 | 2023-07-14 | 浙江天猫技术有限公司 | Image display method, terminal, storage medium and processor |
| US11212277B1 (en) * | 2018-07-02 | 2021-12-28 | Knwn Technologies, Inc. | System and method for securing, perfecting and accelerating biometric identification via holographic environmental data |
| US11861579B1 (en) * | 2018-07-31 | 2024-01-02 | Block, Inc. | Intelligent inventory system |
| CN120122819A (en) * | 2018-09-28 | 2025-06-10 | 美国斯耐普公司 | Neural network systems for posture, wearing, activity or carrying detection on wearable or mobile devices |
| US11362889B2 (en) * | 2018-10-15 | 2022-06-14 | Cdw Llc | System and method for automated information technology services management |
| US10878394B1 (en) | 2018-11-29 | 2020-12-29 | Square, Inc. | Intelligent inventory recommendations |
| US11645613B1 (en) | 2018-11-29 | 2023-05-09 | Block, Inc. | Intelligent image recommendations |
| US11010974B2 (en) * | 2019-01-04 | 2021-05-18 | Vungle, Inc. | Augmented reality in-application advertisements |
| CN110087195B (en) * | 2019-04-22 | 2021-12-10 | 希诺麦田技术(深圳)有限公司 | Method and device for transmitting data in wireless ad hoc network and storage medium |
| US11043040B2 (en) * | 2019-05-21 | 2021-06-22 | Accenture Global Solutions Limited | Extended reality based positive affect implementation for product development |
| US11295134B2 (en) | 2019-07-02 | 2022-04-05 | Truist Bank | User scanning and one-way augmented reality viewing system |
| US11948125B2 (en) * | 2019-07-23 | 2024-04-02 | Verizon Patent And Licensing Inc. | Sensor-based object status determination |
| USD916133S1 (en) * | 2019-09-08 | 2021-04-13 | Apple Inc. | Electronic device with icon |
| US11941676B2 (en) * | 2019-12-17 | 2024-03-26 | Ebay Inc. | Automatic ordering of consumable items |
| US11238113B2 (en) * | 2020-04-01 | 2022-02-01 | Grand Rounds Inc. | Systems and methods for machine learning models for search engine performance optimization |
| US20210383311A1 (en) * | 2020-06-08 | 2021-12-09 | Walmart Apollo, Llc | Methods and apparatus for marketplace item updates |
| US11586841B2 (en) | 2020-07-01 | 2023-02-21 | Wipro Limited | Method and system for generating user driven adaptive object visualizations using generative adversarial network models |
| US11853933B1 (en) * | 2020-07-29 | 2023-12-26 | Wells Fargo Bank, N.A. | Systems and methods for an interactive customer interface utilizing customer device context |
| JP7484561B2 (en) * | 2020-08-19 | 2024-05-16 | トヨタ自動車株式会社 | Information processing device and information processing method |
| CN113625579B (en) * | 2021-08-06 | 2024-07-09 | 江苏兰馨园林有限公司 | Intelligent furniture control method and system |
| US11893849B2 (en) * | 2021-09-13 | 2024-02-06 | Cisco Technology, Inc. | Providing physical access to a secured space based on high-frequency electromagnetic signaling |
| KR20230043580A (en) * | 2021-09-24 | 2023-03-31 | 라인플러스 주식회사 | Method and system for providing avatar space based on street-view via instant messaging application |
| KR102940588B1 (en) * | 2021-11-15 | 2026-03-17 | 배영식 | Method for analyzing personality or aptitude based on metaverse |
| US12463899B2 (en) * | 2021-11-23 | 2025-11-04 | Google Llc | Systems and methods for tunneling network traffic to apply network functions |
| US12212575B2 (en) | 2022-04-21 | 2025-01-28 | Cisco Technology, Inc. | User role-driven metadata layers in a data mesh |
| US12170612B2 (en) * | 2022-05-04 | 2024-12-17 | Cisco Technology, Inc. | Data requesting and routing protocol in a data mesh |
| US20250245277A1 (en) * | 2024-01-30 | 2025-07-31 | Kari Sorenson Peters | System and method for enhancing digital interactions through physical characteristic-based matching and ai-driven personalization |
| JP2025128960A (en) * | 2024-02-22 | 2025-09-03 | 京セラドキュメントソリューションズ株式会社 | Consumables ordering system and consumables ordering program |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070299796A1 (en) * | 2006-06-27 | 2007-12-27 | Microsoft Corporation | Resource availability for user activities across devices |
| US20120096076A1 (en) * | 2010-10-13 | 2012-04-19 | Google Inc. | Continuous application execution between multiple devices |
| US20130275994A1 (en) * | 2012-04-11 | 2013-10-17 | Nokia Corporation | Method and apparatus for activity management across multiple devices |
Family Cites Families (132)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5619709A (en) * | 1993-09-20 | 1997-04-08 | Hnc, Inc. | System and method of context vector generation and retrieval |
| US6014661A (en) * | 1996-05-06 | 2000-01-11 | Ivee Development Ab | System and method for automatic analysis of data bases and for user-controlled dynamic querying |
| US6137499A (en) * | 1997-03-07 | 2000-10-24 | Silicon Graphics, Inc. | Method, system, and computer program product for visualizing data using partial hierarchies |
| US6097386A (en) * | 1997-03-07 | 2000-08-01 | International Business Machines Corporation | Data processing system having context sensitive visual feedback for user interface controls and method therefor |
| US6301579B1 (en) | 1998-10-20 | 2001-10-09 | Silicon Graphics, Inc. | Method, system, and computer program product for visualizing a data structure |
| US6204763B1 (en) * | 1999-03-22 | 2001-03-20 | Jujitsu Limited | Household consumable item automatic replenishment system including intelligent refrigerator |
| US7630986B1 (en) | 1999-10-27 | 2009-12-08 | Pinpoint, Incorporated | Secure data interchange |
| US7483964B1 (en) | 2000-02-25 | 2009-01-27 | Nortel Networks, Limited | System, device, and method for providing personalized services in a communication system |
| US7260837B2 (en) * | 2000-03-22 | 2007-08-21 | Comscore Networks, Inc. | Systems and methods for user identification, user demographic reporting and collecting usage data usage biometrics |
| WO2002033628A2 (en) | 2000-10-18 | 2002-04-25 | Johnson & Johnson Consumer Companies, Inc. | Intelligent performance-based product recommendation system |
| TW494691B (en) | 2000-11-21 | 2002-07-11 | Koninkl Philips Electronics Nv | Mobile device, auxiliary rendering device and arrangement |
| US6778193B2 (en) * | 2001-02-07 | 2004-08-17 | International Business Machines Corporation | Customer self service iconic interface for portal entry and search specification |
| US7174312B2 (en) | 2001-08-16 | 2007-02-06 | Trans World New York Llc | User-personalized media sampling, recommendation and purchasing system using real-time inventory database |
| US7623114B2 (en) * | 2001-10-09 | 2009-11-24 | Immersion Corporation | Haptic feedback sensations based on audio output from computer devices |
| US7206559B2 (en) | 2001-10-16 | 2007-04-17 | Hewlett-Packard Development Company, L.P. | System and method for a mobile computing device to control appliances |
| US20030229895A1 (en) | 2002-06-10 | 2003-12-11 | Koninklijke Philips Electronics N. V. Corporation | Anticipatory content augmentation |
| US20040127198A1 (en) * | 2002-12-30 | 2004-07-01 | Roskind James A. | Automatically changing a mobile device configuration based on environmental condition |
| US7908554B1 (en) | 2003-03-03 | 2011-03-15 | Aol Inc. | Modifying avatar behavior based on user action or mood |
| US7676034B1 (en) | 2003-03-07 | 2010-03-09 | Wai Wu | Method and system for matching entities in an auction |
| GB0306875D0 (en) | 2003-03-25 | 2003-04-30 | British Telecomm | Apparatus and method for generating behavior in an object |
| KR100680191B1 (en) * | 2003-09-05 | 2007-02-08 | 삼성전자주식회사 | Proactive User Interface System with Emotional Agents |
| US20050131894A1 (en) | 2003-12-11 | 2005-06-16 | Vuong Chau M. | System and method for providing identification and search information |
| US20070087313A1 (en) | 2003-12-15 | 2007-04-19 | Vest Herb D | Method for improving relationship compatibility analysis based on the measure of psychological traits |
| US20050131716A1 (en) | 2003-12-15 | 2005-06-16 | Hanan Martin D. | Method for determining compatibility |
| BRPI0401465A (en) | 2004-04-20 | 2006-02-21 | Embria Informatica Ltda | system for managing interactions between users and software applications in a web environment |
| US7581034B2 (en) | 2004-11-23 | 2009-08-25 | Microsoft Corporation | Sending notifications to auxiliary displays |
| US8144853B1 (en) | 2005-02-02 | 2012-03-27 | At&T Intellectual Property Ii, L.P. | Methods, systems, and devices for providing contact information |
| US7689681B1 (en) | 2005-02-14 | 2010-03-30 | David Scott L | System and method for facilitating controlled compensable use of a remotely accessible network device |
| US7933897B2 (en) * | 2005-10-12 | 2011-04-26 | Google Inc. | Entity display priority in a distributed geographic information system |
| US20070143250A1 (en) | 2005-12-20 | 2007-06-21 | Beckman Coulter, Inc. | Adaptable database system |
| US20070174331A1 (en) * | 2006-01-06 | 2007-07-26 | Wolf Robert P | System and method for extending the business data associated with a network-based user collaboration tool to include spatial reference information for collaborative visualization |
| US20070244844A1 (en) * | 2006-03-23 | 2007-10-18 | Intelliscience Corporation | Methods and systems for data analysis and feature recognition |
| US8051468B2 (en) * | 2006-06-14 | 2011-11-01 | Identity Metrics Llc | User authentication system |
| US8452978B2 (en) * | 2006-09-15 | 2013-05-28 | Identity Metrics, LLC | System and method for user authentication and dynamic usability of touch-screen devices |
| US8177260B2 (en) | 2006-09-26 | 2012-05-15 | Switch2Health Inc. | Coupon redeemable upon completion of a predetermined threshold of physical activity |
| US8333641B2 (en) * | 2006-12-14 | 2012-12-18 | Sullivan C Bart | Wireless video game system and method |
| US8200506B2 (en) * | 2006-12-19 | 2012-06-12 | Accenture Global Services Limited | Integrated health management platform |
| US20080158222A1 (en) * | 2006-12-29 | 2008-07-03 | Motorola, Inc. | Apparatus and Methods for Selecting and Customizing Avatars for Interactive Kiosks |
| US20090012841A1 (en) | 2007-01-05 | 2009-01-08 | Yahoo! Inc. | Event communication platform for mobile device users |
| US20080183645A1 (en) * | 2007-01-31 | 2008-07-31 | Microsoft Corporation | Media continuity service between devices |
| US8116751B2 (en) * | 2007-02-23 | 2012-02-14 | At&T Intellectual Property I, L.P. | Methods, systems, and products for identity verification |
| US20080222706A1 (en) * | 2007-03-06 | 2008-09-11 | Martin Renaud | Globally aware authentication system |
| US8032472B2 (en) | 2007-04-04 | 2011-10-04 | Tuen Solutions Limited Liability Company | Intelligent agent for distributed services for mobile devices |
| US20080249987A1 (en) * | 2007-04-06 | 2008-10-09 | Gemini Mobile Technologies, Inc. | System And Method For Content Selection Based On User Profile Data |
| WO2008157687A1 (en) | 2007-06-19 | 2008-12-24 | Timothy O'shaughnessy | User health status |
| US8078698B2 (en) * | 2007-06-26 | 2011-12-13 | At&T Intellectual Property I, L.P. | Methods, systems, and products for producing persona-based hosts |
| US8146005B2 (en) * | 2007-08-07 | 2012-03-27 | International Business Machines Corporation | Creating a customized avatar that reflects a user's distinguishable attributes |
| US8190444B2 (en) | 2007-12-05 | 2012-05-29 | Microsoft Corporation | Online personal appearance advisor |
| US8584024B2 (en) | 2008-02-01 | 2013-11-12 | International Business Machines Corporation | Avatar cloning in a virtual world |
| KR101334066B1 (en) | 2008-02-11 | 2013-11-29 | 이점식 | Self-evolving Artificial Intelligent cyber robot system and offer method |
| US9143573B2 (en) | 2008-03-20 | 2015-09-22 | Facebook, Inc. | Tag suggestions for images on online social networks |
| US8024662B2 (en) * | 2008-05-30 | 2011-09-20 | International Business Machines Corporation | Apparatus for navigation and interaction in a virtual meeting place |
| US8612363B2 (en) * | 2008-06-12 | 2013-12-17 | Microsoft Corporation | Avatar individualized by physical characteristic |
| US7796190B2 (en) * | 2008-08-15 | 2010-09-14 | At&T Labs, Inc. | System and method for adaptive content rendition |
| US8417481B2 (en) | 2008-09-11 | 2013-04-09 | Diane J. Cook | Systems and methods for adaptive smart environment automation |
| US20100083139A1 (en) * | 2008-09-26 | 2010-04-01 | International Business Machines Corporation | Virtual universe avatar companion |
| US9480919B2 (en) | 2008-10-24 | 2016-11-01 | Excalibur Ip, Llc | Reconfiguring reality using a reality overlay device |
| US8060573B2 (en) * | 2008-11-20 | 2011-11-15 | MeetMyKind, LLC | Matching social network users |
| US8340389B2 (en) | 2008-11-26 | 2012-12-25 | Agilent Technologies, Inc. | Cellular- or sub-cellular-based visualization information using virtual stains |
| US9741147B2 (en) | 2008-12-12 | 2017-08-22 | International Business Machines Corporation | System and method to modify avatar characteristics based on inferred conditions |
| CA2747816C (en) | 2008-12-24 | 2015-03-24 | Chalk Media Service Corp. | A system, network and method for multi-platform publishing and synchronized content |
| US8095432B1 (en) | 2009-01-30 | 2012-01-10 | Intuit Inc. | Recommendation engine for social networks |
| US8264379B2 (en) | 2009-03-10 | 2012-09-11 | Honeywell International Inc. | Methods and systems for correlating data sources for vehicle displays |
| US9179847B2 (en) * | 2009-07-16 | 2015-11-10 | International Business Machines Corporation | System and method to provide career counseling and management using biofeedback |
| US20110046805A1 (en) * | 2009-08-18 | 2011-02-24 | Honeywell International Inc. | Context-aware smart home energy manager |
| US20110093780A1 (en) | 2009-10-16 | 2011-04-21 | Microsoft Corporation | Advertising avatar |
| US20110148607A1 (en) | 2009-12-17 | 2011-06-23 | Charles Timberlake Zeleny | System,device and method for providing haptic technology |
| US20110153663A1 (en) | 2009-12-21 | 2011-06-23 | At&T Intellectual Property I, L.P. | Recommendation engine using implicit feedback observations |
| US20110238482A1 (en) | 2010-03-29 | 2011-09-29 | Carney John S | Digital Profile System of Personal Attributes, Tendencies, Recommended Actions, and Historical Events with Privacy Preserving Controls |
| US9230224B2 (en) | 2010-05-11 | 2016-01-05 | Salesforce.Com, Inc. | Providing a timeline control in a multi-tenant database environment |
| JP2013528332A (en) * | 2010-05-27 | 2013-07-08 | エスエムエスシイ・ホールディングス・エス エイ アール エル | Seamless transfer of media streams |
| KR101239096B1 (en) | 2010-08-26 | 2013-03-18 | (주)네오위즈게임즈 | Method, apparatus, and recorded medium for transmitting and receiving application usage information in social network system |
| US8972498B2 (en) | 2010-08-24 | 2015-03-03 | Yahoo! Inc. | Mobile-based realtime location-sensitive social event engine |
| US8620850B2 (en) | 2010-09-07 | 2013-12-31 | Blackberry Limited | Dynamically manipulating an emoticon or avatar |
| US20120116853A1 (en) | 2010-11-09 | 2012-05-10 | Samir Hanna Safar | System and process for evaluation of athlete performance |
| GB201022128D0 (en) * | 2010-12-31 | 2011-02-02 | Foster Findlay Ass Ltd | Active contour segmentation |
| US9245259B2 (en) * | 2011-01-14 | 2016-01-26 | Apple Inc. | Presenting E-mail on a touch device |
| US20120239504A1 (en) * | 2011-03-15 | 2012-09-20 | Microsoft Corporation | Virtual Shopping Assistance |
| WO2012144776A2 (en) * | 2011-04-18 | 2012-10-26 | 엘지전자 주식회사 | Network system and method for controlling same |
| US20120290979A1 (en) * | 2011-05-12 | 2012-11-15 | John Devecka | System and method for an interactive mobile-optimized icon-based profile display and associated public figure social network functionality |
| WO2012170225A1 (en) * | 2011-06-10 | 2012-12-13 | Aliphcom | Personal advisor system using data-capable band |
| US20160270717A1 (en) | 2011-06-10 | 2016-09-22 | Aliphcom | Monitoring and feedback of physiological and physical characteristics using wearable devices |
| US20130198694A1 (en) * | 2011-06-10 | 2013-08-01 | Aliphcom | Determinative processes for wearable devices |
| WO2012173446A2 (en) * | 2011-06-17 | 2012-12-20 | 성균관대학교산학협력단 | Context-specific experience sampling method and system |
| EP2724309A4 (en) | 2011-06-24 | 2015-02-25 | Monster Worldwide Inc | DEVICES, METHODS AND SYSTEMS FOR A PLATFORM FOR PAIRING SOCIAL DATA |
| US8489715B2 (en) | 2011-06-29 | 2013-07-16 | Cisco Technology, Inc. | Identifying and downloading an application associated with a service registered in a home network |
| US9460350B2 (en) | 2011-07-01 | 2016-10-04 | Washington State University | Activity recognition in multi-entity environments |
| US8184067B1 (en) | 2011-07-20 | 2012-05-22 | Google Inc. | Nose bridge sensor |
| US20130214935A1 (en) * | 2011-08-22 | 2013-08-22 | Lg Electronics Inc. | Information management system for home appliance |
| US10289079B2 (en) * | 2011-09-30 | 2019-05-14 | Siemens Schweiz Ag | Management system using function abstraction for output generation |
| KR101476613B1 (en) * | 2011-10-31 | 2014-12-29 | 양동훈 | System for ubiquitous smart shopping |
| US8892130B2 (en) | 2011-11-14 | 2014-11-18 | Robert P. Hudson | System for enabling interactive socialization of users at a location or geographic radius thereof |
| JP2013103010A (en) | 2011-11-15 | 2013-05-30 | Sony Corp | Image processing device, image processing method, and program |
| US8541745B2 (en) | 2011-11-16 | 2013-09-24 | Motorola Mobility Llc | Methods and devices for clothing detection about a wearable electronic device |
| KR20130068593A (en) * | 2011-12-15 | 2013-06-26 | 한국전자통신연구원 | Metaverse platform for fusing actual feeling and method for providing service using the same |
| US10460350B2 (en) | 2011-12-30 | 2019-10-29 | Visa International Service Association | Digital concierge application |
| US9071547B2 (en) * | 2012-01-24 | 2015-06-30 | New Voice Media, Ltd. | Distributed constraint-based optimized routing of interactions |
| US8463939B1 (en) * | 2012-01-24 | 2013-06-11 | Brian R. Galvin | System and method for optimized and distributed routing of interactions |
| US9109943B2 (en) * | 2012-02-17 | 2015-08-18 | Qualcomm Incorporated | Weight-sensing surfaces with wireless communication for inventory tracking |
| US9934713B2 (en) * | 2012-03-28 | 2018-04-03 | Qualcomm Incorporated | Multifunction wristband |
| US20130257877A1 (en) | 2012-03-30 | 2013-10-03 | Videx, Inc. | Systems and Methods for Generating an Interactive Avatar Model |
| US9118876B2 (en) | 2012-03-30 | 2015-08-25 | Verizon Patent And Licensing Inc. | Automatic skin tone calibration for camera images |
| US10075334B1 (en) * | 2012-04-11 | 2018-09-11 | Google Llc | Systems and methods for commissioning a smart hub device |
| US9438642B2 (en) * | 2012-05-01 | 2016-09-06 | Google Technology Holdings LLC | Methods for coordinating communications between a plurality of communication devices of a user |
| US20130321446A1 (en) * | 2012-06-01 | 2013-12-05 | The Board Of Trustees Of The University Of Illinois | Methods And Systems For Visualizing Data |
| US20140180595A1 (en) | 2012-12-26 | 2014-06-26 | Fitbit, Inc. | Device state dependent user interface management |
| US8892697B2 (en) * | 2012-07-24 | 2014-11-18 | Dhana Systems Corp. | System and digital token for personal identity verification |
| US10212046B2 (en) * | 2012-09-06 | 2019-02-19 | Intel Corporation | Avatar representation of users within proximity using approved avatars |
| US10373230B2 (en) | 2012-10-05 | 2019-08-06 | Raise Marketplace, Llc | Computer-implemented method for recommendation system input management |
| US20140136365A1 (en) * | 2012-11-09 | 2014-05-15 | Hyaqu, Inc. | Suggesting expenditures within a budget |
| KR20140062890A (en) | 2012-11-15 | 2014-05-26 | 삼성전자주식회사 | Wearable device and managing device for managing a status of user and methods thereof |
| US10410180B2 (en) * | 2012-11-19 | 2019-09-10 | Oath Inc. | System and method for touch-based communications |
| US9043887B2 (en) | 2012-12-31 | 2015-05-26 | Apple Inc. | Adaptive secondary authentication criteria based on account data |
| US20140279294A1 (en) | 2013-03-14 | 2014-09-18 | Nordstrom, Inc. | System and methods for order fulfillment, inventory management, and providing personalized services to customers |
| US9524505B2 (en) | 2013-04-01 | 2016-12-20 | International Business Machines Corporation | End-to-end effective citizen engagement via advanced analytics and sensor-based personal assistant capability (EECEASPA) |
| US20150032541A1 (en) * | 2013-07-24 | 2015-01-29 | Pecabu, Inc. | Method and system for advertising prediction, improvement and distribution |
| EP3042363A1 (en) * | 2013-09-04 | 2016-07-13 | Zero360, Inc. | Device for providing alerts via electric stimulation |
| US20150088598A1 (en) * | 2013-09-24 | 2015-03-26 | International Business Machines Corporation | Cross-retail marketing based on analytics of multichannel clickstream data |
| US20150120555A1 (en) * | 2013-10-29 | 2015-04-30 | Elwha Llc | Exchange authorization analysis infused with network-acquired data stream information |
| WO2015077280A2 (en) * | 2013-11-20 | 2015-05-28 | Evernote Corporation | Distributed application functionality and user interface for multiple connected mobile devices |
| US9769522B2 (en) * | 2013-12-16 | 2017-09-19 | Echostar Technologies L.L.C. | Methods and systems for location specific operations |
| US10110542B2 (en) * | 2013-12-31 | 2018-10-23 | Microsoft Technology Licensing, Llc | Wearable computing—augmented reality and presentation of social information |
| US20160048019A1 (en) * | 2014-08-12 | 2016-02-18 | Osterhout Group, Inc. | Content presentation in head worn computing |
| KR102188266B1 (en) * | 2014-01-23 | 2020-12-08 | 엘지전자 주식회사 | A smart watch, a display device and the method of controlling thereof |
| US20150253445A1 (en) | 2014-03-06 | 2015-09-10 | Westerngeco L.L.C. | Visualization of seismic attributes |
| US9171434B2 (en) * | 2014-03-12 | 2015-10-27 | Google Inc. | Selectively redirecting notifications to a wearable computing device |
| US20150269151A1 (en) | 2014-03-22 | 2015-09-24 | Andrew Wallace | Context Based Photograph Sharing Platform for Property Inspections |
| US10304114B2 (en) | 2014-03-25 | 2019-05-28 | Ebay Inc. | Data mesh based environmental augmentation |
| US20160012129A1 (en) * | 2014-07-14 | 2016-01-14 | Microsoft Technology Licensing, Llc | Visualization suggestions |
| US20160048595A1 (en) * | 2014-08-12 | 2016-02-18 | Lenovo (Singapore) Pte. Ltd. | Filtering Content Suggestions for Multiple Users |
| US10728622B2 (en) * | 2017-08-25 | 2020-07-28 | Sony Interactive Entertainment LLC | Management of non-linear content presentation and experience |
| US10657695B2 (en) * | 2017-10-30 | 2020-05-19 | Snap Inc. | Animated chat presence |
-
2014
- 2014-07-31 US US14/449,126 patent/US10304114B2/en active Active
- 2014-07-31 US US14/449,113 patent/US9886710B2/en active Active
- 2014-08-13 US US14/459,115 patent/US20150278912A1/en not_active Abandoned
- 2014-09-26 US US14/498,326 patent/US9576312B2/en active Active
-
2015
- 2015-03-24 WO PCT/US2015/022318 patent/WO2015148559A1/en not_active Ceased
- 2015-03-24 KR KR1020227009425A patent/KR102702649B1/en active Active
- 2015-03-24 KR KR1020187012784A patent/KR102153803B1/en active Active
- 2015-03-24 CN CN202211165952.XA patent/CN115496557A/en active Pending
- 2015-03-24 CN CN202211165937.5A patent/CN115496556B/en active Active
- 2015-03-24 CN CN201580027971.8A patent/CN106462825B/en active Active
- 2015-03-24 KR KR1020167029553A patent/KR20160137600A/en not_active Ceased
- 2015-03-24 KR KR1020207025223A patent/KR102379643B1/en active Active
- 2015-03-24 KR KR1020247029276A patent/KR102778624B1/en active Active
-
2017
- 2017-02-14 US US15/431,799 patent/US10719866B2/en active Active
- 2017-12-20 US US15/848,351 patent/US10453111B2/en active Active
-
2019
- 2019-04-23 US US16/391,852 patent/US11210723B2/en active Active
- 2019-09-19 US US16/575,619 patent/US11100561B2/en active Active
-
2020
- 2020-06-02 US US16/890,760 patent/US11120492B2/en active Active
-
2021
- 2021-07-07 US US17/369,183 patent/US11810178B2/en active Active
- 2021-08-02 US US17/391,651 patent/US12033204B2/en active Active
- 2021-11-30 US US17/538,491 patent/US11657443B2/en active Active
-
2023
- 2023-04-14 US US18/134,815 patent/US11900437B2/en active Active
- 2023-11-30 US US18/525,676 patent/US20240095808A1/en active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070299796A1 (en) * | 2006-06-27 | 2007-12-27 | Microsoft Corporation | Resource availability for user activities across devices |
| US20120096076A1 (en) * | 2010-10-13 | 2012-04-19 | Google Inc. | Continuous application execution between multiple devices |
| US20130275994A1 (en) * | 2012-04-11 | 2013-10-17 | Nokia Corporation | Method and apparatus for activity management across multiple devices |
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9576312B2 (en) | 2014-03-25 | 2017-02-21 | Ebay Inc. | Data mesh-based wearable device ancillary activity |
| US9886710B2 (en) | 2014-03-25 | 2018-02-06 | Ebay Inc. | Data mesh visualization |
| US10304114B2 (en) | 2014-03-25 | 2019-05-28 | Ebay Inc. | Data mesh based environmental augmentation |
| US10453111B2 (en) | 2014-03-25 | 2019-10-22 | Ebay Inc. | Data mesh visualization |
| US10719866B2 (en) | 2014-03-25 | 2020-07-21 | Ebay Inc. | Complementary activity based on availability of functionality |
| US11100561B2 (en) | 2014-03-25 | 2021-08-24 | Ebay Inc. | Data mesh visualization |
| US11120492B2 (en) | 2014-03-25 | 2021-09-14 | Ebay Inc. | Device ancillary activity |
| US11210723B2 (en) | 2014-03-25 | 2021-12-28 | Ebay Inc. | Data mesh based environmental augmentation |
| US11657443B2 (en) | 2014-03-25 | 2023-05-23 | Ebay Inc. | Data mesh based environmental augmentation |
| US11810178B2 (en) | 2014-03-25 | 2023-11-07 | Ebay Inc. | Data mesh visualization |
| US11900437B2 (en) | 2014-03-25 | 2024-02-13 | Ebay Inc. | Data mesh based environmental augmentation |
| US12033204B2 (en) | 2014-03-25 | 2024-07-09 | Ebay Inc. | Device ancillary activity |
| GB2635514A (en) * | 2023-11-15 | 2025-05-21 | Nokia Technologies Oy | Authentication |
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11900437B2 (en) | Data mesh based environmental augmentation | |
| US10146860B2 (en) | Biometric data based notification system | |
| US20150379602A1 (en) | Lead recommendations | |
| US9746998B2 (en) | Collaborative data based device maintenance | |
| US20170032420A1 (en) | Publisher facilitated advertisement mediation | |
| AU2016101802A4 (en) | Data mesh platform |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15767961 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WPC | Withdrawal of priority claims after completion of the technical preparations for international publication |
Ref document number: 14/459,115 Country of ref document: US Date of ref document: 20160922 Free format text: WITHDRAWN AFTER TECHNICAL PREPARATION FINISHED |
|
| ENP | Entry into the national phase |
Ref document number: 20167029553 Country of ref document: KR Kind code of ref document: A |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 15767961 Country of ref document: EP Kind code of ref document: A1 |