Proactive Infrastructure: The Ninja Service Platform David Culler Eric Brewer, Anthony Joseph & Randy Katz UC Berkeley ninja.cs.berkeley.edu.

Slides:



Advertisements
Similar presentations
Service Encapsulation in ICEBERG Bhaskaran Raman ICEBERG, EECS, U.C.Berkeley Presentation at Ericsson, Sweden, June 2001.
Advertisements

Mobile Agents Mouse House Creative Technologies Mike OBrien.
A Java Architecture for the Internet of Things Noel Poore, Architect Pete St. Pierre, Product Manager Java Platform Group, Internet of Things September.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
The road to reliable, autonomous distributed systems
Problem Statement Requirement –Service integration and personalization Goals –Any-to-any capability –Extensibility: ease of adding new end-points –Scalability:
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
10th January 2000ISRG Retreat1 Internet Service Models By Ramakrishna Gummadi Computer Science Division UC Berkeley
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.
Resource Management – a Solution for Providing QoS over IP Tudor Dumitraş, Frances Jen-Fung Ning and Humayun Latif.
Towards I-Space Ninja Mini-Retreat June 11, 1997 David Culler, Steve Gribble, Mark Stemm, Matt Welsh Computer Science Division U.C. Berkeley.
1 Internet-Scale Systems Research Group Eric Brewer, David Culler, Anthony Joseph, Randy Katz, Steven McCanne Computer Science Division, EECS Department.
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
Connecting the Invisible Extremes of Computing David Culler U.C. Berkeley Summer Inst. on Invisible Computing July,
1 Fault-tolerant Paths ISRG Retreat Z. Morley Mao 1/11/2000 Services Paths.
October 2003 Iosif Legrand Iosif Legrand California Institute of Technology.
Clusters Massive Cluster Gigabit Ethernet System Design for Vastly Diverse Devices David Culler U.C. Berkeley HP Visit 3/9/2000.
1 Internet-Scale Systems Research Group Eric Brewer, David Culler, Anthony Joseph, Randy Katz, Steven McCanne Computer Science Division, EECS Department.
Proactive Infrastructure: The Ninja Service Platform David Culler, Eric Brewer, Anthony Joseph & Randy Katz UC Berkeley ninja.cs.berkeley.edu.
COS 461: Computer Networks
Post-PC Summary Prof. Eric A. Brewer
The Ninja Service Platform Architecture or, “The Right Way to do Thin Client Computing” Steve Gribble UC Berkeley CS Division
Little Demonstration of the Power in Discovery Jason Hill, Steve Ross David E. Culler Computer Science Division U.C. Berkeley.
The Case for Open Infrastructure Services in Java David Culler Computer Science Division U.C. Berkeley Java Grande Dinner Keynote,
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.
Packing for the Expedition David Culler. 5/25/992 Ongoing Endeavors Millennium: building a large distributed experimental testbed –Berkeley Cluster Software.
Understanding and Managing WebSphere V5
1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
1 J2EE Components. 2 Application Servers relieve the programming burden for business distributed components. They provide support for system level services.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Universal Inbox: Extensible Personal Mobility and Service Mobility in an Integrated Network Bhaskaran Raman, Randy H. Katz, Anthony D. Joseph ICEBERG,
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
1 Liquid Software Larry Peterson Princeton University John Hartman University of Arizona
ACAT 2003 Iosif Legrand Iosif Legrand California Institute of Technology.
Wireless Networks of Devices (WIND) Hari Balakrishnan and John Guttag MIT Lab for Computer Science NTT-MIT Meeting, January 2000.
Java Security Nathan Moore CS 665. Overview Survey of Java Inherent Security Properties Java Runtime Environment Java Virtual Machine Java Security Model.
1 Mobile Networks logica Contents Confidential & Proprietary to Logica © 2001 Application-Level Active Networks Presented at Dublin Breakfast Briefing,
Copyright © 2002 Intel Corporation. Intel Labs Towards Balanced Computing Weaving Peer-to-Peer Technologies into the Fabric of Computing over the Net Presented.
1- Distributed Systems Principles and Paradigms Operating Systems: Concurrent and Distributed Software Design Jean Bacon, Tim Harris 2003.
Conferencing & Enterprise ROI Randy Knaub Director of Marketing.
ABone Architecture and Operation ABCd — ABone Control Daemon Server for remote EE management On-demand EE initiation and termination Automatic EE restart.
ProActive Infrastructure Eric Brewer, David Culler, Anthony Joseph, Randy Katz Computer Science Division U.C. Berkeley ninja.cs.berkeley.edu Active Networks.
© Siemens AG CoC Flexible Service Networking Service Composition – Scenarios and Research Challenges Jochen Sauter Corporate Technology Siemens.
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
PPDG February 2002 Iosif Legrand Monitoring systems requirements, Prototype tools and integration with other services Iosif Legrand California Institute.
NINJA. Project of UC Berkeley Computer Science Division Paper : The Ninja Architecture for Robust Internet-Scale Systems and Services
IPS Infrastructure Technological Overview of Work Done.
Societal-Scale Computing: The eXtremes Scalable, Available Internet Services Information Appliances Client Server Clusters Massive Cluster Gigabit Ethernet.
Gaia An Infrastructure for Active Spaces Prof. Klara Nahrstedt Prof. David Kriegman Prof. Dennis Mickunas
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
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.
Chapter 3: Windows7 Part 4.
The Case for Open Infrastructure Services in Java
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Next-Generation Internet-Scale Systems Ninja/Millennium Projects
Towards a Service Architecture for Internet-Scale Systems
ICEBERG Release Version 0
Problem Statement Communication devices Communication services
Proactive Infrastructure: The Ninja Service Platform
An Architecture for Secure Wide-Area Service Discovery
Presentation transcript:

Proactive Infrastructure: The Ninja Service Platform David Culler Eric Brewer, Anthony Joseph & Randy Katz UC Berkeley ninja.cs.berkeley.edu

Moving Away from the ‘average’ Device Scalable, Available Internet Services - millions of clients - always up Infomation appliances Client Server

How do we get arbitrarily powerful, personalized services on arbitrarily small devices anywhere? Harness the intelligence in the infrastructureHarness the intelligence in the infrastructure –adapt (distill) content to specific device and context –increasingly diverse population Connectivity!Connectivity! Laptops, Desktops Devices

Imagine You walk into a roomYou walk into a room You have complete, secure, optimized access to local devices and your private resources Your PDA connects to the local infrastructure and asks it to build a custom GUIYour PDA connects to the local infrastructure and asks it to build a custom GUI Next, your PDA asks the infrastructure for a path out to your personal information space, where agents are processing your , v-mail, faxes, and pagesNext, your PDA asks the infrastructure for a path out to your personal information space, where agents are processing your , v-mail, faxes, and pages

How do we enabled distributed innovation on Scalable, Available Services? Servers Clients Servers Infrastructure Services Open => Push services into an Active infrastructure

Ninja Project Goals Enable a service-centric worldEnable a service-centric world –Move applications into the core of the network Robust infrastructure for services:Robust infrastructure for services: –Scalable, highly available, and persistent –Customizable: enable personal preferences (and code!) –Support a wide-range of devices: pagers to PCs –Easy to author Universal framework for constructing and deploying servicesUniversal framework for constructing and deploying services –Programming model and execution environment for scalable services –Authentication and pay-per-use services –Automatic discovery, composition and use of sub-services

Bases (1M’s)Bases (1M’s) –scalable, highly available –persistent state (safe) –databases, agents –“home” base per user –service programming environment Wide-Area Path Active Proxies (100M’s)Active Proxies (100M’s) –not packet routers –bootstrap thin devices into infrastructure –soft-state and well-connected Units (1B’s)Units (1B’s) –sensors / actuators –PDAs / smartphones / PCs –heterogeneous –Minimal functionality: “Smart Clients” A Structured Architecture Approach

What is a Service? ServiceService –Highly available program (or cooperating programs) fixed interface at a fixed location (lives in the infrastructure) guarantees about performance, availability, consistency –Strongly typed interface Multiple services of a given type compete Compete on location, price, robustness, “quality”, brand name Service Discovery Service (SDS)Service Discovery Service (SDS) –Find “best” service of given type current approach based on weighted statistical matching –Construct a “path” from client to service

