| Class / Patent application number | Description | Number of patent applications / Date published |
| 710200000 | ACCESS LOCKING | 38 |
| 20130046910 | METHOD FOR MANAGING A PROCESSOR, LOCK CONTENTION MANAGEMENT APPARATUS, AND COMPUTER SYSTEM - A method for managing a processor includes: obtaining an online request of a processor of a computer system; collecting lock contention information of the computer system if a lock contention status flag indicates a non-lock thrashing status; determining whether the computer system is in a lock thrashing status according to the lock contention information; and accepting the online request if it is determined that the computer system is in a non-lock thrashing status. By using the management method according to embodiments of the present application, processor performance degradation and a waste of idle processor resources that are caused by the case that the computer system is in a lock thrashing status are prevented, thereby improving utilization efficiency of processor resources and promoting overall performance of the computer system. | 02-21-2013 |
| 20130080672 | SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR ACCESS CONTROL - An access control system for controlling access to a resources group including multiple computer accessible resources, the system including: a lock, configured to selectively deny a request of a process to access the resource when the resource is locked; and a global lock, configured to grant to the process exclusive access to add a pending-task entry into a resource-associated data structure associated with the resource; wherein the global lock has to be acquired by any process whose request to access any resource of the resources group for performing of any task was denied, in order for access thereto for performing the respective task to be granted; wherein the lock is further configured to selectively grant, following the adding of the pending task-entry into the resource-associated data structure, exclusive access to the resource for performing a task associated with the pending task entry upon a releasing of the resource associated lock. | 03-28-2013 |
| 20130042039 | DEADLOCK PREVENTION - Methods, systems, and computer-readable media with executable instructions stored thereon for preventing deadlocks are provided. An inter-device mutex (IDM) can be locked for a first client. An error message can be sent to a second client in response to a received first lock command from the second client while the IDM is locked for the first client. A number of second lock commands from the second client while the IDM is locked for the first client can be received. The IDM can be unlocked for the first client in response to an unlock command received from the first client. The IDM can be locked for the second client in response to a received third lock command from the second client, wherein the third lock command is received subsequent to unlocking the IDM for the first client. | 02-14-2013 |
| 20120191892 | COMPONENT-SPECIFIC DISCLAIMABLE LOCKS - Systems and methods of protecting a shared resource in a multi-threaded execution environment in which threads are permitted to transfer control between different software components, for any of which a disclaimable lock having a plurality of orderable locks can be identified. Back out activity can be tracked among a plurality of threads with respect to the disclaimable lock and the shared resource, and reclamation activity among the plurality of threads may be ordered with respect to the disclaimable lock and the shared resource. | 07-26-2012 |
| 20120198111 | MANAGING A RESOURCE LOCK - Controlling access to a resource by a plurality of resource requesters is disclosed. The resource lock operates in a contention efficient (heavyweight) operating mode, and in response to a request from a resource requester to acquire the resource lock, a count of a total number of acquisitions of the resource lock in the contention efficient operating mode is incremented. In response to access to the resource not being contended by more than one resource requester, a count of a number of uncontended acquisitions of the resource lock in the contention efficient operating mode is incremented, and a contention rate is calculated as the number of uncontended acquisitions in the contention efficient operating mode divided by the total number of acquisitions in the contention efficient operating mode. In response to the contention rate meeting a threshold contention rate, the resource lock is changed to a non-contention efficient (lightweight) operating mode. | 08-02-2012 |
| 20130132627 | System and Method for Implementing Locks Shared Between Kernel and User Space - An apparatus comprising one or more processors configured to implement a plurality of operations for an operating system (OS) platform including a kernel and a user application, one or more shared resource blocks by the kernel and the user application, and one or more shared locks by the kernel and the user application corresponding to the shared resource blocks, wherein the user application is configured to synchronize accesses to the shared resource blocks between a user thread and a kernel thread by directly accessing the locks without using a system call to the kernel. | 05-23-2013 |
| 20110296069 | Fabric Based Lock Manager Service - A replicated finite state machine lock service facilitates resource sharing in a distributed system. A lock request from a client identifies a resource and a lock-mode, and requests a leaseless lock on the resource. The service uses client instance identifiers to categorize requests as duplicate, stale, abandoned, or actionable. A lock may be abandoned when a client holding the lock goes down. After a per-client abandonment timer expires, the lock service may treat any exclusive lock granted to the client as abandoned, and treat any non-exclusive lock granted to the client as unlocked. The service tries to notify a lock-holding client if another client requests the same lock, and treats the lock as abandoned if the notification attempt fails. An abandoned read lock is granted to a different client on request. An abandoned write lock is granted or refused depending on whether the requesting client accepts abandoned write locks. | 12-01-2011 |
| 20080215784 | REALTIME-SAFE READ COPY UPDATE WITH PER-PROCESSOR READ/WRITE LOCKS - A technique for realtime-safe detection of a grace period for deferring the destruction of a shared data element until pre-existing references to the data element have been removed. A per-processor read/write lock is established for each of one or more processors. When reading a shared data element at a processor, the processor's read/write lock is acquired for reading, the shared data element is referenced, and the read/write lock that was acquired for reading is released. When starting a new grace period, all of the read/write locks are acquired for writing, a new grace period is started, and all of the read/write locks are released. | 09-04-2008 |
| 20080276025 | LOCK INFERENCE FOR ATOMIC SECTIONS - Locks which protect data structures used within atomic sections of concurrent programs are inferred from atomic sections and acquired in a manner to avoid deadlock. Locks may be inferred by expression correspondence using a backward inter-procedural analysis of an atomic section. Locks may be sorted according to a total order and acquired early in an atomic section to prevent deadlock. Multiple granularity of locks are determined and employed. Fine grained locks may be inferred and acquired to reduce contention. Coarse grained locks may be determined and substituted for fine grained locks when necessary for unbounded locations or to reduce the number of finer grained locks. | 11-06-2008 |
| 20100100655 | MANAGEMENT OF CLUSTER-WIDE RESOURCES WITH SHARED VARIABLES - The number of concurrent systems locks supported on a Sysplex is limited. Since persistent system locks may not be released for a long time, the limit may be reached resulting in outage periods. Access to resources may be managed through shared variables across a cluster of computing systems. Processes running on the cluster can use shared variables that are either exclusive or non-exclusive. An exclusive shared variable associates a resource with a process that has exclusive control of the resource. Since each exclusive shared variable is unique across the cluster, another application cannot create a second exclusive shared variable to control the resource. There is no limit on the number of exclusive shared variables that can be created on a cluster. Using exclusive shared variables instead of persistent system locks can prevent a system from reaching the limit of concurrent system locks while allowing processes exclusive use of resources. | 04-22-2010 |
| 20090164682 | Livelock Resolution - A mechanism is provided for resolving livelock conditions in a multiple processor data processing system. When a bus unit detects a timeout condition, or potential timeout condition, the bus unit activates a livelock resolution request signal. A livelock resolution unit receives livelock resolution requests from the bus units and signals an attention to a control processor. The control processor performs actions to attempt to resolve the livelock condition. Once a bus unit that issued a livelock resolution request has managed to successfully issue its command, it deactivates its livelock resolution request. If all livelock resolution request signals are deactivated, then the control processor instructs the bus and all bus units to resume normal activity. On the other hand, if the control processor determines that a predetermined amount of time passes without any progress being made, it determines that a hang condition has occurred. | 06-25-2009 |
| 20080244134 | Multiprocessor System and Method for Processing Memory Access - When receiving a write message, an input/output controller issues a write request message to a home processor node that holds the corresponding data in a memory. A memory controller of the processor node having received the write request message performs a consistency processing based on the status of the corresponding data stored in a directory and controls a write permission message to reach the input/output controller having issued the write request message. The input/output controller of the input/output node having received the write permission message issues, as the write message, an update message to the home processor node. The memory controller of the processor node having received the update message updates the data in a main storage part. In the processing described above, when receiving a plurality of write messages from input/output devices, the input/output controller issues a write request message regardless of the progress of the preceding write message, and issues a write message after an issuance of the write message of the preceding write. | 10-02-2008 |
| 20080288691 | METHOD AND APPARATUS OF LOCK TRANSACTIONS PROCESSING IN SINGLE OR MULTI-CORE PROCESSOR - The present invention relates to a method and apparatus of lock transactions processing in a single or multi-core processor. An embodiment of the present invention is a processor with one or more processing cores, an address arbitrator, where one or more processing cores are configured to submit a lock transaction request to the address arbitrator corresponding to a specific instruction in response to the execution of the specific instruction. The lock transaction request includes a lock variable address asserted on an address bus. The processor further includes a lock controller for performing lock transaction processing in response to the lock transaction request, and notifying processing result to the processing core from which the lock transaction request was sent. The processor further includes a switching device, coupled to the address arbitrator and the lock controller, for identifying the lock transaction request and notifying the lock transaction request to the lock controller. | 11-20-2008 |
| 20090049218 | RETRIEVING LOCK ATTENTION DATA - Provided are techniques for retrieving lock attention data. A group of attention connection paths configured to transmit lock attention interrupts and lock attention data between the host and the control unit are identified. A lock attention interrupt is received from the control unit. In response to receiving the lock attention interrupt, a connection path from the group of attention connection paths is selected and lock attention data is retrieved from the control unit using the selected connection path | 02-19-2009 |
| 20110225335 | USING A DUAL MODE READER WRITER LOCK - A method, system, and computer usable program product for using a dual mode reader writer lock. A contention condition is detected in the use of a lock in a data processing system, the lock being used for managing read and write access to a resource in the data processing system. A determination of the data structure used for implementing the lock is made. If the data structure is a data structure of a reader writer lock (RWL), the data structure is transitioned to a second data structure suitable for implementing the DML. A determination is made whether the DML has been expanded. If the DML is not expanded, the DML is expanded such that the data structure includes an original lock and a set of expanded locks. The original lock and each expanded lock in the set of expanded locks forms an element of the DML. | 09-15-2011 |
| 20090198849 | Memory Lock Mechanism for a Multiprocessor System - A memory lock mechanism within a multi-processor system is disclosed. A lock control section is initially assigned to a data block within a system memory of the multiprocessor system. In response to a request for accessing the data block by a processing unit within the multiprocessor system, a determination is made by a memory controller whether or not the lock control section of the data block has been set. If the lock control section of the data block has been set, the request for accessing the data block is denied. Otherwise, if the lock control section of the data block has not been set, the lock control section of the data block is set, and the request for accessing the data block is allowed. | 08-06-2009 |
| 20090240860 | Lock Mechanism to Enable Atomic Updates to Shared Memory - A system and method for locking and unlocking access to a shared memory for atomic operations provides immediate feedback indicating whether or not the lock was successful. Read data is returned to the requestor with the lock status. The lock status may be changed concurrently when locking during a read or unlocking during a write. Therefore, it is not necessary to check the lock status as a separate transaction prior to or during a read-modify-write operation. Additionally, a lock or unlock may be explicitly specified for each atomic memory operation. Therefore, lock operations are not performed for operations that do not modify the contents of a memory location. | 09-24-2009 |
| 20080307138 | METHOD AND SYSTEM FOR LOCKING RESOURCES IN A DISTRIBUTED ENVIRONMENT - A method and system that creates and maintains lock properties for a resource or object in a distributed environment. The lock properties provide other client computer systems limited availability to the locked resource. Limited availability relates to being able to only read, write or delete the resource, or any combination thereof. Additionally, these lock properties allow other client computer systems to simultaneously hold or share equivalent locks. Other lock properties relate to advisory or mandatory status for the lock. Advisory locks may be honored or ignored by other client computer systems. | 12-11-2008 |
| 20100191884 | METHOD FOR REPLICATING LOCKS IN A DATA REPLICATION ENGINE - An automated method is provided of replicating a locking protocol in a database environment for performing I/O operations wherein the database environment includes a plurality of databases. A locking protocol is performed that includes one or more explicit locking operations on objects in a first database of the database environment. The one or more explicit locking operations are replicated in one or more other databases in the database environment. At least some of the explicit locking operations are performed asynchronously with respect to the explicit locking operations performed in the first database. I/O operations are performed at the first database of the database environment that are associated with the one or more explicit locking operations implemented in the first database. | 07-29-2010 |
| 20100250809 | SYNCHRONIZATION MECHANISMS BASED ON COUNTERS - A method and apparatus to maintain a plurality of counters to synchronize a plurality of requests for a lock independent of interlocks are described. The plurality of counters include a lock counter and an unlock counter. The requests wait in a wait queue maintained separately from the counters without direct access between the counters and the wait queue. The lock counter indicates a cumulative number of lock requests to acquire the lock. The unlock counter indicates a cumulative number of unlock requests to release the lock acquired. One or more requests waiting for the lock are selected according to the counters to be granted with the lock when the lock is released. A request corresponds to a task performing synchronized operations when granted with the lock. | 09-30-2010 |
| 20100241774 | SCALABLE READER-WRITER LOCK - A reader-writer lock is provided that scales to accommodate multiple readers without contention. The lock comprises a hierarchical C-SNZI (Conditioned Scalable Non-Zero Indicator) structure that scales with the number readers seeking simultaneous acquisition of the lock. All readers that have joined the C-SNZI structure share concurrent acquisition, and additional readers may continue to join until the structure is disabled. The lock may be disabled by a writer, at which time subsequent readers will wait (e.g., in a wait queue) until the lock is again available. The C-SNZI structure may be implemented in a lockword or in reader entries within a wait queue. If implemented in reader entries of a wait queue, the lockword may be omitted, and new readers arriving at the queue may be able join an existing reader entry even if the reader entry is not at the tail of the queue. | 09-23-2010 |
| 20090319710 | DEVICE AND METHOD FOR LOCKING TOUCH SCREEN - An electronic device includes a central processing unit (CPU), a touch screen, a locking module, and a locking button. The locking module is configured for storing a locking program. When the touch screen is forced into an unlocked status, operation of the locking button is capable of causing the CPU to instruct the locking module to activate the locking program to lock the touch screen. | 12-24-2009 |
| 20100306432 | COMPUTER-IMPLEMENTED MULTI-RESOURCE SHARED LOCK - In one embodiment of a computer-implemented system, comprising a plurality of computer entities and multiple resources, one of the computer entities may request a multi-resource lock to one of the multiple resources; the one resource determines whether a resource lock is available at the one resource and, if so, the one resource communicates with all peer resources to determine whether a resource lock is available; if the peer resources indicate a resource lock is available, lock all of the resources to the requesting computer entity, and the one resource communicates the lock of the resources to the requesting computer entity; and if any the resource indicates contention for the multi-resource lock, the one resource communicates the contention to the requesting computer entity, and the requesting computer entity backs off the multi-resource lock request and, after a random time interval, repeats the request. | 12-02-2010 |
| 20100312936 | INTERLOCKING INPUT/OUTPUTS ON A VIRTUAL LOGIC UNIT NUMBER - In one embodiment, a solution is provided wherein a lock client sends lock requests to a lock manager upon receipt of an input/output (I/O) and receives back a lock grant. At some point later, the lock client may send a lock release. The lock manager, upon receipt of a lock release from a lock client, remove a first lock request corresponding to the lock release from a lock grant queue corresponding to the lock manager. Then, for each dependency queue lock request in a dependency queue corresponding to the first lock request, the lock manager may determine whether the dependency queue lock request conflicts with a second lock request in the lock grant queue, and then may process the dependency queue lock request according to whether the dependency queue lock requires conflicts with a second lock request in the lock grant queue. | 12-09-2010 |
| 20110246694 | MULTI-PROCESSOR SYSTEM AND LOCK ARBITRATION METHOD THEREOF - A multi-processor system of the present invention comprises a plurality of processors each configured to lock a shared resource and process a task; each of the processors including a lock wait information storage unit for storing lock wait information indicating whether or not the processor is waiting for acquirement of a lock of the shared resource; and a lock acquirement priority information storage unit for storing lock acquirement priority information indicating a priority according to which the shared resource is acquired; and each of the processors being configured to acquire the lock of the shared resource based on the lock wait information and the lock acquirement priority information. | 10-06-2011 |
| 20100057965 | Extension of Lock Discipline Violation Detection for Lock Wait Patterns - A computer usable medium including computer usable program code for detection of potential shared memory access deadlocks. The code determines, when a process waits on a first shared memory access lock, if the process holds locks other than the first lock. If so, then the code issues a warning about potential deadlock. | 03-04-2010 |
| 20090222607 | DOCUMENT MANAGEMENT SYSTEM, DOCUMENT MANAGEMENT METHOD, PROGRAM AND STORAGE MEDIUM - In a document management system according to the present invention, which is used for registering and managing a document in a database of a relational database server, a judgment is made as to whether or not a capacity of the database has reached a predetermined limited capacity, and when it is judged that the predetermined limited capacity has been reached, an identifier indicating an editing-inhibited state is added to the database, to inhibit all editing actions to the database, thereby achieving the user-friendly system. | 09-03-2009 |
| 20110161540 | HARDWARE SUPPORTED HIGH PERFORMANCE LOCK SCHEMA - A method and apparatus for lock allocation control. When a processor core acquires a lock, other processor cores do not need to constantly poll memory to check whether the required lock is released. Instead, other processor cores will be in sleep state and the next processor core needed will be selectively woken up based on predetermined rule, such that an out-of-order lock contention procedure is turned into an in-order lock allocation procedure. By selectively waking up a processor core that is in sleep state, the method and apparatus can avoid occupying a large amount of bus bandwidth, can avoid cache misses, and can save power consumption of chip. | 06-30-2011 |
| 20110161539 | OPPORTUNISTIC USE OF LOCK MECHANISM TO REDUCE WAITING TIME OF THREADS TO ACCESS A SHARED RESOURCE - Embodiments of the invention provide a method, apparatus and computer program product for enabling a thread to acquire a lock associated with a shared resource, when a locking mechanism is used therewith, wherein each embodiment reduces waiting time and enhances efficiency in using the shared resource. One embodiment is associated with a plurality of processors, which includes two or more processors that each provides a specified thread to access a shared resource. The shared resource can only be accessed by one thread at a given time, a locking mechanism enables a first one of the specified threads to access the shared resource while each of the other specified threads is retained in a waiting queue, and a second one of the specified threads occupies a position of highest priority in the queue. The method includes the step of identifying a time period between a time when the first specified thread releases access to the shared resource, and a later time when the second specified thread becomes enabled to access the shared resource. Responsive to an additional thread that is not one of the specified threads being provided by a processor to access the shared resource during the identified time period, it is determined whether a first prespecified criterion pertaining to the specified threads retained in the queue has been met. Responsive to the first criterion being met, the method determines whether a second prespecified criterion has been met, wherein the second criterion is that the number of specified threads in the queue has not decreased since a specified prior time. Responsive to the second criterion being met, the method then decides whether to enable the additional thread to access the shared resource before the second specified thread accesses the resource. | 06-30-2011 |
| 20080222331 | Computer-Implemented System And Method For Lock Handling - Computer-implemented systems and methods for handling access to one or more resources. Executable entities that are running substantially concurrently provide access requests to an operating system (OS). One or more traps of the OS are avoided to improve resource accessing performance through use of information stored in a shared locking mechanism. The shared locking mechanism indicates the overall state of the locking process, such as the number of processes waiting to retrieve data from a resource and/or whether a writer process is waiting to access the resource. | 09-11-2008 |
| 20120151110 | PROCESS-SAFE READ/WRITE LOCKS - In one embodiment, a non-transitory processor-readable medium stores code representing instructions that when executed cause a processor to obtain a first mutual exclusion object. The first mutual exclusion object can be a write mutual exclusion object associated with a shared resource. The code can further represent instructions that when executed cause the processor to obtain a second mutual exclusion object associated with an object manager module and define a read event object with a name conforming to a predetermined format. The code can further represent instructions that when executed cause the processor to release the second mutual exclusion object, release the first mutual exclusion object, read at least a portion of the shared resource, obtain the second mutual exclusion object, destroy the read event object and release the second mutual exclusion object. | 06-14-2012 |
| 20120210031 | COMPUTER-IMPLEMENTED MULTI-RESOURCE SHARED LOCK - In one embodiment of a computer-implemented system, comprising a plurality of computer entities and multiple resources, one of the computer entities may request a multi-resource lock to one of the multiple resources; the one resource determines whether a resource lock is available at the one resource and, if so, the one resource communicates with all peer resources to determine whether a resource lock is available; if the peer resources indicate a resource lock is available, lock all of the resources to the requesting computer entity, and the one resource communicates the lock of the resources to the requesting computer entity; and if any the resource indicates contention for the multi-resource lock, the one resource communicates the contention to the requesting computer entity, and the requesting computer entity backs off the multi-resource lock request and, after a random time interval, repeats the request. | 08-16-2012 |
| 20120059963 | Adaptive Locking of Retained Resources in a Distributed Database Processing Environment - System, method, computer program product embodiments and combinations and sub-combinations thereof for adaptive locking of retained resources in a distributed database processing environment are provided. An embodiment includes identifying a locking priority for at least a portion of a buffer pool, determining lock requests based upon the identified locking priority, and granting locks for the lock requests. | 03-08-2012 |
| 20100274937 | PROVIDING LOCK-BASED ACCESS TO NODES IN A CONCURRENT LINKED LIST - A method of providing lock-based access to nodes in a concurrent linked list includes providing a plurality of striped lock objects. Each striped lock object is configured to lock at least one of the nodes in the concurrent linked list. An index is computed based on a value stored in a first node to be accessed in the concurrent linked list. A first one of the striped lock objects is identified based on the computed index. The first striped lock object is acquired, thereby locking and providing protected access to the first node. | 10-28-2010 |
| 20120089760 | Increasing Functionality Of A Reader-Writer Lock - In one embodiment, the present invention includes a method for accessing a shared memory associated with a reader-writer lock according to a first concurrency mode, dynamically changing from the first concurrency mode to a second concurrency mode, and accessing the shared memory according to the second concurrency mode. In this way, concurrency modes can be adaptively changed based on system conditions. Other embodiments are described and claimed. | 04-12-2012 |
| 20110320661 | DIAGNOSE INSTRUCTION FOR SERIALIZING PROCESSING - A system serialization capability is provided to facilitate processing in those environments that allow multiple processors to update the same resources. The system serialization capability is used to facilitate processing in a multi-processing environment in which guests and hosts use locks to provide serialization. The system serialization capability includes a diagnose instruction which is issued after the host acquires a lock, eliminating the need for the guest to acquire the lock. | 12-29-2011 |
| 20120290754 | Scheduling Virtual Interfaces - A mechanism is provided for scheduling virtual interfaces having at least one virtual interface scheduler, a virtual interface context cache and a pipeline with a number of processing units. The virtual interface scheduler is configured to send a lock request for a respective virtual interface to the virtual interface context cache. The virtual interface context cache is configured to lock a virtual interface context of the respective virtual interface and to send a lock token to the virtual interface scheduler in dependence on said lock request. The virtual interface context cache configured to hold a current lock token for the respective virtual interface context and to unlock the virtual interface context, if a lock token of an unlock request received from the pipeline matches the held current lock token. | 11-15-2012 |
| 20130013833 | LOCK WAIT TIME REDUCTION IN A DISTRIBUTED PROCESSING ENVIRONMENT - Aspects of the present invention reduce a lock wait time in a distributed processing environment. A plurality of wait-for dependencies between a first plurality of transactions and a second plurality of transactions in a distributed processing environment is identified. The first plurality of transactions waits for the second plurality of transactions to release a plurality of locks on a plurality of shared resources. An amount of time the first plurality of transactions will wait for the second plurality of transactions in the distributed processing environment is determined based on the plurality of wait-for dependencies between the first plurality of transactions and the second plurality of transactions. Historical transaction data related to the plurality of wait-for dependencies between the first plurality of transactions and the second plurality of transactions is analyzed. The amount of time the first plurality of transactions will wait for the second plurality of transactions is reduced based on the historical transaction data. | 01-10-2013 |