US20200099961A1 - Networked video management system - Google Patents

Networked video management system Download PDF

Info

Publication number
US20200099961A1
US20200099961A1 US16/542,693 US201916542693A US2020099961A1 US 20200099961 A1 US20200099961 A1 US 20200099961A1 US 201916542693 A US201916542693 A US 201916542693A US 2020099961 A1 US2020099961 A1 US 2020099961A1
Authority
US
United States
Prior art keywords
network
video
cameras
computer
set forth
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
US16/542,693
Inventor
Clifford Dice
Gerald Corrion
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DICE Corp
Original Assignee
DICE Corp
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 DICE Corp filed Critical DICE Corp
Priority to US16/542,693 priority Critical patent/US20200099961A1/en
Assigned to Dice Corporation reassignment Dice Corporation ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DICE, CLIFFORD, CORRION, GERALD
Publication of US20200099961A1 publication Critical patent/US20200099961A1/en
Priority to US18/440,564 priority patent/US20240187660A1/en
Priority to US18/440,473 priority patent/US20240187659A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • 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/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1023Media gateways
    • 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/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]
    • 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/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • 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/1066Session management
    • H04L65/1101Session protocols
    • H04L65/4069
    • H04L65/608
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/28
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64715Protecting content from unauthorized alteration within the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet

Definitions

  • This technology relates to a networked video management system, and more specifically, a networked video management system including a web service proxy protocol.
  • Networked video management systems exist to facilitate the streaming, recording and viewing of video data over a network. Many of these systems may include a network video recorder (NVR) or a digital video recorder (DVR).
  • NVR may be a software application that records video data on a digital medium. NVRs may be typically executed on a dedicated computer device embedded with a digital medium configured to store the NVR and recorded video data, and a processor to execute the NVR.
  • a DVR may be a hardware device that records video data on a digital medium included on the hardware device. While NVRs connected directly to a video capture camera or tuner, a DVR may be connected to a network. A DVR encodes video data while an NVR receives processed and encoded video data for a network camera device. NVRs and DVRs may be commonly deployed in video surveillance systems. There exists a need to develop hardware and/or software solutions for networked video management systems that may be cost effective and flexible with high performance.
  • FIG. 1 depicts a computer architecture for a video management system according to one variation.
  • FIG. 2 depicts a sequence diagram of a web service proxy protocol according to one variation.
  • FIG. 3 depicts a graphical user interface (“GUI”) for registering, organizing and updated network cameras installed on a video management system according to one variation.
  • GUI graphical user interface
  • FIG. 4 depicts a GUI for viewing video data streams from network cameras installed on a video management system according to one variation.
  • FIG. 5 depicts a GUI for conducting a timeline search of video data streams from network cameras installed on a video management system according to one variation.
  • FIG. 6 depicts a GUI for viewing applicable client sites and installed network cameras via a map screen.
  • FIG. 7 depicts a GUI for displaying a dashboard including information to analyze and restore installed network cameras and monitor access to installed video cameras.
  • FIG. 8 depicts a GUI for displaying bandwidth information to identify potential network traffic issues on the video management system and to manage data usage on the video management system.
  • NVRs and DVRs may be commonly used in network video management systems. These systems may be commonly deployed in video surveillance systems. As part of the deployment, the NVRs and/or DVRs (with associated hardware) may be installed at the surveillance site and may be configured to store video data on the devices at the site. On-site storage of video data may be relatively expensive because of infrastructure and maintenance costs associated with NVRs and DVRs. Moreover, there may be difficulties viewing the stored video data remotely from NVRs and DVRs.
  • a networked video management system may include a video client application that may be executed from a video gateway device, typically residing at a client site, such as, a video surveillance site.
  • the video client application may be configured to transmit video data from the video gateway device to a cloud instance.
  • the video data may be transmitted to the cloud instance through a secure hypertext transfer protocol (HTTPS) connection.
  • HTTPS secure hypertext transfer protocol
  • FIG. 1 depicts a computer architecture for a networked video management system 10 according to one variation.
  • the video management system 10 may include a client network 12 residing at a client site 14 .
  • the video management system 10 also may include server network 16 virtually residing on a cloud instance 18 .
  • Server network 16 may also reside on a bare or a virtual machine.
  • Client and server network 12 and 16 communicate with each other over external communication network 20 .
  • client network 12 may include first and second video gateway devices 22 a and 22 b.
  • Each video gateway device 22 a and 22 b may be a hardware device that may be configured to act as a gate between client network 12 and server network 16 to enable network traffic, including streaming video data traffic, to flow in and out of each network 12 and 16 .
  • the number of video gateway devices may be significantly scalable. In certain variations, the number of video gateway devices may be only limited by the available provisioned cloud resources. The number may be about 10,000. The number may be exceeded with the implementation of network load balancing.
  • Each video gateway device 22 a and 22 b may be configured to communicate between networks 12 and 16 using one or more protocols.
  • Network cameras 24 a 1 , 24 a 2 and 24 an may be connected to video gateway device 22 a.
  • Network cameras 26 b 1 , 26 b 2 and 26 bn may be connected to video gateway device 22 b. While three network cameras may be shown connected to each of video gateway devices 22 a and 22 b, the number of network cameras connected to each may be significantly scalable. The number of network cameras may only be limited based on hardware specifications and operating system limitations. The number may be about 100 using a relatively low powered device.
  • a network camera may include, without limitation, a lens, an image sensor, a processor, and memory.
  • the memory may be configured to store firmware and video data, e.g., video sequence recordings.
  • the firmware may include computer instructions that perform functions when the instructions may be executed by the process. These functions may include, without limitation, networking functions, video processing functions and video analysis functions.
  • a network camera typically may have its own IP address so that it may be connected to a network through a wireless or wired connection.
  • the network cameras 26 a and 26 b depicted in FIG. 1 may be configured to transmit video data to video gateway devices 24 a and 24 b, respectively.
  • Video gateway modules 22 a and 22 b each include memory configured to video client applications 8 .
  • the video client application 8 may be programmed in a run-time environment.
  • the run-time environment may be JavaScript, for example, node.js. respectively.
  • Video client application 8 28 a and 28 b include instructions when executed by a processor included in each video gateway modules 22 a and 22 b perform video streaming functions and other functions as set forth herein.
  • Server network 16 may include application containers.
  • the application containers may be used to deploy and run distributed applications without launching an entire virtual machine for each application within the container.
  • Each of the containerized applications may be executed on a single host and may be configured to access the same operating system (OS) kernel.
  • Each application container may include a set of runtime components, e.g., files, environment variables and libraries, to perform application functions upon execution of the runtime components.
  • the set of runtime components to execute in an application container may be an image.
  • a container engine deploys these images on server network 16 or another host.
  • the engines may be Kubernetes engines.
  • Web service proxy container 30 may be in communication with web service client containers 32 a and 32 b.
  • Virtual camera containers 34 a and 34 b may be in communication with web service client containers 32 a and 32 b, respectively.
  • Virtual camera container 34 a may be in communication with recorder container 36 a, thumbnails container 38 a, and analytics container 40 a.
  • Virtual camera container 34 b may be in communication with recorder container 36 b, thumbnails container 38 b, and analytics container 40 b.
  • Data storage medium 42 stores recorded video data received from recorder containers 36 a and 36 b and thumbnail video data received from thumbnails containers 38 a and 38 b.
  • Live video transcoding container 44 may be in communication with virtual camera container 34 a.
  • Video encoders 46 a and 46 b may be in communication with data storage medium 42 .
  • Application programming interface (API) container 48 may be in communication with video encoders 46 a and 46 b.
  • Live video transcoding container 44 and API container 48 may be in communication user computers 52 a,
  • Web server proxy container 30 may include a container engine configured to execute a container image to connect user computers 52 a, 52 b and 52 n with network cameras 24 a and 26 a based on a proxy protocol.
  • the proxy protocol may be configured to carry connection information from the user computers 52 a, 52 b and 52 n to video gateway devices 22 a and 22 b when those devices requested the connection.
  • User computers 52 a, 52 b and 52 n may use a real time streaming protocol (RTSP).
  • RTSP real time streaming protocol
  • the proxy protocol of the server proxy container 30 may be configured to support RTSP, as well as other protocols, such as real time transport protocol (RTP) or HTTPS.
  • components of the container image may be programmed in a run-time environment.
  • the run-time environment may be JavaScript, for example, node.js.
  • FIG. 2 depicts a sequence diagram of a web service proxy protocol 100 that may be executed by the engine of the web service proxy container 30 and video gateway devices 22 a and 22 b according to one variation.
  • video client application 8 initiates a connection to web server proxy container 30 .
  • the connection may be established through HTTPS by checking the certificate of the video client application 8 , as shown by arrow 104 .
  • This initial connection may stay open during the entire sequence of the web service proxy protocol.
  • the initial connection may be used by web server proxy container 30 to send requests for tunnels to video client applications 8 .
  • the initial connection may also be used by video client applications 8 to notify web server proxy container 30 that video client applications 8 have detected one or more network cameras on client network 12 .
  • web service proxy container 30 assigns a scan for network cameras to video gateway devices 22 a and/or 22 b.
  • video gateway devices 22 a and/or 22 b perform a scan of client network 12 to determine the presence of any network cameras (e.g., network cameras 24 a and 24 b ).
  • the results of the network scan may be transmitted by video gateway devices 22 a and/or 22 b to web service proxy container 30 , as depicted by arrow 110 .
  • Web service proxy container 30 adds available network cameras to a work queue 112 as depicted by arrow 114 .
  • recorder containers 36 a and/or 36 b may be configured to check work queue 112 for available network cameras.
  • work queue 112 transmits a message to recorder containers 36 a and/or 36 b including a list of available network cameras, as depicted by arrow 118 .
  • recorder containers 36 a and/or 36 b transmits a video request to web service client containers 38 a and/or 38 b, respectively, as represented by arrow 120 .
  • recorder containers 36 a and/or 36 b request a tunnel from web service proxy container 30 , as depicted by arrow 122 .
  • the web service proxy container 30 Upon the web service proxy container 30 receiving the tunnel request, the web service proxy container 30 requests the tunnel from the video gateway devices 22 a and/or 22 b, respectively, as depicted in arrow 124 .
  • gateway devices 22 a and 22 b may be configured to establish a tunnel with network cameras, as depicted in arrow 126 .
  • the tunnel may be opened between one or more network cameras and video gateway devices 22 a and/or 22 b.
  • the tunnel may be then offered to web service proxy container 30 by video gateway devices 22 a and 22 b, depicted by arrow 130 .
  • web service proxy container 30 offers the tunnel to web service client containers 32 a and/or 32 b.
  • RTSP traffic may be established between one or more network cameras and recorder containers 36 a and/or 36 b.
  • web service proxy container 30 when web service proxy container 30 may be notified of a network camera at client site 14 (e.g., at arrow 110 ), web service proxy container 30 sends a tunnel request to the video gateway devices 22 a and/or 22 b (e.g., at arrow 124 ). This tunnel request may be made using the initial connection. Video gateway devices 22 a and/or 22 b determine if the tunnel request may be valid. If the tunnel request may be valid, then video gateway devices 22 a and/or 22 b open a second secure protocol connection (e.g., HTTPS connection) to the web service proxy container 30 . In one or more variations, the second connection may be upgraded to a websocket connection. This second connection may be used to transmit network traffic between the network camera(s) and recorder containers 36 a and/or 36 b (e.g., arrow 134 ).
  • HTTPS connection HyperText Transfer Protocol
  • a listening port may be opened on server network 16 at web service client containers 32 a and 32 b.
  • the listening port transmits all traffic it receives from virtual camera containers 34 a and 34 b to the applicable network camera at client site 14 .
  • only Internet connectivity may be necessary to transmit traffic between network camera(s) and recorder containers 36 a and/or 36 b.
  • No other network considerations e.g., firewalls
  • the process associated with web service proxy protocol 100 shown in FIG. 2 may be transparent to client applications executed on the cloud.
  • Web service client containers 32 a and 32 b automatically buffer data until the tunnel created by the process described above may be ready, which lets any standard video processing software treat the port as if it was opened directly to the camera.
  • Video recording software designed to connect directly to network camera may be used to record video data and streams from the network camera. Examples of the video recording software include the software stored in recorder containers 36 a and 36 b.
  • FIG. 3 may be a graphical user interface (“GUI”) 200 for registering, organizing and updated network cameras installed on a video management system according to one variation.
  • GUI 200 may include an image that may be configured to be executed by an engine to perform queries to obtain the video data streams displayed through GUI 200 .
  • GUI 200 may include a list 202 of network cameras and encoders for a subscriber or client of video management system 10 .
  • the network cameras and/or encoders may be connected to video gateway devices 22 a or 22 b and server network 16 to facilitate the subscriber's or client's viewing of video streams from a user computer.
  • Serial number 204 , brand name 206 , model 208 , username 210 , description 212 , and live thumbnail live stream 214 may be displayed in GUI 200 for each camera or encoder in list 202 .
  • FIG. 4 may be a GUI 300 for viewing video data streams from network cameras installed on a video management system according to one variation.
  • API container 48 may include an image that may be configured to be executed by an engine to retrieve a list of cameras and transcoding container 44 may include an image that may be configured to be executed by an engine to view the video data streams through GUI 300 .
  • GUI 300 may include a matrix 302 of thumbnail windows 304 .
  • Each thumbnail window 304 may include a video data stream from a network camera.
  • the video data stream may be a live video data stream so that the user may react to situations developing in real-time.
  • the video data stream may also be a recorded video data stream.
  • a label 306 may be situated above each window and may include a description of the video data stream at a client site 14 .
  • Non-limiting examples include “front drive,” “semi dock,” “diesel generator,” and “roof generator.”
  • a time stamp 308 including date and time in HH:MM:SS format, may be situated below each window 304 . While a 6 by 3 matrix of windows 304 may be shown in FIG. 4 the number of windows 304 , including the number of rows and columns, may be customizable by the user.
  • GUI 300 may be configured such that each thumbnail window 304 may be expanded so that the user may obtain a more detailed view of the video data stream.
  • FIG. 5 may be a GUI 400 for conducting a timeline search of video data streams from network cameras installed on a video management system according to one variation.
  • API container 48 may include an image that may be configured to be executed by an engine to query data storage medium 42 for a list of thumbnails and to submit a video encoding request to encoder containers 46 a and 46 b.
  • GUI 400 may include timeline search window 402 and data stream windows matrix 404 .
  • Timeline search window 402 may include data input fields for account 406 , device 408 , stream number 410 , start date and time 412 , end date and time 414 , and size 416 .
  • Timeline search window 402 also may include submit button 418 and back button 420 .
  • a user inputs the account name in account data input field 406 .
  • the user inputs the device number in device data input field 408 .
  • the user inputs the stream (e.g., that correlates to one of the network cameras) into stream data input field 410 .
  • the user inputs a start date and time in HH:MM am/pm format in start date and time input field 412 .
  • the user inputs an end date and time in HH:MM am/pm format in start date and time input field 414 .
  • the user inputs size in size data input field 416 . In the example shown in FIG. 5 , the difference between the start and end time may be 1 hour and the size may be 6.
  • the data stream windows matrix 404 shows six window with a time slice every ten (10) minutes within between the start and stop times (e.g., sixty (60) minutes divided by 6).
  • Each window 422 within matrix 404 may include a time stamp portion 424 including a download link configured to download the associated thumbnail image and streaming, and window portion 426 configured to display a thumbnail image and a video data stream starting at the start time identified in the time stamp portion 424 .
  • the timeline search window enables the user to pinpoint the exact timeframes of events and narrow a user's search with interactive thumbnail slices.
  • FIG. 6 may be a GUI 500 for viewing applicable client sites and installed network cameras via a map screen.
  • API container 48 may include an image that may be configured to be executed by an engine to query a database to retrieve and plot the latitude and longitude as entered by the user and associated with the video data stream.
  • GUI 500 may include network camera digital map 502 including the locations 504 of network cameras at a client site 14 .
  • GUI 500 also may include an account information window 506 including account information for the user.
  • GUI 500 may include a matrix 508 of thumbnail windows 510 .
  • Each thumbnail window 510 may include a video data stream from a network camera.
  • the video data stream may be a live video data stream so that the user may react to situations developing in real-time.
  • the video data stream may also be a recorded video data stream.
  • a label 512 may be situated above each window and may include a description of the video data stream at a client site 14 .
  • Non-limiting examples include “front drive,” “semi dock,” “diesel generator,” and “roof generator.”
  • a time stamp 514 including date and time in HH:MM:SS format, may be situated below each window 510 . While a 3 by 3 matrix of windows 510 may be shown in FIG. 6 the number of windows 510 , including the number of rows and columns, may be customizable by the user.
  • GUI 500 may be configured such that each thumbnail window 510 may be expanded so that the user may obtain a more detailed view of the video data stream.
  • map GUI 500 enables the user to view satellite images of different client sites 14 and stream real time thumbnail videos of all network camera at each location.
  • FIG. 7 may be a GUI 600 for displaying a dashboard including information to analyze and restore installed network cameras and monitor access to installed video cameras.
  • API container 48 may include an image that may be configured to be executed by an engine to query a database, a work queue, embedded APIs in recorder containers 36 a and 36 b, recorder web service proxy container 30 , and transcoding container 44 .
  • the queried data may be displayed through GUI 600 .
  • GUI 600 may include account number window 602 , status window 604 , live stream 606 , and recorder window 608 .
  • Account number window 602 may include a data entry field 610 for an account number of a user.
  • Status window 604 may include statistics regarding streams recording, cameras reporting and registered cameras.
  • Live streams window may include a list 612 of live streams for a user.
  • Each live stream may include the following non-limiting information: user, account number, edge, camera, stream and stream started date and time.
  • Recorders window 608 may include a list 614 of recorders or other network cameras. Each recorder listed may include the following non-limiting information: account number, edge, camera, stream recorder started, recording started, tags, and thumbnail.
  • dashboard GUI 600 enables users to analyze and restore devices and monitor employee access.
  • FIG. 8 may be a GUI 700 for displaying a bandwidth information to identify potential network traffic issues on the video management system and to manage data usage on the video management system.
  • API container 48 may include an image that may be configured to be executed by an engine to query bandwidth data recorded in virtual camera containers 34 a and 34 b. The queried data may be displayed through GUI 700 .
  • GUI 700 may include select subscriber window 702 , bandwidth selector window 704 , bandwidth usage window 706 , and gateway bandwidth window 708 .
  • Select subscriber window 702 may be configured to enable a user to input an account number through account number data input field 710 .
  • Bandwidth selector window 706 may include data input fields for selector type 712 (e.g., account number), time unit 714 , start date 716 , and end date 718 .
  • Bandwidth selector window 706 also may include a submit button 720 . After the user inputs date into data input fields 712 through 718 , then user selects submit button 720 so that the data meeting the data input fields 712 through 718 may be displayed bandwidth usage window 706 and gateway bandwidth window 708 .
  • Bandwidth usage window 706 displays a graph 722 that plots the amount of bandwidth used by each network camera versus time from the start time to end time.
  • Gateway bandwidth window 708 displays a list 724 of network cameras. For each network camera, the network camera name and bandwidth used on the start and ends dates may be displayed.
  • Bandwidth GUI 700 enables users to identify potential network issues and manage data issues as needed.
  • a computer system for networked video management may include a computer having non-transitory memory for storing machine instructions that may be to be executed by the computer.
  • the machine instructions when executed by the computer implement the following functions: scanning a network for network cameras connected to the network to obtain a list of connected network cameras; transmitting the list of connected network cameras; receiving a tunnel request between the connected network cameras on the list and a video recorder application; establishing a tunnel with each connected network camera; and offering the tunnel to applications on the network.
  • a computer system for networked video management may include a computer having non-transitory memory for storing machine instructions that may be to be executed by the computer.
  • the machine instructions when executed by the computer implement the following functions: requesting a scan of a network for network cameras connected to the network; receiving a list of connected network cameras; transmitting a tunnel request between the connected network cameras on the list and a video recorder application; receiving a tunnel offer in response to transmitting the tunnel request; and offering the tunnel to applications on the network.
  • a computer readable medium having non-transitory memory for storing machine instructions that may be to be executed by the computer may be disclosed.
  • the machine instructions when executed by the computer implements the following functions: scanning a network for network cameras connected to the network to obtain a list of connected network cameras; transmitting the list of connected network cameras; receiving a tunnel request between the connected network cameras on the list and a video recorder application; establishing a tunnel with each connected network camera; and offering the tunnel to applications on the network.
  • a method for networked video management may include scanning a network for network cameras connected to the network to obtain a list of connected network cameras; transmitting the list of connected network cameras; receiving a tunnel request between the connected network cameras on the list and a video recorder application; establishing a tunnel with each connected network camera; and offering the tunnel to applications on the network.
  • Variation 1 may include a product comprising a computer system for networked video management, the computer system comprising at least one computer having non-transitory memory for storing machine instructions that may be executed by the computer, the machine instructions when executed by the computer may implement functions.
  • the functions may include scanning a network for network cameras connected to the network to obtain a list of connected network cameras; transmitting the list of connected network cameras; receiving a tunnel request between the connected network cameras on the list and a video recorder application; establishing a tunnel with each connected network camera; and offering the tunnel to applications on the network.
  • Variation 2 may include a product as set forth in variation 1, and may further include initiating a connection to a web server proxy container established through a secure hypertext transfer protocol prior to scanning a network for network cameras connected to the network to obtain a list of connected network cameras.
  • Variation 3 may include a product as set forth in any of variations 1 and 2, wherein initiating a connection to a web server proxy container established through a secure hypertext transfer protocol may further include checking a certificate of a video client application and upgrading the connection to a websocket connection.
  • Variation 4 may include a product as set forth in any of variations 1-3, wherein the websocket connection may be constructed and arranged to transmit network traffic between the network cameras and at least one recorder container.
  • Variation 5 may include a product as set forth in any of variations 1-4, wherein the network for network cameras may further include a client-side network; a server network virtually residing on a cloud instance; and wherein the client-side network and the server network may be in communication with one another over the network for network cameras.
  • Variation 6 may include a product as set forth in any of variations 1-5 and may further include opening a listening port on the server network at at least one web service client container and transmitting all traffic the listening port receives from at least one virtual camera containers to the corresponding network camera.
  • Variation 7 may include a product as set forth in any of variations 1-6 wherein the at least one computer having non-transitory memory for storing machine instructions may be at least one server side computer.
  • Variation 8 may include a product as set forth in any of variations 1-7 and may further comprise at least one video gateway device constructed and arranged to act as a gate between a client network and a server network to enable network traffic flow between the client network and the server network.
  • Variation 9 may include a product as set forth in any of variations 1-8 may further comprise establishing real time streaming protocol traffic between the connected network cameras and the video recorder application.
  • Variation 10 may include a computer system for networked video management, the computer system comprising at least one computer having non-transitory memory for storing machine instructions that are to be executed by the computer, the machine instructions when executed by the at least one computer implement functions.
  • the functions may include requesting a scan of a network for network cameras connected to the network; receiving a list of connected network cameras; transmitting a tunnel request between the connected network cameras on the list and a video recorder application; receiving a tunnel offer in response to transmitting the tunnel request; and offering the tunnel to applications on the network.
  • Variation 11 may include a product as set forth in variation 10, and may further include initiating a connection to a web server proxy container established through a secure hypertext transfer protocol prior to scanning a network for network cameras connected to the network to obtain a list of connected network cameras,
  • Variation 12 may include a product as set forth in variations 10-11, wherein initiating a connection to a web server proxy container established through a secure hypertext transfer protocol may further comprise checking a certificate of a video client application and upgrading the connection to a websocket connection.
  • Variation 13 may include a product as set forth in variations 10-12, may further include establishing real time streaming protocol traffic between the connected network cameras and the video recorder application.
  • Variation 14 may include a product as set forth in variations 10-13, wherein the network for network cameras may further comprise a client-side network; a server network virtually residing on a cloud instance; and wherein the client-side network and the server network may be in communication with one another over the network for network cameras.
  • Variation 15 may include a product as set forth in variations 10-14, wherein the at least one computer having non-transitory memory for storing machine instructions may be at least one server side computer.
  • Variation 16 may include providing at least one computer having non-transitory memory for storing machine instructions that are to be executed by the at least one computer, the machine instructions when executed by the at least one computer implements functions.
  • the functions may include initiating a connection to a web server proxy container via a video client application; scanning a network for network cameras connected to the network to obtain a list of connected network cameras; transmitting the list of connected network cameras to the web server proxy container; requesting a tunnel from the web service proxy container via the at least one recorder container and from at least one video gateway device via the web service proxy container; establishing the tunnel with the network of network cameras via the at least one video gateway device; offering the tunnel to the web service proxy container via the at least one video gateway device; offering the tunnel to the web service client container via the web service proxy container; and establishing real time streaming protocol traffic.
  • Variation 17 may include a method as set forth in variation 16 and may further comprise initiating a connection to a web server proxy container established through a secure hypertext transfer protocol prior to scanning a network for network cameras connected to the network to obtain a list of connected network cameras.
  • Variation 18 may include a product as set forth in variations 16-17, wherein initiating a connection to a web server proxy container established through a secure hypertext transfer protocol may further comprise checking a certificate of a video client application and upgrading the connection to a websocket connection.
  • Variation 19 may include a product as set forth in variations 16-18, wherein the at least one computer having non-transitory memory for storing machine instructions may be at least one server side computer.
  • Variation 20 may include a product as set forth in variations 16-19, wherein the network for network cameras may further comprise a client-side network; a server network virtually residing on a cloud instance; and wherein the client-side network and the server network may be in communication with one another over the network for network cameras.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A number of variations may include a computer system for networked video management. The computer system may include a computer having non-transitory memory for storing machine instructions that may be executed by the computer. The machine instructions when executed by the computer may implement the following functions: scanning a network for network cameras connected to the network to obtain a list of connected network cameras; transmitting the list of connected network cameras; receiving a tunnel request between the connected network cameras on the list and a video recorder application; establishing a tunnel with each connected network camera; and offering the tunnel to applications on the network

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application claims the benefit of U.S. Provisional Application No. 62/735,631 (DICE 0166 PRV) filed Sep. 24, 2018.
  • TECHNICAL FIELD
  • This technology relates to a networked video management system, and more specifically, a networked video management system including a web service proxy protocol.
  • BACKGROUND
  • Networked video management systems exist to facilitate the streaming, recording and viewing of video data over a network. Many of these systems may include a network video recorder (NVR) or a digital video recorder (DVR). An NVR may be a software application that records video data on a digital medium. NVRs may be typically executed on a dedicated computer device embedded with a digital medium configured to store the NVR and recorded video data, and a processor to execute the NVR. A DVR may be a hardware device that records video data on a digital medium included on the hardware device. While NVRs connected directly to a video capture camera or tuner, a DVR may be connected to a network. A DVR encodes video data while an NVR receives processed and encoded video data for a network camera device. NVRs and DVRs may be commonly deployed in video surveillance systems. There exists a need to develop hardware and/or software solutions for networked video management systems that may be cost effective and flexible with high performance.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 depicts a computer architecture for a video management system according to one variation.
  • FIG. 2 depicts a sequence diagram of a web service proxy protocol according to one variation.
  • FIG. 3 depicts a graphical user interface (“GUI”) for registering, organizing and updated network cameras installed on a video management system according to one variation.
  • FIG. 4 depicts a GUI for viewing video data streams from network cameras installed on a video management system according to one variation.
  • FIG. 5 depicts a GUI for conducting a timeline search of video data streams from network cameras installed on a video management system according to one variation.
  • FIG. 6 depicts a GUI for viewing applicable client sites and installed network cameras via a map screen.
  • FIG. 7 depicts a GUI for displaying a dashboard including information to analyze and restore installed network cameras and monitor access to installed video cameras.
  • FIG. 8 depicts a GUI for displaying bandwidth information to identify potential network traffic issues on the video management system and to manage data usage on the video management system.
  • DETAILED DESCRIPTION
  • NVRs and DVRs may be commonly used in network video management systems. These systems may be commonly deployed in video surveillance systems. As part of the deployment, the NVRs and/or DVRs (with associated hardware) may be installed at the surveillance site and may be configured to store video data on the devices at the site. On-site storage of video data may be relatively expensive because of infrastructure and maintenance costs associated with NVRs and DVRs. Moreover, there may be difficulties viewing the stored video data remotely from NVRs and DVRs.
  • The following variations may be drawn to a networked video management system that may include a video client application that may be executed from a video gateway device, typically residing at a client site, such as, a video surveillance site. The video client application may be configured to transmit video data from the video gateway device to a cloud instance. The video data may be transmitted to the cloud instance through a secure hypertext transfer protocol (HTTPS) connection.
  • FIG. 1 depicts a computer architecture for a networked video management system 10 according to one variation. The video management system 10 may include a client network 12 residing at a client site 14. The video management system 10 also may include server network 16 virtually residing on a cloud instance 18. Server network 16 may also reside on a bare or a virtual machine. Client and server network 12 and 16 communicate with each other over external communication network 20.
  • As shown FIG. 1, client network 12 may include first and second video gateway devices 22 a and 22 b. Each video gateway device 22 a and 22 b may be a hardware device that may be configured to act as a gate between client network 12 and server network 16 to enable network traffic, including streaming video data traffic, to flow in and out of each network 12 and 16. While two video gateway devices 22 a and 22 b may be shown in FIG. 1, the number of video gateway devices may be significantly scalable. In certain variations, the number of video gateway devices may be only limited by the available provisioned cloud resources. The number may be about 10,000. The number may be exceeded with the implementation of network load balancing.
  • Each video gateway device 22 a and 22 b may be configured to communicate between networks 12 and 16 using one or more protocols. Network cameras 24 a 1, 24 a 2 and 24 an may be connected to video gateway device 22 a. Network cameras 26 b 1, 26 b 2 and 26 bn may be connected to video gateway device 22 b. While three network cameras may be shown connected to each of video gateway devices 22 a and 22 b, the number of network cameras connected to each may be significantly scalable. The number of network cameras may only be limited based on hardware specifications and operating system limitations. The number may be about 100 using a relatively low powered device. In one variation, a network camera may include, without limitation, a lens, an image sensor, a processor, and memory. The memory may be configured to store firmware and video data, e.g., video sequence recordings. The firmware may include computer instructions that perform functions when the instructions may be executed by the process. These functions may include, without limitation, networking functions, video processing functions and video analysis functions. A network camera typically may have its own IP address so that it may be connected to a network through a wireless or wired connection. The network cameras 26 a and 26 b depicted in FIG. 1 may be configured to transmit video data to video gateway devices 24 a and 24 b, respectively.
  • Video gateway modules 22 a and 22 b each include memory configured to video client applications 8. The video client application 8 may be programmed in a run-time environment. The run-time environment may be JavaScript, for example, node.js. respectively. Video client application 8 28 a and 28 b include instructions when executed by a processor included in each video gateway modules 22 a and 22 b perform video streaming functions and other functions as set forth herein.
  • Server network 16 may include application containers. The application containers may be used to deploy and run distributed applications without launching an entire virtual machine for each application within the container. Each of the containerized applications may be executed on a single host and may be configured to access the same operating system (OS) kernel. Each application container may include a set of runtime components, e.g., files, environment variables and libraries, to perform application functions upon execution of the runtime components. In one or more variations, the set of runtime components to execute in an application container may be an image. A container engine deploys these images on server network 16 or another host. In one or more variations, the engines may be Kubernetes engines.
  • Web service proxy container 30 may be in communication with web service client containers 32 a and 32 b. Virtual camera containers 34 a and 34 b may be in communication with web service client containers 32 a and 32 b, respectively. Virtual camera container 34 a may be in communication with recorder container 36 a, thumbnails container 38 a, and analytics container 40 a. Virtual camera container 34 b may be in communication with recorder container 36 b, thumbnails container 38 b, and analytics container 40 b. Data storage medium 42 stores recorded video data received from recorder containers 36 a and 36 b and thumbnail video data received from thumbnails containers 38 a and 38 b. Live video transcoding container 44 may be in communication with virtual camera container 34 a. Video encoders 46 a and 46 b may be in communication with data storage medium 42. Application programming interface (API) container 48 may be in communication with video encoders 46 a and 46 b. Live video transcoding container 44 and API container 48 may be in communication user computers 52 a, 52 b and 52 n through external communication network 50.
  • Web server proxy container 30 may include a container engine configured to execute a container image to connect user computers 52 a, 52 b and 52 n with network cameras 24 a and 26 a based on a proxy protocol. The proxy protocol may be configured to carry connection information from the user computers 52 a, 52 b and 52 n to video gateway devices 22 a and 22 b when those devices requested the connection. User computers 52 a, 52 b and 52 n may use a real time streaming protocol (RTSP). The proxy protocol of the server proxy container 30 may be configured to support RTSP, as well as other protocols, such as real time transport protocol (RTP) or HTTPS. In one or more variations, components of the container image may be programmed in a run-time environment. The run-time environment may be JavaScript, for example, node.js.
  • FIG. 2 depicts a sequence diagram of a web service proxy protocol 100 that may be executed by the engine of the web service proxy container 30 and video gateway devices 22 a and 22 b according to one variation. As shown by arrow 102, video client application 8 initiates a connection to web server proxy container 30. The connection may be established through HTTPS by checking the certificate of the video client application 8, as shown by arrow 104. Once the connection may be established, it may be upgraded to a websocket connection. This initial connection may stay open during the entire sequence of the web service proxy protocol. The initial connection may be used by web server proxy container 30 to send requests for tunnels to video client applications 8. The initial connection may also be used by video client applications 8 to notify web server proxy container 30 that video client applications 8 have detected one or more network cameras on client network 12.
  • At arrow 106, web service proxy container 30 assigns a scan for network cameras to video gateway devices 22 a and/or 22 b. At arrow 108, video gateway devices 22 a and/or 22 b perform a scan of client network 12 to determine the presence of any network cameras (e.g., network cameras 24 a and 24 b). The results of the network scan may be transmitted by video gateway devices 22 a and/or 22 b to web service proxy container 30, as depicted by arrow 110. Web service proxy container 30 adds available network cameras to a work queue 112 as depicted by arrow 114.
  • As depicted by arrow 116, recorder containers 36 a and/or 36 b may be configured to check work queue 112 for available network cameras. In response, work queue 112 transmits a message to recorder containers 36 a and/or 36 b including a list of available network cameras, as depicted by arrow 118. After the available network cameras may be transmitted, recorder containers 36 a and/or 36 b transmits a video request to web service client containers 38 a and/or 38 b, respectively, as represented by arrow 120. Upon receiving the video data request, recorder containers 36 a and/or 36 b request a tunnel from web service proxy container 30, as depicted by arrow 122. Upon the web service proxy container 30 receiving the tunnel request, the web service proxy container 30 requests the tunnel from the video gateway devices 22 a and/or 22 b, respectively, as depicted in arrow 124. In turn, gateway devices 22 a and 22 b may be configured to establish a tunnel with network cameras, as depicted in arrow 126.
  • As depicted by arrow 128, the tunnel may be opened between one or more network cameras and video gateway devices 22 a and/or 22 b. The tunnel may be then offered to web service proxy container 30 by video gateway devices 22 a and 22 b, depicted by arrow 130. In turn, as depicted by arrow 132, web service proxy container 30 offers the tunnel to web service client containers 32 a and/or 32 b. As shown by arrow 134, RTSP traffic may be established between one or more network cameras and recorder containers 36 a and/or 36 b.
  • In certain variations, when web service proxy container 30 may be notified of a network camera at client site 14 (e.g., at arrow 110), web service proxy container 30 sends a tunnel request to the video gateway devices 22 a and/or 22 b (e.g., at arrow 124). This tunnel request may be made using the initial connection. Video gateway devices 22 a and/or 22 b determine if the tunnel request may be valid. If the tunnel request may be valid, then video gateway devices 22 a and/or 22 b open a second secure protocol connection (e.g., HTTPS connection) to the web service proxy container 30. In one or more variations, the second connection may be upgraded to a websocket connection. This second connection may be used to transmit network traffic between the network camera(s) and recorder containers 36 a and/or 36 b (e.g., arrow 134).
  • After the second connection has been opened, a listening port may be opened on server network 16 at web service client containers 32 a and 32 b. The listening port transmits all traffic it receives from virtual camera containers 34 a and 34 b to the applicable network camera at client site 14. In one or more variations, only Internet connectivity may be necessary to transmit traffic between network camera(s) and recorder containers 36 a and/or 36 b. No other network considerations (e.g., firewalls) may be necessary because the video management system 10 only initiates Internet connections (e.g., HTTPS connection) to server network 16, e.g., web service proxy container 30. The process associated with web service proxy protocol 100 shown in FIG. 2 may be transparent to client applications executed on the cloud. Web service client containers 32 a and 32 b automatically buffer data until the tunnel created by the process described above may be ready, which lets any standard video processing software treat the port as if it was opened directly to the camera. Video recording software designed to connect directly to network camera may be used to record video data and streams from the network camera. Examples of the video recording software include the software stored in recorder containers 36 a and 36 b.
  • FIG. 3 may be a graphical user interface (“GUI”) 200 for registering, organizing and updated network cameras installed on a video management system according to one variation. In one variation, API container 48 may include an image that may be configured to be executed by an engine to perform queries to obtain the video data streams displayed through GUI 200. GUI 200 may include a list 202 of network cameras and encoders for a subscriber or client of video management system 10. The network cameras and/or encoders may be connected to video gateway devices 22 a or 22 b and server network 16 to facilitate the subscriber's or client's viewing of video streams from a user computer. Serial number 204, brand name 206, model 208, username 210, description 212, and live thumbnail live stream 214 may be displayed in GUI 200 for each camera or encoder in list 202.
  • FIG. 4 may be a GUI 300 for viewing video data streams from network cameras installed on a video management system according to one variation. In one variation, API container 48 may include an image that may be configured to be executed by an engine to retrieve a list of cameras and transcoding container 44 may include an image that may be configured to be executed by an engine to view the video data streams through GUI 300. GUI 300 may include a matrix 302 of thumbnail windows 304. Each thumbnail window 304 may include a video data stream from a network camera. The video data stream may be a live video data stream so that the user may react to situations developing in real-time. The video data stream may also be a recorded video data stream. A label 306 may be situated above each window and may include a description of the video data stream at a client site 14. Non-limiting examples include “front drive,” “semi dock,” “diesel generator,” and “roof generator.” A time stamp 308, including date and time in HH:MM:SS format, may be situated below each window 304. While a 6 by 3 matrix of windows 304 may be shown in FIG. 4 the number of windows 304, including the number of rows and columns, may be customizable by the user. GUI 300 may be configured such that each thumbnail window 304 may be expanded so that the user may obtain a more detailed view of the video data stream.
  • FIG. 5 may be a GUI 400 for conducting a timeline search of video data streams from network cameras installed on a video management system according to one variation. In one variation, API container 48 may include an image that may be configured to be executed by an engine to query data storage medium 42 for a list of thumbnails and to submit a video encoding request to encoder containers 46 a and 46 b. GUI 400 may include timeline search window 402 and data stream windows matrix 404. Timeline search window 402 may include data input fields for account 406, device 408, stream number 410, start date and time 412, end date and time 414, and size 416. Timeline search window 402 also may include submit button 418 and back button 420. A user inputs the account name in account data input field 406. The user inputs the device number in device data input field 408. The user inputs the stream (e.g., that correlates to one of the network cameras) into stream data input field 410. The user inputs a start date and time in HH:MM am/pm format in start date and time input field 412. The user inputs an end date and time in HH:MM am/pm format in start date and time input field 414. The user inputs size in size data input field 416. In the example shown in FIG. 5, the difference between the start and end time may be 1 hour and the size may be 6. Once all the data may be input into data input fields 406 through 416, the user clicks the submit button 418 to perform a timeline search. Accordingly, the data stream windows matrix 404 shows six window with a time slice every ten (10) minutes within between the start and stop times (e.g., sixty (60) minutes divided by 6). Each window 422 within matrix 404 may include a time stamp portion 424 including a download link configured to download the associated thumbnail image and streaming, and window portion 426 configured to display a thumbnail image and a video data stream starting at the start time identified in the time stamp portion 424. Advantageously, the timeline search window enables the user to pinpoint the exact timeframes of events and narrow a user's search with interactive thumbnail slices.
  • FIG. 6 may be a GUI 500 for viewing applicable client sites and installed network cameras via a map screen. In one variation, API container 48 may include an image that may be configured to be executed by an engine to query a database to retrieve and plot the latitude and longitude as entered by the user and associated with the video data stream. GUI 500 may include network camera digital map 502 including the locations 504 of network cameras at a client site 14. GUI 500 also may include an account information window 506 including account information for the user. GUI 500 may include a matrix 508 of thumbnail windows 510. Each thumbnail window 510 may include a video data stream from a network camera. The video data stream may be a live video data stream so that the user may react to situations developing in real-time. The video data stream may also be a recorded video data stream. A label 512 may be situated above each window and may include a description of the video data stream at a client site 14. Non-limiting examples include “front drive,” “semi dock,” “diesel generator,” and “roof generator.” A time stamp 514, including date and time in HH:MM:SS format, may be situated below each window 510. While a 3 by 3 matrix of windows 510 may be shown in FIG. 6 the number of windows 510, including the number of rows and columns, may be customizable by the user. GUI 500 may be configured such that each thumbnail window 510 may be expanded so that the user may obtain a more detailed view of the video data stream. Advantageously, map GUI 500 enables the user to view satellite images of different client sites 14 and stream real time thumbnail videos of all network camera at each location.
  • FIG. 7 may be a GUI 600 for displaying a dashboard including information to analyze and restore installed network cameras and monitor access to installed video cameras. In one variation, API container 48 may include an image that may be configured to be executed by an engine to query a database, a work queue, embedded APIs in recorder containers 36 a and 36 b, recorder web service proxy container 30, and transcoding container 44. The queried data may be displayed through GUI 600. GUI 600 may include account number window 602, status window 604, live stream 606, and recorder window 608. Account number window 602 may include a data entry field 610 for an account number of a user. Status window 604 may include statistics regarding streams recording, cameras reporting and registered cameras. Live streams window may include a list 612 of live streams for a user. Each live stream may include the following non-limiting information: user, account number, edge, camera, stream and stream started date and time. Recorders window 608 may include a list 614 of recorders or other network cameras. Each recorder listed may include the following non-limiting information: account number, edge, camera, stream recorder started, recording started, tags, and thumbnail. Advantageously, dashboard GUI 600 enables users to analyze and restore devices and monitor employee access.
  • FIG. 8 may be a GUI 700 for displaying a bandwidth information to identify potential network traffic issues on the video management system and to manage data usage on the video management system. In one variation, API container 48 may include an image that may be configured to be executed by an engine to query bandwidth data recorded in virtual camera containers 34 a and 34 b. The queried data may be displayed through GUI 700. GUI 700 may include select subscriber window 702, bandwidth selector window 704, bandwidth usage window 706, and gateway bandwidth window 708. Select subscriber window 702 may be configured to enable a user to input an account number through account number data input field 710. Bandwidth selector window 706 may include data input fields for selector type 712 (e.g., account number), time unit 714, start date 716, and end date 718. Bandwidth selector window 706 also may include a submit button 720. After the user inputs date into data input fields 712 through 718, then user selects submit button 720 so that the data meeting the data input fields 712 through 718 may be displayed bandwidth usage window 706 and gateway bandwidth window 708. Bandwidth usage window 706 displays a graph 722 that plots the amount of bandwidth used by each network camera versus time from the start time to end time. Gateway bandwidth window 708 displays a list 724 of network cameras. For each network camera, the network camera name and bandwidth used on the start and ends dates may be displayed. Bandwidth GUI 700 enables users to identify potential network issues and manage data issues as needed.
  • A computer system for networked video management is disclosed. The computer system may include a computer having non-transitory memory for storing machine instructions that may be to be executed by the computer. The machine instructions when executed by the computer implement the following functions: scanning a network for network cameras connected to the network to obtain a list of connected network cameras; transmitting the list of connected network cameras; receiving a tunnel request between the connected network cameras on the list and a video recorder application; establishing a tunnel with each connected network camera; and offering the tunnel to applications on the network.
  • A computer system for networked video management is disclosed. The computer system may include a computer having non-transitory memory for storing machine instructions that may be to be executed by the computer. The machine instructions when executed by the computer implement the following functions: requesting a scan of a network for network cameras connected to the network; receiving a list of connected network cameras; transmitting a tunnel request between the connected network cameras on the list and a video recorder application; receiving a tunnel offer in response to transmitting the tunnel request; and offering the tunnel to applications on the network.
  • A computer readable medium having non-transitory memory for storing machine instructions that may be to be executed by the computer may be disclosed. The machine instructions when executed by the computer implements the following functions: scanning a network for network cameras connected to the network to obtain a list of connected network cameras; transmitting the list of connected network cameras; receiving a tunnel request between the connected network cameras on the list and a video recorder application; establishing a tunnel with each connected network camera; and offering the tunnel to applications on the network.
  • A method for networked video management is disclosed. The method may include scanning a network for network cameras connected to the network to obtain a list of connected network cameras; transmitting the list of connected network cameras; receiving a tunnel request between the connected network cameras on the list and a video recorder application; establishing a tunnel with each connected network camera; and offering the tunnel to applications on the network.
  • Variation 1 may include a product comprising a computer system for networked video management, the computer system comprising at least one computer having non-transitory memory for storing machine instructions that may be executed by the computer, the machine instructions when executed by the computer may implement functions. The functions may include scanning a network for network cameras connected to the network to obtain a list of connected network cameras; transmitting the list of connected network cameras; receiving a tunnel request between the connected network cameras on the list and a video recorder application; establishing a tunnel with each connected network camera; and offering the tunnel to applications on the network.
  • Variation 2 may include a product as set forth in variation 1, and may further include initiating a connection to a web server proxy container established through a secure hypertext transfer protocol prior to scanning a network for network cameras connected to the network to obtain a list of connected network cameras.
  • Variation 3 may include a product as set forth in any of variations 1 and 2, wherein initiating a connection to a web server proxy container established through a secure hypertext transfer protocol may further include checking a certificate of a video client application and upgrading the connection to a websocket connection.
  • Variation 4 may include a product as set forth in any of variations 1-3, wherein the websocket connection may be constructed and arranged to transmit network traffic between the network cameras and at least one recorder container.
  • Variation 5 may include a product as set forth in any of variations 1-4, wherein the network for network cameras may further include a client-side network; a server network virtually residing on a cloud instance; and wherein the client-side network and the server network may be in communication with one another over the network for network cameras.
  • Variation 6 may include a product as set forth in any of variations 1-5 and may further include opening a listening port on the server network at at least one web service client container and transmitting all traffic the listening port receives from at least one virtual camera containers to the corresponding network camera.
  • Variation 7 may include a product as set forth in any of variations 1-6 wherein the at least one computer having non-transitory memory for storing machine instructions may be at least one server side computer.
  • Variation 8 may include a product as set forth in any of variations 1-7 and may further comprise at least one video gateway device constructed and arranged to act as a gate between a client network and a server network to enable network traffic flow between the client network and the server network.
  • Variation 9 may include a product as set forth in any of variations 1-8 may further comprise establishing real time streaming protocol traffic between the connected network cameras and the video recorder application.
  • Variation 10 may include a computer system for networked video management, the computer system comprising at least one computer having non-transitory memory for storing machine instructions that are to be executed by the computer, the machine instructions when executed by the at least one computer implement functions. The functions may include requesting a scan of a network for network cameras connected to the network; receiving a list of connected network cameras; transmitting a tunnel request between the connected network cameras on the list and a video recorder application; receiving a tunnel offer in response to transmitting the tunnel request; and offering the tunnel to applications on the network.
  • Variation 11 may include a product as set forth in variation 10, and may further include initiating a connection to a web server proxy container established through a secure hypertext transfer protocol prior to scanning a network for network cameras connected to the network to obtain a list of connected network cameras,
  • Variation 12 may include a product as set forth in variations 10-11, wherein initiating a connection to a web server proxy container established through a secure hypertext transfer protocol may further comprise checking a certificate of a video client application and upgrading the connection to a websocket connection.
  • Variation 13 may include a product as set forth in variations 10-12, may further include establishing real time streaming protocol traffic between the connected network cameras and the video recorder application.
  • Variation 14 may include a product as set forth in variations 10-13, wherein the network for network cameras may further comprise a client-side network; a server network virtually residing on a cloud instance; and wherein the client-side network and the server network may be in communication with one another over the network for network cameras.
  • Variation 15 may include a product as set forth in variations 10-14, wherein the at least one computer having non-transitory memory for storing machine instructions may be at least one server side computer.
  • Variation 16 may include providing at least one computer having non-transitory memory for storing machine instructions that are to be executed by the at least one computer, the machine instructions when executed by the at least one computer implements functions. The functions may include initiating a connection to a web server proxy container via a video client application; scanning a network for network cameras connected to the network to obtain a list of connected network cameras; transmitting the list of connected network cameras to the web server proxy container; requesting a tunnel from the web service proxy container via the at least one recorder container and from at least one video gateway device via the web service proxy container; establishing the tunnel with the network of network cameras via the at least one video gateway device; offering the tunnel to the web service proxy container via the at least one video gateway device; offering the tunnel to the web service client container via the web service proxy container; and establishing real time streaming protocol traffic.
  • Variation 17 may include a method as set forth in variation 16 and may further comprise initiating a connection to a web server proxy container established through a secure hypertext transfer protocol prior to scanning a network for network cameras connected to the network to obtain a list of connected network cameras.
  • Variation 18 may include a product as set forth in variations 16-17, wherein initiating a connection to a web server proxy container established through a secure hypertext transfer protocol may further comprise checking a certificate of a video client application and upgrading the connection to a websocket connection.
  • Variation 19 may include a product as set forth in variations 16-18, wherein the at least one computer having non-transitory memory for storing machine instructions may be at least one server side computer.
  • Variation 20 may include a product as set forth in variations 16-19, wherein the network for network cameras may further comprise a client-side network; a server network virtually residing on a cloud instance; and wherein the client-side network and the server network may be in communication with one another over the network for network cameras.
  • As required, detailed variations of the present invention are disclosed herein; however, it may be to be understood that the disclosed variations may be merely exemplary of the invention that may materialize in various and alternative forms. The figures may be not necessarily to scale; some features may be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein may be not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention.
  • While exemplary variations may be described above, it may be not intended that these variations describe all possible forms of the invention. Rather, the words used in the specification may be words of description rather than limitation, and it may be understood that various changes may be made without departing from the spirit and scope of the invention. Additionally, the features of various implementing variations may be combined to form further variations of the invention.

Claims (20)

What is claimed is:
1. A product comprising:
a computer system for networked video management, the computer system comprising at least one computer having non-transitory memory for storing machine instructions that are to be executed by the at least one computer, the machine instructions when executed by the at least one computer implement the following functions:
scanning a network for network cameras connected to the network to obtain a list of connected network cameras;
transmitting the list of connected network cameras;
receiving a tunnel request between the connected network cameras on the list and a video recorder application;
establishing a tunnel with each connected network camera; and
offering the tunnel to applications on the network.
2. A product as set forth in claim 1, further comprising:
initiating a connection to a web server proxy container established through a secure hypertext transfer protocol prior to scanning a network for network cameras connected to the network to obtain a list of connected network cameras.
3. A product as set forth in claim 2, wherein initiating a connection to a web server proxy container established through a secure hypertext transfer protocol further comprises checking a certificate of a video client application and upgrading the connection to a websocket connection.
4. A product as set forth in claim 3, wherein the websocket connection is constructed and arranged to transmit network traffic between the network cameras and at least one recorder container.
5. A product as set forth in claim 1, wherein the network for network cameras comprises:
a client-side network;
a server network virtually residing on a cloud instance; and
wherein the client-side network and the server network are in communication with one another over the network for network cameras.
6. A product as set forth in claim 5, further comprising:
opening a listening port on the server network at at least one web service client container and transmitting all traffic the listening port receives from at least one virtual camera containers to the corresponding network camera.
7. A product as set forth in claim 1, wherein the at least one computer having non-transitory memory for storing machine instructions is at least one server side computer.
8. A product as set forth in claim 1, further comprising:
at least one video gateway device constructed and arranged to act as a gate between a client network and a server network to enable network traffic flow between the client network and the server network.
9. A product as set forth in claim 1, further comprising:
establishing real time streaming protocol traffic between the connected network cameras and the video recorder application.
10. A product comprising:
a computer system for networked video management, the computer system comprising at least one computer having non-transitory memory for storing machine instructions that are to be executed by the at least one computer, the machine instructions when executed by the at least one computer implement the following functions:
requesting a scan of a network for network cameras connected to the network;
receiving a list of connected network cameras;
transmitting a tunnel request between the connected network cameras on the list and a video recorder application;
receiving a tunnel offer in response to transmitting the tunnel request; and
offering the tunnel to applications on the network.
11. A product as set forth in claim 10, further comprising:
initiating a connection to a web server proxy container established through a secure hypertext transfer protocol prior to scanning a network for network cameras connected to the network to obtain a list of connected network cameras,
12. A product as set forth in claim 11, wherein initiating a connection to a web server proxy container established through a secure hypertext transfer protocol further comprises checking a certificate of a video client application and upgrading the connection to a websocket connection.
13. A product as set forth in claim 10, further comprising:
establishing real time streaming protocol traffic between the connected network cameras and the video recorder application.
14. A product as set forth in claim 10, wherein the network for network cameras comprises:
a client-side network;
a server network virtually residing on a cloud instance; and
wherein the client-side network and the server network are in communication with one another over the network for network cameras.
15. A product as set forth in claim 10, wherein the at least one computer having non-transitory memory for storing machine instructions is at least one server side computer.
16. A method comprising:
providing at least one computer having non-transitory memory for storing machine instructions that are to be executed by the at least one computer, the machine instructions when executed by the at least one computer implements the following functions:
initiating a connection to a web server proxy container via a video client application;
scanning a network for network cameras connected to the network to obtain a list of connected network cameras;
transmitting the list of connected network cameras to the web server proxy container;
requesting a tunnel from the web service proxy container via the at least one recorder container and from at least one video gateway device via the web service proxy container;
establishing the tunnel with the network of network cameras via the at least one video gateway device;
offering the tunnel to the web service proxy container via the at least one video gateway device;
offering the tunnel to the web service client container via the web service proxy container; and
establishing real time streaming protocol traffic.
17. A method as set forth in claim 16, wherein initiating the connection to a web server proxy container is established through a secure hypertext transfer protocol.
18. A method as set forth in claim 17, wherein initiating the connection to a web server proxy container is established through a secure hypertext transfer protocol further comprises checking a certificate of the video client application and upgrading the connection to a websocket connection.
19. A product as set forth in claim 16, wherein the at least one computer having non-transitory memory for storing machine instructions is at least one server side computer.
20. A product as set forth in claim 16, wherein the network for network cameras comprises:
a client-side network;
a server network virtually residing on a cloud instance; and
wherein the client-side network and the server network are in communication with one another over the network for network cameras.
US16/542,693 2018-09-24 2019-08-16 Networked video management system Pending US20200099961A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/542,693 US20200099961A1 (en) 2018-09-24 2019-08-16 Networked video management system
US18/440,564 US20240187660A1 (en) 2018-09-24 2024-02-13 Web service client container
US18/440,473 US20240187659A1 (en) 2018-09-24 2024-02-13 Web service proxy protocol

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862735631P 2018-09-24 2018-09-24
US16/542,693 US20200099961A1 (en) 2018-09-24 2019-08-16 Networked video management system

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US18/440,564 Continuation US20240187660A1 (en) 2018-09-24 2024-02-13 Web service client container
US18/440,473 Continuation US20240187659A1 (en) 2018-09-24 2024-02-13 Web service proxy protocol

