11/13/00 1 Design of a Home Network Rajesh Rajamani

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

TU/e Service Discovery Mechanisms: two case studies / IC2002 Service Discovery Mechanisms: Two case studies Control point Device UPnP Terminal Domain Host.
JINI Network Technology
Chapter 17 Networking Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
5.1 Overview of Network Access Protection What is Network Access Protection NAP Scenarios NAP Enforcement Methods NAP Platform Architecture NAP Architecture.
Implementing Inter-VLAN Routing
JINI Shashwat Shriparv InfinitySoft.
THE JINI TECHNOLOGY Alessio Zumbo
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
The road to reliable, autonomous distributed systems
Network-Attached Storage
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.
CS 603 Jini April 10, What is Jini? Java Middleware Tools to construct federation –Multiple devices, each with Java Virtual Machine –Multiple services.
Distributed Service Architectures Yitao Duan 03/19/2002.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Figure 1.1 Interaction between applications and the operating system.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability.
What Is TCP/IP? The large collection of networking protocols and services called TCP/IP denotes far more than the combination of the two key protocols.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Pay As You Go – Associating Costs with Jini Leases By: Peer Hasselmeyer and Markus Schumacher Presented By: Nathan Balon.
A global, public network of computer networks. The largest computer network in the world. Computer Network A collection of computing devices connected.
Interconnection Protocol Mustafa Kara Term Work.
1 The SpaceWire Internet Tunnel and the Advantages It Provides For Spacecraft Integration Stuart Mills, Steve Parkes Space Technology Centre University.
Cli/Serv.: JXTA/151 Client/Server Distributed Systems v Objective –explain JXTA, a support environment for P2P services and applications ,
Presented by Mark Miyashita
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
Introduction - What is Jini Technology?
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Connecting to the Network Networking for Home and Small Businesses.
January 26, Jim Waldo Copyright 1999 Sun Microsystems, Inc., all rights reserved.
1 Vrijendra Gokhale, Bernard Menezes K. R. School of Information Technology IIT Bombay User Interfaces for Jini Services The Jini Pattern Language Workshop.
SPREAD TOOLKIT High performance messaging middleware Presented by Sayantam Dey Vipin Mehta.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
1 Networking Chapter Distributed Capabilities Communications architectures –Software that supports a group of networked computers Network operating.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
INTERNET AND ADHOC SERVICE DISCOVERY BY: NEHA CHAUDHARY.
RMI remote method invocation. Traditional network programming The client program sends data to the server in some intermediary format and the server has.
JINI Design and Principles Ranjita Bhagwan CSE225: High-Performance Distributed Computing.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Jini Architecture Alessandro Brawerman. Contents Jini definition Advantages Architecture How it works Websites to check.
Service Discovery Protocols Mobile Computing - CNT Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University.
Jini Architecture Introduction System Overview An Example.
IT Ess I v.4x Chapter 1 Cisco Discovery Semester 1 Chapter 3 JEOPADY Q&A by SMBender, Template by K. Martin.
Kemal Baykal Rasim Ismayilov
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Jini Architectural Overview Li Ping
Overview of Jini CS Fall 2000 Jason I. Hong.
CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Enterprise Computing with Jini Technology Mark Stang and Stephen Whinston Jan / Feb 2001, IT Pro presented by Alex Kotchnev.
COMPUTER NETWORKS Hwajung Lee. Image Source:
IP Security (IPSec) Matt Hermanson. What is IPSec? It is an extension to the Internet Protocol (IP) suite that creates an encrypted and secure conversation.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Introduction to Operating Systems Concepts
Semester 1 Cisco Discovery JEOPADY Chapter 3.
Lecture 6: TCP/IP Networking By: Adal Alashban
Network Services 9/18/2018.
Chapter 3: Windows7 Part 4.
Chapter 3: Operating-System Structures
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
Chapter 2: Operating-System Structures
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Java Remote Method Invocation
Chapter 2: Operating-System Structures
Presentation transcript:

11/13/00 1 Design of a Home Network Rajesh Rajamani

11/13/00 2 Home networking - Applications  Computer Interconnection  Control

11/13/00 3 Home networking technologies – Physical layer  Phoneline  Powerline  Ethernet  Wireless

11/13/00 4 We wanted …  A Dynamic network Configuration Sharing resources Maintanence Control - from anywhere, anytime

