Patents by Inventor John Dunagan

John Dunagan 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: 20110239051
    Abstract: Technology is described for diagnosing problem causes in complex environments by using factorization of a plurality of features. An embodiment can include the operation of identifying a plurality of entities having entity weighting parameters. The entities may be computing devices. The plurality of features can be associated with a respective entity having feature weighting parameters, and an instance of the plurality of features can be associated with individual entity instances. A fault label can be applied for an ensemble entity. The plurality of features can be linked using the feature weighting parameter and the entity weighting parameter with a bilinear model. A further operation is estimating weighting values for the entity weighting parameters and the feature weighting parameters for use in a statistical model. The meaningful feature parameters can be found for the statistical model that are likely to be responsible for entity faults.
    Type: Application
    Filed: March 25, 2010
    Publication date: September 29, 2011
    Applicant: Microsoft Corporation
    Inventors: Sumit Basu, John Dunagan
  • Patent number: 7984335
    Abstract: Systems and methods are provided to determine execution errors in distributed computing environments. In an illustrative implementation, a computing environment comprises a test amplification engine and at least one instruction set to instruct the test amplification engine to process data representative of a request to perform a test for one or more execution errors in an distributed computing environment according to a selected execution error testing paradigm dependent on identifying critical sources of non-determinism for execution within the exemplary distributed computing environment. In an illustrative operation, a participating distributed computing environment operator (e.g.
    Type: Grant
    Filed: March 20, 2008
    Date of Patent: July 19, 2011
    Assignee: Microsoft Corporation
    Inventors: Atul Adya, Alastair Wolman, John Dunagan, David Andrew Schultz
  • Patent number: 7865777
    Abstract: Apparatus and methods for intercepting and analyzing threads are disclosed. In one embodiment, a thread data recorder is configured to instrument one or more existing functions by modifying computer executable instructions in the functions to intercept threads calling the functions. In one possible implementation, the number of existing functions instrumented can be reduced by instrumenting choke point functions. The instrumented functions can also capture data associated with the threads as the threads execute at the function. This data can be saved to memory and compressed into logs. In one aspect, the data can be saved and/or compressed at a time when processor resources are being used at or below predetermined level. The captured data can be used to analyze a functioning of a computer system in which the threads were produced.
    Type: Grant
    Filed: October 31, 2007
    Date of Patent: January 4, 2011
    Assignee: Microsoft Corporation
    Inventors: Chad Verbowski, Brad Daniels, John Dunagan, Shan Lu, Roussi Roussev, Juhan Lee, Arunvijay Kumar
  • Patent number: 7788198
    Abstract: A strategy is described for detecting anomalies in the operation of a data processing environment. The strategy relies on parameter information to detect the anomalies in a detection operation, the parameter information being derived in a training operation. The parameter information is selected such that the detection of anomalies is governed by both a desired degree of sensitivity (determining how inclusive the detection operation is in defining anomalies) and responsiveness (determining how quickly the detection operation reports the anomalies). The detection operation includes specific algorithms for determining undesired trending and spiking in the performance data.
    Type: Grant
    Filed: December 14, 2006
    Date of Patent: August 31, 2010
    Assignee: Microsoft Corporation
    Inventors: Yaodong Liu, Cary L. Mitchell, John Dunagan, Dana K. Fujimoto
  • Publication number: 20100191712
    Abstract: Consistency is managed among data operations by coalescing commit operations, adjusting a commit rate to optimize latency, and converging to fairness across servers. Write operations representing a change to data stored by one or more of a plurality of computing devices are received in succession by, for example, a cloud computing service. A state of a plurality of tracking objects is adjusted to indicate whether the change in data has been provided to the computing devices and whether the change in data has been acknowledged by the computing devices. Changes to the same data are coalesced such that only the most recent change is provided to the computing devices for storage. In some embodiments, the commit rate is adjustable such that the commit rate decreases quickly but increases slowly based on measured latencies.
    Type: Application
    Filed: January 29, 2009
    Publication date: July 29, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Alastair Wolman, John Dunagan, John Carleton McCullough, Bruce W. Copeland, Jeremy L. Dewey
  • Patent number: 7716530
    Abstract: Apparatus and methods for intercepting and analyzing threads are disclosed. In one embodiment, a thread data recorder is configured to instrument one or more existing functions by modifying computer executable instructions in the functions to intercept threads calling the functions. In one possible implementation, the number of existing functions instrumented can be reduced by instrumenting choke point functions. The instrumented functions can also capture data associated with the threads as the threads execute at the function. This data can be saved to memory and compressed into logs. In one aspect, the data can be saved and/or compressed at a time when processor resources are being used at or below a predetermined level. The captured data can be used to analyze a functioning of a computer system in which the threads were produced.
    Type: Grant
    Filed: December 5, 2006
    Date of Patent: May 11, 2010
    Assignee: Microsoft Corporation
    Inventors: Chad Verbowski, Brad Daniels, John Dunagan, Shan Lu, Roussi Roussev, Juhan Lee, Arunvijay Kumar
  • Publication number: 20100058293
    Abstract: A system described herein includes a receiver component that receives third party code for execution in a host environment, wherein the third party code corresponds to a dynamic programming language, and wherein the third party code has at least one object reference to a first object that is used by the third party code. A detouring component automatically replaces the first object referenced by the third party code with a proxy object such that the third party code at runtime calls the proxy object instead of the first object.
    Type: Application
    Filed: August 28, 2008
    Publication date: March 4, 2010
    Applicant: Microsoft Corporation
    Inventors: John Dunagan, Xiaofeng Fan, Jiahe Wang
  • Patent number: 7614046
    Abstract: A method and system for analyzing the impact on software of an update to a software system is provided. The impact analysis system identifies resources that are affected by an update to the software system and identifies resources that are accessed by various software components during execution of the software components. To analyze the effects of an update, the impact analysis system identifies those accessed resources of the software components that are affected by the update as being impacted resources. The impact analysis system considers those software components that access the impacted resources to be impacted software components. The impact analysis system provides a user interface through which a user can view and analyze the impact of an update.
    Type: Grant
    Filed: November 24, 2004
    Date of Patent: November 3, 2009
    Assignee: Microsoft Corporation
    Inventors: Bradford Ruffin Daniels, John Dunagan, Roussi A. Roussev, Chad E. Verbowski, Yi-Min Wang
  • Publication number: 20090240987
    Abstract: Systems and methods are provided to determine execution errors in distributed computing environments. In an illustrative implementation, a computing environment comprises a test amplification engine and at least one instruction set to instruct the test amplification engine to process data representative of a request to perform a test for one or more execution errors in an distributed computing environment according to a selected execution error testing paradigm dependent on identifying critical sources of non-determinism for execution within the exemplary distributed computing environment. In an illustrative operation, a participating distributed computing environment operator (e.g.
    Type: Application
    Filed: March 20, 2008
    Publication date: September 24, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Atul Adya, Alastair Wolman, John Dunagan, David Andrew Schultz
  • Patent number: 7551552
    Abstract: A guaranteed distributed failure notification method is described, wherein a failure notification (FN) facility allows applications using the facility to create FN groups to which the application associates an application state. The application registers failure handlers with the FN facility on nodes in the FN group; each failure handler is associated with a specific FN group. When, on a given node, the FN facility learns of a failure in the FN group, the facility executes the associated failure handler on that node. System failures detected by the application are signaled to other FN group members using the facility. The facility detects system failures that occur in an overlay network on which the facility is implemented, and signals a failure notification to the other FN group members.
    Type: Grant
    Filed: October 17, 2003
    Date of Patent: June 23, 2009
    Assignee: Microsoft Corporation
    Inventors: John Dunagan, Nicholas J. A. Harvey, Michael B. Jones, Dejan Kostić, Marvin M. Theimer, Alastair Wolman
  • Publication number: 20090150536
    Abstract: A method of managing congestion within a request-response system is disclosed. The method includes determining a response time that is directly or indirectly indicative of how long it takes a back end system to process a request received from a front end system and return a corresponding response. The response time is compared to a threshold criterion. A determination is made, based at least in part on the comparison, that the back end system is becoming congested with requests from the front end system. The front end system is adjusted so as to at least temporarily reduce the number of requests provided to the back end system by the front end system.
    Type: Application
    Filed: December 5, 2007
    Publication date: June 11, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Alastair Wolman, John Dunagan, Johan Ake Fredrick Sundstrom, Richard Austin Clawson, David Pettersson Rickard
  • Publication number: 20090144404
    Abstract: A technique for load management in a distributed system that includes multiple physical nodes is disclosed. The load management technique includes mutably assigning a number of virtual nodes to each physical node of the multiple physical nodes. A total number of virtual nodes assigned to the multiple physical nodes is maintained substantially unaltered in spite of any alterations made in the number of virtual nodes assigned to each physical node of the multiple physical nodes.
    Type: Application
    Filed: December 4, 2007
    Publication date: June 4, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Alastair Wolman, John Dunagan, Johan Ake Fredrick Sundstrom, Richard Austin Clawson, David Pettersson Rickard
  • Publication number: 20090119233
    Abstract: Systems and methods for power optimization through datacenter client and workflow resource migration are described. In one aspect, the systems and methods estimate how much power will cost for different and geographically distributed datacenters to handle a specific set of actual and/or anticipated workflow(s), where the workflow(s) are currently being handled by a particular one of the distributed datacenters. These estimated power costs are based on current power prices at each of the datacenters, and prior recorded models of power actually used by each of the datacenters to handle similar types of workflows for specific numbers of client applications. If the systems and methods determine that power costs can be optimized by moving the workflow(s) from the datacenter currently handling the workflows to a different datacenter, service requests from corresponding client applications and any data resources associated with the workflows are migrated to the different datacenter.
    Type: Application
    Filed: November 5, 2007
    Publication date: May 7, 2009
    Applicant: Microsoft Corporation
    Inventors: John Dunagan, James R. Hamilton
  • Publication number: 20080148180
    Abstract: A strategy is described for detecting anomalies in the operation of a data processing environment. The strategy relies on parameter information to detect the anomalies in a detection operation, the parameter information being derived in a training operation. The parameter information is selected such that the detection of anomalies is governed by both a desired degree of sensitivity (determining how inclusive the detection operation is in defining anomalies) and responsiveness (determining how quickly the detection operation reports the anomalies). The detection operation includes specific algorithms for determining undesired trending and spiking in the performance data.
    Type: Application
    Filed: December 14, 2006
    Publication date: June 19, 2008
    Applicant: Microsoft Corporation
    Inventors: Yaodong Liu, Cary L. Mitchell, John Dunagan, Dana K. Fujimoto
  • Publication number: 20080141377
    Abstract: A strategy is described for assessing and mitigating vulnerabilities within a data processing environment. The strategy collects access data that reflects actual log-in behavior exhibited by users in the environment. The strategy also collects rights data that reflects the rights possessed by one or more administrators within the environment. Based on the access data and rights data, the strategy identifies how a user or other entity that gains access to one part of the environment can potentially compromise additional parts of the environment. The strategy can recommend and implement steps aimed at reducing any identified vulnerabilities.
    Type: Application
    Filed: December 7, 2006
    Publication date: June 12, 2008
    Applicant: Microsoft Corporation
    Inventors: John Dunagan, Gregory D. Hartrell, Daniel R. Simon
  • Publication number: 20080066069
    Abstract: Apparatus and methods for intercepting and analyzing threads are disclosed. In one embodiment, a thread data recorder is configured to instrument one or more existing functions by modifying computer executable instructions in the functions to intercept threads calling the functions. In one possible implementation, the number of existing functions instrumented can be reduced by instrumenting choke point functions. The instrumented functions can also capture data associated with the threads as the threads execute at the function. This data can be saved to memory and compressed into logs. In one aspect, the data can be saved and/or compressed at a time when processor resources are being used at or below a predetermined level. The captured data can be used to analyze a functioning of a computer system in which the threads were produced.
    Type: Application
    Filed: October 31, 2007
    Publication date: March 13, 2008
    Applicant: Microsoft Corporation
    Inventors: Chad Verbowski, Brad Daniels, John Dunagan, Shan Lu, Roussi Roussev, Juhan Lee, Arunvijay Kumar
  • Publication number: 20080059973
    Abstract: Apparatus and methods for intercepting and analyzing threads are disclosed. In one embodiment, a thread data recorder is configured to instrument one or more existing functions by modifying computer executable instructions in the functions to intercept threads calling the functions. In one possible implementation, the number of existing functions instrumented can be reduced by instrumenting choke point functions. The instrumented functions can also capture data associated with the threads as the threads execute at the function. This data can be saved to memory and compressed into logs. In one aspect, the data can be saved and/or compressed at a time when processor resources are being used at or below predetermined level. The captured data can be used to analyze a functioning of a computer system in which the threads were produced.
    Type: Application
    Filed: October 31, 2007
    Publication date: March 6, 2008
    Applicant: Microsoft Corporation
    Inventors: Chad Verbowski, Brad Daniels, John Dunagan, Shan Lu, Roussi Roussev, Juhan Lee, Arunvijay Kumar
  • Publication number: 20070220518
    Abstract: Apparatus and methods for intercepting and analyzing threads are disclosed. In one embodiment, a thread data recorder is configured to instrument one or more existing functions by modifying computer executable instructions in the functions to intercept threads calling the functions. In one possible implementation, the number of existing functions instrumented can be reduced by instrumenting choke point functions. The instrumented functions can also capture data associated with the threads as the threads execute at the function. This data can be saved to memory and compressed into logs. In one aspect, the data can be saved and/or compressed at a time when processor resources are being used at or below a predetermined level. The captured data can be used to analyze a functioning of a computer system in which the threads were produced.
    Type: Application
    Filed: December 5, 2006
    Publication date: September 20, 2007
    Applicant: Microsoft Corporation
    Inventors: Chad Verbowski, Brad Daniels, John Dunagan, Shan Lu, Roussi Roussev, Juhan Lee, Arunvijay Kumar
  • Publication number: 20070027974
    Abstract: A status notification method and facility is provided for use with a service chain processing a request for a service. The service chain can include multiple computer nodes, and the method includes dynamically creating the service chain for processing the request, and guaranteeing agreement, on at least two of the nodes of the service chain, about the status of the processing of the request. The method can also include saving detailed operational data logs in response to determining that a failure in processing the request has occurred. When a given node in the service chain determines that failure has occurred, agreement about the failure can be propagated throughout the service chain. Also, conditional logging of detailed operational data can minimize the amount of operational data transmitted over a network and saved to a data repository.
    Type: Application
    Filed: August 1, 2005
    Publication date: February 1, 2007
    Applicant: Microsoft Corporation
    Inventors: Juhan Lee, John Dunagan, Alastair Wolman, Chad Verbowski, Stephen Lovett
  • Publication number: 20070016949
    Abstract: An exemplary computer-implementable method (300) transforms information to reduce or eliminate risk of exploitation of a software service and includes receiving information (304) in response to a request, transforming the information (308) to produce transformed information and sending the transformed information (312). An exemplary firewall server (112) includes server software (144, 148) that allows the firewall server (112) to receive information from a resource (104, 108) via a network and to send information to a client computer (114) and a browser protection component (264, 268) for transforming the information to prevent exploitation of a vulnerability of browser software (154) on the client computer (114). Various other exemplary methods, devices, systems, etc., are also disclosed.
    Type: Application
    Filed: June 27, 2006
    Publication date: January 18, 2007
    Applicant: Microsoft Corporation
    Inventors: John Dunagan, Opher Dubrovsky, Saher Esmeir, Charles Reis, Jiahe Wang