Patents by Inventor Jonathan Cargille

Jonathan Cargille 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: 8910192
    Abstract: A set of application programming interfaces (“APIs”) is provided that enables an application to perform operations on multiple system resources as a single logical unit of work through a transaction. The application can then commit or roll back the entire group of changes as a single unit in a coordinated manner. The APIs expose functions and methods that take a reference to a transaction context, such as a handle, name, or pointer, as one of their parameters so that the application can manipulate the resource as a transacted operation. The transaction is bound to all created handles so that all operations on the resource using those handles are also transacted. In an illustrative example, the set of APIs are transacted name-based WIN32 APIs that take a transaction handle. The transacted APIs expose transacted operations to the application for durable system resources in the OS kernel, including the NTFS file system (New Technology File System) and registry.
    Type: Grant
    Filed: August 8, 2007
    Date of Patent: December 9, 2014
    Assignee: Microsoft Corporation
    Inventors: Dana Groff, Jonathan Cargille, Surendra Verma, Andrew Herron, Dragos Sambotin, Christian Allred, William R. Tipton, Karthik Thirumalai
  • Publication number: 20090044204
    Abstract: A set of application programming interfaces (“APIs”) is provided that enables an application to perform operations on multiple system resources as a single logical unit of work through a transaction. The application can then commit or roll back the entire group of changes as a single unit in a coordinated manner. The APIs expose functions and methods that take a reference to a transaction context, such as a handle, name, or pointer, as one of their parameters so that the application can manipulate the resource as a transacted operation. The transaction is bound to all created handles so that all operations on the resource using those handles are also transacted. In an illustrative example, the set of APIs are transacted name-based WIN32 APIs that take a transaction handle. The transacted APIs expose transacted operations to the application for durable system resources in the OS kernel, including the NTFS file system (New Technology File System) and registry.
    Type: Application
    Filed: August 8, 2007
    Publication date: February 12, 2009
    Applicant: Microsoft Corporation
    Inventors: Dana Groff, Jonathan Cargille, Surendra Verma, Andrew Herron, Dragos Sambotin, Christian Allred, William R. Tipton, Karthik Thirumalai
  • Publication number: 20070239736
    Abstract: Minimizing transaction managers. A method that may be practiced in a commit tree topology including a plurality of transaction managers to manage transactions. The transactions include a set of operations that are all performed if a transaction is completed or all aborted if a transaction is not completed. The transaction managers store transaction result information to allow recovery of a transaction in case of system failure. The method includes acts for minimizing storage overhead by minimizing the number of transaction managers used to coordinate transactions. The method includes identifying a set of transaction managers. A first transaction manager is selected from among the set of transaction managers. A second transaction manager is identified from among the set of transaction managers that is always available when the first transaction manager is available. Messages are redirected from a subordinate associated with the first transaction manager to the second transaction manager.
    Type: Application
    Filed: April 10, 2006
    Publication date: October 11, 2007
    Applicant: Microsoft Corporation
    Inventors: Dana Groff, James Johnson, John Doty, Jonathan Cargille, Kapil Gupta, Michael Clark
  • Publication number: 20070180530
    Abstract: Aspects of the subject matter described herein relate to antivirus protection and transactions. In aspects, a filter detects that a file is participating in a transaction and then may cause the file to be scanned together with any changes that have made to the file during the transaction. After a file is scanned, a cache entry may be updated to indicate that the file is clean. The cache entry may be used subsequently for like-type states. For example, if the file was scanned inside a transaction, the cache entry may be used later in the transaction. If the file was scanned outside a transaction, the cache entry may be used later for requests pertaining to files not in a transaction. Cache entries may be discarded when they are invalid or no longer useful.
    Type: Application
    Filed: March 15, 2006
    Publication date: August 2, 2007
    Applicant: Microsoft Corporation
    Inventors: Surendra Verma, Dana Groff, Jonathan Cargille, Andrew Herron, Christian Allred, Neal Christiansen, Alexey Polyakov
  • Publication number: 20070118559
    Abstract: Aspects of the subject matter described herein relate to file system filters and transactions. In aspects, a filter may enlist to receive notification of events associated with a transaction. Afterwards, the filter may receive notification of a transaction event for which it has enlisted. In response to receiving notification of the transaction the filter may perform an action as appropriate. Aspects of the subject matter described herein may be applied to stacked and managed filters.
    Type: Application
    Filed: November 18, 2005
    Publication date: May 24, 2007
    Applicant: Microsoft Corporation
    Inventors: Neal Christiansen, Ravinder Thind, Ravisankar Pudipeddi, Dana Groff, Jonathan Cargille
  • Publication number: 20070072163
    Abstract: Aspects of the subject matter described herein relate to transactions. In aspects, a consistency requester such as a shadow copy service requests to have a consistent view of a set of resources. In response, transactions that are in a problematic state are allowed to exit the problematic state while new and existing transactions that are not in the problematic state are allowed to perform any work except work that takes them into the problematic state. After no transactions are in the problematic state, a consistent view of the set of resources is available. This view may be used by the consistency requester as desired. Afterwards, the consistency requester may indicate that a consistent view is no longer needed. Transactions are then allowed to enter the problematic state. Transactions may also be allowed to enter the problematic state if a timeout elapses.
    Type: Application
    Filed: September 5, 2006
    Publication date: March 29, 2007
    Applicant: Microsoft Corporation
    Inventors: Dana Groff, James Johnson, Jonathan Cargille, Norbert Kusters, Ran Kalach, Surendra Verma
  • Publication number: 20070038650
    Abstract: The present invention extends to methods, systems, and computer program products for synchronizing ambient state among multiple transaction managers. A coordinating transaction manager establishes transaction ambient state for an application initiated transaction. The coordinating transaction manager sends and a subordinate transaction manager receives a pointer to an ambient state delegate. The subordinate transaction manager sends a request to invoke the ambient state delegate to the coordinating transaction manager in response to receiving an operation. The coordinating transaction manager invokes the ambient state delegate to format the transaction ambient state for the subordinate transaction manager. The coordinating transaction manager sends and the subordinate transaction manager receives the formatted transaction ambient state such that the subordinate transaction manager can appropriately process the operation within the scope of the transaction.
    Type: Application
    Filed: August 15, 2005
    Publication date: February 15, 2007
    Applicant: Microsoft Corporation
    Inventors: William Carley, James Johnson, John Doty, Jonathan Cargille, Kapil Gupta, Max Feingold, Michael Clark