Patents by Inventor Christopher Wellington Brumme
Christopher Wellington Brumme 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
-
Patent number: 9323543Abstract: Enforcing limitations on hardware drivers. The method includes from a system kernel, assigning I/O resources to the system's root bus. From the root bus, the method further includes assigning a subset of the I/O resources to a device bus. Assigning a subset of the I/O resources to a device bus includes limiting the device bus to only be able to assign I/O resources that are assigned to it by the root bus. From the device bus, the method includes assigning I/O resources to a device through a device interface.Type: GrantFiled: January 4, 2013Date of Patent: April 26, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Yaron Weinsberg, Jinsong Yu, John Richardson, Christopher Wellington Brumme, Martin Taillefer
-
Patent number: 9311225Abstract: Communicating between an application and a hardware device. A method includes an application writing data to host physical memory using an application view of the memory. The method further includes mapping the data in the physical memory to a hardware driver view, usable by a hardware driver, without needing to copy the data to a different physical storage location. The method further includes mapping the data to a hardware accessible view accessible by a hardware device without needing to copy the data to a different physical storage location.Type: GrantFiled: January 4, 2013Date of Patent: April 12, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Shaun David Cox, Fehim Soner Terek, Jinsong Yu, Christopher Wellington Brumme, Gregory Michael Neverov
-
Patent number: 9189446Abstract: The environment and use of an immutable buffer. A computing entity acquires data or generates data and populates the data into the buffer, after which the buffer is classified as immutable. The classification protects the data populated within the immutable buffer from changing during the lifetime of the immutable buffer, and also protects the immutable buffer from having its physical address changed during the lifetime of the immutable buffer. As different computing entities consume data from the immutable buffer, they do so through views provided by a view providing entity. The immutable buffer architecture may also be used for streaming data in which each component of the streaming data uses an immutable buffer. Accordingly, different computing entities may view the immutable data differently without having to actually copy the data.Type: GrantFiled: January 4, 2013Date of Patent: November 17, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Jason Todd Hunter, Jinsong Yu, Martin Taillefer, Gregory Michael Neverov, Dmitry Kakurin, Ahmed Hassan Mohamed, John J. Duffy, Christopher Wellington Brumme, F. Soner Terek
-
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
-
Publication number: 20140195834Abstract: Implementing a safe driver that can support high throughput and low latency devices. The method includes receiving a hardware message from a hardware device. The method further includes delivering the hardware message to one or more driver processes executing in user mode using a zero-copy to allow the one or more driver processes to support high throughput and low latency hardware devices.Type: ApplicationFiled: January 4, 2013Publication date: July 10, 2014Applicant: Microsoft CorporationInventors: Yaron Weinsberg, Jinsong Yu, Shaun David Cox, Stanislav Oks, Galen C. Hunt, Christopher Wellington Brumme, John Richardson
-
Publication number: 20140195632Abstract: The environment and use of an immutable buffer. A computing entity acquires data or generates data and populates the data into the buffer, after which the buffer is classified as immutable. The classification protects the data populated within the immutable buffer from changing during the lifetime of the immutable buffer, and also protects the immutable buffer from having its physical address changed during the lifetime of the immutable buffer. As different computing entities consume data from the immutable buffer, they do so through views provided by a view providing entity. The immutable buffer architecture may also be used for streaming data in which each component of the streaming data uses an immutable buffer. Accordingly, different computing entities may view the immutable data differently without having to actually copy the data.Type: ApplicationFiled: January 4, 2013Publication date: July 10, 2014Applicant: MICROSOFT CORPORATIONInventors: Jason Todd Hunter, Jinsong Yu, Martin Taillefer, Gregory Michael Neverov, Dmitry Kakurin, Ahmed Hassan Mohamed, John J. Duffy, Christopher Wellington Brumme, F. Soner Terek
-
Publication number: 20140196059Abstract: Enforcing limitations on hardware drivers. The method includes from a system kernel, assigning I/O resources to the system's root bus. From the root bus, the method further includes assigning a subset of the I/O resources to a device bus. Assigning a subset of the I/O resources to a device bus includes limiting the device bus to only be able to assign I/O resources that are assigned to it by the root bus. From the device bus, the method includes assigning I/O resources to a device through a device interface.Type: ApplicationFiled: January 4, 2013Publication date: July 10, 2014Applicant: Microsoft CorporationInventors: Yaron Weinsberg, Jinsong Yu, John Richardson, Christopher Wellington Brumme, Martin Taillefer
-
Publication number: 20140195746Abstract: Communicating between an application and a hardware device. A method includes an application writing data to host physical memory using an application view of the memory. The method further includes mapping the data in the physical memory to a hardware driver view, usable by a hardware driver, without needing to copy the data to a different physical storage location.Type: ApplicationFiled: January 4, 2013Publication date: July 10, 2014Applicant: MICROSOFT CORPORATIONInventors: Shaun David Cox, Fehim Soner Terek, Jinsong Yu, Christopher Wellington Brumme, Gregory Michael Neverov
-
Patent number: 8352711Abstract: The coordination and execution of chores in a multiprocessing environment. The coordination of chores is accomplished utilizing a compiler generated correlation that relates blocks of code that execute chores and blocks of code in which the chore can be realized. By tracking the execution of the program and using the compiler-generated correlation, chores can be identified for the currently executing code.Type: GrantFiled: January 22, 2008Date of Patent: January 8, 2013Assignee: Microsoft CorporationInventors: Eric Dean Tribble, Mark Ronald Plesko, Christopher Wellington Brumme
-
Publication number: 20090187893Abstract: The coordination and execution of chores in a multiprocessing environment. The coordination of chores is accomplished utilizing a compiler generated correlation that relates blocks of code that execute chores and blocks of code in which the chore can be realized. By tracking the execution of the program and using the compiler-generated correlation, chores can be identified for the currently executing code.Type: ApplicationFiled: January 22, 2008Publication date: July 23, 2009Applicant: Microsoft CorporationInventors: Eric Dean Tribble, Mark Ronald Plesko, Christopher Wellington Brumme
-
Publication number: 20080222659Abstract: The present invention extends to methods, systems, and computer program products for abstracting an operating environment from an operating system running in the operating environment. Within an operating environment, an operating environment abstraction layer abstracts and exposes operating environment resources to an operating system. Accordingly, appropriately configured operating environment abstraction layers provide the operating system with a uniform interface to available resources across a variety of different operating environments. Each operating environment abstraction layer and the operating system include adjustable algorithms that can be adjusted to appropriately provide services to requesting applications based on exposed resources of the operating environment. Abstraction layers can be configured to analyze and become fully aware of their operating environment, including identifying the presence of other abstraction layers.Type: ApplicationFiled: March 9, 2007Publication date: September 11, 2008Applicant: MICROSOFT CORPORATIONInventors: Christopher Wellington Brumme, Sean Edwin Trowbridge, Efstathios Papaefstathiou, Raymond E. Endres, Ashok Kuppusamy, Galen C. Hunt, Eric D. Rudder, Eric Dean Tribble, Ravi Pandya
-
Patent number: 5991776Abstract: A system of the present invention includes a relational database management system (RDBMS). Methods are described for maintaining integrity between "design documents," which may be creating under different operating systems, and one or more information tables of the system. The system provides each field of a table with a unique ID ("field ID") for tracking the field regardless of restructuring changes which may be made to the table by various clients. Corresponding field IDs are stored with the fields of design documents, thereby permitting the system to maintain a link between a design document and its table. Upon a restructure of a table, the dependent design documents may be appropriately updated by their respective clients. Methods are also described for improved storage of free-form or "memo" data. In a preferred embodiment, memo data are stored in a separate file comprised of variable-length storage blocks.Type: GrantFiled: June 21, 1996Date of Patent: November 23, 1999Assignee: Inprise CorporationInventors: John Grant Bennett, Steven T. Shaughnessy, Christopher Wellington Brumme