In recent years, we have witnessed the evolution of computing paradigms with the advent of the Internet as a dominant application, content and service delivery platform as well as with the gradual migration of some applications and services from client-server, to edge services, and then to peer-to-peer (P2P) and distributed computing systems. P2P computing systems are capable of accommodating a vast number of users - as publishers as well as consumers. Distributed video storage, distributed video search and retrieval, distributed video processing, and distributed video distribution, among others, bear many opportunities but along also many technical challenges.
The computing platforms and devices connected to a P2P network, however, can differ significantly in their computing capabilities as well as in the speeds and types of network connectivity. This poses serious practical challenges especially for video . In the future, the diversity of these capabilities will only increase as the infrastructure must accommodate wireless connections and devices like personal digital assistants (PDAs), tablets, compact media players, and even cell phones, as illustrated in Figure 38.1. Combined digital devices like mobile phones with attached cameras are a reality, aggressively pushed by mobile services providers such as NTT DoCoMo and others. Together with the expected emergence of low-power surveillance and multimedia sensor networks, the days of media transmission as a "downlink" experience (e.g., TV broadcast) only will soon be over.
Figure 38.1: A distributed video management and delivery system. Every user can be a video producer/provider, intermediate service provider (e.g., such as of transcoding), and video consumer.
Many interesting questions arise in distributed video management, storage and retrieval, and delivery. Basically, the key question is centred on: How should video data be stored, managed, and delivered to accommodate for the connectivity and bandwidth dynamics as well as variances of the networks, computing capabilities of the clients, and battery life of multiple, and mostly mobile, devices?
There are many technical challenges, specifically:
Given that popular content is replicated in multiple locations in a P2P network, can we design efficient coding and transmission algorithms that operate in a distributed manner enabling efficient downloads?
How should the P2P system deal with the limited storage capacity since more and more video is added every day?
How can the videos be indexed to enable efficient search in distributed video databases?
How can we accommodate the varying bandwidths and provide reliable delivery to distributed devices?
Where and how should we incorporate "transcoding"? Where in the multi-device system should computations such as video transcoding or channel coding for robust wireless transmission be performed? How can video transcoding be done efficiently?
How can robust delivery be achieved over wireless LANs? How can real-time streaming media resources be handled in unicast and multicast environments?
How can we monitor the quality of service (QoS) of the video streams delivered? Can we quantify the perceived visual quality or client experiences especially in the event of a paid service?
We will address most of the above questions in the subsequent sections, present some current solutions, and highlight future directions. We first present a general architecture for multi-device distributed computing systems, and propose a P2P computing and networking framework, the design principles and system architecture of a video-adaptive and aware peer service platform, in Section 2. Section 3 is on distributed video storage and data management. We focus on three important aspects: multi-rate differential encoding (Section 3.1), distributed video coding (Section 3.2), and adaptive storage and caching management (Section 3.3). Automatic indexing and support for distributed search are addressed in Section 4. We show in Section 5 two important video delivery mechanisms: optimal delivery with dynamic transcoding (Section 5.1) to adapt content to network connectivity and client resources, and robust video unicast and multicast over wireless LANs (Section 5.2). We will touch upon the quality of service monitoring in Section 6. The sequence of the presentation is intended to give readers an overview of the layers and aspects of technical challenges lying ahead, as well as some promising directions of research to provide some answers to the aforementioned questions.