CN1298505A - 提供可下载码用于与分布式系统中的装置进行通信的装置和方法 - Google Patents

提供可下载码用于与分布式系统中的装置进行通信的装置和方法 Download PDF

Info

Publication number
CN1298505A
CN1298505A CN99805364A CN99805364A CN1298505A CN 1298505 A CN1298505 A CN 1298505A CN 99805364 A CN99805364 A CN 99805364A CN 99805364 A CN99805364 A CN 99805364A CN 1298505 A CN1298505 A CN 1298505A
Authority
CN
China
Prior art keywords
machine
response
module
code
distributed system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN99805364A
Other languages
English (en)
Inventor
B·奥沙利文
R·谢夫勒
P·C·琼斯
A·M·沃尔蕾斯
K·C·R·C·阿诺德
J·H·瓦尔多
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of CN1298505A publication Critical patent/CN1298505A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/433Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Abstract

下载用于与加入网络的装置进行通信的代码。当装置加入网络时,它发送一个多信道包,该多信道包包括与装置进行通信时使用的代码引用。网络中的接收机采用该引用下载该代码,用来构造与装置进行通信的对象,并且接收机引用网络中的查询服务作出响应。采用来自接收机的引用,装置向查询服务进行登记。

Description

提供可下载码用于与分布式系统中的装置进行通信的装置和方法
                        相关申请
下述美国专利申请是本申请的基础,在此引述供参考。
美国专利申请60/076,048,标题是“分布式计算机系统”,申请日是1998年2月26日。
美国专利申请09/044,923,其标题是“租赁存储的方法和系统”,其律师案卷号是06502.0011-01000,其申请日与本申请相同。
美国专利申请09/044,838,其标题是“分布式系统中授权证书租赁的方法、装置和产品”,其律师案卷号是06502.0011-02000,其申请日与本申请相同。
美国专利申请09/044,834,其标题是“分布式系统中分组成员资格的租赁的方法、装置和产品”,其律师案卷号是06502.0011-03000,其申请日与本申请相同。
美国专利申请09/044,916,其标题是“故障检测的租赁”,其律师案卷号是06502.0011-04000,其申请日与本申请相同。
美国专利申请09/044,933,其标题是“基于事件的系统中传送行为的方法”,其律师案卷号是06502.0054-00000,其申请日与本申请相同。
美国专利申请09/044,919,其标题是“用于分布式系统中事件通知的对象和远程下载的延迟重组”,其律师案卷号是06502.0062-01000,其申请日与本申请相同。
美国专利申请09/044,938,其标题是“远程方法调用的方法和装置”,其律师案卷号是06502.0102-00000,其申请日与本申请相同。
美国专利申请09/044,652,其标题是“识别远程方法的判定性散列的方法和装置”,其律师案卷号是06502.0103-00000,其申请日与本申请相同。
美国专利申请09/044,790,其标题是“确定分布式系统中远程对象的状态的方法和装置”,其律师案卷号是06502.0104-00000,其申请日与本申请相同。
美国专利申请09/044,930,其标题是“执行与分布式系统中的远程过程相关的处理的可下载智能代理”,其律师案卷号为06502.0105-00000,其申请日与本申请相同。
美国专利申请09/044,917,其标题是“远程方法的中断和继续”,其律师案卷号是06502.0106-00000,其申请日与本申请相同。
美国专利申请09/044,835,其标题是“数据库中多入口和多模板匹配的方法和系统”,其律师案卷号是06502.0107-00000,其申请日与本申请相同。
美国专利申请09/044,839,其标题是“用于数据库中的原地修改的方法和系统”,其律师案卷号是06502.0108,其申请日与本申请相同。
美国专利申请09/044,945,其标题是“数据库中打印安全特征匹配的方法和系统”,其律师案卷号是06502.0109-00000,其申请日与本申请相同。
美国专利申请09/044,931,其标题是“分布式系统中的动态查询服务”,其律师案卷号是06502.0110-00000,其申请日与本申请相同。
美国专利申请09/044,826,其标题是“便于进入查询服务的方法和系统”,其律师案卷号是06502.0113-00000,其申请日与本申请相同。
美国专利申请09/044,923,其标题是“分布式系统中动态验证信息的装置和方法”,其律师案卷号是06502.0114-02000,其申请日与本申请相同。
美国专利申请09/044,840,其标题是“在网上进行动态分布式计算的方法和装置”,其律师案卷号是06502.0115-00000,其申请日为1998年2月26日。
美国专利申请09/044,936,其标题是“持久共享存储空间的交互式设计工具”,其律师案卷号是06502.0116-02000,其申请日与本申请相同。
美国专利申请09/044,934,其标题是“基于多形态令牌的控制”,其律师案卷号是06502.0117-00000,其申请日与本申请相同。
美国专利申请09/044,915,其标题是“基于堆栈的访问控制”,其律师案卷号是06502.0118-00000,其申请日与本申请相同。
美国专利申请09/044,944,其标题是“基于堆栈的保密性要求”,其律师案卷号是06502.0119-00000,其申请日与本申请相同。
美国专利申请09/044,837,其标题是“保密性要求的按方法指定”,其律师案卷号是06502.0120-00000,其申请日与本申请相同。
                    发明领域
本发明涉及一种在分布式系统中在机器之间传送对象的系统和方法,尤其涉及可下载代码的传送,该代码用于与分布式系统中的装置进行通信。
                    发明背景
分布式系统中的机器可以相互通信和访问。当装置想要加入分布式系统时,已经在该系统中的机器通常必须知道如何与装置进行通信。这一要求意味着例如,机器必须存储可能加入系统的所有装置的代码、驱动器和端口信息。另外,还要求它们存储与可能加入系统的所有装置进行通信的存根。代理存根是重新构造对象时使用的对远程对象的引用,并且这些存根便于在分布式系统中的机器之间进行通信。由于与可能加入系统的装置进行通信要求有预存的信息量,这些要求会造成低效并增加存储器或存储要求。因此,要求增加为在分布式系统中机器之间进行通信而传送代码的灵活性。
按照本发明的第一种方法从一机器发送一个多信道包,包括加入分布式系统的请求,和包括与机器进行通信的代码的指示。接收一响应,该响应包括用于对向系统登记的实体(entity)的引用(reference),并且将一消息传送到该实体,以向系统进行登记。
按照本发明的第二种方法是从一机器接收一个多信道包,它包括加入一分布式系统的请求,并包括与该机器进行通信的代码的指示。该代码用来构造一响应,包括用于对向系统登记的实体(entity)的引用(reference),并且将一响应传送到该机器。
按照本发明的第三个方法是从一机器发送一第一对象,它包括与第一机器进行通信的代码指示,并且一第二机器接收该第一对象。该代码用来构造与第一机器进行通信的第二对象,并且第二对象从第二机器传送到第一机器。
按照本发明的第一种装置是从一机器接收一个多信道包,它包括加入一分布式系统的请求,并包括与该机器进行通信的代码的指示。该装置接收一个响应,包括对向系统登记的实体的引用,并向该实体发送一条消息,以向系统进行登记。
按照本发明第二个装置是从一机器接收一个多信道包,它包括加入一分布式系统的请求,并包括与该机器进行通信的代码的指示。该装置采用代码来构造一个响应,包括对向系统进行登记的实体的引用,并将该响应发送到该机器。
按照本发明的第三个装置从第一个机器发送一个第一对象,包括与第一机器进行通信的代码指示。该装置在第二机器处接收该第一对象,并用该代码构造一个第二对象,用来与第一机器进行通信。将第二对象从第二机器传送到第一机器。
                          附图简述
作为本说明书一部分的附图与本说明书一起说明了本发明的优点和原理。图中,
图1是按照本发明的实施例中可以使用的典型分布式处理系统的图;
图2是典型的分布式系统结构图;
图3是图2中示出的分布式系统结构中计算机的图;
图4是描述加入网络的装置的典型分布式系统的图;以及
图5是加入分布式系统的装置的过程流程图。
                          详细描述
                            概述
