Systems And Methods For Tool Activation And Display Cabinet Locking

Information

  • Patent Application
  • 20250148057
  • Publication Number
    20250148057
  • Date Filed
    January 13, 2025
    3 months ago
  • Date Published
    May 08, 2025
    4 days ago
Abstract
Disclosed are systems and methods for tool activation and display cabinet locking. In one aspect, a method for activating a product is performed at the product. The product includes a power supply, a controller, a persistent memory coupled to the controller, and a radio module. The product is configured to be operable in a plurality of states, and a state of the product is in an inactivated state. The method includes receiving via the radio module an activation message and an authorization token. The method includes attempting to validate the authorization token based on a preset authorization information and the state of the product. The method includes, (i) when the validation is not successful, rejecting the activation message without changing the state of the product; and (ii) when the validation is successful, changing the state of the product from the inactivated state to an activated state.
Description
TECHNICAL FIELD

The present application relates to the field of tool activation and cabinet locking.


BACKGROUND

Retail theft is a large and growing problem accounting for over $100 billion in annual losses for US retailers in 2022 as stated by the National Retail Federation. Certain categories of products (e.g., articles of manufacture), such as power tools, represent a large portion of the losses due to the high value of the products combined with relatively easy approaches to resell stolen goods through e-commerce. Left with few options, retailers lock up high-theft items behind cases or cages, but this impacts legitimate consumer shopping experiences, increases retailer costs due to added labor, and decreases overall sales due to the significant consumer inconvenience.


SUMMARY

The present disclosure provides technical solutions to combat the problem of retail theft or after-purchase theft of valuable products (e.g., job-site theft of power tools).


One aspect of the present disclosure describes systems, devices, and methods that leverage short-range communication (e.g., Bluetooth) technology to embed controls into a product that render the product inoperable until the product has been activated (see, e.g., FIG. 1). The activation can be persistent or temporary (e.g., time-based for rentals). A product with persistent activation can subsequently be deactivated, for example, if the product was stolen. In some implementations, after the product has been activated, the product can be assigned to an owner (e.g., bound to a user account of a mobile application that is used to activate the product), who can lock or unlock the product at the owner's discretion. The product activation process disclosed herein does not prevent legitimate resale of the product, as the owner can de-assign the product from the owner's account and re-assign the product to another user account.


One aspect of the present disclosure describes systems, devices, and methods that leverage short-range communication (e.g., Bluetooth) technology to embed controls into an offline display case (e.g., display cabinet) that stocks products in a retail store. In some implementations, the controls that are embedded in the offline display case comprise controls that are integrated into a customized retail display case (see, e.g., FIG. 4) that is connected to a power supply and an electronic lock that is in a locked state (i.e., the display case is locked by default). When a user with a mobile device executing an application wants to retrieve a product from the display case, the embedded controls determine whether a user account of the application executing on the mobile device is a trusted (or authorized) account. When the embedded controls determine that the user account is a trusted account, the electronic lock changes from a locked state to an unlocked state (e.g., the retail case unlocks automatically, without user intervention) and the user may retrieve the product from the display case without having to ask a store attendant for help. In some implementations, the display case is equipped with a timer that changes the state of the lock from the unlocked state to the locked state after a predefined time period. In some implementations, the display case includes a door sensor that detects whether a door of the display case is open or close. In some implementations, the display case is configured to broadcast a status of the electronic lock and/or the cabinet door. In some implementations, the door unlocks and automatically opens and closes. In another aspect, the controls that are embedded in the offline display case comprise a display case control system (see, e.g., FIG. 5) that is installed on an existing piece of display case furniture, such as a display case that is currently used in a retail store. In some implementations, the display case is communicatively connected with a security camera system. The security system can be configured to trigger or tag the recording of the display case vicinity whenever a user is engaging with the electronic locking system of the display case. In some implementation, the display case is unlocked through a payment initiated through the user's mobile device.


The subject matter described herein is particularly pointed out and distinctly claimed in the concluding portion of this specification. Objectives, features, combinations, and advantages described and implied herein will be more readily understood upon consideration of the following detailed description of the invention, taken in conjunction with the accompanying drawings.





BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the various described implementations, reference should be made to the Detailed Description below, in conjunction with the following drawings. Like reference numerals refer to corresponding parts throughout the drawings.



FIG. 1 is a block diagram of a product validation and activation system in accordance with some implementations.



FIG. 2 is a schematic flow diagram of a process for activating a product in accordance with some implementations.



FIGS. 3A-3B are schematic flow diagrams of a process for activating a product in accordance with some implementations.



FIG. 4 is a block diagram of a display case security system in accordance with some implementations.



FIG. 5 is a block diagram of a display case security system including a display case control system in accordance with some implementations.



FIG. 6 is a schematic flow diagram of a process for unlocking a display case in accordance with some implementations.



FIGS. 7A-7C illustrate a flowchart diagram of method for activating a product in accordance with some implementations.



FIGS. 8A-8B illustrate a flowchart diagram of method for activating a product in accordance with some implementations.



FIGS. 9A-9C illustrate a flowchart diagram of method for unlocking an offline retail display case that stocks physical products, in accordance with some implementations.



FIG. 10 illustrates a flowchart diagram of method for unlocking an offline retail display case that stocks physical products, in accordance with some implementations.



FIG. 11 illustrates an offline retail display case in accordance with some implementations.





DETAILED DESCRIPTION


FIG. 1 is a block diagram of a product validation and activation system 100 in accordance with some implementations. The validation and activation system 100 includes a product 110, a mobile device 130, one or more communication networks 150, a validation server 160, and an activation server 180.


In some implementations, the product 110 is a tool, a toy, an electronic device, or other product that may be susceptible to theft, including retail theft and after-purchase theft. In some implementations, the product 110 is not capable of being connected to the internet. In some implementations, the product 110 is capable of being connected to the internet but does not require this capability in the product activation processes disclosed herein.


The product 110 includes one or more processors 112, memory 114 that is coupled to an optional controller 122, a radio module 116, and a power supply 120. The memory 114 includes persistent memory 115 that stores preset authorization information. In some implementations, the controller 122 controls operation of the product 110, and the processor 112 controls operations of the radio module 116. In some implementations, the controller 122 sets a state (e.g., a current state) of the product. In some implementations, the controller 122 stores a state (e.g., a current state) of the product in the persistent memory 115. In some implementations, the controller 122 and/or the processor 112 are part of the radio module 116. In some implementations, the controller 122 and/or the processor 112 are separate controller/processing modules. In some implementations, some functions of the controller 122 and/or the processor 112 are performed by a controller/processing module embedded in the radio module 116, and some functions of the controller 122 and/or the processor 112 are performed in a separate controller/processing module.


The persistent memory 115 retains stored information even in the absence of power being provided by the power supply 120. The power supply 120 can be a battery pack (e.g., a swappable battery pack for a cordless power tool) or an internal battery or other internal power supply that is capable of providing power to the product without the product being connected to an external power supply. In some implementations, the product 110 includes a security unit 124 for encrypting or decrypting messages.


The radio module 116 includes short-range communication capability 118. In some implementations, the radio module 116 includes a processor and memory. In some implementations, the radio module 116 performs the controller functions. In some implementations, the product 110 only has the radio module 116 including short-range communication capability 118 and controller 122 (e.g., in a system-on-chip (SOC) implementation). In some implementations, the radio module 116 does not use or require a separate controller. In some implementations, the radio module 116, the processor(s) 112, the controller 122, the memory 114 (and persistent memory 115), and the security unit 124 are all part of an SOC implementation (e.g., an all-in-one unit).


