Video-on-Demand (VoD) is popular for mobile systems. Currently many mobile devices have embedded wireless technologies (for example Bluetooth, IEEE 802.11) and are able to directly connect with one another without any access to a LAN or the Internet. Mobile VoD services may be provided in universities for students to watch video lectures, or in airports to entertain waiting passengers, etc.
There are a number of issues associated with mobile VoD. These systems have to accommodate a wide variety of mobile devices with varying capabilities such as resolution, memory, processing power, etc. Wireless bandwidth is limited but video typically requires large bandwidth, and the load in VoD systems is usually distributed unevenly.
One technique for handling interactions between a requesting peer, its neighbors and the server is the following:
- First, the requesting peer sends a request to the server for the desired video.
- The server sends back the starting time of the latest regular channel that is streaming the video from the server.
- The requesting peer then requests a patching stream from a neighboring peer to compensate for the initial missing part of the video.
- If a neighbor is able to provide this stream, then the requesting peer receives the patching stream from this peer and the regular stream from the base station.
- Otherwise, the requesting peer receives both the regular and patching streams from the base station.
P2P Mobile VoD
P2P mobile VoD allows a moving client to receive streaming data on demand from other moving clients using multicast VoD technology. Video content is divided into equal sized segments and the segments are broadcast from the parent peer. This eliminates the unicast and multicast routing protocol overheads. Content segmenting lets multiple clients share the responsibility for providing all video content.
A control server controls the video content segmentation and delivery. The control server does not store or deliver any video content. It only keeps information about which segments are stored on which clients. Each client submits a request for video delivery to the control server. The server does a search for clients that have the requested video segment, and forwards the request to one of those clients. That client then sends the requested video segment to the requesting client.