# US 9,519,730 B2 · System, method and architecture for a document as a node on a social graph

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,519,730 B2
- Document ID: US9519730B2
- Status: Granted
- Kind: B2
- Application number: 14/970,883
- Filed: 2015-12-16
- Published: 2016-05-12
- Granted: 2016-12-13
- Earliest claimed: 2014-11-07
- Assignees: Open Text SA ULC
- Applicants: Open Text S.A.
- Inventors: Geoffrey Michael Obbard; Quinton James Roberts
- Web page: https://patentgrep.com/patent/US9519730B2

## CPC

- H04L 67/306: User profiles
- G06F 16/211: {Schema design and management}
- G06F 16/248: Presentation of query results
- G06F 16/289: {Object oriented databases}
- G06F 16/31: Indexing; Data structures therefor; Storage structures
- G06F 16/33: Querying
- G06F 16/335: Filtering based on additional data, e.g. user or group profiles (filtering in web context G06F16/9535, G06F16/9536)
- G06F 16/383: using metadata automatically derived from the content
- G06F 16/387: using geographical or spatial information, e.g. location
- G06F 16/43: Querying
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 16/93: Document management systems
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06Q 10/40: Business processes related to social networking or social networking services
- G06Q 10/42: Determination of affinities or common interests between users
- G06Q 10/44: Identification of trends within social networks, e.g. identification of trending topics
- G06Q 10/48: using social graphs
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A content management system may instantiate, from the same super class defined in a database schema, principal objects representing users and groups and content objects representing documents and folders. The principal objects and the content objects share the same social interaction functions. When a content object is modified, the system can create a message in which the content object identifies itself as a first person, update a message table such that any follower of the content object is notified of the message, and update a profile or feed associated with the content object. At least because content objects can “socialize” like principal objects, the system can generate a social graph containing content objects as nodes, map relationships among principal objects and content objects, and make recommendations to perhaps change/enhance such relationships.

## Claims

### Claim 1

A method, comprising:
at a decision engine embodied on non-transitory computer memory including instructions translatable by at least one processor:
accessing a social graph containing nodes and edges, the nodes representing principal objects and content objects in a content management system operating in a network computing environment, the edges representing relationships among the principal objects and the content objects, the principal objects instantiated from a super class, each of the principal objects representing a user or group of the content management system, the content objects instantiated from the super class, each of the content objects representing a document or folder managed by the content management system, the content objects inheriting from the super class same social interaction functions as the principal objects;
analyzing the social graph to assess the relationships among the principal objects and the content objects;
determining a modification to the relationships among the principal objects and the content objects based at least in part on a result from the analyzing;
initiating an operation to implement the modification to the relationships among the principal objects and the content objects, the operation including updating the social graph to establish, change, or remove an edge between two nodes; and
storing the updated social graph in a database.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the modification to the relationships among the principal objects and the content objects is determined based on a popularity measure relative to the principal objects and the content objects.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the same social interaction functions include a method for following an object instantiated from the super class and wherein the operation comprises an application programming call to the method for a first principal object of the principal objects or a first content object of the content objects to start following a second principal object of the principal objects or a second content object of the content objects.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the same social interaction functions include a method for following an object instantiated from the super class and wherein the operation comprises an application programming call to the method for a first principal object of the principal objects or a first content object of the content objects to stop following a second principal object of the principal objects or a second content object of the content objects.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the decision engine comprises a recommendation component configured for performing analyses on the relationships among the principal objects and the content objects and generating at least one recommendation to at least one of a user, a group, a document, or a folder in the content management system.

### Claim 6 (depends on 5)

The method according to claim 5, wherein the at least one recommendation comprises a recommendation that a content object follows another content object in the content management system and wherein the recommendation component is further configured for sending a message containing the recommendation to a user who manages the content object in the content management system.

### Claim 7 (depends on 1)

The method according to claim 1, wherein the decision engine is configured for monitoring events relating to the content management system, the events comprising at least one event occurring in association with the social graph.

### Claim 8