Publications (1)

Publication Number Publication Date
US20200099961A1 true US20200099961A1 (en) 2020-03-26

Family

ID=69883757

Family Applications (5)

Application Number Title Priority Date Filing Date
US16/542,693 Pending US20200099961A1 (en) 2018-09-24 2019-08-16 Networked video management system
US16/576,919 Active US11363313B2 (en) 2018-09-24 2019-09-20 Networked video management and recording system
US16/578,552 Active US11496779B2 (en) 2018-09-24 2019-09-23 Gateway for networked video management system
US18/440,564 Pending US20240187660A1 (en) 2018-09-24 2024-02-13 Web service client container
US18/440,473 Pending US20240187659A1 (en) 2018-09-24 2024-02-13 Web service proxy protocol

Family Applications After (4)

Application Number Title Priority Date Filing Date
US16/576,919 Active US11363313B2 (en) 2018-09-24 2019-09-20 Networked video management and recording system
US16/578,552 Active US11496779B2 (en) 2018-09-24 2019-09-23 Gateway for networked video management system
US18/440,564 Pending US20240187660A1 (en) 2018-09-24 2024-02-13 Web service client container
US18/440,473 Pending US20240187659A1 (en) 2018-09-24 2024-02-13 Web service proxy protocol

Country Status (1)

