Patent Description:
Patent Publication No. <CIT> discloses a method and system of authorizing access and operation for vehicle sharing via a portable device.

Patent Publication No. <CIT> discloses a controller and method of implementing a control or access function using long range communication with a mobile device.

Further embodiments, forms, features, and aspects of the present application shall become apparent from the description and figures provided herewith.

The concepts described herein are illustrative by way of example and not by way of limitation in the accompanying figures. Where considered appropriate, references labels have been repeated among the figures to indicate corresponding or analogous elements.

Although the concepts of the present disclosure are susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will be described herein in detail. It should be understood, however, that there is no intent to limit the concepts of the present disclosure to the particular forms disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives consistent with the present disclosure and the appended claims.

It should further be appreciated that although reference to a "preferred" component or feature may indicate the desirability of a particular component or feature with respect to an embodiment, the disclosure is not so limiting with respect to other embodiments, which may omit such a component or feature. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to implement such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described. Additionally, it should be appreciated that items included in a list in the form of "at least one of A, B, and C" can mean (A); (B); (C); (A and B); (B and C); (A and C); or (A, B, and C). Similarly, items listed in the form of "at least one of A, B, or C" can mean (A); (B); (C); (A and B); (B and C); (A and C); or (A, B, and C). Further, with respect to the claims, the use of words and phrases such as "a," "an," "at least one," and/or "at least one portion" should not be interpreted so as to be limiting to only one such element unless specifically stated to the contrary, and the use of phrases such as "at least a portion" and/or "a portion" should be interpreted as encompassing both embodiments including only a portion of such element and embodiments including the entirety of such element unless specifically stated to the contrary.

The disclosed embodiments may, in some cases, be implemented in hardware, firmware, software, or a combination thereof. The disclosed embodiments may also be implemented as instructions carried by or stored on one or more transitory or non-transitory machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. A machine-readable storage medium may be embodied as any storage device, mechanism, or other physical structure for storing or transmitting information in a form readable by a machine (e.g., a volatile or non-volatile memory, a media disc, or other media device).

Rather, in some embodiments, such features may be arranged in a different manner and/or order than shown in the illustrative figures unless indicated to the contrary.

Referring now to <FIG>, in the illustrative embodiment, an access control system <NUM> for associating Wi-Fi circuitry of an access control device with a wireless access point and communicating data to the access control device includes a mobile device <NUM>, a network <NUM>, a server <NUM>, an access control device <NUM>, and a wireless access point <NUM>. Although only one mobile device <NUM>, one network <NUM>, one server <NUM>, one access control device <NUM>, and one wireless access point <NUM> are shown in the illustrative embodiment of <FIG>, the access control system <NUM> may include multiple mobile devices <NUM>, networks <NUM>, servers <NUM>, access control devices <NUM>, and/or wireless access points <NUM> in other embodiments. For example, in some embodiments, one mobile device <NUM> may communicate access control data and/or command information for a particular access control device <NUM>, whereas another mobile device <NUM> may establish a Bluetooth Low Energy (BLE) communication connection with the access control device <NUM>, causing the access control device <NUM> to activate its Wi-Fi circuitry and establish a Wi-Fi communication connection with the server <NUM> as described herein. Further, in some embodiments, the functions described herein as being performed by the server <NUM> may be performed by a distributed network of servers <NUM> (e.g., cloud servers operating in a cloud computing environment <NUM>).

It should be appreciated that the system <NUM> and technologies described herein allow an access control device to be triggered by a Bluetooth central device to associate with a wireless access point and thereby perform Wi-Fi communications. Accordingly, the system <NUM> addresses deficiencies in the Wi-Fi station/access point architecture, allowing a station to be triggered to associate with an access point. It should be further appreciated that for synchronization and bandwidth considerations, for example, the server <NUM> may function as a single source of information such that the access control device <NUM> communicates with the server <NUM> for data received from the mobile device <NUM> (e.g., via Wi-Fi) rather than communicating directly with the mobile device <NUM> (e.g., via Bluetooth). As such, the access control device <NUM> may retrieve relevant data from the server <NUM> even if the mobile device <NUM> is nearby the access control device <NUM> (e.g., with Bluetooth range).

As described in greater detail below, the mobile device <NUM> transmits access control data and/or command data to the server <NUM> that is intended to be transmitted to a particular access control device <NUM>. As such, the server <NUM> stores that data in association with the particular access control device <NUM>. Upon subsequently interacting with a mobile device <NUM> (e.g., the same mobile device <NUM> that transmitted the access control data and/or command data or a different mobile device <NUM>), the mobile device <NUM> establishes a BLE communication connection with the access control device <NUM> while a main microprocessor and Wi-Fi communication circuitry of the access control device <NUM> are in sleep states (e.g., low power states), which causes the Wi-Fi circuitry to wake from the sleep state to establish a Wi-Fi communication connection with the server <NUM>. Thereafter, the access control device <NUM> may receive any relevant access control data and/or command data from the server <NUM>. Further, in some embodiments, the access control device <NUM> may transmit audit data associated with the access control device <NUM> to the server <NUM>.

