CA2318582C - Communications network management - Google Patents

Communications network management Download PDF

Info

Publication number
CA2318582C
CA2318582C CA002318582A CA2318582A CA2318582C CA 2318582 C CA2318582 C CA 2318582C CA 002318582 A CA002318582 A CA 002318582A CA 2318582 A CA2318582 A CA 2318582A CA 2318582 C CA2318582 C CA 2318582C
Authority
CA
Canada
Prior art keywords
agent
network
agents
service
nodes
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CA002318582A
Other languages
French (fr)
Other versions
CA2318582A1 (en
Inventor
Nicolae Marius Busuioc
Bharat Purohit
Ian Barry Crabtree
Jacob Yadegar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Priority claimed from CA002177488A external-priority patent/CA2177488C/en
Publication of CA2318582A1 publication Critical patent/CA2318582A1/en
Application granted granted Critical
Publication of CA2318582C publication Critical patent/CA2318582C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

A communications network (1) such as a Global Multi Service Network is provided with a management system which comprises a distributed control system (4).The distributed control system (4) is an open community of co-operating intelligent software agents (5, 6) which individually have control, or responsibility for managing, one or more nodes (3) of the communications network (1). There are software agents of more than one type and the service management agents (5) which have control over nodes (3) of the network (1) enter a negotiation process with customer agents (6) in the provision of new services, so as to meet the constraints of both customer requirements and the interest of the relevant service provider. In the event of agent failure, the service management agents (5) initiate a bidding process to reallocate the responsibilities of a failed agent.

Description

.
COMMUNICATIONS NETWORK MANAGEMENT
The present invention relates to communications networks and particularly to the management thereof.
Competitive advantage can be gained by communications network operators through the services that they offer and the efficiency with which they manage those services. Targets that a network operator might aim for include reduced charges, improved quality and increased customer control of services.
Part of the networking infrastructure that might facilitate these customer offerings may well be the Global Multi-Service Networks (GMSNs) which enable network operators to offer their customers:
- Rapid service provisioning - Controlled quality of service - Integrated services - Regulated control of network services Ideally, these facilities will be offered with the same availability as voice connectivity is today but providing many new features together with mobility and movability of customers.
To enable network operators to offer their customers the extensive flexibility, quality and control the above demands, GMSNs will need to support:
- Multi service provision - Multiple vendors - Multiple administrators - Flexible service management The complexity and operational characteristics of GMSNs are expected to impose requirements beyond the capabilities of current network management approaches. Not only will the GMSNs have to provide services to the customer according to contract but price and performance will have to be optimized at the same time for the network operator.
A Multi-Service Network (MSN) is any network that is capable of supporting a range of services. The Pan-European Integrated Broadband Network investigated in a European RACE initiative, and referred to in the paper "Broadband Communication Management The RACE TMN Approach" presented by R Smith at the IEE Broadband _2_ Conference in London in 1990, is an example of a MSN based on the Asynchronous Transfer Mode. There are networks currently available in the USA which are examples of MSNs that use more conventional switches (e.g. DMS 250 from Northern Telecom) . Such networks can be used to transmit voice as well as data . The data can be split into various transmission rates, for instance from 19 kbits/sec up to 40 Mbits/sec, so that a range of services from file transfer to real time video can be supported. Furthermore, the trend in such networks is towards global networks where the MSN can span many countries, hence the emergence of GMSNs.
Initially at least, the intended customers for MSNs are expected to be large corporate users, perhaps with many sites situated world-wide. Such a customer will require a network which appears to be a private switched network, providing at least the functionality that they enjoy from the international private leased circuits. In fact the service can be supported by a number of underlying networks, possibly from many different network operators. This arrangement is known as a virtual network.
Service Level Aareement (SLAB) These companies often entrust a large proportion of their world telecommunications requirements to one service provider by contract. It is extremely important that they are provided with the level of service specified in their contract. The exact definition of the service is specified in a Service Level Agreement (SLA). The range of services available is potentially extremely large, and each service can be further customized since each service has a range of options. Example services include:
- Dedicated international private leased circuits - Routing controlled by - - time of day - calling identity - originated location - Customer controlled dialing plans An example of the latter is where a user needs only to dial 111 to get through to the relevant sales department, regardless of where the call is originated geographically in relation to the _3_ sales department.
A SLA can be expected in general to include:
- Grade of Service (blocking probabilities, bit error rate, error free seconds etc.) - Target and guaranteed minimum provision times - Target and guaranteed minimum cessation time - Target and guaranteed minimum repair times - Target and guaranteed service availability Working in object oriented software technology, models for services and SLAB have been developed by the International Standards bodies (OSI/NMF and CCITT). These provide Generic Managed Obj ect classes that define services and SLAB . The concept of a feature Managed Object is introduced to define a component of a service that can be offered to the customer. The logical numbering scheme permitted in Intelligent Networks is an example of such a feature. Features can be "nested" so that one feature is a component of another feature. The mapping from the feature to the underlying network resources is also defined in the feature object. In an intelligent network of known type, having a structure including a service control point (SCP) (or other means) for making reference to service and/or customer data, the service control point (SCP) would typically be a resource on which many features (e. g. logical numbering, time-of-day routing depend.
Information about billing, fault handling and performance criteria may also be held within a feature, so long as it is common to all instances of that feature. It is possible for instance though that the performance criteria of some features will depend on the use to which they are put.
A SLA is then defined in terms of the component features that support the service in question. In addition to this, information about the contract and a description of the service covered by the SLA is also kept. A SLA will typically refer to a number of features, which in turn may refer to other features and resources. To support this relationship a number of dependency relationship types can be defined (supports, depends-on etc).

Multi Service Network Management The customer is also likely to require the ability to manage their own virtual network: services can be reque~;ted, altered and ceased by the customer from on-line connections to the service provider's equipment.
All this complexity makes network management an extremely difficult matter, particularly where reconfiguration is required, and particularly in the light of SLAB.
Providing Multi-Service capabilities acro:~s more than one country is likely to require considerable capital outlay. To make such a network viable the operating cost has to be kept within tight constraints. To meet this operating cost constraint, extensive automation of management functions in the network will be very attractive, if not essential.
According to embodiments of the present invention, this automation will be achieved at least in part through the use of Cooperating Intelligent Software Agent technology. The basis for such technology is described in general terms in various publications including:
i) "Distributed Artificial Intelligence" by M Huhns, Volumes I and II, published by Pitman, Morgan, Kaufmann in 1987;
ii) "Fundamentals of Distributed Artificial Intelligence" by D
G Griffiths and B K Purohit, published in British Telecommunications Technology Journal, Volume 9 No. 3, in July 1991; and iii) "The Role of Intelligence Software Agents in Integrated Communications Management" by D G Griffiths and C: Whitney, in the same issue of the British Telecommunications Technology Journal.
Particular aspects of network management which might be automated by means of embodiments of the present invention, together or separately, include the establishment: and restoration of routes in an underlying physical network while maintaining customer requirements satisfaction.