Country Link
US (5) US20200099961A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11363313B2 (en) * 2018-09-24 2022-06-14 Dice Corporation Networked video management and recording system
US11595350B2 (en) * 2020-05-08 2023-02-28 Ribbon Communications Operating Company, Inc. Networking as a service
US11652890B1 (en) * 2022-07-13 2023-05-16 Oxylabs, Uab Methods and systems to maintain multiple persistent channels between proxy servers
US11777790B2 (en) * 2020-04-16 2023-10-03 Ribbon Communications Operating Company, Inc. Communications methods and apparatus for migrating a network interface and/or IP address from one Pod to another Pod in a Kubernetes system

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113873279A (en) * 2021-09-27 2021-12-31 广州中工水务信息科技有限公司 Video data decoding method, system and storage medium
CN117041500B (en) * 2023-10-08 2024-01-02 四川省公路规划勘察设计研究院有限公司 Video access method applied to field highway engineering

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6954859B1 (en) 1999-10-08 2005-10-11 Axcess, Inc. Networked digital security system and methods
US6980526B2 (en) * 2000-03-24 2005-12-27 Margalla Communications, Inc. Multiple subscriber videoconferencing system
JP2003533099A (en) 2000-05-03 2003-11-05 パーセプチュアル ロボティクス, アイエヌシー. Camera network management system
CA2390621C (en) * 2002-06-13 2012-12-11 Silent Witness Enterprises Ltd. Internet video surveillance camera system and method
US6768726B2 (en) * 2002-08-06 2004-07-27 Motorola, Inc. Method and apparatus for effecting a seamless handoff between IP connections
US10200504B2 (en) 2007-06-12 2019-02-05 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US10237237B2 (en) * 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US7685292B1 (en) * 2005-04-07 2010-03-23 Dell Marketing Usa L.P. Techniques for establishment and use of a point-to-point tunnel between source and target devices
US8078688B2 (en) * 2006-12-29 2011-12-13 Prodea Systems, Inc. File sharing through multi-services gateway device at user premises
WO2008119043A1 (en) 2007-03-27 2008-10-02 Armida Technologies Wireless integrated security controller
US8170037B2 (en) * 2008-05-21 2012-05-01 Polcha Andrew J Devices and methods for a virtual internet protocol television (VIPTV)
US20170070361A1 (en) * 2008-08-11 2017-03-09 Ken Sundermeyer Data model for home automation
US8606073B2 (en) * 2010-05-12 2013-12-10 Woodman Labs, Inc. Broadcast management system
US8928756B2 (en) * 2010-10-22 2015-01-06 Alcatel Lucent Surveillance video router
KR20120071121A (en) 2010-12-22 2012-07-02 한국전자통신연구원 Virtual tunnel router, ip camera management server and ip camera service method based on position information
US20130198829A1 (en) * 2011-08-08 2013-08-01 Advanced Video Communications, Inc. System to retrieve and distribute images in real time
US9722972B2 (en) * 2012-02-26 2017-08-01 Oracle International Corporation Methods and apparatuses for secure communication
US9350644B2 (en) 2012-04-13 2016-05-24 Zscaler. Inc. Secure and lightweight traffic forwarding systems and methods to cloud based network security systems
US9986209B2 (en) 2013-02-15 2018-05-29 Steven Philip Meyer Method and system for managing data from digital network surveillance cameras
WO2014144628A2 (en) 2013-03-15 2014-09-18 Master Lock Company Cameras and networked security systems and methods
EP3025317B1 (en) 2013-07-22 2019-05-22 Intellivision Technologies Corp. System and method for scalable video cloud services
US20150188949A1 (en) 2013-12-31 2015-07-02 Lookout, Inc. Cloud-based network security
US11146637B2 (en) 2014-03-03 2021-10-12 Icontrol Networks, Inc. Media content management
US20150326513A1 (en) * 2014-05-07 2015-11-12 Mitake Information Corporation Message transmission system and method suitable for individual and organization
US9356895B2 (en) * 2014-05-07 2016-05-31 Mitake Information Corporation Message transmission system and method for a structure of a plurality of organizations
US10268492B2 (en) * 2014-05-20 2019-04-23 Amazon Technologies, Inc. Low latency connections to workspaces in a cloud computing environment
US9349054B1 (en) * 2014-10-29 2016-05-24 Behavioral Recognition Systems, Inc. Foreground detector for video analytics system
US20160127691A1 (en) * 2014-11-04 2016-05-05 WOW Insites LLP Method, computer program, and system for adjusting cameras
US10002507B2 (en) * 2015-08-05 2018-06-19 Securenet Technologies Integrated security network
EP3353946A4 (en) 2015-09-25 2019-05-15 Genetec Inc. Secure enrolment of security device for communication with security server
US20170118127A1 (en) * 2015-10-22 2017-04-27 Cox Communications, Inc. Systems and Methods of Virtualized Services
US11314546B2 (en) * 2016-11-18 2022-04-26 Data Accelerator Ltd Method and system for executing a containerized stateful application on a stateless computing platform using machine learning
US10491964B2 (en) * 2017-01-23 2019-11-26 Cisco Technology, Inc. Assisted acceleration for video streaming clients
EP4191981A1 (en) 2017-08-28 2023-06-07 Bright Data Ltd. Improving content fetching by selecting tunnel devices grouped according to geographic location
US10785511B1 (en) * 2017-11-14 2020-09-22 Amazon Technologies, Inc. Catch-up pacing for video streaming
US10585745B2 (en) * 2017-11-28 2020-03-10 International Business Machines Corporation Prevention of application container failure between replicated containers
US20200099961A1 (en) * 2018-09-24 2020-03-26 Dice Corporation Networked video management system
EP3750079B1 (en) 2019-02-25 2024-09-04 Bright Data Ltd. System and method for url fetching retry mechanism

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11363313B2 (en) * 2018-09-24 2022-06-14 Dice Corporation Networked video management and recording system
US11496779B2 (en) 2018-09-24 2022-11-08 Dice Corporation Gateway for networked video management system
US11777790B2 (en) * 2020-04-16 2023-10-03 Ribbon Communications Operating Company, Inc. Communications methods and apparatus for migrating a network interface and/or IP address from one Pod to another Pod in a Kubernetes system
US11595350B2 (en) * 2020-05-08 2023-02-28 Ribbon Communications Operating Company, Inc. Networking as a service
US20230239269A1 (en) * 2020-05-08 2023-07-27 Ribbon Communications Operating Company, Inc. Networking as a Service
US11968170B2 (en) * 2020-05-08 2024-04-23 Ribbon Communications Operating Company, Inc. Networking as a service
US11652890B1 (en) * 2022-07-13 2023-05-16 Oxylabs, Uab Methods and systems to maintain multiple persistent channels between proxy servers
US20240022635A1 (en) * 2022-07-13 2024-01-18 Oxylabs, Uab Methods and systems to maintain multiple persistent channels between proxy servers
US11936742B2 (en) * 2022-07-13 2024-03-19 Oxylabs, Uab Methods and systems to maintain multiple persistent channels between proxy servers
US20240171640A1 (en) * 2022-07-13 2024-05-23 Oxylabs, Uab Methods and systems to maintain multiple persistent channels between proxy servers

