Scalable rundown protection for object lifetime management

    公开(公告)号:US07133977B2

    公开(公告)日:2006-11-07

    申请号:US10461755

    申请日:2003-06-13

    IPC分类号: G06F12/16

    CPC分类号: G06F12/0261

    摘要: A system and method for object rundown protection that scales with the number of processors in a shared-memory computer system is disclosed. In an embodiment of the present invention, prior to object rundown, a cache-aware reference count data structure is used to prevent cache-pinging that would otherwise result from data sharing across processors in a multiprocessor computer system. In this data structure, a counter of positive references and negative dereferences, aligned on a particular cache line, is maintained for each processor. When an object is to be destroyed, a rundown wait process is begun, during which new references on the object are prohibited, and the total number of outstanding references is added to an on-stack global counter. Destruction is delayed until the global reference count is reduced to zero. In an embodiment of the invention suited to implementation on non-uniform memory access multiprocessor machines, each processor's reference count is additionally allocated in a region of main memory that is physically close to that processor.

    Scalable rundown protection for object lifetime management
    2.
    发明授权
    Scalable rundown protection for object lifetime management 有权
    可扩展的防范对象生命周期管理

    公开(公告)号:US07571288B2

    公开(公告)日:2009-08-04

    申请号:US11480799

    申请日:2006-07-03

    IPC分类号: G06F12/00

    CPC分类号: G06F12/0261

    摘要: Object rundown protection that scales with the number of processors in a shared-memory computer system is disclosed. Prior to object rundown, a cache-aware reference count data structure is used to prevent cache-pinging that would otherwise result from data sharing across processors in a multiprocessor computer system. In this data structure, a counter of positive references and negative dereferences, aligned on a particular cache line, is maintained for each processor. When an object is to be destroyed, a rundown wait process is begun, during which new references on the object are prohibited, and the total number of outstanding references is added to an on-stack global counter. Destruction is delayed until the global reference count is reduced to zero. In an implementation on non-uniform memory access multiprocessor machines, each processor's reference count is additionally allocated in a region of main memory that is physically close to that processor.

    摘要翻译: 公开了与共享存储器计算机系统中的处理器数量相比较的对象破坏保护。 在对象清除之前,使用缓存感知引用计数数据结构来防止否则会在多处理器计算机系统中的处理器之间的数据共享导致的缓存ping。 在这种数据结构中,为每个处理器维护在特定高速缓存线上对齐的正引用和负解除引用的计数器。 当一个对象被销毁时,就会开始一个破坏的等待过程,在这个过程中,对对象的新引用被禁止,并且未完成引用的总数被添加到一个堆栈全局计数器中。 破坏延迟,直到全局引用计数减少为零。 在非均匀内存访问多处理器机器上的实现中,每个处理器的引用计数额外分配在物理上靠近该处理器的主存储器的区域中。

    Scalable rundown protection for object lifetime management

    公开(公告)号:US20060253655A1

    公开(公告)日:2006-11-09

    申请号:US11480799

    申请日:2006-07-03

    IPC分类号: G06F12/00 G06F13/00

    CPC分类号: G06F12/0261

    摘要: Object rundown protection that scales with the number of processors in a shared-memory computer system is disclosed. Prior to object rundown, a cache-aware reference count data structure is used to prevent cache-pinging that would otherwise result from data sharing across processors in a multiprocessor computer system. In this data structure, a counter of positive references and negative dereferences, aligned on a particular cache line, is maintained for each processor. When an object is to be destroyed, a rundown wait process is begun, during which new references on the object are prohibited, and the total number of outstanding references is added to an on-stack global counter. Destruction is delayed until the global reference count is reduced to zero. In an implementation on non-uniform memory access multiprocessor machines, each processor's reference count is additionally allocated in a region of main memory that is physically close to that processor.

    System and method for managing file names for file system filter drivers
    4.
    发明授权
    System and method for managing file names for file system filter drivers 有权
    用于管理文件系统过滤器驱动程序的文件名的系统和方法

    公开(公告)号:US07444317B2

    公开(公告)日:2008-10-28

    申请号:US10187119

    申请日:2002-06-28

    IPC分类号: G06F17/30

    摘要: Described is a method and system that manages filenames for filter drivers in a file system. The present invention includes a filter manager that handles filename queries from the filter drivers. The filter manager returns a pointer to the requesting filter driver that points to a filename information structure corresponding to the type of filename requested. The filter manager also manages a cache of filename information structures that include information that can be shared among the various filter drivers, amortizing the filename queries for filter drivers. The caching functionality of the filter manager increases the efficiency and reduces the overhead of filename queries within the file system by reducing the number of filename operations required for a file system filter driver to retrieve a desired portion of the filename.

    摘要翻译: 描述了一种管理文件系统中过滤器驱动程序的文件名的方法和系统。 本发明包括处理来自过滤器驱动程序的文件名查询的过滤器管理器。 过滤器管理器返回指向请求的过滤器驱动程序的指针,指向与所请求的文件名类型相对应的文件名信息结构。 过滤器管理器还管理文件名信息结构的缓存,其中包括可以在各种过滤器驱动程序之间共享的信息,为过滤器驱动程序分摊文件名查询。 过滤器管理器的缓存功能通过减少文件系统过滤器驱动程序检索文件名的所需部分所需的文件名操作数来提高文件系统中的文件名查询的效率并减少文件名查询的开销。

    Scalable rundown protection for object lifetime management
    5.
    发明申请
    Scalable rundown protection for object lifetime management 审中-公开
    可扩展的防范对象生命周期管理

    公开(公告)号:US20060200635A1

    公开(公告)日:2006-09-07

    申请号:US11402493

    申请日:2006-04-11

    IPC分类号: G06F12/00

    CPC分类号: G06F12/0261

    摘要: A system and method for object rundown protection that scales with the number of processors in a shared-memory computer system is disclosed. In an embodiment of the present invention, prior to object rundown, a cache-aware reference count data structure is used to prevent cache-pinging that would otherwise result from data sharing across processors in a multiprocessor computer system. In this data structure, a counter of positive references and negative dereferences, aligned on a particular cache line, is maintained for each processor. When an object is to be destroyed, a rundown wait process is begun, during which new references on the object are prohibited, and the total number of outstanding references is added to an on-stack global counter. Destruction is delayed until the global reference count is reduced to zero. In an embodiment of the invention suited to implementation on non-uniform memory access multiprocessor machines, each processor's reference count is additionally allocated in a region of main memory that is physically close to that processor.

    摘要翻译: 公开了一种与共享存储器计算机系统中的处理器数量相比较的对象破坏保护的系统和方法。 在本发明的一个实施例中,在对象清除之前,使用高速缓存感知引用计数数据结构来防止否则将在多处理器计算机系统中的处理器之间的数据共享导致的高速缓存ping。 在这种数据结构中,为每个处理器维护在特定高速缓存线上对齐的正引用和负解除引用的计数器。 当一个对象被破坏时,开始一个等待时间的过程,在该过程中,禁止对对象的新引用,并将未完成引用的总数添加到堆栈中的全局计数器。 破坏延迟,直到全局引用计数减少为零。 在适于在非均匀存储器访问多处理器机器上实现的本发明的实施例中,每个处理器的引用计数额外分配在物理上靠近该处理器的主存储器的区域中。

    Dirty shutdown recovery of file system filters
    6.
    发明授权
    Dirty shutdown recovery of file system filters 有权
    关闭文件系统过滤器的关闭恢复

    公开(公告)号:US07496609B2

    公开(公告)日:2009-02-24

    申请号:US11217986

    申请日:2005-09-01

    IPC分类号: G06F12/00 G06F17/30 G06F17/00

    摘要: File system metadata regarding states of a file system affected by transactions is tracked consistently even in the face of dirty shutdowns which might cause rollbacks in transactions which have already been reflected in the metadata. In order to only request time- and resource-heavy rebuilding of metadata for metadata which may have been affected by rollbacks, reliability information is tracked regarding metadata items. When a metadata item is affected by a transaction which may not complete properly in the case of a problematic shutdown or other event, that metadata item's reliability information indicates that it may not be reliable in case of such a problematic (“dirty” or “abnormal”) event. In addition to flag information indicating unreliability, timestamp information tracking a time of the command which has made a metadata item unreliable is also maintained. This timestamp information can then be used, along with information regarding a period after which the transaction will no longer cause a problem in the case of a problematic event, in order to reset the reliability information to indicate that the metadata item is now reliable even in the face of a problematic event.

    摘要翻译: 即使遇到已经在元数据中反映的事务中可能导致回滚的脏关机,文档系统元数据也会一直被跟踪。 为了仅对请求可能受到回滚影响的元数据的元数据进行时间和资源重型重建,可以跟踪关于元数据项的可靠性信息。 当元数据项目受到可能无法在有问题的关闭或其他事件的情况下可能无法正常完成的事务的影响时,该元数据项的可靠性信息表明在出现这种问题(“肮脏”或“异常”)情况下可能不可靠 “)事件。 除了指示不可靠性的标志信息之外,还保持跟踪使得使元数据项不可靠的命令的时间的时间戳信息。 然后可以使用该时间戳信息以及关于事务不再在有问题的事件的情况下不再导致问题的时间段的信息,以便重置可靠性信息以指示元数据项目现在是可靠的,即使在 面对一个有问题的事件。

    Method and apparatus for dynamically unloading file system filters
    7.
    发明授权
    Method and apparatus for dynamically unloading file system filters 有权
    动态卸载文件系统过滤器的方法和装置

    公开(公告)号:US07318132B2

    公开(公告)日:2008-01-08

    申请号:US10461078

    申请日:2003-06-13

    IPC分类号: G06F12/00

    CPC分类号: G06F17/30067 G06F9/44594

    摘要: The invention provides a system and method for dynamically unloading file system filters in a stacked-call-back model where filters are stacked one on top of the other to form a filter stack. A filter manager keeps track of the progress of each I/O operation and calls each filter in turn with the filter returning after it has completed processing the given operation. The filter manager dynamically unloads a filter (or an instance of a filter) that is positioned at any position in the filter stack in a reasonable amount of time while I/O operations are actively being processed. The filter/filter instance can be unloaded with outstanding I/O operations on the filter either hosted by the filter or pended by other filters. I/O operations are canceled, completed or drained in order to unload the filter or filter instance. A filter may veto the unloading of the filter.

    摘要翻译: 本发明提供一种用于动态卸载堆叠回调模型中的文件系统过滤器的系统和方法,其中过滤器一个在另一个堆叠上以形成过滤器堆栈。 过滤器管理器跟踪每个I / O操作的进度,并在过滤器完成处理给定操作之后依次调用每个过滤器。 过滤器管理器在主动处理I / O操作时,在合理的时间量内动态地卸载位于过滤器堆栈中任何位置的过滤器(或过滤器的实例)。 过滤器/过滤器实例可以在过滤器上托管或由其他过滤器挂起的过滤器上卸载未完成的I / O操作。 为了卸载过滤器或过滤器实例,I / O操作被取消,完成或排出。 过滤器可以否决过滤器的卸载。

    System and method for data migration
    8.
    发明授权
    System and method for data migration 有权
    用于数据迁移的系统和方法

    公开(公告)号:US08065276B2

    公开(公告)日:2011-11-22

    申请号:US11872518

    申请日:2007-10-15

    IPC分类号: G06F17/00

    摘要: A method for concurrent data migration includes classifying files to be migrated into plural jobs, selecting media to which to migrate each job, and using plural drives concurrently to write the jobs to the media. The selection of a medium is performed in a way that prevents the number of writeable media from exceeding the number of available drives, unless no allocated medium has sufficient space to store any files in a migration job. A medium is preferentially selected that has already been allocated for writing, has space to store at least one file in the job, is not in use for another job, and can be robotically mounted on a drive. If such a medium does not exist, then the set of available media is canvassed to locate an alternative medium. The attributes of each medium are evaluated to determine which medium can be selected most consistently with the goals of (1) preventing the number of media from exceeding the number of drives, and (2) providing sufficient media to allow plural drives to be used concurrently. The technique can be embodied in a file management environment that transparently migrates files meeting certain criteria and stores the location of the migrated file in a reparse point provided by the file system.

    摘要翻译: 并行数据迁移的方法包括将要迁移到多个作业的文件进行分类,选择要迁移到每个作业的介质,并且同时使用多个驱动器将作业写入介质。 介质的选择以防止可写入介质数量超过可用驱动器数量的方式执行,除非没有分配的介质具有足够的空间来存储迁移作业中的任何文件。 优先选择已经被分配用于写入的介质,具有在作业中存储至少一个文件的空间,不用于另一作业,并且可以机械地安装在驱动器上。 如果这样的介质不存在,则可以使用该组可用介质来定位替代介质。 对每种介质的属性进行评估,以确定哪种介质最能一致地选择(1)防止介质数量超过驱动器数量,以及(2)提供足够的介质以允许同时使用多个驱动器 。 该技术可以体现在文件管理环境中,该文件管理环境透明地迁移满足某些标准的文件,并将迁移的文件的位置存储在由文件系统提供的重新分析点中。

    Concurrent data recall in a hierarchical storage environment using plural queues
    9.
    发明授权
    Concurrent data recall in a hierarchical storage environment using plural queues 有权
    在使用多个队列的分层存储环境中并发数据调用

    公开(公告)号:US07343446B2

    公开(公告)日:2008-03-11

    申请号:US11083273

    申请日:2005-03-16

    IPC分类号: G06F13/00 G06F13/28 G06F17/30

    摘要: A technique for recalling data objects stored on media. A queue is created for each medium on which data objects are located, where each request to recall a data object is placed on the queue corresponding to the medium on which the data object is located. A queue is “active” when its corresponding medium is mounted and being used for recall; otherwise the queue is “non-active.” A thread is created for each active queue, where the thread retrieves from a medium the requested items on the active queue. When plural drives are available for mounting and reading media, plural queues may be active concurrently, so that the plural queues' respective threads may recall items from the plural media in parallel. Preferably, the requests on each queue are organized in an order such that the offset locations of the requested items form two monotonically increasing sequences.

    摘要翻译: 一种用于调用存储在媒体上的数据对象的技术。 为数据对象所在的每个媒体创建一个队列,其中调用数据对象的每个请求被放置在对应于数据对象所在的媒体的队列上。 当其对应的媒体被安装并被用于召回时,队列是“活动的” 否则队列是“非活动的”。 为每个活动队列创建一个线程,线程从媒体中检索活动队列上的请求的项目。 当多个驱动器可用于安装和读取介质时,多个队列可以并发地激活,使得多个队列的各个线程可以并行地从多个媒体中调用项目。 优选地,每个队列上的请求按照使得所请求的项目的偏移位置形成两个单调递增序列的顺序被组织。

    SYSTEM AND METHOD FOR DATA MIGRATION
    10.
    发明申请
    SYSTEM AND METHOD FOR DATA MIGRATION 有权
    用于数据移动的系统和方法

    公开(公告)号:US20080040393A1

    公开(公告)日:2008-02-14

    申请号:US11872518

    申请日:2007-10-15

    IPC分类号: G06F7/00

    摘要: A method for concurrent data migration includes classifying files to be migrated into plural jobs, selecting media to which to migrate each job, and using plural drives concurrently to write the jobs to the media. The selection of a medium is performed in a way that prevents the number of writeable media from exceeding the number of available drives, unless no allocated medium has sufficient space to store any files in a migration job. A medium is preferentially selected that has already been allocated for writing, has space to store at least one file in the job, is not in use for another job, and can be robotically mounted on a drive. If such a medium does not exist, then the set of available media is canvassed to locate an alternative medium. The attributes of each medium are evaluated to determine which medium can be selected most consistently with the goals of (1) preventing the number of media from exceeding the number of drives, and (2) providing sufficient media to allow plural drives to be used concurrently. The technique can be embodied in a file management environment that transparently migrates files meeting certain criteria and stores the location of the migrated file in a reparse point provided by the file system.

    摘要翻译: 并行数据迁移的方法包括将要迁移到多个作业的文件进行分类,选择要迁移到每个作业的介质,并且同时使用多个驱动器将作业写入介质。 介质的选择以防止可写入介质数量超过可用驱动器数量的方式执行,除非没有分配的介质具有足够的空间来存储迁移作业中的任何文件。 优先选择已经被分配用于写入的介质,具有在作业中存储至少一个文件的空间,不用于另一作业,并且可以机械地安装在驱动器上。 如果这样的介质不存在,则可以使用该组可用介质来定位替代介质。 对每种介质的属性进行评估,以确定哪种介质最可以一致地选择(1)防止介质数量超过驱动器数量,以及(2)提供足够的介质以允许同时使用多个驱动器 。 该技术可以体现在文件管理环境中,该文件管理环境透明地迁移满足某些标准的文件,并将迁移的文件的位置存储在由文件系统提供的重新分析点中。