CN1292117A - 基于事件的分布式系统中传送行为的方法和装置 - Google Patents

基于事件的分布式系统中传送行为的方法和装置 Download PDF

Info

Publication number
CN1292117A
CN1292117A CN99803345A CN99803345A CN1292117A CN 1292117 A CN1292117 A CN 1292117A CN 99803345 A CN99803345 A CN 99803345A CN 99803345 A CN99803345 A CN 99803345A CN 1292117 A CN1292117 A CN 1292117A
Authority
CN
China
Prior art keywords
incident
computer system
registration
virtual machine
distributed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN99803345A
Other languages
English (en)
Inventor
A·W·沃尔蕾斯
J·H·瓦尔多
P·C·琼斯
K·C·R·C·阿诺德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of CN1292117A publication Critical patent/CN1292117A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0261Garbage collection, i.e. reclamation of unreferenced memory using reference counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/417Bus networks with decentralised control with deterministic access, e.g. token passing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/433Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

在分布计算系统中,第一处理以这样的方法登记在另一地址空间或物理机器中发生的事件的关注,以允许该事件发生的接下来通知中包括在收到该通知时要运行的方法的对象。或是通过第一处理或是通过由第一处理指定为该通知最终点的一些其它同样处理在收到该通知时,所述方法可以按照第一处理规定而被执行。

Description

基于事件的分布式系统中传送行为的方法和装置
相关申请
以下所述的美国专利申请与本申请相关并引作参考:
1998年2月26日提交的题目为“分布式计算系统”的临时美国专利申请60/076,048。
1998年3月20日以代理档案号06502.0011-01000提交的题目为“租用存储的方法和系统”的美国专利申请09/044,923。
1998年3月20日以代理档案号06502.0011-02000提交的题目为“分布式系统中代表证书的租用的方法、装置和产品”的美国专利申请09/044,838。
1998年3月20日以代理档案号06502.0011-03000提交的题目为“分布式系统中团体成员的租用的方法、装置和产品”的美国专利申请09/044,834。
1998年3月20日以代理档案号06502.0011-04000提交的题目为“故障检测的租用”的美国专利申请09/044,916。
1998年3月20日以代理档案号06502.0062-01000提交的题目为“分布式系统中事件通知的对象和远程加载的延期重构”的美国专利申请09/044,919。
1998年3月20日以代理档案号06502.0102-00000提交的题目为“远程方法调用的方法和装置”的美国专利申请09/044,938。
1998年3月20日以代理档案号06502.0103-00000提交的题目为“识别远程方法的确定性杂凑的方法和系统”的美国专利申请09/044,652。
1998年3月20日以代理档案号06502.0104-00000提交的题目为“分布式系统中确定远程对象的状态的方法和装置”的美国专利申请09/044,790。
1998年3月20日以代理档案号06502.0105-00000提交的题目为“分布式系统中进行与远程程序调用相关处理的可下载的智能代理”的美国专利申请09/044,930。
1998年3月20日以代理档案号06502.0106-00000提交的题目为“远程方法的暂停和继续的方法和装置”的美国专利申请09/044,917。
1998年3月20日以代理档案号06502.0107-00000提交的题目为“数据库中多入口和多模板匹配的方法和系统”的美国专利申请09/044,835。
1998年3月20日以代理档案号06502.0108-00000提交的题目为“数据库中就地改进的方法和系统”的美国专利申请09/044,439。
1998年3月20日以代理档案号06502.0109-00000提交的题目为“数据库中打印安全属性匹配的方法和系统”的美国专利申请09/044,945。
1998年3月20日以代理档案号06502.0110-00000提交的题目为“分布式系统中动态查找服务”的美国专利申请09/044,931。
1998年3月20日以代理档案号06502.0112-00000提交的题目为“分布式系统中提供设备的通信中使用的可下载代码的装置和方法”的美国专利申请09/044,939。
1998年3月20日以代理档案号06502.0113-00000提交的题目为“便于访问查找服务的方法和系统”的美国专利申请09/044,826。
1998年3月20日以代理档案号06502.0114-00000提交的题目为“分布式系统动态验证信息的装置和方法”的美国专利申请09/044,932。
1998年2月26日提交的题目为“网络上动态分布计算的方法和装置”的美国专利申请09/030,840。
1998年3月20日以代理档案号06502.0116-00000提交的题目为“永久共享存储器空间的交互设计工具”的美国专利申请09/044,936。
1998年3月20日以代理档案号06502.0117-00000提交的题目为“多形态的基于令牌的控制”的美国专利申请09/044,934。
1998年3月20日以代理档案号06502.0118-00000提交的题目为“基于堆栈的接入控制”的美国专利申请09/044,915。
1998年3月20日以代理档案号06502.0119-00000提交的题目为“基于堆栈的安全要求”的美国专利申请09/044,944。
1998年3月20日以代理档案号06502.0120-00000提交的题目为“安全要求的按方法指定”的美国专利申请09/044,837。
发明领域
本发明一般涉及分布式计算机系统,尤其涉及分布式计算机系统中的事件处理程序。
发明背景
分布式计算机系统是计算机进行的编程和数据扩展到一个以上计算机上,通常扩展到具有许多计算机的网络上的系统。组织一个分布式系统的一种传统方法采用客户机服务器模式,其中一部分分布式系统(客户机)要求另一部分分布式系统(服务器)的某种服务。服务器作出响应,然后适当地处理客户机的请求。
在客户机-服务器模式下,当客户机碰到位于服务器上的过程时,利用某种形式的远程过程调用(RPC)可以实施该过程:客户机告知服务器这很可能是利用特定参数执行的过程,服务器执行该过程,服务器将执行的结果返回给客户机。
组织分布式系统的另一种方法采用事件/通知模式。在这种模式中,“收听者(listener)”处理(process)(对系统内另一实体内的事件的发生关心)向第二处理即“通告程序(notifier)”处理登记其关注,通告程序设计成监测这些事件。当事件发生时,通告程序通知收听者或者通知收听者在向通告程序登记时所指定的另一处理(即第三方处理)。在收到事件通知后,被通知实体(即收听者或第三方收听者,视情况而定)可以执行通知中所指定的功能并存在于被通知处理的地址空间中。在事件-通知模式中,不存在象客户机-服务器模式中那样的单个控制点,而是控制是由响应于指定事件的发生所发送的通知确定的。
在非分布式系统中,事件与响应于通知而将运行的功能(称为回调功能)的关联是直接的,因为事件、收听者和回调功能都处在单个地址空间中。在分布式系统中情况不是如此简单的。收听者可以处于一个地址空间中或者物理机器中,事件可以在第二地址空间或者物理机器(例如通告程序的地址空间或者通告程序监测的地址空间)中,可以把通知传送给第三地址空间或物理机器(例如第三方处理的地址空间)。这使得收听者难以保证第三方处理将能够以合适方式对事件作出响应,因为双方可以被分开,甚至也许可能不知道对方的存在。例如,收听者为了保证第三方执行正确功能,必须保持对在第三方的地址空间中是否可提供该功能的跟踪。当管理员需要更新第三方的地址空间中的功能时,这可能是极为难以承担的,因为新功能的所有潜在分布用户必须被更新到新功能的状态下。
因此,在现有技术中需要更有效处理利用事件-通知模式合作的分布式程序。在请求实体不能轻易地验证存在于执行实体的功能的状态的系统中,这一需要尤其强烈。
发明内容
本发明的目的和优点在以下的描述中将部分地给出,一部分通过描述将是显而易见的,一部分可以通过对本发明的实施而掌握。本发明的目的和优点将通过所附的权利要求书中具体指出的元件及其组合而实现和获得。
为了实现本发明的目的以及按照本发明的意图,正如这里具体和广泛描述的,本发明的第一方面包括控制分布式计算机系统中程序执行的方法,该方法包括步骤:(1)对在分布式计算机系统中的关注进行登记,关注的登记包括识别该事件发生的信息、分布式系统中软件实体的标识符、和第一对象,它包括一处理和对应于该处理的参数数据;(2)对于所登记事件的发生,监测至少一部分分布式计算机系统;(3)当事件发生时通知在关注登记中所识别的软件实体,通知包括第一对象的复制和所发生事件的识别;(4)响应于通知步骤,执行包含在第一对象中的方法。
为了实现本发明的目的以及按照本发明的意图,正如这里具体和广泛描述的,本发明的第二方面包括控制分布式计算机系统中处理的执行的协议,该协议包括一系列步骤,包括(1)接收对预计在分布式计算机系统中发生的事件的关注的登记,登记包括分布式计算机系统中软件实体的标识符和第一对象,第一对象包括执行一处理的计算机指令和对应于该处理的参数数据;(2)对于所登记事件的发生,监测分布式系统;(3)当事件发生时通知在关注登记中所识别的软件实体,通知包括第一对象的复制和所发生事件的识别。
本发明的第三方面是一种计算机系统,包括分别具有第一、第二和第三虚拟机器的存储器。第二虚拟机器执行从第一虚拟机器接收对事件的关注的登记并响应于该事件的发生发送一消息的处理/关注的登记和包括对象的消息。第三虚拟机器接收该消息并执行包含在该对象中的方法。
本发明的与第一方面相关的其它方面是指计算机可读媒体和包括在载波中的计算机数据信号。
附图简述
放在本说明书中并构成其一部分的附图将描述本发明的几个实施例,与说明相结合,有助于说明本发明的原理。在附图中:
图1是示例的分布式系统图。
图2是示例的分布式系统中的示例计算机图。
图3A是流程图,说明本发明的在基于事件的分布式系统中通知和传送行为的方法。
图3B是一张表,表明存储在计算机存储器中的示例事件通知请求。
图4是方框图,说明含有三个经网络彼此连接的示例计算机平台的分布计算系统。
详细描述
本公开内容描述一种协议,允许收听者处理以这样的方法登记对在另一地址空间或物理机器中事件的发生的关注,即该方法允许对事件发生的接下来通知包含一个对象,该对象可以包括在收到通知时进行运行的方法。当通知或是被收听者收到或是被第三方收到时,该方法可以按照收听者指定的执行。
参考附图,现在将给出本发明的一个实施例的详细描述。
本发明的方法和系统是在具有各种部件,包括硬件和软件的分布式系统(“示例的分布式系统”)中操作的。示例的分布式系统(1)允许系统的用户共享许多设备的网络上的服务和资源;(2)给程序员提供允许开发稳健的、安全分布式系统的工具和编程模式;(3)简化管理分布式系统的任务。为了实现这些目标,示例的分布式系统采用JavaTM编程环境,以允许代码和数据以无缝方式从一个设备到另一个设备的移动。于是,示例的分布式系统分层在Java编程环境的顶层上,开拓这一环境的特点,包括由它提供的安全性和由它提供的强键入。Java编程环境在Jaworski的Java 1.1开发商的指南,Sams.net(1997)中作了更清楚的描述,在此将其引作参考。
在示例的分布式系统中,不同的计算机和设备连接到对用户表现为单个系统中。通过表现为单个系统,示例的分布式系统提供接入的简单性和通过单个系统能够提供的共享能力,而不放弃个人计算机或工作站的灵活性和个人化响应。示例的分布式系统可以包括数千个用户操作的设备,这些用户分布在世界各地,但是他们对委托、行政管理和策略的基本看法意见一致。
在示例的分布式系统中有由一个或多个设备提供的服务的各种逻辑组,每个这种逻辑组称为Djinn。“服务”指的是能够由用户、程序、设备或另一服务访问的资源、数据或功能以及可以是可计算的、与存储相关、与通信相关或者与提供访问另一用户相关的资源、数据或功能。作为Djinn的部分而提供的服务的例子包括诸如打印机、显示器、和盘的设备;诸如应用软件或实用程序的软件;诸如数据库和文件的信息;以及系统的用户。
用户和设备二者均可以加入Djinn。当加入Djinn时,用户或设备将零或多个服务增加到Djinn,在安全性制约下,可以访问它包括的服务之一。因此,设备和用户加入到Djinn中,共享其服务。Djinn的服务编程上表现为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包括JavaTM远程方法调用系统(RMI)218和JavaTM虚拟机器220。第二存储设备204包括JavaSpaceTM222。
如上所述,示例的分布式系统100基于Java编程环境,因此利用Java运行期系统2l6。Java运行期系统216包括JavaTMAPI,允许程序在Java运行期系统的顶部运行,以独立于平台的方式访问各个系统功能,包括主操作系统的窗口能力和网络能力。由于Java API在Java运行期系统216移植的所有操作系统上提供单个共用API,在Java运行期系统的顶部运行的程序以独立于平台的方式运行,不管主平台的操作系统或硬件构造。Java运行期系统216作为由Sun Microsystems公司提供的JavaTM软件开发工具的一部分提供的。
Java虚拟机器220也便于平台独立性。Java虚拟机器220的作用就象一台抽象计算机器,以字节代码的形式接收程序的指令,通过动态地将他们转换为执行的形式,如目标代码,解译这些字节代码、并执行他们。RMI218通过允许在一个计算机或设备上执行的对象调用另一个计算机或设备的对象的方法,便于远程方法调用。RMI和Java虚拟机器二者也作为Java软件开发工具的一部分提供的。
查找服务212定义了由特定Djinn可提供的服务。即,在示例的分布式系统100中,可能存在一个以上Djinn,因此,存在一个以上查找服务。查找服务212包含Djinn内每个服务的一个对象,每个对象包括便于访问相应服务的各种方法。查找服务212及其访问在题目为“便于访问查找服务的方法和系统”的美国专利继续申请09/044,826中更详细地作了描述,前面已将该专利引作参考。
发现服务器214检测在称为引导和加入或发现的处理期间何时新设备加入到示例的分布式系统100,以及何时检测到这种新设备,发现服务器把对查找服务212的参考传送给新设备,使得新设备可以向查找服务登记其服务并变为Djinn的成员。在登记后,新设备变为Djinn的成员,结果,它可以访问包含在查找服务212中的所有服务。引导和加入的处理在题目为“分布式系统中用设备提供通信中使用的下载代码的装置和方法”的美国专利继续申请09/044,939中更详细地作了描述,前面已将该专利引作参考。
JavaSpace 222是由示例的分布式系统100内程序用于存储对象的对象存储库。程序使用JavaSpace 222永久地存储对象以及使它们可访问示例的分布式系统内的其它设备。在1997年11月17日提交的题目为“使用多形态入口和入口匹配的数据库系统”的美国专利继续申请08/971,529中更详细地描述JavaSpace,该专利申请已转让给一个共同受让人,在此将其引作参考。本领域专业技术人员将明白,示例的分布式系统100可以包含许多查找服务,发现服务器和JavaSpace。
尽管本发明的系统和方法描述为在示例的分布式系统和Java编程环境中操作,但是本领域专业技术人员将明白,本发明可以在其它系统和其它编程环境中实施。另外,尽管本发明的诸方面描述为存储在存储器中,但是,本领域专业技术人员将明白,这些方面也可以存储在其它类型的计算机可读媒体上或者从中读出,如二次存储设备、象硬盘、软盘或CD-ROM;来自因特网的载波;或者其它形式的RAM或ROM。Sun、Sun Microsystems、SunLogo、Java和基于Java的商标是Sun Microsystems公司在美国和其它国家的商标或注册商标。
图3A是流程图,说明在基于事件的分布式系统中通知和传送行为的本发明的方法。关注特定事件发生的收听者对象必须登记对该事件的关注。具体地,对于要登记的每个关注,登记对象将消息传送给通告程序处理,它较佳地是包含监测事件发生的过程的对象(步骤301)。通常,通告程序将存在在事件预计要发生的虚拟机器中。登记消息包括:(1)识别被监测事件的暗示或明示信息;(2)识别当事件发生时被通知的对象的信息;(3)当事件发生时被传送给所通知对象的对象,或者对于对象的参考。通告程序可以使用表格存储与它收到的登记消息相关的信息,如图3B所述的表格。通告程序对于事件的发生监测其系统或者网络(步骤302)。当事件发生(步骤303)时,通告程序通知由登记对象所识别的对象被登记事件已经发生(步骤304)。按照本发明,通知包括所发生的事件和当事件发生时被传送给所通知对象的对象或对于该对象的参考的识别(步骤304)。
正如在整个本说明书中所使用的,“事件”可以广泛地定义为系统状态的变化。事件可以是例如定时器事件、鼠标器点击事件或者盘访问事件。
图4是方框图,表明含有三个经网络彼此连接的示例计算机系统412、413和414的分布计算系统。计算机系统412-414在构造上类似于计算机系统102和112。具体地说,每个计算机系统412、413和414分别包括一个计算机平台或机器409、410和411,执行虚拟机器406、407和408。处理402、403和404驻留在各自的虚拟机器406、407和408中。根据本发明,计算机系统412、413和414形成利用事件/通知模式的分布计算系统。现在将参考图4所示的分布式系统,描述一种说明本发明应用的假设情况。假设:在虚拟机器406上执行的“管理员”处理402具有监测网络和向操作人员报告潜在问题的责任,如盘驱动器用完了空余空间。在虚拟机器407上执行的通告程序处理器403对于发生的盘驱动器整个事件对系统进行监测。为了登记对“DiskFull”事件的关注,处理器402发送登记消息,称为例如“RegisterInterest”,以通知处理器403诸如消息:RegisterInterest(DiskFull,ReferenceToVM408,SendPage(″<parameter>″))
在这种消息中,“DiskFull”识别要监测的事件,“ReferenceToVM408”是响应于事件的发生对于要通知的实体的参考(在本情况中,虚拟机器408),“SendPage”是一个对象,它包括在具有电话连接和拨寻呼机号码能力的计算机上执行时将以规定号码指令计算机对个人寻呼的方法和数据。
当DiskFull事件发生时,通告程序处理器403通知所指定实体虚拟机器408,利用类属通知方法,包括SendPage对象,或者对于SendPage对象的参考,以及DiskFull事件已经发生的指示。相应地,虚拟机器408可以创建诸如执行SendPage对象中所指定方法的处理404的处理。然后SendPage对象将引起计算机系统411寻呼合适的技术员。
如上所述,通知方法较佳地是类属方法,意思指每个虚拟机器和/或计算机平台可以包括其自己的通知方法的独特实施,当然每种实施必须满足由类属通知方法的定义所要求的技术规范。
由于SendPage对象在其自身中包括所有的所需方法和执行的数据,SendPage被认为是具有“闭包”的对象。通过把具有闭包的对象传送给指定实体,该对象开始登记,该对象不必知道在所传送对象的最终目的地可提供的功能。这是尤为有利的,因为它允许初始登记事件的对象易于改进所传送对象的功能性。例如,如果SendPage对象的策略(功能性)在计算机412上由操作员建立的,操作员改动SendPage的策略是相对容易的,例如,如果在20分钟内主技术员未返回该页,通过例如指令SendPage寻呼备用技术员。
尽管借助于封装在对象内的所有其所需方法和数据,SendPage被描述为具有闭包,可以传送具有闭包的其它对象,虽然代码仍必须由执行系统提供。具体地,如果必须由执行系统提供的代码实施以许多可接受方法中任何一种能够实现的众所周知的方法,该对象可以具有仅通过参考类属方法定义的闭包以及允许执行系统提供精确的实施办法。
虽然已经说明和描述了目前认为是本发明的较佳实施例和方法,但是,本领域专业技术人员将明白,可以作出各种变化和改进,以及可以进行对其元件的等效替代,而不偏离本发明的真正范围。例如,虽然上述系统和方法是参考基于Java运行期环境描述的,但是,可以设想利用其它运行期环境来实施本发明。
此外,根据本发明所述,可以作出许多改进,以适应特定的元件,技术或实施办法,而不偏离本发明的中心范围。因此,希望本发明不局限于这里所揭示的特定实施例和方法,而是本发明包括落在所附权利要求书的范围内的所有
实施例。

Claims (13)

1.一种控制分布式计算机系统中程序执行的方法,其特征在于所述方法包括步骤:
登记对分布式计算机系统中某一事件发生的关注,该关注登记包括识别该事件发生的信息、分布式系统中软件实体的标识符、和包括一处理和对应于该处理的参数数据的第一对象;
对于所登记事件的发生,监测至少一部分分布式计算机系统;
当事件发生时通知在关注登记中所识别的软件实体,该通知包括了第一对象的复制和对所发生事件的识别;
响应于通知步骤,执行包含在第一对象中的方法。
2.如权利要求1所述的方法,其特征在于:所述通知步骤进一步包括利用类属通知方法通知软件实体的步骤。
3.如权利要求1所述的方法,其特征在于:所述登记关注的步骤进一步包括通过位于不同于软件实体所位于的虚拟机器的虚拟机器中的处理登记关注。
4.如权利要求1所述的方法,其特征在于:监测分布式计算机系统的步骤是由位于不同于软件实体所位于的虚拟机器的虚拟机器中的处理进行的。
5.一种分布式计算机系统,其特征在于所述系统包括:
包含第一虚拟机器的存储器;
包含第二虚拟机器的存储器,执行从第一虚拟机器接收对事件关注的登记和响应于该事件的发生而发送消息的处理,该关注登记和消息包括计算机代码;
用于接收消息并执行计算机代码的包含第三虚拟机器的存储器;及
用于运行第一虚拟机器、第二虚拟机器和第三虚拟机器的处理器。
6.如权利要求5所述的分布式计算机系统,其特征在于:由第二虚拟机器发送的消息是类属通知方法。
7.如权利要求5所述的分布式计算机系统,其特征在于:由第二虚拟机器的关注登记包括事件的识别和第三虚拟机器的识别。
8.如权利要求5所述的分布式计算机系统,其特征在于:每个所述虚拟机器在分别的计算机上。
9.如权利要求5所述的分布式计算机系统,其特征在于:计算机代码是在对象中实现的。
10.一种控制分布式计算机系统中过程的执行的协议,其特征在于所述协议包括步骤:
接收对预计在分布式计算机系统中发生的事件的关注的登记,登记包括分布式计算机系统中软件实体的标识符和第一对象,第一对象包括执行某一处理的计算机指令和对应于该处理的参数数据;
对于所登记事件的发生,监测分布式系统;
当事件发生时通知在关注登记中所识别的软件实体,该通知包括了第一对象的复制和对所发生事件的识别。
11.如权利要求10所述的协议,其特征在于:通知步骤进一步包括利用类属通知方法通知软件实体的步骤。
12.一种计算机可读媒体,含有控制分布式计算机系统中程序执行的指令,所述指令引起分布式计算机系统进行以下步骤:
登记对分布式计算机系统中某一事件的关注,该关注登记包括识别该事件的信息、分布式系统中软件实体的标识符、和执行一处理的计算机代码;
对于所登记事件的发生,监测至少一部分分布式计算机系统;
当事件发生时通知在关注登记中所识别的软件实体,该通知包括了计算机代码的复制和对所发生事件的识别;
响应于通知步骤,执行包含在第一对象中的方法。
13.一种计算机可读媒体,含有实现控制分布式计算机系统中处理的执行的协议的指令,所述指令引起分布式计算机系统中计算机进行以下步骤:
接收分布式计算机系统中对某一事件的关注的登记,该登记包括分布式系统中软件实体和第一对象的标识符,第一对象包括进行一处理的计算机指令和对应于该处理的参数数据;
对于所登记事件的发生,监测分布式系统;及
当事件发生时通知在关注登记中所识别的软件实体,该通知包括了第一对象的复制和对所发生事件的识别。
CN99803345A 1998-02-26 1999-02-18 基于事件的分布式系统中传送行为的方法和装置 Pending CN1292117A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US7604898P 1998-02-26 1998-02-26
US60/076,048 1998-02-26
US09/044,933 US6463446B1 (en) 1998-02-26 1998-03-20 Method and apparatus for transporting behavior in an event-based distributed system
US09/044,933 1998-03-20

Publications (1)

Publication Number Publication Date
CN1292117A true CN1292117A (zh) 2001-04-18

Family

ID=26722176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99803345A Pending CN1292117A (zh) 1998-02-26 1999-02-18 基于事件的分布式系统中传送行为的方法和装置

Country Status (7)

Country Link
US (2) US6463446B1 (zh)
EP (1) EP1057100A2 (zh)
JP (1) JP2002505461A (zh)
KR (1) KR20010041176A (zh)
CN (1) CN1292117A (zh)
AU (1) AU2686799A (zh)
WO (1) WO1999044119A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100407111C (zh) * 2003-03-25 2008-07-30 英国电讯有限公司 用于产生对象的行为的装置和方法
CN100438398C (zh) * 2001-08-15 2008-11-26 普里凯许公司 在发布-订单网络中通过有效载荷检查和订单处理的包路由
CN100555269C (zh) * 2002-09-20 2009-10-28 国际商业机器公司 用于公布和监测分布式数据处理系统中提供服务的实体的方法及装置
CN1759377B (zh) * 2003-03-26 2012-01-18 微软公司 用于通知递送的可扩展用户环境系统
CN102567073A (zh) * 2010-11-08 2012-07-11 微软公司 在机器部署期间插入管理代理

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260543B1 (en) * 2000-05-09 2007-08-21 Sun Microsystems, Inc. Automatic lease renewal with message gates in a distributed computing environment
WO2001093141A1 (fr) * 2000-06-01 2001-12-06 Fujitsu Limited Systeme de gestion de droit d'utilisation et support enregistre
US6868543B1 (en) * 2000-06-16 2005-03-15 International Business Machines Corporation Location transparent event handling
US20030211188A1 (en) * 2000-06-19 2003-11-13 Kachnic Edward F. Wireless image processing method and device therefor
US7181487B1 (en) * 2000-07-07 2007-02-20 Schneider Automation Inc. Method and system for transmitting and activating an application requesting human intervention in an automation network
US7415516B1 (en) 2000-08-08 2008-08-19 Cisco Technology, Inc. Net lurkers
US7246145B1 (en) 2000-08-08 2007-07-17 Cisco Technology, Inc. Fully distributed, scalable infrastructure, communication system
US7143182B1 (en) 2000-08-08 2006-11-28 Cisco Technology, Inc. Smart secretary for routing call objects in a telephony network
US20040059452A1 (en) * 2000-08-23 2004-03-25 Edward Kachnic Sensory inspection system and method thereof
US20020143857A1 (en) * 2001-03-30 2002-10-03 Bidarahalli Phani Kumar Method and system for event communication on a distributed scanner/workstation platform
US7472396B2 (en) * 2001-05-18 2008-12-30 Qualcomm Incorporated Extensible event notification mechanism
US8423674B2 (en) 2001-06-02 2013-04-16 Ericsson Ab Method and apparatus for process sync restart
US20040031033A1 (en) * 2001-06-02 2004-02-12 Ravi Chandra Method and apparatus for inter-process communication management
US7472231B1 (en) 2001-09-07 2008-12-30 Netapp, Inc. Storage area network data cache
US7171434B2 (en) * 2001-09-07 2007-01-30 Network Appliance, Inc. Detecting unavailability of primary central processing element, each backup central processing element associated with a group of virtual logic units and quiescing I/O operations of the primary central processing element in a storage virtualization system
JP2003218724A (ja) * 2002-01-18 2003-07-31 Nec Compound Semiconductor Devices Ltd 半導体装置
US7899879B2 (en) 2002-09-06 2011-03-01 Oracle International Corporation Method and apparatus for a report cache in a near real-time business intelligence system
US8255454B2 (en) 2002-09-06 2012-08-28 Oracle International Corporation Method and apparatus for a multiplexed active data window in a near real-time business intelligence system
US7945846B2 (en) 2002-09-06 2011-05-17 Oracle International Corporation Application-specific personalization for data display
US7941542B2 (en) 2002-09-06 2011-05-10 Oracle International Corporation Methods and apparatus for maintaining application execution over an intermittent network connection
US7912899B2 (en) 2002-09-06 2011-03-22 Oracle International Corporation Method for selectively sending a notification to an instant messaging device
US7412481B2 (en) * 2002-09-16 2008-08-12 Oracle International Corporation Method and apparatus for distributed rule evaluation in a near real-time business intelligence system
US8165993B2 (en) 2002-09-06 2012-04-24 Oracle International Corporation Business intelligence system with interface that provides for immediate user action
US7401158B2 (en) 2002-09-16 2008-07-15 Oracle International Corporation Apparatus and method for instant messaging collaboration
US7668917B2 (en) 2002-09-16 2010-02-23 Oracle International Corporation Method and apparatus for ensuring accountability in the examination of a set of data elements by a user
US7171663B2 (en) * 2002-12-09 2007-01-30 International Business Machines Corporation External event interrupt for server-side programs
US7904823B2 (en) 2003-03-17 2011-03-08 Oracle International Corporation Transparent windows methods and apparatus therefor
WO2005052525A2 (en) * 2003-11-20 2005-06-09 Nicol William A Sensory system and method thereof
US7546608B2 (en) * 2004-01-14 2009-06-09 International Business Machines Corporation Enhanced search expressions for information kit integration architecture
US7496925B2 (en) * 2004-01-14 2009-02-24 International Business Machines Corporation Information kit objects for publish/subscribe integration architecture
US20050166177A1 (en) * 2004-01-27 2005-07-28 Ylian Saint-Hilaire Thread module chaining
US7490183B2 (en) * 2004-02-12 2009-02-10 International Business Machines Corporation Information kit integration architecture for end-user systems
IL164577A (en) * 2004-10-14 2011-12-29 Tadiran Telecom Ltd Communication in a distributed system
JP2006155187A (ja) * 2004-11-29 2006-06-15 Sony Corp 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム。
IL166085A (en) * 2004-12-30 2011-08-31 Tadiran Telecom Ltd Method and apparatus for use of identical data objects representing a user in a distributed communications network
US7519974B2 (en) 2005-01-14 2009-04-14 International Business Machines Corporation Mechanism that provides more efficient event handler processing
US7694294B2 (en) * 2006-03-15 2010-04-06 Microsoft Corporation Task template update based on task usage pattern
US7899892B2 (en) * 2006-03-28 2011-03-01 Microsoft Corporation Management of extensibility servers and applications
US7873153B2 (en) * 2006-03-29 2011-01-18 Microsoft Corporation Priority task list
US20090204956A1 (en) * 2008-02-08 2009-08-13 International Business Machines Corporation Multiple-mode software license enforcement
US20130091197A1 (en) 2011-10-11 2013-04-11 Microsoft Corporation Mobile device as a local server
US9092247B2 (en) 2012-03-29 2015-07-28 Microsoft Technology Licensing, Llc Persistent and resilient worker processes
US10536523B2 (en) * 2014-05-11 2020-01-14 Microsoft Technology Licensing, Llc File service using a shared file access-rest interface
US10225158B1 (en) * 2014-12-22 2019-03-05 EMC IP Holding Company LLC Policy based system management
EP3680776A1 (en) * 2019-01-08 2020-07-15 Advanced Digital Broadcast S.A. System and method for managing events in a software system
US11032355B2 (en) * 2019-04-05 2021-06-08 International Business Machines Corporation Trustless notification service

Family Cites Families (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JPH0640302B2 (ja) 1984-01-30 1994-05-25 株式会社日立製作所 図式・ソ−スプログラム自動生成方法
US4823122A (en) 1984-06-01 1989-04-18 Digital Equipment Corporation Local area network for digital data processing system
US4809160A (en) 1985-10-28 1989-02-28 Hewlett-Packard Company Privilege level checking instruction for implementing a secure hierarchical computer system
US4713806A (en) 1986-03-14 1987-12-15 American Telephone And Telegraph Company, At&T Bell Laboratories Communication system control arrangement
US4939638A (en) 1988-02-23 1990-07-03 Stellar Computer Inc. Time sliced vector processing
US5287511A (en) 1988-07-11 1994-02-15 Star Semiconductor Corporation Architectures and methods for dividing processing tasks into tasks for a programmable real time signal processor and tasks for a decision making microprocessor interfacing therewith
US4979105A (en) 1988-07-19 1990-12-18 International Business Machines Method and apparatus for automatic recovery from excessive spin loops in an N-way multiprocessing system
US5133075A (en) * 1988-12-19 1992-07-21 Hewlett-Packard Company Method of monitoring changes in attribute values of object in an object-oriented database
US5109486A (en) 1989-01-06 1992-04-28 Motorola, Inc. Distributed computer system with network and resource status monitoring
US5088036A (en) 1989-01-17 1992-02-11 Digital Equipment Corporation Real time, concurrent garbage collection system and method
DE69030340T2 (de) 1989-02-24 1997-11-20 Digital Equipment Corp Makler für die Auswahl von Rechnernetzwerkservern
US5297283A (en) 1989-06-29 1994-03-22 Digital Equipment Corporation Object transferring system and method in an object based computer operating system
US5557798A (en) 1989-07-27 1996-09-17 Tibco, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5257369A (en) 1990-10-22 1993-10-26 Skeen Marion D Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5187787B1 (en) 1989-07-27 1996-05-07 Teknekron Software Systems Inc Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5218699A (en) 1989-08-24 1993-06-08 International Business Machines Corporation Remote procedure calls in heterogeneous systems
EP0463172A1 (en) 1989-12-26 1992-01-02 Fujitsu Limited Object oriented distributed processing system
GB2242293A (en) 1990-01-05 1991-09-25 Apple Computer Apparatus and method for dynamic linking of computer software components
AU639802B2 (en) 1990-08-14 1993-08-05 Oracle International Corporation Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment
AU628753B2 (en) 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
US5446897A (en) 1990-08-31 1995-08-29 International Business Machines Corporation Automated address discovery method and apparatus for local area networks
JPH06501118A (ja) * 1990-09-17 1994-01-27 ケーブルトロン・システムス・インコーポレーテッド モデル準拠のインテリジェンスを使用するネットワーク管理システム
JPH0799497B2 (ja) 1990-12-14 1995-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション ソフトウェアの使用を管理するための装置及び方法
GB9102062D0 (en) 1991-01-31 1991-03-13 Otter Controls Ltd Improvements relating to conductors for switching applications
EP0497022B1 (en) 1991-01-31 1999-04-07 Hewlett-Packard Company Conference system
EP0501613A3 (en) 1991-02-28 1993-09-01 Hewlett-Packard Company Heterogeneous software configuration management apparatus
US5293614A (en) 1991-04-08 1994-03-08 Texas Instruments Incorporated System and method for hard real-time garbage collection requiring a write barrier but no read barrier
US5481721A (en) 1991-07-17 1996-01-02 Next Computer, Inc. Method for providing automatic and dynamic translation of object oriented programming language-based message passing into operation system message passing using proxy objects
DE4131380A1 (de) 1991-09-20 1993-03-25 Siemens Ag Verfahren zur adaption einer objektorientierten applikation
US5319751A (en) 1991-12-27 1994-06-07 Intel Corporation Device driver configuration in a computer system
US5826017A (en) 1992-02-10 1998-10-20 Lucent Technologies Apparatus and method for communicating data between elements of a distributed system using a general protocol
US5390328A (en) 1992-03-30 1995-02-14 International Business Machines Corporation Data processing system and method for providing notification in a central processor of state changes for shared data structure on external storage
US5553305A (en) 1992-04-14 1996-09-03 International Business Machines Corporation System for synchronizing execution by a processing element of threads within a process using a state indicator
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
US5561785A (en) 1992-10-29 1996-10-01 International Business Machines Corporation System for allocating and returning storage and collecting garbage using subpool of available blocks
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
US5386568A (en) 1992-12-01 1995-01-31 Yamaha Corporation Apparatus and method for linking software modules
EP0602263A1 (en) 1992-12-15 1994-06-22 International Business Machines Corporation User interface program generator
US5560003A (en) 1992-12-21 1996-09-24 Iowa State University Research Foundation, Inc. System and hardware module for incremental real time garbage collection and memory management
US5452459A (en) 1993-01-08 1995-09-19 Digital Equipment Corporation Method and apparatus for allocating server access in a distributed computing environment
DE69429686T2 (de) 1993-02-25 2003-04-30 Sun Microsystems, Inc. Transaktionsverwaltung in objektorientiertem System
US5832593A (en) 1993-04-14 1998-11-10 Minnesota Mining And Manufacturing Company Splice head for insulated telecommunication wires
CA2121612A1 (en) 1993-05-21 1994-11-22 Chung-Hwa Herman Rao Methods and apparatus for making and using distributed applications
US5603031A (en) 1993-07-08 1997-02-11 General Magic, Inc. System and method for distributed computation based upon the movement, execution, and interaction of processes in a network
EP0635792B1 (de) 1993-07-16 2003-08-27 Siemens Aktiengesellschaft Verfahren zur Koordination von parallelen Zugriffen mehrerer Prozessoren auf Resourcenkonfigurationen
US5844553A (en) 1993-08-30 1998-12-01 Hewlett-Packard Company Mechanism to control and use window events among applications in concurrent computing
US5617537A (en) 1993-10-05 1997-04-01 Nippon Telegraph And Telephone Corporation Message passing system for distributed shared memory multiprocessor system and message passing method using the same
CA2118169A1 (en) 1993-10-27 1995-04-28 Michael R.C. Seaman Event architecture for system management in an operating system
US5455952A (en) 1993-11-03 1995-10-03 Cardinal Vision, Inc. Method of computing based on networks of dependent objects
US5742848A (en) 1993-11-16 1998-04-21 Microsoft Corp. System for passing messages between source object and target object utilizing generic code in source object to invoke any member function of target object by executing the same instructions
US5581704A (en) 1993-12-06 1996-12-03 Panasonic Technologies, Inc. System for maintaining data coherency in cache memory by periodically broadcasting invalidation reports from server to client
US5485617A (en) 1993-12-13 1996-01-16 Microsoft Corporation Method and system for dynamically generating object connections
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
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
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
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
US5680617A (en) * 1994-05-16 1997-10-21 Apple Computer, Inc. Computer-human interface which provides for user customization of object behavior
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
US5655148A (en) 1994-05-27 1997-08-05 Microsoft Corporation Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information
US5680573A (en) 1994-07-12 1997-10-21 Sybase, Inc. Method of buffering data objects in a database
US5778228A (en) 1994-08-16 1998-07-07 International Business Machines Corporation Method and system for transferring remote procedure calls and responses over a network
US5922054A (en) 1994-08-19 1999-07-13 Canon Kabushiki Kaisha System for managing external applications and files
US5745687A (en) 1994-09-30 1998-04-28 Hewlett-Packard Co System for distributed workflow in which a routing node selects next node to be performed within a workflow procedure
US5555367A (en) 1994-09-30 1996-09-10 General Electric Company Method and system for generating computer programs for queries formed by manipulating object-oriented diagrams
JP4058118B2 (ja) 1994-11-15 2008-03-05 株式会社日立製作所 プログラム生成システム及び方法
US5577231A (en) 1994-12-06 1996-11-19 International Business Machines Corporation Storage access authorization controls in a computer system using dynamic translation of large addresses
US5644768A (en) 1994-12-09 1997-07-01 Borland International, Inc. Systems and methods for sharing resources in a multi-user environment
US5553282A (en) 1994-12-09 1996-09-03 Taligent, Inc. Software project history database and method of operation
EP0717337B1 (en) 1994-12-13 2001-08-01 International Business Machines Corporation Method and system for the secured distribution of programs
US5630066A (en) 1994-12-20 1997-05-13 Sun Microsystems, Inc. System and method for locating object view and platform independent object
US5889988A (en) * 1995-01-03 1999-03-30 Intel Corporation Debugger for debugging tasks in an operating system virtual device driver
US5872928A (en) 1995-02-24 1999-02-16 Cabletron Systems, Inc. Method and apparatus for defining and enforcing policies for configuration management in communications networks
EP0735472A3 (en) 1995-03-31 2000-01-19 Sun Microsystems, Inc. Method and apparatus for conspiracy among objects
US5727203A (en) 1995-03-31 1998-03-10 Sun Microsystems, Inc. Methods and apparatus for managing a database in a distributed object operating environment using persistent and transient cache
JPH08314836A (ja) * 1995-05-19 1996-11-29 Hitachi Ltd 管理サービスオブジェクト提供方法
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
US5761656A (en) 1995-06-26 1998-06-02 Netdynamics, Inc. Interaction between databases and graphical user interfaces
US5802367A (en) 1995-07-07 1998-09-01 Microsoft Corporation Method and system for transparently executing code using a surrogate process
US5745703A (en) 1995-07-18 1998-04-28 Nec Research Institute, Inc. Transmission of higher-order objects across a network of heterogeneous machines
US5774551A (en) 1995-08-07 1998-06-30 Sun Microsystems, Inc. Pluggable account management interface with unified login and logout and multiple user authentication services
US5956509A (en) 1995-08-18 1999-09-21 Microsoft Corporation System and method for performing remote requests with an on-line service network
JPH0962526A (ja) 1995-08-28 1997-03-07 Fujitsu Ltd 耐故障型rpcシステムおよび方法
JP2964926B2 (ja) 1995-08-29 1999-10-18 富士ゼロックス株式会社 データベース管理装置及び方法
US5671225A (en) 1995-09-01 1997-09-23 Digital Equipment Corporation Distributed interactive multimedia service system
US5737607A (en) 1995-09-28 1998-04-07 Sun Microsystems, Inc. Method and apparatus for allowing generic stubs to marshal and unmarshal data in object reference specific data formats
US5765174A (en) 1995-10-06 1998-06-09 Sun Microsystems, Inc. System amd method for distributed object resource management
US5864862A (en) 1996-09-30 1999-01-26 Telefonaktiebolaget Lm Ericsson (Publ) System and method for creating reusable components in an object-oriented programming environment
US5872973A (en) 1995-10-26 1999-02-16 Viewsoft, Inc. Method for managing dynamic relations between objects in dynamic object-oriented languages
US5860153A (en) 1995-11-22 1999-01-12 Sun Microsystems, Inc. Memory efficient directory coherency maintenance
US5692047A (en) 1995-12-08 1997-11-25 Sun Microsystems, Inc. System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources
US6003763A (en) 1995-12-29 1999-12-21 Visa International Service Method and apparatus for recording magnetic information on traveler's checks
US5745695A (en) 1996-01-16 1998-04-28 Motorola Inc. Radio system with suspension of packet data service during non-data service connection
US5754849A (en) 1996-01-30 1998-05-19 Wayfarer Communications, Inc. Self-describing object providing dynamic manipulation of heterogeneous data values and semantic identity between memory and transmission representations
US5946485A (en) 1996-02-09 1999-08-31 Intervoice Limited Partnership Enhanced graphical development environment for controlling program flow
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
US5790548A (en) 1996-04-18 1998-08-04 Bell Atlantic Network Services, Inc. Universal access multimedia data network
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
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
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
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
US5768532A (en) 1996-06-17 1998-06-16 International Business Machines Corporation Method and distributed database file system for implementing self-describing distributed file objects
JP3488019B2 (ja) 1996-06-17 2004-01-19 株式会社山武 制御設計用コンフィギュレーション・ツールの部品再利用方法
US5727145A (en) 1996-06-26 1998-03-10 Sun Microsystems, Inc. Mechanism for locating objects in a secure fashion
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
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
JPH1049381A (ja) * 1996-07-04 1998-02-20 Internatl Business Mach Corp <Ibm> 複数のデータ処理要求の処理方法及び処理システム、プログラムの実行方法及びシステム
US5757925A (en) 1996-07-23 1998-05-26 Faybishenko; Yaroslav Secure platform independent cross-platform remote execution computer system and method
US5875335A (en) 1996-09-30 1999-02-23 Apple Computer, Inc. Parameter marshaling techniques for dynamic object-oriented programming languages
US5787425A (en) 1996-10-01 1998-07-28 International Business Machines Corporation Object-oriented data mining framework mechanism
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
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
US5787431A (en) 1996-12-16 1998-07-28 Borland International, Inc. Database development system with methods for java-string reference lookups of column names
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
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
US6378001B1 (en) * 1997-06-18 2002-04-23 International Business Machines Corp. Collaborative framework with shared objects
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
US5946694A (en) 1997-09-29 1999-08-31 International Business Machines Corporation Apparatus and method for transparent application of service to business objects
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
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
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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100438398C (zh) * 2001-08-15 2008-11-26 普里凯许公司 在发布-订单网络中通过有效载荷检查和订单处理的包路由
CN100555269C (zh) * 2002-09-20 2009-10-28 国际商业机器公司 用于公布和监测分布式数据处理系统中提供服务的实体的方法及装置
CN100407111C (zh) * 2003-03-25 2008-07-30 英国电讯有限公司 用于产生对象的行为的装置和方法
CN1759377B (zh) * 2003-03-26 2012-01-18 微软公司 用于通知递送的可扩展用户环境系统
CN102567073A (zh) * 2010-11-08 2012-07-11 微软公司 在机器部署期间插入管理代理
CN102567073B (zh) * 2010-11-08 2014-11-26 微软公司 在机器部署期间插入管理代理

Also Published As

Publication number Publication date
KR20010041176A (ko) 2001-05-15
US20020059472A1 (en) 2002-05-16
WO1999044119A3 (en) 1999-10-28
US6463446B1 (en) 2002-10-08
EP1057100A2 (en) 2000-12-06
WO1999044119A2 (en) 1999-09-02
AU2686799A (en) 1999-09-15
JP2002505461A (ja) 2002-02-19

Similar Documents

Publication Publication Date Title
CN1292117A (zh) 基于事件的分布式系统中传送行为的方法和装置
US6598094B1 (en) Method and apparatus for determining status of remote objects in a distributed system
US6134603A (en) Method and system for deterministic hashes to identify remote methods
US6701367B1 (en) Mechanism for enabling customized session managers to interact with a network server
US6466947B2 (en) Apparatus and method for dynamically verifying information in a distributed system
US20030163598A1 (en) Method and system for distributing data events over an information bus
US20020199036A1 (en) Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6629154B1 (en) Method and system for deterministic hashes to identify remote methods
AU2976800A (en) Entitlement management and access control system
CN1292116A (zh) 保密要求的按照方法指定
EP1224568A1 (en) Mechanism for enabling session information to be shared across multiple processes
EP0540166B1 (en) Secure object equivalency determination
US20040019887A1 (en) Method, system, and program for loading program components
WO2000077635A1 (en) Network proxy for devices with limited resources
CN1689298A (zh) 用于自主计算的合成服务
CN1650269A (zh) 用于监视计算机应用程序的系统和方法
US20030061398A1 (en) Method and system for retrieving data over an information bus
US7089263B2 (en) Apparatus and method for dynamically verifying information in a distributed system
CA2508081A1 (en) Accessing computational grids
CN1100299C (zh) 面向对象系统中对被保护对象进行访问控制的系统和方法
CN1298508A (zh) 执行与分布式系统中的远程过程调用相关的处理的可下载智能代理
WO1999044134A1 (en) Method and system for facilitating access to a lookup service
CN1298507A (zh) 分布式系统中用于确定远程对象状态的方法和装置
JP2002505478A (ja) 分散形システムにおけるイベント通知のためのオブジェクトの据置き復元及び遠隔ローディング
CN1298511A (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