Communication strategies for distributed embedded systems - PowerPoint PPT Presentation

About This Presentation
Title:

Communication strategies for distributed embedded systems

Description:

Jini technology promises to be a reality in the immediate future as an ... email composers and readers, file fetching programs, Web browsers, and the Web stuff ... – PowerPoint PPT presentation

Number of Views:545
Avg rating:3.0/5.0
Slides: 59
Provided by: IQB5
Learn more at: http://www.mscs.mu.edu
Category:

less

Transcript and Presenter's Notes

Title: Communication strategies for distributed embedded systems


1
Communication strategies for distributed
embedded systems
2
Table of contents
  • Jini
  • Java Embedded Server
  • CORBA for Embedded Systems

3
Jini technology
4
Table of Contents for Jini
  • What is Jini? Why Jini?
  • Features
  • Architecture
  • Example
  • Advantage
  • Disadvantage
  • Comparison with other technology
  • Conclusion

5
What is Jini?
  • Jini technology promises to be a reality in the
    immediate future as an architecture to enable
    connections between devices any time, anywhere

6
Devices
  • Printers
  • Storage devices such as disks
  • Personal digital assistants
  • Digital cameras
  • Cell phones
  • Residential gateways
  • Digital video cassette recorders
  • TV sets, DVD players
  • Industrial controls, and every sort of imaginable
    consumer electronics device.

7
Why Jini technology?
  • Today devices are unaware of their surroundings
  • They are rigid and they can not adapt
  • We expend a lot of efforts to install it
  • We need an expert to do it for us

8
Scenario
  • Just before bed, the man with the laptop reads
    his email, half-watching the local news. The
    anchor mentions a brief piece on the local zoo's
    Panda. His daughter is doing a project on it, so
    he records the piece on his laptop's drive. Just
    before bed, he decides to email it to her as a
    surprise.

9
Features
  • JiniTM connection technology is based on a
    simple concept.
  • Devices should work together.
  • They should simply connect.
  • No drivers to find
  • No operating system issues
  • No weird cables and connectors

10
Architecture
11
Instant On
  • When we plug a Jini technology-enabled device
    into the network, it works. Right away. No fuss.
  • Its services and resources are immediately
    available.

12
Special delivery
  •   Jini technology services are available on
    demand, whenever they are needed.
  • Impromptu community
  • A community put together without any planning,
    installation, or human intervention.

13
Impromptu community
  • Jini software lets all devices work together, so
    we can create our own personal network or
    community--any time, anywhere.
  • Connect our home appliances so we can control
    them centrally.
  • Connect our office equipment so people can share
    resources.
  • Interact with other Jini communities quickly and
    easily.

14
Resilient
  • Jini technology communities adapt very quickly to
    changes
  • Users come and go, the community lives on.
  • Jini community is always available, while the
    Service Age allows the systems to be more
    tolerant and redundant

15
Historical trends
  • Three dimensions of improvements
  • Size, cost, and computational power
  • Mainframe a company
  • Mini a department
  • Work stations a group
  • Microcomputer personal
  • Web
  • Community

16
Jini connection technology requires a few things
  • an infrastructure which operates as a dynamically
    distributed system
  • a common language and implementation that enables
    low-overhead communication between distributed
    objects
  • a lookup service (which identifies objects that
    supply those services)
  • an add-in protocol which is implemented on each
    device--we call this the discovery/join protocol
  • a subtract-out mechanism--providing resilience
    when a device is unplugged--which is called
    leasing

17
Services
  • The most important concept within the Jini
    connection architecture is that of a service.
  • A service is an entity that can be used by a
    person, a program, or another service.
  • A service may be a computation, storage, a
    communication channel to another user, a software
    filter, a hardware device, or another user.

18
Services
  • Services may make use of other services, and a
    client of one service may itself be a service
    with clients of its own.
  • Services to be added or withdrawn from a
    federation at any time according to demand, need,
    or the changing requirements of the workgroup
    using it.

19
Look up server Operation
  • Services are found and resolved by a lookup
    server.
  • The lookup server is the central bootstrapping
    mechanism for the system
  • It provides the major point of contact between
    the system and users of the system.

20
Discovery and Join
  • A service is added to a lookup service by a pair
    of protocols called discovery and join.
  • First, the service locates an appropriate lookup
    server, using the discovery protocol
  • Secondly, it joins it using the join protocol.
  • When a service joins a lookup server, a service
    object for that service is loaded into the lookup
    server.

21
Interfaces
  • The client interacts with a service via a set of
    interfaces written in the Java programming
    language.
  • These interfaces define the set of methods that
    can be used to interact with the service.
  • Programmatic interfaces are identified by the
    type system of the Java programming language

22
How user interface works?
  • Services can be found in a lookup service by
    asking for those that support a particular
    interface.
  • this way ensures that the program looking for the
    service will know how to use that service
  • A user interface can also be stored in the lookup
    service as an attribute of a registered service.
  • A user interface stored in the lookup server is
    an implementation that allows the service to be
    directly manipulated by a user of the system.

23
How Jini works? (Process)
  • To use a service, a person or a program locates
    the service using the lookup service.
  • The service's interface is copied from the lookup
    service to the requesting device where it will be
    used.
  • The lookup service acts as a switchboard to
    connect a client looking for a service with that
    service.
  • Once the connection is made, the lookup service
    is not involved in any of the resulting
    interactions between that client and that
    service.

24
Main Challenges
  • Defining and perfecting the underlying protocols
    and infrastructure
  • TCP/IP, HTTP, SMTP and FTP protocols and their
    implementations
  • Creating applications and services on the top
    that infrastructure
  • email composers and readers, file fetching
    programs, Web browsers, and the Web stuff

25
Underlying Technology
  • Jini connection architecture is only what is
    needed to gather a group of devices into an
    impromptu community that is simply connected
  • A simple protocol to discover a lookup service
    and join it, a lookup service which acts as a
    switchboard connecting clients to services,
  • The Java programming language to provide the
    underlying object model,
  • RMI technology to provide federation and to move
    objects.

26
Details of Architecture
27
An Example
28
Advantages
  • We no longer need a computer to act as an
    intermediary between a cell phone and a printer
  • These devices can take care of themselves-they
    are flexible, they adapt
  • Self configure
  • Self diagnose
  • Self install
  • Reduce need for expert help
  • Lower total cost

29
Disadvantages
  • Communication overhead, so some time its slow
  • High Learning curve and some cost involve

30
Comparisons with other similar technology
  • Bluetooth is a technology specification for
    low-cost, short range radio links between
    laptops, mobile phones, and other portable
    devices. When two Bluetooth devices come close
    together, they automatically detect each other
    and establish a network connection.
  • Motorola's Piano, which can be built on top of
    Bluetooth, specifies what sort of information
    they exchange and how they communicate.

31
Comparisons with other similar technology
  • Hewlett Packard's JetSend technology is an
    example of a service protocol that allows devices
    like printers, digital cameras, and PCs to
    intelligently negotiate information
    exchange--without user intervention.
  • HAVi (Home Audio-Video interoperability) is a
    specification for home networks of consumer
    electronics devices such as CD players,
    televisions, VCRs, digital cameras, and set top
    boxes.

32
Conclusion
  • by looking to simple devices as the archetype of
    how to design devices and
  • by creating a way to simply connect them,
  • We may at last begin to see advanced computer
    technology simplify our lives.

33
References for Jini
  • 1.      Jini home page on Sun microsystem web
    site, http//www.sun.com/jini/
  • 2.      Jini Connection Technology Fact Sheet,
    http//www.sun.com/jini/factsheet/
  • 3.      Why Jini Technology Now?
    http//www.sun.com/jini/whitepapers/whyjininow.htm
    l
  • 4.      Jini Technology and Emerging Network
    Technologies http//www.sun.com/jini/whitepaper
    s/technologies.html
  • 5.      Jini Technology and the Java Dynamic
    Management Kit Demonstration http//www.sun.com/
    software/java-dynamic/wp-jdmk.kit/
  • 6.      Jini specifications, http//www.sun.com/
    jini/spec
  • 7.      W. Keith Edwards, Core JINI, Sun
    Microsystems Press 1999
  •  
  •  

