Sign up
Title:
METHOD AND SYSTEM FOR USING TEMPORARY EXCLUSIVE BLOCKS FOR PARALLEL ACCESSES TO OPERATING MEANS
Kind Code:
A1
Abstract:
The invention relates to a computer-implemented method, a computer-implemented system and a computer program product for controlling the access to splittable resources in a distributed client server system operating in parallel. The resource control system is designed for a plurality of clients (C) connected to the system and is used to maintain consistency of the data. When a client (C) makes a first attempt to access a resource of the server (S), an exclusive lock for the requested resource is allocated to the accessing client (C), that blocks the access to the resource for other clients (C), said exclusive lock only being allocated for a pre-determinable period of time and then automatically discontinued.


Inventors:
HEIDENREICH, Georg (Eifelweg 22, Erlangen, 91056, DE)
JAREMEK, Marta (Dr. Carlo-Schmid-Str. 56, Nürnberg, 90491, DE)
LEETZ, Wolfgang (Ringstraße 24, Uttenreuth, 91080, DE)
Application Number:
EP2010/063324
Publication Date:
03/24/2011
Filing Date:
09/10/2010
Assignee:
SIEMENS AKTIENGESELLSCHAFT (Wittelsbacherplatz 2, München, 80333, DE)
HEIDENREICH, Georg (Eifelweg 22, Erlangen, 91056, DE)
JAREMEK, Marta (Dr. Carlo-Schmid-Str. 56, Nürnberg, 90491, DE)
LEETZ, Wolfgang (Ringstraße 24, Uttenreuth, 91080, DE)
International Classes:
G06F9/46
View Patent Images:
Foreign References:
200300934572003-05-15
200302172412003-11-20
67757032004-08-10
Other References:
IRWIN D ET AL: "Sharing Networked Resources with Brokered Leases", PROCEEDINGS OF THE 2006 USENIX ANNUAL TECHNICAL CONFERENCE, MAY 30 - JUNE 3, 2006, BOSTON, MA, USA, USENIX ASSOCIATION, BERKELEY, CA, USA, 30. Mai 2006 (2006-05-30), Seiten 199-212, XP001556112,
Boichat R, Dutta P, Guerraoui R: "Asynchronous leasing", Object-Oriented Real-Time Dependable Systems, 2002. (WORDS 2002). Proceedings of the Seventh International Workshop, 7. August 2002 (2002-08-07), 9. August 2002 (2002-08-09), Seiten 180-187, XP002619912, San Diego, CA , USA DOI: 10.1109/WORDS.2002.1000051 ISBN: 0-7695-1576-2 Gefunden im Internet: URL:http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1000051 [gefunden am 2011-01-12]
None
Attorney, Agent or Firm:
SIEMENS AKTIENGESELLSCHAFT (Postfach 22 16 34, München, 80506, DE)
Claims:
Computer-implementiertes Verfahren zur Steuerung von Zu¬ griffen auf teilbare Ressourcen in einem verteilten Client-Serversystem im Parallelbetrieb, wobei die Steue¬ rung zentral für eine Vielzahl von an das System angeschlossenen Clients (C) ausgeführt wird und zur Konsis¬ tenzhaltung der Daten folgende Verfahrensschritte um- fasst :

Erfassen eines Zugriffes eines zugreifenden Client (C) auf eine der Ressourcen;

Zuweisen eines exklusiven Locks für die Ressource für den zugreifenden Client (C) , wobei der exklusive Lock Zugriffe von anderen Clients (C) auf die Ressource sperrt, wobei der exklusive Lock für ein vorbestimmbares Zeitintervall zugewiesen wird und danach auto¬ matisch ausläuft.

Verfahren nach Anspruch 1, d a du r c h g e k e n n z e i ch n e t , da s s der Zugriff ein READ, WRITE, EXE, LIST und/oder QUERY Zugriff ist.

Verfahren nach zumindest einem der vorstehenden Ansprüche, d a du r ch g e k e n n z e i ch n e t , d a s s die Ressource externe oder interne Betriebsmittel, Da¬ tenspeicher, elektronische Objekte und/oder Kommunikati¬ onsmittel, sowie elektronische Repräsentationen logi¬ scher und/oder physikalischer Ressourcen umfasst.

Verfahren nach zumindest einem der vorstehenden Ansprüche, d a du r ch g e k e n n z e i ch n e t , d a s s eine Kommunikation zwischen dem Client (C) und dem Server (S) auf einem asynchronen Protokoll (P) basiert.

Verfahren nach zumindest einem der vorstehenden Ansprüche, d a du r ch g e k e n n z e i ch n e t , d a s s der exklusive Lock bei einem ersten Zugriff oder bei ei- nem ersten Zugriffsversuch auf die Ressource zugewiesen wird .

Verfahren nach zumindest einem der vorstehenden Ansprüche, d a du r ch g e k e n n z e i ch n e t , d a s s der Server (S) eine NOTIFICATION Nachricht an den Client (C) sendet, dem der exklusive Lock zugewiesen worden ist, um den Client (C) zu informieren, dass der exklusi¬ ve Lock nach einem vorbestimmbaren Zeitintervall ausläuft .

Verfahren nach zumindest einem der vorstehenden Ansprüche, d a du r ch g e k e n n z e i ch n e t , d a s s der Server (S) eine ALERT Nachricht an den Client (C) sendet, um den Client (C) , dem der exklusive Lock zu ei¬ nem vorherigen Zeitpunkt einmal zugewiesen worden war, der aber inzwischen bereits ausgelaufen ist, zu informieren, falls einem anderen Client (C) ein exklusiver Lock auf die bestimmte Ressource zugewiesen worden ist.

Verfahren nach zumindest einem der vorstehenden Ansprüche, d a du r ch g e k e n n z e i ch n e t , d a s s der Server (S) ein REGAIN für einen exklusiven Lock einer Ressource für einen Client (C) ermöglicht, falls die angefragte Ressource früher für den Client (C) mit einem exklusiven Lock gesperrt worden war und falls der Client (C) auf diese Ressource zugreifen möchte.

Verfahren nach zumindest einem der vorstehenden Ansprüche, d a du r ch g e k e n n z e i ch n e t , d a s s der Server (S) ein UPDATE an den Client in Bezug auf die Ressource sendet als Antwort auf ein REGAIN oder eine REGAIN Anfrage des Clients (C) für dieselbe Ressource, wobei das UPDATE alle Änderungen umfasst, die in einem Zeitraum zwischen Auslaufen des vorhergehenden exklusiven Locks und dem Zuweisen des nachfolgenden exklusiven Locks für den Client (C) an der Ressource ausgeführt worden sind.

10. Verfahren nach zumindest einem der vorstehenden Ansprüche, d a du r ch g e k e n n z e i ch n e t , d a s s der Client (C) ein RELEASE für die Ressource an den Server (S) sendet, falls seitens des Clients (C) keine Än¬ derungen an der Ressource oder kein Schreib-Zugriff auf die Ressource ausgeführt werden soll, so dass der Server (S) daraufhin den exklusiven Lock für den Client (C) in Bezug auf die Ressource aufhebt.

11. Verfahren nach zumindest einem der vorstehenden Ansprüche, d a du r ch g e k e n n z e i ch n e t , d a s s das vorbestimmbare Zeitintervall in Abhängigkeit von ei¬ nem Typ der Ressource, von einem Typ des Zugriffs und/oder von anderen Parametern automatisch vorbestimmbar ist und optional dem Client (C) als Zusatzinformati¬ on mitgeliefert wird.

12. System zur Steuerung von Zugriffen auf teilbare Ressourcen in einem verteilten Client-Serversystem im Parallelbetrieb, wobei die Steuerung zentral für eine Vielzahl von an das System angeschlossenen Clients (C) ausgeführt wird und zur Konsistenzhaltung der Daten folgendes um- fasst :

Ein Erfassungsmodul, das zum Erfassen eines Zugriffes zumindest eines zugreifenden Client (C) auf eine der Ressourcen bestimmt ist;

