US20150206096A1 - Automated logistics management using proximity events - Google Patents

Automated logistics management using proximity events Download PDF

Info

Publication number
US20150206096A1
US20150206096A1 US14/606,728 US201514606728A US2015206096A1 US 20150206096 A1 US20150206096 A1 US 20150206096A1 US 201514606728 A US201514606728 A US 201514606728A US 2015206096 A1 US2015206096 A1 US 2015206096A1
Authority
US
United States
Prior art keywords
sensor
various
user
locator
establishment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US14/606,728
Other versions
US11062258B2 (en
Inventor
David Fernandez
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netclearance Systems Inc
Original Assignee
Netclearance Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/752,213 external-priority patent/US10586251B2/en
Application filed by Netclearance Systems Inc filed Critical Netclearance Systems Inc
Priority to US14/606,728 priority Critical patent/US11062258B2/en
Publication of US20150206096A1 publication Critical patent/US20150206096A1/en
Assigned to NETCLEARANCE SYSTEMS, INC. reassignment NETCLEARANCE SYSTEMS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FERNANDEZ, DAVID
Priority to US15/449,886 priority patent/US11030599B2/en
Application granted granted Critical
Publication of US11062258B2 publication Critical patent/US11062258B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • G06K7/10366Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves the interrogation device being adapted for miscellaneous applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0833Tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0261Targeted advertisements based on user location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0267Wireless devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0281Customer communication at a business location, e.g. providing product or service information, consulting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information

Definitions

  • proximity events may be identified. Such proximity events may occur when a monitored object (or person, vehicle, livestock, etc.) passes within a proximity threshold of a user device. The proximity events may be used to automatically identify and/or manage logistics events.
  • Some embodiments may provide a way to collect location information.
  • a sensor that emits a beacon signal may be attached to, for example, a person, pet, or moveable object.
  • Various user devices may receive the beacon signal. Such user devices may include features that allow each user device to ascertain its own location.
  • Each user device that is able to ascertain a location when receiving the beacon signal may send the information to a server application that is able to collect various locations associated with a particular sensor.
  • the server application may be able to track or locate the sensor based at least partly on the collected data.
  • sets of user devices may be placed at fixed locations that may be determined using a database accessible to the server application (and/or to an associated client application). Each locator may then be able to identify proximity events by detecting any sensor that passes within (and/or remains within) a proximity threshold. The locator may then update the database regarding the proximity event.
  • a first exemplary embodiment provides a system for identifying logistics events.
  • the system includes: a set of tags, each tag able to be attached to an item, each tag able to transmit a beacon signal, a set of locators associated with an establishment, each locator able to receive the beacon signal and generate an event message based at least partly on the beacon signal, and a server able to receive the event message and update at least one database based on the event message.
  • a second exemplary embodiment provides a method for identifying logistics events.
  • the method includes: transmitting, from a merchandise tag, a beacon signal, receiving, at a locator associated with an establishment, the beacon signal, generating, at the locator, an event message based at least partly on the beacon signal, and sending the event message to a server associated with the establishment.
  • a third exemplary embodiment provides a locator application able to identify logistics events.
  • the application includes: sets of instructions for receiving a beacon signal generated by a merchandise tag, sets of instructions for generating an event message based at least partly on the beacon signal, and sets of instructions for sending the event message to a server.
  • FIG. 1 illustrates a schematic block diagram of a conceptual proximity event system according to an exemplary embodiment of the invention
  • FIG. 2 illustrates a schematic block diagram of a conceptual system implemented using an alternative configuration of elements of some embodiments of the system of FIG. 1 ;
  • FIG. 3 illustrates a schematic block diagram of another conceptual system implemented using an alternative configuration of elements of some embodiments of the system of FIG. 1 ;
  • FIG. 4 illustrates a floor plan of an establishment included in some embodiments of the system of FIG. 1 ;
  • FIG. 5 illustrates a floor plan of an establishment included in some embodiments of the system of FIG. 2 ;
  • FIG. 6 illustrates a schematic block diagram of a sensor used by some embodiments of the system of FIG. 1 ;
  • FIG. 7 illustrates top views of the sensor of FIG. 6 , showing proximity zones defined by various beacon signals that may be provided by some embodiments of the sensor;
  • FIG. 8 illustrates a floor plan of a multi-sensor, multi-establishment implementation according to some embodiments of the system of FIG. 1 ;
  • FIG. 9 illustrates a schematic block diagram of a conceptual server application provided by some embodiments of the invention.
  • FIG. 10 illustrates a schematic block diagram of a conceptual user application provided by some embodiments of the invention.
  • FIG. 11 illustrates a schematic block diagram of an alternative conceptual user application provided by some embodiments of the invention.
  • FIG. 12 illustrates a schematic block diagram of a sensor application provided by some embodiments.
  • FIG. 13 illustrates a schematic block diagram of a system including an application interface provided by some embodiments of the invention.
  • FIG. 14 illustrates a block diagram of a database including various conceptual data structures used by some embodiments of the invention.
  • FIG. 15 illustrates several example graphical user interfaces (GUIs) provided by some embodiments
  • FIG. 16 illustrates several additional example graphical user interfaces (GUIs) provided by some embodiments
  • FIG. 17 illustrates a flow chart of a conceptual process used by some embodiments of the invention to allow a consumer to interact with the system of FIG. 1 ;
  • FIG. 18 illustrates a flow chart of a conceptual process used by some embodiments of the invention to allow reporting of consumer interactions via the system of FIG. 3 ;
  • FIG. 19 illustrates a flow chart of a conceptual process used by some embodiments of the invention to provide targeted advertising via the system of FIG. 3 ;
  • FIG. 20 illustrates a flow chart of a conceptual process used by some embodiments of the invention to communicate among the server(s) and user application(s) during consumer interaction;
  • FIG. 21 illustrates a flow chart of a conceptual process used by some embodiments of the invention to allow a user to interact with the system of FIG. 1 ;
  • FIG. 22 illustrates a flow chart of a conceptual process used by some embodiments of the invention to communicate among the server(s) and user application(s) during user interaction;
  • FIG. 23 illustrates a flow chart of a conceptual process used by some embodiments of the invention to monitor logistics events
  • FIG. 24 illustrates a flow chart of a conceptual process used by some embodiments to configure a sensor used by some embodiments of the system of FIG. 1 ;
  • FIG. 25 illustrates a conceptual message flow diagram used by some embodiments of the invention to communicate among various elements of the system of FIG. 1 ;
  • FIG. 26 conceptually illustrates a process of some embodiments for defining and storing a server-side application of some embodiments
  • FIG. 27 conceptually illustrates a process of some embodiments for defining and storing a client-side user application of some embodiments
  • FIG. 28 conceptually illustrates a process of some embodiments for defining and storing a client-side consumer application of some embodiments
  • FIG. 29 conceptually illustrates a process of some embodiments for defining and storing a sensor application of some embodiments.
  • FIG. 30 illustrates a schematic block diagram of a conceptual computer system with which some embodiments of the invention may be implemented.
  • an embodiment of the present invention generally provides a way to monitor and respond to location information.
  • location information may include the location of a sensor capable of providing a beacon signal.
  • a mobile device (and/or other appropriate device such as a fixed position locator) running an application may be able to determine whether the sensor is within a certain proximity of the device.
  • the application may cause the device to communicate with a local or remote server.
  • the server may receive information from the application (e.g., location of the device, ID of the sensor, etc.) and/or other appropriate sources (e.g., a database associated with the server).
  • the server may update one or more databases associated with the sensor and/or device, send sets of instructions to the application, where the sets of instructions may cause the mobile device to perform various operations (e.g., display a message, send a message to another mobile device, etc.), and/or perform other appropriate actions (e.g., sending instructions or data to another device or system).
  • the sets of instructions may cause the mobile device to perform various operations (e.g., display a message, send a message to another mobile device, etc.), and/or perform other appropriate actions (e.g., sending instructions or data to another device or system).
  • Some embodiments may include an apparatus and method whereby a mobile application running on a portable (or fixed location) computing device such as a smartphone or tablet can react, according to instructions provided by a remote application running on a server computer, to the proximity of a wireless sensor that transmits low-power beacon signals to announce its presence at predetermined intervals.
  • a mobile application running on a portable (or fixed location) computing device such as a smartphone or tablet
  • a remote application running on a server computer
  • Some embodiments may be able to control behavior of a mobile application when a stand-alone wireless sensor comes within a proximity threshold of the portable device running the application.
  • Some embodiments may include a method to locate an untethered wireless sensor by its proximity to a portable computing device with more powerful location capabilities such as Global Positioning System (GPS) or a network-based locating capability.
  • GPS Global Positioning System
  • the sensor may be attached to an object, animal or person and hence its location may be unknown, but able to be determined using the portable computing device.
  • Section I provides a conceptual description of system architectures used by some embodiments.
  • Section II then describes various conceptual software architectures used by some embodiments.
  • Section III describes various methods of operation used by some embodiments.
  • Section IV then describes various use cases that may be implemented using some embodiments.
  • Section V describes a process used to define various applications of some embodiments.
  • Section VI describes a computer system which implements some of the embodiments of the invention.
  • FIG. 1 illustrates a schematic block diagram of a conceptual system 100 according to an exemplary embodiment of the invention. Specifically, this figure shows various communication pathways among the elements of the system 100 .
  • the system may include one or more user devices 105 , one or more establishments 110 , each including one or more sensors 115 , one or more networks 120 , one or more servers 125 , the servers providing an application server 130 , a sensor database 135 , an establishment database 140 , a user database 145 , and a manufacturer database 150 , and one or more third parties 155 , each third party including one or more client devices 160 .
  • Each user device (or mobile device) 105 may be capable of communicating with one or more network(s) 120 and one or more sensors 115 . In addition, each user device 105 may be able to provide information to a user and/or receive inputs from a user.
  • Each user device may include one or more processors, memory, user interface elements, and/or other appropriate elements. Such a user device may be, for instance, a mobile phone, a tablet, a portable computer, etc.
  • Each user device may include one or more display elements (e.g., a screen, indication lights, etc.) and various user input elements (e.g., a keypad, touchscreen, etc.).
  • Each establishment 110 may be a retail establishment (e.g., a store, restaurant, etc.), a building (e.g., a museum, library, etc.), or some defined area (e.g., a parking lot, a sports field, etc.).
  • Each establishment may have one or more sensors 115 placed so as to define one or more zones associated with the establishment.
  • Each sensor 115 may include various wireless communication features. Such wireless communication features may include radio frequency communication features and may use various appropriate formats (e.g., Bluetooth, WiFi, etc.).
  • the sensors may be able to transmit a beacon signal that is able to be received by a user device 105 .
  • the beacon signal may include a unique sensor identifier (or “sensor ID”) and may be transmitted using short-range radio frequency signals at preset intervals.
  • sensor ID a unique sensor identifier
  • the sensor 115 will be described in more detail in reference to FIGS. 4-8 below.
  • a sensor 115 may be attached to, for instance, an object, pet, person, etc.
  • the network(s) 120 may include one or more local-area networks (e.g., a wireless network, an Ethernet network, etc.), wide-area networks and/or networks of networks (e.g., the Internet).
  • the networks may allow data and/or instructions to be passed among the various components of the system.
  • the server(s) 125 may include one or more electronic devices that are able to execute instructions and/or process data.
  • the application server 130 may be able to pass data and/or instructions among one or more databases 135 - 150 and/or one or more network(s) 120 .
  • the databases 135 - 150 may be able to store data and/or instructions.
  • Various example data structures will be described in reference to FIG. 14 below.
  • Each third party 155 may be a non-consumer individual or entity that accesses the system 100 . Such entities may include, for example, retail chains, product manufacturers, application developers, etc. Each third party 155 may include one or more client devices 160 that may allow the third party 155 to access system 100 through network(s) 120 . Such a client device 160 may be, for instance, a personal computer, a notebook computer, a mobile phone, etc.
  • a user device 105 that moves within a particular proximity of a sensor 115 may receive a beacon signal from the sensor.
  • the user device may then execute a client-side application that allows the user device to send data and/or instructions to the server(s) 125 via the network 120 .
  • Such data and instructions may include information regarding the proximity event (e.g., an identifier of the sensor).
  • the server(s) 125 may process the received data and/or instructions and determine various potential responses. Such responses may be based at least partly on the location of the sensor 115 , an establishment 110 associated with the sensor, a third party 155 associated with the sensors, and/or other relevant factors.
  • the server(s) 125 may determine such responses based on information stored, for instance, the sensor database 135 , the establishment database 140 , the user database 145 , and/or the manufacturer database 150 .
  • the server(s) 125 may then send one or more responses to the user device (e.g., a coupon, sale offer, product information, etc.).
  • the user device 105 may receive the response(s) from the server(s) and provide them to a user. Alternatively, the user device may execute various actions based on the received response(s).
  • such actions may include making a phone call, sending a text message, playing a sound, displaying an image, determining a current position via the global positioning system (GPS) or other appropriate ways (e.g., by determining a location of a cell tower used by the user device, the location of a Femtocell, Microcell or other communications system associated with the user device, etc.), etc.
  • GPS global positioning system
  • Each client device 160 may allow a third party 155 to send data and/or instructions to the server(s) 125 via the network 120 .
  • data and/or instructions may include sensor data, establishment data, manufacturer data, and/or other data.
  • the server(s) 125 may process the received data and/or instructions and provide various responses (e.g. an update confirmation message, an action required message, etc.) to the third party 155 through the client device 160 .
  • system 100 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 2 illustrates a schematic block diagram of a conceptual system 200 implemented using an alternative configuration of elements of some embodiments of system 100 . Specifically, this figure shows an implementation that may be used to monitor “tagged” items or containers within an establishment. As shown, in addition to any components described above in reference to system 100 , system 200 may include a set of smart containers 210 (where each container may be associated with at least one sensor 115 ), a set of locators 220 , and/or user devices 105 .
  • Each smart container 210 may be a pallet, shipping container, bin, box, rack, baggage, luggage, etc.
  • the smart container may be able to store various items or groups of items.
  • multiple items within a container may be tagged (e.g., a sensor may be associated with a clothing rack, while multiple other sensors may each be associated with a different hanger associated with the rack, where each hanger is associated with a clothing item, etc.).
  • the smart container itself may include one or more sensors 115 .
  • the sensor(s) may be embedded into the container 210 or otherwise appropriately attached (e.g., using adhesives, screws or other fasteners, etc.).
  • the sensors 115 may be removable (e.g., a sensor may be clipped onto an item during processing and removed when the item is completed).
  • the sensors 115 may be oriented such that, in addition to defining a location of the container 210 , may be used to determine a position of the container (e.g., upright, north-facing, etc.).
  • Each locator 220 may be a device (e.g., a tablet, a PC, etc.) that is able to receive beacons from the sensors 115 .
  • the locator 220 may be able to communicate with an external resource (e.g., an on-site or remote server) via one or more networks (e.g., a local area network, wireless network, cellular network, etc.).
  • the locator may be a dedicated device that is used to track smart containers 210 .
  • the locator 220 may or may not include user displays or other interactive elements, depending on the application.
  • the locators may be placed at fixed locations that may be associated with an establishment. Such fixed locations may be associated with the locators. In this way, the locators may be used to track smart containers 210 that are associated with the establishment.
  • each locator 220 may collect information regarding sensors 115 that pass within a proximity threshold of the locator 220 . Such information may be transmitted via network 120 to the server 125 for storage and/or analysis. The transmitted data (or elements thereof) may be made available to the third parties 155 via network 120 .
  • a smart container 210 may enter an establishment or facility (e.g., when received from a carrier).
  • a locator 220 near the establishment loading dock may determine that the container 210 has entered the facility when a sensor beacon signal is received.
  • Other locators 220 may then track the container through the facility as the locators identify a sensor beacon signal associated with the container.
  • the locators may notify a local or remote server when a sensor associated with a container 210 enters, is within, and/or leaves a proximity threshold of each locator. In this way, the server may be able to determine a location for each container 210 associated with the facility.
  • a user device 105 may be used by an operator, manager, and/or other user, to send and/or receive information related to the establishment 110 and/or the containers 210 .
  • an operator may be able to request an estimated arrival time for a next item.
  • a manager may be able to track inventory within various locations of the establishment 110 .
  • system 200 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 3 illustrates a schematic block diagram of another conceptual system 300 implemented using an alternative configuration of elements of some embodiments of system 100 . Specifically, this figure shows various communication pathways among the elements of the system 300 . As shown, in addition to any components described above in reference to system 100 , system 300 may include various advertising mediums 310 .
  • each sensor 115 may collect information from user devices 105 that pass within a proximity threshold of the sensor 115 . Such information may be transmitted via network 120 to the server 125 for storage and/or analysis. The transmitted data (or elements thereof) may be made available to the third parties 155 via network 120 .
  • each sensor 115 may communicate with one or more advertising mediums 310 .
  • each sensor 115 may be embedded in (or otherwise attached to) a medium 310 .
  • Each medium may be a billboard, video screen, multimedia display, and/or other appropriate devices and/or systems associated with presenting advertising content. Such communication may occur using various appropriate pathways (e.g., wired connections, wireless connections, network connections, etc.). In this way, each sensor 115 may at least partially control (and/or provide) the content present by one or more advertising mediums 310 .
  • each sensor 115 may be able to communicate with the server 125 via one or more networks 120 in order to send and/or receive data related to the advertising content, mobile devices within a proximity threshold, and/or other appropriate information.
  • each sensor 115 may communicate with the server 125 and, based on the sensor ID, retrieve mobile content and/or complete a transaction with a third-party advertiser associated with the advertising medium 310 .
  • the medium may be able to communicate with the server 125 and/or third-party servers 155 , where data sent to the medium may be based at least partly on data received from and/or associated with the sensor 115 .
  • a sensor 115 may be associated with non-interactive advertising mediums 310 (e.g., posters, product displays, etc.).
  • the sensor 115 may be associated with non-advertising elements (not shown) such as, for example, product packaging or a product itself, artwork, etc.
  • Such sensors may be adapted to collect user data and relay such data to a server 125 and/or to allow users to access information (and/or receive marketing offers) related to advertised items, displayed products, etc. Such information may be accessed using a mobile device application of some embodiments.
  • system 300 The operation of system 300 will be described in more detail in reference to FIGS. 18-19 below.
  • system 300 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 4 illustrates a floor plan of an establishment 400 included in some embodiments of the system 100 . Specifically, this figure shows how an establishment may be divided into multiple sections (or “zones”) that may each use one or more sensors to identify proximity events. As shown, the establishment 400 may include multiple zones 410 - 460 , each of which may include one or more sensors 470 . The sensor location(s) may be configured in various different ways, as appropriate. Each sensor may be associated with a set of advertising mediums (not shown).
  • a first zone 410 may be defined at an entrance of the establishment such that consumers entering the establishment 400 may trigger a proximity event.
  • a number of product zones 420 - 440 may be defined such that a consumer may trigger a proximity event when a user device is able to detect the beacon signal of a sensor 470 located relative to the zone.
  • Product zone 440 may include multiple sensors 470 such that the zone is defined as multiple sub-zones, and/or so that an array of proximity events may be determined (e.g., a user application may determine that the user is within a certain proximity of a first sensor, a second sensor, or both a first and second sensor).
  • Zone 450 may define an “inactive” area where no proximity events are generated (e.g., an area of the establishment 400 used only by employees).
  • zone 460 may be defined at an exit of the establishment such that consumers leaving the establishment 460 may trigger a proximity event.
  • a particular consumer-user may have a mobile application running on a user device.
  • the consumer-user may then enter establishment 400 through the entrance 410 , generating a proximity event.
  • the event may cause the mobile application to send a notification of the event to a remote server, which in turn may cause the mobile application to perform an action.
  • Such an action may include, for instance, retrieving and displaying a shopping list for the establishment, offering a generic (or user-specific) coupon, provide information regarding sale items, and/or other appropriate actions.
  • the consumer may then enter a first product zone 420 , triggering another proximity event.
  • the zone 420 may be a deli and the user's shopping list may indicate that the user wishes to buy a half pound of sliced ham.
  • the proximity event may be used to provide an offer related to ham, display ham that is on sale, display other specials in the deli section, and/or other appropriate actions.
  • the consumer-user may proceed through the establishment in a similar fashion, potentially triggering proximity events related to other zones within the establishment.
  • the user may leave the establishment through the exit 460 , triggering a proximity event.
  • various appropriate actions may be performed, such as displaying a message on the user's mobile device (e.g., “Thank you for shopping with us!”).
  • Proximity events may, in addition to, or in place of, interacting with a consumer or other user, cause data to be generated and stored in a way that is transparent to the user. Such data may be sent to the server and stored remotely. Alternatively, data associated with the user may be stored locally on the user's mobile device. For instance, stored data relating to proximity events may be used to calculate the average time a user spends in an establishment or zone.
  • establishment 400 and associated floor plan and sensor configuration are presented for example purposes only. Different embodiments may include differently configured establishments with differently configured floor plans. In addition, the configuration (and/or number) of sensors located within each establishment may be altered as appropriate.
  • FIG. 5 illustrates a floor plan of an establishment 500 included in some embodiments of the system 200 . Specifically, this figure shows how an establishment may be divided into multiple sections (or “zones”) that may each use one or more locators to identify proximity events. As shown, the establishment 500 may include multiple zones 510 - 560 , each of which may include one or more locators 570 . The locators may be configured in various different ways, as appropriate.
  • a first zone 510 may be defined at an entrance of the establishment such that smart containers (and associated sensors) entering the establishment 500 may trigger a proximity event.
  • a number of product zones 520 - 540 may be defined such that a container (e.g., smart container 210 described above) may trigger a proximity event when a locator 570 is able to detect the beacon signal of a sensor within or near the zone.
  • Product zone 540 may include multiple locators 570 such that the zone is defined as multiple sub-zones, and/or so that an array of proximity events may be determined (e.g., a user application may determine that the container is within a certain proximity of a first locator, a second locator, or both a first and second locator).
  • Zone 550 may define an “inactive” area where no proximity events are generated (e.g., an area of the establishment 500 that does not interact with the smart containers, such as an employee lounge).
  • zone 560 may be defined at an exit of the establishment such that containers leaving the establishment 560 may trigger a proximity event.
  • a particular locator may execute a client application.
  • a container with an associated sensor may then enter establishment 500 through the loading dock 510 , generating a proximity event.
  • the event may cause the client application to send a notification of the event to a local or remote server, which in turn may update information related to the establishment 500 and/or container.
  • Such an update may include, for instance, associating a new location with the container, updating a processing status of the container (e.g., receiving, unpacking, packing, shipping, etc.).
  • the container may then enter zone 520 , triggering another proximity event.
  • the zone 520 may be a processing station and the proximity event may indicate that a container is being received into inventory.
  • the proximity event may be used to update stock data, generate a receipt confirmation for a shipper, etc.
  • the container may enter zone 530 , triggering another proximity event, and so on.
  • the various zones may be defined using the locators 570 and information associated with the establishment 500 .
  • Each proximity event may be used to trigger an appropriate set of responses. For instance, when a box leaves a packing area and enters a shipping area, the shipping department may be notified that the box is ready to be shipped. As another example, an item under manufacture may be physically transferred from a first station to a second, thus triggering a work order to the second station.
  • the locator 570 and/or an associated device may alert an operator or other user that an event has taken place (e.g., an item has been transferred to the station associated with the operator, an item requires additional processing, etc.).
  • an alert or other user interaction may include various elements (e.g., display elements, audio elements, etc.) and may allow (or require) a user to respond in various ways (e.g., by pressing a button, by moving an item to a next station within a specified length of time, etc.).
  • proximity events may trigger updates to data (e.g., inventory, manufacturing status, etc.) without necessarily generating any action.
  • Data associated with the locators 570 (and/or containers) may be stored locally on the locators (and/or a local server) and/or transferred to a remote server over various appropriate networks.
  • establishment 500 and associated floor plan and sensor configuration are presented for example purposes only. Different embodiments may include differently configured establishments with differently configured floor plans. In addition, the configuration (and/or number) of locators within each establishment may be altered as appropriate.
  • FIG. 6 illustrates a schematic block diagram of a sensor 600 used by some embodiments of the system 100 . Specifically, this figure shows the various components that may be included in the sensor 600 of some embodiments. As shown, the sensor device 600 may include a communication interface 610 , a processor 620 , a memory 630 , a transmitter/receiver 640 , one or more indicators 650 , and/or a power module 660 .
  • the communication interface 610 may be adapted to allow a client device (e.g., a PC, a smart phone, etc.) to communicate with the sensor 600 (or vice-versa).
  • the communication interface 610 may include various wired and/or wireless connections (e.g., a universal serial bus (USB) port, a Bluetooth or other wireless port, etc.).
  • USB universal serial bus
  • the communication interface may be adapted to allow two-way communication among the sensor and various other devices and/or connections (e.g., between the sensor and a mobile device via a Bluetooth connection, between the sensor and a server across a network or set of networks, between a first sensor and a second sensor, etc.).
  • various other devices and/or connections e.g., between the sensor and a mobile device via a Bluetooth connection, between the sensor and a server across a network or set of networks, between a first sensor and a second sensor, etc.
  • the communication interface may be adapted to allow users to adjust settings of the sensor (e.g., beacon signal range, direction, interval time, etc.).
  • the sensor 600 may be configured when manufactured.
  • the sensor may be configured to run firmware. Such firmware may allow the sensor to continuously operate when power is provided.
  • the firmware may be adapted to cause the sensor continuously or periodically perform various operations (e.g., transmit a beacon signal, react to events, etc.).
  • the sensor attributes may then be configured at the server (e.g., range and spread of the beacon signal, pattern of the signal, definition of events and responses, etc.). Alternatively, various configuration parameters may be defined and/or updated as the sensor operates.
  • the processor 620 may be adapted to process instructions and/or data. In addition, the processor may be adapted to allow communication among the various other modules of the sensor 600 .
  • the memory 630 may be adapted to store various instructions and/or data used by the sensor 600 .
  • Such instruction may include firmware instructions, logical operations, and/or other appropriate instructions.
  • the data may include, for instance, an identifier of the sensor, attributes of the sensor performance (e.g., range and spread of the beacon signal, interval between signals, etc.), and/or other information.
  • the transmitter/receiver 640 may be adapted to transmit various types of beacon signals (e.g., WiFi, Bluetooth (classic, low energy (LE) (e.g., “Bluetooth Smart Ready”, “Bluetooth Smart”, etc.), Bluetooth v4.0, etc.), etc.) using various different communications protocols (e.g., cellular (e.g., 2G, 3G, 4G LTE, etc.), ZigBee protocol, ANT, ANT+, etc.).
  • the transmitter may be configurable, such that the range and spread of the transmitted signal(s) may be controlled (e.g., by loading values to the sensor memory 630 , by defining various attributes at the server, etc.).
  • the range, spread, and/or other attributes of the beacon signal may be adjusted at run-time by a client application (e.g., by adjusting a threshold received power used to trigger an event).
  • a client application e.g., by adjusting a threshold received power used to trigger an event.
  • Such “dynamic range” may be used to allow various sellers (e.g., manufacturers of particular brands) to bid for placement in real-time. For instance, multiple brands of a particular product may be perceived as each being the same distance (or matched to within a particular threshold) from a consumer.
  • an order of the items presented may correspond at least partly to various bid amounts associated with sellers of the products (rather than being determined solely based on proximity).
  • the transmitter/receiver 640 of some embodiments may be adapted to receive various types of signals and/or communications.
  • the receiver may communicate with other devices via similar protocols to those used by the transmitter.
  • one or more transmitters and/or one or more receivers may share elements of the sensor (e.g., an antenna, communication circuitry, etc.).
  • the operation of the receiver (and/or transmitter) may be configurable in some embodiments (e.g., Bluetooth communications may be able to be enabled/disabled, communication power and/or frequency may be adjusted, etc.).
  • Some embodiments may include multiple transmitter/receivers 640 (and/or multiple transmitters and/or receivers). Each transmitter/receiver may be associated with a particular external element or elements (e.g., user devices, a remote server, an advertising medium, etc.).
  • Each transmitter/receiver may be associated with a particular external element or elements (e.g., user devices, a remote server, an advertising medium, etc.).
  • the indicator(s) 650 may be adapted to provide a visual indication of the status of the sensor.
  • the indicator(s) may include various display elements (e.g., differently-colored lights, a set of LEDs, etc.).
  • the indicator(s) may allow a user to determine a current state of the sensor (e.g., “off”, “on”, “transmitting”, “error”, etc.).
  • the indicator(s) may provide other than visual indications (e.g., one or more sound indicators, message(s) delivered to a client device, etc.).
  • the senor 600 may include a detection module that may allow the sensor to determine when a user device is within a threshold distance of the sensor. Such detection may be based at least partly on received signal strength (e.g., a Bluetooth signal, cellular signal, etc.), data received from a remote server, and/or other appropriate parameters.
  • received signal strength e.g., a Bluetooth signal, cellular signal, etc.
  • the senor 600 may be able to detect environmental conditions (e.g., temperature, speed, magnetic field, brightness, etc.) using various appropriate elements (e.g., light sensors, Hall Effect sensors, accelerometers, etc.). In this way, beacon transmissions may be triggered based on various environmental factors. For example, the sensor may transmit when light is sensed (e.g., when the sensor is removed from a box). As another example, employees may be tracked within a venue to determine time and attendance, where a tag including a sensor is sensed as attached to an employee based on temperature.
  • environmental conditions e.g., temperature, speed, magnetic field, brightness, etc.
  • various appropriate elements e.g., light sensors, Hall Effect sensors, accelerometers, etc.
  • beacon transmissions may be triggered based on various environmental factors.
  • the sensor may transmit when light is sensed (e.g., when the sensor is removed from a box).
  • employees may be tracked within a venue to determine time and attendance, where a tag including a sensor is
  • the senor 600 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 7 illustrates top views 710 - 720 of the sensor 600 , showing proximity zones defined by various beacon signals that may be provided by some embodiments of the sensor 600 .
  • this figure illustrates several example areas that may be defined by setting various beacon signal attributes (e.g., range, direction, and/or spread).
  • various beacon signal attributes e.g., range, direction, and/or spread.
  • the signal area 730 is omni-directional and the signal range is defined by radius 740 .
  • the signal area 750 is defined by a range 760 and spread angle 770 .
  • the primary direction of the signal (i.e., the signal direction with a minimum spread angle) in the second configuration 720 may be selectable (e.g., the primary direction may be a defined value, such as an angle, relative to various physical attributes of the sensor 600 ).
  • the primary direction of the signal in the second configuration may be pre-set in relation to physical attributes of the sensor (e.g., the sensor may be adapted to mount to a wall and the primary direction of the signal may be set to emanate in a direction perpendicular to and away from the wall).
  • the shape, direction, range, and/or other attributes of the beacon signal may be defined in various different ways to achieve various different optimizations. For instance, in some embodiments a user of the sensor 600 may wish to generate a signal area that covers the most possible physical space. Such a user may select an omni-directional signal with a maximum range allowed by the sensor. As another example, a user of the sensor may wish to minimize power used by the sensor and thus may define a signal area with limited range and spread.
  • signal areas 730 and 750 are conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention.
  • the areas may be defined by various different shapes with various specific attributes.
  • FIG. 8 illustrates a floor plan of a multi-sensor, multi-establishment implementation 800 according to some embodiments of the system 100 . Specifically, this figure illustrates multiple sensors 600 , each configured to provide an omni-directional beacon signal area 720 , positioned at example locations throughout the implementation 800 .
  • the multi-sensor implementation 800 may include one or more establishments 810 - 860 , each establishment including one or more sensors 600 .
  • one or more establishments may not include any sensors (not shown in this example).
  • various ranges, directions, and spread of signals may be used, as described above in reference to FIG. 7 .
  • a first establishment 810 may include a sensor 600 located near an entrance and another sensor 600 located within the establishment 810 .
  • a second establishment 820 may include multiple sensors 600 placed at various locations throughout the establishment 820 .
  • a third establishment 830 may have only one sensor 600 located in the establishment 830 .
  • a fourth location 840 may include multiple sensors 600 , where one sensor is configured to have a much greater beacon signal range 720 than the other sensors 600 .
  • a fifth establishment 850 may include multiple entryways/exitways, each associated with a sensor 400 , and another sensor located within the establishment 850 .
  • the fifth establishment 850 may be an open area (e.g., a section of a parking area, field, etc.) and/or be at least partly defined by a temporary structure (e.g., a cover, tent, set of display tables, etc.).
  • a sixth establishment 860 may be an outdoor booth or cart with a single sensor 600 that defines an area that includes locations outside the boundaries of the booth or cart.
  • FIG. 800 One of ordinary skill in the art will recognize that schematic diagram of a multi-sensor configuration 800 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, different establishments or groups of establishments may have different shapes, floor plans, etc.
  • FIG. 9 illustrates a schematic block diagram of a conceptual server application 900 provided by some embodiments of the invention. Specifically, this figure shows various system components that may be provided by the server (or server-side) application. Such a server-side application may be executed by one or more appropriate user devices.
  • the server application may include a communication module 905 , an authentication module 910 , a reporting & analytics module 915 , a sensor management module 920 , a campaign management module 925 , an account manager module 930 , an action management module 935 , a channel management module 940 , a rich media repository module 945 , a web services module 950 , a payment module 955 , a social network interface module 960 , and/or a communications bus 965 .
  • a communication module 905 an authentication module 910 , a reporting & analytics module 915 , a sensor management module 920 , a campaign management module 925 , an account manager module 930 , an action management module 935 , a channel management module 940 , a rich media repository module 945 , a web services module 950 , a payment module 955 , a social network interface module 960 , and/or a communications bus 965 .
  • the communication module 905 may be adapted to communicate with various client devices, typically across one or more networks.
  • the authentication module 910 may be adapted to confirm and/or validate user account information (e.g., a login name and password) supplied by a user (e.g., a consumer, an establishment-user, a manufacturer-user, etc.).
  • the reporting and analytics module 915 may be adapted to perform various analyses and reporting of collected data. Such a module may be used to generate reports, produce charts and/or export data that can be analyzed by and/or integrated into third-party systems.
  • the sensor management module 920 may be adapted to control and manage the sensors used by some embodiments (e.g., by defining events, ranges, etc.).
  • the reporting and analytics module 915 may be adapted to collect data from various sources. Such data may be collected from, for instance, user devices, sensors, third-party servers, etc.
  • the data may include marketing information, user activity information, sales information, order information, and/or other appropriate data that may be useful in association with proximity events.
  • the campaign management module 925 may be adapted to allow management of marketing campaigns.
  • the account manager module 930 may be adapted to allow management of various accounts (e.g., consumer-user, establishment-user, manufacturer-user, etc.).
  • the action management module 935 may be adapted to create, configure and associate events with corresponding sensors.
  • the channel management module 940 may be adapted to customize advertisements, marketing messages and application events based on a device's capabilities and methods of connection.
  • the rich media repository module 945 may be adapted to provide and store rich media resources.
  • the web services module 950 may be adapted to configure the user/client information and settings via various webpages.
  • the payment module 955 may be adapted to process invoice, billing, and/or payment information in various appropriate ways. Such a module may be able to generate (or receive from another source) a list of goods and/or services associated with a consumer and generate an invoice (or other appropriate way of requesting a payment from the consumer). The module may further receive payment information from a consumer (e.g., via a credit card swiping element, by providing an entry form, by receiving the information from an application associated with the consumer, etc.). In addition, the module may communicate with various external resources to verify the payment information and authorize payment (e.g., by sending a request to a third party to process a credit card transaction, receiving confirmation back from a third party, etc.).
  • the social network interface module 960 may be adapted to interact with various third-party social networks. Such networks may be accessed through various combinations of networks (e.g., the Internet), interfaces (e.g., one or more APIs), and/or other elements. Such a social network interface may, for instance, allow a user to recommend (and/or receive recommendations regarding) an establishment, item, service, etc. to various other users that may be associated with a social network account of the user.
  • networks e.g., the Internet
  • interfaces e.g., one or more APIs
  • Such a social network interface may, for instance, allow a user to recommend (and/or receive recommendations regarding) an establishment, item, service, etc. to various other users that may be associated with a social network account of the user.
  • the bus 965 may be adapted to allow communication among the various other elements 905 - 960 of the server application 900 .
  • server application 900 The operation of the server application 900 will be described in more detail in reference to Section III below.
  • server application 900 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 10 illustrates a schematic block diagram of a conceptual user application 1000 provided by some embodiments of the invention. Specifically, this figure shows various system components that may be provided by the client (or client-side) application. Such a client-side application may be executed by an appropriate user device. As shown, the application may include a communication module 1010 , a user interface module 1020 , and/or a sensor module 1030 .
  • the communication module 1010 may be adapted to communicate with various server devices, typically across one or more networks.
  • the communication module may be adapted to communicate with one or more sensors of some embodiments (e.g., via a WiFi channel, a Bluetooth link, etc.).
  • the communication module may also be adapted to communicate with one or more advertising mediums, and/or other external devices and/or systems.
  • the user interface module 1020 may be adapted to provide outputs to a user and/or receive inputs from the user.
  • the sensor module 1030 may be adapted to configure, test, communicate with, and/or otherwise interact with one or more sensors of some embodiments.
  • establishment-user and/or manufacturer-user application 1000 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 11 illustrates a schematic block diagram of an alternative conceptual user application 1100 provided by some embodiments of the invention. Specifically, this figure shows various system components that may be provided by the client (or client-side) application. Such an application may be executed by an appropriate user device (e.g., a smart phone, a tablet, etc.) and may use various resources provided by the user device (e.g., network connections, storages, GPS, etc.). As shown, the application may include a communication module 1110 , a user interface module 1120 , a receiver module 1130 , and/or a control module 1140 .
  • an appropriate user device e.g., a smart phone, a tablet, etc.
  • the application may include a communication module 1110 , a user interface module 1120 , a receiver module 1130 , and/or a control module 1140 .
  • the communication module 1110 may be adapted to communicate with various server devices, typically across one or more networks.
  • the communication module may be adapted to communicate with one or more sensors of some embodiments (e.g., via a WiFi channel, a Bluetooth link, etc.).
  • the communication module may also be adapted to communicate with one or more advertising mediums, and/or other external devices and/or systems.
  • the user interface module 1120 may be adapted to provide outputs to a user and/or receive inputs from the user.
  • the receiver module 1130 may be adapted to receive beacon signals from the sensors of some embodiments.
  • the control module 1140 may be adapted to control various aspects of a user device (e.g., by causing the device to display a GUI, to send a text message, to place a phone call, to play a sound, etc.).
  • consumer-user application 1100 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 12 illustrates a schematic block diagram of a sensor application 1200 provided by some embodiments of the invention. Specifically, this figure shows various system components that may be provided by the sensor application. The combination of sensor software and memory described above in reference to FIG. 6 may provide a firmware solution for controlling the operation of a sensor.
  • Such an application 1200 may be executed by an appropriate sensor device (e.g., sensor 600 ) and may use various resources provided by the sensor device (e.g., a transmitter, memory, etc.). As shown, the application may include a communication module 1210 , a control program module 1220 , and/or a hardware interface module 1230 .
  • the communication module 1210 may be adapted to communicate with various other devices (e.g., user devices, server devices, advertising mediums, etc.) via one or more pathways (e.g., Bluetooth channels, WiFi networks, the Internet, etc.).
  • the control program module 1220 may be adapted to implement various pre-programmed operations of the sensor, where such operations may be re-programmed in some embodiments (e.g., via the server, via a mobile device, etc.).
  • the hardware interface module 1230 may be adapted to control and/or communicate with various elements of the sensor device (e.g., a transmitter, receiver, indicators, etc.).
  • the sensor application 1200 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 13 illustrates a schematic block diagram of a system 1300 including an application interface 1310 provided by some embodiments of the invention. Specifically, this figure shows various system components that may be provided to third-party application developers in some embodiments. As shown, the system may include the interface 1310 , one or more third-party developers 1320 , one or more applications 1330 , and one or more server databases 1340 .
  • the interface 1310 may allow third-party application developers 1320 to develop various third-party applications 1330 that may be able to access the server databases 1340 through the interface 1310 .
  • the interface 1310 may include, for example, a representational state transfer (“REST”) interface (and/or other appropriate interfaces) that may allow third-party developers to utilize http commands to access the server databases 1320 .
  • third-party developers may be able to reconfigure sensor operation using the interface 1310 to manipulate sensor data stored on the databases 1320 .
  • sensor operation may be at least partially controlled via parameters such as beacon strength and/or direction, data associated with advertising content for some advertising medium, etc.
  • system 1300 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 14 illustrates a block diagram of a database 1400 including various conceptual data structures or elements 1410 - 1440 used by some embodiments of the invention. Specifically, this figure shows various data elements that may be utilized by some embodiments of the invention. As shown, the database 1400 of some embodiments may include one or more sensor data elements 1410 , one or more establishment data elements 1420 , one or more manufacturer data elements 1430 , one or more subscriber data elements 1440 , and/or one or more other data elements 1450 .
  • Each sensor data element 1410 may include an ID, an establishment ID, and/or other sub-elements (e.g., events associated with the sensor).
  • Each establishment data element 1420 may include one or more IDs (each ID may correspond to a particular location of the establishment, such as one establishment among a retail chain or a zone within a single establishment), a set of associated sensor IDs, and/or other sub-elements (e.g., menu tables, order tables, shopping carts, etc.).
  • Each manufacturer data element 1430 may include an ID, a set of establishment IDs (each associated establishment may correspond to a particular establishment and/or location), a set of sensor IDs, and/or other sub-elements (e.g., brands associated with the manufacturer, special offers associated with the manufacturer, etc.).
  • Each subscriber (or consumer) data element 1440 may include an ID and/or other sub-elements (e.g., a username, password, and/or other sub-elements such as attributes and/or history related to the subscriber).
  • Each other data element 1450 may include one or more sub-elements, where each sub-element may include some data item related to the data element.
  • FIG. 14 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention.
  • the database is represented as a single entity, it may in fact be implemented using multiple physical systems distributed among various locations.
  • various groups of data elements may be combined to form tables of data.
  • various sub-elements may be associated with multiple data elements, as appropriate.
  • FIG. 15 illustrates several example GUIs 1510 - 1530 provided by some embodiments. Specifically, this figure shows various example screens that may be displayed to a consumer during a shopping excursion. As shown, the first GUI 1510 includes a main navigation screen with various selectable buttons, selectable list items, account indicators, etc.
  • the second GUI 1520 includes a product list sorted by brand which may include inventory and location within an establishment.
  • the second GUI may be activated, for instance, when a user selects a list item (e.g., by pressing a touchscreen, by positioning a cursor, etc.).
  • the third GUI 1530 may be activated, for instance, when a user selects a list item with an associated marketing offer.
  • the third GUI 1530 may include various multimedia elements and may allow a user to receive some special savings (e.g., a coupon, a user-specific reward, etc.).
  • this example shows that some elements may be personalized (e.g., the consumer may be referred to by her name, a nickname/username, and/or other appropriate ways).
  • GUIs may include elements such as, for example, a rewards indicator (e.g., a display of points associated with a loyalty reward program), various ratings, recommendations, etc.
  • the GUIs may also allow a user to perform actions (e.g., “add to cart”, “add to loyalty card”, “add to credit card rewards”, etc.). This may allow, for instance, a user to utilize a loyalty rewards program without having to carry a rewards card.
  • GUIs of FIG. 15 are conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention.
  • each GUI is represented as having various selection buttons, such selections may be made in various different ways (e.g., using voice commands, using a touch screen, etc.).
  • various groups of listing elements may be formatted and displayed in various different ways (e.g., using tables, bulleted lists, etc.).
  • various promotional elements may be presented in various appropriate ways (e.g., by providing multimedia content, by providing text-based content, etc.).
  • FIG. 16 illustrates several example GUIs 1610 - 1630 provided by some embodiments. Specifically, this figure shows various example screens that may be displayed to an operator within a logistic environment. As shown, the first GUI 1610 includes a main navigation screen with various selectable buttons, selectable list items, labels, indicators, etc.
  • the second GUI 1620 includes information related to a particular container.
  • the second GUI may be activated, for instance, when a user selects a list item (e.g., by pressing a touchscreen, by positioning a cursor, etc.).
  • the third GUI 1630 may be activated, for instance, when a user selects a list item with an associated status or condition.
  • the third GUI 1630 may include various special instructions or other appropriate content.
  • the GUIs may allow an operator to enter information regarding the various containers (e.g., condition, special instructions, etc.) and/or other appropriate information.
  • GUIs of FIG. 16 are conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention.
  • each GUI is represented as having various selection buttons, such selections may be made in various different ways (e.g., using voice commands, using a touch screen, etc.).
  • various groups of listing elements may be formatted and displayed in various different ways (e.g., using tables, bulleted lists, etc.).
  • various promotional elements may be presented in various appropriate ways (e.g., by providing multimedia content, by providing text-based content, etc.).
  • FIG. 17 illustrates a flow chart of a conceptual process 1700 used by some embodiments of the invention to allow a consumer to interact with the system 100 .
  • Process 1700 may begin, for instance, when a user launches a client application on a mobile device.
  • Process 1700 may then send (at 1710 ) login information to a server.
  • login information may include a user account name, account password, device identification, etc.
  • the process then may receive (at 1720 ) authentication from the server.
  • authentication may include a message, flag, or other appropriate indication that the user has been authenticated (or not).
  • the process may end.
  • the process may scan (at 1730 ) for a sensor.
  • the process may then determine (at 1740 ) whether a sensor is detected. Such a determination may be based on various appropriate factors (e.g., proximity to the sensor, event(s) associated with the sensor, etc.). If a sensor is not detected, the process may repeatedly or continuously scan (at 1730 ) for a sensor until a sensor is detected or the client application is terminated.
  • the process may send (at 1750 ) a request to the server.
  • a request may include the sensor ID, user location, etc.
  • the process may then receive (at 1760 ) instructions from the server.
  • Such instructions may include various actions to be performed by the user device (e.g., displaying a coupon, playing a sound, displaying a video, etc.) which may be associated with various multimedia data (e.g., coupons, advertisements, news, music, etc.) that may also be received from the server.
  • process 1700 may execute (at 1770 ) any received instructions. After executing (at 1770 ) the received instructions, the process may end.
  • process 1700 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, the operations may be performed in different orders. As another example, various operations may be omitted and/or other operations may be included. Furthermore, the process, or portions thereof, may be executed as part of a larger macro-process, and/or divided into multiple sub-processes. Moreover, the process, or portions thereof, may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • FIG. 18 illustrates a flow chart of a conceptual process 1800 used by some embodiments of the invention to allow reporting of consumer interactions via system 300 .
  • Process 1800 may be executed at least partly by a device such as sensor 600 described above.
  • Process 1800 may begin, for instance, when a sensor is powered on.
  • Process 1800 may then determine (at 1810 ) whether interaction with a user device has been detected. Such detection may be based on various relevant factors. For instance, in some embodiments a sensor may be able to detect signals sent from the user device (e.g., Bluetooth signals, WiFi signals, etc.).
  • signals sent from the user device e.g., Bluetooth signals, WiFi signals, etc.
  • the process may repeat operation 1810 until the process determines (at 1810 ) that interaction with a user device has been detected. If the process determines (at 1810 ) that interaction with a user device has been detected, the process may then collect (at 1820 ) data associated with the user device. Such data may include information such as device type, connection type, information regarding a user of the device, etc.
  • the process may then determine (at 1830 ) whether some reporting criteria have been met (e.g., a minimum number of device interactions detected, a length of time since the last report was sent, etc.). If the process determines (at 1830 ) that the reporting criteria has not been met, the process may repeat operations 1810 - 1830 until the process determines (at 1830 ) that the reporting criteria has been met.
  • some reporting criteria e.g., a minimum number of device interactions detected, a length of time since the last report was sent, etc.
  • the process may then open (at 1840 ) a communication channel to the server (e.g., by sending a message over one or more network connections).
  • the process may send (at 1850 ) the collected data to the server and then end.
  • data may be associated with a particular sensor ID (which may, in turn, be associated with a particular location or element).
  • Such data may be stored by the server and made available to various third parties, as appropriate. For instance, an advertiser may place a sensor in proximity to an advertising element (e.g., a sign, a billboard, etc.) and collect data regarding traffic, effectiveness and engagement of mobile users, etc. In some embodiments, such data may be collected by a server via the user devices (e.g., using system 100 ) using the sensor ID.
  • an advertising element e.g., a sign, a billboard, etc.
  • data may be collected by a server via the user devices (e.g., using system 100 ) using the sensor ID.
  • the senor may collect data regarding each user device and send the data to the server.
  • the server may, in turn, send a message to the user device based on some notification criteria (e.g., the user's opt-in to receive such messages, a relevance of some offer to a particular user's preferences, etc.).
  • process 1800 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, the operations may be performed in different orders. As another example, various operations may be omitted and/or other operations may be included. Furthermore, the process, or portions thereof, may be executed as part of a larger macro-process, and/or divided into multiple sub-processes. Moreover, the process, or portions thereof, may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • FIG. 19 illustrates a flow chart of a conceptual process 1900 used by some embodiments of the invention to provide targeted advertising via system 300 .
  • Process 1900 may be executed at least partly by a device such as sensor 600 described above and/or one or more advertising mediums such as medium 310 described above.
  • Process 1900 may begin, for instance, when a sensor and/or advertising medium is powered on.
  • Such content may include, for instance, video content, audio content, multimedia content, etc.
  • Such content may be provided via various appropriate systems and/or devices (e.g., video monitors and/or displays, audio output devices such as amplifiers and speakers, multi-position billboards, interactive devices such as tablets, etc.).
  • Process 1900 may then determine (at 1920 ) whether interaction with a user device has been detected. Such detection may be based on various relevant factors. For instance, in some embodiments a sensor may be able to detect signals sent from the user device (e.g., Bluetooth signals, WiFi signals, etc.).
  • signals sent from the user device e.g., Bluetooth signals, WiFi signals, etc.
  • the process may repeat operation 1920 until the process determines (at 1920 ) that interaction with a user device has been detected. If the process determines (at 1920 ) that interaction with a user device has been detected, the process may then retrieve (at 1930 ) information related to the user device. Such information may include, for instance, device type, connection type, information regarding a user of the device, etc.
  • the process may then update (at 1940 ) the advertising content.
  • Such an update may involve sending content to display or other external device, sending a control signal or message that causes the advertising medium to update the displayed content (e.g., by cycling to a next display in a multi-display billboard), and/or other appropriate ways.
  • the process may send a message to the user device (when determining that a user has opted-in to receive such messages) regarding the displayed content (e.g., a coupon or other special offer that is not available to users that have not opted-in or to the general public).
  • process 1900 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention.
  • the operations may be performed in different orders.
  • various operations may be omitted and/or other operations may be included.
  • the process, or portions thereof may be executed as part of a larger macro-process, and/or divided into multiple sub-processes.
  • the process, or portions thereof may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • FIG. 20 illustrates a flow chart of a conceptual process 2000 used by some embodiments of the invention to communicate among the server(s) and user application(s) during consumer interaction.
  • the process may begin, for instance, when a client application attempts to communicate with a server application of some embodiments.
  • the process may receive (at 2010 ) login information from the client application.
  • login information may include a username, password, device identification, and/or other appropriate information.
  • the process may then send (at 2020 ) an authentication to the client application.
  • authentication may include a confirmation signal, message, and/or other appropriate indicator that the login information has been verified.
  • the process may receive (at 2030 ) a request.
  • a request may include a sensor ID and other appropriate information (e.g., user location).
  • Process 2000 may then retrieve (at 2040 ) information from a sensor database related to the sensor ID.
  • information may include sensor type, sensor location, etc.
  • the process may retrieve (at 2050 ) information from a subscriber database related to one or more users associated with the user account.
  • information may include, for example, historic purchase records, user preferences, etc.
  • the process may determine (at 2060 ) whether additional information is required from the user. Such a determination may be based at least partly on the selected sensor and/or user account. For example, certain sensors may require additional information (e.g., user age, sex, etc.) to verify whether an event should be triggered.
  • additional information e.g., user age, sex, etc.
  • the process may send (at 2070 ) a request to the client application.
  • a request may include a listing the required additional information.
  • the process may then retrieve (at 2080 ) the requested information from the client application (e.g., by prompting the user to make various entries and/or selections).
  • the process may then send (at 2090 ) instructions to the client application.
  • Such instructions may include various multimedia data (e.g., coupons, advertisements, news, music, etc).
  • the server may send a link for users, which may include a coupon, advertisement, music, etc.
  • the process may end.
  • process 2000 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, the operations may be performed in different orders. As another example, various operations may be omitted and/or other operations may be included. Furthermore, the process, or portions thereof, may be executed as part of a larger macro-process, and/or divided into multiple sub-processes. Moreover, the process, or portions thereof, may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • FIG. 21 illustrates a flow chart of a conceptual process 2100 used by some embodiments of the invention to allow a user to interact with the system 100 .
  • Process 2100 may begin, for instance, when a user launches a user application on a mobile device.
  • Process 2100 may then send (at 2110 ) login information to the server.
  • login information may include a username, password, device ID, etc.
  • the process may receive (at 2120 ) authentication from the server. Alternatively, authentication may not be received and the process may end.
  • the process may then determine (at 2130 ) whether data analysis is required. Such a determination may be based on data entered by a user (e.g., the user may select a data analysis option, provide a dataset for analysis, and/or otherwise indicate that analysis is required). If the process determines (at 2130 ) that data analysis is required, the process may receive (at 2140 ) a request from the user and send it to the server. Such a request may include data such as user type, establishment type, establishment location, etc.
  • the process may receive (at 2150 ) a response to the request.
  • a response may include different types of data (e.g., a table, list, etc.).
  • the process may then determine (at 2160 ) whether to update data. Such a determination may be made based on various relevant factors (e.g., availability of new data, a user update request, etc.).
  • the process may receive (at 2170 ) an update request from the user.
  • a request may include various data attributes to be updated (e.g., sensor data, campaign data, etc.).
  • the process may send (at 2180 ) the update request to the server.
  • the process After sending (at 2180 ) the update request to the server, or if the process determines (at 2160 ) that no data updates are required, the process may end.
  • process 2100 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, the operations may be performed in different orders. As another example, various operations may be omitted and/or other operations may be included. Furthermore, the process, or portions thereof, may be executed as part of a larger macro-process, and/or divided into multiple sub-processes. Moreover, the process, or portions thereof, may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • FIG. 22 illustrates a flow chart of a conceptual process 2200 used by some embodiments of the invention to communicate among the server(s) and user application(s) during user interaction.
  • the process may begin, for instance, when an establishment-user or manufacturer-user launches a client application.
  • the process may receive (at 2210 ) user login data from a client application.
  • Such login information may include a username, password, device ID, and/or other appropriate information.
  • the process then may retrieve (at 2220 ) information from an establishment database related to the user.
  • Process 2200 may then retrieve (at 2240 ) information from a subscriber database related to the user.
  • the process may then send (at 2250 ) data to a client application.
  • data may include establishment, sensor and/or subscriber information.
  • the process may determine (at 2260 ) whether to update database(s) associated with the user. If the process determines (at 2260 ) that an update to the database(s) is needed, the process may receive (at 2270 ) updated data from the client application. Such data may include establishment data, sensor data, etc. Next, the process may update (at 2280 ) the database(s) based on the received data.
  • the process may end.
  • process 2200 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, the operations may be performed in different orders. As another example, various operations may be omitted and/or other operations may be included. Furthermore, the process, or portions thereof, may be executed as part of a larger macro-process, and/or divided into multiple sub-processes. Moreover, the process, or portions thereof, may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • FIG. 23 illustrates a flow chart of a conceptual process 2300 used by some embodiments of the invention to monitor logistics events.
  • the process may begin, for instance, when an establishment-user launches a client application.
  • client application may be executed by a mobile device or locator such as those described above.
  • the process may receive (at 2310 ) login data from one or more clients.
  • the process may then associate (at 2320 ) the clients with a particular establishment (and/or otherwise appropriately arrange the clients.
  • Process 2300 may then retrieve tag data associated with the establishment (or other appropriate grouping).
  • data may include, for instance, data related to items that have previously been associated with the establishments (e.g., containers located within a warehouse).
  • the process may monitor (at 2340 ) client status(es) and determine (at 2350 ) whether a logistics event has occurred. Such a determination may be made in various appropriate ways based on data received from the client application(s). For instance, any proximity event may be treated as a logistics event. As another example, a change in location (e.g., from a first zone to a second zone) may be identified as a logistics event. A logistics event may be identified based on data received from locators and/or user devices.
  • the process may end.
  • the process may retrieve (at 2360 ) information related to the notifying client.
  • information may include, for example, an establishment associated with the client, the location of the client (e.g., a known location of a locator may be retrieved from a database, a GPS determined location of a mobile device, etc.), a type of client (e.g., fixed location, roving, etc.), and/or other relevant information (e.g., whether the client is associated with a particular user or operator).
  • the process may retrieve (at 2360 ) information related to the tagged item or items. Such information may be based at least partly on a sensor identifier included in a sensor beacon signal.
  • the retrieved information may include, for instance, previous logistics events associated with the tagged item, a status of the tagged item, and/or other relevant information such as a list of good included in a container, physical attributes of a container (e.g., size, weight, material type, etc.), destination, etc.
  • the process may then update (at 2380 ) various databases based at least partly on the logistics event and then end.
  • various messages or instructions may be sent to other devices and/or systems.
  • Such updates, messages, and/or instructions may include for instance, updates to a location associated with a tagged item, status messages sent to operators, instructions or updates sent to a third party system associated with the tagged item or locator, etc.
  • operations 2340 - 2380 may be iteratively performed continuously, at regular intervals, based on identified events, and/or based on other appropriate criteria.
  • process 2300 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, the operations may be performed in different orders. As another example, various operations may be omitted and/or other operations may be included. Furthermore, the process, or portions thereof, may be executed as part of a larger macro-process, and/or divided into multiple sub-processes. Moreover, the process, or portions thereof, may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • FIG. 24 illustrates a flow chart of a conceptual process 2400 used by some embodiments to configure a sensor used by some embodiments of the system 100 . Such a process may begin, for instance, when an establishment and/or manufacturer decides to install a sensor.
  • Process 2400 may then place (at 2410 ) the sensor at a desired location.
  • the establishment-user and/or manufacturer-user may place the sensor at an appropriate location within an establishment.
  • the process may connect (at 2420 ) a power supply to the sensor.
  • a power supply may be connected by inserting a set of batteries into the sensor, connecting an AC power supply to the sensor, and/or other appropriate ways.
  • the process may then set (at 2430 ) a transmission range of a beacon signal associated with the sensor.
  • the transmission range of the beacon signal may be configured in various appropriate ways (e.g., by manipulating server data associated with the sensor, by programming the internal memory of the sensor, etc.).
  • the process may set ( 2040 ) a direction of the beacon signal.
  • the direction may be set relative to a defined location of the sensor.
  • the angle and/or spread (or span) of the beacon signal may also be programmed.
  • the process may send (at 2440 ) the sensor ID to the server.
  • the sensor ID may already be known to the server, and the sensor may be associated with a particular location, establishment, etc. After sending (at 2440 ) the sensor ID to the server, the process may end.
  • process 2400 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, the operations may be performed in different orders. As another example, various operations may be omitted and/or other operations may be included. Furthermore, the process, or portions thereof, may be executed as part of a larger macro-process, and/or divided into multiple sub-processes. Moreover, the process, or portions thereof, may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • FIG. 25 illustrates a conceptual message flow diagram 2500 used by some embodiments of the invention to communicate among various elements of the system 100 . Specifically, this figure shows the message types and sequence of various communications sent among the components of the system. As shown, the message flow may include a sensor 2510 , a mobile device 2520 , a server 2530 , a user database 2540 , a sensor database 2550 , and/or other databases 2560 .
  • Sensor 2510 may be similar to sensor 600 described above in reference to FIG. 6 .
  • Mobile device 2520 may be a user device that includes one or more wireless communication features such as a smart phone, tablet, personal computer, etc.
  • Server 2530 may include one or more remote devices that are able to communicate with various system elements (e.g., using one or more networks).
  • User database 2540 may include various data elements related to a user of the system (e.g., username, password, shopping lists, etc.).
  • Sensor database 2550 may include various data elements related to sensors provided by the system (e.g., sensor IDs, locations, etc.).
  • the other databases 2560 may include various other data elements associated with the system (e.g., establishment IDs, manufacturer IDs, offers, usage statistics, etc.).
  • a consumer may use a mobile device, which may be running a client application, to trigger a proximity event.
  • a mobile device which may be running a client application
  • client application to trigger a proximity event.
  • FIG. 25 is for descriptive purposes, as many different message flows may be implemented, depending on various relevant factors (e.g., user preferences, placement of sensor(s), availability of network connections, etc.).
  • the mobile device 2520 may send a message ‘a’ to the server 2530 .
  • a message may include information such as a user name and password.
  • the server may, in turn, send a message ‘b’ to the user database 2540 .
  • Such a message may be a request for a password or other information associated with the user.
  • the user database may send a response message ‘c’ that may include the requested information.
  • the server 2530 may send a message ‘d’ to the mobile device 2520 .
  • Such a message may include various data items related to the user, the user's account, and/or other appropriate data.
  • the messages ‘a’-‘d’ may be used in some embodiments to establish a live session among a user device and the server(s) of some embodiments.
  • the mobile device 2520 may send a message ‘e’ to the sensor 2510 , which may trigger a response message ‘f’ from the sensor to the mobile device.
  • a response message may include the ID of the sensor.
  • the mobile device 2520 may receive message ‘f’ from the sensor 2510 without first transmitting message ‘e’. For instance, when the mobile device receives a periodically transmitted beacon signal.
  • the mobile device 2520 may send a message ‘g’ to the server 2530 .
  • a message may include information such as the sensor ID, identifying information regarding the user (e.g., username and password), and/or other appropriate information.
  • the server 2530 may, in turn, send a message ‘h’ to the user database 2540 requesting information related to the user (e.g., user preferences, user history, etc.).
  • the user database may respond with a message ‘i’ that includes the requested information.
  • the server 2530 may then send a message ‘j’ to the sensor database 2550 requesting information related to the sensor (e.g., sensor location, associated establishment or manufacturer(s), etc.).
  • the sensor database may respond with a message ‘k’ that includes the requested information.
  • the server 2530 may send a message ‘l’ to the other databases 2560 requesting other information (e.g., information regarding the establishment, the manufacturers, etc.).
  • the other databases may respond with a message ‘m’ that includes the requested information.
  • the server 2530 may send a message ‘n’ to the mobile device 2520 .
  • Such a message may be based on various received information.
  • the server 2530 may determine the appropriate contents of the message (e.g., based on an offer associated with the establishment or manufacturer, information related to the user's history or preferences, etc.).
  • messages ‘e’-‘n’ or ‘f’-‘n’ may be continuously repeated as the mobile device encounters other sensors, generating various proximity events.
  • message flow described in reference to message flow diagram 2500 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention.
  • the messages may be sent or received in different orders.
  • various messages may be omitted and/or other messages may be included.
  • the message flow may be executed as part of a larger macro-flow, and/or divided into multiple sub-flows.
  • the message flow, or portions thereof may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • multiple user devices may be used to collect information regarding a sensor.
  • location information of the user device e.g., a location determined using a GPS sub-system or application of the user device
  • the server may store this information such that interested parties may review and analyze the information.
  • a wireless sensor may be placed at a retail establishment.
  • a mobile application may scan and detect the presence of a beacon signal transmitted by the wireless sensor.
  • the mobile application which may run on a user device may communicate with a server application.
  • the server application may retrieve sensor data from a sensor database and user-specific data (e.g., gender, age group, ethnicity, income level, personal interests, etc.) from a user database and communicate with the mobile application to present a visual or audible targeted advertisement, sales coupon or special offer that matches a profile associated with the user.
  • the advertisement may be extracted from a pool submitted by corporate marketing departments, merchants, and/or other appropriate parties that have installed wireless sensors at their premises or at common areas in shopping malls, strip malls, and/or other appropriate locations.
  • one or more wireless sensors may be placed in, on, or about landmarks and tourist locations run by entities interested in providing information services to visitors on their user devices.
  • the user device may communicate with an application server which may consult a sensor database based on a sensor ID.
  • the application server may send relevant information in the form of multimedia to the mobile application with instructions as to how to display such information to the user.
  • the information received from the application server may include, for example, text, audio, and/or video that includes relevant information regarding the place or landmark where the wireless sensor is located.
  • a wireless sensor may be installed in an inconspicuous location inside, for example, a vehicle, motorcycle, truck or asset. If the vehicle or asset is lost or stolen, a third-party may report the incident to an application server.
  • the application server may instruct a mobile application to silently monitor for beacon signals from a wireless sensor with the identifier of the lost or stolen vehicle or asset and in the event of a positive scan, which means that the sensor has been found in the proximity of the user device, the mobile application may send location and time information to the application server which may then be used by the third-party to assist in the recovery of the stolen or missing vehicle or asset.
  • a wireless sensor may be placed at, for example, a concert venue, theater or park.
  • a third-party may choose to distribute promotional material pertaining to the event occurring at the venue.
  • the attendee to the event may then be instructed to use a user device to obtain such promotional material.
  • a mobile application running on the mobile device may communicate with an application server.
  • the application server may send relevant promotional information based on the sensor ID and the information may be displayed and perceived by any user that moves within a threshold proximity of the wireless sensor.
  • a wireless sensor may be attached to a particular article (e.g., an item of clothing).
  • a consumer with a user device running a mobile application may move within a threshold proximity to the sensor, thus triggering a proximity event.
  • Such an event may cause a server application to send information regarding the particular article to the user device (e.g., the cost of the article, the materials included in the article, the care requirements of the article, manufacturing processes (e.g., environmental friendliness, fair trade standing, etc.), etc.).
  • FIGS. 26-29 describe processes that may be used to define sets of instructions for providing proximity event applications (e.g., a server application, a user application, a consumer application, etc.). In some cases such sets of instructions are defined in terms of object-oriented programming code. Some embodiments may include sets of instructions for defining classes and instantiating various objects at runtime based on the defined classes. The sets of instructions may be stored to an appropriate non-volatile storage medium. In some embodiments, multiple applications may be included on a single medium.
  • FIG. 26 conceptually illustrates a process 2600 of some embodiments for defining and storing a server-side application of some embodiments, such as application 900 described above in reference to FIG. 9 .
  • process 2600 illustrates the operations used to define sets of instructions for providing several of the elements shown in the server application 900 and for performing various operations described above.
  • the process may define (at 2605 ) sets of instructions for providing a communication module.
  • the process may then define (at 2610 ) sets of instructions for providing an authentication module.
  • the process may define (at 2615 ) sets of instructions for providing a reporting and analytics module.
  • Process 2600 may then define (at 2620 ) sets of instructions for providing a sensor management module.
  • the process then may define (at 2625 ) sets of instructions for providing a campaign management module.
  • the process may define (at 2630 ) sets of instructions for providing an account manager module.
  • Process 2600 may then define (at 2635 ) sets of instructions for providing an action management module.
  • the process may define (at 2640 ) sets of instructions for providing a channel management module.
  • the process may then define (at 2645 ) sets of instructions for providing a rich media repository module.
  • Process 2600 may then define (at 2650 ) sets of instructions for providing a web services module.
  • process 2600 may define (at 2655 ) sets of instructions for providing a payment module.
  • the process may then define (at 2660 ) sets of instructions for providing a social network interface module.
  • Process 2600 may then write (at 2665 ) the sets of instructions defined at operations 2605 - 2660 to a non-volatile storage medium.
  • FIG. 27 conceptually illustrates a process 2700 of some embodiments for defining and storing a client-side user application of some embodiments, such as application 1000 described above in reference to FIG. 10 .
  • process 2700 illustrates the operations used to define sets of instructions for providing several of the elements shown in the client-side user application 1000 and for performing various operations described above.
  • the process may define (at 2710 ) sets of instructions for providing a communication module.
  • the process may then define (at 2720 ) sets of instructions for providing a user interface module.
  • the process may define (at 2730 ) sets of instructions for providing a sensor module.
  • Process 2700 may then write (at 2740 ) the sets of instructions defined at operations 2710 - 2730 to a non-volatile storage medium.
  • FIG. 28 conceptually illustrates a process 2800 of some embodiments for defining and storing a client-side consumer application of some embodiments, such as application 1100 described above in reference to FIG. 11 .
  • process 2800 illustrates the operations used to define sets of instructions for providing several of the elements shown in the client-side application 1100 and for performing various operations described above.
  • the process may define (at 2810 ) sets of instructions for providing a communication module.
  • the process may then define (at 2820 ) sets of instructions for providing a user interface module.
  • the process may define (at 2830 ) sets of instructions for providing a receiver module.
  • Process 2800 may then define (at 2840 ) sets of instructions for providing a control module.
  • the process may then write (at 2850 ) the sets of instructions defined at operations 2810 - 2840 to a non-volatile storage medium.
  • FIG. 29 conceptually illustrates a process 2900 of some embodiments for defining and storing a sensor application of some embodiments, such as application 1200 described above in reference to FIG. 12 .
  • process 2900 illustrates the operations used to define sets of instructions for providing several of the elements shown in the sensor application 1200 and for performing various operations described above.
  • the process may define (at 2910 ) sets of instructions for providing a communication module.
  • the process may then define (at 2920 ) sets of instructions for providing a control program module.
  • the process may define (at 2930 ) sets of instructions for providing a hardware interface module.
  • the process may then write (at 2940 ) the sets of instructions defined at operations 2910 - 2930 to a non-volatile storage medium.
  • processes 2600 - 2900 are not exhaustive of the sets of instructions that could be defined and established on a non-volatile storage medium for proximity event applications incorporating some embodiments of the invention.
  • the processes 2600 - 2900 are conceptual processes, and the actual implementations may vary. For example, different embodiments may define the various sets of instructions in a different order, may define several sets of instructions in one operation, may decompose the definition of a single set of instructions into multiple operations, etc.
  • the processes 2600 - 2900 may be implemented as several sub-processes or combined with other operations within a macro-process.
  • Many of the processes and modules described above may be implemented as software processes that are specified as one or more sets of instructions recorded on a non-transitory storage medium.
  • these instructions are executed by one or more computational element(s) (e.g., microprocessors, microcontrollers, Digital Signal Processors (DSPs), Application-Specific ICs (ASICs), Field Programmable Gate Arrays (FPGAs), etc.) the instructions cause the computational element(s) to perform actions specified in the instructions.
  • DSPs Digital Signal Processors
  • ASICs Application-Specific ICs
  • FPGAs Field Programmable Gate Arrays
  • various processes and modules described above may be implemented completely using electronic circuitry that may include various sets of devices or elements (e.g., sensors, logic gates, analog to digital converters, digital to analog converters, comparators, etc.). Such circuitry may be adapted to perform functions and/or features that may be associated with various software elements described throughout.
  • FIG. 30 illustrates a schematic block diagram of a conceptual computer system 3000 used to implement some embodiments of the invention.
  • the system described above in reference to FIGS. 1-3 may be at least partially implemented using computer system 3000 .
  • the processes described in reference to FIGS. 18-29 may be at least partially implemented using sets of instructions that are executed using computer system 3000 .
  • Computer system 3000 may be implemented using various appropriate devices.
  • the computer system may be implemented using one or more personal computers (“PC”), servers, mobile devices (e.g., a smartphone), tablet devices, and/or any other appropriate devices.
  • the various devices may work alone (e.g., the computer system may be implemented as a single PC) or in conjunction (e.g., some components of the computer system may be provided by a mobile device while other components are provided by a tablet device).
  • computer system 3000 may include at least one communication bus 3005 , one or more processors 3010 , a system memory 3015 , a read-only memory (ROM) 3020 , permanent storage devices 3025 , input devices 3030 , output devices 3035 , various other components 3040 (e.g., a graphics processing unit), and one or more network interfaces 3045 .
  • processors 3010 may include at least one communication bus 3005 , one or more processors 3010 , a system memory 3015 , a read-only memory (ROM) 3020 , permanent storage devices 3025 , input devices 3030 , output devices 3035 , various other components 3040 (e.g., a graphics processing unit), and one or more network interfaces 3045 .
  • ROM read-only memory
  • Bus 3005 represents all communication pathways among the elements of computer system 3000 . Such pathways may include wired, wireless, optical, and/or other appropriate communication pathways. For example, input devices 3030 and/or output devices 3035 may be coupled to the system 3000 using a wireless connection protocol or system.
  • the processor 3010 may, in order to execute the processes of some embodiments, retrieve instructions to execute and/or data to process from components such as system memory 3015 , ROM 3020 , and permanent storage device 3025 . Such instructions and data may be passed over bus 3005 .
  • System memory 3015 may be a volatile read-and-write memory, such as a random access memory (RAM).
  • the system memory may store some of the instructions and data that the processor uses at runtime.
  • the sets of instructions and/or data used to implement some embodiments may be stored in the system memory 3015 , the permanent storage device 3025 , and/or the read-only memory 3020 .
  • ROM 3020 may store static data and instructions that may be used by processor 3010 and/or other elements of the computer system.
  • Permanent storage device 3025 may be a read-and-write memory device.
  • the permanent storage device may be a non-volatile memory unit that stores instructions and data even when computer system 3000 is off or unpowered.
  • Computer system 3000 may use a removable storage device and/or a remote storage device 3060 as the permanent storage device.
  • Input devices 3030 may enable a user to communicate information to the computer system and/or manipulate various operations of the system.
  • the input devices may include keyboards, cursor control devices, audio input devices and/or video input devices.
  • Output devices 3035 may include printers, displays, and/or audio devices. Some or all of the input and/or output devices may be wirelessly or optically connected to the computer system.
  • Other components 3040 may perform various other functions. These functions may include performing specific functions (e.g., graphics processing, sound processing, etc.), providing storage, interfacing with external systems or components, etc.
  • computer system 3000 may be coupled to one or more networks 3050 through one or more network interfaces 3045 .
  • computer system 3000 may be coupled to a web server on the Internet such that a web browser executing on computer system 3000 may interact with the web server as a user interacts with an interface that operates in the web browser.
  • Computer system 3000 may be able to access one or more remote storages 3060 and one or more external components 3065 through the network interface 3045 and network 3050 .
  • the network interface(s) 3045 may include one or more application programming interfaces (APIs) that may allow the computer system 3000 to access remote systems and/or storages and also may allow remote systems and/or storages to access computer system 3000 (or elements thereof).
  • APIs application programming interfaces
  • non-transitory storage medium is entirely restricted to tangible, physical objects that store information in a form that is readable by electronic devices. These terms exclude any wireless or other ephemeral signals.
  • modules may be combined into a single functional block or element.
  • modules may be divided into multiple modules.

Abstract

A system for identifying logistics events is described. The system includes: a set of tags, each tag able to be attached to an item, each tag able to transmit a beacon signal, a set of locators associated with an establishment, each locator able to receive the beacon signal and generate an event message based at least partly on the beacon signal, and a server able to receive the event message and update at least one database based on the event message. A method for identifying logistics events includes: transmitting, from a merchandise tag, a beacon signal, receiving, at a locator associated with an establishment, the beacon signal, generating, at the locator, an event message based at least partly on the beacon signal, and sending the event message to a server associated with the establishment.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation-in-part of U.S. patent application Ser. No. 13/752,213, filed on Jan. 28, 2013 which claims priority to U.S. Provisional Patent Application Ser. No. 61/603,065, filed on Feb. 24, 2012.
  • BACKGROUND
  • Many establishments may wish to automatically manage logistics. Existing solutions may require human interaction and/or visibility to various external features such as when scanning barcodes.
  • In addition, many establishments may desire access to data regarding logistics performance metrics such as the time an item spends within a particular region within the establishment that may not be available or accurate when provided by existing solutions.
  • Thus there is a need for a solution that allows various establishments to automatically manage logistics and collect data using proximity events.
  • BRIEF SUMMARY
  • Some embodiments may provide a way for an establishment to manage logistics. In some embodiments, proximity events may be identified. Such proximity events may occur when a monitored object (or person, vehicle, livestock, etc.) passes within a proximity threshold of a user device. The proximity events may be used to automatically identify and/or manage logistics events.
  • Some embodiments may provide a way to collect location information. A sensor that emits a beacon signal may be attached to, for example, a person, pet, or moveable object. Various user devices may receive the beacon signal. Such user devices may include features that allow each user device to ascertain its own location. Each user device that is able to ascertain a location when receiving the beacon signal may send the information to a server application that is able to collect various locations associated with a particular sensor. The server application may be able to track or locate the sensor based at least partly on the collected data.
  • In some embodiments sets of user devices (or “locators”) may be placed at fixed locations that may be determined using a database accessible to the server application (and/or to an associated client application). Each locator may then be able to identify proximity events by detecting any sensor that passes within (and/or remains within) a proximity threshold. The locator may then update the database regarding the proximity event.
  • A first exemplary embodiment provides a system for identifying logistics events. The system includes: a set of tags, each tag able to be attached to an item, each tag able to transmit a beacon signal, a set of locators associated with an establishment, each locator able to receive the beacon signal and generate an event message based at least partly on the beacon signal, and a server able to receive the event message and update at least one database based on the event message.
  • A second exemplary embodiment provides a method for identifying logistics events. The method includes: transmitting, from a merchandise tag, a beacon signal, receiving, at a locator associated with an establishment, the beacon signal, generating, at the locator, an event message based at least partly on the beacon signal, and sending the event message to a server associated with the establishment.
  • A third exemplary embodiment provides a locator application able to identify logistics events. The application includes: sets of instructions for receiving a beacon signal generated by a merchandise tag, sets of instructions for generating an event message based at least partly on the beacon signal, and sets of instructions for sending the event message to a server.
  • The preceding Brief Summary is intended to serve as a brief introduction to various features of some exemplary embodiments of the invention. Other embodiments may be implemented in other specific forms without departing from the spirit of the invention.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The novel features of the invention are set forth in the appended claims. However, for purpose of explanation, several embodiments of the invention are illustrated in the following drawings.
  • FIG. 1 illustrates a schematic block diagram of a conceptual proximity event system according to an exemplary embodiment of the invention;
  • FIG. 2 illustrates a schematic block diagram of a conceptual system implemented using an alternative configuration of elements of some embodiments of the system of FIG. 1;
  • FIG. 3 illustrates a schematic block diagram of another conceptual system implemented using an alternative configuration of elements of some embodiments of the system of FIG. 1;
  • FIG. 4 illustrates a floor plan of an establishment included in some embodiments of the system of FIG. 1;
  • FIG. 5 illustrates a floor plan of an establishment included in some embodiments of the system of FIG. 2;
  • FIG. 6 illustrates a schematic block diagram of a sensor used by some embodiments of the system of FIG. 1;
  • FIG. 7 illustrates top views of the sensor of FIG. 6, showing proximity zones defined by various beacon signals that may be provided by some embodiments of the sensor;
  • FIG. 8 illustrates a floor plan of a multi-sensor, multi-establishment implementation according to some embodiments of the system of FIG. 1;
  • FIG. 9 illustrates a schematic block diagram of a conceptual server application provided by some embodiments of the invention;
  • FIG. 10 illustrates a schematic block diagram of a conceptual user application provided by some embodiments of the invention;
  • FIG. 11 illustrates a schematic block diagram of an alternative conceptual user application provided by some embodiments of the invention;
  • FIG. 12 illustrates a schematic block diagram of a sensor application provided by some embodiments;
  • FIG. 13 illustrates a schematic block diagram of a system including an application interface provided by some embodiments of the invention;
  • FIG. 14 illustrates a block diagram of a database including various conceptual data structures used by some embodiments of the invention;
  • FIG. 15 illustrates several example graphical user interfaces (GUIs) provided by some embodiments;
  • FIG. 16 illustrates several additional example graphical user interfaces (GUIs) provided by some embodiments;
  • FIG. 17 illustrates a flow chart of a conceptual process used by some embodiments of the invention to allow a consumer to interact with the system of FIG. 1;
  • FIG. 18 illustrates a flow chart of a conceptual process used by some embodiments of the invention to allow reporting of consumer interactions via the system of FIG. 3;
  • FIG. 19 illustrates a flow chart of a conceptual process used by some embodiments of the invention to provide targeted advertising via the system of FIG. 3;
  • FIG. 20 illustrates a flow chart of a conceptual process used by some embodiments of the invention to communicate among the server(s) and user application(s) during consumer interaction;
  • FIG. 21 illustrates a flow chart of a conceptual process used by some embodiments of the invention to allow a user to interact with the system of FIG. 1;
  • FIG. 22 illustrates a flow chart of a conceptual process used by some embodiments of the invention to communicate among the server(s) and user application(s) during user interaction;
  • FIG. 23 illustrates a flow chart of a conceptual process used by some embodiments of the invention to monitor logistics events;
  • FIG. 24 illustrates a flow chart of a conceptual process used by some embodiments to configure a sensor used by some embodiments of the system of FIG. 1;
  • FIG. 25 illustrates a conceptual message flow diagram used by some embodiments of the invention to communicate among various elements of the system of FIG. 1;
  • FIG. 26 conceptually illustrates a process of some embodiments for defining and storing a server-side application of some embodiments;
  • FIG. 27 conceptually illustrates a process of some embodiments for defining and storing a client-side user application of some embodiments;
  • FIG. 28 conceptually illustrates a process of some embodiments for defining and storing a client-side consumer application of some embodiments;
  • FIG. 29 conceptually illustrates a process of some embodiments for defining and storing a sensor application of some embodiments; and
  • FIG. 30 illustrates a schematic block diagram of a conceptual computer system with which some embodiments of the invention may be implemented.
  • DETAILED DESCRIPTION
  • In the following detailed description of the invention, numerous details, examples, and embodiments of the invention are set forth and described. However, it will be clear and apparent to one skilled in the art that the invention is not limited to the embodiments set forth and that the invention may be practiced without some of the specific details and examples discussed.
  • Broadly, an embodiment of the present invention generally provides a way to monitor and respond to location information. Such location information may include the location of a sensor capable of providing a beacon signal. A mobile device (and/or other appropriate device such as a fixed position locator) running an application may be able to determine whether the sensor is within a certain proximity of the device. When the application determines that the sensor is within the certain proximity of the device, the application may cause the device to communicate with a local or remote server. The server may receive information from the application (e.g., location of the device, ID of the sensor, etc.) and/or other appropriate sources (e.g., a database associated with the server). Based on such information, the server may update one or more databases associated with the sensor and/or device, send sets of instructions to the application, where the sets of instructions may cause the mobile device to perform various operations (e.g., display a message, send a message to another mobile device, etc.), and/or perform other appropriate actions (e.g., sending instructions or data to another device or system).
  • Some embodiments may include an apparatus and method whereby a mobile application running on a portable (or fixed location) computing device such as a smartphone or tablet can react, according to instructions provided by a remote application running on a server computer, to the proximity of a wireless sensor that transmits low-power beacon signals to announce its presence at predetermined intervals.
  • Some embodiments may be able to control behavior of a mobile application when a stand-alone wireless sensor comes within a proximity threshold of the portable device running the application.
  • Some embodiments may include a method to locate an untethered wireless sensor by its proximity to a portable computing device with more powerful location capabilities such as Global Positioning System (GPS) or a network-based locating capability. The sensor may be attached to an object, animal or person and hence its location may be unknown, but able to be determined using the portable computing device.
  • Several more detailed embodiments of the invention are described in the sections below. Section I provides a conceptual description of system architectures used by some embodiments. Section II then describes various conceptual software architectures used by some embodiments. Next, Section III describes various methods of operation used by some embodiments. Section IV then describes various use cases that may be implemented using some embodiments. Next, Section V describes a process used to define various applications of some embodiments. Lastly, Section VI describes a computer system which implements some of the embodiments of the invention.
  • I. System Architectures
  • FIG. 1 illustrates a schematic block diagram of a conceptual system 100 according to an exemplary embodiment of the invention. Specifically, this figure shows various communication pathways among the elements of the system 100. As shown, the system may include one or more user devices 105, one or more establishments 110, each including one or more sensors 115, one or more networks 120, one or more servers 125, the servers providing an application server 130, a sensor database 135, an establishment database 140, a user database 145, and a manufacturer database 150, and one or more third parties 155, each third party including one or more client devices 160.
  • Each user device (or mobile device) 105 may be capable of communicating with one or more network(s) 120 and one or more sensors 115. In addition, each user device 105 may be able to provide information to a user and/or receive inputs from a user. Each user device may include one or more processors, memory, user interface elements, and/or other appropriate elements. Such a user device may be, for instance, a mobile phone, a tablet, a portable computer, etc. Each user device may include one or more display elements (e.g., a screen, indication lights, etc.) and various user input elements (e.g., a keypad, touchscreen, etc.).
  • Each establishment 110 may be a retail establishment (e.g., a store, restaurant, etc.), a building (e.g., a museum, library, etc.), or some defined area (e.g., a parking lot, a sports field, etc.). Each establishment may have one or more sensors 115 placed so as to define one or more zones associated with the establishment.
  • Each sensor 115 may include various wireless communication features. Such wireless communication features may include radio frequency communication features and may use various appropriate formats (e.g., Bluetooth, WiFi, etc.). The sensors may be able to transmit a beacon signal that is able to be received by a user device 105. The beacon signal may include a unique sensor identifier (or “sensor ID”) and may be transmitted using short-range radio frequency signals at preset intervals. The sensor 115 will be described in more detail in reference to FIGS. 4-8 below. In some embodiments, a sensor 115 may be attached to, for instance, an object, pet, person, etc.
  • The network(s) 120 may include one or more local-area networks (e.g., a wireless network, an Ethernet network, etc.), wide-area networks and/or networks of networks (e.g., the Internet). The networks may allow data and/or instructions to be passed among the various components of the system.
  • The server(s) 125 may include one or more electronic devices that are able to execute instructions and/or process data. The application server 130 may be able to pass data and/or instructions among one or more databases 135-150 and/or one or more network(s) 120. The databases 135-150 may be able to store data and/or instructions. Various example data structures will be described in reference to FIG. 14 below.
  • Each third party 155 may be a non-consumer individual or entity that accesses the system 100. Such entities may include, for example, retail chains, product manufacturers, application developers, etc. Each third party 155 may include one or more client devices 160 that may allow the third party 155 to access system 100 through network(s) 120. Such a client device 160 may be, for instance, a personal computer, a notebook computer, a mobile phone, etc.
  • During operation, a user device 105 that moves within a particular proximity of a sensor 115 may receive a beacon signal from the sensor. The user device may then execute a client-side application that allows the user device to send data and/or instructions to the server(s) 125 via the network 120. Such data and instructions may include information regarding the proximity event (e.g., an identifier of the sensor). The server(s) 125 may process the received data and/or instructions and determine various potential responses. Such responses may be based at least partly on the location of the sensor 115, an establishment 110 associated with the sensor, a third party 155 associated with the sensors, and/or other relevant factors. The server(s) 125 may determine such responses based on information stored, for instance, the sensor database 135, the establishment database 140, the user database 145, and/or the manufacturer database 150. The server(s) 125 may then send one or more responses to the user device (e.g., a coupon, sale offer, product information, etc.). The user device 105 may receive the response(s) from the server(s) and provide them to a user. Alternatively, the user device may execute various actions based on the received response(s). For instance, such actions may include making a phone call, sending a text message, playing a sound, displaying an image, determining a current position via the global positioning system (GPS) or other appropriate ways (e.g., by determining a location of a cell tower used by the user device, the location of a Femtocell, Microcell or other communications system associated with the user device, etc.), etc.
  • Each client device 160 may allow a third party 155 to send data and/or instructions to the server(s) 125 via the network 120. Such data and/or instructions may include sensor data, establishment data, manufacturer data, and/or other data. The server(s) 125 may process the received data and/or instructions and provide various responses (e.g. an update confirmation message, an action required message, etc.) to the third party 155 through the client device 160.
  • One of ordinary skill in the art will recognize that the system 100 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 2 illustrates a schematic block diagram of a conceptual system 200 implemented using an alternative configuration of elements of some embodiments of system 100. Specifically, this figure shows an implementation that may be used to monitor “tagged” items or containers within an establishment. As shown, in addition to any components described above in reference to system 100, system 200 may include a set of smart containers 210 (where each container may be associated with at least one sensor 115), a set of locators 220, and/or user devices 105.
  • Each smart container 210 may be a pallet, shipping container, bin, box, rack, baggage, luggage, etc. The smart container may be able to store various items or groups of items. In some cases, multiple items within a container may be tagged (e.g., a sensor may be associated with a clothing rack, while multiple other sensors may each be associated with a different hanger associated with the rack, where each hanger is associated with a clothing item, etc.). The smart container itself may include one or more sensors 115. The sensor(s) may be embedded into the container 210 or otherwise appropriately attached (e.g., using adhesives, screws or other fasteners, etc.). The sensors 115 may be removable (e.g., a sensor may be clipped onto an item during processing and removed when the item is completed). In some cases, the sensors 115 may be oriented such that, in addition to defining a location of the container 210, may be used to determine a position of the container (e.g., upright, north-facing, etc.).
  • Each locator 220 may be a device (e.g., a tablet, a PC, etc.) that is able to receive beacons from the sensors 115. The locator 220 may be able to communicate with an external resource (e.g., an on-site or remote server) via one or more networks (e.g., a local area network, wireless network, cellular network, etc.). In some cases, the locator may be a dedicated device that is used to track smart containers 210. As such, the locator 220 may or may not include user displays or other interactive elements, depending on the application. The locators may be placed at fixed locations that may be associated with an establishment. Such fixed locations may be associated with the locators. In this way, the locators may be used to track smart containers 210 that are associated with the establishment.
  • During operation, each locator 220 may collect information regarding sensors 115 that pass within a proximity threshold of the locator 220. Such information may be transmitted via network 120 to the server 125 for storage and/or analysis. The transmitted data (or elements thereof) may be made available to the third parties 155 via network 120.
  • In a typical scenario, a smart container 210 may enter an establishment or facility (e.g., when received from a carrier). A locator 220 near the establishment loading dock may determine that the container 210 has entered the facility when a sensor beacon signal is received. Other locators 220 may then track the container through the facility as the locators identify a sensor beacon signal associated with the container. The locators may notify a local or remote server when a sensor associated with a container 210 enters, is within, and/or leaves a proximity threshold of each locator. In this way, the server may be able to determine a location for each container 210 associated with the facility.
  • In addition a user device 105 may be used by an operator, manager, and/or other user, to send and/or receive information related to the establishment 110 and/or the containers 210. For instance, an operator may be able to request an estimated arrival time for a next item. As another example, a manager may be able to track inventory within various locations of the establishment 110.
  • The operation of system 200 will be described in more detail in reference to FIG. 23 below.
  • One of ordinary skill in the art will recognize that the system 200 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 3 illustrates a schematic block diagram of another conceptual system 300 implemented using an alternative configuration of elements of some embodiments of system 100. Specifically, this figure shows various communication pathways among the elements of the system 300. As shown, in addition to any components described above in reference to system 100, system 300 may include various advertising mediums 310.
  • During operation, each sensor 115 may collect information from user devices 105 that pass within a proximity threshold of the sensor 115. Such information may be transmitted via network 120 to the server 125 for storage and/or analysis. The transmitted data (or elements thereof) may be made available to the third parties 155 via network 120.
  • In addition, each sensor 115 may communicate with one or more advertising mediums 310. In some embodiments, each sensor 115 may be embedded in (or otherwise attached to) a medium 310. Each medium may be a billboard, video screen, multimedia display, and/or other appropriate devices and/or systems associated with presenting advertising content. Such communication may occur using various appropriate pathways (e.g., wired connections, wireless connections, network connections, etc.). In this way, each sensor 115 may at least partially control (and/or provide) the content present by one or more advertising mediums 310. Furthermore, as above, each sensor 115 may be able to communicate with the server 125 via one or more networks 120 in order to send and/or receive data related to the advertising content, mobile devices within a proximity threshold, and/or other appropriate information.
  • In some embodiments, each sensor 115 may communicate with the server 125 and, based on the sensor ID, retrieve mobile content and/or complete a transaction with a third-party advertiser associated with the advertising medium 310. In some embodiments, the medium may be able to communicate with the server 125 and/or third-party servers 155, where data sent to the medium may be based at least partly on data received from and/or associated with the sensor 115.
  • In some embodiments, a sensor 115 may be associated with non-interactive advertising mediums 310 (e.g., posters, product displays, etc.). The sensor 115 may be associated with non-advertising elements (not shown) such as, for example, product packaging or a product itself, artwork, etc. Such sensors may be adapted to collect user data and relay such data to a server 125 and/or to allow users to access information (and/or receive marketing offers) related to advertised items, displayed products, etc. Such information may be accessed using a mobile device application of some embodiments.
  • The operation of system 300 will be described in more detail in reference to FIGS. 18-19 below.
  • One of ordinary skill in the art will recognize that the system 300 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 4 illustrates a floor plan of an establishment 400 included in some embodiments of the system 100. Specifically, this figure shows how an establishment may be divided into multiple sections (or “zones”) that may each use one or more sensors to identify proximity events. As shown, the establishment 400 may include multiple zones 410-460, each of which may include one or more sensors 470. The sensor location(s) may be configured in various different ways, as appropriate. Each sensor may be associated with a set of advertising mediums (not shown).
  • In the example of FIG. 4, a first zone 410 may be defined at an entrance of the establishment such that consumers entering the establishment 400 may trigger a proximity event. In this example, a number of product zones 420-440 may be defined such that a consumer may trigger a proximity event when a user device is able to detect the beacon signal of a sensor 470 located relative to the zone. Product zone 440 may include multiple sensors 470 such that the zone is defined as multiple sub-zones, and/or so that an array of proximity events may be determined (e.g., a user application may determine that the user is within a certain proximity of a first sensor, a second sensor, or both a first and second sensor). Zone 450 may define an “inactive” area where no proximity events are generated (e.g., an area of the establishment 400 used only by employees). Finally, zone 460 may be defined at an exit of the establishment such that consumers leaving the establishment 460 may trigger a proximity event.
  • During operation, a particular consumer-user may have a mobile application running on a user device. The consumer-user may then enter establishment 400 through the entrance 410, generating a proximity event. The event may cause the mobile application to send a notification of the event to a remote server, which in turn may cause the mobile application to perform an action. Such an action may include, for instance, retrieving and displaying a shopping list for the establishment, offering a generic (or user-specific) coupon, provide information regarding sale items, and/or other appropriate actions.
  • The consumer may then enter a first product zone 420, triggering another proximity event. In this example, the zone 420 may be a deli and the user's shopping list may indicate that the user wishes to buy a half pound of sliced ham. Thus, the proximity event may be used to provide an offer related to ham, display ham that is on sale, display other specials in the deli section, and/or other appropriate actions. The consumer-user may proceed through the establishment in a similar fashion, potentially triggering proximity events related to other zones within the establishment.
  • After the consumer-user has finished shopping and paid for any items, the user may leave the establishment through the exit 460, triggering a proximity event. In response to such an event, various appropriate actions may be performed, such as displaying a message on the user's mobile device (e.g., “Thank you for shopping with us!”).
  • Proximity events may, in addition to, or in place of, interacting with a consumer or other user, cause data to be generated and stored in a way that is transparent to the user. Such data may be sent to the server and stored remotely. Alternatively, data associated with the user may be stored locally on the user's mobile device. For instance, stored data relating to proximity events may be used to calculate the average time a user spends in an establishment or zone.
  • One of ordinary skill in the art will recognize that the establishment 400 and associated floor plan and sensor configuration are presented for example purposes only. Different embodiments may include differently configured establishments with differently configured floor plans. In addition, the configuration (and/or number) of sensors located within each establishment may be altered as appropriate.
  • FIG. 5 illustrates a floor plan of an establishment 500 included in some embodiments of the system 200. Specifically, this figure shows how an establishment may be divided into multiple sections (or “zones”) that may each use one or more locators to identify proximity events. As shown, the establishment 500 may include multiple zones 510-560, each of which may include one or more locators 570. The locators may be configured in various different ways, as appropriate.
  • In the example of FIG. 5, a first zone 510 may be defined at an entrance of the establishment such that smart containers (and associated sensors) entering the establishment 500 may trigger a proximity event. In this example, a number of product zones 520-540 may be defined such that a container (e.g., smart container 210 described above) may trigger a proximity event when a locator 570 is able to detect the beacon signal of a sensor within or near the zone. Product zone 540 may include multiple locators 570 such that the zone is defined as multiple sub-zones, and/or so that an array of proximity events may be determined (e.g., a user application may determine that the container is within a certain proximity of a first locator, a second locator, or both a first and second locator). Zone 550 may define an “inactive” area where no proximity events are generated (e.g., an area of the establishment 500 that does not interact with the smart containers, such as an employee lounge). Finally, zone 560 may be defined at an exit of the establishment such that containers leaving the establishment 560 may trigger a proximity event.
  • During operation, a particular locator may execute a client application. A container with an associated sensor may then enter establishment 500 through the loading dock 510, generating a proximity event. The event may cause the client application to send a notification of the event to a local or remote server, which in turn may update information related to the establishment 500 and/or container. Such an update may include, for instance, associating a new location with the container, updating a processing status of the container (e.g., receiving, unpacking, packing, shipping, etc.).
  • The container may then enter zone 520, triggering another proximity event. In this example, the zone 520 may be a processing station and the proximity event may indicate that a container is being received into inventory. Thus, the proximity event may be used to update stock data, generate a receipt confirmation for a shipper, etc.
  • Next, the container may enter zone 530, triggering another proximity event, and so on. The various zones may be defined using the locators 570 and information associated with the establishment 500. Each proximity event may be used to trigger an appropriate set of responses. For instance, when a box leaves a packing area and enters a shipping area, the shipping department may be notified that the box is ready to be shipped. As another example, an item under manufacture may be physically transferred from a first station to a second, thus triggering a work order to the second station.
  • In some cases, the locator 570 and/or an associated device (e.g., a mobile device) may alert an operator or other user that an event has taken place (e.g., an item has been transferred to the station associated with the operator, an item requires additional processing, etc.). Such an alert or other user interaction may include various elements (e.g., display elements, audio elements, etc.) and may allow (or require) a user to respond in various ways (e.g., by pressing a button, by moving an item to a next station within a specified length of time, etc.).
  • Alternatively and/or conjunctively, proximity events may trigger updates to data (e.g., inventory, manufacturing status, etc.) without necessarily generating any action. Data associated with the locators 570 (and/or containers) may be stored locally on the locators (and/or a local server) and/or transferred to a remote server over various appropriate networks.
  • One of ordinary skill in the art will recognize that the establishment 500 and associated floor plan and sensor configuration are presented for example purposes only. Different embodiments may include differently configured establishments with differently configured floor plans. In addition, the configuration (and/or number) of locators within each establishment may be altered as appropriate.
  • FIG. 6 illustrates a schematic block diagram of a sensor 600 used by some embodiments of the system 100. Specifically, this figure shows the various components that may be included in the sensor 600 of some embodiments. As shown, the sensor device 600 may include a communication interface 610, a processor 620, a memory 630, a transmitter/receiver 640, one or more indicators 650, and/or a power module 660.
  • The communication interface 610 may be adapted to allow a client device (e.g., a PC, a smart phone, etc.) to communicate with the sensor 600 (or vice-versa). The communication interface 610 may include various wired and/or wireless connections (e.g., a universal serial bus (USB) port, a Bluetooth or other wireless port, etc.).
  • The communication interface may be adapted to allow two-way communication among the sensor and various other devices and/or connections (e.g., between the sensor and a mobile device via a Bluetooth connection, between the sensor and a server across a network or set of networks, between a first sensor and a second sensor, etc.).
  • The communication interface may be adapted to allow users to adjust settings of the sensor (e.g., beacon signal range, direction, interval time, etc.). In some embodiments, the sensor 600 may be configured when manufactured. In some of these embodiments, the sensor may be configured to run firmware. Such firmware may allow the sensor to continuously operate when power is provided. The firmware may be adapted to cause the sensor continuously or periodically perform various operations (e.g., transmit a beacon signal, react to events, etc.). The sensor attributes may then be configured at the server (e.g., range and spread of the beacon signal, pattern of the signal, definition of events and responses, etc.). Alternatively, various configuration parameters may be defined and/or updated as the sensor operates.
  • The processor 620 may be adapted to process instructions and/or data. In addition, the processor may be adapted to allow communication among the various other modules of the sensor 600.
  • The memory 630 may be adapted to store various instructions and/or data used by the sensor 600. Such instruction may include firmware instructions, logical operations, and/or other appropriate instructions. The data may include, for instance, an identifier of the sensor, attributes of the sensor performance (e.g., range and spread of the beacon signal, interval between signals, etc.), and/or other information.
  • The transmitter/receiver 640 may be adapted to transmit various types of beacon signals (e.g., WiFi, Bluetooth (classic, low energy (LE) (e.g., “Bluetooth Smart Ready”, “Bluetooth Smart”, etc.), Bluetooth v4.0, etc.), etc.) using various different communications protocols (e.g., cellular (e.g., 2G, 3G, 4G LTE, etc.), ZigBee protocol, ANT, ANT+, etc.). The transmitter may be configurable, such that the range and spread of the transmitted signal(s) may be controlled (e.g., by loading values to the sensor memory 630, by defining various attributes at the server, etc.).
  • In some embodiments, the range, spread, and/or other attributes of the beacon signal may be adjusted at run-time by a client application (e.g., by adjusting a threshold received power used to trigger an event). Such “dynamic range” may be used to allow various sellers (e.g., manufacturers of particular brands) to bid for placement in real-time. For instance, multiple brands of a particular product may be perceived as each being the same distance (or matched to within a particular threshold) from a consumer. In some cases, an order of the items presented may correspond at least partly to various bid amounts associated with sellers of the products (rather than being determined solely based on proximity).
  • In addition, the transmitter/receiver 640 of some embodiments may be adapted to receive various types of signals and/or communications. The receiver may communicate with other devices via similar protocols to those used by the transmitter. In some embodiments, one or more transmitters and/or one or more receivers may share elements of the sensor (e.g., an antenna, communication circuitry, etc.). The operation of the receiver (and/or transmitter) may be configurable in some embodiments (e.g., Bluetooth communications may be able to be enabled/disabled, communication power and/or frequency may be adjusted, etc.).
  • Some embodiments may include multiple transmitter/receivers 640 (and/or multiple transmitters and/or receivers). Each transmitter/receiver may be associated with a particular external element or elements (e.g., user devices, a remote server, an advertising medium, etc.).
  • The indicator(s) 650 may be adapted to provide a visual indication of the status of the sensor. The indicator(s) may include various display elements (e.g., differently-colored lights, a set of LEDs, etc.). The indicator(s) may allow a user to determine a current state of the sensor (e.g., “off”, “on”, “transmitting”, “error”, etc.). In some embodiments, the indicator(s) may provide other than visual indications (e.g., one or more sound indicators, message(s) delivered to a client device, etc.).
  • In some embodiments, the sensor 600 may include a detection module that may allow the sensor to determine when a user device is within a threshold distance of the sensor. Such detection may be based at least partly on received signal strength (e.g., a Bluetooth signal, cellular signal, etc.), data received from a remote server, and/or other appropriate parameters.
  • In some embodiments, the sensor 600 may be able to detect environmental conditions (e.g., temperature, speed, magnetic field, brightness, etc.) using various appropriate elements (e.g., light sensors, Hall Effect sensors, accelerometers, etc.). In this way, beacon transmissions may be triggered based on various environmental factors. For example, the sensor may transmit when light is sensed (e.g., when the sensor is removed from a box). As another example, employees may be tracked within a venue to determine time and attendance, where a tag including a sensor is sensed as attached to an employee based on temperature.
  • One of ordinary skill in the art will recognize that the sensor 600 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 7 illustrates top views 710-720 of the sensor 600, showing proximity zones defined by various beacon signals that may be provided by some embodiments of the sensor 600. Specifically, this figure illustrates several example areas that may be defined by setting various beacon signal attributes (e.g., range, direction, and/or spread). As shown, in a first configuration 710, the signal area 730 is omni-directional and the signal range is defined by radius 740. In a second configuration 720, the signal area 750 is defined by a range 760 and spread angle 770.
  • In some embodiments, the primary direction of the signal (i.e., the signal direction with a minimum spread angle) in the second configuration 720 may be selectable (e.g., the primary direction may be a defined value, such as an angle, relative to various physical attributes of the sensor 600). In some other embodiments, the primary direction of the signal in the second configuration may be pre-set in relation to physical attributes of the sensor (e.g., the sensor may be adapted to mount to a wall and the primary direction of the signal may be set to emanate in a direction perpendicular to and away from the wall).
  • The shape, direction, range, and/or other attributes of the beacon signal may be defined in various different ways to achieve various different optimizations. For instance, in some embodiments a user of the sensor 600 may wish to generate a signal area that covers the most possible physical space. Such a user may select an omni-directional signal with a maximum range allowed by the sensor. As another example, a user of the sensor may wish to minimize power used by the sensor and thus may define a signal area with limited range and spread.
  • One of ordinary skill in the art will recognize that the signal areas 730 and 750 are conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, the areas may be defined by various different shapes with various specific attributes.
  • FIG. 8 illustrates a floor plan of a multi-sensor, multi-establishment implementation 800 according to some embodiments of the system 100. Specifically, this figure illustrates multiple sensors 600, each configured to provide an omni-directional beacon signal area 720, positioned at example locations throughout the implementation 800.
  • As shown, the multi-sensor implementation 800 may include one or more establishments 810-860, each establishment including one or more sensors 600. One of ordinary skill in the art would recognize that one or more establishments may not include any sensors (not shown in this example). In addition, one of ordinary skill in the art would recognize that various ranges, directions, and spread of signals may be used, as described above in reference to FIG. 7.
  • In the example of FIG. 8, a first establishment 810 may include a sensor 600 located near an entrance and another sensor 600 located within the establishment 810. A second establishment 820 may include multiple sensors 600 placed at various locations throughout the establishment 820. A third establishment 830 may have only one sensor 600 located in the establishment 830. A fourth location 840 may include multiple sensors 600, where one sensor is configured to have a much greater beacon signal range 720 than the other sensors 600. A fifth establishment 850 may include multiple entryways/exitways, each associated with a sensor 400, and another sensor located within the establishment 850. In this example, the fifth establishment 850 may be an open area (e.g., a section of a parking area, field, etc.) and/or be at least partly defined by a temporary structure (e.g., a cover, tent, set of display tables, etc.). A sixth establishment 860 may be an outdoor booth or cart with a single sensor 600 that defines an area that includes locations outside the boundaries of the booth or cart.
  • One of ordinary skill in the art will recognize that schematic diagram of a multi-sensor configuration 800 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, different establishments or groups of establishments may have different shapes, floor plans, etc.
  • II. Software Architectures
  • FIG. 9 illustrates a schematic block diagram of a conceptual server application 900 provided by some embodiments of the invention. Specifically, this figure shows various system components that may be provided by the server (or server-side) application. Such a server-side application may be executed by one or more appropriate user devices. As shown, the server application may include a communication module 905, an authentication module 910, a reporting & analytics module 915, a sensor management module 920, a campaign management module 925, an account manager module 930, an action management module 935, a channel management module 940, a rich media repository module 945, a web services module 950, a payment module 955, a social network interface module 960, and/or a communications bus 965.
  • The communication module 905 may be adapted to communicate with various client devices, typically across one or more networks. The authentication module 910 may be adapted to confirm and/or validate user account information (e.g., a login name and password) supplied by a user (e.g., a consumer, an establishment-user, a manufacturer-user, etc.). The reporting and analytics module 915 may be adapted to perform various analyses and reporting of collected data. Such a module may be used to generate reports, produce charts and/or export data that can be analyzed by and/or integrated into third-party systems. The sensor management module 920 may be adapted to control and manage the sensors used by some embodiments (e.g., by defining events, ranges, etc.).
  • In some embodiments, the reporting and analytics module 915 may be adapted to collect data from various sources. Such data may be collected from, for instance, user devices, sensors, third-party servers, etc. The data may include marketing information, user activity information, sales information, order information, and/or other appropriate data that may be useful in association with proximity events.
  • The campaign management module 925 may be adapted to allow management of marketing campaigns. The account manager module 930 may be adapted to allow management of various accounts (e.g., consumer-user, establishment-user, manufacturer-user, etc.). The action management module 935 may be adapted to create, configure and associate events with corresponding sensors. The channel management module 940 may be adapted to customize advertisements, marketing messages and application events based on a device's capabilities and methods of connection. The rich media repository module 945 may be adapted to provide and store rich media resources. The web services module 950 may be adapted to configure the user/client information and settings via various webpages.
  • The payment module 955 may be adapted to process invoice, billing, and/or payment information in various appropriate ways. Such a module may be able to generate (or receive from another source) a list of goods and/or services associated with a consumer and generate an invoice (or other appropriate way of requesting a payment from the consumer). The module may further receive payment information from a consumer (e.g., via a credit card swiping element, by providing an entry form, by receiving the information from an application associated with the consumer, etc.). In addition, the module may communicate with various external resources to verify the payment information and authorize payment (e.g., by sending a request to a third party to process a credit card transaction, receiving confirmation back from a third party, etc.).
  • The social network interface module 960 may be adapted to interact with various third-party social networks. Such networks may be accessed through various combinations of networks (e.g., the Internet), interfaces (e.g., one or more APIs), and/or other elements. Such a social network interface may, for instance, allow a user to recommend (and/or receive recommendations regarding) an establishment, item, service, etc. to various other users that may be associated with a social network account of the user.
  • The bus 965 may be adapted to allow communication among the various other elements 905-960 of the server application 900.
  • The operation of the server application 900 will be described in more detail in reference to Section III below.
  • One of ordinary skill in the art will recognize that the server application 900 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 10 illustrates a schematic block diagram of a conceptual user application 1000 provided by some embodiments of the invention. Specifically, this figure shows various system components that may be provided by the client (or client-side) application. Such a client-side application may be executed by an appropriate user device. As shown, the application may include a communication module 1010, a user interface module 1020, and/or a sensor module 1030.
  • The communication module 1010 may be adapted to communicate with various server devices, typically across one or more networks. In addition, the communication module may be adapted to communicate with one or more sensors of some embodiments (e.g., via a WiFi channel, a Bluetooth link, etc.). The communication module may also be adapted to communicate with one or more advertising mediums, and/or other external devices and/or systems.
  • The user interface module 1020 may be adapted to provide outputs to a user and/or receive inputs from the user. The sensor module 1030 may be adapted to configure, test, communicate with, and/or otherwise interact with one or more sensors of some embodiments.
  • One of ordinary skill in the art will recognize that the establishment-user and/or manufacturer-user application 1000 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 11 illustrates a schematic block diagram of an alternative conceptual user application 1100 provided by some embodiments of the invention. Specifically, this figure shows various system components that may be provided by the client (or client-side) application. Such an application may be executed by an appropriate user device (e.g., a smart phone, a tablet, etc.) and may use various resources provided by the user device (e.g., network connections, storages, GPS, etc.). As shown, the application may include a communication module 1110, a user interface module 1120, a receiver module 1130, and/or a control module 1140.
  • The communication module 1110 may be adapted to communicate with various server devices, typically across one or more networks. In addition, the communication module may be adapted to communicate with one or more sensors of some embodiments (e.g., via a WiFi channel, a Bluetooth link, etc.). The communication module may also be adapted to communicate with one or more advertising mediums, and/or other external devices and/or systems.
  • The user interface module 1120 may be adapted to provide outputs to a user and/or receive inputs from the user. The receiver module 1130 may be adapted to receive beacon signals from the sensors of some embodiments. The control module 1140 may be adapted to control various aspects of a user device (e.g., by causing the device to display a GUI, to send a text message, to place a phone call, to play a sound, etc.).
  • One of ordinary skill in the art will recognize that the consumer-user application 1100 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 12 illustrates a schematic block diagram of a sensor application 1200 provided by some embodiments of the invention. Specifically, this figure shows various system components that may be provided by the sensor application. The combination of sensor software and memory described above in reference to FIG. 6 may provide a firmware solution for controlling the operation of a sensor. Such an application 1200 may be executed by an appropriate sensor device (e.g., sensor 600) and may use various resources provided by the sensor device (e.g., a transmitter, memory, etc.). As shown, the application may include a communication module 1210, a control program module 1220, and/or a hardware interface module 1230.
  • The communication module 1210 may be adapted to communicate with various other devices (e.g., user devices, server devices, advertising mediums, etc.) via one or more pathways (e.g., Bluetooth channels, WiFi networks, the Internet, etc.). The control program module 1220 may be adapted to implement various pre-programmed operations of the sensor, where such operations may be re-programmed in some embodiments (e.g., via the server, via a mobile device, etc.). The hardware interface module 1230 may be adapted to control and/or communicate with various elements of the sensor device (e.g., a transmitter, receiver, indicators, etc.).
  • One of ordinary skill in the art will recognize that the sensor application 1200 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 13 illustrates a schematic block diagram of a system 1300 including an application interface 1310 provided by some embodiments of the invention. Specifically, this figure shows various system components that may be provided to third-party application developers in some embodiments. As shown, the system may include the interface 1310, one or more third-party developers 1320, one or more applications 1330, and one or more server databases 1340.
  • The interface 1310 may allow third-party application developers 1320 to develop various third-party applications 1330 that may be able to access the server databases 1340 through the interface 1310.
  • The interface 1310 may include, for example, a representational state transfer (“REST”) interface (and/or other appropriate interfaces) that may allow third-party developers to utilize http commands to access the server databases 1320. In addition, third-party developers may be able to reconfigure sensor operation using the interface 1310 to manipulate sensor data stored on the databases 1320. Such sensor operation may be at least partially controlled via parameters such as beacon strength and/or direction, data associated with advertising content for some advertising medium, etc.
  • One of ordinary skill in the art will recognize that the system 1300 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, various elements may be removed and/or various other elements may be included. In addition, multiple elements may be combined into a single element and/or a single element may be divided into multiple elements. Furthermore, various other communication pathways may be utilized and/or included.
  • FIG. 14 illustrates a block diagram of a database 1400 including various conceptual data structures or elements 1410-1440 used by some embodiments of the invention. Specifically, this figure shows various data elements that may be utilized by some embodiments of the invention. As shown, the database 1400 of some embodiments may include one or more sensor data elements 1410, one or more establishment data elements 1420, one or more manufacturer data elements 1430, one or more subscriber data elements 1440, and/or one or more other data elements 1450.
  • Each sensor data element 1410 may include an ID, an establishment ID, and/or other sub-elements (e.g., events associated with the sensor). Each establishment data element 1420 may include one or more IDs (each ID may correspond to a particular location of the establishment, such as one establishment among a retail chain or a zone within a single establishment), a set of associated sensor IDs, and/or other sub-elements (e.g., menu tables, order tables, shopping carts, etc.). Each manufacturer data element 1430 may include an ID, a set of establishment IDs (each associated establishment may correspond to a particular establishment and/or location), a set of sensor IDs, and/or other sub-elements (e.g., brands associated with the manufacturer, special offers associated with the manufacturer, etc.). Each subscriber (or consumer) data element 1440 may include an ID and/or other sub-elements (e.g., a username, password, and/or other sub-elements such as attributes and/or history related to the subscriber). Each other data element 1450 may include one or more sub-elements, where each sub-element may include some data item related to the data element.
  • One of ordinary skill in the art will recognize that the data structures of FIG. 14 are conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, although the database is represented as a single entity, it may in fact be implemented using multiple physical systems distributed among various locations. As another example, various groups of data elements may be combined to form tables of data. As yet another example, various sub-elements may be associated with multiple data elements, as appropriate.
  • FIG. 15 illustrates several example GUIs 1510-1530 provided by some embodiments. Specifically, this figure shows various example screens that may be displayed to a consumer during a shopping excursion. As shown, the first GUI 1510 includes a main navigation screen with various selectable buttons, selectable list items, account indicators, etc.
  • The second GUI 1520 includes a product list sorted by brand which may include inventory and location within an establishment. The second GUI may be activated, for instance, when a user selects a list item (e.g., by pressing a touchscreen, by positioning a cursor, etc.). The third GUI 1530 may be activated, for instance, when a user selects a list item with an associated marketing offer. As shown, the third GUI 1530 may include various multimedia elements and may allow a user to receive some special savings (e.g., a coupon, a user-specific reward, etc.). In addition, this example shows that some elements may be personalized (e.g., the consumer may be referred to by her name, a nickname/username, and/or other appropriate ways).
  • In addition, such GUIs may include elements such as, for example, a rewards indicator (e.g., a display of points associated with a loyalty reward program), various ratings, recommendations, etc. The GUIs may also allow a user to perform actions (e.g., “add to cart”, “add to loyalty card”, “add to credit card rewards”, etc.). This may allow, for instance, a user to utilize a loyalty rewards program without having to carry a rewards card.
  • One of ordinary skill in the art will recognize that the GUIs of FIG. 15 are conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, although each GUI is represented as having various selection buttons, such selections may be made in various different ways (e.g., using voice commands, using a touch screen, etc.). As another example, various groups of listing elements may be formatted and displayed in various different ways (e.g., using tables, bulleted lists, etc.). As yet another example, various promotional elements may be presented in various appropriate ways (e.g., by providing multimedia content, by providing text-based content, etc.).
  • FIG. 16 illustrates several example GUIs 1610-1630 provided by some embodiments. Specifically, this figure shows various example screens that may be displayed to an operator within a logistic environment. As shown, the first GUI 1610 includes a main navigation screen with various selectable buttons, selectable list items, labels, indicators, etc.
  • The second GUI 1620 includes information related to a particular container. The second GUI may be activated, for instance, when a user selects a list item (e.g., by pressing a touchscreen, by positioning a cursor, etc.). The third GUI 1630 may be activated, for instance, when a user selects a list item with an associated status or condition. As shown, the third GUI 1630 may include various special instructions or other appropriate content. In addition, the GUIs may allow an operator to enter information regarding the various containers (e.g., condition, special instructions, etc.) and/or other appropriate information.
  • One of ordinary skill in the art will recognize that the GUIs of FIG. 16 are conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, although each GUI is represented as having various selection buttons, such selections may be made in various different ways (e.g., using voice commands, using a touch screen, etc.). As another example, various groups of listing elements may be formatted and displayed in various different ways (e.g., using tables, bulleted lists, etc.). As yet another example, various promotional elements may be presented in various appropriate ways (e.g., by providing multimedia content, by providing text-based content, etc.).
  • III. Methods of Operation
  • FIG. 17 illustrates a flow chart of a conceptual process 1700 used by some embodiments of the invention to allow a consumer to interact with the system 100. Process 1700 may begin, for instance, when a user launches a client application on a mobile device.
  • Process 1700 may then send (at 1710) login information to a server. Such login information may include a user account name, account password, device identification, etc. The process then may receive (at 1720) authentication from the server. Such authentication may include a message, flag, or other appropriate indication that the user has been authenticated (or not). When the user authentication is not received within a certain time period or when a rejection of the login information is received, the process may end.
  • Otherwise, when a valid authentication is received, the process may scan (at 1730) for a sensor. The process may then determine (at 1740) whether a sensor is detected. Such a determination may be based on various appropriate factors (e.g., proximity to the sensor, event(s) associated with the sensor, etc.). If a sensor is not detected, the process may repeatedly or continuously scan (at 1730) for a sensor until a sensor is detected or the client application is terminated.
  • If the process determines (at 1740) that a sensor has been detected, the process may send (at 1750) a request to the server. Such a request may include the sensor ID, user location, etc.
  • The process may then receive (at 1760) instructions from the server. Such instructions may include various actions to be performed by the user device (e.g., displaying a coupon, playing a sound, displaying a video, etc.) which may be associated with various multimedia data (e.g., coupons, advertisements, news, music, etc.) that may also be received from the server.
  • Next, process 1700 may execute (at 1770) any received instructions. After executing (at 1770) the received instructions, the process may end.
  • One of ordinary skill in the art will recognize that process 1700 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, the operations may be performed in different orders. As another example, various operations may be omitted and/or other operations may be included. Furthermore, the process, or portions thereof, may be executed as part of a larger macro-process, and/or divided into multiple sub-processes. Moreover, the process, or portions thereof, may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • FIG. 18 illustrates a flow chart of a conceptual process 1800 used by some embodiments of the invention to allow reporting of consumer interactions via system 300. Process 1800 may be executed at least partly by a device such as sensor 600 described above. Process 1800 may begin, for instance, when a sensor is powered on.
  • Process 1800 may then determine (at 1810) whether interaction with a user device has been detected. Such detection may be based on various relevant factors. For instance, in some embodiments a sensor may be able to detect signals sent from the user device (e.g., Bluetooth signals, WiFi signals, etc.).
  • If the process determines (at 1810) that interaction with a user device has not been detected, the process may repeat operation 1810 until the process determines (at 1810) that interaction with a user device has been detected. If the process determines (at 1810) that interaction with a user device has been detected, the process may then collect (at 1820) data associated with the user device. Such data may include information such as device type, connection type, information regarding a user of the device, etc.
  • The process may then determine (at 1830) whether some reporting criteria have been met (e.g., a minimum number of device interactions detected, a length of time since the last report was sent, etc.). If the process determines (at 1830) that the reporting criteria has not been met, the process may repeat operations 1810-1830 until the process determines (at 1830) that the reporting criteria has been met.
  • If the process determines (at 1830) that the reporting criteria have been met, the process may then open (at 1840) a communication channel to the server (e.g., by sending a message over one or more network connections). Next, the process may send (at 1850) the collected data to the server and then end. Such data may be associated with a particular sensor ID (which may, in turn, be associated with a particular location or element).
  • Such data may be stored by the server and made available to various third parties, as appropriate. For instance, an advertiser may place a sensor in proximity to an advertising element (e.g., a sign, a billboard, etc.) and collect data regarding traffic, effectiveness and engagement of mobile users, etc. In some embodiments, such data may be collected by a server via the user devices (e.g., using system 100) using the sensor ID.
  • In some embodiments, the sensor may collect data regarding each user device and send the data to the server. The server may, in turn, send a message to the user device based on some notification criteria (e.g., the user's opt-in to receive such messages, a relevance of some offer to a particular user's preferences, etc.).
  • One of ordinary skill in the art will recognize that process 1800 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, the operations may be performed in different orders. As another example, various operations may be omitted and/or other operations may be included. Furthermore, the process, or portions thereof, may be executed as part of a larger macro-process, and/or divided into multiple sub-processes. Moreover, the process, or portions thereof, may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • FIG. 19 illustrates a flow chart of a conceptual process 1900 used by some embodiments of the invention to provide targeted advertising via system 300. Process 1900 may be executed at least partly by a device such as sensor 600 described above and/or one or more advertising mediums such as medium 310 described above. Process 1900 may begin, for instance, when a sensor and/or advertising medium is powered on.
  • Next, the process may provide (at 1910) advertising content. Such content may include, for instance, video content, audio content, multimedia content, etc. Such content may be provided via various appropriate systems and/or devices (e.g., video monitors and/or displays, audio output devices such as amplifiers and speakers, multi-position billboards, interactive devices such as tablets, etc.).
  • Process 1900 may then determine (at 1920) whether interaction with a user device has been detected. Such detection may be based on various relevant factors. For instance, in some embodiments a sensor may be able to detect signals sent from the user device (e.g., Bluetooth signals, WiFi signals, etc.).
  • If the process determines (at 1912) that interaction with a user device has not been detected, the process may repeat operation 1920 until the process determines (at 1920) that interaction with a user device has been detected. If the process determines (at 1920) that interaction with a user device has been detected, the process may then retrieve (at 1930) information related to the user device. Such information may include, for instance, device type, connection type, information regarding a user of the device, etc.
  • The process may then update (at 1940) the advertising content. Such an update may involve sending content to display or other external device, sending a control signal or message that causes the advertising medium to update the displayed content (e.g., by cycling to a next display in a multi-display billboard), and/or other appropriate ways. In some embodiments, the process may send a message to the user device (when determining that a user has opted-in to receive such messages) regarding the displayed content (e.g., a coupon or other special offer that is not available to users that have not opted-in or to the general public).
  • One of ordinary skill in the art will recognize that process 1900 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, the operations may be performed in different orders. As another example, various operations may be omitted and/or other operations may be included. Furthermore, the process, or portions thereof, may be executed as part of a larger macro-process, and/or divided into multiple sub-processes. Moreover, the process, or portions thereof, may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • FIG. 20 illustrates a flow chart of a conceptual process 2000 used by some embodiments of the invention to communicate among the server(s) and user application(s) during consumer interaction. The process may begin, for instance, when a client application attempts to communicate with a server application of some embodiments.
  • Next, the process may receive (at 2010) login information from the client application. Such login information may include a username, password, device identification, and/or other appropriate information.
  • The process may then send (at 2020) an authentication to the client application. Such authentication may include a confirmation signal, message, and/or other appropriate indicator that the login information has been verified.
  • Next, the process may receive (at 2030) a request. Such a request may include a sensor ID and other appropriate information (e.g., user location).
  • Process 2000 may then retrieve (at 2040) information from a sensor database related to the sensor ID. Such information may include sensor type, sensor location, etc.
  • Next, the process may retrieve (at 2050) information from a subscriber database related to one or more users associated with the user account. Such information may include, for example, historic purchase records, user preferences, etc.
  • The process then may determine (at 2060) whether additional information is required from the user. Such a determination may be based at least partly on the selected sensor and/or user account. For example, certain sensors may require additional information (e.g., user age, sex, etc.) to verify whether an event should be triggered.
  • If the process determines (at 2060) that additional information is required, the process may send (at 2070) a request to the client application. Such a request may include a listing the required additional information.
  • The process may then retrieve (at 2080) the requested information from the client application (e.g., by prompting the user to make various entries and/or selections).
  • After retrieving (at 2080) information from the client application, or if the process determines (at 2060) that information from the user is not required, the process may then send (at 2090) instructions to the client application. Such instructions may include various multimedia data (e.g., coupons, advertisements, news, music, etc). For example, the server may send a link for users, which may include a coupon, advertisement, music, etc. After sending (at 2090) instructions to the client application, the process may end.
  • One of ordinary skill in the art will recognize that process 2000 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, the operations may be performed in different orders. As another example, various operations may be omitted and/or other operations may be included. Furthermore, the process, or portions thereof, may be executed as part of a larger macro-process, and/or divided into multiple sub-processes. Moreover, the process, or portions thereof, may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • FIG. 21 illustrates a flow chart of a conceptual process 2100 used by some embodiments of the invention to allow a user to interact with the system 100. Process 2100 may begin, for instance, when a user launches a user application on a mobile device.
  • Process 2100 may then send (at 2110) login information to the server. Such login information may include a username, password, device ID, etc. Next, the process may receive (at 2120) authentication from the server. Alternatively, authentication may not be received and the process may end. The process may then determine (at 2130) whether data analysis is required. Such a determination may be based on data entered by a user (e.g., the user may select a data analysis option, provide a dataset for analysis, and/or otherwise indicate that analysis is required). If the process determines (at 2130) that data analysis is required, the process may receive (at 2140) a request from the user and send it to the server. Such a request may include data such as user type, establishment type, establishment location, etc.
  • Next, the process may receive (at 2150) a response to the request. Such a response may include different types of data (e.g., a table, list, etc.). After receiving (at 2150) a response to the request, or if the process determines (at 2130) that data analysis is not required, the process may then determine (at 2160) whether to update data. Such a determination may be made based on various relevant factors (e.g., availability of new data, a user update request, etc.).
  • If the process determines (at 2160) that an update is to be made, the process may receive (at 2170) an update request from the user. Such a request may include various data attributes to be updated (e.g., sensor data, campaign data, etc.). Next, the process may send (at 2180) the update request to the server.
  • After sending (at 2180) the update request to the server, or if the process determines (at 2160) that no data updates are required, the process may end.
  • One of ordinary skill in the art will recognize that process 2100 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, the operations may be performed in different orders. As another example, various operations may be omitted and/or other operations may be included. Furthermore, the process, or portions thereof, may be executed as part of a larger macro-process, and/or divided into multiple sub-processes. Moreover, the process, or portions thereof, may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • FIG. 22 illustrates a flow chart of a conceptual process 2200 used by some embodiments of the invention to communicate among the server(s) and user application(s) during user interaction. The process may begin, for instance, when an establishment-user or manufacturer-user launches a client application.
  • Next, the process may receive (at 2210) user login data from a client application. Such login information may include a username, password, device ID, and/or other appropriate information. The process then may retrieve (at 2220) information from an establishment database related to the user.
  • Next, the process may retrieve (at 2230) information from a sensor database related to the user. Process 2200 may then retrieve (at 2240) information from a subscriber database related to the user.
  • The process may then send (at 2250) data to a client application. Such data may include establishment, sensor and/or subscriber information.
  • The process then may determine (at 2260) whether to update database(s) associated with the user. If the process determines (at 2260) that an update to the database(s) is needed, the process may receive (at 2270) updated data from the client application. Such data may include establishment data, sensor data, etc. Next, the process may update (at 2280) the database(s) based on the received data.
  • After updating (at 2280) the database(s), or if the process determines (at 2260) that updated database(s) are not requested, the process may end.
  • One of ordinary skill in the art will recognize that process 2200 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, the operations may be performed in different orders. As another example, various operations may be omitted and/or other operations may be included. Furthermore, the process, or portions thereof, may be executed as part of a larger macro-process, and/or divided into multiple sub-processes. Moreover, the process, or portions thereof, may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • FIG. 23 illustrates a flow chart of a conceptual process 2300 used by some embodiments of the invention to monitor logistics events. The process may begin, for instance, when an establishment-user launches a client application. Such a client application may be executed by a mobile device or locator such as those described above.
  • Next, the process may receive (at 2310) login data from one or more clients. The process may then associate (at 2320) the clients with a particular establishment (and/or otherwise appropriately arrange the clients.
  • Process 2300 may then retrieve tag data associated with the establishment (or other appropriate grouping). Such data may include, for instance, data related to items that have previously been associated with the establishments (e.g., containers located within a warehouse).
  • Next, the process may monitor (at 2340) client status(es) and determine (at 2350) whether a logistics event has occurred. Such a determination may be made in various appropriate ways based on data received from the client application(s). For instance, any proximity event may be treated as a logistics event. As another example, a change in location (e.g., from a first zone to a second zone) may be identified as a logistics event. A logistics event may be identified based on data received from locators and/or user devices.
  • When the process determines (at 2350) that a logistics event has not occurred, the process may end. When the process determines that a logistics event has occurred, the process may retrieve (at 2360) information related to the notifying client. Such information may include, for example, an establishment associated with the client, the location of the client (e.g., a known location of a locator may be retrieved from a database, a GPS determined location of a mobile device, etc.), a type of client (e.g., fixed location, roving, etc.), and/or other relevant information (e.g., whether the client is associated with a particular user or operator).
  • Next, the process may retrieve (at 2360) information related to the tagged item or items. Such information may be based at least partly on a sensor identifier included in a sensor beacon signal. The retrieved information may include, for instance, previous logistics events associated with the tagged item, a status of the tagged item, and/or other relevant information such as a list of good included in a container, physical attributes of a container (e.g., size, weight, material type, etc.), destination, etc.
  • The process may then update (at 2380) various databases based at least partly on the logistics event and then end. In addition, various messages or instructions may be sent to other devices and/or systems. Such updates, messages, and/or instructions may include for instance, updates to a location associated with a tagged item, status messages sent to operators, instructions or updates sent to a third party system associated with the tagged item or locator, etc.
  • In some embodiments, operations 2340-2380 may be iteratively performed continuously, at regular intervals, based on identified events, and/or based on other appropriate criteria.
  • One of ordinary skill in the art will recognize that process 2300 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, the operations may be performed in different orders. As another example, various operations may be omitted and/or other operations may be included. Furthermore, the process, or portions thereof, may be executed as part of a larger macro-process, and/or divided into multiple sub-processes. Moreover, the process, or portions thereof, may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • FIG. 24 illustrates a flow chart of a conceptual process 2400 used by some embodiments to configure a sensor used by some embodiments of the system 100. Such a process may begin, for instance, when an establishment and/or manufacturer decides to install a sensor.
  • Process 2400 may then place (at 2410) the sensor at a desired location. For example, the establishment-user and/or manufacturer-user may place the sensor at an appropriate location within an establishment.
  • Next, the process may connect (at 2420) a power supply to the sensor. Such a power supply may be connected by inserting a set of batteries into the sensor, connecting an AC power supply to the sensor, and/or other appropriate ways.
  • The process may then set (at 2430) a transmission range of a beacon signal associated with the sensor. The transmission range of the beacon signal may be configured in various appropriate ways (e.g., by manipulating server data associated with the sensor, by programming the internal memory of the sensor, etc.).
  • After setting (2030) the transmission range, the process then may set (2040) a direction of the beacon signal. The direction may be set relative to a defined location of the sensor. The angle and/or spread (or span) of the beacon signal may also be programmed.
  • Next, the process may send (at 2440) the sensor ID to the server. In some embodiments, the sensor ID may already be known to the server, and the sensor may be associated with a particular location, establishment, etc. After sending (at 2440) the sensor ID to the server, the process may end.
  • One of ordinary skill in the art will recognize that process 2400 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, the operations may be performed in different orders. As another example, various operations may be omitted and/or other operations may be included. Furthermore, the process, or portions thereof, may be executed as part of a larger macro-process, and/or divided into multiple sub-processes. Moreover, the process, or portions thereof, may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • FIG. 25 illustrates a conceptual message flow diagram 2500 used by some embodiments of the invention to communicate among various elements of the system 100. Specifically, this figure shows the message types and sequence of various communications sent among the components of the system. As shown, the message flow may include a sensor 2510, a mobile device 2520, a server 2530, a user database 2540, a sensor database 2550, and/or other databases 2560.
  • Sensor 2510 may be similar to sensor 600 described above in reference to FIG. 6. Mobile device 2520 may be a user device that includes one or more wireless communication features such as a smart phone, tablet, personal computer, etc. Server 2530 may include one or more remote devices that are able to communicate with various system elements (e.g., using one or more networks). User database 2540 may include various data elements related to a user of the system (e.g., username, password, shopping lists, etc.). Sensor database 2550 may include various data elements related to sensors provided by the system (e.g., sensor IDs, locations, etc.). The other databases 2560 may include various other data elements associated with the system (e.g., establishment IDs, manufacturer IDs, offers, usage statistics, etc.).
  • During operation, a consumer may use a mobile device, which may be running a client application, to trigger a proximity event. The example of FIG. 25 is for descriptive purposes, as many different message flows may be implemented, depending on various relevant factors (e.g., user preferences, placement of sensor(s), availability of network connections, etc.).
  • As shown, the mobile device 2520 may send a message ‘a’ to the server 2530. Such a message may include information such as a user name and password. The server may, in turn, send a message ‘b’ to the user database 2540. Such a message may be a request for a password or other information associated with the user. The user database may send a response message ‘c’ that may include the requested information. Next, the server 2530 may send a message ‘d’ to the mobile device 2520. Such a message may include various data items related to the user, the user's account, and/or other appropriate data. The messages ‘a’-‘d’ may be used in some embodiments to establish a live session among a user device and the server(s) of some embodiments.
  • Next, the mobile device 2520 may send a message ‘e’ to the sensor 2510, which may trigger a response message ‘f’ from the sensor to the mobile device. Such a response message may include the ID of the sensor. Alternatively, the mobile device 2520 may receive message ‘f’ from the sensor 2510 without first transmitting message ‘e’. For instance, when the mobile device receives a periodically transmitted beacon signal.
  • Next, the mobile device 2520 may send a message ‘g’ to the server 2530. Such a message may include information such as the sensor ID, identifying information regarding the user (e.g., username and password), and/or other appropriate information. The server 2530 may, in turn, send a message ‘h’ to the user database 2540 requesting information related to the user (e.g., user preferences, user history, etc.). The user database may respond with a message ‘i’ that includes the requested information. The server 2530 may then send a message ‘j’ to the sensor database 2550 requesting information related to the sensor (e.g., sensor location, associated establishment or manufacturer(s), etc.). The sensor database may respond with a message ‘k’ that includes the requested information. Next, the server 2530 may send a message ‘l’ to the other databases 2560 requesting other information (e.g., information regarding the establishment, the manufacturers, etc.).
  • The other databases may respond with a message ‘m’ that includes the requested information. Finally, the server 2530 may send a message ‘n’ to the mobile device 2520. Such a message may be based on various received information. The server 2530 may determine the appropriate contents of the message (e.g., based on an offer associated with the establishment or manufacturer, information related to the user's history or preferences, etc.).
  • After sending the message ‘n’, the flow may end. Alternatively, messages ‘e’-‘n’ or ‘f’-‘n’ may be continuously repeated as the mobile device encounters other sensors, generating various proximity events.
  • One of ordinary skill in the art will recognize that the message flow described in reference to message flow diagram 2500 is conceptual in nature and may be implemented in various different ways without departing from the spirit of the invention. For instance, the messages may be sent or received in different orders. As another example, various messages may be omitted and/or other messages may be included. Furthermore, the message flow may be executed as part of a larger macro-flow, and/or divided into multiple sub-flows. Moreover, the message flow, or portions thereof, may be executed continuously, at regular intervals, based on certain criteria, and/or in other appropriate ways.
  • IV. Example Use Cases
  • The following sections will describe various use cases of specific example implementations that may use elements of the system, software, and/or methods described above. Such use cases are presented for example purposes only. One of ordinary skill in the art will recognize that different embodiments may implement various specific elements in various different ways.
  • In one example use case, multiple user devices may be used to collect information regarding a sensor. As each user device encounters a proximity event with the sensor, location information of the user device (e.g., a location determined using a GPS sub-system or application of the user device) may be sent to a server such that the approximate location of the sensor, and hence an object to which the sensor is attached, may be determined by aggregation of location reports transmitted by multiple user devices which were instructed by an application server to report their locations upon moving within a threshold proximity of the sensor. The server may store this information such that interested parties may review and analyze the information.
  • In another example use case of the present invention, a wireless sensor may be placed at a retail establishment. A mobile application may scan and detect the presence of a beacon signal transmitted by the wireless sensor. The mobile application, which may run on a user device may communicate with a server application. The server application may retrieve sensor data from a sensor database and user-specific data (e.g., gender, age group, ethnicity, income level, personal interests, etc.) from a user database and communicate with the mobile application to present a visual or audible targeted advertisement, sales coupon or special offer that matches a profile associated with the user. The advertisement may be extracted from a pool submitted by corporate marketing departments, merchants, and/or other appropriate parties that have installed wireless sensors at their premises or at common areas in shopping malls, strip malls, and/or other appropriate locations.
  • In yet another example use case of the present invention, one or more wireless sensors may be placed in, on, or about landmarks and tourist locations run by entities interested in providing information services to visitors on their user devices. When the user device moves within a threshold proximity of the wireless sensor(s), the user device may communicate with an application server which may consult a sensor database based on a sensor ID. The application server may send relevant information in the form of multimedia to the mobile application with instructions as to how to display such information to the user. The information received from the application server may include, for example, text, audio, and/or video that includes relevant information regarding the place or landmark where the wireless sensor is located.
  • In still another use case of the present invention, a wireless sensor may be installed in an inconspicuous location inside, for example, a vehicle, motorcycle, truck or asset. If the vehicle or asset is lost or stolen, a third-party may report the incident to an application server. The application server may instruct a mobile application to silently monitor for beacon signals from a wireless sensor with the identifier of the lost or stolen vehicle or asset and in the event of a positive scan, which means that the sensor has been found in the proximity of the user device, the mobile application may send location and time information to the application server which may then be used by the third-party to assist in the recovery of the stolen or missing vehicle or asset.
  • In another use case of the present invention, a wireless sensor may be placed at, for example, a concert venue, theater or park. A third-party may choose to distribute promotional material pertaining to the event occurring at the venue. The attendee to the event may then be instructed to use a user device to obtain such promotional material. A mobile application running on the mobile device may communicate with an application server. The application server may send relevant promotional information based on the sensor ID and the information may be displayed and perceived by any user that moves within a threshold proximity of the wireless sensor.
  • In yet another use case of the present invention, a wireless sensor may be attached to a particular article (e.g., an item of clothing). A consumer with a user device running a mobile application may move within a threshold proximity to the sensor, thus triggering a proximity event. Such an event may cause a server application to send information regarding the particular article to the user device (e.g., the cost of the article, the materials included in the article, the care requirements of the article, manufacturing processes (e.g., environmental friendliness, fair trade standing, etc.), etc.).
  • V. Processes for Defining Proximity Event Applications
  • FIGS. 26-29 describe processes that may be used to define sets of instructions for providing proximity event applications (e.g., a server application, a user application, a consumer application, etc.). In some cases such sets of instructions are defined in terms of object-oriented programming code. Some embodiments may include sets of instructions for defining classes and instantiating various objects at runtime based on the defined classes. The sets of instructions may be stored to an appropriate non-volatile storage medium. In some embodiments, multiple applications may be included on a single medium.
  • FIG. 26 conceptually illustrates a process 2600 of some embodiments for defining and storing a server-side application of some embodiments, such as application 900 described above in reference to FIG. 9. Specifically, process 2600 illustrates the operations used to define sets of instructions for providing several of the elements shown in the server application 900 and for performing various operations described above.
  • As shown, the process may define (at 2605) sets of instructions for providing a communication module. The process may then define (at 2610) sets of instructions for providing an authentication module. Next, the process may define (at 2615) sets of instructions for providing a reporting and analytics module. Process 2600 may then define (at 2620) sets of instructions for providing a sensor management module. The process then may define (at 2625) sets of instructions for providing a campaign management module. Next, the process may define (at 2630) sets of instructions for providing an account manager module.
  • Process 2600 may then define (at 2635) sets of instructions for providing an action management module. Next, the process may define (at 2640) sets of instructions for providing a channel management module. The process may then define (at 2645) sets of instructions for providing a rich media repository module. Process 2600 may then define (at 2650) sets of instructions for providing a web services module. Next, process 2600 may define (at 2655) sets of instructions for providing a payment module. The process may then define (at 2660) sets of instructions for providing a social network interface module. Process 2600 may then write (at 2665) the sets of instructions defined at operations 2605-2660 to a non-volatile storage medium.
  • FIG. 27 conceptually illustrates a process 2700 of some embodiments for defining and storing a client-side user application of some embodiments, such as application 1000 described above in reference to FIG. 10. Specifically, process 2700 illustrates the operations used to define sets of instructions for providing several of the elements shown in the client-side user application 1000 and for performing various operations described above.
  • As shown, the process may define (at 2710) sets of instructions for providing a communication module. The process may then define (at 2720) sets of instructions for providing a user interface module. Next, the process may define (at 2730) sets of instructions for providing a sensor module. Process 2700 may then write (at 2740) the sets of instructions defined at operations 2710-2730 to a non-volatile storage medium.
  • FIG. 28 conceptually illustrates a process 2800 of some embodiments for defining and storing a client-side consumer application of some embodiments, such as application 1100 described above in reference to FIG. 11. Specifically, process 2800 illustrates the operations used to define sets of instructions for providing several of the elements shown in the client-side application 1100 and for performing various operations described above.
  • As shown, the process may define (at 2810) sets of instructions for providing a communication module. The process may then define (at 2820) sets of instructions for providing a user interface module. Next, the process may define (at 2830) sets of instructions for providing a receiver module. Process 2800 may then define (at 2840) sets of instructions for providing a control module. The process may then write (at 2850) the sets of instructions defined at operations 2810-2840 to a non-volatile storage medium.
  • FIG. 29 conceptually illustrates a process 2900 of some embodiments for defining and storing a sensor application of some embodiments, such as application 1200 described above in reference to FIG. 12. Specifically, process 2900 illustrates the operations used to define sets of instructions for providing several of the elements shown in the sensor application 1200 and for performing various operations described above.
  • As shown, the process may define (at 2910) sets of instructions for providing a communication module. The process may then define (at 2920) sets of instructions for providing a control program module. Next, the process may define (at 2930) sets of instructions for providing a hardware interface module. The process may then write (at 2940) the sets of instructions defined at operations 2910-2930 to a non-volatile storage medium.
  • One of ordinary skill in the art will recognize that the various sets of instructions defined by processes 2600-2900 are not exhaustive of the sets of instructions that could be defined and established on a non-volatile storage medium for proximity event applications incorporating some embodiments of the invention. In addition, the processes 2600-2900 are conceptual processes, and the actual implementations may vary. For example, different embodiments may define the various sets of instructions in a different order, may define several sets of instructions in one operation, may decompose the definition of a single set of instructions into multiple operations, etc. In addition, the processes 2600-2900 may be implemented as several sub-processes or combined with other operations within a macro-process.
  • VI. Computer System
  • Many of the processes and modules described above may be implemented as software processes that are specified as one or more sets of instructions recorded on a non-transitory storage medium. When these instructions are executed by one or more computational element(s) (e.g., microprocessors, microcontrollers, Digital Signal Processors (DSPs), Application-Specific ICs (ASICs), Field Programmable Gate Arrays (FPGAs), etc.) the instructions cause the computational element(s) to perform actions specified in the instructions.
  • In some embodiments, various processes and modules described above may be implemented completely using electronic circuitry that may include various sets of devices or elements (e.g., sensors, logic gates, analog to digital converters, digital to analog converters, comparators, etc.). Such circuitry may be adapted to perform functions and/or features that may be associated with various software elements described throughout.
  • FIG. 30 illustrates a schematic block diagram of a conceptual computer system 3000 used to implement some embodiments of the invention. For example, the system described above in reference to FIGS. 1-3 may be at least partially implemented using computer system 3000. As another example, the processes described in reference to FIGS. 18-29 may be at least partially implemented using sets of instructions that are executed using computer system 3000.
  • Computer system 3000 may be implemented using various appropriate devices. For instance, the computer system may be implemented using one or more personal computers (“PC”), servers, mobile devices (e.g., a smartphone), tablet devices, and/or any other appropriate devices. The various devices may work alone (e.g., the computer system may be implemented as a single PC) or in conjunction (e.g., some components of the computer system may be provided by a mobile device while other components are provided by a tablet device).
  • As shown, computer system 3000 may include at least one communication bus 3005, one or more processors 3010, a system memory 3015, a read-only memory (ROM) 3020, permanent storage devices 3025, input devices 3030, output devices 3035, various other components 3040 (e.g., a graphics processing unit), and one or more network interfaces 3045.
  • Bus 3005 represents all communication pathways among the elements of computer system 3000. Such pathways may include wired, wireless, optical, and/or other appropriate communication pathways. For example, input devices 3030 and/or output devices 3035 may be coupled to the system 3000 using a wireless connection protocol or system.
  • The processor 3010 may, in order to execute the processes of some embodiments, retrieve instructions to execute and/or data to process from components such as system memory 3015, ROM 3020, and permanent storage device 3025. Such instructions and data may be passed over bus 3005.
  • System memory 3015 may be a volatile read-and-write memory, such as a random access memory (RAM). The system memory may store some of the instructions and data that the processor uses at runtime. The sets of instructions and/or data used to implement some embodiments may be stored in the system memory 3015, the permanent storage device 3025, and/or the read-only memory 3020. ROM 3020 may store static data and instructions that may be used by processor 3010 and/or other elements of the computer system.
  • Permanent storage device 3025 may be a read-and-write memory device. The permanent storage device may be a non-volatile memory unit that stores instructions and data even when computer system 3000 is off or unpowered. Computer system 3000 may use a removable storage device and/or a remote storage device 3060 as the permanent storage device.
  • Input devices 3030 may enable a user to communicate information to the computer system and/or manipulate various operations of the system. The input devices may include keyboards, cursor control devices, audio input devices and/or video input devices. Output devices 3035 may include printers, displays, and/or audio devices. Some or all of the input and/or output devices may be wirelessly or optically connected to the computer system.
  • Other components 3040 may perform various other functions. These functions may include performing specific functions (e.g., graphics processing, sound processing, etc.), providing storage, interfacing with external systems or components, etc.
  • Finally, as shown in FIG. 30, computer system 3000 may be coupled to one or more networks 3050 through one or more network interfaces 3045. For example, computer system 3000 may be coupled to a web server on the Internet such that a web browser executing on computer system 3000 may interact with the web server as a user interacts with an interface that operates in the web browser. Computer system 3000 may be able to access one or more remote storages 3060 and one or more external components 3065 through the network interface 3045 and network 3050. The network interface(s) 3045 may include one or more application programming interfaces (APIs) that may allow the computer system 3000 to access remote systems and/or storages and also may allow remote systems and/or storages to access computer system 3000 (or elements thereof).
  • As used in this specification and any claims of this application, the terms “computer”, “server”, “processor”, and “memory” all refer to electronic devices. These terms exclude people or groups of people. As used in this specification and any claims of this application, the term “non-transitory storage medium” is entirely restricted to tangible, physical objects that store information in a form that is readable by electronic devices. These terms exclude any wireless or other ephemeral signals.
  • It should be recognized by one of ordinary skill in the art that any or all of the components of computer system 3000 may be used in conjunction with the invention. Moreover, one of ordinary skill in the art will appreciate that many other system configurations may also be used in conjunction with the invention or components of the invention.
  • In addition, while the examples shown may illustrate many individual modules as separate elements, one of ordinary skill in the art would recognize that these modules may be combined into a single functional block or element. One of ordinary skill in the art would also recognize that a single module may be divided into multiple modules.
  • The foregoing relates to illustrative details of exemplary embodiments of the invention and modifications may be made without departing from the spirit and scope of the invention as defined by the following claims.

Claims (20)

I claim:
1. A system for identifying logistics events, the system comprising:
a set of tags, each tag able to be attached to an item, each tag able to transmit a beacon signal;
a set of locators associated with an establishment, each locator able to receive the beacon signal and generate an event message based at least partly on the beacon signal; and
a server able to receive the event message and update at least one database based on the event message.
2. The system of claim 1, wherein the beacon signal comprises a unique tag identifier.
3. The system of claim 1, wherein the beacon signal is transmitted using a Bluetooth channel.
4. The system of claim 1, wherein each locator is able to be moved about the establishment.
5. The system of claim 4, wherein each locator is further able to determine a current location of the locator.
6. The system of claim 1, wherein each locator is associated with a fixed location and the server is able to identify the fixed location based at least partly on the event message.
7. The system of claim 1, wherein each locator is able to receive the beacon signal when the locator is within a threshold proximity of a particular tag from among the set of tags.
8. A method for identifying logistics events, the method comprising:
transmitting, from a merchandise tag, a beacon signal;
receiving, at a locator associated with an establishment, the beacon signal;
generating, at the locator, an event message based at least partly on the beacon signal; and
sending the event message to a server associated with the establishment.
9. The method of claim 8, wherein the beacon signal is transmitted over at least one of a Bluetooth link and a WiFi connection.
10. The method of claim 8, wherein the locator is positioned at a fixed location within the establishment.
11. The method of claim 8, wherein the locator is able to be moved about the establishment.
12. The method of claim 11, wherein the locator is able to determine a position of the locator.
13. The method of claim 12, wherein the locator is one of a smartphone and a tablet.
14. The method of claim 8, wherein the beacon signal comprises a unique identifier.
15. A locator application able to identify logistics events, the application comprising:
sets of instructions for receiving a beacon signal generated by a merchandise tag;
sets of instructions for generating an event message based at least partly on the beacon signal; and
sets of instructions for sending the event message to a server.
16. The locator application of claim 15, wherein the beacon signal comprises a unique identifier.
17. The locator application of claim 15, wherein the beacon signal is received over one of a Bluetooth link and a WiFi channel.
18. The locator application of claim 15 further comprising sets of instructions for determining a location of a locator.
19. The locator application of claim 18, wherein the locator is positioned at a fixed location within an establishment.
20. The locator application of claim 18, wherein the locator is able to be moved about an establishment.
US14/606,728 2012-02-24 2015-01-27 Automated logistics management using proximity events Active US11062258B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/606,728 US11062258B2 (en) 2012-02-24 2015-01-27 Automated logistics management using proximity events
US15/449,886 US11030599B2 (en) 2012-02-24 2017-03-03 Smart beacon point of sale (POS) interface

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261603065P 2012-02-24 2012-02-24
US13/752,213 US10586251B2 (en) 2012-02-24 2013-01-28 Consumer interaction using proximity events
US14/606,728 US11062258B2 (en) 2012-02-24 2015-01-27 Automated logistics management using proximity events

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/752,213 Continuation-In-Part US10586251B2 (en) 2012-02-24 2013-01-28 Consumer interaction using proximity events

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US13/752,213 Continuation-In-Part US10586251B2 (en) 2012-02-24 2013-01-28 Consumer interaction using proximity events
US15/449,886 Continuation-In-Part US11030599B2 (en) 2012-02-24 2017-03-03 Smart beacon point of sale (POS) interface

Publications (2)

Publication Number Publication Date
US20150206096A1 true US20150206096A1 (en) 2015-07-23
US11062258B2 US11062258B2 (en) 2021-07-13

Family

ID=53545111

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/606,728 Active US11062258B2 (en) 2012-02-24 2015-01-27 Automated logistics management using proximity events

Country Status (1)

Country Link
US (1) US11062258B2 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150019163A1 (en) * 2012-03-25 2015-01-15 Bradford Needham Orientation sensing computing devices
CN106672431A (en) * 2016-12-21 2017-05-17 湖南师范大学 Express system based on cloud server and express method of express system
US20180141753A1 (en) * 2016-06-28 2018-05-24 Kabushiki Kaisha Toshiba Control system
CN108885732A (en) * 2016-05-04 2018-11-23 斗山重工业建设有限公司 To leaving and into the system and method monitored automatically for area-of-interest
US10963657B2 (en) 2011-08-30 2021-03-30 Digimarc Corporation Methods and arrangements for identifying objects
WO2021076513A1 (en) * 2019-10-13 2021-04-22 Trackonomy Systems, Inc. Systems and methods for monitoring loading of cargo onto a transport vehicle
US11037196B2 (en) 2012-02-24 2021-06-15 Netclearance Systems, Inc. Interactive advertising using proximity events
US11062258B2 (en) 2012-02-24 2021-07-13 Netclearance Systems, Inc. Automated logistics management using proximity events
US11074637B2 (en) 2014-12-24 2021-07-27 Digimarc Corporation Self-checkout arrangements
US11151534B2 (en) 2016-11-29 2021-10-19 Netclearance Systems, Inc. Consumer interaction module for point-of-sale (POS) systems
US11170409B2 (en) 2017-05-19 2021-11-09 Abl Ip Holding, Llc Wireless beacon based systems utilizing printable circuits
US11188947B2 (en) 2016-10-05 2021-11-30 Abl Ip Holding, Llc Analyzing movement of data collectors/gateways associated with retail displays
US11281876B2 (en) 2011-08-30 2022-03-22 Digimarc Corporation Retail store with sensor-fusion enhancements
US11334889B2 (en) 2016-11-29 2022-05-17 Netclearance Systems, Inc. Mobile ticketing based on proximity
US11507973B2 (en) 2015-05-13 2022-11-22 Abl Ip Holding, Llc System and methods for determining location of pop displays with wireless beacons using mobile applications on mobile devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030137968A1 (en) * 2002-01-18 2003-07-24 Lareau Neil William Monitoring and tracking of assets by utilizing wireless communications
US20060293968A1 (en) * 2005-06-28 2006-12-28 Media Cart Holdings, Inc. Media enabled shopping cart system with point of sale identification
US20070018820A1 (en) * 2005-07-20 2007-01-25 Rockwell Automation Technologies, Inc. Mobile RFID reader with integrated location awareness for material tracking and management
US20070067200A1 (en) * 2005-09-19 2007-03-22 Oracle International Corporation Access point triangulation for task assignment of warehouse employees
US20070268138A1 (en) * 2004-08-26 2007-11-22 Chung Kevin K Object monitoring, locating, and tracking system and method employing rfid devices

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601039B1 (en) 1998-07-20 2003-07-29 Usa Technologies, Inc. Gas pump control system having access to the internet for the purposes of transacting e-mail, e-commerce, and e-business, and for conducting vending transactions
US6965868B1 (en) 1999-08-03 2005-11-15 Michael David Bednarek System and method for promoting commerce, including sales agent assisted commerce, in a networked economy
US6705520B1 (en) 1999-11-15 2004-03-16 Satyan G. Pitroda Point of sale adapter for electronic transaction device
AU2001280082A1 (en) * 2000-08-24 2002-03-04 Buypass Systems (1999) Ltd. A method and system for purchasing items
JP2002163722A (en) 2000-11-29 2002-06-07 Kojima Co Ltd Method, device, and portable terminal for merchandise sales management
US20060031126A1 (en) 2000-12-08 2006-02-09 Clarinet Systems, Inc. Method and for facilitating network communication between a wireless device and a service system via an interface
US7343317B2 (en) 2001-01-18 2008-03-11 Nokia Corporation Real-time wireless e-coupon (promotion) definition based on available segment
US6776334B1 (en) 2001-02-22 2004-08-17 Advanced Micro Devices, Inc. System and method for determining the location of a mobile device within a wireless network
US6907238B2 (en) 2002-08-30 2005-06-14 Qualcomm Incorporated Beacon for locating and tracking wireless terminals
US8484076B2 (en) 2003-09-11 2013-07-09 Catalina Marketing Corporation Proximity-based method and system for generating customized incentives
US8583475B2 (en) 2003-09-11 2013-11-12 Catalina Marketing Corporation Method and system for generating intelligent electronic banners based on user information
JP2007511120A (en) 2003-10-31 2007-04-26 スマート インターネット テクノロジー シーアールシー ピーティーワイ リミテッド Proximity position detection system and method
US7899583B2 (en) * 2005-04-12 2011-03-01 Ehud Mendelson System and method of detecting and navigating to empty parking spaces
US7848765B2 (en) 2005-05-27 2010-12-07 Where, Inc. Location-based services
US8150416B2 (en) * 2005-08-08 2012-04-03 Jambo Networks, Inc. System and method for providing communication services to mobile device users incorporating proximity determination
US20080214151A1 (en) 2005-09-14 2008-09-04 Jorey Ramer Methods and systems for mobile coupon placement
US8020761B2 (en) 2005-09-30 2011-09-20 Logic Controls, Inc. Point-of-sale terminal system with integrated RF card reader and interchangeable base
US20070254674A1 (en) * 2006-04-28 2007-11-01 Texas Instruments, Inc. Location Determination With A Wireless System
US20080040219A1 (en) 2006-08-09 2008-02-14 Jeff Kim Proximity-based wireless advertising system
US11336511B2 (en) * 2006-09-25 2022-05-17 Remot3.It, Inc. Managing network connected devices
US10567909B2 (en) * 2006-10-26 2020-02-18 Samsung Electronics Co., Ltd. Wireless dissemination of environment aware information
NZ578635A (en) 2006-12-26 2012-03-30 Ct De Inmunolgia Molecular Pharmaceutical composition, comprising an anti-cd6 monoclonal antibody used in the diagnosis and treatment of rheumatoid arthritis
US9141961B2 (en) 2007-06-20 2015-09-22 Qualcomm Incorporated Management of dynamic mobile coupons
US8781887B2 (en) 2007-11-26 2014-07-15 Raymond Ying Ho Law Method and system for out-of-home proximity marketing and for delivering awarness information of general interest
US8232876B2 (en) 2008-03-07 2012-07-31 Securealert, Inc. System and method for monitoring individuals using a beacon and intelligent remote tracking device
US8082187B2 (en) 2008-05-07 2011-12-20 AcademixDirect, Inc. Method of generating a referral website URL using website listings in a cookie
WO2009140669A2 (en) 2008-05-16 2009-11-19 Terahop Networks, Inc. Securing, monitoring and tracking shipping containers
CN102124058B (en) 2008-06-18 2014-05-28 生命连结有限公司 Improved cross-linked compositions
US8342407B2 (en) 2008-07-21 2013-01-01 Gilbarco, Inc. System and method for pairing a bluetooth device with a point-of-sale terminal
US9053474B2 (en) 2008-08-04 2015-06-09 At&T Mobility Ii Llc Systems and methods for handling point-of-sale transactions using a mobile device
EP2151795A1 (en) 2008-08-08 2010-02-10 France Telecom Secure electronic coupon delivery to mobile device
US8090359B2 (en) 2008-09-08 2012-01-03 Proctor Jr James Arthur Exchanging identifiers between wireless communication to determine further information to be exchanged or further services to be provided
US20100245588A1 (en) * 2009-03-31 2010-09-30 Acuity Systems Inc. Tag tracking system
US20110276385A1 (en) 2010-05-06 2011-11-10 Bank Of America Corporation Mobile Shopping Decision Agent
US7907571B2 (en) 2009-06-30 2011-03-15 Airvana, Corp. Mobile aware beacon
US20110028093A1 (en) 2009-07-28 2011-02-03 Patel Shwetak N Bluetooth Proximity Detection System and Method of Interacting With One or More Bluetooth Devices
US8489112B2 (en) 2009-07-29 2013-07-16 Shopkick, Inc. Method and system for location-triggered rewards
US20110302017A1 (en) 2009-12-06 2011-12-08 Juan Marti Mobile Coupon Redemption System
WO2011080707A2 (en) 2009-12-30 2011-07-07 Meterlive Ltd. Analyzing audiences at public venues
US20110179064A1 (en) 2010-01-18 2011-07-21 Anthony Peter Russo Method of and system for providing a proximity-based matching notification service
US20110178863A1 (en) 2010-01-19 2011-07-21 Daigle Mark R Location based consumer interface for retail environment
US9065532B2 (en) 2010-02-03 2015-06-23 Google Inc. Bump button
EP2362102B1 (en) 2010-02-18 2012-10-03 Grundfos Management A/S Metering pump aggregate
US20110238476A1 (en) 2010-03-23 2011-09-29 Michael Carr Location-based Coupons and Mobile Devices
US9681359B2 (en) 2010-03-23 2017-06-13 Amazon Technologies, Inc. Transaction completion based on geolocation arrival
US20110276419A1 (en) 2010-05-10 2011-11-10 Craig Johnson System and method for payment between a hand held` device and a merchant device
US20120047011A1 (en) 2010-08-23 2012-02-23 Proximus Mobility, Llc. Systems and Methods for Delivering Proximity-Based Marketing Content to Mobile Devices
US20130275198A1 (en) 2010-08-23 2013-10-17 MobileBits Corporation System and methods for delivering targeted marketing content to mobile device users based on geolocation
US20130268353A1 (en) 2010-08-23 2013-10-10 MobileBits Corporation System and methods for delivering targeted marketing content to mobile device users based on geolocation
US20120084210A1 (en) 2010-09-30 2012-04-05 Arvin Farahmand Mobile device payment system
US20120203620A1 (en) 2010-11-08 2012-08-09 Douglas Howard Dobyns Techniques For Wireless Communication Of Proximity Based Marketing
US8977507B2 (en) 2011-01-21 2015-03-10 The United States Of America As Represented By The Secretary Of The Navy Event detection system user interface system coupled to multiple sensors including an impact detection system
US20130030875A1 (en) 2011-07-29 2013-01-31 Panasonic Corporation System and method for site abnormality recording and notification
CA2881633A1 (en) * 2011-08-15 2013-02-21 Connectquest Close proximity notification system
US9129273B2 (en) 2011-12-01 2015-09-08 At&T Intellectual Property I, L.P. Point of sale for mobile transactions
US20140188658A1 (en) 2011-12-21 2014-07-03 Hong Li Auto display of a product location map on a mobile device based on device context
US9928536B2 (en) 2012-02-24 2018-03-27 Netclearance Systems, Inc. Mobile device order entry and submission using proximity events
US11030599B2 (en) 2012-02-24 2021-06-08 Netclearance Systems, Inc. Smart beacon point of sale (POS) interface
US9933265B2 (en) 2012-02-24 2018-04-03 Netclearance Systems, Inc. Way finder using proximity events
US11037196B2 (en) 2012-02-24 2021-06-15 Netclearance Systems, Inc. Interactive advertising using proximity events
US10586251B2 (en) 2012-02-24 2020-03-10 Netclearance Systems, Inc. Consumer interaction using proximity events
US11062258B2 (en) 2012-02-24 2021-07-13 Netclearance Systems, Inc. Automated logistics management using proximity events
US9811846B2 (en) 2012-02-24 2017-11-07 Netclearance Systems, Inc. Mobile payment and queuing using proximity events
US10360593B2 (en) 2012-04-24 2019-07-23 Qualcomm Incorporated Retail proximity marketing
US9805352B2 (en) 2012-08-02 2017-10-31 Facebook, Inc. Transaction data capture system for a point of sale system
US8965398B2 (en) 2012-09-26 2015-02-24 Hewlett-Packard Development Company, L.P. Bluetooth beacon based location determination
US11138581B2 (en) 2014-01-10 2021-10-05 Elo Touch Solutions, Inc. Multi-mode point-of-sale device
US20160012422A1 (en) 2014-07-11 2016-01-14 Google Inc. Hands-free transactions with a transaction confirmation request
US10375082B2 (en) 2015-08-20 2019-08-06 Averon Us, Inc. Method and apparatus for geographic location based electronic security management
US11151534B2 (en) 2016-11-29 2021-10-19 Netclearance Systems, Inc. Consumer interaction module for point-of-sale (POS) systems
US11334889B2 (en) 2016-11-29 2022-05-17 Netclearance Systems, Inc. Mobile ticketing based on proximity

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030137968A1 (en) * 2002-01-18 2003-07-24 Lareau Neil William Monitoring and tracking of assets by utilizing wireless communications
US20070268138A1 (en) * 2004-08-26 2007-11-22 Chung Kevin K Object monitoring, locating, and tracking system and method employing rfid devices
US20060293968A1 (en) * 2005-06-28 2006-12-28 Media Cart Holdings, Inc. Media enabled shopping cart system with point of sale identification
US20070018820A1 (en) * 2005-07-20 2007-01-25 Rockwell Automation Technologies, Inc. Mobile RFID reader with integrated location awareness for material tracking and management
US20070067200A1 (en) * 2005-09-19 2007-03-22 Oracle International Corporation Access point triangulation for task assignment of warehouse employees

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11281876B2 (en) 2011-08-30 2022-03-22 Digimarc Corporation Retail store with sensor-fusion enhancements
US11763113B2 (en) 2011-08-30 2023-09-19 Digimarc Corporation Methods and arrangements for identifying objects
US11288472B2 (en) 2011-08-30 2022-03-29 Digimarc Corporation Cart-based shopping arrangements employing probabilistic item identification
US10963657B2 (en) 2011-08-30 2021-03-30 Digimarc Corporation Methods and arrangements for identifying objects
US11062258B2 (en) 2012-02-24 2021-07-13 Netclearance Systems, Inc. Automated logistics management using proximity events
US11037196B2 (en) 2012-02-24 2021-06-15 Netclearance Systems, Inc. Interactive advertising using proximity events
US20150019163A1 (en) * 2012-03-25 2015-01-15 Bradford Needham Orientation sensing computing devices
US11074637B2 (en) 2014-12-24 2021-07-27 Digimarc Corporation Self-checkout arrangements
US11507973B2 (en) 2015-05-13 2022-11-22 Abl Ip Holding, Llc System and methods for determining location of pop displays with wireless beacons using mobile applications on mobile devices
EP3454270A4 (en) * 2016-05-04 2019-12-25 Doosan Heavy Industries & Construction Co., Ltd. System and method for automatically detecting entry into and exit from region of interest
US10362443B2 (en) * 2016-05-04 2019-07-23 DOOSAN Heavy Industries Construction Co., LTD System and method for automatically detecting exit and entry for interest region
US20190082291A1 (en) * 2016-05-04 2019-03-14 Doosan Heavy Industries & Construction Co., Ltd. System and method for automatically detecting exit and entry for interest region
CN108885732A (en) * 2016-05-04 2018-11-23 斗山重工业建设有限公司 To leaving and into the system and method monitored automatically for area-of-interest
US10479603B2 (en) * 2016-06-28 2019-11-19 Kabushiki Kaisha Toshiba Control system
US20180141753A1 (en) * 2016-06-28 2018-05-24 Kabushiki Kaisha Toshiba Control system
US11188947B2 (en) 2016-10-05 2021-11-30 Abl Ip Holding, Llc Analyzing movement of data collectors/gateways associated with retail displays
US11227311B2 (en) 2016-10-05 2022-01-18 Abl Ip Holding, Llc Local data acquisition for retail displays with wireless beacons
US11244355B2 (en) * 2016-10-05 2022-02-08 Abl Ip Holding, Llc Geofencing with wireless beacon based consumer product marketing
US11151534B2 (en) 2016-11-29 2021-10-19 Netclearance Systems, Inc. Consumer interaction module for point-of-sale (POS) systems
US11334889B2 (en) 2016-11-29 2022-05-17 Netclearance Systems, Inc. Mobile ticketing based on proximity
CN106672431A (en) * 2016-12-21 2017-05-17 湖南师范大学 Express system based on cloud server and express method of express system
US11170409B2 (en) 2017-05-19 2021-11-09 Abl Ip Holding, Llc Wireless beacon based systems utilizing printable circuits
US11270348B2 (en) 2017-05-19 2022-03-08 Abl Ip Holding, Llc Systems and methods for tracking products transported in shipping containers
WO2021076513A1 (en) * 2019-10-13 2021-04-22 Trackonomy Systems, Inc. Systems and methods for monitoring loading of cargo onto a transport vehicle
US11487958B2 (en) 2019-10-13 2022-11-01 Trackonomy Systems, Inc. Systems and methods for monitoring loading of cargo onto a transport vehicle
US11687748B2 (en) 2019-10-13 2023-06-27 Trackonomy Systems, Inc. Systems and methods for monitoring loading of cargo onto a transport vehicle

Also Published As

Publication number Publication date
US11062258B2 (en) 2021-07-13

Similar Documents

Publication Publication Date Title
US11062258B2 (en) Automated logistics management using proximity events
US11030599B2 (en) Smart beacon point of sale (POS) interface
US11037196B2 (en) Interactive advertising using proximity events
US10586251B2 (en) Consumer interaction using proximity events
US9811846B2 (en) Mobile payment and queuing using proximity events
US9933265B2 (en) Way finder using proximity events
US9928536B2 (en) Mobile device order entry and submission using proximity events
US11257119B2 (en) Platform for location and time based advertising
US9681264B2 (en) Real time data feeds in a close proximity notification system
US9628949B2 (en) Distributed data in a close proximity notification system
US9693190B2 (en) Campus security in a close proximity notification system
US9892424B2 (en) Communication with shoppers in a retail environment
US20140279014A1 (en) Push notifications for location-based content delivery
US20080189170A1 (en) Sensor network-based context-aware content delivery system
US20150278888A1 (en) System and method for acquiring information
US20150278829A1 (en) System and method for in-store tracking
US20160125465A1 (en) System and Method for Interactive Advertising
US20140136312A1 (en) Location-based content delivery
KR20170079536A (en) Method and system for providing customized advertisement by public display
US20180129551A1 (en) Digital signage and method of controlling the same
US20190230473A1 (en) Beacon device for real-time presence and position tracking in facilities
WO2009074762A1 (en) System for digital advertising
US20200037103A1 (en) System for presence and position tracking in facilities

Legal Events

Date Code Title Description
AS Assignment

Owner name: NETCLEARANCE SYSTEMS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FERNANDEZ, DAVID;REEL/FRAME:039863/0334

Effective date: 20160926

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE