Patents by Inventor Bryan M. Cantrill

Bryan M. Cantrill 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: 8627294
    Abstract: A method for processing a probe including triggering the probe in an instrumented program, querying a global array to determine an execution control block associated with the probe, and executing the execution control block to obtain data.
    Type: Grant
    Filed: November 14, 2003
    Date of Patent: January 7, 2014
    Assignee: Oracle America, Inc.
    Inventor: Bryan M. Cantrill
  • Patent number: 8032708
    Abstract: A method for caching data in a storage system involves receiving a request for a first datum stored on a storage disk, retrieving the first datum from the storage disk when a copy of the first datum is not stored on an asymmetric cache device (ACD), storing a first copy of the first datum in a main memory, updating a list of data to include the first datum, storing, prior to any data being evicted from the main memory, a second copy of the first datum on the ACD, and evicting the first copy of the first datum from the main memory when a first copy of a second datum is designated for storing in the main memory and the main memory is full and the first datum is at the tail of the list of data.
    Type: Grant
    Filed: February 11, 2009
    Date of Patent: October 4, 2011
    Assignee: Oracle America, Inc.
    Inventors: Brendan D. Gregg, Adam H. Leventhal, Bryan M. Cantrill
  • Patent number: 8005794
    Abstract: A method is disclosed for obtaining data from a kernel, including obtaining data from the kernel, and storing the data in a data set an aggregation buffer using an aggregation function. A method is disclosed for storing data in a data set, wherein the data set includes a key component, an aggregation identifier component, and a value component, including obtaining an expression, a new value, and an aggregation identifier, generating a key using the expression and the aggregation identifier; and storing the data set in a buffer, wherein storing the data set comprises storing the key in the key component, storing the aggregation identifier in the aggregation identifier component, and updating a current value in the value component using the new value and an aggregation function.
    Type: Grant
    Filed: July 1, 2008
    Date of Patent: August 23, 2011
    Assignee: Oracle America, Inc.
    Inventor: Bryan M. Cantrill
  • Patent number: 7979638
    Abstract: A system configured to receive a first request for a first datum, query the cache metadata to determine whether the first datum is present in the main memory or the asymmetric cache device (ACD), retrieve the first datum from the main memory when the first datum is present in the main memory, retrieve the first datum from the ACD when the first datum is present in the ACD and not present in the main memory, store a copy of the first datum in the main memory when the first datum is present in the ACD and not present in the main memory, update the cache metadata to indicate that the copy of the first datum is stored in the main memory when the first datum is present in the ACD and not present in the main memory, and retrieve the first datum from the disk when the first datum is not present in the ACD and is not present in the main memory.
    Type: Grant
    Filed: April 1, 2008
    Date of Patent: July 12, 2011
    Assignee: Oracle America, Inc.
    Inventors: Adam H. Leventhal, Brendan D. Gregg, Bryan M. Cantrill
  • Publication number: 20100205368
    Abstract: A method for caching data in a storage system involves receiving a request for a first datum stored on a storage disk, retrieving the first datum from the storage disk when a copy of the first datum is not stored in a main memory and when a copy of the first datum is not stored on an asymmetric cache device (ACD), storing a first copy of the first datum in the main memory, updating a list of data to include the first datum, where each datum in the list of data is a datum for which a copy is stored in the main memory, where the list of data is sorted using a scheme such that a datum at a head of the list of data is most favored by the scheme and a datum at a tail of the list of data is least favored by the scheme, storing, prior to any data being evicted from the main memory, a second copy of the first datum on the ACD, where the first datum is one of a first group of data selected using a head-first search of the list of data, and evicting the first copy of the first datum from the main memory when a first co
    Type: Application
    Filed: February 11, 2009
    Publication date: August 12, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Brendan D. Gregg, Adam H. Leventhal, Bryan M. Cantrill
  • Publication number: 20090249007
    Abstract: A system configured to receive a first request for a first datum, query the cache metadata to determine whether the first datum is present in the main memory or the asymmetric cache device (ACD), retrieve the first datum from the main memory when the first datum is present in the main memory, retrieve the first datum from the ACD when the first datum is present in the ACD and not present in the main memory, store a copy of the first datum in the main memory when the first datum is present in the ACD and not present in the main memory, update the cache metadata to indicate that the copy of the first datum is stored in the main memory when the first datum is present in the ACD and not present in the main memory, and retrieve the first datum from the disk when the first datum is not present in the ACD and is not present in the main memory.
    Type: Application
    Filed: April 1, 2008
    Publication date: October 1, 2009
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Adam H. Leventhal, Brendan D. Gregg, Bryan M. Cantrill
  • Patent number: 7568185
    Abstract: A method for tracing an instrumented application, including loading the instrumented application into a kernel level to obtain a corresponding instrumented process, registering a helper action with a tracing framework, tracing the instrumented process using the tracing framework, wherein tracing comprises triggering a probe in the instrumented process, determining whether the helper action is associated with the probe, and performing the helper action if the helper action is associated with the probe.
    Type: Grant
    Filed: April 13, 2004
    Date of Patent: July 28, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael W. Shapiro, Bryan M. Cantrill, Adam H. Leventhal
  • Patent number: 7530055
    Abstract: A method for tracing an instrumented program on a processor having an x86 architecture, including triggering a probe in the instrumented program, obtaining an original instruction associated with the probe, loading the original instruction into a scratch space, loading a jump instruction for the x86 architecture into the scratch space wherein the jump instruction includes a next program counter value, executing the original instruction in the scratch space using a thread, and executing the jump instruction in the scratch space using the thread.
    Type: Grant
    Filed: April 14, 2004
    Date of Patent: May 5, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Adam H. Leventhal, Bryan M. Cantrill
  • Patent number: 7475386
    Abstract: A method for tracing an instrumented program, including associating an instrumentation provider with a trace point to provide a probe in the instrumented program, selectively enabling the probe to obtain an enabled probe, wherein enabling the probe includes defining an action to perform when the enabled probe is fired, firing the enabled probe during execution of the instrumented program, and performing the action when the enabled probe is fired, wherein the action is performed by a tracing framework.
    Type: Grant
    Filed: November 14, 2003
    Date of Patent: January 6, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael W. Shapiro, Bryan M. Cantrill
  • Patent number: 7454740
    Abstract: A method for caching in a tracing framework, including firing a probe associated with a thread, evaluating a first predicate of the probe, caching the first predicate in a predicate cache associated with the thread, based on the evaluating of the first predicate and cacheability of the first predicate, and transferring control to the thread, based on the caching.
    Type: Grant
    Filed: November 14, 2003
    Date of Patent: November 18, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Bryan M. Cantrill
  • Publication number: 20080263044
    Abstract: A method is disclosed for obtaining data from a kernel, including obtaining data from the kernel, and storing the data in a data set an aggregation buffer using an aggregation function. A method is disclosed for storing data in a data set, wherein the data set includes a key component, an aggregation identifier component, and a value component, including obtaining an expression, a new value, and an aggregation identifier, generating a key using the expression and the aggregation identifier; and storing the data set in a buffer, wherein storing the data set comprises storing the key in the key component, storing the aggregation identifier in the aggregation identifier component, and updating a current value in the value component using the new value and an aggregation function.
    Type: Application
    Filed: July 1, 2008
    Publication date: October 23, 2008
    Applicant: SUN MICROSYSTEMS, INC.
    Inventor: Bryan M. Cantrill
  • Patent number: 7437716
    Abstract: A method for storing a data set having an enabled probe identification component and an associated data component, including obtaining data from an instrumented program using a probe, associating the data with an enabled probe identification, and storing the data in the data set, wherein the enabled probe identification is stored in the enabled probe identification component and the data is stored in the associated data set component.
    Type: Grant
    Filed: November 14, 2003
    Date of Patent: October 14, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Bryan M. Cantrill
  • Patent number: 7437612
    Abstract: In general, in one aspect, the invention relates to a method for identifying lock ownership, including identifying at least one node in the crash dump, characterizing the at least one node in the crash dump as a node of inferred type and appending the at least one node to a list of nodes of inferred type, determining whether each node in the list of nodes of inferred type is a structure, and for each node in the list of nodes determined to be a structure determining whether each member in each node corresponds to a lock, and determining an owner of the lock.
    Type: Grant
    Filed: September 21, 2004
    Date of Patent: October 14, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Bryan M. Cantrill
  • Patent number: 7409677
    Abstract: A method of generating an embedded file involving embedding a plurality of probe calls into source code to obtain embedded source code, compiling the embedded source code to generate object code including a probe relocation for each of the plurality of probe calls, post processing the object code to obtain a plurality of modified object code, wherein the plurality of modified object code includes object code containing a no-operation instruction in place of the probe relocation and object code containing probe encoding, and linking the plurality of modified object code to obtain an embedded file, wherein the embedded file includes probe encoding.
    Type: Grant
    Filed: November 16, 2004
    Date of Patent: August 5, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Adam H. Leventhal, Bryan M. Cantrill, Michael W. Shapiro
  • Patent number: 7395528
    Abstract: A method for tracing an instrumented program on a system during booting, including loading object code defining enabling information into a property file associated with a tracing framework, rebooting the system, processing the property file to enable the tracing framework, wherein enabling the tracing framework comprises creating an anonymous consumer state, and tracing the instrumented program using the enabled tracing framework.
    Type: Grant
    Filed: November 14, 2003
    Date of Patent: July 1, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Bryan M. Cantrill
  • Patent number: 7389494
    Abstract: A method of defining a trace point, including defining a trace point representation in a program source code, compiling the program source code to generate an instrumented program comprising the trace point corresponding to the trace point representation, and associating the trace point with a placeholder function configured to produce a minimal disabled probe effect.
    Type: Grant
    Filed: November 14, 2003
    Date of Patent: June 17, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Bryan M. Cantrill
  • Patent number: 7380248
    Abstract: Methods and apparatus, including computer program products, implementing and using techniques for alerting one or more computer software application threads waiting to retrieve events from an event port. An alert event generated by a computer software application is received at the event port. A state of the event port is changed to an alert state, if the event port is not already in an alert state, in response to receiving the alert event. One or more of the computer software application threads is notified about the alert state of the event port.
    Type: Grant
    Filed: February 26, 2004
    Date of Patent: May 27, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Miguel Isenberg, Bryan M. Cantrill, Bart Smaalders, Joseph J. Bonasera
  • Patent number: 7350196
    Abstract: A method for tracing an instrumented program, including triggering an trap instruction in the instrumented program, transferring control of the instrumented program to a trap handler associated with the trap instruction, and emulating an instruction corresponding to the trap instruction in the trap handler, wherein the instruction relates to creating or dismantling a stack frame.
    Type: Grant
    Filed: November 14, 2003
    Date of Patent: March 25, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Bryan M. Cantrill
  • Patent number: 7305661
    Abstract: A method for tracing an instrumented program using a thread, including transferring control of the instrumented program to a trap handler to obtain an original instruction associated with a probe, loading the original instruction into a scratch space, setting a program counter to point to the scratch space, setting a next program counter to point to a next instruction, and executing the original instruction in the scratch space using the thread, wherein executing the original instruction results in placing the instrumented program in a state equivalent to natively executing the original instruction.
    Type: Grant
    Filed: November 14, 2003
    Date of Patent: December 4, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Adam H. Leventhal, Bryan M. Cantrill
  • Patent number: 7305662
    Abstract: A method for tracing an instrumented program, including triggering a probe in the instrumented program, obtaining an original instruction associated with the probe, loading the original instruction into a scratch space, and executing the original instruction in the scratch space using the thread, wherein executing the original instruction results in placing the instrumented program in a state equivalent to natively executing the original instruction.
    Type: Grant
    Filed: November 14, 2003
    Date of Patent: December 4, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Adam H. Leventhal, Bryan M. Cantrill