Results 1 - 10
of
28
Architectural Styles and the Design of Network-based Software Architectures
, 2000
"...
The World Wide Web has succeeded in large part because its software architecture has been designed to meet the needs of an Internet-scale distributed hypermedia system. The Web has been iteratively developed over the past ten years through a series of modifications to the standards that define its ..."
Abstract
-
Cited by 391 (1 self)
- Add to MetaCart
The World Wide Web has succeeded in large part because its software architecture has been designed to meet the needs of an Internet-scale distributed hypermedia system. The Web has been iteratively developed over the past ten years through a series of modifications to the standards that define its architecture. In order to identify those aspects of the Web that needed improvement and avoid undesirable modifications, a model for the modern Web architecture was needed to guide its design, definition, and deployment.
Software architecture research investigates methods for determining how best to partition a system, how components identify and communicate with each other, how information is communicated, how elements of a system can evolve independently, and how all of the above can be described using formal and informal notations. My work is motivated by the desire to understand and evaluate the architectural design of network-based application software through principled use of architectural constraints, thereby obtaining the functional, performance, and social properties desired of an architecture. An architectural style is a named, coordinated set of architectural constraints.
This dissertation defines a framework for understanding software architecture via architectural styles and demonstrates how styles can be used to guide the architectural design of network-based application software. A survey of architectural styles for network-based applications is used to classify styles according to the architectural properties they induce on an architecture for distributed hypermedia. I then introduce the Representational State Transfer (REST) architectural style and describe how REST has been used to guide the design and development of the architecture for the modern Web.
REST emphasizes scalability of component interactions, generality of interfaces, independent deployment of components, and intermediary components to reduce interaction latency, enforce security, and encapsulate legacy systems. I describe the software engineering principles guiding REST and the interaction constraints chosen to retain those principles, contrasting them to the constraints of other architectural styles. Finally, I describe the lessons learned from applying REST to the design of the Hypertext Transfer Protocol and Uniform Resource Identifier standards, and from their subsequent deployment in Web client and server software.
Compact Distributed Data Structures for Adaptive Routing
- In Proc. 21st ACM Symp. on Theory of Computing
, 1989
"... In designing a routing scheme for a communication network it is desirable to use as short as possible paths for routing messages, while keeping the routing information stored in the processors' local memory as succinct as possible. The efficiency of a routing scheme is measured in terms of its stret ..."
Abstract
-
Cited by 63 (6 self)
- Add to MetaCart
In designing a routing scheme for a communication network it is desirable to use as short as possible paths for routing messages, while keeping the routing information stored in the processors' local memory as succinct as possible. The efficiency of a routing scheme is measured in terms of its stretch factor - the maximum ratio between the cost of a route computed by the scheme and that of a cheapest path connecting the same pair of vertices. This paper presents a family of adaptive routing schemes for general networks. The hierarchical schemes HS k (for every fixed k 1) guarantee a stretch factor of O(k 2 \Delta 3 k ) and require storing at most O \Gamma kn 2 k log n \Delta bits of routing information per vertex. The new important features, that make the schemes appropriate for adaptive use, are ffl applicability to networks with arbitrary edge costs; ffl name-independence, i.e., usage of original names; ffl a balanced distribution of the memory; ffl an efficient on-li...
FLIP: an Internetwork Protocol for Supporting Distributed Systems
- ACM Transactions on Computer Systems
, 1993
"... Most modern network protocols give adequate support for traditional applications such as file transfer and remote login. Distributed applications, however, have different requirements (e.g., efficient atmost-once remote procedure call even in the face of processor failures). Instead of using ad-hoc ..."
Abstract
-
Cited by 31 (7 self)
- Add to MetaCart
Most modern network protocols give adequate support for traditional applications such as file transfer and remote login. Distributed applications, however, have different requirements (e.g., efficient atmost-once remote procedure call even in the face of processor failures). Instead of using ad-hoc protocols to meet each of the new requirements, we have designed a new protocol, called the Fast Local Internet Protocol (FLIP), that provides a clean and simple integrated approach to these new requirements. FLIP is an unreliable message protocol that provides both point-to-point communication and multicast communication, and requires almost no network management. Furthermore, by using FLIP we have simplified higher-level protocols such as remote procedure call and group communication, and enhanced support for process migration and security. A prototype implementation of FLIP has been built as part of the new kernel for the Amoeba distributed operating system, and is in daily use. Measurements of its performance are presented. 1.
Scalable Multimedia Communication with Internet Multicast, Light-weight Sessions, and the MBone
"... In this survey article we describe the roots of IP Multicast in the Internet, the evolution of the Internet Multicast Backbone or “MBone,” and the technologies that have risen around the MBone to support large-scale Internet-based multimedia conferencing. We develop the technical rationale for the d ..."
Abstract
-
Cited by 25 (6 self)
- Add to MetaCart
In this survey article we describe the roots of IP Multicast in the Internet, the evolution of the Internet Multicast Backbone or “MBone,” and the technologies that have risen around the MBone to support large-scale Internet-based multimedia conferencing. We develop the technical rationale for the design decisions that underly the MBone tools, describe the evolution of this work from early prototypes into Internet standards, and outline the open challenges that remain and must be overcome to realize a ubiquitous multicast infrastructure. We and others in the MBone research community have implemented our protocols and methods in “real” applications and have deployed a fully operational system on a very large scale over the MBone. This infrastructure — including our audio, video, shared whiteboard tools and protocols — is now in daily use by the large and growing MBone user and research communities and the success and utility of this approach has resulted in commercialization of many of the underlying technologies.
A Session-Based Architecture for Internet Mobility
, 2003
"... ... decade has led to an increasingly nomadic computing lifestyle. A computer is no longer an immobile, gargantuan machine that remains in one place for the lifetime of its operation. Today's personal computing devices are portable, and Internet access is becoming ubiquitous. A well-traveled laptop ..."
Abstract
-
Cited by 15 (1 self)
- Add to MetaCart
... decade has led to an increasingly nomadic computing lifestyle. A computer is no longer an immobile, gargantuan machine that remains in one place for the lifetime of its operation. Today's personal computing devices are portable, and Internet access is becoming ubiquitous. A well-traveled laptop user might use half a dozen different networks throughout the course of a day: a cable modem from home, wide-area wireless on the commute, wired Ethernet at the office, a Bluetooth network in the car, and a wireless, local-area network at the airport or the neighborhood coffee shop. Mobile host
The Direction of Value Flow in Multi-service Connectionless
, 1999
"... This paper argues that all network providers in a connectionless multi-service network should offer each class of their service to each neighbour for each direction at a single price. This is called `splitedge pricing'. If sets of customers wish to reapportion their networking charges between themse ..."
Abstract
-
Cited by 14 (7 self)
- Add to MetaCart
This paper argues that all network providers in a connectionless multi-service network should offer each class of their service to each neighbour for each direction at a single price. This is called `splitedge pricing'. If sets of customers wish to reapportion their networking charges between themselves, this should be tackled end-to-end. Edge reapportionment should not be muddled with networking charges, as is the case in the telephony market. Avoiding the telephony approach is shown to o#er full reapportionment flexibility, but avoids the otherwise inevitable network complexity. `Split-edge pricing' is recursive, applying as much to relationships between providers as to edge-customers. Various scenarios are discussed, showing the advantage of the approach. These include phone to Internet gateways and even inter-domain multicast conferences with heterogeneous QoS. The business model analysis suggests a new, purely financial role of endto -end intermediary in the Internet industry.
The Direction of Value Flow in Connectionless Networks
- In Proc. NGC ’99
, 1999
"... . This paper argues that all network providers in a connectionless multi-service network should o#er each class of their service to each neighbour for each direction at a single price. This is called "splitedge pricing". If sets of customers wish to reapportion their networking charges between t ..."
Abstract
-
Cited by 10 (3 self)
- Add to MetaCart
. This paper argues that all network providers in a connectionless multi-service network should o#er each class of their service to each neighbour for each direction at a single price. This is called "splitedge pricing". If sets of customers wish to reapportion their networking charges between themselves, this should be tackled end-to-end. Edge reapportionment should not be muddled with networking charges, as is the case in the telephony market. Avoiding the telephony approach is shown to o#er full reapportionment flexibility, but avoids the otherwise inevitable network complexity, particularly for multicast. "Splitedge pricing" is recursive, applying as much to relationships between providers as to edge-customers. Various scenarios are discussed, showing the advantage of the approach. These include phone to Internet gateways and even inter-domain multicast conferences with heterogeneous QoS. The business model analysis suggests a new, purely financial role of end-to-end ...
A Human Factors Extension to the Seven-Layer OSI Reference Model
, 2002
"... An extension to the seven-layer OSI Reference Model is proposed as a way to facilitate discussions between HCI (Human-Computer Interaction) practitioners on one hand, and application and network developers on the other. A new common conceptual ground can be used to understand how to link application ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
An extension to the seven-layer OSI Reference Model is proposed as a way to facilitate discussions between HCI (Human-Computer Interaction) practitioners on one hand, and application and network developers on the other. A new common conceptual ground can be used to understand how to link applications to human needs as a function of network capabilities. The framework also permits an understanding of how to determine whose purview an issue is. Finally, the new OSI+HCI reference model provides a strategy for designing networks with the human requirements in mind.
The Information Marketplace: The Challenge of Information Commerce
- In Proceedings of the Second International Conference on Cooperative Information Systems
, 1994
"... Many organizations are working to deploy cooperative information systems (CIS). Typically a single entity controls all of the cooperating systems. Recently, however, more attention has been focused on systems that require a new level of coordination and cooperation --- systems which are not wholly c ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
Many organizations are working to deploy cooperative information systems (CIS). Typically a single entity controls all of the cooperating systems. Recently, however, more attention has been focused on systems that require a new level of coordination and cooperation --- systems which are not wholly controlled by any single entity. We describe one particular case --- an information marketplace. consisting of multiple, independentlyowned information and problem-solving services. The resulting distributed, heterogeneous environment imposes certain requirements on the technical infrastructure. These requirements are identified, and a multi-agent problemsolving architecture is proposed to address them. 1. Introduction With the increasing complexity and globalization of society and commerce, many organizations are working to develop and deploy cooperating information systems (CIS). Such systems exhibit two key characteristics: (1) they work together, such that they are able to coordinate the...
Software Architectural Styles for Network-Based Applications
, 1999
"... A software architecture determines how system components are identified and allocated, how the components interact to form a system, the amount and granularity of communication needed for interaction, and the interface protocols used for communication. For a network-based application, system perform ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
A software architecture determines how system components are identified and allocated, how the components interact to form a system, the amount and granularity of communication needed for interaction, and the interface protocols used for communication. For a network-based application, system performance is dominated by network communication. Therefore, selection of the appropriate architectural style(s) for use in designing the software architecture can make the difference between success and failure in the deployment of a network-based application. Software architectural styles have been characterized by their control-flow and dataflow patterns, allocation of functionality across components, and component types. Unfortunately, none of these characterizations are useful for understanding how a style influences the set of architectural properties, or qualities, of a system. These properties include, among others, user-perceived performance, network efficiency, simplicity, modifiability, scalability, and portability.We use these style-induced architectural properties to classify styles for network-based applications with the goal of understanding why certain styles are better than others for some applications, thus providing additional guidance for software engineers faced with the task of architectural design.

