IP Library Granted Patent US 9,225,599
Granted Patent B2
US 9,225,599 · App. 14/107,859 · Granted Dec 29, 2015

Method and system to adapt functionality to capabilities of client and data storage

Inventors: Michael Wieczorek (Dillingen, DE); Torsten Haase (Saarbrucken, DE)
Assignee: Software AG
H04L41/0866H04L67/42
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,225,599
App. No.
14/107,859
Granted
Dec 29, 2015
Kind
B2
Abstract

A functionality is adapted to a client and server combination. Responsive to a request of a client for a functionality, pre-configured properties of the client, requested functionality, and a server on which the functionality is run are retrieved. An availability check is performed, based on the retrieved pre-configured properties of the client, server, and requested functionality, to eliminate properties of the functionality which are not capable of functioning on the client-server combination. The result of the availability check is provided as a set of properties which is available for the requested functionality to run on the client-server combination. The pre-configured properties define different property types, property values of the different property types, functionality values for each property value, and rules that instruct a processor how to perform the availability check based on the property types, the property values and the functionality values.

Claims (51)

1. A computer system that adapts a functionality to a client and server combination, comprising:

a processor, the processor is configured to:

retrieve, responsive to a request of a client for a functionality, pre-configured properties of the client, pre-configured properties of the requested functionality, and pre-configured properties of a server on which the requested functionality is run, wherein

the functionality is offered as a functionality block by an application or service that runs on a combination of the client and the server, and the functionality block contains syntax that defines the pre-configured properties,

the pre-configured properties in the functionality block define different property types, at least one property value of each of the different property types, at least one functionality value for each of the property values of each of the different property types, and at least one rule of each of the different property types,

the at least one rule instructs the processor how to perform an availability check for the different property type based on the different property type, the property values of the different property type, the functionality values of the property value of the different property type, and the at least one functionality value for the different property type;

perform the availability check, based on the retrieved pre-configured properties of the client, pre-configured properties of the server, and pre-configured properties of the requested functionality, to eliminate, from an instance of the functionality block, properties of the requested functionality which are not capable of functioning on the combination of the client and the server and to adapt, in the instance of the functionality block, behavior of the functionality to the combination of the client and the server, and

provide the instance of the functionality block as a result from the availability check as a set of properties in which the requested functionality is adapted to be executed on the combination of the client and the server.

2. The computer system of claim 1 , wherein the processor is further configured to enable execution, on the combination of the client and the server, of the requested functionality, the execution being limited to the set of properties which is the result of the availability check.

3. The computer system of claim 1 , wherein the processor is further configured so that the availability check incorporates a four-pass filter.

4. The computer system of claim 1 , wherein the rules include intersection rules and non-intersection rules, the intersection rules and the non-intersection rules being defined by the syntax contained in the functionality block, the availability check comprising:

in a first client filter, perform intersection rule preprocessing to reduce the pre-configured properties in the instance of the functionality block to ore-configured properties of the client, so as to reduce a functionality set of the client to fit with required functionality as indicated in the functionality block;

in a second client filter, performed after the first client filter, based on the non-intersection rules, remove the functionality from the instance of the functionality block when the functionality is determined to be not compatible with the pre-configured properties of the client, so as to provide functionalities not incompatible with capabilities of the client;

in a first server filter, perform intersection rule preprocessing based on the functionality set from the first client filter and the instance of the functionality block from the second client filter to further reduce the pre-configured properties in the instance of the functionality block to pre-configured properties of the server, so as to reduce a functionality set of the server to fit with the required functionality as indicated in the functionality block; and

in a second server filter, performed after the first client and server filters, based on the non-intersection rules, further remove the functionality from the instance of the functionality block when the functionality is determined to be not compatible with the pre-configured properties of the server, so as to provide functionalities not incompatible with capabilities of the server.

5. The computer system of claim 1 , wherein the availability check is performed, based on the retrieved pre-configured properties of the client, the retrieved pre-configured properties of the server, and the retrieved pre-configured properties of the requested functionality, prior to connecting the client to the server for the requested functionality.

6. The computer system of claim 1 , wherein the pre-configured properties further comprise actions that instruct the processor as to which of the pre-configured properties to allow and to filter out based on the results of application of the rules, and the processor is configured to perform the actions as part of the availability check.

7. The computer system of claim 1 , wherein the processor is further configured to define the pre-configured properties of the client, the pre-configured properties of the server and the pre-configured properties of the requested functionality using an XML schema consistent with the XML schema for client, server and functionality.

8. A method that adapts a functionality to a client and server combination, comprising:

retrieving, by a processor, responsive to a request of a client for a functionality, pre-configured properties of the client, pre-configured properties of the requested functionality, and pre-configured properties of a server on which the requested functionality is run, wherein

the functionality is offered as a functionality block by an application or service that runs on a combination of the client and the server, and the functionality block contains syntax that defines the pre-configured properties,

the pre-configured properties in the functionality block define different property types, at least one property value of each of the different property types, at least one functionality value for each of the property values of each of the different property types, and at least one rule of each of the different property types,

the at least one rule instructs the processor how to perform an availability check for the different property type based on the different property type, the property values of the different property type, the functionality values of the property value of the different property type, and the at least one functionality value for the different property type;

performing, by the processor, the availability check, based on the retrieved pre-configured properties of the client, pre-configured properties of the server, and pre-configured properties of the requested functionality, to eliminate, from an instance of the functionality block, properties of the requested functionality which are not capable of functioning on the combination of the client and the server and to adapt, in the instance of the functionality block, behavior of the functionality to the combination of the client and the server; and

providing, by the processor, the instance of the functionality block as a result from the availability check as a set of properties in which the requested functionality is adapted to be executed on the combination of the client and the server.

9. The method of claim 8 , further comprising enabling, by the processor, execution on the combination of the client and the server, of the requested functionality, the execution being limited to the set of properties which is the result of the availability check.

10. The method of claim 8 , further comprising performing, by the processor, a four-pass filter as part of the availability check.

11. The method of claim 8 , wherein the rules include intersection rules and non-intersection rules, the intersection rules and the non-intersection rules being defined by the syntax contained in the functionality block, the availability check further comprising:

in a first client filter, performing intersection rule preprocessing to reduce the pre-configured properties in the instance of the functionality block to pre-configured properties of the client, so as to reduce a functionality set of the client to fit with required functionality as indicated in the functionality block;

in a second client filter, performed after the first client filter, based on the non-intersection rules, removing the functionality from the instance of the functionality block when the functionality is determined to be not compatible with the pre-configured properties of the client, so as to provide functionalities not incompatible with capabilities of the client;

in a first server filter, performing intersection rule preprocessing based on the functionality set from the first client filter and the instance of the functionality block from the second client filter to further reduce the pre-configured properties in the instance of the functionality block to pre-configured properties of the server, so as to reduce a functionality set of the server to fit with the required functionality as indicated in the functionality block; and

in a second server filter, performed after the first client and server filters, based on the non-intersection rules, further removing the functionality from the instance of the functionality block when the functionality is determined to be not compatible with the pre-configured properties of the server, so as to provide functionalities not incompatible with capabilities of the server.

12. The method of claim 8 , wherein the availability check is performed, based on the retrieved pre-configured properties of the client, the retrieved pre-configured properties of the server, and the retrieved pre-configured properties of the requested functionality, prior to connecting the client to the server for the requested functionality.

13. The method of claim 8 , wherein the pre-configured properties further comprise actions that instruct the processor as to which of the pre-configured properties to allow and to filter out based on the results of application of the rules, further comprising performing, by the processor, the actions as part of the availability check.

14. The method of claim 8 , further comprising defining, by the processor, the pre-configured properties of the client, the pre-configured properties of the server and the pre-configured properties of the requested functionality using an XML schema consistent with the XML schema for client, server and functionality.

15. A non-transitory computer readable medium comprising executable instructions for performing a method that adapts a functionality to a client and server combination, comprising computer-executable instructions for:

retrieving, responsive to a request of a client for a functionality, pre-configured properties of the client, pre-configured properties of the requested functionality, and pre-configured properties of a server on which the requested functionality is run, wherein

the functionality is offered as a functionality block by an application or service that runs on a combination of the client and the server, and the functionality block contains syntax that defines the pre-configured properties,

the pre-configured properties in the functionality block define different property types, at least one property value of each of the different property types, at least one functionality value for each of the property values of each of the different property types, and at least one rule of each of the different property types,

the at least one rule instructs the processor how to perform an availability check for the different property type based on the different property type, the property values of the different property type, the functionality values of the property value of the different property type, and the at least one functionality value for the different property type;

performing the availability check, based on the retrieved pre-configured properties of the client, pre-configured properties of the server, and pre-configured properties of the requested functionality, to eliminate, from an instance of the functionality block, properties of the requested functionality which are not capable of functioning on the combination of the client and the server and to adapt, in the stance of the functionality block, behavior of the functionality to the combination of the client and the server; and

providing the instance of the functionality block as a result from the availability check as a set of properties in which the requested functionality is adapted to be executed on the combination of the client and the server.

16. The non-transitory computer readable medium of claim 15 , further comprising enabling execution on the combination of the client and the server, of the requested functionality, the execution being limited to the set of properties which is the result of the availability check.

17. The non-transitory computer readable medium of claim 15 , further comprising performing a four-pass filter as part of the availability check.

18. The non-transitory computer readable medium of claim 15 , wherein the rules include intersection rules and non-intersection rules, the intersection rules and the non-intersection rules being defined by the syntax contained in the functionality block, the availability check comprising:

in a first client filter, performing intersection rule preprocessing to reduce the pre-configured properties in the instance of the functionality block to pre-configured properties of the client, so as to reduce a functionality set of the client to fit with required functionality as indicated in the functionality block;

in a second client filter, performed after the first client filter, based on the non-intersection rules, removing the functionality from the instance of the functionality block when the functionality is determined to be not compatible with the pre-configured properties of the client, so as to provide functionalities not incompatible with capabilities of the client;

in a first server filter, performing intersection rule preprocessing based on the functionality set from the first client filter and the instance of the functionality block from the second client filter to further reduce the pre-configured properties in the instance of the functionality block to pre-configured properties of the server, so as to reduce a functionality set of the server to fit with the required functionality as indicated in the functionality block; and

in a second server filter, performed after the first client and server filters, based on the non-intersection rules, further removing the functionality from the instance of the functionality block when the functionality is determined to be not compatible with the pre-configured properties of the server, so as to provide functionalities not incompatible with capabilities of the server.

19. The non-transitory computer readable medium of claim 15 , wherein the pre-configured properties further comprise actions that instruct a processor as to which of the pre-configured properties to allow and to filter out based on the results of application of the rules, further comprising performing the actions as part of the availability check.

20. The non-transitory computer readable medium of claim 15 , further comprising defining the pre-configured properties of the client, the pre-configured properties of the server and the pre-configured properties of the requested functionality using an XML schema consistent with the XML schema for client, server and functionality.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2025
From: SOFTWARE GMBH
To: SAG ARIS GMBH
Reel/Frame 072867/0138 →
MERGER Recorded Dec 17, 2024
From: SOFTWARE AG
To: MOSEL BIDCO AG
Reel/Frame 069888/0666 →
CHANGE OF NAME Recorded Dec 17, 2024
From: MOSEL BIDCO AG
To: SOFTWARE GMBH
Reel/Frame 069888/0673 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2013
From: WIECZOREK, MICHAEL; HAASE, TORSTEN
To: SOFTWARE AG
Reel/Frame 031792/0091 →
Continuity (1)
Related Publication 20150172123A1 · Jun 18, 2015