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: 9323693Abstract: 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: GrantFiled: January 4, 2013Date of Patent: April 26, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Jinsong Yu, Andrew E. Goodsell, F. Soner Terek, Christopher Wellington Brumme, Ahmed Hassan Mohamed
-
Publication number: 20160004770Abstract: 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: ApplicationFiled: September 17, 2015Publication date: January 7, 2016Inventors: Ashish Consul, Suryanarayana Murty Gorti, Andrew E. Goodsell
-
Patent number: 9165056Abstract: 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: GrantFiled: June 19, 2008Date of Patent: October 20, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Ashish Consul, Suryanarayana Murty Gorti, Andrew E. Goodsell
-
Publication number: 20140195739Abstract: 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: ApplicationFiled: January 4, 2013Publication date: July 10, 2014Applicant: Microsoft CorporationInventors: Jinsong Yu, Andrew E. Goodsell, F. Soner Terek, Christopher Wellington Brumme, Ahmed Hassan Mohamed
-
Patent number: 8768890Abstract: 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: GrantFiled: March 14, 2007Date of Patent: July 1, 2014Assignee: Microsoft CorporationInventors: Laurion D. Burchall, Andrew E. Goodsell, Brett A. Shirley
-
Publication number: 20090319525Abstract: 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: ApplicationFiled: June 23, 2008Publication date: December 24, 2009Applicant: MICROSOFT CORPORATIONInventors: Gregory Thiel, Andrew E. Goodsell
-
Publication number: 20090319483Abstract: 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: ApplicationFiled: June 19, 2008Publication date: December 24, 2009Applicant: MICROSOFT CORPORATIONInventors: Ashish Consul, Suryanarayana Murty Gorti, Andrew E. Goodsell
-
Publication number: 20080228834Abstract: 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: ApplicationFiled: March 14, 2007Publication date: September 18, 2008Applicant: Microsoft CorporationInventors: Laurion D. Burchall, Andrew E. Goodsell, Brett A. Shirley
-
Patent number: 7047387Abstract: 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: GrantFiled: July 16, 2003Date of Patent: May 16, 2006Assignee: Microsoft CorporationInventor: Andrew E. Goodsell