专利名称:管理对计算环境对象的访问的利记博彩app
技术领域:
本发明一般地涉及计算环境内的处理,具体地说,涉及管理对计算环境对象的访问。
背景技术:
控制对计算环境的各种对象(如文件、目录等)的访问以便提供安全性并保持数据完整性。在许多计算环境中,在所述控制中使用锁定协议。例如,在分布式文件系统中,通过多个锁来控制对文件系统对象的访问。作为实例,某些锁被用来协调对文件系统内容的缓存,而其他锁被用来协调不同客户机对文件系统对象的访问。
为了提高系统性能,在一个或多个客户机高速缓存中缓存一个或多个锁。因此,确保缓存锁在使用时有效是很重要的。尽管存在缓存协议,但是仍然需要进一步管理缓存锁或其他缓存实体的能力。
发明内容
通过提供一种管理对计算环境对象的访问的方法,解决了现有技术的不足之处并提供了额外的优点。在本发明的一个方面中,提供了一种方法,所述方法包括例如通过与对象对应的缓存实体来禁止对所述计算环境的所述对象的访问;以及通过与所述对象对应的另一个缓存实体来允许对所述对象的访问,其中所述缓存实体和所述另一个缓存实体被同时保持一段时间。
在本发明的进一步的方面中,提供了一种管理对文件系统对象的访问的方法,所述方法包括例如通过所述文件系统的服务器来促进提供与所述文件系统的对象对应的实体的不一致状态;通过所述文件系统的客户机来无效所述对象的一个或多个现有打开以响应所述不一致状态;以及通过所述客户机来允许所述对象的一个或多个其他打开,以响应与由所述服务器提供的所述对象对应的另一个实体,其中至少一个被无效的现有打开和至少一个其他打开同时处于打开状态一段时间。
在本发明的另一个方面中,提供了一种管理对计算环境对象的访问的方法,所述方法包括例如通过所述计算环境的服务器来促进提供与所述计算环境的对象关联的实体的不一致状态;以及通过所述服务器来提供与所述对象关联的另一个实体,其中所述不一致实体和所述另一个实体在一段时间内可被同时访问以便管理对所述对象的访问。
此处还描述并要求保护对应于上述方法的系统和计算机程序产品。
通过本发明的技术实现了其他特征和优点。此处详细描述了本发明的其他实施例和方面,并且它们被看作所要求保护的发明的一部分。
在本说明书结尾处的权利要求书中特别指出并明确要求了被看作本发明的主题。通过以下结合附图的详细说明,本发明的上述和其他目标、特性和优点是显而易见的,这些附图是图1A示出了结合并使用本发明的一个或多个方面的计算环境的一个
具体实施例方式
综述根据本发明的一个方面,提供了一种用于管理对计算环境对象的访问的能力。通过一个与对象对应的缓存实体来禁止对所述对象的访问,同时通过另一个缓存实体来允许对所述对象的访问。所述一个缓存实体和所述另一个缓存实体至少被同时保持某些时间。在一个实例中,所述缓存实体代表控制对所述对象的访问的锁。例如,在文件系统中,文件系统对象的一个或多个现有打开被无效,以响应与变成不一致的所述文件系统对象关联的缓存实体(例如,锁)。但是,虽然至少一个无效的现有打开被保持在无效但是打开状态,通过采用代表所述对象的另一个缓存实体,允许继续所述文件系统对象的一个或多个新的打开。
详细描述参考图1A描述了结合并使用本发明的一个或多个方面的计算环境的一个实施例。计算环境100包括例如通过连接106与另一个计算单元104相连的计算单元102。计算单元包括例如个人计算机、膝上型计算机、工作站、大型机、小型计算机或任何其他类型的计算单元。计算单元102可以是与计算单元104相同类型的单元,也可以是不同类型的单元。将这些单元相连的连接是有线连接或任何类型的网络连接,诸如局域网(LAN)、广域网(WAN)、令牌网、以太网连接、互联网连接等。
在一个实例中,每个计算单元都执行操作系统108,诸如例如由纽约阿蒙克的国际商业机器公司提供的z/OS操作系统;UNIX操作系统;Linux;Windows;或其他操作系统等。某一计算单元的操作系统可以与另一计算单元的操作系统相同或不同。进而,在其他实例中,一个或多个计算单元可能不包括操作系统。
在一个实施例中,计算单元102包括客户端应用(也称为客户机)110,其与计算单元104上的服务器应用(也称为服务器)112相连。客户机110与服务器112在连接应用的TCP/IP链路上通过例如网络文件系统(NFS)协议来通信。进而,在至少一个计算单元上,一个或多个用户应用114正在执行。
在一个特定实施例中,所述环境包括诸如分布式文件系统之类的文件系统(图1B),其中采用存储区域网络116来促进通过高速链路的一个或多个客户机110以及一个或多个服务器112对一个或多个存储设备118的访问。存储区域网络的使用使得能够提供高性能的分布式文件系统,其允许客户机直接从存储设备获得数据,而不是通过代表它们执行读写的服务器来访问数据。但是,所述客户机访问通过一个或多个服务器来协调。
在分布式文件系统中,在客户机计算单元上运行的包括例如用户应用、客户机应用等的应用访问文件系统命名空间,该命名空间例如分布在一个或多个计算单元之间。所述命名空间包括一个或多个可由所述应用访问的文件系统对象。在一个实例中,所述命名空间被组织为树型结构并包括各种类型的对象,诸如例如文件,其包括客户机可以访问的数据;目录,用来组织其他对象;以及符号链接,其是树中的各点,在该处对象的名称查找被重定向。
与文件系统对象关联的是实体,其被用来例如促进对文件系统对象的访问。这些实体被缓存在客户机驻留高速缓存120中以便更快的访问。在一个实施例中,一个或多个应用(例如,用户应用、客户机应用)可以访问缓存实体。
缓存实体具有多种与其关联的属性,包括例如引用计数,其指示多少应用具有实体的句柄;以及有效性指示符,其指定缓存实体是否有效。作为一个实例,在诸如链接式列表200(图2A)之类的数据结构中,所述缓存实体彼此连接。
控制对文件系统对象的访问以维护安全性和数据完整性。下面将描述与管理对文件系统对象的访问关联的逻辑的一个实施例。
首先参考图3,在步骤300,应用请求打开文件系统对象(例如文件)。在一个实例中,在步骤302,应用在客户机计算单元上执行,并且所述打开包括在客户机的高速缓存中执行搜索,搜索与所请求的文件系统对象关联的实体。所述实体用来促进对文件系统对象的访问,并且出于说明目的,在此称为实体X。在查询304,如果所述关联的实体不在高速缓存中,则在步骤306创建所述实体的实例并将其添加到高速缓存中。这包括例如将实体X附加到缓存实体的链接式列表,如202处所示(图2B)。返回图3,此后,在步骤308,递增缓存实体的引用计数,并且在步骤310,计算所述实体的句柄。在一个实例中,这包括确定缓存实体的地址,在步骤312,其作为句柄(例如,句柄Hx)被返回。
返回参考查询304,假如所述高速缓存搜索是成功的,则在步骤308,递增缓存实体的引用计数,并且在步骤310,处理以计算实体句柄继续。这包括打开处理。
在客户机计算单元上执行的一个或多个应用可以请求打开同一文件系统对象。在此情况下,如图4所示,每个应用都可以从客户机获得相同的句柄。如所描述的,应用1-4都接收并使用句柄Hx以便进行处理。
在应用处理期间,在打开文件系统对象时请求诸如读或写操作之类的操作。作为此处理的一部分,对缓存实体的有效性进行检查,这用来促进对文件系统对象的访问。参考图5对与此检查关联的逻辑的一个实施例进行了描述。在步骤500,将被检查有效性的缓存实体是与在打开中返回的对象句柄对应的实体。在一个实例中,此检查包括检查缓存实体的有效性指示符。在查询502,如果实体处于无效状态,则在步骤504返回错误。否则,在步骤506返回成功指示。
在某些点处,缓存实体可能变得不一致。假如其变得不一致,则其被转换成影子实体,如参考图6所描述的。在步骤600,响应于缓存实体变得不一致,在步骤602,在高速缓存中搜索所述缓存实体,例如实体X。在步骤604,从实体的链接式列表删除所述缓存实体。但是,在步骤606,所述实体仍然作为影子实体(即,独立的实体)保留在高速缓存中。例如,所述实体被移动到高速缓存的另一部分并被标记为影子实体。图7示出了这样的一个实例,其中高速缓存700具有影子实体702。此后,在步骤608(图6),高速缓存统计被更新。例如,递减高速缓存的实体计数。
根据本发明的一个方面,任何旧的打开仍然引用这样的实体,所述实体使用它们在打开中接收的句柄,但是任何新的打开都将导致高速缓存未命中(cache miss),因为所述实体不再位于主实体散列表列表(例如,链接式列表)中。因此,所述实体将被引入高速缓存并具有新的句柄。因此,如图7的实例所示,应用1-4仍使用会导致返回错误的句柄Hx(704),但应用5接收允许成功访问的新的句柄NHx(706)。因此,与应用1-4关联的打开被无效,而与应用5关联的打开被允许。所述被无效的打开与被允许的打开同时保持打开状态一段时间(例如,直到不一致的缓存实体被关闭为止)。在应用1-4关闭所述实体之后,所述实体将不再存在,并且具有该实体的应用也不再处于打开状态。
参考图8描述了与关闭缓存实体关联的逻辑的一个实施例。在步骤800,在具有从打开中返回的句柄的实体上执行关闭。在步骤802,递减缓存实体的引用计数。在查询804,如果引用计数不是零,则关闭处理完成。但是,如果引用计数是零,则在查询806,判定其是否是影子实体。如果是,则在步骤808取消分配所述实体。否则,在步骤810,从高速缓存中删除该实体。这结束了所述关闭处理。
以上描述了这样一种能力,其中允许对象的新的打开,而禁止在旧的打开上的操作。其中采用此能力的一个实例具有用于分布式文件系统的锁定机制。例如,文件系统使用分布式锁(在此称为会话锁)在该文件系统的不同客户机之间控制对文件系统对象的访问。在一个实例中,每个客户机都具有每个文件系统对象一个的会话锁,但是该锁可用于多个与该客户机关联的应用。例如,客户机1获得文件系统对象(文件“Foo”)的会话锁(实体X)。该客户机的一个或多个应用使用该锁(通常,隐含地,但是在其他实施例中,可以是显式地)来访问文件(例如,读、写、创建、查找)。以下参考图9A-9B对此进行进一步描述。
在步骤900,当应用请求打开文件系统对象时,在步骤902,将打开请求从所述应用发送到客户机(例如,通过平台相关的可安装文件系统(IFS)发送到平台无关的客户机状态管理器(CSM))。在步骤904,客户机检查其高速缓存以寻找在文件系统对象上的会话锁。在查询906,如果存在缓存命中,则在步骤908将成功返回给客户机。如果不存在,则在步骤910,客户机将请求发送给服务器并且服务器处理该请求。在查询912,如果许可不成功,则在步骤914返回错误。否则,在步骤916,来自服务器的成功响应将文件系统对象上的会话锁授与被请求的客户机。在步骤917,该客户机缓存所述会话锁,并且因此在后续的打开上,客户机在本地返回成功。因此,与运行在同一文件系统对象上的某一客户机关联的不同应用可以具有不同的文件描述符,但只能具有一个会话锁。
在步骤918,客户机将缓存的会话锁的句柄(例如,地址)提供给请求所述打开的应用。此句柄随后用于进一步的处理。
例如,响应于成功的打开,在步骤920(图9B),针对打开的文件系统对象启动一个或多个操作(例如,读、写、查找或其他操作)。对于每个操作,在查询922,检查所述会话锁的有效性。在一个实例中,当与锁关联的租借到期之时,该会话锁可能变成无效。例如,租借是客户机与服务器之间的合同,其中服务器在租借中指定的时间段内保证客户机高速缓存中的数据的正确性。租借可以在其到期之前续租。但是,如果没有续租(例如,由于断开连接、服务器崩溃或任何其他原因),则在租借周期结束时,在租借期间获得的锁被无效。因此,当客户机没有有效的锁时,它不能对缓存的数据进行操作。因此,为了继续操作,在步骤924,客户机向服务器重新标识其自身以便进入新的租借,并尝试重新断言所述无效的锁。如果成功,则在步骤928,由客户机将锁的无效状态更改为有效并且操作继续。类似地,在查询922,如果会话锁有效,则过程继续。
但是,在查询926,如果重新断言不成功,则在步骤930,所述会话锁处于不一致状态。因此,在步骤932,执行各种操作。例如,文件系统对象的任何打开的实例被无效。为了无效打开的实例,客户机通过将缓存的会话锁标记为影子实体、从缓存列表中删除该缓存的会话锁以及将其作为独立实体保留在列表中,使得所述缓存的会话锁成为影子实体。由于所述锁被从缓存列表中删除,现有的对会话锁的引用将得到错误(例如,由于其影子状态),由此使与那些引用关联的打开无效。所述锁在高速缓存中被保持为独立的实体,直到现有的对所述对象的引用被撤消。然后,关闭该实体。但是,对文件(与所述影子实体对应)的新的访问(例如,打开)将创建一个新的缓存实体(例如,新的会话锁),允许新的访问正常继续。即,从客户机的角度,就像第一次访问该锁一样。因此,客户机向服务器发送会话锁请求并且新的会话锁被返回。对该会话锁的新的引用将正确地工作,而对旧锁的引用将得到错误。
优点以上详细描述的是一种用于管理对文件系统对象的访问的能力。虽然文件系统对象的一个或多个现有打开可能被无效,但是允许一个或多个新的打开。在一个实例中,这通过缓存实体来实现,具体地说,通过影子实体来实现。影子实体的使用在最小程度地改变现有设计和/或代码的情况下有利地提供了所需的管理收益。进而,它通过允许访问文件系统对象(尽管一个或多个旧的打开尚未被关闭)提高了系统性能。更进一步地,通过以这种方式维护缓存实体,无需使每个打开都具有一个会话锁实例(其将使客户机高速缓存不必要地增大并难以维护)。
可替代实施例虽然此处给出并详细说明了优选实施例,对相关领域的技术人员显而易见的是,可以做出各种修改、增加、替代等而不偏离本发明的精神,并且因此它们被看作在如以下权利要求限定的本发明的范围之内。
例如,尽管在上述的一个实施例中,一个客户机与一个服务器相连,但是在其他实施例中,一个或多个客户机可以与一个或多个服务器相连或者是它们的任意组合。所述一个或多个客户机可以在一个或多个计算单元上。类似地,所述一个或多个服务器可以在一个或多个计算单元上。进而,所述一个或多个客户机以及一个或多个服务器可以在一个计算单元上。
此外,尽管已经提供了计算环境的实例,但这些只是实例。可以使用其他环境。例如,尽管参考文件系统在此描述了一个实例,但这只是一个实例。本发明的一个或多个方面适用于其他环境。更进一步地,尽管参考会话锁在此描述了一个实例,但是可以代表其他类型的锁或其他类型的资源。所述缓存实体可以不只用于锁定并且可以用于其他目的。作为一个实例,所述缓存实体自身可以是对象的实例。
此外,尽管在上述实施例中,缓存实体变成不一致以响应到期的租借,但是缓存实体为何变成不一致可以有各种其他原因。这些都被认为是所要求保护的发明的一部分。进而,实体的缓存列表可以在除链接式列表以外的其他数据结构中。
更进一步地,请求访问文件系统对象的应用可以是各种应用,包括但并不限于用户应用、客户机应用或任何其他类型的应用。
此处示出的流程图只是实例。在不偏离本发明的精神的情况下,此处所述的这些图或步骤(或操作)可以有多种变化。例如,可以按不同顺序执行步骤,或者可以添加、删除或修改步骤。所有这些变化都被视为要求保护的发明的一部分。
本发明可以被包括在具有例如计算机可用介质的制品(例如,一个或多个计算机程序产品)中。所述介质中包含例如计算机可读程序代码装置或逻辑(例如,指令、代码、命令等),以便提供和促进本发明的功能。所述制品可以被包括为计算机系统的一部分或单独销售。
此外,可以提供至少一个计算机可读的程序存储装置,该装置包含至少一个计算机可执行的指令程序以执行本发明的功能。
本公开的范围包括在此披露的任何新颖特征或这些特征的组合。申请人在此通告,在本申请或从此衍生的任何此类进一步的申请的诉讼期间,可以根据此类特征或特征的组合来构想新的权利要求。具体地说,参考所附的权利要求书,来自从属权利要求的特征可以与独立权利要求的那些特征进行组合,而来自各个独立权利要求的特征可以以任何适当的方式进行组合并且不仅限于所述权利要求书中列出的特定组合。
为了避免疑义,如此处在整个说明书和权利要求书中所使用的,术语“包括”不应被解释为“仅由...组成”。
权利要求
1.一种管理对计算环境对象的访问的方法,所述方法包括通过与对象对应的缓存实体来禁止对所述计算环境的所述对象的访问;以及通过与所述对象对应的另一个缓存实体来允许对所述对象的访问,其中所述缓存实体和所述另一个缓存实体被同时保持一段时间。
2根据权利要求1的方法,其中所述禁止访问响应于所述缓存实体变成不一致。
3.根据权利要求1或2的方法,其中所述缓存实体变成不一致,以响应与所述缓存实体关联的到期租借。
4.根据权利要求2或3的方法,其中所述缓存实体包括与所述对象关联的锁。
5.根据权利要求2、3或4的方法,其中所述禁止包括将所述不一致的缓存实体转换成影子实体。
6.根据权利要求5的方法,其中所述转换包括从缓存实体的数据结构中删除所述不一致的缓存实体以提供独立的缓存实体。
7.根据权利要求6的方法,其中所述转换还包括将所述独立的缓存实体标记为影子实体。
8.根据任一上述权利要求的方法,其中所述禁止包括提供错误以响应采用了与所述缓存实体对应的句柄。
9.根据任一上述权利要求的方法,其中所述允许响应于导致缓存所述另一个缓存实体的高速缓存未命中。
10.根据任一上述权利要求的方法,其中所述允许包括为与所述对象对应的所述另一个缓存实体提供有效的句柄。
11.根据任一上述权利要求的方法,其中所述允许包括由客户机从服务器请求与所述对象对应的实体;由所述服务器向所述客户机提供所请求的实体;以及在所述客户机的高速缓存中缓存所请求的实体,其中所述高速缓存中的所请求的实体是所述另一个缓存实体。
12.根据任一上述权利要求的方法,其中所述禁止包括删除对所述缓存实体的有效访问,并且其中所述允许包括提供对所述另一个缓存实体的有效访问。
13.根据任一上述权利要求的方法,其中所述缓存实体和所述另一个缓存实体位于促进对所述对象的访问的客户机的高速缓存中。
14.根据权利要求13的方法,其中所述缓存实体是所述高速缓存内的影子实体,并且所述另一个缓存实体具有所述高速缓存的数据结构。
15.根据任一上述权利要求的方法,其中所述对象包括文件系统对象。
16.一种管理对文件系统对象的访问的方法,所述方法包括通过所述文件系统的服务器来促进提供与所述文件系统的对象对应的实体的不一致状态;通过所述文件系统的客户机来无效所述对象的一个或多个现有打开以响应所述不一致状态;以及通过所述客户机来允许所述对象的一个或多个其他打开,以响应与由所述服务器提供的所述对象对应的另一个实体,其中至少一个被无效的现有打开和至少一个其他打开同时处于打开状态一段时间。
17.根据权利要求16的方法,其中所述促进包括通过所述服务器来拒绝所述客户机重新断言所述实体的请求,其中所述不一致状态响应于所述拒绝。
18.根据权利要求17的方法,其中所述重新断言的请求响应于所述客户机与所述服务器之间的租借到期。
19.根据权利要求16、17或18的方法,其中所述实体包括锁。
20.一种管理对计算环境对象的访问的方法,所述方法包括通过所述计算环境的服务器来促进提供与所述计算环境的对象关联的实体的不一致状态;以及通过所述服务器来提供与所述对象关联的另一个实体,其中所述不一致实体和所述另一个实体在一段时间内可被同时访问以便管理对所述对象的访问。
21.根据权利要求20的方法,其中所述对象包括文件系统对象,并且所述实体包括与所述文件系统对象对应的锁。
22.根据权利要求20或21的方法,其中所述锁的所述不一致状态响应于与该锁关联的到期租借。
23.一种管理对计算环境对象的访问的系统,所述系统包括用于通过与对象对应的缓存实体来禁止对所述计算环境的所述对象的访问的装置;以及用于通过与所述对象对应的另一个缓存实体来允许对所述对象的访问的装置,其中所述缓存实体和所述另一个缓存实体被同时保持一段时间。
24.根据权利要求23的系统,其中所述禁止访问响应于所述缓存实体变成不一致。
25.根据权利要求23或24的系统,其中所述用于禁止的装置包括用于将所述不一致的缓存实体转换成影子实体的装置。
26.根据权利要求25的系统,其中所述用于转换的装置包括用于从缓存实体的数据结构中删除所述不一致的缓存实体以提供独立的缓存实体的装置。
27.根据权利要求23至26中的任一权利要求的系统,其中所述用于禁止的装置包括用于提供错误以响应采用了与所述缓存实体对应的句柄的装置。
28.根据权利要求23至27中的任一权利要求的系统,其中所述允许响应于导致缓存所述另一个缓存实体的高速缓存未命中。
29.根据权利要求23至28中的任一权利要求的系统,其中所述用于允许的装置包括用于为与所述对象对应的所述另一个缓存实体提供有效的句柄的装置。
30.根据权利要求23至29中的任一权利要求的系统,其中所述用于禁止的装置包括用于删除对所述缓存实体的有效访问的装置,并且其中所述用于允许的装置包括用于提供对所述另一个缓存实体的有效访问的装置。
31.根据权利要求23至30中的任一权利要求的系统,其中所述缓存实体和所述另一个缓存实体位于促进对所述对象的访问的客户机的高速缓存中。
32.根据权利要求31的系统,其中所述缓存实体是所述高速缓存内的影子实体,并且所述另一个缓存实体具有所述高速缓存的数据结构。
33.根据权利要求23至32中的任一权利要求的系统,其中所述对象包括文件系统对象。
34.一种管理对计算环境对象的访问的系统,所述系统包括客户机,所述客户机被配置成通过与对象对应的缓存实体来禁止对所述计算环境的所述对象的访问;以及所述客户机被配置成通过与所述对象对应的另一个缓存实体来允许对所述对象的访问,其中所述缓存实体和所述另一个缓存实体被同时保持一段时间。
35.一种用于管理对文件系统对象的访问的系统,所述系统包括所述文件系统的服务器,所述服务器被配置成促进提供与所述文件系统的对象对应的实体的不一致状态;所述文件系统的客户机,所述客户机被配置成无效所述对象的一个或多个现有打开以响应所述不一致状态;以及所述客户机被配置成允许所述对象的一个或多个其他打开,以响应与由所述服务器提供的所述对象对应的另一个实体,其中至少一个被无效的现有打开和至少一个其他打开同时处于打开状态一段时间。
36.根据权利要求35的系统,其中所述被配置成促进提供不一致状态的服务器拒绝所述客户机重新断言所述实体的请求,其中所述不一致状态响应于所述拒绝。
37.一种管理对计算环境对象的访问的系统,所述系统包括所述计算环境的服务器,所述服务器被配置成促进提供与所述计算环境的对象关联的实体的不一致状态;以及所述服务器被配置成提供与所述对象关联的另一个实体,其中所述不一致实体和所述另一个实体在一段时间内可被同时访问以便管理对所述对象的访问。
38.根据权利要求37的系统,其中所述对象包括文件系统对象,并且所述实体包括与所述文件系统对象对应的锁。
39.根据权利要求38的系统,其中所述锁的所述不一致状态响应于与该锁关联的到期租借。
40.一件制品,所述制品包括至少一个计算机可用介质,所述计算机可用介质具有计算机可读程序代码逻辑以管理对计算环境对象的访问,所述计算机可读程序代码逻辑包括禁止逻辑,所述禁止逻辑通过与对象对应的缓存实体来禁止对所述计算环境的所述对象的访问;以及允许逻辑,所述允许逻辑通过与所述对象对应的另一个缓存实体来允许对所述对象的访问,其中所述缓存实体和所述另一个缓存实体被同时保持一段时间。
41.根据权利要求40的制品,其中所述禁止访问响应于所述缓存实体变成不一致。
42.根据权利要求41的制品,其中所述禁止逻辑包括转换逻辑,所述转换逻辑将所述不一致的缓存实体转换成影子实体。
43.根据权利要求42的制品,其中所述转换逻辑包括删除逻辑,所述删除逻辑从缓存实体的数据结构中删除所述不一致的缓存实体以提供独立的缓存实体。
44.根据权利要求40、41、42或43的制品,其中所述禁止逻辑包括提供逻辑,所述提供逻辑提供错误以响应采用了与所述缓存实体对应的句柄。
45.根据权利要求40至44中的任一权利要求的制品,其中所述允许响应于导致缓存所述另一个缓存实体的高速缓存未命中。
46.根据权利要求40至45中的任一权利要求的制品,其中所述允许逻辑包括提供逻辑,所述提供逻辑为与所述对象对应的所述另一个缓存实体提供有效的句柄。
47.根据权利要求40至46中的任一权利要求的制品,其中所述禁止逻辑包括删除逻辑,所述删除逻辑删除对所述缓存实体的有效访问,并且其中所述允许逻辑包括提供逻辑,所述提供逻辑提供对所述另一个缓存实体的有效访问。
48.根据权利要求40至47中的任一权利要求的制品,其中所述缓存实体和所述另一个缓存实体位于促进对所述对象的访问的客户机的高速缓存中。
49.根据权利要求48的制品,其中所述缓存实体是所述高速缓存内的影子实体,并且所述另一个缓存实体具有所述高速缓存的数据结构。
50.根据权利要求40到49中的任一权利要求的制品,其中所述对象包括文件系统对象。
51.一件制品,所述制品包括至少一个计算机可用介质,所述计算机可用介质具有计算机可读程序代码逻辑以管理对文件系统对象的访问,所述计算机可读程序代码逻辑包括促进逻辑,所述促进逻辑通过所述文件系统的服务器来促进提供与所述文件系统的对象对应的实体的不一致状态;无效逻辑,所述无效逻辑通过所述文件系统的客户机来无效所述对象的一个或多个现有打开以响应所述不一致状态;以及允许逻辑,所述允许逻辑通过所述客户机来允许所述对象的一个或多个其他打开,以响应与由所述服务器提供的所述对象对应的另一个实体,其中至少一个被无效的现有打开和至少一个其他打开同时处于打开状态一段时间。
52.一件制品,所述制品包括至少一个计算机可用介质,所述计算机可用介质具有计算机可读程序代码逻辑以管理对计算环境对象的访问,所述计算机可读程序代码逻辑包括促进逻辑,所述促进逻辑通过所述计算环境的服务器来促进提供与所述计算环境的对象关联的实体的不一致状态;提供逻辑,所述提供逻辑通过所述服务器来提供与所述对象关联的另一个实体,其中所述不一致实体和所述另一个实体在一段时间内可被同时访问以便管理对所述对象的访问。
全文摘要
管理对计算环境对象的访问。通过一个与对象对应的缓存实体来禁止对所述计算环境的所述对象的访问,而通过另一个缓存实体来允许对所述对象的访问。所述缓存实体被同时保持一段时间,但所述一个缓存实体处于影子状态。在一个实例中,所述缓存实体是会话锁并且所述对象是文件系统对象。
文档编号G06F9/46GK1774697SQ200480009759
公开日2006年5月17日 申请日期2004年3月31日 优先权日2003年4月29日
发明者R·阿南塔纳拉亚纳, C·埃弗哈特, V·尤伊里, R·里斯 申请人:国际商业机器公司