DE10307831B4 - Verfahren zum Zugriff auf Suchelemente in einer Zugriffsliste - Google Patents

Verfahren zum Zugriff auf Suchelemente in einer Zugriffsliste Download PDF

Info

Publication number
DE10307831B4
DE10307831B4 DE10307831A DE10307831A DE10307831B4 DE 10307831 B4 DE10307831 B4 DE 10307831B4 DE 10307831 A DE10307831 A DE 10307831A DE 10307831 A DE10307831 A DE 10307831A DE 10307831 B4 DE10307831 B4 DE 10307831B4
Authority
DE
Germany
Prior art keywords
search
area
elements
areas
criterion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE10307831A
Other languages
English (en)
Other versions
DE10307831A1 (de
Inventor
Peter Becker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE10307831A priority Critical patent/DE10307831B4/de
Publication of DE10307831A1 publication Critical patent/DE10307831A1/de
Application granted granted Critical
Publication of DE10307831B4 publication Critical patent/DE10307831B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Verfahren zum Zugriff auf Suchelemente (SE) in einer Zugriffsliste (L) in einem System zum Adressieren von kommunizierenden Kommunikationspartnern (USEND, URCV), bei dem die Zugriffsliste (L) Suchelemente (SE) enthält und jedes Suchelement (SE) ein Suchkriterium (SK) und einen Index umfasst und die Zugriffsliste (L) in einem Suchbereich (SB) eines linearen Gesamtspeichers (LGS) abgespeichert wird,
dadurch gekennzeichnet, dass
– der Suchbereich (SB) in der Mitte des linearen Gesamtspeichers (LGS) beginnt und Suchelemente (SE) mit kleinerem Suchkriterium (SK) als das Suchkriterium (SK1[SE1]) des Suchelementes (SE1) in der Mitte eines ersten Suchbereichs (SB1) in eine erste Richtung (R1) des ersten Suchbereichs (SB1) einsortiert werden oder auffindbar sind und Suchelemente (SE), deren Suchkriterium (SK) größer als das Suchkriterium (SK1[SE1]) des ersten Suchelements (SE1) ist, in die andere, zweite Richtung (R2) des ersten Suchbereichs (SB1) einsortiert werden.

Description

  • Die Erfindung betrifft ein Verfahren zum Zugriff auf Suchelemente in einer Zugriffsliste in einem System zum Adressieren von kommunizierenden Kommunikationspartnern gemäß dem Oberbegriff des Anspruchs 1.
  • In speicherprogrammierbaren Steuerungen (SPS) kommunizieren Kommunikationspartner, z. B. Kommunikationsbausteine, über Kommunikationsverbindungen miteinander. Ein Kommunikationspartner löst einen Kommunikationsauftrag beispielsweise aufgrund eines Prozessereignisses aus. Beispielsweise werden Nutzdaten von Sensoren oder Messeinrichtungen zu einem anderen entfernten Kommunikationspartner gesendet, bei dem die Nutzdaten weiterverarbeitet werden. Der sendende Kommunikationspartner kennt für die Adressierung des anderen Kommunikationspartners nur eine Adressreferenz, beispielsweise eine Identifikationsnummer, jedoch nicht die wirkliche physische oder logische Adresse. Die empfangenden Kommunikationspartner können unterschiedlichste Aufgaben übernehmen, beispielsweise ein Aktor, der in einen Prozess eingreift, oder eine Recheneinheit bzw. Programmbaustein, der bzw. dem neue Werte zur Berechnung neuer Prozessgrößen übermittelt werden. Das System, in dem diese beiden Kommunikationspartner kommunizieren, muss anhand dieser Adressreferenz den Kommunikationsauftrag an den richtigen Kommunikationspartner weiterleiten.
  • Adressen von Kommunikationspartnern werden in Speichern zur Adressverwaltung abgelegt. Die Effizienz beim Zugriff auf diese Adressen wird einerseits von der Ausführlichkeit der Zugriffsliste und andererseits vom notwendigen Rechenaufwand beeinflusst. Der Umfang der Zugriffsliste ist meist durch nur begrenzt zur Verfügung stehenden Speicher eingeschränkt.
  • Ebenso sollte die zur Verfügung stehende Rechenleistung nicht nur zur Verwaltung von Adresseinträgen benutzt werden.
  • In derartigen Systemen können ohne weiteres 10000 Kommunikationspartner verwaltet werden. Diese Kommunikationspartner können Bedien- und Kontrollgeräte oder einfach Steuergeräte sein, ebenso können Kommunikationspartner auch durch Programmbausteine beispielsweise in einem Automatisierungssystem gebildet werden. Wenn ein empfangender Kommunikationspartner mit entsprechender Adressreferenz, beispielsweise in Form einer Identifikationsnummer, das erste Mal aufgerufen wird, wird eine so genannte Instanz angelegt, die in einem Speicher abgespeichert wird. Bei einem erneuten Zugriff auf diese Instanz muss dann nur noch in dieser Zugriffsliste nachgeschaut werden, wie die wirkliche Adresse des empfangenden Kommunikationspartners ist.
  • Zur Zuordnung des Kommunikationsauftrags zu einer Empfangsinstanz werden Adressparameter benutzt. Diese Adressparameter können einen sehr großen Wertebereich, beispielsweise 32 Bit, einnehmen. Der Anwender bestimmt den Wert der Adressreferenz bei der Programmierung, so dass dieser Wert der Adressreferenz dem System erst beim Aufruf der Empfangsinstanz bekannt wird, wodurch auch der Zeitpunkt der Bekanntgabe der Adressreferenz vom Anwender bestimmt wird.
  • Die sehr große Anzahl von Instanzen erfordert unter Beibehaltung einer optimalen Kommunikationsperformance eine optimale Suchstrategie, so dass die Daten in den Kommunikationsaufträgen möglichst schnell der zugehörigen Empfangsinstanz zugeordnet werden können. Außerdem müssen in die Zugriffsliste neue Instanzen eingefügt werden oder andere Instanzen aus dem Automatisierungssystem entfernt werden, beispielsweise wegen einer Änderung der Identifikationsnummer. Dies erfordert Änderungen in der wirklichen Adressierung, die in die Infrastruktur und in die Suchstrategie eingebracht werden müssen. Je umfangreicher diese Änderungen sind, desto mehr Rechen leistung wird beansprucht, wodurch sich die Kommunikationsperformance extrem verschlechtern kann. Erschwerend kommt bei dieser Problematik hinzu, dass der Speicherplatz nicht in unbegrenztem Umfang zur Verfügung steht oder nur mit hohen Kosten ausgeweitet werden kann. Ebenso ist es möglich, dass durch externe oder interne Prozessereignisse viele Kommunikationsaufträge gleichzeitig ausgelöst werden und die Instanzen dann in die Zugriffsliste einsortiert bzw. aufgefunden werden müssen, so dass auch hier entsprechende Effizienz erforderlich ist.
  • Zur Lösung dieses Problems ist es aus dem Stand der Technik bekannt, einen indizierten Zugriff zu verwenden. Dazu wird mit einer Liste mit den Adressparametern als Index auf die Empfangsinstanzen zugegriffen. Dieses Verfahren ist sehr schnell. Da die Adressparameter jedoch über einen Wertebereich von 232 verteilt sein können, wird sehr viel Speicherplatz benötigt. Jedem Wert eines Adressparameters würde die entsprechende Empfangsinstanz zugeordnet werden, was einen Speicherplatzbedarf von etwa 17 GB bei 10000 Instanzen erfordern würde, wenn ein Zeiger auf die Empfangsinstanz mit 4 Byte verwendet wird.
  • Eine weitere Möglichkeit zur Lösung dieses Problems bietet ein so genanntes binäres Halbierungsverfahren. Mit diesem Verfahren wird eine sehr hohe Suchgeschwindigkeit erreicht. Dies erfordert jedoch das Vorhandensein von Baumstrukturen, wodurch auch dieses Verfahren speicherintensiv ist.
  • Eine weitere Möglichkeit besteht in der Anwendung eines linearen Halbierungsverfahrens, welches auf einer monoton auf- bzw. absteigenden linearen Liste basiert. Diese Liste bildet den Suchbereich und setzt sich aus Suchelementen zusammen. Ein Suchelement enthält in der Regel das Suchkriterium und einen Verweis in Form eines Index oder Zeigers auf das zu suchende Objekt bzw. Instanz oder im obigen Anwendungsfall auf die Adresse eines empfangenden Kommunika tionspartners. Der hierzu benötigte Speicher muss nur auf den Speicherbedarf der maximalen Anzahl der Suchelemente dimensioniert werden. Der Speicherbedarf ist bei diesem Verfahren niedriger als bei den oben beschriebenen Verfahren zur Suche von Empfangsinstanzen. Nachteilig ist hier, dass zum Einsortieren eines neuen Suchelements, durch Einfügen bzw. Herauslöschen einer neuen Instanz in die Zugriffsliste, der Suchbereich auf- bzw. zugeschoben werden muss, um eine monotone Sortierung zu ermöglichen. Dieses Verschieben benötigt neben einer nicht zu vernachlässigenden Zeit auch entsprechende Rechenleistung.
  • Eine nächste Möglichkeit bietet der so genannte Hasch-Algorithmus, bei dem eine sortierte gekettete Liste benötigt wird. Beim Suchen wird dann nicht die gesamte Kette durchgesucht, es wird immer nur in einem Kettenabschnitt gesucht. Auch hier ist der Speicherplatzbedarf relativ hoch. Wegen der Wahlfreiheit bzgl. der Definition der Identifikationsnummer ist die Definition eines Hasch-Algorithmus äußerst schwierig und rechenintensiv.
  • Aus der EP 1 118 947 A1 ist ein Verfahren zur Auflösung von Namen in Netzwerkadressen bekannt. Diese werden aufgelöst, indem auf so genannte Adresstabellen gemäß einer benutzerdefinierten, hierarchischen Suchpräferenz zugegriffen wird.
  • EP 0 594 196 B1 offenbart ein Verfahren zur Durchführung eines Adressnachschlagens für eine N-Bit-Eingabeadresse in einem Paketdaten-Kommunikationssystem, wobei Maßnahmen vorgesehen sind, welche binäre Suchvorgänge beschleunigen.
  • Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren der eingangs genannten Art anzugeben, mit welchem die Nachteile, wie Zeitbedarf zum Auf- und Zuschieben der Liste und dafür notwendiger Rechenbedarf, abgeschwächt bzw. beseitigt werden.
  • Diese Aufgabe wird durch die im kennzeichnenden Teil des Anspruchs 1 angegebenen Maßnahmen gelöst.
  • Es ist erfindungsgemäß vorgesehen, den Beginn des Suchbereichs nicht an den Anfang des linearen Gesamtspeichers zu legen, sondern diesen in der Mitte des Gesamtspeichers zu platzieren. Neueinträge, deren Suchkriterien kleiner als das Suchkriterium des Suchelements in der Mitte des Suchbereichs sind, werden in Richtung des Speicheranfangs einsortiert. Neueinträge, deren Suchkriterien größer als das Suchkriterium des Suchelements in der Mitte des Suchbereichs sind, werden in Richtung des Speicherendes einsortiert. Beim Herauslöschen von Suchelementen wird vorzugsweise das Suchelement, das die Mitte des Suchbereiches bestimmt, neu ermittelt.
  • Auf diese Weise kann statistisch gesehen der Suchbereich halbiert werden, so dass der Aufwand beim Einsortieren und Herauslöschen vorteilhaft verkleinert wird.
  • In einer vorteilhaften Ausgestaltung der Erfindung wird bei Überschreiten einer vorgebbaren maximalen Suchelementeanzahl im Suchbereich der Suchbereich mittels einer Strukturierung in gleich große Teilsuchbereiche aufgeteilt und jedem Teilsuchbereich ein Verwaltungsbaustein zugeordnet, welcher ein Suchkriterium enthält, das beim Suchen eines Suchelements eine Selektierung der Teilsuchbereiche ermöglicht. Die Verwaltungsbausteine enthalten einen Wert, der Auskunft darüber gibt, ob das gesuchte Suchelement in dem einen Teilsuchbereich enthalten ist oder in dem anderen Teilsuchbereich. Die so entstandenen Teilsuchbereiche werden in dem linearen Gesamtspeicher derart verschoben, dass jeder Teilsuchbereich den gleichen Anteil des linearen Gesamtspeichers zur Verfügung hat. Es ist trotzdem möglich, dass der eine Teilsuchbereich in den Speicherbereich des zweiten Teilsuchbereichs hineinwächst, wenn dieser Speicherbereich nicht vom zweiten Teilsuchbereich belegt ist. Dadurch wird es ermöglicht, die Suchstrategie auch für große Mengen von Suchelementen über eine Baumstruktur von Verwaltungsbausteinen fortzuführen, wobei der Aufwand zur Erzeugung der Verwaltungsbausteine bezüglich des notwendigen Speicherplatzes gering ist. Bei einer Häufung von Einsortierungen von Suchelementen in entsprechende Teilsuchbereiche entwickelt sich die Baumstruktur mit den Verwaltungsbausteinen generisch.
  • In einer weiteren vorteilhaften Ausgestaltung der Erfindung ist es vorgesehen, eine vorgenommene Strukturierung wieder zurückzuführen, also eine Restrukturierung durchzuführen, wenn durch Herauslöschen von Suchelementen aus der Zugriffsliste eine vorgebbare Anzahl von Suchelementen unterschritten wird. Dabei ist es insbesondere vorteilhaft, den Wert für die Anzahl von Suchelementen für eine Zusammenführung von Teilsuchbereichen niedriger anzusetzen, als den Wert für die Anzahl von Suchelementen, bei dem ein Suchbereich in Teilbereiche mit Verwaltungsbausteinen aufgeteilt wird. Dadurch wird eine Strukturierungs-/Restrukturierungshysterese erreicht. Durch die Restrukturierung wird bei geringer Anzahl von Suchelementen der Verwaltungsaufwand durch die Verwaltungsbausteine der Menge von Suchelementen angepasst und somit die Kommunikationsperformance optimiert.
  • In einer weiteren vorteilhaften Ausgestaltung der Erfindung ist es vorgesehen, keine Strukturierung bzw. Restrukturierung trotz Überschreiten der vorgegebenen Suchelementeanzahl vorzunehmen, wenn innerhalb eines vorgebbaren Bereichs vom unteren bzw. oberen Ende des belegten Speicherplatzes ein Suchelement aus dem Suchbereich einsortiert bzw. gelöscht wird. Dadurch wird ein für die Strukturierung bzw. Restrukturierung notwendiger Rechenaufwand vermieden, der deutlich größer als der Rechenaufwand ist, der für das Aufschieben der Zugriffsliste notwendig ist, um die Suchelemente in dem Bereich einzusortieren.
  • In einer weiteren vorteilhaften Ausgestaltung der Erfindung ist es vorgesehen, beim Anlegen von Teilsuchbereichen die Größe des Speicherplatzes dem dynamischen Wachstum der Teilsuchbereiche anzupassen. Falls das System feststellt, dass die meisten Suchelemente in die obere Hälfte des Suchbereichs einsortiert werden, bzw. feststellt, dass die obere Hälfte des Suchbereichs schneller als die untere Hälfte des Suchbereichs wächst, wird beim Anlegen von Teilsuchbereichen der Speicherplatz für den oberen Teilsuchbereich größer gewählt, als der Speicherplatz für den unteren Teilsuchbereich. Somit passt sich das System dynamisch an das Anwachsen von Suchelementen in der Zugriffsliste an und vermeidet somit eine baldige Restrukturierung, die wiederum Rechenaufwand benötigt, so dass somit Kommunikationsperformance optimiert wird. Ebenso können die Werte für die maximale bzw. minimale Anzahl von Suchelementen dem dynamischen Wachstum des Suchbereichs bzw. der Teilsuchbereiche angepasst werden.
  • In einer weiteren Ausgestaltung der Erfindung ist es von Vorteil, statt einer Strukturierung den zur Verfügung stehenden linearen Gesamtspeicherbereich zu vergrößern, falls der Speicherplatz es zulässt, wenn ein vorgebbarer Schwellwert für die Belegung des gesamten Speicherbereiches erreicht wird oder von vornherein größer angelegt wird. Da die Häufigkeit von Restrukturierungen zunimmt, wenn der belegbare Speicherbereich nahezu belegt ist, verhindert dieses geringfügige Vergrößern des belegbaren Speicherbereiches häufige Strukturierungen, so dass die Kommunikationsperformance auch unter diesen Umständen optimiert wird. Beispielsweise wird bei einer Belegung des Gesamtspeicherbereichs von 90 % eine Vergrößerung um 10 % vorgenommen.
  • Die Erfindung kann sowohl in einem linearen, zusammenhängenden als auch in einem nicht zusammenhängenden, verteilten Gesamtspeicher angewendet werden.
  • Befindet sich ein Teilsuchbereich am Anfang bzw. am Ende des linearen Gesamtspeichers, ist bei der Strukturierung die Wertigkeit des ersten bzw. des letzten Suchelements des jeweiligen Teilsuchbereichs mit der Länge des belegbaren Speichers des Teilsuchbereichs abzugleichen.
  • Die Erfindung wird nachstehend ohne Beschränkung des allgemeinen Erfindungsgedankens anhand von Ausführungsbeispielen unter Bezugnahme auf die Zeichnungen exemplarisch beschrieben. Es zeigen:
  • 1: Kommunikationspartner und Empfangsinstanzen,
  • 2a: Zugriffsliste im linearen Gesamtspeicher,
  • 2b: Vergleich zwischen Beginn des Suchbereichs am Anfang oder in der Mitte des Gesamtspeichers,
  • 3: Zugriffsliste mit zwei Verwaltungsbausteinen,
  • 4: Zugriffsliste mit mehreren Verwaltungsbausteinen.
  • 1 zeigt einen sendenden (USEND) und mehrere empfangende (URCV) Kommunikationspartner. Ein sendender Kommunikationspartner USEND löst einen Kommunikationsauftrag K1 aus, wenn er aufgrund eines Prozessereignisses beispielsweise Nutzdaten erhält, die zu einem empfangenden Kommunikationspartner URCV übertragen werden müssen. Jeder Kommunikationspartner USEND, URCV hat eine Adressreferenz, der eine Identifikationsnummer R_ID = A, R_ID = Z zugeordnet ist. Um diesen empfangenden Kommunikationspartner URCV mit der Identifikationsnummer R_ID = Z schnell auffinden zu können, werden in einer Zugriffsliste Suchelemente gespeichert.
  • Eine Zugriffsliste L ist in 2a dargestellt, in welcher ein erster Suchbereich SB1 gespeichert ist. Die Zugriffsliste L mit den Suchelementen SE wird in einem linearen Gesamtspeicher LGS gespeichert. Dabei beginnt der erste Suchbereich SB1 in der Mitte des belegbaren Speichers mit dem ersten Suchelement SE1. Ein Suchelement SE umfasst ein Suchkriterium SK, beispielsweise eine Identifikationsnummer, und einen Verweis in Form eines Zeigers oder eines Index auf die physische, physikalische oder logische Adresse. Suchelemente SE, deren Suchkriterium SK[SE] kleiner als das Suchkriterium des ersten Suchelementes SK1[SE1] in der Mitte des ersten Suchbereichs SB1 ist, werden in die erste Richtung R1 in die Zugriffsliste L einsortiert bzw. sind dort auffindbar. Suchelemente SE, deren Suchkriterium SK[SE] größer als das Suchkriterium SK1[SE1] des ersten Suchelementes SE1 in der Mitte des Suchbereichs SB1 ist, werden in Richtung R2 in die Zugriffsliste L einsortiert. Ein Einsortieren ist dann notwendig, wenn ein empfangender Kommunikationspartner das erste Mal aufgerufen wird und somit seine physische bzw. physikalische oder logische Adresse bekannt wird. Ein Herauslöschen ist dann notwendig, wenn eine Identifikationsnummer geändert wurde oder ein Kommunikationspartner aus dem System entfernt wurde. Zum Einsortieren wird die Zugriffsliste L aufgeschoben und das einzusortierende Suchelement an die entsprechende Stelle in der Zugriffsliste L einsortiert. Beim Herauslöschen wird das Suchelement aus der Zugriffsliste gelöscht und die Zugriffsliste zusammengeschoben. Beim Herauslöschen und Einsortieren wird das erste Suchelement SE1 neu bestimmt. Die Zugriffsliste L dehnt sich durch das Einsortieren also in beide Richtungen R1, R2 bis zum Speicheranfang SPA bzw. Speicherende SPE des linearen Gesamtspeichers LGS aus, so dass sich das erste Suchelement SE1 immer in der Mitte von dem letzten Suchelement SEmin im belegten Speicher in die erste Richtung R1 und dem letzten Suchelement SEmax im belegten Speicher in Richtung R2 befindet.
  • In 2b ist der Aufwand, der beim Einsortieren in eine Zugriffsliste nach dem erfindungsgemäßen Verfahren mit dem Beginn in der Mitte des Suchbereichs entsteht, dem Aufwand gegenübergestellt, der beim Einsortieren von Suchelementen in eine Zugriffsliste mit dem Beginn am Anfang des Suchbereichs notwendig ist. Durch die Fläche der Dreiecke wird dargestellt, dass der Aufwand nach dem erfindungsgemäßen Verfahren statistisch gesehen geringer ist als bei dem linearen Halbierungsverfahren mit Beginn des Suchbereichs am Anfang des Speichers.
  • 3 verdeutlicht eine Strukturierung. Übersteigt die Anzahl der Suchelemente SE in der Zugriffsliste eine maximale Suchelementeanzahl, wird der Suchbereich in zwei Teilsuchbereiche SB1.1 und SB1.2 aufgeteilt. Die Teilsuchbereiche SB1.1 und SB1.2 werden so verschoben, dass für jeden Teilsuchbereich SB1.1, SB1.2 der gleiche belegbare lineare Speicher blS zur Verfügung steht. Für den ersten Teilsuchbereich SB1.1 steht demnach der Speicherbereich von der ersten oberen Begrenzung blS1.1.1 des belegbaren linearen Speichers blS bis zur ersten unteren Begrenzung blS1.1.2 des belegbaren linearen Speichers blS zur Verfügung und für den zweiten Teilsuchbereich SB1.2 steht der Speicherbereich von der zweiten oberen Begrenzung blS1.2.1 des belegbaren linearen Speichers bis zur zweiten unteren Begrenzung blS1.2.2 des belegbaren linearen Speichers blS zur Verfügung. Die Teilsuchbereiche SB1.1, SB1.2 können, nach dem gleichen Verfahren wie in 2a gezeigt, in diese Speicherbereiche hineinwachsen, sofern sie nicht von Suchelementen des jeweils anderen Teilsuchbereichs belegt sind. Jedem Teilsuchbereich SB1.1, SB1.2 wird ein korrespondierender Verwaltungsbaustein VSB1.1 und VSB1.2 zugeordnet. In dem Root-Verwaltungsbaustein VSB1 ist ein Suchwert abgelegt, der das Suchen in den Teilsuchbereichen SB1.1, SB1.2 ermöglicht, z. B. ist das minimale Suchkriterium des zweiten Teilsuchbereiches SKmin[SB1.2] oder das erste Suchkriterium des ersten Suchelements abgelegt. Weiter kann in den Verwaltungsbausteinen die Mitte eines Teilsuch bereichs SB1.1, SB1.2 vermerkt werden. Beim Einsortieren bzw. Auffinden von Suchelementen wird anhand der Verwaltungsbausteine festgestellt, in welchem Teilsuchbereich SB1.1, SB1.2 das Suchelement einsortiert bzw. gesucht werden muss. Suchelemente, deren Suchkriterium kleiner als das im Root-Verwaltungsbaustein VSB1 abgelegte minimale Suchkriterium des zweiten Teilsuchbereiches SKmin[SB1.2] ist, werden in dem ersten Verwaltungsbaustein VSB1.1 verwaltet. Suchelemente, deren Suchkriterium größer als das im Verwaltungsbaustein VSB1 abgelegte minimale Suchkriterium des zweiten Teilsuchbereiches SKmin[SB1.2] ist, werden in dem zweiten Verwaltungsbaustein VSB1.2 verwaltet. Auf diese Weise wird der Teilsuchbereich ermittelt, der für ein neues Suchelement oder für das Auffinden eines bereits gespeicherten Suchelements relevant ist.
  • In 4 wird der zweite Teilsuchbereich SB1.2 eines linearen Gesamtspeichers LGS nach dem gleichen Verfahren in die Unterteilsuchbereiche SB1.2.1 und SB1.2.2 aufgeteilt, wie in 2a der Suchbereich SB1. Eine Besonderheit stellt das minimale Suchkriterium des zweiten Teilsuchbereichs SB1.2, genauer dessen Wert in dem Root-Verwaltungsbaustein VSB1 und dem zweiten Verwaltungsbaustein VSB1.2 dar. Teilt sich ein Verwaltungsbaustein VSB1.2 in Unterverwaltungsbausteine VSB1.2.1 und VSB1.2.2, so bleibt der minimale Wert für das Suchkriterium SKmin[SB1.2] des zweiten Teilsuchbereichs bzw. SKmin[SB1.2.2] des zweiten Unterteilsuchbereichs in dem jeweils übergeordneten Verwaltungsbaustein unverändert, da jenseits von diesem Wert keine neuen Suchelemente eingetragen werden. So werden in 4 die Suchelemente, die kleiner als das minimale Suchkriterium des zweiten Suchbereichs SKmin[SB1.2] sind, in dem ersten Verwaltungsbaustein VSB1.1 verwaltet.

Claims (9)

  1. Verfahren zum Zugriff auf Suchelemente (SE) in einer Zugriffsliste (L) in einem System zum Adressieren von kommunizierenden Kommunikationspartnern (USEND, URCV), bei dem die Zugriffsliste (L) Suchelemente (SE) enthält und jedes Suchelement (SE) ein Suchkriterium (SK) und einen Index umfasst und die Zugriffsliste (L) in einem Suchbereich (SB) eines linearen Gesamtspeichers (LGS) abgespeichert wird, dadurch gekennzeichnet, dass – der Suchbereich (SB) in der Mitte des linearen Gesamtspeichers (LGS) beginnt und Suchelemente (SE) mit kleinerem Suchkriterium (SK) als das Suchkriterium (SK1[SE1]) des Suchelementes (SE1) in der Mitte eines ersten Suchbereichs (SB1) in eine erste Richtung (R1) des ersten Suchbereichs (SB1) einsortiert werden oder auffindbar sind und Suchelemente (SE), deren Suchkriterium (SK) größer als das Suchkriterium (SK1[SE1]) des ersten Suchelements (SE1) ist, in die andere, zweite Richtung (R2) des ersten Suchbereichs (SB1) einsortiert werden.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass bei Überschreiten einer vorgebbaren maximalen Suchelementeanzahl im Suchbereich der Suchbereich (SB1) mittels einer Strukturierung in Teilsuchbereiche (SB1.1, SB1.2) aufgeteilt wird und jedem Suchbereich/Teilsuchbereich (SB, SB1, SB1.1, SB1.2) ein Verwaltungsbaustein zugeordnet wird, welcher ein Suchkriterium (SK) enthält, das beim Suchen eines Suchelements (SE) eine Selektierung der Teilsuchbereiche (SB1.1, SB1.2) ermöglicht.
  3. Verfahren nach Anspruch 1 oder 2, bei dem eine Zusammenführung von Teilsuchbereichen (SB1.1, SB1.2) erst bei Unterschreiten einer vorgebbaren minimalen Anzahl von Suchelementen (SE) in den Teilsuchbereichen (SB1.1, SB1.2) vorgenommen wird.
  4. Verfahren nach einem der Ansprüche 1 bis 3, bei dem keine Strukturierung und/oder Restrukturierung vorgenommen wird, wenn ein Suchelement (SE) innerhalb eines vorgebbaren Bereichs vom unteren bzw. oberen Ende des belegten Speicherplatzes aus dem Suchbereich (SB) einsortiert und/oder herausgelöscht wird.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei beim Herauslöschen von Suchelementen (SE) das Suchelement, das die Mitte des Suchbereiches (SB) bestimmt, neu ermittelt wird.
  6. Verfahren nach einem der Ansprüche 1 bis 5, bei dem die Größenordnung der Teilsuchbereiche (SB1.1, SB1.2) vom dynamischen Wachstum des Suchbereichs (SB) oder der Teilsuchbereiche (SB1.1, SB1.2) abhängt.
  7. Verfahren nach einem der Ansprüche 1 bis 6, bei dem die Werte für die minimale bzw. maximale Anzahl von Suchelementen (SE) vom dynamischen Wachstum des Suchbereichs (SB) oder der Teilsuchbereiche (SB1.1, SB1.2) abhängen.
  8. Verfahren nach einem der Ansprüche 1 bis 7, bei dem bei Erreichen eines Schwellwertes der Belegung des Speicherbereichs des linearen Gesamtspeichers (LGS) der Speicherbereich vergrößert und/oder von vornherein größer angelegt wird.
  9. Verfahren nach einem der Ansprüche 1 bis 8, bei dem Teilsuchbereiche (SB1.1, SB1.2) in linearen Speicherbereichen oder nicht zusammenhängenden Speicherbereichen gespeichert werden.
DE10307831A 2003-01-21 2003-02-24 Verfahren zum Zugriff auf Suchelemente in einer Zugriffsliste Expired - Fee Related DE10307831B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10307831A DE10307831B4 (de) 2003-01-21 2003-02-24 Verfahren zum Zugriff auf Suchelemente in einer Zugriffsliste

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE10302157.4 2003-01-21
DE10302157 2003-01-21
DE10307831A DE10307831B4 (de) 2003-01-21 2003-02-24 Verfahren zum Zugriff auf Suchelemente in einer Zugriffsliste

Publications (2)

Publication Number Publication Date
DE10307831A1 DE10307831A1 (de) 2004-08-05
DE10307831B4 true DE10307831B4 (de) 2006-11-02

Family

ID=32667704

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10307831A Expired - Fee Related DE10307831B4 (de) 2003-01-21 2003-02-24 Verfahren zum Zugriff auf Suchelemente in einer Zugriffsliste

Country Status (1)

Country Link
DE (1) DE10307831B4 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0594196B1 (de) * 1992-10-22 1999-03-31 Cabletron Systems, Inc. Aufsuchen von Adressen bei Paketübertragung mittels Hashing und eines inhaltsadressierten Speichers
EP1118947A1 (de) * 2000-01-19 2001-07-25 Lucent Technologies Inc. Hierarchische Auflösung von Adressen in einem Datennetzerk

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0594196B1 (de) * 1992-10-22 1999-03-31 Cabletron Systems, Inc. Aufsuchen von Adressen bei Paketübertragung mittels Hashing und eines inhaltsadressierten Speichers
EP1118947A1 (de) * 2000-01-19 2001-07-25 Lucent Technologies Inc. Hierarchische Auflösung von Adressen in einem Datennetzerk

Also Published As

Publication number Publication date
DE10307831A1 (de) 2004-08-05

Similar Documents

Publication Publication Date Title
DE60026229T2 (de) Verfahren und Vorrichtung für Klassifizierung von Datenpaketen
EP2882145B1 (de) Verfahren und Filteranordnung zum Speichern von Informationen über einen seriellen Datenbus eines Kommunikationsnetzwerks eingehender Nachrichten in einem Teilnehmer des Netzwerks
DE19810843B4 (de) Verfahren und Zugriffseinrichtung zum Bestimmen der Speicheradresse eines Datenwerts in einer Speichereinrichtung
DE2758829C2 (de) Datenverarbeitungsanlage mit mehreren Prozessoren
DE69933043T2 (de) Verfahren und vorrichtung für einen adaptiven generator von adressennachschlagtabellen
DE69629540T2 (de) Verfahren und Gerät zum Sortieren von Elementen
EP1262051A1 (de) Verfahren zur steuerung der kommunikation von einzelrechnern in einem rechnerverbund
DE60114299T2 (de) Verfahren und Vorrichtung zum Übersetzen von IP Telekommunikationsnetzwerkadressen mit einem gesteuerten undichten Speicher
DE10307831B4 (de) Verfahren zum Zugriff auf Suchelemente in einer Zugriffsliste
EP1821165B1 (de) Nutzung von Variablen in mehreren Automatisierungssystemen
DE10120615B4 (de) Dynamische Speicherverwaltung für Objekte unterschiedlicher Größe
EP2597815B1 (de) Verfahren zur identifikation von in einem kommunikationsnetzwerk zusammengefassten geräten
DE102007018299B3 (de) Verfahren zur Verteilung von Ressourcen auf Netzknoten in einem dezentralen Datennetz
EP3475819B1 (de) Verfahren zur automatischen und dynamischen zuteilung der zuständigkeit für aufgaben an die verfügbaren rechenkomponenten in einem hochverteilten datenverarbeitungssystem
DE19810784B4 (de) Rechnersystem
EP2044738A1 (de) Verfahren zum betrieb eines dezentralen datennetzes
EP0748467B1 (de) Selbstprogrammierende schaltungsanordnung
EP1331794B1 (de) Verfahren zur Adresszuweisung in einem Netzwerk und Komponenten dafür
DE69923041T2 (de) Einrichtung für Datenübertragung, Verfahren und Rechnerprogrammprodukt zur Durchführung eines Datenkommunikationsprotokolls mit einer effizienten Bildung von Datagrammen
DE4342521C1 (de) Verfahren und Anordnung zur Expansion komprimierter Daten
DE4224080C1 (de) Verfahren zur dynamischen Verwaltung eines freien Speichers einer Rechenanlage, des Freispeichers, für den eine Unterteilung in wenigstens zwei logische Speicherbereiche, die sich in ihren Zugriffseigenschaften unterscheiden, vorgesehen ist
EP1239377A1 (de) Datenorganisationssystem und Verfahren zur Gliederungsstrukturverwaltung und -synchronisation
WO2020224774A1 (de) Verfahren zum konfigurieren eines kommunikationsnetzwerks für das zyklische übertragen von nachrichten
EP1757999B1 (de) Bereitstellung von Diensten in einem Netzwerk
DE19959704A1 (de) Verfahren zur Verarbeitung von Datenpaketen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee