1. Field of Invention
This invention relates in general to transport of data over a network. More specifically, the invention relates to methods and systems for changing the manner of how data is treated and encapsulated in a data packet or data frame header and trailer with respect to network control information (e.g. priority, security level, route path, destination address) based on dynamic external (non-network-based) conditions and state changes captured and generated by devices related to building and external environmental systems (HVAC, Lighting, Fire, Smoke, carbon monoxide, production control, etc.) and/or physical security systems or sensors (motion detection, video surveillance, door sensors, window sensors, glass break, badge access readers, biometric, etc.), and/or production control systems and media streaming systems (IP phones, intercom, video conferencing, etc.).
2. Description of the Background Art
Packet and frame-based networks utilize a shared medium where a large number of devices share a finite amount of transmission capacity, and other network-based resources. The transmission capacity (bandwidth) and various network resources in aggregate are commonly oversubscribed as compared to the total demands that network based devices can simultaneously require.
Packet and frame-based network devices can mark a priority level for various types of data (i.e. voice, Internet, email, etc.) in the data packet and/or data frame header and trailer control bit fields. The priority of the data can be marked using well-known industry protocols that offer Type of Service, Class of Service and/or IP-Precedence bits. Additionally, network infrastructure devices (e.g. routers, switches, etc.) can prioritize/re-prioritize data that passes through the data network. Prioritization provides a mechanism for the network infrastructure to transmit the data at the earliest possible moment, or when possible (buffered for some period of time) or in some cases, cease transmission of certain data without reaching its intended destination.
These packet and frame-based network infrastructure devices can also alter the path or route (from source to intermediate connection points to ultimate destination) data takes through the network by manipulating the data packet and/or data frame header and trailer control information bit fields. Network devices may also be able to encrypt or de-encrypt data (payload and/or other control information bit fields) or apply other network security-oriented policies as the data traverses the network.
Prioritization, route selection, duplication and redirection of data to other devices and security level of data is commonly dictated by network manager policies or well established data network protocols given network-based events (network-originated stimulus). Network-based events include, but are not limited to, network/bandwidth congestion, as well as the addition or loss of a particular network infrastructure device or link. These network protocols and policies pertaining to prioritization, route selection, destination device(s), security level may also be established on regular recurring time-based events, for example at 6 pm all data shall be marked as high priority or shall take a certain route from one point to another. However, existing network protocols do not consider events or state changes that occur outside of the network or network infrastructure. These non-network-based events and stimulus are physical in nature and may be a result of detection of motion in a room, fire, exposure to or loss of light, heat, certain people entering a room, identification of a specific physical entity in a field of view at some location, presence of a certain chemical, etc. Such events or state changes do not necessarily occur or recur at precisely the same moment in time or location.
Physical security, production control, building and external environmental systems include sensors, input/output devices, such as video cameras used for monitoring, video and audio recorders, fire alarms, etc., that have the capability of recognizing certain physical-in-nature events or state changes based on motion, change in the form of a monitored object, smoke, fire, temperature, etc. (events that are not currently associated with the operation of a data network). These building environment and physical security devices can also vary the capture rate and vary output rates for information collected, based on a state change. The nature of the data does not change, just the frequency or level of detail that it is transmitted. In some cases, an event or state change will cause the sensing system to commence the capture of other and/or additional information and measurements (data).
Unlike a packet or frame-based data network, where many devices with various applications share a common network and occasionally contend for access to certain devices, most conventional physical security, production control, and building environment systems are dedicated systems and typically do not share transmission/connectivity resources with other devices not related to physical security or environmental control. Many of these systems are architected to have the capacity to support all connected devices simultaneously e.g. the physical security and building environment systems are architected to support peak bandwidth (transmission capacity). However, this type of architecture adds significant cost to support peak-demand instances rather than typical or “average” bandwidth demands. Some physical security and/or building environment systems may be able to locally buffer the output of a device until the system is capable of transmitting the output successfully. However, buffering of the output from one these system devices can diminish its value, as is the case for real-time monitoring situations.
Some physical security, production control and building environment devices digitize a given input such that it can be sent over a packet or frame-based network. Digitization can be used to provide more or less details of the information that was converted from an analog source to digital form based on sampling rate and the number of bits used to in the representation of the analog source. Once in digital form, the data can be further manipulated through a variety of means, including processed using digital data compression algorithms, content analysis, etc. These devices can also be instructed to send data (output rate) at varying intervals.
Some digital physical security, production control or building environment input/output devices can be configured to mark (assign a priority value) their output data packets with a pre-defined static priority using the Type of Service (ToS) or Class of Service (CoS) bit(s), as defined by current governing network protocols. Similarly, these devices can be assigned with static security level and route path/destination address information.
Static priority level assignments can result in unfavorable outcomes for data transport and for the ultimate users of that data. For example, if all packets from an input/output device are transmitted with a high priority level even when conditions are “normal”, this result in an excessive use of network bandwidth that could otherwise be used more effectively by other network attached devices. Alternately, if all packets or frames are marked as low priority even when conditions are “abnormal” or merit an emergency designation, the information could be dropped or significantly delayed by network infrastructure devices. As a result, physical security, manufacturing process, or building environment management personnel or other system devices would not receive information on a timely basis, if at all. Similarly, static assignment of security levels and/or route path or data destination is flawed given “normal” conditions may dictate a low security level and/or data transmission via one path or one recipient. During an “event”, a “normal” security level or route path, data destination may be in appropriate. For example, during an event, the data may merit the imposition of a high security level policy or a different route path or the data may need to be sent to other or multiple recipient devices.
The embodiments of the invention provide a method, a system, and a computer program product for transmitting data over a network such as LAN, WAN or Internet. The network includes physical security devices such as an IP-based surveillance camera and an audio video recorder/playback device. The embodiments of the invention enable dynamically changing the priority, security level and route path or destination of data, being transmitted from the devices, based on a detected non-network based event, before transferring it over the network. The events include a change in the form of monitored devices, the motion of the monitored devices, smoke, fire, heat, air quality, etc.
In various embodiments of the invention, edge devices 104 include network-based input/output devices, which have the capability of recognizing abnormal conditions such as motion, change in the form of monitored objects, smoke, fire, etc. These devices are further capable of increasing their data output rate on detection of abnormal conditions. During normal conditions, the data output rate can be kept low. In an embodiment of the invention, edge devices 104 are capable of changing the one or more parameters associated with the data. In various embodiments of the invention, the parameters include a priority bit(s), a security level, a route, and a destination device address of the data being transmitted based on detection of abnormal conditions. Examples of edge devices 104 include video recorders, audio recorders, smoke alarms, fire alarms, badge readers, etc. Edge devices 104 send the acquired data to destination devices 106 through data switching system 102. Destination devices 106 may be computer systems, video displays, audio players, video surveillance keyboards, monitors, alarm indicator panels, etc.
Based on the detected event or state change, priority, security level, route, and/or destination changer 206 changes the priority, security level, route, and/or destination of the data to be transmitted from edge device 104 to destination device 106. Priority security level, route, and/or destination changer 206 may change the layer-2 or layer-3 priority bit(s) settings, security level, route, and/or destination of the data, in accordance with an embodiment of the invention. Exemplary priority bits include the ToS priority bits supported in the Internet protocol, and the CoS priority bits supported in a network protocol such as Ethernet, as well as Frame Relay. Priority, security level, route, and/or destination changer 206 signals devices connected to data switching system 102 regarding a change in the importance, route path, and or security level of the data being transmitted. In an embodiment of the invention, this is achieved by changing the priority bit(s) settings, security level, route, and/or destination. In an embodiment of the invention, priority, security level, route, and/or destination changer 206 may reside in data switching system 102. In another embodiment of the invention, priority, security level, route, and/or destination changer 206 may be included in edge device 104. In various embodiments of the invention, priority, security level, route, and/or destination changer 206 may be software, firmware, or their combination thereof. Transmitter 208 transmits the data to destination device 106, based on the changed priority, security level, route, and/or destination. In various embodiments of the invention, transmitter 208 can be a part of data switching system 102. Data switching system 102 can be a data routing system, in accordance with an embodiment of the invention.
The method for transmitting data can be further illustrated by using the following example. Edge device 104 includes a video camera, a telephone, and a computer, which are attached to the network that includes switches and routers that are connected to other edge devices. Edge device 104 sends data at the normal priority during normal conditions. Upon a change in the physical environment, event/state change detector 204 (the video camera or other sensing device) detects the change. As proscribed by this present method, event/state change detector 204 also signals the event changer that works with a data packetizer/framer of edge device 104 to vary the priority bits, security level, route and/or destination device address information in the data packet or data frame. The media stream is then transmitted from edge device 104 to other devices in the network. As the media stream traverses the network, routers and/or switches prioritizes transmission of the media stream based pre-determined policies, typically prioritizing data packets or data frames with higher priority bit settings for transmission ahead of data packets or frames with lower priority bit settings. The router or switch may also allocate more transmission bandwidth to data packets or frames originating from the video camera/device that has detected an event. Additionally, the routers and/or switches may also vary the security level, route path and or destination device (s) based upon the data packet or data frame header information, as part of the predetermined policies. The priority, security level, route and/or destination device assigned to the media stream data based on the cessation of the event can be decreased to normal in all respects (frame rate, resolution, packet and/or frame prioritization, security level, etc.) by edge device 104 when event/state change detector 204 detects the absence of the event and signals the event changer to restore normal priority, security level, route and/or destination addresses to all outgoing normal event media streams. The routers and switches resume normal processing of the data packets and/or data frames sent by edge device 104.
Embodiments of the present invention have the advantage that they allow a dynamic change in the priority, security level, route path and/or destination address of the data frames and packets, based on recognition of abnormal conditions. This ensures that critical and high-importance data is assigned the proper priority security level, etc., so that it is not delayed during a security breach and catastrophic events. Dynamic prioritization prevents wastage of bandwidth, since high priority is allotted only if an event is detected. Information (data) can be sent to other devices and entities for additional processing and action in the event of an emergency or other abnormal event. Further, the present invention allows effective differentiation between normal and critical transmissions, ensuring that proper priority is assigned to the transmission.
Although the invention has been discussed with respect to specific embodiments thereof, these embodiments are merely illustrative, and not restrictive, of the invention. For example, a ‘data’ being transferred over the network can include any type of audio, video or other data. The event/state change detector can be placed in other parts of the network, separate from the edge device. For example an analog edge device can be connected to a data gateway (encoder) that digitizes and packetize/frame the information (media) and then transmitted on the packet/frame-based data network. The event/state change detector can be built-in to the gateway or can be placed else where in the network as well.
Although specific protocols have been used to describe embodiments, other embodiments can use other transmission protocols or standards. Use of the terms ‘peer’, ‘client’, and ‘server’ can include any type of device, operation, or other process. The present invention can operate between any two processes or entities including users, devices, functional systems, or combinations of hardware and software. Peer-to-peer networks and any other networks or systems where the roles of client and server are switched, change dynamically, or are not even present, are within the scope of the invention.
Any suitable programming language can be used to implement the routines of the present invention including C, C++, Java, assembly language, etc. Different programming techniques such as procedural or object oriented can be employed. The routines can execute on a single processing device or multiple processors. Although the steps, operations, or computations may be presented in a specific order, this order may be changed in different embodiments. In some embodiments, multiple steps shown sequentially in this specification can be performed at the same time. The sequence of operations described herein can be interrupted, suspended, or otherwise controlled by another process, such as an operating system, kernel, etc. The routines can operate in an operating system environment or as stand-alone routines occupying all, or a substantial part, of the system processing.
In the description herein for embodiments of the present invention, numerous specific details are provided, such as examples of components and/or methods, to provide a thorough understanding of embodiments of the present invention. One skilled in the relevant art will recognize, however, that an embodiment of the invention can be practiced without one or more of the specific details, or with other apparatus, systems, assemblies, methods, components, materials, parts, and/or the like. In other instances, well-known structures, materials, or operations are not specifically shown or described in detail to avoid obscuring aspects of embodiments of the present invention.
Also in the description herein for embodiments of the present invention, a portion of the disclosure recited in the specification contains material, which is subject to copyright protection. Computer program source code, object code, instructions, text or other functional information that is executable by a machine may be included in an appendix, tables, figures or in other forms. The copyright owner has no objection to the facsimile reproduction of the specification as filed in the Patent and Trademark Office. Otherwise all copyright rights are reserved.
A ‘computer’ for purposes of embodiments of the present invention may include any processor-containing device, such as a mainframe computer, personal computer, laptop, notebook, microcomputer, server, personal data manager or ‘PIM’ (also referred to as a personal information manager), smart cellular or other phone, so-called smart card, set-top box, or any of the like. A ‘computer program’ may include any suitable locally or remotely executable program or sequence of coded instructions, which are to be inserted into a computer, well known to those skilled in the art. Stated more specifically, a computer program includes an organized list of instructions that, when executed, causes the computer to behave in a predetermined manner. A computer program contains a list of ingredients (called variables) and a list of directions (called statements) that tell the computer what to do with the variables. The variables may represent numeric data, text, audio or graphical images. If a computer is employed for synchronously presenting multiple video program ID streams, such as on a display screen of the computer, the computer would have suitable instructions (e.g., source code) for allowing a user to synchronously display multiple video program ID streams in accordance with the embodiments of the present invention. Similarly, if a computer is employed for presenting other media via a suitable directly or indirectly coupled input/output (I/O) device, the computer would have suitable instructions for allowing a user to input or output (e.g., present) program code and/or data information respectively in accordance with the embodiments of the present invention.
A ‘computer readable medium’ for purposes of embodiments of the present invention may be any medium that can contain, store, communicate, propagate, or transport the computer program for use by or in connection with the instruction execution system apparatus, system or device. The computer readable medium can be, by way of example only but not by limitation, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, system, device, propagation medium, or computer memory. The computer readable medium may have suitable instructions for synchronously presenting multiple video program ID streams, such as on a display screen, or for providing for input or presenting in accordance with various embodiments of the present invention.
Reference throughout this specification to “one embodiment”, “an embodiment”, or “a specific embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention and not necessarily in all embodiments. Thus, respective appearances of the phrases “in one embodiment”, “in an embodiment”, or “in a specific embodiment” in various places throughout this specification are not necessarily referring to the same embodiment. Furthermore, the particular features, structures, or characteristics of any specific embodiment of the present invention may be combined in any suitable manner with one or more other embodiments. It is to be understood that other variations and modifications of the embodiments of the present invention described and illustrated herein are possible in light of the teachings herein and are to be considered as part of the spirit and scope of the present invention.
Further, at least some of the components of an embodiment of the invention may be implemented by using a programmed general-purpose digital computer, by using application specific integrated circuits, programmable logic devices, or field programmable gate arrays, or by using a network of interconnected components and circuits. Connections may be wired, wireless, by modem, and the like.
It will also be appreciated that one or more of the elements depicted in the drawings/figures can also be implemented in a more separated or integrated manner, or even removed or rendered as inoperable in certain cases, as is useful in accordance with a particular application.
Additionally, any signal arrows in the drawings/Figures should be considered only as exemplary, and not limiting, unless otherwise specifically noted. Combinations of components or steps will also be considered as being noted, where terminology is foreseen as rendering the ability to separate or combine is unclear.
As used in the description herein and throughout the claims that follow, “a”, “an”, and “the” includes plural references unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise.
The foregoing description of illustrated embodiments of the present invention, including what is described in the abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed herein. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes only, various equivalent modifications are possible within the spirit and scope of the present invention, as those skilled in the relevant art will recognize and appreciate. As indicated, these modifications may be made to the present invention in light of the foregoing description of illustrated embodiments of the present invention and are to be included within the spirit and scope of the present invention.
Thus, while the present invention has been described herein with reference to particular embodiments thereof, a latitude of modification, various changes and substitutions are intended in the foregoing disclosures, and it will be appreciated that in some instances some features of embodiments of the invention will be employed without a corresponding use of other features without departing from the scope and spirit of the invention as set forth. Therefore, many modifications may be made to adapt a particular situation or material to the essential scope and spirit of the present invention. It is intended that the invention not be limited to the particular terms used in following claims and/or to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include any and all embodiments and equivalents falling within the scope of the appended claims