WO2015198299A1 - System and method for management of data transmission in a communication network - Google Patents

System and method for management of data transmission in a communication network Download PDF

Info

Publication number
WO2015198299A1
WO2015198299A1 PCT/IL2015/050483 IL2015050483W WO2015198299A1 WO 2015198299 A1 WO2015198299 A1 WO 2015198299A1 IL 2015050483 W IL2015050483 W IL 2015050483W WO 2015198299 A1 WO2015198299 A1 WO 2015198299A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
transmission
client devices
server system
client
Prior art date
Application number
PCT/IL2015/050483
Other languages
French (fr)
Inventor
Zvi Ashani
Original Assignee
Agent Video Intelligence Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agent Video Intelligence Ltd. filed Critical Agent Video Intelligence Ltd.
Publication of WO2015198299A1 publication Critical patent/WO2015198299A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 

Definitions

  • the invention relates to a system and method for management of data transmission in a communication network, and is particularly useful for management of transmission of image and video related data in a distributed image/video communication network.
  • Attempts for transmission of data requiring more than the available bandwidth may generally cause degradation in performance of the communication network, or at least in a particular network segment.
  • Various conventional communication networks provide Quality of Service (QoS) management, which generally manages communication by utilizing the network resources to optimize communication.
  • QoS techniques are known in the art utilizing different prioritizing of requirements of communicating devices and data to be transmitted. Such QoS techniques are generally aimed at corresponding network topologies, devices and data types to provide reliable data transmission. Transmission of an image stream and/or video related data is one of the major bandwidth consumers in modern communication networks, and thus may require specific management techniques.
  • the present invention provides a system and method suitable for use with a network of distributed imaging units, e.g. a surveillance system, providing optimal control of the transmission bandwidth. This is provided by maintaining information relating to the topology of connection to various client devices. Such topology information may generally include data about grouping of devices into access nodes and about available bandwidth for communication provided by each of these access nodes.
  • the present invention relates to a network configuration where one or more clients devices are connected to each other in a local network (being wired or wireless), and having a shared connection to remote computers/servers via a corresponding access node (e.g. modem unit, router).
  • the access nodes allow data transmission from the local network to remote devices connected to a global network (e.g. any internet domain).
  • each access node may be characterized by maximal bandwidth for communication, either for upload of data from the local network to one or more remote devices, or for download or data from the global network to devices of the local network.
  • the present invention provides a technique for management of a distributed surveillance system, where various camera units may be deployed in different locations and connected to a remote server via access nodes. More specifically, a specific camera unit may be connected to one or more corresponding local networks, and granted access for communication with the remote server via a modem/router connecting the local network to a global network. Thus, appropriate management of data transmission between the access node and the remote server is required to provide reliable and efficient operation of the distributed system.
  • a server system is provided to manage video stream (image stream) data provided by a plurality of camera units connected by a plurality of local networks.
  • the server system is generally a computing system having a suitable address in the global network.
  • the server system is configured to communicate with any one of the camera units associated with the distributed system to thereby allow users to view and/or download an image stream acquired by any camera unit.
  • a user sends the server system a request for an image stream generated by certain one or more camera units, e.g. for observing one or more regions of interest (ROI) covered by the camera unit in real-time
  • the server identifies the corresponding camera units and sends a command for transmission of the requested image stream.
  • ROI regions of interest
  • the server is configured to maintain data about the different camera units associated with the distributed system, the corresponding unique identifier (e.g. IP address, MAC address etc.), local network used thereby and data about available bandwidth provided by the access node of the corresponding local network.
  • the server can command the one or more source camera units, to transmit the requested data while using a desired bandwidth (e.g. not to exceed the available bandwidth) in order to provide reliable and smooth data transmission.
  • the server may indicate the corresponding camera unit to transmit an image stream at reduced resolution, reduced frame rate, higher data compression and/or reduced color map.
  • the server may command the camera unit to transmit only partial images in the image stream such as image primitives, contour lines, black and white image data etc.
  • the server may dynamically adjust the commands based on actual transmission load, e.g. based on the number of cameras currently transmitting data through each access node.
  • each client device e.g. camera units
  • the discovery process generally includes communicating with all the devices connected to the local network, and the access node itself.
  • the device performing the discovery collects data about the address of the connected devices, an indication if any one of the devices is associated with the same distributed surveillance system, and data about bandwidth use of the local network.
  • the device then transmits the collected data to the server though the access node, to allow the server system to update the maintained database (list of devices and corresponding connections).
  • a server system comprising a processing utility and input and output ports for connection to a data communication network with plurality of client devices.
  • the server system is configured and operable for maintaining a list comprising data about client devices, corresponding access nodes for said client devices and corresponding available bandwidth for communication through said access nodes.
  • the server system is configured for periodically transmitting requests to the client devices through said data communication network for obtaining data indicative of devices connected to a respective access node and for updating said list.
  • the server system is configured to be responsive to a request from a target client device to transmit to one or more source client devices a request for transmission of data, said request for transmission of data comprising data indicative of corresponding available bandwidth for transmission for respective access nodes, thereby indicating said one or more client devices to provide the requested data at a corresponding compression level for assuring efficient data transmission.
  • the server system may be configured and operable for management of data transmission in a distributed video streaming system, said plurality of client devices comprise at least one camera unit.
  • the processing utility upon receiving a request for transmission of data from a target client device, is configured and operable to determine existence of direct connection between said target client device and one or more corresponding source client devices, and to provide said one or more source client devices and said target client device corresponding indication, thereby allowing direct data transmission between the source and target client devices.
  • the existence of direct connection comprises connection of the target client device and one or more of the source client devices to a single common access node, may allow transmission within a corresponding local network.
  • the indication sent to one or more client devices to provide the requested data at a corresponding quality level may comprise indication to provide the requested data based on at least one of the following: reduced frame rate; reduced image resolution; reduced color map; transmission of black & white data; reduced color bitmap and transmission of image primitives.
  • the processing utility is configured and operable to determine malfunction in communication with any one of the client devices; upon determination of malfunction in communication.
  • the processing utility may be configured to locate additional client devices utilizing a similar access node as the malfunction device and to verify communication with said additional client devices to thereby differentiate between client malfunction and / or access node or network malfunction.
  • the processing utility may be configured and operable for monitoring transmission into selected client device (e.g. storage utility).
  • the monitoring comprises limiting bit-rate of input data to said client device to a value corresponding with said available bandwidth.
  • the processing utility may also be configured and operable to redirect transmission of data upon determining that available bandwidth corresponding with a target client device (e.g. storage utility) is insufficient with respect to required bandwidth of said transmission of data.
  • the present invention provides a software product embedded in a computer readable medium and carrying instructions comprising the following: periodically transmitting a discovery request through a communication network for identifying client devices connected to one or more certain access nodes and updating a list of client devices connected through said one or more access nodes for said corresponding network; receiving from a client device, through said communication network, said list of client devices connected through a corresponding access nodes and data indicative of available bandwidth of said access nodes, and storing said list in a storage utility (together with other such lists from other networks); upon receiving a request for data transmission from a device connected to the communication network through certain access node, identifying data indicative of a one or more data source locations, corresponding one or more access nodes and available bandwidth associated with each of said access nodes, and transmitting to a corresponding client system a command for providing the requested data at a desired compression level in accordance with said available bandwidth.
  • the present invention provides a camera unit (client device) configured for generating data indicative of an image stream of a region of interest
  • the camera unit comprises: an imager unit (camera) configured to generate data indicative of said image stream, and a control unit configured and operable for periodically performing a discovery process within a local communication network to determine existence and addresses of additional units connected to the communication network and utilizing its corresponding access node to thereby provide a list of said devices the a data management server through a data communication network; the control unit is configured to transmit data indicative of said list upon receiving an appropriate demand through the communication network.
  • the control unit is also configured to transmit data indicative of an acquired image stream at a predetermined compression level in response to appropriate request through the communication network comprising data about available bandwidth associated with the corresponding access node.
  • the camera unit may be connectable to a storage utility for storing the acquired image stream for later use; the control unit transmits either a realtime image stream or a stored image stream in accordance with said appropriate request through the communication network.
  • the camera may be configured and operable to apply a predetermined compression process to the acquired image stream in response to said appropriate demand through the communication network.
  • the predetermined compression may comprise at least one of the following: reduced frame rate; reduced image resolution; reduced color map; transmission of black & white data; reduced color bitmap and transmission of image primitives.
  • control unit in response to an appropriate indication comprising an address of a target device, the control unit may be configured and operable to establish direct communication with said target device to thereby enable direct transmission of data.
  • Fig. 1 illustrates schematic configuration of a server system according to the present invention and its connection with plurality of client devices and users;
  • Fig. 2 schematically illustrates a camera unit suitable for use as a client device in a distributed surveillance system according to the present invention;
  • Fig. 3 exemplifies operational steps of a server system according to the technique of the invention
  • the present invention deals with video management in a distributed networking environment.
  • the distributed environment is based on a plurality of client devices (generally camera units distributed in desired locations, computer systems etc) configured to establish an appropriate connection with a management server system utilizing a global network.
  • client devices generally camera units distributed in desired locations, computer systems etc
  • the distributed networking environment provides that the cameras, the Video Management Server (VMS) and other client workstations do not reside on the same physical network.
  • VMS Video Management Server
  • client workstations do not reside on the same physical network.
  • different client devices are connected in local networks and use corresponding access nodes (e.g. router, modem) for communication with the server through a global network.
  • An example for such a topology is a cloud based VMS.
  • Each of the corresponding access nodes may provide global network access for a plurality of devices, either those that belong to the distributed system or not.
  • the access nodes are also generally limited with the bandwidth for data transmission between devices on the local network and communication with outside devices through the global network. It should be noted that such bandwidth limitation may be symmetric or not. For example, in some case the bandwidth for receiving information from the global network may be different than that for transmitting data to the global network. Transmission of an image stream and video data generally requires high bandwidth mostly due to the volume of the data. If transmission is interrupted the video stream will not be seen appropriately and it will stop when no sufficient data is received.
  • the technique of the present invention utilizes acquiring of data about available bandwidth for corresponding access nodes to allow suitable management of video data transmission to thereby provide a reliable and continuous connection.
  • Fig. 1 schematically illustrating configuration of a server system 100 according to some embodiments of the present invention, together with connection example with various client devices.
  • the server system 100 is configured for connecting through a global network to allow access to a plurality of client devices (designated at 301, 302, 303... 30i... 30n in the figure).
  • the server system 100 may have one or more permanent addresses in the global network.
  • the client devices 30i may generally be a camera unit as will be described further below. Additionally, one or more of the camera units, e.g. device 303, may be connected to an external storage utility 403 and configured to provide communication access to the data stored therein.
  • Other client devices may be user operated computer systems, e.g. device 501, or other computer systems used for monitoring collected video data or for any other use.
  • the client devices 301, 302, 303... 30i... 30n are generally camera units as will be described further below, and are connectable to corresponding local networks, e.g. LAN, wireless LAN etc., the client devices are configured for communicating with the server system 100 via suitable access nodes (designated at 201... 20i... 20n) configured to mitigate communication between the local network and the global network.
  • the access nodes 20i may be, for example modem units and/or router units, configured to establish connection between different devices of the local network with destination address on the global network (e.g. internet).
  • each of the access nodes 20i may provide connection of a plurality of devices of the local network between them, and between the devices of the local network and the global network.
  • each access node 20i may generally have a predetermined maximal bandwidth for communication with various addresses on the global network.
  • the technique of the invention utilizes appropriate management of video communication to utilize the available bandwidth and establish high quality communication.
  • the server system 100 is a computerized system having at least one processing utility 110 and network connection module 150. Additionally, the server system may include a storage utility which is not specifically shown. It should be noted that the server system may generally be configured to operate in a virtualized computing environment and thus may be a single computing unit or a distributed server system.
  • the processing utility 110 includes various processing modules including client database module 120, database update module 130 and transmission management module 140.
  • the database update module 130 is configured to periodically transmit to client devices a request for discovery command. This request initiates an appropriate discovery operation by each client device 30i to identify and provide data about the use of the local network and its available bandwidth. Upon receiving data about the local network from different client devices, the database update module 130 operates to update the corresponding client database module 120.
  • the client database module 120 is used to store and manage a database about the client devices managed by the server system. More specifically, the database may generally include a list of data about the client devices, their addresses, the access nodes providing the client devices communication with the server system and the available bandwidth for communication through the access nodes.
  • the server system 100 is configured to utilize the list of client devices stored in the database 120 to optimize video transmission within the distributed video network.
  • the database update module 130 is configured to maintain and update the client devices' data in the database 120. To this end the database update module 130 may periodically transmit requests for discovery to all of the client devices and in particular to the camera units associated with the distributed video system. Additionally, the database update module 130 may add additional client devices to the database once an appropriate communication starts. Such communication may be a request for transmission of data to and/or from an unknown address, indicating an unlisted client device. Additionally, introduction of new access nodes may be updated into the database 120, thereby engaging the server system to monitor the client devices and bandwidth abilities associated with the new access nodes.
  • Addition of new devices (e.g. cameras) to the system may be performed as follows: once a client device, for this specific example a camera unit, attempts to connect to the server, the server locates the registration of the device in the existing database. It should be noted that each camera unit, or any client device, has a globally unique identifier such as the device's MAC address. If the camera unit is already registered in the database, it is allowed to connect to the system and transmit/receive communication. If the camera unit is not registered, the server system may require information about the camera unit. According to some embodiments, the server is configured to alert a user (e.g. a human operator) about the new client device requesting access. The user is requested to verify the identity of the client device and may need to enter corresponding information such as the identity of the user account that owns this camera, configuration information, licensing information, observed ROI etc.
  • a user e.g. a human operator
  • the server may transmit a request for discovery of the corresponding local network of the camera unit.
  • the camera unit After performing the requested discovery, the camera unit transmits information about its corresponding local network(s) and access node(s).
  • the server registers the received information and determines based on this information to which access node, or clients group, the camera unit is added.
  • the server system When information about the corresponding access node is not available in the database, the server system generates a new clients group for the corresponding access node.
  • the server system 100 may continuously measure the available bandwidth on each of the access nodes connecting one or more of the client devices to the server.
  • the server may also continuously measure the used bandwidth at each instance to update available bandwidth for communication.
  • the server system may actively ensure the quality of service (QoS) for connection with each of the client devices and/or access nodes. This may be done by controlling the amount of information being sent from each camera unit based on the available bandwidth.
  • QoS quality of service
  • the transmission management module 140 Upon receipt of a request for video data from a user, e.g. from client device 501, the transmission management module 140 is configured and operable to identify the appropriate source for the data and establish a suitable path for transmission. To this end, the transmission management module 140 may locate the suitable client devices stored at the database module 120. In some configurations, the server may be required to scan the database to determine the one or more camera units suitable for providing the requested data. It should be noted that generally, the user requesting data may provide an appropriate identifier regarding the corresponding camera unit being the source of the data. However, in some embodiments, the server is configured to determine the best suitable source. Additionally, according to the present invention, the transmission management module 140 determines if the available bandwidth for communication is sufficient for suitable transmission of the requested data.
  • the transmission management module 140 utilizes information about available bandwidth for communication between the source client, e.g. camera unit and/or storage device, and the destination client which is generally a user operated system.
  • Such available bandwidth for communication may be affected by several parameters.
  • the communication may be limited by upload bandwidth of the source client and/or a download bandwidth of the target client.
  • the server system may determine bandwidth of the source and ignore bandwidth of the target.
  • the transmission management module 140 determines the available bandwidth for transmission based on both the upload bandwidth available to the source and the download bandwidth available to the target. If the available bandwidth for transmission is not sufficient for transmission of the requested video data, the transmission management module 140 sends the source client an indication about the available bandwidth and appropriate compression of the data. More specifically, the transmission management module 140, when commanding the source client to prepare and transmit the requested data, indicates the available bandwidth for transmission.
  • This indication may generally include a command to compress or dilute the data before transmission, e.g. to transmit the data with reduced bit-rate, to thereby allow smooth transmission.
  • the transmission management module 140 may indicate that the data should be sent with lower resolution; reduced number of frames per second; reduced color map (e.g. transmission of black & white images); transmission of image primitives, e.g. as indicated in U.S. Patent No. 8,004,563 assigned to the assignee of the present application. It should however be noted that the technique of the present invention is not limited to a specific compression technique.
  • the available bandwidth is generally a parameter that is associated with the access nodes providing a client device with communication to the global network. Additionally, the available bandwidth may be limited at the server's end when several client devices are simultaneously attempting to send data to the server. As a result of that, the server system is configured to update the client database module 120 utilizing information received from the client devices. To this end, the technique of the present invention also provides a camera unit configured and operable for performing appropriate discovery within its corresponding one or more local networks and compression of selected data. In this connection reference is made to Fig. 2 illustrating schematically a camera unit 300 according to some embodiments of the present invention.
  • the camera unit 300 includes an imager 310 configured to observe a region of interest and generate corresponding image data; a controller 320 configured to manage operation of the camera unit as will be described below.
  • the camera unit also includes a network communication module 340 configured to establish communication within a corresponding local network, and may include an integral storage utility 350 or be connectable with such storage utility.
  • the controller (control unit) 320 may generally be a processing unit, and is configured and operable for receiving image data from the imager and transmitting it through the local network, or storing it in the storage utility 350 for later use. Additionally, the controller includes a discovery manager module 325 configured for periodically performing a discovery process within the local communication network. The discovery process involves communicating with the corresponding access node and possibly with additional devices connected to the local network, to determine existence and unique identifiers of any additional devices connected utilizing the same local network. Additionally, the process aims to identify the available bandwidth for communication as provided by the access node. To this end the controller 320 may request appropriate data from the access node, establish an outgoing connection to verify the existing bandwidth by transferring data, or utilize any other technique to determine the current available bandwidth for communication.
  • the controller 320 transmits data indicative of the corresponding client devices sharing the same local network to the server system 100.
  • the local network data may generally include data about appropriate unique identifiers of the camera units and the corresponding access node; data about additional camera units and/or other devices sharing the local network; and data about maximal and available bandwidth for communication.
  • the client device may also transmit information about its corresponding access node, such as identifier and address.
  • information about the available bandwidth is determined by appropriate communication between a client device and the server system.
  • the server system engages in periodic measurements of the available bandwidth by requesting data transmission at increasing rates from the client device, until it detects interruptions in the data flow. Such interruptions indicate that the maximum upload bandwidth has been reached.
  • the server may determine available download bandwidth using a substantially similar technique, i.e. by transmitting data pieces at increasing rates to the client device.
  • the controller may be configured to periodically perform the full discovery process, or to operate in accordance with corresponding commands received from the server system.
  • the controller 320 of the camera unit may be configured to periodically perform the discovery process, and to perform an additional discovery process upon appropriate command from the server system 100.
  • the controller 320 may be configured for performing limited discovery, e.g. identification of connected devices, periodically and to estimate the available bandwidth upon appropriate command from the server system 100 or based on a separate sequence.
  • the server system 100 stores data pieces received from each of the camera units 30i and possibly from additional client devices connected to the distributed video communication system.
  • the server system 100 utilizes the data to optimize video transmission between devices of the system.
  • the server system 100 upon receipt of a request for transmission of data from a client device, e.g. user operated client 501 exemplified in Fig. 1, the server system 100 locates the camera unit 30i identified in the request or utilizes the database 120 of client devices to identify the optimal camera unit 30i (and/or storage device) suitable for providing the requested data.
  • the server system 100 transmits a corresponding command to the camera unit 30i including data about the target device requesting the data, information about the requested data and data about the available bandwidth for transmission.
  • the controller 320 of the source camera unit Upon receipt of such a request for transmission of data from the server, the controller 320 of the source camera unit identifies the requested data. Such data may be transmission of real-time image stream as collected from the imager 310 and/or video data stored at the corresponding storage device 350 (being integral with the camera unit or external thereto).
  • the controller 320 utilizes data about the available bandwidth to determine a suitable transmission bit-rate that allows smooth transmission of the video data. More specifically, the controller determines a maximal bit-rate for transmission that will not exceed the available bandwidth. It is known that attempts to transmit data, and video data in particular, having bit-rate being higher than the available bandwidth for communication may result in long buffering times interrupting the video data from playing appropriately.
  • the controller 320 When an appropriate bit-rate is determined, the controller 320 utilizes a suitable compression technique and transmits the requested data to the target device. It should be noted that the server system may indicate to the camera unit to vary data compression and utilize different, greater or lower, bit-rate for transmission based on periodic updates of the available bandwidth data and/or based on actual transmission performances.
  • the technique of the present invention may utilize the local network to establish optimal transmission path when possible.
  • the requesting client device e.g. user operated system
  • the data source e.g. camera unit or storage
  • the requesting client device may communicate directly with the source device to request for transmission of data.
  • the requesting client may transmit appropriate indication to the server system that certain data is being transmitted to thereby allow appropriate monitoring.
  • the server system may identify that the target client, requesting certain data, and the corresponding source client (camera unit storing or generating the requested data) are connected to a common local network, and provide an appropriate indication to the source and target clients.
  • the controller 320 of the source client may establish direct communication path with the target client to thereby transmit the requested data through the local network. This limits the use and dependence on the available bandwidth of the corresponding access node and allows for fast and reliable data transmission.
  • the server system 100 and distributed video system may be used to maintain and manage data transmission initiated by either the source or target device.
  • the server system while maintaining transmission of data may provide appropriate indications to the devices participating in a data transmission including: responding to a request from a user operated device to receive certain one or more video data; responding to a request from one or more camera units for transmission of data to a remote storage utility and any other type of data transmission request.
  • the server system periodically transmits discovery requests to the associated client devices 1010.
  • client devices may initiate the discovery process without receiving a request from the server.
  • Each client device that performed the discovery process transmits the corresponding data back to the server system 1020.
  • the local network data may generally include data about different client devices connected to the local network, their addresses and possibly additional features such as device type.
  • the data also includes information about the corresponding access node of the local network and its available bandwidth for communication.
  • the client database may be updated with the received data 1030. Thus database maintenance is performed continuously as long as the server system 100 is operable.
  • a request for transmission of data may be received from a user operated client system requesting certain video data; a camera unit requesting transmission of collected data to a storage utility, etc.
  • the requested data may be stored in a storage utility and/or being acquired in real time by one or more camera units.
  • the server system may also provide data storage management to the plurality of client devices.
  • one or more camera units may be configured to transmit live- stream data to the server system.
  • the server system stores the received data at a corresponding storage unit thereby providing additional storage/back-up for the transmitted data. This allows providing a redundant storage option in case the local storage breaks down or the node cannot be accessed, allowing additional access to data via the server system.
  • the server system Upon receiving such a request; the server system operates to identify the transmission path. More specifically, the server operates to identify the suitable source or target of transmission of the requested data 1050. Such source or target may be a camera unit observing a region of interest requested by a user, a suitable storage utility for storing acquired video data, and/or a suitable storage utility holding at least a part of the requested data.
  • the server system operates to estimate the bandwidth along the transmission path. To this end the server system utilizes the client database to estimate bandwidth for transmission between the source and target clients 1060. This may be affected by available bandwidth of corresponding local networks and the connection topology.
  • an appropriate transmission technique may be selected, and a corresponding command is sent to the client devices to begin transmission 1070.
  • the appropriate transmission technique may differ in accordance with transmission type, available bandwidth with respect to the volume of data to be transmitted as well as relative connections of the source and target devices. For example, if the available bandwidth is sufficient, the data is preferably transmitted in its highest quality. However any transmission of data may receive a priority level, and transmission may be limited if a transmission process of higher priority should be established.
  • the server system indicates to the source client to modify the data before its transmission so that it uses less bandwidth and can fit in the available network capacity.
  • Methods for modifying the required bandwidth include increased compression rates, reduced resolution, reduced frame rate, reduced color depth or any other suitable compression technique.
  • the server system may determine the available bandwidth for each camera unit and instruct it to modify the stream accordingly. A user may define priorities for different camera units so that higher priority camera unit may utilize more bandwidth.
  • variation of data volume may be replaced with longer buffering and transmission time.
  • the data for transmission may be transcoded to lower bit-rate by compression or alternatively drop some information from the already compressed video (for example, if working with an h264 stream the camera can send only the Intra frames or part of the Intra frames) to allow faster transmission.
  • transmission may be independent of the available bandwidth but is limited by features of the local network. Generally such transmission may be of higher efficiency and bandwidth and thus is generally preferred.
  • the target device can identify such a common connection with the source device and thus may initiate direct transmission independently of the server system. In such case, the target device indicates the server system of the data transmission to allow appropriate monitoring.
  • utilizing the discovery process by client devices may allow one or more client devices at least limited operation in a "degraded mode". More specifically, the client devices acquire and may store information about additional client devices connected to its local network. Thus, when connection to the server fails, the client device may utilize information about their local network to allow continuous communication within the local network.
  • the server system may monitor transmission into a common storage utility to ensure that a total bit-rate of input data does not exceed the storage utility's handling capacity. If a volume of data to be stored is higher than the capability of the storage utility the server system may reassign some of data to a different storage utility or alert a user about such a possible issue.
  • the server system may utilize the client database to differentiate (and raise a proper alert) between a client device (e.g. camera unit) malfunction which may disconnect communication of the device with the server system; and a problem with the network link which may result in a similar lack of communication.
  • a client device e.g. camera unit
  • the former problem will cause only one client device from a group to loose connection while the latter problem will cause an entire group to loose connectivity.
  • this allows the server system to robustly handle the failure of one or more local storage devices associates with one or more cameras units.
  • the server system may allow the camera units to temporarily record video to an external storage utility though the global network.
  • the present invention provides a technique for management of data transmission within a distributed network.
  • the technique of the present invention is configured for use with transmission of video data between camera units, storage utilities and user operated systems to provide efficient and smooth transmission of video information.
  • the present invention provides a server system, client devices (e.g. camera units and user devices) and a method of operation thereof allowing appropriate management of data transmission based on information about available bandwidth provided by the various network connections.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A system and method are presented, the system comprising a processing utility is connected through a data communication network with plurality of client devices. The server system is configured and operable for maintaining a list comprising data about client devices, their corresponding access nodes and corresponding available bandwidth for communication through said access nodes. the server system is configured for periodically transmitting requests to the client devices for obtaining data indicative of devices connected to respective access node and for updating said list. The server system is configured to be responsive to a request from a target client device to transmit to one or more source client devices a request for data, said request for data comprising data indicative of corresponding available bandwidth for transmission for respective access nodes, thereby indicating said one or more client devices to provide the requested data at a corresponding compression for efficient data transmission.

Description

SYSTEM AND METHOD FOR MANAGEMENT OF DATA TRANSMISSION IN A COMMUNICATION NETWORK
TECHNOLOGICAL FIELD
The invention relates to a system and method for management of data transmission in a communication network, and is particularly useful for management of transmission of image and video related data in a distributed image/video communication network.
BACKGROUND
Data transmission in large scale communication networks with limited available bandwidth requires constant management to provide optimal performance. Transmission of data from one device to another through the network consumes a certain amount of bandwidth. However, the availability of bandwidth for communication may be limited. For transmission of large quantities of data, the required bandwidth may exceed that which is available.
Attempts for transmission of data requiring more than the available bandwidth may generally cause degradation in performance of the communication network, or at least in a particular network segment. Various conventional communication networks provide Quality of Service (QoS) management, which generally manages communication by utilizing the network resources to optimize communication. Various QoS techniques are known in the art utilizing different prioritizing of requirements of communicating devices and data to be transmitted. Such QoS techniques are generally aimed at corresponding network topologies, devices and data types to provide reliable data transmission. Transmission of an image stream and/or video related data is one of the major bandwidth consumers in modern communication networks, and thus may require specific management techniques.
GENERAL DESCRIPTION
Transmission of an image stream and/or video related data is one of the major bandwidth consumers in modern communication networks. Additionally, the growing use of "cloud computing" techniques requires increasing bandwidth for transmission of data to and from the "cloud". The present invention provides a system and method suitable for use with a network of distributed imaging units, e.g. a surveillance system, providing optimal control of the transmission bandwidth. This is provided by maintaining information relating to the topology of connection to various client devices. Such topology information may generally include data about grouping of devices into access nodes and about available bandwidth for communication provided by each of these access nodes.
In this connection, the present invention relates to a network configuration where one or more clients devices are connected to each other in a local network (being wired or wireless), and having a shared connection to remote computers/servers via a corresponding access node (e.g. modem unit, router). In such a configuration, the access nodes allow data transmission from the local network to remote devices connected to a global network (e.g. any internet domain). Additionally, each access node may be characterized by maximal bandwidth for communication, either for upload of data from the local network to one or more remote devices, or for download or data from the global network to devices of the local network.
In this connection, the present invention provides a technique for management of a distributed surveillance system, where various camera units may be deployed in different locations and connected to a remote server via access nodes. More specifically, a specific camera unit may be connected to one or more corresponding local networks, and granted access for communication with the remote server via a modem/router connecting the local network to a global network. Thus, appropriate management of data transmission between the access node and the remote server is required to provide reliable and efficient operation of the distributed system. According to the technique of the present invention, a server system is provided to manage video stream (image stream) data provided by a plurality of camera units connected by a plurality of local networks. The server system is generally a computing system having a suitable address in the global network. The server system is configured to communicate with any one of the camera units associated with the distributed system to thereby allow users to view and/or download an image stream acquired by any camera unit. Thus, when a user sends the server system a request for an image stream generated by certain one or more camera units, e.g. for observing one or more regions of interest (ROI) covered by the camera unit in real-time, the server identifies the corresponding camera units and sends a command for transmission of the requested image stream.
The server is configured to maintain data about the different camera units associated with the distributed system, the corresponding unique identifier (e.g. IP address, MAC address etc.), local network used thereby and data about available bandwidth provided by the access node of the corresponding local network. Where a request for data transmission is received, the server can command the one or more source camera units, to transmit the requested data while using a desired bandwidth (e.g. not to exceed the available bandwidth) in order to provide reliable and smooth data transmission. More specifically, the server may indicate the corresponding camera unit to transmit an image stream at reduced resolution, reduced frame rate, higher data compression and/or reduced color map. Alternatively or additionally, the server may command the camera unit to transmit only partial images in the image stream such as image primitives, contour lines, black and white image data etc. In some embodiments, the server may dynamically adjust the commands based on actual transmission load, e.g. based on the number of cameras currently transmitting data through each access node.
To build and maintain such a database, each client device (e.g. camera units) is configured to periodically perform a discovery process within its corresponding local network. The discovery process generally includes communicating with all the devices connected to the local network, and the access node itself. The device performing the discovery collects data about the address of the connected devices, an indication if any one of the devices is associated with the same distributed surveillance system, and data about bandwidth use of the local network. The device then transmits the collected data to the server though the access node, to allow the server system to update the maintained database (list of devices and corresponding connections).
Thus, according to a broad aspect of the present invention, there is provided a server system comprising a processing utility and input and output ports for connection to a data communication network with plurality of client devices. The server system is configured and operable for maintaining a list comprising data about client devices, corresponding access nodes for said client devices and corresponding available bandwidth for communication through said access nodes. The server system is configured for periodically transmitting requests to the client devices through said data communication network for obtaining data indicative of devices connected to a respective access node and for updating said list. Wherein the server system is configured to be responsive to a request from a target client device to transmit to one or more source client devices a request for transmission of data, said request for transmission of data comprising data indicative of corresponding available bandwidth for transmission for respective access nodes, thereby indicating said one or more client devices to provide the requested data at a corresponding compression level for assuring efficient data transmission.
The server system may be configured and operable for management of data transmission in a distributed video streaming system, said plurality of client devices comprise at least one camera unit.
According to some embodiments, upon receiving a request for transmission of data from a target client device, the processing utility is configured and operable to determine existence of direct connection between said target client device and one or more corresponding source client devices, and to provide said one or more source client devices and said target client device corresponding indication, thereby allowing direct data transmission between the source and target client devices. The existence of direct connection comprises connection of the target client device and one or more of the source client devices to a single common access node, may allow transmission within a corresponding local network.
The indication sent to one or more client devices to provide the requested data at a corresponding quality level may comprise indication to provide the requested data based on at least one of the following: reduced frame rate; reduced image resolution; reduced color map; transmission of black & white data; reduced color bitmap and transmission of image primitives.
According to some embodiments, the processing utility is configured and operable to determine malfunction in communication with any one of the client devices; upon determination of malfunction in communication. The processing utility may be configured to locate additional client devices utilizing a similar access node as the malfunction device and to verify communication with said additional client devices to thereby differentiate between client malfunction and / or access node or network malfunction.
The processing utility may be configured and operable for monitoring transmission into selected client device (e.g. storage utility). The monitoring comprises limiting bit-rate of input data to said client device to a value corresponding with said available bandwidth. The processing utility may also be configured and operable to redirect transmission of data upon determining that available bandwidth corresponding with a target client device (e.g. storage utility) is insufficient with respect to required bandwidth of said transmission of data.
According to one other broad aspect the present invention provides a software product embedded in a computer readable medium and carrying instructions comprising the following: periodically transmitting a discovery request through a communication network for identifying client devices connected to one or more certain access nodes and updating a list of client devices connected through said one or more access nodes for said corresponding network; receiving from a client device, through said communication network, said list of client devices connected through a corresponding access nodes and data indicative of available bandwidth of said access nodes, and storing said list in a storage utility (together with other such lists from other networks); upon receiving a request for data transmission from a device connected to the communication network through certain access node, identifying data indicative of a one or more data source locations, corresponding one or more access nodes and available bandwidth associated with each of said access nodes, and transmitting to a corresponding client system a command for providing the requested data at a desired compression level in accordance with said available bandwidth.
According to yet another broad aspect, the present invention provides a camera unit (client device) configured for generating data indicative of an image stream of a region of interest, the camera unit comprises: an imager unit (camera) configured to generate data indicative of said image stream, and a control unit configured and operable for periodically performing a discovery process within a local communication network to determine existence and addresses of additional units connected to the communication network and utilizing its corresponding access node to thereby provide a list of said devices the a data management server through a data communication network; the control unit is configured to transmit data indicative of said list upon receiving an appropriate demand through the communication network. The control unit is also configured to transmit data indicative of an acquired image stream at a predetermined compression level in response to appropriate request through the communication network comprising data about available bandwidth associated with the corresponding access node. The camera unit may be connectable to a storage utility for storing the acquired image stream for later use; the control unit transmits either a realtime image stream or a stored image stream in accordance with said appropriate request through the communication network.
The camera may be configured and operable to apply a predetermined compression process to the acquired image stream in response to said appropriate demand through the communication network. The predetermined compression may comprise at least one of the following: reduced frame rate; reduced image resolution; reduced color map; transmission of black & white data; reduced color bitmap and transmission of image primitives.
According to some embodiments, in response to an appropriate indication comprising an address of a target device, the control unit may be configured and operable to establish direct communication with said target device to thereby enable direct transmission of data.
BRIEF DESCRIPTION OF THE DRAWINGS
In order to better understand the subject matter that is disclosed herein and to exemplify how it may be carried out in practice, embodiments will now be described, by way of non-limiting example only, with reference to the accompanying drawings, in which:
Fig. 1 illustrates schematic configuration of a server system according to the present invention and its connection with plurality of client devices and users; Fig. 2 schematically illustrates a camera unit suitable for use as a client device in a distributed surveillance system according to the present invention;
Fig. 3 exemplifies operational steps of a server system according to the technique of the invention;
DETAILED DESCRIPTION OF EMBODIMENTS
The present invention deals with video management in a distributed networking environment. In this connection, the distributed environment is based on a plurality of client devices (generally camera units distributed in desired locations, computer systems etc) configured to establish an appropriate connection with a management server system utilizing a global network. Generally, the distributed networking environment provides that the cameras, the Video Management Server (VMS) and other client workstations do not reside on the same physical network. For example, different client devices are connected in local networks and use corresponding access nodes (e.g. router, modem) for communication with the server through a global network. An example for such a topology is a cloud based VMS.
Each of the corresponding access nodes may provide global network access for a plurality of devices, either those that belong to the distributed system or not. The access nodes are also generally limited with the bandwidth for data transmission between devices on the local network and communication with outside devices through the global network. It should be noted that such bandwidth limitation may be symmetric or not. For example, in some case the bandwidth for receiving information from the global network may be different than that for transmitting data to the global network. Transmission of an image stream and video data generally requires high bandwidth mostly due to the volume of the data. If transmission is interrupted the video stream will not be seen appropriately and it will stop when no sufficient data is received.
Thus, the technique of the present invention utilizes acquiring of data about available bandwidth for corresponding access nodes to allow suitable management of video data transmission to thereby provide a reliable and continuous connection. Reference is made to Fig. 1, schematically illustrating configuration of a server system 100 according to some embodiments of the present invention, together with connection example with various client devices. As shown, the server system 100 is configured for connecting through a global network to allow access to a plurality of client devices (designated at 301, 302, 303... 30i... 30n in the figure). To this end the server system 100 may have one or more permanent addresses in the global network. In this connection and as also shown in the figure, the client devices 30i may generally be a camera unit as will be described further below. Additionally, one or more of the camera units, e.g. device 303, may be connected to an external storage utility 403 and configured to provide communication access to the data stored therein. Other client devices may be user operated computer systems, e.g. device 501, or other computer systems used for monitoring collected video data or for any other use.
The client devices 301, 302, 303... 30i... 30n are generally camera units as will be described further below, and are connectable to corresponding local networks, e.g. LAN, wireless LAN etc., the client devices are configured for communicating with the server system 100 via suitable access nodes (designated at 201... 20i... 20n) configured to mitigate communication between the local network and the global network. In this connection, the access nodes 20i may be, for example modem units and/or router units, configured to establish connection between different devices of the local network with destination address on the global network (e.g. internet). Thus, it should be noted that each of the access nodes 20i may provide connection of a plurality of devices of the local network between them, and between the devices of the local network and the global network. As a result, the connection of a plurality of devices through a single access node 20i to the global network may limit the available bandwidth for communication. It should be noted that each access node 20i may generally have a predetermined maximal bandwidth for communication with various addresses on the global network. As indicated above, the technique of the invention utilizes appropriate management of video communication to utilize the available bandwidth and establish high quality communication.
To provide the proper management, the server system 100 according to some embodiments of the invention is a computerized system having at least one processing utility 110 and network connection module 150. Additionally, the server system may include a storage utility which is not specifically shown. It should be noted that the server system may generally be configured to operate in a virtualized computing environment and thus may be a single computing unit or a distributed server system. The processing utility 110 includes various processing modules including client database module 120, database update module 130 and transmission management module 140.
The database update module 130 is configured to periodically transmit to client devices a request for discovery command. This request initiates an appropriate discovery operation by each client device 30i to identify and provide data about the use of the local network and its available bandwidth. Upon receiving data about the local network from different client devices, the database update module 130 operates to update the corresponding client database module 120. The client database module 120 is used to store and manage a database about the client devices managed by the server system. More specifically, the database may generally include a list of data about the client devices, their addresses, the access nodes providing the client devices communication with the server system and the available bandwidth for communication through the access nodes. The server system 100 is configured to utilize the list of client devices stored in the database 120 to optimize video transmission within the distributed video network.
The database update module 130 is configured to maintain and update the client devices' data in the database 120. To this end the database update module 130 may periodically transmit requests for discovery to all of the client devices and in particular to the camera units associated with the distributed video system. Additionally, the database update module 130 may add additional client devices to the database once an appropriate communication starts. Such communication may be a request for transmission of data to and/or from an unknown address, indicating an unlisted client device. Additionally, introduction of new access nodes may be updated into the database 120, thereby engaging the server system to monitor the client devices and bandwidth abilities associated with the new access nodes.
Addition of new devices (e.g. cameras) to the system may be performed as follows: once a client device, for this specific example a camera unit, attempts to connect to the server, the server locates the registration of the device in the existing database. It should be noted that each camera unit, or any client device, has a globally unique identifier such as the device's MAC address. If the camera unit is already registered in the database, it is allowed to connect to the system and transmit/receive communication. If the camera unit is not registered, the server system may require information about the camera unit. According to some embodiments, the server is configured to alert a user (e.g. a human operator) about the new client device requesting access. The user is requested to verify the identity of the client device and may need to enter corresponding information such as the identity of the user account that owns this camera, configuration information, licensing information, observed ROI etc.
After the user provides the required information to identify the new camera unit and the server registers it within the network, the server may transmit a request for discovery of the corresponding local network of the camera unit. After performing the requested discovery, the camera unit transmits information about its corresponding local network(s) and access node(s). The server registers the received information and determines based on this information to which access node, or clients group, the camera unit is added. When information about the corresponding access node is not available in the database, the server system generates a new clients group for the corresponding access node.
Thus, the server system 100 may continuously measure the available bandwidth on each of the access nodes connecting one or more of the client devices to the server. The server may also continuously measure the used bandwidth at each instance to update available bandwidth for communication. Additionally, the server system may actively ensure the quality of service (QoS) for connection with each of the client devices and/or access nodes. This may be done by controlling the amount of information being sent from each camera unit based on the available bandwidth.
Upon receipt of a request for video data from a user, e.g. from client device 501, the transmission management module 140 is configured and operable to identify the appropriate source for the data and establish a suitable path for transmission. To this end, the transmission management module 140 may locate the suitable client devices stored at the database module 120. In some configurations, the server may be required to scan the database to determine the one or more camera units suitable for providing the requested data. It should be noted that generally, the user requesting data may provide an appropriate identifier regarding the corresponding camera unit being the source of the data. However, in some embodiments, the server is configured to determine the best suitable source. Additionally, according to the present invention, the transmission management module 140 determines if the available bandwidth for communication is sufficient for suitable transmission of the requested data. As video transmission generally requires relatively high bandwidth, an attempt for transmitting video data where the data has a bit-rate greater than the available bandwidth will cause delays and interruptions in playing of the data. For real-time video data, such delays may cause failure to recognize actions of interest. To solve such problems, the transmission management module 140 utilizes information about available bandwidth for communication between the source client, e.g. camera unit and/or storage device, and the destination client which is generally a user operated system.
Such available bandwidth for communication may be affected by several parameters. The communication may be limited by upload bandwidth of the source client and/or a download bandwidth of the target client. Generally, as the upload bandwidth is often lower than the download bandwidth, according to some embodiments the server system may determine bandwidth of the source and ignore bandwidth of the target. However according to some other embodiments, the transmission management module 140 determines the available bandwidth for transmission based on both the upload bandwidth available to the source and the download bandwidth available to the target. If the available bandwidth for transmission is not sufficient for transmission of the requested video data, the transmission management module 140 sends the source client an indication about the available bandwidth and appropriate compression of the data. More specifically, the transmission management module 140, when commanding the source client to prepare and transmit the requested data, indicates the available bandwidth for transmission. This indication may generally include a command to compress or dilute the data before transmission, e.g. to transmit the data with reduced bit-rate, to thereby allow smooth transmission. For example, the transmission management module 140 may indicate that the data should be sent with lower resolution; reduced number of frames per second; reduced color map (e.g. transmission of black & white images); transmission of image primitives, e.g. as indicated in U.S. Patent No. 8,004,563 assigned to the assignee of the present application. It should however be noted that the technique of the present invention is not limited to a specific compression technique.
As noted above, the available bandwidth is generally a parameter that is associated with the access nodes providing a client device with communication to the global network. Additionally, the available bandwidth may be limited at the server's end when several client devices are simultaneously attempting to send data to the server. As a result of that, the server system is configured to update the client database module 120 utilizing information received from the client devices. To this end, the technique of the present invention also provides a camera unit configured and operable for performing appropriate discovery within its corresponding one or more local networks and compression of selected data. In this connection reference is made to Fig. 2 illustrating schematically a camera unit 300 according to some embodiments of the present invention. The camera unit 300 includes an imager 310 configured to observe a region of interest and generate corresponding image data; a controller 320 configured to manage operation of the camera unit as will be described below. The camera unit also includes a network communication module 340 configured to establish communication within a corresponding local network, and may include an integral storage utility 350 or be connectable with such storage utility.
The controller (control unit) 320 may generally be a processing unit, and is configured and operable for receiving image data from the imager and transmitting it through the local network, or storing it in the storage utility 350 for later use. Additionally, the controller includes a discovery manager module 325 configured for periodically performing a discovery process within the local communication network. The discovery process involves communicating with the corresponding access node and possibly with additional devices connected to the local network, to determine existence and unique identifiers of any additional devices connected utilizing the same local network. Additionally, the process aims to identify the available bandwidth for communication as provided by the access node. To this end the controller 320 may request appropriate data from the access node, establish an outgoing connection to verify the existing bandwidth by transferring data, or utilize any other technique to determine the current available bandwidth for communication.
When the discovery process is complete, the controller 320 transmits data indicative of the corresponding client devices sharing the same local network to the server system 100. The local network data may generally include data about appropriate unique identifiers of the camera units and the corresponding access node; data about additional camera units and/or other devices sharing the local network; and data about maximal and available bandwidth for communication. The client device may also transmit information about its corresponding access node, such as identifier and address. Generally, information about the available bandwidth is determined by appropriate communication between a client device and the server system. According to some embodiments, the server system engages in periodic measurements of the available bandwidth by requesting data transmission at increasing rates from the client device, until it detects interruptions in the data flow. Such interruptions indicate that the maximum upload bandwidth has been reached. The server may determine available download bandwidth using a substantially similar technique, i.e. by transmitting data pieces at increasing rates to the client device.
It should be noted that the controller may be configured to periodically perform the full discovery process, or to operate in accordance with corresponding commands received from the server system. According to some embodiments, the controller 320 of the camera unit may be configured to periodically perform the discovery process, and to perform an additional discovery process upon appropriate command from the server system 100. Alternatively the controller 320 may be configured for performing limited discovery, e.g. identification of connected devices, periodically and to estimate the available bandwidth upon appropriate command from the server system 100 or based on a separate sequence.
As indicated above, the server system 100 stores data pieces received from each of the camera units 30i and possibly from additional client devices connected to the distributed video communication system. The server system 100 utilizes the data to optimize video transmission between devices of the system. As described above, upon receipt of a request for transmission of data from a client device, e.g. user operated client 501 exemplified in Fig. 1, the server system 100 locates the camera unit 30i identified in the request or utilizes the database 120 of client devices to identify the optimal camera unit 30i (and/or storage device) suitable for providing the requested data. The server system 100 transmits a corresponding command to the camera unit 30i including data about the target device requesting the data, information about the requested data and data about the available bandwidth for transmission.
Upon receipt of such a request for transmission of data from the server, the controller 320 of the source camera unit identifies the requested data. Such data may be transmission of real-time image stream as collected from the imager 310 and/or video data stored at the corresponding storage device 350 (being integral with the camera unit or external thereto). The controller 320 utilizes data about the available bandwidth to determine a suitable transmission bit-rate that allows smooth transmission of the video data. More specifically, the controller determines a maximal bit-rate for transmission that will not exceed the available bandwidth. It is known that attempts to transmit data, and video data in particular, having bit-rate being higher than the available bandwidth for communication may result in long buffering times interrupting the video data from playing appropriately. When an appropriate bit-rate is determined, the controller 320 utilizes a suitable compression technique and transmits the requested data to the target device. It should be noted that the server system may indicate to the camera unit to vary data compression and utilize different, greater or lower, bit-rate for transmission based on periodic updates of the available bandwidth data and/or based on actual transmission performances.
It should be noted that the technique of the present invention may utilize the local network to establish optimal transmission path when possible. For example, when the requesting client device, e.g. user operated system, and the data source, e.g. camera unit or storage, are connected to a common local network, the requesting client device may communicate directly with the source device to request for transmission of data. In this case, the requesting client may transmit appropriate indication to the server system that certain data is being transmitted to thereby allow appropriate monitoring. Alternatively or additionally, the server system may identify that the target client, requesting certain data, and the corresponding source client (camera unit storing or generating the requested data) are connected to a common local network, and provide an appropriate indication to the source and target clients. Upon receiving such indication, the controller 320 of the source client, may establish direct communication path with the target client to thereby transmit the requested data through the local network. This limits the use and dependence on the available bandwidth of the corresponding access node and allows for fast and reliable data transmission.
It should be noted that the server system 100 and distributed video system according to the present invention may be used to maintain and manage data transmission initiated by either the source or target device. To this end, the server system, while maintaining transmission of data may provide appropriate indications to the devices participating in a data transmission including: responding to a request from a user operated device to receive certain one or more video data; responding to a request from one or more camera units for transmission of data to a remote storage utility and any other type of data transmission request.
Reference is now made to Fig. 3 illustrating operation of the server system 100 according to some embodiments of the present invention. As shown, the server system periodically transmits discovery requests to the associated client devices 1010. It should be noted that client devices may initiate the discovery process without receiving a request from the server. Each client device that performed the discovery process transmits the corresponding data back to the server system 1020. The local network data may generally include data about different client devices connected to the local network, their addresses and possibly additional features such as device type. The data also includes information about the corresponding access node of the local network and its available bandwidth for communication. Once local network data is received by the server, the client database may be updated with the received data 1030. Thus database maintenance is performed continuously as long as the server system 100 is operable.
Once the server system receives from any client device a request for transmission of data 1055, it operates to provide efficient and reliable transmission path. To this end, a request for transmission of data may be received from a user operated client system requesting certain video data; a camera unit requesting transmission of collected data to a storage utility, etc. The requested data may be stored in a storage utility and/or being acquired in real time by one or more camera units.
It should also be noted that the server system according to the present invention may also provide data storage management to the plurality of client devices. According to some embodiments, one or more camera units may be configured to transmit live- stream data to the server system. The server system stores the received data at a corresponding storage unit thereby providing additional storage/back-up for the transmitted data. This allows providing a redundant storage option in case the local storage breaks down or the node cannot be accessed, allowing additional access to data via the server system.
Upon receiving such a request; the server system operates to identify the transmission path. More specifically, the server operates to identify the suitable source or target of transmission of the requested data 1050. Such source or target may be a camera unit observing a region of interest requested by a user, a suitable storage utility for storing acquired video data, and/or a suitable storage utility holding at least a part of the requested data. Once the source/target for transmission is identified, the server system operates to estimate the bandwidth along the transmission path. To this end the server system utilizes the client database to estimate bandwidth for transmission between the source and target clients 1060. This may be affected by available bandwidth of corresponding local networks and the connection topology. Once the available bandwidth for transmission is determined, an appropriate transmission technique may be selected, and a corresponding command is sent to the client devices to begin transmission 1070. It should be noted that the appropriate transmission technique may differ in accordance with transmission type, available bandwidth with respect to the volume of data to be transmitted as well as relative connections of the source and target devices. For example, if the available bandwidth is sufficient, the data is preferably transmitted in its highest quality. However any transmission of data may receive a priority level, and transmission may be limited if a transmission process of higher priority should be established.
Alternatively, if the available bandwidth for transmission is not sufficient for transmission of the high quality data, the server system indicates to the source client to modify the data before its transmission so that it uses less bandwidth and can fit in the available network capacity. Methods for modifying the required bandwidth include increased compression rates, reduced resolution, reduced frame rate, reduced color depth or any other suitable compression technique. If two or more camera units are required to send video data to a similar target device, the server system may determine the available bandwidth for each camera unit and instruct it to modify the stream accordingly. A user may define priorities for different camera units so that higher priority camera unit may utilize more bandwidth.
For already stored data, e.g. recorded video, variation of data volume (bit-rate) may be replaced with longer buffering and transmission time. However, when needed the data for transmission may be transcoded to lower bit-rate by compression or alternatively drop some information from the already compressed video (for example, if working with an h264 stream the camera can send only the Intra frames or part of the Intra frames) to allow faster transmission.
Once the server system identifies that the source and target devices are connected to a common local network, transmission may be independent of the available bandwidth but is limited by features of the local network. Generally such transmission may be of higher efficiency and bandwidth and thus is generally preferred. However it should be noted that generally, the target device can identify such a common connection with the source device and thus may initiate direct transmission independently of the server system. In such case, the target device indicates the server system of the data transmission to allow appropriate monitoring.
It should also be noted that utilizing the discovery process by client devices according to the present invention may allow one or more client devices at least limited operation in a "degraded mode". More specifically, the client devices acquire and may store information about additional client devices connected to its local network. Thus, when connection to the server fails, the client device may utilize information about their local network to allow continuous communication within the local network.
It should be noted that the use of the client database may provide additional management features to the server system of the present invention. For example, the server system may monitor transmission into a common storage utility to ensure that a total bit-rate of input data does not exceed the storage utility's handling capacity. If a volume of data to be stored is higher than the capability of the storage utility the server system may reassign some of data to a different storage utility or alert a user about such a possible issue.
As indicated above, the server system may utilize the client database to differentiate (and raise a proper alert) between a client device (e.g. camera unit) malfunction which may disconnect communication of the device with the server system; and a problem with the network link which may result in a similar lack of communication. The former problem will cause only one client device from a group to loose connection while the latter problem will cause an entire group to loose connectivity. Additionally, this allows the server system to robustly handle the failure of one or more local storage devices associates with one or more cameras units. To this end, the server system may allow the camera units to temporarily record video to an external storage utility though the global network.
Thus the present invention provides a technique for management of data transmission within a distributed network. The technique of the present invention is configured for use with transmission of video data between camera units, storage utilities and user operated systems to provide efficient and smooth transmission of video information. The present invention provides a server system, client devices (e.g. camera units and user devices) and a method of operation thereof allowing appropriate management of data transmission based on information about available bandwidth provided by the various network connections. Those skilled in the art will readily appreciate that various modifications and changes can be applied to the embodiments of the invention as hereinbefore described without departing from its scope defined in and by the appended claims.