, , CA 02318582 2000-09-14 .' _5_ Lona Term Service Provisioning Service provisioning is a requirement of any telecommunications operator. Service provisioning for a GMSN
tends to differ from conventional networks because of the following characteristics:
- A large range of services - A wide range of customer types - Complex SLAB with financial penalties - Network(s) spanning more than one country It is likely to be a requirement that when a customer requests that a new service be provided, they should receive a quote and an indication of time scales within a fixed time. The customer puts in a request for a new service (possibly via a management terminal for existing customers, or through a negotiator for new customers) and will expect to be told how much the service is going to cost and when it can be made available.
If the service cannot be supported by the existing network configuration then some reconfiguration is clearly required and may well involve the provisioning of new equipment.
Real-time Network Reconfiguration When a network element fails, a number of services could be affected. They could fail completely or they could fail partially but their quality of service may drop below that defined in the customer SLA. When such faults occur, alternative ways (through network reconfiguration) must be found for re-establishing the same service.
In a conventional network (e.g. as provided to date in the UK PSTN) such reconfiguration is controlled by routing tables in the switch (e. g. System-X exchanges). The switch automatically attempts to re-route around problems in the network through control actions from a central operations unit. This routing takes no direct account of the type of traffic that is being routed and, as a result, all traffic is treated equally.
In a more complex network (such as GMSNs), where there is a wide range of services and a large number of different customer types, this simple approach is not so viable. It is no longer safe to assume that all network usage is of equal importance.