It should be appreciated that the mobile device <NUM>, the server <NUM>, the access control device <NUM>, and/or the wireless access point <NUM> may be embodied as any type of device or collection of devices suitable for performing the functions described herein. More specifically, in the illustrative embodiment, the mobile device <NUM> may be embodied as any type of device capable of communicating with the server <NUM> to transmit access control data and/or command data to the server <NUM> and/or capable of establishing a BLE communication connection with the access control device <NUM>. As described above, it should be appreciated that the mobile device <NUM> transmitting the data to the server <NUM> and the mobile device <NUM> establishing a BLE connection with the access control device <NUM> to trigger its Wi-Fi connection with the server <NUM> may be the same mobile device <NUM> or different mobile devices <NUM> depending on the particular embodiment. However, for brevity of the description and without loss of generality, it should be appreciated that the mobile devices <NUM> may be referred to herein as being the same.

As shown in <FIG>, the mobile device <NUM> includes an application <NUM> that enables the mobile device <NUM> to communicate various access control data and/or commands to the server <NUM> for subsequent transmission to the access control device <NUM>. It should be appreciated that the application <NUM> may be embodied as any suitable application for performing the functions described herein. For example, in some embodiments, the application <NUM> may be embodied as a mobile application (e.g., smartphone application). In some embodiments, it should be appreciated that the application <NUM> may serve as a client-side user interface for a web-based application or service of the server <NUM>.

The network <NUM> may be embodied as any type of communication network capable of facilitating communication between the various devices of the system <NUM>. As such, the network <NUM> may include one or more networks, routers, switches, computers, and/or other intervening devices. For example, the network <NUM> may be embodied as or otherwise include one or more cellular networks, telephone networks, local or wide area networks, publicly available global networks (e.g., the Internet), ad hoc networks, short-range communication links, or a combination thereof.

The server <NUM> may be embodied as any type of device(s) capable of performing the functions described herein. In some embodiments, the server <NUM> may be configured to manage credentials of the access control system <NUM>. For example, depending on the particular embodiment, the server <NUM> may be responsible for ensuring that the access control devices <NUM> have updated authorized credentials, whitelists, blacklists, device parameters, and/or other suitable data. Additionally, in some embodiments, the server <NUM> may receive audit data (e.g., security data, raw sensor data, usage data, and/or other relevant audit data) from the access control devices <NUM> for management of the access control system <NUM>. In some embodiments, it should be appreciated that the server <NUM> may be configured to communicate with multiple access control devices <NUM> at a single site (e.g., a particular building) and/or across multiple sites. That is, in such embodiments, the server <NUM> may be configured to receive data from access control devices <NUM> distributed across a single building, multiple buildings on a single campus, or across multiple locations.

It should be further appreciated that, although the server <NUM> is described herein as a computing device outside of a cloud computing environment, in other embodiments, the server <NUM> may be embodied as a cloud-based device or collection of devices within a cloud computing environment <NUM>. Further, in cloud-based embodiments, the server <NUM> may be embodied as a "serverless" or server-ambiguous computing solution, for example, that executes a plurality of instructions on-demand, contains logic to execute instructions only when prompted by a particular activity/trigger, and does not consume computing resources when not in use. That is, the server <NUM> may be embodied as a virtual computing environment residing "on" a computing system (e.g., a distributed network of devices) in which various virtual functions (e.g., Lamba functions, Azure functions, Google cloud functions, and/or other suitable virtual functions) may be executed corresponding with the functions of the server <NUM> described herein. For example, when an event occurs (e.g., data is transferred to the server <NUM> for handling), the virtual computing environment may be communicated with (e.g., via a request to an API of the virtual computing environment), whereby the API may route the request to the correct virtual function (e.g., a particular server-ambiguous computing resource) based on a set of rules. As such, when a request for the transmission of access control data is made (e.g., via an appropriate user interface to the server <NUM>), the appropriate virtual function(s) may be executed to perform the actions before eliminating the instance of the virtual function(s).

The access control device <NUM> may be embodied as any type of device capable of controlling access through a passageway. For example, in various embodiments, the access control device <NUM> may be embodied as an electronic lock (e.g., a mortise lock, a cylindrical lock, or a tubular lock), an exit device (e.g., a pushbar or pushpad exit device), a door closer, an auto-operator, a motorized latch/bolt (e.g., for a sliding door), barrier control device (e.g., battery-powered), or a peripheral controller of a passageway. It should be further appreciated that the access control device <NUM> may include a lock mechanism configured to control access through the passageway and/or other components typical of a lock device. For example, the lock mechanism may include a deadbolt, latch bolt, level, and/or other mechanism adapted to move between a locked state and an unlocked state. In the illustrative embodiment, the access control device <NUM> is configured to communicate with the server <NUM> to receive access control data and/or command data from the mobile device <NUM> (e.g., to lock or unlock a lock mechanism). Additionally, as described in reference to <FIG>, the illustrative access control device <NUM> includes, among other components, a BLE circuitry <NUM>, a main microprocessor <NUM>, and a Wi-Fi circuitry <NUM>. In other embodiments, however, rather than forming separate circuitries, it should be appreciated that the BLE circuitry <NUM>, the main microprocessor <NUM>, and the Wi-Fi circuitry <NUM> may be composed/decomposed in any other physical configuration/combination consistent with the techniques described herein.

The wireless access point <NUM> may be embodied as any one or more devices that, individually or collectively, allow Wi-Fi devices to connect to a wired network and/or the Internet. For example, in some embodiments, the wireless access point <NUM> may be embodied as a gateway device that is communicatively coupled to a router. In other embodiments, the wireless access point <NUM> may form an integral component of or otherwise form a portion of the router itself. For simplicity and clarity of the description, the wireless access point <NUM> is described herein as being communicatively coupled to the Internet.

It should be appreciated that each of the mobile device <NUM>, the server <NUM>, the access control device <NUM>, and/or the wireless access point <NUM> may be embodied as one or more computing devices similar to the computing device <NUM> described below in reference to <FIG>. For example, in the illustrative embodiment, each of the mobile device <NUM>, the server <NUM>, the access control device <NUM>, and the wireless access point <NUM> includes a processing device <NUM> and a memory <NUM> having stored thereon operating logic <NUM> (e.g., a plurality of instructions) for execution by the processing device <NUM> for operation of the corresponding device.

Referring now to <FIG>, a simplified block diagram of at least one embodiment of a computing device <NUM> is shown. The illustrative computing device <NUM> depicts at least one embodiment of a mobile device, server, access control device, and/or wireless access point that may be utilized in connection with the mobile device <NUM>, the server <NUM>, the access control device <NUM>, and/or the wireless access point <NUM> illustrated in <FIG>. Depending on the particular embodiment, the computing device <NUM> may be embodied as a mobile computing device, server, access control device, desktop computer, laptop computer, tablet computer, notebook, netbook, Ultrabook™, cellular phone, smartphone, wearable computing device, personal digital assistant, Internet of Things (IoT) device, control panel, processing system, wireless access point, router, gateway, and/or any other computing, processing, and/or communication device capable of performing the functions described herein.

The computing device <NUM> includes a processing device <NUM> that executes algorithms and/or processes data in accordance with operating logic <NUM>, an input/output device <NUM> that enables communication between the computing device <NUM> and one or more external devices <NUM>, and memory <NUM> which stores, for example, data received from the external device <NUM> via the input/output device <NUM>.

The input/output device <NUM> allows the computing device <NUM> to communicate with the external device <NUM>. For example, the input/output device <NUM> may include a transceiver, a network adapter, a network card, an interface, one or more communication ports (e.g., a USB port, serial port, parallel port, an analog port, a digital port, VGA, DVI, HDMI, FireWire, CAT <NUM>, or any other type of communication port or interface), and/or other communication circuitry. Communication circuitry of the computing device <NUM> may be configured to use any one or more communication technologies (e.g., wireless or wired communications) and associated protocols (e.g., Ethernet, Bluetooth®, Wi-Fi®, WiMAX, etc.) to effect such communication depending on the particular computing device <NUM>. The input/output device <NUM> may include hardware, software, and/or firmware suitable for performing the techniques described herein.

The external device <NUM> may be any type of device that allows data to be inputted or outputted from the computing device <NUM>. For example, in various embodiments, the external device <NUM> may be embodied as the mobile device <NUM>, the server <NUM>, the access control device <NUM>, and/or the wireless access point <NUM>. Further, in some embodiments, the external device <NUM> may be embodied as another computing device, switch, diagnostic tool, controller, printer, display, alarm, peripheral device (e.g., keyboard, mouse, touch screen display, etc.), and/or any other computing, processing, and/or communication device capable of performing the functions described herein. Furthermore, in some embodiments, it should be appreciated that the external device <NUM> may be integrated into the computing device <NUM>.

The processing device <NUM> may be embodied as any type of processor(s) capable of performing the functions described herein. In particular, the processing device <NUM> may be embodied as one or more single or multi-core processors, microcontrollers, or other processor or processing/controlling circuits. For example, in some embodiments, the processing device <NUM> may include or be embodied as an arithmetic logic unit (ALU), central processing unit (CPU), digital signal processor (DSP), and/or another suitable processor(s). The processing device <NUM> may be a programmable type, a dedicated hardwired state machine, or a combination thereof. Processing devices <NUM> with multiple processing units may utilize distributed, pipelined, and/or parallel processing in various embodiments. Further, the processing device <NUM> may be dedicated to performance of just the operations described herein, or may be utilized in one or more additional applications. In the illustrative embodiment, the processing device <NUM> is programmable and executes algorithms and/or processes data in accordance with operating logic <NUM> as defined by programming instructions (such as software or firmware) stored in memory <NUM>. Additionally or alternatively, the operating logic <NUM> for processing device <NUM> may be at least partially defined by hardwired logic or other hardware. Further, the processing device <NUM> may include one or more components of any type suitable to process the signals received from input/output device <NUM> or from other components or devices and to provide desired output signals. Such components may include digital circuitry, analog circuitry, or a combination thereof.

The memory <NUM> may be of one or more types of non-transitory computer-readable media, such as a solid-state memory, electromagnetic memory, optical memory, or a combination thereof. Furthermore, the memory <NUM> may be volatile and/or nonvolatile and, in some embodiments, some or all of the memory <NUM> may be of a portable type, such as a disk, tape, memory stick, cartridge, and/or other suitable portable memory. In operation, the memory <NUM> may store various data and software used during operation of the computing device <NUM> such as operating systems, applications, programs, libraries, and drivers. It should be appreciated that the memory <NUM> may store data that is manipulated by the operating logic <NUM> of processing device <NUM>, such as, for example, data representative of signals received from and/or sent to the input/output device <NUM> in addition to or in lieu of storing programming instructions defining operating logic <NUM>. As shown in <FIG>, the memory <NUM> may be included with the processing device <NUM> and/or coupled to the processing device <NUM> depending on the particular embodiment. For example, in some embodiments, the processing device <NUM>, the memory <NUM>, and/or other components of the computing device <NUM> may form a portion of a system-on-a-chip (SoC) and be incorporated on a single integrated circuit chip.

In some embodiments, various components of the computing device <NUM> (e.g., the processing device <NUM> and the memory <NUM>) may be communicatively coupled via an input/output subsystem, which may be embodied as circuitry and/or components to facilitate input/output operations with the processing device <NUM>, the memory <NUM>, and other components of the computing device <NUM>. For example, the input/output subsystem may be embodied as, or otherwise include, memory controller hubs, input/output control hubs, firmware devices, communication links (i.e., point-to-point links, bus links, wires, cables, light guides, printed circuit board traces, etc.) and/or other components and subsystems to facilitate the input/output operations.

The computing device <NUM> may include other or additional components, such as those commonly found in a typical computing device (e.g., various input/output devices and/or other components), in other embodiments. It should be further appreciated that one or more of the components of the computing device <NUM> described herein may be distributed across multiple computing devices. In other words, the techniques described herein may be employed by a computing system that includes one or more computing devices. Additionally, although only a single processing device <NUM>, I/O device <NUM>, and memory <NUM> are illustratively shown in <FIG>, it should be appreciated that a particular computing device <NUM> may include multiple processing devices <NUM>, I/O devices <NUM>, and/or memories <NUM> in other embodiments. Further, in some embodiments, more than one external device <NUM> may be in communication with the computing device <NUM>.

As used herein, "Bluetooth" includes traditional Bluetooth Basic Rate/Enhanced Rate (BR/EDR) technology and Bluetooth Low Energy (BLE) technology and refers to one or more components, architectures, communication protocols, and/or other systems, structures, or processes defined by and/or compliant with one or more Bluetooth specifications, addendums, and/or supplements overseen by the Bluetooth Special Interest Group (SIG) including, for example, active, legacy, withdrawn, deprecated, and/or subsequently introduced Bluetooth Core Specifications (CSs) (Bluetooth CS Version <NUM>. 0B, Bluetooth CS Version <NUM>, Bluetooth CS Version <NUM>, Bluetooth CS Version <NUM>+EDR, Bluetooth CS Version <NUM>+EDR, Bluetooth CS Version <NUM>+HS, Bluetooth CS Version <NUM>, Bluetooth CS Version <NUM>, Bluetooth CS Version <NUM>, Bluetooth CS Version <NUM>); active, legacy, withdrawn, deprecated, and/or subsequently introduced Bluetooth Core Specification Addendums (CSAs) (Bluetooth CSA Version <NUM>, Bluetooth CSA Version <NUM>, Bluetooth CSA Version <NUM>, Bluetooth CSA Version <NUM>, Bluetooth CSA Version <NUM>, Bluetooth CSA Version <NUM>); Bluetooth Core Specification Supplements (CSSs) (Bluetooth CSS Version <NUM>, Bluetooth CSS Version <NUM>, Bluetooth CSS Version <NUM>, Bluetooth CSS Version <NUM>, Bluetooth CSS Version <NUM>, Bluetooth CSS Version <NUM>, Bluetooth CSS Version <NUM>); active, legacy, withdrawn, deprecated, and/or subsequently introduced Bluetooth Mesh Networking Specifications (Bluetooth Mesh Profile Specification <NUM>, Bluetooth Mesh Model Specification <NUM>, Bluetooth Mesh Device Properties <NUM>); active, legacy, withdrawn, deprecated, and/or subsequently introduced Bluetooth Traditional Profile Specifications (3DSP, A2DP, AVRCP, BIP, BPP, CTN, DI, DUN, FTP, GAVDP, GNSS, GOEP, GPP, HCRP, HDP, HFP, HID, HSP, MAP, MPS, OPP, PAN, PBAP, SAP, SPP, SYNCH, VDP); active, legacy, withdrawn, deprecated, and/or subsequently introduced Bluetooth Protocol Specifications (AVCTP, AVDTP, BNEP, IrDA, MCAP, RFCOMM, 3WIRE, SD, TCP, UART, USB, WAPB); active, legacy, withdrawn, deprecated, and/or subsequently introduced Bluetooth Generic Attribute Profile (GATT) services, characteristics, declarations, descriptors, and profiles (ANP, ANS, AIOP, AIOS, BAS, BCS, BLP, BLS, BMS, CGMP, CGMS, CPP, CPS, CSCP, CSCS, CTS, DIS, ESP, ESS, FMP, FTMP, FTMS, GSS, GLP, GLS, HIDS, HOGP, HPS, HRP, HRS, HTP, HTS, IAS, IDP, IDS, IPS, IPSP, LLS, LNP, LNS, NDCS, OTP, OTS, PASP, PASS, PXP, PLXP, PLXS, RCP, RCS, RSCP, RSCS, TRUS, ScPP, ScPS, TDS, TIP, TPS, UDS, WSP, WSS); and/or other Bluetooth specifications, addendums, and/or supplements.

It should be further appreciated that the access control device <NUM> may include, more specifically, a BLE circuitry <NUM>, a main microprocessor <NUM>, and a Wi-Fi circuitry <NUM> as shown in <FIG>.

The BLE circuitry <NUM> may be embodied as or include any type of circuitry or collection of circuitries (e.g., chipsets) suitable for performing Bluetooth communication (e.g., BLE communication) with other devices in the system <NUM> (e.g., mobile devices <NUM>) and otherwise performing the functions described herein. Although described herein as being "BLE" circuitry in the illustrative embodiment, it should be appreciated that the circuitry <NUM> may be embodied as traditional Bluetooth Basic Rate/Enhanced Rate (BR/EDR) communication circuitry in other embodiments. Further, depending on the particular embodiment, the BLE circuitry <NUM> may be compliant with any one or more of the Bluetooth specifications set forth herein or newer.

The main microprocessor <NUM> may be embodied as or include any type of device or collection of devices capable of processing data and otherwise performing the functions described herein. For example, in some embodiments, the main microprocessor <NUM> may be embodied as a processing device similar to the processing device <NUM> of <FIG>. Further, it should be appreciated that the main microprocessor <NUM> may be configured to operate in multiple power states. For example, in the illustrative embodiment, the main microprocessor <NUM> is configured to operate in a normal power state and a low power sleep state that consumes less power than the normal power state. In other embodiments, it should be appreciated that the main microprocessor <NUM> may be configured to operate in more than two power states (e.g., having multiple low power states).

The Wi-Fi circuitry <NUM> may be embodied as or include any type of circuitry or collection of circuitries (e.g., chipsets) suitable for performing Wi-Fi-based communication with other devices in the system <NUM> (e.g., the wireless access point <NUM>). As described herein, it should be appreciated that the Wi-Fi circuitry <NUM> may be configured to operate in multiple power states. For example, in the illustrative embodiment, the Wi-Fi circuitry <NUM> is configured to operate in a normal power state and a low power sleep state that consumes less power than the normal power state. In other embodiments, it should be appreciated that the Wi-Fi circuitry <NUM> may be configured to operate in more than two power states (e.g., having multiple low power states). Although described herein by the same name for simplicity, it should be appreciated that the normal and low power sleep states of the main microprocessor <NUM> and the Wi-Fi circuitry <NUM> may be different power states, for example, having different levels of power consumption. Further, as indicated above, rather than forming separate circuitries, it should be appreciated that the BLE circuitry <NUM>, the main microprocessor <NUM>, and the Wi-Fi circuitry <NUM> may be composed/decomposed in another suitable physical configuration/combination in other embodiments.

