-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung:
-
Die
vorliegende Erfindung bezieht sich im Allgemeinen auf ein Rollen-basiertes
Computersystem das Computeranwendungdienste auslöst bzw. triggert und insbesondere
bezieht sie sich auf ein Verfahren, ein Computerprogrammprodukt
und ein System für
die Justierung der Rollen in einem ununterbrochen sich ändernden
betrieblichen Umfeld bzw. Geschäftsumfeld.
-
Beschreibung des Standes der Technik:
-
1 veranschaulicht
ein vereinfachtes Diagramm von Computern 1 bis N, die durch
lokale Netzwerke (LAN) oder Fernnetze bzw. "großräumige Netze" (WAN), oder andere
bekannte Computernetze zusammengeschaltet werden. Ein Computerbenutzer
identifiziert sich selbst zu einem so genannten Rollensystem (z.B. auf
Computer 3) über
eine Mensch-Maschine-Schnittstelle, wie einen Anzeigeschirm mit
einer Tastatur als Eingabegerät
oder dergleichen (z.B. auf Computern 1–2) und benutzt einige
oder alle Anwendungsdienste ("WIE" bzw. "AS" z.B. auf Computern 4–6).
-
Solche
computer-gestützten
Systeme werden benutzt und sind vom lebenswichtigen Wert in fast
allen Organisationen wie, z.B. in Produktionsanlagen, in Reisebüros, in
Callcentern, in Geldinstituten, in Geschäftsorganisationen, usw..
-
In
jeder Organisation teilen Gruppen von Benutzern mit ähnlichen
Verantwortlichkeiten Anwendungsdienste, die Teil von Geschäftsanwendungen
sind und in den Geschäftsabläufen verwendet
werden, während andere
Gruppen von Benutzern mit an deren vorbestimmten Verantwortlichkeiten
andere Anwendungsdienste von andere Geschäftsanwendungen, die im selben
oder anderen Geschäftsablauf
verwendet werden, benötigen.
Die Geschäftsanwendungen,
welche die Anwendungsdienste bereitstellen (AS), werden z.B. auf
dedizierten Computern 4 bis 6 gehostet. Das Rollensystem,
das auf Computer 3 gehostet wird, liefert vorbestimmte Repräsentationen
dieser Anwendungsdienste zum Benutzer (in 1 nicht
gezeigt). Den vorbestimmten Repräsentationen
werden Rollen zugewiesen (z.B. 10, 11, 12).
Die Anwendungsdienste, die zu einer speziellen Rolle gehören, werden
zum Benutzer durch eine Mensch-Maschine-Schnittstelle (z.B. auf
den Sichtanzeigegeräten
am vorderen Ende von Computern 1, 2, ..., N) z.B.
durch graphische Symbole, wie Icons, angezeigt. Die Anwendungsdienste
AS, die unterschiedlichen Rollen zugewiesen werden, sind in einer
Weise ergänzend, dass
diese Rollen alle zusammen Anwendungsdienste abdecken, die in einem
speziellen Geschäftsablauf durchgeführt werden
müssen.
-
Das
heißt,
Rollen verbinden Benutzer und Geschäftsabläufe. Z.B. erhält ein Einkaufsagent
Zugang zu allen Anwendungsdiensten, die er oder sie innerhalb des
Auftragserfüllungsvorgangs
benötigt,
wie Überprüfen von
Lieferantenpreisen für
ein bestimmtes Produkt über
das Internet und Durchführen
einer Kaufverhandlung für
dieses spezielle Produkt. Parallel dazu könnte der Einkaufsagent in einen
Vorgang zur Entwicklung neuer Produkte mit einbezogen sein, bei
dem neue Lieferanten für
neue Teile herausgefunden werden müssen und über Preise für diese
neuen Teile verhandelt werden muss. Alle erforderlichen Anwendungsdienste
zum Stützen
dieser Geschäftsabläufe können von
dem Benutzer bequem erreicht werden, dem die Rolle eines Einkaufsagenten
zugewiesen wurde.
-
Es
ist ein Vorteil, dass innerhalb einer Rolle die Gesamtzahl an Anwendungsdiensten,
die in den verbundenen Anwendungssystemen vorhanden sind, nicht
angezeigt wird. Statt dessen zeigen Rollen nur Anwendungsdienste
an, die von einem speziellen Benutzer angefordert werden. Dadurch
helfen Rollen, die Kompliziertheit der Gesamtsystemlandschaft vor
dem Benutzer zu verbergen. Dies verbessert die Brauchbarkeit der
Mensch-Maschine-Schnittstelle für
den Benutzer.
-
Jedoch ändern sich
Anwendungsdienste ständig;
es liegt im Ermessen der Organisation die Anwendungsdienste zu entfernen,
zuzufügen
oder anderweitig zu ändern z.B.
wenn sich Geschäftsabläufe innerhalb der
Organisation ändern
oder wenn Anwendungsdienste aktualisiert werden (z.B. durch eine
neue Freigabe eines Anwendungssystems). Dieses wird für das Handhaben
des organisatorischen Wissens besonders wichtig, da dieses Wissen
immer mehr Bedeutung bei der Durchführung der Geschäftsabläufe gewinnt.
Das heißt, Dokumentdienstleistungen,
die dieses Wissen liefern, werden im Zuge einer organisatorischen Änderung manchmal
täglich
geändert.
-
Weiterhin ändern sich
auch die Benutzer dieser Anwendungsdienste: Leute treten der Organisation bei
oder verlassen diese, werden befördert
oder verschieben Verantwortlichkeiten innerhalb der Organisation. Wenn
Leute ersetzt werden, bleiben die Rollen dieselben, aber, wenn Leute
durch Training ihre Fähigkeit
erhöhen,
dann müssen
ihre Rollen justiert werden.
-
Weiterhin
muss die Auswahl von Diensten, die für einen einzelnen Benutzer überhaupt
vorhanden sind, mit vorbestimmten Richtlinien und Kriterien übereinstimmen.
Z.B. muss ein Benutzer am Zugriff von konfliktträchtigen Diensten gehindert
werden, spezielle Benutzer müssen
Zugang zu den gegenseitig abhängigen Diensten
haben.
-
Folglich
erfordert das Rollensystem (auch "Rollen-Repository") ständig
eine Justierung seiner Rollendefinitionen. Dieses erschwert die
Verwaltung vom Rollensystem und erfordert viel manuelle Rollen-Administrations-Arbeit.
Z.B. muss ein Rollen-Administrator
jede Rolle manuell ändern
bzw. modifizieren. Häufig
hat eine kleine Änderung
in einem Geschäftsablauf
Auswirkung auf viele unterschiedliche Rollen. Der Verwalter bzw. Administrator
muss zudem die Rollen-Konsistenz über alle Rollen kontrollieren,
wann immer Rollen-Upgrades ausgeführt werden, oder wenn Rollen
sich aus anderen Gründen ändern, wie
vorher erläutert.
Dies kann Hunderte Rollen beeinflussen, bei denen der Verwalter
die Änderungen
mit den vorbestimmten Richtlinien und Kriterien vergleichen muss,
um kontroverse Dienste innerhalb einer Rolle zu vermeiden.
-
Moffett
J. D. et al., "The
uses of role hierarchies in access control", Proceedings 4th ACM Workshop an Role-Based
Access Control, Proceedings of RBAC '99: 4th ACM Workshop an Role-Based Access
Control, Fairfax, VA, USA, 28.–29.
Okt. 1999, Sei ten 153 bis 160 bezieht sich auf die Verwendung von
Rollen in einer Organisation zur Zugriffssteuerung oder ein verbessertes
Rollen-basiertes System der Zugriffssteuerung (RBAC). Insbesondere
lehrt die Literaturstelle, wie Delegieren von Verantwortlichkeit
und Verbreitung der Zugriffsrechte in einer hierarchischen Rollenstruktur
modelliert werden können.
-
Es
ist eine Aufgabe der vorliegenden Erfindung, Automatisierung der
Rollenänderungen,
die einer Organisation auferlegt werden, bereitzustellen.
-
Diese
Aufgabe wird durch das Verfahren gemäß Anspruch 1, das Computerprogramm-Produkt
gemäß Anspruch
14, das Computer-lesbare Mittel gemäß Anspruch 17 und das Computersystem
gemäß Anspruch 18
gelöst.
-
Bevorzugte
Ausführungsformen
sind Gegenstand der abhängigen
Unteransprüche.
-
Die
Automatisierung der Rollenänderung
wird erzielt, indem man ein "Delta-Listen-Konzept" in Verbindung mit
einem "Call-by-Reference-Konzept" für Rollen
einführt,
die zu anderen Rollen referenzieren. In den großen Organisationen kann die
Zahl Rollen höher
als 1000 sein. Es gibt das technische Problem, alle diese Rollen
gemäß den gesetzlichen
Anforderungen und den Grundsätzen
der Organisation konsistent zu halten.
-
Das "Delta-Listen-Konzept" in Verbindung mit
dem "Call-by-Reference-Konzept" und die Benutzung einer "Regel-Datenbank" bzw. "Rules-Datenbank", wie in den Ansprüchen 1–18 definiert,
löst auch
das technische Problem des Konsistent-Haltens vieler Rollen innerhalb
einer Organisation. Das "Call-by-Reference-Merkmal" erlaubt sofortige
Verfügbarkeit
aller Änderungen
einer Kindrolle für
alle Elternrollen, die die Kindrolle referenzieren, und die "Regel-Datenbank" stellt sicher, dass
alle Eintragungen, die in der Delta-Liste für entsprechende Referenzen
zwischen den Rollen erfolgen, den gesetzlichen Anforderungen und
den Grundsätzen
der Firma treu bleiben.
-
Weiterhin
ist der Zugriff auf eine Rolle für
Anwendungsdienste für
eine Organisation vom Gesichtspunkt der Sicherheit kritisch. Folglich
müssen
spezielle Benutzer auf zusätzliche
Anwendungsdienste Zugriff haben, die über ihre Rollen nicht zugänglich sind,
oder die Benutzer müssen
an dem Zugang zu Anwendungsdiensten gehindert werden, die durch
ihre Rollen erreicht werden können.
In beiden Fällen
entsteht ein technisches Problem, um automatisch erstellte Delta-Listen
wieder aufzuheben, die auf der Grundlage der Regel-Datenbank erstellt
wurden, weil für
spezielle Rollen, die diesen speziellen Benutzern zugewiesen wurden, die
Regel-Datenbank nicht zutreffen könnte und eine Ausnahme erforderlich
wird. Die Merkmale von Anspruch 7 definieren eine Lösung zu
diesem Problem durch Bereitstellen der Möglichkeit für einen Verwalter zur Zurückweisung
oder Akzeptanz aller Änderungen
einer Rolle.
-
Die
von der vorliegenden Erfindung bereitgestellte Lösung ist gerichtet auf:
- a) ein Verfahren, wie in Ansprüchen 1–13 definiert,
zum Ändern
von Rollen, die Anwendungsdienste in Betrieb zu nehmen;
- b) ein Computerprogrammprodukt, wie in Ansprüchen 14–16 definiert, zum Bereitstellen
von Repräsentationen
der Anwendungsdienste einem Benutzer in Abhängigkeit von den Rollen des
Benutzers;
- c) ein Computersystem, wie in Ansprüchen 17 und 18 definiert, zur
Inbetriebnahme von Anwendungsdiensten über Rollen und zum Ändern bzw.
Modifizieren der Rollen; und
- d) ein Computer-lesbares Mittel bzw. Medium, wie in Ansprüchen 19–22 definiert,
mit einer Mehrzahl von Befehlsfolgen darauf gespeichert, für das Durchführen der
Schritte des Verfahrens unter a), wenn sie mit einem oder mehr Prozessoren
durchgeführt
werden.
-
Diese
und andere Merkmale der vorliegenden Erfindung werden aus einer
Beschreibung der bevorzugten Ausführungsformen mit Bezug auf
die beigefügten
Figuren deutlich.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 veranschaulicht
ein vereinfachtes Schema eines Computernetzes mit Computersystemen 1–6, die
zusammengeschaltet werden;
-
2 veranschaulicht
einen ersten Betriebszustand eines Rollensystems, das mit den Anwendungsdiensten
verbunden wird und gemäß der vorliegenden
Erfindung funktioniert;
-
3 veranschaulicht
einen zweiten Betriebszustand des Rollensystems, das mit den Anwendungsdiensten
verbunden wird;
-
4 veranschaulicht
ein vereinfachtes Fließdiagramm
eines Verfahrens, um durch Erstellen einer Delta-Liste Rollen zu ändern;
-
5 veranschaulicht
eine bevorzugte Ausführungsform
für Schritt 440 in
dem Verfahren, das in 4 gezeigt wird;
-
6 veranschaulicht
eine bevorzugte Ausführungsform
des Fragestellers bzw. der Abfrageeinrichtung, der/die in 3 gezeigt
wird;
-
7 veranschaulicht
ein Rollen-Hierarchie-Schema;
-
8 veranschaulicht
ein vereinfachtes Blockdiagramm eines Computersystems zur Inbetriebnahme von
Anwendungsdiensten durch Rollen und das Ändern der Rollen; und
-
9 veranschaulicht
eine bevorzugte Ausführungsform
zur Repräsentation
von Repräsentationen der
Anwendungsdienste dem Benutzer.
-
AUSFÜHRLICHE BESCHREIBUNG EINER
BEVORZUGTEN AUSFÜHRUNGSFORM
-
2 veranschaulicht
einen ersten Betriebszustand eines Rollensystems 100, das
gemäß der vorliegenden
Erfindung funktioniert und mit den Anwendungsdienste 301–307 verbunden
wird (markiert mit "AS"). Anwendungsdienste 301–307 werden
von einer Mehrzahl von Anwendungssystemen 350 bereitgestellt.
Zur einfacheren Erklärung
werden die einzelnen Systeme, die von Mehrzahl 350 umfasst
werden, nicht gezeigt. Jedes System in Mehrzahl 350 wird
an Rollensystem 100 zur Datenübertragung zwischen Rollensystem 100 und
Mehrzahl 350 der Anwendungssysteme angeschlossen. Die vorliegende
Erfindung wird in Rollensystem 100 ausgeführt; Anwendungsdienste 301–307 sind
als solche bekannt.
-
Zur
einfacheren Erklärung
werden Rollensystem 100 und Anwendungsdienste 301–307 als
Computerprogrammprodukte angesehen. System 100 enthält Rollen 110, 150 mit
den Anwendungsdienst-Repräsentationen 101–107 (markiert
mit "ASR").
-
Diese
Anwendungsdienst-Repräsentationen 101–107 haben
logische Verknüpfungen
(gestrichelte Pfeile 101-1 bis 107-1) zu den jeweiligen
Anwendungsdiensten 301–307.
Anwendungsdienst-Repräsentationen 101 bis 103 werden
Rolle 110 zugewiesen und Anwendungsdienst-Repräsentationen 104 bis 105 werden Rolle 150 zugewiesen.
Die Zuordnungen werden als Volllinien 101-2 bis 105-2 zwischen
den Repräsentationen 101 bis 105 und
Rollen 110 und 150 gezeigt.
-
Rollen 110 und 150 haben
ein Eltern-Kind-Verhältnis 111,
worin die Elternrolle 110 die Kindrolle 150 durch
Referenz 111 aufruft. Es ist wichtig, dass Rollen 110 und 150 nicht
notwendigerweise alle Anwendungsdienste bereitstellen müssen, die
von einem Benutzer einer Organisation benötigt werden, sondern auch einfach
als Bausteine für
andere Rollen betrachtet werden können.
-
System 100 und
Dienste 301–307 können Software
sein, die auf einem oder mehreren Computern ausgeführt wird,
die einen oder mehrere Prozessoren, Speicher, Busse, lokale oder
Fernnetze und andere Elemente enthalten. Datenformate und Datenprotokolle
für einen
Datenaustausch zwischen den unterschiedlichen Bestandteilen im Netz
sind bekannt und werden folglich nicht weiter besprochen.
-
Wenn
sich der Benutzer zu Rollensystem 100 anmelden möchte, fragt
zuerst Rollensystem 100 eine Identifizierung vom Benutzer
ab, um festzustellen, welche Rolle dem Benutzer zugewiesen wird.
Es können auch
weitere Rollen dem Benutzer zugewiesen werden, wenn der Benutzer
Zugang zu den weiteren Anwendungsdiensten benötigt, die keine Repräsentationen
in der ersten Rolle des Benutzers haben. Sobald die Rollen festgestellt
sind, nimmt System 100 die Anwendungsdienste 301–305 für den Benutzer
nur über
Anwendungsdienst-Repräsentationen 101–105 oder 104–105 in
Betrieb, abhängig
von der Zuweisung des Benutzers zu entweder der ersten Rolle 110 beziehungsweise
der zweiten Rolle 150.
-
Die
Bezeichnung "Inbetriebnahme" bedeutet, die Ausführung eines
angeforderten Anwendungsdienstes auszulösen. Dieses kann entweder mit
oder ohne zusätzliche
Interaktion vom Benutzer erfolgen. Im Fall einer Interaktion, bietet
System 100 dem Benutzer gegebenenfalls graphische Repräsentationen
(wie Icons, Text auf dem Schirm) der Anwendungsdienste 301–307 an.
Der Benutzer wählt
eine der graphi schen Repräsentationen
und der entsprechende Anwendungsdienst wird in dem entsprechenden
Anwendungssystem in Betrieb genommen. Die Reihenfolge der graphischen
Repräsentationen
begrenzt nicht den Umfang der Erfindung; jedoch kann die Reihenfolge
gegebenenfalls vorbestimmt werden, z.B. um die graphischen Repräsentationen
in der gleichen Reihenfolge zu darzustellen, wenn die entsprechenden
Anwendungsdienste innerhalb eines Geschäftsablaufes ausgeführt werden
müssen.
-
3 veranschaulicht
einen zweiten Betriebszustand von Rollensystem 100 gemäß der vorliegenden Erfindung,
in dem Rollen 110 und 150 (vgl. 2)
während
des Betriebes von System 100 geändert werden (vgl. Verfahren 400 in 4),
weil z.B. ein Geschäftsablauf,
der in der Organisation jetzt geändert
wurde, die Justierung von Rollen entsprechend den Änderungen
erfordert. Zur einfacheren Erklärung
wird angenommen, dass zusätzliche
Repräsentationen
der Anwendungsdienste (106 und 107) (106-2, 107-2)
Rolle 150 zugewiesen werden. Fachleute können Änderung
von Rollen anwenden, wie auch in der vorliegenden Erfindung beschrieben,
wenn Repräsentationen
der Anwendungsdienste von einer Rolle entfernt oder ersetzt werden.
-
Elemente
von Rollensystem 100, die Rollenänderungen entsprechend der
Verfahren 400 erleichtern, das in 4 beschrieben
wird, werden in 3 veranschaulicht: ein Delta-Generator 113 empfängt Änderungsdaten
von der ersten Rolle 110 über Anschluss 120.
Die Änderungsdaten
werden mit den Richtlinien verglichen, die in Regel-Datenbank 118 gespeichert
sind, die 119 an Delta-Generator 113 angeschlossen
ist. Es ist keine Begrenzung für
die Erfindung, dass Regel-Datenbank 118 nicht Teil von
Rollensystem 100 ist (wie in 3 gezeigt).
Delta-Generator 113 erstellt die Delta-Liste 112,
die Referenz 111 über
Anschluss 199 zugewiesen wird. Fragesteller 115 empfängt auch
die Änderungsdaten
von der ersten Rolle 110 über Anschluss 120 und
aktualisiert Delta-Liste 112 über Anschluss 129.
Einzelheiten werden unter 4–9 erläutert.
-
4 veranschaulicht
ein vereinfachtes Fließdiagramm
von Verfahren 400 gemäß der vorliegenden Erfindung.
Verfahren 400 wird vorzugsweise durch Rollensystem 100 zum Ändern von
Rollen durchgeführt,
die Anwendungsdienste (z.B. 301–307) für einen
ersten Benutzer (nicht gezeigt) in Betrieb nehmen, dem entweder
Rolle 110 oder Rolle 150 zugewiesen wird. Verfahren 400 enthält die Schritte,
die Dienste 410 repräsentieren,
Rollen 420 referenzieren, Repräsentationen 430 ändern und
Delta-Liste 440 erstellen.
-
In
Schritt 410 repräsentiert
System 100 Anwendungsdienste 301–305 in
Rolle 110 mit einem ersten Satz (z.B., 101, 102, 103)
Repräsentationen
und Rolle 150 mit einem zweiten Satz (z.B., in 104,
in 105) Repräsentationen.
System 100 macht diese Sätze von Repräsentationen
für jede
Rolle 110, 150 auf einem Sichtanzeigegerät (z.B.
Monitor) sichtbar, indem es z.B. ein spezielles Icon für jede Repräsentation
verwendet. Vorzugsweise liefert System 100 (Schritt 410)
Repräsentationen
des ersten Satzes (101, 102, 103) und
des zweiten Satzes (104, 105), die unterschiedlich
sind. Das heißt,
der Schnittpunkt zwischen dem ersten und zweiten Satz ist null.
Das bedeutet, dass jede Rolle 110, 150 nur das
Minimum Dienst-Repräsentationen
enthält,
die durch die Geschäftsabläufe erforderlich
sind, um Redundanzen im Inhalt von Rollen zu vermeiden.
-
In
Schritt 420, ruft die erste Rolle 110 die zweite
Rolle 150 durch Referenz 111 auf.
-
In
Schritt 430 ändert
System 100 (z.B. durch das Anbringen eines Rollen-Upgrades)
den zweiten Satz von Repräsentationen 104, 105 in
Rolle 150 (was z.B. 104, 105, 106, 107 vgl. 3 ergibt). Über Referenz 111 werden
diese Änderungen
auch sofort für
Rolle 110 gültig.
-
In
Schritt 440 erstellen Delta-Generator 113 und
Fragesteller 115 Delta-Liste 112 mit Delta-Eintragungen 114 für Referenz 111.
Vorzugsweise hindert Delta-Liste 112 Rolle 110 am
Referenzieren zu zumindest einigen der Änderungen im zweiten Satz von
Repräsentationen 104, 105, 106, 107 in
Rolle 150. Die Zuweisung der Delta-Liste 112 zu
Referenz 111 wird als punktierte Linie 116 dazwischen
symbolisiert. Im Beispiel, das in 3 gezeigt
wird, veranlassen vorbestimmte Richtlinien in der Regel-Datenbank 118 (weitere
Details unten) den Delta-Generator 113 zu entscheiden,
dass Anwendungsdienst-Repräsentation 106,
obgleich jetzt Rolle 150 zugewiesen, nicht ein Teil von
Rolle 110 sein darf. Folglich erstellt Delta-Generator 113 Delta-Liste 112 und
schreibt Delta-Eintragung 114 "-106" in
Delta-Liste 112. Das Minuszeichen von Delta-Eintragung "-106" (vgl. 3)
veranschaulicht Ausschluss von Repräsentation 106 von
Rolle 110.
-
Bei
genauerer Betrachtung von Verfahren 400 ändert in
Schritt 430 System 100 den zweiten Satz an Repräsentationen
(104, 105) (vgl. 2) in Rolle 150 durch
Hinzufügen
oder Entfernen von Repräsentationen der
Anwendungsdienste. Für
addierte Repräsentationen 106, 107 (vgl. 3)
erstellt Delta-Generator 113 Delta-Liste 112 als
Ausschlussliste (negative Delta-Eintragungen 114). System 100 hindert
Rolle 110 an der Inbetriebnahme von Anwendungsdiensten 306,
wobei die entsprechenden Repräsentationen 106 durch
Delta-Liste 112 durch Delta-Eintragung 114 "-106" ausgeschlossen werden.
Dementsprechend erstellt für
Repräsentationen,
die vom zweiten Satz entfernt wurden, Delta-Generator 113 Delta-Liste 112 als
Einschlussliste, die diese Repräsentationen
anzeigt, die von Rolle 150 entfernt worden sind, aber noch
durch Rolle 110 in Betrieb genommen werden. Delta-Generator 113 erstellt
Liste 112 ohne menschliche Interaktion, z.B. durch Anwenden
von Richtlinien, die in Look-up Regel-Datenbank 118 gespeichert
wurden, die an 119 (vgl. 3) an Delta-Generator 113 angeschlossen
ist oder, Fragesteller 115 ändert Delta-Liste 112 mit
Benutzerinteraktion, z.B. indem er um Bestätigung der Änderungen von Rolle 110 bittet
(Details in 5).
-
Zurückgreifend
zu 2–3 wird
jetzt Verfahren 400 durch ein erstes Beispiel erklärt. 2 veranschaulicht
den Zustand von System 100 nach Vollendung von Repräsentationsdiensten 410 und
Referenzieren von Rollen 420 und 3 veranschaulicht
den Zustand nach Vollendung des Änderns
von Repräsentationen 430 und
Erstellens von Delta-Liste 440. Wie in 2 wird
System 100 an Benutzer mit vorbestimmten Rollen 110 und/oder 150 zur
Inbetriebnahme von Anwendungsdiensten 301–305 geliefert.
Rollen 110 und 150 sind im Verhältnis, die
d.h. Rolle 110 ist "Eltern-" Rolle und Rolle 150 ist "Kind-" Rolle. Rolle 110 enthält Repräsentationen 101, 102 und 103 (erster
Satz) für
Anwendungsdienste 301, 302 beziehungsweise 302.
-
Referenz 111 ist
ein Pointer für
die komplette Rolle 150, das heißt für alle Repräsentationen in Rolle 150.
Rolle 150 enthält
Repräsentationen 104 und 105 (zweiter
Satz) für
Anwendungsdienste 304 beziehungsweise 305. Wegen
der Zwischen-Rolle, die 111 referenziert, nimmt für einen
Rolle 110-Benutzer System 100 nicht nur Dienste 301–303 in
Betrieb, sondern nimmt auch Dienste 304–305 in Betrieb. Für einen
Rolle 150-Benutzer nimmt System 100 Dienste 304–305 in
Betrieb.
-
Wie
in 3 werden neue Repräsentationen von Anwendungsdiensten 106 und 107,
die sich auf Anwendungsdienste 306 und 307 beziehen,
zu Rolle 150 in Übereinstimmung
mit Schritt 430 hinzugefügt, um den zweiten Satz von
Repräsentationen 104, 105 zu ändern. Gemäß der vorliegenden
Erfindung werden beide Rollen 110, 150 sofort
aktualisiert. Rolle 150 enthält dann den geänderten
zweiten Satz 104, 105, 106, 107.
-
Um
mit den oben erwähnten
vorbestimmten Richtlinien überein
zu stimmen, die in Regel-Datenbank 118 gespeichert sind,
erstellt Delta-Generator 113 Delta-Liste 112,
hier im Beispiel mit Delta-Eintragung 114 "-106". Falls Dienst 306 mit
Dienst 301 in Konflikt kommt, wenn durch die gleiche Rolle
ausgeführt,
ermittelt Delta-Generator 113 diesen Konflikt durch Vergleich
der Kombination der entsprechenden Repräsentationen 101 und 106 mit
den Richtlinien in Regel-Datenbank 118 und schreibt Delta-Eintragung 114 "-106" in Delta-Liste 112.
Das Minuszeichen in "-106" veranschaulicht
Ausschluss von Repräsentation 106.
Es wird nicht von der Erfindung gefordert, dass eine Regel-Datenbank 118 ein
Teil von System 100 ist. Jetzt wird Rolle 110 am
Referenzieren zur Repräsentation 106 in
dem geänderten
zweiten Satz in Rolle 150 gehindert. Folglich wird Dienst 306 von
der Inbetriebnahme durch Rolle 110 ausgeschlossen. Eine
Person, die System 100 in Rolle 110 verwendet,
ist jetzt in der Lage, Dienste 301–305 und zusätzlich Dienst 307 zu
verwenden.
-
Der
Gebrauch von Delta-Liste 112 gemäß der vorliegenden Erfindung
erleichtert das Management des Rollensystems 100. Z.B.
erfordert im Rollensystem des Standes der Technik jede Rollenänderung
das Erstellen von neuen Versionen für alle abhängigen Rollen; diese sind alle
Rollen, die zur geänderten
Rolle direkt oder indirekt über
andere Rollen referenzieren. Das Rollensystem des Standes der Technik
führt zu
einem komplizierten Rollennetzwerk, das gleichzeitig unterschiedliche
Versionen der gleichen Rolle verwendet. Indem es Delta-Liste, wie
in der vorliegenden Erfindung beschrieben, verwendet, wird nur eine
aktuelle Version von jeder Rolle 110, 150 erforderlich,
wobei alle Änderungen
in der aktuellen Version der geänderten
Rollen 110, 150 und die Delta-Liste 112 reflektiert
werden. infolgedessen errechnet System 100 die Repräsentationen
von Anwendungsdiensten ASR, die entsprechende Anwendungsdienste
AS von Rolle 110 in Betrieb nehmen können, als Summe von:
- a) allen Repräsentationen, zugewiesen der
Elternrolle 110,
- b) allen Repräsentationen,
zugewiesen der Kindrolle 150 und
- c) allen Delta-Eintragungen 114 in der Delta-Liste 112,
zugewiesen Referenz 111 zwischen den Rollen.
-
5 veranschaulicht
eine bevorzugte Ausführungsform
für Verfahrensschritt 440,
der eine Delta-Liste in Verfahren 400 von 4 erstellt.
System 100 erstellt Delta-Liste 112 durch: Informieren
eines zweiten Benutzers 442 über die Änderung an der zweiten Rolle 150 über Fragesteller 115,
z.B. über
Anzeige (vgl. 6); und Empfang von 444 vom
zweiten Benutzer, die Anweisung anzunehmen, oder einige oder alle Änderungen
zurückzuweisen
(z.B., durch das Ablesen eines Tastenanschlags); und – im Fall
von Anweisungen vom zweiten Benutzer – dementsprechendes Aktualisieren
von Delta-Liste 446.
-
Vorzugsweise
ist der "zweite
Benutzer" eine Person,
die zu einer Person unterschiedlich ist, der Rolle 110 oder 150 zugewiesen
wurde. Normalerweise ist der "zweite
Benutzer" ein Verwalter
bzw. Administrator von Rollensystem 100.
-
6 veranschaulicht
eine bevorzugte Ausführungsform
von Fragesteller 115. Kursive Buchstaben symbolisieren
Text, der in einem Bestätigungsformular 121 einem
Benutzer auf einer Anzeige angezeigt wird. Bestätigungsformular 121 wird
vom Fragesteller 115 erzeugt, basierend auf Änderungsinformationen,
die von Rolle 110 bereitgestellt werden. Formular 121 enthält Rollen-Identifizierung 122 (Rollen-Identifizierung)
der geänderten
Rolle sowie Tabellen 123 und 124, die alle relevanten Änderungen
der Repräsentationen
zeigen ("ASR" Spalte), die in
Kindrollen ("Rolle
von Ursprung" Spalte)
und bereits vorhandene Delta-Eintragungen ("Delta-Eintragung"-Spalte)
für die
geänderte
Repräsentation
auftraten.
-
Dadurch
bezieht sich Tabelle 123 auf hinzugefügte Anwendungsdienst-Repräsentationen
und Tabelle 124 bezieht sich auf entfernte Anwendungsdienst-Repräsentationen.
Der zweite Benutzer akzeptiert, oder weist die Änderungen für die Rollen-ID 122 zurück durch
entweder Auswählen
eines "Akzeptieren-" Optionsfelds 125-1 aus
einer ersten Mehrzahl 125 von Optionsfeldern heraus oder
eines "Zurück weisungs-" Optionsfeld 126-1 aus
einer zweiten Mehrzahl 126 von Optionsfeldern für jede geänderte Repräsentation
heraus. Indem er die OK-Taste 127 betätigt, startet der zweite Benutzer
den Fragesteller bzw. Interrogator 115, um Delta-Liste 112 dementsprechend
zu aktualisieren.
-
7 veranschaulicht
in einem zweiten Beispiel ein weiteres Rollen-Hierarchie-Schema für mehrfache
Rollen in System 100, wobei Rollen 160 ("ZUSTÄNDIG FÜR LIEFERANTENRECHNUNG") und 170 ("ZUSTÄNDIG FÜR BARAUSLAGEN") Elternrollen darstellen,
die die Kindrollen 140 ("ZAHLUNGSVERWALTUNG"), 180 ("LIEFERANTEN-STAMMDATENPFLEGE") und 190 ("GL KONTO ANZEIGE") durch Referenzen 111-1 bis 111-6 aufrufen.
Jede Kidrolle hat zwei Eltern (Rollen 160 und 170)
weil Rollen 160 und 170, eine hohe Überlappung
bei gemeinsam benutzten Repräsentationen
der Anwendungsdienste haben:
- 101' ("ERSTELLE LIEFERANTEN-STAMMDATEN"), wies 101'-2 Rolle 180 zu,
- 102' ("ANZEIGE LIEFERANTEN-STAMMDATEN") wies 102'-2 Rolle 180 zu,
- 104' ("ZEIGE ZAHLUNG") wies 104'-2 Rolle 140 zu,
- 105' ("ZEIGE ZAHLUNGSVERLAUF") wies 105'-2 Rolle 140 zu,
- 106' ("ERSTELLE ZAHLUNG"), wies 106'-2 Rolle 140 zu,
- 107' ("ANZEIGE GL KONTO") wies 107'-2 Rolle 190 zu
und
- 108'-2 ("ANZEIGE GL KONTOGRUPPE"), wies 108' Rolle 190 zu.
-
Die
Repräsentation 103' ("ERSTELLE LIEFERANTEN-RECHNUNG"), wird nur 103'-2 Rolle 160 zugewiesen.
Die Regel-Datenbank 118 (vgl. 3) enthält eine
Richtlinie, die anzeigt, dass Repräsentation 103' ("ERSTELLE LIEFERANTEN-RECHNUNG") und 106' ("ERSTELLE ZAHLUNG"), nicht durch die
gleiche Rolle durchgeführt
werden darf, da diese Kombination eine beträchtliche Gefahr (Barverlust)
für die
Firma beinhaltet. Ein Benutzer, der einer Rolle zugewiesen wird,
die Dienst-Repräsentationen 103' und 106' gleichzeitig
liefert, könnte
Zahlungen ohne weitere Kontrolle für jede mögliche Rechnung (irgendeiner
Menge) freigeben, die er oder sie verursachte. Rolle 160 ruft
Rolle 140 durch Referenz 111-3 und Rolle 140 hat
ihr die Repräsentation 106 zugewiesen.
Folglich entsteht die beschriebene Gefahr für Rolle 160 mit den
gezeigten Verhältnissen.
Delta-Generator empfängt
Daten von Rolle 160 über
Anschluss 120'.
Delta-Generator 113 ermittelt alle möglichen Konflikte, indem er alle
Kombinationen der Repräsentationen
in Rolle 160 mit den Regeln in der Regel-Datenbank 118 vergleicht
(vgl. 3). Dann behebt Delta-Generator 113 den
Konflikt, indem er (durch Anschluss 199) eine Delta-Liste 112-3 erstellt,
die Referenz 111-3 (punktierte Linie 116') zugewiesen
wird und Delta-Eintragung 114' (-106') zur Delta-Liste 112-3 schreibt.
So kann Rolle 160 einen Anwendungsdienst in Betrieb nehmen,
der durch Repräsentation 103' aber nicht
durch Repräsentation 106' dargestellt
wird. Da Benutzer jeder möglichen
Rolle auf irgendeinem Hierarchie Niveau zugewiesen werden können, minimiert
die Verwendung der Delta-Listen die Gefahren bei der Geschäftskontrolle,
die auf eine Firma bei schlechtem Rollendesign zukommen würde.
-
8 veranschaulicht
ein vereinfachtes Blockdiagramm eines Computersystems 500 gemäß der vorliegenden
Erfindung. System 500 nimmt Anwendungsdienste (301–307,
vgl. 2–3)
durch einen ersten Benutzer in Betrieb, der entweder einer ersten
Rolle oder einer zweiten Rolle zugewiesen wird. Computersystem 500 enthält vorzugsweise
eine digitale Verarbeitungseinheit 501 (Prozessor) und
einen Speicher 502. Das System ist gekennzeichnet durch:
erste
Mittel 510 zum Repräsentieren
der Anwendungsdienste in der ersten Rolle mit einem ersten Satz
von Repräsentationen
und in der zweiten Rolle mit einem zweiten Satz von Repräsentationen
(vgl. 2–3; z.B.
Rollen 110, 150; z.B. ASR 101–105);
ein
zweites Mittel 520 zum Referenzieren von der ersten Rolle
zur zweiten Rolle durch eine erste Referenz;
ein drittes Mittel 530 für das Ändern des
zweiten Satzes von Repräsentation
in der zweiten Rolle; und
ein viertes Mittel 540 für das Erstellen
einer Delta-Liste (z.B. Delta-Liste 112; vgl. 3)
zugewiesen der ersten Referenz (z.B. Referenz 111; vgl. 3).
Vorzugsweise hindert die Delta-Liste die erste Rolle am Referenzieren
von zu mindestens einigen der Änderungen
im zweiten Satz der Repräsentationen.
-
Vorzugsweise
werden Mittel 510 bis 540 als ausführbarer
Programmcode in Speicher 502 implementiert und können von
Prozessor 501 ausgeführt
werden. Der ausführbare
Programmcode kann in den Speicher 502 von einem Computer-lesbaren Mittel 505 über Eingabegerät 503 geladen
werden. Alle Bestandteile von System 500 werden über einen
Bus 590 angeschlossen. Ein Fachmann kann Mittel 510–540 implementieren, indem
er die Funktionen des Prozessors 501 und Speicher 502 von
System 500 verwendet.
-
Eine
bevorzugte Ausführungsform
von Datenstrukturen und wie diese Datenstrukturen durch System
500 benutzt
werden, wird im Folgenden erklärt.
Alle Datenstrukturen liegen in Speicher
502 und werden
durch Prozessor
501 verarbeitet. Eine erste Datenstruktur
ist eine Datentabelle, die die Zuordnung von den Rollen zu den Benutzern
enthält
(Tabelle 1). Z.B. wird Rolle
160 Benutzer U1 zugewiesen,
wird Rolle
170 Benutzer U2 zugewiesen und Rollen
140 und
190 werden
Benutzer U3 zugewiesen. Wenn ein Benutzer sich zum Rollensystem
500 anmeldet,
wird die entsprechende Zuweisung, die in Tabelle 1 in Speicher
502 gespeichert
wird, von Prozessor
501 ausgeführt.
Benutzer | Rolle |
U1 | 160 |
U2 | 170 |
U3 | 140 |
U3 | 190 |
... | ... |
Tabelle 1: Benutzer-zu-Rollen-Zuweisungstabelle
-
Eine
zweite Datenstruktur ist die Innere-Rollen-Zuweisungs-Tabelle (Tabelle
2), wo die Zuordnungen der Anwendungsdienst-Repräsentationen zu Rollen und die
Zuordnungen von Rollen zu anderen Rollen (durch Referenzen) in Speicher
502 gespeichert
werden. Der Inhalt von Tabelle 2 entspricht dem Rollen-Hierarchie-Beispiel
in
7. Z.B. hat Elternrolle
160 Referenz
111-1 für Kindrolle
180 (zweite
Reihe von Tabelle 2). Anwendungsdienst Repräsentation (ASR)
103' wird Elternrolle
160 über Zuordnung
103'-2 zugewiesen (dritte
Reihe von Tabelle 2). Mittel
520 benutzt Prozessor
501,
um die komplette Rollen-Hierarchie zu errichten, indem es Tabelle
2 aus Speicher
502 liest und alle Referenzrufe ausführt. Prozessor
501 führt auch
alle Zuordnungen von Tabelle 2 durch.
Eltern-Rolle | Kind-Rolle | Referenz | ASR | Anweisung |
160 | 180 | 111-1 | | |
160 | | | 103' | 103'-2 |
160 | 140 | 111-3 | | |
160 | 190 | 111-4 | | |
170 | 180 | 111-2 | | |
170 | 140 | 111-5 | | |
170 | 190 | 111-6 | | |
180 | | | 101' | 101'-2 |
180 | | | 102' | 102'-2 |
140 | | | 104' | 104'-2 |
140 | | | 105' | 105'-2 |
140 | | | 106' | 106'-2 |
190 | | | 107' | 107'-2 |
190 | | | 108' | 108'-2 |
... | ... | ... | ... | ... |
Tabelle 2: Innere-Rollen-Zuweisungs-Tabelle
-
Mittel 510 stellt
eine Sichtbarmachung der Anwendungsdienst-Repräsentationen auf einer Anzeige bereit,
die jener ähnlich
ist, die in 9 zu den Benutzern U1, U2...
entsprechend den Rollen gezeigt wird, die den Benutzern in der Tabelle
1 und den Inneren-Rollen-Zuweisungen in Tabelle 2 zugewiesen werden.
-
Mittel 530 z.B.
kann ein Rollen-Upgrade implementieren, das Anwendungsdienst-Repräsentationen
in den Rollen durch Lesen entsprechender Rollendaten mit einem Eingabegerät ein Computer-lesbares
Mittel ändert
und Speicherung dieser Daten in Tabelle 2.
-
Der
Delta-Generator 113 wird in Mittel 540 implementiert
(vgl. 7). Mittel 540 vergleicht den Inhalt von
Tabelle 2 für
jede Rolle (z.B. Rolle 160 in 7) mit dem
Inhalt einer dritten Datenstruktur.
-
Die
dritte Datenstruktur ist eine Regel-Datenbank
118 (vgl.
3),
die kein Teil von System
500 zu sein braucht. Die Regel-Datenbank
wird in Speicher
502 durch, z.B., einen Bus oder eine andere
Netzwerkverbindung geladen und wird in Tabelle 3 gespeichert. Die
Regel-Datenbank in Tabelle 3 enthält eine erste Spalte mit einer
ersten Anwendungsdienst Repräsentation
(ASR 1), wie
103' und
eine zweite Spalte mit einer zweiten Anwendungsdienst-Repräsentation
(ASR 2), wie
106',
wobei die zwei Dienst-Repräsentationen
in Konflikt sind, wenn sie über
die gleiche Rolle (z.B. Rolle
160) zugreifbar sind. Mittel
540 identifiziert
zuerst alle Kombinationen von Anwendungsdienst-Repräsentationen,
die einer Elternrolle entweder direkt oder indirekt durch referenzierte
Rollen zugewiesen werden (vgl. Tabelle 2) und die im Konflikt entsprechend
dem Inhalt von Tabelle 3 sind.
ASR
1 | ASR
2 |
103' | 106' |
... | ... |
Tabelle 3: Regel-Datenbank
-
Mittel 540 erstellt
dann eine Delta-Liste (z.B. Delta-Liste 113 in 7),
falls ein Konflikt identifiziert wird, wie im vorhergehenden Absatz
beschrieben. Die Delta-Liste ist eine vierte Datenstruktur, die
in Tabelle 4 gespeichert wird und in Speicher 502 liegt.
Prozessor 501 zu verwenden bedeutet, dass 540 die
entsprechenden Delta-Eintragungen
schreibt (z.B. Delta-Eintragung 114' (-106')) in Tabelle 4. Jede Eintragung in
Tabelle 4 enthält
- a) die Elternrolle, in der der Konflikt identifiziert
wurde (z.B. Rolle 160),
- b) die Referenz (z.B. 111-3) zu einer Kindrolle, die
den Konflikt verursachte, indem sie geändert wurde und
- c) die Delta-Eintragung (z.B. Delta-Eintragung 114'; vgl. 7),
die beschreibt, welche Anwendungsdienst-Repräsentation der Kindrolle (z.B. 106') ausgeschlossen
oder für
die Elternrolle eingeschlossen werden muss.
Rolle | Referenz | Delta-Eintragung |
160 | 111-3 | -106' |
... | ... | ... |
Tabelle 4: Delta-Liste
-
Beschreiben
von Einzelheiten der Erfindung durch Verfahren und System ist zur
Erklärung
zweckmäßig. Um
die vorliegende Erfindung zusammenzufassen, wird sie jetzt als Computerprogrammprodukt
beschrieben. Ein Computerprogrammprodukt enthält eine Befehlsfolge für einen
universellen Prozessor (z.B. der Prozessor 501 von System 500)
die, wenn Sie ausgeführt
werden, das folgende verursacht:
- (a) eine Mehrzahl
der Rollen (110, 150) wird hierarchisch miteinander
mit Elternrollen (110) und Kindrollen (150) ins
Verhältnis
gebracht, wobei Elternrollen (110) durch Referenz zu Kindrollen
(150) aufrufen und Kindrollen mehrere Eltern haben können; und
- (b) Änderungen
an den Kindrollen (150) werden für die im Verhältnis stehenden
Elternrolle (110) so ausgewertet, dass die Referenz (111)
von der Elternrolle (110) zu der Kindrolle (150)
eine Delta-Liste (112) für einige der Anwendungsdienste
empfängt,
die durch die im Verhältnis
stehende Kindrolle (150) repräsentiert werden.
-
Das
Computerprogrammprodukt stellt alle Dienste, die aus der bestimmten
Elternrolle (110), der referenzierten Kindrolle (150)
und der Delta-Liste (112) resultieren, auf einer Anzeige
dem Benutzer, dem eine bestimmte Elternrolle (110) zugewiesen
worden ist, dar.
-
Die
vorliegende Erfindung kann auch als Computer-lesbares Mittel 505 definiert
werden ("Herstellungsgegenstand"), mit einer Mehrzahl
von Befehlsfolgen darauf gespeichert, die, wenn sie durch einen
Prozessor (z.B. Prozessor 501 von System 500 oder
mehr Prozessoren) durchgeführt
wird, ihn veranlassen, die Schritte von Verfahren 400 auszuführen. Im
Beispiel von 8 wird Mittel 505 als
CD-ROM veranschaulicht, das in ein Eingabegerät von System 500 (nicht
gezeigt) eingesetzt wird und durch dieses lesbar ist.
-
9 veranschaulicht
bevorzugten Verfahrensschritt 450 des Darstellens auf Anzeige 501 dem
ersten Benutzer den ersten Satz 101–103 und zweiten Satz 104–107 von
Repräsentationen
der Anwendungsdienste unter Berücksichtigung
der Delta-Liste "-106". Unterschiedliche
graphische Repräsentationen
von Repräsentationen 101–105 und 107 zeigen
unterschiedliche Arten der entsprechenden Anwendungsdienste 301–305 und 307 an.
Unterschiedliche Arten eines Anwendungsdiensts können z.B. ein Geschäftsdienst,
ein Netzdienst, ein Dokumentendienst oder irgendein anderer Dienst-Typ
sein, auf den über
eine Rolle zugegriffen werden kann. Z.B.
- 101 wird
als eine Dateneintragungsmaske angezeigt, die zur Dateneingabe durch
den ersten Benutzer immer bereit ist;
- 102 wird als graphischer Bericht angezeigt, der die
gegenwärtige
Entwicklung einer KPI (Leistungskennzahl) des ersten Benutzers zeigt;
- 103 wird als Dreiecks-Icon, das für einen Informationsdienst
steht, wie Firmennachrichten, angezeigt;
- 104 wird als Kreis-Icon, das für ein Geschäft steht, wie 'Erstelle Lieferantenrechnung' angezeigt;
- 105 wird als quadratisches Icon, das für einen
Netzdienst steht, wie eine Internet-Such-Maschine, angezeigt;
- 107 wird als Rhombus-Icon, das für einen Dokumentenservice steht,
wie ein Dokument, das einen speziellen Geschäftsablauf beschreibt, angezeigt.
-
Graphische
Repräsentation
von Dienst-Repräsentationen
kann anderweitig durchgeführt
werden z.B. durch eine oder mehrere, ausgewählt aus folgenden:
Zeigen
eines Textes auf einer Computeranzeige;
Zeigen eines Icons
auf einer Computeranzeige;
eine Videosequenz auf einer Computeranzeige,
wobei die Sequenz die Tätigkeit,
erwartet durch den Anwendungsdienst, symbolisiert;
Zeigen einer
Tabelle;
Zeigen eines Hypertext-Links;
Darstellen der
vorher aufgenommenen Audiodaten über
einen Lautsprecher;
Abgabe einer Sprachmessage über einen
Lautsprecher, wobei die Message von einem Sprachgenerator erzeugt
wird;
Wählscheibentelefon-Anschluss;
Überprüfung einer
Benutzerauthentisierung mit Kennwort und
Ausgabe einer Warnungs-Anzeige.