Search

Richard P Draves

from Seattle, WA
Age ~57

Richard Draves Phones & Addresses

  • 1026 36Th St, Seattle, WA 98112 (206) 860-7025
  • 602 38Th St, Seattle, WA 98122 (206) 860-7025
  • Berkeley, CA
  • Leavenworth, WA
  • Alameda, CA
  • Kirkland, WA
  • Red Bud, IL
  • Ogden, UT
  • Sioux Falls, SD
  • Pittsburgh, PA
  • 1026 36Th Ave E, Seattle, WA 98112 (509) 218-3315

Work

Position: Professional/Technical

Resumes

Resumes

Richard Draves Photo 1

Research Area Manager At Microsoft

View page
Position:
Research Area Manager at Microsoft
Location:
Greater Seattle Area
Industry:
Computer Software
Work:
Microsoft
Research Area Manager
Education:
Carnegie Mellon University 1986 - 1992
PhD, Computer Science
Harvard University 1985 - 1986
MS, Computer Science
Harvard University 1982 - 1986
BA, Mathematics
Richard Draves Photo 2

Vp Of Product Development

View page
Location:
Greater Seattle Area
Industry:
Food Production

Publications

Us Patents

Sharing Executable Modules Between User And Kernel Threads

View page
US Patent:
6349355, Feb 19, 2002
Filed:
Feb 6, 1997
Appl. No.:
08/795591
Inventors:
Richard P. Draves - Seattle WA
Scott Cutshall - Carnation WA
Gilad Odinak - Bellevue WA
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 1200
US Classification:
711 6, 711203
Abstract:
A computer system has a microprocessor that can execute in a non-privileged user mode and a privileged kernel mode. A user virtual address space is used when the microprocessor is in the user mode, and a kernel virtual address space is used when the microprocessor is in the kernel mode. Each of the address spaces has the same range of virtual addresses that is designated for shared components. The user virtual address space is mapped to an offset position within the kernel address space. When a user process calls a kernel function with a pointer argument, the pointer is biased before being dereferenced to account for the offset of the user address space within the kernel address space. This allows for sharing of position-dependent code, while still allowing the kernel to access the entire user address space.

Variably-Sized Kernel Memory Stacks

View page
US Patent:
5950221, Sep 7, 1999
Filed:
Feb 6, 1997
Appl. No.:
8/795588
Inventors:
Richard P. Draves - Seattle WA
Scott Cutshall - Carnation WA
Gilad Odinak - Bellevue WA
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 1200
US Classification:
711100
Abstract:
The invention includes a computer system having a processor that executes program instructions in privileged and non-privileged execution modes. A user stack is used when the processor is executing in the non-privileged execution mode. A kernel memory stack is used when the processor is executing in the privileged execution mode. The kernel memory stack can grow and shrink dynamically as it is used by its associated thread, through the use of allocate-on-demand memory. A stack overflow handler is executed from within the kernel to resolve allocate-on-demand faults. The stack handler uses only fixed-size memory stacks.

Providing Predictable Scheduling Of Programs Using A Repeating Precomputed Schedule

View page
US Patent:
6317774, Nov 13, 2001
Filed:
Jan 9, 1997
Appl. No.:
8/781106
Inventors:
Michael B. Jones - Redmond WA
Richard P. Draves - Seattle WA
Daniela Rosu - Atlanta GA
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 900
G06F 15173
US Classification:
709107
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. When the processor becomes available to execute threads, the scheduler advances from the current node to a new current node in accordance with a root-to-leaf traversal of the scheduling graph.

Video On Demand System Comprising Stripped Data Across Plural Storable Devices With Time Multiplex Scheduling

View page
US Patent:
5473362, Dec 5, 1995
Filed:
Nov 30, 1993
Appl. No.:
8/159188
Inventors:
Robert P. Fitzgerald - Redmond WA
Joseph S. Barrera - Issaquah WA
William J. Bolosky - Issaquah WA
Richard P. Draves - Kirkland WA
Michael B. Jones - Redmond WA
Steven P. Levi - Redmond WA
Nathan P. Myhrvold - Bellevue WA
Richard F. Rashid - Woodinville WA
Garth A. Gibson - Pittsburgh PA
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
H04N 7173
US Classification:
348 7
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.

Method And System For Resource Management With Independent Real-Time Applications On A Common Set Of Machines

View page
US Patent:
6282561, Aug 28, 2001
Filed:
Dec 7, 1995
Appl. No.:
8/568578
Inventors:
Michael B. Jones - Redmond WA
Paul J. Leach - Seattle WA
Richard P. Draves - Seattle WA
Joseph S. Barrera - Belmont CA
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 900
US Classification:
709104
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.

Method And System For Scheduling The Execution Of Threads Using Optional Time-Specific Scheduling Constraints

View page
US Patent:
5812844, Sep 22, 1998
Filed:
Dec 7, 1995
Appl. No.:
8/568577
Inventors:
Michael B. Jones - Redmond WA
Paul J. Leach - Seattle WA
Richard P. Draves - Seattle WA
Joseph S. Barrera - Belmont CA
Steven P. Levi - Redmond WA
Richard F. Rashid - Woodinville WA
Robert P. Fitzgerald - Redmond WA
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 900
US Classification:
395674
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.

Virtual Memory Scratch Pages

View page
US Patent:
5873124, Feb 16, 1999
Filed:
Feb 6, 1997
Appl. No.:
8/796409
Inventors:
Richard P. Draves - Seattle WA
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 1210
US Classification:
711202
Abstract:
A computer system includes physical memory, a virtual memory system, and a protected operating system kernel. The kernel has kernel functions that accept and use virtual memory addresses from user processes. When an invalid virtual memory address is used by a kernel function, the memory address is automatically mapped to a scratch location in physical memory, so that the kernel function accesses the scratch location rather than generating an exception.

Method And System For Scheduling The Use Of A Computer System Resource Using A Resource Planner And A Resource Provider

View page
US Patent:
6003061, Dec 14, 1999
Filed:
Dec 7, 1995
Appl. No.:
8/569048
Inventors:
Michael B. Jones - Redmond WA
Paul J. Leach - Seattle WA
Richard P. Draves - Seattle WA
Joseph S. Barrera - Belmont CA
Steven P. Levi - Redmond WA
Richard F. Rashid - Woodinville WA
Robert P. Fitzgerald - Redmond WA
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 900
US Classification:
709104
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. If it is determined that the specified share of the resource should be committed to the requesting consumer entity, then the method and system modifies the representation of present commitments of shares of the resource to commit the specified share of the resource to the requesting consumer entity.
Richard P Draves from Seattle, WA, age ~57 Get Report