A system, comprising:
a social graph containing nodes and edges, the nodes representing principal objects and content objects in a content management system operating in a network computing environment, the edges representing relationships among the principal objects and the content objects, the principal objects instantiated from a super class, each of the principal objects representing a user or group of the content management system, the content objects instantiated from the super class, each of the content objects representing a document or folder managed by the content management system, the content objects inheriting from the super class same social interaction functions as the principal objects; and
a decision engine embodied on non-transitory computer memory including instructions translatable by at least one processor for:
accessing the social graph;
analyzing the social graph to assess the relationships among the principal objects and the content objects;
determining a modification to the relationships among the principal objects and the content objects based at least in part on a result from the analyzing;
initiating an operation to implement the modification to the relationships among the principal objects and the content objects, the operation including updating the social graph to establish, change, or remove an edge between two nodes; and
storing the updated social graph in a database.

### Claim 9 (depends on 8)

The system of claim 8, wherein the modification to the relationships among the principal objects and the content objects is determined based on a popularity measure relative to the principal objects and the content objects.

### Claim 10 (depends on 8)

The system of claim 8, wherein the same social interaction functions include a method for following an object instantiated from the super class and wherein the operation comprises an application programming call to the method for a first principal object of the principal objects or a first content object of the content objects to start following a second principal object of the principal objects or a second content object of the content objects.

### Claim 11 (depends on 8)

The system of claim 8, wherein the same social interaction functions include a method for following an object instantiated from the super class and wherein the operation comprises an application programming call to the method for a first principal object of the principal objects or a first content object of the content objects to stop following a second principal object of the principal objects or a second content object of the content objects.

### Claim 12 (depends on 8)

The system of claim 8, wherein the decision engine comprises a recommendation component configured for performing analyses on the relationships among the principal objects and the content objects and generating at least one recommendation to at least one of a user, a group, a document, or a folder in the content management system.

### Claim 13 (depends on 12)

The system of claim 12, wherein the at least one recommendation comprises a recommendation that a content object follows another content object in the content management system and wherein the recommendation component is further configured for sending a message containing the recommendation to a user who manages the content object in the content management system.

### Claim 14 (depends on 8)

The system of claim 8, wherein the decision engine is configured for monitoring events relating to the content management system, the events comprising at least one event occurring in association with the social graph.

### Claim 15

A computer program product comprising at least one non-transitory computer readable medium storing instructions translatable by at least one processor for a decision engine to:
access a social graph containing nodes and edges, the nodes representing principal objects and content objects in a content management system operating in a network computing environment, the edges representing relationships among the principal objects and the content objects, the principal objects instantiated from a super class, each of the principal objects representing a user or group of the content management system, the content objects instantiated from the super class, each of the content objects representing a document or folder managed by the content management system, the content objects inheriting from the super class same social interaction functions as the principal objects;
analyze the social graph to assess the relationships among the principal objects and the content objects;
determine a modification to the relationships among the principal objects and the content objects based at least in part on a result from the analyzing;
initiate an operation to implement the modification to the relationships among the principal objects and the content objects, the operation including updating the social graph to establish, change, or remove an edge between two nodes; and
store the updated social graph in a database.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the modification to the relationships among the principal objects and the content objects is determined based on a popularity measure relative to the principal objects and the content objects.

### Claim 17 (depends on 15)

The computer program product of claim 15, wherein the same social interaction functions include a method for following an object instantiated from the super class and wherein the operation comprises an application programming call to the method for a first principal object of the principal objects or a first content object of the content objects to start following a second principal object of the principal objects or a second content object of the content objects.

### Claim 18 (depends on 15)

The computer program product of claim 15, wherein the same social interaction functions include a method for following an object instantiated from the super class and wherein the operation comprises an application programming call to the method for a first principal object of the principal objects or a first content object of the content objects to stop following a second principal object of the principal objects or a second content object of the content objects.

### Claim 19 (depends on 15)

The computer program product of claim 15, wherein the decision engine comprises a recommendation component configured for performing analyses on the relationships among the principal objects and the content objects and generating at least one recommendation to at least one of a user, a group, a document, or a folder in the content management system.

### Claim 20 (depends on 19)

The computer program product of claim 19, wherein the at least one recommendation comprises a recommendation that a content object follows another content object in the content management system and wherein the recommendation component is further configured for sending a message containing the recommendation to a user who manages the content object in the content management system.
