1 Introduction - Google Code

weaverchurchΛογισμικό & κατασκευή λογ/κού

15 Αυγ 2012 (πριν από 4 χρόνια και 11 μήνες)

363 εμφανίσεις


Event Delivery Gateway



1.0




Page
1

of
22





Event Delivery Gateway

by

Xiaobo Deng, Xiaoqi Lei, Yujie Song

Supervisor:
Selo Sulistyo

Project report for
IKT419

in
Spring

2
010



University of Agder

Faculty of Engineering and Science

Grimstad,
15 March 2013

Status:
Final


Keywords:

Gateway, Event, UPnP, P2P
, Sun SPOT

Abstract:


The aim of this project is to design a gateway to deliver an ev
ent from one network to another
.
The system has to prove that

it is possible that the gateway ca
n resolve the problem that we are
facing.


We
have
to d
efine several use cases of UPnP

b慳a搠abBp Eai獴ri扵t敤
b
v敮t
-
B
慳a搠
p
y獴敭猩
慮搠im灬敭敮t 潮攠of t桥 畳u 捡獥sK

A
n 敶敮t w慳a 桡灰敮敤

i渠潮e 湥tw潲k
I m潮it潲楮朠
捯浰潮c湴 fi湤
s

it 慮d try t漠獥st it t
漠t桥 g慴敷ayI t桩猠gat敷慹 will tr慮smit t桥 敶敮 t漠
慮潴桥o g慴敷慹 w桩捨c扥l潮gs to 慮潴桥r 湥tw潲kK A湤 獯浥 r敡捴iv攠慣瑩a
s
渠w潵l搠扥 tak敮
捯牲敳e潮d
ing

to v慬略 潦ot桥 獰s捩fi挠fi敬搠df t桥 敶敮tK

T桥 g慴敷慹 捡c r敳elv攠 t桥 灲潢pem
s

in
d
i獴ri扵t敤
敶敮t
-
扡獥s 獹st敭e
K j慩湬y f潲 t桥
捯浭畮i捡ti潮
灲潢pem
扥tw敥渠tw漠湥tw潲os
K te 慬獯 捡c 捯浰cre 摩ffer敮捥
s

b整e敥n
te打ervi捥c 慮d m㉐ t散e湯l潧y w桩捨c 慲a 扯t栠捡c b攠u獥s in t桥 im灬敭敮e慴楯n of t桥
gat敷慹K



This work is licensed under the Creative Commons Attribution
-
ShareAlike License (http://creativecommons.org/licenses/by
-
sa/2.5/).


Event Delivery Gateway



1.0




Page
2

of
22


Version Control

Version
1

Status
2

Date
3

Change
4

Author
5

0.5

DRAFT

2
5

May

10

Introduction, theory, Impl
ementation

Xiaobo Deng

0.6

DRAFT

28 May 10

Use case
,

Su
n
SPOT

Implementation

Xiaoqi Lei

0.7

DRAFT

28 May 10

Discussion, Conclusion
, Abstract,
Preface

Xiaobo Deng

0.9

DRAFT

28 May

Modify

Everyone

























1


Version

indicates the version number starting at 0.1 for the first draft and 1.0
for the first review version
.

2


Status

is DRAFT, REVIEW or FINAL

3


Date

is given in ISO format: yyyy
-
mm
-
dd

4


Change
describes the changes carried out since the previous version

5


Author

is the one who did the change


Event Delivery Gateway



1.0




Page
3

of
22


Preface

The project “Event De
livery Gateway” is part of IKT
-
419 course. It was proposed by Selo Sulistyo
and we build up the group. We have regular meeting with our supervisor

to discuss about the
project. We also have unofficial meeting with our supervisor when we encountered big pro
blems.


We would like to thank Selo Sulistyo who proposed this project for providing the equipments for
us and for the support he provided during our
project. We also want to thank J
an Pettersen Nytun
who gave us good suggestion
s

about presentation.



Grim
stad

May 2010
-
05
-
28

