5.2 Video Servers and Streaming

 < Day Day Up > 



5.2 Video Servers and Streaming

Stored multimedia data can be classified into fundamentally two types: noncontinuous media such as text and image and continuous media such as audio and video. Continuous media data have the real-time property, whereas noncontinuous data do not. These two types of data will use different storage mechanisms. Videos are, therefore, stored using separate multimedia storage servers [17] to meet the real-time requirement. Noncontinuous media, however, may be stored in the database together with their descriptive information. [18]

For instance, Oracle provides infrastructures for a coexisting and interacting MMDBMS: the Oracle 9i interMedia system [19] and the Oracle Video Server/Client. [20] Exhibit 5.5 shows the architecture of the Oracle Video Server/Client. The Oracle Video Server stores video files, actually MPEG-1/2 but not yet MPEG-4, in a so-called Media Data Store (MDS) structure and controls the access to the videos. Moreover, it allows an application to browse the list of available videos in the MDS. The server handles video requests and informs the video pump which portion of the video file to deliver to meet a particular user request. The Oracle Video Client receives the delivered video data for display. Moreover, it provides libraries for developing client applications, such as the Java Media Framework (JMF) libraries. [21] This means that a JMF player can access and play audio or video from Oracle 9i interMedia.

Exhibit 5.5: Simplified architecture of the Oracle video server.

start example

click to expand

end example

Oracle 9i interMedia objects have a common storage model for media data. Media data of the ORDImage, ORDAudio, or ORDVideo object types can be stored in the database using binary large objects (BLOBs). A BLOB can be as big as 4 Gb in size. Media data maintained outside the database can be stored, retrieved, and managed as a binary file (BFILE) or as a source on an Oracle Video Server or on a Real Network streaming server. Video data in the Oracle Video Server can be managed by interMedia services, including methods for retrieval of the data and inserting new information. Manipulation is, however, limited to some simple filtering, based on the metadata stored; for example, format. The requirements of video servers are quite different from those of the existing network-based servers. [22], [23]

The real-time nature of multimedia data needs guaranteed periodic retrieval and transmission of data. A video server that stores a large number of videos will usually rely on storage devices of various types. [24] Video servers, for instance, video-on-demand (VoD), may have to support hundreds or even thousands of concurrent clients. [25] In addition, the server architecture must have the ability to scale in terms of throughput and number of clients. Moreover, multimedia servers should meet the requirements of user interaction. [26] That means the server must be able to support various user interactions such as rewind, fast forward, pause, and so forth. Because of these requirements, research in video servers has been directed mainly toward [27]:

  • Striping of data across storage devices for the purpose of efficient exploitation of resources (load balancing)

  • Replication of videos, or parts of them, to improve availability and achieve better load balancing among servers

  • Efficient retrieval of data from disks to amortize seek time and to avoid jitter

  • Scheduling of system resources to guarantee the real-time requirements of the multimedia data requested

  • Buffer and cache management to save resource utilization

It can be seen clearly that a video server places several demands on its computing, storage, and communication environments. The communication requirements concern the network services. The video data must arrive at the users with low jitter and perhaps low latency. In conventional, wired networks, real-time support may be given by network: Some protocols are able to allocate network resources to individual connections to provide bounds on throughput, delay, jitter, and congestion loss (see Section 5.2). However, mobile networks will in general not offer support for QoS, and they require that the connections used to deliver the video data be rerouted as the user terminal's location changes. In addition, they have to deal with loss of data and dynamically changing resource availability much more than wired networks. Therefore, adaptive multimedia streaming becomes important for mobile multimedia application. New scalable coding schemes, as well as the retrieval of composite elements and their QoS management, in the server support adaptation (see Section 5.3).

5.2.1 Striping Policy

Striping policies for multimedia data are crucial for overall performance. Although simple circular striping can be employed for long, sequential accesses, associative access to smaller units requires complex block-allocation policies that take into account bandwidth and storage capacities. [28] To decrease the complexity of the block-allocation policy, an alternative approach is to partition the storage devices into sets of homogeneous striping groups. [29] A higher-level policy assigns media objects to these devices, matching the storage and bandwidth requirements of the multimedia data. [30] We distinguish here between disk striping and network striping. Disk striping refers to the process of allocating the striping units to different devices of one server, whereas network striping allocates the units to different servers. Obviously, the usage of network striping requires multiple server resources and the application type dictates the usage of each technology. However, network striping is more resistant against failure.

5.2.2 Load Balancing

Another related problem is the dynamic load balancing across servers or striping groups [31] because of varying access patterns. For instance, Dan et al. [32] propose a policy of temporarily replicating hot data segments, that is, frequently accessed parts of the media objects, to dynamically balance the load across striping groups. Chou et al. [33] study methods for dynamic replication in a distributed VoD system to achieve load balancing among the servers. Furthermore, in a subsequent paper, Chou et al. [34] try to identify a good compromise between striping and replication for highly scalable systems. They argue for the use of a hybrid approach in which, instead of striping each object across all the nodes of the video server system, the striping is constrained to a single node and popular objects are replicated to other nodes. Finally, we would like to remark that striping and replication proposed in video server systems are similar to the data-placement policies proposed in parallel databases. For instance, in the system Bubba, dynamic replication and striping policies, based on the access frequency, have been defined. [35]

5.2.3 Admission Control

To guarantee QoS, that is, to meet the real-time requirements of the video data requested, video servers employ admission control. A new request is admitted only if enough server resources are available. [36], [37] This implies that a multimedia server has to know, in advance, the number of streams it can serve while satisfying their real-time requirements. The capacity of a multimedia server can be expressed in statistical terms; for example, the number of streams it can serve with a certain level of jitter.

The admission control relies on finding a delivery path from the storage devices to the selected network interface and reserving appropriate capacities on all components on this path for the multimedia delivery. Therefore, one of the main tasks here is to maintain the continuity of continuous data. Furthermore, hard and soft admission controls are distinguished. In hard admission control, the video server must exclusively offer services that provide deterministically bounded delay guarantees; that is, all tasks to be scheduled must have hard deadlines. [38] In contrast, soft admission control may accept some task types that may finish after the deadline. [39] An example of a hard deadline may be the maximal delivery delay between two clips of a video edition application, and that of a soft deadline may be the start-up time of a video in a VoD application, where exceeding 10 percent, for instance, may be tolerable.

5.2.4 Disk Scheduling Strategy

Because disk operations are nondeterministic, because of random access time and sharing with other operations, special disk scheduling algorithms have to be developed to retrieve the multimedia data continuously. The overall goal of these scheduling algorithms is to meet the deadlines for all time-critical tasks and to minimize the buffer space requirement while dealing with both concurrent streams and aperiodic requests.

Techniques employed are, for instance, the Early Deadline First (EDF), SCAN-EDF, and Group Sweeping Scheduling (GSS) algorithms. [40] The EDF algorithm serves requests with earliest deadlines first. SCAN-EDF combines the seek optimization of SCAN, which serves requests in the order of disk head movements, and the real-time guarantees of EDF. When deadlines are equal, a SCAN prioritization is used. To provide different data rate requirements, all requests are served in a cycle and each request gets an amount of service time proportional to the required data rate. GSS organizes the set of requested streams into a number of groups. These groups are served in a fixed, round-robin order. Streams within a group are served according to SCAN. This method has the advantage of reducing the required buffer space for user interaction. The SCAN technique, without grouping, requires the playback of a stream to start after the end of the first cycle, that is, all streams are retrieved once, whereas with the GSS technique, playback can begin as soon as the group has been served. The SCAN scheduling requires buffers for all streams, whereas GSS can reuse the buffer for each group.

Many authors have proposed optimization techniques for the basic scheduling strategies. [41], [42], [43] First of all, optimization techniques are employed for near video-on-demand, where requests for the same video, arriving within a specified period of time, are grouped together. [44] Later, Lau et al. [45] have studied piggypacking of I/O streams to reduce I/O demands. They have found that small variations in the delivery rate of streams can enable enough merging, called piggypacking, of I/O streams to achieve significant reduction of I/O bandwidth. A well-accepted technique to reduce the buffer requirements and to improve the bandwidth use is the so-called double buffering technique. [46] One buffer is provided for the producer of a stream and another buffer for the consumer. The buffers are switched at each time cycle. Double buffering allows one to smooth different device access times; for example, between the disk and the network devices.

5.2.5 Server, Proxy, and Client Caching

Besides the necessary use of buffers to smooth the flow of data between various devices, caching must be a central issue in the server. The advantages of multimedia object caching are obvious; for one, previously cached videos can be immediately streamed to the client without triggering disk retrieval. [47], [48], [49] Even in the case of partial caching, that is, when only parts (frames, elementary streams) of a video are cached, resource consumption is reduced. Caching can be employed among different levels in the server and among servers and clients and the network.

In its abstract view, caching means the design of an object management mechanism that minimizes the migration of objects among different levels of the hierarchical storage system; [50] that is, tertiary storage and disk, disk and memory, and among servers, proxy, and client caches.

Efficient caching depends on the quality of the used cache replacement algorithm. [51], [52] The replacement algorithm determines which objects are removed from the cache when storage space is needed for placing new objects into the cache. These algorithms must predict which currently cached objects will not be accessed in the near future, so that they can be removed.

However, these algorithms must also be fast; that is, they must not be computationally too complex. The reason is that these algorithms are run often on caches that contain a large number of objects requiring a real-time reaction to cache saturation. Current implementations of caches can be classified as [53]

  • The traditional replacement policy, least recently used (LRU), and its direct extensions; for example, not frequently used (NFU) and least frequently used (LFU).

  • Key-based replacement policies. The replacement policies in this category evict objects based on a primary key. For instance, the SIZE strategy evicts the largest object.

  • Cost-based replacement policies. The replacement policies in this category employ a cost function derived from different factors such as time since last access, entry time of the object in the cache, and so forth. For instance, the least normalized cost replacement (LCNR) strategy employs a cost function incorporating the access frequency, the transfer time cost and the object's size.

Prefetching can augment the efficiency of caching. For example, in Sen et al., [54] a methodology to store prefixes of multimedia streams in proxy caches to improve startup latency in addition to perform smoothing is proposed.

In the context of client caching, a prefetching strategy for a news-on-demand video server was proposed, based not only on run-time information like objects access frequencies, for example, but also on knowledge about clips structures. [55] That means that by considering the degree of overlapping between contextually correlated streams, a simple prefetching algorithm can be designed, which anticipates the load of future accessed streams. The information on the clip's structure can simply be obtained during the annotation process of the video and may be encoded in the SegmentDecomposition DS of MPEG-7. [56] Simulation experiments show that, on average and compared with a nonprefetching strategy, an 18 percent higher buffer hit rate can be achieved without additional cost.

Let us finally note that there is a fundamental difference between realizing cache replacement algorithms for server caches and doing so for proxy caches. The available bandwidth between the various levels of a hierarchical storage system is fixed and known a priori. In contrast, available bandwidth between server and proxy or proxy and client may randomly change with time. As a result, applying resource management schemes from the server across the network becomes problematic, and alternative solutions have to be sought.

User interaction, that is, VCR-like (video cassette recorder) control operations, requires more complex techniques than those employed for simple request servicing. [57] Resources may be released and reacquired on resumption. However, it may not be possible to guarantee that resources are available on resumption. For example, a new playback stream must be created on resumption of a client stream that was originally served via batching. Therefore, in large-scale servers, a small amount of capacity may be set aside as contingency capacity for dealing with VCR-like control operations. [58]

5.2.6 Presentation Management

In addition to addressing the above resource optimization issues, video servers must address the challenges in the retrieval of composite multimedia documents, [59], [60] also referred to as a presentation.

A presentation may consist of many different parts, for example, video and audio clips, image, and text, with very different storage and bandwidth requirements that are to be presented in a synchronized fashion. Therefore, the bandwidth requirement may vary over time. An example of a presentation is a multiclip query that requests multiple video clips from a video server and that can contain complex structural and temporal constraints defined by QoS, [61] application-specific (e.g., video editing), [62] or user-specific requirements (e.g., sequential presentation of the news highlights of the day). [63] Other examples of a multimedia presentation specification are multimedia query languages that integrate means for presentation languages.

Section 4.5 gives an example of a combined query and presentation language. The issue of managing presentations must be addressed at the clients as well as at the servers. The prefetch schedule for various media objects should also take into account the bandwidth fragmentation in a server, where different components may be located in different storage devices, as well as having to consider grouping of presentations for bandwidth sharing. [64], [65], [66]

In this context, we propose an efficient heuristic for the scheduling of the presentation's clips in a VoD server with respect to previously submitted presentations as proposed in Kosch et al. [67], [68] The key idea is to use object sharing between presentations queued for schedule. This idea relies on the observation that in many multimedia applications, [69], [70], [71], [72] a subset of clips is more frequently requested than the rest of the data. For instance, in Tele-Learning applications, [73], [74] clips explaining core problems of a course are hot in the preparation period of exams and are, therefore, likely to be requested almost simultaneously. The developed heuristic aims at the maximization of clip sharing between submitted presentations and consequently reduces the workload of the video server; that is, increases the number of admitted clips in the admission control. In a simulation-based evaluation, using two video access patterns, hot-spot access and Zipf-like distribution, we have obtained a significant reduction in workload (an average reduction of 33 percent) over a broadly used baseline algorithm. The supplemental optimization costs were also very small.

