DE102011006490A1 - Computer-based system e.g. mechatronics system, for coordinating access to e.g. printers in distributed network system, has generator for determining address while reservation queue is updated, where queue is transferred with data - Google Patents

Computer-based system e.g. mechatronics system, for coordinating access to e.g. printers in distributed network system, has generator for determining address while reservation queue is updated, where queue is transferred with data Download PDF

Info

Publication number
DE102011006490A1
DE102011006490A1 DE201110006490 DE102011006490A DE102011006490A1 DE 102011006490 A1 DE102011006490 A1 DE 102011006490A1 DE 201110006490 DE201110006490 DE 201110006490 DE 102011006490 A DE102011006490 A DE 102011006490A DE 102011006490 A1 DE102011006490 A1 DE 102011006490A1
Authority
DE
Germany
Prior art keywords
data
transaction
computer
reservation queue
access
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.)
Withdrawn
Application number
DE201110006490
Other languages
German (de)
Inventor
Henri Benoit
Merten Hinrichs
Wolfram Schulze
Robin Sterr
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 Healthcare GmbH
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 DE201110006490 priority Critical patent/DE102011006490A1/en
Publication of DE102011006490A1 publication Critical patent/DE102011006490A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5014Reservation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/52Indexing scheme relating to G06F9/52
    • G06F2209/522Manager
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/52Indexing scheme relating to G06F9/52
    • G06F2209/523Mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

The system has an address generator for determining an address while a reservation queue (Q) is updated, where a sequence of transaction nodes (T) is addressed for performing a transaction. The sequence of transaction nodes is defined by entries in the reservation queue. The reservation queue is dynamic and transferred with data (D) to be processed within the sequence of transaction nodes. The address generator is designed as a central root node or distributed hash table or operated in accordance with broadcast basis. Independent claims are also included for the following: (1) a method for coordinating access to limited resources in a distributed system (2) a computer program product comprising a set of instructions to perform a method for coordinating access to limited resources in a distributed system.

Description

Die vorliegende Erfindung liegt auf den Gebieten der Informationstechnologie und der Netzwerktechnik und betrifft insbesondere ein computerbasiertes System zur Zugriffskoordination auf begrenzte Ressourcen in einem verteilten Netzwerksystem.The present invention is in the fields of information technology and network technology, and more particularly relates to a computer-based system for access coordination to limited resources in a distributed network system.

Moderne Softwaresysteme sind in der Regel als sogenannte verteilte Systeme ausgelegt und weisen eine Rechnerarchitektur auf, die aus einer Vielzahl von rechnergestützten Knoten besteht, auf denen Datenverarbeitungsmaßnahmen ausgeführt werden. Insbesondere bei Systemen, die auf einer Service-basierten Architektur basieren (sog. service-oriented architecture – SOA), wird häufig auf ein zentrales Daten-Repository zurückgegriffen, das über das Netzwerk in Datenaustausch mit einer Vielzahl von Transaktionsknoten steht.Modern software systems are typically designed as so-called distributed systems and have a computer architecture consisting of a plurality of computer-aided nodes on which data processing operations are carried out. In particular, in systems based on a service-based architecture (so-called service-oriented architecture - SOA), a central data repository is frequently used, which communicates with a large number of transaction nodes over the network.

Nachteil solcher Systeme, die auf einem zentralen Daten-Repository basieren, ist es zum Einen, dass ein Performance-Engpass gegeben ist, der durch den notwendigen Datenaustausch mit dem zentralen Repository entsteht. Zum Anderen kann dies eine Sicherheitsschwachstelle darstellen. Ein weiterer Nachteil ist darin zu sehen, dass in einem großen Netzwerk mit (geografisch) sehr verteilten Netzwerkknoten lokale Stabilitätseigenschaften des Netzwerks nicht ausgenutzt werden können. Unter lokalen Stabilitätseigenschaften fallen hier Szenerien, bei denen ein lokales Sub-Netzwerk funktionsfähig ist, während ein anderes Sub-Netzwerk nicht mehr funktioniert oder bei denen Verbindungsstrukturen zwischen den Netzwerkknoten beeinträchtigt sind und nur im lokalen Sub-Netzwerk funktionieren. Nachteiligerweise ist es bei einem Netzwerk, das auf einem zentralen Daten-Repository basiert, in den vorstehend erwähnten Fehlerszenarien nicht mehr möglich, die lokal funktionierende Datenverarbeitung zu nützen. Somit können die Lokalitätseigenschaften nicht sinnvoll ausgenützt werden.Disadvantages of such systems, which are based on a central data repository, on the one hand, is that there is a performance bottleneck that results from the necessary data exchange with the central repository. On the other hand, this can represent a security vulnerability. Another disadvantage is the fact that in a large network with (geographically) very distributed network nodes local stability properties of the network can not be exploited. Local stability characteristics include scenarios in which one local subnetwork is functional, while another subnetwork is no longer working, or interconnect structures between the network nodes are compromised and only work on the local subnetwork. Disadvantageously, in a network based on a central data repository, it is no longer possible to use the locally functioning data processing in the aforementioned error scenarios. Thus, the locality properties can not be meaningfully exploited.

Grundsätzlich ist die Koordination von Zugriffen in der Datenbanktechnik ein bekanntes Problem. Je nach Auslegung des Datenbanksystems werden die Daten entweder zentral in einer Datenbank vorgehalten oder sind auf mehrere Datenbanken verteilt und werden über einen zentralen Koordinator verwaltet und angesprochen. Um nun eine konfliktfreie Datenbanktransaktion gewährleisten zu können, sollten die folgenden Eigenschaften zugesichert werden können: Atomarität, Konsistenz, Serialisierbarkeit und Persistenz der Daten. Um dies zu gewährleisten werden üblicherweise zentrale Sperr- bzw. Lockmechanismen bereitgestellt, um Zugriffe exklusiv zu sperren. Dabei werden die Daten zum bearbeitenden Client übertragen, dort bearbeitet und nach erfolgreicher Bearbeitung bzw. Änderung an das zentrale Datenbankrepository zurückgesendet. Anschließend (also nach erfolgreicher Datenbearbeitung) kann die Sperre wieder aufgehoben werden, sodass die Daten auch von anderen Clients zugreifbar (und bearbeitbar) werden. Erstreckt sich die Änderung über mehrere verteilte computerbasierte Instanzen oder Stationen wird im Stand der Technik häufig ein sogenanntes 2-Phasen-Commit-Protokoll für die Koordination verteilter Transaktionen eingesetzt. Bei dem 2-Phasen-Commit-Protokoll ist es allerdings notwendig, einen zentralen Koordinator bereitzustellen, der allen Transaktionsknoten bekannt sein muss und der die Koordination in zentraler Funktion übernimmt. Dies ist jedoch ein gravierender Nachteil, wenn bei verteilten Daten und verteilten Anwendungen eine dezentrale Koordination deutliche Vorteile, insbesondere Performancevorteile, bringt.Basically, the coordination of access in the database technology is a known problem. Depending on the design of the database system, the data is either stored centrally in a database or distributed over several databases and managed and addressed via a central coordinator. In order to be able to guarantee a conflict-free database transaction, the following features should be assured: atomicity, consistency, serializability and persistence of the data. To ensure this, central lock mechanisms are usually provided to lock accesses exclusively. The data is transferred to the processing client, edited there and sent back to the central database repository after successful processing or modification. Afterwards (after successful data processing), the lock can be released again, so that the data can also be accessed (and edited) by other clients. If the change extends over several distributed computer-based instances or stations, a so-called two-phase commit protocol for the coordination of distributed transactions is frequently used in the prior art. With the 2-phase commit protocol, however, it is necessary to provide a central coordinator, who must be known to all transaction nodes and who takes over the coordination in a central function. However, this is a serious drawback when decentralized coordination brings significant advantages, in particular performance advantages, for distributed data and distributed applications.

Darüber hinaus ist es im Stand der Technik auch bekannt, eine dezentrale Koordination bei Datenbankenzugriffen zu verwenden. Dabei werden mehrere Scheduler (oder Koordinatoren) eingesetzt, die jeweils zwischen einem anfragenden Knoten (Client) und den Daten angeordnet sind und die Zugriffe steuern und koordinieren. Die Daten liegen dabei stationär und fest auf der Datenbank und werden gegebenenfalls von einem oder mehreren Stationen bearbeitet und somit verändert und dann in einem veränderten Zustand wieder in die Datenbank zurück gespeichert. Bei den bekannten Verfahren liegen somit die Daten jeweils stationär an demselben Speicherort, nämlich in der Datenbank. Dies ist jedoch ein deutlicher Nachteil und teilweise nicht anwendbar, wenn die Daten flexibel und dezentral koordiniert werden sollen.Moreover, it is also known in the art to use decentralized database access coordination. In this case, several schedulers (or coordinators) are used, which are each arranged between a requesting node (client) and the data and control the accesses and coordinate. The data are stationary and fixed on the database and, if necessary, processed by one or more stations and thus changed and then stored back in an altered state back into the database. In the case of the known methods, the data are thus stationary in each case at the same storage location, namely in the database. However, this is a significant disadvantage and sometimes not applicable if the data is to be flexibly and decentrally coordinated.

Ausgehend von diesem Stand der Technik hat sich die vorliegende Erfindung zur Aufgabe gestellt, eine Möglichkeit aufzuzeigen, mit der die Zugriffskoordination in einem verteilten Netzwerk verbessert werden kann, ohne dabei die Konsistenzeigenschaften der Transaktionen zu gefährden. Darüber hinaus soll die Zugriffskoordination dezentral gestaltet werden.Based on this prior art, the present invention has the object of demonstrating a possibility with which the access coordination in a distributed network can be improved without compromising the consistency properties of the transactions. In addition, the access coordination should be decentralized.

Diese Aufgabe wird durch die beiliegenden Patentansprüche gelöst, insbesondere durch ein computerbasiertes System, ein computerbasiertes Verfahren und ein Computerprogrammprodukt. Dabei ist darauf hinzuweisen, dass das Verfahren computerimplementiert ist und als Software und/oder als Hardware realisiert werden kann.This object is solved by the appended claims, in particular by a computer-based system, a computer-based method and a computer program product. It should be noted that the method is computer implemented and can be implemented as software and / or hardware.

Im Folgenden wird die Lösung der Aufgabe gemäß einem Aspekt der Erfindung im Hinblick auf die verfahrensgemäße Lösung beschrieben. Hierbei erwähnte Vorteile, Merkmale und alternative Ausführungsformen sind ebenso auch auf die anderen Patentanspruchsformen bzw. Kategorien zu übertragen, also insbesondere auf das computerbasierte System und das Computerprogrammprodukt. Dabei ist zu erwähnen, dass entsprechende funktionale Merkmale des Verfahrens durch entsprechende Bausteine eines Mikroprozessors oder als sonstige Hardwareeinheiten realisiert werden, die die Funktionalität des entsprechenden Software-Merkmals übernehmen und umgekehrt. Nach einem Aspekt bezieht sich die vorliegende Erfindung somit auf ein computerbasiertes Verfahren zur Zugriffskoordination auf begrenzte Ressourcen in einem verteilten Computersystem. Dabei interagieren computerbasierte Instanzen in dem Computernetzwerk miteinander und tauschen Daten aus. Es ist vorgesehen, eine Vielzahl von Transaktionsknoten bereit zu stellen und eine Reservierungsschlange sowie einen Adressgeber.In the following, the solution of the problem will be described according to one aspect of the invention with regard to the method according to the solution. Here mentioned advantages, features and alternative embodiments are also to be transferred to the other patent claims or categories, ie in particular to the computer-based System and the computer program product. It should be mentioned that corresponding functional features of the method are implemented by corresponding components of a microprocessor or as other hardware units that take over the functionality of the corresponding software feature and vice versa. In one aspect, the present invention thus relates to a computer-based method for access coordination to limited resources in a distributed computer system. In doing so, computer-based instances in the computer network interact with each other and exchange data. It is intended to provide a plurality of transaction nodes and a reservation queue and an address provider.

Die Transaktionsknoten dienen zur Ausführung des Datenzugriffs, der üblicherweise im Rahmen einer Datenverarbeitung ausgeführt werden wird und dabei eine exklusive oder teilexklusive Hoheit über die zu verarbeitenden Daten erfordert.The transaction nodes are used to perform the data access, which will usually be carried out as part of a data processing and thereby requires an exclusive or parts-exclusive sovereignty over the data to be processed.

Die Reservierungsschlange (Queue) dient dazu, alle Zugriffsanfragen zur exklusiven oder teil-exklusiven Reservierung von Betriebsmitteln zu verwalten und den Zugriff zu koordinieren. Gemäß einem Aspekt der Erfindung ist es vorgesehen, dass die Reservierungsschlange jeweils an dem Transaktionsknoten vorgehalten wird, der aktuell die Datenverarbeitung ausführt und/oder der aktuell die Hoheit über die zu verarbeitenden Daten hat. Ein wesentlicher Aspekt der Erfindung bezieht sich darauf, dass die Reservierungsschlange mit den Daten mit transferiert wird. Somit wird die Reservierungsschlange gemeinsam mit den unter Zugriff stehenden Daten im Netzwerk übertragen.The queue is used to manage all access requests for exclusive or part-exclusive reservation of resources and to coordinate access. According to one aspect of the invention, provision is made for the reservation queue to be kept available in each case at the transaction node which currently carries out the data processing and / or which currently has the sovereignty over the data to be processed. An essential aspect of the invention relates to the fact that the reservation queue is transferred with the data. Thus, the reservation queue is transmitted along with the data under access in the network.

Der Adressgeber dient zur Ermittlung und Verwaltung einer Adresse, über die die Reservierungsschlange erreichbar und adressierbar ist. Die Adresse wird dynamisch vorgehalten und bei Änderung automatisch einem Update unterzogen, so dass sichergestellt ist, dass stets eine aktuelle Adresse der Reservierungsschlange zur Verfügung gestellt werden kann.The address generator is used to identify and manage an address via which the reservation queue can be reached and addressed. The address is maintained dynamically and automatically updated upon change, so that it is ensured that a current address of the reservation queue can always be made available.

Im Rahmen einer Transaktion oder Datenverarbeitung soll nun eine bestimmte Operationsfolge auf einem Datenbestand ausgeführt werden. Dies kann auf einem Transaktionsknoten des Netzwerks oder auf mehreren Transaktionsknoten erfolgen, wobei im letzteren Fall die Transaktionsknoten sequentiell adressiert oder angesprochen werden. Die Folge der Transaktionsknoten zur Ausführung des Zugriffs wird durch Einträge in der Reservierungsschlange definiert. Dabei ist es üblicherweise vorgesehen, dass ein Knoten eine Anfrage auf eine Ressource direkt in die Reservierungsschlange einträgt. Alternativ kann hier ein indirektes Beschreiben der Reservierungsschlange vorgesehen sein. Die einzelnen Transaktionsknoten der Reservierungsschlange werden dann in der vorgesehen Sequenz abgearbeitet bzw. angesprochen. Gemäß einem wesentlichen Aspekt werden dabei die Daten gemeinsam mit der Reservierungsschlange von Transaktionsknoten zu Transaktionsknoten übermittelt. Dabei wird die jeweils aktuelle Adresse der Reservierungsschlange bzw. desjenigen Transaktionsknotens mit Datenhoheit aktualisiert.As part of a transaction or data processing, a specific sequence of operations is now to be executed on a dataset. This can be done on a transaction node of the network or on several transaction nodes, in the latter case, the transaction nodes are addressed or addressed sequentially. The sequence of transaction nodes for performing the access is defined by entries in the reservation queue. It is usually provided that a node enters a request for a resource directly in the reservation queue. Alternatively, an indirect description of the reservation queue may be provided here. The individual transaction nodes of the reservation queue are then processed or addressed in the intended sequence. According to one essential aspect, the data is transmitted together with the reservation queue from transaction nodes to transaction nodes. The current address of the reservation queue or of that transaction node is updated with data sovereignty.

Im Folgenden werden die Begrifflichkeiten, die im Rahmen dieser Anmeldung verwendet werden, näher erläutert.In the following, the terms used in the context of this application are explained in more detail.

Das computerbasierte System ist als Netzwerksystem ausgelegt, das bspw. eine SOA-Architektur aufweist und bestimmte Dienste bereitstellt, die auf den Transaktionsknoten ausgeführt werden können. Dabei ist die Zuordnung zwischen Dienst und Transaktionsknoten frei, so dass es möglich ist, dass mehrere – auch unterschiedliche – Dienste auf einem Transaktionsknoten oder auch verteilt auf mehreren Transaktionsknoten zur Ausführung gebracht werden können. Ebenso ist es möglich, dass ein Dienst auf mehrere Transaktionsknoten und damit verteilt ausgeführt wird. Die Transaktionsknoten stehen in Datenaustausch über ein Netzwerk, das in unterschiedlichen Netzarten und/oder mit unterschiedlichen Topologien betrieben werden kann, bspw. als ein Local Area Network (LAN) oder als ein TCP/IP – basiertes Netzwerk.The computer-based system is designed as a network system having, for example, a SOA architecture and providing certain services that can be executed on the transaction nodes. In this case, the association between service and transaction node is free, so that it is possible that several - even different - services on a transaction node or distributed to multiple transaction nodes can be executed. It is also possible that a service is executed on several transaction nodes and thus distributed. The transaction nodes are in data exchange via a network that can be operated in different network types and / or with different topologies, for example as a Local Area Network (LAN) or as a TCP / IP-based network.

Bei den begrenzten Ressourcen kann es sich um Daten bzw. Datenbestände handeln, die mitunter auch verteilt auf unterschiedlichen Transaktionsknoten vorgehalten werden können. Ebenso unterfallen diesem Begriff andere Betriebsmittel, wie z. B. solche, die exklusiv oder teil-exklusiv betrieben und deshalb reserviert werden müssen. Beispielsweise fallen hierunter auch Drucker, Speichersysteme, zentrale Prozessoreinheiten (CPU's), Berechnungseinheiten, Kompressionsmodule, Teile eines mechatronischen Systems, Teile von Software- oder Hardwaresystemen, Steuereinheiten, Regelungseinheiten und andere Verarbeitungsmodule.The limited resources can be data or data stocks, which can sometimes be kept available distributed on different transaction nodes. Likewise, this term are subject to other resources, such. B. those that are operated exclusively or partially-exclusive and therefore must be reserved. These include, for example, printers, memory systems, central processing units (CPU's), computation units, compression modules, parts of a mechatronic system, parts of software or hardware systems, control units, control units and other processing modules.

Bei den Transaktionsknoten handelt es sich um computerbasierte Instanzen unterschiedlicher Kategorie. Somit unterfallen einem Transaktionsknoten Mikroprozessorchips ebenso wie Rechner, Rechnersysteme oder Rechnernetzwerke mit unterschiedlicher Rechnerarchitektur. Auf den jeweiligen Transaktionsknoten wird ein Datenzugriff ausgeführt, der eine exklusive oder teil-exklusive Hoheit über die zu verarbeitenden Daten erfordert. Dabei kann es sich um eine beliebige Zugriffsart handeln, also um einen Schreib-(WRITE-), einen Lese-(READ-)- und/oder um einen Ausführ-Zugriff (EXECUTE).The transaction nodes are computer-based instances of different categories. Thus, a transaction node is subject to microprocessor chips as well as computers, computer systems or computer networks with different computer architecture. At the respective transaction nodes, a data access is executed which requires an exclusive or partial exclusive sovereignty over the data to be processed. This can be any type of access, ie a write (WRITE), a read (READ) and / or an execute (EXECUTE) access.

Die Reservierungsschlange wird üblicherweise in Software implementiert sein und umfasst eine Folge von Einträgen für Zugriffe zur exklusiven oder teil-exklusiven Reservierung von Betriebsmitteln. Erfindungsgemäß ist es vorgesehen, dass die Zugriffe über die Reservierungsschlange koordiniert und verwaltet werden. Darüber hinaus werden die Transaktionsknoten gemäß der Reservierungsschlange angesprochen. In Abhängigkeit von den Einträgen in der Reservierungsschlange werden die Daten mit der Reservierungsschlange sequentiell von Knoten zu Knoten übermittelt. Dabei ist es wichtig, dass allen beteiligten computerbasierten Instanzen und damit auch allen Transaktionsknoten die jeweils aktuelle Adresse der Reservierungsschlange (und damit des Transaktionsknotens mit Datenhoheit) bekannt ist. Erfindungsgemäß wird die Reservierungsschlange zusammen mit den zu bearbeitenden Daten im Netzwerk übertragen. Gemäß einem Aspekt der Erfindung ist es dabei vorgesehen, dass die Reservierungsschlange und die Daten in einem gekapselten Paket und insbesondere über denselben Datenkanal übertragen werden. Alternativ können jedoch auch unterschiedliche Datenübertragungswege vorgesehen sein, die allerdings hinsichtlich Sender und Empfänger übereinstimmen. Ebenso ist es möglich, die Reservierungsschlange und die Daten zwar voneinander getrennt bzw. unabhängig voneinander aber über denselben Kommunikationskanal an denselben Adressaten zu versenden (z. B. in getrennten elektronischen Nachrichten). The reservation queue will usually be implemented in software and includes a sequence of entries for exclusive or part-exclusive resource reservation. According to the invention, it is provided that the accesses are coordinated and managed via the reservation queue. In addition, the transaction nodes are addressed according to the reservation queue. Depending on the entries in the reservation queue, the data with the reservation queue is transmitted sequentially from node to node. It is important that all participating computer-based instances and thus also all transaction nodes, the current address of the reservation queue (and thus the transaction node with data sovereignty) is known. According to the reservation queue is transmitted along with the data to be processed in the network. In accordance with one aspect of the invention, provision is made for the reservation queue and the data to be transmitted in an encapsulated packet and in particular over the same data channel. Alternatively, however, different data transmission paths can be provided, which, however, coincide with respect to sender and receiver. It is likewise possible for the reservation queue and the data to be sent to the same addressee separately from one another or independently of one another via the same communication channel (eg in separate electronic messages).

