CN1298509A - 在分布式系统中租用委派证的方法、装置和产品 - Google Patents

在分布式系统中租用委派证的方法、装置和产品 Download PDF

Info

Publication number
CN1298509A
CN1298509A CN99805396A CN99805396A CN1298509A CN 1298509 A CN1298509 A CN 1298509A CN 99805396 A CN99805396 A CN 99805396A CN 99805396 A CN99805396 A CN 99805396A CN 1298509 A CN1298509 A CN 1298509A
Authority
CN
China
Prior art keywords
resource
assigner
application
assembly
processor
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
CN99805396A
Other languages
English (en)
Inventor
J·H·瓦尔多
A·M·沃尔蕾斯
R·谢夫勒
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 CN1298509A publication Critical patent/CN1298509A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/468Specific access rights for resources, e.g. using capability register
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • 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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/46Indexing scheme relating to G06F9/46
    • G06F2209/462Lookup
    • 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
    • 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/99931Database or file accessing
    • Y10S707/99939Privileged access
    • 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
    • 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/99953Recoverability
    • 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/99956File allocation
    • Y10S707/99957Garbage collection

Abstract

提供一种在分布式处理系统中租用委派证的方法、装置和产品。与该方法、装置和产品一致,被委派者请求委派者在委派有权访问的期间内访问资源。响应于该请求,委派者确定其间被委派有权访问资源的适当租用时期。

Description

在分布式系统中租用委派证的方法、装置和产品
相关申请
这是美国专利申请号08/729,421(1996年10月11日申请,并作为参考资料在此引入)的部分续展申请。
现引证下列美国专利申请作为本申请依据并归并于本申请中。
1998年2月26日申请的发明名称为“分布式计算系统”(“DistributedComputing System”)的临时美国专利申请U.S.Ser.No.:60/076,048。
上述相同日期申请的发明名称为“用于租用存储的方法和系统”(“Methodand System for Leasing Storage”)(标注有代理人案卷号No.:06502.0011-01000)的美国专利申请U.S.Ser.No.:09/044,923。
上述相同日期申请的发明名称为“用于在分布式系统中租用组成员资格的方法、装置和产品”(“Method,Apparatus and Product for Leasing of GroupMembership in a Distributed System”)(标注有代理人案卷号No.:06502.0011-03000)的美国专利申请U.S.Ser.No.:09/044,834。
上述相同日期申请的发明名称为“故障检测的租用”(“Leasing forFailure Detection”)(标注有代理人案卷号No.:06502.0011-04000)的美国专利申请U.S.Ser.No.:09/044,916。
上述相同日期申请的发明名称为“基于事件的系统中用于传输行为的方法”(“Method for Transporting Behavior in Event Based System”)(标注有代理人案卷号No.:06502.0054-00000)的美国专利申请U.S.Ser.No.:09/044,933。
上述相同日期申请的发明名称为“分布式系统中对象的延迟重组和事件通知的远程装载”(“Deferred Reconstruction of Objects and Remote Loadingfor Event Notification in a Distributed System”)(标注有代理人案卷号No.:06502.0062-01000)的美国专利申请U.S.Ser.No.:09/044,919。
上述相同日期申请的发明名称为“用于远程方法调用的方法和装置”(“Methods and Apparatus for Remote Method Invocation”)(标注有代理人案卷号No.:06502.0102-00000)的美国专利申请U.S.Ser.No.:09/044,938 。
上述相同日期申请的发明名称为“用于确定性散列识别远程方法的方法和系统”(“Method and System for Deterministic Hashes to identify RemoteMethods”)(标注有代理人案卷号No.:06502.0103-00000)的美国专利申请U.S.Ser.No.:09/045,652。
上述相同日期申请的发明名称为“用于确定分布式系统内远程对象状态的方法和装置”(标注有代理人案卷号No.:06502.0104-00000)的美国专利申请U.S.Ser.No.:09/044,790。
上述相同日期申请的发明名称为“分布式系统中用于执行与远程过程调用相关联的处理的可下载智能代理”(“Downloadable Smart Proxies forPerforming Processing Associated with a Remote Procedure Call in aDistributed System”)(标注有代理人案卷号No.:06502.0105-00000)的美国专利申请U.S.Ser.No.:09/044,930。
上述相同日期申请的发明名称为“远程方法的暂停和继续”(“Suspensionand Continuation of Remote Methods”)(标注有代理人案卷号No.:06502.0106-00000)的美国专利申请U.S.Ser.No.:09/044,917。
上述相同日期申请的发明名称为“数据库中用于多索引条目以及多模板匹配的方法和系统”(“Method and System for Multi-Entry and Multi-TemplateMatching in a Database”)(标注有代理人案卷号No.:06502.0107-00000)的美国专利申请U.S.Ser.No.:09/044,835。
上述相同日期申请的发明名称为“数据库中用于原地修改的方法和系统”(“Method and System for In-Place Modifications in a Database”)(标注有代理人案卷号No.:06502.0108)的美国专利申请U.S.Ser.No.:09/044,839。
上述相同日期申请的发明名称为“数据库中用于类型安全属性匹配的方法和系统”(“Method and System for Typesafe Attribute Matching in aDatabase”)(标注有代理人案卷号No.:06502.0109-00000)的美国专利申请U.S.Ser.No.:09/044,945。
上述相同日期申请的发明名称为“分布式系统中动态查询服务”(“DynamicLookup Service in a Distributed System”)(标注有代理人案卷号No.:06502.0110-00000)的美国专利申请U.S.Ser.No.:09/044,931。
上述相同日期申请的发明名称为“分布式系统中提供可下载代码用于与一设备通信的装置和方法”(“Apparatus and Method for Providing DownloadableCode for Use in Communicating with a Device in a Distributed System”)(标注有代理人案卷号No.:06502.0112-00000)的美国专利申请U.S.Ser.No.:09/044,939。
上述相同日期申请的发明名称为“促进访问查询业务的方法和系统”(“Method and System for Facilitating Access to a Lookup Service”)(标注有代理人案卷号No.:06502.0113-00000)的美国专利申请U.S.Ser.No.:09/044,826。
上述相同日期申请的发明名称为“分布式系统中用于动态验证信息的装置和方法”(“Apparatus and Method for Dynamically Verifying Informationin a Distributed System”)(标注有代理人案卷号No.:06502.0114-00000)的美国专利申请U.S.Ser.No.:09/044,932。
1998年2月26日申请的发明名称为“用于网络上动态分布式计算的方法和装置”(“Method and Apparatus for Dynamic Distributed Computing Overa Network”)的美国专利申请U.S.Ser.No.:09/030,840。
上述相同日期申请的发明名称为“永久性共享存储空间的互动设计工具”(“An Interactive Design Tool for Persistent Shared Memory Spaces”)(标注有代理人案卷号No.:06502.0116-00000)的美国专利申请U.S.Ser.No.:09/044,936。
上述相同日期申请的发明名称为“基于多形态令牌的控制”(“PolymorphicToken-Based Control”)(标注有代理人案卷号No.:06502.0117-00000)的美国专利申请U.S.Ser.No.:09/044,934。
上述相同日期申请的发明名称为“基于堆栈的访问控制”(“Stack-BasedAccess Control”)(标注有代理人案卷号No.:06502.0118-00000)的美国专利申请U.S.Ser.No.:09/044,915。
上述相同日期申请的发明名称为“基于堆栈的安全要求”(“Stack-BasedSecurity Requirements”)(标注有代理人案卷号No.:06502.0119-00000)的美国专利申请U.S.Ser.No.:09/044,944。
上述相同日期申请的发明名称为“安全要求的逐个方法指定”(“Per-Method Designation of Security Requirements”)(标注有代理人案卷号No.:06502.0120-00000)的美国专利申请U.S.Ser.No.:09/044,837。
发明背景
A.发明领域
本发明一般涉及数据处理系统,特别是,涉及在数据处理系统中租用委派证(delegation certificate)。
B.相关技术的描述
适当资源管理对于有效使用计算机是一个重要方面。一般,资源管理包括响应于请求分配资源(例如,存储器)以及在适当的时候(例如,当该请求者不再要求资源时)除去分配资源。一般,资源包括在计算机中执行的计算实体(例如,应用、程序、小应用程序,等等)所参照的数据。
实践中,当在计算机上执行的应用寻求参照资源时,计算机必须首先分配或指定资源,从而应用可适当地参照它们。当应用不再参照资源,那么计算机可以去分配或回收资源重新使用。在计算机中,每个资源具有唯一“句柄(handle)”,通过该句柄可参照该资源。可通过各种方法(诸如,地址、阵列索引、唯一值、指针,等等)来实施该句柄。
资源管理对于单个计算机来说相对简单,因为容易确定指示何时可回收资源的事件(诸如,何时应用不再参照它们或者在掉电之后)。对于连接多个计算机的分布式系统而言,资源管理就较难一些了,因为在几个不同计算机中的应用都可应用相同的资源。
在分布式系统中的断开可能导致不适当和过早回收资源或者回收资源失败。例如,在分布式系统中的不同计算机上操作的多个应用可参照位于其他机器上的资源。如果在设有资源的计算机与参照那些资源的应用之间的连接被中断,那么计算机可能过早地回收资源。另一方面,尽管应用不能访问资源的时间很长,但是计算机还是可永久地保持该资源。
这些困难导致发展系统来管理网络资源,其中之一被称为“分布式垃圾收集”。该术语描述了由用于分布式系统的语音或运行期系统提供的能够自动管理由在网络中的不同计算机上的应用或应用组所用到的资源的功能(facility)。
一般,垃圾收集运用当任一应用部分不再参照资源时可释放它们以供将来使用的概念。分布式垃圾收集扩展这一概念到分布式计算领域,当没有应用在任何计算机上引用它们时,回收资源。
分布式垃圾收集必须在分配资源和引用这些资源之间保持完整性。换句话说,当在网络中的任一计算机上运行的应用继续参照该资源时,不能允许该系统去分配或释放资源。这种参照资源结合(reference-to-resourcebinding)(被称为“参照完整性”)不保证该参考总是允许访问它所参照的资源。例如,网络故障可导致该访问不可行。然而,完整性保证了如果可用该参考来获得对任一资源的访问,那么它将是首先参照的相同的资源。
运用垃圾收集的分布式系统还必须回收在有限的将来不再参照的资源。换句话说,系统必须提供没有“存储漏洞”的保证。存储漏洞通常在所有应用撤消对资源的参考时发生,但是由于例如错误地确定一些仍然参照该资源的应用,所以系统不能回收资源来重新使用。
参照完整性故障和存储漏洞通常导致在参照该资源的应用和管理这些资源的分配和去分配的垃圾收集系统之间断开。例如,断开在参照资源的应用和管理该资源的垃圾收集系统之间的网络连接可能阻止垃圾收集系统确定是否以及何时回收资源。另一方面,垃圾收集系统可能错误地确定由于应用不在预定时间内访问资源,所以它可收集该资源。以用大量技术来通过尝试保证这种机理在没有存储漏洞的条件下保持参照完整性,提高分布式垃圾收集机理。一种传统的方法用参考计数(reference counting)形式,其中对于参考每个资源的应用数进行计数。当资源的计数到了零时,垃圾收集系统可回收资源。然而,这种资源计数方法只有在用相应的参考计数器来产生资源时才有用。在这种情况下,当附加应用参考该资源时,垃圾收集系统递增资源的参考计数,而当应用不再参考该资源时便递减计数。
然而,特别在分布式系统中可能发生故障的情况下,参考计数方法就有问题。这种故障可采取计算机或应用故障或网络故障的形式,它们阻止传递通知垃圾收集系统一个资源不再参考的消息。如果由于网络断开而不传递消息,那么垃圾收集系统不知道何时回收资源。
为了阻止这种故障,一些传统参考计数方法包括“保持活性(keepalive)”消息,它们还被称为“砰回(ping back)”。根据该方法,在网络中的应用把消息发送到监督资源的垃圾收集系统,并指示应用仍可传播。这些消息阻止垃圾收集系统丢失对资源的参考。不能接收到这种“保持活性”消息意味着垃圾收集系统可递减对于资源的参考计数,并当计数到零时,垃圾收集系统可回收该资源。然而,这仍可导致在由于网络故障而不能接收“保持活性”消息发生的参考计数达到零之后过早回收资源。这破坏了参考完整性需求。
解决在垃圾收集系统中的参考完整性问题的另一个建议方法是不仅保持参考计数,而且还保持与参考资源的每个计算实体相对应的标识符。参见A.Birrell等人所著的“对于网络对象的分布式垃圾收集”(号116,数字系统研究中心,1993年12月15日)。这种方法存在着于参考计数方法相同的问题。此外,该方法要求对于参考每个资源的每个计算实体的附加唯一标识符,添加开销,这导致在分布式系统中不必要地增加通信以及增加存储要求(即,与参考每个资源的应用相对应的标识符表)。
发明概述
根据本发明,通过在分布式系统中的各方(例如,保持参考资源的应用和管理该资源的垃圾收集系统)同意保证资源和对该资源的参考期间租用资源,保证参考完整性而没有代价大的存储漏洞。在租用日期结束时,对参考资源的保证将继续,允许垃圾收集系统回收资源。由于应用保持了对资源的参考以及管理该资源的垃圾收集系统同意有限的保证租用时期,所以这两者都可知道租用和保证何时期满。这保证了在参考租用持续时间内的参考完整性,并避免了由于网络差错而不能释放资源的情况。除了存储器之外,还可将租用技术用于委派证。
根据本发明的另一个实施例(如在下面将具体描述),提供了一种租用委派证的方法。该方法包括下列步骤:接收来自客户的特定资源和租用时期的租用请求、确定其间客户有权向服务器请求访问资源的租用时期、建议客户提出准许的租用时期、准许客户获得委派证,其中客户可用该委派证访问来自服务器的资源。
附图简述
加入并构成本说明书一部分的附图示出了本发明的实施例,并于说明书一起用来解释本发明的优点和原理。在附图中,
图1是根据本发明的实施方法由应用调用处理器执行的步骤的流程图;
图2是根据本发明的实施方法由服务器调用处理器执行的处理肮脏调用的步骤的流程图;
图3是根据本发明的实施方法由服务器调用处理器执行的处理清除调用的步骤的流程图;
图4是根据本发明的实施方法由服务器调用处理器执行的启动垃圾收集处理的步骤的流程图;
图5是在分布式处理系统中较佳调用流的示图;
图6是根据本发明的实施方法调用(invocation)服务的组件的方框图;
图7是可用在本发明的实施过程中的分布式处理系统的示图;
图8是根据本发明的实施方法在分布式处理系统的平台中的各软件组件(component)的示图;
图9是可在本发明的另一个实施例中用到的用于在分布式处理系统中租用委派证的数据处理系统的示图;
图10是根据本发明的另一个实施例,当另一个处理(潜在被委派者(delegatee))请求租用时,由委派者(delegator)处理执行的步骤的流程图;和
图11A和图11B表示根据本发明的另一个实施例,当向委派者处理请求租用时,由处理(潜在被委派者)执行的步骤的流程图;
图12是根据本发明的另一个实施例,当被委派者要求访问资源时,由服务器执行的步骤的流程图。
详细描述
下面,详细描述在附图中所示的本发明的实施方法。其中,在附图和下面的说明中用相同标号表示相同或相似的部分。
由以传统分布式处理系统体系结构组成的计算机实施本发明。然而,实施本发明的体系结构和步骤不是传统的,因为对于它们提供保证参考完整性并消除存储漏洞的分布式垃圾收集方案。
A.概观
位于分布式处理系统中的每个计算机中的方法调用(MI)组件实施本发明的分布式垃圾收集方案。MI组件可包括最好以JAVATM编程语言编写的多个软件模块。
一般,无论何时在分布式处理系统中的应用通过名称查询作为对一些其他调用的返回值或另一种方法和搜寻存取资源获得对分布式资源的参照,应用调用资源或管理该资源的MI组件。该MI组件(称为管理MI组件)留意对该资源的未完结(outstanding)参考的数量。当对一资源(参考)的参照数是零时,管理MI组件可回收资源。通常将对一资源的参考数的计数称为“参考计数”,而且还将递增参考计数的调用称为“肮脏调用(dirty call)”。
当应用不再要求分布式资源时,它把不同调用发送到该资源或管理MI组件。一旦接收到该调用,管理MI组件递减对于该资源的参考计数。可将这种丢失参考的调用称为“清除调用(clean call)”。
根据本发明的实施方法,肮脏调用可包括用于参考资源的请求时间间隔,被称为租用日期。一旦接收到肮脏调用,管理MI组件发出表示允许租用的周期的返回调用。管理MI组件跟踪用于那些参考的租用日期以及未完结参考的数量。结果,当对资源的参考计数到零时或当对于资源的租用日期期满时,管理MI组件可回收资源。
B.过程
在MI组件中的应用调用处理器执行如图1所式的应用调用过程100的步骤。在管理MI组件中的服务器调用处理器分别执行如图2-4所示的过程200、300和400的步骤,管理MI组件的垃圾收集器根据服务器调用处理器的指令,执行传统的过程来回收前面必定参照的资源。因此,不解释对于垃圾回收器的传统过程。
1.应用调用处理器
图1是过程100的流程图,其中MI组件的应用调用处理器用该过程100来处理对于参考由分布式处理系统中的相同或另一个MI组件管理的资源的应用请求。
在应用已获得对资源的参考之后,应用调用处理器把肮脏调用,包括资源的参考和所请求的租用日期,发送到对于该资源的管理MI组件(步骤110)。可把肮脏调用发送到资源本身或管理MI组件。
于是,应用调用处理器等待和接收来自管理MI组件(步骤120)的返回调用。返回调用包括准许租用日期,在该周期内管理MI组件保证肮脏调用的参考将该资源结合。换句话说,管理MI组件不同意在准许时期(grant period)内收集与肮脏调用的参考相对应的资源。如果管理MI组件不提供准许周期,或者拒绝租用请求,那么应用调用处理器将必须发出另一个肮脏调用直至它接收到准许周期。
应用调用处理器监视该应用对参考的运用,而且或者当应用清楚地通知应用调用处理器不再需要该参考或者当应用调用处理器本身作出这个决定(步骤130)时,应用调用处理器向管理MI组件发出清除调用(步骤140)。通过类似于用于肮脏调用的方法,可将清除调用直接送到参考的资源,而且管理MI组件将处理清除调用。后来,应用调用处理器从该应用所用到的参考表中去除该参考(步骤150)。
如果用该参考该应用还未做完(步骤130),但是应用调用处理器确定该参考的准许周期大约期满(步骤160),于是应用调用处理器重复步骤110和120以保证由代表该应用的管理MI组件保持对该资源的参考。
2.服务器调用处理器
MI组件的服务器调用处理器执行三个主要过程:(1)处理肮脏调用;(2)处理输入(incoming)清除调用;和(3)启动垃圾收集循环以在适当的时候回收资源。
(ⅰ)肮脏调用
图2是过程200的流程图,其中MI组件的服务器调用处理器用该过程来处理MI软件组件管理的参考资源的请求,即,肮脏调用。这些请求来自分布式处理系统中的MI组件的应用调用处理器,包括相同MI组件的应用调用处理器作为处理请求的服务器调用处理器。
首先,服务器调用处理器接收肮脏调用(步骤210)。服务器调用处理器确定可接受的准许周期(步骤220)。准许周期可于请求的租用日期或一些其他时间周期相同。服务器调用处理器根据大量条件(包括所请求的资源量和前面对于相同资源准许的其他准许周期数)确定适当的准许周期。
当服务器调用处理器确定不分配资源用于参考肮脏调用(步骤230),服务器调用处理器分配所需的资源(步骤240)。
于是,服务器调用处理器递增与肮脏调用的参考相对应的参考计数(步骤250),设定用于参考资源结合的可接受准许周期(步骤260)和以准许周期把返回调用发送到应用调用处理器(步骤270)。通过这种方法,服务器调用处理器控制关于在它的控制下的资源参考的输入肮脏调用。
应用可通过在当前租用期满之前请求延长而发送肮脏调用来延长租用。如过程200所示,将延长租用的请求视为如同初始请求租用。延长只意味着在一些附加时间间隔内不回收资源,除非参考计数到零。
(ⅱ)清除调用
MI组件的服务器调用处理器还处理来自应用调用处理器的输入清除调用。当在分布式处理系统中的应用不再要求参考资源时,它通知管理所参考的资源的MI组件,从而可回收资源来重新使用。图3是带有MI组件的服务器调用处理器用来处理清除调用的步骤的过程300的流程图。
当服务器调用处理器接收带有MI组件管理的资源参考的清除调用时(步骤310),服务器调用处理器递减相应的参考计数(步骤320)。可把清除调用发送到该资源,同时服务器调用处理器监视资源并执行过程300来处理调用。结果,服务器调用处理器将返回调用发送到MI组件,它发送清除调用以确认接收(步骤330)。根据本发明的实施方法,不能重新使用丢失参考的清除调用,但是必须确认它。
(ⅲ)垃圾收集
服务器调用处理器还启动垃圾收集循环来回收资源,为此它确定是对该资源不做任何参考还是对于该资源的同意租用日期已期满。如图4所示的过程400包括服务器调用处理器用来启动垃圾收集循环的步骤的流程图。
服务器调用处理器监视参考计数以及准许的租用日期,并确定对于MI组件所管理的资源,参考计数是否为零,或者对于该参考的准许周期是否已期满(步骤410)。当任一条件存在时,服务器调用处理器启动该资源的垃圾收集(步骤420)。否则,服务器调用处理器继续监视参考计数和准许租用日期。
C.调用流程
图5是示出在分布式处理系统中的MI组件之间的调用流程图。管理MI组件525通过监视对那些资源530的参考来管理资源530(参见垃圾收集505)。由于管理MI组件525管理资源,所以管理MI组件525的服务器调用处理器执行该调用流程描述的操作。
图5还分别示出应用510和540具有相应的MI组件515和545。每个应用510和540都获得对一个资源530的参考,并寻求获得访问资源530之一,从而必定对相应的资源做参考。为了获得访问,应用510和540分别调用它们的相应MI组件515和545,以分别将肮脏调用551和571发送到MI组件525。由于MI组件515和525处理应用请求来访问另一个MI组件(诸如,管理MI组件525)管理的资源530,所以MI组件515和545的应用调用处理器执行该调用流程描述的操作。
响应于肮脏调用551和571,管理MI组件525分别把返回调用552和572发送到每个MI组件515和545。肮脏调用包括用于肮脏调用551和571的参考的准许租用日期。
类似地,图5还示出MI组件515和545,它们分别把清除调用561和581发送到管理MI组件525。清除调用561和581通知管理MI组件525应用510和540分别不再请求访问在清除调用561和581规定的资源。管理MI组件525分别以返回调用562和582响应于清除调用561和581。返回调用562和582与返回调用552和572的不同之处在于返回调用562和582是来自接收到的清除调用561和581的M1组件525的简单确认。
应用510和540都请求访问相同的资源。例如,应用510可请求访问“RESOURCE(1)”,同时前面准许应用540访问该资源。MI组件525通过在同意的租用日期内使该资源对应用510和540都可用来处理这种情况。于是,MI组件525将不启动垃圾收集循环来回收“RESOURCE(1)”直至应用510和540都丢下它们对该资源的参考或者最近的同意周期已期满,任何一种情况都首次发生。
通过允许多于一个应用同时访问相同资源,本发明还允许应用在它把清除调用发送到管理MI组件以丢下对资源的参考之后,访问资源。发生这种情况是因为仍由另一个应用参考该资源或者参考的租用还没有期满,从而管理MI组件525还不回收资源。然而,在有限周期之后,或者当不再在任何应用租用或当最后租用期满时,回收资源。
D.MI组件
图6是根据本发明的实施方法的MI组件600的模块的方框图。MI组件600可包括对于上述每个参考监控的参考组件605、应用调用处理器640、服务器调用处理器650和垃圾收集器660。
参考组件605最好用参考数据部分610、参考计数620和准许周期寄存器630构成一张表格或可比较结构。MI组件600将参考计数620和准许周期630用于在相应参考数据部分610中规定的每个参考,来确定何时启动垃圾收集器660回收相应资源。
应用调用处理器640是执行图1中的过程100的步骤的软件模块。服务器调用处理器650是执行图2-4中的过程200、300和400的步骤的软件模块。垃圾收集器660是响应于来自服务器调用处理器650的指令回收资源的软件模块,如上所述。
E.分布式处理系统
图7示出可用来执行本发明的分布式处理系统50。在图7中,分布式处理系统50包括以由网络云(network cloud)55表示的网络结构连接的三个独立和异构平台100、200和300。由图7中的云55表示的网络结构的组合和协议并不重要,只要它允许在平台700、800和900之间进行信息传播。此外,用三个平台仅仅是为了说明而不是将本发明局限于用特定数量的平台。此外,特定为了体现结构对于本发明并不关键。例如,可根据本发明使用的另一种网络体系结果可将一个平台用作所有其他平台连接到其上的网络控制器。
在分布式处理系统50的实施方法中,平台700、800和900中的每个平台都分别包括处理器710、810和910和存储器750、850和950。包括在每个处理器710、810和910中的分别是应用720、820和920;操作系统740、840和940以及MI组件730、830和930。
应用720、820和920可以是前面被写入并修正以根据本发明工作或者特别被写入以利用由本发明提供的服务的程序。应用720、820和920启动操作以根据本发明执行。
MI组件730、830和930对应于参照图6所述的MI组件600。
操作系统740、840和940分别是依靠相应处理器710、810和910的标准操作系统。平台700、800和900可以是异构。例如,平台700具有SunMicrosystem Corp.制造的UltraSparc微处理器作为处理器710,并用Solaris操作系统740。平台800具有由Silicon Graphics Corps制造的MIPS微处理器作为处理器810并用Unix操作系统840。最后,平台900具有由IntelCorp.制造的Pentium微处理器作为处理器910并运用Microsoft Windows95操作系统940。本发明并不局限于此,还可容纳同构平台。
Sun,Sun Microsystem、Solaris、Java和Sun Logo是Sun Microsystems,Inc.在美国和其他国家的商标或已登记商标。许可使用UltraSparc和所有其他SPARC商标,而且是SPARC International Inc.在美国和其他国家的商标。带有SPARC商标的产品是根据Sun Microsystems,Inc.开发的体系结构。
存储器750、850和950具有几个功能,诸如用于相关平台的通用存储器。另一个功能是分别在处理器710、810和910执行之前存储应用720、820和920;MI组件730、830和930以及操作系统740、840和940。此外,存储器部分750、850和850可构成网络50中的所有平台700、800和900可用的共享存储器。
E.MI服务
可用客户/服务器模式实施本发明。客户产生请求,诸如肮脏调用和清除调用,而且服务器响应该请求。
如图7所示的每个MI组件730、830和930最好包括客户组件和服务器组件。图8示出了客户平台100和服务器平台110的方框图,它采用了图7中的平台700、800和900的任意两个。
平台1000和1100分别包括存储器1050和1150以及处理器1010和1110。在平台1000和1100中的元件起到类似于上面参照图7所述的元件的功能。在该例子中,处理器1010执行客户应用1020和处理器1110执行服务器应用1120。处理器1010和1110还分别执行操作系统1040和1140以及MI组件1030和1130。
MI组件1030和1130都包括服务器调用处理器1031和1131;应用调用处理器1032和1132和垃圾收集器1033和1133。每个MI组件1030和1130还包括参考组件,它们分别包含对于各MI组件1030和1130监视的每个参考的参考数据部分1034和1134;参考计数1035和1135以及准许周期寄存器1036和1136。
应用调用处理器1032和1132表示客户服务并分别与表示服务器服务的服务器调用处理器1031和1131进行通信。由于平台1000和1100包括服务器调用处理器、应用调用处理器、垃圾收集器和参考组件,平台可作为客户或服务器。
然而,为了讨论下列情况,平台1000被指定为客户平台和平台1100被指定为服务器平台。在该例子中,客户应用1020获得对分布式资源的参考,并用MI组件1030来把肮脏调用送到由服务器平台1100的MI组件1130管理的资源。
此外,服务器平台1100可执行服务器应用1120。服务器应用1120还可用MI组件1130来发送肮脏调用,其中当MI组件1130管理那些肮脏调用的资源时,可由MI组件1130处理上述肮脏调用。另一方面,服务器应用1120可用MI组件1130来把肮脏调用发送到由MI组件1030管理的资源。
因此,对于客户平台1000的MI组件1030的服务器调用处理器1031、垃圾收集器1033和参考计数1035不是活动的,因此在图8用阴影线表示。同样,服务器平台1100的MI组件1130的应用调用处理器1132也用阴影线表示因为它还处于静止状态。
当客户应用1020获得与资源相对应的参考时,应用调用处理器1032发送服务器调用处理器1131接收到的肮脏调用。肮脏调用包括请求租用日期。服务器调用处理器1131递增对于在肮脏调用中的参考的参考计数1135,并确定准许周期。作为响应,服务器调用处理器1131在准许周期内把返回调用发送到应用调用处理器1030。应用调用处理器1032用准许周期来更新记录的准许周期1035,并确定何时回收与它的肮脏调用相对应的资源。
服务器调用处理器1131还监视与对它管理的资源参考相对应的参考计数和准许周期。当它的参考计数1135之一是零时,或者当对于参考的准许周期1135期满时,无论首先发生哪种情况,服务器调用处理器1131都启动垃圾收集器1133来回收与具有参考计数零或期满准许周期的参考相对应的资源。
根据本发明的实施方法的租用参考方案不要求包含在协议内的平台1000和1100上的时钟同步。该方案只要求它们的可比较周期增加。租用不在特定时刻到期,但是在特定时间间隔之后到期。只要在时间间隔上大致一致,平台1000和1100将对于准许租用日期大致一致。此外,由于对计算机而言,租用时间是很长的,所以时钟速率的微小差别的影响不大或没有影响。
肮脏调用的传输时间可影响协议。如果MI组件1030保持租用参考并等待直至在租用期满之前请求更新,那么租用可在MI组件1130接收请求之前期满。如果是这样的话,MI组件1130可在接收到更新请求之前回收资源。于是,考虑到发送到处理肮脏调用的平台的时间,当发送肮脏调用时,发送者应把时间因子添加到请求的租用日期,从而可在资源租用日期到期之前更新肮脏调用。
F.总结
根据本发明,分布式垃圾收集方案通过提供对应于在分布式处理系统中的资源参考的准许租用日期,保证参考完整性并消除存储漏洞,从而当准许的租用日期到期时,对资源的参考也到期。于是,可收集资源。当在分布式处理系统中的处理参照分配给资源参考的计数器不再参考资源时,还可收集资源。
本发明的另一个实施例如上所述,租用技术与垃圾收集相关。然而,本发明的另一个实施例,如下所述,可与委派证一起使用。
委派证允许一个参与者(actor)(“一个委派者”)具有充分的特权来访问资源以授权另一个参与者(“一个被委派者”)访问该资源,它代表委派者访问该资源。
然而,出于安全的目的,委派者可能不想委派被委派者全权访问该资源以免被委派者故意或不经意地滥用这种特权。于是,委派者可能需要限定被委派者的访问,诸如,所允许的访问类型或所允许的访问时间长度。委派证的租用允许委派者控制和限定被委派者的访问,从而提供附加的安全性。
可租用委派证来访问诸如文件的各种资源。委派的一个例子如下:委派者可具有保密的由文件系统管理器管理的税务文件(tax file)。通过预先的协商,文件系统管理器只准许拥有者(委派者)访问这些文件。然而,拥有者可能需要由税务程序来计算税务,从而拥有者授权税务程序委派被委派者在有限的时间内访问税务文件直至4月15日。因此,拥有者准许税务程序通过委派证准许访问由文件系统管理器控制的文件直至4月15日。这通过租用委派证给税务程序诸如其租用其到4月15日到期。如果税务程序尝试在该日期之后访问该文件,租用期满且文件系统管理器不允许这样做。
租用委派证允许拥有者控制或限定税务程序访问文件。具体地说,税务程序向拥有者请求租用以访问利用文件系统管理器存储的文件便于读取访问直至4月15日。如果准许租用,那么拥有者把委派证发送到税务程序,它指示税务程序有权只读访问拥有者的文件。
文件系统管理器有责任鉴别委派证并确定税务程序的访问类型和长度。税务程序在任何时刻都不能直接改变委派证的内容。然而,税务程序可请求拥有者更新租用(即,如果税务程序需要附加时间来访问文件)或者删除租用(即,如果税务程序的访问在租用时期到期之前完成)。
委派证是证明委派者的身份并具有附在其上的一组对应的权利的对象。特别是,委派证对象包括主标识符(principle identifier),一些证明标识以及权利说明的手段。权利说明包括确定所请求的访问类型和租用持续时间的方法。此外,对象包括删除租用并更新租用的方法。最后,方法也有例外,当访问时,列出为何调用该方法不成功的原因。
该对象是可以多种方法扩展来提供更多功能性的那种例子,但是将基本种类定义如下:interface Lease{
obj FileHandle;
     public void getIdentifier();
     public void getAuthentication();
     public void getAccesstype();
     public void long getDuration();
     public void renew (long renewDuration) throws
           LeaseDeniedException,
           UnknownLeaseException,
           RemoteException;
     public void cancel () throws
           UnknownLeaseException,
           RemoteException
      }
当被委派者与系统管理器进行通信时,主标识符向被委派者呈现委派者的外貌(appearance)。通过任何数量的以资鉴定方法(诸如,公钥,挑战响应(challenge-response)协议或共享秘密技术)来保证标识的完整性。
调用访问类型方法提供委派者允许的那种访问。只要具有委派证的人(委派者、被委派者或文件系统管理器)都可调用这种方法。例如,被委派者将调用该方法来确定允许它从文件系统管理器搜索哪种访问。文件系统管理器将调用该方法来确定允许它准许哪种访问。例如,委派者可能将特殊文件看成只读访问。在这种情况下,文件系统管理器将只允许后来准许的租用只读访问该特殊文件。相反地,文件系统管理器将不允许被委派者尝试写入该存储器位置。
调用持续时间方法提供准许的租用时期长度。该周期代表委派这准许的最新租用。
更新方法允许更新租用,需要更多时间,而不必重新启动原始的租用请求。被委派者希望更新租用的情况包括当证明原始租用是不充分的(即,被委派者需要附加运用存储位置),或者当只准许一部分租用(即,小于所请求的租用)。
此外,更新方法可持续调用,以便于获得速率的租用时期。然而,如果被委派者不具备有效的租用,那么更新方法不能被调用。此外,更新方法没有返回值;如果准许更新,那么性租用时期将在租用对象中反映出来,其中对上述租用对象进行调用。如果委派者不能或不愿意更新租用,在通过更新方法产生的LeaseDeniedException中提到了原因。
当租用仍然有剩余时间但是被委派者不能再希望访问了,那么调用删除方法。例如,如果它想要删除被委派者的访问,那么还可由委派者调用删除方法。于是,例如删除允许回收。相反,一旦租用结束(即,发生自然终止),那么被委派者没有通知义务。
图9示出适于本发明的另一个实施例使用的数据处理系统9000。数据处理系统9000包括连接到因特网9004的计算机系统9002。计算机系统9002包括存储器9010、辅助存储装置9018、中央处理单元(CPU)9024、输入装置9026和视频显示器9022。辅助存储装置9018还包括多个文件9020。存储器9010还包括委派者程序9008、被委派者程序9010和包含文件系统管理器9016的操作系统9014。文件系统管理器9016管理在辅助存储装置9018上的文件9020。被委派者9010通过请求委派者9008租用来请求访问辅助存储装置9018。作为响应,委派者9008可能准许或否定租用,如下所述。如果委派者9008准许被委派者9010租用,那么为被委派者9010将从文件系统管理器9016请求访问辅助存储装置9018。熟悉本技术领域的人员应理解,计算机9000可包括附加或不同的元件。
虽然描述另一个实施例的方面为存储在存储器9010中,但是熟悉本技术领域的人员应理解还可将这些方面存储在其他计算机可读媒体中,诸如辅助存储装置、同硬盘、软盘或CD-ROM;来自因特网9004的载波;或RAM或ROM的其他形式。
图10示出当接收来自被委派者9010的租用请求时由委派者9008执行的步骤的流程图。由委派者执行的第一步骤是请求被委派者以委派者的名义访问资源,诸如文件(步骤10002)。一些时间之后,委派者将接收到来自被委派者的租用请求(步骤10004)。该请求是功能调用,它包括一些参数,有(1)被委派者希望租用的请求文件,(2)所需租用时期,和(3)被委派者所希望的访问类型。
所请求的文件参数包括要租用的文件指示。所需租用时期包括被委派者想利用文件的时间量。所请求的访问类型表示客户请求的访问类型。例如,被委派者可能要求只读访问或写入访问。为了形成有效的请求,被委派者请求必须包括所需文件和所需租用。在接收该请求之后,委派者检查参数来证实请求合法(步骤10006)。
在检查参数之后,委派者确定实际上请求是否适当(步骤10008)。例如,委派者检查所请求文件是否是委派者有能力租用的文件。此外,委派者证实规定一些租用时期。此外,委派者检查是否可用所请求的访问类型。如果委派者确定租用请求是不适当的,那么委派者产生一个例外(步骤10010),而且处理结束。
如果委派者确定租用请求是适当的,那么委派者确定充分的租用时期(步骤10012)。例如,如果请求访问委派者的税务文件,那么委派者可准许租用时期直至4月15日。接着,委派者产生租用对象,并把该对象返回到被委派者(步骤10020)且处理结束。
图11A和11B表示当向委派者9008请求租用时,由被委派者9010执行的步骤的流程图。由潜在的被委派者执行的第一步骤是接收被委派者发出的请求,请求能够代表委派者的名义访问文件(步骤11001)。一些时候以后,被委派者把租用请求发送到委派者(步骤11002)。该请求是一个功能调用,且在图10的步骤10004中描述。
在发送请求之后,被委派者接收来自委派者的租用对象(步骤11004)。租用对象(如上所述)包括主标识符、鉴别方法、访问类型方法、租用持续时间方法、更新方法、删除方法。
接着,被委派者通过检查租用对象,确定是否准许租用(步骤110006)。如果被委派者确定不准许租用,那么被委派者调用例外方法(步骤110008),它允许被委派者确定为何不准许租用。如果被委派者确定不准许租用是因为不适当的请求(步骤11010),那么被委派者重新构成请求(步骤11012),并处理继续直至步骤11002。然而,如果被委派者确定不准许租用是处于不适当请求之外的其他原因,那么处理结束。注意,委派者可准许多次租用相同的文件,因为仲裁实际文件访问最终是文件系统管理器的责任。
如果在步骤11006中被委派者确定委派者准许租用,那么接着被委派者通过发送访问请求向文件系统管理器请求访问文件(步骤11018)。于是,处理继续到步骤图11B中的步骤11020。
在被委派者向文件系统管理器发送访问请求(图11A中的步骤11018)之后,被委派者通过检查租用对象来确定文件系统管理器是否准许被委派者访问文件(步骤11020)。如果被委派者确定文件系统管理器不准许访问,那么被委派者调用包含在文件系统管理器返回的对象中的例外方法,它允许被委派者确定为何不准许访问(步骤11022)。
如果被委派者确定由于不适当的请求而不准许访问(步骤11024),那么处理结束。另一方面,如果请求是适当的,那么被委派者确定是否因为文件系统管理器把文件分配给另一个租用持有者而不准许访问(步骤11026)。如果被委派者确定文件很忙,那么被委派者等待预定的时间(步骤11028)并处理继续到图11A中的步骤11018。如果被委派确定由于一些其他原因而否定对文件的访问,那么处理结束。
如果在步骤11020中被委派者确定文件系统管理器准许被委派者访问文件,那么被委派可访问文件(步骤11030)。接着,被委派者确定它是否完成访问文件(步骤11032)。
如果被委派者的使用完成,那么被委派确定租用是否到期(即,租用不再有效)(步骤11034)。如果租用到期,那么处理结束且在被委派者和文件系统管理器(即,发生自然终止)之间不需要再进行通信。否则,如果租用仍然有效且被委派者调用删除方法(步骤11036)。被委派者通过租用对象访问删除方法。删除方法通知文件系统管理器和委派者被委派者不再对文件感兴趣。因此,删除方法允许文件系统管理器回收文件以供其他租用持有者以快速的方式使用。
如果在步骤11032中被委派者确定它仍然希望访问文件,那么被委派者确定租用是否大约要到期(步骤11038)。这由被委派通过将租用持续时间和当前时间减去准许租用的时间来获得。通过调用持续时间方法来找到租用持续时间。如果租用不是即将到期,那么被委派者继续访问文件(步骤11030)。
然而,如果租用即将到期(在步骤11038),那么被委派者必须确定是否更新租用(步骤11040)。如果被委派者选择更新租用,那么被委派者对租用对象调用新方法。如果调用更新方法,那么处理继续到图11A中的步骤11002。如果被委派者不更新租用,那么处理结束且在被委派者和文件系统管理器之间没有必须的通信(即,发生自然终止)。
图12示出当被委派者处理9008请求访问文件时由文件系统管理器9016执行的步骤的流程图。由文件系统管理器执行的第一步骤是接收被委派者的访问请求(步骤1202)。在接收到请求之后,文件系统管理器通过租用对象调用主标识符方法和鉴定方法来鉴定被委派者的身份(步骤1203)。如果文件系统管理器确定被委派者缺乏适当的身份来访问文件(步骤1204),那么文件系统管理器产生一个例外(步骤1206)且处理结束。
如果文件系统管理器在步骤1204中确定被委派人的身份是真实的,那么文件系统调用getAccess型方法(步骤1208)。通过调用getAccess型方法,文件系统管理器能够确定被委派人希望的访问类型。接着,文件系统管理器确定该文件对于所请求的访问类型是否可用(步骤1210)。如果文件系统管理器确定该文件不可用,那么文件系统管理器产生一个例外(步骤1206)且处理结束。
如果文件系统管理器确定该文件可用(步骤1210),那么文件系统管理器调用持续时间方法(步骤1212)。文件系统管理器调用持续时间方法来确定被委派者的租用是否还有剩余时间。如果文件系统管理器确定被委派者的租用仍然有效(步骤1214),那么文件系统管理器准许被委派者访问文件(步骤1218)。在准许被委派者访问文件之后,文件系统管理器返回到步骤1212。
如果文件系统管理器确定租用无效(步骤1214),那么文件系统管理器回收文件(步骤1216)。在回收文件之后,文件系统管理器产生一个例外(步骤1206)且处理结束。
为了说明和描述清楚,呈现本发明的实施方法的上述描述。但并不穷举且不将本发明局限于这里所述的。根据上述教义,修正和改变是可行的,或者可从本发明的实践中获得。例如,所述实施方法包括软件,但是可实施本发明作为硬件和软件组合或单硬件。本发明的范围由权利要求所限定。

Claims (1)

1. 一种在处理系统中的方法,其特征在于,包括下列步骤:
接收来自程序的租用请求,所述租用请求规定资源和请求租用时期;
确定其间所述程序有权访问所述资源的租用时期;和
把委派证发送到所述程序以供所述程序在所述确定租用时期内访问所述资源之用。
CN99805396A 1998-02-26 1999-02-17 在分布式系统中租用委派证的方法、装置和产品 Pending CN1298509A (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,838 US6247026B1 (en) 1996-10-11 1998-03-20 Method, apparatus, and product for leasing of delegation certificates in a distributed system
US09/044,838 1998-03-20

Publications (1)

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

Family

ID=26722055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99805396A Pending CN1298509A (zh) 1998-02-26 1999-02-17 在分布式系统中租用委派证的方法、装置和产品

Country Status (7)

Country Link
US (1) US6247026B1 (zh)
EP (1) EP1062580A1 (zh)
JP (1) JP2002505470A (zh)
KR (1) KR20010041296A (zh)
CN (1) CN1298509A (zh)
AU (1) AU3297299A (zh)
WO (1) WO1999044130A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100587698C (zh) * 2006-05-08 2010-02-03 国际商业机器公司 保护计算机上的租用资源的方法和系统

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792424B1 (en) * 1999-04-23 2004-09-14 International Business Machines Corporation System and method for managing authentication and coherency in a storage area network
US6950874B2 (en) * 2000-12-15 2005-09-27 International Business Machines Corporation Method and system for management of resource leases in an application framework system
US7024662B2 (en) 2001-03-14 2006-04-04 Microsoft Corporation Executing dynamically assigned functions while providing services
US7302634B2 (en) 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
CA2449953A1 (en) * 2001-08-29 2003-03-06 Psinaptic Inc. Distributed networking system for resource-constrained computing devices
US7047213B2 (en) * 2001-10-03 2006-05-16 International Business Machines Corporation Method for purging abandoned shopping carts from an electronic commerce web site
JP4186456B2 (ja) * 2001-11-28 2008-11-26 沖電気工業株式会社 分散ファイル共有システムおよびその制御方法
US7367044B2 (en) * 2002-06-14 2008-04-29 Clink Systems, Ltd. System and method for network operation
US9886309B2 (en) * 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
US7428751B2 (en) * 2002-12-05 2008-09-23 Microsoft Corporation Secure recovery in a serverless distributed file system
US8234517B2 (en) 2003-08-01 2012-07-31 Oracle International Corporation Parallel recovery by non-failed nodes
US7139772B2 (en) 2003-08-01 2006-11-21 Oracle International Corporation Ownership reassignment in a shared-nothing database system
US7277897B2 (en) 2003-08-01 2007-10-02 Oracle International Corporation Dynamic reassignment of data ownership
US7120651B2 (en) 2003-08-01 2006-10-10 Oracle International Corporation Maintaining a shared cache that has partitions allocated among multiple nodes and a data-to-partition mapping
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US7366740B2 (en) * 2004-05-03 2008-04-29 Microsoft Corporation Systems and methods for automatic maintenance and repair of enitites in a data model
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
TWI298128B (en) * 2005-10-20 2008-06-21 Ind Tech Res Inst Method and system for managing distributed storage of digital contents
JP4854000B2 (ja) * 2005-11-02 2012-01-11 株式会社日立ソリューションズ 機密ファイル保護方法
KR100785782B1 (ko) * 2005-11-17 2007-12-18 한국전자통신연구원 권한위임 시스템 및 방법
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
KR100714124B1 (ko) * 2006-02-21 2007-05-02 한국전자통신연구원 사용자 동의 정보를 이용한 증명서 발급 장치 및 방법
US7941801B2 (en) * 2006-03-07 2011-05-10 Oracle America Inc. Method and system for provisioning a virtual computer and scheduling resources of the provisioned virtual computer
US8185960B1 (en) 2006-07-27 2012-05-22 Qlogic, Corporation System and method for managing access to adapter features
US20090063240A1 (en) * 2007-08-30 2009-03-05 Oracle International Corporation Routing transactions in a multiple job environment using an approval framework
US8321919B2 (en) * 2007-09-05 2012-11-27 Oracle International Corp. Framework for delegating roles in human resources ERP systems
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US8612977B2 (en) * 2008-02-01 2013-12-17 International Business Machines Corporation Wake-and-go mechanism with software save of thread state
US8452947B2 (en) * 2008-02-01 2013-05-28 International Business Machines Corporation Hardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms
US7987163B2 (en) * 2008-02-12 2011-07-26 Bae Systems Information And Electronic Systems Integration Inc. Apparatus and method for dynamic web service discovery
US8402508B2 (en) * 2008-04-02 2013-03-19 Microsoft Corporation Delegated authentication for web services
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
US20110022662A1 (en) 2009-07-23 2011-01-27 International Business Machines Corporation Event triggered notifications for collaborative processes
US8990898B2 (en) 2012-02-16 2015-03-24 Citrix Systems, Inc. Connection leasing for hosted services
US10430577B2 (en) * 2014-05-30 2019-10-01 Apple Inc. Method and apparatus for inter process privilige transfer
US9396089B2 (en) 2014-05-30 2016-07-19 Apple Inc. Activity tracing diagnostic systems and methods
US9923896B2 (en) * 2014-11-24 2018-03-20 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Providing access to a restricted resource via a persistent authenticated device network
US11416305B2 (en) 2016-08-24 2022-08-16 Improbable Worlds Limited Commands for simulation systems and methods
US11087047B2 (en) 2016-08-24 2021-08-10 Improbable Worlds Ltd Scalable update propagation via query aggregations and connection migrations
US10878146B2 (en) 2016-08-24 2020-12-29 Improbable Worlds Ltd Handover techniques for simulation systems and methods
US10643010B2 (en) 2016-08-24 2020-05-05 Improbable Worlds Ltd Scalable simulation system with scalable data propagation
US10025892B2 (en) 2016-08-24 2018-07-17 Improbable Worlds Ltd Simulation systems and methods
US10579434B2 (en) 2016-08-24 2020-03-03 Improbable Worlds Ltd Simulation systems and methods using query-based interest
US10380282B2 (en) 2016-08-24 2019-08-13 Improbable Worlds Ltd Distributable and customizable load-balancing of data-associated computation via partitions and virtual processes
WO2019081911A1 (en) * 2017-10-27 2019-05-02 Improbable Worlds Ltd. TRANSFER TECHNIQUES FOR SIMULATION SYSTEMS AND METHODS

Family Cites Families (125)

* 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
ATE151183T1 (de) 1989-02-24 1997-04-15 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
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
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
US5218699A (en) 1989-08-24 1993-06-08 International Business Machines Corporation Remote procedure calls in heterogeneous systems
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
ATE154850T1 (de) 1990-09-17 1997-07-15 Cabletron Systems Inc Netzwerkverwaltungssystem mit modellbasierter intelligenz
JPH0799497B2 (ja) 1990-12-14 1995-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション ソフトウェアの使用を管理するための装置及び方法
IE910553A1 (en) 1991-02-19 1992-08-26 Tolsys Ltd Improvements in and relating to stable memory circuits
EP0501610B1 (en) 1991-02-25 1999-03-17 Hewlett-Packard Company Object oriented distributed computing system
EP0501613A3 (en) 1991-02-28 1993-09-01 Hewlett-Packard Company Heterogeneous software configuration management apparatus
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
US5353343A (en) * 1992-04-30 1994-10-04 Rockwell International Corporation Telephonic switching system with a user controlled data memory access system and method
US5412717A (en) 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
EP0930566A3 (en) 1992-07-06 2006-07-05 Microsoft Corporation Method and system for composing objects
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
DE69309485T2 (de) 1992-11-13 1997-07-10 Microsoft Corp Verfahren zur verteilung von schnittstellenzeigern fur fernprozeduranrufe
US5515536A (en) 1992-11-13 1996-05-07 Microsoft Corporation Method and system for invoking methods of an object through a dispatching interface
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
EP0613083B1 (en) 1993-02-25 2002-01-23 Sun Microsystems, Inc. Transaction management in object oriented systems
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
ATE248402T1 (de) 1993-07-16 2003-09-15 Siemens Ag 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
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
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
DE69521977T2 (de) 1994-12-13 2002-04-04 Ibm Verfahren und System zur gesicherten Programmenverteilung
US5630066A (en) 1994-12-20 1997-05-13 Sun Microsystems, Inc. System and method for locating object view and platform independent object
US5872928A (en) 1995-02-24 1999-02-16 Cabletron Systems, Inc. Method and apparatus for defining and enforcing policies for configuration management in communications networks
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
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
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
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
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
US5790548A (en) 1996-04-18 1998-08-04 Bell Atlantic Network Services, Inc. Universal access multimedia data network
US5815709A (en) 1996-04-23 1998-09-29 San Microsystems, Inc. System and method for generating identifiers for uniquely identifying object types for objects used in processing of object-oriented programs and the like
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
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
US5835737A (en) 1996-05-10 1998-11-10 Apple Computer, Inc. Method and apparatus for arbitrating access to selected computer system devices
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
JP3488019B2 (ja) 1996-06-17 2004-01-19 株式会社山武 制御設計用コンフィギュレーション・ツールの部品再利用方法
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
US5991823A (en) 1996-06-26 1999-11-23 Sun Microsystems, Inc. Low overhead object adaptor
US6044409A (en) 1996-06-26 2000-03-28 Sun Microsystems, Inc. Framework for marshaling and unmarshaling argument object references
US5727145A (en) 1996-06-26 1998-03-10 Sun Microsystems, Inc. Mechanism for locating objects in a secure fashion
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
US5860004A (en) 1996-07-03 1999-01-12 Sun Microsystems, Inc. Code generator for applications in distributed object systems
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
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
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
US6009103A (en) 1997-12-23 1999-12-28 Mediaone Group, Inc. Method and system for automatic allocation of resources in a network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100587698C (zh) * 2006-05-08 2010-02-03 国际商业机器公司 保护计算机上的租用资源的方法和系统

Also Published As

Publication number Publication date
JP2002505470A (ja) 2002-02-19
WO1999044130A1 (en) 1999-09-02
EP1062580A1 (en) 2000-12-27
KR20010041296A (ko) 2001-05-15
AU3297299A (en) 1999-09-15
US6247026B1 (en) 2001-06-12

Similar Documents

Publication Publication Date Title
CN1298509A (zh) 在分布式系统中租用委派证的方法、装置和产品
CN100338543C (zh) 文件服务器和用于操作文件服务器的方法
CN1298503A (zh) 分布式系统中的动态查找服务
US5758069A (en) Electronic licensing system
US6263350B1 (en) Method and system for leasing storage
CN1284099C (zh) 电子钥匙系统以及电子钥匙使用方法
JP5428668B2 (ja) ライセンス管理サーバ、ライセンス管理方法およびプログラム
CN1564980A (zh) 备份恢复系统及权限管理服务器
CN1156285A (zh) 从一个主登记向多个外部登记传播明码口令
CN1701332A (zh) 在发布/预订系统中处理警告和审计的方法、设备和计算机程序
CN1156861A (zh) 通过多个外部登记从主登记检索明码口令
CN1298512A (zh) 基于堆栈的访问控制
CN1467671A (zh) 内容发布系统及相关装置、方法、记录媒体或程序
CN1111800C (zh) 管理共享资源的装置和方法
CN1177152A (zh) 对一个存储文件的若干文件拷贝进行协调的方法
CN1924812A (zh) 用于i/o适配器的方法和装置
CN1113292C (zh) 可由多个用户单元同时使用的程序进行的访问控制的方法
US6728737B2 (en) Method and system for leasing storage
CN1290024C (zh) 用于实现协同处理的装置和方法
CN1532744A (zh) 服务处理装置、服务处理系统和服务处理系统的元数据保管方法
CN1154054C (zh) 对不同文件锁定协议强制实施统一文件锁定的方法及文件服务器
CN1292115A (zh) 分布系统中动态验证信息的装置和方法
CN1829986A (zh) 负载分配系统和方法
CN110661822B (zh) 一种去中心的分布式数据存储方法
JP2001290781A (ja) ネットワークを介したコンテンツ共同作成支援方法及びシステム及びネットワークを介したコンテンツ共同作成支援プログラムを格納した記憶媒体

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