The security unit 124 may encrypt and decrypt messages between the product 110 and the validation and activation servers 160 and 180 using a unique private key, public/private keys (i.e., asymmetric cryptography), or other encryption/decryption strategies known or yet to be discovered. For example, a unique private key may be used to securely transmit encrypted messages between the product 110 and activation server 180 (although the encrypted transmissions would most likely be routed through the mobile device 130). The server 180 stores a private key for each product 110, and this key is only known to the product 110 and the server 180. No intermediary is privy to this key (especially not the mobile device 130). When the product 110 and the server 180 communicate messages (e.g., authorization request and authorization grant messages), the security unit 124 of the product 110 encrypts the message with its private key and passes the message to the mobile device 130. The mobile device 130 (which preferably cannot decrypt the message) passes the encrypted message to the server 180. The security unit 186 of the server 180 is able to decrypt the message using the unique private key. The security unit 186 of the server 180 uses this same unique private key to encrypt messages to the product 110 and sends the message to the mobile device 130 to relay to the product 110, which is able to decrypt the message using the security unit 124 and the unique private key. The product 110 may also communicate with the security unit 166 of the validation server 160 using encryption and decryption as described in the example above. The security unit 124 may be a module in memory 114 or a separate security module, configured to cause the processor 112 to implement the encryption and decryption functions described herein.


In some implementations, the processor(s) 112, the memory 114, the radio module 116, and the security module 124 are part of an adapter module corresponding to adapter module 100 described in any of the applications incorporated by reference in paragraphs [0001]-[0002] above (e.g., adapter module 100 described in FIGS. 1-30 and corresponding disclosure of U.S. patent application Ser. No. 18/830,424, and/or adapter module 100 described in FIGS. 1-35B and corresponding disclosure of U.S. patent application Ser. No. 18/610,033), the operations of which are not repeated here for the sake of brevity.


The validation server 160 includes one or more processors 162, memory 164, and a communications unit 168. The communications unit 168 of the validation server 160 includes long-range communication capability 170 (e.g., cellular technology and/or Wi-Fi mechanisms). The validation server 160 also includes a security unit 166 for encrypting and decrypting messages. The security unit 166 may be a module in memory 164 or a separate security module, configured to cause the processor 162 to implement the encryption and decryption functions described herein. The functions of the validation server 160 are described below with reference to FIGS. 2 and 3A-3B.


The activation server 180 includes one or more processors 182, memory 184, and a communications unit 188. The communications unit 188 of the activation server 180 includes long-range communication capability 190 (e.g., cellular technology and/or Wi-Fi mechanisms). The validation server 180 also includes a security unit 186 for encrypting and decrypting messages. The security unit 186 may be a module in memory 184 or a separate security module, configured to cause the processor 182 to implement the encryption and decryption functions described herein. The functions of the validation server 180 are described below with reference to FIGS. 2 and 3A-3B.


In some implementations, the validation server 160 and the activation server 180 are part of the same server system. In some implementations, the validation server 160 and the activation server 180 are distinct server systems. In some implementations, validation server functions are managed, configured, and/or specified by a third party that provides product validation services for OEMs (original equipment manufacturers) and retailers, and the activation server functions are managed, configured, and/or specified by one or more OEMs with respect to protected products manufactured by respective OEMs.


In some implementations, the validation server 160 and/or the activation server 180 correspond to server 130 described in any of the applications incorporated by reference in paragraphs [0001]-[0002] above (e.g., server 130 described in FIGS. 1-30 and corresponding disclosure of U.S. patent application Ser. No. 18/830,424, and/or server 130 described in FIGS. 1-35B and corresponding disclosure of U.S. patent application Ser. No. 18/610,033), the operations of which are not repeated here for the sake of brevity.


The mobile device 130 may be a user's personal mobile device 130. The mobile device 130 (with a processor 132 and a mobile application 136 stored in a memory 134) acts as a communication bridge between the product 110 and the validation and activation servers 160 and 180. The mobile device 130 and the application 136, however, are not “trusted” in that the communications (transmissions) they pass are encrypted. Encrypted (secured) communications are undecipherable (unencryptable, unreadable, and/or unusable) by the mobile device 130. This keeps the communications passed between the product 110 and the servers 160 and 180 secured and safe from hacking. Mobile devices include, but are not limited to smart phones, tablet or laptop computers, personal digital assistants (PDAs), smart cards, or other technology (e.g., a hardware-software combination) known or yet to be discovered that has structure and/or capabilities similar to the mobile devices described herein. The mobile device 130 preferably has an application (e.g., the application 136) running on it. The term “app” is used broadly to include any software program(s) capable of implementing the features described herein. The phrase “mobile device” can be assumed to include the relevant app unless specifically stated otherwise. Similarly, an “app” can be assumed to be running on an associated mobile device unless specifically stated otherwise. The mobile device 130 includes a communications unit 140, which includes mechanisms for both long-range communications (shown as the long-range communication capability 144 such as cellular, Wi-Fi, and/or other similar communication mechanisms) for communicating with the servers 160 and 180 and short-range communications (shown as the short-range communication capability 142 such as Bluetooth and/or other similar communication mechanisms) for communicating with the product 110.


The mobile device 130 and servers 160 and 180 are communicatively coupled to each other by one or more communication networks 150. The communication network(s) 150 are configured to convey communications (messages, signals, transmissions, and so forth). The communications include various types of information and/or instructions including, but not limited to, data, commands, bits, symbols, voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, and/or any combination thereof. The communication network(s) 150 use one or more communication protocols, such as any of Wi-Fi, Bluetooth, Bluetooth Low Energy (BLE), near-field communication (NFC), ultra-wideband (UWB), radio frequency identification (RFID), infrared wireless, induction wireless, ZigBee, Z-Wave, 6LoWPAN, Thread, 4G, 5G, and the like. Such protocols may be used to send and receive the communications using one or more transmitters, receivers, or transceivers. For example, hard-wired communications (e.g., wired serial communications) may use technology appropriate for hard-wired communications, short-range communications (e.g., Bluetooth) may use technology appropriate for close communications, and long-range communications (e.g., GSM, CDMA, Wi-Fi, wide area network (WAN), local area network (LAN), or the like) may use technology appropriate for remote communications over a distance (e.g., over the Internet). In general, the communication network(s) 150 may include or otherwise use any wired or wireless communication technology that is known or yet to be discovered.



FIG. 2 is a schematic flow diagram of a process 200 for activating a product 110 in accordance with some implementations. In accordance with some implementations of the present disclosure, products stocked in a retail store (e.g., a physical store or an online store) are in an inactivated state. An “inactivated” product is one that is non-functional (or non-operational) even though it is connected to a power supply and turned on. A consumer (e.g., associated with a mobile device 130) purchases a product through a retail point of sales (POS) or via an online e-commerce transaction. When the consumer is ready to activate the product, the purchase must be validated (e.g., by a server system) before the product can be activated.


In some implementations, the process 200 executes on a product 110, a mobile device 130 (e.g., associated with a respective consumer and executing the application 136 thereon, or an application that is associated with a manufacturer of the product, or an application that is associated with the retail store), a validation server 160, and an activation server 180.