按照本发明的方法和系统提供了一种使装置加入分布式网络的技术。当装置加入网络时,它发送一个多信道包,它包括一个用来与装置进行通信时使用的代码或代码引用(reference)。网络中的接收机使用该引用下载代码,以与装置进行通信。因此,接收机不需要预存代码或其他与装置进行通信的信息,这样可以增强网络的效率。
通过将对网络中的查询服务的引用发送到该装置,接收机对多信道包作出响应。采用从至少一个接收机得到的引用,装置向该查询服务登记自己。查询服务见申请日为同一日的美国专利申请:“便于访问查询服务的方法和系统”,该专利已转让给本发明的受让人,在此引述供参考。
                    分布式处理系统
图1是可以用于本发明实施例的典型分布式处理系统100。图1中,分布式处理系统100由三个独立的、各不相同的平台101、102和103组成,它们连接成网络结构,用网络云119来代表。由网络云119代表的网络结构的组成和协议并不重要。只要能够允许在平台101、102和103之间进行信息交换即可。另外,只采用三个平台仅仅是为了描述起见,并不意味着是将本发明限制在特定数量的平台上。另外,特定的网络结构对本发明的实施例来说,并不是严格要求的。例如,可以用于本发明实施例的另一种网络结构可以采用一个平台作为可以连接所有其他平台的网络控制器。
在分布式处理系统100中,平台101、102和103都包括一个处理器116、117和118,以及存储器104、105和106。存储器104、105和106中是应用程序107、108和109,操作系统110、111和112以及JavaTM远程方法调用元件(RMI)113、114和115。RMI的说明例如见下述文件:“远程方法调用技术规范”(Sun Microsystems,Inc.(1997)),在此引述供参考。该文件可以通过统一资源定位器(URL)得到:
http://www.javasoft.com/products/jdk/1.1/docs/guide/rmi/spec/rmiTOC.doc.html
应用程序107、108和109可以是先前写入的程序,并且是修改成具有或特别利用了本发明所提供的服务的优点。应用程序107、108和109调用按照本发明的实施例而执行的操作。
操作系统110、111和112通常是分别与相应的处理器116、117和118相联系的标准操作系统。平台101、102和103可以是各不相同。例如,平台101有一个由Sun Microsystems,Inc制造的UltraSparc作为处理器116,并采用Solaris操作系统110。平台102有一个由Silicon Graphics Corp制造的MIPS微处理器,作为处理器117,并采用Unix操作系统111。最后,平台有一个IntelCorp制造的奔腾微处理器,作为处理器118,并采用微软视窗95操作系统112。本发明并非仅限于上述结构,可以适合于各种不同的平台。
Sun,Sun Microsystems,Solaris,Java以及Sun Logo是Sun Microsystems,Inc在美国和其他国家注册的商标。UltraSpare和所有SPARC商标是在取得许可证的情况下使用的,并且是SPARC International,Inc在美国和其他国家注册的商标。带有SPARC商标的产品是基于Sun Microsystems,Inc开发的结构的。
存储器103、104和105具有几种功能,如用于相关平台的通用存储。另一个功能是存储应用程序107、108和109、RMI元件113、114和115和由各个处理器116、117和118执行期间的操作系统110、111和112。另外,部分存储器103、105和105可以构成网络119中所有平台101、102和103的共享存储器。注意,RMI元件113、114和115与JVM一起操作,图中未示出是为了使图简化。
                        分布式系统结构
按照本发明的系统和方法还可以在特定的分布式系统200中工作,这将参照图2和图3来描述。该分布式系统200由各种元件组成,包括硬件和软件,(1)使得系统用户能够在由许多装置组成的网络上共享服务和资源;(2)向程序员提供能够进行更强的保密的分布式系统的开发的工具和编程模式;以及(3)简化了管理分布式系统的任务。为了实现这一目标,分布式系统200采用Java编程环境,使得代码和数据都能够从一个装置以无缝的方式移动到另一个装置。因此,分布式系统200是处在Java编程环境的顶层,并充分利用了该环境的特征,包括它所提供的保密性和它所提供的强打印。
在图2和图3所示的分布式系统200中,不同的计算机和装置联合成对用户来说是一个单个的系统。由于看上去是一个单个的系统,分布式系统200提供访问的简化,和可以由单个系统提供的共享的功效,而无需放弃个人计算机或网站的灵活性和个性化响应。分布式系统200可以含有几千个由用户操作的装置,而这些用户在地理上是分散的,但都接受委托、管理和方针的约定。
在典型的分布式系统中,有各种由一个或多个装置提供的服务逻辑分组,每一个逻辑分组都称为是一个Djinn。“服务”指的是一种资源、数据或功能,它们可以由用户、程序、装置或另一种服务来访问,并且可以被运算,进行有关的存储、有关的通信,或涉及向另一用户提供访问。作为Djinn的一部分提供的服务例子包括装置,如:打印机、显示器和磁盘;软件,如程序实用程序;信息,如数据库和文件;以及系统的用户。
用户和装置都可以加入有关Djinn。在加入Djinn时,用户或装置在Djinn中加入零或多个服务,并且可以根据保密性限制,访问它所含有的服务中的一种服务。所以,装置和用户联合成有关Djinn,以共享对其服务的访问。Djinn的服务从程序方面看来,就象是Java编程环境的对象,它可以包括其他的对象、以不同程序语言书写的软件成分,或硬件装置。一种服务有一个接口,它定义了可以对该服务进行请求的操作,并且服务的类型决定了组成该服务的接口。
分布式系统200由计算机202、计算机204和装置206组成,由网络208互联起来。装置206可以是任何数量的装置,如打印机、传真机、存储装置、计算机或其他的装置。网络208可以是局域网、广域网或互联网。尽管图中只绘出只有两个计算机和一个装置包含分布式系统200,但本领域中的技术人员将能够理解,分布式系统200可以包括其他的计算机或装置。
图3描绘的是更详细的计算机202,示出了分布式系统200的几个软件成分。本领域中的技术人员将能够理解,这里计算机204和装置206的配置可以是相似的。计算机202包括存储器302、第二存储装置304、中央处理单元(CPU)306、输入装置308,以及一个显示器310。存储器302包括查询服务312、发现服务器314和一个Java运行时系统316。Java运行时系统316包括JavaRMI系统318和JVM320。第二存储装置304包括Java空间322。
如上所述,分布式系统200是基于Java程序环境的,因此使用的是Java运行时系统316。Java运行时系统316包括Java API库,使得在Java运行时系统顶部的程序运行能够以与平台无关的方式访问各种系统功能,包括主操作系统的视窗功能和网络能力。由于在运行时系统所移值的所有操作系统上,Java API库提供了一个单个的公共API,在Java运行时系统顶部运行的程序以独立平台方式运行,而不管是什么样的操作系统或主平台的硬件结构。提供的Java运行时系统516作为Java软件开发工具的一部分,该软件开发工具可从Sun Microsystems,Inc(Mountain View,CA)得到。
JVM320便于平台独立。JVM320象是一个抽象计算机器,以字节码的形式接收来自程序的指令,并通过动态地将字节码转换成用于执行的形式如对象码并执行之来解释这些字节码。RMI318通过使对象能够在一个计算机或装置上执行以调用另一台计算机或装置上的对象的方法,便于进行远程方法调用。提供的RMI和JVM也作为Java软件开发工具的一部分。
查询服务312定义了用于特定Djinn的服务。即,可以有一个以上的Djinn,因此,分布式系统200中可以有一个以上的查询服务。查询服务312含有一个对象用于Djinn中的每一种服务,并且每一对象含有各种便于对相应的服务进行访问的方法。查询服务312的描述见美国专利申请:“便于对查询服务进行访问的方法和系统”,该专利申请在此引述供参考。
发现服务器314检测在称为启动和联接(或发现)期间,何时将新的装置加入到分布式系统200中,以及何时这样一个新的装置被检测到,发现服务器将查询服务312的引用(reference)传送到新装置,从而新装置可以向查询服务登记它的服务,并变成Djinn的一个成员。登记以后,新装置变成Djinn的一个成员,并且因此可以访问查询访问312中所含有的所有服务。启动和联接的过程见美国专利申请:“提供可下载码用于与分布式系统中的装置进行通信的装置和方法”,该专利申请在此引述供参考。
Java空间322是一个由分布式系统200中的程序使用的对象资源库。程序采用Java空间322连续对对象进行存储,并使它们能够访问分布式系统200中其他的装置。Java空间见美国专利申请08/971,529:“采用多种组合形式的输入和输入口匹配的数据库系统”,该申请已转让给共同的受让人,其申请日是1997年11月17日,在此引述供参考。本领域中的技术人员将会理解,典型的分布式系统400可以包含许多查询服务、发现服务器和Java空间。
                  分布式处理系统中的数据流
