DE10236189B4 - Verfahren, System und Programmprodukt zum Drucker eines Dokuments, das eine Mehrzahl von Seiten aufweist - Google Patents

Verfahren, System und Programmprodukt zum Drucker eines Dokuments, das eine Mehrzahl von Seiten aufweist Download PDF

Info

Publication number
DE10236189B4
DE10236189B4 DE10236189A DE10236189A DE10236189B4 DE 10236189 B4 DE10236189 B4 DE 10236189B4 DE 10236189 A DE10236189 A DE 10236189A DE 10236189 A DE10236189 A DE 10236189A DE 10236189 B4 DE10236189 B4 DE 10236189B4
Authority
DE
Germany
Prior art keywords
user
web
graphics
composition
image data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE10236189A
Other languages
English (en)
Other versions
DE10236189A1 (de
Inventor
Shell S. Simpson
Ward S. Foster
Kris R. Livingston
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE10236189A1 publication Critical patent/DE10236189A1/de
Application granted granted Critical
Publication of DE10236189B4 publication Critical patent/DE10236189B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/125Page layout or assigning input pages onto output media, e.g. imposition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Verfahren zum Drucken eines Dokuments, das eine Mehrzahl von Seiten aufweist, wobei jede der Seiten des Dokuments durch Seitenbilddaten beschrieben ist, und wobei Graphikdaten für die Seitenbilddaten in einem Speicher entfernt von einem Drucker gespeichert sind, wobei das Verfahren folgende Schritte aufweist:
Empfangen (1500, 1510) eines Auftrags zum Drucken des Dokuments, wobei der Auftrag eine dem Dokument zugeordnete Druckspezifikation aufweist;
Bestimmen (1520) einer Reihenfolge, in der die Seitenbilddaten gemäß der dem Dokument zugeordneten Druckspezifikation zu drucken sind;
Erhalten (1540) von Graphikdaten für die Seitenbilddaten in der bestimmten Reihenfolge; und
Bereitstellen (1550, 1560) der Graphikdaten in der bestimmten Reihenfolge zum Drucken.

Description

  • Die vorliegende Erfindung bezieht sich allgemein auf ein Verfahren, ein System und ein Programmprodukt zum Drucken eines Dokuments, das eine Mehrzahl von Seiten aufweist, insbesondere auf ein verbessertes Verfahren, ein System und ein Programmprodukt zum Drucken eines Dokuments unter Verwendung von Webbilderzeugungsoperationen.
  • Die Verwendung von Webanwendungen ist im Verlauf der Jahre stark angewachsen, da das Internet immer weiter entwickelt wird. Da die meisten Webanwendungen entworfen sind, um mit Plattform-übergreifenden Browsern zu arbeiten, arbeiten dieselben unabhängig von dem Betriebssystem („OS" = operating system). Anders ausgedrückt können die meisten Webanwendungen mit jedem Betriebssystem arbeiten, wie z. B. LINUX®, WINDOWS® oder MACINTOSH®.
  • Spezielle Verhaltensprobleme entstehen während gewissen Druckoperationen, wenn die Seiten zum Drucken außerhalb der numerischen Reihenfolge angefordert werden. Eine Duplexspezifikation könnte z. B. die Seiten 1 und 3 anfordern und dann 2 und 4. Bestimmte Druckoperationen, wie z. B. das Broschürendrucken, könnten Seiten außer der Reihenfolge erfordern, wie z. B. 1, 99, 2, 98, etc. Um dies zu ermöglichen, ist üblicherweise eine bedeutende Speichermenge erforderlich, um die dazwischenliegenden Seiten temporär zu speichern. Dementsprechend mußten Druckerentwerfer früher angemessene Speichermengen einlagern, um eine derartige Druckspezifikation zu ermöglichen. Ein Aspekt der vorliegenden Erfindung richtet sich auf das Lösen dieses Problems.
  • Die DE 19921120 A1 beschreibt ein Verfahren und ein System zum Ausschießen von Druckdaten. Gemäß diesem System werden zunächst Druckdaten in einer logischen Seitenfolge zum Drucken bereitgestellt. Ein Parameter des Aufzeichnungsträgers, auf dem die Druckdaten gedruckt werden, wird bestimmt, der für die Positionen des Druckbildes auf dem gefalteten Aufzeichnungsträger relevant ist. In Abhängigkeit von diesem Parameter wird vor dem Drucken eine Positionskorrektur der Seiten durchgeführt, so daß die Druckbilder aufeinanderfolgender Seiten passgenau liegen. Die Druckdaten werden zu Beginn der Verarbeitung für das vollständige Dokument bereitgestellt.
  • Die JP 10-269039 A betrifft ein Drucksystem, bei dem der Druckserver mit einem www-Server verbunden ist, wobei ein Drucker Daten über den Druckserver druckt, die von einem Hostcomputer, der mit dem www-Server verbunden ist, empfangen werden.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren, ein System und ein Programmprodukt zu schaffen, daß bei Druckspezifikationen zum Drucken von Seiten außer der Reihenfolge den hierfür erforderlichen Speicherbedarf reduziert.
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1, ein System gemäß Anspruch 5 und ein Programmprodukt gemäß Anspruch 11 gelöst.
  • Kurz ausgedrückt schafft die vorliegende Erfindung ein Verfahren zum Drucken eines Dokuments, das eine Mehrzahl von Seiten aufweist, wobei jede der Seiten des Dokuments durch Seitenbilddaten (canvas = ein Satz von Bilddaten, der für eine einzelne Seite bestimmt ist) beschrieben ist, wobei das Verfahren folgende Schritte aufweist: Empfangen eines Auftrags zum Drucken des Dokuments, wobei der Auftrag eine dem Dokument zugeordnete Druckspezifikation aufweist; Bestimmen einer Reihenfolge, in der die Seitenbilddaten gemäß der dem Dokument zugeordneten Druckspezifikation zu drucken sind; Erhalten der Seitenbilddaten in der bestimmten Reihenfolge; und Bereitstellen der Seitenbilddaten in der bestimmten Reihenfolge zum Drucken.
  • Gemäß einem Aspekt umfaßt das Verfahren ferner den Schritt des Erhaltens von Inhaltsformaten, in denen die Seitenbilddaten verfügbar sind, und den Schritt des Auswählens eines gewünschten Formates aufweist, wobei der Schritt des Erhaltens von Seitenbilddaten das Erhalten von Seitenbilddaten in dem ausgewählten Format aufweist.
  • Vorzugsweise zeigt die Druckspezifikation einen Duplex-Druck oder einen Broschüren-Druck an.
  • Weiterhin vorzugsweise umfaßt das Verfahren ferner den Schritt des Druckens der Seitenbilddaten.
  • Die vorliegende Erfindung schafft ferner ein System zum Drucken eines Dokuments, das eine Mehrzahl von Seiten aufweist, wobei jede der Seiten des Dokuments durch Seitenbilddaten beschrieben ist, wobei das System folgende Merkmale aufweist: eine erste Komponente zum Empfangen eines Auftrags zum Drucken des Dokuments, wobei der Auftrag eine dem Dokument zugeordnete Druckspezifikation aufweist; eine zweite Komponente zum Bestimmen einer Reihenfolge, in der die Seitenbilddaten gemäß der dem Dokument zugeordneten Druckspezifikation zu drucken sind; eine dritte Komponente zum Erhalten von Seitenbilddaten in der bestimmten Reihenfolge; und eine vierte Komponente zum Verarbeiten der Seitenbilddaten in der bestimmten Reihenfolge zum Drucken.
  • Vorzugsweise ist die erste Komponente ein Webinhalt, der innerhalb eines Webbrowsers arbeitet und durch einen Webserver bereitgestellt wird.
  • Weiterhin vorzugsweise umfaßt der Webinhalt die zweite und die dritte Komponente.
  • Ferner umfaßt der Webdienst vorzugsweise die zweite und die dritte Komponente.
  • Vorzugsweise umfaßt der Webserver die vierte Komponente.
  • Die vorliegende Erfindung schafft ferner ein Programmprodukt zum Drucken eines Dokuments, das eine Mehrzahl von Seiten aufweist, wobei jede der Seiten des Dokuments durch Seitenbilddaten beschrieben ist, wobei das Programmprodukt einen computerlesbaren Code aufweist, um zu bewirken, daß ein System die erfindungsgemäßen Verfahrensschritte ausführt, wenn der computerlesbare Code auf dem System abläuft.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Diagramm des Aufbaus eines Klientenserver-Netzwerksystems, in dem die vorliegende Erfindung implementiert werden kann;
  • 2 ein Diagramm des Aufbaus des Klientenserver-Netzwerksystems von 1, wobei der Bilderzeugungsklient außerhalb einer Brandmauer gezeigt ist;
  • 3 ein Diagramm des Aufbaus eines zweiten Klientenserver-Netzwerksystems, in dem die vorliegende Erfindung implementiert werden kann;
  • 4 ein Diagramm des Aufbaus des Klientenserver-Netzwerksystems von 3, wobei der Bilderzeugungsklient außerhalb einer Brandmauer gezeigt ist;
  • 5 ein Diagramm des Aufbaus des Klientenservernetzwerks unter Verwendung eines gemeinschaftlich verwendeten oder Gruppenzusammensetzungs-Speichers und Graphikspeichers;
  • 6A und 6B ein Flußdiagramm, das die bevorzugte Funktionalität des Übertragungsverfahrens der vorliegenden Erfindung darstellt.
  • 7 ein Flußdiagramm, das die bevorzugte Funktionalität zum Auswählen eines Profils über 6 darstellt.
  • 8 ein schematisches Diagramm, das die Operation der Erfindung für ein Beispiel auf einer sehr hohen Ebene darstellt.
  • 9 ein Diagramm des Aufbaus eines beispielhaften Bilderzeugungsklienten.
  • 10 ein schematisches Blockdiagramm eines Ausführungsbeispiels eines Graphikspeichers.
  • 11 ein schematisches Blockdiagramm eines zweiten Ausführungsbeispiels eines Graphikspeichers.
  • 12 ein schematisches Blockdiagramm eines bevorzugten Ausführungsbeispiels zum Ermöglichen, daß ein Drucker oder eine andere Vorrichtung Dokument- oder Druckauftrag-Daten in einer vorbestimmten Seitenbilddaten-Reihenfolge anfordert.
  • Glossar der verwendeten Ausdrücke und Akronyme
  • Die folgenden Ausdrücke und Akronyme werden in der gesamten, detaillierten Beschreibung verwendet:
    „API". Eine Anwendungsprogrammschnittstelle (API = application programming interface) ist eine Bibliothek von Verfahren in Form von Programmen, die durch ein System einer bestimmten Art (ein Beispiel ist ein Web-basiertes Bilderzeugungssystem, wie in der vorliegenden Erfindung) bereitgestellt werden, das es Klientenprogrammen (Webinhalt, der innerhalb des Browsers arbeitet ist ein Beispiel) ermöglicht, mit diesem System zu interagieren. Ein Verfahren des Erzeugens einer API ist es, eine Bibliothek zu erzeugen. In Java z. B. wird eine Bibliothek (üblicherweise eine Jar-Datei genannt) durch Definieren von einer Klasse oder von Klassen, Kompilieren der Klasse oder der Klassen und Gruppieren der Klasse oder der Klassen in einer Bibliothek erzeugt. Es könnte z. B. die nachfolgende Klasse erzeugt werden:
    classBaseConversionAPI {static public String convert-BaseToBase( String inNumber, int inBase, int outBase) {//Code zum Zurückgeben einer Zeichenfolge, die inNumber konvertiert outBase darstellt }}
  • Diese Klasse würde dann mit dem folgenden Befehl kompiliert werden:
    java.exe BaseConversionAPI.java.
  • ANMERKUNG: Programme werden üblicherweise in Textdateien gespeichert, die „kompiliert" werden, um „Objektdateien" zu erzeugen, die die ausführbaren (oder interpretierbaren) Befehle enthalten. In diesem Fall ist das Programm in der Datei BaseConversionAPI.java enthalten. Der Vorgang des Kompilierens erzeugte eine Datei mit dem Namen „BaseConversionAPI.class", die Befehle für eine spezifische Rechenarchitektur (in diesem Fall die Java Virtual Machine) enthält, die dem Programm entsprechen.
  • Als nächstes in diesem Beispiel wird eine Jar-Datei erzeugt:
    jar.exe cvf BaseConversionAPI.tar BaseConversionAPI.class
  • Dieser Befehl erzeugt eine „Bibliothek"-Datei, die die BaseConversionAPIclass enthält. Dieser letzte Schritt ist nicht absolut erforderlich. In manchen Fällen werden APIs als Dateien bereitgestellt, die ausführbare Befehle enthalten (wie z. B. die BaseConversionAPI.class-Datei).
  • Bezugnahmen betreffend die Erzeugung von APIs:
    http://www.library.yale.edu/orbis2/public/activity/API.html
  • Es wird darauf hingewiesen, daß die APIs zu den Netzwerkdiensten (Graphikspeicher, Zusammensetzungsspeicher und Be nutzerprofilspeicher, die alle nachfolgend erörtert werden) erzeugt werden, um durch eine Fernaufruftechnik, wie z. B. CORBA, JAVA-RMI, DCOM, RPC oder SOAP zugreifbar zu sein. Eine breite Vielzahl von gedruckten Bezugnahmen ist verfügbar, die beschreiben, wie APIs erzeugt werden können, um durch eine Fernaufruftechnik, wie z. B. eine der oben genannten Techniken, zugreifbar zu sein.
  • Obwohl Bibliotheken in diesem Patent als APIs bezeichnet werden ist es wichtig zu erkennen, daß eine API nicht wirklich eine Bibliothek ist; eine API ist eine Schnittstelle, die eine Bibliothek implementiert. Um jedoch den Text in diesem Patent zu vereinfachen, wird eine API und die Implementierung einer API als eine Bibliothek als miteinander austauschbar verwendet.
  • „Klientenserver". Ein Modell der Wechselwirkung in einem verteilten System, in dem ein Programm auf einer Site eine Anforderung an ein Programm auf einer anderen Site sendet und auf eine Antwort wartet. Das Anforderungsprogramm wird der „Klient" genannt, und das Programm, das auf die Anforderung antwortet, wird der „Server" genannt. In dem Kontext des World Wide Web (weltweites Netz = Internet) (nachfolgend erörtert) ist der Klient ein „Webbrowser" (oder einfach „Browser"), der auf dem Computer eines Benutzers läuft; das Programm, das auf Browseranforderungen durch Liefern von Webseiten oder anderer Typen von Webinhalt antwortet wird üblicherweise als ein „Webserver" bezeichnet.
  • „Zusammensetzung". Eine Zusammensetzung, die auch als eine „Graphikzusammensetzung" bezeichnet wird, weist eine Datei mit Verbindungen zu Graphikdaten auf, die als eine einzelne Einheit, d. h. eine Graphik, bedient werden. Die Datei umfaßt ferner üblicherweise Informationen über die Plazierung dieser Graphiken auf einer Sequenz von Seitenbilddaten. Sie beschreibt ferner, wie eine oder mehrere Graphiken aus einer oder mehreren Quellen auf einer Sequenz von Seitenbilddaten auf eine Vielzahl von unterschiedlichen Wegen kombi niert werden. Die Verwendung von Zusammensetzungen ermöglicht mehrere Zusammensetzungen, um auf eine Graphik in einem Graphikspeicher Bezug zu nehmen, ohne die Graphik kopieren zu müssen.
  • „Zusammensetzungsspeicher". Zusammensetzungsspeicher bezieht sich auf einen Dienst (idealerweise implementiert als ein Netzwerkdienst), der Bilderzeugungszusammensetzung(en) speichert und Zugriff zu denselben liefert, auf die durch den Benutzer oder Webdienste zugegriffen werden kann. In diesem Kontext umfaßt das Liefern von „Zugriff" das Liefern von Verfahren zum Aufbauen von Zusammensetzungen, zum Modifizieren von Zusammensetzungen und zum stückchenweisen Zugreifen auf dieselben. Ein Satz von Verfahren z. B., der für eine Ausführung über den Zusammensetzungsspeicher verfügbar ist, könnte folgende Verfahren umfassen: Erhalten einer Zusammensetzung, Erzeugen einer Zusammensetzung, Löschen einer Zusammensetzung, und Modifizieren einer Zusammensetzung.
  • „Inhalt". Ein Satz von ausführbaren Befehlen, der durch einen Server an einen Klienten geliefert wird, und der durch den Klienten ausführbar sein soll, um dem Klienten eine gewisse Funktionalität zu liefern. Webinhalt bezieht sich auf Inhalt, der durch die Operation eines Webbrowsers ausgeführt werden soll. Webinhalt kann daher auf nicht erschöpfende Weise eines oder mehrere der folgenden aufweisen: HTML-Code, SGML-Code, XML-Code, XSL-Code, CSS-Code, Java-applet, JavaScript- und C-„Sharp"-Code.
  • „Austauschinfrastruktur". Eine Austauschinfrastruktur ist eine Sammlung von Diensten, die durch ein Netzwerk verteilt werden, das Bilderzeugungsdaten speichert, die einem bestimmten Benutzer durch ein Benutzerprofil zugeordnet sind.
  • „Brandmauer" (Firewall). Eine Brandmauer filtert ungewollte Kommunikationspakete in einer oder mehreren Richtungen aus. Mittels eines Beispiels aber nicht einschränkend können bei einer Implementierung einer Brandmauer Anforderungen von innerhalb einer Brandmauer an Zugriffsdaten an der Außenseite der Brandmauer getätigt werden, und Antworten auf derartige Anforderungen werden üblicherweise erlaubt. Kommunikationen, die von außerhalb der Brandmauer an Vorrichtungen innerhalb der Brandmauer eingeleitet werden, werden üblicherweise nicht erlaubt. Im allgemeinen kann die Brandmauer durch einen Brandmauer-Stellvertreterserver bzw. Proxyserver implementiert sein, der es Vorrichtungen innerhalb der Brandmauer ermöglicht, HTTP-Anforderungen an Webserver außerhalb der Brandmauer zu leiten. Offensichtlich können auch andere Protokolle zum Implementieren einer Kommunikation durch die Brandmauer verwendet werden.
  • „Allgemeine Zugriffsbefehle". Ein allgemeiner Zugriffsbefehl bezieht sich auf einen ausführbaren Befehl, der verursachen soll, daß die ausführende Vorrichtung allgemeine Zugriffsanforderungen erzeugt, um auf einen Satz von Graphikdaten zuzugreifen. Diese Befehle rufen Verfahren auf, die z. B. durch eine Bilderzeugungserweiterung bereitgestellt werden. Verfahren, die durch die Umgebung bereitgestellt werden, in der das Programm ausgeführt wird, werden üblicherweise eine „Anwendungsprogrammschnittstelle" (API = application programming interface) genannt. Es wird darauf hingewiesen, daß ein allgemeiner Zugriffsbefehl den Ort der graphischen Zieldaten nicht umfaßt. Üblicherweise werden die graphischen Zieldaten vorausgewählt (im allgemeinen durch einen Benutzer), und deren Ort wird aus Informationen bestimmt, die lokal innerhalb der Ausführungsvorrichtung beibehalten werden.
  • „Hyperlink". Eine Navigationsverbindung von einem Dokument zu einem anderen, von einem Abschnitt (oder einer Komponente) eines Dokuments zu einem anderen oder zu einer Web-Ressource, wie z. B. einem Java-applet. Üblicherweise ist eine Hyperlink als ein hervorgehobenes Wort oder eine Phrase angezeigt, die durch Klicken auf dieselbe unter Verwendung einer Maus ausgewählt werden kann, um zu dem zugeord neten Dokument oder dem Dokumentabschnitt zu springen, oder um eine bestimmte Ressource wiederzugewinnen.
  • „Hypertext-System". Ein Computer-basiertes Informationssystem, in dem Dokumente (und möglicherweise andere Typen von Datenentitäten) miteinander über Hyperlinks verbunden sind, um ein durch den Benutzer navigierbares „Web" (bzw. Netz) zu bilden.
  • „Graphikdaten". Graphikdaten beziehen sich auf digitale Daten, die in der Lage sind, als zwei- oder mehr-dimensionale Graphiken dargestellt zu werden, wie z. B. als eine Portable Document Format- („PDF-") Datei oder eine Joint Photographic Experts Group („JPEG")-Datei.
  • „Graphikspeicher". Graphikspeicher bezieht sich auf einen Netzwerkdienst oder eine Speicherungsvorrichtung zum Speichern von Graphikdaten, auf die durch den Benutzer oder durch andere Netzwerkdienste zugegriffen werden kann. Der Graphikdatenspeicher nimmt vorzugsweise die Graphikdaten in mehreren Standarddateiformaten an, und die Graphikdaten werden wenn nötig in dieses Dateiformat umgewandelt, abhängig von der Implementierung.
  • „Internet". Eine Sammlung von miteinander verbundenen oder getrennten Netzwerken (öffentlich und/oder privat), die miteinander durch einen Satz von Standardprotokollen (wie z. B. TCP/IP und HTTP) verbunden sind, um ein globales, verteiltes Netz zu bilden. (Während dieser Ausdruck sich auf das beziehen soll, das nun allgemein als das Internet bekannt ist, soll es ebenfalls Variationen umfassen, die in der Zukunft gemacht werden können, einschließlich Änderungen und Hinzufügungen zu bestehenden Standardprotokollen.)
  • „World Wide Web" („Web"). Wird hierin verwendet, um sich allgemein sowohl (i) auf eine verteilte Sammlung von verbundenen, durch den Benutzer betrachtbaren Hypertextdokumente (üblicherweise bezeichnet als Webdokumente oder Web seiten), die über das Internet zugreifbar sind und (ii) die Klienten- und Server-Softwarekomponenten zu beziehen, die Benutzerzugriff auf derartige Dokumente unter Verwendung von standardisierten Internetprotokollen liefern. Momentan ist das primäre Standardprotokoll, um es Anwendungen zu ermöglichen, Webdokumente zu lokalisieren und zu erwerben, HTTP, und die Webseiten werden unter Verwendung von HTML codiert. Die Ausdrücke „Web" und „World Wide Web" sollen jedoch WAP und WML für Mobiltelephon-Webbrowser sowie andere aktuelle und zukünftige Markierungssprachen und Transportprotokolle umfassen, die anstelle von (oder zusätzlich zu) HTML und HTTP verwendet werden können.
  • „Website". Ein Computersystem, das Informationsinhalt über ein Netzwerk unter Verwendung der Standardprotokolle des World Wide Webs liefert. Üblicherweise entspricht eine Website einem bestimmten Internetdomainnamen, wie z. B. „HP.com", und umfaßt den Inhalt, der einer bestimmten Organisation zugeordnet ist. Wie er hierin verwendet ist soll der Ausdruck allgemein sowohl (i) die Hardware-/Software-Serverkomponenten, die den Informationsinhalt über das Netzwerk liefern und (ii) die „Ausgangsseiten"-Hardware-/Software-Komponenten umfassen, die jegliche nichtstandardmäßige oder spezialisierten Komponenten umfassen, die mit den Serverkomponenten interagieren, um Dienste für Website-Benutzer auszuführen. Wichtig zu erwähnen ist, daß eine Website zusätzliche Funktionen aufweisen kann, eine Website kann z. B. die Fähigkeit aufweisen, Dokumente zu drucken, Dokumente zu scannen, etc.
  • „HTML" (HyperText Markup Language = HyperText-Markierungssprache). Eine Standardcodierungsvereinbarung und ein Satz von Codes zum Anbringen von Präsentations- und Verbindungs-Attributen an Informationsinhalt innerhalb von Dokumenten. (HTML 2.0 ist momentan der primäre Standard, der zum Erzeugen von Webdokumenten verwendet wird.) Während des Verfassungsstadiums eines Dokuments sind die HTML-Codes (bezeichnet als „Etiketten bzw. Tags") innerhalb des Infor mationsinhalts des Dokuments eingebettet. Wenn das Webdokument (oder das HTML-Dokument) nachfolgend von einem Webserver an einen Browser übertragen wird, werden die Codes durch den Browser interpretiert und verwendet, um das Dokument anzuzeigen. Zusätzlich können die HTML-Etiketten beim Spezifizieren, wie der Webbrowser das Dokument anzeigen soll verwendet werden, um Verbindungen zu anderen Webdokumenten zu erzeugen (üblicherweise bezeichnet als „Hyperlinks"). Für weitere Informationen bezüglich HTML, siehe Ian S. Graham, The HTML Source Book, John Wiley and Sons, Inc., 1995 (ISBN 0471-11894-4).
  • „HTTP" (HyperText Transport Protocol). Das standardmäßige World Wide Web Klient-Server-Protokoll, das für das Austauschen von Informationen (wie z. B. HTML-Dokumenten und Benutzeranforderungen für derartige Dokumente) zwischen einem Browser und einem Webserver verwendet wird. HTTP umfaßt eine Anzahl von unterschiedlichen Typen von Meldungen, die von dem Clienten an den Server gesendet werden können, um unterschiedliche Typen von Serveraktionen anzufordern. Eine „GET-Meldung, die das Format GET<URL> aufweist, verursacht z. B. daß der Server das Dokument oder die Datei, die an dem spezifizierten URL positioniert ist, zurücksendet.
  • „URL" (Uniform Resource Locator = einheitlicher Ressourcenlokalisierer). Eine eindeutige Adresse, die den Ort einer Datei oder einer anderen Ressource auf dem Internet oder einem Netzwerk umfassend spezifiziert. Das allgemeine Format eines URL ist protocol://machine address:port/path/filename.
  • „Benutzerinformationen". Benutzerinformationen sind Identifizierungs- und Sicherheits-Informationen, die beim Zugreifen auf Graphikzusammensetzung (en) und Graphikdaten verwendet werden, die einem bestimmten Benutzerprofil zugeordnet sind. Es wird vorzugsweise entweder direkt oder indirekt durch Verfahren auf dieselben zugegriffen, die durch eine Erweiterungskomponente bereitgestellt werden, die in den Webbrowser integriert ist.
  • „PDA" (Personal Digital Assistent = persönlicher digitaler Assistent). Ein kleiner handgehaltener Computer, der zum Schreiben von Nachrichten, Aufzeichnen von Verabredungen, Verwalten von E-Mail und Browsen im Web verwendet wird, mit im allgemeinen bedeutend weniger Speicherungskapazität als ein Desktop-Computer.
  • „Personalbilderzeugungsverwahrungsort". Ein Personalbilderzeugungsverwahrungsort ist ein konzeptioneller Ausdruck, der die Austauschinfrastruktur beschreibt, die zum Austauschen von Graphikzusammensetzungen und Graphikdaten mit Webdiensten verwendet wird. Benutzer sind ihren Graphikdaten durch Benutzerprofile zugeordnet. Es sollte darauf hingewiesen werden, daß der Personalbilderzeugungsverwahrungsort jeglichen Typ oder jegliche Kombination von Datenspeicherungsvorrichtungen darstellen kann.
  • „Bezugnahme". Eine Bezugnahme soll ein allgemeiner Ausdruck sein, der eine URL-Bezugnahme umfaßt, oder in manchen Fällen einen Zeiger, eine Buchsennummer oder ein anderes Hintergrunddetail, hinsichtlich eines anderen internen oder externen Orts.
  • „Webdienst". Ein Webdienst soll sich auf einen Dienst beziehen, der (zumindest teilweise) durch einen Webserver bereitgestellt wird. Aber ein Webdienst ist ein breiteres Konzept als ein Webserver. In dieser Hinsicht ist ein „Web-Server" ein Programm, das unter Verwendung des Klient/Server-Modells und des Hypertext-Übertragungsprotokolls des World Wide Web (Hypertext Transfer Protocol) die Dateien, die Webseiten bilden an Webbenutzer liefert (deren Computer HTTP-Klienten enthalten, die ihre Anforderungen weiterleiten). Jeder Computer auf dem Internet, der eine Website enthält, muß ein Webserverprogramm aufweisen. Die am weitesten verbreiteten Webserver sind momentan die Internetinformationsserver (Internet Information Server) von Microsoft, die mit dem Windows NT-Server geliefert werden; Netscape Fast Track- und Enterprise-Server; und Apache, ein Webserver für UNIX-basierte Betriebssysteme. Andere Webserver umfassen den Webserver von Novell für Benutzer von deren NetWare Betriebssystem und die Familie der Lotus Domino-Server von IBM, primär für OS/390 und AS/400-Kunden von IBM.
  • Webserver sind oft Teil eines größeren Pakets von Internet- und Intranet-verwandten Programmen zum Bedienen von E-Mail, Herunterladen von Anforderungen für File Transfer Protocol-Dateien und zum Aufbauen und Veröffentlichen von Webseiten. Dieses größere Paket wird als der Webdienst bezeichnet. Parameter für einen Webserver umfassen, wie gut derselbe mit verschiedenen Betriebssystemen und anderen Servern arbeitet, dessen Fähigkeit zum Handhaben der Programmierung der Serverseite und das Veröffentlichen, Suchmaschinen und Site-Aufbautools in dem Paket.
  • „XML". XML (Extensible Markup Language = erweiterbare Markierungssprache) ist eine flexible Art, allgemeine Informationsformate zu erzeugen und sowohl das Format als auch die Daten auf dem World Wide Web, Intranets und anderswo gemeinschaftlich zu verwenden. XML ist „erweiterbar", da die Markierungssymbole im Gegensatz zu HTML unbegrenzt und selbstdefinierend sind. XML ist ein einfacherer und verwendungsfreundlicherer Teilsatz der Standard Generalized Markup Language (SGML = Standardkorrekturzeichensatz), der Standard dafür, wie eine Dokumentstruktur erzeugt wird. XML ist ähnlich der Hypertext Markup Language (HTML = Hypertextmarkierungssprache). Sowohl XML als auch HTML enthalten Markierungssymbole, um den Inhalt einer Seite oder einer Datei zu beschreiben. HTML beschreibt jedoch den Inhalt einer Webseite (überwiegend Text und Graphikbilder) nur hinsichtlich der Tatsache, wie derselbe angezeigt und mit demselben interagiert werden soll. Der Buchstabe „p", der zwischen Markierungsetiketten plaziert ist, startet z. B. ei nen neuen Absatz. XML beschreibt den Inhalt bezüglich der Frage, welche Daten beschrieben werden. Das Wort „phonenum", das innerhalb von Markierungsetiketten plaziert ist, könnte z. B. anzeigen, daß die Daten, die folgen, eine Telephonnummer waren. Dies bedeutet, daß eine XML-Datei durch ein Programm als reine Daten verarbeitet werden kann, oder daß es mit ähnlichen Daten auf einem Computer gespeichert oder wie eine HTML-Datei angezeigt werden kann.
  • Die nachfolgende anhängige Anmeldung wird hierdurch durch Bezugnahme als Ganzheit aufgenommen: „SYSTEM AND METHOD FOR PROCESSING DATA IN A DISTRIBUTED SYSTEM" von Shell Simpson und Philip Verghese, Seriennr. 09/712336, eingereicht am 13. November 2000.
  • Ein Beispiel einer Klient-Server-Architektur, in der die vorliegende Erfindung implementiert sein kann, ist in 1 gezeigt.
  • Die vorliegende Erfindung bezieht sich bei einem Aspekt auf das Implementieren des Konzepts, um zu ermöglichen, daß die Informationen einem Benutzer ihm/ihr folgen, d. h. von einer Vielzahl von unterschiedlichen Orten aus zugreifbar sind, sowohl innerhalb einer Brandmauer als auch außerhalb einer Brandmauer, sowie von einer Vielzahl von unterschiedlichen Maschinen. Dieses Konzept wird unter Verwendung von einem oder mehreren Benutzerprofilen 24 und 26 in Kombination mit dem Konzept eines Personalbilderzeugungsverwahrungsorts 50 zum Speichern von Benutzergraphiken über eine verteilte Umgebung implementiert. Der Personalbilderzeugungsverwahrungsort 50 kann über mehrere Orte, mehrere Maschinen und mehrere Architekturen verteilt sein. Einige Graphikinformationen können z. B. in einem lokalen Graphikspeicher 60 hinter einer Brandmauer 14 gespeichert sein, während andere Graphiken in externen Graphikspeichern 70 außerhalb der Brandmauer 14 gespeichert sein können. Ein derartiger lokaler oder externer Graphikspeicher könnte auf der Festplatte des Benutzers sein. Ein anderer lokaler oder externer Graphikspeicher könnte die Festplattenspeicherung für ein Multifunktions-Peripheriegerät sein, wie z. B. einen Drucker/Kopierer/Faxmaschine. Ein anderer lokaler oder externer Graphikspeicher könnte auf einem Intranet- oder einem Internet-Server sein. Der tatsächliche Speicherungsort wird gemäß Benutzer-Präferenz und Anwendung bestimmt. Somit könnten Graphikinformationen, die von den Multifunktions-Peripheriegeräten angesammelt wurden, in einem Graphikspeicher auf der Vorrichtung bleiben und einem Zugriff durch den Benutzer unterliegen, wodurch das Verhalten verbessert wird. Auf ähnliche Weise könnten Graphikinformationen, die für Internetzielorte bestimmt waren, in einem Graphikspeicher auf einem Server gespeichert sein, der über das Internet zugreifbar ist. Graphikinformationen, für die eine breite Zugreifbarkeit erwünscht ist, könnten im Internet gespeichert werden. Aus der Perspektive der Bilderzeugungszielorte, d. h. Websites, die Graphikinformationen verwenden, wären alle verfügbaren Informationen ohne spezielle Kenntnisse verfügbar. Bei der vorliegenden Erörterung soll der Ausdruck „Graphik" jegliches Bild, einschließlich eines Textbildes, eines Photobildes, PDF-Dateien und sonstiges umfassen, das in zwei- oder mehrdimensionalen Graphiken dargestellt werden kann. Für weitere Informationen, siehe Definition für „Graphikdaten" in dem Definitionsabschnitt. Für weitere Informationen über die Bedeutung eines „Graphikspeichers", siehe die nachfolgende, detaillierte Erörterung.
  • Zu Zwecken einer Übersicht von 1 ist eine Bilderzeugungs-Klientenmaschine 12 hinter einer Brandmauer 14 gezeigt. Der Bilderzeugungsklient 12 kann mittels eines Browsers 18 auf den Webinhalt 16 zugreifen, der von den Servern 30 und 32 innerhalb der Brandmauer 14 erhalten wurde, und auf den Webinhalt, der von den Servern 40 und 42 außerhalb der Brandmauer erhalten wurde. Der Bilderzeugungsklient kann Graphiken in seiner Personalbilderzeugungsverwahrungsort 50 speichern, die von diesem Webinhalt erhalten wurden, in der Form oder dem Kontext einer Zusammensetzung (siehe die Definition von „Zusammensetzung" oben), entweder innerhalb oder außerhalb der Brandmauer 14.
  • BILDERZEUGUNGSERWEITERUNG. Der Bilderzeugungsklient 12 umfaßt eine Bilderzeugungserweiterung 22 (ebenfalls gezeigt als 922 in 9). Die Bilderzeugungserweiterung 22 ist konfiguriert, um auf die Ausführung von allgemeinen Zugriffsbefehlen von dem Webinhalt 16 durch Erzeugen von/Abbilden auf entsprechende Bilderzeugungsklientspezifische Befehle von dem Bilderzeugungsklient 12 zu antworten. Dies passiert jedoch nur, wenn Benutzerinformationen 20 (die Bezugnahmen 24, 26 betreffend die Profile 64, 74 des Benutzers enthalten) für die Bilderzeugungserweiterung 22 verfügbar sind, um auf den Personalbilderzeugungsverwahrungsort 50 des Benutzers zuzugreifen.
  • Die Bilderzeugungserweiterung 22 kann als eine Anwendungsprogrammschnittstelle (API) implementiert/beabsichtigt sein. Die API, die für die Bilderzeugungserweiterung verwendet wird, entspricht vorzugsweise einem systemweiten Standard. Die allgemeinen Zugriffsbefehle von dem Webinhalt können, wenn sie ausgeführt werden, verursachen, daß Bilderzeugungserweiterungs-API-Aufrufe an die API ausgegeben werden, um über Bilderzeugungsklienten-spezifische Befehle einen Zugriff auf den Personalbilderzeugungsverwahrungsort 50 des Benutzers zu bewirken. Es ist offensichtlich, daß viele andere Wege (sowohl Hardware als auch Software) verfügbar sind, um diese Funktionalität zu implementieren. Die vorliegende Erfindung ist nicht auf einen der Wege begrenzt. Im wesentlichen ist die Bilderzeugungserweiterung 22 für das Zugreifen auf Benutzerinformationen 20 und zum Liefern einer undurchsichtigen Schnittstelle zwischen dem Webinhalt 16, der in dem Browser 18 abgespielt wird, und dem Personalbilderzeugungsverwahrungsort 50 und anderen Funktionalitäten des Bilderzeugungsklienten gedacht. Eine beispielhafte Implementierung der Bilderzeugungserweiterung wird nachfolgend detaillierter erörtert.
  • Die Benutzerinformationen 20 in 1 weisen mindestens eine oder mehrere Bezugnahmen auf eines oder mehrere Benutzerprofile auf. Jede Bezugnahme würde beispielsweise aber nicht einschränkend durch eine URL-Bezugnahme oder in manchen Fällen einen Zeiger, eine Buchsenanzahl oder ein anderes Hintergrunddetail implementiert. Die Bezugnahme für das Benutzerprofil könnte auf einen Ort innerhalb des Bilderzeugungsklienten selbst weisen oder auf einen Ort außerhalb des Bilderzeugungsklienten, wie z. B. den Server 66 oder den Server 76, der in 1 gezeigt ist. In 1 umfassen die Benutzerinformationen 20 eine Bezugnahme 24 auf ein internes Benutzerprofil 64 und eine Bezugnahme 26 auf ein externes Benutzerprofil 74, die in einem Server 66 bzw. 76 positioniert sind.
  • Jedes Benutzerprofil 64 und 74, auf das Bezug genommenen wird, könnte eine Benutzeridentifikationsinformation und mindestens eine Bezugnahme auf den gesamten oder einen Abschnitt eines Personalbilderzeugungsverwahrungsortes 50 für dieses Benutzerprofil umfassen. Wie oben erwähnt wurde, kann eine Bezugnahme eine URL-Bezugnahme (oder einen Zeiger, eine Buchse oder ein anderes Hintergrunddetail) auf einen oder mehrere Zusammensetzungsspeicher umfassen. Bei dem Beispiel von 1 umfaßt das interne Benutzerprofil 64 eine Bezugnahme 67 auf einen Standardzusammensetzungsspeicher 62 auf einem separaten Server 63. Zusätzlich dazu umfaßt das interne Benutzerprofil 64 eine Bezugnahme 68 auf einen Standardgraphikspeicher 60 auf einem separaten Server 61 und eine Bezugnahme 69 auf eine Standardzusammensetzung innerhalb eines bestimmten Zusammensetzungsspeichers, der der Standardzusammensetzungsspeicher 62 sein könnte. Es wird darauf hingewiesen, daß im Gegensatz zur Standardzusammensetzungsspeicherbezugnahme 67 und zur Standardgraphikspeicherbezugnahme 68, die sich im allgemeinen nicht ändern und durch die Bilderzeugungserweiterung zum Lokalisieren des Standardgraphikspeicherdienstes und des Standardzusammensetzungsspeicherdienstes verwendet werden, die Standardzusammensetzungsbezugnahme 69 bei vielen Ausfüh rungsbeispielen ausgelegt ist, um sich oft zu ändern. Dies ist eine Bezugnahme auf die Zusammensetzung, auf die durch „Standard" durch „Bilderzeugungszielortdienste" zugegriffen wird. Bilderzeugungsquelldienste ignorieren üblicherweise den bestehenden Wert einer Standardzusammensetzungsbezugnahme 69 und sind nur am Ändern des Werts der Standardzusammensetzungsbezugnahme 69 interessiert, so daß sich derselbe auf eine Zusammensetzung bezieht, die durch den Bilderzeugungsquelldienst erzeugt wurde.
  • Es wird ferner darauf hingewiesen, daß die Profilbezugnahmen im allgemeinen bestimmen, welche Zusammensetzungen für den Benutzer, der das Profil verwendet, aufgezählt/verfügbar sind.
  • Auf ähnliche Weise ist in 1 ferner die Bezugnahme 26 auf das externe Benutzerprofil 74 gezeigt. In 1 ist das externe Benutzerprofil auf dem Server 76 extern zu dem Bilderzeugungsklienten 12 und extern zu der Brandmauer 14 angeordnet. Es wird darauf hingewiesen, daß die Brandmauer üblicherweise die Grenze zwischen einem privaten Intranet und dem öffentlichen Internet liefert. Das externe Benutzerprofil 74 umfaßt eine Bezugnahme 77 auf einen Standardzusammensetzungsspeicher 72 auf einem Server 73, der extern zu der Brandmauer 12 ist, eine Bezugnahme 78 auf einen Standardgraphikspeicher 70 auf einem Server 71, der ebenfalls extern zu der Brandmauer 14 ist, und eine Bezugnahme 79 auf eine Standardzusammensetzung in dem externen Standardzusammensetzungsspeicher 72 oder einem anderen Zusammensetzungsspeicher extern zu der Brandmauer.
  • Es sollte darauf hingewiesen werden, daß mehrere interne und/oder externe Benutzerprofile vorliegen können, die automatisch oder manuell basierend auf einem oder mehreren Kriterien auswählbar sind. Es könnte z. B. ein unterschiedliches internes und externes Benutzerprofil für jeden unterschiedlichen Bilderzeugungsklienten vorliegen, den der Benutzer verwenden kann, wobei das bestimmte interne oder externe Benutzerprofil durch Liefern der Benutzeridentifikationsinformationen, anderer Informationen einschließlich Positionsinformationen und der Bilderzeugungsklientenmaschineinformationen an die Bilderzeugungserweiterung 22 ausgewählt werden.
  • Es wird darauf hingewiesen, daß der gleiche Benutzer mehrere Benutzerprofile haben kann. Dies ist besonders vorteilhaft wenn Brandmauern verwendet werden. Der Grund dafür ist, wie oben erwähnt wurde, daß unterschiedliche Graphikspeicher und Zusammensetzungsspeicher verwendet werden, abhängig davon, ob sich der Bilderzeugungsklient innerhalb der Brandmauer oder außerhalb der Brandmauer befand. Mehrere Benutzerprofile für den gleichen Benutzer können zu mehreren Personalbilderzeugungs-Verwahrungsortsegmenten führen, die diesem einzelnen Benutzer zugeordnet sind, wobei jedes derselben über ein unterschiedliches Benutzerprofil zugreifbar ist. Es wird darauf hingewiesen, daß mehrere Benutzer in einer Gruppe (jeder mit einem eigenen Personalbilderzeugungsverwahrungsort) unter Verwendung von gemeinschaftlich verwendeten Diensten, z. B. eines Gruppenzusammensetzungsspeichers, wie oben erwähnt wurde, auf die gleichen Bilderzeugungsinformationen Bezug nehmen kann. Ein Teil jedes Personalbilderzeugungsverwahrungsortes jedes Benutzers kann bei diesem Szenario durch eine Gruppe mit gleicher Zuordnung gemeinschaftlich verwendet werden, wie z. B. einem Gruppenprojekt.
  • Um ein Benutzerprofil auszuwählen, wenn mehr als eines bereitgestellt ist, umfaßt der Bilderzeugungsklient 12 einen Code (der üblicherweise in der Bilderzeugungserweiterung 22 vorliegt), zum Auswählen von einem aus internem Benutzerprofil 64 und externem Benutzerprofil 74. Bei einem Ausführungsbeispiel könnte dies einfach durch einen Code implementiert sein, der ein Menü an den Benutzer des Bilderzeugungsklienten 12 liefert, um die manuelle Auswahl der Bezugnahme auf das gewünschte Benutzerprofil zu ermöglichen. Alternativ oder zusätzlich dazu könnte der Code implemen tiert sein, um das Benutzerprofil automatisch basierend auf einem Kriterium auswählen, z. B. welche Bilderzeugungsklientenmaschine verwendet wird, oder ob der Bilderzeugungsklient mit einem Netzwerk innerhalb der Brandmauer verbunden ist oder sich anderweitig innerhalb der Brandmauer befindet, oder ob derselbe außerhalb der Brandmauer 14 ist.
  • In Betrieb, um den Standardzusammensetzungsspeicher zu erhalten, verursachen der Standardgraphikspeicher, die Standardzusammensetzung und der Webinhalt ein Verfahren, das durch die Bilderzeugungserweiterung 22 (die Bilderzeugungserweiterungs-API) bereitgestellt wird. Die Bilderzeugungserweiterung 22 erhält wiederum eine Bezugnahme auf das entsprechende Benutzerprofil in einem Bilderzeugungsklientenprofilspeicher in dem Benutzerinformationsabschnitt 20 und ruft (unter Verwendung von Fernaufruftechniken wie CORBA, SOAP, etc.) Verfahren auf, die durch den Profilspeicher für Zwecke des Erhaltens des Standardzusammensetzungsspeichers, des Standardgraphikspeichers oder der Standardzusammensetzung bereitgestellt sind.
  • Profilspeicher. Es wird darauf hingewiesen, daß der Profilspeicher einfach ein Dienst in dem Benutzerinformationsabschnitt 20 ist, der entsprechende Verfahren umfaßt, um Profile in einer Profilspeicherung zu erzeugen, zu modifizieren, auf dieselben zuzugreifen und dieselben zu löschen. Ein derartiger Benutzerprofilspeicherdienst könnte Daten umfassen, d. h. eines oder mehrere Benutzerprofile, und eine Mehrzahl von typischen Verfahren zum Zugreifen auf und Modifizieren der gespeicherten Benutzerprofile. Der Dienst könnte z. B. Verfahren mit dem Titel „erhalte ein Benutzerprofil", „modifiziere ein Benutzerprofil" und „lösche ein Benutzerprofil" umfassen. Dementsprechend bildet die Bilderzeugungserweiterungs-API auf die entsprechenden Verfahren in dem Benutzerprofilspeicher ab, in dem das Benutzerprofil gespeichert ist, um die Bezugnahme auf die Gegenstände (wie z. B. Standardgraphikspeicher, Standardzusammen setzungsspeicher und Standardzusammensetzung) in dem Benutzerprofil zu erhalten.
  • Es sollte darauf hingewiesen werden, daß der Bilderzeugungsklient, der innerhalb der Brandmauer 12 positioniert gezeigt ist, auf den Webinhalt außerhalb der Brandmauer von den Webservern 40 und 42 aus zugreifen kann. Auf ähnliche Weise kann jedes Benutzerprofil auf Zusammensetzungsspeicher und Graphikspeicher außerhalb der Brandmauer 14 Bezug nehmen.
  • Üblicherweise liefert jeder Webserver unterschiedlichen Webinhalt, abhängig von den Diensten und Graphiken, die derselbe anbietet. Jeder Webinhalt ist mit bestimmten, ausführbaren Befehlen vorkonfiguriert, abhängig von dem Typ des Dienstes, den die Servermaschine liefert. Bei diesem Beispiel kann der Webserver 40 für einen Druckdienst vorgesehen sein, wobei der Webserver 30 einen speziellen Photographikdienst liefern kann. Folglich kann sich der Webinhalt von dem Server 30 von dem Webinhalt von dem Server 40 unterscheiden, wobei jeder unterschiedliche ausführbare Befehle an den Browser 18 umfaßt.
  • Der Benutzer speichert anfänglich üblicherweise Graphiken, an denen ein ausgewählter Webdienst (ein Druckerdienst, z. B.) in dem Personalbilderzeugungsverwahrungsort des Benutzers arbeiten sollte, wobei die bestimmte Speicherung innerhalb des Personalbilderzeugungsverwahrungsortes des Benutzers gemäß dem Benutzerprofil ausgewählt ist, das aktiv ist, oder als manuell durch den Benutzer ausgewählt, oder alternativ als durch den Webdienst oder eine andere Anwendung ausgewählt, die in dem Browser arbeitet. Beispielhaft könnte der Benutzer eine Graphik speichern, um in seinem/ihrem Personalbilderzeugungsverwahrungsort 50 innerhalb der Brandmauer 14 in einem internen Graphikspeicher bearbeitet zu werden, der der interne Standardgraphikspeicher 60 sein könnte. Der bestimmte interne Graphikspeicher, der für diese Speicherung verwendet wird, würde z. B. entweder manuell über eine Popup-Menü-Darstellung an einen Benutzer oder automatisch durch eine Bilderzeugungserweiterung 22 ausgewählt werden, die die Informationen in einem oder mehreren internen Benutzerprofilen 64 auf einen Server 66 verweist und auf demselben verwendet. Wie oben erwähnt wurde, würde das interne Benutzerprofil 64 üblicherweise eine Bezugnahme 67 umfassen, wie z. B. einen einheitlichen Ressourcenlokalisierer (URL), auf einen internen Standardzusammensetzungsspeicher 62, der jeglicher durch den Benutzer oder das System ausgewählte interne Zusammensetzungsspeicher sein könnte. Das interne Benutzerprofil würde ferner eine Bezugnahme 68 auf den internen Standardgraphikspeicher 60 umfassen, der wiederum jeglicher interne Graphikspeicher sein könnte, der durch den Benutzer des Systems ausgewählt wird. Zusätzlich dazu würde das interne Benutzerprofil eine Bezugnahme 69 auf eine Standardzusammensetzung umfassen. Diese Standardzusammensetzung wäre die letzte interne Zusammensetzung, die durch den Benutzer ausgewählt wurde.
  • Alternativ dazu könnte der Benutzer auswählen, die Graphik zu speichern, um in einem Graphikspeicher in dem Personalbilderzeugungsverwahrungsort 50 des Benutzers außerhalb der Brandmauer 14 bearbeitet zu werden, oder dies könnte erforderlich sein, da der Bilderzeugungsklient 12 außerhalb der Brandmauer 14 ist. Dieser externe Graphikspeicher könnte ein externer Standardgraphikspeicher 70 sein. Es wird darauf hingewiesen, daß die bestimmten Graphiken, auf die durch eine Zusammensetzung in einem externen Zusammensetzungsspeicher Bezug genommen wird ferner außerhalb der Brandmauer positioniert sein können. Der bestimmte externe Graphikspeicher, der für diese Speicherung verwendet wird, würde entweder manuell über ein Popup-Menü oder z. B. automatisch durch die Bilderzeugungserweiterung 22 ausgewählt werden, die auf die Informationen in dem externen Benutzerprofil 74 auf einen Server 76 Bezug nimmt und dieselben verwendet. Wie erwähnt wurde, würde das externe Benutzerprofil eine Bezugnahme 77 umfassen, wie z. B. einen URL, auf den externen Standardzusammensetzungsspeicher 72, der jeglicher externe Zusammensetzungsspeicher sein könnte, der durch den Benutzer oder das System ausgewählt wird. Das externe Benutzerprofil umfaßt ferner eine Bezugnahme 78 auf den externen Standardgraphikspeicher 70, der wiederum jeder externe Graphikspeicher sein könnte, der durch den Benutzer des Systems ausgewählt wird. Zusätzlich dazu umfaßt das externe Benutzerprofil 74 eine Bezugnahme 79 auf eine Standardzusammensetzung. Diese Standardzusammensetzung ist die letzte externe Zusammensetzung, die durch den Benutzer ausgewählt wurde.
  • Die Standardzusammensetzung könnte auf verschiedene Weisen eingestellt sein. Die zwei üblichsten Weisen sind: 1) Der Benutzer hat vorangehend eine Zusammensetzung durch eine Internetbilderzeugungs-Homepage oder durch einen anderen Internetdienst ausgewählt, der eine Liste von verfügbaren Zusammensetzungen anzeigt, die der Benutzer auswählen kann. Sobald dieselbe ausgewählt ist, wird die Standardzusammensetzungsbezugnahme in dem Profil des Benutzers aktualisiert, um auf die ausgewählte Zusammensetzung Bezug zu nehmen. Es ist wichtig darauf hinzuweisen, daß die Internetbilderzeugungs-Homepage nur ein Beispiel eines Dienstes ist, der es dem Benutzer ermöglicht, auszuwählen, welche Zusammensetzung die Standardzusammensetzung sein sollte. Andere Webdienste können die gleiche Art von Fähigkeit liefern; 2) der Benutzer interagierte mit einem Webdienst, der eine neue Zusammensetzung erzeugte. Üblicherweise wollen Webdienste (Webserver plus Webinhalt, die in dem Browser eines Benutzers laufen), die neue Zusammensetzungen erzeugen, daß die neue Zusammensetzung leicht verfügbar ist (was dadurch erreicht wird, die neu erzeugte Zusammensetzung zu der Standardzusammensetzung zu machen).
  • Es ist somit wichtig darauf hinzuweisen, daß der Benutzer implizit oder explizit die Standardzusammensetzung in seinem/ihrem Profil auswählen kann. Wie oben erwähnt wurde, kann der Benutzer explizit die Standardzusammensetzung durch Interagieren mit einem Webdienst auswählen (wie z. B. einem Internetbilderzeugungs-Heimdienst), der Inhalt liefert, der in der Lage ist, die „Standardzusammensetzung" zu ändern. Alternativ dazu kann der Benutzer die Standardzusammensetzung implizit durch Interagieren mit Webdiensten auswählen, die neue Zusammensetzungen erzeugen, und macht diese neuen Zusammensetzungen zu Standardzusammensetzungen, um die neue Zusammensetzung leicht verfügbar zu machen, wenn der Benutzer nachfolgend zu anderen Webdiensten blättert.
  • Als ein Beispiel der Auswahl einer Standardzusammensetzung zur Verwendung, so daß ein anderer Webdienst an einer Graphik arbeiten kann, sei ein Graphikspeicher auf einem Kameraserver angenommen, dessen Speicher Photographiken enthält, die der Benutzer drucken möchte. Der Benutzer blättert zu der Webseite der Kamera, wobei er/sie ein gewünschtes Photobild aussucht und dasselbe in den Personalbilderzeugungsverwaltungsort des Benutzers wiedergewinnt, wo dasselbe eine Graphik in einer neuen Zusammensetzung wird. Diese Photozusammensetzung, die durch den Benutzer ausgewählt wurde, ist nun die Standardzusammensetzung.
  • Bezug nehmend nun auf die einzelnen Komponenten, weist der Bilderzeugungsklient beispielsweise aber nicht einschränkend üblicherweise eine Konfiguration mit einem Webbrowser 18, ein Speicherungsmodul eines bestimmten Typs 20 mit Benutzerinformationen und anderen Informationen, eine Bilderzeugungserweiterung 22 und eine bestimmte Form einer Benutzerschnittstelle (nicht gezeigt), z. B. eine Tastatur- und Anzeige-Vorrichtung, auf. Im allgemeinen ist der Browser unter der Steuerung eines Mikroprozessors implementiert. Ein beispielhafter Bilderzeugungsklient 12 in der Form eines Personalcomputers ist in 9 gezeigt. 9 ist ein Diagramm auf hoher Ebene eines Personalcomputer-/Bilderzeugungs-Klienten 12. Wie gezeigt ist, umfaßt der Personalcomputer 12 einen Prozessor 902, einen Speicher 904, den Web-Browser 912, die Bilderzeugungserweiterung 922, einen reservierten Speicherbereich 916 und ein oder mehrere Eingangs-/Ausgangs-(I/O)Tore 908. Alle diese Komponenten sind durch eine oder mehrere lokale Schnittstellen 910 verbunden. Das I/O-Tor 908 ist mit den Servern verbunden, wie vorangehend beschrieben wurde. Der Prozessor 902 wird verwendet, um den Web-Browser 912 auszuführen.
  • Webinhalt. In Betrieb greift der Browser 18 anfangs auf eine Website zu und lädt von derselben den Webinhalt unter Verwendung der entsprechenden Anforderungsbefehle herunter (HTTP für die aktuelle Erzeugung von Browsern). Wie durch die Definition hierin erwähnt wurde, umfaßt der Webinhalt 16 einen Satz von ausführbaren Befehlen, die in dem Browser 18 ausgeführt werden sollen, um dem Bilderzeugungsklienten 12 eine vorbestimmte Funktionalität zu liefern. Diese ausführbaren Befehle weisen allgemeine Zugriffsbefehle (siehe Definition oben) auf, die systemweite Befehle sind, ausgedrückt in einer bestimmten Sprache (z. B. Java), und die die Verfahren einer Bilderzeugungserweiterungs-API aufrufen, um auf den Personalbilderzeugungsverwahrungsort des Benutzers zuzugreifen, um Webbilderzeugungsoperationen durchzuführen. Derartige allgemeine Zugriffsbefehle können beispielsweise aber nicht einschränkend Java, JavaScript und C-sharp-Befehle sein. Der systemweite Standard spezifiziert üblicherweise „allgemeine Zugriffsbefehle", „allgemeine Zugriffsanforderungen" und „Zielgraphiken".
  • Eine Vielzahl von Funktionalitäten könnte durch den Webinhalt geliefert werden. Der Webinhalt könnte z. B. ausführbare Befehle umfassen, um zu verursachen, daß der Bilderzeugungsklient 12 Zielgraphiken anzeigt, d. h. verfügbare Graphiken auf der zugegriffenen Webseite zeigt. Ein anderer Webinhalt könnte ausführbare Befehle zum Anzeigen einer Drucktaste sein, und wenn die Drucktaste geklickt wird verursachen, daß der Bilderzeugungsklient einen Druckauftrag erzeugt, der eine Graphik in dem Personalbilderzeugungsverwahrungsort für den Benutzer beschreibt und den Druckauftrag an einen Drucker überträgt. Er könnte ferner eine Vorschau auf die Zielgraphik liefern. Dementsprechend bezieht sich der Webinhalt 16 in 1 auf einen Satz von ausführbaren Befehlen, die in den Browser 18 heruntergeladen werden, um einen Dienst auszuführen, der durch einen Benutzer angefordert wurde.
  • Der Webbrowser führt den Webinhalt aus, egal ob derselbe durch den Benutzer HTML-interpretiert/ausgeführt wird, in Markierungen, die auf dem Bildschirm eines Benutzers angezeigt werden, oder in Java und JavaScript oder bestimmten anderen, geeigneten Sprachen. Wie vorangehend erwähnt wurde, enthält der Webinhalt ausführbare Befehle, die die API verwenden, die durch die Bilderzeugungserweiterung 22 geliefert wird, um indirekt auf den Personalbilderzeugungsverwahrungsort des Benutzers zuzugreifen. Die ausführbaren Befehle des Webinhalts könnten z. B. einen undurchsichtigen Zugriff zu den Informationen von dem Profil des Benutzers erhalten (um den Personalbilderzeugungs-Verwahrungsort des Benutzers zu spezifizieren), durch Interagieren mit einem Benutzerprofilspeicherdienst, in dem das Profil des Benutzers positioniert ist.
  • Die ausführbaren Befehle des Webinhalts könnten diesen Zugriff ausführen, um eine undurchsichtige Bezugnahme auf die Bezugnahme 67 auf den internen Standardzusammensetzungsspeicher des Benutzers und eine undurchsichtige Bezugnahme auf die Bezugnahme 68 auf den internen Standardgraphikspeicher des Benutzers zu erhalten. Der Webinhalt könnte ferner die API verwenden, die durch die Bilderzeugungserweiterung 22 bereitgestellt wird, um eine neue Graphik zu dem internen Standardgraphikspeicher über diese undurchsichtige Bezugnahme auf die Bezugnahme 68 hinzuzufügen.
  • Bilderzeugungserweiterung. Bei einem bevorzugten Ausführungsbeispiel ist die Bilderzeugungserweiterung 22 aufgebaut, um zu verhindern, daß der Webinhalt 16 (d. h. die ausführbaren Befehle von dem Webdienst) direkt auf willkürliche Dienste und den Personalbilderzeugungsverwahrungsort des Benutzers zugreifen. Im Grunde verwendet der Webinhalt die Bilderzeugungserweiterung als den Gateway zum Zugreifen auf alles in dem Personalbilderzeugungsverwahrungsort des Benutzers, einschließlich der Informationen in dem Benutzerprofil. In der Erörterung hierin wird der Ausdruck „undurchsichtige Bezugnahme" verwendet. Eine „undurchsichtige Bezugnahme" ist eine Bezugnahme, die keine Informationen über eine zugrundeliegende Ressource darlegt. Der Besitzer einer undurchsichtigen Bezugnahme ist nicht in der Lage, irgend etwas über die Ressource aus der undurchsichtigen Bezugnahme zu bestimmen, oder die undurchsichtige Bezugnahme zu modifizieren, um zu ändern, auf welche Ressource Bezug genommen wird. (Im Gegensatz dazu, wenn ein URL bereitgestellt ist, z. B. http://www.hp.com, wäre es für den Webinhalt relativ einfach, den URL zu modifizieren, um auf eine unterschiedliche Ressource Bezug zu nehmen, z. B. „http://www.xerox.com".)
  • Dieser begrenzte Zugriff, der dem Webinhalt auferlegt ist, kann unter Verwendung einer Vielzahl von Verfahren implementiert sein. Der Entwerfer kann die API für die Bilderzeugungserweiterung 22 so implementieren, daß die API nur Bezugnahmen von dem Webinhalt akzeptiert, die vorangehend an dieselbe durch die Bilderzeugungserweiterung 22 geliefert wurden. Im Grunde wäre der Bilderzeugungsklient-/Web-Inhalt nicht in der Lage, willkürlich Bezugnahmen zu liefern, wenn die API aufgerufen wird, bereitgestellt durch die Bilderzeugungserweiterung. Der Webinhalt 16 (der auf dem Bilderzeugungsklienten 12 läuft) muß zuerst undurchsichtige Bezugnahmen unter Verwendung der API der Bilderzeugungserweiterung 22 erhalten, um mit Bilderzeugungsklientenressourcen und dem Personalbilderzeugungsverwahrungsort 50 des Benutzers zu kommunizieren. Wenn der Webinhalt 16 z. B. auf den Standardgraphikspeicher 16 zugreifen will, ist es erforderlich, daß der Webinhalt 16 ein Verfahren (bereitgestellt durch die API der Bilderzeugungserweiterung 22) aufruft, das eine undurchsichtige Bezugnahme auf den Standardgraphikspeicher liefert. Diese Bezugnahme könnte dann bei den nachfolgenden Aufrufen durch den Webinhalt an die API der Bilderzeugungserweiterung 22 verwendet werden.
  • Beispielsweise aber nicht einschränkend wäre ein Lösungsansatz, diese Einschränkung zu erreichen, eine Sitzung zu erzeugen. Eine Bilderzeugungserweiterungs-API für eine bestimmte Operation könnte z. B. folgendes aufweisen:
    CreateParticularOperationSession(): sendet SessionID zurück
    PerformOperation(Parameter, SessionID id): sendet ein Boole'sches Ergebnis zurück (was ein Ergebnis anzeigt)
    DeleteParticularOperationSession( SessionID sessionID)
  • Dementsprechend wäre es erforderlich, daß der Webinhalt die Bilderzeugungserweiterungs-API aufruft, um zuerst eine Sitzung durch Aufrufen von CreateParticularOperationSession zu erzeugen, die eine SessionID (Sitzungs-ID) zurücksendet. Diese SessionID wird verwendet, um nachfolgend Bezug auf die bestimmte Sitzung zu nehmen. Als nächstes ruft der Webinhalt die PerformOperation (Durchführoperation) in der Bilderzeugungserweiterungs-API mit einem bestimmten Eingang und der Sitzungs-ID auf. Der Webinhalt kann dann eine Vielzahl von Handlungen ausführen, wird aber nicht in der Lage sein, direkt auf Parameter und Operationen zuzugreifen, die der Sitzungs-ID „zugeordnet" sind, da die Zuordnung auf eine Weise erreicht wird, die für den Klienten „undurchsichtig" ist. Die Bilderzeugungserweiterungs-API und nur diese API alleine weiß, wie die Sitzungs-ID verwendet wird, um Bilderzeugungsklientenparameter zu bestimmen/auf diese abzubilden. Oft ist die Sitzungs-ID eine Bezugnahme, wie z. B. ein Zeiger, auf eine Datenstruktur, die für die Sitzung relevante Informationen enthält. Diese Datenstruktur könnte die Parameter und andere zugehörige Informationen enthalten. Wenn der Webinhalt seine Operation abgeschlossen hat, ruft der Webinhalt die DeleteParticularOperationSession (lösche bestimmte Operation-Sitzung) in der Bilderzeugungserweiterungs-API mit der Sitzungs-ID als einem Parameter auf. Dies weist die Bilderzeugungserweiterung-API an, jegliche Ressourcen (wie z. B. Speicher) freizugeben, die der Sitzung zugeordnet sind. Es wird darauf hingewiesen, daß wenn der Webinhalt die Sitzungs-ID ändert dies dem Webinhalt nicht ermöglicht, die eingeschränkten Parameter zu erhalten, sondern daß derselbe nur die Bilderzeugungserweiterung mit der bislang nicht gesehenen Sitzungs-ID verwechseln wird.
  • Die API, die durch die Bilderzeugungserweiterung bereitgestellt wird, kann üblicherweise als eine Bibliothek von Verfahren implementiert sein, die einen gesteuerten Zugriff auf die APIs liefern, die durch die Netzwerkdienste bereitgestellt werden, die an dem Personalbilderzeugungsverwahrungsort des Benutzers beteiligt sind. Diese Bilderzeugungserweiterungs-API ist so implementiert, um die APIs aufzurufen, die durch den Benutzerprofilspeicher, den Zusammensetzungsspeicher und den Graphikspeicher bereitgestellt sind. Auf die API, die durch die Bilderzeugungserweiterung bereitgestellt ist, wird allgemein nicht durch Fernaufruftechnik zugegriffen, obwohl dieselbe implementiert sein kann, um eine Fernaufruftechnik zu verwenden, um auf die APIs zuzugreifen, die durch die Netzwerkdienste bereitgestellt sind, die an dem Personalbilderzeugungsverwahrungsort des Benutzers beteiligt sind. Die API, die durch die Bilderzeugungserweiterung bereitgestellt ist, ist keine exakte Kopie der APIs, die durch den Benutzerprofilspeicher, den Zusammensetzungsspeicher und den Graphikspeicher bereitgestellt sind, da diese API einen gesteuerten Zugriff auf diese Netzwerkdienste durch (unter anderen Techniken) undurchsichtige Bezugnahmen liefern möchte.
  • Aus dem obigen Beispiel ist ersichtlich, daß der Webinhalt daran gehindert wird, die API zu verwenden, die durch die Bilderzeugungserweiterung geliefert wird, um auf willkürliche Dienste zuzugreifen. Der Schlüssel zu dieser Einschrän kung ist, daß der Webinhalt nicht in der Lage ist, die Adressen für diese willkürlichen Dienste zu liefern. Der Webinhalt ist nur in der Lage, durch undurchsichtige Bezugnahmen, die durch die Bilderzeugungserweiterungs-API geliefert werden (um die tatsächliche Bezugnahme/URL auf den Webinhalt nicht freizulegen) Bezug zu nehmen. Der Webinhalt könnte z. B. die API verwenden, um eine Liste von undurchsichtigen Bezugnahmen auf verfügbare Zusammensetzungen zu erhalten. Diese Liste von undurchsichtigen Bezugnahmen bildet auf die echten Bezugnahmen/URLs in der Bilderzeugungserweiterung allein ab. Somit ist es dem Webinhalt nicht erlaubt beim nachfolgenden Bezug nehmen auf diese Zusammensetzung einen URL zu liefern (der ein von demselben eigens erzeugter sein könnte), da dieser erzeugte URL nicht innerhalb der Bilderzeugungserweiterung auf echte Ressourcen abbildet. Statt dessen muß der Webinhalt Bezugnahmen verwenden, die an denselben durch die API geliefert werden, die nur im Kontext der aktuellen Sitzung mit dieser API Sinn machen. Bestimmte unübliche Aspekte des vorangehenden sind, daß der Code, der versucht, die bestimmten Ressourcen zu verwenden, extern erhaltener Webinhalt ist, und daß die Ressourcen, auf die derselbe zugreifen/die derselbe verwenden möchte, Netzwerkdienste sind.
  • Um das vorangehende anders auszudrücken, können nur Bezugnahmen, die durch die Bilderzeugungserweiterung (durch Aufrufen der API) erhalten wurden, nachfolgend durch den Webinhalt verwendet werden. Andere „erfundene" Bezugnahmen werden effektiv durch die Bilderzeugungserweiterung 22 als nicht relevant behandelt.
  • Der Webinhalt könnte damit beginnen, eine undurchsichtige Bezugnahme auf den Standardzusammensetzungsspeicher von der Bilderzeugungserweiterung (unter Verwendung der geeigneten API) zu erhalten. Später könnte der Webinhalt die undurchsichtige Bezugnahme auf den Standardzusammensetzungsspeicher verwenden, um einen Satz von Bezugnahmen auf Inhalt innerhalb des Standardzusammensetzungsspeichers zu erhal ten. Diese undurchsichtigen Bezugnahmen könnten wiederum verwendet werden, um undurchsichtige Bezugnahmen auf Graphiken zu erhalten, die jeder Zusammensetzung zugeordnet sind, so daß der Webinhalt eine undurchsichtige Bezugnahme auf jede einzelne Graphik erhält. Es ist jedoch wichtig darauf hinzuweisen, daß jede dieser undurchsichtigen Bezugnahmen nur im Kontext der Wechselwirkung des Webinhalts mit der Bilderzeugungserweiterung Sinn macht. Es ist ferner wichtig darauf hinzuweisen, daß nur die undurchsichtigen Bezugnahmen, die von der Bilderzeugungserweiterung stammen, durch die Bilderzeugungserweiterung erkannt werden. (Bei einer wahrscheinlichen Implementierung sind die „Bezugnahmen", die durch die Bilderzeugungserweiterung geliefert werden, nur unsinnige Zeichenfolgen, die nur für die Bilderzeugungserweiterung Sinn machen.)
  • Folglich verhindert die Bilderzeugungserweiterung, daß böswilliger Webinhalt unangebracht auf Dienste zugreift. Es wird darauf hingewiesen, daß die API der Bilderzeugungserweiterung 22 üblicherweise keine Bezugnahmen auf aktuelle Bezugnahmen liefert, d. h., Zusammensetzungsspeicher, Benutzerprofilspeicher, die auf dem Netzwerk positioniert sind, und daß dieselbe diese Bezugnahme nur unter gesteuerten Umständen akzeptiert (z. B. wenn eine Bezugnahme für eine Graphik, die in dem Graphikspeicher einer Website positioniert ist, einer Zusammensetzung hinzugefügt wird).
  • Wie oben erwähnt wurde ist es dem Webinhalt normalerweise nicht erlaubt, URLs an die Bilderzeugungserweiterung zu liefern. Der Grund dafür ist, daß derselbe diese Fähigkeit ausnutzen könnte, wenn der Webinhalt in der Lage wäre, URLs zu liefern, um unangemessen Zugriff auf die Netzwerkdienste zu erhalten, auf die der Webinhalt nicht versuchen sollte zuzugreifen, er könnte Graphikspeicherdienste z. B. willkürlich auswählen und sich in dieselben „einhacken". Obwohl es üblicherweise nicht angemessen ist, dem Webinhalt zu ermöglichen, URLs an die Bilderzeugungserweiterung zu liefern, gibt es doch einige Umstände, in denen es von einem Sicherheits- und Risiko-Standpunkt aus Sinn macht. Wie oben erwähnt wurde kann eine Website, die Webinhalt liefert, ihren eigenen Graphikspeicher aufweisen. Die Graphiken in diesem Graphikspeicher (ob echt oder virtuell) weisen URLs oder anderen Bezugnahmen auf, die beim Bezugnehmen auf diese Graphiken verwendet werden müssen. Wenn der Webinhalt eine Zusammensetzung erzeugen möchte, die derartige Bezugnahmen enthält, muß derselbe eine Möglichkeit zum Liefern dieser Bezugnahme an die Bilderzeugungserweiterung aufweisen. Dem Webinhalt zu ermöglichen, Bezugnahmen auf Graphiken zu liefern, die von dem gleichen Ort kommen wie der Webinhalt, ist üblicherweise relativ harmlos. Somit kann es dem Webinhalt möglich sein, den URL an die Bilderzeugungserweiterung zu liefern, anstelle dem Webinhalt zu ermöglichen, willkürlich jeglichen URL in dem Personalbilderzeugungsverwahrungsort des Benutzers auszuwählen, unter der gesteuerten Situation des Lieferns eines URL an die gleiche Website wie der Webinhalt, oder basierend auf Nachweisen. Dies ermöglicht, daß auf von der Website gelieferte Graphiken Bezug genommen wird, während weiterhin ein vernünftiger Sicherheitspegel beibehalten wird.
  • Dementsprechend kann es dem Webinhalt bei dem Beispiel, in dem der Webinhalt wünscht, einen Graphikspeicher auf dem eigenen Server der Website des Webinhalts zu erzeugen, zu verwalten und zu verwenden ermöglicht werden, eine Bezugnahme auf die Graphiken hinzuzufügen, die durch dessen Website verwaltet werden, auf eine Zusammensetzung, die der Webinhalt erzeugt oder modifiziert. Bei diesem Beispiel verwendet der Webinhalt ein API-Verfahren (einen CreateOpaqueRefFromURL(Session, URL) in der Bilderzeugungserweiterungs-API – das den URL einer Graphik in dem Graphikspeicher der Website in eine undurchsichtige Bezugnahme umwandelt. Der Webinhalt könnte dann die undurchsichtige Bezugnahme verwenden, um die Graphik einer Zusammensetzung hinzuzufügen. Der Zugriff auf diese API-Verfahrensfunktion würde wahrscheinlich auf dem Nachweise der Site oder auf einer Bestimmung basieren, daß der von der Website gelie ferte URL für die gleiche Website ist wie der Webinhalt, der diese Operation verursacht hat.
  • GRAPHIKSPEICHER. Die vorliegende Erfindung umfaßt als einen wichtigen Aspekt derselben die Verwendung einer Graphikspeicherkonfiguration. Der Graphikspeicher liefert im Gegensatz zu der Speicherung auf einem Webserver, der einfach arbeitet, um alle Daten zu bekommen („GET"), die einem gegebenen URL entsprechen, Dienste, die Graphiken erhalten/bearbeiten/erzeugen/umformatieren/umsetzen. Bei einem Aspekt der Erfindung kann der Graphikspeicher mit aktuellen Daten dynamisch Graphiken erzeugen, durch Bezug nehmen auf Daten zusammen mit zugeordneten Webdiensten. Ein gegebener Graphikspeicher kann eine entfernte Speicherung für einen Benutzer liefern und kann Teil des Personalbilderzeugungsverwahrungsortes des Benutzers werden, so daß der Benutzer keine Speicherung für eine Graphik bereitstellen muß, die er/sie verarbeiten/bearbeiten möchte. Dieser Aspekt ist besonders wichtig für einen Benutzer, der PDAs und andere Vorrichtungen ohne Hochkapazitäts-Speicherungsfähigkeiten bearbeitet – die üblicherweise zum Speichern von Graphikdaten erforderlich sind. Was besonders wichtig ist, der Graphikspeicher kann die Fähigkeit liefern, mit dem Webinhalt verschiedener Webdienste zu kommunizieren. Der Webinhalt von einem Druckerwebdienst kann z. B. Fragen über den Graphikspeicher stellen, wie z. B. wie viele Seiten in der Graphik gedruckt werden sollen (üblicherweise fragt der Webinhalt die Zusammensetzung für die Anzahl von Seiten ab, die wiederum diese Informationen von jedem Graphikspeicher anfordern, der eine Graphik enthält, auf die in der Zusammensetzung Bezug genommen wird, falls erforderlich). Der Druckerwebinhalt kann ferner anfordern, daß die Seiten der Graphik in einer gewünschten Reihenfolge anders als der chronologischen Reihenfolge übertragen werden, um dadurch das Druckerverhalten zu verbessern.
  • Ein Graphikspeicher kann auf eine Vielzahl von Arten implementiert sein, aber es gibt zwei typische Variationen, jede mit leicht unterschiedlichen Elementen:
  • Variation 1 (gezeigt als Graphikspeicher 1000 in 10):
    • 1) einen Speicher 1010 zum Speicher von Graphikdateien;
    • 2) eine Logik 1020, die eine Graphikspeicherschnittstelle (API) implementiert (verwendet durch Webdienste und durch Klienten im allgemeinen). Diese Logik liefert eine Einrichtung zum Speichern und Wiedergewinnen von Graphiken in der Speicherung 1010;
    • 3) eine Verbindungsschnittstelle 1030 zu einem Netzwerk (mit dem die Benutzer verbunden sind); und
    • 4) eine Verbindungsschnittstelle 1040 zu dem Webdienst (der derselbe wie die Verbindung 1030 zu dem Netzwerk sein könnte, aber auch unterschiedlich).
  • Variation 2 (gezeigt als Graphikspeicher 1100 in 11):
    • 1) eine Logik 1120, die eine Graphikspeicherschnittstelle (API) implementiert. Diese Logik liefert eine Einrichtung zum Erfüllen von Anforderungen nach Informationen und Daten, die Informationen und Daten umfassen, die sich auf eine „virtuelle" Graphik beziehen. Diese Logik verwendet eine Ressource, die zwischen dem Webserver und dem Graphikspeicher gemeinschaftlich verwendet wird. Diese andere, gemeinschaftlich verwendete Ressource könnte ein anderer Server auf dem Netzwerk sein, z. B. ein POP-Server für E-Mail.
    • 2) Eine Verbindungsschnittstelle 1130 zu dem Netzwerk (mit dem die Benutzer verbunden sind).
    • 3) Eine Verbindungsschnittstelle 1150 mit einer Ressource, die gemeinschaftlich zwischen dem Webserver und dem Graphikspeicher verwendet wird (die die gleiche sein könnte, wie die Verbindung mit dem Netzwerk, oder auch unterschiedlich).
    • 4) Ein optionaler Cache-Speicher 1110 zum Speichern von Graphiken, die dynamisch erzeugt werden (wenn angefordert).
  • Es wird betreffend 11 darauf hingewiesen, daß die Verbindung zwischen dem Webdienst und dem Graphikspeicher indirekt sein kann, durch die Spezifikation von Informationen über die gemeinschaftlich verwendete Ressource, die durch den Webdienst in dem URL plaziert wird, der auf die gewünschte Graphik Bezug nimmt. Der Web-Dienst erzeugt anfänglichen einen URL, der eine virtuelle Graphik darstellt, d. h. eine, die durch Bezugnahme auf einem gemeinschaftlich verwendete Ressource erhalten/erzeugt werden muß. Dementsprechend spezifiziert der URL selbst die gemeinschaftlich verwendete Ressource, wo die Graphik erhalten/erzeugt werden kann. Dieser URL spezifiziert ferner den Graphikspeicher, in dem auf die virtuelle Graphik zugegriffen werden kann. Wenn der Benutzer auf eine Taste in dem Webinhalt in dem Browser des Benutzers klickt, um diese Graphik zu erhalten, wird auf den oben genannten URL für die Graphik durch den Webinhalt Bezug genommen, und derselbe wird nachfolgend an den Graphikspeicher geliefert. Der URL enthält Informationen über die gemeinschaftlich verwendete Ressource (zusätzlich zum Spezifizieren des Graphikspeichers), die später verwendet werden, um die gemeinschaftlich verwendete Ressource zu identifizieren. Auf die virtuelle Graphik kann z. B. durch den URL
    http://graphicstore.webmail.com/msg?mailserver=imap.webmail .com&user=joe&msgid=12453 Bezug genommen werden. Dieser URL weist innerhalb desselben verschiedene codierte Schlüsselinformationen auf. Diese enthalten die Identität des Graphikspeichers, graphicstore.webmail.com, die Identität des Mailservers imap.webmail.com, die Identität des Benutzers, joe, und die Identität der Mailnachricht, 12453. Auf Empfangen dieses URL von dem Webinhalt hin ruft der Graphikspeicher ein Verfahren zum Interpretieren des URL und zum Erzeugen eines Aufrufs nach der gemeinschaftlich verwendeten Ressource auf, um die gewünschte Graphik zu erhalten/erzeugen.
  • Wenn der Graphikspeicher z. B. eine Anforderung nach einer Skizzen-JPEG-Bittabelle von Seite 1 der virtuellen Graphik empfangen hat, auf die durch
    http://graphicstore.webmail.com/msg?mailserver=imap.webmail .com&user=joe&msgid=12453 Bezug genommen wird, dann kontaktiert der Graphikspeicher den E-Mail-Server imap.webmail.com unter Verwendung des IMAP-Protokolls und fordert Daten betreffend die Meldung 12453 für den Benutzer Joe an. Der Graphikspeicher wandelt dann die E-Mail-Nachrichtdaten in eine Skizzen-JPEG-Bittabelle von Seite 1 um und verwendet diese Bittabelle, um die Forderung zu erfüllen. Die E-Mail-Nachrichtdaten können in eine Reihe von Seiten umgewandelt werden, unter Verwendung von herkömmlichen Mechanismen, die ermöglichen, daß Text in druckbare Graphiken umgewandelt wird (d. h. PDF). Die druckbaren Graphiken könnten in eine Bittabelle unter Verwendung von herkömmlichen Mechanismen umgewandelt werden, die ermöglichen, daß Druckgraphiken in Bittabellen umgewandelt werden (wie z. B. die offene Quelle Ghostscript-Graphikübersetzer).
  • Die Graphikspeicherungsschnittstelle (API) könnte eine Vielzahl von verschiedenen Formen annehmen, abhängig von den Diensten, die der Graphikspeicher liefern möchte, und den Dialogtypen, die derselbe mit dem Webinhalt unterstützen möchte. Sie könnte z. B. folgende Form annehmen:
    • – ein Verfahren oder mehrere Verfahren zum Bestimmen von Informationen über eine Graphik, einschließlich (zum Beispiel):
    • – Anzahl von Seiten (oder allgemeiner gesagt Seitenbilddaten)
    • – Vorhandensein von Farbe auf jeglicher der Seiten
    • – weisen alle Seiten (oder Seitenbilddaten) die gleiche Größe auf
    • – ein Verfahren oder mehrere Verfahren zum Bestimmen, in welchen Graphikformaten die Gesamtgraphik in der Speicherung verfügbar ist, einschließlich (zum Beispiel):
    • – Postscript
    • – PDF
    • – PCL5
    • – PCL6
    • – PCL6 für den Color LaserJet 4500
    • – ein Verfahren oder mehrere Verfahren zum Erhalten der Gesamtgraphik in einem Graphikformat, in dem die Graphik verfügbar ist (Graphikübersetzung wird implizit gehandhabt, so daß kein explizites Übersetzungsverfahren erforderlich ist);
    • – ein Verfahren oder mehrere Verfahren zum Bestimmen der verfügbaren Seitenreihenfolge, in der die Gesamtgraphik verfügbar ist, und der Graphikformate, in denen die Graphik für diese Seitenreihenfolgen verfügbar ist;
    • – ein Verfahren oder mehrere Verfahren zum Erhalten der Gesamtgraphik in einer verfügbaren Seitenreihenfolge in dem Graphikformat, in dem die Graphik verfügbar ist;
    • – ein Verfahren oder mehrere Verfahren zum Bestimmen, in welchen Graphikformaten eine Seite (d. h. Seitenbilddaten) der Graphik verfügbar ist, einschließlich (zum Beispiel):
    • – JPEG
    • – GIF
    • – PNG
    • – Teil-PDF
    • – ein Verfahren oder mehrere Verfahren zum Erhalten einer Seite (d. h. Seitenbilddaten) der Graphik in einem Graphikformat, in dem die Seite (d. h. Seitenbilddaten) verfügbar ist.
  • ANMERKUNG: Die gewünschte Seitenreihenfolge kann durch Erhalten der Gesamtgraphik mit den Seiten in der gewünschten Reihenfolge oder durch Erhalten jeder einzelnen Seite in der gewünschten Reihenfolge erreicht werden.
  • Üblicherweise weisen die Ressource sowie der Webdienst, der dem Graphikspeicher zugeordnet ist und der Graphikspeicher selbst eine eigene Bezugnahme auf, die ein URL sein kann. Der Graphikspeicher kann wie oben erwähnt eine Fernspeicherung für einen Benutzer liefern, der Webinhalt von dem zugeordneten Webdienst heruntergeladen hat. Auf den Graphikspeicher kann ferner indirekt durch Benutzer durch andere Webdienste zugegriffen werden.
  • Es wird darauf hingewiesen, daß die Zuordnung zwischen einem Webdienst und einem Graphikspeicher besonders vorteilhaft ist, wenn ein Benutzer eine temporäre oder permanente Speicherung benötigt, um Graphiken von dem Webdienst an einem anderen Webdienst zu bearbeiten/verarbeiten. Ein Benutzer könnte z. B. mit seinem/ihrem Browser auf einen ersten Webdienst (z. B. eine Webcam) zugreifen und den Webinhalt aus derselben verwenden, um eine Webcam-Bildgraphik innerhalb eines Graphikspeichers zu erzeugen, der diesem ersten Webdienst zugeordnet ist, und um ferner eine Zusammensetzung für denselben in einem Standardzusammensetzungsspeicher in dem Personalbilderzeugungsverwahrungsort des Benutzers zu erzeugen und eine Bezugnahme auf die neu erzeugte Zusammensetzung (üblicherweise einen URL) der Webcam-Graphik in dem Graphikspeicher hinzuzufügen. Der Benutzer kann dann zu einem zweiten Webdienst blättern (z. B. einem Drucker zum Drucken des Webcam-Bildes). Der Webinhalt von dem zweiten Webdienst kann dann durch die Bezugnahme in der neu erzeugten Zusammensetzung auf die Webcam-Bildgraphik zugreifen und dessen Druckfunktion mit diesen Webcam-Bilddaten ausführen. Eine der Vorteile dieser Sequenz ist, daß der Benutzer keine Speicherung für die Webcam-Graphik liefern muß.
  • Es sollte darauf hingewiesen werden, daß bei einem weiteren Aspekt der vorliegenden Erfindung einige Webdienste sowohl innerhalb als auch außerhalb der Brandmauer es wirtschaftlich wichtig finden können, daß sie Graphikspeichern zugeordnet sind, die eine Langzeitstabilität aufweisen, so daß kein Bedarf besteht, eine neue Graphik für dieselben in einem anderen Graphikspeicher zu erzeugen. Wie oben erwähnt wurde, könnte der Graphikspeicher, der dem Webdienst zugeordnet ist, zu einem Teil des Personalbilderzeugungsverwahrungsortes durch Bezugnahme auf dasselbe über einen URL, einen Zeiger oder eine andere geeignete Bezugnahme, gemacht werden. (Ein Graphikspeicher soll effizient zu einem Teil eines Personalbilderzeugungsverwahrungsortes eines Benut zers gemacht werden, durch Bezugnahme auf eine Graphik innerhalb dieses Graphikspeichers von dem Personalbilderzeugungsverwahrungsort des Benutzers. Es ist in der Tat genauer, die Graphiken, Zusammensetzungen und Benutzerprofile derart zu betrachten, daß sie Teil des Personalbilderzeugungsverwahrungsortes des Benutzers sind, und nicht die einzelnen Dienste zu betrachten. In der Tat ist es möglich, nur einen Teil der Graphiken durch einen Graphikspeicher verfügbar zu haben, auf den durch den Personalbilderzeugungsverwahrungsort des Benutzers Bezug genommen wird.) Ein Beispiel eines derartigen, zugeordneten Graphikspeichers könnte ein Serververwahrungsort für die archivische Speicherung von neuen Gegenständen sein, wobei die Graphikspeicherfunktionalität hierin beschrieben ist. Eine Bezugnahme bei einer Zusammensetzung könnte auf diese Graphik innerhalb des Graphikspeichers in dem archivischen Speicherungsdienst Bezug nehmen.
  • Wie vorangehend erwähnt wurde, ist ein besonderer Aspekt der vorliegenden Erfindung die Fähigkeit, in dem Graphikspeicher Graphiken „fliegend" („on the fly") zu erzeugen. Dieser Aspekt wird durch die Zuordnung des Webdienstes und eines Graphikspeichers und einer Ressource ermöglicht, wie in der Konfiguration, die in 11 gezeigt ist. Eine Bezugnahme kann in einer Zusammensetzung auf eine Ressource geliefert werden, die nicht wirklich in dem Graphikspeicher existiert, wenn die Fähigkeit besteht, die Existenz dieser Ressource zu simulieren. Es sei z. B. angenommen, daß ein Webdienst, der einen zugeordneten Graphikspeicher aufweist, eine URL-Bezugnahme auf ein wichtiges Dokument in dem zugeordneten Graphikspeicher dem Personalbilderzeugungsverwahrungsort des Benutzers wie folgt hinzufügt (durch Webinhalt, der für denselben agiert):
    „http://famousdocs.com?doc=declarationofindependence". Ein Benutzer könnte nachfolgend nach einem Bittabellenbild (z. B. JPEG) der ersten Seite des Dokuments fragen, auf das durch diesen URL Bezug genommen wird, über den Webinhalt (vermutlich von einem anderen Webdienst oder dem gleichen Webdienst) in seinem Browser. Der Graphikspeicher, auf den durch den Webinhalt über diese Bezugnahme zugegriffen werden würde (indirekt durch die Bilderzeugungserweiterung) weist vielleicht nicht das eigentliche JPEG-Bild der ersten Seite auf, sondern nur eine Textdatei des betreffenden wichtigen Dokuments. Der Graphikspeicher jedoch könnte verschiedene Dienste umfassen, einschließlich eines Text-zu-Bittabelle-Umwandlungsdienstes. Aus dieser Textdatei erzeugt der Graphikspeicher mit diesem Umwandlungsdienst eine Bittabelle der ersten Seite und sendet die angeforderte Bittabelle an den Benutzer an seinem/ihrem Browser zurück.
  • Bei einem zweiten Beispiel könnte ein Benutzer zu einem Webmaildienst browsen bzw. blättern und einen URL erhalten, wie zum Beispiel
    „http://graphicstore.webmail.com?imap=imap1.webmail.com&use r=johnsmith&messageid=23456", der einer E-Mail-Nachricht des Benutzers entspricht. Später könnte der Benutzer über den Webinhalt in seinem Browser, der den Graphikspeicher indirekt kontaktiert, eine Anfrage tätigen, daß die erste Seite dieser E-Mail-Nachricht formatiert wird, um in der Form eines JPEG-Bildes gedruckt zu werden. In diesem Fall wird die E-Mail-Nachricht tatsächlich in einem anderen Netzwerkdienst, wie z. B. einem „IMAP-Dienst" gespeichert, der verantwortlich für das Speichern und das Liefern von Zugriff auf E-Mail-Nachrichten ist. Ansprechend auf die Anforderung des Benutzers kontaktiert der Graphikspeicher den IMAP-Dienst unter Verwendung der Informationen, die innerhalb der Bezugnahme eingebettet sind, erhält die E-Mail-Nachricht des Benutzers, formatiert die E-Mail-Nachricht zum Drucken unter Verwendung eines Dienstes, der ferner an dem Graphikspeicher verfügbar sein kann, und verwendet dann einen unterschiedlichen Dienst an dem Graphikspeicher, um eine Bittabelle der ersten Seite zu erzeugen, da der Graphikspeicher nicht eigentlich aufweist, nach was der Benutzer fragt. (Der in dem vorangehenden Satz erwähnte Dienst könnte durch einfache Codebibliotheken ersetzt werden, die durch Graphikspeicherdienste verwendet werden. Dies wird in der Tat in der bevorzugten Implementierung durchgeführt.) Es wird darauf hingewiesen, daß der Graphikspeicher für den Webdienst nicht auf der gleichen Maschine vorliegen muß wie der Webserver. Er könnte auf einer anderen Maschine positioniert sein. Der Schlüsselpunkt ist, daß Webinhalt, der von dem Webdienst kommt, der dem Graphikspeicher zugeordnet ist, über den Graphikspeicher „Bescheid weiß" und den Graphikspeicher durch Erzeugen eines geeigneten URL verwendet (oder allgemeiner eine Bezugnahme), der zurück auf den Graphikspeicher verweist. Wie hier erörtert wird, muß der Graphikspeicher die fragliche Ressource nicht einmal aufweisen – nur die Fähigkeit, auf Anfragen betreffend diese Ressource zu antworten. Dies ist wichtig, da es den Bedarf nach einer Speicherung in dem Graphikspeicher reduziert, sicherstellt, daß die Informationen aktuell sind (da mehrere Kopien die Möglichkeit mit sich bringen, daß eine Kopie veraltet ist) und daß einige Operationen schneller vervollständigt werden. Wenn ein Graphikspeicher z. B. durch einen Webinhalt gefragt wird, ob eine bestimmte Graphik (in diesem Fall eine virtuelle Graphik) eine bestimmte Farbe enthält, kann der Zusammensetzungsspeicher in der Lage sein, sehr schnell auf diese Frage zu antworten, basierend auf Wissen über die zugrundeliegenden Informationen (z. B. eine E-Mail-Nachricht).
  • Es sollte darauf hingewiesen werden, daß ein Unterschied zwischen einer Graphikspeicherschnittstelle und einer Graphikspeicherimplementierung besteht. Die Graphikspeicherschnittstelle ist der Satz von Verfahren, die alle Graphikspeicherdienste implementieren müssen, um ein Graphikspeicher zu sein. Die Graphikspeicherimplementierung ist die Art und Weise, wie diese Schnittstellen implementiert sind. Die Implementierung kann von Graphikspeicher zu Graphikspeicher bedeutend variieren.
  • Der Ausdruck „zugeordnet" in dem Kontext eines Webdienstes und eines Graphikspeichers kann eine Vielzahl von Variationen annehmen. Bei dem Beispiel des obigen Absatzes, in dem der Graphikspeicher einem Webdienst zugeordnet ist, ist der Graphikspeicher vorzugsweise auf eine derartige Weise implementiert, um über die Art Bescheid zu wissen, wie die Webanwendungen in dem zugeordneten Webdienst Daten intern speichern. Jede Webanwendung in einem Webdienst weist ihre eigene interne Datendarstellung auf, die während der Operation der Anwendung verwendet wird. Ein korrekt implementierter Graphikspeicher, der eng in einer Anwendung auf einem Webdienst integriert ist, hat Zugriff auf diese interne Datendarstellung und könnte dieselbe verwenden, um dessen Verhalten zu optimieren (da der Graphikspeicher und der Webserver als Teil eines größeren Webdienstes implementiert sein könnten und die interne Datendarstellung gemeinschaftlich verwenden könnten). Eine Anwendung, die z. B. Graphiken liefert, die zum Erzeugen einer Broschüre verwendet werden, könnte Informationen in ihren internen Daten über die Anzahl von verfügbaren Seiten aufweisen. Auf diese Seitenanzahlinformationen könnten direkt durch den Graphikspeicher zugegriffen werden, ohne druckfertige Daten zu erzeugen, wenn die Anwendung fest in dem Graphikspeicher integriert ist. Das Bereitstellen von aktuellen Informationen über die Seitenanzahl würde die Operation des Broschürenherstellungs-Webdienstes verbessern, da diese Informationen zum korrekten Formatieren der Broschüre erforderlich sind.
  • Eine Vielzahl von unterschiedlichen Speichern und anderen Konfigurationen, die die Bilderzeugungserweiterung umfassen, wurden jeweils mit ihren eigenen APIs beschrieben. Ein Satz von Beispiel-APIs wird nachfolgend für eine Anzahl der Speichereinrichtungen und die hierin offenbarte Bilderzeugungserweiterung erläutert. Es wird darauf hingewiesen, daß die Beispiel-API-Sätze keine vollständigen Sätze sind, aber erläutert sind, um eine repräsentative Vorstellung der typischen APIs zu liefern, die vorhanden sind würden. Ein wichtiger Hinweis ist, daß Fehlerhandhabungs- und Position sinformations-Verfahren aus den API-Einstellungen fehlen. Die API-Einstellungen unten sollen auf keine Weise einschränkend sein und sollen lediglich Beispiele darstellen. Die API-Einstellungen werden unter Verwendung einer D/C++/Java/Perl-Stilsyntax (frei) ausgedrückt. Es wird ferner darauf hingewiesen, daß dies ad hoc APIs sind, die mit gewissen weiteren Aspekten der webbasierten Bilderzeugung nicht zusammenpassen, die in dieser Patentanmeldung bereitgestellt sind, und nur als ein Beispiel vorgesehen sind.
  • Die API ist unter Verwendung einer herkömmlichen Schreibweise geschrieben. Diese Schreibweise ist in den meisten einleitenden Texten für die meisten Programmiersprachen beschrieben. Diese Schreibweise ist jedoch eine Beispielschreibweise und keine Einschränkung durch dieselbe ist beabsichtigt. Die allgemeine Form eines Verfahrens, das eine API bildet, ist:
    Figure 00460001
  • Wobei returnType der Typ ist, der durch ein Verfahren zurückgesendet wird. Üblicherweise ist die Bedeutung des zurückgesendeten Wertes aus dem Namen des Verfahrens offensichtlich. Zum Beispiel sendet das Verfahren „Zeichenfolge GetPresidentsAddress()" (ErhaltePräsidentAdresse) den Wert des Types „Zeichenfolge" zurück, wobei aus dem Namen des Verfahrens bestimmt werden kann, daß derselbe die Adresse des Präsidenten enthält.
  • MethodName ist der Name des Verfahrens. Dieser Name sollte eine prägnante Beschreibung des Zwecks des Verfahrens sein.
  • ParameterTypeN ist der Typ des Parameters N, wobei N der n-te Parameter in der Argumentliste des Verfahrens ist. Parametertypen zeigen das Datenformat des Parameters an, der zu dem Verfahren übertragen wird, wie z. B. Zeichenfolge, ganze Zahl, oder komplexere Strukturen/Objekte. Parametertypen können beschreibend für die Bedeutung des Parameters sein oder nicht. Sind sie dies nicht, ist es notwendig, einen Parameternamen zu umfassen, um sicherzustellen, daß der Leser die Bedeutung des Parameters versteht.
  • ParameterNameN ist der Name für den Parameter N, wobei N der n-te Parameter in der Argumentenliste des Verfahrens ist. Parameternamen sollten die Bedeutung des Parameters anzeigen. Manchmal sind sie redundant und können optional weggelassen werden. Ein Parameter der z. B. als „Session session" (Sitzung Sitzung) beschrieben ist, mit einem Parametertyp Sitzung und einem Parameternamen Sitzung ist unnötig redundant. In diesen Fällen ist es üblich, den Parameter beim Beschreiben des Verfahrens der API wegzulassen.
  • Es sollte darauf hingewiesen werden, daß ein Parameter mit dem Namen „OpaqueRef preferredDestination" (undurchsichtige Bezugnahme bevorzugter Zielort) mit den zugesendeten Werten des Typs OpaqueRef (undurchsichtige Bezugnahme) kompatibel sind. Der Name „preferredDestination" (bevorzugter Zielort) ist lediglich der beschreibende Name des Parameters und bestimmt nicht die Parameterkompatibilität. Zurückgesendete Werte haben üblicherweise keine Namen, da die Bedeutung des zurückgesendeten Wertes durch den Verfahrensnamen impliziert wird. Jegliche Anmerkungen werden durch // identifiziert.
  • 1. Programmierschnittstellen (APIs)
  • Netzwerkdienst-APIs i. Benutzerprofil-Speicherdienst-API
    Figure 00470001
  • Figure 00480001
  • ii. Zusammensetzungsspeicherdienst-API
    Figure 00480002
  • Figure 00490001
  • iii. Graphikspeicherdienst-API
    Figure 00490002
  • //ANMERKUNG: Jede Seite ist eine einzelne Graphik (dies ist eine Entwurfsentscheidung, die beim Erzeugen dieser APIs getroffen wurde)
    Figure 00490003
  • // ANMERKUNG : 6 beschreibt einen Prozeß, bei dem eine Graphik erzeugt, geöffnet, in dieselbe geschrieben und geschlossen wird. Zu Zwecken des vorliegenden API-Beispiels wurde der Prozeß vereinfacht. Der Konsistenz halber sind die folgenden fünf Verfahren, die die in dem Flußdiagramm beschriebenen Verfahren verfolgen, beschrieben. Diese Verfahren erzeugen eine einzelne Graphik, die basierend auf der in diesem Beispiel verwendeten Entwurfsentscheidung in einer einzelnen „Seite" (oder einem Bildhintergrund) resultieren würde.
  • Figure 00490004
  • b. Bilderzeugungserweiterungs-API
    Figure 00500001
  • //ANMERKUNG: Im Hinblick auf BrowseToPreferredDestination (blättere zu bevorzugtem Zielort) aktiviert dieses Verfahren den Browser, um darauf ausgerichtet zu sein, zu einem bevorzugten Zielort zu blättern, ohne dem Benutzer den zugrundeliegenden URL freizulegen.
  • Figure 00500002
  • //ANMERKUNG: Im Hinblick auf CreateOpaqueRefFromURL (erzeuge undurchsichtige Bezugnahme aus URL) ist es einigen Websites nicht erlaubt, dieses Verfahren überhaupt zu verwenden, einigen Websites ist es nur erlaubt, ihre eigenen URLs in OpaqueRef (undurchsichtige Bezugnahmen) umzuwandeln (um einen willkürlichen Zugriff auf Netzwerkdienste zu verhindern) und wiederum anderen ist ein umfassender Zugriff auf dieses Verfahren erlaubt. (Zugriff basiert auf Nachweisen.)
    Figure 00500003
  • //ANMERKUNG: Im Hinblick auf GetURLFromOpaqueRef (erhalte URL von undurchsichtiger Bezugnahme) ist der Zugriff auf dieses Verfahren eingeschränkt. (Der Zugriff basiert auf Nachweisen. Zugriff auf jegliche dieser Verfahren kann basierend auf Nachweisen eingeschränkt sein.)
    Figure 00500004
    Figure 00510001
  • //ANMERKUNG: Jede Seite ist eine einzelne Graphik (dies ist eine Entwurfsentscheidung, die beim Erzeugen dieser APIs getroffen wurde)
    Figure 00510002
    //erzeugt höchstens eine Graphik aus den Graphikdaten
    Figure 00510003
    //erzeugt eine oder mehrere Graphiken aus den Graphikdaten
    Figure 00520001
  • //ANMERKUNG: 6 beschreibt einen Prozeß, bei dem eine Graphik erzeugt, geöffnet, in dieselbe geschrieben und geschlossen wird. Zu Zwecken des vorliegenden API-Beispiels wurde der Prozeß vereinfacht. Der Konsistenz halber sind jedoch die folgenden fünf Verfahren, die die in dem Flußdiagramm beschriebenen Verfahren verfolgen, umfaßt. Diese Verfahren erzeugen eine einzelne Graphik, die basierend auf den in diesem Beispiel verwendeten Entwurfsentscheidungen nur zu einer einzelnen „Seite" (oder Unterlage) führen würden.
  • Figure 00520002
  • 2. Pseudocodebeispiele der Verwendung von APIs
  • a. Webinhalt, der den Browser zu einer Webbilderzeugungshomepage umleitet
  • //Anmerkung: Das folgende Verfahren wird aufgerufen als Ergebnis des Endverbrauchers, der auf ein Link (oder eine Taste) auf der Webbilderzeugungs-Homepage klickt. Dieses Verfahren ist Teil des Webinhalts, der in den Browser des Benutzers heruntergeladen wird. Die Bezeichnung „=" bedeutet das Zuweisen eines Werts zu einer Variablen, d. h., in dem Verfahren unten wird die Variable „session" dem Wert der Sitzung zugeordnet, die durch das Verfahren „CreateSession" (Sitzung erzeugen) erzeugt wird. Der „→" Operator (in den Beispielen unten verwendet) ist eine Standardbezeichnung für das Aufrufen eines Verfahrens in einem Objekt. Der Einfachheit halber werden Dienste als Objekte dargestellt. Bei einer typischen Implementierung würde der tatsächliche Dienst als ein „proxy" (Stellvertreter-) Objekt dargestellt werden, da derselbe auf einer entfernten Maschine arbeitet. Ein „proxy"-Objekt liefert eine lokale Rufschnittstelle zu dem Klientencode und handhabt die Kommunikation, die mit dem tatsächlichen Dienst erforderlich ist (versteckt den Kommunikationsprozeß effektiv vor dem Klientencode).
    Figure 00530001
  • b. Implementierung ausgewählter Verfahren der Bilderzeugungserweiterungs-API
  • i. GetReferenceToPreferredImagingHomeDestination
    Figure 00530002
  • //Anmerkung: Dies ist ein privates Verfahren, d. h. nicht als Teil der Bilderzeugungserweiterungs-API freilegend, die die Benutzeridentität UserIdentification durch Öffnen des Verfahrens GetUserIdentification (erhalte Benutzeridentifikation) mit dem Argument „session" (Sitzung) zurücksendet, das bei dem vorangehenden Verfahren bezüglich des Umleitens des Browsers erhalten wurde.
  • Figure 00530003
  • //Anmerkung: Der nachfolgende Pseudocode erhält eine Bezugnahme auf den Benutzerprofilspeicher unter Verwendung eines privaten Verfahrens, das die Identität des Benutzer profilspeichers „UserProfileStore" von der Benutzeridentität erhält.
  • Figure 00540001
  • //Anmerkung: Der nachfolgende Pseudocode ruft ein „O-penSession"-(öffne Sitzung)-Verfahren auf dem Benutzerprofilspeicherdienst auf, um sich in dem Benutzerprofilspeicher „anzumelden" unter Verwendung der Argumente „UserIdentification" (Benutzeridentifikation) und „Credentials" (Nachweis), die vorangehend erhalten wurden, und sendet „UserProfileStoreSession" (Benutzerprofilspeicherungssitzung) zurück. Wie oben erwähnt wurde, bedeutet das Pfeilzeichen „→" in dieser Schreibweise das Rufen/Aufrufen eines Verfahrens eines Objekts, wobei das Objekt auf der linken Seite und das Verfahren innerhalb des Objekts auf der rechten Seite ist – Objekt→Verfahren(Parameter) unter Verwendung der ausgeführten Argumente. Bei diesem Beispiel wird das Verfahren „OpenSession" (öffne Sitzung) innerhalb des Objekts „UserProfileStore" (Benutzerprofilspeicher) aufgerufen.
  • Figure 00540002
  • //Anmerkung: Der nachfolgende Pseudocode ruft auf/ruft ein Verfahren „GetReferenceToPreferredImagingHomeDestinationURL", das durch das UserProfileStore-Objekt oder den -Service bereitgestellt wird, der einen Bilderzeugungsheimzielort zurücksendet, der durch den Benutzer bevorzugt wird (bei diesem Beispiel einen URL).
  • Figure 00540003
  • //Anmerkung: Der nachfolgende Pseudocode erzeugt eine undurchsichtige Bezugnahme „OpaqueRef", die dem URL entspricht, und sendet dieselbe unter Verwendung eines privaten Bilderzeugungserweiterungsverfahrens mit den Argumenten „session" und „preferredImagingHomeDestinationURL" zurück.
  • Figure 00550001
  • //Anmerkung: Der nachfolgende Pseudocode beendet die Kommunikation mit dem Benutzerprofilspeicher.
  • Figure 00550002
  • //Anmerkung: Der nachfolgende Pseudocode sendet die undurchsichtige Bezugnahme zurück.
    Figure 00550003
    ii. BrowseToPreferredDestination
    Figure 00550004
  • //Der nachfolgende Pseudocode ist ein privates Verfahren, nicht freiliegend als Teil der Bilderzeugungserweiterungs-API, die eine undurchsichtige Bezugnahme in einen URL umwandelt.
  • Figure 00550005
  • //Das nachfolgende ist ein Verfahren, das den Browser zu einem Zielort umleitet, dem ein URL gegeben wurde
    Figure 00550006
  • Das vorangehende umfaßt eine Mehrzahl von innovativen APIs. Es wird bei den verschiedenen APIs auf die Einstell-Verfahren zum Einstellen eines bevorzugten Druckerlistenzielorts (PreferredPrinterDestinationList, d. h. eine Liste von Druckern, die angezeigt oder anderweitig für eine Auswahl angeboten werden), eines bevorzugten Druckerzielorts (PreferredPrinterDestination, d. h. eines einzelnen, bevorzugten Druckers, der ausgewählt wird und eine Druckereinstellungsseite, die angezeigt oder anderweitig für eine Auswahl angeboten wird), und einen für sofortiges Drucken bevorzugten Zielort (PreferredPrintNowDestinatin, d. h. ein Drucker, der zur Verwendung mit voreingestellten Einstellungen ausgewählt wird – keine Möglichkeit zum Einstellen der Druckeinstellungen) in dem Profil des Benutzers in dem Benutzerprofilspeicher hingewiesen, sowie ein Verfahren zum Auswählen eines bevorzugten Druckzielorts basierend auf Kriterien (PrintActionCriteria) und einem Kontext (PrintActionContext). Diese Verfahren verwenden die Argumente „userProfileStoreSession" und „uRLpreferred...." oder „printActionCriteria". Üblicherweise ist die Bezugnahme ein URL, dieselbe kann jedoch ferner eine andere geeignete Bezugnahme sein, wie z. B. ein proprietäres Codierungsschema zum Identifizieren (und somit zum Bezug nehmen auf) die fragliche Ressource.
  • Auf ähnliche Weise wird auf die verschiedenen Verfahren zum Erhalten (Get) „GetReference..." oder „GetPrintActionCriteria" hingewiesen, zum Erhalten einer der Bezugnahmen, die durch das Einstellungsverfahren für die bevorzugte Druckerzielortliste, den bevorzugten Druckerzielort, den bevorzugten Zielort zum Sofortdrucken und den PrintActionCriteria (Druckaktionskriterien) in dem Profil des Benutzers in dem Benutzerprofilspeicher eingestellt wurden. Diese Verfahren verwenden das Argument „UserProfileStoreSession" und senden einen „URL" oder die „PrintActionCriteria" zurück.
  • Der GetDestinationPrintActionCriteriaAndContext ist von besonderem Interesse. Dieses Verfahren wird verwendet, um die bevorzugte Druckaktion des Benutzers in einer bestimmten Situation (Kontext) basierend auf Kriterien, d. h. vorgeschriebenen Regeln zu erhalten. Dieses Verfahren würde den Browser zu der bevorzugten Druckerliste, PreferredPrinter-ListDestination umleiten, (so daß er oder sie aus einer Anzahl von verfügbaren Druckern auswählen kann), oder es würde den Browser zu dem bevorzugten Drucker PreferredPrinter-Destination umleiten (so daß er oder sie Optionen bezüglich dieses Druckers auswählen kann), oder es würde den Browser zu dem bevorzugten Zielort zum Sofortdrucken Prefer redPrintNowDestination (so daß das Drucken sofort beginnt) oder einem bestimmten anderen Drucker umleiten, der in einem bestimmten Kontext bevorzugt wird. Obwohl jeder dieser drei oder mehr Zielorte spezifisch bezeichnet werden kann, d. h. die Anwendung liefert explizit einen Mechanismus für den Benutzer zum Auswählen von „PrinterList" oder „Printer" oder „PrintNow", könnten andere Anwendungen einfach einen Mechanismus für den Benutzer liefern, um allgemein „print" (drucken) auszuwählen, ohne zu spezifizieren, auf welche der Zielorte „PrinterList", „Printer", „PrintNow" oder sonstige der Browser des Benutzers gerichtet werden sollte. Alternativ könnte der Webinhalt eine Webseite liefern, die sowohl eine Taste „print" als auch eine Taste „PrintNow" enthält. Die allgemeine Taste „print" würde die unten erörterten PrintActionCriteria, PrintActionContext und GetPrintActionDestinationUsingCriteriaAndContext (oder welchen Namen die Funktion hat) verwenden, um den tatsächlichen URL zu bestimmen, auf den der Browser des Benutzers gerichtet wird. Die Taste „PrintNow" verwendet einfach den Zielort „PrintNow", der unter Verwendung der Funktion „GetPrintNow-Destination" (oder wie die Funktion genannt wird) erhalten wird.
  • Der Zweck von GetDestinationUsingPrintActionCriteriaAndContext ist es, beim Bestimmen zu helfen, welche der verfügbaren Druckaktionen unternommen werden sollten, und eine Bezugnahme auf den bevorzugten Zielort zurückzusenden, auf den der Browser gerichtet werden sollte. Dieses Verfahren nimmt Session als Parameter und den Typ PrintActionContext sowie den Typ PrinActionCriteria. PrintActionContext liefert Informationen, die beim Bestimmen des Zielorts unter Verwendung des Verfahrens GetDestinationUsingPrintActionCriteriaAndContext nützlich sein könnte. Derartige Kontextinformationen könnten der URL der aktuelle Website, der Typ der aktuellen Website (z. B. wie durch ein Etikett in der aktuellen Website bestimmt wird), wo der Benutzer positioniert ist, ob sich der Benutzer innerhalb oder außerhalb einer Brandmauer befindet, und verschiedene andere Informationen sein. Die PrintActionCriteria können ein Regelsatz, konditionelle Logik oder andere Kriterien zur Verwendung/zum Interpretieren der Kontextinformationen sein, um den bevorzugten Zielort zu bestimmen. Beispielsweise aber nicht einschränkend könnte ein Satz von Regeln/konditioneller Logik folgendes sein:
    Wenn die Website – Amazon.com ist, dann ist der Zielort PreferredPrintNowDestination;
    Wenn die Website – eine Produktivitätswebsite ist (basierend auf einem Etikett in dem Webinhalt für die Website, z. B.), dann ist der Zielort PreferredPrinterDestination;
    Wenn die Benutzerposition – außerhalb des Büros ist, dann ist der Zielort PrinterA;
    Wenn die Benutzerposition – im Büro ist, dann ist der Zielort PreferredPrinterListDestination;
    Wenn der Brandmauerstatus – außerhalb des Büros ist, dann wird PrinterB verwendet.
  • Das Verfahren GetDestinationUsingPrintActionCriteriaAndContext würde die vorangehenden Regeln in der Datenstruktur der PrintActionCriteria basierend auf den Informationen von dem PrintActionContext interpretieren, um den Zielort zu bestimmen.
  • Es wird in der Bilderzeugungserweiterungs-Beispiel-API auf die Verfahren zum Blättern zu einem bevorzugten Druckzielort unter Verwendung einer undurchsichtigen Bezugnahme hingewiesen. Die Verfahren umfassen „CreateOpaqueRefFromURL", das den „URL" als ein Argument benutzt und „OpaqueRef" zurücksendet; und das Verfahren „BrowseToPreferredDestination", das die Argumente „Session, OpaqueRef preferredDestination" verwendet, um zu verursachen, daß der Browser zu der URL-Bezugnahme blättert, ohne den URL für den Webinhalt freizulegen.
  • Bezug nehmend auf die Beispiel-API für die Bilderzeugungserweiterung wird auf das vergleichbare Verfahren hingewiesen, das zum Erhalten einer undurchsichtigen Bezugnahmen „OpaqueRef" für den Druckerlistenzielort, den Bevorzugter-Drucker-Zielort, den Zielort zum sofortigen Drucken und den Bevorzugte-Bilderzeugungs-Homepage-Zielort unter Verwendung entsprechender GetReference-Verfahren eingestellt ist. Auf ähnliche Weise wird auf den Satz von Verfahren zum Einstellen der Bezugnahme auf den bevorzugten Zielort hingewiesen, d. h. den PreferredPrintListerDestination, PreferredPrinterDestination, PreferredPrintNowDestination und den PreferredImagingHomePageDestination, unter Verwendung des geeigneten „SetReferenceTo..."-Verfahrens mit den Argumenten des Typs „Session, OpaqueRef".
  • Auf ähnliche Weise wird auf das Verfahren zum Einstellen der Druckaktionskriterien zum Bestimmen eines automatischen Druckzielorts hingewiesen, d. h. „SetPrintActionCriteria" die die Argumente „UserProfileStoreSession und „PrintActionCriteria" verwenden. Außerdem umfaßt ist ein Verfahren zum Erhalten (Get) „Sessions, PrintActionDestinationPreference". Die SetPrintActionDestinationPreference ist der Standardzielort, der verwendet wird, wenn keine PreferredPrinterList oder kein PreferredPrinter oder kein PreferredPrintNow oder PreferredImagingHomePage an dem Browser ausgewählt wurde. Ferner umfaßt ist ein Get-Verfahren zum Erhalten einer undurchsichtigen Bezugnahme „OpaqueRef" für die PrintActionDestinationPreference, die in der Einstellungsbezugnahme unter Verwendung der Argumente „Sessions, PrintActionDestinationPreference" eingestellt ist. Ferner umfaßt ist ein Get-Verfahren „GetPrintActionDestinationPreference" unter Verwendung des Arguments „Session", um die PrintActionDestinationPreference zu erhalten.
  • Bezug nehmend nun auf 2 ist die gleiche Konfiguration gezeigt wie in 1, bei der aber der Bilderzeugungsklient 12 außerhalb der Brandmauer 14 liegt. In dieser Situation wäre auf keinen der Server innerhalb der Brandmauer 14 zugreifbar, einschließlich dem Zusammensetzungsspeicher und dem Graphikspeicher. Dies ist durch Grauunterlegung der Server innerhalb der Brandmauer und ferner durch Grauunterlegung der Bezugnahme auf das interne Benutzerprofil dargestellt.
  • Bezug nehmend nun auf 3 ist eine unterschiedliche Konfiguration der vorliegenden Erfindung bereitgestellt. Gleich numerierte Blöcke haben die gleiche Bedeutung wie in 1 und 2. Bei dieser Konfiguration umfaßt der Bilderzeuqungsklient 300 einen Webbrowser 318, der Webinhalt 316 heruntergeladen hat, eine Bilderzeugungserweiterung 322 und einen Benutzerinformationsblock 320, die im wesentlichen wie oben beschrieben wirken. Bei dieser Konfiguration umfaßt der Bilderzeugungsklient 300 auf demselben jedoch das Benutzerprofil 360. Das Benutzerprofil 360 ist sowohl für eine interne (innerhalb der Brandmauer) Operation als auch für eine externe (außerhalb der Brandmauer) Operation entworfen. Dementsprechend umfaßt dieses Benutzerprofil 360 eine Benutzeridentifizierung (nicht gezeigt) sowie eine Bezugnahme 367 auf einen internen Standardzusammensetzungsspeicher 62, eine Bezugnahme 368 auf einen internen Standardgraphikspeicher 60, eine Bezugnahme 377 auf einen externen Standardzusammensetzungsspeicher 72, eine Bezugnahme 378 auf einen externen Standardgraphikspeicher 70, und kann eine Bezugnahme 390 auf eine Standardzusammensetzung umfassen.
  • Zusätzlich dazu ist in dem Bilderzeugungsklienten ein Code zum Aufrufen eines Verfahrens zum Zugreifen auf die Bezugnahmen umfaßt, die in dem Benutzerprofil 360 gespeichert sind. üblicherweise würde dieses aufgerufene Verfahren ferner einen Code zum Auswählen der entsprechenden Bezugnahmen basierend auf einem Kriterium umfassen. Mittels eines Bei spiels könnte dieser Code eine Benutzerschnittstelle liefern, um dem Benutzer zu ermöglichen, manuell den Standardzusammensetzungsspeicher und den Standardgraphikspeicher auszuwählen. Alternativ oder zusätzlich dazu könnte der Code automatisch einen Standardzusammensetzungsspeicher und einen Standardgraphikspeicher basierend auf einem Kriterium auswählen, wie z. B. aber nicht einschränkend dem Typ oder der Identifizierung der Bilderzeugungsklientenmaschine, die durch den Benutzer verwendet wird, oder ob der Bilderzeugungsklient sich mit einem Netzwerk innerhalb der Brandmauer 14 verbunden hat oder sich anderweitig innerhalb der Brandmauer befindet, oder ob sich derselbe außerhalb der Brandmauer befindet.
  • Es wird darauf hingewiesen, daß der Bilderzeugungsklient 300 in 3 innerhalb der Brandmauer 14 gezeigt ist. Dementsprechend hat der Browser 318 in dem Bilderzeugungsklienten Zugriff auf die Webserver 30 und 32 innerhalb der Brandmauer, sowie auf die Server 40 und 42 außerhalb der Brandmauer. Ferner hat der Benutzer die Option, einen Standardzusammensetzungsspeicher und einen Standardgraphikspeicher entweder innerhalb oder außerhalb der Brandmauer auszuwählen.
  • 4 zeigt die gleiche Konfiguration wie in 3, außer daß sich der Bilderzeugungsklient 300 außerhalb der Brandmauer 14 befindet. Somit hat der Bilderzeugungsklient keinen Zugriff auf die Webserver 30 und 32 und den Zusammensetzungsspeicher 62 und den Graphikspeicher 60 innerhalb der Brandmauer 14. Dieser fehlende Zugriff ist in diesem Fall durch Grauunterlegung der Server 30, 32, 60 und 62 sowie der Bezugnahmen 367 und 368 auf den internen Standardzusammensetzungsspeicher und den internen Standardgraphikspeicher dargestellt.
  • GRUPPENZUSAMMENSETZUNGSSPEICHER Bezug nehmend nun auf 5 ist eine Konfiguration der vorliegenden Erfindung gezeigt, bei der mindestens ein Zusammensetzungsspeicher 500 und ein Graphikspeicher 501 vorhanden ist, der durch eine Mehrzahl von Bilderzeugungsklienten 502 und 505 gemeinschaftlich verwendet wird. Gleich numerierte Bezugnahmen haben die gleiche Bedeutung wie in 1. Es wird darauf hingewiesen, daß jeder Bilderzeugungsklient 502 und 505 einen Webbrowser 18 umfaßt, der Webinhalt 16 heruntergeladen hat, sowie eine Bilderzeugungserweiterung 22 und eine Benutzeridentifizierung 20. Bei dem Beispiel, das für die Darstellung der Konzepte gezeigt ist, umfaßt der Webinhalt 16 für den Bilderzeugungsklienten 502 Webinhalt von jedem der Webserver 30 oder 32, die innerhalb der Brandmauer vorliegen, während der Webinhalt 16 für den Bilderzeugungsklienten 505 Webinhalt von einem Webserver 40 außerhalb der Brandmauer umfaßt. (Es wird darauf hingewiesen, daß dieses Diagramm ausschließlich für eine Vereinfachung der Darstellung vorliegt. Beide Bilderzeugungsklienten 502 und 505 haben Zugriff auf alle Webserver innerhalb und außerhalb der Brandmauer 14, da sie innerhalb der Brandmauer 14 liegen, und können Webinhalt von denselben herunterladen.) Die Benutzeridentifizierung 20, die sich in dem Bilderzeugungsklienten 502 befindet oder in denselben geladen ist, umfaßt eine Bezugnahme auf einen Server 566, der das interessierende Benutzerprofil 564 enthält. Auf ähnliche Weise umfassen die Benutzerinformationen 20, die sich in dem Bilderzeugungsklienten 505 befinden oder in denselben geladen sind eine Bezugnahme 524 auf ein Benutzerprofil 574 auf dem Server 576.
  • Es sollte darauf hingewiesen werden, daß ein gegebener „Bilderzeugungsklient" einfach eine öffentliche Maschine an einem Flughafen sein könnte. Diese öffentliche Maschine könnte durch Einfügen einer „Smartcard" in die öffentliche Maschine verwendet werden. Die Smartcard würde die „Benutzerinformationen 20" enthalten. Dementsprechend ist das Benutzerprofil im allgemeinen dem Benutzer zugeordnet und nicht der Bilderzeugungsklientenmaschine an sich. Es wird darauf hingewiesen, daß viele einzelne „Benutzeridentifikationen 20" vorhanden sein können, die sich alle auf das gleiche Benutzerprofil (oder Satz von Benutzerprofilen) beziehen. Es könnte z. B. eine „Benutzeridentifizierung 20" in dem Laptop des Benutzers und eine andere in dem Mobiltelephon des Benutzers vorhanden sein, wobei sich beide auf das gleiche Benutzerprofil beziehen.)
  • Bezug nehmend wiederum auf 4 umfaßt das Benutzerprofil 564 eine Bezugnahme 567 auf einen Standardzusammensetzungsspeicher 62, eine Bezugnahme 568 auf einen Standardgraphikspeicher 60, eine Bezugnahme 569 auf eine Standardzusammensetzung und eine Bezugnahme 590 auf den Gruppenzusammensetzungsspeicher 500.
  • Auf ähnliche Weise umfaßt das Benutzerprofil 574 eine Bezugnahme 577 auf einen Standardzusammensetzungsspeicher 72, eine Bezugnahme 578 auf einen Standardgraphikspeicher 70, eine Bezugnahme 579 auf eine Standardzusammensetzung und eine Bezugnahme 591 auf den Gruppenzusammensetzungsspeicher 500.
  • Es ist ersichtlich, daß der Gruppenzusammensetzungsspeicher 500 und der Gruppengraphikspeicher 501 auf dem gleichen Server 508 angeordnet sind, für eine Vereinfachung der Darstellung. Sie können sich jedoch auch auf unterschiedlichen Servern befinden. Der Gruppenzusammensetzungsspeicher 500 umfaßt eine Mehrzahl von Zusammensetzungen, die sich jeweils auf eine Graphik in dem Gruppengraphikspeicher beziehen, für eine leichtere Darstellung. Es besteht keine Anforderung, daß eine Zusammensetzung in dem Gruppenzusammensetzungsspeicher auf eine Graphik in dem Gruppengraphikspeicher Bezug nimmt. Sie könnte auf eine Graphik an einem beliebigen Ort Bezug nehmen. Zusätzlich dazu nimmt eine Zusammensetzung 509 Bezug auf eine Graphik 511 in einem Graphikspeicher 513 in einem Server 40 außerhalb der Brandmauer 14.
  • Es wird darauf hingewiesen, daß alle zugreifbaren Zusammensetzungen in den unterschiedlichen Zusammensetzungsspei chern, einschließlich der Gruppenzusammensetzungsspeicher auf dieser Liste sein werden, wenn der Webinhalt die Bilderzeugungserweiterung verwendet, um eine Liste aller verfügbaren Zusammensetzungen zu erhalten und dann an den Benutzer anzuzeigen (zur Verwendung mit dem Webinhalt, der momentan in dem Bilderzeugungsklienten 12 arbeitet). Es wird dann ein Dialog mit dem Benutzer begonnen, um die gewünschte Zusammensetzung auszuwählen, wobei die Auswahl eine Zusammensetzung in dem Gruppenzusammensetzungsspeicher umfassen kann.
  • Es können verschiedene Gruppenzusammensetzungsspeicher für unterschiedliche Gruppen verfügbar sein. Für jeden Gruppenzusammensetzungsspeicher, auf den der Benutzer zugreift, besteht eine Bezugnahme auf diesen Gruppenzusammensetzungsspeicher in einem der Profile des Benutzers. Es wird darauf hingewiesen, daß eine Bezugnahme auf einen bestimmten Gruppenzusammensetzungsspeicher dem Profil des Benutzers üblicherweise dadurch zugefügt wird, daß der Benutzer den Gruppenzusammensetzungsspeicher „abonniert". Dies kann dadurch ausgeführt werden, daß der Benutzer zu einem Webdienst blättert, der Webinhalt in dem Browser des Benutzers herunterlädt, der eine Bilderzeugungserweiterung verwendet, um eine Bezugnahme auf den Gruppenzusammensetzungsspeicher zu dem Profil des Benutzers hinzuzufügen. Diese Bezugnahme könnte später durch Blättern zu einem anderen Webdienst entfernt werden, dem ermöglicht ist, Bezugnahmen auf Gruppenzusammensetzungsspeicher aus dem Benutzerprofil zu entfernen. Sobald die Bezugnahme dem Benutzerprofil für den Gruppenzusammensetzungsspeicher hinzugefügt ist, sind die Zusammensetzungen, die innerhalb des Gruppenzusammensetzungsspeichers enthalten sind, umfaßt (zusammen mit Zusammensetzungen in anderen Zusammensetzungsspeichern, die dem Benutzerprofil zugeordnet sind, wie z. B. der Standardzusammensetzungsspeicher), immer wenn der Webinhalt alle verfügbaren Zusammensetzungen aufzählt. Somit sind alle Zusammensetzungen, die gerade in dem Gruppenzusammensetzungsspeicher sind, für den Webinhalt/Benutzer automatisch ver fügbar. Wenn der Benutzer z. B. das People Magazine abonniert (wodurch der Benutzer ein Mitglied der „People Magazine-Abonnentengruppe" wird), kann eine Bezugnahme auf den People Magazine-Gruppenzusammensetzungsspeicher an das Benutzerprofil geliefert werden. Dieser Gruppenzusammensetzungsspeicher kann Ausgaben des People Magazine enthalten. Wenn neue Ausgaben herauskommen, werden diese Ausgaben dem People Magazine-Gruppenzusammensetzungsspeicher hinzugefügt. Da der Benutzer eine Bezugnahme auf den People Magazine-Gruppenzusammensetzungsspeicher in seinem/ihrem Benutzerprofil hat, werden neue Ausgaben des People Magazine (dargestellt als Zusammensetzungen in dem Gruppenzusammensetzungsspeicher) automatisch ein Teil des Personalbilderzeugungsverwahrungsort des Benutzers. Der Benutzer wäre in der Lage, dieselben wie jegliche andere Zusammensetzung auszuwählen, die in dem Personalbilderzeugungsverwahrungsort des Benutzers verfügbar ist, und kann dieselbe nachfolgend verwenden. Der Benutzer müßte den Gruppenzusammensetzungsspeicher nicht ausdrücklich auswählen – sobald eine Bezugnahme auf denselben zu dem Benutzerprofil hinzugefügt wird, ist dieselbe immer ein Teil des Personalbilderzeugungsverwahrungsorts des Benutzers und Zusammensetzungen aus demselben werden aufgezählt, wenn verfügbare Zusammensetzungen für eine Auswahl durch den Benutzer durch den Webinhalt aufgelistet werden, außer der Benutzer entfernt dieselbe. Es sollte darauf hingewiesen werden, daß sich der Benutzer nicht notwendigerweise bewußt ist, daß er/sie spezifisch eine Zusammensetzung aus dem Gruppenzusammensetzungsspeicher ausgewählt hat – der Benutzer würde nur denken, daß er/sie eine Zusammensetzung ausgewählt hat.
  • Es wird darauf hingewiesen, daß zwei oder mehr Gruppenzusammensetzungsspeicher und Gruppengraphikspeicher vorhanden sein können, wobei sich einige innerhalb der Brandmauer und einige außerhalb der Brandmauer befinden. Dementsprechend, wenn sich der Bilderzeugungsklient außerhalb der Brandmauer befindet, dann würden die verfügbaren Zusammensetzungen, die durch den Webinhalt für eine Auswahl durch den Benutzer aufgezählt werden, die Zusammensetzungen in dem Gruppenzusammensetzungsspeicher nicht umfassen, die sich innerhalb der Brandmauer befinden.
  • Die Verwendung eines Gruppenzusammensetzungsspeichers 500 und/oder des Gruppengraphikspeichers 501 ist besonders vorteilhaft zum Erstellen eines Satzes von Zusammensetzungen, die für eine Gruppe von Benutzern verfügbar sind. Dem Gruppenzusammensetzungsspeicher könnte z. B. monatlich ein Rundschreiben hinzugefügt werden. Auf diese Rundschreibenzusammensetzung könnte dann zum Zweck des Druckens oder anderer Handhabungen zugegriffen werden. Der Gruppen-Zusammensetzungsspeicher/-graphikspeicher macht die Bilderzeugungsinformationen automatisch für einen Benutzer verfügbar, basierend auf seiner/ihrer Zugehörigkeit zu einer bestimmten Gruppe. Diese Zugehörigkeit wird in dem Benutzerprofil für jede Person angezeigt. Es wird darauf hingewiesen, daß mehrere einzelne Gruppen-Zusammensetzungsspeicher/-Graphikspeicher für jede Gruppe vorhanden sein könnte, zu der der Benutzer zugehörig ist. Wenn zusätzliche Bilderzeugungsinformationen in diesen Gruppenzusammensetzungsspeichern verfügbar werden, hat der Benutzer diese Bilderzeugungsinformationen automatisch in seinem/ihrem Personalbilderzeugungsverwahrungsort, da der Gruppenzusammensetzungsspeicher ein Teil dieses Personalbilderzeugungsverwahrungsortes des Benutzers ist, über die Bezugnahme auf den Gruppenzusammensetzungsspeicher in dem Benutzerprofil des Benutzers.
  • Als ein anderes Beispiel könnten sich die Erfinder das gemeinschaftliche Verwenden von Patentanmeldungsinformationen vorstellen. Eine Patentanmeldung weist (mindestens) drei Teile auf: beschreibender Text, Ansprüche und Figuren. Ein Erfinder könnte an dem beschreibenden Text arbeiten und dann eine Zusammensetzung in dem Gruppenzusammensetzungsspeicher erzeugen, die Bezug auf eine Graphik nimmt, die den beschreibenden Text enthält. Ein anderer Erfinder könnte das gleiche für die Zeichnungen tun. Ein dritter Erfin der könnte das gleiche für die Ansprüche tun. Da Zusammensetzungen, die diese Elemente darstellen, sich in dem Gruppenzusammensetzungsspeicher befinden, hätten alle Erfinder Zugriff auf dieselben, über ihre jeweiligen Personalbilderzeugungsverwahrungsorte. Wenn neue Gegenstände hinzugefügt oder aktualisiert werden, hätten alle Erfinder Zugriff auf die neuesten Versionen.
  • Der Gruppenzusammensetzungsspeicher macht die gleichen Zusammensetzungen einfach für eine Gruppe von Personen verfügbar. Wenn zwei Benutzer Benutzerprofile aufweisen, die eine Bezugnahme auf einen Gruppenzusammensetzungsspeicher enthalten, haben beide Benutzer Zugriff auf die Zusammensetzungen, die innerhalb dieses Gruppenzusammensetzungsspeichers gespeichert sind. Wenn eine neue Zusammensetzung hinzugefügt wird oder eine bestehende Zusammensetzung auf eine bestimmte Weise aktualisiert wird, haben beide Benutzer Zugriff auf diese hinzugefügte/aktualisierte Zusammensetzung. Die Zusammensetzungen (und die Graphiken, auf die durch diese Zusammensetzungen Bezug genommen wird), die innerhalb des Gruppenzusammensetzungsspeichers gespeichert sind, werden ein Teil des „Personalbilderzeugungsverwahrungsorts" für jeden der Benutzer. Es wird darauf hingewiesen, daß jeglicher Gruppenzusammensetzungsspeicher (es können mehrere vorhanden sein) der innerhalb der Brandmauer positioniert ist für diesen Bilderzeugungsklienten unzugreifbar wird.
  • Bezug nehmend nun auf 6A und 6B ist eine Beispielimplementierung der Operation der vorliegenden Erfindung dargestellt, um ein leichtes Verständnis zu liefern. Die Erfindung soll nicht auf diese spezifische Sequenz von Operationsschritten beschränkt sein. Zusätzlich dazu würde ein Fachmann auf dem Gebiet erkennen, daß jeder der Schritte auf andere, vergleichbare Weisen implementiert werden könnte.
  • In 6A beginnt die Operation bei Startblock 600, der anzeigt, daß der Bilderzeugungsklient 12 aktiviert wurde. Üblicherweise wird dies dadurch erreicht, daß der Benutzer seinen/ihren Benutzeranmeldenamen und das Paßwort zum Einfügen einer Karte in einen allgemeinen Bilderzeugungsklienten eingibt. Die Ausführung bewegt sich dann weiter zu Block 602, bei dem ein Benutzerprofil ausgewählt wird. Die Details für die Auswahl des Benutzerprofils werden detaillierter im Hinblick auf 7 erörtert. Bei diesem Beispiel blättert der Browser an dem Bilderzeugungsklienten 12 dann zum Beispiel zu einem Lieferantenwebserver 30 bei Block 604. Ein Lieferantenwebserver würde Graphiken für ein nachfolgendes Verarbeiten liefern, möglicherweise an einen anderen Webdienst, d. h. einen Verbraucherwebdienst.
  • Die Operation bewegt sich dann weiter zu Block 606, bei dem Lieferantenwebinhalt von dem Server 30 angefordert und auf den Bilderzeugungsklienten 12 heruntergeladen wird. Die vorangehenden Schritte des Blätterns zu dem Webserver und des Erhaltens von Lieferantenwebinhalt umfassen bei einem Ausführungsbeispiel, daß der Benutzer einen geeigneten URL für eine Webseite einer Website eingibt. Der Browser 18 an dem Bilderzeugungsklienten 12 empfängt diese URL-Eingabe und überträgt ansprechend darauf eine geeignete Anfrage (in manchen Fällen durch eine Brandmauer) für die Webseite an einen Webserver. Der Webserver, z. B. Webserver 30, empfängt diese Anfrage und antwortet durch Übertragen der gewünschten Webseite an den Webbrowser. Der Browser 18 empfängt die übertragene Webseite und zeigt dieselbe an.
  • Webseiten weisen eine Reihe von Etiketten auf, wobei die meisten derselben die Art beschreiben, wie die Webseite aussehen sollte, sie umfassen ferner jedoch Etiketten zum Spezifizieren von Hyperlinks zu anderen Orten (einer anderen Website, einer Webseite auf der aktuellen Site oder einem Ort innerhalb der aktuellen Seite z. B.). Konzeptionell würde die Webseite einen Textabschnitt und eine oder mehrere Hyperlinks aufweisen, wie z. B. eine „get document ser vice" (erhalte Dokumentdienst)-Hyperlink zum Liefern der Graphik für das Dokument. Der Textabschnitt kann Informationen betreffend den Dokumenterzeugungsdienst umfassen, der durch den Webserver 30 geliefert wird, und potentiell ebenfalls Informationen über die Kosten zur Verwendung des Dienstes und eine Einrichtung für den Benutzer zum Einleiten der Zahlung. Die Hyperlink ist derart formatiert, daß der Benutzer eine entsprechende Anfrage zurück an den Webserver 30 für den Dokumenterzeugungslieferanten-Webinhalt überträgt, wenn sie durch den Benutzer ausgewählt wird, der dann auf den Browser 18 heruntergeladen wird.
  • Somit stellt der Lieferantenwebinhalt 16, der nun in dem Bilderzeugungsklienten 12 vorliegt, eine Vielzahl von Optionen zum Zugreifen, Handhaben und anderweitigen Verwenden der Graphiken an dem oder zugreifbar durch den Webserver dar.
  • Die Operation bewegt sich dann zu Block 608, wo angenommen wird, daß der Benutzer über die Hyperlink oder mittels automatischer Auswahl eine Option auswählt, um etwas mit der Graphik zu unternehmen, wie z. B. das Dokument zu erhalten. Der Browser 18 empfängt diese Benutzereingabe und überträgt eine entsprechende Anforderung nach dem Dokumenterzeugungs-Webinhalt an den Webserver 30.
  • Die Operation bewegt sich dann zu Block 610, wo der Lieferantenwebinhalt von dem Benutzerprofil eine Bezugnahme auf einen Graphikspeicher in dem Personalbilderzeugungsverwahrungsort des Benutzers anfordert. Üblicherweise wäre dies eine undurchsichtige Bezugnahme für eine Bezugnahme 68 auf einen Standardgraphikspeicher 60. Um dies zu erreichen, ruft der Lieferantenwebinhalt ein Verfahren auf, das Teil der API ist, die durch die Bilderzeugungserweiterung 22 bereitgestellt wird. Dieses Verfahren meldet sich in dem Graphikspeicher an, auf den Bezug genommen wurde. Dabei kann der Webinhalt bestimmen, ob der Graphikspeicher ein bestimmtes Graphikformat bevorzugt wird und welche Graphik formate allgemein durch den Graphikspeicher unterstützt werden. Das Graphikformat muß nicht notwendigerweise für jeden spezifischen Zweck kompatibel sein, wie z. B. Drucken. Es muß lediglich mit dem Graphikspeicher kompatibel sein, so daß der Graphikspeicher das gelieferte Graphikformat bearbeiten kann.
  • Es sollte darauf hingewiesen werden, daß zwei Webinhalte vorhanden sind, die üblicherweise sequentiell arbeiten: ein Webinhalt von einem Lieferantenwebdienst und ein Webinhalt von einem Verbraucherwebdienst. Der Benutzer fügt seinem Personalbilderzeugungsverwahrungsort Graphikdaten hinzu, die von einem Webdienst (dem Lieferantenwebdienst) geliefert wurden, und verwendet dann diese Graphikdaten durch Blättern zu einem anderen Webdienst zum Verarbeiten (dem Verbraucherwebdienst). Anfänglich lädt der Lieferantenwebdienst dessen Webinhalt auf den Browser des Benutzers herunter und verwendet diesen Webinhalt zum Hinzufügen einer Graphik zu dem Personalbilderzeugungsverwahrungsort des Benutzers, wie hierin detaillierter erörtert wird. Dann lädt der Verbraucherwebdienst dessen Webinhalt auf den Browser des Benutzers herunter und greift auf die Graphik in dem Personalbilderzeugungsverwahrungsort des Benutzers zu, um dieselbe zu bearbeiten. Der Webinhalt, der durch den Verbraucherwebdienst geliefert wird, liefert Webinhalt, der anzeigt, daß diese Datenformate durch den Verbraucherwebdienst unterstützt werden. Üblicherweise verwenden Verbraucherwebdienste JPEG-, PNG-, GIF-Formate die Informationen über die Graphik verwenden, wie z. B. Größe, Anzahl von Seiten, etc. Beispielsweise aber nicht einschränkend sei angenommen, daß die Graphikdaten durch einen Verbraucherwebdienst verarbeitet werden sollen, wie z. B. einen Druckerwebdienst, da der Benutzer zu dem Druckerwebdienst geblättert ist und verursacht hat, daß der Webinhalt des Druckerwebdienstes auf den Browser heruntergeladen wird. Der Druckerwebdienst-Webinhalt tritt in Wechselwirkung mit dem Graphikspeicher in dem Personalbilderzeugungsverwahrungsort 50 des Benutzers und wählt ein Datenformat aus, das mit demselben kompatibel ist; bei einem Druckerwebdienst üblicherweise PDF, PCL, PS und PCL6. Anders ausgedrückt „weiß" der Verbraucherwebinhalt von dem Druckerwebdienst (aufgrund seiner Herkunft), welches Datenformat für diesen Druckerwebdienst geeignet/mit demselben kompatibel ist und fragt den Graphikspeicher ab, um zu bestimmen, ob eine Übereinstimmung zwischen dem Datenformat vorhanden ist, das an dem Verbraucherdruckerwebdienst verwendet wird und dem Datenformat, das von dem Graphikspeicher erhältlich ist, und trifft dann die geeignete Auswahl aus den von dem Graphikspeicher verfügbaren Formaten.
  • Diese Formatinformationen könnten automatisch ausgewählt werden, oder manuell über eine Eingabe von dem Benutzer durch eine Benutzerschnittstelle.
  • Bei Block 614 würde der Verbraucherwebdienst basierend auf diesen Graphikformatoptionen ein Graphikformat für die Graphik auf dem Server 30 auswählen.
  • An diesem oder einem früheren Punkt würde der Lieferantenwebinhalt ferner eine Benutzerschnittstelle mit auswählbaren Optionen anzeigen, die ein Pull-down-Menü umfassen kann, um dem Benutzer zu ermöglichen anzuzeigen, wo er/sie das Dokument speichern möchte, d. h. in einem Graphikspeicher, der dem Webdienst zugeordnet ist, von dem die Graphik geliefert wurde (wobei auf den Graphikspeicher dann durch eine Zusammensetzung in einem Zusammensetzungsspeicher Bezug genommen werden könnte, der Teil des Personalbilderzeugungsverwahrungsortes des Benutzers ist, und dadurch zu einem Teil des Personalbilderzeugungsverwahrungsortes des Benutzers gemacht wird), oder in einem Standardgraphikspeicher in dem Personalbilderzeugungsverwahrungsort des Benutzers. Es ist besser, den Standardgraphikspeicher des Benutzers in dem Personalbilderzeugungsverwahrungsort des Benutzers zu verwenden, wenn der fragliche Webdienst nicht immer verfügbar ist (oder genauer gesagt, die Graphik, die diesem Webdienst zugeordnet ist). Einige Webdienste haben keinen Graphikspeicher oder sind nicht verläßlich, um Graphiken zuverlässig zu liefern. Ein Webdienst, der z. B. eine Kamera darstellt (wie z. B. eine, die auf der lokalen Maschine des Benutzers läuft – d. h. der Bilderzeugungsklientenmaschine) wird keinen Graphikspeicher aufweisen, da es wahrscheinlich ist, daß die Kamera nur vorübergehend mit dem Bilderzeugungsklienten des Benutzers verbunden ist.
  • Angenommen, die Speicherungsoption wurde ausgewählt und der Graphikspeicher wurde entweder manuell oder automatisch ausgewählt, dann würde die Operation sich zu Block 616 bewegen, wo der Lieferantenwebinhalt über geeignete undurchsichtige Bezugnahmen eine neue Graphik in dem ausgewählten Graphikspeicher erzeugt, der dann der Standardgraphikspeicher 60 ist, auf den durch das Benutzerprofil Bezug genommen wird. Die Operation bewegt sich dann zu Block 618, wo der Webinhalt die erzeugte Graphik in dem Standardgraphikspeicher 60 zum Zweck des Schreibens von Daten öffnet.
  • Die Operation bewegt sich dann zu Block 620, wo der Webinhalt eine Nachricht oder eine Sequenz von Nachrichten erzeugt, die die gewünschten Graphikdaten aus dem Webserver 30 in dem geeigneten Format anfordern. Die Operation bewegt sich dann zu Block 622, wo der Webinhalt eine oder mehrere Nachrichten in dem ausgewählten Format empfängt und über die Bilderzeugungserweiterungs-API die Graphikdaten in diese Nachrichten schreibt, um die Graphik in dem Graphikspeicher zu öffnen.
  • Genauer gesagt empfängt die Bilderzeugungserweiterung 22 die allgemeine Zugriffsanforderung von dem Webinhalt und antwortet mit einem Verfahren in deren API, das entsprechende undurchsichtige Bezugnahmen bei dem bevorzugten Ausführungsbeispiel verwendet, um zu verursachen, daß die Daten in den Nachrichten in dem Graphikspeicher 60 gespeichert werden. Wie vorangehend erwähnt wurde, kann dies eine Kommunikation über eine Kommunikationsverbindung zu einem entfernten Graphikspeicher umfassen, oder es kann einfach eine Speicherung in einen zweckgebundenen Abschnitt einer Festplatte des Bilderzeugungsklienten 12 umfassen, wobei beides in dem Personalbilderzeugungsverwahrungsort für den Benutzer sein kann. Es wird darauf hingewiesen, daß die Erweiterung diese Nachrichten, die die Graphik enthalten, durch die Brandmauer 14 kommunizieren kann, da das HTTP-Protokoll verwendet werden kann. Der Graphikspeicher antwortet auf diese Befehle durch Speichern der Nachrichten in einer oder mehreren Graphikdateien.
  • Die Operation bewegt sich dann zu Block 624, wo der Lieferantenwebinhalt eine undurchsichtige Bezugnahme durch die Bilderzeugungserweiterungs-API zu der neu erzeugten Graphik hält und dann die offene Graphik schließt. Die Operation bewegt sich dann zu Block 626, wo der Webinhalt eine Bezugnahme 67 in dem Benutzerprofil für einen Standardzusammensetzungsspeicher wiedergewinnt. Dieser Standardzusammensetzungsspeicher 62 kann gemäß einem vorbestimmten Kriteriensatz durch den Benutzer bestimmt oder automatisch eingestellt werden.
  • Die Operation bewegt sich dann zu Block 628, wo der Lieferantenwebinhalt sich durch die undurchsichtigen Bezugnahmen von der Bilderzeugungserweiterungs-API in dem Standardzusammensetzungsspeicher 62 anmeldet und eine Zusammensetzung innerhalb des Zusammensetzungsspeichers 62 erzeugt. Die Operation bewegt sich dann zu Block 630, wo der Lieferantenwebinhalt durch die undurchsichtigen Bezugnahmen von der Bilderzeugungserweiterungs-API der neu erzeugten Graphik in dem Graphikspeicher 60 eine Bezugnahme auf die Zusammensetzung hinzufügt, die soeben in dem Zusammensetzungsspeicher 62 erzeugt wurde.
  • Die Operation bewegt sich dann zu Block 632, wo der Lieferantenwebinhalt durch die undurchsichtigen Bezugnahmen von der Bilderzeugungserweiterungs-API die Bezugnahme 69 in dem Benutzerprofil 64 für die Standardzusammensetzung ändert, um auf die Zusammensetzung Bezug zu nehmen, die soeben in dem Zusammensetzungsspeicher 62 erzeugt wurde. Die Operation bewegt sich dann zu Block 634, wo der Lieferantenwebdienst den Browser anweist, die Verwendung einzuleiten, die anfänglich durch den Benutzer für die Graphik ausgewählt wurde, z. B. Drucken. Da die neu erzeugte Zusammensetzung als die Standardzusammensetzung eingestellt ist, wird dieselbe ausgewählt und durch nachfolgende Webdienste verwendet, z. B. Drucker, um Dienste auf denselben auszuführen.
  • Bezug nehmend auf 7 sind Details für eine Beispielimplementierung von Block 602 in 6 offenbart. In 7 ist die Anfangsoperation in Block 700 eine Anforderung, die durch den Lieferantenwebinhalt an die Bilderzeugungserweiterungs-API nach Benutzeridentifizierungsinformationen betreffend verfügbare Benutzerprofile getätigt werden soll. Wie bei anderen Operationen würde diese Anforderung tatsächlich durch die API der Bilderzeugungserweiterung übertragen werden, die wirkt, um undurchsichtige Bezugnahmen auf das Benutzerprofil und Ressourcen in demselben zurück an den Webinhalt zu liefern. Diese undurchsichtigen Bezugnahmen würden eine Zuordnung der Webinhaltsbefehle zu den entsprechenden Ressourcen an dem Bilderzeugungsklienten und mit dem entsprechenden Personalbenutzerverwahrungsort ermöglichen. Die Operation bewegt sich dann zu Block 702, wo bestimmt wird, ob mehr als ein Benutzerprofil für eine Auswahl verfügbar ist. Wenn die Bestimmung NEIN ist, dann bewegt sich die Operation zu Block 704, wo das einzelne aktive Benutzerprofil durch die Bilderzeugungserweiterungs-API dem Webinhalt zugeordnet wird. Wenn die Bestimmung JA ist, dann bewegt sich die Operation zu Block 706, wo ein Verfahren zum Bestimmen des korrekten Benutzerprofils aufgerufen wird. Als Beispiel kann dieses Verfahren das Anzeigen einer Benutzerschnittstelle mit Tasten aufweisen, um die Auswahl von einem aus einer Mehrzahl von verfügbaren Benutzerprofilen zu ermöglichen. Alternativ oder zusätzlich dazu kann das aufgerufene Verfahren auf ein bestimmtes Benutzerprofil voreingestellt werden, das vorangehend durch den Benutzer ausgewählt wurde, oder basierend auf vorbestimmten Krite rien ausgewählt wurde, wie z. B. ob sich der Bilderzeugungsklient innerhalb einer Brandmauer befindet, oder basierend darauf, welche Maschine der Benutzer als den Bilderzeugungsklienten 12 aktiviert hat.
  • Die Operation bewegt sich dann zu Block 708, wo das ausgewählte oder automatisch bestimmte Benutzerprofil durch die Bilderzeugungserweiterungs-API dem Webinhalt zugeordnet ist.
  • Der in 7 beschriebene Prozeß kann ferner für den Webinhalt durch die Bilderzeugungserweiterung durchgeführt werden.
  • Bezug nehmend nun auf 8 ist ein schematisches Beispiel der Operation der vorliegenden Erfindung zum Erzeugen, Adressieren und Stempeln eines Umschlags gezeigt. 8 zeigt eine einzelne Zusammensetzung 800, die sich auf zwei Graphiken bezieht – eine für einen Umschlag 808 und eine für einen Stempel 814. Die Graphik des Umschlags 808 umfaßt eine Absendeadresse und eine Zieladresse. Diese sind nicht notwendigerweise die gleiche Graphik – aber der Einfachheit halber sind sie Teil der gleichen Graphik (der Umschlagsgraphik). Die Graphik des Umschlags 808 kann aus einem Dokument unter Verwendung einer Tischcomputeranwendung 806 (z. B. Microsoft Word) und eines „Webbilderzeugungsdruckers" (ein Betriebssystem-Druckzielort, der Druckdaten beim Drucken aus der Anwendung erfaßt und diese Informationen in den Personalbilderzeugungsverwahrungsort des Benutzers überträgt) erzeugt wird und in den Standardgraphikspeicher 810 des Benutzers plaziert wird. Die Stempelgraphik 814, die in der Figur gezeigt ist, kann durch einen Stempelwebdienst 812 erzeugt werden und in dem Standardgraphikspeicher 810 des Benutzers plaziert werden. Vermutlich (obwohl dies in dem Diagramm nicht spezifisch dargestellt ist) kann die Umschlagsgraphik zuerst existieren.
  • Im Betrieb erzeugt der Benutzer die Umschlaggraphik mit dem „Webbilderzeugungsdrucker" zusammen mit der entsprechenden Zusammensetzung 800 aus der Anwendung 806. Nachdem die Umschlagsgraphik 808 und die Zusammensetzung 800 unter Verwendung der Anwendung 806 und des Webbilderzeugungsdruckers erzeugt wurden und in dem Standardgraphikspeicher 810 des Benutzers plaziert wurden, blättert der Benutzer zu einer Stempeldienstwebsite 812 und kauft einen Stempel. Die Stempeldienstwebsite 812 erzeugt Bilddaten, die einem Stempel entsprechen (üblicherweise einen Streifencode für einen elektronischen Stempel) und plaziert die Bilddaten unter Verwendung des Stempeldienstwebsite-Webinhalts in eine Graphik 814 innerhalb des Standardgraphikspeichers 810 des Benutzers. Wurde dies erfüllt, fügt der Stempeldienstwebinhalt dann die Graphik 814 der Umschlagzusammensetzung 800 in einem Ort hinzu, der für einen Stempel geeignet ist. Somit stellt das Diagramm eine Zusammensetzung 800 dar, die auf zwei Graphiken 808 und 814 Bezug nimmt. Diese Zusammensetzung könnte dann nachfolgend gedruckt werden – mit dem Stempel.
  • Obwohl die vorangehende Beschreibung im Kontext eines Bilderzeugungsklienten und zweier Servermaschinen 30 und 32 innerhalb der Brandmauer und zweier Servermaschinen 40 und 42 außerhalb der Brandmauer für eine leichtere Erklärung durchgeführt wurde, umfaßt die bevorzugte Implementierung wahrscheinlich viele Servermaschinen, auf die die Klientenmaschine Zugriff hat und mit welchen sie kommunizieren kann. Für ein besseres Leseverhalten wurde manchmal auf „eine" Klientenmaschine oder Servermaschine Bezug genommen. Es sollte jedoch darauf hingewiesen werden, daß sich die Verwendung von „eine" ferner auf „eine oder mehrere" bezieht.
  • Ein weiterer Aspekt der vorliegenden Erfindung richtet sich auf das Lösen der nachfolgenden Druckprobleme. Besondere Verhaltensprobleme entstehen während gewisser Druckoperationen, wenn die Seiten zum Drucken außerhalb der numerischen Reihenfolge angefordert werden. Eine Duplexspezifizierung könnte z. B. die Seiten 1 und 3 und dann 2 und 4 anfordern. Bestimmte Druckoperationen, wie z. B. Broschürendrucken, könnten Seiten außer der Reihenfolge anfordern, wie z. B. 1, 99, 2, 98, etc. Um dies zu ermöglichen, ist eine bedeutende Speichermenge erforderlich, um die dazwischenliegenden Seiten temporär zu speichern. Dementsprechend mußten Druckerentwerfer in der Vergangenheit angemessene Speichermengen einlagern, um eine derartige Druckspezifikation zu ermöglichen.
  • Ein System und ein Verfahren, das ein Anfordern und Zugreifen auf bestimmte Seiten außer der Reihenfolge erlaubt, würde das Verhalten verbessern und die erforderliche Speichermenge (sowohl im RAM als auch auf der Festplatte) reduzieren. Dementsprechend wäre ein System und ein Verfahren, das es dem Drucker erlaubt, Seiten in der natürlichen Reihenfolge anzufordern, die durch den Drucker für einen bestimmten Druckauftrag erforderlich ist, äußerst vorteilhaft. Die Zuverlässigkeit wird ebenfalls verbessert, da es weniger wahrscheinlich ist, daß der Drucker keinen Speicher mehr aufweist.
  • Dementsprechend wird ein System und ein Verfahren geschaffen, um es einem Drucker zu erlauben, Dokument-/Druckauftrag-Daten in einer vorgeschriebenen Seitenbilddaten-Reihenfolge anzufordern.
  • Bezug nehmend auf 12 kann ein Prozessor an einen Druckerdienst oder anderswo bei Block 1500 eine Bezeichnung zum Drucken eines Dokuments empfangen. Üblicherweise wird diese Bezeichnung von einem Browser unter der Steuerung eines Webinhalts empfangen, der von dem Druckerdienst stammt. Bei diesem Szenario kann ein Benutzer auf eine Taste geklickt haben oder anderweitig eine Anzeige auf einer graphischen Schnittstelle getätigt haben, daß er/sie ein Dokument drucken möchte. Ferner wird zu dieser oder einer späteren Zeit eine Benutzerspezifizierung des Typs des ausge wählten Druckauftrags erhalten. Der Benutzer kann z. B. DUPLEX oder BROSCHÜRE oder eine bestimmtere andere Spezifizierung durch Klicken auf eine Taste oder anderweitiges Durchführen einer Identifizierung auf der graphischen Benutzerschnittstelle ausgewählt haben, die durch den Webinhalt bereitgestellt wird. Es wird darauf hingewiesen, daß die Druckspezifikation ferner automatisch von dem Webinhalt oder von einer Quelle ohne Benutzereingabe erhalten werden kann. Das Erhalten der Druckspezifikation ist durch Block 1510 in 12 dargestellt.
  • Das Verfahren bewegt sich dann zu Block 1520, wo eine Seitenbilddaten-Reihenfolge aufgebaut ist. Die Seitenbilddaten-Reihenfolge kann durch den Webinhalt aufgebaut werden oder kann von einer anderen Quelle an den Webinhalt geliefert werden, wie z. B. dem Webdruckerdienst. Üblicherweise wird die Seitenbilddaten-Reihenfolge basierend auf der bei Block 1510 bestimmten Druckspezifikation bestimmt. Die Seitenbilddaten-Reihenfolge kann jedoch basierend auf einem anderen Kriterium vorbestimmt werden oder eine StandardSeitenbilddaten-Reihenfolge aufweisen.
  • Das Verfahren fährt dann mit Block 1530 fort, um die Formate zu erhalten, in denen der gesamte Satz von Seitenbilddaten für das Dokument erhältlich ist, und trifft eine Auswahl eines geeigneten Formats. Das Format wird z. B. durch Vergleichen der Formate ausgewählt, in denen die gesamte Zusammensetzung erhältlich ist, mit einem oder mehreren Formaten, die durch den Druckerdienst spezifiziert werden, und durch nachfolgendes Treffen einer Auswahl basierend auf demselben. Die Beispiel-API in der Zusammensetzungsspeicher-API zum Ermöglichen dieser Get-Operation ist „GetGraphicFormatsInWhichEntireCompositionIs AvailableInGivenCanvasOrder(CompositionStoreSession, URL composition, CanvasOrder)
    unter Verwendung der Argumente compositionStoreSession, wobei ein URL die Zusammensetzung darstellt und eine Seitenbilddaten-Reihenfolge verfügbar ist, um die Formate zu erhalten, in denen die gesamte Zusammensetzung erhältlich halten, in denen die gesamte Zusammensetzung erhältlich ist. Auf ähnliche Weise ist die Beispiel-API bei der Bilderzeugungserweiterungs-API für diese Operation GetGraphikFormatsInWhichEntireCompositionIsAvailableInGivenCanvasOrder(Session, OpaquRef composition, CanvasOrder) URL composition)
    unter Verwendung der Argumente session, einer undurchsichtigen Bezugnahme für die Zusammensetzung, einer Seitenbilddaten-Reihenfolge und dem URL für die Zusammensetzung.
  • Das Verfahren bewegt sich dann zu Block 1540, wo die Daten für alle Seitenbilddaten in der Seitenbilddaten-Reihenfolge erhalten werden. Die Beispiel-API in der Zusammensetzungsspeicher-API zum Ermöglichen dieser Get-Operation ist „GetGraphicDataForEntireCompositionInGivenCanvasOrder(CompositionStoreSession, URL composition, CanvasOrder GraphicFormat)
    unter Verwendung der Argumente compositionStoreSession, einem URL, der die Zusammensetzung darstellt, und einer Seitenbilddaten-Reihenfolge, und dem ausgewählten Graphikformat, um die Graphiken für die gesamte Zusammensetzung in der gegebenen Seitenbilddaten-Reihenfolge zu erhalten. Auf ähnliche Weise ist die Beispiel-API in der Bilderzeugungserweiterungs-API für diese Operation GetGraphicDataForEntireCompositionInGivenCanvasOrder(Session, OpaqueRef composition, CanvasOrder, Graphic-Format)
    unter Verwendung der Argumente session, einer undurchsichtigen Bezugnahme für die Zusammensetzung, einer Seitenbilddaten-Reihenfolge und dem ausgewählten Graphikformat.
  • Das Verfahren fährt dann mit Block 1550 fort, wo die Graphikdaten für das Dokument in der gewünschten Seitenbilddaten-Reihenfolge zum Druckerverarbeiten gesendet werden.
  • Das Verfahren fährt dann mit Block 1560 fort, wo die verarbeiteten Daten gedruckt werden.
  • Das in 12 beschriebene Verfahren wird vorzugsweise unter der Steuerung des Webinhalts durchgeführt, der in einem Browser im Auftrag eines Webdienstes ausgeführt wird. Dieses Verfahren kann jedoch alternativ direkt durch den Webdienst ohne die Hilfe des Webinhalts ausgeführt werden. In dieser Situation kommuniziert der Webdienst direkt mit dem relevanten Zusammensetzungsspeicher, um die Graphikdaten in der gewünschten Seitenbilddaten-Reihenfolge zu erhalten.
  • Es sollte darauf hingewiesen werden, daß es offensichtlich ist, daß die Reihenfolge dieser Schritte von der abweichen kann, die dargestellt ist, obwohl die hierin bereitgestellten Flußdiagramme eine spezifische Reihenfolge zeigen. Ferner können zwei oder mehr Schritte gleichzeitig oder teilweise gleichzeitig ausgeführt werden. Eine derartige Variation ist von den ausgewählten Software- und Hardware-Systemen und allgemein von der Wahl des Entwicklers abhängig. Es wird darauf hingewiesen, daß alle derartigen Variationen innerhalb des Schutzbereichs der Erfindung liegen. Es wird ferner darauf hingewiesen, daß einer oder mehrere der Schritte durch eine programmierte Maschine durchgeführt oder implementiert werden können, oder durch eine Hardwarevorrichtung oder manuell. Es sollte ferner darauf hingewiesen werden, daß viele der Aspekte der vorliegenden Erfindung unabhängig von der hierin offenbarten API sind und unabhängig von derselben implementiert werden können. Obwohl z. B. die Verwendung einer Bilderzeugungserweiterung bevorzugt wird, um eine Schnittstelle zwischen dem Webinhalt und den Bilderzeugungssystemressourcen zu liefern, können viele Aspekte der vorliegenden Erfindung ohne die Verwendung einer Bilderzeugungserweiterung implementiert werden.