Ex: Personal Information Management Voice Mail store Laptop (VAT) Univ-Inbox Service store Directory Server 1 AP 1 AP 2 AP 3 AP 4 GSM AP 5 IP Core Network PSTN Directory Server n Users (will) have lots of (new) end devices Each device has its own address, capabilities, etc. Universal Inbox gives users control over how info reaches them Transcoders adapt content to end device

Example: Ninja Jukebox CD “ripper” service CDDB service iSpace Fetches track/title & artist information from an online DB. 1 iSpace Music Directory service HTTPd service Pushes an index of locally available songs to the master directory. 2 WWW Browser Web page with song playlists 3.au/.mp3 player Music stream (.au or.mp3) 4

Example: Millennium Cluster Large-Scale Campus-wide TestbedLarge-Scale Campus-wide Testbed Management by ServicesManagement by Services –push monitoring service into nodes –clusterview service logs, aggregates, manages Resource allocation by market servicesResource allocation by market services –banks, brokers, merchants Cell Phones PDAs Future Devices Wireless Desktop PCs Servers Clusters Massive Cluster Gigabit Ethernet

Why Open Infrastructure Services? DATEK (Trust Contract) Trusted Client https

Embedded Untrusted Interface? Key Store DATEK (Trust Contract) Trusted Client https Content Filter (pseudonym) sRMI NINJA Infrastructure Services Embeded Untrusted Client https

One Time Passwd to pseudo-service Cannot increasing the security of the channel so decrease the value of the content.Cannot increasing the security of the channel so decrease the value of the content.

Constrained Personal Device & Untrusted Gateway Key Store DATEK (Trust Contract) Trusted Client Content Filter (pseudonym) https Embeded Untrusted Client https sRMI Personal Appl CF NINJA GWY RMI PXY ST

Example: Minimal Trader Shared secret between user and keystoreShared secret between user and keystore keystore maps to service identity / authenticationkeystore maps to service identity / authentication Content filter transcodes to very concise info to pilotContent filter transcodes to very concise info to pilot

Uniform Access to Diverse Services Key Store RMI PXY DATEK (Trust Contract) Trusted Client Content Filter (pseudonym) https Embeded Untrusted Client https sRMI Personal Appl GWY CF NINJA Trade-R-us ST

Automated “Clients”,... Key Store RMI PXY DATEK (Trust Contract) Trusted Client Content Filter (pseudonym) https Embeded Untrusted Client https sRMI Personal Appl GWY CF NINJA Trade-R-us BOT svc ST

Requirements Utility: scalable, highly available, reliableUtility: scalable, highly available, reliable Support for persistent dataSupport for persistent data Support for streams, not just RPCSupport for streams, not just RPC Support for automatic data transformationSupport for automatic data transformation Support for fine-grain authentication and paymentSupport for fine-grain authentication and payment  Provide support in the Ninja platform  Compose services upon it

Ninja Platform Architecture BaseBase Active ProxyActive Proxy UnitsUnits PathsPaths Service DiscoveryService Discovery

Base 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

