Patent Description:
A lock is an important tool to secure a device (e.g., a door, a bicycle, a drawer). Thus, it may be desirable to develop mechanisms to control the lock efficiently and better secure a device that needs to be secured. Such systems for controlling a lock are disclosed in e.g. <CIT> and <CIT>.

According to an aspect of the present invention, a system may include a lock, a control device, a storage device storing a set of instructions, and at least one processor in communication with the storage device. The lock includes a locking mechanism configured to move between a first position and a second position. The lock has a locked status under which the locking mechanism is in the first position and an open status under which the locking mechanism is in the second position. The control device is configured to cause the locking mechanism to move between the first position and the second position. When executing the instructions, the at least one processor is configured to cause the system to obtain a request to close the lock such that the lock is in the locked status, and actuate the control device to cause the locking mechanism to move toward the first position. The at least one processor also causes the system to obtain operation information of the lock during the movement of the locking mechanism toward the first position, and determine whether the operation information of the lock satisfies a condition relating to an operation of the lock. The at least one processor further causes the system to actuate the control device to cause the locking mechanism to move to the first position or the second position based on a result of the determination as to whether the operation information of the lock satisfies the condition.

In some embodiments, the system may further include a status detection device configured to determine whether the lock is in the open status or locked status. The at least one processor may also cause the system to actuate the status detection device to determine whether the lock is in the locked status, and actuate the control device to cause the locking mechanism to move toward the first position based on a result of the determination that the lock is not in the locked status.

In some embodiments, the system may further include an obstacle detection device configured to detect whether an obstacle is present in a pathway of the locking mechanism between the first position and the second position. The at least one processor may also cause the system to actuate the obstacle detection device to detect whether an obstacle is present in the pathway of the locking mechanism between the first position and the second position, and actuate the control device to close the lock in response to a result of the detection that no obstacle is present in the pathway between the first position and the second position.

In some embodiments, the at least one processor may also cause the system to generate a warning in response to a result of the detection that an obstacle is present in the pathway of the locking mechanism.

In some embodiments, the at least one processor may also cause the system to transmit a message indicating that the lock is open or locked to a terminal device in response to a result of the determination that the operation information of the lock satisfies the condition.

In some embodiments, the at least one processor may also cause the system to actuate the status detection device to determine whether the lock is in the locked status, and transmit a message indicating that the lock is locked to a terminal device in response to a result of the determination that the lock is in the locked status.

According to the invention, the at least one processor may also cause the system to obtain a request to abort the request to close the lock and may, in some embodiments, determine that the operation information of the lock satisfies the condition based on the obtained request to abort.

According to the invention, the at least one processor may also cause the system to determine whether the number of times of actuating the control device to close the lock equals or exceeds a threshold number, and may, in some embodiments, determine whether the operation information of the lock satisfies the condition based on a result the determination that the number of times of actuating the control device to close the lock equals or exceeds the threshold number.

According to the invention, the at least one processor may also cause the system to determine whether a duration of closing the lock equals or exceeds a threshold period, and may, in some embodiments, determine whether the operation information of the lock satisfies the condition based on a result the determination that the duration of closing the lock equals or exceeds the threshold period.

In some embodiments, the at least one processor may also cause the system to obtain a reference time from a timing device, and determine a current time based on the obtained reference time. The at least one processor may further cause the system to determine whether the current time satisfies a condition to close the lock and generate the request to close the lock based on a result of the determination that the current time satisfies the condition to close the lock.

In some embodiments, the control device may include at least one of a motor, a worm, or a worm gear.

In some embodiments, the status detection device may include a first switch. The at least one processor may further cause the system to determine whether at least a part of the lock mechanism is physically connected to the first switch, and determine that the lock may be in the locked status based on a result of the determination that at least a part of the lock mechanism may be physically connected to the first switch.

In some embodiments, the status detection device may further include a second switch. The at least one processor may further cause the system to determine whether at least a part of the lock mechanism is physically connected to the second switch, and determine that the lock is in the open status based on a result of the determination that at least a part of the lock mechanism may be physically connected to the second switch.

In some embodiments, the status detection device may include a switch. The at least one processor may further cause the system to determine whether at least a part of the lock mechanism is physically connected to the switch, and determine that the lock may be in the open status based on a result of the determination that at least a part of the lock mechanism may be not physically connected to the switch.

According to another aspect of the present invention, a computer-implemented method includes one or more of the following operations performed by at least one processor. The method includes obtaining a request to close a lock such that the lock is in a locked status. The lock includes a locking mechanism configured to move between a first position and a second position. The lock has the locked status under which the locking mechanism is in the first position and an open status under which the locking mechanism is in the second position. The method also includes actuating a control device to cause the locking mechanism to move toward the first position and obtaining operation information of the lock during the movement of the locking mechanism toward the first position. The method further includes determining whether the operation information of the lock satisfies a condition relating to an operation of the lock, and actuating the control device to cause the locking mechanism to move to the first position or the second position based on a result of the determination as to whether the operation information of the lock satisfies the condition.

According to yet another aspect of the present invention, a non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor of a system, cause the system to perform said method. The method may include obtaining a request to close a lock such that the lock is in a locked status. The lock includes a locking mechanism configured to move between a first position and a second position. The lock has the locked status under which the locking mechanism is in the first position and an open status under which the locking mechanism is in the second position. The method also includes actuating a control device to cause the locking mechanism to move toward the first position and obtaining operation information of the lock during the movement of the locking mechanism toward the first position. The method further includes determining whether the operation information of the lock satisfies a condition relating to an operation of the lock, and actuating the control device to cause the locking mechanism to move to the first position or the second position based on a result of the determination as to whether the operation information of the lock satisfies the condition.

The present invention is further described in terms of exemplary embodiments.

The following description is presented to enable any person skilled in the art to make and use the present invention and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention, as defined in the appended claims. Thus, the present invention is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the claims.

The terminology used herein is to describe particular exemplary embodiments only and is not intended to be limiting. As used herein, the singular forms "a," "an," and "the" may be intended to include the plural forms as well, unless the context expressly indicates otherwise. It will be further understood that the terms "comprise," "comprises," and/or "comprising," "include," "includes," and/or "including," when used in the present invention, specify the presence of stated features, integers, steps, operation, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operation, elements, components, and/or groups thereof.

These and other features, and characteristics of the present invention, as well as the methods of operation and functions of the related elements of structure and the combination of parts and economies of manufacture, may become more apparent upon consideration of the following description with reference to the accompanying drawings, all of which form a part of the present invention. It is to be expressly understood, however, that the drawings are for illustration and description only, and are not intended to limit the scope of the present invention.

It will be understood that the term "system," "engine," "unit," and/or "module" used herein are one method to distinguish different components, elements, parts, sections, or assemblies of different levels in ascending order. However, the terms may be displaced by other expressions if they achieve the same purpose.

It will be understood that when a unit, engine, or module is referred to as being "on," "connected to," or "coupled to," another unit, engine, or module, it may be directly on, connected or coupled to, or communicate with the other unit, engine, or module, or an intervening unit, engine, or module may be present, unless the context clearly indicates otherwise.

The flowcharts used in the present invention illustrate operation that systems implement according to some embodiments of the present invention. It is to be expressly understood, the operation of the flowcharts may be implemented not in order. Conversely, the operation may be implemented in inverted order, or simultaneously. Moreover, one or more other operation may be added to the flowcharts. One or more operations may be omitted from the flowcharts.

The positioning technology used in the present invention may be based on a global positioning system (GPS), a global navigation satellite system (GLONASS), a compass navigation system (COMPASS), a Galileo positioning system, a quasi-zenith satellite system (QZSS), a wireless fidelity (WiFi) positioning technology, or the like, or any combination thereof. One or more of the above positioning systems may be used interchangeably in the present invention.

The present invention relates to systems and methods for controlling a lock. The lock may be used to secure a device (e.g., a bicycle, a door) based on the information related to a security system. The systems may perform the methods to receive a request to close the lock. The systems may perform the methods to actuate a control device to close the lock. The control device may drive a locking mechanism of the lock to move toward a certain position at which the lock is in the locked status. During the movement of the locking mechanism toward the certain position, the systems may perform the methods to acquire operation information of the lock and determine whether the operation information of the lock satisfies a condition relating to an operation of the lock. In response to the determination as to whether the operation information of the lock satisfies the condition, the systems may perform the methods to actuate the control device to open or close the lock.

<FIG> is a schematic diagram illustrating an exemplary security system <NUM> according to some embodiments of the present invention. The security system <NUM> may include a server <NUM>, a network <NUM>, one or more terminal devices <NUM>, a device140, a storage <NUM>, a positioning device <NUM>, and a lock <NUM>. The security system <NUM> may secure the device140 by the lock <NUM> by implementing the methods and/or processes disclosed in the present disclosure. In some embodiments, the device <NUM> to be secured may be a bicycle in a bicycle sharing system. The bicycle sharing system may provide a bicycle sharing service allowing a user to use a bicycle for a ride. When the user finishes the ride and wants to return the bicycle, the user may leave the bicycle in any area where the parking of the bicycle is permitted and lock the bicycle. The bicycle may then be ready for a next user.

