IP Library Granted Patent US 9,536,244
Granted Patent B1
US 9,536,244 · App. 11/430,433 · Granted Jan 3, 2017

Managed content delivery via web services

Inventors: Meir Amiel (Pleasanton, CA); Victor Spivak (San Mateo, CA); Alex Oscherov (Danville, CA)
Assignee: EMC Corporation
G06Q30/02G06F8/24
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 9,536,244
App. No.
11/430,433
Granted
Jan 3, 2017
Kind
B1
Abstract

Providing access to manage content via a web service is disclosed. A business object that includes a method configured to access a content item comprising a body of managed content is received. The business object is processed to project as a web service a content management functionality associated with the object, including by exposing a method of the business object as a web service operation.

Claims (54)

1. A method, comprising:

receiving a business object class that includes a business object method configured to access a managed content item in an existing content management infrastructure not developed originally as a web service, wherein the existing content management infrastructure includes a content management client and content server; and

transforming the business object class to project a web services projection of the business object class, at least in part by:

(1) parsing computer code associated with the business object class;

(2) recognizing in the parsed code a portion associated with the business object method; and

(3) exposing the business object method as a web service, at least in part by automatically generating code configured to:

a) identify a string argument associated with an operation request;

b) map the string argument to the managed content item; and

c) use the mapping to send a request for access to the managed content item to a content management server within the existing content management infrastructure.

2. A method as recited in claim 1 , wherein the business object class is received at a repository.

3. A method as recited in claim 1 , wherein the business object class is configured to access the content item from a distributed body of managed content comprising one or more content items at least one of which is stored at each of a plurality of storage nodes.

4. A method as recited in claim 3 , wherein the web service is configured to determine which of the plurality of storage nodes from which the content item is to be obtained.

5. A method as recited in claim 3 , wherein the web service is configured to determine which of the plurality of storage nodes from which the content item is to be obtained based at least in part on one or more of the following: a respective geographic location of each of the respective storage nodes, a respective relative distance of each of the respective storage nodes from a requesting client, and a connection speed or bandwidth of a respective connection with the requesting client of each of the respective storage nodes.

6. A method as recited in claim 5 :

wherein the managed content item is stored on a content server and the business object class is configured to access the specified managed content item by requesting that the content server provide the content item to a host associated with a web services proxy from which each operation request is received;

wherein exposing further comprises automatically generating code configured to receive from the content management server a location associated with the managed content item; and

wherein the location is a file system path.

7. A method as recited in claim 1 , wherein the managed content item resides on a host associated with a web services proxy from which each operation request is received.

8. A method as recited in claim 7 , further comprising receiving the request to perform the operation and requesting that a content system obtain the content item from the host.

9. A method as recited in claim 8 , wherein the content system is configured to obtain the content item from the host at least in part by communicating with a content management client on the host.

10. A method as recited in claim 1 , wherein the managed content item is stored on a content server and the business object class is configured to access the specified managed content item by requesting that the content server provide the content item to a host associated with a web services proxy from which each operation request is received.

11. A method as recited in claim 10 , wherein exposing further comprises automatically generating code configured to receive from the content management server a location associated with the managed content item.

12. A method as recited in claim 11 , wherein the location is a path.

13. A method as recited in claim 10 , wherein the content system is configured to provide the content item to the host at least in part by communicating with a content management client on the host.

14. A method as recited in claim 10 , wherein the content system is configured to return to the web service a location at which the content item has been stored on the host.

15. A method as recited in claim 1 , wherein accessing the managed content item is checking-in the managed content item.

16. A method as recited in claim 1 , wherein accessing the managed content item is accessing a latest version of the managed content item.

17. A method as recited in claim 1 , wherein accessing the managed content item is accessing a version of the managed content item from a closest distributed content management server.

18. A web services server comprising:

a processor; and

a memory coupled to the processor, wherein the memory is set to provide the processor with instructions which when executed cause the processor to:

receive a business object class that includes a business object method configured to access a managed content item in an existing content management infrastructure not developed originally as a web service, wherein the existing content management infrastructure includes a content management client and content server; and

transform the business object class to project a web services projection of the business object class, at least in part by:

(1) parsing computer code associated with the business object class;

(2) recognizing in the parsed code a portion associated with the business object method; and

(3) exposing the business object method as a web service, at least in part by automatically generating code configured to:

a) identify a string argument associated with an operation request;

b) map the string argument to the managed content item; and

c) use the mapping to send a request for access to the managed content item to a content management server within the existing content management infrastructure.

19. A server as recited in claim 18 , further comprising a communication interface coupled to the processor and configured to receive a web services request associated with the web service.

20. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium comprising processor instructions to be executed by a processor to perform the steps of:

receiving a business object class that includes a business object method configured to access a managed content item in an existing content management infrastructure not developed originally as a web service, wherein the existing content management infrastructure includes a content management client and content server; and

transforming the business object class to project a web services projection of the business object class, at least in part by:

(1) parsing computer code associated with the business object class;

(2) recognizing in the parsed code a portion associated with the business object method; and

(3) exposing the business object method as a web service, at least in part by automatically generating code configured to:

a) identify a string argument associated with an operation request;

b) map the string argument to the managed content item; and

c) use the mapping to send a request for access to the managed content item to a content management server within the existing content management infrastructure.

21. A computer program product as recited in claim 20 , wherein the business object class is configured to access the content item from a distributed body of managed content comprising one or more content items at least one of which is stored at each of a plurality of storage nodes.

22. A computer program product as recited in claim 21 , wherein the web service is configured to determine which of the plurality of storage nodes from which the content item is to be obtained.

23. A server as recited in claim 18 , wherein the business object class is configured to access the content item from a distributed body of managed content comprising one or more content items at least one of which is stored at each of a plurality of storage nodes.

24. A server as recited in claim 18 , wherein the managed content item resides on a host associated with a web services proxy from which each operation request is received.

25. A server as recited in claim 18 , wherein the managed content item is stored on a content server and the business object class is configured to access the specified managed content item by requesting that the content server provide the content item to a host associated with a web services proxy from which each operation request is received.

Assignments (9)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2017
From: EMC IP HOLDING COMPANY LLC
To: EMC CORPORATION
Reel/Frame 041047/0843 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/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: 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 6, 2006
From: AMIEL, MEIR; SPIVAK, VICTOR; OSCHEROV, ALEX
To: EMC CORPORATION
Reel/Frame 017883/0871 →
Continuity (1)
Provisional Application 60787445 · Mar 30, 2006