CN1298514A - 确定性散列识别远程方法的方法和系统 - Google Patents

确定性散列识别远程方法的方法和系统 Download PDF

Info

Publication number
CN1298514A
CN1298514A CN99805491A CN99805491A CN1298514A CN 1298514 A CN1298514 A CN 1298514A CN 99805491 A CN99805491 A CN 99805491A CN 99805491 A CN99805491 A CN 99805491A CN 1298514 A CN1298514 A CN 1298514A
Authority
CN
China
Prior art keywords
remote
hashed value
remote method
enabling
steps
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
CN99805491A
Other languages
English (en)
Inventor
R·谢夫勒
A·M·沃尔蕾斯
P·C·琼斯
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
Priority claimed from US09/045,652 external-priority patent/US6134603A/en
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of CN1298514A publication Critical patent/CN1298514A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0261Garbage collection, i.e. reclamation of unreferenced memory using reference counting
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • 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/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/46Indexing scheme relating to G06F9/46
    • G06F2209/463Naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities

Abstract

提供了一种方法和系统,使用从客户以调用请求发送给服务器的方法署名中计算得到的散列值,唯一地识别一远程方法以在服务器上启用。当客户希望启用位于一服务器上的远程方法时,客户把识别该远程方法的散列值发送给“远程方法启用”RMI调用中的该服务器。在一实现中,该散列值是通过把一散列函数应用于方法串名和参数类型清单以及可能的返还类型而创建的。当服务器接收到此RMI调用时,服务器使用接收到的散列值识别要启用哪一个方法。服务器保持散列值与服务器上其相关远程方法的映射并使用此散列值引用正确的方法。此外,在一实现中,服务器在创建一远程对象时动态地创建此映射表。服务器识别该对象所实现的方法并对每一方法创建散列值。把这些散列值存储在用来引用该远程方法的映射表中。

Description

确定性散列识别远程方法的方法和系统
相关申请
依靠以下所述的美国专利申请,在本申请中通过参考引入。
1998年2月26日提交的名为“分布式计算系统”的60/076,048号临时美国专利申请。
同一天提交的名为“租用存储器的方法和系统”的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.00162-01000。
同一天提交的名为“远程方法调用的方法和设备”的09/044,938号美国专利申请,其律师备案号为06502.0102-00000。
同一天提交的名为“确定分布式系统中的远程对象的状态的方法和设备”的09/044,790号美国专利申请,其律师备案号为06502.0104-00000。
同一天提交的名为“用于执行有关分布式系统中的远程过程调用的处理的可下载智能代理”的09/044,930号美国专利申请,其律师备案号为06502.0105-00000。
同一天提交的名为“数据库中的多入口和多模板匹配的方法和系统”的09/044,835号美国专利申请,其律师备案号为06502.0107-00000。
同一天提交的名为“远程方法的挂起和继续”的09/044,917号美国专利申请,其律师备案号为06502.0106-00000。
同一天提交的名为“数据库中的就地修改的方法和系统”的09/044,839号美国专利申请,其律师备案号为06502.0108。
同一天提交的名为“数据库中的类型安全属性匹配的方法和系统”的09/044,945号美国专利申请,其律师备案号为06502.0109-00000。
同一天提交的名为“分布式系统中的动态查找服务”的09/044,931号美国专利申请,其律师备案号为06502.0110-00000。
同一天提交的名为“用于提供在与分布式系统中的一个装置进行通信时所使用的可下载代码的设备和方法”的09/044,939号美国专利申请,其律师备案号为06502.0112-00000。
同一天提交的名为“便于访问查找服务的方法和系统”的09/044,826号美国专利申请,其律师备案号为06502.0113-00000。
同一天提交的名为“用于动态地检验分布式系统中的信息的设备和方法”的09/044,932号美国专利申请,其律师备案号为06502.0114-00000。
同一天提交的名为“在一网络上进行动态分布式计算的方法和设备”的09/044,840号美国专利申请,其律师备案号为06502.0115-00000。
同一天提交的名为“持久性共享的存储空间的交互设计工具”的09/044,936号美国专利申请,其律师备案号为06502.0116-00000。
同一天提交的名为“多形基于令牌的控制”的09/044,934号美国专利申请,其律师备案号为06502.0117-00000。
同一天提交的名为“基于堆栈的访问控制”的09/044,915号美国专利申请,其律师备案号为06502.0118-00000。
同一天提交的名为“基于堆栈的安全需求”的09/044,944号美国专利申请,其律师备案号为06502.0119-00000。
同一天提交的名为“对每一方法安全需求的选定”的09/044,837号美国专利申请,其律师备案号为06502.0120-00000。
A.技术领域
本发明涉及数据处理系统,尤其涉及在远程服务器上的远程方法启用。更具体来说,本发明涉及使用散列值在服务器上识别远程方法的方法和系统。
B.相关技术
分布式系统通常包括连接在一网络(例如,局域网(LAN)、广域网(WAN)或因特网)中的诸如计算机及有关外围设备等多个机器。分布式系统一般需要在不同地址空间(可能位于不同机器上)中运行的计算实体(例如,应用程序、程序、小应用程序等)能进行通信。
对于一基本的通信机构,分布式面向对象的系统利用远程过程调用(RPC)机构,它叫做远程方法启用(RMI)。RMI有助于属于不同地址空间的“对象”之间的应用程序级通信。在面向对象的系统中,“类(class)”提供了创建具有这一类的特征的“对象”(它们代表该系统所管理的项目和实例)所用的模板。术语模板代表每一类中的对象(即,数据项),共享由这一类所确定的某些特性或属性,诸如其方法。对象通常是在系统操作期间动态创建的。一般,在同一类的对象上启用(即,引起操作)与这一类相关的方法。
RMI是启用一远程对象的一个方法的动作。响应于使用RMI的启用一远程对象的一个方法,较低级的通信进程(process)使得在该远程对象上执行所启用的方法。
JayaTM运行时间系统(被设计成实现以JavaTM面向对象的编程语言所编写的应用程序)支持专用的JavaTM RMI应用程序接口(API)。例如,在Sun Microsystems,Inc.的名为“远程方法启用规范”(1997)的文档说明了此API,这一文章可通过全球资源定位器(URL)http://www.javasoft.com/products/jdk/1.1/docs/guide/rmi/spec/rmiTOC.doc.html而获得,在这里通过参考而引入。在许多文章中描述了JavaTM语言,包括Jamies Gosling、Bill Joy和Guy Steele、Addison-Wesley在1996年的“Java语言规范”的文章。Java和所有基于Java的商标都是Sun Microsystems,Inc.在美国和其它国家的商标或注册商标。
Java RMI假定了一种专用的Java运行时间系统的同构环境,因此Java RMI尽可能地利用Java语言的专用对象模型。在JavaTM分布式对象模型中,远程对象是具有可从另一运行时间系统(可能位于不同的机器上)启用的方法的对象。通过以规定此远程对象的方法的Java语言所编写的一个或多个远程接口码来描述这种类型的对象。
Java运行时间系统跟踪通过本地虚拟机(VM)来执行的计算实体所引用(reference)的所有远程对象。JavaTMVM(JVM)是运行时间系统的一个抽象的计算器,它接收来自字节码形式的程序的指令并解释这些字节码(这是通过把这些字节码转换成诸如对象码等执行形式并执行它们来实现的)。在Tim Lindholm和FrankYellin、Addison Wesley在1996年的名为“Java虚拟机规范”的文章中详细地描述此JVM。
在Java RMI中,客户在处理一程序时可通过与该客户所提供的某些“参数”信息相关联的方法的服务器计算机来远程地启动处理。在服务器已处理了此过程后,它将把其处理结果提供给该客户,其后该客户可在其处理操作中使用该结果。通常,在这样的RMI调用中,客户将利用本地“承接程序(stub)”,该承接程序在被调用时把此请求传递给实现此特定方法的服务器、获得结果并把这些结果返还给客户。
通常,在客户对一包含一方法清单的远程对象调用一方法时,由识别选中方法的串名或序号来识别该方法。然而,通过其串名来识别一方法可能会错误地识别一远程方法,因为该远程方法可能具有带相同串名的不止一个方法。这种方法叫做“过载(overloaded)”。虽然,方法可具有相同的串名,但具有重复的相同串名的过载方法通常具有不同的参数类型。例如,假定使用Java编程语言的一个远程方法具有以下两个方法:
public interface Directory {