Claims

CLAIMS:
1. A server system comprising a processing utility and input and output ports for connection to a data communication network with plurality of client devices; the server system being configured and operable for maintaining a list comprising data about client devices, corresponding access nodes for said client devices and corresponding available bandwidth for communication through said access nodes; the server system being configured for periodically transmitting requests to the client devices through said data communication network for obtaining data indicative of devices connected to respective access node and for updating said list;
wherein the server system is configured to be responsive to a request from a target client device to transmit to one or more source client devices a request for transmission of data, said request for transmission of data comprising data indicative of corresponding available bandwidth for transmission for respective access nodes, thereby indicating said one or more client devices to provide the requested data at a corresponding compression level for assuring efficient data transmission.
2. The server system of Claim 1, wherein at the server system is configured and operable for management of data transmission in a distributed video streaming system, said plurality of client devices comprise at least one camera unit.
3. The server system of Claim 1 , wherein upon receiving a request for transmission of data from a target client device, the processing utility is configured and operable to determine existence of direct connection between said target client device and one or more corresponding source client devices, and to provide said one or more source client devices and said target client device corresponding indication, thereby allowing direct data transmission between the source and target client devices.
4. The server system of Claim 3, wherein said existence of direct connection comprises connection of the target client device and one or more of the source client devices to a single common access node, thereby allowing transmission within a corresponding local network.
5. The server system of Claim 1, wherein said indicating said one or more client devices to provide the requested data at a corresponding quality level comprises indication to provide the requested data based on at least one of the following: reduced frame rate; reduced image resolution; reduced color map; transmission of black & white data; reduced color bitmap and transmission of image primitives.
6. The server system of Claim 1, wherein the processing utility is configured and operable to determine malfunction in communication with any one of the client devices; upon determination of malfunction in communication, the processing utility is configured to locate additional client devices utilizing a similar access node as the malfunction device and to verify communication with said additional client devices to thereby determine between client malfunction, access node malfunction and network malfunction.
7. The server system of Claim 1, wherein, the processing utility is configured and operable for monitoring transmission into selected client device, said monitoring comprises limiting bit-rate of input data to said client device to a value corresponding with said available bandwidth.
8. The server system of Claim 7, wherein the processing utility is configured and operable to redirect transmission of data upon determining that available bandwidth corresponding with a target client device is insufficient with respect to required bandwidth of said transmission of data.
9. A software product embedded in a computer readable medium and carrying instruction comprising the following:
• periodically transmitting a discovery request through a communication network for identifying client devices connected to one or more certain access nodes and updating a list of client devices connected through said one or more access nodes for said corresponding network;
• receiving from a client device, through said communication network, said list of client devices connected through a corresponding access nodes and data indicative of available bandwidth of said access nodes, and storing said list in a storage utility (together with other such lists from other networks);
• upon receiving a request for data transmission from a device connected to the communication network through certain access node, identifying data indicative of a one or more data source locations, corresponding one or more access nodes and available bandwidth associates with each of said access nodes, and transmitting to a corresponding client system a command for providing the requested data at a desired compression level in accordance with said available bandwidth.
10. A camera unit (client device) configured for generating data indicative of an image stream of a region of interest, the camera unit comprises:
• an imager unit (camera) configured to generate data indicative of said image stream;
• a control unit configured and operable for periodically performing a discovery process within a local communication network to determine existence and addresses of additional units connected to the communication network and utilizing its corresponding access node to thereby provide a list of said devices the a data management server through a data communication network; the control unit is configured to transmit data indicative of said list upon receiving an appropriate demand through the communication network; the control unit is also configured to transmit data indicative of acquired image stream at a predetermined compression level in response to appropriate request through the communication network comprising data about available bandwidth associated with the corresponding access node.
11. The camera unit of Claim 10, wherein the camera unit is connectable to a storage utility for storing acquired image stream for later use; the control unit transmits either real-time image stream or stored image stream in accordance with said appropriate request through the communication network.
12. The camera unit of Claim 10, wherein the control unit is configured and operable to apply predetermined compression process to acquired image stream in response to said appropriate demand through the communication network, said predetermined compression comprises at least one of the following: reduced frame rate; reduced image resolution; reduced color map; transmission of black & white data; reduced color bitmap and transmission of image primitives.
13. The camera unit of Claim 10, wherein in response to appropriate indication comprising an address of a target device, the control unit is configured and operable to establish direct communication with said target device to thereby enable direct transmission of data.
PCT/IL2015/050483 2014-06-26 2015-05-10 System and method for management of data transmission in a communication network WO2015198299A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IL233389 2014-06-26
IL23338914 2014-06-26

