CN1292117A - 基于事件的分布式系统中传送行为的方法和装置 - Google Patents
基于事件的分布式系统中传送行为的方法和装置 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0261—Garbage collection, i.e. reclamation of unreferenced memory using reference counting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/417—Bus networks with decentralised control with deterministic access, e.g. token passing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/427—Loop networks with decentralised control
- H04L12/433—Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- 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/50—Network services
- H04L67/55—Push-based network services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- 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/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99954—Version 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.一种计算机可读媒体,含有实现控制分布式计算机系统中处理的执行的协议的指令,所述指令引起分布式计算机系统中计算机进行以下步骤:
接收分布式计算机系统中对某一事件的关注的登记,该登记包括分布式系统中软件实体和第一对象的标识符,第一对象包括进行一处理的计算机指令和对应于该处理的参数数据;
对于所登记事件的发生,监测分布式系统;及
当事件发生时通知在关注登记中所识别的软件实体,该通知包括了第一对象的复制和对所发生事件的识别。
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)
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)
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)
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 |
-
1998
- 1998-03-20 US US09/044,933 patent/US6463446B1/en not_active Expired - Lifetime
-
1999
- 1999-02-18 EP EP99907135A patent/EP1057100A2/en not_active Withdrawn
- 1999-02-18 JP JP2000533803A patent/JP2002505461A/ja active Pending
- 1999-02-18 CN CN99803345A patent/CN1292117A/zh active Pending
- 1999-02-18 AU AU26867/99A patent/AU2686799A/en not_active Abandoned
- 1999-02-18 KR KR1020007009228A patent/KR20010041176A/ko not_active Application Discontinuation
- 1999-02-18 WO PCT/US1999/003521 patent/WO1999044119A2/en not_active Application Discontinuation
-
2001
- 2001-12-17 US US10/015,801 patent/US20020059472A1/en not_active Abandoned
Cited By (6)
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 |