IP Library › Granted Patent US 7,689,593
Granted Patent B2
US 7,689,593 · App. 11/320,784 · Granted Mar 30, 2010

Systems and methods for accessing a shared space in a provider-tenant environment

Assignee: SAP AG
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 7,689,593
App. No.
11/320,784
Granted
Mar 30, 2010
Kind
B2
Abstract

The present invention discloses methods and systems for hosting tenants in a computer-based environment in which a provider stores a shared data structure. Each of the tenants may store shared-metadata referencing the shared data structure, while a first tenant may store a tenant-specific data structure specific to the first tenant for access by the first tenant. Based on the shared-metadata and in response to a data request from the first tenant, the system may the query the provider or the first tenant for requested data and provide the requested data based on the querying.

Claims (67)

1. A computer-implemented method for hosting, at a provider, a plurality of tenants over a network, the method comprising:

analyzing, at the provider, attributes of a plurality of data structures;

based on the analysis, determining which of the plurality of data structures is a tenant-specific data structure specific to a first tenant of the plurality of tenants, and determining which of the plurality of data structures is a shared data structure shared by the plurality of tenants;

generating a tenant-specific designation to identify a data structure of the plurality of data structures as being specific to the first tenant, and generating a shared designation to identify a data structure of the plurality of data structures as being shared by the plurality of tenants;

appending the tenant-specific designation to the tenant-specific data structure, and appending the shared designation to the shared data structure;

storing, at the provider, the shared data structure;

generating shared-metadata based on the shared data structure stored at the provider;

storing, at the first tenant, the tenant-specific data structure specific to the first tenant for access by the first tenant;

querying, based on the shared-metadata and in response to a data request from the first tenant, at least one of a provider server and a tenant server of the first tenant for the requested data;

storing, at the first tenant, the shared-metadata defining an attribute of at least one of the shared data structure and the tenant-specific data structure;

querying the provider or the first tenant dependent on whether the attribute indicates the requested data structure is a shared data structure or a tenant-specific data structure; and

providing the requested data based on the querying.

2. The computer-implemented method of claim 1 , further comprising:

querying, based on the attribute, the provider and the first tenant for the requested data.

3. The computer-implemented method of claim 1 , further comprising:

storing, at a second tenant of the plurality of tenants, a tenant-specific data structure specific to the second tenant for access by the second tenant; and

storing, at the provider, the tenant-specific data structure specific to the first tenant and the tenant-specific data structure specific to the second tenant.

4. The computer-implemented method of claim 1 , wherein querying further comprises:

querying the provider if the attribute indicates the requested data structure is stored at the provider; and

querying the first tenant if the attribute indicates the requested data is stored at the first tenant.

5. The computer-implemented method of claim 1 , wherein the attribute indicates whether a particular data structure is shared by the plurality of tenants or specific to the first tenant.

6. The computer-implemented method of claim 1 , further comprising:

updating, by the provider, the shared-metadata based on data structure changes at the provider.

7. The computer-implemented method of claim 1 , further comprising:

enabling the first tenant to have read-only access to the shared data structure.

8. A system, comprising at least a processor and a database, wherein the system comprises:

means for analyzing, at the provider, attributes of a plurality of data structures;

means for determining, based on the analysis, which of the plurality of data structures is a tenant-specific data structure specific to a first tenant of the plurality of tenants, and determining which of the plurality of data structures is a shared data structure shared by the plurality of tenants;

means for generating a tenant-specific designation to identify a data structure of the plurality of data structures as being specific to the first tenant, and generating a shared designation to identify a data structure of the plurality of data structures as being shared by the plurality of tenants;

means for appending the tenant-specific designation to the tenant-specific data structure, and appending the shared designation to the shared data structure;

means for storing, at the provider, the shared data structure;

means for generating shared-metadata based on the shared data structure stored at the provider;

means for storing, at the first tenant, the tenant-specific data structure specific to the first tenant for access by the first tenant;

means for storing, in a respective tenant server at each of the plurality of tenants, the shared-metadata referencing the shared data structure;

means for querying, based on the shared-metadata and in response to a data request from the first tenant, at least one of a provider server and the respective tenant server of the first tenant for the requested data;

means for storing, at the first tenant, the shared-metadata defining an attribute of at least one of the shared data structure and the tenant-specific data structure;

means for querying the provider if the attribute indicates the requested data structure is a shared data structure;

means for querying the first tenant if the attribute indicates the requested data is a tenant-specific data structure; and

means for providing the requested data based on the querying.

9. The system of claim 8 , wherein the provider further comprises:

means for querying, based on the attribute, the provider and the first tenant for the requested data.

10. The system of claim 8 , wherein the provider further comprises:

means for storing, at a second tenant of the plurality of tenants, a tenant-specific data structure specific to the second tenant for access by the second tenant; and

means for storing, at the provider, the tenant-specific data structure specific to the first tenant and the tenant-specific data structure specific to the second tenant.

11. The system of claim 8 , wherein the provider further comprises:

means for querying the provider if the attribute indicates the requested data structure is stored at the provider; and

means for querying the first tenant if the attribute indicates the requested data is stored at the first tenant.

12. The system of claim 8 , wherein the attribute indicates whether a particular data structure is shared by the plurality of tenants or specific to the first tenant.

13. The system of claim 8 , wherein the provider further comprises:

means for updating, by the provider, the shared-metadata based on data structure changes at the provider.

14. The system of claim 8 , wherein the provider further comprises:

means for enabling the first tenant to have read-only access to the shared data structure.

15. The system of claim 8 , wherein the provider further comprises:

means for enabling a tenant to access the at least one shared data structure and means for forbidding the tenant from writing data to the provider.

16. A computer-implemented method for hosting, at a provider, a plurality of tenants over a network, comprising:

analyzing, at the provider, attributes of a plurality of data structures;

based on the analysis, determining which of the plurality of data structures is a tenant-specific data structure specific to a first tenant of the plurality of tenants, and determining which of the plurality of data structures is a shared data structure shared by the plurality of tenants;

generating a tenant-specific designation to identify a data structure of the plurality of data structures as being specific to the first tenant, and generating a shared designation to identify a data structure of the plurality of data structures as being shared by the plurality of tenants;

appending the tenant-specific designation to the tenant-specific data structure, and appending the shared designation to the shared data structure;

storing, at the provider, the shared data structure;

generating shared-metadata based on the shared data structure stored at the provider;

storing, in a respective tenant server at each of the plurality of tenants, the shared-metadata referencing the shared data structure;

querying, in response to a data request from one of the plurality of tenants, a provider server for the stored shared data structure based on the shared-metadata;

storing, at the first tenant, the shared-metadata defining an attribute of at least one of the shared data structure and the tenant-specific data structure;

querying the provider if the attribute indicates the requested data structure is a shared data structure;

querying the first tenant if the attribute indicates the requested data is a tenant-specific data structure; and

providing the requested data based on the querying.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2006
From: BECKER, WOLFGANG
To: SAP AG
Reel/Frame 017757/0286 →
Continuity (1)
Related Publication 20070156650A1 · Jul 5, 2007