The server <NUM> may communicate with the terminal device <NUM>, the device140, and/or the lock <NUM> to provide various functionalities of the security system <NUM>. In some embodiments, the server <NUM> may receive a request associated with the device <NUM> from the terminal device <NUM> via, for example, the network <NUM>. For example, the server <NUM> may receive a request to lock the device <NUM> from the terminal device <NUM> via, for example, the network <NUM>. As another example, the device <NUM> may be a bicycle in a bicycle sharing system and the request may be a service request to borrow (or rent) the bicycle. The service request may include order information relating to the ride and/or the bicycle, including, for example, a bicycle type, a departing place, a destination, mileage, a route, or the like, or any combination thereof. The service request may also include the information relating the user (e.g., the user account information) and/or the terminal device <NUM> (e.g., the location of the terminal device <NUM>).

The server <NUM> may also transmit information to the terminal device <NUM>, the device <NUM>, and/or the lock <NUM>. For instance, the server <NUM> may transmit to a device140 and/or the lock <NUM> an instruction to lock the device <NUM>, an instruction to unlock the device <NUM>, and/or the information related to the device <NUM> (e.g., the information indicating whether the device <NUM> is locked).

In some embodiments, the device <NUM> may be a bicycle in a bicycle sharing system. The server <NUM> may determine one or more bicycles in response to a service order received from the terminal device <NUM> and transmit the information relating to the one or more bicycles to the terminal device <NUM>, including, for example, the locations of the one or more bicycles, the fees for the ride (e.g., the total fees for the ride, the hourly rate for the ride), or the like, or a combination thereof. The server <NUM> may also determine a hotspot area based on historical data obtained from the terminal device <NUM>, the bicycle, and/or the storage <NUM>. The hotspot area may be an area where bicycles are in high demand. The historical data may include the number of searches for a bicycle in an area. The historical data may also include data relating to historical service orders (e.g., the number of times that the bicycles have been used in an area). The historical data may further include information provided by users via the terminal devices <NUM> (e.g., advice to place more bicycles in some area submitted by users). The server <NUM> may also provide a service fee management. The server <NUM> may determine the cost of a ride based on a monthly membership, a quarterly membership, a season (e.g., spring, summer) membership, an annual membership, or fees per ride.

In some embodiments, the server <NUM> may be a single server or a server group. The server group may be a centralized server group connected to the network <NUM> via an access point or a distributed server group connected to the network <NUM> via one or more access points, respectively. In some embodiments, the server <NUM> may be locally connected to the network <NUM> or in remote connection with the network <NUM>. For example, the server <NUM> may access information and/or data stored in the terminal device <NUM>, the device140, and/or the storage <NUM> via the network <NUM>. As another example, the storage <NUM> may serve as backend data storage of the server <NUM>. In some embodiments, the server <NUM> may be implemented on a cloud platform. Merely by way of example, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or any combination thereof.

In some embodiments, the server <NUM> may include a processing engine <NUM>. The processing engine <NUM> may process information and/or data related to performing one or more functions in the present disclosure. For example, the processing engine <NUM> may process operation information of the lock <NUM> to determine the status of the lock. In some embodiments, the processing engine <NUM> may include one or more processing units (e.g., single-core processing engine(s) or multi-core processing engine(s)). Merely by way of example, the processing engine <NUM> may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), an application-specific instruction-set processor (ASIP), a graphics processing unit (GPU), a physics processing unit (PPU), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic device (PLD), a controller, a microcontroller unit, a reduced instruction-set computer (RISC), a microprocessor, or the like, or any combination thereof.

The network <NUM> may facilitate exchange of information and/or data. In some embodiments, one or more components of the security system <NUM> (e.g., the server <NUM>, the terminal device <NUM>, the device <NUM>, the storage <NUM>, or the lock <NUM>) may transmit information and/or data to another component(s) in the security system <NUM> via the network <NUM>. For example, the server <NUM> may access and/or obtain data of a plurality of devices <NUM> from the storage <NUM> via the network <NUM>. As another example, the server <NUM> may transmit a message indicating whether the device <NUM> is locked to the terminal device <NUM> via the network <NUM>. As yet another example, the positioning device <NUM> may transmit positioning information to the terminal device <NUM> via the network <NUM>.

In some embodiments, the network <NUM> may be any type of wired or wireless network, or combination thereof. Merely by way of example, the network <NUM> may include a cable network, a wireline network, an optical fiber network, a telecommunications network, an intranet, an Internet, a local area network (LAN), a wide area network (WAN), a wireless local area network (WLAN), a metropolitan area network (MAN), a wide area network (WAN), a public telephone switched network (PSTN), a Bluetooth network, a ZigBee network, a near field communication (NFC) network, or the like, or any combination thereof. In some embodiments, the network <NUM> may include one or more network access points. For example, the network <NUM> may include wired or wireless network access points such as base stations and/or internet exchange points <NUM>-<NUM>, <NUM>-<NUM>,. , through which one or more components of the security system <NUM> may be connected to the network <NUM> to exchange data and/or information.

In some embodiments, a user may be an owner of the terminal device <NUM>. The terminal device <NUM> may receive input from the user and transmit the information relating to the input to the server <NUM> via the network <NUM>. The terminal device <NUM> may also receive information from the server <NUM> via the network <NUM>. For example, the terminal device <NUM> may receive input from the user relating to the device <NUM> to the server <NUM>, and/or receive information or instructions from the server <NUM>. Merely by way of example, a user may input a request for maintenance service when he or she fails to lock the device <NUM>. The terminal device <NUM> may be configured to transmit the request for maintenance service to the server <NUM>.

In some embodiments, the device <NUM> may be a bicycle in a bicycle sharing system. The terminal device <NUM> may be configured to transmit a service request to the server <NUM> for searching for bicycles near the location of the terminal device <NUM>. The server <NUM> may determine one or more bicycles (e.g., the locations of the bicycles, number of the bicycles) near the location of the terminal device <NUM> according to and in response to the service request. The server <NUM> may also transmit information relating to the determined one or more bicycles to the terminal device <NUM> via the network <NUM>. The information of the determined one or more bicycles may be displayed on the terminal device <NUM> associated with an electronic map. The terminal device <NUM> may receive input from the user indicating a selected bicycle from the bicycles displayed on the terminal device <NUM>, which may be transmitted to the server <NUM>. The terminal device <NUM> may also provide a walking navigation for guiding the user to the location of the selected bicycle. As another example, the terminal device <NUM> may receive input from the user for reserving a bicycle and transmit the information to the server <NUM>. As yet another example, the terminal device <NUM> may transmit feedback information provided by the user to the server <NUM>. The feedback information may include the status of the bicycle (e.g., whether any part of the bicycle needs to be repaired), improvement suggestions, etc..

In some embodiments, the terminal device <NUM> may include a mobile device <NUM>-<NUM>, a tablet computer <NUM>-<NUM>, a laptop computer <NUM>-<NUM>, a built-in device in a vehicle <NUM>-<NUM>, or the like, or any combination thereof. In some embodiments, the mobile device <NUM>-<NUM> may include a smart home device, a wearable device, a smart mobile device, a virtual reality device, an augmented reality device, or the like, or any combination thereof. In some embodiments, the smart home device may include a smart lighting device, a control device of an intelligent electrical apparatus, a smart monitoring device, a smart television, a smart video camera, an interphone, or the like, or any combination thereof. In some embodiments, the wearable device may include a smart bracelet, a smart footgear, smart glass, a smart helmet, a smart watch, smart clothing, a smart backpack, a smart accessory, or the like, or any combination thereof. In some embodiments, the smart mobile device may include a smartphone, a personal digital assistant (PDA), a gaming device, a navigation device, a point of sale (POS) device, or the like, or any combination thereof. In some embodiments, the virtual reality device and/or the augmented reality device may include a virtual reality helmet, a virtual reality glass, a virtual reality patch, an augmented reality helmet, an augmented reality glass, an augmented reality patch, or the like, or any combination thereof. For example, the virtual reality device and/or the augmented reality device may include a Google Glass™, an Oculus Rift™, a Hololens™, a Gear VR™, etc. In some embodiments, a built-in device in the vehicle <NUM>-<NUM> may include a built-in computer, a built-in onboard television, a built-in tablet, etc. In some embodiments, the terminal device <NUM> may include a signal transmitter and a signal receiver configured to communicate with the positioning device <NUM> for locating the position of the user and/or the terminal device <NUM>. For example, the terminal device <NUM> may transmit an instruction to the positioning device <NUM> to locate the position of the user and/or the terminal device <NUM>.

The device <NUM> may include any device that needs to be secured. Exemplary devices <NUM> may include a bicycle, a car, a door, a window, a cabinet, a drawer, a package, a safe box, a luggage,or the like, or any combination thereof. The lock <NUM> may be configured to lock the device <NUM>. The lock <NUM> may include any combination of mechanisms to implement the functions thereof. The lock <NUM> may be a mechanical lock or an electronic lock. The device <NUM> and the lock <NUM> may be separate parts that are mechanically connected to each other. For example, the device <NUM> and the lock <NUM> may be separate parts and the lock <NUM> may be mounted on the device <NUM>. Additionally or alternatively, the device <NUM> and the lock may form an integral device. Details regarding the lock <NUM> may be found elsewhere in the present disclosure (e.g., FIGs. <NUM> to <NUM> and the relevant descriptions thereof).

The device <NUM> and/or the lock <NUM> may communicate with the server <NUM>, the network <NUM>, the terminal device <NUM>, and/or the positioning device <NUM>. For example, the device <NUM> and/or the lock <NUM> may transmit status information of the device140 and/or the lock <NUM> to the server <NUM> via the network <NUM>. The status information may include a location of the device <NUM>, a locked/unlocked status of the device140, battery power of the device <NUM>, operation information of lock <NUM>, or the like, or a combination thereof. The server <NUM> may monitor the device <NUM> based on the status information. As another example, the device <NUM> and/or the lock <NUM> may receive an instruction (e.g., an instruction to lock/unlock the device <NUM>) from the terminal device <NUM> and/or the server <NUM>. As yet another example, the device <NUM> may include a signal transmitter and a signal receiver (e.g., a GPS component of the device <NUM>) configured to communicate with the positioning device <NUM> for locating a position of the device140.

In some embodiments, the device <NUM> may be a bicycle. The bicycle may be any type of bicycle including, for example, a unicycle, a bicycle, a tricycle, a tandem, a motor bicycle, an electric bicycle, a moped, etc. The color of a bicycle is not limiting. Merely by way of example, the color of the body of the bicycle may be yellow. In some embodiments, a bicycle may include a lock <NUM>. The bicycle and/or the lock <NUM> may be identified with a unique symbol. The unique symbol may include a bar code, a quick response (QR) code, a serial number including letters and/or digits, or the like, or any combination thereof. For example, the identification (ID) of a lock <NUM> may be obtained by scanning the QR code of the lock <NUM> and/or the QR code of the bicycle through a mobile application of the terminal device <NUM> or a camera of the terminal device <NUM> (if any). Merely by way of example, the ID of the lock <NUM> may be obtained by scanning the QR code of the bicycle through a camera of an iPhone.

The storage <NUM> may store data and/or instructions. The data may include data related to users, terminal devices <NUM>, device <NUM>, etc. Merely by way of example, the device <NUM> may be a bicycle of a bicycle sharing system. The data related to the users may include user profiles including for example, names of the users, mobile numbers of the users, ID numbers of the users, types of the users (e.g., annual card users, quarterly card users, or monthly card users), usage records of the users (e.g., riding time, cost), credit rating of the users, historical routes, account balance, etc. The data related to the bicycles may include service conditions of the bicycles (an inactive state, a booking state, on a ride, in a maintenance state, in a loss state), positions of the bicycles, types of the bicycles (e.g., a unicycle, a bicycle, a tricycle, a tandem, a motor bicycle, an electric bicycle), etc. In some embodiments, the storage <NUM> may store data obtained from the terminal device <NUM> and/or the device <NUM>. For example, the storage <NUM> may store log information associated with the terminal device <NUM>. In some embodiments, the storage <NUM> may store data and/or instructions that the server <NUM> may execute or use to perform exemplary methods described in the present disclosure.

