+ All Categories
Home > Documents > Communication strategies for distributed embedded systems

Communication strategies for distributed embedded systems

Date post: 12-Jan-2016
Category:
Upload: lulu
View: 31 times
Download: 0 times
Share this document with a friend
Description:
Communication strategies for distributed embedded systems. Table of contents. Jini Java Embedded Server CORBA for Embedded Systems. Jini technology. Table of Contents for Jini. What is Jini? Why Jini? Features Architecture Example Advantage Disadvantage - PowerPoint PPT Presentation
Popular Tags:
58
1 Communication strategies for distributed embedded systems
Transcript
Page 1: Communication strategies for  distributed embedded systems

1

Communication strategies for distributed embedded systems

Page 2: Communication strategies for  distributed embedded systems

2

Table of contents• Jini

• Java Embedded Server

• CORBA for Embedded Systems

Page 3: Communication strategies for  distributed embedded systems

3

Jini technology

Page 4: Communication strategies for  distributed embedded systems

4

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

Page 5: Communication strategies for  distributed embedded systems

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

Page 6: Communication strategies for  distributed embedded systems

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.

Page 7: Communication strategies for  distributed embedded systems

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

Page 8: Communication strategies for  distributed embedded systems

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.

Page 9: Communication strategies for  distributed embedded systems

9

Features• Jini[TM] 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

Page 10: Communication strategies for  distributed embedded systems

10

Architecture

Page 11: Communication strategies for  distributed embedded systems

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.

Page 12: Communication strategies for  distributed embedded systems

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.

Page 13: Communication strategies for  distributed embedded systems

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.

Page 14: Communication strategies for  distributed embedded systems

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

Page 15: Communication strategies for  distributed embedded systems

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

Page 16: Communication strategies for  distributed embedded systems

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

Page 17: Communication strategies for  distributed embedded systems

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.

Page 18: Communication strategies for  distributed embedded systems

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.

Page 19: Communication strategies for  distributed embedded systems

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.

Page 20: Communication strategies for  distributed embedded systems

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.

Page 21: Communication strategies for  distributed embedded systems

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

Page 22: Communication strategies for  distributed embedded systems

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.

Page 23: Communication strategies for  distributed embedded systems

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.

Page 24: Communication strategies for  distributed embedded systems

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

Page 25: Communication strategies for  distributed embedded systems

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.

Page 26: Communication strategies for  distributed embedded systems

26

Details of Architecture

Page 27: Communication strategies for  distributed embedded systems

27

An Example

Page 28: Communication strategies for  distributed embedded systems

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

Page 29: Communication strategies for  distributed embedded systems

29

Disadvantages

• Communication overhead, so some time it’s slow

• High Learning curve and some cost involve

Page 30: Communication strategies for  distributed embedded systems

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.

Page 31: Communication strategies for  distributed embedded systems

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.

Page 32: Communication strategies for  distributed embedded systems

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.

Page 33: Communication strategies for  distributed embedded systems

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.html• 4.      “Jini™ Technology and Emerging Network Technologies” http://

www.sun.com/jini/whitepapers/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

  

Page 34: Communication strategies for  distributed embedded systems

34

Embedded Java Server

Page 35: Communication strategies for  distributed embedded systems

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.

Page 36: Communication strategies for  distributed embedded systems

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.

Page 37: Communication strategies for  distributed embedded systems

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.

Page 38: Communication strategies for  distributed embedded systems

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

Page 39: Communication strategies for  distributed embedded systems

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.

Page 40: Communication strategies for  distributed embedded systems

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

Page 41: Communication strategies for  distributed embedded systems

41

Architecture of Java Embedded Server

Page 42: Communication strategies for  distributed embedded systems

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.

Page 43: Communication strategies for  distributed embedded systems

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.

Page 44: Communication strategies for  distributed embedded systems

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.

Page 45: Communication strategies for  distributed embedded systems

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.

Page 46: Communication strategies for  distributed embedded systems

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.

Page 47: Communication strategies for  distributed embedded systems

47

Java Embedded Server in Application: Versatile

Gateway

Page 48: Communication strategies for  distributed embedded systems

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

Page 49: Communication strategies for  distributed embedded systems

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.

Page 50: Communication strategies for  distributed embedded systems

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.

Page 51: Communication strategies for  distributed embedded systems

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.

Page 52: Communication strategies for  distributed embedded systems

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.

Page 53: Communication strategies for  distributed embedded systems

53

References for java embedded server

• http://www.sun.com/software/embeddedserver/

• http://www.sun.com/software/embeddedserver/whitepapers/whitepaper2.html

• http://www.sun.com/software/embeddedserver/whitepapers/whitepaper1.html

Page 54: Communication strategies for  distributed embedded systems

54

CORBA for embedded Systems

Page 55: Communication strategies for  distributed 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

Page 56: Communication strategies for  distributed embedded systems

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

Page 57: Communication strategies for  distributed embedded systems

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

Page 58: Communication strategies for  distributed embedded systems

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


Recommended