Team-Based Change Recording for Concurrent Code Editing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software configuration management (SCM) systems face challenges in allowing concurrent modifications to source code files by multiple developers while maintaining integrity and traceability, particularly in environments where sequential file modifications are required by change recording systems and parallel modifications by versioning systems demand additional resources.

Innovation Solution

Implementing a modified change recording system that assigns teams to changelists, enabling exclusive check-outs and check-ins, and allowing multiple team members to edit the same source code files concurrently, with a shared changelist tracking changes and ensuring consistency through team approval mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a change recording system is used to maintain sequential list of changes, then resource consumption is reduced, but concurrent access and modification by multiple developers is not enabled

Engineering Contradiction:
Improveconcurrent development capabilityVSAvoidrepository consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system segments the development process into distinct phases: check-out phase where developers acquire exclusive access to modify files, and check-in phase where changes are recorded in a sequential changelist. This segmentation allows concurrent development work while maintaining repository consistency through structured access control and ordered change recording.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If a versioning system is used to provide previous versions of software components, then access flexibility is improved, but resource consumption increases

Engineering Contradiction:
Improveaccess flexibilityVSAvoidstorage resources
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The system extracts only the essential change information (differences between versions) into the changelist rather than storing complete previous versions. This extraction approach provides access flexibility by recording what changed while consuming minimal storage resources, avoiding the need to maintain full copies of historical versions.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If exclusive check-out is implemented for file modification, then repository integrity is maintained, but concurrent editing by multiple developers is prohibited

Engineering Contradiction:
Improverepository integrityVSAvoidconcurrent development efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements dynamic access control where the exclusivity of file access is temporary and task-dependent. Developers acquire exclusive check-out status only when actively modifying a file, and this exclusivity is automatically released upon check-in. This dynamic approach maintains repository integrity during modification while enabling concurrent development through time-multiplexed access.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8204908B2Team support in change recording and versioning systems
Publication Date: 2012.06.19 SAP SE
  • US8204908B2 patent drawing
  • US8204908B2 patent drawing
  • US8204908B2 patent drawing

AI summary

Implementations of the present disclosure provide computer-implemented methods including generating a changelist corresponding to at least one computer code object that is digitally stored in a repository database, assigning a team to the changelist, the team comprising a plurality of members, initiating access to the computer code object using a computer that is in communication with the repository database, enabling access to the computer code object when a user of the computer is a member of the team, and prohibiting access to the computer code object when the user of the computer is not a member of the team.