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: 20110239051Abstract: 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: ApplicationFiled: March 25, 2010Publication date: September 29, 2011Applicant: Microsoft CorporationInventors: Sumit Basu, John Dunagan
-
Patent number: 7984335Abstract: 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: GrantFiled: March 20, 2008Date of Patent: July 19, 2011Assignee: Microsoft CorporationInventors: Atul Adya, Alastair Wolman, John Dunagan, David Andrew Schultz
-
Patent number: 7865777Abstract: 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: GrantFiled: October 31, 2007Date of Patent: January 4, 2011Assignee: Microsoft CorporationInventors: Chad Verbowski, Brad Daniels, John Dunagan, Shan Lu, Roussi Roussev, Juhan Lee, Arunvijay Kumar
-
Patent number: 7788198Abstract: 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: GrantFiled: December 14, 2006Date of Patent: August 31, 2010Assignee: Microsoft CorporationInventors: Yaodong Liu, Cary L. Mitchell, John Dunagan, Dana K. Fujimoto
-
Publication number: 20100191712Abstract: 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: ApplicationFiled: January 29, 2009Publication date: July 29, 2010Applicant: MICROSOFT CORPORATIONInventors: Alastair Wolman, John Dunagan, John Carleton McCullough, Bruce W. Copeland, Jeremy L. Dewey
-
Patent number: 7716530Abstract: 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: GrantFiled: December 5, 2006Date of Patent: May 11, 2010Assignee: Microsoft CorporationInventors: Chad Verbowski, Brad Daniels, John Dunagan, Shan Lu, Roussi Roussev, Juhan Lee, Arunvijay Kumar
-
Publication number: 20100058293Abstract: 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: ApplicationFiled: August 28, 2008Publication date: March 4, 2010Applicant: Microsoft CorporationInventors: John Dunagan, Xiaofeng Fan, Jiahe Wang
-
Patent number: 7614046Abstract: 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: GrantFiled: November 24, 2004Date of Patent: November 3, 2009Assignee: Microsoft CorporationInventors: Bradford Ruffin Daniels, John Dunagan, Roussi A. Roussev, Chad E. Verbowski, Yi-Min Wang
-
Publication number: 20090240987Abstract: 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: ApplicationFiled: March 20, 2008Publication date: September 24, 2009Applicant: MICROSOFT CORPORATIONInventors: Atul Adya, Alastair Wolman, John Dunagan, David Andrew Schultz
-
Patent number: 7551552Abstract: 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: GrantFiled: October 17, 2003Date of Patent: June 23, 2009Assignee: Microsoft CorporationInventors: John Dunagan, Nicholas J. A. Harvey, Michael B. Jones, Dejan Kostić, Marvin M. Theimer, Alastair Wolman
-
Publication number: 20090150536Abstract: 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: ApplicationFiled: December 5, 2007Publication date: June 11, 2009Applicant: MICROSOFT CORPORATIONInventors: Alastair Wolman, John Dunagan, Johan Ake Fredrick Sundstrom, Richard Austin Clawson, David Pettersson Rickard
-
Publication number: 20090144404Abstract: 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: ApplicationFiled: December 4, 2007Publication date: June 4, 2009Applicant: MICROSOFT CORPORATIONInventors: Alastair Wolman, John Dunagan, Johan Ake Fredrick Sundstrom, Richard Austin Clawson, David Pettersson Rickard
-
Publication number: 20090119233Abstract: 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: ApplicationFiled: November 5, 2007Publication date: May 7, 2009Applicant: Microsoft CorporationInventors: John Dunagan, James R. Hamilton
-
Publication number: 20080148180Abstract: 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: ApplicationFiled: December 14, 2006Publication date: June 19, 2008Applicant: Microsoft CorporationInventors: Yaodong Liu, Cary L. Mitchell, John Dunagan, Dana K. Fujimoto
-
Strategies for Investigating and Mitigating Vulnerabilities Caused by the Acquisition of Credentials
Publication number: 20080141377Abstract: 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: ApplicationFiled: December 7, 2006Publication date: June 12, 2008Applicant: Microsoft CorporationInventors: John Dunagan, Gregory D. Hartrell, Daniel R. Simon -
Publication number: 20080066069Abstract: 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: ApplicationFiled: October 31, 2007Publication date: March 13, 2008Applicant: Microsoft CorporationInventors: Chad Verbowski, Brad Daniels, John Dunagan, Shan Lu, Roussi Roussev, Juhan Lee, Arunvijay Kumar
-
Publication number: 20080059973Abstract: 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: ApplicationFiled: October 31, 2007Publication date: March 6, 2008Applicant: Microsoft CorporationInventors: Chad Verbowski, Brad Daniels, John Dunagan, Shan Lu, Roussi Roussev, Juhan Lee, Arunvijay Kumar
-
Publication number: 20070220518Abstract: 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: ApplicationFiled: December 5, 2006Publication date: September 20, 2007Applicant: Microsoft CorporationInventors: Chad Verbowski, Brad Daniels, John Dunagan, Shan Lu, Roussi Roussev, Juhan Lee, Arunvijay Kumar
-
Publication number: 20070027974Abstract: 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: ApplicationFiled: August 1, 2005Publication date: February 1, 2007Applicant: Microsoft CorporationInventors: Juhan Lee, John Dunagan, Alastair Wolman, Chad Verbowski, Stephen Lovett
-
Publication number: 20070016949Abstract: 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: ApplicationFiled: June 27, 2006Publication date: January 18, 2007Applicant: Microsoft CorporationInventors: John Dunagan, Opher Dubrovsky, Saher Esmeir, Charles Reis, Jiahe Wang