Publications (1)

Publication Number Publication Date
WO2015198299A1 true WO2015198299A1 (en) 2015-12-30

Family

ID=53298571

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2015/050483 WO2015198299A1 (en) 2014-06-26 2015-05-10 System and method for management of data transmission in a communication network

Country Status (1)

Country Link
WO (1) WO2015198299A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITUA20164102A1 (en) * 2016-06-14 2017-12-14 Stefano Nasti PROCEDURE AND EQUIPMENT FOR THE PRODUCTION, MANAGEMENT AND STORAGE OF SEQUENCES OF HIGH-RESOLUTION IMAGES AT LOW EMPLOYMENT OF NETWORK RESOURCES
FR3060786A1 (en) * 2016-12-16 2018-06-22 Orange MANAGING STORAGE OF DIGITAL SAMPLES OF RADIO SIGNALS.
WO2018191514A1 (en) * 2017-04-12 2018-10-18 Marble Robot, Inc. Method for sensor data processing
US10733451B2 (en) 2018-05-10 2020-08-04 Avigilon Corporation Automatic license plate recognition system and method therefor
CN112039941A (en) * 2020-07-08 2020-12-04 广东易达电子科技有限公司 Data transmission method, device and medium
CN112688869A (en) * 2020-12-25 2021-04-20 北京联合众为科技发展有限公司 Data reliable transmission method based on dynamic routing algorithm in weak network environment
CN113228586A (en) * 2018-11-16 2021-08-06 穆图艾琳克股份有限公司 System and method for secure access to camera system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050232238A1 (en) * 2004-04-19 2005-10-20 Oran David R Method and apparatus for dynamically determining when to use quality of service reservation in internet media applications
US20060274760A1 (en) * 2005-06-07 2006-12-07 Level 3 Communications, Inc. Internet packet quality monitor
WO2008011380A2 (en) * 2006-07-17 2008-01-24 Anystream, Inc. Coordinated upload of content from distributed multimedia capture devices
US20100172251A1 (en) * 2009-01-07 2010-07-08 Richard Adam Methods, systems, and computer readable media for combining voice over internet protocol (voip) call data with geographical information
US8004563B2 (en) 2002-07-05 2011-08-23 Agent Vi Method and system for effectively performing event detection using feature streams of image sequences

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8004563B2 (en) 2002-07-05 2011-08-23 Agent Vi Method and system for effectively performing event detection using feature streams of image sequences
US20050232238A1 (en) * 2004-04-19 2005-10-20 Oran David R Method and apparatus for dynamically determining when to use quality of service reservation in internet media applications
US20060274760A1 (en) * 2005-06-07 2006-12-07 Level 3 Communications, Inc. Internet packet quality monitor
WO2008011380A2 (en) * 2006-07-17 2008-01-24 Anystream, Inc. Coordinated upload of content from distributed multimedia capture devices
US20100172251A1 (en) * 2009-01-07 2010-07-08 Richard Adam Methods, systems, and computer readable media for combining voice over internet protocol (voip) call data with geographical information

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PAOLUCCI F ET AL: "A Recursive Distributed Topology Discovery Service for Network-Aware Grid Clients", COMMUNICATIONS, 2009. ICC '09. IEEE INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 14 June 2009 (2009-06-14), pages 1 - 6, XP031505635, ISBN: 978-1-4244-3435-0 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITUA20164102A1 (en) * 2016-06-14 2017-12-14 Stefano Nasti PROCEDURE AND EQUIPMENT FOR THE PRODUCTION, MANAGEMENT AND STORAGE OF SEQUENCES OF HIGH-RESOLUTION IMAGES AT LOW EMPLOYMENT OF NETWORK RESOURCES
FR3060786A1 (en) * 2016-12-16 2018-06-22 Orange MANAGING STORAGE OF DIGITAL SAMPLES OF RADIO SIGNALS.
WO2018191514A1 (en) * 2017-04-12 2018-10-18 Marble Robot, Inc. Method for sensor data processing
US10717198B2 (en) 2017-04-12 2020-07-21 Marble Robot, Inc. Method for sensor data processing
US10733451B2 (en) 2018-05-10 2020-08-04 Avigilon Corporation Automatic license plate recognition system and method therefor
CN113228586A (en) * 2018-11-16 2021-08-06 穆图艾琳克股份有限公司 System and method for secure access to camera system
CN113228586B (en) * 2018-11-16 2023-08-22 穆图艾琳克股份有限公司 System and method for secure access to a camera system
CN112039941A (en) * 2020-07-08 2020-12-04 广东易达电子科技有限公司 Data transmission method, device and medium
CN112039941B (en) * 2020-07-08 2023-02-28 广东易达电子科技有限公司 Data transmission method, device and medium
CN112688869A (en) * 2020-12-25 2021-04-20 北京联合众为科技发展有限公司 Data reliable transmission method based on dynamic routing algorithm in weak network environment