  PhoneNumber lookupPhone{String name);

  PhoneNumber lookupPhone(Person person)

}
如果客户进行搜索而启用这两个方法中的一个方法,则仅靠串名“lookupPhone”不能使该远程对象确定要启用的正确方法,这是因为存在不止一个具有该名称的方法。
识别一远程方法的另一个常规途径是按字母顺序放置这些方法并对它们进行编号。假定一远程对象实现以下两个方法:
public interface Directory {

  PhoneNumber lookupPhone(String name);

  void storePhone{String name,PhoneNumber phone);

}
可如下表示这两个方法的编号方式:
1.lookupPhone
2.storePhone
在客户想要启用一方法时,它简单地发送相应于该方法启用指令中该方法的号码。然而,如果要把新的方法加到远程对象上,则它表现如下:
public interface Directory {
  PhoneNumber lookupPhone(String name);

  void storaPhone(String name,PhoneNumber phone);

  Address lookupAddress(String name);

  void storeAddress(String name,Address addr);
}
该方法的新编号方式将为:
1. lookupAddress
2. LookupPhone
3. storeAddress
4. storePhone
因而,相应于每一方法的号码已改变。这样,继续使用旧编号方式的旧承接程序将使现有的客户启用错误的方法。
相应地,想要提供一种唯一地识别RMI的远程对象的方法的系统。
发明内容
本发明通过提供一种使用散列值来识别远程对象的方法的方法和系统,它满足了这个和其它需要。
一种数据处理系统中用于启用一远程方法的方法包括以下步骤:提供一唯一识别一远程方法的散列值、响应于启用该远程方法的指令发送该散列值以及根据此散列值来启用该远程方法。本方法还包括使用该散列值来进行把该远程方法在一映射表中定位的步骤。
还提供实施依据本发明的方法的设备和系统。
本发明的优点是很多的。例如,符合本发明的方法和系统识别要启用的唯一远程方法,从而避免了对不正确远程方法的错误识别。此外,即使两个或多个方法具有相同的串名或这些方法使用变化的编号方式系统,也能够进行这一识别。
虽然可使用一长串诸如该方法名称结合一参数类型清单等以更精确地识别一远程方法,但这种识别器很不方便。由于不需要使用长的串来更精确地识别远程方法,使用散列值进一步提供了更高的效率。此外,它允许服务器更有效地进行操作,这是因为服务器能更有效地管理和计算不同于串的整数。
因此,想要提供一种使用散列值唯一地识别远程方法的方法和设备。
附图概述
引入本说明书并构成其一部分的附图示出本发明的一个实施例,结合这些附图及其描述来说明本发明的优点和原理。图中,
图1示出可实现依据本发明的系统的网络;
图2是可实现本发明的计算机系统的系统体系结构的方框图;
图3是示出符合本发明在客户计算机和服务器计算机之间使用散列值的RMI调用的方框图。
图4是符合本发明的散列值映射表的方框图;
图5是示出符合本发明用来识别唯一的远程方法的步骤的流程图;以及
图6是示出服务器用来创建依据本发明的散列值映射表的步骤的流程图。
详细描述
概述
符合本发明的方法和系统使用一散列值来识别一远程对象的一个方法。当客户希望启用位于一服务器上的一个远程对象的一个方法时,客户经由RMI连接把识别该特定远程方法的散列值发送到服务器。在一个实现中,此散列值是通过把一散列函数应用于该方法的串名和参数类型清单来创建的。可为此目的使用公知的冲突率低的散列函数。
当服务器接收到此方法启用时,服务器使用接收到的散列值来识别所调用的方法。服务器保持散列值对服务器上与其相关的远程方法的映射并使用该散列值来引用正确的方法。
在一远程对象创建时,服务器动态地创建该映射表。在创建一远程对象时,对该远程对象所实现的每一方法确定散列值。然后,服务器把这些散列值及其相应方法的指针加到该映射表中。在加上散列值和方法指针时,服务器检查该映射表来校验此配对是否是唯一的,即服务器检查散列值的冲突。此进程使得可唯一地识别远程方法,而且还使服务器随着远程方法类的发展而不断地增加方法,从而不必把新方法通知旧承接程序的所有客户。此外,它还使使用旧承接程序的客户能正确地识别服务器上的远程方法。再者,使用散列避免了用长串来识别远程方法的需要。
分布式系统
符合本发明的方法和系统在具有各种部件(包括硬件和软件)的分布式系统(“示例的分布式系统”)中进行操作。示例的分布式系统(1)允许系统的用户在一具有许多装置的网络上共享服务和资源;(2)以允许开发稳健而安全的分布式系统的工具和编程方式来提供编程器;以及(3)简化管理分布式系统的任务。为了实现这些目标,示例的分布式系统利用JavaTM编程环境,从而允许以无缝的方式在各装置之间转移代码和数据。相应地,示例的分布式系统处于Java编程环境的顶层,并开发该环境的特性,包括它所提供的安全性及它所提供的强大类型定义。在Jaworski,Java 1.1 Developer’s Guide,Sams.net(1997)中更清楚地描述了Java编程环境,这里通过参考而引入。
在示例的分布式系统中,把不同的计算机和装置结合成为对用户来说表现为单个的系统。通过表现为单个系统,示例的分布式系统提供了单个系统可提供的访问简化和共享能力,而不放弃个人计算机或工作站的灵活性和个人化响应。示例的分布式系统可包含由用户所操作的数千个装置,这些用户在地理上分散,但他们约定了信任、管理和政策等基本概念。在示例的分布式系统内有一个或多个装置所提供的服务的各种逻辑分组,已知每个这样的逻辑分组是Djinn。“服务”指可被用户、程序、装置或其它服务所访问并可以是与计算、存储相关、与通信相关或与提供对另一个用户的访问相关的资源、数据或功能。作为Djinn的一部分所提供的服务的例子包括诸如打印机、显示器和磁盘等装置;诸如应用程序或实用程序等软件;诸如数据库和文件等信息;以及系统的用户。
用户和装置都可加入Djinn。在加入一Djinn时,用户或装置把零个或多个服务加到Djinn并可访问(经历安全性约束)它所包含的任一个服务。因而,装置和用户结合成为一Djinn,以共享对其服务的访问。Djinn的服务在编程方面表现为Java编程环境的对象,此Java编程环境可包括其它对象、以不同的编程语言编写的软件成分或硬件装置。服务具有定义可请求该服务的操作的界面,该服务的类型确定了构成该服务的界面。
图1示出示例的分布式系统100,它包括计算机102、计算机104以及通过网络108互连的装置106。装置106可以是许多装置中的任一个,诸如打印机、传真机、存储装置、计算机或其它装置。网络108可以是局域网、广域网或因特网。虽然把示例的分布式系统100示为仅包括两个计算机和一个装置,但本领域内的技术人员应理解,示例的分布式系统100可包括附加的计算机或装置。
图2更详细地示出计算机102,以示出示例的分布式系统100的许多软件成分。本领域内的技术人员将理解,可类似地构成计算机104或装置106。计算机102包括存储器202、辅助存储装置204、中央处理单元(CPU)206、输入装置208和视频显示器210。存储器202包括查找服务212、发现服务器214和JavaTM运行时间系统216。Java运行时间系统216包括JayaTM远程方法调用系统(RMI)218和JavaTM虚拟机220。辅助存储装置204包括JavaTM空间222。
如上所述,示例的分布式系统100基于Java编程环境从而利用Java运行时间系统216。Java运行时间系统216包括JavaTM API,允许程序在Java允许时间系统的顶部运行,从而可以独立于平台的方式访问这种系统功能,包括主操作系统的视窗能力和网络化技术能力。由于Java API为跨移植了Java运行时间系统216的所有操作系统提供了单个公共API,所以在Java运行时间系统顶部运行的程序以独立于平台的方式运行,而不管主平台的操作系统或硬件结构。Java运行时间系统216,作为可从加里福尼亚州Mountain View的Sun Microsystems获得的JavaTM软件开发工具包的一部分而提供。
Java虚拟机220也有利于平台独立性。Java虚拟机220起到类似于抽象计算机器的作用,它接收字节码形式的程序中的指令,并通过把这些字节码动态地转换成诸如对象码等用于执行的形式来解释它们,并执行它们。RMI 218通过允许在一个计算机或装置上执行的对象启用另一计算机或装置上的对象的方法,从而有利于远程方法调用。也提供了RMI和Java虚拟机作为Java软件开发工具包的一部分。
查找服务212定义了特定Djinn可获得的的服务。即,在示例的分布式系统100内可存在不止一个Djinn继而不止一个查找服务。查找服务212包含该Djinnn内的每个服务的一个对象,每个对象包含有助于对相应的系统进行访问的各种方法。在名为“便于查找服务的访问的方法和系统”的___号未决美国专利申请中更详细地描述了查找服务212及其服务,在前文已通过参考而引入。
发现服务214在已知为引导和加入或发现进程中检测何时把一新的装置加到示例的分布式系统100上以及何时检测此新的装置,发现服务器把查找服务212的一个引用传送给新的装置,从而此新装置可把其服务向查找服务登记,并可成为此Djinn的一员。在登记后,新装置变为Djinn的一个成员,结果,它可访问包含在查找服务212中的所有服务。在名为“用于提供在与分布式系统中的装置通信时所使用的可下载代码的设备和方法”的___号未决美国专利申请中更详细地描述了引导和加入的进程,在前文中已通过参考而引入。
Java空间222是由示例的分布式系统100内的程序用来存储对象的对象库。程序使用Java空间222来永久性地存储对象并使得它们可被示例的分布式系统内的其它装置访问。在1997年11月17日提交的名为“利用多形态入口和入口匹配的数据库系统”的08/971,529号未决美国专利申请中更详细地描述了Java空间,该申请已转让给共同的受让人,在这里通过参考而引入。本领域内的技术人员应理解,示例的分布式系统100可包含许多查找服务、发现服务和Java空间。
虽然描述了在示例的分布式系统和Java编程环境中操作的符合本发明的系统和方法,本领域内的技术人员应理解,本发明可在其它系统和其它编程环境中实施。此外,虽然把本发明的方面描述为存储在存储器中,但本领域内的技术人员应理解,还可把这些方面存储在其它类型的计算机可读媒体上或从中读取,诸如辅助存储装置,类似于硬盘、软盘或CD-ROM;来自因特网的载波;或其它形式的RAM或ROM。Sun、Sun Microsystems、SunLogo、Java和基于Java的商标是SunMicrosystems股份有限公司在美国和其它国家的商标或注册商标。
使用散列来识别远程方法
图3是示出符合本发明使用散列值的一RMI调用的方框图。它也示出两个计算机,客户302和服务器312,它们可相应于分布式系统100中所示的计算机102和104。虽然也可使用其它RMI机构,但在一远程对象上启用一方法是使用Java RMI来实现的。当客户302希望访问服务器312上的一个远程对象314所实现的方法时,客户302使用引用远程对象314的承接程序304。承接程序304通常是从服务器312下载的,但它也可以是客户302本地的或者是从包括另一服务器的网络100中的其它地方下载的。在名为“有助于动态地装载‘承接程序’信息以使能在一地址空间中的程序操作,从而启用另一地址空间中的远程方法或过程的处理的系统和方法”的08/636,706号未决美国专利中更详细地描述了客户获得一承接程序的方式,在这里通过参考而引入。此外,可以符合名为“远程方法调用的方法和设备”的___号美国专利申请(其律师备案号为06502.0102-00000)的方式来利用“无承接程序”实现,该申请先前已通过参考而引入。
引用远程对象314的承接程序304具有对应于远程对象314所实现的每一远程方法(诸如远程方法316)的本地方法306。客户实现该本地方法306来启用相应的方法316。它执行诸如启动客户与远程方法316之间的通信链路并发送实现该方法的散列值等功能。然而,应注意,虽然在图3中仅示出一个方法316,但该远程对象314可具有不止一个方法。类似地,虽然在图3中为了简化仅示出一个,但承接程序304可具有实现远程方法的不止一个本地方法。
在符合本发明的一个实现中,本地方法306是在承接程序304(它是由服务器312创建的)的编译期间创建的。当用户提供作为一Java类的一个远程对象316(以Java源码的形式)时,服务器312上的Java编译器(未示出)对此Java类进行编译,继而创建一二进制类文件。服务器上的承接程序编译器(未示出)对此二进制类文件进行编译,以创建一承接程序类。客户使用此承接程序类(即,一承接程序)的实例来启用该远程对象316的方法。
在此实现中,在承接程序的编译过程中把此本地方法306编译成承接程序304。承接程序编译器把散列值308编译成为本地方法。结果,本地方法306具有一散列值,它识别该承接程序所引用的远程对象中的相应方法。例如,假定一服务器具有一远程方法:
int insurancePremium (String state, int age)
然后,相应的承接程序可具有一如下实现的本地方法:
      int   insurancePremium (String state,iht age) {

             Stream out=startNewCall ( );

             sendLong (out, 4056878021019060934...);

             sendString(out,state);

             sendInt(out,age);

             Stream in=finishCall(out);

             String result=readString(in);

             finishResults(in);

             return result;
}
这里,sendLong方法调用的长整数是唯一地识别一远程方法的散列值。
在一实现中,散列值308是通过把一标准散列函数应用于远程方法316的方法名称和参数类型清单318的组合而获得的散列值,如下:
散列(方法名称,参数类型清单)
此散列函数返还的散列值可以是整数。使用方法名称和参数类型清单来避免通过仅使用方法名称而引起的冲突。在另一实现中,可把散列函数应用于方法名称、参数类型和返回值类型。然而,在其它实现中,可把散列函数单独应用于冲突可能较少的方法名称。
在符合本发明的另一个实现中,应用于方法名称和参数类型清单的散列函数是“安全散列算法1”(SHA-1)安全散列标准所使用的散列函数。在联邦信息处理标准公告180-1,“安全散列标准”中详细地描述了此标准,该标准也可以在因特网上的http://csrc.nist.gov/fips处找到。SHA-1协议是产生160位散列值的散列函数。在符合本发明的再一个实现中,所使用的散列值仅仅是SHA-1散列值的前64位。在此实现中,散列值308由这64位(完整的SHA-1散列值的缩短版本)来表示。
图3还示出RMI调用310,它是在客户302发送调用一远程服务器(诸如服务器312)上的一个远程方法的消息时所使用的。RMI调用310还包括散列值308。在接收到RMI调用310时,服务器312使用散列值308来引用映射表320并识别选中的远程方法。
图4还示出符合本发明的服务器312上的映射表320的细节。一般,映射表320代表散列值对服务器312上的一远程对象314的各远程方法的映射。这样,映射表320包括一散列值404的配对402的集合以及一远程方法306的指针。这一指向一方法的指针是“标识值”,它识别一方法,从而可通过该标识值计划性地调用该方法。例如,在Java编程语言中,它可以是java.lang.reflect.Method的一个实例。在C++中,它可以是一函数指针(即,该代码的实际机器地址)。结果,每个散列值304引用一远程方法306。
(1)识别远程方法
图5示出在符合本发明使用散列值来识别服务器上的唯一远程方法的方法中所使用的步骤。首先,客户302对服务器312进行RMI调用310,以远程地启用服务器312上的一个远程方法316。在此RMI调用310中,客户302发送识别待启用的远程方法316的散列值(步骤500)。在RMI调用310中,客户302还可传送该远程方法316要使用的任何参数自变量来启用该方法。
接着,服务器312接收包含在RMI调用310中的散列值308(步骤502)。然后,服务器312访问远程对象314的服务器类的映射表320,以识别要启用哪一个远程方法(步骤504)。在访问映射表320时,服务器312使用在RMI调用310中所发送的散列值308,以识别在该映射表中识别要启用的远程方法。
此时,服务器312使用RMI调用310中接收到的参数自变量值来启用方法316(步骤506)。最后,服务器312把此方法启用返还客户302(步骤508)。
对于使用符合本发明的方法的这些步骤的一个例子,假定一远程对象实现以下的示例方法集合:
public interface Directory {

