Mediator Server for Hybrid Source Control Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software development companies face challenges in integrating centralized and distributed source control systems, as they often have significant investments in centralized systems and may need to accommodate distributed systems while ensuring seamless revision control and compatibility between the two.

Innovation Solution

A method that allows a distributed source control system to interact with a centralized source control system by creating a replica of the source code repository, known as a 'team hub,' which is updated periodically and enables software developers to request and submit changes in a format compatible with the centralized system, facilitating hybrid use of both models.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a centralized source control system is used, then revision control from a central location is achieved, but developers cannot use distributed source control features

Engineering Contradiction:
Improvesource control model flexibilityVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A server computer acts as an intermediary between the centralized source control repository and the distributed source control system. The server receives change sets from the distributed system, converts them into centralized system formats, and submits them to the centralized repository, enabling both systems to work together without direct complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates a copy of the centralized source control repository that is accessible by the distributed source control system. This copy allows developers to work with distributed version control while the changes are eventually synchronized back to the centralized system, providing both models' benefits

Inventive Principle:
Principle #26Copying

2Ease of operation

If a distributed source control system is used, then developers gain peer-to-peer revision control, but integration with centralized source control system becomes difficult

Engineering Contradiction:
Improvedeveloper workflow flexibilityVSAvoidsystem integration capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The server computer serves as a mediator that translates between the peer-to-peer model of distributed source control and the client-server model of centralized source control. It receives change sets from distributed developers, processes them, and submits them to the centralized repository, enabling seamless integration

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The server computer performs multiple functions: it acts as a centralized repository, a translation layer between different source control models, and a synchronization point. This multi-functionality allows both distributed and centralized workflows to coexist and integrate smoothly

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If companies switch from centralized to distributed source control system, then developer flexibility improves, but investment costs increase

Engineering Contradiction:
Improvesource control model flexibilityVSAvoidsystem change cost
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The system implements distributed source control features partially by allowing developers to use distributed workflows for their local development while maintaining connection to the existing centralized repository. Not all aspects need to change - only the local development model, while the centralized repository remains intact

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The server computer is set up in advance to handle the translation and synchronization between distributed and centralized models. This preliminary infrastructure setup enables gradual adoption of distributed source control without requiring immediate full system replacement, reducing overall change costs

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2791788B1Using distributed source control in a centralized source control environment
Publication Date: 2019.07.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2791788B1 patent drawingFigure 1
  • EP2791788B1 patent drawingFigure 2
  • EP2791788B1 patent drawingFigure 3

AI summary

A method is presented for using a distributed source control system with a centralized source control system. A first set of files is obtained from a source control repository and stored on a first electronic computing device. The first set of files comprises all or part of a code base in the centralized source control system. A request is received for at least part of the code base from a second electronic computing device in a distributed source control system. As a result of the request, at least a part of the first set of files is sent to the second electronic computing device. A change set for the first set of files is received from the second electronic computing device. The change set is processed to be in a format compatible with the source control repository. The change set is submitted to the source control repository.