The present disclosure relates generally to computer networks, and, more particularly, to managing events related to network proximity.
Many locations, such as a user's home or office, often have a number of configurable features, such as lights that can be turned on/off, heat that can be increased or decreased, etc. Often, such configurable features are related to whether a user is currently within the location.
In addition, monitoring an event that is happening in or around a user's home (or other location) is often valuable to users that are outside of their home (or other location). In particular, users often want to monitor events occurring inside their home while they are away.
The embodiments herein may be better understood by referring to the following description in conjunction with the accompanying drawings in which like reference numerals indicate identically or functionally similar elements, of which:
According to one or more embodiments of the disclosure, a network device detects a proximity state change of a mobile device in relation to the detecting network device, and compares the state change and mobile device to a set of configured policies. Based on one or more particular policies matching the state change and the mobile device, the network device may then perform one or more configured actions.
A computer network is a geographically distributed collection of nodes interconnected by communication links and segments for transporting data (e.g., voice, video, and/or data) between end nodes, such as personal computers and workstations, portable computers (e.g., laptops, tablets, etc.), smartphones, or other devices, such as sensors, etc. Many types of networks are available, ranging from Local Area Networks (LANs) to Wide Area Networks (WANs). LANs typically connect the nodes over dedicated private communications links located in the same general physical location, such as a building or campus. WANs, on the other hand, typically connect geographically dispersed nodes over long-distance communications links, such as common carrier telephone lines, optical lightpaths, Synchronous Optical Networks (SONET), Synchronous Digital Hierarchy (SDH) links, etc.
Note that the links between the devices may generally be wired or wireless. Data packets (or frames) 150 may be exchanged among the devices of the computer network 100 over the links using predefined network communication protocols such as certain known wired protocols, wireless protocols, or other protocols where appropriate. In this context, a protocol consists of a set of rules defining how the nodes interact with each other. In general, the connections to/from and between the networks may comprise IPv4 and/or IPv6 (or one or more translations between the two), without being specifically distinguished herein. Those skilled in the art will understand that any number of nodes, devices, links, etc. may be used in the computer network, and that the view shown herein is for simplicity. Also, those skilled in the art will further understand that while the is network is shown using a certain device naming convention, the network 100 and the device names are merely an example illustration that is not meant to limit the disclosure.
The network interface(s) 210 contain the mechanical, electrical, and signaling circuitry for communicating data over links coupled to the network 100. The network interfaces may be configured to transmit and/or receive data using a variety of different communication protocols. Note, further, that the nodes may have two different types of network connections 210, e.g., wireless and wired/physical connections, and that the view herein is merely for illustration.
The memory 240 comprises a plurality of storage locations that are addressable by the processor 220 and the network interfaces 210 for storing software programs and data structures associated with the embodiments described herein. The processor 220 may comprise hardware elements or hardware logic adapted to execute the software programs and manipulate the data structures 245. An operating system 242, portions of which are typically resident in memory 240 and executed by the processor, functionally organizes the device by, inter alia, invoking operations in support of software processes and/or services executing on the device. These software processes and/or services may comprise a communication process 244 (e.g., for various routing protocols, authorization and/or authentication, etc., as will be understood by those skilled in the art), and an illustrative “eventing” process 248, as described herein.
It will be apparent to those skilled in the art that other processor and memory types, including various computer-readable media, may be used to store and execute program instructions pertaining to the techniques described herein. Also, while the description illustrates various processes, it is expressly contemplated that various processes may be embodied as modules configured to operate in accordance with the techniques herein (e.g., according to the functionality of a similar process). Further, while the processes have been shown separately, those skilled in the art will appreciate that processes may be routines or modules within other processes.
As noted above, many locations have a number of configurable features, such as lights, heat, alarms, etc., where such configurable features are often related to whether a user is currently within the location. Further, monitoring an event that is happening in or around a user's home is often valuable to users that are outside of their home, such as to monitor events occurring inside their home while they are away.
The techniques herein provide an “eventing” and notification mechanism that proactively performs actions based on events and/or notifies users of events occurring within a given location (e.g., their home). In particular, as described herein locational routers (e.g., a home wireless router) may detect devices that are connected to it, and may perform any configured set of actions based on a change in the proximity status of the device (e.g., connecting and/or disconnecting). Said differently, when a user's mobile (e.g., wireless) device, such as a smartphone, mobile phone, tablet computer, laptop computer, music player, etc., connects or disconnects to a particular network (e.g., home or work network, etc.), different actions may be performed accordingly.
Specifically, according to one or more embodiments of the disclosure as described herein, a network device detects a proximity state change of a mobile device in relation to the detecting network device, and compares the state change and mobile device to a set of configured policies. Based on one or more particular policies matching the state change and the mobile device, the network device may then perform one or more configured actions.
Illustratively, the techniques described herein may be performed by hardware, software, and/or firmware, such as in accordance with the “eventing” process 248, which may contain computer executable instructions executed by the processor 220 to perform functions relating to the techniques described herein, e.g., within a user device 110, network device (e.g., router) 120, and/or (or in conjunction with) notification servers 130, event actuators 140, etc.
Operationally, detecting a proximity state change may be based on various proximity detection factors, such as whether the mobile device has connected to the network device or disconnected from the network device. For example, when a mobile device connects to a home wireless router, various credentials may be exchanged between the mobile device and the router, allowing the mobile device to communicate on the local network. In such an instance, it can be determined that the mobile device has connected to the network device. Conversely, if the mobile device leaves the proximity of the network device, such as physically being removed from a wireless range of the network device, then connectivity protocols as will be appreciated by those skilled in the art (e.g., beacons, probes, “liveness” monitoring, or explicit disconnection) will allow the network device to determine that the mobile device has disconnected. Other proximity detection techniques may be used, such as sensors, radio frequency signatures, etc., without necessarily establishing a “connection” between the mobile device and the network device.
Additionally, the configured actions may be preconfigured (e.g., by a manufacturer) or configured by an administrator of the network device (e.g., by the user). Example actions may be local to the network device (e.g., within site A) or remote to the network device (e.g., outside of site A, such as within global network 105, site B, etc.). Also, it should be noted that one or more actions may be configured, such as performing a local and a remote action in response to the same proximity state change.
As examples of local configured actions, an actuator (event actuator 140) may be configured to receive instructions from the network device to lock/unlock a door, arm/disarm and alarm or security system (e.g., turning it on when leaving, turning it off when returning home), turn lights on/off, turn on/off environmental controls, manage other energy profiles, etc. Alternative examples of local configured actions may comprise sending a notification to a locally connected user device, logging the state is change at the network device, etc.
Additionally, as examples of remote configured actions, the proximity detecting network device may send a notification to a remotely connected user device and/or to a remote server, and may log the state change at a remote server (configured to receive instructions from the network device). In addition, in one or more embodiments, the communication between the network device 120 and the remote device may be based on a “push” or “pull” model, where the network device may either send notifications and/or instructions in an unsolicited manner in response to detected changes in proximity state (i.e., a push model), or may respond/reply to remote inquiries (from servers, user devices, etc.) regarding proximity state of any mobile device (are any devices present?) or any one or more specific mobile devices (i.e., a pull model).
In addition,
Notably, though certain examples of proximity have been described above, other types of proximities may be correlated with a set of governing policies to create events that are consumed (e.g., performed, logged, managed) either by a computing entity, a user device, or another device in proximity. In particular, the following types of proximity may result in a proximity state change as described herein:
A) Single network proximity: When a device joins a particular network, such as a home LAN, the proximity may be defined as the direct connectivity of the device to the is network device which is capable of recognizing at least the state of the physical link between the device and itself. Some examples are as below:
B) Mesh network proximity: A network, such as a home LAN, meter network, sensor network, etc., can comprise a plurality of interconnected network nodes (e.g., called a “mesh” of interconnected network elements). If a device is connected to one of those nodes in the mesh, the device could be considered to be in the proximity of all the interconnected connected nodes. Note that policies could define how “deeply” (i.e., how far and/or how many hops between the device and the detecting network device) a device can be connected to the mesh before being considered out of the proximity, or where certain devices are defined to otherwise be considered out of the proximity (e.g., “islanding” the device within the mesh for security reasons).
C) Inter-device proximity: A device that is in proximity of another device which has a physically connected resource can consider that resource to be in proximity. For example, a personal computer that is connected to a wireless access point can have a storage device plugged into it (e.g., a universal serial bus or “USB” device). This in turn makes the storage device to be in proximity of the wireless access point.
D) Virtual network proximity: When multiple networks are connected through an entity (such as a cloud-based managed service), a device entering and joining one network, i.e., it is physically in proximity of that network, may be considered to be virtually in proximity of other connected networks. Examples could be as below:
It should be noted that while certain steps within procedure 600 may be optional as described above, the steps shown in
The techniques described herein, therefore, provide for network-proximity-based eventing in a communication network. In particular, the techniques herein perform intelligent actions based on network presence.
While there have been shown and described illustrative embodiments that provide network-proximity-based eventing, it is to be understood that various other adaptations and modifications may be made within the spirit and scope of the embodiments herein.
For example, the embodiments have been shown and described herein with relation to current network technologies and devices, and current forms of detecting proximity. However, the embodiments in their broader sense are not as limited, and may, in fact, be used with other types of network and/or communication/proximity protocols. In addition, while certain types of events, actions, or notifications have been described, it is noted that such events and notifications are merely examples, and any suitable actions, events, and/or notifications may be performed and/or detected according to the techniques described herein.
The foregoing description has been directed to specific embodiments. It will be apparent, however, that other variations and modifications may be made to the described embodiments, with the attainment of some or all of their advantages. For instance, it is expressly contemplated that the components and/or elements described herein can be implemented as software being stored on a tangible (non-transitory) computer-readable medium (e.g., disks/CDs/RAM/EEPROM/etc.) having program instructions executing on a computer, hardware, firmware, or a combination thereof. Accordingly this description is to be taken only by way of example and not to otherwise limit the scope of the embodiments herein. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the embodiments herein.