IP Library Patent Application 11848125
Patent Application
App. No. 11/848,125

METHOD AND SYSTEM FOR SUPPORTING A COLLABORATIVE DEVELOPMENT ENVIRONMENT

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.
11/848,125
Abstract

An approach is provided for supporting a collaborative development environment. A master site and a subordinate site are configured to participate in collaborative software development. One or more objects are automatically determined for replication from the master site to the subordinate site. A replication metadata file with replication metadata indicating at least the one or more objects is generated. The replication metadata file and copies of the one or more objects are transferred from the master site to the subordinate site on a first portable storage medium. An import log file on a second portable storage medium is received at the master site from the subordinate site, where the import log file includes a replication status for each of the one or more objects. The replication status for each of the one or more objects is retrieved from the import log file. The replication from the master site to the subordinate site is validated by recording the replication status for each of the one or more objects in a data repository.

Claims (131)

1 . A computer-implemented method comprising:

automatically determining one or more objects for replication from a master site to a subordinate site;

wherein the master site and the subordinate site are configured to participate in collaborative software development;

generating a replication metadata file that includes replication metadata, wherein the replication metadata indicates at least the one or more objects;

transferring, from the master site to the subordinate site, the replication metadata file and copies of the one or more objects on a first portable storage medium;

receiving, at the master site from the subordinate site, an import log file on a second portable storage medium, wherein the import log file includes a replication status for each of the one or more objects;

retrieving the replication status for each of the one or more objects from the import log file; and

validating the replication from the master site to the subordinate site by recording the replication status for each of the one or more objects in a data repository.

2 . The computer-implemented method as recited in claim 1 , further comprising:

receiving user input that specifies a configuration definition for the replication from the master site to the subordinate site, wherein the configuration definition indicates that the one or more objects participate in a software project that is collaboratively developed at the master site and the subordinate site; and

storing the configuration definition;

wherein automatically determining the one or more objects comprises determining the one or more objects based at least on the configuration definition; and

wherein the replication metadata in the replication metadata file includes the configuration definition.

3 . The computer-implemented method as recited in claim 2 , wherein the one or more objects include at least one of:

an item object that is included in the software project, wherein the item object comprises a file and attribute information associated with the file, wherein the attribute information comprises a version of the file:

a change request object that is associated with the software project, wherein the change request object comprises metadata information indicating one or more issues associated with the software project; and

a baseline object that is associated with the software project, wherein the baseline object comprises a collection that includes at least one of an item object and a change request object.

4 . The computer-implemented method as recited in claim 1 , wherein transferring the replication metadata file and the copies of the one or more objects on the first portable storage medium comprises:

storing the replication metadata file and the copies of the one or more objects on the first portable storage medium; and

storing an export status for each of the one or more objects in the data repository.

5 . The computer-implemented method as recited in claim 1 , further comprising:

based at least on the replication status for each of the one or more objects recorded in the data repository, automatically determining second one or more objects for second replication from the master site to the subordinate site;

generating a second replication metadata file that includes second replication metadata, wherein the second replication metadata indicates at least the second one or more objects;

transferring, from the master site to the subordinate site, the second replication metadata file and copies of the second one or more objects on a third portable storage medium;

receiving a second import log file on a fourth portable storage medium, wherein the second import log file includes a replication status for each of the second one or more objects;

retrieving the replication status for each of the second one or more objects from the second import log file; and

validating the second replication from the master site to the subordinate site by recording the replication status for each of the second one or more objects in the data repository.

6 . The computer-implemented method as recited in claim 1 , wherein:

the subordinate site is one of multiple subordinate sites that are configured to participate in the collaborative software development; and

the method further comprises:

transferring the replication metadata file and copies of the one or more objects on the first portable storage medium to each of the multiple subordinate sites; and

for each particular subordinate site in the multiple subordinate sites:

receiving a particular import log file that includes a particular replication status for each of the one or more objects that were transferred to the particular subordinate site;