The mobile device 130 launches (202) the application 136. The mobile device 130 scans (204), using short-range communication capability 142 of the communications unit 140, for a short-range communication device such as a Bluetooth device (e.g., radio module 116 or an adapter module) which is in the product 110.


The product 110 broadcasts (206), using short-range communication capability 118, a unique identifier for the product 110 (e.g., serial number) along with a unique authorization (auth) request. The mobile device 130 receives the unique identifier for the product 110 and the auth request via short-range communication capability 142. In some implementations, the broadcast may include the current state of the electronic lock (e.g., locked or unlocked), and/or the status of a door (e.g., open or closed) of a display case in which the product 110 is located. In some implementations, as an alternative to the scanning (204) and broadcasting (206) steps, a user may provide the unique ID to the application 136 by, for example, scanning a barcode or a QR code that is printed on the product 110 or manually entering the unique ID.


The mobile device 130 initiates (208) (e.g., via the user or consumer) an activation process using the application 136.


The mobile device 130 receives (210) a receipt code. For example, the mobile device 130 prompts the user to scan, using the mobile device 130, a barcode or a QR code that is printed on the purchase receipt or manually enter the receipt code.


The mobile device 130 encrypts (211) the unique product ID, the unique auth code, and the receipt code with the key for the mobile device.


The mobile device 130 sends (212), via the long-range communication capability 144, the unique identifier for the product and the auth request (that the mobile device 130 received from the product 110) along with the receipt code to the validation server 160 (or validation service). The unique identifier for the product, the auth request, and the receipt code are encrypted with the key for the mobile device 130.


