470 likes | 626 Views
UPnP AV Architecture - Generic Interface Design And Java Implementation. UPnP AV Architecture Generic Interface Design And Java Implementation. Andreas Bobek, Hendrik Bohn, Frank Golatowski University of Rostock Faculty of Computer Science and Electrical Engineering
E N D
UPnP AV Architecture - Generic Interface Design And Java Implementation UPnP AV Architecture Generic Interface Design And Java Implementation Andreas Bobek, Hendrik Bohn, Frank Golatowski University of Rostock Faculty of Computer Science and Electrical Engineering Parallel and Distributed Computing and Networks – PDCN 2005 – as part of the 23rd IASTED International Multi-Conference on Applied Informatics 15th – 17th February, 2005, Innsbruck, Austria University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek
UPnP AV Architecture - Generic Interface Design And Java Implementation Outline University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 1 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation Outline University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 1 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation 1.1. UPnP Device Architecture • UPnP = Universal Plug and Play • supports ad-hoc networking of devices and services • only protocols are defined (UDP, TCP, SOAP, SSDP, GENA, HTTP) • independent of programming language, operating system and transmission medium • six phases: addressing, discovery, description, control, eventing, and presentation • defines three communicating components: device, service, control point University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 2 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation 1.1. UPnP Device Architecture • role: server • offers services • may contain other devices • “root device” • characterized by properties such as model number, model name, vendor... • uniquely identifiable by UUID • interface to the device • offers actions and URLs for controlling, eventing, and presentation • manages its state in state variables University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 3 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation 1.1. UPnP Device Architecture • role: client • searches for devices and/or services • invokes actions (at services) • requests state variables University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 4 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation 1.1. UPnP Device Architecture University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 5 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek
UPnP AV Architecture - Generic Interface Design And Java Implementation 1.2. UPnP Stack University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 6 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation 1.2. UPnP Stack University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 6 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation 1.2. UPnP Stack University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 6 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation 1.2. UPnP Stack University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 6 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation 1.2. UPnP Stack University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 6 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek
UPnP AV Architecture - Generic Interface Design And Java Implementation MediaRenderer Device • play back of multimedia content • e.g. Windows Media Player, TV, beamer Control Point MediaServer Device • manages meta data of multimedia files and streams • meta data consist of information about format (mpg, jpg, avi...), owner, permissions, date, size, access protocols ... • PC, tuner, digital camera • searches for MediaServer and MediaRenderer • initiates connections • controls play back (play, stop, brighter, louder...) 1.3. UPnP AV Architecture University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 7 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation MediaRenderer Device Control Point RenderingControl Service ContentDirectory Service ConnectionManager Service (opt.) AVTransport Service (opt.) AVTransport Service (opt.) MediaServer Device ConnectionManager Service (opt.) 1.3. UPnP AV Architecture University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 8 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek
UPnP AV Architecture - Generic Interface Design And Java Implementation IP 1.4. UPnP AV Data Flow University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 9 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation IP 1.4. UPnP AV Data Flow Control Point Media Renderer Media Server University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 9 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation IP 1.4. UPnP AV Data Flow Control Point 1. Search Request Media Renderer Media Server University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 9 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation IP 1.4. UPnP AV Data Flow Control Point 2. Search Response Media Renderer Media Server University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 9 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation IP 1.4. UPnP AV Data Flow Control Point Media Renderer Media Server University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 9 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation IP 1.4. UPnP AV Data Flow Control Point 3. Browse() Media Renderer Media Server University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 9 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation IP 1.4. UPnP AV Data Flow • 4. Result • DIDL Lite (XML) • preconditioned protocols • file formats... Control Point Media Renderer Media Server University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 9 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation IP 1.4. UPnP AV Data Flow Control Point 5. GetProtocolInfo() Media Renderer Media Server University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 9 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation IP 1.4. UPnP AV Data Flow Control Point 6. supported protocols, accepted formats Media Renderer Media Server University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 9 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation IP 1.4. UPnP AV Data Flow 7. matching between preconditioned and supported protocols Control Point Media Renderer Media Server University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 9 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation IP 1.4. UPnP AV Data Flow Control Point 8. PrepareForConnection() Media Renderer Media Server University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 9 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation IP 1.4. UPnP AV Data Flow Control Point 9. SetURI() Play, Pause, Stop... Media Renderer Media Server University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 9 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation IP 1.4. UPnP AV Data Flow Control Point Media Renderer Media Server 10. Data transport („out of band“) University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 9 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek
UPnP AV Architecture - Generic Interface Design And Java Implementation 2.1. AV Interface Examples University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 10 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation 2.1. AV Interface Examples University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 11 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek
UPnP AV Architecture - Generic Interface Design And Java Implementation 2.2. AV Interface Stack University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 12 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek
UPnP AV Architecture - Generic Interface Design And Java Implementation 2.3. Application Code Examples Control Point UPnPAVFactory factory = new UPnPAVFactoryImpl(); MediaControlPoint cp = factory.getMediaControlPoint( new MediaControlPointListenerImpl() ); cp.start(); cp.searchForMediaRenderers(); cp.searchForMediaServers(); University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 13 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation 2.3. Application Code Examples Control Point public class Listener implements MediaControlPointListener{ public void takeMediaServer( ProxyMediaServer p_server, MediaDevice p_parent_device ){ // access proxy services ProxyAVTransport avt = p_server.getProxyAVTransport(); ProxyConnectionManager cm = p_server.getProxyConnectionManager(); ProxyContentDirectory cd = p_server.getProxyContentDirectory(); // browse content directory BrowseResult browse_result = cd.browse( "0", ContentDirectory.BROWSE_FLAG_BROWSE_METADATA, "*", 0, 0, "" ); DidlLiteModel model = new DidlLiteModel(); String result = browse_result.getResult(); Element el_didl = XMLUtil.stringToElement(result); } University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 14 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation 2.3. Application Code Examples University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 15 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek
UPnP AV Architecture - Generic Interface Design And Java Implementation 2.4. Advantages • Why to use an interface layer: • separate development of stack and application • replacement of UPnP stack without modifying application code University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 16 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek
UPnP AV Architecture - Generic Interface Design And Java Implementation 3.1. AV within SIRENA project • SIRENA = Service Infrastructure for Real time Embedded Networked Applications • part of the ITEA program • modify current AV Architecture: • extension by integrating QoS aspects • adapt architecture to fit small embedded devices University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 17 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek
UPnP AV Architecture - Generic Interface Design And Java Implementation 3.2. Generalisation • analyzing service-oriented architecture (SOA) concepts (UPnP, Web Services, JINI, HAVi...) • designing device protocols independently of specific SOAs University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 18 of 19
UPnP AV Architecture - Generic Interface Design And Java Implementation 3.2. Generalisation University of Rostock Faculty of Computer Science and Electrical Engineering Andreas Bobek Slide 19 of 19