Vending machines typically include mechanically and electronically operated devices that automatically dispense various products, such as beverages, snack food items, tickets, consumer products, etc. Vending machines dispense the various products to customers based on the customers supplying payment, in currency or credit form, to the vending machines. Vending machines have been located in many different locations that are expected to generate sufficient sales to justify placing the vending machines in those locations. Those locations include schools, hotels, office buildings, public transportation centers (e.g., train stations, subway stations, automobile rest stops, etc.), truck stops, and shopping centers.
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. The following detailed description does not limit the invention as claimed.
Smart vending machine 100 includes a first user interface (I/F) 125 for presenting advertising to users 105 and a second user I/F 130 for performing vending operations to cause product dispenser(s) 110 to dispense products 115. User interfaces 125 and 130 may include a color digital display such as, for example, a Liquid Crystal Display (LCD), a cathode ray tube (CRT) display, an organic light-emitting diode (OLED) display, a surface-conduction electro-emitter display (SED), a field emission display (FED), a bistable display, or a plasma display. User interfaces 125 and 130, in addition to having a color digital display, may include a touch panel (e.g., a touch screen display) that functions as a user input interface. For example, in one implementation, the touch panel may include a near field-sensitive (e.g., capacitive), acoustically-sensitive (e.g., surface acoustic wave), photo-sensitive (e.g., infrared), and/or any other type of touch panel that allows a display to be used as an input device. In one implementation, the touch panel may include multiple touch-sensitive technologies. Generally, the touch panel may include any kind of technology that provides the ability to identify the occurrence of a touch upon the touch panel.
Users 105-1 through 105-n may provide input via vending operations user interface 130 to select products 115 to be dispensed by product dispenser(s) 110. Advertising user interface 125 may provide advertising 120 to users 105-1 through 105-n based, at least in part, upon a location of vending machine 100, in one embodiment, as described in further detail below.
As further shown in
Vending machines 100-1 through 100-x (individually and generically referred to herein as “vending machine 100”) may dispense products and perform other functions as described with respect to
Cellular network 205 may include a wireless public land mobile network (PLMN) such as, for example, a Code Division Multiple Access (CDMA) 2000 PLMN, a Global System for Mobile Communications (GSM) PLMN, a Long Term Evolution (LTE) PLMN (e.g., Fourth Generation (4G) LTE) and/or other types of PLMNs.
Personal area network (PAN) 210 may include a short range wireless connection between a user device 120 and vending machine 100. In one embodiment, PAN 210 may include a Bluetooth connection between user device 120 and vending machine 100. Wireless LAN 215 may include, for example, a Wi-Fi LAN the permits multiple wireless connections with vending machine 100 based on the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard.
Network 220 may include one or more networks including, for example, a wireless public land mobile network (PLMN) (e.g., a Code Division Multiple Access (CDMA) 2000 PLMN, a Global System for Mobile Communications (GSM) PLMN, a Long Term Evolution (LTE) PLMN and/or other types of PLMNs), a telecommunications network (e.g., Public Switched Telephone Networks (PSTNs)), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), an intranet, the Internet, or a cable network (e.g., an optical cable network). Network 220 may enable vending machines 100-1 through 100-x and the various network devices of
Alert system(s) 225 may include one or more network devices associated with state, local or federal organizations that provide alerts for issues of wide importance. For example, alert system(s) 225 may be associated with state, local or federal disaster/emergency organizations that generate alerts based on the occurrence of a number of different events such as, for example, Amber alerts, weather alerts (e.g., tornado alerts, hurricane alerts), disaster alerts (e.g., earthquake alerts), or other alerts of interest to the community.
Service provider data center 230 may include various network devices such as, for example, one or more application (app) servers 255, one or more database (DB) servers 260, and one or more reporting server(s) 265. App server(s) 255 may execute applications used in analyzing data received from vending machines 100-1 through 100-x. DB server(s) 260 may store data received from vending machines 100-1 through 100-x for future retrieval and analysis. DB server(s) 260 may additionally store user profiles associated with users 105. Reporting server(s) 265 may receive various types of reports (described further below) and may store the reports in DB server(s) 260.
Supply vendor data center 235 may include various network devices such as, for example, one or more app servers 270 and one or more DB server(s) 275. App server(s) 270 may execute applications used in analyzing received inventory and product ordering data associated with vending machines 100-1 through 100-x. DB server(s) 275 may store the received inventory and product ordering data associated with vending machines 100-1 through 100-x.
Advertising system 240 may include a network device that generates advertisements, as described further below, for supply to users at vending machines 100-1 through 100-x. Forecasting system 245 may include a network device that generates product inventory forecasts, vending machine malfunction/outage forecasts, and vending machine usage forecasts based on reports received from vending machines 100-1 through 100-x. The forecasts generated by forecasting system 245 may be used to more efficiently schedule product replenishment at vending machines 100-1 through 100-x and to schedule planned maintenance of vending machines 100-1 through 100-x to avoid malfunctions or outages. Forecasting system 245 may build forecasting models based on tracking data received from smart vending machines 100. Forecasting system 245 may use the forecasting models for generating inventory forecasts, vending machine malfunction/outage forecasts, and vending machine usage forecasts. Such forecasts may be on an hourly, daily, weekly, or monthly basis. The forecasts may be on a per-machine basis, or a per-region basis (e.g., per city, per building, per campus, etc.), or may be aggregated across all reporting smart vending machines 100, or across some designated segment(s) of all reporting smart vending machines 100. The forecasts may be used, for example, for “just in time” product ordering and replenishment for specific smart vending machines 100, for scheduling maintenance to minimize machine malfunctions/outages of smart vending machines 100, for forecasting sales of products at smart vending machines 100.
User devices 120-1 through 120-n (individually and generically referred to herein as “user device 120”) may include any type of computing device that has wireless communication capabilities. User devices 120-1 through 120-n may each include, for example, a telephone (e.g., a smart phone), a computer (e.g., laptop, palmtop, desktop, or tablet computer), a set-top box (STB), a gaming device, or a personal digital assistant (PDA). User devices 120-1 through 120-n may connect with a vending machine 100 via PAN 210 and/or wireless LAN 215.
The configuration of network components of network environment 200 shown in
Wireless LAN transceiver/router 300 may include a transceiver that may communicate, for example, according to a wireless standard and which may route data from user devices 120-1 through 120-n to network 220 (e.g., through cellular network 205), or from network 220 to user devices 120-1 through 120-n via cellular network 205 and wireless LAN 215. Wireless LAN transceiver/router 300 may include, for example, a Wi-Fi router. Cellular transceiver 305 may include a transceiver that has the capability to communicate via cellular network 205. PAN transceiver 310 may include a transceiver that communicates with user devices 120-1 through 120-n via short range wireless connections such as, for example, Bluetooth connections or Near Field Communications (NFC) connections. In some implementations, smart vending machine 100 may connect to network 220 and/or to one or more of user devices 120 via a wired connection.
Memory 315 may include one or more different types of memory for storing data. Memory 315 may include a random access memory (RAM) or another type of dynamic storage device that may store information and instructions for execution by processing unit 320. Memory 315 may further include a Read Only Memory (ROM) device or another type of static storage device that may store static information and instructions for use by processing unit 320. Memory 315 may also include a magnetic and/or optical storage medium. Memory 315 may be referred to herein as a “non-transitory computer-readable medium.” Processing unit 320 may include one or more processors or microprocessors, or processing logic, which may interpret and execute instructions for performing, for example, the exemplary processes of
The configuration of components of smart vending machine 100 illustrated in
Network device 400 may include a bus 410, a processing unit 420, a main memory 430, a read only memory (ROM) 440, a storage device 450, an input device(s) 460, an output device(s) 470, and a communication interface(s) 480. Bus 410 may include a path that permits communication among the components of network device 400.
Processing unit 420 may include one or more processors or microprocessors, or processing logic, which may interpret and execute instructions. Main memory 430 may include a random access memory (RAM) or another type of dynamic storage device that may store information and instructions for execution by processing unit 420. ROM 440 may include a ROM device or another type of static storage device that may store static information and instructions for use by processing unit 420. Storage device 450 may include a magnetic and/or optical recording medium. Main memory 430, ROM 440 and storage device 450 may each be referred to herein as a “non-transitory computer-readable medium.”
Input device 460 may include one or more mechanisms that permit an operator to input information to network device 400, such as, for example, a keypad or a keyboard, a display with a touch sensitive panel, voice recognition and/or biometric mechanisms, etc. Output device 470 may include one or more mechanisms that output information to the operator, including a display, a speaker, etc. Input device 460 and output device 470 may, in some implementations, be implemented as a user interface that displays user interface information and which receives user input via the user interface. Communication interface(s) 480 may include a transceiver that enables network device 400 to communicate with other devices and/or systems. For example, communication interface(s) 480 may include wired or wireless transceivers for communicating via network 220, wireless LAN 215 or PAN 210.
The configuration of components of network device 400 illustrated in
The various components of network device 400 of
The exemplary process may include smart vending machine 100 presenting, via user interface 130, selections of products to be dispensed (block 500). In an implementation in which user interface 130 includes a touch screen display, the touch screen display may present a list of products available to dispense from smart vending machine 100, and user 105 may select one or more products by touching the listed product on the touch screen display.
Smart vending machine 100 receives the user selections of the product(s) to dispense (block 510) and dispenses the user-selected product(s) (block 520). In the implementation in which user interface 130 includes the touch screen display, user 105 may touch a selected product(s) on the touch screen display, and smart vending machine 100 may dispense the selected product(s) via product dispenser(s) 110. Prior to dispensing the selected products, user 105 may provide an appropriate payment to vending machine 100 that covers the cost of the product(s) to be dispensed.
Smart vending machine 100 stores information related to the user-selected product(s) in usage information (block 530) and reports the usage and inventory information via, for example, cellular network 205 (block 540). Smart vending machine 100 may accumulate and store usage information for each user 105 for a period of time prior to, or even subsequent to, reporting the usage to service provider data center 230. Vending machine 100 may identify user 105 based on, for example, manual identification by user 105, or based on a network address (e.g., a MAC address) associated with user 105's user device 120. Smart Vending machine 100 may additionally track the current product inventory based on each user 105's usage of machine 100.
Smart vending machine 100 receives, via cellular network 205, advertisements, coupons, and/or announcements that are based on vending machine 100's location (block 550) and may present the received advertisements and/or announcements via user interface 125 (block 560). Advertisement system 240 may target advertisements and/or coupons to smart vending machine 100 based solely on machine 100's known location, or based on an identity of a user 105 currently using machine 100. The identity of user 105 may be determined by smart vending machine 100 via user 105 manually entering their identity via user interface 125 or 130, via a manually or automatically generated electronic message sent via PAN network 210 (e.g., via Bluetooth), via a manually or automatically generated message sent via wireless LAN 215, via recognition of a network address (e.g., a MAC address) associated with user 105's user device 120, or via facial recognition applied to user 105's face. Advertisement system 240 may use various different targeting techniques for targeting ads or coupons to smart vending machine 100 or to user 105 that is using machine 100. For example, advertisements or coupons may be targeted to machine 100 based on the location of machine 100 in close proximity to other businesses.
Additionally, the advertisements, announcements or coupons may be presented to user 105 at user device 120 via cellular network 205. For example, vending machine 100 may obtain the telephone number associated with user 105's user device 120 (e.g., via manual entry by user 105, or via automatic retrieval from user device 120 via PAN 210 or wireless LAN 215). Vending machine 100 may supply the telephone number to advertising system 240 which may then send ads, announcements or coupons to user device 120 via cellular network 205 (e.g., via SMS messages).
The exemplary process may include smart vending machine 100 identifying an occurrence of a vending machine malfunction, outage or maintenance issue(s) (block 700). Many different machine malfunctions, outages, or maintenance conditions may arise during the operation of machine 100. Smart vending machine 100 may maintain an internal log of all of the various different malfunctions, outages or maintenance conditions that occur.
Smart vending machine 100 may identify an occurrence of a vending machine service call(s) (block 710). A servicing professional, when servicing machine 100 for general maintenance, or to fix a malfunction or outage, may manually enter the service call in machine 100. Alternatively, the servicing professional may connect to machine 100 via a device (e.g., via Bluetooth or Wi-Fi), and the device may automatically generate a record in machine 100 that includes details of the service call, and the maintenance or repair performed by the servicing professional. Additionally, in the event that servicing is performed from a remote device, the remote device may generate a record in machine 100 that includes details of the service call.
Smart vending machine 100 may report any vending machine malfunction, outage or maintenance issue(s) and any vending machine service calls via cellular network 205 (block 720). Smart vending machine 100 may report the vending machine malfunction, outage or maintenance issue(s), or the service call(s), to a reporting server(s) 265 of service provider data center 230.
Smart vending machine 100 may identify a vending machine sensor event(s) and report the event(s) via cellular network 205 (block 730). Smart vending machine 100 may include various types of sensors that detect certain conditions within, or within the vicinity of, machine 100. For example, smart vending machine 100 may include a temperature sensor, and may identify an instance when the detected temperature rises above a configurable value. As another example, smart vending machine 100 may include an accelerometer that detects when machine 100 undergoes violent motion such as, for example, an earthquake, falling over, or being impacted with an object during an attempt to steal internally stored products or cash.
Smart vending machine 100 may determine the vending machine 100's product inventory and usage (block 740), and report product inventory and usage data via cellular network 205 (block 750). Smart vending machine 100 may track all purchases by users, and maintain a running tally of the current inventories of the different products dispensed by machine 100. Smart vending machine 100 may, therefore, maintain data on current usage rates of each product currently in inventory.
The exemplary process of
The exemplary process may include smart vending machine 100 determining if user 105 wishes to have wireless LAN access for free (block 900). Smart vending machine 100 may offer wireless LAN access (e.g., Wi-Fi access) either for free, with conditions, or for a fee for a specified period of time to user device 120. The conditions associated with receiving free wireless LAN access may include user 105 agreeing to view one or more advertisements prior to being granted wireless LAN access for a certain period of time (e.g., 15 minutes). To determine whether user 105 wishes to receive free wireless LAN access in the vicinity of smart vending machine 100, machine 100 may ask via user interfaces 125 or 130. For example, in an implementation in which user interface 125 includes a touch screen display, touch screen display 125 may first request whether user 105 wishes to “connect via Wi-Fi hotspot?” with the option of selecting “Yes” or “No.” If user 105 touches “Yes” on touch screen display 125, then vending machine 100 may request whether user 105 wishes to have access to “Free Wi-Fi for 30 minutes?” with the option of selecting “Yes” or “No.” If user 105 touches “Yes” on touch screen display 125, then vending machine 100 permits user 105 at device 120 to connect to wireless LAN 215 for free for 30 minutes.
If user 105 at user device 120 indicates that they wish to receive access to wireless LAN 215 for free (YES—block 900), then smart vending machine 100 may send a user ID associated with user 105 and a location of machine 100 to advertisement system 240 via cellular network 205 (block 925). The identity of user 105 may be determined by smart vending machine 100 via user 105 manually entering their identity via user interface 125 or 130, via a manually or automatically generated electronic message sent via PAN network 210 from user device 120 (e.g., via Bluetooth), or via a manually or automatically generated message sent via wireless LAN 215 from user device 120.
Smart vending machine 100 may receive advertisements (Ads) targeted to the user from advertisement system 240 via cellular network 205 (block 930). Advertisement system 240 may use various different advertisement targeting techniques for targeting ads to smart vending machine 100 to user 105. For example, advertisements may be targeted to user 105 based on a profile of past vending machine usage of user 105 stored at DB server(s) 260. Advertisement system 240 may target ads to user 105 based on other factors. Smart vending machine 100 may provide the ads to user 105 at user device 120 and an authorization (e.g., a pass code or key) to access wireless LAN 215 for free for a time period (block 935). As further shown in
Smart vending machine 100 may determine if the time period has expired (block 940). The time period includes the configurable period permitted for the user to have free wireless LAN access before having to view additional advertisements. If the time period has expired (YES—block 945), then smart vending machine 100 may determine if user 105 wishes to continue receiving free access to wireless LAN 215 (block 945). Referring to
Returning to block 900, if user 105 at user device 120 indicates that he/she does not wish to receive free access to wireless LAN 215 (NO—block 900), then smart vending machine 100 may request payment information from user 105 for user to access wireless LAN 215 (block 905). If payment is received (YES—block 910), then smart vending machine 100 may issue authorization to user 105 to connect to wireless LAN 215 for a time period (block 920). The exemplary process may continue at block 940. If no payment is received from user 105 (NO—block 910), then smart vending machine 100 may deny wireless LAN access to user 105 at user device 120 (block 915). As shown in
The exemplary process of
The exemplary process may include smart vending machine 100 determining if a bar code object is in view of bar code reader/scanner 325 (block 1100). For example, as shown in
Smart vending machine 100 may identify user 105 based on the scanned/read bar code and may send a user identifier (ID) for user 105 to forecasting system 240 (block 1120). Smart vending machine 100, or DB server(s) 260, may maintain a table that associates a user identifier with a given bar code. Therefore, vending machine 100 may identify user 105 based on the scanned bar code, or vending machine 100 may send the scanned bar code values to DB server(s) 260 and may receive the user ID in response.
Smart vending machine 100 may receive, from forecasting system 240 via cellular network 205, vending product suggestions for the identified user based on user 105's previous vending machine usage (block 1130). Forecasting system 240 may access user 105's previous vending machine usage stored at DB server(s) 265 (sent previously at block 540 during one or more occurrences of the exemplary process of
Smart vending machine 100 may present, via user interface 125 or 130, the vending product suggestions to user 105 (block 1140).
Smart vending machine 100 may track and store user 105's usage of vending machine 100 (block 1150) and may report user 105's usage of vending machine 100 (block 1160). As user 105 purchases different products from vending machine 100, machine 100 may track and store those purchases for reporting to service provider data center 230.
The exemplary process of
The foregoing description of implementations provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. For example, while series of blocks have been described with respect to
Certain features described above may be implemented as “logic” or a “unit” that performs one or more functions. This logic or unit may include hardware, such as one or more processors, microprocessors, application specific integrated circuits, or field programmable gate arrays, software, or a combination of hardware and software.
No element, act, or instruction used in the description of the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
In the preceding specification, various preferred embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.