11/13/00 5 Design issues  System Software  Hardware  Integrating hardware with software

11/13/00 6 Connection Technology  Jini  UPnP

11/13/00 7 Choices – Operating system  Linux  Unix variants  Windows  Guiding principle - Source availability, Synopsys’ network

11/13/00 8 Choices - Hardware  Verilog - Popular in North America  VHDL - Popular in Europe  Guiding principle - Time to Market

11/13/00 9 Verification

11/13/00 10 Co-verification using Eaglei  Link models  Instruction set simulator (ISS)  Live Target

11/13/00 11 GenericVSPRead32() Eaglei VSP Memory /registers 1. Function call 2. Reaches VSP core thru eaglei 3. I/O bound instructions are executed Link model  Full visibility into the s/w execution process  Can test functionality of the design

11/13/00 12 ISS model BFM ISS Actual Instructions  Full visibility into the processor and can execute assembly instrs  Good for debugging device drivers

11/13/00 13 Finally, each device Application using Jini JVM Java Native Interface Eaglei Verilog Model

11/13/00 14 The Network The services register their proxies with the lookup service, which is queried by the servlet for servicing the request from the client. DEVICES WWW CLIENT SERVLET The Client clicks on the link leading to his URL requesting a service Jini Lookup 1. Ask for the service 2. Get the service proxy 3. Interact with device

11/13/00 15 Jini Connection Technology  Java centric, distributed system designed for simplicity, flexibility and federation  Members of the federation agree on basic notions of trust, administration, identification and policy  Components - Services, Infrastructure and programming model

11/13/00 16 Components InfrastructureProgramming model Services JVM, RMI, Discovery/Join, Lookup service, Java security Java API, Leasing, Transactions, events Printer, Refrigerator, …

11/13/00 17 Key concepts  Lookup Service - Central bootstrapping mechanism for the system; helps find and resolve available services; service added to a lookup service by a pair of protocols - Discovery and Join  Leasing - Grant of guaranteed services over a time period  Security – JDK 1.2 Security model

11/13/00 18 Key concepts  Service object contains the Java programming language interface for the service, including the methods that users and applications will invoke to execute the service along with any other descriptive attributes.

11/13/00 19 Service Provider Lookup Service Lookup’s proxy Service Provider Lookup Service Lookup’s proxy

11/13/00 20 Service Provider Lookup Service Lookup’s proxy 1. Get Lookup’s proxy from the lookup DISCOVERY

11/13/00 21 Service Provider Service Attributes Lookup Service Service Object Service Attributes Service Object Lookup’s proxy 1. Get Lookup’s proxy from the lookup 2. Register service object with lookup Lookup’s proxy JOIN

11/13/00 22 Service Provider Service Object Service Attributes Client Lookup Service Service Object Service Attributes 3b. Interact with service 2b. Gets Service Proxy 1b. Query the Lookup service

11/13/00 23 Discovery and Join  Discovery - Process by which Jini applications find the lookup services that serve their communities.  Two forms - Serendipitous and hard wired.  Service initiated discovery, Lookup initiated discovery and direct discovery

11/13/00 24 Multicast Request (Service Initiated Discovery Discoverer Lookup Service 1. Request Message (sent via UDP Multicast) IP Address port:4160 via UDP Multicast) IP Address port: Response Message – Service Proxy sent (Sent via TCP unicast)

11/13/00 25 Protocol Characteristics Multicast UDP to IP , port 4160 Interval - 5 secs. Seven rounds of multicast requests is recommended Switch over to listening for announcements Multicast Packet length never to exceed 512 bytes

11/13/00 26 Multicast Announcement (Lookup initiated discovery) Discoverer Lookup Service 1. Announcements (sent via UDP Multicast) IP Address port: Response Message (Sent via TCP unicast) 2. Request Message (sent via TCP unicast)

11/13/00 27 Protocol Characteristics  Multicast UDP to IP , port 4160  Interval secs.  Multicast Packet length never to exceed 512 bytes.

11/13/00 28 Unicast Discovery (Direct Discovery) Discoverer Lookup Service 1. Request Message (sent via TCP Unicast) 2. Response Message (Sent via TCP unicast, connects to 4160)

11/13/00 29 Join Protocol  Registering with the lookup service  The service object for the service is loaded into the lookup service  Get a lease - a period of time during which the lease grantor ensures that the holder of the lease will have access to some resource