34
Embedded Java Server
35
Java Embedded Server
  • Java Embedded Server allows remote devices to
    upload, download, activate, and deploy customized
    services and applications precisely when they are
    needed.
  • These services can also be automatically removed
    from the device when their use is completed,
    freeing memory.
  • the ability to monitor a device, perform
    diagnostic evaluations, set up remote
    administration and more.

36
Why Java Embedded server?
  • Today's rapid increase in the intelligence of
    devices presents a unique opportunity for the
    enterprise to extend applications beyond the
    desktop.
  • Gas pumps, vending machines, energy meters, or
    ATMs that once stood alone can now easily be
    connected to the enterprise network.

37
Why Java Embedded server?
  • Sun introduces the Java Embedded Server product,
    a small application server designed to be
    embedded in remote devices.
  • Using the Java Embedded Server product, you can
    respond to changing market requirements by
    installing and managing new software and services
    on your devices over the network-dynamically,
    securely, and just in time.

38
Challenges for Providing Services to Embedded
Devices
  • The challenge behind the opportunity is to
    provide services to these embedded devices in a
    way that matches the dynamics, simplicity, and
    ubiquity of the Internet.
  • The way to do this is to provide consistent
    reliable mechanisms for service providers to
    develop, deliver, and support "just-in-time"
    services to these devices. Services will need to
    be
  • available on demand
  • upgraded dynamically
  • remotely managed
  • secure

39
Solution with java Embedded server
  • By using the Java Embedded Server with the
    Internet, services can be delivered, upgraded,
    and managed as they are needed and then fade off
    into the ether when they are not in use.
  • One example of this might be a Rolodex service
    that gets loaded into a hand-held device or
    television as it is needed, but when it is no
    longer in use, its context is saved and the
    service is pushed back to a server.

40
Features and benefits
  • Communicate with remote devices and equipment
    deployed in the field
  • Extend the useful life of devices by dynamically
    adding features and functionality, on demand
  • Create Jini technology Federations for
    device-to-device communications by hosting
    "registry" and "look-up" services for Jini
    technology
  • Leverage the portability, reusability, and
    productivity of the Java programming environment

41
Architecture of Java Embedded Server
42
System architecture
  • Java Embedded Server consists of two primary
    components the ServiceSpace and the Services.
  • The ServiceSpace, only 100KB in size, provides a
    runtime framework that manages the loading,
    installation, activation, execution, and removal
    of applications, called services.
  • The Services are a set of useful pre-built and
    customizable services.
  • The Services include a set of pre-packaged
    application services, including a lightweight
    HTTP server, an SNMP agent, a scheduling service,
    and a Servlet manager.
  • Device providers and developers can build their
    own services using the Java Service Designer
    tool.

43
System Architecture
  • Device providers and developers can build their
    own services using the Java Service Designer
    tool.
  • The ServiceSpace is installed on a device running
    an embedded operating system.
  • ServiceSpace requires a Java runtime platform,
    such as EmbeddedJava, PersonalJava, or the
    standard JDK.
  • The services can be stored anywhere on the
    network, and they are downloaded and executed as
    required.

44
Application Service Bundles
  • An application service is deployed using an
    application service bundle.
  • A bundle comprises a Java archive (JAR) file and
    a set of instructions for the Java Embedded
    Server.
  • The instructions come in the form of Java objects
    called wizards.

45
Each bundle contains the following
  • Manifest. The manifest defines the contents of
    the bundle.
  • Installer Wizard. The installer wizard installs
    the service on the server.
  • Activator Wizard. The activator wizard starts the
    service and registers it with the server.
  • Update Wizard. The update wizard automatically
    manages version control and replaces older
    versions of the service with the latest one.
  • Dependencies Wizard. The dependencies wizard
    identifies any dependencies this service may have
    on other services and determines if the services
    are available.
  • Content. The content contains Java classes and
    other files used by the service.

46
Example Create Versatile Gateway Solutions
  • A gateway links devices in local networks in the
    home or small office to the Internet and external
    service providers.
  • These gateways create a focal point for
    enterprises and service providers to deliver
    services to client devices internal to the
    gateway.
  • Java Embedded Server technology is an ideal
    solution for powering low-cost and zero
    main-tenance gateways that need to be remotely
    configured, upgraded, and managed.