Ein Zuweisungsmodul, das zum Zuweisen eines exklusi¬ ven Locks für die Ressource für den zugreifenden Client (C) bestimmt ist, wobei der exklusive Lock Zu¬ griffe von anderen Clients (C) auf die Ressource sperrt und wobei der exklusive Lock für ein vorbe¬ stimmbares Zeitintervall zugewiesen wird und danach automatisch ausläuft.

13. Computerprogrammprodukt ladbar oder geladen in einen

Speicher eines Computers mit von dem Computer lesbaren Befehlen zur Ausführung des Verfahrens nach den Patent- ansprüchen 1 bis 11, wenn die Befehle auf dem Computer ausgeführt werden.

Description:
Beschreibung

Verfahren und System zur Verwendung von temporären exklusiven Sperren für parallele Betriebsmittelzugriffe

Die vorliegende Erfindung liegt auf dem Gebiet der Informatik und betrifft insbesondere die Steuerung von Zugriffen auf teilbare Ressourcen in einem verteilten computer-basierten System. Ein hauptsächliches Anwendungsgebiet kann die

Medizintechnik sein, z. B. die Steuerung von Magnetresonanz- Tomographen, Computer-Tomographen oder sonstigen

medizintechnischen Anlagen oder Peripheriegeräten, wie

Drucker, Speicher, spezielle Hardware-Einheiten oder

dergleichen. Die Erfindung liegt somit auf Betriebssystem- Ebene und betrifft die Steuerung von Zugriffen auf

Ressourcen. Bei den Zugriffen kann es sich auch um so

genannte konkurrierende Zugriffe handeln, so dass bei einem Fehlschlagen einer entsprechenden Zugriffssteuerung eine so genannte Verklemmung (Deadlock) eintritt, was insgesamt auf einen Fehler läuft und von daher ausgeschlossen werden soll.

Bei den Betriebsmitteln kann es sich um Hardware-Komponenten und/oder um Software-Komponenten handeln, die grundsätzlich auch gleichzeitig von unterschiedlichen computer-basierten Einheiten oder Clients genützt werden können.

Werden beispielsweise bei dem Zugriff Daten verändert (z. B. durch einen WRITE-Zugriff) ist es wichtig, sicherzustellen, dass die Daten konsistent gehalten werden.

Im Stand der Technik ist es bekannt, so genannte exklusive Locks oder exklusive Sperren zu setzen, um bei konkurrierenden Zugriffen auf Betriebsmittel eine konsistente Datenhal¬ tung sicherzustellen. Die exklusiven Sperren werden über ei- nen zentralen Server verwaltet, der üblicherweise ebenfalls ein Speichern und Zugreifen auf die Ressourcen steuert. Möchte ein Client dabei auf eine Ressource zugreifen, so ist es zwingend erforderlich, dass er einen exklusiven Lock erhält, um daraufhin auf die Ressource (z. B. schreibend) zugreifen zu können. Durch das Zuweisen des exklusiven Locks wird sichergestellt, dass ausschließlich der anfragende Client auf das Betriebsmittel zugreifen kann, so dass es nicht zu inkon- sistenten Datensätzen kommen kann, falls gleichzeitig oder in einem zeitlichen Überschneidungsbereich ein anderer Client auf dieselbe Ressource zugreifen möchte. Als typisches Bei¬ spiel für einen Zugriff auf eine Ressource dient ein Schreib- Zugriff auf Datensätze einer Speicherressource. Üblicherweise ist es sichergestellt, dass pro Ressource zu einem gegebenen Zeitpunkt nur ein exklusiver Lock an ausschließlich einen Client zugewiesen werden kann. Da ein Lese-Zugriff die Daten grundsätzlich nicht verändert, können mehrere gleichläufige Lese-Zugriffe zugelassen werden, ohne dass jeweils ein exklu- siver Lock zugewiesen werden muss. Je nach Betriebssystem oder Implementierung kann es jedoch sein, dass einem Lese- Zugriff ebenfalls ein Lock zugewiesen wird, allerdings kein exklusiver Lock, sondern ein nicht-exklusiver Lock. Das System der Zuweisung von Locks für das Sicherstellen einer kon- sistenten Datenhaltung erfolgt, damit gleichläufige Zugriffe nach einem strengen Sequenzialisierungsschema serialisiert werden .

Ein grundsätzlicher Nachteil von Systemen aus dem Stand der Technik, die mit dem Zuweisen von exklusiven Sperren

arbeiten, ist jedoch darin zu sehen, dass damit deutliche Performance-Einbußen hingenommen werden müssen, da die anfragenden Clients grundsätzlich auf das Zuweisen bzw.

Freiwerden der exklusiven Sperren warten müssen. Darüber hinaus kann es passieren, dass exklusive Locks "verloren" gehen, indem aufgrund anderweitiger Fehler die Freigabe einer exklusiven Sperre nicht erfolgt. Das Konzept der exklusiven Sperren ist aber ein weitläufig eingesetztes

Betriebssystemmittel, um Zugriffe auf Datensätze (wie z. B. Textdokumente oder dergleichen), zählbare Ressourcen (wie z. B. Speicherplatz, Input-/Output-Kanäle etc.) oder andere Ressourcen, die computer-basiert verwaltet werden (wie z. B. das Buchen von Hotels, von Mietwagen, von Flugzeug- Sitzplätzen oder von Herstellungseinrichtungen von logistischen Einheiten etc.) zu steuern.

Im Stand der Technik greift man dabei insbesondere auf zwei Strategien zurück:

1. - "Many early locks":

Bei dieser Strategie handelt es sich um einen Ansatz, eine exklusive Sperre bereits sehr früh zu setzen und in all jenen Situationen, bei denen grundsätzlich die Möglichkeit besteht, dass Datensätze modifiziert werden. Dabei wird üblicherweise eine exklusive Sperre unabhängig von einem Zugriffstyp (z. B. Lese- Zugriff, Schreib-Zugriff, Ausführzugriff etc.) auf die Datensätze gesetzt. Der Nachteil dieses Ansatzes ist darin zu sehen, dass ein Client möglicherweise sehr lange warten muss, bevor er einen unkritischen Lese-Zugriff auf den Inhalt von angefragten

Datensätzen erhält. Demnach wird bei diesem Ansatz mehr Wert auf die Konsistenzhaltung der Daten gelegt, als auf eine Verarbeitungsgeschwindigkeit.

2. - "Lock little, lock late":

Bei dieser Strategie wird versucht, exklusive Sperren möglichst wenig und möglichst spät zu setzen. Üblicherweise wird eine exklusive Sperre auf einen Datensatz, der von einem Client bearbeitet wird, erst dann gesetzt, wenn der Client auch tatsächlich den Inhalt des Datensatzes verändern möchte. Nachteil dieses Ansatzes ist, dass ein anderer Client, der lediglich einen Lese-Zugriff auf die Daten ausführen möchte, möglicherweise einen veralteten

(inkonsistenten) Datensatz sieht, für den nämlich ein anderer Client parallel eine exklusive Sperre zum Ändern der jeweiligen Daten besitzt. Dieser Ansatz favorisiert den Geschwindigkeitsaspekt vor dem Konsistenzaspekt . In kritischen Systemen (z. B. Verkehrssteuerungssystemen, bei denen die Konsistenzhaltung der Daten eine besonders wichtige Rolle spielt) wird die erstere der beiden vorstehend

erwähnten Strategien ("Many early Locks") allein aus

Sicherheitsgründen häufiger gewählt. Bei nicht-kritischen Anwendungen und der Verwendung von asynchronen Protokollen, wie z. B. dem Internet, wird häufiger die zweite "Lock little - lock late"-Strategie eingesetzt, um ein möglichst

hochperformantes System bereitstellen zu können.

Ausgehend von dem vorstehend erwähnten Stand der Technik hat sich die vorliegende Erfindung zur Aufgabe gestellt, eine Möglichkeit aufzuzeigen, mit der eine Zugriffssteuerung auf teilbare Ressourcen in einem computer-basierten System zur Konsistenzhaltung der Daten speziell bei dem Einsatz von asynchronen Protokollen verbessert werden kann.

Die Aufgabe wird durch die beiliegenden unabhängigen

Patentansprüche gelöst, insbesondere durch ein computer- implementiertes Verfahren, durch ein Zugriffssteuerungssystem und durch ein Computerprogrammprodukt.

Nachstehend wird die Lösung der Aufgabe in Bezug auf das be¬ anspruchte Verfahren beschrieben. Hierbei erwähnte Merkmale, Vorteile oder alternative Ausführungsformen sind ebenso auch auf die anderen beanspruchten Gegenstände zu übertragen und umgekehrt. Mit anderen Worten können die gegenständlichen Ansprüche (das System und das Computerprogrammprodukt) auch mit den Merkmalen, die in Zusammenhang mit dem Verfahren be- schrieben oder beansprucht sind, weitergebildet sein. Dabei werden die funktionalen Merkmale des Verfahrens durch ent¬ sprechende gegenständliche Module, insbesondere durch Hard¬ ware-Module, ausgebildet. Ein wesentlicher Grundgedanke der vorliegenden Erfindung ist darin zu sehen, die vorstehend erwähnten Strategien zur Konsistenzhaltung von Daten, wie sie im Stand der Technik bekannt sind, für den Einsatz von asynchronen Protokollen wei- ter zu entwickeln und zu verbessern. Dabei soll eine exklusi¬ ve Sperre unter bestimmten Bedingungen zugewiesen werden. Gemäß einem Aspekt handelt es sich bei einer Bedingung um einen Zeitaspekt, so dass eine zugewiesene exklusive Sperre automa- tisch nach einem vorbestimmten Zeitintervall wieder ausläuft. Alternative Ausführungsformen der Erfindung sehen hier andere Auslaufbedingungen vor, die z.B. ereignisabhängig, zugriffsabhängig oder zugriffsartanhängig oder client-abhängig sind. Ein besonderer Vorteil der erfindungsgemäßen Lösung ist darin zu sehen, dass sie spezifisch für asynchrone Protokolle zuge¬ schnitten ist, bei denen kein „ENDE" oder „ABBRUCH" als Teil des Protokolls vorgesehen ist, bei denen aber durchaus paral¬ lel mehrere asynchrone Verbindungen aktiviert bzw. im Einsatz sein können. Bei den asynchronen Protokollen ist - im Unterschied zu den synchronen - keine enge Kopplung der Kommunika¬ tionspartner vorgesehen.

Gemäß einem Aspekt der Erfindung wird die vorstehend erwähnte Aufgabe durch ein computer-implementiertes Verfahren zur

Steuerung von Zugriffen oder Zugriffsversuchen auf teilbare Ressourcen in einem verteilten Client-Serversystem im Parallelbetrieb gelöst, wobei die Steuerung zentral für eine Viel¬ zahl von an das System angeschlossenen Clients ausgeführt wird und zur Konsistenzhaltung der Daten folgende Verfahrens¬ schritte umfasst:

Erfassen eines Zugriffes oder eines Zugriffsversuches eines zugreifenden Clients auf eine Ressource;

- Zuweisen eines exklusiven Locks für die Ressource für den zugreifenden Client, wobei der exklusive Lock Zu¬ griffe von anderen Clients auf diese (dieselbe) Ressour¬ ce sperrt, wobei der exklusive Lock für ein vorbestimmbares Zeitintervall zugewiesen wird und danach automa- tisch ausläuft.

Gemäß einem Aspekt der Erfindung wird der exklusive Lock also nur für ein bestimmtes Zeitintervall zugewiesen. Nach Ablauf des vorbestimmbaren Zeitintervalls wird die Ressource automa¬ tisch wieder freigegeben, so dass sie auch für andere anfragende Clients verfügbar wird. Damit kann verhindert werden, dass einmal zugewiesene Locks im System durch anderweitige Fehler "verloren gehen".

Erfindungsgemäß werden Zugriffe eines Clients auf eine Res¬ source erfasst. Gemäß einem Aspekt der Erfindung werden konkrete Zugriffe, wie z. B. ein Schreib-, Lese-, EXE-Zugriff erfasst. Gemäß einem anderen Aspekt der Erfindung werden zusätzlich nicht nur die direkten Zugriffe erfasst, sondern es werden bereits Zugriffsversuche erfasst. Darunter sind Anfra¬ gen oder Aufträge zu verstehen, die von Applikationen

und/oder Clients abgesetzt werden und in der Regel über das Betriebssystem an die angefragte Ressource zur Ausführung weitergegeben werden. Bei einem Zugriffsversuch ist der Zugriff noch nicht direkt oder unmittelbar erfolgt, sondern in Planung . Bei den Ressourcen handelt es sich um externe oder interne

Betriebsmittel eines computer-basierten Systems. In der Regel handelt es sich um Datenspeicher und der Zugriff ist ein Daten verarbeitender Zugriff (z. B. WRITE, EXE, LIST, QUERY). Alternativ können jedoch auch andere computer-basierte Res¬ sourcen umfasst sein, wie elektronische Objekte und/oder Kom¬ munikationsmittel (wie Ports, Kommunikationskanäle, Netzwerk¬ zugänge etc.) sowie elektronische Repräsentationen logischer und/oder physikalischer Ressourcen. Unter der letzten Alter- native sind beispielsweise elektronische Repräsentationen ex¬ terner logischer oder physikalischer Ressourcen, wie etwa Hotelzimmer, Gleisabschnitte, Sitze in einem Flugzeug, etc. zu verstehen. Der entsprechende Zugriff erfolgt dann üblicherweise im Rahmen einer Buchung (z. B. eines Hotelzimmers oder eines Flugzeugsitzplatzes etc.) . Bei den Ressourcen kann es sich grundsätzlich um Hardware- und/oder um Software- Komponenten handeln, die exklusiv und gleichzeitig nutzbar sind. Darüber hinaus können die Ressourcen grundsätzlich ent- ziehbar (preemptive/unterbrechbar) oder nicht-entziehbar (non-preemptive) sein.

Unter dem Begriff "verteiltes Client-Serversystem" soll im Rahmen dieser Erfindung ein computer-basiertes System verstanden werden, bei dem unabhängige computer-basierte Instan¬ zen über ein Netzwerk zusammengeschlossen werden. Bei den computer-basierten Instanzen kann es sich um eigenständige Computer und um Prozesse und/oder um Prozessoren eines Compu- ters handeln. Das System basiert grundsätzlich auf dem

Client-Serverkonzept, bei dem ein computer-basierter Client die Erledigung einer Aufgabe vom computer-basierten Server anfordern kann. Die erfindungsgemäße Lösung kann jedoch auch auf andere Systeme, als klassische Client-Server Systeme an- gewendet werden, bei denen eine zentrale Instanz die Rolle

/Funktionalität des Servers einnimmt. Ein Client kann demnach ein beliebiges informationstechnologisches System sein, das auf Ressourcen des Client-Serversystems zugreifen möchte. Ein Client kann dabei eine geteilte Funktionalität haben. Ein Client kann auch für andere Funktionen und/oder Daten die Rolle des Servers einnehmen, während ein anderer Teil die Client-Funktionalität abbildet. Entsprechendes gilt für den Server, so dass ein Server gemäß einem Hauptaspekt die Anfra¬ gen der Clients abarbeitet und gemäß einem weiteren Aspekt seinerseits ebenfalls wieder als Client agieren kann. Übli¬ cherweise ist eine zentrale Instanz vorgesehen, die als sepa¬ rate Steuerungsinstanz an das Client-Serversystem angeschlossen ist oder die in dem Server implementiert ist, und als Verwaltungsinstanz dient, um einen sicheren und konsistenten Zugriff auf die teilbaren Ressourcen sicherzustellen.

