100 likes | 115 Views
This service streams live video from a camera in National Tsing Hua University's student canteen. Centralized XML database stores service files using XQuery for queries. Decentralized design indexes XML files across peers in a structured P2P overlay for efficient routing.
E N D
Directory Server System Software Laboratory
StreamDescriptionFile (XML) StreamDescriptionFile (XML) StreamDescriptionFile (XML) StreamDescriptionFile (XML) Stream(Simple Service)DescriptionFile (XML) ServiceDescriptionFile (XML) ServiceDescriptionFile (XML) ServiceDescriptionFile (XML) Publish ServiceDescriptionFile (XML) SourceStream Publish New streams Query/Get Query/Get UI ServiceAuthoringTool Publish New services
Service XML file <?xml version="1.0"?> <!DOCTYPE service SYSTEM "service.dtd"> <service> <title>NTHU student canteen live CAM test</title> <description> This service contains a live video stream of a video camera set up in the student canteen of National Tsing Hua University </description> <author>John</author> <category term="Dining"/> <category term="Living"/> <app id="cam_1" type="stream"> <name>Camera One</name> <stream type="video" format="mjpeg" uri="http://host_addr/video.mjpg"> <dimension width="512" height="384"/> </stream> <layout z-index="1" left="20" top="140"/> </app> </service>
Current Progress • An centralized XML database (eXist) for storing/indexing service files. • JAVA Query and Publish interface using XQuery to perform publish and query requests
Decentralized XML DB design • To perform the index/query of XML files in decentralized manner. • Each peer in the system stores some portion of the service XML files collection. • Structured P2P overlay • Routing XQuery in the system
Treeguides as tries in a peer [1,2,3,4] service title description author app catagory [1,2,3,4] [1,2] [2,3,4] [1,2,3] [3,4] name stream layout Ma [2,3] [4] [1] teo dimension r [2] [1] y k tin [2,3] [2] [1,3]
Basic Flow • Peer Join • As most structured p2p system • Generate Peer ID -> participate in the system -> shift some data from other peers • Publish • Generate service XML file (Service authoring tool)->hash the document and send to the peer responsible for it->route update message to other nodes
Basic Flow (cont’d) • Query • Route the query message generated from one peer to the peer containing the desired data. (by looking up the tries of treeguides in the peers along the path)
To-Dos • Many detail aspects of the system, like replication, error recovery,…,etc.