Jini Specification
Service Advertisement and Discovery: Enabling Universal Device Cooperation
IEEE Internet Computing
A formal approach to software architecture
A formal approach to software architecture
Understanding self-healing in service-discovery systems
WOSS '02 Proceedings of the first workshop on Self-healing systems
Understanding failure response in service discovery systems
Journal of Systems and Software
Outdoor distributed computing with split smart messages
Proceedings of the 12th Monterey conference on Reliable systems on unreliable networked platforms
On consistency maintenance in service discovery
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Autonomous and dependable recovery scheme in UPnP network settings
IDEAL'05 Proceedings of the 6th international conference on Intelligent Data Engineering and Automated Learning
Structure-Based resilience metrics for service-oriented networks
EDCC'05 Proceedings of the 5th European conference on Dependable Computing
Hi-index | 0.00 |
Current trends suggest future software systems will comprise collections of components that combine and recombine dynamically in reaction to changing conditions. Service-discovery protocols, which enable software components to locate available software services and to adapt to changing system topology, provide one foundation for such dynamic behavior. Emerging discovery protocols specify alternative architectures and behaviors, which motivate a rigorous investigation of the properties underlying their designs. Here, we assess the ability of selected designs for service-discovery protocols to maintain consistency in a distributed system during catastrophic communication failure. We use an architecture description language, called Rapide, to model two different architectures (two-party and three-party) and two different consistency-maintenance mechanisms (polling and notification). We use our models to investigate performance differences among combinations of architecture and consistency-maintenance mechanism as interface-failure rate increases. We measure system performance along three dimensions: (1) update responsiveness (How much latency is required to propagate changes?), (2) update effectiveness (What is the probability that a node receives a change?), and (3) update efficiency (How many messages must be sent to propagate a change throughout the topology?). We use Rapide to understand how failure-recovery strategies contribute to differences in performance. We also recommend improvements to architecture description languages.