US6859812B1 - System and method for differentiating private and shared files within a computer cluster - Google Patents

System and method for differentiating private and shared files within a computer cluster Download PDF

Info

Publication number
US6859812B1
US6859812B1 US10/000,663 US66301A US6859812B1 US 6859812 B1 US6859812 B1 US 6859812B1 US 66301 A US66301 A US 66301A US 6859812 B1 US6859812 B1 US 6859812B1
Authority
US
United States
Prior art keywords
computer
shared file
access
copy
private
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.)
Expired - Fee Related, expires
Application number
US10/000,663
Inventor
Todd Allan Poynor
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Priority to US10/000,663 priority Critical patent/US6859812B1/en
Assigned to HEWLETT-PACKARD COMPANY reassignment HEWLETT-PACKARD COMPANY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: POYNOR, TODD ALLAN
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD COMPANY
Application granted granted Critical
Publication of US6859812B1 publication Critical patent/US6859812B1/en
Adjusted expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • 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/99938Concurrency, e.g. lock management in shared database
    • 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/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • 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/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Definitions

  • the present invention relates generally to systems and methods for file management, and more particularly for differentiating private and shared files within a computer cluster.
  • Clustering computers allows such computers to function together as a united functional unit for increased fault tolerance, processing power, and ease of system management.
  • NAS Network-Attached Storage
  • SAN Storage Area Network
  • Such common application programs often consume a substantial amount of disk space on their host computers; and, since running multiple instances of such application programs requires that each application program file be copied to each host computer, many file redundancies result across the cluster. Such file duplication also consumes a substantial amount of network bandwidth and administrative effort each time a new cluster computer is brought into the network or a new application program package is installed on each member of the cluster.
  • the present invention is a system and method for file differentiation.
  • the methods of the present invention includes the steps of: receiving a request from a computer for access to a shared file; providing the computer with access to a computer specific private copy of the shared file, if the private copy already exists; and creating the computer specific private copy of the shared file for the computer to access, if the private copy does not already exist and if write access to the shared file is requested.
  • the methods also in alternate embodiments may include the steps of: providing the computer with access to the shared file, if the private copy does not already exist and if read access to the shared file is requested; and providing the computer with access to the shared file, if the private copy does not already exist and if execute access to the shared file is requested.
  • the methods may also include: attributing a Copy-on-Write (CoW) property to the shared file; and creating the computer specific private copy of the shared file for the computer to access, if CoW property is set to an affirmative state.
  • CoW Copy-on-Write
  • Attributing a private-copy-made property to the shared file searching for the computer specific private copy of the shared file in a private file area reserved for the computer, if the private-copy-made property is set to an affirmative state; and skipping the searching step if the private-copy-made property is set to a negative state.
  • the system and method of the present invention are particularly advantageous over the prior art because explicit and/or manual techniques for file differentiation, used in the prior art, are no longer required.
  • FIG. 1 is a block diagram of a system for differentiating private and shared files within a computer cluster
  • FIG. 2 is a block diagram of a file directory within the system
  • FIGS. 3A and 3B are a flowchart of a method for differentiating private and shared files within a computer cluster.
  • FIG. 4 is a file tree showing an example of a set of shared and private files within the file directory.
  • FIG. 1 is a block diagram of a system 100 for differentiating private and shared files within a computer cluster.
  • Computer-A 102 , computer-B 104 , through computer-n 106 are connected by network 108 and together make up the computer cluster.
  • a network file system server 110 containing a file manager software module 112 , is also connected to the network 108 .
  • a storage device 114 is independently connected to the network file system server 110 .
  • This system 100 hardware configuration is called a Network-Attached Storage (NAS) system, however, those skilled in the art will recognize that the present invention works equally well if embodied within a Storage Area Network (SAN) system.
  • NAS Network-Attached Storage
  • the storage device 114 is a repository for all files need by the computer cluster, including a variety of application programs which each of the computers 102 - 106 may run in support of computation functions within the cluster. File storage, organization, and retrieval within the storage device 114 is controlled by the file manager 112 .
  • FIG. 2 is a block diagram of a storage device 114 file directory 200 within the system 100 .
  • the file directory 200 is partitioned into a shared file area 202 , and a private file 204 area reserved for the cluster computers 102 - 106 on an as needed basis.
  • the private file area 204 includes a computer-A private file area 206 on through a computer-n private file area 206 , where “n” is any number.
  • the shared file area 202 includes any number of files having any number of associated fields.
  • a first file 210 within the shared file area 202 , includes a file tide field 212 , a Copy-on-Write (CoW) field 216 , and a private copy made field 218 .
  • CoW Copy-on-Write
  • Copy-on-Write refers to a technique for maximizing sharing of read-only resources and thus minimizing copying of such resources.
  • the technique typically involves initially maintaining only a single shared file, which is accessible to multiple instances of an application and/or by several computers. No copy of the shared file is made until a request to write to the shared file is received from a computer or instance of an application. After such a request, a duplicate copy of the shared file is made, after which only the requesting computer or application is given write authority to the duplicated file.
  • All subsequent files 220 within the shared file area 202 also include at least fields 212 - 218 .
  • the CoW field 216 is set to either an affirmative state, such as “yes” or to a negative state, such as “no,” indicating to the file manager 112 whether to copy the file 212 in response to a write or update request by one of the cluster computers 102 - 106 , or any other device on the network 108 .
  • write and update requests are synonymous in that they refer to an ability to modify a file.
  • the private copy made field 218 is also set to either an affirmative or a negative state, indicating to the file manager 112 whether the file 212 has been copied one or more times into the private file area 204 .
  • the computer-A private file area 206 within the private file area 204 also includes any number of files having any number of associated fields.
  • a first computer-A file 222 within the computer-A private file area 206 , includes a file title field 224 , and a CoW field 228 . All subsequent files 230 within the computer-A private file area 206 also include at least fields 224 - 228 .
  • the CoW field 228 is also a Boolean field set to either “yes” or “no,” indicating to the file manager 112 whether to copy the file 212 in response to a write or update request by one of the cluster computers 102 - 106 , or any other device on the network 108 .
  • the computer-n private file area 208 within the private file area 204 also includes a first computer-A file 232 having a file title field 234 , and a CoW field 238 . All subsequent files 240 within the computer-n private file area 208 also include at least fields 234 - 238 .
  • FIGS. 3A and 3B are together a flowchart of a method 300 for differentiating private and shared files within a computer cluster, computer system, or even within a single computer.
  • the method 300 begins in step 302 where the file manager 112 attributes a Copy-on-Write (CoW) property to each of a set of application program files stored in the shared file area 202 within the storage device 114 .
  • CoW Copy-on-Write
  • the file manager 112 creates the new CoW property by modifying a network file storage protocol used by the storage device and adding the CoW property to each file associated with each application program within the storage device 114 .
  • step 304 the file manager 112 , in response to software developer or systems administrator commands, sets the CoW property to an affirmative state for a first set of files in the shared file area 202 of the storage device 114 .
  • step 306 the file manager 112 , also in response to software developer or systems administrator commands, sets the CoW property to a negative state for a second set of files in the shared file area 202 of the storage device 114 .
  • the affirmative and negative states of a file property can, in alternate embodiments, be replaced with many other arbitrary designators, including: yes/no; 1/0, etc. etc.
  • the CoW property is preferably set to a default affirmative state, under an assumption that most writes/updates to a file are meant to be specific and relevant only to the computer requesting write/update access.
  • a software developer and/or system administrator may set the CoW property to a negative state, based upon a particular usage of the application program.
  • step 308 an application program associated with the shared file area 202 files is executed on one or more of the computers 102 - 106 connected to the network 108 .
  • step 310 the file manager 112 receives a request from one of the computers for access to a shared file within the shared file area 202 .
  • the file manager 112 scans the file directory 200 for the shared file area 202 in the storage device 114 in order to locate the shared file requested. Upon locating the shared file, the file manager 112 , in step 314 , checks the private-copy-made property of the shared file. If the private-copy-made property is set to an affirmative state, indicating that a private copy of the shared file already exists somewhere in the private file area 204 of the storage device 114 , the file manager 112 , in step 316 , determines whether a private file, specific to the requesting computer, already exists within the requesting computer's private file area, namely one of the computer specific private file areas 206 through 208 .
  • the file manager 112 in step 318 , provides the requesting computer with access to that private copy, after which the method of the present invention ends.
  • Those skilled in the art recognize that various other methods can also be used to determine whether a private copy of the shared file exists for the requesting computer.
  • step 320 the file manager 112 stores a visible computer specific private copy of the shared file in the requesting computer's private file area.
  • step 322 the file manager 112 provides the requesting computer with “write/update” access to the computer specific private copy.
  • step 324 the file manager 112 sets the CoW property for the computer specific private copy to a negative state to prevent further duplication.
  • this specification here clarifies that use of the phrase “a private copy of the shared file” is meant to specify, in a logically consistent way, that while all computers in the cluster/network can request access to one or more of the shared files, the file manager 112 preferably does not grant such access if the requesting computer seeks write access to the shared file and the CoW property for the shared file is set to an affirmative state. In such a case, a copy of the shared file is made and the file manager 112 sets attributes for the copy such that preferably only the requesting computer may access the copy. This copy is called a private copy, and is thus “a private copy of the shared file.”
  • the file manager 112 does not duplicate the shared file, but instead provides the requesting computer with access to the shared file stored in the shared file area 202 of the storage device 114 .
  • the file manager 112 provides the requesting computer with read or execute access to the shared file from the shared file area 202 of the storage device.
  • Some types of application files are likely to remain solely within the shared file area 202 and while others are likely to have copies made and stored within the private file area 204 .
  • Configuration files such as those modified by an administrator, may or may not be sharable, depending upon whether a same configuration applies to multiple computers within a cluster.
  • Log files are mostly intended to record computer specific activity, such as those having entries for each remote connection made with other cluster computers, and thus most likely cannot be shared between the cluster computers.
  • Executable files however, such as those of an application program can almost always be shared, since they are never modified during normal network operation.
  • FIG. 4 is a file tree showing an example 400 of a set of shared files 402 and a set of private files 404 within the file directory 200 .
  • the shared files 402 under a shared directory 406 are File #1.exe 408 and File #2.txt 410 .
  • a CoW property for the .exe type File #1 is set to “no,” since it's very unlikely that a cluster computer would request write/update access to such a file; however, in some other embodiments of the present invention, the CoW property for .exe files could also be set to a default “yes” state. Such an alternate embodiment would have little harmful effect, apart from consuming some amount of disk space, should the .exe file be accidentally opened for write access and a private copy made.
  • File #2 however is a .txt file, having a CoW property set to “yes.” This is most likely because File #2 is to be customized by whichever cluster computer needs access to it.
  • computer “A” 102 has requested write/update access to File #2. Since File #2's CoW property is set to “yes,” a copy 412 of File #2 has been stored in computer A's private file area within the storage device 114 , under directory “A” 414 . The CoW property for this copy 412 is set to “no,” by the method 300 of the present invention.
  • Computer “n” 106 in this example 400 , shows no copied files under its directory “n” 416 , since computer “n,” 106 has not yet requested write/update access to File #2.txt 410 .
  • the present invention simplifies application program installation, since private files are automatically created as needed during program execution, saving software developers and system administrators considerable time since they do not need to explicitly identify the private files either prior to installation or during program execution. Instead the present invention automatically and dynamically either maintains a read/execute only shared copy or duplicates certain write-accessible files, depending upon how an application programs attempts to access such files over a network.

