Patents by Inventor Declan J. Murphy

Declan J. Murphy has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 8032888
    Abstract: A method for scheduling a thread on a plurality of processors that includes obtaining a first state of a first processor in the plurality of processors and a second state of a second processor in the plurality of processors, wherein the thread is last executed on the first processor, and wherein the first state of the first processor includes the state of a cache of the first processor, obtaining a first estimated instruction rate to execute the thread on the first processor using an estimated instruction rate function and the first state, obtaining a first estimated global throughput for executing the thread on the first processor using the first estimated instruction rate and the second state, obtaining a second estimated global throughput for executing the thread on the second processor using the second state, comparing the first estimated global throughput with the second estimated global throughput to obtain a comparison result, and executing the thread, based on the comparison result, on one selected fr
    Type: Grant
    Filed: October 17, 2006
    Date of Patent: October 4, 2011
    Assignee: Oracle America, Inc.
    Inventors: David Vengerov, Savvas Gitzenis, Declan J. Murphy
  • Publication number: 20110004882
    Abstract: A method for scheduling a thread on a plurality of processors that includes obtaining a first state of a first processor in the plurality of processors and a second state of a second processor in the plurality of processors, wherein the thread is last executed on the first processor, and wherein the first state of the first processor includes the state of a cache of the first processor, obtaining a first estimated instruction rate to execute the thread on the first processor using an estimated instruction rate function and the first state, obtaining a first estimated global throughput for executing the thread on the first processor using the first estimated instruction rate and the second state, obtaining a second estimated global throughput for executing the thread on the second processor using the second state, comparing the first estimated global throughput with the second estimated global throughput to obtain a comparison result, and executing the thread, based on the comparison result, on one selected fr
    Type: Application
    Filed: October 17, 2006
    Publication date: January 6, 2011
    Applicant: Sun Microsystems, Inc.
    Inventors: David Vengerov, Savvas Gitzenis, Declan J. Murphy
  • Patent number: 6957254
    Abstract: One embodiment of the present invention provides a system for selecting a node to host a primary server for a service from a plurality of nodes in a distributed computing system. The system operates by receiving an indication that a state of the distributed computing system has changed. In response to this indication, the system determines if there is already a node hosting the primary server for the service. If not, the system selects a node to host the primary server using the assumption that a given node from the plurality of nodes in the distributed computing system hosts the primary server. The system then communicates rank information between the given node and other nodes in the distributed computing system, wherein each node in the distributed computing system has a unique rank with respect to the other nodes in the distributed computing system. The system next compares the rank of the given node with the rank of the other nodes in the distributed computing system.
    Type: Grant
    Filed: September 15, 2000
    Date of Patent: October 18, 2005
    Assignee: Sun Microsystems, Inc
    Inventors: Skef F. Iterum, Declan J. Murphy
  • Patent number: 6862613
    Abstract: Improved techniques for managing operations of clustered computing system are disclosed. The improved techniques provide protection against potential problems encountered in operation of clustered computing. More particularly, the improved techniques can be implemented as an integral solution that provide protection against undesired partitions in space and partitions in time. The improved techniques do not require any human intervention.
    Type: Grant
    Filed: January 10, 2000
    Date of Patent: March 1, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Krishna Kumar, Declan J. Murphy, Andrew L. Hisgen, Robert Block
  • Patent number: 6789213
    Abstract: Improved techniques for controlled take over of services for clustered computing systems are disclosed. The improved techniques can be implemented to allow one sub-cluster of the clustered computing system to safely take over services of one or more other sub-clusters in the clustered computing system. Accordingly, if the clustered computing system is fragmented into two or more disjointed sub-clusters, one sub-cluster can safely take over services of the one or more other sub-clusters after the one or more other sub-clusters have been shutdown. As a result, the clustered computing system can continue to safely provide services even when the clustered computing system has been fragmented into two or more disjointed sub-clusters due to an operational failure.
    Type: Grant
    Filed: January 10, 2000
    Date of Patent: September 7, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Krishna Kumar, Declan J. Murphy, Andrew L. Hisgen
  • Patent number: 6769008
    Abstract: Improved techniques for dynamically altering configurations of clustered computing systems are disclosed. The improved techniques can be implemented to allow alteration of an existing configuration of a clustered computing system without having to completely shutdown the clustered computing system. As a result, the clustered computing system can provide uninterrupted services while the configuration of the clustered computing system is being dynamically altered, yet also safeguard against unwanted partitions in time or space.
    Type: Grant
    Filed: January 10, 2000
    Date of Patent: July 27, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Krishna Kumar, Declan J. Murphy, Andrew L. Hisgen
  • Patent number: 6757836
    Abstract: Improved techniques for resolving partial connectivity in clustered computing systems are disclosed. The improved techniques allow for detection of one or more disconnections that cause a loss of full connectivity and then resolution of the disconnections by shutting down one or more appropriate nodes of the clustered computing system to regain full connectivity. As a result, the clustered computing system can effectively maintain a full connectivity condition that is often needed by software running on the nodes of the clustered computing system.
    Type: Grant
    Filed: January 10, 2000
    Date of Patent: June 29, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Krishna Kumar, Declan J. Murphy
  • Patent number: 6658587
    Abstract: Method for emulating persistent group reservations on non persistent group reservation-compliant devices, apparatus to perform the method, and computer-readable storage medium containing instructions to perform the method. The present invention enables the emulation of persistent group reservations on a non persistent group reservation-compliant device, including a shared disk, to enable the disk's implementation of persistent group reservation-reliant algorithms. This in turn enables the implementation of algorithms based on persistent group reservation features substantially without modification of those algorithms. One such algorithm is a quorum algorithm. One example of persistent group reservations is found in the SCSI-3 standard. The present invention accomplishes persistent group reservation emulation, or PGRE, by storing host- and reservation-specific information on a reserved portion of the disk and using this data to emulate the steps of certain persistent group reservation features.
    Type: Grant
    Filed: January 10, 2000
    Date of Patent: December 2, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Ira Pramanick, Declan J. Murphy, Krishna K. Kumar, Siamak Nazari, Andrew L. Hisgen
  • Publication number: 20030159084
    Abstract: Improved techniques for controlled take over of services for clustered computing systems are disclosed. The improved techniques can be implemented to allow one sub-cluster of the clustered computing system to safely take over services of one or more other sub-clusters in the clustered computing system. Accordingly, if the clustered computing system is fragmented into two or more disjointed sub-clusters, one sub-cluster can safely take over services of the one or more other sub-clusters after the one or more other sub-clusters have been shutdown. As a result, the clustered computing system can continue to safely provide services even when the clustered computing system has been fragmented into two or more disjointed sub-clusters due to an operational failure.
    Type: Application
    Filed: January 10, 2000
    Publication date: August 21, 2003
    Applicant: Sun Microsystems, Inc.
    Inventors: Declan J. Murphy, Andrew L. Hisgen, Krishna Kumar
  • Patent number: 6185695
    Abstract: One embodiment of the present invention provides a method and an apparatus that facilitates transparent failovers from a primary copy of an object on a first server to a secondary copy of the object on a second server when the first server fails, or otherwise becomes unresponsive. The method includes detecting the failure of the first server; selecting the second server; and reconfiguring the second server to act as a new primary server for the object. Additionally, the method includes transparently retrying uncompleted invocations to the object to the second server, without requiring explicit retry commands from a client application program. A variation on this embodiment further includes winding up active invocations to the object before reconfiguring the second server to act as the new primary server. This winding up process may include causing invocations to unresponsive nodes to unblock and complete.
    Type: Grant
    Filed: April 9, 1998
    Date of Patent: February 6, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Declan J. Murphy, Madhusudhan Talluri, Vladimir Matena, Yousef A. Khalidi, Jose M. Bernabeu-Auban, Andrew G. Tucker
  • Patent number: 6145094
    Abstract: One embodiment of the present invention provides a method and an apparatus that ensures proper semantics for operations when operations are restarted on a secondary server in the event of a failure of a primary server. This embodiment keeps a record on the secondary server of which operation currently has exclusive access to a shared resource. The method operates by receiving a message from the primary server indicating that a first operation on the primary server has acquired exclusive access to the shared resource. In response to this message, the system updates state information, at the secondary server, to indicate that the first operation has exclusive access to the shared resource and that any prior operations have completed their exclusive accesses to the shared resource. Upon receiving notification that the primary server has failed, the secondary server is configured to act as a new primary server.
    Type: Grant
    Filed: May 12, 1998
    Date of Patent: November 7, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Kenneth W. Shirriff, Declan J. Murphy
  • Patent number: 6138251
    Abstract: The present invention pertains to a system and method for tracking object references in an object-oriented computing system including a number of independent computing nodes interconnected by a communications link. The reference counting mechanism tracks references to an object through the use of a messaging protocol. A server node keeps a foreign reference count for each of its objects. The foreign reference count indicates the number of remote nodes having a reference to one of the servers objects. A server node increments the foreign reference count for each object reference that it exports prior to sending it to an intended client node. A client node will send a message to the server node when it has already received the exported object reference and in response to this message, the server node decrements the appropriate foreign reference count.
    Type: Grant
    Filed: June 30, 1997
    Date of Patent: October 24, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Declan J. Murphy, Andrew G. Tucker, Madhusudhan Talluri, Jose Bernabeu-Auban, Yousef A. Khalidi
  • Patent number: 6074427
    Abstract: The present invention pertains to a system and method for simulating multiple clusters of independent computer nodes in a single machine. A cluster contains one or more computer nodes interconnected by a communications link. A user can simulate a cluster of n nodes by generating n user-level procedures where each user-level procedure represents the kernel of a respective node. An additional mechanism is provided which allows a user to exercise the operation of any intended function in any of the nodes in any of the clusters.
    Type: Grant
    Filed: August 30, 1997
    Date of Patent: June 13, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Steven K. Fought, Madhusudhan Talluri, Declan J. Murphy
  • Patent number: 5941999
    Abstract: The present invention provides a method and system for achieving high availability in networked computer systems. The computer system includes a client node, two server nodes, and a secondary storage device. One server node includes a primary replica, and the other server node includes a secondary replica. In order for the client node to request a service that involves the secondary storage device, the client node sends a request for the service to the primary replica. The primary replica performs an intention phase of the service and sends a checkpoint message to the secondary replica. The secondary replica updates the state of the secondary replica and sends an acknowledgement message to the primary replica. The primary replica performs the service, sends a reply message to the client node, and forgets about the request. The client node resumes execution and asynchronously sends a forget message to the secondary replica. Upon receiving the forget message, the secondary replica forgets about the request.
    Type: Grant
    Filed: March 31, 1997
    Date of Patent: August 24, 1999
    Assignee: Sun Microsystems
    Inventors: Vladimir Matena, Kenneth William Shirriff, Declan J. Murphy