5.2.7 Adaptive Continuous Multimedia Streaming

The currently used streaming techniques of continuous multimedia data are mostly proprietary solutions and do not provide a framework that is adaptive to changing network bandwidths, as well as handling of errors such as packet loss, over the Internet. However, the scalable object coding of MPEG-4 [75] offers the possibility of building a flexible platform for developing Internet-capable streaming media applications. However, there are as yet very few works that focus on the development of an adaptive streaming framework.

For instance, Haghighi et al. [76], [77] propose the implementation of a scalable QoS-aware server architecture compatible with the Delivery Multimedia Integration Framework (DMIF) of MPEG-4, which provides means for variable bit coding. Starting with a relatively high bit rate, to fill the client buffer, the stream is then adapted to the client capacities. To control the amount of data to be delivered, a flexible transmission rate is determined. Feamster et al. [78] propose a framework that is adaptive to variable bandwidth in the network. The authors focus on the effect of various congestion control algorithms and receiver buffering strategies on the performance of streaming continuous multimedia data. They extend, in this context, the results of a previous work from Rejaie et al. [79] and find that a strategy that provides a combination of low playout delay and congestion control may improve the adaptability of continuous media streaming. However, there is as yet no streaming framework available that supports the layered coding capabilities of MPEG-4.

5.2.8 Architectures of Video Servers

In the last few paragraphs, we described broadly used techniques for maintaining the real-time requirements of video servers. Orthogonal to this, fundamentally different architectures have to be considered. [80] They vary from single processor and central disk architectures, to distributed disk and single processor, and finally to entirely distributed architectures. [81]

The servers running on one single processor are bound to the limited resources of this particular processor, whereas a parallel video server is scalable to a certain extent. [82] This means that new resources can be added without a big effort. Furthermore, with this architecture, load balancing can be achieved when using an intelligent query-scheduling algorithm. [83], [84]

Parallel servers are able to accept more requests in total than a video server located on one processor. [85] A currently available prototype is the parallel Tiger video file server, [86] a project running at Microsoft Research, which we will use as an example video server here. Tiger is now commer-cialized through the product name NetShow Theater Server. More information on this video server can be obtained from http://www.microsoft.com/catalog/display.asp?subid=21&site=734.

Research prototypes to mention here are, for instance, the ELVIRA (experimental video server for ATM) video server [87] and the parallel SES-AME-KB server, [88] a parallel and multithreaded (using the PM2-library) [89] video server.

In this architectural context, Shahabi and Alshayeji [90] propose an interesting distributed architecture: the SuperStreaming architecture. The main idea of the SuperStreaming technique is to use the client-side resources of modern multimedia-enabled PCs to improve the use of the multimedia servers. A distributed cooperative technique enables the media servers to start the delivery of continuous media at a rate higher than that required by the display bandwidth. Then, if necessary, alternative policies to downgrade superstreams in favor of regular streams when the resources are scarce can be employed.

5.2.9 Example Video Server

The Tiger Video Server, developed by Microsoft Research and intended to support VoD applications, is a parallel and fault-tolerant real-time file-server. [91] It relies, to a great extent, on off-the-shelf components that are inexpensive and, therefore, allow the architecture to remain scalable. Tiger is designed to support a high number of clients and, therefore, a high-performance architecture was chosen as technical platform video. The basic architectural layout of Tiger is depicted in Exhibit 5.6.

Exhibit 5.6: Architecture of the parallel video server, Tiger.

start example

click to expand

end example

The central component is the controller, whose task is to serve as query interface to the client and to perform the admission control. When the controller has accepted a new query, it contacts the cub, a node in the parallel architecture that holds the first block of the requested video, and then it withdraws from the current request. The cub returns the video directly to the client, bypassing the controller. The video files are striped in a circular fashion. Based on the striping mechanism, a scheduler is defined that efficiently makes use of the distributed I/O system. The schedule is distributed over the cubs; that is, each cub has only a partial knowledge of the whole disk schedule. Tiger's schedule management is based on a so-called coherent hallucination strategy that is a distributed implementation of a shared object where no physical instantiation of the object is available. [92] None of the cubs are holding the whole schedule, but they behave as if they can see the global schedule. [93] Another important feature of the Tiger video server is its fault tolerance strategy. If the server is extended to a huge number of cubs, it becomes more and more likely that one of the cubs fails. To recognize the failure of a cub, a so-called deadman protocol is executed among them. [94]

In the architecture proposed, the cubs are logically organized in a ring. Every cub observes its left neighbor and sends ping messages to its right neighbor. The communication of the control information is done via a separate, low-bandwidth control network.

Tiger uses a replication strategy, that is, blocks are replicated on other disks as well, to prevent a complete server failure. The blocks are not necessarily replicated to successive cubs. It is also possible to specify a so-called declustering factor, which determines how many cubs, in addition to the cub holding the primary copy, should be involved for storing the secondary copies. A declustering factor of 2 means that the primary copy is spread over 2 other cubs. Bolosky et al. [95] state that a declustering factor between 4 and 8 combined with a block size of 500 kb was the most appropriate choice for the tested VoD applications. They argue that a too-small declustering factor, say 2, would mean that one-third of the system bandwidth would need to be reserved for failure recovery. A too-high declustering factor also would not be a good choice because of the higher probability of failure of cubs holding secondary copies.

[17]Lu, G., Multimedia Database Management Systems, Artech House, 1999.

[18]Lu, G., Multimedia Database Management Systems, Artech House, 1999.

[19]Oracle9i InterMedia audio, image, and video user's guide and reference, http://technet.oracle.com.

[20]Senna, J., Oracle Video Server delivers, InfoWorld, 20, June 1998.

[21]Sullivan, S.C., Winzeler, L., Deagen, J., and Brown, D., Programming With the Java Media Framework, John Wiley & Sons, Wiley Computer Books, New York, 1998.

[22]Gemmell, D.J., Vin, H.M., Kandlur, D.D., Rangan, P.V., and Rowe, L.A., Multimedia storage servers: a tutorial, IEEE Comput., 28, 40–49, 1995.

[23]Buddhikot, M.M., Parulkar, G.M., and Cox, J.R., Jr., Design of a large scale multimedia storage server, Comput. Networks ISDN Syst., 27, 503–517, 1994.

[24]Kosch, H., Sota, R., Kitowski, J., Nikolow, D., Podlipnig, S., and Breidler, K., MMSRS—multimedia storage and retrieval system for a distributed medical information system, in High Performance Computing and Networking (HPCN) 2000 Conference, Amsterdam, May 2000, LNCS 1823, Springer-Verlag, New York, pp. 517–524.

[25]Kim, K.H. and Park, S., Storage system for supporting more video streams in video server, Multimedia Tools Appl., 13, 177–196, 2001.

[26]Ghose, D. and Kim, H.J., Scheduling video streams in video-on-demand systems: a survey, Multimedia Tools Appl., 11, 167–195, 2000.

[27]Dan, A., Feldman, S.I., and Serpanos, D.N., Evolution and challenges in multimedia, IBM J. Res. Dev., 24, 177–184, 1998.

[28]Tsao, S.L., Chen, M.C., Ko, M.T., Ho, J.M., and Huang, Y.M., Data allocation and dynamic load balancing for distributed video storage server, J. Visual Comm. Image Representation, 10, 197–218, 1999.

[29]Wu, C.-S., Ma, G.-K., and Liu, M.-C., A scalable storage supporting multistream real-time data retrieval, ACM Multimedia Syst., 7, 458–466, 1999.

[30]Dan, A. and Sitaram, D., An online video placement policy based on bandwidth to space ratio (bsr), in Proceedings of the International ACM SIGMOD Conference, San Jose, May 1995, pp. 376–385.

[31]Serpanos, D., Georgiadis, L., and Bouloutas, A., Mmpacking: a load and storage balancing algorithm for distributed multimedia servers, IEEE Trans. Circuits Syst. Video Technol., 8, 13–17, 1998.

[32]Dan, A., Kienzle, M., and Sitaram, D., Dynamic policy of segment replication for loadbalancing in video-on-demand servers, ACM Multimedia Syst., 3, 93–103, 1995.

[33]Chou, C., Golubchik, L., and Lui, J., A performance study of dynamic replication techniques in continuous media servers, in Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computing Systems, New York, May 1–4, 1999, Vol. 27.1, SIGMETRICS Performance Evaluation Review, ACM Press, pp. 202–203.

