150 likes | 165 Views
Active Names: Flexible Location and Transport of Wide-Area Resources. Luis Rivera. Outline. Motivation Active Names Definition Goals Architecture Conclusions Related Work Discussion In case something had not been discussed yet!. Motivation. Problem
E N D
Active Names: Flexible Location and Transport of Wide-Area Resources Luis Rivera
Outline • Motivation • Active Names • Definition • Goals • Architecture • Conclusions • Related Work • Discussion • In case something had not been discussed yet!
Motivation • Problem • Mobile computing and modern web applications does not fit well into the static DNS scheme • Need for rapid deployment and extensibility of Internet services • Solutions • Active Networks • Active Services • Active Cache • Smart Clients • Active Routing • Active Names!!!
R R R R R R R R Active Names • Name • Chain of programs to resolve and reply • The name is ACTIVE: “There is not second step to request the service after name resolution”. C S
Architecture Goals • Namespace should be • Customizable • Clients and services customize their namespaces • Extensible • Add functionality without modifying the architecture • Composible • Efficient use of network resources • Location independence resolution • The chain of programs should not be linked to fixed locations • Discussion • Efficiency through extensibility! • Extensibility through naming!
R R R Resolution Partially Solved Name Next Namespace program After Method Solved Name Service Request Name Namespace program • Active chain mechanisms • Delegation • CPS Continuation Passing Style • Resolvers • Located in strategic points in the network Service Reply C S Service Reply Service Reply After Method list
Active Name Programs • Microkernel approach • Resolvers must provide • A loader to fetch namespace programs • Security for untrusted code (Java-2) • Local soft state • Communication interfaces • Bootstrap • Some initial programs are loaded onto each Active Name machine • Discussion • This works at the service level, we still need DNS right? • With different services in the same machine, who dictates security and resource access policies?
Namespace • A namespace is a program • Locates data and resources • Hierarchically organized • Root interprets all names • Each namespace can interpret a name according to its own rules • Those rules are set by the owner of that portion of the namespace • Discussion • Namespace boundaries are fuzzy! • How scalable is this architecture?
After Methods and API • After methods • Multi-way RPC based on distributed CPS • The remaining work of the namespace is prepended to the After Method list • The list represents the way to follow back to the client • API • Partially resolved name • Reference to the data stream • List of after methods • The framework support legacy applications
Active Names Principles • Extensibility • Functionality can be added as needed • Example: Replicated Service Access • Location Independence • A name does not reveal the location of the service • Example: Image Distiller • Composibility • Combination of client and server extensions to improve service performance • Example: Web caching
Performance • Replicated Service • DNS Round Robin: Best performance at low load. • Distributed Director: Best performance high load. • Active Names • Technique: Selection is biased by the number of hops and a decaying histogram of previous performance. • Best performance overall • Distiller • Server: Worse performance when server is loaded • Proxy: Overall good performance in both cases • Active Names: • Technique: Selection biased by end-to-end distillation cost. • Best performance in most of the cases
Performance (cont…) • Data on Table 1 is interesting • Justify composibility? • Test • Analysis of server-initiated and client-initiated customizations • Distillation implements client-initiated customizations • Combination of server and client customizations • Better than distillation only by 50% • Better than server-only by 104% • Discussion • In all these examples, the client is mobile and the service is static • Does this represents a solution the applications of tomorrow?
Related Work • TP monitors (Transaction Processing monitors) • “A Swiss Army knife of tools reflecting the particular holes in the surrounding system” • Intentional Naming System (INS) • Applications specify what they are looking for, not where to locate them. • Ninja project • Smart Clients • Active Caches
Conclusions • Active names • Programs that resolve the name and retrieve the reply from the requested service • The Active names framework support • Extensibility • Location-independence • Composibility • The experiments showed a significant performance gain using the Active Name extensions • Even with the use of Java to code the programs.
Discussion • Good or bad? • I think is a cool idea !!! • Where these experiments enough? • What could happened with a very long chain of active names? • Is this a solution for a really mobile environment where services are not fixed? • How scalable is this framework? • They say that several thousands, but where are they justifying it?