The present invention relates to storing and selectively sharing end-user information within a system of end users that remotely access a network having a hub site and provider sites.
Bar code scanning technology has been in use for quite some time. Such bar codes appear on most items encountered by consumers every day—from grocery items to driver's licenses. Other types of codes (such as private codes), and methods for acquiring such codes, have been and are continuing to be developed. Bar codes and other codes allow for fast and easy identification, tracking, and inventory of items as well as storage of data relating to such items. As bar codes have become a common and familiar part of the consumer experience, so has the use of web services and applications. Different types of web services and applications continue to grow in number and popularity.
Identifying ways of converging these two apparently disparate technologies to create a product that provides mobility, simplicity, accuracy, convenience and efficiency to web applications and services would enable companies to reduce costs (by replacing formerly manual tasks with bar coding technology), increase revenue (by offering barcode-enabled advertising alternatives that allow consumers to learn about products, prices, store locations etc.), increase productivity (by automating sales force tasks such as product ordering), and improve customer loyalty (by offering barcode related value-added services to customers).
The present invention provides systems and methods related to the convergence of bar code and other coding technologies and web-based applications and services, thereby fulfilling a need present in the prior art.
In particular, the present invention is directed to a system and method for storing and selectively sharing end-user information. A plurality of end-users remotely access a network having at least a hub site and a plurality of provider sites. A user-record corresponding to each end-user is stored in a profile database associated with the hub site. Each user-record includes public information that the end-user submits to the hub site and that the end-user expects will be shared with one or more of the providers without permission of the end-user; private information that the end-user submits to the hub site and that the end-user expects will not be shared with any of the providers without permission of the end-user; and a non-externally identifying symbol associated with the user-record that identifies the end-user on the network. In response to a first request signal containing the non-externally identifying symbol, the public information associated with the end-user is transmitted from the hub site to a provider without permission of the end-user. In response to a second request signal containing the non-externally identifying symbol, a permission request is transmitted from the hub site to the end-user. The private information associated with the end-user is transmitted from the hub site to the provider only if permission of the end-user is received in response to the permission request.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.
The accompanying drawings, which are included to provide further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention.
In the drawings:
Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
End users 500 may use a variety of different types of devices or acquisition technologies to obtain codes and communicate such codes to platform 100 or providers 600. For example, end users 500 may contact platform 100 by telephone 5 and input the codes by dialing or may speak the codes into the handset. This input is transmitted though voice gateway 2005 to Internet 50 and then to a voice response unit at platform 100 or at providers 600. End users 500 may also use a personal digital assistant 10 and transmit codes through wireless application protocol gateway 2010, to Internet 50, and then to platform 100 or providers 600. Alternatively, the end users 500 may use a portable wireless scanner, or a scanner tethered to end user client 15 to scan bar codes (e.g., public codes including EAN, UPC and JAN) or private codes. These codes can then be transmitted through the Internet 50 and uploaded to platform 100 by end user 500 using end user client 15. Other means of obtaining code information and transmitting it to platform 100 or providers 600 are known in the art and are within the scope of the present invention. The particular device used by end user 500 dictates the functionality of system 1000 that will be enabled. As discussed in more detail below, the device and its identifier govern aspects of access privileges and available functionality within system 1000.
End users 500, platform 100, and providers 600 may connect to each other through a variety of different types of links to form a network. For example, end users 500 may connect to platform 100 through the Internet 50, directly through link 51 and link 52, or by way of provider 600, though link 51, link 53 and link 54. In other embodiments, alternate configurations of the connections between end users 500, platform 100 and providers 600 are possible, will be known to those skilled in the art and are within the scope of the present invention. In some embodiments, one or more of the links between these various entities is wireless.
Providers 600, which include service providers and access providers, each host a provider site 601 accessible via the Internet 50. Providers 600 are organizations that presume to derive income from selling or making available items, materials or applications that they deem to be of value. Providers 600 provide applications/services that accept codes as inputs and are responsible for identifying codes that work with their application/service. Providers 600 are responsible for registration with and authentication to their community/applications/services.
The administrative relationship between access providers and services providers can be described with reference to
At least one interface 400 is disposed between platform 100 and the remainder of system 1000. Access to platform 100 is controlled through interfaces 400. In particular, for example, interfaces 400 monitor and provide security of communications between platform 100 and the remainder of the system 1000, as well as convert data transmitted to and from platform 100. Thus, interfaces 400 are the external boundary of platform 100.
One or more interfaces 400, which provide the means by which providers 600 and end users 500 may access the information and functionality of platform 100, are expressed as SOAP-like envelopes with XML payload using HTTP transport of TCP/IP, in the preferred embodiment. All interface calls to the platform 100, in the preferred embodiment, require credentials and authentication. Also, in cases in which privacy is of concern, encryption may be employed.
Platform 100 performs a number of services that are not identified with any particular component. For example, platform 100 performs a rendering service 120 that enables output of data to end user 500 regardless of the class of device being used by end user 500. This is accomplished by making adjustments to support specific protocols and by making allowances for the physical display geometry and input mechanism of a particular device, through rendering interface 410. Thus, for example, end users 500 will be able to receive output from system 1000 that is appropriate for the particular device being used by end user 500 (i.e., PCs (large devices), web enabled phones (small devices), or PDAs (medium devices)). In the preferred embodiment, service providers are responsible for supplying appropriate output for each class of device in order to take advantage of the rendering services 120 of platform 100.
Session service 130 of platform 100 ensures continued user connection and authentication within a single application sign on. End users 500 using system 1000 navigate across disparate systems owned and run by different organizations and, thus, session service 130 is provided to ensure that the experience of the end user 500 is contiguous. Session service 130 defines the parameters passed from/to external services 650 to/from the platform 100 as an end user 500 passes from one to the other. These parameters may include the following: service identification; the end user identifier (e.g., the GUID described in more detail below); session echo data (i.e., information that the platform 100 has indicated it wants back from the external service 650 when the user returns to the platform 100); external echo data (i.e., information the external service 650 has indicated it wants from the platform 100 when the end user returns to the external service 650); a ticket associated with a list of codes; a time stamp; and a digest that is computed based on the values of the foregoing parameters.
Platform 100 also includes, in the preferred embodiment, decryption service 140. Decryption service 140 allows device-specific decryption of codes and other application data if required. In other embodiments of the present invention, the session, rendering and decryption functions could be carried out by one or more of the providers 600, rather than by platform 100.
In addition to the session, rendering and decryption services performed by platform 100, platform 100 is comprised of a number of different components, in the preferred embodiment. Each component stores particular information and has certain functionality. The functionality supported by the components of platform 100 can be grouped into four main categories, in the preferred embodiment: (1) processing of scans or other code inputs, which includes authenticating codes, devices, and users; uploading, retrieving and encrypting/decrypting codes; and mapping codes to services/applications; (2) managing code lists, which includes adding, removing and editing codes; and copying, cutting, pasting, and clearing lists of codes; (3) administrating codes and associated services/applications, which includes buying and retiring codes; and restricting/gaining access to codes; and (4) monitoring events and usage, which includes monitoring event mechanisms and accessing scan/code input histories for each user and each device.
Providers 600 and end users 500 may access and use the components of platform 100 via a hub site 101, maintained on the Internet by platform 100, using graphical user interfaces (“GUIs”) 200. For example, end user GUI 210 is a generic interface through which end users 500 gain access to the information and functionality of platform 100. In some embodiments, the end user GUI 210 may be customized for particular providers 600. In the preferred embodiment, end user context component 104, code profile component 108, event/alert component 103, usage component 106, scan cache component 107 and directory component 105 may be accessed through end user GUI 210.
Code manager GUI 220 can be used by providers 600 to set up and edit services/applications 650; register and issue private codes; create and edit code lists (e.g., a list of codes and their associated data, such as descriptions, used to link the codes to particular URLs of services/applications 650); and assign context to services, such as locale-specific display, display language, and output device channel (e.g., small for mobile phone browser, medium for PDA browser and large for PC browser). Code catalog component 109, directory component 105, and billing component 102 may be accessed by code manager GUI 220, in the preferred embodiment.
Account manager GUI 230 allows for the set up of various business relationships with providers 600. In the preferred embodiment, billing component 102 may be accessed through account manager GUI 230.
The following describes the content and functionality of each component of the platform 100 in a preferred embodiment of the present invention. Additional or less information and/or functionality may be included in the components described below in other embodiments within the scope of the present invention.
Billing component 102 of platform 100 facilitates invoicing and payment processing. Event/alert component 103 allows for storage of application and business events that should be actively managed to ensure the integrity of data stores and business flows. In particular, this component tracks end user 500 behaviors and provides the mechanism to initiate proactive actions based on the profile of the end user 500. For example, event/alert component 103 may identify potentially fraudulent behavior on behalf of an end-user 500 within system 1000 and proactively intervene. Usage component 106 is used to track usage of system 1000 by end users 500.
End user context component 104 manages communication between platform 100 and end users 500 as well as communication between platform 100 and providers 600. End user context component 104 serves as a container for current activities and associated history representing the dialogue between and among these entities. The information contained in end user context component 104 includes the following general categories of information: marketing information; outstanding issues (e.g., e-mail follow up items); action items (e.g., payments due, certificate lapse); activity log (including feedback to the end user 500 that a fulfillment action has been completed and activities initiated by others with respect to the end user); and activities initiated by the end user 500.
Directory component 105 contains profile information of end users 500 as well as device information. The device information may include the serial number identification of the device, the device type, device state (active or inactive), and identification of the access provider associated with the device (i.e., the owner). With reference to
Another category of information associated with the GUID 1055 and maintained in directory component 105 is private information 1052 that the end user 500 submits to the hub site 101 and expects will not be shared with any of the providers 600 without the permission of the end user. Such private information 1052 may include, for example, the first and last name of the end user 500, their address, telephone number, and marital status. Yet another category of information is provider preference information 1053. Like private information 1052, in the preferred embodiment, this information will not be provided to any provider 600 without permission of the end user 500. Provider preference information 1053 includes certain preferences of end user 500 for each service 650 offered by provider 600. For example, an end user 500 may indicate in his preference in connection with a grocery shopping service that he is allergic to certain types of foods or that he prefers certain other types of foods. In another example, an end user 500 may indicate to a provider that he has particular areas of interest (e.g., cooking, sports, fitness etc.) Provider preference information 1053 of one provider is not, in the preferred embodiment, shared with other providers.
Providers 600 may access directory component 105 (using code manager 220 as described in more detail above) to perform a variety of functions relating to devices and end users 500. In particular, a provider 600 can update, add or remove end user information or device information.
Returning again to
Returning again to
With reference to
The end user 500 may also employ a particular service/application that transforms a mere list into a useful structure. For example, the user may employ a grocery shopping service that takes a list of items that the user has scanned, along with the user's preferred grocery store, and provide the user with an aisle-by-aisle identification of where the user can find each of the items on his list.
Also associated with the group of codes in the preferred embodiment is a binary large object (“BLOB”) for the particular service/application 650 employed by the end user 500. The BLOB includes information that the particular service provider has indicated, on behalf of the end user 500, should be stored along with the group of codes (e.g., quantities of a particular desired item, sales promotions of which the user has taken advantage). In a preferred embodiment, the BLOB is not shared among providers and is only accessible by the particular provider that established it, in contrast to the annotation information which is visible and shared among providers.
Returning again to
Thus, upon uploading a list of scans/code inputs, code profile component 108 returns a unique alpha-numeric identifier (also referred to herein as a “ticket”) associated with the list and the URL of the service to which the ticket should be sent to obtain the service. Further, in response to a ticket supplied by an end user 500, code profile component 108 returns the available services and mappings for each code associated with the ticket.
Code catalog component 109 handles information, life cycle, and ownership properties for codes, services, and their respective mappings. In particular, code catalog component 109 allows for the linking of codes to services/applications 650. Code catalog component 109 allows for the creation of new services by providing parameters such as URL, title and description. The provider 600 may specify service contexts, as well as specify, and narrow, the items displayed to a user based on a particular code, alter the size of the content returned, and/or alter the starting point for the list of items returned to the user. For example, it may be specified that only end users 500 with a particular context be allowed to use a certain service (e.g. users that input codes via a cellular telephone may not be allowed to obtain access to information or services that include graphics). Code catalog component 109 also allows for the creation of operational accounts, which specifies ownership of services, lists, contexts, and private codes, as discussed in more detail with reference to
An access provider may use code catalog component 109 to express negative options as they relate to services provided by a competitor.
Content catalog component 111 serves as a repository and loading facility for product information. For example, content catalog component 111 may include two separate sets of product data: (1) a generic product title, description and categories that can be used by platform 100; and (2) vendor specific product data such as pricing, proprietary descriptions, and URLs. Content catalog component 111 is used to supply product information to code catalog component 109 that is too volatile or large to store in the code catalog component 109. Searching may also be performed in content catalog component 111 to, for example, obtain information relating to the manufacturer of a product associated with a particular code or key word. This component also accepts the input of a particular code or key word and returns a list of specific information associated with the code or key word. In some embodiments, this searching can be performed only by employees of the access provider while in other embodiments, end users 500 could be allowed access to these searching capabilities.
A more specific example is shown with reference to
Using the device, end user 500 may scan ten items and, subsequently, upload the codes associated with the scans using his personal computer to platform 100. In one embodiment, the codes are encrypted and, thus, the platform 100 must decrypt the codes. Upon decryption, the device identification number (from the device) and application identification number (from the software) 5000 are identified, along with the codes associated with the scans, as shown with reference to
With reference to
However, as shown with reference to
With reference to
With reference to
With reference to
With reference to
In the end user 500 experience illustrated with reference to
With reference to
In some embodiments, each user-record further includes financial information associated with the end-user. In this embodiment, in step 809, a third request signal containing the non-externally identifying symbol corresponding to the end-user is received. In step 810, a second permission request is transmitted in response to the third request signal from the hub site to the end user. In step 811, it is determined whether permission of the end-user is received in response to the second permission request. If not, in step 812, the financial information is not transmitted. As shown in
In other embodiments, each user-record further includes provider preference information associated with the end-user. As shown in
With reference to
With reference to
With reference to
With reference to
This application claims priority to U.S. Provisional Application No. 60/252,906 filed Nov. 27, 2000 and is a continuation-in-part of U.S. patent application Ser. No. 09/236,176 filed Jan. 25, 1999, now U.S. Pat. No. 6,448,979; Ser. No. 09/310,355 filed May 12, 1999, now abandoned; and Ser. No. 09/951,361 filed Sep. 13, 2001, now U.S. Pat. No. 6,546,418.
| Number | Name | Date | Kind |
|---|---|---|---|
| 4042113 | Duncan et al. | Aug 1977 | A |
| 4752675 | Zetmeir | Jun 1988 | A |
| 4797818 | Cotter | Jan 1989 | A |
| 4964043 | Galvin | Oct 1990 | A |
| 5122959 | Nathanson et al. | Jun 1992 | A |
| 5237157 | Kaplan | Aug 1993 | A |
| 5278396 | McGaha | Jan 1994 | A |
| 5434394 | Roach et al. | Jul 1995 | A |
| 5444444 | Ross | Aug 1995 | A |
| 5478989 | Shepley | Dec 1995 | A |
| 5496071 | Walsh | Mar 1996 | A |
| 5539635 | Larson, Jr. | Jul 1996 | A |
| 5583487 | Ackerman et al. | Dec 1996 | A |
| 5583994 | Rangan | Dec 1996 | A |
| 5611051 | Pirelli | Mar 1997 | A |
| 5624265 | Redford et al. | Apr 1997 | A |
| 5625776 | Johnson | Apr 1997 | A |
| 5630125 | Zellweger | May 1997 | A |
| 5640193 | Wellner | Jun 1997 | A |
| 5657222 | Randolf | Aug 1997 | A |
| 5664110 | Green et al. | Sep 1997 | A |
| 5694551 | Doyle et al. | Dec 1997 | A |
| 5696898 | Baker et al. | Dec 1997 | A |
| 5715314 | Payne | Feb 1998 | A |
| 5761499 | Sonderegger | Jun 1998 | A |
| 5794210 | Goldhaber et al. | Aug 1998 | A |
| 5804803 | Cragun et al. | Sep 1998 | A |
| 5825002 | Roslak | Oct 1998 | A |
| 5832457 | O'Brien et al. | Nov 1998 | A |
| 5848413 | Wolff | Dec 1998 | A |
| 5860068 | Cook | Jan 1999 | A |
| 5869819 | Knowles et al. | Feb 1999 | A |
| 5870552 | Dozier et al. | Feb 1999 | A |
| 5872588 | Aras et al. | Feb 1999 | A |
| 5890136 | Kipp | Mar 1999 | A |
| 5893910 | Martineau et al. | Apr 1999 | A |
| 5899700 | Williams et al. | May 1999 | A |
| 5905248 | Russell et al. | May 1999 | A |
| 5905251 | Knowles | May 1999 | A |
| 5907836 | Sumita et al. | May 1999 | A |
| 5913210 | Call | Jun 1999 | A |
| 5918211 | Sloan | Jun 1999 | A |
| 5930474 | Dunworth et al. | Jul 1999 | A |
| 5930768 | Hooban | Jul 1999 | A |
| 5933829 | Durst et al. | Aug 1999 | A |
| 5937404 | Csaszar et al. | Aug 1999 | A |
| 5938727 | Ikeda | Aug 1999 | A |
| 5940074 | Britt, Jr. et al. | Aug 1999 | A |
| 5940595 | Reber et al. | Aug 1999 | A |
| 5950173 | Perkowski | Sep 1999 | A |
| 5956483 | Grate et al. | Sep 1999 | A |
| 5957695 | Redford et al. | Sep 1999 | A |
| 5963916 | Kaplan | Oct 1999 | A |
| 5966440 | Hair | Oct 1999 | A |
| 5969324 | Reber | Oct 1999 | A |
| 5970469 | Scroggie et al. | Oct 1999 | A |
| 5974222 | Yuen et al. | Oct 1999 | A |
| 5978773 | Hudetz et al. | Nov 1999 | A |
| 5979757 | Tracey et al. | Nov 1999 | A |
| 5983199 | Kaneko | Nov 1999 | A |
| 5983221 | Christy | Nov 1999 | A |
| 5987440 | O'Neil et al. | Nov 1999 | A |
| 5991737 | Chen | Nov 1999 | A |
| 5992752 | Wilz, Sr. et al. | Nov 1999 | A |
| 5995105 | Reber et al. | Nov 1999 | A |
| 6006242 | Poole et al. | Dec 1999 | A |
| 6006252 | Wolfe | Dec 1999 | A |
| 6011949 | Shimomukai | Jan 2000 | A |
| 6012102 | Shachar | Jan 2000 | A |
| 6026375 | Hall et al. | Feb 2000 | A |
| 6027024 | Knowles | Feb 2000 | A |
| 6029141 | Bezos et al. | Feb 2000 | A |
| 6031621 | Binder | Feb 2000 | A |
| 6032130 | Alloul et al. | Feb 2000 | A |
| 6032195 | Reber et al. | Feb 2000 | A |
| 6034680 | Kessenich et al. | Mar 2000 | A |
| 6038552 | Fleischl et al. | Mar 2000 | A |
| 6045048 | Wilz, Sr. et al. | Apr 2000 | A |
| 6049835 | Gagnon | Apr 2000 | A |
| 6064979 | Perkowski | May 2000 | A |
| 6076733 | Wilz, Sr. | Jun 2000 | A |
| 6101483 | Petrovich et al. | Aug 2000 | A |
| 6123259 | Ogasawara | Sep 2000 | A |
| 6134548 | Gottsman et al. | Oct 2000 | A |
| 6137950 | Yuen | Oct 2000 | A |
| 6144848 | Walsh et al. | Nov 2000 | A |
| 6148331 | Parry | Nov 2000 | A |
| 6152369 | Wilz, Sr. | Nov 2000 | A |
| 6154738 | Call | Nov 2000 | A |
| 6160989 | Hendricks et al. | Dec 2000 | A |
| 6199048 | Hudetz et al. | Mar 2001 | B1 |
| 6202054 | Lawlor et al. | Mar 2001 | B1 |
| 6233682 | Fritsch | May 2001 | B1 |
| 6246997 | Cybul et al. | Jun 2001 | B1 |
| 6263313 | Milsted | Jul 2001 | B1 |
| 6311214 | Rhoads | Oct 2001 | B1 |
| 6356905 | Gershman et al. | Mar 2002 | B1 |
| 6384744 | Philyaw et al. | May 2002 | B1 |
| 6412695 | Reber | Jul 2002 | B1 |
| 6460036 | Herz | Oct 2002 | B1 |
| 6463585 | Hendricks et al. | Oct 2002 | B1 |
| 6484943 | Reber | Nov 2002 | B1 |
| 6529885 | Johnson | Mar 2003 | B1 |
| 6542933 | Durst, Jr. et al. | Apr 2003 | B1 |
| 20010011233 | Narayanaswami | Aug 2001 | A1 |
| 20010013011 | Day et al. | Aug 2001 | A1 |
| 20010014868 | Herz et al. | Aug 2001 | A1 |
| 20010027472 | Guan | Oct 2001 | A1 |
| 20010032251 | Rhoads et al. | Oct 2001 | A1 |
| 20020062261 | Mukai | May 2002 | A1 |
| 20030018468 | Johnson et al. | Jan 2003 | A1 |
| 20030019935 | Giannulli | Jan 2003 | A1 |
| 20030061060 | Tenorio | Mar 2003 | A1 |
| Number | Date | Country |
|---|---|---|
| 856812 | Aug 1998 | EP |
| 856812 | May 1999 | EP |
| WO 9526536 | Oct 1995 | WO |
| WO 9701137 | Sep 1997 | WO |
| 9820411 | May 1998 | WO |
| WO 9916060 | Jan 1999 | WO |
| WO 9917230 | Apr 1999 | WO |
| 0135410 | May 2001 | WO |
| 0244956 | Jun 2002 | WO |
| Number | Date | Country | |
|---|---|---|---|
| 20020032791 A1 | Mar 2002 | US |
| Number | Date | Country | |
|---|---|---|---|
| 60252906 | Nov 2000 | US |
| Number | Date | Country | |
|---|---|---|---|
| Parent | 09951361 | Sep 2001 | US |
| Child | 09971115 | US | |
| Parent | 09310355 | May 1999 | US |
| Child | 09951361 | US | |
| Parent | 09236176 | Jan 1999 | US |
| Child | 09310355 | US |