retrieving, from the particular import log file, the particular replication status for each of the one or more objects; and

validating the replication from the master site to the particular subordinate site by recording in the data repository the particular replication status for each of the one or more objects in association with a particular identifier of the particular subordinate site.

7 . The computer-implemented method as recited in claim 1 , wherein the first portable storage medium is the same as the second portable storage medium.

8 . The computer-implemented method as recited in claim 1 , wherein:

the master site comprises a computer system that executes a configuration management server; and

the method is performed by one or more replicator processes that are executed on the computer system at the master site.

9 . The computer-implemented method as recited in claim 1 , wherein the master site and the subordinate site are communicatively connected over one or more network connections, wherein the one or more network connections are not used in transferring the first portable storage medium from the master site to the subordinate site and in receiving the second portable storage medium at the master site from the subordinate site.

10 . A computer-implemented method comprising:

receiving, at a subordinate site from a master site, a replication metadata file and copies of one or more objects on a first portable storage medium;

wherein the master site and the subordinate site are configured to participate in collaborative software development;

wherein the replication metadata file includes replication metadata, wherein the replication metadata identifies the one or more objects for replication from the master site to the subordinate site;

retrieving the replication metadata file and the copies of the one or more objects from the first portable storage medium;

importing the copies of the one or more objects to perform the replication from the master site to the subordinate site;

generating an import log file based at least on the replication metadata included in the replication metadata file, wherein the import log file includes a replication status for each of the one or more objects; and

transferring, from the subordinate site to the master site, the import log file on a second portable storage medium.

11 . The computer-implemented method as recited in claim 10 , wherein:

the replication metadata in the replication metadata file includes a configuration definition for the replication from the master site to the subordinate site, wherein the configuration definition indicates that the one or more objects participate in a software project that is collaboratively developed at the master site and the subordinate site;

importing the copies of the one or more objects further comprises importing the copies of the one or more object based at least on the configuration definition; and

generating the import log file further comprises generating the import log file based at least on the configuration definition.

12 . The computer-implemented method as recited in claim 10 , wherein importing the copies of the one or more objects further comprises:

storing the import log file on the first portable storage medium; and

storing an import status for each of the one or more objects in a data repository.

13 . The computer-implemented method as recited in claim 10 , wherein:

the subordinate site comprises a computer system that executes a configuration management server; and

the method is performed by one or more replicator processes that are executed on the computer system at the subordinate site.

14 . The computer-implemented method as recited in claim 10 , wherein the master site and the subordinate site are communicatively connected over one or more network connections, wherein the one or more network connections are not used in receiving the first portable storage medium at the subordinate site from the master site and in transferring the second portable storage medium from the subordinate site to the master site.

15 . A machine-readable medium comprising one or more stored instructions which, when processed by one or more processors, cause:

automatically determining one or more objects for replication firm a master site to a subordinate site:

wherein the master site and the subordinate site are configured to participate in collaborative software development;

generating a replication metadata file that includes replication metadata, wherein the replication metadata indicates at least the one or more objects;

transferring, from the master site to the subordinate site, the replication metadata file and copies of the one or more objects on a first portable storage medium;

receiving, at the master site from the subordinate site, an import log file on a second portable storage medium, wherein the import log file includes a replication status for each of the one or more objects;

retrieving the replication status for each of the one or more objects from the import log file; and

validating the replication from the master site to the subordinate site by recording the replication status for each of the one or more objects in a data repository.

16 . The machine-readable medium as recited in claim 15 , wherein the one or more stored instructions further comprise instructions which, when processed by the one or more processors, cause:

receiving user input that specifies a configuration definition for the replication from the master site to the subordinate site, wherein the configuration definition indicates that the one or more objects participate in a software project that is collaboratively developed at the master site and the subordinate site; and

storing the configuration definition;

wherein the instructions that cause automatically determining the one or more objects further comprise instructions which, when processed by the one or more processors, cause determining the one or more objects based at least on the configuration definition; and

wherein the replication metadata in the replication metadata file includes the configuration definition.

17 . The machine-readable medium as recited in claim 16 , wherein the one or more objects include at least one of:

an item object that is included in the software project, wherein the item object comprises a file and attribute information associated with the file, wherein the attribute information comprises a version of the file;

a change request object that is associated with the software project, wherein the change request object comprises metadata information indicating one or more issues associated with the software project; and

a baseline object that is associated with the software project, wherein the baseline object comprises a collection that includes at least one of an item object and a change request object.

18 . The machine-readable medium as recited in claim 15 , wherein the instructions that cause transferring the replication metadata file and the copies of the one or more objects on the first portable storage medium comprise instructions which, when processed by the one or more processors, cause:

storing the replication metadata file and the copies of the one or more objects on the first portable storage medium; and

storing an export status for each of the one or more objects in the data repository.

19 . The machine-readable medium as recited in claim 15 , wherein the one or more stored instructions further comprise instructions which, when processed by the one or more processors, cause:

based at least on the replication status for each of the one or more objects recorded in the data repository, automatically determining second one or more objects for second replication from the master site to the subordinate site;

generating a second replication metadata file that includes second replication metadata, wherein the second replication metadata indicates at least the second one or more objects;

transferring, from the master site to the subordinate site, the second replication metadata file and copies of the second one or more objects on a third portable storage medium;

receiving a second import log file on a fourth portable storage medium, wherein the second import log file includes a replication status for each of the second one or more objects;

retrieving the replication status for each of the second one or more objects firm the second import log file: and

validating the second replication from the master site to the subordinate site by recording the replication status for each of the second one or more objects in the data repository.

20 . The machine-readable medium as recited in claim 15 , wherein:

the subordinate site is one of multiple subordinate sites that are configured to participate in the collaborative software development; and

the one or more stored instructions further comprise instructions which, when processed by the one or more processors, cause:

transferring the replication metadata file and copies of the one or more objects on the first portable storage medium to each of the multiple subordinate sites; and

for each particular subordinate site in the multiple subordinate sites:

receiving a particular import log file that includes a particular replication status for each of the one or more objects that were transferred to the particular subordinate site;

retrieving, from the particular import log file, the particular replication status for each of the one or more objects; and

validating the replication from the master site to the particular subordinate site by recording in the data repository the particular replication status for each of the one or more objects in association with a particular identifier of the particular subordinate site.

21 . The machine-readable medium as recited in claim 15 , wherein the first portable storage medium is the same as the second portable storage medium.

22 . The machine-readable medium as recited in claim 15 , further comprising second one or more stored instructions which, when processed by the one or more processors, cause executing a configuration management server at the master site.

23 . The machine-readable medium as recited in claim 15 , wherein the master site and the subordinate site are communicatively connected over one or more network connections, wherein the one or more network connections are not used in transferring the first portable storage medium from the master site to the subordinate site and in receiving the second portable storage medium at the master site from the subordinate site.

24 . A machine-readable medium comprising one or more stored instructions which, when processed by one or more processors, cause:

receiving, at a subordinate site from a master site, a replication metadata file and copies of one or more objects on a first portable storage medium;

wherein the master site and the subordinate site are configured to participate in collaborative software development;

wherein the replication metadata file includes replication metadata, wherein the replication metadata identifies the one or more objects for replication from the master site to the subordinate site;

retrieving the replication metadata file and the copies of the one or more objects from the first portable storage medium;

importing the copies of the one or more objects to perform the replication from the master site to the subordinate site;

generating an import log file based at least on the replication metadata included in the replication metadata file, wherein the import log file includes a replication status for each of the one or more objects; and

transferring, from the subordinate site to the master site, the import log file on a second portable storage medium.

25 . The machine-readable medium as recited in claim 24 , wherein:

the replication metadata in the replication metadata file includes a configuration definition for the replication from the master site to the subordinate site, wherein the configuration definition indicates that the one or more objects participate in a software project that is collaboratively developed at the master site and the subordinate site;

the instructions that cause importing the copies of the one or more objects further comprise instructions which, when processed by the one or more processors, cause importing the copies of the one or more object based at least on the configuration definition; and

the instructions that cause generating the import log file further comprise instructions which, when processed by the one or more processors, cause generating the import log file based at least on the configuration definition.

26 . The machine-readable medium as recited in claim 24 , wherein the instructions that cause importing the copies of the one or more objects further comprise instructions which, when processed by the one or more processors, cause:

storing the import log file on the first portable storage medium; and

storing an import status for each of the one or more objects in a data repository.

27 . The machine-readable medium as recited in claim 24 , further comprising second one or more stored instructions which, when processed by the one or more processors, cause executing a configuration management server at the subordinate site.

28 . The machine-readable medium as recited in claim 24 , wherein the master site and the subordinate site are communicatively connected over one or more network connections, wherein the one or more network connections are not used in receiving the first portable storage medium at the subordinate site from the master site and in transferring the second portable storage medium from the subordinate site to the master site.

29 . A system comprising:

a master site comprising a first computer system and a first machine-readable medium; and

a subordinate site comprising a second computer system and a second machine-readable medium;

wherein the master site and the subordinate site are configured to participate in collaborative software development;

wherein the first machine-readable medium comprises first one or more stored instructions which, when executed on the first computer system at the master site, are operable to:

automatically determine one or more objects for replication from the master site to the subordinate site;

generate a replication metadata file that includes replication metadata, wherein the replication metadata indicates at least the one or more objects;

transfer, to the subordinate site, the replication metadata file and copies of the one or more objects on a first portable storage medium;

receive, from the subordinate site, an import log file on a second portable storage medium, wherein the import log file includes a replication status for each of the one or more objects;

retrieve the replication status for each of the one or more objects from the import log file; and

validate the replication from the master site to the subordinate site by recording the replication status for each of the one or more objects in a data repository;

wherein the second machine-readable medium comprises second one or more stored instructions which, when executed on the second computer system at the subordinate site, are operable to:

receive, from the master site, the replication metadata file and the copies of one or more objects on the first portable storage medium;

retrieve the replication metadata file and the copies of the one or more objects from the first portable storage medium;

import the copies of the one or more objects to perform the replication from the master site to the subordinate site;

generate the import log file based at least on the replication metadata included in the replication metadata file, wherein the import log file includes the replication status for each of the one or more objects; and

transfer, to the master site, the import log file on the second portable storage medium.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY'S NAME PREVIOUSLY RECORDED AT REEL: 026073 FRAME: 0206. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Jun 9, 2016
From: LEHMAN COMMERCIAL PAPER INC., AS RESIGNING ADMINISTRATIVE AGENT AND COLLATERAL AGENT
To: BARCLAYS BANK PLC, AS ADMINISTATIVE AGENT
Reel/Frame 038963/0840 →
RELEASE OF SECURITY AGREEMENT Recorded Apr 17, 2014
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: SERENA SOFTWARE, INC.
Reel/Frame 032712/0493 →
SECURITY AGREEMENT Recorded Apr 4, 2011
From: SERENA SOFTWARE, INC., A DELAWARE CORPORATION
To: BARCLAYS BANK PLC. AS ADMINISTRATIVE AGENT
Reel/Frame 026073/0206 →
PATENT SECURITY AGREEMENT Recorded May 1, 2008
From: SERENA SOFTWARE, INC.
To: LEHMAN BROTHERS COMMERCIAL PAPER INC.
Reel/Frame 020887/0052 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2007
From: PAYNE, TIMOTHY; DERAKHSHAN, MIR; THOMAS, LLEWELYN
To: SERENA SOFTWARE, INC.
Reel/Frame 020046/0648 →