IP Library Granted Patent US 8,225,311
Granted Patent B1
US 8,225,311 · App. 11/430,491 · Granted Jul 17, 2012

Deploying and distributing content management code

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 8,225,311
App. No.
11/430,491
Granted
Jul 17, 2012
Kind
B1
Abstract

Deploying and distributing content management code is disclosed. A software object class is received at a repository. The software object class is stored at the repository. The software object class is downloaded from the repository to an application server associated with the repository.

Claims (29)

1. A method of deploying computer code, comprising:

receiving at a first repository a software object class, wherein the first repository is associated with a content management system and comprises a content store and a corresponding metadata store;

storing the software object class in the content store associated with the first repository; and

downloading the software object class from the first repository to an application server associated with an application content data stored at the content store of the first repository and a content store of a second repository, wherein downloading the software object class from the first repository is based at least in part on a determination that the software object class has not been previously downloaded from the first repository to the application server, wherein the downloading further comprises: determining by the application server if the software object class is not available in a local cache, if it is not available, checking a shared class loader in the local cache, the shared class loader requesting the software object class from the first repository, and if the software object class is not available for download from the first repository, the shared class loader looks to its parent class loader to obtain the software object class, wherein an application at the application server is configured to use the software object class downloaded from the first repository to perform an operation with respect to the application content data stored at the content store of the first repository, and wherein the application at the application server is configured to use another software object class downloaded from a second repository to perform an operation with respect to the application content data stored at the content store of the second repository, wherein the first repository and second repository are different.

2. A method as recited in claim 1 , further including receiving a registration data associated with the software object class.

3. A method as recited in claim 2 , further including storing at least a part of said registration data at the first repository.

4. A method as recited in claim 3 , wherein said at least a part of said registration data is stored in the metadata store associated with the first repository.

5. A method as recited in claim 1 , wherein the software object class is downloaded to the application server in response to a request received from the application server.

6. A method as recited in claim 1 , wherein the software object class comprises one or a plurality of software object classes received and stored at the first repository.

7. A method as recited in claim 6 , wherein the software object class comprises one of at least a subset of said plurality of software object classes requested to be downloaded to the application server.

8. A method as recited in claim 1 , wherein the application server comprises a first application server associated with the first repository and the method further comprises downloading the software object class to a second application server associated with the first repository.

9. A method as recited in claim 1 , wherein the first repository comprises a shared repository configured to store and distribute one or more software object classes to be used by the application server to access content across two or more other repositories.

10. A method as recited in claim 1 , wherein the software object class comprises a business object class.

11. A method as recited in claim 1 , wherein the software object class comprises part of a content management framework.

12. A method as recited in claim 1 , wherein the software object class comprises a component available to be used by an application running on the application server to perform a content management function with respect to content stored in the first repository.

13. A method as recited in claim 1 , wherein the software object class is hot deployed on the application server.

14. A method as recited in claim 1 , further comprising providing an indication that the software object class has been added to or updated in the first repository.

15. A method as recited in claim 14 , wherein the application server requests the software object class based at least in part on the indication that the software object class has been added to or updated in the first repository.

16. A content management system, comprising:

a data storage device; and

a processor coupled to the data storage device and configured to:

receive a software object class, wherein a first repository is associated with the content management system and comprises a content store and a corresponding metadata store;

store the software object class on the data storage device in the content store associated with the first repository; and

download the software object class from the first repository to an application server associated with an application content data stored at the content store of the first repository and a content store of a second repository, wherein downloading the software object class from the first repository is based at least in part on a determination that the software object class has not been previously downloaded from the first repository to the application server, wherein the downloading further comprises: determining by the application server if the software object class is not available in a local cache, if it is not available, checking a shared class loader in the local cache, the shared class loader requesting the software object class from the first repository, and if the software object class is not available for download from the first repository, the shared class loader looks to its parent class loader to obtain the software object class, wherein an application at the application server is configured to use the software object class downloaded from the first repository to perform an operation with respect to the application content data stored at the content store of the first repository, and wherein the application at the application server is configured to use another software object class downloaded from a second repository to perform an operation with respect to the application content data stored at the content store of the second repository, wherein the first repository and second repository are different.

17. A system as recited in claim 16 , wherein the processor and the data storage device are associated with the first repository with which the application server is associated.

18. A computer readable storage medium for deploying computer code, the computer readable storage medium being embodied in a computer readable medium and comprising computer instructions for:

receiving at a first repository a software object class, wherein the first repository is associated with a content management system and comprises a content store and a corresponding metadata store;

storing the software object class in the content store associated with the first repository; and

downloading the software object class from the first repository to an application server associated with an application content data stored at the content store of the first repository and a content store of a second repository, wherein downloading the software object class from the first repository is based at least in part on a determination that the software object class has not been previously downloaded from the first repository to the application server, wherein the downloading further comprises: determining by the application server if the software object class is not available in a local cache, if it is not available, checking a shared class loader in the local cache, the shared class loader requesting the software object class from the first repository, and if the software object class is not available for download from the first repository, the shared class loader looks to its parent class loader to obtain the software object class, wherein an application at the application server is configured to use the software object class downloaded from the first repository to perform an operation with respect to the application content data stored at the content store of the first repository, and wherein the application at the application server is configured to use another software object class downloaded from a second repository to perform an operation with respect to the application content data stored at the content store of the second repository, wherein the first repository and second repository are different.

Assignments (7)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 041579/0133 →
RELEASE OF SECURITY INTEREST Recorded Jan 23, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC CORPORATION
Reel/Frame 041073/0443 →
PATENT RELEASE (REEL:40134/FRAME:0001) Recorded Jan 23, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: EMC CORPORATION, AS GRANTOR
Reel/Frame 041073/0136 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2006
From: ROBERTSON, DON; AMIEL, MEIR; SPIVAK, VICTOR
To: EMC CORPORATION
Reel/Frame 017887/0347 →