AGENTS
This invention relates to agents. More specifically, this invention relates to the creation of group or collective agents by and/or from other agents.
For the purposes of this disclosure, the term agent is used to represent an entity which acts on behalf of a system user or a group of such users. Examples of systems within which one or more agents may be employed are cellular communications systems, the internet, internet service providers and internet chat room systems. It should be appreciated that this invention is by no means restricted to these examples.
It is apparent that people, especially younger people, experience a cultural and psychological need to belong, either formally or informally, to groups. Such groups may include groups of friends, members of a club or society, members of a particular organisation, supporters of a particular sports team or personality, supporters of a particular movement and fans of a popular music group, etc.
In contrast to their need to belong, people also feel the need to express their individuality within the groups to which they belong. It is often of particular importance that people, especially younger people, are true to their particular beliefs, and are seen to be so by others.
Such social needs are experienced in many, if not all, aspects of modern life. Therefore, there is a requirement for support for, and the fulfilment of, such needs within the technologies upon which the modern way of life is founded, and along side which the modern way of life is developing. At the present time there is no provision for the support of a group culture amongst mobile communication devices and other analogous systems. In addition, the improvement of group culture support within internet services and systems and the like is perceived to be necessary. The problem experienced with all such technologies is that they do not readily support, or provide facilities for, the grouping together of people, even
though the formation of such groups is an inherent desire and need of the users of modern technologies and systems.
The present invention addresses some or all of the above disadvantages.
In accordance with the present invention, there is provided, as claimed in the appendent claims, a method of and a system for creating a group or collective agent.
The group or collective agent may be created from a set of agents and may comprise a set of characteristics. The characteristics may be divided into one or more subsets, which may include private information which is not to be divulged, public information which may be freely dispersed, and restricted public information which may be dispersed to a limited group determined in accordance with selected criteria.
Preferably, the method may include the steps of determining a set of characteristics to be implanted in a new group agent, creating a new agent entity, initialising the new agent entity with the chosen set of characteristics, and running the new group or collective agent.
The method may further include the steps of: an agent within a set of agents sending a message to the other agents within the set, and the agents receiving a response from the other agents within that set. The message may comprise a proposal for a new group which is desired to be created, and the conditions for membership of that group. The responses received by the agent making the proposal may indicate whether each agent in the set is desirous of being a member of the proposed group. Further, the method may comprise the steps of the agent which proposed a new group determining which agents are to be added to the new group, and initiating the creation of a new agent entity.
Further, a method according to the invention may include the steps of at least one agent within a set of agents sending a request to a grouping agent also
resident within the set, the grouping agent accumulating all such requests, and at an appropriate time forming a new group and initiating the creation of a new agent entity. The request may detail which characteristic or characteristics the agent is desirous of sharing with others.
In accordance with a preferred embodiment of the present invention, the method may be implemented in the form of computer program means located on a computer readable medium which, when loaded in a computer, is operative to carry out the method of the present invention. This provides the advantage of portability of the method amongst systems and users.
Also in accordance with the present invention there is provided a system for creating a group or collective agent, comprising: at least two agent entities communicably connected via a message exchange stream; a central control unit; and wherein each agent entity comprises: receiver means for receiving messages transmitted by the central control unit and/or one or more agent entities; and a send module for sending messages to the central control unit and/or one or more agent entities; and at least one agent entity comprises means for initiating the creation of and/or creating a group or collective agents.
According to a preferred embodiment of the present invention, the means for initiating and/or creating comprises: a proposal and conditions generation engine; a transmitter for transmitting the proposal and conditions selectively; means for determining which of the recipients should be group members; and means for rolling out a new group agent.
Preferably, membership is determined in accordance with which recipients desire membership and which of those recipients desirous of membership satisfy the conditions therefor.
In accordance with a further preferred embodiment of the present invention, the means for initiating and/or creating comprises a sub-system for receiving and/or storing requests that a group agent be created; a module for determining
whether a requested agent should be created and for determining group characteristics and membership; and a mechanism for rolling out a new group agent.
Preferably, the sub-system for determining characteristics and membership adds prospective members to a group and only removes them if they reject the group characteristics.
Preferably, the at least two agents are physically connected or are connected via an air interface.
Additional specific advantages of the present invention will be apparent from the following description and figures, in which:
Figure 1 shows an exemplary agent in accordance with the present invention;
Figures 2A to C illustrate a first mechanism, according to the present invention, for the creation of a group or collective agent;
Figure 3 depicts the signalling taking place between the entities involved during the mechanism of Figure 2;
Figure 4 shows the interaction of two agents within a system during the mechanism of Figure 2;
Figures 5A and B show a second mechanism, according to the present invention, for the creation of a group or collective agent;
Figure 6 depicts the interaction of two agents with a grouping agent during the mechanism of Figure 5;
Figure 7 shows exemplary signalling taking place between a set of agents and a grouping agent during the operation of the mechanism of Figure 5; and
Figure 8 shows a flow diagram depicting the creation of a group agent.
The present invention is now described with reference to the accompanying drawings as detailed above.
As may be seen in Figure 1 , an agent 102 of this invention is defined by a set of characteristics 104. As an example, if the agent is representative of a human user of a particular system, the set of characteristics may comprise the preferences of that user relating to the system. It should be noted that the system in which the agent is employed is unnecessary to the understanding of this invention.
The agent characteristics 104 have a hierarchical class structure. The hierarchy is based upon the privacy of the information contained within the characteristics of the agent. In this regard, a subset 106 of the characteristics will be completely confidential, and a second subset 108 of the characteristics will contain public information. Additionally, the public subset 108 may contain a further subset 110 of information which may only be divulged to other agents falling within pre-set criteria. Returning to the example of a human user of a system, the private subset 106 may comprise credit card details, whilst the public subset may comprise the agent's name and a further subset 110, regulated by the condition that the contained information may be divulged only to the members of a group named "friends". The further subset 110 may comprise the human user's name.
When a number of agents contain public information, i.e. information which they are prepared to disclose per se from their set of characteristics, it becomes possible to create new agents which have a set of characteristics based upon the characteristics of the original agents, or a group thereof. The newly formed agent is termed a group or collective agent, and its set of characteristics is representative of the group of agents from which it was created.
In order to create an agent which is representative of a group of agents, it must be determined which agents will be a part of the newly created group. There are two mechanisms which may be utilised to determine which agents do, or wish to, belong to a specific group. The first mechanism is a distributed mechanism wherein a set of agents choose the members of a new group amongst themselves. The second mechanism is a centralised mechanism in which one or more
specialised or grouping agents select the members of a new group. These mechanism are described in detail hereinafter.
Figures 2A to C, 3 and 4 illustrate how a set of agents determines which members of the set are, or should be, a part of a new group which is to be formed. The set 202 of agents in this case comprises all agents present in the system at the time of interest. Firstly, an agent (A) takes the initiative to create a new group. The agent (A) initiating the process may be any one of the agents within the set of agents which has the ability to do so. That particular agent (A) is then responsible for the creation of the new group.
In order that an agent has the ability to initiate the creation of a new group, it must have been given 302 the capability to create, or request the creation of, a new agent. It must have been given 304 the ability to determine the characteristics of a new group agent, and it must have been given 306 the right to create a new group agent. Such capabilities are provided 400 to an agent during its creation, or at a later stage, by a central controller of the system, an agent creation engine used to create the agents initially forming the set of agents, or some other suitable entity.
The agent (A) responsible for the creation of a new group sends 406 a message 204 to the remainder of the set of agents 202. As stated above, the set comprises all agents in this example. However, the set may be limited by characteristic, i.e. only agents which specify (in their characteristics or preferences) an interest in sports may have a message sent to them. The message contains a proposal that a new group (G) be created, and a number of associated conditions for membership of the new group. The agents (B, C, D, E, F) to which the message was sent return a response to the initiating agent (A) which it receives 402 and processes. This response indicates a willingness 206 to be added to the new group (G), or a refusal 208 so to be (Figure 2B). Upon receipt of these responses, the responsible agent (A) decides which agents should be added to the new group of base-ball fans and creates 308 a new agent (G)
which describes the characteristics of the created group. This agent (G) is the group or collective agent.
In order to make the decision of which of the agents expressing a desire to be members of the new group should indeed be included, the responsible agent considers the membership conditions of the group and determines 404 whether those agents satisfy them. If the conditions are satisfied by an agent, it is added to the group, otherwise it is rejected. The agent responsible for the creation of a group may use any criteria and means to accept or refuse a member.
Figures 5A and B, 6 and 7 depict the operation of a centralised mechanism. The set of agents in this case resembles the set of agents described with reference to the distributed mechanism above, differing only in that an additional specialised or grouping agent (SPA) is present. This grouping agent is responsible for the creation of new groups.
As may be seen, any agent (excepting the grouping agent) within the set 500 may send a request 502 to the grouping agent (SPA), the request detailing which characteristics that agent is desirous of sharing with other agents. The grouping agent accumulates 604 all the requests made to it by agents within the set and, when appropriate, creates 504 a new group agent (G). The determination of when is suitable for a new group agent to be created is performed in accordance with an algorithm 606 resident within the grouping agent (SPA). Such an algorithm is implementation dependent. Two exemplary algorithms are set forth below. It should be appreciated that the invention is in no way limited to these two specific algorithms.
Example 1:
IF Number of identical > threshold THEN create a new requests (602) group
Example 2:
-IF Request received THEN poll (via send module 608) all agents in set for characteristics, then create new group choosing suitable agents
The actual creation of a group agent is now described with reference to Figure 8. The process is highly dependent upon the agent technology being used, but in a preferred embodiment follows the following steps. Function box 802 illustrates the step of determining the set of characteristics to be implanted in a new group agent. The set of characteristics and the hierarchical structure of the agent will differ depending upon the purpose for which it is created. As an example, it is unlikely that an agent created to group together the names of supporters of Marseille Football Club who reside in the South of France would contain a private sub-section of characteristics. In contrast, an agent created to group together user's bank details and financial interests would be unlikely to contain much information in the wholly public sub-section of characteristics.
Each group agent created is able to retain only a portion of the overlapping characteristics of the agents which form the group. All non-overlapping characteristics are discarded. As such, several agents may be created for the same group, each newly created group agent comprising a specific combination of the common characteristics of the members of the group. Of course, if the quantity of overlapping characteristics and the number of group members is very small, a single group agent will be sufficient to retain all such information. In order to avoid duplication of group agents, the agent responsible for the creation of the group agent manages the selection of the set of characteristics of the newly created group agent. Management of this selection must be performed in such a way as to receive the agreement of all members of the group.
As an example, the SPA may determine that the characteristics of a group agent are the overlapping public characteristics of the group members. These characteristics may then be sent to each member of the group. If any members of the group reject this set of characteristics, they will be removed from the group
Once the set of characteristics to be implanted in a new group agent has been determined, a new agent entity is created (function box 804). The form and construction of this entity is entirely implementation dependent and may take the form of an object in the Java programming language for example. In such a case, i.e. wherein the agents etc. are implemented in software, the method of the present invention may be provided in the form of computer program means storable and/or stored on a computer readable medium such as a floppy disk, a CD ROM or a conventional ROM chip, for example. The loading and/or activation of such computer program means would then cause to be carried out the method of the present invention.
After the creation of an agent entity, the entity is initialised and the predetermined character set is implanted (function box 806). Finally, the new agent is triggered and allowed to run or function in the system (function box 808).
In some cases, it may be useful for group agents to be susceptible to grouping amongst themselves. However, in other cases it may be paramount that the group agents should be a final such agent and should not be able to group further. This latter case may be so if the list of group members has been specifically chosen by the agent responsible for the creation of the group. It is decided whether a group agent may group further during the creation of that group agent. If a group agent is able to group further, it may do so through either of the above mechanisms in the same way as any normal (single user) agent. If it is not allowed to group further, the new group agent is inhibited from doing so. Such an inhibition is achieved by denying the agent one of the three capabilities (set forth above) required to enable further grouping.
Similarly, there is provided an apparatus and system, as shown in Figures 4 and 6, comprising the means to carry out the method detailed above. As may be seen, agents may reside within computers, mobile telephones etc., and communication between agents and between agents and a central controller (for example) may be by means of radio link, via the internet, or by other analogous means.
The use of the method described above within a system, whatever that system may be, to provide a foundation for a group culture within that system will provide distinct advantages. The ability of this method to accommodate requests from a single agent and translate them into a new group which is overseen by its own agent entity allows the most diverse grouping needs and desires of a system's users to be provided for. Additionally, the creation of an agent for a new group, in such a way as to enhance the synergy of the group identity and to exclude characteristics from individual agents which are not pertinent to the group, allows that agent to represent group interests which are dynamically evolving. For example, it is feasible that, should the characteristics of a group member change such that it no longer satisfies the criteria set for group membership, it may be expelled from the group either by the group agent or the agent responsible for the creation of the group agent.
It is clear to see that this method and system, and its inherent advantages, will pay particular dividends when utilised within cellular communications systems. An agent would then represent each mobile subscriber or user equipment thereby allowing dynamic grouping between system users to occur, providing access to information required or desired, and allowing contact to be made between like minded users or users with common interests, etc. It is similarly clear that the same is true for analogous systems including, electronic mail systems, internet service providers and radio paging systems, etc.
A further advantage of the use of the above method is evident in the creation of a group agent in order to group the task processing of a number of agents. Several agents, all of which perform the same task, may create a group agent to perform the task once only and report the result to the group members. In the above example of cellular communications, this would result in a reduction in bandwidth consumption.
It will be appreciated that, whilst this invention has been described with reference to a software implementation of agent technology, perhaps via base
station systems of a cellular communications system, it applies equally to a hardware or physical implementation. Similarly, it will be appreciated that this invention applies equally to all currently known forms of agent.
It will of course be understood that the present invention has been described above by way of example only, and that modifications of detail can be made within the scope of this invention.