Presentation is loading. Please wait.

Presentation is loading. Please wait.

SensIT PI Meeting, April 17-20, 2001 1 Distributed Services for Self-Organizing Sensor Networks Alvin S. Lim Computer Science and Software Engineering.

Similar presentations


Presentation on theme: "SensIT PI Meeting, April 17-20, 2001 1 Distributed Services for Self-Organizing Sensor Networks Alvin S. Lim Computer Science and Software Engineering."— Presentation transcript:

1 SensIT PI Meeting, April 17-20, 2001 1 Distributed Services for Self-Organizing Sensor Networks Alvin S. Lim Computer Science and Software Engineering Auburn University lim@eng.auburn.edu April 20, 2001 DARPA/ITO Sensor Information Technology PI Meeting St. Petersburg, FL

2 SensIT PI Meeting, April 17-20, 2001 2 Main Objectives Provide distributed services that enable distributed sensor software components to self-organize, adapt to changing requirements, react to network changes, relocate and survive sensor failures in a dynamic ad- hoc network Provide mechanisms for remote execution of distributed application services Implement distributed services on top of a dynamic network routing protocol (directed diffusion)

3 SensIT PI Meeting, April 17-20, 2001 3 Challenges in Self-Organizing Distributed Sensor Systems Allow sensor nodes with mixed capability to be deployed incrementally and dynamically reconfigured –No or little pre-planning –Node must coordinate impromptu with each other to detect, track and report activities –Extensible to new types of sensor nodes and services Distributed sensor system must react rapidly to changes in sensor composition, task requirements, device failures and mobility Scalable sensor network architecture — sheer large number of sensor devices deployed over a wide area Highly mobile situations — support for mobility, physical address rebinding and reachability Deployed in harsh environment and dynamically changing conditions — requires dynamic reconfiguration, adaptability to changing task requirements, survivable in spite of failures and real-time changes Limitations of wireless communication: range, bandwidth, power, memory, and computing capability

4 SensIT PI Meeting, April 17-20, 2001 4 Distributed Services for Self-Organizing Sensor Networks Dynamic Sensor Network Configurable Distributed Services Self-Organizing Sensor Application Systems Distributed Lookup Service Distributed Composition Service Distributed Adaptation Service Collaborative Signal Processing Sensor Data Repository Manager Distributed Sensor Query Processing Database Server Register/ Request service Accept/ Reject Request Add/ Remove From Cluster Status Changes in sensor dynamics Execute Adaptation Publish/ Subscribe Publish/ Subscribe Publish/ Subscribe User GUI

5 SensIT PI Meeting, April 17-20, 2001 5 Collaborations in Distributed Services –Auburn distributed services may make use of PSU/ARL mobile code to implement remote execution of distributed service –PSU/ARL mobile code may use Auburn distributed lookup service to distributed mobile code repository –UTK mobile agents may use PSU/ARL mobile code package and Auburn lookup service to download agent code and to migrate agents SensIT Distributed Service Architecture Auburn Distributed Services UTK Mobile Agents PSU/ARL Mobile code daemon ISI-W diffusion routing Sensoria RF Modem

6 SensIT PI Meeting, April 17-20, 2001 6 Enables new types of sensor nodes to be deployed that can discover capabilities of other sensor nodes and begin cooperative activities in a community of sensors Any node can spontaneously become a lookup server in an area Basic Concepts of Lookup Service Lookup Server Using information on service provider, e.g. location, interest broadcast can be reduced with geographic diffusion routing Service Provider Service Provider Service Client –Nodes in an area may elect one –In larger area or more dense networks, several lookup servers may be established Other nodes may discover the lookup server in the area and cache that info Service providers in the area register with the lookup server The lookup server caches the service providers information –Finding a service provider in an area requires 1 message to the lookup server instead of broadcast to all nodes

7 SensIT PI Meeting, April 17-20, 2001 7 Register Service API –input_list: attribute-value list where service provider may provide Location Parameter list Interface definition Mobile code –lifetime: service remains in the lookup server only for the duration of the lifetime Lookup Server Service Provider Service Provider Service Client –Allows a service provider to register with a lookup server –Each node is associated with only 1 lookup server at any time –If the current node does not know its lookup server, this function will initiate a lookup server discovery algorithm –service type: generic type of service, e.g. CSP –service name: specific name of service, e.g. CSP007 Status = register_service(service_type, service_name, input_list, lifetime)

