Cloud: Fog Computing Applications - Video
Tags: cloud, cloudcomputing, aws, azure
Published: 2020-01-19 21:43:19

**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.