IP Library Patent Application 12323630
Patent Application
App. No. 12/323,630

CLOUD BASED SOURCE CODE VERSION CONTROL

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
12/323,630
Abstract

Source code version control is a technique for coordinating source code data and modifications to the source code data between developers. Source code data and/or modifications may be managed as archives. Systems and methods for source code version control operable within a cloud computing environment are disclosed herein. A storage component may be configured to store archive versions deriving from an archive. A root coordinator may be configured to designate a current version of an archive. The root coordinator may change the designation of a current archive upon determining a submitted archive version is a direct successor of a current archive version. If a conflict exists and/or the submitted archive version is not a direct successor, then a reconciler may mechanically resolve conflicts between the submitted archive version and the current archive version to create a reconciled archive version for reconsideration by the root coordinator.

Claims (77)

1 . A system for source code version control comprising:

a storage component configured to store at least one archive version, deriving from an archive, comprising:

an archive version ID corresponding to the archive version;

an archive name corresponding to the archive; and

a set of source code data associated with the archive version;

a root coordinator configured to designate a current archive version stored within the storage component; and

a reconciler configured to mechanically resolve conflicts between a submitted archive version and a current archive version.

2 . The system of claim 1 , the root coordinator configured to store at least one archive name comprising a current archive version ID to designate the current archive version within the storage component.

3 . The system of claim 2 , the root coordinator configured to:

receive a make current request to change the current archive version ID, the make current request comprising a submitted archive version ID corresponding to a submitted archive version within the storage component;

determine whether the submitted archive version is a direct successor of the current archive version; and

upon determining the submitted archive version is a direct successor of the current archive version, store the submitted archive version ID as the current archive version ID to designate the submitted archive version as the current archive version.

4 . The system of claim 2 , the root coordinator configured to:

receive a make current request to change the current archive version ID, the make current request comprising a submitted archive version ID corresponding to a submitted archive version within the storage component;

determine whether the submitted archive version is a direct successor of the current archive version; and

upon determining the submitted archive version is not a direct successor of the current archive version, requesting the reconciler to resolve conflicts between the submitted archive version and the current archive version to create a reconciled archive version.

5 . The system of claim 2 , the root coordinator configured to:

receive a request from a user to determine the current archive version; and

send to the user the current archive version ID.

6 . The system of claim 1 , the storage component configured to:

receive a submitted archive version comprising:

a submitted archive version ID;

an archive name; and

a set of source code data; and

store the submitted archive version as an archive version.

7 . The system of claim 1 , the reconciler configured to:

queue a request from the root coordinator to create a reconciled archive version based upon a submitted archive version and the current archive version;

create a reconciled archive version based upon mechanical reconciliation of the submitted archive version and the current archive version; and

submit the reconciled archive version to the root coordinator to determine whether the reconciled archive version is a direct successor of the current archive version.

8 . The system of claim 1 , the storage component configured to store at least one delta comprising changed source code data associated with the archive stored within the storage component.

9 . The system of claim 1 , the root coordinator configured to store a plurality of archive versions corresponding to a plurality of archives.

10 . The system of claim 1 , comprising a locking component configured to lock at least one source code file within a set of source code data.

11 . The system of claim 1 , comprising:

the storage component configured to execute across at least one computing environment within a cloud computing environment;

the root coordinator configured to execute across at least one computing environment within a cloud computing environment; and

the reconciler configured to execute across at least one computing environment within a cloud computing environment.

12 . A method for source code version control comprising:

storing, within a storage component, at least one archive version, deriving from an archive, comprising:

an archive version ID corresponding to the archive version;

an archive name corresponding to the archive; and

a set of source code data associated with the archive version;

storing a current archive version ID, within a root coordinator, corresponding to an archive version, within the storage component, designated as the current archive version; and

changing the designation of the current archive version to a submitted archive version ID based upon determining a submitted archive version, associated with the submitted archive version ID, is a direct successor of the current archive version.

13 . The method of claim 12 , comprising:

creating a reconciled archive version based upon mechanically resolving a submitted archive version and a current archive version; and

submitting the reconciled archive version to the root coordinator for determination whether the reconciled archive version is a direct successor of a current archive version.

14 . The method of claim 13 , the creating a reconciled archive version comprising at least one of:

merging the submitted archive version with the current archive version to produce the reconciled archive version comprising non-conflicting merged source code files; and

rejecting the submitted archive version as irresolvable based upon a conflict of at least one source code file between the submitted archive version and the current archive version.

15 . The method of claim 12 , comprising:

storing at least one delta comprising changed source code data associated with the archive within the storage component.

16 . The method of claim 12 , comprising:

receiving a get current request from a user; and

returning the current archive version ID, stored within the root coordinator, to the user.

17 . The method of claim 12 , comprising:

storing at least one archive name associated with an archive stored within the storage component; and

storing at least one current archive version ID, wherein a current archive version ID is associated with an archive name.

18 . The method of claim 12 , comprising:

storing the at least one archive version across at least one computing environment within a cloud computing environment; and

storing the current archive version ID across at least one computing environment within a cloud computing environment.

19 . The method of claim 12 , comprising:

executing the storage component across at least one computing environment within a cloud computing environment;

executing the root coordinator across at least one computing environment within a cloud computing environment; and

executing the reconciler across at least one computing environment within a cloud computing environment.

20 . A system for cloud based source code version control comprising:

a storage component configured to execute across at least one computing environment within a cloud computing environment, the storage component configured to:

store at least one archive version, deriving from an archive, comprising:

an archive version ID corresponding to the archive version;

an archive name corresponding to the archive; and

a set of source code data associated with the archive version;

a root coordinator configured to execute across at least one computing environment within a cloud computing environment, the root coordinator configured to:

store a current archive version ID, corresponding to an archive version stored within the storage component, to designate a current version of an archive;

update the current archive version ID based upon determining a submitted archive version is a direct successor of the current version of the archive;

update the current archive version ID based upon determining a reconciled archive version is a direct successor of the current version of the archive; and

request a reconciler to create a reconciled archive version based upon the submitted archive version, that is not a direct successor, and the current version of the archive; and

the reconciler configured to execute across at least one computing environment within a cloud computing environment, the reconciler configured to:

mechanically resolve conflicts between the submitted archive version and the current version of the archive to create the reconciled archive version.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2009
From: JAZDZEWSKI, CHARLES PAUL
To: MICROSOFT CORPORATION
Reel/Frame 022981/0272 →