Patents by Inventor Erich Gamma

Erich Gamma 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: 11455175
    Abstract: Enhancements described support transparent remote execution of development tool extensions. Compute-intensive extensions may be executed on an extension machine external to a developer machine which runs a user interface renderer of the development tool. User interface extensions may run locally. Instead of sharing a filesystem, the renderer on the developer machine and an extension host and extension(s) on the extension machine may access distinct respective machine filesystems. Instead of spawning debug extension and other extension-support processes locally, the renderer may instruct the extension host or an extension host agent to spawn the processes remotely on the extension machine. Existing extensions and newly created extensions are binary-compatible with single-machine or multi-machine development tool deployments.
    Type: Grant
    Filed: July 16, 2018
    Date of Patent: September 27, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Alexandru Ioan Dima, Dirk Bäumer, André Weinand, Erich Gamma
  • Patent number: 10846203
    Abstract: Tracking edits executed against a file to ensure that the edits are monitored consistently so that language service requests are properly handled. Initially, a collaboration session is established. This collaboration session includes an owner and a participant computer system. Then, the owner computing system receives messages that are directed toward a file stored by the owner computer system. These messages include edits that are to be performed against the file and language service request(s). A file version is then assigned to a subset of these edits. As the subset of edits are executed against the file, the file's state changes. The file versions are published to both the participant computer system and to a language service running on the owner computer system. The language service uses the published file versions to track the edits that are being executed against the file and to respond to the language service request(s).
    Type: Grant
    Filed: April 9, 2018
    Date of Patent: November 24, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: David Ellis Pugh, Srivatsn Narayanan, Kesavan Shanmugam, Guillaume Jenkins, Jason Ronald William Ramsay, Daniel Lebu, Alexandru Dima, Erich Gamma
  • Patent number: 10810109
    Abstract: A collaboration session is provided in which an owner computer system and a participant computer system are both members. While working within this session, the participant computer system is provided access to a multi-file workspace that is stored locally on the owner computer system. The owner computer system receives a request from the participant computer system. The request is used to gain access to the owner computer system's language service. In response to this request, the owner computer system remotes its language service so that the language service is accessible to the participant computer system.
    Type: Grant
    Filed: January 24, 2018
    Date of Patent: October 20, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Kesavan Shanmugam, Srivatsn Narayanan, Jason Ronald William Ramsay, Erich Gamma, Dirk Baumer, Charles Eric Lantz, Jonathan Preston Carter, Simon Calvert
  • Patent number: 10678675
    Abstract: A collaboration session is provided in which an owner computer system and a participant computer system are both members. Within this collaboration session, both the owner and the participant computer systems are provided access to a multi-file workspace's build instance. Here, the multi-file workspace and the build instance are both stored locally on the owner computer system. Further, this workspace includes multiple files of source code. As a result, the build instance is a build of that source code. Various debug commands that are directed to the build instance may be received. Some of these commands originate from the owner computer system while others originate from the participant computer system. These debug commands are then multiplexed, and the build instance is executed in accordance with the multiplexed debug commands. As a result of executing the build instance, debugging data is generated.
    Type: Grant
    Filed: January 24, 2018
    Date of Patent: June 9, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Rodrigo Andres Varas Silva, Kesavan Shanmugam, Charles Eric Lantz, Jonathan Preston Carter, Simon Calvert, Erich Gamma, Andre Weinand
  • Publication number: 20200019410
    Abstract: Enhancements described support transparent remote execution of development tool extensions. Compute-intensive extensions may be executed on an extension machine external to a developer machine which runs a user interface renderer of the development tool. User interface extensions may run locally. Instead of sharing a filesystem, the renderer on the developer machine and an extension host and extension(s) on the extension machine may access distinct respective machine filesystems. Instead of spawning debug extension and other extension-support processes locally, the renderer may instruct the extension host or an extension host agent to spawn the processes remotely on the extension machine. No change is needed to extensions; existing extensions and newly created extensions are binary-compatible with single-machine or multi-machine development tool deployments.
    Type: Application
    Filed: July 16, 2018
    Publication date: January 16, 2020
    Inventors: Alexandru Ioan DIMA, Dirk BÄUMER, André WEINAND, Erich GAMMA
  • Publication number: 20190146783
    Abstract: A collaboration session is provided in which an owner computer system and a participant computer system are both members. Within this session, the collaborators are provided access to a multi-file workspace that is stored locally on the owner computer system. Initially, a set of development tools are identified. These tools are hosted by the owner computer system and are able to operate on the workspace's files. After the tools are identified, they are made accessible to the participant computer system. Later, a request is received from the participant computer system. In some instances, the request is directed to a particular file within the multi-file workspace and is generated using one of the development tools. In this manner, the collaboration session enables the owner computer system's development tools to become accessible to the participant computer system.
    Type: Application
    Filed: January 24, 2018
    Publication date: May 16, 2019
    Inventors: Jason Earl GINCHEREAU, Kesavan SHANMUGAM, Charles Eric LANTZ, Jonathan Preston CARTER, Simon CALVERT, Daniel LEBU, Anthony VAN DER HOORN, Rodrigo Andres Varas SILVA, Alexandre PANOV, German David Obando CHACON, Srivatsn NARAYANAN, Oleg SOLOMKA, David Coimbra KHOURSHID, Erich GAMMA, Johannes RIEKEN
  • Publication number: 20190147048
    Abstract: Tracking edits executed against a file to ensure that the edits are monitored consistently so that language service requests are properly handled. Initially, a collaboration session is established. This collaboration session includes an owner and a participant computer system. Then, the owner computing system receives messages that are directed toward a file stored by the owner computer system. These messages include edits that are to be performed against the file and language service request(s). A file version is then assigned to a subset of these edits. As the subset of edits are executed against the file, the file's state changes. The file versions are published to both the participant computer system and to a language service running on the owner computer system. The language service uses the published file versions to track the edits that are being executed against the file and to respond to the language service request(s).
    Type: Application
    Filed: April 9, 2018
    Publication date: May 16, 2019
    Inventors: David Ellis PUGH, Srivatsn NARAYANAN, Kesavan SHANMUGAM, Guillaume JENKINS, Jason Ronald William RAMSAY, Daniel LEBU, Alexandru DIMA, Erich GAMMA
  • Publication number: 20190146898
    Abstract: A collaboration session is provided in which an owner computer system and a participant computer system are both members. Within this collaboration session, both the owner and the participant computer systems are provided access to a multi-file workspace's build instance. Here, the multi-file workspace and the build instance are both stored locally on the owner computer system. Further, this workspace includes multiple files of source code. As a result, the build instance is a build of that source code. Various debug commands that are directed to the build instance may be received. Some of these commands originate from the owner computer system while others originate from the participant computer system. These debug commands are then multiplexed, and the build instance is executed in accordance with the multiplexed debug commands. As a result of executing the build instance, debugging data is generated.
    Type: Application
    Filed: January 24, 2018
    Publication date: May 16, 2019
    Inventors: Rodrigo Andres Varas SILVA, Kesavan SHANMUGAM, Charles Eric LANTZ, Jonathan Preston CARTER, Simon CALVERT, Erich GAMMA, Andre WEINAND
  • Publication number: 20190149346
    Abstract: A collaboration session is provided in which an owner computer system and a participant computer system are both members. While working within this session, the participant computer system is provided access to a multi-file workspace that is stored locally on the owner computer system. The owner computer system receives a request from the participant computer system. The request is used to gain access to the owner computer system's language service. In response to this request, the owner computer system remotes its language service so that the language service is accessible to the participant computer system.
    Type: Application
    Filed: January 24, 2018
    Publication date: May 16, 2019
    Inventors: Kesavan SHANMUGAM, Srivatsn NARAYANAN, Jason Ronald William RAMSAY, Erich GAMMA, Dirk BAUMER, Charles Eric LANTZ, Jonathan Preston CARTER, Simon CALVERT
  • Patent number: 8418141
    Abstract: A method is provided for synchronization of a first workspace with a second workspace. Both workspaces are connected to a version control system. The method comprises for a first refactoring operation being performed on the first workspace, performing first refactoring step, resulting in a modification of an object, storing the modification in a change information for the object, storing in a change information recording step the change information, and storing in a descriptor recording step refactoring information comprising information enabling execution of a refactoring corresponding to the first refactoring step during an update operation. The method further comprises for a commit operation, delivering in a change information delivery step the change information to the version control system, and delivering in a descriptor commit step the refactoring information to the version control system.
    Type: Grant
    Filed: July 1, 2008
    Date of Patent: April 9, 2013
    Assignee: International Business Machines Corporation
    Inventors: Dirk Baeumer, Erich Gamma, Tobias Kaspar Widmer
  • Publication number: 20090019426
    Abstract: A method is provided for synchronization of a first workspace with a second workspace. Both workspaces are connected to a version control system. The method comprises for a first refactoring operation being performed on the first workspace, performing first refactoring step, resulting in a modification of an object, storing the modification in a change information for the object, storing in a change information recording step the change information, and storing in a descriptor recording step refactoring information comprising information enabling execution of a refactoring corresponding to the first refactoring step during an update operation. The method further comprises for a commit operation, delivering in a change information delivery step the change information to the version control system, and delivering in a descriptor commit step the refactoring information to the version control system.
    Type: Application
    Filed: July 1, 2008
    Publication date: January 15, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Dirk Baeumer, Erich Gamma, Tobias Kasper Widmer
  • Publication number: 20060168565
    Abstract: A method comprises steps of: obtaining an original version and a modified version of a program wherein each version has a set of associated tests; determining a set of affected tests whose behavior may have changed as a result of one or more changes made to the original version to produce the modified version; determining a set of changes responsible for changing the behavior of at least one affected test; and classifying at least one member of the set of changes according to the way the member impacts at least one of the tests.
    Type: Application
    Filed: January 24, 2005
    Publication date: July 27, 2006
    Inventors: Erich Gamma, Barbara Ryder, Maximilian Storzer, Frank Tip
  • Patent number: 5544301
    Abstract: A view system is provided for each application program in a computer system in order to display application-generated information on a display. To increase graphic speed, the view system transfers graphic information directly into the screen buffer into a screen buffer area defined by a visible area definition. The view system provides support for spatially laying out views. The support includes a class of objects that contain specific layout information. The layout information automatically provides horizontal or vertical orientation, size and constraints. The views are arranged in a hierarchy and the layout objects are inserted into the hierarchy at a level directly above the levels of the views to which the layout objects relate.
    Type: Grant
    Filed: December 30, 1993
    Date of Patent: August 6, 1996
    Assignee: Taligent, Inc.
    Inventors: Debra L. Orton, William F. Kraus, Erich Gamma