. ~ _6_ According to the present invention, there is provided a communications network management system comprising a distributed control system based on cooperating intelligent software agents, wherein reconfiguration of either the communications network or of the agents can be carried out under the control of the agents .
Such reconfiguration would be triggered, for instance, by a request from a customer for a new service, or in the event of agent failure.
In the case of agent failure, in particular, it may be very important that the reconfiguration be carried out very fast so as to maintain or reestablish services . It will also be important that the control systems refer to SLAs to see which services have priority in the face of pending or actual failure. Thus when a network fault occurs all (or all significant) affected services need to be detected and the consequence these have on agreed SLAB
investigated. The broken SLAB will be ranked in order of urgency and the network reconfigured to restore service in such a way that minimises the consequences of the failure.
An embodiment of the present invention can be described as an open heterogeneous system architecture based on autonomous software agents working cooperatively to solve a sub-set of service management problems in a GMSN. The service management problems concerned might include the above mentioned real-time reconfiguration together with service provision in response to customer request.
Embodiments of the present invention will now be described in more detail, by way of example only, with reference to the accompanying Figures, in which:
Figure 1 shows a top level architecture for a GMSN together with a control network therefor;
Figure 2 shows the architecture of a software agent, specifically a service management agent 5, for use in the control network of Figure 1;
Figure 3 shows the architecture of a software agent, specifically a customer agent 6, for use in the control network of Figure 1;
Figure 4 shows a flow diagram for a negotiation process in . ' _~_ service provision in a GMSN 1 as shown in Figure 1;
Figure 5 shows a flow diagram for a bidding process in the event of agent failure in the control network of Figure 1; and Figure 6 shows the flow diagram of Figure 5 with some additional steps.
Referring to Figure 1, a GMSN 1 generally comprises communication links 2 between network nodes or switches Communications occur along the communication links 2 in a combination determined by the configuration at the nodes 3.
The GMSN has an associated control network 4 comprising a plurality of computer systems, or software agents, 5,6. The software agents 5,6 are of two types, these being Service Management Agents (SMAs) 5, and Customer Agents (CAs) 6. Each CA 6 is associated with a SMA 5 and acts to negotiate between a GMSN customer and a SMA 5 that might provide a service to that customer.
Software agents 5,6 can enter or leave the community they form the control network for. The main functions performed by the agents 5,6 are:
~ establishment and restoration of communications links 2 in the underlying GMSN 1 customer requirements satisfaction re-establishment of GMSN control in case of agent failure .
The establishment and restoration of links 2 is carried out by the SMAs 5 whereas customer requirements satisfaction is based on a process of dialogue and negotiation between a CA 6 and a SMA
5 acting as a service provider.
Notably, "manning" for service provision and customer service negotiation is performed in a context of incomplete knowledge and constraining requirements. Embodiments of the present invention provide processes for the solution of these problems, notable features of which processes are that they are distributed and resilient to failure. The distributed aspect supports improved performance over a centralised system as there is scope for reducing the total amount of data passed to a central point and the inherent resilience of the distributed . , _8_ system permits graceful degradation.
Conveniently, there may be one software agent, a SMA 5, situated at each of the GMSN nodes 3, each SMA 5 monitoring its underlying switch 3 as well as the links 2 extended to the switch 3. Primarily, each SMA 5 controls just one switch 3 but any given SMA 5 has the ability to control a number of switches simultaneously. That is, a SMA 5 is able to specify which incoming and outgoing communication links 2 a service will use.
The software agents 5,6 form a single layered system. The SMAs' responsibility is to provision customers' services by means of the current network resources and to maintain the services already installed. That is, when a communication link 2 fails, all the services using that link 2 will be affected and will need to have a new route, or combination of links 2, allocated to them. The control network 4 of software agents 5, 6 performs these functions through cooperation since each has only local knowledge but must perform in a global context.
Agents' Architecture (a) Service Maintenance Agent (SMA) 5 Referring to Figure 2, in order to play its role within the control network 4, each SMA 5 has to have well structured knowledge and the capability to use that knowledge in cooperating with other agents 5,6. Acting in a dynamically changing environment, a SMA 5 may evolve through various states 30. A
state 30 is defined as an instance of agent's knowledge, created as a result of the agent's interaction with the physical environment and/or contact with other agents . The SMA' s knowledge may be partitioned into two categories, the agent's database 31 and the agents working memory 32 . The agent' s database 31 carries descriptions of neighboring agents' topology 33, local network topology 34 that the relevant agent 5 is responsible for and a traffic profile 35. This latter describes services already installed which use the agent's local network. The agent's working memory 32 consists mainly of queues of messages received 3 5 3 6 and sent 3 7 by the agent , which queues 3 6 , 3 7 arise during the solving of network problems.
Additionally, each SMA 5 has a set of "message handlers" 38 , . . CA 02318582 2000-09-14 ~ ' -g_ that enable the agent's methods and algorithms (Generic Agent Code) to be triggered and used appropriately for each type of message. The Generic Agent Code includes:
- the agent's knowledge evaluation and updating algorithm - a distributed routing algorithm - a customer service negotiation algorithm - a "bidding" mechanism for use in reallocating control in the case of agent failure.
The agent's database 31 is constantly updated during an agent's existence and is enhanced through contact with neighboring SMAs 5 during problem solving sessions. Based on the messages it receives, such as alarms, partial route results, confirmation and reservation of circuits along a route in order to install a service, etc, each SMA 5 builds its own model 39 of the GMSN 1 and the services running on it.
(b) Customer Agent (CA) 6 Referring to Figure 3, in order to satisfy a customers requirements for a service, a second type of software agent, the CA 6, is provided. Each CA 6 is coupled with a SMA 5 and comprises, as a minimum subset, the following:
- a friendly user-interface 60 - a data base 61 containing information about the range of services offered on the GMSN 1, tariffs and priorities - a strategy for negotiation 62 - CA-SMA communication protocol 63 The user interface 60 permits dialogue with a customer so as to achieve customer requirements capture, provision of advice to the customer, for instance, on services, tariffs etc, customer/service provider mediation and accommodation of customer decisions such as change/modify requirements and solution acceptance.
The services database 61 contains information about the range of services that might be offered by a service provider on the GMSN 1 and other information reflecting that provider's tariffs policy. It is undatable.

