Patents by Inventor Bradley M. Waters

Bradley M. Waters 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: 8943252
    Abstract: Various embodiments provide an ability to schedule latency-sensitive tasks based, at least in part, upon one or more processor cores usage metrics. Some embodiments gather information associated with whether one or more processor cores are in a heavily loaded state. Alternately or additionally, some embodiments gather information identifying latency-sensitive tasks. Task(s) can be (re)assigned to different processor core(s) for execution when it has been determined that an originally assigned processor core has exceeded a usage threshold.
    Type: Grant
    Filed: August 16, 2012
    Date of Patent: January 27, 2015
    Assignee: Microsoft Corporation
    Inventors: Bradley M. Waters, Danyu Zhu
  • Publication number: 20140052882
    Abstract: Various embodiments provide an ability to schedule latency-sensitive tasks based, at least in part, upon one or more processor cores usage metrics. Some embodiments gather information associated with whether one or more processor cores are in a heavily loaded state. Alternately or additionally, some embodiments gather information identifying latency-sensitive tasks. Task(s) can be (re)assigned to different processor core(s) for execution when it has been determined that an originally assigned processor core has exceeded a usage threshold.
    Type: Application
    Filed: August 16, 2012
    Publication date: February 20, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Bradley M. Waters, Danyu Zhu
  • Patent number: 8006055
    Abstract: Protection entries and techniques for providing fine granularity computer memory protection are described herein. A method of protecting a computer memory may include separating or parsing the computer memory, containing data or code, into blocks and creating protection entries for each block. The protection entries optionally include a reference field for identifying a block of memory, and a protection field for specifying one or more levels of access to the identified block of memory. The protection entries may then be used to pass messages between various system entities, the messages specifying one or more levels of access to the one or more blocks of memory or code.
    Type: Grant
    Filed: March 4, 2008
    Date of Patent: August 23, 2011
    Assignee: Microsoft Corporation
    Inventors: Bradley M Waters, Niklas Gustafsson
  • Patent number: 7975107
    Abstract: Software assists a processor subsystem in making cache replacement decisions by providing an intermediary with information regarding how instructions and/or data of a working set are expected to be used and accessed by the software. The intermediary uses this information along with its knowledge of system requirements, policy and the cache configuration to determine cache usage and management hints for the working sets. The cache usage and management hints are passed by the intermediary to the processor subsystem.
    Type: Grant
    Filed: June 22, 2007
    Date of Patent: July 5, 2011
    Assignee: Microsoft Corporation
    Inventors: Bradford Beckmann, Bradley M. Waters
  • Patent number: 7913040
    Abstract: A processor cache is indexed by a group of distinct page colors. The use of this cache by different working sets is controlled using page coloring. Translations of virtual addresses of the instructions and/or data of a working set are constrained to physical addresses the page colors of which are in a subgroup of the group of distinct page colors.
    Type: Grant
    Filed: May 17, 2010
    Date of Patent: March 22, 2011
    Assignee: Microsoft Corporation
    Inventors: Bradford Beckmann, Bradley M. Waters
  • Publication number: 20100250890
    Abstract: A processor cache is indexed by a group of distinct page colors. The use of this cache by different working sets is controlled using page coloring. Translations of virtual addresses of the instructions and/or data of a working set are constrained to physical addresses the page colors of which are in a subgroup of the group of distinct page colors.
    Type: Application
    Filed: May 17, 2010
    Publication date: September 30, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Bradford Beckmann, Bradley M. Waters
  • Patent number: 7747820
    Abstract: A processor cache is indexed by a group of distinct page colors. The use of this cache by different working sets is controlled using page coloring. Translations of virtual addresses of the instructions and/or data of a working set are constrained to physical addresses the page colors of which are in a subgroup of the group of distinct page colors.
    Type: Grant
    Filed: June 15, 2007
    Date of Patent: June 29, 2010
    Assignee: Microsoft Corporation
    Inventors: Bradford Beckmann, Bradley M. Waters
  • Publication number: 20090228673
    Abstract: Protection entries and techniques for providing fine granularity computer memory protection. A method of protecting a computer memory may include separating or parsing the computer memory, containing data or code, into blocks and creating protection entries for each block. The protection entries optionally include a reference field for identifying a block of memory, and a protection field for specifying one or more levels of access to the identified block of memory. The protection entries may then be used to pass messages between various system entities, the messages specifying one or more levels of access to the one or more blocks of memory or code.
    Type: Application
    Filed: March 4, 2008
    Publication date: September 10, 2009
    Applicant: Microsoft Corporation
    Inventors: Bradley M. Waters, Niklas Gustafsson
  • Publication number: 20080320235
    Abstract: Software assists a processor subsystem in making cache replacement decisions by providing an intermediary with information regarding how instructions and/or data of a working set are expected to be used and accessed by the software. The intermediary uses this information along with its knowledge of system requirements, policy and the cache configuration to determine cache usage and management hints for the working sets. The cache usage and management hints are passed by the intermediary to the processor subsystem.
    Type: Application
    Filed: June 22, 2007
    Publication date: December 25, 2008
    Applicant: Microsoft Corporation
    Inventors: Bradford Beckmann, Bradley M. Waters
  • Publication number: 20080313420
    Abstract: A processor cache is indexed by a group of distinct page colors. The use of this cache by different working sets is controlled using page coloring. Translations of virtual addresses of the instructions and/or data of a working set are constrained to physical addresses the page colors of which are in a subgroup of the group of distinct page colors.
    Type: Application
    Filed: June 15, 2007
    Publication date: December 18, 2008
    Applicant: Microsoft Corporation
    Inventors: Bradford Beckmann, Bradley M. Waters
  • Patent number: RE40989
    Abstract: Performing atomic operations on data entities having an arbitrary size is disclosed. Version data is associated with a data entity. The version data is saved to a first attribute. The data entity is then accessed. The saved version data is compared to the current version data. If the two are equal, the data entity is valid.
    Type: Grant
    Filed: November 12, 2004
    Date of Patent: November 17, 2009
    Assignee: Microsoft Corporation
    Inventors: Neel K. Jain, Bradley M. Waters, Mahlon David Fields