IP Library Granted Patent US 8,943,075
Granted Patent B1
US 8,943,075 · App. 12/290,641 · Granted Jan 27, 2015

Shared tenancy classes in a service model architecture

Inventors: Salvador Maiorano (Dublin, CA); Kashif Qayyum (Fremont, CA); Jon Ruggiero (Walnut Creek, CA)
Assignee: Workday, Inc.
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 8,943,075
App. No.
12/290,641
Granted
Jan 27, 2015
Kind
B1
Abstract

An object class is disclosed. The object class comprises a mixed-tenanted object class. An instance of the mixed tenanted object class is indicated as tenanted or is indicated as non-tenanted.

Claims (44)

1. A system for object class storage, comprising:

A processor configured to:

store a mixed-tenanted object class;

store a tenanted child class that inherits from the mixed-tenanted object class;

store a non-tenanted child class that inherits from the mixed-tenanted object class;

store an instance of the mixed-tenanted object class, wherein the instance is indicated as tenanted or non-tenanted, wherein the instance that is indicated as tenanted comprises an instance of the tenanted child class inheriting from the mixed-tenanted object class or wherein the instance that is indicated as non-tenanted comprises an instance of the non-tenanted child class inheriting from the mixed-tenanted object class, wherein the instance of the tenanted child class is accessible and modifiable only by a user associated with the tenant, and wherein the instance of the non-tenanted child class is accessible but not modifiable by any tenant;

retrieve an object instance at an end of a branch of an object tree;

determine whether the object instance has a class that is mixed-tenanted;

in the event that the object instance has a class that is mixed-tenanted, determine whether the object instance is of the tenanted child class;

in the event that the object instance is of the tenanted child class, determine whether the user retrieving the object instance is a member of the tenant to which the tenanted child class belongs to;

in the event that the user is the member of the tenant, return the object instance; and

in the event that the user retrieving the object instance is not a member of the tenant to which the tenanted child class belongs to, discard the retrieved object instance;

A memory coupled to the processor, wherein the memory is configured to provide the processor with instructions.

2. The system of claim 1 , wherein the instance of the mixed-tenanted object class that is indicated as tenanted was created by a tenant.

3. The system of claim 1 , wherein the tenanted child class is used for customization.

4. The system of claim 1 , wherein the instance of the mixed-tenanted object class that is indicated as tenanted is not updated during a system upgrade.

5. The system as in claim 1 , wherein the processor is further configured to in the event that the object instance is of the non-tenanted child class, return the object instance.

6. The system as in claim 3 , wherein tenanted child class is customized by the user by adding or overwriting one or more of the following: methods, attributes or relations.

7. The system of claim 1 , wherein the instance of the mixed-tenanted object class that is indicated as non-tenanted is updated during a system upgrade.

8. A method for processing an instance of an object, comprising:

storing, using a processor, a mixed-tenanted object class;

storing a tenanted child class that inherits from the mixed-tenanted object class;

storing a non-tenanted child class that inherits from the mixed-tenanted object class;

storing an instance of the mixed-tenanted object class, wherein the instance of the mixed tenanted object class is indicated as tenanted or non-tenanted, wherein the instance that is indicated as tenanted comprises an instance of the tenanted child class inheriting from the mixed-tenanted object class or wherein the instance that is indicated as non-tenanted comprises an instance of the non-tenanted child class inheriting from the mixed-tenanted object class, wherein the instance of the tenanted child class is accessible and modifiable only by a user associated with the tenant, and wherein the instance of the non-tenanted child class is accessible but not modifiable by any tenant;

retrieving an object instance at an end of a branch of an object tree;

determining whether the object instance has a class that is mixed-tenanted;

in the event that the object instance has a class that is mixed-tenanted, determining whether the object instance is of the tenanted child class;

in the event that the object instance is of the tenanted child class, determining whether the user retrieving the object instance is a member of the tenant to which the tenanted child class belongs to;

in the event that the user is the member of the tenant, returning the object instance; and

in the event that the user retrieving the object instance is not a member of the tenant to which the tenanted child class belongs to, discarding the retrieved object instance.

9. The method as in claim 8 , wherein the instance of the mixed-tenanted object class that is indicated to be tenanted is not to be updated during a system upgrade.

10. The method as in claim 8 , further comprising in the event that the object instance is of the non-tenanted child class, return the object instance.

11. The method as in claim 8 , wherein the instance of the mixed-tenanted object class that is indicated as non-tenanted is updated during a system upgrade.

12. A computer program product for processing an instance of an object, the computer program product being embodied in a non-transitory computer readable medium and comprising computer instructions for:

storing, using a processor, a mixed-tenanted object class;

storing a tenanted child class that inherits from the mixed-tenanted object class;

storing a non-tenanted child class that inherits from the mixed-tenanted object class;

storing an instance of the mixed-tenanted object class, wherein the instance of the mixed tenanted object class is indicated as tenanted or non-tenanted, wherein the instance that is indicated as tenanted comprises an instance of the tenanted child class inheriting from the mixed-tenanted object class or wherein the instance that is indicated as non-tenanted comprises an instance of the non-tenanted child class inheriting from the mixed-tenanted object class, wherein the instance of the tenanted child class is accessible and modifiable only by a user associated with the tenant, and wherein the instance of the non-tenanted child class is accessible but not modifiable by any tenant;

retrieving an object instance at an end of a branch of an object tree;

determining whether the object instance has a class that is mixed-tenanted;

in the event that the object instance has a class that is mixed-tenanted, determining whether the object instance is of the tenanted child class;

in the event that the object instance is of the tenanted child class, determining whether the user retrieving the object instance is a member of the tenant to which the tenanted child class belongs to;

in the event that the user is the member of the tenant, returning the object instance; and

in the event that the user retrieving the object instance is not a member of the tenant to which the tenanted child class belongs to, discarding the retrieved object instance.

Assignments (2)
MERGER Recorded May 16, 2014
From: WORKDAY, INC.
To: WORKDAY, INC.
Reel/Frame 032917/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2009
From: MAIORANO, SALVADOR; QAYYUM, KASHIF; RUGGIERO, JON
To: WORKDAY, INC.
Reel/Frame 022158/0397 →