Patents by Inventor Richard P. Draves, Jr.

Richard P. Draves, Jr. 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: 7616575
    Abstract: A system and method for link quality routing uses a weighted cumulative expected transmission time path metric. A system for routing in a multi-hop ad hoc network, and a method for measuring the link quality of a route in the network, include assignment of a weight to a link in accordance with an expected transmission time of a packet over the link, and a combining of individual link weights for a route into a path metric. The path metric accounts for interference among links that use a shared channel. In the calculation of the path metric, the expected transmission times of links that interfere with one another are added, while the expected transmission times for non-interfering links are considered separately.
    Type: Grant
    Filed: March 15, 2005
    Date of Patent: November 10, 2009
    Assignee: Microsoft Corporation
    Inventors: Jitendra D. Padhye, Richard P. Draves, Jr., Brian D. Zill
  • Patent number: 7571438
    Abstract: A resource management mechanism is provided to ensure that real-time application programs running on a single machine or set of machines exhibit predictable behavior. The resource management mechanism employs the abstraction of an activity which serves as the basis for granting resource reservations and for accounting. An activity submits a request for resources in specified amounts to a resource planner. The activity is resource self-aware so that it is aware of its resource requirements. The activity may query resource providers to obtain resource requirements for particular operations. The resource planner determines whether the activity should be granted the requested reservation by employing an internal policy. Policy is separated by mechanism so that the resource planner may implement any of a number of policies. The resource planner may choose to grant the reservation to an activity or deny the request by an activity.
    Type: Grant
    Filed: July 18, 2001
    Date of Patent: August 4, 2009
    Assignee: Microsoft Corporation
    Inventors: Michael B. Jones, Paul J. Leach, Richard P. Draves, Jr., Joseph S. Barrera, III
  • Patent number: 6792445
    Abstract: The present invention provides predictable scheduling of programs using a repeating precomputed schedule. In a preferred embodiment, a scheduler accesses an activity scheduling graph. The activity scheduling graph is comprised of nodes each representing a recurring execution interval, and has one root, one or more leaves, and at least one path from the root to each leaf. Each node is on at least one path from the root to a leaf, and the number of times the execution interval represented by each node occurs during the traversal of the graph is equal to the number of paths from the root to a leaf that the node is on. Each node has associated with it an execution interval length, and is adapted to being dedicated to executing the threads of a single activity. The scheduler first selects a current node within the accessed scheduling graph.
    Type: Grant
    Filed: May 4, 2000
    Date of Patent: September 14, 2004
    Assignee: Microsoft Corporation
    Inventors: Michael B. Jones, Richard P. Draves, Jr., Daniela Rosu, Marcel-Catalin Rosu
  • Patent number: 6718360
    Abstract: The present invention provides predictable scheduling of programs using a repeating precomputed schedule. In a preferred embodiment, a scheduler accesses an activity scheduling graph. The activity scheduling graph is comprised of nodes each representing a recurring execution interval, and has one root, one or more leaves, and at least one path from the root to each leaf. Each node is on at least one path from the root to a leaf, and the number of times the execution interval represented by each node occurs during the traversal of the graph is equal to the number of paths from the root to a leaf that the node is on. Each node has associated with it an execution interval length, and is adapted to being dedicated to executing the threads of a single activity. The scheduler first selects a current node within the accessed scheduling graph.
    Type: Grant
    Filed: May 4, 2000
    Date of Patent: April 6, 2004
    Assignee: Microsoft Corporation
    Inventors: Michael B. Jones, Richard P. Draves, Jr., Daniela Rosu, Marcel-Catalin Rosu
  • Patent number: 6584489
    Abstract: A method and system for scheduling the use of a computer system resource using a resource planner and a resource provider are provided. In a preferred embodiment, a resource is scheduled for use by a plurality of consumer entities. Each consumer entity may request the commitment of a share of the resource. The method and system use representations of resource usage policy, present commitments of shares of the resource, and present commitments of specified amounts of the resource over a specified period of time. The method and system first receive a request from a consumer entity for the commitment of a specified share of the resource. In response, the method and system determine whether the specified share of the resource should be committed to the requesting consumer entity. This determination is based on the representations of resource usage policy and present commitments of shares of the resource.
    Type: Grant
    Filed: March 11, 1998
    Date of Patent: June 24, 2003
    Assignee: Microsoft Corporation
    Inventors: Michael B. Jones, Paul J. Leach, Richard P. Draves, Jr., Joseph S. Barrera, III, Steven P. Levi, Richard F. Rashid, Robert P. Fitzgerald
  • Patent number: 6490612
    Abstract: The present invention provides predictable scheduling of programs using a repeating precomputed schedule. In a preferred embodiment, a scheduler accesses an activity scheduling graph. The activity scheduling graph is comprised of nodes each representing a recurring execution interval, and has one root, one or more leaves, and at least one path from the root to each leaf. Each node is on at least one path from the root to a leaf, and the number of times the execution interval represented by each node occurs during the traversal of the graph is equal to the number of paths from the root to a leaf that the node is on. Each node has associated with it an execution interval length, and is adapted to being dedicated to executing the threads of a single activity. The scheduler first selects a current node within the accessed scheduling graph.
    Type: Grant
    Filed: May 4, 2000
    Date of Patent: December 3, 2002
    Assignee: Microsoft Corporation
    Inventors: Michael B. Jones, Richard P. Draves, Jr., Daniela Rosu, Marcel-Catalin Rosu
  • Patent number: 6317774
    Abstract: The present invention provides predictable scheduling of programs using a repeating precomputed schedule. In a preferred embodiment, a scheduler accesses an activity scheduling graph. The activity scheduling graph is comprised of nodes each representing a recurring execution interval, and has one root, one or more leaves, and at least one path from the root to each leaf. Each node is on at least one path from the root to a leaf, and the number of times the execution interval represented by each node occurs during the traversal of the graph is equal to the number of paths from the root to a leaf that the node is on. Each node has associated with it an execution interval length, and is adapted to being dedicated to executing the threads of a single activity. The scheduler first selects a current node within the accessed scheduling graph.
    Type: Grant
    Filed: January 9, 1997
    Date of Patent: November 13, 2001
    Assignee: Microsoft Corporation
    Inventors: Michael B. Jones, Richard P. Draves, Jr., Daniela Rosu, Marcel-Catalin Rosu
  • Patent number: 6282561
    Abstract: A resource management mechanism is provided to ensure that real-time application programs running on a single machine or set of machines exhibit predictable behavior. The resource management mechanism employs the abstraction of an activity which serves as the basis for granting resource reservations and for accounting. An activity submits a request for resources in specified amounts to a resource planner. The activity is resource self-aware so that it is aware of its resource requirements. The activity may query resource providers to obtain resource requirements for particular operations. The resource planner determines whether the activity should be granted the requested reservation by employing an internal policy. Policy is separated by mechanism so that the resource planner may implement any of a number of policies. The resource planner may choose to grant the reservation to an activity or deny the request by an activity.
    Type: Grant
    Filed: December 7, 1995
    Date of Patent: August 28, 2001
    Assignee: Microsoft Corporation
    Inventors: Michael B. Jones, Paul J. Leach, Richard P. Draves, Jr., Joseph S. Barrera, III
  • Patent number: 6003061
    Abstract: A method and system for scheduling the use of a computer system resource using a resource planner and a resource provider is provided. In a preferred embodiment, a resource is scheduled for use by a plurality of consumer entities. Each consumer entity may request the commitment of a share of the resource. The method and system utilizes representations of resource usage policy, present commitments of shares of the resource, and present commitments of specified amounts of the resource over specified period of time. The method and system first receives a request from a consumer entity for the commitment of a specified share of the resource. In response, the method and system determines whether the specified share of the resource should be committed to the requesting consumer entity. This determination is based on the representations of resource usage policy and present commitments of shares of the resource.
    Type: Grant
    Filed: December 7, 1995
    Date of Patent: December 14, 1999
    Assignee: Microsoft Corporation
    Inventors: Michael B. Jones, Paul J. Leach, Richard P. Draves, Jr., Joseph S. Barrera, III, Steven P. Levi, Richard F. Rashid, Robert P. Fitzgerald
  • Patent number: 5812844
    Abstract: A method and system for scheduling the execution of threads using optional time-specific constraints is provided. In a preferred embodiment, a scheduler schedules the execution of a plurality of threads each specifying either a percentage processor time scheduling constraint, indicating that a certain percentage of processor time should be dedicated to the execution of the thread, or a deadline scheduling constraint, indicating that a specified quantity of work should be done by the thread by a specified time deadline. For each thread specifying a percentage processor time scheduling constraint, the scheduler determines a restart time corresponding to the percentage processor time scheduling constraint. For each thread specifying a deadline scheduling constraint, the scheduler determines a restart time corresponding to the deadline scheduling constraint. The scheduler then utilizes the determined restart times for scheduling the threads by selecting the thread having the earliest restart time for execution.
    Type: Grant
    Filed: December 7, 1995
    Date of Patent: September 22, 1998
    Assignee: Microsoft Corporation
    Inventors: Michael B. Jones, Paul J. Leach, Richard P. Draves, Jr., Joseph S. Barrera, III, Steven P. Levi, Richard F. Rashid, Robert P. Fitzgerald
  • Patent number: 5473362
    Abstract: A scalable method and system for easily scheduling data transfer for a video-on-demand server system is provided. A strategy for locating available bandwidth and allocating available bandwidth to subscribers as needed is provided. The input/output bandwidth of storage devices that store data for video image sequences is modelled as a series of bandwidth units. Each bandwidth unit has sufficient capacity to service an individual subscriber during a scheduling cycle. Video image sequences or other data sequences are striped across storage devices such that data for a data sequence is forwarded to the subscriber by reading from a sequence of storage devices in consecutive time frames.
    Type: Grant
    Filed: November 30, 1993
    Date of Patent: December 5, 1995
    Assignee: Microsoft Corporation
    Inventors: Robert P. Fitzgerald, Joseph S. Barrera, III, William J. Bolosky, Richard P. Draves, Jr., Michael B. Jones, Steven P. Levi, Nathan P. Myhrvold, Richard F. Rashid, Garth A. Gibson