Jini在分布式嵌入式系统中的应用
P连接
这两种不同设备要求的J2ME的运行环境也不同。低端信息设备比较适合使用CLDC中定义的KVM,这是一款专用的Java虚拟机,是以小型的资源有限的消费类设备为目标平台的;而高端信息设备适合使用CDC中定义的CVM,它与常规的JVM是完全兼容的。
J2MECDC可以使嵌入式设备具备Java2的功能。基于J2MECDC的RMI可选包完全满足实现Jini的技术需求,因此可以直接加入Jini网络。
对于那些J2MECLDC的设备或是根本不支持Java和Jini的嵌入式设备来说,Jini代理体系结构(JiniSurrogateArchitecture)使其接入Jini网络成为可能。
2.2Jini代理体系结构
Jini代理体系结构是由Sun公司的工程师JimWaldo提出的,现在已成为www.jini.org站点中一个开放源代码的项目。开发Jini代理的主要目标是使那些资源有限的设备能够完全参与到Jini网络中。
Jini代理体系结构由下列组件构成:可宿主机(host-capablemachine)、代理宿主(SurrogateHost)、宿主资源(HostResources)和相互连接(Interconnect)。组件之间的关系如图2所示[6]。
设备是指那些不能够加入Jini网络的任何硬件设备或者软件;可宿主机具备执行Java语言编写的,用于代表设备的代码,并且能够为执行这些Java代码提供所需的资源;代理宿主是驻留在可宿主机上,为执行代理体系结构的组件提供Java运行环境的框架,除了提供计算资源、运行环境和生命周期管理外,它还提供宿主的其它资源来帮助体系结构中的组件。
可宿主机在Jini网络和设备两者之间建立连接,在Jini网络中充当这个设备的代言人。设备和代理宿主之间可以用有线或无线的方式相互连接。连接也可以采用任何的协议,有线连接如TCP/IP、RS-232、USB和IEEE1394等;无线连接可以采用蓝牙协议。
这样,Jini代理体系结构通过降低对设备资源的要求,实现了小型设备完全参与到Jini网络中的目标,使得那些资源有限的小型设备可以充分利用Jini技术的优势。代理通过一个运行Java2虚拟机支持Jini技术的宿主代理系统,使得本来需要运行在用户中的服务代理对象可以在代理的环境中运行。任何小型设备与代理宿主通过相互连接进行对话,从而成为一个完全的支持Jini的用户或服务,且仍保持Jini即插即用的特性。
2.3移植Jini
Jini体系结构假设网络底层使用的通信协议是TCP和UDP,而一些分布式嵌入式系统中通常采用的是实时、可靠的数据传输协议,如CAN、TTP等。为了在这样的应用领域中使用Jini技术,可以考虑将Jini进行移植。RoSES(RobustSelf-ConfiguringEmbeddedSystems)[3]是卡耐基梅隆大学通用发动机协作实验室的一个研究项目。目的是寻找一种建立灵活的、健壮的和可维护的分布式嵌入式系统的通用方法,在研究过程中尝试把Jini移植到CAN上。移植Jini的方法也可以解决嵌入式系统接入Jini网络的问题,但其中的工作量相对较大。
3应用实例
Jini在开发分布式嵌入式系统方面已经做了很多的工作[1~3]。下面介绍一下Jini在EIB(EuropeanInstallationBus)中的应用[1,2]。
现场总线分为多种,不同厂商的现场总线产品是不兼容的。为了解决这一问题,EIBA(EuropeanInstallationBusAssociation)提出了EIB。EIB代表了最新的现场总线技术,主要应用领域是家庭和建筑物的自动化。EIB网络的拓扑结构可以是线形、星形和树形。
EIB网络中每个节点是一个EIB设备。一个EIB系统中最大可以安装60000个设备。每个EIB设备中有一个嵌入式微控制器用来运行通信协议。它从总线上接收数据后传送给应用程序,或是把应用程序数据传给其它设备。每个EIB设备通过LC(LineConnector,具有路由功能)连接到主线(MainLine)上,BC(BusCoupling)向特定应用的硬件(如传感器和作动器)提供了定义良好的接口。
EIB中的设备(例如传感器)都是资源非常有限的设备,很难直接支持Jini,而且EIB系统使用的底层通信协议也不支持 《Jini在分布式嵌入式系统中的应用(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/166462.html
这两种不同设备要求的J2ME的运行环境也不同。低端信息设备比较适合使用CLDC中定义的KVM,这是一款专用的Java虚拟机,是以小型的资源有限的消费类设备为目标平台的;而高端信息设备适合使用CDC中定义的CVM,它与常规的JVM是完全兼容的。
J2MECDC可以使嵌入式设备具备Java2的功能。基于J2MECDC的RMI可选包完全满足实现Jini的技术需求,因此可以直接加入Jini网络。
对于那些J2MECLDC的设备或是根本不支持Java和Jini的嵌入式设备来说,Jini代理体系结构(JiniSurrogateArchitecture)使其接入Jini网络成为可能。
2.2Jini代理体系结构
Jini代理体系结构是由Sun公司的工程师JimWaldo提出的,现在已成为www.jini.org站点中一个开放源代码的项目。开发Jini代理的主要目标是使那些资源有限的设备能够完全参与到Jini网络中。
Jini代理体系结构由下列组件构成:可宿主机(host-capablemachine)、代理宿主(SurrogateHost)、宿主资源(HostResources)和相互连接(Interconnect)。组件之间的关系如图2所示[6]。
设备是指那些不能够加入Jini网络的任何硬件设备或者软件;可宿主机具备执行Java语言编写的,用于代表设备的代码,并且能够为执行这些Java代码提供所需的资源;代理宿主是驻留在可宿主机上,为执行代理体系结构的组件提供Java运行环境的框架,除了提供计算资源、运行环境和生命周期管理外,它还提供宿主的其它资源来帮助体系结构中的组件。
可宿主机在Jini网络和设备两者之间建立连接,在Jini网络中充当这个设备的代言人。设备和代理宿主之间可以用有线或无线的方式相互连接。连接也可以采用任何的协议,有线连接如TCP/IP、RS-232、USB和IEEE1394等;无线连接可以采用蓝牙协议。
这样,Jini代理体系结构通过降低对设备资源的要求,实现了小型设备完全参与到Jini网络中的目标,使得那些资源有限的小型设备可以充分利用Jini技术的优势。代理通过一个运行Java2虚拟机支持Jini技术的宿主代理系统,使得本来需要运行在用户中的服务代理对象可以在代理的环境中运行。任何小型设备与代理宿主通过相互连接进行对话,从而成为一个完全的支持Jini的用户或服务,且仍保持Jini即插即用的特性。
2.3移植Jini
Jini体系结构假设网络底层使用的通信协议是TCP和UDP,而一些分布式嵌入式系统中通常采用的是实时、可靠的数据传输协议,如CAN、TTP等。为了在这样的应用领域中使用Jini技术,可以考虑将Jini进行移植。RoSES(RobustSelf-ConfiguringEmbeddedSystems)[3]是卡耐基梅隆大学通用发动机协作实验室的一个研究项目。目的是寻找一种建立灵活的、健壮的和可维护的分布式嵌入式系统的通用方法,在研究过程中尝试把Jini移植到CAN上。移植Jini的方法也可以解决嵌入式系统接入Jini网络的问题,但其中的工作量相对较大。
3应用实例
Jini在开发分布式嵌入式系统方面已经做了很多的工作[1~3]。下面介绍一下Jini在EIB(EuropeanInstallationBus)中的应用[1,2]。
现场总线分为多种,不同厂商的现场总线产品是不兼容的。为了解决这一问题,EIBA(EuropeanInstallationBusAssociation)提出了EIB。EIB代表了最新的现场总线技术,主要应用领域是家庭和建筑物的自动化。EIB网络的拓扑结构可以是线形、星形和树形。
EIB网络中每个节点是一个EIB设备。一个EIB系统中最大可以安装60000个设备。每个EIB设备中有一个嵌入式微控制器用来运行通信协议。它从总线上接收数据后传送给应用程序,或是把应用程序数据传给其它设备。每个EIB设备通过LC(LineConnector,具有路由功能)连接到主线(MainLine)上,BC(BusCoupling)向特定应用的硬件(如传感器和作动器)提供了定义良好的接口。
EIB中的设备(例如传感器)都是资源非常有限的设备,很难直接支持Jini,而且EIB系统使用的底层通信协议也不支持 《Jini在分布式嵌入式系统中的应用(第3页)》