The present invention relates generally to systems and method for creating virtual coupons from physical coupons.
Existing technologies in which 2-D images are captured and utilized for comparisons to a data store for subsequent action/response based on the application of the existing technology. For example, when a person is fingerprinted (e.g., taken to jail for booking) their fingerprints are taken and are often then processed for analysis by the AFIS/IAFIS system which returns a response as to the history associated with the submitted fingerprints. In this example the fingerprints get scanned at the jail and submitted to the AFIS/IAFIS system for analysis. This is an example of 2-D scanning of a physical representation of the fingerprints (fingerprint data sheet—i.e., paper) which converts them to an electronic form for analysis.
Where this invention departs from this current technology is its capabilities of multi-modal data capture, integration with a data service for purposes of facilitating a purchase or related services (e.g., advertisements, coupons, virtual coupons, SMS messaging, etc.), converting or rendering of a physical single or multi-modal artifact (such as a printed coupon found in a magazine) into a virtual coupon or artifact for subsequent processing, and the transmission of the virtual coupon for purposes of purchasing a product or service of interest.
Existing technology does not allow a user to create virtual coupons from physical coupons, and redeem the virtual coupon at merchant in the same manner as the physical coupon, such as through the use of a “coupon wallet” that stores the virtual coupons for the user.
The present invention attempts to solve these problems as well as others.
Methods and systems are provided herein for creating a virtual coupon from a physical coupon. The user engages a physical coupon by scanning a multi-modal artifact or code from the physical coupon with a digital device. The physical coupon can be a printed coupon or advertisement, a media broadcast (such as television, radio, internet, etc.), and/or the like. The digital device may be a smartphone, tablet, laptop, smart remote, e-reader, and/or the like, which is capable of capturing multi-modal artifacts or codes, or running a computer-implemented software program to create and retrieve virtual coupons.
A user's digital device allows users to engage (“scan”) artifacts from the physical coupon. In some embodiments, a multi-modal image recognition application allows for the capture of data that can be representative of a sensory input, or be digitally encoded information. The digitally encoded data could represent a barcode, a 2D code, a 3D code, a 3D-VR code, a matrix code, a data matrix, video, audio, a QR code, or other such symbologies. Captured multi-modal artifact data may alternatively be representative of a pure image, a Near Field Communications (NFC) tag, the selection of an internet link by the user, Radio Frequency Identification (RFID) tag, Bluetooth, Infrared, wireless communication, a software input, or the like.
The virtual coupon may be communicated from a data repository or server, which acts upon the multi-modal artifact and returns a reply message to the user's digital device. In one embodiment, the communicated data further comprises a user ID, a hardware ID, a geocode, a timestamp, a subject code, a source code, and/or a content code. In some embodiments, the server is a code triggered information server (CTIS). The reply message may include, but is not limited to: a virtual coupon associated with the scanned multi-modal artifact, a discount code associated with the scanned multi-modal artifact, or a user query associated with the scanned multi-modal artifact. In one embodiment, the reply message communicates a query to the user's digital device, prompting the user whether he or she wants to redeem the virtual coupon at that time. If so, the server will communicate the virtual coupon to the user's digital device for immediate redemption. If the user responds that he or she does not wish to redeem the virtual coupon immediately, the virtual coupon will be stored for subsequent redemption. The virtual coupon may be stored in different manners, depending on the embodiment of the invention. In one embodiment, the virtual coupon is stored in the local storage of the user's digital device. In another embodiment, the virtual coupon is stored in a second data repository, such as a “coupon wallet” associated with a user profile unique to the user.
When a user subsequently requests a stored virtual coupon, either from the digital device's local storage or the coupon wallet, the server will query the user as to which virtual coupon is being retrieved. Once selected, the virtual coupon will be retrieved from local storage or the coupon wallet, and communicated to the user's digital device. The user's digital device can then interface with a point of sale system, to communicate the virtual coupon to the point of sale system. The point of sale system may be associated with a 3rd party system. The communication of the virtual coupon to the point of sale system may be by Near Field Communication (NFC), infrared (IR), Short Message Service (SMS), Multimedia Messaging Service (MMS), instant messaging, web browser based messaging, email, Enhanced Messaging System, TCP/IP, WAP, barcode, and/or the like. Once the virtual coupon is transmitted to the point of sale system, the user is able to complete a transaction redeeming the virtual coupon. In one embodiment, the virtual coupon is removed from local storage or the coupon wallet after redemption by the user. In another embodiment, alternative digital rights management (DRM) software may be used to prevent coupon copying, sharing, and/or the like. In another embodiment, there is no DRM software or deletion of the virtual coupon.
In one embodiment of the invention, the user is notified of a stored virtual coupon previously created from a physical coupon. The notification of the user of the stored virtual coupon occurs when a condition is satisfied. The condition may, without limitation, be: a date, the current location of the user, a predicted location of the user, a second multi-modal artifact scanned by the user, based on a user profile, and/or the like. After notification, the virtual coupon in question may be retrieved by the user as described above.
In some embodiments of the invention, a fee may be recorded based on the user response to the reply message, based on the communication of a virtual coupon to a point of sale system, based on the user response to a notification of a stored virtual coupon, and/or the like.
Embodiments of the present invention also exist where the virtual coupon is created by an application on the digital device. This application may or may not communicate with a data repository or server to create the virtual coupon.
The accompanying appendices and/or drawings illustrate various non-limiting, example, inventive aspects in accordance with the present disclosure:
a shows three types of 2D barcodes that may be employed within the CTIS;
a-b show an illustration of one embodiment of a user profile data structure and an implementation of a user profile user interface in one embodiment of GCSI/CTIS operation;
a-d show some embodiments of systems for selecting non-triggered information and/or virtual coupons to serve to users;
a-b show examples of virtual coupons provided by the CTIS;
a-b show an implementation of logic flow for code scan monetization in one embodiment of GCSI/CTIS operation;
a-e show aspects of implementations of JagTag encoding and codes in some embodiments of GCSI/CTIS operation;
a is a block diagram illustrating a CTIS configured to assign users having similar interests and situation information into dynamic groups according to an embodiment; and
Typically, users, which may be people and/or other systems, engage information technology systems (e.g., commonly computers) to facilitate information processing. In turn, computers employ processors to process information; such processors are often referred to as central processing units (CPU). A common form of processor is referred to as a microprocessor. CPUs use communicative signals to enable various operations. Such communicative signals may be stored and/or transmitted in batches as program and/or data components facilitate desired operations. These stored instruction code signals may engage the CPU circuit components to perform desired operations. A common type of program is a computer operating system, which, commonly, is executed by CPU on a computer; the operating system enables and facilitates users to access and operate computer information technology and resources. Common resources employed in information technology systems include: input and output mechanisms through which data may pass into and out of a computer; memory storage into which data may be saved; and processors by which information may be processed. Often information technology systems are used to collect data for later retrieval, analysis, and manipulation, commonly, which is facilitated through a database program. Information technology systems provide interfaces that allow users to access and operate various system components.
In one embodiment, the code triggered information server controller 3401 may be connected to and/or communicate with entities such as, but not limited to: one or more users from user input devices 3411; peripheral devices 3412; a cryptographic processor device 3428; and/or a communications network 3413, as shown in
Networks are commonly thought to comprise the interconnection and interoperation of clients, servers, and intermediary nodes in a graph topology. It should be noted that the term “server” as used throughout this disclosure refers generally to a computer, other device, program, or combination thereof that processes and responds to the requests of remote users across a communications network. Servers serve their information to requesting “clients.” The term “client” as used herein refers generally to a computer, other device, program, or combination thereof that is capable of processing and making requests and obtaining and processing any responses from servers across a communications network. A computer, other device, program, or combination thereof that facilitates, processes information and requests, and/or furthers the passage of information from a source user to a destination user is commonly referred to as a “node.” Networks are generally thought to facilitate the transfer of information from source points to destinations. A node specifically tasked with furthering the passage of information from a source to a destination is commonly called a “router.” There are many forms of networks such as Local Area Networks (LANs), Pico networks, Wide Area Networks (WANs), Wireless Networks (WLANs), etc. For example, the Internet is generally accepted as being an interconnection of a multitude of networks whereby remote clients and servers may access and interoperate with one another.
The code triggered information server controller 3401 may be based on common computer systems that may comprise, but are not limited to, components such as: a computer systemization 3402 connected to memory 3429.
A computer systemization 3402 may comprise a clock 3430, central processing unit (CPU) 3403, a read only memory (ROM) 3406, a random access memory (RAM) 3405, and/or an interface bus 3407, and most frequently, although not necessarily, are all interconnected and/or communicating through a system bus 3404, as shown in
The CPU comprises at least one high-speed data processor adequate to execute program components for executing user and/or system-generated requests. The CPU may be a microprocessor such as AMD's Athlon, Duron and/or Opteron; IBM and/or Motorola's PowerPC; IBM's and Sony's Cell processor; Intel's Celeron, Itanium, Pentium, Xeon, and/or XScale; and/or the like processor(s). The CPU interacts with memory through signal passing through conductive conduits to execute stored signal program code according to conventional data processing techniques. Such signal passing facilitates communication within the code triggered information server controller and beyond through various interfaces. Should processing requirements dictate a greater amount speed, parallel, mainframe and/or super-computer architectures may similarly be employed. Alternatively, should deployment requirements dictate greater portability, smaller Personal Digital Assistants (PDAs) may be employed.
The power source 3486 may be of any standard form for powering small electronic circuit board devices such as the following power cells: alkaline, lithium hydride, lithium ion, lithium polymer, nickel cadmium, solar cells, and/or the like, as shown in
Interface bus(ses) 3407 may accept, connect, and/or communicate to a number of interface adapters, conventionally although not necessarily in the form of adapter cards, such as but not limited to: input output interfaces (I/O) 3408, storage interfaces 3409, network interfaces 3410, and/or the like, as shown in
Storage interfaces 3409 may accept, communicate, and/or connect to a number of storage devices such as, but not limited to: storage devices 3414, removable disc devices, and/or the like. Storage interfaces may employ connection protocols such as, but not limited to: (Ultra) (Serial) Advanced Technology Attachment (Packet Interface) ((Ultra) (Serial) ATA(PI)), (Enhanced) Integrated Drive Electronics ((E)IDE), Institute of Electrical and Electronics Engineers (IEEE) 1394, fiber channel, Small Computer Systems Interface (SCSI), Universal Serial Bus (USB), and/or the like.
Network interfaces 3410 may accept, communicate, and/or connect to a communications network 3413. Through a communications network 3413, the code triggered information server controller is accessible through remote clients 3433b (e.g., computers with web browsers) by users 3433a. Network interfaces may employ connection protocols such as, but not limited to: direct connect, Ethernet (thick, thin, twisted pair 10/100/1000 Base T, and/or the like), Token Ring, wireless connection such as IEEE 802.11a-x, and/or the like. A communications network may be any one and/or the combination of the following: a direct interconnection; the Internet; a Local Area Network (LAN); a Metropolitan Area Network (MAN); an Operating Missions as Nodes on the Internet (OMNI); a secured custom connection; a Wide Area Network (WAN); a wireless network (e.g., employing protocols such as, but not limited to a Wireless Application Protocol (WAP), I-mode, and/or the like); and/or the like. A network interface may be regarded as a specialized form of an input output interface. Further, multiple network interfaces 3410 may be used to engage with various communications network types 3413. For example, multiple network interfaces may be employed to allow for the communication over broadcast, multicast, and/or unicast networks.
Input Output interfaces (I/O) 3408 may accept, communicate, and/or connect to user input devices 3411, peripheral devices 3412, cryptographic processor devices 3428, and/or the like. I/O may employ connection protocols such as, but not limited to: Apple Desktop Bus (ADB); Apple Desktop Connector (ADC); audio: analog, digital, monaural, RCA, stereo, and/or the like; IEEE 1394a-b; infrared; joystick; keyboard; midi; optical; PC AT; PS/2; parallel; radio; serial; USB; video interface: BNC, coaxial, composite, digital, Digital Visual Interface (DVI), RCA, RF antennae, S-Video, VGA, and/or the like; wireless; and/or the like. A common output device is a television set, which accepts signals from a video interface. Also, a video display, which typically comprises a Cathode Ray Tube (CRT) or Liquid Crystal Display (LCD) based monitor with an interface (e.g., DVI circuitry and cable) that accepts signals from a video interface, may be used. The video interface composites information generated by a computer systemization and generates video signals based on the composited information in a video memory frame. Typically, the video interface provides the composited video information through a video connection interface that accepts a video display interface (e.g., an RCA composite video connector accepting an RCA composite video cable; a DVI connector accepting a DVI display cable, etc.).
User input devices 3411 may be card readers, dongles, finger print readers, gloves, graphics tablets, joysticks, keyboards, mouse (mice), remote controls, retina readers, trackballs, trackpads, and/or the like.
Peripheral devices 3412 may be connected and/or communicate to I/O and/or other facilities of the like such as network interfaces, storage interfaces, and/or the like. Peripheral devices may be audio devices, cameras, dongles (e.g., for copy protection, ensuring secure transactions with a digital signature, and/or the like), external processors (for added functionality), goggles, microphones, monitors, network interfaces, printers, scanners, storage devices, video devices, video sources, visors, and/or the like.
It should be noted that although user input devices and peripheral devices may be employed, the code triggered information server controller may be embodied as an embedded, dedicated, and/or monitor-less (i.e., headless) device, wherein access would be provided over a network interface connection.
Cryptographic units such as, but not limited to, microcontrollers, processors 3426, interfaces 3427, and/or devices 3428 may be attached, and/or communicate with the code triggered information server controller. A MC68HC16 microcontroller, commonly manufactured by Motorola Inc., may be used for and/or within cryptographic units. Equivalent microcontrollers and/or processors may also be used. The MC68HC16 microcontroller utilizes a 16-bit multiply-and-accumulate instruction in the 16 MHz configuration and requires less than one second to perform a 512-bit RSA private key operation. Cryptographic units support the authentication of communications from interacting agents, as well as allowing for anonymous transactions. Cryptographic units may also be configured as part of CPU. Other commercially available specialized cryptographic processors include VLSI Technology's 33 MHz 6868 or Semaphore Communications' 40 MHz Roadrunner 184.
Generally, any mechanization and/or embodiment allowing a processor to affect the storage and/or retrieval of information are regarded as memory 3429, as shown in
The memory 3429 may contain a collection of program and/or database components and/or data such as, but not limited to: operating system component(s) 3415 (operating system); information server component(s) 3416 (information server); user interface component(s) 3417 (user interface); Web browser component(s) 3418 (Web browser); database(s) 3419; mail server component(s) 3421; mail client component(s) 3422; cryptographic server component(s) 3420 (cryptographic server); the code triggered information server component(s) 3435; and/or the like (i.e., collectively a component collection), as shown in
The operating system component 3415 is an executable program component facilitating the operation of the code triggered information server controller, as shown in
The operating system component 3415 may also be a mobile operating system, mobile OS, such as iOS (Apple), ANDROID, WINDOWS PHONE (Microsoft), WINDOWS PHONE 7 (Microsoft), BLACKBERRY OS (RIM), WebOS (Hewlett-Packard), MEEGO or SYMBIAN, for example. The mobile OS may be a manufacture-built proprietary operating system, a third party proprietary, or an open source operating system. Mobile OS's are employed on a wide variety of mobile devices useful with the present invention, such as smartphones and tablet computers.
An information server component 3416 is a stored program component that is executed by a CPU, as shown in
Access to the code triggered information server database may be achieved through a number of database bridge mechanisms such as through scripting languages as enumerated below (e.g., CGI) and through inter-application communication channels as enumerated below (e.g., CORBA, WebObjects, etc.). Any data requests through a Web browser are parsed through the bridge mechanism into appropriate grammars as required by the code triggered information server. In one embodiment, the information server would provide a Web form accessible by a Web browser. Entries made into supplied fields in the Web form are tagged as having been entered into the particular fields, and parsed as such. The entered terms are then passed along with the field tags, which act to instruct the parser to generate queries directed to appropriate tables and/or fields. In one embodiment, the parser may generate queries in standard SQL by instantiating a search string with the proper join/select commands based on the tagged text entries, wherein the resulting command is provided over the bridge mechanism to the code triggered information server as a query. Upon generating query results from the query, the results are passed over the bridge mechanism, and may be parsed for formatting and generation of a new results Web page by the bridge mechanism. Such a new results Web page is then provided to the information server, which may supply it to the requesting Web browser.
Also, an information server may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, and/or responses.
The function of computer interfaces in some respects is similar to automobile operation interfaces. Automobile operation interface elements such as steering wheels, gearshifts, and speedometers facilitate the access, operation, and display of automobile resources, functionality, and status. Computer interaction interface elements such as check boxes, cursors, menus, scrollers, and windows (collectively and commonly referred to as widgets) similarly facilitate the access, operation, and display of data and computer hardware and operating system resources, functionality, and status. Operation interfaces are commonly called user interfaces. Graphical user interfaces (GUIs) such as the Apple Macintosh Operating System's Aqua or Lion, Microsoft's Windows XP, Windows 7 or Unix's X-Windows provide a baseline and means of accessing and displaying information graphically to users. Mobile OS's, discussed above, also typically employ GUIs, but may also be text-based, and provide user interfaces to mobile devices.
A user interface component 3417, whether on a desktop or laptop computing device or a mobile device, is a stored program component that is executed by a CPU, as shown in
A Web browser component 3418 is a stored program component that is executed by a CPU, as shown in
A mail server component 3421 is a stored program component that is executed by a CPU 3403, as shown in
Access to the code triggered information server mail may be achieved through a number of APIs offered by the individual Web server components and/or the operating system.
Also, a mail server may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, information, and/or responses.
A mail client component 3422 is a stored program component that is executed by a CPU 3403, as shown in
A cryptographic server component 3420 is a stored program component that is executed by a CPU 3403, cryptographic processor 3426, cryptographic processor interface 3427, cryptographic processor device 3428, and/or the like, as shown in
The code triggered information server database component 3419 may be embodied in a database and its stored data, as shown in
Alternatively, the code triggered information server database may be implemented using various standard data-structures, such as an array, hash, (linked) list, struct, structured text file (e.g., XML), table, and/or the like. Such data-structures may be stored in memory and/or in (structured) files. In another alternative, an object-oriented database may be used, such as Frontier, ObjectStore, Poet, Zope, and/or the like. Object databases can include a number of object collections that are grouped and/or linked together by common attributes; they may be related to other object collections by some common attributes. Object-oriented databases perform similarly to relational databases with the exception that objects are not just pieces of data but may have other types of functionality encapsulated within a given object. If the code triggered information server database is implemented as a data-structure, the use of the code triggered information server database 3419 may be integrated into another component such as the code triggered information server component 3435. Also, the database may be implemented as a mix of data structures, objects, and relational structures. Databases may be consolidated and/or distributed in countless variations through standard data processing techniques. Portions of databases, e.g., tables, may be exported and/or imported and thus decentralized and/or integrated.
In one embodiment, the database component 3419 includes several tables 3419a,b. A user profile table 3419a includes fields such as, but not limited to: a user ID, name, email address, address, demographic profile, hardware ID, scan history record, scan statistics, and/or the like. The user profile table may support and/or track multiple entity accounts on a code triggered information server. An Information Base table 3419b includes fields such as, but not limited to: 3rd party provider ID, 3rd party ID, 3rd party preference content, preference labels, geographic tags, temporal tags, subject tags, preference ratings, preference statistics, and/or the like.
In one embodiment, the code triggered information server database may interact with other database systems. For example, employing a distributed database system, queries and data access by OLBS modules may treat the combination of the code triggered information server database, an integrated data security layer database as a single database entity.
In one embodiment, user programs may contain various user interface primitives, which may serve to update the code triggered information server. Also, various accounts may require custom database tables depending upon the environments and the types of clients the code triggered information server may need to serve. It should be noted that any unique fields may be designated as a key field throughout. In an alternative embodiment, these tables have been decentralized into their own databases and their respective database controllers (i.e., individual database controllers for each of the above tables). Employing standard data processing techniques, one may further distribute the databases over several computer systemizations and/or storage devices. Similarly, configurations of the decentralized database controllers may be varied by consolidating and/or distributing the various database components 3419a,b. The code triggered information server may be configured to keep track of various settings, inputs, and parameters via database controllers.
The code triggered information server database may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the code triggered information server database communicates with the code triggered information server component, other program components, and/or the like. The database may contain, retain, and provide information regarding other nodes and data.
The code triggered information server component 3435 is a stored program component that is executed by a CPU, as shown in
The code triggered information server component enables the identification, generation, and aggregation of Scan Messages and Reply Messages.
The code triggered information server component enabling access of information between nodes may be developed by employing standard development tools such as, but not limited to: (ANSI) (Objective-) C (++), Apache components, binary executables, database adapters, Java, JavaScript, mapping tools, procedural and object oriented development tools, PERL, Python, shell scripts, SQL commands, web application server extensions, WebObjects, and/or the like. In one embodiment, the code triggered information server employs a cryptographic server to encrypt and decrypt communications. The code triggered information server component may communicate to and/or with other components in a component collection, including itself, and/or facilities of the like. Most frequently, the code triggered information server component communicates with the code triggered information server database, operating systems, other program components, and/or the like. The code triggered information server may contain, communicate, generate, obtain, and/or provide program component, system, user, and/or data communications, requests, preferences, and/or responses.
The structure and/or operation of any of the code triggered information server node controller components may be combined, consolidated, and/or distributed in any number of ways to facilitate development and/or deployment. Similarly, the component collection may be combined in any number of ways to facilitate deployment and/or development. To accomplish this, one may integrate the components into a common code base or in a facility that can dynamically load the components on demand in an integrated fashion.
The component collection may be consolidated and/or distributed in countless variations through standard data processing and/or development techniques. Multiple instances of any one of the program components in the program component collection may be instantiated on a single node, and/or across numerous nodes to improve performance through load-balancing and/or data-processing techniques. Furthermore, single instances may also be distributed across multiple controllers and/or storage devices; e.g., databases. All program component instances and controllers working in concert may do so through standard data processing communication techniques.
The configuration of the code triggered information server controller will depend on the context of system deployment. Factors such as, but not limited to, the budget, capacity, location, and/or use of the underlying hardware resources may affect deployment requirements and configuration. Regardless of if the configuration results in more consolidated and/or integrated program components, results in a more distributed series of program components, and/or results in some combination between a consolidated and distributed configuration, data may be communicated, obtained, and/or provided. Instances of components consolidated into a common code base from the program component collection may communicate, obtain, and/or provide data. This may be accomplished through intra-application data processing communication techniques such as, but not limited to: data referencing (e.g., pointers), internal messaging, object instance variable communication, shared memory space, variable passing, and/or the like.
If component collection components are discrete, separate, and/or external to one another, then communicating, obtaining, and/or providing data with and/or to other component components may be accomplished through inter-application data processing communication techniques such as, but not limited to: Application Program Interfaces (API) information passage; (distributed) Component Object Model ((D)COM), (Distributed) Object Linking and Embedding ((D)OLE), and/or the like), Common Object Request Broker Architecture (CORBA), process pipes, shared files, and/or the like. Messages sent between discrete component components for inter-application communication or within memory spaces of a singular component for intra-application communication may be facilitated through the creation and parsing of a grammar. A grammar may be developed by using standard development tools such as lex, yacc, XML, and/or the like, which allow for grammar generation and parsing functionality, which in turn may form the basis of communication messages within and between components. Again, the configuration will depend upon the context of system deployment.
Point of sale (POS) (also sometimes referred to as Point of purchase (POP)) or checkout is the location where a transaction occurs. A “checkout” refers to a POS terminal or more generally to the hardware and software used for checkouts, the equivalent of an electronic cash register. A POS terminal manages the selling process by a salesperson accessible interface. The same system allows the creation and printing of the receipt.
Computerized POS systems and interconnecting POS devices. OPOS (OLE for POS) was the first commonly-adopted standard and was created by Microsoft, NCR Corporation, Epson and Fujitsu-ICL. OPOS is a COM-based interface compatible with all COM-enabled programming languages for Microsoft Windows. OPOS was first released in 1996. JavaPOS was developed by Sun Microsystems, IBM, and NCR Corporation in 1997. JavaPOS is for Java what OPOS is for Windows, and thus largely platform independent. Computerized POS systems may connect to the internet or to the CTIS server and database to retrieve coupons, promotional codes, discount codes, etc.
There are several communication protocols POS systems use to control peripherals. Among them are: EPSON Esc/POS, UTC Standard, UTC Enhanced, AEDEX, ICD 2002, Ultimate, CD 5220, DSP-800, ADM 787/788, HP. A checkout system generally involves the following components: General computer hardware, General computer software, Checkout hardware, Checkout software, miscellaneous store hardware.
Most POS peripherals, such as displays and printers, support several of these command protocols in order to work with many different brands of POS terminals and computers. POS peripherals may be enabled by scan coding, Near Field Communications, Infrared, Bluetooth, or other multi-modal artifact scanning abilities for virtual coupons, discussed further below.
In one embodiment, a code triggered information server (CTIS) employs two basic actors: (i) a user (200a) capable of registering interest in an activity, transmitting and receiving data, and displaying information and virtual coupons; and (ii) a server (201) capable of communicating with the user, storing/updating user profiles, and selecting information and virtual coupons to serve to the user, as shown in
In one embodiment, users of the CTIS scan coupon codes/artifacts to register interest and the CTIS acts as a portal for consumers to access virtual coupons supplemental to the context in which the coupon codes/artifacts are found. Users may scan coupon codes/artifacts found in printed coupons, media publications, on billboards or signs, on consumer products or packages, on websites or television screens, and/or the like. In doing so, the users may identify themselves via an identification code specific to the mobile device and service account with which the scan is made. At the same time, the scanned coupon code/artifact can be recorded, as well as the time of day and user location; such information may form the basis of consumer profiles that may be saved by the CTIS. As these scans are indicative of interest in various subjects, goods, and/or services, they may serve as a basis for an individual customer tracking system. As such, coupon or discount providers can finely tune and efficiently tailor their efforts towards achieving maximum return on the couponing or discount expenditure. Without loss of generality, coupon or discount providers will heretofore be referred to as “Virtual Coupon providers,” “marketers,” or “discount providers.”
Artifacts capable of being capture include, among other things, 3D barcodes that are have regions of differing heights, with the regions, their patterns and their relative heights being representative of data. In accordance with one embodiment of the present invention, the three dimensional nature of artifacts, including barcodes, may be used advantageously for allowing sight or hearing impaired individuals to capture data from artifacts with 3D codes, whether 3D barcodes per se, or other 3D surfaces capable of acting as data sources, and have that data captured, processed and provided to such individuals in a form that makes the information encoded by the 3D data more available to the user. In one particular embodiment, sight impaired individuals often employ their haptic senses to, for example, read using braille, to scan products to identify container shapes or features or the like. These skills are, of course, learned and require considerable effort on the part of the individual. The present invention may be used with sight impaired individuals to capture sensory data otherwise unavailable or difficult to access to such individuals and convert the sensory data into a usable form, e.g., sounds. Similarly, in accordance with another embodiment of the invention, a hearing impaired individual may use the present invention to capture audible sensory data, e.g., music, street sounds, warning sounds or the like, and covert such unavailable or difficult to access sensory data in a form, e.g., visual, that renders such audible sensory data more available and meaningful to a hearing impaired individual. In this manner, the present invention may be employed to simply capture and convert data existent in one sensory form to another sensory form that is more useful or available to a user having a particular disability or impairment.
The data captured may be single mode or multi-modal data, and may consist, for example of any sensory-type input, e.g., visual, auditory, olfactory, haptics or gustatory. Visual inputs may consist of image capture, pattern recognition, text recognition, bar codes (such as UPC or QR codes), hand gestures, or the like. Auditory inputs may consist of music, sound recognition, sound pattern recognition, spoken word recognition, or the like. Olfactory inputs may consist of inputs from artificial noses, such as that described by Stitzel, S. E., et al. in Artificial Noses, Ann. Rev. Biomed. Eng. Vol. 13, 1-25 (August 2011) or in U.S. Pat. No. 7,261,857, gas chromatographs or other instruments for detecting the presence of airborne elements. Tactile inputs may consist of data acquired by virtue of surface roughness measurements, such as by atomic force microscopy, by a tactile-sensing system such as that described by Decherchi, S., et al., IEEE Transactions on Robotics, 27(3), 635-639, June, 2011, or by tactile sensors as described in U.S. Pat. No. 7,823,467, each of which is expressly incorporated by reference. Finally, gustatory, or the taste inputs, may be obtained by employing a taste sensor, such as that described in U.S. Pat. No. 7,858,036 or the taste sensor data system described in U.S. Patent Application Publication No. 20040107053, each of which is expressly incorporated by reference.
In one embodiment, the data capture device 100b may be in the proximity contact with the coupon code/artifact of interest, such as Near Field Communications (NFC), Radio Frequency Identification (RFID), Bluetooth, Infrared, Wireless communication, Automatic Identification and Data Capture (AIDC), and other short range communications and the like. AIDC refers to the methods of automatically identifying objects, collecting data about them, and entering that data directly into computer systems (i.e. without human involvement). Technologies typically considered as part of AIDC include bar codes, Radio Frequency Identification (RFID), biometrics, magnetic stripes, Optical Character Recognition (OCR), smart cards, and voice recognition. AIDC is the process or means of obtaining external data, particularly through analysis of images, sounds or videos. To capture data, a transducer is employed which converts the actual image or a sound into a digital file. The file is then stored and at a later time it can be analyzed by a computer, or compared with other files in a database to verify identity or to provide authorization to enter a secured system. Capturing of data can be done in various ways; the best method depends on application. AIDC also refers to the methods of recognizing objects, getting information about them and entering that data or feeding it directly into computer systems without any human involvement. Automatic identification and data capture technologies include barcodes, RFID, bokodes, OCR, magnetic stripes, smart cards and biometrics (like iris and facial recognition system).
The user registering interest by coupon codes/artifacts capable of being captured include, among other things, 3D barcodes that are have regions of differing heights, with the regions, their patterns and their relative heights being representative of data. In accordance with one embodiment, the three dimensional nature of artifacts, including barcodes, may be used advantageously for allowing sight or hearing impaired individuals to capture data from artifacts with 3D codes, whether 3D barcodes per se, or other 3D surfaces capable of acting as data sources, and have that data captured, processed and provided to such individuals in a form that makes the information encoded by the 3D data more available to the user. In one particular embodiment, sight impaired individuals often employ their haptic senses to, for example, read using braille, to scan products to identify container shapes or features or the like. These skills are, of course, learned and require considerable effort on the part of the individual. The embodiments disclosed herein may be used with sight impaired individuals to capture sensory data otherwise unavailable or difficult to access to such individuals and convert the sensory data into a usable form, e.g., sounds. Similarly, in accordance with another embodiment, a hearing impaired individual may use the embodiments disclosed herein to capture audible sensory data, e.g., music, street sounds, warning sounds or the like, and covert such unavailable or difficult to access sensory data in a form, e.g., visual, that renders such audible sensory data more available and meaningful to a hearing impaired individual. In this manner, the embodiments disclosed herein may be employed to simply capture and convert data existent in one sensory form to another sensory form that is more useful or available to a user having a particular disability or impairment.
Without limitation, the use of “coupon code/artifact” in this application refers to either single or multi-modal data capture.
Upon a subsequent request from the user to retrieve stored coupons (130), the user selects the appropriate coupon from all stored/saved virtual coupons (135), either in local storage or in the “coupon wallet.” Once selected, the appropriate virtual coupon is retrieved from its storage location (local storage or the coupon wallet) (140). The digital device is then capable of interfacing with a purchase system (150), such as to conduct a transaction with a merchant. Without loss of generality, the method of interfacing can be near field communication (NFC), infrared (IR), short message service (SMS), multimedia messaging service (MMS), barcode scanning, and/or the like. Additionally, the purchase system may either be that of a merchant or a 3rd party system associated with the merchant. The virtual coupon is transmitted/communicated through the interface method to the purchase system (155), and the user completes the transaction with the merchant (160), purchasing a product/service/good/item with the use of the virtual coupon.
In one implementation, the Scan Message and/or scanned coupon code/artifact may be sent to the server (101) by a Multimedia Messaging Service (MMS) protocol. In other implementations, a wide variety of other communication protocols may be employed, including but not limited to: Short Messaging Service (SMS), instant messaging, web browser based messaging, email, Enhanced Messaging System (EMS), TCP/IP, WAP, and/or the like.
In one implementation, the server (101) may be addressed by a short code, short numbers, Common Short Code (CSC), and/or the like for sending the Scan Message and/or scanned coupon code/artifact. For example, a short code may appear alongside a coupon code/artifact on a printed coupon, and a user may be informed that the scanned coupon code/artifact should be sent to the indicated short code number in order to retrieve a Reply Message, virtual coupon, and/or the like. In other implementations, other addressing means may be employed, such as an ordinary telephone number, an email address, a universal resource locater (URL), and/or the like. In another implementation, the short code and/or other server address may be encoded within part of the coupon code/artifact itself. When the user scans the coupon code/artifact with his or her mobile device, the coupon code/artifact may be partially decoded by the client device to extract the address and automatically send the rest of the coupon code/artifact thereto.
Virtual Coupon Rendering with Code Triggered Information Server—Basic Overview
Alternatively, the rendering of the scanned coupon code/artifact may be independent of the CTIS, through the use of a digital application on the digital device. In this embodiment, the digital device may either contain or independently access the user profile and/or virtual coupon information base in order to obtain the virtual coupon corresponding to the scanned coupon code/artifact.
In an alternative implementation, the scanned coupon code/artifact may be directly decoded on the client mobile device instead of on the server. The decoded content may then be converted to MMS format and sent via short code to the server in order to retrieve the appropriate virtual coupon content associated with the coupon code/artifact. That virtual coupon content may be returned from the server to the client mobile device by means of an MMS protocol as well.
For illustration, the system/method of creating and using a virtual coupon is shown in
In one embodiment, the CTIS can serve information to the user based on the collected knowledge of user space-time trajectories contained in the user profile, without the need for any initiating user action. This embodiment is best illustrated by example, as drawn in
In alternative embodiments, based on current geographic location, determined by recent coupon code/artifact scans and/or transmission of geocodes and timestamps by the digital device by itself, notifications could be sent to the user. An example of this situation would be where the user, with a GPS enabled digital device, is present in a store (which is connected with the CTIS). Based on recognition that the user is present in the store, for example a Best Buy store, the CTIS could independently analyze the contents of the user's coupon wallet and notify the user of any stored virtual coupons available for products or services potentially at Best Buy. Additionally, it is possible for the CTIS to analyze the user's profile as well as the contents of his/her coupon wallet, and notify the user of additional coupons that are similar to those in the coupon wallet (or determined to be relevant to the user based on his/her user profile, recent coupons scanned, ambient conditions, and the like). It is possible for marketer rules to exist that would monetize the system in these embodiments, such as by charging a fee to virtual coupon providers for the delivery of additional relevant coupons to users, due to the increased likelihood of user transactions with a merchant in response to the additional coupons.
The CTIS may be enabled by the participation of virtual coupon providers and users. In one embodiment, virtual coupon providers supply virtual coupons for storage on the CTIS server. In an alternative embodiment, the virtual coupons are stored on third party servers that are referenced by the CTIS server. The user experience may be enhanced by the incorporation of personal preferences and demographic information to optimize the delivery and/or storage of virtual coupon content. Consequently, one embodiment would incorporate a user registration procedure. Users may register for the CTIS via the internet, telephone, postal mail, and/or the like. If a particular embodiment of the CTIS requires client software for the user to install, this could be supplied upon successful user registration.
Scannable coupon codes/artifacts may be found in a variety of locations, including but not limited to newspaper and magazine articles/advertisements, signs and billboards, flyers, store locations and kiosks, consumer products, packages, clothing, stickers, printed coupons, websites, software displays, television broadcasts, virtual worlds, and/or the like. The nature of the coupon code/artifact and associated method with which the coupon code/artifact can be scanned will depend to some extent on where the coupon code/artifact is found, but among the possible types of coupon codes/artifacts are standard barcodes (e.g., UPC, EAN, Code 128, etc.), 2D matrix codes (e.g., QR code, Semacode, Data Glyphs, mCodes, etc.), user-input codes (e.g., text messages), RFID tags, NFC tags, pure images (e.g., an image of a printed coupon to be analyzed by optical character recognition), website links, software inputs, and/or the like. These codes may be located on any medium (e.g., on newspapers, magazines, books, printed coupons, video content, computer screens, embedded in objects (e.g., RFID tags on clothes, etc.), and/or the like). One embodiment employs 2D matrix codes, examples of which are provided in
In scanning a code, the code image may not always be recorded faithfully and/or in an ideal and/or suitable condition for decoding and/or matching to associated content. Consequently, the CTIS may be configured to enhance and/or otherwise process a code image in order to better recognize the code.
In some implementations, multiple enhancement processes may be applied against a scanned code and the results compared in order to determine the encoded content. Prior to enhancement, the image may be downsized if necessary for speed of processing in applying multiple enhancements against the image. Image quality may also be increased if necessary in order to more successfully apply enhancements. For code images having extraneous information and/or noise, an enhancement process may be applied to remove all extraneous information, despeckle, and/or the like. For code images having shades of gray and/or shadows obscuring the encoded content, an enhancement process may be applied to manipulate the contrast and/or brightness of the image in order to create a pure black and white image for cleaner decoding. For code images that are tilted and/or not taken flat in a plane, an enhancement process may be applied to tilt the plane of the code to create a flat plane to aid in successful decoding. For code images that are rotated or skewed, an enhancement process may be applied to de-rotate, deskew, and/or otherwise recreate proper rectangular pixel groupings that can be decoded. For code images that are taken out of focus, an enhancement process may be applied to sharpen the image into recognizable pixel groupings. Additionally, the CTIS may apply edge recognition processes to the code image to create a set of potential code images that can be processed and compared to records in a code database.
In some cases in which full decoding of a scanned coupon code/artifact image is impossible, a partial decoding may be accomplished and serving of content achieved on that basis. A partial decoding may, for example, result in a probabilistic virtual coupon code match without ever successfully decoding the complete coupon code/artifact.
In an illustrative example of partial decoding, a given matrix code may encode the string ABC123. In multiple processes, it may be determined that the code contains A—1—3 (where the blanks represent unknown values), _C1_, and AB_. Through these multiple processes, the CTIS system now knows that the code contains ABC1—3 and may check this against codes in a code database to determine how many matches exist. If it finds two matching codes (e.g., ABC123 and ABC143), it may consider ancillary factors. For example, ABC123 may correspond to a coupon for a ticket to a new action movie while ABC143 corresponds to a coupon for women's cosmetics. If the user supplying the code is determined, based on a supplied user ID, to be a man with a history of scanning movie-related coupon codes/artifacts, then the CTIS system may infer that ABC123 is the matching virtual coupon code and serve the corresponding content. In one implementation, the CTIS server may further supply a confirmation request for partially matched coupon codes/artifacts, requesting the user to affirm or deny that the supplied content is in fact the content that he or she was seeking
The Scan Message generated by the CTIS is, itself, a novel data structure. In one embodiment that is illustrated in
In one embodiment, the XML for the Scan Message takes the following form:
In one embodiment, sending and receiving the Scan Message and Reply Message will employ standard data transmission techniques to ensure successful transmission and to preserve data integrity (e.g., TCP/IP, 1×EV-DO, etc.). This is relevant for the Scan Message, which will contain the coded information scanned by the user. Such techniques may include but are not limited to the use of standard transmission protocols, “handshaking,” data compression, data encryption, and error correction.
The content of the user profile generated by the CTIS is itself a novel data structure. In one embodiment illustrated in
In one embodiment, the XML for the User Profile may take the following form:
In one embodiment, the user's contact restrictions/privacy settings (1025) may include an option to permit or deny detection of the user's current location. The location information, if permitted, could enable a user to receive notifications of available virtual coupons simply by entering a virtual coupon provider zone and/or a particular store. Additionally, the location setting could be utilized to notify the user of any virtual coupons in his/her coupon wallet that are valid at the user's current location (such as a store) and/or at nearby locations.
In one embodiment, data accumulated in a plurality of user profiles may be analyzed to extract information about codes that are scanned. For example, the frequency with which a particular code is scanned may be extracted from user profiles and parsed by geographic, temporal, and/or demographic criteria to yield code profiling information. This information may be stored in a code and/or virtual coupon profile. In an alternative embodiment, the virtual coupon profile may be constructed and/or updated by the CTIS immediately upon the receipt of a Scan Message rather than being extracted from user profiles.
The Information Base contains the virtual coupon content that may be included in the Reply Message sent to the user and may be stored on the CTIS central server or on third party servers accessed by the CTIS. In one embodiment, each virtual coupon is associated with searchable labels. The virtual coupon content together with its labels, collectively referred to here as a virtual coupon, forms a novel data structure. In one embodiment illustrated in
In one embodiment, the XML for a virtual coupon may be in the following form:
The CTIS queries the user profile to determine which Virtual Coupons to include from the Information Base in the Reply Message in order to tailor those Virtual Coupons to the user's profile characteristics, interests, and trajectories. In one embodiment, a scanned coupon code/artifact will yield two components in the Reply Message content: i) static content that is the same for every user who scans the coupon code/artifact, and ii) dynamic content that depends on the context of the user and the user profile. The static content (i) is determined from the scan coupon code/artifact, while the dynamic content (ii) is determined by a combination of the scan coupon code/artifact and the user profile, requiring a dynamic content generation heuristic to combine their respective influences. While a variety of such heuristic are possible and contemplated as being within the scope of this disclosure, and the specific heuristic employed in a given realization will likely depend on the precise application and intention, we discuss one embodiment of this heuristic here for illustrative purposes with reference to
Alternatively, the dynamic content could indicate that a user is a member of a frequent shopper program and/or the like. This dynamic content could cause notification from the CTIS that virtual coupons are available to the user, which would not otherwise be available. In another embodiment, the dynamic content could permit rendering of a virtual coupon, because of a required demographic factor (such as membership in the frequent shopper program). The CTIS could also deliver virtual coupons that are more advantageous to the user than the physical coupon code/artifact scanned, based on the dynamic content (such as membership in the frequent shopper program).
As an exemplary implementation of this embodiment of the Virtual Coupon filtering heuristic, we consider the situation discussed above with reference to
In one embodiment, the user may respond to a recommended virtual coupon with a relevance rating. This rating may then be stored in the user profile and/or employed to refine the criteria for tailoring future Virtual Coupons to that user.
In one embodiment, the Virtual Coupons would not be filtered by hardware ID at 1105. Rather, when a final Virtual Coupon has been selected for inclusion in the Reply Message following filtration under the other relevant criteria, the server will determine whether that Virtual Coupon is properly formatted for the device specified by the hardware ID. If so, then the Virtual Coupons will be included in the Reply Message as is. Otherwise, it will be converted into the required format appropriate to the user's mobile device. For example, if the selected Virtual Coupon contains color images but the server determines that the user's hardware device is an early model BlackBerry that only accommodates monochromatic text, the server will implement a peripheral application to strip the text content from the Virtual Coupon and incorporate only that in the Reply Message.
Additionally, the filtering could apply the hardware ID to restrict delivery of virtual coupons that would not be redeemable with the user's digital device. For example, if a virtual coupon, as designated by a virtual coupon provider, required redemption via NFC means, then the virtual coupon could only be delivered to digital devices capable of NFC functionality. It is possible for the virtual coupon to still be stored in the user's coupon wallet, for possible redemption using a different digital device (different cellular phone, tablet, etc.).
Though Virtual Coupons served by the CTIS are determined by coupon codes/artifacts scanned at some time in the past, it is possible for the CTIS to serve Virtual Coupons without any immediately contiguous, causal coupon code/artifact scan. A general illustration of virtual coupon reminder capability based on the user's coupon wallet was given above in
In an alternative implementation, the CTIS may be configured to automatically query a user position without scanned coupon codes/artifacts. For example, a user's mobile device may be configured to periodically register its GPS location with the CTIS system. In another implementation, the CTIS may be able to continuously monitor the position of a client mobile device based on the cell site or tower to which the device is communicatively coupled. Cell site based user location may also be registered when a user scans a coupon code/artifact.
From an accumulated record of these breaches, data of the form of
As a specific example of how this might work, we assume that the histogram (1200) of
There are many methods of monetizing these non-triggered instances of virtual coupon service by the CTIS, especially through those embodiments employing user profiles. Marketing rules can be established for virtual coupon serving in embodiments of CTIS operation.
Selecting the proper Virtual Coupon to serve to the user in the non-triggered Virtual Coupon serving embodiment of the CTIS may be accomplished using a variety of heuristics that are best tailored to suit the specific use or application. Nevertheless, we present an example of a specific embodiment in
In an alternative embodiment, the CTIS may be configured to receive and implement marketer rules for serving virtual coupons.
In one embodiment, the XML for the above marketer rule may take a form similar to the following:
In one implementation, the elements of
c shows an implementation of logic flow for generating a rule queue in one embodiment of CTIS operation. A rule is instantiated (1482), and the CTIS server checks parameter quanta associated with the rule (1483). A runtime quantum is discerned for the rule (1484) to determine the timing for applying the rule. The rule is subsequently parsed to generate the appropriate query structure (1485), and the cron schedule for the rule is established based on the runtime quantum (1486). The rule may then be pushed to the cron schedule queue (1487), and a determination made as to whether there are any additional new rules to process (1488).
d shows an implementation of logic flow for cron job queue management in one embodiment of CTIS operation. The CTIS may monitor the cron job queue and, for each queued cron job associated with a rule that is next in the queue (1489), the CTIS may determine whether or not it is time for that particular cron job to run (1490). If not, then the CTIS passes to the next cron job in the queue (1491). On the other hand, if it is time to run, then the appropriate databases specified in the rule are queried, and the particular cron job is dequeued (1492). If the results of the database query match the rule criteria so as to require serving a virtual coupon impression to a user, then that match indication may be passed to Virtual Coupon selection modules in order to choose a virtual coupon to supply to the user. In one implementation, the marketer rule itself may uniquely determine a virtual coupon to serve. In another implementation, the marketer rule may determine a set or class of virtual coupons to serve, from which a unique virtual coupon may then be randomly selected. In yet another implementation, a virtual coupon may be selected from the marketer rule determined set or class of virtual coupons based on a user profile.
It must be emphasized again that this is but a single, specific embodiment of the non-triggered Virtual Coupon serving procedure intended for illustrative purposes. The procedure is highly flexible and can be finely tuned for the specific application at hand. Some other possible methods may include different relative weighting factors, alternative weighting considerations, categorical filtering, consideration of the number of provider zone breaches above the threshold level, graduated consideration of the distance from the provider location, modified provider zone shapes, pattern recognition algorithms, artificial intelligence facilitation, virtual coupons present in the user's coupon wallet (or in local storage on the user's digital device), and/or the like.
In another embodiment, the CTIS provides targeted coupons to consumers. By scanning a coupon code/artifact in an article or advertisement of interest, a user may be provided with a virtual coupon for a store or establishment near the location where the scan took place, thereby increasing the likelihood that the coupon would be used. Choosing the virtual coupon based on the contents of the user profile may further increase the likelihood of a consummated transaction.
a-b show two examples wherein the CTIS supplies coupons to a user.
Embodiments are directed to apparatuses, methods, and systems for a code-mediated virtual coupon delivery platform comprising a Graphical Code-Serving Interface and a Code Triggered Information Server (“GCSI/CTIS”). The GCSI/CTIS connects information encoding symbologies, and by proxy the underlying information content, to graphical display elements and facilitates generation of encoding symbologies, error-correction, media sampling and purchasing, social networking, and sales promotion programs.
In an embodiment, active display elements provide access to information, particularly information that is targeted to an individual's profile, interests, and/or contextual surroundings and that is portable and/or made available in unexpected physical locations. The active display elements facilitate the serving of such information via placement of information encoding symbologies, such as matrix codes, proximate to graphical elements in a wide variety of digital display contexts and media, including portable display devices, mp3 players, cell phones, digital paper, animated billboards, websites, internet or television broadcasts, software interfaces, and/or the like. Users may capture images of information encoding symbologies from such displays, for example using a cell phone camera, and decode them with software applets to receive additional information, multimedia content, offers, virtual coupons, notifications, and/or the like.
In one embodiment, a code sent via a communications network from a mobile communications device from a user is received. The code is based on a scan of an optically-readable coding symbol. A code database is queried to discern a multimedia content data identifier corresponding to the received code. Multimedia content data is retrieved from a multimedia database based on the multimedia content data identifier. A sample of the multimedia content data is sent to the mobile communications device via a communications network. A sample acceptability message is received from the user. The multimedia content data is sent to a data repository associated with the user provided that the sample acceptability message indicates that the user wishes to receive the multimedia content data.
In another embodiment, an alphanumeric string comprising a plurality of characters and representing a location of multimedia content data is received from a first data source. Each of the plurality of characters of the alphanumeric string is converted into a corresponding binary number to yield a plurality of binary numbers based on a character correspondence table. The plurality of binary numbers are concatenated to yield a bitwise array. An optically-readable encoding symbol comprising a plurality of disconnected solid shapes is drawn in which the presence of a solid shape at a position in the symbol indicates presence of a 1 in a corresponding position of the bitwise array.
In another embodiment, an incomplete code associated with an optically-readable encoding symbol is received. A code database is queried based on the incomplete code to determine a plurality of possible matching codes. The code records associated with the plurality of possible matching codes are queried to retrieve code presentation conditions associated with each of the plurality of possible matching codes. A plurality of code repair schemes are retrieved from a code repair database based on code presentation conditions. Each of the plurality of code repair schemes are applied to the incomplete code to yield a plurality of repaired codes. A repaired code is selected from the plurality of repaired codes based on at least one pre-designated code fidelity rule. The repaired code is designated as a correct code corresponding to the optically-readable encoding symbol.
In another embodiment, a scan indicator comprising an indication that a user has scanned an optically-readable encoding symbol with a mobile scanning device is received. The optically-readable encoding symbol is associated with a good or service. A retailer at which the user scanned the optically-readable encoding symbol is identified. A retailer record is queried to determine whether the retailer is subscribed to a sales promotion program. The retailer is charged a first retailer fee based on the received scan indicator if the retailer is subscribed.
In another embodiment, an online social network is provided. A user identifier is received and stored. User profile information is received and stored in association with the user identifier. A plurality of user scan indicators indicating that a user has scanned a plurality of optically-readable encoding symbols are received. The plurality of user scan indicators are stored in association with the user identifier. At least one friend designation indicating an association with at least one other user is received and stored in association with the user profile.
Users may scan codes found in media publications, on billboards or signs, on consumer products or packages, on websites or television screens, on movie screens, on clothing or accessories, on mobile device displays, and/or the like.
In an alternative implementation, content associated with a captured code or other user interest registration may be sent to a data repository other than a user's mobile device. For example, a user may scan a code corresponding to media content. Rather than triggering the GCSI/CTIS to send the media content to the mobile device with which the code was scanned, the code scan may trigger the GCSI/CTIS to send the media content to a user's computer, an online data repository, and/or the like for storage and later retrieval by the user. For example, the GCSI/CTIS may discern a user identity from the Scan Message (215), query user access and/or authorization information, and use that access and/or authorization information to access an online data repository corresponding to the user to store requested media content thereon for later retrieval and/or use by the user.
d shows an implementation of logic flow for customized repair and/or decoding of obscure or ambiguous scanned coupon codes/artifacts. An ambiguous code may be received at a GCSI/CTIS system at 881, such as may be sent via a communications network from a user's mobile scanning device. In one implementation, a scanned coupon code/artifact may be qualified as an ambiguous coupon code/artifact if an attempt to decode the coupon code/artifact does not yield a single result. In one implementation, the system may also receive coupon code/artifact scanning conditions 882 describing any of a variety of circumstances of the coupon code/artifact scan which may affect the quality and/or fidelity of the scanned coupon code/artifact. For example, some relevant circumstances may include the time of day, light levels, use of flash, mobile scanning device type and/or characteristics, coupon code/artifact size, contrast, brightness, sharpness, skew, rotation, and/or the like. The ambiguous coupon code/artifact and scan conditions may then be passed to a repair queue 883, whereby the system may analyze the ambiguous coupon code/artifact and attempt to discern the correct decoded virtual coupon content. A plurality of possible matching virtual coupon codes are determined at 884, and a virtual coupon code database is queried at 885 to extract coupon code/artifact presentation conditions corresponding to each of the plurality of matching virtual coupon codes. Coupon code/artifact presentation conditions may describe how and where the coupon code/artifact was displayed and may comprise a wide variety of factors, such as but not limited to medium (e.g., newspaper, glossy paper, product packaging, television display, website, billboard, and/or the like), likely obscuring factors (e.g., glass covering, tears, distance, and/or the like), and/or the like. The GCSI/CTIS system may then generate a code repair database query based on the presentation conditions and/or scan conditions 886 and query the repair database to extract repair schemes corresponding to the particular presentation and/or scan conditions. For example, a particular code repair scheme may be tailored for and/or correspond to coupon codes/artifacts displayed on billboards that are scanned after dark by Nokia mobile phones. Extracted repair schemes corresponding to each of the possible matching virtual coupon codes are applied to the ambiguous coupon code/artifact at 888, and a determination is made at 889 as to whether any one of the possible matches is now more likely to be correct than the others. This determination may be made, for example, by measuring the fidelity of coupon codes/artifacts with various repair schemes applied and selecting as the correct coupon code/artifact that which has the highest resulting fidelity. If no remaining ambiguity exists as to the correct coupon code/artifact, then the favored coupon code/artifact is registered with the GCSI/CTIS system at 892. Otherwise, the GCSI/CTIS may generate a custom recommendation message 890 and send the message to a user and/or a user's mobile device 891. The custom message may, for example, provide tailored recommendations on how the user may improve the fidelity of the coupon code/artifact scan based on the possible matching coupon codes/artifacts and the associated presentation conditions and/or scan conditions. Tailored recommendations, as well as the repair schemes themselves, may be adjusted based on feedback received from users about which coupon codes/artifacts they were actually trying to scan. In one implementation, the GCSI/CTIS may provide a query message to a user presenting a summary of content associated with alternative matching codes in order to determine which content the user was actually trying to access. It should be noted that code analysis and/or repair may be undertaken on a code image level, alphanumeric string level, binary string level, and/or the like basis. Combinations of such bases may also be undertaken, such as by first analyzing the ambiguous code in its alphanumeric string form and then, if ambiguity remains, analyzing the code in its binary form. Further discussion on such an analysis is provided below.
In an illustrative example of partial decoding, a given matrix code may encode the string ABC123. In multiple processes, it may be determined that the code contains A—1—3 (where the blanks represent unknown values), _C1_, and AB_.
Through these multiple processes, the GCSI/CTIS system now knows that the code contains ABC1—3 and may check this against codes in a code database to determine how many matches exist. If it finds two matching codes (e.g., ABC123 and ABC143), it may consider ancillary factors, including code presentation and/or code scan conditions, user profile information, and/or the like. For example, ABC123 may correspond to an advertisement for a new action movie while ABC143 corresponds to a coupon for women's cosmetics. If the user supplying the code is determined, based on a supplied user ID, to be a man with a history of scanning movie-related codes, then the GCSI/CTIS system may infer that ABC123 is the matching code and serve the corresponding content. In one implementation, the GCSI/CTIS server may further supply a confirmation request for partially matched codes, requesting the user to affirm or deny that the supplied content is in fact the content that he or she was seeking.
In one implementation, analysis of ambiguous codes may comprise a two-stage process. In a first stage, an encoded string comprising a number of alphanumeric characters, one or more of which may be unclear, may be compared to a database of alphanumeric strings to determine which, if any, match. In one implementation, a Levenshtein distance metric may be employed to determine the similarity of an input string to strings existing in the database. In one implementation, the input string may only be compared against “live” strings in the database (i.e., strings that are currently engaged in active use and/or tied to actual content). If ambiguity remains about which code has been scanned after this character-based analysis, a GCSI/CTIS system may apply a second stage of analysis, whereby the input alphanumeric string is converted into a corresponding binary bitset array (see, e.g.,
b shows an implementation of a user profile user interface in one embodiment of GCSI/CTIS operation. The profile page 1060 may include a display of basic user information 1063 and/or a user picture 1066, and may provide a wide variety of other user information, including demographic information, interests, media libraries, friend lists, coupon code/artifact scanning activities, and/or the like. The displayed implementation further includes a plurality of tabs 1069 allowing the user to view profile information, edit his or her profile, view photos, groups to which the user may belong, and/or edit settings, including sharing and/or privacy settings 1072. Privacy settings may, for example, control access of other individuals to a user's personal information, coupon code/artifact scanning activity, and/or the like. In some implementations, certain information about a user, in particular regarding coupon codes/artifacts that a user has scanned, and/or the content associated with those scans, may be shared with other users. For example, a user may be able to inquire, via a GCSI/CTIS affiliated system, as to what codes have been recently scanned by other users that are within a particular geographic radius of the user. In another example, a user scanning a coupon code/artifact for a CD may also be provided with information about the coupon code/artifact scanning activities of other users whose coupon codes/artifacts also corresponded to CDs.
In one implementation, a user may be allowed to restrict which information of theirs is sent to other users and/or to restrict which information of other users is sent to them. For example, a user may have a “friends” list that has a different level of access than the general public.
In one implementation, a user may have a personal code that is associated with the user and/or a user profile. In one implementation, other users can scan the personal code to automatically join the first user's friend list. In another implementation, a personal code my comprise a short-link to the user's profile 1060, and/or to other profile pages or webpages associated with the user, such as a Facebook page, Myspace page, and/or the like. In one implementation, the user can set a forwarding instruction on his or her GCSI/CTIS page to forward inquiries corresponding to scans of the user's personal code to another page. In another implementation, the user may provide the personal code on other pages as a link back to the user's GCSI/CTIS profile page.
In one implementation, a user may be provided recommendations in response to a coupon code/artifact scan. For example, the user may scan a coupon code/artifact corresponding to a discount on a particular CD by a particular musical artist. The user may then be provided a listing of other CDs, artists, and/or the like having coupon codes/artifacts recently scanned by the members of the user's friends list and/or that may be further related to the CD and/or artist whose coupon code/artifact the user scanned.
In one implementation, a user's coupon code/artifact scans may be integrated with an instant messaging, blogging, micro-blogging, and/or the like service, whereby the user's coupon code/artifact scans are automatically rendered as descriptive summaries and displayed to other users, such as on a webpage, via SMS text messages, emails, and/or the like. For example, each coupon code/artifact scan may have a pre-set text description associated therewith that, upon scanning of the coupon code/artifact, is displayed on a user's Twitter.com page. In one implementation, a user may receive an incentive payment for particular types of content that are provided to the user's friends, associates, blog subscribers, and/or the like as a result of the user's coupon code/artifact scans. For example, a reward may be provided to the user every time the user scans a coupon code/artifact corresponding to a particular brand of products and a message associated with those products is supplied to subscribers to the user's profile and/or blog. A further reward may be provided to the user if it can be determined that one of the user's associates made a purchase based on the provided message.
The privacy settings in the displayed implementation include permissions for displaying “tweets,” songs, videos, and purchases 1075 associated with the user's code scans to various security levels for other people 1078, including the general public, private/friends, and “snaps” (i.e., those who may have scanned a user's personal code and/or a code corresponding to the user's profile). Selection of a particular privacy setting may generate a sharing rule that is stored in association with the user and consulted each time a user scans a code corresponding to one of the categories shown at 1075 to determine whether or not code-associated information should be provided and/or sent to any of the categories of people shown at 1078.
The profile page 1060 further includes a field 1079 wherein a user may specify the location of a data storage facility to which some or all media and/or other content that the user acquires via code scans are to be sent and/or stored. For example, the user may specify an online storage facility (e.g., Apple's iDisk service) in which the user's code scan-acquired content is to be stored. The user code-scan may be linked to a coupon wallet, digital wallet, and the like.
The profile page 1060 further includes interface components configured to generate a personal code, in this case a JagTag 1080. Selection of the button at 1080 causes the GCSI/CTIS system to associate a code with the user and/or the user's profile and generate a corresponding code, which is displayed for the user. The user may then elect to save an image of the code to his or her computer desktop, send the code in an email, send the code in an MMS message, and/or the like via the interface elements at 1081.
In one implementation, virtual coupons may be supplied to a user's mobile device and/or coupon wallet with digital rights management (DRM) software included to prevent or discourage coupon copying, sharing, and/or the like. In another implementation, no DRM software is included with the virtual coupon. It is also possible that DRM software could be implemented through the coupon wallet. This could be implemented by the removal of a virtual coupon from the user's coupon wallet once the coupon is used. Alternatively, unique virtual coupon tags (see
In some embodiments, the GCSI/CTIS may be configured to supply media content for the virtual coupon, music, images, video, and/or the like to users based on the scanning of codes/coupons as described above. Acquisition of full media content may, in some implementations, be preceded by acquisition of media samples that may be reviewed by an acquiring user to determine whether or not to proceed with acquisition of the full content. For example, a billboard may display the Billboard Top 20 songs with a separate code for each song on the list. Consumers, in this example, may scan codes corresponding to each song in the list for which they have interest using a mobile scanning device and receive a sample of each song. In one implementation, a sampling user may further be provided with an opportunity to purchase and/or otherwise acquire the full media content once the sample has been received and/or reviewed. In one implementation, media may be acquired by a user via MMS messaging, while in another implementation, media may be acquired by means of an integrated media service (IMS). The IMS may, in one implementation, comprise an on-demand media service wherein users may maintain accounts, sample and/or purchase media, download and/or upload media, and/or the like. An example of an IMS is Apple's iTunes Store.
In one implementation, a GCSI/CTIS server may query, store, and/or consider data pertaining to media demographics associated with a particular medium in which a coupon code/artifact is published; the subject content associated with a coupon code/artifact; the type of information requested by scanning a coupon code/artifact; and/or the like. For example, a user scanning a coupon code/artifact associated with a product review for a hybrid sports utility vehicle (SUV) in a men's magazine may trigger a GCSI/CTIS system to draw and/or analyze data pertaining to media demographics associated with the men's magazine, subject content associated with hybrid vehicles (i.e., environmentally conscious consumers), subject content associated with SUVs (i.e., outdoor activity or families), and product reviews. Thus, the GCSI/CTIS may be configured to consider both the subject of a user's inquiry, the source of the inquiry, the type of inquiry, and/or the like.
In another embodiment, the GCSI/CTIS may allow users to instantly subscribe to and/or enroll in services, loyalty programs, discount programs, and/or the like by scanning codes associated therewith. For example, a user may enroll in a brand-affiliated coupon program by scanning a code associated with that program. Selection of a subscription and/or enrollment code may cause the GCSI/CTIS to submit a user's personal information to an integrated subsystem and/or third-party system for subscription registration. In some implementations, the GCSI/CTIS may require verification from the user, separate from the coupon code/artifact scan itself that the user wishes to enroll and/or subscribe to the associated service. In some implementations, a user may submit trigger specifications and/or conditions for enrolled service notifications. For example, a user may specify that he or she only wishes to receive coupons for products from a particular grocery store and not from other grocery stores. Scanning of a coupon code/artifact associated with a subscription program wherein specification of triggers and/or conditions is permitted may cause a GCSI/CTIS system to retrieve and display a user interface screen to the user that is tailored to the particular subscription and/or enrollment service and configured to receive trigger and/or condition specifications. In one embodiment, the enrollment in a loyalty or discount program may enable virtual coupons for the user, which are not available to the general public. This could be virtual coupons that are active earlier than general public virtual coupons, are for a greater discount, and/or the like.
In another embodiment, the GCSI/CTIS may be configured to track and/or implement a rewards program. For example, in a single-tiered rewards program implementation, a user may scan a code every time he or she purchases a particular item (e.g., a sandwich from the local sandwich shop) in order to register each purchase and store a record thereof in association with the user. The user may then receive a discount, free item, and/or the like after a pre-designated number of purchases and associated scans are registered, after which the record of scans is reset to start anew. In another example, in a multi-tiered rewards program implementation, a user may continue to register additional purchases and associated code scans to receive larger and/or more significant benefits, discounts, and/or the like. The user's coupon wallet could be implemented to automatically monitor purchases associated with rewards programs, and deliver/notify once the coupon is enabled. In this way, the virtual coupon would be created in place of a physical reward card, and be capable of storage either in a user's digital device local storage or in the user's coupon wallet.
In another implementation, a virtual coupon provider may submit just a first visual token and response content and/or a means of addressing said content, and a GCSI/CTIS server may generate a corresponding code-serving interface, a dial-in code and/or SMS and/or MMS address, hyperlink, and/or the like to allow users to interact with the first visual token to receive the response content. In one implementation, the generated code-serving interface may include HTML markup information enabling it to be embeddable on any webpage. A fee may be charged to the content provider, such as on a pay-per-click basis, for user interactions with the generated code-serving interface.
In still another implementation, a webpage or other display area may include a generic placeholder for code-serving interfaces that may be filled by code-serving interfaces and/or associated content supplied from one or more advertisement servers and/or GCSI/CTIS servers. The supplied code-serving interfaces may be selected based on webpage content, contextual cues, and/or the like and/or based on the goals of content providers and/or code-serving interface creators. For example, an advertiser may wish to place a particular code-serving interface associated with a new action movie on any webpage having a generic placeholder that mentions extreme sports. A fee may be charged to an advertiser for such targeted and/or contextual placement, such as on a bid-per-keyword basis. Fees may also be charged on a pay-per-click basis (i.e., levying a charge whenever a user clicks a code-serving interface to reveal the code, communication address, and/or the like on a proximate side).
a-b show an implementation of logic flow for code scan monetization in one embodiment of GCSI/CTIS operation. In
Discernment of retailer, competitor, and/or manufacturer identities may be accomplished by a variety of different schemes in various implementations and/or embodiments of GCSI/CTIS operation. For example, a unique subset of coupon codes/artifacts may be reserved for a particular manufacturer, retailer, and/or the like, such that a scan message corresponding to any coupon code/artifact of the unique subset may be associated by a GCSI/CTIS system with the particular manufacturer, retailer, and/or the like. In another implementation, retailers associated with a given scanned coupon code/artifact may be discerned based on a geoposition of the mobile scanning device at the time of coupon code/artifact scanning
A determination may then be made as to whether a conversion has taken place whereby the user has actually purchased the item associated with the scanned coupon code/artifact. In one implementation, the GCSI/CTIS may monitor activity on a credit card associated with a user account once that user has registered a coupon code/artifact scan. A subsequent purchase using the associated credit card may then register a conversion with the GCSI/CTIS. If no conversion is detected, such as within a pre-designated period of time, then the code scan monetization is complete for the particular code scan 3230. If, on the other hand, a conversion is registered, then a determination may be made as to whether the manufacturer is subscribed to pay further fees upon item conversion 3235. If so, then the additional manufacturer payment for conversion is registered at 3240.
A determination may be made as to whether the conversion, i.e., the purchase of the coupon code/artifact-associated item, was made at the retailer at which the coupon code/artifact was scanned 3245. If so, then a determination may be made as to whether the retailer is subscribed to pay an additional fee associated with item conversion 3250. If so, that payment is registered at 3255. If the conversion occurs at a competitor retailer different than the original retailer at which the item-associated coupon code/artifact was scanned (e.g., another brick-and-mortar retailer, another website, etc.), a determination may be made as to whether the competitor retailer is subscribed to pay a fee for item conversion 3260. If so, then the competitor payment may be registered at 3265. In one implementation, a competitor may be permitted to supply a message (e.g., an SMS text message, and/or the like) to a user's mobile device when the user scans coupon codes/artifacts associated with particular items at particular retail locations in order to entice the user to purchase the item from the competitor instead of at the particular retail location in which the coupon code/artifact was scanned. The competitor message may, for example, include an additional virtual coupon and/or other discount on the sale price of the coupon code/artifact-associated item. In one implementation, the competitor may be charged a separate fee for being allowed to supply such messages, such as a per-message fee, a one-time or periodic fee, and/or the like.
In some implementations, fees charged to manufacturers, retailers, and/or competitors may be substantially the same. In alternative implementations, different fees may be charged to manufacturers, retailers, and/or competitors.
a-e show aspects of implementations of JagTag encoding and coupon codes in some embodiments of GCSI/CTIS operation.
Each resulting integer may then be converted to a corresponding binary value 3307, and a determination may be made as to whether there are a sufficient number of “on” bits (i.e., bits equal to 1) 3308. For example, the GCSI/CTIS may require the existence of at least some minimum number (e.g., 9) of on bits. If not, then the system may return an error message and/or recommend that the user try a different initial alphanumeric string 3309. Otherwise, the GCSI/CTIS system may concatenate the string of binary numbers to yield a single 32-bit long bitset array 3310. The system may then generate a JagTag bit representation 3311, as described below, and output the resulting JagTag to a physical display and/or storage (e.g., storing an image formatted JagTag in a database, printing the JagTag, displaying the JagTag on a display screen, and/or the like) 3312.
The first bit of the bitset array may be considered a most-significant bit and the last bit of the bitset array may be considered a least-significant bit. Once complete, the 32-bit binary bitset array may be converted into a JagTag code representation.
In one implementation, a shell script may be configured to accept an alphanumeric string comprising characters to be encoded and to return a JagTag in an image format, such as a PNG, JPG, GIF, BMP, and/or the like file format. In one implementation, the shell script may be further configured to receive a color specification (e.g., an HTML-style RGB triplet).
Configuring a JagTag for optimal recognition may be accomplished in a variety of different ways within different implementations. For example, a color for the JagTag code may be selected to as to have high contrast with the background color. A high number of “on” bits (i.e., bits equal to 1) may also improve code recognition, as discussed above. Accordingly, in one implementation, resulting JagTag codes having less than a minimum number of on bits may be rejected. Other measures that may be taken in various implementations to improve JagTag recognition may include maximizing code dimensions, ensuring that the code is surrounded by a substantial margin (e.g., at least 25% of the code's width and height), and ensuring fidelity of the code by eliminating any obscuring interferences. JagTag codes may be configured for a wide variety of physical manifestations, including printing on magazine pages, billboards, newspapers, physical coupons and/or the like, displaying on video display screens, television broadcasts, websites, and/or the like. JagTags may also be configured into different shapes or display configurations in various implementations.
d shows one non-limiting embodiment of data loss resilient codes 3331, with characteristics that include: reducing errors based on “bleeding” of encoded data points by using circles/dots rather than squares that touch each other (this combats fuzziness of image as well as reduced light conditions); using a stronger identifier to discover processing directionality (rotation, skew, slant)—this is the black line with white dots shown in the figure; including data points within the identifier in order to maximize encoded data as well as allow for reduction in size of code; using equidistant lengths on identifier to process for skew and slant; using constant data points within the directional identifier to process for skew and slant—this may be top left, bottom right and bottom left white dots (not indicated in
In the embodiment of the basic codes 3331 shown in
In a further embodiment, the dots most likely to be lost in an image may be assessed and the least useful information encoded appropriately based on that assessment. An interesting opportunity for this code is that it allows for some logos to potentially replace the dots. For example, an Alltel logo can be used nearly as well as the dots, or a Nike logo is decodable with some server side code modifications.
The codes have an additional benefit in that they are in and of themselves, aesthetically pleasing, and as such offer significant advantages over previous codes. The ability in one embodiment, to vary the colors of the code, allows it to better integrate and look better in marketing contexts.
e shows some implementations of alternative JagTag display configurations, including circular 3335, triangular 3340, modified squares (3345, 3350, 3365), rectangular 3370, letter shaped (J shapes shown at 3355 and 3360), and/or the like. JagTags may also be displayed in proximity to and/or integrated with other codes, logos, insignias, and/or the like, such as shown at 3375.
In another embodiment, the CTIS is configured to connect users based on user profiles. For example, in analogy to the “provider zone” breaches discussed above, the CTIS may also track the intersection of user space-time trajectories. In particular, if one user is within a specified distance of the projected space-time trajectory of another user with whom the first user is associated, a message may be sent to one or both users notifying them of their potential proximity. Further consideration of user profiles may also be utilized in such notifications.
As previously described and illustrated in
In an embodiment, the semi-static elements (3604) and the dynamic elements (3606) in a profile datastore (3602) are accessed by a dynamic group algorithm (3610) operating on a CTIS. The dynamic group algorithm (3610) identifies groups appropriate for a particular user of the CTIS. An invitation to join a group is issued to the particular user (3612). A determination is made whether the particular user accepts the invitation to join a particular group (3614). If the user declines the invitation, that is, the result of 3614 is “NO,” the process ends (3616). If the user accepts the invitation, that is, the result of 3614 is “YES,” the user is assigned to a group (3620a, 3620b, . . . , 3620n) and a record is made in a group directory (3618). By way of illustration and not by way of limitation, a user may accept and invitation to join Group A but not Group B, may join both Group A and Group B, or reject the invitation to join any of the Groups identified by the dynamic group algorithm (3610).
In an embodiment, the logic of 3614 is reversed. That is, the user must affirmatively opt-out of the group assignment made by the CTIS.
As illustrated in
Group members typically share core information, such as a user name. In an embodiment, a group member may specify the personal information he or she is will to share with other group members. A group member may also specify which group members it prefers to be “invisible” to. In an embodiment, the sharing of the user name allows the group members to communicate via the CTIS but does not provide direct communication to between group members. Thus, the CTIS operates a communication proxy to allow group member to be restrict communications from particular members of the group or all members of the group.
In an embodiment, the core information for a particular group may be determined by the group's purpose. The group purpose may also be associated with a particular rule set that determines how the core personal information is shared. For example, in group whose purpose is facilitate social interactions, age, religious preferences, music preferences and other personal interest details may be part of the core information. In a group whose purpose is to facilitate business interactions, the core information may be limited to professional information and information relating to products and services.
In another embodiment, the situational information (3608) may identify users the CTIS with similar profiles who are participating in a common virtual world. Users with these attributes may be assigned to a group for that particular virtual world. In this example, the core information may be specific to the virtual world and the particular user's historical interaction with that world.
Users of the CTIS with similar profiles, who are skiing, albeit in different locations, may be assigned to yet another group that utilizes a core information rule set that is specific to skiing. Users at the same ski resort may be assigned to a group specific to that resort. The shared information rule set for this group may include an option that allows members to provide indentifying information to facilitate in-person meetings.
The membership of a group may be constantly in flux as the situational information (3608) of the group members changes. In an embodiment, members of a dynamic group may make the group permanent by adding some or all of the members to a friends list associated with a group name.
As previously described, users with substantially similar semi-static profile elements (3604) who scan a particular code may receive different content based on differences in their dynamic profile elements (3606).
In an embodiment, a second user who has not received particular content may request the CTIS to compare the profile of the first user with the profile of the second user to determine what factors in the dynamic elements of the first user's profile caused the content to be served to the first user but not the second user. A content analyzer (3622) receives content or a content identifier that was received by a first user of the CTIS. The content analyzer also receives the semi-static profile elements (3604) the dynamic profile elements (3606) of a second user of the CTIS from the profile datastore (3602). The content analyzer (3622) evaluates the served content and the profile data to determine what profile elements could be added to the second user's profile for the second user to receive the served content. The content analyzer generates a profile report (3626).
For example, a first user may receive a coupon for a free beverage from a vendor in response to the user passing the vendor's physical location or browsing to the vendor's website. In order to obtain the coupon, the second user may be required to travel to the physical site or navigate to the vendor's website. Note that this process differs from embodiments in which a coupon may be shared, in that the second user is compelled to engage the vendor at some level to obtain the coupon. From the vendor's perspective, the value of the coupon is used to incentivize the second user to engage the vendor.
In many cases, the reasons for serving the content to the first user may be more complex than suggested in the example. For example, a coupon may have been served to the first user based on the first user's history of interest in beverages and purchases made from the vendor or establishments similar to the vendor. Even if the second user were to visit the physical or virtual location of the vendor, the second user may not meet the requirements for receiving the coupon.
In an embodiment, the CTIS may optionally offer to supplement the second user's profile to include elements that would qualify the second user for the served content (3628). If the CTIS does not make an offer to supplement the second user's profile, that is, if the result of 3628 is “NO,” the process ends (3630). If the CTIS makes an offer to supplement the second user's profile, that is, the result of 3630 is “YES,” then a determination is made whether the second user accepts the offer (3632). If the second user rejects the offer, that is, the result of 3632 is “NO,” the process ends (3630). If the second user accepts the offer, that is, the result of 3632 is “YES,” the second user's profile is assigned supplemental profile elements (3634). The “supplemental” profile elements may be stored separately from other elements and may be temporary with a defined “time-to-live” or may be permanently stored in association with the user's identifier. The served content is acquired using the supplemental profile elements (3636).
In an embodiment, a code or token may be provided to the second user that could be presented by the second user to the physical or virtual location of the vendor that would cause the coupon to be served to the second user without regard to the second user's profile. In an embodiment, the token or code may be provided only with the vendor's consent.
In another embodiment, the CTIS allows for reduced use of printed space in media publications or printed coupons. For example, an ordinary printed article or advertisement may be supplanted by a 2D matrix code that supplies the content directly to the user's mobile display device. Furthermore, the supplied content may be dressed with additional content that is specifically chosen for the user based on his/her profile or current location, thus increasing the value and utility of the content/virtual coupon while still utilizing significantly reduced print space. This increased content value, coupled with the reduction in print space, may translate to significantly increased advertising revenue for media publications. In another embodiment, scan coupon codes/artifacts may be placed in web-based ads so that users may scan those ads with their mobile device. In another embodiment, scan coupon codes/artifacts may be placed in television-based advertisements or programs.
A method of creating a virtual coupon from a physical coupon, comprising: receiving multi-modal artifact data scanned from a multi-modal artifact present in the physical coupon; communicating at least some of the multi-modal artifact data to a data repository; comparing the communicated data with data present in the data repository; and sending at least one reply message from the data repository based upon the communicated data. The scanned multi-modal artifact data may comprise data representative of at least one sensory input of visual, auditory, haptics, olfactory, or gustatory. The scanned multi-modal artifact data comprises data that is representative of a barcode, 2D code, 3D code, 3D-VR code, matrix code, data matrix, QR code, Near Field Communications (NFC) tag, Radio Frequency Identification (RFID) tag, Bluetooth, Infrared, and/or Wireless communication. The scanned multi-modal artifact data comprises data that is associated with a printed coupon or advertisement, and/or a broadcasted coupon or advertisement. The data repository may comprise a digital application on a mobile communication device. The data repository may comprise a component of a code triggered information server database. The code triggered information server database communicates with a third party provider. The communicated data may comprise a user ID, a hardware ID, a geocode, a timestamp, a subject code, a source code, and/or a content code. The least one reply message is selected from the group consisting essentially of: a virtual coupon associated with the scanned multi-modal artifact, a discount code associated with the scanned multi-modal artifact, or a user query associated with the scanned multi-modal artifact. The virtual coupon is redeemed immediately by a user. The virtual coupon is stored based on a user's interaction with the reply message. The virtual coupon is stored in a digital device's local storage. The virtual coupon is stored in a second data repository. The second data repository is tied to a user profile. The second data repository is a digital coupon wallet. The method may comprise retrieving the virtual coupon based on a user request. The method may comprise communicating the retrieved virtual coupon to a point of sale system. The point of sale system is associated with a 3rd party system. The communication of the retrieved virtual coupon is by NFC, IR, SMS, MMS, instant messaging, web browser based messaging, email, Enhanced Messaging System, TCP/IP, WAP, and/or barcode. The method may comprise removing the retrieved virtual coupon after communication to the point of sale system. The method may comprise recording a fee based on a response to the at least one reply message. The method may comprise recording a fee based on the communication of the retrieved virtual coupon to the point of sale system.
A method of notifying a user of a virtual coupon created from a physical coupon, comprises: scanning multi-modal artifact data from a multi-modal artifact; communicating at least some of the scanned multi-modal artifact data to a data repository; comparing the communicated data with data present in the data repository; sending at least one reply message from the data repository based upon the communicated data; storing a virtual coupon based upon the communicated data and a response to the at least one reply message; and providing a notification to the user of the stored virtual coupon when a condition is satisfied. The multi-modal artifact may comprise data being representative of at least one sensory input of visual, auditory, haptics, olfactory, or gustatory. The multi-modal artifact may comprise data that is representative of a barcode, 2D code, 3D code, 3D-VR code, matrix code, data matrix, QR code, Near Field Communications (NFC) tag, Radio Frequency Identification (RFID) tag, Bluetooth, Infrared, and/or Wireless communication. The multi-modal artifact may comprise data that is associated with a printed coupon or advertisement, and/or broadcasted coupon or advertisement. The data repository may comprise a digital application on a mobile communication device. The data repository may comprise a component of a code triggered information server database. The code triggered information server database communicates with a third party provider. The communicated data further comprises a user ID, a hardware ID, a geocode, a timestamp, a subject code, a source code, and/or a content code. The at least one reply message is selected from the group consisting essentially of: a virtual coupon associated with the scanned multi-modal artifact, a discount code associated with the scanned multi-modal artifact, or a user query associated with the scanned multi-modal artifact. The virtual coupon is stored in a digital device's local storage. The virtual coupon is stored in a second data repository. The second data repository is tied to a user profile. The second data repository is a digital coupon wallet. The condition is a date or a location of the user. The condition may comprise a predicted location of the user. The condition may comprise a second scanned multi-modal artifact. The condition is based on a user profile. The method may comprise retrieving the virtual coupon based on a user response to the notification. The method may comprise communicating the retrieved virtual coupon to a point of sale system. The point of sale system is associated with a 3rd party system. The communication of the retrieved virtual coupon is by NFC, IR, SMS, MMS, instant messaging, web browser based messaging, email, Enhanced Messaging System, TCP/IP, WAP, and/or barcode. The method may comprise recording a fee based on a user response to the notification.
A system for creating a virtual coupon from a physical coupon, comprises: a processor coupled to a mobile communication device; a memory in communication with the processor and containing program instructions; an input and output in communication with the processor and memory; wherein the processor executes program instructions contained in the memory and the program instructions comprise: receiving multi-modal artifact data scanned from a multi-modal artifact present in the physical coupon; communicating at least some of the multi-modal artifact data to a data repository; comparing the communicated data with data present in the data repository; and sending at least one reply message from the data repository based upon the communicated data. The multi-modal artifact comprises data being representative of at least one sensory input of visual, auditory, haptics, olfactory, or gustatory. The multi-modal artifact comprises data that is representative of a barcode, 2D code, 3D code, 3D-VR code, matrix code, data matrix, QR code, Near Field Communications (NFC) tag, Radio Frequency Identification (RFID) tag, Bluetooth, Infrared, and/or Wireless communication. The multi-modal artifact comprises data that is associated with a printed coupon or advertisement, and/or broadcasted coupon or advertisement. The data repository comprises a digital application on a digital device. The data repository comprises a component of a code triggered information server database. The code triggered information server database communicates with a third party provider. The communicated data further comprises a user ID, a hardware ID, a geocode, a timestamp, a subject code, a source code, and/or a content code. The at least one reply message is selected from the group consisting essentially of: a virtual coupon associated with the scanned multi-modal artifact, a discount code associated with the scanned multi-modal artifact, or a user query associated with the scanned multi-modal artifact. The virtual coupon is redeemed immediately by a user. The virtual coupon is stored based on a user's interaction with the reply message. The virtual coupon is stored in a digital device's local storage. The virtual coupon is stored in a second data repository. The second data repository is tied to a user profile. The second data repository is a digital coupon wallet. The system may comprise retrieving the virtual coupon based on a user request. The system may comprise communicating the retrieved virtual coupon to a point of sale system. The point of sale system is associated with a 3rd party system. The communication of the retrieved virtual coupon is by NFC, IR, SMS, MMS, instant messaging, web browser based messaging, email, Enhanced Messaging System, TCP/IP, WAP, and/or barcode. The system may comprise removing the retrieved virtual coupon after communication to a purchase system. The system may comprise recording a fee based on a user response to the at least one reply message. The system may comprise 9+ recording a fee based on the communication of the retrieved virtual coupon to the point of sale system.
The present invention claims priority to U.S. Provisional Application Ser. No. 61/602,828, filed Feb. 24, 2012 and is related to co-pending, commonly assigned U.S. Patent Application Publication No. US 2011/0264527A (the '527 Published Application), both of which are hereby incorporated in their entirety by reference.
Number | Date | Country | |
---|---|---|---|
61602828 | Feb 2012 | US |