8 SensIT PI Meeting, April 17-20, 2001 8 Status = register_service(service_type, service_name, input_list, lifetime) Register Service API Lookup Server Service Provider Service Provider Service Client –Allows a service provider to register with a lookup server –Each node is associated with only 1 lookup server at any time –If the current node does not know its lookup server, this function will initiate a lookup server discovery algorithm –service type: generic type of service, e.g. CSP –service name: specific name of service, e.g. CSP007 –input_list: attribute-value list where service provider may provide Location Parameter list Interface definition Mobile code –lifetime: service remains in the lookup server only for the duration of the lifetime

9 SensIT PI Meeting, April 17-20, 2001 9 Status = service_deregister(service_type, service_name) –Deregister specific service name of a service type –Alternatively, let the lifetime expire Service Deregister API

10 SensIT PI Meeting, April 17-20, 2001 10 Status = lookup_service(service_type, service_name, input_list, output_list, interface_type) Lookup Service API Lookup Server Service Provider Service Provider Service Client lookup_service() –Allows a service client to find service info of a provider –service type: generic type of service, e.g. CSP –service name: specific name of service, e.g. CSP007 –input_list: attribute-value list of the cluster name, predicate for matching service provider, etc. –interface type: either through known interface, interface definition, or mobile code –output_list: attribute-value list service name, location, interface definition, mobile codes

11 SensIT PI Meeting, April 17-20, 2001 11 Lookup Service API Lookup Server Service Provider Service Provider Service Client output_list Status = lookup_service(service_type, service_name, input_list, output_list, interface_type) –Allows a service client to find service info of a provider –service type: generic type of service, e.g. CSP –service name: specific name of service, e.g. CSP007 –input_list: attribute-value list of the cluster name, predicate for matching service provider, etc. –interface type: either through known interface, interface definition, or mobile code –output_list: attribute-value list service name, location, interface definition, mobile codes

12 SensIT PI Meeting, April 17-20, 2001 12 Status = service_exec(service_name, input_list, output_list, interface_type) Service Exec API –Allows service client to remotely execute services of the provider –Input_list: Attribute-value list containing the input parameters to the service call –output_list: attribute-value list of results of the service call –Interface_type: either through known interface, interface definition, or mobile code –At most once remote execution semantics Lookup Server Service Provider Service Provider Service Client service_exec()

13 SensIT PI Meeting, April 17-20, 2001 13 Status = service_exec(service_name, input_list, output_list, interface_type) Service Exec API –Allows service client to remotely execute services of the provider –Input_list: Attribute-value list containing the input parameters to the service call –output_list: attribute-value list of results of the service call –Interface_type: either through known interface, interface definition, or mobile code –At most once remote execution semantics Lookup Server Service Provider Service Provider Service Client output_list

14 SensIT PI Meeting, April 17-20, 2001 14 Status = service_call( service_type, service_name, input_list, output_list, interface_type) –A sequence of lookup_service() and service_exec() calls –Allows a service client that does not have info about the location of the service provider –But the client must know the interface or have the mobile code for interacting with the service provider –If service_name is NULL, any service provider of service_type will be called Service Call API

15 SensIT PI Meeting, April 17-20, 2001 15 Propagation of Service Info to Distributed Lookup Servers Sensor node Cluster head at level 1 Cluster head at level 2 Level 1 cluster Level 2 cluster Lookup Server X Lookup Server Y Lookup Server Z Service Provider S Propagate Service S Service Client C A lookup server with new service info may propagate it to other lookup server

16 SensIT PI Meeting, April 17-20, 2001 16 A lookup server with new service info may propagate it to other lookup server Lookup servers that need service info may request that from other lookup servers Propagation of Service Info to Distributed Lookup Servers Sensor node Cluster head at level 1 Cluster head at level 2 Level 1 cluster Level 2 cluster Lookup Server X Lookup Server Y Lookup Server Z Service Provider S Service Client C Find Service S