Xiaobo Deng, Xiaoqi Lei, Yujie Song


Event Delivery Gateway



1.0




Page
4

of
22


Contents


1

Introduction

................................
................................
................................
...................
5

1.1

Problem statement

................................
................................
................................
...
5

1.2

Problem solution

................................
................................
................................
......
5

1.3

Report outline

................................
................................
................................
...........
5

2

Theoretical background

................................
................................
................................
6

2.1

Sun SPOT

................................
................................
................................
................
6

2.2

UPnP

................................
................................
................................
.......................
7

2.3

CyberLinkForJava

................................
................................
................................
....
8

2.4

P2P and WebService

................................
................................
...............................
9

3

Solution

................................
................................
................................
......................

11

3.1

Requirements

................................
................................
................................
.........

11

3.2

Design Specification

................................
................................
...............................

11

3.3

Implementation

................................
................................
................................
......

13

3.4

Validation and Testing

................................
................................
............................

17

4

Discussion

................................
................................
................................
..................

19

5

Conclusion

................................
................................
................................
..................

20

Appendices

................................
................................
................................
..........................

22



Event Delivery Gateway



1.0




Page
5

of
22


1

Introduct
ion

1.1

Problem statement


Event processing has become the paradigm of choice in

many monitoring and reactive
applications.
[

Event
-
Based Applications and Enabling Technologies
]
.

These event based system
are developed in many domains.
An event based system is s
oftware in which event cause
reaction.
Mainly there are three important parts in these event
-
based systems which are
monitoring component, transmitting component and reactive component.


An event was de
fi
ned by Chandy [9] as a signi
fi
cant change

in the s
tate of the universe.

So any
state change
s

in our university can become the event

like temperature change, lighting tense
change and objects’ mov
e
ment.

And many technologies have been taken in this area. WSN is a
typical technology

that used in the system
as monitoring component.


There are more and more devices appearing in modern life. In order to share the resources that
on different types of devices, UPnP techno
logy

make it happen. The basic idea of UPnP
technology is to let the device
coordinate

with o
ther devices which are in the same network.


UPnP device will send different messages and events to other devices and control points.

So

the
device can inform what it capable of, the control point also can send control action to device.

When more and more
devices join into the network, lots of message and event will transmit on
the network. The network may be overloaded.

At the same time, it is possible that two UPnP
network need to communicate with each other to exchange information.


1.2

Problem solution


Th
e situation
mentioned

above

request
s

gateway to control the events.

Throughout configuration
gateway determines the events that would be sent out.

The gateway is a
n

UPnP controller
will
receive event
s from UPnP device as well as

broadcast events.


The g
at
eway

also takes

the
responsibility

to communicate with the gateway which belongs to
another
network
.

It shares the information with the other network.
With the help of the gateway,
UPnP network can send and receive specific event.



1.3

Report outline

Chapter

1 is the introduction about problem statement and the solution for it. Then chapter
2
illustrate
s

the theories that would be used in this project. Chapter 3 is the implementation details
of the system

which includes requirements and design specification
.

T
hen is the discussion about
this system. Finally is

the conclusion for this project.



Event Delivery Gateway



1.0




Page
6

of
22


2

Theoretical b
ackground

2.1

Sun

SPOT

Sun SPOT(Sun Small Programmable Object
Technology
)

is a wireless sensor network mote
development by Sun Microsystems.[

http://en.wikipedia.org/wiki/Sun_SPOT
]
.

The basic unit
includes
some sensors and inputs and outputs.


The development

tool

provides
two spot device and base station.

We can see the device in figure
***.


There are three

sensors on SUN SPOT device: temperature sensor, light sensor and accelerator
sensor.

Temperature sensor can detect the environment temperature value and return it back as
Centigrade or as
Fahrenheit.

Light sensor return the light tense from 0 to ***[Need
to be done to
specification]. The accelerator detects
movement of

three dimensions.

This

information can be sent
by wireless connection

to base station
.

Developer can program on base station to get this data and
sent it to the application on devices like c
omputer with USB interface.