The validation server 160 processes (214) the received data. In some implementations, the validation server 160 confirms, in accordance with the processing, that the receipt code is valid (e.g., the product 110 has been paid and not returned, or the receipt code has not previously been used in excess of the times permitted (e.g., one time)). In some implementations, the validation server 160 may call (communicate with) an external server/service (e.g., the retailer's server system) to verify the receipt and/or payment.


The validation server 160 sends (216) a request to the activation server 180.


The activation server 180 processes (218) the request from the validation server 160. In some implementations, the activation server creates (220) an auth grant which contains the auth request and encrypts the message (e.g., using security unit 186) with an encryption key unique to the product 110.


The activation server 180 associates (221) the product corresponding to the unique ID to the user account of the mobile application 136 that transmitted the auth request and receipt code in step 212.


The activation server 180 sends (222) (e.g., returns) the encrypted auth grant. In some implementations, the activation server 180 sends the encrypted auth grant directly to the mobile device 130. In some implementations, the activation server 180 sends the encrypted auth grant to the validation server 160, which then sends it to the mobile device 130.


The mobile device 130 establishes a connection with the product 110 and sends (224) the auth grant to the product 110.


The product 110 decrypts (226) the auth grant (e.g., using security unit 124) with its encryption key and validates that the auth request is valid (e.g., the auth request was issued by the product 110, the auth request was returned within a predefined amount of time, and has not been previously used). Once the validation is successful, the controller 122 changes (228) the state of the product from the inactivated state to an activated state, thus allowing the product to be used. In some implementations, activating the product (e.g., changing from the inactivated state to the activated state) includes setting by the controller 122 a flag 115 in the persistent memory 114 such that once the product 110 is activated, the activation process need not happen again.


In some implementations, there is a similar flow to deactivate the product (in which case the flag 115 gets unset).


In some implementations, the product activation can be set for a specific time period (e.g., 24 hours or 48 hours). The product 110 (e.g., via controller 122) can keep track of time and unset the activation flag when the time has expired.


In some implementations, the verification server 160 and activation server 180 are the same server. In some implementations the verification server 160 and activation server 180 are distinct servers. In some cases, the servers are services. In some implementations, the validation server 160 functions are managed, configured, and/or specified by a third party that provides product validation services for OEMs (original equipment manufacturers) and retailers, and the activation server 180 functions are managed, configured and/or specified by one or more OEMs with respect to protected products manufactured by respective OEMs.


In some implementations, the product 110 may broadcast (e.g., transmit) additional information such as battery status, run-time and usage data, device health, and/or error codes to the mobile device 130 via the short-range communication capability 118.


In some implementations, payment for the product 110 is made using the mobile device 130 (e.g., via application 136) and the activation process 200 is initiated when the payment is completed.


In some implementations, the retail store that sells the product 110 can activate the product 110 using its own device 130. For example, the retail store can have a POS (e.g., cash register) that executes the verification and activation process (one or more of steps 202-226) and sends the activation (228) to the product 110 during the checkout process.


In some implementations, the retail store may provide an override code instead of the receipt code.


In some implementations, the retail store may use its own mobile device 130 to request activation of the product 110 without going through the verification server 160 (e.g., the mobile device 130 of the retail store bypasses verification and proceeds straight to activation).


In some implementations, the same receipt code can be used multiple times (e.g., when multiple products are purchased as part of the same transaction).


In some implementations, the activation process that is described with reference to FIG. 2 can be passed onto different products 110 (e.g., a first product 110-1 and a second product 110-2). For example, a consumer may have a tool set that includes a first tool (e.g., a drill), a second tool (e.g., a circular saw), and a third tool (e.g., a reciprocating saw), but the activation process only allows for one tool to be used at any time. In this instance, the consumer can deactivate the first tool and activate the second tool after the first tool has been deactivated. In each case, a deactivation flow and an activation flow may be followed.


In some implementations, the activation message can include grants of additional features or capabilities. Using a power drill as an example product, in some instances, the drill can receive a message to upgrade it (unlock features) from a single- or two-speed drill into a variable speed drill.


In some implementations, the product activation process requires identity verification from a user of the mobile device 130.



FIGS. 3A-3B are a schematic flow diagram of a process 300 for activating a product in accordance with some implementations. In some implementations, some of the steps described in FIGS. 3A-3B can be used in combination with some of the steps described in FIG. 2.


In some implementations, the process 300 executes on a product 110, a mobile device 130 (e.g., associated with a respective consumer and executing the application 136 thereon, or an application that is associated with a manufacturer of the product, or an application that is associated with the retail store), a validation server 160, and an activation server 180.


The product 110 broadcasts (302) a unique ID and a unique auth request. The mobile device 130 launches (304) application 136 and scans (306) for devices (e.g., similar to steps 202-204 in FIG. 2). The mobile device 130 initiates (308) an activation process and obtains (310) a receipt code (e.g., similar to steps 208-210 in FIG. 2). The method proceeds with one of two alternative process flows: Option 1 (steps 312-324) or Option 2 (steps 326-332).


In the Option 1 process flow, the mobile device 130 sends data directly to the validation server 160. Specifically, the mobile device 130 sends (312) the receipt code to the validation server 160 for validation, and the validation server 160 verifies (314) the receipt code. Upon validating the receipt code, the validation server 160 returns (316) a validation token to the mobile device 130, which sends (318) a validation token to the activation server 180. The activation server 180 sends (320) the validation token to the validation server 160, which then verifies (322) the validation token, and sends (324) confirmation to the activation server 180 that the validation token is valid.


In the Option 2 process flow, the mobile device 130 sends data directly to the activation server 180. Specifically, the mobile device 130 sends (326) the receipt code to the activation server 180, which sends (328) the receipt code to the validation server 160 for validation. The validation server 160 verifies (330) the receipt code and, if valid, sends (332) a validation token to the activation server 180.


After step 324 or 332 (depending on the implementation), the activation server 180 associates (334) a product ID of the product 110 to a user account of the user. The activation server 180 creates and encrypts (336) an auth grant with a unique ID, an auth request, and activation parameters, and sends (338) the auth grant to the mobile device 130, which sends (340) the auth grant to the product 110 (similar to steps 220-224 in FIG. 2). The product 110 decrypts (342) the auth grant, reads the parameters sent with the auth grant, and activates (344) the product in accordance with the parameters (similar to steps 226-228 in FIG. 2).


Optionally, the product 110 sends (346) confirmation that the product has been activated to the mobile device 130, which sends (348) the confirmation to the activation server 180. The activation server 180 then records (350) that the product activation has been successful.



FIG. 4 is a block diagram of a display case security system 400 including a display case 410 configured to communicate with a mobile device 130, and a server 460 in accordance with some implementations.


The display case 410 includes one or more processors 412, memory 414, a radio module 416, and a power supply 420. In some implementations, the processor 412 controls operations of the radio module 116. In some implementations, the processor 412 and/or the memory 414 are part of the radio module 416. In some implementations, the processor 412 is a separate processing module. In some implementations, some functions of the processor 412 are performed by a processing module embedded in the radio module 416, and some functions of the processor 412 are performed in a separate processing module.


The radio module 416 includes short-range communication capability 418. In some implementations, the radio module 416 includes a processor and memory. In some implementations, the radio module 416 performs the processing functions. In some implementations, the display case 410 only has the radio module 416 including short-range communication capability 418 and processor 412 (e.g., in a system-on-chip (SOC) implementation). In some implementations, the radio module 416 does not use or require a separate processor. In some implementations, the radio module 416, the processor(s) 412, and the memory 414 are all part of an SOC implementation (e.g., an all-in-one unit).


In some implementations, the processor(s) 412, the memory 414, and the radio module 416 are part of an adapter module corresponding to adapter module 100 described in any of the applications incorporated by reference in paragraphs [0001]-[0002] above (e.g., adapter module 100 described in FIGS. 1-30 and corresponding disclosure of U.S. patent application Ser. No. 18/830,424, and/or adapter module 100 described in FIGS. 1-35B and corresponding disclosure of U.S. patent application Ser. No. 18/610,033), the operations of which are not repeated here for the sake of brevity.


In some implementations, the display case is connected to a power supply 420. For example, the power supply 420 can be an external power supply with a wired connection to the display case 410 or an internal battery or other internal power supply. In some implementations, the power supply 420 is an external power supply that is used to supply power to light the display case 410.


In some implementations, the display case includes an electronic lock 422 having a relay 424 (e.g., to engage or disengage a bolt or other locking mechanism to lock or unlock an access door of the display case 410) and a lock state sensor 426. The lock state sensor 426 is configured to detect a state (e.g., open or closed) of the electronic lock 422. In some implementations, the display case 410 includes a door sensor 428 that is coupled to a door of the display case 410. The door sensor 428 is configured to detect a state of the door (e.g., open or closed). In some implementations, the display case 410 includes a door closing mechanism 430 that is coupled to the door of the display case 410, configured to facilitate opening and/or closing of the door. For example, in accordance with the door sensor 428 indicating an open state of the door of the display case 410, the door closing mechanism 430 causes the door to close. For example, the door-closing mechanism can include a motor and one or more actuators.


The server 460 includes one or more processors 462, memory 464, and a communications unit 468. The communications unit 468 of the server 460 includes long-range communication capability 470 (e.g., cellular technology and/or Wi-Fi mechanisms). In some implementations, the server 460 includes a security unit 466 for encrypting and decrypting messages. The security unit 466 may be a module in memory 464 or a separate security module, configured to cause the processor 462 to implement the encryption and decryption functions described herein. The functions of the server 460 are described below with reference to FIG. 6.


In some implementations, the server 460 corresponds to server 130 described in any of the applications incorporated by reference in paragraphs [0001]-[0002] above (e.g., server 130 described in FIGS. 1-30 and corresponding disclosure of U.S. patent application Ser. No. 18/830,424, and/or server 130 described in FIGS. 1-35B and corresponding disclosure of U.S. patent application Ser. No. 18/610,033), the operations of which are not repeated here for the sake of brevity.


The mobile device 130 may be a user's personal mobile device 130. The mobile device 130 (with a processor 132 and a mobile application 138 stored in a memory 134) acts as a communication bridge between the display case 410 and the server 460. The mobile device 130 and the application 138, however, are not “trusted” in that the communications (transmissions) they pass are encrypted. Encrypted (secured) communications are undecipherable (unencryptable, unreadable, and/or unusable) by the mobile device 130. This keeps the communications passed between the display case 410 and the server 460 secured and safe from hacking. Mobile devices include, but are not limited to smart phones, tablet or laptop computers, personal digital assistants (PDAs), smart cards, or other technology (e.g., a hardware-software combination) known or yet to be discovered that has structure and/or capabilities similar to the mobile devices described herein. The mobile device 130 preferably has an application (e.g., the application 138) running on it. The term “app” is used broadly to include any software program(s) capable of implementing the features described herein. The phrase “mobile device” can be assumed to include the relevant app unless specifically stated otherwise. Similarly, an “app” can be assumed to be running on an associated mobile device unless specifically stated otherwise. The mobile device 130 includes a communications unit 140, which includes mechanisms for both long-range communications (shown as the long-range communication capability 144 such as cellular, Wi-Fi, and/or other similar communication mechanisms) for communicating with the server 460 and short-range communications (shown as the short-range communication capability 142 such as Bluetooth and/or other similar communication mechanisms) for communicating with the display case 410.


The mobile device 130 and server 460 are communicatively coupled to each other by one or more communication networks 150. The communication network(s) 150 are configured to convey communications (messages, signals, transmissions, and so forth). The communications include various types of information and/or instructions including, but not limited to, data, commands, bits, symbols, voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, and/or any combination thereof. The communication network(s) 150 use one or more communication protocols, such as any of Wi-Fi, Bluetooth, Bluetooth Low Energy (BLE), near-field communication (NFC), ultra-wideband (UWB), radio frequency identification (RFID), infrared wireless, induction wireless, ZigBee, Z-Wave, 6LoWPAN, Thread, 4G, 5G, and the like. Such protocols may be used to send and receive the communications using one or more transmitters, receivers, or transceivers. For example, hard-wired communications (e.g., wired serial communications) may use technology appropriate for hard-wired communications, short-range communications (e.g., Bluetooth) may use technology appropriate for close communications, and long-range communications (e.g., GSM, CDMA, Wi-Fi, wide area network (WAN), local area network (LAN), or the like) may use technology appropriate for remote communications over a distance (e.g., over the Internet). In general, the communication network(s) 150 may include or otherwise use any wired or wireless communication technology that is known or yet to be discovered.



FIG. 5 illustrates a block diagram of a display case security system 500 including a display case control system 505 configured to communicate with a display case 410 and a mobile device 130, and a server 460 in accordance with some implementations.


Systems 400 (FIG. 4) and 500 (FIG. 5) are similar, except the display case control system 505 and the power supply 520 are independent modules. In some implementations, the control system 505 is a “kit” that is installed on or inside of a display case 410 (e.g., in order to retrofit an offline display case). For example, the display case 410 can be a standard piece of furniture that is commercially available and/or already exists in a retail store. In some implementations, the control system 505 and the display case 410 are connected to an external power supply 520. In some implementations, the lock control circuit 515 is configured to control the state of the electronic lock 422. Specifically, rather than the processor 412 directly controlling the electronic lock 422 as in system 400 (FIG. 4), the processor 412 sends instructions to the lock control circuit 515, which transmits those instructions to the electronic lock 422 via an adapter assembly. In some implementations, the radio module 416, the processor(s) 412, the memory 414, and the lock control circuit 515 are all part of an SOC implementation (e.g., an all-in-one unit).



FIG. 11 illustrates an offline retail display case 1100 in accordance with some implementations. In some implementations, the offline retail display case 1100 corresponds to display case 410 and includes internal electronics 1102 comprising the processor 412, memory 414, and radio module 416 as described above with reference to system 400 (e.g., implemented separately or as an SOC). In some implementations, the offline retail display case 1100 corresponds to display case 410 and includes internal electronics 1102 comprising the processor 412, memory 414, radio module 416, and lock control circuit 515 as described above with reference to system 500 (e.g., implemented separately or as an SOC).


The display case 1100 includes a lock 1104 corresponding to or communicatively coupled to an electronic locking mechanism (e.g., electronic lock 422 described above). In some implementations, the lock 1104 is the electronic lock 422. In some implementations, the display case 1100 includes a door sensor (e.g., 428) and a door closing mechanism (e.g., 430) (not shown in the figure). In some implementations, the display case 1100 includes an indicator 1106 (e.g., an LED) that indicates the lock status of the display case (e.g., red when locked and green when unlocked). In some implementations, the display case 1100 includes an identifier 1108 (e.g., a scannable barcode or QR code) that identifies the display case 1100, or more specifically, the electronics 1102, to the mobile device 130 and/or the server 460.



FIG. 6 is a schematic flow diagram of a process 600 for unlocking a display case 410 in accordance with some implementations. In some implementations, the process 600 executes at a display case 410 that is displayed at a retail store or in another environment in which products or goods are displayed and provided to end users, a mobile device 130 (e.g., associated with a consumer or other end user and each executing the application 138 thereon), and a server 460 that is managed by a retailer of the retail store. The server 460 includes the components and functionalities of the validation server 160, and/or the activation server 180. It should be apparent to one of ordinary skill in the art that the steps of the process described with respect to the display case 410 as implemented in system 400 (FIG. 4) are also applicable to the display case 410 as implemented in system 500 (FIG. 5).


The display case 410 broadcasts (602) a unique display case identifier and a unique authorization request (e.g., via radio module 416 using short-range communication capability 418).


In some implementations, the display case 410 broadcasts (603) a status of a lock (e.g., electronic lock 422) and a status of a door of the display case 410.


The mobile device 130 executing the application 138 receives the unique display case identifier and unique auth request via short range communication capability 142. The mobile device 130 sends (604), via the long-range communication capability 144, a request to the server 460 to establish a trusted relationship between a user account of the application and the server 460. The request includes the unique display case identifier, the unique authorization request, and a user identifier corresponding to the user account of the application.


The server 460 processes (606) the request. In some implementations, the server 460 determines, based on the user identifier corresponding to the user account of the application, whether the user identifier belongs to a user (e.g., a customer or a potential customer) that has a trusted relationship with the retailer of the server 460. In general, different retailers can have different parameters for establishing trusted relationships (e.g., accounts) with a customer or a potential customer. Exemplary parameters for establishing trust relationships include, and are not limited to, a customer having payment credentials with the retailer (e.g., a stored credit card or prepayment on file), a customer setting up a loyalty account with the retailer (e.g., the customer downloads an app of the retailer and registers an account), or a customer verifying their identity with the retailer (e.g., the customer sends a scanned copy of their ID to the retailer).


In some implementations, when the server 460 determines that the user identifier belongs to a user that has a trusted relationship with the retailer, the server 460 creates (607) a trusted token. For example, the trusted token can be an encrypted auth grant that includes the unique display case identifier and the unique authorization request). The server 460 sends (608) the trusted token to the mobile device 130 via long-range communication capability. The mobile device 130 sends (610) the trusted token and an unlock message to the display case 410 via short range communication capability 142.


The display case 410 (e.g., the radio module 410) processes (612) the trusted token and the unlock message.


When the display case 410 determines that the trusted token (and the unlock message) is valid, the display case 410 unlocks (614) the electronic lock 424. This enables the user of the mobile device 130 to retrieve the item(s) they would like to purchase from the display case 410 and pay for the item(s) at checkout.


In some implementations, the display case 410 is configured to broadcast (616) a state of the electronic lock 422 (e.g., whether the electronic lock is in its status (open or close) via the short-range communication capability 418 of the radio module 416.


In some implementations, the display case 410 is configured to broadcast (618) a status of a door of the display case 410 (e.g., open or close) that is detected by the door sensor 428 via the short-range communication capability 418 of the radio module 416.


For example, in some instances, the radio module 416 may determine, based on signals received from the door sensor 428 and the lock state sensor 426, that the display case door is open and the electronic lock is in the locked state. In this example, the radio module 416 can send a notification via short-range communication capability 418 to a mobile device associated with a store assistant, who can then check the display case 410 and/or close the door and set the electronic lock 420 to the locked state.


In some implementations, the unlocking of the electronic lock 424 triggers a timer that automatically locks (620) the electronic lock 424 after a predefined time period (e.g., 30 seconds, one minute, or two minutes) has elapsed.


In some implementations, the display case 410 is communicatively connected with a security camera system via short-range communication capability 418. In some implementations, the security camera system is configured to trigger recording of the display case 410 when the electronic lock is in an unlocked state.



FIGS. 7A-7C illustrate a flowchart diagram of method 700 for activating a product (e.g., product 110) (e.g., an offline product) in accordance with some implementations. The product includes (702) a power supply (e.g., power supply 120), a controller (e.g., controller 122), a persistent memory (e.g., persistent memory 115), and a radio module (e.g., radio module 116). In some implementations, the product has short-range communication capability (e.g., short-range communication capability 118) via the radio module and does not have long-range communication capability. In some implementations, the product has both short- and long-range communication capabilities, but does not require the long-range communication capability for the product activation processes disclosed herein.


The power supply 120 provides (704) power to the product without the product being connected to an external power supply. For example, the power supply can be a battery pack (e.g., a swappable battery pack for a cordless power tool) or an internal power supply or an internal battery that is capable of providing power to the product without the product being connected to an external power supply.


The controller 122 is configured to control (706) operation of the product, including setting a state (e.g., a current state) of the product to any of a plurality of states. In some implementations, the controller is powered by the power supply. The plurality of states includes an inactivated state in which one or more functions of the product are inoperable, and an activated state in which the one or more functions of the product are operable.


In one example, the product is a power tool. The functions of the power tool can include drilling cutting, shaping, grinding, and/or polishing. In another example, the product is an air fryer. The functions of the air fryer can include broiling, roasting, dehydrating, and reheating. In some implementations, the functions of the product are also referred to as product features or product capabilities. In some implementations, a product can include optional features and/or expansion features. In some implementations, the optional features and/or expansion features can be activated in accordance with the processes disclosed herein.


In accordance with some implementations disclosed herein, “activating” a product associates the product (or causes the product to be associated) with a user account of the application 136, or a user account of an application associated with the product manufacturer, or a user account of an application associated with the retail store where the product is purchased. An inactivated product is one that is not associated with any user account.


In some implementations, a product that is stocked in the retail store is in an inactivated state and can be activated (e.g., via the processes described in FIGS. 2 and 3A-3B). In some implementations, an activated product can be deactivated. A deactivated product is one that is not associated with any user account and can be (re)-activated. In some implementations, re-activating a product causes the product to be re-associated with the same usual account as that of the initial (or previous) product activation. In some implementations, re-activating a product causes the product to be re-associated with a different user account from that of the initial (or previous) product activation.


In some implementations disclosed herein, an owner of an activated product can deactivate the product (i.e., dissociate the product from their user account) and transfer ownership of the product to a new owner. The new owner can then activate the product, thereby causing the product to be associated with the new owner's user account.


In some implementations, the plurality of states includes a locked state and an unlocked state. A product that is in a locked state is an activated device that is locked for use, but only the authorized user can unlock it (or cause the device to change from the locked state to the unlocked state.


With continued reference to FIG. 7A, the persistent memory 115 is coupled to the controller 122. The persistent memory 115 stores the state (e.g., a current state) for the product. According to the implementations disclosed herein, the persistent memory 115 retains stored information in absence of power being provided by the power supply 120.


The radio module 116 is (712) configured to receive and transmit short-range wireless messages without use of wide area network communications. For example, the short-range wireless messages are Bluetooth messages. The short-range wireless messages are not internet messages. The wide area networking communications include the internet. In some implementations, the radio module is powered by the power supply. In some implementations, the radio module comprises a low power radio to prevent it from draining the power supply.


In some implementations, the radio module 116 is (714) configured to broadcast the state of the product 110.


In some implementations, the product 110 is (716) provided in a retail environment (e.g., retail setting) (e.g., for sale) in the inactivated state.


In some implementations, the product is (718) one of: a tool, a toy, or an offline electronic device. In some implementations, the product does not have any long-range communication capability (i.e., is not capable of connecting to the internet). In some implementations, the product has long-range communication capability and does not require this capability to perform any of the product activation processes disclosed herein.


Referring to FIG. 7B, in some implementations, prior to receiving via the radio module the activation message and the authorization token, the controller 122 is (720) configured to transmit, to an electronic device (e.g., mobile device 130) that is communicatively connected to the radio module via short-range communication, a unique identifier (e.g., serial number) of the product and a unique authorization request (auth request). See, e.g., FIG. 2 at step 206.


When the state of the product is (722) the inactivated state, the product receives via the radio module an activation message and an authorization token. See, e.g., FIG. 2 at steps 222 and 224.


In some implementations, the product 110 receives (724) via the radio module 116 the activation message in conjunction with a purchase/receipt of the product by a consumer (e.g., buyer, purchaser, user) of the product.


In some implementations, the product 110 receives (726) via the radio module 116 the activation message from an electronic device via short-range communication. The electronic device is located in proximity to (e.g., within a Bluetooth range of) the product. See, e.g., FIG. 2 at step 224.


In some implementations, the activation message is (728) provided by an activation server (e.g., activation server 180) in response to an inquiry from a mobile application associated with the activation server. See, e.g., FIG. 2 at steps 216, 218, and 220.


The product 110 (e.g., the controller 122) attempts (730) to validate the authorization token based on the state of the product being the inactivated state.


When the validation is not successful, the controller 122 rejects (732) the activation message without changing the state of the product.


When the validation is successful, the controller 122 changes (734) the state of the product to the activated state. In some implementations, the controller 122 causes the radio module 116 to transmit an activation success message. The activated product is associated with (e.g., bound to, registered to) the user account of the mobile application that transmits the activation message and the authorization token (se, e.g., FIG. 2 at step 221).


In some implementations, when the validation is successful, the persistent memory 115 stores (736) a flag indicating that the product is in the activated state (e.g., so that the activation process need not happen again when the registered user uses the product).


Referring to FIG. 7C, in some implementations, after changing the state of the product to the activated state, and in response to a short-range wireless message received by the radio module from the electronic device, the controller sets (738) (e.g., changes) the state of the product to: a deactivated state, a locked state, and/or an unlocked state.


In some implementations, the state of the product is (740) set by the controller to the unlocked state. The controller is further configured to change the state of the product from the unlocked state to the locked state after a predefined time duration.


In some implementations, the state of the product is (742) set by the controller to the unlocked state. The controller is further configured to change the state of the product from the unlocked state to the locked state after the product has been used for a predefined number of times.


Even though even though the product activation process that is described in FIGS. 7A to 7C discuss binding of the product to one user account, it will be apparent to one of ordinary skill in the art that in some implementations, the same product can be associated with (e.g., bound to or registered to) many user accounts at the same time. This scenario can occur, for example, in a job site setting where the same product can be used by multiple authorized users.


It should be understood that the particular order in which the operations in FIGS. 7A to 7C have been described is merely exemplary and is not intended to indicate that the described order is the only order in which the operations could be performed. One of ordinary skill in the art would recognize various ways to reorder the operations described herein. Additionally, it should be noted that details of other processes described herein with respect to other methods described herein are also applicable in an analogous manner to the method 700 described above with respect to FIGS. 7A to 7C.



FIGS. 8A-8B illustrate a flowchart diagram of method 800 for activating a product (e.g., an offline product) (e.g., product 110), in accordance with some implementations. Additional details of the method 800 can be found in FIGS. 1 to 7C and the accompanying descriptions, and are not repeated for the sake of brevity.


The method includes associating (802) the product with preset authorization information and storing the preset authorization information in a persistent memory (e.g., persistent memory 115) of the product.


In some implementations, the product includes (804) one or more radios (e.g., radio module 116) for receiving and transmitting short-range wireless messages.


The method includes distributing (806) the product for sale with a state of the product set to an inactivated state. The state of the product is selected from one or more states, including the inactivated state in which one or more functions of the product are inoperable; and an activated state in which the one or more functions of the product are operable. The state is stored in the persistent memory 115 of the product.


The method includes, in conjunction with an authorized sale of the product to a consumer (e.g., a purchaser, a buyer, or a user), providing (808) to an application that executes on a first electronic device of the consumer an authorization code for the product. In some implementations, the authorization code for the product is transmitted from a validation and/or activation server (e.g., validation server 160 or activation server 180).


In some implementations, the authorization code is (810) provided to the electronic device by an internet message transmitted by an authorization server (via long-range communication).


The method includes, in conjunction with an indication by the application that the consumer desires to activate the product, transmitting (812) to the product by the application an activation message and the authorization code.


In some implementations, the activation message and the authorization code are (814) transmitted to the product via messages transmitted by a radio (e.g., communications unit 140) of the electronic device using short-range communication.


In some implementations, the activation message is (816) provided by an activation server (e.g., activation server 180)) associated with the application. The activation server and the first electronic device are communicatively connected via long-range communication.


Referring to FIG. 8B, the method 800 includes, at the offline product, in response to receiving the activation message and the authorization code, attempting (818) to validate the activation code based on the preset authorization information and the state of the product being the inactivated state.


The method includes, when the validation is not successful, rejecting (820) the activation message without changing the state of the product, and


The method includes, when the validation is successful, changing (822), by the product (e.g., automatically and without user intervention), the state of the product to the activated state. In some implementations, the method includes causing (824) the product to transmit an activation success message.


In some implementations, changing the state of the product to the activated state includes associating (826) (e.g., binding, establishing a binding relationship, causing the product to be registered), by an activation server associated with the application, the product with a first user account of the application that executes on the first electronic device. For example, the activation server associates the unique identifier (e.g., serial number) of the product with the first user account.


In some implementations, the first user account is (828) associated with an initial user of the product.


In some implementations, the method includes, subsequent to the associating, receiving (830) by the activation server an internet message from the first electronic device. The internet message includes information of a second user account of the application that executes on a second electronic device, distinct from the first electronic device.


In some implementations, the second user account is (832) associated with a subsequent user that purchases the product from the initial user.


In some implementations, the method includes, in response to receiving the internet message, associating (834) by the activation server the product with the second user account of the application that executes on the second electronic device.



FIGS. 9A-9C illustrate a flowchart diagram of a method 900 for unlocking an offline retail display case (e.g., as implemented in system 400 and/or system 500) that stocks physical products, in accordance with some implementations. Additional details of the method 900 can be found in FIGS. 1 to 8B and the accompanying descriptions, and are not repeated for the sake of brevity.


The retail display case includes (902) a power supply (e.g., power supply 420 or external power supply 520), an electronic lock (e.g., electronic lock 422), and a radio module (e.g., radio module 416).


The power supply provides (804) power to the retail display case.


In some implementations, the power supply is (906) a wired power supply (e.g., a corded power supply that is connected to an electrical outlet).


In some implementations, the power supply is (908) a battery.


The electronic lock comprises (910) a state (e.g., a current state). The state is selected from one or more states including: a locked state, in which access to the physical products is prevented; and an unlocked state, in which access to the physical products is enabled.


In some implementations, the electronic lock is (912) selected from the group consisting of: a magnetic lock, an electromagnetic lock, a Bluetooth electronic lock, and a solenoid lock, and an electromechanical lock. For example, the electronic lock can be any electronic lock that is available off-the-shelf.


In some implementations, the retail display case comprises (814) a relay (e.g., relay 424) (e.g., an electrically operated switch) that is connected (e.g., electrically) to the electronic lock.


The radio module (e.g., a short-range transceiver) is (916) configured to receive and transmit short-range wireless messages without use of wide area network communications and to control the state of the electronic lock via a control signal output by the radio module. For example, the short-range wireless messages are Bluetooth messages; they are not internet messages. In some implementations, the radio module is a low power radio to prevent it from draining the power supply. In some implementations, the wide area networking communications include the internet.


In some implementations, the radio module includes (918) a processor (e.g., processor 412) and memory (e.g., memory 414).


In some implementations, the radio module is (920) configured to broadcast (e.g., periodically, over time, from time to time) short-range wireless messages specifying the state of the electronic lock. See, e.g., FIG. 6 at step 616.


In some implementations, the radio module is (922) configured to broadcast a unique identifier of the retail display case. See, e.g., FIG. 6 at step 602.


Referring to FIG. 9B, in some implementations, the method 900 includes, when the state of the electronic lock is the locked state, receiving (926) by the radio module of the display case an unlock message and a trusted token. See, e.g., FIG. 6 at step 610.


In some implementations, the radio module receives (928) the unlock message from an electronic device (from an application executing on the electronic device) (via a first transceiver of the electronic device with a short-range communication capability) that is located in proximity to the retail display case.


In some implementations, the radio module receives (930) the trusted token from an electronic device that is located in proximity to the retail display case.


The radio module validates (932) the trusted token.


When (e.g., in accordance with a determination by a processor of the radio module) the validation is not successful, the radio module rejects (934) the unlock message without changing the current state of the electronic lock, and


When the validation is successful, the radio module changes (936) the state of the electronic lock from the locked state to the unlocked state.


In some implementations, the validation is successful when the trusted token identifies (938) a user of the electronic device as either an authorized consumer or an authorized store personnel. For example, in some implementations, the user of the electronic device is deemed (e.g., by a server of the retailer that houses the retail display case) when have a loyalty account with the retailer, or status/relationship with the retailer, or payment credentials (e.g., stored credit card or prepayment on file), or when they verify their identity (e.g., by transmitting to a server of the retailer a copy of their ID).


In some implementations, the user of the electronic device is (940) an authorized consumer who receives the trusted token from a merchant (or a retail store) that is hosting the retail display case.


In some implementations, the user of the electronic device is (942) an authorized consumer who receives the trusted token from an activation service of a merchant that is hosting the retail display case.


With continued reference to FIG. 9C, in some implementations, the radio module, after changing the current state of the electronic lock to the unlocked state, changes (944) (e.g., automatically, without user intervention) the current state of the electronic lock from the unlocked state to the locked state after a predefined time duration (e.g., X seconds, Y minutes, or a predefined time duration that is specified by the retailer).


In some implementations, the radio module transmits (946) a short-range wireless message to a camera (e.g., a security camera) in proximity to the retail display case when (whenever) the current state of the electronic lock changes from the locked state to the unlocked state.


In some implementations, the retail display case includes a door sensor (e.g., door sensor 428) coupled to a door of the retail display case. The radio module is configured to broadcast (948) short-range wireless messages specifying a state of the door, wherein the state of the door comprises a door open state and a door close state. See, e.g., FIG. 6 at step 620.



FIG. 10 illustrates a flowchart diagram of a method 1000 for unlocking an offline retail display case (e.g., display case 410) that stocks physical products, in accordance with some implementations. Additional details of the method 900 can be found in FIGS. 1 to 9C and the accompanying descriptions, and are not repeated for the sake of brevity.


The method 1000 is performed (1002) at a display case control system (e.g., display case control system 505) comprising a radio module (e.g., radio module 416) configured to receive and transmit short-range wireless messages without use of wide area network communications (e.g., using short-range communication capability 418), a lock control circuit (e.g., lock control circuit 515) that is electrically coupled to an electronic lock (e.g., electronic lock) of the offline display case 410, one or more processors (e.g., processor 412), and memory (e.g., memory 414). The electronic lock includes a state (e.g., a current state) that is either a locked state or an unlocked state.


The display case control system receives (1004) via the radio module an unlock message and a trusted token.


The display case control system validates (1006) the trusted token.


When the validation is not successful, the display case control system rejects (1008) the unlock message without changing the state of the electronic lock.


When the validation is successful, the display case control system changes (1010) the state of the electronic lock (e.g., from the locked state to the unlocked state).


Note that the various implementations described above can be combined with any other implementations described herein. The features and advantages described in the specification are not all inclusive and, in particular, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes and may not have been selected to delineate or circumscribe the inventive subject matter.


It should be noted that relative terms are meant to help in the understanding of the technology and are not meant to limit the scope of the invention. Similarly, unless specifically stated otherwise, the terms used for labels (e.g., “first,” “second,” and “third”) are meant solely for purposes of designation and not for order or limitation. The term “short” in the phrase “short-range” (in addition to having technology specific meanings) is relative to the term “long” in the phrase “long-range.”


The terms “may,” “might,” “can,” and “could” are used to indicate alternatives and optional features and only should be construed as a limitation if specifically included in the claims.


It should be noted that, unless otherwise specified, the term “or” is used in its nonexclusive form (e.g., “A or B” includes A, B, A and B, or any combination thereof, but it would not have to include all of these possibilities). It should be noted that, unless otherwise specified, “and/or” is used similarly (e.g., “A and/or B” includes A, B, A and B, or any combination thereof, but it would not have to include all of these possibilities). It should be noted that, unless otherwise specified, the terms “includes” and “has” mean “comprises” (e.g., a device that includes, has, or comprises A and B contains A and B, but optionally may contain C or additional components other than A and B). It should be noted that, unless otherwise specified, the singular forms “a,” “an,” and “the” refer to one or more than one, unless the context clearly dictates otherwise.


It is to be understood that the inventions, examples, and implementations described herein are not limited to particularly exemplified materials, methods, and/or structures. It is to be understood that the inventions, examples, and implementations described herein are to be considered preferred inventions, examples, and implementations whether specifically identified as such or not.


The terms and expressions that have been employed in the foregoing specification are used as terms of description and not of limitation, and are not intended to exclude equivalents of the features shown and described. While the above is a complete description of selected implementations of the present invention, it is possible to practice the invention using various alternatives, modifications, adaptations, variations, and/or combinations and their equivalents. It will be appreciated by those of ordinary skill in the art that any arrangement that is calculated to achieve the same purpose may be substituted for the specific embodiment shown. It is also to be understood that the following claims are intended to cover all of the generic and specific features of the invention herein described and all statements of the scope of the invention that, as a matter of language, might be said to fall therebetween.

Claims
  • 1. A product, comprising: a power supply that provides power to the product without the product being connected to an external power supply;a controller configured to control operation of the product, including setting a state of the product to any of a plurality of states, the plurality of states including: an inactivated state in which one or more functions of the product are inoperable; andan activated state in which the one or more functions of the product are operable;a persistent memory coupled to the controller that stores the state for the product;a radio module configured to receive and transmit short-range wireless messages without use of wide area network communications;wherein, when the state of the product is the inactivated state and the product receives via the radio module an activation message and an authorization token, the controller is configured to: attempt to validate the authorization token based on the state of the product being the inactivated state; andwhen the validation is not successful, reject the activation message without changing the state of the product; andwhen the validation is successful, change the state of the product to the activated state.
  • 2. The product of claim 1, wherein: prior to receiving via the radio module the activation message and the authorization token, the controller is configured to: transmit, to an electronic device that is communicatively connected to the radio module via short-range communication, a unique identifier of the product and a unique authorization request.
  • 3. The product of claim 1, wherein the radio module is configured to broadcast the state of the product.
  • 4. The product of claim 1, wherein the product is provided in a retail environment in the inactivated state.
  • 5. The product of claim 1, wherein the product is one of: a tool, a toy, or an offline electronic device.
  • 6. The product of claim 1, wherein the product receives via the radio module the activation message in conjunction with a purchase/receipt of the product by a consumer of the product.
  • 7. The product of claim 1, wherein the product receives via the radio module the activation message from an electronic device in proximity to the product.
  • 8. The product of claim 7, wherein the controller is further configured to: after changing the state of the product to the activated state, and in response to a short-range wireless message received by the radio module from the electronic device: set the state of the product to: a deactivated state, a locked state, and/or an unlocked state.
  • 9. The product of claim 8, wherein: the state of the product is set by the controller to the unlocked state; andthe controller is further configured to change the state of the product from the unlocked state to the locked state after a predefined time duration.
  • 10. The product of claim 8, wherein: the state of the product is set by the controller to the unlocked state; andthe controller is further configured to change the state of the product from the unlocked state to the locked state after the product has been used for a predefined number of times.
  • 11. The product of claim 1, wherein the activation message is provided by an activation server in response to an inquiry from a mobile application associated with the activation server.
  • 12. The product of claim 1, wherein: when the validation is successful, the persistent memory stores a flag indicating that the product is in the activated state.
  • 13. A method, comprising: at a product that includes a power supply, a controller, a persistent memory coupled to the controller, and a radio module, wherein the product is configured to be operable in a plurality of states and a state of the product is in an inactivated state: receiving via the radio module an activation message and an authorization token;attempting to validate the authorization token based on the state of the product being the inactivated state;when the validation is not successful, rejecting the activation message without changing the state of the product; andwhen the validation is successful, changing the state of the product from the inactivated state to an activated state.
  • 14. A method for activating a product, comprising: associating the product with preset authorization information and storing the preset authorization information in a persistent memory of the product;distributing the product for sale with a state set to an inactivated state, wherein the state is selected from one or more states including: the inactivated state in which one or more functions of the product are inoperable; andan activated state in which the one or more functions of the product are operable, and wherein the state is stored in the persistent memory;in conjunction with an authorized sale of the product to a consumer, providing to an application that executes on a first electronic device of the consumer an authorization code for the product;in conjunction with an indication by the application that the consumer desires to activate the product, transmitting to the product by the application an activation message and the authorization code;at the product, in response to receiving the activation message and the authorization code: attempting to validate the authorization code based on the state of the product being the inactivated state;when the validation is not successful, rejecting the activation message without changing the state of the product; andwhen the validation is successful, changing the state of the product to the activated state.
  • 15. The method of claim 14, wherein the product includes one or more radios for receiving and transmitting short-range wireless messages.
  • 16. The method of claim 14, wherein the activation message and the authorization code are transmitted to the product via messages transmitted by a radio of the first electronic device.
  • 17. The method of claim 14, wherein the authorization code is provided to the first electronic device by an internet message transmitted by an authorization server.
  • 18. The method of claim 14, wherein the activation message is provided by an activation server associated with the application, wherein the activation server and the first electronic device are communicatively connected via long-range communication.
  • 19. The method of claim 14, wherein changing the state of the product to the activated state includes: associating, by an activation server associated with the application, the product with a first user account of the application that executes on the first electronic device.
  • 20. The method of claim 19, further comprising: subsequent to the associating, receiving by the activation server an internet message from the first electronic device, the internet message including information of a second user account of the application that executes on a second electronic device, distinct from the first electronic device; andin response to receiving the internet message, associating by the activation server the product with the second user account of the application that executes on the second electronic device.
  • 21. The method of claim 20, wherein: the first user account is associated with an initial user of the product; andthe second user account is associated with a subsequent user that purchases the product from the initial user.
PRIORITY CLAIM AND RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent Application No. 63/620,674 (filed Jan. 12, 2024), which is hereby incorporated by reference in its entirety. This application is also a continuation-in-part of U.S. patent application Ser. No. 18/610,033 (filed Mar. 19, 2024), which is a continuation of U.S. patent application Ser. No. 17/443,802 (filed Jul. 27, 2021), which is a continuation of U.S. patent application Ser. No. 16/934,933 (filed Jul. 21, 2020), each of which is hereby incorporated by reference in its entirety. This application is related to U.S. patent application Ser. No. 18/643,965 (filed Apr. 23, 2024), Ser. No. 18/952,804 (filed Nov. 19, 2024), Ser. No. 18/888,102 (filed Sep. 17, 2024), Ser. No. 18/830,424 (filed Sep. 10, 2024), Ser. No. 18/952,778 (filed Nov. 19, 2024), Ser. No. 18/951,218 (filed Nov. 18, 2024), Ser. No. 18/197,070 (filed May 14, 2023), Ser. No. 18/197,071 (filed May 14, 2023), Ser. No. 18/643,979 (filed Apr. 23, 2024), Ser. No. 18/888,036 (filed Sep. 17, 2024), and Ser. No. 18/636,314 (filed Apr. 16, 2024), each of which is hereby incorporated by reference in its entirety.

Provisional Applications (1)
Number Date Country
63620674 Jan 2024 US
Continuations (2)
Number Date Country
Parent 17443802 Jul 2021 US
Child 18610033 US
Parent 16934933 Jul 2020 US
Child 17443802 US
Continuation in Parts (1)
Number Date Country
Parent 18610033 Mar 2024 US
Child 19019281 US