  PhoneNumber lookupPhone(String name);

  PhoneNumber lookupPhone(Person person);

  void storePhone(String name,PhoneNumber phone);
  void storePhone(Person person,PhoneNumber phone);

  Address lookupAddress(String name};

  Address lookupAddress(Person person);

  void storeAddress(String name,Address addr);

  void storeAddress(Person person,Address addr);
}
由于此远程方法清单包括具有重复串名的方法,所以通过方法名称访问此清单可能导致启用错误的方法。例如,如果客户希望启用本例中所列出的第一个lookupPhone方法,则客户会发送包括该方法名称和参数类型清单的散列:
Hash(lookupPhone,String)此进程保证了不会启用具有参数Person的第二个lookupPhone方法。除了此散列以外,客户还发送参数String的自变量(即,查找具有串名John的人的电话号码的“John”)。
(2)建立映射表
图6示出符合在本发明的方法中服务器在运行时间内动态地建立映射表320所使用的步骤。一般,在创建一远程对象时,服务器312上的Java运行时间系统把该远程对象的每一方法的散列值加到映射表320中。结果,服务器312具有对应于每一远程类的映射表,因为通常同一类的所有远程对象具有相同的远程方法。
首先,在符合本发明的方法中,在服务器312上创建一对象作为诸如对象314等远程对象(步骤600)。在此创建时,服务器312上的Java运行时间系统对对象314所支持的所有远程方法316进行定位(步骤602)。Java运行时间系统计算远程对象314的每一远程方法316的散列值。在一实现中,它获得方法名称和参数类型清单318(步骤604)并计算该方法名称和参数类型清单的散列(步骤606)。服务器312上的Java运行时间系统把获得的散列值404和方法406的指针加到映射表320中(步骤608)。在加上散列值时,Java运行时间系统检查该映射表,以保证在该映射表中未曾有过该散列值,即相对于散列值不发生冲突。虽然散列函数实际上保证了一散列值将唯一地识别一远程方法,但检查该表校验了没有散列值的冲突。
为了说明图6中所使用的步骤的一个例子,假定创建包含以下方法的一个远程方法:
public interface Directory {