Referring now to <FIG>, in use, the system <NUM> may execute a method <NUM> for communicating commands for the access control device <NUM> from the mobile device <NUM> to the server <NUM>. It should be appreciated that the particular blocks of the method <NUM> are illustrated by way of example, and such blocks may be combined or divided, added or removed, and/or reordered in whole or in part depending on the particular embodiment, unless stated to the contrary. The illustrative method <NUM> begins with block <NUM> in which the mobile device <NUM> determines one or more commands and/or other access control data to be issued/sent to the access control device <NUM>. It should be appreciated that the particular commands and/or access control data may vary depending on the particular embodiment. For example, the commands may include a command to unlock a lock mechanism of the access control device <NUM>, lock a lock mechanism of the access control device <NUM>, retrieve a firmware update for the access control device <NUM>, retrieve updated access control permissions, retrieve updated access control schedules, and/or other suitable commands/data. Further, in some embodiments, the mobile device <NUM> may determine or identify relevant credential data associated with a user of the mobile device <NUM> and/or the mobile device <NUM> itself.

In block <NUM>, the mobile device <NUM> establishes a wireless communication connection with the server <NUM> for transmission of the command(s) and/or access control data. It should be appreciated that the wireless communication connection may be established according to any suitable communication protocol and/or using any suitable networks (e.g., cellular communication, Internet-based communication, etc.). In block <NUM>, the mobile device <NUM> transmits the determined command(s) and/or access control data to the server <NUM>. Further, in some embodiments, it should be appreciated that the server <NUM> may authenticate the mobile device <NUM> and/or its user. Accordingly, the mobile device <NUM> may transmit any relevant credential data, PIN data, and/or other authentication data, and the mobile device <NUM> and server <NUM> may execute a suitable authentication algorithm. It should be appreciated that, in some embodiments, one or more other wired and/or wireless techniques may be used to transmit commands to the server <NUM> (e.g., via web application, Postman, or another suitable technology or protocol).

In block <NUM>, the server <NUM> stores the received command(s) and/or access control data in association with the access control device <NUM>. For example, the server <NUM> may utilize a database that stores the received command(s) and/or access control data and associates the stored data with the relevant access control device <NUM> such that it can be subsequently retrieved by the access control device <NUM> as described herein.

Although the blocks <NUM>-<NUM> are described in a relatively serial manner, it should be appreciated that various blocks of the method <NUM> may be performed in parallel in some embodiments. Further, it should be appreciated that, in other embodiments, the system <NUM> may execute a different method for communicating commands for the access control device <NUM> to the server <NUM>.

Referring now to <FIG>, in use, the system <NUM> may execute a method <NUM> for associating the Wi-Fi circuitry <NUM> of the access control device <NUM> with the wireless access point <NUM> and communicating access control data to the access control device <NUM>. It should be appreciated that the particular blocks of the method <NUM> are illustrated by way of example, and such blocks may be combined or divided, added or removed, and/or reordered in whole or in part depending on the particular embodiment, unless stated to the contrary. In the illustrative embodiment, the method <NUM> is commenced when the main microprocessor <NUM> and the Wi-Fi circuitry <NUM> of the access control device <NUM> are in corresponding low power sleep states.

The illustrative method <NUM> begins with block <NUM> of <FIG> in which the access control device <NUM> establishes a BLE connection with a mobile device <NUM> (e.g., the mobile device <NUM> described in reference to the method <NUM> of <FIG> or a different mobile device <NUM>). For example, a mobile device <NUM> may come within BLE communication range of the access control device <NUM> and establish a "low-level" BLE connection with the access control device <NUM> (e.g., in response to a BLE advertisement). In particular, in the illustrative embodiment, the "low-level" BLE connection (e.g., via a "BLE Connect" function) may be an initial connection between the mobile device <NUM> and the access control device <NUM> such that the mobile device <NUM> can be an unpaired device (e.g., before any credential information is transmitted from the mobile device <NUM> to the access control device <NUM>). It should be appreciated that the mobile device <NUM> that establishes the BLE connection with the access control device <NUM> may or may not be the same as, or related to, the mobile device <NUM> that transmitted the command(s) and/or access control data to the server <NUM> as described in reference to the method <NUM> of <FIG>.