[34]Chou, C., Golubchik, L., and Lui, J., Striping doesn't scale: how to achieve scalability for continuous media servers with replication, in 20th International Conference on Distributed Computing Systems (ICDCS '00), Washington, D.C., April 2000, IEEE, pp. 64–71.

[35]Boral, H., Alexander, W., Clay, L., Copeland, G., Danforth, S., Franklin, M., Hart, B., Smith, M., and Valduriez, P., Prototyping Bubba, a highly parallel database system, IEEE Trans. Knowl. Data Eng., 2, 5–24, June 1990.

[36]Balkir, N.H. and Özsoyoglu, G., Delivering presentations from multimedia servers, VLDB J., 7, 294–307, 1998.

[37]Balkir, N.H. and Özsoyoglu, G., Multimedia presentation servers: buffer management and admission control, in Proceedings of the International Workshop on Multimedia Database Management Systems, Dayton, August 1998, IEEE CS Press, pp. 154–161.

[38]Dengler, J., Bernhardt, C., and Biersack, E., Deterministic admission control strategies in video servers with variable bit rate streams, in Workshop on Interactive Distributed Multimedia Systems and Services (IDMS), Heidelberg, March 1996, LNCS 2045, Springer-Verlag, Heidelberg, pp. 245–264.

[39]Nagy, S. and Bestavros, A., Admission control for soft-deadline transactions in ACCORD, in Proceedings of the 3rd IEEE Real-Time Technology and Applications Symposium (RTAS), Washington, D.C., June 1997, IEEE, pp. 160–165.

[40]Lu, G., Multimedia Database Management Systems, Artech House, 1999.

[41]Dan, A., Feldman, S.I., and Serpanos, D.N., Evolution and challenges in multimedia, IBM J. Res. Dev., 24, 177–184, 1998.

[42]Dan, A., Sitaram, D., and Shahabuddin, P., Dynamic batching policies for an on-demand video server, ACM Multimedia Syst., 4, 112–121, 1996.

[43]Lau, S.-W., Lui, C.S., and Golubchik, L., Merging video streams in Multimedia Storage Server: complexity and heuristics, Multimedia Syst., 6, 29–42, 1998.

[44]Dan, A., Sitaram, D., and Shahabuddin, P., Dynamic batching policies for an on-demand video server, ACM Multimedia Syst., 4, 112–121, 1996.

[45]Lau, S.-W., Lui, C.S., and Golubchik, L., Merging video streams in Multimedia Storage Server: complexity and heuristics, Multimedia Syst., 6, 29–42, 1998.

[46]Dan, A., Feldman, S.I., and Serpanos, D.N., Evolution and challenges in multimedia, IBM J. Res. Dev., 24, 177–184, 1998.

[47]Dan, A. and Sitaram, D., Multimedia caching strategies for heterogeneous application and server environments, Multimedia Tools Appl., 4, 279–312, 1997.

[48]Tsai, W.-J. and Lee, S.-Y., Dynamic buffer management for near video-on-demand systems, Multimedia Tools Appl., 6, 61–83, 1998.

[49]Tsai, W.-J. and Lee, S.-Y., Buffer-sharing techniques in service-guaranteed video servers. Multimedia Tools Appl., 9, 121–145, 1999.

[50]Rejaie, R., Yu, H., Handley, M., and Estrin, D., Multimedia proxy caching mechanism for quality adaptive streaming applications in the Internet, in Proceedings of the 2000 IEEE Computer and Communications Societies Conference on Computer Communications (INFOCOM-00), Los Alamitos, March 26–30, 2000, IEEE CS Press, pp. 980–989.

[51]Yeung, K.H. and Ng, K.W., An optimal cache replacement algorithm for Internet systems, in Proceedings, 22nd annual Conference on Local Computer Networks: LCN '97, Minneapolis, November 1997, IEEE CS Press.

[52]Wang, J., A survey of Web caching schemes for the Internet, ACM Comput. Comm. Rev., 25, 36–46, October 1999.

[53]Wang, J., A survey of Web caching schemes for the Internet, ACM Comput. Comm. Rev., 25, 36–46, October 1999.

[54]Sen, S., Rexford, J., and Towsley, T., Proxy prefix caching for multimedia streams. Technical Report UM-CS-1998-027, University of Massachusetts, Amherst, August 1998.

[55]Kosch, H., Moustefaoui, A., and Brunie, L., Semantic based prefetching in news-ondemand video servers, Multimedia Tools Appl., 18(2), 159–179, 2002.

