Ad-Hoc Networks Nikola Milanović, [email protected] [email protected] Gvozden Marinković,...
-
Upload
trevor-lewis -
Category
Documents
-
view
215 -
download
1
Transcript of Ad-Hoc Networks Nikola Milanović, [email protected] [email protected] Gvozden Marinković,...
Ad-Hoc NetworksAd-Hoc Networks
Nikola MiNikola Milanović, lanović, [email protected]@EUnet.yu
Gvozden MarinkoviGvozden Marinković, gć, [email protected]@saga.co.yu
Đorđe Trifunović, [email protected]Đorđe Trifunović, [email protected]
Tatjana Petrovic, [email protected] Petrovic, [email protected]
Voislav GaliVoislav Galić, ć, [email protected]@bitsyu.net
Prof. Dr. Veljko Milutinović, [email protected]. Dr. Veljko Milutinović, [email protected]
Authors:Authors:
Establishing node-to-node communicationEstablishing node-to-node communicationwith no infrastructure neededwith no infrastructure needed
Page Numb
er: 2/65
IntroductionIntroduction
Two basic groups of ad-hoc networks:Two basic groups of ad-hoc networks:– Networks of mobile computers handled by usersNetworks of mobile computers handled by users– Wireless sensor networksWireless sensor networks
Basic characteristic: Basic characteristic: ability to establish network communication between hosts ability to establish network communication between hosts without any infrastructure needed.without any infrastructure needed.– The most significant advance compared to classic fixed systemsThe most significant advance compared to classic fixed systems– Reveals a very large scale of new possibilitiesReveals a very large scale of new possibilities
Page Numb
er: 3/65
Ad-Hoc Networks vs Mobile NetworksAd-Hoc Networks vs Mobile Networks
Mobile hosts Mobile hosts can communicate can communicate between each other between each other on much greater distances on much greater distances than covered by their ranges.than covered by their ranges.
– That is practicable That is practicable thanks to presence thanks to presence of other mobile hosts of other mobile hosts that can be reached by the source host, that can be reached by the source host, and that are willing to retransmit its packets furtherand that are willing to retransmit its packets further on on
– Thus, propagating from one MH to another, Thus, propagating from one MH to another, packets are conveyed to the destinationpackets are conveyed to the destination
That is how multihop wireless communication That is how multihop wireless communication through a temporally formed ad-hoc networkthrough a temporally formed ad-hoc network is realized. is realized.
Major bottleneck: Routing algorithmsMajor bottleneck: Routing algorithms
How to find the right way?
Routing in Ad-Hoc NetworksRouting in Ad-Hoc Networks
Page Numb
er: 5/65
Routing in Ad-Hoc NetworksRouting in Ad-Hoc Networks
Efficient routing of packetsEfficient routing of packets In conventional networks, In conventional networks,
the most widely used routing algorithms are such as the most widely used routing algorithms are such as distant vectordistant vector or or link statelink state
Periodical broadcast, Periodical broadcast, with the purpose of keeping routing tables up-to-datewith the purpose of keeping routing tables up-to-date
In some cases In some cases those algorithms were adapted to be used in ad-hoc networksthose algorithms were adapted to be used in ad-hoc networks
We will just mention two representatives:We will just mention two representatives:– Destination-Sequenced Distance-VectorDestination-Sequenced Distance-Vector (DSDV) (DSDV)– Wireless Routing ProtocolWireless Routing Protocol (WRP) (WRP)
Benefit: RBenefit: Route to every host in the network is always known. oute to every host in the network is always known. But…But…
Page Numb
er: 6/65
Routing in Ad-Hoc NetworksRouting in Ad-Hoc Networks
Drawbacks of adapted conventional routing algorithmsDrawbacks of adapted conventional routing algorithmsseem to be of much more significance than the benefitsseem to be of much more significance than the benefits::– Large bandwidth overheadLarge bandwidth overhead– Batteries quickly become exhaustedBatteries quickly become exhausted– Significantly reduced scalabilitySignificantly reduced scalability– Unneeded accumulation of redundant routesUnneeded accumulation of redundant routes– Often not able to quickly enough respond to dynamics of changes Often not able to quickly enough respond to dynamics of changes
in systems in which the hosts can move in systems in which the hosts can move
Page Numb
er: 7/65
Routing in Ad-Hoc NetworksRouting in Ad-Hoc Networks
On-demand routing protocolsOn-demand routing protocols
Because of Because of specified constraints of said solutionsspecified constraints of said solutions,,we are going to pay more attention on another approachwe are going to pay more attention on another approach,,which is which is fundamental for the so-called fundamental for the so-called on demandon demand routing protocolsrouting protocols..
We will shortly describe three of those protocols, We will shortly describe three of those protocols, which attack the problem from different standpoints,which attack the problem from different standpoints,introducing different assumptions introducing different assumptions and diversely prioritising problems that are to be solved:and diversely prioritising problems that are to be solved:– Dynamic Source Routing (DSR)Dynamic Source Routing (DSR)– Ad-Hoc On-Demand Distance Vector Routing (AODV)Ad-Hoc On-Demand Distance Vector Routing (AODV)– Temporally Oriented Routing Algorithm (TORA) Temporally Oriented Routing Algorithm (TORA)
Page Numb
er: 8/65
Routing Protocols - DSRRouting Protocols - DSR
1. Dynamic Source Routing (DSR)1. Dynamic Source Routing (DSR)
Based on the concept of source routingBased on the concept of source routing::– Sender provides the sequence of nodes Sender provides the sequence of nodes
through which the packets will be sentthrough which the packets will be sent– Sequences are held in Sequences are held in route cacheroute cache
that every host must maintain for itselfthat every host must maintain for itself Route is determined dynamically, when it is neededRoute is determined dynamically, when it is needed::
– There are no periodical advertisements of routersThere are no periodical advertisements of routers– Instead, every host initiates Instead, every host initiates route discoveryroute discovery
when it needs to send a packet to another host when it needs to send a packet to another host for which initiator does not have the associated route in its cachefor which initiator does not have the associated route in its cache
Page Numb
er: 9/65
Routing Protocols - DSRRouting Protocols - DSR
Route Discovery – route requestRoute Discovery – route request
Initiated by sending a Initiated by sending a route requestroute request packet: packet:– Propagates through the network Propagates through the network
until it reaches the destinationuntil it reaches the destination host (if the route exists);host (if the route exists);– On its way, it collects addresses of all visited hosts, On its way, it collects addresses of all visited hosts,
and stores them into its and stores them into its route recordroute record;;
11
22
33
44
55
66
src
dst
1
1
1,3
1,2
1,3,4
1,3,4
1,3,4,5
Page Number: 10
/65
Routing Protocols - DSRRouting Protocols - DSR
Route Discovery – route replyRoute Discovery – route reply
The first route request packet that arrives to destination is accepted, The first route request packet that arrives to destination is accepted, its routeits route record is copied and returned to the initiator record is copied and returned to the initiator using the using the route replyroute reply packet. packet.
Destination host returns the route reply Destination host returns the route reply to the initiator of route discovery, using the route from its own cache.to the initiator of route discovery, using the route from its own cache.
11
22
33
44
55
66
(1,3,4,6)
(1,3,4,6)
(1,3,4,6)
Page Number: 11
/65
Routing Protocols - DSRRouting Protocols - DSR
Route Discovery – route reply (2)Route Discovery – route reply (2)
If destination host does not have If destination host does not have a route to the source host in its cache, a route to the source host in its cache, there are two options:there are two options:
1.1. Route reply is returned using inverse route Route reply is returned using inverse route that was found by the routethat was found by the route request packetrequest packet;;
2.2. DestinationDestination host initiates routehost initiates route discovery discovery to find a route to the original initiator.to find a route to the original initiator.
First option requires symmetric links: First option requires symmetric links: – Transfer quality must be the same Transfer quality must be the same
in both directions;in both directions;– But that is often not the fact But that is often not the fact
in mobile communications.in mobile communications.
Page Number: 12
/65
Routing Protocols - DSRRouting Protocols - DSR
Route Discovery – route reply (3)Route Discovery – route reply (3)
Second opportunity Second opportunity (inverse route discovery, (inverse route discovery, from destination to source) from destination to source) is more significant:is more significant:– Providing support for non-symmetric links Providing support for non-symmetric links
(very important merit of this algorithm)(very important merit of this algorithm)..– IInn that case, the original route reply that case, the original route reply
must be sent together with new route request, must be sent together with new route request, i.e. attached to iti.e. attached to it (t (that is called hat is called piggybackingpiggybacking))
Page Number: 13
/65
Routing Protocols - DSRRouting Protocols - DSR
Route MaintenanceRoute Maintenance
Implemented by acknowledgements Implemented by acknowledgements and and route errorroute error packets. packets.
Acknowledgements may be:Acknowledgements may be:– hop-by-hophop-by-hop – links must be symmetric – links must be symmetric– end-by-endend-by-end – important when links are not symmetric – important when links are not symmetric
Page Number: 14
/65
Routing Protocols - DSRRouting Protocols - DSR
Route Maintenance (2)Route Maintenance (2)
When using hop-by-hop When using hop-by-hop acknowledgement:acknowledgement:– Host which did not Host which did not
get acknowledgement get acknowledgement for its retransmissionfor its retransmissionsends route error packet sends route error packet with information about hop that broke down;with information about hop that broke down;
– Upon that error packet, source host truncates Upon that error packet, source host truncates routing treerouting tree being held in its cache, at the point of that hopbeing held in its cache, at the point of that hop::
When using end-by-end acknowledgement:When using end-by-end acknowledgement:– Information about the point of breakage does not exist;Information about the point of breakage does not exist;– SourceSource host may only assume that the last hop is broken.host may only assume that the last hop is broken.
ack ackerrerr
?
Page Number: 15
/65
Routing Protocols - DSRRouting Protocols - DSR
SummarySummary
Dynamic Source Routing protocol Dynamic Source Routing protocol is suitable for appliance in ad-hoc networks: is suitable for appliance in ad-hoc networks: – with moderate numbers of mobile hosts;with moderate numbers of mobile hosts;– which move with moderate velocitieswhich move with moderate velocities..
Page Number: 16
/65
Routing Protocols - AODVRouting Protocols - AODV
2. 2. Ad-Hoc On-Demand Ad-Hoc On-Demand Distance Vector RoutingDistance Vector Routing (AODV) (AODV)
New route is discovered in a manner New route is discovered in a manner that looks similar to route discovery by DSR:that looks similar to route discovery by DSR:– Source hostSource host ( (srcsrc) broadcasts ) broadcasts route requestroute request (RREQ) to all of its neighbours (RREQ) to all of its neighbours
when needs to discover route to some when needs to discover route to some destination hostdestination host ( (dstdst); ); – Then, it waits for Then, it waits for route replyroute reply (RREP). (RREP).
But similarity is discontinued at this point.But similarity is discontinued at this point.
src?
Page Number: 17
/65
Routing Protocols - AODV Routing Protocols - AODV
Route RequestRoute Request
Sequence numberSequence number– Number that every host generates for itself.Number that every host generates for itself.– It is incremented every time when something It is incremented every time when something
is changed in adjacency (e.g., when some link breaks)is changed in adjacency (e.g., when some link breaks)..– For every route, For every route, destination sequence numberdestination sequence number (DSN) (DSN)
is stored in the is stored in the routing tablerouting table
– Last DSN that Last DSN that srcsrc earlier knew for any route to earlier knew for any route to dstdst, is sent in RREQ, , is sent in RREQ, together with current sequence number of together with current sequence number of srcsrc and other information needed:and other information needed:
RREQ (src, RREQ (src, dst, srcSN, dstDSN, … ) dst, srcSN, dstDSN, … )
Page Number: 18
/65
Routing Protocols - AODVRouting Protocols - AODV
RREQ does not contain the route record:RREQ does not contain the route record:– Does not collect information Does not collect information
about hosts through which it propagates; about hosts through which it propagates; – Remembers only the number of hops.Remembers only the number of hops.
Instead, the host through which RREQ propagates Instead, the host through which RREQ propagates adds inverse route (towards adds inverse route (towards srcsrc) to its routing table:) to its routing table:– Stores, together with other relevant information, Stores, together with other relevant information,
the address of the neighbour (the address of the neighbour (nn1) that sent RREQ to it1) that sent RREQ to it;;– If that host later receives relevant RREP, it will automatically know If that host later receives relevant RREP, it will automatically know
that reply should be transferred to the neighbour (that reply should be transferred to the neighbour (nn1)1);;– In that case, it also records the address of the neighbour (In that case, it also records the address of the neighbour (nn2) 2)
that sent RREP, thus establishing route towards that sent RREP, thus establishing route towards dstdst..
RREQRREP
route to src route to dst
n2n1
Page Number: 19
/65
Routing Protocols - AODVRouting Protocols - AODV
Instead of recording the whole route, as with DSR applied, Instead of recording the whole route, as with DSR applied, host here keeps only host here keeps only next hop next hop (among other relevant information (among other relevant information about some destination), i.e. address of its neighbour about some destination), i.e. address of its neighbour to which it transfers packets addressed to the destination:to which it transfers packets addressed to the destination:
11
22
33
44
55
66
11
22
33
44
55
66
6: 3,4,6
6: 4,6
6: 6
6: 3
6: 4
6: 6
DSN
AODV
Page Number: 20
/65
Routing Protocols - AODVRouting Protocols - AODV
Route ReplyRoute Reply
When RREQ reaches a host that has a route to When RREQ reaches a host that has a route to dstdst, , comparison of DSNs from the packet and from the routing table comparison of DSNs from the packet and from the routing table is made:is made:
– If DSN from RREQ is greater If DSN from RREQ is greater the host’s route to the host’s route to dstdst is not recent enough is not recent enough the host rebroadcasts the request; the host rebroadcasts the request;
– Otherwise, the host returns RREP to Otherwise, the host returns RREP to srcsrc, , with the calculated information about the discovered route with the calculated information about the discovered route (total (total hop counthop count, , lifetimelifetime that remains…), that remains…), among which more recent DSN, among which more recent DSN, copied from the routing table of the host.copied from the routing table of the host.
DSN(dst)=8
DSN(dst)=12
DSN=10 DSN=10
DSN=10DSN=12
Page Number: 21
/65
Routing Protocols - AODVRouting Protocols - AODV
RREQ may reach RREQ may reach dstdst itself, and then itself, and then dstdst returns RREP to returns RREP to srcsrc.. Anyway, RREP is returned using inverse route Anyway, RREP is returned using inverse route
formed by intermediate hosts during the propagation of RREQformed by intermediate hosts during the propagation of RREQ..
src
dst
Page Number: 22
/65
Routing Protocols - AODVRouting Protocols - AODV
Route MaintenanceRoute Maintenance
For every route For every route that a host is acquainted with, that a host is acquainted with, it maintains the list of neighbours it maintains the list of neighbours that use that route, that use that route, so that it is able to notice them so that it is able to notice them about eventual link breakage about eventual link breakage on the route. on the route.
Link breakage is detected Link breakage is detected by the absence of by the absence of hellohello messagesmessages, , which must be emitted by every host which must be emitted by every host after the specified time interval expires.after the specified time interval expires.
Page Number: 23
/65
Routing Protocols - AODVRouting Protocols - AODV
Summary – Advantages of AODV over DSRSummary – Advantages of AODV over DSR
Significantly smaller Significantly smaller network bandwidth overhead:network bandwidth overhead:– Both control and message packets are smaller; Both control and message packets are smaller; – The reason is the requirement of only two addresses when routing The reason is the requirement of only two addresses when routing
((destinationdestination and and next hopnext hop), instead of the whole route ), instead of the whole route as with sequenced routing; as with sequenced routing;
– This is good for scalability, This is good for scalability, because the size of a packet because the size of a packet does not depend on the network diameter.does not depend on the network diameter.
Provides support for multicastingProvides support for multicasting..
Page Number: 24
/65
Routing Protocols - AODVRouting Protocols - AODV
Summary – AODV drawbacksSummary – AODV drawbacks
Works only with symmetric linksWorks only with symmetric links.. Hosts must periodically advertise hello messagesHosts must periodically advertise hello messages::
– Increased bandwidth overheadIncreased bandwidth overhead;;– Reduced possibility of energy conservation Reduced possibility of energy conservation
by remaining in the sleep modeby remaining in the sleep mode.. Does not support Does not support multi path multi path routingrouting
(offers only one route per destination):(offers only one route per destination):– Every time when some link Every time when some link
on the route breaks, on the route breaks, new route must be discoverednew route must be discovered;;
– Increased Increased probability of congestionprobability of congestion..
Page Number: 25
/65
3. 3. Temporally OrientedTemporally Oriented Routing Algorithm (TORA)Routing Algorithm (TORA)
Offers an interesting approach to problem solution.Offers an interesting approach to problem solution. Conceived as Conceived as link-reversallink-reversal algorithm algorithm.. The idea is to define topology of a network The idea is to define topology of a network
using a directed acyclic graph (DAG):using a directed acyclic graph (DAG):– Hosts represented as nodes Hosts represented as nodes
and with directed linksand with directed links;;– Direction of link is realized Direction of link is realized
by assigning height to every node, by assigning height to every node, so that the link is directed so that the link is directed from the node with greater height from the node with greater height to the node with lower heightto the node with lower height..
Routing Protocols - TORARouting Protocols - TORA
Page Number: 26
/65
Routing Protocols - TORARouting Protocols - TORA
General ideaGeneral idea
The destination node should have the minimal height in the graph. The destination node should have the minimal height in the graph. Other nodes get greater and greater height Other nodes get greater and greater height
as the distance from the destination grows. as the distance from the destination grows. Packets may be sent only from “higher” to “lower” nodes, Packets may be sent only from “higher” to “lower” nodes,
i.e., only via downstream linksi.e., only via downstream links..
Page Number: 27
/65
Routing Protocols - TORARouting Protocols - TORA
DAG FormingDAG Forming
SStarts when node that does not have downstream links tarts when node that does not have downstream links wants to send a packet to a destination nodewants to send a packet to a destination node..
InitialInitialllyy, , all nodes in the graph have undetermined height (NULL), all nodes in the graph have undetermined height (NULL), except the destination node that has the height of ZERO except the destination node that has the height of ZERO ((which is considered less even from NULLwhich is considered less even from NULL).).
SourceSource node then broadcasts QRY packet to its neighboursnode then broadcasts QRY packet to its neighbours.. QRY QRY packet propagates through the network, packet propagates through the network,
marking every node over which it passes marking every node over which it passes as “interested for route discovery” as “interested for route discovery” by setting its by setting its route request flagroute request flag. .
Page Number: 28
/65
Routing Protocols - TORARouting Protocols - TORA
When QRY packet arrives to a node When QRY packet arrives to a node that has at least one downstream link, that has at least one downstream link, the node then emits the UPD packet. the node then emits the UPD packet.
UPD propagates back through the network, UPD propagates back through the network, setting the height to all nodes with the routesetting the height to all nodes with the route requestrequest flag set,flag set,at the same time resetting those flags.at the same time resetting those flags.
Every further node gets greater height Every further node gets greater height then the precedent one on the path of the UPD propagation.then the precedent one on the path of the UPD propagation.
dstsrc
Page Number: 29
/65
Routing Protocols - TORARouting Protocols - TORA
Many downstream links can lead to the same destination. Many downstream links can lead to the same destination. Algorithm enables multiple path routing.Algorithm enables multiple path routing.
Page Number: 30
/65
Routing Protocols - TORARouting Protocols - TORA
In case of link break:In case of link break:– If the node still has downstream links left, no action is performedIf the node still has downstream links left, no action is performed– Otherwise, the node broadcasts a UPD packet, thus recovering DAG Otherwise, the node broadcasts a UPD packet, thus recovering DAG
Recovering is a one-pass process, Recovering is a one-pass process, except in the case of network partitioningexcept in the case of network partitioning
Page Number: 31
/65
Routing Protocols - TORARouting Protocols - TORA
Advantages of TORAAdvantages of TORA::
Fast route discoveryFast route discovery Multiple path routingMultiple path routing Recovering is localisedRecovering is localised Multicast supportMulticast support Lightweight Adaptive Multicast (LAM) algorithmLightweight Adaptive Multicast (LAM) algorithm
Page Number: 32
/65
Routing Protocols - TORARouting Protocols - TORA
Downsides of TORADownsides of TORA::
Requires external timing mechanism (GPS…)Requires external timing mechanism (GPS…) DAG becomes less optimal as the time passesDAG becomes less optimal as the time passes
– Can be solved using refresh packetsCan be solved using refresh packets
Page Number: 33
/65
Routing Protocols - TORARouting Protocols - TORA
TORA is designed forTORA is designed for:: Large networksLarge networks Many nodes with dense distributionMany nodes with dense distribution
BluetoothBluetooth
Following the steps of King Harald...
Page Number: 35
/65
BluetoothBluetooth
Ericsson Mobile Communications ABEricsson Mobile Communications AB IBM Corp.IBM Corp. Intel Corp.Intel Corp. Nokia Mobile PhonesNokia Mobile Phones Toshiba Corp.Toshiba Corp.
Special Interest Group (SIG):
Page Number: 36
/65
BluetoothBluetooth
Open specification for short-range wireless connectivityOpen specification for short-range wireless connectivity Effortless, instant connectionsEffortless, instant connections Wide range of communication devicesWide range of communication devices Based on a radio linkBased on a radio link Facilitates fast and secure transmission of both voice and dataFacilitates fast and secure transmission of both voice and data Operates in a globally available frequency bandOperates in a globally available frequency band
Bluetooth wireless technology:
Page Number: 37
/65
BluetoothBluetooth
Bluetooth module:
• ports (USB, UART, PCM)
• baseband
• voltage regulator
• crystal
• radio
• antenna interface
• flash
Design of ad-hoc multihop sensor net Design of ad-hoc multihop sensor net
with Bluetooth: Lessons learnedwith Bluetooth: Lessons learned
How to make your electronic devices cooperate with each other?
Page Number: 39
/65
System OverviewSystem Overview
An open data acquisition system, based on wireless An open data acquisition system, based on wireless
ad-hoc multihop sensor network:ad-hoc multihop sensor network:
Routing protocolRouting protocol Interface and routing module (IFRM)Interface and routing module (IFRM) Personal Digital Assistant (PDA)Personal Digital Assistant (PDA) Digital Signal Processing System (DSPS)Digital Signal Processing System (DSPS) Software for data acquisition (Shell)Software for data acquisition (Shell) Internet accessible databaseInternet accessible database
Page Number: 40
/65
System OverviewSystem Overview
W eb Serverdatabase
AD-HOC network
W ebclient
PDADSPS
sim ulatedsensors IFRM
Bluetooth
IFRM
Bluetooth
Bluetooth
Page Number: 41
/65
Implementation - routing protocolImplementation - routing protocol
Designed with the following guidelines:Designed with the following guidelines: speedspeed reliabilityreliability simplicitysimplicity
Existing solutions considered:Existing solutions considered: DSRDSR AODVAODV TORATORA
Page Number: 42
/65
Implementation - routing protocolImplementation - routing protocol
Route Request:Route Request:
RREQ:
Hop Count BCID Dest Address DSN Source Address SSN
Hop Count – number of hops to the ending nodeBCID – unique RREQ identifierDestination Address – address to which the route is requestedDSN – the last known sequence numberSource Address – address of the node that issued RREQSSN – current route sequence number
Page Number: 43
/65
Implementation - routing protocolImplementation - routing protocol
Route Reply:Route Reply:
RREP:
Hop CountDestination
AddressDSN
SourceAddress
Lifetime
Hop Count – numer of hops between the source and destinationDestination Address – address of node for which a route is foundDSN – route sequence numberSource Address – address of the node that sent RREQLifetime – time in which the route is considered valid
Page Number: 44
/65
Implementation - routing protocolImplementation - routing protocol
Route Error:Route Error:
RERR:
DestCount Unreachable Dest Address
Unreachable DSN
DestCount – number of unreachable nodes Unreachable Dest Address – address of the unreachable node Unreachable DSN – last knows DSN, incremented by 1
Page Number: 45
/65
Implementation - routing protocolImplementation - routing protocol
Functioning of the protocol:Functioning of the protocol:
MasterMaster GatewayGateway SlaveSlave
Page Number: 46
/65
Implementation - routing protocolImplementation - routing protocol
Possible network topologyPossible network topology
10
10
146
9
12
M4
M4
M3
M1 M2M5
M011
11
16
4 515
0
8
133
7
2
master
gateway
pla in node
Page Number: 47
/65
Implementation - routing protocolImplementation - routing protocol
Routing table entryRouting table entry
DestAddress
DSNHop
CountLast
Hop CountNextHop
Precursors Lifetime
Dest Address – address of the destination nodeDSN – destination sequence numberHop Count – number of hops to destinationLast Hop Count – hop count before route invalidationPrecursors – list of forwarding nodesLifetime – time for which route is valid
Page Number: 48
/65
Implementation - DSPSImplementation - DSPS
The DSPS architecture:The DSPS architecture:
TITMS320LF2407
ResistorCapacitorDiodeM atrix
CO N8:AnalogInputs
CO N6:EventM anagerA
CO N8:Address, Data &Control DSP Bus Signaling
LED
MAX3225 PCA82C250
CON2:RS232
CO N3:CAN BUS
CO N 9:SynchronousSerial Link
LCD (optional)
PW M
Capture
Tim er
SPIInterface
SCIInterface
CAN BUSInterface
Page Number: 49
/65
Implementation - ShellImplementation - Shell
Multipurpose software platform:Multipurpose software platform:
Data acquisitionData acquisition Decision makingDecision making Signal processingSignal processing AlarmingAlarming Tracking the current stateTracking the current state
of the systemof the system Database administrationDatabase administration
Page Number: 50
/65
Implementation - ShellImplementation - Shell
Communication with sensors:Communication with sensors:
TCP/IP portsTCP/IP ports Two-way socket communicationTwo-way socket communication Conformance to IEEE 999-1992. SCADA specificationConformance to IEEE 999-1992. SCADA specification
Page Number: 51
/65
Implementation - ShellImplementation - Shell
System configuration:System configuration:
Type of the sensorType of the sensor Name of the sensorName of the sensor Factory address of Factory address of
corresponding Bluetooth modulecorresponding Bluetooth module Range of allowed valuesRange of allowed values
Page Number: 52
/65
Implementation - ShellImplementation - Shell
Readings displayReadings display
Simple viewSimple view Graph viewGraph view Real-time Real-time
monitoringmonitoring HistoryHistory
Page Number: 53
/65
Implementation - ShellImplementation - Shell
Spectrum analysisSpectrum analysis
Page Number: 54
/65
Implementation - ShellImplementation - Shell
DatabaseDatabase
Realized with MySQL ServerRealized with MySQL Server ODBCODBC Flexible, DBMS independentFlexible, DBMS independent
Page Number: 55
/65
Implementation - Internet connectivityImplementation - Internet connectivity
Standard three-tier architecture is used:Standard three-tier architecture is used:
web clientserver
PHP script
http request
DBM S
sql query
recordset
http reply
Page Number: 56
/65
AD-HOC for E-TOURISMAD-HOC for E-TOURISM
Sponsors:Sponsors:
CNUCE + University of Pisa + University of Santa AnnaCNUCE + University of Pisa + University of Santa Anna
Details:Details:
IEEE Computer, February 2004IEEE Computer, February 2004
Page Number: 57
/65
GSM
DMAd-Hoc
Internet
Architecture of the CNUCE ProjectArchitecture of the CNUCE Project
Procedure: Hansa ++Procedure: Hansa ++Implementation: 7Implementation: 7Problem: What routing Problem: What routing
algorithmalgorithm??Future: StorageTekFuture: StorageTek
USERS
Page Number: 58
/65
Essence: Technology + ProcedureEssence: Technology + Procedure
Sophisticated mobile phonesSophisticated mobile phones Mobile agents for behavior monitoringMobile agents for behavior monitoring Advanced MMI + Specialized peripheralsAdvanced MMI + Specialized peripherals Data Mining connected to the InternetData Mining connected to the Internet Advanced securityAdvanced security Specialized software engineeringSpecialized software engineering Techno-economic issuesTechno-economic issues
Page Number: 59
/65
Extended ApplicationsExtended Applications
IntelligenceIntelligenceChildcareChildcareEmergencyEmergencyProduct lifetime trackingProduct lifetime trackingMedical careMedical careMarketing researchMarketing researchEducation Education
Work in progress: Implementation spec
Page Number: 60
/65
A simple applicationA simple application
A part of “tourist city” projectA part of “tourist city” project User interface in a Virtual Presence systemUser interface in a Virtual Presence system
public class DemoMidlet extends MIDlet { private Meni meni; private Opis opis; private Slika slika; private String xmlString = ""; private String currentNodeId = "NODE"; private String webService = "http://193.203.26.94/JavaMobile/DemoJavaMobile.asmx/VratiStrukturuAplikacije?s="; public DemoMidlet() { xmlString = loadXml(webService);} public void startApp() { Displayable current = Display.getDisplay(this).getCurrent(); String logoString = "BEOGRAD - TURIST"; if (current==null) { Image logoPicture=null; try { logoPicture = Image.createImage("/demo/res/SpomenikPobednik.png"); } catch (IOException e) {} Alert alertScreen = new Alert(null, logoString, logoPicture, AlertType.INFO); alertScreen.setTimeout(5000); setScreen(currentNodeId); Display.getDisplay(this).setCurrent(alertScreen,meni); } else { Display.getDisplay(this).setCurrent(current);} } ……………….
Page Number: 61
/65
A simple application (code)A simple application (code)
public class Slika extends Canvas implements CommandListener { private DemoMidlet parent; private String node_id, picture; private Command backCommand; public Slika(DemoMidlet parent, String node_id, String picture) { this.parent = parent; this.node_id = node_id; this.picture = picture; backCommand = new Command("Nazad", Command.BACK, 2); addCommand(backCommand); setCommandListener(this); repaint(); } public void commandAction(Command c, Displayable d) { if (c==backCommand) parent.slikaBack(node_id); } public void paint(Graphics g) { g.setColor(0x00FFFFFF); g.fillRect(0,0,getWidth(),getHeight()); Image image; try { image = Image.createImage(picture); g.drawImage(image,image.getWidth()/2,image.getHeight()/2,Graphics.VCENTER|Graphics.HCENTER); } catch (Exception e) {} } }
Page Number: 62
/65
A simple application (code)A simple application (code)
public class Meni extends List implements CommandListener { private DemoMidlet parent; private Command refreshCommand, exitCommand, backCommand; private String node_id; public Meni(DemoMidlet parent, String label, String node_id, String[] meniList) { super(label, List.IMPLICIT); this.parent = parent; this.node_id = node_id; for (int i=0; i<meniList.length; i++) append(meniList[i], loadImage("/demo/res/NODE.png")); if (node_id.equals("NODE")) { refreshCommand = new Command("Osvezi", Command.BACK, 2); addCommand(refreshCommand); } else refreshCommand = null; exitCommand = new Command("Izlaz", Command.EXIT, 1); addCommand(exitCommand); if (!node_id.equals("NODE")) { backCommand = new Command("Nazad", Command.BACK, 2); addCommand(backCommand); } else backCommand = null; setCommandListener(this); }
……………….}
Page Number: 63
/65
A simple application (screens)A simple application (screens)
References:References:
http://www.fipa.orghttp://www.wapforum.org http://www.cisco.com http://java.sun.comhttp://wireless.java.sun.com/midp ………
• Vladan Devedžić, “Inteligentni informacioni sistemi”, digit/FON Beograd, Beograd, 2000. • J.M.Bradshaw, “Software Agents”, MIT Press, Cambringe, MA, 1997. • P.Adrians, D Zanintge, “Data Mining”, Addison-Wesley, Reading, MA, 1996 • “FIPA Agent Abstract Architecture Specification”, FIPA, Geneva, Switzerland, 2002.• “FIPA ACL Message Structure Specification”, FIPA, Geneva, Switzerland, 2002.• “FIPA Agent Management Specification”, FIPA, Geneva, Switzerland, 2002.• “Wireless Application Protocol, Architecture Specification”, WAP Forum, 2001.• “MIDP (JSR-37) JCP Specification, Java 2 Platform ME, 1.0a”, Sun Microsystems, Palo Alto, CA, USA, 2000.