Developer can program on Sun SPOT by using the Sun SPOT API. Sun SPOT API is based on
Java and integrates virtual components corresponding to real device
. The
developer can
implement

their
own systems by these resources.


Sun M
icrosystems provides Sun SPOT Manager Tool to help developer to develop their own
system based on Sun SPOT. Sun SPOT Manager Tool integrates mainly 5 tools.

//@May need network to run

the manager



1.

T
utori
al in the tools introduces
the structure of the devi
ce and shows the functionalities of
each part. You can find the detail explanations for typical sample code. It also gives the
developer the steps of creating a application.

2.

Sun SPOT upgrades the firmware of the Sun SPOT device. The device’s information ca
n
be check here.

3.

You can install SDK in SDKs part. All the relevant documents can be found here including
SolariumUserGuide and SunSPOT
-
Ownermanual. And you can find tutorials for all
sample code.


Before you install the manage tool, you have to install JD
K/JRE on your computer first. So the
program depends on Java can be executed.


Event Delivery Gateway



1.0




Page
7

of
22


When you install the manager, it recommends you to install ANT. ANT is a build and deploy tool
to help the developers to organize their work. And developer can use
ant

var

to d
eploy code to
the Sun SPOT device.


In addition, Sun SPOT Netbeans modular
can enable programmer to program under

Netbeans
and deploy

the program to Sun SPOT device directly.


2.2

UPnP

UPnP™ technology defines
architecture

for pervasive peer
-
to
-
peer network connectivity of
i
ntelligent appliances, wireless
devices, and PCs of all form factors. It is designed to bring easy
-
to
-
use, flexible, standards
-
based connectivity to ad
-
hoc or
unmanag
ed networks whether in the
home, in a small business, public spaces, or attached t
o the Internet. UPnP technology
provides
a distributed, open networking architecture that leverages TCP/IP and Web technologi
es to
enable seamless proximity
networking in add
ition to control and data transfer among networked
devices.
[
S
pecification]


Unlike most devices these days that need installing driver before it can be used, an UPnP based
device can join a network, get the IP address, discover other device and inform its
capabilities,
get and execute control action from control points. And this device can remove from the network
dynamically.


In order to make the dynamical plug and play,
six important procedure of UPnP device

have to
be paid attention

which are: addressin
g, discovery, description, control, event notification,
presentation.


Addressing

IP addressing is the foundation of UPnP. Each device need to search and find out a DHCP
server to request an IP address. If the
DHCP server doesn’t exist, this network is unm
anaged
and the device must assigned itself an address. This procedure that the UPnP device assigns
itself an IP address is known as AutoIP.


Discovery

When a new device joins to the network, it will advertise its device and service information to the
contr
ol points on the network. Similarly, when a control points is add to network, discovery
protocol enable the control point to search the interest device.


The SSDP (Simple Service Discovery Protocol) is used in this procedure. The device (includes
device an
d control points) could send SSDP packet to network. In the packet, there are many
parameters to indicate the device information. USN is the unique identifier of the device and
NTS indicate the state of ssdp service and so on.


Description

Discovery enabl
es control points to find the device while there is not enough information in SSDP
packet.
So description makes control point learn more about the device

and the service
.
The
control point

will find the
device’s capabilities

by the UUID which existed in SS
DP packet.


Control

A control point
get the service of upnp device can provides by description step and it can invoke
the actions and receive response from the device. Control
point posts an action to the device,
and waits

for the executed result or error
message.


Event notification


Event Delivery Gateway



1.0




Page
8

of
22


A description file is consisted of list of actions and list of service.
The service
publishes

state
updates when the
value of states changes
.

T
his updates will be sent as event message and the
subscriber receive and process it
.

The message contains one or more state variable and the new
value of the state.


Presentation

Presentation exposes an HTML
-
based user interface for controlling and/or viewing device status

[specification]
.


A control point can retrieve the device’s infor
mation and service and display them on the HTML
page according to the
URL which get by precious step.


2.3

Cyber
LinkForJava

