The Ninja Service Platform Architecture or, “The Right Way to do Thin Client Computing” Steve Gribble UC Berkeley CS Division

Slides:



Advertisements
Similar presentations
Tableau Software Australia
Advertisements

Distributed Processing, Client/Server and Clusters
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
Adding scalability to legacy PHP web applications Overview Mario A. Valdez-Ramirez.
The road to reliable, autonomous distributed systems
Distributed Processing, Client/Server, and Clusters
Chapter 16 Client/Server Computing Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
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.
Ninja and the Post-PC Era David Culler U.C. Berkeley Mar 12, 1999
Towards I-Space Ninja Mini-Retreat June 11, 1997 David Culler, Steve Gribble, Mark Stemm, Matt Welsh Computer Science Division U.C. Berkeley.
Proactive Infrastructure: The Ninja Service Platform David Culler Eric Brewer, Anthony Joseph & Randy Katz UC Berkeley ninja.cs.berkeley.edu.
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.
Brewer’s Endeavor Goals Make the fluid infrastructure an extension of the Ninja services frameworkMake the fluid infrastructure an extension of the Ninja.
Big Infrastructure, Small Clients Prof. Eric A. Brewer
Interpret Application Specifications
Proactive Infrastructure: The Ninja Service Platform David Culler, Eric Brewer, Anthony Joseph & Randy Katz UC Berkeley ninja.cs.berkeley.edu.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
Understanding and Managing WebSphere V5
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
Technology Overview. Agenda What’s New and Better in Windows Server 2003? Why Upgrade to Windows Server 2003 ?  From Windows NT 4.0  From Windows 2000.
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Application Layer CHAPTER 2. Announcements and Outline  Administrative Items  Questions? Recap 1.Introduction to Networks 1.Network Type 2.N etwork.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
 Evolution of Smart Client  What is Smart client?  Types of Smart client  Architectural challenges  Smart Client Architecture  Demo application.
Module 11: Implementing ISA Server 2004 Enterprise Edition.
Active Directory Harikrishnan V G 18 March Presentation titlePage 2 Agenda ► Introduction – Active Directory ► Directory Service ► Benefits of Active.
9 September 2008CIS 340 # 1 Topics reviewTo review the communication needs to support the architectures variety of approachesTo examine the variety of.
1 Introduction to Microsoft Windows 2000 Windows 2000 Overview Windows 2000 Architecture Overview Windows 2000 Directory Services Overview Logging On to.
Managing the Oracle Application Server with Oracle Enterprise Manager 10g.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Copyright © 2002 Intel Corporation. Intel Labs Towards Balanced Computing Weaving Peer-to-Peer Technologies into the Fabric of Computing over the Net Presented.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
Internet2 AdvCollab Apps 1 Access Grid Vision To create virtual spaces where distributed people can work together. Challenges:
Jini Architectural Overview Li Ping
ProActive Infrastructure Eric Brewer, David Culler, Anthony Joseph, Randy Katz Computer Science Division U.C. Berkeley ninja.cs.berkeley.edu Active Networks.
NINJA. Project of UC Berkeley Computer Science Division Paper : The Ninja Architecture for Robust Internet-Scale Systems and Services
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
Relevant Systems Issues Motivation 1. A Group Calendar application available through web and partially disconnected portable information appliances will.
HNC COMPUTING - Network Concepts 1 Network Concepts Network Concepts Network Operating Systems Network Operating Systems.
Active Directory Domain Services (AD DS). Identity and Access (IDA) – An IDA infrastructure should: Store information about users, groups, computers and.
The Ninja Architecture for Robust Internet-Scale Systems and Services UC Berkeley Computer Science Division 2002 년 10 월 9 일 박준호.
Proactive Infrastructure: The Ninja Service Platform David Culler Eric Brewer, Anthony Joseph & Randy Katz UC Berkeley ninja.cs.berkeley.edu.
Introduction to Oracle Forms Developer and Oracle Forms Services
InGenius Connector Enterprise Microsoft Dynamics CRM
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to Data Management in EGI
Introduction to Oracle Forms Developer and Oracle Forms Services
Platform as a Service.
Java programming lecture one
CHAPTER 2 Application Layer.
Introduction to Cloud Computing
Chapter 3: Windows7 Part 4.
Distributed System Concepts and Architectures
Systems Issues for Scalable, Fault Tolerant Internet Services
Next-Generation Internet-Scale Systems Ninja/Millennium Projects
Towards a Service Architecture for Internet-Scale Systems
Developing for Windows Azure
Java History, Editions, Version Features
Problem Statement Communication devices Communication services
Proactive Infrastructure: The Ninja Service Platform
Presentation transcript:

