Professional Documents
Culture Documents
Design of A Home Network: Rajesh Rajamani
Design of A Home Network: Rajesh Rajamani
Design of A Home Network: Rajesh Rajamani
Rajesh Rajamani
(raj@cs.wisc.edu)
11/13/00
11/13/00
11/13/00
We wanted
A Dynamic network
11/13/00
Design issues
System Software Hardware Integrating hardware with software
11/13/00
Connection Technology
Jini
UPnP
11/13/00
Windows
Guiding principle - Source availability, Synopsys network
11/13/00 7
Choices - Hardware
Verilog - Popular in North America VHDL - Popular in Europe Guiding principle - Time to Market
11/13/00
Verification
11/13/00
11/13/00
10
Link model
Full visibility into the s/w execution process Can test functionality of the design
GenericVSPRead32()
1. Function call
Eaglei
2. Reaches VSP core thru eaglei
Memory /registers
11/13/00
11
ISS model
Full visibility into the processor and can execute assembly instrs Good for debugging device drivers
Actual Instructions
BFM ISS
11/13/00
12
Verilog Model
11/13/00
13
The Network
CLIENT The Client clicks on the link leading to his URL requesting a service
WWW
SERVLET
The services register their proxies with the lookup service, which is queried by the servlet for servicing the request from the client.
Jini Lookup
11/13/00
14
Components
Infrastructure Programming model Java API, Leasing, Transactions, events Services
Printer, Refrigerator,
11/13/00
16
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 17
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
18
Service Provider
11/13/00
19
Lookup Service
Lookups proxy
DISCOVERY
Service Provider
Lookups proxy
1. Get Lookups proxy from the lookup
11/13/00
20
JOIN
Service Provider
Lookups proxy
2. Register service object with lookup 1. Get Lookups proxy from the lookup
11/13/00
Lookup Service
Service Provider
Client
Service Object
Service Attributes
11/13/00
22
11/13/00
23
Discoverer
1. Request Message (sent via UDP Multicast) IP Address 224.0.1.85 port:4160 via UDP Multicast) IP Address 224.0.1.85 port:4160
Lookup Service
Protocol Characteristics
Multicast UDP to IP - 224.0.1.85, 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
25
Discoverer
Lookup Service
11/13/00
26
Protocol Characteristics
Multicast UDP to IP - 224.0.1.84, port 4160
Interval - 120 secs. Multicast Packet length never to exceed 512 bytes.
11/13/00
27
Discoverer
Lookup Service
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 29
Lookup Service
Join Protocol
Service Object Service Object
Service Attributes
Client
Service Provider
Service Object
Service Attributes
11/13/00 30
Lookup Service
Lookup Service
Service Object Service Attributes
1. Query the Lookup service 2. Gets Service Proxy
Service Provider
Client
Service Object
Service Attributes
11/13/00
32
11/13/00
33
Service Provider
Hardware Implementation Private Protocol
JVM
Network
11/13/00
34
Network Proxy
JVM
Private Protocol
Network
Dev 1
Dev 2
Dev 3
11/13/00
35
Conclusions
Encouraging
Discouraging
11/13/00
36
The Network
CLIENT The Client clicks on the link leading to his URL requesting a service
WWW
SERVLET
The services register their proxies with the lookup service, which is queried by the servlet for servicing the request from the client.
Jini Lookup
Refrigerator 11/13/00
SmartPhone
DEVICES
Printer
37
Verilog Model
11/13/00
38
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 "224.0.1.85", "connect,accept"; // multicast announcement address permission java.net.SocketPermission "224.0.1.84", "connect,accept"; // RMI connections permission java.net.SocketPermission "*.cs.wisc.edu:1024-", "connect,accept"; permission java.net.SocketPermission "130.102.176.249:1024-", "connect,accept"; permission java.net.SocketPermission "127.0.0.1:1024-", "connect,accept"; };
11/13/00
40
Security - Client
grant { permission net.jini.discovery.DiscoveryPermission "*"; // multicast request address permission java.net.SocketPermission "224.0.1.85", "connect,accept"; // multicast announcement address permission java.net.SocketPermission "224.0.1.84", "connect,accept"; // RMI connections - DANGER // HTTP connections - this is where external code may come in - careful!!! permission java.net.SocketPermission "127.0.0.1:1024-", "connect,accept"; permission java.net.SocketPermission "*.cs.wisc.edu:1024-", "connect,accept"; permission java.net.SocketPermission "130.102.176.249:1024-", "connect,accept"; // HTTP connections - this is where external code may come in - careful!!! permission java.net.SocketPermission "127.0.0.1:80", "connect,accept"; permission java.net.SocketPermission "*.cs.wisc.edu:80", "connect,accept"; }; 11/13/00 41
11/13/00
42
Co-verification
11/13/00
43
Service Provider
Dev 1 Dev 2 Dev 3
Private Protocol
JVM
Network
11/13/00
44
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
11/13/00
45