RussianPatents.com
|
Method of coordinating multiple sensors. RU patent 2510147. |
||||||||||||||||||||||
IPC classes for russian patent Method of coordinating multiple sensors. RU patent 2510147. (RU 2510147):
|
FIELD: radio engineering, communication. SUBSTANCE: disclosed is a method of coordinating multiple sensors, wherein multiple networked computers control the sensors for the purpose of executing one or more services requested through the network. In order to coordinate with one another, the computers exchange information over the network in a manner such that each networked computer knows the characteristics of and the services executed by the other computers. Subsequently, the computers providing the same service execute the same configuration algorithm that defines the tasks to be carried out by each computer as a function of the characteristics of the computers providing said same service. Thus, the computers get to the same conclusions with respect to the tasks to be carried out, and control the sensors based on the tasks defined by the configuration algorithm. EFFECT: high reliability of systems for monitoring and coordinating multiple sensors and the monitoring system connected thereto. 19 cl, 7 dwg
The present invention relates to a method for the coordination of a multitude of sensors according to the preamble, paragraph 1, of the claims. The invention also refers to the system of sensors, in particular to the system of detecting, containing a number of sensors that are coordinated with each other in order to perform one or more of the services required by the detection system. In particular, the invention may be the preferred image and usefully applied to the video surveillance system, in which a lot of cameras and sensors of various types (for example, infrared or microwave sensors) can detect events such as the presence of the violators or the fire, and to signal them to one or more control stations, where the human operator can take the appropriate action depending on the detected event; for example, the operator can take control of the video camera to shoot her specific area, where they found the offender or fire. Thus, through the control station operator can to send commands to the various cameras or, more generally, to request services from CCTV system, for example, the consistent view of all the images, obtained by video cameras (this feature is generally referred to as "patrol"), or the automatic tracking, which cameras are coordinated by the control station with the purpose of tracking a particular object. According to the well-known solutions of the operator's task is simplified by the script execution at the station level control which scripts can, for example, in response to an alarm, supplied by the sensor, to place the camcorder in certain preset positions (pre-defined when installing the system). In these known systems sensors are coordinated centrally some Central unit that sends commands to the sensors. However, such systems suffer from the drawback that they do not use algorithms proactively coordination and therefore cannot properly deal with difficult situations that require dynamic behavior of the system. In these systems, the coordination of different devices does not take into attention all required services, because it simply performs a service for the service; for example, if the signal camcorder need for two different services, Central terminal will try to do both services as if there was no conflict at all, taking care of the allocation camcorder only priority service; service that have a lower priority, therefore, is not met fully. Moreover, these systems also suffer from the disadvantage that if the detection system is used by many operators, there may be conflicts between the demands of the various operators. In addition, these systems face similar challenges of conflict, when there are multiple events or multiple objects to be tracked. Generally speaking, it is known that, as an alternative to centralized management, coordinated by the device can be equipped with "agents"that can be coordinated by Autonomous agree upon common tasks to be performed to achieve a particular command result. This decision, which is generally used in very specific areas of technology, such as robotics (see, for example, US 6636781), has not been very effective in detection systems (in particular, in video surveillance systems, where the most important are the reactivity and stability. Time required for clearance tasks, conducted among different devices, can actually be very long, when you have a large number of devices and their possible configurations; as a consequence, the system of this type, in which the coordination is based on the consultation held among devices is not very reactive and potentially unstable. For example, consider the case of fire: in response to the alarm agents that control various devices that will coordinate the tasks of each of them. If the time required for the coordination, is too large, there will be a risk that the camcorder koordineerida and show the area of the fire only when the fire is already widely spread. Moreover, as the fire spread to other sensors will send a fire alarm in other areas adjacent to the first area where the fire started; thus, will be additional queries about the show mentioned other areas. If the decision-making process will be slower than the spread of the fire, the agents will continue to coordinate necessary to accomplish the task (which will vary according to satribune services), without actually performing the query; therefore, the system will become unstable. Similar or worse problems reactivity can occur if you require a long negotiation between agents, who should perform service. When the object goes out of view of the sensor, the neighboring sensors koordineerida thus, to cover those areas where can be located this object. Therefore, the sensors should cover the mentioned areas quickly and appropriately so that the service to track can continue. If the object goes out of range of the sensor that monitors, as long as the agents will not come to agreement about what tasks must be performed, the service to track next to continue. From this it follows that detection systems urgently need effective sensor coordination, which helps to optimize system resources, performing the required services in the best way, for example, reactive way to replenish the loss of use of a particular camera for this service by using other camcorders in the appropriate places location. The present invention is to solve the problems of the prior art, offering an alternative way for the coordination of a multitude of sensors, as well as associated systems of surveillance. This problem is solved by a method and system with the features set forth in the attached claims; it is implied that they are an integral part of the present description. The present invention is based on the common idea of using multiple network computers to manage multiple sensors in response to one or more service requests received over the network. Computers share information, so that each computer knows the characteristics of other computers, and services they provide; therefore, all of the computers know the actual condition of the system and, in particular, what are the computers belong to the group assigned to perform this service. To be coordinated with each other, the computers involved in the same service, perform one and the same algorithm configuration, which gives as a result of the task to be performed by each computer. Since all computers belonging to some group, perform the same algorithm configuration, they will all determine the same optimal configuration of sensors and will control the sensors accordingly. De facto, the coordination of sensors are thus distributed through logic without having to resort to a long, difficult agreements, conducted among different computers. According preferred and profitable variant of the invention computers perform the algorithm configuration periodically; thus, the system can dynamically perkonfiguruoti and take into account any changes in the set of required services or set of sensors, ready-to-use system for execution of various services. It is extremely profitable, because in the case of a sensor failure or disruption of the sensor, will be coordinated with other sensors in order to make up the loss of this sensor. In addition, it is preferable that the computers can perform the algorithm in response to the new request, providing, thus, good reactivity in response to a service request. Other tasks and advantages of the present invention will become apparent from the following description and the attached drawings that are given as a non-limiting example: figure 1 shows the video surveillance system, corresponding to the present invention; figure 2 is a block diagram of the algorithm of how to coordinate a variety of sensors, corresponding to the present invention; the figures 3A, 3b and 3C shows a model of the environment used by the system to activate the camcorder. in figures 4A and 4b show the model of the environment used by the system to activate the camcorder. Figure 1 is a reference position (1) in schematic form denotes the environment to be monitored. Environment (1) consists of a building (11) and located in the open air courtyard (12). Within the environment (1) identified the following areas of special interest: the entrance to the building area (1); place (P 1) Parking area (2); place (P 2) the Parking of vehicles is the area (3); the entrance gate is the area (4); Environment (1) is monitored by CCTV system containing a pair of stations (3) control and multiple sensors (S 1)-(S 5), in which the system operators can control the environment (1). In this description, the term "sensor" shall refer to any device that can detect physical value (for example, intensity of electromagnetic signals, such as light or radio waves) and handle relevant electronic signal. In the example shown in figure 1, the field (1)-(4) are controlled by four cameras (S 1)-(S 4), and one volumetric sensor (S 5), located within the environment to be monitored. The number of areas that separated the environment, and a number of sensors (video cameras and other sensors) are not limiting factors of the invention, but depend on the choice installer equipment. Video camera (S 1)-(S 4) can be stationary or mobile, in particular, the type of PTZ (pan / tilt / zoom). In the example shown in figure 1, camcorders (S 1) and (S 3) represent a still camera and shoot only relevant areas (1) and (3), while the camcorder (S 2) and (S 4) is a video camera PTZ-type, can reduce, accordingly, the oblast (1)-(2) and (3)-(4). Volumetric sensor (S 5) is a stationary sensor and sends an alarm when it detects movement inside the building (11), for example, because the door on the login (1) opens. Sensors manages many computers that can communicate with each other over the network (2) data in such a way as to send information to other computers or station (3) control or to receive information from them. To this end the computers have the appropriate "agent"; below this term refers to the object of the software or the firmware, capable of acting independently instead of the user and to decide on the tasks to be performed. Agent, therefore, is a software or firmware that runs on computers that control the sensors, and the de facto determines which data is sent to your computer over a network or on managed sensors; for this reason, in this the description of the link will be made without distinction as to network agents, and network computers. Computers can be integrated in the sensor, as in the case of video cameras (S 3) and (S 4), or, otherwise, to be a server blocks, (4), which are connected sensors. The server blocks, (4) is equipped with a network interface (41), which allows the agent to send and receive network data (2), and managing interface (42) to communicate with one or more sensors, to be managed. When a computer and the associated agent is integrated in the sensor, the sensor will also be equipped with a network interface that allows the agent to communicate over the network (2). Network (2) data can be a wired LAN network (LAN), but, of course, mentioned data network can also contain wireless elements that can facilitate the installation of sensors. In a preferred embodiment, implementation, each node in the network (station (3) control or computers that control sensors (S 1)-(5)) may communicate with any other node on the network; a network of (2) can also be subdivided into multiple virtual networks (VPN network, virtual private network), and the link between two nodes that belong to different virtual private networks may be subject to restrictions. Station (3) control contains the computer (31), which takes images from video cameras and displays them to the relevant tools (32) visualization adapted to display many images (33) at the same time. Preferably, mentioned renderer contained numerous screens or only the screen that displays multiple images next to each other (this solution is known as multiplexing). Station (3) control also contains other famous for its core components, such as keyboard (34), mouse (35) and joystick (36)used by the operator to control cameras PTZ-type, changing the angle of the pan, tilt and zoom. As visualization tools, these components are also connected to the computer (31), which is equipped with appropriate interfaces, for example, the interface for joystick (36), interfaces to send images taken from cameras (S 1)-(S 4), tools (32) imaging and network interface through which control data go to video cameras. This user interface, along with the keyboard, joystick, and mouse, allows the user to select and control cameras, activating, thus, the transmission from one or more cameras assets (32) imaging. When you have selected one areas (1)To(4), for example, a Parking lot (R 2) vehicles, the image is transmitted from the camera, for example (S 2), which automatically associative connected to the selected region according to pre-set criteria-based targeting, which is described below, and maximising the probability of detection of abnormal events within the areas of interest. Therefore, to ensure the coordination of the surveillance system, shown in figure 1 uses a distributed architecture without a Central hub of coordination: all network nodes (computers that control the sensors, and the control stations) are peers, i.e. assemblies consisting in equal relations with each other. To be coordinated with each other (and therefore also coordinate sensors), all the agents connected to a network (2), exchange information, so that every agent knows the state of the video surveillance system. In particular, from each agent is made available to other agents information about your computer's status and the action currently performed by that agent; for example: - General data concerning the functioning of the computer: for example, the presence of the actions executed, the CPU usage, number of references to this computer and so on; data related to the services, over which currently operates this agent: for example, the type of service, the ID of the control station, which requested this service, state service, state of the sensor is used for the execution of this service, etc.; - detected events. In a preferred embodiment of the invention requests are sent indiscriminately to all network nodes (2), although there are also other solutions that will be described in more detail below. Requests for services can be sent either by the agent, the managing sensors, or stations (3) control; thus, agents, managers sensors will be responding operator as well as to requests from other agents. For example, if the agent that manages volumetric sensor (S 5), sends a request to cover cameras in the area, where it was discovered penetration agents that control the camcorder (S 1)-(S 4), koordineerida thus to cover this region, while allowing for others waiting service requests. Periodically or when the request is received, agents, strategy coordination, described below, according to which the agents involved in the same service, perform one and the same algorithm configuration that gives the best configuration of agents involved in the execution of the service; this configuration is a configuration that allows you to perform the requested services in the best way possible, by optimizing the use of system resources. Because agents are implementing the same algorithm, starting with the same input variables (related to the state of the system), they will come to the same conclusions regarding the optimal configuration of managed sensors; in particular, the agents know, for example, how should be located this camcorder and by how much zoom it should be set up, what kind of camera should transfer the video on the station control what the camera will save the downloaded video into memory, etc. Strategy The preferred strategy coordination is carried out periodically by all agents and has a structure consisting of two stages: - formation of groups of agents involved in the administration various services requested in the network; - define and apply group strategy for this service. The strategy perform, referring to the algorithm, referred to as "the algorithm of coordination", the first of which (the formation of the group) is identical for all network of agents, whereas the second part (the definition of the strategy of the group) is the same for all agents belonging to one group. Now with reference to figure 2 will describe this algorithm coordination (that is, the set of operations that must be performed in order to achieve coordination of the sensors). After the start of execution of the algorithm (step 100) agent that executes the algorithm coordination, first checks (phase 101)whether one of the managed devices to be involved in the performance of one or more of the services requested from the system. According to the example shown in figure 1, if there is only one request to control the entrance to the building (11) (cell (1)), the agent that manages the camera (S 4), determines that it cannot participate in the requested service because camcorder (S 4) may not withdraw this area from any position. If the agent is not participating in any service, he will send over the network information indicating his status and the fact that he will not participate in any service (phase 105). In contrast, if the agent can be involved in the performance of one or more services, it will define (phase 102)whether it has enough resources to fulfill all services, it may be involved; if "Yes", then he will inform other network agents, sending updated information about its status, indicating that he would not participate in any service (phase 105). If available agent resources are not sufficient, it will sort the requested services (phase 103), in which he may be involved, in accordance with the relevant plan of priorities. Thus, for already accepted operators have the same precedence and requesting various services, reference will be made on the priority assigned to different types of services. For example, services that require coverage areas will have lower priority than other services that require control a specific sensor. Indeed, the first of the mentioned services can be provided more easily other subsets of agents, while the last mentioned services give no freedom of choice (the request concerns a specific sensor). After the sort is complete, the agent selects (phase 104) services, where he will participate, since the service has the highest priority up until the available that agent resources will not be spent. A set of services, selected, thus, agent, then make available to all other networking tools (105). The algorithm coordination then waits a pre-specified period (T) time (phase 106) until such time as he won't receive updated information on the status of other agents in the network. At the end of this first stage of the algorithm coordination of every agent knows which agents were assigned to the same services, and that he, that is, knows components group. Here it should be noted that in this variant of the invention, the process of group formation (stages 100-106) require no interaction among the agents, because each agent chooses the services in accordance with the plan of priorities, regardless of other agents. In fact, the second phase of this strategy is to only those agents who participate in service of some type. At the stage 107 checks whether the agent to participate in a service or not. If "no", then the agent completes the algorithm of interaction (phase 110); otherwise, each agent is involved, at least in one service will perform a specific algorithm configuration (step 108) for each service, in which he is to participate. For example, all those agents that must participate in the service coverage is requested for the specific field of environment, will be performed by one and the same algorithm for optimal coverage, which, using as input characteristics agents that belong to the group, will be issued as a result of optimal group configuration that defines the tasks that each agent will have to fulfil in order to ensure better coverage of this area. Thus, the agents of the group will come to the same conclusions, and will be managed with appropriate sensors coordinated manner, in accordance with the logic of a certain algorithm configuration), which is common for all agents. Some examples of algorithms configuration will be presented at the end of this description. After you have performed various algorithms configuration (for example, the algorithms of optimal coverage or the election of the leader), the output of which is a set of tasks to be the execution of each agent, the agents will be properly control the applicable sensors (phase 109); algorithm coordination finished then (phase 110). Although the above variant of the invention, the algorithm coordination runs periodically (e.g. every time switches timer), another possible variant of the invention, the algorithm also (or only as an alternative) is executed in response to a change in the set of services requested from the system. The mentioned change known to all agents who always know about all the services requested from the system. How to transfer data over the network In a preferred embodiment of the invention to transfer data between network nodes using different communication protocols, depending on the type the transmitted information, in particular: - for information that will be shared by all nodes in the network (for example, information about the state agents and service requests), is used throbbing broadband data transmission; for specific information control station (for example, stream audio/video data and flow control data), use point-to-point or radial-junction multipoint data transmission; Throbbing data transfer With this type of pulsating data packets of data are sent simultaneously and repeatedly in many nodes; such data packets referred to as the "heartbeat" (because repetition / ripple data reminds palpitations). Pulsating packets "heartbeat" usually takes place over the network with a specified frequency in the range of a few Hertz, without the need for any synchronism between the "heart" of different agents. The frequency determined during the planning stage of the monitoring system and set during the configuration phase of the surveillance system. The frequency affects how quickly the network agents will receive information about the state of each of the other agent: for example, with a frequency of 0.1 Hz, the state changes that occur directly after generation of package heartbeat, that is not reported by this package heartbeat, shall be sent over the network only when it will generate the following package "heartbeat", i.e. with a delay, which constitutes almost ten seconds. From a purely theoretical point of view, if the packages "heartbeat" would be passed in pulsed mode with a very high frequency, theoretically infinite frequency, information about the network status updated would in real time; however, from a practical point of view, in the real observing system high frequency transmission would cause an excessive increase in the number of transmitted packets that has two negative consequences: - increased the workload on each network node, which, on the one hand, must generate a higher number of packets heartbeat, and on the other hand, must accept and analyze a lot more packages (the node that receives the packets heartbeat various other sites which in turn generate a lot more packages heartbeat within the same unit of time); - increased network traffic. Experimental tests have shown that for applications in surveillance, under which the state of the network also includes provision panoramisch devices moving at a speed of several degrees per second, a good pulse frequency is between 1 and 5 Hz, preferably between 1 and 2 Hz. When pulsating data transfer according to the invention, the agent can generate asynchronous packages "heart", that is, packets that are added to those that are usually many times would be transmitted in pulse mode agent. Asynchronous packages are particularly important because they ensure that critical data, such as data about the detection of abnormal events, are passed over the network in a timely manner. Preferably, such a process for asynchronous generate packages "heartbeat" was started only as necessary (for example, when found some event) so that the system is not influenced problems similar to those caused by excessive generation frequency packages "heartbeat". Based on the re-transmission of data, throbbing data transmission resistant to transmission errors. Preferably, throbbing data transfer is also included broadcast packets "heartbeat" all network nodes. This broadcast is a data allows network of peers to achieve informational redundancy on multiple nodes: selection of useful information subject to review or write, is the responsibility of each individual site. This process ensures optimized data redundancy. In the case of broadcast data can even leave information about the structure of the network and network addresses of other nodes, as well as data processing complex selection in the node is redundant and strategies for data transfer without consideration. Information sent via pulsating data transfer By means of the pulse data is sent the following information: 1. information about the network status: it contains information about the status of each agent and detected events; this type of information should always be updated, that is, it should concern the current state node; therefore, throbbing transfer of data on the status continues during the whole life time of system; 2. converted to a network request for the services: pumping transfer of this type of information starts at the moment when the service should be provided, and ends at the moment when the service must be completed; 3. sampling audio/video data sent by the agent of the other hosts in the network. This information is encoded within packages "heartbeats". As for information about the network status, communication, based on pulse transmission, makes possible the dissemination of updated information, not require a host to send special requests in order to update their own information networks. On the other hand, as regards requests for services, throbbing data transmission allows to implement a communications Protocol that does not include any messages stop: the service begins with the first request packet and then ends as soon as stops pulsating sending the corresponding request. The Protocol, in which end of the service is based on the transmission of messages stop, would not be very robust communications, demanding, thus creating controls the transfer of data to ensure the retransmission in the event of loss of the package: these control units are often very complex and require, to the recipient of your message stop was known. The pulsating process data is also used to send samples of audio/video signal, which is suitable for partial reconstruction of the original signal (but not to play); such samples so get by low-frequency sampling audio/video. This last type of information was added to allow other agents to record it so that the signal can be recovered, even in the case of the agent, from which it originates, irreversibly damaged or deleted. Low frequency of sampling and data network is consistent with the need to minimize the bandwidth used by each agent, as well as the workload on collection and preservation of samples. The Protocol for the service requests As mentioned above, service requests are sent through the pulsating data. In this case, the communication Protocol includes the following stages. The host (the client) sends a pulsating image over the network to all other nodes in the network service request (task) in broadcast mode. The said request contains only information that describes what task should be obtained, without having to know which agent will respond to the request: information provided by the client, specifies only receive a task. As described above in respect of figure 2, the agents that meet the needs of the client and can perform the service will accept the request and notify their receipt of the request for service via package "heartbeat". Thus implemented the "run" command for this service. Since the Protocol does not provide for an explicit command shutdown, the client will support the pulsating conveying the same request to the service as long as he is in the service of interest. When a client wants to stop a service, it stops pulsating sending the corresponding request. Agents, analyzing packets pulsating transmission, will record the arrival time (timestamp) each received the package and remove the packages that have a timestamp (TimeStamp)which is not quite recent in accordance with the following formula: if (t - TimeStamp>TimeOut, the task will be removed, where t is the current time, and TimeOut ("timeout") represents some preset amount of time. Therefore, the agent will continue to participate in the service over time, at least equal TimeOut from last transferred pulsating image of the request. This process does not give any problems that may cause the loss of some request packets, lead to the interruption of service. It is preferable that the TimeOut was inversely proportional to the pulse frequency according to the following formula: TimeOut=K / f, where f is the frequency ripple. This means that when data is normally within a time interval TimeOut on the server should arrive number (To) packages; the service will therefore be stopped only in that case if none of the above To the packet reaches its destination. The higher the value, the less likely it is that errors will occur failed to accept all packets: consequently, the agent may conclude that this was a deliberate shutdown, the command which is issued by the client. Note that the TimeOut is directly proportional To: from this it follows that increased value To cause an increase in the minimum of time, during which the agent remains in the possession of the client after the last ripple that does not, therefore, this agent to perform other tasks. Therefore, the choice To and, therefore, TimeOut involves a compromise between stability to communication errors and time of the liberation of the resource. Experimental tests have shown that K=3 is a good value that is especially suited for surveillance systems. Protocol for control requests In this case, the communication Protocol includes the following stages. Control station transmits a pulse mode query to retrieve network direct control of the specific device. The said request contains only information that describes the sensor to be running, without having to know which agent will respond to the request: a control station only has to provide the ID of the sensor, such as a label (such as "CAMCORDER 5")entered when configuring the system. The request is accepted by all other network agents that perform the above algorithm coordination. Following the above algorithm, only the agent that controls the sensor, determines the ability to participate in the service (phase 101, shown in figure 2) and reports its acceptance of the request by means of package heartbeat (phase 105). Because the requested service is a manage your sensor, the group participating in the service consists of a single agent, whose only function is to unlock (stages 108 and 109, shown in figure 2) normally blocked specialized communication module to set the channel for communication with the monitoring station. Analyzing packets "heartbeat", adopted from each agent, the control station can determine which agent is unlocked and can extract information that is useful to establish a point-to-point connection with such agent. At this point, the Protocol requires control station to establish point-to-point connection to your agent, which will take on newly established communication channel control signal. While the operator controls the sensor, the agent will continue to receive network packages heartbeat; when the client stops pulsating transfer request is running, the agent will terminate the connection with the client. Protocol response to a request for information In this case, the communication Protocol includes the following stages. The client (i.e. the requesting site) carries out the pulsating transfer of information request on the network. The said request contains only specify information about the state that wishes to obtain the client, without needing to know what the agent will respond to the request. Agents appreciate it if they can answer the query response to a request for information, and report on their network solutions other agents. Due to the algorithm of the election of the leader determines the agent is the leader of that unlocks normally blocked specialized communication module. Analyzing received packets heartbeat, the client can determine which agent unlock specialized communication module and can extract information that is useful to establish a point-to-point connection with such agent. At this point, the Protocol requires the client to establish point-to-point connection with the selected agent. On the newly established communication channel will be directed to specific information requests and their associated responses. When the client stops pulsating transmission of information request, the agent will terminate the connection with the client. Radial-junction multipoint data transmission This type of data transmission is used to pass information from the agent only to one or more predefined agents or control stations; in this section, the recipients of such information will be referred to as clients. This type of information is used to send signals like a stream of bits that encodes stream audio/video to fit for reproduction of the original signal. In this case, each network agent acts as an audio/video server, so that one or more clients can connect to the agent and to request the transfer of the mentioned stream of bits. In this case, the communication Protocol includes the following stages. The client carries out the pulsating transfer request over the network audio/video signal; the request contains only information that describes how the signal is subject to receipt, without having to know which agent will respond to the request. Since each agent is connected to the control fields audio and/or video sensor, the information provided by the client, is the ID of the sensor with which you want to get in touch, or areas subject to control. The request is accepted by all agents, who then will make a decision depending on the characteristics of relevant sensors and on the basis of respective priorities), whether to participate in the requested service or not (stages 101-104, shown in figure 2). Those agents that meet customer needs, respond to the request to the service and notify their acceptance of this request by means of package heartbeat (phase 105, shown in figure 2). If the request relates to a particular sensor, you will be able to respond to only one agent; otherwise, if the request relates to produce images of this area, you can apply several sensors, and in order to determine which sensor should be used to better service operator, you should execute the algorithm of optimal coverage (phase 108). The agent, the managing selected sensor, then unlocks normally blocked communication module, adapted to the bit stream audio/video data. Analyzing received packets heartbeat, the client can determine which agent (which agents) unlock specialized module stream of bits and can extract information that is useful to establish a point-to-point connection with such servers. At this point, the Protocol requires the client to establish point-to-point connection with the selected server that will send the newly established communication channel bit stream audio/video data. When the client stops pulsating transfer request streaming, the server will stop the flow of bits and stop the client connection. OptionsAccording to preferred solution throbbing data transfer is used for broadcasting information network nodes. However, this solution implies a significant load on the network both in terms of workload, falling to the share of each node (for example, receiving and analysis of incoming packets "heartbeats")and in terms of network traffic. Alternatively, the implementation of the invention agents are grouped on the basis of their characteristics proximity or affinity for specific services. In this variant of the invention agents from the group sending my status information only other agents owned by the same group, using, thus, multicast pulsating data or, more generally, the radial-junction multipoint data transmission. In this case, the package "heartbeat" also contains information about the address of the target agent. According to this implementation variant of the invention, the agent can belong to several related groups, allowing, thus, information about the detected event to spread from one group to another agent from a group that found the event will report the same information to all groups to which it belongs, allowing, thus, agents adjacent group to prepare, for example, to control the area, adjacent area which has been detected event. It is clear that it can also include other options described above observation system and way of interaction between agents. For example, the process of formation of groups (the first stage of the strategy discussed above related to the example of the preferred embodiments of the invention) can also be based on interaction, instead of run independently by each agent, so that each computer knows what other computers also perform a particular service. In this variant of the invention, each computer (through the relevant agent) to evaluate a set of requests for services received over the network, and choose the service in which he can participate. Following this, each computer shall inform the other computers on services, where he will participate, and shall, on the network, a list of services that can be observed by each computer. At this point, each computer has the full list of services, which can be executed each network computer, and performs the assignment algorithm of service, which gives as a result of those services, in which should participate each agent. Since each agent performs the same algorithm, all the agents of different computers will come to the same conclusions in respect of services to be performed by each of them; then the second stage of the strategy, which marks the algorithm configuration, which is described above with reference to figure 2. According to the invention preferably the task of the joint selection of services to solve it as sort of a problem of optimal coverage (see algorithm described below), the purpose of which is to instead define the optimal position of the sensors to cover this field of environment, to determine what the service (which services) must be selected by each agent in order to ensure better coverage for a set of services. Assignment algorithm is thus a kind of algorithm for optimal coverage, the input of which is a set of the required services (instead of the area to be monitored) and a set of sensors. To complete the analogy algorithm for optimal coverage note that the probability of detection by the sensor, to some this field corresponds to the probability (equal to 1 or 0), that the sensor will perform a given task. Based on this information, the algorithm is, therefore, to optimize the probability of fulfillment of the set tasks using ready sensors. Examples of algorithms configuration Election of the leader The algorithm of "election of the leader of" agents choose representative (leader) to answer information requests of the operator, i.e. requests for information contained in the data Bank network The election agent leader based on the criterion of minimal CPU utilization and leads to the unequivocal choice. The algorithm of " election of the leader of" uses as input information about CPU usage agents involved in the election of the leader (which by and large can be all network agents); this information is made available in the network with packets "heartbeat"that are sent over the network at the end of the first stage of the algorithm described above coordination (group formation). After that, the algorithm compares download CPUs all computers involved in the election of the leader, and chooses as the leader of the computer, which has the lowest CPU utilization. If you have multiple computers with one and the same low CPU usage, the algorithm will choose as the leader of the computer with the lowest ID value: this means that if you have two computers (1) and (2)with the same CPU, the algorithm will choose as the leader of the computer (1). It is preferable that the algorithm also compared the lowest CPU usage with the CPU of the computer, which was the leader for the execution of the algorithm, and chose the computer that has the lowest load, only if this is the lowest CPU utilization is lower than loading the previous leader on a preset threshold. In the ideal case in which all computers receive the same information and perform the algorithm at the same time, the output of all computers are identical. In practice, however, information about the network status applies asynchronously, and the algorithm is executed by agents independently, that is, at different points in time; this can potentially lead agents to different conclusions. In order to make the algorithm is stable, preferably, the input data were pretreated by finding a moving average on the time interval: t=k/f,where k is a certain integer, a f is the frequency with which each agent performs the algorithm of the election of the leader. Experimental simulation showed that the optimum range to ensure proper functioning of the algorithm is 5<k<10. Algorithms coverage Algorithms of coverage described below require that controlled environment was divided into adjacent cells associated with sensors (and therefore with the agents, their managers)which allow you to control the mentioned cells. Cell-based model of the environment is stored in each computer and each station control in the late stage of the installation system. Here is an example of system setup, although there are several other solutions configuration the monitoring system. System setup According to the invention during the setup phase of the monitoring system creates a model of the environment by defining interest areas (1)-(4) of this environment and their connectivity. In the following description, the field of mentioned models will be referred to as "cells" in order to avoid any confusion with the physical fields of the environment. Following this, each cell (1)-(4) associative associated with one or more sensors are able to control at least a plot of the area corresponding to the cell. In particular, since the PTZ camera can take many provisions, each cell associative associated not only with a video camera, but with a video camera in a given position (referred to as "preconfigured"). Of course, for still cameras or sensors there is only one pre-defined position, which is specified when installing the sensor. During the setup phase of the sensors are activated sequentially. For each mobile video camera or sensor operator determines preset position of the moving sensor that best meet the needs of the operator under observation. For each preset position operator associative links by means of selecting the sensor with the area of environment and assigns evaluation of control (for example, expressed as a value between 0 and 1, representing the quality of the received image. Assessment of control comply with the assessment of the probability of detection by using the mentioned sensor, the events within the cell, with which this sensor was associative connected in a certain pre-set position. At a working stage that allows you to control sensors, placing them in these preconfigured position that maximizes the ability to control the environment. The examples shown in figures 3A-3C and 4A-4b, illustrate two different models of the environment, which are used by the user interface to show the environment to be monitored, the installer of equipment and to allow him to select the area. According to the example shown in figures 3A, 3b and 3C, a program that provides a user interface that allows you to define the list of cells and their connections through a graphical interface that allows you to build a graph in which the cells are represented as nodes, connected by arcs. It is preferable that the spatial arrangement of the nodes was free, so that during the setup stage the operator can position them in such a way as to reflect the geographical location of the areas subject to control that allows the observer immediately find the area that is subject control, during the working phase. According to an alternative solution which is less complicated from a computational point of view, but a little less user-friendly, determination of areas and their compounds can be done in text mode. This creates a graph "cell/sensors", similar to the count shown in figs. Preliminary setup of the sensor and the evaluation of monitoring software keeps a database management system. In the example shown in figa-4b, a model of the environment consists of maps of areas subject to control. Map shown in figa, can be constructed by the operator of an electronic way using conventional graphics programs, or it can be an imported graphic file. The solution shown in figa-4b, during the setup phase of the operator selects the sensor and, for each pre-configured provisions notes controlled area on the map, as shown in fig.4b, and associative links with her assessment of control, for example, printing the value on the keyboard (34) or by selecting with the mouse (35) the displayed value. When a selected set of pixels corresponding to the area controlled by the sensor, the software will automatically create a cell model and corresponding adjacency. In the variant of the invention each choice pixel corresponds to a single cell model. Nearby a set of pixels are adjacent cells. In a preferred embodiment of the invention together pixels, overlapping enough, are grouped together in a single cell. The criterion used to decide whether two a set of pixels to be grouped in a single cell or not, is determined during the stage of programming: if two sets of pixels only touching, then, in fact, may be preferable to keep the two separate cell. Geometric information associated with each cell, (square form) and information about the direction of the transition between cells is removed automatically. In map can be included barriers that will be taken into account when calculating seinasta; for example, two nesoobschaemost between the premises are not adjacent to each other. Once the model is built, the user can be added and other information (labels of cells, mobility, region, time-dependent barriers, orientation arcs etc). When the configuration is complete, the control system will draw graph "cell / sensors", similar to the count shown in figs. Heuristic for coverage The first example of the algorithm coverage uses heuristics that allow you to determine the optimal configuration of sensors with limited computational effort. First heuristics selects the sensor, which has the lowest number of degrees of freedom (the lowest number of possible provisions); if the number of degrees of freedom is equal, it will be selected sensor, with the lowest value of the identifier. Among the possible provisions of this sensor heuristics selects the position of having the best view; if the review will be the same, then the position will be so, in which is seen the cell that has the lowest value of the identifier, such as a cell (1) will have preference in relation to (2). After the first sensor in a suitable position was chosen, will be re-calculated the degree of freedom unselected sensors without account is already assigned to cells. The previous step will be repeated until such time as all sensors are assigned to the corresponding cell. The algorithm for optimal coverage Algorithm for optimal coverage receives as input interest area (derived from the request) and a set of sensors (derived from pacts "heart rate"), and produces the optimal configuration of sensors to cover this area of concern. This results in maximizing the probability of detection of abnormal events within this area of concern. In particular, suppose that the interest of the region is a set of N cells environmental models, built during the setup stage. C i indicates an abnormal event that occurs in the cell i. The monitoring system has M, the sensors x j denotes the position sensor j. In particular for sensors PTZ (pan/tilt/ zoom) position can take values within the final discrete set of values, called the advanced settings. Stationary sensor can be considered as a special sensor PTZ only one preliminary settings. In General, the position of the sensor can take values within a contiguous area of values and can contain the geographic coordinates of sensors located on moving vehicles (patrol cars, robots, etc). For event detection, labeled D, the expression p ( D | C 1all models C 2all models ...all models C N , x 1 , ... , x M ) ( 1 )indicates the probability of detecting anomalous events with the proviso that this event occurs in only one of N cells are associated with a plot of environment, subject control, and that M sensors have a certain preset x j . The problem of optimal coverage of this area, therefore, results in a detection of the optimal configuration of sensors that maximizes mentioned probability. Mentioned configuration can be expressed as follows: x ^ 1 , x ^ 2 , ... , x ^ M = arg max x , , ... , x M p ( D | C 1all models C 2all models ...all models C N , x 1 , ... , x M ) ( 2 )Probability of detection can be expressed as follows: p ( D | C 1all models C 2all models ...all models C N , x 1 , ... , x M ) = ∑ i = 1 N p ( D | C i , x 1 , ... , x M ) x p ( C i ) ∑ i = 1 N p ( C i ) ( 3 )The above expression is obtained using the direct observation that the presence of the event in the cell i do not depend on the position of M sensors, that is, p(C |x 1,..., x M )=p(C (i ). The probability p(C ) the fact that the event is happening in the cell, i could be proportional to the size of the relevant region and the importance that characterizes the cell from the point of view of supervision. For simplicity, below will be accepted, that all models have the same probability; therefore, the expression of the probability of detection will be: p ( D | C 1all models C 2all models ...all models C N , x 1 , ... , x M ) = ∑ i = 1 N p ( D | C i , x 1 , ... , x M ) N ( 4 )where p(D|C i , x 1,..., x M ) is the probability of detection events, the latter occurs in cell i, and the sensors have some preset x j . Now consider the case in which the cell, watching one sensor surveillance systems, such as the sensor (1). Thus, it turns out that p(D|C i , x 1,..., x M )=p(D|C i , x 1 ), that is, the discovery of the cell i do not depend on the position of the sensors that control the cell i. Assume that p(D|C i , x, M ) is the assessment of the control assigned by the installer of equipment, when setting up a surveillance system. If you describe this in more detail, the said supervision evaluation is an assessment, which was assigned to the sensor (1) in position x 1 , when he was associative associated with the cell i. It is quite reasonable to assume that if the evaluation of control is high, the probability of detection events in this area of the model will also be high. On the contrary, if the estimate was zero, then it would be impossible (zero probability), to make the discovery in this cell by a sensor (1) with presetting x 1 . Now consider the case in which the cell i see multiple sensors with appropriate preliminary settings. In order to assist the installer of equipment above setup procedure does not provide a summary of control. For this reason, in the absence of such information will be considered the worst case: is determined by the sensor with the good review, and it is assumed that other sensors can't add any information that can improve the overview of this area of the model. So get: p ( D | C i , x 1 , ... , x M ) = max j = 1, ... , M p ( D | C i , x j ) ( 5 )Now consider the following example. Two of the sensor (s 1 and s 2), located in x 1 and x 2 , see this box C i a survey estimates amounting to 0.8 and 0.6, respectively. It is assumed that other sensors do not see this box nor at what prestaging, or that they have the advanced settings in which they can't see this box. Thus, it turns out that p(D|C i , x, 1 )=0.8, p(D|C i , x 2 =0.6, p(D|C i , x j )=0 j>2, and that of the previous expression, p(D|C i , x 1 , x 2 ,...,x M )=0.8. Under the transformation (4) on the basis of this assumption would thus be obtained: p ( D | C 1all models C 2all models ...all models C N , x 1 , ... , x M ) = ∑ i = 1 N max j = 1, ... , M p ( D | C i , x j ) N ( 6 )where p(D|C i , x j ) is the assessment of the control with which the sensor j at pre-configuring x j controls the cell C i . The above expression is simply a way to quantitatively determine the quality of the coverage of this area, allowing, thus, to compare different configuration of the sensors used for this purpose. The optimal configuration x ^ 1 , x ^ 2 ,..., x ^ Myou can search all possible configurations thus, as explained below. The algorithm, which allows you to find the optimal configuration, start with the information contained in the column "cell/sensors" (figs), built when setting up a surveillance system. For each cell has one or more arcs that connect the cell with sensors, which control. For each arc has a piece of information that indicates preliminary setup of the sensor. Taking into account all the cells region, subject coverage, you can build a set of sensors used to obtain the above mentioned coverage, with appropriate preliminary settings. It becomes clear from the following example: there are three cell C 1 , C 2 , C 3 ; cell C 1 is visible to the sensor (1) in pre-setting x 1 1, cell C 2 visible sensor (2) when prestaging x 2 1and when prestaging x 2 2and the cell C 3 visible sensor (2) when prestaging x 2 2 .The range of possible configurations consists of pairs ( x 1 1 , x 2 1 and ( x 1 1 , x 2 2 ).Of course, configuration like ( x 1 1 , x 2 1 , x 2 2) is not valid, because at any point in time some this sensor can only be in one position. After you have identified two possible configurations, the algorithm calculates the probability of detection, appropriate to the mentioned two configurations. Suppose now that all assessments control is set to 1, except estimates for pre-setting x 2 2, which is 0.8 (at this pre-configuration seen 2 cells, but with lower quality). In these conditions, the first configuration ( x 1 1 , x 2 1) is the probability of detection of abnormal events within this environment, which is equal to p ( D | C 1all models C 2all models C 3 , x 1 1 , x 2 1 ) = 2 3Whereas the second configuration ( x 1 1 , x 2 1) has probability of detection of abnormal events within this environment, which is equal to p ( D | C 1all models C 2all models C 3 , x 1 1 , x 2 2 ) = 2.6 3The algorithm then compares these two probabilities of detection and selects the configuration ( x 1 1 , x 2 1), i.e. a configuration that maximizes the probability of detection events in this field, which in this case corresponds to the whole environment. From the above description it is evident that, if the number of possible configurations is large, then the search for the optimal configuration can be a difficult computational problem. In this case, can be applied methods of operations research in order to get a suboptimal solution. These methods, though, and are based on estimates of control and in the column "cell / sensors", minimize the corresponding function value derived from the probability of detection. As alternative, computational complexity can be reduced by introducing a heuristic methods; for example, you can decide to install the sensor in a position that has the highest rating control to control one or more cells that are visible only to this the sensor. Once installed, these heuristic methods are independent of calculating the probability of detection, even though the likelihood is likely in the development of the algorithm can be used to compare the efficiency of various heuristic techniques: if you are offered several heuristic methods, calculation of probability of detection will determine which configuration from among those proposed in accordance with heuristic methods, is the most suitable for the detection of events. The best coverage with the lowest number of sensors The problem of optimal coverage, discussed in the previous section can be supplemented by the restriction of having to use the smallest possible number of sensors. The algorithm to calculate the optimal coverage with the lowest number of sensors is also based on the assumption that the probability of detection of events in the cell does not increase with the number of sensors used to reach this cell. Thus, it is expected: p ( D | C i , x 1 , ... , x M ) = max j = 1, ... , M p ( D | C i , x j ) ( 7 )Therefore, the algorithm considers only the sensor with the highest rating control among all of these sensors, which are visible to the same cell. The sensors with lower scores are considered excessive. Although from a practical point of view it may be useful to add information from a larger number of sensors (for example, add frames region) in order to some extent to improve the efficiency of the control, however, there are situations in which it is important that were not accepted no superfluous information: the operator receiving redundant information will evaluate what is happening in the monitored scene more slowly and with greater difficulty. Not less important is the fact that the minimal use in a multiuser and multitasking system will increase the simultaneous servicing of more operators and objectives. The optimal solution in the presence of the above limitations are considering all possible subsets of the global of multiple sensors to be used for optimum coverage. For each subset of optimal pre custom configuration are thus, as described in the previous section, "Algorithm for the optimal coverage. It should be noted that there is no need to take into account all possible subsets of the sensors when the probability of detection for optimal solutions, we seek to subsets of the sensors with the number (N) of elements equal to optimal detection probability, look into subsets with the number (N-1) elements, then optimal solution will be a configuration with N-1 sensors. Therefore, it is preferable that the method involved the search for a solution to the problem of optimal coverage in subsets of sensors with an increasing number of elements. Optimal coverage borders The monitoring system provides a feature called a "track"object, that is tracking a moving object within a controlled environment. The cell is occupied by this object is called "active cell", while the adjacent cells are called "the edge of the cell". Connectivity between cells defined in the column "cell/sensors", built in configuring your system. In order not to lose the object, while the sensor is positioned on the active cell, other sensors configured to provide optimal coverage of the border area. The purpose of the algorithm of optimal coverage of the borders is to maximize the following probability: p ( D | C k , C 1all models C 2all models ...all models C N , x 1 , ... , x M ) ( 8 )Mentioned probability corresponds to the probability of event, provided that the proceeds from the event cell k and occurs in one of N cells C i , edge in relation to the cell k, and M sensors are certain provisions x j . Under conditions similar to those described for calculation of the optimal coverage, detection probability is defined by the following relationship: p ( D | C k , C 1all models C 2all models ...all models C N , x 1 , ... , x M ) = ∑ i = 1 N max j = 1, ... , M p ( D | C i , x j ) x p ( C i | C k ) ∑ i = 1 N p ( C i | C k ) ( 9 )where p(D|C i , x j ) is a assessment of control for sensor j with presetting x j , watching cell C j , while p ( C i | C k )represents the probability that the object is moving from the active cell in the supposedly existing edge cell i. According preferred variant of the invention, when creating a model of the environment during the setup stage it is necessary to determine the probability of a transition from one cell to another. These probabilities meet the instances p ( C i | C k )in the above formula. If the information on the probability of transition from one cell to the adjacent cell is not specified, as in the example embodiments of the invention described with reference to Figures 2A-2C, and 3A-3b, all instances p ( C i | C k )equal and the ratio to calculate the probability of event detection edge cell will be determined by the formula: p ( D | C k , C 1all models C 2all models ...all models C N , x 1 , ... , x M ) = ∑ i = 1 N max j = 1, ... , M p ( D | C i , x j ) N ( 10 )Optimum coverage through cluster agents A possible strategy to reduce the computational complexity of the algorithm for optimal coverage, provides for the formation of together agents (cluster) and the fact that each cluster solves the problem of optimal coverage independently of all other clusters. Therefore, the algorithm of optimum coverage through cluster includes the first stage on which agents should jointly decide on the composition of these populations. In the first variant of the invention, each agent determines the set of agents of their cluster, choosing pre-specified number of neighboring agents, the term "adjacent agents" refers to the agents that control sensors that cover the same environment that are covered by the sensors under his own control. In other words, two agents are neighbouring agents if they have two of the respective sensor, covering the same area. On the basis of this principle, the agent can form a cluster, choosing their neighbors and then the neighbors of its neighbors, and so on, down to the cluster with the maximum number of elements. Alternatively, in order to form clusters, each agent selects the neighboring agents, starting with the agent, with the lowest value of the identifier (for example, a label), and then determines which cluster it belongs. In another embodiment of the invention, the formation of clusters of agents can be made on the appropriate weighted graph in which nodes are agents, and the arcs connect with each other agents who have a common cell. Weight Doug specifies the total number of cells. The clusters obtained by using the "minimum cuts"pass by arcs with a minimum weight, in order to separate agents, "almost" no shared cells from each other. Once you have all of the agents that belong to the cluster, each agent will apply the above-described algorithm for optimal coverage. This approach is computationally efficient and sustainable. 1. How to coordinate a variety of sensors observations that are used for monitoring for environment, where many network computers control the said sensors for one or more of the services requested through the network, monitor the environment, characterized in that in order to be coordinated with each other, referred computers the following stages are: to form a group of computers that participate in the performance of the services requested by the network; shall exchange information over the network, so that each computer is mentioned many knows the characteristics of other computers mentioned sets and services they provided; the computers of some group that provides the same service, perform one and the same algorithm configuration, which gives as a result of the task to be performed every computer, as a function of the characteristics of computers, providing referred to one and the same service, so that all the computers that provide referred to the same service will determine the same optimal group configuration of sensors and, hence, the tasks to be performed by each computer group; computers control the sensors based on the objectives defined the mentioned algorithm configuration. 2. The method according to claim 1 in which computers perform the mentioned algorithm configuration periodically. 3. The method according to claim 1 in which computers perform the mentioned algorithm in response to a change in the set of the mentioned services requested through the network. 4. Way on any of the paragraphs. 1-3, in which at least one computer and at least one sensor of these sets are contained within the same electronic devices, in particular, the camcorder. 5. Way on any of the paragraphs. 1-3, in which computers decide which service to do together, so that each computer knows which other computers also perform a particular service. 6. The method according to claim 5, which referred to computers transmit this information periodically. 7. The method according to claim 5 in which to decide which service to do, each computer: to evaluate a set of requests for services received over the network; selects a service in which he can participate; inform the other computers on services, where he will participate; takes on the network services list, which may be executed by each computer; performs the assignment algorithm of service, which gives as a result, the services, in which should participate each computer. 8. The method according to claim 7, in which the said computers exchange information in a broadcast mode. 9. The method according to claim 7, in which computers communicate directly over a network by using different communication protocols, depending on the type of information sent by computers. 10. The method according to claim 7, in which at least one computer and at least one sensor of these sets are contained within the same electronic devices, in particular, the camcorder. 11. Way on any of the paragraphs. 1-3, in which computers communicate directly over a network by using different communication protocols, depending on the type of information sent by computers. 12. The method according to claim 11, in which the said computers exchange information in a broadcast mode. 13. The method indicated in paragraph 12, in which the said computers transmit this information periodically. 14. The method according to claim 7, in which the said computers are grouped based on the characteristics of their similarity or affinity of their functions to perform a particular service, and in which the computer belonging one or more groups, communicates only with other computers referred to one or more groups using multicast or radial-junction multipoint data transmission. 15. The method according to 14, in which the said computers transmit this information periodically. 16. The method according to claim 3, in which the request is passed periodically over the network until such time as the corresponding service is no longer required. 17. The method according to article 16, in which at least one service request is sent by the computer from the mentioned sets. 18. The method according to claim 3, in which at least one service request is sent by the operator through the station (3) control. 19. Detection system that contains many networked computers, and mentioned the computers are adapted to manage multiple sensors observations in response to one or more service requests received over the network, wherein the said computers are adapted in order to make the way on any of the paragraphs. 1 to 18.
|
© 2013-2014 Russian business network RussianPatents.com - Special Russian commercial information project for world wide. Foreign filing in English. |