US Patent No. 10,659,522

SHARING APPLICATION LOCAL ENVIRONMENT


Patent No. 10,659,522
Issue Date May 19, 2020
Title Sharing Application Local Environment
Inventorship Yoshio Horiuchi, Kanagawa (JP)
Kenji Uchida, Tokyo (JP)
Masaki Wakao, Sagamihara (JP)
Assignee International Business Machines Corporation, Armonk, NY (US)

Claim of US Patent No. 10,659,522

1. A method for pair programming comprising:in response to a request from a user of a first client to create a clone environment of a local environment of the user of the first client, retrieving clone environment creation parameters corresponding to local information of the local environment from a registry located on a server and creating a first clone environment of the local environment of the first client on the server from the clone environment creation parameters;
receiving a notice of intent to participate in the first clone environment from a second client, the second client different from the first client;
receiving a notice of intent to participate in the first clone environment from a third client, the third client different from the first client and the second client;
after receiving the notices of intent to participate in the first clone environment from the second client and the third client, enabling concurrent real-time sharing of the first clone environment by the first client, the second client, and the third client, and, enabling on the server, shared real-time pair programming of the same software code in the first clone environment, wherein the same software code is edited by the first client and the second client, and the third client at the same time;
recording operations performed in the first cloned environment as a changeset, wherein the server registers the changeset with a software configuration management (SCM) server managing a change history of the software code and said SCM enables reproduction of versions of the software code;
receiving an instruction to terminate editing of the software code in parallel with receiving a destination to merge the changeset;
transferring the changeset to the first client;
merging the changeset into corresponding data of the local environment; and
synchronizing the first clone environment on the server with the local environment after the instruction to terminate editing.