Also Published As

Publication number Publication date
US20200099849A1 (en) 2020-03-26
US11363313B2 (en) 2022-06-14
US11496779B2 (en) 2022-11-08
US20200099727A1 (en) 2020-03-26
US20240187660A1 (en) 2024-06-06
US20240187659A1 (en) 2024-06-06

Similar Documents

Publication Publication Date Title
US20240187660A1 (en) Web service client container
CN113923518B (en) Tracking pixels and COOKIE for television event viewing
JP2019033494A (en) Storage management of data streamed from video source device
JP5490852B2 (en) How to configure a network camera
US10645459B2 (en) Devices, systems, and methods for remote video retrieval
CN108062507B (en) Video processing method and device
US20230224487A1 (en) Transmission device, communication system, transmission method, and computer program product
CN104639905B (en) A kind of wireless video monitoring method thereof suitable in iOS system live broadcast of mobile terminal
HUE034498T2 (en) Reception device, reception method, transmission device, and transmission method
US10516856B2 (en) Network video recorder cluster and method of operation
US20210400114A1 (en) Methods and apparatus for census and panel matching using http headers
US20140002645A1 (en) Server and video surveillance method of target place
US20220415147A1 (en) Devices, systems, and methods for remote video retrieval
KR101562297B1 (en) Image streaming system for minimizing use of resource for one or more Network Video Recoder
CN109587141B (en) System and method for obtaining evidence by remote server
KR100792240B1 (en) Multi vision materialization method and system for the same
CN114173087A (en) Video data acquisition and processing method, edge gateway and storage medium
WO2018043372A1 (en) Information processing apparatus, information processing system, information processing method, and program product
TWI731579B (en) Transmission device, communication system, transmission method, and computer program product
US10728438B1 (en) Distributed video and network camera management
US12014612B2 (en) Event detection, event notification, data retrieval, and associated devices, systems, and methods
US20240040177A1 (en) Digital video delivery alarm computer system
Yun et al. Edge Media Server for Real-Time 4K Video Streaming with Multiple 5G-Enabled Drones
JP2022125359A (en) Transmission device, server device, transmission method, and program
CN113906735A (en) Network monitoring camera system and operation method thereof

Legal Events

Date Code Title Description
AS Assignment

Owner name: DICE CORPORATION, MICHIGAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DICE, CLIFFORD;CORRION, GERALD;SIGNING DATES FROM 20190815 TO 20190816;REEL/FRAME:050074/0515

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STCV Information on status: appeal procedure

Free format text: NOTICE OF APPEAL FILED

STCV Information on status: appeal procedure

Free format text: APPEAL BRIEF (OR SUPPLEMENTAL BRIEF) ENTERED AND FORWARDED TO EXAMINER

STCV Information on status: appeal procedure

Free format text: EXAMINER'S ANSWER TO APPEAL BRIEF MAILED

STCV Information on status: appeal procedure

Free format text: ON APPEAL -- AWAITING DECISION BY THE BOARD OF APPEALS

STCV Information on status: appeal procedure

Free format text: BOARD OF APPEALS DECISION RENDERED