Das erfindungsgemäße Konzept ist grundsätzlich nicht auf eine bestimmte Art von Zugriffen oder Ressourcen beschränkt, so dass das Konzept auf unterschiedlichste Arten von Client- Serversystemen angewendet werden kann, wie beispielsweise auf Mail-Server, Web-Server, Anwendungsserver, Datenbankserver mit den jeweiligen Applikationen, Programmen, Services und/oder Diensten. Ebenfalls ist das erfindungsgemäße Konzept grundsätzlich unabhängig vom Inhalt der jeweiligen Funktionen bzw. Funktionalitäten und kann auf beliebige Client- Serversysteme angewendet werden (wie beispielsweise medizin¬ technische Systeme, Systeme in der Produktions- und/oder Fer- tigungssteuerung, Buchungssysteme, Planungssysteme, Verkehrs¬ sicherheitssysteme etc.).

Vorteilhafterweise ist die Art des jeweiligen Zugriffes nicht beschränkt. Gemäß einem Aspekt der Erfindung kann es sich bei dem Zugriff somit um einen READ-, WRITE-, EXE-, LIST- und/oder QUERY-Zugriff handeln. Dabei handelt es sich bei dem READ-Zugriff und bei dem WRITE-Zugriff um einen Lese-Zugriff und entsprechend um einen Schreib-Zugriff auf Datensätze, die im System abgelegt sind. Der EXE-Zugriff soll eine ausführba- re Datei ausführen und die LIST- und QUERY-Zugriffe dienen zur Auflistung und zur Suche von Datensätzen in einer Dateistruktur oder in einer Datenbank. Ein wichtiger Vorteil in diesem Zusammenhang ist auch darin zu sehen, dass das erfindungsgemäße Konzept grundsätzlich unabhängig von der Imple- mentierung des Betriebssystems ist und insbesondere davon, ob ein wahlfreier oder ein sequenzieller Zugriff auf die Speicher oder Laufwerke des Computersystems vorgesehen ist.

Gemäß einer vorteilhaften Weiterbildung der Erfindung basiert die Kommunikation zwischen dem Client und dem Server auf einem asynchronen Protokoll. Dies hat den Vorteil, dass eine Datenübertragung grundsätzlich nicht an ein vorgegebenes Taktsignal oder an einen vorgegebenen Takt ausgerichtet sein muss. Mit anderen Worten können die Anfragen der Clients an den Server und die jeweiligen Antworten der Server an die

Clients zu beliebigen Zeitpunkten ausgeführt werden. Es ist für die Ausführung der Erfindung somit vorteilhafterweise keine Bedingung, dass zwischen dem Client und dem Server gleiche Taktfrequenzen zur Kommunikation ausgehandelt werden müssen.

Gemäß einem Aspekt der Erfindung wird der exklusive Lock grundsätzlich bei einem ersten Zugriff oder bei einem ersten Zugriffsversuch auf die Ressource zugewiesen. Dies hat den Vorteil, dass jeder Zugriff bzw. jeder Zugriffsversuch eines Clients auch möglichst schnell bedient und abgearbeitet wer¬ den kann. Darüber hinaus kann die Anzahl von Zugriffsversu- chen auf nicht verfügbare Ressourcen minimiert werden.

Im Folgenden werden eine Reihe von Benachrichtigungen oder Messages beschrieben, die gemäß einem Aspekt der Erfindung automatisch generiert werden. Damit können zusätzliche Steue- rungsmöglichkeiten für den Client und für den Server bereitgestellt werden.

Gemäß einem weiteren Aspekt der Erfindung ist es vorgesehen, dass der Server eine NOTIFICATION-Nachricht an den Client sendet, dem der exklusive Lock zugewiesen worden ist, um den Client und/oder um einen User des Clients zu informieren, dass der zugewiesene exklusive Lock nach einem Zeitintervall, das vorbestimmbar ist, ausläuft. Dieses Merkmal dient zur Be¬ reitstellung von Zusatzinformationen für den Client. Der Client ist somit in der Lage, seine Prozesse in der ihm zur

Verfügung stehenden Zeit (Zeit des exklusiven Locks) zu steuern .

Gemäß einem weiteren Aspekt der vorliegenden Erfindung sendet der Server eine ALERT-Nachricht an den Client, um den Client zu informieren, falls einem anderen Client ein exklusiver Lock auf die jeweilige Ressource zugewiesen worden ist. Dabei wird die ALERT-Nachricht an den Client gesendet, dem der ex¬ klusive Lock zu einem vorherigen Zeitpunkt einmal zugewiesen worden war, wobei dieser exklusive Lock inzwischen aber bereits ausgelaufen ist. Dieses Merkmal birgt den Vorteil, dass ein Client dem einmal aufgrund eines Zugriffs auf eine Res¬ source ein exklusiver Lock zugewiesen worden war, stets darüber informiert wird, dass nun ein anderer Client auf diese Daten zugreifen möchte. Er wird damit automatisch über die Gefahr oder Möglichkeit der Datenveränderung informiert.

Gemäß einem weiteren Aspekt der Erfindung ist es vorgesehen, dass der Server ein REGAIN für einen exklusiven Lock einer Ressource für einen Client ermöglicht. Dies soll insbesondere dann der Fall sein, wenn dem jeweiligen Client zu einem früheren Zeitpunkt ein exklusiver Lock für die jeweilige Res- source zugewiesen worden war, und der Client nun erneut auf diese Ressource zugreifen möchte. Dies hat den Vorteil, dass wiederholte Zugriffe eines Clients auf die jeweilige Ressour¬ ce mit erhöhter Priorität abgearbeitet werden können. Untergeordnete Priorität haben dann solche Zugriffsversuche, die grundsätzlich zum ersten Mal ausgeführt werden sollen.

Gemäß einem weiteren Aspekt der Erfindung ist es vorgesehen, dass der Server ein UPDATE an den Client in Bezug auf die Ressource sendet. Das UPDATE wird als Antwort auf ein REGAIN oder eine REGAIN-Anfrage des Clients für dieselbe Ressource gesendet, wobei das UPDATE alle Änderungen umfasst, die in einem Zeitraum zwischen dem Auslaufen des vorhergehenden exklusiven Locks und dem Zuweisen des nachfolgenden exklusiven Locks für den Client an der Ressource ausgeführt worden sind.

Vorteilhafterweise wird damit ein Mechanismus geschaffen, mit dem alle Änderungen zwischen zwei aufeinanderfolgende Zugriffe jeweils eines Clients auf jeweils eine Ressource leicht erfasst werden können.

Gemäß einem weiteren Aspekt der Erfindung sendet der Client ein RELEASE für die Ressource an den Server, falls seitens des Clients keine Änderung an der Ressource oder kein

Schreib-Zugriff auf die Ressource ausgeführt werden soll, so dass der Server daraufhin den exklusiven Lock für den Client in Bezug auf die Ressource auflöst. Damit kann vorteilhafter¬ weise sichergestellt werden, dass unnötige exklusive Locks möglichst frühzeitig aufgelöst bzw. beendet werden. Gemäß einem weiteren Aspekt ist es vorgesehen, dass das vorbestimmbare Zeitintervall in Abhängigkeit von einem Typ der Ressource, von einem Typ des Zugriffs und/oder von anderen Parametern automatisch vorbestimmbar ist und optional dem Client als Zusatzinformation mitgeliefert wird. Damit ent¬ steht der Vorteil, dass der Client mit weiteren Meta¬ Informationen in Bezug auf seinen Zugriff unterstützt wird, die ihm automatisch bereitgestellt werden.

Der Begriff "Typ der Ressource" meint hier die unterschiedli¬ chen, vorstehend erwähnten Ressourcenarten, wie Datenspeicher, Software- und/oder Hardware-Komponenten oder alle Arten von unterschiedlichen Betriebsmitteln eines computer- basierten Systems, sowie elektronische Repräsentationen von physikalischen Instanzen (z. B. in einem Buchungssystem).

