Patent ID: 7822728

Claim:
A method of operating a file server computer for providing clients with concurrent write access to respective byte ranges of a file in storage of the file server computer, the method comprising: the file server computer responding to a concurrent write request from a client by accessing metadata of the file to obtain a block mapping for the concurrent write request, and then writing data from the client to the file using the block mapping for the concurrent write request, and then committing metadata changes to the file, the metadata changes including change in an allocation of file blocks to the file; wherein the file server computer accesses the metadata of the file to obtain the block mapping for the concurrent write request by accessing a range locking database in the file server computer to set a respective exclusive byte range lock upon one of the respective byte ranges of the file, accessing a file block mapping database in the file server computer, and accessing a pre-allocation database in the file server computer to pre-allocate a new file block to which the data from the client is written, and wherein the file server computer commits the metadata changes to the file by accessing the range locking database to release the respective exclusive byte range lock, accessing the file block mapping database, accessing the pre-allocation database, and writing the metadata changes to the storage of the file server computer to commit the new file block to the file in the storage the file server computer.