Physicalnet: Cross-network Applications for Multi-user Sensor and Actuator Networks Pascal A. Vicaire (pascal@cs.virginia.edu) John A. Stankovic (stankovic@cs.virginia.edu) University of Virginia Goals Programming sensor network applications from any PC connected to the Internet Global / cross-network applications => Access rights Multi-user => Conflict resolution Ease of programming => Discovery and manipulation of large sets of nodes => Heterogeneity => Mobility => Compatibility Physicalnet Global accessibilty Physicalnet is a Service Oriented Architecture Each node has a unique global identifier Nodes are not tied to a particular geographical location Users Negotiators Gateways Service Providers Physicalnet Access rights All Physicalnet services are composed of states and events For each service: For each state: Localization rights Reading rights Writing rights Priority For each event: Idem Temperature Sensor Access Right Table John Mike Peter Tom | | | | | Priority 1 2 3 4 | | | | | Location L L - | | | | | Sensor RW RW RW -- | | | | | Rate RW RRW -- Physicalnet Users Conflict resolution Service specific resolvers to manage conflicts between user requirements Examples: First come first serve OR, AND operators Highest priority Minimum Negotiator Requirement Table App. A1 A2 A3 Service temp1 temp1 temp1 State/Event samplingPeriod samplingPeriod samplingPeriod Resolver Service temp1 State/Event samplingPeriod Args 10s Access to actual state value within application Towards Service Providers (Sensors / Actuators) Args 10s 15s 20s Physicalnet Programming API Large sets Cross networks Dynamic sets heterogeneous sets Mobility Compatibility Preliminary Results: FireAlarm Application: Code Size: ~80 lines of code Installation time: ~15s for 36 nodes distributed across 2 remote networks Average responsiveness: ~3s Conclusion Our goal is to create a framework to facilitate the programming of cross-network applications of multi-user sensor and actuator networks. Our solution uses a service oriented architecture that supports node heterogeneity, node mobility, access rights, conflict resolution mechanisms. It provides a high level java API to specify programs using dynamic logical sets of nodes. Thank You! Questions? Pascal A. Vicaire (pascal@cs.virginia.edu) John A. Stankovic (stankovic@cs.virginia.edu) Why is it Difficult? Global accessibility => Access rights Resolution? Specification? Mechanisms? Multiple users => Conflict resolution Resolution? Specification? Mechanisms? Ease of programming => Discovery and manipulation of large sets of nodes => Sets that span multiple networks => Heterogeneous sets of nodes => Mobility => Compatibility with other service oriented architectures