Unter dem „Adressgeber” ist eine Instanz zu verstehen, die zur Ermittlung der aktuellen Reservierungsschlangenadresse bestimmt ist. Mit anderen Worten wird es den beteiligten Transaktionsknoten ermöglicht, die aktuelle Adresse der Reservierungsschlange über den Adressgeber zu erfahren. Der Adressgeber kann auf unterschiedliche Weise implementier werden. So ist es in einer ersten Variante möglich, hier ein Broadcast Prinzip zu verwenden. Das Broadcast Prinzip sieht vor, dass der jeweilige Transaktionsknoten mit Datenhoheit seine Adresse an alle anderen Knoten sendet. In einer zweiten Variante kann ein zentraler Adressknoten vorgesehen sein, der die aktuelle Adresse der Reservierungsschlange verwaltet. In diesem Fall ist es vorgesehen, dass der jeweilige Transaktionsknoten mit Datenhoheit seine Adresse an den zentralen Adressknoten versendet und, dass die anfragenden Transaktionsknoten die aktuelle Adresse der Reservierungsschlange über den Adressknoten in Erfahrung bringen können. Üblicherweise wird der zentrale Adressknoten als Wurzelknoten ausgebildet sein, von dem aus die Transformation der Daten initiiert wird. Gemäß einer dritten Variante kann auch eine verteilte Hashtabelle bereit gestellt werden, über die die jeweils aktuelle Adresse der Reservierungsschlange ermittelbar wird.By the "address provider" is meant an instance that is intended to determine the current reservation queue address. In other words, the participating transaction nodes are enabled to know the current address of the reservation queue via the address provider. The address provider can be implemented in different ways. So it is possible in a first variant to use a broadcast principle here. The broadcast principle stipulates that the respective transaction node with data sovereignty sends its address to all other nodes. In a second variant, a central address node can be provided which manages the current address of the reservation queue. In this case, it is provided that the respective transaction node with data sovereignty sends its address to the central address node and that the requesting transaction nodes can find out the current address of the reservation queue via the address node. Usually, the central address node will be formed as a root node, from which the transformation of the data is initiated. According to a third variant, a distributed hash table can also be provided, via which the respectively current address of the reservation queue can be determined.

In der Erfindung sind vorzugsweise zwei Varianten vorgesehen, wie die Transaktionsknoten ihre Zugriffsanfrage bzw. Reservierungsanfrage übermitteln. Zum Einen kann der Transaktionsknoten bei Bedarf seine Reservierungsanfrage an den Adressgeber übermitteln. Dies wird vorzugsweise dann der Fall sein, wenn ein zentraler Knoten als Adressknoten vorgesehen wird. Zum Anderen ist es möglich, dass der jeweilige Transaktionsknoten seine Reservierungsanfrage direkt an den im Einsatz befindlichen Transaktionsknoten stellt und damit an den Transaktionsknoten, der zurzeit die Datenhoheit hat und auf dem die Reservierungsschlange vorgehalten wird. Selbstverständlich können gemäß alternativen Ausführungsformen auch noch weitere Computerinstanzen beteiligt werden, so dass die Reservierungsanfrage indirekt und somit mittelbar an den jeweiligen Reservierungsschlangenknoten weitergeleitet wird.In the invention, two variants are preferably provided, as the transaction nodes transmit their access request or reservation request. On the one hand, the transaction node can, if necessary, transmit its reservation request to the address provider. This will preferably be the case when a central node is provided as an address node. On the other hand, it is possible that the respective transaction node makes its reservation request directly to the transaction node in use and thus to the transaction node, which currently has the data sovereignty and on which the reservation queue is kept. Of course, according to alternative embodiments, other computer instances can also be involved, so that the reservation request is forwarded indirectly and thus indirectly to the respective reservation queue node.

Insbesondere in großen Netzwerksystemen, die über einen umfangreichen geografischen Bereich angeordnet sind (z. B. länderübergreifend) ist es vorzugsweise vorgesehen, dass eine Struktur von Transaktionsknoten bereitgestellt wird. Dabei ist es vorgesehen, dass eine bestimmte Menge bzw. Auswahl von Transaktionsknoten einem Sub-Netzwerk zugeordnet ist. Dabei werden die einzelnen Sub-Netzwerke üblicherweise getrennt bzw. unabhängig voneinander verwaltet. Als Beispiel seien hier firmeninterne Netzwerke (die üblicherweise als LAN organisiert sind) oder länderspezifische Sub-Netzwerke genannt. Ein wesentlicher Vorteil der erfindungsgemäßen Lösung ist nun darin zu sehen, dass selbst bei einem Ausfall eines ersten Sub-Netzwerkes, dennoch eine fehlerfreie Zugriffskoordination und Datenverarbeitung auf anderen Sub-Netzwerken ausgeführt werden kann. Ebenso ist es möglich, dass eine lokale Datenverarbeitung auch dann noch ausführbar ist, wenn externe Datenverbindungen (also außerhalb des internen Netzwerkes) korrumpiert sind.Particularly in large network systems that are arranged over a large geographical area (eg transnationally), it is preferably provided that a structure of transaction nodes is provided. It is provided that a certain amount or selection of transaction nodes is assigned to a subnetwork. The individual sub-networks are usually managed separately or independently of each other. As an example, corporate networks (usually organized as LANs) or country-specific subnetworks are mentioned here. An essential advantage of the solution according to the invention can now be seen in the fact that even in the event of a failure of a first sub-network, error-free access coordination and data processing can still be performed on other sub-networks. It is also possible that local data processing can still be performed even if external data connections (that is, outside the internal network) are corrupted.

Gemäß einer Variante der erfindungsgemäßen Lösung kann auch eine Hierarchie von Transaktionsknoten bereit gestellt werden. Beispielsweise können sog. Wurzelknoten bereitgestellt werden, von denen die Datenverarbeitung mit den jeweiligen Zugriffen initiiert wird und die sozusagen als erster Transaktionsknoten in der Sequenz von Transaktionsknoten angesprochen werden. Dabei kann auch eine Hierarchie von Wurzelknoten implementiert sein (z. B. ein globaler Wurzelknoten und ein länderspezifischer Wurzelknoten).According to a variant of the solution according to the invention, a hierarchy of transaction nodes can also be provided. For example, so-called root nodes can be provided, from which the data processing with the respective accesses is initiated and which are addressed, so to speak, as first transaction nodes in the sequence of transaction nodes. In this case, a hierarchy of root nodes can also be implemented (for example, a global root node and a country-specific root node).

Gemäß einem Aspekt der Erfindung ist es vorgesehen, dass die Daten zur Konfiguration von technischen Geräten verwendet werden, die in Folge angesprochen werden, wie bspw. eine Dekompressionseinheit, um empfangene Daten zu dekomprimieren und an eine Darstellungseinheit weiterzuleiten, die dann die Daten „rendert”. In einem nächsten Schritt werden diese Daten dann an den Drucker zur Erstellung eines Ausdrucks weitergeleitet. Neben der Verwendung der Daten zur Konfiguration von technischen Geräten, sind auch andere Datenverwendungen denkbar, z. B. zur reinen Datenverarbeitung. An dieser Stelle sei jedoch nochmals darauf hingewiesen, dass es für die Ausführung der Erfindung nicht zwingend erforderlich ist, dass die Daten an allen Transaktionsknoten bearbeitet werden. Somit ist es auch möglich, dass die Daten an den Transaktionsknoten nur eingelesen oder für nachrangige Bearbeitungsschritte verwendet werden.According to one aspect of the invention, it is provided that the data is used for the configuration of technical devices which are addressed in succession, such as a decompression unit for decompressing received data and forwarding it to a presentation unit, which then "renders" the data. , In one Next, this data will be forwarded to the printer to create a printout. In addition to the use of data for the configuration of technical devices, other data uses are conceivable, for. B. for pure data processing. At this point, however, it should again be noted that it is not absolutely necessary for the execution of the invention that the data be processed at all transaction nodes. Thus, it is also possible that the data is only read in to the transaction node or used for subordinate processing steps.

Erfindungsgemäß ist sichergestellt, dass der aktuelle Bearbeiter (in Form eines Transaktionsknotens) auch einen exklusiven Zugriff auf die Daten hat, wobei die Daten (für den Zugriff) ausschließlich lokal bei dem Transaktionsknoten vorliegen (und bei keinem anderen Transaktionsknoten des Netzwerkes).According to the invention, it is ensured that the current processor (in the form of a transaction node) also has exclusive access to the data, the data (for access) being available exclusively locally at the transaction node (and at no other transaction node of the network).

Im Unterschied zu bekannten Pipeline-Architekturen, ist es bei der erfindungsgemäßen Lösung vorgesehen, die Reihenfolge der Bearbeitung bzw. die Reihenfolge der zu verwendenden Transaktionsknoten nicht a priori festzulegen. Die Reihenfolge der zu verwendenden Transaktionsknoten kann erfindungsgemäß dynamisch von Fall zu Fall bestimmt werden. Darüber hinaus ist es erfindungsgemäß auch nicht vorgesehen, zwingend einen zentralen Verwalter bzw. Koordinator bereit zu stellen, der zur Verwaltung der Zugriffe verwendet wird. Erfindungsgemäß wird eine dezentrale Zugriffskoordination erwirkt, in dem die Reservierungsschlange als Zugriffskoordinator verwendet wird und gemeinsam mit den Daten von Transaktionsknoten zu Transaktionsknoten gesendet wird.In contrast to known pipeline architectures, it is provided in the solution according to the invention not to determine the order of processing or the order of the transaction nodes to be used a priori. According to the invention, the order of the transaction nodes to be used can be determined dynamically on a case by case basis. In addition, according to the invention, it is also not intended to make it absolutely necessary to provide a central administrator or coordinator who is used to manage the accesses. According to the invention, a decentralized access coordination is obtained, in which the reservation queue is used as an access coordinator and is sent together with the data from transaction nodes to transaction nodes.

Gemäß einer bevorzugten Ausführungsform sind unterschiedliche Optimierungen des Zugriffsverfahrens vorgesehen.According to a preferred embodiment, different optimizations of the access method are provided.