' -10-The strategy for negotiation 62 may be implemented in either of at least two ways . Firstly, this might be by mediation between the customer and the service provider, the customer taking all decisions. Alternatively, the customer might provide the service requirements and cost range he/she is able to accept, giving the CA 6 the freedom to negotiate for the best available service to satisfy those requirements and cost range.
The embodiment described below is an implementation which follows the first approach, the customer taking all the decisions and the CA 6 mediating between the customer and the service provider. The CA 6 acts in the interest of the customer who requires a service, and the customer may simply request the highest possible quality and priority, for minimal cost. The mediation requirement arises because the service provider, represented by a SMA 5, wants to establish the service using the minimum of network resources at minimum operating cost. A
dialogue therefore arises between the CA 6 and a relevant SMA 5 to reach a mutually acceptable agreement. This is carried out by the process of agent negotiation described in the following section.
Customer Service,provision through Agent Negotiation Before describing service provision in response to customer request, it is important to see how a service is modelled in the present embodiment of the invention, and to know the main assumptions made about the services. The service definition is as follows:
Service = (ServiceName, Cost, Priority, Bandwidth, Source, Destination) Optionally, the service definition might also include "Quality of Service".
Notably the service parameters Cost, Priority and Bandwidth are reconsidered and may be altered during the negotiation between a SMA 5 and a CA 6, prior to service acceptance and instalment. This is further described later.
The service assumptions are as follows:
a service is an end-to-end connection with single path. No broadcast services are considered . . CA 02318582 2000-09-14 ' -11-services are considered to be bi-directional, that is, traffic flows in both directions along the provisioned path a service band-width is expressed in terms of the number of circuits required a service band-width is constant, that is, not varying along its path or with time of day services are prioritized on the basis of a priority number that is determined beforehand (through negotiation) and never changes whilst the service is in operation the priority of a service is directly proportional to its selling price a lower priority service may be temporarily disturbed if another service with a higher priority requires some of the resources taken up by the lower priority service. This is necessary to form a cost effective route for the new service.
On receiving a customer request for a new service, the CA
6 matches it against the range of available services offered by the service provider and builds a service specification which is handed over to the SMA 5 responsible for the source node for that particular service. The specification of the requested service takes the following form:
Customer-Request = (ServiceName, Cost*, Priority*, Bandwidth*, Source, Destination) where * denotes initial value for those parameters.
Again, optionally, the specification may include "Quality of Service".
When the SMA 5 responsible for the relevant source node receives the Customer-Request to provide a service, it will need to cooperate with the other SMAs 5 to find the most cost effective route from source to destination. The SMA 5 who will be the service provider to the customer in this context takes the Customer-Request and either initiates the process of generating routes or puts an entry in a pending queue of entries corresponding to each Customer Request and triggers a "watchdog"