"Typ des Zugriffs" meint in diesem Zusammenhang die unterschiedlichen Zugriffskategorien, wie z. B. Schreib-, Lese- Zugriff oder dergleichen. Je nach Anwendungsgebiet und Imple¬ mentierung können hier noch weitere Parameter herangezogen werden. Bei diesen Parametern können beispielsweise Zeitaspekte mit berücksichtigt werden, so dass bestimmte Ressourcen in vorbestimmten Zeitintervallen zugreifbar sein sollen oder dass hier bestimmte Auswahlkriterien vorgesehen sind, so dass Client-Klassen und Ressourcen-Klassen definiert werden, wobei vordefinierbare Zuordnungen zwischen einer Client-Klasse und einer Ressourcen-Klasse bestimmt wird. Dies hat den Vorteil, dass bestimmte Ressourcen beispielsweise mit einer erhöhten Priorität an bestimmte Gruppen von Clients vergeben werden können (dies ist beispielsweise bei Buchungssystemen vorteil¬ haft, bei denen bestimmte Klassen definiert werden, z. B. First Class, Business Class etc.). Weitere Aufgabenlösungen bestehen in einem System zur Steuerung von Zugriffen auf teilbare Ressourcen in einem verteilten Client-Serversystem im Parallelbetrieb nach dem beliebenden unabhängigen Anspruch. Dabei können ein Erfassungsmodul und ein Zuweisungsmodul in derselben übergeordneten computer- gestützten Einheit ausgebildet sein. Auch ist es möglich, die beiden Module in ein Modul zu integrieren, das dann beide Funktionalitäten ausführt. In einer alternativen Ausführungsform der Erfindung können das Erfassungsmodul und das Zuwei- sungsmodul auch unterschiedlichen Computer-basierten Instanzen angehören.

Eine weitere Aufgabenlösung ist in dem Computerprogrammpro- dukt zu sehen, wobei der Computer zur Durchführung des oben beschriebenen, erfindungsgemäßen Verfahrens veranlasst wird und dessen Programmcode durch einen Prozessor ausgeführt wird . Eine alternative Aufgabenlösung sieht ein Speichermedium vor, das zur Speicherung des vorstehend beschriebenen, computerimplementierten Verfahrens bestimmt ist und von einem Compu¬ ter lesbar ist. Darüber hinaus ist es möglich, dass einzelne Abschnitte des vorstehend beschriebenen Verfahrens bzw. des zugehörigen Systems (z.B. das Erfassungsmodul und das Zugriffsmodul) jeweils in einer separaten, verkaufsfähigen Einheit und die restlichen Komponenten in einer anderen verkaufsfähigen

Einheit - sozusagen als verteiltes System - ausgeführt werden können. Mit dem erfindungsgemäßen Verfahren und insbesondere mit dem Zugriffsmodul können eine systemnahe Steuerung von Betriebsmittelzugriffen erzielt werden. In der folgenden detaillierten Figurenbeschreibung werden nicht einschränkend zu verstehende Ausführungsbeispiele mit deren Merkmalen und weiteren Vorteilen anhand der Zeichnung besprochen. In dieser zeigen: Figur 1 einen grundsätzlichen Aufbau eines verteilten

Client-Serversystems, bei dem ein Client über ein asynchrones Protokoll mit einem Server

kommuniziert; Figur 2 eine schematische Darstellung gemäß einer

bevorzugten Ausführungsform der Erfindung, wobei ein Client auf Datensätze eines Servers zugreift; Figur 3 eine schematische Darstellung einer NOTIFICATION- Nachricht von dem Server an den Client gemäß einer bevorzugten Ausführungsform der Erfindung,

Figur 4 eine schematische Darstellung gemäß einer

bevorzugten Ausführungsform der Erfindung, wobei der Client über eine ALERT-Nachricht informiert wird; Figur 5 eine schematische Darstellung gemäß einer

bevorzugten Ausführungsform der Erfindung, wobei der Client ein REGAIN erhält, nachdem er mit einer ALERT-Nachricht informiert worden ist und Figur 6 eine schematische Darstellung gemäß einer

bevorzugten Ausführungsform der Erfindung, wobei der Server ein Update an den Client als Antwort auf ein REGAIN sendet. Im Folgenden wird in Zusammenhang mit Fig. 1 das Grundprinzip der vorliegenden Erfindung näher erläutert.

Wie in Fig. 1 dargestellt, kommuniziert ein Server S mit einer Vielzahl von Clients C, wobei die Kommunikation über ein asynchrones Protokoll P ausgeführt wird. Die dabei zu verwaltenden Datensätze sind in den Figuren (und insbesondere auch in Fig. 1) als Rechteckbereiche dargestellt.

In den Figuren sind die Clients grundsätzlich mit den

Bezugszeichen C gekennzeichnet. Falls zwischen den jeweiligen Clients unterschieden werden soll, so sind die jeweiligen Clients indiziert mit den Bezugszeichen Ci, C2, C3... Cn. Bei den Clients C kann es sich um Hardware- oder Software- Komponenten handeln, die denselben oder einen anderen Aufbau aufweisen. Zum Beispiel können die Clients C durch einzelne Workstations, durch mehrere mobile Geräte, durch einzelne Komponenten von informationstechnischen Geräten etc.

ausgebildet sein. Der Server S bedient die Anfragen der Clients und kann bedarfsweise ein Ergebnis der Anfrage an den Client C zurücksenden. Der Server S kann selbst wieder als Client fungieren, indem er Aufträge an einen weiteren Server S absetzt.

Die Clients C konkurrieren um Systemressourcen,

Betriebsmittel oder um Zugriffsmöglichkeiten auf Datensätze. Sobald zugelassen wird, dass mehrere Clients C auf eine

Systemressource (im Folgenden einfach "Ressource" genannt) zugreifen, muss sichergestellt werden, dass innerhalb des informationstechnologischen Systems stets mit konsistenten Daten gerechnet wird. Darüber hinaus muss insbesondere bei wechselseitiger Abhängigkeit der einzelnen Ressourcen

voneinander ein Deadlock (Verklemmung) sicher ausgeschlossen werden.

Bei den Clients C kann es sich auch um einzelne Jobs bzw. Tasks handeln, die auf Betriebsmittel bzw. auf eine Ressource zugreifen wollen. Die Jobs bzw. Tasks können dabei auch auf dieselbe Ressource (konkurrierend) zugreifen wollen. Der Server S ist eine computer-basierte Instanz, die

grundsätzlich die Anfragen der Clients C beantwortet. In der Regel umfasst er eine Vielzahl von Ressourcen bzw.

Betriebsmitteln, die von den Clients C zugreifbar sind. Im Stand der Technik ist für die Zuteilung der Ressourcen eine Vielzahl von Konzepten bekannt. Insbesondere sind bestimmte Scheduling-Regeln und Zuteilungsregeln bekannt, damit eine konsistente Datenverarbeitung zu jedem Zeitpunkt auch bei konkurrierenden Zugriffen sichergestellt werden kann.

In einer bevorzugten Ausführungsform handelt es sich bei den Ressourcen um Datensätze oder Dateien, auf die von mehreren Clients C zugegriffen werden kann. Dabei sind grundsätzlich unterschiedliche Zugriffsarten möglich ( Schreib-Zugriff, Lese-Zugriff, Ausführ-Zugriff etc.). Da ein Lese-Zugriff die Daten grundsätzlich nicht verändert, können mehrere Clients C auch gleichzeitig auf dieselbe Datei bzw. auf dieselben

Datensätze zugreifen, ohne dass es zu Konsistenzproblemen kommt. Handelt es sich jedoch bei einem Zugriff um einen solchen, der die Datensätze bzw. die Datei verändert (z.B. Schreibzugriff) , so muss sichergestellt werden, dass

ebenfalls zugreifende andere Clients C mit den "richtigen" Datensätzen arbeiten.

In einer weiteren, bevorzugten Ausführungsform handelt es sich bei den Ressourcen um elektronische Repräsentationen von logischen und/oder physikalischen Ressourcen. Unter

physikalischen Ressourcen sind neben den physikalischen üblichen Betriebsmitteln eines Computers (Speicherplatz, I/O- Ports, externe Geräte wie Drucker etc.) auch buchbare

Instanzen, wie Hotelzimmer, Gleisabschnitte bei einem

Verkehrsplanungstool oder Sitzplätze in einem Buchungssystem (Theaterkarten, Flugzeugsitze, Busplätze etc.) zu verstehen. Die elektronische Repräsentation bezieht sich dabei auf ein Objekt des Computersystems, das eineindeutig mit der

