IP Library Granted Patent US 7,836,429
Granted Patent B2
US 7,836,429 · App. 11/612,703 · Granted Nov 16, 2010

Data synchronization mechanism for change-request-management repository interoperation

View Patent ↗
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 7,836,429
App. No.
11/612,703
Granted
Nov 16, 2010
Kind
B2
Abstract

Computer method and apparatus for managing software configuration repositories are disclosed. In a plurality of repositories each repository holds a respective set of change-request objects. One of the repositories in the plurality is a primary repository, and the other repositories are working repositories. In the primary repository, there is a respective proxy object for each change-request object of interest in a working repository. Each proxy object has a corresponding associated change-request object in the primary repository. For a given proxy object, changes made to the respective change-request object of interest in the working repository are mapped to the associated change-request object in the primary repository and vice versa.

Claims (40)

1. Computer apparatus comprising non-transitory computer-readable medium contains instructions for managing software configuration repositories comprising:

a plurality of repositories each holding a respective set of change-request objects, the plurality repositories including a primary repository and working repositories; and

in the primary repository, a copy of respective proxy object for each change-request object of interest in a working repository is created in the primary repository, wherein the change-request objects of interest include any of objects that are to participate in cross-repository queries, and objects that have relationships with objects in other repositories; and each proxy object has a corresponding associated change-request object in the primary repository; wherein for a given proxy object, changes made to one of the respective change-request objects of interest in the working repository and the associated change-request object in the primary repository are mapped to the other; wherein the mapping between the respective change-request object of interest in the working repository to changes made to the associated change-request object in the primary repository comprising:

incoming synchronization rules for making corresponding changes to the associated change-request object in the primary repository corresponding to the proxy object; and

outgoing synchronization rules, wherein for a given proxy object, when state of the associated change-request object is updated, the outgoing synchronization rules making corresponding changes to state of the change-request object of interest, in the working repository, corresponding to the proxy object.

2. Apparatus as claimed in claim 1 wherein for a given proxy object, the corresponding associated change-request object in the primary repository is an object of a type closest semantically to the proxy object.

3. Apparatus as claimed in claim 1 further comprising:

rules for synchronizing changes to the associated change-request object in the primary repository to changes made to the respective change-request object of interest in the working repository; and

rules for synchronizing changes to the respective change-request object of interest in the working repository to changes made to the associated change-request object in the primary repository.

4. Apparatus as claimed in claim 1 wherein a working repository is periodically queried to determine whether state of a respective change-request object of interest, in the working repository, corresponding to a proxy object has changed, and if so, the proxy object being updated with current state of the respective change-request object of interest.

5. A computer implemented method of managing software configuration repositories, comprising the steps of:

in a plurality of repositories, each holding a respective set of change-request objects, providing one primary repository and remaining repositories being working repositories;

for each change-request object of interest in a working repository, copying the change-request object of interest into the primary repository, wherein the change-request objects of interest include any of objects that are to participate in cross-repository queries, and objects that have relationships with objects in other repositories; forming a respective proxy object in the primary repository; and

associating each proxy object with a change-request object in the primary repository, such that, for a given proxy object, changes made to one of the respective change-request object of interest in a working repository and the corresponding associated change-request object in the primary repository are mapped to the other; wherein the mapping between the respective change-request object of interest in the working repository to changes made to the associated change-request object in the primary repository comprising:

incoming synchronization rules for making corresponding changes to the associated change-request object in the primary repository corresponding to the proxy object; and

outgoing synchronization rules, wherein for a given proxy object, when state of the associated change-request object is updated, the outgoing synchronization rules making corresponding changes to state of the change-request object of interest in the working repository, corresponding to the proxy object.

6. A method as claimed in claim 5 wherein the step of associating each proxy object includes choosing a change-request object in the primary repository having a type closest semantically to the proxy object.

7. A method as claimed in claim 5 further comprising:

synchronizing changes to the associated change-request object in the primary repository to changes made to the respective change-request object of interest in the working repository; and

synchronizing changes to the respective change-request object of interest in the working repository to changes made to the associated change-request object in the primary repository.

8. A method as claimed in claim 5 further comprising: for each working repository, periodically querying the working repository to determine whether state of a respective change-request object of interest, in the working repository, corresponding to a proxy object has changed, and if so, updating the proxy object to the current state of the respective change-request object of interest.

9. A method as claimed in claim 8 further comprising the step of making corresponding changes to the associated change-request object in the primary repository corresponding to the proxy object.

10. A method as claimed in claim 9 further comprising:

for a given proxy object, when state of the associated change-request object is updated, making corresponding changes to state of the change-request object of interest, in the working repository, corresponding to the proxy object.

11. A method as claimed in claim 5 wherein the step of forming a proxy object includes providing a user-visible synchronization status field for each proxy object.

12. A software configuration repository management system, comprising:

a processor;

repository means defining a primary repository and work repositories in a plurality of repositories, each defined repository having a respective set of change-request objects; and

proxy object means, for each change-request object of interest in a working repository, the proxy object means providing a respective proxy object in the primary repository, wherein the change-request objects of interest include any of objects that are to participate in cross-repository queries, and objects that have relationships with objects in other repositories; each proxy object having a corresponding associated change-request object in the primary repository, wherein for a given proxy object, changes made to one of the respective change-request objects of interest in the working repository and the associated change-request object in the primary repository are mapped to the other;

synchronization means for the mapping between the respective change-request object of interest in the working repository to changes made to the associated change-request object in the primary repository comprising:

incoming synchronization rules for making corresponding changes to the associated change-request object in the primary repository corresponding to the respective change-request object of interest in the working repository; and

outgoing synchronization rules, wherein for a given proxy object, when state of the associated change-request object is updated, the outgoing synchronization rules making corresponding changes to state of the change-request object of interest in the working repository, to the associated change-request object in the primary repository.

13. A system as claimed in claim 12 wherein a working repository is periodically queried to determine whether state of a respective change-request object of interest, in the working repository, corresponding to a proxy object has changed, and if so, the proxy object being updated with current state of the respective change-request object of interest.

14. A system as claimed in claim 13 further comprising synchronizing means for making corresponding changes to the associated change-request object in the primary repository corresponding to the proxy object.

15. Computer program product comprising a non-transitory computer usable medium having a computer readable program, wherein the computer readable program, when executed by a digital processor, causes a computer to:

in a plurality of repositories, each holding a respective set of change-request objects, provide one primary repository and remaining repositories being working repositories;

for each change-request object of interest in a working repository, copy the change-request object of interest into the primary repository and form a respective proxy object in the primary repository, wherein the change-request objects of interest include any of objects that are to participate in cross-repository queries, and objects that have relationships with objects in other repositories; and

associate each proxy object with a change-request object in the primary repository, such that, for a given proxy object, changes made to one of the respective change-request objects of interest in a working repository and the corresponding associated change-request object in the primary repository are mapped to the other; wherein the mapping between the respective change-request object of interest in the working repository to changes made to the associated change-request object in the primary repository comprising:

incoming synchronization rules for making corresponding changes to the associated change-request object in the primary repository corresponding to the proxy object; and

outgoing synchronization rules, wherein for a given proxy object, when state of the associated change-request object is updated, the outgoing synchronization rules making corresponding changes to state of the change-request object of interest, in the working repository, corresponding to the proxy object.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LINKEDIN CORPORATION
Reel/Frame 035201/0479 →