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.