130 likes | 306 Views
UbiStream. 2006.10.16. Motivation. Streaming data are abundant in our surroundings: Length of queue at cafeteria If the stadium is crowded or not Course video/audio for e-learning Live streaming of concerts or games Great demands to access these streaming data at any time, any place.
E N D
UbiStream 2006.10.16
Motivation • Streaming data are abundant in our surroundings: • Length of queue at cafeteria • If the stadium is crowded or not • Course video/audio for e-learning • Live streaming of concerts or games • Great demands to access these streaming data at any time, any place
Functional blocks • Turn information in the surroundings into streaming data • Camera, sensor, counter • Process the streaming data for further use • The streaming sources and processing units are regarded as services • Look for published services, concatenate them if needed • Retrieve the (processed) streaming data
System components • In this architecture, some components are deployed in a static manner • Indexing server (discovery mechanism) • Cameras (streaming source) • Others are relatively dynamic. We can recruit available computing resources from UniGrid, and install processing programs on them • Transcoding server (processing unit)
Scenario • User retrieve a group of 16 video screens from live cameras and VoD servers. A set of transcoding server will help aggregate those video sources
Processing server Streaming server User 1 Indexing server 2 3 Decoder server UniGrid Camera Sensor Video-on-demand
Workflows • 3 main workflows involve: • Indirect query • From user queries, to server replies an HTML page • Interpreting service logic • User’s browser download decoders (ActiveX), and execute the logic (JavaScript) • Streaming data delivery • User’s ActiveX control fetches media streams
Processing server Streaming server User Server translates metadata from XML to HTML Query strings HTML Indexing server
Processing server Streaming server User Browser downloads decoders (ActiveX) URL ActiveX Decoder server • Browser (IE) executes service logic (JavaScript) • Logic interacts with decoders
Processing server Streaming server User UniGrid ActiveX Grid portal recruits machines Reply …… Request Transcoding server UniGrid portal Aggregation tree coordinator
Processing server Streaming server User Decoder fetches streaming data UniGrid Customized query ActiveX Media stream Tree root …… Transcoding server Aggregation tree coordinator
To-do • Decoder • Sensor ActiveX client (async. socket, UI) • Camera ActiveX client (play/stop) • Multiple screen ActiveX client • Transcoding server • Receive MJPG, combine, transmit MJPG • Aggregation tree • Ask for transcoding servers, launch transcoding programs, wait for feedback • Streaming server • VOD server • Video content • Prepare MJPG video files