IP Library Granted Patent US 9,378,468
Granted Patent B2
US 9,378,468 · App. 12/979,035 · Granted Jun 28, 2016

Generic boxed components for multi-client systems

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 9,378,468
App. No.
12/979,035
Granted
Jun 28, 2016
Kind
B2
Abstract

In one embodiment, a method includes defining a parent structure including an extension. A polymorphic structure is defined for the extension. The polymorphic structure is associated with a plurality of client specialization structures, each client specialization being associated with a client in a plurality of clients. During runtime by a computing device, the parent structure is generated with an extension to a client specialization structure associated with one of the plurality of clients where client specialization structures associated with other clients are not visible to the parent structure.

Claims (54)

1. A method comprising:

storing a parent data structure including an extension in a data store;

providing a polymorphic structure that is associated with the extension in the data store, the polymorphic structure being associated with a plurality of client specialization structures for a plurality of clients, wherein the plurality of client specialization structures include client-specific information stored in the data store;

determining, by a computing device, a compiled application for providing a service to the plurality of clients that execute the compiled application, wherein the compiled application does not contain client-specific information found in the plurality of client specializations and the plurality of clients have access to their own client-specific information in the plurality of client specializations through the compiled application;

executing, by the computing device, the compiled application to allow a first client to access the service provided by the compiled application; and

generating, by the computing device, during executing of the compiled application, the polymorphic structure to include a first client specialization structure associated with the first client in the plurality of clients, wherein:

the compiled application uses the extension in the parent data structure to access client-specific information for the first client in the first client specialization structure of the polymorphic structure,

client specialization structures associated with other clients are not accessible through the extension in the parent data structure, and

a generated polymorphic structure including client-specific information for a second client associated with a second client specialization structure of the polymorphic structure includes different client-specific information for the second client in the second client specialization structure from the first client specialization structure and is accessible though the extension in the parent data structure.

2. The method of claim 1 , further comprising:

adding information for the second client specialization structure associated with the second client in the plurality of clients; and

creating a component in the second client specialization structure for the second client.

3. The method of claim 2 , wherein the compiled application that uses the parent data structure is not recompiled upon creating the component.

4. The method of claim 2 , wherein the compiled application uses the parent data structure to access the polymorphic structure including a third client specialization structure that includes the created component for the second client, wherein the parent data structure is not being recompiled.

5. The method of claim 1 , further comprising:

creating a set of switches for a set of components in the first client specialization structure associated with the first client; and

using the set of switches to determine which components to include in the first client specialization structure during executing of the compiled application.

6. The method of claim 5 , wherein each component in the first client specialization structure is associated with a switch in the set of switches, each switch indicating whether to include each component in the set of components in the first client specialization structure.

7. The method of claim 5 , wherein each client in the plurality of clients includes client-specific switches associated with client-specific components.

8. The method of claim 1 , wherein static access to the first client specialization structure and the second client specialization structure is not allowed.

9. The method of claim 1 , wherein dynamic access to the first client specialization structure generated during executing of the compiled application is allowed during runtime of the compiled application.

10. The method of claim 1 , wherein client specialization structures for the polymorphic structure are different per client in the plurality of clients.

11. The method of claim 1 , wherein contents of the polymorphic structure are not known before the application was compiled, wherein the polymorphic structure includes the first client specialization structure during executing of the compiled application.

12. A non-transitory computer-readable storage medium containing instructions for controlling a computer system to be operable to:

store a parent data structure including an extension in a data store;

provide a polymorphic structure that is associated with the extension in the data store, the polymorphic structure being associated with a plurality of client specialization structures for a plurality of clients, wherein the plurality of client specialization structures include client-specific information stored in the data store;

determine a compiled application for providing a service to the plurality of clients that execute the compiled application, wherein the compiled application does not contain client-specific information found in the plurality of client specializations and the plurality of clients have access to their own client-specific information in the plurality of client specializations through the compiled application;

execute the compiled application to allow a first client to access the service provided by the compiled application; and

generate, during executing of the compiled application, the polymorphic structure to include a first client specialization structure associated with the first client in the plurality of clients, wherein:

the compiled application uses the extension in the parent data structure to access client-specific information for the first client in the first client specialization structure of the polymorphic structure,

client specialization structures associated with other clients are not accessible through the extension in the parent data structure, and

a generated polymorphic structure including client-specific information for a second client associated with a second client specialization structure of the polymorphic structure includes different client-specific information for the second client in the second client specialization structure from the first client specialization structure and is accessible though the extension in the parent data structure.

13. The computer-readable storage medium of claim 12 , further operable to:

add information for the second client specialization structure associated with the second client in the plurality of clients; and

create a component in the second client specialization structure for the second client.

14. The computer-readable storage medium of claim 13 , wherein the compiled application that uses the parent data structure is not recompiled upon creating the component.

15. The computer-readable storage medium of claim 12 , further operable to

create a set of switches for a set of components in the second client specialization structure associated with the first client; and

use the set of switches to determine which components to include in the first client specialization structure during executing of the compiled application.

16. The computer-readable storage medium of claim 12 , wherein static access to the first client specialization structure and the second client specialization structure is not allowed.

17. The computer-readable storage medium of claim 12 , wherein dynamic access to the first client specialization structure generated during executing of the compiled application is allowed during runtime of the compiled application.

18. The computer-readable storage medium of claim 12 , wherein client specialization structures for the polymorphic structure are different per client in the plurality of clients.

19. The computer-readable storage medium of claim 12 , wherein contents of the polymorphic structure are not known before the application was compiled, wherein the polymorphic structure includes the first client specialization structure during executing of the compiled application.

20. An apparatus comprising:

one or more computer processors; and

a computer-readable storage medium comprising instructions for controlling the one or more computer processors to be operable to:

store a parent data structure including an extension in a data store;

provide a polymorphic structure that is associated with the extension in the data store, the polymorphic structure being associated with a plurality of client specialization structures for a plurality of clients, wherein the plurality of client specialization structures include client-specific information stored in the data store;

determine a compiled application for providing a service to the plurality of clients that execute the compiled application, wherein the compiled application does not contain client-specific information found in the plurality of client specializations and the plurality of clients have access to their own client-specific information in the plurality of client specializations through the compiled application;

execute the compiled application to allow a first client to access the service provided by the compiled application; and

generate, during executing of the compiled application, the polymorphic structure to include a first client specialization structure associated with the first client in the plurality of clients, wherein:

the compiled application uses the extension in the parent data structure to access client-specific information for the first client in the first client specialization structure of the polymorphic structure,

client specialization structures associated with other clients are not accessible through the extension in the parent data structure, and

a generated polymorphic structure including client-specific information for a second client associated with a second client specialization structure of the polymorphic structure includes different client-specific information for the second client in the second client specialization structure from the first client specialization structure and is accessible though the extension in the parent data structure.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2010
From: BAUMGARTEN, KAI; BLUMENTHAL, ANDREAS; HAMMER, ROLF; HOEFT, KERSTIN; LIEBERUM, JENS; PRESTEL, HELMUT; SCHMITT, ANDREAS S.; WALTER, WELF N.; WENDELGASS, RALF; WORTMANN, SIGRID K.
To: SAP AG
Reel/Frame 025539/0825 →