图4是典型的面向对象的分布式网络或系统400的图,网络或系统400连接机器401、408、411和414,如在一个或多个计算机上执行的计算机或虚拟机器,或参照图l、2和3描述的机器。如图4所示,发送机器或装置401包括对象402和用来对对象进行处理的RMI403。装置401要加入分布式网络400,网络中包括其他的装置或机器,称为接收机。网络400包括含有查询服务407的主机406,并且还包括接收机408、411和414。图中只示出了三个接收机是为了描述之用;网络400可以包括更少或更多的接收机,并且通常包括许多的接收机。图中,每一接收机含有RMI,图中用RMI409、412和415表示。用于接收机的每一RMI构成一个对对象402的远程引用(reference)。三个远程引用包括对象410、413和416,分别用于接收机408、41l和414。
为了加入网络400,装置401发送一个多信道包417,包括代码404的一个指示,如与装置401进行通信的代码的引用或代码本身。多信道包是一个发送到网络中的多个装置的消息。装置401使用RMI403,以提供灵活性,使得在必要时,代码与信息或对象的状态和类型一起能够移动。另外,装置401在多信道包417中可以包括传送的对象类型的标识,构成对象的状态的数据,以及成与对象相关的代码的URL形式的网络可访问的地址(location)。多信道包417还可以包括一个与引导装置通信的存根。URL在本领域中是已知的,其说明见“Java指导:用于互联网的面向对象的编程”(作者:Mary Campione和Kathy Wakrath,由Addison-Wesley,1996年出版,第494-507出版)。
响应于多信道包417,接收机408、4ll和414发送响应418、421和422,每一响应包括一个用于与查询服务407进行通信的引用。接收时,机器408接收多信道包417,它识别传送的对象的类型。为了发送该响应,以及与装置401进行通信,接收机408、411和414采用来自装置401引用,用以将调用419、423和424传送到代码服务器405,以便得到与装置401进行通信的代码404。代码服务器是一个实体(entity)和过程,能够对代码进行访问,并对对象的特定类型和/或类的请求作出响应,并返回用于该对象的代码。代码服务器可以位于装置401内或在另一个机器上。同样,代码可以停留在同一平台如代码服务器上,或在另一个平台上。
RMI409可以采用来自多信道包417的URL来确定代码,以及将该代码的复制形式转发到接收机408。因为代码是字节码,因而是可移植的,所以,接收机可以将代码装载到RMI内,重新构造对象。因此,接收机408、411和414可以重新构造具有合适类型的对象,即使以前机器上并未出现过这种类型的对象。
接收机408、411和414采用代码404来构造发送响应418、421和422的对象。另外,装置401还发送代码,而不是代码的引用。装置401接收这些响应,并用至少一个已发送的引用,通过调用420将自己向查询服务407登记。这些调用可以是远程过程调用,并且对象可以作为字节流被发送。装置401可以发送一条消息,以向查询服务登记,该消息含有识别装置的信息,从而使用查询服务的机器可以进行访问装置或与它进行通信。远程过程调用以及用于下载代码的方法见美国专利申请08/950,756,其申请日为1997年10月15日,标题是“对象的延迟重构和在分布式系统中的远程装载”,该专利申请在此引述供参考。Java程序语言中使用的数据流包括输入流和输出流,在本领域中是已知的,其说明见“JavaTM指导:用于互联网的面向对象的编程”(作者:Mary Campione和MathyWalrath,Addison-Wesley,1996),在此引述供参考。
用于装置加入网络的进程
图5是装置加入网络如分布式网络400的进程500的流程图。希望加入网络的装置向网络发送一个多信道包,该多信道包包括一代码指示,如代码的引用或代码本身,用来与装置进行通信(步骤501)。表1以伪码的形式给出多信道包中的一例信息。该包可以是从引导程序或发现请求服务发出的,该引导程序或发现请求服务是在上述参照图3描述的发现服务器上运行的,并接受对查询服务引用的请求。所以,当本例中一装置加入网络即称为是“引导”到Djinn中时,它可以采用引导程序请求服务而引导到网络中。
表1
引导协议版本 iht proto Version:
传送传用的端点信息 Object endpoint;
装置标识 String id=DeviceID.getDevice ID():
装载存根的URL  java.net.URL codebase;
存根类的名称 String sub Type:
ByteArrayOutputStream byteStr=new
 ByteArrayOutputStream():
ObjectOutputStream objStr=new
 ObjectOutputStream(byteStr):
最终产品 objStr.writeInt(proto Version):objStr.writeObject(endpoint):objStr.writeUTF(id):objStr.writeUTF(codebase.toExternalForm()):objStr.writeUTF(stubTyoe);byte[]packetBody=byteStr.toByteArray():
下面是表l中示出的典型包字段的说明。“ProtoVersion”字段含有一个整数,表示装置加入网络时操作中引导程序协议的版本。“端点”字段封装了取决于传送的端点信息,它使得引导程序请求服务的实例能够构成引导实体上引导程序响应服务的有效引用。“id”字段含有“装置标识(Device ID)串”,它识别引导装置。“代码库(codebase)”字段提供了引导程序请求服务的实例可以下载存根用于引导响应服务的URL。“stubType”字段提供了一个用于引导响应服务的存根类完全合格的名字。
在接收到多信道包以后,网络中的接收机下载代码,用来构造一个对象,用来与装置进行通信。每一接收机都向装置传送该对象,该对象包括网络中查询服务的引用(步骤502)。接收机可以采用该引导或发现响应服务,该响应或服务是在发现(引导)实体上运行的,并接受查询服务的引用。表2描绘的是用于引导程序响应服务的典型的Java接口。
表2public interface    ResponseService extends java.rmi.Remote(
public void       advertiseLookup(ServiceRegistrar Lookup)throws java.rmi.RemoteException;)接收机通过引导响应服务,提供了一个对对象的引用,该对象构成一个服务登记员,对应于具有相同申请日的美国专利申请中的查询服务,该美国专利申请已转让给本发明的受让人,在此引述供参考,其标题是“分布式系统的动态查询服务”。如果装置没有收到多信道包的响应,则它将继续以固定的间隔发送多信道包。
在接收到对象以后,装置使用至少一个由接收机传送的引用,以便通过服务登记员(registrar)向查询服务登记(步骤503)。在登记以后,查询服务因此而含有一个装置标识,因此它是可以访问网络中的其他实体的。除了向查询服务登记以外,装置还可以有选择地作出响应,将其登记或其他的信息通知给它接收到对多信道包的响应的每一个接收机(步骤504)。
上述协议和方法还可以用来提供一个目标,该目标含有与特定装置进行通信所必须的所有行为(behavior)。所以,装置不必要求它们保留用于与特定的装置进行通信的代码指示,这是因为它们可以用上述方法从特定的装置得到该信息。
实施图5所示步骤的机器可以包括用来执行如图1、2、3和4中所示的功能的计算机处理器。它们可以包括使处理器能够执行上述功能的模块或程序。它们还可以包括存储器中存储的计算机程序产品。计算机程序产品可以包括具有使机器能够执行上述功能的计算机可读码的计算机可读介质或媒体。媒体可以包括以载波实施的计算机数据信号,并代表指令序列,这些指令序列在由处理器执行时,使处理器能够通过执行本说明书中描述的方法,可靠地对位于绝对地址处的外围装置进行寻址。该媒体还包括在执行本说明书中描述的方法时使用的数据结构。
尽管按照本发明的系统的实施例是参照根据JVM技术规范执行Java程序语言的计算机系统来描述的,但本发明同样适合于由不同程序语言得到的其他计算机系统处理码。具体地说,本发明可以用面向对象的和非面向对象的编程系统来实施。另外,尽管所描述的按照本发明的实施例是在Java程序环境中工作的,但本领域中的技术人员能够理解,本发明也可以用于其他的程序环境。
尽管本发明是结合典型实施例来描述的,但应当理解,还可以有各种修正,并且本申请同时覆盖了这些变异形式。例如,在不偏离本发明的范围的情况下,还可以采用多信道包的不同的标签或定义。本发明以权利要求书限定其保护范围。

