Share-It: A UPNP Application for Content Sharing – Daniel Siahaan
ISSN 1858-1633 2005 ICTS 69
connectivity and interoperability between appliances, PCs, and services within a network, which is based on
peer-to-peer discovery and configuration. It is based on a number of standards protocols, such as TCP, IP,
UDP, HTTP, SOAP, SSDP, etc. This enhances the interoperability between UPnP devices. Figure 1
shows the UPnP protocol stack.
Figure 1 The UPnP Protocol Stack [4]
3.1. The Concept
A UPnP system is composed of three major components, that is, devices, services and control
points. Figure 2 shows the A device represents a physical entity that holds inside services and nested
devices. A service is the smallest controllable entity that composed the system functionality through
actions and state variables. A control point is an entity that able to discover and control devices by means of
interaction with the services provided by the devices. In order to support the open language and platform
characteristic of UPnP, it uses XML eXtensible Markup Language.
Control Point
Control Point
Device UPnP Enabled Device
Service 1 Service 2
Service
Device UPnP Enabled Device
Figure 2 UPnP Control Points, Devices, and Services
There are a number of requirements for a UPnP protocol implementation, they are
• For its operational, it requires in every device a TCPIP stack that able to obtain its own IP
address. • It requires SSDP, which allows devices advertise
its capabilities and control points to search for available services across the network.
• It requires a control point to control services through actions.
• It requires an event mechanism that signals a service state change.
• It requires a device to be able to present its information on a control point’s browser.
• It requires a support for HTTP protocol and it’s extensions.
This specification is presented as a communication protocol stack, which does not specify any API or
implementation details of the stack. This means that UPnP implementations are independent of the
development language and operation system. But it also means that application developers are required to
learn different APIs.
4. SHARE-IT SYSTEM ARCHITECTURE
This system is basically comprised of two kinds of devices, i.e. dedicated content servers MP3 Servers
and control points with embedded content server MP3 Players. Figure 3 shows the system architecture
of Share-It.
MP3 Server Services
MP3 Player MP3 Player
MP3 Player WiFi Access
Point Embedded Content
Server Services
Embedded Content Server
Services
Embedded Content Server
Services
Figure 3 Share-It System Architecture
To enable content sharing, a proximity network should provide a wireless access point that supports
dynamic IP self-configuration DHCP and protocols stacks of UPnP.
4.1. The Concept
The MP3 Server is acting as a device that provides a set of services for browsing its content mp3 files,
extracting the metadata of the content, and opening streaming channel for playing the content. This device
is supported by a content metadata database, which is managed by a singular Database Management System.
The MP3 Server is immobile and normally maintained by the owner of the network.
UPnP Vendor Defined UPnP Forum Working Committee Defined
UPnP Device Architecture Defined HTTPMU
Discovery
SSDP GENA
SSDP HTTPU
Discovery
SOAP
Control
HTTP
Description
GENA
Events
HTTP TCP
UDP IP
Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005
ISSN 1858-1633 2005 ICTS 70
Device Model
Device Type
Service Type Action
MP3 Server
SharingContent:1 - GetNumSongs
- GetSong
As already mentioned earlier, another function that this device provides is opening a streaming channel
for playing the content. Since UPnP is built on top of HTPP protocol, it provides a mean for playing a audio
streaming.
XML Device Description
?xml version=1.0 ? root xmlns=urn:schemas-upnp-org:device-1-
specVersion major1major
minor0minor specVersion
device deviceTypeurn:schemas-upnp-org:device:
clock:1deviceType friendlyNameMP3 ServerfriendlyName
manufacturerT.Informatika ITSmanufacturer
manufacturerURLhttp:if.its.ac.id manufacturerURL
modelDescriptionNCC mySQL DBMS Device modelDescription
modelNameMP3 ServermodelName modelNumber1.0modelNumber
modelURLhttp:if.its.ac.idmodelURL serialNumberTC05001serialNumber
UDNuuid:myMP3ServerDeviceUDN UPC00x000xUPC
iconList icon
mimetypeimagegifmimetype width48width
height32height depth8depth
urlicon.gifurl icon
iconList serviceList
service serviceTypeurn:schemas-upnp-
org:service:SharingContent:1 serviceType
serviceIdurn:schemas-upnp-org: serviceId:SharingContent:1serviceId
SCPDURLserviceSharingContentdes cription.xmlSCPDURL
controlURLservice SharingContent
controlcontrolURL eventSubURLservice
SharingContent eventSubeventSubURL
service serviceList
presentationURLpresentation presentationURL
device root
XML Service Description
?xml version=1.0? scpd xmlns=urn:schemas-upnp-org:service-1-
specVersion major1major
minor0minor specVersion
actionList action
nameGetNumSongsname argumentList
argument nameNumSongsname
relatedStateVariableNumber relatedStateVariable
directionoutdirection argument
argumentList action
action nameGetSongname
argumentList argument
nameSongIndexname relatedStateVariableNumber
relatedStateVariable directionindirection
argument argument
nameSongname relatedStateVariableSong
relatedStateVariable directionoutdirection
argument argument
nameArtistname relatedStateVariableArtist
relatedStateVariable directionoutdirection
argument argument
nameAlbumname relatedStateVariableAlbum
relatedStateVariable directionoutdirection
argument argument
nameYearname relatedStateVariableYear
relatedStateVariable directionoutdirection
argument argument
nameGenrename relatedStateVariableGenre
relatedStateVariable directionoutdirection
argument argument
nameCommentname relatedStateVariableComment
relatedStateVariable directionoutdirection
argument argument
nameLocationname relatedStateVariableLocation
relatedStateVariable directionoutdirection
argument argumentList
action actionList
serviceStateTable
Share-It: A UPNP Application for Content Sharing – Daniel Siahaan
ISSN 1858-1633 2005 ICTS 71
…
serviceStateTable scpd
4.2. MP3 Player