DE10016531A1 - Verfahren zum Betrieb eines Datenverarbeitungssystems - Google Patents
Verfahren zum Betrieb eines DatenverarbeitungssystemsInfo
- Publication number
- DE10016531A1 DE10016531A1 DE10016531A DE10016531A DE10016531A1 DE 10016531 A1 DE10016531 A1 DE 10016531A1 DE 10016531 A DE10016531 A DE 10016531A DE 10016531 A DE10016531 A DE 10016531A DE 10016531 A1 DE10016531 A1 DE 10016531A1
- Authority
- DE
- Germany
- Prior art keywords
- job
- server
- user
- objects
- identifier
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
Verfahren zum Betrieb eines Datenverarbeitungssystems mit einer Mehrzahl von jeweils einem Benutzer zugeordneten Client-Benutzerschnittstellen und mindestens einem mit diesen verbundenen Server, insbesondere einer Mehrzahl von Servern, zur Ausführung von verteilten Anwendungen, die jeweils eine Mehrzahl von Methodenaufrufen umfassen, wobei auf dem Server oder den Servern eine Mehrzahl von Serverobjekten, zur Ausführung der Anwendung implementiert ist und wobei zur Ausführung der Anwendungen Serverobjekte an die Client-Benutzerschnittstellen gebunden werden, bei dem aus jedem Methodenaufruf ein Job erzeugt, mit dem Sitzungs-Identifikator versehen und als Botschaft an den Server oder die Server übermittelt und der jeweil übermittelte Job durch das zuerst arbeitsbereite Serverobjekt angenommen und unter Verwaltung des Sitzungs-Identifikators ausgeführt wird.
Description
Die Erfindung betrifft ein Verfahren zum Betrieb eines Daten
verarbeitungssystems nach dem Oberbegriff des Anspruchs 1 sowie
eine Anordnung zur Durchführung dieses Verfahrens.
Derartige Verfahren sind bekannt. Der Begriff "verteilte Anwen
dung" wird hier in dem Sinne gebraucht, daß eine Anwendung ent
fernte Methodenaufrufe durchführt und nicht "monolithisch" aus
einem einzigen, geschlossen ausführbaren Programm besteht. Ent
fernte Methodenaufrufe werden nach dem Stand der Technik durch
objektorientierte Standards bzw. Implementationen, wie etwa
CORBA (Common Object Request Broker Architecture), COM+ (Han
delsname eines Produktes der Fa. Microsoft) oder RMI (Remote
Method Invocation, eine Java-Implementierung der Fa. Sun Micro
systems) definiert bzw. durchgeführt. Auch Anwendungen, die
nicht objektorientierte Ansätze in Art des RPC (Remote Procedu
re Call, Verfahren der Fa. Sun Microsystems) nutzen, werden
voraussetzungsgemäß zu den gattungsgemäßen Verfahren gerechnet.
Im hier festgelegten Kontext umfaßt der Begriff "Anwendung"
oder "Applikation" auch eine Zusammensetzung von logisch ge
trennten Einzelanwendungen, die über die erwähnten Mechanismen
miteinander kommunizieren.
Bei bekannten Verfahren dieser Art ruft ein Benutzer (Client)
zur Ausführung einer Anwendung Methoden eines entfernten Ser
verobjektes (auch als "Remote Object" zu bezeichnen) auf. Hier
für muß zunächst eine gültige Referenz auf das Serverobjekt ge
funden werden. Dieser Vorgang wird nachfolgend als "Binden" be
zeichnet. Ein Client kann bei bekannten Verfahren theoretisch
beliebig viele Serverobjekte beliebig oft binden und die Metho
den eines Serverobjektes beliebig oft aufrufen. Ein Serverob
jekt seinerseits kann theoretisch von beliebig vielen Client
gebunden bzw. referenziert sein.
Ein bekanntes System dieser Art ist in Fig. 1 skizziert, wo
beispielhaft die Bindungen von vier Clients, Client 1 bis Cli
ent 4 an vier verschiedene, auf zwei Servern A und B implemen
tierte Serverobjekte dargestellt ist. Dieser Ablauf ist in Fig.
2 für einen Client, ein Proxyobjekt, einen Job und ein - hier
als "original Objekt" bezeichnetes - Serverobjekt skizziert.
Bei den bekannten Verfahren ist es jedoch, speziell bei aus
mehreren Modulen verschiedenen Ursprungs (verschiedener Her
steller) zusammengesetzten Anwendungen, prinzipiell nicht mög
lich, daß ein Serverobjekt den einen Methodenaufruf auslösenden
Client identifiziert und daß eine ausgleichende Lastverteilung
auf der Ebene der Methodenaufrufe stattfindet.
Bezüglich der Lastverteilung bzw. des Lastenausgleiches gehen
die heutigen CORBA-, RMI- oder COM+-Implementationen wie folgt
vor:
Existieren mehrere Serverobjekte der gleichen Art, wird im Au
genblick des Bindens eine Entscheidung getroffen, welches Ser
verobjekt mit dem Client verbunden wird. Danach jedoch geht
jeder Methodenaufruf auf dasselbe Serverobjekt, ungeachtet der
sich im allgemeinen ständig ändernden Lastverteilung der an der
Anwendung beteiligten Rechner. Der Zeitpunkt des Bindens liegt
in der Regel weit vor den Methodenaufrufen.
Die Alternative, daß die Clients nach jedem Methodenaufruf neu
binden, ist nur sehr bedingt vertretbar, da der Vorgang sehr
teuer ist.
Die Lastverteilung beim Binden wird entweder durch Abfrage der
Last über das Betriebssystem der einzelnen Rechner oder durch
(gegebenenfalls gewichtete) Zufallsverteilung oder durch Round-
Robin-Verfahren (Verteilen des Bindens auf alle in Frage kom
menden Serverobjekte der Reihe nach im Kreis) entschieden. Beim
ersten Verfahren erfährt man nur, wie hoch die Auslastung eines
Rechners im Moment ist. Je nach abgefragter System-Information
ergibt sich, genau genommen, sogar nur eine Mittelung über ei
nen vergangenen Zeitraum. Eigentlich möchte man aber denjenigen
Rechner mit einer Aufgabe belasten, der am schnellsten damit
fertig werden wird - es interessiert nicht, wie hoch seine au
genblickliche Belastung ist. Die beiden anderen Verfahren hof
fen aufgrund von statistischen Annahmen auf eine gleichmäßige
Verteilung der Last. Dabei gehen sie davon aus, daß die mög
lichen Anfragen an die Remoteobjekte eine nicht allzu große
Varianz in ihrem Ressourcenbedarf haben.
Bei allen drei Verfahren kann es passieren, daß ein Rechner die
Bewältigung einer Aufgabe übernehmen muß, obwohl er plötzlich
sehr viel mehr ausgelastet ist als ein anderer. Weiterhin wird
im Falle eines Rechnerverbundes die Netzwerkbelastung nicht
berücksichtigt. Ein Serverobjekt, das zu einem Zeitpunkt auf
grund der Lastverteilungsmethode mit der Bearbeitung einer
Aufgabe beauftragt wird, könnte temporär in einem belasteten
Netzwerksegment liegen. Dann wäre es günstiger, einen anderen
Rechner zu finden, selbst wenn dessen Rechenkapazität mehr in
Anspruch genommen wird.
Aufgabe der vorliegenden Erfindung ist es, ein verbessertes
Verfahren der gattungsgemäßen Art bereitzustellen, welches ins
besondere ohne Veränderung des fachlichen Quelltextes bestehen
der Anwendungen und ohne Notwendigkeit der Bedienung einer Pro
grammierschnittstelle durch die Entwickler neuer Anwendungen
eine Optimierung der Lastverteilung erlaubt und die Möglichkeit
einer Benutzerzuordnung und benutzerbezogenen Abrechnung der
Ausführung von Transaktionen bzw. einer Anwendung schafft.
Hiermit soll letztlich eine leistungsbezogene und damit gegen
über der bisherigen zeit- und benutzerzahlbezogenen Abrechnung
wesentlich transparentere Abrechnung der Nutzung von Software
realisiert werden. Weiterhin soll eine zur Durchführung des
Verfahrens geeignete Anordnung angegeben werden.
Diese Aufgabe wird hinsichtlich ihres Verfahrensaspektes durch
ein Verfahren mit den Merkmalen des Anspruchs 1 und hinsicht
lich ihres Vorrichtungsaspektes durch eine Anordnung mit den
Merkmalen des Anspruchs 17 gelöst.
Die Erfindung schließt den grundlegenden Gedanken einer dynami
schen, request-orientierten Organisation verteilter Anwendungen
in Einheiten der einzelnen Methodenaufrufe ein. Sie schließt
weiter den Gedanken ein, mittels einer geeigneten Systemstruk
tur aus den Methodenaufrufen sog. "Jobs" zu erzeugen, die den
vorhandenen Serverobjekten in Art einer Vermakelung (Brokerage)
angeboten werden. Weiterhin schließt sie den Gedanken ein, die
Abarbeitung der einzelnen Jobs demjenigen (zur Ausarbeitung ge
eignet ausgebildeten, d. h. "fachlich zuständigen") Serverob
jekt zu übertragen, welches auf das Jobangebot zuerst reagiert.
Die Jobs werden einzeln verwaltet - sowohl in Bezug auf den Be
nutzer (Client) als auch in Bezug auf die Lastverteilung. Den
Jobs entsprechen - gemäß dem MOM (Message Oriented Middleware)-
Konzept - Botschaften, die zwischen Clients und Serverobjekten
übertragen werden. Jeder durch einen Client initiierte Metho
denaufruf erzeugt - nach der Umwandlung in einen Job und der
Übermittlung als Botschaft - eine Jobanforderung (Request). Die
Rückgabewerte von Methodenaufrufen werden als Antwortjobs wie
der zurück an den aufrufenden Client transportiert. (Einem
Client kann eine Benutzerschnittstelle entsprechen, er kann
aber in einer Methodenaufruf-Kette seinerseits Serverobjekt
eines anderen Client sein.)
Damit die erforderliche Transparenz des Verfahrens aus Sicht
der fachlichen Anwendung erreicht wird, muß zur umfassenden Lö
sung der genannten Aufgabe für den Client (Benutzer) das Beste
hen einer "starren" Verbindung zu einem bestimmten "fachlich
zuständigen" Serverobjekt vorgespiegelt werden, obgleich gerade
das Aufbrechen dieser Verbindung nach dem initialen Bindungs
vorgang ein Kernpunkt der Erfindung ist.
Die Basis des Verfahrens, auf der die anderen Elemente aufbau
en, ist die Erzeugung der Jobs. Aus der Sicht des Client wird
eine Referenz auf ein Serverobjekt gebunden, anschließend wer
den Methoden dieses Servers aufgerufen und die Rückgabewerte in
Empfang genommen. Transparent für den Client wird aus dem Auf
ruf ein Job erzeugt, der zu einem der möglichen Serverobjekte
vermittelt wird. Dieses bearbeitet den Job und generiert im
allgemeinen Fall eine Antwort. Die Antwort wird als Job zurück
übermittelt und in den Rückgabewert umgewandelt, den der Client
erwartet und in Empfang nimmt.
Jeder Benutzer bedient seine Anwendung über eine Client-Benut
zerschnittstelle, bei der es sich insbesondere um native aus
führbare Programme, HTML (HyperText Markup Language)- oder
WML (Wireless Markup Language)-Clients oder auch Java-Applika
tionen oder -Applets mit vorbestimmtem Programmablauf handelt.
Dieser meist als GUI (Graphical User Interface) ausgeprägte
Teil einer Anwendung ist als sogenannte Instanz während einer
Sitzung genau einem Benutzer zugeordnet, d. h. es gibt genauso
viele Instanzen der Schnittstellen, wie es zu einem Zeitpunkt
tätige Benutzer gibt. Innerhalb des Programmablaufs der Benut
zerschnittstellen rufen diese als Client die Methoden entfern
ter Serverobjekte auf. Das Verfahren gewährleistet, daß jeder
von einem Benutzer ausgelöste Methodenaufruf einer bestimmten
Sitzung und damit dem Benutzer zugeordnet werden kann. Dabei
wird die Identifikation einer Sitzung gehalten, so daß damit
jeder Job markiert werden kann.
Falls es für einen Job mehrere mögliche Serverobjekte gibt, so
erhält dasjenige den Auftrag zur Bearbeitung, das aufgrund seiner
aktuellen Ressourcen in der Lage ist, mit der Bearbeitung
zu beginnen und sich am schnellsten darum beworben hat. Damit
wird ein Lastenausgleich auf Methodenebene erreicht, der zudem
die Nachteile der im Stand der Technik bekannten Lastvertei
lungs-Verfahren behebt.
Die oben erwähnte "Vorspiegelung" einer permanenten Bindung
zwischen Client und Serverobjekt wird auf Seiten des Client da
durch realisiert, daß zu Beginn jeder Sitzung ein Proxyobjekt
an die Client-Benutzerschnittstelle gebunden wird, welches die
ser gegenüber die Kommunikationseigenschaften eines Serverob
jektes zeigt, aus den Methodenaufrufen die Jobs erzeugt und mit
dem Sitzungs-Identifikator versieht und mit diesem zusammen
weiterleitet.
Dies ist in Fig. 3 skizziert.
Die Benutzerschnittstelle nimmt die gewünschten Aktionen des
Benutzers entgegen und agiert als Client der Proxyobjekte. Eine
Instanz der Benutzerschnittstelle ist während einer Sitzung ge
nau einem Benutzer zugeordnet. Innerhalb dieser Instanz wird
eine eindeutige Sitzungs-Identifikator gehalten, die jedem
Proxyobjekt beim Binden mitgeteilt wird. Daraus folgt, daß eine
Benutzerschnittstelle zwar beliebig viele Proxyobjekte binden
kann, ein Proxyobjekt aber nur von einer Benutzerschnittstelle
als Client gebunden sein kann. Jeder Job, der als Folge eines
Methodenaufrufs erzeugt wird, wird vom Proxyobjekt mit dem Sit
zungs-Identifikator versehen, den es im Moment des Bindens er
halten hat.
Die oben angesprochene Vortäuschung einer permanenten Bindung
zwischen Client und Serverobjekt wird auf seiten der Serverob
jekte durch Gegenstellen zum Proxyserver realisiert, die im
folgenden als "Jobverwaltungsstellen" bezeichnet werden. Die
Jobverwaltungsstellen zeigen den Serverobjekten gegenüber im
wesentlichen die Kommunikationseigenschaften einer Client-
Benutzerschnittstelle.
Ihre sinnvolle Funktion im Gesamtsystem setzt insbesondere vor
aus, daß das Proxyobjekt eine Klassifizierung des Jobs nach
Jobarten in Zuordnung zu Methoden entsprechend einer Konkor
danztabelle ausführt und jedem Job einen Jobart-Identifikator
zuordnet. Die Annahme eines Jobs erfolgt in Abhängigkeit vom
Jobart-Identifikator durch eine dem Serverobjekt zugeordnete
Jobverwaltungsstelle. Auf die Formulierung und Übermittlung ei
nes Jobs durch das Proxyobjekt hin referenziert also die Gegen
stelle das Serverobjekt, das zur Ausführung des Jobs geeignet
ist, und ruft die entsprechende Methode auf. Nach Bearbeitung
nimmt sie den Rückgabewert in Empfang, formuliert daraus einen
Antwortjob und sendet diesen zurück an das Proxyobjekt. Dieses
interpretiert wiederum aus dem Antwortjob den Rückgabewert und
leitet ihn weiter zur Client-Benutzerschnittstelle.
Zur Realisierung einer vorteilhaften Lastverteilung werden bei
den Jobverwaltungsstellen Warteschlangen eingerichtet, in die
die dem betreffenden Serverobjekt angebotenen Jobs in der Rei
henfolge ihrer Erzeugung eingegliedert werden, wobei die Job
verwaltungsstellen nach Abarbeitung jeweils eines Jobs ein An
forderungssignal für den nächsten Job in der Warteschlange ge
nerieren.
Wenn mehrere Serverobjekte der gleichen Art vorhanden sind, das
heißt für die Bearbeitung eines Jobs aus Sicht des Proxyobjek
tes mehrere Gegenstellen (Jobverwaltungsstellen) in Frage kom
men, so wird jeder dieser Gegenstellen der Job zur Bearbeitung
angeboten. Die Gegenstellen haben eine Warteschlange mit zu be
arbeitenden Jobs. Wenn sie einen Job verarbeitet haben, so for
dern sie den nächsten in ihrer Warteschlange vom Anbieter an.
Die erste Gegenstelle, die den Job anfordert, erhält den Zu
schlag und beginnt mit der Verarbeitung des Jobs. Beim Proxy
objekt als "Joberzeuger" später eintreffende Anforderungen
werden abgelehnt, und die Gegenstellen können zum nächsten Job
in ihrer Warteschlange übergehen.
Dieses Verfahren gewährleistet, daß immer dasjenige Serverob
jekt mit einem Job beauftragt wird, das seine vorherigen bear
beitet hat und Zeit für den nächsten hat. Der Effekt dieser
Vorgehensweise wird nicht negativ beeinflußt durch Jobarten
(Transaktionen), die eine große Varianz in ihrem Ressourcen
bedarf haben, und es kann nicht passieren, daß aufgrund einer
eigentlich veralteten Information über die Auslastung eines
Rechners eine falsche Verteilungsentscheidung getroffen wird.
Die Netzwerkbelastung geht automatisch mit in die Lastvertei
lungsentscheidungen ein. Ein in einem weniger belasteten Netz
werksegment befindlicher Server wird gegebenenfalls die Bewer
bung um einen Job gegen einen weniger belasteten Server in
einem höher belasteten Segment "gewinnen". Die Tatsache, daß
ein Server sich schneller als andere um den Job bewirbt, belegt
seine optimale Eignung zu ihrer Abarbeitung.
Ein wesentlicher Vorteil des vorgeschlagenen Verfahrens besteht
in der Möglichkeit einer transaktions- bzw. jobbasierten Ab
rechnung ("Transaction Billing"). Hierzu wird insbesondere für
jeden Job ein Abrechnungsticket ("Billing Ticket") erzeugt.
Dieses wird erfaßt und über den Sitzungs-Identifikator, mit dem
das Sitzungsmanagement den Job markiert hat, eindeutig einer
bestimmten Benutzersitzung zugeordnet. Das Verfahren hält In
formationen über die Bewertung (Kosten) der verschiedenen Arten
von Jobs. Die Arten der Jobs geben die Methoden der verschiede
nen Serverobjekte wieder.
Das Abrechnungsticket ist eine Botschaft, die keinen fachlichen
Hintergrund hat, sondern den Jobart-Identifikator und den Sit
zungs-Identifikator enthält. Das Abrechnungsticket wird zu ei
ner Abrechnungseinheit gesendet, die den Sitzungs-Identifikator
einem Benutzer zuordnen kann. Die Abrechnungseinheit hält kon
figurierbare Informationen über die Kosten der einzelnen Trans
aktionen, und ist somit jederzeit in der Lage, die Gesamtko
sten, die ein Benutzer in einem Zeitraum verursacht hat, zu er
mitteln.
In einer in Fig. 4 skizzierten Variante wird das Abrechnungs
ticket durch das jeweilige Proxyobjekt erzeugt. Alternativ
hierzu kann es auch von der Jobverwaltungsstelle erstellt wer
den, die den Job für das zugeordnete Serverobjekt angenommen
und die entsprechende Methode aufgerufen hat. In diesem Fall
können variierende Kosten in das Abrechnungsticket mit einflie
ßen, indem ein dynamischer Faktor mit dem in der Abrechnungs
einheit konfigurierten Grundpreis einer Transaktion verrechnet
wird.
Damit die Abrechnungseinheit über die Abrechnungstickets den
Sitzungen Benutzer zuordnen kann, muß ein Benutzer einmal pro
Sitzung authentifiziert und danach bei jedem Abrechnungsticket
identifiziert werden.
Das Verfahren nutzt bevorzugt den Authentisierungsmechanismus
der fachlichen Anwendung. Das System wird so konfiguriert, daß
es den entfernten Methodenaufruf zur Authentisierung eines
Benutzers (Einloggen) erkennen und auch das Ergebnis inter
pretieren kann. Es wird eine Authentisierungsinformation für
die Abrechnungseinheit erzeugt, in der neben dem Sitzungs-
Identifikator auch ein Benutzer-Identifikator enthalten ist.
Die Abrechnungseinheit bildet ab diesem Zeitpunkt die Sitzungs-
Identifikator der nachfolgend im Laufe der Anwendung erhaltenen
Abrechnungstickets auf diesen Benutzer ab. Analog dazu wird der
Vorgang des Ausloggens eines Benutzers behandelt, um die Zuord
nung des Sitzungs-Identifikator zum Benutzer wieder zu lösen.
Ein einfaches Ablaufdiagramm für den Vorgang der Benutzerau
thentisierung zeigt Fig. 5.
Das Verfahren bietet die Möglichkeit, aus Sicherheitsgründen
die Verarbeitung von Jobs zu sperren, deren Sitzungs-Identifi
kator keinem Benutzer zugeordnet ist. Eine "Benutzerenlose"
Sitzung kann zum Beispiel durch eine fehlgeschlagene Authentisierung
und fehlerhaft programmierte oder vorsätzlich mani
pulierte Benutzerschnittstellen verursacht worden sein.
Mit Blick auf besondere Vorteile des vorgeschlagenen Verfahrens
und Systems ist noch auf folgendes hinzuweisen: Aus der Sicht
der Anwendung können sich fachliche Transaktionen aus mehreren
Einzeltransaktionen zusammensetzen. Schlägt eine oder schlagen
mehrere Einzeltransaktionen fehl, so müssen alle zu einer fach
lichen Transaktion gehörenden Einzelvorgänge rückgängig gemacht
werden. Ein das hier beschriebene Verfahren implementierendes
System wird bezüglich fachlicher, zusammengesetzter Transaktio
nen konfiguriert und gewährleistet die Konsistenz der Vorgänge
in einer Anwendung, indem es die Einzeltransaktionen überwacht
und gegebenenfalls deren Stornierung einleitet. Das Verfahren
entkoppelt die Anwendung von nicht-fachlichen Fehlern wie zum
Beispiel Netzwerk- oder Hardwarefehlern. Das System kann Trans
aktionen wiederholen, ohne daß die Anwendung davon betroffen
ist.
Grundsätzlich ist eine Zusammenfassung der oben angesprochenen
Identifikatoren zu einer (nicht-fachlichen) Gesamtkennzeichnung
des jeweiligen Jobs möglich. Speziell repräsentiert auch ein
Sitzungs-Identifikator natürlich zugleich einen Client bzw. ei
ne Client-Benutzerschnittstelle. Der Einsatz eines Benutzer-
Identifikators erlaubt aber - neben der oben erwähnten Sperrung
"mandantenloser" Sitzungen - zudem die Mitführung von Informa
tionen bezüglich eines klassifizierbaren Systemverhaltens des
jeweiligen Benutzers bzw. der Client-Benutzerschnittstelle und
auf dieser Grundlage die Initiierung spezifischer Reaktionen
bei der Abarbeitung.
Die Ausführung der Erfindung ist nicht auf die vorstehend be
schriebene bevorzugte Verfahrensführung beschränkt, sondern
auch in Abwandlungen möglich, die im Rahmen fachgemäßen Han
delns liegen.
Claims (23)
1. Verfahren zum Betrieb eines Datenverarbeitungssystems mit
einer Mehrzahl von jeweils einem Benutzer zugeordneten
Client-Benutzerschnittstellen und mindestens einem mit
diesen verbundenen Server, insbesondere einer Mehrzahl von
Servern, zur Ausführung von verteilten Anwendungen, die
jeweils eine Mehrzahl von Methodenaufrufen umfassen, wobei
auf dem Server oder den Servern eine Mehrzahl von Server
objekten, zur Ausführung der Anwendung implementiert ist
und wobei zur Ausführung der Anwendungen Serverobjekte an
die Client-Benutzerschnittstellen gebunden werden,
dadurch gekennzeichnet, daß
- - jeder aktiven Client-Benutzerschnittstelle zur Ausfüh rung einer Anwendung eindeutig eine Sitzung mit einem Sitzungs-Identifikator zugeordnet wird,
- - aus jedem Methodenaufruf ein Job erzeugt, mit dem Sit zungs-Identifikator versehen und als Botschaft an den Server oder die Server übermittelt,
- - der jeweils übermittelte Job durch das zuerst arbeits bereite Serverobjekt angenommen und unter Verwaltung des Sitzungs-Identifikators ausgeführt und
- - aus dem Ausführungsergebnis ein Antwortjob erzeugt und als Rückgabewert an die Client-Benutzerschnittstelle übermittelt wird, von der der Methodenaufruf ausging.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet, daß
die Client-Benutzerschnittstellen als native ausführbare
Programme, HTML- oder WML-Clients oder Java-Applikationen
oder -Applets mit vorbestimmtem Programmablauf ausgebildet
sind.
3. Verfahren nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß
zu Beginn jeder Sitzung ein Proxyobjekt an die Client-Be
nutzerschnittstelle gebunden wird, welches dieser gegen
über die Kommunikationseigenschaften eines Serverobjektes
zeigt und aus den Methodenaufrufen die Jobs erzeugt und
mit dem Sitzungs-Identifikator versieht.
4. Verfahren nach Anspruch 3,
gekennzeichnet durch
die Implementierung einer Mehrzahl von Proxyobjekten, wo
bei jedes Proxyobjekt nur von einer Client-Benutzer
schnittstelle gebunden sein, eine Client-Benutzerschnitt
stelle aber mehrere Proxyobjekte binden kann.
5. Verfahren nach Anspruch 3 oder 4,
dadurch gekennzeichnet, daß
das Proxyobjekt eine Klassifizierung des Jobs nach Jobar
ten in Zuordnung zu Methoden entsprechend einer Konkor
danztabelle ausführt und jedem Job einen Jobart-Identi
fikator zuordnet.
6. Verfahren nach Anspruch 5,
dadurch gekennzeichnet, daß
die Annahme eines Jobs in Abhängigkeit vom Jobart-Identi
fikator durch eine dem Serverobjekt zugeordnete Jobverwal
tungsstelle erfolgt.
7. Verfahren nach Anspruch 6,
dadurch gekennzeichnet, daß
die Jobverwaltungsstellen den Serverobjekten gegenüber im
wesentlichen die Kommunikationseigenschaften einer Client-
Benutzerschnittstelle zeigen.
8. Verfahren nach Anspruch 6 oder 7,
dadurch gekennzeichnet, daß
bei den Jobverwaltungsstellen Warteschlangen eingerichtet
werden, in die die dem betreffenden Serverobjekt angebote
nen Jobs in der Reihenfolge ihrer Erzeugung oder gemäß ei
ner vorgegebenen Priorisierung eingegliedert werden, wobei
die Jobverwaltungsstellen nach Abarbeitung jeweils eines
Jobs ein Anforderungssignal für den nächsten Job in der
Warteschlange generieren.
9. Verfahren nach einem der Ansprüche 5 bis 8,
dadurch gekennzeichnet, daß
die Jobart-Identifikatoren durch dem Proxyobjekt bzw. den
Proxyobjekten nachgeordnete Jobvermittlungsstellen zur Zu
weisung der Jobs an zu ihrer Ausführung geeignet ausgebil
dete Serverobjekte ausgewertet werden.
10. Verfahren nach einem der vorangehenden Ansprüche,
dadurch gekennzeichnet, daß
zu Beginn einer Sitzung über die Client-Benutzerschnitt
stelle eine Identifizierung und Authentisierung des Benut
zers ausgeführt und die Zuweisung eines Sitzungs-Identi
fikators erst nach erfolgter Authentisierung und in Ver
bindung mit der Zuweisung eines Benutzer-Identifikators
vorgenommen wird.
11. Verfahren nach Anspruch 10,
dadurch gekennzeichnet, daß
die Erzeugung und/oder Übermittlung eines Jobs nur bei
Vorhandensein eines Benutzer-Identifikators ausgeführt
wird.
12. Verfahren nach Anspruch 10 oder 11,
dadurch gekennzeichnet, daß
beim Ausloggen eines Benutzers die Verbindung zwischen
Sitzungs-Identifikator und Benutzer-Identifikator aufgeho
ben wird.
13. Verfahren nach einem der Ansprüche 9 bis 12,
dadurch gekennzeichnet, daß
spezifische Benutzer-Identifikatoren in Abhängigkeit von
einem klassifizierbaren Systemverhalten des jeweiligen Be
nutzers bzw. der Client-Benutzerschnittstelle vergeben und
durch das jeweilige Proxyobjekt zur Ableitung spezifischer
Reaktionen ausgewertet werden.
14. Verfahren nach einem der Ansprüche 10 bis 13,
dadurch gekennzeichnet, daß
in Verbindung mit der Ausführung eines Jobs der Jobart-
Identifikator und Benutzer-Identifikator und/oder Sit
zungs-Identifikator zur Abrechnung der Ausführung eines
Methodenaufrufes unter Nutzung einer Jobart-Kostenbetrag-
Zuordnungstabelle ausgewertet werden.
15. Verfahren nach Anspruch 14,
dadurch gekennzeichnet, daß
die Auswertung eine sitzungs- und/oder benutzerbezogene
Aufsummierung von Job-Kostenbeträgen umfaßt.
16. Verfahren nach Anspruch 14 oder 15,
dadurch gekennzeichnet, daß
bei jeder Ausführung eines Jobs, insbesondere durch das
Proxyobjekt oder die Jobverwaltungsstellen, ein Abrech
nungsticket erzeugt und an eine Abrechnungseinheit über
mittelt wird.
17. Anordnung zur Durchführung des Verfahrens nach einem der
vorangehenden Ansprüche, mit
- - einer Mehrzahl von jeweils einem Benutzer zugeordneten Client-Benutzerschnittstellen, die zu Methodenaufrufen bei der Ausführung von Anwendungen ausgebildet sind,
- - mindestens einem Server, insbesondere einer Mehrzahl von Servern, auf dem bzw. denen eine Mehrzahl von Serverobjekten zur Abarbeitung der Methodenaufrufe imple mentiert ist,
- - mindestens einem zwischen die Client-Benutzerschnitt stellen und die Serverobjekte geschalteten Proxyobjekt, insbesondere einer Mehrzahl von Proxyobjekten, zur Ge nerierung von Jobs aus Methodenaufrufen und zur Zuwei sung jeweils eines Sitzungs-Identifikators zu jedem Job und zur Weiterleitung der Jobs als Botschaften, wobei das oder jedes Proxyobjekt gegenüber den Client-Benut zerschnittstellen die Kommunikationseigenschaften eines Serverobjektes zeigt, und
- - den Serverobjekten zugeordnete Jobverwaltungsstellen zur Organisation der Annahme und Abarbeitung von Jobs durch das jeweilige Serverobjekt, wobei die Jobverwal tungsstellen den Serverobjekten gegenüber im wesentli chen die Kommunikationseigenschaften einer Client-Be nutzerschnittstelle zeigen.
18. Anordnung nach Anspruch 17,
dadurch gekennzeichnet, daß
das oder jedes Proxyobjekt zur Klassifizierung der Jobs
nach Jobarten und zur Zuweisung eines Jobart-Identifika
tors ausgebildet ist, wobei dem Proxyobjekt oder den
Proxyobjekten insbesondere ein erster Konkordanzspeicher
zur Speicherung einer Methoden-Jobart-Konkordanztabelle
zugeordnet ist.
19. Anordnung nach Anspruch 17 oder 18,
dadurch gekennzeichnet, daß
die Client-Benutzerschnittstellen zur Identifizierung und
Authentisierung des Benutzers ausgebildet sind.
20. Anordnung nach einem der Ansprüche 17 bis 19,
dadurch gekennzeichnet, daß
das oder jedes Proxyobjekt zur Auswertung eines spezifi
schen Benutzer-Identifikators zur Ableitung spezifischer
Reaktionen ausgebildet ist.
21. Anordnung nach einem der Ansprüche 17 bis 20,
gekennzeichnet durch
eine Abrechnungseinheit zur sitzungs- und/oder benutzerbe
zogenen Abrechnung der Ausführung einer Anwendung unter
Auswertung des Jobart-Identifikators und Benutzer-Identi
fikators und/oder Sitzungs-Identifikators.
22. Anordnung nach Anspruch 21,
dadurch gekennzeichnet, daß
die Abrechnungseinheit zur Auswertung von durch das Proxy
objekt bzw. die Proxyobjekte oder die Jobverwaltungsstel
len erzeugten und übermittelten Abrechnungstickets ausge
bildet ist.
23. Anordnung nach Anspruch 21 oder 22,
dadurch gekennzeichnet, daß
dem Proxyobjekt bzw. den Proxyobjekten oder den Jobverwal
tungsstellen ein zweiter Konkordanzspeicher zur Speiche
rung einer Jobart-Kostenbetrag-Konkordanztabelle zugeord
net ist.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10016531A DE10016531A1 (de) | 2000-04-03 | 2000-04-03 | Verfahren zum Betrieb eines Datenverarbeitungssystems |
AU46524/01A AU4652401A (en) | 2000-04-03 | 2001-04-02 | Method for operating a data processing system |
PCT/EP2001/003721 WO2001076171A2 (de) | 2000-04-03 | 2001-04-02 | Verfahren zum betrieb eines datenverarbeitungssystems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10016531A DE10016531A1 (de) | 2000-04-03 | 2000-04-03 | Verfahren zum Betrieb eines Datenverarbeitungssystems |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10016531A1 true DE10016531A1 (de) | 2001-10-11 |
Family
ID=7637434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10016531A Withdrawn DE10016531A1 (de) | 2000-04-03 | 2000-04-03 | Verfahren zum Betrieb eines Datenverarbeitungssystems |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU4652401A (de) |
DE (1) | DE10016531A1 (de) |
WO (1) | WO2001076171A2 (de) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5884316A (en) * | 1996-11-19 | 1999-03-16 | Microsoft Corporation | Implicit session context system with object state cache |
US6023722A (en) * | 1996-12-07 | 2000-02-08 | International Business Machines Corp. | High-availability WWW computer server system with pull-based load balancing using a messaging and queuing unit in front of back-end servers |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5617570A (en) * | 1993-11-03 | 1997-04-01 | Wang Laboratories, Inc. | Server for executing client operation calls, having a dispatcher, worker tasks, dispatcher shared memory area and worker control block with a task memory for each worker task and dispatcher/worker task semaphore communication |
US5774668A (en) * | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
US5815665A (en) * | 1996-04-03 | 1998-09-29 | Microsoft Corporation | System and method for providing trusted brokering services over a distributed network |
-
2000
- 2000-04-03 DE DE10016531A patent/DE10016531A1/de not_active Withdrawn
-
2001
- 2001-04-02 AU AU46524/01A patent/AU4652401A/en not_active Abandoned
- 2001-04-02 WO PCT/EP2001/003721 patent/WO2001076171A2/de active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5884316A (en) * | 1996-11-19 | 1999-03-16 | Microsoft Corporation | Implicit session context system with object state cache |
US6023722A (en) * | 1996-12-07 | 2000-02-08 | International Business Machines Corp. | High-availability WWW computer server system with pull-based load balancing using a messaging and queuing unit in front of back-end servers |
Also Published As
Publication number | Publication date |
---|---|
AU4652401A (en) | 2001-10-15 |
WO2001076171A3 (de) | 2002-04-11 |
WO2001076171A2 (de) | 2001-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69734432T2 (de) | Verfahren und Vorrichtung zur Absendung von Clientverfahrenanrufen in einem Server Rechnersystem | |
DE69832406T2 (de) | Kombiniertes internet-und datenzugangssystem | |
DE69404146T2 (de) | Konfliktauflösungsverfahren zwischen einheiten in einem verteilten system | |
DE60125705T2 (de) | Vorrichtung und Verfahren zur Implementierung eines HTTP Programmstacks auf einem Client | |
DE69733543T2 (de) | Verfahren zum Anbieten von wenigstens einem Dienst an Fernmeldenetzbenutzern | |
DE69732221T2 (de) | Verfahren zum Anbieten von einem Dienst an Fernmeldenetzbenutzern | |
DE69812899T2 (de) | Webagent zur anforderung von mehreren prozessen | |
DE60109709T2 (de) | Datenverwaltungsrahmenwerk für Verfahrensverwaltung | |
DE602004004321T2 (de) | Vorrichtung und Verfahren zur Echtzeitbeurteilung einer Netzverwaltungsregel | |
DE69912317T2 (de) | Vorrichtung und verfahren zur bestimmung einer programmnachbarschaft für einen kundenknoten in einem kundenbedienernetzwerk | |
DE69824444T2 (de) | Verfahren und system zur durchsetzung eines kommunikationsicherheitsverfahrens | |
DE69719620T2 (de) | Vorrichtung und Verfahren zur Bestimmung von Server-Cluster-Topologien | |
DE112005001995B4 (de) | Computeranordnung und Verfahren zum Anbieten von Diensten für Benutzer über ein Netzwerk | |
DE10205108A1 (de) | System und Verfahren zum Zugreifen auf Softwarekomponenten in einer verteilten Netzwerkumgebung | |
DE102004060757A1 (de) | Effiziente Handhabung von Download-Anfragen | |
EP0825524A1 (de) | Verfahren zur Verwaltung der Benennung von Objekten | |
DE10116640A1 (de) | Auf URL beruhende Token für schwierige Verteilungen, die einen serverseitigen Cookiebehälter benutzen | |
DE602004008483T2 (de) | Analyseverfahren für benutzeranforderungen | |
WO2013087610A1 (de) | Vorrichtung und verfahren zum dynamischen lastmanagement von cloud services | |
DE19838055A1 (de) | Kommunikationssystem | |
DE69731182T2 (de) | Nachrichtenverfahren zwischen einer Dienstvermittlungsstelle und einer Dienstkontrolleinrichtung in einem Fernmeldenetz | |
DE60313231T2 (de) | System zur Netzwerkverwaltung mit Regelüberprüfung | |
EP2648094B1 (de) | Verfahren und system zum erzeugen eines quellcodes für ein computerprogramm zur ausführung und simulation eines prozesses | |
DE60210356T2 (de) | Verwalter von Dienststufenübereinkommen in einem Datennetz | |
DE69714066T2 (de) | Verkehrssteuerung in einem kommunikationsnetz |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8139 | Disposal/non-payment of the annual fee |