Abstract

A system and method for differentiating private and shared files is disclosed. The invention includes the steps of: receiving a request from a computer for access to a shared file; providing the computer with access to a computer specific private copy of the shared file, if the private copy already exists; and creating the computer specific private copy of the shared file for the computer to access, if the private copy does not already exist and if write access to the shared file is requested.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to systems and methods for file management, and more particularly for differentiating private and shared files within a computer cluster.
2. Discussion of Background Art
Networked computers that share processing tasks are often called clustered computers. Clustering computers allows such computers to function together as a united functional unit for increased fault tolerance, processing power, and ease of system management.
Since clustered computers share computational processing tasks, they also execute many of the same application programs and may share a common storage resource. Two of the most common topologies for shared storage are Network-Attached Storage (NAS) and Storage Area Network (SAN) topologies.
Such common application programs often consume a substantial amount of disk space on their host computers; and, since running multiple instances of such application programs requires that each application program file be copied to each host computer, many file redundancies result across the cluster. Such file duplication also consumes a substantial amount of network bandwidth and administrative effort each time a new cluster computer is brought into the network or a new application program package is installed on each member of the cluster.
One solution, such as used by Hewlett-Packard Company's “Open Software Distributor” product, is to explicitly identify which files can be shared between cluster computers and which should remain private to each instantiation within the cluster prior to application program installation in each host computer. In this approach, a software developer manually and laboriously tags each application file with either a shared or private descriptor.
Another approach, such as used within Red Hat Corporation's “Package Manager” product, is to perform the explicit identification during installation. In this approach, a systems administrator also must manually and laboriously tag each application file with either a shared or private descriptor.
Either approach results in host computer installation images separated into sharable and private file system hierarchies, typically resulting in only one copy of each shared file and multiple copies of each private file.
The effort required of either the software developer or the systems administrator in these approaches, however greatly increases the overhead and debugging associated with each and every cluster application.
Even further, such approaches prevent computer resources from being quickly reallocated among a set of network applications, without either requiring host computers to store on-disk application programs which may never or rarely be used, or by consuming a substantial amount of network bandwidth should copies of the application programs need to be made, as host computers are brought on-line for load balancing or after maintenance.
Furthermore, products such as Hewlett-Packard Company's diskless UNIX employ file management protocols which typically cause the private files to be hidden from normal file access procedures, instead requiring special access methods. These protocols also present many special cases for utilities that access or manage the file system hierarchy.
In response to the concerns discussed above, what is needed is a system and method for differentiating private files from shared files within a computer cluster that overcomes the problems of the prior art.
SUMMARY OF THE INVENTION
The present invention is a system and method for file differentiation. The methods of the present invention includes the steps of: receiving a request from a computer for access to a shared file; providing the computer with access to a computer specific private copy of the shared file, if the private copy already exists; and creating the computer specific private copy of the shared file for the computer to access, if the private copy does not already exist and if write access to the shared file is requested.
The methods also in alternate embodiments may include the steps of: providing the computer with access to the shared file, if the private copy does not already exist and if read access to the shared file is requested; and providing the computer with access to the shared file, if the private copy does not already exist and if execute access to the shared file is requested.
The methods may also include: attributing a Copy-on-Write (CoW) property to the shared file; and creating the computer specific private copy of the shared file for the computer to access, if CoW property is set to an affirmative state. As well as, attributing a private-copy-made property to the shared file; searching for the computer specific private copy of the shared file in a private file area reserved for the computer, if the private-copy-made property is set to an affirmative state; and skipping the searching step if the private-copy-made property is set to a negative state.
The system and method of the present invention are particularly advantageous over the prior art because explicit and/or manual techniques for file differentiation, used in the prior art, are no longer required.
These and other aspects of the invention will be recognized by those skilled in the art upon review of the detailed description, drawings, and claims set forth below.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a system for differentiating private and shared files within a computer cluster;
FIG. 2 is a block diagram of a file directory within the system;
FIGS. 3A and 3B are a flowchart of a method for differentiating private and shared files within a computer cluster; and
FIG. 4 is a file tree showing an example of a set of shared and private files within the file directory.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
FIG. 1 is a block diagram of a system 100 for differentiating private and shared files within a computer cluster. Computer-A 102, computer-B 104, through computer-n 106 are connected by network 108 and together make up the computer cluster. A network file system server 110, containing a file manager software module 112, is also connected to the network 108. A storage device 114 is independently connected to the network file system server 110. This system 100 hardware configuration is called a Network-Attached Storage (NAS) system, however, those skilled in the art will recognize that the present invention works equally well if embodied within a Storage Area Network (SAN) system.
The storage device 114 is a repository for all files need by the computer cluster, including a variety of application programs which each of the computers 102-106 may run in support of computation functions within the cluster. File storage, organization, and retrieval within the storage device 114 is controlled by the file manager 112.
FIG. 2 is a block diagram of a storage device 114 file directory 200 within the system 100. The file directory 200 is partitioned into a shared file area 202, and a private file 204 area reserved for the cluster computers 102-106 on an as needed basis. The private file area 204 includes a computer-A private file area 206 on through a computer-n private file area 206, where “n” is any number.
The shared file area 202 includes any number of files having any number of associated fields. A first file 210, within the shared file area 202, includes a file tide field 212, a Copy-on-Write (CoW) field 216, and a private copy made field 218.
Copy-on-Write (CoW) refers to a technique for maximizing sharing of read-only resources and thus minimizing copying of such resources. The technique typically involves initially maintaining only a single shared file, which is accessible to multiple instances of an application and/or by several computers. No copy of the shared file is made until a request to write to the shared file is received from a computer or instance of an application. After such a request, a duplicate copy of the shared file is made, after which only the requesting computer or application is given write authority to the duplicated file. By copying the shared file only when a write request is received, processing overhead and memory or disk requirements are conserved.
All subsequent files 220 within the shared file area 202 also include at least fields 212-218. The CoW field 216 is set to either an affirmative state, such as “yes” or to a negative state, such as “no,” indicating to the file manager 112 whether to copy the file 212 in response to a write or update request by one of the cluster computers 102-106, or any other device on the network 108. For the purposes of this specification and associated claims, write and update requests are synonymous in that they refer to an ability to modify a file. The private copy made field 218 is also set to either an affirmative or a negative state, indicating to the file manager 112 whether the file 212 has been copied one or more times into the private file area 204.
The computer-A private file area 206 within the private file area 204 also includes any number of files having any number of associated fields. A first computer-A file 222, within the computer-A private file area 206, includes a file title field 224, and a CoW field 228. All subsequent files 230 within the computer-A private file area 206 also include at least fields 224-228. The CoW field 228 is also a Boolean field set to either “yes” or “no,” indicating to the file manager 112 whether to copy the file 212 in response to a write or update request by one of the cluster computers 102-106, or any other device on the network 108.
Similarly, the computer-n private file area 208 within the private file area 204 also includes a first computer-A file 232 having a file title field 234, and a CoW field 238. All subsequent files 240 within the computer-n private file area 208 also include at least fields 234-238.
FIGS. 3A and 3B are together a flowchart of a method 300 for differentiating private and shared files within a computer cluster, computer system, or even within a single computer. The method 300 begins in step 302 where the file manager 112 attributes a Copy-on-Write (CoW) property to each of a set of application program files stored in the shared file area 202 within the storage device 114.
The file manager 112 creates the new CoW property by modifying a network file storage protocol used by the storage device and adding the CoW property to each file associated with each application program within the storage device 114.
Next in step 304, the file manager 112, in response to software developer or systems administrator commands, sets the CoW property to an affirmative state for a first set of files in the shared file area 202 of the storage device 114. In step 306, the file manager 112, also in response to software developer or systems administrator commands, sets the CoW property to a negative state for a second set of files in the shared file area 202 of the storage device 114. Those skilled in the art will recognize that the affirmative and negative states of a file property can, in alternate embodiments, be replaced with many other arbitrary designators, including: yes/no; 1/0, etc. etc.
For most application programs, the CoW property is preferably set to a default affirmative state, under an assumption that most writes/updates to a file are meant to be specific and relevant only to the computer requesting write/update access. However, in certain instances a software developer and/or system administrator may set the CoW property to a negative state, based upon a particular usage of the application program.
In step 308 an application program associated with the shared file area 202 files is executed on one or more of the computers 102-106 connected to the network 108. Next, in step 310, the file manager 112 receives a request from one of the computers for access to a shared file within the shared file area 202.
In step 312, the file manager 112 scans the file directory 200 for the shared file area 202 in the storage device 114 in order to locate the shared file requested. Upon locating the shared file, the file manager 112, in step 314, checks the private-copy-made property of the shared file. If the private-copy-made property is set to an affirmative state, indicating that a private copy of the shared file already exists somewhere in the private file area 204 of the storage device 114, the file manager 112, in step 316, determines whether a private file, specific to the requesting computer, already exists within the requesting computer's private file area, namely one of the computer specific private file areas 206 through 208. If a private copy of the shared file is found within the requesting computer's private file area, then the file manager 112, in step 318, provides the requesting computer with access to that private copy, after which the method of the present invention ends. Those skilled in the art recognize that various other methods can also be used to determine whether a private copy of the shared file exists for the requesting computer.
Otherwise, if a private copy of the shared file does not exist, the requesting computer seeks “write/update” access, and the CoW property for the shared file is set to an affirmative state, then in step 320, the file manager 112 stores a visible computer specific private copy of the shared file in the requesting computer's private file area. In step 322, the file manager 112 provides the requesting computer with “write/update” access to the computer specific private copy. In step 324, the file manager 112 sets the CoW property for the computer specific private copy to a negative state to prevent further duplication.
As an inventor is his/her own lexicographer, this specification here clarifies that use of the phrase “a private copy of the shared file” is meant to specify, in a logically consistent way, that while all computers in the cluster/network can request access to one or more of the shared files, the file manager 112 preferably does not grant such access if the requesting computer seeks write access to the shared file and the CoW property for the shared file is set to an affirmative state. In such a case, a copy of the shared file is made and the file manager 112 sets attributes for the copy such that preferably only the requesting computer may access the copy. This copy is called a private copy, and is thus “a private copy of the shared file.”
If the CoW property for the shared file is set to a negative state, then, in step 326, the file manager 112 does not duplicate the shared file, but instead provides the requesting computer with access to the shared file stored in the shared file area 202 of the storage device 114. In step 328, if only “read” or “execute” access is requested, the file manager 112 provides the requesting computer with read or execute access to the shared file from the shared file area 202 of the storage device.
Some types of application files are likely to remain solely within the shared file area 202 and while others are likely to have copies made and stored within the private file area 204. Configuration files, such as those modified by an administrator, may or may not be sharable, depending upon whether a same configuration applies to multiple computers within a cluster. Log files are mostly intended to record computer specific activity, such as those having entries for each remote connection made with other cluster computers, and thus most likely cannot be shared between the cluster computers. Executable files however, such as those of an application program, can almost always be shared, since they are never modified during normal network operation.
FIG. 4 is a file tree showing an example 400 of a set of shared files 402 and a set of private files 404 within the file directory 200. In the example 400, the shared files 402 under a shared directory 406 are File #1.exe 408 and File #2.txt 410. As expected, a CoW property for the .exe type File #1 is set to “no,” since it's very unlikely that a cluster computer would request write/update access to such a file; however, in some other embodiments of the present invention, the CoW property for .exe files could also be set to a default “yes” state. Such an alternate embodiment would have little harmful effect, apart from consuming some amount of disk space, should the .exe file be accidentally opened for write access and a private copy made.
File #2 however is a .txt file, having a CoW property set to “yes.” This is most likely because File #2 is to be customized by whichever cluster computer needs access to it. In the example 400 shown, computer “A” 102 has requested write/update access to File #2. Since File #2's CoW property is set to “yes,” a copy 412 of File #2 has been stored in computer A's private file area within the storage device 114, under directory “A” 414. The CoW property for this copy 412 is set to “no,” by the method 300 of the present invention. Computer “n” 106, in this example 400, shows no copied files under its directory “n” 416, since computer “n,” 106 has not yet requested write/update access to File #2.txt 410.
The present invention simplifies application program installation, since private files are automatically created as needed during program execution, saving software developers and system administrators considerable time since they do not need to explicitly identify the private files either prior to installation or during program execution. Instead the present invention automatically and dynamically either maintains a read/execute only shared copy or duplicates certain write-accessible files, depending upon how an application programs attempts to access such files over a network.
While one or more embodiments of the present invention have been described, those skilled in the art will recognize that various modifications may be made. Variations upon and modifications to these embodiments are provided by the present invention, which is limited only by the following claims.

Claims (24)

1. A method for file differentiation, comprising:
receiving a request from a computer for access to a shared file;
providing the computer with access to a computer specific private copy of the shared file, if the private copy already exists; and
creating the computer specific private copy of the shared file for the computer to access, if the private copy does not already exist and if write access to the shared file is requested; and
wherein,
receiving includes,
receiving a request from a first computer for access to the shared file; and
receiving a request from a second computer for access to the shared file;
providing includes,
providing the first computer with access to a first computer specific private copy of the shared file, if the first private copy already exists; and
providing the second computer with access to a second computer specific private copy of the shared file, if the second private copy already exists; and
creating includes,
creating the first computer specific private copy of the shared file for the first computer to access, if the first private copy does not already exist and if write access to the shared file is requested; and
creating the second computer specific private copy of the shared file for the second computer to access, if the second private copy does not already exist and if write access to the shared file is requested.
2. The method of claim 1 further comprising:
providing the computer with access to the shared file, if the private copy does not already exist and if read access to the shared file is requested.
3. The method of claim 1 further comprising:
providing the computer with access to the shared file, if the private copy does not already exist and if execute access to the shared file is requested.
4. The method of claim 1:
further comprising, attributing a Copy-on-Write (CoW) property to the shared file; and
wherein creating further includes creating the computer specific private copy of the shared file for the computer to access, if CoW property is set to an affirmative state.
5. The method of claim 4 further comprising:
attributing the CoW property to the computer specific private copy; and
setting the CoW property for the computer specific private copy to a negative state.
6. The method of claim 1 further comprising:
setting the CoW property for the shared file to an affirmative state by default, before the receiving.
7. The method of claim 1, further comprising:
attributing a private-copy-made property to the shared file;
searching for the computer specific private copy of the shared file in a private file area reserved for the computer, if the private-copy-made property is set to an affirmative state; and
skipping the searching if the private-copy-made property is set to a negative state.
8. The method of claim 7:
further including, storing the shared file in a shared file area;
wherein receiving includes,
receiving a request from a first computer for access to the shared file; and
receiving a request from a second computer for access to the shared file;
wherein searching includes,
searching for a first computer specific private copy of the shared file in a first private file area reserved for the first computer; and
searching for a second computer specific private copy of the shared file in a second private file area reserved for the second computer.
9. The method of claim 1 wherein receiving includes:
receiving a request from a computer for access to a shared application program file.
10. The method of claim 1 wherein receiving includes:
receiving a request from a computer for access to a shared file from a set of shared files stored within a shared file area.
11. A method for file differentiation, comprising:
attributing a Copy-on-Write (CoW) property to a shared file;
receiving a request from a first computer for access to the shared file;
receiving a request from a second computer for access to the shared file;
providing the first computer with access to a first computer specific private copy of the shared file, if the first private copy already exists;
providing the second computer with access to a second computer specific private copy of the shared file, if the second private copy already exists;
creating the first computer specific private copy of the shared file for the first computer to access, if the first private copy does not already exist, write access to the shared file is requested, and the CoW property is set to an affirmative state;
creating the second computer specific private copy of the shared file for the second computer to access, if the second private copy does not already exist, write access to the shared file is requested, and the CoW property is set to an affirmative state;
providing the computers with access to the shared file respectively, if the private copies respectively do not already exist and if read access to the shared file is requested; and
providing the computers with access to the shared file respectively, if the private copies respectively do not already exist and if execute access to the shared file is requested.
12. A computer-usable medium embodying computer program code for commanding a computer to effect file differentiation, comprising:
receiving a request from a computer for access to a shared file;
providing the computer with access to a computer specific private copy of the shared file, if the private copy already exists; and
creating the computer specific private copy of the shared file for the computer to access, if the private copy does not already exist and if write access to the shared file is requested; and
wherein,
receiving includes,
receiving a request from a first computer for access to the shared file; and
receiving a request from a second computer for access to the shared file;
providing includes,
providing the first computer with access to a first computer specific private copy of the shared file, if the first private copy already exists; and
providing the second computer with access to a second computer specific private copy of the shared file, if the second private copy already exists; and
creating includes,
creating the first computer specific private copy of the shared file for the first computer to access, if the first private copy does not already exist and if write access to the shared file is requested; and
creating the second computer specific private copy of the shared file for the second computer to access, if the second private copy does not already exist and if write access to the shared file is requested.
13. The medium of claim 12 further comprising:
providing the computer with access to the shared file, if the private copy does not already exist and if read access to the shared file is requested.
14. The medium of claim 12 further comprising:
providing the computer with access to the shared file, if the private copy does not already exist and if execute access to the shared file is requested.
15. The medium of claim 12:
further comprising, attributing a Copy-on-Write (CoW) property to the shared file; and
wherein creating further includes creating the computer specific private copy of the shared file for the computer to access, if CoW property is set to an affirmative state.
16. The medium of claim 12, further comprising:
attributing a private-copy-made property to the shared file;
searching for the computer specific private copy of the shared file in a private file area reserved for the computer, if the private-copy-made property is set to an affirmative state; and
skipping searching if the private-copy-made property is set to a negative state.
17. A system for file differentiation, comprising:
means for receiving a request from a computer for access to a shared file;
means for providing the computer with access to a computer specific private copy of the shared file, if the private copy already exists; and
means for creating the computer specific private copy of the shared file for the computer to access, if the private copy does not already exist and if write access to the shared file is requested; and
wherein,
means for receiving includes,
means for receiving a request from a first computer for access to the shared file; and
means for receiving a request from a second computer for access to the shared file;
means for providing includes,
means for providing the first computer with access to a first computer specific private copy of the shared file, if the first private copy already exists; and
means for providing the second computer with access to a second computer specific private copy of the shared file, if the second private copy already exists; and
means for creating includes,
means for creating the first computer specific private copy of the shared file for the first computer to access, if the first private copy does not already exist and if write access to the shared file is requested; and
means for creating the second computer specific private copy of the shared file for the second computer to access, if the second private copy does not already exist and if write access to the shared file is requested.
18. The system of claim 17 further comprising:
means for providing the computer with access to the shared file, if the private copy does not already exist and if read access to the shared file is requested.
19. The system of claim 17 further comprising:
means for providing the computer with access to the shared file, if the private copy does not already exist and if execute access to the shared file is requested.
20. The system of claim 17:
further comprising, means for attributing a Copy-on-Write (CoW) property to the shared file; and
wherein the means for creating further includes means for creating the computer specific private copy of the shared file for the computer to access, if CoW property is set to an affirmative state.
21. A method for file differentiation, comprising:
receiving a request from a computer for access to a shared file;
providing the computer with access to a computer specific private copy of the shared file, if the private copy already exists;
creating the computer specific private copy of the shared file for the computer to access, if the private copy does not already exist and if write access to the shared file is requested;
attributing a Copy-on-Write (CoW) property to the shared file;
attributing the CoW property to the computer specific private copy; and
setting the CoW property for the computer specific private copy to a negative state; and
wherein creating further includes creating the computer specific private copy of the shared file for the computer to access, if CoW property is set to an affirmative state.
22. A method for file differentiation, comprising:
receiving a request from a computer for access to a shared file;
providing the computer with access to a computer specific private copy of the shared file, if the private copy already exists;
creating the computer specific private copy of the shared file for the computer to access, if the private copy does not already exist and if write access to the shared file is requested;
attributing a private-copy-made property to the shared file;
searching for the computer specific private copy of the shared file in a private file area reserved for the computer, if the private-copy-made property is set to an affirmative state; and
skipping the searching if the private-copy-made property is set to a negative state.
23. The method of claim 22:
further including, storing the shared file in a shared file area;
wherein receiving includes,
receiving a request from a first computer for access to the shared file; and
receiving a request from a second computer for access to the shared file;
wherein searching includes,
searching for a first computer specific private copy of the shared file in a first private file area reserved for the first computer; and
searching for a second computer specific private copy of the shared file in a second private file area reserved for the second computer.
24. A computer-usable medium embodying computer program code for commanding a computer to effect file differentiation, comprising:
receiving a request from a computer for access to a shared file;
providing the computer with access to a computer specific private copy of the shared file, if the private copy already exists;
creating the computer specific private copy of the shared file for the computer to access, if the private copy does not already exist and if write access to the shared file is requested;
attributing a private-copy-made property to the shared file;
searching for the computer specific private copy of the shared file in a private file area reserved for the computer, if the private-copy-made property is set to an affirmative state; and
skipping searching if the private-copy-made property is set to a negative state.
US10/000,663 2001-10-31 2001-10-31 System and method for differentiating private and shared files within a computer cluster Expired - Fee Related US6859812B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/000,663 US6859812B1 (en) 2001-10-31 2001-10-31 System and method for differentiating private and shared files within a computer cluster

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/000,663 US6859812B1 (en) 2001-10-31 2001-10-31 System and method for differentiating private and shared files within a computer cluster

Publications (1)

Publication Number Publication Date
US6859812B1 true US6859812B1 (en) 2005-02-22

Family

ID=34134570

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/000,663 Expired - Fee Related US6859812B1 (en) 2001-10-31 2001-10-31 System and method for differentiating private and shared files within a computer cluster

Country Status (1)

Country Link
US (1) US6859812B1 (en)

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163568A1 (en) * 2002-02-28 2003-08-28 Yoshiki Kano Storage system managing data through a wide area network
US20050004925A1 (en) * 2003-05-07 2005-01-06 Nathaniel Stahl Copy-on-write mapping file system
US20050256898A1 (en) * 2004-05-07 2005-11-17 Etsutaro Akagawa Computer system including file sharing device and a migration method
US20060190687A1 (en) * 2005-02-18 2006-08-24 Mather Clifford J Implementing memory evacuation using copy-on-write
US20060259571A1 (en) * 2005-05-16 2006-11-16 Microsoft Corporation Zero-copy transfer of memory between address spaces
US20060288049A1 (en) * 2005-06-20 2006-12-21 Fabio Benedetti Method, System and computer Program for Concurrent File Update
WO2008065341A2 (en) 2006-12-01 2008-06-05 David Irvine Distributed network system
US20080148233A1 (en) * 2006-12-13 2008-06-19 International Business Machines Corporation Computer Method and Apparatus for Referencing Files in a Software Configuration Management System
US20080154851A1 (en) * 2006-12-21 2008-06-26 Canon Kabushiki Kaisha Method and apparatus for sharing files over a network
US20100058054A1 (en) * 2006-12-01 2010-03-04 David Irvine Mssan
US20110221568A1 (en) * 2010-03-15 2011-09-15 Proxense, Llc Proximity-based system for automatic application or data access and item tracking
US20140281310A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Transforming a Shared Virtualized Space to an Enclosed Space
US9286098B1 (en) * 2007-03-13 2016-03-15 Parallels IP Holdings GmbH Using master file template area to increase density of virtual machines in a computer system
US20170160904A1 (en) * 2015-12-07 2017-06-08 Dropbox, Inc. Sharing a template file
US10698989B2 (en) 2004-12-20 2020-06-30 Proxense, Llc Biometric personal data key (PDK) authentication
US10764044B1 (en) 2006-05-05 2020-09-01 Proxense, Llc Personal digital key initialization and registration for secure transactions
US10769939B2 (en) 2007-11-09 2020-09-08 Proxense, Llc Proximity-sensor supporting multiple application services
US10909229B2 (en) 2013-05-10 2021-02-02 Proxense, Llc Secure element as a digital pocket
US10943471B1 (en) 2006-11-13 2021-03-09 Proxense, Llc Biometric authentication using proximity and secure information on a user device
US10971251B1 (en) 2008-02-14 2021-04-06 Proxense, Llc Proximity-based healthcare management system with automatic access to private information
US11080378B1 (en) 2007-12-06 2021-08-03 Proxense, Llc Hybrid device having a personal digital key and receiver-decoder circuit and methods of use
US11086979B1 (en) 2007-12-19 2021-08-10 Proxense, Llc Security system and method for controlling access to computing resources
US11113482B1 (en) 2011-02-21 2021-09-07 Proxense, Llc Implementation of a proximity-based system for object tracking and automatic application initialization
US11120449B2 (en) 2008-04-08 2021-09-14 Proxense, Llc Automated service-based order processing
US11157636B2 (en) 2015-04-17 2021-10-26 Dropbox, Inc. Collection folder for collecting file submissions in response to a public file request
US11206664B2 (en) 2006-01-06 2021-12-21 Proxense, Llc Wireless network synchronization of cells and client devices on a network
US11258791B2 (en) 2004-03-08 2022-02-22 Proxense, Llc Linked account system using personal digital key (PDK-LAS)
US11546325B2 (en) 2010-07-15 2023-01-03 Proxense, Llc Proximity-based system for object tracking
US11553481B2 (en) 2006-01-06 2023-01-10 Proxense, Llc Wireless network synchronization of cells and client devices on a network
US11948473B2 (en) 2015-12-31 2024-04-02 Dropbox, Inc. Assignments for classrooms

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5251315A (en) * 1990-06-21 1993-10-05 International Business Machines Corporation Atomic check-in check-out document copy commands partitioned into document interchange architecture system operands
US5313646A (en) * 1989-02-24 1994-05-17 Sun Microsystems, Inc. Method and apparatus for translucent file system
US5551028A (en) * 1991-02-28 1996-08-27 Mentor Graphics Corporation Design data management system and associated method
US5566321A (en) * 1993-12-13 1996-10-15 Cray Research, Inc. Method of managing distributed memory within a massively parallel processing system
US5706510A (en) * 1996-03-15 1998-01-06 Hewlett-Packard Company Zymbolic history management system
US6151659A (en) * 1997-12-22 2000-11-21 Emc Corporation Distributed raid storage system
US6385722B1 (en) * 2000-01-27 2002-05-07 Sun Microsystems, Inc. Method, system, and article of manufacture for limiting access to program files in a shared library file
US6618736B1 (en) * 2001-03-09 2003-09-09 Ensim Corporation Template-based creation and archival of file systems

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5313646A (en) * 1989-02-24 1994-05-17 Sun Microsystems, Inc. Method and apparatus for translucent file system
US5251315A (en) * 1990-06-21 1993-10-05 International Business Machines Corporation Atomic check-in check-out document copy commands partitioned into document interchange architecture system operands
US5551028A (en) * 1991-02-28 1996-08-27 Mentor Graphics Corporation Design data management system and associated method
US5566321A (en) * 1993-12-13 1996-10-15 Cray Research, Inc. Method of managing distributed memory within a massively parallel processing system
US5706510A (en) * 1996-03-15 1998-01-06 Hewlett-Packard Company Zymbolic history management system
US6151659A (en) * 1997-12-22 2000-11-21 Emc Corporation Distributed raid storage system
US6385722B1 (en) * 2000-01-27 2002-05-07 Sun Microsystems, Inc. Method, system, and article of manufacture for limiting access to program files in a shared library file
US6618736B1 (en) * 2001-03-09 2003-09-09 Ensim Corporation Template-based creation and archival of file systems

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Lakshmanan et al., "A Secure and highly available distributed store for meeting diverse data", IEEE, 2001, pp. 251-260.* *
Pomeroy et al., "Private desktops and shared store", IEEE, 1998, pp. 190-200.* *
Schmidt, "Method and apparatus for virtual namespaces for active computing environments", US Patent Application Publication, 7-2002, pp. 1-23. *
Sutherland et al., "Peer-to-peer enterprise storage", US Patent Application Publication, 8-2002, pp. 1-19.* *

Cited By (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7441029B2 (en) * 2002-02-28 2008-10-21 Hitachi, Ltd.. Storage system managing data through a wide area network
US20030163568A1 (en) * 2002-02-28 2003-08-28 Yoshiki Kano Storage system managing data through a wide area network
US20050004925A1 (en) * 2003-05-07 2005-01-06 Nathaniel Stahl Copy-on-write mapping file system
US20050004886A1 (en) * 2003-05-07 2005-01-06 Nathaniel Stahl Detection and reporting of computer viruses
US11258791B2 (en) 2004-03-08 2022-02-22 Proxense, Llc Linked account system using personal digital key (PDK-LAS)
US11922395B2 (en) 2004-03-08 2024-03-05 Proxense, Llc Linked account system using personal digital key (PDK-LAS)
US20050256898A1 (en) * 2004-05-07 2005-11-17 Etsutaro Akagawa Computer system including file sharing device and a migration method
US10698989B2 (en) 2004-12-20 2020-06-30 Proxense, Llc Biometric personal data key (PDK) authentication
US20060190687A1 (en) * 2005-02-18 2006-08-24 Mather Clifford J Implementing memory evacuation using copy-on-write
US7325107B2 (en) * 2005-02-18 2008-01-29 Hewlett-Packard Development Company, L.P. Implementing memory evacuation using copy-on-write
US20060259571A1 (en) * 2005-05-16 2006-11-16 Microsoft Corporation Zero-copy transfer of memory between address spaces
US7454477B2 (en) * 2005-05-16 2008-11-18 Microsoft Corporation Zero-copy transfer of memory between address spaces
US20060288049A1 (en) * 2005-06-20 2006-12-21 Fabio Benedetti Method, System and computer Program for Concurrent File Update
US11800502B2 (en) 2006-01-06 2023-10-24 Proxense, LL Wireless network synchronization of cells and client devices on a network
US11206664B2 (en) 2006-01-06 2021-12-21 Proxense, Llc Wireless network synchronization of cells and client devices on a network
US11212797B2 (en) 2006-01-06 2021-12-28 Proxense, Llc Wireless network synchronization of cells and client devices on a network with masking
US11553481B2 (en) 2006-01-06 2023-01-10 Proxense, Llc Wireless network synchronization of cells and client devices on a network
US11219022B2 (en) 2006-01-06 2022-01-04 Proxense, Llc Wireless network synchronization of cells and client devices on a network with dynamic adjustment
US11182792B2 (en) 2006-05-05 2021-11-23 Proxense, Llc Personal digital key initialization and registration for secure transactions
US10764044B1 (en) 2006-05-05 2020-09-01 Proxense, Llc Personal digital key initialization and registration for secure transactions
US11157909B2 (en) 2006-05-05 2021-10-26 Proxense, Llc Two-level authentication for secure transactions
US11551222B2 (en) 2006-05-05 2023-01-10 Proxense, Llc Single step transaction authentication using proximity and biometric input
US10943471B1 (en) 2006-11-13 2021-03-09 Proxense, Llc Biometric authentication using proximity and secure information on a user device
WO2008065341A2 (en) 2006-12-01 2008-06-05 David Irvine Distributed network system
EP2472430A1 (en) 2006-12-01 2012-07-04 David Irvine Self encryption
US20100058054A1 (en) * 2006-12-01 2010-03-04 David Irvine Mssan
US7865877B2 (en) 2006-12-13 2011-01-04 International Business Machines Corporation Computer method and apparatus for referencing files in a software configuration management system
US20080148233A1 (en) * 2006-12-13 2008-06-19 International Business Machines Corporation Computer Method and Apparatus for Referencing Files in a Software Configuration Management System
US20080154851A1 (en) * 2006-12-21 2008-06-26 Canon Kabushiki Kaisha Method and apparatus for sharing files over a network
US9286098B1 (en) * 2007-03-13 2016-03-15 Parallels IP Holdings GmbH Using master file template area to increase density of virtual machines in a computer system
US11562644B2 (en) 2007-11-09 2023-01-24 Proxense, Llc Proximity-sensor supporting multiple application services
US10769939B2 (en) 2007-11-09 2020-09-08 Proxense, Llc Proximity-sensor supporting multiple application services
US11080378B1 (en) 2007-12-06 2021-08-03 Proxense, Llc Hybrid device having a personal digital key and receiver-decoder circuit and methods of use
US11086979B1 (en) 2007-12-19 2021-08-10 Proxense, Llc Security system and method for controlling access to computing resources
US10971251B1 (en) 2008-02-14 2021-04-06 Proxense, Llc Proximity-based healthcare management system with automatic access to private information
US11727355B2 (en) 2008-02-14 2023-08-15 Proxense, Llc Proximity-based healthcare management system with automatic access to private information
US11120449B2 (en) 2008-04-08 2021-09-14 Proxense, Llc Automated service-based order processing
US9807091B2 (en) 2010-03-15 2017-10-31 Proxense, Llc Proximity-based system for automatic application or data access and item tracking
US20110221568A1 (en) * 2010-03-15 2011-09-15 Proxense, Llc Proximity-based system for automatic application or data access and item tracking
US11095640B1 (en) 2010-03-15 2021-08-17 Proxense, Llc Proximity-based system for automatic application or data access and item tracking
US9418205B2 (en) * 2010-03-15 2016-08-16 Proxense, Llc Proximity-based system for automatic application or data access and item tracking
US10171460B2 (en) * 2010-03-15 2019-01-01 Proxense, Llc Proximity-based system for automatic application or data access and item tracking
US20180019998A1 (en) * 2010-03-15 2018-01-18 Proxense, Llc Proximity-Based System for Automatic Application or Data Access and Item Tracking
US11546325B2 (en) 2010-07-15 2023-01-03 Proxense, Llc Proximity-based system for object tracking
US11669701B2 (en) 2011-02-21 2023-06-06 Proxense, Llc Implementation of a proximity-based system for object tracking and automatic application initialization
US11132882B1 (en) 2011-02-21 2021-09-28 Proxense, Llc Proximity-based system for object tracking and automatic application initialization
US11113482B1 (en) 2011-02-21 2021-09-07 Proxense, Llc Implementation of a proximity-based system for object tracking and automatic application initialization
US20140281309A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Transforming a shared virtualized space to an enclosed space
US20140281310A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Transforming a Shared Virtualized Space to an Enclosed Space
US11914695B2 (en) 2013-05-10 2024-02-27 Proxense, Llc Secure element as a digital pocket
US10909229B2 (en) 2013-05-10 2021-02-02 Proxense, Llc Secure element as a digital pocket
US11157636B2 (en) 2015-04-17 2021-10-26 Dropbox, Inc. Collection folder for collecting file submissions in response to a public file request
US11630905B2 (en) 2015-04-17 2023-04-18 Dropbox, Inc. Collection folder for collecting file submissions in response to a public file request
US11244062B2 (en) 2015-04-17 2022-02-08 Dropbox, Inc. Collection folder for collecting file submissions
US11783059B2 (en) 2015-04-17 2023-10-10 Dropbox, Inc. Collection folder for collecting file submissions
US11475144B2 (en) 2015-04-17 2022-10-18 Dropbox, Inc. Collection folder for collecting file submissions
US11270008B2 (en) 2015-04-17 2022-03-08 Dropbox, Inc. Collection folder for collecting file submissions
US20170160904A1 (en) * 2015-12-07 2017-06-08 Dropbox, Inc. Sharing a template file
US10078433B2 (en) * 2015-12-07 2018-09-18 Dropbox, Inc. Sharing a template file
US11948473B2 (en) 2015-12-31 2024-04-02 Dropbox, Inc. Assignments for classrooms

Similar Documents

Publication Publication Date Title
US6859812B1 (en) System and method for differentiating private and shared files within a computer cluster
US8095525B2 (en) Method of universal file access for a heterogeneous computing environment
US7606868B1 (en) Universal file access architecture for a heterogeneous computing environment
US8478801B2 (en) Efficient reconstruction of virtual disk hierarchies across storage domains
US7203774B1 (en) Bus specific device enumeration system and method
AU698180B2 (en) Method of operating a computer system
US8285817B1 (en) Migration engine for use in a logical namespace of a storage system environment
US7487228B1 (en) Metadata structures and related locking techniques to improve performance and scalability in a cluster file system
US8291159B2 (en) Monitoring and updating mapping of physical storage allocation of virtual machine without changing identifier of the storage volume assigned to virtual machine
US7171459B2 (en) Method and apparatus for handling policies in an enterprise
US7444395B2 (en) Method and apparatus for event handling in an enterprise
US7974985B1 (en) System and method for duplication of virtual server files
US7325017B2 (en) Method of implementation of data storage quota
US7996612B2 (en) Computer system for reducing power consumption of storage system and method for controlling the same
US20040002934A1 (en) System and method for providing requested file mapping information for a file on a storage device
US20050004886A1 (en) Detection and reporting of computer viruses
US20040034671A1 (en) Method and apparatus for centralized computer management
Liedtke et al. Two years of experience with a μ-kernel based OS
US7127480B2 (en) System, method and program for backing up a computer program
US7958097B1 (en) Method and system for implementation of data storage quota
US5832213A (en) Flexible mounting and unmounting of user removable media
EP1228425A2 (en) Method and apparatus for synchronizing function values in a multiple protocol system
US7844833B2 (en) Method and system for user protected media pool
US20210067599A1 (en) Cloud resource marketplace
US9160610B1 (en) Method and apparatus for coordinating service execution within a shared file system environment to optimize cluster performance

Legal Events

Date Code Title Description
AS Assignment

Owner name: HEWLETT-PACKARD COMPANY, COLORADO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:POYNOR, TODD ALLAN;REEL/FRAME:012717/0086

Effective date: 20011030

AS Assignment

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:014061/0492

Effective date: 20030926

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P.,TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:014061/0492

Effective date: 20030926

FPAY Fee payment

Year of fee payment: 4

REMI Maintenance fee reminder mailed
REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20130222