Gateway-based anti-theft security system and method

Information

  • Patent Grant
  • 10540872
  • Patent Number
    10,540,872
  • Date Filed
    Tuesday, January 30, 2018
    6 years ago
  • Date Issued
    Tuesday, January 21, 2020
    4 years ago
Abstract
Improved systems and techniques are disclosed for controlling the security states of anti-theft security systems such as product display assemblies using security fobs. The tasks relating to fob authentication are offloaded to a computer system, and these authentications can be based on identifiers for the different security fobs. The computer system can maintain a list of identifiers for authorized security fobs that is easily updated when new security fobs are added to or existing security fobs are de-authorized from the system.
Description
INTRODUCTION

Many products such as electronic devices (particularly hand-held electronics such as smart phones, tablet computers, digital cameras, etc.) are displayed in retail stores at individual post positions on countertop or wall-rack displays. A product display assembly at each post position is typically employed to facilitate the presentation of these products to customers. The product display assembly typically includes a puck assembly and a base assembly. A product such as an electronic device is mounted on a surface of the puck assembly, and the puck assembly engages with the base assembly when the puck assembly is at rest. To accommodate a capability for a customer to hold or take a closer look at the electronic device, the puck assembly can be lifted from its rest position. A tether may be employed to keep the puck assembly connected with the base assembly when the puck assembly is in the lift position, but this need not necessarily be the case.


Product display assemblies typically include security systems that will trigger alarms when actions such as an improper removal of the product from the puck assembly or an improper movement of the puck assembly occur. These security systems are often configured to be switchable between an armed state and a disarmed state. When in an armed state, the security system will trigger an alarm when unauthorized actions occur. When in a disarmed state, the security system is disabled.


Hand-carried keys have been developed that allow retail store personnel to arm or disarm the security systems of the product display assemblies. These keys can be referred to as “key fobs” or “security fobs”. With a conventional security fob, the security fob and the product display assembly are programmed to have matching codes (an “arm/disarm” code). This programmable code effectively turns the security fob into an electronic key that fits an electronic lock on the product display assembly so that the security fob can arm or disarm the product display assembly's security system.


However, this conventional approach to security fobs results in a practical problem that relates to the turnover in personnel at a retail store. To reduce the risk of a security fob being used in an unauthorized manner, retail store managers desire a mechanism for controlling which security fobs are authorized to control the security states of one or more product display assemblies. As an example, when an employee discontinues employment, a store manager will need to delete, reset, and/or reprogram the code in the security fob that had been used by that discontinued employee. A similar reprogramming effort may be needed for the product display assemblies in the store as well. Given the relative frequency of changes in store personnel, this need for frequent reprogramming efforts leads to inefficiency.


To solve these problems of inefficiency, disclosed herein are solutions where authentication tasks are performed by a computer system such as a server that is remote from the security fobs and the product display assemblies. A security fob that is to be used for controlling the security status of a product display assembly can communicate its identifier to the computer system, whereupon the computer system will make a determination based on the communicated identifier as to whether the security fob is authorized for controlling the product display assembly's security status. The computer system can maintain a list of authorized security fob identifiers to facilitate this authentication task. If the computer system determines that the security fob is authorized, an authorization signal can be provided to the security fob that will cause the security fob to provide a code to the product display assembly that is effective to control the product display assembly's security status. In this fashion, the computer system can serve as an authentication gateway for security fobs.


Moreover, with respect to an example embodiment, the product display assemblies need not necessarily know the identifiers for the authorized security fobs. Instead, the same common code for controlling security status can be shared by multiple security fobs and used to control security status for a plurality of product display assemblies. When the need arises to de-authorize an existing security fob or authorize a new security fob, these acts can be accomplished by updating the authorization list that is maintained by the computer system. Accordingly, the nature of interactions between security fobs and product display assemblies need not change as the population of authorized security fobs changes.


Also disclosed herein is a technique for permitting a security fob to perform a limited number of security control operations with respect to a product display assembly regardless of whether there has been an authentication of that security fob by the computer system. As an example, one or more override tokens can be stored on a security fob. If the security fob is unable to establish a communication link with the computer system, the security fob can still provide the security code to the product display assembly so long as it has at least one stored override token. Each time an override token is used in this manner, the security fob would decrement its count of override tokens. Such an arrangement provides a level of failsafe operations when there is a need to control the security status of a product display assembly in situations when a wireless network or the like that links the security fobs with the computer system might be down.


These and other features and advantages of the present invention will be described hereinafter to those having ordinary skill in the art.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 discloses an example embodiment of a gateway-based authorization system for security fobs.



FIG. 2 shows an example embodiment of a security fob.



FIGS. 3A-F show example embodiments of a product display assembly.



FIGS. 3G-H show example embodiments of a puck assembly.



FIG. 4 shows an example embodiment of a computer system that provides an authentication service for security fobs.



FIG. 5 depicts an example of a process flow for a system in accordance with an example embodiment.



FIG. 6 depicts an example process flow for a software program for execution by the processor of a security fob to facilitate authorization.



FIG. 7 depicts an example process flow for a software authentication program for execution by the processor of the computer system of FIG. 4.



FIG. 8 depicts an example process flow for execution at least in part by a processor within security circuitry to control security status for a product display assembly in response to a security fob.



FIGS. 9A and 9B depict examples of how an authorization list maintained by the computer system can be managed.



FIG. 10 depicts an example of a process flow for a system in accordance with another example embodiment.



FIG. 11 depicts an example system diagram for carrying out the process flow of FIG. 10.



FIG. 12 depicts another example process flow for a software program for execution by the processor of a security fob to facilitate authorization.



FIG. 13 depicts another example process flow for execution at least in part by a processor within security circuitry to control security status for a product display assembly in response to a security fob.



FIG. 14 depicts another example process flow for a software authentication program for execution by the processor of the computer system of FIG. 4.



FIG. 15 depicts another example process flow for a software program for execution by the processor of a security fob to facilitate authorization.



FIG. 16 depicts another example process flow for execution at least in part by a processor within security circuitry to control security status for a product display assembly in response to a security fob.



FIG. 17 depicts another example process flow for a software authentication program for execution by the processor of the computer system of FIG. 4.



FIG. 18 discloses an example embodiment of a gateway-based authorization system for security fobs that can use the process flows of FIGS. 12-14.



FIG. 19 discloses an example embodiment of a gateway-based authorization system for security fobs that can use the process flows of FIGS. 15-17.



FIGS. 20-25 disclose example embodiments of security and related circuitry.





DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS


FIG. 1 discloses an example embodiment of a gateway-based authorization system for security fobs. The system can include a product display assembly 100 for cooperation with one or more security fobs 110 and a computer system 120.


The product display assembly 100 can serve as an anti-theft security system, and it can be used for presenting a product such as an electronic device 106 to consumers in a secure manner. As mentioned, examples of suitable electronic devices 106 can include hand-held consumer electronics such as smart phones, tablet computers, digital cameras, etc. The product display assembly 100 can include a security sensor 102 and security circuitry 104 that cooperate with each other to generate a security condition signal in response to detecting an event relating to a removal of the electronic device 106 from the product display assembly 100. The security circuitry 104 is controllable to be switchable between an armed state and a disarmed state based on receipt of a security code 116 from a security fob 110.


It should be understood that the security code 116 does not serve to uniquely identify a security fob 110. Instead, the security code 116 is a code that controls a security status for the security circuitry 104, where this security code 116 can be shared by several security fobs 110. As an example, the security code 116 can be a single toggle code that toggles the security circuitry 104 between an armed state and a disarmed state. However, the security code 116 may take the form of different codes based on a desired function (e.g., a first code for arming the security circuitry 104, a second code for disarming the security circuitry 104, etc.) if desired by a practitioner. Thus, it should be understood that security fobs 110 shown in FIG. 1 can be configured to generate a common security code 116 for use in controlling a security status for the security circuitry 104. As such, the security code 116 can be characterized as a security command that is used to control the security circuitry 104.


To authenticate security fobs, a computer system 120 is employed to communicate with the security fobs 110 and execute an authentication program 122. Each security fob can communicate an identifier 112 for that security fob to the computer system 120, and the computer system 120 can execute its authentication program 122 that matches the received fob identifier 112 against one or more fob identifiers on an authorization list 124. If the received fob identifier 112 matches a fob identifier on the authorization list 124, this means that the security fob in question is an authorized security fob, and the computer system 120 can communicate an authorization signal 114 to that security fob 110. In response to receipt of the authorization signal 114, the security fob 110 provides the security code 116 to the security circuitry 104. Accordingly, it should be understood that the security fob 110 is configured to condition its output of the security code 116 on receipt of an authorization signal 114 from the computer system 120.


In this fashion, the product display assembly 100 need not receive or process any unique identifiers for security fobs in order to assess whether a security fob is authorized to control the security status for the security circuitry 104. To control which security fobs 110 are authorized to control security status, a user needs to only update the authorization list 124 maintained by the computer system 120. Thus, as employees start or discontinue their employment at a retail store, no changes need to be made to the manner by which the security fobs 110 interact with the product display assembly 100 (e.g., the same security code 116 can continue being used); a manager needs to only change which security fob identifiers are included in the authorization list 124.



FIG. 2 shows an example embodiment of a security fob 110. The security fob 110 can take the form of a hand-held object that is capable of communicating with a product display assembly 100 and the computer system 120. The security fob can exhibit any of a number of shapes as would be understood by a practitioner. For example, the security fob 110 can be shaped in a manner similar to small hand-held thumb drives and the like. As another example, the security fob 110 can be shaped in a manner similar to a disk, a cylinder, or keyless entry devices for vehicles. In still other example embodiments, the security fob 110 can take the form of a badge or card or even a wireless computing device such as a smart phone or tablet computer (examples of which are discussed below).


The security fob 110 can include an interface 200, processor 202, memory 204, wireless I/O 206, and one or more lights 208 such as one or more light emitting diodes (LEDs), each enclosed or partially enclosed within a housing of some fashion such as a plastic or composite shell. These components can be configured to communicate with each other over a bus or similar interconnection. Furthermore, it should be understood that the security fob 110 need not necessarily include all of the components shown in FIG. 2; for example, a practitioner may choose to employ a security fob that does not include any light(s) 208. Likewise, it should also be understood that the security fob 110 may include additional components not shown in FIG. 2 (e.g., a power storage device such as a battery and/or one or more capacitors may be included with the security fob 110; and/or user input devices such as one or more buttons, etc. may be included with the security fob 110).


Through interface 200, the security fob 110 can communicate with the product display assembly 100. As an example, the interface 200 can be a physical connector for detachably connecting the security fob 110 with the product display assembly 100. As another example, the interface 200 can be a wireless connector for wirelessly connecting the security fob 110 with the product display assembly. The interface 200 can be any type of interface suitable for interfacing the security fob 110 with a complementary interface of the product display assembly 100 for the purposes described herein. For example, in embodiments where the interface 200 is a physical connector, this physical connector can be a physical connector that is compliant with a standard such the Universal Serial Bus (USB) standard (e.g., a mini-USB connector).


The processor 202 and memory 204 can be any hardware devices suitable for performing the operations described herein. As an example, the processor 202 can take the form of an Atmel SAMD21 microprocessor. The memory 204 can be integral to processor 202 and/or external to the processor 204.


The memory 204 can store the identifier 112 for the security fob 110. This identifier 112 is preferably a unique identifier (UID) that distinguishes the subject security fob 110 from other security fobs 110 within the system. This uniqueness can be uniqueness across a system such as within a given retail store or it can be uniqueness across a wider system (e.g., a chain of retail stores). At its widest extent, the uniqueness can be universal, in which case the UID can take the form of a universal UID (UUID). An example UUID code can be a multi-bit code (e.g., a 128-bit code), with a certain number (or set) of bits allocated to identify the manufacturer, another set of bits allocated to other information (for example, the time or date that the UUID code was burned onto the memory chip), and a third set of bits allocated for expressing a uniquely generated random number. Accordingly, the fob UUID 112 operates like a unique serial number and specifically identifies only one security fob 110.


The memory 204 can also store the security code 116. As noted above, the security code 116 is a code that controls a security status for the security circuitry 104. An example security code 116 can be a multi-bit code that is known by the security circuitry 104 such that receipt of the security code 116 by the security circuitry 104 from the security fob 110 causes a change in the security status of the security circuitry 104. In an example embodiment, the security code 116 can be a single code that toggles the security status of the security circuitry 104 (a “toggle” code, e.g., for toggling the security circuitry 104 between an armed state and a disarmed state). However, as explained above, it should be understood that the security code 116 could also take the form of different codes based on a desired function. For example, the security code 116 could include a first code for arming the security circuitry 104 and a second code for disarming the security circuitry 104). User control over which code is being used at a given time can be provided through a button or the like on the security fob 110. As another example, the security code 116 could also include a third code for clearing an alarm for the security circuitry. As yet another example, the security code 116 could include a first code for toggling between arming and disarming the security circuitry 104 and a second code for clearing an alarm for the security circuitry.


