CN1298514A - 确定性散列识别远程方法的方法和系统 - Google Patents
确定性散列识别远程方法的方法和系统 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object oriented; Remote method invocation [RMI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0261—Garbage collection, i.e. reclamation of unreferenced memory using reference counting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/46—Indexing scheme relating to G06F9/46
- G06F2209/463—Naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
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.一种数据处理系统中用于启用远程方法的设备,其特征在于,包括:
用于提供一唯一地识别一远程方法的标识符的装置;
用于响应于启用该远程方法的指令发送该标识符的装置;以及
用于根据此标识符来启用该远程方法的装置。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102255872A (zh) * | 2010-05-19 | 2011-11-23 | 深圳市金蝶中间件有限公司 | 访问非远程对象的方法和装置 |
Families Citing this family (22)
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 |
WO2006031881A2 (en) * | 2004-09-14 | 2006-03-23 | 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 |
ES2670420T3 (es) * | 2006-07-07 | 2018-05-30 | F. Hoffmann-La Roche Ag | Dispositivo de administración de fluidos y métodos 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 | 주식회사 신시웨이 | 데이터베이스 툴 식별 장치 및 방법 |
US8812513B2 (en) * | 2009-12-25 | 2014-08-19 | International Business Machines Corporation | Hash pointer checking for hierarchical database logical relationship |
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)
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 |
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 |
JPH06501118A (ja) | 1990-09-17 | 1994-01-27 | ケーブルトロン・システムス・インコーポレーテッド | モデル準拠のインテリジェンスを使用するネットワーク管理システム |
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 |
EP0501610B1 (en) | 1991-02-25 | 1999-03-17 | Hewlett-Packard Company | Object oriented distributed computing system |
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 |
JP3613401B2 (ja) | 1992-07-06 | 2005-01-26 | マイクロソフト コーポレーション | オブジェクトの名称を付けて結び付ける方法及びシステム |
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 |
EP0669020B1 (en) | 1992-11-13 | 1997-04-02 | Microsoft Corporation | Methods for marshalling interface pointers for remote procedure calls |
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 |
EP0635792B1 (de) | 1993-07-16 | 2003-08-27 | Siemens Aktiengesellschaft | Verfahren zur Koordination von parallelen Zugriffen mehrerer Prozessoren auf Resourcenkonfigurationen |
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 |
AU1522095A (en) | 1994-01-05 | 1995-08-01 | Peter J. Covey | 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 |
DE69533148T2 (de) * | 1994-05-26 | 2005-08-25 | Sun Microsystems, Inc., Santa Clara | Verfahren und Gerät zur Erzeugung und Verwendung kurzer Operationsidentifizierer in objektorientierten Systemen |
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 |
US5553282A (en) | 1994-12-09 | 1996-09-03 | Taligent, Inc. | Software project history database and method of operation |
US5644768A (en) | 1994-12-09 | 1997-07-01 | Borland International, Inc. | Systems and methods for sharing resources in a multi-user environment |
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 |
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 |
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 |
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 |
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 |
US6134603A (en) * | 1998-03-20 | 2000-10-17 | Sun Microsystems, Inc. | Method and system for deterministic hashes to identify remote methods |
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 |
US6185611B1 (en) | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
US6226746B1 (en) | 1998-03-20 | 2001-05-01 | Sun Microsystems, Inc. | Stack-based system and method to combine security requirements of methods |
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 |
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 |
US5991823A (en) | 1996-06-26 | 1999-11-23 | Sun Microsystems, Inc. | Low overhead object adaptor |
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 |
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 |
US5860004A (en) | 1996-07-03 | 1999-01-12 | Sun Microsystems, Inc. | Code generator for applications in distributed object systems |
US5949998A (en) | 1996-07-03 | 1999-09-07 | Sun Microsystems, Inc. | Filtering an object interface definition to determine services needed and provided |
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 |
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 |
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 |
-
1999
- 1999-02-25 WO PCT/US1999/004065 patent/WO1999044133A2/en not_active Application Discontinuation
- 1999-02-25 AU AU27877/99A patent/AU2787799A/en not_active Abandoned
- 1999-02-25 KR KR1020007009229A patent/KR20010034514A/ko not_active Application Discontinuation
- 1999-02-25 JP JP2000533817A patent/JP2002505473A/ja active Pending
- 1999-02-25 EP EP99908443A patent/EP1058883A2/en not_active Withdrawn
- 1999-02-25 CN CN99805491A patent/CN1298514A/zh active Pending
-
2000
- 2000-10-12 US US09/688,029 patent/US6629154B1/en not_active Expired - Lifetime
Cited By (2)
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 |
---|---|
EP1058883A2 (en) | 2000-12-13 |
KR20010034514A (ko) | 2001-04-25 |
US6629154B1 (en) | 2003-09-30 |
AU2787799A (en) | 1999-09-15 |
JP2002505473A (ja) | 2002-02-19 |
WO1999044133A2 (en) | 1999-09-02 |
WO1999044133A3 (en) | 1999-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1298514A (zh) | 确定性散列识别远程方法的方法和系统 | |
US7107592B2 (en) | Method, system, and program for making objects available for access to a client over a network | |
CN1103968C (zh) | 受托编译中性结构程序版本产生特定结构的系统和方法 | |
US7606792B2 (en) | System and method for efficient evaluation of a query that invokes a table valued function | |
CN1203404C (zh) | 具有逐模块验证的完全迟缓链接 | |
CN1298513A (zh) | 用于远程方法启用的方法和设备 | |
CN100388265C (zh) | 管理数据处理系统中的应用文件的方法和装置 | |
CN1298503A (zh) | 分布式系统中的动态查找服务 | |
CN1292116A (zh) | 保密要求的按照方法指定 | |
CN1552029A (zh) | 用于异步Web服务的Web服务开发平台 | |
CN1961307A (zh) | 用于渐进式安装软件应用程序的系统和方法以及api | |
CN1156286A (zh) | 执行可校验程序的系统和方法 | |
CN1305609A (zh) | 实现参数化类型与现有非参数化库兼容的方法 | |
CN1298505A (zh) | 提供可下载码用于与分布式系统中的装置进行通信的装置和方法 | |
US6832223B1 (en) | Method and system for facilitating access to a lookup service | |
WO2000077635A1 (en) | Network proxy for devices with limited resources | |
CN1516839A (zh) | 个性化服务器统一用户特征集 | |
CN1723461A (zh) | 用于数据库存储中的对象持久存储的系统和方法 | |
CN1140500A (zh) | 分布式数据库系统 | |
CN1856784A (zh) | 用于存储平台中的锁定和隔离的系统和方法 | |
CN1689298A (zh) | 用于自主计算的合成服务 | |
CN1292192A (zh) | 基于多形态令牌的控制 | |
CN1292115A (zh) | 分布系统中动态验证信息的装置和方法 | |
CN1298506A (zh) | 便于访问查询服务的方法和系统 | |
CN1298508A (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 |