Patents by Inventor Christopher W. Fraser
Christopher W. Fraser 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: 9864676Abstract: An application programming interface may receive workload identifiers and checkpoint identifiers from which bottleneck detection may be performed. Workloads may be tracked through various checkpoints in an application and timestamps collected at each checkpoint. From these data, bottlenecks may be identified in real time or by analyzing the data in a subsequent analysis. The workloads may be processed by multiple devices which may comprise a large application. In some cases, the workloads may be processed by different devices in sequence or in a serial fashion, while in other cases workloads may be processed in parallel by different devices. The application programming interface may be part of a bottleneck detection service which may be sold on a pay-per-use model, a subscription model, or some other payment scheme.Type: GrantFiled: August 7, 2015Date of Patent: January 9, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Charles D. Garrett, Christopher W. Fraser
-
Patent number: 9575874Abstract: Error logs, bug reports, and other databases identifying problems with a tracer system may be mined to determine how a tracer may interact with a given function, module, or other group of functions. Based on such reports, a tracer may be configured to avoid certain functions or to trace such functions in a specific manner. In some cases, tracer may be configured to limit tracing to certain parameters or with other limitations to avoid any known conditions under which errors occur.Type: GrantFiled: March 9, 2015Date of Patent: February 21, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Renat Gautallin, Alexander G. Gounares, Christopher W. Fraser
-
Publication number: 20160266998Abstract: Error logs, bug reports, and other databases identifying problems with a tracer system may be mined to determine how a tracer may interact with a given function, module, or other group of functions. Based on such reports, a tracer may be configured to avoid certain functions or to trace such functions in a specific manner. In some cases, tracer may be configured to limit tracing to certain parameters or with other limitations to avoid any known conditions under which errors occur.Type: ApplicationFiled: March 9, 2015Publication date: September 15, 2016Inventors: Renat Gautallin, Alexander G. Gounares, Christopher W. Fraser
-
Patent number: 9417993Abstract: Real time analysis of tracing data may identify functions for which tracing may be enhanced or reduced. A tracer that generates function-level data may have an aggregator that summarizes the data. Potential changes to tracing configuration may be identified by analyzing the summarized data to determine whether or not each function is being traced at a level commensurate with that function's impact to the summarized data. Those functions with little significant contribution may have their tracing reduced, while those functions with more significant contribution may have their tracing enhanced. The analysis of the summarized data may be performed in real time in some instances, causing a tracer to change the data collected while an application executes.Type: GrantFiled: August 7, 2015Date of Patent: August 16, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Renat Gataullin, Alexander G. Gounares, Christopher W. Fraser
-
Patent number: 9389992Abstract: A tracing system may use different configurations for tracing various functions in different manners. A configuration may be a group of settings that may define which data elements to collect, as well as the manner in which the data may be summarized, stored, and in some cases, displayed. Example configurations may include debugging configuration, performance optimization configuration, long term monitoring configuration, and others. The tracing system may be able to trace one group of functions with one configuration, while tracing another group of functions in the same application using a different configuration.Type: GrantFiled: August 7, 2015Date of Patent: July 12, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Renat Gataullin, Alexander G. Gounares, Christopher W. Fraser
-
Patent number: 9323651Abstract: A bottleneck detector may analyze individual workloads processed by an application by logging times when the workload may be processed at different checkpoints in the application. For each checkpoint, a curve fitting algorithm may be applied, and the fitted curves may be compared between different checkpoints to identify bottlenecks or other poorly performing sections of the application. A real time implementation of a detection system may compare newly captured data points against historical curves to detect a shift in the curve, which may indicate a bottleneck. In some cases, the fitted curves from neighboring checkpoints may be compared to identify sections of the application that may be a bottleneck. An automated system may apply one set of checkpoints in an application, identify an area for further investigation, and apply a second set of checkpoints in the identified area. Such a system may recursively search for bottlenecks in an executing application.Type: GrantFiled: April 18, 2013Date of Patent: April 26, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Charles D. Garrett, Christopher W. Fraser
-
Patent number: 9323652Abstract: A bottleneck detector may use an iterative method to identify a bottleneck with specificity. An automated checkpoint inserter may place checkpoints in an application. When a bottleneck is detected in an area of an application, the first set of checkpoints may be removed and a new set of checkpoints may be placed in the area of the bottleneck. The process may iterate until a bottleneck may be identified with enough specificity to aid a developer or administrator of an application. In some cases, the process may identify a specific function or line of code where a bottleneck occurs.Type: GrantFiled: April 18, 2013Date of Patent: April 26, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Charles D. Garrett, Christopher W. Fraser
-
Patent number: 9298589Abstract: A tracing system may be updated to include, exclude, or modify tracing configurations for functions based on how a user consumes tracing results. The user's interactions with graphical representations, inspections of data, and other interactions may indicate which functions may be interesting and which functions may not be. The user's interactions may be classified by use, such as during debugging, performance testing, and ongoing monitoring, and multiple user's interactions with the same function, library, module, source code file, or other groups of functions may be combined to predict a user's interest in a function.Type: GrantFiled: February 23, 2015Date of Patent: March 29, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Renat Gautallin, Alexander G. Gounares, Christopher W. Fraser
-
Publication number: 20150347283Abstract: A tracing system may use different configurations for tracing various functions in different manners. A configuration may be a group of settings that may define which data elements to collect, as well as the manner in which the data may be summarized, stored, and in some cases, displayed. Example configurations may include debugging configuration, performance optimization configuration, long term monitoring configuration, and others. The tracing system may be able to trace one group of functions with one configuration, while tracing another group of functions in the same application using a different configuration.Type: ApplicationFiled: August 7, 2015Publication date: December 3, 2015Inventors: Renat Gataullin, Alexander G. Gounares, Christopher W. Fraser
-
Publication number: 20150347268Abstract: An application programming interface may receive workload identifiers and checkpoint identifiers from which bottleneck detection may be performed. Workloads may be tracked through various checkpoints in an application and timestamps collected at each checkpoint. From these data, bottlenecks may be identified in real time or by analyzing the data in a subsequent analysis. The workloads may be processed by multiple devices which may comprise a large application. In some cases, the workloads may be processed by different devices in sequence or in a serial fashion, while in other cases workloads may be processed in parallel by different devices. The application programming interface may be part of a bottleneck detection service which may be sold on a pay-per-use model, a subscription model, or some other payment scheme.Type: ApplicationFiled: August 7, 2015Publication date: December 3, 2015Inventors: Charles D. Garrett, Christopher W. Fraser
-
Publication number: 20150347277Abstract: Real time analysis of tracing data may identify functions for which tracing may be enhanced or reduced. A tracer that generates function-level data may have an aggregator that summarizes the data. Potential changes to tracing configuration may be identified by analyzing the summarized data to determine whether or not each function is being traced at a level commensurate with that function's impact to the summarized data. Those functions with little significant contribution may have their tracing reduced, while those functions with more significant contribution may have their tracing enhanced. The analysis of the summarized data may be performed in real time in some instances, causing a tracer to change the data collected while an application executes.Type: ApplicationFiled: August 7, 2015Publication date: December 3, 2015Inventors: Renat Gataullin, Alexander G. Gounares, Christopher W. Fraser
-
Publication number: 20150242303Abstract: A tracing system may be updated to include, exclude, or modify tracing configurations for functions based on how a user consumes tracing results. The user's interactions with graphical representations, inspections of data, and other interactions may indicate which functions may be interesting and which functions may not be. The user's interactions may be classified by use, such as during debugging, performance testing, and ongoing monitoring, and multiple user's interactions with the same function, library, module, source code file, or other groups of functions may be combined to predict a user's interest in a function.Type: ApplicationFiled: February 23, 2015Publication date: August 27, 2015Inventors: Renat GAUTALLIN, Alexander G. GOUNARES, Christopher W. FRASER
-
Patent number: 9021445Abstract: A tracing system may use an evaluation mechanism to determine which functions to include or exclude during tracing. The architecture may evaluate functions when functions or groups of functions may be loaded for execution, as well as each time a function may be encountered. The evaluation mechanism may use whitelists, blacklists, and various expressions to identify which functions to trace and which functions to exclude. The evaluation mechanism may evaluate an expression that may identify specific conditions under which a function may be traced or not traced. The tracing mechanism may create wrapping functions for each function, including callback functions.Type: GrantFiled: June 12, 2013Date of Patent: April 28, 2015Assignee: Concurix CorporationInventors: Renat Gataullin, Alexander G. Gounares, Christopher W. Fraser
-
Patent number: 8978016Abstract: Error logs, bug reports, and other databases identifying problems with a tracer system may be mined to determine how a tracer may interact with a given function, module, or other group of functions. Based on such reports, a tracer may be configured to avoid certain functions or to trace such functions in a specific manner. In some cases, tracer may be configured to limit tracing to certain parameters or with other limitations to avoid any known conditions under which errors occur.Type: GrantFiled: June 12, 2013Date of Patent: March 10, 2015Assignee: Concurix CorporationInventors: Renat Gataullin, Alexander G. Gounares, Christopher W. Fraser
-
Patent number: 8966452Abstract: A tracing system may be updated to include, exclude, or modify tracing configurations for functions based on how a user consumes tracing results. The user's interactions with graphical representations, inspections of data, and other interactions may indicate which functions may be interesting and which functions may not be. The user's interactions may be classified by use, such as during debugging, performance testing, and ongoing monitoring, and multiple user's interactions with the same function, library, module, source code file, or other groups of functions may be combined to predict a user's interest in a function.Type: GrantFiled: June 12, 2013Date of Patent: February 24, 2015Assignee: Concurix CorporationInventors: Renat Gataullin, Alexander G. Gounares, Christopher W. Fraser
-
Publication number: 20140317604Abstract: Real time analysis of tracing data may identify functions for which tracing may be enhanced or reduced. A tracer that generates function-level data may have an aggregator that summarizes the data. Potential changes to tracing configuration may be identified by analyzing the summarized data to determine whether or not each function is being traced at a level commensurate with that function's impact to the summarized data. Those functions with little significant contribution may have their tracing reduced, while those functions with more significant contribution may have their tracing enhanced. The analysis of the summarized data may be performed in real time in some instances, causing a tracer to change the data collected while an application executes.Type: ApplicationFiled: June 12, 2013Publication date: October 23, 2014Inventors: Renat Gataullin, Alexander G. Gounares, Christopher W. Fraser
-
Publication number: 20140317605Abstract: A tracing system may be updated to include, exclude, or modify tracing configurations for functions based on how a user consumes tracing results. The user's interactions with graphical representations, inspections of data, and other interactions may indicate which functions may be interesting and which functions may not be. The user's interactions may be classified by use, such as during debugging, performance testing, and ongoing monitoring, and multiple user's interactions with the same function, library, module, source code file, or other groups of functions may be combined to predict a user's interest in a function.Type: ApplicationFiled: June 12, 2013Publication date: October 23, 2014Inventors: Renat Gataullin, Alexander G. Gounares, Christopher W. Fraser
-
Publication number: 20140317603Abstract: A tracing system may use different configurations for tracing various functions in different manners. A configuration may be a group of settings that may define which data elements to collect, as well as the manner in which the data may be summarized, stored, and in some cases, displayed. Example configurations may include debugging configuration, performance optimization configuration, long term monitoring configuration, and others. The tracing system may be able to trace one group of functions with one configuration, while tracing another group of functions in the same application using a different configuration.Type: ApplicationFiled: June 12, 2013Publication date: October 23, 2014Inventors: Renat Gataullin, Alexander G. Gounares, Christopher W. Fraser
-
Publication number: 20140317606Abstract: Error logs, bug reports, and other databases identifying problems with a tracer system may be mined to determine how a tracer may interact with a given function, module, or other group of functions. Based on such reports, a tracer may be configured to avoid certain functions or to trace such functions in a specific manner. In some cases, tracer may be configured to limit tracing to certain parameters or with other limitations to avoid any known conditions under which errors occur.Type: ApplicationFiled: June 12, 2013Publication date: October 23, 2014Inventors: Renat Gataullin, Alexander G. Gounares, Christopher W. Fraser
-
Publication number: 20140317454Abstract: A tracing system may use an evaluation mechanism to determine which functions to include or exclude during tracing. The architecture may evaluate functions when functions or groups of functions may be loaded for execution, as well as each time a function may be encountered. The evaluation mechanism may use whitelists, blacklists, and various expressions to identify which functions to trace and which functions to exclude. The evaluation mechanism may evaluate an expression that may identify specific conditions under which a function may be traced or not traced. The tracing mechanism may create wrapping functions for each function, including callback functions.Type: ApplicationFiled: June 12, 2013Publication date: October 23, 2014Inventors: Renat Gataullin, Alexander G. Gounares, Christopher W. Fraser