In block <NUM>, the access control device <NUM> wakes its Wi-Fi circuitry <NUM> in response to the BLE connection. In particular, in block <NUM>, the BLE circuitry <NUM> of the access control device <NUM> causes (e.g., generates or sends) an interrupt to the main microprocessor <NUM> that wakes the main microprocessor <NUM> from the low power sleep state in the illustrative embodiment. In other words, the main microprocessor <NUM> transitions from the low power sleep state to the normal power state in response to the interrupt. In block <NUM>, the illustrative main microprocessor <NUM> determines that the BLE circuitry <NUM> has established a connection with another device (e.g., the mobile device <NUM>) and, in block <NUM>, the main microprocessor <NUM> wakes the Wi-Fi circuitry <NUM> from the lower power sleep state. In particular, in some embodiments, the main microprocessor <NUM> may execute a "start function" that triggers the Wi-Fi circuitry <NUM> to transition from the low power sleep state to the normal power state. In other embodiments, the access control device <NUM> may otherwise wake its Wi-Fi circuitry <NUM> in response to the BLE connection.

In block <NUM>, the access control device <NUM> establishes a Wi-Fi communication connection with the server <NUM> using the Wi-Fi circuitry <NUM>. More specifically, the access control device <NUM> may establish a Wi-Fi communication connection/link with the wireless access point <NUM>, which is communicatively coupled to the server <NUM> (e.g., over the Internet).

In block <NUM>, the access control device <NUM> requests any pending commands and/or other access control data from the server <NUM> via the Wi-Fi communication connection. The server <NUM> determines whether it has stored thereon, or otherwise has access to, commands and/or other access control data associated with the requesting access control device <NUM>. For example, the server <NUM> may store such data in a database in association with the corresponding access control device <NUM> for simplified searching.

If the server <NUM> determines, in block <NUM> of <FIG>, that it has stored thereon, or otherwise has access to, one or more commands and/or other access control data associated with the requesting access control device <NUM>, the method <NUM> advances to block <NUM> in which the server <NUM> transmits a commands message to the access control device <NUM> via the Wi-Fi communication connection (e.g., via the connection between the server <NUM> and the wireless access point <NUM> and further via the Wi-Fi connection between the wireless access point <NUM> and the access control device <NUM>). It should be appreciated that the commands message may include the command(s) and/or access control data retrieved by the server <NUM> (e.g., received by the mobile device <NUM> by virtue of the method <NUM> of <FIG>). In some embodiments, the commands message may, additionally or alternatively, provide access instructions and/or directions for retrieving the relevant data from a particular source. As indicated above, it should be appreciated that the command(s) may include, for example, a command to unlock a lock mechanism of the access control device <NUM>, lock a lock mechanism of the access control device <NUM>, retrieve a firmware update for the access control device <NUM>, retrieve updated access control permissions, retrieve updated access control schedules, and/or other suitable commands/data. As such, in block <NUM>, the access control device <NUM> may execute one or more commands associated with the commands message by performing the commanded function(s). The method <NUM> advances to block <NUM>.

Similarly, if the server <NUM> determines, in block <NUM>, that is does not have stored thereon, or otherwise have access to, any commands or access control data associated with the requesting access control device <NUM>, the method <NUM> advances to block <NUM> in which the access control device <NUM> is synchronized with the server <NUM> via the Wi-Fi communication connection (e.g., via the Wi-Fi connection between access control device <NUM> and the wireless access point <NUM> and further via the connection between the wireless access point <NUM> and the server <NUM>). In doing so, in some embodiments, the access control device <NUM> may determine whether it has audit data (e.g., security data, raw sensor data, usage data, and/or other relevant audit data) and/or other relevant data to transmit to the server <NUM>. For example, in some embodiments, the access control device <NUM> may transmit state data indicative of a current state of the access control device <NUM> (e.g., the current operational state of a lock mechanism and/or other component(s) of the access control device <NUM>). Although the blocks <NUM>-<NUM> and the block <NUM> are illustrated serially, it should be appreciated that those blocks may be performed in parallel in some embodiments.

In block <NUM>, the access control device <NUM> places the Wi-Fi circuitry <NUM> in the low power sleep state. Further, in some embodiments, the access control device <NUM> may also transition the main microprocessor <NUM> from the normal power state to the low power sleep state (e.g., subsequent to processing any relevant data associated with the method <NUM>).

Although the blocks <NUM>-<NUM> are described in a relatively serial manner, it should be appreciated that various blocks of the method <NUM> may be performed in parallel in some embodiments.

In some embodiments, it should be appreciated that the access control device <NUM> may be triggered to wake up the Wi-Fi circuitry <NUM> and/or the main microprocessor <NUM> according to another mechanism. For example, in some embodiments, the access control device <NUM> may include a physical button, handle, or actuator that may be contacted by the user to wake up the access control device <NUM> components. In another embodiment, the access control device <NUM> may include a timer that will wake up with Wi-Fi circuitry <NUM> and/or the main microprocessor <NUM> after a predetermined period of time has lapsed. It should be appreciated that the access control device <NUM> may utilize multiple triggers in some embodiments.

