or
Bookmark and Share
Atomic renaming and moving of data files while permitting lock-free look-ups
   
Document Number
US Patent 7349926
Issued Date
March 25, 2008
Link
Inventors
Map
Abstract
Atomic renaming and moving of data files, while permitting lock-free look-ups to the data files, is disclosed. A temporary record may be created within a hash chain encompassing a record for a data file and corresponding to a location of the data file within a computer file system. The temporary record is linked within the hash chain so that the temporary record points to the same records to which the record for the data file points. The record for the data file is renamed with a new name, and/or moved to a new location within the computer file system, and the temporary record is removed from the hash chain. Before the temporary record is removed, look-ups of the data file resolve to the temporary record, the temporary record causing the look-ups to wait until the record for the data file has been renamed and/or moved and the temporary record removed.
Tags:
Description:
Amusing 0%
Clever 0%
Complex 0%
Efficient 0%
Historic 0%
Important 0%
Innovative 0%
Interesting 0%
Practical 0%
Simple 0%
Number of Claims:
15
Comments:
no comments yet
Published
March 25, 2008
Application Number
10/813,470
Filed
March 30, 2004
US Classification
707/200   707/E17.01
Int'l Classification
G06F   17/30   (20060101)  
Examiner
Attorney/Law Firm
USPTO Field of Search
707/1   707/2   707/3   707/4   707/5   707/6   707/7   707/8   707/9   707/10   707/11   707/12   707/13   707/14   707/15   707/16   707/17   707/18   707/19   707/20   707/21  
Related Patents
7395263 - Realtime-safe read copy update with lock-free readers - Owned by International Business Machines Corporation (Armonk, NY)

A technique for realtime-safe detection of a grace period for deferring the destruction of a shared data element until pre-existing references to the data element have been removed. A pair of counters is established for each of one or more processors. A global counter selector determines which counter of each per-processor counter pair is a current counter. When reading a shared data element at a processor, the processor's current counter is incremented. Following counter incrementation, the processor's counter pair is tested for reversal to ensure that the incremented counter is still the current counter. If a counter reversal has occurred, such that the incremented counter is no longer current, the processor's other counter is incremented. Following referencing of the shared data element, any counter that remains incremented is decremented. Following an update to the shared data element wherein a pre-update version of the element is maintained, the global counter selector is switched to establish a new current counter of each per-processor counter pair. The non-current counter of each per-processor counter pair is tested for zero. The shared data element's pre-update version is destroyed upon the non-current counter of each per-processor counter pair being zero.

Claims
Description
About| FAQs| Terms & Disclaimer| Link to Us| Contact Us