发明名称 Shared object lock under state machine control
摘要 Embodiments relate to systems and methods for a shared object lock under state machine control. An operating system or virtual machine environment can host a set of multiple executing threads, and provide those threads with mutual access to one or more objects such as storage objects, memory objects, or others. The threads can independently request that the object be locked or unlocked, and the locked or unlocked state can be shared between the threads. Rather than communicate with the object(s) directly, in embodiments the threads communicate with a state machine that in turn controls the state of the object(s). When a request to change the state of the object(s) is received, the state machine can permit the object(s) to change between locked, unlocked, or other states based on the current state of the machine and the received message. Contention between threads can be reduced or eliminated.
申请公布号 US8918798(B2) 申请公布日期 2014.12.23
申请号 US200812201255 申请日期 2008.08.29
申请人 Red Hat, Inc. 发明人 Lloyd David
分类号 G06F3/00;G06F9/52 主分类号 G06F3/00
代理机构 Lowenstein Sandler LLP 代理人 Lowenstein Sandler LLP
主权项 1. A method comprising: instantiating, by a processor, a state machine coupled to an object having a plurality of states, wherein the object corresponds to an object class defining the plurality of states; receiving, by the state machine, a message from a first executing thread of a plurality of executing threads requesting placement of the object in a locked state; executing, by the state machine in view of the message from the first executing thread, a decision regarding placement of the object into the locked state in view of the received message; and providing, by the state machine, the plurality of executing threads with access to the object in the locked state, wherein the state machine cooperates with a second state machine to control the object in response to the received message and the decision regarding placement of the object into the locked state.
地址 Raleigh NC US