CyberLinkForJava is
open source
framework which
is
used to develop
UPnP applications. It
provides virtual device and control points as w
ell as many listeners to help developer.


CyberLinkForJava uses KXML and Xerves as its XML parser, so you have to import the library to
your project before you implement you own system.


It provides two kinds of device which
are

Control Point and Device
.


Divice


When you want to create your own UPnP device you have to make description file. In the
description file for device, the uuid should be assigned and URL for service description file ha
s

to
be marked
, the presentation URL is optional.
And new devic
e is create by this description file like
this:

String descriptionFile = “description/description.xml”;

Device upnpDevice = new Device(descriptionFile);


And you have to start the device by the code:

upnpDevice.start();


The

device begins

t
o sen
d

notify pa
cket to network.


In the
service description file, actions are seals in actions. The state variable in this file is used to
post an
event.



Event Delivery Gateway



1.0




Page
9

of
22


You can get you service by the code:

ServiceList serviceList = upnpDev.getServiceList;

For(
int index=0; index<servi
ceList.size(); index++
){

Service service = serviceList.getService(index);

ActionList actionList = service.getActionList();

//get action by interator

……

}


To receive the control point from control point, upnp device have to implement ActionListener
interfa
ce as well as actionControlReceived() method.

When device want to sent its state to the
subscriber, it has to get the stateVariable first and set the value to it, then this event would be
updated to the control point.


Control Points

Figure *** is the clas
s diagram for cyberLink UPnP control point.



One of difference between control point and device is that there is no description file for control
point, you can create control point like this:

ControlPoint ctrlPoint = new ControlPoint();


And start it b
y

ctrlPoint.start();


To receive notify event from device, control point
implement NotifyListener interface and
implement deviceNotifyReceived() method. So all information in the packet can be get by :

String uuid = ssdpPacket.getUSN();

String target = ss
dpPacket.getNT();

String location = ssdpPacket.getLocation();


Control point knows the new device and removed device by adding DeviceChangeListener. The
method deviceAdded(Device dev) is for a new device notify and deviceRemoved() method is for
the removed

device sending byebye message.

2.4

P2P
and WebService

P2P techbology

A peer
-
to
-
peer, commonly abbreviated to P2P, is any distributed network architecture composed
of participants that make a portion of their resources (such as processing power, disk storage o
r

Event Delivery Gateway



1.0




Page
10

of
22


network bandwidth) directly available to other network participants, without the need for central
coordination instances (such

as servers or stable hosts).[

http://en.wikipedia.org/wiki/Peer
-
to
-
pee
r
].


In the P2P network, there is no typical server and client

but
coordinate

peer node
s
.

Each
participant
shares

its

resources.

As a new node join in the network, the capacity of the network
increase. While in the traditional server
-
client architecture,

a new client means asking for more
resources from the server.

P2P technology is used to
distribute

calculating
. The big task will split
into small ones by distributed algorithm and hand out to the peer nodes. Each node take the task
and return the result.



P2P application can get through the firewall of the network and so it can be a communication tool
between two networks.


We
bService

WebSerivce is a technology that enables the client access the service from remote endpoint.
Service
provider publishes

A
PI (
Application Program Interface)
.


Basically there are 3 role
s
in WebService architecture which shown in Figure ***
. Service
provider creates some services and registers

these services on register server. When service
requester sent service request to t
he register server, server will return the WSDL (Web Service
Description Language) to identify the location of the service. The WSDL are always shown as a
HTTP link. Service requester can send parameters according to this URL. Service provider
process the
request and return result to this requester.



We can use JAX framework to implement webservice application with Eclipse. And we can
create a webservice client to test the service.


In our system, we need to transmit the event immediately when the event
arrives. The problem is
we have to start the web service separately
. More importantly, there are many limits for the
service which would be published, while P2P technology does have those limits. And that is the
reason why we choose P2P technology rather t
han webservice.





Event Delivery Gateway



1.0




Page
11

of
22


3

Solution

3.1

Requirements

Functional requirement

1.

Get environment information and sent it to UPnP device.

2.

Create UPnP device which can

receive specific data.

3.

Create gateway which can receive the event and transmits the event to the other
ga
teway.

4.

Create a gateway which can receive the data and encapsulate the data to an event.

5.

Create a control device which can send control action.

6.

Create a
n

UPnP device which can receive control action.


Non
-

functional requirement (assumption
s
)

1.

There is onl
y one gateway in a network and this gateway does not take the responsibility
of managing this network.

2.

There are only two gateways in this system and the data transmission is just between
these two gateways.

3.2

Design
Specification

3.2.1

Functionality
Design

As

sh
own

in figure ***
.

T
here are mainly three part, network 1, network and the transmission
part.


In
network one, Sun SPOT collect information like temperature and sent it to the UPnP device
that we create. The UPnP device will encapsulate this information i
nto SSDP Packet and send it
out.

The event listener of gateway will get the relevant information. Gateway will sent them out by
P2P technology.
Gateway2 will get the packet and control UPnP device according to the packet.


3.2.2

Use cases

Before we implement th
e gateway application, we designed some use cases.

Baby Take Care System

The Baby Take Care System consists of a set of sensors, a control system, and some end
devices. It will be needed when the parents are not in the same room with the baby.

There will
be a sound sensors monitoring if the baby is crying and a accelerometer sensor
monitoring if the baby is sleeping in peace. Once it monitored the baby is not sleeping very well,

Event Delivery Gateway



1.0




Page
12

of
22


it
generates

events via the control system to notice parents in another room b
y alarming. And it
could play some music and turn on the light in the baby's room as well.


Auto Switching TV System

The Auto Switching TV System will automatically switch the playing TV set to the room where the
house owner stands. There should be some TV

in different rooms,
controlled

by the controller.
And there should be some radio receivers in each room receive the signal of the micro
radio
transmitter

brought by the user to
monitor

the position of the user.

Once the user moved from room A to room B, a

switching event will be generated from the room
A and send to the TV controller in room B to open the TV in the same channel. Once the TV in
room B is opened
successfully
, another event will be generated in room B, and notice the TV in
room A to shut down
.


Remote B
urglar
-
P
roof

& Alarming System

The
Remote B
urglar
-
P
roof

& Alarming System

consists of some sensors, cameras, some
terminal devices and
an

event based system, to protect your home from burglars.

Once the user's house door is opened by others, an
alarm will be to the
user's

mobile device
wherever

he is. And if he
wants
, he can watch the
real
-
time

video through the camera to judge if
the door is opened by strangers. If it is, the user can choose to turn on the speakers in his home
to persuade the st
rangers to leave, or he can report to the police.


//NEED to be
completed

3.2.3

Discuss the software tools that are to be used during the implementation

E
clipse/Netbeans

Eclips
e and Netbeans both can be used. While Sun SPOT Manage tool provides corresponding
dev
elop modular which enable Netbeans
to deploy the programme to the Sun SPOT device
directly.

So it seems better to choose Netbeans, but that’s not so critical in our project.


Developer Tools for UPnP™ Technology

The Developer Tools for UPnP™ Technologies is a set of development and reference tools for
creating software that is compatible with the UPnP specifications. These tools includes generic
devices and control points, stac
k generation tools and UPnP AV debug and reference tools.
[

http://opentools.homeip.net/dev
-
tools
-
for
-
upnp
]


In this tool kit, there are many tools like AV Media Renderer, AV Media Server, Devi
ce Spy and
Network Light.


Device Spy can find UPnP devices which are in the same network. The devices services are
displayed and can be invoke to control the device. As shown in Fiuure ** , the network light has
been started, so the Network Light can be f
ound in the
Device S
py. There are two different
services on this light: Dimming service and Switch Power service. Dimming service can be used
to adju
s
t the tense of the light while switch power service can be use to turn on the light or turn
off it.


So wh
en you click the invoke button and set the variable value, and control event will send out.
The state of the light would be changed.


Event Delivery Gateway



