1 / 18

Outline...

Outline. Recap – What is my project about? The purpose of this project What I set out to do. What I actually did. Summary Questions. What is my project about?. Well the extended title says it all, really.. “Remote, web-based, real time control of scattered media stations”

shona
Download Presentation

Outline...

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Outline... • Recap – What is my project about? • The purpose of this project • What I set out to do. • What I actually did. • Summary • Questions

  2. What is my project about? • Well the extended title says it all, really.. • “Remote, web-based, real time control of scattered media stations” • Remote – controlling something from a different physical location • Web-based – control over a network (www or LAN, MAN, WAN etc) • Real-time – the effects of your actions can be seen instantaneously • Control – directing the behavior of • Scattered – located in amany different areas • Media Station– a device used for the dissemination of visual or audio media

  3. What is my project about? ... • More about media stations: • The media station being controlled in this project is essentially a compact PC with a large plasma TV for its display. • Dom's project was all about how to control the screen layout of such a device

  4. The purpose of this project. • “A need exists for real time control of scattered media delivery stations, especially in the advertising industry, where up to the minute information and fresh content is very important.” • “Our hypothesis is that a system can be developed that will provide real time control of one or more media delivery stations, using inexpensive and freely available tools.”

  5. What I set out to do. • Investigate some of the issues surrounding • a)the control of media stations • b)the development of a system for their control • Develop a working system as a “proof of concept” • a)using freely available and inexpensive tools • b)in as short a time as possible • c)with a focus on later adaption of the system to other uses (in other industries)

  6. What I actually did ;) • Investigation: • General remote control of media stations • Should have very strong security restrictions in place due to the public nature of such a system. • Control should be done by as few authorised people as possible. • All control should be directed through a central authority. • Changes should be logged and should include a reference to the user. • Changes should be easily reversable

  7. What I actually did ;) ... • Investigation: • General remote control of media stations... • All changes should be atomic and should obey good RDBMS behavior... • Any node is a distributed system can go down at any time, even halfway through a change • Changes must therefore happen atomically, or be reversed. • The entire system state should be a reflection of a single data source. • A database of all system information should be maintained. • Changes to any part of the system should only occur in response to a change in the content of this database • This way, one can be guaranteed that the information in the database reflects the true state of the system.

  8. What I actually did ;) ... • Investigation: • Developing a system for control • Use good OO design principles! • Separate presentation and logic • Keep it as modular and generalised as possible • Facilitates later modification, easy understanding and easy expansion • Use widely available technologies • Control should not involve complex software installation • Be as hardware and OS 'agnostic' as possible. • Control should be quick, easy and available to any authorised user on any platform.

  9. What I actually did ;) ... • Investigation: • Developing a system for control... • Use a '3 tier' model • 1. Control interface • 2. Server/Databse combination • 3. One or more media systems • The control interface should do little on its own, apart from talk to the Server.

  10. What I actually did ;) ... • Investigation: • Developing a system for control... • The Server should be the 'brain' and 'braun' of the system • It should listen to the control interface • It should change the database according to the control's communications • It should send control data to the affected media stations if the database changes sate. • Use a common communication protocol between tiers and a common language for data storage

  11. What I actually did ;) ... • Developed a 'semi' working system • Tried to stick as closely to my design suggestions as possible. • Used a 3 tier approach, but only managed to implement the control interface.

  12. The control interface • Decided to use an ebbedded application in a web browser • Chose to use a Java Applet. • Why Java? • Large set of functionality through the standard libraries • Widespread technology – many people have the Java Plugin installed already. • No installation required – navigate to the page and go. • Strong networking support

  13. The control Interface • Follows the structure of the data as closely as possible (heirarchical) • Reads and writes XML, using the fairly new Java API for XML Binding (JAXB) • How JAXB works

  14. <xsd:complexType name="Partition"> <xsd:sequence> <xsd:choice> <xsd:group ref="SplitGroup"/> <xsd:element name="mediaSpace" type="MediaSpace"/> </xsd:choice> </xsd:sequence> </xsd:complexType> <xsd:group name="SplitGroup"> <xsd:sequence> <xsd:element name="isVertical" type="xsd:boolean"/> <xsd:element name="splitPosition" type="xsd:int"/> <xsd:element name="leftOrTop" type="LeftOrTop"/> <xsd:element name="rightOrBottom" type="RightOrBottom"/> </xsd:sequence> </xsd:group> <xsd:complexType name="MediaSpace"> <xsd:sequence> <xsd:element name="width" type="xsd:int"/> <xsd:element name="relativeWidth" type="xsd:boolean"/> <xsd:element name="height" type="xsd:int"/> <xsd:element name="relativeHeight" type="xsd:boolean"/> <xsd:element name="x" type="xsd:int"/> <xsd:element name="relativeX" type="xsd:boolean"/> <xsd:element name="y" type="xsd:int"/> <xsd:element name="relativeY" type="xsd:boolean"/> <xsd:element name="content" type="Content" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="number" type="xsd:int" use="required"/> </xsd:complexType> <xsd:complexType name="Content"> <xsd:sequence> <xsd:element name="repeat" type="xsd:int"/> <xsd:element name="start" type="xsd:string"/> <xsd:element name="stop" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="mediaName" type="xsd:int" use="required"/> </xsd:complexType> <xsd:complexType name="LeftOrTop"> <xsd:sequence> <xsd:element name="partition" type="Partition"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="RightOrBottom"> <xsd:sequence> <xsd:element name="partition" type="Partition"/> </xsd:sequence> </xsd:complexType> </xsd:schema> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:annotation> <xsd:documentation xml:lang="en"> Media System Schema for the project 'Remote Control of Scattered Media Stations' Created 22-10-2003 by Roger Gordon </xsd:documentation> </xsd:annotation> <xsd:element name="mediaSystem" type="MediaSystemType"/> <xsd:complexType name="MediaSystemType"> <xsd:sequence> <xsd:element name="owner" type="xsd:string"/> <xsd:element name="contactNumber" type="xsd:string"/> <xsd:element name="contactEmail" type="xsd:string"/> <xsd:element name="localSystem" type="LocalSystem" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required"/> </xsd:complexType> <xsd:complexType name="LocalSystem"> <xsd:sequence> <xsd:element name="location" type="xsd:string"/> <xsd:element name="iPAddress" type="xsd:string"/> <xsd:element name="lANBandwidth" type="xsd:int"/> <xsd:element name="contact" type="xsd:string"/> <xsd:element name="contactNumber" type="xsd:string"/> <xsd:element name="mediaSource" type="MediaSource" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="mediaStation" type="MediaStation" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required"/> </xsd:complexType> <xsd:complexType name="MediaSource"> <xsd:sequence> <xsd:element name="mediaURL" type="xsd:anyURI"/> <xsd:element name="mediaType" type="xsd:string"/> <xsd:element name="stream" type="xsd:boolean"/> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required"/> </xsd:complexType> <xsd:complexType name="MediaStation"> <xsd:sequence> <xsd:element name="location" type="xsd:string"/> <xsd:element name="screenHeight" type="xsd:int"/> <xsd:element name="screenWidth" type="xsd:int"/> <xsd:element name="contact" type="xsd:string"/> <xsd:element name="contactNumber" type="xsd:string"/> <xsd:element name="partition" type="Partition" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required"/> </xsd:complexType>

  15. Summary • Freely available tools can be used to develop a system for the real time control of scattered media stations • I developed a partly working implementation of such a system

  16. Questions?

More Related