NINJA. Project of UC Berkeley Computer Science Division Paper : The Ninja Architecture for Robust Internet-Scale Systems and Services

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

Distributed Data Processing
Composite Device Computing Environment: A Framework for Situated Interaction Using Small Screen Devices Thai-Lai Pham, Georg Schneider, Stuart Goose and.
A component- and message-based architectural style for GUI software
CSCI 530 Lab Firewalls. Overview Firewalls Capabilities Limitations What are we limiting with a firewall? General Network Security Strategies Packet Filtering.
Trust Establishment in Pervasive Grid Environments Syed Naqvi, Michel Riguidel TÉLÉCOM PARIS ÉNST É cole N ationale S upérieur des T élécommunications.
Distributed Processing, Client/Server, and Clusters
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
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.
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
02/12/00 E-Business Architecture
JAVA Technology. Java Technology Java technology is a portfolio of products that are based on the power of networks and the idea that the same software.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
Distributed Systems Architectures
Producer-Archive Workflow Network (PAWN) Goals Consistent with the Open Archival Information System (OAIS) model Use of web/grid technologies and platform.
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.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
ProActive Infrastructure Eric Brewer, David Culler, Anthony Joseph, Randy Katz Computer Science Division U.C. Berkeley ninja.cs.berkeley.edu Active Networks.
Ch 12 Distributed Systems Architectures
SensIT PI Meeting, April 17-20, Distributed Services for Self-Organizing Sensor Networks Alvin S. Lim Computer Science and Software Engineering.
1 Personal Activity Coordinator (PAC) Xia Hong UC Berkeley ISRG retreat 1/11/2000.
1 Internet Management and Security We will look at management and security of networks and systems. Systems: The end nodes of the Internet Network: The.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
2001 ©R.P.Martin Using Distributed Data Structures for Constructing Cluster-Based Servers Richard Martin, Kiran Nagaraja and Thu Nguyen Rutgers University.
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.
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
Hands-On Microsoft Windows Server 2008 Chapter 8 Managing Windows Server 2008 Network Services.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Chapter 4: Core Web Technologies
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services
1 Chapter 6: Proxy Server in Internet and Intranet Designs Designs That Include Proxy Server Essential Proxy Server Design Concepts Data Protection in.
A Combat Support Agency Defense Information Systems Agency GIG EWSE Application and Service (EE212) 17 August 2011 Tactical Edge Service: Service Adaption.
Personal Activity Coordinator Shelley Zhuang Computer Science Division U.C. Berkeley Ericsson Workshop August 2000.
Wireless Networks of Devices (WIND) Hari Balakrishnan and John Guttag MIT Lab for Computer Science NTT-MIT Meeting, January 2000.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
1 Java Servlets l Servlets : programs that run within the context of a server, analogous to applets that run within the context of a browser. l Used to.
ProActive Infrastructure Eric Brewer, David Culler, Anthony Joseph, Randy Katz Computer Science Division U.C. Berkeley ninja.cs.berkeley.edu Active Networks.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
REST By: Vishwanath Vineet.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
Introduction to Active Directory
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
1 Active Directory Service in Windows 2000 Li Yang SID: November 2000.
Networking Components Quick Guide. Hubs Device that splits a network connection into multiple computers Data is transmitted to all devices attached Computers.
1 Introduction to Active Directory Directory Services Uniquely identify users and resources on a network Provide a single point of network management.
The Ninja Architecture for Robust Internet-Scale Systems and Services UC Berkeley Computer Science Division 2002 년 10 월 9 일 박준호.
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
Presented by Edith Ngai MPhil Term 3 Presentation
Magdalena Balazinska, Hari Balakrishnan, and David Karger
Network Infrastructure Services Supporting WAP Clients
ETHANE: TAKING CONTROL OF THE ENTERPRISE
CHAPTER 3 Architectures for Distributed Systems
Internet Networking recitation #12
Systems Issues for Scalable, Fault Tolerant Internet Services
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
The Anatomy and The Physiology of the Grid
The Anatomy and The Physiology of the Grid
Introduction to Active Directory Directory Services
An Architecture for Secure Wide-Area Service Discovery
Presentation transcript:

NINJA

Project of UC Berkeley Computer Science Division Paper : The Ninja Architecture for Robust Internet-Scale Systems and Services People : Eric Brewer,David Culler, Anthony Joseph, Randy Katz,Steven Gribble, Matt Welsh Randy Katz,Steven Gribble, Matt Welsh The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices

The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices Points to be covered :Points to be covered : Goal : The end goal of the Ninja project is to enable the development of a menagerie of Internet-based services development of a menagerie of Internet-based services which are interoperable and immediately accessible which are interoperable and immediately accessible across the spectrum of user devices ranging from PCs across the spectrum of user devices ranging from PCs and workstations to cellphones and Personal Digital and workstations to cellphones and Personal Digital Assistants. Assistants. Examples of Applications of Ninja Vision : * Sanctio * Sanctio * Juke Box * Juke Box

The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices

The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices Components of Ninja Architecture : 1)Building Robust services * Scalability * Availability * Scalability * Availability * Fault-Tolerance * Consistency * Fault-Tolerance * Consistency * Persistence * Persistence All this in under the Growing Traffic Load All this in under the Growing Traffic Load * Concept of Base : Cluster of Workstations * Concept of vSpace :Cluster based software Platform

