Scheduler for a software system having means for allocating...

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S241000, C709S241000

Reexamination Certificate

active

06263358

ABSTRACT:

The present invention relates to scheduling in software systems and finds an application for instance in scheduling collaborative tasks in a community of software agents.
Software agent technology has developed over the past few years in several different fields. A software agent is a computer program which acts as an agent for an entity such as a user, a piece of equipment or a business. The software agent usually holds data in relation to the entity it represents, has a set of constraints or conditions to determine its behaviour and, most importantly, is provided with decision making software for making decisions on behalf of the entity within or as a result of the constraints and conditions. Agents are generally acting within a system and the decisions an agent makes can result in activity by the system. In control software systems, those decisions result in control activity, such as initiating connection set-up in a communications network controlled by the system.
An agent acting within a system will also generally hold data about the system so that it can operate in context.
In a distributed environment, many such agents may co-operate to co-ordinate and perform the control activities. Typically, such agents form an agent layer, with each agent interfacing with a number of external systems (the domain layer) which they control, monitor or manage, as shown in FIG.
1
.
An agent-based system can be very complex since the interactions between the agents, the decision-making processes of individual agents and, the interactions between agents and the external systems they control, need to be taken into account.
Different types of agent-based systems are described in many papers, such as those published in the proceedings of the First and Second International Conferences on the Practical Application of Intelligent Agents and Multi-Agent Technology. These are published by the Practical Application Company Ltd., Blackpool, Lancashire, in 1996 and 1997 respectively. A general comprehensive review of agent-based technology is given by Hyacinth S. Nwana, “Software Agents: An Overview” in the
Knowledge Engineering Review
journal, Vol. 11, No. 3, pages 205-244.
There are ways already known for building software agents. For instance, the following publications describe agent building arrangements:
1. IBM's Agent Building Environment (ABE) which is essentially a C++ class library [http://www.networking.ibm.com/iag/iagwatsn.htm]. ABE is a tool-kit that facilitates the construction of agent-based applications or helps add an agent to existing applications. This tool-kit applies to relatively trivial “interface” agents, or agents that work alone. For example, an agent here could be one that which monitors the value of stock in the financial markets and alerts its user (e.g. via paging) when the value falls below a certain threshold. ABE does not describe means for building multiple agent systems, nor do they describe means for building more than one type of agent.
2. MIT's SODABOT [http://www.ai.mit.edu/people/sodabot/sodabot.html], General Magic's Telescript and Odyssey [http://www.genmagic.com], and IBM's Aglets [http://www.trl.ibm.co.jp/aglets]. These all provide other environments which facilitate the construction of “mobile” agents-based applications. However, they are also not much more than languages, comparable to the “Java” language developed by Sun Microsystems Inc., and do not provide specific advanced agent-building arrangements.
Perhaps more relevant to embodiments of the present invention is the agent building shell work done at the University of Toronto. This is described by Mihai Barbuceanu & Mark S. Fox in the paper “The Architecture of an Agent Building Shell”, published in 1996 in
Intelligent Agents II
, Berlin by Springer-Verlag, 1037, 235-250 and edited by Wooldridge, M., Muller, J. & Tambe, M. This work describes an agent building shell “that provides several reusable layers of languages and services for building agent systems: coordination and communication languages, description logic based knowledge management, cooperative information distribution, organisation modelling and conflict management” (page 235). This work is still very much in progress and has not yet resulted in a practical embodiment with much effort having been expended on theoretical issues such as description logics, non-monotonic logics and extending KQML to derive the language “COOL”. The work of the present invention differs markedly from this in that it provides a tool-kit for defining and generating real agent-based control software for real applications, and goes well beyond the general academic nature of the Toronto work.
A particular problem arises with “collaborative” agents. Collaborative agents are a group of agents which co-operate with one another to co-ordinate their activities in performing a particular task. Such co-operation may be necessary because know-how, resources or processing power may be distributed across the environment or across the agents in the system. The problem with collaborative agent systems is the need to co-ordinate their activities in a problem- and context-dependent manner.
An example of a collaborative agent system, used in this case in communications network management, is described in international patent application number WO95/15635, in the name of the present applicant.
According to a first aspect of the present invention, there is provided a software building environment , for building a software system for use in control, monitoring and/or management of a process or apparatus, said environment comprising at least one software module, means for capturing data for loading a copy of said module for use in said software system, and means for generating the software system comprising at least two of said loaded modules.
Each loaded software module preferably comprises a collaborative software agent. It will therefore comprise or have access to at least one collaboration or co-ordination strategy, expressed for instance as a rule or algorithm. Said at least two loaded modules together can then provide a multiple agent community for controlling, monitoring and/or managing the process.
Embodiments of the present invention can provide collaborative agent building environments with which system developers can define a set of agents to work together in a system, organise them in relation to one another in whatever manner they choose, imbue them with co-ordination abilities suitable for the problems the agents are being designated to tackle, support links from the agents to said process or apparatus they need to communicate with, to control or update for instance, and generate the software code for the agents.
It is not necessary that all the loaded software modules are the same. Indeed, usually at least some of them will hold different data sets because they represent different entities. Preferably, the software building environment provides, or provides access to, more than one collaboration or co-ordination strategy. In use of the environment, the developer can then load a different collaboration or co-ordination strategy to at least one module for use in the system.
More preferably, the software module is capable of having loaded therein more than one collaboration or co-ordination strategy such that its collaboration or co-ordination behaviour in the system is flexible. That is, it can operate according to one collaboration or co-ordination strategy at one time and another collaboration or co-ordination strategy at another time.
The software module may also or instead be capable of operating according to more than one collaboration or co-ordination strategy at once.
According to a second aspect of the present invention, there is provided a software system for use in control, monitoring and/or management of a process or apparatus, wherein said system comprises at least two software modules, each module comprising data and/or process information which comprises:
(i) organisation data conc

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Scheduler for a software system having means for allocating... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Scheduler for a software system having means for allocating..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Scheduler for a software system having means for allocating... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2523425

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.