The present invention relates to providing real time data representing whether a store, shop, or other business is open to the general public.
Many stores display the open or closed status of the store via a sign. For example, the sign may display “closed” on one side and “open” on the opposite side. The sign may be positioned such that passersby may read and determine whether the store may be entered for business. More recently, many powered open signs comprise neon tubing shaped to spell the word “open.” When lit, passersby know the store may be entered for business.
Embodiments of the present invention include a method of compiling store data, including receiving a first store data by a server, wherein the first store data includes a store identifier and a current operating status corresponding to whether the business is open at the time the store data is sent.
Further embodiments of the present invention include a computer program product for compiling store data, including a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code including computer readable program code configured to receive a first store data, wherein the first store data includes a store identifier and a current operating status corresponding to whether the business is open at the time the store data is sent.
Further embodiments of the present invention include a system including a processor coupled with a memory, said memory comprising code executable by the processor, said code configured, when executed, to receive a first store data, wherein the first store data comprises a store identifier and a current operating status corresponding to whether the business is open at the time the store data is sent.
Several big box stores, such as Walmart are open 24/7. This allows the ultimate convenience for customers to shop at any time fitting for their schedule. On the other hand, most stores have a set closing time. Because the closing times of various stores differ, it becomes necessary for a shopper to determine whether the store is open before wasting traveling time to reach the store. Thus, many stores have begun to post their hours on the store window and online. However, sometimes unforeseen circumstances prevent the store from being open during standard hours. Therefore, many stores still use open signs to indicate whether the store has opened for the day.
These open signs are not synced with hours posted online. Therefore, a store may remain closed during normal operating hours due to sickness, inadvertence, or other unforeseen circumstances. Thus, the shopper may be led to believe that the store is open based on the online posting of the standard store hours. Once the shopper arrives at the store, the shopper may make the disappointing determination that the store was not yet open and that the shopper had wasted time traveling to the store. Thus, need exists to provide a system in which shoppers may be notified in real time whether the store is presently open and when the store will be opened if the store is closed during normal operating hours.
Furthermore, remaining closed during normal operating hours may damage the goodwill of a business due to inconvenience to the shopper. Thus, store owners may derive benefit from a system in which a message may be displayed, for example, explaining that the owner is sick and cannot open the store today. Receipt of this message by the shopper may mitigate any ill will caused by wasting time traveling to the store.
Furthermore, some store owners operate several stores or businesses. Therefore, a system that records when each store was opened would be beneficial for protecting the goodwill of each store. Thus, when a manager or other store representative has failed to open the store during normal business hours, the store owner may quickly arrange with another employee to open the store. Furthermore, the store owner may display a message to shoppers that the store will be open shortly. This may allow shoppers to remain in the vicinity for a short time, thus saving travel time away from and back to the store on another date.
For the purposes of the present application, the term “open” when used to reference the wording on an open sign includes the terms or phrases “open,” “welcome,” “thank you,” “have a seat,” “now” paired with another term, such as “now baking” and “now tanning,” and any other term used to invite customers into a place of business, including colloquial terms and foreign language equivalents of these terms.
For the purposes of the present application, the term “open sign” means any sign positioned on, in, or near a store that is used to communicate to onlookers that the store is open for business at the present time the open sign is looked upon. An open sign may include a simple light that indicates that the store is open, such as a green light communicating to shoppers to enter the store. In some embodiments, the light may be positioned to indicate the status of the store. Thus, when the light is on, the store is indicated to be open and when the light is off, the store is indicated to be closed. This indication may be based on the position of the light relative to the store. As such, the light may be on, in, or near the store or a store sign.
For the purposes of the present application, the term “electrical communication” means that electricity flows between the elements in electrical communication.
For the purposes of the present invention, the term “electronic communication” means that a signal comprising an encoded data is transmitted between the elements in electronic communication. The signal may be electrical, electromagnetic radiation, sonic, or any other signal means of transmitting data.
For the purposes of the present application, the terms “and” and “or” are to be construed as conjunctively or disjunctively such that the broadest meaning is portrayed.
For the purposes of the present application, the term “power status” refers to the power status of the lighting, the openable path of the circuit, the on/off state of the switch, or any other power status that correlates to the power status of the lighting. In this manner, any of these power statuses may be used to approximate whether the store is presently open based on the power status of the open light.
The detailed description set forth below in connection with the appended drawings is intended as a description of various embodiments of the invention and is not intended to represent the only embodiments in which the invention may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of the invention. However, it will be apparent to those skilled in the art that the invention may be practiced without these specific details. In some instances, well known structures and components are shown in block diagram form in order to avoid obscuring the concepts of the invention.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a controller, a general purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which executed via the processor of the controller or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct the controller, the computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto the controller, a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the controller, other programmable apparatus or other devices to produce a controller implemented process such that the instructions which execute on the controller or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The following description is provided to enable any person skilled in the art to practice the various embodiments described herein. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments. Thus, the claims are not intended to be limited to the embodiments shown herein, but are to be accorded the full scope consistent with each claim's language, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” All structural and functional equivalents to the elements of the various embodiments described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. §112, sixth paragraph, unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for.”
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a method, system, or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product on a computer-usable storage medium having computer-usable program code embodied in the medium.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. Aspects of the invention were chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
Furthermore, open sign 100 may comprise an electronic circuit (not illustrated in
The lighting 104 may comprise a neon tube light configured to spell the term “open.” In other embodiments, “open” may be spelled with separate light emitting diodes (LEDs), on a liquid crystal display (LCD) screen, a cathode ray tube (CRT), on a flat panel screen or monitor, or any other electronic means of displaying the term “open.” Further embodiments include use of a single light that to signal that a store is open. For example, a green light that resembles a traffic light may be used. The single light may not necessarily spell out any term, but may be positioned and configured such that a shopper recognizes the light to signify whether the store is open. Shoppers may readily recognize a light as signifying whether a store is open when the light is positioned in a store window or door or on the exterior of the store building at about window level. Furthermore, shoppers can recognize a light as signaling that a store is open when the light is positioned near a trademark of the store. As such, the light may be positioned on a billboard or exit ramp sign to signify that a corresponding store is open.
Internet connector 106 may comprise hardware such as a circuit configured as a wired or wireless internet adapter or other means of electronic communication. In some embodiments, this electronic communication may over internet connection. For example, the internet connector 106 may comprise an Ethernet jack for wired connection to a local router. In other embodiments, the internet connector 106 may comprise a wireless card. The wireless card may be connected to a local router, a local transmitter tower such as a radio tower, or a satellite. In some embodiments, the internet connector 106 may wirelessly connect directly to another computer or handheld device, such as a phone, watch, or tablet. In other embodiments, internet connector 106 may engage in electronic communication with another computer or device by infrared (IR) transmitter and receiver, Bluetooth connection, fiber optic connection, or any other connector for transferring electronic data. For example, the internet connector 106 may send a store data over Bluetooth connection to a computer or other device. The computer may then upload the store data to the server via internet connection 106. Additional embodiments include an internet connector 106 that is configured to send the store data over Bluetooth, infrared communication, etc. directly to the server.
Internet connector 106 may transmit data over the internet connection via analog or digital signal, UDP or TCP, http, https, ssh, ftp, sftp, etc., or any other means to transfer electronic data. For example, the internet connector 106 may comprise data, such as a device id. In some embodiments, internet connector 106 may also receive data, such as signals to power on and/or power off the store information sign.
In some embodiments, a wire and plug 108 may be present as a power source 110 to connect the circuit of the open sign 100 such that the circuit and elements thereof (e.g. the lighting 104, the internet connector 106) may be powered. In other embodiments, power source 110 may comprise a battery, generator, or other portable source of electricity. Power source 110 may provide alternating current or direct current.
In other embodiments, a switch 202 may be placed in series relationship with the power supply 110, lighting 104, and internet connector 106. The switch 202 may open and/or close the circuit such that the wire and plug 108 does not necessarily need to be unplugged and replugged. Furthermore, the operation of the internet connector 106 may send its device id and/or a “power on” signal upon powering the internet connector 106. When the switch is deactivated, the internet connector 106 may send a “power off” signal to the server. The server or other connected computer may then determine that the internet connector 106 and the sign 100 is powered off. Alternatively, the server may determine that the sign 100 is not powered if the internet connector 106 misses providing the power on data on its regular interval or if the server requests a data from the internet connector 106 and receives no response.
In some embodiments, a controller 204 may be present on the circuit 200. Thus, the controller 204 may be in series with the power supply 110, lighting 104, internet connector 106, and switch 202, if present, on circuit 200a. The controller 204 may be used to store data, such as the device id for the sign 100 or a message provided by the store owner. The controller 204 may also make and/or respond to requests of the server via the internet connector 106. In some embodiments, the internet connector 106 and the controller 204 may be integrally formed.
The respective elements (402, 404, 406, etc.) of the controller 204 may be embodied on the controller 204. The respective controls may be embodied as hardware circuits or may be software embodiments wherein program code, such as java, C++, etc., manipulates the hardware of a general purpose hardware circuit. Software embodiments may be implemented as low-level code or even as high level code operating within an operating system, such as unix, bsd, Microsoft Windows, iOS, etc.
For example, switch status receiver 404 may comprise a software configured to receive the status from the switch 202. This status may be a Boolean, integer, string, character, character, or any other variable, flag, type, or signal representing the power status of the switch 202. In some embodiments, power status means the status differentiation between a powered state of the switch 202 and an unpowered state of the switch 202. The powered state may refer to the switch 202 positioned in the “on” position, wherein the switch 202 closes the circuit 200 of the sign 100. Thus, the switch 202 in the powered on state may allow electrical current to flow through the circuit, which may thereby power one or more of the lighting 104, the internet connector 106, and the controller 204. The circuit 200 may be powered by alternating or direct current. The switch 202 may open the circuit 200 or a path of the circuit 200. In other embodiments, the switch 202 may open a portion of the circuit 200b. The portion of the circuit 200 that the switch 202 may open may be referred to as the openable circuit path 300. The switch 202 may provide the status to the switch status receiver 404. Alternatively, the switch status receiver may obtain the status from the switch status receiver 404.
In other embodiments, the switch status receiver 404 may comprise a hardware configured to measure the current, directly or indirectly, in the circuit 200 or in a portion of the circuit, such as the openable circuit path 300. For example, the switch status receiver 404 may comprise an ammeter on the openable circuit path 300. Of course, the switch status receiver 404 may comprise any hardware, software, or any combination of hardware and software used to determine whether the lighting is powered. For example, the switch status receiver 404 may comprise a circuit configured to provide the power status of the circuit or the power status of the switch upon the switch status receiver 404 receiving electricity. In some embodiments, the switch status receiver 404 may be integrally formed with the controller 204 and/or the internet connector 106.
Furthermore, the switch 202 may be positioned in an “off” position. This position may open the circuit 200 or a portion thereof such that electricity does not flow through the circuit 200 or the corresponding portion thereof, such as the openable path 300. Thus, the switch 202 may prevent electricity from powering one or more of the lighting 104, the internet connector 106, and the controller 204.
Controller 204 may comprise a processing unit (CPU), local memory, peripherals and interfaces, and a general purpose input/output (I/O) interface. The CPU may further comprise local storage. Local storage may be used to store variables, constants, etc. for complex calculations. Local memory may interface with the CPU via a memory interface. The memory interface may allow the CPU to store calculated values, variables, constants, or any other important electronic signal onto the physical local memory. The memory interface may include one or more direct memory access controllers. Of course, part or all of the local memory may be committed to program storage, in which data relevant to the operation of the program is stored. Program storage may also be organized into useful data structures such as a stack or heap. The peripherals and interface and the general purpose I/O interface may interface to external input or output devices. Examples of external input or output devices include any electronic device capable of sending or receiving an electronic signal such as keyboards, mice, printers, scanners, digital sensor, analog sensors, Ethernet, analog to digital converters, ADC, UART, USB, the internet connector 106, the lighting 104, the switch 202, etc.
Data storage 402, program storage, local memory, peripherals and interface, and general purpose I/O interface may be contained on the circuit board of the CPU. In other embodiments, any of these parts may be external to the CPU. Data storage 402 may store data such as the status of the switch 202 (activated and/or deactivated), the device id of the sign 100, a public internet protocol (IP) address of the sign 100, a local network IP address of the sign 100, a message, the store data 408, and/or any other data disclosed in the present application.
Data storage 402 may comprise any means of retaining electronic data in storage. Data storage 402 may comprise a circuit or hardware component, such as a hard drive, memory, compact disk, minidisk, DVD, magnetic tape, or other hardware unit configured for temporary or permanent storage of machine readable electronic data. In some embodiments, data storage 402 may comprise a software component in which the software component is configured to read, write, and/or edit the hardware of the data storage 402.
Transmission of the store data 408 may include transmission of at least the store identifier and status 414. In other embodiments, the store identifier, status 414, and other data, if present, may be transmitted independently. For the purposes of this invention, independent transmission of the store identifier and the status 414 is considered transmission of the store data 408. Transmission of the store data 408 may occur over internet connection. In some embodiments, transmission may occur when a computer, device, or server submits data, such as the store data 408, over the internet connection and the data is received, such as received by a computer, device, or a server.
The store data 408 may represent the set of associated data that correlates to one physical store. For example, the hardware Id, IP address, or any other distinguishing data may be correlated to the physical store such that a status and store identifier may be used together to indicate which physical store is open or closed. The device Id 410 may represent a hardware Id specific to one or more pieces of hardware on the sign 100. The store Id 412 may represent the physical store in which the sign 100 is located or represents. The status 414 may represent the status of the store, such as “open” or “closed” or may represent the power status of the circuit of the sign 100 such as “power on” or “power off” or any other Boolean or variable that is used to distinguish between these two power states of the power status. The message 416 may comprise any message set by a store owner or device authenticated as a store representative. The message may be transmitted to and displayed on other computers and/or devices. The store name 418 may comprise the name of the physical store, such as McDonald's store #1001. The message removal date 420 may represent the date on which the corresponding message 416 is to be deleted or made non-accessible to other devices.
The store data 408 may comprise a store identifier and a status 414 such that the store data 408 represents whether a physical store is open for business. In turn, the status 414 may represent the power status (e.g. on/off) of the lighting 104. This power status is a useful approximation of whether the physical store is open for business, because an employee may turn the lighting 104 on when the store opens and off when the store closes. The store identifier may comprise the store Id 412, device Id 410, device Id 410, the store name 418, phone number, etc., or any other unique store information. However, multiple respective store identifiers may be unique to each physical location, hardware Id, etc. such that the store data 408 can be differentiated between multiple respective physical stores.
The controller 204 may receive and/or store the status of the switch 202. In some embodiments, “receive” means that the switch 202 transmits the power status of the switch 202 electronically to the controller 204. In other embodiments, “receive” means that the controller 204 may detect the power status of the switch 202 or any portion of the circuit in series with switch 202. The status of the switch 202 may be a Boolean or any variable representation of the powered status and the unpowered status of the switch 202. For example, a string “yes” or “no” could be used to represent the power status of the switch 202. The controller 204 may request the power status from the switch 202 or may detect current in series with the switch, such as using an ammeter or any other detection via the gpio pin powering the lighting 104. In some embodiments, the controller 204 receives the power status of the switch 202 upon state change of the switch 202 or lighting 104 power status. Additional embodiments include generation and/or storage of the store data 408 on the controller 204. Subsequently, the store data 408 may be transmitted to a server via internet connector 106.
As depicted, store 500a may be open and thus sign 100a may be powered. Sign 100a may communicate a store data 408 over internet connection 508 via internet connector 106. The sign 100a may push the data to the server 502, which may then store the store data 408. In alternative embodiments, the server 502 may request the store data 408 from the sign 100a. The sign 100a may then provide the store data 408 to the server. In this example, the store data 408 may represent that the store 500 is presently open because the sign 100a is powered. As another example, store 500b may be closed. Therefore, sign 100b may be dark. The sign 100b may send a store data 408 that represents that the store 500 is not open to the server 502. The server 502 or other device may determine that the store data 408 relating to store 500b should represent that the store 500 is closed if the sign 100b becomes unresponsive. Thus, the server 502 or other device may alter the store data 408 to represent the determined closed status of the store 500.
A computer 504 and/or handheld device 506 may be used to query the server 502 for the status of the store 500. This may be useful to determine whether the store 500 is open for business at the immediate moment. In some embodiments, the computer 504 or handheld device 506 may directly query the store information sign, such as open sign 100, vacancy sign, or gas price sign, for its status 414. Alternatives include receiving a list of nearby stores from server 502 and querying each sign for its status 414 directly from computer 504 or handheld device 506.
If the computer 504 or handheld device 506 can be authenticated to represent a store representative, then the computer 504 or handheld device 506 may alter the store data 408 such that a message may be contained. For example, the message may communicate that the store 500 will open one hour late on the present date or a future date. The message may be stored on the server 502, such as within the store data 408 on the server 502. If the computer 504 or handheld device 506 is not authenticated as a store representative, the message may be displayed when a store data 408 is queried and obtained from the server 502.
The store data 408 may be stored entirely in the sign 100 or entirely in the server 502. In other embodiments, the store data 408 may be stored relationally over multiple devices and/or multiple locations. The computer 504 or handheld device 506 may request all or part of the store data 408 from the server 502 and/or the sign 100.
In some embodiments, internet connector 106 may engage in electronic communication with another computer 504 or device 506 by infrared (IR) transmitter and receiver, Bluetooth connection, fiber optic connection, or any other connector for transferring electronic data. For example the internet connector 106 may send the store data 408 over Bluetooth connection to a computer 504 or other device 506. The computer 504 may then upload the store data 408 to the server via internet connection 106. Additional embodiments include an internet connector 106 that is configured to send the store data 408 over Bluetooth, infrared communication, etc. to the server 502.
Also connected to the I/O bus 812 may be devices such as a graphics adapter 816, storage 818 and a computer usable storage medium 820 having computer usable program code embodied thereon. The computer usable program code may be executed, e.g., by the processor(s) to implement any aspect of the present invention, for example, to implement any aspect of any of the methods, processes and/or system components illustrated in
The storage 818 may store resources useful in implementing the features previously described. For instance, the storage 818 can store the computer instructions which, when executed, implement the functions of transmitting a store data, as in
Computer 504 or handheld device 506 may request the open status of a store from the server 502. In some embodiments, the computer 504 or handheld device 506 may display a map indicating the power status of the respective corresponding open signs 100 of stores on the map organized by address. For example, the store address 422 from the store data 408 may be used to coordinate the display of a marker of the location of the store on the map. This marker may further display the power status of the corresponding open sign 100 as an indication of whether the corresponding store is open or closed. For example, open stores may be indicated on the map by a green marker at the representative location on the map based on the address of the store and closed stores may be displayed as a red marker on the map. Alternatively, the store status may be displayed on screen when the marker is selected. The map view may be set to view an area having a one mile or less radius, a five mile or less radius, a ten mile or less radius, a 30 mile or less radius, or a 50 miles or less radius based on a selected location. In some embodiments, the selected location may be the location of the computer 504 or handheld device 506 that is requesting the store data, such as open status.
Furthermore, vacancy sign 900 may comprise an electronic circuit (not illustrated in
The lighting 904 may comprise one or more neon tube lights configured to spell one or more of the terms “vacancy” and “no vacancy.” In other embodiments, the term “no vacancy” may be spelled using a first light 904a to spell the term “no” and a second light 904b to spell the term “vacancy.” In other embodiments, “vacancy” or “no vacancy” may be spelled with separate light emitting diodes (LEDs), on a liquid crystal display (LCD) screen, a cathode ray tube (CRT), on a flat panel screen or monitor, or any other electronic means of displaying these terms. Further embodiments include use of a single light that to signal that a room is vacant in a hotel, motel, bed and breakfast, or other lodging arrangement (referred to as a lodging herein). For example, a green light that resembles a traffic light may be used. The single light may not necessarily spell out any term, but may be positioned and configured such that potential lodging seekers recognize the light to signify whether the lodging has a vacant room. Lodging seekers may readily recognize a light as signifying whether a room in a lodging is vacant when the light is positioned in a lodging window or door or on the exterior of the lodging building at about window level. Furthermore, lodging seekers can recognize a light as signaling that a lodging has available rooms when the light is positioned near a trademark of the lodging. As such, the light may be positioned on a billboard or exit ramp sign to signify that a corresponding lodging is open and/or has available vacancies.
Some embodiments of the present invention include the vacancy sign 900 configured to update the server 502 according to the status presented on the sign 900. In these embodiments, the server 502 is configured to receive and update store data 408 from the vacancy sign 900. Furthermore, when the physical store comprises a lodging, such as a hotel, the corresponding store data 408 may comprise a lodging information. This lodging information may comprise a vacancy status, a number of vacancies, a rental price per available room, etc. For example, if the sign 900 displays “vacancy” on the lighting, the server 502 may store or update the lodging vacancy status of the corresponding lodging in the lodging information. The sign 900 may interrupt the server 502 at predetermined intervals to update the lodging information, may interrupt the server 502 upon power on of the lighting 904, the first light 904a, or the second light 904b, or the server 502 may request the lodging vacancy status from the sign 900. The store data 408 may comprise one or more of the name of the lodging, the lodging store number, the lodging vacancy status, the lodging address, a message from the lodging owner, etc. For example, when “No Vacancy” is displayed, the lodging vacancy status can be updated to “no” or any other Boolean or representation that no rooms are available in the lodging. When “Vacancy” is displayed, the lodging vacancy status can be updated to “yes” or any other Boolean or representation that rooms are available in the lodging. In this manner, computers, laptops, cellular devices, controllers, etc. may request the lodging vacancy status from the corresponding lodging information as stored on the server 502. Other values, such as number of vacancies or prices, may be manually updated via computer 504 or handheld device 506 upon authorization.
In some embodiments, “No” (first light 904a) and “Vacancy” (second light 904b) can be on the same circuit or on separate circuits. If on the same circuit, first light 904a and second light 904b can be in series or in parallel. In embodiments with first light 904a and second light 904b on separate circuits, respective switches may operate power to first light 904a and/or lighting 904. In some embodiments first light 904a may be on a parallel circuit to second light 904b. Thus, first light 904a may not necessarily be in series with second light 904b. For example, first light 904a may be in series or parallel with internet connector 106 and/or controller 901 and may be in parallel with second light 904b. In another example, second light 904b may be in series or parallel with internet connector 106 and/or controller 901 and may be in parallel with first light 904a. Thus, when second light 904b is powered and first light 904a is not powered, the lodging information may be updated such that the lodging vacancy status is true. However, when first light 904a is powered, the lodging information may be updated such that the lodging vacancy status is false.
Computer 504 or handheld device 506 may request the lodging information from the server 502. In some embodiments, the computer 504 or handheld device 506 may display a map indicating vacancies in lodging on the map. For example, the lodging address from the lodging information may be used to coordinate the display of a marker of the location of the lodging on the map. The map view may be set to view an area having a one mile or less radius, a five mile or less radius, a ten mile or less radius, a 30 mile or less radius, or a 50 miles or less radius based on a selected location. In some embodiments, the selected location may be the location of the computer 504 or handheld device 506 that is requesting the lodging information.
Furthermore, gas price sign 1000 may comprise an electronic circuit (not illustrated in
The lighting 1004 may comprise one or more light emitting diodes (LEDs), a liquid crystal display (LCD) screen, a cathode ray tube (CRT), a flat panel screen or monitor, or any other electronic means of displaying these terms. Further embodiments include use of the lighting 1004 to signal the price of gas sold at a corresponding fueling station. Lighting 1004 may be positioned and configured such that potential gas purchasers recognize the light to signify the price of gasoline at the corresponding fueling station. Potential gas purchasers may readily recognize a lighting 1004 as signifying the price of fuel at a fueling station when the lighting 1004 is positioned in a gas station window, door, on the exterior of the fueling station building at about window level, or on a sign outside the fueling station that is visible from the road, or near a trademark of the fueling station that is near the road. As such, the lighting 1004 may be positioned on a billboard or exit ramp sign to signify that a corresponding fuel station is open and/or is selling gas for the displayed price. Furthermore, gas price sign 1000 may depict the price of multiple fuel prices, and therefore titles 1006a and 1006b may be placed near the corresponding lighting 1004a and 1004b that depicts the price of the corresponding fuel.
Of course, lighting 1004 may be provided a display price information via electrical communication with the optional internal controller 1001. This controller 1001 may be similar in all respects to controller 204 and may additionally communicate electronically the currently displayed price information via interrupt or upon request. The lighting 1004 may then display the corresponding numbers representing the price information. Furthermore, the price information may be electronically communicated from server 502 or from another computer 504 or other handheld device 506. Controller 1001 may compile and provide store data 408 to the server 502 over the internet connection 508 via electronic communication with internet connector 106. In embodiments wherein the store comprises a fueling station, the store data 408 may further comprise one or more fuel prices.
Some embodiments of the present invention include the gas price sign 1000 configured to update the server 502 according to the fuel price presented on the sign 1000. In these embodiments, the server 502 is configured to receive and update the store data 408 from the gas price sign 1000. Additionally, the store data 408 of a fueling station may comprise gas price data. Alternatively, the server 502 may receive gas price data separately from the store data 408. In further embodiments, the gas price sign 1000 may send gas price data to the server 502 separately from the remaining store data 408. For example, if the sign 1000 displays a gas price on the lighting 1004, the server 502 may store or update the gas price status of the fueling station in the fueling station information. The sign 1000 may interrupt the server 502 at predetermined intervals to update the fueling station information, may interrupt the server 502 upon power on of the lighting 1004 or change of the number presented by the lighting 1004, may interrupt the server 502 upon change of the display price of the lighting 1004, or the server 502 may request the gas price status from the sign 1000. This fueling station information may comprise one or more of the name of the fueling station, the fueling station store number, the fueling station gas price status, the fueling station address, a message from the fueling station owner, etc. For example, when a gas price is displayed, the fueling station gas price status can be updated to the corresponding displayed price of the lighting 1004. In this manner, computers, laptops, cellular devices, controllers, etc. may request the gas price status from the corresponding fueling station information as stored on the server 502. For example, the fueling station information may be selected by querying the address, name or other fueling station information.
Computer 504 or handheld device 506 may request the fueling station information from the server 502. In some embodiments, the computer 504 or handheld device 506 may display a map indicating gas prices of fueling stations on the map. For example, the fueling station address from the fueling station information may be used to coordinate the display of a marker of the location of the fueling station on the map. This marker may further display the gas price of the corresponding fueling station. Alternatively, the gas price may be displayed on screen when the marker is selected. The map view may be set to view an area having a one mile or less radius, a five mile or less radius, a ten mile or less radius, a 30 mile or less radius, or a 50 miles or less radius based on a selected location. In some embodiments, the selected location may be the location of the computer 504 or handheld device 506 that is requesting the fueling station information.
Furthermore, stores such as lodging may comprise store data 408 that comprises a vacancy status. Thus, lodging marker 1110 that is similar to the open store marker 1108 may be used to indicate that the main office of the lodging is currently open. However, when the main office of the lodging is currently closed, lodging marker 1110 may be depicted as the closed store marker 1106. Furthermore, lodging tag 1112 may be displayed to indicate the vacancy status of the lodging. The lodging tag 1112 could further include the number of vacancies and/or the asking rate for renting a room within the lodging. Thus, whether vacant rooms are available at the corresponding lodging may be conveyed.
Additionally, fueling stations, such as gas stations, propane stations, diesel stations, etc. may be depicted with fueling station marker 1114a and 1114b, which may appear as the open store marker 1108 when the convenience store of the fueling station is open. However, when the corresponding convenience store is closed, the fueling station marker 1114 may be depicted as the closed store marker 1106. Furthermore, fueling station tag 1116 may display the current price of one or more fuels provided by the fueling station. A selection may be provided to request the price of a different type of fuel.
Of course, multiple respective store data 408 may be stored on server 502, such as in a database, a file, a linked list, an array, a vector, etc. These may be stored on the hard drive or in memory or any other storage of the server 502. The respective store data 408 may correspond to respective store information signs, open signs 100, vacancy signs 900, and/or gas price signs 1000. An individual store data 408 may be selected from the server 502 by query based on one or more components of the store data 408. The components of the store data 408 may comprise the device Id 410, the store Id 412, the status 414, the message 416, the store name 418, the message removal date 420, the store address 422, the vacancy status, the lodging information, one or more components of the lodging information, the gas price data, and/or one or more of the fueling station data. The status 414 may comprise any of the open status, the vacancy status, and the gas price data of the corresponding store information sign. Thus, the store data 408 may be selected by the store address 422.
Searching and selecting one or more store data 408 may be accomplished by geofencing. For example, the position, location, or address of the computer 504 or device 506 may be determined by IP address, GPS, or any other means of determining an electronic data representing location. Alternatively, the position, location, or address may be provided by the computer 504 or handheld device 506. This position and a predetermined radius may establish an area (e.g. a geofence). This predetermined radius may be supplied by computer 504, handheld device 506, server 502, etc. The predetermined radius may be supplied by computer 504 or handheld device 506 or by server 504. Each of the addresses of the set within the geofence may be respectively queried from the multiple store data 408 of the server 502. The server 502 may return one or more components of the respective store data 408 corresponding to the selected address. The returned components of the store data 408 may be used to compile and present a representative map (e.g. the map view 1100) on the computer 504 or handheld device 506. As such, the returned store data 408 may be used to place the respective markers on the map view 1100, to determine the color of the markers 1106, 1108, 1110, 1114, and to determine the placement and information within the tags 1112 and 1116. In this manner, a map view depiction of a physical location corresponding to the store data 408 of one or more stores within the map view 1100 may be established.
For the purposes of the present application, “store information sign” comprises the open sign 100, the vacancy sign 900, or the gas price sign 1000.
For the purposes of the present application, “store map data” comprises an open status marker, a closed status marker, a fueling station marker, a lodging marker, and/or a popup.
For the purposes of the present application, “operating status” refers to value of the status 414 corresponding to whether the store 500 is open for business or closed.
For the purposes of the present application, “burst” when used to refer to receiving store data 408 means receiving a high number of store data 408 from multiple distinct users over a relatively short period of time, such as 3 store data 408 in one hour. In some embodiments, a burst includes receiving 5 store data 408 in one hour. Other embodiments also include receiving 7 store data 408 in one hour. Further embodiments include comparisons of bursts, wherein the burst including a greater number of store data 408 over the previous hour is authoritative.
For the purposes of the present application, “authoritative” when used to refer to a store data 408, means that the store data 408 has the greatest authority among conflicting store data 408 (e.g. operating statuses 414) that correspond to the same store 500.
For the purposes of the present application, increasing the authority of a store data 408 means that the server 502 can return the authoritative store data 408 queried using at least one store identifier. Authority can be determined by various factors described herein. Of course, increasing the authority of a store data 408 also includes increasing the authority of one or more portions of the store data 408 individually, such as increasing the authority of an operating status 414. Furthermore, authority can be determined among portions of store data 408. For example, a conflicting operating status 414 may be more authoritative than a confliction hours of operation.
Further embodiments of the present invention include a method of compiling store data 408 wherein a user may be authenticated by login via user interface, such as a mobile application, website interface, or other computer program interface. After the user provides an authenticating username and password, the user may enter store data 408 into corresponding fields of the user interface. In fact, the user may be an unaffiliated user, wherein the unaffiliated user is not an owner, manager, employee, or other affiliate of the store 500.
For example, the unaffiliated user may enter at least one identifying information of the store 500, such as a store name 418, a street address 422, a phone number, etc. by computer 504, mobile device 506, or other electronic device. Furthermore, the unaffiliated user may also enter a corresponding operating status 414 of the store 500. This operating status 414 can be based on the unaffiliated user's observations, such as an unaffiliated user's visit to a closed store 500. The unaffiliated user may then send the store data 408 (e.g. store identifier and operating status 414) from the computer 504 or electronic device 506 over the internet or other connection to the server 502. The server 502 may receive the store data 408 submitted by the unaffiliated user. The store data 408 submitted by the unaffiliated user may be received by the server 502 and may be stored by the server 502, such as in a relational database in memory, by hard drive, external storage, or other electronic storage.
As another example, the affiliated user may enter at least one identifying information of the store 500, such as a store name 418, a street address 422, a phone number, etc. by computer 504, mobile device 506, or other electronic device. Furthermore, the affiliated user may also enter a corresponding operating status 414 of the store 500. This operating status 414 can be based on the affiliated user's observations, such as an affiliated user's visit to a closed store 500, or based on the affiliated user's actions, such as opening the closed store 500. The affiliated user may then send the store data 408 (e.g. store identifier and operating status 414) from the computer 504 or electronic device 506 over the internet or other connection to the server 502. The server 502 may receive the store data 408 submitted by the affiliated user. The store data 408 submitted by the affiliated user may be received by the server 502 and may be stored by the server 502, such as in a relational database in memory, by hard drive, external storage, or other electronic storage.
Of course relational databases include relational database management systems, some of which may store databases by hard drive, such as mysql, postgre, etc. Additional relational databases include systems that store databases by memory, such as sqlite. Many relational databases store rows of information associated by a primary key, such as an id. Furthermore, one or more rows of information may be returned by a query matching the value of the primary key or a query matching the value of any column. For example, the store data 408 may be stored in a relational database and can include one or more columns for an Id 412 and/or 410, the store name 418, the store address 422, the operating status 414, as well as any other information relating to or corresponding to a store 500 disclosed herein. For example, the columns of the database may correspond to each portion of the store data 408. Upon receipt, the database may match any value of any column with one or more corresponding rows of store data 408.
In some embodiments, the user, affiliated and/or unaffiliated, may send and the server 502 may receive a geolocation data of the user's computer 504 or device 506. For example, html5, coupled with most modern web browsers, provides an interface whereby the server 502 may request the geolocation of the computer 504 or device 506. The web browser of the computer 504 or device 506, the location manager of the operating system of the computer 504 or device 506, or other programming API, may then send the geolocation data. The geolocation data can be determined by matching the location of the internet protocol address, matching the known locations of nearby wireless networks, etc. Upon receipt of the geolocation data, the server 502 may store the geolocation data relationally to the corresponding store data 408. When the geolocation data corresponds to a location that is near the store 500, such as within one block of the store 500, the store data 408 (“first store data”) may be more reliable than a second store data (similar to store data 408) sent from a faraway geolocation. Therefore, the first store data may be more authoritative than the second store data. For example, upon a user request for store data 408, the server 502 may provide the first store data rather than the second store data.
Additional embodiments include the server 502 configured to receive multiple corresponding store data 408. Furthermore, the authority of each corresponding store data 408 may be increased proportionally by the number of concurring store data 408. For an example using a one-to-one correlation, if five store data 408 correspond to one store 500 and two store data 408 have closed operating statuses 414 and three store data 408 have open operating statuses 414, then the server 502 may return an open operating status 414 when queried for the operating status 414 of a store 500 by store identifier. In some embodiments, operating statuses 414 may expire. For example, when several store data 408 are received from unaffiliated users within a relatively short time period, such as one hour, the recent store data 408 may be given greater authority than expired store data 408. Each of the store data 408 received before the hour time period may be expired. Thus, the server 502 may return the majority of concurring corresponding store data 408 from the short time period when queried for the operating status 414 based on a store identifier.
Additional embodiments of the present invention include compiling store data 408 wherein an affiliated user may be authenticated by login via user interface, such as a mobile application, website interface, or other computer program interface. After the affiliated user provides an authenticating username and password, the affiliated user may enter store data 408 into corresponding fields of the user interface. The affiliated user may be an owner, manager, employee, or other affiliate of the store 500 having authority on behalf of the store 500 to represent the operating status 414 of the store 500. For example, the affiliated user may enter at least one store identifier, such as a store name 418, a street address 422, a phone number, etc. by computer 504, mobile device 506, or other electronic device. Furthermore, the affiliated user may also enter a corresponding operating status 414 of the store 500. This operating status 414 can be based on the affiliated user's observations, beliefs, actions, etc., such as an affiliated user's presence at the corresponding store 500, unlocking one or more of the store 500 lobby doors, and/or turning on an open sign. The affiliated user may then send the store data 408 from the computer 504 or electronic device 506 over the internet or other connection to the server 502. The server 502 may receive the store data 408 submitted by the affiliated user. The store data 408 submitted by the affiliated user may be received by the server 502 and may be stored, such as in a relational database in memory, by hard drive, external storage, or other electronic storage. The store data 408 received from the affiliated user may be given more authority than the store data 408 received from an unaffiliated user. Of course, if the server 502 receives a many concurring store data 408 from multiple distinct users in a short period of time, this concurring store data 408 may be given greater authority than the store data 408 of the affiliated user.
In some embodiments, the server 502 may increase the authority of a store data 408 received from an open sign 100 above the authority of the store data 408 received from one or more unaffiliated users and can increase the authority above the authority of the store data 408 received from the affiliated user.
U.S. patent application Ser. No. 13/763,006 published as US20150172417 A1 discloses a lock that completes a circuit when in the locked position, the contents of which are fully incorporated herein by reference. This lock may be referred to herein as a “reporting lock.” Furthermore, whether the circuit is closed corresponds to whether a store 500 is open. For example, when the lock is locked, the circuit is closed, and the store 500 may be closed. Thus, the corresponding status 414 of the store data 408 may be closed. When the lock is unlocked the circuit is open, and the store 500 may be open. Thus, the corresponding status 414 of the store data 408 may be open. The reporting lock may send a lock status and/or a store data 408 to the server 502 via a connector similar to internet connector 106.
Embodiments of the present invention include receiving by the server 502 a store data 408 wherein the store operating status 414 corresponds to the position (locked or unlocked) of a lock having a detection circuit described above. Of course, the lock may include an internet connector 106 similar to that of the open sign 100 describe above. Thus, the lock may send the store data 408, including at least one store identifier and a store operating status 414, to the server 502. Alternatively, the circuit of the lock may be connected to an internet-connected device 506 or computer 504 that may send the store data 408 to the server 502.
When the store data 408 corresponding to the lock (referred to as “lock store data” herein) is received, the server 502 may give the lock store data greater authority than any store data 408 received from an unaffiliated user. However, the lock store data may be given less authority than store data 408 received from the open sign 100, when the lock is open. This may be, in part, because the lock may be unlocked without the store 500 necessarily being open. On the other hand, the store 500 is very unlikely to be open and locked, unless the lock circuit is erroneously reporting a locked position. Therefore, an open lock store data may be low authority and a closed lock store data may be high authority on the server 502.
Finally, the server 502 may have stored the scheduled normal operating hours 424 for one or more corresponding stores 500. For example, an affiliated user or unaffiliated user could submit the normal operating hours 424. The normal operating hours 424 could include holidays. Of course, the normal operating hours 424 may have the lowest authority when reporting the current operating status 414 of the corresponding store 500.
In some embodiments, a computer algorithm on the server 502 may be used to establish a hierarchy of authority of the received store data 408. Of course, the hierarchy may rank received store data 408.
In step 1203, the server 502 may receive the store data 408 submitted by the user. Of course, the term “server” also include multiple servers, instances of virtual servers, and cloud computing platforms, such as Amazon EC2, used as a host. The server 502 may store the received store data 408. In some embodiments, the server 502 may determine the authority of the store data 408, further explained with regard to
In step 1205, the server 502 may receive a query requesting a corresponding store data 408 using specified parameters. For example, minimum and maximum latitude and longitude (e.g. a geofence), category, one or more user specified tags, store name 418, etc. may be received as parameters. The server 502 may determine the authority of the stored store data 408 and may send the store data 408 having the greatest authority to the requester. For example, a user may request the operating status 414 of nearby stores by supplying a geofence as a parameter. The server 502 may return the corresponding operating statuses 414 having the greatest authority of for each store 500 having an address or coordinates within the geofence.
In step 1207, the server 502 may determine the authority of the store data 408 based on one or more factors. Example factors include: whether the store data 408 was received from an affiliated user, an unaffiliated user, a store information sign, an electronic door lock, etc.; whether the geolocation of the user is nearby the geolocation of the store 500 when the store data 408 was submitted by the user; whether the user has been reported as providing incorrect store data 408; and whether the user has been reported as providing correct store data 408. In some embodiments, the geolocation of the user is nearby the geolocation of a store 500 when the geolocation of the user is within one block of the store 500. In other embodiments, the geolocation of the user is nearby the geolocation of the store 500 when the geolocation of the user is within 50 meters of the store 500. In other embodiments, the geolocation of the user is nearby the geolocation of the store 500 when the geolocation of the user is within 100 meters of the store 500. Of course, when the geolocation of the user is nearby the geolocation of the store 500, the server 502 may increase the authority of the corresponding store data 408 received. If the user has previously provided incorrect store data 408, the server 502 may decrease the authority of subsequent store data 408 received from that user. If the user has previously provided correct store data 408, the server 502 may increase the authority of subsequent store data 408 received from that user. The correctness of store data 408 submitted by a user may be determined by providing a user interface allowing users, or unaffiliated users, to upvote correct store data 408 and to downvote incorrect store data 408. Step 1207 is further described with respect to
In step 1209, the server 502 may send the store data 408 having the greatest authority. The store data 408 may be sent to the requesting computer 504 or device 506 from which the server 502 received the query.
The method of
Step 1305 includes the server 502 making a store data 408 received from a store information sign (e.g. open sign 100) less authoritative than a locked status received from the reporting lock. Conflicting operating statuses 414 corresponding to an “open” open sign and a “locked” door may occur. Assuming no errors have occurred, a store data 408 indicating a “locked” door may have greater authority than a store data 408 indicating an “open” (or powered) open sign 100. This is because a store 500 may be unlikely to be open when the open sign 100 is powered yet all doors to the store 500 lobby locked.
Step 1307 includes the server 502 making a store data 408 received from an affiliated user (e.g. a user that is an owner, manager, or otherwise represents the store 500) less authoritative than the store data 408 received from the store information sign. Of course, the affiliated user may be validated by login authentication before accepting the received store data 408 as that of an affiliated user.
In some embodiments, the store data 408 and/or operating status 414 received from the affiliated user may be more authoritative than the store data 408 and/or operating status 414 received from the store information sign. In some embodiments, the later received store data 408, as between the affiliated user and store information sign, may have greater authority.
Step 1309 includes the server 502 making a store data 408 received from a high reputation unaffiliated user less authoritative than a store data 408 received from an affiliated user. A high reputation may be obtained by an unaffiliated user by providing store data 408 that matches the authoritative store data 408 returned by the server 502 when queried. Alternatively, a high reputation may be obtained by an unaffiliated user by providing store data 408 that matches the authoritative store data 408 when submitted by the unaffiliated user. Of course, additional reputation points may be added when the unaffiliated user is the first to submit the update and is later validated by one or more concurring store data 408 submissions. Each of these respective store data 408 may increase the unaffiliated user's reputation by one point. Of course, an unaffiliated user's reputation may be decreased by when other users report that the unaffiliated user's provided store data 408 is incorrect. Each instance of incorrect store data 408 may decrease the corresponding unaffiliated user's reputation by one point. In other embodiments, the user's reputation may be decreased by two or more points for each incorrect instance. In some embodiments, an unaffiliated user's reputation may be a high reputation when the unaffiliated user has at least fifty points. In other embodiments, a high reputation means that the unaffiliated user has at least one hundred points.
An unaffiliated user's reputation may also be increased based on metadata of the unaffiliated user's submitted store data 408. Because metadata may be specific to each individual submission of store data 408, the reputational increase may apply only to the corresponding submission. For example, the geolocation of the user's device may increase the user's store data 408. If a user's device geolocation is within a block of the geolocation of the store 500, the submitted corresponding store data 408 may be treated as if the user's reputation were at least one point higher. In other embodiments, nearby geolocation may increase the user's reputation by at least five points for the corresponding store data 408. Additional embodiments include temporarily increasing the unaffiliated user's reputation by at least ten points. A nearby geolocation may mean that the geolocation of the user's device is within one block of the geolocation of the store 500. In other embodiments, the respective geolocations may be 50 meters apart or closer. Alternate embodiments include the respective geolocations 100 meters apart or closer. Embodiments also include the respective geolocations 10 meters apart or closer. Some embodiments also include the respective geolocations 3 meters apart or closer. This distance may be selected based on the granularity of geolocations obtainable from the user's device.
Step 1311 includes the server 502 making a store data 408 received from an unaffiliated user having lower reputation than the store data 408 received from a high reputation unaffiliated user. The unaffiliated user may not necessarily have a high reputation. Of course, when multiple unaffiliated users without high reputation submit conflicting store data 408, the store data 408 concurring with the majority of submissions may have the greatest authority as between the unaffiliated users.
In step 1313, the server 502 may compare two parts of the store data 408 to determine the operating status 414. Thus, operating status 414 may be returned based on the operating hours 424 that correspond to the store 500, when no conflicting store data 408 is stored on the server 502. A store operating status 414 based on the operating hours 424 of the store 500 may have the least authority of any other operating status 414. Therefore, any operating status 414 received may have greater authority than the operating status 414 based on the operating hours 424. In some embodiments, however, an operating status 414 received from an unaffiliated user without high reputation may not necessarily have higher authority than the corresponding operating hours 424 of the store 500. In such embodiments, at least three matching operating statuses 414 from different, respective unaffiliated users may be required to increase the authority of the operating status 414 above the authority of the operating hours 424. In other embodiments, at least five matching operating statuses 414 may be required. Other embodiments include requiring at least seven matching operating statuses 414. Embodiments also include requiring at least one operating status 414.
The server 502 may send, upon query, a first store data 408, when available, wherein the first store data 408 corresponds to a burst of store data 408, when available. In some embodiments, a high level of multiple distinct unaffiliated users may include at least 7 users in one hour.
The reporting lock can send a lock closed store data 408 when each lock status of a store 500 lobby is locked, when available and when the concurring store data 408 received from the high level of multiple distinct unaffiliated users is not available.
The server 502 may send, upon query, a later received store data 408 received as the most recent status change from an open sign store data 408 and an affiliated user input, when the concurring store data 408 received from a high level of multiple distinct unaffiliated users and a closed lock store data 408 are not available.
The server 502 can send a store data 408 received from an affiliated user, when the concurring store data 408 received from a high level of multiple distinct unaffiliated users, the lock store data 408, and the open sign store data 408 are not available.
The server 502 can send a concurring store data 408 received from at least 2 distinct unaffiliated users, when the concurring store data 408 received from a high level of multiple distinct unaffiliated users, the closed lock store data 408, the open sign store data 408, the affiliated user store data 408 are not available, and the burst of unaffiliated user store data 408 are not available.
The server can send a store data 408 corresponding to the ordinary operating hours 424, when no alternative store data 408, or store operating status 414, is available.
Embodiments of the store data 408 also include the operating hours 424 of the store 500. For example, the operating hours 424 can include the respective opening and/or closing times for one or more of the discrete parts of the store 500, such as a lobby, drive thru, service center, sales department, etc. of the store 500 on one or more respective days of the week.
As explained above, the user may upload one or more parts of the store data 408 to the server 502. Many user's computers 504 and devices 506 contain a camera. Furthermore, many businesses post store information on signs, in store 500 windows, or on the store 500 building. Therefore, the user may take a picture of the posted store information and may upload the corresponding store data 408. For example, the user may take a picture of posted operating hours 424 on the side of the store 500. The user may upload the picture to the server 502. Then, the schedule of operating hours 424 may be obtained from the picture via optical character recognition (OCR). Furthermore, OCR is well-known and is explained in An Implementation of OCR System Based on Skeleton Matching, Ning L I, Computing Laboratory University of Kent at Canterbury United Kingdom August 1991, the contents of which are incorporated herein by reference. In some embodiments, the server 502 may use OCR to extract store data 408 from the uploaded picture. For example, the OCR program may recognize and extract corresponding days of the week, opening times, and closing times from the picture to compile the operating hours 424 of the store 500. In other embodiments, the computer 504 or device 506 may use OCR to extract store data 408 from the picture, and then the store data 408 may be uploaded to the server 502. Additionally, embodiments include uploading a picture that was taken using a camera, computer 504, or device 506 that is not the uploading device (e.g. taking the picture with a first device and uploading with a second device). Further examples include the server 502 receiving a picture of a gas price sign and using OCR to extract the types of fuel sold, the corresponding prices, the name of the gas station, and/or the trademark of the gas station from the user's computer 504 or device 506. Of course, the computer 504 or device 506 may perform the OCR of the store data 408 extraction and may upload the store data 408 to the server 502. In some embodiments, the geolocation of the user's computer 504 or device 506 may also be uploaded. The geolocation may be reverse geocoded to determine the address, or nearest address, closest to the user's location. Additionally, orientation of the computer 504 or device 506 (e.g. North, East, etc.) may also be uploaded with the picture. Using the uploaded picture, geolocation, and/or orientation, the nearest address may be determined and the associated uploaded store data 408 and/or picture may be associated with the correct physical store 500. In addition to operating hours 424 and gas prices, users may also take pictures of any store information that corresponds to part or all of store data 408, which can then be extracted from the picture. Additionally, users may take and upload pictures of parking lots or store lobbies that may be displayed by the server 502 as a representation of the crowdedness of the store 500 at that time. Furthermore, the timestamp of the picture may be used such that old pictures may be deleted rather than analyzed and stored. Old pictures may include pictures that are over 24 hours old with respect to gas station prices, over 1 week old with respect to weekly schedules, and/or over an hour old with respect to representations of the crowdedness of a store 500. The picture of the posted store information may be received by the server 502 from the device of an unaffiliated user or an affiliated user. This picture may also be taken by the affiliated or unaffiliated user's device.
Storing data, such as a store data 408, may occur by the server 502, computer 504, device 506, etc. and may include storing the data by hard drive, memory, processor, controller, or any other computer 504 hardware, device 506 hardware, or server 502 hardware.
The method of claim 1, wherein receiving the first store data comprises an open store status corresponding to a powered open sign; receiving a second store data comprising a closed store status from an affiliated user after receiving the open store status; sending a power off signal to the open sign.
Returning to