[56]Martínez, J.M., Overview of the MPEG-7 Standard. ISO/IEC JTC1/SC29/WG11 N4980 (Klagenfurt Meeting), July 2002, http://www.chiariglione.org/mpeg/.

[57]Ghose, D. and Kim, H.J., Scheduling video streams in video-on-demand systems: a survey, Multimedia Tools Appl., 11, 167–195, 2000.

[58]Dan, A., Feldman, S.I., and Serpanos, D.N., Evolution and challenges in multimedia, IBM J. Res. Dev., 24, 177–184, 1998.

[59]Bouras, C., Kapoulas, V., Miras, D., Ouzounis, V., Spirakis, P., and Tatakis, A., Ondemand hypermedia/mutimedia service using preorcestrated scenarios over the Internet, Networking Info. Syst. J., 2, 741–762, 1999.

[60]Raymond, T.N. and Paul, S., Optimal clip ordering for multi-clip queries, VLDB J., 7, 239–252, 1998.

[61]Zhang, A. and Gollapudi, S., QoS management in educational digital library environments, Multimedia Tools Appl., 10, 133–156, 2000.

[62]Anderson, D.P., Device reservation in audio/video editing systems, ACM Trans. Comput. Syst., 15, 111–133, 1997.

[63]Raymond, T.N. and Paul, S., Optimal clip ordering for multi-clip queries, VLDB J., 7, 239–252, 1998.

[64]Raymond, T.N. and Paul, S., Optimal clip ordering for multi-clip queries, VLDB J., 7, 239–252, 1998.

[65]Shahabi, C., Dashti, A.I., and Ghandeharizadeh, S., Continuous media retrieval optimizer and hierarchical storage structures, in 3rd International Conference on Integrated Design and Process Technology IADT'98, Berlin, 1998, pp. 360–367.

[66]Garofalakis, M. and Ioannidis, Y., Resource scheduling for composite multimedia objects, in Proceedings of the International Conference on Very Large Databases, New York, August 1998, pp. 74–85.

[67]Kosch, H., Moustefaoui, A., Böszörményi, L., and Brunie, L., Multi-clip query optimization in video databases, in IEEE Multimedia and Expo Conference 2000, New York, July 2000, pp. 363–366.

[68]Kosch, H., Böszörményi, L., Moustefaoui, A., and Brunie, L., Heuristics for optimizing multi-clip queries in video databases, Multimedia Tools Appl., to appear.

[69]Bouras, C., Kapoulas, V., Miras, D., Ouzounis, V., Spirakis, P., and Tatakis, A., Ondemand hypermedia/mutimedia service using preorcestrated scenarios over the Internet, Networking Info. Syst. J., 2, 741–762, 1999.

[70]Zhang, A. and Gollapudi, S., QoS management in educational digital library environments, Multimedia Tools Appl., 10, 133–156, 2000.

[71]Anderson, D.P., Device reservation in audio/video editing systems, ACM Trans. Comput. Syst., 15, 111–133, 1997.

[72]Jiang, H., Montesi, D., and Elmagarmid, A.K., Integrated video and text for contentbased access to video databases. Multimedia Tools Appl., 9, 227–249, 1999.

[73]Bouras, C., Kapoulas, V., Miras, D., Ouzounis, V., Spirakis, P., and Tatakis, A., Ondemand hypermedia/mutimedia service using preorcestrated scenarios over the Internet, Networking Info. Syst. J., 2, 741–762, 1999.

[74]Zhang, A. and Gollapudi, S., QoS management in educational digital library environments, Multimedia Tools Appl., 10, 133–156, 2000.

[75]Koenen, R., MPEG-4 overview. ISO/IEC JTC1/SC29/WG11 N4668 (Jeju Meeting), March 2002, http://www.chiariglione.org/mpeg/.

[76]Asrar Haghighi, K., Pourmohammdi, Y., and Alnuweiri, H.M., Realizing MPEG-4 streaming over the Internet: a client/server architecture using DMIF, in International Conference on Information Technology: Coding and Computing, Las Vegas, April 2001, IEEE CS Press.

[77]Haghighi, A., Mohamed, A., and Alnuweiri, H.M., Streaming MPEG-4 over IP and broadcast networks: DMIF based architectures, in Proceedings of the International Packet Video Workshop (PV2001), April 2001.

[78]Feamster, N., Bansal, D., and Balakrishnan, H., On the interactions between layered quality adaptation and congestion control for streaming video, in Proceedings of the International Packet Video Workshop (PV2001), April 2001.

[79]Rejaie, R., Handley, M., and Estrin, D., Layered quality adaptation for Internet video streaming, IEEE J Selected Areas Comm., 18, 2530–2544, 2000.

[80]Steinmetz, R., Multimedia Technology, 2nd ed., Springer-Verlag, New York, 2000.

[81]Paek, S. and Chang, S.F., Video-server retrieval scheduling and resource reservation for variable bit rate scalable video, IEEE Trans. Circuits Syst. Analog Digital Signal Process., 10, 460–474, 2000.

[82]Du, D.H-G. and Lee, Y.-J., Scalable server and storage architectures for video streaming, in International Conference on Multimedia Computing and Systems (ICMCS), Vol. 1, Florence, 1999, IEEE CS Press, pp. 62–67.

[83]Pietro, G.D. and Lerro, M., The split-proxy approach: a new architecture for parallel video servers, in International ACPC Conference, Salzburg, February 1999, LNCS 1557, Springer-Verlag, New York, pp. 327–336.

[84]Lin, C.-S. and Wu, M.-Y., Performance study of synchronization schemes on parallel cbr video servers, in International ACM Multimedia Conference, Orlando, FL, November 1999, pp. 143–146.

[85]Lee, J.Y.B., Parallel video servers: a tutorial, IEEE MultiMedia, 5, 20–28, 1998.

[86]Bolosky, W.J., Barrera, S., Draves, P., Fitzgerald, P., Gibson, A., Jones, B., Levi, P., Myhrvold, P., and Rashid, F., The Tiger Video Fileserver. Technical report, Microsoft Research, Advanced Technology Division, Microsoft Corporation, 1996. MSR-TR96-09.

[87]Hjelsvold, R., Langørgen, S., Midtstraum, R., and Sandstå, O., Searching and Browsing a Shared Video Database, Kluwer Academic Publishers, Dordrecht, 1996, pp. 89–122.

[88]Kosch, H., Breidler, K., and Bözörményi, L., The Parallel Video Server SESAME-KB, in Distributed and Parallel Systems: From Concepts to Architectures, Kacsuk, P., and Kotsis, G., eds., Kluwer Press, Balaton, Hungary, 2000, pp. 151–154.

[89]Bougé, L., Méhaut, J.-F., and Namyst, R., Efficient communications in multithreaded runtime systems, in Proceedings of the Workshop on Runtime Systems for Parallel Programming, San Juan, Puerto Rico, April 1999, LNCS 1586, Springer-Verlag, New York.

[90]Shahabi, C. and Alshayeji, M.H., Super-streaming: a new object delivery paradigm for continuous media servers. Multimedia Tools Appl., 11, 129–155, 2000.

[91]Bolosky, W.J., Barrera, S., Draves, P., Fitzgerald, P., Gibson, A., Jones, B., Levi, P., Myhrvold, P., and Rashid, F., The Tiger Video Fileserver. Technical report, Microsoft Research, Advanced Technology Division, Microsoft Corporation, 1996. MSR-TR96-09.

[92]Bolosky, W.J., Fitzgerald, P.R., and Douceur, J., Distributed schedule management in the Tiger video fileserver, in ACM Symposium on Operating System Principles, October 1997, pp. 212–223.

[93]Bolosky, W.J., Fitzgerald, P.R., and Douceur, J., Distributed schedule management in the Tiger video fileserver, in ACM Symposium on Operating System Principles, October 1997, pp. 212–223.

[94]Bolosky, W.J., Fitzgerald, P.R., and Douceur, J., Distributed schedule management in the Tiger video fileserver, in ACM Symposium on Operating System Principles, October 1997, pp. 212–223.

[95]Bolosky, W.J., Barrera, S., Draves, P., Fitzgerald, P., Gibson, A., Jones, B., Levi, P., Myhrvold, P., and Rashid, F., The Tiger Video Fileserver. Technical report, Microsoft Research, Advanced Technology Division, Microsoft Corporation, 1996. MSR-TR96-09.



 < Day Day Up > 



Distributed Multimedia Database Technologies Supported by MPEG-7 and MPEG-21
Distributed Multimedia Database Technologies Supported by MPEG-7 and MPEG-21
ISBN: 0849318548
EAN: 2147483647
Year: 2003
Pages: 77
Authors: Harald Kosch

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net