physikalischen Ressource assoziiert ist. Gemäß einer bevorzugten Ausführungsform der vorliegenden

Erfindung handelt es sich bei dem Kommunikationsprotokoll um ein asynchrones Protokoll, so dass die Anfragen der Clients C an den Server S in kein festes Zeitschema eingepasst sind, sondern zu beliebigen Zeitpunkten erfolgen. Ebenso erfolgt die Antwort des Servers auf eine Anfrage eines Clients zu beliebigen Zeitpunkten. In der Regel wird die Antwort sobald wie möglich an den anfragenden Client C weitergeleitet. Ein besonderer Vorteil der Erfindung ist deshalb darin zu sehen, dass das erfindungsgemäße Konzept insbesondere für web- basierte Anwendungen und Internetanwendungen einsetzbar sind, die grundsätzlich auf einem asynchronen Kommunikationsschema aufsetzen .

Der im Stand der Technik bekannte "Many early locks- Mechanismus" zielt darauf ab, Sperren möglichst früh zu setzen. Ein Nachteil dabei ist darin zu sehen, dass teilweise unnötig Locks gesetzt werden. Dies wird beispielsweise dann der Fall sein, falls ein Client C vor der Ausführung eines WRITE-Zugriffs oder eines EXE-Zugriffs zunächst eine

Übersicht über alle Datensätze anfordert (beispielsweise durch einen LIST-Zugriff, eine Suchanfrage oder mittels eines Directory-Befehls) , so wird dies als READ interpretiert und bereits eine Sperre gesetzt.

Bei dem zweiten im Stand der Technik bekannten "Lock little- Lock late-Mechanismus " kann es nachteiligerweise dazu kommen, dass ein Client C seine Anfrage nicht ausführen kann. Dies ist beispielsweise dann der Fall, wenn der "Lock little-Lock late-Mechanismus" für ein Flugsitzplatz-Belegungssystem verwendet wird. Falls sich ein erster Client Ci einen

Überblick über eine Sitzplatzbelegung für den von ihm

spezifizierten Flug verschaffen möchte, so erscheinen ein oder mehrere Sitzplätze als buchbar (z. B. grün) . Wartet der Client Ci eine bestimmte Zeitspanne, so ist es theoretisch möglich, dass ein weiterer Client C2 einen dieser als grün gekennzeichneten und buchbaren Sitzplätze ebenfalls buchen möchte. Möchte dann jedoch der erste Client Ci genau diesen, gerade von C2 belegten Sitzplatz buchen, ist dieser natürlich nicht mehr zu haben und die Buchung (bzw. der Zugriff) kann nicht ausgeführt werden, da der erste Client Ci durch eine überraschende Buchung eines weiteren Clients C2 "überholt" worden ist. Die Lock little-Lock late-Strategie zeigt demnach für die Clients weniger Locks an, als sie tatsächlich

vorhanden sind. Diese Zuweisungsstrategie ist deshalb

insbesondere dann sinnvoll, falls unbedingt alle Ressourcen (wie in diesem Fall die Sitzplätze) gebucht werden sollen. Die Erfindung löst die beiden vorstehend erwähnten Nachteile, indem ebenfalls Locks gesetzt werden, die jedoch automatisch eine "Frist" bzw. Lebensspanne zugeordnet bekommen. Damit entstehen Deadlocks, die jedoch automatisch behoben werden. Dies wird detaillierter in Zusammenhang mit Fig. 2

dargestellt. In Fig. 2 greift der Client C mit einem READ- Zugriff auf einen Datensatz (in Fig. 2 mit X(C,t0)

dargestellt) des Servers S zu. Auch bei diesem READ-Zugriff des Clients C wird dem Client C auch für die Ressource ein temporärer exklusiver Lock zugewiesen, so dass er eine Kopie der Daten erhält, die er lesen kann, wobei die exklusive Sperre nach einer vorbestimmten Zeit automatisch wieder ausläuft. Während der zugewiesenen Sperre kann der jeweilige Client die Ressource alleine verwalten und steuern, und somit auch die jeweiligen Datensätze verändern.

Üblicherweise ist es vorgesehen, dass ein Lock grundsätzlich bei einem ersten Zugriff oder bei einem ersten

Zugriffsversuch erteilt bzw. zugewiesen wird. Dabei ist es unerheblich, um welche Zugriffsart es sich handelt. Der Lock wird somit sowohl für einen READ-Zugriff als auch für die anderen Zugriffsarten, wie WRITE-Zugriff und EXE-Zugriff etc. zugewiesen.

Bei dem Lock handelt es sich insbesondere um einen exklusiven Lock, so dass ein Lock grundsätzlich nur dann zugewiesen werden kann, falls es keinen anderen Lock zum selben

Zeitpunkt gibt.

Der Lock wird erfindungsgemäß automatisch nur eine

vorbestimmbare Zeitspanne zugewiesen. Das heißt, er läuft also nach der vorbestimmbaren Zeitspanne automatisch wieder aus. Alternativ können hier auch - wie vorstehend bereits erwähnt - andere Auslaufbedingungen vorgesehen sein, die zusätzlich oder alternativ zu dem zeitlichen Auslaufen angewendet werden (z.B. ereignis-gesteuert) . Wie in Fig. 3 dargestellt, ist es in einer bevorzugten

Ausführungsform der Erfindung vorgesehen, dass der Server S eine NOTIFICATION-Nachricht an den Eigentümer des Locks (in diesem Fall Client C) über das Auslaufen seiner exklusiven Sperre nach Ablauf des vorbestimmten Zeitintervalls sendet. Die Client-Anwendung kann daraufhin den jeweiligen User über das Auslaufen seines Locks informieren und/oder kann die Präsentation und/oder die Verarbeitung der Daten verändern oder abbrechen. Dies kann in Abhängigkeit von den Daten erfolgen. In einer vorteilhaften Ausführungsform ist es vorgesehen, dass die Daten grundsätzlich mit einem grünen Hintergrund dargestellt werden, solange die exklusive Sperre zugeteilt ist, wobei der Hintergrund dann auf eine andere Farbe wechselt, falls der Lock ausgelaufen ist. Alternative Möglichkeiten sehen hier andere Kennzeichnungen für das

Bestehen einer Sperre vor. Alternativ zur farblichen

Hervorhebung können hier entsprechend andere Flags oder

Indikatoren gesetzt werden, wie z. B. die Kennzeichnung eines bestehenden Locks in Form eines separat aufgehenden Fensters auf dem Bildschirm kennzeichnen. Ebenso sind andere

alternative Ausführungsformen denkbar, die den Benutzer darüber informieren, dass der Datensatz zurzeit gerade für die aktuelle Benutzung des Users gesperrt ist.

In einer anderen Ausführungsform enthält die NOTIFICATION- Nachricht des Servers S an den Client C zusätzlich noch eine weitere Meta-Information . Diese Meta-Information umfasst Informationen über die Lebenszeit (Life-Time, Time-Out) der zugewiesenen exklusiven Sperre. In dieser Zeit ist es

beispielsweise möglich, dass der Client einen exklusiven Schreib-Zugriff auf die Daten der jeweiligen Datei ausführt. In weiteren vorteilhaften Ausführungsformen umfasst die MetaInformation noch weitere Informationen. Hier können

beispielsweise noch Informationen über andere exklusive

Locks, die an andere Clients vergeben sind, umfasst sein oder Informationen über die bereits abgelaufene Zeit der

zugewiesenen Sperre etc. Im Folgenden wir in Zusammenhang mit Fig. 4 eine weitere vorteilhafte Ausführungsform der Erfindung beschrieben, die vorsieht, dass der Server S eine ALERT-Nachricht an den

