Patents by Inventor Stuart Raymond Patrick

Stuart Raymond Patrick 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: 10002403
    Abstract: Various techniques for remoting graphics are described in the claims, drawings, and text forming a part of the present disclosure.
    Type: Grant
    Filed: February 3, 2014
    Date of Patent: June 19, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nadim Y. Abdo, Asael Dror, Max Alan McMullen, Stuart Raymond Patrick
  • Publication number: 20160371874
    Abstract: Various techniques for remoting graphics are described in the claims, drawings, and text forming a part of the present disclosure.
    Type: Application
    Filed: September 2, 2016
    Publication date: December 22, 2016
    Inventors: Nadim Y. Abdo, Asael Dror, Max Alan McMullen, Stuart Raymond Patrick
  • Patent number: 8692832
    Abstract: The present invention extends to methods, systems, and computer program products for providing asymmetric Graphical Processing Unit (“GPU”) processors in a para-virtualized environment. A virtual GPU (“vGPU”) within a child partition of the para-virtualized environment includes a kernel-mode driver (“KMD”) and a user-mode driver (“UMD”). The KMD includes a plurality of virtual nodes. Each virtual node performs a different type of operation in parallel with other types of operations. The KMD is declared as a multi-engine GPU. The UMD schedules operations for parallel execution on the virtual nodes. A render component within a root partition of the para-virtualized environment executes GPU commands received from the vGPU at the physical GPU. A plurality of memory access channels established between the KMD and the render component communicate GPU commands between a corresponding virtual node at the KMD and the render component.
    Type: Grant
    Filed: January 23, 2012
    Date of Patent: April 8, 2014
    Assignee: Microsoft Corporation
    Inventors: Meher Prasad Malakapalli, Stuart Raymond Patrick
  • Publication number: 20130187932
    Abstract: The present invention extends to methods, systems, and computer program products for providing asymmetric Graphical Processing Unit (“GPU”) processors in a para-virtualized environment. A virtual GPU (“vGPU”) within a child partition of the para-virtualized environment includes a kernel-mode driver (“KMD”) and a user-mode driver (“UMD”). The KMD includes a plurality of virtual nodes. Each virtual node performs a different type of operation in parallel with other types of operations. The KMD is declared as a multi-engine GPU. The UMD schedules operations for parallel execution on the virtual nodes. A render component within a root partition of the para-virtualized environment executes GPU commands received from the vGPU at the physical GPU. A plurality of memory access channels established between the KMD and the render component communicate GPU commands between a corresponding virtual node at the KMD and the render component.
    Type: Application
    Filed: January 23, 2012
    Publication date: July 25, 2013
    Applicant: Microsoft Corporation
    Inventors: Meher Prasad Malakapalli, Stuart Raymond Patrick
  • Patent number: 7650421
    Abstract: Adaptable accelerated content streaming allows data to be streamed from a server to a client over a network at an accelerated rate for an amount of time before reducing the rate. In accordance with one aspect, the accelerated rate is prohibited from exceeding a threshold amount, which is based at least in part on both a total bandwidth of the server and an amount of bandwidth currently being used by the server. In accordance with one aspect, the data can be streamed to the client at up to an adaptable accelerated rate.
    Type: Grant
    Filed: December 30, 2002
    Date of Patent: January 19, 2010
    Assignee: Microsoft Corporation
    Inventors: Stuart Raymond Patrick, James E. Walsh
  • Publication number: 20040128396
    Abstract: Adaptable accelerated content streaming allows data to be streamed from a server to a client over a network at an accelerated rate for an amount of time before reducing the rate. In accordance with one aspect, the accelerated rate is prohibited from exceeding a threshold amount, which is based at least in part on both a total bandwidth of the server and an amount of bandwidth currently being used by the server. In accordance with one aspect, the data can be streamed to the client at up to an adaptable accelerated rate.
    Type: Application
    Filed: December 30, 2002
    Publication date: July 1, 2004
    Inventors: Stuart Raymond Patrick, James E. Walsh
  • Patent number: 6683618
    Abstract: Operating system enhancements that enable an application program to create and perform graphics operations on device-independent bitmaps (DIBs) efficiently. The enhancements are in the form of functions that return to the application program a handle to the DIB and a pointer to the location of the DIB in memory. With the handle, the application program can use the capabilities of the operating system to perform graphics operations on the DIB. With the pointer, the application program can use its own drawing capabilities and address the DIB directly. The operating system enhancements also streamline the design and content of graphics drivers such as display drivers by placing basic graphics functions in a graphics engine that communicates with the graphics driver. Simple graphics operations are passed from the graphics driver to the graphics engine, allowing the driver to be limited to more complex operations that utilize special characteristics of graphics hardware associated with the driver.
    Type: Grant
    Filed: December 13, 1994
    Date of Patent: January 27, 2004
    Assignee: Microsoft Corporation
    Inventors: Stuart Raymond Patrick, Amit Chatterjee
  • Patent number: 6525743
    Abstract: Operating system enhancements that enable an application program to create and perform graphics operations on device-independent bitmaps (DIBs) efficiently. The enhancements are in the form of functions that return to the application program a handle to the DIB and a pointer to the location of the DIB in memory. With the handle, the application program can use the capabilities of the operating system to perform graphics operations on the DIB. With the pointer, the application program can use its own drawing capabilities and address the DIB directly. The operating system enhancements also streamline the design and content of graphics drivers such as display drivers by placing basic graphics functions in a graphics engine that communicates with the a graphics driver. Simple graphics operations are passed from the graphics driver to the graphics engine, allowing the driver to be limited to more complex operations that utilize special characteristics of graphics hardware associated with the driver.
    Type: Grant
    Filed: February 25, 1998
    Date of Patent: February 25, 2003
    Assignee: Microsoft Corporation
    Inventors: Stuart Raymond Patrick, Amit Chatterjee
  • Patent number: 6377272
    Abstract: In response to a change in the color depth of a computer system's display device, the invention dynamically changes the color depth of existing objects in system memory to match the changed color depth of the device. As a result open applications need not be shut down and then reopened to change the color depth of objects already in system memory. The dynamic changing is accomplished through a number of functions calls between an application, the operating system and a display driver. In one embodiment of the invention, copies with the changed color depth are made at one time of all objects in system memory and the original objects discarded. The copies are then transferred to screen memory (if the display device is a video display terminal) for display as they are requested. In another embodiment of the invention, copies with the changed color depth are made selectively as the objects are transferred to the screen memory.
    Type: Grant
    Filed: April 17, 1998
    Date of Patent: April 23, 2002
    Assignee: Microsoft Corporation
    Inventors: Amit Chatterjee, Stuart T. Laney, Stuart Raymond Patrick
  • Patent number: 6026239
    Abstract: A method and apparatus for efficiently transferring a data block of bytes from a source to a destination in memory of a computer system. The method transfers bytes in multiple-byte words on word-aligned boundaries of memory as much as possible to reduce the number of fetches and writes and the number of memory cycles required to execute the transfer. For handling data block transfers of various sizes and locations, the method is implemented in a compiler that compiles different portions of code at run time into a block of code that is then immediately executed. The compiler employs a state machine stored in memory and having a plurality of states. Each state is associated with a portion of code for aligning a destination address or for transferring bytes in multiple-byte words on word-aligned boundaries. The states correspond to different starting source and destination addresses.
    Type: Grant
    Filed: September 5, 1997
    Date of Patent: February 15, 2000
    Assignee: Microsoft Corporation
    Inventors: Stuart Raymond Patrick, Amit Chatterjee
  • Patent number: 5774126
    Abstract: In response to a change in the color depth of a computer system's display device, the invention dynamically changes the color depth of existing objects in system memory to match the changed color depth of the device. As a result open applications need not be shut down and then reopened to change the color depth of objects already in system memory. The dynamic changing is accomplished through a number of functions calls between an application, the operating system and a display driver. In one embodiment of the invention, copies with the changed color depth are made at one time of all objects in system memory and the original objects discarded. The copies are then transferred to screen memory (if the display device is a video display terminal) for display as they are requested. In another embodiment of the invention, copies with the changed color depth are made selectively as the objects are transferred to the screen memory.
    Type: Grant
    Filed: November 27, 1995
    Date of Patent: June 30, 1998
    Assignee: Microsoft Corporation
    Inventors: Amit Chatterjee, Stuart T. Laney, Stuart Raymond Patrick
  • Patent number: 5734387
    Abstract: Operating system enhancements that enable an application program to create and perform graphics operations on device-independent bitmaps (DIBs) efficiently. The enhancements are in the form of functions that return to the application program a handle to the DIB and a pointer to the location of the DIB in memory. With the handle, the application program can use the capabilities of the operating system to perform graphics operations on the DIB. With the pointer, the application program can use its own drawing capabilities and address the DIB directly. The operating system enhancements also streamline the design and content of graphics drivers such as display drivers by placing basic graphics functions in a graphics engine that communicates with the graphics driver. Simple graphics operations are passed from the graphics driver to the graphics engine, allowing the driver to be limited to more complex operations that utilize special characteristics of graphics hardware associated with the driver.
    Type: Grant
    Filed: October 24, 1994
    Date of Patent: March 31, 1998
    Assignee: Microsoft Corporation
    Inventors: Stuart Raymond Patrick, Amit Chatterjee
  • Patent number: 5717845
    Abstract: Method and apparatus for transferring a brush pattern of pixels stored in memory to a destination bitmap in memory. The method transfers an entire row of the brush pattern to the scan line of a destination bitmap without checking each byte for the end of the row. Data bytes are fetched from the pixel row a predetermined number of times to transfer the pixel row in one pass. The transfer method preferably uses multiple-byte words on word-aligned boundaries of memory to reduce the number of fetches and writes and the number of memory cycles to execute the transfer. The transfer may include combining the pattern with a bitmap such as a source bitmap or the destination bitmap and transferring the combination to the destination bitmap. To accelerate the transfer process, a compiler is provided to compile, in response to an appropriate function call, run time code that is then immediately executed to transfer the pattern to the destination bitmap.
    Type: Grant
    Filed: December 13, 1994
    Date of Patent: February 10, 1998
    Assignee: Microsoft Corporation
    Inventors: Stuart Raymond Patrick, Amit Chatterjee
  • Patent number: 5706483
    Abstract: A method and apparatus for efficiently transferring a data block of bytes from a source to a destination in memory of a computer system. The method transfers bytes in multiple-byte words on word-aligned boundaries of memory as much as possible to reduce the number of fetches and writes and the number of memory cycles required to execute the transfer. For handling data block transfers of various sizes and locations, the method is implemented in a compiler that compiles different portions of code at run time into a block of code that is then immediately executed. The compiler employs a state machine stored in memory and having a plurality of states. Each state is associated with a portion of code for aligning a destination address or for transferring bytes in multiple-byte words on word-aligned boundaries. The states correspond to different starting source and destination addresses.
    Type: Grant
    Filed: December 13, 1994
    Date of Patent: January 6, 1998
    Assignee: Microsoft Corporation
    Inventors: Stuart Raymond Patrick, Amit Chatterjee
  • Patent number: 5696946
    Abstract: A method for storing a sequence consisting of a repeated data pattern of three bytes to a memory in double word increments aligned with double word boundaries. A register is loaded with the first four bytes of the sequence. The contents of the register are then repeatedly stored to consecutive locations of the memory. Between each storing of the register's contents, the contents are updated to the next four bytes of the sequence by shifting the second through fourth bytes to the first through third bytes and also moving the second byte to the fourth byte. When the beginning address where the sequence is to be stored in memory is not aligned with a double word boundary, the initial bytes of the sequence up to the double word boundary are stored and the contents of the register updated to the next four bytes of the sequence.
    Type: Grant
    Filed: August 26, 1996
    Date of Patent: December 9, 1997
    Assignee: Microsoft Corporation
    Inventors: Stuart Raymond Patrick, Amit Chatterjee
  • Patent number: 5659336
    Abstract: In response to a command to draw text on a screen, a computer's operating system creates a superglyph bitmap that combines text and a background color into a single bitmap. The bitmap is then transferred to screen memory by either a graphics driver or the operating system itself, depending upon whether the graphics driver has special characteristics for displaying the bitmap such as monochrome-to-color conversion. With this division of tasks, graphics drivers may be simplified to handle tasks for which they are uniquely qualified and the operating system handles more general tasks such a creating the bitmap. The concept may also be applied to other types of bitmaps, wherever it is advantageous to create bitmaps with the operating system and transfer bitmaps with either a graphics driver or the operating system.
    Type: Grant
    Filed: October 24, 1994
    Date of Patent: August 19, 1997
    Assignee: Microsoft Corporation
    Inventors: Stuart Raymond Patrick, Amit Chatterjee
  • Patent number: 5644758
    Abstract: The speed of bitmap block transfers involving image transformations between source and destination bitmaps is increased by forming a mapping array with entries corresponding one-to-one to elements of destination bitmap scan lines. A preprocessor fills the entries of the mapping array with indices of elements in a source scan line that map according to the image transformation to the elements of a destination scan line that correspond with the array entries. A block transfer compiler can then generate code to perform the transfer which uses the mapping array in an indexed look-up operation to determine the source element to transfer to each element of each scan line of the destination bitmap.
    Type: Grant
    Filed: December 13, 1994
    Date of Patent: July 1, 1997
    Assignee: Microsoft Corporation
    Inventors: Stuart Raymond Patrick, Amit Chatterjee