Patents by Inventor William G. Parry

William G. Parry 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: 7558918
    Abstract: An information appliance receives streaming information. The information appliance includes a storage buffer and a writer module which receives the streaming information and writes the streaming information to the buffer. A plurality of reader modules are configurable to read the streaming information from the buffer independently of one another.
    Type: Grant
    Filed: April 1, 2005
    Date of Patent: July 7, 2009
    Assignee: Microsoft Corporation
    Inventors: William G. Parry, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja, Serge Smirnov
  • Patent number: 7451450
    Abstract: Resource management architectures implemented in computer systems to manage resources are described. In one embodiment, a general architecture includes a resource manager and multiple resource providers that support one or more resource consumers such as a system component or application. Each provider is associated with a resource and acts as the manager for the resource when interfacing with the resource manager. The resource manager arbitrates access to the resources provided by the resource providers on behalf of the consumers, e.g., using a priority-based policy. A resource consumer creates an “activity” at the resource manager and builds one or more “configurations” that describe various sets of preferred resources required to perform the activity. Each resource consumer can specify one or more configurations, which may be ranked, for each activity. This allows the resource consumers to be dynamically changed from one configuration to another as operating conditions change.
    Type: Grant
    Filed: August 31, 2004
    Date of Patent: November 11, 2008
    Assignee: Microsoft Corporation
    Inventors: Mukund Sankaranarayan, Forrest C. Foltz, George Shaw, Dale A. Sather, Andy R. Raffman, Jai Srinivasan, Terje K. Backman, William G. Parry, David S. Bakin, Michael B. Jones, Sean C. McDowell, Jayachandran Raja, Robin Speed
  • Patent number: 7444647
    Abstract: A stream class driver for use in a computer operating system functions together with a minidriver. The minidriver is associated with a particular design for an adapter, which is a hardware device that generates or receives streaming data. The stream class driver deals with common operating system tasks such as direct memory access, scatter/gather memory use and Plug n Play. The stream class driver is independent of the hardware design and can therefore function with any type of streaming device or external buses such as USB or IEEE 1394. the minidriver functionality is limited to only those functions required by the unique aspects of the hardware and for the minimum requirements of operation, thereby minimizing the complexity and burden of designing minidrivers for hardware devices.
    Type: Grant
    Filed: November 30, 2005
    Date of Patent: October 28, 2008
    Assignee: Microsoft Corporation
    Inventor: William G. Parry
  • Patent number: 7337446
    Abstract: Resource management architectures implemented in computer systems to manage resources are described. In one embodiment, a general architecture includes a resource manager and multiple resource providers that support one or more resource consumers such as a system component or application. Each provider is associated with a resource and acts as the manager for the resource when interfacing with the resource manager. The resource manager arbitrates access to the resources provided by the resource providers on behalf of the consumers. A policy manager sets various policies that are used by the resource manager to allocate resources. One policy is a priority-based policy that distinguishes among which applications and/or users have priority over others to use the resources. A resource consumer creates an “activity” at the resource manager and builds one or more “configurations” that describe various sets of preferred resources required to perform the activity.
    Type: Grant
    Filed: August 31, 2004
    Date of Patent: February 26, 2008
    Assignee: Microsoft Corporation
    Inventors: Mukund Sankaranarayan, Forrest C. Foltz, George Shaw, Dale A. Sather, Andy R. Raffman, Jai Srinivasan, Terje K. Backman, William G. Parry, David S. Bakin, Michael B. Jones, Sean C. McDowell, Jayachandran Raja, Robin Speed
  • Patent number: 7334078
    Abstract: One aspect of the present invention leads to a method of handling streaming information. The method includes receiving the streaming information and analyzing the streaming information to locate one or more points of interest in the streaming information. An index of the one or more points of interest are generated. The index is delivered to a user separate from the streaming information. Rendering of the streaming information is controlled based on the points of interest.
    Type: Grant
    Filed: April 1, 2005
    Date of Patent: February 19, 2008
    Assignee: Microsoft Corporation
    Inventors: William G. Parry, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja, Serge Smirnov
  • Patent number: 7149868
    Abstract: A streaming information handling system receives streaming information and analyzes the streaming information to locate one or more sync points in the streaming information. The streaming information and sync point location information, indicative of a location of the sync points, is provided to a storage module. The streaming information and at least a portion of the sync point location information are stored on the storage module.
    Type: Grant
    Filed: April 1, 2005
    Date of Patent: December 12, 2006
    Assignee: Microsoft Corporation
    Inventors: William G. Parry, Serge Smirnov, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja
  • Patent number: 7139869
    Abstract: A method is provided for handling streaming information encoded with a data structure having a data block format. The data block format includes a data block having a header portion and an end portion. The header portion includes a prefix field having a pointer to a succeeding data block and the end portion includes a suffix field having a pointer to a preceding data block. A first data block size field is included in the header portion and indicates the size of the data block and a second data block size field is included in the end portion and indicates the size of the data block. A payload field is bounded by the first data block size field and a second data block size field. The payload field includes streaming information to be rendered.
    Type: Grant
    Filed: April 1, 2005
    Date of Patent: November 21, 2006
    Assignee: Microsoft Corporation
    Inventors: William G. Parry, Serge Smirnov, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja
  • Patent number: 7139868
    Abstract: An information appliance receives streaming information and includes a buffer, a writer module, a reader module and a synchronizer. The buffer has a plurality of storage locations, a logical head, a logical tail and a valid data area between the logical head and the logical tail. The logical head and the logical tail move sequentially through the plurality of storage locations in a first logical direction. The writer module has a write position at the logical head of the buffer. The writer module receives the streaming information and writes the streaming information to the buffer at the write position. The reader module is coupled to the buffer and has a first read position which is temporally movable with respect to the write position. The synchronizer is coupled to the writer module and the reader module and maintains the first read position within the valid data area.
    Type: Grant
    Filed: April 1, 2005
    Date of Patent: November 21, 2006
    Assignee: Microsoft Corporation
    Inventors: William G. Parry, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja, Serge Smirnov
  • Patent number: 7093266
    Abstract: A stream class driver for use in a computer operating system functions together with a minidriver. The minidriver is associated with a particular design for an adapter, which is a hardware device that generates or receives streaming data. The stream class driver deals with common operating system tasks such as direct memory access, scatter/gather memory use and Plug n Play. The stream class driver is independent of the hardware design and can therefore function with any type of streaming device or external buses such as USB or IEEE 1394. the minidriver functionality is limited to only those functions required by the unique aspects of the hardware and for the minimum requirements of operation, thereby minimizing the complexity and burden of designing minidrivers for hardware devices.
    Type: Grant
    Filed: September 27, 2004
    Date of Patent: August 15, 2006
    Assignee: Microsoft Corporation
    Inventor: William G. Parry
  • Patent number: 6845508
    Abstract: A stream class driver for use in a computer operating system functions together with a minidriver. The minidriver is associated with a particular design for an adapter, which is a hardware device that generates or receives streaming data. The stream class driver deals with common operating system tasks such as direct memory access, scatter/gather memory use and Plug n Play. The stream class driver is independent of the hardware design and can therefore function with any type of streaming device or external buses such as USB or IEEE 1394. The minidriver functionality is limited to only those functions required by the unique aspects of the hardware and for the minimum requirements of operation, thereby minimizing the complexity and burden of designing minidrivers for hardware devices.
    Type: Grant
    Filed: July 27, 2001
    Date of Patent: January 18, 2005
    Assignee: Microsoft Corporation
    Inventor: William G. Parry
  • Patent number: 6820144
    Abstract: A data block format for streaming information includes a first data block size field and a second data block size field, each of the fields indicating the size of the data block. A payload field is bounded by the first data block sized field and the second data size in the data block format.
    Type: Grant
    Filed: April 6, 1999
    Date of Patent: November 16, 2004
    Assignee: Microsoft Corporation
    Inventors: Serge Smirnov, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja, William G. Parry
  • Patent number: 6799208
    Abstract: Resource management architectures implemented in computer systems to manage resources are described. In one embodiment, a general architecture includes a resource manager and multiple resource providers that support one or more resource consumers such as a system component or application. Each provider is associated with a resource and acts as the manager for the resource when interfacing with the resource manager. The resource manager arbitrates access to the resources provided by the resource providers on behalf of the consumers. A policy manager sets various policies that are used by the resource manager to allocate resources. One policy is a priority-based policy that distinguishes among which applications and/or users have priority over others to use the resources. A resource consumer creates an “activity” at the resource manager and builds one or more “configurations” that describe various sets of preferred resources required to perform the activity.
    Type: Grant
    Filed: May 2, 2000
    Date of Patent: September 28, 2004
    Assignee: Microsoft Corporation
    Inventors: Mukund Sankaranarayan, Forrest C. Foltz, George Shaw, Dale A. Sather, Andy R. Raffman, Jai Srinivasan, Terje K. Backman, William G. Parry, David S. Bakin, Michael B. Jones, Sean C. McDowell, Jayachandran Raja, Robin Speed
  • Patent number: 6763439
    Abstract: A system is configured to prioritize streaming disk I/O over non-streaming disk I/O by providing high priority queuing to streaming disk I/O and/or to throttle non-streaming disk I/O when the total disk I/O (streaming+non-streaming) exceeds a threshold amount for a given time quantum. When disk throttling is utilized, streaming disk I/O is processed in a first time quantum. Non-streaming disk I/O is processed, as much as possible, in the remainder of the first time quantum. Other non-streaming disk I/O remaining to be processed is deferred to a subsequent time quantum.
    Type: Grant
    Filed: May 1, 2000
    Date of Patent: July 13, 2004
    Assignee: Microsoft Corporation
    Inventors: David S. Bakin, William G. Parry, Mark H. Lucovsky
  • Patent number: 6748443
    Abstract: A system includes a resource manager that provides unenforced allocation of streaming I/O bandwidth from streaming I/O bandwidth providers (e.g., CPU, disk, etc.) to streaming I/O bandwidth consumers (e.g., software application, television, etc.). Unenforced allocation denotes that bandwidth allocation in response to a consumer request is not guaranteed, nor is a consumer guaranteed that, once bandwidth has been allocated, it will not be de-allocated and reclaimed by the resource manager for allocation to another bandwidth consumer, based on a priority assigned to the bandwidth consumers. A bandwidth manager is included in a streaming I/O bandwidth provider that provides unenforced allocation from that particular provider to streaming I/O bandwidth consumers, in the same manner as the resource manager described above.
    Type: Grant
    Filed: May 30, 2000
    Date of Patent: June 8, 2004
    Assignee: Microsoft Corporation
    Inventors: William G. Parry, David S. Bakin
  • Patent number: 6748481
    Abstract: The present invention relates to a streaming information appliance for receiving and selectively reading blocks of streaming information. The information appliance includes a buffer, a writer module which receives blocks of streaming information and writes the blocks to the buffer at a write position, and a reader module which selectively reads the blocks from the buffer at a read position. An adjustment mechanism adjusts the relative positions of the read and write position.
    Type: Grant
    Filed: April 6, 1999
    Date of Patent: June 8, 2004
    Assignee: Microsoft Corporation
    Inventors: William G. Parry, Mingtzong Lee
  • Publication number: 20030177292
    Abstract: A data block format for streaming information includes a first data block size field and a second data block size field, each of the fields indicating the size of the data block. A payload field is bounded by the first data block sized field and the second data size in the data block format.
    Type: Application
    Filed: April 6, 1999
    Publication date: September 18, 2003
    Inventors: SERGE SMIRNOV, MINGTZONG LEE, CHRISTOPHER W. LORTON, JAYACHANDRAN RAJA, WILLIAM G. PARRY
  • Patent number: 6535920
    Abstract: A streaming information handling system receives streaming information and analyzes the streaming information to locate one or more sync points in the streaming information. The streaming information and sync point location information, indicative of a location of the sync points, is provided to a storage module. The streaming information and at least a portion of the sync point location information are stored on the storage module.
    Type: Grant
    Filed: April 6, 1999
    Date of Patent: March 18, 2003
    Assignee: Microsoft Corporation
    Inventors: William G. Parry, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja, Serge Smirnov
  • Patent number: 6463486
    Abstract: An information appliance receives streaming information. The information appliance includes a storage buffer and a writer module which receives the streaming information and writes the streaming information to the buffer. A plurality of reader modules are configurable to read the streaming information from the buffer independently of one another.
    Type: Grant
    Filed: April 6, 1999
    Date of Patent: October 8, 2002
    Assignee: Microsoft Corporation
    Inventors: William G. Parry, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja, Serge Smirnov
  • Patent number: 6378035
    Abstract: An information appliance receives streaming information and includes a buffer, a writer module, a reader module and a synchronizer. The buffer has a plurality of storage locations, a logical head, a logical tail and a valid data area between the logical head and the logical tail. The logical head and the logical tail move sequentially through the plurality of storage locations in a first logical direction. The writer module has a write position at the logical head of the buffer. The writer module receives the streaming information and writes the streaming information to the buffer at the write position. The reader module is coupled to the buffer and has a first read position which is temporally movable with respect to the write position. The synchronizer is coupled to the writer module and the reader module and maintains the first read position within the valid data area.
    Type: Grant
    Filed: April 6, 1999
    Date of Patent: April 23, 2002
    Assignee: Microsoft Corporation
    Inventors: William G. Parry, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja, Serge Smirnov
  • Publication number: 20020032805
    Abstract: A stream class driver for use in a computer operating system functions together with a minidriver. The minidriver is associated with a particular design for an adapter, which is a hardware device that generates or receives streaming data. The stream class driver deals with common operating system tasks such as direct memory access, scatter/gather memory use and Plug n Play. The stream class driver is independent of the hardware design and can therefore function with any type of streaming device or external buses such as USB or IEEE 1394. The minidriver functionality is limited to only those functions required by the unique aspects of the hardware and for the minimum requirements of operation, thereby minimizing the complexity and burden of designing minidrivers for hardware devices.
    Type: Application
    Filed: July 27, 2001
    Publication date: March 14, 2002
    Applicant: Microsoft Corporation
    Inventor: William G. Parry