Client C sendet, der Inhaber des exklusiven Locks ist. Diese ALERT-Nachricht informiert den Client C über das Zuweisen einer exklusiven Sperre an einen anderen Client (der in Fig. 4 mit C2 gekennzeichnet ist) für einen Datensatz D, an dem der Client Ci zu einem früheren Zeitpunkt einen exklusiven Lock zugewiesen bekommen hatte, der in der Zwischenzeit ausgelaufen ist. Damit wird die Client-Applikation Ci darüber informiert, dass die Möglichkeit bzw. Gefahr besteht, dass der von ihm gelesene bzw. verarbeitete Datensatz nun von einem anderen Client C2 verarbeitet und möglicherweise verändert wird oder worden ist. Eine Möglichkeit, um dies unmittelbar für den User erkennbar auf dem Gerät Ci

darzustellen, besteht darin, den gesperrten Datensatz

gekennzeichnet darzustellen (wie oben bereits beschrieben, z. B. mit einem anderen Hintergrund, z.B. farblich gestaltet). Alternativ oder kumulativ besteht auch die Möglichkeit darin, den Datensatz wiederum besonders hervorgehoben darzustellen, falls der exklusive Lock für den jeweiligen Datensatz des anderen Clients C2 nicht mehr besteht bzw. ausgelaufen ist. Dann könnte der Datensatz beispielsweise in einer anderen Farbe gekennzeichnet werden, um dem ersten Client Ci

anzuzeigen bzw. zu informieren, dass der exklusive Lock für den weiteren Client C2 nun ausgelaufen ist. Somit erhält der erste Client Ci, dem einmal ein exklusiver Lock für die jeweiligen Daten auf dem Server S zugewiesen worden war, immer eine Nachricht, falls die Möglichkeit besteht, dass dieser Datensatz von einem anderen Client (in diesem Fall von Client C2) überschrieben werden kann.

In Zusammenhang mit Fig. 5 wird eine Ausführungsform der Erfindung beschrieben, in der der Server S eine REGAIN- Nachricht von dem Client Ci erhält, mit der der Client Ci anzeigt, dass er wieder einen exklusiven Lock auf dem

jeweiligen Datensatz erhalten möchte. Dies ist insbesondere dann der Fall, wenn der Client Ci einen Zugriff oder einen Zugriffsversuch auf den jeweiligen Datensatz ausführen möchte. Üblicherweise ist ein REGAIN nur dann möglich, falls es keinen zu diesem Zeitpunkt aktiven exklusiven Lock gibt, der für einen anderen Client C± zugewiesen ist. Gemäß einer Ausführungsform ist es zwar durchaus möglich, dass der Client Ci eine REGAIN-Anfrage an den Server S sendet. Ein Zuweisen des REGAIN wird jedoch nur dann erlaubt, falls aktuell kein exklusiver Lock zugewiesen ist. Je nach Ausführungsform ist es möglich, dass der Server S eine REGAIN-Anfrage und/oder eine REGAIN-Zuweisung nur dann erlaubt, falls ein vorbestimmbares Zeitintervall abgelaufen ist. Dies ist beispielsweise dann sinnvoll, um eine bestimmte Server- Auslastung sicherzustellen und ein bestimmtes Maß an

Gleichläufigkeit zu gewährleisten. Gemäß einer bevorzugten Ausführungsform ist das Zuweisen des REGAINs für Client Ci nur dann möglich, nachdem der exklusive Lock von Client C2 bereits ausgelaufen ist, wie dies in Fig. 5 angedeutet sein soll. Fakultativ kann dann der Client C2 über das REGAIN des Clients Ci mittels einer ALERT-Nachricht informiert werden. In diesem Zusammenhang sei darauf hingewiesen, dass die

Option des REGAIN bzw. des Zuweisens eines REGAINs es nicht erfordert, dass ein NOTIFICATION oder ein ALERT gesendet werden. Mit anderen Worten wird eine Benachrichtigung der Clients (mittels NOTIFICATION und ALERT) nur optional ausgeführt. Dies stellt deshalb kein Sicherheitsrisiko dar, da der Server S ohnehin automatisch erfassen wird, falls der Client C eine Änderung der entsprechenden Datensätze oder einen Schreib-Zugriff auf die Datensätze ausführen möchte und dazu aber gar nicht berechtigt ist, da sein exklusiver Lock bereits ausgelaufen ist. In diesem Fall unterbindet der Server S automatisch, dass eine Veränderung der Datensätze ausgeführt werden kann. Dieses Unterbinden erfolgt auch ohne eine NOTIFICATION- bzw. ohne eine ALERT-Nachricht.

Eine weitere Ausführungsform sei in Zusammenhang mit Fig. 6 beschrieben. Hier sendet der Server S ein UPDATE bzw. eine UPDATE-Nachricht für die Daten D an den Client C als Antwort auf eine REGAIN-Anfrage des Clients C auf die jeweiligen Datensätze. Die UPDATE-Nachricht umfasst alle Veränderungen an den Datensätzen, die zwischen dem Auslaufen des ersten Locks für den Client und dem Wieder-Zuweisen des zweiten Locks für denselben Client (durch das REGAIN) ausgeführt worden sind. Mit anderen Worten erhält der Client C alle Modifikationen (ein Delta) in Bezug auf die Datensätze. Die jeweilige Client-Applikation kann daraufhin diese

Modifikationen lokal abgleichen. Beispielsweise kann ein MERGE oder ein Zusammenführen oder eine Hervorhebung der geänderten Datensätze lokal am Client C ausgeführt werden. In einer alternativen, einfacheren Implementierung ist es möglich, dass der Server S lediglich die aktuell gültigen Datensätze als Antwort auf eine REGAIN-Anfrage des Clients C an den Client C sendet. Der Client C kann dann lokal das

Delta bzw. die Modifikationen zwischen den lokal vorhandenen Datensätzen und der zentralen Version der Datensätze

abgleichen. In einer weiteren Ausführungsform ist es möglich, dass der nachfolgende Lock (der auf eine REGAIN-Anfrage zugewiesen wurde) zusätzlich Meta-Informationen umfasst, beispielsweise über die Lebenszeit des Locks . Die Meta¬ Informationen können in der UPDATE-Nachricht , die von dem Server S an den Client C gesendet wird, inkludiert sein.

Die bisher beschriebenen Ausführungsformen sind darauf gerichtet, dass der Server alle Zugriffsversuche und Zugriffe seitens der Clients überwacht und steuert. Darüber hinaus übernimmt er die Aufgabe, die jeweiligen Clients mit weiteren Nachrichten und Meta-Informationen zu bedienen, die in

Zusammenhang mit der Zugriffssteuerung anfallen (UPDATE, NOTIFICATION, ALERT etc.). In alternativen Ausführungsformen ist es jedoch möglich, dass die vorstehend erwähnten

Funktionalitäten (Überwachen, Senden von Nachrichten) auch von separaten Instanzen oder Modulen übernommen werden und nicht direkt und unmittelbar vom Server S übernommen werden müssen. Damit kann das System insgesamt flexibler gestaltet werden .

Gemäß einer weiteren Ausführungsform, die in den Figuren nicht dargestellt ist, ist es möglich, dass eine

Benachrichtigung von dem Client C ausgelöst wird und aktiv von dem Client C an den Server S gesendet wird.

Beispielsweise kann ein RELEASE für einen Datensatz eines Clients C an den Server S gesendet werden, falls der Client C sicherstellen kann, dass er keine Modifikationen oder

Schreib-Zugriffe an den jeweiligen Datensätzen ausführen wird. Der Server S kann dann daraufhin den exklusiven Lock in Bezug auf den jeweiligen Client C von dem Datensatz (vorzeitig) entfernen. Dies hat den Vorteil, dass der

exklusive Lock nur so lange wie unbedingt notwendig

zugewiesen wird. Es sei darauf hingewiesen, dass es grundsätzlich möglich ist, unterschiedliche Zeitintervalle bzw. Lebenszeiten für die Zuweisung der exklusiven Locks vorzusehen. Darüber hinaus kann die Lebenszeit grundsätzlich abhängig von der Art der Ressource sein (Datensätze, die beispielsweise sehr häufig angefragt werden, haben in der Regel eine kürzere Lebenszeit als Datensätze, die sehr selten angefragt werden. Ebenso haben Betriebsmittel, die sehr häufig eingesetzt werden, wie beispielsweise ein Drucker oder ein Scanner etc. auch eher kürzere Lebenszeiten als Betriebsmittel, die sehr selten eingesetzt werden, beispielsweise eine bestimmte

Sonderapplikation) . Darüber hinaus können die Zeitintervalle bzw. Lebenszeiten auch in Abhängigkeit von dem

Zugriffsversuch des Clients C ausgeführt werden. So kann es beispielsweise voreingestellt sein, dass ein READ-Zugriff längere Zuweisungszeitintervalle hat, als ein (kritischer)

WRITE-Zugriff . Darüber hinaus ist es möglich, die zusätzliche Information in Bezug auf die zugewiesene zeitliche Länge des exklusiven Locks (die Lebenszeit des Locks) als Meta¬ Information dem Client bereitzustellen. Die Meta-Information kann beispielsweise als Antwort auf einen Zugriff des Clients C, als auch als Zusatzinformation bei einer UPDATE-Nachricht zur Verfügung gestellt werden.

Eine besondere Ausführungsform bezieht sich auf so genannte zählbare Ressourcen. Darunter sind Ressourcen zu verstehen, die mit einer abzählbaren Anzahl beschrieben werden können, wie z. B. die Anzahl von Hotelzimmern, die gebucht werden können, die Anzahl von Sitzplätzen in einem Flugzeug etc. Grundsätzlich können die Ressourcen auch in bestimmte Klassen klassifiziert werden (bei Buchungssystemen: z. B. First

Class, Business Class etc.). Das Zuweisen des

erfindungsgemäßen Locks kann in dieser Ausführungsform auch in Abhängigkeit von der Ressourcen-Klasse ausgeführt werden. Mit anderen Worten kann ein Zugriffsversuch beispielsweise nur auf eine ausgewählte Kategorie von Ressourcen ausgeführt werden (z. B. nur für Sitzplätze der ersten Klasse) . Falls es sich um zählbare Ressourcen handelt, kann ein Zähler

implementiert werden, der zugewiesene Locks an den Ressourcen kennzeichnen soll. Sobald ein weiterer exklusiver Lock an der Ressource zugewiesen worden ist, wird der Zähler inkre- mentiert. Falls der exklusive Lock ausgelaufen ist (z. B. aufgrund eines Time-out nach Ablauf des Zeitintervalls oder aufgrund eines ROLL-BACKS oder aufgrund eines RELEASE) wird der Zähler dekrementiert . In dieser Ausführungsform wird bei einem ALERT oder einem UPDATE lediglich der aktuelle Zähler an den Client C gesendet. Ein REGAIN kann dann leicht durch Dekrementierung des Zählers implementiert werden. In dieser Ausführungsform kann zusätzlich ein COMMIT vorgesehen sein. Dieser Befehl kennzeichnet, dass der exklusive Lock von dem jeweiligen Datensatz in Bezug auf den Client C entfernt und dass der Zähler unverändert verbleiben soll. Eine weitere Ausführungsform betrifft fein-klassifizierte oder fein-granulierte Ressourcen. Bei den fein-granulierten Ressourcen handelt es sich um solche Ressourcen, bei denen jedes Element der Ressource (z. B. ein einzelner Sitzplatz) eineindeutig identifizierbar ist. Als Beispiel dienen hier Sitzplätze im Zug, so dass bei Buchung eines Sitzplatzes der jeweilige gebuchte Sitzplatz eineindeutig einem bestimmten Reisenden zugewiesen wird. Im Gegensatz dazu, können bei den abzählbaren Ressourcen nur Klassen gebildet werden. Innerhalb der Klassen sind die Elemente nicht eineindeutig

identifizierbar und austauschbar. Bei den fein-granulierten Ressourcen ist es gemäß einer Ausführungsform der Erfindung möglich, jedes einzelne Element einer Ressource mit einem exklusiven Lock zu versehen. Alternativ dazu ist es möglich, einzelne oder alle Elemente derselben Klasse von Ressourcen mit einem exklusiven Lock zu versehen.

In der bevorzugten Ausführungsform ist es vorgesehen, dass das Zeitintervall vorbestimmbar ist und dann automatisch beim Zuweisen des exklusiven Locks an den Client berücksichtigt wird. In dieser Ausführungsform hat der Client C keinen

Einfluss auf die Zeitdauer, für die der exklusive Lock zugewiesen wird. Alternativ dazu ist es in einer anderen Ausführungsform möglich, dass der Client C bereits bei einem ersten Zugriff bzw. bei einem ersten Zugriffsversuch auf die Ressource eine zusätzliche Anfrage an den Server S oder an ein separates Steuerungsmodul sendet, in der er ein "Wunsch- Zeitintervall" bestimmt. Das gewünschte Zeitintervall kennzeichnet den minimalen Zeitrahmen, den der Client C für die Ausführung seiner geplanten Zugriffsaktion auf die

Ressource plant. Bei Zuweisung des exklusiven Locks an den jeweiligen Client C berücksichtigt dann der Server S oder die separate Steuerungsinstanz, falls möglich, diesen Wunsch- Zeitraum. Dies soll sicherstellen, dass eine Mindest-

Effizienz für den Client C sichergestellt werden kann und er nicht unnötig beim Ausführen seines Zugriffs unterbrochen wird . Grundsätzlich ist es vorgesehen, dass für alle Sitzungen insgesamt pro Ressource nur ein exklusiver Lock zugewiesen wird. Sobald dem Server S einen ersten Zugriff bzw. eine erste Zugriffsanfrage eines Clients C erhält, wird

automatisch diesem Client C ein exklusiver Lock zugewiesen, falls noch kein exklusiver Lock für die Ressource besteht. Dasselbe gilt für ein REGAIN bzw. für eine REGAIN-Anfrage . Ein zweiter Zugriffsversuch eines anderen Clients oder eine REGAIN-Anfrage eines anderen Clients würde automatisch scheitern, falls bereits ein exklusiver Lock in Bezug auf die Ressource zugewiesen worden ist. Damit wird automatisch eine Priorisierung von Zugriffen erreicht. Die Priorisierung wird nach Zeitpunkt des Eintreffens des Zugriffs ausgeführt. Mit anderen Worten gilt hier die Strategie "First Come - First Serve" .

Das erfindungsgemäße Konzept kann grundsätzlich auf

unterschiedliche Betriebssysteme und in unterschiedlichen Bereichen der Technik eingesetzt werden. Eine hauptsächliche Anwendung betrifft jedoch die Steuerung von Zugriffen auf technische Betriebsmittel, sowie die Steuerung von Zugriffen auf medizintechnische Geräte und auf andere physikalische Module. Ebenso können Zugriffe von Clients C über das

Internet ausgeführt werden. In diesem Zusammenhang erweist es sich als sehr vorteilhaft, dass die Clients grundsätzlich über das Internet angebunden werden können und für die

Zugriffssteuerung keine Zusatzmaßnahmen notwendig sind.

Erfindungsgemäß sind nämlich die Lebensdauer-Einstellungen für den Lock vorgesehen, so dass auch bei einem Abbruch der Internetverbindung keine zusätzlichen Mechanismen aufgerufen werden müssen.

Ein weiterer Vorteil ist auch darin zu sehen, dass der

Mechanismus grundsätzlich nicht abhängig von einem bestimmten Kommunikationsprotokoll ist. Die erfindungsgemäße

Zugriffssteuerung kann für beliebige Protokolle und für beliebige Systeme eingesetzt werden. Abschließend sei darauf hingewiesen, dass die Beschreibung der Erfindung und die Ausführungsbeispiele grundsätzlich nicht einschränkend in Hinblick auf eine bestimmte physikali¬ sche Realisierung der Erfindung zu verstehen sind. Für einen Fachmann ist es insbesondere offensichtlich, dass die Erfin- dung teilweise oder vollständig in Soft- und/oder Hardware und/oder auf mehrere physikalische Produkte - dabei insbeson¬ dere auch Computerprogrammprodukte - verteilt realisiert wer¬ den kann.