100 likes | 114 Views
Directory Server. System Software Laboratory. Stream Description File (XML). Stream Description File (XML). Stream Description File (XML). Stream Description File (XML). Stream (Simple Service) Description File (XML). Service Description File (XML). Service Description File (XML).
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.