1. Field of the Invention
The present invention relates to a method, system, and program for managing locks enabling access to a shared resource.
2. Description of the Related Art
In a network system, a client may access a storage resource including a file system through a server node. The storage resource may comprise one or more hard disk drives, an array of disks (e.g., Just a Bunch of Disks (JBOD), a Redundant Array of Independent Disk RAID), etc.), a tape library or a cache. In the Network File System (NFS), client systems issue requests to an NFS server, which then is capable of accessing data and performing Input/Output (I/O) operations with respect to a shared storage resource. In this way, the NFS server acts as an intermediary to read, write, create or delete files maintained in another system, which may be any computing device in the network. The NFS client mounts the data sets from another system to appear as local directories and files on the client system. The NFS server allows for file sharing between operating system platforms and file serving. An NFS client includes software that enables the client to access data from the NFS server.
An NFS client may lock a record or file on the NFS server. A client may obtain a monitored lock. With a monitored lock, if the host on which the NFS server is operating failed, then the locks are reinstated when the server host recovers. If the client host fails before the locks are released, then the NFS server will discard the locks. Each NFS client and server includes a lock manager program that manages locks and includes the protocol to handle recovery from failure. The lock managers obtain information on the status of locks through a network status monitor (NSM) program that runs on each client and server. Applications use the network status monitor (NSM) to register interest in certain machines. The NSM then notifies the clients/applications on any changed state with respect to monitored machines, such as going offline or online.
For instance, when an NFS client goes down, the lock managers on all servers are notified through their network status monitors (NSM). The server locking managers then release the client's locks, on the assumption that the client will request locks again as needed. When an NFS server crashes, the NFS clients wait for notification from an NSM that the server is back on-line and then take appropriate action to reclaim their locks. Once the server is up, the server lock manager will provide the client lock managers a grace period to submit lock reclaim requests during which the server will accept only reclaim requests.
The above described locking mechanisms are utilized when there is a single NFS server node providing access to a shared storage resource. However, there is a need in the art to provide a locking protocol and mechanism when multiple server nodes provide access to the same shared storage resource.
Provided are a method, system, and program for managing locks enabling access to a shared resource. A first server receives a lock request from a client for the shared resource. A determination is made as to whether a second server owns the client locks. The first server issues a request to the second server to transfer ownership of the client locks to the first server, wherein the client lock requests are handled by the server owning the client locks.
In further implementations, client lock information accessible to both the first and second servers indicates the server owning the locks for the client. The first server issues the request to the first server indicated in the client lock information as owning the locks for the client.
Still further, the first and second servers may maintain client lock state information indicating a state of the server with respect to the client locks, wherein only one server has client lock state information indicating that the server has the client locks.
Described implementations provide techniques for different servers to manage locks for a shared resource in a manner that avoids conflicts between the servers. To avoid conflicts, if a client lock request is routed to a server that does not currently own the client locks, then the receiving server will initiate actions to cause the transfer of ownership of the client locks from the owner server before access to the shared resource is granted.
Referring now to the drawings in which like reference numbers represent corresponding parts throughout:
In the following description, reference is made to the accompanying drawings which form a part hereof and which illustrate several embodiments of the present invention. It is understood that other embodiments may be utilized and structural and operational changes may be made without departing from the scope of the present invention.
In certain implementations, groups of one or more network servers 2a, 2b . . . 2h may be addressed through a common address portion, referred to herein as a virtual interface address.
With the described implementations, multiple paths and availability are provided at both server levels because the client may select from one or many virtual interface addresses 10a, 10b, 10c and at the virtual interface address, one virtual interface address may be used to access one of multiple network servers 2a, 2b . . . 2h. Although
The client and server lock managers 20a, 20b further control access to the shared storage 4 to prevent multiple clients 6a, 6b . . . 6n from issuing conflicting requests to the shared storage 4. For instance, in certain implementations, the lock managers 20a, 20b may implement aspects of the Network File Storage (NFS) locking protocol to manage requests from multiple clients. Alternative network file system locking mechanisms may be used to manage locks for requests from different clients. In certain implementations another server would take over for the failed server and notify the client such that the client will reacquire the locks from one of the surviving servers.
In the described implementations, the shared storage 4 maintains information on the locking state for each client in a status monitor file 40a, 40b . . . 40n. As discussed, each server 2a, 2b . . . 2n maintains information on its relation to each client lock in the client lock state 24a, 24b . . . 24n. In certain implementations, the client lock information is maintained in files 40a, 40b . . . 40n (as shown in
In certain implementation, the lock information such as the client address 42, virtual interface address 44, owner 46, and status 48 may be maintained as attribute information of the file 40a, 40b . . . 40n and the lock resources 50 may be maintained as data in the file. In certain implementations, the lock resources 50 may be present in a file during transfer of ownership of lock state. Although the client lock status information is described as being maintained in a separate file 40a, 40b . . . 40n for each client, in alternative implementations, the lock status information for multiple or all clients may be maintained in the same file or data structure, or maintained in alternative structured format, such as a database, Extensible Markup Language (XML) file, table, etc.
With the described implementations, any network server 2a, 2b . . . 2h can determine the locks held by any client 6a, 6b . . . 6n from the client lock state 24a, 24b . . . 24n maintained in that server 2a, 2b . . . 2n for the client and the status monitor file 40a, 40b . . . 40n for the client (
To ensure that only one network server 2a, 2b . . . 2n owns the client lock state for a particular client 6a, 6b . . . 6n, in described implementations, the ownership of the client lock state, which is indicated in the owner field 46, may be transferred from one server that previously handled client lock requests to another server receiving the most recent client lock request. Client lock requests may be transmitted to a different server 2a, 2b . . . 2h for load balancing reasons. Further, in the event of a failure at the network server owning the node, the ownership may be transferred to an available node and the client whose lock is maintained at the failing node would be notified of the failure in order to reclaim the locks at the new available server to which ownership is transferred. In certain implementations, ownership is transferred in a manner to avoid processing a conflicting client lock request during the transfer process.
If (at block 108) a status monitor file 40a, 40b . . . 40n already exists for the requesting client, then another server owns the client locks. In such case, the receiving server lock manager 40b sends (at block 12) a request lock state message to the owner server 2a, 2b . . . 2h indicated in field 46 of the client status monitor file 40a, 40b . . . 40n and sets the client lock state 24a, 24b . . . 24n at the receiving server 2a, 2b . . . 2h to “request pending”.
With respect to
With respect to
Thus, in certain implementations, the file system provides a technique for moving locks from one network server to another without having the exclusive locks released in a manner that would allow a different network server to obtain the lock. In the above described implementations, a lock manager in a first network server attempting to obtain the lock may use a restricted interface to obtain an exclusive lock while the same lock is already granted to a second network server. Later, the second network server would release the lock after the lock is moved to the first network server.
After acquiring all shared and/or exclusive locks indicated in the lock resources 50 of the status monitor file 40a, 40b . . . 40n, the receiving server 2a, 2b . . . 2h sends (at block 148) a “release locks” message to the previous owner server 2a, 2b . . . 2h.
With respect to
With respect to
With the described implementations, only one of the servers at a time will handle lock requests for a particular client to the shared storage 4 resource. This allows the server holding the client locks to prevent a single client from issuing conflicting lock requests. As discussed, conflicting lock requests among different clients are handled at a different level in the distributed file system. With the described implementations, if a client lock request is routed to a server that does not currently own the client locks, i.e., its client lock state 24a, 24b . . . 24n is not “have locks”, then the receiving server will initiate actions to cause the transfer of ownership of the client locks from the owner server. As discussed, a client lock request may be routed to a different network server 2a, 2b . . . 2h due to load balancing.
Further, because during the lock ownership transfer, a client status monitor file exists identifying an owner, no other server would attempt to obtain an exclusive lock for the client. Moreover, if another intervening server tried to cause the transfer of the ownership of the client locks while a transfer of such client locks was already occurring between two servers, then that intervening server would not get the “take locks” message to allow it to continue (at block 140 in
The client status monitor files may also be used to facilitate lock reclamation. For instance, if a server fails, then another server alerted through the server status monitor 22b of such failure may search the status monitor files 40a, 40b . . . 40n in the shared storage to locate all clients whose client status monitor files indicate the failed server as the owner server 46 (
The described techniques for managing locks in a distributed computing system may be implemented as a method, apparatus or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. The term “article of manufacture” as used herein refers to code or logic implemented in hardware logic (e.g., an integrated circuit chip, Programmable Gate Array (PGA), Application Specific Integrated Circuit (ASIC), etc.) or a computer readable medium, such as magnetic storage medium (e.g., hard disk drives, floppy disks, tape, etc.), optical storage (CD-ROMs, optical disks, etc.), volatile and non-volatile memory devices (e.g., EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, firmware, programmable logic, etc.). Code in the computer readable medium is accessed and executed by a processor. The code in which preferred embodiments are implemented may further be accessible through a transmission media or from a file server over a network. In such cases, the article of manufacture in which the code is implemented may comprise a transmission media, such as a network transmission line, wireless transmission media, signals propagating through space, radio waves, infrared signals, etc. Thus, the “article of manufacture” may comprise the medium in which the code is embodied. Additionally, the “article of manufacture” may comprise a combination of hardware and software components in which the code is embodied, processed, and executed. Of course, those skilled in the art will recognize that many modifications may be made to this configuration without departing from the scope of the present invention, and that the article of manufacture may comprise any information bearing medium known in the art.
In described implementations, the locking was managed in a distributed manner through the lock managers maintained in the clients and servers. Alternatively, certain lock management operations may be handled by a central server.
In the described implementations, the locks were used to manage access to shared storage resources. In alternative implementations, the locks may be used to manage access to any computing or other resource accessible to the servers providing the clients access to the resources.
In described implementations, the client status monitor files are maintained in a directory location in the shared storage 4 known to all the servers. In alternative implementations, the client status monitor files may be maintained in a location other than the shared storage 4.
The illustrated logic of
Certain alphabetic variables, such as a, b, c, h, n, etc., are used to denote an integer value indicating a number of a certain element. These variables may indicate any value in the different instances in which they are used, and are used to indicate that the element with which they are used may have any number of instances.
The foregoing description of various implementations of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.
Number | Name | Date | Kind |
---|---|---|---|
5060144 | Sipple et al. | Oct 1991 | A |
5161227 | Dias et al. | Nov 1992 | A |
5175852 | Johnson et al. | Dec 1992 | A |
5202971 | Henson et al. | Apr 1993 | A |
5226159 | Henson et al. | Jul 1993 | A |
5251317 | Iizuka et al. | Oct 1993 | A |
5339427 | Elko et al. | Aug 1994 | A |
5392433 | Hammersley et al. | Feb 1995 | A |
5440743 | Yokota et al. | Aug 1995 | A |
5454108 | Devarakonda et al. | Sep 1995 | A |
5459871 | Van Den Berg | Oct 1995 | A |
5513314 | Kandasamy et al. | Apr 1996 | A |
5535375 | Eshel et al. | Jul 1996 | A |
5537645 | Henson et al. | Jul 1996 | A |
5613139 | Brady | Mar 1997 | A |
5615373 | Ho | Mar 1997 | A |
5682537 | Davies et al. | Oct 1997 | A |
5692120 | Forman et al. | Nov 1997 | A |
5734909 | Bennett | Mar 1998 | A |
5742813 | Kavanagh et al. | Apr 1998 | A |
5745747 | Chang et al. | Apr 1998 | A |
5761659 | Bertoni | Jun 1998 | A |
5845117 | Fujita | Dec 1998 | A |
5845147 | Vishlitzky et al. | Dec 1998 | A |
5872981 | Waddington et al. | Feb 1999 | A |
5890153 | Fukuda et al. | Mar 1999 | A |
5933825 | McClaughry et al. | Aug 1999 | A |
5983225 | Anfindsen | Nov 1999 | A |
5987621 | Duso et al. | Nov 1999 | A |
6029190 | Oliver | Feb 2000 | A |
6041384 | Waddington et al. | Mar 2000 | A |
6044404 | Holdsworth et al. | Mar 2000 | A |
6105098 | Ninose et al. | Aug 2000 | A |
6115715 | Traversat et al. | Sep 2000 | A |
6128657 | Okanoya et al. | Oct 2000 | A |
6141720 | Jeffords et al. | Oct 2000 | A |
6145089 | Le et al. | Nov 2000 | A |
6145094 | Shirriff et al. | Nov 2000 | A |
6151659 | Solomon et al. | Nov 2000 | A |
6173293 | Thekkath et al. | Jan 2001 | B1 |
6182186 | Daynes | Jan 2001 | B1 |
6192408 | Vahalia et al. | Feb 2001 | B1 |
6266785 | McDowell | Jul 2001 | B1 |
6275953 | Vahalia et al. | Aug 2001 | B1 |
6292860 | Cochcroft, Jr. et al. | Sep 2001 | B1 |
6324571 | Hacherl | Nov 2001 | B1 |
6324581 | Xu et al. | Nov 2001 | B1 |
6336171 | Coskrey, IV | Jan 2002 | B1 |
6341318 | Dakhil | Jan 2002 | B1 |
6389420 | Vahalia et al. | May 2002 | B1 |
6412034 | Chan | Jun 2002 | B1 |
6539446 | Chan | Mar 2003 | B1 |
6553384 | Frey et al. | Apr 2003 | B1 |
6618744 | Simmons et al. | Sep 2003 | B1 |
6668304 | Satran et al. | Dec 2003 | B1 |
6697901 | Shun Chan | Feb 2004 | B1 |
6757769 | Ofer | Jun 2004 | B1 |
6789204 | Abdelnur et al. | Sep 2004 | B2 |
6823511 | McKenney et al. | Nov 2004 | B1 |
6959337 | McLaughlin et al. | Oct 2005 | B2 |
7010554 | Jiang et al. | Mar 2006 | B2 |
7047337 | Armstrong et al. | May 2006 | B2 |
7089555 | Calvignac et al. | Aug 2006 | B2 |
7107319 | Chandrasekaran et al. | Sep 2006 | B2 |
7174552 | Mikael et al. | Feb 2007 | B2 |
7328263 | Sadjadi | Feb 2008 | B1 |
7844585 | Walker | Nov 2010 | B2 |
7870111 | Walker | Jan 2011 | B2 |
8161018 | Walker | Apr 2012 | B2 |
8200643 | Walker | Jun 2012 | B2 |
20030018782 | Dixon et al. | Jan 2003 | A1 |
20030066880 | Ieshima et al. | Apr 2003 | A1 |
20030135537 | Mikael et al. | Jul 2003 | A1 |
20030191745 | Jiang et al. | Oct 2003 | A1 |
20030217092 | Veselov | Nov 2003 | A1 |
20030233455 | Leber et al. | Dec 2003 | A1 |
20040019892 | E. et al. | Jan 2004 | A1 |
20040068563 | Ahuja et al. | Apr 2004 | A1 |
20040117372 | Kasman | Jun 2004 | A1 |
20040199734 | Rajamani et al. | Oct 2004 | A1 |
20040221079 | Goldick | Nov 2004 | A1 |
20060101081 | Lin et al. | May 2006 | A1 |
20060167921 | Grebus et al. | Jul 2006 | A1 |
20060206901 | Chan | Sep 2006 | A1 |
20060212496 | Romine et al. | Sep 2006 | A1 |
20080263549 | Walker | Oct 2008 | A1 |
20110078126 | Walker | Mar 2011 | A1 |
20120173499 | Walker | Jul 2012 | A1 |
Number | Date | Country |
---|---|---|
0 428 006 | May 1991 | EP |
0 575 067 | Dec 1993 | EP |
08137707 | May 1996 | JP |
10-021098 | Jan 1998 | JP |
7253950 | Oct 1998 | JP |
513512 | Dec 2002 | TW |
522303 | Mar 2003 | TW |
WO-9938096 | Jul 1999 | WO |
Entry |
---|
Richard Rabbat, A high-availability clustering architecture with data integrity guarantees, 2001. |
Ciciani, B., D. M. Dias, B. R. Tyer, and P.S. Yu. “Protocol for Hybrid Centralized-Distributed Database System,” IBM Technical Disclosure Bulletin, vol. 31, No. 9, Feb. 1989, pp. 474-475. |
Distributed Management Task Force, Inc. (DMTF). “Specification for CIM Operations over HTTP”, (online), DSP0200, Status: Preliminary, Version 1.1, May 2, 2002, [retrieved on Jun. 27, 2002]. Retrieved from the Internet at <URL: http://www.dmtf.org/standards/documents/WBEM/DSP0200.html>. |
Ray, Indrajit, Elisa Bertino, Sushil Jajodia, and Luigi Mancini, “An Advanded Commit Protocol for MLS Distributed Database Systems”, © 1996 ACM, pp. 119-128. |
U.S. Appl. No. 10/428,758, filed May 1, 2003, entitled “Method, System, and Program for Managing Locks and Transactions”, invented by M.L. Walker. |
U.S. Appl. No. 10/428,780, filed May 1, 2003, entitled “Method, System, and Program for Lock and Transaction Management”, invented by M.L. Walker. |
IBM Corp., “z/OS V1R2.0 Network File System User's Guide,” Doc. No. SC26-7419-02, Chapter 1 & 5,Third Edition, Dec. 2001, pp. 1-38 [online]. |
The Santa Cruz Operation, Inc., “The NFS Network Lock Manager. ‘The Locking Protocol,’” p. 1, [online] [retrieved on Aug. 2, 2002]. Retrieved from http://docsrv.caldera.com/NET—nfs/nfsC.lock—prot.html. |
The Santa Cruz Operation, Inc., “The NFS Network Lock Manager. File Locking and System Crashes,” pp. 1-2, [online] [retrieved on Aug. 2, 2002]. Retrieved from http > //docsrv.caldera.com/NET—nfs/nfsC.locking—crashes.html. |
The Santa Cruz Operation, Inc., “The NFS Network Lock Manager. The Network Status Monitor,” p. 1, [online] [retrieved on Aug. 2, 2002]. Retrieved from http://docsrv.caldera.com/NET—nfs/nfsC.stat—mon.html. |
“A Highly Available Lock Manager for HA-NFS,” by A. Bhide and S. Shepler. Proceedings of the USENIX Summer Conference1992, pp. 177-184. |
“Scaling Internet Services by LinuxDirector,” by W. Zhang, S. Jin and Q. Wu. Fourth International Conference/Exhibition on High Performance Computing in the Asia-Pacific Region, 2000. Proceedings. vol. 1, 2000, pp. 176-183. |
The HA-NFS Project home page. [online] [retrieved on Jan. 7, 2002]. Retrieved from http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/mootaz/ftp/html/hanfs.html. |
PCT/GB2004/001899, PCT Invitation to Pay Additional Fees, dated Sep. 27, 2004. |
Moss, et al., “Nested Transactions: An Approach to Reliable Distributed Computing”, Laboratory for Computer Science, Massachusetts Institute of technology, Apr. 1981, pp. 1-178. |
Domenici, et al., “A Protocol for Resource Locking and Deadlock Detection in a Multi-User Envrionment”, Microprocessing and Microprogramming 27 (Aug. 1989), Nos. 1/5, Amsterdam, NL; pp. 431-437. |
De Ferreira Rezende et a., “Transaction Identifiers in Nested Transactions; Implementation Schemes and Performance”, The Computer Journal, vol. 40, No. 5, 1997; pp. 245-258. |
Rothermel, et al., “ARIES/NT: A Recovery method Based on Write-Ahead Logging for Nested Transactions”, Proceedings of the 15th International Conference on Very Large Data Bases, Amrsterdam, 1989; pp. 337-346. |
IBM Corp., “Recovery Protocol for Nested Transactions Using Write-Ahead Logging”, IBM Technical Disclosure Bulletin, vol. 31, No. 4, Sep. 1988, pp. 451-452. |
C. Mohan, ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging, ACM Transactions on Database Systems, vol. 17, No. Mar. 1992, pp. 94-162. |
Shin et al., “An Efficient Log-Based Crash Recovery Scheme for Nested Transactions”, Microprocessing and Micropramming, vol. 31, Issue 1-5, Apr. 1991, pp. 99-104. |
PCT/GB/2004/001927 PCT Search Report and Written Opinion, mailed Jan. 31, 2005. |
Scott, et al., “Non-Blocking Timeout in Scalable Queue-Based Spin Locks”, PODC 2002, Jul. 21-24, 2002, pp. 31-40. |
Magnussen, et al., “Queue Locks on Cache Coherent Multiprocessors,”IEEE 1993 doc., ID XP 010098628, pp. 165-171. |
Mellor-Crummy, et al., “Algorithms for Scalable Synchronization . . . ”, ACM Transactions on Computer Systems, Feb. 9, 1991, No. 1, New York, pp, 21-28. |
Radovic, et al., Efficient Synchronization for Nonuniform Communication Architectures, IEEE 2002, Doc. ID XP002308574, pp. 1-13. |
Scott, et al., Scalable Queue-Based Spin Locks with Timeout, PPOPP '01, Jun. 18-20, 2001, 9 pp. |
IBM Corp., “Fine Granularity Locking to Support High Data Availability in a Client/Server Database Management System”, IBM Technical Disclosure Bulletin, Voo. 38, No. 2, Feb. 1995, pp. 143-145. |
Rabbat, et al., “A High-Availability Clustering Architecture with Data Integrity Guarantees”, Proceedings of the 2001 IEEE International Conference on Cluster Computing, 2002. |
U.S. Patent Application entitled “Method, System and Program for Managing Locks and Transactions”, U.S. Appl. No. 11/840,842, filed Aug. 17, 2007, by inventor M.L. Walker. |
U.S. Patent Application entitled “Method, System and Program for Lock and Transaction Management”, U.S. Appl. No. 11/777,911, filed Jul. 13, 2007, by inventor M.L. Walker. |
EPO Communication dated Jun. 18, 2007 for Application No. 04 731 051.1-1243. |
PCT/GB2004/001899, PCT Search Report and Written Opinion, dated Dec. 29, 2004. |
Non-U.S Search Report for for Taiwan Invention Patent Application No. 093112119/SJ0920020055TW1, dated Mar. 17, 2009, 1 pg. |
Non-U.S Search Report for for Taiwan Invention Patent Application SJ0920020088TW1, dated Apr. 2, 2009, 1 pg. |
Patent Abstract for TW513512, published on Dec. 11, 2002, 1 pg. |
Patent Abstract for TW522303, published on Mar. 1, 2003, 1 pg. |
Patent Abstract and Machine Translation for PUPA 08-137707, dated May 31, 2006, pp. 1-19. |
Machine Translation for PUPA 10-021098, dated Jan. 23, 1998, pp. 1-12. |
Canadian Office Action, dated Feb. 3, 2010, for Application No. 2,677,251, 2 pgs. |
R. Kataoka et al. “Priority Management for Mixed Processing of Real-Time and On-Line Transactions”, Transactions of the Instituted of Electronics, Information and Commission Engineers, vol. 176 D-I, No. 5, May 25, 1993, total 12 pgs. (English Abstract Included). |
Japanese Information Disclosure Statement, dated Mar. 26, 2010, 1 pg. |
First Office Action dated Dec. 16, 2005, pp. 1-23 for U.S. Appl. No. 10/428,758, filed May 1, 2003 by inventor Michael Leo Walker. |
Response to First Office Action dated Mar. 20, 2006, pp. 1-13, for U.S. Appl. No. 10/428,758, filed May 1, 2003 by inventor Michael Leo Walker. |
Supplemental Amendment dated Mar. 23, 2006, pp. 1-10, for U.S. Appl. No. 10/428,758, filed May 1, 2003 by inventor Michael Leo Walker. |
Final Office Action dated Aug. 2, 2006, pp. 1-24, for U.S. Appl. No. 10/428,758, filed May 1, 2003 by inventor Michael Leo Walker. |
Response to Final Office Action dated Jan. 19, 2007, pp. 1-14, for U.S. Appl. No. 10/428,758, filed May 1, 2003 by inventor Michael Leo Walker. |
Second Non-Final Office Action dated May 17, 2007, pp. 1-24, for U.S. Appl. No. 10/428,758, filed May 1, 2003 by inventor Michael Leo Walker. |
Response to Second Non-Final Office Action dated Aug. 17, 2007, pp. 1-14, for U.S. Appl. No. 10/428,758, filed May 1, 2003 by inventor Michael Leo Walker. |
Second Final Office Action dated Nov. 1, 2007, pp. 1-26, for U.S. Appl. No. 10/428,758, filed May 1, 2003 by inventor Michael Leo Walker. |
Response to Second Non-Final Office Action dated Feb. 13, 2008, pp. 1-17, for U.S. Appl. No. 10/428,758, filed May 1, 2003 by inventor Michael Leo Walker. |
Notice of Allowance dated Mar. 31, 2008, pp. 1-14 for U.S. Appl. No. 10/428,758, filed May 1, 2003 by inventor Michael Leo Walker. |
Notice of Allowance dated Apr. 21, 2008, pp. 1-6, for U.S. Appl. No. 10/428,758, filed May 1, 2003 by inventor Michael Leo Walker. |
First Office Action dated Apr. 30, 2009, pp. 1-17, for U.S. Appl. No. 11/840,842, filed Aug. 17, 2007 by inventor Michael Leo Walker. |
Response to First Office Action dated Jul. 30, 2009, pp. 1-7, for U.S. Appl. No. 11/840,842, filed Aug. 17, 2007 by inventor Michael Leo Walker. |
Notice of Allowance dated Nov. 2, 2009, pp. 1-20, for U.S. Appl. No. 11/840,842, filed Aug. 17, 2007 by inventor Michael Leo Walker. |
Second Notice of Allowance dated Jun. 28, 2010 pp. 1-13, for U.S. Appl. No. 11/840,842, filed Aug. 17, 2007 by inventor Michael Leo Walker. |
First Office Action dated May 26, 2011, pp. 1-40, for U.S. Appl. No. 12/147,388, filed Jun. 26, 2008 by inventor Michael Leo Walker. |
Response to First Office Action dated Aug. 26, 2011, pp. 1-11, for U.S. Appl. No. 12/147,388, filed Jun.26, 2008 by inventor Michael Leo Walker. |
Notice of Allowance dated Dec. 14, 2011, pp. 1-25, for U.S. Appl. No. 12/147,388, filed Jun. 26, 2008 by inventor Michael Leo Walker. |
First Office Action dated Apr. 19, 2006, pp. 1-22, for U.S. Appl. No. 10/428,780, filed May 1, 2003 by inventor Michael Leo Walker et al. |
Response to First Office Action dated Jul. 19, 2006, pp. 1-18, for U.S. Appl. No. 10/428,780, filed May 1, 2003 by inventor Michael Leo Walker et al. |
Final Office Action dated Oct. 23, 2006, pp. 1-27, for U.S. Appl. No. 10/428,780, filed May 1, 2003 by inventor Michael Leo Walker et al. |
Response to Final Office Action dated Dec. 21, 2006. pp. 1-20, for U.S. Appl. No. 10/428,780, filed May 1, 2003 by inventor Michael Leo Walker et al. |
Advisory Action dated Jan. 9, 2007, pp. 1-5, for U.S. Appl. No. 10/428,780, filed May 1, 2003 by inventor Michael Leo Walker et al. |
Supplemental Amendment dated Jan. 23, 2007, pp. 1-22, for U.S. Appl. No. 10/428,780, filed May 1, 2003 by inventor Michael Leo Walker et al. |
Notice of Allowance dated Aug. 21, 2007, pp. 1-9, for U.S. Appl. No. 10/428,780, filed May 1, 2003 by inventor Michael Leo Walker et al. |
First Office Action dated Jun. 24, 2009, pp. 1-26, for U.S. Appl. No. 11/777,911, filed Jul. 13, 2007 by inventor Michael Leo Walker et al. |
Response to First office Action dated Sep. 24, 2009, pp. 1-19, for U.S. Appl. No. 11/777,911, filed Jul. 13, 2007 by inventor Michael Leo Walker et al. |
Final Office Action dated Jan. 6, 2010, pp. 1-13, for U.S. Appl. No. 11/777,911, filed Jul. 13, 2007 by inventor Michael Leo Walker et al. |
Response to final Office Action dated Apr. 6, 2010, pp. 1-8, for U.S. Appl. No. 11/777,911, filed Jul. 13, 2007 by inventor Michael Leo Walker et al. |
Notice of Allowance dated Apr. 23, 2010, pp. 1-8, for U.S. Appl. No. 11/777,911, filed Jul. 13, 2007 by inventor Michael Leo Walker et al. |
Notice of Appeal and Pre-Appeal Request dated Apr. 6, 2010, pp. 1-6, for U.S. Appl. No. 11/777,911, filed Jul. 13, 2007 by inventor Michael Leo Walker et al. |
Second Notice of Allowance dated Sep. 9, 2010, pp, 1-9, for U.S. Appl. No. 11/777,911, filed Jul. 13, 2007 by inventor Michael Leo Walker et al. |
First Office Action dated Apr. 8, 2011, pp. 1-23, for U.S. Appl. No. 12/961,290, filed Dec. 6, 2012 by inventor Michael Leo Walker et al. |
Response to First Office Action dated Jul. 8, 2011, pp. 1-13, for U.S. Appl. No. 12/961,290, filed Dec. 6, 2012 by inventor Michael Leo Walker et al. |
Supplemental Amendment dated Aug. 3, 2001, pp. 1-10, for U.S. Appl. No. 12/961,290, filed Dec. 6, 2012 by inventor Michael Leo Walker et al. |
Notice of Allowance dated Jan. 18, 2012, pp. 1-22, for U.S. Appl. No. 12/961,290, filed Dec. 6, 2012 by inventor Michael Leo Walker et al. |
Second Notice of Allowance dated May 3, 2012, pp. 1-12, for U.S. Appl. No. 12/961,290, filed Dec. 6, 2012 by inventor Michael Leo Walker et al. |
Supplemental Notice of Allowance dated Aug. 21, 2007 pp. 1-9, for U.S. Appl. No. 10/428,780, filed May 1, 2003 by inventor Michael Leo Walker et al. |
Office Action, dated Dec. 20, 2012, for U.S. Appl. No. 13/418,155, filed Mar. 12, 2012 by Micheal L. Walker et al, pp. 1-40. |
Office action dated Dec. 20, 2012, for U.S. Appl. No. 13/418,155, filed Mar. 12, 2012, entitled “Managing Locks and Transactions”, invented by Michael Leo Walker, pp. 1-40. |
Number | Date | Country | |
---|---|---|---|
20040068563 A1 | Apr 2004 | US |