So kann zum Einen ein Rollback der Transaktionen vorgenommen werden, falls ein Fehler (im Netzwerk oder bei bestimmten Transaktionsknoten) festgestellt wird. Dafür kann es vorgesehen sein, dass auf den bisher beteiligten Transaktionsknoten eine Kopie der verarbeitenden Daten verbleibt. Vorzugsweise ist es konfigurierbar, an welchen und/oder auf wie vielen Transaktionsknoten vor dem aktuellen Transaktionsknoten die Daten redundant vorgehalten werden. Folgendes Beispiel soll dies näher erläutern: Wenn bspw. im Rahmen einer Zugriffskoordination folgende Knoten A, B, C, D, E und F bei den Transaktionen beteiligt waren und Knoten F der aktuelle Knoten ist, so kann eine dreifache Redundanz vorgesehen sein. Dies bedeutet, dass die Knoten E, D und C über eine Kopie des Datensatzes verfügen, wobei die Kopie der Bearbeitung durch den jeweiligen Knoten entspricht, so dass auf dem Knoten C eine Kopie des Datensatzes nach der Bearbeitung durch den Knoten C liegt und auf dem Knoten D ein Datensatz liegt, der der Verarbeitung durch den Knoten D entspricht etc.Thus, on the one hand, the transactions can be rolled back if an error is detected (in the network or at certain transaction nodes). For this purpose, it may be provided that a copy of the processing data remains on the previously involved transaction nodes. It is preferably configurable to which and / or on how many transaction nodes the data is stored redundantly before the current transaction node. The following example is intended to explain this in more detail: If, for example, the following nodes A, B, C, D, E and F were involved in the transactions within the context of an access coordination and node F is the current node, a triple redundancy can be provided. This means that the nodes E, D and C have a copy of the record, the copy corresponding to the processing by the respective node, so that on the node C is a copy of the record after processing by the node C and on the Node D is a record that corresponds to the processing by the node D etc.

Vorteilhafterweise kann mit dieser Ausführungsform die Sicherheit des Zugriffs erhöht werden, indem auf frühere Bearbeitungsversionen zurückgegriffen werden kann.Advantageously, with this embodiment, the security of access can be increased by resorting to earlier editing versions.

In einer weiteren Optimierung kann es vorgesehen sein, den Zugriffskoordinator mit weiteren Steuerungs- und/oder Regelungsmöglichkeiten auszubilden. So ist es bspw. möglich, dass automatisch erfasst wird, welche weiteren Einträge in der Reservierungsschlange existieren. Diese weiteren Einträge von Transaktionsknoten werden dann hinsichtlich bestimmter Kriterien ausgewertet. Beispielsweise wäre es denkbar zu analysieren, welche der zukünftigen Transaktionsknoten sich innerhalb desselben lokalen Sub-Netzwerkes befinden und somit im Fehlerfall eines anderen Sub-Netzwerkes dennoch ausführbar wären. Ebenso könnte eine Priorisierung von Transaktionsknoten vorgenommen werden.In a further optimization, it may be provided to design the access coordinator with further control and / or regulation options. For example, it is possible to automatically detect which other entries exist in the reservation queue. These further entries of transaction nodes are then evaluated with regard to certain criteria. For example, it would be conceivable to analyze which of the future transaction nodes are located within the same local subnetwork and would nevertheless be executable in the event of a fault of another subnetwork. Likewise, a prioritization of transaction nodes could be made.

Gemäß der erfindungsgemäßen Lösung ist es vorgesehen, dass die Daten in einer bestimmten Reihenfolge bei den ausgewählten Transaktionsknoten eintreffen. Die Transaktionsknoten, die in der Reservierungsschlange höher stehen, erhalten die Daten früher als diejenigen Transaktionsknoten, die an einer nachrangigen Position in der Reservierungsschlange eingetragen sind. Damit wird auch eine Sequenz der Bearbeitung definiert. Zu betonen ist, dass erfindungsgemäß keine zentrale Verwaltung notwendig wird und die Zugriffe auf die jeweiligen Transaktionsknoten dezentral verwaltet werden. Der Zugriffskoordinator wird zusammen mit den zu bearbeitenden Daten im Netzwerk übertragen. Damit ist sichergestellt, dass sich sowohl die Daten als auch der Zugriffskoordinator im gleichen physikalischen Kontext bzw. auf demselben Transaktionsknoten befinden, so dass selbst bei eingeschränkter Konnektivität die Daten immer noch bearbeitet werden können.According to the solution according to the invention, it is provided that the data arrive in a specific order at the selected transaction nodes. The transaction nodes that are higher in the reservation queue receive the data earlier than those transaction nodes that are registered at a subordinate position in the reservation queue. This also defines a sequence of the processing. It should be emphasized that according to the invention no central administration is necessary and the accesses to the respective transaction nodes are managed decentrally. The access coordinator is transmitted along with the data to be processed on the network. This ensures that both the data and the access coordinator are in the same physical context or on the same transaction node, so that even with limited connectivity, the data can still be processed.

Eine weitere Lösung der vorstehend genannten Aufgabe besteht in einem computerbasierten System, das zur Ausführung des vorstehend erwähnten Verfahrens bestimmt ist. Das System umfasst eine Vielzahl von Transaktionsknoten und eine Reservierungsschlange, sowie zumindest einen Adressgeber. Der Zugriffskoordinator in Form der Reservierungsschlange wird dabei zusammen mit den Daten von Knoten zu Knoten transferiert.Another solution to the above object is a computer-based system designed to carry out the above-mentioned method. The system includes a plurality of transaction nodes and a reservation queue, as well as at least one address provider. The access coordinator in the form of the reservation queue is thereby transferred together with the data from node to node.

Eine weitere Aufgabenlösung besteht in einer Reservierungsschlange, die als Datenstruktur bereit gestellt wird. Die Reservierungsschlange kann als Liste mit Einträgen zur Reservierung von Betriebsmitteln implementiert sein. Erfindungsgemäß wird die Reservierungsschlange als Datenstruktur gemeinsam mit den zu verarbeitenden Daten transferiert. Vorzugsweise kann dies in Form eines gemeinsamen Datenpaketes erfolgen oder innerhalb einer gemeinsamen Nachricht. Alternativ sind hier auch unterschiedliche Transformationsmechanismen denkbar, so dass die Reservierungsschlange in einer separaten Nachricht an denselben Empfänger wie die Daten D) versendet werden.Another task solution is a reservation queue, which is provided as a data structure. The reservation queue may be implemented as a list of resource reservation entries. According to the reservation queue is transferred as a data structure together with the data to be processed. This can preferably take the form of a common data packet or within a common message. Alternatively, different transformation mechanisms are also conceivable here, so that the reservation queue is sent in a separate message to the same recipient as the data D).

Eine andere Aufgabenlösung sieht ein Computerprogramm vor, das zur Ausführung des vorstehend beschriebenen Verfahrens bestimmt ist. Dabei ist es möglich, dass das Computerprogramm auf einen Datenträger gespeichert ist. Die Speicherung kann als ausführbare oder als geladener Code vorgesehen sein. Ebenso kann das Computerprogramm als Download von einem Server abrufbar sein. Alternativ kann das Computerprogramm auch auf einem sonstigen Speichermedium gespeichert sein oder als verteiltes System bereit gestellt werden, so dass einzelne Module des vorstehend beschriebenen Verfahrens auf einem Client und andere Module auf einem Server zur Ausführung kommen.Another task solution provides a computer program, which is intended for carrying out the method described above. It is possible that the computer program is stored on a disk. The storage can be provided as executable or as loaded code. Likewise, the computer program may be available as a download from a server. Alternatively, the computer program can also be stored on another storage medium or provided as a distributed system, so that individual modules of the method described above come on a client and other modules on a server for execution.

Eine alternative Lösung der Aufgaben besteht auch in einem computerimplementierten Verfahren gemäß dem beiliegenden Verfahrensanspruch, das in Form eines Computerprogramms vertrieben werden kann.An alternative solution of the tasks is also in a computer-implemented method according to the attached method claim, which can be distributed in the form of a computer program.

Weitere Lösungen der Aufgabe und alternative Ausführungsformen finden sich in den beiliegenden Patentansprüchen.Further solutions to the problem and alternative embodiments can be found in the accompanying claims.

In der folgenden, detaillierten Figurenbeschreibung werden nicht einschränkend zu verstehende Ausführungsbeispiele mit deren Merkmalen und weiteren Vorteilen anhand der Zeichnung beschrieben. In dieser zeigen:In the following detailed description of the figures, non-limiting exemplary embodiments with their features and further advantages will be described with reference to the drawing. In this show:

1 eine übersichtsartige Darstellung von Transaktionsknoten in einem bestimmten Systemzustand gemäß einer bevorzugten Ausführungsform der Erfindung, 1 an overview representation of transaction nodes in a specific system state according to a preferred embodiment of the invention,

2 eine übersichtsartige Darstellung des in 1 dargestellten Systems in einem anderen Zustand, 2 an overview of the in 1 represented system in another state,

3 eine übersichtartige und schematische Darstellung des in den 1 und 2 dargestellten Systems in einem weiteren Zustand, 3 an overview and schematic representation of the in the 1 and 2 shown system in another state,

4 eine schematische Darstellung von Transaktionsknoten und übertragenen Nachrichten gemäß einer bevorzugten Ausführungsform der Erfindung und 4 a schematic representation of transaction nodes and transmitted messages according to a preferred embodiment of the invention and

5 eine übersichtartige Darstellung von beteiligten Transaktionsknoten und deren Kommunikation mit anderen computerbasierten Instanzen gemäß einer bevorzugten Ausführungsform der Erfindung. 5 an overview representation of participating transaction nodes and their communication with other computer-based entities according to a preferred embodiment of the invention.

Im Folgenden wird – unter Bezugnahme auf die 1 bis 3 – die Erfindung gemäß einer bevorzugten Ausführungsform näher erläutert.The following is - with reference to the 1 to 3 - The invention explained in more detail according to a preferred embodiment.

