SYSTEM AND METHOD FOR PROVIDING MOBILE COUPON INFORMATION IN A NETWORK
A computer-implemented method of providing a coupon in a digital network is provided. The method includes receiving a message indicative of the location of a purchaser; selecting a context for the purchaser based on the indicated location; identifying manufacturers of products that are sold in the location; and sending a coupon to the purchaser for products that are sold in the location.
This application claims the benefit of co-pending U.S. Provisional Application No. 60/917,618 filed on May 11, 2007, the disclosure of which is incorporated by reference herein in its entirety.
BACKGROUND OF THE INVENTION1. Field of the Invention
This application relates to the management of entities, identities, and contexts in a network, such as a computer network, voice network, or some other link between objects through a defined protocol. More particularly, this application relates to a system and method for modeling and abstracting information representing real world objects and ideas to enable more persistent, secure, and easy to use applications for people and businesses.
2. Description of the Related Art
In recent years, society has become more and more reliant upon the electronic exchange of information in order to provide insight into real world scenarios and conditions. Businesses in particular, rely on the capture, storage, and analysis of data and information to improve efficiency and accuracy in their business models. As an increasing number of businesses have begun storing important information, a need arose for companies to share information and data with each other in order to improve how they conduct business with each other.
For example, when two companies conducted a business transaction, each of their respective data systems needed to be updated to reflect that transaction. However, there was a problem in that companies tended to use non-standardized systems which prevented them from easily sharing information. To address this problem, standards for structuring information to be electronically exchanged were proposed. One of the better known standards developed to address these needs is Electronic Data Interchange (EDI) which is a set of specifications which allows trading partners to exchange information with little regard to the type of software or system installed on the other side of the transaction.
EDI and other technologies have improved the sharing of electronic information. However, there remains a considerable amount of information and data which is not captured through the existing EDI technologies. For example, although business transactions may be captured in significant detail, the computer systems which support these transactions do not enable effective data information flow across the entire supply chain, especially between dimensions such as time or connection points. Although the computer systems of manufacturers are typically configured to effectively share information with their distributors, as products proceed further along the supply chain to retailers and ultimately to consumers, the corresponding transaction data is not effectively communicated back up the chain. One consequence of this disconnect is that information about consumers is not effectively distributed to others in the supply chain.
Take, for example, the case of when a person moves to a new home. Many companies in the supply chain may store information about the person. However, when the person moves to the new home, this information is not made available to the companies unless the person takes affirmative steps to update their information with each company. Moreover, even if the person takes steps to update their information with one company in the supply chain, the companies do not effectively share this information with other companies with whom they conduct business. In sum, there is no identity synchronization between many disparate computer systems and networks within the supply chain. Although some attempts have been made to provide this type of service, such as Microsoft Passport, these services are generally limited to the consumer/retailer side of the supply chain, and do not adequately address the needs of manufacturers and distributors, nor the needs of the individual, who is an critical source of the information about themselves. Accordingly, what is needed is a system which solves these and other shortcomings.
SUMMARY OF THE CERTAIN INVENTIVE ASPECTSThe system, method, and devices of the present invention each have several aspects, no single one of which is solely responsible for its desirable attributes. Without limiting the scope of this invention, several of its features will now be discussed briefly.
In a first embodiment, a computer-implemented method of providing a context-sensitive coupon to an entity that is connected to a digital network is provided. The method includes receiving a message indicative of a first entity's presence in a location; selecting a shopping context for the first entity based at least in part on the location; determining the first entity's relationship with other entities related to the location based on the selected shopping context; and sending the context-sensitive coupon from at least one of the other entities to the first entity based on the first entity's relationship with the at least one of the other entities and the selected shopping context.
In another embodiment, a system for providing context-sensitive information about a product to a mobile device in a computer network is provided. The system includes a first module configured to store information indicative of a sale of the product to a first entity; a second module configured to receive information from the first entity indicative of the relationship between the first entity and a second entity associated with the product; and a communication link between the first entity and the second entity based on the relationship, wherein the second entity communicates information associated with the product to the first entity.
In yet another embodiment, a computer-implemented method of providing a coupon in a digital network is provided. The method includes receiving a message indicative of the location of a purchaser; selecting a context for the purchaser based on the indicated location; identifying manufacturers of products that are sold in the location; and sending a coupon to the purchaser for products that are sold in the location.
In this description, reference is made to the drawings wherein like parts are designated with like numerals throughout.
Various embodiments include systems and methods which provide persons and businesses with the ability to share information across the supply chain in a way that allows real world entities to be abstracted as data objects, and allows access to the data objects based on their ever-changing context in the world around them. By connecting data objects and sharing information among them based on their context, network entities are given more precise control over how information is shared and with whom it is shared.
Certain embodiments are implemented within a network environment.
Other types of objects 109 stored in the server 107 include entity objects 110. As used herein, an entity object is a data object that, in one embodiment, represents an idea of a thing, person, place or product. An entity object 110 is a data object which abstracts a representation of an idea. For example, there may be an entity object which corresponds to 42″ LCD televisions. This object is not specific for an individual television set, but rather represents the concept of a 42″ LCD television. Similarly, there may be entity objects that represent a FORD TAURUS® automobile. The object is not particular to a specific car, but rather represents the type of that car (which may be represented in many different ways in the networks, including different naming convention, within different network protocols).
The data objects 109 in the network 106 may further include context data 114. In some embodiments, context refers to the facts or circumstances within which a data object 109 is perceived. In other embodiments, context may include only circumstances within which a data object 109 is perceived, with facts related to a data object stored separately. Context data 114 generally includes data that how other data objects 109 are viewed and referred to within the network 106. For example, a context may be “shopping”, “driving”, or “at work”. Such contexts can be selected by users of the system to indicate how they are currently utilizing data objects. Facts regarding a data object, such as a person named Mike, may include “Mike is a male born in 1977”, “Mike was born at Scripps Memorial Hospital”, “Mike has two children”, or “Mike drives a BMW”. Circumstances regarding Mike may include “Mike is at work”, “Mike is on vacation”, “Mike is shopping for a new car”, or “Mike is sleeping”. Facts regarding a data object, such as a television set, may include “The TV has a 42-inch LCD screen”, ”The TV is a flat-screen television”, or “The TV was manufactured by Toshiba”. Circumstances regarding the television set may include “The TV is on”, “The TV is set to channel 13”, or “The TV is broken”. Thus, in some embodiments, circumstances occur over a shorten time span than facts. Circumstances may last an hour, a few hours, a day, a few days, a month, a few months, a year, etc. Facts may be unchanging or occur over longer time spans. A data object may be associated with facts or circumstances that are not currently true, but may be true at times. For instance, The data object corresponding to a person named Mike may include the context “Mike is at work” when Mike is not at work, however the context would not be applied in that case, i.e. the context would not be selected. As, in some cases, the distinction between facts and circumstances can be somewhat arbitrary, in some embodiments of the system, context is broken into a plurality of categories, each category containing a plurality of contexts specific to an estimated time-interval over which it may occur. For instance, “Mike is a male born in 1977” may be put into a permanent category, “Mike drives a BMW” may be put into a semi-permanent category, and “Mike is at work” might be put into a transient category. The number of categories may vary. Context data will be described in further detail below in connection with
As shown in
Connecting to the network 106 may be a person 102 (also referred to herein as a user). The person 102 may connect to the network utilizing one of various network-enabled devices 104a. . . 104i. The network-enabled devices may include various types of hardware devices such as computers, handheld devices, televisions, mobile phones, GPS devices, Bluetooth enabled devices, RFID tags/devices, UPC tags/devices, or some other network-enabled devices somehow associated with a user 102. The various devices 104 may connect directly to the network 106 via a wireless or wired connection. Alternatively, the devices 104 may connect to other networks which are connected to the network 106. The user 102 may send and receive data from the network 106 using the devices 104 in a manner described in more detail below.
Referring now to
Referring now to
Normative identifier types 304 may also be combined for specific contexts in which the user exists. For example a normative identifier type 304 can be defined for a context in which the user is shopping with their mobile phone. Ordinarily, there may be an identifier associated with the user “MikeSmithMobileShop.” Which could be ID+ID+ID+ID (an id for each concept). This could be further extended to MikeSmithMobileBuy, which may look like IDLongVersion+IDLongVersion+ID+Logon. Accordingly, the identifier of the object can join with other identifiers and contexts to become more specific. Once the combination of normative identifiers has been created and processed, it can be made reusable by the system, or further obfuscated in encryption or some other security layer.
Each identity 112(1) may further include a secondary identifier 306 and a secondary identifier type 308 which may be alternative way of uniquely identifying the real world object represented by the identity object 112(1).
Depending on the type of object represented, the identity may include various other data fields which store relevant data about the identity object. As was briefly noted above, an identity object within the network 106 is a data abstraction of an object verified to exist in the real world. As such, each identity object 112 will store data related to how and when its existence has been verified. For example, identity objects 112 may include time data 310 which indicates the most recent date at which the existence of the object has been verified. The identity object 112(1) may further include one or more verification sources 312 which represent the entities 110 or identities 112 which have been used to verify this objects real world existence. Verification sources 312 may include logon records, session logs, cookies, sensors, magnetic strips, network identity services, operating system identity services, applications, cameras, retinal scanners, passwords, algorithms, directories, lists, databases, or frameworks. The verification source 312 can be different on different networks, applications, and contexts depending on the actions that are being performed. The identity objects may further include verification types 314 which provide information about the nature of the verification source 312. The verification types provide additional ways to abstract the verification sources 312. This enables the network 106 to define dependent actions based on verification types 314, rather than only being able to access the sources themselves. For example, an identity object 112 may be designated as having a verification type of “requiring network services.” Depending on the context in which the identity object 112 is operating, the network 106 can quickly determine if it can perform that type of verification. Other types of verification may be based on security level, application functionality, standards, technologies, or other standard questions such as who, what, where, why, how it runs.
Because identity objects represent a real world objects that have been verified to exist (in a given context), and thus may be granted certain privileges in the network based on these verifications, the verification data 312 and 314 provides a basis for which other objects in the network 106 may grant privileges.
Referring now to
To further illustrate, an example of how a specific identity object 112(1) may communicate with other data objects 109 within the network 106 is provided in
In some embodiments, the user is able to define how its identity object will communicate with the network 106 based depending on the context. Thus, for the contexts shown in
The contexts 114 defined for objects may also govern how two objects communicate through the network 106.
Within the network 106 are various contexts 114. Relationships may be provided using various contexts. As used herein, a relationship describes if two objects communicate, and if so, how two objects communicate. The relationship may further define the information that can be communicated. The relationship may further define how or in what form an object receives the information. In certain ones of the contexts (CONTEXT1 and CONTEXT4, for example), the “MIKE” data object 109(a) communicates with the “MEGAN” data object 109(a) via the network 106. In other contexts, however, the two data objects do not communicate. There can be various reasons why the objects do not communicate in certain contexts. For example, the “MIKE” data object 109(a) may have set its context to “PRIVATE” so that he is not visible to any other network objects. In such a situation (as is shown with CONTEXT2 in the drawing), the “MIKE” data object 109(a) will still connect with the network 106, but the “MEGAN” object is not able to communicate with “MIKE” while in that context. Similarly, there may be contexts (such as CONTEXT3, for example) where “MIKE” 109(a) cannot communicate with “MEGAN” 109(b) through the network based on a context set by Megan. Thus, the use of context 114 allows network objects 109 to control how they interact with the network 106, and further control how the network is able to interact with them.
In one particular embodiment, the network 106 allows a context 114 to be defined for a person as they shop for products. Based on this context 114 various entities and identities within the supply chain may be allowed to communicate with the person based on rules defined by that person for the specific context.
Within the retailer premises 718 may be one or more items of interest 704 which the person 102 wishes to possibly purchase. These items may be specified by the person 102 within the context 114, or they may be determined by the network 106 based on previous business transactions may be the person 102 within the network 106. Also located at the retailer premises is a point of sale (POS) system 706. The POS system 706 may be connected to the network 106, or it may be connected to some other computing device with connects directly to the network 106.
Also connected to the network 106 may be a manufacturer 701. The manufacturer 701 may be a network object 109 such as an entity 110 or an identity 112. The manufacturer 701 may include a coupon system 703 which is configured to send coupons to mobile devices such as 104(a) for the purchase of items provided by the manufacturer through the retailer 718. The coupon system 703 may be configured to provide general coupons for all of the manufacturer products, or it may be configured to provide coupons for specific products sold at the retailer 718.
As noted above, context 114 for a network object 109 such as the mobile phone 104(a) may be set based on a user's location.
As noted above in connection with
If at decision step 904, the person associated with the mobile device identity object does in fact allow the manufacturer 701 to see the mobile device in the current context 114, the process moves to another decision block 906. At decision block 906 the system checks to see if the user 102 has indicated an item of interest. For example, this indication may be from an input into the device. Alternatively, the device may detect the presence of the item of interest via REID or some other signal emitted by a device. If the user indicates an item of interest, the process moves to block 910 where the manufacturer receives notification of the item of interest and in response the coupon system 703 of the manufacturer 701 sends a coupon to the mobile device 104(a). If the user does not indicate an item of interest at decision block 906, the process instead moves to block 908 where the coupon system 703 sends coupons for selected item(s) which are available at the retailer location 718 to the mobile device coupon system.
From either block 908 or 910, the process moves then to block 912 where the mobile device 104(a) accesses the point of sale system 706 to deliver the coupon to the retailer. Typically this will occur when the user 102 has made a purchasing decision and arrives at the point of sale. Once the coupon has been delivered to the POS system 706, at block 914 the network registers the transaction and associates the transaction the mobile device identity and the other parties involved in the transaction. After the transaction has been registered in the network, the process then moves to block 915 where the network provides an interface to allow the customer to define how they would like future communication from the manufacturer regarding the purchased product.
As noted above, in block 914, the network 106 registers the transaction and associates the transaction with the parties involved. Storing information about the transaction allows details about the transaction to be shared throughout the supply chain. In some embodiments, the system allows the purchaser 102 and manufacturer 701 to develop a framework for future network communications regarding the purchase. For example, the user may specify a set of contexts 114 in which it would be appropriate for the manufacturer to communicate with the user 102 via the network 106.
Referring now to
Next, the process moves to decision block 1004 where the user 102 decides whether they want to receive products updates from the manufacturer 701 via the network 106 for the purchase. If the user 102 chooses not to accept further communication, then the process moves to block 1008 where the user 102 can defer the decision until a later time or they may decide not to receive updates at all. If at decision block 1004 the user 102 chooses to continue receiving product updates, the process moves to block 1008 where the user 102 selects the types of information for which updates are desired. These types of information may include product warranty information, product upgrade information, product recall information, or some other information related to a purchased product.
Once the user 102 has made their selection, the process moves to block 1010 where the network sets the sharing status between the user and the manufacturer based on the agreed to framework. The sharing status may be based on a set of temporary keys which are defined in the network 106 based on the context 114 of the transaction as it relates to each of the participating entities 110. The temporary keys are used to log the transaction details for a limited period of time. Once the sharing status is set, the process then moves to block 1012. There, the network 106 adjusts appropriate keys in the network so that the certain portions of the transaction become shielded from the participants.
Once the keys have been set, the process then moves to block 1014 where the network 106 stores the adjusted keys and the data associated with the adjusted keys. This process allows the network 106 to have future access to the transaction records so that they are accessible, if necessary, in the future. The process then continues to block 1016 where the network updates the data objects 109 representing each transaction participant with data related to the purchase event.
EXAMPLES User Changes AddressAs noted previously, existing network technologies do not handle situations in which a person moves their home. In one embodiment, the network system described herein provides these services with minimal disruption and inconvenience to the user and the organizational entities associated with the user. Referring now to
The process begins at block 1 100 where the user connected to the network 106 as an verified identity object 112 sends a message to the network 106 indicating that they want to move their home address to a new location. Next, at block 1102, the network 106 generates a checklist of other objects (both entities 110 and identities 112) which share address data with the identity object 112 of the user. This list may include objects representing businesses such as a bakery, a hair salon, a bank, a pizzeria, the local DMV branch, and a retail store such as “Best Buy”. In addition, the system may retrieve information from other companies that have done business with the user, and shared their address information, such as manufacturers “Sony” or “Microsoft” by way of previous transactions recorded in the network 106.
Next, the process moves to block 1104 wherein the network 106 categorizes each of the objects in the generated list according to the context of their interactions with the user object 112. For example, the bakery and hair salon may be categorized as “local” object. As a result, if the user moves far away, these objects may no longer be relevant because the user does not live near them. Other listed objects may be categorized as “branch” objects. Although the user's interaction with these objects is local (e.g., within a geographic proximity to their current address), the nature of the business represented by the “branch” object means that their may be a branch for that business in the new address location. Other objects may be categorized as “global” objects. These objects may represent those organizations which are national or global in nature, such that the user's interactions with them are not dependent on their home location. It should be noted that for each of the objects identified by the network, the user object may store an address for a business, and the business may store an address for the user. For the local and branch objects, both stored addresses may need to be updated, while for the global objects, only the address associated with the user may change.
Once the objects have been categorized, the process moves to block 1106 where the local objects are notified that the user is moving. These notifications may take the form of an automated phone call made by the network 106 or some other electronic communication sent to the object representing each of the local businesses. Next, at block 1108, the network may offer the user the opportunity to select new local objects to replace the old local objects. For example, the network may suggest a new bakery to add to the user's profile which is located near their new address. Next, at block 1110, the network 106 determines if there are branch locations for the branch objects near the user's new address. If branch locations are found in the network 106, these objects are updated accordingly to reflect their new local addresses in relation to the new address for the user.
The process then moves to block 1112 where the network 106 notifies each of the identified objects of the change in the user's address. This, of course depends on whether the user shares their home address data with any or all of the listed objects. These updates may be propagated through the use of secure messaging (in the case of a bank branch, for example), an automated phone call (in the case of a pizzeria branch, for example), an e-mail, via a defined API within the network 106, or some other communication.
It will be understood by those of skill in the art that numerous and various modifications can be made without departing from the spirit of the present invention. Therefore, it should be clearly understood that the forms of the invention are illustrative only and are not intended to limit the scope of the invention.
Claims
1. A computer-implemented method of providing a context-sensitive coupon to an entity that is connected to a digital network, the method comprising:
- receiving a message indicative of a first entity's presence in a location;
- selecting a shopping context for the first entity based at least in part on the location;
- determining the first entity's relationship with other entities related to the location based on the selected shopping context; and
- sending the context-sensitive coupon from at least one of the other entities to the first entity based on the first entity's relationship with the at least one of the other entities and the selected shopping context.
2. The computer-implemented method of claim 1, wherein the location is a retail location.
3. The computer-implemented method of claim 1, wherein the location is a location within in a vicinity of a retail location.
4. The computer-implemented method of claim 1, wherein the first entity comprises a potential purchaser of an item.
5. The computer-implemented method of claim 1, wherein the first entity comprises a mobile device of a potential purchaser of an item.
6. The computer-implemented method of claim 5, wherein the mobile coupon is for the purchase of an item provided by at least one of the other entities.
7. The computer-implemented method of claim 6, wherein at least one of the other entities is a manufacturer of the goods.
8. She computer-implemented method of claim 7, wherein determining the first entity's relationship with the manufacturer of the goods comprises determining whether the first entity has granted permission for the manufacturer to communicate with the first entity in the selected shopping context.
9. The computer-implemented method of claim 6, wherein at least one of the other entities is a distributor of the goods.
10. The computer-implemented method of claim 1 further comprising identifying an item of interest, and wherein the context-sensitive coupon is related to the identified item of interest.
11. The computer-implemented method of claim 10, wherein the identification of the item of interest is further based on the user remaining in the location of the item for a predetermined period of time.
12. The method of claim 1, wherein selecting a shopping context comprises receiving data from a computing device indicative of a user input selecting the shopping context.
13. The method of claim 12, wherein the computing device is a mobile phone of a user, and the user input comprises a selection of an interface element from a menu of available contexts in a display of the mobile phone.
14. The method of claim 13, wherein at least some of the available contexts are user-defined contexts.
15. A system for providing context-sensitive information about a product to a mobile device in a computer network, the system comprising:
- a first module configured to store information indicative of a sale of the product to a first entity;
- a second module configured to receive information from the first entity indicative of the relationship between the first entity and a second entity associated with the product; and
- a communication link between the first entity and the second entity based on the relationship, wherein the second entity communicates information associated with the product to the first entity.
16. The system of claim 15, wherein the information indicative of a sale of a product is received from a point of sale system.
17. The system of claim 15, wherein the second entity is the manufacturer of the product.
18. The system of claim 15, wherein the second entity is the seller of the product.
19. The system of claim 15, wherein the information associated with the product includes product warranty information, product upgrade information or product recall information.
20. A computer-implemented method of providing a coupon in a digital network, the method comprising:
- receiving a message indicative of the location of a purchaser;
- selecting a context for the purchaser based on the indicated location;
- identifying manufacturers of products that are sold in the location; and
- sending a coupon to the purchaser for products that are sold in the location.
21. The computer-implemented method of claim 20, wherein the coupon is sent by the manufacturer.
22. The computer-implemented method of claim 21, further comprising receiving data indicative of a purchase by the purchaser of products made by the identified manufacturers.
23. The computer-implemented method of claim 22, wherein the content of the coupon sent to the purchased is determined based on the products purchased by the purchaser.
24. The computer-implemented method of claim 20, wherein the context is further based on a shopping profile defined for the purchaser.
25. The computer-implemented method of claim 24, wherein the defined shopping profile is based on prior purchases made by the purchaser.
Type: Application
Filed: Oct 8, 2007
Publication Date: Nov 13, 2008
Inventor: Michael Kirkwood (San Diego, CA)
Application Number: 11/868,826
International Classification: G06Q 30/00 (20060101); G06Q 20/00 (20060101);