In some embodiments, the storage <NUM> may include a mass storage, removable storage, a volatile read-and-write memory, a read-only memory (ROM), or the like, or any combination thereof. Exemplary mass storage may include a magnetic disk, an optical disk, a solid-state drive, etc. Exemplary removable storage may include a flash drive, a floppy disk, an optical disk, a memory card, a zip disk, a magnetic tape, etc. Exemplary volatile read-and-write memory may include a random access memory (RAM). Exemplary RAM may include a dynamic RAM (DRAM), a double date rate synchronous dynamic RAM (DDR SDRAM), a static RAM (SRAM), a thyristor RAM (T-RAM), and a zero-capacitor RAM (Z-RAM), etc. Exemplary ROM may include a mask ROM (MROM), a programmable ROM (PROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a compact disk ROM (CD-ROM), and a digital versatile disk ROM, etc. In some embodiments, the storage <NUM> may be implemented on a cloud platform. Merely by way of example, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or any combination thereof.

The positioning device <NUM> may determine information associated with an object, for example, one or more of the terminal device <NUM>, or the device <NUM> (e.g., a bicycle). For example, the positioning device <NUM> may determine a current time and a current location of the terminal device <NUM> and/or the device <NUM>. In some embodiments, the positioning device <NUM> may be a global positioning system (GPS), a global navigation satellite system (GLONASS), a compass navigation system (COMPASS), a BeiDou navigation satellite system, a Galileo positioning system, a quasi-zenith satellite system (QZSS), etc. The information may include a location, an elevation, a velocity, or an acceleration of the object, and/or a current time. The location may be in the form of coordinates, such as a latitude coordinate and a longitude coordinate, etc. The positioning device <NUM> may include one or more satellites, for example, a satellite <NUM>-<NUM>, a satellite <NUM>-<NUM>, and a satellite <NUM>-<NUM>. The satellite <NUM>-<NUM> through <NUM>-<NUM> may determine the information mentioned above independently or jointly. The positioning device <NUM> may transmit the information mentioned above to the terminal device <NUM>, or the device <NUM> via the network <NUM>.

In some embodiments, one or more components of the security system <NUM> may access the data and/or instructions stored in the storage <NUM> via the network <NUM>. In some embodiments, the storage <NUM> may be directly connected to the server <NUM> as a backend storage. In some embodiments, one or more components of the security system <NUM> (e.g., the server <NUM>, the terminal device <NUM>, or the device <NUM>) may have permissions to access the storage <NUM>. In some embodiments, one or more components of the security system <NUM> may read and/or modify the information related to the user, and/or the device <NUM> when one or more conditions are met. For example, the server <NUM> may read and/or modify one or more users' information after a ride of a bicycle is completed.

In some embodiments, the device <NUM> may be a bicycle of a bicycle sharing system. The information exchange between one or more components of the security system <NUM> may be initiated by way of launching the mobile application of the bicycle sharing service on a terminal device <NUM>, requesting a bicycle service, or inputting a query via the terminal device <NUM> (e.g., searching for a bicycle). The object of the service request may be any product. In some embodiments, the product may include food, medicine, commodity, chemical product, electrical appliance, clothing, car, housing, luxury, or the like, or any combination thereof. In some other embodiments, the product may include a service product, a financial product, a knowledge product, an internet product, or the like, or any combination thereof. The internet product may include an individual host product, a web product, a mobile internet product, a commercial host product, an embedded product, or the like, or any combination thereof. The mobile internet product may be used in a software of a mobile terminal, a program, a system, or the like, or any combination thereof. The mobile terminal may include a tablet computer, a laptop computer, a mobile phone, a personal digital assistant (PDA), a smart watch, a point of sale (POS) device, an onboard computer, an onboard television, a wearable device, or the like, or any combination thereof. For example, the product may be any software and/or application used on the computer or mobile phone. The software and/or application may relate to socializing, shopping, transporting, entertainment, learning, investment, or the like, or any combination thereof. In some embodiments, the software and/or application related to transporting may include a traveling software and/or application, a vehicle scheduling software and/or application, a mapping software and/or application, etc..

One of ordinary skill in the art would understand that when an element of the security system <NUM> performs, the element may perform through electrical signals and/or electromagnetic signals. For example, when a terminal device <NUM> processes a task, such as making a determination, unlocking a device <NUM>, the terminal device <NUM> may operate logic circuits in its processor to process such task. When the terminal device <NUM> transmits out a query (e.g., information relating to a location of a device140) to the server <NUM>, a processor of the terminal device <NUM> may generate electrical signals encoding the query. The processor of the terminal device <NUM> may then transmit the electrical signals to an output port. If the terminal device <NUM> communicates with the server <NUM> via a wired network, the output port may be physically connected to a cable, which further transmits the electrical signal to an input port of the server <NUM>. If the terminal device <NUM> communicates with the server <NUM> via a wireless network, the output port of the terminal device <NUM> may be one or more antennas, which convert the electrical signals to electromagnetic signals. Similarly, a device <NUM> and/or a lock <NUM> may process a task through operation of logic circuits in its processor, and receive an instruction and/or service order from the server <NUM> via electrical signals or electromagnet signals. Within an electronic device, such as the terminal device <NUM>, the device <NUM>, the lock <NUM>, and/or the server <NUM>, when a processor thereof processes an instruction, transmits out an instruction, and/or performs an action, the instruction and/or action is conducted via electrical signals. For example, when the processor retrieves data (e.g., a plurality of user profiles) from a storage medium (e.g., the storage <NUM>), it may transmit out electrical signals to a reading device of the storage medium, which may read structured data in the storage medium. The structured data may be transmitted to the processor in the form of electrical signals via a bus of the electronic device. Here, an electrical signal may refer to one electrical signal, a series of electrical signals, and/or a plurality of discrete electrical signals.

<FIG> a schematic diagram illustrating exemplary hardware and/or software components of a computing device <NUM> according to some embodiments of the present disclosure. The computing device <NUM> may be a general purpose computer or a special purpose computer. The computing device <NUM> may be used to implement any component of the security system <NUM> as described herein. For example, the processing engine <NUM> of the server <NUM>, and/or the terminal device <NUM> may be implemented on the computing device <NUM>, via its hardware, software program, firmware, or a combination thereof. Although only one such computer is shown for convenience, the computer functions related to the security system <NUM> as described herein may be implemented in a distributed manner on a number of similar platforms to distribute the processing load.

The computing device <NUM>, for example, may include COM ports <NUM> connected to and from a network (e.g., the network <NUM>) connected thereto to facilitate data communications. The computing device <NUM> may also include a processor <NUM> for executing program instructions to perform the functions of the server <NUM> described herein. The exemplary computer platform may include an internal communication bus <NUM>, program storage and data storage of different forms, for example, a disk <NUM>, and a read only memory (ROM) <NUM>, or a random access memory (RAM) <NUM>, for various data files to be processed and/or transmitted by the computer. The exemplary computer platform may also include program instructions stored in the ROM <NUM>, the RAM <NUM>, and/or another type of non-transitory storage medium to be executed by the processor <NUM>. The methods and/or processes of the present disclosure may be implemented as the program instructions. The computing device <NUM> also includes an I/O <NUM>, supporting input/output between the computer, the user, and other components therein. The computing device <NUM> may also receive programming and data via network communications.

Merely for illustration, only one CPU and/or processor is described in the computing device <NUM>. However, it should be noted that the computing device <NUM> in the present disclosure may also include multiple CPUs and/or processors, thus operation and/or method steps that are performed by one CPU and/or processor as described in the present disclosure may also be jointly or separately performed by the multiple CPUs and/or processors. For example, the CPU and/or processor of the computing device <NUM> may execute both step A and step B. As in another example, step A and step B may also be performed by two different CPUs and/or processors jointly or separately in the computing device <NUM> (e.g., the first processor executes step A and the second processor executes step B, or the first and second processors jointly execute steps A and B).

<FIG> is a schematic diagram illustrating exemplary hardware and/or software components of a mobile device <NUM> on which a terminal device may be implemented according to some embodiments of the present disclosure. As illustrated in <FIG>, the mobile device <NUM> may include a communication module <NUM>, a display <NUM>, a graphic processing unit (GPU) <NUM>, a processor <NUM>, an I/O <NUM>, a memory <NUM>, and a storage <NUM>. In some embodiments, any other suitable component, including but not limited to a system bus or a controller (not shown), may also be included in the mobile device <NUM>. In some embodiments, a mobile operating system <NUM> (e.g., iOS™, Android™, Windows Phone™) and one or more applications <NUM> may be loaded into the memory <NUM> from the storage <NUM> in order to be executed by the CPU <NUM>. The applications <NUM> may include a browser or any other suitable apps for transmitting, receiving and presenting information relating to the status of the device <NUM> (e.g., the location of the device <NUM>) from the server <NUM>. User interactions with the information stream may be achieved via the I/O <NUM> and provided to the server <NUM> and/or other components of the security system <NUM> via the network <NUM>. In some embodiments, a user may borrow (or rent) a device <NUM> (e.g., a bicycle) via the mobile device <NUM>. The user may also control the lock <NUM> of the device <NUM> via the mobile device <NUM>. For example, the user may input an instruction to close the lock via the mobile device <NUM>.

<FIG> is a schematic diagram illustrating hardware and/or software components of a device <NUM> needs to be secured according to some embodiments of the present disclosure. The device <NUM> may include a lock <NUM>, a processing device <NUM>, a communication port <NUM>, a status detection device <NUM>, a control device <NUM>, an obstacle detection device <NUM>, a power supply <NUM>, and a timing device <NUM>.

The lock <NUM> may be configured to secure the device <NUM>. For example, the device <NUM> may be a bicycle, and the lock <NUM> may be configured to lock one or more wheels of the bicycle. In some embodiments, the lock <NUM> may be configured to secure the bicycle to a fixed object such as a bicycle lock pillar or a rack. The lock <NUM> may include any combination of mechanisms to implement the functions thereof. For example, the lock <NUM> may include a mechanical lock or an electronic lock.

In some embodiments, the lock <NUM> may include a locking mechanism. The locking mechanism may include a lock tongue, a bolt, a lock cylinder, or the like. The lock mechanism may be movable along a predetermined pathway. The status of the lock <NUM> may change with the movement of the locking mechanism. For example, the locking mechanism may move between a first position and a second position. The lock <NUM> may have a locked status when the locking mechanism is in the first position. The lock <NUM> may have an open status when the locking mechanism is in the second position.

The processing device <NUM> may acquire information and/or instruction related to one or more components of the device <NUM>, including, for example, the lock <NUM>. The processing device <NUM> may also process the information and/or the instruction. Additionally or alternatively, the processing device <NUM> may control the operation of other components of the device <NUM> based on the acquired and/or the processed information and/or instruction. In some embodiments, the processing device <NUM> may include an acquisition module, a control module, and a processing module. Details regarding the processing device <NUM> may be found elsewhere in the present disclosure (e.g., <FIG> and the relevant descriptions thereof).

In some embodiments, the processing device <NUM> may include but is not limited to a central processing unit (CPU), an application-specific integrated circuit (ASIC), an application specific instruction set processor (ASIP), a physics processing unit (PPU), a digital processing processor (DSP), a field-programmable gate array (FPGA), a programmable logic device (PLD), a processor, a microprocessor, a controller, a microcontroller, or the like, or any combination thereof.

The communication port <NUM> may facilitate communications between other components of the security system <NUM>, including, for example, the device <NUM>, the terminal device <NUM>, and/or the server <NUM>. The communicationport <NUM> may utilize various wireless technologies such as a cellular communication technology (e.g., GSM, CDMA, <NUM>, <NUM>, <NUM>), a short range radio communication technology (e.g., Bluetooth, NFC, radio frequency (RF), Zigbee), narrow band internet of things (NB-loT), lower-power wide-area network (LPWAN) (e.g., LoRa), etc..

The status detection device <NUM> may determine the status of the lock <NUM>. The status detection device <NUM> may include a first switch. The status detection device <NUM> may determine the status of the lock <NUM> by determining whether at least part of the locking mechanism is physically connected to the first switch. Upon a result of the determination that at least part of the locking mechanism is physically connected to the first switch, the status detection device <NUM> may determine that the lock <NUM> is in the locked status. On the other hand, upon a result of the determination that at least part of the locking mechanism is not physically connected to the first switch , the status detection device <NUM> may determine that the lock is not in the locked status (i.e., in the open status).

Additionally or alternatively, the status detection device <NUM> may include a second switch. The status detection device <NUM> may determine whether the lock <NUM> is in the locked status by determining whether at least part of the locking mechanism is physically connected to the second switch. Upon a result of the determination that the at least part of the locking mechanism is physically connected to the second switch, the status detection device <NUM> may determine that the lock <NUM> is in the open status.

The control device <NUM> may control the lock <NUM>. For example, the control device <NUM> may open the lock <NUM> (i.e., releasing the device <NUM>) and lock (i.e., locking the device <NUM>) in response to instructions from the server <NUM> and/or the terminal device <NUM>. In some embodiments, the control device <NUM> may control the status of the lock <NUM> via controlling the movement of a locking mechanism of the lock <NUM>. For example, the control device <NUM> may cause the locking mechanism to move toward a certain position (e.g., the first position corresponding to the locked status of the lock <NUM>, or the second position corresponding to the open status of the lock <NUM>) such that the lock <NUM> is in a different status. In some embodiments, the control device <NUM> may include a motor, a worm gear, and a worm. Details regarding the control device <NUM> may be found elsewhere in the present disclosure (e.g., <FIG> and the relevant descriptions).

The obstacle detection device <NUM> may determine whether an obstacle is present in the pathway of the locking mechanism between the first position and the second position. The obstacle detection device <NUM> may include a signal emitting device and a signal receiving device. The signal emitting device may emit a signal toward the signal receiving device. The signal may include infrared light, ultraviolet light, laser light, visible light, or the like, or any combination thereof. In some embodiments, the signal emitting device may be mounted in or near the second position corresponding to the open status of the lock <NUM>, and the signal receiver may be mounted in or near the first position corresponding to the locked status of the lock <NUM>. Alternatively, the signal emitting device may be mounted in or near the first position, and the signal receiver may be mounted in or near the second position.

The obstacle detection device <NUM> may determine whether an obstacle is present in the pathway of the locking mechanism based on a determination as to whether the signal receiving device receives the signal from the signal emitting device. When an obstacle is present in the pathway of the locking mechanism between the first position and the second position, it may completely or partially block the signal from transmitting to the signal receiving device. The obstacle detection device <NUM> may determine that an obstacle is present in the pathway of the locking mechanism when the signal receiving device receives no or a weak signal. The obstacle detection device <NUM> may determine that no obstacle is present when the signal receiving device receives the signal or a strong signal.

In some embodiments, the obstacle detection device <NUM> may be an infrared device including an infrared emitter and an infrared receiver. The infrared emitter may emit an infrared light toward the infrared receiver. The obstacle detection device <NUM> may determine that an obstacle is present in the pathway of the locking mechanism when the infrared receives no or a weak infrared light. The obstacle detection device <NUM> may determine that no obstacle is present when the infrared receives the infrared light or strong infrared light.

The power supply <NUM> may provide the power for operations of components of the device <NUM> (e.g., the communication port <NUM>, the status detection device <NUM>, the control device <NUM>, and the obstacle detection device <NUM>). The power supply <NUM> may include a battery charged by solar energy, kinetic energy (e.g., during a ride of the device <NUM>, the battery may be charged), wind energy, mechanical energy, etc. In some embodiments, the power supply <NUM> may be a <NUM> battery.

The timing device <NUM> may provide a reference time to the processing device <NUM>. In some embodiments, the timing device <NUM> may include a clock chip and a crystal oscillator. The crystal oscillator may keep track of the current time, and the clock chip may transmit the current time to the processing device <NUM>. The current time may serve as the reference time for the processing device <NUM>.

In some embodiments, the device <NUM> may include one or more other components, for example, a positioning module (e.g., a GPS device), a display, a moving component (e.g., a pedal, a wheel), a gearing component (e.g., a bicycle chain), an arresting component (e.g., a brake), an alarming component (e.g., a bell), or the like, or any combination thereof. In some embodiments, one or more components may be integrated one component. For example, any one of the processing device <NUM>, the communication port <NUM>, the status detection device <NUM>, the control device <NUM>, the obstacle detection device <NUM>, the power supply <NUM>, and the timing device <NUM> may be integrated into the lock <NUM>.

It should be noted that the above descriptions of the device <NUM> are provided for illustration, and not intended to limit the scope of the present invention, as it is defined by the appended claims. For persons having ordinary skills in the art, various modifications and changes in the forms and details of the application of the above method and system may occur without departing from the principles of the present invention. However, those variations and modifications also fall within the scope of the present invention.

<FIG> is a block diagram illustrating an exemplary processing device <NUM> according to some embodiments of the present invention. The processing device <NUM> may include an acquisition module <NUM>, a control module <NUM>, a processing module <NUM>, and a transmission module <NUM>. Each module may be a hardware circuit that is designed to perform the following actions, a set of instructions stored in one or more storage media, and/or a combination of the hardware circuit and the one or more storage media.

The acquisition module <NUM> may be configured to obtain information and/or instructions. The information and/or instructions may be related to one or more components of the device <NUM>, such as the lock <NUM>. For example, the information may include operation information (e.g., the status of the lock <NUM>) and/or positioning information of the lock <NUM>, time information. The instruction may include a request to close the lock <NUM>, a request to abort the request to close the lock <NUM>, or the like, or any combination thereof.

The acquisition module <NUM> may acquire the information and/or the instructions from one or more components of the security system <NUM> (e.g., the storage device <NUM>, the server <NUM>, the terminal device <NUM>) via the communication port <NUM> and the network <NUM>. Additionally or alternatively, the acquisition module <NUM> may acquire the information and/or the instructions from one or more components of the device <NUM>, such as the status detection device <NUM>, the obstacle detection device <NUM>, or the like, or any combination thereof.

The control module <NUM> may control the operation of one or more components of the device <NUM>. For example, the control module <NUM> may actuate the status detection device <NUM> to determine the status of the lock <NUM>. As another example, the control module <NUM> may actuate the obstacle detection device <NUM> to detect whether an obstacle is present in a pathway of the locking mechanism.

The processing module <NUM> may be configured to process information related to one or more components of the device <NUM>. For example, the processing module <NUM> may process information related to the lock <NUM>, such as operation information, positioning information, a result of obstacle detection, a result of status detection, time information, or the like, or any combination thereof. The processing module <NUM> may process the information and determine an operation of the lock <NUM>. For example, the processing module <NUM> may determine whether the lock <NUM> needs to be closed or opened based on the time information and/or the operation information.

The transmission module <NUM> may be configured to transmit information and/or instructions to other components of the security system <NUM>, such as the server <NUM>, the terminal device <NUM>. For example, the transmission module <NUM> may transmit a message indicating the status of the lock <NUM> to the terminal device <NUM>.

In some embodiments, the processing device <NUM> may include one or more other modules. For example, the processing device <NUM> may include a storage module to store data generated by the above-mentioned modules. In some embodiments, one or more modules described may be integrated into the processing engine <NUM>. Additionally or alternatively, the processing engine <NUM> may include one or more similar modules to those of processing device <NUM> configured to perform at least part of the functions of the processing device <NUM> disclosed in this application.

It should be noted that the above descriptions of the processing device <NUM> is provided for the purposes of illustration, and not intended to limit the scope of the present invention, as defined by the appended claims. For persons having ordinary skills in the art, various modifications and changes in the forms and details of the application of the above method and system may occur without departing from the principles of the present invention. However, those variations and modifications also fall within the scope of the present invention.

<FIG> is a flowchart illustrating an exemplary process for closing a lock according to some embodiments of the present invention. Process <NUM> may be executed by the security system <NUM>. For example, the process <NUM> may be implemented as a set of instructions (e.g., an application) stored in a storage device (e.g., the storage device <NUM> and/or a storage device of the device <NUM>). In some embodiments, at least part of the process <NUM> may be performed by the processing engine <NUM> (implemented in, for example, the computing device <NUM> shown in <FIG>) or the processing device <NUM> of the device <NUM>. For illustration purposes, the implement of the process <NUM> on the processing device <NUM> is described as an example.

In <NUM>, the processing device <NUM> (e.g., acquisition module <NUM>) may obtain a request to close a lock. In some embodiments, the lock may be a lock <NUM> of a device <NUM>. The lock <NUM> may include a locking mechanism, such as a lock tongue, a bolt, a lock cylinder, or the like. The locking mechanism may be movable along a predetermined pathway. The status of the lock <NUM> may change with the movement of the locking mechanism. For example, the locking mechanism may move between a first position and a second position. The lock <NUM> may have a locked status when the locking mechanism is in the first position. The lock <NUM> may have an open status when the locking mechanism is in the second position.

The acquisition module <NUM> may obtain the request to close the lock from one or more components of the security system <NUM> (e.g., the server <NUM>, the terminal device <NUM>). For example, the acquisition module <NUM> may obtain the request to close the lock <NUM> from a terminal device <NUM>. The request to close the lock <NUM> may be inputted by a user (e.g., an owner of a device <NUM> on which the lock <NUM> is mounted, a borrower of the device <NUM> on which the lock <NUM> is mounted) via the terminal device <NUM>. For brevity, the device <NUM> on which the lock <NUM> is mounted is referred to as the device <NUM> herein.

Additionally or alternatively, the acquisition module <NUM> may obtain the request to close the lock <NUM> from the processing module <NUM>. The processing module <NUM> may generate the request to close the lock <NUM> according to, such as the current time, the operation information of the lock <NUM>, the operation information of the device <NUM>, or the like, or any combination thereof. For example, the processing module <NUM> may generate the request to close the lock <NUM> according to the current time. Details regarding the generation of the request to close the lock <NUM> based on the current time may be found elsewhere in the present disclosure (e.g., <FIG> and the relevant descriptions).

As another example, the processing module <NUM> may generate the request to close the lock <NUM> according to a duration when the lock <NUM> or the device <NUM> stays at one place. A positioning component of the device <NUM> may collect positioning information of the device <NUM>. The processing module <NUM> may determine the duration when the lock <NUM> or the device <NUM> stays in a place based on the positioning information. The processing module <NUM> may generate the request to close the lock <NUM> when, for example, the duration exceeds a period threshold.

In <NUM>, the processing device <NUM> (e.g., the control module <NUM>) may actuate the status detection device <NUM> to determine whether the lock <NUM> is locked (i.e., being in the locked status). The status detection device <NUM> may include a first switch described in connection with <FIG>. The status detection device <NUM> may determine whether the lock <NUM> is in the locked status by determining whether at least part of the locking mechanism is physically connected to the first switch. Upon a result of the determination that the at least part of the locking mechanism is physically connected to the first switch, the status detection device <NUM> may determine that the lock <NUM> is in the locked status. Upon a result of the determination that the at least part of the locking mechanism is not physically connected to the first switch, the status detection device <NUM> may determine that the lock <NUM> is not in the locked status. Details regarding the status detection device <NUM> may be found elsewhere in the present disclosure (e.g., <FIG> and the relevant descriptions).

The status detection device <NUM> may transmit to the processing device <NUM> (e.g., the processing module <NUM>) the result of the determination as to whether the lock <NUM> is in the locked status. Upon the result of the determination that the lock <NUM> is in the locked status, the process <NUM> may be terminated. Upon the result of the determination that the lock <NUM> is not in the locked status, the process <NUM> may proceed to <NUM>.

In <NUM>, the processing device <NUM> (e.g., the control module <NUM>) may actuate an obstacle detection device <NUM> to detect whether an obstacle is present in a pathway of the locking mechanism between the first position and the second position. In some embodiments, the obstacle detection device <NUM> may include a signal emitting device and a signal receiving device configured to perform obstacle detection as described in connection with <FIG>. Details regarding the obstacle detection device <NUM> may be found elsewhere in the present disclosure (e.g., <FIG> and the relevant descriptions).

The obstacle detection device <NUM> may transmit to the processing device <NUM> (e.g., the processing module <NUM>) the result of the determination as to whether an obstacle is present in the pathway of the locking mechanism.

In <NUM>, the processing device <NUM> (e.g., processing module <NUM>) may determine whether an obstacle is present in the pathway of the locking mechanism between the first position and the second position based on the result of obstacle detection received from the obstacle detection device <NUM>. Upon a result that no obstacle is present in the pathway of the locking mechanism, the process <NUM> may proceed to <NUM>. On the other hand, upon a result that an obstacle is present in the pathway of the locking mechanism, the process <NUM> may proceed to <NUM>.

In <NUM>, the processing device <NUM> may generate a warning of the obstacle. For example, the control module <NUM> may actuate an alarming device of the lock <NUM> or the device <NUM> (not shown in figures) to generate an alarm to warn the obstacle. The alarm may include a sound, a vibration, light, or the like, or any combination thereof. Alternatively or additionally, the transmission module <NUM> may transmit a message to a terminal device <NUM> of a user (e.g., an owner of the device <NUM>, a borrower of the device <NUM>) via the communication port <NUM> and the network <NUM>. The message may indicate that there is the obstacle in the pathway of the locking mechanism. The message may be a text message, a voice message, a phone call, a graph message, or the like, or any combination thereof.

Additionally or alternatively, the transmission module <NUM> may transmit the message to the server <NUM>. The message may further include information related to the lock <NUM> (or the device <NUM>), for example, the ID of the device <NUM>, the position information of the device <NUM>. The server <NUM> may determine a maintenance station close to the lock <NUM> (or the device <NUM>), and transmit the information of the maintenance station to the lock <NUM> (or the device <NUM>). The lock <NUM> (or the device <NUM>) may in return transmit the message to the maintenance station. Alternatively, the transmission module <NUM> may transmit the message to a maintenance station and/or a maintenance personnel of the security system <NUM> directly.

In <NUM>, the processing device <NUM> (e.g., the control module <NUM>) may actuate a control device <NUM> to cause the locking mechanism to move toward the first position such that the lock <NUM> may be in the locked status. In some embodiments, the control device <NUM> may include a motor, a worm gear, and a worm. The motor may drive the worm gear to revolve in a certain direction, which may cause the worm to revolve. The revolution of the worm may cause the locking mechanism to move toward the first position such that the lock <NUM> is locked. Details regarding the control device <NUM> may be found elsewhere in the present disclosure (e.g., <FIG> and <FIG>, and the relevant descriptions thereof).

In <NUM>, the processing device <NUM> (e.g., the acquisition module <NUM>) may obtain operation information of the lock <NUM> during the movement of the locking mechanism toward the first position. The operation information of the lock <NUM> may include the number of times of actuating the control device <NUM> to close the lock <NUM>, a duration of closing the lock <NUM>, and/or a request to abort the request to close the lock <NUM>, or the like, or any combination thereof. The acquisition module <NUM> may obtain the operation information from a storage device of the security system <NUM>, such as the storage device <NUM>, a storage of the lock <NUM> or the device140 (not shown in figures).

In <NUM>, the processing device <NUM> (e.g., the processing module <NUM>) may determine whether the operation information of the lock <NUM> satisfies a condition relating to an operation of the lock <NUM>. For example, the operation information may be the number of times of actuating the control device <NUM> to close the lock <NUM>. The condition may be that the number of times equals or exceeds a threshold number. The processing module <NUM> may determine that the operation information satisfies the condition when the number of the times of actuating the control device <NUM> equals or exceeds the threshold number. As another example, the operation information may be a duration of closing the lock <NUM>. The condition may be that the duration of closing the lock <NUM> equals or exceeds a threshold period. The processing module <NUM> may determine that the operation information satisfies the condition when the duration of closing the lock <NUM> equals or exceeds the threshold period. As yet another example, the condition may be that whether a request to abort the request to close the lock <NUM> is obtained during the movement of the locking mechanism toward the first position. The request to abort may be acquired by, such as the acquisition module <NUM> and/or the communication port <NUM>. The processing module <NUM> may determine that the operation information satisfies the condition when the request to abort is obtained during the movement of the locking mechanism toward the first position. In some embodiments, the request to abort may be inputted by a user via a terminal (will be described in connection with <FIG>).

The condition to close the lock <NUM> (e.g., the threshold number and/or the threshold duration) may be set manually or be determined by one or more components of the security system <NUM> (e.g., the processing module <NUM>) according to different situations. The processing device <NUM> (e.g., the control module <NUM>) may actuate the control device <NUM> to cause the locking mechanism to move to the first position or the second position based on a result of the determination as to whether the operation information of the lock <NUM> satisfies the condition. For example, upon a result of the determination that the operation information satisfies the condition, the process <NUM> may proceed to <NUM>. On the other hand, upon a result of the determination that operation does not satisfy the condition, the process <NUM> may proceed to <NUM>.

In <NUM>, the processing device <NUM> (e.g., the control module <NUM>) may actuate the control device <NUM> to cause the locking mechanism to move to the second position such that the lock <NUM> is in the open status. Step <NUM> may be similar to step <NUM>, and the detailed descriptions thereof are not repeated here.

In <NUM>, the processing device <NUM> (e.g., the control module <NUM>) may actuate the status detection device <NUM> to determine whether the lock <NUM> is in the locked status. The status detection device <NUM> may transmit a result of the status detection to the processing device <NUM>. Step <NUM> may be similar to step <NUM>, and the detailed descriptions thereof are not repeated here.

In <NUM>, the processing device <NUM> (e.g., the processing module <NUM>) may determine whether the lock <NUM> is in the locked status based on the result of status detection received from the status detection device <NUM>. Upon a result that the determination that the lock <NUM> is in the locked, the process <NUM> may be terminated. On the other hand, upon a result of the determination that the lock <NUM> is not in the locked, the process <NUM> may proceed to <NUM> until the operation information satisfies the condition, or the lock <NUM> is in the locked status. For example, the processing device <NUM> may execute step <NUM> again to actuate the control device <NUM> to cause the locking mechanism to move toward the first position. The acquisition module <NUM> may update the operation information of the lock <NUM> such as the number of times of actuating the control device <NUM> to close the lock <NUM>, the duration of closing the lock <NUM>, or the like, or any combination thereof. Further, the processing module <NUM> may determine whether the updated operation information satisfies the condition. Upon a result of the determination that the updated operation information satisfies the condition, the process <NUM> may proceed to step <NUM> such that the lock may be in the open status. On the other hand, upon a result of the determination that the updated operation information does not satisfy the condition, the process <NUM> may proceed to step <NUM>.

In some embodiments, the process <NUM> may be accomplished with one or more additional operations and/or without one or more of the operations discussed. For example, one or more steps of steps <NUM> to <NUM> may be omitted. The process <NUM> may proceed to step <NUM> without the status detection and/or the obstacle detection. Additionally or alternatively, steps <NUM> or <NUM> may be omitted. The process may proceed to <NUM> again after the processing device <NUM> determines that the operation information does not satisfy the condition in <NUM>.

As another example, after the status detection device <NUM> detects that the lock <NUM> is in the locked status in step <NUM> or step <NUM>, the transmission module <NUM> may transmit a message to a terminal device <NUM> of a user (e.g., an owner of the device <NUM>, a borrower of the device <NUM>) via the communication port <NUM> and the network <NUM>. The message may indicate that the lock <NUM> is locked.

As yet another example, in response to a result of the determination that the operation information of the lock satisfies the condition in <NUM>, the transmission module <NUM> may transmit another message indicating that the lock <NUM> is open or locked to one or more components of the security system <NUM>. When the processing module <NUM> determines that operation information of the lock satisfies the condition, the transmission module <NUM> may transmit a message indicating that the lock <NUM> is open to a terminal device <NUM> of a user (e.g., an owner of the device <NUM>, a borrower of the device <NUM>). Additionally or alternatively, when the processing module <NUM> determines that the number of times of actuating the control device <NUM> to close the lock equals or exceeds a threshold number, or the duration of closing the lock <NUM> equals or exceeds a threshold period in step <NUM>, the transmission module <NUM> may transmit the message to a maintenance station, a maintenance personnel, and/or the server <NUM>. The message may indicate that the lock <NUM> is in the open status and might break down. The message may also include the information of the lock <NUM> (or the device <NUM>), for example, the ID of the device <NUM>, the position information of the device <NUM>. The message may be similar to the message as described in connection with step <NUM>, and the detailed descriptions are not repeated here.

It should be noted that the above description of the process <NUM> is merely provided for illustration, and not intended to limit the scope of the present invention, as it is defined by the appended claims. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present invention. However, those variations and modifications do not depart from the scope of the present invention.

<FIG> is a flowchart illustrating an exemplary process for closing a lock according to some embodiments of the present invention. In some embodiments, process <NUM> may be an embodiment of the process <NUM> in which the request to close the lock <NUM> is obtained from a terminal device <NUM>.

The process <NUM> may be executed by the security system <NUM>. For example, the process <NUM> may be implemented as a set of instructions (e.g., an application) stored in a storage device (e.g., the storage device <NUM> and/or a storage device of the device <NUM>). In some embodiments, at least part of the process <NUM> may be performed by the processing engine <NUM> (implemented in, for example, the computing device <NUM> shown in <FIG>) or the processing device <NUM> of the device <NUM>. For illustration purposes, the implement of the process <NUM> on the processing device <NUM> is described as an example.

In <NUM>, the processing device <NUM> (acquisition module <NUM>) may obtain a request, from a terminal device <NUM>, to close a lock <NUM> via, for example, the network <NUM>. The lock <NUM> may be similar to the lock as described in connection with step <NUM>, and the detailed descriptions thereof are not repeated here.

The request to close the lock <NUM> may be inputted by a user (e.g., an owner of a device <NUM>, a borrower of the device <NUM>) via the terminal device <NUM>. In some embodiments, the user may input the request to close the lock <NUM> via the terminal device <NUM>. For example, the user may press a key for closing the lock <NUM> in an application installed in the terminal device <NUM>, make a sound received by the terminal device <NUM>, scan a particular QR code using the terminal device <NUM>, or the like. In some embodiments, the user may keep pressing the key for closing the lock <NUM> during the process of closing the lock <NUM> (e.g., during the movement of the locking mechanism toward the first position as described in connection with step <NUM>). The user may terminate inputting the request to close the lock by releasing the key for closing the lock <NUM> during the process of closing the lock <NUM>, and the lock <NUM> may not be locked if the user terminates the inputting.

In <NUM>, the processing device <NUM> (e.g., the control module <NUM>) may actuate an obstacle detection device <NUM> to detect whether an obstacle is present in a pathway of the locking mechanism between the first position and the second position. The obstacle detection device <NUM> may transmit the obstacle detection result to the processing module <NUM>. Details regarding the obstacle detection device <NUM> may be found elsewhere in the present disclosure (e.g., <FIG> and the relevant descriptions thereof).

In <NUM>, the processing device <NUM> (e.g., processing module <NUM>) may determine whether an obstacle is present in the pathway of the locking mechanism based on the result of obstacle detection received from the obstacle detection device <NUM>. Upon a result that an obstacle is present in the pathway of the locking mechanism, the process <NUM> may proceed to <NUM>. On the other hand, upon a result that no obstacle is present in the pathway of the locking mechanism, the process <NUM> may proceed to <NUM>.

In <NUM>, the processing device <NUM> (the transmission module <NUM>) may transmit a message indicating that the obstacle is present in the pathway of the locking mechanism to the terminal device <NUM> via the communication port <NUM> and the network <NUM>. The message may be a text message, a voice message, a graph message, a phone call, or the like.

In <NUM>, the processing device <NUM> (e.g., the control module <NUM>) may actuate a control device <NUM> to cause the locking mechanism to move toward the first position such that the lock <NUM> may be in the locked status. Step <NUM> may be similar to step <NUM> described elsewhere in this disclosure, and the detailed descriptions thereof are not repeated here.

In <NUM>, the processing device <NUM> (e.g., processing module <NUM>) may determine whether a request to abort the request to close the lock <NUM> is obtained during the movement of the locking mechanism toward the first position. Upon a result of the determination that the request to abort is obtained, the process <NUM> may proceed to <NUM>. On the other hand, upon a result of the determination that the request to abort is not obtained, the process <NUM> may proceed to <NUM>. The request to abort may be inputted by the user via the terminal device <NUM> and obtained by the communication port <NUM> and/or the acquisition module <NUM>. In some embodiments, the user may enter the abort request via the terminal device <NUM>. For example, the user may press a key for abort closing the lock <NUM> in an application installed in the terminal device <NUM>, make a sound received by the terminal device <NUM>, scan a particular QR code using the terminal device <NUM>, or the like. In some embodiments, the user may keep pressing the key for closing the lock <NUM> during the movement of the locking mechanism toward the first position. The user may enter the abort request by releasing the key for closing the lock <NUM> during the movement of the locking mechanism toward the first position.

In <NUM>, the processing device <NUM> (e.g., the control module <NUM>) may actuate the status detection device <NUM> to determine whether the lock <NUM> is in the locked status. In some embodiments, step <NUM> may be performed at a certain time after step <NUM>. For example, the status detection device <NUM> may determine whether the lock <NUM> is in the locked status <NUM> seconds after the control module <NUM> actuates the control device <NUM> to cause the locking mechanism to move toward the first position. Step <NUM> may be similar to step <NUM>, and the detailed descriptions thereof are not repeated here.

In <NUM>, the processing device <NUM> (e.g., processing module <NUM>) may determine whether the lock <NUM> is in the locked status based on the result of the status detection from the status detection <NUM>. Upon a result that the lock <NUM> is in the locked status, the process <NUM> may proceed to <NUM>. Upon a result that the lock <NUM> is not in the locked status, the process <NUM> may proceed to <NUM>.

In <NUM>, the transmission module <NUM> may transmit a message indicating that the lock <NUM> is locked to the terminal device <NUM> via the communication port <NUM> and the network <NUM>. The message may be a text message, a voice message, a phone call, a graph message, a sound, or the like.

In <NUM>, transmission module <NUM> may transmit a message indicating that the lock <NUM> is opened to the terminal device <NUM> via the communication port <NUM> and the network <NUM>. The message may be a text message, a voice message, a phone call, a graph message, a sound, or the like.

In some embodiments, the process <NUM> may be accomplished with one or more additional operations and/or without one or more of the operations discussed. For example, one or more steps of steps <NUM>, <NUM>, <NUM>, <NUM> or <NUM> may be omitted. As another example, the process <NUM> may include one or more additional operations as described in connection with <FIG>. In some embodiments, after <NUM>, the processing device <NUM> may implement steps <NUM> to <NUM>. In some embodiments, after <NUM>, the processing device <NUM> may implement step <NUM> generate a warning of the obstacle.

<FIG> is a flowchart illustrating an exemplary process for generating an instruction to close a lock according to some embodiments of the present invention. In some embodiments, step <NUM> may be performed according to process <NUM>. The process <NUM> may be executed by the security system <NUM>. For example, the process <NUM> may be implemented as a set of instructions (e.g., an application) stored in in a storage device (e.g., the storage device <NUM> and/or a storage device of the device <NUM>). In some embodiments, at least part of the process <NUM> may be performed by the processing engine <NUM> (implemented in, for example, the computing device <NUM> shown in <FIG>) or the processing device <NUM> of the device <NUM>. For illustration purposes, the implement of the process <NUM> on the processing device <NUM> is described as an example.

In <NUM>, the processing device <NUM> (acquisition module <NUM>) may obtain a reference time from the timing device <NUM>. The reference time may be a time point related to a certain event. For example, the reference time may be a time point when the acquisition module <NUM> receives a request to borrow (or rent) the device <NUM> or a request to return the device <NUM> inputted by a user via the terminal device <NUM>.

In some embodiments, the timing device <NUM> may include a clock chip and a crystal oscillator. The crystal oscillator may keep track of the current time, and the clock chip may transmit the current time to the processing device <NUM>. For example, the reference time may be the time point when the acquisition module <NUM> receives the request to return the device <NUM> inputted by the user via the terminal device <NUM>. When the acquisition module <NUM> receives the request to return the device <NUM>, the clock chip may transmit the current time to the processing device <NUM>, and the current time may further serve as the reference time for the processing device <NUM>.

In <NUM>, the processing device <NUM> (e.g., the processing module <NUM>) may determine a current time base on the reference time. The processing module <NUM> may start to time after receiving the reference time from the timing device <NUM> to determine the current time. For example, when the acquisition module <NUM> receives the request to return the device <NUM> from a user, the clock chip may transmit the current time (i.e., the reference time) to the processing device <NUM>, and the processing module <NUM> may start to time after receiving the reference time and update, continuously or periodically, the current time based on the time lapsed. Merely by way of example, when the acquisition module <NUM> receives the request to return the device <NUM>, the clock chip may transmit the current time, <NUM>:<NUM> p. , to the processing device <NUM>, and the processing module <NUM> may start to time. The processing module <NUM> may also update the current time as <NUM>:<NUM> p. if <NUM> minutes lapsed.

In <NUM>, the processing device <NUM> (e.g., the processing module <NUM>) may determine whether the current time satisfies a condition to close the lock <NUM>. The condition to close the lock <NUM> may be set manually or be determined by one or more components of the security system <NUM> (e.g., the processing module <NUM>) according to different situations. For example, the condition may be that the current time is within a certain period. Merely by way of example, the condition may be that the current time is within the period from <NUM>:<NUM> a. to <NUM>:<NUM> a. If the current time is within the certain period, the processing module <NUM> may determine that the condition to close the lock <NUM> is satisfied. If the current time is not within the certain period, the processing module <NUM> may determine that the condition to close the lock <NUM> is not satisfied. The certain period may be any suitable period. In some embodiments, the certain period may be a period when the most users (e.g., borrowers of the devices <NUM>) are not likely to use the device <NUM>. For example, the certain period may be <NUM>:<NUM> a. to <NUM>:<NUM> a. , <NUM>:<NUM> a. to <NUM>:<NUM> a. , or the like. Additionally or alternatively, the condition may be that the difference between the current time and the reference time equals or exceeds a threshold period. When the difference between the current time and the reference time equals or exceeds the threshold period, the processing module <NUM> may determine that the condition to close the lock <NUM> is satisfied. When the difference between the current time and the reference time is less than the threshold period, the processing module <NUM> may determine that the condition to close the lock <NUM> is not satisfied. For example, the reference time may be the time point when the acquisition module <NUM> receives the request to return the device <NUM> inputted by the user via the terminal device <NUM>, and the processing module <NUM> may determine that the condition is satisfied after the acquisition module <NUM> receives the request to return the device <NUM> for a period threshold. The period threshold may be any suitable value, such as <NUM> minutes, <NUM> hour, or <NUM> hours.

Upon a result of the determination that the current time satisfies the condition, the process <NUM> may proceed to <NUM>. Upon a result of the determination that the current time does not satisfy the condition, the process <NUM> may proceed to <NUM> to update the current time. Further, the processing module <NUM> may determine whether the updated current time satisfies the condition to close the lock <NUM>. Upon a result of the determination that the updated current time satisfies the condition, the process <NUM> may proceed to step <NUM>. Upon a result of the determination that the updated current time does not satisfy the condition, the process <NUM> may proceed to <NUM> again.

In <NUM>, the processing device <NUM> (e.g., the processing module <NUM>) may generate an instruction to close the lock <NUM>. The processing module <NUM> may transmit the instruction to one or more components of the security system <NUM>. For example, the processing module <NUM> may transmit the instruction the control device <NUM> to actuate the control device <NUM> to close the lock <NUM>. Additionally or alternatively, the processing module <NUM> may transmit the instruction to the acquisition module <NUM> as described elsewhere in this disclosure in connection with step <NUM>.

In some embodiments, the process <NUM> may be accomplished with one or more additional operations, and/or without one or more of the operations discussed. For example, steps <NUM> and <NUM> may be omitted. The processing device <NUM> may obtain the current time from the timing device <NUM> periodically (e.g., in every <NUM> minutes), and determine whether the current time satisfies the condition to close the lock <NUM> in <NUM>.

<FIG> is a schematic diagram illustrating an exemplary lock according to some embodiments of the present invention. The lock <NUM> may be an embodiment of the lock <NUM> as described elsewhere in this disclosure (e.g., <FIG> and the relevant descriptions thereof). In some embodiments, the lock <NUM> may be configured to secure a device <NUM> (e.g., a bicycle) to a fixed object such as a lock pillar or a rack. The lock <NUM> may include any combination of mechanisms to implement the functions thereof described in this disclosure.

In some embodiments, the lock <NUM> may include a processing device <NUM>, a power supply <NUM>, a locking mechanism <NUM>, a control device, and a status detection device.

The processing device <NUM> may process information and/or instruction related to performing one or more functions as described elsewhere in this disclosure in connection with <FIG>. The processing device <NUM> may also control the operation of other components of the lock <NUM> (e.g., the control device, the status detection device) based on the acquired and/or the processed information and/or instruction. In some embodiments, the processing device <NUM> may be a circuit board.

The power supply <NUM> may provide the power for operations of components of the lock <NUM> (e.g., the processing device <NUM>, the control device, the status detection device). In some embodiments, the power supply <NUM> may be a <NUM> battery.

The locking mechanism <NUM> may include a lock tongue, a bolt, a lock cylinder, or the like. The lock mechanism <NUM> may be movable along a predetermined pathway. The status of the lock <NUM> may be changed with the movement of the locking mechanism <NUM>. For example, the lock <NUM> may have a locked status when an end of the locking mechanism <NUM> is in the position B as illustrated in <FIG>. The lock <NUM> may have an open status when the end of the locking mechanism <NUM> is the locking mechanism <NUM> is not in the position B (e.g., in the position A).

In some embodiments, the first position of the locking mechanism <NUM> as described elsewhere in this disclosure may be the position B. The second position the locking mechanism <NUM> is as described elsewhere in this disclosure may be any position other than the position B. For example, the second position may be the position A.

The control device may control the movement of the locking mechanism <NUM> to control the status of the lock <NUM> (i.e., to open or lock the lock <NUM>). The control device may include a motor <NUM>, a worm gear <NUM>, and a worm <NUM>. The motor <NUM> may drive the worm gear <NUM> to revolve in a certain direction, which may cause the worm <NUM> to revolve. The revolution of the worm <NUM> may cause the locking mechanism to move toward a certain position.

For example, the motor <NUM> may drive the worm gear <NUM> to revolve in a first direction, which may cause the worm <NUM> to revolve in the anticlockwise direction in <FIG>. The revolution of worm <NUM> may further cause the locking mechanism <NUM> to move toward the position B via the gear engagement. As another example, the motor <NUM> may drive the worm gear <NUM> to revolve in the opposite direction of the first direction, which may cause the worm <NUM> to revolve in the clockwise direction in <FIG>. The revolution of worm <NUM> may further cause the locking mechanism <NUM> to move toward the position A. In some embodiments, the motor <NUM> may be a direct-current motor.

The status detection device may determine the status of the lock <NUM>. The status detection device may include a first switch <NUM> and a second switch <NUM>. The first switch <NUM> may be configured to detect whether the lock <NUM> is in the locked status. When at least part of the locking mechanism <NUM> is physically connected to the first switch <NUM>, the status detection device may determine that the lock <NUM> is in the locked status. In some embodiments, the first switch <NUM> may include a spring strip, which may have a first contact. When at least part of the locking mechanism <NUM> is physically connected to the first contact of the first switch <NUM>, the status detection device may determine that the lock <NUM> may be in the locked status.

The second switch <NUM> may be configured to determine whether the lock <NUM> is in the open status. When the locking mechanism <NUM> is physically connected to the second switch <NUM>, the status detection device may determine that the lock <NUM> is in the open status. In some embodiments, the second switch <NUM> may include a spring strip, which may include a second contact. When the locking mechanism <NUM> is physically connected to the second contact of the second switch <NUM>, the status detection device may determine that the lock <NUM> is in the open status.

In some embodiments, the lock <NUM> may include only one of the first switch <NUM> and the second switch <NUM>. For example, the lock <NUM> may only include the first switch <NUM>. When the locking mechanism <NUM> is physically connected to the first switch <NUM> (or the first contact of the first switch <NUM>), the lock <NUM> is in the locked status. When the locking mechanism <NUM> is not physically connected to the first switch <NUM> (or the first contact of the first switch <NUM>), the status detection device may determine that the lock <NUM> is in the open status.

It should be noted that the lock <NUM> illustrated in <FIG> is merely provided for illustration, and not intended to limit the scope of the present invention, as it is defined by the appended claims. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present invention. However, those variations and modifications do not depart from the scope of the present invention.

<FIG> and <FIG> are schematic diagrams illustrating an exemplary lock according to some embodiments of the present invention. The lock <NUM> may be similar to the lock <NUM> except for certain components or features.

The lock <NUM> may include an obstacle detection device configured to determine whether an obstacle is present in the pathway of the locking mechanism <NUM> between the positions A and B. The obstacle detection device may include a signal emitting device <NUM> and a signal receiving device <NUM>. The signal emitting device <NUM> may emit a signal toward the signal receiving device <NUM>. The signal may include infrared light, ultraviolet light, laser light, visible light, or the like, or any combination thereof. In some embodiments, the signal emitting device <NUM> may be an infrared emitter and the signal receiving device <NUM> may be an infrared receiver.

The signal emitting device <NUM> may be mounted in or near the position B corresponding to the locked status of the lock <NUM>. The signal receiving device <NUM> may be mounted in or near the position A corresponding to the open status of the lock <NUM>. Alternatively, the signal emitting device <NUM> may be mounted in or near the position A and the receiving device <NUM> may be mounted in or near the position B.

If an obstacle is not present in the pathway of the locking mechanism <NUM> between the positions A and B as illustrated in <FIG>, the signal emitted by the signal emitting device <NUM> may be received by the signal emitting device <NUM>. The obstacle detection device may determine that no obstacle is present if the signal receiving device <NUM> receives the signal emitted by signal emitting device <NUM>.

When an obstacle (e.g., an obstacle <NUM>) is present in the pathway of the locking mechanism <NUM> as illustrated in <FIG>, it may completely or partially block the signal. The obstacle detection device may determine that an obstacle is present in the pathway of the locking mechanism <NUM> if the signal receiving device <NUM> receives no or weak signal.

In some embodiments, the lock <NUM> or the lock <NUM> may include one or more additional components and/or without one or more of the components discussed. For example, the status detection device and/or the obstacle detection device may be omitted. As another example, the processing device <NUM> and/or the power source <NUM> may be integrated into a device (e.g., a bicycle) on which the lock <NUM> or the lock <NUM> is mounted on.

It should be noted that the examples illustrated in FIGs. <NUM> to FIG. <NUM> are provided for illustration, and not intended to limit the scope of the present invention, as it is defined by the appended claims. For persons having ordinary skills in the art, steps may be combined in various ways or switched with other steps. Various variations and modifications may be conducted after understanding the process. However, those variations and modifications may not depart from the spirit and scope of this invention.

Certain terminology has been used to describe embodiments of the present invention. For example, the terms "one embodiment," "an embodiment," and/or "some embodiments" mean that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Furthermore, the particular features, structures or characteristics may be combined as suitable in one or more embodiments of the present invention, as defined by the appended claims.

Further, it will be appreciated by one skilled in the art, the present invention may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, the present invention may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementation that may all generally be referred to herein as a "unit," "module," or "system. " Furthermore, the present invention may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.

Such a propagated signal may take any of a variety of forms, including electromagnetic, optical, or the like, or any suitable combination thereof.

Computer program code for carrying out operations for the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB. NET, Python or the like, conventional procedural programming languages, such as the "C" programming language, Visual Basic, Fortran <NUM>, Perl, COBOL <NUM>, PHP, ABAP, dynamic programming languages such as Python, Ruby, and Groovy, or other programming languages.

Claim 1:
A system, comprising:
a lock (<NUM>) including a locking mechanism, the locking mechanism be configured to move between a first position and a second position, the lock having a locked status under which the locking mechanism is in the first position and an open status under which the locking mechanism is in the second position;
a control device (<NUM>) configured to cause the locking mechanism to move between the first position and the second position;
a storage device storing a set of instructions; and
at least one processor in communication with the storage device, wherein when executing the instructions, the at least one processor is configured to cause the system to:
obtain a request to close the lock such that the lock is in the locked status;
actuate the control device to cause the locking mechanism to move toward the first position;
obtain, during the movement of the locking mechanism toward the first position, operation information of the lock;
determine whether the operation information of the lock satisfies a condition relating to an operation of the lock; and
actuate the control device to cause the locking mechanism to move to the first position or the second position based on a result of the determination as to whether the operation information of the lock satisfies the condition,
wherein the operation information relates to:
whether a request to abort the request to close the lock is obtained;
whether a number of times of actuating the control device to close the lock equals or exceeds a threshold number; or
whether a duration of closing the lock equals or exceeds a threshold period.