Claims (23)

1.由多个机器组成的分布式系统中传送对象的方法,其特征在于,它包含:
从一机器传送出一个多信道包,包括加入分布式系统的请求,并且包括一个与所述机器进行通信的代码的指示;
接收一响应,包括对向系统进行登记的实体的引用;以及
向所述实体发送一条消息,向系统进行登记。
2.如权利要求1所述的方法,其特征在于,所述传送包括:
传送对所述响应的回应。
3.由多个机器组成的分布式系统中处理对象的一种方法,其特征在于,它包含:
在一机器处接收多信道包,包括加入所述分布式系统的请求,并包括与所述机器进行通信的代码指示;
采用所述代码,来构造一响应,包括对向系统进行登记的实体的引用;以及
将所述响应传送到所述机器。
4.如权利要求3所述的方法,其特征在于,所述接收包括:
接收对所述响应的回应。
5.由多个机器组成的分布式系统中传送对象的方法,其特征在于,它包含:
从第一机器处传送一第一对象,包括与所述第一机器进行通信的代码指示;
在一第二机器处接收所述第一对象;
采用所述代码构造与所述第一机器进行通信的第二对象:以及
将所述第二对象从所述第二机器传送到所述第一机器。
6.由多个机器组成的分布式系统中传送对象的装置,其特征在于,它包含:
从一机器发送多信道包的模块,所述包包括加入所述分布式系统的请求,并且包括与所述机器进行通信的代码指示;
接收一响应的模块,所述响应包括对向所述系统进行登记的实体的引用;以及
向所述实体发送消息以向所述系统进行登记的模块。
7.如权利要求6所述的装置,其特征在于,所述发送模块包括:
发送对所述响应的回应的模块。
8.处理由多个机器组成的分布式系统中的对象的装置,其特征在于,它包含:
从一机器处接收多信道包的模块,所述包包括加入所述分布式系统的请求,并且包括与所述机器进行通信的代码指示;
用代码构造一响应的模块,所述响应包括对向所述系统进行登记的实体的引用;以及
发送对所述机器的响应的模块。
9.如权利要求8所述的装置,其特征在于,所述接收模块包括:
接收对所述响应的回应的模块。
10.一种在由多个机器组成的分布式系统中传送对象的装置,其特征在于,它包含:
从一第一机器处发送第一对象的模块,所述对象包括与所述第一机器进行通信的代码指示;
在第二机器处接收所述第一对象的模块;
采用所述代码构造第二对象的模块,用来与所述第一机器进行通信;以及
将所述第二对象从所述第二机器发送到所述第一机器的模块。
11.一种在由多个机器组成的分布式系统中传送对象的系统,其特征在于,它包含:
第一机器;
多个第二机器;
将所述第一机器与多个第二机器连接起来的网络;以及
使所述第一机器加入所述网络的装置,所述装置包括:
    从所述第一机器发送多信道包的模块,所述包包括加入所述分布式系统的请求,并且包括与所述第一机器进行通信的代码指示;
    接收响应的模块,所述响应包括对向所述系统进行登记的实体进行引用的模块;以及
    向所述实体发送一条消息用以向所述系统进行登记的模块。
12.如权利要求11所述的系统,其特征在于,所述发送模块包括:
发送对所述响应的回应的模块。
13.一种由多个机器组成的分布式系统中传送对象的系统,其特征在于,它包含:
第一机器;
多个第二机器;
将所述第一机器与所述多个第二机器相连的网络;以及
使所述第一机器加入所述网络的装置,所述装置包括:
    从所述第一机器接收多信道包的模块,所述包包括加入所述分布式系统的请求,并且包括与所述第一机器进行通信的代码指示;
    采用所述代码构造一响应的模块,所述响应包括对向所述系统进行登记的一实体的引用;以及
    发送对所述第一机器的响应的模块。
14.如权利要求13的系统,其特征在于,所述接收模块包括:
接收对所述响应的回应的模块
15.一种在由多个机器组成的分布式系统中传送对象的系统,其特征在于,它包含:
第一机器;
第二机器;
使所述第一机器与所述多个第二机器相连的网络;以及
在所述第一机器和第二机器之间进行通信的装置,所述装置包括:
    从所述第一机器发送第一对象的模块,所述第一对象包括与所述第一机器进行通信的代码指示;
    在所述第二机器处接收所述第一对象的模块;
    使用所述代码构造第二对象的模块,用来与所述第一机器进行通信;以及
    将所述第二对象从所述第二机器发送到所述第一机器的模块。
16.一种计算机程序产品,其特征在于,它包含:
含有对计算机系统进行控制以执行一种方法的指令的计算机可读介质,所述方法包括:
从一机器发送一多信道包,所述包包括加入所述分布式系统的请求,并且包括与所述机器进行通信的代码指示;
接收一响应,所述响应包括对向所述系统进行登记的实体的引用;以及
向所述实体发送一条消息用以向所述系统进行登记。
17.如权利要求16所述的计算机程序产品,其特征在于,所述发送包括传送对所述响应的回应。
18.一种计算机程序产品,其特征在于,它包含:
含有对计算机系统进行控制以执行一种方法的指令的计算机可读介质,所述方法包括:
从一机器接收一多信道包,所述包包括加入所述分布式系统的请求,并且包括与所述机器进行通信的代码指示;
采用所述代码,构造一个响应,所述响应包括用来对向所述系统登记的一实体的引用;以及
传送对所述机器的响应。
19.如权利要求18所述的计算机程序产品,其特征在于,所述接收包括:
对所述响应的回应。
20.一种计算机程序产品,其特征在于,它包含:
含有对计算机系统进行控制以执行一种方法的指令的计算机可读介质,所述方法包括:
从第一机器传送一第一对象,它包括用来与所述第一机器进行通信的代码指示;
在第二机器处接收所述第一对象;
采用所述代码构造与所述第一机器进行通信的第二对象;以及
将所述第二对象从所述第二机器传送到所述第一机器。
21.一种制造产品,它指定计算机可读存储介质中存储的表述,并能够在分布式系统的机器之间进行电子传输,其特征在于,所述制造产品包含:
要传送到系统中的多个机器的多信道包的对象,所述包包括机器加入所述系统的请求,并且包括与所述机器进行通信时使用的代码指示。
22.一种制造产品,它指定计算机可读存储介质中存储的对象的表述,并能够在分布式系统的机器之间进行电子传输,其特征在于,所述制造产品包含:
要从所述系统中的第一机器传送到第二机器的对象,所述对象包括与所述第一机器进行通信时使用的代码指示。
23.一种在由多个机器组成的分布式系统中传送对象的装置,其特征在于,它包含:
从一机器传送一多信道包的装置,所述包包括加入所述系统的请求,并且包括与所述机器进行通信的代码指示;
接收一响应的装置,所述响应包括用来对向所述系统进行登记的一实体的引用;以及
将一条消息传送到所述实体用以向所述系统进行登记的装置。
CN99805364A 1998-02-26 1999-02-16 提供可下载码用于与分布式系统中的装置进行通信的装置和方法 Pending CN1298505A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US7604898P 1998-02-26 1998-02-26
US09/044,939 US6560656B1 (en) 1998-02-26 1998-03-20 Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
US60/076,048 1998-03-20
US09/044,939 1998-03-20

Publications (1)

Publication Number Publication Date
CN1298505A true CN1298505A (zh) 2001-06-06

Family

ID=26722185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99805364A Pending CN1298505A (zh) 1998-02-26 1999-02-16 提供可下载码用于与分布式系统中的装置进行通信的装置和方法

Country Status (7)

Country Link
US (1) US6560656B1 (zh)
EP (1) EP1057104A1 (zh)
JP (1) JP2002505464A (zh)
KR (1) KR20010041364A (zh)
CN (1) CN1298505A (zh)
AU (1) AU2680499A (zh)
WO (1) WO1999044124A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100338914C (zh) * 2003-12-12 2007-09-19 国际商业机器公司 估计客户机和服务器间连接的带宽的方法、设备和服务器

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757729B1 (en) * 1996-10-07 2004-06-29 International Business Machines Corporation Virtual environment manager for network computers
US6675196B1 (en) 1999-01-08 2004-01-06 Amazon.Com, Inc. Universal protocol for enabling a device to discover and utilize the services of another device
US7225243B1 (en) * 2000-03-14 2007-05-29 Adaptec, Inc. Device discovery methods and systems implementing the same
US7127526B1 (en) * 2000-03-20 2006-10-24 Nortel Networks Limited Method and apparatus for dynamically loading and managing software services on a network device
US6917976B1 (en) * 2000-05-09 2005-07-12 Sun Microsystems, Inc. Message-based leasing of resources in a distributed computing environment
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
GB0015454D0 (en) * 2000-06-26 2000-08-16 Koninkl Philips Electronics Nv Data delivery through beacons
US6757714B1 (en) * 2000-07-28 2004-06-29 Axeda Systems Operating Company, Inc. Reporting the state of an apparatus to a remote computer
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US7185014B1 (en) * 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
JP2002124951A (ja) * 2000-10-12 2002-04-26 Canon Inc 通信端末装置、サービス提供システム、サービス利用方法及び記憶媒体
US7454484B1 (en) * 2000-11-16 2008-11-18 Nortel Networks Limited Method and apparatus for producing a multicast tree
US7149792B1 (en) * 2000-11-20 2006-12-12 Axeda Corporation Device registration mechanism
WO2002076003A2 (en) * 2001-03-19 2002-09-26 Imesh Ltd. System and method for peer-to-peer file exchange mechanism from multiple sources
US6918120B2 (en) * 2001-04-20 2005-07-12 Hewlett-Packard Development Company, L.P. Remote file system using network multicast
US7296042B2 (en) 2001-04-20 2007-11-13 Palo Alto Research Center Incorporated System and method for enabling communication among arbitrary components
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US7552265B2 (en) 2002-01-23 2009-06-23 Xerox Corporation System and method for providing context information
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
GB0402572D0 (en) * 2004-02-05 2004-03-10 Nokia Corp A method of organising servers
US9537731B2 (en) 2004-07-07 2017-01-03 Sciencelogic, Inc. Management techniques for non-traditional network and information system topologies
WO2006014504A2 (en) 2004-07-07 2006-02-09 Sciencelogic, Llc Self configuring network management system
US8370479B2 (en) 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
US8065397B2 (en) 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US8478861B2 (en) 2007-07-06 2013-07-02 Axeda Acquisition Corp. Managing distributed devices with limited connectivity
US20100174575A1 (en) * 2009-01-02 2010-07-08 International Business Machines Corporation Meeting management system with failover and failback capabilities for meeting moderators
KR101930510B1 (ko) 2011-09-16 2018-12-19 삼성전자주식회사 네트워크 상의 객체 검색 방법 및 시스템
US10523804B2 (en) 2011-09-16 2019-12-31 Samsung Electronics Co., Ltd. Method and system for searching for object in network
US9524147B2 (en) * 2013-05-10 2016-12-20 Sap Se Entity-based cross-application navigation
US9438628B2 (en) * 2014-01-27 2016-09-06 Honeywell International Inc. Apparatus and method for securing a distributed control system (DCS)
KR102249262B1 (ko) * 2014-02-07 2021-05-07 오라클 인터내셔날 코포레이션 클라우드 서비스 커스텀 실행 환경
US10038552B2 (en) * 2015-11-30 2018-07-31 Honeywell International Inc. Embedded security architecture for process control systems
US10853482B2 (en) 2016-06-03 2020-12-01 Honeywell International Inc. Secure approach for providing combined environment for owners/operators and multiple third parties to cooperatively engineer, operate, and maintain an industrial process control and automation system
US10855462B2 (en) 2016-06-14 2020-12-01 Honeywell International Inc. Secure in-band upgrade using key revocation lists and certificate-less asymmetric tertiary key pairs
US10310467B2 (en) 2016-08-30 2019-06-04 Honeywell International Inc. Cloud-based control platform with connectivity to remote embedded devices in distributed control system
US10587421B2 (en) 2017-01-12 2020-03-10 Honeywell International Inc. Techniques for genuine device assurance by establishing identity and trust using certificates
US10749692B2 (en) 2017-05-05 2020-08-18 Honeywell International Inc. Automated certificate enrollment for devices in industrial control systems or other systems
US11237550B2 (en) 2018-03-28 2022-02-01 Honeywell International Inc. Ultrasonic flow meter prognostics with near real-time condition based uncertainty analysis