Claims (11)

  1. Verfahren zum Drucken eines Dokuments, das eine Mehrzahl von Seiten aufweist, wobei jede der Seiten des Dokuments durch Seitenbilddaten beschrieben ist, und wobei Graphikdaten für die Seitenbilddaten in einem Speicher entfernt von einem Drucker gespeichert sind, wobei das Verfahren folgende Schritte aufweist: Empfangen (1500, 1510) eines Auftrags zum Drucken des Dokuments, wobei der Auftrag eine dem Dokument zugeordnete Druckspezifikation aufweist; Bestimmen (1520) einer Reihenfolge, in der die Seitenbilddaten gemäß der dem Dokument zugeordneten Druckspezifikation zu drucken sind; Erhalten (1540) von Graphikdaten für die Seitenbilddaten in der bestimmten Reihenfolge; und Bereitstellen (1550, 1560) der Graphikdaten in der bestimmten Reihenfolge zum Drucken.
  2. Verfahren gemäß Anspruch 1, das ferner den Schritt des Erhaltens (1550) von Inhaltsformaten, in denen die Seitenbilddaten verfügbar sind, und den Schritt des Auswählens eines gewünschten Formates aufweist, wobei der Schritt des Erhaltens (1540) von Seitenbilddaten das Erhalten von Seitenbilddaten in dem ausgewählten Format aufweist.
  3. Verfahren gemäß Anspruch 1 oder 2, bei dem die Druckspezifikation einen Duplex-Druck oder einen Broschüren-Druck anzeigt.
  4. Verfahren gemäß einem der Ansprüche 1 bis 3, das ferner den Schritt des Druckens der Seitenbilddaten aufweist.
  5. System zum Drucken eines Dokuments, das eine Mehrzahl von Seiten aufweist, wobei jede der Seiten des Dokuments durch Seitenbilddaten beschrieben ist, wobei das System folgende Merkmale aufweist: eine erste Komponente zum Empfangen (1500, 1510) eines Auftrags zum Drucken des Dokuments, wobei der Auftrag eine dem Dokument zugeordnete Druckspezifikation aufweist; eine zweite Komponente zum Bestimmen (1520) einer Reihenfolge, in der die Seitenbilddaten gemäß der dem Dokument zugeordneten Druckspezifikation zu drucken sind; eine dritte Komponente zum Erhalten (1540) von Seitenbilddaten in der bestimmten Reihenfolge; und eine vierte Komponente zum Verarbeiten (1550, 1560) der Seitenbilddaten in der bestimmten Reihenfolge zum Drucken.
  6. System gemäß Anspruch 5, das ferner eine Komponente zum Erhalten (1530) von Inhaltsformaten, in denen die Seitenbilddaten verfügbar sind, und zum Auswählen eines gewünschten Formats aufweist, wobei die dritte Komponente zum Erhalten (1540) der Seitenbilddaten die Seitenbilddaten in dem ausgewählten Format erhält.
  7. System gemäß Anspruch 5 oder 6, bei dem die erste Komponente ein Webinhalt ist, der innerhalb eines Webbrowsers arbeitet und durch einen Webserver bereitgestellt wird.
  8. System gemäß Anspruch 7, bei dem der Webinhalt die zweite und die dritte Komponente umfaßt.
  9. System gemäß Anspruch 7 oder 8, bei dem der Webdienst die zweite und die dritte Komponente aufweist.
  10. System gemäß einem der Ansprüche 5 bis 9, bei dem der Webserver die vierte Komponente aufweist.
  11. Programmprodukt zum Drucken eines Dokuments, das eine Mehrzahl von Seiten aufweist, wobei jede der Seiten des Dokuments durch Seitenbilddaten beschrieben ist, wobei das Programmprodukt einen computerlesbaren Code aufweist, um zu bewirken, daß ein System die Verfahrensschritte des Verfahrens gemäß einem der Ansprüche 1 bis 4 ausführt, wenn der computerlesbare Code auf dem System abläuft.
DE10236189A 2001-08-08 2002-08-07 Verfahren, System und Programmprodukt zum Drucker eines Dokuments, das eine Mehrzahl von Seiten aufweist Expired - Fee Related DE10236189B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/923,967 2001-08-08
US09/923,967 US6900905B2 (en) 2001-08-08 2001-08-08 Method for accessing imaging information on a demand basis using web based imaging

Publications (2)

Publication Number Publication Date
DE10236189A1 DE10236189A1 (de) 2003-02-27
DE10236189B4 true DE10236189B4 (de) 2005-11-17

Family

ID=25449530

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10236189A Expired - Fee Related DE10236189B4 (de) 2001-08-08 2002-08-07 Verfahren, System und Programmprodukt zum Drucker eines Dokuments, das eine Mehrzahl von Seiten aufweist

Country Status (2)

Country Link
US (1) US6900905B2 (de)
DE (1) DE10236189B4 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE50001172D1 (de) * 1999-04-01 2003-03-06 Oce Printing Systems Gmbh Vorrichtung und verfahren zum verarbeiten und drucken von informationen
US8392827B2 (en) * 2001-04-30 2013-03-05 International Business Machines Corporation Method for generation and assembly of web page content
US6829060B2 (en) * 2001-10-30 2004-12-07 Hewlett-Packard Development Company, L.P. Web-based imaging service providing manual duplexing
US7145686B2 (en) * 2001-10-31 2006-12-05 Hewlett-Packard Development Company, L.P. Web-based imaging device service influenced by accessories
US20030110209A1 (en) * 2001-12-07 2003-06-12 Loui Alexander C. Method of producing a multimedia media
US20030225894A1 (en) * 2002-03-25 2003-12-04 Tatsuo Ito Image forming apparatus including web service functions
US20040057078A1 (en) * 2002-09-20 2004-03-25 Coffin Roderick Franklin Method and system for printing
EP1435596A1 (de) * 2003-01-02 2004-07-07 Toshiba Corporation System und Verfahren zur Bereitstellung von auf Gebühren basierenden Dataendiensten für mobile Benutzer
US20040193751A1 (en) * 2003-01-02 2004-09-30 Harpreet Singh System and method for providing fee-based data services
JP4444752B2 (ja) * 2003-09-11 2010-03-31 株式会社リコー サービス提供装置、サービス提供プログラム、記録媒体及びサービス提供方法
US20050188056A1 (en) * 2004-02-10 2005-08-25 Nokia Corporation Terminal based device profile web service
US7460262B2 (en) * 2004-09-28 2008-12-02 Hewlett-Packard Development Company, L.P. Altering web service access through a replaceable component
KR100765772B1 (ko) * 2005-11-04 2007-10-15 삼성전자주식회사 자바 애플리케이션의 인증을 위한 클래스 라이브러리풋프린트 파일 및 이를 이용한 인증 방법
US8014608B2 (en) * 2006-03-09 2011-09-06 Lexmark International, Inc. Web-based image extraction
US8570550B2 (en) * 2007-09-11 2013-10-29 Xerox Corporation Method and system for remote management of print devices
US20090066993A1 (en) * 2007-09-11 2009-03-12 Xerox Corporation Remote print device management
US10943030B2 (en) 2008-12-15 2021-03-09 Ibailbonding.Com Securable independent electronic document
US20100302578A1 (en) * 2009-05-28 2010-12-02 Xerox Corporation System and method of remote machine servicing
US20100306056A1 (en) * 2009-05-28 2010-12-02 Xerox Corporation System and method of remote machine servicing
US20110252117A1 (en) * 2010-04-12 2011-10-13 Swee Huat Sng Devices and Methods for Redirecting a Browser to Access Computer Resource Behind a Network Firewall
US10348690B2 (en) * 2016-07-08 2019-07-09 Xattic, Inc. Secure message inoculation
JP6852297B2 (ja) * 2016-07-26 2021-03-31 富士ゼロックス株式会社 システム
US10416940B2 (en) * 2017-03-17 2019-09-17 Ricoh Company, Ltd. Image processing apparatus, image processing system, and image processing method for interpreting content obtained from a web browser and displaying a screen based on the interpreted content
US20230222169A1 (en) * 2022-01-12 2023-07-13 Dell Products L.P. Automated shifting of web pages between different user devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10269039A (ja) * 1997-03-27 1998-10-09 Nec Corp 印刷システム
DE19921120A1 (de) * 1999-05-07 2000-11-16 Oce Printing Systems Gmbh Verfahren und System zum Ausschießen von Druckdaten

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745910A (en) * 1993-05-10 1998-04-28 Apple Computer, Inc. Frame structure which provides an interface between parts of a compound document
US5495561A (en) * 1993-06-21 1996-02-27 Taligent, Inc. Operating system with object-oriented printing interface
JP3873427B2 (ja) * 1998-01-30 2007-01-24 ブラザー工業株式会社 プリンタ制御システムにおける中間ファイルの加工装置及びその制御プログラムが記録された記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10269039A (ja) * 1997-03-27 1998-10-09 Nec Corp 印刷システム
DE19921120A1 (de) * 1999-05-07 2000-11-16 Oce Printing Systems Gmbh Verfahren und System zum Ausschießen von Druckdaten

Also Published As

Publication number Publication date
US20030112460A1 (en) 2003-06-19
US6900905B2 (en) 2005-05-31
DE10236189A1 (de) 2003-02-27

Similar Documents

Publication Publication Date Title
DE10236188B4 (de) Verfahren, System und Programmprodukt zum Bereitstellen eines Inhalts einer Quellwebsite an eine Verbraucherwebsite durch einen Bildumwandlungsdienst
DE10236190B4 (de) Verfahren, System, Programmprodukt und Druckerwebdienst zum Erzeugen eines Druckauftrags zum Drucken eines Dokuments
DE10236189B4 (de) Verfahren, System und Programmprodukt zum Drucker eines Dokuments, das eine Mehrzahl von Seiten aufweist
DE10246689B4 (de) Verfahren und System zum Web-basierten Drucken
DE69610026T2 (de) Verfahren, um Anträge eines Netzbrowsers auszuführen
US6035323A (en) Methods and apparatuses for distributing a collection of digital media over a network with automatic generation of presentable media
DE69802792T2 (de) Verfahren und vorrichtung zur gerätsteuerung
US7191448B2 (en) Web based imaging page redirector system for accessing a redirector reference that directs a browser to a redirector software
DE19704694A1 (de) Verfahren und Vorrichtung zum Steuern eines Peripheriegerätes
DE10236182B4 (de) Verfahren, ein System und ein Programmprodukt zum Drucken eines Dokuments gemäß einer vorbestimmten Druckspezifikation
US20050278421A1 (en) Method for web-based imaging service to redirect to a preferred destination based on a criteria
US20040205493A1 (en) Web based imaging application that creates customized content based on user selections
DE10309241A1 (de) Drucken mit variablen Daten unter Verwendung einer dynamischen Ausschießvorlage
DE10238591B4 (de) System und Verfahren zum Ermöglichen einer Erstellung von Druckkopien
DE10250836A1 (de) System und Verfahren zum Zugreifen auf entfernte Lesezeichenlisten und Verwenden derselben
US6944868B2 (en) Imaging extension API for isolating web content from user resources and services
US7062752B2 (en) Method, system and program product for multi-profile operations and expansive profile operation
EP1760647B1 (de) Verfahren und Anordnung zur Handhabung von Dateien mittels mobiler Endgeräte sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
DE602004004174T2 (de) Vorrichtung, Verfahren und System zur Mitteilung von Informationen in Übereinstimmung mit einem von einer Mehrzahl von Protokollen
DE10250603A1 (de) Verfahren und Systeme zum Herstellen von Broschüren
US20030038839A1 (en) Method for web-based imaging service to redirect to a preferred destination
DE10248442B4 (de) System zum gesteuerten Drucken einer Unterschrift unter Verwendung von webbasierter Bilderzeugung
US20030120768A1 (en) Method for obtaining status of web-based imaging originated processes
US7073131B2 (en) Group composition store
DE69633430T2 (de) Netzwerkkomponentensystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee