DE69333761T2 - Network analysis method - Google Patents

Network analysis method Download PDF

Info

Publication number
DE69333761T2
DE69333761T2 DE69333761T DE69333761T DE69333761T2 DE 69333761 T2 DE69333761 T2 DE 69333761T2 DE 69333761 T DE69333761 T DE 69333761T DE 69333761 T DE69333761 T DE 69333761T DE 69333761 T2 DE69333761 T2 DE 69333761T2
Authority
DE
Germany
Prior art keywords
traffic
node
nodes
server
program
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
DE69333761T
Other languages
German (de)
Other versions
DE69333761D1 (en
Inventor
Neil Mckee
Peter Phaal
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.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies 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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Priority claimed from EP01110834A external-priority patent/EP1130847B1/en
Publication of DE69333761D1 publication Critical patent/DE69333761D1/en
Application granted granted Critical
Publication of DE69333761T2 publication Critical patent/DE69333761T2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

Die vorliegende Erfindung bezieht sich auf ein Netzanalyseverfahren zur Verwendung bei einer Entscheidung, ob ein Netz in zwei Unternetze aufgeteilt werden sollte.The The present invention relates to a network analysis method for use in deciding whether a network is in two subnets should be split.

Das Netzanalyseverfahren der Erfindung findet insbesondere Anwendung bei einer Bestimmung, ob ein Netz in Unternetze (oder logische Segmente) aufgeteilt werden sollte, die durch Brücken miteinander verbunden sind, die auf der Ebene 2 des 7-Schicht-OSI-Referenzmodells arbeiten. Das Netzanalyseverfahren jedoch kann bei geeigneten Umständen verwendet werden, um zu entscheiden, ob ein Netz (z.B. ein IP-Netz) durch einen Router bzw. eine Leitwegeinrichtung oder ein Gateway, die auf der Ebene 3 des OSI-Referenzmodells arbeiten, unterteilt werden sollte.The Mesh analysis method of the invention finds particular application in determining whether a network is divided into subnets (or logical segments) that should be through bridges connected at the level 2 of the 7-layer OSI reference model work. However, the mesh analysis method may be used in appropriate circumstances to decide whether a network (e.g., an IP network) is being used by a network Router or gateway or gateway operating on the Level 3 of the OSI Reference Model should be subdivided.

Da Netzüberwachungssysteme immer hochentwickelter und umfassender werden, hat der Netzbediener ein wachsendes Problem beim Identifizieren signifikanter Daten unter den Datenvolumen bei einem Netzbetrieb, der durch derartige Überwachungssysteme geliefert wird. Dies ist insbesondere der Fall, wenn das betroffene Netz mehrere Unternetze aufweist, wobei bestimmte Knoten als globale Server über alle Unternetze wirken, da es in derartigen Fällen schwierig ist, ein wahres Bild dessen zu erhalten, was tatsächlich in jedem Unternetz geschieht.There Network monitoring systems The network operator has become more and more sophisticated and comprehensive a growing problem in identifying significant data the volume of data in a network operation by such monitoring systems is delivered. This is especially the case when the affected Network has multiple subnetworks, with certain nodes being global Server over all subnetworks, because it is difficult in such cases, have a real effect Image of what is actually happening in each subnet.

Das Dokument „Some graph partitioning problems and algorithms related to routing in large computer networks" (Einige Graphpartitionierungsprobleme und Algorithmen in Bezug auf eine Führung in großen Computernetzen) von A. Bouloutas u.a., präsentiert in der International Conference of distributed Computing Systems 1989, stellt den nächsten Stand der Technik für das Netzpartitionierungsproblem dar.The Document "Some graph partitioning problems and algorithms related to routing in large computer networks "(Some Graph partitioning problems and algorithms related to a guide in big Computer Networks) by A. Bouloutas et al., Presented in the International Conference of distributed computing systems 1989, represents the next state of the Technology for the network partitioning problem.

Eine Aufgabe der vorliegenden Erfindung besteht darin, ein Netzanalyseverfahren zu schaffen, das eine Einschätzung ei nes Betriebs des Netzes auf einer Unternetzebene erleichtert.A The object of the present invention is a network analysis method to make that an assessment facilitating the operation of the network at a subnetwork level.

Zusammenfassung der ErfindungSummary the invention

Gemäß der vorliegenden Erfindung, wird ein Netzanalyseverfahren zur Verwendung in Bezug auf ein Netz mit einer Mehrzahl von Knoten bereitgestellt, wobei das Verfahren folgende Schritte aufweist:

  • 1) Überwachen des Netzes, um Verkehrsdaten zu sammeln und zu speichern, die eine Verbindung bzw. ein Verbindungsmaß zwischen den Knoten des Netzes, beurteilt nach einem Verkehr zwischen denselben, anzeigen;
  • 2) Ausführen eines iterativen Prozesses zum Analysieren der Netzverkehrdaten, um die Knoten in Arbeitsgruppen zu klassifizieren, wobei jede derselben einen lokalen Server und einen oder mehrere Clientenknoten aufweist, wobei jede Iteration dieses Prozesses ein Zuteilen des Knotens mit der höchsten Verkehrsverbindung zu einer jeweiligen neuen Arbeitsgruppe als einen lokalen Server, ferner ein Zuteilen, als Clientenknoten zu der gleichen Arbeitsgruppe, der Knoten, deren Verbindung zu dem lokalen Serverknoten größer als ein vorbestimmter Teil der Gesamtverbindung des betreffenden Knotens ist, und ein Modifizieren der Verkehrsdaten durch eine Entfernung von Verkehr, der der neuen Arbeitsgruppe zugeordnet ist, beinhaltet;
  • 3) Ausführen eines Prozesses zum Zusammenführen der bei Schritt (1) identifizierten Arbeitsgruppen, um zwei verbleibende Arbeitsgruppen zu hinterlassen; und
  • 4) Entscheiden, ob sich ein Aufteilen des Netzes in zwei Unternetze lohnt, wobei jedes derselben eine jeweilige der Arbeitsgruppen beinhaltet, durch ein Vergleichen der Menge an Verkehr zwischen zwei Arbeitsgruppen, die nach Schritt (3) verbleiben, mit dem Gesamtverkehr, die jeder derartigen Arbeitsgruppe zugeordnet ist.
According to the present invention, there is provided a network analysis method for use with respect to a network having a plurality of nodes, the method comprising the steps of:
  • 1) monitoring the network to collect and store traffic data indicating a link between the nodes of the network judged by traffic therebetween;
  • 2) performing an iterative process for analyzing the network traffic data to classify the nodes into workgroups, each having a local server and one or more client nodes, each iteration of that process allocating the node with the highest traffic connection to a respective new workgroup as a local server, further allocating, as a client node to the same workgroup, the node whose connection to the local server node is greater than a predetermined part of the overall connection of that node, and modifying the traffic data by a removal of the traffic new working group includes;
  • 3) performing a process of merging the workgroups identified in step (1) to leave two remaining workgroups; and
  • 4) Deciding whether it is worth dividing the network into two subnets, each of which includes a respective one of the workgroups, by comparing the amount of traffic between two workgroups remaining after step (3) with the total traffic that each of them Workgroup is assigned.

Vorzugsweise ist der Prozess von Schritt (3) ein iterativer Prozess, der ein Identifizieren der Arbeitsgruppe mit der kleinsten Menge zugeordneten Verkehrs und ein Zusammenführen derselben mit der Arbeitsgruppe, zu der dieselbe die höchste Verbindung aufweist, beinhaltet.Preferably the process of step (3) is an iterative process that one Identify the workgroup with the least amount of associated traffic and a merge same with the working group to which the same the highest connection includes.

Die Aufgabe der Erfindung wird durch das Verfahren gemäß den Ansprüchen 1 bis 6 ausgeführt.The The object of the invention is achieved by the method according to claims 1 to 6 executed.

Kurze Beschreibung der ZeichnungenShort description the drawings

Ein Netzanalyseverfahren gemäß der Erfindung wird nun mittels eines nichteinschränkenden Beispiels Bezug nehmend auf die beigefügten schematischen Zeichnungen beschrieben, in denen:One Network analysis method according to the invention will now be made by way of non-limitative example on the attached schematic drawings described in which:

1 ein Knoten-Cluster-Diagramm ist, das ein exemplarisches Netz mit vier Unternetzen darstellt; 1 is a node cluster diagram representing an exemplary network with four subnets;

2 ein Diagramm ist, das dem aus 1 ähnelt, jedoch einen exemplarischen Gesamtverkehr zwischen Knoten des Netzes aus 1 für einen bestimmten Überwachungszeitraum zeigt; 2 a diagram that is out of that 1 however, resembles an exemplary overall traffic between nodes of the network 1 for a certain monitoring period;

3 ein Diagramm ist, das die Hauptprogrammgegenstände und Datenstrukturen darstellt, die bei dem Netzanalyseverfahren verwendet werden; 3 Fig. 12 is a diagram illustrating the main program items and data structures used in the mesh analysis method;

4A eine erste Form einer Verkehrselementdatenstruktur zeigt; 4A shows a first form of traffic element data structure;

4B eine zweite Form einer Verkehrselementdatenstruktur zeigt; 4B shows a second form of traffic element data structure;

5 ein Flussdiagramm eines Extrahieren-von-Servern-Programms ist, das in 3 gezeigt ist; 5 is a flowchart of an extract-from-server program that is in 3 is shown;

6 ein Diagramm ist, das dem aus 2 ähnelt, jedoch nur diese Komponente des Gesamtverkehrs zeigt, die einen Knoten N1 beinhaltet; 6 a diagram that is out of that 2 but only shows that component of the overall traffic that includes a node N1;

7 ein Diagramm ist, das dem aus 2 ähnelt, jedoch nur die Komponenten des Gesamtverkehrs zeigt, die nach einer Entfernung eines Verkehrs verbleiben, der globalen Servern zugeordnet ist, wie durch das Extrahieren-von-Servern-Programm aus 5 identifiziert ist; 7 a diagram that is out of that 2 however, it only shows the components of the overall traffic remaining after a removal of a traffic associated with global servers, as by the Extract-from-Servers program 5 is identified;

8 ein Diagramm ist, das dem aus 2 ähnelt, jedoch nur einen Teil des Netzes und nur die Komponente des Gesamtverkehrs zeigt, die einem Lokalserverknoten N5 zugeordnet ist, wie durch das Extrahieren-von-Servern-Programm aus 5 identifiziert ist; 8th a diagram that is out of that 2 is similar, but shows only part of the network and only the component of the overall traffic associated with a local server node N5, as determined by the Extract-from-Server program 5 is identified;

9 ein Flussdiagramm eines Bewegungsvorschläge-Programms ist, das in 3 gezeigt ist; 9 is a flowchart of a motion suggestion program that is in 3 is shown;

10 ein Flussdiagramm eines Platzieren-von-Server-Programm-Gegenstandes ist, der durch das Bewegungsvorschläge-Programm aus 9 verwendet wird; 10 a flowchart of a place-of-server program item is that generated by the motion suggestions program 9 is used;

11 ein Flussdiagramm eines Platzieren-von-Client-Programm-Gegenstandes ist, der durch das Bewegungsvorschläge-Programm aus 9 verwendet wird; 11 Figure 12 is a flow diagram of a Place-Of-Client program item issued by the Motion Suggestions program 9 is used;

12 ein Diagramm ist, das dem aus 2 ähnelt, jedoch nur ein Unternetz und nur die Komponenten des Gesamtverkehrs zeigt, die lokal auf dem Unternetz sind und lokalen Servern zugeordnet sind, wie durch das Extrahieren-von-Server-Programm aus 5 identifiziert ist; 12 a diagram that is out of that 2 is similar, but shows only a subnet and only those components of the overall traffic that are local to the subnet and mapped to local servers, as by the Extract-from-Server program 5 is identified;

13 ein Flussdiagramm eines Aufteilungsvorschläge-Programms ist, das in 3 gezeigt ist; 13 is a flowchart of a distribution proposal program that is in 3 is shown;

14 ein Flussdiagramm eines Abschneiden-von-Arbeitsgruppen-Programm-Gegenstandes ist, der durch das Aufteilungsvorschläge-Programm aus 13 verwendet wird; 14 is a flowchart of a clipping-of-workgroup-program-object that is out through the splitting-suggestion-program 13 is used;

15 ein Flussdiagramm eines Zusammenführen-von-Arbeitsgruppen-Programm-Gegenstandes ist, der durch das Aufteilungsvorschläge-Programm aus 13 verwendet wird; und 15 is a flowchart of a merge-of-workgroup-program-object that is out through the splitting-suggestion-program 13 is used; and

16 ein Flussdiagramm eines Aufteilungsentscheidung-Programm-Gegenstandes ist, der durch das Aufteilungsvorschläge-Programm aus 13 verwendet wird. 16 FIG. 5 is a flowchart of a split decision program item issued by the split proposals program. FIG 13 is used.

Beste Ausführungsform der ErfindungBest embodiment the invention

1 stellt ein exemplarisches Netz dar, das vier Logiksegmente (Unternetze) X1, X2, X3 und X4 aufweist, wobei jedes derselben eine Mehrzahl von Knoten N aufweist, wobei die Knoten, die einem bestimmten Logiksegment zugeordnet sind, zusammen gruppiert sind. Die Logiksegmente sind durch aufspannende Vorrichtungen in der Form von Brücken miteinander verbunden, die auf der Ebene 2 des 7-Schicht-OSI-Referenzmodells arbeiten. Jede Brücke erscheint in dem Cluster-Diagramm aus 1 in der Form eines entsprechenden Knotens in jedem der beiden Logiksegmente, die sie verbindet. Die Struktur der Verbindung der Logiksegmente durch die Brücken ist für die Zwecke der vorliegenden Beschreibung nicht von Bedeutung. Das exemplarische Netz aus 1 kann durch überbrückte Ethernetze gebildet sein, wobei je der Knoten durch eine Ethernet-Adresse identifiziert ist, die über alle Logiksegmente des Netzes gültig ist. Die Knoten N sind Quelle und Senke für Verkehr zueinander bzw. voneinander, wobei dieser Verkehr in der Form diskreter Nachrichtenpakete vorliegt, die sowohl Quellen- als auch Zielknotenadressen sowie die Daten tragen, die übertragen werden sollen. 1 FIG. 10 illustrates an exemplary network having four logic segments (sub-networks) X1, X2, X3, and X4, each having a plurality of nodes N, the nodes associated with a particular logic segment being grouped together. The logic segments are interconnected by spanning devices in the form of bridges operating at level 2 of the 7-layer OSI reference model. Each bridge appears in the cluster diagram 1 in the form of a corresponding node in each of the two logic segments that connects them. The structure of the connection of the logic segments through the bridges is not relevant to the purposes of the present description. The exemplary network 1 may be formed by bridged Ethernet, each node being identified by an Ethernet address that is valid across all logic segments of the network. Nodes N are the source and sink of traffic to each other, this traffic being in the form of discrete message packets carrying both source and destination node addresses, as well as the data to be transmitted.

Das Netz aus 1 wird als die Basis für exemplarische Verkehrverteilungsdiagramme verwendet, die im Folgenden verwendet werden, um die Beschreibung der Netzanalyseverfahren der Erfindung zu erleichtern. Zu Zwecken der folgenden Beschreibung wird angenommen, dass die Topologie des Netzes hinsichtlich dessen, welche Knoten welchen Logiksegmenten zugeordnet sind, bereits bekannt ist.The network off 1 is used as the basis for exemplary traffic distribution diagrams which will be used hereafter to facilitate the description of the network analysis methods of the invention. For purposes of the following description, it is assumed that the topology of the network is already known as to which nodes are associated with which logic segments.

2 stellt den Verkehr über das Netz aus 1 über einen bestimmten Zeitraum dar, wobei der Verlauf von Nachrichtenpaketen zwischen zwei Knoten durch eine zwischen denselben gezogene Linie dargestellt ist, wobei die Dicke der Linie eine grobe Anzeige der Verkehrsmenge liefert. Bei dem vorliegenden Beispiel sind die Verkehrsflüsse durch eine Untersuchung der Schicht-2-Quellen- und Zieladressen hergeleitet, die jedem Paket zugeordnet sind. Da die Schicht-2-Adressen über das gesamte Netz gültig sind, ergibt ein Untersuchen der Schicht-2-Adressen die wahren Quellen- und Zielknoten eines Paketes unabhängig von dem Weg, der durch das Nachrichtenpaket über das Netz genommen wird. 2 puts traffic through the network 1 over a certain period of time, with the course of message packets between two nodes being represented by a line drawn therebetween, the thickness of the line providing a rough indication of the amount of traffic. In the present example, traffic flows are derived by examining the layer 2 source and destination addresses associated with each packet. Since the layer 2 addresses are valid throughout the network, examining the layer 2 addresses gives the true source and destination nodes of a packet regardless of the path taken by the message packet over the network.

Trotz des Mangels einer Klarheit in 2, was aus dem Zusammendrängen der Verkehrslinien resultiert, ist es möglich zu sehen, dass bestimmte Knoten sehr stark mit den anderen Knoten des Netzes kommunizieren. Die Knoten N1 und N2 auf dem Logiksegment X1 z. B. scheinen mit eigentlich allen anderen Knoten des Netzes zu kommunizieren, woraus sinnvoll schlussgefolgert werden kann, dass diese Knoten eine be stimmte Gesamtrolle beim Überwachen oder Steuern des Netzes haben.Despite the lack of clarity in 2 which results from the crowding of the traffic lines, it is possible to see that certain nodes communicate very strongly with the other nodes of the network. The nodes N1 and N2 on the Logic segment X1 z. B. seem to communicate with actually all other nodes of the network, which can reasonably conclude that these nodes have a certain total role when monitoring or controlling the network.

Während Diagramme der Form aus 2 einem Netzbediener einen allgemeinen Eindruck hinsichtlich dessen geben, was in dem Netz passiert, erlauben dieselben keine detaillierte Untersuchung des Verhaltens des Netzes und können leicht missverstanden werden.While diagrams of the form out 2 give a network operator a general impression of what is happening in the network, they do not allow a detailed study of the behavior of the network and can easily be misunderstood.

Die Netzanalyseverfahren, die im Folgenden beschrieben sind, analysieren Verkehrsdaten, die ähnlich sind wie die, die verwendet werden, um Diagramme der Form aus 2 im Hinblick auf ein Liefern hilfreicher Informationen über den Charakter des Netzes und hinsichtlich dessen, wie die Leistung desselben verbessert werden kann, zu erzeugen.The network analysis methods described below analyze traffic data similar to the ones used to form maps 2 with a view to providing helpful information about the nature of the network and how to improve its performance.

Die allgemeine Philosophie hinter den Netzanalyseverfahren, die noch beschrieben werden, ist die, dass starke Verbesserungen an der Leistung des Netzes allgemein nicht von einem Neupositionieren von Knoten herrühren, die eine globale Struktur von Kommunikationen aufweisen (d. h. ihre Kommunikation ist nicht hauptsächlich mit einem Logiksegment), sondern von einem Modifizieren des Netzes hinsichtlich Knoten, die hauptsächlich mit einem Logiksegment kommunizieren (wenn auch nicht notwendigerweise dem Segment, auf dem sich der Knoten selbst befindet).The general philosophy behind the network analysis methods that are still Be described, that is that strong improvements in performance In general, the network does not require a repositioning of nodes originate, which have a global structure of communications (i.e. Communication is not primary with a logic segment) but by modifying the network in terms of nodes, mainly communicate with a logic segment (though not necessarily the segment where the node itself is located).

Eine wichtige Analyseaufgabe besteht deshalb darin, die Knoten, die hauptsächlich auf einer globalen Basis („globale Server") kommunizieren, aus den Knoten ausfindig zu machen, die hauptsächlich mit nur einem Segment kommunizieren und Hauptkommunikatoren hinsichtlich dieses Segmentes sind („lokale Server"). Es ist zu erkennen, dass, während es viele Knoten geben kann, die hauptsächlich mit nur einem Segment kommunizieren, nur einige dieser Knoten eine serverartige Rolle haben. Daraufhin, dass die lokalen Server identifiziert sind, werden die hierin beschriebenen Netzanalyseverfahren dann verwendet, um Vorschläge hinsichtlich dessen zu machen, ob einer dieser lokalen Server zu einem anderen Logiksegment bewegt werden sollte, und hinsichtlich dessen, ob sich ein Aufteilen eines Segmentes zwischen zwei zugeordneten lokalen Servern lohnt.A important analysis task is therefore, the nodes, mainly on a global basis ("global Server ") communicate to locate the node, which is mainly with only one segment communicate and main communicators regarding this segment are ("local Server "). It is to realize that while There may be many nodes, mainly with only one segment Only some of these nodes have a server-like role to have. Thereupon the local servers are identified the network analysis methods described herein are then used to proposals as to whether to make one of these local servers another logic segment should be moved, and in terms of its whether there is a splitting of a segment between two associated ones worthwhile for local servers.

3 zeigt die Hauptprogrammgegenstände und Hauptdatenstrukturen, die bei der im Folgenden beschriebenen Implementierung der vorliegenden Erfindung verwendet werden. Insbesondere sind drei Hauptprogrammkomponenten vorgesehen, wobei diese ein Extrahieren-von-Servern-Programm 10, ein Bewegungsvorschläge-Programm 1 und ein Aufteilungsvorschläge-Programm 12 sind. 3 Figure 11 shows the main program items and main data structures used in the implementation of the present invention described below. In particular, three main program components are provided, these being an extract-from-server program 10 , a motion suggestion program 1 and a distribution proposal program 12 are.

Für das Extrahieren-von-Servern-Programm 10 sind sowohl Verkehrsdaten als auch Daten über die logische Anordnung des Netzes verfügbar. Die Verkehrsdaten sind in der Form eines Satzes von Verkehrselementen 22, die einen Knoten-zu-Knoten-Verkehr auf dem Netz über einen bestimmten Zeitraum charakterisieren. Die Daten über die logische Anordnung des Netzes sind in der Form einer Liste von Segmenten 20 und einer Liste von Knoten 21, wobei jede Liste Zuordnungsinformationen zwischen Segmenten und Knoten umfasst. Das Extrahieren-von-Servern-Programm 10 analysiert die Verkehrsdaten, die in Verkehrselementen 22 dargelegt sind, um eine Globalserverliste 23 und eine Lokalserverliste 24 zu erzeugen.For the extract-from-server program 10 Both traffic data and data about the logical arrangement of the network are available. The traffic data is in the form of a set of traffic elements 22 that characterize node-to-node traffic on the network over a period of time. The data about the logical arrangement of the network are in the form of a list of segments 20 and a list of nodes 21 Each list includes association information between segments and nodes. The extract-from-server program 10 analyzes the traffic data in traffic elements 22 set out to a global server list 23 and a local server list 24 to create.

Das Bewegungsvorschläge-Programm 11 umfasst Programmgegenstände Platzieren-von-Server 13 und Platzieren-von-Client 14. Das Bewegungsvorschläge-Programm 11 wiederum schaut sich jeden lokalen Server an, der durch das Programm 10 identifiziert wird, um zu entscheiden, ob es von Vorteil wäre, den lokalen Server zu einem anderen Segment zu bewegen, und, falls dies der Fall ist, ob es auch einen Vorteil bei einem Bewegen eines seiner Clientenknoten (d. h. Knoten, mit denen derselbe kommuniziert) zu dem gleichen Segment gibt. Auf der Basis dieser Analyse erzeugt das Programm 11 eine Liste mit Bewegungsvorschlägen (Knotenbewegungsliste 25). Das Programm 11 erzeugt außerdem eine Liste mit Arbeitsgruppen (Arbeitsgruppenliste 26), wobei jede Arbeitsgruppe einen lokalen Server und seine eng verbundenen Clientenknoten, falls vorhanden, aufweist.The motion suggestions program 11 includes program items Place-by-Server 13 and placing-by-client 14 , The motion suggestions program 11 in turn, look at each local server running through the program 10 is identified to decide whether it would be beneficial to move the local server to another segment, and if so, whether there is also an advantage in moving one of its client nodes (ie nodes with which it is communicating ) to the same segment. Based on this analysis, the program generates 11 a list of motion suggestions (node motion list 25 ). The program 11 also generates a list of workgroups (workgroup list 26 ), where each workgroup has a local server and its closely related client nodes, if any.

Das Aufteilungsvorschläge-Programm 12 umfasst Programmelemente Abschneiden-von-Arbeitsgruppe 15, Zusammenführen-von-Arbeitsgruppe 16 und Aufteilungsentscheidung 17. Das Programm 12 sieht sich jedes logische Element des Netzes an und gruppiert alle Knoten unter Verwendung der Arbeitsgruppen, die in der Arbeitsgruppenliste 26 aufgelistet sind, als einer Basis in zwei Arbeitsgruppen. Das Programm 12 führt dann eine Entscheidung durch, ob es sich lohnt, das Segment zwischen zwei Arbeitsgruppen aufzuteilen, und wenn es entscheidet, dass es einen Vorteil hieraus gäbe, gibt es einen Aufteilungsvorschlag in eine Segmentaufteilungsliste 27 ein.The distribution proposal program 12 includes program elements clipping-from-workgroup 15 , Merge-of-workgroup 16 and distribution decision 17 , The program 12 looks at each logical element of the network and groups all nodes using the workgroups that are in the workgroup list 26 are listed as a base in two working groups. The program 12 then makes a decision as to whether it is worth splitting the segment between two workgroups, and if it decides that there is an advantage, there is a split proposal in a segment split list 27 one.

Wie im Folgenden klar werden wird, hängt die Ebene der Ausgereiftheit der Programme 10, 11 und 12 (und insbesondere des Programms 10 beim Identifizieren von globalen und lokalen Servern) von der Detailtiefe ab, die durch die Verkehrsdaten geliefert wird (Elemente 22). So können die Verkehrsdaten einfach auf Ebene-2-Paketinformationen basieren, das heißt, auf den Quellen- und Zielknotenadressen von Meldungspaketen, die über das Netz geleitet werden, wobei kein Versuch unternommen wird, auf eine Strukturierung auf höherer Ebene zu schauen, die in dem Datenteil der Pakete enthalten ist. Alternativ können die Verkehrsdaten eine derartige Strukturierung auf höherer Ebene mit einer Betrachtung eines Bereitstellens einer Anzeige berücksichtigen, ob Pakete, die zu und von einem bestimmten Knoten geleitet werden, dies so tun, dass der Knoten in einer Serverrolle oder in einer Clientenrolle agiert. In Abwesenheit dieser detaillierteren Form von Verkehrsdaten muss das Extrahieren-von-Servern-Programm 10 seine Beurteilung darüber, welche Knoten Server sind, einfach auf der Basis von Verkehrsverbindungsmaßgrößen treffen.As will become clear below, the level of maturity of the programs depends 10 . 11 and 12 (and in particular the program 10 identifying global and local servers) from the level of detail provided by the traffic data (elements 22 ). Thus, the traffic data may simply be based on level 2 packet information, that is, on the source and destination node addresses message packets routed over the network, with no attempt to look at higher-level structuring included in the data portion of the packets. Alternatively, the traffic data may consider such higher-level structuring with consideration of providing an indication as to whether packets being routed to and from a particular node act so that the node acts in a server role or in a client role. In the absence of this more detailed form of traffic data must be the extract-from-server program 10 his assessment of which nodes are servers, just on the basis of Verkehrsverbindungsmaßgrößen hit.

Geeignete Netzüberwachungssysteme sind Fachleuten auf diesem Gebiet ersichtlich, welche Ebene von Verkehrsdaten auch immer erforderlich ist. Ein derartiges System ist z. B. in unserer Europäischen Patentspezifizierung EP-A-0 480 555 beschrieben, die auf einem zufälligen Abtasten von Paketen basiert (es ist ersichtlich, dass bestimmte Details hinsichtlich dessen, wie viele Daten auf jedem abgetasteten Paket erfasst sind, u. U. von denen, die in dieser Spezifizierung beschrieben sind, verändert werden müssen, wobei eine derartige Veränderung jedoch für Fachleute auf diesem Gebiet eine Routineangelegenheit ist). Andere Überwachungssysteme, einschließlich derer, die jedes an den Überwachungspunkten empfangene Paket aufzeichnen, können ebenfalls verwendet werden.suitable Network monitoring systems It will be apparent to those skilled in the art which level of Traffic data is always required. Such a system is z. In our European Patent Specification EP-A-0 480 555, which is based on random sampling based on packages (it can be seen that certain details in terms of how much data is on each scanned packet are recorded, u. U. of those described in this specification are to be changed have to, however, such a change for professionals is a routine matter in this area). Other surveillance systems, including those each at the watchpoints can record received packet also be used.

Für eine Klarheit der Erklärung wird zuerst die Operation der Programme 10, 11 und 12 ohne eine Zuflucht zu einer Untersuchung einer Strukturierung auf höherer Ebene der Paketdaten für den Fall beschrieben, in dem die Verkehrsdaten auf den Ebene-2-Paketinformationen basieren. Die Weiterentwicklungen, die mit Strukturierungsinformationen auf höherer Ebene möglich sind, werden dann besprochen.For clarity of explanation, first the operation of the programs 10 . 11 and 12 without referring to a study of higher level structuring of the packet data in the case where the traffic data is based on the level 2 packet information. The advancements that are possible with higher level structuring information are then discussed.

Wie bereits angezeigt wurde, weisen die Verkehrsdaten, die durch die Programme 10, 11, 12 analysiert werden, einen Satz von Verkehrselementen 22 auf. 4A zeigt die Struktur eines Verkehrselementes 22 für den Fall, bei dem die Verkehrsdaten nur auf Ebene-2-Paketinformationen basieren. Wie dies ersichtlich ist, weist jedes Verkehrselement vier Felder auf, nämlich ein Knoten-1-Identität-Feld, ein Knoten-2-Identität-Feld, ein Gesamtverkehr-Feld und ein „Aktivieren"-Flag-Feld. Wenn Verkehrselemente 22 die Form aus 4A aufweisen, gibt es ein jeweiliges Verkehrselement 22 für jedes Paar kommunizierender Knoten in dem Netz, wobei die Identität der betroffenen Knoten in dem Knoten-1- und dem Knoten-2-Identitätsfeld aufgezeichnet ist. Jedes derartige Verkehrselement 22 wird verwendet, um den Gesamt verkehr (z. B. angesichts der Anzahl von Paketen und/oder der Anzahl von Bytes) aufzuzeichnen, der zwischen den betroffenen Knoten in beiden Richtungen weitergeleitet wird.As has been indicated, the traffic data provided by the programs 10 . 11 . 12 be analyzed, a set of traffic elements 22 on. 4A shows the structure of a traffic element 22 in the case where the traffic data is based only on level 2 packet information. As can be seen, each traffic element has four fields, namely a node 1 identity field, a node 2 identity field, a total traffic field, and an "enable" flag field 22 the shape 4A There is a respective traffic element 22 for each pair of communicating nodes in the network, the identity of the affected nodes being recorded in the node 1 and node 2 identity fields. Every such traffic element 22 is used to record the total traffic (e.g., given the number of packets and / or the number of bytes) that is forwarded between the affected nodes in both directions.

Das Aktivieren-Flag-Feld jedes Verkehrselementes 22 aus 4A ermöglicht es, dass Elemente zum Einschluss oder Ausschluss aus den Verkehrsdaten markiert werden, die zu einer bestimmten Zeit durch die Programme 10, 11, 12 betrachtet werden. Nach einer Übereinkunft ist, wenn ein Element 22 sein Aktieviren-Flag gesetzt hat, dasselbe in den gegenwärtig relevanten Verkehrsdaten enthalten, während, wenn das Flag rückgesetzt ist, das Element ausgeschlossen ist. Zu Beginn (zu Beginn des Programms 10) sind die Aktivieren-Flags aller Verkehrselemente, die die Verkehrsdaten bilden, in einem Setz-Zustand.The enable flag field of each traffic element 22 out 4A Allows items to be tagged for inclusion or exclusion from the traffic data at any given time by the programs 10 . 11 . 12 to be viewed as. By convention, if is an element 22 has set its prophecy flag to contain the same in the currently relevant traffic data, while if the flag is reset, the element is excluded. At the beginning (at the beginning of the program 10 ) are the activation flags of all traffic elements that make up the traffic data in a set state.

Hinsichtlich der Betrachtung des Extrahieren-von-Servern-Programms 10 ist dieses Programm in Flussdiagrammform in 5 gezeigt und weist Schritte 30 bis 39 auf. Zu Beginn untersucht das Programm 10 die Verkehrsdaten, die durch die Verkehrselemente 22 dargestellt werden, und erzeugt eine Liste aller aktiver Knoten (Schritt 30), d. h. Knoten, die Verkehr senden oder empfangen. Wenn es tatsächlich keine aktiven Knoten gibt (in Schritt 31 getestet), endet das Programm 10 unmittelbar. Wenn jedoch, wie dies allgemein der Fall sein wird, die Verkehrsdaten zeigen, dass es aktive Knoten gibt, fährt das Programm 10 mit Schritt 32 fort, bei dem dasselbe nach dem Vorliegen von Knoten in der Liste aktiver Knoten sieht, die als globale Server agieren.Regarding viewing the extract-from-server program 10 this program is in flowchart form in 5 shown and shows steps 30 to 39 on. At the beginning, the program examines 10 the traffic data generated by the traffic elements 22 and generates a list of all active nodes (step 30 ), ie nodes that send or receive traffic. If there are actually no active nodes (in step 31 tested), the program ends 10 immediate. However, if, as is generally the case, the traffic data shows that there are active nodes, the program will run 10 with step 32 in which it sees the presence of nodes in the list of active nodes acting as global servers.

In diesem Zusammenhang ist mit „globaler Server" ein Knoten gemeint, dessen Verkehrsverbindungsmaß mit einem der Logiksegmente X1 bis X4 des Netzes kleiner als ein vorbestimmter Anteil des Gesamtverbindungsmaßes dieses Knotens mit allen Segmenten ist. Allgemein ist dieser vorbestimmte Anteil 50% oder ein ähnlicher Prozentsatz. Anders ausgedrückt ist ein globaler Server ein Knoten mit keinem vorherrschenden Verbindungsmaß zu einem bestimmten Logiksegment des Netzes.In In this context, "global server" means a node, its traffic connection with one of the logic segments X1 to X4 of the network less than a predetermined one Share of total connection this node is with all segments. Generally, this predetermined proportion 50% or something similar Percentage. In other words For example, a global server is a node with no predominant connection metric to a particular one Logic segment of the network.

Das Maß des Verkehrsverbindungsmaßes, das beim Durchführen der Einschätzung hinsichtlich dessen verwendet wird, ob ein Knoten ein globaler Server ist, ist vorzugsweise einfach ein Zählwert der Anzahl von Partnerknoten, d. h. die Zahl von Knoten, mit denen der Knoten von Interesse kommuniziert. Es wäre jedoch auf möglich, die Messung auf dem Verkehrsvolumen hinsichtlich Paketen, Rahmen oder Bytes zu basieren, die mit jedem Logiksegment ausgetauscht werden, vorausgesetzt, das Gesamtverkehrfeld jedes Verkehrselementes 22 zeichnet die geeigneten Informationen auf.The measure of the traffic connection measure used in making the assessment as to whether a node is a global server is preferably simply a count of the number of partner nodes, ie the number of nodes with which the node of interest communicates. However, it would be possible to base the measurement on traffic volume in terms of packets, frames or bytes exchanged with each logic segment, assuming the overall traffic field of each traffic element 22 records the appropriate information.

6 stellt den Netzverkehr aufgrund eines Globalserverknotens N1 in dem Logiksegment X1 dar. Wie dies ersichtlich ist, kommuniziert der Knoten N1 mit im wesentlichen allen anderen Knoten mit dem Ergebnis, dass seine Kommunikation mit jedem anderen der Logiksegmente X1 bis X4 kleiner als 50% seiner gesamten Kommunikation mit allen Segmenten ist. 6 sets the network traffic due to a global server node N1 in the logic segment X1 As can be seen, the node N1 communicates with substantially all other nodes with the result that its communication with each other of the logic segments X1 through X4 is less than 50% of its total communication with all segments.

Unter der Annahme, dass zumindest ein globaler Server in der Aktivknotenliste in Schritt 32 gefunden wird, führt das Programm 10 als nächstes Schritt 33 aus, bei dem dasselbe den globalen Server in der Aktivknotenliste identifiziert, der das höchste Gesamtverkehrsverbindungsmaß aufweist (wieder vorzugsweise hinsichtlich eines Partnerknotenzählwertes gemessen, wobei, wenn zwei globale Server den gleichen Partnerknotenzählwert aufweisen, dann darauf zurückgegriffen werden kann, dass die Gesamtverkehrsvolumina betrachtet werden). Sobald Schritt 33 den aktivsten globalen Server identifiziert hat, wird die Identität dieses Servers zu der Globalserverliste 23 hinzugefügt (Schritt 34).Assuming that at least one global server in the active node list in step 32 is found, the program performs 10 next step 33 in which it identifies the global server in the active node list having the highest total traffic connection metric (again preferably measured for a partner node count, and if two global servers have the same partner node count, then it can be assumed that the total traffic volumes are considered). As soon as step 33 has identified the most active global server, the identity of that server becomes the global server list 23 added (step 34 ).

Das Programm 10 fährt als nächstes mit Schritt 35 fort, bei dem der gerade identifizierte Server aus der Aktivknotenliste entfernt wird und seine zugeordneten Verkehrselemente durch ein Rücksetzen des Aktivieren-Flags in jedem dieser Elemente deaktiviert werden.The program 10 next go to step 35 continue, in which the just identified server is removed from the active node list and its associated traffic elements are disabled by resetting the enable flag in each of these elements.

Das Programm kehrt nun zu Schritt 32 zurück und führt einen Test auf der Basis der modifizierten Verkehrsdaten (d. h. der Verkehrsdaten, wobei bestimmte der Elemente 22 deaktiviert sind) durch, um zu sehen, ob es globale Server gibt, die in der Aktivknotenliste vorhanden sind; falls dies der Fall ist, werden die Schritt 33 bis 35 wiederholt. Dieser Prozess fährt fort, bis keine globalen Server mehr in der Aktivknotenliste durch den Test aus Schritt 32 identifiziert werden. Für den exemplarischen Verkehr aus 2 treten drei Iterationen der Schritt 33 bis 35 auf, bevor kein weiterer globaler Server mehr gefunden wird. Die erste Iteration identifiziert den Knoten N1 als einen globalen Server, die zweite Iteration identifiziert den Knoten N2 als einen globalen Server und die dritte Iteration identifiziert N3 als einen globalen Server. Wenn die Verkehrselemente dieser globalen Server deaktiviert sind, stellen die verbleibenden Elemente eine Verkehrsverteilung dar, die in 7 gezeigt ist.The program now returns to step 32 back and performs a test based on the modified traffic data (ie the traffic data, whereby certain of the elements 22 disabled) to see if there are any global servers present in the Active Node List; if this is the case, the step 33 to 35 repeated. This process continues until there are no more global servers in the Active Node List through the test from step 32 be identified. For the exemplary traffic off 2 Three iterations of the step occur 33 to 35 until no more global server is found. The first iteration identifies node N1 as a global server, the second iteration identifies node N2 as a global server, and the third iteration identifies N3 as a global server. If the traffic elements of these global servers are disabled, the remaining elements represent a traffic distribution that is in 7 is shown.

Wenn Schritt 32 keinen globalen Server identifizieren kann, wird Schritt 36 ausgeführt, um auf das Vorliegen eines lokalen Servers in der Aktivknotenliste hin zu testen. In diesem Zusammenhang ist ein „lokaler Server" ein Knoten, dessen Verkehrsverbindungsmaß mit dem Logiksegment, mit dem derselbe am stärksten verbunden ist, größer als ein vorbestimmter Anteil (allgemein 50% oder dergleichen) seines Gesamtverbindungsmaßes mit allen Segmenten ist. So agieren z. B. die Knoten N4, N5, N6 und N7 aus 7 als lokale Server für den Verkehr, der betrachtet wird (tatsächlich gibt es eine Anzahl anderer Knoten, die in 7 als lokale Server agieren, auf diese wird jedoch zur Klarheit nicht verwiesen). Es ist ersichtlich, dass das Maß des Verkehrsverbindungsmaßes, das beim Testen nach einem lokalen Server verwendet wird, wie bei dem Globalservertest, einfach ein Zählwert von Partnerknoten sein kann oder ein Maß des tatsächlichen Verkehrsvolumens sein kann. Es ist außerdem ersichtlich, dass die Verkehrsverbindungsmaß-Maße auf der Basis der Verkehrsdaten ausgeführt werden, wie dieselben durch das Deaktivieren von Verkehrselementen durch Schritt 35 modifiziert sind.When step 32 can not identify a global server will step 36 executed to test for the presence of a local server in the Active Node List. In this context, a "local server" is a node whose traffic link with the logic segment to which it is most connected is greater than a predetermined proportion (generally 50% or so) of its total link with all segments The nodes N4, N5, N6 and N7 off 7 as local servers for the traffic being considered (in fact there are a number of other nodes that are in 7 act as local servers, but they are not referenced for clarity). It will be appreciated that the measure of traffic link used in testing for a local server, as in the global server test, may simply be a count of partner nodes or may be a measure of the actual traffic volume. It can also be seen that the traffic connection measures are performed on the basis of the traffic data, as are the same by the deactivation of traffic elements by step 35 are modified.

Unter der Annahme, dass zumindest ein lokaler Server in der Aktivknotenliste identifiziert wird, fährt das Programm 10 dann mit Schritt 37 fort, bei dem dasselbe den lokalen Server mit dem höchsten Verkehrsverbindungsmaß identifiziert (vorzugsweise als ein Zählwert der Gesamtanzahl von Partnerknoten gemessen, wobei ein Gleichstand durch eine Referenz auf Verkehrsvolumen gelöst wird). Sobald der lokale Server mit dem höchsten Verkehrsverbindungsmaß identifiziert wurde, wird die Identität dieses Servers zu der Lokalserverliste 24 hinzugefügt (Schritt 38). Schritt 35 wird dann ausgeführt, um den identifizierten Server von der Aktivknotenliste zu entfernen und seine zugeordneten Verkehrselemente 22 zu deaktivieren.Assuming that at least one local server is identified in the active node list, the program moves 10 then with step 37 in which it identifies the local server with the highest traffic connection metric (preferably measured as a count of the total number of partner nodes, with a tie being resolved by a reference to traffic volume). Once the local server with the highest traffic link has been identified, the identity of that server becomes the local server list 24 added (step 38 ). step 35 is then executed to remove the identified server from the active node list and its associated traffic elements 22 to disable.

Danach kehrt das Programm 10 in einer Schleife zurück zu Schritt 32, um wieder nach dem Vorliegen von globalen Servern in der Aktivknotenliste zu testen (es ist ersichtlich, dass die Deaktivierung der Verkehrselemente, die dem gerade identifizierten lokalen Server zugeordnet sind, zu dem Auftreten eines neuen globalen Servers in der Aktivknotenliste geführt haben kann, obwohl dies für den vorliegenden exemplarischen Verkehr nicht der Fall ist).After that, the program returns 10 in a loop back to step 32 to test again for the existence of global servers in the active node list (it will be appreciated that the deactivation of the traffic elements associated with the currently identified local server may have resulted in the appearance of a new global server in the active node list, though is not the case for the present exemplary traffic).

Die Identifizierung von globalen und lokalen Servern fährt auf diese Weise mit der bevorzugten Identifizierung von globalen Servern fort, bis keine weiteren globalen oder lokalen Server mehr gefunden werden. Dies führt dazu, dass das Programm von Schritt 36 zu Schritt 39 austritt, bei dem dasselbe alle Verkehrselemente 22 reaktiviert, die während des Laufens des Programms 10 deaktiviert wurden. Das Programm 10 endet dann.The identification of global and local servers thus continues with the preferred identification of global servers until no more global or local servers are found. This causes the program of step 36 to step 39 exit, in which the same all traffic elements 22 reactivated while the program is running 10 have been disabled. The program 10 ends then.

Sobald das Extrahieren-von-Servern-Programm 10 die lokalen Server identifiziert hat, kann das Bewegungsvorschläge-Programm 11 ausgeführt werden, um das optimale Logiksegment X1 bis X4 für jeden Server sicherzustellen und vorzuschlagen, ob als eine Konsequenz ein lokaler Serverknoten gemeinsam mit einem seiner Clientenknoten bewegt werden soll. Eine typische Situation, in der ein lokaler Server nützlich bewegt werden könnte, ist in 8 dargestellt, die die Logiksegmente X3 und X4 und die Komponente des Verkehrs, der in 7 dargestellt ist, zeigt, der einem Lokalserverknoten N5 zugeordnet ist. Aus 8 ist es ersichtlich, daß der Knoten N5 hauptsächlich mit dem Logiksegment X4 kommuniziert, obwohl der Lokalserverknoten N5 auf dem Logiksegment X3 angeordnet ist. Es wäre natürlich von Vorteil, wenn der Lokalserverknoten N5 von dem Logiksegment X3 zu dem Logiksegment X4 bewegt werden würde. Diesen Typ Situation soll das Bewegungsvorschläge-Programm 11 identifizieren.Once the extract-from-server program 10 the local server has identified the motion suggestions program 11 in order to ensure the optimal logic segment X1 to X4 for each server and to suggest, as a consequence, whether to move a local server node along with one of its client nodes. A typical situation in which a local server could be usefully moved is in 8th representing the logic segments X3 and X4 and the component of the traffic in 7 1, which is associated with a local server node N5. Out 8th It can be seen that the node N5 communicates mainly with the logic segment X4, although the local server node N5 is located on the logic segment X3. It would, of course, be advantageous if the local server node N5 were moved from the logic segment X3 to the logic segment X4. This type of situation should be the motion suggestions program 11 identify.

9 ist ein Flussdiagramm des Bewegungsvorschläge-Programms 11. Dieses Programm soll auf die gesammelten Verkehrsdaten wirken, von denen die Verkehrselemente 22, die den identifizierten globalen Servern zugeordnet sind, entfernt wurden. Folglich soll der erste Schritt 40 des Programms 11 die Verkehrselemente deaktivieren, die den globalen Servern zugeordnet sind. Danach betritt das Programm 11 eine Schleifenstruktur, bei der jeder lokale Server der Reihe nach in einer Partnerzählwertgrößenreihenfolge betrachtet wird (Schritt 41), wobei der Austrittstest aus dieser Schleifenstruktur in Schritt 42 ist, der einen Test durchführt, um zu sehen, ob ein lokaler Server übrig ist, der verarbeitet werden soll. 9 is a flowchart of the motion suggestions program 11 , This program should act on the collected traffic data, of which the traffic elements 22 that were assigned to the identified global servers have been removed. Consequently, the first step 40 of the program 11 Disable the traffic elements associated with the global servers. Then the program enters 11 a loop structure in which each local server is considered in turn in a partner count size order (step 41 ), wherein the exit test from this loop structure in step 42 is, which performs a test to see if there is any local server left to process.

Jeder lokale Server wird Verarbeitungsschritten 44 bis 48 unterzogen, um zu bestimmen, ob derselbe zu einem unterschiedlichen Logiksegment bewegt werden sollte, oder ob einer seiner Clientenknoten bewegt werden sollte.Each local server becomes processing steps 44 to 48 to determine whether it should be moved to a different logic segment, or whether one of its client nodes should be moved.

Insbesondere wird in Schritt 44 der Platzieren-von-Server-Programm-Gegenstand 30 ausgeführt, um zu bestimmen, ob der betrachtete lokale Server (der gegenwärtige „Ziel"-Server) bewegt werden sollte, wobei Bewegungsvorschläge in der Knotenbewegungsliste 25 platziert werden. Der Platzieren-von-Server-Programm-Gegenstand 13 implementiert angenommenermaßen außerdem eine vorgeschlagene Bewegung für den Zielserver, um es zu ermöglichen, daß der nachfolgende Schritt 46 prüft, ob einer der Clientenknoten des Zielservers ebenfalls bewegt werden sollte.In particular, in step 44 the placing-of-server program item 30 to determine whether the considered local server (the current "destination" server) should be moved, with motion suggestions in the node move list 25 to be placed. The Place-Of-Server Program Object 13 It is also believed that it implements a suggested move for the destination server to enable the subsequent step 46 checks if any of the client nodes of the target server should also be moved.

In Schritt 45 wird eine neue Arbeitsgruppendatenstruktur (im Folgenden einfach als „Arbeitsgruppe" bezeichnet) für den Zielserver erzeugt, wenn derselbe vorher noch nicht eingeschlossen wurde, und zwar als ein Clientenknoten in einer Arbeitsgruppe, die bei einer früheren Iteration der Schritte 44 bis 48 hinsichtlich eines lokalen Servers mit einem höheren Clientenknotenzählwert erzeugt wurde. Die Arbeitsgruppen sind in einer Arbeitsgruppenliste 26 verbunden. Jede Arbeitsgruppe wird betrachtet, um dem Logiksegment zugeordnet zu sein, auf dem der lokale Server, der die Erzeugung verursacht, angeordnet ist.In step 45 For example, a new workgroup data structure (hereafter referred to simply as a "workgroup") is created for the destination server if it has not previously been included as a client node in a workgroup that was earlier in an iteration of steps 44 to 48 with respect to a local server with a higher client node count. The workgroups are in a workgroup list 26 connected. Each workgroup is considered to be associated with the logic segment on which the local server causing the generation is located.

Als nächstes wird in Schritt 46 der Platzieren-von-Client-Programm-Gegenstand 46 ausgeführt, um sicherzustellen, ob einer der Clientenknoten des Zielservers zu dem Logiksegment des Servers bewegt werden sollte (dies ist das Segment, auf dem sich der Server nach einer Implementierung eines Bewegungsvorschlags befindet, der durch Schritt 44 bereitgestellt wird). Jeder Clientenbewegungsvorschlag, der durch das Platzieren-von-Client-Programm erzeugt wird, ist in der Knotenbewegungsliste 25 gespeichert, wobei jeder Vorschlag zeitweilig implementiert ist. Ferner ist jeder Clientenknoten, der gut mit dem Zielserver verbunden ist (d. h. im wesentlichen zumindest die Hälfte des Gesamtverbindungsmaßes des Clienten liegt bei dem Zielserver), in der gleichen Arbeitsgruppe wie der Zielserver platziert.Next will be in step 46 the placing-of-client program item 46 to ensure that any of the client nodes of the target server should be moved to the logical segment of the server (this is the segment on which the server resides after an implementation of a motion suggested by step 44 provided). Each client move proposal generated by the place-of-client program is in the node move list 25 stored, with each suggestion being temporarily implemented. Further, each client node that is well connected to the destination server (ie, at least half of the total client connection size is at the destination server) is placed in the same workgroup as the destination server.

Es ist ersichtlich, daß ein Einschätzen, ob ein Clientenknoten gut mit seinem zugeordneten lokalen Server ver bunden ist, durch ein Betrachten der Verkehrsvolumenmaße und nicht der Knotenzählwerte ausgeführt wird.It it can be seen that a assess whether a client node works well with its associated local server ver is connected, by looking at the traffic volume measurements and not the node count is executed.

Nachdem alle Clientenknoten des Zielservers geprüft wurden, um zu sehen, ob dieselben vorzugsweise bewegt werden könnten, wird eine angenommene Bewegung des Zielservers und seiner Clienten von ihren ursprünglichen Segmenten durch eine geeignete Aktion in dem relevanten Segment und Knotendatenstrukturen 20 und 21 umgekehrt (Schritt 47 und 48).After all client nodes of the destination server have been examined to see if they could preferably be moved, an assumed movement of the destination server and its clients from their original segments is determined by an appropriate action in the relevant segment and node data structures 20 and 21 vice versa (step 47 and 48 ).

Sobald alle lokalen Server, die in der Lokalserverliste 24 aufgezeichnet sind, einer Verarbeitung in den Schritten 44 bis 48 unterzogen wurden, wird die Schleifenstruktur des Bewegungsvorschläge-Programm-Gegenstandes 11 bei Schritt 42 verlassen und alle Globalserververkehrselemente werden wieder aktiviert (Schritt 49), bevor der Programmgegenstand 11 beendet wird.Once all the local servers in the local server list 24 recorded, a processing in the steps 44 to 48 have undergone the looping structure of the motion suggestions program item 11 at step 42 and all Global Server traffic items are re-enabled (step 49 ) before the program object 11 is ended.

Es wird angemerkt, daß der Grund, warum die lokalen Server durch den Programmgegenstand 11 in der Reihenfolge ihrer Clientenzählwertgröße verarbeitet werden, darin besteht, die Zuordnung der Knoten in Arbeitsgruppen in Schritt 45 so weit wie möglich zu maximieren. Insbesondere ist es durch ein späteres Verarbeiten der weniger verbundenen lokalen Server möglich, daß dieselben bereits in die Arbeitsgruppe eines stärker verbundenen lokalen Servers eingeschlossen wurden. In diesem Fall ist nicht nur der weniger verbundene lokale Server in der gleichen Arbeitsgruppe wie der stärker verbundene lokale Server eingeschlossen, sondern auch Clientenknoten des weniger verbundenen lokalen Servers, die gut mit dem weniger verbundenen lokalen Server verbunden sind, werden in die Arbeitsgruppe des stärker verbundenen lokalen Servers eingeschlossen.It is noted that the reason why the local server through the program object 11 In order to process their client count size, the assignment of nodes to workgroups is step by step 45 maximize as much as possible. In particular, by later processing the less connected local servers, it is possible that they have already been included in the workgroup of a more connected local server. In this case, not only the less connected local server is included in the same workgroup as the more connected local server, but also the client nodes of the less connected local server, which are well connected to the less connected local server, are more connected to the working group local server included.

10 ist ein Flussdiagramm des Platzieren-von-Server-Programm-Gegenstandes 13, der in Schritt 44 des Bewegungsvorschläge-Programms 11 ausgeführt wird. Das Platzieren-von-Server-Programm 13 erhält die Identität eines bestimm ten Zielservers und fährt dann fort, um zu testen, ob sich ein Bewegen des Servers zu einem unterschiedlichen Segment lohnt. Als ein vorbereitender Schritt jedoch führt das Programm 13 zuerst einen Test durch, um zu sehen, ob der Server tatsächlich eine aufspannende Vorrichtung (Brücke/Router/Gateway) ist, die nicht ohne weiteres bewegt werden kann, und zu Zwecken des Programms 13 als fest behandelt werden sollte (siehe Schritt 50). Tatsächlich kann Schritt 50 in eine Prüfung einer Liste von Knoten verallgemeinert werden, die aus einem bestimmten Grund als unbewegbar spezifiziert sind. 10 Figure 12 is a flowchart of the Place-Of-Server program item 13 in step 44 of the motion suggestions program 11 is performed. The placing-from-server program 13 obtains the identity of a particular destination server and then proceeds to test whether it is worth moving the server to a different segment. As a preparatory step, however, the program leads 13 first, test to see if the server is actually a spanning device (bridge / router / gateway) that can not be readily moved and for purposes of the program 13 should be treated as firm (see step 50 ). Actually, step 50 are generalized to a check of a list of nodes that are specified as immovable for some reason.

Das Platzieren-von-Server-Programm 13 fährt als nächstes mit Schritt 51 fort, an dem das optimale Segment für den betrachteten Server sichergestellt wird. Bei dem vorliegenden Beispiel wird dies durch ein Suchen nach dem minimalen Gesamtsprungzählwert zwischen dem Server und seinen Clientenknoten durchgeführt, was auf der Basis funktioniert, daß ein Client auf dem gleichen Segment wie der Server einen „Null"-Sprungzählwert hat, wohingegen ein Client auf einem unterschiedlichen Segment einen „Eins"-Sprungzählwert hat (unabhängig davon, durch wie viele Segmente tatsächlich auf dem physischen Netz gesprungen werden muss, um eine Meldung von dem Server an diesen Clienten weiterzuleiten). So ist der Server angenommenermaßen wiederum auf jedem Logiksegment angeordnet und der entsprechende Sprungzählwert wird berechnet. Der Segmentort, der den minimalen Sprungzählwert erzeugt, wird dann als das optimale Segment für den betrachteten Server identifiziert.The placing-from-server program 13 next go to step 51 on which the optimal segment for the server under consideration is ensured. In the present example, this is done by looking for the minimum total hop count between the server and its client nodes, which works on the basis that a client on the same segment as the server has a "zero" hop count, whereas a client on a different segment has a "one" jump count (regardless of how many segments actually have to jump on the physical network to forward a message from the server to that client). So the server is supposedly again arranged on each logic segment and the corresponding hop count is calculated. The segment location that generates the minimum hop count is then identified as the optimal segment for the server under consideration.

Es ist zu erkennen, daß andere Maße als die einfache Sprungzählwertmessung, die oben beschrieben wurde, zum Bestimmen des optimalen Segmentes verwendet werden können. Geeignete Maße sind die, die für jeden Ort des Servers empfindlich gegenüber der Zwischensegmentkomponente des Verkehrs zwischen dem Zielserver und seinen Clienten sind. So wäre z. B. ein weiteres geeignetes Maß das Zwischensegment verkehrsvolumen in Paketen/Rahmen/Bytes, die für jede Position des Servers erzeugt werden.It it can be seen that others Dimensions as the simple skip count measurement, described above for determining the optimum segment can be used. Suitable dimensions are the ones for any location of the server sensitive to the intersegment component of the Traffic between the destination server and its clients. So z. B. another suitable measure that Inter-segment traffic volume in packets / frames / bytes, for each position of the server.

Sobald der optimale Segmentort für den Zielserver bestimmt wurde, wird eine Prüfung in Schritt 52 hinsichtlich dessen durchgeführt, ob sich dieses Segment von dem gegenwärtigen Segment des Zielsegmentes unterscheidet. Wenn diese Segmente die gleichen sind, endet das Programm 13. Unter der Annahme jedoch, daß das optimale Segment sich von dem gegenwärtigen Segment für den Server unterscheidet, wird Schritt 53 ausgeführt, bei dem eine Prüfung hinsichtlich dessen durchgeführt wird, ob der Zielserver bereits fest als ein Clientenknoten in einer Arbeitsgruppe ist, die hinsichtlich eines früher betrachteten Servers erzeugt wurde. Wie bereits oben erklärt wurde, ist es möglich, daß ein Server als ein Client gut mit einem besser verbundenen Server verbunden ist und deshalb fest in der Arbeitsgruppe letzteren ist. In diesem Fall wird der weniger gut verbundene Server als unbewegbar betrachtet, wobei das Programm 13 beendet wird, ohne daß ein Bewegungsvorschlag für den Server gemacht wird.Once the optimal segment location has been determined for the destination server, a check is made in step 52 in terms of whether this segment is different from the current segment of the target segment. If these segments are the same, the program ends 13 , However, assuming that the optimal segment is different from the current segment for the server, step 53 is executed, in which a check is made as to whether the destination server is already firmly established as a client node in a workgroup generated with respect to a previously-considered server. As explained above, it is possible that a server as a client is well connected to a better connected server and therefore is firmly in the workgroup latter. In this case, the less well-connected server is considered immobile, with the program 13 is terminated without making a motion suggestion to the server.

Vorausgesetzt, daß der Zielserver nicht fest als ein Client in der Arbeitsgruppe eines anderen Servers ist, wird Schritt 54 des Platzieren-von-Server-Programms 13 ausgeführt, um einen Bewegungsvorschlag zu der Knotenbewegungsliste 25 hinzuzufügen. Dieser Vorschlag identifiziert den betroffenen Server, sein gegenwärtiges Segment und das vorgeschlagene neue Segment. Die vorgeschlagene Bewegung wird zeitweilig auch angenommenermaßen durch eine geeignete Modifizierung des Servers und Segmentdatenstrukturen ausgeführt, um anzuzeigen, daß der Server sich nun auf dem gerade identifizierten optimalen Segment befindet. Danach endet das Programm 13.Provided that the destination server is not fixed as a client in the workgroup of another server, step 54 the placing-of-server program 13 executed to propose a motion to the node motion list 25 add. This proposal identifies the affected server, its current segment, and the proposed new segment. The proposed move is also believed to be performed, at times, by appropriate modification of the server and segment data structures to indicate that the server is now on the just identified optimal segment. Then the program ends 13 ,

11 ist ein Flussdiagramm eines Platzieren-von-Client-Programm-Gegenstandes 14, der in Schritt 46 des Bewegungsvorschläge-Programms 11 ausgeführt wird. Das Programm 14 wird für jeden Clientenknoten des Zielservers ausgeführt, der während einer gegenwärtigen Iteration des Bewegungsvorschläge-Programms 11 betrachtet wird. 11 Figure 10 is a flowchart of a Place-Of-Client program item 14 in step 46 of the motion suggestions program 11 is performed. The program 14 is executed for each client node of the destination server during a current iteration of the motion suggestions program 11 is looked at.

Die ersten beiden Schritte 60 und 61 des Programms 14 prüfen, ob der betrachtete Clientenknoten bereits fest in einer Arbeitsgruppe ist, bzw. ob er eine Vorrichtung ist (oder andernfalls allgemeiner unbewegbar), wobei in beiden Fällen der Clientenknoten als unbewegbar betrachtet und das Programm 14 beendet wird.The first two steps 60 and 61 of the program 14 check if the client node under consideration is already fixed in a workgroup, or if it is a device (or otherwise more generally immovable), in either case the client node is considered immobile and the program 14 is ended.

Vorausgesetzt jedoch, daß der betrachtete Clientenknoten nicht unbewegbar ist, wird ein Test als nächstes in Schritt 62 ausgeführt, um zu sehen, ob der Clientenknoten gut mit dem betroffenen Server verbunden ist. In diesem Zusammenhang bedeutet „gut verbunden", daß das Verbindungsmaß des Clientenknotens mit dem Server mehr als 50% des Gesamtverbindungsmaßes des Knotens dieses Clienten ist (durch Verkehrsvolumina gemessen). Es ist ersichtlich, daß eine bestimmte Abweichung der 50%-Zahl insbesondere in einer Aufwärtsrichtung möglich ist. Wenn der Clientenknoten nicht gut mit seinem Server verbunden ist, wird es für den Clientenknoten nicht als geeignet betrachtet, zu dem gleichen Segment wie der Server bewegt zu werden, wobei das Programm 14 endet. Wenn jedoch der Clientenknoten gut mit dem betrachteten Server verbunden ist, wird der Clientenknoten zu der Arbeitsgruppe des Servers hinzugefügt und die Identität des Ziels wird in die Datenstruktur des Clientenknotens eingegeben, was den Server als den primären Server für den Clientenknoten identifiziert (Schritt 63). Danach wird in Schritt 64 eine Prüfung hinsichtlich dessen durchgeführt, ob sich das Segment des Clienten von dem Segment des Servers unterscheidet, wobei, falls dies der Fall ist, Schritt 65 ausgeführt wird, um einen Bewegungsvorschlag in die Knotenbewegungsliste 25 hinzuzufügen, der vorschlägt, daß der Clientenknoten zu dem Segment des Servers bewegt wird. Eine Ausführung von Schritt 65 beinhaltet auch ein zeitweiliges Bewegen des Clientenknotens zu dem Segment des Servers durch ein Aktualisieren des betroffenen Clientenknotens und der betroffenen Segmentdatenstrukturen.However, provided that the client node under consideration is not immovable, a test will be next in step 62 to see if the client node is well connected to the affected server. In this context, "well connected" means that the connection score of the client node to the server is more than 50% of the total connectivity of that client's node (measured by traffic volumes) If the client node is not well connected to its server, it will not be considered appropriate for the client node to be moved to the same segment as the server, the program 14 ends. However, if the client node interfaces well with the server under consideration that is, the client node is added to the server's workgroup, and the identity of the destination is entered into the data structure of the client node, identifying the server as the primary server for the client node (step 63 ). After that, in step 64 a check is made as to whether the segment of the client is different from the segment of the server, if so, step 65 is executed to make a motion suggestion in the node motion list 25 which suggests that the client node is moved to the segment of the server. An execution of step 65 also includes temporarily moving the client node to the segment of the server by updating the affected client node and the affected segment data structures.

Nach der Beschreibung der Operation des Bewegungsvorschlägeprogramms 11 und seiner zugeordneten Programmgegenstände 13 und 14 wird nun der Aufteilungsvorschlag-Programm-Gegenstand 12 mit seinen zugeordneten Programmgegenständen 15, 16 und 17 betrachtet.After describing the operation of the motion suggestion program 11 and its associated program items 13 and 14 now becomes the allocation proposal program item 12 with its associated program items 15 . 16 and 17 considered.

Das Aufteilungsvorschläge-Programm 12 betrachtet wiederum jedes Logiksegment, um zu entscheiden, ob es von Vorteil wäre, eines der Segmente in zwei aufzuteilen. 12 stellt eine Situation dar, die aus den exemplarischen Verkehrsdaten genommen ist, wobei ein Logiksegment, in diesem Fall das Segment X2, in zwei Segmente aufgeteilt wird (hier entsprechend Gruppierungen basierend um Lokalserverknoten N6 und N7).The distribution proposal program 12 again looks at each logic segment to decide whether it would be beneficial to divide one of the segments into two. 12 Figure 5 illustrates a situation taken from the exemplary traffic data where a logic segment, in this case the segment X2, is split into two segments (here, corresponding to groupings based on local server nodes N6 and N7).

Das Aufteilungsvorschlag-Programm 12 startet von der Basis der Knotengruppierungen, die in der Arbeitsgruppenliste 26 durch das Bewegungsvorschläge-Programm 11 gebildet wurden. Die Arbeitsgruppen jedoch, die in der Liste 26 aufgezeichnet sind, sind nicht unmittelbar verwendbar, um eine Entscheidung hinsichtlich einer Segmentaufteilung durchzuführen, da jede derartige Arbeitsgruppe Knoten von mehr als einem Segment enthalten kann und zusätzlich nicht alle Netzknoten in den Arbeitsgruppen enthalten sind (nur die Knoten, die gut mit Serverknoten verbunden sind, wurden durch das Programm 11 eingeschlossen).The allocation proposal program 12 starts from the base of the node groupings that are in the workgroup list 26 through the motion suggestions program 11 were formed. However, the workgroups that are in the list 26 are not immediately usable to make a decision regarding segment splitting, since each such workgroup may contain nodes of more than one segment and additionally not all the network nodes are included in the workgroups (only the nodes that are well connected to server nodes, were through the program 11 locked in).

Bezugnehmend auf 13 beinhaltet der erste Schritt 70 des Aufteilungsvorschlag-Programms 12 ein Prüfen dessen, ob es Arbeitsgruppen in der Arbeitsgruppenliste 26 gibt. Wenn keine derartige Arbeitsgruppen existieren, wird das Programm 12 beendet, ohne daß Segmentaufteilungsvorschläge gemacht wurden. Allgemein gibt es jedoch mehrere Arbeitsgruppen in der Arbeitsgruppenliste 26, wobei in diesem Fall das Programm 12 mit Schritt 71 fortfährt, in dem der Abschnei den-von-Arbeitsgruppe-Programm-Gegenstand 15 ausgeführt wird. Der Zweck des Abschneiden-von-Arbeitsgruppe-Programms 15 besteht darin, jede Arbeitsgruppe so abzuschneiden, daß sie auf nur ein Segment bezogen ist und nur Knoten auf diesem Segment umfasst, deren Verbindungsmaß durch Knoten auf dem Segment zu dem Server, hinsichtlich dessen die Arbeitsgruppe in Schritt 45 aus Programm 11 erzeugt wurde, zurückverfolgt werden kann. Insbesondere entfernt das Programm 15 jeden Knoten aus der Arbeitsgruppe, der nicht auf dem gleichen Logiksegment wie die Arbeitsgruppe ist, und außerdem jeden Knoten, dessen Einschluss in die Arbeitsgruppe entweder direkt oder indirekt ein Ergebnis der ursprünglichen Einschließung eines Knotens ist, der nicht auf dem Logiksegment der Arbeitsgruppe ist.Referring to 13 includes the first step 70 of the allocation proposal program 12 checking if there are workgroups in the workgroup list 26 gives. If no such workgroups exist, the program becomes 12 ended without any segmentation proposals being made. Generally, however, there are several workgroups in the workgroup list 26 , in which case the program 12 with step 71 The cut-off continues in the Workgroup Program object 15 is performed. The purpose of the clipping-from-workgroup program 15 This is to cut each workgroup to be segment-only and to include only nodes on that segment, their join by nodes on the segment to the server with respect to which the workgroup in step 45 from program 11 was generated, can be traced. In particular, the program removes 15 any node from the workgroup that is not on the same logical segment as the workgroup, and also any node whose inclusion in the workgroup is either directly or indirectly a result of the original inclusion of a node that is not on the logic segment of the workgroup.

Sobald die Arbeitsgruppen abgeschnitten wurden, wird in eine Schleifenstruktur, die einen Schleifenmechanismus basierend auf den Schritten 72 und 73 aufweist, zum Aufgreifen jedes Segmentes und Ausführen von Verarbeitungsschritten 74 bis 77 eingetreten. Insbesondere wird in Schritt 72 das erste oder nächste Segment in der Liste von Segmenten anvisiert, wobei Schritt 73 prüft, ob das Ende der Liste noch nicht erreicht wurde (falls dies doch der Fall ist, endet das Programm 12).Once the workgroups have been cut off, it will turn into a loop structure that has a looping mechanism based on the steps 72 and 73 for picking up each segment and executing processing steps 74 to 77 occurred. In particular, in step 72 the first or next segment in the list of segments targeted, where step 73 checks if the end of the list has not yet been reached (if this is the case, the program ends 12 ).

Für jedes Logiksegment werden die Schritte 74 bis 77 ausgeführt. In Schritt 74 wird eine Sammlung „WGCLTN" aus allen Arbeitsgruppen in der Liste 26 gebildet, die relevant für das gegenwärtige Zielsegment sind. Schritt 75 prüft, ob es mehr als eine Arbeitsgruppe in der Sammlung WGCLTN gibt. Falls dies nicht der Fall ist, wird angenommen, daß es sich nicht lohnt, das Logiksegment aufzuteilen, wobei die Verarbeitung zu dem Beginn der Schleife zurückkehrt, um das nächste Segment aufzunehmen. Unter der Annahme jedoch, daß es zumindest zwei Arbeitsgruppen in WGCLTN gibt, fährt das Programm 12 mit Schritt 76 fort, in dem der Zusammenführen-von-Arbeitsgruppen-Programm-Gegenstand 16 ausgeführt wird, was dazu führt, daß alle Knoten auf dem betrachteten Logik segment Arbeitsgruppen zugeordnet werden und die Anzahl der Arbeitsgruppen auf nur zwei reduziert wird.For each logic segment, the steps become 74 to 77 executed. In step 74 will create a collection "WGCLTN" from all workgroups in the list 26 which are relevant to the current target segment. step 75 Check if there is more than one workgroup in the WGCLTN collection. If this is not the case, it is assumed that it is not worth splitting the logic segment, with processing returning to the beginning of the loop to accommodate the next segment. Assuming, however, that there are at least two workgroups in WGCLTN, the program will run 12 with step 76 In which the Merge-Of-Workgroups program object 16 is executed, which means that all nodes are assigned to the considered logic segment workgroups and the number of workgroups is reduced to only two.

Danach führt Schritt 77 den Aufteilungsentscheidung-Programm-Gegenstand 17 aus, um zu entscheiden, ob es sich lohnt, das betrachtete Logiksegment entsprechend der endgültigen beiden Arbeitsgruppen, die durch Schritt 76 erzeugt wurden, aufzuteilen. Ein positiver Aufteilungsvorschlag wird in die Segmentaufteilungsliste 27 eingegeben, wobei jeder Eintrag das betroffene Segment und die beiden Gruppierungen von Knoten identifiziert, in die eine Unterteilung des Segments vorgeschlagen wird.Then step leads 77 the division decision program object 17 to decide whether it is worth the considered logic segment according to the final two working groups, by step 76 were split up. A positive distribution proposal is added to the segment distribution list 27 where each entry identifies the affected segment and the two groupings of nodes into which a subdivision of the segment is proposed.

14 ist ein Flussdiagramm des Abschneiden-von-Arbeitsgruppen-Programm-Gegenstandes 15. Dieses Programm 15 weist grundlegend eine Doppelschleifenstruktur auf, durch die Verarbeitungsschritte 85 bis 87 auf jeden Bestandteilsknoten jeder Arbeitsgruppe in Arbeitsgruppenliste 26 angewendet werden. Insbesondere sind die Schritte 80 und 81 Schleifensteuerungsschritte, die bewirken, daß das Programm 15 jede Arbeitsgruppe in der Liste 26 der Reihe nach untersucht, bis alle Arbeitsgruppen untersucht wurden. Für jede neue untersuchte Arbeitsgruppe wird eine Liste „entfernt" in Schritt 82 initialisiert. Danach wird in eine innere Schleifenstruktur eingetreten, bei der jeder Knoten der gegenwärtigen Arbeitsgruppe der Reihe nach betrachtet wird. Ein Fortschreiten nach unten durch die Bestandteilsknoten einer Arbeitsgruppe hängt jedoch davon ab, ob ein Verarbeitungsschritt 86 hinsichtlich eines Knotens ausgeführt wird oder nicht, wobei, falls dies der Fall ist, dieser Knoten aus der Arbeitsgruppe entfernt und in die Entfernt-Liste gegeben wird und die Verarbeitung der Arbeitsgruppenknoten wieder bei Null beginnt. Im Gegensatz dazu geht, wenn Schritt 86 nicht hinsichtlich eines bestimmten Knotens ausgeführt wird, ein Fortschreiten nach unten entlang der Knoten der betrachteten Arbeitsgruppe weiter. 14 Figure 12 is a flow chart of the Clip-off Workgroup Program item 15 , This program 15 basically has one Double loop structure, through the processing steps 85 to 87 on each constituent node of each workgroup in workgroup list 26 be applied. In particular, the steps 80 and 81 Loop control steps that cause the program 15 every workgroup in the list 26 examined in turn until all work groups were examined. For each new workgroup examined, a list is "removed" in step 82 initialized. Thereafter, an inner loop structure is entered in which each node of the current workgroup is viewed in turn. However, a progression down through the constituent nodes of a workgroup depends on whether one processing step 86 or not, and if so, that node is removed from the workgroup and placed in the removed list, and processing of the workgroup nodes begins again at zero. By contrast, when step goes 86 is not performed on a particular node, advances down the nodes of the considered workgroup.

Insbesondere nimmt, nachdem die Liste Entfernt in Schritt 82 initialisiert wurde, Schritt 83 den ersten Bestandteilsknoten der Zielarbeitsgruppe, wobei Schritt 84 prüft, ob es einen derartigen Knoten gibt (falls dies nicht der Fall ist, zeigt dies an, daß alle Knoten in einer Arbeitsgruppe verarbeitet wurden, wobei eine Verarbeitung zu Schritt 80 zurückkehrt, um eine neue Arbeitsgruppe aufzugreifen). Schritt 85 wird dann hinsichtlich des ersten Knotens ausgeführt, wobei dieser Schritt einfach ein Test hinsichtlich dessen ist, ob der betroffenen Knoten auf dem gleichen Segment ist wie die Arbeitsgruppe. Wenn der Zielknoten nicht auf dem gleichen Segment wie eine Arbeitsgruppe ist, wird Schritt 86 ausgeführt, um den Zielknoten aus der Arbeitsgruppe zu entfernern und denselben in die Entfernt-Liste zu geben. Danach kehrt die Verarbeitung zu Schritt 85 zurück, d. h. die gleiche Arbeitsgruppe wird wieder aufgegriffen und ihr erster neuer Knoten gefunden. Andererseits wird, wenn in Schritt 85 herausgefunden wird, daß sich der Zielknoten auf dem gleichen Segment wie die Arbeitsgruppe befindet, Schritt 87 ausgeführt, um sicherzustellen, ob der Primärserver des Zielknotens in der Entfernt-Liste ist, wobei dies natürlich Bezug nehmend auf den ersten Knoten, der für eine Arbeitsgruppe untersucht wird, nicht der Fall ist. Ein negatives Ergebnis in Schritt 87 führt zu einer Ausführung von Schritt 88, um den Zielknoten zu dem nächsten Knoten in der Arbeitsgruppe fortzubewegen und die Verarbeitung zu Schritt 84 zurückkehren zu lassen. Die Verarbeitung fährt auf diese Weise fort, wobei Knoten aus der gegenwärtigen Arbeitsgruppe in Schritt 86 abgeschnitten werden, wenn sie sich entweder nicht auf dem gleichen Segment wie die Arbeitsgruppe befinden (in Schritt 85 getestet) oder der Primärserver des betroffenen Knotens in der Entfernt-Liste ist (in Schritt 87 getestet). Wenn ein Knoten abgeschnitten wird, wird eine Verarbeitung der Knoten der Arbeitsgruppe reinitialisiert.In particular, after the list is removed in step 82 was initialized, step 83 the first constituent node of the target working group, where step 84 checks if there is such a node (if this is not the case, it indicates that all nodes in a workgroup have been processed, with processing to step 80 returns to pick up a new working group). step 85 is then executed with respect to the first node, which step is simply a test of whether the affected node is on the same segment as the workgroup. If the destination node is not on the same segment as a workgroup, then step goes 86 executed to remove the target node from the workgroup and add it to the removed list. Thereafter, the processing returns to step 85 back, ie the same workgroup is picked up again and its first new node found. On the other hand, when in step 85 it is found that the target node is on the same segment as the workgroup, step 87 to ensure that the primary server of the target node is in the removed list, which of course is not the case with reference to the first node being examined for a workgroup. A negative result in step 87 results in an execution of step 88 to move the destination node to the next node in the workgroup and to move the processing to step 84 to return. Processing continues in this fashion, with nodes from the current workgroup in step 86 be cut off if they are either not on the same segment as the workgroup (in step 85 tested) or the primary server of the affected node is in the remote list (in step 87 ) Tested. When a node is truncated, processing of the workgroup nodes is reinitialized.

15 ist ein Flussdiagramm des Zusammenführen-von-Arbeitsgruppen-Programm-Gegenstandes 16, der in Schritt 26 des Aufteilungsvorschläge-Programms 12 ausgeführt wird. Beim Start dieses Programmgegenstandes können unter Umständen viele der Knoten des betroffenen Segmentes noch nicht den für das Segment relevanten Arbeitsgruppen zugeteilt sein. Der erste Schritt 90 des Programms 16 dient deshalb dazu, einen Satz „AUN" aller aktiver, nicht zugeteilter Knoten auf dem Segment von Interesse zu erzeugen, d. h. Knoten mit zugeordnetem Verkehr, die sich noch nicht in einer Arbeitsgruppe des Segmentes befinden. 15 Figure 12 is a flow chart of the Merge-of-Workgroup program item 16 in step 26 of the distribution proposal program 12 is performed. When starting this program object, many of the nodes of the affected segment may not yet be allocated to the work groups relevant for the segment. The first step 90 of the program 16 therefore serves to generate a set "AUN" of all active, unallocated nodes on the segment of interest, ie nodes with associated traffic that are not yet in a workgroup of the segment.

Sobald die Liste AUN erzeugt wurde, fährt das Programm 16 mit Schritt 91 fort, bei dem dasselbe eine jeweilige neue Arbeitsgruppe für jeden Knoten in AUN erzeugt, wobei jede derartige Arbeitsgruppe in der Sammlung WGCLTN von Arbeitsgruppen für das betroffene Segment protokolliert wird.Once the list AUN has been generated, the program will run 16 with step 91 It also creates a respective new workgroup for each node in AUN, with each such workgroup being logged in the WGCLTN collection by workgroups for the affected segment.

Ein iterativer Prozess wird dann ausgeführt, um die Anzahl von Arbeitsgruppen in der Sammlung WGCLTN auf zwei zu reduzieren, wobei Schritt 92 ein Test für diesen Zustand ist. Der Prozess des Reduzierens der Anzahl von Arbeitsgruppen auf zwei wird durch ein Zusammenführen von Arbeitsgruppen bewirkt. So wird in Schritt 93 die kleinste Arbeitsgruppe in WGCLTN entweder hinsichtlich der Anzahl von betroffenen Knoten oder des Verkehrsvolumens, das zwischen diesen Knoten fließt, identifiziert. Sobald diese kleinste Arbeitsgruppe identifiziert ist, wird dieselbe aus der Sammlung WGCLTN entfernt und in die Arbeitsgruppe in WGCLTN hinzugefügt, mit der dieselbe das größte Verbindungsmaß aufweist (angesichts Knoten oder Verkehrsvolumen), wobei diese Hinzufügung in Schritt 94 ausgeführt wird.An iterative process is then performed to reduce the number of workgroups in the WGCLTN collection to two, with step 92 a test for this condition is. The process of reducing the number of workgroups to two is accomplished by merging workgroups. So in step 93 the smallest workgroup in WGCLTN is identified either in terms of the number of affected nodes or the traffic volume flowing between these nodes. Once this smallest workgroup is identified, it is removed from the WGCLTN collection and added to the workgroup in WGCLTN, which has the largest join size (given node or traffic volume), with this addition in step 94 is performed.

Sobald die Anzahl von Arbeitsgruppe in WGCLTN auf zwei reduziert wurde, wird das Zusammenführen-von-Arbeitgruppen-Programm 16 beendet.Once the number of workgroups in WGCLTN has been reduced to two, the merge-from-workgroup program becomes 16 completed.

16 ist ein Flussdiagramm des Aufteilungsentscheidung-Programm-Gegenstandes 17, der in Schritt 77 des Aufteilungsvorschläge-Programms 12 ausgeführt wird. Das Programm 17 trifft eine Entscheidung hinsichtlich dessen, ob ein Logikelement in zwei derartige Segmente entsprechend den beiden verbleibenden Arbeitsgruppen in der WGCLTN-Liste für das betroffene Segment aufgeteilt werden sollte. Diese Entscheidung wird auf der Basis von Verkehrsflüssen in und zwischen den beiden Arbeitsgruppen durchgeführt (zur Bequemlichkeit werden diese Arbeitsgruppen als WG1 und WG2 bezeichnet). In dem Flussdiagramm aus 16 wird angenommen, daß der Verkehrsfluss in Bytes ausgewertet wird, wobei dies natürlich von der Verkehrsmaßeinheit abhängt, die bei dem Verkehrsmaß verwendet wird, das in dem Gesamtverkehrsfeld der Verkehrselemente 22 gesammelt wird. 16 Fig. 10 is a flow chart of the split decision program item 17 in step 77 of the distribution proposal program 12 is performed. The program 17 makes a decision as to whether a logic element should be split into two such segments corresponding to the two remaining workgroups in the WGCLTN list for the affected segment. This decision is made on the basis of traffic flows in and between the two working groups (for convenience, these working groups are referred to as WG1 and WG2). In the flowchart 16 becomes Assuming that the traffic flow is evaluated in bytes, this of course depends on the traffic unit used in the traffic measure which is in the overall traffic field of the traffic elements 22 is collected.

In Schritt 95 aus Programm 17 wird der interne Verkehr jeder Arbeitsgruppe WG1 und WG2 bestimmt, wobei dieser interne Verkehr der Gesamtverkehr zwischen Knoten innerhalb jeder Arbeitsgruppe ist. Auch in Schritt 95 wird eine Bestimmung des Verbindungsmaßes zwischen den Arbeitsgruppen WG1 und WG2 durchgeführt. Wie bereits angezeigt wurde, werden die internen Verkehrsmaße und das Arbeitsgruppenverbindungsmaß in dem Flussdiagramm aus 16 alle hinsichtlich Bytes bestimmt.In step 95 from program 17 the internal traffic of each workgroup WG1 and WG2 is determined, this internal traffic being the total traffic between nodes within each workgroup. Also in step 95 a determination of the connection dimension between the workgroups WG1 and WG2 is performed. As already indicated, the internal traffic measures and the workgroup connection metric are displayed in the flowchart 16 all determined by bytes.

Als nächstes wird Schritt 96 ausgeführt, um den gesamten internen Verkehr für das betroffene Segment, wieder in Bytes, zu bestimmen.Next is step 96 executed to determine all internal traffic for the affected segment, again in bytes.

Auf der Basis der vorangegangenen Maße wird dann Schritt 97 ausgeführt, um zu bestimmen, ob sich das Aufteilen des betroffenen Segmentes in zwei lohnt. Die für diese Entscheidung verwendeten Kriterien sind praktisch und können abhängig von den Umständen variieren. Im wesentlichen jedoch lohnt sich ein Aufteilen eines Logiksegmentes nur, wenn das Gesamtverbindungsmaß zwischen den beiden Arbeitsgruppen WG1 und WG2 nicht zu groß ist. Es macht auch wenig Sinn, ein Segment aufzuteilen, wenn eine oder beide der Arbeitsgruppen nur eine kleine Menge des Gesamtverkehrs für das Segment darstellen, oder wenn die Anzahl von Knoten in einer der Arbeitsgruppen klein ist. Schritt 97 gibt Details über das Vorangegangene, indem drei Tests ausgeführt werden und eine Aufteilung des Segmentes nur empfohlen wird, wenn alle drei Tests bestanden sind. Diese drei Tests sind wie folgt:

  • – ein Test, daß der interne Verkehr, in Bytes, für jede der Arbeitsgruppen WG1 und WG2 größer als ein vorbestimmter Prozentsatz (z. B. 20%) des gesamten internen Verkehrs des Segmentes ist;
  • – ein Test, daß die Anzahl von Knoten in jeder der Arbeitsgruppen WG1 und WG2 größer als eine vorbestimmte Schwelle ist (z. B. 4);
  • – ein Test hinsichtlich dessen, ob das Verbindungsmaß zwischen WG1 und WG2 kleiner als der interne Verkehr für jede Arbeitsgruppe von WG1 und WG2 ist.
On the basis of the previous dimensions, then step 97 performed to determine whether dividing the affected segment in two is worthwhile. The criteria used for this decision are practical and may vary depending on the circumstances. Essentially, however, splitting a logic segment only pays off if the overall connection between the two workgroups WG1 and WG2 is not too large. It also makes little sense to split a segment if one or both of the workgroups represent only a small amount of total traffic for the segment, or if the number of nodes in one of the workgroups is small. step 97 gives details of what has been done by running three tests and only recommending splitting the segment if all three tests are passed. These three tests are as follows:
  • A test that the internal traffic, in bytes, for each of the workgroups WG1 and WG2 is greater than a predetermined percentage (eg 20%) of the total internal traffic of the segment;
  • A test that the number of nodes in each of the workgroups WG1 and WG2 is greater than a predetermined threshold (eg 4);
  • A test as to whether the link between WG1 and WG2 is less than the internal traffic for each WG1 and WG2 workgroup.

Wie bereits zu Beginn erwähnt wurde, ist die obige Beschreibung eine Implementierung des Netzanalyseverfahrens der Erfindung für den Fall, bei dem die Verkehrsdaten keine Anzeige der Server-/Clientenrolle eines Knotens enthalten, der Daten sendet/empfängt. Derartige Informationen können jedoch verfügbar sein. So umfasst z. B. für Meldungen, die unter dem TCP-Protokoll gesandt werden, jede Meldung eine Quellenknotenportzahl und eine Zielknotenportzahl. Bestimmte Portzahlen sind für die häufigeren Dienste im vorhinein zugewiesen. Portzahlen, die auf diese Weise im vorhinein zugewiesen sind, sind als „bekannte Ports" bekannt. Eine Maschine z. B., die einen Hostnamenserverdienst liefert, tut dies bei einem bekannten Port mit einer Portzahl von 42, wobei ähnlich ein X.400-Maildienst auf einer bekannten Portanzahl 103 bereitgestellt wird.As already mentioned at the beginning The above description is an implementation of the network analysis method the invention for the case where the traffic data does not indicate the server / client role of a node sending / receiving data. Such information can however available be. So z. For example Messages sent under the TCP protocol, every message a source node port number and a destination node port number. Certain Port numbers are for the more common Assigned services in advance. Port numbers that way are assigned in advance are known as "known ports." A machine z. For example, which provides a host name server service does so at one known port with a port number of 42, being similar to an X.400 mail service is provided on a known port number 103.

Allgemein agiert, wenn ein Knoten einen Endpunkt verwendet, der kein bekannter Port ist und mit einem bekannten Port eines anderen Knotens kommuniziert, dieser letztere Knoten als ein Server, während der zuerst erwähnte Knoten als ein Client agiert. Ein Prüfen der Portzahlen der Quellen- und Zielknoten ermöglicht es deshalb, daß eine Einschätzung hinsichtlich der jeweiligen Rollen durchgeführt wird, die durch die Knoten durchgeführt werden.Generally acts when a node uses an endpoint that is not known Port is and communicates with a known port of another node, this latter node as a server, during the first-mentioned node acts as a client. A check Therefore, the port numbers of the source and destination nodes allows an estimation of the roles are performed, which is done by the nodes become.

Es tritt jedoch häufig auf, daß beide Knoten miteinander durch bekannte Ports kommunizieren. In diesem Fall kann entweder keine Beurteilung hinsichtlich dessen durchgeführt werden, welcher Knoten als ein Server und welcher als ein Client agiert, oder es muss auf eine bestimmte Priorisierung bekannter Portzahlen zurückgegriffen werden, um eine Beurteilung hinsichtlich der Rollen der betroffenen Knoten durchzuführen. Natürlich hilft, wenn kein Knoten ein bekanntes Port verwendet, ein Betrachten der Portzahlen nicht beim Bestimmen der Rollen der betroffenen Knoten.It occurs frequently on that both Nodes communicate with each other through known ports. In this Case either no assessment can be made as to which node acts as a server and which acts as a client, or it has to resort to a certain prioritization of known port numbers be an assessment regarding the roles of the affected node perform. Naturally helps if no node uses a known port, viewing Port numbers do not determine the roles of affected nodes.

4B stellt eine Form einer Verkehrselementdatenstruktur dar, die geeignet zur Verwendung in dem Fall ist, bei dem bekannten Portzahlen verwendet werden, um Knotenrollen zu identifizieren. Die ersten beiden Felder der Datenstruktur aus 4 enthalten die Identitäten des kommunizierenden Knotenpaars. Das vierte und das fünfte Feld werden verwendet, um zu spezifizieren, welcher der identifizierten Knoten als ein Client agiert und welcher als ein Server agiert (wenn derartige Informationen hergeleitet wurden). Das fünfte Feld identifiziert das betrachtete Protokoll, wobei diesbezüglich die Verwendung des bekannten Ports nicht auf das TCP-Protokoll beschränkt ist und identische oder ähnliche Mechanismen in anderen Protokollen arbeiten. Das sechste Feld der Datenstruktur aus 4B wird verwendet, um die Portzahl für einen Knoten zu halten, der identifiziert wurde, um als ein Server zu agieren, wobei diese Portzahl natürlich eine bekannte Portzahl ist. Das siebte und das achte Feld enthalten Verkehrsvolumendaten in den beiden Richtungen eines Verkehrsflusses zwischen dem Paar betroffener Knoten. Das letzte Feld ist das Aktiviertes-Flag-Feld, das bereits oben Bezug nehmend auf die Datenstruktur aus 4A beschrieben wurde. 4B FIG. 12 illustrates one form of traffic element data structure suitable for use in the case where known port numbers are used to identify node roles. The first two fields of the data structure off 4 contain the identities of the communicating node pair. The fourth and fifth fields are used to specify which of the identified nodes acts as a client and which acts as a server (if such information was derived). The fifth field identifies the protocol under consideration, in which respect the use of the known port is not limited to the TCP protocol and identical or similar mechanisms operate in other protocols. The sixth field of the data structure 4B is used to hold the port count for a node that has been identified to act as a server, this port number being of course a known port number. The seventh and eighth fields contain traffic volume data in the two directions of traffic flow between the pair of affected nodes. The last field is the Activated Flag field, already referenced above with reference to the data structure 4A has been described.

Es ist zu erkennen, daß, während es in dem Fall, in dem keine Rolleninformationen gesammelt werden, nur notwendig war, ein Verkehrselement für jede Paarung von Knoten zu liefern, wobei derartige Informationen von dem Verkehr hergeleitet werden, zumindest drei Verkehrselemente hinsichtlich jeder Knotenpaarung erforderlich sind, nämlich ein Element zum Aufzeichnen eines Verkehrs hinsichtlich eines ersten der Knoten, der als ein Server agiert, ein zweites Element zur Aufzeichnung eines Verkehrs hinsichtlich eines anderen Knotens, der als ein Server agiert, und ein drittes Element zur Aufzeichnung eines Verkehrs hinsichtlich des Knotens, zu dem keine Zuteilung hinsichtlich einer Rolle gemacht werden konnte. Tatsächlich kann es zweckmäßig sein, ein jeweiliges Verkehrselement für jede Kombination eines bekannten Ports an einem Knoten, der mit einem nichtbekannten Port an dem anderen Knoten kommuniziert, zu liefern.It can be seen that while there is no role information collected in the case where be only necessary to provide a traffic element for each pair of nodes, such information being derived from the traffic, at least three traffic elements are required with respect to each node pairing, namely an element for recording a traffic with respect to a first of the nodes as a Server acts, a second element for recording traffic with respect to another node acting as a server, and a third element for recording traffic with respect to the node to which no role allocation could be made. In fact, it may be convenient to provide a respective traffic element for each combination of a known port on a node communicating with a non-known port on the other node.

Die Knotenrolleninformationen, die auf die obige Weise gesammelt werden, sind insbesondere beim Identifizieren der globalen und lokalen Server nützlich, wobei dies die Operation ist, die durch das Extrahieren-von-Server-Programm 10 ausgeführt wird. Bei der Ausführung dieses letzteren Programms basieren die Einschätzungen hinsichtlich dessen, ob ein Knoten ein globaler oder ein lokaler Server ist, auf seinem Verkehrsverbindungsmaß, wenn er in einer Serverrolle im Gegensatz zu einer Clientenrolle agiert, wobei eine derartige Unterscheidung nun durch die Verwendung mehrerer Verkehrselemente für jede Knotenpaarung möglich ist. Insbesondere wird beim Einschätzen, ob ein Knoten als ein Server agiert, eine Referenz auf die Verkehrselemente gemacht, für die dieser Knoten als ein Server identifiziert wird. Tatsächlich wird allgemein außerdem eine Referenz auf die Verkehrselemente gemacht, bei denen die Rolle des betroffenen Knotens nicht definiert ist (anders ausgedrückt, die einzigen ignorierten Verkehrselemente sind die, für die der betroffene Knoten als ein Client identifiziert ist). Der Einschluss des Verkehrs, für den ein Server keine identifi zierte Rolle aufweist, ist dahingehend konsistent mit der Beschreibung des Extrahieren-von-Servern-Programms aus 5, das oben angegeben ist, daß, wenn kein Verkehr vorhanden ist, der bekannte Port beinhaltet, in beiden Fällen das gleiche Ergebnis erhalten wird.The node role information collected in the above manner is particularly useful in identifying the global and local servers, which is the operation performed by the extract-from-server program 10 is performed. In the execution of this latter program, the estimates of whether a node is a global or a local server are based on its traffic link when acting in a server role as opposed to a client role, such distinction now being made by using multiple traffic elements every node pairing is possible. In particular, in assessing whether a node acts as a server, reference is made to the traffic elements for which that node is identified as a server. In fact, in general, a reference is also made to the traffic elements where the role of the affected node is undefined (in other words, the only traffic elements ignored are those for which the affected node is identified as a client). The inclusion of traffic for which a server has no identified role is consistent with the description of the extract-from-server program 5 stated above, that when there is no traffic, the known port includes, in both cases the same result is obtained.

Es ist auch ersichtlich, daß, wenn der Verkehr, der einem Server zugeordnet ist, deaktiviert wird (z. B. in Schritt 35 aus 5), dies nur ein Deaktivieren der Verkehrselemente beinhaltet, für die der betroffene Knoten als ein Server identifiziert ist, oder für die keine Identifizierung gemacht wurde.It will also be appreciated that if the traffic associated with a server is disabled (eg, in step 35 out 5 ), involving only disabling the traffic elements for which the affected node is identified as a server or for which no identification has been made.

Ähnliche Betrachtungen treffen hinsichtlich dessen zu, wie die Rolleninformationen in Verbindung mit dem Bewegungsvorschläge-Programm 11 und dem Aufteilungsvorschläge-Programm 12 verwendet werden.Similar considerations apply with respect to how the role information is associated with the motion suggestions program 11 and the distribution proposals program 12 be used.

Verschiedene Modifizierungen an dem oben beschriebenen Netzanalyseverfahren sind natürlich möglich. So kann, obwohl das Verfahren hinsichtlich eines Netzes beschrieben wurde, das aus Unternetzen besteht, die durch Logiksegmente auf der Ebene 2 des Sieben-Schicht-OSI-Referenzmodells gebildet sind, das Verfahren auch auf Netze angewendet werden, bei denen die Unternetze andere Formen annehmen, z. B. Gruppierungen von Knoten, die durch Router/Gateways getrennt sind, die auf der Ebene 3 des Sieben-Schicht-OSI-Referenzmodells arbeiten.Various Modifications to the network analysis method described above are of course possible. So although the procedure may be described in terms of a network was made up of subnets by logic segments Level 2 of the seven-layer OSI reference model, the method will also be applied to networks where the subnets take other forms, eg. B. Groupings of nodes passing through routers / gateways which work at level 3 of the seven-layer OSI reference model.

Ferner können die drei Hauptanalyseaufgaben, die durch das Extrahieren-von-Servern-Programm 10, das Bewegungsvorschläge-Programm 11 und das Aufteilungsvorschläge-Programm 12 dargestellt werden, unabhängig betrieben werden, vorausgesetzt, daß geeignete Anfangsinformationen vorgesehen sind. So kann die Bewegungsvorschläge-Analyseaufgabe unabhängig von der Extrahieren-von-Servern-Aufgabe ausgeführt werden, vorausgesetzt, daß die Bewegungsvorschläge-Aufgabe mit einer Liste lokaler Server und ihrer Clienten und mit geeig neten Verkehrsdaten versehen ist. Ähnlich kann die Aufteilungsvorschläge-Aufgabe auch unabhängig von der Extrahieren-von-Servern-Aufgabe ausgeführt werden. Tatsächlich könnte die Aufteilungsvorschläge-Aufgabe unabhängig von der Bewegungsvorschlag-Aufgabe ausgeführt werden, vorausgesetzt, daß entweder gleichwertige Arbeitsgruppen-Informationen von anderer Stelle verfügbar gemacht werden oder der Betrieb der Aufteilungsvorschlag-Aufgabe modifiziert wurde, um Arbeitsgruppen selbst zu bilden. Zu diesem Zweck können Daten über einen Verkehr im Inneren des betroffenen Unternetzes analysiert werden, um Knoten auf dem Unternetz durch ein iteratives Verfahren in Arbeitsgruppen zu klassifizieren, das für jede Iteration folgende Schritte beinhaltet:

  • – Zuteilen des Knotens mit dem größten Verkehrsverbindungsmaß zu einer jeweiligen neuen Arbeitsgruppe als einen lokaler Server;
  • – weiteres Zuteilen der Knoten als Clientenknoten zu der gleichen Arbeitsgruppe, deren Verbindungsmaß zu dem Lokalserverknoten größer als ein vorbestimmter Abschnitt (z. B. 50%) des Gesamtverbindungsmaßes des betroffenen Knotens ist, und
  • – Modifizieren der Verkehrsdaten durch ein Entfernen von Verkehr, der der neuen Arbeitsgruppe zugeordnet ist.
Furthermore, the three main analysis tasks that can be performed by the extract-from-server program 10 , the Motor Suggestions Program 11 and the distribution proposals program 12 are operated independently, provided that suitable initial information is provided. Thus, the motion suggestions analysis task may be executed independently of the extract-from-server task, provided that the motion suggestions task is provided with a list of local servers and their clients, and appropriate traffic data. Similarly, the splitting proposal task can also be performed independently of the extract-from-server task. In fact, the splitting proposal task could be executed independently of the motion suggestion task, provided that either equivalent workgroup information was made available elsewhere or the operation of the splitting suggestion task was modified to form workgroups themselves. For this purpose, data on traffic inside the affected subnet can be analyzed to classify nodes on the subnet by an iterative procedure into workgroups that include the following steps for each iteration:
  • Allocating the node with the greatest traffic link to a respective new workgroup as a local server;
  • Further allocating the nodes as client nodes to the same workgroup whose link to the local server node is greater than a predetermined portion (e.g., 50%) of the total link size of the node concerned, and
  • Modifying the traffic data by removing traffic associated with the new workgroup.

Diese Arbeitsgruppen können dann auf eine Weise auf zwei reduziert werden, die bereits beschrieben wurde, wobei dann eine Entscheidung hinsichtlich dessen durchgeführt werden kann, ob das Unternetz nützlicherweise aufgeteilt werden kann.These Working groups can then be reduced to two in a way already described and then a decision is made with respect to it can, if the subnet useful can be split.

Claims (6)

Ein Netzanalyseverfahren zur Verwendung in Bezug auf ein Netz (X2) mit einer Mehrzahl von Knoten (N), wobei das Verfahren folgende Schritte aufweist: 1) Überwachen des Netzes (X2), um Verkehrsdaten (22) zu sammeln und zu speichern, die eine Verbindung zwischen Knoten (N) des Netzes, beurteilt nach einem Verkehr zwischen denselben, anzeigen; 2) Ausführen eines iterativen Prozesses zum Analysieren der Netzverkehrdaten, um die Knoten in Arbeitsgruppen zu klassifizieren, wobei jede derselben einen lokalen Server (N6, N7) und einen oder mehrere Clientenknoten aufweist, wobei jede Iteration dieses Prozesses ein Zuteilen des Knotens mit der höchsten Verkehrsverbindung zu einer jeweiligen neuen Arbeitsgruppe als einen lokalen Server (N6, N7), ferner ein Zuteilen, als Clientenknoten, zu der gleichen Arbeitsgruppe, der Knoten, deren Verbindung zu dem lokalen Serverknoten (N6, N7) größer als ein vorbestimmter Teil der Gesamtverbindung des betreffenden Knotens ist, und ein Modifizieren der Verkehrsdaten durch eine Entfernung von Verkehr, der der neuen Arbeitsgruppe zugeordnet ist, beinhaltet; 3) Ausführen eines Prozesses zum Zusammenführen der bei Schritt (2) identifizierten Arbeitsgruppen, um zwei verbleibende Arbeitsgruppen zu hinterlassen; und 4) Entscheiden, ob sich ein Aufteilen des Netzes in zwei Unternetze lohnt, wobei jedes derselben eine jeweilige der Arbeitsgruppen beinhaltet, durch ein Vergleichen der Menge an Verkehr zwischen zwei Arbeitsgruppen, die nach Schritt (3) verbleiben, mit dem Gesamtverkehr, die jeder derartigen Arbeitsgruppe zugeordnet ist.A network analysis method for use with respect to a network (X2) having a plurality of nodes (N), the method comprising the steps of: 1) monitoring the network (X2) to provide traffic data (X2); 22 ) to collect and store a connection between nodes (N) of the network, judged by traffic between them; 2) performing an iterative process of analyzing the network traffic data to classify the nodes into workgroups, each having a local server (N6, N7) and one or more client nodes, each iteration of that process allocating the node with the highest traffic connection to a respective new workgroup as a local server (N6, N7), further allocating, as client node, to the same workgroup, the node whose connection to the local server node (N6, N7) is greater than a predetermined part of the overall connection of the respective one Node, and modifying the traffic data by removing traffic associated with the new workgroup; 3) performing a process of merging the workgroups identified in step (2) to leave two remaining workgroups; and 4) deciding whether it is worth splitting the network into two subnets, each of which includes a respective one of the workgroups, by comparing the amount of traffic between two workgroups remaining after step (3) with the total traffic each one assigned to such workgroup. Ein Verfahren gemäß Anspruch 1, bei dem der Prozess von Schritt (3) ein iterativer Prozess ist, der ein Identifizieren der Arbeitsgruppe mit der kleinsten Menge zugeordneten Verkehrs und ein Zusammenführen derselben mit der Arbeitsgruppe, zu der dieselbe die höchste Verbindung aufweist, beinhaltet.A method according to claim 1, where the process of step (3) is an iterative process, identifying the workgroup with the smallest amount associated traffic and merging it with the working group, to the same the highest Compound includes. Ein Verfahren gemäß Anspruch 1 oder 2, bei dem der vorbestimmte Teil, auf den in Schritt 2) aus Anspruch 1 Bezug genommen wird, eine Hälfte beträgt.A method according to claim 1 or 2, wherein the predetermined part, to the in step 2) of claim 1, one half is. Ein Verfahren gemäß einem der vorherigen Ansprüche, bei dem die Verbindung eines Knotens zu anderen Knoten (N) hinsichtlich zumindest einer der folgenden gemessen wird: – der Anzahl der anderen Knoten, mit denen derselbe kommuniziert; – einer Anzahl von Rahmen, die bei dem Verkehr mit den anderen Knoten beinhaltet sind; – einer Anzahl von Bytes, die bei dem Verkehr mit den anderen Knoten beinhaltet sind.A method according to a the previous claims, in which the connection of a node to other nodes (N) in terms at least one of the following is measured: - the number the other nodes with which it communicates; - one Number of frames involved in traffic with the other nodes are; - one Number of bytes involved in traffic with the other nodes are. Ein Verfahren gemäß einem der vorherigen Ansprüche, bei dem in Schritt 1) aus Anspruch 1 das Überwachen des Netzes auf eine derartige Weise ausgeführt wird, um es zu ermöglichen, dass Rolleninformationen gesammelt werden können, die anzeigen, ob ein Knoten (N) in einer Server- oder Klientenrolle in Bezug auf einzelne Verkehrsobjekte agiert, die demselben zugeordnet sind, wobei die Identifizierung eines Knotens als ein lokaler Server (N6, N7) in Schritt 2) ohne Bezugnahme auf einen Verkehr ausgeführt wird, für den der Knoten als ein Klient wirkt, wie durch die Rolleninformationen angezeigt wird.A method according to a the previous claims, in step 1) of claim 1, monitoring the network for one executed in such a way is to make it possible that role information can be collected that indicates whether a Node (s) in a server or client role relative to individual Traffic objects that are assigned to the same, wherein the Identify a node as a local server (N6, N7) in step 2) without reference to a traffic for which the node is acting as a client acts as indicated by the role information. Ein Verfahren gemäß Anspruch 5, bei dem die Rolleninformationen auf der Basis des bekannten Tor-Status der Knotenendpunkte hergeleitet werden, die einem Verkehr zugeordnet sind, der zwischen einem Paar von Knoten verläuft, wobei ein Knoten des gerade identifizierten Paares in einer Serverrolle agiert und der andere Knoten in einer Klientenrolle, wobei der Endpunkt für den einen Knoten ein bekanntes Tor ist, während der andere Endpunkt dies nicht ist.A method according to claim 5, where the role information based on the known Tor status node endpoints are derived, which are assigned to a traffic are that runs between a pair of nodes, with a node of the straight identified pair acting in one server role and the other Nodes in a client role, where the endpoint for the one Knot is a known goal while the other endpoint is not.
DE69333761T 1993-03-08 1993-03-08 Network analysis method Expired - Fee Related DE69333761T2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP01110834A EP1130847B1 (en) 1993-03-08 1993-03-08 Network analysis method