17 SensIT PI Meeting, April 17-20, 2001 17 A lookup server with new service info may propagate it to other lookup server Lookup servers that need service info may request that from other lookup servers Propagation of Service Info to Distributed Lookup Servers Sensor node Cluster head at level 1 Cluster head at level 2 Level 1 cluster Level 2 cluster Lookup Server X Lookup Server Y Lookup Server Z Service Provider S Service Client C Discover Service S Location of Service Service S

18 SensIT PI Meeting, April 17-20, 2001 18 Service provider S registered with Lookup Server X Mobility of Sensor Node Lookup Server X Lookup Server Y Lookup Server Z Service Provider S Service Client C

19 SensIT PI Meeting, April 17-20, 2001 19 Service provider S registered with Lookup Server Y Y notifies X of S new location Y propagates S info to Z Mobility of Sensor Node Lookup Server X Lookup Server Y Lookup Server Z Service Client C register_ service() Notify X of S new location Service Provider S relocates

20 SensIT PI Meeting, April 17-20, 2001 20 C calls service provider S in the new location Mobility of Sensor Node Lookup Server X Lookup Server Y Lookup Server Z Service Client C Service Provider S

21 SensIT PI Meeting, April 17-20, 2001 21 Database server locates and calls dispersed query proxies through service exec call Dynamic Distributed Query Processing with Distributed Services Lookup Server X Lookup Server Y Lookup Server Z CSP Servers Database Server Query proxies service_exec()

22 SensIT PI Meeting, April 17-20, 2001 22 Database server locates and calls dispersed query proxies through service exec call Query proxies locate and call relevant collaborative signal processing elements through service call (combined lookup service and service exec) CSP nodes may be incrementally deployed with different algorithms; register with lookup server when initiated Dynamic Distributed Query Processing with Distributed Services Lookup Server X Lookup Server Y Lookup Server Z CSP Servers Database Server Query proxies Results of service_exec()

23 SensIT PI Meeting, April 17-20, 2001 23 CSP servers locate repository/cache managers through the lookup service and retrieve data using repository manager interface Collaborative Signal Processing with Distributed Services Lookup Server X Lookup Server Y Lookup Server Z CSP Servers Repository manager

24 SensIT PI Meeting, April 17-20, 2001 24 CSP servers locate repository/cache managers through the lookup service and retrieve data using repository manager interface CSP servers may initiate mobile agents by calling mobile agents daemon to download mobile codes from the distributed repository through lookup service call Collaborative Signal Processing with Distributed Services Lookup Server X Lookup Server Y Lookup Server Z CSP Servers Mobile Agents

25 SensIT PI Meeting, April 17-20, 2001 25 CSP servers locate repository/cache managers through the lookup service and retrieve data using repository manager interface CSP servers may initiate mobile agents by calling mobile agents daemon to download mobile codes from the distributed repository through lookup service call For migration from node to node, agent codes and states are uploaded through the lookup service calls to the next node’s mobile agent demon CSP and tracker nodes provide services to query proxies for info retrieval Collaborative Signal Processing with Distributed Services Lookup Server X Lookup Server Y Lookup Server Z CSP Servers Mobile Agents

26 SensIT PI Meeting, April 17-20, 2001 26 CSP servers locate repository/cache managers through the lookup service and retrieve data using repository manager interface CSP servers may initiate mobile agents by calling mobile agents daemon to download mobile codes from the distributed repository through lookup service call For migration from node to node, agent codes and states are uploaded through the lookup service calls to the next node’s mobile agent demon CSP and tracker nodes provide services to query proxies for info retrieval Collaborative Signal Processing with Distributed Services Lookup Server X Lookup Server Y Lookup Server Z CSP Servers Mobile Agents

27 SensIT PI Meeting, April 17-20, 2001 27 Conclusions With distributed services, new sensor nodes with new services and applications may be deployed spontaneously into existing sensor networks –implements self-organizing and dynamically changing sensor networks Service lookup and remote exec may be simpler mechanisms for some distributed sensor operations Implement these distributed services on top of directed diffusion routing protocol Reconfigurable smart sensors can be made self-aware, self- reconfigurable and autonomous


Download ppt "SensIT PI Meeting, April 17-20, 2001 1 Distributed Services for Self-Organizing Sensor Networks Alvin S. Lim Computer Science and Software Engineering."

Similar presentations


Ads by Google