Patents by Inventor H. J. Shaw
H. J. Shaw 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: 8117329Abstract: Frame-based streaming data flows through a graph of multiple interconnected processing modules. The modules have a set of performance parameters whose values specify the sensitivity of each module to the selection of certain resources of a system. A user specifies overall goals for an actual graph for processing a given type of data for a particular purpose. A flow manager constructs the graph as a sequence of module interconnections required for processing the data, in response to the parameter values of the individual modules in the graph in view of the goals for the overall graph as a whole, and divides it into pipes each having one or more modules and each assigned to a memory manager for handling data frames in the pipe.Type: GrantFiled: August 2, 2005Date of Patent: February 14, 2012Assignee: Microsoft CorporationInventors: Rafael S. Lisitsa, George H. J. Shaw, Dale A. Sather, Bryan A. Woodruff
-
Patent number: 7869440Abstract: Streaming data is processed through one or more pipes of connected modules including mixers and/or splitters. The data is carried in composite physically allocated frames having virtual subframes associated with different ones of the splitters, mixers, and other transform modules. Nesting trees and pipe control tables represent the structure of the pipes. A frame allocator is assigned to a particular module in a pipe. Rather than issuing a control transaction to all modules when any one of them completes an operation upon its source data, a control manager requests a module to begin its operation only when all of its input subframes have become available. Frame control tables record when any module has completed an operation, and a pipe control table lists which modules provide data to which other modules.Type: GrantFiled: August 16, 2005Date of Patent: January 11, 2011Assignee: Microsoft CorporationInventors: Rafael S. Lisitsa, George H. J. Shaw, Dale A. Sather, Bryan A. Woodruff
-
Patent number: 7496677Abstract: Frame-based streaming data flows through a graph of multiple interconnected processing modules. The modules have a set of performance parameters whose values specify the sensitivity of each module to the selection of certain resources of a system. A user specifies overall goals for an actual graph for processing a given type of data for a particular purpose. A flow manager constructs the graph as a sequence of module interconnections required for processing the data, in response to the parameter values of the individual modules in the graph in view of the goals for the overall graph as a whole, and divides it into pipes each having one or more modules and each assigned to a memory manager for handling data frames in the pipe.Type: GrantFiled: June 7, 2004Date of Patent: February 24, 2009Assignee: Microsoft CorporationInventors: Rafael S. Lisitsa, George H. J. Shaw, Dale A. Sather, Bryan A. Woodruff
-
Patent number: 7222182Abstract: Frame-based streaming data flows through a graph of multiple interconnected processing modules. The modules have a set of performance parameters whose values specify the sensitivity of each module to the selection of certain resources of a system. A user specifies overall goals for an actual graph for processing a given type of data for a particular purpose. A flow manager constructs the graph as a sequence of module interconnections required for processing the data, in response to the parameter values of the individual modules in the graph in view of the goals for the overall graph as a whole, and divides it into pipes each having one or more modules and each assigned to a memory manager for handling data frames in the pipe.Type: GrantFiled: June 7, 2004Date of Patent: May 22, 2007Assignee: Microsoft CorporationInventors: Rafael S. Lisitsa, George H. J. Shaw, Dale A. Sather, Bryan A. Woodruff
-
Patent number: 7007096Abstract: Streaming data is processed through one or more pipes of connected modules including mixers and/or splitters. The data is carried in composite physically allocated frames having virtual subframes associated with different ones of the splitters, mixers, and other transform modules. Nesting trees and pipe control tables represent the structure of the pipes. A frame allocator is assigned to a particular module in a pipe. Rather than issuing a control transaction to all modules when any one of them completes an operation upon its source data, a control manager requests a module to begin its operation only when all of its input subframes have become available. Frame control tables record when any module has completed an operation, and a pipe control table lists which modules provide data to which other modules.Type: GrantFiled: May 12, 1999Date of Patent: February 28, 2006Assignee: Microsoft CorporationInventors: Rafael S. Lisitsa, George H. J. Shaw, Dale A. Sather, Bryan A. Woodruff
-
Patent number: 7000022Abstract: Frame-based streaming data flows through a graph of multiple interconnected processing modules. The modules have a set of performance parameters whose values specify the sensitivity of each module to the selection of certain resources of a system. A user specifies overall goals for an actual graph for processing a given type of data for a particular purpose. A flow manager constructs the graph as a sequence of module interconnections required for processing the data, in response to the parameter values of the individual modules in the graph in view of the goals for the overall graph as a whole, and divides it into pipes each having one or more modules and each assigned to a memory manager for handling data frames in the pipe.Type: GrantFiled: June 7, 2004Date of Patent: February 14, 2006Assignee: Microsoft CorporationInventors: Rafael S. Lisitsa, George H. J. Shaw, Dale A. Sather, Bryan A. Woodruff
-
Publication number: 20040221040Abstract: Frame-based streaming data flows through a graph of multiple interconnected processing modules. The modules have a set of performance parameters whose values specify the sensitivity of each module to the selection of certain resources of a system. A user specifies overall goals for an actual graph for processing a given type of data for a particular purpose. A flow manager constructs the graph as a sequence of module interconnections required for processing the data, in response to the parameter values of the individual modules in the graph in view of the goals for the overall graph as a whole, and divides it into pipes each having one or more modules and each assigned to a memory manager for handling data frames in the pipe.Type: ApplicationFiled: June 7, 2004Publication date: November 4, 2004Applicant: Microsoft CorporationInventors: Rafael S. Lisitsa, George H. J. Shaw, Dale A. Sather, Bryan A. Woodruff
-
Publication number: 20040221288Abstract: Frame-based streaming data flows through a graph of multiple interconnected processing modules. The modules have a set of performance parameters whose values specify the sensitivity of each module to the selection of certain resources of a system. A user specifies overall goals for an actual graph for processing a given type of data for a particular purpose. A flow manager constructs the graph as a sequence of module interconnections required for processing the data, in response to the parameter values of the individual modules in the graph in view of the goals for the overall graph as a whole, and divides it into pipes each having one or more modules and each assigned to a memory manager for handling data frames in the pipe.Type: ApplicationFiled: June 7, 2004Publication date: November 4, 2004Applicant: Microsoft CorporationInventors: Rafael S. Lisitsa, George H.J. Shaw, Dale A. Sather, Bryan A. Woodruff
-
Patent number: 6757904Abstract: A method and system for communicating between operating systems using an interface that provides an abstraction layer of one of the operating systems. At least one channel is created that allows messages and data packets to be transferred between the operating systems without converting the data into an operating system's format before sending the data to another operating system. The interface provides commands for each of the operating systems to use to communicate with each other and provides the flexibility to create platform specific extensions to the provided commands. The interface also allows a first operating system to demand load devices on a second operating system by extending demand load functionality of the second operating system to the first operating system. A second channel is created that is used to only send data and data related control messages on the channel, eliminating the need to distinguish between general control messages and data specific control message.Type: GrantFiled: March 10, 2000Date of Patent: June 29, 2004Assignee: Microsoft CorporationInventors: Bryan A. Woodruff, George H. J. Shaw
-
Patent number: 6748440Abstract: Frame-based streaming data flows through a graph of multiple interconnected processing modules. The modules have a set of performance parameters whose values specify the sensitivity of each module to the selection of certain resources of a system. A user specifies overall goals for an actual graph for processing a given type of data for a particular purpose. A flow manager constructs the graph as a sequence of module interconnections required for processing the data, in response to the parameter values of the individual modules in the graph in view of the goals for the overall graph as a whole, and divides it into pipes each having one or more modules and each assigned to a memory manager for handling data frames in the pipe.Type: GrantFiled: May 12, 1999Date of Patent: June 8, 2004Assignee: Microsoft CorporationInventors: Rafael S. Lisitsa, George H. J. Shaw, Dale A. Sather, Bryan A. Woodruff
-
Patent number: 6658477Abstract: Frame-based streaming data is controlled through a reconfigurable graph of processing modules. A control mechanism employs a set of components that are used and combined among themselves to implement control functions at the control pins of processing modules. The components include a source pin and a sink pin for connecting modules together, a queue for making data frames available to module functions, a data-frame requester, and a splitter for handling graph branches. When modules are assembled into a graph, a control manager implements their control operations as combinations of the above components, then examines all of the components in a graph control structure to determine whether any can be removed as unnecessary to the overall operation of the structure. If so, the remaining components are connected directly to each other. When the graph is played, control packets traverse the simplified structure, carrying with them associated frames of data for processing by the modules.Type: GrantFiled: May 12, 1999Date of Patent: December 2, 2003Assignee: Microsoft CorporationInventors: Rafael S. Lisitsa, Dale A. Sather, George H. J. Shaw, Bryan A. Woodruff
-
Patent number: 6643712Abstract: A method is provided to overcome excess code development associated with developing device drivers that are hierarchically related and provides standardization to driver developers by listing in the private area of a device object types of file objects, including specific IRP handlers associated therewith, that may be created under that device object to thereby provide a device object context. In like manner, each file object has listed in the private area types of other file objects, again including specific IRP handlers associated therewith, that may be created under that particular file object to thereby provide a file object context. The default handler for a driver object points to a multiplexing function that processes an incoming IRP based on the available context information to “route” the IRP to the appropriate handler. Each file object has reference to a plurality of dispatch function references that are used by the IRP handlers to fulfill a particular request.Type: GrantFiled: January 20, 2000Date of Patent: November 4, 2003Assignee: Microsoft CorporationInventors: George H. J. Shaw, Bryan A. Woodruff
-
Patent number: 6601112Abstract: A method and computer program product for overcoming the inefficiencies associated with inter-buffer data transfers between separate processing components such as kernel mode drivers that are chained together. Provided is a standard mechanism for allocating and managing data buffers needed for processing data in a system, wherein multiple drivers are chained together using a standardized connection method in the connection pin instances. Drivers having different buffer requirements and capabilities may be queried and matched for easy data transition between the chained drivers requiring the least number of buffers and, hence the least expensive yet most efficient inter-buffer data transfer. Examples of buffer requirements include previous frame storage for adaptive processing, byte alignment, frame size, outstanding frames allowed, etc. The buffer requirements of an input connection pin instance may be queried by an application initializing the chained drivers.Type: GrantFiled: April 28, 1999Date of Patent: July 29, 2003Assignee: Microsoft CorporationInventors: Thomas J. O'Rourke, George H. J. Shaw, Bryan A. Woodruff
-
Patent number: 6594773Abstract: Frame based streaming data is controlled through a reconfigurable graph of processing modules. A client specifies overall goals for the graph. A graph manager constructs the graph as a sequence of interconnected modules for processing the data, in response to the capabilities of modules within the graph and the overall goals, and divides the graph into time domains each having one or more modules, pipes each having one or more modules, and a control mechanism is used that eliminates components unnecessary to the overall operation of the graph and that provides synchronization between time domains using time translation tables or timing correlation tables. The graph manager adaptively controls graphs that have a low latency requirement.Type: GrantFiled: February 23, 2000Date of Patent: July 15, 2003Assignee: Microsoft CorporationInventors: Rafael S. Lisitsa, George H. J. Shaw, Dale A. Sather, Bryan A. Woodruff, Costin Hagiu
-
Patent number: 6212574Abstract: This invention involves user mode proxy of kernel mode operations in a computer operating system. The broad contours of the invention allow drivers operating in the kernel mode of an operating system to be proxied by a corresponding user mode object. A user mode process wishing to communicate with or manipulate the kernel mode driver may perform such communication or manipulation by communicating with or manipulating the corresponding user mode proxy. The present invention has particular applicability to emerging operating systems which allow kernel mode drivers to be interconnected in order to create a processing stream in the kernel where data is passed from kernel mode driver to kernel mode driver without transitioning to user mode. User mode proxy of such kernel mode drivers allows user mode processes to manipulate such kernel mode drivers using familiar user mode protocols without the necessity of learning new kernel mode protocols.Type: GrantFiled: April 4, 1997Date of Patent: April 3, 2001Assignee: Microsoft CorporationInventors: Thomas J. O'Rourke, George H. J. Shaw, Bryan A. Woodruff
-
Patent number: 6209041Abstract: A method and computer program product for overcoming the inefficiencies associated with inter-buffer data transfers between separate processing components such as kernel mode drivers that are chained together. Provided is a standard mechanism for allocating and managing data buffers needed for processing data in a system, wherein multiple drivers are chained together using a standardized connection method in the connection pin instances. Drivers having different buffer requirements and capabilities may be queried and matched for easy data transition between the chained drivers requiring the least number of buffers and, hence the least expensive yet most efficient inter-buffer data transfer. Examples of buffer requirements include previous frame storage for adaptive processing, byte alignment, frame size, outstanding frames allowed, etc. The buffer requirements of an input connection pin instance may be queried by an application initializing the chained drivers.Type: GrantFiled: April 4, 1997Date of Patent: March 27, 2001Assignee: Microsoft CorporationInventors: George H. J. Shaw, Bryan A. Woodruff, Thomas J. O'Rourke
-
Patent number: 6205492Abstract: A method and computer program product are presented that overcome the inefficiencies in user mode processing of multimedia data by allowing an application running as a user mode process simply to start and connect multiple blocks of kernel mode functionality in the form of drivers or filters (separate logical blocks of driver executable code). Once the kernel mode filters are set up and connected, the user mode application need not be active until notified by the filters. Such notification may occur at the end of processing or at any relevant event chosen by the application as part of the filter initiation and set up. Furthermore, a user mode application may query a kernel mode filter or driver of its capabilities and requirements so that it may properly make the connections between the different filters chained together to process a stream of data and request appropriate notifications. These connection may represent actual driver to driver data exchange, or remote connections.Type: GrantFiled: April 4, 1997Date of Patent: March 20, 2001Assignee: Microsoft CorporationInventors: George H. J. Shaw, Bryan A. Woodruff, Thomas J. O'Rourke
-
Patent number: 6016515Abstract: A method, computer program product, and data structure is provided overcome excess code development associated with developing device drivers that are hierarchically related and provides standardization to driver developers by listing in the private area of a device object types of file objects, including specific IRP handlers associated therewith, that may be created under that device object to thereby provide a device object context. In like manner, each file object has listed in the private area types of other file objects, again including specific IRP handlers associated therewith, that may be created under that particular file object to thereby provide a file object context. The default handler for a driver object points to a multiplexing function that will process an incoming IRP based on the available context information to "route" the IRP to the appropriate handler.Type: GrantFiled: April 4, 1997Date of Patent: January 18, 2000Assignee: Microsoft CorporationInventors: George H. J. Shaw, Bryan A. Woodruff
-
Patent number: 5815689Abstract: A method and computer program product for synchronizing processing between two or more data streams (e.g., video and sound input) and for rate matching between two different hardware clocks that may drift with respect to one another (e.g., an originating clock represented in a timestamped data stream versus a clock actually rendering the data) in a system of interconnected software drivers running in kernel mode. The present invention overcomes the coordination complexity and inaccuracies in the prior art by providing a clocking mechanism in a system wherein multiple drivers having input and output connection pin instances are chained together. The clocking mechanism synchronizes between data streams by providing a master clock on an input pin instance of a driver that is used to synchronize with other input pin instances on other drivers and "slave" clocks.Type: GrantFiled: April 4, 1997Date of Patent: September 29, 1998Assignee: Microsoft CorporationInventors: George H. J. Shaw, Bryan A. Woodruff, Thomas J. O'Rourke
-
Patent number: 4815804Abstract: A fiber optic recirculating memory comprises a splice-free length of optical fiber which forms a loop that is optically closed by means of a fiber optic coupler. The coupler couples an optical signal input pulse to the loop for circulation therein, and outputs a portion of the signal pulse on each circulation to provide a series of output pulses. A pump source is included to pump the fiber loop with a pump signal having sufficient intensity to cause stimulated Raman scattering in the fiber loop, and thereby cause amplification of the circulating signal pulse. The fiber characteristics, coupler characteristics, and pump power are selected to yield a Raman gain which compensates for the total round-trip losses in the fiber loop, so as to provide an output pulse train of constant amplitude pulses. The invention may be implemented utilizing either a standard coupler or a multiplexing coupler.Type: GrantFiled: November 20, 1987Date of Patent: March 28, 1989Assignee: The Board of Trustees of the Leland Stanford Junior UniversityInventors: Emmanuel Desurvire, Michel J. F. Digonnet, H. J. Shaw