Patents by Inventor Michael J. Purtell

Michael J. Purtell 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: 7958167
    Abstract: The claimed subject matter provides a system and/or a method that extends transactional guarantees to unstructured data in a file system. A database engine, configured to retain structured data, can reserve a portion of the file system to store unstructured data to be managed by the database engine. A kernel component can associate a transaction with at least one stream that corresponds to the reserved portion of the file system. The association enables transaction based access to the reserved portion of the file system managed by the database engine.
    Type: Grant
    Filed: March 5, 2008
    Date of Patent: June 7, 2011
    Assignee: Microsoft Corporation
    Inventors: Cristian Diaconu, Michael J. Purtell, Arkadi Brjazovski, Vaibhav Kamra, Rohan Kumar
  • Publication number: 20090228429
    Abstract: The claimed subject matter provides a system and/or a method that extends transactional guarantees to unstructured data in a file system. A database engine, configured to retain structured data, can reserve a portion of the file system to store unstructured data to be managed by the database engine. A kernel component can associate a transaction with at least one stream that corresponds to the reserved portion of the file system. The association enables transaction based access to the reserved portion of the file system managed by the database engine.
    Type: Application
    Filed: March 5, 2008
    Publication date: September 10, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Cristian Diaconu, Michael J. Purtell, Arkadi Brjazovski, Vaibhav Kamra, Rohan Kumar
  • Patent number: 7478115
    Abstract: The atomicity of a transaction is extended to a filesystem as well as a database, meaning that, when the transaction is complete, all changes within the transaction to both the database and the filesystem will be either committed or not committed. Interactions may be coordinated among a client, a database resource manager, a filesystem resource manager, and a transaction manager.
    Type: Grant
    Filed: June 13, 2005
    Date of Patent: January 13, 2009
    Assignee: Microsoft Corporation
    Inventors: Michael J. Purtell, Rajeev B. Rajan
  • Patent number: 6829769
    Abstract: Methods, systems, and computer program products for high-performance interprocess communication. Each process dynamically identifies routines responsible for managing communication received from other processes through a shared memory heap and a shared memory queue, each of the routines handling one or more operation codes. An allocation from the shared heap produces a process agnostic memory handle from which a process specific memory pointer may be obtained. Using the memory pointer, the enqueuing process places an operation code, parameters, and any other relevant data in the allocated memory and adds the memory handle to a shared queue. The dequeuing process removes the memory handle from the queue and generates a memory pointer to access the allocated memory in the dequeuing process. Upon retrieving the operation code from the allocated memory, the dequeuing process calls the appropriate handler routine. Enqueues may be registered to account for expected responses that are not received.
    Type: Grant
    Filed: March 30, 2001
    Date of Patent: December 7, 2004
    Assignee: Microsoft Corporation
    Inventors: Wayne M. Cranston, Min-Yu Yang, Michael J. Purtell
  • Publication number: 20020144006
    Abstract: Methods, systems, and computer program products for high-performance interprocess communication. Each process dynamically identifies routines responsible for managing communication received from other processes through a shared memory heap and a shared memory queue, each of the routines handling one or more operation codes. An allocation from the shared heap produces a process agnostic memory handle from which a process specific memory pointer may be obtained. Using the memory pointer, the enqueuing process places an operation code, parameters, and any other relevant data in the allocated memory and adds the memory handle to a shared queue. The dequeuing process removes the memory handle from the queue and generates a memory pointer to access the allocated memory in the dequeuing process. Upon retrieving the operation code from the allocated memory, the dequeuing process calls the appropriate handler routine. Enqueues may be registered to account for expected responses that are not received.
    Type: Application
    Filed: March 30, 2001
    Publication date: October 3, 2002
    Inventors: Wayne M. Cranston, Min-Yu Yang, Michael J. Purtell