← Back to Patent Explorer
US5761677A Expired / Lapsed US ⏱️ 0.0 years remaining

Computer system method and apparatus providing for various versions of a file without requiring data copy or log operations

Assignee: Oracle America Inc
•
Filing: 1996-01-03
•
Granted: 1998-06-02
•
Expires: 2016-01-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Various versions of a computer file are provided without requiring copying the file or logging changed data, so that the files have consistent user data. A program module responds to a system call argument and allocates another node in file system tables and copies metadata information from the old node into the new node, so that both nodes contain the same data block allocation information. Portions of the module set shadow pointers in the old node to point to the new node, and in the new node to point to the old node. Changes to data are made with respect to the new node and fresh physical data blocks are allocated for the changed blocks. A method includes the steps of allocating a new node for storing file allocation information for another version of an existing file; logically connecting the new node to the existing node for file name and other purposes; and replacing node identification information in the directory with the new mode identification. In other steps the method replaces the current node identification information of a file in the directory with previous node identification information obtained from the current node; and logically disconnects the current node from the previous node.

Inventors

  • 👤 Steven T. Senator
  • 👤 Billy J. Fuller

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 21:43
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1402; G06F11/1415; G06F11/1435; G06F16/00; G06F16/10; G06F16/18; G06F16/1865; G06F16/1873; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99938; Y10S707/99951; Y10S707/99952; Y10S707/99953; Y10S707/99954

Claims Analysis