11/13/00 30 Join Protocol Client Service Object Service Attributes Service Provider Service Object Service Attributes Client Lookup Service Service Object Service Attributes

11/13/00 31 Lookup Service Specification`  Programs that need a particular type of service can use the lookup service to find an instance.  Lookup service may provide a set of methods to enable incremental exploration of the collection.  Users are allowed to explore a collection of items down each of the major axes: attribute value and service type.

11/13/00 32 Lookup Service Service Provider Service Object Service Attributes Client Lookup Service Service Object Service Attributes 3. Interact with service 2. Gets Service Proxy 1. Query the Lookup service

11/13/00 33 Device Architecture Alternatives  Device with computing power, memory, full JVM  Devices with specialized JVMs - need not include security manager, code verifier, or a number of other components  Clustering of devices with a Shared Virtual Machine

11/13/00 34 Full Jini Capable Device Network Proxy Client Service client JVM Hardware Implementation Service Provider Communication via RMI protocol Private Protocol

11/13/00 35 Clustering of devices with a Jini capable proxy on the network Network Client Service clientNetwork Proxy Communication via RMI protocol Proxy JVM Private Protocol Dev 1Dev 2Dev 3

11/13/00 36 Conclusions  Encouraging Easy to put together  Discouraging Bad response time Jini + JVM (+ OS) is very heavy

11/13/00 37 The Network The services register their proxies with the lookup service, which is queried by the servlet for servicing the request from the client. DEVICES WWW CLIENT SERVLET The Client clicks on the link leading to his URL requesting a service Jini Lookup 1. Ask for the service 2. Get the service proxy 3. Interact with device Refrigerator SmartPhone Printer

11/13/00 38 Finally, each device Application using Jini JVM Java Native Interface Eaglei Verilog Model

11/13/00 39 Danger – if proxy overrides deserialization method public class HostileFileClassifier2 implements FileClassifier, java.io.Externalizable { public void readExternal(java.io.ObjectInput in) { if (java.io.File.pathSeparator.equals("/")) { // Unix - don't uncomment the next line! // Runtime.getRuntime().exec("/bin/rm -rf /"); } else { // DOS - don't uncomment the next line! // Runtime.getRuntime().exec("format c: /u"); } public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException{ out.writeObject(this); } } // HostileFileClassifier2

11/13/00 40 Security - Service Specify Policy File as command line argument java –Djava.security.policy=“filename” Sample Policy File grant { permission net.jini.discovery.DiscoveryPermission “printers"; // multicast request address permission java.net.SocketPermission " ", "connect,accept"; // multicast announcement address permission java.net.SocketPermission " ", "connect,accept"; // RMI connections permission java.net.SocketPermission "*.cs.wisc.edu:1024-", "connect,accept"; permission java.net.SocketPermission " :1024-", "connect,accept"; permission java.net.SocketPermission " :1024-", "connect,accept"; };

11/13/00 41 Security - Client grant { permission net.jini.discovery.DiscoveryPermission "*"; // multicast request address permission java.net.SocketPermission " ", "connect,accept"; // multicast announcement address permission java.net.SocketPermission " ", "connect,accept"; // RMI connections - DANGER // HTTP connections - this is where external code may come in - careful!!! permission java.net.SocketPermission " :1024-", "connect,accept"; permission java.net.SocketPermission "*.cs.wisc.edu:1024-", "connect,accept"; permission java.net.SocketPermission " :1024-", "connect,accept"; // HTTP connections - this is where external code may come in - careful!!! permission java.net.SocketPermission " :80", "connect,accept"; permission java.net.SocketPermission "*.cs.wisc.edu:80", "connect,accept"; };

11/13/00 42 Bluetooth v/s Jini  Bluetooth - transport layer, allowing devices to find each other, to form a local network. It does not say what they do then  Jini - application layer, allowing services and clients to use each other  Complementary

11/13/00 43 Co-verification

11/13/00 44 Clustering of multiple devices (physical option) Network Service client Communication via RMI protocol Proxy Client Service Provider JVM Private Protocol Dev 1Dev 2Dev 3

11/13/00 45 Leasing Characteristics  A lease is a period of time during which the lease grantor ensures that the holder of the lease will have access to some resource  A lease holder can request that a lease be renewed. If not renewed, the lease simply expires