Similar Documents

Publication Publication Date Title
WO2015198299A1 (en) System and method for management of data transmission in a communication network
KR101796179B1 (en) Method and devices for negotiating bandwidth in a peer-to-peer network
WO2018049966A1 (en) Method, apparatus and system for controlling video monitoring system
US11228973B2 (en) Wireless sensing network communication method
US9425987B2 (en) Computer system and visualization method of virtual network
US20190007473A1 (en) Peer-to-peer network live streaming system and node management method
US10097795B2 (en) Network video recorder cluster and method of operation
CN104270604A (en) Method, system and device for obtaining real-time video data of IPC
CN106534216B (en) Server deployment system
US20180048576A1 (en) Packet transmission
CN113014611A (en) Load balancing method and related equipment
TWI625049B (en) Network service method and system based on software defined networking
CN109769139A (en) A kind of method and device of transmitting video data
CN109347985A (en) A kind of multi-service processing method based on edge calculations, device and Edge Server
CN109788075B (en) Private network system, data acquisition method and edge server
Wu et al. Edge-based realtime image object detection for UAV missions
CN110798691B (en) Live content uploading and acquiring method and device
US20210367811A1 (en) Gateway device, communication system, and automated warehouse system
WO2019066101A1 (en) Node distribution method and management server for performing same
CN110958432B (en) RTSP (real time streaming protocol) -based cross-network cloud remote monitoring system and monitoring method
CN109983734A (en) The subgroup of remote computing device with trunking
KR101180997B1 (en) Load Balancing Management System and the Method for Controlling in Cyber Physical System
CN113778628B (en) Edge node control method and system
CN114895701B (en) Unmanned aerial vehicle inspection method and system
JP6730961B2 (en) Service slice performance monitoring system and service slice performance monitoring method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15727473

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15727473

Country of ref document: EP

Kind code of ref document: A1