IP Library Granted Patent US 10,362,146
Granted Patent B1
US 10,362,146 · App. 14/870,986 · Granted Jul 23, 2019

Method and system for enforcing governance across multiple content repositories using a content broker

Inventors: Michael T. Mohen (Millington, MD); Raman Walia (Bangalore, IN); Chandra Mouli Addaguduru (Bangalore, IN); Pardeep Kumar (Bangalore, IN)
Assignee: Open Text Corporation
H04L67/42H04L67/02
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 10,362,146
App. No.
14/870,986
Granted
Jul 23, 2019
Kind
B1
Abstract

A method and system for a content broker, including a unified object index, where the content broker is coupled to the unified object index and receives, from a requesting entity, a request to perform an action on an object and the object is stored in the content repository. The method further including obtaining the object associated with the request from a content repository, determining, using the unified object index, a normalized object type associated with the object, obtaining a governance rule based on the normalized object type, and servicing the request using the governance rule.

Claims (62)

1. A system for servicing requests associated with a content management system, the system comprising:

a processor;

a non-transitory computer readable medium storing a processor-based application, the processor-based application including instructions which when executed, will cause the processor to:

obtain, by a content broker interposed between a web application and a plurality of content repositories, object identifiers from the plurality of content repositories, the object identifiers associated with objects stored in the plurality of content repositories, and corresponding object metadata associated with each of the objects stored in the plurality of content repositories, each of the plurality of content repositories having a different content-repository specific object type that corresponds to a respective object type of objects stored in the respective content repository of the plurality of content repositories;

store, by the content broker, the obtained object identifiers and corresponding object metadata in a unified object index;

receive, by the content broker from the web application, a request that includes a first indicator identifying a first requested action to be performed;

in response to the received request, determine, by the content broker, a first normalized object type associated with the request, the first normalized object type associated with a plurality of different object types that are mapped to the first normalized object type;

obtain, by the content broker, a first governance rule based on the first normalized object type; and

service, by the content broker, the request using the first governance rule.

2. The system of claim 1 , wherein each of the plurality of content repositories comprises a respective agent and each of the respective agents is configured to send, to the content broker, updates associated with object identifiers as associated objects are updated in the respective content repository hosting the each respective agent,

wherein the content broker updates the unified object index in accordance with the sent updates.

3. The system of claim 1 , wherein the request includes a first object identifier and the first indicator identifying the first requested action to be performed on a first object identified by the first object identifier, wherein servicing the request comprises:

determining that a user that issued the request is not authorized to perform the first requested action on the first object; and

based on the determination, preventing the first requested action from being performed on the first object.

4. The system of claim 1 , wherein the first requested action includes one or more of: a read, a write, a modify, a delete, a send, or a move.

5. The system of claim 1 , wherein the first requested action is a search request, wherein servicing the request comprises:

executing, by the content broker, the search request on the unified object index.

6. The system of claim 1 , wherein the first requested action is a search request, wherein servicing the request comprises:

executing, by the content broker, the search request on metadata stored in the unified object index; and

returning, by the content broker to the web application, search results that include a set of the objects stored in the plurality of content repositories, the set including at least a first object of a first object type from a first one of the plurality of content repositories, and a second object of a second object type from a second one of the plurality of content repositories, wherein the first object type is a first content-repository specific object type and the second object type has a second content-repository specific object type that is different from the first content-repository specific object type.

7. The system of claim 1 , wherein servicing the request comprises:

providing a unique uniform resource locator (URL) to the web application, wherein the unique URL enables the web application to directly access a first object from a first one of the content repositories.

8. The system of claim 1 , wherein servicing the request comprises:

obtaining metadata associated with a first object that is mapped to the first normalized object type;

modifying at least a portion of the obtained metadata based on the first governance rule, to obtain modified metadata; and

providing the modified metadata to the web application.

9. The system of claim 1 , wherein the request is obtained via a Representational State Transfer (REST) application programming interface (API).

10. A computer-implemented method for servicing requests associated with a content management system, the method performed by a content broker executing on a computing device, the content broker interposed between a web application and a plurality of content repositories, each of the plurality of content repositories having a different content-repository specific object type that corresponds to a respective object type of objects stored in the respective content repository of the plurality of content repositories, the method comprising:

obtaining, by the content broker from the plurality of content repositories, object identifiers associated with objects stored in the plurality of content repositories, and corresponding object metadata associated with each of the objects stored in the plurality of content repositories;

storing, by the content broker, the obtained object identifiers and corresponding object metadata in a unified object index;

receiving, by the content broker from the web application executing, a request that includes a first indicator identifying a first requested action to be performed;

in response to the received request, determining, by the content broker, a first normalized object type associated with the request, the first normalized object type associated with a plurality of different object types that are mapped to the first normalized object type;

obtaining, by the content broker, a first governance rule based on the first normalized object type; and

servicing, by the content broker, the request using the first governance rule.

11. The method of claim 10 , wherein each of the plurality of content repositories comprises a respective agent and each of the respective agents is configured to send, to the content broker, updates associated with object identifiers as associated objects are updated in the respective content repository hosting the each respective agent, wherein the content broker updates the unified object index in accordance with the sent updates.

12. The method of claim 10 , wherein the request includes a first object identifier and the first indicator identifying the first requested action to be performed on a first object identified by the first object identifier, wherein servicing the request comprises:

determining that a user that issued the request is not authorized to perform the first requested action on the first object; and

based on the determination, preventing the first requested action from being performed on the first object.

13. The method of claim 10 , wherein the first requested action includes one or more of: a read, a write, a modify, a delete, a send, or a move.

14. The method of claim 10 , wherein the first requested action is a search request, wherein servicing the request comprises:

executing, by the content broker, the search request on the unified object index.

15. The method of claim 10 , wherein the first requested action is a search request, wherein servicing the request comprises:

executing, by the content broker, the search request on metadata stored in the unified object index; and

returning, by the content broker to the web application, search results that include a set of the objects stored in the plurality of content repositories, the set including at least a first object of a first object type from a first one of the plurality of content repositories, and a second object of a second object type from a second one of the plurality of content repositories, wherein the first object type is a first content-repository specific object type and the second object type has a second content-repository specific object type that is different from the first content-repository specific object type.

16. The method of claim 10 , wherein servicing the request comprises:

providing a unique uniform resource locator (URL) to the web application, wherein the unique URL enables the web application to directly access a first object from a first one of the content repositories.

17. The method of claim 10 , wherein servicing the request comprises:

obtaining metadata associated with a first object that is mapped to the first normalized object type;

modifying at least a portion of the obtained metadata based on the first governance rule, to obtain modified metadata; and

providing the modified metadata to the web application.

18. The method of claim 10 , wherein the request is obtained via a Representational State Transfer (REST) application programming interface (API).

19. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for servicing requests associated with a content management system, the method comprising:

obtaining, by a content broker interposed between a web application and a plurality of content repositories, object identifiers from the plurality of content repositories, the object identifiers associated with objects stored in the plurality of content repositories, and corresponding object metadata associated with each of the objects stored in the plurality of content repositories, each of the plurality of content repositories having a different content-repository specific object type that corresponds to a respective object type of objects stored in the respective content repository of the plurality of content repositories;

storing, by the content broker, the obtained object identifiers and corresponding object metadata in a unified object index;

receiving, by the content broker from the web application, a request that includes a first indicator identifying a first requested action to be performed;

in response to the received request, determining, by the content broker, a first normalized object type associated with the request, the first normalized object type associated with a plurality of different object types that are mapped to the first normalized object type;

obtaining, by the content broker, a first governance rule based on the first normalized object type; and

servicing, by the content broker, the request using the first governance rule.

20. The non-transitory computer readable medium of claim 19 , wherein the requested action is a search request,

wherein servicing the request comprises:

executing, by the content broker, the search request on metadata stored in the unified object index; and

returning, by the content broker to the web application, search results that include a set of the objects stored in the plurality of content repositories, the set including at least a first object from a first one of the content repositories, and a second object from a second one of the content repositories that has a content-repository specific object type that is different from the content-repository specific object type of the first one of the content repositories.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 041140/0826 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2016
From: MOHEN, MICHAEL T.; WALIA, RAMAN; ADDAGUDURU, CHANDRA MOULI; KUMAR, PARDEEP
To: EMC CORPORATION
Reel/Frame 040403/0423 →