DE10236190A1 - Variables Datendrucken mit web-basierter Bilderzeugung - Google Patents

Variables Datendrucken mit web-basierter Bilderzeugung

Info

Publication number
DE10236190A1
DE10236190A1 DE10236190A DE10236190A DE10236190A1 DE 10236190 A1 DE10236190 A1 DE 10236190A1 DE 10236190 A DE10236190 A DE 10236190A DE 10236190 A DE10236190 A DE 10236190A DE 10236190 A1 DE10236190 A1 DE 10236190A1
Authority
DE
Germany
Prior art keywords
graphics
graphic
preprocessed
user
web
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.)
Granted
Application number
DE10236190A
Other languages
English (en)
Other versions
DE10236190B4 (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 Co
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 Co filed Critical Hewlett Packard Co
Publication of DE10236190A1 publication Critical patent/DE10236190A1/de
Application granted granted Critical
Publication of DE10236190B4 publication Critical patent/DE10236190B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1835Transforming generic data
    • G06K15/1836Rasterization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image

Abstract

Ein Verfahren, ein System und ein Programmprodukt zum Drucken, das folgende Schritte aufweist: Empfangen einer Druckbezeichnung zum Drucken eines Dokuments; Empfangen einer Beschreibung von Graphiken, die in dem Dokument enthalten sind; Erhalten einer der Graphiken; Bestimmen, ob eine vorverarbeitete Form der Graphik für eine Wiederverwendung verfügbar ist, und, wenn ja, Wiedergewinnen der verarbeiteten Daten hierfür aus der Vorverarbeitete-Graphiken-Speicherung und Formulieren eines Druckauftrags.

Description

  • Die vorliegende Erfindung bezieht sich allgemein auf ein verbessertes Verfahren, ein System und ein Programmprodukt zum Durchführen von Webbilderzeugungsoperationen und insbesondere auf das Verbessern des Druckerverhaltens.
  • 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®.
  • Das Druckerverhalten wird zu einem bedeutenden Problem, wenn sich die Druckernenngeschwindigkeit erhöht. Idealerweise sollte die Druckmaschine eines Druckers dauerhaft in Betrieb gehalten werden, so daß die Nächste-Seite- Bittabelle rechtzeitig verfügbar ist. Wenn die Nächste- Seite-Bittabelle nicht verfügbar ist, dann wechselt der Drucker in einen Nicht-Druck-Zyklus, wobei das Drucken angehalten wird und eine Abkühlperiode beginnt. Dies verursacht eine inakzeptable Druckverlangsamung.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren, einen Druckerwebdienst und ein Programmprodukt mit verbesserten Charakteristika zu schaffen.
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1, 13, 26, 38, einen Druckerwebdienst gemäß Anspruch 21 und ein Programmprodukt gemäß Anspruch 23 und 42 gelöst.
  • Kurz ausgedrückt weist die vorliegende Erfindung bei einem Ausführungsbeispiel ein Verfahren zum Drucken auf, das folgende Schritte aufweist: Empfangen einer Druckbezeichnung zum Drucken eines Dokuments; Empfangen einer Beschreibung von Graphiken, die in dem Dokument enthalten sind; Erhalten einer der Graphiken; Bestimmen, ob eine vorverarbeitete Form der Graphik für eine erneute Verwendung verfügbar ist, und wenn ja, Wiedergewinnen der verarbeiteten Daten für dieselbe aus der Vorverarbeitete-Graphiken-Speicherung; und Formulieren eines Druckauftrags.
  • Bei einem weiteren Aspekt der vorliegenden Erfindung wird der Schritt bereitgestellt, wenn keine vorverarbeitete Form der Graphik verfügbar ist, und dann wird die Graphik verarbeitet.
  • Bei einem weiteren Aspekt der vorliegenden Erfindung wird der Schritt bereitgestellt, wenn bestimmt wird, daß die vorverarbeitete Form der Graphik nicht für eine erneute Verwendung verfügbar ist, und dann wird basierend auf einem Kriterium bestimmt, ob die neuverarbeitete Graphik in der Vorverarbeitete-Graphiken-Speicherung gespeichert werden sollte; und wenn ja, dann wird die neuverarbeitete Graphik in der Vorverarbeitete-Graphiken-Speicherung gespeichert.
  • Bei einem weiteren Aspekt der vorliegenden Erfindung weisen die Kriterien für den Bestimmungsschritt auf, ob die Graphik in dem Dokument mehr als eine vorbestimmte Anzahl von Malen wiederholt wird.
  • Bei einem weiteren Aspekt der vorliegenden Erfindung weisen die Kriterien für den Bestimmungsschritt auf, ob die Graphik weniger als eine ganze Seite ist.
  • Bei einem weiteren Aspekt der vorliegenden Erfindung weisen die Kriterien für den Bestimmungsschritt das Empfangen einer manuellen Auswahl auf.
  • Bei einem weiteren Aspekt der vorliegenden Erfindung weisen die Kriterien für den Bestimmungsschritt das Empfangen von Metadateninformationen über die erhaltene Graphik auf.
  • Bei einem weiteren Aspekt der vorliegenden Erfindung wird der Schritt des Druckens des Dokuments bereitgestellt.
  • Bei einem weiteren Aspekt der vorliegenden Erfindung weist der Verarbeitungsschritt das Erzeugen einer Bittabelle aus der Graphik auf.
  • Bei einem weiteren Aspekt der vorliegenden Erfindung weist der Schritt des Erhaltens eine Wechselwirkung mit einem Zusammensetzungsspeicherdienst zum Erhalten der Graphik auf.
  • Bei einem weiteren Aspekt der vorliegenden Erfindung weist der Schritt des Erhaltens eine Wechselwirkung mit einem Graphikspeicherdienst zum Erhalten der Graphik auf.
  • Bei einem weiteren Aspekt der vorliegenden Erfindung weist der Schritt des Erhaltens eine Wechselwirkung mit einer Webbilderzeugungserweiterung zum Erhalten der Graphik auf.
  • Bei einem weiteren Ausführungsbeispiel der vorliegenden Erfindung ist ein Verfahren zum schnellen Verarbeiten von Graphiken zum Drucken bereitgestellt, das folgende Schritte aufweist: Bestimmen von Graphiken, die vorverarbeitet und wiederverwendet werden sollen, basierend auf einem Kriterium; Vorverarbeiten der Graphiken; Speichern der vorverarbeiteten Graphiken; Wiedergewinnen ausgewählter, vorverarbeiteter Graphiken; und Formulieren eines Druckauftrags, der die vorverarbeiteten Graphiken umfaßt.
  • Bei einem weiteren Ausführungsbeispiel der vorliegenden Erfindung ist ein Druckerwebdienst zum Drucken bereitgestellt, der folgende Merkmale aufweist: eine Webschnittstelle; einen Drucker; eine erste Komponente zum Empfangen einer Druckbezeichnung von der Webschnittstelle zum Drucken eines Dokuments; eine zweite Komponente zum Erhalten einer Beschreibung von Graphiken, die in dem Dokument enthalten sind; eine dritte Komponente zum Erhalten einer der Graphiken oder einer Bezugnahme auf dieselbe; eine vierte Komponente zum Bestimmen, ob die Graphik bereits vorverarbeitet wurde und für eine Wiederverwendung verfügbar ist, und wenn ja, Wiedergewinnen der verarbeiteten Daten hierfür aus einer Vorverarbeitete-Graphiken-Speicherung, und wenn nein, dann Verarbeiten der Graphik; und eine fünfte Komponente zum Formulieren eines Druckauftrags.
  • Bei einem weiteren Aspekt der vorliegenden Erfindung umfaßt die vierte Komponente eine Komponente, die basierend auf einem Kriterium bestimmt, ob die neuverarbeitete Graphik in der Vorverarbeitete-Graphiken-Speicherung gespeichert werden sollte, wenn bestimmt wird, daß eine vorverarbeitete Form der Graphik für eine Wiederverwendung nicht verfügbar ist; und wenn ja, dann Speichern der neuverarbeiteten Graphik in der Vorverarbeitete-Graphiken-Speicherung.
  • Bei einem weiteren Ausführungsbeispiel der vorliegenden Erfindung ist ein Programmprodukt zum Drucken bereitgestellt, das einen computerlesbaren Programmkode aufweist, um zu verursachen, daß ein Drucker die folgenden Verfahrensschritte durchführt: Empfangen einer Druckbezeichnung zum Drucken eines Dokuments; Empfangen einer Beschreibung von Graphiken, die in dem Dokument enthalten sind; Erhalten einer der Graphiken oder einer Bezugnahme auf dieselbe; Bestimmen, ob eine vorverarbeitete Form der Graphik für eine Wiederverwendung verfügbar ist, und wenn ja, Wiedergewinnen der verarbeiteten Daten hierfür aus der Vorverarbeitete-Graphiken-Speicherung; und Formulieren eines Druckauftrags.
  • Bei einem weiteren Aspekt der vorliegenden Erfindung ist ein Kode bereitgestellt, um zu verursachen, daß das Verfahren den Schritt des nachfolgenden Verarbeitens der Graphik und des Bestimmens durchführt, ob die neuverarbeitete Graphik in der Vorverarbeitete-Graphiken-Speicherung gespeichert werden sollte, basierend auf einem Kriterium, wenn bestimmt wird, daß die vorverarbeitete Form der Graphik nicht für eine Wiederverwendung verfügbar ist; und wenn ja, dann Speichern der neuverarbeiteten Graphik in der Vorverarbeitete-Graphiken-Speicherung.
  • Bei einem wiederum weiteren Ausführungsbeispiel der vorliegenden Erfindung ist ein Verfahren zum Drucken bereitgestellt, das folgende Schritte aufweist: Empfangen einer Druckbezeichnung zum Drucken einer Mehrzahl von Dokumenten; Empfangen einer Beschreibung von Graphiken, die in jedem der Mehrzahl von Dokumente enthalten sind; für jede der Mehrzahl von Graphiken in der Mehrzahl von Dokumenten, Erhalten der Graphik; Bestimmen, ob eine vorverarbeitete Form der erhaltenen Graphik für eine Wiederverwendung verfügbar war, und wenn ja, Wiedergewinnen der verarbeiteten Daten hierfür aus der Vorverarbeitete-Graphiken-Speicherung; und Formulieren eines Druckauftrags.
  • Bei einem wiederum weiteren Aspekt der vorliegenden Erfindung wird ein nachfolgendes Verarbeiten der Graphik durchgeführt, wenn bestimmt wird, daß keine vorverarbeitete Form der erhaltenen Graphik für eine Wiederverwendung verfügbar ist.
  • Bei einem wiederum weiteren Aspekt der vorliegenden Erfindung wird der Schritt des nachfolgenden Bestimmens basierend auf einem Kriterium bereitgestellt, ob die neuverarbeitete Graphik in der Vorverarbeitete-Graphiken- Speicherung gespeichert werden sollte, wenn bestimmt wird, daß die vorverarbeitete Form der Graphik nicht für eine Wiederverwendung verfügbar ist; und wenn ja, dann Speichern der neuverarbeiteten Graphik in der Vorverarbeitete- Graphiken-Speicherung.
  • Bei einem wiederum weiteren Ausführungsbeispiel der vorliegenden Erfindung ist ein Verfahren zum schnellen Verarbeiten von Graphiken zum Drucken einer Mehrzahl von Druckaufträgen bereitgestellt, das folgende Merkmale aufweist: Bestimmen von Graphiken, die in der Mehrzahl von Druckaufträgen vorverarbeitet werden sollen, basierend auf einem Kriterium; Vorverarbeiten der bestimmten Graphiken; Speichern der vorverarbeiteten Graphiken; Wiedergewinnen ausgewählter, vorverarbeiteter Graphiken; und Formulieren einer Mehrzahl von Druckaufträgen, die die vorverarbeiteten Graphiken umfassen.
  • Bei einem wiederum weiteren Ausführungsbeispiel der vorliegenden Erfindung ist ein System zum Drucken bereitgestellt, das folgende Merkmale aufweist: eine Komponente zum Empfangen einer Druckbezeichnung zum Drucken einer Mehrzahl von Dokumenten; eine Komponente zum Empfangen einer Beschreibung von Graphiken, die in jedem der Mehrzahl von Dokumente enthalten sind; eine Komponente zum Erhalten der Graphik für jede einer Mehrzahl von Graphiken in der Mehrzahl von Dokumenten; eine Komponente zum Bestimmen, ob eine vorverarbeitete Form der erhaltenen Graphik für eine Wiederverwendung verfügbar war, und wenn ja, Wiedergewinnen der verarbeiteten Daten hierfür aus der Vorverarbeitete-Graphiken- Speicherung; und eine Komponente zum Formulieren eines Druckauftrags.
  • Bei einem wiederum weiteren Ausführungsbeispiel der vorliegenden Erfindung ist ein Programmprodukt zum Drucken bereitgestellt, das einen computerlesbaren Kode aufweist, um zu verursachen, daß ein System die folgenden Verfahrensschritte durchführt: Empfangen einer Druckbezeichnung zum Drucken einer Mehrzahl von Dokumenten; Empfangen einer Beschreibung von Graphiken, die in jedem der Mehrzahl von Dokumenten enthalten sind; für jede einer Mehrzahl der Graphiken in der Mehrzahl von Dokumenten, Erhalten der Graphik; Bestimmen, ob eine vorverarbeitete Form der erhaltenen Graphik für eine Wiederverwendung verfügbar war, und wenn ja, Wiedergewinnen der verarbeiteten Daten hierfür aus der Vorverarbeitete-Graphiken-Speicherung; und Formulieren eines Druckauftrags.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • Fig. 1 ein Diagramm des Aufbaus eines Klientenserver- Netzwerksystems, in dem die vorliegende Erfindung implementiert werden kann;
  • Fig. 2 ein Diagramm des Aufbaus des Klientenserver- Netzwerksystems von Fig. 1, wobei der Bilderzeugungsklient außerhalb einer Brandmauer gezeigt ist;
  • Fig. 3 ein Diagramm des Aufbaus eines zweiten Klientenserver-Netzwerksystems, in dem die vorliegende Erfindung implementiert werden kann;
  • Fig. 4 ein Diagramm des Aufbaus des Klientenserver- Netzwerksystems von Fig. 3, wobei der Bilderzeugungsklient außerhalb einer Brandmauer gezeigt ist;
  • Fig. 5 ein Diagramm des Aufbaus des Klientenservernetzwerks unter Verwendung eines gemeinschaftlich verwendeten oder Gruppenzusammensetzungs- Speichers und Graphikspeichers;
  • Fig. 6A und 6B ein Flußdiagramm, das die bevorzugte Funktionalität des Übertragungsverfahrens der vorliegenden Erfindung darstellt.
  • Fig. 7 ein Flußdiagramm, das die bevorzugte Funktionalität zum Auswählen eines Profils über Fig. 6 darstellt.
  • Fig. 8 ein schematisches Diagramm, das die Operation der Erfindung für ein Beispiel auf einer sehr hohen Ebene darstellt.
  • Fig. 9 ein Diagramm des Aufbaus eines beispielhaften Bilderzeugungsklienten.
  • Fig. 10 ein schematisches Blockdiagramm eines Ausführungsbeispiels eines Graphikspeichers.
  • Fig. 11 ein schematisches Blockdiagramm eines zweiten Ausführungsbeispiels eines Graphikspeichers.
  • Fig. 12 ein schematisches Blockdiagramm eines bevorzugten Ausführungsbeispiels zum Verbessern des Druckerverhaltens unter Verwendung einer Vorverarbeitung von Graphiken.
  • Fig. 13 ein schematisches Blockdiagramm eines Ausführungsbeispiels zum Verarbeiten einer Mehrzahl von Dokumenten unter Verwendung einer Vorverarbeitung von Graphiken.
  • Fig. 14 ein schematisches Blockdiagramm eines alternativen Ausführungsbeispiels zum Verarbeiten einer Mehrzahl von Dokumenten unter Verwendung einer Vorverarbeitung von Graphiken.
  • 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 Programmatikverfahren, 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 "BaseConversion-API.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 BaseConversionAPI.class 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 Benutzerprofilspeicher, 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 (canvas = ein Satz von Bilddaten, der für eine einzelne Seite bestimmt ist). Sie beschreibt ferner, wie eine oder mehrere Graphiken aus einer oder mehreren Quellen auf einer Sequenz von Seitenbilddaten auf eine Vielzahl von unterschiedlichen Wegen kombiniert 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 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 zugeordneten 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 Webseiten), 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 nicht- standardmäß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 Informationsinhalts 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. einen 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 Fig. 1 gezeigt.
  • Die vorliegende Erfindung bezieht sich bei einem Aspekt auf das Implementieren des Konzepts, 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 Fig. 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 Fig. 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 Fig. 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 Fig. 1 gezeigt ist. In Fig. 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 Fig. 1 umfaßt das interne Benutzerprofil 64 eine Bezugnahme 67 auf einen Standardzusammensetzungsspeicher 62 auf einem separaten Speicher 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ührungsbeispielen 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 Fig. 1 ferner die Bezugnahme 26 auf das externe Benutzerprofil 74 gezeigt. In Fig. 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 Bilderzeugungsklientenmaschineninformationen 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 implementiert 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, Standardzusammensetzungsspeicher 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 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 Fig. 9 gezeigt. Fig. 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 Speicherungsbereich 916 und Eingangs-/Ausgangs-(I/O)Tor(e) 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 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 Fig. 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
    Performaperation(Parameter, SessionID id): sendet Boolesch 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 Performaperation (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 Bilderzeugungserweiterungs-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änkung 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 erhalten. 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 gelieferte 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 Fig. 10)
    • 1. Eine Speicherung 1010 zum Speicher von Graphikdateien;
    • 2. eine programmatische 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 Fig. 11)
    • 1. Programmatische 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 Fig. 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 umwandelt 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. Bildunterlage) 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. Bildunterlage) der Graphik in einem Graphikformat, in dem die Seite (d. h. Bildunterlage) 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ß denselben Graphikspeicher 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 Benutzers 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 Fig. 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&user-=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 an 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 Positionsinformations-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:


  • 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

    ii. Zusammensetzungsspeicherdienst-API



    iii. Graphikspeicherdienst-API

    / / ANMERKUNG: Jede Seite ist eine einzelne Graphik (dies ist eine Entwurfsentscheidung, die beim Erzeugen dieser APIs getroffen wurde)


    / / ANMERKUNG: Fig. 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.

    b. Bilderzeugungserweiterungs-API

    / / 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.


    / / 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.)


    / / 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.)


    / / ANMERKUNG: Jede Seite ist eine einzelne Graphik (dies ist eine Entwurfsentscheidung, die beim Erzeugen dieser APIs getroffen wurde)


    / / erzeugt höchstens eine Graphik aus den Graphikdaten


    / / erzeugt eine oder mehrere Graphiken aus den Graphikdaten


    / / ANMERKUNG: Fig. 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.


  • 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).

    b. Implementierung ausgewählter Verfahren der Bilderzeugungserweiterungs-API i. GetReferenceToPreferredImagingHomeDestination

    / / 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.


    / / Anmerkung: Der nachfolgende Pseudocode erhält eine Bezugnahme auf den Benutzerprofilspeicher unter Verwendung eines privaten Verfahrens, das die Identität des Benutzerprofilspeichers "UserProfileStore" von der Benutzeridentität erhält.


    / / Anmerkung: Der nachfolgende Pseudocode ruft ein "OpenSession"-(ö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.


    / / 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).


    / / 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.


    / / Anmerkung: Der nachfolgende Pseudocode beendet die Kommunikation mit dem Benutzerprofilspeicher.


    / / Anmerkung: Der nachfolgende Pseudocode sendet die undurchsichtige Bezugnahme zurück.


    ii. BrowseToPreferredDestination

    / / Der nachfolgende Pseudocode ist ein privates Verfahren, nicht freiliegend als Teil der Bilderzeugungserweiterungs-API, die eine undurchsichtige Bezugnahme in einen URL umwandelt.


    / / Das nachfolgende ist ein Verfahren, das den Browser zu einem Zielort umleitet, dem ein URL gegeben wurde


    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 (PreferredPrintNowDestination, 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 (Print-ActionContext). Diese Verfahren verwenden die Argumente "userProfileStoreSession" und "uRLpreferred . . ." oder "print-ActionCriteria". Ü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 "GetPrintAction-Criteria" 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 Preferred-PrintNowDestination (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 GetPrint-ActionDestinationUsingCriteriaAndContext (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 GetDestinationUsingPrintActionCriteriaAnd-Context 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 PrintAction-Criteria 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 GetDestinationUsingPrintActionCriteriaAnd-Context 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, PreferredPrinter-Destination, 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 "PrintAction-Criteria" verwenden. Außerdem umfaßt ist ein Verfahren zum Erhalten (Get) "Sessions, PrintActionDestination-Preference". Die SetPrintActionDestinationPreference ist der Standardzielort, der verwendet wird, wenn keine PreferredprinterList oder kein PreferredPrinter oder kein Preferred-PrintNow 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 "GetPrintActionDestination-Preference" unter Verwendung des Arguments "Session", um die PrintActionDestinationPreference zu erhalten.
  • Bezug nehmend nun auf Fig. 2 ist die gleiche Konfiguration gezeigt wie in Fig. 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 Fig. 3 ist eine unterschiedliche Konfiguration der vorliegenden Erfindung bereitgestellt. Gleich numerierte Blöcke haben die gleiche Bedeutung wie in Fig. 1 und 2. Bei dieser Konfiguration umfaßt der Bilderzeugungsklient 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 Beispiels 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 Fig. 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.
  • Fig. 4 zeigt die gleiche Konfiguration wie in Fig. 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 Fig. 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 Fig. 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 Fig. 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 Zusammensetzungsspeichern, 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 verfü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 Erfinder 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, wenn der Bilderzeugungsklient für einen gegebenen Benutzer außerhalb der Brandmauer liegt.
  • Bezug nehmend nun auf Fig. 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 Fig. 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 Fig. 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 service" (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 Graphikformate 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 gesamt 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 det 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 Fig. 7 sind Details für eine Beispielimplementierung von Block 602 in Fig. 6 offenbart. In Fig. 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 Kriterien 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 Fig. 7 beschriebene Prozeß kann ferner für den Webinhalt durch die Bilderzeugungserweiterung durchgeführt werden.
  • Bezug nehmend nun auf Fig. 8 ist ein schematisches Beispiel der Operation der vorliegenden Erfindung zum Erzeugen, Adressieren und Stempeln eines Umschlags gezeigt. Fig. 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 12 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 gemacht wurde umfaßt die bevorzugte Implementierung wahrscheinlich viele Servermaschinen, auf die die Klientenmaschine Zugriff hat, und mit der dieselbe kommunizieren kann. Für jede ein besseres Leseverhalten wurde manchmal auf "eine" Klientenmaschine oder Servermaschine Bezug genommen. Es sollte jedoch darauf hingewiesen werden, daß die Verwendung von "eine" sich ebenfalls auf "eine oder mehrere" bezieht.
  • Ein anderer wichtiger Aspekt der vorliegenden Erfindung bezieht sich auf das Verbessern des Druckerverhaltens. Das Druckerverhalten wird zu einem bedeutenden Problem, wenn sich die Nenngeschwindigkeit des Druckers erhöht. Idealerweise sollte die Druckmaschine eines Druckers dauerhaft in Betrieb gehalten werden, so daß die Nächste-Seite- Bittabelle rechtzeitig verfügbar ist. Wenn die Nächste- Seite-Bittabelle nicht verfügbar ist, dann wechselt der Drucker in einen Nicht-Druck-Zyklus, in dem das Drucken anhält und eine Abkühlperiode beginnt. Dies verursacht eine inakzeptable Druckverlangsamung.
  • Bezug nehmend nun auf Fig. 12 sind Verfahrensschritte zum Durchführen einer Druckoperation unter Verwendung vorverarbeiteter Graphiken offenbart. Ein derartiges Verfahren ermöglicht das Erzeugen von Zusammensetzungen, die aus geschichteten Graphiken und Inhalt/Graphiken aus mehreren Quellen aufgebaut sind, ohne in Betracht zu ziehen, ob der Verbraucherwebdienst derartige Zusammensetzungen handhaben kann oder nicht. Geschichtete Graphiken sind nur einzelne, graphische Elemente, die logisch in eine spezifische Reihenfolge gezogen werden, die sich durch die Schichtung ergibt. Jene graphischen Elemente auf der unteren Schicht werden zuerst abgezogen; jene graphischen Elemente auf dem oberen Element werden zuletzt abgezogen. Die einzelnen graphischen Elemente können sich überlappen oder nicht, und das Ergebnis des Überlappens kann variieren. Graphische Elemente, die andere graphische Elemente überlappen können undurchsichtig sein und somit die darunterliegenden graphischen Elemente verdecken. Alternativ kann das überlagernde graphische Element vollständig oder teilweise transparent sein. Es besteht eine Anzahl von anderen Möglichkeiten. Jene Verbraucherdienste, die Inhalt einzeln handhaben können sind dazu berechtigt; jene, die nicht dazu in der Lage sind, können sich auf die Webbilderzeugung zum Kombinieren der Zusammensetzung verlassen.
  • Bezug nehmend auf Fig. 12 kann ein Prozessor an einem Druckerdienst oder anderswo bei Block 1400 eine Bezeichnung zum Drucken eines Dokuments empfangen. Üblicherweise wird diese Bezeichnung von einem Browser unter der Steuerung von Webinhalt empfangen, der von dem Druckerdienst stammt. Bei diesem Szenario hat ein Benutzer auf eine Taste geklickt oder anderweitig eine Anzeige auf einer graphischen Schnittstelle durchgeführt, die durch den Webinhalt geliefert wird, und anzeigt, daß er/sie ein Dokument drucken möchte.
  • Das Verfahren bewegt sich dann zu Block 1410, wo eine Beschreibung der Graphiken empfangen wird, die in dem Dokument enthalten sind. Diese Beschreibung kann beispielsweise aber nicht einschränkend in PPML, VPS oder einer bestimmten anderen geeigneten, beschreibenden Information sein und kann von jeglicher geeigneten Quelle auf dem Web oder auf dem Netzwerk oder durch Handladen erhalten werden. In dem Kontext der Web-basierten Bilderzeugungs-API kann die Beschreibung durch Zugreifen auf eine Zusammensetzung in einem Zusammensetzungsspeicher empfangen werden, wie vorangehend beschrieben wurde. Der Zugriff auf die Zusammensetzung wird durch den Webinhalt über das Benutzerprofil mit der vorangehend beschriebenen Bilderzeugungserweiterung erhalten, die dann eine undurchsichtige Bezugnahme liefert.
  • Das Verfahren bewegt sich dann zu Block 1420, wo eine der Graphiken in dem zu druckenden Dokument erhalten wird oder eine Bezugnahme auf dieselbe erhalten werden kann. Die Graphik kann wiederum durch Handladen oder Zugreifen auf das Web oder ein anderes Netzwerk erhalten werden. In dem Kontext von Web-basierter Bilderzeugung wird die Graphik durch Erhalten einer direkten und undurchsichtigen Bezugnahme auf die Graphik von der Zusammensetzung erhalten, auf die zugegriffen wurde, die bei Block 1410 erhalten wurde, und durch nachfolgendes Erhalten der entsprechenden Graphik. Die APIs in der Zusammensetzungsspeicher-API zum Erhalten der Graphik sind "GetCompositions(CompositionStoreSession)", um die gewünschte Zusammensetzung zu erhalten und "GetElementsInComposition(CompositionStoreSession, URL composition)", um die Elemente für die Graphik zu erhalten. Das Verfahren GetElementsInComposition sendet eine Liste von verfügbaren Elementen zurück. Die zurückgesendeten Elemente stellen die Plazierung einer bestimmten Graphik innerhalb der Zusammensetzung dar. Für jedes Element kann die zugeordnete Graphik unter Verwendung des Verfahrens "GetGraphicCorrespondingToElementInComposition (CompositionStoreSession, URL composition, URL element)" erhalten werden. Diese Funktion, wie der Name andeutet, sendet die Graphik zurück, die einem bestimmten Element in einer bestimmten Zusammensetzung zugeordnet ist.
  • Auf ähnliche Weise sind die geeigneten Beispiel-APIs in der Bilderzeugungserweiterungs-API GetCompositions, GetElements-InComposition und GetGraphicCorrespondingToElementComposition.
  • Das Verfahren bewegt sich dann zu Block 1430, wo bestimmt wird, ob die Graphik vorverarbeitet wurde und für eine nachfolgende Verwendung verfügbar ist. Mittels eines Beispiels könnte die Vorverarbeitung jegliche vorbereitende Verarbeitung sein, um das Drucken zu ermöglichen. Bei einem bevorzugten Ausführungsbeispiel weist das Vorverarbeiten das Erzeugen einer Bittabelle für die Graphik auf. Bei einem weiteren Aspekt des bevorzugten Ausführungsbeispiels kann die Bittabelle dann komprimiert werden, um eine Reduzierung der notwendigen Speicherung zu ermöglichen. Die verarbeiteten Daten für die Graphik werden dann in einer geeigneten, lokalen oder verteilten Netzwerk-Vorverarbeitungsspeicherung gespeichert.
  • Wenn die Antwort für die Bestimmung von Block 1430 JA ist, d. h., daß eine vorverarbeitete Version dieser Graphik in der Speicherung gehalten wird, dann werden die verarbeiteten Daten für die Graphik aus der Vorverarbeitungsspeicherung bei Block 1440 wiedergewonnen.
  • Alternativ, wenn die Bestimmung bei Block 1420 NEIN ist, d. h., daß die gewünschten, verarbeiteten Daten nicht in der vorverarbeiteten Speicherung für diese Graphik existieren, dann bewegt sich das Verfahren zu Block 1450. Bei Block 1450 wird die Graphik wie oben beschrieben verarbeitet oder mit jeglicher anderen gewünschten Verarbeitung.
  • Das Verfahren bewegt sich dann zu Block 1452, wo basierend auf einem Kriterium bestimmt wird, ob die verarbeiteten Daten in der Vorverarbeitungsspeicherung gespeichert werden sollten. Bei dem einfachsten Beispiel kann das Kriterium sein, daß die verarbeiteten Daten von allen neuverarbeiteten Graphiken in der vorverarbeiteten Speicherung gespeichert werden sollen. Alternativ könnte das Kriterium sein, daß die vorverarbeiteten Daten gespeichert werden, wenn die Anzahl von Malen, die die Graphik in dem zu druckenden Dokument vorhanden ist eine vorbestimmte Anzahl überschreitet, zum Beispiel 1, so daß alle Graphiken, die mindestens zweimal in dem Dokument wiederholt werden, in der Vorverarbeitungsspeicherung gespeichert werden. Alternativ könnte das Kriterium sein, daß die verarbeiteten Daten für die Graphik in der Vorverarbeitungsspeicherung gespeichert werden, wenn die Graphik weniger als eine ganze Seite in dem Dokument abdeckt. Alternativ könnte das Kriterium eine manuelle Auswahl durch einen Benutzer sein, daß die verarbeiteten Daten für die Graphik in der Vorverarbeitungsspeicherung gespeichert werden sollen. Alternativ könnte das Kriterium das Erfassen eines Metadatenetiketts mit der Graphik sein, das anzeigt, daß die verarbeiteten Daten hierfür in der vorverarbeiteten Speicherung gespeichert werden sollen.
  • Wenn die Antwort bei Block 1452 JA ist, d. h., daß das Kriterium erfüllt wurde, dann fährt das Verfahren mit Block 1454 fort, wo die verarbeiteten Daten für die bestimmte Graphik in der vorverarbeiteten Speicherung gespeichert werden.
  • Das Verfahren springt dann von Block 1452 oder 1454 zu Block 1460, wo bestimmt wird, ob zusätzliche Graphiken in dem Dokument vorhanden sind. Wenn die Antwort JA ist, dann fährt das Verfahren mit Block 1470 fort, wo eine unterschiedliche Graphik in dem zu druckenden Dokument bezeichnet wird. Das Verfahren kehrt dann zu Block 1420 zurück, wo die neu bezeichnete Graphik erhalten wird, und der Prozeß wird wiederholt.
  • Wenn die Antwort bei Block 1460 NEIN ist, d. h., daß keine Graphiken mehr überprüft werden müssen, dann bewegt sich das Verfahren zu Block 1480, wo ein Druckauftrag formuliert wird. Dann fährt das Verfahren mit Block 1490 fort, wo das Dokument gedruckt wird.
  • Dementsprechend ist ersichtlich, daß die Geschwindigkeit des Verarbeitens für Bilderzeugungsinformationen, die aus einer oder mehreren Zusammensetzungen zusammengesetzt sind, die aus Seiten gebildet sind, die die Graphik wiederverwenden, erhöht werden kann. Graphiken in der Zusammensetzung können auf die gleiche Seite abgebildet werden wie andere Graphiken (geschichtet) und/oder individuell wiederverwendet und für ein schnelleres Druckverhalten vorverarbeitet/voraufbereitet werden. Alternativ kann auf die Graphiken durch Web-basierte Bilderzeugung zugegriffen werden, was Schnittstellen liefert, durch die Benutzer Inhalt/Graphiken einzeln auf eine zusammengesetzte Weise erhalten können.
  • Dementsprechend können Vorrichtungen, die programmiert oder anderweitig in der Lage sind, dieses flexible Druckmodell zu verwenden, individuelle Graphiken und vorverarbeitete Graphiken zum Formulieren eines Druckauftrags erhalten. Dies gilt sowohl für Vorrichtungen, die in der Lage sind, geschichtete Graphiken vorzuverarbeiten, sowie für Vorrichtungen, die nur in der Lage sind, individuelle Seiten zu verarbeiten. Vorrichtungen, die nicht in der Lage sind Graphiken individuell zu verarbeiten, können sich auf Webbasierte Bilderzeugung verlassen, um Inhalt in eine einheitliche Form zu kombinieren, die für eine Verwendung geeignet ist.
  • Bei einem weiteren Aspekt der vorliegenden Erfindung, gezeigt in Fig. 13, kann das Verfahren von Fig. 12 angepaßt sein, um mit einer Mehrzahl von Dokumenten/Druckaufträgen oder mit einer Datenbank zu arbeiten. Bezug nehmend auf Fig. 13 wird eine Bezeichnung empfangen, das eine Mehrzahl von Dokumenten bei Block 1700 gedruckt werden sollen. Diese Bezeichnung könnte von einem Browser unter der Steuerung eines Webinhalts empfangen werden, der von einem Druckerdienst stammt. Bei diesen Szenario hat ein Benutzer üblicherweise auf eine Taste geklickt oder anderweitig eine Anzeige auf einer graphischen Schnittstelle gemacht, die durch den Webinhalt geliefert wird, daß er/sie eine Mehrzahl von Dokumenten drucken möchte. Alternativ kann eine derartige Liste von Bezugnahmen auf Zusammensetzungen auf jegliche andere geeignete Weise empfangen werden.
  • Das Verfahren fährt dann mit Block 1702 fort, wo Beschreibungen für alle oder eine Mehrzahl von Graphiken, die in der Mehrzahl von Druckaufträgen enthalten sind, erhalten werden. Diese Beschreibung weist beispielsweise aber nicht einschränkend beschreibende PPML- oder VPS-Informationen oder bestimmte andere, geeignete, beschreibende Informationen auf. Diese Informationen können von jeglicher geeigneten Quelle auf einem Netzwerk oder einem anderen Ort oder durch Handladen erhalten werden. In dem Kontext der Webbasierten Bilderzeugung kann die Beschreibung durch Zugreifen auf eine Zusammensetzung in einem Zusammensetzungsspeicher empfangen werden, wie vorangehend beschrieben wurde. Der Zugriff auf die Zusammensetzung wird durch den Webinhalt über das Benutzerprofil mit der vorangehend beschriebenen Bilderzeugungserweiterung erhalten, die dann eine undurchsichtige Bezugnahme bereitstellen kann.
  • Bei einem bevorzugten Ausführungsbeispiel weist der Block 1702 die Blöcke 1704, 1706 und 1708 auf. Der Block 1704 weist die Operation des Empfangens einer Bezeichnung eines Dokuments/Druckauftrags in der Mehrzahl von Druckaufträgen auf. Das Verfahren fährt dann mit Block 1706 fort, wo eine Beschreibung der Graphiken in dem bezeichneten Druckauftrag empfangen wird, wie oben erörtert wurde. Das Verfahren fährt dann mit Block 1708 fort, wo bestimmt wird, ob zusätzliche Druckaufträge in der Mehrzahl von Druckaufträgen vorhanden sind, für die eine Beschreibung der Graphiken daher nicht empfangen wurde. Wenn die Antwort JA ist, dann fährt das Verfahren mit Block 1704 fort, wo ein anderes Dokument/Druckauftrag ausgewählt wird, das noch keine Beschreibung der Graphiken in denselben in dem System aufweist. Wenn die Antwort NEIN ist, d. h. daß die Beschreibungen aller Graphiken in einer Mehrzahl von Druckaufträgen empfangen wurden, dann fährt das Verfahren mit Block 1720 fort.
  • Bezug nehmend auf Block 1720 arbeitet dieser Block, um die Daten für eine der Graphiken zu erhalten, auf dieselbe Weise wie es für Block 1420 von Fig. 12 beschrieben wurde. Die Blöcke 1730, 1740, 1750, 1760, 1770, 1780 und 1790 können auf die gleiche Weise arbeiten, wie für die vergleichbaren Blöcke in Fig. 14 beschrieben wurde.
  • Bei einem alternativen Ausführungsbeispiel, das in Fig. 14 gezeigt ist, könnte jede Graphik wie in Fig. 12 erhalten und verarbeitet werden, anstelle anfänglich die Beschreibungen für alle Graphiken in jedem der Mehrzahl von Druckaufträgen zu erhalten. In dieser Hinsicht arbeiten Blöcke 1800, 1810, 1820, 1830, 1840, 1850, 1860, 1854 und 1870 Bezug nehmend auf Fig. 14 auf eine ähnliche Weise wie die Blöcke mit den gleichen Bezeichnungen der letzten zwei Stellen in Fig. 12. Um eine Bestimmung zu ermöglichen, ob eine Graphik in einer Sequenz oder einem Satz von Dokumenten oder Druckaufträgen oder einer Datenbank wiederholt wird, kann eine bestimmte Form eines temporären oder anderen Speichers verwendet werden, um die verarbeiteten Daten zu halten, bis zumindest eine Beschreibung von allen Graphiken, die in den anderen Dokumenten, Druckaufträgen oder der Datenbank enthalten sind, empfangen und analysiert sind, um Graphiken, die sich wiederholen, und die Anzahl von Wiederholungen zu identifizieren. Dementsprechend, Bezug nehmend auf Fig. 14, liefert Block 1852 Zugriff auf eine derartige temporäre Speicherung, bis das System bestimmt hat, welche Graphiken sich um die vorbestimmte Anzahl von Malen wiederholen.
  • Ein zusätzlicher Block 1892 ist ferner bereitgestellt. Block 1892 bestimmt, ob zusätzliche Druckaufträge verarbeitet werden sollen. Wenn die Antwort JA ist, d. h., daß zusätzliche Druckaufträge verarbeitet werden sollen, dann fährt das Verfahren mit Block 1800 fort, um den nächsten zu verarbeiteten Druckauftrag auszuwählen. Wenn die Antwort NEIN ist, d. h., daß alle Druckaufträge in der Mehrzahl derselben verarbeitet wurden, dann endet das Verfahren.
  • Es ist somit ersichtlich, daß ein alternatives Kriterium zum Speichern der vorverarbeiteten Daten in der Vorverarbeitungsspeicherung ist, ob die Anzahl von Malen, die die Graphik in einer Sequenz oder einem Satz von Dokumenten, Druckaufträgen oder einer Datenbank wiederholt wird eine vorbestimmte Anzahl überschreitet, zum Beispiel 1, so daß alle Dokumente, die in der Sequenz oder dem Satz von Dokumenten, Druckaufträgen oder der Datenbank mindestens zweimal wiederholt werden in der Verarbeitungsspeicherung gespeichert werden.
  • Es sollte darauf hingewiesen werden, daß obwohl die Flußdiagramme, die hierin bereitgestellt sind, eine spezifische Reihenfolge darstellen, es offensichtlich ist, daß die Reihenfolge dieser Schritte von dem abweichen kann, was dargestellt ist. Ferner können zwei oder mehrere Schritte gleichzeitig oder teilweise gleichzeitig durchgeführt werden. Eine derartige Variation hängt von den ausgewählten Software- und Hardware-Systemen und im allgemeinen von der Entwerferauswahl ab. 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, durch eine hartverdrahtete Vorrichtung oder manuell ausgeführt oder implementiert werden können. 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 sein können. Obwohl die Verwendung einer Bilderzeugungserweiterung bevorzugt wird, um eine Schnittstelle zwischen einem Webinhalt und Bilderzeugungssystemressourcen zu liefern, können zum Beispiel viele Aspekte der vorliegenden Erfindung ohne die Verwendung einer Bilderzeugungserweiterung implementiert sein.

Claims (42)

1. Verfahren zum Drucken, das folgende Schritte aufweist:
Empfangen einer Druckbezeichnung zum Drucken eines Dokuments;
Empfangen einer Beschreibung von Graphiken, die in dem Dokument enthalten sind;
Erhalten einer der Graphiken;
Bestimmen, ob eine vorverarbeitete Form der Graphik für eine Wiederverwendung verfügbar ist, und wenn ja, Wiedergewinnen der verarbeiteten Daten hierfür aus einer Vorverarbeitete-Graphiken-Speicherung; und
Formulieren eines Druckauftrags.
2. Verfahren gemäß Anspruch 1, das ferner den Schritt des Verarbeitens der Graphik aufweist, wenn keine vorverarbeitete Form der Graphik verfügbar ist.
3. Verfahren gemäß Anspruch 2, das ferner den Schritt des Bestimmens basierend auf einem Kriterium aufweist, ob die neuverarbeitete Graphik in der Vorverarbeitete- Graphiken-Speicherung gespeichert werden sollte, wenn bestimmt wird, daß die vorverarbeitete Form der Graphik nicht für eine Wiederverwendung verfügbar ist; und wenn ja, Speichern der neuverarbeiteten Graphik in der Vorverarbeitete-Graphiken-Speicherung.
4. Verfahren gemäß Anspruch 3, bei dem das Kriterium für den Bestimmungsschritt aufweist, ob die Graphik mehr als eine vorbestimmte Anzahl von Malen in dem Dokument wiederholt wird.
5. Verfahren gemäß Anspruch 3 oder 4, bei dem das Kriterium für den Bestimmungsschritt aufweist, ob die Graphik weniger als eine gesamte Seite ist.
6. Verfahren gemäß einem der Ansprüche 3 bis 5, bei dem das Kriterium für den Bestimmungsschritt das Empfangen einer manuellen Auswahl aufweist.
7. Verfahren gemäß einem der Ansprüche 3 bis 6, bei dem das Kriterium für den Bestimmungsschritt das Empfangen von Metadateninformationen über die erhaltene Graphik aufweist.
8. Verfahren gemäß einem der Ansprüche 1 bis 7, das ferner den Schritt des Druckens des Dokuments aufweist.
9. Verfahren gemäß einem der Ansprüche 2 bis 8, bei dem der Verarbeitungsschritt das Erzeugen einer Bittabelle aus der Graphik aufweist.
10. Verfahren gemäß einem der Ansprüche 1 bis 9, bei dem der Schritt des Erhaltens eine Wechselwirkung mit einem Zusammensetzungsspeicherdienst aufweist, um die Graphik zu erhalten.
11. Verfahren gemäß einem der Ansprüche 1 bis 10, bei dem der Schritt des Erhaltens eine Wechselwirkung mit einem Graphikspeicherdienst aufweist, um die Graphik zu erhalten.
12. Verfahren gemäß einem der Ansprüche 1 bis 11, bei dem der Schritt des Erhaltes eine Wechselwirkung mit einer Webbilderzeugungserweiterung aufweist, um die Graphik zu erhalten.
13. Verfahren zum schnellen Verarbeiten von Graphiken zum Drucken, das folgende Schritte aufweist:
Bestimmen von Graphiken, die vorverarbeitet und wiederverwendet werden sollen, basierend auf einem Kriterium;
Vorverarbeiten der Graphiken;
Speichern der vorverarbeiteten Graphiken;
Wiedergewinnen ausgewählter vorverarbeiteter Graphiken; und
Formulieren eines Druckauftrags, der die vorverarbeiteten Graphiken umfaßt.
14. Verfahren gemäß Anspruch 13, bei dem das Kriterium für den Bestimmungsschritt aufweist, ob die Graphik mehr als eine vorbestimmte Anzahl von Malen wiederholt wird.
15. Verfahren gemäß Anspruch 13 oder 14, bei dem das Kriterium für den Bestimmungsschritt aufweist, ob die Graphik weniger als eine ganze Seite ist.
16. Verfahren gemäß einem der Ansprüche 13 bis 15, bei dem das Kriterium für den Bestimmungsschritt aufweist, ob die Graphik über eine Mehrzahl von zu druckenden Dokumenten wiederholt wird.
17. Verfahren gemäß einem der Ansprüche 13 bis 16, bei dem das Kriterium für den Bestimmungsschritt das Empfangen einer manuellen Auswahl aufweist.
18. Verfahren gemäß einem der Ansprüche 13 bis 17, bei dem das Kriterium für den Bestimmungsschritt das Empfangen von Metadateninformationen über die erhaltene Graphik aufweist.
19. Verfahren gemäß einem der Ansprüche 13 bis 18, bei dem der Vorverarbeitungsschritt das Erzeugen einer Bittabelle aus dem Inhalt aufweist.
20. Verfahren gemäß Anspruch 19, bei dem das Vorverarbeiten das Komprimieren der Bittabelle aufweist.
21. Druckerwebdienst zum Drucken, der folgende Merkmale aufweist:
eine Webschnittstelle (16);
einen Drucker;
eine erste Komponente (1400, 1700, 1800) zum Empfangen einer Druckbezeichnung von der Webschnittstelle zum Drucken eines Dokuments;
eine zweite Komponente (1410, 1702, 1810) zum Erhalten einer Beschreibung der Graphiken, die in dem Dokument enthalten sind;
eine dritte Komponente (1420, 1720, 1820) zum Erhalten einer der Graphiken oder eine Bezugnahme auf dieselbe;
eine vierte Komponente (1430, 1440, 1450, 1730, 1740, 1750, 1830, 1840, 1850) zum Bestimmen, ob die Graphik bereits vorverarbeitet und verfügbar für eine Wiederverwendung ist, und wenn ja, Wiedergewinnen der verarbeiteten Daten hierfür von einer Vorverarbeitete- Graphiken-Speicherung, und wenn nein, Verarbeiten der Graphik; und
eine fünfte Komponente (1480, 1780, 1880) zum Formulieren eines Druckauftrags.
22. System gemäß Anspruch 21, bei dem die vierte Komponente eine Komponente (1452, 1454, 1752, 1754, 1852, 1854) aufweist, die basierend auf einem Kriterium bestimmt, ob die vorverarbeitete Graphik in der Vorverarbeitete-Graphiken-Speicherung gespeichert werden sollte, wenn bestimmt wird, daß eine vorverarbeitete Form der Graphik für eine Wiederverwendung nicht verfügbar ist; und wenn ja, Speichern der neuverarbeiteten Graphik in der Vorverarbeitete-Graphiken- Speicherung.
23. Programmprodukt zum Drucken, das einen computerlesbaren Programmkode aufweist, um zu bewirken, daß ein Drucker die folgenden Verfahrensschritte durchführt:
Empfangen einer Druckbezeichnung zum Drucken eines Dokuments;
Empfangen einer Beschreibung von Graphiken, die in dem Dokument enthalten sind;
Erhalten einer der Graphiken oder einer Bezugnahme auf dieselbe;
Bestimmen, ob eine vorverarbeitete Form der Graphik für eine Wiederverwendung verfügbar ist, und wenn ja, Wiedergewinnen der verarbeiteten Daten hierfür aus der Vorverarbeitete-Graphiken-Speicherung; und
Formulieren eines Druckauftrags.
24. Programmprodukt gemäß Anspruch 23, bei dem die Graphik verarbeitet wird, wenn keine vorverarbeitete Form der Graphik verfügbar ist.
25. Programmprodukt gemäß Anspruch 24, das ferner einen Kode aufweist, um zu bewirken, daß das Verfahren den Schritt des nachfolgenden Bestimmens durchführt, basierend auf einem Kriterium, ob die neuverarbeitete Graphik in der Vorverarbeitete-Graphiken-Speicherung gespeichert werden soll, wenn bestimmt wird, daß die vorverarbeitete Form der Graphik nicht für eine Wiederverwendung verfügbar ist; und wenn ja, dann Speichern der neuverarbeiteten Graphik in der Vorverarbeitete-Graphiken-Speicherung.
26. Verfahren zum Drucken, das folgende Schritte aufweist:
Empfangen einer Druckbezeichnung zum Drucken einer Mehrzahl von Dokumenten;
Empfangen einer Beschreibung von Graphiken, die in jedem der Mehrzahl von Dokumenten enthalten sind;
für jede einer Mehrzahl von Graphiken in der Mehrzahl von Dokumenten, Erhalten der Graphik;
Bestimmen, ob eine vorverarbeitete Form der erhaltenen Graphik für eine Wiederverwendung verfügbar war, und wenn ja, Wiedergewinnen der verarbeiteten Daten hierfür aus der Vorverarbeitete-Graphiken-Speicherung; und
Formulieren eines Druckauftrags.
27. Verfahren gemäß Anspruch 26, bei dem die Graphik verarbeitet wird, wenn bestimmt wird, daß keine vorverarbeitete Form der erhaltenen Graphik für eine Wiederverwendung verfügbar ist.
28. Verfahren gemäß Anspruch 27, das ferner den Schritt des Bestimmens basierend auf einem Kriterium aufweist, ob die neuverarbeitete Graphik in der Vorverarbeitete- Graphiken-Speicherung gespeichert werden soll, wenn bestimmt wird, daß die vorverarbeitete Form der Graphik nicht für eine Wiederverwendung verfügbar ist; und wenn ja, Speichern der neuverarbeiteten Graphik in der Vorverarbeitete-Graphiken-Speicherung.
29. Verfahren gemäß Anspruch 28, bei dem das Kriterium für den Bestimmungsschritt aufweist, ob die Graphik mehr als eine vorbestimmte Anzahl von Malen in einem oder mehreren Dokumenten wiederholt wird.
30. Verfahren gemäß Anspruch 28 oder 29, bei dem das Kriterium für den Bestimmungsschritt aufweist, ob die Graphik weniger als eine ganze Seite ist.
31. Verfahren gemäß einem der Ansprüche 28 bis 30, bei dem das Kriterium für den Bestimmungsschritt das Empfangen einer manuellen Auswahl aufweist.
32. Verfahren gemäß einem der Ansprüche 28 bis 31, bei dem das Kriterium für den Bestimmungsschritt das Empfangen von Metadateninformationen über die erhaltene Graphik aufweist.
33. Verfahren gemäß einem der Ansprüche 26 bis 32, das ferner den Schritt des Druckens des Dokuments aufweist.
34. Verfahren gemäß einem der Ansprüche 27 bis 33, bei dem der Verarbeitungsschritt das Erzeugen einer Bittabelle aus der Graphik aufweist.
35. Verfahren gemäß einem der Ansprüche 26 bis 34, bei dem der Schritt des Erhaltens das Interagieren mit einem Zusammensetzungsspeicherdienst aufweist.
36. Verfahren gemäß einem der Ansprüche 26 bis 35, bei dem der Schritt des Erhaltens das Interagieren mit einem Graphikspeicherdienst aufweist.
37. Verfahren gemäß einem der Ansprüche 26 bis 36, bei dem der Schritt des Erhaltens das Interagieren mit einer Webbilderzeugungserweiterung aufweist.
38. Verfahren zum schnellen Verarbeiten von Graphiken zum Drucken bei einer Mehrzahl von Druckaufträgen, das folgende Schritte aufweist:
Bestimmen von Graphiken, die bei der Mehrzahl von Druckaufträgen vorverarbeitet werden sollen, basierend auf einem Kriterium;
Vorverarbeiten der bestimmten Graphiken;
Speichern der vorverarbeiteten Graphiken;
Wiedergewinnen von ausgewählten vorverarbeiteten Graphiken;
Formulieren einer Mehrzahl von Druckaufträgen, die die vorverarbeiteten Graphiken umfassen.
39. Verfahren gemäß Anspruch 38, bei dem das Kriterium für den Bestimmungsschritt aufweist, ob die Graphik um mehr als eine vorbestimmte Anzahl von Malen wiederholt wird.
40. Verfahren gemäß Anspruch 38 oder 39, bei dem das Kriterium für den Bestimmungsschritt aufweist, ob die Graphik weniger als eine gesamte Seite ist.
41. System zum Drucken, das folgende Merkmale aufweist:
eine Komponente (1700) zum Empfangen einer Druckbezeichnung zum Drucken einer Mehrzahl von Dokumenten;
eine Komponente (1702) zum Empfangen einer Beschreibung von Graphiken, die in jedem der Mehrzahl von Dokumenten enthalten ist;
eine Komponente (1720) zum Erhalten der Graphik für jede einer Mehrzahl von Graphiken in der Mehrzahl von Dokumenten oder einer Bezugnahme auf dieselbe;
eine Komponente (1730, 1740) zum Bestimmen, ob eine vorverarbeitete Form der erhaltenen Graphik für eine Wiederverwendung verfügbar war, und wenn ja, Wiedergewinnen der verarbeiteten Daten hierfür aus der Vorverarbeitete-Graphiken-Speicherung; und
eine Komponente (1780) zum Formulieren eines Druckauftrags.
42. Programmprodukt zum Drucken, das einen computerlesbaren Kode aufweist, um zu bewirken, daß ein System die folgenden Verfahrensschritte durchführt:
Empfangen einer Druckbezeichnung zum Drucken einer Mehrzahl von Dokumenten;
Empfangen einer Beschreibung von Graphiken, die in jedem der Mehrzahl von Dokumenten enthalten sind;
für jede einer Mehrzahl der Graphiken in der Mehrzahl von Dokumenten, Erhalten der Graphik;
Bestimmen, ob eine vorverarbeitete Form der erhaltenen Graphik für eine Wiederverwendung verfügbar war, und wenn ja, Wiedergewinnen der verarbeiteten Daten hierfür aus einer Vorverarbeitete-Graphiken-Speicherung; und
Formulieren eines Druckauftrags.
DE10236190A 2001-08-08 2002-08-07 Verfahren, System, Programmprodukt und Druckerwebdienst zum Erzeugen eines Druckauftrags zum Drucken eines Dokuments Expired - Fee Related DE10236190B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/924,060 US7106469B2 (en) 2001-08-08 2001-08-08 Variable data printing with web based imaging
US09/924,060 2001-08-08

Publications (2)

Publication Number Publication Date
DE10236190A1 true DE10236190A1 (de) 2003-02-27
DE10236190B4 DE10236190B4 (de) 2005-11-17

Family

ID=25449653

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10236190A Expired - Fee Related DE10236190B4 (de) 2001-08-08 2002-08-07 Verfahren, System, Programmprodukt und Druckerwebdienst zum Erzeugen eines Druckauftrags zum Drucken eines Dokuments

Country Status (2)

Country Link
US (1) US7106469B2 (de)
DE (1) DE10236190B4 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001233308A1 (en) * 2000-02-03 2001-08-14 Xmpie Inc. A system and method for efficient production of dynamic documents
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
US20040193752A1 (en) * 2003-01-02 2004-09-30 Harpreet Singh System and method for providing fee-based data services
US20040252341A1 (en) * 2003-06-13 2004-12-16 Canon Kabushiki Kaisha Layout apparatus, layout method, and program product
JP4444752B2 (ja) * 2003-09-11 2010-03-31 株式会社リコー サービス提供装置、サービス提供プログラム、記録媒体及びサービス提供方法
US8279461B2 (en) * 2004-06-03 2012-10-02 Sharp Laboratories Of America, Inc. Systems and methods for managing a plurality of resources across multiple printing devices
US20070038946A1 (en) * 2005-08-15 2007-02-15 Grieshaber Charles E Systems, methods and devices for controlling a multifunctional product using a scriptable user interface
US8014608B2 (en) * 2006-03-09 2011-09-06 Lexmark International, Inc. Web-based image extraction
US20080320385A1 (en) * 2006-09-29 2008-12-25 Colorquick, L.L.C. Graphical Object Insertion During Preparation of Production Data for a Print Job Using a Still Image Proxy of a Page Description Language Image File
JP5127232B2 (ja) * 2007-01-05 2013-01-23 キヤノン株式会社 データ処理装置、データ処理方法、及びコンピュータプログラム
US20090094337A1 (en) * 2007-10-08 2009-04-09 Eric Wilfred Bruno Dias Method of accessing web e-mail off-line
KR101212092B1 (ko) * 2007-11-21 2012-12-13 삼성전자주식회사 화상형성장치 및 인쇄데이터 처리방법
US8120811B2 (en) 2007-11-21 2012-02-21 Quad/Graphics, Inc. System and method for adding data to a printed publication
US8526036B2 (en) * 2008-01-17 2013-09-03 Konica Minolta Laboratory U.S.A., Inc. Systems and methods for print resource management
US8605322B2 (en) 2008-01-24 2013-12-10 Quad/Graphics, Inc. Printing using color changeable material
JP4695202B2 (ja) * 2009-02-24 2011-06-08 シャープ株式会社 制御装置、画像出力装置、画像出力装置の制御方法、プログラム、記録媒体
JP5537240B2 (ja) * 2010-04-19 2014-07-02 キヤノン株式会社 情報処理装置及びその制御方法
US8892994B2 (en) 2011-03-18 2014-11-18 Google Inc. System, method, and architecture for displaying a document
US8700986B1 (en) 2011-03-18 2014-04-15 Google Inc. System and method for displaying a document containing footnotes
US8510266B1 (en) 2011-03-03 2013-08-13 Google Inc. System and method for providing online data management services
US20130003126A1 (en) * 2011-06-30 2013-01-03 Brian Van Osdol Method and system for providing a printing web service
US9529785B2 (en) 2012-11-27 2016-12-27 Google Inc. Detecting relationships between edits and acting on a subset of edits
US9971752B2 (en) 2013-08-19 2018-05-15 Google Llc Systems and methods for resolving privileged edits within suggested edits
US9348803B2 (en) 2013-10-22 2016-05-24 Google Inc. Systems and methods for providing just-in-time preview of suggestion resolutions
US10348690B2 (en) * 2016-07-08 2019-07-09 Xattic, Inc. Secure message inoculation
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

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594860A (en) * 1995-01-27 1997-01-14 Varis Corporation Method for banding and rasterizing an image in a multiprocessor printing system
US5857064A (en) * 1995-04-03 1999-01-05 Object Technology Licensing Corporation System for imaging complex graphical images
US5796411A (en) * 1995-07-10 1998-08-18 Moore Business Forms, Inc. High resolution real time raster image processing system and method
GB9700574D0 (en) * 1997-01-13 1997-03-05 Cancer Res Campaign Tech Methods and means relating to retrotransposon and retroviral integration
US6268927B1 (en) 1997-11-17 2001-07-31 Ricoh Company, Ltd. Computer-related form overlay method and apparatus
US6399298B1 (en) * 1998-06-30 2002-06-04 Sloan-Kettering Institute For Cancer Research Ku70—related methods
US6483604B1 (en) 1999-02-26 2002-11-19 Nex Press Solutions Disk-based image storage system and method with prioritized loading and retrieval operations
US6529214B1 (en) * 1999-05-14 2003-03-04 Checkerboard Ltd. Interactive print job display system and method
JP2004511937A (ja) * 2000-10-11 2004-04-15 ユナイテッド ビデオ プロパティーズ, インコーポレイテッド オン−デマンドメディア送達システムのサーバにおけるデータの格納を提供するシステムおよび方法
US6721846B2 (en) * 2000-12-28 2004-04-13 Gateway, Inc. System and method of providing data images over a network with a local image cache

Also Published As

Publication number Publication date
US20030030837A1 (en) 2003-02-13
US7106469B2 (en) 2006-09-12
DE10236190B4 (de) 2005-11-17

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
DE10235439B4 (de) Verfahren, System und computerlesbares Medium zum privaten Drucken eines Dokuments auf einem Drucker
DE60028561T2 (de) Bereitstellung von kundendiensten, die daten aus datenquellen abrufen, wobei die datenquellen die vom kunden geforderten formate nicht notwendigerweise unterstützen
US7084998B2 (en) Method and system for processing files using a printer driver
DE60123327T2 (de) Bilddruckvorrichtung und -Verfahren, computerlesbares Speichermedium, das ein Programm zum Ausdrucken von Bildern speichert, Bildverwaltungssystem, und Datenverwaltungsgerät
DE60030181T2 (de) System, Verfahren und hergestellter Gegenstand zum Zugriff auf und Verarbeitung von Chipkartendaten
DE10236182B4 (de) Verfahren, ein System und ein Programmprodukt zum Drucken eines Dokuments gemäß einer vorbestimmten Druckspezifikation
US20040205493A1 (en) Web based imaging application that creates customized content based on user selections
US20030011801A1 (en) Print option configurations specific to a service or device for printing in a distributed environment
DE10135445A1 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
DE10309241A1 (de) Drucken mit variablen Daten unter Verwendung einer dynamischen Ausschießvorlage
DE10250836A1 (de) System und Verfahren zum Zugreifen auf entfernte Lesezeichenlisten und Verwenden derselben
DE10238591B4 (de) System und Verfahren zum Ermöglichen einer Erstellung von Druckkopien
EP1565810B1 (de) System und verfahren zur automatisierten erzeugung von druckbaren dateien aus daten
EP1760647B1 (de) Verfahren und Anordnung zur Handhabung von Dateien mittels mobiler Endgeräte sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
US6665090B1 (en) System and method for creating and printing a creative expression
DE10224791B4 (de) Netzwerkadressierbare Vorrichtung, Computercode und Verfahren zum Fernzugreifen und Drucken von Dokumenten
DE10250603A1 (de) Verfahren und Systeme zum Herstellen von Broschüren
DE10197251T5 (de) Verfahren und Dienst zur vermittelten Aufbereitung
DE10248442B4 (de) System zum gesteuerten Drucken einer Unterschrift unter Verwendung von webbasierter Bilderzeugung
DE10257871A1 (de) System und Verfahren für eine Benachrichtigung bezüglich einer Farbpaletten-Unzulänglichkeit
DE10307304A1 (de) Netzwerkdateidrucken

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