Results 1 -
9 of
9
Self-management of large-scale distributed systems by combining peer-to-peer networks and components
, 2005
"... Abstract. This position paper envisions making large-scale distributed applications self managing by combining component models and structured overlay networks. A key obstacle to deploying large-scale applications running on Internet is the amount of management they require. Often these applications ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
Abstract. This position paper envisions making large-scale distributed applications self managing by combining component models and structured overlay networks. A key obstacle to deploying large-scale applications running on Internet is the amount of management they require. Often these applications demand specialized personnel for their maintenance. Making applications self-managing will help removing this obstacle. Basing the system on a structured overlay network will allow extending the abilities of existing component models to large-scale distributed systems. Structured overlay networks provide guarantees for efficient communication, efficient load-balancing, and self-manage in case of joins, leaves, and failures. Component models, on the other hand, support dynamic configuration, the ability of part of the system to reconfigure other parts at run-time. By combining overlay networks with component models we achieve both low-level as well as high-level self-management. We will target multi-tier applications, and specifically we will consider three-tier applications using a self-managing storage service. 1
Leveraging Modes and UML2 for Service Brokering Specifications
"... Abstract. A Service-Oriented Computing (SoC) architecture consists of a number of collaborating services to achieve one or more goals. Traditionally, the focus of developing services (as components) has been on the static binding of these services within a single context and constrained in an indivi ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
Abstract. A Service-Oriented Computing (SoC) architecture consists of a number of collaborating services to achieve one or more goals. Traditionally, the focus of developing services (as components) has been on the static binding of these services within a single context and constrained in an individual manner. As service architectures are designed to more dynamic, where service binding and context changes with environmental disturbance, the task of designing and analysing such architectures becomes more complex. UML2 introduces an extended notation to define component binding interfaces, enhanced activity diagrams and sequence diagrams. We propose the use of Modes to abstract a selected set of services, their coordination and reconfiguration, and use models constructed in UML2 to describe brokering requirements which can be synthesised for input to service brokers. The approach is implemented through the use of a Modes Browser, which allows service engineers to view specifications to a prototype dynamic service brokering agent. 1
Towards Self-Management in Service-oriented Computing with Modes
"... Abstract. A self-managed system is both self-assembling and selfhealing. Service-oriented Computing (SoC) architectures, such as a Web Services Architecture (WS-A) illustrate a highly distributed, potentially dynamic, domain for component configurations. We propose the use of component architecture ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Abstract. A self-managed system is both self-assembling and selfhealing. Service-oriented Computing (SoC) architectures, such as a Web Services Architecture (WS-A) illustrate a highly distributed, potentially dynamic, domain for component configurations. We propose the use of component architecture ”modes ” to facilitate the self-management of services within a SoC environment. A mode abstracts a set of services that are composed to complete a given task. Our approach, named ”SelfSoC” includes designing and implementing key parts of a self-managed system specifically aimed at supporting a dynamic services architecture. We extend Darwin component models, Alloy constraint models and distributed system management policies to specify the mode architectures. We also propose the generation of dynamic orchestrations for service compositions to coordinate different modes of an automotive services platform. 1
Overcoming Software Fragility with Interacting Feedback Loops
"... Programs are fragile for many reasons, including software errors, partial failures, and network problems. One way to make software more robust is to design it from the start as a set of interacting feedback loops. Studying and using feedback loops is an old idea that dates back at least to Norbert W ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Programs are fragile for many reasons, including software errors, partial failures, and network problems. One way to make software more robust is to design it from the start as a set of interacting feedback loops. Studying and using feedback loops is an old idea that dates back at least to Norbert Wiener’s work on Cybernetics. But almost all work in this area has focused on single feedback loops. We show that it is important to design software with multiple interacting feedback loops. We present examples taken from both biology and software to substantiate this. To make this idea practical, a necessary condition is good support for concurrent programming. We find that a message-passing model without shared state works well. Our own work focuses on extending structured overlay networks (a generalization of peer-to-peer networks) for large-scale distributed applications. Structured overlay networks are a good example of systems designed from the start as interacting feedback loops. We show how to extend them with a distributed transaction layer that keeps their good self-organization properties. We are using this system to build three realistic application scenarios taken from industrial case studies. 1
A Self-Adaptable Network Topology for Ambient Intelligence
"... Ambient Intelligence scenarios can be deployed even when the environment lacks of a underlying network infrastructure. This can be done using distributed ad-hoc networks. Ambient Intelligence applications can be highly variable and networks can have an unanticipated number of members. Inappropriate ..."
Abstract
- Add to MetaCart
Ambient Intelligence scenarios can be deployed even when the environment lacks of a underlying network infrastructure. This can be done using distributed ad-hoc networks. Ambient Intelligence applications can be highly variable and networks can have an unanticipated number of members. Inappropriate distributed network topologies can lead to unstable and inefficient communication. We propose PALTA, a decentralized and self-adaptable network topology. We use feedback loops to model its self-adaptable behaviour and we evaluate its performance using different simulations and measurements. PALTA allows the construction of distributed networks using self-management techniques and maintaining a good overall performance on the network communication.
WSN and P2P: a self-managing marriage
"... Wireless sensor networks are designed for a very wide, yet specific, purpose. Their components have processing and power limitations. Due to these limitations, decisions by running complex algorithms with the information collected by sensors must be done in components external to the WSN. This docum ..."
Abstract
- Add to MetaCart
Wireless sensor networks are designed for a very wide, yet specific, purpose. Their components have processing and power limitations. Due to these limitations, decisions by running complex algorithms with the information collected by sensors must be done in components external to the WSN. This document presents a combination of WSN and p2p networks to ease the development of systems that rely on WSN functionality. As a result, we propose the creation of a programing abstraction that allows developers to concentrate on the functionality of the developing system. We also propose the use of feedback loops as a way to design and develop the components of the abstraction and to define selfmanaging behavior for them. Those components should be also lowly coupled, interchangeable and extensible. 1
A.H. Roslina, 1
"... Abstract: This research focus on the software design and database system model for Tender Management System (TMS) in Kadastra. TMS in Kadastra is an automated system that can calculates tender payment claims for the land surveyor company. The calculation is based on the Vide Federal Government Gazet ..."
Abstract
- Add to MetaCart
Abstract: This research focus on the software design and database system model for Tender Management System (TMS) in Kadastra. TMS in Kadastra is an automated system that can calculates tender payment claims for the land surveyor company. The calculation is based on the Vide Federal Government Gazette PU (A) 169 Thirteenth Schedule (Regulation 99) Scale of Fees for Title Surveys given by Land Surveyors Board in Malaysia. Based on the system, it provides data availability for read and writes operations while supporting fault-tolerance and fast data transformation. Accurate, relevant and timely information required the use of sophisticated system called TMS in Kadastra with the database management system, MySQL.
Designing Robust and Adaptive Distributed Systems with Weakly Interacting Feedback Structures
"... Abstract—Scalable Internet services are distributed over multiple nodes, which may fail at any time. Events such as partial failures, software errors, and attacks, as well as churn are increasingly becoming normal events. As a result, the design of Internet services is getting more complex and predi ..."
Abstract
- Add to MetaCart
Abstract—Scalable Internet services are distributed over multiple nodes, which may fail at any time. Events such as partial failures, software errors, and attacks, as well as churn are increasingly becoming normal events. As a result, the design of Internet services is getting more complex and predicting their behavior is daunting. We address these problems by designing such systems as a set of weakly interacting feedback structures. Each feedback structure consists of a set of interacting feedback loops that together maintain one desired system property. Depending on the system’s operating conditions, different parts of the feedback structure will be active, which enables it to adapt to a wide range of operating conditions. We motivate this approach with examples of robust systems from biology and computing. We have used weakly interacting feedback structures during the design of the Scalaris scalable transaction store. Scalaris consists of five weakly interacting feedback structures working together in a harmonious way without undesired interactions like thrashing or oscillation. Scalaris achieves high performance with strong consistency and horizontal scalability both in tightly coupled settings (clusters and LANs) and loosely coupled settings (PlanetLab). Index Terms—software design, complex systems, distributed systems, feedback loops, self management, transactions, replication, peer-to-peer I.
Programming Paradigms for Dummies: What Every Programmer Should Know
"... This chapter gives an introduction to all the main programming paradigms, their underlying concepts, and the relationships between them. We give a broad view to help programmers choose the right concepts they need to solve the problems at hand. We give a taxonomy of almost 30 useful programming para ..."
Abstract
- Add to MetaCart
This chapter gives an introduction to all the main programming paradigms, their underlying concepts, and the relationships between them. We give a broad view to help programmers choose the right concepts they need to solve the problems at hand. We give a taxonomy of almost 30 useful programming paradigms and how they are related. Most of them differ only in one or a few concepts, but this can make a world of difference in programming. We explain briefly how programming paradigms influence language design, and we show two sweet spots: dual-paradigm languages and a definitive language. We introduce the main concepts of programming languages: records, closures, independence (concurrency), and named state. We explain the main principles of data abstraction and how it lets us organize large programs. Finally, we conclude by focusing on concurrency, which is widely considered the hardest concept to program with. We present four little-known but important paradigms that greatly simplify concurrent programming with respect to mainstream languages: declarative concurrency (both eager and lazy), functional reactive programming, discrete synchronous programming, and constraint programming. These paradigms have no race conditions and can be used in cases where no other paradigm works. We explain why for multi-core processors and we give several examples from computer music, which often uses these paradigms. More is not better (or worse) than less, just different. – The paradigm paradox. 1