. . CA 02318582 2000-09-14 ' -12-time-out to limit the total time waiting for a response.
When the process of generating a route in initiated, route generation is done by using a distributed routing algorithm, examples of which are known and hence not described in detail herein. Networks such as the one under consideration must be regarded as dynamic. That is, nodes and links may be added to or deleted from the system and capacity on any link may vary. The inclusion and handling of these constraints require algorithms that are highly adaptive to changes. It is to meet these requirements that a distributed routing algorithm to be performed by agents is found attractive.
A distributed routing algorithm can for instance involve exploring all paths but at the same time each SMA 5 involved in developing a set of routes) holds the cost of the least costly route so far developed and handed down to it via a forward message by another SMA 5. The SMAs would then compare the cost of partial routes being developed with that of the least costly route held. If a partial route is more expensive it is abandoned as it certainly does not lead to a cost effective route.
Otherwise, it proceeds to reach completion (towards reaching the destination) at which stage a backward message is directed along the route to the SMA 5 that initiated the search.
The network or SMAs 5 thus goes into action to find a set of routes to satisfy the request entries and to return back to the SMA 5 who has become the service provider the prospective routes. Any or these routes may have the following structure:
Route-Result = (Free-Cap, Cost, [N1, . . . ,N~] , [ (S~, P~) , . . . , (Sk, Pk) ]
where "Free-Cap" is the global free capacity along the route and "Cost" is simply the cost for that route.
Referring to Figure l, each network node 3 might be separately numbered N1, N2, N3 etc. Hence a route through the GMSN
1 can be expressed by listing the relevant nodes 3 through which the route will pass . An example may thus be a route [N1 N5, N8, N3]. Looking at capacities available on the route links, that is free capacities, these might be as follows:
Link-Capl~ = 30, Link-Cap,g = 50, Link-Cap83 = 20 Free-Cap = min (Link-Caps" Link-Cap~B, Link-Cap83) - 20 . . CA 02318582 2000-09-14 ' -13-[N1, . . .N~] is the route given as a list of nodes 3 from the source (Nl) to the destination (N~) [ (Si, Pi) , . . - , (Sk, Pk) ] is a disruption list, that is, a list of all the services (Si) with their priorities (Pi) that might be disrupted if the proposed new service were installed along that route.
The prospective routes are subsequently listed in descending order with respect to Free-Cap. It should be noted that each route in the list necessarily satisfies Source and Destination entries in the associated Customer-Request. It also necessarily satisfies Cost entry (Cost * z Cost).
It may be that the first route in the list (the one with the maximum Free-Cap) satisfies:
Free-Capi >_ Bandwidth*
In this case no other services need to be disrupted (the disruption list should be empty) and the load of the network with services is kept under control since the route with the maximum available capacity is to be chosen. Then SP gets the particular route Routei and sends a message to the CA 6 informing it about this route in order to obtain the customer agreement to install the service on that particular route.
If on the other hand Free-Capi < Bandwidth* then a process of negotiation starts between the CA 6 and SP.
If none of the routes has enough Free-Cap to satisfy the bandwidth required, the SP representing the company interest uses a decision function to choose the optimal route on which services may be disrupted. This decision function is described below.
For Routei, i=1,......,n, SP computes:
k ~Pt -priori ty f=1 Mi = i=1,...,n k (Eq:l) where, as pointed out above (P1,....,Pk) are priorities of services (51,..,Sk) that must be disrupted if Routei is to be established. M1 is the average net priority loss per service if services (51,....,Sk) are to be disrupted.

It is rational to pick the route that minimizes Mi. SP, therefore, initiates a loop that linearly searches through this list to give the route with minimum Mi such that Priority > Pi, for any value of t from 1 to k, ie dt -1,...,k (Relation **) If it does exist then services may be temporarily disrupted and the CA 6 is informed about the route chosen, waiting for the customer agreement to install the service.
At this point it is important to add that in this implementation the SMAs 5 responsible for the links of the route that carry the services to be disrupted identify those services automatically and try to find alternative routes (route restoration) for them, if possible. If not, the SMA may renegotiate with the CA responsible for the disrupted services.
This is to minimize the loss of revenue caused by the disruption of the lower priority services.
Otherwise, SP presents to CA its best option (the route having the minimum Mi) and at this point the customer may agree to lower his bandwidth requirement and accept the free-capacity available on the proposed route. If the customer accepts the above deal his service is installed along the route with no disruption and therefore at no extra cost.
Otherwise if the customer wants to keep his bandwidth requirements in force, SP negotiates with CA on the basis of increasing the required service priority (Priority*). Priority may for instance be directly proportional to cost. For a higher priority service CA is expected to pay more.
If CA accepts a new higher priority, the SP computes the extra cost that the customer needs to pay based on the average priority loss (Mi). The total cost of the service which is:
Total Cost = Cost* + ExtraCost reflects the increase of priority level Priority = Priority* + ExtraPriority The ExtraPriority is the amount to be added to Priori ty* in order to satisfy "Relation **" given above. Then the same mechanism, for route restoration, described above, is applied for the disturbed services.

A short summary of the negotiation process is given below, with reference to Figure 4:
START
step 20:CA requests that a service be provided step 21, 22 : SP chooses the optimal route available in the net work and determines the feasibility and cost of the service, and the services to be disrupted (if any).
step 23:SP determines whether existing services will disrupted.
If not, the system goes to step 24. If they will be disrupted, the system goes to step 25.
step 24:SP informs the CA about the proposed service (cost, route) and stops.
step 25:SP checks if the service requested has a higher priority than the ones to be disrupted. If it does, the system goes back to step 24. If it does not have a higher priority, the system goes to step 26.
step 26:SP negotiates with CA
- to lower bandwidth requirements OR
- to increase the service priority (in this model priority is directly proportional to cost) step 27:a check is made as to whether the CA finds this to be reasonable. If it does, the system goes to step 24. If not, the system goes to step 28.
step 28:SP negotiates with CA to alter the service (step 28), then alters the technical service description and goes back to step 20.
This is a simple example of a SMA-CA interaction process.
However, there will be situations that would demand more complexity.
In the foregoing, agents have been considered to be robust and foolproof. This is not a realistic assumption, since it is entirely possible that agents could fail. The next section discusses how the remaining agents deal with agent failure.
AGENT FAILURE
The system model described above consists of essentially two networks that interact - the underlying physical communications network (referred to as GMSN network 1) and a network 4 of agents 5,6 whose function is to manage and control the GMSN 1. To perform these functions the agents have certain responsibilities which in their most general form are of two kinds : Managerial and Contractual. As a Manager 5 the agent has the responsibility of suitably controlling certain nodes 3 and links 2. As a Contractor 6, the agent must ensure provision and maintenance of the services that have been agreed upon.
The stability of the agent network 4 would initially be disrupted when a SMA 5 fails. In such circumstances the normal operation of the agent network 4 breaks down, since, in view of the agent's failure, its responsibilities are unattended thus giving rise to an "abnormal" agent network behavior. The abnormality lasts unless and until either the failed agent is revived or, if this option cannot be realized promptly , its responsibilities are suitably allocated to its neighbors. Since SMAs' responsibility schedules are modified following the failure of any agents, the system gets renormalized at a new stability threshold.
Concerning the stability threshold, each agent is designed to work during its active life at a certain load level (number of queries to be solved) and it is able to manage theoretically any number of nodes 3. In reality there are limits beyond which the agent's control system might not be able to satisfy the performance criteria it was designed for. The stability threshold is the average load (contractual and managerial load) limit beyond which the system is not able to respond in a stable manner to the queries addressed to it.
Initially we assume there exists an isomorphism between the agent network 4 and the GMSN 1. Therefore, each SMA 5 manages its corresponding node 3 and possibly some of the links 2 incident upon the node 3. Let us assume the failure of a SMA 5 (call it A). The neighboring SMAs will become aware of A's failure (through detection of alarms) and thus take over A's responsibilities in some fashion. To achieve this, a burst of communications takes place between SMAs 5 who know about A's failure in order to negotiate on the allocation of A' s management and contractual responsibilities.
The basis of negotiation among agents 5, 6 is a bid function (F) whose value is computed based on the current state of the network 4. In order to compute the bidding function F four criteria have bean considered. Based on those criteria the bidding function F is a weighted sum of some pre-computed parameters (one for each criterion):
F= W1 C + W2 R + W3 O + W9 M
where C, R, B and M are parameters computed for each criterion, as explained below, and wl to w4 are weights, of which w3 and w4 are negative.
Notations: NA = neighboring agent; FA = failed agent CRITERION I: CONNECTIVITY PARAMETER (C) Assumptions:
[the more links a neighboring agent NAi has connected to the FA's nodes the greater is its connectivity C]
[the greater the connectivity C the greater the chance of NAi to win the bid]
CRITERION II: SERVICE RESPONSIBILITY PARAMETER (R) Assumptions:
[The more services a neighboring agent NAi provisioned using the links that were previously managed by the FA the greater its responsibility R to supervise and maintain those services]
[The greater the responsibility R, the greater the chances of NAi to win the bid]
CRITERION III: OCCUPANCY (O) Assumption:
[The more duties a neighboring agent NAi has, that is, the greater the number of queries the agent has stored in its queue of incoming messages, the bigger its occupancy 0]
[The greater the occupancy, the lesser are the chances for the NAi to win the bid]
CRITERION IV: MANAGEMENT (M) Assumption:
[The more a neighboring agent NAi; is engaged as a manager M, that is, the greater the control it already exercises over nodes 3 and links 2 of the underlying network 4, the less ' ' ~ CA 02318582 2000-09-14 availability it has to be the new manager with respect to the FA's nodes and links]
[The greater the management engagement M, the lesser are the chances for the NAi to win the bid]
Each SMA aware of A's failure waits sufficiently long to receive messages from other SMAs and the agent with the highest bid function value takes over whatever responsibilities it has bid for. This whole process is triggered each time a SMA fails and proceeds until its responsibilities (both as a manager and a contractor) have been reallocated to the other SMAs aware of its failure.
In an example of the above bidding process, referring again to the Bidding Function F, the weights wl, w2, w3 and w9 can be tuned and are subject to experimental results. However, some structure can be imposed on w. Firstly, wl and w2 are both positive. Secondly, w3 and w9 are negative, due to their inhibitory effect. Thirdly, the most dominant factor must be the connectivity parameter (C). Therefore the weight wl has been given the value 1.
The other weights have been given the values:
wz where ~3 - the average number of links connected to a node in the network (fan-out).
w3 = -10/x, where ~. = the total number of nodes in the network.
w4 can be tuned according to the ratio of agents to nodes.
A normal range of values would be 0 to -1. The higher the ratio of agents to nodes, the closer w4 will approach to -1, this having the overall effect of spreading management responsibility amongst more agents by increasing the effect on F of M. An expression for wq might for instance be "1/ cluster size", where the cluster size is the average number of nodes managed by one agent. This makes the bid function less sensitive to the real number of nodes managed by one agent (M) when the average cluster size is anyway relatively high.
Thus the bid function may be given as:
F=C + 1/(3 R - 1/~ O + wl, M

SCENARIO
We consider a 10 nodes network with the average fan-out of 4. A, B, C and D are four agents in the control layer and each of them is responsible for a number of nodes 3 as given below.
Taking the case of the failure of agent A, while B, C and D are its neighboring agents:
Failed agent = A
Neighbors = B, C and D
Bidding Formula weights: wl = 1, wz = 1/4, w3 = -1/10 and w9 = - 0 . 4 Agents Details Agent Name: B
Connectivity (B's nodes co A's nodes) - 5 links Provisioned Services (with A's cooperation) - 8 services Current Queries to be solved - 4 Managed Nodes - 3 Agent Name: C
Connectivity (C's nodes to A's nodes) - 2 links Provisioned Services (with A's cooperation) - 10 services Current Queries to be solved _ 5 Managed Nodes - 1 Agent Name: D
Connectivity (B's nodes to A's nodes) - 5 links Provisioned Services (with A's cooperation) - 3 services Current Queries to be solved - 3 Managed Nodes - 5 The resultant bidding values are:
for agent B F= 5 + 0.25*8 - 0.1*4 - 0.4*3 - 5.4 for agent C F= 2 + 0.25*10 - 0.1*5 - 0.4*1 = 3.6 for agent D F= 5 + 0.25*3 - 0.1*3 - 0.4*5 = 3.45 The conclusion is that agent B is the winner, so it will take over the responsibilities of the failed agent A.
Referring to the Figure 5, the bidding process described above can be set out in the form of a flow chart . It is triggered when one agent becomes aware of a neighbor's failure (step 40) through detection of alarms. The alarm mechanism may be seen as a simple and continuous check, in which periodically each agent broadcasts a message to its neighbors and then compares the list of agents replying to this message against the list of the neighbors. An agent missing is considered "dead" if and only if a link failure alarm (cut connection) for the communication link with that agent has not been received. The message forwarded to the neighbors may be used to update their knowledge ( i . a . sending them the list of current neighbors will help them in the bidding process).
The next step for each agent aware of agent A's failure, is to compute the bidding function F, step 41, and to send out its own bid value (step 42). Taking the example of an agent, agent B, it then goes into a cycle, steps 50, 43, 44, 51, during which it waits for announcements and bids to be received from other neighboring agents. At step 50, it checks its entry messages for bids received from the other neighboring agents or for announcements of the winner. At step 43, it makes a decision as to whether the winner has been found. This could be because agent B has received an announcement of the winner from another agent, in its entry messages (step 50). If it has, it comes out of the cycle but, if not, it continues to step 44, which is preparatory to calculating the winner itself. That is, if all bids have been received from the other neighboring agents, agent B will again come out of the cycle and this time compare the received bids, together with its own bid, to find the winner, step 46. If all bids have not yet been received, agent B will wait for a reasonable period, step 51, then return to the start of the cycle, step 50.
The two routes out of the cycle, at steps 43 and 44, relate to the cases where another neighboring agent has received all bids prior to agent B (step 43) and where agent B is apparently the first to receive all the bids and therefore finds the winner on its own account (steps 44, 46).
A further test has to be made in either case, step 47, by agent B to assess whether it itself is the winner since as the winner it must assume the responsibilities of agent A. Thus if agent B finds at step 47 that it is the winner, it will update its knowledge, step 49, consequently taking over the responsibilities of the failed agent A, send an announcement, step 53, to all the other neighboring agents involved in the bidding, and terminate the process, step 54. If agent B is not the winner, agent B updates itself this time by assigning a pointer "agent A - Winner", step 45, to ensure it communicates with the winner in future rather than with agent A. Again, agent B then makes an announcement of the winner, step 53 , to all other neighboring agents involved in the bidding, and terminates the process, step 54.
Referring to Figure 6, in an alternative version, the process steps followed by the agents might include additional checks which allow them to ensure they have updated themselves appropriately without repeating updating steps 49, 45.
In this version, if agent B knows the winner after reading its entry messages (step 43), it goes to step 100, to make a check whether it has already updated its records in respect of a winner. If it has, it simply goes to STOP (step 54). If it hasn't, it reverts to step 47, and continues substantially as in the version of Figure 5. In order to supply the information for step 100, however, after steps 49 or 45 (updating own knowledge or assigning a pointer) it sets a flag for itself, step 52, to show it has updated its records in respect of a winner.
The version of Figure 6 provides for the case where agent B receives all bids (step 44), compares and finds the winner (step 46) , then subsequently also receives an announcement of the winner from another agent. In the version of Figure 6, the subsequent announcement will cause agent B simply to go to STOP
(step 54) since the check at step 100 will show its records have already been updated.
The version of Figure 6 will also deal with the case whether an agent receives an announcement of a winner from more than one neighboring agent . Again, the extra logic of updating its own records can be avoided on receipt of the second (and subsequent) announcement(s).
There may of course be further alternative processes to the above, without departing from an embodiment of the present invention. For instance, the process steps following START might '~ -22-include checks to avoid repeating a response to alarm messages which have already been dealt with.
In the above description of a bidding process, certain assumptions have been made. These are as follows:
a) An agent can communicate with any other agent in the community using direct or indirect communication.
b) For the sake of simplicity, the bidding algorithm is designed to involve only neighboring agents still connected through direct links of communication with the failed agent. Those neighbors whose communication links have been previously interrupted would not be able to "read" the agent's failure alarms but they can receive information about the final bidding decision taken by the agents directly connected with the failed agent.
The transfer of responsibilities away from the failed agent might be implemented in one of two ways. The winning agent might for instance gain access to the failed agent's data base from where it is able to extract the information previously owned by the failed agent. This of course is based on the assumption of a valid/accessible data base. A second approach is based on the idea of the "winner" rebuilding the information stored in the failed agent's data base (that is currently not available) through dialogue with the other neighbors of the failed agent.
Using this approach it is still possible to recover information, such as connectivity-nodes and links, installed services on failed agent's links etc.
SERVICE RESTORATION
The above describes the response to agent failure in the control layer 4. However nodes 3 and links 2 of the underlying GMSN1 may also fail. When a node 3 fails to operate, all the links 2 incident upon it fail to operate. Hence node failure is equivalent to multi-link failure and thus resolves to the more basic case of link failure. It therefore suffices to consider the problem of link failure. All the services "running" along the failed link should be detected and re-routed. Re-routing an existing service can itself be regarded as a type of service provisioning.
The restoration procedure adopted applies the same branch and bound routing procedure used for service provision and referred to above.
The failure of a network link 2 causes an alarm message to be sent automatically to the SMA 5 responsible for the link. The SMA 5 then identifies the affected services to be rerouted and places them in its queue to be dealt with in order of their priority. The SMA 5 sends a re-routing request which is similar to the request for a new service (already described), to it's neighbors asking them to provide alterative routes around the failed link. The re-routed service is the establishment of a route with the capacity of the disrupted service from the origin (where disruption occurs) to destination (where disruption ends).
When the results have been returned to the SMA responsible for the failed link, the lowest cost route is chosen.
In some cases there may not be an alternative route for the service. This may be because:
- there are no alternative routes with t'~'1P Y"Prnii rar7 capacity;
- the cost limit was too stringent;
- insufficient search time was allowed.
Whatever the case, the originating SMA (the agent to which a link failure was signalled) must decide what to do. One simple course of action could be to relax the cost constraints and try again.
It should be noted that although in Figure 1 there is shown a 1:1 relationship between the SMAs 5 and the nodes 3 of the GMSN 1, this is not necessarily the case. Indeed it is more likely to be found more efficient that there are fewer SMAs 5 than there are nodes 3, each SMA 5 therefore controlling more than one node 3.
It should also be noted that, in the example of the present invention described above, where there is failure of Agent A and Agent B is the winner, Agent B takes over the responsibilities of Agent A. In practice, it may be found more efficient that the responsibilities of Agent A are distributed amongst more than one other agent and the bidding process may therefore alternatively be designed such that remaining agents bid only for selected responsibilities of a failed agent, or that each neighboring agent puts forward different bid functions in respect of different responsibilities of the failed agent.
In this specification, the term "co-operating intelligent software agents" is used. Without limiting the understanding of a person skilled in the relevant technology, for the purposes of this specification a co-operating intelligent software agent can be considered to be a software entity capable of performing the functions set out, as far as necessary, in an embodiment of the present invention. A relevant software entity would probably therefore comprise a data store, or access to a data store, at least some data (or access to some data) which is local to the software entity rather than global with respect to the communications network(s), intelligence in that it can make decisions and act on them, communications means for communicating with other agents, control outputs for issuing control signals to allocated nodes, and updating means for updating its data.

Claims (7)

1 . A communications network management system, for managing a network which comprises a plurality of nodes connected by traffic links, wherein communication services can be provided to customers according to predetermined service parameters by allocating selected links and nodes to said services on a priority basis, the management system comprising a distributed control system which in turn comprises co-operating intelligent software agents, said software agents individually having control over the configuration of one or more allocated nodes of said plurality of nodes, and thereby having control with respect to communication services provided via said allocated node or nodes, wherein at least two of said agents are each provided with:
a) communication means for communicating with other agents;
b) associated data storage: means for holding data which is local to the agent, in respect of the network;
c) updating means for updating data in the data storage means;
d) decision-making means;
e) failure detection means for detecting failure of a neighbouring agent; and f) means for outputting a bid value, the distributed control system being such that, on failure of an agent, one or more neighbouring agents detects said failure and initiates a bidding process, the neighbouring agents outputting bid values based on parameters weighted so as to give, in combination, an estimate of each agent's suitability to take over some or all responsibilities of said failed agent, the neighbouring agent outputting a winning bid value thereafter asserting said responsibilities.
2. A network management system according to claim 1, wherein there is more than one type of software agent, there being provided service management agents which have direct control outputs to one or more of said nodes of the network, and customer agents, each of which customer agents is associated with at least one service management agent, but has no direct control output to a node of the network.
3. A network management system according to claim 1 or claim 2, wherein the bid value "F" for a neighbouring agent is calculated according to the function:
F = w1 C + w2 R + w3 O + w4 M
where C, R, O and M are parameters computed in respect of connectivity, service responsibility, occupancy and management load for that neighbouring agent, and w1, w2, w3 and w4 are weighting factors, w3 and w4 being negative.
4. A network management system according to claim 3, wherein connectivity is allocated the greatest weighting factor.
5. A network management system according to any one of claims 1 to 4 wherein each software agent having control over the configuration of one or more nodes of the network has associated data storage means comprising data which is incomplete with respect to the network as a whole, but complete in respect of local data enabling the agent to exercise said control.
6. A method of managing a communications network, said network comprising a plurality of nodes connected by links for carrying communications traffic, and being provided with a management system comprising a community of software agents, individual ones of which control outputs to one or more allocated nodes of the network, at least two of said agents being provided with:
a) communication means for communicating with other agents;
b) associated data storage means for holding data which is local to the agent, in respect of the network;
c) updating means for updating data in the data storage means;
d) decision-making means;
e) failure detection means for detecting failure of a neighbouring agent; and f) means for outputting a bid value, which method comprises the steps of:
i) detecting failure of a software agent by means of said failure detection means;
ii) responding to said failure by initiating a bidding process in said community of software agents, at least one agent outputting a bid value F representing weighted values of parameters relevant to that agent in respect of taking over the responsibility of the failed agent;
iii) on completion of said bidding process, identifying the agent which has output the most favourable bid value F; and iv) transferring one or more responsibilities of said failed agent to the identified agent.
7. A method according to claim 6, wherein step iv) includes the downloading of data from said failed agent to the identified agent.
CA002318582A 1993-11-30 1994-11-30 Communications network management Expired - Fee Related CA2318582C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP93309544 1993-11-30
EP93309544.0 1993-11-30
CA002177488A CA2177488C (en) 1993-11-30 1994-11-30 Communications network management

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CA002177488A Division CA2177488C (en) 1993-11-30 1994-11-30 Communications network management