  Address lookupAddress(String name);

  Address lookupAddress(Person person}
}
服务器312上的Java运行时间系统创建每一远程方法的散列。在本例中,它创建两个散列:
Hash(lookupAddress,String),以及
Hash(lookupAddress,Person)。每一散列值是唯一的,且它们将用来唯一地识别该远程方法。把每一散列值同一指向其相应方法的指针加到映射表320中,从而在映射表320中创建了一方法和散列值配对402。以后,服务器312可使用来自客户302的散列值308访问映射表320,以识别待启用的远程方法316。
使用散列来识别远程服务器上的远程方法的进程有利地使客户唯一地识别该远程方法,而不会识别不正确的方法。此外,使用散列避免了用长码来识别远程方法的需要,从而能进行更有效的处理。错误地识别服务器上的远程方法通常是由于远程方法具有对不止一个方法共同的串名或改变方法的编号方式而未通知使用号码变化的旧承接程序的客户而引起的。符合本发明使用散列来识别一远程服务器上的远程方法的方法和系统避免了这些和有关的问题。
本领域内的技术人员将理解,可对这里所述的符合本发明的远程方法识别策略进行各种修改和改变,而不背离本发明的精神和范围。通过考虑这里所揭示的本发明的说明书和实践,将使本发明的其它实施例对本领域内的技术人员变得明显起来。本说明书和例子只是示例,本发明的真实范围和精神将由以下的权利要求书来表示。

Claims (25)

1.一种数据处理系统中用于启用远程方法的方法,其特征在于,包括以下步骤:
提供一唯一地识别一远程方法的标识符;
响应于启用该远程方法的指令发送该标识符;以及
根据此标识符来启用该远程方法。
2.如权利要求1所述的方法,其特征在于启用步骤包括以下步骤:
把该远程方法在一指示散列值和相应远程方法的表中定位。
3.如权利要求1所述的方法,其特征在于还包括以下步骤:
返还该远程方法的启用的结果。
4.如权利要求1所述的方法,其特征在于提供步骤包括:
把一散列函数应用于该远程方法的标识符和参数集合。
5.如权利要求4所述的方法,其特征在于应用步骤包括以下步骤:
应用SHA-1散列函数。
6.如权利要求1所述的方法,其特征在于启用步骤包括以下步骤:
访问包含散列值和对远程方法的引用的散列表。
7.一种数据处理系统中用于启用远程方法的方法,其特征在于,包括以下步骤:
提供一唯一地识别一远程方法的散列值;
响应于启用该远程方法的指令发送该散列值;以及
根据此散列值来启用该远程方法。
8.一种数据处理系统中用于使用一散列值来识别一服务器上的一个远程方法的方法,其特征在于,包括以下步骤:
提供一唯一地识别一远程方法的散列值;
响应于启用该远程方法的指令发送该散列值;以及
接收该远程方法的启用的结果。
9.如权利要求8所述的方法,其特征在于提供步骤包括以下步骤:
把一散列函数应用于该远程方法的标识符和一相应参数清单以创建该散列值。
10.如权利要求9所述的方法,其特征在于应用步骤包括以下步骤:
应用SHA-1散列函数。
11.一种数据处理系统中用于识别包括多个机器的分布式系统中的远程方法的方法,其特征在于,该方法包括通过这些机器之一来执行的以下步骤:
接收一识别一待启用方法的散列值;
根据该散列值来识别该方法;以及
执行所述识别的方法。
12.如权利要求11所述的方法,其特征在于执行步骤包括以下步骤:
启用所述识别的方法;以及
返还所述识别方法的启用的结果;
13.如权利要求11所述的方法,其特征在于识别步骤包括以下步骤:
把此方法在一使用该散列值的表中定位。
14.一种用于使用一散列值来识别一方法并响应于此启用该方法的系统,其特征在于,该系统包括:
一存储器,包括:
一用于把散列值映射到方法的映射表;以及
一处理器,用于:
接收一启用一选中方法的请求,该请求包括一识别此选中方法的散列值;
访问此映射表,以根据该请求的散列值来识别该选中方法;以及
启用该选中方法。
15.一种用于创建一映射表的方法,该映射表存储了散列值与远程方法之间的联系,其特征在于,所述方法包括以下步骤:
创建一远程对象;
识别一由该远程对象所实现的远程方法;
计算一代表该远程方法的散列值;以及
把此散列值和此远程方法加到此映射表中。
16.如权利要求15所述的方法,其特征在于识别步骤包括以下步骤:
识别该远程对象所实现的所有远程方法。
17.如权利要求15所述的方法,其特征在于计算步骤包括以下步骤:
把一散列函数应用于此方法名称和参数类型清单以计算此散列值。
18.一种包括一计算机可读媒体的计算机程序产品,其特征在于,在该计算机可读媒体中包含用于如下启用远程方法的计算机可读代码:
提供一唯一地识别一远程方法的标识符;
响应于启用该远程方法的指令发送该标识符;以及
根据此标识符来启用该远程方法。
19.如权利要求18所述的产品,其特征在于启用步骤包括以下步骤:
把该远程方法在一指示散列值和相应远程方法的表中定位。
20.如权利要求18所述的产品,其特征在于还包括以下步骤:
返还该远程方法的启用的结果。
21.如权利要求18所述的产品,其特征在于提供步骤包括:
把一散列函数应用于该远程方法的标识符和参数集合。
22.一种包括一计算机可读媒体的计算机程序产品,其特征在于,在该计算机可读媒体中包含用于如下启用远程方法的计算机可读代码:
提供一唯一地识别一远程方法的散列值;
响应于启用该远程方法的指令发送该散列值;以及
接收该远程方法的启用的结果。
23.一种包括一计算机可读媒体的计算机程序产品,其特征在于,在该计算机可读媒体中包含用于如下启用远程方法的计算机可读代码:
接收一识别一待启用方法的散列值;
根据该散列值来识别该方法;以及
执行所识别的方法。
24.一种包括一计算机可读媒体的计算机程序产品,其特征在于,在该计算机可读媒体中包含用于如下启用远程方法的计算机可读代码:
创建一远程对象;
识别一由该远程对象所实现的远程方法;
计算一代表该远程方法的散列值;以及
把此散列值和此远程方法加到此映射表中。
25.一种数据处理系统中用于启用远程方法的设备,其特征在于,包括:
用于提供一唯一地识别一远程方法的标识符的装置;
用于响应于启用该远程方法的指令发送该标识符的装置;以及
用于根据此标识符来启用该远程方法的装置。
CN99805491A 1998-02-26 1999-02-25 确定性散列识别远程方法的方法和系统 Pending CN1298514A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US7604898P 1998-02-26 1998-02-26
US60/076,048 1998-02-26
US09/045,652 US6134603A (en) 1998-03-20 1998-03-20 Method and system for deterministic hashes to identify remote methods
US09/045,652 1998-03-20

Publications (1)

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

Family

ID=26723052

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99805491A Pending CN1298514A (zh) 1998-02-26 1999-02-25 确定性散列识别远程方法的方法和系统

Country Status (7)

Country Link
US (1) US6629154B1 (zh)
EP (1) EP1058883A2 (zh)
JP (1) JP2002505473A (zh)
KR (1) KR20010034514A (zh)
CN (1) CN1298514A (zh)
AU (1) AU2787799A (zh)
WO (1) WO1999044133A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102255872A (zh) * 2010-05-19 2011-11-23 深圳市金蝶中间件有限公司 访问非远程对象的方法和装置

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6876991B1 (en) 1999-11-08 2005-04-05 Collaborative Decision Platforms, Llc. System, method and computer program product for a collaborative decision platform
US7080382B2 (en) * 2000-02-25 2006-07-18 Oracle International Corporation Accessing shorter-duration instances of activatable objects based on object references stored in longer-duration memory
DE10110316B4 (de) 2000-03-15 2004-09-23 International Business Machines Corp. Sichere Passworteingabe
KR100430147B1 (ko) 2000-03-15 2004-05-03 인터내셔널 비지네스 머신즈 코포레이션 컴퓨터 액세스 제어
US7577834B1 (en) * 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US20020188643A1 (en) * 2001-06-07 2002-12-12 International Business Machines Corporation Method and system for a model-based approach to network management
US7000238B2 (en) * 2001-10-10 2006-02-14 Borland Software Corporation Development system providing extensible remoting architecture
US20040073598A1 (en) * 2002-09-06 2004-04-15 Eftia Oss Solutions Inc. System-to-system inter-operation interface
US7478399B2 (en) * 2003-04-21 2009-01-13 International Business Machines Corporation Method, system and program product for transferring program code between computer processes
US7464270B2 (en) * 2003-07-23 2008-12-09 Microsoft Corporation Application identification and license enforcement
US7634535B2 (en) * 2004-09-14 2009-12-15 Watson Stuart T Method and system for tracking multiple information feeds on a communications network
US7212440B2 (en) 2004-12-30 2007-05-01 Sandisk Corporation On-chip data grouping and alignment
US7992154B1 (en) * 2006-02-28 2011-08-02 Sprint Communications Company L.P. Remote method invocation using a server proxy object
ES2831604T3 (es) * 2006-07-07 2021-06-09 Hoffmann La Roche Dispositivo de administración de fluidos y procedimientos de funcionamiento del mismo
US8504596B2 (en) * 2007-07-25 2013-08-06 Apple Inc. Extended garbage collection
US20100106977A1 (en) * 2008-10-24 2010-04-29 Jan Patrik Persson Method and Apparatus for Secure Software Platform Access
US20100174575A1 (en) * 2009-01-02 2010-07-08 International Business Machines Corporation Meeting management system with failover and failback capabilities for meeting moderators
KR100906449B1 (ko) * 2009-03-11 2009-07-08 주식회사 신시웨이 데이터베이스 툴 식별 장치 및 방법
GB2489147A (en) * 2009-12-25 2012-09-19 Ibm System, method and program for checking consistency of pointers in hierarchical database
US8782117B2 (en) 2011-08-24 2014-07-15 Microsoft Corporation Calling functions within a deterministic calling convention
CN104317596B (zh) * 2014-10-28 2017-11-21 许继电气股份有限公司 一种基于组合有序特征码的功能兼容性自动识别方法
KR102433764B1 (ko) * 2016-04-19 2022-08-19 삼성에스디에스 주식회사 서비스 모니터링 시스템 및 방법

Family Cites Families (212)

* 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 株式会社日立製作所 図式・ソ−スプログラム自動生成方法
US4567359A (en) 1984-05-24 1986-01-28 Lockwood Lawrence B Automatic information, goods and services dispensing system
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
US5724540A (en) 1988-03-28 1998-03-03 Hitachi, Ltd. Memory system having a column address counter and a page address counter
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
DE69030340T2 (de) 1989-02-24 1997-11-20 Digital Equipment Corp Makler für die Auswahl von Rechnernetzwerkservern
US4992940A (en) 1989-03-13 1991-02-12 H-Renee, Incorporated System and method for automated selection of equipment for purchase through input of user desired specifications
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
US5218699A (en) 1989-08-24 1993-06-08 International Business Machines Corporation Remote procedure calls in heterogeneous systems
US5253165A (en) 1989-12-18 1993-10-12 Eduardo Leiseca Computerized reservations and scheduling system
EP0463172A1 (en) 1989-12-26 1992-01-02 Fujitsu Limited Object oriented distributed processing system
AU628753B2 (en) 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
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
US5446897A (en) 1990-08-31 1995-08-29 International Business Machines Corporation Automated address discovery method and apparatus for local area networks
DE69132280T2 (de) 1990-09-17 2001-01-18 Cabletron Systems Inc System und Verfahren zur Modellierung eines Computer-Netzwerks
US5319542A (en) 1990-09-27 1994-06-07 International Business Machines Corporation System for ordering items using an electronic catalogue
US5327559A (en) 1990-10-23 1994-07-05 International Business Machines Corporation Remote and batch processing in an object oriented programming system
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
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
FR2680255B1 (fr) 1991-08-09 1994-01-28 Gerbaulet Jean Pierre Dispositif pour une meilleure gestion des operations courantes d'achat de produits et de services.
DE4131380A1 (de) 1991-09-20 1993-03-25 Siemens Ag Verfahren zur adaption einer objektorientierten applikation
JPH05233326A (ja) 1991-12-19 1993-09-10 Internatl Business Mach Corp <Ibm> コンピュータシステムにおいて事象を取り扱う方法及びシステム
JPH05173988A (ja) 1991-12-26 1993-07-13 Toshiba Corp 分散処理方式および該分散処理に適用されるトランザクション処理方式
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
EP0578207B1 (en) 1992-07-06 1999-12-01 Microsoft Corporation Method for naming and binding 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
US5515536A (en) 1992-11-13 1996-05-07 Microsoft Corporation Method and system for invoking methods of an object through a dispatching interface
JPH09502547A (ja) 1992-11-13 1997-03-11 マイクロソフト コーポレイション 遠隔手続き呼び出しのためのインターフェイスポインタをマーシャリングする方法及びシステム
US5511196A (en) 1992-11-17 1996-04-23 International Business Machines Corporation Method and system in a data processing system for the enhancement of relationships between reference objects in an object oriented environment and a data object outside an object oriented environment
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
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
US5475840A (en) 1993-04-13 1995-12-12 Sun Microsystems, Inc. High performance dynamic linking through caching
US5832593A (en) 1993-04-14 1998-11-10 Minnesota Mining And Manufacturing Company Splice head for insulated telecommunication wires
AU670879B2 (en) 1993-05-20 1996-08-01 Moore North America, Inc. Computer integration network for channeling customer orders through a centralized computer to various suppliers
CA2121612A1 (en) 1993-05-21 1994-11-22 Chung-Hwa Herman Rao Methods and apparatus for making and using distributed applications
US5794207A (en) 1996-09-04 1998-08-11 Walker Asset Management Limited Partnership Method and apparatus for a cryptographically assisted commercial network system designed to facilitate buyer-driven conditional purchase offers
ES2206461T3 (es) 1993-07-16 2004-05-16 Siemens Aktiengesellschaft Procedimiento para la coordinacion de accesos paralelos de varios procesadores a configuraciones de recursos.
US5666493A (en) 1993-08-24 1997-09-09 Lykes Bros., Inc. System for managing customer orders and method of implementation
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
WO1995017064A1 (en) 1993-12-17 1995-06-22 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
US5664111A (en) 1994-02-16 1997-09-02 Honicorp, Inc. Computerized, multimedia, network, real time, interactive marketing and transactional system
US5592375A (en) 1994-03-11 1997-01-07 Eagleview, Inc. Computer-assisted system for interactively brokering goods or services between buyers and sellers
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
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
US5715314A (en) 1994-10-24 1998-02-03 Open Market, Inc. Network sales system
US5961582A (en) 1994-10-25 1999-10-05 Acorn Technologies, Inc. Distributed and portable execution environment
US6009413A (en) 1994-11-10 1999-12-28 America Online, Inc. System for real time shopping
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
US5664110A (en) 1994-12-08 1997-09-02 Highpoint Systems, Inc. Remote ordering system
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
JPH08235260A (ja) 1995-03-01 1996-09-13 Fujitsu Ltd マルチメディア通信システム
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
US5721832A (en) 1995-05-12 1998-02-24 Regal Greetings & Gifts Inc. Method and apparatus for an interactive computerized catalog system
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
US5790677A (en) 1995-06-29 1998-08-04 Microsoft Corporation System and method for secure electronic commerce transactions
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
US5809144A (en) 1995-08-24 1998-09-15 Carnegie Mellon University Method and apparatus for purchasing and delivering digital goods over a network
JPH0962526A (ja) 1995-08-28 1997-03-07 Fujitsu Ltd 耐故障型rpcシステムおよび方法
JP2964926B2 (ja) 1995-08-29 1999-10-18 富士ゼロックス株式会社 データベース管理装置及び方法
US5710887A (en) 1995-08-29 1998-01-20 Broadvision Computer system and method for electronic commerce
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
US5671279A (en) 1995-11-13 1997-09-23 Netscape Communications Corporation Electronic commerce using a secure courier system
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
US5758328A (en) 1996-02-22 1998-05-26 Giovannoli; Joseph Computerized quotation system and method
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
US5850442A (en) 1996-03-26 1998-12-15 Entegrity Solutions Corporation Secure world wide electronic commerce over an open network
US5790548A (en) 1996-04-18 1998-08-04 Bell Atlantic Network Services, Inc. Universal access multimedia data network
US6226746B1 (en) 1998-03-20 2001-05-01 Sun Microsystems, Inc. Stack-based system and method to combine security requirements of methods
US6134603A (en) * 1998-03-20 2000-10-17 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
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
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
US6272559B1 (en) 1997-10-15 2001-08-07 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading for event notification in a distributed system
US6182083B1 (en) 1997-11-17 2001-01-30 Sun Microsystems, Inc. Method and system for multi-entry and multi-template matching in a database
US5978484A (en) 1996-04-25 1999-11-02 Microsoft Corporation System and method for safety distributing executable objects
US5963924A (en) 1996-04-26 1999-10-05 Verifone, Inc. System, method and article of manufacture for the use of payment instrument holders and payment instruments in network electronic commerce
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
US5729594A (en) 1996-06-07 1998-03-17 Klingman; Edwin E. On-line secured financial transaction system through electronic media
JP3488019B2 (ja) 1996-06-17 2004-01-19 株式会社山武 制御設計用コンフィギュレーション・ツールの部品再利用方法
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
US5991823A (en) 1996-06-26 1999-11-23 Sun Microsystems, Inc. Low overhead object adaptor
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
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
US5818448A (en) 1996-07-02 1998-10-06 Sun Microsystems, Inc. Apparatus and method for identifying server computer aggregation topologies
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
US5742768A (en) 1996-07-16 1998-04-21 Silicon Graphics, Inc. System and method for providing and displaying a web page having an embedded menu
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
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
US5974201A (en) 1996-10-01 1999-10-26 Siemens Corporate Research, Inc. Smart image system
US5787425A (en) 1996-10-01 1998-07-28 International Business Machines Corporation Object-oriented data mining framework mechanism
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
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
US6003050A (en) 1997-04-02 1999-12-14 Microsoft Corporation Method for integrating a virtual machine with input method editors
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
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
US6343308B1 (en) 1997-08-14 2002-01-29 International Business Machines Corporation Systems, methods and computer programs for mixing different versions of Java classes
US5946694A (en) 1997-09-29 1999-08-31 International Business Machines Corporation Apparatus and method for transparent application of service to business objects
US5951652A (en) 1997-10-06 1999-09-14 Ncr Corporation Dependable data element synchronization mechanism
US6253256B1 (en) 1997-10-15 2001-06-26 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading in a distributed system
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
US6032151A (en) 1997-11-17 2000-02-29 Sun Microsystems, Inc. Database system employing polymorphic entry and entry matching
US5999179A (en) 1997-11-17 1999-12-07 Fujitsu Limited Platform independent computer network management client
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
US6009103A (en) 1997-12-23 1999-12-28 Mediaone Group, Inc. Method and system for automatic allocation of resources in a network
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
US6093216A (en) 1998-05-29 2000-07-25 Intel Corporation Method of run-time tracking of object references in Java programs
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
US6385643B1 (en) 1998-11-05 2002-05-07 Bea Systems, Inc. Clustered enterprise Java™ having a message passing kernel in a distributed processing system
US6282568B1 (en) 1998-12-04 2001-08-28 Sun Microsystems, Inc. Platform independent distributed management system for manipulating managed objects in a network
US6216158B1 (en) 1999-01-25 2001-04-10 3Com Corporation System and method using a palm sized computer to control network devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102255872A (zh) * 2010-05-19 2011-11-23 深圳市金蝶中间件有限公司 访问非远程对象的方法和装置
CN102255872B (zh) * 2010-05-19 2014-01-29 深圳市金蝶中间件有限公司 访问非远程对象的方法和装置