Base Implementation iSpace: the building block of a BaseiSpace: the building block of a Base –receptive execution environment –intra-Base primitives (stub generation, persistent data repository, 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 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 Services names are at the granularity of the entire cluster, not individual nodes.

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. consistent, persistent, and highly available –Tree / Trie / Treap

Fast Communication and I/O in Java Scalable Ninja services need full capabilities of Base devicesScalable Ninja services need full capabilities of Base devices –fast SAN, IO rivers JNI overhead too largeJNI overhead too large –can violate type safety –chokes JVM JDI by JIT interpositioningJDI by JIT interpositioning –intelligent devices reflected as Java objects –JIT interprets operations on devices –data buffers bypass JVM –ex: Java AM over VIA on Myrinet Streaming data JVM Node HW/OS Fast Devices JNI Scalable Service

Active Proxy Local execution environment (interchangeable)Local execution environment (interchangeable) No support for persistent data (soft state)No support for persistent data (soft state) Runs an iSpace but not a MultiSpaceRuns an iSpace but not a MultiSpace Bootstraps small devices into the infrastructureBootstraps small devices into the infrastructure –could run Jini or other local discovery mechanisms –could be in a home or basestation –performs resource discovery and path creation for the device –typically well connected (while device is not)

Wide-Area Paths Path is a first-class entityPath is a first-class entity Explicit or automatic creationExplicit or automatic creation Can change dynamicallyCan change dynamically –change path or its operators Unit of authentication -- delegate along the pathUnit of authentication -- delegate along the path Unit of local resource allocationUnit of local resource allocation –bandwidth, cycles, etc.

Operators/Connectors Operators: –transformation –aggregation –agents –wrappers for legacy servers –application and transport levelConnectors: –abstract wires –ADUs –varying semantics –uni/multicast –includes AN components Interfaces: –Set of methods –Currently in Java w/ XML spec –Goal: inherit COM objects –Strong types enable automated connection

Automatic Path Creation After resource discovery –we know the source & sink –next we must create a path between them 1) Find logical path of operators –path must type check 2) Place operators on bases/APs –some operators have affinity; place them first –some operators may be Active Networks components 3) Add connectors as needed

Status Several services running all the timeSeveral services running all the time Release 1.0 now availableRelease 1.0 now available –contact info: ninja.cs.berkeley.edu –Includes: NinjaRMI, including authentication iSpace/MultiSpace infrastructure SDS (soon) Several example services, including Ninja Jukebox Active current focus:Active current focus: –driving applications: , group calendar, PDA svcs –service discovery & path creation –Java I/O and fast communication –cluster-wide data structures

Existing Applications Ninja "NOW Jukebox"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 controlVoice-enabled room control –Speech-to-text Operators control room services (camera, lights, microphone) –Integration with GSM cell phones and PDA-based UI (soon) Stock Trading ServiceStock Trading Service –Accesses real-time stock data from Internet –Programmatic interface to buy/sell/trade stocks through online brokerage NinjaFAXNinjaFAX –Programmable remotely-accessed FAX machine service –Send/receive FAXes; authentication used for access control Keiretsu: The Ninja Pager ServiceKeiretsu: The Ninja Pager Service –Provides instant messaging service via Web, 1/2-way pagers, WorkPads, etc.

Coming Applications Universal InboxUniversal Inbox – , FAX, pager, voic accessible anywhere –persistent data (yes we will use it!) Infrastructure-based group calendarInfrastructure-based group calendar –handles both web and PDA access –supports disconnected operation 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 –Enable real pay-per-use services (e.g. Coke machine)

Ninja Requirements Summary Utility: scalable, highly available, reliableUtility: scalable, highly available, reliable –Base, MultiSpace, Smart Client, NinjaRMI, and mobile code –Architecture for easy development/deployment of services Support for persistent dataSupport for persistent data –Base and persistent hash tables Support for streams, not just RPCSupport for streams, not just RPC –Operators and wide-area paths Support for automatic data transformationSupport for automatic data transformation –Wide-area paths: Strong typing & Automatic Path Creation –Span spectrum of end-user devices dynamically Support for fine-grain authentication and paymentSupport for fine-grain authentication and payment –Authenticated and pay-per-use services

Thoughts Strong typing, mobile code, & type safety are fundamental in designing, developing, and using the next generation infrastructureStrong typing, mobile code, & type safety are fundamental in designing, developing, and using the next generation infrastructure Service Composition is the next level of ProgrammingService Composition is the next level of Programming

To Read More The MultiSpace: an Evolutionary Platform for Infrastructural Services, S. Gribble, Welsh, Brewer, and Culler Usenix Annual Technical Conference.The MultiSpace: an Evolutionary Platform for Infrastructural Services, S. Gribble, Welsh, Brewer, and Culler Usenix Annual Technical Conference. An Architecture for a Secure Service Discovery Service, Czerwinski, Zhao, Hodes, Joseph, and Katz., MobiCom '99An Architecture for a Secure Service Discovery Service, Czerwinski, Zhao, Hodes, Joseph, and Katz., MobiCom '99