DEV Community

Cover image for Cloud: Fog Computing Applications - Video

Cloud: Fog Computing Applications - Video

US Army Veteran | B.S. in Computer Science | Full-stack developer | INTJ-T
・2 min read

Video Analytics

Video analytics is best described through the example of physical security camera usage. Security cameras are widely deployed across many industries. These cameras place a high demand on computing resources and are capable of detecting and collecting the status of many environmental parameters.

Video streams from cameras in a branch location are rarely directly streamed to a central data center because of the bandwidth requirements for transporting video from multiple cameras is higher than what is normally available in terms of bandwidth connectivity. Video recorders are often located on premises where the cameras are connected through high speed LAN. Another way is to completely eliminate recorders and record the video in the cameras themselves, using the onboard storage. In both cases, there is a need to archive important video back to the central site.

Another important usage model related to video analytics is to convert video into usable data at the branch and transmit only the data to the cloud. Once video is converted into usable data, operations such as searching and others, can be performed at the cloud level across multiple cameras. The use of fog computing achieves the following important objectives:
• Bandwidth scalability
• Compute scalability
• Storage scalability
• Relevance scalability
• Application scalability

Video Caching

In practice, cache has finite storage. To efficiently manage cache, a piece of a vide that has not been requested for some time must be deleted. However, caching can be done more efficiently by prolonging duration that a recently requested video is accessible within the local network, allowing nodes belonging to the same network to share recently requested video objects, and by not transporting the video object across the network. These behaviors can be accomplished by designing a distributed caching system that applies the theory of network coding for distributed storage.

Intelligent Proxy for Live Video Streaming

While providing extra storage can resources in fog nodes can provide improved delivery of on-demand video streaming, improving computational resources can enhance performance of video streaming. In live streaming multiple clients are interested in watching the same content at the same time, and in this case, it is wasteful to stream multiple copies of the same content to users in the local network. Only the highest quality version of the video needs to be transferred to the fog node at the edge of each local network. The fog node, in turn, will transcode the stream down to various quality versions that match the link rates and device capabilities.

Video Streaming Processing

Video streaming processing can be greatly improved by utilizing fog computing environment, which can reduce latency and network congestion for interactive applications which is achieved by using weighted round robin (WRR) algorithm for scheduling the streaming operation into the fog node. WRR is commonly used because of its plainness and lower computational overhead. WRR extends round robin (RR) algorithm by a potential to give different weights to queues. When using fog computing to process the video stream the latency reduces with the varying bandwidth.

Discussion (1)

david_j_eddy profile image
David J Eddy

fog as the for hybrid-cloud. I like it. :D