Family Cites Families (198)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2476349A1 (fr) 1980-02-15 1981-08-21 Philips Ind Commerciale Systeme de traitement de donnees reparti
US4491946A (en) 1981-03-09 1985-01-01 Gould Inc. Multi-station token pass communication system
AU556499B2 (en) 1981-05-22 1986-11-06 Data General Corporation Data processing system
US4558413A (en) 1983-11-21 1985-12-10 Xerox Corporation Software version management system
JPH0640302B2 (ja) 1984-01-30 1994-05-25 株式会社日立製作所 図式・ソ−スプログラム自動生成方法
US4823122A (en) 1984-06-01 1989-04-18 Digital Equipment Corporation Local area network for digital data processing system
US4809160A (en) 1985-10-28 1989-02-28 Hewlett-Packard Company Privilege level checking instruction for implementing a secure hierarchical computer system
US4713806A (en) 1986-03-14 1987-12-15 American Telephone And Telegraph Company, At&T Bell Laboratories Communication system control arrangement
US4939638A (en) 1988-02-23 1990-07-03 Stellar Computer Inc. Time sliced vector processing
US5287511A (en) 1988-07-11 1994-02-15 Star Semiconductor Corporation Architectures and methods for dividing processing tasks into tasks for a programmable real time signal processor and tasks for a decision making microprocessor interfacing therewith
US4979105A (en) 1988-07-19 1990-12-18 International Business Machines Method and apparatus for automatic recovery from excessive spin loops in an N-way multiprocessing system
US5133075A (en) 1988-12-19 1992-07-21 Hewlett-Packard Company Method of monitoring changes in attribute values of object in an object-oriented database
US5109486A (en) 1989-01-06 1992-04-28 Motorola, Inc. Distributed computer system with network and resource status monitoring
US5088036A (en) 1989-01-17 1992-02-11 Digital Equipment Corporation Real time, concurrent garbage collection system and method
DE69030340T2 (de) 1989-02-24 1997-11-20 Digital Equipment Corp Makler für die Auswahl von Rechnernetzwerkservern
US5297283A (en) 1989-06-29 1994-03-22 Digital Equipment Corporation Object transferring system and method in an object based computer operating system
US5557798A (en) 1989-07-27 1996-09-17 Tibco, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5187787B1 (en) 1989-07-27 1996-05-07 Teknekron Software Systems Inc Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5257369A (en) 1990-10-22 1993-10-26 Skeen Marion D Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5218699A (en) 1989-08-24 1993-06-08 International Business Machines Corporation Remote procedure calls in heterogeneous systems
US5555427A (en) 1989-12-26 1996-09-10 Fujitsu Limited Distributed processing in a system of computers at terminals connected by a communication network
GB2242293A (en) 1990-01-05 1991-09-25 Apple Computer Apparatus and method for dynamic linking of computer software components
AU639802B2 (en) 1990-08-14 1993-08-05 Oracle International Corporation Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment
AU628753B2 (en) 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
US5446897A (en) 1990-08-31 1995-08-29 International Business Machines Corporation Automated address discovery method and apparatus for local area networks
DE69126666T2 (de) 1990-09-17 1998-02-12 Cabletron Systems Inc Netzwerkverwaltungssystem mit modellbasierter intelligenz
US5544317A (en) * 1990-11-20 1996-08-06 Berg; David A. Method for continuing transmission of commands for interactive graphics presentation in a computer network
JPH0799497B2 (ja) 1990-12-14 1995-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション ソフトウェアの使用を管理するための装置及び方法
IE910553A1 (en) 1991-02-19 1992-08-26 Tolsys Ltd Improvements in and relating to stable memory circuits
DE69228621T2 (de) 1991-02-25 1999-07-22 Hewlett Packard Co Objektorientiertes verteiltes Rechnersystem
EP0501613A3 (en) 1991-02-28 1993-09-01 Hewlett-Packard Company Heterogeneous software configuration management apparatus
US5293614A (en) 1991-04-08 1994-03-08 Texas Instruments Incorporated System and method for hard real-time garbage collection requiring a write barrier but no read barrier
US5481721A (en) 1991-07-17 1996-01-02 Next Computer, Inc. Method for providing automatic and dynamic translation of object oriented programming language-based message passing into operation system message passing using proxy objects
DE4131380A1 (de) 1991-09-20 1993-03-25 Siemens Ag Verfahren zur adaption einer objektorientierten applikation
US5319751A (en) * 1991-12-27 1994-06-07 Intel Corporation Device driver configuration in a computer system
US5826017A (en) 1992-02-10 1998-10-20 Lucent Technologies Apparatus and method for communicating data between elements of a distributed system using a general protocol
US5390328A (en) 1992-03-30 1995-02-14 International Business Machines Corporation Data processing system and method for providing notification in a central processor of state changes for shared data structure on external storage
US5553305A (en) 1992-04-14 1996-09-03 International Business Machines Corporation System for synchronizing execution by a processing element of threads within a process using a state indicator
US5353343A (en) 1992-04-30 1994-10-04 Rockwell International Corporation Telephonic switching system with a user controlled data memory access system and method
US5412717A (en) 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
US5581760A (en) 1992-07-06 1996-12-03 Microsoft Corporation Method and system for referring to and binding to objects using identifier objects
US5307490A (en) 1992-08-28 1994-04-26 Tandem Computers, Inc. Method and system for implementing remote procedure calls in a distributed computer system
JP2524472B2 (ja) 1992-09-21 1996-08-14 インターナショナル・ビジネス・マシーンズ・コーポレイション 電話回線利用の音声認識システムを訓練する方法
US5423042A (en) 1992-10-23 1995-06-06 International Business Machines Corporation Remote procedure execution
US5561785A (en) 1992-10-29 1996-10-01 International Business Machines Corporation System for allocating and returning storage and collecting garbage using subpool of available blocks
WO1994011810A1 (en) 1992-11-13 1994-05-26 Microsoft Corporation A method and system for marshalling interface pointers for remote procedure calls
US5515536A (en) 1992-11-13 1996-05-07 Microsoft Corporation Method and system for invoking methods of an object through a dispatching interface
US5386568A (en) 1992-12-01 1995-01-31 Yamaha Corporation Apparatus and method for linking software modules
EP0602263A1 (en) 1992-12-15 1994-06-22 International Business Machines Corporation User interface program generator
US5560003A (en) 1992-12-21 1996-09-24 Iowa State University Research Foundation, Inc. System and hardware module for incremental real time garbage collection and memory management
US5452459A (en) 1993-01-08 1995-09-19 Digital Equipment Corporation Method and apparatus for allocating server access in a distributed computing environment
DE69429686T2 (de) 1993-02-25 2003-04-30 Sun Microsystems Inc Transaktionsverwaltung in objektorientiertem System
US5832593A (en) 1993-04-14 1998-11-10 Minnesota Mining And Manufacturing Company Splice head for insulated telecommunication wires
CA2121612A1 (en) 1993-05-21 1994-11-22 Chung-Hwa Herman Rao Methods and apparatus for making and using distributed applications
US5603031A (en) 1993-07-08 1997-02-11 General Magic, Inc. System and method for distributed computation based upon the movement, execution, and interaction of processes in a network
ATE248402T1 (de) 1993-07-16 2003-09-15 Siemens Ag Verfahren zur koordination von parallelen zugriffen mehrerer prozessoren auf resourcenkonfigurationen
US5844553A (en) 1993-08-30 1998-12-01 Hewlett-Packard Company Mechanism to control and use window events among applications in concurrent computing
US5617537A (en) 1993-10-05 1997-04-01 Nippon Telegraph And Telephone Corporation Message passing system for distributed shared memory multiprocessor system and message passing method using the same
CA2118169A1 (en) 1993-10-27 1995-04-28 Michael R.C. Seaman Event architecture for system management in an operating system
US5455952A (en) 1993-11-03 1995-10-03 Cardinal Vision, Inc. Method of computing based on networks of dependent objects
US5742848A (en) 1993-11-16 1998-04-21 Microsoft Corp. System for passing messages between source object and target object utilizing generic code in source object to invoke any member function of target object by executing the same instructions
US5581704A (en) 1993-12-06 1996-12-03 Panasonic Technologies, Inc. System for maintaining data coherency in cache memory by periodically broadcasting invalidation reports from server to client
US5485617A (en) 1993-12-13 1996-01-16 Microsoft Corporation Method and system for dynamically generating object connections
US5594921A (en) 1993-12-17 1997-01-14 Object Technology Licensing Corp. Authentication of users with dynamically configurable protocol stack
AU6702594A (en) 1993-12-17 1995-07-03 Taligent, Inc. Object-oriented distributed communications directory service
US5548726A (en) 1993-12-17 1996-08-20 Taligeni, Inc. System for activating new service in client server network by reconfiguring the multilayer network protocol stack dynamically within the server node
WO1995019008A1 (en) 1994-01-05 1995-07-13 Covey Peter J Dynamic-state, multi-dimensional, multi-media database
US5832219A (en) 1994-02-08 1998-11-03 Object Technology Licensing Corp. Distributed object networking service
US5845090A (en) 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
US5392280A (en) 1994-04-07 1995-02-21 Mitsubishi Electric Research Laboratories, Inc. Data transmission system and scheduling protocol for connection-oriented packet or cell switching networks
US5675796A (en) 1994-04-08 1997-10-07 Microsoft Corporation Concurrency management component for use by a computer program during the transfer of a message
US6216138B1 (en) 1994-04-22 2001-04-10 Brooks Automation Inc. Computer interface system for automatically generating graphical representations of computer operations linked together according to functional relationships
US5680617A (en) 1994-05-16 1997-10-21 Apple Computer, Inc. Computer-human interface which provides for user customization of object behavior
US5675797A (en) 1994-05-24 1997-10-07 International Business Machines Corporation Goal-oriented resource allocation manager and performance index technique for servers
EP0684553B1 (en) 1994-05-26 2004-06-16 Sun Microsystems, Inc. Method and apparatus for generating and using short operation identifiers in object oriented systems
US5655148A (en) 1994-05-27 1997-08-05 Microsoft Corporation Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information
US5680573A (en) 1994-07-12 1997-10-21 Sybase, Inc. Method of buffering data objects in a database
US5778228A (en) 1994-08-16 1998-07-07 International Business Machines Corporation Method and system for transferring remote procedure calls and responses over a network
US5922054A (en) 1994-08-19 1999-07-13 Canon Kabushiki Kaisha System for managing external applications and files
US5555367A (en) 1994-09-30 1996-09-10 General Electric Company Method and system for generating computer programs for queries formed by manipulating object-oriented diagrams
JP4058118B2 (ja) 1994-11-15 2008-03-05 株式会社日立製作所 プログラム生成システム及び方法
US5577231A (en) 1994-12-06 1996-11-19 International Business Machines Corporation Storage access authorization controls in a computer system using dynamic translation of large addresses
US5644768A (en) 1994-12-09 1997-07-01 Borland International, Inc. Systems and methods for sharing resources in a multi-user environment
US5553282A (en) 1994-12-09 1996-09-03 Taligent, Inc. Software project history database and method of operation
EP0717337B1 (en) 1994-12-13 2001-08-01 International Business Machines Corporation Method and system for the secured distribution of programs
US5608903A (en) 1994-12-15 1997-03-04 Novell, Inc. Method and apparatus for moving subtrees in a distributed network directory
US5677851A (en) 1994-12-15 1997-10-14 Novell, Inc. Method and apparatus to secure digital directory object changes
US5630066A (en) 1994-12-20 1997-05-13 Sun Microsystems, Inc. System and method for locating object view and platform independent object
US5872928A (en) 1995-02-24 1999-02-16 Cabletron Systems, Inc. Method and apparatus for defining and enforcing policies for configuration management in communications networks
EP0735472A3 (en) 1995-03-31 2000-01-19 Sun Microsystems, Inc. Method and apparatus for conspiracy among objects
US5727203A (en) 1995-03-31 1998-03-10 Sun Microsystems, Inc. Methods and apparatus for managing a database in a distributed object operating environment using persistent and transient cache
US5812819A (en) 1995-06-05 1998-09-22 Shiva Corporation Remote access apparatus and method which allow dynamic internet protocol (IP) address management
US5628005A (en) 1995-06-07 1997-05-06 Microsoft Corporation System and method for providing opportunistic file access in a network environment
US5903731A (en) 1995-06-14 1999-05-11 Us West Technologies, Inc. System and associated method for re-engineering a telecommunications network support system with object-oriented translators
US5761656A (en) 1995-06-26 1998-06-02 Netdynamics, Inc. Interaction between databases and graphical user interfaces
US5802367A (en) 1995-07-07 1998-09-01 Microsoft Corporation Method and system for transparently executing code using a surrogate process
US5745703A (en) 1995-07-18 1998-04-28 Nec Research Institute, Inc. Transmission of higher-order objects across a network of heterogeneous machines
US5805805A (en) * 1995-08-04 1998-09-08 At&T Corp. Symmetric method and apparatus for interconnecting emulated lans
US5774551A (en) 1995-08-07 1998-06-30 Sun Microsystems, Inc. Pluggable account management interface with unified login and logout and multiple user authentication services
US5956509A (en) 1995-08-18 1999-09-21 Microsoft Corporation System and method for performing remote requests with an on-line service network
JPH0962526A (ja) 1995-08-28 1997-03-07 Fujitsu Ltd 耐故障型rpcシステムおよび方法
JP2964926B2 (ja) 1995-08-29 1999-10-18 富士ゼロックス株式会社 データベース管理装置及び方法
US5671225A (en) 1995-09-01 1997-09-23 Digital Equipment Corporation Distributed interactive multimedia service system
US5737607A (en) 1995-09-28 1998-04-07 Sun Microsystems, Inc. Method and apparatus for allowing generic stubs to marshal and unmarshal data in object reference specific data formats
US5765174A (en) 1995-10-06 1998-06-09 Sun Microsystems, Inc. System amd method for distributed object resource management
US5864862A (en) 1996-09-30 1999-01-26 Telefonaktiebolaget Lm Ericsson (Publ) System and method for creating reusable components in an object-oriented programming environment
US5872973A (en) 1995-10-26 1999-02-16 Viewsoft, Inc. Method for managing dynamic relations between objects in dynamic object-oriented languages
US5860153A (en) 1995-11-22 1999-01-12 Sun Microsystems, Inc. Memory efficient directory coherency maintenance
US6067575A (en) 1995-12-08 2000-05-23 Sun Microsystems, Inc. System and method for generating trusted, architecture specific, compiled versions of architecture neutral programs
US5692047A (en) 1995-12-08 1997-11-25 Sun Microsystems, Inc. System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources
US6003763A (en) 1995-12-29 1999-12-21 Visa International Service Method and apparatus for recording magnetic information on traveler's checks
US5745695A (en) 1996-01-16 1998-04-28 Motorola Inc. Radio system with suspension of packet data service during non-data service connection
US5754849A (en) 1996-01-30 1998-05-19 Wayfarer Communications, Inc. Self-describing object providing dynamic manipulation of heterogeneous data values and semantic identity between memory and transmission representations
US5946485A (en) 1996-02-09 1999-08-31 Intervoice Limited Partnership Enhanced graphical development environment for controlling program flow
US6075863A (en) * 1996-02-28 2000-06-13 Encanto Networks Intelligent communication device
CA2199108C (en) 1996-03-05 2002-04-23 Hirotoshi Maegawa Parallel distributed processing system and method of same
US5845129A (en) 1996-03-22 1998-12-01 Philips Electronics North America Corporation Protection domains in a single address space
US5706502A (en) 1996-03-25 1998-01-06 Sun Microsystems, Inc. Internet-enabled portfolio manager system and method
US5867653A (en) * 1996-04-18 1999-02-02 International Business Machines Corporation Method and apparatus for multi-cast based video conferencing
US5790548A (en) 1996-04-18 1998-08-04 Bell Atlantic Network Services, Inc. Universal access multimedia data network
US6182083B1 (en) 1997-11-17 2001-01-30 Sun Microsystems, Inc. Method and system for multi-entry and multi-template matching in a database
US5815709A (en) 1996-04-23 1998-09-29 San Microsystems, Inc. System and method for generating identifiers for uniquely identifying object types for objects used in processing of object-oriented programs and the like
US6134603A (en) 1998-03-20 2000-10-17 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
US6226746B1 (en) 1998-03-20 2001-05-01 Sun Microsystems, Inc. Stack-based system and method to combine security requirements of methods
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US5978484A (en) 1996-04-25 1999-11-02 Microsoft Corporation System and method for safety distributing executable objects
EP0805393B1 (en) 1996-04-30 2011-11-09 International Business Machines Corporation Method and apparatus for managing membership of a group of processors in a distributed computing environment
US5778368A (en) 1996-05-03 1998-07-07 Telogy Networks, Inc. Real-time embedded software respository with attribute searching apparatus and method
US5778187A (en) 1996-05-09 1998-07-07 Netcast Communications Corp. Multicasting method and apparatus
US5835737A (en) 1996-05-10 1998-11-10 Apple Computer, Inc. Method and apparatus for arbitrating access to selected computer system devices
US5889951A (en) 1996-05-13 1999-03-30 Viewpoint Corporation Systems, methods, and computer program products for accessing, leasing, relocating, constructing and modifying internet sites within a multi-dimensional virtual reality environment
US6199116B1 (en) * 1996-05-24 2001-03-06 Microsoft Corporation Method and system for managing data while sharing application programs
US5928323A (en) 1996-05-30 1999-07-27 Sun Microsystems, Inc. Apparatus and method for dynamically generating information with server-side software objects
US5813013A (en) 1996-06-06 1998-09-22 Microsoft Corporation Representing recurring events
JP3488019B2 (ja) 1996-06-17 2004-01-19 株式会社山武 制御設計用コンフィギュレーション・ツールの部品再利用方法
US5768532A (en) 1996-06-17 1998-06-16 International Business Machines Corporation Method and distributed database file system for implementing self-describing distributed file objects
US5991823A (en) 1996-06-26 1999-11-23 Sun Microsystems, Inc. Low overhead object adaptor
US6044409A (en) 1996-06-26 2000-03-28 Sun Microsystems, Inc. Framework for marshaling and unmarshaling argument object references
US5727145A (en) 1996-06-26 1998-03-10 Sun Microsystems, Inc. Mechanism for locating objects in a secure fashion
SG67354A1 (en) 1996-06-27 1999-09-21 Inst Of Systems Science Nation Computationally efficient method for trusted and dynamic digital objects dissemination
US6360256B1 (en) 1996-07-01 2002-03-19 Sun Microsystems, Inc. Name service for a redundant array of internet servers
US5809507A (en) 1996-07-01 1998-09-15 Sun Microsystems, Inc. Method and apparatus for storing persistent objects on a distributed object network using a marshaling framework
US5818448A (en) 1996-07-02 1998-10-06 Sun Microsystems, Inc. Apparatus and method for identifying server computer aggregation topologies
US5748897A (en) 1996-07-02 1998-05-05 Sun Microsystems, Inc. Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US5949998A (en) 1996-07-03 1999-09-07 Sun Microsystems, Inc. Filtering an object interface definition to determine services needed and provided
US5860004A (en) 1996-07-03 1999-01-12 Sun Microsystems, Inc. Code generator for applications in distributed object systems
US5757925A (en) 1996-07-23 1998-05-26 Faybishenko; Yaroslav Secure platform independent cross-platform remote execution computer system and method
US6016516A (en) 1996-08-07 2000-01-18 Fuji Xerox Co. Ltd. Remote procedure processing device used by at least two linked computer systems
US5973696A (en) * 1996-08-08 1999-10-26 Agranat Systems, Inc. Embedded web server
JP3484019B2 (ja) * 1996-08-30 2004-01-06 富士通株式会社 Lan間接続方法
US5875335A (en) 1996-09-30 1999-02-23 Apple Computer, Inc. Parameter marshaling techniques for dynamic object-oriented programming languages
US5787425A (en) 1996-10-01 1998-07-28 International Business Machines Corporation Object-oriented data mining framework mechanism
US5974201A (en) 1996-10-01 1999-10-26 Siemens Corporate Research, Inc. Smart image system
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6044381A (en) 1997-09-11 2000-03-28 Puma Technology, Inc. Using distributed history files in synchronizing databases
US5944793A (en) 1996-11-21 1999-08-31 International Business Machines Corporation Computerized resource name resolution mechanism
US5987506A (en) 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
JP2982728B2 (ja) * 1996-12-06 1999-11-29 日本電気株式会社 アプリケーション共有システム
US5892904A (en) 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US5884024A (en) 1996-12-09 1999-03-16 Sun Microsystems, Inc. Secure DHCP server
JPH10171701A (ja) 1996-12-10 1998-06-26 Fuji Xerox Co Ltd 手続実行装置及び方法
US5787431A (en) 1996-12-16 1998-07-28 Borland International, Inc. Database development system with methods for java-string reference lookups of column names
US5933647A (en) 1997-01-24 1999-08-03 Cognet Corporation System and method for software distribution and desktop management in a computer network environment
US6052761A (en) 1997-01-31 2000-04-18 Hewlett-Packard Company Increment update in an SCI based system
US5913029A (en) 1997-02-07 1999-06-15 Portera Systems Distributed database system and method
US5815149A (en) 1997-02-19 1998-09-29 Unisys Corp. Method for generating code for modifying existing event routines for controls on a form
US5935249A (en) 1997-02-26 1999-08-10 Sun Microsystems, Inc. Mechanism for embedding network based control systems in a local network interface device
US6061713A (en) 1997-03-12 2000-05-09 Fujitsu Limited Communications system for client-server data processing systems
US5864866A (en) 1997-03-26 1999-01-26 International Business Machines Corporation Apparatus and method for providing externalization in an object-oriented environment
US5999988A (en) 1997-03-31 1999-12-07 Sun Microsystems, Inc. Method and apparatus for generating and employing a run-time generated stub to reference an object in object oriented systems
US5890158A (en) 1997-03-31 1999-03-30 International Business Machines Corporation Method, apparatus, and program storage device for sharing objects with a network server and a database server using a common object model
AU6882998A (en) * 1997-03-31 1998-10-22 Broadband Associates Method and system for providing a presentation on a network
US6247091B1 (en) 1997-04-28 2001-06-12 International Business Machines Corporation Method and system for communicating interrupts between nodes of a multinode computer system
US6282295B1 (en) 1997-10-28 2001-08-28 Adam Lucas Young Auto-recoverable and auto-certifiable cryptostem using zero-knowledge proofs for key escrow in general exponential ciphers
US5808911A (en) 1997-06-19 1998-09-15 Sun Microsystems, Inc. System and method for remote object resource management
US6138144A (en) * 1997-06-24 2000-10-24 At&T Corp. Method for managing multicast addresses for transmitting and receiving multimedia conferencing information on an internet protocol (IP) network implemented over an ATM network
US5878411A (en) 1997-06-27 1999-03-02 International Business Machines Corporation Dependent object class and subclass mapping to relational data store
US5887134A (en) 1997-06-30 1999-03-23 Sun Microsystems System and method for preserving message order while employing both programmed I/O and DMA operations
US6154463A (en) * 1997-08-26 2000-11-28 Lucent Technologies, Inc. System and method for multicast conferencing and online discussion groups
US5964836A (en) * 1997-09-11 1999-10-12 International Business Machines Corporation Apparatus, methods and computer program products for managing web-page-embedded sessions with a host-based application
US5946694A (en) 1997-09-29 1999-08-31 International Business Machines Corporation Apparatus and method for transparent application of service to business objects
US6134581A (en) * 1997-10-06 2000-10-17 Sun Microsystems, Inc. Method and system for remotely browsing objects
US5951652A (en) 1997-10-06 1999-09-14 Ncr Corporation Dependable data element synchronization mechanism
US6006253A (en) * 1997-10-31 1999-12-21 Intel Corporation Method and apparatus to provide a backchannel for receiver terminals in a loosely-coupled conference
US6061699A (en) 1997-11-03 2000-05-09 International Business Machines Corporation Method and computer program product for extracting translatable material from browser program function codes using variables for displaying MRI
US5999179A (en) 1997-11-17 1999-12-07 Fujitsu Limited Platform independent computer network management client
US6032151A (en) 1997-11-17 2000-02-29 Sun Microsystems, Inc. Database system employing polymorphic entry and entry matching
US6016496A (en) 1997-11-20 2000-01-18 International Business Machines Corporation Method and apparatus for an object-oriented object for retrieving information from local and remote databases
US5940391A (en) * 1997-11-25 1999-08-17 International Business Machines Corporation Method and apparatus for reconfigurable and adaptive stream multicast
US6009103A (en) 1997-12-23 1999-12-28 Mediaone Group, Inc. Method and system for automatic allocation of resources in a network
US6049878A (en) * 1998-01-20 2000-04-11 Sun Microsystems, Inc. Efficient, secure multicasting with global knowledge
US5963947A (en) 1998-01-27 1999-10-05 International Business Machines Corporation Technique of dynamically adding functionality from a client to manipulated data at a server
US6023586A (en) 1998-02-10 2000-02-08 Novell, Inc. Integrity verifying and correcting software
US6026414A (en) 1998-03-05 2000-02-15 International Business Machines Corporation System including a proxy client to backup files in a distributed computing environment
US6185602B1 (en) 1998-06-29 2001-02-06 Sony Corporation Multi-user interaction of multimedia communication
US6108346A (en) 1998-08-27 2000-08-22 Xiox Corporation Combined synchronous and asynchronous message transmission
US6282568B1 (en) 1998-12-04 2001-08-28 Sun Microsystems, Inc. Platform independent distributed management system for manipulating managed objects in a network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100338914C (zh) * 2003-12-12 2007-09-19 国际商业机器公司 估计客户机和服务器间连接的带宽的方法、设备和服务器

