The Ninja Architecture for Robust Internet-Scale Systems and Services UC Berkeley Computer Science Division 2002 년 10 월 9 일 박준호.

Slides:



Advertisements
Similar presentations
Communication Topics Jason Hill –
Advertisements

A component- and message-based architectural style for GUI software
High Performance Computing Course Notes Grid Computing.
Netscape Application Server Application Server for Business-Critical Applications Presented By : Khalid Ahmed DS Fall 98.
1 SEDA: An Architecture for Well- Conditioned, Scalable Internet Services Matt Welsh, David Culler, and Eric Brewer Computer Science Division University.
 Introduction Originally developed by Open Software Foundation (OSF), which is now called The Open Group ( Provides a set of tools and.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Technical Architectures
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services Matt Welsh, David Culler, and Eric Brewer Computer Science Division University of.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Distributed Systems Architectures
An Architecture for a Secure Service Discovery Service Steven Czerwinski, Todd Hodes, Ben Zhao, Anthony Joseph, Randy Katz UC Berkeley Internet Scale Research.
Towards I-Space Ninja Mini-Retreat June 11, 1997 David Culler, Steve Gribble, Mark Stemm, Matt Welsh Computer Science Division U.C. Berkeley.
Distributed Service Architectures Yitao Duan 03/19/2002.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
The Case for ICEBERG Integrated services from diverse networks-- “PANS” (Potentially Any Network Services) Service infrastructure that allows user level.
ProActive Infrastructure Eric Brewer, David Culler, Anthony Joseph, Randy Katz Computer Science Division U.C. Berkeley ninja.cs.berkeley.edu Active Networks.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Internet Resources Discovery (IRD) IBM DB2 Digital Library Thanks to Zvika Michnik and Avital Greenberg.
1 Fault-tolerant Paths ISRG Retreat Z. Morley Mao 1/11/2000 Services Paths.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared.
A Security Framework for a World of Post-PC Clients and Infrastructure-based Services Steven Ross, Jason Hill, Michael Chen, Anthony D. Joseph, David E.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services
Design Patterns & Component Frameworks CS67041Spring 2002 Open Agent Architecture (OAA) - Part II -Murali Krishnan.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Adapting Legacy Computational Software for XMSF 1 © 2003 White & Pullen, GMU03F-SIW-112 Adapting Legacy Computational Software for XMSF Elizabeth L. White.
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services
Version 4.0. Objectives Describe how networks impact our daily lives. Describe the role of data networking in the human network. Identify the key components.
ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere.
第十四章 J2EE 入门 Introduction What is J2EE ?
Distributed Systems: Concepts and Design Chapter 1 Pages
Wireless Networks of Devices (WIND) Hari Balakrishnan and John Guttag MIT Lab for Computer Science NTT-MIT Meeting, January 2000.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
System Architecture Directions for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister Presented by Yang Zhao.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
GLOBE DISTRIBUTED SHARED OBJECT. INTRODUCTION  Globe stands for GLobal Object Based Environment.  Globe is different from CORBA and DCOM that it supports.
Scalable Grid system– VDHA_Grid: an e-Science Grid with virtual and dynamic hierarchical architecture Huang Lican College of Computer.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
Kemal Baykal Rasim Ismayilov
ProActive Infrastructure Eric Brewer, David Culler, Anthony Joseph, Randy Katz Computer Science Division U.C. Berkeley ninja.cs.berkeley.edu Active Networks.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
Object storage and object interoperability
NINJA. Project of UC Berkeley Computer Science Division Paper : The Ninja Architecture for Robust Internet-Scale Systems and Services
Introduction to Active Directory
Design and implementation of an intentional naming system William Adjie-WinotoElliot Schwartz Hari BalakrishnanJeremy Lilley MIT Laboratory for Computer.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
1NinjaScript Presentation CS264December 2, 1998 NinjaScript A Dataflow Language for Composing Network Services in Ninja Andrew Begel.
PARALLEL AND DISTRIBUTED PROGRAMMING MODELS U. Jhashuva 1 Asst. Prof Dept. of CSE om.
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
Java Distributed Object System
Introduction to Distributed Platforms
Netscape Application Server
#01 Client/Server Computing
Distributed System Concepts and Architectures
Hadoop Technopoints.
Software models - Software Architecture Design Patterns
WELCOME TO SEMINAR.
The Anatomy and The Physiology of the Grid
The Anatomy and The Physiology of the Grid
An Architecture for Secure Wide-Area Service Discovery
#01 Client/Server Computing
Presentation transcript:

The Ninja Architecture for Robust Internet-Scale Systems and Services UC Berkeley Computer Science Division 2002 년 10 월 9 일 박준호

Content Introduction Overview of the Ninja architecture Base: scalable platforms for Internet services Units Active proxy Service discovery service Path Example services Conclusion

Introduction Goal: –Enabling broad innovation of service design and easily constructing scalable, robust service –Distributed service architecture that deals with huge throughput demands and availability requirements Distributed service architecture –Network architecture level: three tiers (service, intermediaries, devices) –Language level: type safety language (code mobility) –System level: provide set of interface, dictate programming discipline

Overview of the Ninja architecture

Building robust service in base Service: software in the Internet infrastructure that exports a network-accessible, typed, programmatic interface Base: well-engineered cluster of workstation Cluster –independent failure boundary –Replication of computation and data vSpace –Cluster-based software platforms –Dynamic uploading of new service

Device diversity and adaptation Unit: client devices –Limited connectivity, low bandwidth, poor computational abilities –Small set of data formats and network protocols –Typically not useful without supporting infrastructure –Easily lost or broken –Rely on that adapt content and protocols Active proxy: transformational intermediary between device and service

The composition of services Path –flow of typed data through multiple services across the wide area –Including the interposition of transformational operators to adapt the data into the form expected by next service or device along the path Service discovery service (SDS) –locate appropriate services across the wide area based on service attribute query

Base: scalable platforms for Internet services Programming model –Service processes that request through a sequence of logically distinct stages Design pattern –Wrap: allow stage to execute independently of other stages –Pipeline: increasing instruction locality –Combine: resource and fate sharing –Replicate: eliminate bottleneck

Java-based I/O substrate implementation Non-blocking I/O library: Non-blocking socket, select Jaguar –extension of Java environment –Perform a compile-time specialization of Java byte code to perform low-level operation directly, while maintaining type safety and portability –80 µsec round trip time

The vSpace execution platform & DDS (distributed data structure) Service –Constructed as a graph of workers, each of which consists of a fixed-size thread pool, an incoming event queue, and a set of methods that implement the worker's logic –Worker correspond directly to stages Clone –Use the same code base and share global persistent state through a distributed data structure –Clone group: scalability and fault-tolerance DDS: self managing storage layer designed to run on a cluster of workstation at the scale required by Internet service workloads –Bricks: data elements are replicated across multiple hash nodes

Units Mote –Example of network sensor –ATMEL MHz microcontroller –512B SRAM, 8KB flash memory –10kbps radio, light and temp sensor, three LED –TinyOS

Active Proxy Essential properties: dynamic service adaptation, secure access to information, fusion of multiple devices Dynamic service adaptation –Mitigating the heterogeneity of units by translating both network protocols and data formats between client and service –Distill service content into format more suitable for small devices Multiple device fusion –Combine the capabilities of several devices –PDA: sensitive personal information, public kiosk: placing most of the application

Service location of across the wide area Service discovery service (SDS) –Announce (describe, published), locate (query) –Hierarchical structure, announce/listen, XML SDS server –Sending authenticated message containing a list of the domains –When load reach threshold child servers are spawned –Answer client queries Services –Listen SDS server announcements –Multicast service description –Contact a Capability Manager and define the capabilities for individual users Capability Manager –manage individual access control lists

SDS Certificate Authority –binding between principal and its public and encryption keys

Path: composition of service across the wide-area Path –Facilitate the composition of service –APC (automatic path creation) finding path between system components creating the network connections between components –Operator: perform on data Long-lived (standard service), dynamical created –Connector: protocol translation

Path example: map service 1. –User initiates a call from a cellular phone. –User speak address –RTP-based audio connector send audio to the first operator 2. –Speech-to-text operator, running in an active proxy –Structured text is passed along a TCP-based reliable byte stream connector to next operator 3. map service, running in a base 4. text-to-speech 5. user hear

Path construction Logical path creation –ordered sequence of operators Physical path creation –Mapping of a particular logical path onto physical nodes Path instantiation, and execution –Start any required dynamic operators, and set up appropriate connectors –APC facility monitors the performance of path, and re-routes the data flow Path tear-down

Example services Ninja Jukebox –Allow user to build a distributed repository of digital music –Cluster node: act as the music for streaming MP3 to clients, One node: directory node Sanctio: instant message gateway

Conclusion & reference Opening up the infrastructure of scalable, robust, adaptive Internet services Reference – –An Architecture for a Secure Service Discovery Service, by Steven E. Czerwinski, Ben Y. Zhao, Todd D. Hodes, Anthony D. Joseph, and Randy H. Katz. Fifth Annual International Conference on Mobile Computing and Networks (MobiCom '99), Seattle, WA, August 1999, pp –Ninja Paths: An Architecture for Composing Services over Wide Area Networks, by Sirish Chandrasekaran, Samuel Madden, and Mihut Ionescu. CS262 class project writeup –Jaguar: Enabling Efficient Communication and I/O from Java, Matt Welsh and David Culler. To appear in Concurrency: Practice and Experience, Special Issue on Java for High-Performance Applications, December, 1999