Patents by Inventor Danny S. Shih

Danny S. Shih 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: 9229788
    Abstract: A method of performing a wait operation includes creating a first plurality of tasks and a continuation task. The continuation task represents a second plurality of tasks. The continuation task and each of the tasks in the first plurality have an associated wait handle. The wait handles for the first plurality of tasks and the continuation task are stored in an array. A wait operation is performed on the array, thereby waiting for at least one of the tasks in the first and second pluralities to complete.
    Type: Grant
    Filed: March 26, 2010
    Date of Patent: January 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Stephen H. Toub, Joseph E. Hoag, Huseyin S. Yildiz, Danny S. Shih, Mike Liddell, John Duffy
  • Patent number: 8392922
    Abstract: The present invention extends to methods, systems, and computer program products for marshaling results of nested tasks. Unwrap methods are used to reduce the level of task nesting and insure that appropriate results are marshaled between tasks. A proxy task is used to represent the aggregate asynchronous operation of a wrapping task and a wrapped task. The proxy task has a completion state that is at least indicative of the completion state of the aggregate asynchronous operation. The completion state of the aggregate asynchronous operation is determined and set from one or more of the completion state of the wrapping task and the wrapped task. The completion state of the proxy task can be conveyed to calling logic to indicate the completion state of the aggregate asynchronous operation to the calling logic.
    Type: Grant
    Filed: March 8, 2010
    Date of Patent: March 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Stephen H. Toub, Joseph E. Hoag, John J. Duffy, Danny S. Shih
  • Publication number: 20110239217
    Abstract: A method of performing a wait operation includes creating a first plurality of tasks and a continuation task. The continuation task represents a second plurality of tasks. The continuation task and each of the tasks in the first plurality have an associated wait handle. The wait handles for the first plurality of tasks and the continuation task are stored in an array. A wait operation is performed on the array, thereby waiting for at least one of the tasks in the first and second pluralities to complete.
    Type: Application
    Filed: March 26, 2010
    Publication date: September 29, 2011
    Applicant: Microsoft Corporation
    Inventors: Stephen H. Toub, Joseph E. Hoag, Huseyin S. Yildiz, Danny S. Shih, Mike Liddell, John Duffy
  • Publication number: 20110219380
    Abstract: The present invention extends to methods, systems, and computer program products for marshaling results of nested tasks. Unwrap methods are used to reduce the level of task nesting and insure that appropriate results are marshaled between tasks. A proxy task is used to represent the aggregate asynchronous operation of a wrapping task and a wrapped task. The proxy task has a completion state that is at least indicative of the completion state of the aggregate asynchronous operation. The completion state of the aggregate asynchronous operation is determined and set from one or more of the completion state of the wrapping task and the wrapped task. The completion state of the proxy task can be conveyed to calling logic to indicate the completion state of the aggregate asynchronous operation to the calling logic.
    Type: Application
    Filed: March 8, 2010
    Publication date: September 8, 2011
    Applicant: Microsoft Corporation
    Inventors: Stephen H. Toub, Joseph E. Hoag, John J. Duffy, Danny S. Shih