Patents by Inventor Andrew E. Goodsell

Andrew E. Goodsell 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: 9323693
    Abstract: Caching of an immutable buffer that has its data and address prevented from changing during the lifetime of the immutable buffer. A first computing entity maintains a cache of the immutable buffer and has a strong reference to the immutable buffer. So long as any entity has a strong reference to the immutable buffer, the immutable buffer is guaranteed to continue to exist for the duration of the strong reference. A second computing entity communicates with the first computing entity to obtain a strong reference to the immutable buffer and thereafter read data from the immutable buffer. Upon reading the data from the cache, the second computing entity demotes the strong reference to a weak reference to the immutable buffer. A weak reference to the immutable buffer does not guarantee that the immutable buffer will continue to exist for the duration of the weak reference.
    Type: Grant
    Filed: January 4, 2013
    Date of Patent: April 26, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jinsong Yu, Andrew E. Goodsell, F. Soner Terek, Christopher Wellington Brumme, Ahmed Hassan Mohamed
  • Publication number: 20160004770
    Abstract: Technologies are described herein for generating a mailbox specific frequent word list associated with a mailbox. In one method, an index scan is performed on catalogs to retrieve search data mapping words to emails containing the words. The search data is provided across multiple mailboxes. A universal frequent word list is generated based on the search data. The mailbox specific frequent word list is generated based on the universal frequent word list.
    Type: Application
    Filed: September 17, 2015
    Publication date: January 7, 2016
    Inventors: Ashish Consul, Suryanarayana Murty Gorti, Andrew E. Goodsell
  • Patent number: 9165056
    Abstract: Technologies are described herein for generating a mailbox specific frequent word list associated with a mailbox. In one method, an index scan is performed on catalogs to retrieve search data mapping words to emails containing the words. The search data is provided across multiple mailboxes. A universal frequent word list is generated based on the search data. The mailbox specific frequent word list is generated based on the universal frequent word list.
    Type: Grant
    Filed: June 19, 2008
    Date of Patent: October 20, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ashish Consul, Suryanarayana Murty Gorti, Andrew E. Goodsell
  • Publication number: 20140195739
    Abstract: Caching of an immutable buffer that has its data and address prevented from changing during the lifetime of the immutable buffer. A first computing entity maintains a cache of the immutable buffer and has a strong reference to the immutable buffer. So long as any entity has a strong reference to the immutable buffer, the immutable buffer is guaranteed to continue to exist for the duration of the strong reference. A second computing entity communicates with the first computing entity to obtain a strong reference to the immutable buffer and thereafter read data from the immutable buffer. Upon reading the data from the cache, the second computing entity demotes the strong reference to a weak reference to the immutable buffer. A weak reference to the immutable buffer does not guarantee that the immutable buffer will continue to exist for the duration of the weak reference.
    Type: Application
    Filed: January 4, 2013
    Publication date: July 10, 2014
    Applicant: Microsoft Corporation
    Inventors: Jinsong Yu, Andrew E. Goodsell, F. Soner Terek, Christopher Wellington Brumme, Ahmed Hassan Mohamed
  • Patent number: 8768890
    Abstract: A continuous set of committed transactions can be lost without destroying the integrity of the database, by deferring the writing of the database pages stored in cache to the database on stable storage. A waypoint tracks a point in the transaction log following which transactions have not been applied to the database on stable storage and thus records after the waypoint are not needed for recovery to a consistent database. When there is a failover of an active database on Node A to a passive database on Node B, log records are compared starting with the most current and moving backwards and the point at which divergence in the log occurs is determined. When the lost portion of the log occurs after the point indicated by after the waypoint, the database is recoverable by log-based incremental reseed.
    Type: Grant
    Filed: March 14, 2007
    Date of Patent: July 1, 2014
    Assignee: Microsoft Corporation
    Inventors: Laurion D. Burchall, Andrew E. Goodsell, Brett A. Shirley
  • Publication number: 20090319525
    Abstract: Architecture for detecting lost writes using timestamps. During a replication process, lost writes in data replicated from a stream can be detected by noting discrepancies between the timestamps of data in the replica and timestamps associated with the corresponding data from the source in original data store. A lost write either in the original data store or in the replica data store can be inferred by comparing these timestamps with the timestamps in a number of other replica data stores. Additionally, check entries can be added to the replicas by the original data store to allow expanded comparison between recently modified data and the source data in the original data store. The check entries can be added to the replication journal after a time delay, thereby increasing effectiveness of the check by decreasing the likelihood that caching in the hardware will defeat the test.
    Type: Application
    Filed: June 23, 2008
    Publication date: December 24, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Gregory Thiel, Andrew E. Goodsell
  • Publication number: 20090319483
    Abstract: Technologies are described herein for generating a mailbox specific frequent word list associated with a mailbox. In one method, an index scan is performed on catalogs to retrieve search data mapping words to emails containing the words. The search data is provided across multiple mailboxes. A universal frequent word list is generated based on the search data. The mailbox specific frequent word list is generated based on the universal frequent word list.
    Type: Application
    Filed: June 19, 2008
    Publication date: December 24, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Ashish Consul, Suryanarayana Murty Gorti, Andrew E. Goodsell
  • Publication number: 20080228834
    Abstract: A continuous set of committed transactions can be lost without destroying the integrity of the database, by deferring the writing of the database pages stored in cache to the database on stable storage. A waypoint tracks a point in the transaction log following which transactions have not been applied to the database on stable storage and thus records after the waypoint are not needed for recovery to a consistent database. When there is a failover of an active database on Node A to a passive database on Node B, log records are compared starting with the most current and moving backwards and the point at which divergence in the log occurs is determined. When the lost portion of the log occurs after the point indicated by after the waypoint, the database is recoverable by log-based incremental reseed.
    Type: Application
    Filed: March 14, 2007
    Publication date: September 18, 2008
    Applicant: Microsoft Corporation
    Inventors: Laurion D. Burchall, Andrew E. Goodsell, Brett A. Shirley
  • Patent number: 7047387
    Abstract: A method for calculating a block cache size for a host process or application on a computer based at least upon virtual memory page evictions and/or virtual memory page reclamations for the computer. A virtual memory page eviction is the act of removing the contents of a physical memory page for the purpose of loading it with the contents of another virtual memory page. A virtual memory page reclamation is the return of a page to a working set that was previously removed by the operating system due to memory constraints. The page must not have been evicted. Additional fundamental properties of the application and the computer may be used, such as available physical memory on the computer, total physical memory, and block evictions. A block eviction is the act of removing the contents of a block from the block cache for the purpose of loading it with new contents.
    Type: Grant
    Filed: July 16, 2003
    Date of Patent: May 16, 2006
    Assignee: Microsoft Corporation
    Inventor: Andrew E. Goodsell