The Ninja Service Platform Architecture or, “The Right Way to do Thin Client Computing” Steve Gribble UC Berkeley CS Division

Approaches to Date Sony MagicLink: No connectivity to speak of, limited application capability, but a very flashy OS. This PDA was a (small) island unto itself. Pessimal form-factor. Palm Pilot / IBM WorkPad: Thin, zippy, out-of-the-way OS, huge bazaar following. Originally intended for occasional synchronization and long periods of disconnected use. (We’re changing that usage model.) Windows CE devices: Big OS attempting to fool apps into thinking PDA is a full-fledged desktop machine. Rich hardware. Applications are scaled down versions of Windows 95 apps (e.g. pocket IE), and perform very poorly.

Our Approach Carefully choose where you fight your battlesCarefully choose where you fight your battles –slim OS on the PDA –split applications between PDA and infrastructure solve hard problems in infrastructure, not PDA PDA is mostly a UI, plus a soft-state cache It’s a connected worldIt’s a connected world –“access is the killer app” –use intelligent infrastructure to bridge between complex online services and simple devices NinjaNinja –software infrastructure to support next generation services and heterogeneous devices

Ninja Project Goals Infrastructure for Internet-based Services which are...Infrastructure for Internet-based Services which are... –Scalable: support large and growing user population –Highly-available: continually up and running –Fault-tolerant: mask hardware & software faults –Customizable: Enable users to inject personal preferences (and code!) Universal architecture for constructing and deploying servicesUniversal architecture for constructing and deploying services –programming model and execution environments for scalable services –mobile code for rapid service deployment Authenticated and pay-per-use servicesAuthenticated and pay-per-use services –HINDE: architecture for digitally secure e-cash Span the spectrum of end-user devicesSpan the spectrum of end-user devices –PCs, workstations, web browsers, PDAs, cell-phones, (2-way) pagers, … –infrastructure automatically deploys components needed to assist impoverished devices in accessing services

AP Active Proxy: Bootstraps thin devices into infrastructure, runs mobile code AP Workstations & PCs Architecture Overview Base: Scalable, highly- available platform for persistent-state services Internet PDAs (e.g. IBM Workpad) Cellphones, Pagers, etc.

Bases A physical, administrative, and logical boundaryA physical, administrative, and logical boundary –a collection of machines geographically co-located –administrative guarantees: no network partitions (!), constant power supply, trust within the Base Base platform simplifies authoring of servicesBase platform simplifies authoring of services –cluster primitives task execution, naming, and monitoring load balancing, failure detection, and restart –persistent data primitives and guarantees distributed, available data structures Hides service implementation from rest of worldHides service implementation from rest of world –granularity of services is at cluster level, not node level

Services: Programmatic Access ServiceService –Highly available program (or cooperating programs) fixed interface at a fixed location (in a Base) guarantees about performance, availability, consistency –Strongly typed interface Multiple services of a given type compete Compete on location, price, robustness, “quality”, brand name Finding services: Service Discovery Service (SDS)Finding services: Service Discovery Service (SDS) –Find “best” service of given type “best” according to multiple criteria (cost, geographic and administrative location, speed, reputation, etc.) –“Path” construction tied to service discovery

