×

System and methods for deadlock detection

  • US 7,496,918 B1
  • Filed: 06/01/2004
  • Issued: 02/24/2009
  • Est. Priority Date: 06/01/2004
  • Status: Active Grant
First Claim
Patent Images

1. A computerized method for controlling execution in an object based environment comprising:

  • identifying a plurality of threads having a potential demand for at least one of a plurality of shared resources;

    determining when multiple identified threads are waiting for at least one of the shared resources;

    enumerating, for each of the determined waiting threads, a lock holding entity (blocking entity) holding the shared resource sought by each of the waiting threads;

    computing whether an undesirable dependency exists by analyzing each of the blocking entities and corresponding waiting threads; and

    comparing, if the analyzing indicates that pending undesirable dependency exists, a progression indicator indicative of advancement of the threads corresponding to the undesirable dependency;

    wherein computing the pending undesirable dependency further comprises determining a circular dependency among a plurality of waiting threads, the circular dependency indicative of a thread waiting for a resource held by a lock holding entity and simultaneously holding a resource sought, directly or indirectly, by the same lock holding entity;

    wherein computing and comparing occur in a non-intrusive manner during continuous concurrent execution of the threads; and

    wherein enumerating further comprises;

    building a blocking information tuple indicative of an instance of a thread waiting for a resource;

    aggregating a plurality of blocking information tuples indicative of a plurality of threads and corresponding blocking entities; and

    wherein comparing and computing further comprises analyzing multiple sets of the blocking information tuples, the blocking information tuples derived from multiple pass scanning snapshots of the identified threads.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×