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: 7558918Abstract: 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: GrantFiled: April 1, 2005Date of Patent: July 7, 2009Assignee: Microsoft CorporationInventors: William G. Parry, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja, Serge Smirnov
-
Patent number: 7451450Abstract: 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: GrantFiled: August 31, 2004Date of Patent: November 11, 2008Assignee: Microsoft CorporationInventors: 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: 7444647Abstract: 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: GrantFiled: November 30, 2005Date of Patent: October 28, 2008Assignee: Microsoft CorporationInventor: William G. Parry
-
Patent number: 7337446Abstract: 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: GrantFiled: August 31, 2004Date of Patent: February 26, 2008Assignee: Microsoft CorporationInventors: 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: 7334078Abstract: 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: GrantFiled: April 1, 2005Date of Patent: February 19, 2008Assignee: Microsoft CorporationInventors: William G. Parry, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja, Serge Smirnov
-
Patent number: 7149868Abstract: 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: GrantFiled: April 1, 2005Date of Patent: December 12, 2006Assignee: Microsoft CorporationInventors: William G. Parry, Serge Smirnov, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja
-
Patent number: 7139869Abstract: 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: GrantFiled: April 1, 2005Date of Patent: November 21, 2006Assignee: Microsoft CorporationInventors: William G. Parry, Serge Smirnov, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja
-
Patent number: 7139868Abstract: 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: GrantFiled: April 1, 2005Date of Patent: November 21, 2006Assignee: Microsoft CorporationInventors: William G. Parry, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja, Serge Smirnov
-
Patent number: 7093266Abstract: 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: GrantFiled: September 27, 2004Date of Patent: August 15, 2006Assignee: Microsoft CorporationInventor: William G. Parry
-
Patent number: 6845508Abstract: 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: GrantFiled: July 27, 2001Date of Patent: January 18, 2005Assignee: Microsoft CorporationInventor: William G. Parry
-
Patent number: 6820144Abstract: 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: GrantFiled: April 6, 1999Date of Patent: November 16, 2004Assignee: Microsoft CorporationInventors: Serge Smirnov, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja, William G. Parry
-
Patent number: 6799208Abstract: 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: GrantFiled: May 2, 2000Date of Patent: September 28, 2004Assignee: Microsoft CorporationInventors: 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: 6763439Abstract: 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: GrantFiled: May 1, 2000Date of Patent: July 13, 2004Assignee: Microsoft CorporationInventors: David S. Bakin, William G. Parry, Mark H. Lucovsky
-
Patent number: 6748443Abstract: 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: GrantFiled: May 30, 2000Date of Patent: June 8, 2004Assignee: Microsoft CorporationInventors: William G. Parry, David S. Bakin
-
Patent number: 6748481Abstract: 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: GrantFiled: April 6, 1999Date of Patent: June 8, 2004Assignee: Microsoft CorporationInventors: William G. Parry, Mingtzong Lee
-
Publication number: 20030177292Abstract: 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: ApplicationFiled: April 6, 1999Publication date: September 18, 2003Inventors: SERGE SMIRNOV, MINGTZONG LEE, CHRISTOPHER W. LORTON, JAYACHANDRAN RAJA, WILLIAM G. PARRY
-
Patent number: 6535920Abstract: 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: GrantFiled: April 6, 1999Date of Patent: March 18, 2003Assignee: Microsoft CorporationInventors: William G. Parry, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja, Serge Smirnov
-
Patent number: 6463486Abstract: 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: GrantFiled: April 6, 1999Date of Patent: October 8, 2002Assignee: Microsoft CorporationInventors: William G. Parry, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja, Serge Smirnov
-
Patent number: 6378035Abstract: 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: GrantFiled: April 6, 1999Date of Patent: April 23, 2002Assignee: Microsoft CorporationInventors: William G. Parry, Mingtzong Lee, Christopher W. Lorton, Jayachandran Raja, Serge Smirnov
-
Publication number: 20020032805Abstract: 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: ApplicationFiled: July 27, 2001Publication date: March 14, 2002Applicant: Microsoft CorporationInventor: William G. Parry