智能网格系统结构体系研究摘要本文以智能网格系统(Agent Grid System)为主题,研究网络异质资源共享的方法与技术。
网络环境下,各种资源包括异质网络资源间的共享一直是网络研究的热点和难点。
这里,我们给出了一套新的网络资源访问方法,在其上可以可靠的解决各类资源的共享问题,还有效降低了用户开发各类网络应用的难度,提高了资源利用的效率。
方法基于Agent、RPC、XML、TCP/IP等技术,实现对网络上各种资源的分布式共享,不仅可以使计算机资源得到充分使用,还可以为嵌入式终端、数据传感器、过程控制器等设备提供一个可视的应用共享平台,使得资源可以通过一定的方式显式映射到网络系统中来,从而实现对异质资源的标准化的访问与共享。
本文详细介绍了该项研究的背景、AGS的总体设计、基础协议、组件接口标准以及系统具体应用模型。
关键词: Agent AGS XML SOAP-EG RPC 中间件网格1 引言1998年,美国副总统戈尔首次提出了数字地球概念。
他认为数字地球是一个以地理坐标为依据的、具有多分辨率的、由海量数据组成的、多维显示的地球模拟系统。
数字地球的出现,使人类在描述和分析地理空间事物的信息上,获得了一次飞跃:从静态到动态、从历时性到同时性、从二维到三维到四维。
它代表了当前科技发展的战略目标和方向。
数字地球,其实就是信息化的地球,是一个地球的信息模型,它把我们现在所能收集的地球上每一地点的信息都集中组织起来,并按地球的坐标加以整理,然后构成一个全球的信息模型,我们就可以快速、形象、完整的了解我们所在的这颗星球。
建立实时的数字地球信息系统会面临以下几个问题:1、对各种分布态资源的访问控制2、对事物形态信息的描述3、信息资源和形态模型的协同工作4、海量数据、信息的存储和处理5、对系统信息模型的访问控制要解决上述问题,现有技术是局限的,数字地球系统实时信息模型的建立需要出现新的技术平台来支撑。
为此,我们提出了面向Internet的网格技术平台Agent Grid System(智能网格系统简称AGS)网格计算的重要战略意义及其广阔应用前景,使其成为当今吸引众多研究人员和巨大资金投入的研究热点,一些大型网格计算研究项目相继启动。
目前网格开发领域最重要的软件包是Globus中的Globus Toolkit。
Globus项目是由美国Argonne国家实验室等科研单位的研发项目,在初始阶段,全美有十多所大学和研究机构参与了该项目的研究工作。
Globus对信息安全、资源管理、信息服务、数据管理以及应用开发环境等网格计算的关键理论和技术进行了广泛的研究,开发出能在多种平台下运行的网格计算工具软件包(Globus Toolkit),能够用来帮助规划和组建大型的网格试验和应用平台,开发适合大型网格系统运行的大型应用程序。
Globus 工具包是Globus最重要的实践结果,其第一版在1999年推出,目前广泛流行的是其2003年初推出的3.0版。
在我国,已经完成的网格研究项目主要有清华大学的先进计算基础设施ACI(Advanced Computational Infrastructure) 和以中科院计算为主的国家高性能计算环境NHPCE (National High Performance Computing Environment)。
目前我国正在进行的网格研究项目有:⏹“中国网格(China Grid)”建设,863 计划支持有多家单位参加。
⏹“上海教育科研网格”,多所上海的大学参加。
⏹“仿真网格”的研究,由航天二院和清华大学共同开展。
⏹“织女星网格”,由中科院计算所领衔开发。
网格研究正在我国迅速展开,但从总体上看来,当前国内的网格研究目前大都集中在高性能机群和集群计算领域,针对Internet的广义的网格系统及其开发工具的研究还比较少。
因此,对AGS的研究工作具有重要意义。
2 系统结构网络是信息的载体和传播手段,我们日常的身边有电力网、电话网、有线电视网,近些年来的网络正在向着三网合一的方向发展。
有理由相信,在不久的未来所有的计算设备都可以工作在一个可以互相访问的网络环境下。
为此,我们提出了广义的网络模型和在此环境下资源的访问模式。
2.1智能网格环境模型1994年,互联网标准化组织推荐以IPv6作为今后的标准协议。
IPv6的128位地址方案,将能提供约10亿的平方个IP地址。
不仅如此IPv6协议将更加方便、安全,更具可操作性,网络的传输更为快捷。
新协议将为互联网上的每一台装置分配一个惟一且永久的地址,从而可以使任何一台装置直接与其它装置进行端到端的连接,不必经过中间过程,这样既保证了数据的安全性,也提高了传输速度,这也是实现移动通信和家电上网的基础。
这一目标已经深化为建立大规模计算和数据处理的通用基础支撑结构,将网络上的各种高性能计算机、服务器、PC、信息系统、海量数据存储和处理系统、应用模拟系统、虚拟现实系统、仪器设备和信息获取设备(如传感器)集成在一起,为各种应用开发提供底层技术支撑,将Internet变为一个功能强大、无处不在的计算设施。
而AGS建立的根本目的就是为了实现各种设备之间的互访。
为了规范化描述AGS体系的运行环境,我们提出了AGE(智能网格环境)模型。
AGE是一个融合了Internet和分布式系统技术的通用的应用开发环境。
AGE的主要目标是建立一个兼容环境,以便使各种分布式资源能够以统一接口界面被调度并使用。
AGE环境要求是所有被访问设备都运行在IPv6下并且每一个设备确定的IP地址。
AGE的底层硬件结构模型中,每一节点都与Internet相连,并且都有一个固定IP图1 智能网格环境硬件结构模型和至少基本的数据处理能力。
AGE的软件结构包括3个部分:基础通信对象、基本I/O 对象(AGX)、数据控制对象(Agent)。
AGS把从硬件特性角度把网络资源划分为五种基本I/O对象:显示类、运算类、存储类、输入类、控制类。
AGE要求每个基础类都可以被与其应的指令集完全独立控制。
这样,从一个超大型仪器到一个简单的传感器都可以成为共享的目标。
AGS中应用的实现是AGX与Agent通过基础通信对象交互的结果,Agent是一个反应的、自治的、内部驱动的实体,置身于变换不定的环境中,它们可以感知并对其做出反应,而AGX则是Agent的直接作用对象。
Agent之间是联系的,可以直接进行访问。
AGX也是一个反应的、自治的、内部驱动的实体,但AGX不自己进行环境的感知和了解,只有在被访问后才做出响应,而且AGX之间是独立的,不能直接相互访问。
2.2 AGS结构体系模型Internet环境下,网络计算系统的成长面临三大客观障碍:一是系统的无序性;二是系统的异构性;三是系统的局部自治性。
人们已经注意到,未来的网络计算系统不是以今天的某一个系统为核心扩展而成,它应当是由若干局部自治的系统综合而成的。
例如,未来支持社会主体信用评估的信息系统需要集成今天的金融、社保、交通、电信、公安等信息系统,而非现有系统的扩展。
因此,一个值得进一步研究的问题是采用什么样的网络计算系统模型和实体交互机制,才能使我们构造的局部自治系统易于综合到未来的大系统中。
AGS要解决的根本问题是:通过网格的一系列技术,透明地使用整个网络上的资源。
为此AGS简化了资源的概念,以硬件作为资源的主体,把软件、数据等看成是资源的属性。
在AGS体系结构中,AGX代表底层对象服务,Agent代表的是数据流的控制机制。
用户在使用功能时,不是直接面向功能的提供者,而是通过一种代理机制进行间接访问,这种代理机制允许一个用户同时调用多个相同类型的服务提供者进行工作。
它的好处在于系统的效率不在只取决于单个服务接口的性能,系统具有了并行处理的能力,并且系统的容错能力明显增强,当一个服务接口发生故障时Agent可以把调用转移到另一个相同类型的接口上而不会导致应用崩溃。
而且AGS中的AGX及Agent都具有“即插即用”的能力。
当一个对象被接入AGS ,它就会被AGS中的扫描器发现,其它对象可以通过扫描器此对象的信息,从而可以对其进行访问;或者对象接入AGS直接寻找已经定义好了的对象区域,自动加入应用。
AGS改变了原有对资源的看法,AGX是基本I/O对象,而Agent则通过基础通信图2 AGS标准运行机制模型对于一个计算机系统,则可以看成是若干AGX和一个Agent的局部组合;而一个嵌入式的数据采集装置则可以被看成是单个AGX对象。
AGS系统中AGX与AGX之间没有直接数据交换,都是通过Agent间接作用,Agent与AGX之间采用基础通信协议进行数据交换,而对处于同一位置的Agent和AGX,为了提高系统效率,允许采用局部自治,即AGX和Agent之间不采用通信协议,而是直接高效的内部相连,这时,整个系统对外部而言就是一个Agent,若是不使用局部自治,则可以把此设备看成是若干AGX对象和Agent的组合体,外部就可以独立访问各个AGX对象和Agent。
3 基本对象AGS的结构组成包括3个部分:基础通信对象(AGS_Link)、基本I/O对象(AGX)、数据控制对象(Agent),应用通过这三个对象共同作用来完成。
3.1 基础通信对象建立一个网格系统首先要做的工作就是建立一个支持网格应用的基础通信协议。
SOAP 是用来在较低层的因特网协议之上运载XML 有效负载的传输协议。
这样的编码是被称为远程过程调用(RPC)系统的主要部分,它们有一个共同的目标,就是使对远程计算机发出的请求看起来像是本地过程调用一样。
作为以这种关系捆绑编码的结果,SOAP 表现出勿庸置疑的应用程序编程的能力,但是它的用途对于通用的数据交换似乎值得怀疑。
SOAP并不是一个终端协议,它绑定在HTTP之上,这影响了其在一些较简单设备上的实现。
使用TCP/IP是一种很好的主意,因为TCP协议是Internet的基础,使用范围非常之广,传输效率也比较高,并且易于在简单的设备上实现。
为此,我们在SOAP1.2基础上制订了直接基于TCP和UDP的SOAP-EG协议,其中E 代表expand,G代表gaine ,SOAP-EG意思是对SOAP的扩展性重新封装。
SOAP-EG的宗旨就在于发挥Internet和XML优点,从而完成在应用之间的交互。
它是一个轻量级的通讯协议(lightweight communication protocol),用于应用和应用之间的通讯。
SOAP-EG是一个基于XML的通信协议,在该协议下,软件组件和应用程序能够通过标准的TCP/IP协议通信。
SOAP—EG是SOAP协议的面向AGS结构的一个扩展版本,本身还是属于SOAP。
为了实现对远程对象的访问机制,所SOAP-EG在header中增加了以下几个元素作为必要元素:<connector>元素:服务标识对访问过程进行标识,管理接口的状态事务<assignment>元素:访问标识标识不同接口的不同功能的字符串<uniqueness>元素:连接标识对一次连接的唯一标识字符串,负责数据传送的维护<REIP>元素:地址设置系统数据返回路径,默认为自己,也可以自行调节<REPORT>元素:端口数据返回端口SOAP-EG body新增的元素<betystream>元素传送不属于XML格式的数据,每一个SOAP消息都有一个SOAP信封和SOAP编码。