Publications (2)

Publication Number Publication Date
CA2318582A1 CA2318582A1 (en) 1995-06-08
CA2318582C true CA2318582C (en) 2002-03-26

Family

ID=25678482

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002318582A Expired - Fee Related CA2318582C (en) 1993-11-30 1994-11-30 Communications network management

Country Status (1)

Country Link
CA (1) CA2318582C (en)

Also Published As

Publication number Publication date
CA2318582A1 (en) 1995-06-08

Similar Documents

Publication Publication Date Title
EP0732018B1 (en) Communications network management
CA2036769C (en) Real-time network routing
US5065393A (en) Network controller billing system and method of operation
US5615254A (en) Methods and systems for dynamic routing in a switched comunication network
US4756019A (en) Traffic routing and automatic network management system for telecommunication networks
JP3016811B2 (en) Predictive access control and routing system for integrated services telecommunications networks
CA1284204C (en) Routing of network traffic
US7593321B2 (en) Method and system for a local and fast non-disruptive path switching in high speed packet switching networks
JP3159927B2 (en) Network operation method, request path method, and routing and admission control method
US5065392A (en) Network controller scheduling system and method of operation
CA2167862C (en) Network routing controlled by a management node call
US20040213221A1 (en) System and method for soft bandwidth
JPH06510645A (en) Non-hierarchical traffic routing method in communication networks
JPH11506571A (en) Dynamically controlled routing using virtual destination nodes
JPH02205153A (en) Communication line switching/jointly using system
EP1437874B1 (en) Method for optimising the distribution of a service from a source to a plurality of clients in a network
US5844981A (en) Method and system of improved routing to WATS
CA2001665C (en) Real-time network routing
EP0496061A2 (en) Real-time decentralized network traffic management using a parallel algorithm
CA2318582C (en) Communications network management
AU701581B2 (en) Communications network management
EP1121788A1 (en) Management of path selection in a communications network
Gersht et al. Architecture for restorable call allocation and fast VP restoration in mesh ATM networks
YAMAMOTO et al. Dynamic routing schemes for advanced network management
EP1351452A1 (en) Network capacity management system

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed