Reading Time: 6 minutes

Sharing data is fantastic for teamwork, but it can also introduce some roadblocks. The biggest one? Conflicting edits. Imagine two people working on the same file at once, accidentally overwriting each other's changes. Even with regular updates, mistakes can still slip through, and important data gets lost. So, the question becomes: how can companies encourage collaboration on datasets without sacrificing data quality and consistency?  This is where file locking comes in.

File locking is a data management feature which makes sure only one person can edit a file at a time. Think of it as giving someone the keys to the car – they have exclusive access until they're done and return them. File locking creates a system where everyone can work together smoothly, without accidentally overwriting each other's edits.

Global File Locking Explained

Global file locking is a feature of cloud storage that ensures only one copy of a file is edited at a time. It eliminates confusion by enabling users to collaborate on the same set of data without the risk of working on top of each other.

Alternatives to global file locking exist, including versioning - which allows users to open a second copy of a file that another user is currently editing. This copy is tracked as a unique file which allows both users to work simultaneously, but gets messy when these individual copies must be manually integrated to ensure all changes are incorporated into the final version of the file. Global file locking prevents this.

But here’s the downside: global file locking can be expensive. Since it’s more advanced than standard file sharing options, services that offer global file locking are often sold at a higher price. Knowing this, companies should consider whether global file locking is the right investment for them.

Now, let's dive deeper into the different types of file locking available.

Types of File Locking

If they’ve decided file locking is a critical solution for their needs, organizations will need to consider what type of file locking they want to use. There are several options with various benefits and drawbacks depending on the use case.

1). Advisory Locking

Advisory locking doesn’t provide full protection against conflicting modifications because it relies on cooperation between users. Users can ignore an advisory lock, but that choice is strongly discouraged because it can lead to data corruption and inconsistency.

When a user requests access to a file, the advisory lock will notify that user that a lock is in place. Again, the advisory lock doesn’t prevent access; it only informs the user that they should avoid working on the file. When a user requests an advisory lock for a file, the system will check for any existing locks. If there are existing locks, it will return an error message.

Advisory locks are most effective if multiple users need to access a file simultaneously. However, those users should also communicate with each other so only one user is writing at a time. Even while an advisory lock is in place, other users can continue reading the file without causing problems.

2.) Mandatory Locking

Mandatory locks are enforced by an operating system that prevents users from accessing or modifying a file that another user has already locked. Unlike with advisory locks, users can’t choose to ignore mandatory locks. If a user requests a mandatory lock but another mandatory lock already exists, the user will be denied access to the file until the other lock is released.

Mandatory locking is useful when a company needs to keep multiple users from modifying the same file simultaneously. In that case, this type of lock ensures data consistency and prevents file corruption.

On the downside, mandatory locking can create performance overhead and result in synchronization issues if not used properly. The feature is also not available on all files or operating systems, so companies should always verify it’s compatible with their systems before purchasing.

3.) Shared Locking

With shared locks, multiple users can access a file simultaneously for reading purposes only. All editing is prevented with a shared lock, which ensures consistency and integrity. Shared locks are granted to users if they don’t conflict with existing locks on a file. An exclusive lock can’t be granted until all shared locks are released.

Shared locks are excellent for companies looking to improve system performance and efficiency. However, if a file needs to be modified frequently, shared locking may not be ideal since editing is prohibited until all shared locks are released.

4.) Exclusive Locking

Exclusive locks only allow one user to access a file at a given time. This lock keeps all other users from accessing the file for both read and write purposes. If a particular user needs frequent access to a file, exclusive locking is an ideal solution, as it ensures that nobody else will create conflicting modifications.

One drawback of exclusive locking is that it can create performance overhead. If a single user holds the exclusive lock for a file, all other users must wait for the lock to be released before opening the file.

5.) Range Locking

Range locking allows a user to lock a specific byte range within a file. When requesting a range lock, users can specify the start and end point of the byte range within which they will work. The request will be granted as long as there is no overlap with any other range locks.

With range locking, multiple users can access and edit the same file without risking conflicting modifications. Once a user has a range lock on a designated byte range, no other user can edit that byte range until the lock is released.

Range locking is not supported by all file or operating systems, so companies should evaluate whether their systems are compatible with range locking before choosing this type of file locking.

DFSR & File Locking

Distributed file system replication (DFSR) is a common term for collaborative file sharing. DFSR is a Windows feature that allows users to replicate files between multiple servers in multiple locations, improving the availability and reliability of file access.

Here’s how it works: DFSR identifies changes made to a file on one server and replicates those changes to other servers. All changes are tracked at the block level, allowing servers to replicate specific changes to files rather than entire files. DFSR can be synchronous or asynchronous. In synchronous mode, the changes are replicated immediately to other servers, so all users have access to the same version of a file at the same time. In asynchronous mode, the changes are queued for replication and may take time to be distributed to other servers.

While DFSR enables efficient file sharing and collaboration, it’s not always compatible with file locking. DFSR doesn’t track any locks that exist on other servers, meaning users can unknowingly overwrite each other’s changes. The last user to save their changes on a file gets to keep their changes. DFSR only recognizes locks within its native server and won’t replicate a file if the local copy has an exclusive lock. But again, this local locking doesn’t prevent users from other servers from accessing or modifying their own local copy of the same file.

So, while DFSR boasts incredible capabilities and offers a powerful tool for companies looking to share files across multiple servers, there may be better options for companies that want to utilize file locking.

Shift the balance of power in the fight against ransomware.

Panzura-datasheet-Detect-and-rescue-header-min (1)

Panzura’s Approach

We agree that file locking is a key component of sharing and collaboration. But rather than using existing technology — we decided to develop our own. We created and patented our own locking systems to ensure local performance and protect stored data from corruption.

Panzura's CloudFS offers two types of file locks: a global write lock and a byte range lock. Global write locking prevents more than one user from opening a file and making modifications. A second user can’t write on that file until the initial write lock has been released. Byte range locking is an excellent solution for businesses that want to utilize file locking while enabling employees to work simultaneously on the same files. This type of lock only restricts in-use file portions, allowing multiple users to work on the same file in different byte ranges without worrying about data collisions, corruption, or file versioning.

Both of our locks cover a company’s entire cloud network across any number of locations. When a file is opened, the lock is moved to where the data is stored in the global file system. So, the file is locked for editing across the cloud network. Only real-time file locking effectively prevents user collisions. Our globally distributed file-locking feature allows every site in the network to issue a real-time request for a lock from whichever site currently holds it.

File locking makes it easy for companies to collaborate globally, but only some types of file locking will be a good match for specific companies. Here at Panzura, we strive to give every company a file locking solution they can use confidently. With Panzura file locking, users have global access to all their files without fearing collisions. There’s no limit to what companies can do with their data — so antiquated file locking methods shouldn’t hold them back.