Also Published As

Publication number Publication date
WO1999044124A1 (en) 1999-09-02
AU2680499A (en) 1999-09-15
EP1057104A1 (en) 2000-12-06
US6560656B1 (en) 2003-05-06
JP2002505464A (ja) 2002-02-19
KR20010041364A (ko) 2001-05-15

Similar Documents

Publication Publication Date Title
CN1298505A (zh) 提供可下载码用于与分布式系统中的装置进行通信的装置和方法
US9183066B2 (en) Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6272559B1 (en) Deferred reconstruction of objects and remote loading for event notification in a distributed system
US6487607B1 (en) Methods and apparatus for remote method invocation
US6708171B1 (en) Network proxy
US20030023613A1 (en) Apparatus and method for dynamically verifying information in a distributed system
US6629154B1 (en) Method and system for deterministic hashes to identify remote methods
US20040019887A1 (en) Method, system, and program for loading program components
US6832223B1 (en) Method and system for facilitating access to a lookup service
CN1564978A (zh) 个人计算机升级
US6438614B2 (en) Polymorphic token based control
US7089263B2 (en) Apparatus and method for dynamically verifying information in a distributed system
CN1298508A (zh) 执行与分布式系统中的远程过程调用相关的处理的可下载智能代理
EP1058884A1 (en) Method and system for facilitating access to a lookup service
EP1057113B1 (en) Deferred reconstruction of objects and remote loading for event notification in a distributed system
CN1298507A (zh) 分布式系统中用于确定远程对象状态的方法和装置
EP1235149A2 (en) Deferred reconstruction of objects and remote loading for event notification in a distributed system
KR20010034515A (ko) 룩업 서비스에의 액세스를 용이하게 하는 방법 및 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C01 Deemed withdrawal of patent application (patent law 1993)
WD01 Invention patent application deemed withdrawn after publication