Patents by Inventor Alexander Dadiomov
Alexander Dadiomov 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: 10346222Abstract: One or more systems and/or techniques for generating an adaptive tree structure for storing event data based upon data density of events are disclosed. In particular, the adaptive tree structure may comprise one or more levels of nodes, where a level may correspond to a resolution of events. Nodes may correspond to particular time spans over which event data was recorded. A node may be designated as a raw node comprising raw events or a summary node comprising summary events based upon the number of events occurring within a time span covered by the node.Type: GrantFiled: November 25, 2013Date of Patent: July 9, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Mayank Agarwal, Alexander Dadiomov, Xinhua Ji
-
Patent number: 9588544Abstract: Normalizing time across machines in a distributed system. A method includes obtaining one or more points defining differences in time between machines in the distributed system. Using the points, a determination of one or more time measurement drifts between machines is made. The one or more time measurement drifts indicate changing differences in time over time. One or more traces are collected. Each trace includes one or more events. Each event is correlated to a time stamp from one of the machines in the distributed system. Using the one or more determined time measurement drifts, the time stamps are normalized.Type: GrantFiled: June 6, 2011Date of Patent: March 7, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Hazim Shafi, Matthew L. Jacobs, Alexander Dadiomov
-
Patent number: 9146836Abstract: The present invention extends to methods, systems, and computer program products for linking diagnostic visualizations to regions of application code. Diagnostic visualizations emitted during execution of an application are displayed. The diagnostic visualizations partially represent the abstract objective of the application (e.g., as envisioned by a developer). Diagnostic data for at least one of a plurality of components is displayed. The diagnostic data indicates the performance of the at least one of the plurality of components during execution of the application. The displayed one or more diagnostic visualizations and the displayed diagnostic data is correlated to link the one or more diagnostic visualizations to the at least one of the plurality of components. Linking the one or more diagnostic visualizations to the at least one of the plurality of components can better indicate how the application's behavior reconciles the abstract objective.Type: GrantFiled: December 13, 2011Date of Patent: September 29, 2015Assignee: Microsoft Technology Licensing, LLCInventors: James Rapp, Daniel Griffing, Alexander Dadiomov, Matthew Jacobs, Ben Nesson, Drake A. Campbell, Mayank Agarwal, Paulo Cesar Sales Janotti, Xinhua Ji, Eric Ledoux, Alexey Kamenev, Jared Robert Van Leeuwen
-
Patent number: 9141507Abstract: A method of providing a visualization of states of a process includes identifying a set of potential states that can occur during the process and a corresponding set of colors, with each color in the set of colors corresponding to one of the potential states. A fixed ordering is established for the set of colors. A timeline graph including a plurality of colored vertical bars is displayed. Each colored vertical bar corresponds to a time interval of the process and includes at least one color selected from the set of colors based on at least one state occurring during the time interval corresponding to the vertical bar. The plurality of colored vertical bars includes a set of multiple-color vertical bars that each include a plurality of colors appearing in a vertical order based on the fixed ordering.Type: GrantFiled: December 23, 2009Date of Patent: September 22, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Xinhua Ji, Alexander Dadiomov, Hazim Shafi, Eric Ledoux, William T. Colburn
-
Patent number: 8941657Abstract: The present invention extends to methods, systems, and computer program products for calculating zoom level timeline data. Event aggregators are configured to read execution data from sequentially received input buffers and pre-calculate data chunks for a specified zoom level to create a zoom tree. The density of execution data can be used to determine when pre-calculation is beneficial. In response to a user request, pre-calculated data can be combined with responsively calculated data for presentation to a user. User requests can specify zoom levels and time ranges over which data is to be presented.Type: GrantFiled: May 23, 2011Date of Patent: January 27, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Mayank Agarwal, Xinhua Ji, Alexander Dadiomov
-
Publication number: 20140089945Abstract: One or more systems and/or techniques for generating an adaptive tree structure for storing event data based upon data density of events are disclosed. In particular, the adaptive tree structure may comprise one or more levels of nodes, where a level may correspond to a resolution of events. Nodes may correspond to particular time spans over which event data was recorded. A node may be designated as a raw node comprising raw events or a summary node comprising summary events based upon the number of events occurring within a time span covered by the node.Type: ApplicationFiled: November 25, 2013Publication date: March 27, 2014Applicant: Microsoft CorporationInventors: Mayank Agarwal, Alexander Dadiomov, Xinhua Ji
-
Patent number: 8595750Abstract: One or more systems and/or techniques for generating an adaptive tree structure for storing event data based upon data density of events are disclosed. In particular, the adaptive tree structure may comprise one or more levels of nodes, where a level may correspond to a resolution of events. Nodes may correspond to particular time spans over which event data was recorded. A node may be designated as a raw node comprising raw events or a summary node comprising summary events based upon the number of events occurring within a time span covered by the node.Type: GrantFiled: November 30, 2010Date of Patent: November 26, 2013Assignee: Microsoft CorporationInventors: Mayank Agarwal, Alexander Dadiomov, Xinhua Ji
-
Patent number: 8510721Abstract: The construction or use of a hierarchical time tree that represents an execution time of a program. To construct the hierarchical time tree, the time frame corresponding to the root node is the execution time during which the plurality of call stack samples were gathered from the program. Beginning at the root node, and proceeding recursively, each node is then populated in a manner that all of the call stacks for a given time period need not be accessed in order to provide a report regarding the given time period.Type: GrantFiled: August 25, 2010Date of Patent: August 13, 2013Assignee: Microsoft CorporationInventors: Alexander Dadiomov, Mayank Agarwal, Xinhua Ji
-
Patent number: 8490058Abstract: The present invention extends to methods, systems, and computer program products for time-based navigation within resource utilization data. A computer system is configured to present resource utilization data representing performance of computer resources. The resource utilization data is displayed on a diagnostic data trace during the execution of the application. The user can select a desired time range and the resource utilization data within the time range will be displayed at other traces. The diagnostic data trace is still presented so that the user can understand the relation between the selected time range and the overall time length. Further, the user can modify the selected time range by change the extents of the selected time range using resizing tool. The resource utilization data within the modified selected time range, similarly, is also displayed along with the diagnostic data trace.Type: GrantFiled: December 13, 2011Date of Patent: July 16, 2013Assignee: Microsoft CorporationInventors: James Rapp, Daniel Griffing, Alexander Dadiomov, Matthew Jacobs, Hazim Shafi, Ryan Nowak, Ben Nesson, Drake A. Campbell, Mayank Agarwal, Paulo Cesar Sales Janotti, Xinhua Ji, George Essex Englebeck, Vikram Bapat
-
Patent number: 8473956Abstract: A priority based scheduling system for a server prioritizes multiple tasks that are defined using various constraints, which may include relationships defined between different tasks, performance parameters for each task, and completion constraints. The system may track actual performance of a task and update the performance parameters over time. Some embodiments may include a status monitoring agent that may detect that a monitored network parameter has changed that may cause a scheduled task to be raised or lowered in priority. The system may be used to schedule and execute one time tasks as well as recurring tasks, and may execute those tasks during a rigid or flexible periodic time window. Many of the tasks may be pausable and resumable, and such tasks may be performed in increments over successive time windows.Type: GrantFiled: January 15, 2008Date of Patent: June 25, 2013Assignee: Microsoft CorporationInventors: Charles E. Kindel, James Christopher Gray, Neil S. Fishman, James M. Lyon, Alexander Dadiomov
-
Publication number: 20130152052Abstract: The present invention extends to methods, systems, and computer program products for linking diagnostic visualizations to regions of application code. Diagnostic visualizations emitted during execution of an application are displayed. The diagnostic visualizations partially represent the abstract objective of the application (e.g., as envisioned by a developer). Diagnostic data for at least one of a plurality of components is displayed. The diagnostic data indicates the performance of the at least one of the plurality of components during execution of the application. The displayed one or more diagnostic visualizations and the displayed diagnostic data is correlated to link the one or more diagnostic visualizations to the at least one of the plurality of components. Linking the one or more diagnostic visualizations to the at least one of the plurality of components can better indicate how the application's behavior reconciles the abstract objective.Type: ApplicationFiled: December 13, 2011Publication date: June 13, 2013Applicant: Microsoft CorporationInventors: James Rapp, Daniel Griffing, Alexander Dadiomov, Matthew Jacobs, Ben Nesson, Drake A. Campbell, Mayank Agarwal, Paulo Cesar Sales Janotti, Xinhua Ji, Eric Ledoux, Alexey Kamenev, Jared Robert Van Leeuwen
-
Publication number: 20130152051Abstract: The present invention extends to methods, systems, and computer program products for time-based navigation within resource utilization data. A computer system is configured to present resource utilization data representing performance of computer resources. The resource utilization data is displayed on a diagnostic data trace during the execution of the application. The user can select a desired time range and the resource utilization data within the time range will be displayed at other traces. The diagnostic data trace is still presented so that the user can understand the relation between the selected time range and the overall time length. Further, the user can modify the selected time range by change the extents of the selected time range using resizing tool. The resource utilization data within the modified selected time range, similarly, is also displayed along with the diagnostic data trace.Type: ApplicationFiled: December 13, 2011Publication date: June 13, 2013Applicant: Microsoft CorporationInventors: James Rapp, Daniel Griffing, Alexander Dadiomov, Matthew Jacobs, Hazim Shafi, Ryan Nowak, Ben Nesson, Drake A. Campbell, Mayank Agarwal, Paulo Cesar Sales Janotti, Xinhua Ji, George Essex Englebeck, Vikram Bapat
-
Publication number: 20120311136Abstract: Normalizing time across machines in a distributed system. A method includes obtaining one or more points defining differences in time between machines in the distributed system. Using the points, a determination of one or more time measurement drifts between machines is made. The one or more time measurement drifts indicate changing differences in time over time. One or more traces are collected. Each trace includes one or more events. Each event is correlated to a time stamp from one of the machines in the distributed system. Using the one or more determined time measurement drifts, the time stamps are normalized.Type: ApplicationFiled: June 6, 2011Publication date: December 6, 2012Applicant: MICROSOFT CORPORATIONInventors: Hazim Shafi, Matthew L. Jacobs, Alexander Dadiomov
-
Publication number: 20120299965Abstract: The present invention extends to methods, systems, and computer program products for calculating zoom level time line data. Event aggregators are configured to read execution data from sequentially received input buffers and pre-calculate data chunks for a specified zoom level to create a zoom tree. The density of execution data can be used to determine when pre-calculation is beneficial. In response to a user request, pre-calculated data can be combined with responsively calculated data for presentation to a user. User requests can specify zoom levels and time ranges over which data is to be presented.Type: ApplicationFiled: May 23, 2011Publication date: November 29, 2012Applicant: Microsoft CorporationInventors: Mayank Agarwal, Xinhua Ji, Alexander Dadiomov
-
Patent number: 8266604Abstract: Transactional memory compatibility type attributes are associated with intermediate language code to specify, for example, that intermediate language code must be run within a transaction, or must not be run within a transaction, or may be run within a transaction. Attributes are automatically produced while generating intermediate language code from annotated source code. Default rules also generate attributes. Tools use attributes to statically or dynamically check for incompatibility between intermediate language code and a transactional memory implementation.Type: GrantFiled: January 26, 2009Date of Patent: September 11, 2012Assignee: Microsoft CorporationInventors: Dana Groff, Yosseff Levanoni, Stephen Toub, Michael McKenzie Magruder, Weirong Zhu, Timothy Lawrence Harris, Christopher William Dern, John Joseph Duffy, David Detlefs, Martin Abadi, Sukhdeep Singh Sodhi, Lingli Zhang, Alexander Dadiomov, Vinod Grover
-
Patent number: 8250558Abstract: Add-on functions to a software application are made through a single dynamic linked library (‘DLL’). After discovering, authenticating, and loading the DLL, the application may inspect the DLL to determine if it contains a function of a predetermined type. If the type is discovered, an object of the type may be instantiated and called. The inspection may evaluate metadata within the DLL to determine the precise characteristics of the function and compare the function to a predetermined type. Based on the authentication as well as the internal inspection of the DLL, extensions to existing software applications may be easily distributed and readily installed in an atomic fashion.Type: GrantFiled: November 30, 2006Date of Patent: August 21, 2012Assignee: Microsoft CorporationInventor: Alexander Dadiomov
-
Publication number: 20120137308Abstract: One or more systems and/or techniques for generating an adaptive tree structure for storing event data based upon data density of events are disclosed. In particular, the adaptive tree structure may comprise one or more levels of nodes, where a level may correspond to a resolution of events. Nodes may correspond to particular time spans over which event data was recorded. A node may be designated as a raw node comprising raw events or a summary node comprising summary events based upon the number of events occurring within a time span covered by the node.Type: ApplicationFiled: November 30, 2010Publication date: May 31, 2012Applicant: Microsoft CorporationInventors: Mayank Agarwal, Alexander Dadiomov, Xinhua Ji
-
Patent number: 8166481Abstract: A transactional memory processing system provides for the integration of transactional memory concepts at the compiler-level into a higher-level traditional transaction processing system. Atomic blocks at the compiler-level can be specified as atomic block transactions and include the features of atomicity and isolation. Actions within this atomic block transaction include the enlistment of resource managers from a repository. The repository can now include a pre-programmed memory resource manager to manage the transactional memory. As in traditional transactions, a commit protocol can be used to determine if the actions are valid and can be exposed outside of the transaction. Unlike traditional transactions, however, the transaction is not necessarily doomed if all of the actions are not validated. Rather, memory conflicts can cause a rollback and re-execution of the atomic block transaction, which can be repeated as long as necessary, until the memory resource manger votes to commit.Type: GrantFiled: January 14, 2009Date of Patent: April 24, 2012Assignee: Microsoft CorporationInventors: Alexander Dadiomov, Dana Groff, Yosseff Levanoni, James E. Johnson
-
Publication number: 20120054721Abstract: The construction or use of a hierarchical time tree that represents an execution time of a program. To construct the hierarchical time tree, the time frame corresponding to the root node is the execution time during which the plurality of call stack samples were gathered from the program. Beginning at the root node, and proceeding recursively, each node is then populated in a manner that all of the call stacks for a given time period need not be accessed in order to provide a report regarding the given time period.Type: ApplicationFiled: August 25, 2010Publication date: March 1, 2012Applicant: MICROSOFT CORPORATIONInventors: Alexander Dadiomov, Mayank Agarwal, Xinhua Ji
-
Patent number: 8001548Abstract: A processing system includes a transactional memory, first and second resource managers, and a transaction manager for a concurrent program having a thread including an atomic transaction having a side-effecting action. The first resource manager is configured to enlist in the atomic transaction and manage a resource related to the side effecting action. The second resource manager is configured to enlist in the atomic transaction and manage the transaction memory. The transaction manager is coupled to the first and second resource managers and manager is configured to receive a vote from the first and second resource managers as to whether to commit the transaction. The side-effecting action is postponed until after the transaction commits or applied along with a compensating action to the side-effecting action.Type: GrantFiled: October 20, 2008Date of Patent: August 16, 2011Assignee: Microsoft CorporationInventors: Dana Groff, Alexander Dadiomov, Yossi Levanoni