US20180137317A1 - Method and system that provides access to custom and interactive content from an optical code - Google Patents
Method and system that provides access to custom and interactive content from an optical code Download PDFInfo
- Publication number
- US20180137317A1 US20180137317A1 US15/813,692 US201715813692A US2018137317A1 US 20180137317 A1 US20180137317 A1 US 20180137317A1 US 201715813692 A US201715813692 A US 201715813692A US 2018137317 A1 US2018137317 A1 US 2018137317A1
- Authority
- US
- United States
- Prior art keywords
- data
- content
- code
- publisher
- user
- 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.)
- Granted
Links
- 230000003287 optical effect Effects 0.000 title claims abstract description 187
- 238000000034 method Methods 0.000 title claims abstract description 92
- 230000002452 interceptive effect Effects 0.000 title abstract description 23
- 230000009471 action Effects 0.000 claims abstract description 92
- 238000003384 imaging method Methods 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 40
- 230000006854 communication Effects 0.000 claims description 33
- 238000004891 communication Methods 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 19
- 230000003993 interaction Effects 0.000 claims description 15
- 230000003068 static effect Effects 0.000 claims description 6
- 230000003190 augmentative effect Effects 0.000 claims description 5
- 230000010354 integration Effects 0.000 claims description 5
- 230000007175 bidirectional communication Effects 0.000 claims description 3
- 239000008186 active pharmaceutical agent Substances 0.000 claims 2
- 238000000605 extraction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06Q10/00—Administration; Management
- G06Q10/02—Reservations, e.g. for tickets, services or events
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10712—Fixed beam scanning
- G06K7/10722—Photodetector array or CCD scanning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1413—1D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06Q10/00—Administration; Management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
Definitions
- the present invention relates to a method and system that provides a single user or concurrently provides multiple users with controlled access to custom and interactive content when using a portable computer and imaging device to scan an optical code published by the System.
- a barcode is a machine-readable optical label that contains information about the item to which it is attached.
- a QR code uses four standardized encoding modes to efficiently store data.
- a QR code consists of black squares arranged in a square grid on a white background, which can be read by an imaging device such as a camera, and processed using Reed-Solomon error correction until the image can be appropriately interpreted. The required data are then extracted from patterns that are present in both horizontal and vertical components of the image.
- the present invention when individuals snap a single optical code (e.g., QR Code) using a Mobile Device, at the time the snap occur, customized or different information can be provided to all individuals who snap the single Optical Code.
- a single optical code e.g., QR Code
- the present invention includes a method and system to provide a single user or concurrently provide multiple users controlled access to custom and interactive content when users of a portable computer and imaging device scan a “single” Optical Code.
- the present invention provides the method for users to access different content when users snap a picture of a single Optical Code.
- the System provides a single user or concurrently provides multiple users the ability to access different messages, information, instructions, software applications or programmed functions from the snap of a single Optical Code using a portable computer and imaging device.
- the present invention is uniquely designed to use an Optical Code to store a reference address (Unique Key) to programmed instructions.
- the present invention stores a Unique Key within the Optical Code used to look up programmed instructions.
- the present invention uses the snap of the camera on the portable computer and imaging device to initialize the programmed instructions associated with the Unique Key.
- the program instructions store the programs, commands, and rules to provide the same or different programmable functions, features or information to users. Rules are established within the programmed instructions to define the criteria for selecting users for certain programmable functions.
- the programmed instructions are triggered by a portable computer and imaging device (e.g., a Mobile Device like a smart phone) upon a user snapping a picture of an Optical Code.
- the System's algorithm is programmed to decode the Optical Code and retrieve the Unique Key to the programmed instructions within the Optical Code.
- the Application Server is programmed to automatically execute the program instructions in accordance with the programmed commands stored within the programmed instructions.
- the present invention executes the programmed instructions simply upon a user snapping a picture of the Optical Code with a portable computer and imaging device.
- the System provides a method by which a set of actions can be performed with the simple snap of the Optical Code using a portable computer and imaging device.
- the System provides the ability for users to immediately have access to information, menu selections, software applications and commands that grant access or deny access to things like electronic documents, appliances or secured facilities, as well as, programs to unlock or lock doors, buy and pay for products and services.
- the present invention provides methods for Publisher's or third party's software, mechanical and electrical devices to be integrated with the Application Server to provide controlled access to customized content.
- An example of an integration of the Application Server to provide customized content is the use of a vending machine where users upon a snap of an Optical Code can have Controlled Access to the vending machine to make selections and purchase products via the System.
- the System is capable of executing a set of actions (a command or series of commands) with a single scan using a portable computer and imaging device.
- the present invention utilizes various data sources, including GPS data to establish Controlled Access and Customized Content for each user.
- the present invention utilizes a unique method to facilitate the process required to provide a single user or concurrently provide multiple users Controlled Access to custom and interactive content when users of a portable computer and imaging device scan a “single” optical code.
- Optical Code Within the programmable instructions is the means to recognize the user based on identifying information like cell phone number and name.
- users' information is captured from the portable computer and imaging device for example cell phone number and current location. Additional user information is captured from the user's account profile.
- the Application Server matches and authenticates data to authorize a release of information or perform a programmed function. Rules are established within the programmed instructions to define the criteria for selecting users for certain programmable functions. For example, an Optical Code can be generated by the System and placed on a teacher or professor's desk, door, classroom wall or any place where the Optical Code can be clearly viewed. The teacher or professor has the ability, as the Publisher, to enter the student cell phone numbers, which is then saved into a database server.
- the System is programmed to create a record for each student using the cell phone number as the student's unique identifier along with other information like the student's name.
- the teacher or professor can enter the student grades within each student record.
- the students download the System app and register to use the System. Once the students are registered, the students are able to scan the System Optical Code published by the teacher or professor (the Publisher). Once the student snaps a picture of the published Optical Code using their Mobile Device, the System reads and recognizes the Unique Key to find the programmed instructions, which tells the System to get the cell phone number from the Mobile Device to identify the student.
- the System continues to follow the instructions and commands programmed in the programmed instructions.
- the programmed instructions provide instructions that authenticates the user's (student) cell phone along with the user's (student) profile information against the teacher or professor's (publisher) file that contains the student records. Once the student record is found and is matched using the student's cell phone number and name, captured from the student's Mobile Device and the System's saved user profile information, the System releases the test score and grade data to the student authenticated to receive the student record information. The data is displayed on the authorized student's Mobile Device, e.g., smart phone.
- the programmed instructions are programmable to find the student's cell phone number, name and other information to identify the student.
- the System authorizes the Mobile Device to provide the grades and test scores stored in the student record to only the student authorized based on the authentication process.
- the present invention's unique method allows a teacher or professor to generate a single Optical Code from the System, in which all students can snap the single Optical Code to get their grades, test scores and any other pertinent information stored in the student file.
- the present invention may provide a homeowner or renter the ability to use a single Optical Code posted on the homeowner or renter's front door to facilitate a phone call, text, conversation, video live streaming, or GPS location system when another individual outside of the front door snaps the Optical Code posted on the front door with a Mobile Device.
- the present invention provides the method and system to determine and retrieve data or content from the publisher and third party software applications, mechanical or electrical devices in order to facilitate software, telephonic, mechanical or electrical function when a user of a Mobile Device snaps a single Optical Code.
- the present invention may allow franchises, such as Chick-fil-A and McDonalds, to provide customized and interactive content that is accessible by their customers or targeted audiences from a single Optical Code.
- the present invention provides the method and system so that an unlimited number of users can be concurrently provided unique, customized and interactive content when users snap a single Optical Code with a Mobile Device.
- a unique Optical Code could be placed on a table or any location.
- the restaurant food menu will display in a different language based on the user's data, the table location could immediately be identified based on the specific Unique Key found in the table's Optical Code, and the information is programmable to be communicated to the restaurant's employees for instant bi-directional communication and to be associated with the user's food order.
- the present invention provides, for example, franchisers like Chick-fil-A and McDonalds the ability to place a single Optical Code on a sandwich wrap or bag to provide users with unique, customized and interactive content along with Controlled Access to information, software and other programmable functions when a user of a Mobile Device snaps the single Optical Code.
- the System allows multiple users upon the snap of a single Optical Code with a Mobile Device, such as a smart phone, to access Customized Content (e.g., a food offerings, coupons, commercials, music, games or any programmable functions) based on various data such as the user's data, user's metadata, device's data and device's metadata to customize the content.
- Customized Content e.g., a food offerings, coupons, commercials, music, games or any programmable functions
- Businesses can place the System-generated Optical Codes on any physical object such as, tables, cups, sandwich bags, large signs in the parking lot or etc.
- the business may also supply its own Optical Code, generated outside of the System, and the System will use the decoded value of the business-supplied Optical Code as the Unique Key for future usage.
- the present invention has the capability to provide Controlled Access to customized and interactive content based in specific locations.
- the present invention has the methods and systems to utilize a single Optical Code that has been posted on a wall, table or any article at the specific location to control the access of Customized Content.
- the present invention provides the method to give users accessibility to customize content based on GPS location and proximity to a specific location.
- Customized content at a specific waiting room location could include access to magazine articles, music, videos, live streaming and movies that are specific to a location.
- the present invention gives users, who are within the distance parameters set by the System, access to the content when users snap an Optical Code with a Mobile Device.
- Customized Content can also include Controlled Access to information, software and other programmable functions.
- the present invention would allow clients and visitors sitting or standing in a waiting area access to customized and interactive content when the user, within the distance parameters set by the System, snaps an Optical Code with a Mobile Device.
- the present invention further controls access based on real time computing of distances using GPS location of the waiting area to the user.
- the present invention has the ability that once a user departs the waiting area, the content provided can be programmed to terminate within a designated time period.
- the present invention allows for customizing of the content based on multiple factors including age, gender, preference, time, date, location, and etc.
- the present invention allows a specific location, e.g., doctor office, to offer an audience with customized and interactive content within the specific location when the users snap a single Optical Code with a Mobile Device.
- the present invention may allow users who meet a certain set of criteria including location within a specific distance based on real-time GPS data, team preference, and other requirements can snap the same Optical Code and be added to a specific group discussion.
- the group communication can be in the form of micro blogging with other users who are supporting the same team at stadium location during the game.
- the System has the ability to execute various commands and provide customized content from a single Optical Code.
- the System derives its unique ability from the Invention's method that provides a single user or concurrently provides multiple users Controlled Access to custom and interactive content when users of a portable computer and imaging device to scan a “single” Optical Code published by the system or imported in to the System.
- FIG. 0 depicts a high-level overview of the System's communication follow between primary components.
- FIG. 1 depicts an exemplary network with relevant devices used by the System.
- FIG. 2 depicts an exemplary Application Server with its primary components.
- FIG. 3 depicts an exemplary Mobile Device with its primary components.
- FIG. 4 depicts the Publisher Code Category Configuration Routine(s) which allows a Publisher to configure a Code Category with their own Customized Content, Controlled Access rules/criteria, and system integration endpoints.
- FIG. 5 depicts the Code Category Creation Routine(s) which is the process and method by which Code Categories are created and made available to Publisher's for configuration.
- FIG. 6 depicts the Unique Key Processing Routine(s) which is the process and method by which an Optical Code's Unique Key enables a customized process and interaction experience.
- FIG. 7 depicts an exemplary process flow for the present invention's application to a Vending Machine whereby a Publisher can allow a User to interact with and purchase from a vending machine with a customized experience on their Mobile Device.
- FIG. 8 depicts an exemplary process flow for the present intention's application to a greeting card where by a card purchaser can send personalized content to a card recipient using a single Optical Code and their Mobile Device.
- FIG. 9 depicts the method of Controlled Access allowing an Publisher to regulate access and customize a Mobile Device User's experience based on rules and criteria.
- FIG. 10 depicts the method of Controlled Access allowing a Sender to supply their own content in order to augment a Publisher's intended personalized experience for a User or group of Users.
- FIG. 11 depicts Controlled Access with Private Optical Code Association Routine(s) which provide a method of Controlled Access where specific rules and criteria are established by a Publisher and augmented by a Sender to regulate access to Customized Content.
- the present invention provides a method and system that provides a single user or concurrently provides multiple users with Controlled Access to custom and interactive content when using a Mobile Device to snap a “single” Optical Code.
- the present invention provides a method for using an Optical Code that when it is scanned or a picture of the Optical Code has been taken by an imaging device like a smart phone, the system provides a single user or concurrently provide multiple users with Controlled Access to content based upon data received and retrieved from various sources including criteria and programmable commands established by a single or multiple party entities (e.g., the content provider, user or a 3 rd party entity) required to facilitate the Controlled Access.
- a single or multiple party entities e.g., the content provider, user or a 3 rd party entity
- the present invention provides a “Code Category” where the type or class of communication and interaction definition can be associated with a specific Optical Code.
- a specific Optical Code might have a Code Category for interactive video.
- Each Code Category has a required set of Actions and each Action has a “Communication Contract” outlining the specific data requirements needed to leverage the features required by the Code Category's Action.
- the Communication Contract provides the specific data requirements needed to leverage the features required by the Code Category's Action.
- a Communication Contract could include GPS location data, facial detection or recognition data, video streaming, audio streaming, application data, custom sockets, or any other interface available on the mobile device.
- the present invention concurrently provides multiple users the ability to snap a single optical code (Decoded Value, e.g., “P100”) with a Mobile Device to view and interact with Custom Content. Subsequently, allowing each user via a single Optical Code (Decoded Value, e.g., “P100”) the ability to add Custom Content and provide Controlled Access (e.g., for public, private or selected users access) to the content added.
- the present invention provides the method to allow unlimited number of users to concurrently view, interact, add content and provide Control Access to other users via a single Optical Code (Decoded Value, e.g., “P100”).
- the present invention allows a single Optical Code (Decoded Value, e.g., “P100”) to be posted where an unlimited number of users could use a Mobile Device to snap a picture of a single Optical Code (decoded value, e.g., “P100”) for a group's interactions.
- a single Optical Code (Decoded Value, e.g., “P100”)
- P100 Optical Code
- the Controlled Access is provided by facilitating the authentication process that includes the matching of a) the Unique Key (i.e., the Optical Code's Decoded Value) associated to a Code Category within the System with b) the Publisher's unique identifier that is assigned by the System when the Publisher assigns user(s) authorization to the Custom Content associated with the Unique Key with c) information of or related to a user (e.g., age, social security number, etc.), a mobile device (e.g., phone number, GPS location, etc.), or other Publisher-selected constraints (e.g., time of day, a sports team's final score, etc.) to authorize access to the Publisher's Customized Content associated with the Unique Key.
- a user e.g., age, social security number, etc.
- a mobile device e.g., phone number, GPS location, etc.
- Publisher-selected constraints e.g., time of day, a sports team's final score, etc.
- the data received and retrieved from various sources, as well as, criteria and programmable commands established by a single or multiple party entities (e.g., the Publisher, a content provider, user or a 3 rd party entity) used to facilitate Controlled Access and the Custom Content can be provide from sources such as: Device data or metadata that is contained within the device or data about the device such as its location, time, date, available resources, device settings, and etc; Data entered or previous stored by user; User profile settings; User preferences; User payment information; User interaction data; Data about the user such as purchasing history, number of devices registered and etc.; User access codes; Captured or live data such as digital photo of an individual, physical object or landscape; Publisher data or metadata that is specific to a publisher, as their name, unique identifier, security codes (passwords), preferences, or data about the publisher's data, such as number of users interacting with content, number of recently scanned optical codes, etc.; Code Category that provides the type or class of communication and interaction definition required for the specific optical code wherein each Code Category has one
- Mobile Device is a portable computer and imaging device, such as a smart phone, smart watch, optical head-mounted display/digital camera, standard digital camera, laptop, other wearable, other portable computing device, and any combination of these types of devices.
- Content is executable function (program or file), instructions, images, dynamic or static web content (e.g., web pages, flash files, etc.), dynamic or static mobile content (e.g., responsive mobile web content, mobile applications, etc.), videos, sounds, surveys, or other custom created content that is executable by a user or system (such as a computer), viewable to a user, or has the ability to be interacted with by a user or system (such as a computer).
- Content can be hosted in any location, a system local to the Application Server or an external system (hosted by the publisher or a third party).
- Custom Content (also referred to as Customized Content) is customized instances of Content, which can be supplied by Publishers, Users, third-party system or entity, or any entity capable of integrating with the system and creating content.
- Optical Code is defined as a unique 1, 2, or 3-dimensional machine scannable code, such as a bar code or QR code. When scanned and decoded, the resultant value is the Unique Key.
- Capture is digital photo or any other physical scanning method.
- Device Data or Metadata is defined as data contained within the device or data about the device, such as its location, available resources, device settings, etc.
- User Data or Metadata is defined as data entered or previous stored by the user, such as profile settings, preferences, payment information, interaction data, or data about the user such as purchasing history, number of devices registered, etc.
- Code Category is the type or class of communication and interaction definition required for the specific Optical Code.
- Each Code Category will have a set of Actions and each Action will have both an ActionType and a Communication Contract outlining the specific data requirements needed to leverage the features required by the Code Category.
- a specific optical code might have a Code Category for interactive video.
- “Publisher Data or Metadata” is defined as data specific to a publisher, such as their name, unique identifier, security codes (passwords), preferences, or data about the publisher's data, such as number of users interacting with content, number of recently scanned optical codes, etc.
- “Decoded Value” is the resultant data from decoding an Optical Code. It will be the value of the Unique Key, and may be text, numerical, alphanumerical, binary, or any other resultant data type.
- Communication Contract is the definition of the specific data requirements needed for the features used within a specific Code Category Action. This contract may include required data inputs and outputs, GPS data, video streaming, audio streaming, application data, custom sockets, or any other data or interface available on the mobile device, and also includes data sent to and retrieved from custom content, external systems, or executable functions.
- ActionType is a process step defined within a Code Category.
- An Action is also referred to as a Code Category's process step.
- An Action may have various process steps, which are classified by types referred to as an “ActionType”.
- Each Action will have a Communication Contract denoting the data requirements for the process step.
- “Unique Key” is a value generated from the System that will uniquely identify a specific Code Category's custom configuration. It will be encoded into an Optical Code (see Optical Code) and used to associate a Code Category's custom configuration to the Optical Code. The Publisher distributes the Optical Code with their asset, such as media, a system, a digital asset or physical object (a printed card, a dining room table, or a vending machine) thereby making the association with the Unique Key and configured Code Category.
- a Unique Key may also be derived from an Optical Code generated outside of the System where the non-System generated Optical Code's decoded value (the resultant data of decoding the optical code) becomes a Unique Key used by the System.
- Controlled Access is the method of combining an Optical Code's Unique
- Associated identifiable data may include data related to a Sender or Receiver's unique identity (such as phone number), preferences (such as preferred hobbies), device data (such as GPS location or device type), demographic data (such as age), or other data which can be used to identify, classify, or target the Sender or Receiver with relevant content.
- “Sender” is an individual or entity initiating the distribution of content to a
- the Sender works within the context of content created by a Publisher to send content to Receivers. For example, a user may snap an Optical Code using a Mobile Device and based on rules within the Code Category and Publisher's Customized Content for that Optical Code, the user who performed the snap may be given the opportunity to create their own content, such as a text message, and send it to someone. In this case, the user has become a Sender of content. The individual(s) who the Sender sends content to the Receiver. The Sender also sets the parameters used by Controlled Access to determine distribution of content to Receiver(s), for example, a person's phone number might be used to ensure that only they receive the content sent by the Sender.
- a. “CARD SENDER” is referenced in FIG. 8 as a type of Sender in the context of the custom Greeting Card Code Category.
- the concept of a Sender may be applied and adapted to any specific scenario, such as Greeting Cards, stationary, social media, or others, each having extended the concept of Sender to meet their specific requirements.
- Receiver is the individual(s) or entity that is receiving content from a Sender using the same Optical Code. If Controlled Access rules permit, the Receiver will receive the content sent to them by the Sender using the same Optical Code the Sender used to create the content.
- CARD RECEIVER is referenced in FIG. 8 as a type of Receiver in the context of the custom Greeting Card Code Category.
- the concept of a Receiver may be applied and adapted to any specific scenario, such as Greeting Cards, stationary, social media, or others, each having extended the concept of Receiver to meet their specific requirements
- ActionType(s) is the kind or classification of Action used within a Code
- ActionType is the means by which an Action's types of characteristics and requirements are determined. There are four ActionTypes in this present invention and they are detailed below:
- ActionType “COLLECT DATA FROM DEVICE” is the type of Action that is used to collect data from the Mobile Device, such as a GPS location, user information, or other information contained on the Mobile Device.
- ActionType “CUSTOMIZE CONTENT” is the type of Action that is used to govern access, via Controlled Access, and to alter or customize content based on specific criteria and data available. Content may be customized with this type of Action using data collected from the Mobile Device (device data or metadata), collected about the User (user data or metadata), or any other type of data available to the System through integrations or user interactions.
- ActionType “INTERFACE WITH EXTERNAL SYSTEM” is the type of
- Action where an external system, such as a web service or API call, is used to fulfill the requirements of an Action.
- an external system such as a web service or API call
- ActionType “EXECUTABLE FUNCTION” is the type of Action where any executable program, file, function, library, service, instruction(s), or command(s) may be initiated, sent data, and receives data. This could be a call to things like a database or a local script or a installed library used to perform an action.
- “Configured Code Category” is a Code Category that has been configured with specific customizations, such as Customized Content or external system endpoint locations. 19. “Snap” is the process of scanning or taking a picture of an Optical Code with a Mobile Device. 20. “External System” is a system outside of or external to the Application Server such as a Publisher's server, a Third Party system, or a data store. The External System may include a web service call, an HTTP get or post, an API call, an object storage location, an IO stream, a file exchange, or any other type of access method used to facilitate interaction and integration between the System, the User, and the External System. 21.
- Executable Function is any executable program, file, function, library, service, instruction(s), or command(s) that may be initiated, sent data, and receives data. Examples include a call to a database, a local script, or a library, such as a DLL, used to perform an action or get data.
- Endpoint is an External System access location or address with which the
- IP address and port number examples include an IP address and port number, URI, URN, and URL.
- FIG. 0 is a high-level diagram of the entire system's usage. Each number (n) in this paragraph correlates to the communication flow number in the FIG. 0 .
- Prerequisite to this sequence is the creation of a Code Category as outlined in [ 500 ] FIG. 5 .
- the Publisher creates or modifies their custom content and/or configures external system endpoints as defined by selected code category.
- Publisher creates and/or saves Unique Key(s) and Optical Code(s) which are sent to the Application Server.
- the Application Server stores information in datastore including Publisher information, unique key(s), Optical code(s), custom configuration data (content and endpoints), and associates with the Code Category. Note: Items 1, 2, and 3 are explained in greater detail in FIG.
- the Optical Codes may be placed on any media of physical object the Publisher desires.
- a user of a mobile device initiates a scan or capture of an Optical Code on some form of media or physical object (e.g. a website, article, physical sticker, vending machine, etc.).
- the Optical Code was one of the Optical Codes created in item 2 above.
- the Mobile Device decodes the Optical Code into Unique Key.
- the Mobile Device sends the Unique Key (aka the “Decoded Value”), device information/data, and user information/data to the Application Server. Note: FIG.
- the Application Server retrieves information from databases/datastores based on the data sent from the Mobile Device and determines the Code Category and Publisher's customized set of Actions.
- the Application Server may request additional data from Mobile Device, interact with Publisher's content for customization purposes, interact with External Systems (including anything external to Application Server such as Publisher, Third Party systems, or databases/datastores), or may invoke Executable Functions. These are reflected in 8.1, 8.2, 8.3, and 8.4.
- the Publisher's content may optionally require communication with External Systems, such as a vending machine or software component. If so, this is the point at which the content interacts with mechanical, electrical, or software components directly.
- the Application Server establishes a continuous (until terminated) bidirectional communication channel (based on the Code Category's Action set) with the Mobile Device in order to complete the desired outcome of the Publisher.
- FIG. 1 outlines that the system is comprised of an Application Server(s) [ 200 ], Databases and Datastores [ 110 ], a communications Network [ 120 ], External Mechanical, Electrical, or Software Systems [ 130 ], and Mobile Devices [ 300 ].
- External systems referenced in [ 130 ] may include those which are from the Publisher, which are from Third-Party entities, or are any system hosted outside of the Application Server.
- FIG. 2 diagrams the Application Server [ 200 ], which is the primary system performing functions required to fulfill the functionality of the patentable invention.
- the Application Server brings together the functional programs, rules, data sources, and external systems as will be later described.
- the Application Server is comprised of a Network Interface(s) [ 210 ], Processing Unit(s) [ 220 ], optional Display(s) [ 230 ], and Computer Readable-Medium(s) [ 250 ] including but not limited to internal and external storage.
- Functionality of the Application Server is expressed in [ 250 ] and includes the Operating System [ 260 ], Publisher Code Category Configuration Routine(s) [ 400 ], Code Category Creation Routine(s) [ 500 ], Unique Key Processing Routines(s) [ 600 ], and Controlled Access with Private Optical Code Association Routine(s) [ 1100 ].
- FIG. 3 diagrams the Mobile Device, which is any portable computing device capable of scanning optical codes, interacting with a user, storing data locally, and communicating over a network. This may include mobile phones (e.g., SmartPhones, tablets, laptops, or any other portable device capable of the same.
- the Mobile Device is comprised of a Network Interface(s) [ 310 ], a Process Unit(s) [ 320 ]), Optical Scanner(s) or Code Reader(s) [ 325 ], Display(s) [ 330 ], and Computer Readable-Medium(s) [ 350 ].
- User Interface Handling Routine(s) [ 370 ] are the various routines which will be primarily responsible for interacting with the user interface, which may include HTML, Javascript, or any other mobile device user interface language or technology.
- Optical Scanning Routine(s) [ 380 ] may include routines that operate a mobile device's camera and converts optical codes into their decoded value, which could be textual, numeric, alphanumeric, binary, or any other data type.
- Information and Data Gather Routine(s) [ 390 ] are routines primarily occupied with collecting and processing data from the mobile device, user, or other systems with which the mobile device interacts, including connected BlueTooth devices, Internet-based services, or any other system with which the mobile device may be interacting or to which it is integrated.
- Application Server Communication Routine(s) [ 395 ] are routines primarily responsible for interacting with the system's Application Server [ 200 ], including the sending and receiving of data, content, and instructions.
- FIG. 4 diagrams the Publisher Code Category Configuration Routine(s) [ 400 ], which is primarily responsible for allowing the publisher to select and configure Code Categories.
- This configuration includes the creation of customized content as well as information on how the Publisher can have the system interact with their own External systems.
- the Publisher identifies which one of the available Code Categories they would like to configure and create optical codes.
- the system gets the unique key of the selected Code Category in [ 420 ] for use later in the process.
- the Publisher provides a name so that the configuration they are about to create will be retrievable later for review, modification, or replication. If the Code Category is associated with Actions of the “CUSTOMIZE CONTENT” ActionType (outlined in FIG. 5 ), then for each Action of this kind, the Publisher sets Controlled Access criteria in
- Controlled Access criteria supplied in [ 423 ] is based on the Controlled Access rules defined with the Code Category.
- Controlled Access rules may be based on device data or metadata, user data or metadata, user input data, or any other data from an available data source.
- a Code Category may define that current GPS location of the Mobile Device is a Controlled Access rule.
- the Publisher in step [ 423 ] may indicate specific GPS locations as Controlled Access rule criteria and then they supply specific Customized Content per GPS location in [ 425 ].
- Code Categories may be pre-configured for the Publisher, specifically with regard to communication with their external systems, and in step [ 427 ], the system determines if this Code Category was already configured. If the Code Category was not preconfigured, then in step [ 430 ], the Publisher provides details for any Action associated with the Code Category of the “INTERFACE WITH EXTERNAL SYSTEM” ActionType. In step [ 431 ] the system saves and associates all information received for future reference along with the Publisher's unique identifier. In step [ 432 ] the Publisher is now ready to create an Optical Code(s).
- a Unique Key is created in step [ 435 ] which will later be converted to an Optical Code.
- step [ 440 ] the Unique Key which was created in [ 435 ] is associated the Code Category from step [ 420 ] and the items previously saved in [ 425 ] and [ 430 ].
- An Optical Code is created in [ 445 ] and given a human-readable name, such as “Dining room table number 5”, and the Publisher is given the opportunity to print or export the Optical Code in [ 450 ].
- the data from [ 420 ], [ 422 ], [ 425 ], [ 430 ], [ 435 ], [ 440 ], [ 445 ] and the Publisher's unique identifier are saved for future reference.
- the Publisher is able to use the created codes on any form of media or physical object in [ 460 ] so that users may scan them in the future.
- FIG. 5 diagrams Code Category Creation Routine(s) [ 500 ], outlines the process by which Code Categories are created and extended. Code Categories are defined in the Terms section of this document, they outline a set of Actions and are the means by which specific Optical Codes are associated with Publisher-specific content and systems.
- [ 502 ] we give the option to either create a new Code Category or to extend or modify an existing one. If a Code Category is already in place and only needs some additional modification, then it will save time to extend that Code Category so as not to repeat previous definition.
- For new Code Categories in [ 505 ] a name and description are given to the Code Category for later reference.
- Actions may be added to the new Code Category based on the desired goal of the specific Code Category being created.
- [ 510 ] is where the type of Action is selected, which can be one of four types.
- Step [ 515 ] is the path taken from [ 502 ] if an existing Code Category is to be extended or modified, and in [ 515 ] the Code Category to extend will be selected.
- the new resultant Code Category will receive a name and description.
- step [ 522 ] is where an Action may be inserted, removed, or where the process of adding Actions will be finished. If an Action is to be removed, this will occur in [ 525 ] and the process will then go back to [ 522 ] to give the option of inserting, removing, or finishing the Action modification step.
- [ 542 ] may include device data, such as the operating system type of the mobile device, device metadata such as the number of applications installed on the mobile device, user data such as the user's name, or user metadata such as the number of phone numbers the user has defined. If in [ 510 ] the “CUSTOMIZE CONTENT” ActionType was selected, then in [ 550 ] the [ 551 ] step is performed in which Controlled Access rules are defined and then in [ 552 ] default content is provided based on the Controlled Access rules for the Action. The default content might be a greeting user interface with a message, which will later be customized once the Code Category is complete and is used by a Publisher in [ 425 ] from FIG. 4 , detailed above.
- step [ 560 ] the process moves to [ 562 ] where the input data requirements are outlined for the external system. For example, if a web service is to be called as part of this Action, then the input requirements of the web service are outlined so that this Action may communicate with the web service.
- the output requirements of the external system are defined so that as the Action communicates with the external system, data received from the external system is captured and available for use in later Actions.
- step [ 572 ] is where the inputs are outlined needed to invoke the executable functions.
- Executable functions may include programs, scripts, services, libraries or any other mechanism not already covered whereby logic and algorithms may be performed.
- the outputs from executable function are outlined so that the data received may be captured for use in future Actions.
- the Code Category and all of its configuration are saved into the catalog of Code Categories for future reference and usage.
- FIG. 6 diagrams Unique Key Processing Routine(s) 600 , which begins after an Optical Code has been scanned by the user with their mobile device, decoded, and sent to the Application Server.
- the decoded value of the optical code is the Unique Key created by the Publisher in [ 435 ] outlined in FIG. 4 .
- the Application Server searches for the Unique Key previously created in [ 435 ]. If not found in [ 607 ] the process ends, or if the Unique Key is found in [ 607 ], the Publisher's configured Code Category associated with the Unique Key and the customized list of Actions associated with the Unique Key are retrieved in [ 610 ]. In [ 612 ] a loop is started going through all Actions associated with the Unique Key.
- the ActionType of the current Action in [ 615 ] will be one of four ActionTypes, leading to [ 620 ], [ 630 ], [ 640 ], or [ 650 ]. If the ActionType in [ 615 ] is “COLLECT DATA FROM DEVICE” then [ 620 ] leads to [ 625 ] where the data previously defined in [ 542 ] in FIG. 5 is collected from the mobile device. If the ActionType in [ 615 ] is “CUSTOMIZE CONTENT” then [ 630 ] leads to step [ 631 ] where Controlled Access rules are evaluated governing authorization to the Publisher's Customized Content. In [ 632 ] the Publishers content (created in [ 425 ] of FIG.
- data requirements for the inputs and outputs of the external system are collected, as defined in steps [ 562 ] and [ 565 ] of FIG. 5 .
- data available to the system including the data previously collected from previous Actions, or data associated with the user registration and/or preferences, may be used to populate the input data required to interact with the external system.
- the external system is called according to the defined data communications contract using the data populated in [ 644 ].
- the external system responds in [ 648 ] according to the communications contract and the data received is collected and stored within the output fields defined in
- ActionType in [ 615 ] is “EXECUTABLE FUNCTION” then [ 650 ] leads to [ 652 ] where the data requirements for calling the executable function are retrieved as defined in [ 572 ] and [ 575 ] of FIG. 5 .
- data available to the system including the data previously collected from previous Actions, or data associated with the user registration and/or preferences, may be used to populate the input data required to interact with the executable function.
- the executable function is invoked using the data collected and outlined in the communications contract, with the response data received and stored in [ 658 ] as defined in [ 575 ] of FIG. 5 .
- FIG. 7 diagrams a Vending Machine Code Category (700) example.
- the present invention provides the ability for a company who distributes goods via vending machines to leverage the System to sell items to customers. Customers will simply scan the Optical Code located on the vending machine with their Mobile Device. Immediately following the scanning of the Optical Code, they will be presented on their Mobile Device with a customized and personalized menu of options and pricing details available within the vending machine. Upon selection of an item to purchase, the System will perform a payment transaction using the user's previously stored payment information and the vending machine will dispense the item selected. A prerequisite of being able to transact in this way, the company will simply configure the Code Category available within the System which is designated for “vending machine” types of transactions.
- a Code Category must be created for a generic vending machine scenario.
- the detailed outline of how Code Categories are created is contained within FIG. 5 [ 500 ].
- a new Code Category will be created and in [ 505 ] it will be called “Vending Machine” and its description will be “A generic transaction outline between a mobile device and a vending machine”.
- the “Vending Machine” Code Category would include the following eight Actions:
- ActionType Requirement Inputs Outputs 1. Get more COLLECT DATA Get GPS N/A GPS Location, Device Type, and data needed FROM DEVICE Location, User Name from the Device Type, device and User Name from Mobile Device and User's Profile 2. Get the INTERFACE Communicate Unique Key A list of items available within inventory and WITH with vending (the decoded the vending machine and their pricing details EXTERNAL machine (or value of the prices from the SYSTEM proxy system) Optical vending using the Code) machine endpoint, such as a URL or URI, to get inventory and prices. 3. Display a CUSTOMIZE A standard User “Hello [User Name], thanks for greeting CONTENT greeting Name shopping with us.
- Dispense INTERFACE Communicate Item to Status of dispense request vending WITH with vending dispense (success or failure) machine item EXTERNAL machine (or SYSTEM proxy system) using the endpoint, such as a URL or URI, to dispense purchased item.
- EXTERNAL machine or SYSTEM proxy system
- endpoint such as a URL or URI
- the Publisher can select it as an option referenced in step [ 415 ] of FIG. 4 .
- the Publisher will then assign “COMPANY X VENDING INTERACTION” as the custom name in [ 422 ] for the customized configuration they are about to make for the vending machine Code Category.
- the Publisher will use or modify the default content associated with these Actions, or will supply their own content.
- the three “INTERFACE WITH EXTERNAL SYSTEM” Actions in the vending machine Code Category, listed in Table 1 they will supply the endpoint locations of where their vending machine can be interacted with over an available network.
- the Publisher can create as many Optical Codes as they desire.
- the Publisher will create an Optical Code per vending machine. This process is outlined in FIG. 4 , steps [ 432 ] through [ 460 ]. At this point, the Publisher will place Optical Codes on their vending machines and they are ready to start receiving customers through the System.
- FIG. 7 outlines in detail the process steps that are completed once the Application Server has determined which Publisher's configuration and Code Category is to be used, starting in [ 705 ].
- FIG. 8 diagrams how this present invention provides the ability for a greeting card to contain the personal text, pictures, and videos along with personalized and interactive content that can be added and is only accessible by the authorized user with the snap of his or her Mobile Device.
- the present invention allows publishers, like Hallmark Cards, Inc. or American Greetings Corporation, LLC, to publish a greeting card, with a single optical code, for example “C100”; whereby an unlimited numbers of users, called the Sender, can buy the greeting card (“C100”) bearing the same optical code and add personal content to a Receiver, e.g. a loved one or friend.
- the content is displayed only when the designated authorized Receiver of the greeting card snaps the optical code contained within the greeting card with a Mobile Device.
- Each Sender for example the card purchaser, can add their personalized content and authorized recipients, Receivers, of their choice to access their personalized content.
- the Sender can authorize more than one person as the Receiver.
- the Receiver of the Personalized and Interactive Greeting Card can snap the Optical Code published within the greeting card with a Mobile Device to access the personalized and interactive content.
- the customized and interactive content only displays on the Mobile Device of the Receiver that matches the Receiver's information associated with the Sender's phone number. Any users, who snap the same optical code and are not an authorized recipient (i.e., Receivers), do not have access to the personalized and interactive content of the Sender.
- the present invention provides the method and system to integrate customized and interactive content within a personal and tangible greeting card.
- the authorized recipient has controlled access to customized and interactive content and is accessible only to the assigned authorized recipient upon snapping the single optical code published within the greeting card using a Mobile Device.
- the present invention's system and method can be utilized with other published material including but not limited to stationary, invitations, bulletins, announcements, etc.
- a Code Category must exist within the system which will represent the generic “Greeting Card” scenario. The detailed outline of how Code Categories are created is contained within FIG. 5 [ 500 ].
- a new Code Category will be created and in [ 505 ] it will be called “Greeting Card” and its description will be “A generic transaction outline between a sender of a greeting card and a receiver of a greeting card”.
- This Code Category will be defined with the following seven Actions:
- the Publisher can select it as an option referenced in step [ 415 ] of FIG. 4 .
- the Publisher will then assign “COMPANY X MOTHER BIRTHDAY CARD” as the custom name in [ 422 ] for the customized configuration they are about to make for the greeting card Code Category.
- the Publisher will use or modify the default content associated with these Actions, or will supply their own content. In this case, their content will be themed for a Mother's Birthday. There are no other Actions in this example which need configuration or customization by the Publisher.
- the Publisher can create as many Optical Codes as they desire associated with their specific configuration of the Code Category. This process is outlined in FIG. 4 , steps [ 432 ] through [ 460 ]. For this example, they will create one Optical Code for their “Mother's Birthday Card Theme” card and produce 100,000 prints. All 100,000 prints of this card will contain the exact same Optical Code. In this way, the “mother's birthday theme” can be incorporated into the Publisher's Custom Content within the System so that the visual theme of the printed card is also expressed in the Customized Content associated with the Optical Code.
- the card purchaser i.e., the CARD SENDER
- the Mobile Device sends the Unique Key (the decoded value of the Optical Code) to the Application Server.
- the Application Server looks up the Unique Key and finds that it is associated with the Publisher's “COMPANY X MOTHER BIRTHDAY CARD” configuration of the “Greeting Card” Code Category.
- FIG. 8 outlines in detail the process steps that are completed once the Application Server has determined which Publisher's configuration and Code Category is to be used, starting in [ 805 ].
- FIG. 9 is a diagram showing how access to Controlled Access works at a high-level.
- a Publisher has created an Optical Code containing the Unique Key associated with their configuration of a Code Category.
- a User snaps an Optical Code which then leads to [ 907 ], where the Publisher's configured Code Category is processed.
- the entire method for processing a configured Code Category is outlined in detail in FIG. 6 [ 600 ].
- the Code Category demonstrated in [ 900 ] contains an Action [ 910 ] where Controlled Access rules in [ 915 ] govern permission to view Customized Content in [ 920 ] and [ 925 ].
- Default Controlled Access rules are established in [ 551 ] of FIG.
- FIG. 9 shows two Controlled Access rules each having their own Customized Content in [ 920 ] and [ 925 ]. If the User of a Mobile Device snapping the Optical Code matches the first Controlled Access criterion, then the Publisher's Customized Content A [ 920 ] will be displayed to the User, but if the User matches the second Controlled Access criterion, then Customized Content B [ 925 ] will be displayed to the User. If the User does not match any of the Controlled Access criteria, then the Unauthorized Access Content [ 930 ] will be displayed to the User.
- a Publisher creates an Optical Code for a Code Category which displays Customized Content to a User based on their Age.
- the Code Category is predefined according to [ 551 ] that Age is the Controlled Access rule for the specific Action shown in [ 910 ], and the Publisher then configures their Code Category according to [ 423 ] having two rule criteria.
- the first criterion is that the age of the User should be 50 or greater to have access to Customized Content A [ 920 ].
- the second criterion is that Users having an age of 18 to 49 will have access to Customized Content B [ 925 ]. This results in Users who are younger than 18 not having access to any Customized Content, but will instead receive the Unauthorized Access Content [ 930 ].
- Controlled Access regulates which Customized Content a User can access, if any.
- FIG. 10 illustrates how Controlled Access can be extended to include the idea of a Sender (see terms) and Receiver (see terms).
- Controlled Access rules are initially established by the Code Category and criteria are set by the Publisher based on their specific configuration of the Code Category. But, specific types of Customized Content may allow for Users to extend Controlled Access rules and/or send their own Customized Content, therefore augmenting the Publisher's Customized Content.
- FIG. 9 [ 900 ] the above illustrates how Controlled Access regulates which Customized Content a User can access, if any.
- [ 1000 ] we introduce the concept that a User may influence Controlled Access rule criteria and may augment a Publisher's Customized Content with their own Customized Content.
- Customized Content A [ 1020 ] When User A using a Mobile Device snaps an Optical Code in [ 1005 ], the Publisher's Code Category Configuration is processed in [ 1055 ] and determines they should be presented with Customized Content A [ 1020 ] based on Controlled Access rules in [ 1015 ]. See FIG. 6 [ 600 ] for an entire overview of how Publisher configured Code Categories are processed, though not required to demonstrate the method expressed in FIG. 10 .
- the Publisher has given User A the ability to specify Controlled Access rules [ 1060 ] and Customized Content [ 1065 ] which will be used by subsequent Users (e.g., “OTHER USERS” in [ 1025 ]) who snap the same Optical Code with a Mobile Device and match the Controlled Access rules supplied.
- Controlled Access rules [ 1015 ] determines that he should be given access to Customized Content A [ 1020 ], which is the greeting card Publisher's Customized Content for sending the card to another person.
- Customized Content A [ 1020 ] User A is given the ability to supply his own Customized Content for each person he is sending the card to, along with a phone number which will be used to uniquely identify the card recipient. The phone number of the recipients is used to extend the Controlled Access rules [ 1060 ], allowing access to his Customized Content for users having the phone number he supplies.
- the Customized Content he supplies in [ 1065 ] for this example includes a text message and a digital photo.
- Controlled Access rules in [ 1035 ] will compare their phone numbers, based on their mobile device, to the phone numbers supplied by User A. If there is a match, each will be taken to the appropriate Customized Content at [ 1040 ] or [ 1045 ], which consists of the Publisher's original Customized Content now augmented with the User A's Customized Content (the text messages and photos). If a User snaps the Optical Code with a Mobile Device but their phone number does not match those set by User A, they will receive the Unauthorized Access Content in [ 1050 ].
- This present invention allows for either a Publisher or a Sender to Control Access to Customized Content by determining the criteria a User or group of Users must have in order to qualify for authorization. This is achieved through Controlled Access rules, which match criteria about the User or group of Users to what has been established within a Publisher's configuration of a Code Category or extended by a Sender using a Publisher's Customized Content to supply their own Customized Content. For example, a Publisher may want to regulate Content Access based on the gender of the User. When the Publisher configures their Code Category for their appropriate scenario, they will be allowed to supply Customized Content for each type of gender. This results in the User viewing the appropriate Customized Content upon snap of an Optical Code with a Mobile Device.
- a Sender may also deliver their own Customized Content to a User or Group of Users by leveraging a Publisher's Customized Content.
- a Publisher may create an Optical Code which is associated with Customized Content that will allow someone to send a video to a User or Group of Users based on their Zip Code.
- the User or group of Users In order to receive the Customized Content, the User or group of Users must match the criteria required. In this example, the criterion is Zip Code 12345. All Users whose primary residence is within a specific Zip Code supplied by the Sender User will receive the Customized Content of the Sender.
- the System finds the associated configured Code Category, determines the Controlled Access rules, and compares the Zip Code 12345 against the User who is currently snapping the Optical Code. If their primary residence Zip Code is also 12345, which is stored either in their User profile or on their Mobile Device, then they are allowed to view the Sender's Customized Content. If they do not match the Zip Code, then they will receive an Unauthorized Access Content UI.
- FIG. 11 diagrams more around the area of Controlled Access by showing a different view of what happens when a Sender sends something to a Receiver or set of Receivers.
- the Application Server has received the Unique Key resultant from the mobile device decoding a scanned Optical Code and it is found as a validate Unique Key.
- a Code Category associated with the Unique Key has been created with an ACTION that will request identifiable data for the Sender from user profile, Mobile Device, user input, or other available data source(s).
- the same Code Category contains an Action of “CUSTOMIZE CONTENT” with Rules defining Controlled Access for a Receiver.
- Receiver-related data include but is not limited to one or any combination of: Phone Number, Email Address, Demographic data (such as age or gender), User Preference data (such as favorite color), Device data (such as current GPS location), or any other available data source.
- the System collects information about the Sender, such as their phone number.
- the Sender specifies specific criteria for the Receiver(s) of their Customized Content, such as a Receiver's phone number if to an individual or perhaps an age range (or set of age ranges) if to multiple individuals based on age.
- the Sender supplies their Customized Content per criteria match.
- the present invention provides a method for the optical code to include one number, letter or symbol (e.g., an ASCII or Unicode character) positioned with one reference point.
- the present invention provides a method for the optical code to include two to twenty numbers positioned with or between three reference points.
- the present invention provides a method for the optical code to include two to twenty letters positioned with or between three reference points.
- the present invention provides a method for the optical code to include two to twenty symbols (e.g., ASCII or Unicode character) positioned with or between three reference points.
- the present invention provides a method for the optical code to include of a combination of two to twenty numbers, letters or symbols (e.g., ASCII or Unicode character) positioned with or between three reference points.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Electromagnetism (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Toxicology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
- This application claims priority from: “METHOD AND SYSTEM THAT PROVIDES ACCESS TO CUSTOM AND INTERACTIVE CONTENT FROM AN OPTICAL CODE”, U.S. Provisional Application No. 62/422,643, filed Nov. 16, 2016, the contents of which are incorporated herein by reference in its entirety.
- The present invention relates to a method and system that provides a single user or concurrently provides multiple users with controlled access to custom and interactive content when using a portable computer and imaging device to scan an optical code published by the System.
- A barcode is a machine-readable optical label that contains information about the item to which it is attached. A QR code uses four standardized encoding modes to efficiently store data. A QR code consists of black squares arranged in a square grid on a white background, which can be read by an imaging device such as a camera, and processed using Reed-Solomon error correction until the image can be appropriately interpreted. The required data are then extracted from patterns that are present in both horizontal and vertical components of the image. Currently, when individuals snap a single QR Code using a Mobile Device, at the time the snap occur, the same information is provided to all individuals who snap the single QR Code.
- The present invention when individuals snap a single optical code (e.g., QR Code) using a Mobile Device, at the time the snap occur, customized or different information can be provided to all individuals who snap the single Optical Code.
- The present invention includes a method and system to provide a single user or concurrently provide multiple users controlled access to custom and interactive content when users of a portable computer and imaging device scan a “single” Optical Code.
- The present invention provides the method for users to access different content when users snap a picture of a single Optical Code. The System provides a single user or concurrently provides multiple users the ability to access different messages, information, instructions, software applications or programmed functions from the snap of a single Optical Code using a portable computer and imaging device.
- The present invention is uniquely designed to use an Optical Code to store a reference address (Unique Key) to programmed instructions. The present invention stores a Unique Key within the Optical Code used to look up programmed instructions. The present invention uses the snap of the camera on the portable computer and imaging device to initialize the programmed instructions associated with the Unique Key. The program instructions store the programs, commands, and rules to provide the same or different programmable functions, features or information to users. Rules are established within the programmed instructions to define the criteria for selecting users for certain programmable functions. The programmed instructions are triggered by a portable computer and imaging device (e.g., a Mobile Device like a smart phone) upon a user snapping a picture of an Optical Code. When the user snaps a picture of the Optical Code, the System's algorithm is programmed to decode the Optical Code and retrieve the Unique Key to the programmed instructions within the Optical Code. Once the programmed instructions are located, the Application Server is programmed to automatically execute the program instructions in accordance with the programmed commands stored within the programmed instructions. The present invention executes the programmed instructions simply upon a user snapping a picture of the Optical Code with a portable computer and imaging device. The System provides a method by which a set of actions can be performed with the simple snap of the Optical Code using a portable computer and imaging device. For example, when a user snaps an Optical Code, the System provides the ability for users to immediately have access to information, menu selections, software applications and commands that grant access or deny access to things like electronic documents, appliances or secured facilities, as well as, programs to unlock or lock doors, buy and pay for products and services. The present invention provides methods for Publisher's or third party's software, mechanical and electrical devices to be integrated with the Application Server to provide controlled access to customized content. An example of an integration of the Application Server to provide customized content is the use of a vending machine where users upon a snap of an Optical Code can have Controlled Access to the vending machine to make selections and purchase products via the System. The System is capable of executing a set of actions (a command or series of commands) with a single scan using a portable computer and imaging device. The present invention utilizes various data sources, including GPS data to establish Controlled Access and Customized Content for each user. The present invention utilizes a unique method to facilitate the process required to provide a single user or concurrently provide multiple users Controlled Access to custom and interactive content when users of a portable computer and imaging device scan a “single” optical code.
- Within the programmable instructions is the means to recognize the user based on identifying information like cell phone number and name. Upon the snap of an Optical Code, users' information is captured from the portable computer and imaging device for example cell phone number and current location. Additional user information is captured from the user's account profile. The Application Server matches and authenticates data to authorize a release of information or perform a programmed function. Rules are established within the programmed instructions to define the criteria for selecting users for certain programmable functions. For example, an Optical Code can be generated by the System and placed on a teacher or professor's desk, door, classroom wall or any place where the Optical Code can be clearly viewed. The teacher or professor has the ability, as the Publisher, to enter the student cell phone numbers, which is then saved into a database server. The System is programmed to create a record for each student using the cell phone number as the student's unique identifier along with other information like the student's name. The teacher or professor can enter the student grades within each student record. The students download the System app and register to use the System. Once the students are registered, the students are able to scan the System Optical Code published by the teacher or professor (the Publisher). Once the student snaps a picture of the published Optical Code using their Mobile Device, the System reads and recognizes the Unique Key to find the programmed instructions, which tells the System to get the cell phone number from the Mobile Device to identify the student. The System continues to follow the instructions and commands programmed in the programmed instructions. In this example, the programmed instructions provide instructions that authenticates the user's (student) cell phone along with the user's (student) profile information against the teacher or professor's (publisher) file that contains the student records. Once the student record is found and is matched using the student's cell phone number and name, captured from the student's Mobile Device and the System's saved user profile information, the System releases the test score and grade data to the student authenticated to receive the student record information. The data is displayed on the authorized student's Mobile Device, e.g., smart phone.
- The programmed instructions are programmable to find the student's cell phone number, name and other information to identify the student. Once authentication occurs, the System authorizes the Mobile Device to provide the grades and test scores stored in the student record to only the student authorized based on the authentication process. In this example using students, the present invention's unique method allows a teacher or professor to generate a single Optical Code from the System, in which all students can snap the single Optical Code to get their grades, test scores and any other pertinent information stored in the student file.
- In a different example, the present invention may provide a homeowner or renter the ability to use a single Optical Code posted on the homeowner or renter's front door to facilitate a phone call, text, conversation, video live streaming, or GPS location system when another individual outside of the front door snaps the Optical Code posted on the front door with a Mobile Device. The present invention provides the method and system to determine and retrieve data or content from the publisher and third party software applications, mechanical or electrical devices in order to facilitate software, telephonic, mechanical or electrical function when a user of a Mobile Device snaps a single Optical Code.
- The present invention may allow franchises, such as Chick-fil-A and McDonalds, to provide customized and interactive content that is accessible by their customers or targeted audiences from a single Optical Code. The present invention provides the method and system so that an unlimited number of users can be concurrently provided unique, customized and interactive content when users snap a single Optical Code with a Mobile Device. A unique Optical Code could be placed on a table or any location. Upon a user snapping a picture of the Optical Code using a Mobile Device, like a smart phone, the restaurant food menu will display in a different language based on the user's data, the table location could immediately be identified based on the specific Unique Key found in the table's Optical Code, and the information is programmable to be communicated to the restaurant's employees for instant bi-directional communication and to be associated with the user's food order. The present invention provides, for example, franchisers like Chick-fil-A and McDonalds the ability to place a single Optical Code on a sandwich wrap or bag to provide users with unique, customized and interactive content along with Controlled Access to information, software and other programmable functions when a user of a Mobile Device snaps the single Optical Code. The System allows multiple users upon the snap of a single Optical Code with a Mobile Device, such as a smart phone, to access Customized Content (e.g., a food offerings, coupons, commercials, music, games or any programmable functions) based on various data such as the user's data, user's metadata, device's data and device's metadata to customize the content. Businesses can place the System-generated Optical Codes on any physical object such as, tables, cups, sandwich bags, large signs in the parking lot or etc. The business may also supply its own Optical Code, generated outside of the System, and the System will use the decoded value of the business-supplied Optical Code as the Unique Key for future usage.
- In a different example, the present invention has the capability to provide Controlled Access to customized and interactive content based in specific locations. The present invention has the methods and systems to utilize a single Optical Code that has been posted on a wall, table or any article at the specific location to control the access of Customized Content. The present invention provides the method to give users accessibility to customize content based on GPS location and proximity to a specific location. Customized content at a specific waiting room location could include access to magazine articles, music, videos, live streaming and movies that are specific to a location. The present invention gives users, who are within the distance parameters set by the System, access to the content when users snap an Optical Code with a Mobile Device. Customized Content can also include Controlled Access to information, software and other programmable functions. The present invention would allow clients and visitors sitting or standing in a waiting area access to customized and interactive content when the user, within the distance parameters set by the System, snaps an Optical Code with a Mobile Device. The present invention further controls access based on real time computing of distances using GPS location of the waiting area to the user. The present invention has the ability that once a user departs the waiting area, the content provided can be programmed to terminate within a designated time period. The present invention allows for customizing of the content based on multiple factors including age, gender, preference, time, date, location, and etc. The present invention allows a specific location, e.g., doctor office, to offer an audience with customized and interactive content within the specific location when the users snap a single Optical Code with a Mobile Device.
- The present invention may allow users who meet a certain set of criteria including location within a specific distance based on real-time GPS data, team preference, and other requirements can snap the same Optical Code and be added to a specific group discussion. The group communication can be in the form of micro blogging with other users who are supporting the same team at stadium location during the game.
- The System has the ability to execute various commands and provide customized content from a single Optical Code. The System derives its unique ability from the Invention's method that provides a single user or concurrently provides multiple users Controlled Access to custom and interactive content when users of a portable computer and imaging device to scan a “single” Optical Code published by the system or imported in to the System.
-
FIG. 0 depicts a high-level overview of the System's communication follow between primary components. -
FIG. 1 depicts an exemplary network with relevant devices used by the System. -
FIG. 2 depicts an exemplary Application Server with its primary components. -
FIG. 3 depicts an exemplary Mobile Device with its primary components. -
FIG. 4 depicts the Publisher Code Category Configuration Routine(s) which allows a Publisher to configure a Code Category with their own Customized Content, Controlled Access rules/criteria, and system integration endpoints. -
FIG. 5 depicts the Code Category Creation Routine(s) which is the process and method by which Code Categories are created and made available to Publisher's for configuration. -
FIG. 6 depicts the Unique Key Processing Routine(s) which is the process and method by which an Optical Code's Unique Key enables a customized process and interaction experience. -
FIG. 7 depicts an exemplary process flow for the present invention's application to a Vending Machine whereby a Publisher can allow a User to interact with and purchase from a vending machine with a customized experience on their Mobile Device. -
FIG. 8 depicts an exemplary process flow for the present intention's application to a greeting card where by a card purchaser can send personalized content to a card recipient using a single Optical Code and their Mobile Device. -
FIG. 9 depicts the method of Controlled Access allowing an Publisher to regulate access and customize a Mobile Device User's experience based on rules and criteria. -
FIG. 10 depicts the method of Controlled Access allowing a Sender to supply their own content in order to augment a Publisher's intended personalized experience for a User or group of Users. -
FIG. 11 depicts Controlled Access with Private Optical Code Association Routine(s) which provide a method of Controlled Access where specific rules and criteria are established by a Publisher and augmented by a Sender to regulate access to Customized Content. - The present invention provides a method and system that provides a single user or concurrently provides multiple users with Controlled Access to custom and interactive content when using a Mobile Device to snap a “single” Optical Code. The present invention provides a method for using an Optical Code that when it is scanned or a picture of the Optical Code has been taken by an imaging device like a smart phone, the system provides a single user or concurrently provide multiple users with Controlled Access to content based upon data received and retrieved from various sources including criteria and programmable commands established by a single or multiple party entities (e.g., the content provider, user or a 3rd party entity) required to facilitate the Controlled Access.
- The present invention provides a “Code Category” where the type or class of communication and interaction definition can be associated with a specific Optical Code. For example, a specific Optical Code might have a Code Category for interactive video. Each Code Category has a required set of Actions and each Action has a “Communication Contract” outlining the specific data requirements needed to leverage the features required by the Code Category's Action. The Communication Contract provides the specific data requirements needed to leverage the features required by the Code Category's Action. A Communication Contract could include GPS location data, facial detection or recognition data, video streaming, audio streaming, application data, custom sockets, or any other interface available on the mobile device.
- The present invention concurrently provides multiple users the ability to snap a single optical code (Decoded Value, e.g., “P100”) with a Mobile Device to view and interact with Custom Content. Subsequently, allowing each user via a single Optical Code (Decoded Value, e.g., “P100”) the ability to add Custom Content and provide Controlled Access (e.g., for public, private or selected users access) to the content added. The present invention provides the method to allow unlimited number of users to concurrently view, interact, add content and provide Control Access to other users via a single Optical Code (Decoded Value, e.g., “P100”). The present invention allows a single Optical Code (Decoded Value, e.g., “P100”) to be posted where an unlimited number of users could use a Mobile Device to snap a picture of a single Optical Code (decoded value, e.g., “P100”) for a group's interactions.
- The Controlled Access is provided by facilitating the authentication process that includes the matching of a) the Unique Key (i.e., the Optical Code's Decoded Value) associated to a Code Category within the System with b) the Publisher's unique identifier that is assigned by the System when the Publisher assigns user(s) authorization to the Custom Content associated with the Unique Key with c) information of or related to a user (e.g., age, social security number, etc.), a mobile device (e.g., phone number, GPS location, etc.), or other Publisher-selected constraints (e.g., time of day, a sports team's final score, etc.) to authorize access to the Publisher's Customized Content associated with the Unique Key.
- The data received and retrieved from various sources, as well as, criteria and programmable commands established by a single or multiple party entities (e.g., the Publisher, a content provider, user or a 3rd party entity) used to facilitate Controlled Access and the Custom Content can be provide from sources such as: Device data or metadata that is contained within the device or data about the device such as its location, time, date, available resources, device settings, and etc; Data entered or previous stored by user; User profile settings; User preferences; User payment information; User interaction data; Data about the user such as purchasing history, number of devices registered and etc.; User access codes; Captured or live data such as digital photo of an individual, physical object or landscape; Publisher data or metadata that is specific to a publisher, as their name, unique identifier, security codes (passwords), preferences, or data about the publisher's data, such as number of users interacting with content, number of recently scanned optical codes, etc.; Code Category that provides the type or class of communication and interaction definition required for the specific optical code wherein each Code Category has one or more Actions with each Action having a Communication Contract outlining the specific data requirements needed to leverage the features required by the Code Category; An Action's Communication Contract which provides the specific data requirements needed for the features of the Action, ultimately used within a specific Code Category wherein a Communication Contract could include GPS location data, facial detection or recognition data, video streaming, audio streaming, application data, custom sockets, or any other interface available on the mobile device; Executable programs; Images; Dynamic or static web content (web pages, flash files, etc.); Dynamic or static mobile content (responsive mobile web content, mobile applications, etc.); Videos; Sounds; Surveys; Micro blogging or Chatting; Other constraints such as time of day or a stock's closing price; and Other created content.
- The following terminology is used throughout the specification and claims:
- 1. “Mobile Device” is a portable computer and imaging device, such as a smart phone, smart watch, optical head-mounted display/digital camera, standard digital camera, laptop, other wearable, other portable computing device, and any combination of these types of devices.
- 2. “Content” is executable function (program or file), instructions, images, dynamic or static web content (e.g., web pages, flash files, etc.), dynamic or static mobile content (e.g., responsive mobile web content, mobile applications, etc.), videos, sounds, surveys, or other custom created content that is executable by a user or system (such as a computer), viewable to a user, or has the ability to be interacted with by a user or system (such as a computer). Content can be hosted in any location, a system local to the Application Server or an external system (hosted by the publisher or a third party).
- 3. “Custom Content” (also referred to as Customized Content) is customized instances of Content, which can be supplied by Publishers, Users, third-party system or entity, or any entity capable of integrating with the system and creating content.
- 4. “Optical Code” is defined as a unique 1, 2, or 3-dimensional machine scannable code, such as a bar code or QR code. When scanned and decoded, the resultant value is the Unique Key.
- 5. “Capture” is digital photo or any other physical scanning method.
- 6. “Device Data or Metadata” is defined as data contained within the device or data about the device, such as its location, available resources, device settings, etc.
- 7. “User Data or Metadata” is defined as data entered or previous stored by the user, such as profile settings, preferences, payment information, interaction data, or data about the user such as purchasing history, number of devices registered, etc.
- 8. “Code Category” is the type or class of communication and interaction definition required for the specific Optical Code. Each Code Category will have a set of Actions and each Action will have both an ActionType and a Communication Contract outlining the specific data requirements needed to leverage the features required by the Code Category. For example, a specific optical code might have a Code Category for interactive video.
- 9. “Publisher Data or Metadata” is defined as data specific to a publisher, such as their name, unique identifier, security codes (passwords), preferences, or data about the publisher's data, such as number of users interacting with content, number of recently scanned optical codes, etc.
- 10. “Decoded Value” is the resultant data from decoding an Optical Code. It will be the value of the Unique Key, and may be text, numerical, alphanumerical, binary, or any other resultant data type.
- 11. “Communication Contract” is the definition of the specific data requirements needed for the features used within a specific Code Category Action. This contract may include required data inputs and outputs, GPS data, video streaming, audio streaming, application data, custom sockets, or any other data or interface available on the mobile device, and also includes data sent to and retrieved from custom content, external systems, or executable functions.
- 12. “Action” (see ActionType) is a process step defined within a Code Category. An Action is also referred to as a Code Category's process step. An Action may have various process steps, which are classified by types referred to as an “ActionType”. Each Action will have a Communication Contract denoting the data requirements for the process step.
- 13. “Unique Key” is a value generated from the System that will uniquely identify a specific Code Category's custom configuration. It will be encoded into an Optical Code (see Optical Code) and used to associate a Code Category's custom configuration to the Optical Code. The Publisher distributes the Optical Code with their asset, such as media, a system, a digital asset or physical object (a printed card, a dining room table, or a vending machine) thereby making the association with the Unique Key and configured Code Category. A Unique Key may also be derived from an Optical Code generated outside of the System where the non-System generated Optical Code's decoded value (the resultant data of decoding the optical code) becomes a Unique Key used by the System.
- 14. “Controlled Access” is the method of combining an Optical Code's Unique
- Key with identifiable data for a Sender and/or Receiver so that content access may be governed or content may be customized based on the Sender or Receiver's associated data. Associated identifiable data may include data related to a Sender or Receiver's unique identity (such as phone number), preferences (such as preferred hobbies), device data (such as GPS location or device type), demographic data (such as age), or other data which can be used to identify, classify, or target the Sender or Receiver with relevant content.
- 15. “Sender” is an individual or entity initiating the distribution of content to a
- Receiver or group of Receivers using an Optical Code. The Sender works within the context of content created by a Publisher to send content to Receivers. For example, a user may snap an Optical Code using a Mobile Device and based on rules within the Code Category and Publisher's Customized Content for that Optical Code, the user who performed the snap may be given the opportunity to create their own content, such as a text message, and send it to someone. In this case, the user has become a Sender of content. The individual(s) who the Sender sends content to the Receiver. The Sender also sets the parameters used by Controlled Access to determine distribution of content to Receiver(s), for example, a person's phone number might be used to ensure that only they receive the content sent by the Sender.
- a. “CARD SENDER” is referenced in
FIG. 8 as a type of Sender in the context of the custom Greeting Card Code Category. The concept of a Sender may be applied and adapted to any specific scenario, such as Greeting Cards, stationary, social media, or others, each having extended the concept of Sender to meet their specific requirements. - 16. “Receiver” is the individual(s) or entity that is receiving content from a Sender using the same Optical Code. If Controlled Access rules permit, the Receiver will receive the content sent to them by the Sender using the same Optical Code the Sender used to create the content.
- a. “CARD RECEIVER” is referenced in
FIG. 8 as a type of Receiver in the context of the custom Greeting Card Code Category. The concept of a Receiver may be applied and adapted to any specific scenario, such as Greeting Cards, stationary, social media, or others, each having extended the concept of Receiver to meet their specific requirements - 17. “ActionType(s)” is the kind or classification of Action used within a Code
- Category and is the means by which an Action's types of characteristics and requirements are determined. There are four ActionTypes in this present invention and they are detailed below:
- a. ActionType: “COLLECT DATA FROM DEVICE” is the type of Action that is used to collect data from the Mobile Device, such as a GPS location, user information, or other information contained on the Mobile Device.
- b. ActionType: “CUSTOMIZE CONTENT” is the type of Action that is used to govern access, via Controlled Access, and to alter or customize content based on specific criteria and data available. Content may be customized with this type of Action using data collected from the Mobile Device (device data or metadata), collected about the User (user data or metadata), or any other type of data available to the System through integrations or user interactions.
- c. ActionType: “INTERFACE WITH EXTERNAL SYSTEM” is the type of
- Action where an external system, such as a web service or API call, is used to fulfill the requirements of an Action.
- d. ActionType: “EXECUTABLE FUNCTION” is the type of Action where any executable program, file, function, library, service, instruction(s), or command(s) may be initiated, sent data, and receives data. This could be a call to things like a database or a local script or a installed library used to perform an action.
- 18. “Configured Code Category” is a Code Category that has been configured with specific customizations, such as Customized Content or external system endpoint locations. 19. “Snap” is the process of scanning or taking a picture of an Optical Code with a Mobile Device. 20. “External System” is a system outside of or external to the Application Server such as a Publisher's server, a Third Party system, or a data store. The External System may include a web service call, an HTTP get or post, an API call, an object storage location, an IO stream, a file exchange, or any other type of access method used to facilitate interaction and integration between the System, the User, and the External System. 21. “Executable Function” is any executable program, file, function, library, service, instruction(s), or command(s) that may be initiated, sent data, and receives data. Examples include a call to a database, a local script, or a library, such as a DLL, used to perform an action or get data.
- 22. “Endpoint” is an External System access location or address with which the
- System can communicate. Examples include an IP address and port number, URI, URN, and URL.
- Referring to
FIG. 0 , is a high-level diagram of the entire system's usage. Each number (n) in this paragraph correlates to the communication flow number in theFIG. 0 . Prerequisite to this sequence is the creation of a Code Category as outlined in [500]FIG. 5 . (1) The Publisher creates or modifies their custom content and/or configures external system endpoints as defined by selected code category. (2) Publisher creates and/or saves Unique Key(s) and Optical Code(s) which are sent to the Application Server. (3) The Application Server stores information in datastore including Publisher information, unique key(s), Optical code(s), custom configuration data (content and endpoints), and associates with the Code Category. Note:Items FIG. 4 [400], Note: At this point in the sequence, the Optical Codes may be placed on any media of physical object the Publisher desires. (4) A user of a mobile device initiates a scan or capture of an Optical Code on some form of media or physical object (e.g. a website, article, physical sticker, vending machine, etc.). The Optical Code was one of the Optical Codes created initem 2 above. (5) Upon capture of the Optical Code, the Mobile Device decodes the Optical Code into Unique Key. (6) The Mobile Device sends the Unique Key (aka the “Decoded Value”), device information/data, and user information/data to the Application Server. Note:FIG. 6 is a detailed explanation of the process starting from this point, that is, at the point the Application Server receives the information fromitem 6 above. (7) The Application Server retrieves information from databases/datastores based on the data sent from the Mobile Device and determines the Code Category and Publisher's customized set of Actions. (8) Based on the Code Category's Action set, the Publisher's customizations, business logic, device data, device metadata, user data or user metadata, the Application Server may request additional data from Mobile Device, interact with Publisher's content for customization purposes, interact with External Systems (including anything external to Application Server such as Publisher, Third Party systems, or databases/datastores), or may invoke Executable Functions. These are reflected in 8.1, 8.2, 8.3, and 8.4. (9) The Publisher's content may optionally require communication with External Systems, such as a vending machine or software component. If so, this is the point at which the content interacts with mechanical, electrical, or software components directly. (10) The Application Server establishes a continuous (until terminated) bidirectional communication channel (based on the Code Category's Action set) with the Mobile Device in order to complete the desired outcome of the Publisher. -
FIG. 1 outlines that the system is comprised of an Application Server(s) [200], Databases and Datastores [110], a communications Network [120], External Mechanical, Electrical, or Software Systems [130], and Mobile Devices [300]. External systems referenced in [130] may include those which are from the Publisher, which are from Third-Party entities, or are any system hosted outside of the Application Server. -
FIG. 2 , diagrams the Application Server [200], which is the primary system performing functions required to fulfill the functionality of the patentable invention. The Application Server brings together the functional programs, rules, data sources, and external systems as will be later described. The Application Server is comprised of a Network Interface(s) [210], Processing Unit(s) [220], optional Display(s) [230], and Computer Readable-Medium(s) [250] including but not limited to internal and external storage. Functionality of the Application Server is expressed in [250] and includes the Operating System [260], Publisher Code Category Configuration Routine(s) [400], Code Category Creation Routine(s) [500], Unique Key Processing Routines(s) [600], and Controlled Access with Private Optical Code Association Routine(s) [1100]. -
FIG. 3 diagrams the Mobile Device, which is any portable computing device capable of scanning optical codes, interacting with a user, storing data locally, and communicating over a network. This may include mobile phones (e.g., SmartPhones, tablets, laptops, or any other portable device capable of the same. The Mobile Device is comprised of a Network Interface(s) [310], a Process Unit(s) [320]), Optical Scanner(s) or Code Reader(s) [325], Display(s) [330], and Computer Readable-Medium(s) [350]. It also includes functionality reflected in [355] which is comprised of an Operating System(s) [360], User Interface Handling Routine(s) [370], Optical Scanning Routine(s) [380], Information and Data Gather Routine(s) [390], and Application Server Communication Routine(s) [395]. User Interface Handling Routine(s) [370] are the various routines which will be primarily responsible for interacting with the user interface, which may include HTML, Javascript, or any other mobile device user interface language or technology. Optical Scanning Routine(s) [380] may include routines that operate a mobile device's camera and converts optical codes into their decoded value, which could be textual, numeric, alphanumeric, binary, or any other data type. Information and Data Gather Routine(s) [390] are routines primarily occupied with collecting and processing data from the mobile device, user, or other systems with which the mobile device interacts, including connected BlueTooth devices, Internet-based services, or any other system with which the mobile device may be interacting or to which it is integrated. Application Server Communication Routine(s) [395] are routines primarily responsible for interacting with the system's Application Server [200], including the sending and receiving of data, content, and instructions. -
FIG. 4 diagrams the Publisher Code Category Configuration Routine(s) [400], which is primarily responsible for allowing the publisher to select and configure Code Categories. This configuration includes the creation of customized content as well as information on how the Publisher can have the system interact with their own External systems. To start, in step [415] the Publisher identifies which one of the available Code Categories they would like to configure and create optical codes. The system gets the unique key of the selected Code Category in [420] for use later in the process. In step - the Publisher provides a name so that the configuration they are about to create will be retrievable later for review, modification, or replication. If the Code Category is associated with Actions of the “CUSTOMIZE CONTENT” ActionType (outlined in
FIG. 5 ), then for each Action of this kind, the Publisher sets Controlled Access criteria in - allowing them to govern access to “CUSTOMIZED CONTENT”, and the Publisher modifies or creates Customized Content in step [425] allowing them to create a unique content experience for future users interacting with their specific Optical Codes. The Controlled Access criteria supplied in [423] is based on the Controlled Access rules defined with the Code Category. Controlled Access rules may be based on device data or metadata, user data or metadata, user input data, or any other data from an available data source. For example, a Code Category may define that current GPS location of the Mobile Device is a Controlled Access rule. The Publisher in step [423] may indicate specific GPS locations as Controlled Access rule criteria and then they supply specific Customized Content per GPS location in [425]. More on Controlled Access can be found in
FIGS. 9, 10, and 11 as well as their detailed explanations. It is possible that Code Categories may be pre-configured for the Publisher, specifically with regard to communication with their external systems, and in step [427], the system determines if this Code Category was already configured. If the Code Category was not preconfigured, then in step [430], the Publisher provides details for any Action associated with the Code Category of the “INTERFACE WITH EXTERNAL SYSTEM” ActionType. In step [431] the system saves and associates all information received for future reference along with the Publisher's unique identifier. In step [432] the Publisher is now ready to create an Optical Code(s). A Unique Key is created in step [435] which will later be converted to an Optical Code. In step [440], the Unique Key which was created in [435] is associated the Code Category from step [420] and the items previously saved in [425] and [430]. An Optical Code is created in [445] and given a human-readable name, such as “Diningroom table number 5”, and the Publisher is given the opportunity to print or export the Optical Code in [450]. The data from [420], [422], [425], [430], [435], [440], [445] and the Publisher's unique identifier are saved for future reference. Once completed with creating Optical Codes, the Publisher is able to use the created codes on any form of media or physical object in [460] so that users may scan them in the future. -
FIG. 5 diagrams Code Category Creation Routine(s) [500], outlines the process by which Code Categories are created and extended. Code Categories are defined in the Terms section of this document, they outline a set of Actions and are the means by which specific Optical Codes are associated with Publisher-specific content and systems. In [502] we give the option to either create a new Code Category or to extend or modify an existing one. If a Code Category is already in place and only needs some additional modification, then it will save time to extend that Code Category so as not to repeat previous definition. For new Code Categories, in [505] a name and description are given to the Code Category for later reference. In [507] Actions may be added to the new Code Category based on the desired goal of the specific Code Category being created. [510] is where the type of Action is selected, which can be one of four types. Step [515] is the path taken from [502] if an existing Code Category is to be extended or modified, and in [515] the Code Category to extend will be selected. In [520] the new resultant Code Category will receive a name and description. Given that Actions will already exist within the Code Category because an existing Code Category was used as the starting point, step [522] is where an Action may be inserted, removed, or where the process of adding Actions will be finished. If an Action is to be removed, this will occur in [525] and the process will then go back to [522] to give the option of inserting, removing, or finishing the Action modification step. If an Action is to be inserted from [522], then in [530] the location of where to insert the Action is selected. The location in [530] is relative to existing Actions, and if there are no existing Action then it will be inserted as the only Action. Once the location is determined, then [510] follows where, as described above, is where one of four ActionTypes are selected. ActionTypes are each outlined in [540], [550], [560], and [570]. If ActionType “COLLECT DATA FROM DEVICE” is selected, then in step [540] was chosen and we move to step [542] where the type of data to collect from the mobile device is defined. [542] may include device data, such as the operating system type of the mobile device, device metadata such as the number of applications installed on the mobile device, user data such as the user's name, or user metadata such as the number of phone numbers the user has defined. If in [510] the “CUSTOMIZE CONTENT” ActionType was selected, then in [550] the [551] step is performed in which Controlled Access rules are defined and then in [552] default content is provided based on the Controlled Access rules for the Action. The default content might be a greeting user interface with a message, which will later be customized once the Code Category is complete and is used by a Publisher in [425] fromFIG. 4 , detailed above. In [555] specific customization rules may be introduced, such as allowing the default message to include a variable such as the user's name. In this case, a standard message may be presented which will contain the user's name when rendered in [634], which is outlined inFIG. 6 . In [557], additional items may be outlined which are required to be retrieved from the user as they interact with the content provided in this Action. For example, the default content may include input text boxes for the user to supply information. For [559], additional data may need to be retrieved from the mobile device for use in subsequent Actions, such as the GPS location of the mobile device, and these data items are defined in this step. If in [510] the “INTERFACE WITH EXTERNAL SYSTEM” ActionType was selected, then in [560] the process moves to [562] where the input data requirements are outlined for the external system. For example, if a web service is to be called as part of this Action, then the input requirements of the web service are outlined so that this Action may communicate with the web service. In [565] the output requirements of the external system are defined so that as the Action communicates with the external system, data received from the external system is captured and available for use in later Actions. In [570], if “EXECUTABLE FUNCTION” was selected in [510], then step [572] is where the inputs are outlined needed to invoke the executable functions. Executable functions may include programs, scripts, services, libraries or any other mechanism not already covered whereby logic and algorithms may be performed. In [575], the outputs from executable function are outlined so that the data received may be captured for use in future Actions. In [580], the Code Category and all of its configuration are saved into the catalog of Code Categories for future reference and usage. -
FIG. 6 diagrams Unique Key Processing Routine(s) 600, which begins after an Optical Code has been scanned by the user with their mobile device, decoded, and sent to the Application Server. The decoded value of the optical code is the Unique Key created by the Publisher in [435] outlined inFIG. 4 . In [605] the Application Server searches for the Unique Key previously created in [435]. If not found in [607] the process ends, or if the Unique Key is found in [607], the Publisher's configured Code Category associated with the Unique Key and the customized list of Actions associated with the Unique Key are retrieved in [610]. In [612] a loop is started going through all Actions associated with the Unique Key. The ActionType of the current Action in [615] will be one of four ActionTypes, leading to [620], [630], [640], or [650]. If the ActionType in [615] is “COLLECT DATA FROM DEVICE” then [620] leads to [625] where the data previously defined in [542] inFIG. 5 is collected from the mobile device. If the ActionType in [615] is “CUSTOMIZE CONTENT” then [630] leads to step [631] where Controlled Access rules are evaluated governing authorization to the Publisher's Customized Content. In [632] the Publishers content (created in [425] ofFIG. 4 ) is retrieved based on the Controlled Access rules. In [634] the content customization rules are applied, such as the insertion of the user's name into the content as defined in [555] ofFIG. 5 . In [636], the customized content is sent to the mobile device and displayed to the user for interaction. In [638], the information collected from the user's interaction with the customized content is collected by the mobile device. In [639], any additional data required as defined in [559] ofFIG. 5 is collected from the mobile device. If the ActionType in [615] is “INTERFACE WITH EXTERNAL SYSTEM” then [640] leads to - where the data requirements for the inputs and outputs of the external system are collected, as defined in steps [562] and [565] of
FIG. 5 . In [644], data available to the system, including the data previously collected from previous Actions, or data associated with the user registration and/or preferences, may be used to populate the input data required to interact with the external system. In [646] the external system is called according to the defined data communications contract using the data populated in [644]. The external system responds in [648] according to the communications contract and the data received is collected and stored within the output fields defined in - of
FIG. 5 . If the ActionType in [615] is “EXECUTABLE FUNCTION” then [650] leads to [652] where the data requirements for calling the executable function are retrieved as defined in [572] and [575] ofFIG. 5 . In [654] data available to the system, including the data previously collected from previous Actions, or data associated with the user registration and/or preferences, may be used to populate the input data required to interact with the executable function. In [656] the executable function is invoked using the data collected and outlined in the communications contract, with the response data received and stored in [658] as defined in [575] ofFIG. 5 . In [660], all data collected from each Action of any ActionType is sent to the Application Server and saved by the Application Server in appropriate data stores for future reference. If there are additional Actions to process, then [665] will lead back to [612] where the next Action is retrieved. -
FIG. 7 diagrams a Vending Machine Code Category (700) example. The present invention provides the ability for a company who distributes goods via vending machines to leverage the System to sell items to customers. Customers will simply scan the Optical Code located on the vending machine with their Mobile Device. Immediately following the scanning of the Optical Code, they will be presented on their Mobile Device with a customized and personalized menu of options and pricing details available within the vending machine. Upon selection of an item to purchase, the System will perform a payment transaction using the user's previously stored payment information and the vending machine will dispense the item selected. A prerequisite of being able to transact in this way, the company will simply configure the Code Category available within the System which is designated for “vending machine” types of transactions. During this configuration process, the company will have the opportunity to add customized content for the menu which will be presented to the customer and to customize the endpoint locations of where the System will communicate with Vending machines. The system will communicate with the company's vending machine in order to retrieve available menu items as well as to tell the vending machine to dispense the selected item upon successful payment. Prerequisite to the Publisher being able to configure their own customized scenario, a Code Category must be created for a generic vending machine scenario. The detailed outline of how Code Categories are created is contained withinFIG. 5 [500]. In this case, a new Code Category will be created and in [505] it will be called “Vending Machine” and its description will be “A generic transaction outline between a mobile device and a vending machine”. In this example, the “Vending Machine” Code Category would include the following eight Actions: -
TABLE 1 Action ActionType Requirement Inputs Outputs 1. Get more COLLECT DATA Get GPS N/A GPS Location, Device Type, and data needed FROM DEVICE Location, User Name from the Device Type, device and User Name from Mobile Device and User's Profile 2. Get the INTERFACE Communicate Unique Key A list of items available within inventory and WITH with vending (the decoded the vending machine and their pricing details EXTERNAL machine (or value of the prices from the SYSTEM proxy system) Optical vending using the Code) machine endpoint, such as a URL or URI, to get inventory and prices. 3. Display a CUSTOMIZE A standard User “Hello [User Name], thanks for greeting CONTENT greeting Name shopping with us. We are message to the message is getting a list of what's included customer displayed to in this vending machine for you, the user one moment please.” customized with their name. 4. Create a CUSTOMIZE A default menu List of Items “<p>Here are the items menu to CONTENT user interface and Item available:</p> present to the written in Prices <table> customer HTML is <tbody> supplied with <tr><td>[Item</td> places where <td>[Item Price]</td></tr> the System will </tbody> insert available </table> items from the <p>Click on the item you'd like vending to purchase and then click machine and below </p> their prices. <p><a href = “#top”2 Purchase</a></p>” 5. Process INTERFACE Perform Charge Payment status (success or payment of WITH Payment amount, failure) selection EXTERNAL transaction payment SYSTEM using endpoint details location of payment processing system 6. Reject CUSTOMIZE Generate a Charge “Your payment of [Charge payment CONTENT default Amount Amount] could not be message to payment processed. Have a good day.” customer rejection message is supplied. 7. Dispense INTERFACE Communicate Item to Status of dispense request vending WITH with vending dispense (success or failure) machine item EXTERNAL machine (or SYSTEM proxy system) using the endpoint, such as a URL or URI, to dispense purchased item. 8. Purchase CUSTOMIZE Display User Name, “[User Name], thanks for your complete CONTENT standard Purchased purchase of a [Purchased Item]. confirmation message Item We hope to see you again!” message to confirming the customer purchase and thanking the customer. - With the generic vending machine Code Category in place, the Publisher can select it as an option referenced in step [415] of
FIG. 4 . The Publisher will then assign “COMPANY X VENDING INTERACTION” as the custom name in [422] for the customized configuration they are about to make for the vending machine Code Category. For the four “CUSTOMIZE CONTENT” Actions within the vending machine Code Category listed in Table 1, the Publisher will use or modify the default content associated with these Actions, or will supply their own content. For the three “INTERFACE WITH EXTERNAL SYSTEM” Actions in the vending machine Code Category, listed in Table 1, they will supply the endpoint locations of where their vending machine can be interacted with over an available network. - Now that the Publisher has customized the content and associated their own endpoints for external systems, the Publisher can create as many Optical Codes as they desire. In this example, the Publisher will create an Optical Code per vending machine. This process is outlined in
FIG. 4 , steps [432] through [460]. At this point, the Publisher will place Optical Codes on their vending machines and they are ready to start receiving customers through the System. - The customer now approaches a vending machine with an Optical Code in place, scans the Optical Code, and the Mobile Device sends the Unique Key (the decoded value of the Optical Code) to the Application Server. At this point, the Application Server looks up the Unique Key and finds that it is associated with the Publisher's “COMPANY X VENDING INTERACTION” configuration of the “Vending Machine” Code Category.
FIG. 7 outlines in detail the process steps that are completed once the Application Server has determined which Publisher's configuration and Code Category is to be used, starting in [705]. -
FIG. 8 diagrams how this present invention provides the ability for a greeting card to contain the personal text, pictures, and videos along with personalized and interactive content that can be added and is only accessible by the authorized user with the snap of his or her Mobile Device. The present invention allows publishers, like Hallmark Cards, Inc. or American Greetings Corporation, LLC, to publish a greeting card, with a single optical code, for example “C100”; whereby an unlimited numbers of users, called the Sender, can buy the greeting card (“C100”) bearing the same optical code and add personal content to a Receiver, e.g. a loved one or friend. The content is displayed only when the designated authorized Receiver of the greeting card snaps the optical code contained within the greeting card with a Mobile Device. Each Sender , for example the card purchaser, can add their personalized content and authorized recipients, Receivers, of their choice to access their personalized content. The Sender can authorize more than one person as the Receiver. Once the Sender of the greeting card has added both the personalized content and Receiver's information, including the Sender's phone number; then the Receiver of the Personalized and Interactive Greeting Card can snap the Optical Code published within the greeting card with a Mobile Device to access the personalized and interactive content. In this example, the customized and interactive content only displays on the Mobile Device of the Receiver that matches the Receiver's information associated with the Sender's phone number. Any users, who snap the same optical code and are not an authorized recipient (i.e., Receivers), do not have access to the personalized and interactive content of the Sender. The present invention provides the method and system to integrate customized and interactive content within a personal and tangible greeting card. The authorized recipient has controlled access to customized and interactive content and is accessible only to the assigned authorized recipient upon snapping the single optical code published within the greeting card using a Mobile Device. The present invention's system and method can be utilized with other published material including but not limited to stationary, invitations, bulletins, announcements, etc. Prerequisite to being able to create and distribute greeting cards of this type, a Code Category must exist within the system which will represent the generic “Greeting Card” scenario. The detailed outline of how Code Categories are created is contained withinFIG. 5 [500]. In this case, a new Code Category will be created and in [505] it will be called “Greeting Card” and its description will be “A generic transaction outline between a sender of a greeting card and a receiver of a greeting card”. This Code Category will be defined with the following seven Actions: - With the generic greeting card Code Category in place, the Publisher can select it as an option referenced in step [415] of
FIG. 4 . The Publisher will then assign “COMPANY X MOTHER BIRTHDAY CARD” as the custom name in [422] for the customized configuration they are about to make for the greeting card Code Category. For the three “CUSTOMIZE CONTENT” Actions within the greeting card Code Category listed in Table 2, the Publisher will use or modify the default content associated with these Actions, or will supply their own content. In this case, their content will be themed for a Mother's Birthday. There are no other Actions in this example which need configuration or customization by the Publisher. - Now that the Publisher has customized the content, the Publisher can create as many Optical Codes as they desire associated with their specific configuration of the Code Category. This process is outlined in
FIG. 4 , steps [432] through [460]. For this example, they will create one Optical Code for their “Mother's Birthday Card Theme” card and produce 100,000 prints. All 100,000 prints of this card will contain the exact same Optical Code. In this way, the “mother's birthday theme” can be incorporated into the Publisher's Custom Content within the System so that the visual theme of the printed card is also expressed in the Customized Content associated with the Optical Code. - The card purchaser (i.e., the CARD SENDER) now purchases the card, scans the Optical Code it contains, and the Mobile Device sends the Unique Key (the decoded value of the Optical Code) to the Application Server. At this point, the Application Server looks up the Unique Key and finds that it is associated with the Publisher's “COMPANY X MOTHER BIRTHDAY CARD” configuration of the “Greeting Card” Code Category.
FIG. 8 outlines in detail the process steps that are completed once the Application Server has determined which Publisher's configuration and Code Category is to be used, starting in [805]. -
FIG. 9 is a diagram showing how access to Controlled Access works at a high-level. A Publisher has created an Optical Code containing the Unique Key associated with their configuration of a Code Category. In [905] a User snaps an Optical Code which then leads to [907], where the Publisher's configured Code Category is processed. The entire method for processing a configured Code Category is outlined in detail inFIG. 6 [600]. The Code Category demonstrated in [900] contains an Action [910] where Controlled Access rules in [915] govern permission to view Customized Content in [920] and [925]. Default Controlled Access rules are established in [551] ofFIG. 5 as part of the Code Category's definition, and then the Controlled Access rules criteria is established by the Publisher in [423] ofFIG. 4 . The Publisher supplies Customized Content for Controlled Access rule criteria matches.FIG. 9 shows two Controlled Access rules each having their own Customized Content in [920] and [925]. If the User of a Mobile Device snapping the Optical Code matches the first Controlled Access criterion, then the Publisher's Customized Content A [920] will be displayed to the User, but if the User matches the second Controlled Access criterion, then Customized Content B [925] will be displayed to the User. If the User does not match any of the Controlled Access criteria, then the Unauthorized Access Content [930] will be displayed to the User. - For example, a Publisher creates an Optical Code for a Code Category which displays Customized Content to a User based on their Age. The Code Category is predefined according to [551] that Age is the Controlled Access rule for the specific Action shown in [910], and the Publisher then configures their Code Category according to [423] having two rule criteria. The first criterion is that the age of the User should be 50 or greater to have access to Customized Content A [920]. The second criterion is that Users having an age of 18 to 49 will have access to Customized Content B [925]. This results in Users who are younger than 18 not having access to any Customized Content, but will instead receive the Unauthorized Access Content [930].
- In summary, Controlled Access regulates which Customized Content a User can access, if any.
-
FIG. 10 illustrates how Controlled Access can be extended to include the idea of a Sender (see terms) and Receiver (see terms). Controlled Access rules are initially established by the Code Category and criteria are set by the Publisher based on their specific configuration of the Code Category. But, specific types of Customized Content may allow for Users to extend Controlled Access rules and/or send their own Customized Content, therefore augmenting the Publisher's Customized Content. As inFIG. 9 [900], the above illustrates how Controlled Access regulates which Customized Content a User can access, if any. In [1000], we introduce the concept that a User may influence Controlled Access rule criteria and may augment a Publisher's Customized Content with their own Customized Content. When User A using a Mobile Device snaps an Optical Code in [1005], the Publisher's Code Category Configuration is processed in [1055] and determines they should be presented with Customized Content A [1020] based on Controlled Access rules in [1015]. SeeFIG. 6 [600] for an entire overview of how Publisher configured Code Categories are processed, though not required to demonstrate the method expressed inFIG. 10 . Within Customized Content A [1020], the Publisher has given User A the ability to specify Controlled Access rules [1060] and Customized Content [1065] which will be used by subsequent Users (e.g., “OTHER USERS” in [1025]) who snap the same Optical Code with a Mobile Device and match the Controlled Access rules supplied. - For example, User A purchases two of the same greeting card, one to send to his mother and one to send to his sister. Both greeting cards contain the same Optical Code. When User A snaps the Optical Code from either card [1005], Controlled Access rules [1015] determines that he should be given access to Customized Content A [1020], which is the greeting card Publisher's Customized Content for sending the card to another person. Within Customized Content A [1020], User A is given the ability to supply his own Customized Content for each person he is sending the card to, along with a phone number which will be used to uniquely identify the card recipient. The phone number of the recipients is used to extend the Controlled Access rules [1060], allowing access to his Customized Content for users having the phone number he supplies. The Customized Content he supplies in [1065] for this example includes a text message and a digital photo. When his mother and sister independently receive their cards and snap the Optical Code with a Mobile Device (as “OTHER USERS” in [1025]), Controlled Access rules in [1035] will compare their phone numbers, based on their mobile device, to the phone numbers supplied by User A. If there is a match, each will be taken to the appropriate Customized Content at [1040] or [1045], which consists of the Publisher's original Customized Content now augmented with the User A's Customized Content (the text messages and photos). If a User snaps the Optical Code with a Mobile Device but their phone number does not match those set by User A, they will receive the Unauthorized Access Content in [1050].
- This present invention allows for either a Publisher or a Sender to Control Access to Customized Content by determining the criteria a User or group of Users must have in order to qualify for authorization. This is achieved through Controlled Access rules, which match criteria about the User or group of Users to what has been established within a Publisher's configuration of a Code Category or extended by a Sender using a Publisher's Customized Content to supply their own Customized Content. For example, a Publisher may want to regulate Content Access based on the gender of the User. When the Publisher configures their Code Category for their appropriate scenario, they will be allowed to supply Customized Content for each type of gender. This results in the User viewing the appropriate Customized Content upon snap of an Optical Code with a Mobile Device. Likewise, a Sender may also deliver their own Customized Content to a User or Group of Users by leveraging a Publisher's Customized Content. For example, a Publisher may create an Optical Code which is associated with Customized Content that will allow someone to send a video to a User or Group of Users based on their Zip Code. In order to receive the Customized Content, the User or group of Users must match the criteria required. In this example, the criterion is Zip Code 12345. All Users whose primary residence is within a specific Zip Code supplied by the Sender User will receive the Customized Content of the Sender. This is accomplished by associating the Unique Key with a value of “XYZ101” (the decoded value of the Optical Code) with the criterion of Zip Code 12345. Upon snapping the Optical Code with a Mobile Device, the System finds the associated configured Code Category, determines the Controlled Access rules, and compares the Zip Code 12345 against the User who is currently snapping the Optical Code. If their primary residence Zip Code is also 12345, which is stored either in their User profile or on their Mobile Device, then they are allowed to view the Sender's Customized Content. If they do not match the Zip Code, then they will receive an Unauthorized Access Content UI.
-
FIG. 11 diagrams more around the area of Controlled Access by showing a different view of what happens when a Sender sends something to a Receiver or set of Receivers. Prerequisite to this diagram the Application Server has received the Unique Key resultant from the mobile device decoding a scanned Optical Code and it is found as a validate Unique Key. Also, a Code Category associated with the Unique Key has been created with an ACTION that will request identifiable data for the Sender from user profile, Mobile Device, user input, or other available data source(s). The same Code Category contains an Action of “CUSTOMIZE CONTENT” with Rules defining Controlled Access for a Receiver. Rules are based on Receiver-related data to include but is not limited to one or any combination of: Phone Number, Email Address, Demographic data (such as age or gender), User Preference data (such as favorite color), Device data (such as current GPS location), or any other available data source. In [1105] the System collects information about the Sender, such as their phone number. In [1110] the Sender specifies specific criteria for the Receiver(s) of their Customized Content, such as a Receiver's phone number if to an individual or perhaps an age range (or set of age ranges) if to multiple individuals based on age. In [1115] the Sender supplies their Customized Content per criteria match. So, if sending Customized Content like a set of photos to an individual based on phone number, there will only be one criterion and therefore only one set of photos will be supplied by the Sender. But, if sending to a group of individuals, perhaps based on 3 age ranges, then 3 sets of photos may be supplied, one for each age range. In [1120] the association is made between the Sender, the Sender's criteria, the Receiver(s) (based on the criteria matches), the Sender's Customized Content and the Unique Key of the Optical Code. This allows relevant content to be ready for the appropriate Receiver(s) in [1125]. In - the data required to perform the Controlled Access rule check will be retrieved. In [1135] a CUSTOMIZE CONTENT Action will be performed where the Controlled Access rules will be executed in [1140]. If the Receiver matched the Controlled Access rule criteria, then they will receive the appropriate type of Customized Content in [1145]. This is another view on how the present invention provides the ability to use a single Optical Code and regulate variable content for individuals based on Controlled Access rules, Code Category configuration, and Customized Content.
- The present invention provides a method for the optical code to include one number, letter or symbol (e.g., an ASCII or Unicode character) positioned with one reference point. The present invention provides a method for the optical code to include two to twenty numbers positioned with or between three reference points. The present invention provides a method for the optical code to include two to twenty letters positioned with or between three reference points. The present invention provides a method for the optical code to include two to twenty symbols (e.g., ASCII or Unicode character) positioned with or between three reference points. The present invention provides a method for the optical code to include of a combination of two to twenty numbers, letters or symbols (e.g., ASCII or Unicode character) positioned with or between three reference points.
- While the invention has been shown and described in exemplary forms, it will be apparent to those skilled in the art that many modifications, additions, and deletions can be made therein without departing from the spirit and scope of the invention as defined by the following claims.
Claims (20)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/813,692 US10878208B2 (en) | 2016-11-16 | 2017-11-15 | Method and system that provides access to custom and interactive content from an optical code |
US17/128,624 US11397865B2 (en) | 2016-11-16 | 2020-12-21 | Method and system that provides access to custom and interactive content from an optical code |
US17/849,454 US11651172B2 (en) | 2016-11-16 | 2022-06-24 | Method and system that provides access to custom and interactive content from an optical code |
US18/131,125 US20230259727A1 (en) | 2016-11-16 | 2023-04-05 | Method and system that provides access to custom and interactive content from an optical code |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662422643P | 2016-11-16 | 2016-11-16 | |
US15/813,692 US10878208B2 (en) | 2016-11-16 | 2017-11-15 | Method and system that provides access to custom and interactive content from an optical code |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/128,624 Continuation US11397865B2 (en) | 2016-11-16 | 2020-12-21 | Method and system that provides access to custom and interactive content from an optical code |
Publications (2)
Publication Number | Publication Date |
---|---|
US20180137317A1 true US20180137317A1 (en) | 2018-05-17 |
US10878208B2 US10878208B2 (en) | 2020-12-29 |
Family
ID=62107951
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/813,692 Active US10878208B2 (en) | 2016-11-16 | 2017-11-15 | Method and system that provides access to custom and interactive content from an optical code |
US17/128,624 Active US11397865B2 (en) | 2016-11-16 | 2020-12-21 | Method and system that provides access to custom and interactive content from an optical code |
US17/849,454 Active US11651172B2 (en) | 2016-11-16 | 2022-06-24 | Method and system that provides access to custom and interactive content from an optical code |
US18/131,125 Pending US20230259727A1 (en) | 2016-11-16 | 2023-04-05 | Method and system that provides access to custom and interactive content from an optical code |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/128,624 Active US11397865B2 (en) | 2016-11-16 | 2020-12-21 | Method and system that provides access to custom and interactive content from an optical code |
US17/849,454 Active US11651172B2 (en) | 2016-11-16 | 2022-06-24 | Method and system that provides access to custom and interactive content from an optical code |
US18/131,125 Pending US20230259727A1 (en) | 2016-11-16 | 2023-04-05 | Method and system that provides access to custom and interactive content from an optical code |
Country Status (1)
Country | Link |
---|---|
US (4) | US10878208B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200184776A1 (en) * | 2018-12-11 | 2020-06-11 | Igt | Back-betting using a mobile device or other computing device |
US11037408B2 (en) * | 2018-12-11 | 2021-06-15 | Igt | System, method, and device for back-betting progressive prize pools in a gaming system |
US20220240107A1 (en) * | 2020-12-23 | 2022-07-28 | Harman International Industries, Incorporated | Methods and systems for dynamic adjustment of bluetooth low energy broadcasting and scanning |
US11468432B2 (en) * | 2019-08-09 | 2022-10-11 | Omnyway, Inc. | Virtual-to-physical secure remote payment to a physical location |
US20230185584A1 (en) * | 2021-12-13 | 2023-06-15 | Yext, Inc. | Custom publisher system integration |
US20230318831A1 (en) * | 2022-03-30 | 2023-10-05 | Yahoo Assets Llc | System and method of authentication of users of common reusable components |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8466220B2 (en) | 2008-04-24 | 2013-06-18 | PRC DeSoto International, Inc | Thioethers, methods for their preparation, and compositions including such thioethers |
US12125054B2 (en) | 2018-09-25 | 2024-10-22 | Valideck International Corporation | System, devices, and methods for acquiring and verifying online information |
US12099625B2 (en) * | 2022-02-04 | 2024-09-24 | Snowflake Inc. | Organizing, discovering and evaluating marketplace datasets and services by industry business needs |
US20240420203A1 (en) * | 2023-06-14 | 2024-12-19 | Google Llc | Accessing Information Associated With Digital Components |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050011958A1 (en) * | 2003-06-05 | 2005-01-20 | Ntt Docomo, Inc. | Apparatus and method for reading and decoding information contained in a barcode |
US20130159445A1 (en) * | 2010-08-10 | 2013-06-20 | Zonka And Associates | Multi-media electronic greeting card with social media component |
US20140034722A1 (en) * | 2012-08-01 | 2014-02-06 | Lawrence Kwang HAN | Method of Delivering Personalized Digital Events from a Single Scannable Two-Dimensional Barcode by Executing Computer-Executable Instructions Stored On a Non-Transitory Computer-Readable Medium |
US9022280B2 (en) * | 2011-06-24 | 2015-05-05 | Verisign, Inc. | Multi-mode barcode resolution system |
US20160012465A1 (en) * | 2014-02-08 | 2016-01-14 | Jeffrey A. Sharp | System and method for distributing, receiving, and using funds or credits and apparatus thereof |
US20160164958A1 (en) * | 2014-12-08 | 2016-06-09 | Ebay Inc | Delivering personalized content to authenticated user devices |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10540630B2 (en) * | 2013-01-18 | 2020-01-21 | Loop Commerce, Inc. | Systems and methods of enabling gifting of a gift product on a legacy merchant store front |
US20150356548A1 (en) * | 2014-06-09 | 2015-12-10 | Bravo, Llc | Systems and methods for providing a gratuity |
-
2017
- 2017-11-15 US US15/813,692 patent/US10878208B2/en active Active
-
2020
- 2020-12-21 US US17/128,624 patent/US11397865B2/en active Active
-
2022
- 2022-06-24 US US17/849,454 patent/US11651172B2/en active Active
-
2023
- 2023-04-05 US US18/131,125 patent/US20230259727A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050011958A1 (en) * | 2003-06-05 | 2005-01-20 | Ntt Docomo, Inc. | Apparatus and method for reading and decoding information contained in a barcode |
US20130159445A1 (en) * | 2010-08-10 | 2013-06-20 | Zonka And Associates | Multi-media electronic greeting card with social media component |
US9022280B2 (en) * | 2011-06-24 | 2015-05-05 | Verisign, Inc. | Multi-mode barcode resolution system |
US20140034722A1 (en) * | 2012-08-01 | 2014-02-06 | Lawrence Kwang HAN | Method of Delivering Personalized Digital Events from a Single Scannable Two-Dimensional Barcode by Executing Computer-Executable Instructions Stored On a Non-Transitory Computer-Readable Medium |
US20160012465A1 (en) * | 2014-02-08 | 2016-01-14 | Jeffrey A. Sharp | System and method for distributing, receiving, and using funds or credits and apparatus thereof |
US20160164958A1 (en) * | 2014-12-08 | 2016-06-09 | Ebay Inc | Delivering personalized content to authenticated user devices |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200184776A1 (en) * | 2018-12-11 | 2020-06-11 | Igt | Back-betting using a mobile device or other computing device |
US11037408B2 (en) * | 2018-12-11 | 2021-06-15 | Igt | System, method, and device for back-betting progressive prize pools in a gaming system |
US11080967B2 (en) * | 2018-12-11 | 2021-08-03 | Igt | Back-betting using a mobile device or other computing device |
US11663885B2 (en) | 2018-12-11 | 2023-05-30 | Igt | Back-betting using a mobile device or other computing device |
US11875646B2 (en) | 2018-12-11 | 2024-01-16 | Igt | System, method, and device for back-betting progressive prize pools in a gaming system |
US11468432B2 (en) * | 2019-08-09 | 2022-10-11 | Omnyway, Inc. | Virtual-to-physical secure remote payment to a physical location |
US20220240107A1 (en) * | 2020-12-23 | 2022-07-28 | Harman International Industries, Incorporated | Methods and systems for dynamic adjustment of bluetooth low energy broadcasting and scanning |
US12096247B2 (en) * | 2020-12-23 | 2024-09-17 | Harman International Industries, Incorporated | Methods and systems for dynamic adjustment of bluetooth low energy broadcasting and scanning |
US20230185584A1 (en) * | 2021-12-13 | 2023-06-15 | Yext, Inc. | Custom publisher system integration |
US20230318831A1 (en) * | 2022-03-30 | 2023-10-05 | Yahoo Assets Llc | System and method of authentication of users of common reusable components |
Also Published As
Publication number | Publication date |
---|---|
US10878208B2 (en) | 2020-12-29 |
US20230259727A1 (en) | 2023-08-17 |
US11651172B2 (en) | 2023-05-16 |
US20210110124A1 (en) | 2021-04-15 |
US11397865B2 (en) | 2022-07-26 |
US20220335237A1 (en) | 2022-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11651172B2 (en) | Method and system that provides access to custom and interactive content from an optical code | |
US11037119B2 (en) | Architecture and associated methodology for data standardization and utilization in retail industry applications | |
US11463576B1 (en) | Screen interface for a mobile device apparatus | |
US9787617B2 (en) | Method and system for establishing a communication between mobile computing devices | |
US11941226B2 (en) | Multimedia content based transactions | |
US8849827B2 (en) | Method and apparatus for automatically tagging content | |
US9519809B2 (en) | Systems, methods, and apparatuses for associating flexible internet based information with physical objects | |
US8533192B2 (en) | Content capture device and methods for automatically tagging content | |
US9294293B2 (en) | Virtual contact cards | |
US20120067954A1 (en) | Sensors, scanners, and methods for automatically tagging content | |
AU2017341105B2 (en) | Method and system for establishing a communication between mobile computing devices | |
US10909479B2 (en) | Personalized multimedia autographing system | |
US20090177975A1 (en) | Image design system | |
US20190318332A1 (en) | Systems and methods for integrating multi-media, financial, merchant, and consumer data | |
US20140358711A1 (en) | Network-based gift service | |
US20240303938A1 (en) | Augmented reality secondary content system and method | |
US20240311849A1 (en) | Computerized method and system for generating a commemorative item | |
US20220414551A1 (en) | Mobile App for Sporting Events/Concerts | |
KR20130082745A (en) | Method for reserving seat realtime using qr code | |
WO2019119071A1 (en) | Systems and methods for real-time video streaming | |
US20190340704A1 (en) | Personalized Multimedia Autographing System | |
JP2022105345A (en) | Method for gifting commodity to remote event participant | |
WO2017028594A1 (en) | An improved messaging system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
AS | Assignment |
Owner name: NFOSNAP, INC., GEORGIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LEE, STEPHON;RICE, CLINTON;REEL/FRAME:049077/0869 Effective date: 20171115 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: NFOSMART, INC., GEORGIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NFOSNAP, INC.;REEL/FRAME:056686/0086 Effective date: 20210628 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 4 |