Automatic Identification and Data Capture (AIDC) refers to the methods of automatically identifying objects, collecting data about them, and entering that data directly into computer systems (i.e. without human involvement). Technologies typically considered as part of AIDC include bar codes, Radio Frequency Identification (RFID), biometrics, magnetic stripes, Optical Character Recognition (OCR), smart cards, and voice recognition. AIDC is the process or means of obtaining external data, particularly through analysis of images, sounds or videos. To capture data, a transducer is employed which converts the actual image or a sound into a digital file. The file is then stored and at a later time it can be analyzed by a computer, or compared with other files in a database to verify identity or to provide authorization to enter a secured system. Capturing of data can be done in various ways; the best method depends on the application.
A system that 1) associates the unique identification symbology (UID) of barcodes and RFID tags to a server that associates the UID with one or more web based applications; 2) registers account and identification information of users and their wireless communication devices, capable of reading the barcodes and RFIDs; 3) upon the user reading the barcode or tag UID with their wireless communication device, the wireless communication device automatically sends the UID, device/user ID to a server that performs an operation authenticate the user's permissions and account information needed to sign in to web based application(s) with the web based applications assigned to the UID, and 4) if the user's account supports access to such web applications, the server authorizes and requests the web based applications to automatically execute workflow on behalf of the user with no further human intervention (unless otherwise required by the web based application.) The web based applications are remotely executed from the server by a third party private sector enterprise or public sector entity or, for personal use, the user who associates their own web based application. The server operation utilizes function calls such as private or public Application Program Interfaces to authorize and request web based applications. UIDs for barcodes and tags are registered on the server and associated with calls to web based applications. Prior to reading tags or barcodes, the user registers their wireless communication device and user identification (device/user ID) to a server. For example, the user can register with a social network single sign on credential and email address. After registration, the user has the option to access their account to manage additional personal identification information and rules associated with web based applications. The user may also register one or more wireless communication device to their account. After registering the device/user ID to the server, the user is able to wake an application on the wireless communication device to read a tag or barcode with a gesture; no further user action is required. The wireless communication device application may continue to run in the background for additional tag and barcode reading with a gesture. The tag or barcode is visually and/or audibly presented in a manner that the user is able to identify that an operation will result upon reading the barcode or tag with their wireless communication device. Upon reading the tag or barcode identification from a tag or a barcode, the wireless communication device forwards the tag or barcode UID along with all or a unique portion of the device/user ID to a remote server. The server is part of a remote service that receives the both the tag or barcode UID and the device/user ID, looks up the web based application associated with the UID, authenticates the user permissions allow access to the web based application and requests the application to perform a workflow or service on behalf of the user. Upon user authentication and request, the web based application is able to perform a service for the user without any further human intervention. The web-based application may call upon a computing device, system or third party to further interact with the user at that time or later through various endpoints, including but not limited to the user's various Internet connected devices, including but not limited to the registered wireless communication device, or an alternative third party device accessible to the user. The tag or barcode may also be associated with multiple web based applications. Service providers or others who manages the tag or barcode can dynamically modify the web-based applications associated with the tag or bar code in real time.
The accompanying drawings, which are incorporated in and form a part of this application, illustrate embodiments of the present invention, and together with the description, serve to explain the principles of the invention. Unless noted, the drawings referred to in this description should be understood as not being drawn to scale.
Reference will now be made in detail to various embodiments, examples of which are illustrated in the accompanying drawings. While the subject matter will be described in conjunction with these embodiments, it will be understood that they are not intended to limit the subject matter to these embodiments. Furthermore, in the following description, numerous specific details are set forth in order to provide a thorough understanding of the subject matter. In other instances, conventional methods, procedures, objects, and circuits have not been described in detail as not to unnecessarily obscure aspects of the subject matter.
Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present Description of Embodiments, discussions utilizing terms such as “receiving,” “sending,” “performing,” “transmitting,” “authorizing,” “requesting,” or the like, refer to the actions and processes of a computer system or similar electronic computing device (or portion thereof) such as, but not limited to: an electronic control module, a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), and/or a management system (or portion thereof). The electronic computing device manipulates and transforms data represented as physical (electronic) quantities within the electronic computing device's processors, registers, and/or memories into other data similarly represented as physical quantities within the electronic computing device's memories, registers and/or other such information storage, processing, transmission, or/or display components of the electronic computing device or other electronic computing device(s).
Example techniques, devices, systems, and methods for automated web based applications with a wireless communication device are described herein. Discussion begins with a high level description of a wireless communication device. Example web servers are then described. Discussion continues example procedures to activate a wireless communication device. Web based applications are then described. Next, example methods of use are described. Lastly, an example computer environment is described.
AIDC, as discussed in the background, refers to the methods of recognizing objects, getting information about them and entering that data or feeding it directly into computer systems without any human involvement. Automatic identification and data capture technologies include one dimensional barcodes, two dimensional barcodes, Radio Frequency Identification (RFID), Near Field Communications (NFC), barcodes, Optical Character Recognition (OCR), magnetic stripes, smart cards and biometrics (like iris, audio, fingerprint and facial recognition system). Typically barcodes and RFID tags use Universal Product Codes, Electronic Product Codes, and other data to allow a computer system to look up information about the product or object stored in a database. Typically, barcodes and RFID are used to accurately manage the supply, sales and support of products. Today, consumers with smartphones open up an application, scan one-dimensional (1D) barcodes on consumer package goods to retrieve product information or competitive pricing from various retailers. Today, consumers with smartphones scan two-dimensional (2D) barcodes (also known as matrix codes) to decode a phone number, text message, contact information or URL which they can then use to interact with a related application like a dialer, messenger, contact list or web browser. Today, consumers with NFC phones can upload data stored in the memory of an RFID tag such as a web site URL, product information and multi-media files. Today, consumers with NFC phones, NFC cards or RFID cards can touch an active NFC terminal at the point of sale to securely share their payment credentials with the retailer's payment system to complete a credit card transaction. The same consumers can also share their account information by touching their NFC phone to other active NFC readers to exchange files and access venues with tickets or other credentials. Typically, NFC devices and RFID cards are associated with a single or limited number of credentials authorized by the issuer of the NFC device or RFID tag.
In some embodiments, wireless communication device 110 is not a stand-alone device. In some embodiments wireless communication device 110 is a cell phone or smart phone. In some embodiments wireless communication device 110 is a card that fits into a wallet. In some embodiments wireless communication device 110 is a badge. In some embodiments wireless communication device 110 is a wearable accessory, such as a bracelet or watch. In some embodiments wireless communication device 110 is module that fits in a shoe. In some embodiments wireless communication device 110 is a device that clips to the clothing of a user 130. In some embodiments wireless communication device 110 has no clip and fits in a pocket or bag.
In some embodiments label 120 is various types of barcodes or other scannable codes in print media. In some embodiments label 120 is an image or word. When the label 120 is a barcode, the wireless communication device 110 uses barcode scanner 210 to scan the barcode.
In some embodiments label 120 is an RFID tag. When the label 120 is an RFID tag, wireless communication device 110 uses RFID reader 220 to receive data from the RFID tag/label 120. In some embodiments label 120 communicates with wireless communication device 110 via the Near Field Communication standard. In some embodiments label 120 communicates with wireless communication device 110 via the ultra-high frequency band (UHF). When label 120 communicates using near field communication, the wireless communication device 110 must come in close proximity (e.g., within a few centimeters) or touch/tap label 120 to receive the data contained in the tag. It should be understood that touch and tap, as used herein are synonymous. When label 120 communicates via UHF, the RFID tag/label 120 can be read at further distances than when label 120 communicates via near field communication.
After reading a label 120, wireless communication device 110 sends data to server 150 via wireless transceiver 230. In some embodiments, wireless transceiver 230 may transmit and receive signals. In some embodiments wireless transceiver 230 only sends signals and does not receive signals. In some embodiments, transceiver 230 receives signals to update the software and/or firmware of wireless communication device 110.
In some embodiments, after or in parallel to reading a label 120 wireless communication device 110 receives location information via GPS receiver 240, the WWAN transceiver or WLAN transceiver. In some embodiments wireless communication device 110 sends location information to server 150.
After reading a label 120, wireless communication device 110 sends data to server 150 including, but not limited to: a user/account identification (UID), data read from label 120. Wireless communication device 110 may also send data to server 150 one or more of the following data: location information, accelerometer data, and data from processor 250 after processor 250 has performed various operations data received from label 120. In some embodiments, after reading label 120 wireless communication device 110 sends a UID and the data read from label 120 to server 150.
As discussed above,
In some embodiments user 130 may set up an account on server 150 to customize the operations server 150 performs in response to data sent from their wireless communication device 110. For example, user 130 may add network logins, single sign on credentials, email accounts, financial accounts, membership accounts, loyalty cards, rewards program accounts, physical mailing addresses, health information and other personal identification information. For example, a user 130 may program their account so that it can create notifications for certain transactions, limit access to personal information, limit sharing information to certain accounts, prioritize credit card numbers to be accessed, create notifications for certain transactions, and block purchase of certain goods such as fast food.
For the purposes of this disclosure, server 150 may be a single server, a server cluster, distributed clusters, a cloud, etc. Server 150 comprises at least one application that receives data from wireless communication device 110 and performs operations based on the data. In some embodiments, an application in server 150 comprises a look-up table such that when data is received from wireless communication device 110, the application finds within the look up table at least one operation associated with the tag or barcode to perform.
In some embodiments, server 150 comprises the personal information of user 130. This allows wireless communication device 110 to send a UID and perform operations without additional user input. For example, server 150 may store the usernames and passwords belonging to user 130 so that server 150 may access a Facebook™, Twitter™, or LinkedIn™ account. Server 150 may also store credit card, debit card, and/or bank account information such that user 130 may purchase goods and services with wireless communication device 110.
Server 150 may perform a plurality of operations after it receives data from wireless communication device 110. These examples are not meant to limit the operations server 150 may perform. Instead, they are meant to provide a thorough understanding of the subject matter. In some embodiments, server 150 may authorize a web based application to post on the Facebook™, Google Plus™, and/or LinkedIn™ wall of user 130. In some embodiments, server 150 may authorize a web based application to post a video and/or “Like” something on Facebook™. In some embodiments server 150 may authorize a web based application to “check-in” on Foursquare™ and/or Facebook™. In some embodiments server 150 may authorize a web based application to “pin” something to the Pinterest™ board of user 130. Further, server 150 may authorize a web based application or trusted service manager to charge the credit card or bank account of user 130 in some embodiments. In some embodiments server 150 may authorize a web based application, SMS gateway, or email service to send an SMS or an email to user 130. In some embodiments, when a user 130 checks in at a location an SMS, email or social network message may be sent to a computing device of user 130 or someone else. In some embodiments, server 150 may authorize a web based application to deliver coupons to a user 130. In some embodiments, server 150 may request a web based application to cue a multi-media experience in a venue user 130 is visiting. In some embodiments, server 150 may authorize a web based application to notify a venue to grant user 130 access to common areas, restricted areas or a specific seat location. In some embodiments, server 150 may authorize a web based application to deliver multi-media content to the user 130′s email account, social network accounts, online storage account or multimedia accounts, such as, but not limited to, iTunes™, XBOX Live™, Netflix™, and YouTube™. In some embodiments, server 150 may authorize a publisher to deliver content and promotions to the email and social network accounts of user 130 on behalf of an advertiser. In some embodiments, server 150 may pass additional identification information stored in user 130's account to an IT system to login or provide secondary identification in a login process to a computer session or web based application. In some embodiments, server 150 may authorize and/or request one or more business entity servers to execute one or more web based applications or other services on behalf of user 130. In some embodiments server 150 may perform a plurality of these operations. In some embodiments server 150 may provide analytics on the traffic patterns across a plurality of tags and barcodes cross referenced with a plurality of user and a plurality of web based applications. In some embodiments server 150 may process, deliver or request analytics on Internet traffic patterns, various real world traffic patterns, mobile network traffic, supply chain, marketing, services, sales, trends, forecasts, demographics and population behaviors. In some embodiments, server 150 may modify the operation associated with a tag or barcode based upon rules provided to server 150 in associated with the registered tag or barcode. In some embodiments, server 150 may modify the operation associated with the tag or barcode based upon user behavior, traffic patterns, metrics, analytics, trends, or other monitored data processed or received. For example, server 150 can suspend a user 130 account if a tag is scanned in a location that is outside of defined radius of the last tag scanned for that account. For example, server 150 can authorize a web based application to reward a user 130 based upon the frequency of user 130 scan certain branded tags. For example, server 150 can modify the operation associated with a plurality of tags managed by a consumer based upon trends or events in an ad campaign. For example, server 150 can provide information to brands of user trends across a plurality of barcodes and tags, so that brands can respond in their marketing campaigns which may or may not include management of tags and barcodes registered to server 150.
In some embodiments the server 150 may receive data which it does not recognize, or receive data which it cannot perform. In some embodiments, the wireless communication device 110 comprises a light, voice, or sound that indicates that an operation was not completed. For example, if a user 130 uses their wireless communication device 110 to purchase an item and their credit card is not accepted or their bank account does not have sufficient funds the wireless communication device may make a particular sound or, if a display is available, display a message. In some embodiments, if a user 130 uses their wireless communication device 110 to scan a tag or barcode that is not registered to server 150, then server 150 may alert user 130 through sensory feedback on wireless communication device 110, through messages to a display, or log details about the event in a history file that user 130 can access through their account. For example, if user 130 scans a barcode encoded with a web site address URL rather than an identifier registered to server 150, then server 150 can store the web site address in user 130 account usage history so that, at a time of user 130's choosing, user 130 can access the URL through their usage history records. In this same example, sever 150 can request a web based application to alert the owner of the URL that an anonymous person scanned their Barcode. For example, if user 130 scans a bar code on a consumer packaged good, such as a bag of chips, that is not registered to server 150, then server 150 can access third party databases, if available, to retrieve information on the consumer packaged good and record it to the user 130 account usage history so that, at a time of user 130's choosing, user 130 can recall information on the consumer packaged good through their usage history records. In the two aforementioned examples, sever 150 can request a web based application to alert the owner of the URL or consumer packaged good that an anonymous person or user 130, to the extent user 130 and server 150 business rules authorizes user 130 profile to be shared, scanned the barcode not registered to server 150.
In some embodiments, once wireless communication device 110 is activated, it will automatically scan an identifying code from a tag 120 (in the case of a barcode) or read an identification from a label 120 (in the case of an RFID tag), send data to server 150, and server 150 will perform at least one corresponding operation. In some embodiments, neither additional input nor additional action is required by user 130 for server 150 to perform at least one corresponding operation. Note that the term activate, as used in various embodiments herein, refers to activating the input devices within wireless communication device 110 such that they automatically receive data and send data to server 150. In an embodiment, wireless communication device 110 is already powered on (e.g., in resting mode), but is not activated such that it is receiving data.
For example, after wireless communication device 110 is activated, user 130 may simply tap a tag 120 with communication device 110 to purchase the item attached to label 120. A single tap is similar to a “one-click” button used in websites. In some embodiments, user 130 does not need to perform any action other than tapping label 120 with wireless communication device 110 to purchase the item. In some embodiments, no additional input is required from user 130 for server 150 to perform the corresponding operation. In some embodiments the workflow is reduced since a user 130 does not need to perform as many actions.
In some embodiments, user 130 gestures to activate wireless communication device 110. Gestures may include, but are not limited to: pressing a button 280 on wireless communication device 110, moving wireless communication device 110, speaking, waving an object in front of wireless communication device 110, etc.
In one embodiment, user 130 presses a button 200 to activate wireless communication device 110. In some embodiments the button 200 may be a physical button 200. In other embodiments the button 200 may be on a touch screen (e.g., when wireless communication device is a smart phone).
In one embodiment, wireless communication device 110 is activated when it is moved. In other words, in some embodiments wireless communication device is activated when it changes from an immobile state to a mobile state. In some embodiments, accelerometer 270 detects when wireless communication device 110 moves.
In one embodiment, wireless communication device 110 is activated when user 130 speaks. In some embodiments microphone 260 allows wireless communication device 110 to capture sound. In some embodiments wireless communication device 110 is programmed to recognize the voice of user 130. In some embodiments, a user 130 may say a specific word to activate wireless communication device 110. For example, user 130 may say “activate wireless communication device” to activate wireless communication device 110. In some embodiments the user may simply say “activate.” These are meant to be examples, and the spoken command to activate wireless communication device 110 may be anything.
In some embodiments, user 110 may program wireless communication device 110 such that it activates to a particular spoken command or a plurality of spoken commands. In some embodiments, a particular spoken command may activate wireless communication device 110 such that only particular operations may be performed by server 150. For example, wireless communications device 110 may receive a spoken command such that processor 250 sends data to server 150 indicating that only particular operations may be performed. For example, if the spoken command is “Like,” the user 130 may only use wireless communication device to “Like” something on Facebook™ and user 130 may not use wireless communication device 110 to purchase anything.
The following scenarios and applications are not meant to limit embodiments. Instead, they are meant to provide a thorough understanding of the subject matter.
In some embodiments, label 120 is attached to a poster of a musician. If user 130 taps the poster, in one embodiment, the user will “Like” the musician on Facebook™. In another embodiment, the user will download the album the poster is advertising. In one embodiment, the label 120 may cause the user to download the music playing in location 310. For example, if a user 130 likes the music playing in a store/location 310 and wants to download the music playing in that store, they may tap a label 120 allowing them to download the music playing in the store. Codes on TV, billboards, buses, magazines, or projected on walls may also be read by wireless communications device 110.
In some embodiments, a user may program an account to instruct server 150 as to where to download data. For instance, a user 130 may configure their account to download data (e.g., music, movies, etc.) to their personal computer, smart phone, or media player.
In one embodiment, a user 130 may have to tap a label 120 to check in or out of work. If the label 120 communicates via UHF, a user 130 could merely walk by label 120.
As shown
As discussed herein, in some embodiments, wireless communication device 110 sends more data to server 150 than the data on the label 120 and the UID. In one embodiment the wireless communication device 110 tracks movement throughout a day. In some embodiments the movement is detected by accelerometer 270. In some embodiments the wireless communication device 110 sends the amount of movement to server 150. In one embodiment the wireless communication device 110 is attached to a runner before a race such that the wireless communication device 110 reads labels 120 along a route.
In one embodiment, a bracelet/band keeps track of how much a user 130 moves in a day. In one embodiment, the band is a label 120. If the user 130 pairs the band to a mobile wireless communication device 110, the data may be uploaded to server 150.
In one embodiment a delivery menu for a restaurant comprises labels 120. Rather than call the restaurant, a user 130 may simply order by tapping items on the delivery menu.
In some embodiments, wireless communication devices 110 are wearable. A wireless communication device 110 may be attached to or implanted in clothes and jewelry including, but not limited to: bracelets, necklaces, shoes, shirts, pants, hats, dresses, hospital gowns, scrubs, work clothing, etc.
With reference to
Although specific procedures are disclosed in flow diagrams 600 and 700, such procedures are examples. That is, embodiments are well suited to performing various other operations or variations of the operations recited in the processes of flow diagrams 600 and 700. Likewise, in some embodiments, the operations in flow diagrams 600 and 700 may be performed in an order different than presented, not all of the operations described in one or more of these flow diagrams may be performed, and/or one or more additional operation may be added.
The following discussion sets forth in detail the operation of some example methods of operation of embodiments. With reference to
At operation 610, in one embodiment, a unique identification (UID) is read with the wireless communication device 11—such that the wireless communication device 110 receives a UID and performs all other subsequent operations performed by at least one device application without input from a user after the application to read the UID of the wireless communication device is activated. Activation may be performed as described above.
At operation 620, in one embodiment, A UID is transmitted to a remote server 150 such that the remote server 150 is wirelessly coupled to the wireless communication device 110 and such that the remote server 150 comprises an application configured to perform at least one operation on the data.
At operation 630, in one embodiment, user identification data is transmitted to the remote server 150 wherein the user identification is sent from the wireless communication device 110 and wherein the remote server 150 comprises a database comprising user accounts.
At operation 640, in one embodiment, the transmitted user identification and UID is received at the remote server wherein the remote server 150 looks up one or more web based applications 160 assigned to the UID and looks up user account information.
At operation 650, in one embodiment, the web based application 160 authorizes the user 130 access.
At operation 640, in one embodiment, the web based application 160 is requested to perform workflow with no further human intervention. Human intervention may include entering a password, providing a signature or the like.
At operation 710, in one embodiment, a unique identification is received at a server 150 from a wireless communication device 110, wherein the wireless communication device 110 received data from a remote source (e.g., a label 120).
At operation 720, in one embodiment, a user identification is received at the server 150 from the wireless communication device 110 wherein the user identification is stored on the wireless communication device 110, and wherein the wireless communication device 110 does not require input from a user 130 after the wireless communication device 110 is activated.
At operation 730, in one embodiment, at least one operation is performed based on the data received from the wireless communication device 110 at the server 150.
With reference now to
System 800 of
Referring still to
Referring still to
Example embodiments of the subject matter are thus described. Although various embodiments of the subject matter have been described in a language specific to structural features and/or methodological acts, it is to be understood that the appended claims are not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims and their equivalents.
This application claims priority to and benefit of co-pending U.S. patent application Ser. No. 61/495,812 filed on Jun. 10, 2011 entitled “AUTOMATING MOBILE APPLICATIONS ACTIVITIES VIA TAGGING” by James W. Pacyga, having Attorney Docket No. IOTA-004.PRO. This application claims priority to and benefit of co-pending U.S. Patent Application No. 61/498,820 filed on Jun. 20, 2011 entitled “AUTOMATING MOBILE APPLICATIONS ACTIVITIES VIA TAGGING” by James W. Pacyga, having Attorney Docket No. IOTA-004.PRO2.
Number | Date | Country | |
---|---|---|---|
61495812 | Jun 2011 | US | |
61498820 | Jun 2011 | US |