Publications (2)

Publication Number Publication Date
DE69333761D1 DE69333761D1 (en) 2005-03-24
DE69333761T2 true DE69333761T2 (en) 2006-02-09

Family

ID=35613092

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69333761T Expired - Fee Related DE69333761T2 (en) 1993-03-08 1993-03-08 Network analysis method

Country Status (1)

Country Link
DE (1) DE69333761T2 (en)

Also Published As

Publication number Publication date
DE69333761D1 (en) 2005-03-24

Similar Documents

Publication Publication Date Title
DE602005001965T2 (en) Methodology and protocols for high-speed traffic measurement and analysis
DE60104876T2 (en) Checking the configuration of a firewall
DE102013209118B4 (en) Maintaining and changing network congestion notifications while transferring network data between a physical network and a virtual network
DE602005002374T2 (en) System and method for unnumbered network connection detection
DE60214112T2 (en) Method and device for determining throughput data volumes for an autonomous system
EP0632617B1 (en) Method and apparatus to support networkmanagement
DE60223806T2 (en) Measurement of network parameters as perceived by non-artificial network traffic
DE69432746T2 (en) Event processing system and method of making such a system
DE69533535T2 (en) METHOD FOR EFFICIENT AGGREGATION OF COMPOUND METHODS
DE60009819T2 (en) Network device configuration method and device
EP1430665B1 (en) Method and device for adapting label-switched paths in packet networks
DE112010004940B4 (en) Automatic recognition of address ranges for IP networks
DE69927457T2 (en) Method and device for caching information in the network
DE60127120T2 (en) PROCESS AND NETWORK FOR SPREADING STATUS INFORMATION
DE10342310A1 (en) Systems and methods for quickly selecting devices in a tree topology network
DE602004005242T2 (en) CENTRALIZED CONFIGURATION OF LINK-SCOPE TYPE-MANAGED OBJECTS IN NETWORKS BASED ON THE INTERNET PROTOCOL (IP)
DE112010003099T5 (en) DETECTION OF LOW-LEAVED NETWORK UNITS
DE60130844T2 (en) Autonomous OSPF system with a main network separated into two sections
DE60204581T2 (en) A method for optimizing the distribution of a service from one source to multiple service recipients in a network
DE60303384T2 (en) LASTEUS COMPENSATION IN DATA NETWORKS
DE60131615T2 (en) TOPOLOGY DETERMINATION IN ATM NETWORKS
DE60020435T2 (en) A method for measuring the availability of router-based connectionless networks
DE602004001046T2 (en) System and method for testing a router
DE69333761T2 (en) Network analysis method
DE69333656T2 (en) Network analysis method

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

Owner name: AGILENT TECHNOLOGIES, INC. (N.D.GES.D.STAATES DELA

8327 Change in the person/name/address of the patent owner

Owner name: AGILENT TECHNOLOGIES, INC. (N.D.GES.D.STAATES DELA

8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: AGILENT TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US

8339 Ceased/non-payment of the annual fee