您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术Jini在分布式嵌入式系统中的应用 正文
Jini在分布式嵌入式系统中的应用

Jini在分布式嵌入式系统中的应用

点击数:7268 次   录入时间:03-04 11:42:34   整理:http://www.55dianzi.com   嵌入式系统-技术

  J2ME CDC可以使嵌入式设备具备Java 2的功能。基于J2ME CDC的RMI可选包完全满足实现Jini的技术需求,因此可以直接加入Jini网络。

  对于那些J2ME CLDC的设备或是根本不支持Java和Jini的嵌入式设备来说,Jini代理体系结构(Jini Surrogate Architecture)使其接入Jini网络成为可能。

2.2 Jini代理体系结构

  Jini代理体系结构是由Sun公司的工程师Jim Waldo提出的,现在已成为www.jini.org站点中一个开放源代码的项目。开发Jini代理的主要目标是使那些资源有限的设备能够完全参与到Jini网络中。

  Jini代理体系结构由下列组件构成:可宿主机(host-capable machine)、代理宿主(Surrogate Host)、宿主资源(Host Resources)和相互连接(Interconnect)。组件之间的关系如图2所示[6]。

  设备是指那些不能够加入Jini网络的任何硬件设备或者软件;可宿主机具备执行Java语言编写的,用于代表设备的代码,并且能够为执行这些Java代码提供所需的资源;代理宿主是驻留在可宿主机上,为执行代理体系结构的组件提供Java运行环境的框架,除了提供计算资源、运行环境和生命周期管理外,它还提供宿主的其它资源来帮助体系结构中的组件。

  可宿主机在Jini网络和设备两者之间建立连接,在Jini网络中充当这个设备的代言人。设备和代理宿主之间可以用有线或无线的方式相互连接。连接也可以采用任何的协议,有线连接如TCP/IP、RS-232、USB和IEEE1394等;无线连接可以采用蓝牙协议。

  这样,Jini代理体系结构通过降低对设备资源的要求,实现了小型设备完全参与到Jini网络中的目标,使得那些资源有限的小型设备可以充分利用Jini技术的优势。代理通过一个运行Java 2虚拟机支持Jini技术的宿主代理系统,使得本来需要运行在用户中的服务代理对象可以在代理的环境中运行。任何小型设备与代理宿主通过相互连接进行对话,从而成为一个完全的支持Jini的用户或服务,且仍保持Jini即插即用的特性。

2.3 移植Jini

  Jini体系结构假设网络底层使用的通信协议是TCP和UDP,而一些分布式嵌入式系统中通常采用的是实时、可靠的数据传输协议,如CAN、TTP等。为了在这样的应用领域中使用Jini技术,可以考虑将Jini进行移植。RoSES(Robust Self-Configuring Embedded SystEMS)[3]是卡耐基梅隆大学通用发动机协作实验室的一个研究项目。目的是寻找一种建立灵活的、健壮的和可维护的分布式嵌入式系统的通用方法,在研究过程中尝试把Jini移植到CAN上。移植Jini的方法也可以解决嵌入式系统接入Jini网络的问题,但其中的工作量相对较大。

3 应用实例

  Jini在开发分布式嵌入式系统方面已经做了很多的工作[1~3]。下面介绍一下Jini在EIB(European Installation Bus)中的应用[1,2]。

  现场总线分为多种,不同厂商的现场总线产品是不兼容的。为了解决这一问题,EIBA(European Installation Bus Association)提出了EIB。EIB代表了最新的现场总线技术,主要应用领域是家庭和建筑物的自动化。EIB网络的拓扑结构可以是线形、星形和树形。

  EIB网络中每个节点是一个EIB设备。一个EIB系统中最大可以安装60 000个设备。每个EIB设备中有一个嵌入式微控制器用来运行通信协议。它从总线上接收数据后传送给应用程序,或是把应用程序数据传给其它设备。每个EIB设备通过LC(Line Connector,具有路由功能)连接到主线(Main Line)上,BC(Bus Coupling)向特定应用的硬件(如传感器和作动器)提供了定义良好的接口。

  EIB中的设备(例如传感器)都是资源非常有限的设备,很难直接支持Jini,而且EIB系统使用的底层通信协议也不支持Jini。因此在实现中,采用Jini代理体系结构来使EIB设备接入Jini网络。系统结构如图3所示[2]。

  EIB代理(EIB Agent)是EIB设备在Jini网络中映射的服务代理。它向服务的使用者(Service User)提供EIB设备的功能;EIB服务器(EIB Server)由Jini数据库(Jini Database)和EIB控制器(EIB Controller)两个模块组成。它负责管理代理宿主机与现场总线之间的连接,其中Jini数据库是一个存放EIB设备和相应的EIB代理之间的映射关系的数据库。EIB代理和EIB服务器运行在代理宿主机上。

  这样,在EIB系统中使用Jini技术会带来如下好处:

◇EIB系统中,每个设备提供的功能都可以映射成Jini服务,这样,不仅可以被其它的现场总线使用,而且还可以被支持Jini的任何设备(如PDA)来访问;

◇Jini简化了网络编程,并且Java提高了系统的安全性;

◇EIB网络可以连接到Internet,这样系统变成了开放的,提高了EIB设备的可访问性;

◇Jini使EIB系统中的设备可以与家用消费电器和自动化设备通信,增强EIB设备的功能;

◇Jini提供了一种独立于厂商的服务平台,使得不同厂商的现场总线产品相互兼容。

  应当指出的是,Jini并不是完全适用于实时性要求高的嵌入式应用。RoSES的研究项目中,将Jini移植到了CAN上;但实验结果表明,Jini的实时性能并不令人满意。

4 总 结

  在构建分布式嵌入式系统的过程中利用Jini技术,不但可以降低系统的开发难度、实现嵌入式环境中基于服务级的互操作,而且可使系统具有很好的灵活性和可靠性。同时,在分布式嵌入式领域中使用Jini技术也存在一些需要解决的问题,包括如何使得嵌入式系统支持Jini以及Jini的实时性等。



上一页  [1] [2] 


本文关键字:嵌入式  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术

《Jini在分布式嵌入式系统中的应用》相关文章>>>