1 / 17

NINJA

NINJA. The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices. Project of UC Berkeley Computer Science Division Paper : The Ninja Architecture for Robust Internet-Scale Systems and Services. http://ninja.cs.berkeley.edu/

fedora
Download Presentation

NINJA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NINJA

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

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

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

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

  6. The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices • Device Diversity : Concept of Units • Adaptation by Active proxies : Concept of Distillation • * Computational power • * Network Connectivity • * Interface Capabilities of devices • e.g. Wireless Base stations, Network 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 )

  7. 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 # A programming Model : * Splitting a Service into Stages e.g. : web server service = reading + retrieving + return * Design Patterns 1.Wrap 2. Combine 3. Pipeline 4. Replicate # Java –Based I/O Substrate Implementation Jaguar : (Java Access to generic Underlying Architectural Resources ) Extension to the Java Environment

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

  9. 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 Concurrency * Availability # Strictly Consistent in Nature : # Atomic in Nature

  10. 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 eg. 1) HTML to WML for WAP phones 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 3) Multiple device fusion :Combining capabilities of various devices .Eg. Display of local kiosk and entering data thru PDA

  11. 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 * Creating the network connection * Fine Tuning the performance of data flow * Error Correction 2) Path = Operators (perform computation on data) + Connectors (protocol translations between operators ) 3) Operators : Strongly types and know the input they accept and output they produce .

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

  13. 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

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

  15. The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices Design of Service Discovery Service : 1) Elements of the SLS * Clients * Services * 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 and Private keys in the form of certificates . 5) Capability Manager : (CM) Manages individual access control Lists on behalf of each authenticated service . Hiding the services rather than disallowing the access

  16. The Ninja Project Enabling Internet-scale Services from Arbitrarily Small Devices 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.

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

More Related