CN1292115A - 分布系统中动态验证信息的装置和方法 - Google Patents
分布系统中动态验证信息的装置和方法 Download PDFInfo
- Publication number
- CN1292115A CN1292115A CN99803342A CN99803342A CN1292115A CN 1292115 A CN1292115 A CN 1292115A CN 99803342 A CN99803342 A CN 99803342A CN 99803342 A CN99803342 A CN 99803342A CN 1292115 A CN1292115 A CN 1292115A
- Authority
- CN
- China
- Prior art keywords
- code
- indication
- request
- module
- machine
- 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
- 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
-
- 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
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- 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
-
- 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]
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/10—Protocols in which an application is distributed across nodes in the network
-
- 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/40—Network security protocols
-
- 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/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99939—Privileged access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99948—Application of database or data structure, e.g. distributed, multimedia, or image
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
Abstract
使用策略对象作分布系统中的验证。机器下载一策略对象,含有对控制数据验证的代码的参考值。机器使用参考值获得代码并局部验证数据或其它信息。当数据的具体规则改变时,可以更新该策略对象,在下载时以提供新规则的代码的参考值。
Description
为了阐明本发明,可依赖和结合在本发明中作为参考的下列指明的美国专利申请。
临时的美国专利申请号:60/076,048,题目为:“分布计算系统”,1998年2月26日申请。
美国专利申请号:09/044,923,题目为:“租用存储的方法和系统”,相关代理档案号:06502.0011-01000,申请日期与前专利相同。
美国专利申请号:09/044,838,题目为;“分布系统中代表证书的租借的方法、装置和产品”,相关代理档案号:06502.011-02000,申请日期与前专利相同。
美国专利申请号:09/044,834,题目为:“分布系统中团体会员的租借的方法、装置和产品”,相关代理档案号:06502.0011-03000,申请日期与前专利相同。
美国专利申请号:09/044,916,题目为:“失效检测的租借”,相关代理档案号:06502.0011-04000,申请日期与前专利相同。
美国专利申请号:09/044,933,题目为:“基于事件的系统中传输行为的方法”,相关代理档案号:06502.0054-00000,申请日期与前专利相同。
美国专利申请号:09/044,919,题目为:“分布系统中对象和事件通知的远程加载的延期重构”,相关代理档案号:06502.0062-01000,申请日期与前专利相同。
美国专利申请号:09/044,938,题目为:“远程方法调用的方法和装置”,相关代理档案号:06502.0102-0000,申请日期与前专利相同。
美国专利申请号:09/045,652,题目为:“识别远程方式的决定性混杂的方法和系统”,相关代理档案号:06502.0103-00000,申请日期与前专利相同。
美国专利申请号:09/044,790,题目为:“分布系统中决定远程对象状态的方法和装置”,相关代理档案号:06502.0104-00000,申请日期与前专利相同。
美国专利申请号:09/044,930,题目为:“分布系统中执行与远程程序调用有关的处理的可下载智能代理”,相关代理档案号:06502.0105-00000,申请日期与前专利相同。
美国专利申请号:09/044,917,题目为:“远程方法的暂停和继续”,相关代理档案号:06502.0106-00000,申请日期与前专利相同。
美国专利申请号:09/044,835,题目为:“数据库中多入口和多模式匹配的方法和系统”,相关代理档案号:06502.0107-00000,申请日期与前专利相同。
美国专利申请号:09/044,839,题目为:“数据库中原位(in-place)改进方法和系统“,相关代理档案号:06502.0108,申请日期与前专利相同。
美国专利申请号:09/044,945,题目为:“数据库中打印安全属性匹配的方法和系统”,相关代理档案号:0109-00000,申请日期与前专利相同。
美国专利申请号:09/044,931,题目为:“分布系统中的动态查找服务”,相关代理档案号:06502.0110-00000,申请日期与前专利相同。
美国专利申请号:09/044,939,题目为:“在分布系统中提供可用于设备通讯的下载代码的装置和方法”,相关代理档案号:06502.0112-00000,申请日期与前专利相同。
美国专利申请号:09/044,826,题目为:“便于访问查找服务的方法和系统”,相关代理档案号:06502.0113-00000,申请日期与前专利相同。
美国专利申请号:09/030,840,题目为:“网络上动态分布计算的方法和装置”,相关代理档案号:06502.0115-00000,申请日期为1998年2月26日。
美国专利申请号: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,申请日期与前专利相同。
发明领域
本发明涉及了一种在分布系统的机器之间传送对象的系统和方法,尤其涉及分布系统中动态验证信息。
发明背景
利用用于远程终端访问和文件传输的专用协议,经常能恰当和有效地处理集中于点对点数据传输的分布程序。这种协议被专门处理成一个程序,但并不提供建立各种分布程序(如,分布操作系统,电子邮件系统,计算机会议系统等)的基础。
虽然常规的传输服务可以用作建立分布程序的基础,但这些服务暴露了许多结构上的问题,例如,不同机器中使用了不同数据类型,缺乏同步以及未提供简单编程范例的规定。
分布系统通常包含由通讯网络相互连接的多个不同型号的机器。每一个机器有他自己的内部数据类型,自己地址的配置规则,和自己的操作系统。当建立分布系统时,这种结构上的差异便产生了问题。其结果是,在对这种有差异性的分布系统的程序开发中,程序的开发者必须具有确保在不同的机器上能一致地处理和解释信息的处理能力。
然而,注意到大量程序使用了过程之间的请求和应答交互方式,可提供一种简单方法,这里在启动程序(即开始传递的程序)被阻直到返回应答信号,在这期间程序是空闲的。这可以通过过程之间的一个程序调用机理来模拟。这种机理被称之为远程程序调用(RPC)。?
RPC是一种提供在相同机器或不同机器上运行的两个过程(如,程序、applet等)之间同步通讯的机理。在一个简单的情况中,一个过程(如客户程序)把信息传送到另一个过程(如服务器程序)。在这个情况中,无论信息被传送或接收都不需要同步。对客户程序来说,它有可能发送消息,然后开始一项新的活动,对服务程序的环境来说,也可能缓冲进来的信息直到服务程序准备处理一个新消息。
然而,RPC对同步施加约束,因为它接近于模拟局部程序调用,局部程序调用要求以一个方向传送参数,中断调用过程(即客户程序)直到服务程序的调用过程结束,然后返回一个应答。这样,在调用周期中,RPC涉及到两个消息传递,和两个过程的同步。
RPC机理通常用局部程序调用范例在两个处理部分中实现,其中一个部分是在客户方,而另一部分是在服务器方。以下参照图1说明这两部分。
图1是一个说明使用RPC机理的调用信息的流程图。如图1所示,客户程序100发出了一个调用(步骤102)。接着RPC机理101对调用打包,作为调用包的自变量(步骤103),然后RPC机理101将其发送给服务器程序109(步骤104)。调用包还包含识别首先发出调用的的客户程序100的信息。在调用包被发传后(步骤104),RPC机理101进入等待状态,在这期间等待来自服务器程序109的应答。
服务程序109的RPC108的机理(当服务器程序109是和客户程序100处在相一平台时,它的机理和RPC101的机理可以相同)是接收调用包(步骤110),拆阅来自调用包(步骤111)的调用的自变量,利用调用信息来识别所要调用的服务程序109,以及将调用自变量提供给服务程序109。
服务器程序接收调用(步骤112),通过调用适当程序来处理该调用(步骤115),并将应答返回给RPC机理108(步骤116)。然后,RPC108将该应答打包在应答包中(步骤114)中并将其发送给客户程序100(步骤113)。
接收到应答包(步骤107)便触发RPC机理101退出等待状态并拆阅来自应答包(步骤106)的应答。然后RPC101提供应答给客户程序100以响应调用。这是在局部程序调用后典型RPC机理模拟的流程。由于RPC机理使用局部程序调用,因此客户程序100中断调用直到接收到应答。于是,在发出调用后,客户程序100和它本身的处理不连续;而是,它等待来自服务器程序109的应答。
JavaTM编程语言是一种面向对象的程序语言,利用字节代码指令集通常被编译为与平台无关的格式,能在支持Java虚拟机器(JVM)的任何平台上运行。这种语言在由James Gosling、Bill Joy和Guy Steele于1996年Addison-Wesley出版的“Java语言技术规范”一文中予以介绍,在此引用仅供参考。JVM在由Tim Lindholm,Frank Yellin于1996年Addison Wesley出版的“Java虚拟机器技术规范”一文中予以介绍,在此引用仅供参考。
由于JVM可以在任何类型的平台上实现,使用JVM实现分布程序显著地减少了为不同结构分布系统开发程序的困难。更进一步,JVM使用Java远程方法调用系统(RMI)可以保证程序之间的通讯。在例如下面的文件“虚拟远程方法调用的技术规范”(Sun Microsystems,Inc.1977)中解释了RMI,在此引作参考,该文件也能通过统一资源定位器(URL)得到:
http:// www.javasoft.com/products/jdk/1.1/docs/guide/rmi/spec/rmiTOC.doc.html.
图2说明了在包括机器201和202的面向对象分布系统200中采用JVM发送和接收方法调用的对象流程框图。在系统200中,通过将对象转换为字节流207(它包括发送对象类型和构成对象数据的标识),机器201使用RMI205来应答对象203的调用。当机器201应答对象203调用时,在系统200中同一或其它机器上运行的过程可以连续工作,而不需等待它所要求的应答。
机器202接收字节流207。使用RMI206,机器202自动将它转换为对应的对象204,它是对象203的复制并由在机器202执行的程序使对象可以使用。机器202也可以先将对象转换为字节流,然后再传送到第三个机器,把这个对象发送到另一个机器,它也可以自动地将字节流转换为对应的目标。
机器之间的通讯也包含了数据或其它信息的验证。这种验证经常需要验证特定数据或其它信息的多次调用,这就导致了由于验证而产生的大量调用和潜在费用的增加。因此,在分布系统中,仅仅需要数据或其它信息的有效验证。
发明摘要
本发明所提到的第一种方法发送一个验证对象的请求。接收对请求的应答,包括对应于验证对象的第一代码的指示和于验证相关的处理的第二代码的指示。采用指示的第一代码来构成验证对象并且使用指示的第二代码来验证信息。
本发明所提到的第二个方法发送一个验证对象的请求。接收对请求的应答,该应答包括对应于验证对象的代码的指示。采用所指示的代码构成验证对象并基于构成的对象来验证信息。
本发明所提到的第三个方法在机器中接收一个验证对象的请求。发送对请求的应答,该应答包括构成验证对象的第一代码的指示和于验证相关的处理的第二代码的指示。
本发明所提到的第一个装置发送一个验证对象的请求。该装置接收对该请求的应答,包括对应于验证对象的第一代码的指示和与验证相关的处理的第二代码的指示。装置使用指示的第一代码来构成验证对象和使用指示的第二代码来验证信息。
本发明所提到的第二个装置发送一个验证对象的请求和接收对该请求的应答,应答包括对应于验证对象的代码的指示。装置使用指示的代码来构成验证对象和基于构成的对象来验证信息。
本发明所提到的第三个装置在机器中接收用于验证的对象的请求。装置发送对请求的应答,该应答包括对应于构成验证对象的第一代码的指示和与验证相关的处理的第二代码的指示。
附图简述
附图构成了本说明的一部分,与说明一起解释本发明的优点和原理。在图中,
图1是说明使用RPC机理的调用信息的流程框图。
图2是说明面向对象的分布系统中对象发送的框图。
图3是用于实施本发明的示例的分布处理系统图。
图4是示例的分布系统基础结构的图。
图5是在图4所示的分布系统基础结构中的计算机图。
图6是用于策略对象的传送的示例分布网络的图。
图7是使用策略对象作数据验证的过程的流程图。
详细描述
概述
本发明所提到的机器可以使用策略对象,也可称为验证对象,在分布系统中,当需要验证时策略对象执行处理。机器下载策略对象,它含有对控制数据或其它信息验证的代码的参考。机器利用参考值来获得到代码,以及局部验证例如在项、数据项或对象当中数据约束。验证对象也可用于验证其他类型信息。当数据或信息的具体规则变化时,可以更新策略对象,以提供下载的新规则的代码的参考值。
本发明所提到的系统使用改型RPC或RMI,将自变量和返回值从一个过程传给另一个过程,每个过程可以在不同机器上,可以有效地传递策略对象。在本文中的“机器”一词可认为物理机器或虚拟机器。多个虚拟机器可以存在于同一物理机器中。RPC系统的例子包括分布计算环境(DCE)RPC和Microsoft分布公用模式(DCOM)RPC。
分布处理系统
图3说明了实现本发明的一个典型的分布处理系统300,在图3中,分布处理系统300包括了三个独立和异构的平台301,302和303,它们采用以网络云319表示的网络配置相连接。只要允许在平台301,302和303之间的信息通讯,由网络云319表示的网络配置的组成和协议都不再是重要的。另外,只使用三个平台也仅仅是为了说明,而不是限制实现本发明的使用平台的具体数目。此外,本发明的实施例也没有确定具体的网络结构。例如,用于实现本发明的另一个网络结构将使用一个平台作为连接其他平台的网络控制器。
在分布处理系统300的实现中,平台301,302和303分别包括处理器316,317和318和存储器304,305和306。在每个存储器304,305和306中都分别包括了应用程序307,308和309,操作系统310,311和312以及RMI元件313,314和315。
应用程序307,308和309可以是事先写入的程序,和由实现本发明而提供的服务器根据操作而改写的程序,或者利用本发明提供的服务器的优点而专门写入的程序。应用程序307,308和309调用按照本发明执行的操作。
操作系统310,311和312是典型标准操作系统,他们分别对应于处理器316,317和318。平台301,302和303可以是不同结构的。例如,平台301是由Sun Microsystems有限公司制造的UltraSparc微处理器作为处理器316,并且使用Solaris操作系统310。平台302是由Silicon Graphics公司生产的MIPS微处理器作为处理器317,并使用Unix操作系统311。最后,平台303是由Intel公司生产的Pentium微处理器作为处理器318,并使用微软视窗95操作系统312。本发明的实现并没有限制以及也适合于相同结构的平台。
Sun,Sun Microsystems,,Solaris,Java和Sun Logo是Sun Microsystems有限公司在美国和其他国家的商标或注册商标。UltraSparc和所有其他的SPARC商标在有许可证的条件下才可使用并且是SPARC国际有限公司在美国和其他国家的商标。具有SPARC商标的产品是基于Sun Mcrosystems有限公司开发的结构。
存储器304,305和306提供几种功能,如作为辅助平台的常用存储器。另一个功能是在各自处理器316,314和315执行期间,存储应用程序307,308和309、RIM元件313,314和315以及操作系统310,311和312。此外,存储器的一部分304,305和306可以构成用于网络319中所有平台310,302和303的共享存储器。值得注意是连结JVM的RMI元件313,314和315的操作,没有在简化的示意图中显示出来。
分布系统的基础结构
本发明所提到的系统和方法也可在一个具体的分布系统400中操作,它将参照图4和图5给予描述。这个分布系统400包括了硬件和软件的各种部件,该系统(1)允许系统用户共享在许多设备的网络中的服务和资源;(2)提供带有工具的编程器和提供允许开发完善的和保密的分布系统的编程模式;以及(3)简化分布系统的管理任务。为了达到这些目标,分布系统400利用Java编程环境,允许代码和数据两者以固定方式在设备间移动。于是分布系统400是在Java编程环境的上层,而且发挥了这环境的特点,环境特点包括由环境提供的安全性和存储类型。
在图4和图5的分布系统400中,不同的计算机和设备结合为用户的单一系统。随着单一系统出现,分布系统400提供简化的访问,提供单一系统提供而没有放弃个人计算机或工作站的灵活和个人化应答的共享电源。分布系统400可以包含上千个设备,它们由分散在不同地理位置上、但在委托、管理和政策上基本一致的用户操作。
在一个示例的分布系统内由一个或更多的设备提供的各种服务的逻辑组合,每一个这样的逻辑组被称为Djinn。“服务”可以看作为能够由用户,程序,设备或另外服务器访问的资源,数据或功能,并且它们是可计算的,与存储有关,与通信有关,以及与其它用户提供的访问有关的。作为Djinn的一部分的服务例子包括设备,如打印机,显示器和磁盘;软件,如程序或应用程序;信息,如数据库和文件;和系统的用户。
用户和设备两者可以连接Djinn。当与Djinn连接时,用户或设备附加零或更多的服务给Djiin并且可在安全约束条件下访问它包含的任何服务之一。这样,为了共享访问它的服务,设备和用户都连接到Djinn。Djiin的服务以Java编程环境的对象有计划地出现,对象也可以包括其它对象、用不同编程语言写的软件,或者硬件设备。服务具有一个被服务请求操作所定义的界面,而且服务的类型决定了组成服务的界面。
分布系统400包含了由网络408互连的计算机402,计算机404和设备406。设备406可以是若干个设备中的任何一个,如打印机、传真机、存储设备、计算机或其它设备。网络408可以是局域网,宽域网或互联网。虽然图中仅有两台计算机和一个设备作为分布系统400的组成,但熟悉的该领域的人将会明白分布系统400可以包括更多计算机和设备。
为了说明分布系统400的一些软件部件,图5非常详细地描述了计算机402。熟悉的该领域的人都会明白可以以相似的方法配置计算机404或设备406。计算机402包括存储器502,第二存储器件504,中央处理单元(CPU)506,输入设备508和视频显示器510。存储器502包括查找服务512,发现服务器514和Java运行时间系统516。Java运行时间系统516包括Java RMI系统518和JVM520。第二存储器件504包括Java空间522。
正如以上所提到的,分布系统400是基于Java编程环境并且由此使用Java运行时间系统516。Java运行时间系统516包括Java API库,它允许程序具有多种系统功能(包括主机操作系统的窗口能力和组网能力)以独立平台的方式在访问的Java运行时间系统的上部运行。因为Java API库提供了一个跨接所有操作系统的、也是Java运行时间系统的入口的单一常用的API,所以运行在Java运行时间系统的上部的程序可以独立平台的方式运行,而与主机平台的操作系统或硬件配置无关。Java运行时间系统516可以作为Java软件开发工具箱的一部分,从美国加州Mountain View的Sun Microsystems有限公司得到。
JVM520也便于平台独立性。JVM520起着一个简单的计算机机器的作用,以字节代码的形式接收来自程序的指令,通过动态将这些字节代码转换为可执行的形式(如目标代码)来翻译这些字节代码并执行它们。RMI518有助于远程方法调用,它通过允许在一个计算机或设备上执行的对象来调用另一个计算机或设备的对象的方法。RIM和JVM两着都作为Java软件开发工具箱的一部分提供。
查找服务512限定对特定Djinn有效的服务。即,可以是多个Djinn,因此是分布系统中的多个的查找服务。查找服务512包含在Dujinn中每一个服务的对象并且每一个对象含有不同的有助于对应服务访问的方法。在题为“便于访问查找服务的方法和系统”的美国专利申请中描述了查找服务512,该专利作为参考,已在前面引用。
当在被称为引导和连接(或发现)的过程期间一个新的设备被添加到分布系统400时,发现服务器514进行检测,当检测到这个新设备时,发现服务器把对查找服务512的参考传送给新的设备,以致于新的设备用查找服务登记其服务并成为Djinn中的一个成员。在登记注册后,新设备就成为Djinn的一个成员,因而,它可以访问在查找服务512中所包含的所有服务。该引导和连接过程在题为:“提供与分布系统中的设备通讯用的可下载代码的装置和方法”的美国专利申请中作了描述,该专利作为参考已在前面引用。
Java空间522是在分布系统400中由程序使用存储对象的对象存储库。程序使用Java空间522来永久地存储对象,以及使对象能被分布系统400中的其他设备访问。Java空间在1997年11月17日提交申请的题为:“采用多组合入口和入口匹配的数据库系统”的美国专利中被描述,其申请号为:08/971,529,已转让给一共同受让人,作为参考,已在前面引用。熟悉该领域的人会发觉示例的分布系统400可以含有许多查找服务,发现服务器和Java空间。
分布处理系统中的数据流程
图6是用于传输验证的策略对象的面向对象分布网络600框图。网络600包括客户机器601和服务器机器604,它可以参照图3,4和5中所描述的一个或多个计算机或机器执行的计算机或虚拟机器来实现。客户机器601包括RMI602和相关对象603。服务器机器604包括RMI605和相关策略对象606。
客户机器601利用RMI602来发送一个调用或请求609给请求策略对象606的RIM605。作为响应,RMI605在调用610中发送策略对象606或策略对象的参考值。RMI602和客户机器601使用对象603来代表的策略对象,以验证数据或其它信息。如果需要的话,RMI602可以访问代码服务器607以获得由策略对象使用的代码608。代码服务器是访问代码和对象特定类型或种类的请求作出应答的实体和过程以及返回那个对象的代码。代码服务器可以放置于在机器604中或其它的机器上。代码也可以置于于代码服务器相同的平台或单独的平台。
对与对象有关的代码,RMI602以URL的形式采用可访问网络位置可以访问这样的代码。在技术和解释上,URL是众所周知,这里引用参考,例如,题为:“Java课程:互联网际中面向对象的程序”(1996年Addison-Wesley出版由Mary Campione and Kathy Walrath编写,其中第494至507页)。
对象可以作为对象流来发送,正如从Sun Microsystems有限公司得到的“对象系列技术说明”或“RMI技术说明”两者中所描述的那样。流,包括输入和输出流,也在以下举例的题为:“Java课程:互联网际中面向对象的程序”(1996年Addison-Wesley出版由Mary Campione and Kathy Walrath编写,其中第325至353页)。
策略对象的传送
图7是使用策略对象的验证(也称为验证对象)的过程700的流程图。机器首先决定是否请求验证(步骤701)。如果是,它向服务器(步骤702)请求一个策略对象和接收包括用于验证数据或其它信息的代码的参考值的策略对象(步骤703)。使用该参考值,它下载用于验证的代码(步骤704)。代码的下载出现于题为:“分布系统中的对象延迟重构和远程加载”的美国专利(申请号:08/950,756,1997年10月15日提交申请)的描述中,已作为参考被引用。
接着机器获得数据或其它信息(步骤705)。它决定数据或信息是否是有效使用策略对象(步骤706),它可以通过局部过程出现。验证是基于具体预定义的标准。如果数据或者信息是无效的,它获得新的数据或信息;例如,它提供一个用户请求数据再进入(步骤707)的信息。然后机器决定是否有更多的数据或信息要处理(步骤708)。如果是,它返回到步骤705去接收和验证新增的数据。不然,它指示使用验证的数据和其它信息(步骤709);例如,它可以提交数据给服务器。在这些步骤期间,服务器可以送出一个指示代码,如一个代码的参考或代码本身,来更新关于验证的策略或规则。因此,策略或规则可以自动的更新使客户机器接收和保持适用于当前策略或规则的代码或者代码的参考。
实现图7所示步骤的机器可以包括执行图3、4、5和6图中所示功能的计算机处理器。它们可以包括引起计算机去执行以上功能的模式或程序配置。它们也可以包括存放于存储器中的计算机程序产品。计算机程序产品可以包括计算机可读媒体或编入为了使机器完成上述技术说明功能的计算机可读代码的媒体。媒体可以包括在载波包含的并表示指令顺序的计算机数据信号,当处理器执行这些信号时,通过本技术说明描述方法的执行,使处理器在一个绝对地址上安全地对周围设备选址。媒体还包括执行本技术说明描述方法的数据结构。另外,图7所示的过程可以通过使用智能代理地址发生,在与本发明同时提交的题为:“分布系统中执行与远程过程调用有关过程的可下载智能代理地址”的美国专利申请中作了描述,专利已转让给一个共同受让人,并作为参考在此引用。
策略对象的举例
以下提供了用本发明的策略对象来验证消费报告中数据的实例。表1提供了采用Java程序语言编写的远程策略界面的实例,定义对于这个消费报告例子客户能够在服务器上调用的方法。
表1
Public interface ExpenseServer extends Remote{
Policy getPolicy()throws RemoteException;
Void submitReport(ExpenseReport report)
throws RemoteException,InvalidreportException;
}
表1所示的界面提供了两种方法。一种获得策略(“getPolicy”)方法返回实现界面的对象。提交报告(“submitReport”)方法提交一个完成的消费请求,如果由于各种原因报告产生变形,发出(产生)一个例外。策略界面申报一种如表2所示的方法,通知用户是否可接收添加消费报告的入口。
表2
Public interface Policy{
Void checkValid (ExpenseEntry entry)
Throws Policy ViolationException:
}
如果消费报告入口是有效的,就意味着它和当前的策略相匹配,方法也就正常返回。不然它发出一个说明错误的例外。典型的策略界面可以是局部(不是远程)并且这可以由客户的局部对象来实现。表3说明了客户怎样操作这个实例。
表3
Policy curPolicy=server.getPolicy()
start a new expense report
show the GUI to the user
while(user keeps adding entries){
try{
cruPolicy.checkValid(entry);∥throws exception if not OK
add the entry to the expense report
}catch(policyViolationException e){
show the error to the user
}
}
server.submitReport(report):
当一个用户请求开始一个新的消费报告的客户软件时,用户向请求服务器请求“server.getPolicy”方法以返回一个编入当前消费策略的对象。每一个加入的入口首先被提交给要批准的策略对象。如果策略对象报告没有错误,入口被加到报告;否则错误就显示给有修正能力的用户。当用户完成入口添加到报告时,入口报告被提交。
表4说明服务器如何操作这个实例。
表4
import java.rmi.*;
import java.rmi.server.*;class ExpenseServerImpl
extends UnicastRemoteObject
implements ExpenseServer
{
ExpenseServerImpl () thows RemoteException {
//…set up server state...
}
public Policy getpolicy ()
return new TodaysPolicy (O;
}
public void submitReport (ExpenseReport report) {
//…write the report into the db…
}
}
类型“UnicastRemoteObject”定义了对应这个服务器的远程对象的种类,在这个实例中一个单个服务器不同于复制的服务器。Java编程语言类“ExpenseServerImpl”实现了远程界面“ExpenseServer”的方法。在远程主机的客户能使用RMI对“ExpenseServerImpl”对象发送信息。
表5提供了一个实现这个消费报告实例策略的实例。
表5public class todaysPolicy implements Policy {Public void checkValid (ExpenseEntry entry)
throws PolicyViolationexception{
if(entry. dollars ()<20 {
return;// no receipt required
} else if (entry.haveReceipt()==false {
throw new PolicyViolationException (“receipt required”);
}
}
}
表5定义的策略是检查确保没有任何收据是少于20美元的入口。如果明天策略变化,那么20美元以下的菜单就从“请求收受”策略中消除,表6提供了新的策略的实现。
表6
public class TomorrowsPolicyimplements Policy{
public void checkValid(ExpenseEntry entry)
throws PolicyViolationException
{
if(entry.isMeal()&&entry.dollars()<20){
return;// no receipt required
}else if(entry.haveReceipt()==false){
throw new PolicyViolationException(“receipt required”);
}
}
}
表6定义的新策略(“TomorrowsPolicy”)可以安装到服务器上,然后服务器可以用新策略对象来替代当前(”TodaysPolicy”)对象。当客户请求服务器要得到策略的方法时,在客户上的RMI验证返回的对象是一种已知的型号。第一次每一个客户与一个“TomorrwsPolicy”对象相遇,客户的RMI在“getPoliicy”程序返回之前下载用于策略的实现,并且客户开始实施新策略。这个消费报告范例仅仅是使用要验证策略对象实例之一,并且可能有许多其他的策略对象的应用。
虽然本发明所提及的系统实施例说明的描述是参考了在JVM技术说明中Java编程语言实现的计算机系统,但本发明同样可应用到采用不同编程语言处理代码的其它计算机系统。特别是,本发明可以采用面向对象和非面向对象的两种编程系统来实现。另外,虽然本发明所提到的实施例是作为在Java编程环境中操作来描述,但熟悉本领域的人也可以在本发明中使用其它编程环境。
当本发明结合一个典型的实施例来描述时,可以意识到:对熟悉本领域的人来说,许多种改进将是显而易见的,因此本申请包涵了任何改变或变化。例如,对策略对象使用不同的标注或定义没有超越本发明的核心范围。因此,本发明受到所附的权利要求及其等同内容的限制。
Claims (22)
1.一种在由多个机器组成的分布系统中发送对象的方法,其特征在于所述方法包括:
发送验证对象的请求;
接收对该请求的应答,应答包括对应于验证对象的第一代码的指示和与验证有关的处理的第二代码的指示;
利用所指示的第一代码构成验证对象;及
利用所指示的第二代码来验证信息。
2.如权利要求1所述的方法,其特征在于:验证包括
局部执行对信息进行验证的处理。
3.如权利要求1所述的方法,其特征在于:接收包括
接收与验证相关的更新处理的第三代码的指示。
4.一种由多个机器组成分布系统中发送对象的方法,其特征在于所述方法包括:
发送验证对象的请求;
接收对该请求的应答,应答包括对应于验证对象的代码的指示;
利用所指示的代码构成验证对象;及
基于所构成的对象来验证信息。
5.一种在多个机器组成的分布系统中发送对象的方法,其特征在于所述方法包括:
由机器接收用于验证的对象的请求;及
发送对该请求的应答,应答包括构成验证对象的第一代码的指示和与验证有关的处理的第二代码的指示。
6.一种在多个机器组成分布系统中发送对象的装置,其特征在于所述装置包括:
为发送验证对象的请求而配置的模块;
为接收对该请求的应答而配置的模块,应答包括对应于验证对象的第一代码的指示和与验证有关的处理的第二代码指示;
为利用所指示第一代码构成验证对象而配置的模块;
为利用所指示第二代码验证信息而配置的模块。
7.如权利要求6所述的装置,其特征在于:验证模块包括
为局部执行对信息进行验证的处理而配置的模块。
8.如权利要求6所述的装置,其特征在于:接收模块包括
为接收与验证相关的更新处理的第三代码的指示而配置的模块。
9.一种由多个机器组成分布系统中发送对象的装置,其特征在于所述装置包括:
为发送验证对象的请求而配置的模块;
为接收对该请求的应答而配置的模块,应答包括对应于验证对象的代码的指示;
为利用所指示代码构成验证对象而配置的装置;及
为基于所构成对象验证信息而配置的装置。
10.一种在多个机器组成的分布系统中处理对象的装置,其特征在于所述装置包括:
为在机器上接收用于验证的对象的请求而配置的模块;及
为发送对该请求的应答而配置的模块,应答包括构成验证对象的第一代码的指示和与验证有关的处理的第二代码的指示。
11.一种由多个机器组成的分布系统中发送对象的系统,其特征在于所述系统包括:
第一个机器;
第二个机器;
连接第一机器与第二机器的网络;及
接收对象的装置,该装置包括:
为发送验证对象的请求而配置的模块;
为接收对该请求的应答而配置的模块,应答包括对应于验证对象的第一代码的指示和与验证有关的处理的第二代码的指示;
为利用所指示第一代码构成验证对象而配置的模块;及
为利用所指示第二代码来验证信息而配置的模块。
12.如权利要求11中所述的系统,其特征在于:验证模块包含
为验证信息局部执行处理而配置的模块。
13.如权利要求11中所述的系统,其特征在于:接收模块包括
为接收与验证有关的更新处理的第三代码的指示而配置的模块。
14.一种由多个机器组成分布系统中发送对象的系统,其特征在于所述系统包括:
第一个机器;
第二个机器;
连接第一机器与第二机器的网络;及
接收对象的装置,该装置包括:
为发送验证对象的请求而配置的模块;
为接收对该请求的应答而配置的模块,应答包括对应于验证对象的代码的指示;
为利用指示的代码构成验证对象而配置的模块;及
基于构造的对象验证信息而配置的模块。
15.一种由多个机器组成的分布系统中发送对象的系统,其特征在于所述系统包括:
第一个机器;
第二个机器;
连接第一机器与第二机器的网络;及
发送对象的装置,该装置包括:
为在机器上接收用于验证的对象的请求而配置的模块;及
为发送对该请求的应答而配置的模块,应答包括构成验证对象的第一代码指示和与验证有关处理的第二代码指示。
16.一种计算机程序产品,其特征在于它包括:
计算机可读的媒体,含有控制计算机系统执行一方法的指令,该方法包括:
发送验证对象的请求;
接收对该请求的应答,应答包括对应于验证对象的第一代码指示和与验证有关处理的第二代码指示。
利用指示的第一代码构成验证对象;及
利用指示的第二代码来验证信息。
17.如权利要求16中所述的计算机程序产品,其特征在于:验证包括
局部执行验证信息的处理。
18.如权利要求16中所述的计算机程序产品,其特征在于:接收包括
接收与验证有关的更新处理的第三代码的指示。
19.计算机程序产品,其特征在于所述产品包括:
计算机可读的媒体,含有控制计算机系统执行一方法的指令,该方法包括:
发送验证对象的请求;
接收对该请求的应答,应答包括对应于验证对象的代码的指示;
利用指示的代码构成验证对象;及
基于构成的对象来验证信息。
20.一种计算机程序产品,其特征在于它包括:
计算机可读的媒体,含有控制计算机系统执行一方法的指令,该方法包括:
在机器上接收用于验证的对象的请求;及
发送对该请求的应答,应答包括构造验证对象的第一代码指示和与验证有关的处理的第二代码的指示。
21.一种规定对象的表示的制造物品,该对象存储在计算机可读存储媒体中并能在分布系统的机器之间进行电子传输,该制造物品包括:
响应于一请求从第一个机器被发送到第二个机器的对象验证,该验证对象包括执行信息验证的处理的代码的指示。
22.一种在由多个机器组成的分布系统中发送对象的装置,其特征在于它包括:
发送验证对象的请求的装置;
接收对该请求的应答的装置,应答包括对应于验证对象的第一代码指示和与验证有关的处理的第二代码指示。
利用指示的第一代码来构成验证对象的装置;及
利用指示的第二代码来验证信息的装置。
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/044,932 US6466947B2 (en) | 1998-03-20 | 1998-03-20 | Apparatus and method for dynamically verifying information in a distributed system |
US09/044,932 | 1998-03-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1292115A true CN1292115A (zh) | 2001-04-18 |
Family
ID=26722173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN99803342A Pending CN1292115A (zh) | 1998-02-26 | 1999-02-16 | 分布系统中动态验证信息的装置和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7089263B2 (zh) |
EP (1) | EP1057272A2 (zh) |
JP (1) | JP2002505491A (zh) |
KR (1) | KR20010041227A (zh) |
CN (1) | CN1292115A (zh) |
AU (1) | AU2680399A (zh) |
WO (1) | WO1999044296A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104604313A (zh) * | 2013-03-20 | 2015-05-06 | 华为技术有限公司 | 用户设备冲突检测方法、用户设备和基站 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7418484B2 (en) * | 2001-11-30 | 2008-08-26 | Oracle International Corporation | System and method for actively managing an enterprise of configurable components |
CN1306403C (zh) * | 2003-12-30 | 2007-03-21 | 北京金山数字娱乐科技有限公司 | 一种用于游戏的网络服务器系统 |
US20060212422A1 (en) * | 2005-03-21 | 2006-09-21 | Anil Khilani | Efficiently executing commands against a large set of servers with near real time feedback of execution and presentation of the output of the commands |
US8407206B2 (en) * | 2005-05-16 | 2013-03-26 | Microsoft Corporation | Storing results related to requests for software development services |
US7434041B2 (en) * | 2005-08-22 | 2008-10-07 | Oracle International Corporation | Infrastructure for verifying configuration and health of a multi-node computer system |
US8615578B2 (en) * | 2005-10-07 | 2013-12-24 | Oracle International Corporation | Using a standby data storage system to detect the health of a cluster of data storage servers |
US20070204039A1 (en) * | 2006-02-24 | 2007-08-30 | Prasanna Inamdar | System and method of downloading restricted applications to wireless devices |
US8196123B2 (en) * | 2007-06-26 | 2012-06-05 | Microsoft Corporation | Object model for transactional memory |
US8380688B2 (en) * | 2009-11-06 | 2013-02-19 | International Business Machines Corporation | Method and apparatus for data compression |
US9842006B2 (en) * | 2009-12-01 | 2017-12-12 | International Business Machines Corporation | Application processing allocation in a computing system |
US10666443B2 (en) * | 2016-10-18 | 2020-05-26 | Red Hat, Inc. | Continued verification and monitoring of application code in containerized execution environment |
Family Cites Families (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US111814A (en) * | 1871-02-14 | Improvement in breech-loading fire-arms | ||
US5132A (en) * | 1847-05-29 | brown | ||
FR2476349A1 (fr) | 1980-02-15 | 1981-08-21 | Philips Ind Commerciale | Systeme de traitement de donnees reparti |
US4800488A (en) | 1985-11-12 | 1989-01-24 | American Telephone And Telegraph Company, At&T Bell Laboratories | Method of propagating resource information in a computer network |
US4819233A (en) * | 1987-04-08 | 1989-04-04 | Westinghouse Electric Corp. | Verification of computer software |
US5724540A (en) | 1988-03-28 | 1998-03-03 | Hitachi, Ltd. | Memory system having a column address counter and a page address counter |
JPH0293952A (ja) | 1988-09-30 | 1990-04-04 | Hitachi Ltd | 仮想計算機システム |
US5341477A (en) | 1989-02-24 | 1994-08-23 | Digital Equipment Corporation | Broker for computer network server selection |
US8700458B2 (en) * | 1989-05-01 | 2014-04-15 | Catalina Marketing Corporation | System, method, and database for processing transactions |
US5305196A (en) * | 1989-05-01 | 1994-04-19 | Credit Verification Corporation | Check transaction processing, database building and marketing method and system utilizing automatic check reading |
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 | インターナショナル・ビジネス・マシーンズ・コーポレイション | ソフトウェアの使用を管理するための装置及び方法 |
JPH05233326A (ja) | 1991-12-19 | 1993-09-10 | Internatl Business Mach Corp <Ibm> | コンピュータシステムにおいて事象を取り扱う方法及びシステム |
JPH05173988A (ja) | 1991-12-26 | 1993-07-13 | Toshiba Corp | 分散処理方式および該分散処理に適用されるトランザクション処理方式 |
US5303042A (en) | 1992-03-25 | 1994-04-12 | One Touch Systems, Inc. | Computer-implemented method and apparatus for remote educational instruction |
US5339430A (en) | 1992-07-01 | 1994-08-16 | Telefonaktiebolaget L M Ericsson | System for dynamic run-time binding of software modules in a computer system |
US5423042A (en) * | 1992-10-23 | 1995-06-06 | International Business Machines Corporation | Remote procedure execution |
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 |
US5548724A (en) | 1993-03-22 | 1996-08-20 | Hitachi, Ltd. | File server system and file access control method of the same |
US5475840A (en) | 1993-04-13 | 1995-12-12 | Sun Microsystems, Inc. | High performance dynamic linking through caching |
US5459837A (en) | 1993-04-21 | 1995-10-17 | Digital Equipment Corporation | System to facilitate efficient utilization of network resources in a computer network |
US5446901A (en) | 1993-06-30 | 1995-08-29 | Digital Equipment Corporation | Fault tolerant distributed garbage collection system and method for collecting network objects |
US5506984A (en) | 1993-06-30 | 1996-04-09 | Digital Equipment Corporation | Method and system for data retrieval in a distributed system using linked location references on a plurality of nodes |
AU6702594A (en) | 1993-12-17 | 1995-07-03 | Taligent, Inc. | Object-oriented distributed communications directory service |
US5664191A (en) | 1994-06-30 | 1997-09-02 | Microsoft Corporation | Method and system for improving the locality of memory references during execution of a computer program |
EP0694837A1 (en) | 1994-07-25 | 1996-01-31 | International Business Machines Corporation | Dynamic workload balancing |
AU3415595A (en) * | 1994-10-04 | 1996-04-26 | Banctec, Inc. | An object-oriented computer environment and related method |
US5961582A (en) | 1994-10-25 | 1999-10-05 | Acorn Technologies, Inc. | Distributed and portable execution environment |
JP3405627B2 (ja) * | 1994-11-08 | 2003-05-12 | 三星電子株式会社 | 画像形成装置の現像装置 |
US5553282A (en) * | 1994-12-09 | 1996-09-03 | Taligent, Inc. | Software project history database and method of operation |
US5491791A (en) | 1995-01-13 | 1996-02-13 | International Business Machines Corporation | System and method for remote workstation monitoring within a distributed computing environment |
US6363409B1 (en) | 1995-04-24 | 2002-03-26 | Microsoft Corporation | Automatic client/server translation and execution of non-native applications |
US5978773A (en) | 1995-06-20 | 1999-11-02 | Neomedia Technologies, Inc. | System and method for using an ordinary article of commerce to access a remote computer |
US5745703A (en) | 1995-07-18 | 1998-04-28 | Nec Research Institute, Inc. | Transmission of higher-order objects across a network of heterogeneous machines |
US5644720A (en) | 1995-07-31 | 1997-07-01 | West Publishing Company | Interprocess communications interface for managing transaction requests |
US5682534A (en) | 1995-09-12 | 1997-10-28 | International Business Machines Corporation | Transparent local RPC optimization |
US6009464A (en) | 1995-09-20 | 1999-12-28 | Sun Microsystems, Inc. | Method and apparatus for enabling application programs to communicate with network clients and servers |
US5806042A (en) | 1995-10-11 | 1998-09-08 | Kelly; William Franklin | System for designing and implementing bank owned life insurance (BOLI) with a reinsurance option |
US5996075A (en) | 1995-11-02 | 1999-11-30 | Sun Microsystems, Inc. | Method and apparatus for reliable disk fencing in a multicomputer 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 |
US5915112A (en) | 1996-01-02 | 1999-06-22 | International Business Machines Corporation | Remote procedure interface with support for multiple versions |
US5761507A (en) | 1996-03-05 | 1998-06-02 | International Business Machines Corporation | Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling |
US5754977A (en) | 1996-03-06 | 1998-05-19 | Intervoice Limited Partnership | System and method for preventing enrollment of confusable patterns in a reference database |
US5764915A (en) | 1996-03-08 | 1998-06-09 | International Business Machines Corporation | Object-oriented communication interface for network protocol access using the selected newly created protocol interface object and newly created protocol layer objects in the protocol stack |
US5721825A (en) | 1996-03-15 | 1998-02-24 | Netvision, Inc. | System and method for global event notification and delivery in a distributed computing environment |
US6185611B1 (en) | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
US6938263B2 (en) | 1996-04-23 | 2005-08-30 | Sun Microsystems, Inc. | System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space |
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 |
US6018619A (en) | 1996-05-24 | 2000-01-25 | Microsoft Corporation | Method, system and apparatus for client-side usage tracking of information server systems |
US6327656B2 (en) * | 1996-07-03 | 2001-12-04 | Timestamp.Com, Inc. | Apparatus and method for electronic document certification and verification |
US5758077A (en) | 1996-08-02 | 1998-05-26 | Hewlett-Packard Company | Service-centric monitoring system and method for monitoring of distributed services in a computing network |
US6212578B1 (en) | 1996-09-09 | 2001-04-03 | Oracle Corporation | Method and apparatus for managing dependencies in a distributed computing environment for ensuring the safety of remote procedure calls |
US6757729B1 (en) | 1996-10-07 | 2004-06-29 | International Business Machines Corporation | Virtual environment manager for network computers |
US5832529A (en) | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
AU5094398A (en) | 1996-10-30 | 1998-05-22 | Theodor Holm Nelson | Many-to-many payment system for network content materials |
US6167520A (en) | 1996-11-08 | 2000-12-26 | Finjan Software, Inc. | System and method for protecting a client during runtime from hostile downloadables |
US6154844A (en) | 1996-11-08 | 2000-11-28 | Finjan Software, Ltd. | System and method for attaching a downloadable security profile to a downloadable |
US6034925A (en) | 1996-12-02 | 2000-03-07 | Thomson Consumer Electronics, Inc. | Accessing control method for identifying a recording medium in a jukebox |
US6282581B1 (en) | 1997-03-27 | 2001-08-28 | Hewlett-Packard Company | Mechanism for resource allocation and for dispatching incoming calls in a distributed object environment |
US6189046B1 (en) | 1997-03-27 | 2001-02-13 | Hewlett-Packard Company | Mechanism and method for merging cached location information in a distributed object environment |
US6104716A (en) | 1997-03-28 | 2000-08-15 | International Business Machines Corporation | Method and apparatus for lightweight secure communication tunneling over the internet |
US6408342B1 (en) | 1997-03-28 | 2002-06-18 | Keith E. Moore | Communications framework for supporting multiple simultaneous communications protocols in a distributed object environment |
US6192044B1 (en) | 1997-03-31 | 2001-02-20 | Intel Corporation | Employing a look-up service and a callee connection service to establish a network phone call between a caller and a callee |
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 |
US6003050A (en) | 1997-04-02 | 1999-12-14 | Microsoft Corporation | Method for integrating a virtual machine with input method editors |
US6041351A (en) | 1997-04-17 | 2000-03-21 | Newmoon.Com | Network traffic by instruction packet size reduction |
US6003065A (en) | 1997-04-24 | 1999-12-14 | Sun Microsystems, Inc. | Method and system for distributed processing of applications on host and peripheral devices |
US6055562A (en) | 1997-05-01 | 2000-04-25 | International Business Machines Corporation | Dynamic mobile agents |
US6157960A (en) | 1997-05-07 | 2000-12-05 | International Business Machines Corporation | Technique for programmatically creating distributed object programs |
US5991808A (en) | 1997-06-02 | 1999-11-23 | Digital Equipment Corporation | Task processing optimization in a multiprocessor system |
US6219675B1 (en) | 1997-06-05 | 2001-04-17 | Microsoft Corporation | Distribution of a centralized database |
US6343308B1 (en) | 1997-08-14 | 2002-01-29 | International Business Machines Corporation | Systems, methods and computer programs for mixing different versions of Java classes |
US6078655A (en) | 1997-08-27 | 2000-06-20 | At&T Corp | Automatic international reattempt method and apparatus |
US5960404A (en) | 1997-08-28 | 1999-09-28 | International Business Machines Corp. | Mechanism for heterogeneous, peer-to-peer, and disconnected workflow operation |
US6199068B1 (en) | 1997-09-11 | 2001-03-06 | Abb Power T&D Company Inc. | Mapping interface for a distributed server to translate between dissimilar file formats |
WO1999017194A1 (en) | 1997-10-01 | 1999-04-08 | British Telecommunications Public Limited Company | Resource management system |
US6804711B1 (en) | 1997-10-06 | 2004-10-12 | Mci, Inc. | Method and apparatus for managing call processing services in an intelligent telecommunication network |
US6253256B1 (en) | 1997-10-15 | 2001-06-26 | Sun Microsystems, Inc. | Deferred reconstruction of objects and remote loading in a distributed system |
US6604127B2 (en) | 1998-03-20 | 2003-08-05 | Brian T. Murphy | Dynamic lookup service in distributed system |
US6327677B1 (en) | 1998-04-27 | 2001-12-04 | Proactive Networks | Method and apparatus for monitoring a network environment |
US6093216A (en) | 1998-05-29 | 2000-07-25 | Intel Corporation | Method of run-time tracking of object references in Java programs |
US6385643B1 (en) | 1998-11-05 | 2002-05-07 | Bea Systems, Inc. | Clustered enterprise Java™ having a message passing kernel in a distributed processing system |
US6301613B1 (en) | 1998-12-03 | 2001-10-09 | Cisco Technology, Inc. | Verifying that a network management policy used by a computer system can be satisfied and is feasible for use |
US6216158B1 (en) | 1999-01-25 | 2001-04-10 | 3Com Corporation | System and method using a palm sized computer to control network devices |
US6603772B1 (en) | 1999-03-31 | 2003-08-05 | Cisco Technology, Inc. | Multicast routing with multicast virtual output queues and shortest queue first allocation |
US6604140B1 (en) | 1999-03-31 | 2003-08-05 | International Business Machines Corporation | Service framework for computing devices |
US6801949B1 (en) | 1999-04-12 | 2004-10-05 | Rainfinity, Inc. | Distributed server cluster with graphical user interface |
US6578074B1 (en) | 1999-06-25 | 2003-06-10 | Mediaone Group, Inc. | Provisioning server enhancement |
EP1212680B1 (en) | 1999-08-13 | 2007-07-04 | Sun Microsystems, Inc. | Graceful distribution in application server load balancing |
US6564174B1 (en) | 1999-09-29 | 2003-05-13 | Bmc Software, Inc. | Enterprise management system and method which indicates chaotic behavior in system resource usage for more accurate modeling and prediction |
US6757762B1 (en) | 1999-10-29 | 2004-06-29 | Unisys Corporation | Multi-mode processor bus bridge |
US6324568B1 (en) * | 1999-11-30 | 2001-11-27 | Siebel Systems, Inc. | Method and system for distributing objects over a network |
US7716492B1 (en) | 2000-05-09 | 2010-05-11 | Oracle America, Inc. | Method and apparatus to obtain service capability credentials |
WO2001090903A1 (en) | 2000-05-24 | 2001-11-29 | Cohere Networks, Inc. | Apparatus, system, and method for balancing loads to network servers |
US6757262B1 (en) * | 2000-09-15 | 2004-06-29 | Motorola, Inc. | Service framework supporting remote service discovery and connection |
JP2002132739A (ja) | 2000-10-23 | 2002-05-10 | Nec Corp | スタブ検索ローディングシステム及び方法、サーバ装置、クライアント装置並びにコンピュータ可読記録媒体 |
US7398216B2 (en) | 2000-12-12 | 2008-07-08 | Lockheed Martin Corporation | Network dynamic service availability |
US20030005132A1 (en) | 2001-05-16 | 2003-01-02 | Nortel Networks Limited | Distributed service creation and distribution |
US6633835B1 (en) | 2002-01-10 | 2003-10-14 | Networks Associates Technology, Inc. | Prioritized data capture, classification and filtering in a network monitoring environment |
-
1999
- 1999-02-16 CN CN99803342A patent/CN1292115A/zh active Pending
- 1999-02-16 KR KR1020007009317A patent/KR20010041227A/ko not_active Application Discontinuation
- 1999-02-16 JP JP2000533947A patent/JP2002505491A/ja active Pending
- 1999-02-16 WO PCT/US1999/003222 patent/WO1999044296A2/en not_active Application Discontinuation
- 1999-02-16 AU AU26803/99A patent/AU2680399A/en not_active Abandoned
- 1999-02-16 EP EP99907039A patent/EP1057272A2/en not_active Withdrawn
-
2002
- 2002-05-10 US US10/141,932 patent/US7089263B2/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104604313A (zh) * | 2013-03-20 | 2015-05-06 | 华为技术有限公司 | 用户设备冲突检测方法、用户设备和基站 |
Also Published As
Publication number | Publication date |
---|---|
WO1999044296A3 (en) | 1999-10-28 |
AU2680399A (en) | 1999-09-15 |
WO1999044296A2 (en) | 1999-09-02 |
US7089263B2 (en) | 2006-08-08 |
KR20010041227A (ko) | 2001-05-15 |
US20020198895A1 (en) | 2002-12-26 |
JP2002505491A (ja) | 2002-02-19 |
EP1057272A2 (en) | 2000-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1298513A (zh) | 用于远程方法启用的方法和设备 | |
CN1095568C (zh) | 命名书签组 | |
CN1647042A (zh) | 定制软件抽象的方法 | |
US5758069A (en) | Electronic licensing system | |
US6983285B2 (en) | Apparatus and method for dynamically verifying information in a distributed system | |
CN1050916C (zh) | 在应用程序之间建立通信协议的方法和系统 | |
CN1298503A (zh) | 分布式系统中的动态查找服务 | |
US20040176968A1 (en) | Systems and methods for dynamically configuring business processes | |
CN1242326C (zh) | 程序对象的串行化和解串行的方法和设备 | |
CN1203404C (zh) | 具有逐模块验证的完全迟缓链接 | |
CN1298512A (zh) | 基于堆栈的访问控制 | |
CN100336021C (zh) | 分布计算域内的对象级安全系统及方法 | |
CN1292117A (zh) | 基于事件的分布式系统中传送行为的方法和装置 | |
CN1298509A (zh) | 在分布式系统中租用委派证的方法、装置和产品 | |
CN1292116A (zh) | 保密要求的按照方法指定 | |
CN1292115A (zh) | 分布系统中动态验证信息的装置和方法 | |
CN1961307A (zh) | 用于渐进式安装软件应用程序的系统和方法以及api | |
CN1535515A (zh) | 用于服务器安全和权限处理的系统和方法 | |
CN1464401A (zh) | 使用影子对象进行核准控制的面向对象系统和方法 | |
US20130185699A1 (en) | Storage Device Including Software Development Kit that Supports Multiple Types of Platforms and Multiple Programming Languages | |
NZ561944A (en) | Split download for electronic software downloads | |
CN1113292C (zh) | 可由多个用户单元同时使用的程序进行的访问控制的方法 | |
CN1829160A (zh) | 一种混合策略加载系统及实现策略管理的方法 | |
CN1894897A (zh) | 移动设备服务器 | |
CN1885266A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1058059 Country of ref document: HK |