It should be understood that, unlike the fob identifiers 112 which will be different for each security fob 110 in the system, the security code 116 can be shared by all of the security fobs 110 in the system. Accordingly, because the security code 116 can be shared by multiple security fobs 110, there will be a minimal, negligible, or even non-existent need to reprogram the security fobs 110 and/or product display assemblies 100 with respect to the security code 116 as employees begin or end employment with a store.


The memory 204 can also store one or more software programs 214 for execution by processor 202. The software program(s) 214 can take the form of a plurality of processor-executable instructions that are resident on a non-transitory computer-readable storage medium such as memory 204. Example embodiments of software programs 214 are described below with reference to FIGS. 6, 12, and 15. Of note, software program 214 can be configured to condition any release or output of the security code 116 by the security fob 110 on the security fob receiving an appropriate authorization signal as discussed hereinafter.


The wireless I/O 206 provides wireless connectivity with remote systems such as computer system 120. The wireless I/O 206 can be any wireless communication device suitable for performing the operations described herein. As an example, the wireless I/O 206 can take the form of an Atmel AT86RF212B RF transceiver. Wireless transmissions can operate in any frequency range suitable for wireless communications. As an example, the wireless transmissions can operate in the 902 Mhz to 928 Mhz band which can enhance range and penetration. An example embodiment of a wireless network used by the system can support multiple channels (e.g., 10 channels with 2 Meg bandwidths) for optional environmental interference tweaking.


The light(s) 208 can take the form of any light source suitable for performing the operations described herein. As an example, the light(s) 208 can be a single LED that becomes illuminated whenever the security fob 110 successfully controls the security status of the security circuitry 104. As another example, the light(s) 208 can be multiple LEDs (which may be LEDs of different colors) that will be used to indicate to a user whether the security fob has been approved as an authorized security fob by computer system 120 (an illumination of a first LED) and to indicate a successful controlling action with respect to the security circuitry 104 (an illumination of a second LED). It should be understood that other combinations are possible to indicate different events if desired by a practitioner.



FIGS. 3A-C show various example embodiments of different types of product display assemblies 100 that can be used with the system. As noted above, the product display assembly 100 can include a puck assembly 302 and a base assembly 304. Electronic device 106 can be mounted on surface 306 of the puck assembly 302 so that the electronic device 106 can be securely displayed to customers in a store. The puck assembly 302 is moveable between a rest position and a lift position. When in the rest position, the puck assembly 302 contacts the base assembly 304, as shown in FIG. 3A. When in the lift position, the puck assembly 302 separates from the base assembly 304, as shown by FIGS. 3B and 3C. FIG. 3B shows an example embodiment where a tether assembly 308 is used to physically connect the puck assembly 302 with the base assembly 304, even when the puck assembly 302 is in the lift position. A security condition signal (e.g., to indicate an unauthorized removal of electronic device 106 from the puck assembly 302) can be communicated from the puck assembly 302 via the tether assembly 308 or via wireless communication (with the base assembly 304 or with some other system). FIG. 3C shows an example embodiment of a tetherless product display assembly 100. With the example of FIG. 3C, wireless communication 310 can be used to communicate a security condition signal from the puck assembly 302 to the base assembly 304 (or to some other system).


Examples of product display assemblies 100 that can be adapted for use in the practice of the embodiments described herein are disclosed in U.S. Pat. Nos. 8,558,688, 8,698,617, and 8,698,618 and U.S. Patent Application Publication Nos. 2014/0159898 and 2017/0032636, the entire disclosures of each of which are incorporated herein by reference.


For example, FIGS. 3D and 3E reproduce FIGS. 27 and 28 from incorporated U.S. Patent Application Publication No. 2017/0032636 and show an example product display assembly 100 that is further described in the 2017/0032636 publication. The product display assembly 100 shown by FIGS. 3D and 3E include a puck assembly 302, a base assembly 304, and a tether assembly 308. A power cable 312 provides an electrical connection between the puck assembly 302 and the electronic device 106 through which the electronic device 106 can be charged. The puck assembly 302 can receive power from a power source via the base assembly 304 when the puck assembly is at rest, as shown in FIG. 3D. Contacts included on the puck assembly and base assembly (see, e.g., contact 314 shown by FIG. 3E) can contact each other when the puck assembly is at rest, thereby forming an electrical connection through which power can be delivered from a power source (not shown) to the puck assembly via the base assembly and the electrical connection formed by the contacts. When the puck assembly 302 is lifted, the contacts lose contact with each other, thereby breaking the electrical connection. Optionally, a battery or other power storage device can be included in the puck assembly 302 to store power for use by the puck assembly 302 when the puck assembly is in the lift position.


As another example, FIG. 3F reproduces FIG. 8 from incorporated U.S. Pat. No. 8,698,617 and shows an example product display assembly 100 that is further described in the '617 patent. In this view, an example product display assembly 100 is shown in an exploded manner where various components of a puck assembly 302, a base assembly 304, and a tether assembly 308 can be seen.



FIG. 3G depicts an example puck assembly 302 that includes an interface 320, security sensor 102, and security circuitry 104. These components can each be enclosed or partially enclosed within a housing of some fashion such as a plastic or composite shell. These components can also be configured to communicate with each other over a bus or similar interconnection.


Interface 320 is for interfacing a security fob 110 with the puck assembly 302. Interface 320 can be an interface type that is complementary with the interface 200 of the security fob 110. For example, if the interface 200 is mini-USB connector, then interface 320 can be a complementary mini-USB connector. As another example, if the interface 200 is an RFID chip, the interface 320 can be an RFID reader.


The security sensor 102 can be one or more sensors that are adapted to detect events such as a removal of the electronic device 106 from the puck assembly 302 or other events that may indicate a possible security condition. An example security sensor 102 can be a pressure button included on the puck assembly surface 306 that is depressed when the electronic device 106 is engaged with the puck assembly 302 but is released when the electronic device 106 is removed from the puck assembly 302. A release of the pressure button can trigger the security circuitry 104 (when armed) to generate a security conditional signal. However, it should be understood that other security sensors 102 could be employed. Another example of a security sensor 102 that can be used with product display assemblies 100 that include a tether assembly 308 can be a circuit that detects when the tether is cut or otherwise broken. Still another example of a security sensor 102 can be a position detection circuit that detects when the puck assembly 302 moves a certain distance beyond the base assembly or leaves a designated virtual fence area. For example, such a position detection circuit can rely on wireless signals and signal strength estimations to detect distances between the puck assembly 302 and base assembly 304. Still additional examples of security sensors 102 can include power draw sensors, contact closures, optical sensors for detecting objects (or the absence of objects), vibration sensors, and/or acceleration sensors.


The security circuitry 104 can be any circuitry that is configured to be (1) controllable between a plurality of security states in response to the security code 116 and (2) generate a security condition signal when appropriate (e.g., when the security circuitry 104 is in an armed state and the security sensor 102 detects a triggering event). For example, the security circuitry 104 can include switching logic and the like that is controlled based on a signal from a control processor that controls the switching logic based on whether the security code 116 has been verified. The security circuitry 104 may also include circuitry such as relay drivers, motor controls, alarming units, solenoid drivers, and/or lock actuators. Security circuitry 104 can include a processor and memory that cooperate with each other to execute one or more software programs in furtherance of the security functions described herein. Examples of such software programs are described below with reference to FIGS. 8, 13, and 16.


It should be understood that the puck assembly 302 can include components different than those shown in FIG. 3G. For example, FIG. 3H shows an example puck assembly 302 that includes additional components. The puck assembly 302 of FIG. 3H includes an additional interface 322. This interface 322 can interface the puck assembly 302 with an electronic device 106 presented to customers via the product display assembly 100. For example, the interface 322 can be a physical connector adapted for detachable connection with a power cable for providing power to the electronic device 116. Examples of such power cables are described in the above-referenced and incorporated U.S. Pat. Nos. 8,558,688, 8,698,617, and 8,698,618 and U.S. Patent Application Publication Nos. 2014/0159898 and 2017/003263.


The puck assembly 302 of FIG. 3H also includes one or more charging contacts 314. These charging contacts 314 can create an electrical connection with a power source via complementary contacts of the base assembly 304 when the puck assembly 302 is in the rest position. Examples of such charging contacts 314 are described in the above-referenced and incorporated U.S. Pat. Nos. 8,558,688, 8,698,617, and 8,698,618 and U.S. Patent Application Publication Nos. 2014/0159898 and 2017/003263.


The puck assembly 302 of FIG. 3H also includes a power storage device 330 that is charged via electricity received through the charging contacts 314 when the puck assembly 302 is in the rest position and that stores power for use by the puck assembly 302 when the puck assembly is in the lift position. The power storage device 330 can take the form of a battery (preferably a rechargeable battery) or a suitable capacitor. Examples of such a power storage device 330 are described in the above-referenced and incorporated U.S. Pat. Nos. 8,558,688, 8,698,617, and 8,698,618 and U.S. Patent Application Publication Nos. 2014/0159898 and 2017/003263.


The puck assembly 302 of FIG. 3H can also include additional circuitry 332. For example, the additional circuitry 332 can include circuitry for distributing power from the charging contacts 314 to other components of the puck assembly 302 (e.g., the security circuitry 104, interfaces 320 and 322, power storage device 330, etc.) and/or circuitry for distributing power from the power storage device 330 to other components of the puck assembly 302 (e.g., the security circuitry 104; interfaces 320 and 322). As another example, the additional circuitry 332 can include wireless communication circuitry that provides the puck assembly with an ability to wirelessly transmit security condition signals from the security circuitry 104 or otherwise wirelessly communicate with remote systems. Examples of additional circuitry 332 are described in the above-referenced and incorporated U.S. Pat. Nos. 8,558,688, 8,698,617, and 8,698,618 and U.S. Patent Application Publication Nos. 2014/0159898 and 2017/003263.



FIG. 4 shows an example embodiment of computer system 120. The computer system 120 can serve as an authorization gateway that determines whether a given security fob 110 is authorized to control the security status of a product display assembly 100. As an example, the computer system 120 can take the form of a server that includes a processor 400, a memory 402, and wireless I/O 404. These components can also be configured to communicate with each other over a bus or similar interconnection. Such a server can optionally be configured as a Linux server that runs a Linux operating system.


The processor 400 and memory 402 can be any hardware devices suitable for performing the operations described herein. As an example, the processor 400 can take the form of an Atmel SAMD21 microprocessor. The memory 402 can be integral to processor 400 and/or external to the processor 400.


The memory 402 can store the authentication program 122 as well as the authorization list 124 used by the authentication program 122 when determining whether a security fob 110 is an authorized security fob. The authorization list 124 can take the form of a list of one or more fob identifiers 112 for security fobs 110 that are authorized to control the security status for the product display assembly 100. The memory 402 can also store a user management program 410 that controls how fob identifiers 112 are added to and removed from the authorization list 124. The software programs 122 and 410 can take the form of a plurality of processor-executable instructions that are resident on a non-transitory computer-readable storage medium such as memory 402. Example embodiments of software programs 122 and 410 are described below with reference to FIGS. 7, 9A, 9B, 14, and 17.


The wireless I/O 404 provides wireless connectivity with remote systems such as the security fobs 110. The wireless I/O 404 can be any wireless communication device suitable for performing the operations described herein. As an example, the wireless I/O 404 can take the form of an Atmel AT86RF212B RF transceiver, similar to that described for wireless I/O 206 of FIG. 2.


