Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005
ISSN 1858-1633 2005 ICTS 68
SHARE-IT: A UPNP APPLICATION FOR CONTENT SHARING
Daniel Siahaan
Informatics Department, Faculty of Information Technology, Sepuluh Nopember Institute of Technology Kampus Sukolilo, Jl Raya ITS, Surabaya, Indonesia
email : danielif.its.ac.id
ABSTRACT
Our work is based on the idea of creating a smart environment where individuals are encouraged to
interact with others. One of the applications that we developed is Share-It, an application that enables
people who are present in an environment to share its on-hand content, i.e. mp3s collection with others. The
target of Share-It is consumer electronics for small public place proximity network, such as, home, café,
hotel’s lobby, mall, plaza, airport, etc. To realize our application, we use Universal Plug and Play
framework as the enabling technology. The idea of Universal Plug and Play is a network architecture
framework that allows automatic connectivity and interoperability between appliances, PCs, and services
within a network. We have installed this application on a constrained environment in our laboratory, and it
shows a promised result in term of performance. In the future, we would test them on real public spaces.
Keywords : Content Sharing, Proximity Network, Share-It, Universal Plug and Play UPnP
1. INTRODUCTION
It has been addressed many times by a lot of people that the rapid advancement of technologies
tends to weaken the social relation between individuals [2][5][6]. Nowadays, people tend to be
more individualistic, and technology is one of the most often to blame. Based on that assumption, our
work at Computer Architecture and Network AJK, Arsitektur dan Jaringan Komputer laboratorium is
focused on building a smart environment where individuals are encouraged to interact with others. In
this paper, we would like to introduce one of the applications that we developed, which is Share-It. It is
an application that enables people who are present in an environment to share its on-hand content, i.e. mp3s
collection with others regardless the platform of its content holder player. The target of Share-It is
consumer electronics for small public place proximity network, such as, home, café, hotel’s lobby, mall,
plaza, airport, etc.
Proximity networks are available immediately to clients for the time that clients are in a local service
environment. The basic requirements for proximity networking are the followings [1]:
• There is no service-specific code need exist on the client before using the service,
• There is no undesired code or configuration remains once the service is out of range.
• There is a simple mechanism for discovering and navigating of a local service.
To realize our application, we use Universal Plug and Play UPnP framework as the enabling
technology. The idea of Universal Plug and Play UPnP is a network architecture framework that
allows automatic connectivity and interoperability between appliances, PCs, and services within a
network [7].
The rest of this paper is organized as follows. The second section shows the scenario that we create for
Share-It application. The third section briefly describes the UPnP framework. The fourth section
describes the system architecture of Share-It. And the last section concludes with findings and further work.
2. SHARING SCENARIO
Tika, an 18 years old female student who lives in Jakarta, wants to go back to her campus in Surabaya
by flight because the beginning of next month, the new semester will be started. So, she went to Sukarno-
Hatta International Airport that afternoon. On the road, she listens to her mp3 collection through her
jukebox. When she gets to the airport, she immediately check in at Air Asia desk. Then goes to
the waiting room. When she enters the waiting room, she notices that there are a lot of new mp3 files listed
in her jukebox. She goes through the list and finds a song from Corrs that she likes but does not have in her
collection. Then she plays the song.
After a half an hour, together with other passengers, she is asked to board in. Immediately after
she leaves the waiting room, the new mp3 files are gone from the list.
3. UPnP
Universal Plug Play UPnP was first initiated by Microsoft, which initialized the work through the
Plug and Play in Microsoft Windows 95 OS [4]. It is first implemented in Microsoft Windows ME OS. This
concept of network architecture framework was later developed within a forum called UPnP Forum. UPnP
is meant to provide a transparent automatic
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
The MP3 Player is acting as a control point that browses through the content list of all devices on the
network, extracts the metadata of a certain song at a time, and plays a certain song by streaming an mp3
file provided by one of the devices.
As already mentioned, since we expect that a MP3 player is a mobile device, the network should provide
a access point that enables all MP3 Servers and Players to share their content. In our implementation
we choose a WiFi access point. This access point is proofed to support the specification that we required.
4.3. Implementation
To implement our system, we use a UPnP Java API made made by Satoshi Konno, called cyberlink
[3]. We have made some significant modifications on this library in order to which is an UPnP API
5. CONCLUSION
It is shown that our system enables interactions between individuals who are present within the
proximity network, by sharing their content mp3 files with each other.
The design of our UPnP application is simple. It also allows painless implementation or further
development. It allows any manufacture to develop their own content server with their own specific
platforms, i.e. hardware, operating system, language development, and database management system.
There are a number of potential issues that still need to be solved in UPnP Technology, especially for
our application. They are as follows: • Security. Our design, which is inherited from
UPnP architecture, does not restrict unauthorized MP3 Player to access the servers.
• Property right. Giving the security issue, our design also does not guarantee any violation on
property right regarding the mp3 files shared. • Content. The database that accompanies the
server manages metadata of the content stored in the server. We have not implemented any
application that will use this metadata. We intend Our initial intention design is
Bandwidth. The decision of which protocol to be used for wireless communication will influence the
performance of the system, in the sense that smaller its bandwidth capacity the less performance it produces.
We have installed this application on a constrained environment in our laboratory, and it shows a
promised result in term of performance. In the future, we would test them on real public spaces and explore
any possible solution from the issues mentioned.
REFERENCE
[1] Denny, B., Escobar, J., and Pingali, V., Proximity Networking, 3COM Corporation,
2002. [2] Keyani, P. and Hong, J.I., Potential effects of
Ubiquitous Computing on Civic Engagement, in Workshops on Social Implications of
Ubiquitous Computing, ACM Conference on Human Factors in Computing Systems
CHI2005, Porland, OR, US. 2005.
[3] Konno, S., Cyberlink for Java Programming Guide, 2005
http:www.cybergarage.org [4] Microsoft Universal Plug and Play Device
Architecture v.1.0., 2000. http:www.upnp.orgdownloadUPnPDA10_20
000613.htm [5] Paulos, E. and Goodman, E., The familiar
stranger auziety, comfort, and play in public places. In Proceeding of CHI’04: Proceedings
of the 2004 Conference on Human Factors in Computing Systems, 2004.
[6] Putnam, R.D., Bowling Alone. Simon Schuster, 2001.
[7] UPnP Forum, Introduction to Universal Plug and Play. 2005.
http:www.upnp.orgdownload
Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005
ISSN 1858-1633 2005 ICTS 72
MODIFIED BAYESIAN OPTIMIZATION ALGORITHM FOR NURSE SCHEDULING
I N. Sutapa, I. H. Sahputra, V. M. Kuswanto
Industrial Engineering Department, Petra Christian University 142-144 Siwalankerto Surabaya, Indonesia
Email: mantapapetra.ac.id, iwanhpetra.ac.id
ABSTRACT
This paper discusses the application of modified Bayesian optimization algorithm for weekly schedules
of nurses that cover the demand for nurses for every grade considering their preferences. All probable shift
patterns were generated in the algorithm. The first population of rule strings shift patterns was chosen
randomly using roulette wheel method from all probable shift patterns. A particular shift pattern was
determined for every nurse using four building rules. The process would be repeated continuously until the
desired fitness function is found. The result was proposed schedule can cover the requirement of nurse
for every grade with minimum preference value. It can be seen from the mean of fitness function proposed
schedule was 1.903,73, which was less than real one, which was 3.268,67. The proposed schedule also was
better than real one in quality and fairness aspects. Keywords : modified Bayesian optimization
algorithm, nurse scheduling
1. INTRODUCTION