System and method for an efficient and scalable multitenant implementation for content management services platforms, including cloud deployed content management services platforms

US11200095B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11200095-B2
Application numberUS-201916579357-A
CountryUS
Kind codeB2
Filing dateSep 23, 2019
Priority dateSep 23, 2019
Publication dateDec 14, 2021
Grant dateDec 14, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments of a multitenant content server that employs embodiments of a database architecture for use in multitenant environments that includes a global partition and a tenant partition for each tenant. These partitions can be accessed using sessions corresponding to the partitions and interfaces associated with the tenants.

First claim

Opening claim text (preview).

What is claimed is: 1. A web services system, comprising: a multitenant content server deployed on a services platform; a database layer, comprising a database; a non-transitory computer readable medium, comprising instructions for: establishing a global partition in the database, where the global partition comprises one or more system tables including data on a plurality of objects associated with a plurality of tenants of the content server; establishing a global session on the content server, the global session adapted to access the global partition of the database; receiving a first request for establishing a first tenant at the content server; in response to the first request, connecting to the global session, and using the global session to establish the first tenant partition in the database for the first tenant of the content server, including updating the system tables in the global partition with a first identifier associated with the first tenant; receiving a second request for establishing a second tenant at the content server; in response to the second request, connecting to the global session, and using the global session to establish the second tenant partition in the database for the second tenant of the content server, including updating the system tables in the global partition with a second identifier associated with the second tenant; in response to receiving a third request from a first user at a first client application: determining that the third request is associated with the first tenant; based on the determination that the third request is associated with the first tenant, establishing a first session at the content server, the first session associated with the first client application, identifying the first tenant using the first identifier, and adapted to limit access to the global session or the first tenant partition; in response to receiving a fourth request from a second user at a second client application: determining that the fourth request is associated with the second tenant; based on the determination that the fourth request is associated with the second tenant, establishing a second session at the content server, the second session associated with the second client application, identifying the second tenant using the second identifier, and adapted to limit access to the global session or the second tenant partition; receiving a fifth request at the content server; determining if the fifth request is associated with the first tenant or the second tenant; based on a determination that the fifth request is associated with the first tenant, performing the fifth request using the first session associated with the first tenant by accessing the global partition in the database to determine a location of the content stored in the first tenant partition and accessing the first tenant partition using the first session to perform the fifth request in association with the content stored in the first tenant partition; and based on a determination that the fifth request is associated with the second tenant, performing the fifth request using the second session associated with the second tenant by accessing the global partition in the database to determine a location of the content stored in the second tenant partition and accessing the second tenant partition using the second session to perform the request in association with the content stored in the second tenant partition. 2. The system of claim 1 , wherein the first session is associated with a first database connection object adapted to access the first partition of the database, and the second session is associated with a second database connection object adapted to access the second partition of the database. 3. The system of claim 1 , wherein the first session includes a first tenant object cache adapted to only store data stored in the first tenant partition and the second session includes a second tenant object cache adapted to only store data stored in the second tenant partition. 4. The system of claim 3 , wherein the global session includes a global object cache adapted to only store data stored in the global partition. 5. The system of claim 1 , wherein the first request and second request are received through a global interface associated with the global partition, in response to the reception of the first request and establishment of the first partition, adapting a first interface for the first tenant, and in response to the reception of the second request and establishment of the second partition, adapting a second interface for the second tenant. 6. The system of claim 5 , wherein the fifth request is received at a first tenant interface associated with the first tenant or at a second tenant interface associated with the second tenant. 7. The system of claim 1 , wherein determining that the first request is associated with the first tenant or determining that the first request is associated with the second tenant is based on user authentication credentials. 8. A method, comprising: establishing a global partition in a database at a multitenant content server deployed on a services platform, where the global partition comprises one or more system tables including data on a plurality of objects associated with a plurality of tenants of the content server; establishing a global session on the content server, the global session adapted to access the global partition of the database; receiving a first request for establishing a first tenant at the content server; in response to the first request, connecting to the global session, and using the global session to establish the first tenant partition in the database for the first tenant of the content server, including updating the system tables in the global partition with a first identifier associated with the first tenant; receiving a second request for establishing a second tenant at the content server; in response to the second request, connecting to the global session, and using the global session to establish the second tenant partition in the database for the second tenant of the content server, including updating the system tables in the global partition with a second identifier associated with the second tenant; in response to receiving a third request from a first user at a first client application: determining that the third request is associated with the first tenant; based on the determination that the third request is associated with the first tenant, establishing a first session at the content server, the first session associated with the first client application, identifying the first tenant using the first identifier, and adapted to limit access to the global session or the first tenant partition; in response to receiving a fourth request from a second user at a second client application: determining that the fourth request is associated with the second tenant; based on the determination that the fourth request is associated with the second tenant, establishing a second session at the content server, the second session associated with the second client application, identifying the second tenant using the second identifier, and adapted to limit access to the global session or the second tenant partition; receiving a fifth request at the content server; determining if the fifth request is associated with the first tenant or the second tenant; based on a determination that the fifth request is associated with the first tenant, performing the fifth request using the first session associated with the first tenant by accessing the global partition in the database to determine a location of the content stored in the first tenant partition and accessing the first t

Assignees

Inventors

Classifications

  • Grid computing · CPC title

  • User authentication · CPC title

  • Distributed file systems · CPC title

  • the resource being the memory · CPC title

  • G06F9/5061Primary

    Partitioning or combining of resources · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11200095B2 cover?
Embodiments of a multitenant content server that employs embodiments of a database architecture for use in multitenant environments that includes a global partition and a tenant partition for each tenant. These partitions can be accessed using sessions corresponding to the partitions and interfaces associated with the tenants.
Who is the assignee on this patent?
Open Text Holdings Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/5061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 14 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).