Design of a Home Network - PowerPoint PPT Presentation

About This Presentation
Title:

Design of a Home Network

Description:

Verilog - Popular in North America. VHDL - Popular in Europe. Guiding principle - Time to Market ... Verilog Model. 11/13/00. 14. The Network ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 46
Provided by: com79
Category:
Tags: design | home | network | verilog

less

Transcript and Presenter's Notes

Title: Design of a Home Network


1
Design of a Home Network
  • Rajesh Rajamani
  • (raj_at_cs.wisc.edu)

2
Home networking - Applications
  • Computer Interconnection
  • Control

3
Home networking technologies Physical layer
  • Phoneline
  • Powerline
  • Ethernet
  • Wireless

4
We wanted
  • A Dynamic network
  • Configuration
  • Sharing resources
  • Maintanence
  • Control - from anywhere, anytime

5
Design issues
  • System Software
  • Hardware
  • Integrating hardware with software

6
Connection Technology
  • Jini
  • UPnP

7
Choices Operating system
  • Linux
  • Unix variants
  • Windows
  • Guiding principle - Source availability,
    Synopsys network

8
Choices - Hardware
  • Verilog - Popular in North America
  • VHDL - Popular in Europe
  • Guiding principle - Time to Market

9
Verification
10
Co-verification using Eaglei
  • Link models
  • Instruction set simulator (ISS)
  • Live Target

11
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
VSP
Memory /registers
3. I/O bound instructions are executed
12
ISS model
  • Full visibility into the processor and can
    execute assembly instrs
  • Good for debugging device drivers

Actual Instructions
BFM
ISS
13
Finally, each device
Application using Jini
JVM
Java Native Interface
Eaglei
Verilog Model
14
The Network
WWW
CLIENT
SERVLET
The Client clicks on the link leading to his URL
requesting a service
1. Ask for the service
Jini Lookup
2. Get the service proxy
The services register their proxies with the
lookup service, which is queried by the servlet
for servicing the request from the client.
3. Interact with device
DEVICES
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

16
Components
Infrastructure Programming model Services
JVM, RMI, Discovery/Join, Lookup service, Java security Java API, Leasing, Transactions, events Printer, Refrigerator,
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

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.

19
Lookup Service
Lookup Service
Lookups proxy
Lookups proxy
Service Provider
Service Provider
20
Lookup Service
Lookups proxy
DISCOVERY
Service Provider
Lookups proxy
1. Get Lookups proxy from the lookup
21
Lookup Service
Lookups proxy
Service Object
JOIN
Service Attributes
Service Provider
Lookups proxy
2. Register service object with lookup
1. Get Lookups proxy from the lookup
Service Object
Service Attributes
22
Lookup Service
Service Object
Service Attributes
1b. Query the Lookup service
2b. Gets Service Proxy
Service Provider
Client
Service Object
Service Attributes
3b. Interact with service
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

24
Multicast Request (Service Initiated Discovery
Discoverer
Lookup Service
1. Request Message (sent via UDP Multicast) IP
Address - 224.0.1.85 port4160 via UDP
Multicast) IP Address - 224.0.1.85 port4160
2. Response Message Service Proxy sent (Sent
via TCP unicast)
25
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

26
Multicast Announcement (Lookup initiated
discovery)
Discoverer
Lookup Service
1. Announcements (sent via UDP Multicast) IP
Address - 224.0.1.84 port4160
2. Request Message (sent via TCP unicast)
3. Response Message (Sent via TCP unicast)
27
Protocol Characteristics
  • Multicast UDP to IP - 224.0.1.84, port 4160
  • Interval - 120 secs.
  • Multicast Packet length never to exceed 512
    bytes.

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)
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

30
Lookup Service
Join Protocol
Service Object
Service Object
Service Attributes
Service Attributes
Service Provider
Client
Client
Service Object
Service Attributes
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.

32
Lookup Service
Lookup Service
Service Object
Service Attributes
1. Query the Lookup service
2. Gets Service Proxy
Service Provider
Client
Service Object
Service Attributes
3. Interact with service
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

34
Full Jini Capable Device
Service client
Service Provider
Hardware Implementation
Client
Private Protocol
Proxy
JVM
Network
Communication via RMI protocol
35
Clustering of devices with a Jini capable proxy
on the network
Service client
Network Proxy
Client
Proxy
JVM
Private Protocol
Network
Communication via RMI protocol
Dev 1
Dev 2
Dev 3
36
Conclusions
  • Encouraging
  • Easy to put together
  • Discouraging
  • Bad response time
  • Jini JVM ( OS) is very heavy

37
The Network
WWW
CLIENT
SERVLET
The Client clicks on the link leading to his URL
requesting a service
1. Ask for the service
Jini Lookup
2. Get the service proxy
The services register their proxies with the
lookup service, which is queried by the servlet
for servicing the request from the client.
3. Interact with device
Printer
Refrigerator
SmartPhone
DEVICES
38
Finally, each device
Application using Jini
JVM
Java Native Interface
Eaglei
Verilog Model
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

40
Security - Service
  • Specify Policy File as command line argument
  • java Djava.security.policyfilename
  • Sample Policy File
  • grant
  • permission net.jini.discovery.DiscoveryPermiss
    ion 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.edu1024-", "connect,accept"
  • permission java.net.SocketPermission
    "130.102.176.2491024-", "connect,accept"
  • permission java.net.SocketPermission
    "127.0.0.11024-", "connect,accept"

41
Security - Client
  • grant
  • permission net.jini.discovery.DiscoveryPermiss
    ion ""
  • // 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.11024-", "connect,accept"
  • permission java.net.SocketPermission
    ".cs.wisc.edu1024-", "connect,accept"
  • permission java.net.SocketPermission
    "130.102.176.2491024-", "connect,accept"
  • // HTTP connections - this is where external
    code may come in - careful!!!
  • permission java.net.SocketPermission
    "127.0.0.180", "connect,accept"
  • permission java.net.SocketPermission
    ".cs.wisc.edu80", "connect,accept"

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

43
Co-verification
44
Clustering of multiple devices (physical option)
Service client
Service Provider
Dev 1
Dev 2
Dev 3
Client
Private Protocol
Proxy
JVM
Network
Communication via RMI protocol
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
Write a Comment
User Comments (0)
About PowerShow.com