1.0




Page
13

of
22





3.3

Implementation

3.3.1

Monitoring component

The application to drive SunSPOT device consists of 2 parts: on SunSPOT and on hos
t.

There is
an event based framework inside the SunSPOT sensor network.
T
he SunSPOT device generate
and send events to the host through the basestation by radio. And once the events are received
by host, they are extracted and processed in advance.


The ap
plication implemented on the SunSPOT have 2 important classes: Sensor and MIDlet.
The MIDlet class is the entrance of the application running on SunSPOT, and it access the
sensor through the class Sensor.


In our case, the Sensor class is extended to EDemo
Board class, the user_setup() method is
used to access the sensor and store the value.
A
nd the sample() method is used to
encapsulate

and send the data.



Event Delivery Gateway



1.0




Page
14

of
22




And the MIDlet class is extended to
StartApplication

class. The startApp method will be
automatica
lly called
by the VM to start the application.

In the startApp method, we monitor the
connection to the host and the command from the host, and routinely generate events with the
information provided from the EDemoBoard class.



In the host application, w
e use
SensorFramework.getInstance().registerNodeEventListener(
)
method to register a class as the event listener, and then we can extract the information and
process the data.


3.3.2

Transmit component

We use P2P technology to transmit data from one gateway to a
nother. The reason we choose
P2P technology but not WebService is that P2P technology is more suitable for this application.


When WSebService is developed by My
E
clipse, the
service has

to be started running separately
as a service.
And there are some lim
its in WebService which are become the barrier we integrate
the service. P2P technology is better to use and
flexible.


Step 1
:

Receive the event.


In order to receive the event sent by UPnP device, gateway has to implement

some

Listeners
such as NotifyLis
tener, EventListener and SearchresponseListener.



Also we have to implement
eventNotifyReceived
()

method to get the data. As shown in Figure
*
**, we can get uuid, sequence number,

variable name and the value.
The service can be got by
uuid which is the
Universal Unique Identification for the service. And we can get the device by the

Event Delivery Gateway



1.0




Page
15

of
22


service. The SSDP Packet sent by the device can be
got

by the device. We need to transmit this
packet to anther gateway.


As
P2P technology can sent string type and do
cument

type but not SSDP packet, so we have to
find another way to transmit it.



Finally, we

find that we can transfer the packet into a string and then repacked it. We know that
the transferred string is the data part of the packet

from the code below, which
means we can put
this string into the data part of new SSSP packet on the other side.




Step 2
: Establish service pipe

First, we need to create network manager
.
//Get the details of P2P .



Step 3 Send event


Event Delivery Gateway



1.0




Page
16

of
22




Step 4 Receive the event





3.3.3

Reactive com
ponent

Reactive component is the third partial of the system. In the domain, the gateway will broadcast
event to the UPnP network
. All devices in this network will receive the event and only the display
equipment will process the event.



So first we need

to get the event information. In order to extract the string out, we use commas to
divide the message. Method sendEvent(String str) can make it happen and set each parameter
into an array.



In the gateway we create new device called gatewayDev to sen
d
t
he state variable.




In DisplayDevice, the code shown in Figure ** implement
the eventNotifyReceived() method.

So the DisplayDevice can get the message which would be shown on the display.


Event Delivery Gateway



1.0




Page
17

of
22




//@NEED TO BE DONE AFTER CODE IS FINISHED


3.4

Validation and Test
ing

TEST 1
: Test the gateway works

At this step, we use I
ntel network device to send event. First we need to start the two gateways.
When
we run the light, a

new device notify was sent out. In this message, UUID is unique

identification of the service and
the extra data “
-
5” is to identify the each message. And the status
is the variable
name and “0” is the value of the variable.




We can find the network
light in Device Spy, and invoke the Set Target method. The state
of
Network

Light would be changed.




The event will be receive by the gateway and sent it to another gateway. Figure *** shows the
data of the SSDP Packet. The gateway receives this data as a string and will set it into a new
SSDP packet.