The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices 2)Device Diversity : Concept of Units 3)Adaptation by Active proxies : Concept of Distillation * Computational power * Computational power * Network Connectivity * Network Connectivity * Interface Capabilities of devices * Interface Capabilities of devices e.g. Wireless Base stations, Network gateways, Firewalls, Gateways. Firewalls, Gateways. 4) The Composition of Services : Composition of services into a PATH as well as adaptation along that PATH. * SDS (Service Discovery Service ) * SDS (Service Discovery Service )

The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices Bases : Scalable Platforms for internet Services # Concept of Conditioning the Service: Graceful operation during the bursts during the bursts # A programming Model : * Splitting a Service into Stages * Splitting a Service into Stages e.g. : web server service = reading + retrieving + return e.g. : web server service = reading + retrieving + return * Design Patterns * Design Patterns 1.Wrap 2. Combine 1.Wrap 2. Combine 3. Pipeline 4. Replicate 3. Pipeline 4. Replicate # Java –Based I/O Substrate Implementation # Java –Based I/O Substrate Implementation Jaguar : (Java Access to generic Underlying Architectural Resources ) Jaguar : (Java Access to generic Underlying Architectural Resources ) Extension to the Java Environment Extension to the Java Environment

The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices #vSpace: Cluster based execution environment for * Replication * Load balancing * Fault Tolerance Concept of Concept of * Worker : fixed size thread pool + methods * Worker : fixed size thread pool + methods * Service definition : set of workers * Service definition : set of workers * Service Publication :freezing of the code * Service Publication :freezing of the code * Clone :replication of the workers along * Clone :replication of the workers along various other nodes various other nodes * Clone Group : set of worker clones * Clone Group : set of worker clones

The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices Distributed Data Structures : # Normal D.S. Like : Binary tree, Hash Table etc. # Properties Expected : * High throughput * High throughput * High Concurrency * High Concurrency * Availability * Availability # Strictly Consistent in Nature : # Atomic in Nature

The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices Active proxies : Execute in an environment local to devices and hence perform context aware optimizations and transformations on behalf of devices 1)Dynamic Service Adaptation : Distillation of service content into a format more suitable for small devices content into a format more suitable for small devices eg. 1) HTML to WML for WAP phones eg. 1) HTML to WML for WAP phones 2)Design of the light weight protocols 2)Design of the light weight protocols 2) Secure Service Access from Diverse Clients: trusted active proxies can perform context aware transformations on data before it arrives at a kiosk active proxies can perform context aware transformations on data before it arrives at a kiosk 3) Multiple device fusion : Combining capabilities of various devices.Eg. Display of local kiosk and entering data thru PDA various devices.Eg. Display of local kiosk and entering data thru PDA

The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices Paths : Composition of Services Across the Wide-Area 1)Automatic Path Creation : (APC ) * Finding path between the networks * Finding path between the networks * Creating the network connection * Creating the network connection * Fine Tuning the performance of data flow * Fine Tuning the performance of data flow * Error Correction * Error Correction 2) Path = Operators (perform computation on data) + Connectors (protocol translations between + Connectors (protocol translations between operators ) operators ) 3) Operators : Strongly types and know the input they accept and output they produce. accept and output they produce.

The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices * Operators have Cost parameters associated with it which helps in route optimization. helps in route optimization. * Types of Operators : * Long lived :- standard Ninja services * Long lived :- standard Ninja services * Dynamically generated : light weight and short * Dynamically generated : light weight and short lived transformation elements created by the lived transformation elements created by the APC facility as and when required APC facility as and when required Both these types of the operators ensure that that the path can be reconstructed when A failure occurs. can be reconstructed when A failure occurs. * Example of Path : Mapquest Service

The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices Logical path Creation Physical path Creation Path Instantiation and Execution Path Tear Down Path Construction Process

The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices Service Location Service across the Wide Area (SDS): * Services announce their presence * Services announce their presence * Location of the announced services * Location of the announced services * help clients decide the trustworthiness of the * help clients decide the trustworthiness of the service and vice a versa. service and vice a versa. # Properties of the SDS : * Fully secure * Fully secure * Semantically rich * Semantically rich * Scalable * Scalable * Fault Tolerant * Fault Tolerant

The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices Design of Service Discovery Service : 1) Elements of the SLS 1) Elements of the SLS * Clients * Services * Clients * Services * SDS servers. * SDS servers. 2) Hierarchical arrangement of servers : Domain concept 3) Uses of XML for encoding both services and queries 4) Certificate Authority : (CA) trusted source which provide the proof of binding between a principal and its public the proof of binding between a principal and its public and Private keys in the form of certificates. and Private keys in the form of certificates. 5) Capability Manager : (CM) Manages individual access control Lists on behalf of each authenticated service. control Lists on behalf of each authenticated service. Hiding the services rather than disallowing the access Hiding the services rather than disallowing the access

The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices in SDS Wide Area Operation in SDS * Information is propagated up to parent servers and queries are partitioned among and forwarded to the relevant servers. * To prevent upper level servers in the hierarchy from being loaded by the query load SDS filters the information while it propagates the information forward. * SDS servers dynamically organize themselves into potentially multiple hierarchies for data partitioning and query routing.

The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices Ninja and Related Work : Ninja is not Java 1) Jini 2) EJB 1) Jini 2) EJB 3) CORBA 4) Centaurus 3) CORBA 4) Centaurus 5) Active networks 5) Active networks Future Work in Ninja 1)Challenges in automatically composing service components to meet the needs of particular device components to meet the needs of particular device 2) Unsolicited advertising : SPAM 3) Requirement of Services capturing bits rather than eyeballs eyeballs