According to an embodiment, a method includes establishing, by Bluetooth Low Energy (BLE) circuitry of an access control device, a BLE communication connection with a first mobile device while a main microprocessor and a Wi-Fi circuitry of the access control device are in sleep states, waking, by the access control device, the Wi-Fi circuitry of the access control device from the sleep state in response to establishing the BLE communication connection with the mobile device, establishing, by the Wi-Fi circuitry of the access control device, a Wi-Fi communication connection with an access control server in response to waking the Wi-Fi circuitry from the sleep state, and receiving, by the access control device and from the access control server via the Wi-Fi communication connection, access control data for the access control device transmitted from a second mobile device to the access control server. In some embodiments, waking the Wi-Fi circuitry of the access control device from the sleep state may include generating, by the BLE circuitry, an interrupt to the main microprocessor that wakes the main microprocessor from the sleep state in response to establishing the BLE connection with the first mobile device and waking, by the main microprocessor, the Wi-Fi circuitry in response to the interrupt. In some embodiments, establishing the Wi-Fi communication connection with the access control server may include establishing a Wi-Fi communication with a wireless access point that is communicatively coupled with the access control server over the Internet. In some embodiments, receiving the access control data may include transmitting, by the access control device and to the access control server, a request for pending access control commands associated with the access control device and receiving, by the access control device and from the access control server, at least one pending access control command stored in association with the access control device. In some embodiments, the at least one pending access control command may include a command to one of lock a lock mechanism of the access control device or unlock the lock mechanism of the access control device. In some embodiments, the method may further include executing, by the access control device, the at least one pending access control command. In some embodiments, the method may further include transmitting, by the access control device and to the access control server via the Wi-Fi communication connection, audit data associated with the access control device. In some embodiments, the method may further include placing the Wi-Fi circuitry in the sleep state in response to receiving the access control data from the access control server. In some embodiments, the method may further include transmitting, by the second mobile device, the access control data to the access control server via a wireless communication connection between the second mobile device and the access control server and storing, by the access control server, the access control data in association with the access control device. The first mobile device is different from the second mobile device. In some embodiments, the server may be executed in a cloud computing environment.

According to another embodiment, an access control device includes a main microprocessor configured to operate in at least a first normal power state and a first sleep state, a Wi-Fi circuitry configured to operate in at least a second normal power state and a second sleep state, and a Bluetooth Low Energy (BLE) circuitry configured to establish a BLE communication connection with a first mobile device while the main microprocessor is in the first sleep state and the Wi-Fi circuitry is in the second sleep state and generate an interrupt to the main microprocessor that transitions the main microprocessor from the first sleep state to the first normal power state, wherein the main microprocessor is configured to transition the Wi-Fi circuitry from the second sleep state to the second normal power state in response to the interrupt, and the Wi-Fi circuitry is configured to establish a Wi-Fi communication connection with an access control server in response to transitioning to the second normal power state and receive access control data from the access control device transmitted from a second mobile device to the access control server. In some embodiments, to establish the Wi-Fi communication connection with the access control server may include to establish a Wi-Fi communication with a wireless access point that is communicatively coupled with the access control server over the Internet. In some embodiments, to receive the access control data may include to transmit a request for pending access control commands associated with the access control device to the access control server and receive at least one pending access control command stored in association with the access control device from the access control server. In some embodiments, the access control device may further include an electronic lock mechanism adapted to move between a locked position and an unlocked position, and the at least one pending access control command may include a command to one of move the electronic lock mechanism to the locked position or move the electronic lock mechanism to the unlocked position. In some embodiments, the main microprocessor may be configured to execute the at least one pending access control command. In some embodiments, the Wi-Fi circuitry may return to the sleep state in response to receipt of the access control data from the access control server.

Claim 1:
A method, comprising:
establishing (<NUM>), by Bluetooth Low Energy, "BLE", circuitry (<NUM>) of an access control device (<NUM>), a BLE communication connection with a first mobile device (<NUM>) while a main microprocessor (<NUM>) and Wi-Fi circuitry (<NUM>) of the access control device (<NUM>) are in sleep states;
waking (<NUM>), by the access control device (<NUM>), the Wi-Fi circuitry (<NUM>) of the access control device (<NUM>) from the sleep state in response to establishing (<NUM>) the BLE communication connection with the first mobile device (<NUM>);
establishing (<NUM>), by the Wi-Fi circuitry (<NUM>) of the access control device (<NUM>), a Wi-Fi communication connection with an access control server (<NUM>) in response to waking (<NUM>) the Wi-Fi circuitry (<NUM>) from the sleep state; and
receiving (<NUM>), by the access control device (<NUM>) and from the access control server (<NUM>) via the Wi-Fi communication connection, access control data including at least one access control command for the access control device (<NUM>), the at least one access control command being transmitted from a second mobile device (<NUM>) different from the first mobile device (<NUM>) to the access control server (<NUM>).