-
Das
technische Gebiet ist die Integration und Steuerung von Dienstleistungen
in einer vernetzten Umgebung.
-
Dienstleistungen
können
durch eine oder mehrere Betriebseinheiten in einem computerbasierten
Netz bereitgestellt werden. Benutzer des Netzes können spezifische
Aufgaben erzeugen und die Aufgaben in das Netz schicken, um einer
der Betriebseinheiten zugeordnet zu werden. Beispielsweise kann
ein Benutzer an einem Computer-Endgerät unter Verwendung eines an
dem Endgerät
installierten Treibers eine Druckanweisung erzeugen. Bei einem anderen
Beispiel kann ein Benutzer eine Druckanweisung erzeugen und die
Druckanweisung in ein Computernetz schicken, damit die Druckanweisung durch
einen Druckdienst ausgeführt
wird. Die Druckanweisung kann sich auf eine Unternehmensbroschüre beziehen.
Die Druckanweisung kann eindeutige Erfordernisse wie beispielsweise
Papiertyp, Schriftgröße, Layout,
Graphiken, Farbe und andere Erfordernisse enthalten. Der Benutzer
kann festlegen, daß ein
bestimmter Druckdienst, wie beispielsweise Kinkos, die Unternehmensbroschüre erstellt. Alternativ
dazu kann das Computernetz Programme umfassen, die dem Benutzer
Druckdienste vorschlagen.
-
Um
den Druckauftrag zu steuern, kann das Computer-Endgerät des Benutzers
ein Auftragsetikett erstellen. Das Auftragsetikett umfaßt die Erfordernisse,
beispielsweise die oben angeführten
Erfordernisse, und eine Identifizierung des bestimmten Auftrags,
die es ermöglicht,
daß der
Auftragsstatus durch das Computernetz verfolgt werden kann.
-
Eine
Verwendung des Auftragsetiketts ermöglicht es, daß das Drucken
und ähnliche
Dienste denjenigen Ressourcen (d. h. den Betriebseinheiten) zugewiesen
werden, die sich am besten für
das Ausführen
der Dienste eignen. Ungünstigerweise
ermöglichen
derzeitige Computersysteme keinen Zugang zu der großen Vielfalt
an Diensten, die in vernetzten Computersystemen, wie beispielsweise
dem Internet, existieren. Überdies
erfordern derzeitige Systeme, daß Benutzer über eine gewisse Kenntnis der vorhandenen
Ressourcen verfügen,
und erfordern eventuell, daß Benutzer
eine relevante Programmierung einbeziehen, um mit den Dienstleistern
zu kommunizieren. Ferner ermöglichen
derzeitige Systeme nicht, daß eine
Auftragsanforderung unter mehreren Prozessoren aufgeteilt wird.
Folglich kann eine Fertigstellung der Auftragsanforderung länger dauern als
nötig und
wird eventuell nicht auf die effizienteste, kostengünstigste
Weise erstellt.
-
Aus
der
WO 00/23912 A1 ist
bereits ein auf Netzwerk-Basis arbeitendes Dokumentenliefersystem
bekannt, welches sogenannte Job-Tickets verwendet. Diese Job-Tickets
werden für
einen Auftrag erzeugt, an diesen Auftrag angehängt und zusammen mit dem Auftrag
an einen Drucker oder ein anderes Peripheriegerät weitergeleitet.
-
Aus
der Fachveröffentlichung
TANNENBAUM, A.; VAN RENESSE, R.: Distributed Operating Systems,
ACM Computing Surveys (CSUR), Volume 17, Issue 4, The MIT Press
Scientific computation series, Seiten 419–470, 1985 sind bereits verteilte
Betriebssysteme bekannt. Diese Schrift befaßt sich allgemein mit dem Stand
der universitären
Forschung bezüglich
derartiger verteilter Betriebssysteme. Weiterhin befaßt sich
diese Schrift mit einer Gegenüberstellung
der Funktionalität
erteilter Betriebssysteme gegenüber
zentralisierten Betriebssystemen.
-
Die
WO 01/15032 A1 befaßt sich
mit einem System zur preisgünstigen
Beschaffung von Waren und Dienstleistungen auf der Grundlage des
sogenannten „Bidding”-Ansatzes.
-
Die
Fachveröffentlichung
ROSS, A.; MCMILLIN, B.: Experimental Comparison of Bidding and Drafting
Load Sharing Protocols, Proc. Of The Fifth Distributed Memory Computing
Conference, April 1990, Seiten 968–974 befaßt sich mit Techniken der Organisation
von Rechnersystemen in lokalen Datennetzen in Form eines verteilten
Computersystems.
-
Ausgehend
von diesem Stand der Technik ist es die Aufgabe der vorliegenden
Erfindung, eine Vorrichtung, ein Verfahren und eine Speichervorrichtung zu
schaffen, die eine Verwendung eines Auftragsetikettdienstes zum
Speichern von Angebotsinformationen ermöglichen.
-
Diese
Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1, ein Verfahren
gemäß Anspruch 10
und eine Speichervorrichtung gemäß Anspruch 17
gelöst.
-
Um
diese und andere Probleme, die sich auf die Verwendung eines Auftragsetiketts
beziehen, zu lösen,
ermöglichen
ein Verfahren und eine Vorrichtung es einem Client, Auftragsattribute
und -prozesse unter Verwendung eines elektronischen Dienstes zu verwalten.
Der Dienst umfaßt
einen Auftragsetikettdienst, der einen Zugriff und eine Modifizierung
eines Auftragsetiketts durch mehrere Benutzer in einem Netz ermöglicht.
Das Verfahren und die Vorrichtung verwenden ein Netzwerk-zugreifbares
Auftragsetikett, um sich auf einen bestimmten Auftrag oder Inhalt
zu beziehen. Das Auftrags-etikett kann ein Objekt sein, wie beispielsweise
ein XML-Objekt, das Routinen und Daten aufweist. Der Inhalt kann
in dem Netz gespeichert sein, und auf ihn kann durch mehrere Auftragsetiketten
zugegriffen werden. Speicherung und Handhabung des Auftragsetiketts
sind für den
Benutzer transparent. Das Auftragsetikett wird an einer öffentlich
zugänglichen
Position in dem Netz gespeichert. Das Auftragsetikett verbleibt
in derselben Position in dem Netz, und Benutzer greifen lediglich
auf den Abschnitt des Auftragsetiketts zu, der erforderlich ist,
um einen benannten Prozeß auszuführen. Es
können
zusätzlich
Sicherheitsmaßnahmen ergriffen
werden, um einen Zugriff auf diejenigen Benutzer zu begrenzen, denen
es ausdrücklich
gestattet ist, auf das Auftragsetikett und die Auftragsdatei zuzugreifen.
Das Auftragsetikett kann ein Dienstkennzeichen umfassen, das das
Auftragsetikett auf den ursprünglichen
Auftragsetikettdienst zurückbezieht.
Auf diese Weise kann sich ein Benutzer, der das gesamte oder einen
Teil des Auftragsetiketts erlangt, auf den ursprünglichen Auftragsetikettdienst (und
das ursprüngliche
oder modifizierte Auftragsetikett) zurückbeziehen, um etwaige Änderungen
zu verifizieren und um sicherzustellen, daß das Auftragsetikett, auf
das gerade zugegriffen wird, auf dem neuesten Stand ist. Das Auftragsetikett
umfaßt
ferner ein Auftragskennzeichen, um das Auftragsetikett einem bestimmen
Auftrag zuzuschreiben.
-
Der
Dienst ist durch ein Kommunikationsnetz mit einem Vorfelddienst
(Front-End-Dienst) gekoppelt. Der Vorfelddienst ermöglicht es
einem Benutzer, eine Dienst- oder Auftragsanforderung zu erstellen. Das
Kommunikationsnetz kann beispielsweise das Internet oder ein lokales
Netz sein.
-
Der
Dienst umfaßt
einen Dienstebus, mit dem ein Auftragsspeicher, der Auftragsetikettdienst und
eine Arbeitsflußsteuerung
gekoppelt sind. Ferner sind ein oder mehrere Prozessoren mit dem
Dienst gekoppelt, die gesteuert werden können, um in den Auftragsetiketten
definierte Prozesse und Aufgaben zu erfüllen.
-
Der
Auftragsetikettdienst kann die Auftragsetiketten erstellen und speichern.
Ein Auftragsinhalt (z. B. eine PDF- PDF-Datei) ist in dem Auftragsspeicher gespeichert.
Bei dieser Struktur muß der
Benutzer nicht die Speicherung des Auftragsinhalts verwalten oder
wissen, welcher Auftragsspeicher den Auftragsinhalt enthält. Der
Auftragsetikettdienst steuert einen Zugriff auf die Auftragsetiketten,
und durch die Verwendung der Auftragsetiketten steuert er ferner
einen Zugriff auf einen Auftragsinhalt in dem Auftragsspeicher oder
an anderer Stelle in dem Netz. Der Auftragsetikettdienst kann einen
Verweis auf das Auftragsetikett erstellen und kann den Verweis verwenden,
um einen Zugriff auf das Auftragsetikett zu steuern.
-
Durch
Verwenden des Dienstes kann ein Benutzer auf eine breite Palette
von Diensten (Prozessoren) zugreifen, die mit dem Dienst gekoppelt
sind. Der Dienst kann zwischen den Prozessoren entscheiden, um eine
optimale Auswahl von Prozessoren zum Ausführen der Aufgaben zu bestimmen,
die in der Auftragsanforderung des Benutzers spezifiziert sind.
Der Dienst kümmert
sich um die notwendigen Schnittstellen und Programmumwandlungen,
die erforderlich sind, um eine Aufgabenerfüllung durch die ausgewählten Dienste
zu ermöglichen.
Auf diese Weise muß der
Benutzer keine Kenntnis der Betriebserfordernisse der Prozessoren
aufweisen.
-
Ein
Angebotsdienst kann verwendet werden, um Angebotsinformationen von
Prozessoren, die mit dem Dienstezentrum gekoppelt sind, zu empfangen. Die
Prozessoren unterbreiten Angebote als Reaktion auf ein Plazieren
von Auftragsetikettmeldungen an dem Dienstezentrum. Bei einem Ausführungsbeispiel ist
die Auftragsetikettmeldung ein separates Objekt, das in dem Dienstezentrum
gespeichert ist. Bei einem anderen Ausführungsbeispiel dient das Auftragsetikett
selbst der Meldungsfunktion. Die Arbeitsflußsteuerung kann die Auftragsetikettmeldungen
nach Empfang der Auftragsanforderung plazieren. Der Angebotsauswertungs-
und -auswählprozeß bleiben derselbe,
ob nun der Angebotsdienst oder die Arbeitsflußsteuerung die Angebote empfängt.
-
Die
durch die Arbeitsflußsteuerung
plazierte Auftragsetikettmeldung kann spezifische Aufgaben oder
Zweige umfassen, die abgeschlossen werden müssen, um die Auftragsanforderung
abzuschließen. Die
Auftragsetikettmeldung kann Beschreibungen spezifischer Zweige und
ihrer gegenseitigen Beziehungen in ausreichendem Detail umfassen,
um zu ermöglichen,
daß die
Prozessoren einen Abschluß der Zweige
anbieten.
-
Der
Angebotsdienst kann Angebote von den Prozessoren auf der Basis von
festgelegten Kriterien auswählen.
Beispielsweise kann die Auftragsanforderung Mindestleistungserfordernisse
(z. B. maximale Kosten und einen Abschlußtermin) festlegen. Der Angebotsdienst
kann jegliche Angebote, die die Mindestleistungserfordernisse nicht
erfüllen,
zurückweisen.
Wenn die Arbeitsflußsteuerung
mehrere Zweige eingerichtet hat, kann jeder solche Zweig Mindestleistungserfordernisse
umfassen. Die zweigspezifischen Leistungserfordernisse können durch
die Arbeitsflußsteuerung
auf der Basis von Gesamtleistungserfordernissen für das Auftragsetikett
festgelegt werden.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen, bei denen sich gleiche Bezugszeichen
auf gleiche Posten beziehen, näher
erläutert.
Es zeigen:
-
1 ein
Blockdiagramm, das eine bekannte Verwendung eines Auftragsetiketts
zeigt;
-
2 ein
Baumdiagramm, das die Prozesse bei einem beispielhaften Auftragsetikett
zeigt;
-
3 ein
Blockdiagramm eines Digitalbildarbeitsflußnetzes;
-
4 ein
Blockdiagramm eines Dienstezentrums, das bei dem Netz der 3 verwendet
wird;
-
5A bis 5D ein
beispielhaftes Auftragsetikett;
-
6 ein
Diagramm von Funktionen, die durch einen Auftragsetikettdienst gesteuert
werden;
-
7 ein
Diagramm, das durch den Auftragsetikettdienst gesteuerte Zugriffsfunktionen
zeigt;
-
8 ein
Blockdiagramm, das zusätzliche Steuermerkmale
des Auftragsetikettdienstes veranschaulicht;
-
9 ein
Flußdiagramm,
das einen der durch den Auftragsetikettdienst gesteuerten Prozesse
veranschaulicht; und
-
10 bis 15 Flußdiagramme,
die Unterprozesse bei dem in 9 veranschaulichten
Gesamtprozeß zeigen.
-
1 ist
ein Blockdiagramm, das eine bekannte Anwendung eines Auftragsetikettdienstes zeigt.
Auftragsetiketten sind oft einem Druckstandard, dem Auftragsdefinitionsformat
(JDF – job
definition format), zugeordnet. Das JDF ist ausführlich in der bei www.hp_opensource.com
erhältlichen
JDF Specification Draft Spiral 4.0, die durch Bezugnahme in dieses
Dokument aufgenommen ist, ausführlich beschrieben.
In 1 erstellt ein Benutzer 1 eine Auftragsanforderung
und sendet die Auftragsanforderung durch ein Portal 4 an
einen Prozessor 5. Die Auftragsanforderung kann eine Auftragsetikett-Datendatei 2 und
eine Inhaltsdatei 3 umfassen. Der Benutzer 1 kann
ein Computer-Endgerät
in einem vernetzten Computersystem sein, und der Prozessor 5 kann
ein vernetzter Drucker sein. Die Auftragsanforderung kann ein Drucken
eines Dokuments beinhalten. Das Dokument kann durch den Inhalt 3,
der eine digitale Darstellung von zu druckendem Text und zu druckenden
Bildern ist, dargestellt sein. Das beabsichtigte Format des gedruckten
Dokuments kann in der Auftragsetikettdatei 2 beschrieben
sein, die einfach eine digitale Datei ist, die spezifiziert, wie
der Drucker das Dokument drucken soll. Beispielsweise kann die Auftragsetikettdatei 2 erfordern,
daß das Dokument
auf Rücken
an Rücken
liegenden Seiten druckt.
-
Bei
einer spezifischen Anwendung können die
Funktionen der Auftragsetikettdatei 2 durch einen Druckertreiber
ausgeführt
werden. Der Druckertreiber codiert Steuerdaten, die mit einem Drucken
des Dokuments in Zusammenhang stehen, und sendet die Steuerdaten
und den Inhalt 3 an den Drucker (d. h. den Prozessor 5).
Der Drucker greift auf die Steuerdaten und den Inhalt 3 zu,
um das Dokument zu drucken.
-
Während die
in 1 gezeigte Anwendung gut funktioniert, um ein
Dokument zu drucken, weist die Anwendung viele Nachteile auf. Insbesondere wenn
mehrere Prozessoren an einem Erstellen des Dokuments beteiligt sind,
erfordert jeder derartige Prozessor einen Zugriff auf die Auftragsetikettdatei 2. Dieser
Zugriff bringt Probleme bezüglich
Sicherheit, Modifikationssteuerung und Arbeitsflußsteuerung
mit sich. Es kann beispielsweise sein, daß jeder Prozessor, der einen
Zugriff auf die Auftragsetikettdatei 2 erfordert, mit dem
Verarbeiten warten muß,
bis ein vorheriger Prozessor eine Verwendung der Auftragsetikettdatei 2 abgeschlossen
hat. Somit kann die Anwendung des Standes der Technik zu unerwünschten
Verzögerungen
beim Ausführen
der Auftragsanforderung führen.
-
Bekannte
Anwendungen von Auftragsetikettdiensten sind auch insofern nachteilig,
als der Benutzer eventuell nichts über die Prozessoren weiß, einschließlich der
Fähigkeiten
und der Verfügbarkeit
der Prozessoren, noch, ob die Prozessoren existieren. Somit weiß der Benutzer
eventuell nicht, welches Portal er verwenden soll, um mit einem
bestimmten Prozessor verbunden zu werden.
-
Dieses
und weitere Probleme werden durch ein Verfahren und eine Vorrichtung
gelöst,
das bzw. die einen Zugriff auf ein Auftragsetikett und einen zugeordneten
Inhalt durch Verwen dung eines Auftragsetikettdienstes steuert. Der
Auftragsetikettdienst umfaßt
Mechanismen, die unter mehreren Benutzern des Auftragsetiketts einen
Zugriff auf das Auftragsetikett entscheiden, einen Zugriff auf das
Auftragsetikett durch ein Einfließenlassen von Sicherheitsmerkmalen
begrenzen und sicherstellen, daß Modifikationen,
die durch einen Prozessor oder Benutzer vorgenommen werden, in dem
Auftragsetikett und dem Inhalt reflektiert werden. Tatsächlich umfaßt die Vorrichtung
eine generische Datenbank, die Eingangsdaten von Clients als Auftragsanforderungen
mit Ausgangsdiensten wie beispielsweise Prozessoren koppelt, die
Aufgaben oder Prozesse durchführen, um
die Auftragsanforderungen zu erfüllen.
Die Datenbank kann insofern die Merkmale einer generischen XML-Datenbank
aufweisen, als sie erweiterbar ist und insofern als die Clients
keine Kenntnisse über
die einzelnen durchzuführenden
Prozesse oder die internen Programmierungserfordernisse der Prozessoren
aufweisen müssen.
Somit können
die Clients Auftragsanforderungen einem Dienstezentrum unterbreiten,
das sicherstellt, daß ein
geeigneter Prozessor oder geeignete Prozessoren zugewiesen werden,
um die Auftragsanforderung zu erfüllen.
-
Bevor
die Vorrichtung und das Verfahren ausführlich beschrieben werden,
wird eine Besprechung eines Auftragsetiketts bereitgestellt. 2 ist ein
Knoten-Baum-Diagramm (oder einfach ein Knotenbaum) 10,
der in einem Auftragsetikett zum Drucken einer Broschüre definierte
Prozesse veranschaulicht. Die Broschüre kann in einer handelsüblichen
Presse gedruckt werden und kann einen digitalen Inhalt verwenden,
um Platten zum Drucken der Broschüre herzustellen. In dem Knotenbaum 10 spezifizieren
die Knoten ein Produkt, einen Prozeß oder eine Gruppe von Prozessen.
Jeder Knoten kann Ressourcen modifizieren, verbrauchen oder erzeugen. Jeder
Knoten kann weitere verschachtelte Knoten oder Unterknoten enthalten.
Die Anordnung von Knoten und Unterknoten kann mit einem Baum verglichen
werden, und jeder Knoten und Unterknoten kann als Zweig bezeichnet
werden. Ein Broschürenknoten 11 definiert
die Merkmale und Parameter der Bro schüre. Ein Einbandknoten 12 definiert
die Parameter zum Erstellen des Einbands der Broschüre. Ein
Innenseitenknoten 13 umfaßt die Parameter zum Herstellen
der Innenseiten. Der Innenseitenknoten 13 ist mit mehreren
Unterknoten gezeigt, einschließlich
eines Unterknotens 14 zum Herstellen einer digitalen Platte.
Der Digitalplattenherstellungs-Unterknoten 14 selbst
umfaßt
zwei weitere Unterknoten, einen Auftrenn-Unterknoten 16 und
einen Plattenherstellungs-Unterknoten 18.
-
Jedem
der in 2 gezeigten Knoten und Unterknoten sind Eingangsressourcen
und mindestens eine Ausgangsressource zugeordnet. Eine Ressource
kann durch Parameter oder logische Entitäten beschrieben werden. Die
Ressource kann eine physische Entität wie beispielsweise eine Komponente, eine
Handhabungsressource oder ein Verbrauchsartikel sein. Eine Komponentenressource
kann die Ausgabe eines Knotens oder Unterknotens sein, wie beispielsweise
bedruckte Blätter.
Eine Handhabungsressource wird während
eines Prozesses verwendet, wird jedoch nicht durch den Prozeß verbraucht.
Eine Verbrauchsartikelressource kann durch den Prozeß teilweise
oder gänzlich
verbraucht werden. Beispiele von Verbrauchsartikelressourcen umfassen
Tinten, Platten und Kleber. Andere Ressourcen können eine digitale Datei oder
eine Darstellung eines physischen Objekts sein. Beispielsweise kann der
Auftrenn-Unterknoten 16 als Eingaberessourcen eine Laufliste,
Medien, RIP-Parameter und Layout umfassen. Die Lauflistenressource
beschreibt die Seiten, einschließlich der Dateien, in denen
die Seiten auftreten, und welche Seiten zu verwenden sind. Die Medienressource
beschreibt die Medien, die zum Herstellen von Platten verwendet
werden, und wird benötigt,
um die Abmessungen der Medien zu beschreiben. Die RIP-Parameter-Ressource
beschreibt alle gerätespezifischen
Parameter des Auftrennvorgangs. Die Layoutressource beschreibt eine
Plazierung von Quellenseiten auf den Platten und schließlich auf
Preßschichten.
Als Ausgangsressource kann der Auftrenn-Unterknoten 16 aufgetrennte
Flachstücke
bereitstellen. Andere Ressourcen umfassen Parameterressourcen, die
die Einzelheiten von Prozessen definieren, sowie andere nicht-physische
Computerdateien, die von einem Prozeß verwendet werden.
-
Der
in 2 gezeigte Knotenbaum 10 soll für ein Drucken
eines Dokuments gelten. Es können jedoch
Knoten-Baum-Diagramme
verwendet werden, um Auftragsetiketten für andere Dienste als Drucken
darzustellen. Beispielsweise kann ein Auftragsetikett für eine Datenverarbeitung,
eine Bildverarbeitung, zum Erstellen und Pflegen einer Datenbank, für Electronic
Publishing (Erstellen von Druckerzeugnissen auf Rechnern), E-Mail
und diverse E-Commerce-Dienste verwendet werden. Überdies
kann das Auftragsetikett verwendet werden, um es verschiedenen E-Commerce-Diensten
zu ermöglichen, miteinander
in Kontakt zu treten.
-
3 ist
ein Blockdiagramm eines DIW-Netzes 20 (DIW = digital imaging
work flow, Digitale-Bilderzeugung-Arbeitsfluß), das ein Dienstezentrum und
einen Auftragsetikettdienst beinhaltet, um durch Clients unterbreitete
Aufgaben zu steuern. Das Dienstezentrum kann als einzelnes Portal
arbeiten, durch das die Clients mit einem oder mehreren E-Diensten,
einschließlich
E-Mail, E-Commerce und Online-Einkaufen, E-Drucken und Datendiensten, einschließlich Datenbanksuchen
und Datenbankerstellung, -besetzung und -pflege, verbunden sind. Eine
Verwendung eines einzelnen Portals, wie beispielsweise des Dienstezentrums,
ermöglicht
es den Clients, aus einer breiten Palette von E-Diensten, wie beispielsweise
den oben angegebenen, auszuwählen,
ohne daß dabei
erforderlich wäre,
daß die
Clients eine vorherige Kenntnis der E-Dienste besitzen.
-
Das
Dienstezentrum kann Komponenten umfassen, die Informationen in Form
von Auftragsanforderungen empfangen, und kann unter Verwendung der
Informationen ein Auftragsetikett erstellen, das Aufgaben und Ressourcen
spezifiziert. Das Auftragsetikett kann in einem Auftragsetikettdienst
gespeichert sein, und es können
Meldungen gesandt werden, um an zugeben, wann ein Auftragsetikett
zur Verfügung
steht. Mit dem Dienstezentrum gekoppelte Prozessoren können eine
Erfüllung
des Auftragsetiketts anbieten, und das Dienstezentrum kann einen Angebotsdienst
umfassen, der Angebote auswertet. Das Dienstezentrum kann einen
oder mehrere Prozessoren auswählen,
um ihn bzw. sie dem Auftragsetikett auf der Basis von durch den
Client bereitgestellten Kriterien oder auf der Basis eines Satzes
von Standardkriterien, einschließlich Standardkriterien der
Industrie, zuzuweisen. Das Dienstezentrum kann Mechanismen bereitstellen,
um einen Zugriff auf das Auftragsetikett oder auf Abschnitte (Zweige)
des Auftragsetiketts zu steuern. Die Mechanismen umfassen ein Zweigsperren
und Autorisierungs- und Authentifizierungsserver, die eine Verschlüsselung
von öffentlichen
Schlüsseln
oder ähnliche
Prozesse verwenden.
-
Das
Dienstezentrum kann Hardware-Komponenten, wie beispielsweise Server,
Computer, Zentralverarbeitungseinheiten, Kommunikationsschnittstellen
und Speichergeräte
umfassen, um die Verarbeitungsfähigkeit
und Datenspeicherung bereitzustellen, die erforderlich ist, um die
oben beschriebenen Funktionen zu erfüllen.
-
Das
DIW-Netz 20 umfaßt
einen Vorfelddienst 30, der es einem Client 31 ermöglicht,
eine Dienst- oder Auftragsanforderung 32 (in 7 gezeigt)
zu erzeugen und zu unterbreiten. Bei einem Ausführungsbeispiel kann der Vorfelddienst 30 ein
Internet-Webbrowser sein. Alternativ dazu kann der Vorfelddienst 30 eine
Web-Anwendung oder eine Port-Überwachungseinrichtung
sein. Die Auftragsanforderung 32 kann detaillierte Informationen
darüber
enthalten, wie der Auftrag auszuführen ist, und kann gemäß dem Auftragsdefinitionsformatstandard
formatiert sein. Alternativ dazu umfaßt die Auftragsanforderung 32 eventuell
lediglich grundlegende Informationen, die durch eine andere Komponente
verwendet werden, um die Auftragsdefinition oder den Arbeitsfluß abzuschließen. Schließlich kann
die Auftragsanforderung 32 den zu verarbeitenden Inhalt
oder Auftrag umfassen. Der In halt könnte eine oder mehrere digitale
Dateien, Textdateien und andere Dateien sein. Der Vorfelddienst 30 ist
mit einem Kommunikationsnetz 35 gekoppelt, das beispielsweise
das Internet oder ein lokales Netz sein kann. Mit dem Kommunikationsnetz 35 ist
ein Dienstezentrum 40 gekoppelt, das einen oder mehrere
Prozessoren 80, mit dem Kommunikationsnetz 35 verknüpft. Jeder
der Prozessoren 80, kann einen Cache 81, umfassen,
der verwendet werden kann, um Informationen zu speichern, die sich
auf eine Auftragsanforderung 32 beziehen, einschließlich Informationen,
die sich auf Auftragsetiketten beziehen. Bei einem Ausführungsbeispiel
kann das Dienstezentrum 40 eine Internet-Website sein, die
Datenspeicher- und -steuerfunktionen umfaßt. Bei einem anderen Ausführungsbeispiel
ist das Dienstezentrum 40 ein Knoten in einem lokalen Netz.
-
Das
Dienstezentrum 40 ermöglicht
ein breites Spektrum von Kommunikationen zwischen Entitäten, die
mit dem Dienstezentrum 40 gekoppelt sind. Insbesondere
ermöglicht
das Dienstezentrum 40 verschiedenen E-Diensten, unter Verwendung
von spezifischen Protokollen und generischen Protokollen (z. B.
TCP/IP) programmatisch miteinander zu interagieren. Diese programmatische
Interaktion ermöglicht es
verschiedenen Diensten und Prozessen, die mit dem Netz gekoppelt
sind, Daten und Dateien auszutauschen und die Daten und Dateien
zu modifizieren. Die programmatische Interaktion kann durch eine Verwendung
eines Fernprozedurrufs (RPC – remote procedure
call) zwischen Entitäten,
die mit dem Dienstezentrum 40 gekoppelt sind, abgeschlossen werden.
Andere Verfahren zum Bereitstellen der programmatischen Interaktion
umfassen CORBA, UDDI und E-speak.
-
4 ist
ein Diagramm des Dienstezentrums 40. Das Dienstezentrum 40 umfaßt einen Dienstebus 41,
der sich in Kommunikation mit dem Kommunikationsnetz 35 und
den Prozessoren 80i der 3 befindet.
Mit dem Dienstebus 41 ist ein Auftragsspeicher 50,
ein Auftragsetikettdienst 60, eine Arbeitsflußsteuerung 70,
ein optionaler Angebotsdienst 90, ein Autorisierungsserver 92 und
ein Authentifizierungsserver 94 gekoppelt. Der Auftragsspeicher 50 kann
eine oder mehrere Auftragsinhaltsdateien 51i speichern.
Der Auftragsetikettdienst 60 kann ein oder mehrere Auftragsetiketten 61i steuern. Die Arbeitsflußsteuerung 70 kann
einen oder mehrere Agenten 71i verwenden,
um Prozesse an dem Dienstebus 41 zu steuern.
-
Der
Auftragsspeicher 50, der Auftragsetikettdienst 60 und
die Arbeitsflußsteuerung 70 funktionieren
so, daß sie
Informationen von den Clients 31 entgegennehmen und die
Informationen verwenden, um die Aktionen der Prozessoren 80i zu steuern. Die Prozessoren 80i erfüllen spezifische Aufgaben oder Prozesse,
wie sie durch das Dienstezentrum 40 bestimmt sind.
-
Der
Auftragsspeicher 50 kann ein Knoten an dem Dienstebus 41 sein
und kann eine Programmierung umfassen, um es dem Auftragsspeicher 50 zu ermöglichen,
seine Funktionen auszuführen.
Der Auftragsspeicher 50 kann verwendet werden, um den Inhalt 51 zu
speichern, der in Form einer oder mehrerer großer Dateien vorliegen kann.
Im Zusammenhang eines Druckens eines Dokuments unter Verwendung
eines Dienstes oder Prozesses, der mit dem Dienstebus 41 gekoppelt
ist, kann der Auftragsspeicher 50 den Dokumenteninhalt
beispielsweise in einer oder mehreren PDF-Dateien speichern. Der
Inhalt 51 kann Graphiken und Text umfassen. Der Inhalt 51 für ein spezifisches
Dokument kann mehrere Dateien umfassen. Beispielsweise kann eine
Broschüre
eine separate Datei für
den Einband und eine andere Datei für die Innenseiten aufweisen.
Text für die
Innenseiten kann in einer Datei vorliegen, und Bilder können in
einer weiteren Datei vorliegen. Der Inhalt 51 kann ferner
Verknüpfungen
zu anderen Ressourcen oder Entitäten
auf dem Dienstebus 41 umfassen. Der Auftragsspeicher 50 sorgt
für eine
Massenspeicherung des Inhalts 51, so daß ein Benutzer (Client 31 oder
Prozessor 80) nicht die für den Auftragsinhalt 51 erforderliche
Massenspeicherung bereitstellen muß. Durch Verwenden der Massen speicherfahigkeiten
des Auftragsspeichers 50 kann dafür gesorgt werden, daß der Inhalt 51 in
dem Netz 20 fortbesteht und daß er jederzeit für Benutzer
zugreifbar gemacht wird. Ferner verwaltet und steuert der Auftragsspeicher 50 den
Inhalt, so daß der
Benutzer (Client 31 oder Prozessor 80) den Inhalt 51 nicht
verwalten muß.
Verwaltungsfunktionen umfassen ein Aufrechterhalten einer Konfiguration
oder Versionssteuerung des Inhalts 51, ein Steuern des
Zugriffs auf den Inhalt 51 und ein Beibehalten des Inhalts 51 in
einer Speicherung.
-
Der
Auftragsetikettdienst 60 hält Auftragsetiketten 61.
Der Auftragsetikettdienst 60 steuert einen Zugriff auf
die Auftragsetiketten 61 und verwaltet eventuell eine Konfiguration
derselben. Beispielsweise kann es der Auftragsetikettdienst 60 Benutzern (Clients 31i und Prozessoren 80i )
ermöglichen,
auf einen Abschnitt oder Zweig eines Auftragsetiketts 61 zuzugreifen,
statt das Auftragsetikett 61 unter mehreren Benutzern herumzureichen.
Ein Zugriff auf den Auftragsetikettabschnitt kann durch Verwendung
einer Anwendungsprogrammierschnittstelle, einer skriptfähigen Schnittstelle
oder eines ähnlichen Merkmals
bewirkt werden. Wie oben angemerkt wurde, umfaßt das Auftragsetikett 61 nicht
den Inhalt 51 (z. B. die graphischen und Textdateien eines
Dokuments), sondern das Auftragsetikett 61 bezieht sich auf
den in dem Auftragsspeicher 50 gespeicherten Inhalt 51 (z.
B. eine PDF-Datei). Der Benutzer muß nicht die Speicherung des
Auftragsinhalts verwalten oder wissen, welcher Auftragsspeicher 50 den
Auftragsinhalt enthält.
Statt dessen vergibt der Auftragsetikettdienst 60 einen
Verweis in dem Auftragsetikett 61. Dies ermöglicht es
mehreren Clients 31 und Prozessoren 80i ,
auf den Inhalt 51 zuzugreifen. Überdies kann sich der Inhalt 51 auf
mehr als ein Auftragsetikett 61 beziehen. Der Auftragsetikettdienst 60 und
seine Beziehungen zu anderen Entitäten, die mit dem Dienstebus 41 gekoppelt
sind, werden später ausführlich beschrieben.
-
Auf
manche Auftragsetiketten 61 kann durch mehrere Prozessoren 80 entweder
auf serielle, überlappende
oder gleichzeitige Weise zugegriffen werden. Das Mehrfachzugriff-Verarbeiten könnte zu
Problemen bei Verwendung des Auftragsetiketts 61 führen. Beispielsweise
kann es sein, daß ein
erster Prozessor das Auftragsetikett 61 (oder einen Abschnitt oder
Zweig desselben) erlangt und einen in dem Arbeitsfluß spezifizierten
Prozeß durchführt, der
den Zweig modifizieren kann. Eine solche Modifizierung kann stattfinden,
um beispielsweise einen Zweig als vollständig anzugeben, Eingangsressourcen
aufzubrauchen oder neue Ausgangsressourcen zu schaffen. Ein zweiter
Prozessor könnte
versuchen, den Zweig zu erlangen, „weiß” jedoch möglicherweise nicht, daß der erste
Prozessor den Zweig modifiziert hat. Alternativ dazu könnte eine
Blockierungssituation entstehen, wenn zwei Prozessoren um den selben Zweig
konkurrieren.
-
Eine
Lösung
der obigen Probleme könnte darin
bestehen, das Auftragsetikett 61 immer dann zu sperren,
wenn ein Prozessor 80 das Auftragsetikett 61 erlangt.
Ungünstigerweise
kann ein Sperren des Auftragsetiketts 61 ein gleichzeitiges
oder paralleles Verarbeiten verhindern und eine Fertigstellung der Auftragsanforderung 32 verlangsamen.
-
Der
in 4 gezeigte Auftragsetikettdienst 60 überwindet
diese und andere Probleme, indem er die Fähigkeit aufweist, das Auftragsetikett 61 auf
der Zweigebene zu sperren. Die Zweigsperrung kann durch eines von
mehreren Verfahren bewerkstelligt werden. Die Arbeitsflußsteuerung 70 kann
einen oder mehrere spezifische Prozessoren 80i einteilen, die
Aufgaben, die bei dem zu sperrenden Zweig identifiziert sind, zu
erfüllen.
Wenn lediglich ein Prozessor 80 autorisiert ist, auf den
Zweig zuzugreifen, ist ein Zweigsperren eventuell nicht erforderlich.
Wenn mehr als ein Prozessor 80 autorisiert ist, auf denselben
Zweig zuzugreifen, kann der Auftragsetikettdienst 60 den
Zweig sperren, wenn einer der autorisierten Prozessoren 80 den
Zweig tatsächlich
erlangt.
-
Wenn
die Arbeitsflußsteuerung 70 Zweigen keine
Prozessoren 80i zugewiesen hat
(d. h. ein beliebiger Prozessor 80 kann zu jeder Zeit auf
einen Zweig zugreifen), kann der Auftragsetikettdienst 60 den
Zweig sperren, wenn ein Prozessor 80 den Zweig erlangt.
-
Der
Auftragsetikettdienst 60 kann die Zweige sperren, indem
er für
jeden Zweig ein Sperren-/Entsperren-Flag setzt. Prozessoren 80i die auf das Auftragsetikett 61 zugreifen,
können
daraufhin den Sperren-/Entsperren-Flag-Status prüfen, um zu bestimmen, ob auf
den Zweig zugegriffen werden kann. Unter manchen Umständen erlaubt
der Auftragsetikettdienst 60 eventuell lediglich einen
Zugriff auf diejenigen Zweige, die entsperrt sind. Es kann sein,
daß ein Prozessor 80,
der eine durch den Zweig definierte Aufgabe erfüllt hat, benötigt, daß der Zweig
entsperrt ist, um den Zweig zu modifizieren.
-
Die
Arbeitsflußsteuerung 70 kann
verwendet werden, um die Auftragsetiketten 61 zu erstellen,
die in dem Auftragsetikettdienst 60 gespeichert sind. Die Arbeitsflußsteuerung 70 kann
die durch die Clients 31 unterbreiteten Auftragsanforderungen 32 überprüfen und
kann daraufhin eine Auftragsetikettschablone verwenden, um das Auftragsetikett 61 zu
erstellen. Die Arbeitsflußsteuerung 70 kann
daraufhin das Auftragsetikett 61 zur Speicherung und Verarbeitung an
den Auftragsetikettdienst 60 senden.
-
Die
Arbeitsflußsteuerung 70 steuert
ferner einen Abschluß von
Aufgaben unter den Prozessoren 80i .
Bei einem Ausführungsbeispiel
bestimmt die Arbeitsflußsteuerung 70,
welche der Prozessoren 80i die
notwendigen und verfügbaren
Ressourcen aufweisen, um die in einem spezifischen Auftragsetikett 61 aufgeführten Prozesse
zu beginnen. Daraufhin benennt die Arbeitsflußsteuerung 70 die
geeigneten Prozesso ren 80i , um
die durch das Auftragsetikett 61 ausgewiesenen Aufgaben
zu erfüllen.
Wenn ein Auftragsetikett 611 beispielsweise
ein Farbdrucken erfordert, kann die Arbeitsflußsteuerung 70 bestimmen, daß lediglich
der Prozessor 803 ein Farbdrucker
mit der Kapazität
ist, den in dem Auftragsetikett 611 spezifizierten
Auftrag zu beginnen. Dieses Ausführungsbeispiel,
bei dem die Arbeitsflußsteuerung 70 bestimmt,
welchen Prozessoren 80i ein spezifisches Auftragsetikett 61 zugewiesen
werden soll, kann besonders geeignet sein, wenn das Netz 35 ein
lokales Netz ist und alle Prozessoren 80i direkt
mit dem lokalen Netz 35 gekoppelt sind.
-
Alternativ
dazu kann die Arbeitsflußsteuerung 70 Angebotsinformationen
von mit dem Internet verbundenen Prozessoren 80i empfangen
und kann die Angebotsinformationen verwenden, um die Prozessoren 80i , die die Auftragsanforderung 32 erfüllen sollen,
auszuwählen.
-
Die
Arbeitsflußsteuerung 70 kann
ferner verwendet werden, um diverse Knoten, Eingangs- und Ausgangsressourcen
und andere Merkmale des Knotenbaumes, die verwendet werden, um die
Auftragsanforderung zu erfüllen,
zu benennen. Das heißt,
daß die
Arbeitsflußsteuerung 70 verwendet werden
kann, um ein Konstrukt, oder einen Arbeitsfluß, wie beispielsweise den in 2 gezeigten
Knotenbaum 10, zu erstellen. Um diese Aufgaben zu bewerkstelligen,
kann die Arbeitsflußsteuerung 70 einen
oder mehrere Agenten 71i umfassen,
die eine Auftragsdefinitionsdatei schreiben, auf der Basis von Steuerdaten,
die in der Auftragsanforderung 32 enthalten sind. Alternativ
dazu kann ein separates Verwaltungsinformationssystem (nicht gezeigt)
verwendet werden, um die Knoten zu erstellen und um einen Fluß von Aufgaben
zu den Prozessoren 80i und anderen
Entitäten
zu steuern. Bei einem anderen Ausführungsbeispiel können die
Auftragsdefinitionen durch den Client 31, der die Auftragsanforderung 32 hervorbrachte,
geschrieben sein.
-
Unter
erneuter Bezugnahme auf den Knotenbaum 10 der 2 dienen
viele Ausgangsressourcen der einzelnen Knoten als Eingangsressourcen
für andere
Knoten. Diese anderen Knoten sind eventuell nicht in der Lage, mit
dem Ausführen
zu beginnen, bevor alle Eingangsressourcen vollständig und
verfügbar
sind, was bedeutet, daß die
Knoten eventuell in einer hinreichend definierten Abfolge ausführen müssen. Beispielsweise
erzeugt ein Prozeß zum
Herstellen von Platten Preßplatten
als eine Ausgangsressource, die von einem Druckprozeß benötigt wird.
Bei der hierarchischen Organisation des Knotenbaums 10 stellen
Knoten, die höher
in dem Knotenbaum 10 erscheinen, abstraktere Operationen
einer höheren
Ebene dar, während
Knoten niedrigerer Ordnung detailliertere, spezifische Prozesse darstellen. Überdies
ist es möglich,
daß Knoten,
die sich in der Nähe
des oberen Endes des Knotenbaums 10 befinden, lediglich
eine Absicht bezüglich der
Komponenten oder Anordnungen, die das Produkt aufweisen, darstellen,
und Knoten einer niedrigeren Ebene liefern die ausführlichen
Anweisungen an einen Prozessor 80, um einen spezifischen
Prozeß durchzuführen.
-
Da
zwei Knotenbäume
eventuell nicht ähnlich
sind, kann die Arbeitsflußsteuerung 70 folgendes bestimmen:
auszuführende
Prozesse, die Reihenfolge, in der die Prozesse ausgeführt werden,
und die Prozessoren 80i , die die
Prozesse ausführen
sollen. Die Arbeitsflußsteuerung 70 kann
die Agenten 71 verwenden, um einen tatsächlichen Arbeitsfluß unter Anbetracht
von Faktoren wie zum Beispiel Steuerfähigkeiten der Prozessoren,
die die Prozesse ausführen,
Transportentfernungen zwischen Prozessoren, Belastungsvermögen der
Prozessoren und Zeitbeschränkungen
bei der Auftragsanforderung zu bestimmen. Die Agenten 71 können den
Gesamtprozeß unter
Verwendung einer seriellen Verarbeitung, die eine(n) nacheinander
erfolgende(n) Herstellung und Verbrauch von Ressourcen durch die
Prozessoren 80i beinhaltet, einer überlappenden
Verarbeitung, die eine(n) gleichzeitige(n) Verbrauch und Herstellung von
Ressourcen durch mehr als einen Prozessor 80 beinhaltet,
einer parallelen Verarbeitung, die ein gemeinsames Verwenden von
Ressourcen durch Prozessoren 80i beinhaltet,
und einer iterativen Verarbeitung, die ein Vorwärts- und Rückwärts-Verarbeitungsschema beinhaltet,
um Ressourcen zu entwickeln, definieren.
-
Beim
Bestimmen, welchem der Prozessoren 80i die
Erfüllung
einer bestimmten Auftragsanforderung zuzuweisen ist, kann die Arbeitsflußsteuerung 70 Prozessoren 80i abfragen, die mit dem Dienstezentrum 40 gekoppelt
sind. Wie oben angemerkt wurde, können die Prozessoren 80i direkt mit dem Dienstebus 41 gekoppelt
sein oder können
durch einen anderen Kommunikationsbus, wie beispielsweise das Internet,
indirekt gekoppelt sein. Das Abfragen kann immer dann stattfinden,
wenn ein Auftragsetikett 61 durch den Auftragsetikettdienst 60 erstellt wird.
Alternativ dazu kann das Abfragen und eine entsprechende Informationssammlung
auf periodischer Basis stattfinden, und die Arbeitsflußsteuerung 70 kann
Informationen, die sich auf die Prozessoren 80i beziehen,
speichern.
-
Als
Alternative zum Abfragen können
Prozessoren 801i die mit dem Dienstezentrum 40 gekoppelt
sind, den Auftragsetikettdienst 60 überwachen. Der Auftragsetikettdienst 60 kann
beispielsweise nach Art eines schwarzen Brettes Nachrichten bezüglich Auftragsetiketten,
die zum Verarbeiten zur Verfügung
stehen, periodisch plazieren. Die Prozessoren 80i können daraufhin
ein Angebot für
die in der Auftragsetikettmeldung definierten Aufgaben und Prozesse
unterbreiten. Die Arbeitsflußsteuerung 70 oder
der separate, optionale Angebotsdienst 90, kann die Angebote
prüfen
und bestimmen, welcher einzelne Prozessor 80i oder
welche Kombination von Prozessoren 80 am besten geeignet
wäre, um
die in der Auftragsetikettmeldung definierten Aufgaben und Prozesse
zu erfüllen.
-
Das
Dienstezentrum 40 kann mehrere Merkmale umfassen, um eine
Sicherheit bereitzustellen und um einen Zugriff auf das Auftragsetikett 61 zu steuern.
Wie oben erörtert
wurde, kann der Auftragsetikettdienst 60 eine Vorkehrung
für eine
Zweigsperrung umfassen. Überdies
können
Server verwendet werden, um einen Prozessor 80 zu autorisieren
und authentifizieren und um die Autorisierung und Authentifizierung
während
einer Fertigstellung einer Auftragsanforderung 32 aufrechtzuerhalten.
Der Authentifizierungsserver 92 empfängt Authentifizierungsinformationen
von einem Prozessor 80, und der Autorisierungsserver 94 verwendet
die Informationen, um eine Autorisierungsfunktionalität zu prüfen. Die
Autorisierung oder Zugriffsrechte des Prozessors 80 können als
Teil des Auftragsetiketts 61 getragen werden. Die Server 92 und 94 können Hardwaregeräte sein,
müssen
jedoch nicht in derselben Hardwareplattform existieren, und die
Server 92 und 94 müssen nicht eng gekoppelt sein.
Alternativ dazu können
die Funktionen der Server 92 und 94 bei einer
Programmierung durchgeführt
werden, die in einer der Komponenten des Dienstezentrums 40 gespeichert
ist, wie beispielsweise die Arbeitsflußsteuerung 70. Unter
Verwendung der oben beschriebenen Merkmale kann das Dienstezentrum 40 dem
Autorisierungsserver 94 vertrauenswürdige Authentifizierungsinformationen über den
Prozessor 80 liefern, und daraufhin führt der Autorisierungsserver 94 seine Autorisierungsprüfungsfunktionen
durch.
-
Das
Auftragsetikett 61 kann mit einer Industriestandard-Öffentlicher-Schlüssel-Verschlüsselung-Nachrichtenauszug-(MD-)Signatur (MO
= message digest) signiert sein und kann durch ein Öffentlicher-Schlüssel-Verschlüsselungssystem
geschützt sein.
Daher kann jeder beliebige Benutzer, der den öffentlichen Schlüssel aufweist,
das Auftragsetikett 61 bestätigen, ohne daß er mit
dem Authentifizierungsserver 92 kommunizieren muß. Diese
Merkmale verringern eine Kommunikation zwischen verteilten Serveranwendungen.
Die Merkmale ermöglichen ferner,
daß das
Auftragsetikett 61 von einem Prozessor 80 zu einem
anderen Prozessor 80 geleitet wird, wobei eine Sicherheit
aufrechterhalten wird und wobei nicht mit dem Dienstezentrum 40 kommuniziert wird.
-
Bei
einem alternativen Ausführungsbeispiel hält das Auftragsetikett 61 Authentifizierungs-/Zugriffsdaten,
was einen begrenzten Zugriff in der Infrastruktur des Dienstezentrums 40 ermöglicht.
Ressourcen können
durch Paßwörter und
andere Mechanismen geschützt
sein. Ein Zugriff auf das Auftragsetikett 61 kann auf ähnliche
Weise geschützt sein. Überdies
können
Prozessoren 80i mit einer Zugriffsautorisierung
eine solche Zugriffsautorisierung aufweisen, die durch ein Auflisten
der Prozessoren in dem Auftragsetikett hervorgerufen ist. Die Auflistung kann
beispielsweise durch ein Aufnehmen einer Netzadresse für die Prozessoren 80i bewirkt werden. Die Netzadresse kann
in den in dem Auftragsetikett 61 aufgenommenen Angebotsinformationen
enthalten sein.
-
Obwohl
sich die obige Beschreibung auf eine Entwicklung durch die Arbeitsflußsteuerung 70 bezieht,
können
andere Komponenten in dem Netz 20 verwendet werden, um
einen Gesamtarbeitsfluß zu entwickeln,
um die Auftragsanforderung 32 zu erfüllen. Beispielsweise kann der
Auftragsetikettdienst 60 verwendet werden, um den Gesamtarbeitsfluß zu entwickeln.
-
Wie
oben erörtert
wurde, kann der Angebotsdienst 90 verwendet werden, um
Angebotsinformationen von Prozessoren 80i ,
die mit dem Dienstezentrum 40 gekoppelt sind, zu empfangen.
Die Prozessoren 80 unterbreiten Angebote als Reaktion auf
ein Plazieren von Auftragsetikettmeldungen an dem Dienstezentrum 40.
Bei einem Ausführungsbeispiel ist
die Auftragsetikettnachricht ein in dem Dienstezentrum 40 gespeichertes
separates Objekt. Bei einem anderen Ausführungsbeispiel dient das Auftragsetikett 61 selbst
der Meldungsfunktion. Die Arbeitsflußsteuerung 70 kann
die Auftragsetikettmeldungen nach Empfang der Auftragsanforderung 32 plazieren. Der
Angebotsauswertungs- und -auswahlprozeß können derselbe sein, ob nun
der Angebotsdienst 90 oder die Arbeitsflußsteuerung 70 die
Angebote empfängt.
-
Die
durch die Arbeitsflußsteuerung 70 plazierte
Auftragsetikettmeldung kann spezifische Aufgaben oder Prozesse (Zweige)
umfassen, die erfüllt werden
müssen,
um die Auftragsanforderung 32 (siehe 7)
zu erfüllen.
Es kann sein, daß eine
einfache Auftragsanforderung 32 lediglich einen Zweig aufweist.
Komplexere Auftragsanforderungen 32, wie beispielsweise
die in 2 veranschaulichte Auftragsanforderung (d. h.
Drucken einer Broschüre), können viele
Zweige aufweisen. Ferner können
manche Zweige so zueinander in Beziehung stehen, daß sie nur
in einer spezifischen Abfolge erfüllt werden können, während andere
Zweige auf parallele oder überlappende
Weise erfüllt
werden können.
Diese Abhängigkeitsbeziehung
kann oft das Ergebnis dessen sein, daß ein Zweig eine Ausgangsressource
erzeugt, die eine Eingangsressource für einen oder mehrere andere
Zweige ist. Die Auftragsetikettnachricht kann Beschreibungen spezifischer
Zweige und ihrer Abhängigkeitsbeziehungen
ausreichend detailliert umfassen, um es den Prozessoren 80i zu ermöglichen, eine Fertigstellung
der Zweige anzubieten. Die Auftragsetikettmeldung kann über einen
festgelegten Zeitraum in dem Dienstezentrum 40 fortbestehen,
um es den Prozessoren 80 zu ermöglichen, Angebote zu senden.
Die Zeit kann ein eingestellter Wert (z. B. eine Stunde) sein oder
kann auf einer in der Auftragsanforderung 32 festgelegten
Fertigstellungsfrist basieren.
-
Der
Angebotsdienst 90 kann auf der Basis von festgelegten Kriterien
Angebote 91 von den Prozessoren 80i auswählen. Beispielsweise
kann die Auftragsanforderung 32 minimale Leistungserfordernisse
(z. B. maximale Kosten und eine Fertigstellungsfrist) festlegen.
Der Angebotsdienst 90 kann alle Angebote, die die minimalen
Leistungserfordernisse nicht erfüllen,
zurückweisen.
Wenn die Arbeitsflußsteuerung 70 mehrere
Zweige erstellt hat, kann jeder solche Zweig minimale Leistungserfordernisse umfassen.
Die zweigspezifischen Leistungserfordernisse können durch die Arbeitsflußsteuerung 70 auf der
Basis von Gesamtleistungserfordernissen für das Auftragsetikett 61 festgelegt
werden.
-
Ein
Prozessor 80, der bezüglich
eines bestimmten Zweiges anbietet, kann durch den Angebotsdienst 90 zurückgewiesen
werden, wenn der Prozessor 80 die minimalen Leistungserfordernisse nicht
erfüllt.
-
Wenn
der Client 31 keine minimalen Leistungserfordernisse festlegt,
kann der Angebotsdienst 90 einen standardmäßigen Satz
von Kriterien (z. B. einen Industriestandard) anwenden. Ferner muß das Angebot
jegliche Erfordernisse bezüglich
eines Erzeugens von Ausgangsressourcen erfüllen. Diesbezüglich können Angebote,
die versehentlich gemacht werden oder die ansonsten wahrscheinlich
zurückgewiesen
würden,
aussortiert werden. Beispielsweise kann ein Angebot zum Drucken
von Innenseiten der Broschüre
ein Fertigstellungsdatum von einem Jahr angeben. Ein solches Angebot
wird eventuell zurückgewiesen,
auch bei Abwesenheit jeglicher festgelegter Leistungserfordernisse
von dem Client 31.
-
Zusätzlich zu
einem Unterbreiten von Leistungserfordernissen kann der Client 31 einen
Auswertungsalgorithmus zum Auswerten von Angeboten spezifizieren.
Beispielsweise kann der Client 31 festlegen, daß Kosten
zweimal so stark zu gewichten sind wie jegliche andere Leistungserfordernisse.
-
In
der Abwesenheit eines durch einen Client festgelegten Auswertungsalgorithmus
kann der Angebotsdienst 90 einen standardmäßigen Auswertungsalgorithmus
anwenden, um Angebote für
jeden Zweig in dem Arbeitsfluß in
eine Rangordnung zu bringen. Der Auswertungsalgorithmus kann Gewichtungskriterien
anwenden oder kann eine vorgegebene Regel anwenden. Beispielsweise
können
Angebote auf der Basis einer maximalen Punktzahl in eine Rangordnung
gebracht werden, wobei Punkte für Kostenschätzungen
unter einem Maximum und für Fertigstellungszeiten
unter einem Maximum vergeben werden. Nachdem der Auswertungsalgorithmus angewendet
wurde, bringt der Angebotsdienst 90 die Angebote für jeden
Zweig in eine Rangordnung. Wenn lediglich ein Prozessor 80 den
Prozeß überlebt,
kann dieser Prozessor 80 automatisch ausgewählt und
dem Zweig zugewiesen werden. Wenn mehrere Prozessoren 80i überleben,
kann der Angebotsdienst 90 eine Liste dieser Prozessoren 80 der Arbeitsflußsteuerung 70 bereitstellen,
die daraufhin die Prozessoren 80 auswählt, die den Zweigen zuzuweisen
sind. Alternativ dazu kann die Liste dem Client 31 bereitgestellt
werden, und der Client 31 kann den bzw. die Prozessor(en) 80i auswählen, der bzw. die die in dem
Arbeitsfluß definierten
Aufgaben erfüllen
soll bzw. sollen.
-
Die
Arbeitsflußsteuerung 70 kann
als Gewinner hervorgehende Angebote entsprechenden Zweigen zuordnen
und kann die Angebotsinformationen mit dem Auftragsetikett 61 speichern.
Die gespeicherten Angebotsinformationen können Identifizierungsinformationen
umfassen, die es dem Autorisierungsserver 94 und dem Authentifizierungsserver 92 ermöglichen,
einen Zugriff auf Auftragsetikettzweige oder auf das gesamte Auftragsetikett 61 zu
erlauben. Da die Angebotsinformationen mit dem Auftragsetikett 61 gespeichert
sind, kann ein Prozessor 80 auf diejenigen Zweige, für die der
Prozessor 80 autorisiert ist, zugreifen, ohne direkt mit
dem Auftragsetikettdienst 61 kommunizieren zu müssen. Dieses Merkmal
ermöglicht
es, daß das
Auftragsetikett 60 von einem Prozessor 80 zu einem
anderen Prozessor 80 weitergereicht wird, was die Verarbeitungszeit und
-effizienz verbessert.
-
Bei
einem Ausführungsbeispiel
greift die Arbeitsflußsteuerung 70 auf
Steuerdaten des Auftragsetiketts 61 zu, um zu bestimmen,
welche(r) Prozessor(en) 80i der
in dem Auftragsetikett identifizierten spezifischen Aufgabe zugewiesen
werden sollte bzw. sollten. Die Arbeitsflußsteuerung 70 kann
ferner identifizieren, welche(r) der Prozessoren 80 in
der Lage wäre(n),
die in den Steuerdaten festgelegten Kriterien zu erfüllen, und
kann dem Client durch den Vorfelddienst 30 eine Liste solcher
Prozessoren 80 bereitstellen. Der Client 31 kann
dann (einen) Prozessor(en) 80 aus der Liste auswählen.
-
Bei
einem Ausführungsbeispiel
kann der Auftragsetikettdienst eine Abfolge von Programmierungsanweisungen
aufweisen, die auf einem maschinenlesbaren Medium, beispielsweise
einem CD-ROM, aufgenommen sind. Ein Computer kann die Programmierungsanweisung
lesen und Prozesse ausführen,
um die Funktionen des Auftragsetikettdienstes zu erfüllen, einschließlich einer
Verwendung eines Auftragsetiketts, um Angebotsinformationen zu speichern.
-
5A veranschaulicht
ein beispielhaftes Auftragsetikett 61. Das Auftragsetikett 61 kann
zwei Teile umfassen. Ein erster Teil umfaßt einen Rahmen 62 und
eine optionale Client-Erweiterung 64. Der Rahmen 62 umfaßt Informationen,
Dateien und eine Programmierung, die notwendig sind, um Aufgaben, die
in dem Auftragsetikett 61 definiert sind, zu steuern. Die
Client-Erweiterung 64 kann Informationen umfassen, die
sich auf einen bestimmten Client (Maschine) und auf einen Benutzer
der Maschine beziehen. Ein zweiter Teil umfaßt ein Sicherheitsmodul 67, das
das Auftragsetikett 61 vor einem nicht autorisierten Zugriff
schützt.
-
Der
Rahmen 62 kann ein Auftragskennzeichen (ID) 63,
ein Dienst-ID 65, einen Aufgabenabschnitt 68 und
einen Steuerdatenabschnitt 69 umfassen. Das Auftrags-ID 63 umfaßt einen
Verweis auf einen spezifischen Auftrag oder Inhalt 51,
der in dem Auftragsspeicher 50 gespeichert ist. Das Auftrags-ID 63 umfaßt ferner
einen Verweis auf einen bestimmten Auftragsspeicher 50,
der verwendet wird, um den Inhalt 51 zu speichern. Eine
Entität,
die einen Verweis auf das Auftragsetikett 61 erlangt, kann
das Auftrags-ID 63 verwenden, um auf den entsprechenden Inhalt 51 zuzugreifen.
Somit kann das in 3 gezeigte Netz 20 mehrere
Auftragsspeicher 50 umfassen, und das Auftrags-ID 63 kann
verwendet werden, um das Auftragsetikett 61 mit einem spezifischen Auftragsspeicher 50 in
Beziehung zu setzen. Das Dienst-ID 65 identifiziert einen
spezifischen Auftragsetikettdienst 60, der das Auftragsetikett 61 speichert.
Beispielsweise kann das Netz 20 mehrere Auftragsetikettdienste 60 (in 3 nicht
ge zeigt) umfassen. Das Dienst-ID 65 wird verwendet, um
das Auftragsetikett 61 mit dem entsprechenden Auftragsetikettdienst 60 in
Beziehung zu setzen.
-
Der
Aufgabenabschnitt 68 kann Zweigdefinitionen und andere
Informationen, die benötigt
werden, um eine Fertigstellung der Zweige zu steuern, umfassen.
Der Aufgabenabschnitt 68 kann derart strukturiert sein,
daß jeder
Zweig oder Knoten in einem Knotenbaum durch einen oder mehrere Zweige 66i in dem Aufgabenabschnitt dargestellt
wird. Bei diesem Ausführungsbeispiel
kann jeder Knoten in dem Knotenbaum (z. B. dem Knotenbaum 10 der 2)
dem Knoten, der Beschreibung 95, Ressourcen 96,
Sperren-/Entsperren-Flag 97 und Sicherheitsmerkmalen 99 zugeordnet
sein. Auf diese Weise reflektiert das Auftragsetikett 61 eine
hierarchische Datenbankstruktur.
-
Der
Steuerdatenabschnitt 69 umfaßt die spezifischen Anweisungen,
Parameter und Kriterien zum Erfüllen
der durch das Auftragsetikett 61 identifizierten Aufgabe.
Steuerdaten in dem Steuerdatenabschnitt 69 können ferner
jedem Knoten in einem Knotenbaum zugeordnet sein.
-
Das
Sicherheitsmodul 67 steuert einen Zugriff auf ein spezifisches
Auftragsetikett. Das Sicherheitsmodul 67 kann unter Verwendung
von standardmäßigen Verschlüsselungs-
und Zugriffstechniken, einschließlich z. B. Öffentlicher/Privater-Schlüssel-Infrastrukturen,
implementiert werden.
-
Die
Client-Erweiterung 64 kann „Kunden”-Informationen wie beispielsweise
das Alter, die Kreditkartennummer und die Postleitzahl des Benutzers enthalten.
In der Client-Erweiterung 64 bereitgestellte
Informationen können
durch Verwendung einer Öffentlicher-Schlüssel-Signatur
oder ein ähnliches Merkmal
geschützt
sein. Daher sind alle Client-Erweiterung-Informationen
automatisch in einem Nachrichtenauswahlprotokoll (MDP – message
digest protocol) enthalten und wirken sich auf die Signatur des Auftragsetiketts 61 aus.
Bei der oben beschriebenen Auftragsetikettarchitektur nimmt man
sich vieler Internet-bezogener Sicherheitsfragen an, einschließlich IP-Schwindel,
zeitgesteuerter Sitzungen, Auftragsetikettänderungen, variierender Autorisierungsebenen
und einer clientabhängigen
Dauerdatenspeicherung.
-
Das
in 5A gezeigte Auftragsetikett 61 kann verwendet
werden, um auf einen spezifischen Inhalt 51 in dem Auftragsspeicher 50 zu
verweisen. Alternativ dazu können
mehrere Auftragsetiketten 61 verwendet werden, um auf einen
spezifischen Inhalt 51 zu verweisen, oder es kann ein Auftragsetikett 61 verwendet
werden, um auf mehrere Inhalte 51 zu verweisen. Somit kann
beispielsweise ein Auftragsetikett 61 eine sich wiederholende
Druckaufgabe spezifizieren, die an ähnlichen Dokumenten zu erfüllen ist, von
denen jedes einen unterschiedlichen Inhalt 51 aufweist.
-
Unter
Verwendung des in 3 gezeigten Netzes 20 und
des in 5A gezeigten entsprechenden
Auftragsetiketts kann ein Client 31 viele verschiedene
elektronische Dienste anfordern und ausführen lassen. Beispielsweise
kann der Client 31 das Netz 20 als E-Mail-Anwendung
verwenden.
-
5B zeigt
den Aufgabenabschnitt 68 im Detail. Der Aufgabenabschnitt 68 kann
einen oder mehrere Zweigdeskriptoren 66 umfassen, die Informationen
umfassen, welche sich auf eine Verarbeitung für diesen Zweig beziehen. Ein
Beschreibungssegment 95 kann die für jeden Zweig zu erfüllenden Aufgaben
definieren. Alternativ dazu kann das Beschreibungssegment 95 eine
Verknüpfung
mit oder eine Kennung zu einer Datei bereitstellen, die die Zweigbeschreibung
enthält.
Das Ressourcensegment 96 listet Eingangs- und Ausgangsressourcen, die
den für
den Zweig definierten Aufgaben zugeordnet sind, auf. Das Sperren-/Entsperren-Flag-Segment 97 ermöglicht es
einem Flag, auf ein Sperren und Entsperren eines Zweiges gesetzt
zu sein. Ein Angebotsinformationssegment 98 umfaßt Angebotsinformationen,
die beispielsweise durch den Angebotsdienst 90 gesammelt
wurden. Die Angebots informationen 98 können detaillierte Informationen
wie beispielsweise die IP-Adresse der Prozessoren, die zu einem
Zugriff auf den Zweig autorisiert sind, geschätzte Leistungsinformationen
(z. B. geschätzte Kosten,
Lieferzeit) und andere Informationen umfassen. Alternativ dazu können die
Angebotsinformationen 98 eine Verknüpfung mit einer anderen Datei
enthalten, die die ausführlichen
Angebotsinformationen enthält.
Das Sicherheitssegment 99 kann autorisierte Sicherheitsebenen
angeben und kann als Teil einer Öffentlicher-Schlüssel/Privater-Schlüssel-Infrastruktur
verwendet werden.
-
5C veranschaulicht
ein Ausführungsbeispiel
des Steuerdatenabschnitts 69. Der Steuerdatenabschnitt 69 umfaßt eine
Client-Adresse, die eine Maschinenadresse sein kann, wie beispielsweise eine
IP-Adresse (IP = Internet protocol, Internet-Protokoll). Ein Ablaufdatum-/-Zeitsegment
kann verwendet werden, um einen aktiven Status des Etiketts 61 zu
beenden. Nachdem dieser beendet wurde, kann das Etikett aus dem
Auftragsetikettdienst gelöscht werden,
und der entsprechende Inhalt 51 kann einer Verweisaufhebung
unterzogen werden, derart, daß durch
das Auftragsetikett 61 nicht auf den Inhalt 51 verwiesen
wird. Dieses Merkmal kann dazu beitragen, veraltete Daten zu beseitigen
und Ressourcen für
andere Auftragsanforderungen 32 freizumachen. Schließlich kann
der Steuerabschnitt 69 spezifische Leistungserfordernisse
umfassen, wie beispielsweise Kosten und Lieferung, Gewährleistung,
benötigte Materialien,
Mengenrabatte und andere Erfordernisse.
-
Die
Verwendung von Auftragsetiketten als XML-Objekte ermöglicht es
Clients, Datenbanken zu definieren und Daten durch den Auftragsetikettdienst 60 und
den Auftragsspeicher 50 zu speichern. Die Datenbanken können verwendet
werden, um Kontaktlisten, Adressen und andere persönliche Daten aufzubewahren.
Die Datenbanken können
ferner dazu verwendet werden, beliebige andere generische Daten
zu speichern. Die Datenbanken könnten daraufhin
in Verbindung mit einer Viel zahl von E-Diensten, die durch die Prozessoren 80i bereitgestellt werden, verwendet werden.
Beispielsweise kann ein E-Mail-Prozessor 80, der E-Mail-Dienste
bereitstellt, in Verbindung mit einer persönlichen Kontaktliste verwendet
werden, um E-Mail-Nachrichten zu senden, elektronische Dateien zu
transferieren oder einen Chatroom einzurichten. Der E-Mail-Prozessor 80 kann
in vordefinierten Abständen
auf die Kontaktliste zugreifen, um E-Mail-Nachrichten an eine ausgewählte Gruppe
von E-Mail-Adressen zu senden. Da das Dienstezentrum 40 ferner
Prozessoren 80, die mit dem Kommunikationsnetz 35 gekoppelt
sind, ein einzelnes Portal bereitstellt, muß der Client 31 keinerlei
Kenntnis der Datenbankstruktur oder der Verarbeitungserfordernisse
der Prozessoren 80 haben.
-
Bei
der spezifischen Anwendung der generischen XML-Datenbank auf einen E-Mail-Dienst hat der
Client 31 vielleicht eine Liste von E-Mail-Kontakten als
eine generische Datenbank eingerichtet. Die Kontakte-Datenbank kann
dann in dem Auftragsspeicher 50 als Inhaltsdatei 51 gespeichert
werden. Bei dem Auftragsetikettdienst 60 kann ein entsprechendes
Auftragsetikett 61 gespeichert werden. Das Auftragsetikett 61 umfaßt Steuerdaten,
die benötigt
werden, um E-Mail durch das Dienstezentrum 40 zu senden
und zu empfangen. Ferner dient das Auftragsetikett 61 als
ein Zeiger auf Daten in der Inhaltsdatei 51. Insbesondere
kann das Auftragsetikett 61 XML-Daten speichern, die mit
anderen Daten, die in der Inhaltsdatei 51 gespeichert sind,
in Zusammenhang stehen.
-
Alternativ
dazu kann das Auftragsetikett 61 die Kontakte-Daten speichern.
Diese Alternative nützt
die Tatsache aus, daß das
Auftragsetikett 61 ein Vokabular umfaßt, das erweitert werden kann,
um die Kontaktdaten zu umfassen, und daß das Vokabular ferner erweitert
werden kann, um Eigenschaften für jede
Kontaktperson in den Kontaktdaten zu umfassen. Beispielsweise kann
das Auftragsetikett 61 festlegen, daß eine Kontaktperson eine Geschäftskontaktperson
oder eine Privatkontaktperson ist. Es können auch andere Eigenschaften
enthalten sein, beispielsweise, ob die Kontaktpersonen in der Kontakt-Datenbank
Mobiltelephone, ortsfeste Telephone, Faxgeräte und E-Mail-Adressen verwenden.
-
Die
Verwendung des Auftragsetiketts 61 ermöglicht ferner ein syntaktisches
Analysieren, Durchsuchen und Aktualisieren der Kontakte-Datenbank. Beispielsweise
kann der Client 31 die Kontakte-Datenbank nach Telephonnummern
für alle
Personen, deren Vorname Joe ist, durchsuchen wollen. Diese Suchfunktionalität ist in
dem Auftragsetikett 61 enthalten und ermöglicht es
dem Auftragsetikettdienst 60, dem Client eine Liste von
Telephonnummern für alle
Einträge
in der Kontakte-Datenbank, bei denen der Vorname der Person Joe
ist, bereitzustellen. Das heißt,
daß die
Kontakte-Datenbank Einträge
umfaßt, die
die Eigenschaft Joe aufweisen, und daß der Auftragsetikettdienst
in der Lage ist, die Kontakte-Datenbank
auf diese Eigenschaft hin zu durchsuchen und eine Liste dieser Einträge an den
Client 31 zurückzugeben.
-
Die
Eigenschaftenfunktion des Auftragsetiketts 61 ermöglicht ferner,
daß der
Auftragsetikettdienst 60 spezifische Aufgaben, die von
dem Client gewünscht
werden, steuert, oder dem Client anzeigt, daß eine gewünschte Aufgabe nicht erfüllt werden kann.
Um bei dem Beispiel der Kontakte-Datenbank zu
bleiben, möchte
der Client 31 vielleicht eine Faksimileübertragung an alle Einträge in der
Kontaktliste senden, die eine bestimmte Postleitzahl aufweisen. Der
Auftragsetikettdienst 60 kann die Kontakte-Datenbank nach
Eigenschaften hin durchsuchen, wobei er nach der Postleitzahl sucht.
Ferner kann der Auftragsetikettdienst 60 die Kontakte-Datenbank
durchsuchen, um zu bestimmen, ob es einen Eintrag gibt, der kein
Faksimilegerät
hat. Für
diejenigen Einträge, die
kein Faksimilegerät
haben, kann der Auftragsetikettdienst 60 eine Nachricht
erzeugen, die an den Client 31 zurückzusenden ist und den Client 31 informiert,
daß die
Faksimileübertragung
nicht zugestellt werden konnte. Unter Verwendung dieser Funktionalität muß der Client 31 nichts über die
beabsichtigten Empfänger
der Faksimileübertragung
wissen.
-
Um
zu dem Beispiel eines E-Mail-Dienstes zurückzukehren, kann bei dem Client 31 eine E-Mail-Anwendung
gestartet werden, um unter Verwendung des Internet eine E-Mail-Nachricht
an eine oder mehrere Kontaktpersonen in der Kontakte-Datenbank zu senden.
Der Client 31 muß jedoch
kein Abonnement bei einem Internet-Dienstleister haben. Statt dessen
bestimmt das Dienstezentrum 40, welcher Prozessor 80 am
besten dem Erfordernis des Client, die E-Mail-Nachricht zu senden,
entspricht. Das heißt,
daß das
Dienstezentrum 40 einen E-Mail-Dienstleister (einen Prozessor 80)
auswählen kann,
um die E-Mail-Nachricht an eine ausgewählte Zieladresse zu senden.
Ferner kann das Dienstezentrum 40 auf der Basis von Informationen,
die in der Kontakte-Datenbank geführt werden (d. h. dem Inhalt 51 in
dem Auftragsspeicher 50), bestimmen, welche Zustelloptionen
durch einen Benutzer an der Zieladresse gewünscht sind. Beispielsweise
kann der Benutzer der Zieladresse wünschen, daß alle E-Mail-Nachrichten an einen
E-Mail-Briefkasten gesendet werden oder daß immer dann, wenn eine E-Mail-Nachricht
gesendet wird, eine Mitteilung bereitgestellt wird. Diese Liefermerkmale
können
in der Kontakte-Datenbank gespeichert sein. Alternativ dazu können die
Zustellmerkmale in einer separaten Datenbank (Inhaltsdatei 51)
in dem Auftragsspeicher 50 gespeichert sein, und das Dienstezentrum
kann beim Bestimmen, wie die E-Mail-Nachricht zuzustellen ist, aus
dieser separaten Datenbank Informationen wiedergewinnen. Im einzelnen
kann die separate Datenbank eine Vielzahl von Benutzern zusammen mit
der Internet-Adresse des Benutzers umfassen. Durch Vergleichen der
bereitgestellten Internet-Adresse
mit dem ausgehenden E-Mail an die Internet-Adressen in der separaten
Datenbank kann das Dienstezentrum 40 gewünschte Zustelloptionen des
Adressaten bestimmen. Dieser Prozeß zum Bestimmen von Zustelloptionen
ist für
den Client 31, von dem die E-Mail-Nachricht ausging, transparent.
Al les, was der Client 31 wissen muß, sind die Kontaktinformationen
(z. B. die Internet-Adresse).
-
Der
Client 31 kann den Auftragsetikettdienst 60 verwenden,
um eine Anzahl von Leistungsmerkmalen, die sich auf den E-Mail-Dienst
beziehen, festzulegen. Beispielsweise möchte der Client 31 vielleicht,
daß das
Dienstezentrum eine festgelegte Anzahl von Zustellversuchen unternimmt
und, falls keine Zustellung stattfindet, dem Client 31 eine
Rücknachricht
sendet, die die Nichtzustellung der E-Mail-Nachricht angibt.
-
Wie
oben angemerkt wurde, kann das Auftragsetikett 61 in Verbindung
mit anderen Komponenten des Dienstezentrums 40 auch verwendet werden,
um eine dauerhafte, generische objektbasierte Datenstruktur, beispielsweise
eine XML-Datenbank,
zu erstellen. Ein Beispiel der Verwendung eines Auftragsetiketts 61 für diesen
Zweck ist in 5D veranschaulicht. Das Auftragsetikett 61 umfaßt eine
Kontakte-Liste 84,
die in Form einer XML-Datenbank oder einer anderen generischen Datenbank
vorliegen kann. Die Kontakte-Liste 84 kann eine
Struktur mit Einträgen
für eine
geschäftliche 85 und
private 86 Verwendung umfassen. Die Strukturen der geschäftlichen 85 und
privaten 86 Kontakte können
Einträge
von Einzelpersonen 87 umfassen, wie gezeigt ist. Jeder
der Einträge 87 kann
spezifische Eigenschaften umfassen, wie oben definiert ist. Zusätzlich oder
alternativ dazu kann jeder der Einträge 87 Verknüpfungen
mit anderen Datenbanken umfassen, die weitere Informationen und
Eigenschaften über
die Einzelperson bereitstellen.
-
Während die
Verwendung des Auftragsetiketts 61 als eine XML-Datenbank
unter Bezugnahme auf einen E-Mail- und Nachrichtendienst beschrieben wurde,
ist das Auftragsetikett 61 nicht so begrenzt. Jegliche
Daten, die in einer Datenbank gespeichert werden können, sind
unter Verwendung des Auftragsetiketts 61 zugänglich und
steuerbar.
-
Die
oben beschriebenen und in den 5A bis 5D gezeigten
Merkmale können
in einem anderen Ausführungsbeispiel
eines Auftragsetiketts 61 reproduziert werden, bei dem
sich alle Daten, die sich auf einen bestimmten Knoten oder Zweig
beziehen, in diesem Knoten oder Zweig befinden. Unter Verwendung
des in 2 gezeigten beispielhaften Knotenbaums 10 kann
jeder Knoten (Zweig) detaillierte Informationen und Merkmale wie
beispielsweise Ressourcen, autorisierte Prozessoren 80i , Sperren-/Entsperren-Flag, Angebotsinformationen, Zweigbeschreibung
und andere Informationen umfassen.
-
6 ist
ein Diagramm von Funktionen des Auftragsetikettdienstes 60.
Die Hauptfunktionen des Auftragsetikettdienstes 60 bestehen
darin, die Auftragsetiketten 61i zu
speichern 73 und Benutzern, beispielsweise dem Client 31 und
den Prozessoren 80, Zugriff auf die Auftragsetiketten 61 zu
gewähren 75.
Um diese Speicher- und Zugriffsfunktionen zu bewerkstelligen, kann
der Auftragsetikettdienst 60 einen Auftragsetikettverweis 72 und
einen Auftragsressourcenverweis 74 erstellen. Der Auftragsetikettdienst 60 steuert überdies
einen Auftragsinhaltzugriff 76, aktualisiert 77 die
Auftragsetiketten 61, während Prozesse
durch die Prozessoren 80, abgeschlossen und berichtet werden,
ergänzt
das Auftragsetikett 61 und berichtet 78, wenn
alle Prozesse für
ein bestimmtes Auftragsetikett 61 abgeschlossen sind, und stellt
einen Klassifizierungsprozeß 79 bereit,
um es einem Client 31 zu ermöglichen, eine Erfüllung der
in dem Auftragsetikett 61 benannten Aufgaben zu ratifizieren.
-
Der
Auftragsetikettverweis 72 umfaßt einen spezifischen Verweis
auf ein entsprechendes Auftragsetikett 61i .
Der Auftragsetikettverweis 72 kann durch den Auftragsetikettdienst 60 verwendet
werden, um es einem oder mehreren Prozessoren und Clients zu ermöglichen,
auf das Auftragsetikett 61 zuzugreifen. Das heißt, statt
das Auftragsetikett 61 an einen Prozessor 80 weiterzugeben,
gibt der Auftragsetikettdienst 60 den Auftragsetikettverweis 72 weiter.
Mit dem Auftragsetikettverweis 72 kann der Prozessor 80 auf
das gesamte oder einen Teil eines Auftragsetiketts 61 zugreifen,
so daß der
Prozessor 80 einen oder mehrere Prozesse abschließen kann.
Im Gegensatz zu herkömmlichen
Auftragsetikettdiensten behält
der Auftragsetikettdienst 60 das Auftragsetikett in einem
Speicher 73 und erlaubt es lediglich Benutzern (Clients 31 und
Prozessoren 80), auf das Auftragsetikett 61 zuzugreifen.
Dieses Merkmal ermöglicht
es mehreren Prozessoren 80, gleichzeitig Prozesse für die spezifische
Auftragsanforderung 32, die sich auf das Auftragsetikett 61 bezieht,
abzuschließen.
-
Der
Auftragsetikettdienst 60 kann ferner einen Ressourcenverweis 74 erstellen
und kann den Ressourcenverweis 74 den Prozessoren 80 und
den Clients 31 auf eine ähnliche Weise wie bei dem Auftragsetikettverweis 72 bereitstellen.
Wie oben bei der Beschreibung, die die 2 begleitet,
angemerkt wurde, können
die Ressourcen physische Geräte und
Materialien umfassen und können
digitale Dateien umfassen. Eine Verwendung des Ressourcenverweises 74 kann
Daten, die in dem Auftragsetikett 61 enthalten sind, vereinfachen.
-
Alternativ
dazu können
Informationen, die in dem Ressourcenverweis 74 enthalten
sind, in dem Auftragsetikett 61 enthalten sein oder können in
anderen Dateien enthalten sein, auf die durch die Clients 31 und
die Prozessoren 80 zugegriffen wird.
-
7 ist
ein Diagramm, das einen Betrieb von ausgewählten Funktionen des Auftragsetikettdienstes 60 zeigt.
Wie in 7 gezeigt ist, umfaßt der Auftragsetikettdienst 60 ein
Auftragsetikett 611 , das ein Programmierungsobjekt
wie dasjenige, das in 2 dargestellt wurde und oben
beschrieben wurde, sein kann. Das Auftragsetikett 611 ist als dem Auftragsetikettdienst 60 durch
den Client 311 bereitgestellt gezeigt.
Der Client 311 kann ein vernetzter Computer
oder ein ähnliches
Gerät sein,
das in der Lage ist, die digitalen Informationen, die das Auftragsetikett 611 darstellen, an den Auftragsetikettdienst 60 zu übermitteln.
Um si cherzustellen, daß das
Auftragsetikett 61 bei dem Auftragsetikettdienst 60 ankommt,
kann das Auftragsetikett 611 eine
Bezugnahme auf den Auftragsetikettdienst 60 enthalten,
wie beispielsweise das in 5B veranschaulichte Dienste-ID 65.
Das Dienste-ID 65 kann eine Netzadresse des Auftragsetikettdienstes 60 umfassen. Beispielsweise
kann das Dienste-ID 65 einen Einheitsressourcenlokator
(URL – universal
resource locator) umfassen, falls der Auftragsetikettdienst 60 eine
Internet-Website ist.
-
Ebenfalls
in 7 sind ein Client 312 und Prozessoren 801 –80N gezeigt. Die Prozessoren 801 –80N können
vernetzte Ressourcen wie beispielsweise vernetzte Drucker, Electronic-Commerce-Entitäten, die
beispielsweise Internet-Websites,
und Entitäten „aus Ziegelsteinen
und Mörtel”, wie beispielsweise
lokale Druckershops, die unter Verwendung des Dienstebusses 41 mit
dem Auftragsetikettdienst 60 verbunden sind, umfassen.
-
Der
Client 31 erzeugt eine Auftragsanforderung 32 (Inhalt 51 und
Auftragsetikettdaten). Unter Verwendung des Vorfelddienstes 30 (nicht
in 7 gezeigt) und des Dienstebusses 41 sendet
der Client 311 die Auftragsetikettdaten
an den Auftragsetikettdienst 60 und den Inhalt 51 (nicht
in 7 gezeigt) an den Auftragsspeicher 50.
Der Auftragsetikettdienst 60 kann die Auftragsetikettdaten
an die Arbeitsflußsteuerung 70 weiterleiten,
die dann ein Auftragsetikett 61 erstellt. Der Inhalt 511 und das Auftragsetikett 611 stehen durch das Auftragskennzeichen 63 miteinander
in Zusammenhang. Das Auftragskennzeichen 63 umfaßt ferner
eine Identifizierung des Auftragsspeichers 50 und einer
Position in dem Auftragsspeicher 50, an der der Inhalt 511 gespeichert ist. Bei einem alternativen
Ausführungsbeispiel kann
der Inhalt 511 bei dem Client 311 gespeichert sein, und durch den Dienstebus 41 und
den Vorfelddienst 30 kann daraufhin durch andere Benutzer
auf ihn zugegriffen werden.
-
Das
Auftragsetikett 611 spezifiziert
Prozesse, die abgeschlossen werden müssen, um die Auftragsanforderung 32 zu
beenden. Wie oben bemerkt wurde, veranschaulicht 2 Prozesse,
die erforderlich sind, um eine Broschüre zu drucken, einschließlich der
Innenseiten und des Einbands. Es kann mehr als ein Prozessor erforderlich
sein, um eine solche Auftragsanforderung abzuschließen oder
um die Auftragsanforderung auf die kosteneffizienteste und/oder
zeitsparendste Weise abzuschließen.
Die Arbeitsflußsteuerung 70 (nicht
in 7 gezeigt) kann bestimmen, welche(r) der Prozessoren 80i –80N einen spezifischen Prozeß abschließen sollte,
und, falls notwendig, die Reihenfolge, in der solche Prozesse abgeschlossen
werden sollten. Die Arbeitsflußsteuerung 70 kann
die diversen Prozessoren 80i abfragen, um
zu bestimmen, welche verwendet werden können, um die Auftragsanforderung
abzuschließen.
Die Arbeitsflußsteuerung 70 kann
daraufhin ausgewählte Prozessoren 80i davon benachrichtigen, daß bei dem Auftragsetikettdienst 60 eine
Auftragsanforderung registriert wurde.
-
Für jedes
empfangene Auftragsetikett 61i erstellt
der Auftragsetikettdienst 60 einen Verweis 72i zu dem Auftragsetikett 61i . Der Prozessor 801 kann einen
Zugriff auf das Auftragsetikett 61 anfordern, um einen
oder mehrere Prozesse abzuschließen. Als Reaktion stellt der
Auftragsetikettdienst 60 dem Prozessor 801 den
Auftragsetikettverweis 721 bereit. Der Auftragsetikettverweis 721 wird daraufhin als Index zu dem Auftragsetikett 611 verwendet. Der Auftragsetikettverweis 721 kann auch anderen Prozessoren, beispielsweise
dem Prozessor 802 , und anderen
Clients, beispielsweise dem Client 312 ,
bereitgestellt werden. Der Prozessor 802 und
der Client 312 können daraufhin
zur selben Zeit, wie der Prozessor 801 auf das
Auftragsetikett 611 zugreift, auf
das Auftragsetikett 611 zugreifen.
Dieser gleichzeitige Zugriff ermöglicht,
daß verschiedene
Prozesse parallel abgeschlossen werden können. Bei dem in 2 veranschaulichten
Beispiel kann der Prozessor 801 manche
oder alle Prozesse für
die Innenseiten abschließen,
und der Prozessor 802 kann die
Prozesse für den
Einband abschließen.
-
8 ist
ein Blockdiagramm, das eine beispielhafte Anwendung der Steuermerkmale
des Auftragsetikettdienstes 60 veranschaulicht. Das Auftragsetikett 611 wird durch das Auftragsetikettkennzeichen 63 auf
den Auftragsinhalt 511 verwiesen,
und Informationen, die sich auf das Auftragsetikett 611 und den Auftragsinhalt 511 beziehen, werden über den Dienstebus 41 geleitet.
Die Prozessoren 80i können unter
Verwendung des Dienstebusses 41 auf den Auftragsinhalt 511 und
das Auftragsetikett 611 zugreifen.
Bei dem veranschaulichten Beispiel bezieht sich das Auftragsetikett 611 auf eine Auftragsanforderung 32,
um unter Verwendung der in 2 dargelegten Prozesse
eine Broschüre
zu drucken. Der Prozessor 801 wird
durch den Arbeitsflußprozessor 70 dazu
benannt, die Innenseiten der Broschüre zu erzeugen, und der Prozessor 802 ist dazu benannt, den Broschüreneinband
zu erzeugen. Der Prozessor 801 leitet
eine Auftragsetikett-Zugriffsanforderung
an den Auftragsetikettdienst 60. Die Zugriffsanforderung kann
Sicherheitsinformationen umfassen, die es dem Prozessor 801 ermöglichen, auf das Auftragsetikett 611 und den entsprechenden Inhalt 511 oder Auftrag zuzugreifen. Als Reaktion
stellt der Auftragsetikettdienst 60 einen Auftragsetikettverweis 621 bereit, der durch den Prozessor 801 verwendet wird, um auf das Auftragsetikett 611 zuzugreifen. Der Prozessor 801 kann Informationen in dem Auftragsetikett 611 verwenden, um auf den in dem Auftragsspeicher 50 gespeicherten
Inhalt 511 zuzugreifen. Da der
Prozessor 801 lediglich die Innenseiten
erzeugt, benötigt
der Prozessor 801 keinen Zugriff
auf alle in dem Auftragsetikett 611 enthaltenen
Informationen. Da das Auftragsetikett 611 ferner
in dem Auftragsetikettdienst 60 bleibt, können ferner
andere Entitäten,
beispielsweise der Prozessor 802 ,
weiterhin auf das Auftragsetikett zugreifen.
-
Während der
Prozessor 801 diverse Prozesse
abschließt,
kann der Prozessor 801 den Inhalt 511 und das Auftragsetikett 611 aktualisieren. Somit kann das Auftragsetikett 611 den neuesten Status der Auftragsanforderung 32 widerspiegeln.
Die Statusberichte können
angeben, wenn ein Knoten in dem Knotenbaum 10 abgeschlossen
ist, wenn eine vorläufige
Frist abgeschlossen ist, wenn ein weiterer Prozessor verwendet werden
kann, um einen Prozeß abzuschließen, und
wenn das gesamte Verarbeiten abgeschlossen ist. Der Statusbericht
kann in einer digitalen Datei enthalten sein, die beispielsweise
durch die Arbeitsflußsteuerung 70 verwendet
wird. Der Statusbericht kann auch in einem für Menschen lesbaren Format
enthalten sein, beispielsweise in einem Dialogfenster auf einem
Anzeigebildschirm eines Computers. Der Prozessor 801 kann
den Auftragsetikettverweis 721 empfangen
und kann alle geplanten Prozesse abschließen, wobei der Auftragsetikettverweis 721 zu dem Auftragsetikettdienst 60 zurückgegeben wird.
Der Prozessor 801 kann ferner eine
Kopie des Auftragsetikettverweises 721 an
den Prozessor 802 senden, so daß der Prozessor 802 auf das Auftragsetikett 611 und den Inhalt 511 zugreifen
und den Broschüreneinband
erzeugen kann.
-
9 ist
ein Flußdiagramm,
das eine Operation 100 des Auftragsetikettdienstes 60 veranschaulicht.
Die Operation 100 basiert auf einem Abschließen der
Innenseitenknoten, die in 2 gezeigt
sind. Die Operation 100 kann sich zumindest teilweise unter
der Steuerung der Arbeitsflußsteuerung 70 oder eines äquivalenten
Geräts
befinden. Die Operation 100 geht davon aus, daß eine Auftragsanforderung 32 (Auftragsetikettdaten
und -inhalt) an das Dienstezentrum 40 geleitet wurde und
daß ein
Auftragsetikettdienst 61 erstellt wurde. Die Operation 100 beginnt
bei einem Startblock 101. Bei einem Block Prüfe Prozessoren
und Weise Prozessoren zu 105 bestimmt die Arbeitsflußsteuerung 70,
welche Prozessoren 80i in der Lage
und verfügbar
sind, den Auftrag abzuschließen.
Die Arbeitsflußsteuerung 70 oder
der optionale Angebotsdienst 90 können Abfrage- oder Angebotsmerkmale
verwenden, um die Bestimmung durchzuführen. Wenn mehr als ein Prozessor 80 zur Verfügung steht
und die An forderungen des Auftragsetiketts 61 erfüllen kann,
kann die Arbeitsflußsteuerung 70 dem
Auftrag einem bestimmten Prozessor 80 zuweisen. Alternativ
dazu kann die Arbeitsflußsteuerung 70 dem
Client 31 eine Liste von Prozessoren 80i bereitstellen
und es dem Client 31 ermöglichen, einen oder mehrere
Prozessoren 80i auszuwählen.
-
Bei
einem Block Anforderung Auftragsetikett 110 sendet ein
Prozessor 80, nachdem ihm ein Zugriff auf ein Auftragsetikett 61 gewährt wurde,
unter Verwendung des Dienstebusses 41 eine Zugriffsanforderung
an den Auftragsetikettdienst 60. Bei Block 115 verifiziert
der Auftragsetikettdienst, ob der Prozessor 80 auf das
Auftragsetikett 61 zugreifen kann. Der Zugriff kann beispielsweise
durch ein Paßwort, ein
Kennzeichen und ein Öffentlicher-Schlüssel/Privater-Schlüssel-Sicherheitssystem
gesteuert werden. Beim Block 115 kann, falls dem Prozessor 80 der
Zugriff verweigert wird, ein Fehlersignal an den Prozessor und/oder
den Client 31 gesandt werden, Block 120.
-
Falls
der Zugriff gewährt
wird, liefert der Auftragsetikettdienst 60 beim Block 115 dem
Prozessor 80 eine Kopie des Auftragsetikettverweises 72,
der dem Auftragsetikett 61 entspricht, Block 125.
Der Auftragsetikettverweis 72 ermöglicht es dem Prozessor 80,
zu jeder Zeit auf das Auftragsetikett zuzugreifen. Dadurch, daß er zu
jeder beliebigen Zeit auf das Auftragsetikett 61 zugreift,
ist der Prozessor 80 in der Lage, eine aktualisierte Version
des Auftragsetiketts 61 einzusehen, während durch andere Entitäten, einschließlich anderer
Prozessoren 80, Änderungen
an dem Auftragsetikett 61 vorgenommen werden.
-
Bei
Block 130 stellt der Auftragsspeicher 50 einen
Zugriff auf den Auftragsinhalt 51 bereit, auf den durch
das Auftragsetikett 61 verwiesen wird. Es kann sein, daß lediglich
derjenige Teil des Inhalts 51, der durch den Prozessor 80 eventuell
benötigt
wird, durch den Auftragsspeicher 50 bereitgestellt wird. Wenn
der Prozessor 80 beispielsweise le diglich die Innenseiten
der Broschüre
erstellen soll, kann es sein, daß der Auftragsspeicher 50 keinen
Zugriff auf den Inhalt gewährt,
der benötigt
wird, um den Broschüreneinband
zu erzeugen. Nachdem er den Auftragsetikettverweis 72 und
den Inhalt 51 empfangen hat, kann der Prozessor 80 eine
oder mehrere Aufgaben erfüllen,
indem er Eingangsressourcen verwendet, um eine vorläufige oder
endgültige
Ausgangsressource zu erzeugen. Mit dem Abschluß jedes Knotens in dem Knotenbaum 10 kann
der Prozessor 80 dem Auftragsetikettdienst 60 eine
Eingabe bereitstellen, um eine Modifizierung des Auftragsetiketts 61 zu
ermöglichen,
Block 135. Wenn der Prozessor 80 alle benötigten Prozesse
abschließt,
kann der Prozessor 80 dem Auftragsetikettdienst 60 zusammen
mit etwaigen endgültigen
Modifizierungen des Auftragsetiketts 61 einen endgültigen Statusbericht liefern,
Block 140.
-
Bei
Block 145 bestimmen der Auftragsetikettdienst 60 und
die Arbeitsflußsteuerung 70,
ob eine weitere Aufgabenzuweisung erforderlich sein kann. Wenn weitere
Aufgaben erforderlich sind, stellt die Arbeitsflußsteuerung 70 sicher,
daß die
geeigneten Prozessoren 80i zugewiesen
werden, und die Operation kehrt zum Block 110 zurück. Wenn
keine zusätzlichen
Prozesse benötigt
werden, geht die Operation zum Block 150 und endet.
-
10 ist
ein Flußdiagramm,
das die Routine 105 zum Entwickeln eines Arbeitsflusses
und Zuweisen von Prozessoren zu dem Arbeitsfluß veranschaulicht. Der Prozeß beginnt
bei Block 200. Bei Block 205 empfängt das
Dienstezentrum 40 eine Auftragsanforderung 32.
Die Auftragsanforderung 32 kann Leistungserfordernisse,
Ressourcen und andere Parameter spezifizieren und kann den Inhalt 51 oder
eine Verknüpfung
zu dem Inhalt 51 umfassen. Bei Block 210 definiert
die Arbeitsflußsteuerung 70 einen
Arbeitsfluß,
um die in der Auftragsanforderung 32 festgelegten Aufgaben
zu erfüllen.
Der Arbeitsfluß kann
durch einen Knotenbaum, beispielsweise den in 2 gezeigten
Knotenbaum 10, dargestellt sein.
-
Bei
Block 230 erstellt die Arbeitsflußsteuerung 70 unter
Verwendung der durch die Auftragsanforderung 32 bereitgestellten
Informationen, den bei Block 210 erzeugten Arbeitsfluß und einer
geeigneten Auftragsetikettschablone ein Auftragsetikett 61. Das
Auftragsetikett 61 wird daraufhin in dem Auftragsetikettdienst 60 gespeichert.
In dem Auftragsspeicher 50 kann ein jeglicher Inhalt 51 gespeichert
werden.
-
Die
Arbeitsflußsteuerung 70 oder
der Auftragsetikettdienst 60 können eine Auftragsetikettnachricht
oder ein anderes Objekt erstellen und die Nachricht, Block 250,
an dem Dienstezentrum 40 plazieren, so daß äußere Entitäten (z.
B. die Prozessoren 80) ausreichende Informationen erlangen
können,
um einen Abschluß des
Auftragsetiketts 61 oder eines Zweiges 66 des
Auftragsetiketts 61 anzubieten. Bei einem alternativen
Ausführungsbeispiel
kann das Auftragsetikett 61 an dem Dienstezentrum 40 plaziert
werden. Falls das Auftragsetikett 61 plaziert wird, kann
das Auftragsetikett 61 einen Mechanismus zum Begrenzen
des Zugriffs auf das Auftragsetikett oder zum Begrenzen des Zugriffs
auf bestimmte Abschnitte des Auftragsetiketts 61 umfassen.
Beispielsweise ist die Client-Erweiterung 64 eventuell
für die
Prozessoren 80 nicht zugreifbar.
-
Bei
Block 270 empfängt
das Dienstezentrum 40 Angebote von spezifischen Prozessoren 80,
und bei Block 290 wertet das Dienstezentrum 40 die
Angebote aus. Bei Block 295 bestimmt das Dienstezentrum 40,
ob der Client 31, der die Auftragsanforderung 32 unterbreitet,
das bzw. die als Gewinner hervorgehende(n) Angebote auszuwählen beabsichtigt, oder
ob das Dienstezentrum 40 die Auswahl trifft. Wenn der Client
die Auswahlen trifft, stellt das Dienstezentrum 40 bei
Block 300 dem Client 31 die Angebotsinformationen
bereit. Daraufhin empfängt das
Dienstezentrum 40 bei Block 305 die Auswahlen von
dem Client 31. Wenn das Dienstezentrum 40 die Auswahlen
trifft, wählt
das Dienstezentrum 40 bei Block 310 das bzw. die
als Gewinner hervorgehende(n) Angebot(e) aus.
-
Bei
Block 315 benachrichtigt das Dienstezentrum die als Gewinner
hervorgehenden Prozessoren. Das Dienstezentrum kann ferner die Angebotsinformationen
mit dem entsprechenden Auftragsetikett 61 speichern. Bei
Block 320 endet die Routine 105.
-
11 ist
ein Flußdiagramm,
das die Unterroutine 210 zum Definieren eines Arbeitsflusses
veranschaulicht. Die Unterroutine 210 startet bei Block 350.
Bei Block 355 bestimmt die Arbeitsflußsteuerung 70, ob
der Arbeitsfluß mehrere
Zweige enthalten wird. Wenn der Arbeitsfluß mehrere Zweige enthalten wird,
definiert die Arbeitsflußsteuerung 70 die
Zweige, Block 360. Bei Block 365 wählt die
Arbeitsflußsteuerung 70 einen
Zweig aus, für
den Ressourcen und Prozesse zu definieren sind. Bei Block 370 definiert
die Arbeitsflußsteuerung 70 Eingangsressourcen
für einen
ersten Prozeß oder
Knoten. Bei Block 375 definiert die Arbeitsflußsteuerung 70 die
Aufgaben, die für
den ersten Prozeß abzuschließen sind. Bei
Block 380 bestimmt die Arbeitsflußsteuerung 70 die
Ausgangsressourcen des ersten Prozesses. Bei Block 385 bestimmt
die Arbeitsflußsteuerung 70,
ob ein weiterer Prozeß für den Arbeitsfluß oder Zweig erforderlich
ist. Wenn keine weiteren Prozesse erforderlich sind, bestimmt die
Arbeitsflußsteuerung 70, ob
ein weiterer Zweig definiert werden soll, Block 390. Falls
ein weiterer Block definiert werden soll, wählt die Arbeitsflußsteuerung 70 einen
weiteren Zweig aus, Block 365, und die Unterroutine 210 wird fortgesetzt.
Wenn kein weiterer Zweig definiert werden soll, endet die Unterroutine,
Block 395. Die Ergebnisse der Arbeitsflußdefinition
können
in das Auftragsetikett 61 aufgenommen werden (siehe 10, Block 230).
-
12 ist
ein Flußdiagramm,
das die Unterroutine 250 des Plazierens einer Auftragsetikettmeldung
oder eines Auftragsetiketts veranschaulicht. Die Unterroutine 250 startet
bei Block 400. Bei Block 405 bestimmt die Arbeitsflußsteuerung 70,
ob der dem Auftragsetikett 61 zugeordnete Arbeitsfluß mehrere
Zweige umfaßt.
Wenn der Arbeitsfluß nicht mehrere
Zweige umfaßt,
plaziert die Arbeitsflußsteuerung die
Auftragsetikettmeldung, die den einzelnen Zweig auflistet, Block 410.
Wenn der Arbeitsfluß mehrere Zweige
umfaßt,
plaziert die Arbeitsflußsteuerung 70 die
Auftragsetikettmeldung bei mehreren Zweigen, Block 420.
Dann endet die Unterroutine 250.
-
13 ist
ein Flußdiagramm,
das die Unterroutine 290 zum Auswerten von Angeboten veranschaulicht.
Die Unterroutine startet bei Block 440. Bei Block 445 wählt der
Angebotsdienst 90 ein erstes Angebot zur Analyse aus. Bei
Block 450 bestimmt der Angebotsdienst 90, ob der
Client 31 etwaige Auswertungskriterien oder -erfordernisse
bereitgestellt hat. Wenn der Client keine Auswertungserfordernisse
bereitgestellt hat, vergleicht der Angebotsdienst 90 das ausgewählte Angebot
mit einem Satz von standardmäßigen Mindestleistungserfordernissen,
die Erfordernisse des Industriestandards sein können, Block 455. Bei
Block 460 bestimmt der Angebotsdienst 90, ob das
Angebot die Mindestleistungserfordernisse erfüllt. Wenn das Angebot die Mindestleistungserfordernisse
nicht erfüllt,
wird das Angebot zurückgewiesen,
Block 475. Wenn das Angebot zurückgewiesen wird, bestimmt der
Angebotsdienst 90, ob weitere Angebote unterbreitet wurden,
Block 495. Wenn weitere Angebote unterbreitet wurden, kehrt
der Angebotsprozessor 90 zu Block 445 zurück und wählt das nächste Angebot
zur Auswertung aus.
-
Bei
Block 450, falls der Client 31 Leistungserfordernisse
bereitgestellt hat, vergleicht der Angebotsdienst 90 das
ausgewählte
Angebot mit den durch den Client bereitgestellten Leistungserfordernissen,
Block 465. Bei Block 470 bestimmt der Angebotsdienst 90,
ob das ausgewählte
Angebot den Mindestkriterien der durch den Client bereitgestellten Leistungserfordernissen
entspricht. Wenn die Mindestkriterien nicht erfüllt werden, weist der Angebotsdienst 90 das
Angebot zurück,
Block 475.
-
Bei
Blöcken 470 und 460,
falls die Mindestkriterien erfüllt
werden, bestimmt der Angebotsdienst 90, ob der Client 31 einen
Auswertungsalgorithmus bereitgestellt hat. Wenn der Client 31 keinen
Auswertungsalgorithmus bereitgestellt hat, wendet der Angebotsdienst
einen standardmäßigen Auswertungsalgorithmus
an, der ein Algorithmus eines Industriestandards sein kann, Block 485.
Wenn der Client einen Auswertungsalgorithmus bereitgestellt hat,
wendet der Angebotsdienst 90 den durch den Client bereitgestellten
Auswertungsalgorithmus an, Block 490. Der Angebotsdienst 90 kann
daraufhin die Ergebnisse des Algorithmus bis zur Auswertung aller
Angebote speichern.
-
Bei
Block 495 bestimmt der Angebotsdienst 90, ob noch
etwaige Angebote ausgewertet werden müssen. Wenn weitere Angebote
verbleiben, kehrt die Unterroutine 290 zu Block 445 zurück, und
der Angebotsdienst wählt
das nächste
Angebot zur Auswertung aus. Bei Block 495, falls keine
weiteren Angebote zur Auswertung verbleiben, bringt der Angebotsdienst 90 die
Angebote in eine Rangordnung, Block 500. Dann endet die
Unterroutine 290, Block 505.
-
14 ist
ein Flußdiagramm,
das die Routine 130 zum Bereitstellen eines Zugriffs auf
ein Auftragsetikett 61 veranschaulicht. Die Routine 130 beginnt
bei Block 510. Bei Block 515 empfängt der
Auftragsetikettdienst 60 einen Auftragsetikettverweis 72 von
einem Prozessor 80 und erlangt das entsprechende Auftragsetikett 61 wieder,
Block 520.
-
Bei
Block 525 vergleicht der Auftragsetikettdienst 60 das
Prozessorkennzeichen mit Prozessoren, die in dem Auftragsetikett 61 oder
Zweigen 66 des Auftragsetiketts 61 aufgelistet
sind. Der Auftragsetikettdienst 60 bestimmt, ob die ausgewählten Zweige 66 gesperrt
sind, Block 530. Wenn die ausgewählten Zweige 66 nicht
gesperrt sind, kopiert der Auftragsetikettdienst 60 die
ausgewählten
Zweige 66 zu dem Prozessor 80, Block 535.
Bei Block 550 bestimmt der Auftragsetikettdienst 60 daraufhin,
ob die ausgewählten
Zweige 66 gesperrt werden müssen. Wenn die ausgewählten Zweige
nicht gesperrt werden müssen,
endet die Routine 130, Block 560. Wenn die ausgewählten Zweige 66 gesperrt
werden müssen,
sperrt der Auftragsetikettdienst 60 die ausgewählten Zweige 66,
Block 555. Dann endet die Routine 130, Block 560.
-
Bei
Block 530, falls die ausgewählten Zweige 66 gesperrt
sind, bestimmt der Auftragsetikettdienst 60, ob der Prozessor 80 beabsichtigt,
Informationen in den ausgewählten
Zweigen 66 zu modifizieren, Block 540. Falls der
Prozessor 80 die ausgewählten Zweige 66 nicht
modifiziert, kann der Auftragsetikettdienst 60 eine Fehlernachricht
bereitstellen, Block 545. Falls die ausgewählten Zweige 66 modifiziert werden,
kann der Auftragsetikettdienst 60 die ausgewählten Zweige 66 entsperren.
-
15 ist
ein Flußdiagramm
eines Verfahrens zum Ermöglichen
eines Zugriffs auf ein Auftragsetikett 61. Das Verfahren
kann als Teil der in 9 gezeigten Routine 115 ausgeführt werden.
Das Verfahren startet bei Block 600. Bei Block 605 empfängt der
Authentifizierungsserver 94 Authentifizierungsinformationen
von einem Prozessor 80 und erlangt ein Auftragsetikett 61 wieder,
das einem Auftragsetikettverweis 72, den der Prozessor 80 besitzt,
entspricht. In diesem Stadium des Prozesses enthält das Auftragsetikett 61 (ausschließlich des Öffentlicher-Schlüssel-Signaturfeldes 67)
zwei Informationsfelder, den Rahmen 62 und die Client-Erweiterung 64.
Der Rahmen 62 enthält
Informationen wie beispielsweise das Dienst-Kennzeichen, die Client-IP-Adresse,
Ablaufdatum und -zeit sowie Prozessorautorisierung, wie zuvor beschrieben
wurde. Die Client-Erweiterung 64 enthält Informationen
wie beispielsweise Kreditkartennummer und Postleitzahl, ebenfalls
zuvor beschrieben. Die Informationen in dem Auftragsetikett 61 (ausschließlich des Öffentlicher-Schlüssel-Signaturfeldes 67)
werden daraufhin beispielsweise unter Verwendung eines MD5-Protokolls
optional Hash-codiert und mit einem Öffent licher-Schlüssel-Verschlüsselungssystem
verschlüsselt,
Block 610, wobei eine Hash-Nummer erzeugt wird, Block 615.
Es können
auch andere Hash-Codierungs- oder Verschlüsselungsmethoden verwendet
werden. Die Hash-Nummer ist repräsentativ
für die
in dem Auftragsetikett 61 enthaltenen spezifischen Informationen.
Die bei Block 615 erzeugte Hash-Nummer wird daraufhin unter Verwendung
eines standardmäßigen Öffentlicher-Schlüssel-Verschlüsselungssystems
verschlüsselt,
Block 620. Ein Verschlüsseln
der Hash-Nummer mit einem privaten Schlüssel verhindert, daß ein Benutzer
ohne Kenntnis des öffentlichen
Schlüssels
die Auftragsinformationen modifiziert. Bei Block 625 werden
das Auftragsetikett 61 und die verschlüsselte Hash-Nummer verkettet,
um das abgeschlossene Auftragsetikett 61 zu erzeugen. Daher
die Informationsfelder des abgeschlossenen Auftragsetiketts 61:
1) der Rahmen 62, 2) die Client-Erweiterung 64 und
3) die Öffentlicher-Schlüssel-Signatur
(verschlüsselte
Hash-Nummer) 67.
Daraufhin endet das Verfahren, Block 630.
-
Bei
den veranschaulichten Ausführungsbeispielen
können
das Dienstezentrum 40 und seine Unterkomponenten, einschließlich der
Arbeitsflußsteuerung 70 und
des Auftragsetikettdienstes 60, beispielsweise als eine
einzelne, einem bestimmten Zweck gewidmete integrierte Schaltung
(z. B. eine ASIC), die einen Haupt- oder Zentralprozessorabschnitt
für eine
Gesamtsteuerung auf Systemebene aufweist, und als separate Schaltungen
implementiert sein, die dafür
reserviert sind, diverse unterschiedliche Berechnungen, Funktionen
und andere Prozesse unter der Steuerung des Zentralprozessorabschnitts
durchzuführen.
Fachleuten wird einleuchten, daß das
Dienstezentrum 40 ferner unter Verwendung einer Mehrzahl
von separaten, zweckgebundenen oder programmierbaren integrierten
oder anderen elektrischen Schaltungen oder Vorrichtungen implementiert
sein kann (z. B. festverdrahteten elektronischen oder logischen
Schaltungen wie beispielsweise Schaltungen mit Einzelbauelementen,
oder programmierbaren logischen Vorrichtungen wie beispielsweise
PLDs, PLAs oder PALs). Das Dienstezentrum 40 kann ferner unter
Verwendung eines auf geeignete Weise programmierten Mehrzweckcomputers,
z. B. eines Mikroprozessors, einer Mikrosteuerung oder einer anderen
Prozessorvorrichtung (CPU oder MPU), entweder allein oder in Verbindung
mit einem oder mehreren Daten- und Signalverarbeitungs-Peripheriegeräten (z.
B. integrierte Schaltung) implementiert sein. Allgemein kann jegliche
Vorrichtung oder Anordnung von Vorrichtungen, bei der eine Finit-Zustand-Maschine, die in
der Lage ist, die in den 9 bis 16 gezeigten
Flußdiagramme
zu implementieren, verwendet werden kann, als das Dienstezentrum 40 oder
seine Unterkomponenten verwendet werden.