IP Library Granted Patent US 8,666,957
Granted Patent B2
US 8,666,957 · App. 11/493,238 · Granted Mar 4, 2014

Method or apparatus for locking shared data

Inventors: Manish Srivastava (Bangalore, IN); Ajit Malaviya (Bangalore, IN)
Assignee: Hewlett-Packard Development Company, L.P.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,666,957
App. No.
11/493,238
Filed
Jul 26, 2006
Granted
Mar 4, 2014
Kind
B2
Art Unit
2158
USPC
707/704
Abstract

Methods and apparatus are disclosed in which locks for shared data are acquired by specifying a pathname for the shared data. One embodiment, among others, includes a method for locking shared data. The method includes the steps of receiving a first request to acquire a lock for a first pathname, storing the first pathname in a lock store, searching the lock store for a corresponding pathname in response to a further request to acquire a lock for a second pathname, and if the second pathname corresponds to the first pathname in the lock store then denying the further request to acquire the lock for the second pathname.

Claims (40)

1. A method for locking shared data, the method implemented by a computer comprising the steps of:

a) receiving a first request to acquire a lock for a first pathname;

b) storing said first pathname in a lock store;

c) in response to a further request to acquire a lock for a second pathname, searching said lock store for a corresponding pathname;

d) if said second pathname corresponds to said first pathname in said lock store then denying said further request to acquire said lock for said second pathname;

e) removing said first pathname from said lock store in response to a request to release said lock for said first pathname;

wherein said requests are made by one or more processes which access data represented by said pathname; and

wherein if a process quits leaving any remaining locks in the lock store then said remaining locks are released after a predetermined period.

2. A method according to claim 1 in which data identifying the process making said first request is stored in association with said pathname in said lock store.

3. A method according to claim 1 , in which said first pathname is a filename and/or a directory name.

4. A method according to claim 3 in which said second pathname is treated as corresponding to said first pathname if said second pathname represents a subset of said first pathname.

5. A method according to claim 3 in which a pathname representing each element indicated by said directory pathname, is added to said lock store.

6. A method according to claim 1 in which if in step e) said request is to unlock a directory pathname then removing from said lock store any entry which was made by the same process that made said request to release said lock and which corresponds to said directory pathname or any pathname which is a subset of said directory.

7. A method according to claim 1 , is carried out by an operating system kernel and/or API.

8. Apparatus for locking shared data, the apparatus being operable to:

receive a first request to acquire a lock for a first pathname;

store said first pathname in a lock store;

receive a further request to acquire a lock for a second pathname and in response to search said lock store for a corresponding pathname;

deny said further request to acquire said lock for said second pathname if said second pathname corresponds to said first pathname in said lock store;

remove said first pathname from said lock store in response to a request to release said lock for said first pathname;

wherein said requests are made by one or more processes which access data represented by said pathname; and

wherein if a process quits leaving any remaining locks in the lock store then said remaining locks are released after a predetermined period.

9. Apparatus according to claim 8 being further operable to remove said first pathname from said lock store in response to a request to release said lock for said first pathname.

10. Apparatus according to claim 9 in which said requests are made by one or more processes which access data represented by said pathname.

11. Apparatus according to claim 10 in which data identifying the process making said first request is stored in association with said pathname in said lock store.

12. Apparatus according to claim 8 in which said first pathname is a directory name.

13. Apparatus according to claim 12 in which said second pathname is treated as corresponding to said first pathname if said second pathname represents a subset of said first pathname.

14. Apparatus according to claim 8 in which if said request to unlock a pathname is a request to unlock a directory, then removing from said lock store any entry which was made by the same process that made said request to release said lock and which corresponds to said directory pathname or any pathname which is a subset of said directory.

15. Apparatus for locking shared data as claimed in claim 8 , the apparatus comprising:

means for receiving a first request to acquire a lock for a first pathname;

means for storing said first pathname in a lock store; and

means operable in response to a further request to acquire a lock for a second pathname, to search said lock store for a corresponding pathname and, if said second pathname corresponds to said first pathname in said lock store, to deny said further request to acquire said lock for said second pathname.

16. A computer readable storage medium, having embodied thereon a program or group of programs that, when executed by a programmable device or group of programmable devices, perform a method for locking shared data, the method comprising the steps of:

a) receiving a first request to acquire a lock for a first pathname;

b) storing said first pathname in a lock store;

c) in response to a further request to acquire a lock for a second pathname, searching said lock store for a corresponding pathname;

d) if said second pathname corresponds to said first pathname in said lock store then denying said further request to acquire said lock for said second pathname;

e) removing said first pathname from said lock store in response to a request to release said lock for said first pathname;

wherein said requests are made by one or more processes which access data represented by said pathname; and

wherein if a process quits leaving any remaining locks in the lock store then said remaining locks are released after a predetermined period.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT L.P.
To: SK HYNIX INC.
Reel/Frame 044486/0360 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2006
From: SRIVASTAVA, MANISH; MALAVIYA, AJIT
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 018281/0531 →
Priority Claims (1)
IN 1204/CHE/2005 · Aug 29, 2005 · national
Continuity (1)
Related Publication 20070050377A1 · Mar 1, 2007