Total Claims: 32
Claim 1
Independent Claim 135 words
In a computer having an operating system including a file system, for executing an application program, a method of consistently storing user data from said application program into said file system comprising the computer implemented steps of: A) receiving from said application program, an argument indicating that a version of an existing file is to be created; B) allocating a version index structure; C) copying from an original index structure into said version index structure, file storage block allocation information; D) connecting said version index structure to said original index structure of said existing file; and E) resetting a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure.
Claim 2
Dependent Claim 135 words
In a computer having an operating system including a file system, for executing an application program, a method of consistently storing user data from said application program into said file system comprising the computer implemented steps of: A) receiving from said application program, an argument indicating that a version of an existing file is to be created; B) allocating a version index structure; C) copying from an original index structure into said version index structure, file storage block allocation information; D) connecting said version index structure to said original index structure of said existing file; and E) resetting a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure.
Claim 3
Dependent Claim 62 words
The method of claim 1 further comprising the computer implemented steps of: F) receiving from said application program, changes to said existing file; G) allocating a fresh block of storage for storing said changes to said existing file; H) recording fresh block allocation information in said version index structure; and J) recording said changes to said existing file in said fresh block.
Claim 4
Dependent Claim 84 words
The method of claim 1 further comprising the computer implemented steps of: K) receiving from said application program, an argument indicating that a version of an existing file is to be removed from said file system; L) reconnecting said record of said name of said existing file to said original index structure and disconnecting said record of said name of said existing file from said version index structure; and M) disconnecting said version index structure from said original index structure of said existing file.
Claim 5
Dependent Claim 56 words
The method of claim 1 further comprising the computer implemented steps of: N) receiving from said application program, an argument indicating that an original of an existing file is to be removed while retaining said version of said existing file; and O) disconnecting said version index structure from said original index structure of said existing file.
Claim 6
Dependent Claim 55 words
The method of claim 1 wherein the connecting of step D) further comprises the steps of: Dl) setting a next pointer value in said original index structure to a value of said version index structure; and D2) setting a back pointer value in said version index structure to a value of said original index structure.
Claim 7
Dependent Claim 167 words
Apparatus in a computer having a processor, a plurality of storage devices, an operating system and a file system, for consistently storing user data from an application program into a file system, said apparatus comprising: a version module in said operating system having an input for receiving from said application program, an argument indicating that a version of an existing file is to be created; a first portion of said version module allocating a version index structure; a second portion of said version module copying from an original index structure into said version index structure, file storage block allocation information; a third portion of said version module connecting said version index structure to an original index structure of said existing file; and a fourth portion of said version module resetting a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure.
Claim 8
Dependent Claim 167 words
Apparatus in a computer having a processor, a plurality of storage devices, an operating system and a file system, for consistently storing user data from an application program into a file system, said apparatus comprising: a version module in said operating system having an input for receiving from said application program, an argument indicating that a version of an existing file is to be created; a first portion of said version module allocating a version index structure; a second portion of said version module copying from an original index structure into said version index structure, file storage block allocation information; a third portion of said version module connecting said version index structure to an original index structure of said existing file; and a fourth portion of said version module resetting a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure.
Claim 9
Dependent Claim 97 words
The apparatus of claim 6 further comprising: a rollback module in said operating system having an input for receiving from said application program, an argument indicating that a version of an existing file is to be deleted; a first portion of said rollback module reconnecting said record of said name of said existing file to said original index structure and disconnecting said record of said name of said existing file from said version index structure; and a second portion of said rollback module disconnecting said version index structure from said original index structure of said existing file.
Claim 10
Dependent Claim 62 words
The apparatus of claim 6 further comprising: a deletion module in said operating system for receiving from said application program, an argument indicating that an original of an existing file is to be removed while retaining said version of said existing file; a portion of said deletion module disconnecting said version index structure from said original index structure of said existing file.
Claim 11
Dependent Claim 56 words
The apparatus of claim 6 wherein said third portion of said version module further comprises: a pointer portion for setting a next pointer value in said original index structure to a value of said version index structure and setting a back pointer value in said version index structure to a value of said original index structure.
Claim 12
Dependent Claim 134 words
A computer program storage medium readable by a computer and encoding a computer program of instructions for consistently storing user data from an application program into a file system, said computer program comprising the steps of: A) receiving from said application program, an argument indicating that a version of an existing file is to be created; B) allocating a version index structure and copying from an original index structure into said version index structure, file storage block allocation information; C) connecting said version index structure to said original index structure of said existing file; and D) resetting a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure.
Claim 13
Dependent Claim 134 words
A computer program storage medium readable by a computer and encoding a computer program of instructions for consistently storing user data from an application program into a file system, said computer program comprising the steps of: A) receiving from said application program, an argument indicating that a version of an existing file is to be created; B) allocating a version index structure and copying from an original index structure into said version index structure, file storage block allocation information; C) connecting said version index structure to said original index structure of said existing file; and D) resetting a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure.
Claim 14
Dependent Claim 67 words
The computer program storage medium of claim 10 wherein said computer program further comprises the steps of: E) receiving from said application program, changes to said existing file; F) allocating a fresh block of storage for storing said changes to said existing file; G) recording fresh block allocation information in said version index structure; and I) recording said changes to said existing file in said fresh block.
Claim 15
Dependent Claim 89 words
The computer program storage medium of claim 10 wherein said computer program further comprises the steps of: J) receiving from said application program, an argument indicating that a version of an existing file is to be removed from said file system; K) reconnecting said record of said name of said existing file to said original index structure and disconnecting said record of said name of said existing file from said version index structure; and L) disconnecting said version index structure from said original index structure of said existing file.
Claim 16
Dependent Claim 61 words
The computer program storage medium of claim 10 wherein said computer program further comprises the steps of: M) receiving from said application program, an argument indicating that an original of an existing file is to be removed while retaining said version of said existing file; and L) disconnecting said version index structure from said original index structure of said existing file.
Claim 17
Dependent Claim 62 words
The computer program storage medium of claim 10 wherein said connecting of step C) of said computer program further comprises the steps of: C1) setting a next pointer value in said original index structure to a value of said version index structure; and C2) setting a back pointer value in said version index structure to a value of said original index structure.
Claim 18
Dependent Claim 161 words
A computer program product comprising: a computer useable medium having computer readable code embodied therein for consistently storing user data from an application program into a file system, said computer program product comprising: computer readable program code devices configured to receive from said application program, an argument indicating that a version of an existing file is to be created; computer readable program code devices configured to allocate a version index structure; computer readable program code devices configured to copy from an original index structure into said version index structure, file storage block allocation information; computer readable program code devices configured to connect said version index structure to an original index structure of said existing file; and computer readable program code devices configured to reset a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure.
Claim 19
Dependent Claim 161 words
A computer program product comprising: a computer useable medium having computer readable code embodied therein for consistently storing user data from an application program into a file system, said computer program product comprising: computer readable program code devices configured to receive from said application program, an argument indicating that a version of an existing file is to be created; computer readable program code devices configured to allocate a version index structure; computer readable program code devices configured to copy from an original index structure into said version index structure, file storage block allocation information; computer readable program code devices configured to connect said version index structure to an original index structure of said existing file; and computer readable program code devices configured to reset a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure.
Claim 20
Dependent Claim 63 words
The computer program product of claim 15 further comprising: computer readable code devices configured to receive from said application program, an argument indicating that an original of an existing file is to be removed while retaining said version of said existing file; and computer readable code devices configured to disconnect said version index structure from said original index structure of said existing file.
Claim 21
Dependent Claim 92 words
The computer program product of claim 15 further comprising: computer readable code devices configured to receive from said application program, an argument indicating that a version of an existing file is to be deleted; computer readable code devices configured to reconnect said record of said name of said existing file to said original index structure and disconnecting said record of said name of said existing file from said version index structure; and computer readable code devices configured to disconnect said version index structure from said original index structure of said existing file.
Claim 22
Dependent Claim 53 words
The computer program product of claim 15 further comprising: computer readable pointer code devices configured to set a next pointer value in said original index structure to a value of said version index structure and setting a back pointer value in said version index structure to a value of said original index structure.
Claim 23
Dependent Claim 186 words
In a computer having an operating system including a file system, for executing an application program, a method of consistently storing user data from said application program into said file system comprising the computer implemented steps of: A) receiving from said application program, an argument indicating that a version of an existing file is to be created; B) allocating a version index structure; C) copying from an original index structure into said version index structure, file storage block allocation information; D) connecting said version index structure to said original index structure of said existing file; E) resetting a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure; wherein the connecting of step D) further comprises the steps of: D1) setting a next pointer value in said original index structure to a numerical value of said version index structure; and D2) setting a back pointer value in said version index structure to a numerical value of said original index structure.
Claim 24
Dependent Claim 186 words
In a computer having an operating system including a file system, for executing an application program, a method of consistently storing user data from said application program into said file system comprising the computer implemented steps of: A) receiving from said application program, an argument indicating that a version of an existing file is to be created; B) allocating a version index structure; C) copying from an original index structure into said version index structure, file storage block allocation information; D) connecting said version index structure to said original index structure of said existing file; E) resetting a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure; wherein the connecting of step D) further comprises the steps of: D1) setting a next pointer value in said original index structure to a numerical value of said version index structure; and D2) setting a back pointer value in said version index structure to a numerical value of said original index structure.
Claim 25
Dependent Claim 187 words
In a computer having a unix operating system including a file system, for executing an application program, a method of consistently storing user data from said application program into said file system comprising the computer implemented steps of: A) receiving from said application program, a system call argument indicating that a version of an existing file is to be created; B) allocating a version index structure; C) copying from an original index structure into said version index structure, file storage block allocation information; D) connecting said version index structure to said original index structure of said existing file; E) resetting a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure; wherein the connecting of step D) further comprises the steps of: Dl) setting a next pointer value in said original index structure to a value of said version index structure; and D2) setting a back pointer value in said version index structure to a value of said original index structure.
Claim 26
Dependent Claim 187 words
In a computer having a unix operating system including a file system, for executing an application program, a method of consistently storing user data from said application program into said file system comprising the computer implemented steps of: A) receiving from said application program, a system call argument indicating that a version of an existing file is to be created; B) allocating a version index structure; C) copying from an original index structure into said version index structure, file storage block allocation information; D) connecting said version index structure to said original index structure of said existing file; E) resetting a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure; wherein the connecting of step D) further comprises the steps of: Dl) setting a next pointer value in said original index structure to a value of said version index structure; and D2) setting a back pointer value in said version index structure to a value of said original index structure.
Claim 27
Dependent Claim 244 words
Apparatus in a computer having a processor, a plurality of storage devices, an operating system and a file system, for consistently storing user data from an application program into a file system, said apparatus comprising: a version module in said operating system having an input for receiving from said application program, an argument indicating that a version of an existing file is to be created; a first portion of said version module allocating a version index structure; a second portion of said version module copying from an original index structure into said version index structure, file storage block allocation information; a third portion of said version module connecting said version index structure to an original index structure of said existing file; a fourth portion of said version module resetting a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure; and said third portion of said version module further comprising a pointer portion for setting a next pointer value in said original index structure to a value of said version index structure and setting a back pointer value in said version index structure to a value of said original index structure, said pointer portion setting a numerical value as said value of said version index structure and a numerical value as said value of said original index structure.
Claim 28
Dependent Claim 244 words
Apparatus in a computer having a processor, a plurality of storage devices, an operating system and a file system, for consistently storing user data from an application program into a file system, said apparatus comprising: a version module in said operating system having an input for receiving from said application program, an argument indicating that a version of an existing file is to be created; a first portion of said version module allocating a version index structure; a second portion of said version module copying from an original index structure into said version index structure, file storage block allocation information; a third portion of said version module connecting said version index structure to an original index structure of said existing file; a fourth portion of said version module resetting a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure; and said third portion of said version module further comprising a pointer portion for setting a next pointer value in said original index structure to a value of said version index structure and setting a back pointer value in said version index structure to a value of said original index structure, said pointer portion setting a numerical value as said value of said version index structure and a numerical value as said value of said original index structure.
Claim 29
Dependent Claim 156 words
A computer program storage medium readable by a computer and encoding a computer program of instructions for consistently storing user data from an application program into a file system, said computer program comprising the steps of: A) receiving from said application program, an argument indicating that a version of an existing file is to be created; B) allocating a version index structure and copying from an original index structure into said version index structure, file storage block allocation information; C) connecting said version index structure to said original index structure of said existing file; and D) resetting a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure; said value of said version index structure and said value of said original index structure of said computer process being numerical values.
Claim 30
Dependent Claim 156 words
A computer program storage medium readable by a computer and encoding a computer program of instructions for consistently storing user data from an application program into a file system, said computer program comprising the steps of: A) receiving from said application program, an argument indicating that a version of an existing file is to be created; B) allocating a version index structure and copying from an original index structure into said version index structure, file storage block allocation information; C) connecting said version index structure to said original index structure of said existing file; and D) resetting a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure; said value of said version index structure and said value of said original index structure of said computer process being numerical values.
Claim 31
Dependent Claim 207 words
A computer program product comprising a computer useable medium having computer readable code embodied therein for consistently storing user data from an application program into a file system, said computer program product comprising: computer readable program code devices configured to receive from said application program, an argument indicating that a version of an existing file is to be created; computer readable program code devices configured to allocate a version index structure; computer readable program code devices configured to copy from an original index structure into said version index structure, file storage block allocation information; computer readable program code devices configured to connect said version index structure to an original index structure of said existing file; computer readable program code devices configured to reset a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure; and computer readable pointer code devices configured to set a next pointer value in said original index structure to a numerical value of said version index structure and setting a back pointer value in said version index structure to a numerical value of said original index structure.
Claim 32
Dependent Claim 207 words
A computer program product comprising a computer useable medium having computer readable code embodied therein for consistently storing user data from an application program into a file system, said computer program product comprising: computer readable program code devices configured to receive from said application program, an argument indicating that a version of an existing file is to be created; computer readable program code devices configured to allocate a version index structure; computer readable program code devices configured to copy from an original index structure into said version index structure, file storage block allocation information; computer readable program code devices configured to connect said version index structure to an original index structure of said existing file; computer readable program code devices configured to reset a connection to said original index structure of said existing file from a record of a name of said existing file and connecting said record of said name of said existing file to said version index structure; and computer readable pointer code devices configured to set a next pointer value in said original index structure to a numerical value of said version index structure and setting a back pointer value in said version index structure to a numerical value of said original index structure.

References Cited (Backward Citations)

US4425618A Cited
US4627019A Cited
US4875155A Cited
US4875159A Cited
US5440730A Cited
US5347653A Cited
US5559991A Cited
US5592661A Cited
US5579223A Cited
US5638509A Cited
US5614940A Cited
US5574906A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-06-01 2001-12-01 2002-06-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-06-01 2005-12-01 2006-06-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-06-01 2009-12-01 2010-06-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag