# US 8,572,562 B2 · Method, apparatus and systems thereof for implementing non-function logic extensibly

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,572,562 B2
- Document ID: US8572562B2
- Status: Granted
- Kind: B2
- Application number: 12/209,256
- Filed: 2008-09-12
- Published: 2009-03-19
- Granted: 2013-10-29
- Earliest claimed: 2007-09-14
- Assignees: International Business Machines Corporation
- Applicants: He Yuan Huang; Hua Fang Tan; Jian Xu; Jun Zhu
- Inventors: He Yuan Huang; Hua Fang Tan; Jian Xu; Jun Zhu
- Web page: https://patentgrep.com/patent/US8572562B2

## CPC

- G06F 8/316: {Aspect-oriented programming techniques}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method, apparatus, system, and computer program products for implementing non-function logic extensibly and independently of functional logic, the method comprising the steps of: acquiring association relationship between a policy and a required plug-in based on a loaded policy demand configuration; generating a plug-in context definition according to the acquired association relationship, the plug-in context definition being part of a plug-in context associated with the plug-in, wherein the plug-in context defines services provided by the plug-in and reference to other plug-ins related to the plug-in; and generating a plug-in context object based on the plug-in context definition, wherein the plug-in context object is an instantiated plug-in context definition. According to the method of the present invention, it is possible to perform inexplicit invocation of infrastructure service plug-ins according to application configuration without querying plug-in registry, and better performance is acquired in the process of invoking plug-ins.

## Claims

### Claim 1

A method executed by a central processing unit (CPU) of implementing non-function logic for a plurality of applications extensibly and independently of functional logic for each of the plurality of applications, comprising the steps of:
acquiring an association relationship between a policy and a plug-in required by the application based on a loaded policy demand configuration of the application by querying a plug-in registry containing information on description of the plug-ins and on relationships between the plug-ins based on the policy demand configuration;
generating a plug-in context definition according to the acquired association relationship, the plug-in context definition being part of a plug-in context associated with the plug-in, wherein the plug-in context defines services provided by the plug-in and reference to other plug-ins related to the plug-in;
generating an application runtime object based on a component definition;
generating a plug-in context object based on the plug-in context definition, wherein the plug-in context object is an instantiated plug-in context definition; and
associating the plug-in context object to the application runtime object so as to implement a function of the plug-in for the application.

### Claim 2 (depends on 1)

The method as claimed in claim 1, wherein the step of acquiring association relationship between a policy and a required plug-in based on a loaded policy demand configuration further includes:
querying a policy registry containing information on policies supported by the plug-ins and on relationships between the policies based on the policy demand configuration; and
mapping the policy demand configuration to corresponding plug-in by further querying the plug-in registry based on the result of querying the policy registry so as to acquire the association relationship between the policy and the required plug-in, wherein the plug-in registry contains information on description of the plug-ins and on relationships between the plug-ins.

### Claim 3 (depends on 1)

The method as claimed in claim 1, further comprising the step of defining the policy demand configuration of an application.

### Claim 4 (depends on 3)

The method as claimed in claim 3, further comprising steps of:
defining the component function of the application; and
generating a component definition according to a loaded component function definition.

### Claim 5 (depends on 1)

The method as claimed in claim 1, wherein the plug-in context is formed as a chain table or a tree structure.

### Claim 6 (depends on 1)

The method as claimed in claim 1, wherein the plug-in registry further includes definition of extension relationship and/or dependency relationship between plug-ins, wherein the extension relationship indicates that a plug-in further includes definition of a extension point pointing to another plug-in, while the dependency relationship indicates that instantiation of a plug-in depends on implementation of another plug-in.

### Claim 7

An apparatus for implementing non-function logic for a plurality of applications extensibly and independently of functional logic for each one of the plurality of applications, comprising:
at least one processor; and
an application loader for loading policy demand configuration of an application;
a policy attacher for acquiring association relationship between a policy and a plug-in required by the application based on a loaded policy demand configuration of the application, and for generating a plug-in context definition according to the acquired association relationship, the plug-in context definition being part of a plug-in context associated with the plug-in, wherein the plug-in context defines services provided by the plug-in and reference to other plug-ins related to the plug-in;
an application builder for generating an application runtime object based on a component definition and generating a plug-in context object based on the plug-in context definition, wherein the plug-in context object is an instantiated plug-in context definition;
an application constructor unit for associating the plug-in context object to the application runtime object so as to implement a function of the plug-in for the application; and
a plug-in registry unit for storing a plug-in registry containing information on description of the plug-ins and on relationships between the plug-ins;
wherein the policy attacher acquires the association relationship between the policy and the required plug-in by querying the plug-in registry based on the policy demand configuration.

### Claim 8 (depends on 7)

The apparatus as claimed in claim 7, the apparatus further comprising:
a policy registry unit for storing a policy registry containing information on policies supported by the plug-ins and on relationships between the policies;
wherein the policy attacher queries the policy registry based on the policy demand configuration, and maps the policy demand configuration to the supported plug-in by further querying the plug-in registry based on the result of querying the policy registry so as to acquire the association relationship between the policy and the required plug-in, wherein the plug-in registry contains information on description of the plug-ins and on relationships between the plug-ins.

### Claim 9 (depends on 7)

The apparatus as claimed in claim 7, wherein, the application loader further loads at least one component function definition of the application.

### Claim 10 (depends on 9)

The apparatus as claimed in claim 9, wherein,
the policy attacher further generates application runtime objects based on the component function definition.

### Claim 11 (depends on 7)

The apparatus as claimed in claim 7, wherein the plug-in context is formed as a chain table or a tree structure.

### Claim 12 (depends on 7)

The apparatus as claimed in claim 7, wherein the plug-in registry further includes definition of extension relationship and/or dependency relationship between plug-ins, wherein the extension relationship indicates that a plug-in further includes definition of a extension point pointing to another plug-in, while the dependency relationship indicates that instantiation of a plug-in depends on implementation of another plug-in.

### Claim 13

A system for separating functional logic of an application from non-function logic for any of a plurality of applications and implementing the non-function logic, including:
a central processing unit;
an application runtime layer entity configured to implement functional logic by user and utilize plug-ins provided by an infrastructure service plug-in layer entity;
the infrastructure service plug-in layer entity configured to implement the plug-in by utilizing services provided by an application runtime layer entity; and
the application runtime layer entity configured to implement acquiring an association relationship between a policy and a plug-in required by the application based on a loaded policy demand configuration of the application by querying a plug-in registry containing information on description of the plug-ins and on relationships between the plug-ins based on the policy demand configuration, and further performing steps of:
generating a plug-in context definition according to the acquired association relationship, the plug-in context definition being part of a plug-in context associated with the plug-in, wherein the plug-in context defines services provided by the plug-in and reference to other plug-ins related to the plug-in;
generating an application runtime object based on a component definition;
generating a plug-in context object based on the plug-in context definition, wherein the plug-in context object is an instantiated plug-in context definition; and
associating the plug-in context object to the application runtime object so as to implement a function of the plug-in for the application.
