用于在下载的程序之间建立保密对等通信的系统和方法技术方案

技术编号:3535950 阅读:169 留言:0更新日期:2012-04-11 18:40
用于在来自同一保密域、但运行在第一和第二计算机上的计算机程序之间建立对等通信联系的系统和方法,第一计算机程序在第一计算机上运行,同时发送一条信息到第二计算机,请求建立对等通信联系。当在第二计算机上收到该信息时,第二计算机确定是否有一个满足建立对等通信联系的预定条件的第二计算机程序运行在第二计算机上,如果是,第二计算机向第一计算机发送一条接受该请求的回答信息。当第一计算机收到该回答信息后,所请求的在第一和第二计算机程序之间的对等通信联系即被建立。(*该技术在2017年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术总的涉及在分离的计算机或虚拟机中运行的两个软件实体之间建立保密通信的系统和方法,该两个软件实体具有对等(peer-to-peer)关系,具体地涉及在一个应用程序的多个拷贝之间建立通信通道的系统和方法。在本文中定义“applets”一词,意指计算机程序和计算机程序段。由于保密性的限制,在面向目标的计算机系统中的计算机程序通常被局限于以客户服务器方式通信。例如,在Sun Microsystem公司的Java虚拟机中,当在客户计算机中运行的方法请求一个来自服务器计算机的applet时,客户计算机中的浏览器程序对收到的applet作标记,来指示该接收的applet来自的服务器,然后将该applet可访问的信息限制为来自同一服务器计算机的文件和其它applets。另外,Java虚拟机允许下载的applet在下载该applet的服务器上打开一个向其它applet的通信通道,但通常不能打开向其它计算机中的applet的通信通道。本专利技术的目的是允许运行在两个不同的计算机和虚拟机上的一个计算机程序的两个拷贝能安全通信。更一般地说,本专利技术的目的是允许从同一保密域(security domain)得到并运行在两个不同客户计算机上的两个程序能安全地通信。通常,从同一保密域得到的这两个程序是从同一服务器计算机下载到两个不同客户计算机上的两个程序。在许多情况下,这两个程序是下载到两个不同的客户计算机上的同一程序的两个拷贝。允许这种对等联系的基础是当通信中的applets都来自同一服务器计算机时提供了足够的保密性,因为每个applet已经被允许打开一个向服务器计算机的通信通道,因此可以间接地与从同一服务器计算机下载到其它客户计算机上的各个applets通信。本专利技术提供一个系统和方法,用于在来自同一保密域、但在第一和第二计算机上执行的计算机程序之间建立对等通信,第一计算机程序在第一计算机上运行,同时发送一条信息到第二计算机,请求建立对等通信联系。当在所述第二计算机上收到该信息时,第二计算机确定是否有一个满足建立对等通信联系的预定条件和第二计算机程序运行在第二计算机上,如果是,第二计算机向第一计算机发送一条接受该请求的回答信息,当第一计算机收到该回答信息后,所请求的在第一和第二计算机程序之间的对等通信联系即被建立。在一个优选实施例中,建立对等通信联系的预定条件是第一和第二计算机程序来自同一服务器计算机。在一个优选实施例中,回答信息包括向第一计算机可靠地指示第二计算机正在执行一个满足地建立对等通信联系的预定条件的计算机程序的信息。下面通过结合附图对本专利技术的详细描述,可以进一步理解本专利技术的其它目的和特征。附图说明图1是实现本专利技术优选实施例的一个分布式计算机系统的方框图;图2是根据本专利技术实施例的分布式计算机系统中的一个客户计算机的方框图;图3是流程图示出了本专利技术优选实施例所采用的方法。参见图1,其中所示的分布式计算机系统100包括两个客户计算机C1和C2以及服务器计算机S1,每个客户计算机包括一个虚拟机M1和M2,它们提供执行浏览器程序,如HotJava(Sun Microsystem公司销售的产品)(图1中没有示出)和执行Java字节码程序,如通过使用该浏览器程序装入的A1和A2的操作环境。在本专利技术的上下文中,相关于虚拟机M1和M2的浏览器程序已经被用来从服务器S1下载程序A,由此分别建立相同的程序A1和A2以及虚拟机M1和M2。采用标准的客户服务器通信通道可以使applet A1经由服务器S1与applet A2通信,这可以通过建立目标分类方法由各客户和服务器使用来建立和保持这种通信通道得到实现。换句话说,applet A1可以安全地与服务器S1通信,服务器S1可以与applet A2通信,从而在applets A1和A2之间建立一个两级连接。通常这可以通过在客户和服务器计算机中使用可专用于传输这类信息的通信“插座”(socket)来实现。这些通信插座可由applets和服务器软件来定义,使得从正运行在一个客户计算机上的applet接收的信息可以在由一个相应程序监控的通信插座处的服务器处接收到。该服务器中的插座监控程序随后对每个收到的信息确定应该传送到其它客户计算机的哪一个以及采用什么通信插座来进行该通信。虽然在处理一种布局(arrangement)的所有可能的通信模式和故障模式时会需要加软件逻辑,但该软件设计领域的技术人员对其细节是公知的,因此不需要作进一步的描述。在该优选实施例中,被执行的applets和其它程序主要是Java字节代码程序,Java字节代码语言是一种“机器平台无关”的编程语言,由SunMicrosystem公司销售。Java字节程序与构成虚拟机的字节代码程序解释程序一起运行。Java字节代码程序的设计使其可以在任意一台计算机上运行,只要该计算机中存在一个Java字节程序解释程序,而不管该计算机的操作系统和计算机硬件平台如何。参看图2,在一个优选实施例中,采用本专利技术的优选实施例的计算机系统100在网络化的计算机系统中通常包括多个客户计算机150以及一个或多个服务器计算机152。每个客户计算机150包括一个中央处理单元(CPU)160、一个用户接口162、和一个用于经由通信网络166与其它计算机通信的通信接口164。存储器102/104包括主存102和持久存储器104,用于存储·操作系统170;·Intemet(国际互联网)通信管理器程序172,如Hot Java浏览器程序;·Java字节代码程序识别程序174,用于识别一个特定的程序是否满足某些预定的完整性标准;·Java字节代码程序解释程序176,用于执行应用程序;·分类装入程序178,用于将目标类别装入用户的地址空间,并采用字节代码程序识别程序识别与每个装入的目标类相关的方法的完整性;·至少一个分类储藏区(repository)180,用于本地存储正在使用和/或能够被计算机102的用户使用的目标类182、184、186;至少一个目标储藏区190,用于存储目标192、194,这些目标是存储在目标储存区182中的这些目标类的目标的例子;·对等通信协议程序196,该程序196包括请求启动指令196A,用于将一条请求信息从第一计算机传送到第二计算机,以请求建立对等通信通道;请求回答指令196B,用于通过确定是否满足建立对等通信通道的预定条件来响应这一请求,并传送一条相应的回答信息;回答确认收到指令196C,用于确认收到这一回答信息;通道建立指令196D,用于在该回答信息表示预定的条件已得到满足时,建立对等通信通道。参看图3,在执行对等通信协议196之前,至少两个虚拟机M1和M2将已经从服务器计算机S1装入了同一应用程序A的拷贝(拷贝A1和A2)(步骤200和202)。或者是,两个虚拟机M1和M2将已经从同一服务器计算机S1装入了两个不同应用程序的拷贝。为了解释本专利技术起见,我们假定两个下载的程序是相同的,但在本专利技术的某些实施例中,来自同一服务器的不同程序将建立一个对等通信通道。在图3中我们假设虚拟机M1中的applet A1通过采用一个方法来启动与虚拟机M2中的applet A2建立通信连接的过程,该方法使得虚拟机M1发送一个信息包P1到虚拟机M本文档来自技高网...

【技术保护点】
一种在第一和第二计算机中执行的计算机程序之间建立对等联系的方法,包括以下步骤; A)第一计算机程序,其在第一计算机上运行,并同时发送一条信息到第二计算机,所述信息请求对等通信联系; B)在所述第二计算机上接收该信息,并确定是否有一个满足建立对等通信联系的预定条件的第二计算机程序运行在所述第二计算机上; C)当步骤B)产生肯定结果时,从所述第二计算机向所述第一计算机发送一条接受所述请求的回答信息 D)当所述第一计算机收到所述回答信息后,在所述第一和第二计算机程序之间建立所请求的对等通信联系。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:阿瑟A范霍夫萨米谢奥格雷厄姆汉密尔顿玛丽安娜米勒
申请(专利权)人:太阳微系统有限公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利