140 likes | 285 Views
My Dream of Jini. Fabio Kon Jalal Al-Muhtadi Roy Campbell M. Dennis Mickunas f-kon@cs.uiuc.edu Department of Computer Science University of Illinois at Urbana-Champaign http://choices.cs.uiuc.edu/2K. Java, Jini, and Active Spaces. Active Spaces project at U. of Illinois
E N D
My Dream of Jini Fabio Kon Jalal Al-Muhtadi Roy Campbell M. Dennis Mickunas f-kon@cs.uiuc.edu Department of Computer Science University of Illinois at Urbana-Champaign http://choices.cs.uiuc.edu/2K
Java, Jini, andActive Spaces • Active Spaces project at U. of Illinois • 6 professors, ~25 grads, 3-5 years • Based on • 2K Network-Centric OS (middleware level) • CORBA • Java and C++ • Instantiating Jini patterns using CORBA • Bridges to link our system to real Jini • Byproduct: analyze strenghts and limitations of Jini
Security and Privacy • Jini and other Jini-like technologies are going to enter our lives and homes. • Concerns • Protecting from home viruses • Denial of Service attacks • Privacy • Supermarket scenario: • want to get info about products using palmtops • don’t want the supermarket to track us
Java is a Good Start • We can protect ourselves using: • bytecode verification • type safety • sandboxes • code signing • But we also need • authentication of users and services • access control • communication integrity and privacy • delegation
Jini and TinySESAMEPrototype • SESAME (an European security standard) • Jalal Al-Muhtadi (U. of Illinois) • Tiny SESAME: dynamically configurable, component-based subset of SESAME • Authentication through different methods • Different strengths of encryption • Supports Role-Based Access Control • Limited-time certificates
Secure Smart Home • Software simulation of a Smart Home • Uses Jini plug-and-play facilities • Uses Tiny SESAME for • mutual authentication • encryption • role-based access control
Scaling Up • How to support multiple hierarchical domains? • How to integrate small Jini domains into wide-area distributed systems? • Federation of Lookup Servers • Current research at U. of Illinois: • Federation of CORBA Name Servers and Traders • MIT’s “intentional naming system”
Wearable wrist watches 16-bit CPU, 4 MHz, 2 MB flash memory Scaling Down • Difficult to run JVM in small devices like PalmPilots. • It’s not just a matter of saying “memory and CPU is getting cheaper”. Light bulb / paperclip 8-bit CPU, 1 MHz, 8 KB RAM?
Scaling Down -Possible Solutions 1. Proxies • Run native code objects in the small devices. • Use sockets to talk to Java proxies on the local network. 2. CORBA Jini bridges • Run small CORBA ORBs in the small devices. • Use bridges to integrate the CORBA clients with the Java/Jini world.
Java-related Problems • Dynamic loading is great. But dynamic unloading is also important: • replacing class implementations on the fly • maintaining minimal memory footprint • Hiding platform-specific details is good. • But, access to system resource information is important for adaptable applications.
Conclusion • Jini is great but a few desirable features are still missing. • Shall we extend the Jini pattern language with patterns related to Security, Proxies, Bridges, and Federations?
How to contact us e-mail: {f-kon,almuhtad}@cs.uiuc.edu 2K Web site: http://choices.cs.uiuc.edu/2K