TECHNICAL FIELD
The present embodiments relate to security lighting systems and wireless audio/video (A/V) recording and communication devices.
BACKGROUND
Home security is a concern for many homeowners and renters. Some exterior lighting systems include motion sensors that activate the lights when motion is detected. Such exterior lighting systems may startle would-be burglars when the lights suddenly turn on unexpectedly. These systems can thus deter crime in and around the home.
SUMMARY
The various embodiments of the present floodlight controllers with wireless audio/video recording and communication features have several features, no single one of which is solely responsible for their desirable attributes. Without limiting the scope of the present embodiments as expressed by the claims that follow, their more prominent features now will be discussed briefly. After considering this discussion, and particularly after reading the section entitled “Detailed Description,” one will understand how the features of the present embodiments provide the advantages described herein.
One aspect of the present embodiments includes the realization that conventional exterior lighting systems may be only marginally effective at deterring intruders. For example, when a motion sensor of an exterior lighting system detects an intruder, the lights may be activated, which may startle the intruder. Savvy burglars, and other types of criminals, however, may not be startled by a light simply turning on. Further, an illuminated floodlight does little to protect a premises from invasion or burglary if no occupant is present at the time the intruder(s) enter the property. The present embodiments address these shortcomings of conventional exterior lighting systems by adding audio/video (A/V) recording and communication capabilities. For example, when a motion sensor of an exterior lighting system detects an intruder, the lights may be activated, which may startle the intruder. But the intruder is likely to be further startled, and thus more likely to flee, if he or she hears the sound of a human voice. Thus, it would be advantageous to provide an exterior lighting system having a camera that enables the property owner (or renter) to see a live view of the area near the lighting system, and a speaker that enables the property owner (or renter) to provide a live verbal warning to any intruders. It would be further advantageous if audio and/or video captured by the lighting/surveillance system could be uploaded to the cloud and recorded on a remote server. Subsequent review of the A/V footage could aid law enforcement in capturing perpetrators of home burglaries and other crimes. Further, the presence of one or more lighting/surveillance devices on the exterior of a home would act as a powerful deterrent against would-be burglars. Some of the present embodiments may enable the user to remotely control light and/or sound emitted from the floodlight controller, which may further enhance the ability of the present floodlight controllers to scare away intruders.
In a first aspect, a floodlight controller for activating and deactivating a floodlight device is provided, the floodlight controller comprising a camera including an image sensor and having a field of view, a switch having an open condition and a closed condition, and a processor operatively connected to the camera and operatively connected to the switch, wherein the processor is configured to receive an input from the camera and produce an output to the switch to cause the switch to transition from the open condition to the closed condition.
An embodiment of the first aspect further comprises a floodlight device, wherein the floodlight controller is operatively connected to the floodlight device.
In another embodiment of the first aspect, when the switch transitions from the open condition to the closed condition the floodlight device is activated to illuminate at least one floodlight of the floodlight device.
Another embodiment of the first aspect further comprises a communication module including a wireless transceiver, the communication module being configured to facilitate two-way audio communication between a first person located at the floodlight controller and a second person located remotely from the floodlight controller.
Another embodiment of the first aspect further comprises a microphone configured to capture audio from an area about the floodlight controller.
Another embodiment of the first aspect further comprises a speaker configured to produce sound.
In another embodiment of the first aspect, the communication module is further configured to transmit video information from the camera to a network.
Another embodiment of the first aspect further comprises at least one motion sensor.
In another embodiment of the first aspect, the at least one motion sensor is operatively connected to the processor, and the processor is configured to receive an input from the at least one motion sensor and produce an output to the switch to cause the switch to transition from the open condition to the closed condition.
In another embodiment of the first aspect, the image sensor comprises a video recording sensor or a camera chip.
Another embodiment of the first aspect further comprises at least one infrared (IR) light-emitting component configured to illuminate the field of view to enable the image sensor to capture images under conditions of low ambient light.
Another embodiment of the first aspect further comprises a microphone configured to capture audio from an area about the floodlight controller.
Another embodiment of the first aspect further comprises a speaker configured to produce sound.
Another embodiment of the first aspect further comprises storage configured to store audio and/or video information captured by the floodlight controller, and a battery configured to power the floodlight controller.
In a second aspect, a floodlight controller for activating and deactivating a floodlight device is provided, the floodlight controller comprising a camera including an image sensor and having a field of view, at least one motion sensor, a switch having an open condition and a closed condition, and a processor operatively connected to the at least one motion sensor and operatively connected to the switch, wherein the processor is configured to receive an input from the at least one motion sensor and produce an output to the switch to cause the switch to transition from the open condition to the closed condition.
An embodiment of the second aspect further comprises a floodlight device, wherein the floodlight controller is operatively connected to the floodlight device.
In another embodiment of the second aspect, when the switch transitions from the open condition to the closed condition the floodlight device is activated to illuminate at least one floodlight of the floodlight device.
Another embodiment of the second aspect further comprises a communication module including a wireless transceiver, the communication module being configured to facilitate two-way audio communication between a first person located at the floodlight controller and a second person located remotely from the floodlight controller.
Another embodiment of the second aspect further comprises a microphone configured to capture audio from an area about the floodlight controller.
Another embodiment of the second aspect further comprises a speaker configured to produce sound.
In another embodiment of the second aspect, the communication module is further configured to transmit video information from the camera to a network.
In another embodiment of the second aspect, the image sensor comprises a video recording sensor or a camera chip.
Another embodiment of the second aspect further comprises at least one infrared (IR) light-emitting component configured to illuminate the field of view to enable the image sensor to capture images under conditions of low ambient light.
Another embodiment of the second aspect further comprises a microphone configured to capture audio from an area about the floodlight controller.
Another embodiment of the second aspect further comprises a speaker configured to produce sound.
Another embodiment of the second aspect further comprises storage configured to store audio and/or video information captured by the floodlight controller, and a battery configured to power the floodlight controller.
In a third aspect, a floodlight assembly is provided, the floodlight assembly comprising a floodlight device having at least one floodlight, the at least one floodlight having an off condition and an on condition, and a floodlight controller for turning on and off the at least one floodlight, wherein the floodlight controller comprises a camera including an image sensor and having a field of view, the camera being configured to detect motion within the field of view, a switch having an open condition and a closed condition, wherein when the switch is in the open condition the at least one floodlight of the floodlight device is in the off condition and when the switch is in the closed condition the at least one floodlight of the floodlight device is in the on condition, and a processor operatively connected to the camera and operatively connected to the switch, wherein the processor is configured to receive an input from the camera when motion is detected within the field of view and produce an output to the switch to cause the switch to transition from the open condition to the closed condition to thereby cause the at least one floodlight of the floodlight device to turn on.
In an embodiment of the third aspect, the floodlight controller further comprises a communication module including a wireless transceiver, the communication module being configured to facilitate two-way audio communication between a first person located at the floodlight controller and a second person located remotely from the floodlight controller.
In another embodiment of the third aspect, the floodlight controller further comprises a microphone configured to capture audio from an area about the floodlight controller.
In another embodiment of the third aspect, the floodlight controller further comprises a speaker configured to produce sound.
In another embodiment of the third aspect, the communication module is further configured to transmit video information from the camera to a network.
In another embodiment of the third aspect, the floodlight controller further comprises at least one motion sensor.
In another embodiment of the third aspect, the at least one motion sensor is operatively connected to the processor, and the processor is configured to receive an input from the at least one motion sensor and produce an output to the switch to cause the switch to transition from the open condition to the closed condition to thereby cause the at least one floodlight of the floodlight device to turn on.
In another embodiment of the third aspect, the image sensor of the camera comprises a video recording sensor or a camera chip.
In another embodiment of the third aspect, the floodlight controller further comprises at least one infrared (IR) light-emitting component configured to illuminate the field of view to enable the image sensor to capture images under conditions of low ambient light.
In another embodiment of the third aspect, the floodlight controller further comprises a microphone configured to capture audio from an area about the floodlight controller.
In another embodiment of the third aspect, the floodlight controller further comprises a speaker configured to produce sound.
In another embodiment of the third aspect, the floodlight controller further comprises storage configured to store audio and/or video information captured by the floodlight controller, and a battery configured to power the floodlight controller.
In a fourth aspect, a floodlight controller for activating and deactivating a floodlight device is provided, the floodlight controller comprising a housing, a camera including an image sensor and having a field of view, at least one motion sensor, wherein the at least one motion sensor is positioned adjacent a tapered lower portion of the housing, wherein the tapered lower portion of the housing includes an opening that allows the at least one motion sensor to be exposed to incoming infrared (IR) light, and wherein the opening lies in a plane P that is not perpendicular to a vertical axis A of the floodlight controller.
In an embodiment of the fourth aspect, the plane P slopes upward in the direction from a rear wall of the housing toward a front wall of the housing.
Another embodiment of the fourth aspect further comprises a Fresnel lens covering the opening, the Fresnel lens being configured to concentrate the incoming IR light onto the at least one motion sensor to thereby enhance the sensitivity of the at least one motion sensor to detect motion.
In another embodiment of the fourth aspect, the at least one motion sensor comprises three passive infrared (PIR) sensors.
Another embodiment of the fourth aspect further comprises an inverted pyramidal PIR sensor holder, wherein the PIR sensors are arranged about three surfaces of the inverted pyramidal PIR sensor holder.
In another embodiment of the fourth aspect, the three surfaces of the inverted pyramidal PIR sensor holder are configured to point the PIR sensors at a downward angle.
In another embodiment of the fourth aspect, the PIR sensors are configured to detect motion in an area of about 270 degrees around the front and sides of the floodlight controller.
In another embodiment of the fourth aspect, the PIR sensors are arranged such that a first one of the PIR sensors is pointed toward the front of the floodlight controller.
In another embodiment of the fourth aspect, the PIR sensors are arranged such that a second one of the PIR sensors is pointed toward the right side of the floodlight controller.
In another embodiment of the fourth aspect, the PIR sensors are arranged such that a third one of the PIR sensors is pointed toward the left side of the floodlight controller.
Another embodiment of the fourth aspect further comprises a floodlight device, wherein the floodlight controller is operatively connected to the floodlight device for activating and deactivating the floodlight device.
In another embodiment of the fourth aspect, the housing further comprises a camera opening configured to expose the camera to the field of view.
In another embodiment of the fourth aspect, the housing further comprises a microphone opening configured to expose a microphone of the floodlight controller to capture audio from an area about the floodlight controller.
In another embodiment of the fourth aspect, the housing further comprises a speaker opening configured to expose a speaker of the floodlight controller to produce sound audible to the area about the floodlight controller.
In another embodiment of the fourth aspect, the housing further comprises a fourth opening configured to expose at least one IR light-emitting component of the floodlight controller to illuminate the field of view to enable the image sensor to capture images under conditions of low ambient light.
Another embodiment of the fourth aspect further comprises at least one light-emitting element.
In another embodiment of the fourth aspect, the at least one light-emitting element comprises at least one light-emitting diode (LED).
In another embodiment of the fourth aspect, the at least one light-emitting element comprises three LEDs.
In another embodiment of the fourth aspect, the at least one LED is configured to emit light in a plurality of colors.
BRIEF DESCRIPTION OF THE DRAWINGS
The various embodiments of the present floodlight controllers with wireless audio/video (A/V) recording and communication features now will be discussed in detail with an emphasis on highlighting the advantageous features. These embodiments depict the novel and non-obvious floodlight controllers with wireless A/V recording and communication features shown in the accompanying drawings, which are for illustrative purposes only. These drawings include the following figures, in which like numerals indicate like parts:
FIG. 1 is a functional block diagram illustrating a network of devices including a floodlight controller with wireless A/V recording and communication features according to the present embodiments;
FIG. 2 is a flowchart illustrating a process for streaming and storing A/V content from a floodlight controller according to various aspects of the present disclosure;
FIG. 3 is a functional block diagram of one embodiment of a floodlight controller with wireless A/V recording and communication features according to the present disclosure;
FIG. 4 is an upper front perspective view of one embodiment of a floodlight controller with wireless A/V recording and communication features according to the present disclosure;
FIG. 5 is an upper front perspective view of the floodlight controller with wireless A/V recording and communication features of FIG. 4 with some front-facing components removed;
FIG. 6 is a front left-side perspective view of the floodlight controller with wireless A/V recording and communication features of FIG. 4 with some outer components removed;
FIG. 7 is a front right-side perspective view of the floodlight controller with wireless A/V recording and communication features of FIG. 4 with some outer components removed;
FIG. 8 is a lower front perspective view of the floodlight controller with wireless A/V recording and communication features of FIG. 4 with a lower cover removed;
FIG. 9 is a right-side elevation view of the floodlight controller with wireless A/V recording and communication features of FIG. 4;
FIG. 10 is a front elevation view of the floodlight controller with wireless A/V recording and communication features of FIG. 4 in combination with a floodlight device according to the present disclosure;
FIG. 11 is a functional block diagram of another embodiment of a floodlight controller with wireless A/V recording and communication features according to various aspects of the present disclosure;
FIG. 12 is a flowchart illustrating a process for recording and storing A/V content with a floodlight controller according to various aspects of the present disclosure;
FIG. 13 is an upper front perspective view of another embodiment of a floodlight controller with wireless A/V recording and communication features according to the present disclosure;
FIG. 14 is a right-side elevation view of the floodlight controller with wireless A/V recording and communication features of FIG. 13;
FIG. 15 is a left-side elevation view of the floodlight controller with wireless A/V recording and communication features of FIG. 13;
FIG. 16 is a lower front perspective view of another embodiment of a floodlight controller with wireless A/V recording and communication features according to the present disclosure;
FIG. 17 is a functional block diagram of a client device on which the present embodiments may be implemented according to various aspects of the present disclosure; and
FIG. 18 is a functional block diagram of a general-purpose computing system on which the present embodiments may be implemented according to various aspects of present disclosure.
DETAILED DESCRIPTION
The following detailed description describes the present embodiments with reference to the drawings. In the drawings, reference numbers label elements of the present embodiments. These reference numbers are reproduced below in connection with the discussion of the corresponding drawing features.
The embodiments of the present floodlight controllers with wireless audio/video (A/V) recording and communication features are described below with reference to the figures. These figures, and their written descriptions, indicate that certain components of the apparatus are formed integrally, and certain other components are formed as separate pieces. Those of ordinary skill in the art will appreciate that components shown and described herein as being formed integrally may in alternative embodiments be formed as separate pieces. Those of ordinary skill in the art will further appreciate that components shown and described herein as being formed as separate pieces may in alternative embodiments be formed integrally. Further, as used herein the term integral describes a single unitary piece.
Many properties, such as homes and businesses, include outdoor security lighting. A typical outdoor security lighting device includes one or more floodlights and a motion sensor that illuminates the floodlights when motion is detected. Outdoor security lighting devices can thus deter crime by scaring away intruders who are startled by the sudden unexpected illumination that happens when the motion sensor of the outdoor security lighting device detects the intruder's motion.
The deterrent effect of typical outdoor security lighting devices is, however, limited. A determined criminal is unlikely to be deterred by simple illumination alone, particularly when the criminal believes that the property is currently unoccupied. The present embodiments enhance the deterrent effect of outdoor security lighting devices by adding audio and video capabilities. For example, some of the present embodiments include a camera and a wireless communication module that enables a user to receive live streaming video, using a computing device such as a smartphone, of an intruder within the field of view of the camera. The user can thus observe the intruder even when the user is not at home (or not present at whatever type of property where the camera is located). Some of the present embodiments also include a speaker that enables the user to speak to the intruder. The user can thus provide live verbal warnings to the intruder, thereby creating the illusion that the user is on the property even when the user is somewhere else. If the intruder is fooled into believing that the property owner is present, he or she is more likely to flee. Footage captured by the camera, in addition to being streamed to the user's computing device, may also be uploaded to the cloud and later used to identify, apprehend, and/or convict the intruder. Some of the present embodiments include a camera, a wireless communication module, a speaker, and other components in a compact unit that can be connected to existing outdoor security lighting devices. For example, some of the present embodiments may be integrated into existing outdoor security lighting devices as a replacement for the motion sensor.
With reference to FIG. 1, the present embodiments include a floodlight controller 100 with wireless A/V recording and communication features. The floodlight controller 100 is configured for use with a floodlight device 102 including one or more floodlights (shown in later figures). The floodlight controller 100 and the floodlight device 102 may be located on or around the exterior of a structure (not shown), such as a dwelling, a business, a storage facility, etc. The floodlight controller 100 and the floodlight device 102 may also be located within the interior of a structure (not shown), such as a dwelling, a business, a storage facility, etc.
As described in detail below, the floodlight controller 100 is configured to activate (illuminate) the floodlights of the floodlight device 102 when motion is detected in the area about the floodlight controller 100. The floodlight controller 100 is further configured to record video from the area about the floodlight controller 100, and in some embodiments may also enable two-way audio communication between a first person in the area about the floodlight controller 100 and a second person located remotely from the area about the floodlight controller 100.
With reference to FIG. 1, the floodlight controller 100 includes a camera 104, a microphone 106, and a speaker 108. The camera 104 may comprise, for example, a high definition (HD) video camera, such as one capable of capturing video images at an image display resolution of 1080p or better. While not shown in FIG. 1, the floodlight controller 100 may also include other hardware and/or components, such as a housing, one or more motion sensors (and/or other types of sensors), a wireless communication module, etc. One or more of these other hardware and/or components are described below with reference to FIG. 3 et al.
With further reference to FIG. 1, the floodlight controller 100 communicates with a user's network 110, which may be for example a wired and/or wireless network. If the user's network 110 is wireless, or includes a wireless component, the network 110 may be a Wi-Fi network compatible with the IEEE 802.11 standard and/or other wireless communication standard(s). The user's network 110 is connected to another network 112, which may comprise, for example, the Internet and/or a public switched telephone network (PSTN). As described below, the floodlight controller 100 may communicate with a user's client device 114 via the user's network 110 and the network 112 (Internet/PSTN). The user's client device 114 may comprise, for example, a mobile telephone (may also be referred to as a cellular telephone), such as a smartphone, a personal digital assistant (PDA), a computer (e.g. tablet, laptop, desktop, etc.), or another communication device. The user's client device 114 comprises a display (not shown in FIG. 1) and related components capable of displaying streaming and/or recorded video images. The user's client device 114 may also comprise a speaker and related components capable of broadcasting streaming and/or recorded audio, and may also comprise a microphone. The floodlight controller 100 may also communicate with one or more remote storage device(s) 116 (may be referred to interchangeably as “cloud storage device(s)”), one or more servers 118, and/or a backend API (application programming interface) 120 via the user's network 110 and the network 112 (Internet/PSTN). While FIG. 1 illustrates the storage device 116, the server 118, and the backend API 120 as components separate from the network 112, it is to be understood that the storage device 116, the server 118, and/or the backend API 120 may be considered to be components of the network 112.
The network 112 may be any wireless network or any wired network, or a combination thereof, configured to operatively couple the above mentioned modules, devices, and systems as shown in FIG. 1. For example, the network 112 may include one or more of the following: a PSTN (public switched telephone network), the Internet, a local intranet, a PAN (Personal Area Network), a LAN (Local Area Network), a WAN (Wide Area Network), a MAN (Metropolitan Area Network), a virtual private network (VPN), a storage area network (SAN), a frame relay connection, an Advanced Intelligent Network (AIN) connection, a synchronous optical network (SONET) connection, a digital T1, T3, E1, or E3 line, a Digital Data Service (DDS) connection, a DSL (Digital Subscriber Line) connection, an Ethernet connection, an ISDN (Integrated Services Digital Network) line, a dial-up port such as a V.90, V.34, or V.34bis analog modem connection, a cable modem, an ATM (Asynchronous Transfer Mode) connection, or an FDDI (Fiber Distributed Data Interface) or CDDI (Copper Distributed Data Interface) connection. Furthermore, communications may also include links to any of a variety of wireless networks, including WAP (Wireless Application Protocol), GPRS (General Packet Radio Service), GSM (Global System for Mobile Communication), CDMA (Code Division Multiple Access), TDMA (Time Division Multiple Access), FDMA (Frequency Division Multiple Access), and/or OFDMA (Orthogonal Frequency Division Multiple Access) cellular phone networks, GPS, CDPD (cellular digital packet data), RIM (Research in Motion, Limited) duplex paging network, Bluetooth radio, or an IEEE 802.11-based radio frequency network. The network can further include or interface with any one or more of the following: RS-232 serial connection, IEEE-1394 (Firewire) connection, Fibre Channel connection, IrDA (infrared) port, SCSI (Small Computer Systems Interface) connection, USB (Universal Serial Bus) connection, or other wired or wireless, digital or analog, interface or connection, mesh or Digi® networking.
According to one or more aspects of the present embodiments, when a person (may be referred to interchangeably as “visitor”) enters the area about the floodlight controller 100, the floodlight controller 100 detects the visitor's presence. The floodlight controller 100 may detect the visitor's presence using the camera 104 and/or a motion sensor, as described below. The camera 104 may capture video images within a field of view of the camera 104, and may thereby capture video images of the visitor. The video recording/capture may begin when the visitor is detected, or may begin earlier, as described below. The floodlight controller 100 may also capture audio through the microphone 106.
In some embodiments, the camera 104 may have zoom and/or panning functionality, such as digital zoom and/or panning, to enable the camera 104 to focus the field of view onto an area of interest and/or to magnify the area of interest. The zooming and/or panning may, in some embodiments, be controlled by the user through the user's client device 114. Also in some embodiments, the camera 104 may have “smart” zoom and/or panning functionality, to enable the camera 104 to automatically focus and/or magnify the field of view onto a person or persons, and/or to follow the movement of the person(s) as they move about within the camera's field of view. For example, the camera 104 may be capable of detecting a human face and automatically focusing and/or magnifying the field of view onto the detected human face (or faces), and/or following the movement of the detected human face (or faces). In another example, the camera 104 may be capable of distinguishing a human in its field of view from a non-human object in its field of view. The camera 104 may further be configured to detect and/or track the movement of any detected humans, while ignoring any detections of non-human objects in its field of view.
In response to the detection of the visitor, the floodlight controller 100 turns on at least one floodlight of an associated floodlight device to illuminate the area about the floodlight controller 100. The floodlight controller 100 also sends an alert to the user's client device 114 (FIG. 1) via the user's network 110 and the network 112. The floodlight controller 100 also sends streaming video, and may also send streaming audio, to the user's client device 114 via the user's network 110 and the network 112. If the user answers the alert, two-way audio communication may then occur between the visitor and the user through the floodlight controller 100 and the user's client device 114. The user may view the visitor throughout the duration of the call, but the visitor cannot see the user.
The video images captured by the camera 104 of the floodlight controller 100 (and the audio captured by the microphone 106) may be uploaded to the cloud and recorded on the remote storage device 116 (FIG. 1). In some embodiments, the video and/or audio may be recorded on the remote storage device 116 even if the user chooses to ignore the alert sent to his or her client device 114. As described above, in some embodiments the camera 104 may have “smart” zoom and/or panning functionality. For example, the camera 104 may be capable of facial recognition, enabling the camera 104 to automatically focus and/or magnify the field of view onto a person's face, and/or to follow the movement of the person(s) as they move about within the camera's field of view. If the person in the field of view of the camera 104 is an intruder, video images of the person's face may be useful in identifying the intruder, which may help lead to the capture of the intruder. In another example, the camera 104 may be capable of distinguishing a human in its field of view from a non-human object in its field of view. The camera 104 may further be configured to detect and/or track the movement of any detected humans, while ignoring any detections of non-human objects in its field of view. In other embodiments, the zooming and/or panning functionality of the camera 104 may be controlled by the user through the user's client device 114 using the application executing on the client device 114.
With further reference to FIG. 1, the system may further comprise a backend API 120 including one or more components. A backend API (application programming interface) may comprise, for example, a server (e.g. a real server, or a virtual machine, or a machine running in a cloud infrastructure as a service), or multiple servers networked together, exposing at least one API to client(s) accessing it. These servers may include components such as application servers (e.g. software servers), depending upon what other components are included, such as a caching layer, or database layers, or other components. A backend API may, for example, comprise many such applications, each of which communicate with one another using their public APIs. In some embodiments, the API backend may hold the bulk of the user data and offer the user management capabilities, leaving the clients to have very limited state.
The backend API 120 illustrated FIG. 1 may include one or more APIs. An API is a set of routines, protocols, and tools for building software and applications. An API expresses a software component in terms of its operations, inputs, outputs, and underlying types, defining functionalities that are independent of their respective implementations, which allows definitions and implementations to vary without compromising the interface. Advantageously, an API may provide a programmer with access to an application's functionality without the programmer needing to modify the application itself, or even understand how the application works. An API may be for a web-based system, an operating system, or a database system, and it provides facilities to develop applications for that system using a given programming language. In addition to accessing databases or computer hardware like hard disk drives or video cards, an API can ease the work of programming graphical user interface (GUI) components. For example, an API can facilitate integration of new features into existing applications (a so-called “plug-in API”). An API can also assist otherwise distinct applications with sharing data, which can help to integrate and enhance the functionalities of the applications.
The backend API 120 illustrated in FIG. 1 may further include one or more services (also referred to as network services). A network service is an application that provides data storage, manipulation, presentation, communication, and/or other capability. Network services are often implemented using a client-server architecture based on application-layer network protocols. Each service may be provided by a server component running on one or more computers (such as a dedicated server computer offering multiple services) and accessed via a network by client components running on other devices. However, the client and server components can both be run on the same machine. Clients and servers may have a user interface, and sometimes other hardware associated with them.
FIG. 2 is a flowchart illustrating a process for streaming and storing A/V content from the floodlight controller 100 according to various aspects of the present disclosure. At block B130, the floodlight controller 100 detects the visitor's presence and captures video images within a field of view of the camera 104. The floodlight controller 100 may also capture audio through the microphone 106. At block B132, the floodlight controller 100 turns on at least one floodlight of an associated floodlight device to illuminate the area about the floodlight controller 100. As described above, the floodlight controller 100 may detect the visitor's presence by detecting motion using the camera 104 and/or a motion sensor. Also as described above, the video recording/capture may begin when the visitor is detected, or may begin earlier, as described below.
At block B134, a communication module of the floodlight controller 100 sends a request, via the user's network 110 and the network 112, to a device in the network 112. For example, the network device to which the request is sent may be a server such as the server 118. The server 118 may comprise a computer program and/or a machine that waits for requests from other machines or software (clients) and responds to them. A server typically processes data. One purpose of a server is to share data and/or hardware and/or software resources among clients. This architecture is called the client-server model. The clients may run on the same computer or may connect to the server over a network. Examples of computing servers include database servers, file servers, mail servers, print servers, web servers, game servers, and application servers. The term server may be construed broadly to include any computerized process that shares a resource to one or more client processes. In another example, the network device to which the request is sent may be an API such as the backend API 120, which is described above.
In response to the request, at block B136 the network device may connect the floodlight controller 100 to the user's client device 114 through the user's network 110 and the network 112. At block B138, the floodlight controller 100 may record available audio and/or video data using the camera 104, the microphone 106, and/or any other device/sensor available. At block B140, the audio and/or video data is transmitted (streamed) from the floodlight controller 100 to the user's client device 114 via the user's network 110 and the network 112. At block B142, the user may receive a notification on his or her client device 114 with a prompt to either accept or deny the call.
The notification at the user's client device 114 may include the live streaming audio and/or video, thus enabling the user to determine whether he or she should answer the call. If, for example, the streaming video shows that a person is in the field of view of the camera, the user may wish to answer the call in order to speak with that person. In one example, the person in the field of view of the camera may be a visitor whose identity is known to the user. In such a case, the user may desire to converse with the visitor. In another example, the person in the field of view of the camera may be an intruder whose identity is not known to the user. In such a case, the user may desire to startle the intruder and encourage him or her to flee, for example, by speaking (or shouting) a warning that the intruder is being recorded and/or that law enforcement has been notified and is en route to the property where the floodlight controller 100 is located.
At block B144, the process determines whether the user has accepted or denied the call. If the user denies the notification, then the process advances to block B146, where the audio and/or video data is recorded and stored at a cloud server. The session then ends at block B148 and the connection between the floodlight controller 100 and the user's client device 114 is terminated. If, however, the user accepts the notification, then at block B150 the user communicates with the visitor/intruder through the user's client device 114 while audio and/or video data captured by the camera 104, the microphone 106, and/or other devices/sensors is/are streamed to the user's client device 114. At the end of the call, the user may terminate the connection between the user's client device 114 and the floodlight controller 100 and the session ends at block B148. In some embodiments, the audio and/or video data may be recorded and stored at a cloud server (block B146) even if the user accepts the notification and communicates with the visitor/intruder through the user's client device 114.
As described above, one aspect of the present floodlight controller includes the realization that exterior lighting systems may be improved by adding audio/video (A/V) recording and communication capabilities. For example, when a motion sensor of an exterior lighting system detects an intruder, the lights may be activated, which may startle the intruder. But the intruder is likely to be further startled, and thus more likely to flee, if he or she hears the sound of a human voice. Thus, it would be advantageous to provide a floodlight controller for an exterior lighting system having a camera that enables the property owner (or renter) to see a live view of the area near the lighting system, and a speaker that enables the property owner (or renter) to provide a live verbal warning to any intruders. The present embodiments provide these advantages. The present embodiments further advantageously upload audio and/or video captured by the floodlight controller to the cloud for recording on a remote server. The A/V footage is useful to law enforcement in capturing perpetrators of home burglaries and other crimes. Further, the presence of the floodlight controller on the exterior of a home acts as a powerful deterrent against would-be burglars.
Embodiments of the present floodlight controller are advantageously configured to be connected to the existing household AC power supply. The camera of the present floodlight controller can thus be powered on continuously. Because the camera is able to be powered on continuously, it can always be recording, and recorded footage can be continuously stored in a rolling buffer or sliding window. In some embodiments, about 10-15 seconds of recorded footage can be continuously stored in the rolling buffer or sliding window. Also because the camera is able to be powered on continuously, it can be used for motion detection. The camera can thus supplement the functionality of a separate motion detection device, such as a passive infrared (PIR) sensor, or eliminate the need for a separate motion detection device. Also because the camera is able to be powered on continuously, it can be used as a light detector for use in controlling the current state of the IR cut filter and turning the IR LED on and off. The camera can thus supplement the functionality of a separate photosensor, or eliminate the need for a separate photosensor.
FIGS. 3-10 illustrate one embodiment of the floodlight controller 100 according to various aspects of the present disclosure. FIG. 3 is a functional block diagram illustrating various components of the floodlight controller 100 and their relationships to one another. For example, the floodlight controller 100 comprises an AC/DC adapter 160. The floodlight controller 100 is thus configured to be connected to a source of external AC (alternating-current) power, such as a household AC power supply (may also be referred to as AC mains). The AC power may have a voltage in the range of 110-220 VAC, for example. The incoming AC power may be received by the AC/DC adapter 160, which may convert the incoming AC power to DC (direct-current) and may step down the voltage from 110-220 VAC to a lower output voltage of about 12 VDC and an output current of about 2 A, for example. In various embodiments, the output of the AC/DC adapter 160 may be in a range of from about 9 V to about 15 V, for example, and in a range of from about 0.5 A to about 5 A, for example. These voltages and currents are only examples provided for illustration and are not limiting in any way.
With further reference to FIG. 3, the floodlight controller 100 further comprises other components, including a processor 162 (may also be referred to as a controller), a photosensor 164, an audio CODEC (coder-decoder) 166, the at least one speaker 108, the at least one microphone 106, at least one motion sensor 168, an infrared (IR) light source 170, an IR cut filter 172, an image sensor 174 (may be a component of the camera 104, and may be referred to interchangeably as the camera 104), volatile memory 176, non-volatile memory 178, a communication module 180, a button 182, a switch 184 for controlling one or more floodlights, and a plurality of light indicators 186. Each of these components is described in detail below.
With further reference to FIG. 3, the processor 162 may perform data processing and various other functions, as described below. The processor 162 may comprise an integrated circuit including a processor core, the volatile memory 176, the non-volatile memory 178, and/or programmable input/output peripherals (not shown). The volatile memory 176 may comprise, for example, DDR3 SDRAM (double data rate type three synchronous dynamic random-access memory). The non-volatile memory 178 may comprise, for example, NAND flash memory. In the embodiment illustrated in FIG. 3, the volatile memory 176 and the non-volatile memory 178 are illustrated outside the box representing the processor 162. The embodiment illustrated in FIG. 3 is, however, merely an example, and in some embodiments the volatile memory 176 and/or the non-volatile memory 178 may be physically incorporated with the processor 162, such as on the same chip. The volatile memory 176 and/or the non-volatile memory 178, regardless of their physical location, may be shared by one or more other components (in addition to the processor 162) of the present floodlight controller 100.
With further reference to FIG. 3, the image sensor 174 (camera 104), the IR light source 170, the IR cut filter 172, and the photosensor 164 are all operatively coupled to the processor 162. As described in detail below, the IR light source 170 and the IR cut filter 172 facilitate “night vision” functionality of the camera 104. For example, the photosensor 164 is configured to detect the level of ambient light about the floodlight controller 100. The processor 162 uses the input from the photosensor 164 to control the states of the IR light source 170 and the IR cut filter 172 to activate and deactivate night vision, as described below. In some embodiments, the image sensor 174 may comprise a video recording sensor or a camera chip. In some embodiments, the IR light source 170 may comprise one or more IR light-emitting diodes (LEDs).
With further reference to FIG. 3, the at least one speaker 108 and the at least one microphone 106 are operatively coupled to the audio CODEC 166, which is operatively coupled to the processor 162. The transfer of digital audio between the user and a visitor (or intruder) may be compressed and decompressed using the audio CODEC 166, as described below. The motion sensor(s) 168 is also operatively coupled to the processor 162. The motion sensor(s) 168 may comprise, for example, passive infrared (PIR) sensors, or any other type of sensor capable of detecting and communicating to the processor 162 the presence and/or motion of an object within its field of view. When the processor 162 is triggered by the motion sensor(s) 168, the processor 162 may perform one or more functions, as described below.
With further reference to FIG. 3, the communication module 180 is operatively coupled to the processor 162. The communication module 180, which includes at least one antenna 188, is configured to handle communication links between the floodlight controller 100 and other, external devices or receivers, and to route incoming/outgoing data appropriately. For example, inbound data from the antenna(s) 188 may be routed through the communication module 180 before being directed to the processor 162, and outbound data from the processor 162 may be routed through the communication module 180 before being directed to the antenna(s) 188. The communication module 180 may include one or more transceiver modules capable of transmitting and receiving data, and using, for example, one or more protocols and/or technologies, such as GSM, UMTS (3GSM), IS-95 (CDMA one), IS-2000 (CDMA 2000), LTE, FDMA, TDMA, W-CDMA, CDMA, OFDMA, Wi-Fi, WiMAX, Bluetooth, or any other protocol and/or technology. In the illustrated embodiment, the communication module 180 includes a Wi-Fi chip 190 and a Bluetooth chip 192, but these components are merely examples and are not limiting. Further, while the Wi-Fi chip 190 and the Bluetooth chip 192 are illustrated within the box representing the communication module 180, the embodiment illustrated in FIG. 3 is merely an example, and in some embodiments the Wi-Fi chip 190 and/or the Bluetooth chip 192 are not necessarily physically incorporated with the communication module 180.
In some embodiments, the communication module 180 may further comprise a wireless repeater (not shown, may al so be referred to as a wireless range extender). The wireless repeater is configured to receive a wireless signal from a wireless router (or another network device) in the user's network 110 and rebroadcast the signal. Wireless devices that are not within the broadcast range of the wireless router, or that only weakly receive the wireless signal from the wireless router, may receive the rebroadcast signal from the wireless repeater of the communication module 180, and may thus connect to the user's network 110 through the floodlight controller 100. In some embodiments, the wireless repeater may include one or more transceiver modules (not shown) capable of transmitting and receiving data, and using, for example, one or more protocols and/or technologies, such as Wi-Fi (IEEE 802.11), WiMAX (IEEE 802.16), or any other protocol and/or technology.
With further reference to FIG. 3, when a visitor (or intruder) who is present in the area about the floodlight controller 100 speaks, audio from the visitor (or intruder) is received by the microphone(s) 106 and compressed by the audio CODEC 166. Digital audio data is then sent through the communication module 180 to the network 112 (FIG. 1) via the user's network 110, routed by the server 118 and/or the API 120, and delivered to the user's client device 114. When the user speaks, after being transferred through the network 112, the user's network 110, and the communication module 180, the digital audio data from the user is decompressed by the audio CODEC 166 and emitted to the visitor through the speaker 108, which may be driven by a speaker 108 driver (not shown).
With further reference to FIG. 3, the button 182 is operatively coupled to the processor 162. The button 182 may have one or more functions, such as changing an operating mode of the floodlight controller 100 and/or triggering a reset of the floodlight controller 100. For example, when the button 182 is pressed and released, it may cause the communication module 180 of the floodlight controller 100 to enter access point (AP) mode, which may facilitate connecting the floodlight controller 100 to the user's network 110. Alternatively, or in addition, when the button 182 is pressed and held down for at least a threshold amount of time, it may trigger the erasing of any data stored at the volatile memory 176 and/or at the non-volatile memory 178, and/or may trigger a reboot of the processor 162.
With reference to FIG. 4, the floodlight controller 100 comprises a housing 200 for containing and protecting the interior components of the floodlight controller 100. The housing 200 includes a front wall 202, a rear wall 204, opposing side walls 206, 208, an upper wall 210, and a tapered lower portion 212. With reference to FIGS. 4 and 5, the front wall 202 includes a central opening 214 (FIG. 5) that receives an upper shield 216 and a lower grill 218 (FIG. 4). In the illustrated embodiment, front surfaces of the upper shield 216 and the lower grill 218 are substantially flush with a front surface of the front wall 202, but in alternative embodiments these surfaces may not be flush with one another. With reference to FIG. 4, the upper shield 216 is substantially rectangular, and includes a semicircular indentation 220 along its lower edge 222. The lower grill 218 is substantially rectangular, and includes a semicircular indentation 224 along its upper edge 226. Together, the semicircular indentations 220, 224 in the upper shield 216 and the lower grill 218 form a circular opening 228 that accommodates a light pipe 230. A cover 232 extends across and closes an outer open end of the light pipe 230. The upper shield 216, the lower grill 218, the light pipe 230, and the cover 232 are all described in further detail below.
With reference to FIGS. 5 and 6, the floodlight controller 100 further comprises the camera 104. The camera 104 is configured to capture video images from within its field of view. Those video images can be streamed to the user's client device 114 (FIG. 1) and/or uploaded to a remote network device, such as the storage device 116 and/or the server 118, for later viewing according to a process similar to, or the same as, that described above with reference to FIG. 2. The camera 104 is located in the circular opening 228 formed by the upper shield 216 and the lower grill 218 (FIG. 4), behind the cover 232, and is surrounded by the light pipe 230 (FIGS. 5 and 6). The cover 232 is preferably transparent or translucent so that it does not interfere with the field of view of the camera 104. For example, in certain embodiments the cover 232 may comprise colorless glass or plastic.
With reference to FIGS. 6 and 7, the camera 104 is coupled to a front surface 234 (FIG. 7) of a camera printed circuit board (PCB) 236, and includes a lens 238 (FIG. 6) and an imaging processor 240 (FIG. 7). The camera lens 238 may be a lens capable of focusing light into the camera 104 so that clear images may be captured. The camera 104 may comprise, for example, a high definition (HD) video camera, such as one capable of capturing video images at an image display resolution of 1080p or better. In certain of the present embodiments, the camera 104 may be used to detect motion within its field of view, as described below.
With reference to FIGS. 5 and 6, the floodlight controller 100 further comprises the infrared (IR) light source 170. In the illustrated embodiment, the IR light source 170 is located within the central opening 214 (FIG. 5) of the front wall 202, above the camera 104, and comprises a plurality of IR light-emitting diodes (LEDs) 242 coupled to a pair of IR LED printed circuit boards (PCBs) 244. With reference to FIGS. 4 and 5, the IR LEDs 242 are located behind the upper shield 216. The upper shield 216 preferably comprises a material that is transparent to IR light, but may be partially or mostly opaque with respect to light in the visible spectrum. For example, in certain embodiments the upper shield 216 may comprise a tinted plastic, such as polycarbonate. The upper shield 216, therefore, does not significantly interfere with transmission of IR light from the IR light source 170, which is located behind the upper shield 216. As described in detail below, the IR light source 170 (in conjunction with the IR cut filter 172) facilitates “night vision” functionality of the camera 104. The illustrated configuration of the IR light source 170, having IR LED PCBs 244 with each PCB including three IR LEDs 242, is merely one example and is not limiting. In alternative embodiments, the IR light source 170 may have any number of IR LED PCBs 244 and/or IR LEDs 242. In further alternative embodiments, the IR light source 170 may not comprise any IR LED PCBs 244. For example, the IR LEDs 242 may be secured to one or more other components of the floodlight controller 100. In still further alternative embodiments, the IR light source 170 may not comprise any IR LEDs 242, but may instead comprise another type of IR light-emitting component(s).
The IR light source 170 may be triggered to activate when a low level of ambient light is detected by the photosensor 164 and/or the camera 104. When activated, IR light emitted from the IR light source 170 illuminates the camera 104′s field of view. The camera 104, which may be configured to detect IR light, may then capture the IR light emitted by the IR light source 170 as it reflects off objects within the camera 104′s field of view, so that the floodlight controller 100 can clearly capture images at night (may be referred to as “night vision”).
As described above with reference to FIG. 3, the floodlight controller 100 further comprises the IR cut filter 172. The IR cut filter 172 is a mechanical shutter that can be selectively positioned between the lens 238 and the image sensor 174 of the camera 104. During daylight hours, or whenever there is a sufficient amount of ambient light, the IR cut filter 172 is positioned between the lens 238 and the image sensor 174 to filter out IR light so that it does not distort the colors of images as the human eye sees them. During nighttime hours, or whenever there is little to no ambient light, the IR cut filter 172 is withdrawn from the space between the lens 238 and the image sensor 174, so that the camera 104 is sensitive to IR light (“night vision”). The processor 162 may control the current state of the IR cut filter 172 based on the input received from the photosensor 164. In some embodiments, however, the photosensor 164 may be omitted and the camera 104 may act as a light detector for use in controlling the current state of the IR cut filter 172 (and turning the IR light source 170 on and off). Using the camera 104 as a light detector is facilitated in some embodiments by the fact that the floodlight controller 100 is powered by a connection to AC mains, and the camera 104, therefore, may always be powered on.
With further reference to FIGS. 5 and 6, the floodlight controller 100 further comprises the speaker 108. In the illustrated embodiment, the speaker 108 is located within the central opening 214 (FIG. 5) of the front wall 202, below the camera 104. With reference to FIGS. 4 and 5, the speaker 108 is located behind the lower grill 218. The lower grill 218 is preferably configured to facilitate the passage of sound through the lower grill 218 so that sounds emanating from the speaker 108 are clearly audible in the area around the floodlight controller 100. For example, in some embodiments the lower grill 218 may comprise a plurality of perforations (not shown). The lower grill 218 is preferably durable and weatherproof, and may comprise a plastic or metal material, for example. With reference to FIG. 5, the speaker 108 may be recessed within the floodlight controller 100, and a space in front of the speaker 108 may form a speaker chamber 246 configured to amplify the sounds made by the speaker 108 so that they are clearly audible in the area around the floodlight controller 100. The speaker chamber 246 may comprise a wall portion 248 extending outward from and/or around the speaker 108 toward the front wall 202 of the housing 200.
With reference to FIG. 5, the upper shield 216 and/or the lower grill 218 may abut an underlying backing plate 250, which may be integral with the housing 200 or may be a separate piece. The backing plate 250, which may be opaque, may include a first opening 252 corresponding to the location of the camera 104, a second opening 254 above the first opening and corresponding to the location of the IR light source 170, and a third opening 256 below the first opening 252 and corresponding to the location of the speaker 108.
With reference to FIG. 6, the floodlight controller 100 further comprises the microphones 106. In the illustrated embodiment, a first one 258 of the microphones 106 is located along the front of the floodlight controller 100 behind the upper shield 216 (FIG. 4) and a second one 260 of the microphones 106 is located along the left side of the floodlight controller 100 behind the left-side wall 208 (FIG. 4) of the housing 200. Including two microphones 258, 260 that are spaced from one another and located on different sides of the floodlight controller 100 provides the illustrated embodiment of the floodlight controller 100 with advantageous noise cancelling and/or echo cancelling for clearer audio. The illustrated embodiment is, however, just one example and is not limiting. Alternative embodiments may only include one microphone 106, or include two microphones 106 in different locations than as illustrated in FIG. 6.
With reference to FIGS. 4 and 5, the upper shield 216 may include a first microphone opening 262 (FIG. 4) and the backing plate 250 may include a second microphone opening 264 (FIG. 5). The first and second microphone openings 262, 264, which are aligned with one another and located in front of the first microphone 258 (FIG. 6), facilitate the passage of sound through the upper shield 216 and the backing plate 250 so that sounds from the area about the floodlight controller 100 can reach the first microphone 258. With reference to FIG. 8, the left-side wall 208 of the housing 200 may include a third microphone opening 266 located in front of the second microphone 260 (FIG. 6) that facilitates the passage of sound through the left-side wall 208 of the housing 200 so that sounds from the area about the floodlight controller 100 can reach the second microphone 260.
With reference to FIGS. 5-7, the floodlight controller 100 further comprises the light pipe 230. The light pipe 230 is a transparent or translucent ring that encircles the camera 104 (FIGS. 5 and 6) and the cover 232 (FIG. 7). With reference to FIG. 5, the light pipe 230 resides in an annular space between the first opening 252 in the backing plate 250 and the camera 104, with a front surface of the light pipe 230 being substantially flush with the front surfaces of the cover 232, the upper shield 216, and the lower grill 218, as shown in FIG. 4. With reference to FIGS. 6 and 7, a rear portion of the light pipe 230 includes a plurality of feet 268 encircling the rear periphery of the light pipe 230. The feet 268 abut a light ring printed circuit board (PCB) 270, which includes the light indicators 186 (FIG. 3) arranged in a ring on a front surface of the PCB 270, with positions of the light indicators 186 corresponding to the positions of the feet 268. In some embodiments, the light indicators 186 may comprise a plurality of LEDs that are surface mounted to the front surface of the light ring PCB 270 and are arranged in a circle around the light pipe 230. The present embodiments are not limited to the light indicators 186 being LEDs, however, and in alternative embodiments the light indicators 186 may comprise any other type of light-emitting device. When the light indicators 186 are illuminated, light is transmitted through the feet 268 and the body of the light pipe 230 so that the light is visible at the front surface of the light pipe 230. The light indicators 186 and the light pipe 230 thus provide a ring of illumination around the camera 104 and the cover 232. The light pipe 230 may comprise a plastic, for example, or any other suitable material capable of transmitting light.
The light indicators 186 and the light pipe 230 may function as visual indicators for a visitor and/or a user. For example, the light indicators 186 may illuminate upon activation or stay illuminated continuously. In one aspect, the light indicators 186 may change color to indicate that motion has been detected in the area about the floodlight controller 100. In another aspect, the light indicators 186 may indicate, with different colors and/or different blinking patterns, for example, that a connection to the user's network 110 is good, limited, poor, or not connected. In another aspect, the light indicators 186 may be used to guide the user through setup or installation steps using visual cues, potentially coupled with audio cues emitted from the speaker 108. In alternative embodiments, the light pipe 230 may be omitted.
With reference to FIG. 4, the floodlight controller 100 may further comprise a light barrier 272 surrounding inner and outer surfaces of the light pipe 230. The light barrier 272 may comprise a substantially opaque material that prevents the light generated by the light indicators 186 from bleeding into the interior spaces of the floodlight controller 100 around the light pipe 230. The light barrier 272 may comprise a resilient material, such as a plastic, which may also advantageously provide moisture sealing at the junctures between the light pipe 230 and the upper shield 216 and the lower grill 218. Portions of the light barrier 272 may also extend between the junctures between the upper shield 216 and the lower grill 218.
FIGS. 6 and 7 illustrate various internal components of the floodlight controller 100, including a main printed circuit board (PCB) 274. One or more components of the floodlight controller 100 may be coupled to the main PCB 274, including one or more of the processor 162, the volatile memory 176, the non-volatile memory 178, and/or the audio CODEC 166. Each of these components is described above and illustrated in FIG. 3. With reference to FIG. 7, the AC/DC adapter 160 is coupled to the rear surface of the main PCB 274, and the antenna 188, which is operatively connected to the communication module 180, extends along a side edge of the main PCB 274. With further reference to FIG. 7, the floodlight controller 100 further comprises a communication PCB 276 to which the communication module 180 is coupled. In alternative embodiments, the communication PCB 276 may be omitted and the communication module 180 may be coupled to the main PCB 274, for example, or to another PCB.
With reference to FIG. 8, the floodlight controller 100 further comprises the motion sensor(s) 168. In the illustrated embodiment, the motion sensor(s) 168 comprise passive infrared (PIR) sensors, and three PIR sensors 168 are provided. The illustrated type and number of motion sensors is, however, merely one non-limiting example. The PIR sensors 168 are arranged about three surfaces of an inverted pyramidal PIR sensor holder 278. The PIR sensor holder 278 is coupled to a lower surface of a motion sensor printed circuit board (PCB) 280 located in the lower portion 212 of the floodlight controller housing 200. The PIR sensors 168 are arranged such that a first one 282 of the PIR sensors 168 is pointed toward the front of the floodlight controller 100 and second and third ones 284, 286 of the PIR sensors 168 are pointed toward the right and left sides, respectively, of the floodlight controller 100. The PIR sensors 168 are thus able to cover an angle of approximately 270° around the front and sides of the floodlight controller 100. The angled surfaces of the PIR sensor holder 278 further point the PIR sensors 168 at a downward angle. This configuration is well suited to a typical use case for the floodlight controller 100, since floodlights are typically located above the head level of a person of average height. A person (or other object) moving at ground level within the area about the floodlight controller 100 is thus likely to be well within the field of view of the PIR sensors 168.
The motion sensors 168 are configured to detect motion within the area about the floodlight controller 100. When motion is detected, output signals from the motion sensors 168 are received by the processor 162 (FIG. 3), and a process similar to (or the same as) that described above with reference to FIG. 2 may be initiated. In some embodiments, the camera 104 may also be used for detecting motion within the area about the floodlight controller 100. In one example embodiment, detecting motion with the camera 104 may comprise comparing video frames recorded by the camera 104. For example, the processor 162 (and/or a separate camera processor) may receive inputs of video frames from the camera 104, compare pixel differences between successive frames, and, if the pixel differences are substantial (such as being greater than one or more thresholds), determine that the pixel differences are indicative of motion within the field of view of the camera 104. The processor 162 may then initiate a process similar to (or the same as) that described above with reference to FIG. 2.
With reference to FIGS. 7 and 8, a lower end of the housing 200 includes an opening 288 (FIG. 8) that receives a Fresnel lens 290 (FIG. 7). The convexly shaped Fresnel lens 290 covers and closes the lower end opening 288 of the housing 200. The Fresnel lens 290 is configured to focus and concentrate incoming IR light on the PIR sensors 168, thereby enhancing the effectiveness and/or sensitivity of the PIR sensors 168. In alternative embodiments, the Fresnel lens 290 may be omitted.
With reference to FIG. 9, the floodlight controller 100 further comprises connecting hardware 292 configured for connecting the floodlight controller 100 to a floodlight device 294 (FIG. 10) and a power source (not shown). In the illustrated embodiment, the connecting hardware 292 comprises a first connecting member 296 secured to the rear wall 204 of the housing 200 and a second connecting member 298 configured to be secured to the floodlight device 294. The first and second connecting members 296, 298 meet at a ball-and-socket joint 300, such that the first and second connecting members 296, 298 are configured to articulate with respect to one another. An end of the second connecting member 298 opposite the ball-and-socket joint 300 includes threads 302 configured to matingly engage threads (not shown) on the floodlight device 294 to secure the floodlight controller 100 to the floodlight device 294. When the second connecting member 298 is secured to the floodlight device 294, the ball-and-socket joint 300 enables the orientation of the floodlight controller 100 to be adjusted so that the camera 104 can be aimed in any desired direction. The ball-and-socket joint 300 is, however, just one non-limiting example. In alternative embodiments, other types of joints may be provided between the first and second connecting members 296, 298, including non-articulating joints. In further alternative embodiments, the connecting hardware 292 may comprise a single unitary member, rather than first and second connecting members 296, 298. Similarly, the threads 302 of the second connecting member 298 are just one non-limiting example. In alternative embodiments, other types of connections may be provided between the second connecting member 298 and the floodlight device 294, such as a friction fit.
With reference to FIGS. 5 and 6, the floodlight controller 100 further comprises a plurality of wires 304 for connecting the floodlight controller 100 to the power supply and to the floodlight(s) 306 (FIG. 10) of the floodlight device 294 (for enabling the floodlight controller 100 to turn the floodlight(s) 306 on and off). In the illustrated embodiment, three wires 304 are shown, but the illustrated embodiment is merely one example and is not limiting. In alternative embodiments, any number of wires 304 may be provided.
In some embodiments, the connecting hardware 292 of the floodlight controller 100 is configured to enable easy substitution of the floodlight controller 100 for an existing motion detector of the floodlight device 294. Many floodlight assemblies include a motion detector that is easily separable from the remainder of the floodlight device. Many of these floodlight assemblies include universal-type connectors that mate the motion detector to the floodlight device. Some embodiments of the present floodlight controllers 100 may thus include connecting members that readily mate with these universal-type connectors, enabling an owner of virtually any floodlight device to easily remove the device's existing motion detector and connect the present floodlight controller 100 in its place. To further facilitate removal of an existing motion detector and replacement with the present floodlight controller 100, the wires 304 may include a plug-in connector (not shown) that mates with a corresponding plug-in connector (not shown) on the floodlight device. In alternative embodiments, embodiments of the present floodlight controllers 100 may be combined with a floodlight device during production/manufacturing to produce a floodlight assembly. The floodlight assembly including the present floodlight controller 100 may then be sold as a preassembled unit.
With reference to FIG. 3, the illustrated embodiment of the present floodlight controller 100 further comprises the switch 184 for turning the floodlight(s) 306 (FIG. 10) of an associated floodlight device 294 on and off. The switch 184 is operatively connected to the processor 162 and has an open condition and a closed condition. When the switch 184 is in the open condition the floodlight(s) 306 of the floodlight device 294 are off, and when the switch 184 is in the closed condition the floodlight(s) 306 of the floodlight device 294 are on. When the floodlight controller 100 detects motion, the processor 162 produces an output to the switch 184 to cause the switch 184 to transition from the open condition to the closed condition, thereby turning on the floodlight(s) 306 of the floodlight device 294.
Operation of the floodlight controller 100 of FIGS. 3-10 is described below with reference to the flowchart of FIG. 2. At block B130, the floodlight controller 100 detects motion (e.g. from a visitor or an intruder) and captures video images within a field of view of the camera 104. The floodlight controller 100 may detect the motion using the camera 104 and/or the motion sensor(s) 168. For example, the processor 162 may receive an input signal from at least one of the camera 104 and the motion sensor(s) 168, where the input signal indicates motion. The processor 162 may then send an output signal to the camera 104 to capture video images within a field of view of the camera 104. In embodiments of the floodlight controller 100 that don't include a motion sensor 168 separate from the camera 104, the floodlight controller 100 may detect the motion using the camera 104. As described above, the video recording/capture may begin when the motion is detected. Alternatively, also as described above, the video recording/capture may begin before the motion is detected, such as, for example, in embodiments in which the camera 104 is always on. The floodlight controller 100 may also capture audio through the microphone 106.
At block B132, the floodlight controller 100 turns on at least one floodlight 306 (FIG. 10) of an associated floodlight device 294 to illuminate the area about the floodlight controller 100. For example, the processor 162 may send an output signal to the switch 184 to cause the switch 184 to close, thereby turning on the at least one floodlight 306 of the floodlight device 294.
At block B134, the communication module 180 of the floodlight controller 100 sends a request, via the user's network 110 and the network 112, to a device in the network 112. For example, the processor 162 may send an output signal to the communication module 180 to cause the communication module 180 to send the request to the device in the network 112. For example, the network device to which the request is sent may be a server such as the server 118 or an API such as the backend API 120.
In response to the request, at block B136 the network device may connect the floodlight controller 100 to the user's client device 114 through the user's network 110 and the network 112. At block B138, the floodlight controller 100 may record available audio and/or video data using the camera 104, the microphone 106, and/or any other device/sensor available. At block B140, the audio and/or video data is transmitted (streamed) from the floodlight controller 100 to the user's client device 114 via the user's network 110 and the network 112. For example, the processor 162 may send an output signal to the communication module 180 to cause the communication module 180 to transmit (stream) the audio and/or video data from the floodlight controller 100 to the user's client device 114 via the user's network 110 and the network 112. At block B142, the user may receive a notification on his or her client device 114 with a prompt to either accept or deny the call.
At block B144, the process determines whether the user has accepted or denied the call. If the user denies the notification, then the process advances to block B146, where the audio and/or video data is recorded and stored at a cloud server (such as the storage device 116 and/or the server 118). The session then ends at block B148 and the connection between the floodlight controller 100 and the user's client device 114 is terminated. If, however, the user accepts the notification, then at block B150 the user communicates with the visitor through the user's client device 114 while audio and/or video data captured by the camera 104, the microphone 106, and/or other devices/sensors is streamed to the user's client device 114. At the end of the call, the user may terminate the connection between the user's client device 114 and the floodlight controller 100 and the session ends at block B148. In some embodiments, the audio and/or video data may be recorded and stored at a cloud server (block B146) even if the user accepts the notification and communicates with the visitor through the user's client device 114.
FIG. 11 illustrates an alternative embodiment of the present floodlight controllers 310. The embodiment 310 of FIG. 11 includes all of the components of the embodiment 100 of FIG. 3, plus storage 312 and a battery 314. The storage 312 may comprise any type of non-volatile data storage, such as, for example, and without limitation, hard disks/drives, flash memory, or any other suitable memory/storage element. The storage 312, which is operatively connected to the processor 162, may be used to store audio and/or video information captured by the floodlight controller 310, as described in further detail below. The battery 314, which is operatively connected to the processor 162, may comprise a rechargeable battery, such as a lithium-ion battery or any other type of rechargeable battery.
As described above, the present floodlight controllers 100, 310 are connected to an external power source, such as AC mains. The embodiment 310 of FIG. 11 is similarly primarily powered by the external power source, but may also draw power from the rechargeable battery 314, such as when the external power source is not available, for example in the event of a power outage. During a power outage, the user's network 110 is likely to be unavailable, making it impossible to stream audio and/or video information from the floodlight controller 310 to the user's client device 114, or to transmit the audio and/or video information to the remote storage device 116. Advantageously, however, during a power outage the embodiment 310 of FIG. 11, by drawing power from the rechargeable battery 314, can still capture and record audio and/or video information and store the audio and/or video information locally at the storage 312. When AC mains power is restored, and the user's network 110 again becomes available, the stored audio and/or video information at the storage 312 can then be uploaded to the remote storage device 116. The embodiment of the floodlight controller 310 of FIG. 11 is thus advantageously able to function to record and store audio and video information even when AC power is unavailable. In some embodiments, the battery 314 may be configured to also provide power to at least one floodlight 306 of a floodlight device 294 to which the floodlight controller 310 is operatively connected. In such embodiments, the floodlight controller 310 of FIG. 11 is further advantageously able to turn on the floodlight(s) 306 even when AC power is unavailable.
The embodiment 310 of FIG. 11 may further comprise a power manager (not shown) configured to control from which source (AC mains or the rechargeable battery 314) the floodlight controller 310 draws power. The power manager may also control recharging of the battery 314 using power drawn from the external power source (AC mains). Alternative embodiments of the present floodlight controllers may include one or the other but not both of the storage 312 and the battery 314 shown in FIG. 11.
FIG. 12 is a flowchart illustrating a process for recording and storing A/V content with the floodlight controller 310 of FIG. 11 according to various aspects of the present disclosure. At the beginning of (or just prior to the beginning of) the process of FIG. 12, the floodlight controller 310 is connected to, and draws power from, an external power source (AC mains). At block B320, the AC mains power is terminated, which may happen, for example, due to a power outage, or due to a deliberate act of cutting the power to a home or business at which the floodlight controller 310 is located. At block B322, in response to the loss of AC mains power, the floodlight controller 310 draws power from the battery 314. For example, the power manager may detect the loss of AC mains power and switch the power source of the floodlight controller 310 from AC mains to the battery 314.
At block B324, the floodlight controller 310 detects motion and captures video images and/or audio. As described above, the floodlight controller 310 may detect motion via one or both of the camera 104 and the motion sensor(s) 168. At block B326, the floodlight controller 310 turns on the floodlight(s) 306 of the floodlight device 294 to illuminate the area about the floodlight controller 310. In some embodiments, the battery 314 of the floodlight controller 310 may not provide power to the floodlight device 294 when AC mains power is not available. In such embodiments, the floodlight controller 310 may activate the IR light source 170 to provide IR illumination (night vision) in the area about the floodlight controller 310.
At block B328, the floodlight controller 310 records audio and/or video of the area in the field of view of the camera 104, and stores the audio and/or video information at the local storage 312 of the floodlight controller 310. At block B330, AC mains power is restored. At some time after AC mains power is restored, the user's network 110 once again becomes available. Thus, at block B332, the audio and/or video stored at the local storage 312 of the floodlight controller 310 is uploaded to a network device, such as the storage 116 and/or the server 118, via the user's network 110 and the network 112. At block B334, the process ends.
In some embodiments, the present floodlight controllers 100, 310 may automatically emit a sound through the speaker 108 when motion is detected in the area about the floodlight controller 100, 310. For example, the sound may be a loud beep, whoop, squawk, or any other type of loud noise likely to startle any person within earshot of the speaker 108. The sound may be emitted simultaneously with (or very close in time to) the turning on of the floodlight(s) 306 of the floodlight device 294. The loud noise, coupled with the sudden illumination, may be more likely, compared with illumination alone, to startle an intruder and cause him or her to flee.
FIG. 13 is an upper front perspective view of another embodiment of a floodlight controller 101 with wireless A/V recording and communication features according to the present disclosure. Some of the components of the floodlight controller 101 illustrated in FIG. 13 may be similar to or the same as components of the floodlight controller 100 discussed above and shown in FIGS. 4-10. For clarity, components of the floodlight controller 101 that are similar to or substantially the same as components of the floodlight controller 100 may be called out with the same reference numbers as in FIGS. 4-10. Components of the floodlight controller 101 sharing the same reference numbers as components of the floodlight controller 100 are not, however, necessarily identical, and the use of common reference numbers to describe components of alternative embodiments should not be interpreted as implying that those components are necessarily identical, although in some cases they might be.
With reference to FIG. 13, the floodlight controller 101 may comprise a housing 200 for containing and protecting the interior components of the floodlight controller 101. The housing 200 may include a front wall 202, a rear wall 204, opposing side walls 206, 208, an upper wall 210, and a tapered lower portion 212. The front wall 202 may include a central opening 214 that receives an upper shield 216 and a lower grill 218. In the illustrated embodiment, the front surfaces of the upper shield 216 and the lower grill 218 are substantially flush with a front surface of the front wall 202, but in alternative embodiments these surfaces may not be flush with one another. The upper shield 216 may also include a first microphone opening 262 to expose the first microphone 258 (FIG. 6) to capture audio from an area about the floodlight controller 200.
In some embodiments, the upper wall 210 may include an opening for a button 211. The button 211 may be operatively coupled to the processor 162 (FIG. 3), and may have similar functionality as the button 182. As illustrated in FIG. 13, the button 211 may be located on the upper wall 210 at or near the front edge thereof. In this location, the button 211 is advantageously exposed for easy access by a user, even if the floodlight controller 101 is located in an elevated position, as is typical for floodlight assemblies. Further, in some embodiments the button 211 may be large enough such that it may be pressed and held down readily using one's finger, rather than requiring any tools, thereby further enhancing the convenience provided by the button 211.
In further reference to FIG. 13, the tapered lower portion 212 may include an opening 289 that allows incoming IR light to reach the at least one motion sensor 168 (FIG. 3), such as (but not limited to) the PIR sensors 282, 284, 286 (FIG. 8), for detecting motion. In some embodiments, the opening 289 may receive a Fresnel lens 291. As discussed above with respect to the Fresnel lens 290, the convexly shaped Fresnel lens 291 may cover and close the lower end opening 289 of the housing 200. The Fresnel lens 291 is configured to focus and concentrate incoming IR light on the at least one motion sensor 168, thereby enhancing the effectiveness and/or sensitivity of the at least one motion sensor 168. In some embodiments, the tapered lower portion 212 may be configured to angle the Fresnel lens 291 to draw a greater proportion of the incoming IR light from around the front and sides of the floodlight controller, as further described below.
FIGS. 14 and 15 are right-side and left-side elevation views, respectively, of the floodlight controller 101 of FIG. 13. In reference to FIG. 14 and as discussed above, the floodlight controller 101 may include connecting hardware 292 that may include a first connecting member 296 secured to the rear wall 204 of the housing 200 and a second connecting member 298 configured to be secured to the floodlight device 294 (FIG. 10). In some embodiments, the first and second connecting members 296, 298 may meet at a ball-and-socket joint 300, such that the first and second connecting members 296, 298 are configured to articulate with respect to one another. An end of the second connecting member 298 opposite the ball-and-socket joint 300 may include threads 302 configured to engage threads (not shown) on the floodlight device 294 to secure the floodlight controller 101 to the floodlight device 294. As discussed above, when the second connecting member 298 is secured to the floodlight device 294, the ball-and-socket joint 300 enables the orientation of the floodlight controller 101 to be adjusted so that the camera 104 can be aimed in any desired direction. In reference to FIG. 15, the housing 200 may include a third microphone opening 266, as discussed above.
In further reference to FIGS. 14 and 15, the tapered lower portion 212 may be configured to angle the Fresnel lens 291 to concentrate the incoming IR light around the front and sides of the floodlight controller 101. For example, the tapered lower portion 212 may be longer in length (extend farther downward away from the housing 200) at a rear portion 213 and shorter in length at a front portion 215, such that the opening 289 lies in a plane P (FIG. 14) that is not perpendicular to a vertical axis A of the floodlight controller 101. With reference to FIG. 14, the plane P slopes upward in the direction from the rear wall 204 toward the front wall 202 of the housing 200. In such embodiments, the opening 289 may receive the Fresnel lens 291 such that the orientation of the plane P with respect to the vertical axis A causes the Fresnel lens 291 to receive more incoming IR light at the front and sides of the floodlight controller 101 than at the rear. Configuring the opening 289 and the Fresnel lens 291 in this manner allows for a greater proportion of the light impinging upon the at least one motion sensor 168 to come from the front and sides of the floodlight controller 101, which is typically the area of greatest interest, since that is the area within the field of view of the camera 104. The configuration of the opening 289 and the Fresnel lens 291 thus further enhances the effectiveness and/or the sensitivity of the at least one motion sensor 168. Although specific features and/or components of an embodiment of a floodlight controller 101 are discussed above with respect to FIGS. 13-15, any of the features and/or components of the embodiments of the floodlight controller 100 as discussed with reference to FIGS. 4-10 may be used with the embodiment illustrated in FIGS. 13-15.
In some embodiments, the present floodlight controllers may include one or more light-emitting elements (distinct from the floodlight(s) 306). For example, with reference to FIG. 16, the illustrated floodlight controller 350 includes three light-emitting elements 352 located at a lower end of the floodlight controller 350 between the PIR sensors 168. In the illustrated embodiment, the light-emitting elements 352 comprise light-emitting diodes (LEDs), but in other embodiments the light-emitting elements 352 may comprise any other type of device that emits light. Further, although the illustrated embodiment includes three light-emitting elements 352, alternative embodiments may include any number of light-emitting elements 352, such as one, or two, or four, etc. In some embodiments, the light-emitting elements 352 may comprise LEDs capable of producing a variety of colors of light, such as blue, red, green, or any other color and/or color combination.
The light-emitting elements 352 are coupled to an LED printed circuit board (PCB) 354 that is situated centrally between the PIR sensors 168. The LED PCB 354 is connected to a ribbon connector 356, which operatively couples the light-emitting elements 352 to the processor 162. The light-emitting elements 352 may be capable of the same functionality as the light indicators 186 (FIG. 3) described above. In addition, the light-emitting elements 352 may be configured to provide a visual warning to an intruder, and may further be configured to be remotely controlled by a user through an application executing on the user's client device 114. For example, as described above with reference to FIG. 2, a user may communicate with a visitor/intruder through the user's client device 114 while audio and/or video data captured by the camera 102, the microphone 104, and/or other devices/sensors is streamed to the user's client device 114. The application executing on the user's client device 114 may provide one or more options for the user to remotely control the operation (illumination) of the light-emitting elements 352. For example, the application may display on the display of the user's client device 114 one or more buttons (or another type of command/input element) enabling the user, who may be on the premises or at a remote location, to turn on the light-emitting elements 352, to change the color of the light-emitting elements 352, to cause the light-emitting elements 352 to flash, etc. Light emitted by the light-emitting elements 352 may provide a visual indicator or warning to the visitor/intruder. For example, a steady or flashing red light (or any other color) may provide a visual warning to an intruder that may cause the intruder to flee. The steady or flashing red light (or any other color) may further provide a visual cue to any neighbors or passersby of an emergency situation, which may attract the aid or assistance of others to neutralize any danger, such as by causing the intruder to flee.
As described above, the speaker 108 may be configured to emit a sound to startle and/or repel any person within earshot of the speaker 108, such as a loud beep, whoop, squawk, or any other type of loud noise, when motion is detected in the area about the floodlight controller 100, 310, 350. In some embodiments of the present floodlight controllers, the repelling sound (may also be referred to as “siren”) may be remotely controlled by the user through the application executing on the user's client device 114. For example, when the user is viewing the live video stream from the camera 104, the application may display on the display of the user's client device 114 one or more buttons (or another type of command/input element) enabling the user to activate the siren. The siren may, in some embodiments, be configured to emit sound(s) at very loud volumes, such as 100 dB or more. Activation of the siren may advantageously cause any intruder(s) within earshot of the speaker 108 to flee.
As described above, the present embodiments advantageously provide floodlight controllers with video recording and two-way audio capabilities. The present floodlight controllers thus provide stronger crime deterrence than typical floodlight devices because a user can speak directly to an intruder through the floodlight controller, and because video footage captured by the floodlight controller can be used to identify criminal perpetrators. Enabling the user to speak directly to an intruder creates the illusion that the user is present at the property where the intruder is trespassing, thereby making it more likely that the intruder will flee. Some of the present embodiments further advantageously provide the capability to record and store video even in the event of a power outage or when the AC power to a structure has been deliberately cut. Again, the video footage captured by the floodlight controller even when AC power is unavailable can be used to identify criminal perpetrators.
FIG. 17 is a functional block diagram of a client device 800 on which the present embodiments may be implemented according to various aspects of the present disclosure. The user's client device 114 described with reference to FIG. 1 may include some or all of the components and/or functionality of the client device 800. The client device 800 may comprise, for example, a smartphone.
With reference to FIG. 17, the client device 800 includes a processor 802, a memory 804, a user interface 806, a communication module 808, and a dataport 810. These components are communicatively coupled together by an interconnect bus 812. The processor 802 may include any processor used in smartphones and/or portable computing devices, such as an ARM processor (a processor based on the RISC (reduced instruction set computer) architecture developed by Advanced RISC Machines (ARM).). In some embodiments, the processor 802 may include one or more other processors, such as one or more conventional microprocessors, and/or one or more supplementary co-processors, such as math co-processors.
The memory 804 may include both operating memory, such as random access memory (RAM), as well as data storage, such as read-only memory (ROM), hard drives, flash memory, or any other suitable memory/storage element. The memory 804 may include removable memory elements, such as a CompactFlash card, a MultiMediaCard (MMC), and/or a Secure Digital (SD) card. In some embodiments, the memory 804 may comprise a combination of magnetic, optical, and/or semiconductor memory, and may include, for example, RAM, ROM, flash drive, and/or a hard disk or drive. The processor 802 and the memory 804 each may be, for example, located entirely within a single device, or may be connected to each other by a communication medium, such as a USB port, a serial port cable, a coaxial cable, an Ethernet-type cable, a telephone line, a radio frequency transceiver, or other similar wireless or wired medium or combination of the foregoing. For example, the processor 802 may be connected to the memory 804 via the dataport 810.
The user interface 806 may include any user interface or presentation elements suitable for a smartphone and/or a portable computing device, such as a keypad, a display screen, a touchscreen, a microphone, and a speaker. The communication module 808 is configured to handle communication links between the client device 800 and other, external devices or receivers, and to route incoming/outgoing data appropriately. For example, inbound data from the dataport 810 may be routed through the communication module 808 before being directed to the processor 802, and outbound data from the processor 802 may be routed through the communication module 808 before being directed to the dataport 810. The communication module 808 may include one or more transceiver modules capable of transmitting and receiving data, and using, for example, one or more protocols and/or technologies, such as GSM, UMTS (3GSM), IS-95 (CDMA one), IS-2000 (CDMA 2000), LTE, FDMA, TDMA, W-CDMA, CDMA, OFDMA, Wi-Fi, WiMAX, or any other protocol and/or technology.
The dataport 810 may be any type of connector used for physically interfacing with a smartphone and/or a portable computing device, such as a mini-USB port or an IPHONE®/IPOD® 30-pin connector or LIGHTNING® connector. In other embodiments, the dataport 810 may include multiple communication channels for simultaneous communication with, for example, other processors, servers, and/or client terminals.
The memory 804 may store instructions for communicating with other systems, such as a computer. The memory 804 may store, for example, a program (e.g., computer program code) adapted to direct the processor 802 in accordance with the present embodiments. The instructions also may include program elements, such as an operating system. While execution of sequences of instructions in the program causes the processor 802 to perform the process steps described herein, hard-wired circuitry may be used in place of, or in combination with, software/firmware instructions for implementation of the processes of the present embodiments. Thus, the present embodiments are not limited to any specific combination of hardware and software.
FIG. 18 is a functional block diagram of a general-purpose computing system on which the present embodiments may be implemented according to various aspects of the present disclosure. The computer system 900 may be embodied in at least one of a personal computer (also referred to as a desktop computer) 900A, a portable computer (also referred to as a laptop or notebook computer) 900B, and/or a server 900C. A server is a computer program and/or a machine that waits for requests from other machines or software (clients) and responds to them. A server typically processes data. The purpose of a server is to share data and/or hardware and/or software resources among clients. This architecture is called the client-server model. The clients may run on the same computer or may connect to the server over a network. Examples of computing servers include database servers, file servers, mail servers, print servers, web servers, game servers, and application servers. The term server may be construed broadly to include any computerized process that shares a resource to one or more client processes.
The computer system 900 may execute at least some of the operations described above. The computer system 900 may include at least one processor 910, memory 920, at least one storage device 930, and input/output (I/O) devices 940. Some or all of the components 910, 920, 930, 940 may be interconnected via a system bus 950. The processor 910 may be single- or multi-threaded and may have one or more cores. The processor 910 may execute instructions, such as those stored in the memory 920 and/or in the storage device 930. Information may be received and output using one or more I/O devices 940.
The memory 920 may store information, and may be a computer-readable medium, such as volatile or non-volatile memory. The storage device(s) 930 may provide storage for the system 900, and may be a computer-readable medium. In various aspects, the storage device(s) 930 may be a flash memory device, a hard disk device, an optical disk device, a tape device, or any other type of storage device.
The I/O devices 940 may provide input/output operations for the system 900. The I/O devices 940 may include a keyboard, a pointing device, and/or a microphone. The I/O devices 940 may further include a display unit for displaying graphical user interfaces, a speaker, and/or a printer. External data may be stored in one or more accessible external databases 960.
The features of the present embodiments described herein may be implemented in digital electronic circuitry, and/or in computer hardware, firmware, software, and/or in combinations thereof. Features of the present embodiments may be implemented in a computer program product tangibly embodied in an information carrier, such as a machine-readable storage device, and/or in a propagated signal, for execution by a programmable processor. Embodiments of the present method steps may be performed by a programmable processor executing a program of instructions to perform functions of the described implementations by operating on input data and generating output.
The features of the present embodiments described herein may be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and/or instructions from, and to transmit data and/or instructions to, a data storage system, at least one input device, and at least one output device. A computer program may include a set of instructions that may be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program may be written in any form of programming language, including compiled or interpreted languages, and it may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
Suitable processors for the execution of a program of instructions may include, for example, both general and special purpose processors, and/or the sole processor or one of multiple processors of any kind of computer. Generally, a processor may receive instructions and/or data from a read only memory (ROM), or a random access memory (RAM), or both. Such a computer may include a processor for executing instructions and one or more memories for storing instructions and/or data.
Generally, a computer may also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files. Such devices include magnetic disks, such as internal hard disks and/or removable disks, magneto-optical disks, and/or optical disks. Storage devices suitable for tangibly embodying computer program instructions and/or data may include all forms of non-volatile memory, including for example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices, magnetic disks such as internal hard disks and removable disks, magneto-optical disks, and CD-ROM and DVD-ROM disks. The processor and the memory may be supplemented by, or incorporated in, one or more ASICs (application-specific integrated circuits).
To provide for interaction with a user, the features of the present embodiments may be implemented on a computer having a display device, such as an LCD (liquid crystal display) monitor, for displaying information to the user. The computer may further include a keyboard, a pointing device, such as a mouse or a trackball, and/or a touchscreen by which the user may provide input to the computer.
The features of the present embodiments may be implemented in a computer system that includes a back-end component, such as a data server, and/or that includes a middleware component, such as an application server or an Internet server, and/or that includes a front-end component, such as a client computer having a graphical user interface (GUI) and/or an Internet browser, or any combination of these. The components of the system may be connected by any form or medium of digital data communication, such as a communication network. Examples of communication networks may include, for example, a LAN (local area network), a WAN (wide area network), and/or the computers and networks forming the Internet.
The computer system may include clients and servers. A client and server may be remote from each other and interact through a network, such as those described herein. The relationship of client and server may arise by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
The above description presents the best mode contemplated for carrying out the present embodiments, and of the manner and process of practicing them, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which they pertain to practice these embodiments. The present embodiments are, however, susceptible to modifications and alternate constructions from those discussed above that are fully equivalent. Consequently, the present invention is not limited to the particular embodiments disclosed. On the contrary, the present invention covers all modifications and alternate constructions coming within the spirit and scope of the present disclosure. For example, the steps in the processes described herein need not be performed in the same order as they have been presented, and may be performed in any order(s). Further, steps that have been presented as being performed separately may in alternative embodiments be performed concurrently. Likewise, steps that have been presented as being performed concurrently may in alternative embodiments be performed separately.