Also Published As

Publication number Publication date
WO1999044133A3 (en) 1999-10-28
KR20010034514A (ko) 2001-04-25
JP2002505473A (ja) 2002-02-19
WO1999044133A2 (en) 1999-09-02
US6629154B1 (en) 2003-09-30
AU2787799A (en) 1999-09-15
EP1058883A2 (en) 2000-12-13

Similar Documents

Publication Publication Date Title
CN1298514A (zh) 确定性散列识别远程方法的方法和系统
US6134603A (en) Method and system for deterministic hashes to identify remote methods
US7107592B2 (en) Method, system, and program for making objects available for access to a client over a network
CN1103968C (zh) 受托编译中性结构程序版本产生特定结构的系统和方法
CN1203404C (zh) 具有逐模块验证的完全迟缓链接
US7606792B2 (en) System and method for efficient evaluation of a query that invokes a table valued function
CN1292117A (zh) 基于事件的分布式系统中传送行为的方法和装置
CN1298513A (zh) 用于远程方法启用的方法和设备
CN100388265C (zh) 管理数据处理系统中的应用文件的方法和装置
US20060184568A1 (en) Having a single set of object relational mappings across different instances of the same schemas
CN1298503A (zh) 分布式系统中的动态查找服务
CN1292116A (zh) 保密要求的按照方法指定
CN1552029A (zh) 用于异步Web服务的Web服务开发平台
CN1961307A (zh) 用于渐进式安装软件应用程序的系统和方法以及api
CN1156286A (zh) 执行可校验程序的系统和方法
CN1305609A (zh) 实现参数化类型与现有非参数化库兼容的方法
CN1298505A (zh) 提供可下载码用于与分布式系统中的装置进行通信的装置和方法
CN1292527A (zh) 逐模块验证
US6832223B1 (en) Method and system for facilitating access to a lookup service
CN1516839A (zh) 个性化服务器统一用户特征集
CN1723461A (zh) 用于数据库存储中的对象持久存储的系统和方法
CN1140500A (zh) 分布式数据库系统
CN1292192A (zh) 基于多形态令牌的控制
CN1169046C (zh) 完全迟缓链接
CN1292115A (zh) 分布系统中动态验证信息的装置和方法

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