Base Implementation iSpace: the building block of a BaseiSpace: the building block of a Base –receptive execution environment –intra-Base primitives (stub generation, consistent persistent data repository access, etc.) Multispace: cluster-wide naming and resource mgmtMultispace: cluster-wide naming and resource mgmt iSpace SAN Multispace cluster iSpace

JVM provides code mobility and service upload capability, plus strong typing of service interfaces. Added distributed hash table API (think Linda space) to JRE. Ground up re-implementation of Sun RMI. Includes authenticated, secure RMI, multicast RMI, and soon, AM- RMI and VIA-RMI. Name service, RMI stub registry, and service control API: LoadService (URL) interf.[ ]=ListServices stub=GetService(name) KillService(name) KillService semantics unclear… objects vs threads? Sandbox that contains untrusted, uploaded services. Currently just the JRE’s standard appletSecurityMgr Service is an interface, plus objects that implement that interface. Trusted Services Ninja RMI iSpace Execution Environment JVM + persistent store APIs Security Mgr Loader Untrusted Services iSpace

Multispace iSpace Multispace services Multispace Loader Cluster-wide name service, RMI stub registry, and service control API. Services names are at the granularity of the entire cluster, not individual nodes. Service instances must be restartable, and must provide their own inter- instance consistency mechanisms. (Hint: use the consistent distributed data structure primitives.)

Multispace iSpace Multispace services Multispace Loader Multicast soft-state beacons to distribute Multispace stateMulticast soft-state beacons to distribute Multispace state –beacons contain list of service instances on each node, and an RMI stub for each service instance RMI “Redirector Stubs” assembledRMI “Redirector Stubs” assembled –run-time compiled RMI superstub –contains all of a service’s instance’s stubs –stub selection policy fail-over, broadcast, multicast, fork, etc. –currently, idempotency and atomicity required of service instances 1 2 3

Distributed Data Structures Solve the state management problem once and provide high-level abstractions to service authorsSolve the state management problem once and provide high-level abstractions to service authors –Hypothesis: given a set of highly-available, scalable, persistent data structures, persistent BASE services will be much easier to construct Example data structures:Example data structures: Log –append/truncate-only Log system logging, generational mailstore, undo/redo logs, etc. –Hash table web cache, search index/data, mint accounts, etc. pop quiz: why and how is this different than a filesystem? –Tree / Trie / Treap to get interval search capabilities

Example Application: Parallelisms Provides “relevant site” information given a URLProvides “relevant site” information given a URL –an inversion of Yahoo! directory Yahoo!: returns URLs from a hierarchy of topics Parallelisms: builds an index of all URLs, and returns other URLs in same topic groups –read-mostly traffic, nearly no consistency requirements –large database of URLs ~ gigabyte of space for 1.5 million URLs and topics Service FE itself is very simpleService FE itself is very simple –400 semicolons of C 130 for app-specific logic 270 for threads, HTTP munging, etc. paralllelisms/parallelisms.html

Existing Applications –Ninja "NOW Jukebox" Harnesses Berkeley Network of Workstations Plays real-time MPEG-3 audio served from 110+ CD's worth of music –Voice-enabled room control Speech-to-text Operators control room services (camera, lights, microphone) Eventual integration with GSM cell phones and PDA-based UI –Stock Trading Service Accesses real-time stock data from Internet Programmatic interface to buy/sell/trade stocks through online brokerage –NinjaFAX Programmable remotely-accessed FAX machine service Send/receive FAXes; authentication used for access control –Keiretsu: The Ninja Pager Service Provides instant messaging service via Web, 1/2-way pagers, WorkPads, etc.

Future Applications Universal InboxUniversal Inbox – , FAX, pager, voic accessible anywhere Universal RemoteUniversal Remote –multiple-UI control of household/room devices –automatic UI generation Ecash MintEcash Mint –Authenticated service to act as digital secure cash mint