We also can see the uuid and value at the end of
the message, and the value will be pick out
from it.


Event Delivery Gateway



1.0




Page
18

of
22






Event Delivery Gateway



1.0




Page
19

of
22


4

Discussion

Basically, there are two parts in our proje
ct which have to be implemented:

1.

Design a gateway which can use to delivery event between two networks

2.

Choose application to test the gateway.


F
irst we need to choose the technology for the gateway.
We can choose P2P or Webservice.
Sun Micorsystems create JXTA framework for P2P application, it has proved that JXTA is a well
-
design and easy to use technology. And that is the reason why we choose it
. The advantage of
WebService is that
client can access the service by HTTP link. So it is easy to
implement the
client while it increases the complexity on the server side.

And we encountered an unkn
own error
when we create a

web service for this applicat
ion.
It is hard for us to integrate the webservice into
our system.


CyberLinkForJava is the framework we chose for UPnP network. This framework provides APIs
to help us to create our own device. The only problem is the event cannot be sent out
by the
devi
ce even though we follow the instruction on the specification. After that, we check the source
code about this function and find
the service use a HTTP request to send the value. We cannot
figure it out why the event send procedure doesn’t work. In order t
o continue our work, we
choose Intel UPnP device an alternative.
It proved that the gateway works. And the same thing
happened on the other network, so we cannot finish the use case.


In the final system, we can prove that the gateway is ready, but we cann
ot run the
application
completely because of the problem we cannot fix.





Event Delivery Gateway



1.0




Page
20

of
22


5

Conclusion

In this project, we need the design and implement a gateway. This gateway will transmit an event
from one network to another.

In order to emulate the function of gateway
, we create two UPnP
networks. Because we encountered a problem that we cannot resolved so we choose Inter UPnP
device as an alternative. And it is proved that the gateway works.


This project is only a simple

emulation of event delivery gateway. There are

still a lot of problem
s

that need to be resolved.

1.

W

kind of strategy to divide UPnP device into different network

in a real application?

2.

How to
coordinate many gateways to let them work more efficient?

3.

How to make the gateway more flexible and
reliable?




Event Delivery Gateway



1.0




Page
21

of
22


References

Follow the IEEE guidelines for references

see:
http://www.ece.uiuc.edu/pubs/ref_guides/ieee.html


[1]

H
iA, Bruk av kilder i skriftlige arbeider ved Høgskolen i Agder, August 2006,

http://www.hia.no/stud/eksam/kilder.htm


[2]

Peter J. Denning, Douglas E. Comer, David Gries, Michael C. Mulder, Allen Tucker, A. Joe
Turner, and Paul R. Young, Computing as a Discipline, Communications

of the ACM,
Volume 32, Number 1, 1989


[3]

Check
http://www.ntnu.no/viko/
, which is very useful when writing reports.



Event Delivery Gateway



1.0




Page
22

of
22


Appendices


Appendix A


Glossary and Abbreviat
i
ons



Appendix
B (Detailed) Specificatio
ns (optional)


You may want to include
more (sets of) specifications than in the report body. You may have
Functional requirements in the body and Non
-
functional (not directly related to the user interface)
in the appendix.

Appendix C

Design Documen
tation (optional)

This
appendix may include documentation like program listings, schematic diagrams, drawings
etc


Appendix
D

Project Management (optional)


Include here a description of the project and how you organised it.

Answer the following qu
estions:



What is the project title, and who was the problem owner (external company)?



Who were the project participants?



How did you organize the project as a team, was there a project leader, did you have
separate roles in the project? How did you distrib
ute the work internally in the project: who
did what?

Did you cooperate with other teams?



Which milestones did you have? What dates?



If you have a cost budget, present it.



Is your project part of a larger project? What is the relation between the two?


Ap
pendix E Another Appendix


This is just to show you can have as many appendices as you like, but try to restrain yourself. Do
not include more details than necessary.


Finally, please note, that appendices are traditionally numbered by letters A, B, C and so
on. Some newer templates use numericals, but academic tradition prefers letters.