47
Java Embedded Server in Application Versatile
Gateway
48
Enable "Zero Latency" Enterprises
  • By connecting remote devices to enterprise
    applications, Java Embedded Server technology
    enables enterprise applications to instantly
    respond to all enterprise-wide supply chain
    events and deploy customized and value-added
    services to these devices, on demand. Usage
    scenarios
  • A vending machine, linked to the enterprise
    supply chain, can transmit consumption data and
    automatically re-order replacement supplies
  • A gasoline pump becomes a dynamic platform
    capable of delivering targeted promotions to the
    customer
  • Routers (or copiers) can be remotely diagnosed
    and repaired

49
Java Embedded Server VS Jini
  • By using the Java Embedded Server, services can
    be delivered, upgraded, and managed as they are
    needed
  • The Java Embedded Server allows a device to
    dynamically download and execute an application
    from a remote location on the network.
  • Jini provides a loosely coupled mechanism for
    applications on different devices to communicate
    and share services.
  • Jini doesn't provide a mechanism to dynamically
    load application services within a device.
  • Java Embedded Server could provide a mechanism to
    dynamically load Jini services.
  • The two technologies are complementary.

50
Personal Java VS Embedded java
  • There are two primary subsets of Java that have
    been endorsed by the industry
  • Personal Java (shortened as pJava)
  • Embedded Java (eJava).
  • Both of these are small-footprint versions of
    full-blown Java.
  • they run the same bytecodes and have exactly the
    same language semantics as full-blown Java,
  • they have significantly reduced sets of class
    libraries available to them.

51
Personal Java VS Embedded java
  • Personal Java is largely intended for
    programmable devices that have interfaces on them
    -- devices such as cell phones and PDAs
  • These devices are usually able to download applet
    code and have at least AWT and sometimes the Java
    Foundation Classes available for user interfaces.
  • The main things missing from pJava are the
    "enterprise"-oriented APIs database
    connectivity, CORBA communications, and
    (sometimes) RMI.
  • pJava devices that are intended to work with Jini
    will almost certainly support RMI.

52
Personal Java VS Embedded java
  • For Embedded Java devices, the situation is
    somewhat more restricted.
  • eJava devices are less likely to be found in the
    Jini context.
  • Embedded Java is a more limited subset of Java
    and Personal Java -- it makes most of the user
    interfaces classes optional, along with most of
    the networking classes
  • an eJava device can participate in Jini if
    another piece of software is working on its
    behalf to make it visible through Jini.

53
References for java embedded server
  • http//www.sun.com/software/embeddedserver/
  • http//www.sun.com/software/embeddedserver/whitepa
    pers/whitepaper2.html
  • http//www.sun.com/software/embeddedserver/whitepa
    pers/whitepaper1.html

54
CORBA for embedded Systems
55
Common Object Request Broker Architecture (CORBA)
for Embedded Systems
  • Object management group(OMG) is preparing
    proposals for a stripped-down version of CORBA
  • could be used in embedded computer systems to
    enable developers to more easily define
    communications between components and to
    incorporate reusable objects.
  • The Common Object Request Broker Architecture
    extensions would provide developers with a common
    interface to connect components within embedded
    systems in household appliances, cellular phones,
    cars and airplanes

56
CORBA for Embedded Systems
  • The interface will allow users to build reusable
    objects and to make writing, debugging and
    maintaining applications easier
  • To work in embedded systems, which have very
    little memory, CORBA will have to be stripped
    down to its essence,
  • A minimal CORBA, however, would still support
    multiple languages and interface easily with
    remote objects through an ORB (object request
    broker).

57
CORBA for Embedded Systems
  • The standards also would have to be compatible
    with existing versions of CORBA.
  • An ORB based on the proposed standards also would
    be stripped down, without services, to 50KB.
  • While the design of the ORB may vary from vendor
    to vendor, the way CORBA objects communicate with
    the software would be the same

58
References of CORBA for Embedded Systems
  • A set of references can be found at
    http//dpe.postech.ac.kr/juht/emcorba/
  • OMG Members Plot Embedded CORBA Services By
    Antone Gonsalves, PC Week February 27, 1998
Write a Comment
User Comments (0)
About PowerShow.com