Patents by Inventor Suhail Dutta

Suhail Dutta 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: 9424001
    Abstract: A creation, editing, and display tool for complex diagrams may enable portions of the diagram to be updated without having to update the entire diagram. The tool may use a set of rules that define the positioning and layout of various elements and relationships between elements in the diagram. The update mechanism may enable the rules to be applied to a subset of the diagram and may not update some portions of the diagram, such as those elements outside the viewing area. In some embodiments, a background or low priority process may apply the rules to those portions not updated. The tool may be used for various diagrams, including sequence diagrams and other complex, highly restrained diagram types.
    Type: Grant
    Filed: September 11, 2012
    Date of Patent: August 23, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Suhail Dutta, Pedro Silva, John J. Jordan
  • Patent number: 9110763
    Abstract: A diagram having initial visual design elements can be displayed on a computer display. For example, the diagram may be a computer software architectural diagram. Changes can be made to the diagram to produce modified visual design elements. The changes can be tracked as they are made, to produce change tracking information. The change tracking information can be processed to automatically highlight at least a portion of the modified visual design elements in a display of the diagram. Processing the change tracking information can include filtering the change tracking information to provide different highlighting treatment to some of the modified visual design elements corresponding to information that is filtered out.
    Type: Grant
    Filed: December 29, 2009
    Date of Patent: August 18, 2015
    Assignee: Microsoft Technology Licensing LLC
    Inventors: Suhail Dutta, Andrew J. Byrne
  • Patent number: 8954925
    Abstract: Disclosed herein is user augmented reverse engineering, where, in one embodiment, during the generation of a graphical representation of a codebase, database, binary and the like, users may be provided with an option to ‘focus’. For example, during the graphical generation of a large codebase, a user may select one or things to limit the extent of the graphical representation generation. In another embodiment, a graphical generation may encounter one or more pre-defined boundary conditions. Upon encountering a boundary condition, the generation of the graphical representation may determine that it is unable to complete the graphical generation within a pre-defined set of requirements without additional instructions. Thus, the graphical generation may complete and then prompt a user for solutions to any boundary conditions it has encountered, or the generation may pause at each boundary condition it encounters and prompt a user for a solution to the boundary condition.
    Type: Grant
    Filed: June 18, 2010
    Date of Patent: February 10, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Suhail Dutta, Tracey Trewin, Andrew Byrne
  • Patent number: 8726226
    Abstract: A tool supports management of engineering project changes using a current design diagram with links to implementation components, a proposed design diagram, and a work list of tasks for transforming the current design into the proposed design. Tasks recite intended changes such as add, remove, or refactor, with reference to implementation components to be changed, and tracking information. Work list tasks may be automatically generated based on design model differences correlated with project code, automatically generated based on tracked user design actions correlated with project code, and/or manually generated by users. Work lists may be exported. Users can mark a relationship for removal and view a corresponding updated work list. Users can trace impact of a work list on project context such as testing coverage, database structures, and user scenarios.
    Type: Grant
    Filed: June 5, 2009
    Date of Patent: May 13, 2014
    Assignee: Microsoft Corporation
    Inventors: Mark Groves, Jens Jacobsen, Suhail Dutta, Tracey Glass Trewin
  • Patent number: 8677316
    Abstract: Architectural design intent for software is represented in some type of concrete form. A set of computable rules are inferred from the representation of the architectural design intent. The rules are applied to the codebase at various points in the development process including but not limited to when source code is checked into a project or when a build is run, or when a test run is performed. If the codebase being developed is not consistent with the architectural intent of the designer as captured, feedback concerning non-compliance is provided.
    Type: Grant
    Filed: May 12, 2010
    Date of Patent: March 18, 2014
    Assignee: Microsoft Corporation
    Inventors: Suhail Dutta, David N Trowbridge, Bernard Tschirren, Arun M. Abraham
  • Patent number: 8578326
    Abstract: Local areas of a visualized modeling language diagram are viewable at different levels of detail without losing information such as model elements and their connectivity. Multiple elements are associated with a group element, which has a visual portion derived from the appearance of a group member element. Connectors between group member elements and non-member elements are suppressed in favor of replacement connectors between the group element and the non-member element(s). The integrity of incoming and outgoing connections to the group is maintained relative to the rest of the model. Ungrouping elements restores the elements to their original state. Grouping can be applied locally to one or more parts of the visual model.
    Type: Grant
    Filed: May 28, 2009
    Date of Patent: November 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Patrick S. Tseng, Durham Goode, John Joseph Jordan, Bernie Tschirren, Arun Abraham, Abhishek Shah, Andrew Jude Byrne, Suhail Dutta
  • Patent number: 8522217
    Abstract: Enhanced software architecture diagrams are derived by correlating runtime and static information, thereby allowing the diagrams to span runtime determination boundaries. Runtime determination boundaries are defined by decisions made at runtime, e.g., client-server boundaries, machine-machine boundaries, database-querying program boundaries, web service provider-consumer boundaries, factory caller-instance boundaries, interface call-implementing class boundaries, and reflection boundaries. Correlation may involve identifying instances of types, tracing an identifier injected into a communication channel, using a causality hook, and/or comparing messages leaving a caller with messages entering a callee, for example.
    Type: Grant
    Filed: April 20, 2010
    Date of Patent: August 27, 2013
    Assignee: Microsoft Corporation
    Inventors: Suhail Dutta, Brian Crawford
  • Patent number: 8412744
    Abstract: The formulation of an architectural diagram of a software program having multiple components. A static model identifying at least some of the components and a relationship between the components is accessed by perhaps performing a static code analysis of the code of the software program. A dynamic analysis is also performed by executing the software program, and observing the execution to derive dynamic behaviors of the software program. These dynamic behaviors may perhaps be information that is not readily available based on a static code analysis of the computer program alone, such as parameter values exchanged, paths of execution, and additional components invoked. The architectural diagram is then formulated using the static model and the dynamic behaviors to generate a more complete representation of the computer program.
    Type: Grant
    Filed: June 23, 2010
    Date of Patent: April 2, 2013
    Assignee: Microsoft Corporation
    Inventors: Suhail Dutta, Brian Robert Crawford, Elliott Ross Conant
  • Patent number: 8402013
    Abstract: Providing a website map to a user. A method includes gathering information about web pages in a website, including information related to web page relationships, controls, and executable code underlying one or more web pages in the website. A relationship map is created. The relationship map includes representations of relationships between the web pages, the controls and the executable code underlying one or more web pages in the website. The method further includes graphically displaying at least a portion of the relationship map in a graphical user interface at the computing system.
    Type: Grant
    Filed: June 25, 2010
    Date of Patent: March 19, 2013
    Assignee: Microsoft Corporation
    Inventors: Suhail Dutta, Jing Fan, Arun Mathew Abraham, Allen Wayne Denver
  • Patent number: 8397210
    Abstract: The logical architecture of an existing or target application or software system is modeled in the form of one or more architecture diagrams. The existing and target diagrams may be compared. A diagram may be modified by associating physical artifacts from an architecture discovery system or by selecting artifacts identified via a query statement. Rules are associated with the diagrams and validation performed based on the rules and the physical artifacts associated with the diagrams. A report may be produced facilitating further modifications to evolve the architecture represented by the diagrams to the target architecture.
    Type: Grant
    Filed: June 3, 2008
    Date of Patent: March 12, 2013
    Assignee: Microsoft Corporation
    Inventors: Suhail Dutta, David N. Trowbridge
  • Publication number: 20130007652
    Abstract: A creation, editing, and display tool for complex diagrams may enable portions of the diagram to be updated without having to update the entire diagram. The tool may use a set of rules that define the positioning and layout of various elements and relationships between elements in the diagram. The update mechanism may enable the rules to be applied to a subset of the diagram and may not update some portions of the diagram, such as those elements outside the viewing area. In some embodiments, a background or low priority process may apply the rules to those portions not updated. The tool may be used for various diagrams, including sequence diagrams and other complex, highly restrained diagram types.
    Type: Application
    Filed: September 11, 2012
    Publication date: January 3, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Suhail Dutta, Pedro Silva, John J. Jordan
  • Patent number: 8291331
    Abstract: A creation, editing, and display tool for complex diagrams may enable portions of the diagram to be updated without having to update the entire diagram. The tool may use a set of rules that define the positioning and layout of various elements and relationships between elements in the diagram. The update mechanism may enable the rules to be applied to a subset of the diagram and may not update some portions of the diagram, such as those elements outside the viewing area. In some embodiments, a background or low priority process may apply the rules to those portions not updated. The tool may be used for various diagrams, including sequence diagrams and other complex, highly restrained diagram types.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: October 16, 2012
    Assignee: Microsoft Corporation
    Inventors: Suhail Dutta, Pedro Silva, John J Jordan
  • Patent number: 8176465
    Abstract: Various technologies and techniques are disclosed for providing pluggable model elements. A modeling application is provided that is operable to allow custom model elements to be loaded. Custom behavior can be associated with the custom model element types in a modular fashion that allows custom behaviors to be plugged in. The modeling application interacts with an artifact mapper to automatically synchronize a particular model in the modeling application with an underlying one or more artifacts represented by the particular model. Events are intercepted between model elements and underlying artifacts that the model elements represent. As events are intercepted, one or more appropriate provider plug-ins are called to perform one or more associated actions. A user who toggles between a modeling application and an artifact source application is provided with a seamless viewing experience because the model elements and underlying artifacts are kept up to date with each other.
    Type: Grant
    Filed: February 27, 2007
    Date of Patent: May 8, 2012
    Assignee: Microsoft Corporation
    Inventors: Suhail Dutta, Bill Gibson, Patrick Cooney
  • Publication number: 20110321001
    Abstract: The formulation of an architectural diagram of a software program having multiple components. A static model identifying at least some of the components and a relationship between the components is accessed by perhaps performing a static code analysis of the code of the software program. A dynamic analysis is also performed by executing the software program, and observing the execution to derive dynamic behaviors of the software program. These dynamic behaviors may perhaps be information that is not readily available based on a static code analysis of the computer program alone, such as parameter values exchanged, paths of execution, and additional components invoked. The architectural diagram is then formulated using the static model and the dynamic behaviors to generate a more complete representation of the computer program.
    Type: Application
    Filed: June 23, 2010
    Publication date: December 29, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Suhail Dutta, Brian Robert Crawford, Elliott Ross Conant
  • Publication number: 20110320426
    Abstract: Providing a website map to a user. A method includes gathering information about web pages in a website, including information related to web page relationships, controls, and executable code underlying one or more web pages in the website. A relationship map is created. The relationship map includes representations of relationships between the web pages, the controls and the executable code underlying one or more web pages in the website. The method further includes graphically displaying at least a portion of the relationship map in a graphical user interface at the computing system.
    Type: Application
    Filed: June 25, 2010
    Publication date: December 29, 2011
    Applicant: Microsoft Corporation
    Inventors: Suhail Dutta, Jing Fan, Arun Mathew Abraham, Allen Wayne Denver
  • Publication number: 20110314445
    Abstract: Disclosed herein is user augmented reverse engineering, where, in one embodiment, during the generation of a graphical representation of a codebase, database, binary and the like, users may be provided with an option to ‘focus’. For example, during the graphical generation of a large codebase, a user may select one or things to limit the extent of the graphical representation generation. In another embodiment, a graphical generation may encounter one or more pre-defined boundary conditions. Upon encountering a boundary condition, the generation of the graphical representation may determine that it is unable to complete the graphical generation within a pre-defined set of requirements without additional instructions. Thus, the graphical generation may complete and then prompt a user for solutions to any boundary conditions it has encountered, or the generation may pause at each boundary condition it encounters and prompt a user for a solution to the boundary condition.
    Type: Application
    Filed: June 18, 2010
    Publication date: December 22, 2011
    Applicant: Microsoft Corporation
    Inventors: Suhail Dutta, Tracey Trewin, Andrew Byrne
  • Publication number: 20110283253
    Abstract: Architectural design intent for software is represented in some type of concrete form. A set of computable rules are inferred from the representation of the architectural design intent. The rules are applied to the codebase at various points in the development process including but not limited to when source code is checked into a project or when a build is run, or when a test run is performed. If the codebase being developed is not consistent with the architectural intent of the designer as captured, feedback concerning non-compliance is provided.
    Type: Application
    Filed: May 12, 2010
    Publication date: November 17, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Suhail Dutta, David N. Trowbridge, Bernard Tschirren, Arun M. Abraham
  • Publication number: 20110258611
    Abstract: Enhanced software architecture diagrams are derived by correlating runtime and static information, thereby allowing the diagrams to span runtime determination boundaries. Runtime determination boundaries are defined by decisions made at runtime, e.g., client-server boundaries, machine-machine boundaries, database-querying program boundaries, web service provider-consumer boundaries, factory caller-instance boundaries, interface call-implementing class boundaries, and reflection boundaries. Correlation may involve identifying instances of types, tracing an identifier injected into a communication channel, using a causality hook, and/or comparing messages leaving a caller with messages entering a callee, for example.
    Type: Application
    Filed: April 20, 2010
    Publication date: October 20, 2011
    Applicant: Microsoft Corporation
    Inventors: Suhail Dutta, Brian Crawford
  • Publication number: 20110161846
    Abstract: A diagram having initial visual design elements can be displayed on a computer display. For example, the diagram may be a computer software architectural diagram. Changes can be made to the diagram to produce modified visual design elements. The changes can be tracked as they are made, to produce change tracking information. The change tracking information can be processed to automatically highlight at least a portion of the modified visual design elements in a display of the diagram. Processing the change tracking information can include filtering the change tracking information to provide different highlighting treatment to some of the modified visual design elements corresponding to information that is filtered out.
    Type: Application
    Filed: December 29, 2009
    Publication date: June 30, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Suhail Dutta, Andrew J. Byrne
  • Publication number: 20100313179
    Abstract: A tool supports management of engineering project changes using a current design diagram with links to implementation components, a proposed design diagram, and a work list of tasks for transforming the current design into the proposed design. Tasks recite intended changes such as add, remove, or refactor, with reference to implementation components to be changed, and tracking information. Work list tasks may be automatically generated based on design model differences correlated with project code, automatically generated based on tracked user design actions correlated with project code, and/or manually generated by users. Work lists may be exported. Users can mark a relationship for removal and view a corresponding updated work list. Users can trace impact of a work list on project context such as testing coverage, database structures, and user scenarios.
    Type: Application
    Filed: June 5, 2009
    Publication date: December 9, 2010
    Applicant: Microsoft Corporation
    Inventors: Mark Groves, Jens Jacobsen, Suhail Dutta, Tracey Glass Trewin