Wie in 1 dargestellt, sind in dem computerbasierten System eine Vielzahl von Transaktionsknoten T vorgesehen. Die oberste Instanz, die in den 1 bis 3 mit der Bezeichnung ”Data Home” gekennzeichnet ist, zeigt die Quelle der Daten. Die Datenquelle repräsentiert in einer bevorzugten Ausführungsform zugleich einen Wurzelknoten für Reservierungsanfragen. Die anderen Transaktionsknoten T sind mit den Bezeichnungen ”System A”, ”System O”, ”System R”, ”System X” und ”System Y” bezeichnet. Wie in 1 ersichtlich, hatten die Transaktionsknoten T mit den Systemen A bis O im zurückliegenden Zeitpunkt die Daten exklusiv reserviert. In dem Systemzustand, der in 1 dargestellt ist, besitzt das System R aktuell die Hoheit über die Daten und verfügt damit auch über das (an sich konfigurierbare) Recht über die Betriebsmittel und Ressourcen. Erfindungsgemäß ist es vorgesehen, dass an dem aktuellen Transaktionsknoten T, der die Datenhoheit hat, auch eine Reservierungsschlange Q vorgehalten wird. Die Reservierungsschlange Q ist in dem in 1 dargestellten Beispiel leer. Definitionsgemäß hat dasjenige System bzw. derjenige Transaktionsknoten T die Datenhoheit, auf dem Daten D liegen. In diesem Fall ist dies der Knoten T mit der Bezeichnung ”System R”.As in 1 In the computer-based system, a plurality of transaction nodes T are provided. The highest authority in the 1 to 3 labeled "Data Home", shows the source of the data. In a preferred embodiment, the data source also represents a root node for reservation requests. The other transaction nodes T are labeled "System A", "System O", "System R", "System X" and "System Y". As in 1 As can be seen, the transaction nodes T with the systems A to O had exclusively reserved the data at the time in the past. In the system state in 1 is shown, the system R currently has the sovereignty over the data and thus also has the (in itself configurable) right over the resources and resources. According to the invention, it is provided that a reservation queue Q is also kept at the current transaction node T, which has the data sovereignty. The reservation queue Q is in the in 1 empty example. By definition, that system or the transaction node T has the data sovereignty on which data D is located. In this case, this is the node T named "System R".

In 2 ist nun ein weiterer Systemzustand dargestellt. Es kommen die weiteren Transaktionsknoten T ”System X” und ”System Y” hinzu. Sowohl ”System X” und ”System Y” stellen Reservierungsanfragen (hier: an bzw. über den Wurzelknoten). Der Wurzelknoten verweist auf den aktuellen Datenherrscher – in diesem Fall ist dies ”System R”.In 2 Now another system state is shown. The following transaction nodes T "System X" and "System Y" are added. Both "System X" and "System Y" make reservation requests (here: at or via the root node). The root node points to the current data ruler - in this case this is "System R".

Erfindungsgemäß ist es also vorgesehen, dass anfragende computerbasierte Instanzen auf eine Reservierungsanfrage eine Nachricht mit einer Adresse desjenigen Transaktionsknotens T erhalten, der aktuell die Datenhoheit hat und auf dem die Daten D aktuell liegen. Daraufhin ist es den anfragenden Systemen ”System X” und ”System Y” möglich, jeweils eine Reservierungsanfrage direkt an den Transaktionsknoten T mit Datenhoheit zu stellen (hier: ”System R”).According to the invention, it is thus provided that requesting computer-based entities receive a message requesting a reservation with an address of the transaction node T which currently has the data sovereignty and on which the data D is currently located. Then it is the requesting systems "System X" and "System Y" possible to make each a reservation request directly to the transaction node T with data sovereignty (here: "System R").

Die Nachrichten, die von den anfragenden Systemen (”System X”, ”System Y”) an den Wurzelknoten (”Data Home”) gesendet werden, sind in 2 mit dem Bezugszeichen X1 und Y1 gekennzeichnet. X1 soll die Anfrage des Systems X kennzeichnen und Y1 die Anfrage des Systems Y. Die Nachrichten, die von den anfragenden Systemen („System X”, „System Y”) an den Datenhoheitsknoten („System R”) gesendet werden, sind in 2 mit dem Bezugszeichen X2 und Y2 gekennzeichnet. Die Nachricht X2 kennzeichnet die Reservierungsanfrage des Systems X an den Transaktionsknoten T und das Bezugszeichen Y2 kennzeichnet die Reservierungsanfrage des Systems Y an den aktuellen Datenherrscherknoten (”System R”).The messages sent by the requesting systems ("System X", "System Y") to the root node ("Data Home") are in 2 marked with the reference symbols X1 and Y1. X1 is to identify the request of the system X and Y1 the request of the system Y. The messages to be sent by the requesting systems ("System X", "System Y") are sent to the data sovereign node ("System R") are in 2 marked with the reference symbols X2 and Y2. The message X2 indicates the reservation request of the system X to the transaction node T and the reference Y2 indicates the reservation request of the system Y to the current data host node ("System R").

Nach Übermittlung der Reservierungsanfragen der anfragenden Systeme an den Transaktionsknoten T mit der Reservierungsschlange Q, werden die Reservierungseinträge automatisch in die Reservierungsschlange Q eingetragen. Dies ist in 2 dadurch gekennzeichnet, dass die Reservierungsschlange Q nun nicht mehr leer ist (wie dies ursprünglich in 1 dargestellt war), sondern nun die Einträge Y und X umfasst.After transmission of the reservation requests of the requesting systems to the transaction node T with the reservation queue Q, the reservation entries are automatically entered in the reservation queue Q. This is in 2 characterized in that the reservation queue Q is no longer empty (as originally in 1 was shown), but now includes the entries Y and X.

Nach Fertigstellung der Bearbeitung der Daten auf den Transaktionsknoten T ”System R” werden die so bearbeiteten Daten D gemeinsam mit der Transaktionsschlange Q an denjenigen Transaktionsknoten T übermittelt, der an erster Stelle in der Reservierungsschlange Q steht. In dem in den 2 und 3 gezeigten Beispiel ist dies der Knoten ”System X”. Gemäß einem Aspekt der Erfindung werden die Daten D und die Reservierungsschlange Q somit in einem Nachrichtenpaket Q, D übertragen.After completion of the processing of the data on the transaction node T "System R", the thus processed data D are transmitted together with the transaction queue Q to that transaction node T, which is in the first place in the reservation queue Q. In the in the 2 and 3 As shown, this is the node "System X". According to one aspect of the invention, the data D and the reservation queue Q are thus transmitted in a message packet Q, D.

Das vorstehend beschriebene Verfahren wird iterativ auf allen Transaktionsknoten T ausgeführt, die in der Reservierungsschlange Q eingetragen sind, bis alle anstehenden Transaktionen ausgeführt sind oder bis die Datenverarbeitung fertig bearbeitet ist. Nach Abarbeitung der Reservierungsschlange sind grundsätzlich zwei Möglichkeiten vorgesehen:

  • – Eine erste Ausführungsform sieht es vor, dass die so bearbeiteten Daten D auf dem letzten Transaktionsknoten T verbleiben.
  • – Gemäß einer zweiten Ausführungsform ist es vorgesehen, dass die so bearbeiteten Daten von dem letzten Transaktionsknoten T an den Wurzelknoten ”Data Home” zurück übermittelt werden.
The method described above is carried out iteratively on all the transaction nodes T registered in the reservation queue Q until all pending transactions are executed or until the data processing is finished. Once the reservation queue has been processed, there are basically two possibilities:
  • A first embodiment provides that the data D thus processed remain on the last transaction node T.
  • According to a second embodiment, it is provided that the data thus processed are transmitted back from the last transaction node T to the root node "Data Home".

Selbstverständlich liegen auch noch andere weitere Bearbeitungen oder Weiterleitungen an andere computerbasierte Instanzen im Rahmen der Erfindung.Of course, there are also other further processing or forwarding to other computer-based entities within the scope of the invention.

Im Zusammenhang mit 4 sei nun ein Beispiel einer Systemarchitektur der erfindungsgemäßen Lösung dargestellt. Dabei kommunizieren eine Vielzahl von Transaktionsknoten T1, T2, ... Tn über ein Netzwerk N miteinander. Bei dem Netzwerk N handelt es sich vorzugsweise um ein TCP/IP-Netzwerk. Alternative Ausführungen sehen hier jedoch andere Protokolle und Netzwerksysteme vor.In connection with 4 Let us now show an example of a system architecture of the solution according to the invention. In this case, a multiplicity of transaction nodes T 1 , T 2 ,... T n communicate with one another via a network N. The network N is preferably a TCP / IP network. Alternative versions, however, provide other protocols and network systems.

Vorzugsweise werden die Reservierungsschlange Q und die Daten in einem gemeinsamen Nachrichtenpaket Q, D übertragen. Dieses Nachrichtenpaket kann von anderen Nachrichten gekapselt sein. Üblicherweise wird das Nachrichtenpaket in einer Nachricht übertragen. Alternativ können hier jedoch auch unterschiedliche Nachrichten verwendet werden. Darüber hinaus ist es möglich, die Reservierungsschlange Q und die Daten D in separaten Nachrichten und/oder über separate Kommunikationskanäle (unterschiedliche Protokolle, unterschiedliche Netzwerkfrequenzen, unterschiedliche Datenleitungen etc.) zu versenden. Dies macht das System zwar flexibler, aber auch unsicherer, da bei einem Kanalausfall Inkonsistenzen überprüft werden müssen.Preferably, the reservation queue Q and the data are transmitted in a common message packet Q, D. This message packet may be encapsulated by other messages. Usually, the message packet is transmitted in a message. Alternatively, however, different messages can be used here. Moreover, it is possible to send the reservation queue Q and the data D in separate messages and / or via separate communication channels (different protocols, different network frequencies, different data lines, etc.). This makes the system more flexible, but also less secure because inconsistencies must be checked in the event of a channel failure.

In 5 ist die Kommunikation eines Transaktionsknotens T mit anderen computerbasierten Instanzen dargestellt. Gemäß einer bevorzugten Ausführungsform umfasst ein Transaktionsknoten T eine zentrale Prozessoreinheit CPU oder einen Mikroprozessor. Darüber hinaus ist ein Speicher (Memory), Schnittstellen (User Interface – UI), ein Betriebssystem (Operating System), Schnittstellen anderer Art (Interface) und Kommunikationsmodule (Communicator) vorgesehen. Üblicherweise werden unterschiedliche Speicherarten bereitgestellt (RAM – Random Access Memory, ROM – Read-Only Memory etc.) Zusätzlich sind noch ein Taktgeber (Clock) und üblicherweise auch graphische Benutzeroberflächen, beispielsweise in Form eines Touchscreens, vorgesehen. Selbstverständlich können noch beliebige andere Bearbeitungseinheiten in den Transaktionsknoten T integriert sein oder über entsprechende Schnittstellen an diesen angeschlossen sein. In anderen Ausführungsformen sind die Transaktionsknoten T schlanker ausgebildet und umfassen nur eine Auswahl der vorstehend genannten elektrotechnischen oder elektronischen Module. Der Transaktionsknoten T steht über das Netzwerk N in Datenaustausch mit einem Adressgeber A.In 5 the communication of a transaction node T with other computer-based instances is shown. According to a preferred embodiment, a transaction node T comprises a central processing unit CPU or a microprocessor. In addition, a memory (memory), interfaces (user interface - UI), an operating system (operating system), interfaces of other types (interface) and communication modules (communicator) is provided. Usually, different types of memory are provided (Random Access Memory, Read Only Memory, etc.). In addition, a clock and usually also graphical user interfaces, for example in the form of a touchscreen, are provided. Of course, any other processing units can be integrated into the transaction node T or connected to the latter via corresponding interfaces. In other embodiments, the transaction nodes T are made slimmer and include only a selection of the aforementioned electro-technical or electronic modules. The transaction node T is in communication with an address generator A via the network N.

Der Adressgeber A dient zum Bereitstellen der aktuellen Adresse der Reservierungsschlange Q bzw. des Transaktionsknotens T, der die Datenhoheit aktuell inne hat. Für die Realisierung des Adressgebers A sind unterschiedliche Varianten vorgesehen. Zum einen ist es möglich, dass der Adressgeber A durch den zentralen Wurzelknoten gebildet wird, der in den 1 bis 3 mit der Bezeichnung ”Data Home” gekennzeichnet ist. In diesen Figuren ist diese Variante dargestellt, deshalb fragen auch die anfragenden Systeme X und Y den Wurzelknoten an, um die aktuelle Adresse der Reservierungsschlange Q in Erfahrung zu bringen.The address generator A serves to provide the current address of the reservation queue Q or of the transaction node T, which currently holds the data sovereignty. For the realization of the address generator A different variants are provided. On the one hand, it is possible that the address generator A is formed by the central root node, which in the 1 to 3 labeled "Data Home". In these figures, this variant is shown, therefore the requesting systems X and Y also ask the root node to know the current address of the reservation queue Q.

Alternativ kann der Adressgeber A auch als verteilte Hashtabelle ausgebildet sein.Alternatively, the address generator A can also be designed as a distributed hash table.

In einer dritten Variante ist es möglich, die Funktion des Adressgebers A durch ein Broadcast-Prinzip zu realisieren. Gemäß dieser Variante ist es vorgesehen, dass der jeweils aktuelle Datenherrscherknoten seinen Zustand (Datenhoheit) an alle anderen Transaktionsknoten T sendet, die dem System über das Netzwerk N zugeschaltet sind. Diese dritte Variante entlastet zwar den Wurzelknoten, führt aber nachteiligerweise zu einem erhöhten Netzwerkverkehr, da bei einem Übergang von einem Datenherrscherknoten an den nächsten jeweils eine Vielzahl von Nachrichten ausgetauscht werden müssen. In a third variant, it is possible to realize the function of the address generator A by a broadcast principle. According to this variant, it is provided that the respectively current data controller node sends its state (data sovereignty) to all other transaction nodes T which are connected to the system via the network N. Although this third variant relieves the load on the root node, it disadvantageously leads to increased network traffic since, in the event of a transition from one data node to the next, a large number of messages must be exchanged.

Selbstverständlich liegt es auch im Rahmen der Erfindung, den Adressgeber A als separates Modul auf einem oder auf mehreren ausgewählten Transaktionsknoten T des Systems zu implementieren.Of course, it is also within the scope of the invention to implement the address generator A as a separate module on one or more selected transaction nodes T of the system.

Üblicherweise ist es vorgesehen, dass der Datenbestand nicht fragmentiert ist und somit nicht auf mehrere Transaktionsknoten T verteilt ist. Der Zugriff soll auf diesen Datenbestand sicher ausgeführt werden. Alternativ kann es jedoch auch vorgesehen sein, dass der Datenbestand fragmentiert und damit auf unterschiedliche Transaktionsknoten T verteilt ist. Dann wird das vorstehend beschriebene Verfahren auf die einzelnen Datenfragmente angewendet.Usually, it is provided that the data is not fragmented and thus is not distributed to a plurality of transaction nodes T. The access should be executed safely on this dataset. Alternatively, however, it may also be provided that the data stock is fragmented and thus distributed to different transaction nodes T. Then the method described above is applied to the individual data fragments.

Gemäß einem Aspekt der Erfindung sollen die Operationen, die auf dem Datenbestand ausgeführt werden sollen, transaktional ausgeführt werden. Dabei kann erfindungsgemäß die Datenkonsistenz zugesichert werden, da gewährleistet ist, dass jeweils nur ein Datenherrscherknoten T zu einem Zeitpunkt die Datenhoheit über den Datenbestand hat.According to one aspect of the invention, the operations to be performed on the dataset are to be performed transactionally. In this case, according to the invention, the data consistency can be assured, since it is ensured that in each case only one data host node T has the data sovereignty over the data stock at a time.

Als weiterer Vorteil lässt sich aufführen, dass ein relativ hoher Grad an Serialisierbarkeit ermöglicht wird.Another advantage is that a relatively high degree of serializability is possible.

Eine vorteilhafte Weiterbildung der Erfindung sieht es vor, dass die einzelnen Transaktionen, die auf den Transaktionsknoten T ausgeführt werden, bis zu einem bestimmten vorkonfigurierbaren Zustand rückabgewickelt werden können (rollback). Dazu ist es vorgesehen, dass jeweils eine Kopie des Datenbestandes auf einem Transaktionsknoten T verbleibt, während das Nachrichtenpaket aus Reservierungsschlange Q und Daten D an den nächsten Transaktionsknoten T weitergeleitet wird. Ergibt sich nun bei der weiteren Bearbeitung auf dem nächsten Transaktionsknoten T ein Fehler und wird es deshalb notwendig, die Transaktion rückabzuwickeln, sodass der vorhergehende Zustand des Datenbestandes widerhergestellt werden muss, so kann die Kopie zumindest eines vorhergehenden Transaktionsknotens T verwendet werden. Vorteilhafterweise ist es dabei einstellbar, auf wie vielen vorhergehenden Transaktionsknoten T vor dem jeweils aktuellen Transaktionsknoten T eine Kopie der Daten D verbleiben soll. Wenn beispielsweise die Zahl ”3” als Rollback definiert wird, so verbleibt auf den drei zurückliegenden Transaktionsknoten T jeweils eine Kopie der dort bearbeiteten Daten. Wird die Anzahl überschritten, so können die Daten auf dem jeweiligen Knoten T gelöscht werden.An advantageous development of the invention provides that the individual transactions that are executed on the transaction node T can be rolled back to a certain preconfigurable state (rollback). For this purpose, it is provided that in each case a copy of the data remains on a transaction node T, while the message packet from reservation queue Q and data D is forwarded to the next transaction node T. If an error then arises in the further processing on the next transaction node T and it therefore becomes necessary to rewind the transaction so that the previous state of the data stock must be restored, the copy of at least one preceding transaction node T can be used. Advantageously, it is adjustable on how many previous transaction node T before each current transaction node T a copy of the data D should remain. If, for example, the number "3" is defined as rollback, a copy of the data processed there remains on the three preceding transaction nodes T in each case. If the number is exceeded, the data on the respective node T can be deleted.

In einer anderen, vorteilhaften Weiterbildung der Erfindung ist die Reservierungsschlange Q mit weiteren Funktionen ausgebildet. Dazu umfasst sie weitere Module, die entweder als Mikroprozessorbauteil und/oder als Software-Modul implementiert sein können.In another advantageous development of the invention, the reservation queue Q is designed with additional functions. For this purpose, it comprises further modules which can be implemented either as a microprocessor component and / or as a software module.

So ist ein Priorisierungsmodul dazu ausgebildet, die in der Reservierungsschlange Q eingetragenen Reservierungsanfragen zu priorisieren. Die Parameter zur Priorisierung sind vorzugsweise konfigurierbar. Je nach Implementierung des Warteschlangenmodells können hier unterschiedliche Parameter verwendet werden, so zum Beispiel: Bedienzeit, Anzahl der Bedienstationen, Priorität im Anwendungsprozess etc. Damit wird es möglich, wahlweise, bestimmte Einträge in der Reservierungsschlange Q umzusortieren, um diese gemäß deren Priorität in der Sequenz der Einträge zu sortieren. Die Prioritätskriterien können auch dynamisch, also auch zur Laufzeit, modifiziert werden. Damit wird es vorteilhafterweise möglich, die Zugriffskoordination sehr flexibel auf den Anwendungsfall hin anpassen zu können.Thus, a prioritization module is designed to prioritize the reservation requests entered in the reservation queue Q. The parameters for prioritization are preferably configurable. Depending on the implementation of the queue model, different parameters can be used here, for example: operating time, number of operating stations, priority in the application process, etc. This makes it possible, optionally, to re-sort certain entries in the reservation queue Q according to their priority in the sequence sort the entries. The priority criteria can also be modified dynamically, ie also at runtime. This advantageously makes it possible to adapt the access coordination very flexibly to the application case.

Gemäß einem weiteren Aspekt kann die Warteschlange mit unterschiedlichen Scheduling-Algorithmen betrieben werden. Dazu zählen ein prioritätenbasiertes Scheduling mit statischen oder dynamischen Prioritäten und ein Bedienzeit-basiertes Scheduling (zum Beispiel Shortest Job First – SJF-Scheduling). Bei dieser Strategie ist es vorgesehen, dass der kürzeste Job zuerst gerechnet wird.In another aspect, the queue may be operated with different scheduling algorithms. These include priority-based scheduling with static or dynamic priorities, and service-time-based scheduling (for example, Shortest Job First - SJF scheduling). With this strategy, it is envisaged that the shortest job is calculated first.

Gemäß einer weiteren Variante der Erfindung ist es vorgesehen, dass das Nachrichtenpaket aus Reservierungsschlange Q und dem Datenbestand D noch weitere Daten umfasst, so zum Beispiel Spezifikationen der Prozedur bzw. Methoden, die auf dem Datenbestand auszuführen sind. Ebenso können noch Metainformationen zum Versenden und/oder zum Empfang von Nachrichten übermittel werden.According to a further variant of the invention, it is provided that the message packet comprising the reservation queue Q and the data stock D comprises further data, for example specifications of the procedure or methods which are to be executed on the dataset. Likewise, meta information for sending and / or receiving messages can be transmitted.

Wie vorstehend bereits erwähnt, bestehen für die Implementierung des Warteschlangenmodells unterschiedliche Möglichkeiten. Zur Abarbeitung der Warteschlange kann es auch vorgesehen sein, ein Load-Balancing-Modul zu berücksichtigen. Das Load-Balancing-Modul dient dazu, die Lastverteilung zwischen den einzelnen Transaktionsknoten T zu optimieren und die Datenverarbeitung so zu gestalten, dass möglichst diejenigen Transaktionsknoten T aktiviert werden, die zu dem aktuellen Zeitpunkt keine Überlast fahren. In dieser Variante ist es vorgesehen, dass zusätzlich Lastinformationsnachrichten zwischen den Transaktionsknoten T ausgetauscht werden. Diese Lastinformationsnachrichten kennzeichnen, mit welcher Last der jeweilige Transaktionsknoten T zum jeweiligen Zeitpunkt gerade betrieben wird. In Abhängigkeit von der Knotenbelastung kann dann eine Umorganisation der Reservierungsschlange Q vorgenommen werden.As already mentioned above, there are different possibilities for the implementation of the queue model. To process the queue, it may also be provided to consider a load-balancing module. The load-balancing module serves to optimize the load distribution between the individual transaction nodes T and to design the data processing so that as far as possible Transaction node T are activated, which do not overload at the current time. In this variant, it is provided that additional load information messages are exchanged between the transaction nodes T. These load information messages indicate the load with which the respective transaction node T is currently being operated at the respective time. Depending on the node load then a reorganization of the reservation queue Q can be made.

Gemäß einer weiteren, vorteilhaften Weiterbildung der Erfindung ist es vorgesehen, dass alle oder ausgewählte Zustände der Reservierungsschlange Q vorgehalten werden. Damit wird sozusagen eine persistente Reservierungsschlange Q bereitgestellt. Dies hat den Vorteil, dass bei einem System-Crash auch frühere Zustände der Reservierungsschlange Q bereitgestellt werden können, um den „Weg des Datenbestandes” im Netzwerk zurückverfolgen zu können. An dieser Stelle sei darauf hingewiesen, dass das Ausführungsbeispiel, das in den 1 bis 3 dargestellt ist, lediglich eine Möglichkeit einer Netzwerktopologie darstellt. Die Erfindung ist jedoch nicht auf diese Netzwerktopologie beschränkt und kann auf andere Netzwerkarten und -formen bzw. -architekturen angewendet werden.According to a further advantageous embodiment of the invention, it is provided that all or selected states of the reservation queue Q are kept. This provides a persistent reservation queue Q, so to speak. This has the advantage that, in the event of a system crash, earlier states of the reservation queue Q can also be provided in order to be able to trace back the "path of the data stock" in the network. At this point, it should be noted that the embodiment shown in the 1 to 3 is just one possibility of a network topology. However, the invention is not limited to this network topology and can be applied to other network types and architectures.

Grundsätzlich kann ein Transaktionsknoten T in unterschiedlichen Rollen betrieben werden: Zum Einen als Datenherrscherknoten und zum Anderen als anfragender Transaktionsknoten. Je nach Ausführungsform können noch weitere Rollen vorgesehen sein (z. B. als Wurzelknoten).In principle, a transaction node T can be operated in different roles: on the one hand as a data controller node and on the other hand as a requesting transaction node. Depending on the embodiment, further rollers may be provided (eg as root nodes).

Gemäß einer bevorzugten Ausführungsform der Erfindung ist es vorgesehen, dass ein Netzwerkknoten T in seiner Rolle als anfragender Konten jeweils folgende Schritte ausführt:

  • – Er greift auf den Adressgeber A zu, um den aktuellen Datenherrscherknoten in Erfahrung zu bringen. Dies kann beispielsweise durch Versenden einer Nachricht an den Wurzelknoten ausgeführt werden.
  • – Der anfragende Knoten sendet eine Reservierungsanfrage an den Datenherrscherknoten. Dabei übermittelt er einen Identifikator des anfragenden Knotens bzw. des wartenden Prozesses und möglicherweise noch Zusatzinformationen, wie Lastnachrichten, Metainformationen zur Bedienzeit des anfragenden Systems etc.
According to a preferred embodiment of the invention, it is provided that a network node T carries out the following steps in its role as requesting accounts:
  • - It accesses the address generator A in order to find out the current data controller node. This can be done, for example, by sending a message to the root node.
  • The requesting node sends a reservation request to the data master node. He transmits an identifier of the requesting node or the waiting process and possibly additional information, such as load messages, meta information on the service time of the requesting system, etc.

Gemäß einem Aspekt der Erfindung ist es vorgesehen, dass ein Netzwerkknoten T in seiner Rolle als bearbeitender Knoten bzw. Datenherrscherkonten (wird synonym verwendet zum Begriff „Knoten mit Datenhoheit”) jeweils folgende Schritte ausführt (dabei ist die Reihenfolge der Schritte nicht zwingend vorgegeben sondern kann auch variiert werden):

  • – Er bearbeitet die Daten durch Ausführen von Transkationen.
  • – Er empfängt eine Reservierungsanfrage eines anfragenden Transaktionsknotens und trägt die Reservierungsanfrage gegebenenfalls nach Prüfung auf Zulässigkeit in die Reservierungsschlange Q ein, die lokal vorgehalten wird.
  • – Nach Abarbeitung der Transaktion erfolgt ein Zugriff auf die Reservierungsschlange Q, um den nächsten Transaktionsknoten als Empfänger des Datenpaktes Q, D zu bestimmen.
  • – Das Datenpaket Q, D wird automatisch generiert und an den bestimmten Empfänger (den nächsten Transaktionsknoten T gemäß der Reservierungsschlange Q) weitergeleitet. Optional kann das Datenpaket noch Zusatzinformationen umfassen, wie Lastnachrichten, Metainformationen für bereits erfolgte und/oder noch auszuführende Transaktionen etc.
According to one aspect of the invention, it is provided that a network node T carries out the following steps in its role as processing nodes or data controller accounts (used synonymously for the term "nodes with data sovereignty") (in this case, the order of the steps is not necessarily predetermined but can can also be varied):
  • - He processes the data by executing transactions.
  • - It receives a reservation request from a requesting transaction node and enters the reservation request, if necessary after checking for admissibility in the reservation queue Q, which is held locally.
  • After the transaction has been processed, access is made to the reservation queue Q in order to determine the next transaction node as the recipient of the data packet Q, D.
  • The data packet Q, D is automatically generated and forwarded to the specific receiver (the next transaction node T according to the reservation queue Q). Optionally, the data packet may also include additional information, such as load messages, meta information for already performed and / or yet to be executed transactions, etc.

Dabei werden die Schritte in der bevorzugten Ausführungsform der Erfindung automatisch und ohne Benutzerinteraktion ausgeführt.The steps in the preferred embodiment of the invention are carried out automatically and without user interaction.

Abschließend sei noch darauf hingewiesen, dass die in der vorstehenden Beschreibung genannten unterschiedlichen Ausführungsbeispiele auch kombiniert zur Anwendung kommen können. So können einzelne der erwähnten Aspekte auch kombiniert werden. Darüber hinaus ist es möglich, Teile des Verfahrens zur Koordination von Zugriffen auf einem ersten Transaktionsknoten T1 und andere Teile des Verfahrens auf einem anderen Transaktionsknoten T2 zur Ausführung zu bringen. Somit kann das erfindungsgemäße Verfahren auch als verteiltes System, z. B. nach dem Client-Server-Prinzip, betrieben werden. Die hauptsächliche Anwendung der Erfindung liegt auf dem Gebiet der technischen Betriebsmittel eines Computersystems, die eine Zugriffskoordination erfordern, wie z. B. Drucker, Druckertreiber, Ports, sonstige Schnittstellen, angeschlossene technische Geräte oder Instrumente. Dabei können grundsätzlich Rechner-interne und/oder Rechner-externe Betriebsmittel betroffen sein. Beispielsweise im medizinischen Anwendungsfeld könnten Rechner-externe Betriebsmittel in angeschlossenen Geräten liegen, wie beispielsweise in Bildakquisitionsgeräten (Röntgen, CT, MRT etc.) oder in Laborgeräten oder in Befundungsstationen.Finally, it should be pointed out that the different embodiments mentioned in the above description can also be used in combination. Thus, some of the mentioned aspects can also be combined. In addition, it is possible to implement parts of the method for coordinating accesses on a first transaction node T 1 and other parts of the method on another transaction node T 2 . Thus, the inventive method can also be used as a distributed system, for. B. according to the client-server principle operated. The main application of the invention is in the field of the technical resources of a computer system which require access coordination, e.g. As printers, printer drivers, ports, other interfaces, connected technical equipment or instruments. Basically, computer-internal and / or computer-external resources can be affected. For example, in the medical field of application computer-external resources could be in connected devices, such as in image acquisition devices (X-ray, CT, MRI, etc.) or in laboratory equipment or in diagnostic stations.

Zusammenfassend lässt sich die Erfindung wie folgt in verkürzter Form beschreiben:
Zur Zugriffskoordination auf Betriebsmittel, die von beteiligten Transaktionsknoten T exklusiv oder teilexklusiv reserviert werden müssen, wird eine Reservierungsschlange Q bereitgestellt, die gemeinsam mit dem Datenbestand D im Netzwerk N transferiert wird. Die Reservierungsschlange Q fungiert als dynamischer und dezentraler Zugriffskoordinator.
In summary, the invention can be described in abbreviated form as follows:
For access coordination on resources which have to be reserved exclusively or partially exclusively by participating transaction nodes T, a reservation queue Q is provided which is transferred together with the data stock D in the network N. The reservation queue Q acts as a dynamic and decentralized access coordinator.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

  • TT
    Transaktionsknotentransaction node
    QQ
    Reservierungsschlangereservation queue
    DD
    Daten bzw. DatenbestandData or data stock
    Q, DQ, D
    NachrichtenpaketNews package
    AA
    Adressgeberaddress donor
    X1X1
    Nachricht: Suche nach Adresse von QMessage: Search for address of Q
    X2X2
    Reservierungsanfrage von X → QReservation request from X → Q
    Y1Y1
    Suche nach Adresse Q/RSearch for address Q / R
    Y2Y2
    Reservierungsanfrage von Y → Q/RReservation request from Y → Q / R
    NN
    TCP/IP-NetzwerkTCP / IP network

Claims (10)

Computerbasiertes System zur Zugriffskoordination auf begrenzte Ressourcen in einem verteilten System, bei dem computerbasierte Instanzen über ein Netzwerk (N) miteinander in Datenaustausch stehen, mit: – Einer Vielzahl von Transaktionsknoten (T), wobei ein Transaktionsknoten (T) jeweils eine Transaktion ausführt und dabei die exklusive oder teil-exklusive Hoheit über die zu verarbeitenden Daten (D) hat, – Einer Reservierungsschlange (Q), in der alle Zugriffsanfragen zur exklusiven oder teil-exklusiven Reservierung von Betriebsmitteln eingetragen werden, um den Zugriff zu koordinieren, und die jeweils an dem Transaktionsknoten (T) vorgehalten wird, der aktuell eine Transaktion ausführt und/oder die Hoheit über die zu verarbeitenden Daten (D) hat und die mit den Daten (D) mit-transferiert wird – Zumindest einem Adressgeber (A), der zur Ermittlung einer Adresse bestimmt ist, unter der die Reservierungsschlange (Q) aktuell vorgehalten wird, wobei eine Folge von Transaktionsknoten (T) zur Ausführung einer Transaktion angesprochen wird, wobei die Folge von Transaktionsknoten (T) durch Einträge in der Reservierungsschlange (Q) definiert ist, und wobei die Reservierungsschlange (Q) dynamisch ist und mit den zu verarbeitenden Daten (D) innerhalb der Folge von Transaktionsknoten (T) transferiert wird.Computer-based access coordination system for limited resources in a distributed system where computer-based entities communicate with each other over a network (N), comprising: A plurality of transaction nodes (T), wherein a transaction node (T) carries out a transaction in each case and has the exclusive or partial-exclusive sovereignty over the data (D) to be processed, A reservation queue (Q), in which all access requests for exclusive or partial-exclusive reservation of resources are entered to coordinate the access, and which is respectively kept at the transaction node (T), which is currently executing a transaction and / or the Sovereignty over the data to be processed (D) and which is in-transferred with the data (D) At least one address generator (A), which is intended to determine an address under which the reservation queue (Q) is currently kept, wherein a sequence of transaction nodes (T) is addressed for executing a transaction, the sequence of transaction nodes (T) being defined by entries in the reservation queue (Q), and wherein the reservation queue (Q) is dynamic and is transferred with the data (D) to be processed within the sequence of transaction nodes (T). Computerbasiertes System nach Patentanspruch 1, wobei der Zugriff einen Datenzugriff und/oder einen Betriebsmittelzugriff umfasst.The computer-based system of claim 1, wherein the access comprises data access and / or resource access. Computerbasiertes System nach einem der vorhergehenden Patentansprüche, bei dem das System ein Mechatroniksystem, ein embedded system oder ein software-basiertes System umfasst.A computer based system as claimed in any one of the preceding claims, wherein the system comprises a mechatronic system, an embedded system or a software based system. Computerbasiertes System nach einem der vorhergehenden Patentansprüche, bei dem die zu verarbeitenden Daten (D) mit einem Zugriffskoordinator, insbesondere mit der Reservierungsschlange (Q), transferiert werden.Computer-based system according to one of the preceding claims, wherein the data to be processed (D) with an access coordinator, in particular with the reservation queue (Q), are transferred. Computerbasiertes System nach einem der vorhergehenden Patentansprüche, bei dem der Adressgeber (A) ein zentraler Wurzelknoten oder eine verteilte Hashtabelle ist oder nach einem Broadcastprinzip betrieben wird.Computer-based system according to one of the preceding claims, in which the address generator (A) is a central root node or a distributed hash table or is operated according to a broadcast principle. Computerbasiertes System nach einem der vorhergehenden Patentansprüche, bei dem der Zugriff einen READ-, WRITE- und/oder EXECUTE-Zugriff und/oder andere Zugriffsarten umfasst.Computer-based system according to one of the preceding claims, wherein the access comprises a READ, WRITE and / or EXECUTE access and / or other types of access. Computerbasiertes System nach einem der vorhergehenden Patentansprüche, bei dem die Transaktionsknoten (T) bei Bedarf eine Reservierungsanfrage an den Adressgeber (A) und/oder an einen aktuellen Transaktionsknoten (T) stellen, auf dem zu diesem Zeitpunkt die Reservierungsschlange (Q) vorgehalten wird.Computer-based system according to one of the preceding claims, in which the transaction nodes (T), if necessary, make a reservation request to the address provider (A) and / or to a current transaction node (T) on which the reservation queue (Q) is held at that time. Computerbasiertes System nach einem der vorhergehenden Patentansprüche, bei dem eine Struktur oder eine Hierarchie von Transaktionsknoten (T) bereitgestellt wird, wobei eine Auswahl von Transaktionsknoten (T) jeweils einem Sub-Netzwerk zugeordnet ist und vorzugsweise unabhängig von anderen Sub-Netzwerken verwaltet wird.A computer-based system according to any one of the preceding claims, wherein a structure or hierarchy of transaction nodes (T) is provided, wherein a selection of transaction nodes (T) are each associated with a sub-network and are preferably managed independently of other sub-networks. Verfahren zur Zugriffskoordination auf begrenzte Ressourcen in einem verteilten System, bei dem computerbasierte Instanzen über ein Netzwerk (N) miteinander in Datenaustausch stehen, mit: – Einer Vielzahl von Transaktionsknoten (T), wobei ein Transaktionsknoten (T) jeweils für einen bestimmte Transkation bestimmt ist und dabei die exklusive oder teil-exklusive Hoheit über die zu verarbeitenden Daten (D) hat, – Einer Reservierungsschlange (Q), in der alle Zugriffsanfragen zur exklusiven oder teil-exklusiven Reservierung von Betriebsmitteln eingetragen werden und die jeweils an dem Transaktionsknoten (T) vorgehalten wird, der aktuell die Datenverarbeitung ausführt und/oder die Hoheit über die zu verarbeitenden Daten (D) hat und die mit den Daten (D) mit-transferiert wird, – Zumindest einem Adressgeber (A), der zur Ermittlung einer Adresse bestimmt ist, unter der die Reservierungsschlange (Q) aktuell vorgehalten wird, wobei eine Folge von Transaktionsknoten (T) zur Ausführung einer Transaktion angesprochen wird, wobei die Folge von Transaktionsknoten (T) durch Einträge in der Reservierungsschlange (Q) definiert ist, und wobei die Reservierungsschlange (Q) dynamisch ist und mit den zu verarbeitenden Daten (D) innerhalb der Folge von Transaktionsknoten (T) transferiert wird.A method of access coordination to limited resources in a distributed system where computer-based entities communicate with each other over a network (N), comprising: A plurality of transaction nodes (T), wherein a transaction node (T) is in each case intended for a specific transaction and thereby has the exclusive or partially exclusive sovereignty over the data (D) to be processed, A reservation queue (Q), in which all access requests for exclusive or partially-exclusive reservation of resources are entered and which are respectively kept at the transaction node (T), which currently carries out the data processing and / or the sovereignty over the data to be processed (Q). D) and which is transferred with the data (D), At least one address generator (A), which is intended to determine an address under which the reservation queue (Q) is currently kept, wherein a sequence of transaction nodes (T) is addressed for executing a transaction, the sequence of transaction nodes (T) being defined by entries in the reservation queue (Q), and the reservation queue (Q) being dynamic and containing the data to be processed ( D) within the sequence of transaction nodes (T). Computerprogrammprodukt, das direkt in eine internen Speicher eines digitalen Computers geladen werden kann und Softwarecodeabschnitte umfasst, mit denen die Schritte des Verfahrens gemäß dem vorstehenden Verfahrensanspruch ausgeführt werden, wenn das Computerprogrammprodukt auf einem Computer geladen ist oder ausgeführt wird.Computer program product that can be loaded directly into an internal memory of a digital computer and includes software code sections that perform the steps of the method according to the above method claim when the computer program product is loaded on a computer or is executed.
DE201110006490 2011-03-31 2011-03-31 Computer-based system e.g. mechatronics system, for coordinating access to e.g. printers in distributed network system, has generator for determining address while reservation queue is updated, where queue is transferred with data Withdrawn DE102011006490A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201110006490 DE102011006490A1 (en) 2011-03-31 2011-03-31 Computer-based system e.g. mechatronics system, for coordinating access to e.g. printers in distributed network system, has generator for determining address while reservation queue is updated, where queue is transferred with data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201110006490 DE102011006490A1 (en) 2011-03-31 2011-03-31 Computer-based system e.g. mechatronics system, for coordinating access to e.g. printers in distributed network system, has generator for determining address while reservation queue is updated, where queue is transferred with data

Publications (1)

Publication Number Publication Date
DE102011006490A1 true DE102011006490A1 (en) 2012-10-04

Family

ID=46844778

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201110006490 Withdrawn DE102011006490A1 (en) 2011-03-31 2011-03-31 Computer-based system e.g. mechatronics system, for coordinating access to e.g. printers in distributed network system, has generator for determining address while reservation queue is updated, where queue is transferred with data

Country Status (1)

Country Link
DE (1) DE102011006490A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016006111A1 (en) 2016-05-18 2017-11-23 John Philipp de Graaff The present invention relates to a method of universally connecting multiple forms of queues for data (queues) to one. Thus, the same data space can be used for multiple queues, preferably for an input and output queue and thereby assume a FIFO or an optional output behavior

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016006111A1 (en) 2016-05-18 2017-11-23 John Philipp de Graaff The present invention relates to a method of universally connecting multiple forms of queues for data (queues) to one. Thus, the same data space can be used for multiple queues, preferably for an input and output queue and thereby assume a FIFO or an optional output behavior

Similar Documents

Publication Publication Date Title
DE102016103733B4 (en) Channel ownership in a publish / subscribe system
DE60008555T2 (en) METHOD AND DEVICE FOR EFFICIENTLY TRANSMITTING DATA FROM AN INTERACTIVE APPLICATION BETWEEN CLIENTS AND SERVER BY MEANS OF A MARKUP LANGUAGE
DE60133648T2 (en) SYSTEM AND METHOD FOR LEADING RUNTIME DATA IN A SERVER NETWORK
EP2555489B1 (en) Method and device for configuring terminals
DE112020005786T5 (en) SYSTEMS AND METHODS TO ENABLE HIGH-AVAILABILITY MANAGED FAILURE SERVICE
DE602005004334T2 (en) Nms for processing multi-server events
DE112012002631T5 (en) Stream processing using a client-server architecture
DE102004010180A1 (en) Methods and devices for accessing distributed data for process control systems
DE102019103927A1 (en) Systems and methods for performing a security protocol in an execution plan controlled by hierarchical state machines
DE102015215480A1 (en) Method and device for transmitting a message in a vehicle
DE112015003926T5 (en) Publish / subscribe messaging using a message structure
DE112020006047T5 (en) CONTROLLING TRANSACTION REQUESTS BETWEEN APPLICATIONS AND SERVERS
DE112013003300T5 (en) Gradual preparation of videos on the delivery
DE112020004353T5 (en) GLOBAL TABLE MANAGEMENT OPERATIONS FOR REPLICATED MULTI-REGIONAL TABLES
DE102014201948B4 (en) Method for data transmission, communication network and vehicle
DE102004030781A1 (en) SCADA system for process monitoring and data handling has client server arrangement providing low data transmission loads
DE102018219070B3 (en) Transfer a data record and provide data transfer information
DE102011006490A1 (en) Computer-based system e.g. mechatronics system, for coordinating access to e.g. printers in distributed network system, has generator for determining address while reservation queue is updated, where queue is transferred with data
DE202013012473U1 (en) communication system
DE19943453A1 (en) System and method to support group interaction (GIA) in hypermedia information spaces
DE112011104020T5 (en) Validate access to a shared record for read and write access by multiple requestors
DE102012210064A1 (en) Manage events generated from business objects
EP3028182B1 (en) Method and system for synchronising data
DE10244459A1 (en) Method for control of application process in distributed system e.g. for sequencing computer software applications, uses system having second layer as micro-kernel based client/server
DE112013002191B4 (en) Message processing in a data processing system

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: SIEMENS HEALTHCARE GMBH, DE

Free format text: FORMER OWNER: SIEMENS AKTIENGESELLSCHAFT, 80333 MUENCHEN, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee