Patents by Inventor Michael A.B. Parkes

Michael A.B. Parkes 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: 6973650
    Abstract: A system for pipelined processing of program data uses a series of servers. A server is an event loop optimized for performing a particular task in the overall program. Servers perform their respective tasks in response to receiving work packets. A work packet is a data structure containing the data needed to perform that task. Each server has a queue of pending work packets. When there are work packets in a server's queue, the server performs the required function using the user context data contained in the packet, and may generate a reply code when complete. A server may run on a single CPU until all work packets in its queue have been processed, or it may also be shared among two or more CPUs. Each server performs its designated task for all users and thus, the general effect of this method is that each CPU performs a single task for all users, thereby insuring that the global context state for each task tends to remain in the cache of the CPU performing that task.
    Type: Grant
    Filed: November 9, 1999
    Date of Patent: December 6, 2005
    Assignee: Microsoft Corporation
    Inventors: Michael A. B. Parkes, Frederic O. Vicik
  • Patent number: 6961927
    Abstract: Lossless, context-free data compression is implemented using a data aware compression scheme that is specific to the type of data being compressed. A modified delta compression scheme is used in which difference information is encoded with reference to a set of typical difference values that commonly occur for the type of data being compressed. Selecting the compression scheme based on the type of data being compressed allows highly-compressed, yet lossless, compression. In addition, the contextual information required to uncompress information is reduced or eliminated, thereby enabling random access of the compressed data.
    Type: Grant
    Filed: November 27, 2000
    Date of Patent: November 1, 2005
    Assignee: Microsoft Corporation
    Inventors: David Erb, Vinod K. Grover, Michael A.B. Parkes
  • Publication number: 20010005853
    Abstract: A method and system for performing a task on a computer is provided, in which the procedure is organized into multiple stages. Each stage of the task has an associated sub-task. Requests for the procedure are represented by “work packets” that stored in a holding area at each stage, such as a stack or a queue, until it is advantageous for a processor to execute them. Each work packet contains data and/or instructions for performing the sub-task of the stage. When a processor is available, it finds a stage having unexecuted work packets and executes a batch of work packets by repeatedly performing the sub-task of the stage. This repeated execution of a sub-task allows a processor to maximize its native time-saving mechanisms, such as cache. The invention may advantageously be used as an alternative to conventional thread-based programming.
    Type: Application
    Filed: February 8, 2001
    Publication date: June 28, 2001
    Inventors: Michael A. B. Parkes, James R. Larus