It should be understood that the computer system 120 can include components different than those shown by FIG. 4. For example, the computer system 120 can include its own interface for interfacing with interface 200 of the security fob 110 (e.g., in embodiments where interface 200 is a physical connector, the computer system's interface to the security fob can be a complementary physical connector for detachable connection interface 200). The computer system 120 could also include other input devices for interacting with software executed by the processor 400.



FIG. 5 depicts an example of a process flow 500 for a system in accordance with an example embodiment. A user such as a store manager can receive a plurality of security fobs 110, each manufactured with a static UUID (step 502). At step 504, a user such as a store manager initially connects a security fob 110 to the computer system 120, at which time the computer system 120 acquires the security fob's UUID and adds the security fob's UUID to the authorization list 124 to establish that security fob as an authorized security fob (step 506). The addition of a fob identifier to the authorization list can be referred to as “whitelisting” the security fob 110 corresponding to that fob identifier. An example procedure and corresponding technology for performing steps 504 and 506 that rely on a timed sequence of interactions between security fobs and the compute system are described in U.S. provisional patent application Ser. No. 62/323,466, filed Apr. 15, 2016 and entitled “Security Alarm Key for Retail Security Display” and in U.S. patent application Ser. No. 15/488,370, filed Apr. 14, 2017 and entitled “Authorization Control for an Anti-Theft Security System” and published as US Pat App Pub. 2017/0300721, the entire disclosures of each of which are incorporated herein by reference.


When a whitelisted or authorized security fob is connected to a puck assembly 302 (step 508), the connected security fob 110 requests authorization from the computer system 120 (step 510). This authorization request can include an identification of the connected security fob's UUID. The computer system 120 reads the fob UUID for the connected security fob (step 512) and checks the key fob's UUID against the authorization list 124 (step 514). If the subject fob UUID is on the authorization list 124, then the connected security fob is authorized to transmit the security code 116 and arm/disarm the puck assembly's security circuitry (step 516). If the subject fob UUID is not on the authorization list 124, then no authorization is given (step 518).



FIG. 6 depicts an example process flow for software program 214 for execution by the processor 202 of security fob 110 to facilitate such an authorization arrangement. The process flow of FIG. 6 begins when the security fob 110 interfaces with a puck assembly 302 via interfaces 200 and 320. If there is a connection between interfaces 200 and 320, the security fob 110 can receive operating power from the puck assembly 302 via the connection (step 602). For example, in an example instance of a physical connection, the security fob 110 can draw current from the puck assembly 302 via the physical connection. Using such operating power, the processor 202 can wake up and execute software program 214. The security fob 110 can also be designed to have enough onboard capacitance to enable it to remained powered up during a sleep state for a desired amount of time (e.g., around 2 seconds).


After being powered up and starting execution of program 214, the processor reads the fob identifier 112 from memory 204 (step 604). At step 606, the processor attempts to establish a wireless connection with the computer system 120 via wireless I/O 206. If step 608 results in a conclusion that the wireless connection has not been established, the processor can return to step 606 to try again. As discussed below in connection with another embodiment, a practitioner may also employ additional procedures that would allow for use of the security fob 110 in certain situations where the wireless network may be unavailable. If step 608 results in a conclusion that the wireless connection has been established, the processor proceeds to step 610.


At step 610, the processor 202 instructs the wireless I/O 206 to transmit an authorization request to the computer system 120 via the wireless connection established at step 606. This authorization request will include the fob identifier 112 read at step 604. If desired, this authorization request can be encrypted by the processor 202 (e.g., AES encryption) to provide an additional layer of security (whereupon the encrypted authorization request would later be decrypted after receipt by the computer system 120). The processor 202 and wireless I/O 206 can packetize the authorization request for wireless transmission as a message to the computer system 120, and the wireless I/O 206 will wirelessly transmit this authorization request for reception by the computer system 120.


At step 612, the security fob 110 will await receipt of an authorization signal from the computer system 120 via the wireless connection in response to the authorization request sent at step 610. If the authorization signal from the computer system has been encrypted, step 612 may also include a corresponding decryption operation. The authorization signal can take the form of an authorization code that indicates to the processor 202 that the security fob 110 is approved as an authorized security fob. To facilitate this, the security fob can have the authorization code already stored in its memory 204. Then, upon receipt of the authorization signal, the processor 202 can compare the authorization code from the authorization signal with the authorization code stored in memory 204. If they are a match, the processor determines that the security fob is an authorized security fob (and the process flow proceeds to step 614). If there is not a match, the process flow can terminate or await another signal from the computer system.


At step 614, the processor 202 reads the security code 116 from memory 204. Then, at step 616, the processor 202 communicates this security code 116 to the puck assembly via the connection between the puck assembly and the security fob 110 (e.g., via the connection between interfaces 200 and 320). To further enhance the security of the system, the communication at step 616 can be an encrypted communication, and this encrypted communication employ a time-varying encryption. For example, the processor 202 can employ an encryption technique such as an encrypted I2C serial protocol for the communication between the security fob 110 and the puck assembly 302 at step 614. Further still, for a practitioner that may operate multiple stores, different encryption can be performed for different store locations (e.g., different encryption keys, different modes of encryption (e.g., electronic code book (ECB), cipher block chaining (CBC), etc.), and/or different types of encryption (e.g., AES, Triple DES, etc.).


Accordingly, it can be seen via FIG. 6 that the security fob 110 is designed to condition its release/communication of the security code 116 on a real-time, remote authorization check of that security fob 110.


It should be understood that FIG. 6 is merely an example of a process flow for execution in connection with software program 214, and a practitioner may employ alternate process flows. For example, the order of many of the steps in FIG. 6 can be changed (e.g., step 614 could be performed earlier in the process flow; step 604 could be performed between steps 606 and 610, etc.). As another example, additional steps could be employed (e.g., one or more additional steps of illuminating one or more lights 208 on the security fob 110 can be performed, such as after step 616 to notify a user that the security code 116 was sent to the puck assembly and/or after step 608 to notify a user that a wireless connection has been established, etc.).



FIG. 7 depicts an example process flow for software authentication program 122 for execution by the processor 400 of computer system 120. At step 700, the processor 400 receives the authorization request that was wirelessly transmitted by the security fob 110 via the wireless network at step 610 of FIG. 6. If the authorization request was encrypted by the security fob 110, step 700 can also include a corresponding decryption of the authorization request.


At step 702, the processor 400 checks whether the subject security fob 110 is an authorized security fob. To facilitate this check, the processor 400 can read the fob identifier 112 that is present within the received authorization request. The processor 400 can also read the authorization list 124 to identify the fob identifiers for authorized security fobs. The processor 400 can then compare the received fob identifier 112 with the fob identifiers from the authorization list 124 (step 704), and if the received fob identifier 112 matches any of the fob identifiers on the authorization list 124, the processor 400 can conclude that the subject security fob is authorized and proceed to step 706. If the received fob identifier 112 does not match any of the fob identifiers on the authorization list 124, the processor 400 can conclude that the subject security fob is un-authorized and proceed to step 708.


At step 706, the processor 400 instructs the wireless I/O 404 to transmit the authorization signal to the security fob 110 via the wireless connection established at step 606 of FIG. 6. This authorization signal can include the authorization code as discussed above in connection with FIG. 6. If desired, this authorization signal can be encrypted by the processor 400 (e.g., AES encryption) to provide an additional layer of security (whereupon the encrypted authorization signal would later be decrypted after receipt by the security fob 110). The processor 400 and wireless I/O 404 can packetize the authorization signal for wireless transmission as a message to the security fob 110, and the wireless I/O 404 will wirelessly transmit this authorization signal for reception by the security fob 110.


At step 708, the processor rejects the security fob's authorization request. If desired by a practitioner, this step may also include wirelessly communicating a rejection signal to the security fob 110. However, this need not be the case.



FIG. 8 depicts an example process flow for execution at least in part by a processor within security circuitry 104 to control security status for a product display assembly 100 in response to a security fob 110. The process flow of FIG. 8 can be embodied as a plurality of processor-executable instructions that are resident on a non-transitory computer-readable storage medium such as memory that is accessible to the subject processor.


At step 800, the security circuitry 104 detects a connection with the security fob at interface 320. This detection can be performed in any of a number of ways. For example, in an example embodiment where the connection between interfaces 200 and 320 is a physical connection, a configuration resistor in the security fob 110 can be detected by the security circuitry 104 to identify the connected device as a security fob 110. Different types of devices that may be connected via interface 320 can include different values for configuration resistors to thereby allow for the security circuitry 104 to distinguish between different types of connected devices. After detecting the connected security fob, the security circuitry 104 can provide operating power to the security fob 110 through the connection. At this point, at step 804, the security circuitry awaits receipt of a security code 116 from the connected security fob 110 (while the security fob 110 and computer system 120 proceed with their authorization routine).


If the security fob 110 is disconnected from the puck assembly 302 before the security code has been received from the security fob (step 812), the process flow terminates. In example embodiments where the connection is a physical connection, step 812 would detect a physical disconnection of the security fob 110 from the puck assembly 302 via techniques such as contact closure, power presence, communication lapse, etc. In example embodiments where the connection is a wireless connection, step 812 would detect a loss of wireless connection between the security fob 110 and puck assembly 302. But, if no disconnection is detected at step 812, the security circuitry 104 continues to await the security code from the security fob 110.


If a security code 116 is received from the connected security fob 110 at step 804, then the process flow can proceed to step 806. If the security code communication from the security fob 110 is encrypted, step 804 can include a corresponding decryption operation. At step 806, the security circuitry 104 compares the received security code with a security code known by the security circuitry 104 as the authorized security code (e.g., the security circuitry 104 can maintain the authorized security code in memory). If a match is found at step 808, the security circuitry 104 adjusts the security status based on the approved security code (step 810). If the security code is a toggle code, step 810 can result in a toggling of the security status of the security circuitry 104 (e.g., transitioning from an armed state to a disarmed state or vice versa). If a match is not found at step 808, the process flow terminates. Optionally, a rejection message can be sent to the security fob 110 via the security fob-to-puck assembly connection.



FIGS. 9A and 9B illustrate how the authorization list 124 can be managed to control which security fobs 110 are authorized (or de-authorized) with respect to controlling the security status of a product display assembly 100. FIG. 9A shows an example authorization list 124 that identifies the fob UIDs for a number of authorized security fobs. Through execution of a user management program 410, the computer system can add and/or remove a given security fob's fob UID to/from the authorization list 124. By way of example, FIG. 9A shows a step 900 where a user deletes Key Fob2's fob UID from the authorization list (where the updated authorization list 124 is shown below step 900). Once a security fob has been removed from the authorization list 124, the computer system's authentication program 122 will no longer authorize that security fob when it sends an authorization request.



FIG. 9B depicts an example process flow for the user management program 410 for execution by processor 400 of computer system 120. The process flow of FIG. 9B can be embodied as a plurality of processor-executable instructions that are resident on a non-transitory computer-readable storage medium such as memory 402.


At step 910, the processor 400 receives user credentials from a user (e.g., a user ID and password). At step 912, the processor checks these user credentials to determine whether the user is authorized to manage the authorization list. If yes, the process flow proceeds to step 914. At step 914, the processor awaits receipt of a command from the user through the software program. Examples of user commands that can be received include a user command corresponding to a request to add a security fob to the authorization list, a user command corresponding to a request to delete a security fob from the authorization list, and a command to exit the user management program 410.


Upon receipt of an “add fob” command at step 914, the processor performs an “add fob” operation with respect to the authorization list. At step 916, the processor receives a fob identifier 112 for a security fob to be added to the authorization list. This step can be performed in any of a number of ways. For example, the user could potentially manually enter the fob identifier 112 for the subject security fob 110. As another example, the computer system 120 and user management program 410 can include a reader function where the computer system includes an interface through which the reader reads the subject security fob's identifier 112. The user could then connect the subject security fob with this interface, whereupon the computer system reads the fob identifier 112 from the connected security fob.


Next, at step 918, the computer system adds the received fob identifier to the authorization list 124, thereby authorizing the subject security fob 110 for use in controlling the security status of the product display apparatus 100.


It should also be understood that the sequence of steps 910-918 could be replaced or complemented with the fob management techniques described in the above-referenced and incorporated U.S. provisional patent application Ser. No. 62/323,466, filed Apr. 15, 2016 and entitled “Security Alarm Key for Retail Security Display” and in U.S. patent application Ser. No. 15/488,370, filed Apr. 14, 2017 and entitled “Authorization Control for an Anti-Theft Security System” and published as US Pat App Pub. 2017/0300721. With this approach, the authorized user can employ a manager fob that is first connected to the computer system's interface. The computer system would then validate this manager fob as an authorized manager fob. This would start a timer that defines a time window during which the user would need to connect the subject security fob 110 that is to be added to the authorization list to the computer system's interface. If the user connects the subject security fob to the computer system's interface within this time window, the fob identifier of the connected security fob is read and added to the authorization list 124.


Upon receipt of a “delete fob” command at step 914, the processor performs a “delete fob” operation with respect to the authorization list. At step 920, the computer system can present a list of the authorized security fobs to the user. This can involve a graphical display of at least the fob identifiers for the authorized security fobs (see FIG. 9A above step 900). However, it should be understood that the display could include additional information, such as the names of any particular users who are associated with each security fob (e.g., John Smith might be assigned with Security Fob 1 while Jane Doe might be assigned with Security Fob 2, etc.).


At step 922, the computer system receives an identification from the user of the security fob to be deleted from the authorization list. This identification can be provided via any suitable input technique such as point and click operations with a mouse, touch/tap operations via a touchpad, keyboard inputs, etc. Then, at step 924, the computer system removes the fob identifier corresponding to the security fob identified at step 922 from the authorization list 124.


Upon receipt of an “exit” command at step 914, the processor can end the user management program 410.


In scenarios where a manager wants to delete the entire authorization list, it should also be understood that the sequence of steps 910-914 and 920-924 could be replaced or complemented with the fob management techniques described in the above-referenced and incorporated U.S. provisional patent application Ser. No. 62/323,466, filed Apr. 15, 2016 and entitled “Security Alarm Key for Retail Security Display” and in U.S. patent application Ser. No. 15/488,370, filed Apr. 14, 2017 and entitled “Authorization Control for an Anti-Theft Security System” and published as US Pat App Pub. 2017/0300721. With this approach, authorization list deletion can be accomplished in response to the manager fob being connected to the computer system's interface in accordance with a defined sequence (e.g., connecting the manager fob, disconnecting the manager fob, and then re-connecting the manager fob during a defined time window without any intervening connections with one or more other security fobs).


Accordingly, it can be seen that the system described herein provides a flexible and easy-to-use manner for managing authorized security fobs that reduces any potential needs for reprogramming the security fobs themselves and/or re-programming the product display assemblies themselves as the persons employed at a retail store change over time. If a security fob is lost by an employee or kept by a departed employee, a manager only needs to update the authorization list 124 via the user management program 410 to maintain security. There is no need for all of the security fobs and/or all of the product display assemblies to be re-programmed with new security codes.


Moreover, as mentioned above, the system may employ an alternate security control technique via the security fobs that provides an ability to control security status during specific situations such as time periods where the wireless network is down such that security fob identifiers 112 cannot be communicated wirelessly to the computer system 120. To provide this flexibility, the security fobs 110 may be provided with a defined number of override tokens. An override token can be embodied in any of a number of ways within security fob memory 202 such as data bits that identify a count of how many override tokens are present on the security fob. A security fob 110 that includes an override token is effectively able to control the security status of the product display assembly regardless of whether the computer system authorizes that security fob. Thus, the override tokens are a way for the system to provide a security fob with a number of “free” security toggles that are not dependent on receiving authorization from the computer system 120.


As an example, a given security fob 110 may be provided with three (3) override tokens. A record of these override tokens can be maintained in memory 204. In this instance, if the security fob 110 cannot receive an authorization response from the computer system (e.g., a wireless connection cannot be established between the security fob 110 and the computer system 120), and if that security fob has at least one override token stored in its memory, then the security code 116 will be communicated to the puck anyway. When an override token is used in this manner, the security fob will decrement the number of override tokens stored by the subject security fob by “one.” Accordingly, the override tokens can serve as a useful backup in times when the wireless network may be down or other technical problems arise because there may still be a need to arm/disarm product display assemblies during such times. Furthermore, user management program 410 can be used to manage how many override tokens are provided to the security fobs.



FIGS. 10 and 11 depict an example process flow and system diagram for a scenario where the security fobs can accommodate override tokens. Each security fob functions as a wireless node that can communicate to the computer system 120 (e.g., gateway device or a gateway/server indicated at 1100 in FIG. 11) when powered on. The security fob contains circuitry necessary to support two basic communication paths as discussed above and below.


The first communication path 1102 involves the security fob being a wireless node that can communicate with the gateway and server (linux server). The second communication path 1104 is an encrypted protocol (e.g., an I2C serial protocol) between the security fob and product display assembly (e.g., puck assembly).


As indicated in the above general description, the security fob does not store any programmed or dynamic authorization security codes. Security implementation is always enforced via real-time communication/check-in with the gateway/server 1100. In other words, security is not managed by the key fob but by the gateway/server 1100. Due to the potentially sensitive communication that may happen over wireless links, all wireless communications are preferably AES encrypted. Also, due to the nature of wireless networks, an optional repeater wireless node may need to be part of the system.


The security fob can be a passive device that is powered by either the puck or the gateway/server, depending on which device the security fob is connected to. When so connected, the security fob will harvest enough power for all required security fob operations/authentication. The security fob can have a green and red LED which will be used to indicate to the user whether the security fob is an approved device, as well as signaling a successful arm/disarm action with the product display assembly. Also, the network parameters used for the wireless network communications can be transferred to the security fob when connected to the gateway/server and stored in non-volatile memory.


In this example, the security fob will have an override token setting that can transferred via command from a management portal for the computer system executing user management program 410, where this command can set the number of override tokens to any number from 0 to N (e.g., where N=100). The default setting of override tokens can be 0. The override token number correlates to the number of authorized uses available to the security fob in the event of wireless communication failures. When override tokens are used, the number will be decremented, for each use, until it reaches 0, in which case the security fob is rendered inactive unless authorized via authentication program 122. A method can be provided for renewing override tokens by plugging in the security fob to the gateway and issuing renewed override tokens via the gateway management portal.


A wireless repeater may be provided as an optional accessory that may or may not be required, depending on customer/installation specific parameters and variables. The repeater can be designed using an Atmel SAMD21 uProcessor for all computational functions, and it can use an Atmel AT86RF212B RF transceiver for wireless transmission.


As indicated in the FIG. 11 schematic, the gateway device 1100 may include an embedded Linux server system 1110 that has an on board Linux-compatible server that runs an ARM based processor. It will have adequate storage space for the operating system and applicable database. The functional specifications for the gateway device can be as follows:

    • Upon boot the gateway device will have 3 modes of simultaneous operation. These modes are (1) checking for a physical security fob connection; (2) checking status with the Linux server; and (3) listening for wireless communications.
    • For server communication mode the gateway device will communicate via SPI bus as the slave:
      • Upon boot, the gateway device will have a null whitelist of security fob UUIDs. It will begin by pinging the Linux server periodically, over the SPI bus, requesting the latest whitelist until it gets a response.
      • Once the gateway device has received a valid whitelist, the gateway device will relinquish communication requests to the Linux server.
      • The gateway device will respond to all command/status requests from the Linux server.
    • For connected security fob/repeater communications, the gateway device will:
      • Upon boot, the gateway device will periodically and continuously send an encrypted request message on the I2C bus and check for a valid response.
      • When a valid response is received, the response will identify the connected device as a security fob or repeater.
      • If a repeater, the gateway device will transfer the current network parameters to the repeater.
      • If a security fob, the gateway device will request the security fob's UUID, and then transfer the network parameters to the security fob. Optionally, the user will have the option to transfer/renew any desired override tokens.
        • The gateway device will then alert the server to the presence of a connected security fob and transfer the security fob's UUID to the Linux server.
      • The gateway device will then begin periodically checking for a connected device again.
    • For wireless communication:
      • The gateway device will setup wireless communication upon boot.
      • The gateway device will continually listen for any wireless communication requests from a security fob.
      • When the gateway device receives an authentication request from a security fob, it will check the security fob's UUID, which was sent with the request, against the whitelist.
      • If the security fob UUID is on the whitelist, the gateway device will send an authorized response back to the security fob.
      • If the security fob UUID is NOT on the whitelist, the gateway will send an unauthorized response back to the security fob.


The Linux server system 1100 can support a SPI serial interface for gateway communications. The Linux server 1100 can host a small database that will be leveraged for an Access Control management portal. The database will store whitelisted security fob UUIDs as well as a log of all transactional authentication requests. Each whitelisted UUID can be stored with an optional “friendly name” parameter to make management for the end user easier.


The Linux server can also host a local web GUI that will be available via Ethernet or WiFi. The web GUI may be available directly by adding an optional monitor/keyboard/mouse if Ethernet/WiFi connectivity is not available. The web GUI can serve as the management portal interface for the end user to administer all Access Control management. The functional parameters of the Linux server can be as follows:

    • Upon boot the Linux server will load a locally hosted web GUI.
    • The Linux server will initialize the server's database of whitelisted key fob UUIDs and associated settings (friendly name and override token setting).
    • The Linux server will initialize the server's SPI interface to the gateway device.
    • Once all functions on the server are loaded and initialized, the Linux server will wait for commands from a user via management portal, a whitelist request from the gateway device or an alert from the gateway device that a security fob has been connected. During this wait state the Linux server will also ping the gateway device every 1 second, to ensure a functional SPI bus and reflect this online/offline status via indicator on the management GUI.
    • If the user changes the database of UUIDs the Linux server will transfer the new whitelist to the gateway device via the SPI bus.
    • The management portal web GUI will provide visibility to all currently whitelisted security fobs, a window for authentication logs and a window for displaying a currently connected security fob and its associated settings.


As described above, each security fob can be manufactured with a permanent UUID number. The security fob can have two modes depending on which hardware it has been plugged into (position vs gateway). When plugged into the gateway device, the security fob can operate as follows:

    • The gateway device provides power to the key fob thereby allowing the key fob to power up.
    • The gateway device initiates communications over the I2C bus thereby allowing the security fob to determine if it is plugged into a position or gateway.
    • The security fob transfers its UUID upon request of the gateway device.
    • The gateway device transfers network parameters to the security fob.
    • At user discretion, the gateway device transfers any override tokens to the security fob.
    • The security fob blinks green LED after successful UUID and network parameter transfer. If there is an error in transferring UUID/network parameters then the security fob blinks red and requires removal and reinsertion.


When plugged into the gateway device, the security fob operates as follows: When plugged into a product display assembly (which can be referred to as a “position”), the security fob operates as follows:

    • The position provides power pulse to the security fob allowing the security fob to power up.
    • The position sends an initial encrypted I2C message following application of power. This allows the security fob to know it has been plugged into the position.
    • The security fob sends an encrypted I2C acknowledgement message indicating that the security fob has been connected, which prompts the position to enable indefinite power application to the security fob.
    • The security fob initializes wireless circuitry and queries the gateway for Access Control status.
    • The security fob will either receive an authorized or unauthorized reply from the gateway device indicating if the security fob is approved/whitelisted or not.
    • The security fob will then store authorization status in volatile memory and go to sleep.
    • The position will remove persistent power once it detects the security fob has gone to sleep and initiate power pulsing mode.
    • Upon the next power pulse from the position, the security fob will wake up.
    • The position sends an encrypted I2C message shortly after sending the power pulse.
    • If the security fob is successfully authorized, it will reply to the encrypted I2C message with an arm/disarm toggle command. The security fob will then turn the green LED indicator and remain in this state until removed from the position. If the security fob was not successfully authorized, it will turn on the red LED and remain in this state until removed from the position.
    • In the event that wireless communications fail, the security fob will check the override token setting, and if the token setting is 0, the security fob will turn LED red and remain in this state without performing any action with position. If there are any number of override tokens greater than zero, the security fob will decrement the override token by 1 and issue an authorized arm/disarm command to the position. The security fob will then turn the green LED indicator on and remain in this state until removed from the position.


Also, while the example embodiments described above rely on a wireless communication capability of the security fob 110 for achieving authentication via the computer system 120, it should be understood that other approaches could be used. For example, if the product display apparatus 100 includes its own wireless communication capability, then the need for security fob to maintain its own separate wireless communication capability could be eliminated if desired by a practitioner. Thus, if the product display assembly 100 includes its own wireless I/O that is capable of establishing a wireless connection with the computer system 120, then the security fob 110 can omit wireless I/O 206. With such a design, the communications between the security fob 110 and the computer system 120 can be routed through the product display assembly 100 to which the security fob 110 is connected. FIGS. 12-14 depict example process flows for an example of such an approach. FIGS. 15-17 depict example process flows for another example of such an approach.



FIG. 12 depicts an example process flow for software program 214 where steps 606-612 from FIG. 6 are replaced with steps 1200 and 1202. Rather than having the security fob 110 establish a wireless connection with the computer system 120, the security fob 110 can communicate its fob identifier 112 to the product display assembly 100 to which it is connected (step 1200). Also, rather than receive the authorization signal from the computer system 120 via a wireless connection, the security fob 110 can receive the authorization signal indirectly from the computer system 120 via the product display assembly 100 to which it is connected (step 1202).



FIG. 13 depicts a corresponding process flow for the security circuitry 104 that is similar in nature to FIG. 8, but layers in additional operations relating to establishing a wireless connection with the computer system 120 and relaying messages between the computer system 120 and connected security fob 110. At step 1300, the security circuitry 104 receives the fob identifier 112 that was communicated to it as a result of step 1200 from FIG. 12. The security circuitry 104 also establishes/checks the wireless connection with the computer system 120 at steps 1302 and 1304 and instructs its wireless I/O to wirelessly transmit the authorization request to the computer system 120 at step 1306. These steps are similar in nature to steps 606-610 from FIG. 6 but performed by the security circuitry 104 rather than security fob 110. At steps 1308 and 1310, the security circuitry receives the authorization signal from the computer system 120 and relays it to the connected security fob 110. Accordingly, it can be seen that the product display assembly 100 can serve as a conduit for communications between the security fob 110 and the computer system 120.



FIG. 14 depicts a corresponding process flow for authentication program 122 that is similar in nature to FIG. 7, but replaces the communications with the security fob from FIG. 7 (see steps 700 and 706 from FIG. 7) with communications with the product display assembly 100 (see steps 1400 and 1402).


Thus, with the approach of FIGS. 12-14, the security fob 110 is able to leverage the wireless communication capabilities of the product display assembly to support its operations, such that security code 116 is not output from the security fob 110 until the authorization signal is received from the computer system 120 (indirectly, via the product display assembly). An example system in accordance with the approach of FIGS. 12-14 is shown by FIG. 18. The approach of FIGS. 15-17 is similar to that of FIGS. 12-14 but avoids the need for the security fob 110 to maintain or output the security code 116. With the approach of FIGS. 15-17, the security fob 110 leverages the wireless communication capabilities of the product display assembly and the authorization signal from the computer system itself contains the security code, which means the return loop through the security fob can be omitted. An example system in accordance with FIGS. 15-17 is shown by FIG. 19.



FIG. 15 depicts an example process flow for the security fob 110 that is similar in nature to that of FIG. 12 but omits steps 1202, 614, and 616 from FIG. 12. As an example, a security fob 110 that can be used to implement the FIG. 15 process flow can be a simple badge or card with an RFID chip. The RFID chip can be energized when in proximity to an RFID reader that emits a field over a short range, and energization of the RFID chip can cause the chip to emit its identifier. FIG. 16 depicts an example process flow for the security circuitry 104 that is similar in nature to FIG. 13 but where the authorization signal received from the computer system 120 (see step 1600) includes the security code 116 (see authorization signal 1900 in FIG. 19). Accordingly, the need for the extra communication steps where the product display assembly passes the authorization signal to the security fob and the security fob returns the security code can be replaced with a more direct path where the authorization signal from the computer system 120 itself includes the security code 116. Thus, at step 1602 shown by FIG. 16, the processor within the security circuitry 104 compares the security code 116 within the received authorization signal with the authorized security code to support a determination as to whether a match exists. FIG. 17 depicts a corresponding process flow for authentication program 122 that is similar in nature to FIG. 14, but where the authorization signal will include the security code 116 (see step 1700).


Examples of security circuitry 104 are shown by FIGS. 20-21 and 23-25. FIG. 20 shows an overview of the security circuitry 104. FIG. 21 shows a local processing unit that can be included with the security circuitry 104, where the local processing unit can be programmed receive a fob identifier 112 (via the interface shown by FIG. 22), wirelessly communicate the fob identifier 112 to the computer system 120, and then receive and process an authorization signal 1900 from the computer system 120 that includes security code 116. Upon verification of the authorization signal 1900 and security code 116, the local processing unit can control various security functions such as an alarm driver (see FIG. 23), a lock controller/sensor (see FIG. 24), and/or an LED interface (see FIG. 25). This arrangement would be consistent with the embodiment of FIGS. 15-17 and 19. It should be understood that part of the functions provided by the local processing unit of FIG. 21 could be deployed in the security fob 110 in the embodiment of FIG. 1.


Still other variations relative to the foregoing example embodiments can be employed by practitioners. For example, while the example embodiments discussed above describe the procedures attendant to the process flows of FIGS. 8, 13, and 16 being performed by the puck assembly 302 in response to the security fob 110 being connected to an interface 320 resident on the puck assembly 302, it should be understood that other variations can be employed. For example, a processor or corresponding circuitry can be deployed in the base assembly 304 to perform the process flows of FIGS. 8, 13 and/or 16. Also, the interface 320 can be resident in the base assembly 304 rather than the puck assembly 302 if desired by a practitioner. To the extent there would be a need to communicate security status to components in the puck assembly 302, such communications could be achieved via the connection between the puck assembly 302 and the base assembly 304 when the puck assembly 302 is at rest, or they could be achieved via wireless communication between the puck assembly 302 and base assembly 304. Further still, if the product display assembly 100 is designed as a one-piece unit such that there are not separate puck and base assemblies, it should be understood that the security circuitry 104 can be resident in any suitable location of the product display assembly 100.


As another example of an alternate embodiment, the security code 116 need not be pre-stored by the security fobs 110. Instead, the authorization signal 114 could be the mechanism by which the security code 116 is provided to the authorized security fobs 110 for forwarding to the product display assembly 100.


In yet another alternate embodiment, the security circuitry 104 can be configured to store a cache of whitelisted/authenticated fob identifiers 112 in its memory. This cached memory can then be leveraged to perform authentications locally within the security circuitry 104 itself, thereby avoiding a need to establish a wireless connection with the computer system 120 each time that a connection is made with a security fob. With such a design, the security fob 110 can provide its fob identifier 112 to the security circuitry after connection is established between interfaces 200 and 320. If the authentication cannot be made based by the security circuit 104 based on the cache, then the process flow would proceed through the computer system 120 as described herein. A practitioner could program the security circuitry 104 to purge the cache of authorized fob identifiers according to a desired protocol (e.g., nightly, weekly, each time an employee departs, etc.).


In yet another alternate embodiment, the computer system 120 can be configured to push copies of the authorization list 124 down to the local memories in the product display assemblies 100 in order to obviate the need for an on-line wireless connection between security fobs 110 and the computer system 120. Copies of the authorization list 124 can be transferred from the computer system 120 to the product display assemblies 100 via a wireless connection between the two (e.g., a wireless network). Alternatively, the transfer can be performed using a memory device or the like (e.g., a security fob used by a store manager where the fob includes memory that stores the authorization list 124), where the memory device is physically connected to the product display assembly 100 (e.g., via interface 320) so that the authorization list 124 can be loaded into the local memory of the product display assembly 100. With such an arrangement, the authentication program 122 could also be stored in the local memory for execution locally at the product display assembly 100.


Also, as indicated above, the security fobs 110 can take any of a number of forms, including embodiments where the security fobs 110 are mobile computing devices such as smart phones or tablet computers. With such an approach, the system is able to leverage the native wireless networking capabilities of the smart phones and tablet computers to connect with the product display assemblies 100 (e.g., using techniques such as Bluetooth, Near Field Communication (NFC), or short-range Wi-Fi) and with computer system 120 (e.g., using techniques such as Bluetooth, Near Field Communication (NFC), short-range Wi-Fi, or even using longer range wireless networking techniques). A mobile app could be loaded on the smart phone or tablet computer to provide the smart phone or tablet computer with the functionality described herein for connecting to other components in the system and sending security commands to desired product display assemblies.


Further still, with respect to any of the foregoing embodiments, alternate anti-theft security systems can be used in place of or in conjunction with the product display assembly 100. For example, the anti-theft security systems can include cabinets, boxes, bins, and/or containers that are protected from open access via locks and the like. As an example, the security circuitry 104 discussed herein could be incorporated in such cabinets, boxes, bins, and/or containers (e.g., deployed within the locks that regulate access to the cabinets, boxes, bins, and/or containers).


While the invention has been described above in relation to its example embodiments, various modifications may be made thereto that still fall within the invention's scope. Such modifications to the invention will be recognizable upon review of the teachings herein.

Claims
  • 1. A system comprising: a product display assembly adapted to receive a product for display to a consumer;a security fob; anda computer system;wherein the product display assembly comprises a security sensor, security circuitry, and a wireless transceiver;wherein the security fob and the product display assembly are configured to cooperate with each other such that the security fob communicates an identifier for the security fob to the product display assembly;wherein the wireless transceiver is configured to wirelessly communicate the security fob identifier to the computer system;wherein the computer system is configured to (1) receive the wirelessly communicated security fob identifier, (2) authenticate the security fob as being authorized to control the security circuitry based on the received security fob identifier as compared to a list of one or more identifiers for one or more authorized security fobs, and (3) wirelessly communicate an authorization signal to the product display assembly in response to the security fob being authenticated;wherein the security circuitry, when in an armed state, is further configured to generate a security condition signal for generating an alarm in response to a detection by the security sensor of a removal of the product from the product display assembly;wherein the security circuitry is further configured to control whether the security circuitry is in the armed state based on receipt of the authorization signal from the computer system via the wireless transceiver;wherein the security fob further comprises a memory and at least one override token stored within the memory, wherein the override token provides for failsafe control of the security circuitry in an event of a wireless link between the product display assembly and the computer system being unavailable; andwherein the security fob is configured to decrement a count of the at least one override token in the security fob memory each time the override token is used to control the security circuitry.
  • 2. The system of claim 1 wherein the security fob comprises an RFID chip, wherein the product display assembly further comprises an RFID reader, and wherein the RFID reader is configured to read the security fob identifier based on an energization of the RFID chip by the RFID reader.
  • 3. The system of claim 1 wherein the security fob identifiers are unique identifiers for each security fob.
  • 4. The system of claim 3 wherein the security fob further comprises an interface, wherein the product display assembly further comprises an interface, wherein the security fob interface and the product display assembly interface are adapted to permit a connection between the security fob and the product display assembly.
  • 5. The system of claim 4 wherein the security fob interface and the product display assembly interface comprise wireless interfaces that are adapted to permit a wireless connection between the security fob and the product display assembly.
  • 6. The system of claim 4 wherein the security fob interface and the product display assembly interface comprise connectors that are adapted to permit a detachable physical connection between the security fob and the product display assembly.
  • 7. The system of claim 6 wherein the product display assembly is configured to provide operating power to the security fob through the detachable physical connection.
  • 8. The system of claim 1 wherein the product display assembly comprises: a puck assembly adapted to receive an electronic device; anda base assembly;wherein the puck assembly is adapted to be moveable between (1) a rest position in which the puck assembly engages with the base assembly and (2) a lift position in which the puck assembly disengages from the base assembly;wherein the base assembly further comprises a base assembly electrical contact, the base assembly electrical contact configured to receive power from a power source;wherein the puck assembly comprises (1) a puck assembly electrical contact, (2) a cable that is connectable to the electronic device, (3) puck assembly circuitry connected to the puck assembly electrical contact and the cable, wherein the puck assembly circuitry includes the security circuitry, (4) the security sensor, and (5) the wireless transceiver;wherein the base assembly electrical contact and the puck assembly electrical contact are adapted to contact each other when the puck assembly is in the rest position to form an electrical connection between the puck assembly circuitry and the power source through which power is provided to the puck assembly;wherein the puck assembly circuitry is configured to, when the puck assembly is in the rest position, draw power from the power source through the electrical connection and provide the drawn power to the cable for charging the electronic device; andwherein the base assembly electrical contact and the puck assembly electrical contact are adapted to lose contact with each other when the puck assembly is in the lift position to thereby break the electrical connection.
  • 9. The system of claim 8 wherein the product display assembly further comprises: a tether assembly adapted to connect the puck assembly with the base assembly.
  • 10. The system of claim 1 wherein the computer system is further configured to manage the list of identifiers for authorized security fobs.
  • 11. The system of claim 10 wherein the computer system is further configured to add a security fob identifier to the list in response to user input.
  • 12. The system of claim 10 wherein the computer system is further configured to remove a security fob identifier from the list in response to user input.
  • 13. The system of claim 10 wherein the computer system is further configured to add an identifier for a security fob to the authorization list based on a timed sequence of interactions between a plurality security fobs and the computer system.
  • 14. The system of claim 1 wherein, when the count is depleted to zero, the security fob is rendered inactive unless authorized via the computer system.
  • 15. The system of claim 1 wherein the computer system has a user management program to manage the at least one override token on the security fob.
  • 16. The system of claim 15 wherein the security fob is connectable to the computer system for adjusting the count in the memory via a management portal that includes an override token setting.
  • 17. The system of claim 1 wherein the at least one override token authorizes communication of a security code by the security fob to the product display assembly to control the security circuitry.
CROSS-REFERENCE AND PRIORITY CLAIM TO RELATED PATENT APPLICATIONS

This patent application is a divisional of U.S. patent application Ser. No. 15/488,379 filed Apr. 14, 2017 and entitled Gateway-Based Anti-Theft Security System and Method, now U.S. Pat. No. 9,892,604, which claims priority to (1) U.S. provisional patent application Ser. No. 62/323,511, filed Apr. 15, 2016 and entitled Alarm Key System for Retail Security Display and (2) U.S. provisional patent application Ser. No. 62/323,466, filed Apr. 15, 2016 and entitled Security Alarm Key for Retail Security Display, the entire disclosures of each of which are incorporated herein by reference. This patent application is also related to (1) U.S. patent application Ser. No. 15/488,383 filed Apr. 14, 2017 and entitled “Gateway-Based Anti-Theft Security System and Method”, (2) U.S. patent application Ser. No. 15/488,370 filed Apr. 14, 2017 and entitled “Authorization Control for an Anti-Theft Security System”, and (3) U.S. patent application Ser. No. 15/488,373 filed Apr. 14, 2017 and entitled “Authorization Control for an Anti-Theft Security System”.

US Referenced Citations (345)
Number Name Date Kind
883335 O'Connor Mar 1908 A
3444547 Surek May 1969 A
3733861 Lester May 1973 A
3780909 Callahan et al. Dec 1973 A
4031434 Perron et al. Jun 1977 A
4053939 Nakauchi et al. Oct 1977 A
4075878 Best Feb 1978 A
4117465 Timblin Sep 1978 A
4167104 Bond Sep 1979 A
4205325 Haygood et al. May 1980 A
4206491 Ligman et al. Jun 1980 A
4268076 Itoi May 1981 A
4335931 Kinnear Jun 1982 A
4353064 Stamm Oct 1982 A
4354189 Lemelson Oct 1982 A
4354613 Desai et al. Oct 1982 A
4369442 Werth et al. Jan 1983 A
4384688 Smith May 1983 A
4391204 Mitchell et al. Jul 1983 A
4509093 Stellberger Apr 1985 A
4590337 Engelmore May 1986 A
4594637 Falk Jun 1986 A
4611205 Eglise Sep 1986 A
4670747 Borras et al. Jun 1987 A
4672375 Mochida et al. Jun 1987 A
4674454 Phairr Jun 1987 A
4688036 Hirano et al. Aug 1987 A
4703359 Rumbolt et al. Oct 1987 A
4709202 Koenck et al. Nov 1987 A
4714184 Young et al. Dec 1987 A
4720700 Seibold et al. Jan 1988 A
4727369 Rode et al. Feb 1988 A
4746919 Reitmeier May 1988 A
4760393 Mauch Jul 1988 A
4766746 Henderson et al. Aug 1988 A
4772878 Kane Sep 1988 A
4779090 Micznik et al. Oct 1988 A
4791280 O'Connell et al. Dec 1988 A
4811012 Rollins Mar 1989 A
4827395 Anders et al. May 1989 A
4829290 Ford May 1989 A
4829296 Clark et al. May 1989 A
4839639 Sato et al. Jun 1989 A
4857914 Thrower Aug 1989 A
4887292 Barrett et al. Dec 1989 A
4898493 Blankenburg Feb 1990 A
4918431 Borras Apr 1990 A
4926996 Eglise et al. May 1990 A
4942393 Waraksa et al. Jul 1990 A
4952864 Pless et al. Aug 1990 A
4967305 Murrer et al. Oct 1990 A
5021776 Anderson et al. Jun 1991 A
5043720 Laurienzo Aug 1991 A
5065356 Puckette Nov 1991 A
5072213 Close Dec 1991 A
5090222 Imran Feb 1992 A
5109530 Stengel Apr 1992 A
5113182 Suman et al. May 1992 A
5140317 Hyatt, Jr. et al. Aug 1992 A
5146205 Keifer et al. Sep 1992 A
5176465 Holsted Jan 1993 A
5184855 Waltz et al. Feb 1993 A
5245329 Gokcebay Sep 1993 A
5246183 Leyden Sep 1993 A
5272475 Eaton et al. Dec 1993 A
5278547 Suman et al. Jan 1994 A
5280518 Danler et al. Jan 1994 A
5280527 Gullman et al. Jan 1994 A
5337588 Chhatwal Aug 1994 A
5339250 Durbin Aug 1994 A
5343077 Yoshida et al. Aug 1994 A
5347267 Murray Sep 1994 A
5347419 Caron et al. Sep 1994 A
5349345 Vanderschel Sep 1994 A
5389919 Warren et al. Feb 1995 A
5392025 Figh et al. Feb 1995 A
5394718 Hotzl Mar 1995 A
5473236 Frolov Dec 1995 A
5473318 Martel Dec 1995 A
5475375 Barrett et al. Dec 1995 A
5477041 Miron et al. Dec 1995 A
5479151 Lavelle et al. Dec 1995 A
5506575 Ormos Apr 1996 A
5543782 Rothbaum et al. Aug 1996 A
5552777 Gokcebay et al. Sep 1996 A
5561420 Kleefeldt et al. Oct 1996 A
5575515 Iwamoto et al. Nov 1996 A
5602536 Henderson et al. Feb 1997 A
5617082 Denison et al. Apr 1997 A
5625338 Pildner et al. Apr 1997 A
5625349 Disbrow et al. Apr 1997 A
5636881 Stillwagon Jun 1997 A
5661470 Karr Aug 1997 A
5673034 Saliga Sep 1997 A
5685436 Davet Nov 1997 A
5686902 Reis et al. Nov 1997 A
5742238 Fox Apr 1998 A
5745044 Hyatt, Jr. et al. Apr 1998 A
5767792 Urbas et al. Jun 1998 A
5771722 DiVito et al. Jun 1998 A
5774053 Porter Jun 1998 A
5774058 Henry et al. Jun 1998 A
5774059 Henry et al. Jun 1998 A
5805074 Warren et al. Sep 1998 A
5813257 Claghorn et al. Sep 1998 A
5841866 Bruwer et al. Nov 1998 A
5861807 Leyden et al. Jan 1999 A
5873276 Dawson et al. Feb 1999 A
5886644 Keskin et al. Mar 1999 A
5894277 Keskin et al. Apr 1999 A
6005487 Hyatt, Jr. et al. Dec 1999 A
6038491 McGarry et al. Mar 2000 A
6039496 Bishop Mar 2000 A
6040771 Kim Mar 2000 A
6068305 Myers et al. May 2000 A
6130602 O'Toole et al. Oct 2000 A
6170775 Kovacik et al. Jan 2001 B1
6204764 Maloney Mar 2001 B1
6211747 Trichet et al. Apr 2001 B1
6219700 Chang et al. Apr 2001 B1
6236435 Gertz May 2001 B1
6318137 Chaum Nov 2001 B1
6323782 Stephens et al. Nov 2001 B1
6339731 Morris et al. Jan 2002 B1
6342830 Want et al. Jan 2002 B1
6345522 Stillwagon et al. Feb 2002 B1
6359547 Denison et al. Mar 2002 B1
6380855 Ott Apr 2002 B1
6384709 Mellen et al. May 2002 B2
6386906 Burke May 2002 B1
6401059 Shen et al. Jun 2002 B1
6437740 De Champlain et al. Aug 2002 B1
6457038 Defosse Sep 2002 B1
6472973 Harold Oct 2002 B1
6476717 Gross et al. Nov 2002 B1
6483424 Bianco Nov 2002 B1
6496101 Stillwagon Dec 2002 B1
6502727 Decoteau Jan 2003 B1
6525644 Stillwagon Feb 2003 B1
6575504 Roatis et al. Jun 2003 B2
6581421 Chmela et al. Jun 2003 B2
6581986 Roatis et al. Jun 2003 B2
6584309 Whigham Jun 2003 B1
6659382 Ryczek Dec 2003 B2
6684671 Beylotte et al. Feb 2004 B2
6693512 Frecska et al. Feb 2004 B1
6717517 Przygoda, Jr. Apr 2004 B2
6725138 DeLuca et al. Apr 2004 B2
6731212 Hirose et al. May 2004 B2
6748707 Buchalter et al. Jun 2004 B1
6761579 Fort et al. Jul 2004 B2
6786766 Chopra Sep 2004 B1
6799994 Burke Oct 2004 B2
6831560 Gresset Dec 2004 B2
6867685 Stillwagon Mar 2005 B1
6874828 Roatis et al. Apr 2005 B2
6882282 Lie-Nielsen et al. Apr 2005 B1
6896543 Fort et al. May 2005 B2
6900720 Denison et al. May 2005 B2
6946961 Frederiksen et al. Sep 2005 B2
6961401 Nally et al. Nov 2005 B1
6975202 Rodriguez et al. Dec 2005 B1
6977576 Denison et al. Dec 2005 B2
7015596 Pail Mar 2006 B2
7053774 Sedon et al. May 2006 B2
7081822 Leyden et al. Jul 2006 B2
7101187 Deconinck et al. Sep 2006 B1
7132952 Leyden et al. Nov 2006 B2
7135972 Bonato Nov 2006 B2
7145434 Mlynarczyk et al. Dec 2006 B2
7154039 Marszalek et al. Dec 2006 B1
7209038 Deconinck et al. Apr 2007 B1
7287652 Scholen et al. Oct 2007 B2
7295100 Denison et al. Nov 2007 B2
7317387 Cova et al. Jan 2008 B1
7325728 Arora et al. Feb 2008 B2
7373352 Roatis et al. May 2008 B2
7385504 Agrawal et al. Jun 2008 B2
7385522 Belden, Jr. et al. Jun 2008 B2
7387003 Marszalek et al. Jun 2008 B2
7394346 Bodin Jul 2008 B2
7446659 Marsilio et al. Nov 2008 B2
7456725 Denison et al. Nov 2008 B2
7482907 Denison et al. Jan 2009 B2
7495543 Denison et al. Feb 2009 B2
7522047 Belden, Jr. et al. Apr 2009 B2
7626500 Belden, Jr. et al. Dec 2009 B2
7667601 Rabinowitz et al. Feb 2010 B2
7688205 Ott Mar 2010 B2
7710266 Belden, Jr. et al. May 2010 B2
7724135 Rapp et al. May 2010 B2
7737843 Belden, Jr. et al. Jun 2010 B2
7737844 Scott et al. Jun 2010 B2
7737845 Fawcett et al. Jun 2010 B2
7737846 Belden, Jr. et al. Jun 2010 B2
7744404 Henson et al. Jun 2010 B1
7762457 Bonalle et al. Jul 2010 B2
7762470 Finn et al. Jul 2010 B2
7821395 Denison et al. Oct 2010 B2
7909641 Henson et al. Mar 2011 B1
7969305 Belden, Jr. et al. Jun 2011 B2
7971845 Galant Jul 2011 B2
8009348 Zehner et al. Aug 2011 B2
D649076 Alexander Nov 2011 S
8102262 Irmscher et al. Jan 2012 B2
D663972 Alexander et al. Jul 2012 S
8499384 Zerhusen Aug 2013 B2
8558688 Henson et al. Oct 2013 B2
8698618 Henson et al. Apr 2014 B2
8749194 Kelsch et al. Jun 2014 B1
8847759 Bisesti et al. Sep 2014 B2
8884762 Fawcett et al. Nov 2014 B2
8896447 Fawcett et al. Nov 2014 B2
8955807 Alexander et al. Feb 2015 B2
8963498 Ferguson Feb 2015 B2
8989954 Addepalli et al. Mar 2015 B1
9092960 Wheeler Jul 2015 B2
9097380 Wheeler Aug 2015 B2
9135800 Fawcett et al. Sep 2015 B2
9171441 Fawcett et al. Oct 2015 B2
9220358 Wheeler et al. Dec 2015 B2
9269247 Fawcett et al. Feb 2016 B2
9303809 Reynolds et al. Apr 2016 B2
9373236 Oehl et al. Jun 2016 B2
9396631 Fawcett et al. Jul 2016 B2
9443404 Grant et al. Sep 2016 B2
9478110 Fawcett et al. Oct 2016 B2
9576452 Fawcett et al. Feb 2017 B2
9659472 Fawcett et al. May 2017 B2
9959432 Blaser et al. May 2018 B2
10026281 Henson et al. Jul 2018 B2
10269202 Denison Apr 2019 B2
20010000430 Smith et al. Apr 2001 A1
20010049222 Fort et al. Dec 2001 A1
20020014950 Ayala et al. Feb 2002 A1
20020024418 Ayala et al. Feb 2002 A1
20020024420 Ayala et al. Feb 2002 A1
20020063157 Hara May 2002 A1
20020085343 Wu et al. Jul 2002 A1
20020099945 McLintock Jul 2002 A1
20020133716 Harif Sep 2002 A1
20020162366 Chmela et al. Nov 2002 A1
20030007634 Wang Jan 2003 A1
20030010859 Ryczek Jan 2003 A1
20030030539 McGarry et al. Feb 2003 A1
20030127866 Martinez et al. Jul 2003 A1
20030128101 Long Jul 2003 A1
20030234719 Denison et al. Dec 2003 A1
20040003150 Deguchi Jan 2004 A1
20040039919 Takayama et al. Feb 2004 A1
20040077210 Kollmann Apr 2004 A1
20040133653 Defosse et al. Jul 2004 A1
20040174264 Reisman et al. Sep 2004 A1
20040178885 Denison et al. Sep 2004 A1
20040201449 Denison et al. Oct 2004 A1
20040207509 Mlynarczyk et al. Oct 2004 A1
20050017906 Man et al. Jan 2005 A1
20050024227 Dunstan Feb 2005 A1
20050073413 Sedon et al. Apr 2005 A1
20050088572 Pandit et al. Apr 2005 A1
20050165806 Roatis et al. Jul 2005 A1
20050184857 Roatis et al. Aug 2005 A1
20050206522 Leyden et al. Sep 2005 A1
20050212656 Denison et al. Sep 2005 A1
20050231365 Tester et al. Oct 2005 A1
20050285716 Denison et al. Dec 2005 A1
20060001541 Leyden et al. Jan 2006 A1
20060038654 Khalil Feb 2006 A1
20060047692 Rosenblum et al. Mar 2006 A1
20060170533 Chioiu et al. Aug 2006 A1
20060219517 Cheng et al. Oct 2006 A1
20060281484 Kronlund et al. Dec 2006 A1
20070075914 Bates Apr 2007 A1
20070159328 Belden et al. Jul 2007 A1
20070164324 Denison et al. Jul 2007 A1
20070229259 Irmscher et al. Oct 2007 A1
20070245369 Thompson et al. Oct 2007 A1
20080094220 Foley et al. Apr 2008 A1
20080168806 Belden et al. Jul 2008 A1
20080169923 Belden et al. Jul 2008 A1
20080222849 Lavoie Sep 2008 A1
20090007390 Tsang et al. Jan 2009 A1
20090033492 Rapp et al. Feb 2009 A1
20090051486 Denison et al. Feb 2009 A1
20090061863 Huggett et al. Mar 2009 A1
20090121831 Zingsheim May 2009 A1
20090173868 Fawcett et al. Jul 2009 A1
20090200374 Jentoft Aug 2009 A1
20100065632 Babcock et al. Mar 2010 A1
20100315197 Solomon et al. Dec 2010 A1
20110053557 Despain et al. Mar 2011 A1
20110068919 Rapp et al. Mar 2011 A1
20110254661 Fawcett et al. Oct 2011 A1
20110276609 Denison Nov 2011 A1
20110283754 Ezzo et al. Nov 2011 A1
20110303816 Horvath et al. Dec 2011 A1
20110309934 Henson et al. Dec 2011 A1
20120037783 Alexander et al. Feb 2012 A1
20120043451 Alexander et al. Feb 2012 A1
20120074223 Habraken Mar 2012 A1
20120126943 Biondo et al. May 2012 A1
20120205325 Richter et al. Aug 2012 A1
20120205326 Richter Aug 2012 A1
20120217371 Abdollahzadeh et al. Aug 2012 A1
20120280810 Wheeler Nov 2012 A1
20120286118 Richards Nov 2012 A1
20130026322 Wheeler et al. Jan 2013 A1
20130043369 Wheeler Feb 2013 A1
20130109375 Zeiler et al. May 2013 A1
20130161054 Allison et al. Jun 2013 A1
20130168527 Wheeler et al. Jul 2013 A1
20130196530 Cheatham et al. Aug 2013 A1
20130238516 Moock et al. Sep 2013 A1
20130268316 Moock et al. Oct 2013 A1
20130294740 Teetzel Nov 2013 A1
20140043162 Siciliano et al. Feb 2014 A1
20140091932 Mohiuddin et al. Apr 2014 A1
20140168884 Wylie Jun 2014 A1
20140237236 Kalinichenko et al. Aug 2014 A1
20140266573 Sullivan Sep 2014 A1
20140277837 Hatton Sep 2014 A1
20140313010 Huang et al. Oct 2014 A1
20150022332 Lin Jan 2015 A1
20150048625 Weusten et al. Feb 2015 A1
20150091729 Phillips et al. Apr 2015 A1
20150178532 Brule Jun 2015 A1
20150213067 Yin Jul 2015 A1
20150279130 Robertson et al. Oct 2015 A1
20150348381 Fawcett et al. Dec 2015 A1
20160028713 Chui Jan 2016 A1
20160042620 Dandie et al. Feb 2016 A1
20160239796 Grant et al. Aug 2016 A1
20160307209 Marszalek Oct 2016 A1
20160307415 Marszalek et al. Oct 2016 A1
20160307416 Marszalek et al. Oct 2016 A1
20160308952 Marszalek et al. Oct 2016 A1
20160335859 Sankey Nov 2016 A1
20160371944 Phillips et al. Dec 2016 A1
20160379455 Grant Dec 2016 A1
20170154508 Grant et al. Jun 2017 A1
20170193780 Moock et al. Jul 2017 A1
20170300721 Blaser et al. Oct 2017 A1
20170372543 Grant Dec 2017 A1
20180144593 Henson et al. May 2018 A1
20180286195 Baker Oct 2018 A1
Foreign Referenced Citations (35)
Number Date Country
506665 Oct 2009 AT
2465692 Nov 2004 CA
202009013722 Jan 2011 DE
0745747 Dec 1996 EP
1575249 Sep 2005 EP
1058183 Nov 2004 ES
2595227 Sep 1987 FR
2768906 Apr 1999 FR
2868459 Oct 2005 FR
2427056 Dec 2006 GB
2440600 Feb 2008 GB
4238979 Aug 1992 JP
H0573857 Oct 1993 JP
0689391 Mar 1994 JP
H0668913 Mar 1994 JP
1997-259368 Oct 1997 JP
3100287 Oct 2000 JP
20140126675 Oct 2014 KR
1997031347 Aug 1997 WO
2004038670 May 2004 WO
2009042905 Apr 2009 WO
2012039794 Mar 2012 WO
2012069816 May 2012 WO
2012151130 Nov 2012 WO
2013015855 Jan 2013 WO
2013068036 May 2013 WO
2013134484 Sep 2013 WO
2014019072 Feb 2014 WO
2014107184 Jul 2014 WO
2014134718 Sep 2014 WO
2015050710 Apr 2015 WO
2015051840 Apr 2015 WO
2015112336 Jul 2015 WO
2016130762 Aug 2016 WO
2016179250 Nov 2016 WO
Non-Patent Literature Citations (113)
Entry
35 mm Camera Display—Walmart Publication 1995, pp. 1-5.
Declaration of Mike Cook, Vanguard Products Group, Inc. v. Merchandising Technologies, Inc., Case No. 3:10-av-392-BR, U.S. District Court for the District of Oregon, Oct. 20, 2010, pp. 1-7.
Declaration of Thaine Allison in Support of Patent Owner's Reply to Petitioner's Opposition to Patent Owner's Motion to Amend, Inter Partes Review of U.S. Pat. No. 7,909,641, Case IPR2013-00122, dated Feb. 5, 2014, pp. 1-13.
Deposition of Thaine Allison, III, taken in behalf of Petition, dated Feb. 24, 2014, U.S. Pat. No. 7,909,641, Case IPR2013-00122, pp. 1-198.
MTI Freedom Universal 2.0 Product Manual, Dec. 2008, pp. 1-21.
Reasons for Substantial New Question of Patentability Determination and Supplemental Examination Certificate, Inter Partes Review of U.S. Pat. No. 7,909,641, Case IPR2013-00122, Feb. 7, 2013, pp. 1-12, Exhibit 1019.
Corrected Petition for Inter Partes Review of Claims 1-24 of U.S. Pat. No. 9,269,247, Case IPR2016-00898, Apr. 19, 2016, pp. 1-65.
Corrected Petition for Inter Partes Review of Claims 1-34 of U.S. Pat. No. 9,135,800, Case IPR2016-00895, Filed Apr. 19, 2016, pp. 1-66.
Corrected Petition for Inter Partes Review of Claims 35-49 of U.S. Pat. No. 9,135,800, Case IPR2016-00896, Filed Apr. 19, 2016, pp. 1-64.
Decision Institution of Inter Partes Review for U.S. Pat. No. 9,269,247, Case IPR2016-00898, dated Sep. 29, 2016, pp. 1-29.
Decision Institution of Inter Partes Review for U.S. Pat. No. 9,269,247, Case IPR2016-00899, Sep. 29, 2016, pp. 1-25.
Decision Institution of Inter Partes Review of U.S. Pat. No. 9,396,631, Case IPR2017-00344, dated May 26, 2017, pp. 1-17.
Decision Institution of Inter Partes Review of U.S. Pat. No. 9,396,631, Case IPR2017-00345, dated May 26, 2017, pp. 1-18.
Decision of Institution of Inter Partes Review of U.S. Pat. No. 7,737,844, Case IPR2016-01915, filed Mar. 30, 2017, pp. 1-30.
Decision of Institution of Inter Partes Review of U.S. Pat. No. 7,737,846, Case IPR2016-01241, Dec. 20, 2016, pp. 1-22.
Decision of Institution of Inter Partes Review of U.S. Pat. No. 8,884,762, Case IPR2016-00892, filed Oct. 7, 2016, pp. 1-25.
Decision of Institution of Inter Partes Review of U.S. Pat. No. 9,135,800, Case IPR2016-00895, Filed Oct. 13, 2016, pp. 1-29.
Decision of Institution of Inter Partes Review of U.S. Pat. No. 9,135,800, Case IPR2016-00896, Filed Oct. 13, 2016, pp. 1-23.
Declaration of Christopher J. Fawcett in Support of Patent Owner's Response of U.S. Pat. No. 7,737,846, Case IPR2016-01241, Mar. 3, 2017, pp. 1-25.
Declaration of Christopher J. Fawcett in Support of Patent Owner's Responses for IPR2016-00895 and IPR2016-00896 dated Jan. 11, 2017, pp. 1-55.
Declaration of Harry Direen, Ph. D, P.E. In Support of Patent Owner's Preliminary Responses for IPR2016-00892,-00895,-00896,-00898, and -00899, filed Jul. 18, 2016, pp. 1-41.
Declaration of Thaine H. Allison III for U.S. Pat. No. 9,269,247, Case IPR2016-00898, dated Apr. 11, 2016, pp. 1-102.
Declaration of Thaine H. Allison III for U.S. Pat. No. 9,478,110, Case IPR2017-01900, Jul. 25, 2017, pp. 1-93.
Declaration of Thaine H. Allison III for U.S. Pat. No. 9,396,631, Case IPR2017-00345, Nov. 22, 2016, pp. 1-92.
Declaration of Thaine H. Allison III, for U.S. Pat. No. 9,478,110, Case IPR2017-01901, dated Jul. 27, 2017, pp. 1-117.
Declaration of Thaine H. Allison III for U.S. Pat. No. 9,396,631, Case IPR2017-00344, Nov. 22, 2016, pp. 1-96.
Declaration of Thaine H. Allison, III for U.S. Pat. No. 8,884,762, Case IPR2016-00892, filed Apr. 11, 2016, pp. 1-116.
Declaration of Thaine H. Allison, III for U.S. Pat. No. 9,135,800, Case IPR2016-00895, Filed Apr. 11, 2016, pp. 1-115.
Declaration of Thaine H. Allison, III for U.S. Pat. No. 9,135,800, Case IPR2016-00896, Filed Apr. 11, 2016, pp. 1-103.
Declaration of Thaine H. Allison, III, U.S. Pat. No. 7,737,844, Case IPR2016-01915, filed Jul. 30, 2016, pp. 1-117.
Declaration of Thaine H. Allison, III, U.S. Pat. No. 7,737,846, Case IPR2016-01241, Jun. 15, 2016, pp. 1-104.
Excerpts from Bruce Schneier, Applied Cryptography: Protocols, Algorithms, and Source Code in C, 1994, 14 pages.
International Search Report and Written Opinion for PCT/US2011/037235 dated Oct. 21, 2011.
Propelinteractive, “Installing LP3 Old Version”, YouTube Video <https://www.youtube.com/watch?>v=FRUaOFWiDRw&t=1s, published on Jun. 28, 2010 (see sample screenshots, pp. 1-9).
Propelinteractive, “MTI LP3 Product Mounting”, YouTube Video <https://www.youtube.com/watch?>v=KX4TEuj1jCl, published on Jun. 23, 2010 (see sample screenshots, pp. 1-11).
Prosecution History for U.S. Appl. No. 12/819,944, now U.S. Pat. No. 8,698,617, filed Jun. 21, 2010.
Prosecution History for U.S. Appl. No. 12/888,107, now U.S. Pat. No. 8,698,618, filed Sep. 22, 2010.
Prosecution History for U.S. Appl. No. 13/457,348, now U.S. Pat. No. 8,558,688, filed Apr. 26, 2012.
Prosecution History for U.S. Appl. No. 14/066,606, filed Oct. 29, 2013 (now abandoned).
Prosecution History for U.S. Appl. No. 14/092,845, filed Nov. 27, 2013 (now abandoned).
Protex International Corp., “Instructions for PowerPro Detangler”, 2005, 1 page.
Protex International Corp., “Instructions for PowerPro Sensor Head Cameras and Camcorders (Power and Security)”, 2007, pp. 1-9.
Protex International Corp., “PowerPro System”, 2006, pp. 1-2.
Mobile Tech Inc.'s Reply to Patent Owner's Response of U.S. Pat. No. 7,737,846, Case IPR2016-01241, May 15, 2017, pp. 1-29.
Mobile Tech Inc.'s Reply to Patent Owner's Response of U.S. Pat. No. 8,884,762, Case IPR2016-00892, filed Apr. 13, 2017, pp. 1-30.
Mobile Tech Inc.'s Reply to Patent Owner's Response of U.S. Pat. No. 9,135,800, Case IPR2016-00895, filed Apr. 13, 2017, pp. 1-32.
Mobile Tech Inc.'s Reply to Patent Owner's Response, Inter Partes Review of U.S. Pat. No. 9,269,247, Case IPR2016-00898, Apr. 13, 2017, pp. 1-31.
Mobile Tech Inc.'s Reply to Patent Owner's Response of U.S. Pat. No. 9,269,247, Case IPR2016-00899, Apr. 13, 2017, pp. 1-31.
MTI 2008 PowerPoint, “Vanguard Program” (Exhibit 1005 of Declaration of Mike Cook), pp. 1-9.
Patent Owner's Preliminary Response of U.S. Pat. No. 9,269,247, Case IPR2016-00898, Jul. 19, 2016, pp. 1-57.
Patent Owner's Preliminary Response of U.S. Pat. No. 7,737,844, Case IPR2016-01915, filed Jan. 4, 2017, pp. 1-43.
Patent Owner's Preliminary Response of U.S. Pat. No. 7,737,846, Case IPR2016-01241, Sep. 30, 2016, pp. 1-62.
Patent Owner's Preliminary Response of U.S. Pat. No. 8,884,762, Case IPR2016-00892, filed Jul. 18, 2016, pp. 1-53.
Patent Owner's Preliminary Response of U.S. Pat. No. 9,135,800, Case IPR2016-00895, Filed Jul. 18, 2016, pp. 1-62.
Patent Owner's Preliminary Response of U.S. Pat. No. 9,135,800, Case IPR2016-00896, Filed Jul. 18, 2016, pp. 1-56.
Patent Owner's Preliminary Response of U.S. Pat. No. 9,396,631, Case IPR2017-00344, dated Mar. 20, 2017, pp. 1-42.
Patent Owner's Preliminary Response, U.S. Pat. No. 9,269,247, Case IPR2016-00899, dated Jul. 19, 2016, pp. 1-54.
Patent Owner's Preliminary Response of U.S. Pat. No. 9,396,631, Case IPR2017-00345, dated Mar. 20, 2017, pp. 1-35.
Patent Owner's Response of U.S. Pat. No. 8,884,762, Case IPR2016-00892, filed Jan. 18, 2017, pp. 1-42.
Patent Owner's Response of U.S. Pat. No. 7,737,844, Case IPR2016-01915, filed Jul. 12, 2017, pp. 1-38.
Patent Owner's Response of U.S. Pat. No. 9,135,800, Case IPR2016-00895, Filed Jan. 11, 2017, pp. 1-68.
Patent Owner's Response of U.S. Pat. No. 9,135,800, Case IPR2016-00896, Filed Jan. 11, 2017, pp. 1-60.
Patent Owner's Response of U.S. Pat. No. 9,269,247, Case IPR2016-00899, Jan. 18, 2017, pp. 1-46.
Petition for Inter Partes Review of Claims 1-18 of U.S. Pat. No. 7,737,846, Case IPR2016-01241, Jun. 21, 2016, pp. 1-73.
Petition for Inter Partes Review of Claims 1-19 of U.S. Pat. No. 7,737,844, Case IPR2016-01915, filed Sep. 30, 2016, pp. 1-76.
Petition for Inter Partes Review of Claims 1-27 of U.S. Pat. No. 8,884,762, Case IPR2016-00892, filed Apr. 14, 2016, pp. 1-65.
Petition for Inter Partes Review of Claims 1-29 of U.S. Pat. No. 9,396,631, Case IPR2017-00344, Nov. 29, 2016, pp. 1-65.
Petition for Inter Partes Review of Claims 1-29 of U.S. Pat. No. 9,396,631, Case IPR2017-00345, dated Nov. 29, 2016, pp. 1-63.
Petition for Inter Partes Review of Claims 1-36 of U.S. Pat. No. 9,478,110, Case IPR2017-01901, dated Jul. 31, 2017, pp. 1-71.
Petition for Inter Partes Review of Claims 1-9 and 11-36 of U.S. Pat. No. 9,478,110, Case IPR2017-01900, Jul. 31, 2017, pp. 1-68.
Petition for Inter Partes Review of Claims 25-37 of U.S. Pat. No. 9,269,247, Case IPR2016-00899, dated Apr. 14, 2016, pp. 1-65.
Propelinteractive, “Freedom Universal 2 Animation_003.wmv”, YouTube Video https://www.youtube.com/watch?v=_odGNnQv0BQ&t=1s, published on Feb. 16, 2010 (see sample screenshots, pp. 1-24).
Retailgeek, “Virtual Tour of MTI Retail Innovation Center in 2009,” YouTube Video https://www.youtube.com/watch?v=-wUvcDAmhj0, published on Aug. 2, 2010 (see transcript and sample screenshots, pp. 1-20).
Reuters, “MTI Begins Shipping Freedom™ Universal 2.0 Merchandising Solution”, Oct. 1, 2008, 1 page.
Supplemental Declaration of Harry Direen, Ph.D, P.E. in Support of Patent Owner's Responses for IPR2016-00892,-00895,-00896,-00898, and -00899, Inter Partes Review of U.S. Pat. No. 9,396,631, Case IPR2017-00344, Jan. 10, 2017, pp. 1-29.
U.S. Appl. No. 61/607,802, filed Mar. 7, 2012.
U.S. Appl. No. 61/620,621, filed Apr. 5, 2012.
U.S. Appl. No. 61/774,870, filed Mar. 8, 2013.
U.S. Appl. No. 61/884,098, filed Sep. 29, 2013.
Unicam Europe, “Freedom Lp3 4.17.09”, SlideShare Presentation <https://www.slideshare.net/Borfu/freedom-lp3-41709, published on Jul. 28, 2009 (pp. 1-9).
Declaration of Thaine H. Allison III for U.S. Pat. No. 9,269,247, Case IPR2016-00899, Apr. 11, 2016, pp. 1-106.
International Search Report and Written Opinion for PCT/US2017/027801 dated Aug. 29, 2017.
Office Action for U.S. Appl. No. 15/488,383 dated Aug. 28, 2019.
“Cabinet Lock”, accessed from https://web.archive.org/web/20041016145022/https://intellikey.com/cabinet.htm, dated Oct. 16, 2004, accessed Jun. 23, 2016, 1 page.
“Cylinders”, accessed from https://web.archive.org/web/20041016151707/http://intellikey.com/cylinders.htm, dated Oct. 16, 2004, accessed Jun. 23, 2016, 1 page.
“Cylindrical Lock”, accessed from https://web.archive.org/web/20041225181341/http://intellikey.com/cylindrical.htm, dated Dec. 25, 2004, accessed Jun. 23, 2016, 1 page.
“EZ 123 Demo”, accessed from https://web.archive.org/web/19990422192601/http://www.intellikey.com/Downloads/Quantum/QuantumDemo.html, dated Apr. 22, 1999, accessed Jun. 23, 2016, 1 page.
“EZ123”, accessed from https://web.archive.org/web/20041016172233/http://intellikey.com/ez123.htm, dated Oct. 16, 2004, accessed Jun. 23, 2016, 1 page.
“Gate Lock”, accessed from https://web.archive.org/web/20041226222338/http://intellikey.com/gatelock.htm, dated Dec. 26, 2004, accessed Jun. 23, 2016, 1 page.
“Intelligent Key”, accessed from https://web.archive.org/web/20001009070818/http://www.intellikey.com/prod_key.html, dated Oct. 9, 2000, accessed Jun. 23, 2016, 2 pages.
“Intellikey—Product Gallery”, accessed from https://web.archive.org/web/19970101150529/http://intellikey.com/products.html, dated Jan. 1, 1997, accessed Jun. 23, 2016, 4 pages.
“Intellikey Controller”, accessed from https://web.archive.org/web/20041017140614/http://intellikey.com/controller.htm, dated Oct. 17, 2004, accessed Jun. 23, 2016, 1 page.
“Intellikey Key”, accessed from https://web.archive.org/web/20041017122940/http://intellikey.com/key.htm, dated Oct. 17, 2004, accessed Jun. 23, 2016, 1 page.
“Key Processing Unit”, accessed from https://web.archive.org/web/20041017124515/http://intellikey.com/kpu.htm, dated Oct. 17, 2004, accessed Jun. 23, 2016, 1 page.
“Key Programming Unit”, accessed from https://web.archive.org/web/20021115195312/http://www.intellikey.com/site/keyProgrammingUnit.htm, dated Nov. 15, 2002, accessed Jun. 23, 2016, 1 page.
“Lock Programming Unit”, accessed from https://web.archive.org/web/20021115200156/http://www.intellikey.com/site/lockProgrammingUnit.htm, dated Nov. 15, 2002, accessed Jun. 23, 2016, 1 page.
“Lock Programming Unit”, accessed from https://web.archive.org/web/20041017130030/http://intellikey.com/lpu.htm, dated Oct. 17, 2004, accessed Jun. 23, 2016, 1 page.
“Pad-e-Lock”, accessed from https://web.archive.org/web/20041017131156/http://intellikey.com/padelock.htm, dated Oct. 17, 2004, accessed Jun. 23, 2016, 1 page.
“Products”, accessed from https://web.archive.org/web/20041213212916/http://intellikey.com/products.htm, dated Dec. 13, 2004, accessed Jun. 23, 2016, 1 page.
“Quantum”, accessed from https://web.archive.org/web/20041017132045/http://intellikey.com/quantum.htm, dated Oct. 17, 2004, accessed Jun. 23, 2016, 1 page.
“System 1000”, accessed from https://web.archive.org/web/20001009123951/http://web.intellikey.com/prod_sys1k.html, dated Oct. 9, 2000, accessed Jun. 23, 2016, 3 pages.
“System Overview”, accessed from https://web.archive.org/web/20041213055854/http://www.intellikey.com/systems.htm, dated Dec. 13, 2004, accessed Jun. 23, 2016, 4 pages.
“Technology”, accessed from https://web.archive.org/web/20041213214001/http://intellikey.com/technology.htm, dated Dec. 13, 2004, accessed Jun. 23, 2016, 1 page.
English Translation of JP 1997-259368, Oct. 3, 1997.
Final Written Decision, Inter Partes Review Case IPR2016-00892, U.S. Pat. No. 8,884,762 B2, Sep. 28, 2017, 71 pages.
Final Written Decision, Inter Partes Review Case IPR2016-01241 U.S. Pat. No. 7,737,846 B2, Dec. 19, 2017, 34 pages.
Final Written Decision, Inter Partes Review Case IPR2016-01915, U.S. Pat. No. 7,737,844 B2, Mar. 28, 2018, 51 pages.
Final Written Decision, Inter Partes Review Cases IPR2016-00895 and IPR2016-00896, U.S. Pat. No. 9,135,800 B2, Oct. 12, 2017, 82 pages.
Final Written Decision, Inter Partes Review Cases IPR2016-00898 and IPR2016-00899, U.S. Pat. No. 9,269,247 B2, Sep. 28, 2017, 78 pages.
Final Written Decision, Inter Partes Review Cases IPR2017-00344 and IPR2017-00345, U.S. Pat. No. 9,396,631 B2, May 24, 2018, 94 pages.
Final Written Decision, Inter Partes Review Cases IPR2017-01900 and IPR2017-01901, U.S. Pat. No. 9,478,110 B2, Feb. 12, 2019, 71 pages.
International Search Report and Written Opinion for PCT/US2017/027798 dated Jul. 6, 2017.
Prosecution History for U.S. Appl. No. 16/152,085, now U.S. Pat. No. 10,269,202, filed Oct. 4, 2018.
Related Publications (1)
Number Date Country
20180174411 A1 Jun 2018 US
Provisional Applications (2)
Number Date Country
62323511 Apr 2016 US
62323466 Apr 2016 US
Divisions (1)
Number Date Country
Parent 15488379 Apr 2017 US
Child 15883318 US