WO2006105003A2 - Knowledge processing apparatus and method - Google Patents

Knowledge processing apparatus and method Download PDF

Info

Publication number
WO2006105003A2
WO2006105003A2 PCT/US2006/011077 US2006011077W WO2006105003A2 WO 2006105003 A2 WO2006105003 A2 WO 2006105003A2 US 2006011077 W US2006011077 W US 2006011077W WO 2006105003 A2 WO2006105003 A2 WO 2006105003A2
Authority
WO
WIPO (PCT)
Prior art keywords
knowledge
configuration
application
processing
response
Prior art date
Application number
PCT/US2006/011077
Other languages
French (fr)
Other versions
WO2006105003A3 (en
Inventor
Patricia Mary Charlton
Makram Bouzid
Myriam Ribiere
Original Assignee
Motorola, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola, Inc. filed Critical Motorola, Inc.
Publication of WO2006105003A2 publication Critical patent/WO2006105003A2/en
Publication of WO2006105003A3 publication Critical patent/WO2006105003A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Definitions

  • the invention relates to a method and apparatus for knowledge processing and in particular, but not exclusively, to knowledge processing in flexible and dynamic environments .
  • Electronic knowledge processing applications that utilise and process information data to provide a desired function or data output have become increasingly widespread. For example, applications are being developed which can perform reasoning and inferencing from existing knowledge data available to the application.
  • An example of such a system may be an expert system such as a medical expert application which in response to an input of a number of symptoms may access and process stored medical data to generate a possible diagnosis.
  • Very advanced knowledge processing systems have been developed for very different application fields including for example expert systems, banking systems, online booking systems etc.
  • a knowledge application developed and deployed by one organisation may seek to use knowledge generated, published and owned by other organisations.
  • an online flight booking application may seek to provide information about a selected destination based on knowledge obtained from knowledge components published by hotels, tourist offices and local government offices associated with the specific destination.
  • the complexity and details of the interactions between components of a knowledge processing system are increasing due to the trend towards an increasing size and complexity of the systems and algorithms themselves.
  • the co-ordination between applications may increase due to the ownership/responsibility being nested into various components that have conflicting licence agreements, inappropriate suppliers etc. that are not easily identified by manually trying to evaluate layers of software configuration of a single application or, for example, understanding the conflict between software licences .
  • the mechanisms for controlling the interoperation between different applications and knowledge sources are performed at the human level or in an ad-hoc manner.
  • a flight service web page may automatically load a tourism page set of links that match with those destination flights it supports.
  • Inconsistency to the user e.g. the user may have been provided with tourism information when booking a flight. However, later the user may not be able to access this information. The reason may be that the tourism company no longer supports the appropriate web page. However, the user identifies the loss of service with the flight service provider and not the tourism information provider and it is the reputation of the flight service provider that is affected.
  • Violation of a company's policies e.g. the policy of the tourism service may be to not cooperate with that particular flight service provider because it violates an agreement it has with another flight service provider. However, to the public it will appear that they are working together.
  • the knowledge source in addition to the knowledge data itself also publishes information of how the knowledge is provided or structured.
  • the knowledge source may provide data in accordance with one or more specific ontologies known to the knowledge application.
  • the approach of publishing an ontology that provides not just the knowledge data itself but also information about the e.g. the knowledge domain or the service or application creates an opportunity to further exploit this source if freely accessible.
  • other applications, services and businesses may also have access to this knowledge even if the owner has not agreed to this.
  • knowledge based systems are increasingly used in dynamically changing environments where the characteristics frequently change.
  • knowledge based systems may be used in ad-hoc or mobile networks where access to individual knowledge components may change dynamically.
  • the conventional static approach is unsuited for such environments .
  • the Invention seeks to preferably mitigate, alleviate or eliminate one or more of the above mentioned disadvantages singly or in any combination.
  • a knowledge processing apparatus comprising: application means for executing a knowledge application; knowledge processing means for processing knowledge data in response to instructions from the application means and for providing a result of the processing to the application means; the knowledge processing means comprising self configuration means for dynamically configuring the processing in response to configuration rules and configuration models; and wherein the self configuration means is further arranged to perform the configuration of the knowledge processing means in response to instructions received from the application means .
  • the self configuration means is arranged to configure the knowledge processing means by selecting a configuration model in response to an evaluation of at least one configuration rule. This provides for a practical and efficient implementation.
  • the self configuration means comprises means for modifying a configuration model in response to an instruction received from the application means.
  • the self configuration means may modify the configuration model in response to an evaluation of a configuration rule. This may provide for an efficient and highly adaptable system.
  • the self configuration means is arranged to modify a configuration model in response to an evaluation of at least one configuration rule.
  • the configuration rule may be evaluated by evaluating a characteristic associated with the knowledge application in response to receiving an instruction from the application means. This may provide for an efficient, practical and highly adaptable system.
  • the application means comprises means for generating configuration instructions in response to an application policy and the self configuration means is arranged to instantiate at least one of the configuration rules in response to the configuration instructions. This may allow an improved suitability for dynamic and/or ad-hoc environments and may specifically allow an efficient run time configuration of the knowledge processing apparatus .
  • the self configuration means comprises means for performing a self configuration in response to a resource environment for the knowledge application.
  • This may allow an improved adaptability to different environments and allows knowledge processing applications to be used in dynamic and unknown environments.
  • the knowledge processing apparatus may during run time self configure to match the current characteristics of e.g. a mobile or ad- hoc network.
  • the first configuration rule defines that a centralised processing is performed for a given resource availability and that a distributed processing is performed for a different resource availability. For example, if the current environment has low communication resources and high central computational resources, a centralised processing may be applied whereas if the current environment has high communication resources and low central computational resources, the knowledge processing may be distributed to a plurality of remote processing elements.
  • the coordination means is arranged to identify the first knowledge component in response to the information request.
  • the coordination means may be arranged to access a remote electronic bulletin board which indicates knowledge sources for various knowledge data. This may provide for a practical, efficient, adaptable, flexible and/or high performance knowledge processing.
  • the knowledge components are distributed and the coordination means is operable to determine a location of the first knowledge component. This may provide for a practical, efficient, adaptable, flexible and/or high performance knowledge processing.
  • the coordination means comprises means for accessing and combining data from different knowledge components in response to the information request.
  • the combined data may be used to generate new knowledge data that can be provided to the reasoning means. This may provide a flexible, adaptable and/or efficient way of exploiting knowledge data from a plurality of sources .
  • An improved knowledge processing apparatus may be achieved.
  • FIG. 1 illustrates a knowledge processing apparatus in accordance with some embodiments of the invention.
  • FIG. 2 illustrates a more detailed example of a knowledge processing apparatus in accordance with some embodiments of the invention.
  • FIG. 1 illustrates a knowledge processing apparatus 100 in accordance with some embodiments of the invention.
  • Knowledge data may e.g. be any data that can be reasoned about by a computational system and may itself be code or data/content.
  • Knowledge data often includes the commonly agreed notion of ontologies: an "agreement about a shared, formal, explicit and partial account of a conceptualisation", as well as a broader representation of knowledge data, such as rules and axioms themselves.
  • rules, axioms and methods can be represented in the form of an explicit ontology (or data model or schema, etc.) which can then be used and treated in the same way as domain knowledge.
  • These representations may relate to inference, rules, relationships, properties and executable methods which when represented as knowledge data can be configured at run time to execute different behaviours.
  • domain knowledge e.g. supplied by a knowledge component
  • domain rules e.g. supplied by knowledge component or knowledge processing system
  • application knowledge and rules all or parts of this context can be represented explicitly.
  • a system may be constructed that includes within itself a description of how an outside system may project a meaning onto the system.
  • the knowledge processing apparatus 100 comprises an application processor 101 which executes a knowledge application.
  • the knowledge application provides a service to a user by providing results in response to user inputs where the results are based on processing of knowledge data.
  • the application may be an online banking service, an expert system or a travel planning application.
  • the application processor 101 is coupled to a knowledge processor 103 which processes knowledge data in response to instructions received from the application processor 101.
  • the instructions from the application may for example comprise queries to which the knowledge processor 103 provides results by identifying, retrieving and processing knowledge data. For example, for a banking service, the user may enter a password for an account. The application processor 101 may forward this password together with a request for an indication of any unusual activity on the account to the knowledge processor 103.
  • the knowledge processor 103 comprises a reasoning processor 105 which in response to the received instructions accesses knowledge data and generates a response to the instruction. This response may then be fed back to the application.
  • the reasoning processor 105 may execute a password verification algorithm which detects if the password is correct. If so, it may proceed to perform reasoning based on available information to determine if any unusual transactions have occurred.
  • the reasoning processor 105 itself comprises the knowledge data used to respond to the query.
  • the knowledge processor 103 may in itself be considered a knowledge component.
  • the reasoning processor 105 may alternatively or additionally access knowledge data from other knowledge sources.
  • the reasoning processor 105 may access one or more external knowledge components.
  • the reasoning processor 105 may access a password knowledge source to check if the provided password is correct. It may in addition access an account knowledge data base which provides information of transactions on the account and it may access other knowledge components associated with individual transactions. This may allow the reasoning processor to compare recent transactions with a typical pattern for the account and to provide individual and specific information on any unusual transactions.
  • the knowledge processor 103 furthermore comprises a configuration processor which is arranged to dynamically configure the processing in response to configuration rules and configuration models.
  • the configuration processor 107 may receive instructions from the application processor 101 and may evaluate the configuration rules based on these instructions.
  • the configuration models may correspond to models for how the reasoning processor 105 should process instructions from the application processor and the configuration rules may prescribe which configuration model should be selected and/or may be used to modify the configuration models themselves.
  • the reasoning processor 105 may comprise a plurality of physical or logically distinct processing units.
  • a standard configuration model may be selected by the configuration processor 107.
  • the standard configuration model may configure the reasoning processor 105 to perform the required processing in a single processing unit.
  • the configuration processor 107 may select a secure configuration model wherein the processing is partly performed by a plurality of different processing units followed by a combination of the individual results .
  • the configuration processor 107 may use a standard configuration model where a single processing unit retrieves the necessary information and provides it to the application processor 101.
  • a configuration model may be selected wherein a first processing unit is assigned the task of performing the password algorithm, a second processing unit is assigned the task of determining a transaction profile and a third processing unit is assigned the task of identifying transactions involving large sums.
  • the individual results may be provided to a fourth processing unit which checks that the password has been verified and compares the large sum transactions to the transaction profile. Any unusual transactions may be identified and fed back to the application processor. In this way, no single processing unit processes or has knowledge of all the data. Thus, in order to obtain all information, a security attack would require individual access to all processing units rather than to a single unit.
  • the configuration rules may in themselves modify parameters of the configuration models. For example, whenever the configuration processor 107 detects that a request for unusual transactions is received, it may not only select the configuration model but may also cause the selection of processing units in the configuration model to be changed. For example, whenever the request is received, the configuration processor 107 may select a new random processing unit for each partial activity. This may further reduce the vulnerability of attack as not only will an attack require access to four different processing units but it will be unknown and changing which four processing units must be accessed.
  • the application may be developed without specific consideration of this feature or knowledge of the characteristics of the knowledge processor 103. For example, the application need not have any information or consider how many processing units the reasoning processor 105 has access to or how each individual unit is selected. Rather, at the design stage, the application developer merely defines whether the instruction relates to sensitive or non-sensitive data, and at run time the knowledge processor 103 may automatically configure itself to provide the required security level taking into account the specific and current characteristics of the system.
  • the reasoning processor 105 is coupled to a coordination processor 201 which again is coupled to a plurality of knowledge components 203, 205, 207 through a network which specifically may be the Internet 209.
  • the knowledge processing system is a distributed system where knowledge data from a plurality of different knowledge components may be used to provide a knowledge based application.
  • the knowledge components 203, 205, 207 are owned and managed by individual knowledge providers which are different than the application provider/developer.
  • the system is a dynamic system where the availability of each knowledge component 203, 205, 207 may vary, as may the characteristics of the communication to each knowledge component 203, 205, 207.
  • the knowledge components 203, 205, 207 provide appropriate attributes for characterizing knowledge demands and knowledge offers.
  • the knowledge components 203, 205, 207 may provide e.g. domain models representing background knowledge for navigation and knowledge retrieval from the knowledge components.
  • the knowledge components 203, 205, 207 may provide information of an access strategy that may e.g. indicate who can access the individual knowledge data, when this may be accessed and how it may be used.
  • a knowledge component can be an application or service itself such as an ontology server, a security service, content storage or a database.
  • the application processor 101 is arranged to execute a specific application which relies on the knowledge processing of the reasoning processor 105.
  • the reasoning processor 105 performs this reasoning on the basis of knowledge data retrieved from the knowledge components 203, 205, 207.
  • the configuration of the reasoning processor 105 is controlled by the application and the processing of data from the knowledge components 203, 205, 207 may depend on this configuration.
  • the application processor 101 may inform the reasoning processor 105 of a number of instructions which must be processed securely.
  • the reasoning processor 105 may set up a configuration rule that specifies that the reasoning processor 105 must be configured to process such instructions in accordance with a secure configuration model.
  • the application processor 101 may specify that such a configuration model is set up to use plurality of processing units which individually process only a part of the retrieved knowledge data .
  • the self-configuration rules may support the knowledge processor in being able to reason about its own computation from various perspectives .
  • the knowledge processor 103 may be an individual knowledge component that may use this reasoning to make decisions about modifying its own computation. This means that the knowledge component has more control over its own computation.
  • the configuration processor 107 may use self- configuration rules based on a set of configuration strategies. The selection of such a strategy at some point in the computation may be based on the application policies that define principles of dependency, exclusions, preferences and mandatory facts about the application.
  • a self-configuration rule may include the following considerations: Under which conditions to apply the self-configuration rule: E.g. there may be two states: a setup state and a normal computation state. However, it is also effective to have "re-initialise" as a third state which is applied when a configuration fails under certain conditions as this may simplify adaptation of the system. This means that a system in any stage of its execution can apply/can have applied a self- configuration rule. What computational changes have taken place e.g. has new information or knowledge been added such that an application requests to work with a particular computational component and the type of changes, such as modify, add, delete or no-change.
  • This rule defines an instantiation of a normal execution.
  • the example here states that the system will execute the following sequence of actions . Any sequence of actions can be defined here that is supported by the application.
  • the granularity of the actions (code to be executed and when next to call the policy configuration check of the system) or the call to the application deployment configuration of where the components will run can be defined by the application developer.
  • This rule enables determination of whether the policy system and configuration system can initialise and startup automatically using a new strategy, knowledge or component. This may be done independently of the application itself and will be dependent on how the application uses self-configuration rules.
  • a rule for handling an error that has occurred during a policy rule or configuration deployment strategy selection is a rule for handling an error that has occurred during a policy rule or configuration deployment strategy selection.
  • the reasoning processor 105 is further coupled to a coordination processor 201.
  • the coordination processor 201 comprises the required functionality for accessing the plurality of distributed knowledge components 203, 205, 207. Furthermore, the coordination processor 201 comprises functionality for interfacing between the reasoning processor 105 and the knowledge components 203, 205, 207.
  • the coordination processor 201 may receive a request for specific knowledge data from the reasoning processor 105.
  • the reasoning processor 105 may determine which of the knowledge components 203, 205, 207 have the required information.
  • the coordination processor 201 may have specific information of what data is available from each knowledge component 203, 205, 207.
  • an external bulletin board may for example comprise a listing of what data is available from each knowledge component 203, 205, 207 and the coordination processor 201 may be capable of accessing this bulletin board to identify which knowledge components 203, 205, 207 should be accessed.
  • the coordination processor 201 may provide independence between the knowledge components 203, 205, 207 and the application and reasoning processes. This may facilitate distributed knowledge management for the reasoning processing and for the knowledge components.
  • each knowledge component has independence of where it is to be located.
  • Each knowledge component may e.g. range from a simple database, with a simple query interface, to being a large reasoning component itself. The separation of what to class as a component is left to the designer. For example, one knowledge component itself may also be distributed, such as in the case of a large ontology server.
  • the reasoning processor 105 is arranged to perform incremental reasoning which may enable distributed knowledge to be reasoned about in an autonomous manner, while not centralizing the knowledge at any one point. Incremental reasoning is based on defining policies about the knowledge components' distribution which are created as self-configuration rules

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A knowledge processing apparatus comprises an application processor (101) which executes a knowledge application that provides a user service in response to knowledge data which may be stored in distributed knowledge components (203,205,207). The application processor (101) is coupled to a knowledge processor (103) which processes knowledge data in response to instructions from the application processor (101) and provides the result of the process to the application processor (101). In particular, a reasoning processor (105) may perform reasoning based on knowledge data and provide the result to the application processor (101). The knowledge processor 103 also comprises a configuration processor (107) which dynamically configures the processing in response to configuration rules and configuration models. The configuration models may specify how the knowledge processing should be performed and the configuration rules may specify how the configuration models are dynamically selected or modified. The configuration is furthermore controlled by the instructions received from the application processor (101).

Description

KNOWLEDGE PROCESSING APPARATUS AND METHOD
Field of the invention
The invention relates to a method and apparatus for knowledge processing and in particular, but not exclusively, to knowledge processing in flexible and dynamic environments .
Background of the Invention
Electronic knowledge processing applications that utilise and process information data to provide a desired function or data output have become increasingly widespread. For example, applications are being developed which can perform reasoning and inferencing from existing knowledge data available to the application. An example of such a system may be an expert system such as a medical expert application which in response to an input of a number of symptoms may access and process stored medical data to generate a possible diagnosis.
Very advanced knowledge processing systems have been developed for very different application fields including for example expert systems, banking systems, online booking systems etc.
However, such systems are generally complex and inflexible. For example, a very detailed design and definition of the operation, knowledge interaction and processing must typically be performed at the design stage. Specifically, conventional systems are based on a definition of the rules, policies and strategies of the application being set out prior to the deployment of the system. Thus, in conventional systems, an application is encoded with exactly those components that it can configure, interact with and exchange data with before its deployment. Any significant changes to this require a deployment of a new implementation or version.
As the integration and exchange between applications are increasingly performed electronically, there are a number of problems associated with the current static systems. Indeed, there is an increasing trend towards using knowledge data and applications from a large variety of sources in a dynamically changing environment. Thus, a knowledge application developed and deployed by one organisation may seek to use knowledge generated, published and owned by other organisations. For example, an online flight booking application may seek to provide information about a selected destination based on knowledge obtained from knowledge components published by hotels, tourist offices and local government offices associated with the specific destination.
One disadvantage of the conventional approach is that adaptability and configurability of the applications is severely limited and requires very cumbersome and typically manual intervention. Indeed, the deployment of a completely new system is typically required for implementation of significant changes. This may be highly unsuitable for the dynamic environments increasingly being applied to knowledge systems.
Also the individual knowledge owners and publishers may want to retain control over the access to and use of the knowledge data. However, in order to enforce the publication strategies, a large amount of human intervention is required. However requiring human intervention for validating e.g. that a copyright licence is in agreement with the organisation's working practices, liability is covered, brand name is protected etc is highly impractical for increasingly large, complex and dynamic systems. Such problems will delay the deployment of new services to customers and limit new business opportunities.
Also, the complexity and details of the interactions between components of a knowledge processing system are increasing due to the trend towards an increasing size and complexity of the systems and algorithms themselves. For example, the co-ordination between applications may increase due to the ownership/responsibility being nested into various components that have conflicting licence agreements, inappropriate suppliers etc. that are not easily identified by manually trying to evaluate layers of software configuration of a single application or, for example, understanding the conflict between software licences .
Tracking how an application and its knowledge are being used and maintaining an organisation's policy is highly complex and becomes almost impossible as the trend of application deployment and automated configuration moves towards the web idea of applications visibility. In such systems, access to and use of the systems is typically via a set of publicly accessible web pages rather than through a highly secure closed system. Specifically, the internet access to applications has led to a customer expectation of immediate and easy access to digital services and the potential risk of this approach must be carefully weighted against the potential loss of business. However, often suppliers of applications are unaware of how an application is being used once it is deployed because the tracking of such open web systems is complex.
Thus, conventionally, the mechanisms for controlling the interoperation between different applications and knowledge sources are performed at the human level or in an ad-hoc manner. For example a flight service web page may automatically load a tourism page set of links that match with those destination flights it supports. However, there may be no formal agreement between either the flight company or the tourism company about using these links and the functionality supported by this manual or semi-automated, yet ad-hoc, approach of sharing company asset knowledge has no formal agreement. This means that either party can stop supporting this functionality at any time.
This can lead to a number of undesirable consequences such as for example:
• Inconsistency to the user e.g. the user may have been provided with tourism information when booking a flight. However, later the user may not be able to access this information. The reason may be that the tourism company no longer supports the appropriate web page. However, the user identifies the loss of service with the flight service provider and not the tourism information provider and it is the reputation of the flight service provider that is affected.
• Violation of a company's policies e.g. the policy of the tourism service may be to not cooperate with that particular flight service provider because it violates an agreement it has with another flight service provider. However, to the public it will appear that they are working together.
Some knowledge based applications which seek to improve the automation of knowledge-data interoperability reuse are known. In such knowledge based applications, the knowledge source in addition to the knowledge data itself also publishes information of how the knowledge is provided or structured. In particular, the knowledge source may provide data in accordance with one or more specific ontologies known to the knowledge application. The approach of publishing an ontology that provides not just the knowledge data itself but also information about the e.g. the knowledge domain or the service or application creates an opportunity to further exploit this source if freely accessible. However, other applications, services and businesses may also have access to this knowledge even if the owner has not agreed to this.
Also, conventional approaches may also result in reduced security and increased vulnerability to attacks. For example, information e.g. relating to inferencing rules and concepts may be made more explicit about a knowledge domain or service to enable facts, rules and axioms to be available for a knowledge processing application system. However, at the computational point in the system, this explicit information is collected and the key intelligence of the system (encoded as either metadata, ontologies, objects etc.) will be explicit and collected in one location. This may make the system highly vulnerable to attack and misuse.
Furthermore, knowledge based systems are increasingly used in dynamically changing environments where the characteristics frequently change. For example, knowledge based systems may be used in ad-hoc or mobile networks where access to individual knowledge components may change dynamically. The conventional static approach is unsuited for such environments .
Thus, the current requirements for e.g. policy checking, flexibility, performance, security etc cannot be met by the knowledge based systems currently developed. Accordingly, there is a need for a system to be developed which is suitable for deployment in a flexible, dynamically, distributed and/or open system.
Hence, an improved system for knowledge processing would be advantageous and in particular a system allowing increased flexibility, increased security, increased rights/ access management, improved dynamic performance, increased suitability for distributed implementations and/or improved performance would be advantageous. Summary of the Invention
Accordingly, the Invention seeks to preferably mitigate, alleviate or eliminate one or more of the above mentioned disadvantages singly or in any combination.
According to a first aspect of the invention there is provided a knowledge processing apparatus comprising: application means for executing a knowledge application; knowledge processing means for processing knowledge data in response to instructions from the application means and for providing a result of the processing to the application means; the knowledge processing means comprising self configuration means for dynamically configuring the processing in response to configuration rules and configuration models; and wherein the self configuration means is further arranged to perform the configuration of the knowledge processing means in response to instructions received from the application means .
The apparatus may allow automated knowledge processing to effectively be deployed in a diverse, dynamic and/or flexible environment. The invention may for example allow customisation and/or adaptation to be performed at runtime rather than at the design phase. The application development may be facilitated as detailed and explicit pre-configuration may be reduced or avoided. Improved security may be achieved and in particular the reconfiguration may reconfigure the knowledge processing means dynamically thereby reducing the vulnerability to security attacks.
The configuration rules may specify rules for modifying the configuration models in response to characteristics of the instructions received from the application means .
The instructions may be provided directly from the application means or may be provided indirectly. For example, the instructions received by the configuration means may be instructions that are generated elsewhere in response to explicit instructions from the application means .
The knowledge processing means may implement further processing layers, and may e.g. be another knowledge application and/or may be a knowledge source
According to an optional feature of the invention, the self configuration means is arranged to configure the knowledge processing means by selecting a configuration model in response to an evaluation of at least one configuration rule. This provides for a practical and efficient implementation.
According to an optional feature of the invention, the self configuration means comprises means for modifying a configuration model in response to an instruction received from the application means. The self configuration means may modify the configuration model in response to an evaluation of a configuration rule. This may provide for an efficient and highly adaptable system. According to an optional feature of the invention, the self configuration means is arranged to modify a configuration model in response to an evaluation of at least one configuration rule. The configuration rule may be evaluated by evaluating a characteristic associated with the knowledge application in response to receiving an instruction from the application means. This may provide for an efficient, practical and highly adaptable system.
According to an optional feature of the invention, the application means comprises means for generating configuration instructions in response to an application policy and the self configuration means is arranged to instantiate at least one of the configuration rules in response to the configuration instructions. This may allow an improved suitability for dynamic and/or ad-hoc environments and may specifically allow an efficient run time configuration of the knowledge processing apparatus .
According to an optional feature of the invention, the self configuration means comprises means for performing a self configuration in response to a resource environment for the knowledge application. This may allow an improved adaptability to different environments and allows knowledge processing applications to be used in dynamic and unknown environments. For example, the knowledge processing apparatus may during run time self configure to match the current characteristics of e.g. a mobile or ad- hoc network.
According to an optional feature of the invention, at least a first configuration rule includes a characteristic of the resource environment as an input parameter. This may provide a practical and/or efficient customisation to dynamic resource environments .
According to an optional feature of the invention, the first configuration rule defines that a centralised processing is performed for a given resource availability and that a distributed processing is performed for a different resource availability. For example, if the current environment has low communication resources and high central computational resources, a centralised processing may be applied whereas if the current environment has high communication resources and low central computational resources, the knowledge processing may be distributed to a plurality of remote processing elements.
According to an optional feature of the invention, the knowledge processing means comprises means for accessing a plurality of knowledge components. This may facilitate implementation and/or allow an improved knowledge processing.
According to an optional feature of the invention, the knowledge processing means comprises reasoning means for generating the result of the processing by reasoning on the knowledge data. The knowledge data may for example be data retrieved from one or more of the knowledge components .
According to an optional feature of the invention, the knowledge processing apparatus comprises coordination means for interfacing between the plurality of knowledge components and the knowledge processing means. This may provide improved adaptability, flexibility and/or performance of the knowledge processing apparatus .
According to an optional feature of the invention, the reasoning means is arranged to perform incremental reasoning. This may provide improved adaptability, flexibility and/or performance of the knowledge processing apparatus. Alternatively or additionally, improved security may be achieved as knowledge processing may be performed based on only partial knowledge data thereby avoiding the requirement for all knowledge data to be concentrated in one physical or logical location.
According to an optional feature of the invention, the coordination means comprises means for receiving an information request from the reasoning means and for obtaining information from a first knowledge component in response to the information request. This provides for a practical, efficient, adaptable, flexible and/or high performance knowledge processing.
According to an optional feature of the invention, the coordination means is arranged to identify the first knowledge component in response to the information request. For example, the coordination means may be arranged to access a remote electronic bulletin board which indicates knowledge sources for various knowledge data. This may provide for a practical, efficient, adaptable, flexible and/or high performance knowledge processing.
According to an optional feature of the invention, the knowledge components are distributed and the coordination means is operable to determine a location of the first knowledge component. This may provide for a practical, efficient, adaptable, flexible and/or high performance knowledge processing.
According to an optional feature of the invention, the coordination means comprises means for negotiating an access policy with at least the first knowledge component. This may provide for practical, efficient, adaptable, flexible and/or high performance knowledge processing. In particular, it may allow an efficient way of allowing knowledge owners or publishers to retain an element of control over the access, distribution and use of the provided knowledge. The access policy may specifically comprise a policy for what knowledge data may be accessed, when the knowledge data may be accessed and by whom the knowledge data may be accessed.
According to an optional feature of the invention, the access policy comprises a use policy for knowledge data retrieved from the first knowledge component. This may provide an efficient way of allowing knowledge owners or publishers to retain an element of control over the provided knowledge data.
According to an optional feature of the invention, the coordination means comprises means for accessing and combining data from different knowledge components in response to the information request. The combined data may be used to generate new knowledge data that can be provided to the reasoning means. This may provide a flexible, adaptable and/or efficient way of exploiting knowledge data from a plurality of sources . An improved knowledge processing apparatus may be achieved.
According to an optional feature of the invention, the knowledge processing means has functionality for dynamically varying a location of the processing dependent on the configuration of the knowledge processing means. This may improve security and make the knowledge processing increasingly resistant to security attacks.
According to a second aspect of the invention, there is provided a method of knowledge processing comprising: executing a knowledge application; processing knowledge data in response to instructions from the knowledge application and for providing a result of the processing to the knowledge application; and dynamically configuring the processing in response to configuration rules, configuration models and instructions received from the knowledge application.
These and other aspects, features and advantages of the invention will be apparent from and elucidated with reference to the embodiment ( s) described hereinafter.
Brief Description of the Drawings
Embodiments of the invention will be described, by way of example only, with reference to the drawings, in which FIG. 1 illustrates a knowledge processing apparatus in accordance with some embodiments of the invention; and
FIG. 2 illustrates a more detailed example of a knowledge processing apparatus in accordance with some embodiments of the invention.
Detailed Description of Embodiments of the Invention
FIG. 1 illustrates a knowledge processing apparatus 100 in accordance with some embodiments of the invention. Knowledge data may e.g. be any data that can be reasoned about by a computational system and may itself be code or data/content.
Knowledge data often includes the commonly agreed notion of ontologies: an "agreement about a shared, formal, explicit and partial account of a conceptualisation", as well as a broader representation of knowledge data, such as rules and axioms themselves. This means, for example, that rules, axioms and methods can be represented in the form of an explicit ontology (or data model or schema, etc.) which can then be used and treated in the same way as domain knowledge. These representations may relate to inference, rules, relationships, properties and executable methods which when represented as knowledge data can be configured at run time to execute different behaviours. Thus to provide the basis on which knowledge processing can provide flexibility, for example, of both domain knowledge (e.g. supplied by a knowledge component) and domain rules (e.g. supplied by knowledge component or knowledge processing system) or application knowledge and rules, all or parts of this context can be represented explicitly.
Thus a system may be constructed that includes within itself a description of how an outside system may project a meaning onto the system.
The knowledge processing apparatus 100 comprises an application processor 101 which executes a knowledge application. In the example, the knowledge application provides a service to a user by providing results in response to user inputs where the results are based on processing of knowledge data. For example, the application may be an online banking service, an expert system or a travel planning application.
The application processor 101 is coupled to a knowledge processor 103 which processes knowledge data in response to instructions received from the application processor 101. The instructions from the application may for example comprise queries to which the knowledge processor 103 provides results by identifying, retrieving and processing knowledge data. For example, for a banking service, the user may enter a password for an account. The application processor 101 may forward this password together with a request for an indication of any unusual activity on the account to the knowledge processor 103.
The knowledge processor 103 comprises a reasoning processor 105 which in response to the received instructions accesses knowledge data and generates a response to the instruction. This response may then be fed back to the application. For example, when receiving the password, the reasoning processor 105 may execute a password verification algorithm which detects if the password is correct. If so, it may proceed to perform reasoning based on available information to determine if any unusual transactions have occurred.
In this example, the reasoning processor 105 itself comprises the knowledge data used to respond to the query. Thus, the knowledge processor 103 may in itself be considered a knowledge component. However, in many other embodiments the reasoning processor 105 may alternatively or additionally access knowledge data from other knowledge sources. For example, the reasoning processor 105 may access one or more external knowledge components. E.g. in response to the query, the reasoning processor 105 may access a password knowledge source to check if the provided password is correct. It may in addition access an account knowledge data base which provides information of transactions on the account and it may access other knowledge components associated with individual transactions. This may allow the reasoning processor to compare recent transactions with a typical pattern for the account and to provide individual and specific information on any unusual transactions.
The knowledge processor 103 furthermore comprises a configuration processor which is arranged to dynamically configure the processing in response to configuration rules and configuration models. In particular, the configuration processor 107 may receive instructions from the application processor 101 and may evaluate the configuration rules based on these instructions. The configuration models may correspond to models for how the reasoning processor 105 should process instructions from the application processor and the configuration rules may prescribe which configuration model should be selected and/or may be used to modify the configuration models themselves.
For example, the reasoning processor 105 may comprise a plurality of physical or logically distinct processing units. For simple and non-critical instructions, a standard configuration model may be selected by the configuration processor 107. The standard configuration model may configure the reasoning processor 105 to perform the required processing in a single processing unit. However, for sensitive processing, the configuration processor 107 may select a secure configuration model wherein the processing is partly performed by a plurality of different processing units followed by a combination of the individual results .
As a specific example, if the application requests that an address of a local branch is provided, the configuration processor 107 may use a standard configuration model where a single processing unit retrieves the necessary information and provides it to the application processor 101. However, if the instruction is a request for unusual transactions, a configuration model may be selected wherein a first processing unit is assigned the task of performing the password algorithm, a second processing unit is assigned the task of determining a transaction profile and a third processing unit is assigned the task of identifying transactions involving large sums. The individual results may be provided to a fourth processing unit which checks that the password has been verified and compares the large sum transactions to the transaction profile. Any unusual transactions may be identified and fed back to the application processor. In this way, no single processing unit processes or has knowledge of all the data. Thus, in order to obtain all information, a security attack would require individual access to all processing units rather than to a single unit.
Furthermore, the configuration rules may in themselves modify parameters of the configuration models. For example, whenever the configuration processor 107 detects that a request for unusual transactions is received, it may not only select the configuration model but may also cause the selection of processing units in the configuration model to be changed. For example, whenever the request is received, the configuration processor 107 may select a new random processing unit for each partial activity. This may further reduce the vulnerability of attack as not only will an attack require access to four different processing units but it will be unknown and changing which four processing units must be accessed.
Thus, a very high level of security may be achieved by the described system. Furthermore, the application may be developed without specific consideration of this feature or knowledge of the characteristics of the knowledge processor 103. For example, the application need not have any information or consider how many processing units the reasoning processor 105 has access to or how each individual unit is selected. Rather, at the design stage, the application developer merely defines whether the instruction relates to sensitive or non-sensitive data, and at run time the knowledge processor 103 may automatically configure itself to provide the required security level taking into account the specific and current characteristics of the system.
It will be appreciated that it may be possible for the reasoning process itself to request a new configuration. This may result in the knowledge processing system being able to reason about both domain knowledge data and explicit knowledge about its own workings, that is, its own computation from various perspectives.
For example, it is possible that in some examples the reasoning processor 105 may make a request to the configuration processor 107. This could e.g. be as a request via the application processor 101 (e.g. if an error occurs when checking banking information then the configuration processor 107 can be requested to provide a new configuration using "safety mode" operation), as a direct request from the application processor 101, or the reasoning processor 105 itself could encounter a context e.g. insufficient resources to complete the processing of the bank request and consequently request a new configuration .
FIG. 2 illustrates a more detailed example of the knowledge processing apparatus 100 in accordance with some embodiments of the invention.
In the example of FIG. 2, the reasoning processor 105 is coupled to a coordination processor 201 which again is coupled to a plurality of knowledge components 203, 205, 207 through a network which specifically may be the Internet 209. Thus, in the example, the knowledge processing system is a distributed system where knowledge data from a plurality of different knowledge components may be used to provide a knowledge based application. In the example, the knowledge components 203, 205, 207 are owned and managed by individual knowledge providers which are different than the application provider/developer. Furthermore, the system is a dynamic system where the availability of each knowledge component 203, 205, 207 may vary, as may the characteristics of the communication to each knowledge component 203, 205, 207.
In the example, the knowledge components 203, 205, 207 provide appropriate attributes for characterizing knowledge demands and knowledge offers. For example, the knowledge components 203, 205, 207 may provide e.g. domain models representing background knowledge for navigation and knowledge retrieval from the knowledge components. Furthermore, the knowledge components 203, 205, 207 may provide information of an access strategy that may e.g. indicate who can access the individual knowledge data, when this may be accessed and how it may be used. A knowledge component can be an application or service itself such as an ontology server, a security service, content storage or a database.
In the example, the application processor 101 is arranged to execute a specific application which relies on the knowledge processing of the reasoning processor 105. The reasoning processor 105 performs this reasoning on the basis of knowledge data retrieved from the knowledge components 203, 205, 207. Furthermore, in the example, the configuration of the reasoning processor 105 is controlled by the application and the processing of data from the knowledge components 203, 205, 207 may depend on this configuration.
In particular, the application processor 101 may define the context in which it wants to be used. Thus, the application processor 101 may define all the domain specific rules, tasks, goals, facts and contexts that are specific to the application and is not found in the knowledge components that it uses.
This may be achieved by the application processor 101 generating configuration instructions corresponding to an application policy implemented by the application. The configuration instructions may e.g. at initialisation be fed to the reasoning processor 105 which may instantiate one or more configuration rules and/or models as prescribed by the configuration instructions.
For example, the application processor 101 may inform the reasoning processor 105 of a number of instructions which must be processed securely. In response, the reasoning processor 105 may set up a configuration rule that specifies that the reasoning processor 105 must be configured to process such instructions in accordance with a secure configuration model. Furthermore, the application processor 101 may specify that such a configuration model is set up to use plurality of processing units which individually process only a part of the retrieved knowledge data . Thus, the self-configuration rules may support the knowledge processor in being able to reason about its own computation from various perspectives . The knowledge processor 103 may be an individual knowledge component that may use this reasoning to make decisions about modifying its own computation. This means that the knowledge component has more control over its own computation. Therefore, if it is given the capabilities to reason about its own computation in this way, it will have the potential to act in a more autonomous manner (e.g. to include new configuration rules on the fly, to take into account that a communication channel is no longer available, to re-initialise itself because a modification was causing errors to happen, that a new application policy means it can no longer work with that particular application or share a particular piece of knowledge etc) . This principle of self-configuration rules may be used to dynamically select the appropriate policy and maintain and execute the application policies.
The configuration processor 107 may use self- configuration rules based on a set of configuration strategies. The selection of such a strategy at some point in the computation may be based on the application policies that define principles of dependency, exclusions, preferences and mandatory facts about the application.
As a specific example, a self-configuration rule may include the following considerations: Under which conditions to apply the self-configuration rule: E.g. there may be two states: a setup state and a normal computation state. However, it is also effective to have "re-initialise" as a third state which is applied when a configuration fails under certain conditions as this may simplify adaptation of the system. This means that a system in any stage of its execution can apply/can have applied a self- configuration rule. What computational changes have taken place e.g. has new information or knowledge been added such that an application requests to work with a particular computational component and the type of changes, such as modify, add, delete or no-change.
The type of computation to take place.
Whether the last part of the computation executed without an error. An error can be e.g. an attempt to violate a policy, or that a policy conflicts with some other software agreement etc.
An example context is [setup, [add, [new-policy, only rdf enabled applications, policy-db] ], speculate, Error-state]. At the setup stage, a knowledge component has a new policy to add to its policy persistent storage. However, before adding this, the new context may be validated and coordinated with other policies and rules to ensure that there is no conflict. Some examples of the type of rules the configuration processor 107 include:
Conf-RuIe-I: If ( (State = setup) Λ (Change = no-change) Λ (Error = nil)) then Expressions : = ' [configure ( [current, [no-change, Type] , real-mode, _Error] ) ]
This rule basically means that the process of using self- configuration rules can be used during the normal process of running an application with policies and configuration strategies . An application developer can define when these rules are to be invoked, how often to invoke checking etc. This provides flexibility on when to execute policy checking or new strategies. However, there is an overhead of always running such an option in terms of having to convert program into data to be analysed as knowledge.
Conf-Rule-2: If ((State = setup) Λ (member (Change, [add, modify, delete]) Λ (Error = nil)) then Expressions :- '[[consistency-checker, Change, Type] , speculate, update- belief-database, configure]
This rule defines that at set-up the system has a new change of add, modify, or delete some application or component context e.g. add a new user profile model and policy of use. Conf-Rule-3: If ( (State= current) A (Change = no-change) Λ (Error = nil))) then Expressions := '[Execute, Get-new- goal, Sensor-input, Belief-database-update, Observer, find]
This rule defines an instantiation of a normal execution. The example here states that the system will execute the following sequence of actions . Any sequence of actions can be defined here that is supported by the application. The granularity of the actions (code to be executed and when next to call the policy configuration check of the system) or the call to the application deployment configuration of where the components will run can be defined by the application developer.
Conf-Rule-4 : If ((State = change)) Λ (member (Change, [add, modify, delete] ) Λ (Error = nil) ) then Expressions := '[[consistency-checker, Change, Type], speculate, update-belief-database, configure] ,
Similar to rule 2, however, the application is already running and a change has been initiated.
Conf-Rule-5: If ((State = initialise) A (Change = no- change) A (Error = nil)) then Expressions := λ [ [consistency-checker, re-initialise, startup] ]
This rule enables determination of whether the policy system and configuration system can initialise and startup automatically using a new strategy, knowledge or component. This may be done independently of the application itself and will be dependent on how the application uses self-configuration rules.
Conf-Rule-6: If ( (member (State, [current, setup, initialise] ) Λ (Change = no-change) Λ (Error) ) then get- current-configuration (Configuration) Λ determine- component-error (Configuration, Error)
A rule for handling an error that has occurred during a policy rule or configuration deployment strategy selection.
In the example of FIG. 2 the reasoning processor 105 is further coupled to a coordination processor 201. The coordination processor 201 comprises the required functionality for accessing the plurality of distributed knowledge components 203, 205, 207. Furthermore, the coordination processor 201 comprises functionality for interfacing between the reasoning processor 105 and the knowledge components 203, 205, 207.
For example, the coordination processor 201 may receive a request for specific knowledge data from the reasoning processor 105. In response, the reasoning processor 105 may determine which of the knowledge components 203, 205, 207 have the required information.
In some embodiments, the coordination processor 201 may have specific information of what data is available from each knowledge component 203, 205, 207. In other embodiments, an external bulletin board may for example comprise a listing of what data is available from each knowledge component 203, 205, 207 and the coordination processor 201 may be capable of accessing this bulletin board to identify which knowledge components 203, 205, 207 should be accessed.
When the location of the requested knowledge data is identified, the coordination processor 201 may access the specific knowledge component and retrieve the desired information.
This access may furthermore comprise a negotiation with the specific knowledge component. For example, the knowledge component may have a specific access strategy which defines e.g. who may be provided with knowledge data, which knowledge data may be provided, how this may be used etc. E.g. the knowledge components may have an access policy wherein some knowledge data is freely provided to everybody whereas other knowledge data will only be provided if a specific agreement has been setup or in response to payment .
As a specific example, the coordination processor 201 may access the identified knowledge component and request specific data. In response, the knowledge component may signal that this data is only available in return for a payment or may only be used in a very specific way (for example with a clear source indication) . The coordination processor 201 may then proceed to accept the restriction and may accordingly receive the knowledge data. Alternatively, the coordination processor 201 may provide payment details and receive the knowledge data for use without restriction. As another alternative, the coordination processor 201 may provide a reference to a pre-existing agreement which allows access to the required data which may then be provided.
When the coordination processor 201 receives the required knowledge data this is returned to the reasoning processor 105 which accordingly use the data for reasoning.
Thus, the coordination processor 201 may provide independence between the knowledge components 203, 205, 207 and the application and reasoning processes. This may facilitate distributed knowledge management for the reasoning processing and for the knowledge components. In such a system, each knowledge component has independence of where it is to be located. Each knowledge component may e.g. range from a simple database, with a simple query interface, to being a large reasoning component itself. The separation of what to class as a component is left to the designer. For example, one knowledge component itself may also be distributed, such as in the case of a large ontology server.
The described system may provide for an efficient way of tracking, verifying and auditing ownership, rights and use of knowledge data. This may be achieved while maintaining an open knowledge sharing system. The configuration of the reasoning processor 105 may be used to control the access of the knowledge components 203, 205, 207 by the coordination processor 201. For example, a first configuration model may correspond to a premium configuration model which allows cost to be incurred when retrieving knowledge data whereas another configuration model may correspond to a low cost option which does not allow any cost to be incurred. At the application level, the designer may simply specify that in some states, costs may be incurred while in other states it may not. The reasoning processor 105 may then reconfigure itself to use the premium or non-premium configuration depending on the state of the application. Depending on the current configuration of the reasoning processor 105, the coordination processor 201 may then interact appropriately with the knowledge components 203, 205, 207. Hence, the operation of the knowledge system may automatically be configured at run time and the design of the application may be made without any specific knowledge of the exact conditions of the systems such as knowledge of which knowledge components 203, 205, 207 are available of which knowledge data is free of charge. Hence, if a knowledge provider starts to charge for previously freely provided knowledge data, the knowledge processing system may automatically reconfigure itself not to use this information.
In some embodiments, the coordination processor 201 may be arranged to access and combine data from different knowledge components. For example, the information request from the reasoning processor 105 may be a request for a telephone number of an employee of a given company. In response, the coordination processor 201 may access a first knowledge component provided by the company and may therefrom obtain a list of employee addresses for employees of the company. In addition, the coordination processor 201 may access a second public knowledge component to obtain telephone numbers of all persons with the specific name of the employee. The coordination processor 201 may then compare the two lists and identify the telephone number for a matching address between the two lists. This information may then be provided to the reasoning processor 105.
In some embodiments, the reasoning processor 105 is arranged to perform incremental reasoning which may enable distributed knowledge to be reasoned about in an autonomous manner, while not centralizing the knowledge at any one point. Incremental reasoning is based on defining policies about the knowledge components' distribution which are created as self-configuration rules
In some embodiments, the knowledge processing apparatus 100 may be arranged to perform self configuration in response to a resource environment of the application. In particular, a characteristic of the resource environment may be evaluated by one of the configuration rules and a configuration model may be modified or selected accordingly.
For example, the configuration processor 107 may evaluate if the locally available computational resource exceeds that which is required by a reasoning algorithm invoked by an instruction from the application processor 101. If so, a configuration model is selected which results in the processing being performed locally. Otherwise, a configuration model is selected where the processing is distributed between a plurality of processing units.
As another example, the knowledge processing apparatus may be used in a mobile communications network. In this case, a configuration rule may be invoked to determine if a given bandwidth availability to a specific knowledge component exceeds a threshold. If so, a configuration model may be selected which requires large amounts of information to be retrieved from that knowledge component providing for a detailed reasoning by the reasoning processor 105. However, if the bandwidth availability is below the threshold, a configuration model which results in only low amounts of information being retrieved is selected. This may reduce the detail of the reasoning but may also reduce the reasoning delay.
It will be appreciated that the above description for clarity has described embodiments of the invention with reference to different functional units and processors. However, it will be apparent that any suitable distribution of functionality between different functional units or processors may be used without detracting from the invention. For example, functionality illustrated to be performed by separate processors or controllers may be performed by the same processor or controllers. Hence, references to specific functional units are only to be seen as references to suitable means for providing the described functionality rather than indicative of a strict logical or physical structure or organization. The invention can be implemented in any suitable form including hardware, software, firmware or any combination of these. The invention may optionally be implemented at least partly as computer software running on one or more data processors and/or digital signal processors. The elements and components of an embodiment of the invention may be physically, functionally and logically implemented in any suitable way. Indeed the functionality may be implemented in a single unit, in a plurality of units or as part of other functional units. As such, the invention may be implemented in a single unit or may be physically and functionally distributed between different units and processors .
Although the present invention has been described in connection with some embodiments, it is not intended to be limited to the specific form set forth herein. Rather, the scope of the present invention is limited only by the accompanying claims. Additionally, although a feature may appear to be described in connection with particular embodiments, one skilled in the art would recognize that various features of the described embodiments may be combined in accordance with the invention. In the claims, the term comprising does not exclude the presence of other elements or steps.
Furthermore, although individually listed, a plurality of means, elements or method steps may be implemented by e.g. a single unit or processor. Additionally, although individual features may be included in different claims, these may possibly be advantageously combined, and the inclusion in different claims does not imply that a combination of features is not feasible and/or advantageous. Also the inclusion of a feature in one category of claims does not imply a limitation to this category but rather indicates that the feature is equally applicable to other claim categories as appropriate. Furthermore, the order of features in the claims do not imply any specific order in which the features must be worked and in particular the order of individual steps in a method claim does not imply that the steps must be performed in this order. Rather, the steps may be performed in any suitable order. In addition, singular references do not exclude a plurality. Thus references to "a", "an", "first", "second" etc do not preclude a plurality.

Claims

1. A knowledge processing apparatus comprising: application means for executing a knowledge application; knowledge processing means for processing knowledge data in response to instructions from the application means and for providing a result of the processing to the application means; the knowledge processing means comprising self configuration means for dynamically configuring the processing in response to configuration rules and configuration models; and wherein the self configuration means is further arranged to perform the configuration of the knowledge processing means in response to instructions received from the application means.
2. The knowledge processing apparatus according to claim 1 wherein the self configuration means is arranged to configure the knowledge processing means by selecting a configuration model in response to an evaluation of at least one configuration rule.
3. The knowledge processing apparatus according to any previous claim wherein the self configuration means comprises means for modifying a configuration model in response to an instruction received from the application means .
4. The knowledge processing apparatus according to any previous claim wherein the self configuration means is arranged to modify a configuration model in response to an evaluation of at least one configuration rule.
5. The knowledge processing apparatus according to any previous claim wherein the application means comprises means for generating configuration instructions in response to an application policy and the self configuration means is arranged to instantiate at least one of the configuration rules in response to the configuration instructions.
6. The knowledge processing apparatus according to any previous claim wherein the self configuration means comprises means for performing a configuration in response to a resource environment for the knowledge application.
7. The knowledge processing apparatus according to any previous claim wherein the knowledge processing means comprises means for accessing a plurality of knowledge components .
8. The knowledge processing apparatus according to any previous claim wherein the knowledge processing means comprises reasoning means for generating the result of the processing by reasoning on the knowledge data.
9. The knowledge processing apparatus according to claim 8 as dependent on claim 7 further comprising coordination means for interfacing between the plurality of knowledge components and the knowledge processing means.
10. The knowledge processing apparatus according to claim 9 wherein the coordination means comprises means for receiving an information request from the reasoning means and for obtaining information from a first knowledge component in response to the information request.
11. The knowledge processing apparatus according to any- previous claim wherein the coordination means comprises means for negotiating an access policy with at least the first knowledge component.
12. The knowledge processing apparatus according to any previous claim wherein the knowledge processing means has functionality for dynamically varying a location of the processing dependent on the configuration of the knowledge processing means .
13. A method of knowledge processing comprising: executing a knowledge application; processing knowledge data in response to instructions from the knowledge application and for providing a result of the processing to the knowledge application; and dynamically configuring the processing in response to configuration rules, configuration models and instructions received from the knowledge application.
PCT/US2006/011077 2005-03-31 2006-03-27 Knowledge processing apparatus and method WO2006105003A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0506534A GB2424728A (en) 2005-03-31 2005-03-31 Knowledge processing apparatus and method
GB0506534.7 2005-03-31

Publications (2)

Publication Number Publication Date
WO2006105003A2 true WO2006105003A2 (en) 2006-10-05
WO2006105003A3 WO2006105003A3 (en) 2007-04-19

Family

ID=34566762

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/011077 WO2006105003A2 (en) 2005-03-31 2006-03-27 Knowledge processing apparatus and method

Country Status (2)

Country Link
GB (1) GB2424728A (en)
WO (1) WO2006105003A2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261086A (en) * 1987-10-26 1993-11-09 Nec Corporation Performance analyzing and diagnosing system for computer systems
US5751371A (en) * 1994-12-22 1998-05-12 Sony Corporation Picture receiving apparatus

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001031501A1 (en) * 1999-10-27 2001-05-03 British Telecommunications Public Limited Company Distributed database management system
WO2002031625A2 (en) * 2000-10-13 2002-04-18 Cytaq, Inc. A system and method of translating a universal query language to sql
US20040010491A1 (en) * 2002-06-28 2004-01-15 Markus Riedinger User interface framework

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261086A (en) * 1987-10-26 1993-11-09 Nec Corporation Performance analyzing and diagnosing system for computer systems
US5751371A (en) * 1994-12-22 1998-05-12 Sony Corporation Picture receiving apparatus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ARDISSONO L. ET AL.: 'A Framework for the Development of Personalized, Distributed Web-Based Configuration Systems' AI MAGAZINE 2003, pages 93 - 108 *
ZHA X.F.: 'A Knowledge Intensive Multi-Agent Framework for Cooperative/Colaborative Design Modeling and Decision Support of Assemblies' KNOWLEDGE-BASED SYSTEMS vol. 15, no. 8, November 2002, pages 493 - 506, XP003010632 *

Also Published As

Publication number Publication date
WO2006105003A3 (en) 2007-04-19
GB2424728A (en) 2006-10-04
GB0506534D0 (en) 2005-05-04

Similar Documents

Publication Publication Date Title
US11296998B2 (en) Resolving information in a database environment
US8196187B2 (en) Resource state transition based access control system
JP4787149B2 (en) System and method for hierarchical role-based qualification
US8055680B2 (en) Assigning access control lists to a hierarchical namespace to optimize ACL inheritance
Bernabe et al. Semantic-aware multi-tenancy authorization system for cloud architectures
US20120102539A1 (en) Cloud services layer
Roman et al. A formal treatment of context-awareness
US11954233B2 (en) Chaining, triggering, and enforcing entitlements
US20210297451A1 (en) Policy rule enforcement decision evaluation with conflict resolution
US20080168528A1 (en) Role-based authorization using conditional permissions
US11775681B2 (en) Enforcement flow for pipelines that include entitlements
Park et al. Approach for selecting and integrating cloud services to construct hybrid cloud
US20060282428A1 (en) Method and system for assignment of membership through script
WO2006105003A2 (en) Knowledge processing apparatus and method
US20220353298A1 (en) Embedded and distributable policy enforcement
US9094447B1 (en) Computer security application configuration structure employing independently specified configuration objects and separate resolver
US20240177049A1 (en) Confidential tuning of pre-trained machine learning models
US11930017B1 (en) Cloud security platform with contextual hot-spot permissions analytics
US20220353241A1 (en) Policy compilation and dissemination as a layer 7 firewall
CA3201999A1 (en) High-fidelity data management for cross domain analytics
Jain et al. Dynamic resource organization and query optimization strategies for cloud databases
Mileo et al. Access Control and the Resource Description Framework: A Survey
Mansor et al. Evaluation of dynamic conflict avoidance algorithm

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase in:

Ref country code: DE

NENP Non-entry into the national phase in:

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 06739722

Country of ref document: EP

Kind code of ref document: A2