Patents by Inventor Bor-Ming Hsieh

Bor-Ming Hsieh 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).

  • Publication number: 20060075386
    Abstract: A method of acquiring software profile information of a target software application includes receiving a programmed interrupt while executing an application in a computer system, servicing the interrupt such that call stack information is acquired and processing the call stack information to produce statistical information concerning function calls. The call stack information includes program counter and other information which is derived from the target application as well as operating system. Some or all of the call stack information may be recorded. The statistical information includes statistics concerning the number of samples wherein a series of functions calls are included in the call stack information and the number of samples wherein a set of function calls are at the top of the call stack information.
    Type: Application
    Filed: October 1, 2004
    Publication date: April 6, 2006
    Applicant: Microsoft Corporation
    Inventors: Susan Loh, Amjad Hussain, Bor-Ming Hsieh, John Eldridge, Todd Squire
  • Publication number: 20060059486
    Abstract: The present invention provides a method and system for capturing the call stack of a currently-running thread at the time a profiler interrupt occurs. The thread context of the thread is determined before a full push of the thread context is performed by the CPU architecture. The hardware state at the time of the interrupt is used to aid in determining which portions of memory to search for portions of the thread context. Based on the hardware state and the software state of the thread at the time of the interrupt the thread context is captured. Code may also be injected into a thread to capture a thread's call stack. The state of the thread is altered to induce the thread to invoke the kernel's call stack API itself, using its own context.
    Type: Application
    Filed: September 14, 2004
    Publication date: March 16, 2006
    Applicant: Microsoft Corporation
    Inventors: Susan Loh, Bor-Ming Hsieh, John Eldridge
  • Patent number: 6988163
    Abstract: A system that determines where a particular XIP component is stored on a non-linearly addressable storage medium and loads the component into RAM for execution, providing the ability to demand page specific components at will from storage media, frees up working RAM on memory constrained devices. A Binary File System uses a generic block driver component that loads the XIP code from a block based storage medium. Features of the file system include the ability to load pre-“fixed up” components from a block based device. The invention thus allows an operating system to load code that was previously Executed In Place (XIP) from a block-oriented device.
    Type: Grant
    Filed: October 21, 2002
    Date of Patent: January 17, 2006
    Assignee: Microsoft Corporation
    Inventors: Michael D. Malueg, Larry Alan Morris, Bor-Ming Hsieh, Yadhu N. Gopalan
  • Publication number: 20050209991
    Abstract: A computing device includes a processor, a storage device having an executable file, and a file system for executing the file in place on the storage device on behalf of the processor. The file is divided into multiple non-contiguous fragments on the storage device, and the computing device further includes a virtual address translator interposed between the processor and the storage device for translating between physical addresses of the fragments of the file on the storage device and corresponding virtual addresses employed by the processor.
    Type: Application
    Filed: December 1, 2004
    Publication date: September 22, 2005
    Applicant: Microsoft Corporation
    Inventors: Andrew Rogers, Yadhu Gopalan, Bor-Ming Hsieh, David Kelley
  • Publication number: 20040078509
    Abstract: A system that determines where a particular XIP component is stored on a medium and loads the component into RAM for execution, providing the ability to demand page specific components at will from storage media, frees up working RAM on memory constrained devices. A Binary File System uses a generic block driver component that loads the XIP code from a block based storage medium. Features of the file system include the ability to load pre-“fixed up” components from a block based device. The invention thus allows an operating system to load code that was previously Executed In Place (XIP) from a block-oriented device.
    Type: Application
    Filed: October 21, 2002
    Publication date: April 22, 2004
    Inventors: Michael D. Malueg, Larry Alan Morris, Bor-Ming Hsieh, Yadhu N. Gopalan
  • Publication number: 20020194250
    Abstract: Various implementations of the described subject matter provide for the management of a multi-dimensional sleep queue, such that a group of threads with a same wake-up time are removed from the multi-dimensional sleep queue in a deterministic amount of time that is independent of the number of threads in the removed group. This is significant because it allows an operating system to schedule other threads for execution within deterministic/predetermined time parameters. Moreover, the described subject matter also provides for inserting new threads into the multi-dimensional sleep queue in a manner that allows other processes to execute during the thread insertion process.
    Type: Application
    Filed: June 18, 2001
    Publication date: December 19, 2002
    Inventor: Bor-Ming Hsieh
  • Publication number: 20020194249
    Abstract: Various implementations of the described subject associate a plurality of threads that are sorted based on thread priority with a run queue in a deterministic amount of time. The run queue includes a first plurality of threads, which are sorted based on thread priority. The second plurality of threads is associated with the run queue in a bounded, or deterministic amount of time that is independent of the number of threads in the associated second plurality. Thus, the various implementations of the described subject matter allow an operating system to schedule other threads for execution within deterministic/predetermined time parameters.
    Type: Application
    Filed: June 18, 2001
    Publication date: December 19, 2002
    Inventor: Bor-Ming Hsieh