DE10236188B4 - Verfahren, System und Programmprodukt zum Bereitstellen eines Inhalts einer Quellwebsite an eine Verbraucherwebsite durch einen Bildumwandlungsdienst - Google Patents

Verfahren, System und Programmprodukt zum Bereitstellen eines Inhalts einer Quellwebsite an eine Verbraucherwebsite durch einen Bildumwandlungsdienst Download PDF

Info

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

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

Verfahren zum Bereitstellen eines Inhalts, der durch einen Benutzer von einer Quellwebsite ausgewählt wird, an eine Verbraucherwebsite durch einen Bildumwandlungsdienst, der den Inhalt in ein Format für die Verbraucherwebsite umwandelt, wobei das Verfahren folgende Schritte aufweist:
Empfangen (1380) des Inhalts oder einer Bezugnahme auf den Inhalt;
Speichern des Inhalts oder der Bezugnahme auf den Inhalt;
Empfangen einer Auswahl der Verbraucherwebsite, der der Inhalt bereitzustellen ist;
basierend auf der empfangenen Auswahl der Verbraucherwebsite, Bestimmen (1340) eines gewünschten Formats, in das der Inhalt umzuwandeln ist;
Auswählen (1350) eines Bildumwandlungsprogramms zum Verarbeiten des bestimmten Formats;
Umwandeln (1380) des Inhalts unter Verwendung des ausgewählten Bildumwandlungsprogramms, um einen umgewandelten Inhalt zu erhalten; und
Übertragen des umgewandelten Inhalts an die Verbrauchersite.

Description

  • Die vorliegende Erfindung bezieht sich auf ein Verfahren, ein System und ein Programmprodukt zum Bereitstellen eines Inhalts, der durch einen Benutzer von einer Quellwebsite ausgewählt wird, an eine Verbraucherwebsite durch einen Bildumwandlungsdienst, der den Inhalt in ein Format für die Verbraucherwebsite umwandelt.
  • Die Verwendung von Webanwendungen ist über die Jahre angewachsen, da das Internet immer weiter entwickelt wird. Da die meisten Webanwendungen entworfen sind, um mit Plattformüberschreitenden Browsern (bzw. Durchsuchern) 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®.
  • Die WO 00/20985 A1 beschreibt ein computerimplementiertes Verfahren zum Umwandeln eines Dokuments in einem Eingabeformat in ein Dokument in ein unterschiedliches Ausgabeformat. Anfänglich werden in dem Verfahren Daten in dem Eingangsdokument lokalisiert, die Daten in einem Zwischenformatdokument zusammengefaßt und das Zwischenformatdokument in ein Ausgangsformat umgewandelt. Dieses Verfahren kann in einem System implementiert sein, welches den Umwandlungsdienst über ein Netzwerk anbietet, wobei hier die Eingangsdokumente beispielsweise Webseiten sind, die auf einem Ausgangsgerät, wie beispielsweise einem PDA, in einem anderen Format angezeigt werden sollen. Das System empfängt eine Anforderung eines Ausgabegeräts, beispielsweise des PDA, um ein Dokument, das durch einen Server angezeigt wird, anzuzeigen. Der erforderliche Prozeß zur Umwandlung des in einem Eingangsformat vorliegenden Dokuments in ein Ausgangsformat, das auf dem PDA angezeigt werden kann, wird dann durch das Computersystem durchgeführt.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren, ein Programmprodukt und ein System zu schaffen, um einen Inhalt einer Quellwebsite an Verbraucherwebsites mit unterschiedlichen Formatanforderungen effizient zu übertragen, wobei die Berücksichtigung einer Aktualisierung des Inhalts auf der Quellwebsite berücksichtigt werden kann.
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1, ein Programmprodukt gemäß Anspruch 16 und ein System gemäß Anspruch 17 gelöst.
  • Die vorliegende Erfindung schafft ein Verfahren zum Bereitstellen eines Inhalts, der durch einen Benutzer von einer Quellwebsite ausgewählt wird, an eine Verbraucherwebsite durch einen Bildumwandlungsdienst, der den Inhalt in ein Format für die Verbraucherwebsite umwandelt, wobei das Verfahren folgende Schritte aufweist: Empfangen des Inhalts oder einer Bezugnahme auf den Inhalt; Speichern des Inhalts oder der Bezugnahme auf den Inhalt; Empfangen einer Auswahl der Verbraucherwebsite, der der Inhalt bereitzustellen ist; basierend auf der empfangenen Auswahl der Verbraucherwebsite, Bestimmen eines gewünschten Formats, in das der Inhalt umzuwandeln ist; Auswählen eines Bildumwandlungsprogramms zum Verarbeiten des bestimmten Formats; Umwandeln des Inhalts unter Verwendung des ausgewählten Bildumwandlungsprogramms, um einen umgewandelten Inhalt zu erhalten; und Übertragen des umgewandelten Inhalts an die Verbrauchersite.
  • Die vorliegende Erfindung schafft ferner ein System zum Bereitstellen eines Inhalts, der durch einen Benutzer von einer Quellwebsite ausgewählt wird, an eine Verbraucherwebsite durch einen Bildumwandlungsdienst, der den Inhalt in ein Format für die Verbraucherwebsite umwandelt, wobei das System folgende Merkmale aufweist: eine Komponente zum Empfangen des Inhalts oder einer Bezugnahme auf den Inhalt; eine Komponente zum Speichern des Inhalts oder der Bezugnahme auf den Inhalt; eine Komponente zum Empfangen einer Auswahl der Verbraucherwebsite, der der Inhalt bereitzu das der Inhalt umzuwandeln ist, basierend auf der empfangenen Auswahl der Verbraucherwebsite; eine Komponente zum Auswählen eines Bildumwandlungsprogramms zum Verarbeiten des bestimmten Formats; eine Komponente zum Umwandeln des Inhalts unter Verwendung des ausgewählten Bildumwandlungsprogramms, um einen umgewandelten Inhalt zu erhalten; und eine Komponente zum Übertragen des umgewandelten Inhalts an die Verbrauchersite.
  • Gemäß einem weiteren Aspekt schafft die vorliegende Erfindung ein Programmprodukt zum Implementieren eines Verfahrens zum Bereitstellen eines Inhalts, der durch einen Benutzer von einer Quellwebsite ausgewählt wird, an eine Verbraucherwebsite durch einen Bildumwandlungsdienst, der den Inhalt in ein Format für die Verbraucherwebsite umwandelt, wobei das Programmprodukt einen computerlesbaren Code zum Durchführen der Verfahrensschritte des erfindungsgemäßen Verfahrens aufweist, wenn der computerlesbare Code auf einer Rechnervorrichtung abläuft.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Diagramm des Aufbaus eines Klientenserver-Netzwerksystems, in dem die vorliegende Erfindung implementiert werden kann;
  • 2 ein Diagramm des Aufbaus des Klientenserver-Netzwerksystems von 1, wobei der Bilderzeugungsklient außerhalb einer Brandmauer gezeigt ist;
  • 3 ein Diagramm des Aufbaus eines zweiten Klientenserver-Netzwerksystems, in dem die vorliegende Erfindung implementiert werden kann;
  • 4 ein Diagramm des Aufbaus des Klientenserver-Netzwerksystems von 3, wobei der Bilderzeugungsklient außerhalb einer Brandmauer gezeigt ist;
  • 5 ein Diagramm des Aufbaus des Klientenservernetzwerks unter Verwendung eines gemeinschaftlich verwendeten oder Gruppenzusammensetzungs-Speichers und Graphikspeichers;
  • 6A und 6B ein Flußdiagramm, das die bevorzugte Funktionalität des Übertragungsverfahrens der vorliegenden Erfindung darstellt.
  • 7 ein Flußdiagramm, das die bevorzugte Funktionalität zum Auswählen eines Profils über 6 darstellt.
  • 8 ein schematisches Diagramm, das die Operation der Erfindung für ein Beispiel auf einer sehr hohen Ebene darstellt.
  • 9 ein Diagramm des Aufbaus eines beispielhaften Bilderzeugungsklienten.
  • 10 ein schematisches Blockdiagramm eines Ausführungsbeispiels eines Graphikspeichers.
  • 11 ein schematisches Blockdiagramm eines zweiten Ausführungsbeispiels eines Graphikspeichers.
  • 12 ein schematisches Blockdiagramm eines bevorzugten Ausführungsbeispiels eines Umwandlungsdienstes.
  • 13 ein schematisches Blockdiagramm eines bevorzugten Ausführungsbeispiels eines Programms und Prozesses, der durch den Umwandlungsdienst durchgeführt werden soll.
  • Glossar der verwendeten Ausdrücke und Akronyme
  • Die folgenden Ausdrücke und Akronyme werden in der gesamten, detaillierten Beschreibung verwendet:
    „API". Eine Anwendungsprogrammschnittstelle (API = àpplication programming interface) ist eine Bibliothek von Verfahren in Form von Programmen, die durch ein System einer bestimmten Art (ein Beispiel ist ein Web-basiertes Bilderzeugungssystem, wie in der vorliegenden Erfindung) bereitgestellt werden, das es Klientenprogrammen (Webinhalt, der innerhalb des Browsers arbeitet ist ein Beispiel) ermöglicht, mit diesem System zu interagieren. Ein Verfahren des Erzeugens einer API ist es, eine Bibliothek zu erzeugen. In Java z. B. wird eine Bibliothek (üblicherweise eine Jar-Datei genannt) durch Definieren von einer Klasse oder von Klassen, Kompilieren der Klasse oder der Klassen und Gruppieren der Klasse oder der Klassen in einer Bibliothek erzeugt. Es könnte z. B. die nachfolgende Klasse erzeugt werden:
    classBaseConversionAPI {static public String convert-BaseToBase (String inNumber, int inBase, int outBase) {//Code zum Zurückgeben einer Zeichenfolge, die inNumber konvertiert outBase darstellt}}
  • Diese Klasse würde dann mit dem folgenden Befehl kompiliert werden:
    java.exe BaseConversionAPI.java.
  • ANMERKUNG: Programme werden üblicherweise in Textdateien gespeichert, die „kompiliert" werden, um „Objektdateien" zu erzeugen, die die ausführbaren (oder interpretierbaren) Befehle enthalten. In diesem Fall ist das Programm in der Datei BaseConversionAPI.java enthalten. Der Vorgang des Kompilierens erzeugte eine Datei mit dem Namen „BaseConversionAPI.class", die Befehle für eine spezifische Rechenarchitektur (in diesem Fall die Java Virtual Machine) enthält, die dem Programm entsprechen.
  • Als nächstes in diesem Beispiel wird eine Jar-Datei erzeugt:
    jar.exe cvf BaseConversionAPI.tar BaseConversionAPI.class
  • Dieser Befehl erzeugt eine „Bibliothek"-Datei, die die BaseConversionAPIclass enthält. Dieser letzte Schritt ist nicht absolut erforderlich. In manchen Fällen werden APIs als Dateien bereitgestellt, die ausführbare Befehle enthalten (wie z. B. die BaseConversionAPI.class-Datei).
  • Bezugnahmen betreffend die Erzeugung von APIs:
    http://www.library.yale.edu/orbis2/public/activity/API.html
  • Es wird darauf hingewiesen, daß die APIs zu den Netzwerkdiensten (Graphikspeicher, Zusammensetzungsspeicher und 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 sich auf einen Dienst (idealerweise implementiert als ein Netzwerkdienst), der Bilderzeugungszusammensetzung(en) speichert und Zugriff zu denselben liefert, auf die durch den Benutzer oder Webdienste zugegriffen werden kann. In diesem Kontext umfaßt das Liefern von „Zugriff" das Liefern von Verfahren zum Aufbauen von Zusammensetzungen, zum Modifizieren von Zusammensetzungen und zum stückchenweisen Zugreifen auf dieselben. Ein Satz von Verfahren z. B., der für eine Ausführung über den Zusammensetzungsspeicher verfügbar ist, könnte folgende Verfahren umfassen: Erhalten einer Zusammensetzung, Erzeugen einer Zusammensetzung, Löschen einer Zusammensetzung, und Modifizieren einer Zusammensetzung.
  • „Inhalt". Ein Satz von ausführbaren Befehlen, der durch einen Server an einen Klienten geliefert wird, und der durch den Klienten ausführbar sein soll, um dem Klienten eine gewisse Funktionalität zu liefern. Webinhalt bezieht sich auf Inhalt, der durch die Operation eines Webbrowsers ausgeführt werden soll. Webinhalt kann daher auf nicht erschöpfende Weise eines oder mehrere der folgenden aufweisen: HTML-Code, SGML-Code, XML-Code, XSL-Code, CSS-Code, Java-applet, JavaScript- und C-„Sharp"-Code.
  • „Austauschinfrastruktur". Eine Austauschinfrastruktur ist eine Sammlung von Diensten, die durch ein Netzwerk verteilt werden, das Bilderzeugungsdaten speichert, die einem bestimmten Benutzer durch ein Benutzerprofil zugeordnet sind.
  • „Brandmauer" (Firewall). Eine Brandmauer filtert ungewollte Kommunikationspakete in einer oder mehreren Richtungen aus. Mittels eines Beispiels aber nicht einschränkend können bei einer Implementierung einer Brandmauer Anforderungen von innerhalb einer Brandmauer an Zugriffsdaten an der Außenseite der Brandmauer getätigt werden, und Antworten auf derartige Anforderungen werden üblicherweise erlaubt. Kommunikationen, die von außerhalb der Brandmauer an Vorrichtungen innerhalb der Brandmauer eingeleitet werden, werden üblicherweise nicht erlaubt. Im allgemeinen kann die Brandmauer durch einen Brandmauer-Stellvertreterserver bzw. Proxyserver implementiert sein, der es Vorrichtungen innerhalb der Brandmauer ermöglicht, HTTP-Anforderungen an Webserver außerhalb der Brandmauer zu leiten. Offensichtlich können auch andere Protokolle zum Implementieren einer Kommunikation durch die Brandmauer verwendet werden.
  • „Allgemeine Zugriffsbefehle". Ein allgemeiner Zugriffsbefehl bezieht sich auf einen ausführbaren Befehl, der verursachen soll, daß die ausführende Vorrichtung allgemeine Zugriffsanforderungen erzeugt, um auf einen Satz von Graphikdaten zuzugreifen. Diese Befehle rufen Verfahren auf, die z. B. durch eine Bilderzeugungserweiterung bereitgestellt werden. Verfahren, die durch die Umgebung bereitgestellt werden, in der das Programm ausgeführt wird, werden üblicherweise eine „Anwendungsprogrammschnittstelle" (API = application programming interface) genannt. Es wird darauf hingewiesen, daß ein allgemeiner Zugriffsbefehl den Ort der graphischen Zieldaten nicht umfaßt. Üblicherweise werden die graphischen Zieldaten vorausgewählt (im allgemeinen durch einen Benutzer), und deren Ort wird aus Informationen bestimmt, die lokal innerhalb der Ausführungsvorrichtung beibehalten werden.
  • „Hyperlink". Eine Navigationsverbindung von einem Dokument zu einem anderen, von einem Abschnitt (oder einer Komponente) eines Dokuments zu einem anderen oder zu einer Web-Ressource, wie z. B. einem Java-applet. Üblicherweise ist eine Hyperlink als ein hervorgehobenes Wort oder eine Phrase angezeigt, die durch Klicken auf dieselbe unter Verwendung einer Maus ausgewählt werden kann, um zu dem 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 nichtstandardmäßige oder spezialisierten Komponenten umfassen, die mit den Serverkomponenten interagieren, um Dienste für Website-Benutzer auszuführen. Wichtig zu erwähnen ist, daß eine Website zusätzliche Funktionen aufweisen kann, eine Website kann z. B. die Fähigkeit aufweisen, Dokumente zu drucken, Dokumente zu scannen, etc.
  • „HTML" (HyperText Markup Language = HyperText-Markierungssprache). Eine Standardcodierungsvereinbarung und ein Satz von Codes zum Anbringen von Präsentations- und Verbindungs-Attributen an Informationsinhalt innerhalb von Dokumenten. (HTML 2.0 ist momentan der primäre Standard, der zum Erzeugen von Webdokumenten verwendet wird.) Während des Verfassungsstadiums eines Dokuments sind die HTML-Codes (bezeichnet als „Etiketten bzw. Tags") innerhalb des 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 „Webserver" ein Programm, das unter Verwendung des client/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 = Hyper textmarkierungssprache). 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 1 gezeigt.
  • Die vorliegende Erfindung bezieht sich bei einem Aspekt auf das Implementieren des Konzepts, um zu ermöglichen, daß die Informationen einem Benutzer ihm/ihr folgen, d. h. von einer Vielzahl von unterschiedlichen Orten aus zugreifbar sind, sowohl innerhalb einer Brandmauer als auch außerhalb einer Brandmauer, sowie von einer Vielzahl von unterschiedlichen Maschinen. Dieses Konzept wird unter Verwendung von einem oder mehreren Benutzerprofilen 24 und 26 in Kombination mit dem Konzept eines Personalbilderzeugungsverwahrungsorts 50 zum Speichern von Benutzergraphiken über eine verteilte Umgebung implementiert. Der Personalbilderzeugungsverwahrungsort 50 kann über mehrere Orte, mehrere Ma schinen 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 mehr-dimensionalen Graphiken dargestellt werden kann. Für weitere Informationen, siehe Definition für „Graphikdaten" in dem Definitionsabschnitt. Für weitere Informationen über die Bedeutung eines „Graphikspeichers", siehe die nachfolgende, detaillierte Erörterung.
  • Zu Zwecken einer Übersicht von 1 ist eine Bilderzeugungs-Klientenmaschine 12 hinter einer Brandmauer 14 gezeigt. Der Bilderzeugungsklient 12 kann mittels eines Browsers 18 auf den Webinhalt 16 zugreifen, der von den Servern 30 und 32 innerhalb der Brandmauer 14 erhalten wurde, und auf den Webinhalt, der von den Servern 40 und 42 außerhalb der Brandmauer erhalten wurde. Der Bilderzeugungsklient kann Graphiken in seiner Personalbilderzeugungsverwahrungsort 50 speichern, die von diesem Webinhalt erhalten wurden, in der Form oder dem Kontext einer Zusammensetzung (siehe die Definition von „Zusammensetzung" oben), entweder innerhalb oder außerhalb der Brandmauer 14.
  • BILDERZEUGUNGSERWEITERUNG. Der Bilderzeugungsklient 12 umfaßt eine Bilderzeugungserweiterung 22 (ebenfalls gezeigt als 922 in 9). Die Bilderzeugungserweiterung 22 ist konfiguriert, um auf die Ausführung von allgemeinen Zugriffsbefehlen von dem Webinhalt 16 durch Erzeugen von/Abbilden auf entsprechende Bilderzeugungsklientspezifische Befehle von dem Bilderzeugungsklient 12 zu antworten. Dies passiert jedoch nur, wenn Benutzerinformationen 20 (die Bezugnahmen 24, 26 betreffend die Profile 64, 74 des Benutzers enthalten) für die Bilderzeugungserweiterung 22 verfügbar sind, um auf den Personalbilderzeugungsverwahrungsort 50 des Benutzers zuzugreifen.
  • Die Bilderzeugungserweiterung 22 kann als eine Anwendungsprogrammschnittstelle (API) implementiert/beabsichtigt sein. Die API, die für die Bilderzeugungserweiterung verwendet wird, entspricht vorzugsweise einem systemweiten Standard. Die allgemeinen Zugriffsbefehle von dem Webinhalt können, wenn sie ausgeführt werden, verursachen, daß Bilderzeugungserweiterungs-API-Aufrufe an die API ausgegeben werden, um über Bilderzeugungsklienten-spezifische Befehle einen Zugriff auf den Personalbilderzeugungsverwahrungsort 50 des Benutzers zu bewirken. Es ist offensichtlich, daß viele andere Wege (sowohl Hardware als auch Software) verfügbar sind, um diese Funktionalität zu implementieren. Die vorliegende Erfindung ist nicht auf einen der Wege begrenzt. Im wesentlichen ist die Bilderzeugungserweiterung 22 für das Zugreifen auf Benutzerinformationen 20 und zum Liefern einer undurchsichtigen Schnittstelle zwischen dem Webinhalt 16, der in dem Browser 18 abgespielt wird, und dem Personalbilderzeugungsverwahrungsort 50 und anderen Funktionalitäten des Bilderzeugungsklienten gedacht. Eine beispielhafte Implementierung der Bilderzeugungserweiterung wird nachfolgend detaillierter erörtert.
  • Die Benutzerinformationen 20 in 1 weisen mindestens eine oder mehrere Bezugnahmen auf eines oder mehrere Benutzerprofile auf. Jede Bezugnahme würde beispielsweise aber nicht einschränkend durch eine URL-Bezugnahme oder in manchen Fällen einen Zeiger, eine Buchsenanzahl oder ein anderes Hintergrunddetail implementiert. Die Bezugnahme für das Benutzerprofil könnte auf einen Ort innerhalb des Bilderzeugungsklienten selbst weisen oder auf einen Ort außerhalb des Bilderzeugungsklienten, wie z. B. den Server 66 oder den Server 76, der in 1 gezeigt ist. In 1 umfassen die Benutzerinformationen 20 eine Bezugnahme 24 auf ein internes Benutzerprofil 64 und eine Bezugnahme 26 auf ein externes Benutzerprofil 74, die in einem Server 66 bzw. 76 positioniert sind.
  • Jedes Benutzerprofil 64 und 74, auf das Bezug genommenen wird, könnte eine Benutzeridentifikationsinformation und mindestens eine Bezugnahme auf den gesamten oder einen Abschnitt eines Personalbilderzeugungsverwahrungsortes 50 für dieses Benutzerprofil umfassen. Wie oben erwähnt wurde, kann eine Bezugnahme eine URL-Bezugnahme (oder einen Zeiger, eine Buchse oder ein anderes Hintergrunddetail) auf einen oder mehrere Zusammensetzungsspeicher umfassen. Bei dem Beispiel von 1 umfaßt das interne Benutzerprofil 64 eine Bezugnahme 67 auf einen Standardzusammensetzungsspeicher 62 auf einem separaten Server 63. Zusätzlich dazu umfaßt das interne Benutzerprofil 64 eine Bezugnahme 68 auf einen Standardgraphikspeicher 60 auf einem separaten Server 61 und eine Bezugnahme 69 auf eine Standardzusammensetzung innerhalb eines bestimmten Zusammensetzungsspeichers, der der Standardzusammensetzungsspeicher 62 sein könnte. Es wird darauf hingewiesen, daß im Gegensatz zur Standardzusammensetzungsspeicherbezugnahme 67 und zur Standardgraphikspeicherbezugnahme 68, die sich im allgemeinen nicht ändern und durch die Bilderzeugungserweiterung zum Lokalisieren des Standardgraphikspeicherdienstes und des Standardzusammensetzungsspeicherdienstes verwendet werden, die Standardzusammensetzungsbezugnahme 69 bei vielen Ausfü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 1 ferner die Bezugnahme 26 auf das externe Benutzerprofil 74 gezeigt. In 1 ist das externe Benutzerprofil auf dem Server 76 extern zu dem Bilderzeugungsklienten 12 und extern zu der Brandmauer 14 angeordnet. Es wird darauf hingewiesen, daß die Brandmauer üblicherweise die Grenze zwischen einem privaten Intranet und dem öffentlichen Internet liefert. Das externe Benutzerprofil 74 umfaßt eine Bezugnahme 77 auf einen Standardzusammensetzungsspeicher 72 auf einem Server 73, der extern zu der Brandmauer 12 ist, eine Bezugnahme 78 auf einen Standardgraphikspeicher 70 auf einem Server 71, der ebenfalls extern zu der Brandmauer 14 ist, und eine Bezugnahme 79 auf eine Standardzusammensetzung in dem externen Stan dardzusammensetzungsspeicher 72 oder einem anderen Zusammensetzungsspeicher extern zu der Brandmauer.
  • Es sollte darauf hingewiesen werden, daß mehrere interne und/oder externe Benutzerprofile vorliegen können, die automatisch oder manuell basierend auf einem oder mehreren Kriterien auswählbar sind. Es könnte z. B. ein unterschiedliches internes und externes Benutzerprofil für jeden unterschiedlichen Bilderzeugungsklienten vorliegen, den der Benutzer verwenden kann, wobei das bestimmte interne oder externe Benutzerprofil durch Liefern der Benutzeridentifikationsinformationen, anderer Informationen einschließlich Positionsinformationen und der Bilderzeugungsklientenmaschineinformationen an die Bilderzeugungserweiterung 22 ausgewählt werden.
  • Es wird darauf hingewiesen, daß der gleiche Benutzer mehrere Benutzerprofile haben kann. Dies ist besonders vorteilhaft wenn Brandmauern verwendet werden. Der Grund dafür ist, wie oben erwähnt wurde, daß unterschiedliche Graphikspeicher und Zusammensetzungsspeicher verwendet werden, abhängig davon, ob sich der Bilderzeugungsklient innerhalb der Brandmauer oder außerhalb der Brandmauer befand. Mehrere Benutzerprofile für den gleichen Benutzer können zu mehreren Personalbilderzeugungs-Verwahrungsortsegmenten führen, die diesem einzelnen Benutzer zugeordnet sind, wobei jedes derselben über ein unterschiedliches Benutzerprofil zugreifbar ist. Es wird darauf hingewiesen, daß mehrere Benutzer in einer Gruppe (jeder mit einem eigenen Personalbilderzeugungsverwahrungsort) unter Verwendung von gemeinschaftlich verwendeten Diensten, z. B. eines Gruppenzusammensetzungsspeichers, wie oben erwähnt wurde, auf die gleichen Bilderzeugungsinformationen Bezug nehmen kann. Ein Teil jedes Personalbilderzeugungsverwahrungsortes jedes Benutzers kann bei diesem Szenario durch eine Gruppe mit gleicher Zuordnung gemeinschaftlich verwendet werden, wie z. B. einem Gruppenprojekt.
  • Um ein Benutzerprofil auszuwählen, wenn mehr als eines bereitgestellt ist, umfaßt der Bilderzeugungsklient 12 einen Code (der üblicherweise in der Bilderzeugungserweiterung 22 vorliegt), zum Auswählen von einem aus internem Benutzerprofil 64 und externem Benutzerprofil 74. Bei einem Ausführungsbeispiel könnte dies einfach durch einen Code implementiert sein, der ein Menü an den Benutzer des Bilderzeugungsklienten 12 liefert, um die manuelle Auswahl der Bezugnahme auf das gewünschte Benutzerprofil zu ermöglichen. Alternativ oder zusätzlich dazu könnte der Code 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 Be nutzers 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 Zusammenset zungsspeicher Bezug genommen wird ferner außerhalb der Brandmauer positioniert sein können. Der bestimmte externe Graphikspeicher, der für diese Speicherung verwendet wird, würde entweder manuell über ein Popup-Menü oder z. B. automatisch durch die Bilderzeugungserweiterung 22 ausgewählt werden, die auf die Informationen in dem externen Benutzerprofil 74 auf einen Server 76 Bezug nimmt und dieselben verwendet. Wie erwähnt wurde, würde das externe Benutzerprofil eine Bezugnahme 77 umfassen, wie z. B. einen URL, auf den externen Standardzusammensetzungsspeicher 72, der jeglicher externe Zusammensetzungsspeicher sein könnte, der durch den Benutzer oder das System ausgewählt wird. Das externe Benutzerprofil umfaßt ferner eine Bezugnahme 78 auf den externen Standardgraphikspeicher 70, der wiederum jeder externe Graphikspeicher sein könnte, der durch den Benutzer des Systems ausgewählt wird. Zusätzlich dazu umfaßt das externe Benutzerprofil 74 eine Bezugnahme 79 auf eine Standardzusammensetzung. Diese Standardzusammensetzung ist die letzte externe Zusammensetzung, die durch den Benutzer ausgewählt wurde.
  • Die Standardzusammensetzung könnte auf verschiedene Weisen eingestellt sein. Die zwei üblichsten Weisen sind: 1) Der Benutzer hat vorangehend eine Zusammensetzung durch eine Internetbilderzeugungs-Homepage oder durch einen anderen Internetdienst ausgewählt, der eine Liste von verfügbaren Zusammensetzungen anzeigt, die der Benutzer auswählen kann. Sobald dieselbe ausgewählt ist, wird die Standardzusammensetzungsbezugnahme in dem Profil des Benutzers aktualisiert, um auf die ausgewählte Zusammensetzung Bezug zu nehmen. Es ist wichtig darauf hinzuweisen, daß die Internetbilderzeugungs-Homepage nur ein Beispiel eines Dienstes ist, der es dem Benutzer ermöglicht, auszuwählen, welche Zusammensetzung die Standardzusammensetzung sein sollte. Andere Webdienste können die gleiche Art von Fähigkeit liefern; 2) der Benutzer interagierte mit einem Webdienst, der eine neue Zusammensetzung erzeugte. Üblicherweise wollen Webdienste (Webserver plus Webinhalt, die in dem Browser eines Benutzers laufen), die neue Zusammensetzungen erzeugen, daß die neue Zusammensetzung leicht verfügbar ist (was dadurch erreicht wird, die neu erzeugte Zusammensetzung zu der Standardzusammensetzung zu machen).
  • Es ist somit wichtig darauf hinzuweisen, daß der Benutzer implizit oder explizit die Standardzusammensetzung in seinem/ihrem Profil auswählen kann. Wie oben erwähnt wurde, kann der Benutzer explizit die Standardzusammensetzung durch Interagieren mit einem Webdienst auswählen (wie z. B. einem Internetbilderzeugungs-Heimdienst), der Inhalt liefert, der in der Lage ist, die „Standardzusammensetzung" zu ändern. Alternativ dazu kann der Benutzer die Standardzusammensetzung implizit durch Interagieren mit Webdiensten auswählen, die neue Zusammensetzungen erzeugen, und macht diese neuen Zusammensetzungen zu Standardzusammensetzungen, um die neue Zusammensetzung leicht verfügbar zu machen, wenn der Benutzer nachfolgend zu anderen Webdiensten blättert.
  • Als ein Beispiel der Auswahl einer Standardzusammensetzung zur Verwendung, so daß ein anderer Webdienst an einer Graphik arbeiten kann, sei ein Graphikspeicher auf einem Kameraserver angenommen, dessen Speicher Photographiken enthält, die der Benutzer drucken möchte. Der Benutzer blättert zu der Webseite der Kamera, wobei er/sie ein gewünschtes Photobild aussucht und dasselbe in den Personalbilderzeugungsverwaltungsort des Benutzers wiedergewinnt, wo dasselbe eine Graphik in einer neuen Zusammensetzung wird. Diese Photozusammensetzung, die durch den Benutzer ausgewählt wurde, ist nun die Standardzusammensetzung.
  • Bezug nehmend nun auf die einzelnen Komponenten, weist der Bilderzeugungsklient beispielsweise aber nicht einschränkend üblicherweise eine Konfiguration mit einem Webbrowser 18, ein Speicherungsmodul eines bestimmten Typs 20 mit Benutzerinformationen und anderen Informationen, eine Bilderzeugungserweiterung 22 und eine bestimmte Form einer Benut zerschnittstelle (nicht gezeigt), z. B. eine Tastatur- und Anzeige-Vorrichtung, auf. Im allgemeinen ist der Browser unter der Steuerung eines Mikroprozessors implementiert. Ein beispielhafter Bilderzeugungsklient 12 in der Form eines Personalcomputers ist in 9 gezeigt. 9 ist ein Diagramm auf hoher Ebene eines Personalcomputer-/Bilderzeugungs-Klienten 12. Wie gezeigt ist, umfaßt der Personalcomputer 12 einen Prozessor 902, einen Speicher 904, den Web-Browser 912, die Bilderzeugungserweiterung 922, einen reservierten Speicherbereich 916 und ein oder mehrerer Eingangs-/Ausgangs-(I/O)Tore 908. Alle diese Komponenten sind durch eine oder mehrere lokale Schnittstellen 910 verbunden. Das I/O-Tor 908 ist mit den Servern verbunden, wie vorangehend beschrieben wurde. Der Prozessor 902 wird verwendet, um den Web-Browser 912 auszuführen.
  • Webinhalt. In Betrieb greift der Browser 18 anfangs auf eine Website zu und lädt von derselben den Webinhalt unter Verwendung der entsprechenden Anforderungsbefehle herunter (HTTP für die aktuelle Erzeugung von Browsern). Wie durch die Definition hierin erwähnt wurde, umfaßt der Webinhalt 16 einen Satz von ausführbaren Befehlen, die in dem Browser 18 ausgeführt werden sollen, um dem Bilderzeugungsklienten 12 eine vorbestimmte Funktionalität zu liefern. Diese ausführbaren Befehle weisen allgemeine Zugriffsbefehle (siehe Definition oben) auf, die systemweite Befehle sind, ausgedrückt in einer bestimmten Sprache (z. B. Java), und die die Verfahren einer Bilderzeugungserweiterungs-API aufrufen, um auf den Personalbilderzeugungsverwahrungsort des Benutzers zuzugreifen, um Webbilderzeugungsoperationen durchzuführen. Derartige allgemeine Zugriffsbefehle können beispielsweise aber nicht einschränkend Java, JavaScript und C-sharp-Befehle sein. Der systemweite Standard spezifiziert üblicherweise „allgemeine Zugriffsbefehle", „allgemeine Zugriffsanforderungen" und „Zielgraphiken".
  • Eine Vielzahl von Funktionalitäten könnte durch den Webinhalt geliefert werden. Der Webinhalt könnte z. B. ausführ bare Befehle umfassen, um zu verursachen, daß der Bilderzeugungsklient 12 Zielgraphiken anzeigt, d. h. verfügbare Graphiken auf der zugegriffenen Webseite zeigt. Ein anderer Webinhalt könnte ausführbare Befehle zum Anzeigen einer Drucktaste sein, und wenn die Drucktaste geklickt wird verursachen, daß der Bilderzeugungsklient einen Druckauftrag erzeugt, der eine Graphik in dem Personalbilderzeugungsverwahrungsort für den Benutzer beschreibt und den Druckauftrag an einen Drucker überträgt. Er könnte ferner eine Vorschau auf die Zielgraphik liefern. Dementsprechend bezieht sich der Webinhalt 16 in 1 auf einen Satz von ausführbaren Befehlen, die in den Browser 18 heruntergeladen werden, um einen Dienst auszuführen, der durch einen Benutzer angefordert wurde.
  • Der Webbrowser führt den Webinhalt aus, egal ob derselbe durch den Benutzer HTML-interpretiert/ausgeführt wird, in Markierungen, die auf dem Bildschirm eines Benutzers angezeigt werden, oder in Java und JavaScript oder bestimmten anderen, geeigneten Sprachen. Wie vorangehend erwähnt wurde, enthält der Webinhalt ausführbare Befehle, die die API verwenden, die durch die Bilderzeugungserweiterung 22 geliefert wird, um indirekt auf den Personalbilderzeugungsverwahrungsort des Benutzers zuzugreifen. Die ausführbaren Befehle des Webinhalts könnten z. B. einen undurchsichtigen Zugriff zu den Informationen von dem Profil des Benutzers erhalten (um den Personalbilderzeugungs-Verwahrungsort des Benutzers zu spezifizieren), durch Interagieren mit einem Benutzerprofilspeicherdienst, in dem das Profil des Benutzers positioniert ist.
  • Die ausführbaren Befehle des Webinhalts könnten diesen Zugriff ausführen, um eine undurchsichtige Bezugnahme auf die Bezugnahme 67 auf den internen Standardzusammensetzungsspeicher des Benutzers und eine undurchsichtige Bezugnahme auf die Bezugnahme 68 auf den internen Standardgraphikspeicher des Benutzers zu erhalten. Der Webinhalt könnte ferner die API verwenden, die durch die Bilderzeugungs erweiterung 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 undurch sichtige Bezugnahmen unter Verwendung der API der Bilderzeugungserweiterung 22 erhalten, um mit Bilderzeugungsklientenressourcen und dem Personalbilderzeugungsverwahrungsort 50 des Benutzers zu kommunizieren. Wenn der Webinhalt 16 z. B. auf den Standardgraphikspeicher 16 zugreifen will, ist es erforderlich, daß der Webinhalt 16 ein Verfahren (bereitgestellt durch die API der Bilderzeugungserweiterung 22) aufruft, das eine undurchsichtige Bezugnahme auf den Standardgraphikspeicher liefert. Diese Bezugnahme könnte dann bei den nachfolgenden Aufrufen durch den Webinhalt an die API der Bilderzeugungserweiterung 22 verwendet werden.
  • Beispielsweise aber nicht einschränkend wäre ein Lösungsansatz, diese Einschränkung zu erreichen, eine Sitzung zu erzeugen. Eine Bilderzeugungserweiterungs-API für eine bestimmte Operation könnte z. B. folgendes aufweisen:
    CreateParticularOperationSession(): sendet SessionID zurück
    PerformOperation(Parameter, SessionID id): sendet ein Boole'sches Ergebnis zurück (was ein Ergebnis anzeigt)
    DeleteParticularOperationSession( SessionID sessionID)
  • Dementsprechend wäre es erforderlich, daß der Webinhalt die Bilderzeugungserweiterungs-API aufruft, um zuerst eine Sitzung durch Aufrufen von CreateParticularOperationSession zu erzeugen, die eine SessionID (Sitzungs-ID) zurücksendet. Diese SessionID wird verwendet, um nachfolgend Bezug auf die bestimmte Sitzung zu nehmen. Als nächstes ruft der Webinhalt die PerformOperation (Durchführoperation) in der Bilderzeugungserweiterungs-API mit einem bestimmten Eingang und der Sitzungs-ID auf. Der Webinhalt kann dann eine Vielzahl von Handlungen ausführen, wird aber nicht in der Lage sein, direkt auf Parameter und Operationen zuzugreifen, die der Sitzungs-ID „zugeordnet" sind, da die Zuordnung auf ei ne Weise erreicht wird, die für den Klienten „undurchsichtig" ist. Die Bilderzeugungserweiterungs-API und nur diese API alleine weiß, wie die Sitzungs-ID verwendet wird, um Bilderzeugungsklientenparameter zu bestimmen/auf diese abzubilden. Oft ist die Sitzungs-ID eine Bezugnahme, wie z. B. ein Zeiger, auf eine Datenstruktur, die für die Sitzung relevante Informationen enthält. Diese Datenstruktur könnte die Parameter und andere zugehörige Informationen enthalten. Wenn der Webinhalt seine Operation abgeschlossen hat, ruft der Webinhalt die DeleteParticularOperationSession (lösche bestimmte Operation-Sitzung) in der Bilderzeugungserweiterungs-API mit der Sitzungs-ID als einem Parameter auf. Dies weist die Bilderzeugungserweiterung-API an, jegliche Ressourcen (wie z. B. Speicher) freizugeben, die der Sitzung zugeordnet sind. Es wird darauf hingewiesen, daß wenn der Webinhalt die Sitzungs-ID ändert dies dem Webinhalt nicht ermöglicht, die eingeschränkten Parameter zu erhalten, sondern daß derselbe nur die Bilderzeugungserweiterung mit der bislang nicht gesehenen Sitzungs-ID verwechseln wird.
  • Die API, die durch die Bilderzeugungserweiterung bereitgestellt wird, kann üblicherweise als eine Bibliothek von Verfahren implementiert sein, die einen gesteuerten Zugriff auf die APIs liefern, die durch die Netzwerkdienste bereitgestellt werden, die an dem Personalbilderzeugungsverwahrungsort des Benutzers beteiligt sind. Diese Bilderzeugungserweiterungs-API ist so implementiert, um die APIs aufzurufen, die durch den Benutzerprofilspeicher, den Zusammensetzungsspeicher und den Graphikspeicher bereitgestellt sind. Auf die API, die durch die Bilderzeugungserweiterung bereitgestellt ist, wird allgemein nicht durch Fernaufruftechnik zugegriffen, obwohl dieselbe implementiert sein kann, um eine Fernaufruftechnik zu verwenden, um auf die APIs zuzugreifen, die durch die Netzwerkdienste bereitgestellt sind, die an dem Personalbilderzeugungsverwahrungsort des Benutzers beteiligt sind. Die API, die durch die Bilderzeugungserweiterung bereitgestellt ist, ist keine ex akte 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 10):
    • 1) einen Speicher 1010 zum Speicher von Graphikdateien;
    • 2) eine Logik 1020, die eine Graphikspeicherschnittstelle (API) implementiert (verwendet durch Webdienste und durch Klienten im allgemeinen). Diese Logik liefert eine Einrichtung zum Speichern und Wiedergewinnen von Graphiken in der Speicherung 1010;
    • 3) eine Verbindungsschnittstelle 1030 zu einem Netzwerk (mit dem die Benutzer verbunden sind); und
    • 4) eine Verbindungsschnittstelle 1040 zu dem Webdienst (der derselbe wie die Verbindung 1030 zu dem Netzwerk sein könnte, aber auch unterschiedlich).
    Variation 2 (gezeigt als Graphikspeicher 1100 in 11):
    • 1) eine Logik 1120, die eine Graphikspeicherschnittstelle (API) implementiert. Diese Logik liefert eine Einrichtung zum Erfüllen von Anforderungen nach Informationen und Daten, die Informationen und Daten umfassen, die sich auf eine „virtuelle" Graphik beziehen. Diese Logik verwendet eine Ressource, die zwischen dem Webserver und dem Graphikspeicher gemeinschaftlich verwendet wird. Diese andere, gemeinschaftlich verwendete Ressource könnte ein anderer Server auf dem Netzwerk sein, z. B. ein POP-Server für E-Mail.
    • 2) Eine Verbindungsschnittstelle 1130 zu dem Netzwerk (mit dem die Benutzer verbunden sind).
    • 3) Eine Verbindungsschnittstelle 1150 mit einer Ressource, die gemeinschaftlich zwischen dem Webserver und dem Graphikspeicher verwendet wird (die die gleiche sein könnte, wie die Verbindung mit dem Netzwerk, oder auch unterschiedlich).
    • 4) Ein optionaler Cache-Speicher 1110 zum Speichern von Graphiken, die dynamisch erzeugt werden (wenn angefordert).
  • Es wird betreffend 11 darauf hingewiesen, daß die Verbindung zwischen dem Webdienst und dem Graphikspeicher indirekt sein kann, durch die Spezifikation von Informationen über die gemeinschaftlich verwendete Ressource, die durch den Webdienst in dem URL plaziert wird, der auf die gewünschte Graphik Bezug nimmt. Der Web-Dienst erzeugt anfänglichen einen URL, der eine virtuelle Graphik darstellt, d. h. eine, die durch Bezugnahme auf einem gemeinschaftlich verwendete Ressource erhalten/erzeugt werden muß. Dementsprechend spezifiziert der URL selbst die gemeinschaftlich verwendete Ressource, wo die Graphik erhalten/erzeugt werden kann. Dieser URL spezifiziert ferner den Graphikspeicher, in dem auf die virtuelle Graphik zugegriffen werden kann. Wenn der Benutzer auf eine Taste in dem Webinhalt in dem Browser des Benutzers klickt, um diese Graphik zu erhalten, wird auf den oben genannten URL für die Graphik durch den Webinhalt Bezug genommen, und derselbe wird nach folgend an den Graphikspeicher geliefert. Der URL enthält Informationen über die gemeinschaftlich verwendete Ressource (zusätzlich zum Spezifizieren des Graphikspeichers), die später verwendet werden, um die gemeinschaftlich verwendete Ressource zu identifizieren. Auf die virtuelle Graphik kann z. B. durch den URL
    http://graphicstore.webmail.com/msg?mailserver=imap.webmail .com&user=joe&msgid=12453 Bezug genommen werden. Dieser URL weist innerhalb desselben verschiedene codierte Schlüsselinformationen auf. Diese enthalten die Identität des Graphikspeichers, graphicstore.webmail.com, die Identität des Mailservers imap.webmail.com, die Identität des Benutzers, joe, und die Identität der Mailnachricht, 12453. Auf Empfangen dieses URL von dem Webinhalt hin ruft der Graphikspeicher ein Verfahren zum Interpretieren des URL und zum Erzeugen eines Aufrufs nach der gemeinschaftlich verwendeten Ressource auf, um die gewünschte Graphik zu erhalten/erzeugen.
  • Wenn der Graphikspeicher z. B. eine Anforderung nach einer Skizzen-JPEG-Bittabelle von Seite 1 der virtuellen Graphik empfangen hat, auf die durch
    http://graphicstore.webmail.com/msg?mailserver=imap.webmail .com&user=joe&msgid=12453
  • Bezug genommen wird, dann kontaktiert der Graphikspeicher den E-Mail-Server imap.webmail.com unter Verwendung des IMAP-Protokolls und fordert Daten betreffend die Meldung 12453 für den Benutzer Joe an. Der Graphikspeicher wandelt dann die E-Mail-Nachrichtdaten in eine Skizzen-JPEG-Bittabelle von Seite 1 um und verwendet diese Bittabelle, um die Forderung zu erfüllen. Die E-Mail-Nachrichtdaten können in eine Reihe von Seiten umgewandelt werden, unter Verwendung von herkömmlichen Mechanismen, die ermöglichen, daß Text in druckbare Graphiken umgewandelt wird (d. h. PDF). Die druckbaren Graphiken könnten in eine Bittabelle unter Verwendung von herkömmlichen Mechanismen umgewandelt werden, die ermöglichen, daß Druckgraphiken in Bittabellen umgewandelt werden (wie z. B. die offene Quelle Ghostscript-Graphikübersetzer).
  • Die Graphikspeicherungsschnittstelle (API) könnte eine Vielzahl von verschiedenen Formen annehmen, abhängig von den Diensten, die der Graphikspeicher liefern möchte, und den Dialogtypen, die derselbe mit dem Webinhalt unterstützen möchte. Sie könnte z. B. folgende Form annehmen:
    • – ein Verfahren oder mehrere Verfahren zum Bestimmen von Informationen über eine Graphik, einschließlich (zum Beispiel):
    • – Anzahl von Seiten (oder allgemeiner gesagt Seitenbilddaten)
    • – Vorhandensein von Farbe auf jeglicher der Seiten
    • – weisen alle Seiten (oder Seitenbilddaten) die gleiche Größe auf
    • – ein Verfahren oder mehrere Verfahren zum Bestimmen, in welchen Graphikformaten die Gesamtgraphik in der Speicherung verfügbar ist, einschließlich (zum Beispiel):
    • – Postscript
    • – PDF
    • – PCL5
    • – PCL6
    • – PCL6 für den Color LaserJet 4500
    • – ein Verfahren oder mehrere Verfahren zum Erhalten der Gesamtgraphik in einem Graphikformat, in dem die Graphik verfügbar ist (Graphikübersetzung wird implizit gehandhabt, so daß kein explizites Übersetzungsverfahren erforderlich ist);
    • – ein Verfahren oder mehrere Verfahren zum Bestimmen der verfügbaren Seitenreihenfolge, in der die Gesamtgraphik verfügbar ist, und der Graphikformate, in denen die Graphik für diese Seitenreihenfolgen verfügbar ist;
    • – ein Verfahren oder mehrere Verfahren zum Erhalten der Gesamtgraphik in einer verfügbaren Seitenreihenfolge in dem Graphikformat, in dem die Graphik verfügbar ist;
    • – ein Verfahren oder mehrere Verfahren zum Bestimmen, in welchen Graphikformaten eine Seite (d. h. Seitenbilddaten) der Graphik verfügbar ist, einschließlich (zum Beispiel):
    • – JPEG
    • – GIF
    • – PNG
    • – Teil-PDF
    • – ein Verfahren oder mehrere Verfahren zum Erhalten einer Seite (d. h. Seitenbilddaten) der Graphik in einem Graphikformat, in dem die Seite (d. h. Seitenbilddaten) verfügbar ist.
  • ANMERKUNG: Die gewünschte Seitenreihenfolge kann durch Erhalten der Gesamtgraphik mit den Seiten in der gewünschten Reihenfolge oder durch Erhalten jeder einzelnen Seite in der gewünschten Reihenfolge erreicht werden.
  • Üblicherweise weisen die Ressource sowie der Webdienst, der dem Graphikspeicher zugeordnet ist und der Graphikspeicher selbst eine eigene Bezugnahme auf, die ein URL sein kann. Der Graphikspeicher kann wie oben erwähnt eine Fernspeicherung für einen Benutzer liefern, der Webinhalt von dem zugeordneten Webdienst heruntergeladen hat. Auf den Graphikspeicher kann ferner indirekt durch Benutzer durch andere Webdienste zugegriffen werden.
  • Es wird darauf hingewiesen, daß die Zuordnung zwischen einem Webdienst und einem Graphikspeicher besonders vorteilhaft ist, wenn ein Benutzer eine temporäre oder permanente Speicherung benötigt, um Graphiken von dem Webdienst an einem anderen Webdienst zu bearbeiten/verarbeiten. Ein Benutzer könnte z. B. mit seinem/ihrem Browser auf einen ersten Webdienst (z. B. eine Webcam) zugreifen und den Webinhalt aus derselben verwenden, um eine Webcam-Bildgraphik innerhalb eines Graphikspeichers zu erzeugen, der diesem ersten Webdienst zugeordnet ist, und um ferner eine Zusammensetzung für denselben in einem Standardzusammensetzungsspeicher in dem Personalbilderzeugungsverwahrungsort des Benutzers zu erzeugen und eine Bezugnahme auf die neu erzeugte Zusammensetzung (üblicherweise einen URL) der Webcam-Graphik in dem Graphikspeicher hinzuzufügen. Der Benutzer kann dann zu einem zweiten Webdienst blättern (z. B. einem Drucker zum Drucken des Webcam-Bildes). Der Webinhalt von dem zweiten Webdienst kann dann durch die Bezugnahme in der neu erzeugten Zusammensetzung auf die Webcam-Bildgraphik zugreifen und dessen Druckfunktion mit diesen Webcam-Bilddaten ausführen. Eine der Vorteile dieser Sequenz ist, daß der Benutzer keine Speicherung für die Webcam-Graphik liefern muß.
  • Es sollte darauf hingewiesen werden, daß bei einem weiteren Aspekt der vorliegenden Erfindung einige Webdienste sowohl innerhalb als auch außerhalb der Brandmauer es wirtschaftlich wichtig finden können, daß in demselben 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 11 gezeigt ist. Eine Bezugnahme kann in einer Zusammensetzung auf eine Ressource geliefert werden, die nicht wirklich in dem Graphikspeicher existiert, wenn die Fähigkeit besteht, die Existenz dieser Ressource zu simulieren. Es sei z. B. angenommen, daß ein Webdienst, der einen zugeordneten Graphikspeicher aufweist, eine URL-Bezugnahme auf ein wichtiges Dokument in dem zugeordneten Graphikspeicher dem Personalbilderzeugungsverwahrungsort des Benutzers wie folgt hinzufügt (durch Webinhalt, der für denselben agiert):
    „http://famousdocs.com?doc=declarationofindependence". Ein Benutzer könnte nachfolgend nach einem Bittabellenbild (z. B. JPEG) der ersten Seite des Dokuments fragen, auf das durch diesen URL Bezug genommen wird, über den Webinhalt (vermutlich von einem anderen Webdienst oder dem gleichen Webdienst) in seinem Browser. Der Graphikspeicher, auf den durch den Webinhalt über diese Bezugnahme zugegriffen werden würde (indirekt durch die Bilderzeugungserweiterung) weist vielleicht nicht das eigentliche JPEG-Bild der ersten Seite auf, sondern nur eine Textdatei des betreffenden wichtigen Dokuments. Der Graphikspeicher jedoch könnte verschiedene Dienste umfassen, einschließlich eines Text-zu-Bittabelle-Umwandlungsdienstes. Aus dieser Textdatei erzeugt der Graphikspeicher mit diesem Umwandlungsdienst eine Bittabelle der ersten Seite und sendet die angeforderte Bittabelle an den Benutzer an seinem/ihrem Browser zurück.
  • Bei einem zweiten Beispiel könnte ein Benutzer zu einem Webmaildienst browsen bzw. blättern und einen URL erhalten, wie zum Beispiel „http://graphicstore.webmail.com?imap=imap1.webmail.com&use r=johnsmith&messageid=23456", der einer E-Mail-Nachricht des Benutzers entspricht. Später könnte der Benutzer über den Webinhalt in seinem Browser, der den Graphikspeicher indirekt kontaktiert, eine Anfrage tätigen, daß die erste Seite dieser E-Mail-Nachricht formatiert wird, um in der Form eines JPEG-Bildes gedruckt zu werden. In diesem Fall wird die E-Mail-Nachricht tatsächlich in einem anderen Netzwerkdienst, wie z. B. einem „IMAP-Dienst" gespeichert, der verantwortlich für das Speichern und das Liefern von Zugriff auf E-Mail-Nachrichten ist. Ansprechend auf die Anforderung des Benutzers kontaktiert der Graphikspeicher den IMAP-Dienst unter Verwendung der Informationen, die inner halb der Bezugnahme eingebettet sind, erhält die E-Mail-Nachricht des Benutzers, formatiert die E-Mail-Nachricht zum Drucken unter Verwendung eines Dienstes, der ferner an dem Graphikspeicher verfügbar sein kann, und verwendet dann einen unterschiedlichen Dienst an dem Graphikspeicher, um eine Bittabelle der ersten Seite zu erzeugen, da der Graphikspeicher nicht eigentlich aufweist, nach was der Benutzer fragt. (Der in dem vorangehenden Satz erwähnte Dienst könnte durch einfache Codebibliotheken ersetzt werden, die durch Graphikspeicherdienste verwendet werden. Dies wird in der Tat in der bevorzugten Implementierung durchgeführt.)
  • Es wird darauf hingewiesen, daß der Graphikspeicher für den Webdienst nicht auf der gleichen Maschine vorliegen muß wie der Webserver. Er könnte auf einer anderen Maschine positioniert sein. Der Schlüsselpunkt ist, daß Webinhalt, der von dem Webdienst kommt, der dem Graphikspeicher zugeordnet ist, über den Graphikspeicher „Bescheid weiß" und den Graphikspeicher durch Erzeugen eines geeigneten URL verwendet (oder allgemeiner eine Bezugnahme), der zurück auf den Graphikspeicher verweist. Wie hier erörtert wird, muß der Graphikspeicher die fragliche Ressource nicht einmal aufweisen – nur die Fähigkeit, auf Anfragen betreffend diese Ressource zu antworten. Dies ist wichtig, da es den Bedarf nach einer Speicherung in dem Graphikspeicher reduziert, sicherstellt, daß die Informationen aktuell sind (da mehrere Kopien die Möglichkeit mit sich bringen, daß eine Kopie veraltet ist) und daß einige Operationen schneller vervollständigt werden. Wenn ein Graphikspeicher z. B. durch einen Webinhalt gefragt wird, ob eine bestimmte Graphik in diesem Fall eine virtuelle Graphik) eine bestimmte Farbe enthält, kann der Zusammensetzungsspeicher in der Lage sein, sehr schnell auf diese Frage zu antworten, basierend auf Wissen über die zugrundeliegenden Informationen (z. B. eine E-Mail-Nachricht).
  • Es sollte darauf hingewiesen werden, daß ein Unterschied zwischen einer Graphikspeicherschnittstelle und einer Gra phikspeicherimplementierung 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 umfas sen, 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:
    Figure 00470001
  • 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. Parame-tertypen können beschreibend für die Bedeutung des Parameters sein oder nicht. Sind sie dies nicht, ist es notwendig, einen Parameternamen zu umfassen, um sicherzustellen, daß der Leser die Bedeutung des Parameters versteht.
  • ParameterNameN ist der Name für den Parameter N, wobei N der n-te Parameter in der Argumentenliste des Verfahrens ist. Parameternamen sollten die Bedeutung des Parameters anzeigen. Manchmal sind sie redundant und können optional weggelassen werden. Ein Parameter der z. B. als „Session session" (Sitzung Sitzung) beschrieben ist, mit einem Parametertyp Sitzung und einem Parameternamen Sitzung ist unnötig redundant. In diesen Fällen ist es üblich, den Parameter beim Beschreiben des Verfahrens der API wegzulassen.
  • Es sollte darauf hingewiesen werden, daß ein Parameter mit dem Namen „OpaqueRef preferredDestination" (undurchsichtige Bezugnahme bevorzugter Zielort) mit den zugesendeten Werten des Typs OpaqueRef (undurchsichtige Bezugnahme) kompatibel sind. Der Name „preferredDestination" (bevorzugter Zielort) ist lediglich der beschreibende Name des Parameters und bestimmt nicht die Parameterkompatibilität. Zurückgesendete Werte haben üblicherweise keine Namen, da die Bedeutung des zurückgesendeten Wertes durch den Verfahrensnamen impliziert wird. Jegliche Anmerkungen werden durch // identifiziert.
  • 1. Programmierschnittstellen (APIs)
  • Netzwerkdienst-APIs
  • i. Benutzerprofil-Speicherdienst-API
    Figure 00490001
  • ii. Zusammensetzungsspeicherdienst-API
    Figure 00490002
  • Figure 00500001
  • iii. Graphikspeicherdienst-API
    Figure 00500002
  • //ANMERKUNG: Jede Seite ist eine einzelne Graphik (dies ist eine Entwurfsentscheidung, die beim Erzeugen dieser APIs getroffen wurde)
    Figure 00500003
  • //ANMERKUNG: 6 beschreibt einen Prozeß, bei dem eine Graphik erzeugt, geöffnet, in dieselbe geschrieben und geschlossen wird. Zu Zwecken des vorliegenden API-Beispiels wurde der Prozeß vereinfacht. Der Konsistenz halber sind die folgenden fünf Verfahren, die die in dem Flußdiagramm beschriebenen Verfahren verfolgen, beschrieben. Diese Verfahren erzeugen eine einzelne Graphik, die basierend auf der in diesem Beispiel verwendeten Entwurfsentscheidung in einer einzelnen „Seite" (oder einem Bildhintergrund) resultieren würde.
  • Figure 00500004
  • Figure 00510001
  • b. Bilderzeugungserweiterungs-API
    Figure 00510002
  • //ANMERKUNG: Im Hinblick auf BrowseToPreferredDestination (blättere zu bevorzugtem Zielort) aktiviert dieses Verfahren den Browser, um darauf ausgerichtet zu sein, zu einem bevorzugten Zielort zu blättern, ohne dem Benutzer den zugrundeliegenden URL freizulegen.
  • Figure 00510003
  • //ANMERKUNG: Im Hinblick auf CreateOpaqueRefFromURL (erzeuge undurchsichtige Bezugnahme aus URL) ist es einigen Websites nicht erlaubt, dieses Verfahren überhaupt zu verwenden, einigen Websites ist es nur erlaubt, ihre eigenen URLs in OpaqueRef (undurchsichtige Bezugnahmen) umzuwandeln (um einen willkürlichen Zugriff auf Netzwerkdienste zu verhindern) und wiederum anderen ist ein umfassender Zugriff auf dieses Verfahren erlaubt. (Zugriff basiert auf Nachweisen.)
    Figure 00510004
  • //ANMERKUNG: Im Hinblick auf GetURLFromOpaqueRef (erhalte URL von undurchsichtiger Bezugnahme) ist der Zugriff auf dieses Verfahren eingeschränkt. (Der Zugriff basiert auf Nachweisen. Zugriff auf jegliche dieser Verfahren kann basierend auf Nachweisen eingeschränkt sein.)
    Figure 00510005
    Figure 00520001
  • //ANMERKUNG: Jede Seite ist eine einzelne Graphik (dies ist eine Entwurfsentscheidung, die beim Erzeugen dieser APIs getroffen wurde)
    Figure 00530001
    //erzeugt höchstens eine Graphik aus den Graphikdaten
    Figure 00530002
    //erzeugt eine oder mehrere Graphiken aus den Graphikdaten
    Figure 00530003
  • //ANMERKUNG: 6 beschreibt einen Prozeß, bei dem eine Graphik erzeugt, geöffnet, in dieselbe geschrieben und geschlossen wird. Zu Zwecken des vorliegenden API-Beispiels wurde der Prozeß vereinfacht. Der Konsistenz halber sind jedoch die folgenden fünf Verfahren, die die in dem Flußdiagramm beschriebenen Verfahren verfolgen, umfaßt. Diese Verfahren erzeugen eine einzelne Graphik, die basierend auf den in diesem Beispiel verwendeten Entwurfsentscheidungen nur zu einer einzelnen „Seite" (oder Unterlage) führen würden.
  • Figure 00530004
  • 2. Pseudocodebeispiele der Verwendung von APIs
  • a. Webinhalt, der den Browser zu einer Webbilderzeugungshomepage umleitet
  • //Anmerkung: Das folgende Verfahren wird aufgerufen als Ergebnis des Endverbrauchers, der auf ein Link (oder eine Taste) auf der Webbilderzeugungs-Homepage klickt. Dieses Verfahren ist Teil des Webinhalts, der in den Browser des Benutzers heruntergeladen wird. Die Bezeichnung „=" bedeutet das Zuweisen eines Werts zu einer Variablen, d. h., in dem Verfahren unten wird die Variable „session" dem Wert der Sitzung zugeordnet, die durch das Verfahren „CreateSession" (Sitzung erzeugen) erzeugt wird. Der „→" Operator (in den Beispielen unten verwendet) ist eine Standardbezeichnung für das Aufrufen eines Verfahrens in einem Objekt. Der Einfachheit halber werden Dienste als Objekte dargestellt. Bei einer typischen Implementierung würde der tatsächliche Dienst als ein „proxy" (Stellvertreter-) Objekt dargestellt werden, da derselbe auf einer entfernten Maschine arbeitet. Ein „proxy"-Objekt liefert eine lokale Rufschnittstelle zu dem Klientencode und handhabt die Kommunikation, die mit dem tatsächlichen Dienst erforderlich ist (versteckt den Kommunikationsprozeß effektiv vor dem Klientencode).
  • Figure 00540001
  • b. Implementierung ausgewählter Verfahren der Bilderzeugungserweiterungs-API
  • i. GetReferenceToPreferredImagingHomeDestination
    Figure 00540002
  • //Anmerkung: Dies ist ein privates Verfahren, d. h. nicht als Teil der Bilderzeugungserweiterungs-API freilegend, die die Benutzeridentität UserIdentification durch Öffnen des Verfahrens GetUserIdentification (erhalte Benutzeridentifikation) mit dem Argument „session" (Sitzung) zurücksendet, das bei dem vorangehenden Verfahren bezüglich des Umleitens des Browsers erhalten wurde.
  • Figure 00550001
  • //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.
  • Figure 00550002
  • //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.
  • Figure 00550003
  • //Anmerkung: Der nachfolgende Pseudocode ruft auf /ruft ein Verfahren „GetReferenceToPreferredImagingHomeDestinationURL", das durch das UserProfileStore-Objekt oder den -Service bereitgestellt wird, der einen Bilderzeugungs heimzielort zurücksendet, der durch den Benutzer bevorzugt wird (bei diesem Beispiel einen URL).
  • Figure 00560001
  • //Anmerkung: Der nachfolgende Pseudocode erzeugt eine undurchsichtige Bezugnahme „OpaqueRef", die dem URL entspricht, und sendet dieselbe unter Verwendung eines privaten Bilderzeugungserweiterungsverfahrens mit den Argumenten „session" und „preferredImagingHomeDestinationURL" zurück.
  • Figure 00560002
  • //Anmerkung: Der nachfolgende Pseudocode beendet die Kommunikation mit dem Benutzerprofilspeicher.
  • Figure 00560003
  • //Anmerkung: Der nachfolgende Pseudocode sendet die undurchsichtige Bezugnahme zurück.
  • Figure 00560004
  • ii. BrowseToPreferredDestination
    Figure 00560005
  • //Der nachfolgende Pseudocode ist ein privates Verfahren, nicht freiliegend als Teil der Bilderzeugungserweiterungs-API, die eine undurchsichtige Bezugnahme in einen URL umwandelt.
  • Figure 00560006
  • //Das nachfolgende ist ein Verfahren, das den Browser zu einem Zielort umleitet, dem ein URL gegeben wurde
    Figure 00560007
  • Das vorangehende umfaßt eine Mehrzahl von innovativen APIs. Es wird bei den Beispiel-APIs auf den Satz von Verfahren zum Einstellen eines Zielortes zum Umleiten eines Browsers basierend auf einer bestimmten Form einer empfangenen Umleitungseinleitung hingewiesen. Eine derartige Umleitungseinleitung könnte jegliche Form von Eingangssignal von dem Browser, einem Netzwerk oder jeglichem anderen geeigneten Eingang sein, das direkt oder indirekt erhalten wird. Üblicherweise würde der Prozeß das Empfangen einer Umleitungseinleitung zum Umleiten eines Browsers aufweisen; das Erhalten einer direkten oder indirekten Bezugnahme auf einen Zielort; und dann das Veranlassen, daß der Browser zu diesem Zielort blättert.
  • Ein Beispiel einer derartigen Umleitung sind Druckerzielorte. Beispielhafte Druckerzielort-Umleitungsverfahren könnten beispielsweise eine Liste bevorzugter Druckerzielorte (PreferredPrinterDestinationList, d. h. eine Liste von Druckern, die angezeigt oder anderweitig für eine Auswahl angeboten werden), einen bevorzugten Druckerzielort (PreferredPrinterDestination, d. h. einen einzelnen, bevorzugten Drucker, der ausgewählt wird, und eine Druckereinstellungsseite, die angezeigt oder anderweitig zur Auswahl angeboten wird) und einen für sofortiges Drucken bevorzugten Zielort (PreferredPrintNowDestinatin, d. h. ein Drucker, der zur Verwendung mit voreingestellten Einstellungen ausgewählt wird – keine Möglichkeit zum Einstellen der Druckeinstellungen) in dem Profil des Benutzers in dem Benutzerprofilspeicher aufweisen, sowie ein Verfahren zum Auswählen eines bevorzugten Druckzielorts basierend auf Kriterien (PrintActionCriteria) und einem Kontext (PrintActionContext). Diese Verfahren verwenden die Argumente „userProfileStoreSession" und „uRLpreferred...." oder „printActionCriteria". Üblicherweise ist die Bezugnahme ein URL, dieselbe kann jedoch ferner eine andere geeignete Bezugnahme sein, wie z. B. ein proprietäres Codierungsschema zum Identifizieren (und somit zum Bezug nehmen auf) die fragliche Ressource.
  • Auf ähnliche Weise wird auf die verschiedenen Verfahren zum Erhalten (Get) „GetReference..." oder „GetPrintActionCriteria" hingewiesen, zum Erhalten einer der Bezugnahmen, die durch das Einstellungsverfahren für die bevorzugte Druckerzielortliste, den bevorzugten Druckerzielort, den bevorzugten Zielort zum Sofortdrucken und den PrintActionCriteria (Druckaktionskriterien) in dem Profil des Benutzers in dem Benutzerprofilspeicher eingestellt wurden. Diese Verfahren verwenden das Argument „UserProfileStoreSession" und senden einen „URL" oder die „PrintActionCriteria" zurück.
  • Der GetDestinationPrintActionCriteriaAndContext ist von besonderem Interesse. Dieses Verfahren wird verwendet, um die bevorzugte Druckaktion des Benutzers in einer bestimmten Situation (Kontext) basierend auf Kriterien, d. h. vorgeschriebenen Regeln zu erhalten. Dieses Verfahren würde den Browser zu der bevorzugten Druckerliste, PreferredPrinterListDestination 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 PreferredPrinterDestination 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 PreferredPrintNowDestination (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 GetPrin tActionDestinationUsingCriteriaAndContext (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 „GetPrintNowDestination" (oder wie die Funktion genannt wird) erhalten wird.
  • Der Zweck von GetDestinationUsingPrintActionCriteriaAndContext ist es, beim Bestimmen zu helfen, welche der verfügbaren Druckaktionen unternommen werden sollten, und eine Bezugnahme auf den bevorzugten Zielort zurückzusenden, auf den der Browser gerichtet werden sollte. Dieses Verfahren nimmt Session als Parameter und den Typ PrintActionContext sowie den Typ PrinActionCriteria. PrintActionContext liefert Informationen, die beim Bestimmen des Zielorts unter Verwendung des Verfahrens GetDestinationUsingPrintActionCriteriaAndContext nützlich sein könnte. Derartige Kontextinformationen könnten der URL der aktuelle Website, der Typ der aktuellen Website (z. B. wie durch ein Etikett in der aktuellen Website bestimmt wird), wo der Benutzer positioniert ist, ob sich der Benutzer innerhalb oder außerhalb einer Brandmauer befindet, und verschiedene andere Informationen sein. Die PrintActionCriteria können ein Regelsatz, konditionelle Logik oder andere Kriterien zur Verwendung/zum Interpretieren der Kontextinformationen sein, um den bevorzugten Zielort zu bestimmen. Beispielsweise aber nicht einschränkend könnte ein Satz von Regeln/konditioneller Logik folgendes sein:
    Wenn die Website – Amazon.com ist, dann ist der Zielort PreferredPrintNowDestination;
    Wenn die Website – eine Produktivitätswebsite ist (basierend auf einem Etikett in dem Webinhalt für die Website, z. B.), dann ist der Zielort
    PreferredPrinterDestination;
    Wenn die Benutzerposition – außerhalb des Büros ist, dann ist der Zielort
    PrinterA;
    Wenn die Benutzerposition – im Büro ist, dann ist der Zielort
    PreferredPrinterListDestination;
    Wenn der Brandmauerstatus – außerhalb des Büros ist, dann wird PrinterB verwendet.
  • Das Verfahren GetDestinationUsingPrintActionCriteriaAndContext würde die vorangehenden Regeln in der Datenstruktur der PrintActionCriteria basierend auf den Informationen von dem PrintActionContext interpretieren, um den Zielort zu bestimmen.
  • Es wird in der Bilderzeugungserweiterungs-Beispiel-API auf die Verfahren zum Blättern zu einem bevorzugten Druckzielort unter Verwendung einer undurchsichtigen Bezugnahme hingewiesen. Die Verfahren umfassen „CreateOpaqueRefFromURL", das den „URL" als ein Argument benutzt und „OpaqueRef" zurücksendet; und das Verfahren „BrowseToPreferredDestination", das die Argumente „Session, OpaqueRef preferredDestination" verwendet, um zu verursachen, daß der Browser zu der URL-Bezugnahme blättert, ohne den URL für den Webinhalt freizulegen.
  • Bezug nehmend auf die Beispiel-API für die Bilderzeugungserweiterung wird auf das vergleichbare Verfahren hingewiesen, das zum Erhalten einer undurchsichtigen Bezugnahmen „OpaqueRef" für den Druckerlistenzielort, den Bevorzugter-Drucker-Zielort, den Zielort zum sofortigen Drucken und den Bevorzugte-Bilderzeugungs-Homepage-Zielort unter Verwendung entsprechender GetReference-Verfahren eingestellt ist. Auf ähnliche Weise wird auf den Satz von Verfahren zum Einstellen der Bezugnahme auf den bevorzugten Zielort hingewiesen, d. h. den PreferredPrintListerDestination, PreferredPrinterDestination, PreferredPrintNowDestination und den PreferredImagingHomePageDestination, unter Verwendung des geeigneten „SetReferenceTo..."-Verfahrens mit den Argumenten des Typs „Session, OpaqueRef".
  • Auf ähnliche Weise wird auf das Verfahren zum Einstellen der Druckaktionskriterien zum Bestimmen eines automatischen Druckzielorts hingewiesen, d. h. „SetPrintActionCriteria" die die Argumente „UserProfileStoreSession und „PrintActionCriteria" verwenden. Außerdem umfaßt ist ein Verfahren zum Erhalten (Get) „Sessions, PrintRctionDestinationPreference". Die SetPrintActionDestinationPreference ist der Standardzielort, der verwendet wird, wenn keine PreferredPrinterList oder kein PreferredPrinter oder kein PreferredPrintNow oder PreferredImagingHomePage an dem Browser ausgewählt wurde. Ferner umfaßt ist ein Get-Verfahren zum Erhalten einer undurchsichtigen Bezugnahme „OpaqueRef" für die PrintActionDestinationPreference, die in der Einstellungsbezugnahme unter Verwendung der Argumente „Sessions, PrintRctionDestinationPreference" eingestellt ist. Ferner umfaßt ist ein Get-Verfahren „GetPrintActionDestinationPreference" unter Verwendung des Arguments „Session", um die PrintRctionDestinationPreference zu erhalten.
  • Bezug nehmend nun auf 2 ist die gleiche Konfiguration gezeigt wie in 1, bei der aber der Bilderzeugungsklient 12 außerhalb der Brandmauer 14 liegt. In dieser Situation wäre auf keinen der Server innerhalb der Brandmauer 14 zugreifbar, einschließlich dem Zusammensetzungsspeicher und dem Graphikspeicher. Dies ist durch Grauunterlegung der Server innerhalb der Brandmauer und ferner durch Grauunterlegung der Bezugnahme auf das interne Benutzerprofil dargestellt.
  • Bezug nehmend nun auf 3 ist eine unterschiedliche Konfiguration der vorliegenden Erfindung bereitgestellt. Gleich numerierte Blöcke haben die gleiche Bedeutung wie in 1 und 2. Bei dieser Konfiguration umfaßt der 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 Brandmau er 14 verbunden hat oder sich anderweitig innerhalb der Brandmauer befindet, oder ob sich derselbe außerhalb der Brandmauer befindet.
  • Es wird darauf hingewiesen, daß der Bilderzeugungsklient 300 in 3 innerhalb der Brandmauer 14 gezeigt ist. Dementsprechend hat der Browser 318 in dem Bilderzeugungsklienten Zugriff auf die Webserver 30 und 32 innerhalb der Brandmauer, sowie auf die Server 40 und 42 außerhalb der Brandmauer. Ferner hat der Benutzer die Option, einen Standardzusammensetzungsspeicher und einen Standardgraphikspeicher entweder innerhalb oder außerhalb der Brandmauer auszuwählen.
  • 4 zeigt die gleiche Konfiguration wie in 3, außer daß sich der Bilderzeugungsklient 300 außerhalb der Brandmauer 14 befindet. Somit hat der Bilderzeugungsklient keinen Zugriff auf die Webserver 30 und 32 und den Zusammensetzungsspeicher 62 und den Graphikspeicher 60 innerhalb der Brandmauer 14. Dieser fehlende Zugriff ist in diesem Fall durch Grauunterlegung der Server 30, 32, 60 und 62 sowie der Bezugnahmen 367 und 368 auf den internen Standardzusammensetzungsspeicher und den internen Standardgraphikspeicher dargestellt.
  • GRUPPENZUSAMMENSETZUNGSSPEICHER Bezug nehmend nun auf 5 ist eine Konfiguration der vorliegenden Erfindung gezeigt, bei der mindestens ein Zusammensetzungsspeicher 500 und ein Graphikspeicher 501 vorhanden ist, der durch eine Mehrzahl von Bilderzeugungsklienten 502 und 505 gemeinschaftlich verwendet wird. Gleich numerierte Bezugnahmen haben die gleiche Bedeutung wie in 1. Es wird darauf hingewiesen, daß jeder Bilderzeugungsklient 502 und 505 einen Webbrowser 18 umfaßt, der Webinhalt 16 heruntergeladen hat, sowie eine Bilderzeugungserweiterung 22 und eine Benutzeridentifizierung 20. Bei dem Beispiel, das für die Darstellung der Konzepte gezeigt ist, umfaßt der Webinhalt 16 für den Bilderzeugungsklienten 502 Webinhalt von jedem der Webserver 30 oder 32, die innerhalb der Brandmauer vorliegen, während der Webinhalt 16 für den Bilderzeugungsklienten 505 Webinhalt von einem Webserver 40 außerhalb der Brandmauer umfaßt. (Es wird darauf hingewiesen, daß dieses Diagramm ausschließlich für eine Vereinfachung der Darstellung vorliegt. Beide Bilderzeugungsklienten 502 und 505 haben Zugriff auf alle Webserver innerhalb und außerhalb der Brandmauer 14, da sie innerhalb der Brandmauer 14 liegen, und können Webinhalt von denselben herunterladen.) Die Benutzeridentifizierung 20, die sich in dem Bilderzeugungsklienten 502 befindet oder in denselben geladen ist, umfaßt eine Bezugnahme auf einen Server 566, der das interessierende Benutzerprofil 564 enthält. Auf ähnliche Weise umfassen die Benutzerinformationen 20, die sich in dem Bilderzeugungsklienten 505 befinden oder in denselben geladen sind eine Bezugnahme 524 auf ein Benutzerprofil 574 auf dem Server 576.
  • Es sollte darauf hingewiesen werden, daß ein gegebener „Bilderzeugungsklient" einfach eine öffentliche Maschine an einem Flughafen sein könnte. Diese öffentliche Maschine könnte durch Einfügen einer „Smartcard" in die öffentliche Maschine verwendet werden. Die Smartcard würde die „Benutzerinformationen 20'' enthalten. Dementsprechend ist das Benutzerprofil im allgemeinen dem Benutzer zugeordnet und nicht der Bilderzeugungsklientenmaschine an sich. Es wird darauf hingewiesen, daß viele einzelne „Benutzeridentifikationen 20'' vorhanden sein können, die sich alle auf das gleiche Benutzerprofil (oder Satz von Benutzerprofilen) beziehen. Es könnte z. B. eine „Benutzeridentifizierung 20'' in dem Laptop des Benutzers und eine andere in dem Mobiltelephon des Benutzers vorhanden sein, wobei sich beide auf das gleiche Benutzerprofil beziehen.)
  • Bezug nehmend wiederum auf 4 umfaßt das Benutzerprofil 564 eine Bezugnahme 567 auf einen Standardzusammensetzungsspeicher 62, eine Bezugnahme 568 auf einen Standardgraphikspeicher 60, eine Bezugnahme 569 auf eine Standardzusammen setzung 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 Benut zerprofil 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 Rundschreiben zusammensetzung 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 ver fü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 6A und 6B ist eine Beispielimplementierung der Operation der vorliegenden Erfindung dargestellt, um ein leichtes Verständnis zu liefern. Die Erfindung soll nicht auf diese spezifische Sequenz von Operationsschritten beschränkt sein. Zusätzlich dazu würde ein Fachmann auf dem Gebiet erkennen, daß jeder der Schritte auf andere, vergleichbare Weisen implementiert werden könnte.
  • In 6A beginnt die Operation bei Startblock 600, der anzeigt, daß der Bilderzeugungsklient 12 aktiviert wurde. Üblicherweise wird dies dadurch erreicht, daß der Benutzer seinen/ihren Benutzeranmeldenamen und das Paßwort zum Einfügen einer Karte in einen allgemeinen Bilderzeugungsklienten eingibt. Die Ausführung bewegt sich dann weiter zu Block 602, bei dem ein Benutzerprofil ausgewählt wird. Die Details für die Auswahl des Benutzerprofils werden detaillierter im Hinblick auf 7 erörtert. Bei diesem Beispiel blättert der Browser an dem Bilderzeugungsklienten 12 dann zum Beispiel zu einem Lieferantenwebserver 30 bei Block 604. Ein Lieferantenwebserver würde Graphiken für ein nachfolgendes Verarbeiten liefern, möglicherweise an einen anderen Webdienst, d. h. einen Verbraucherwebdienst.
  • Die Operation bewegt sich dann weiter zu Block 606, bei dem Lieferantenwebinhalt von dem Server 30 angefordert und auf den Bilderzeugungsklienten 12 heruntergeladen wird. Die vorangehenden Schritte des Blätterns zu dem Webserver und des Erhaltens von Lieferantenwebinhalt umfassen bei einem Ausführungsbeispiel, daß der Benutzer einen geeigneten URL für eine Webseite einer Website eingibt. Der Browser 18 an dem Bilderzeugungsklienten 12 empfängt diese URL-Eingabe und überträgt ansprechend darauf eine geeignete Anfrage (in manchen Fällen durch eine Brandmauer) für die Webseite an einen Webserver. Der Webserver, z. B. Webserver 30, empfängt diese Anfrage und antwortet durch Übertragen der gewünschten Webseite an den Webbrowser. Der Browser 18 empfängt die übertragene Webseite und zeigt dieselbe an.
  • Webseiten weisen eine Reihe von Etiketten auf, wobei die meisten derselben die Art beschreiben, wie die Webseite aussehen sollte, sie umfassen ferner jedoch Etiketten zum Spezifizieren von Hyperlinks zu anderen Orten (einer anderen Website, einer Webseite auf der aktuellen Site oder einem Ort innerhalb der aktuellen Seite z. B.). Konzeptionell würde die Webseite einen Textabschnitt und eine oder mehrere Hyperlinks aufweisen, wie z. B. eine „get document 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 gesagt empfängt die Bilderzeugungserweiterung 22 die allgemeine Zugriffsanforderung von dem Webinhalt und antwortet mit einem Verfahren in deren API, das entsprechende undurchsichtige Bezugnahmen bei dem bevorzugten Ausführungsbeispiel verwendet, um zu verursachen, daß die Daten in den Nachrichten in dem Graphikspeicher 60 gespeichert werden. Wie vorangehend erwähnt wurde, kann dies eine Kommunikation über eine Kommunikationsverbindung zu einem entfernten Graphikspeicher umfassen, oder es kann einfach eine Speicherung in einen zweckgebundenen Abschnitt einer Festplatte des Bilderzeugungsklienten 12 umfassen, wobei beides in dem Personalbilderzeugungsverwahrungsort für den Benutzer sein kann. Es wird darauf hingewiesen, daß die Erweiterung diese Nachrichten, die die Graphik enthalten, durch die Brandmauer 14 kommunizieren kann, da das HTTP-Protokoll verwendet werden kann. Der Graphikspeicher ant wortet auf diese Befehle durch Speichern der Nachrichten in einer oder mehreren Graphikdateien.
  • Die Operation bewegt sich dann zu Block 624, wo der Lieferantenwebinhalt eine undurchsichtige Bezugnahme durch die Bilderzeugungserweiterungs-API zu der neu erzeugten Graphik hält und dann die offene Graphik schließt. Die Operation bewegt sich dann zu Block 626, wo der Webinhalt eine Bezugnahme 67 in dem Benutzerprofil für einen Standardzusammensetzungsspeicher wiedergewinnt. Dieser Standardzusammensetzungsspeicher 62 kann gemäß einem vorbestimmten Kriteriensatz durch den Benutzer bestimmt oder automatisch eingestellt werden.
  • Die Operation bewegt sich dann zu Block 628, wo der Lieferantenwebinhalt sich durch die undurchsichtigen Bezugnahmen von der Bilderzeugungserweiterungs-API in dem Standardzusammensetzungsspeicher 62 anmeldet und eine Zusammensetzung innerhalb des Zusammensetzungsspeichers 62 erzeugt. Die Operation bewegt sich dann zu Block 630, wo der Lieferantenwebinhalt durch die undurchsichtigen Bezugnahmen von der Bilderzeugungserweiterungs-API der neu erzeugten Graphik in dem Graphikspeicher 60 eine Bezugnahme auf die Zusammensetzung hinzufügt, die soeben in dem Zusammensetzungsspeicher 62 erzeugt wurde.
  • Die Operation bewegt sich dann zu Block 632, wo der Lieferantenwebinhalt durch die undurchsichtigen Bezugnahmen von der Bilderzeugungserweiterungs-API die Bezugnahme 69 in dem Benutzerprofil 64 für die Standardzusammensetzung ändert, um auf die Zusammensetzung Bezug zu nehmen, die soeben in dem Zusammensetzungsspeicher 62 erzeugt wurde. Die Operation bewegt sich dann zu Block 634, wo der Lieferantenwebdienst den Browser anweist, die Verwendung einzuleiten, die anfänglich durch den Benutzer für die Graphik ausgewählt wurde, z. B. Drucken. Da die neu erzeugte Zusammensetzung als die Standardzusammensetzung eingestellt ist, wird die selbe ausgewählt und durch nachfolgende Webdienste verwendet, z. B. Drucker, um Dienste auf denselben auszuführen.
  • Bezug nehmend auf 7 sind Details für eine Beispielimplementierung von Block 602 in 6 offenbart. In 7 ist die Anfangsoperation in Block 700 eine Anforderung, die durch den Lieferantenwebinhalt an die Bilderzeugungserweiterungs-API nach Benutzeridentifizierungsinformationen betreffend verfügbare Benutzerprofile getätigt werden soll. Wie bei anderen Operationen würde diese Anforderung tatsächlich durch die API der Bilderzeugungserweiterung übertragen werden, die wirkt, um undurchsichtige Bezugnahmen auf das Benutzerprofil und Ressourcen in demselben zurück an den Webinhalt zu liefern. Diese undurchsichtigen Bezugnahmen würden eine Zuordnung der Webinhaltsbefehle zu den entsprechenden Ressourcen an dem Bilderzeugungsklienten und mit dem entsprechenden Personalbenutzerverwahrungsort ermöglichen. Die Operation bewegt sich dann zu Block 702, wo bestimmt wird, ob mehr als ein Benutzerprofil für eine Auswahl verfügbar ist. Wenn die Bestimmung NEIN ist, dann bewegt sich die Operation zu Block 704, wo das einzelne aktive Benutzerprofil durch die Bilderzeugungserweiterungs-API dem Webinhalt zugeordnet wird. Wenn die Bestimmung JA ist, dann bewegt sich die Operation zu Block 706, wo ein Verfahren zum Bestimmen des korrekten Benutzerprofils aufgerufen wird. Als Beispiel kann dieses Verfahren das Anzeigen einer Benutzerschnittstelle mit Tasten aufweisen, um die Auswahl von einem aus einer Mehrzahl von verfügbaren Benutzerprofilen zu ermöglichen. Alternativ oder zusätzlich dazu kann das aufgerufene Verfahren auf ein bestimmtes Benutzerprofil voreingestellt werden, das vorangehend durch den Benutzer ausgewählt wurde, oder basierend auf vorbestimmten 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 7 beschriebene Prozeß kann ferner für den Webinhalt durch die Bilderzeugungserweiterung durchgeführt werden.
  • Bezug nehmend nun auf 8 ist ein schematisches Beispiel der Operation der vorliegenden Erfindung zum Erzeugen, Adressieren und Stempeln eines Umschlags gezeigt. 8 zeigt eine einzelne Zusammensetzung 800, die sich auf zwei Graphiken bezieht – eine für einen Umschlag 808 und eine für einen Stempel 814. Die Graphik des Umschlags 808 umfaßt eine Absendeadresse und eine Zieladresse. Diese sind nicht notwendigerweise die gleiche Graphik – aber der Einfachheit halber sind sie Teil der gleichen Graphik (der Umschlagsgraphik). Die Graphik des Umschlags 808 kann aus einem Dokument unter Verwendung einer Tischcomputeranwendung 806 (z. B. Microsoft Word) und eines „Webbilderzeugungsdruckers" (ein Betriebssystem-Druckzielort, der Druckdaten beim Drucken aus der Anwendung erfaßt und diese Informationen in den Personalbilderzeugungsverwahrungsort des Benutzers überträgt) erzeugt wird und in den Standardgraphikspeicher 810 des Benutzers plaziert wird. Die Stempelgraphik 814, die in der Figur gezeigt ist, kann durch einen Stempelwebdienst 812 erzeugt werden und in dem Standardgraphikspeicher 810 des Benutzers plaziert werden. Vermutlich (obwohl dies in dem Diagramm nicht spezifisch dargestellt ist) kann die Umschlagsgraphik zuerst existieren.
  • Im Betrieb erzeugt der Benutzer die Umschlaggraphik mit dem „Webbilderzeugungsdrucker" zusammen mit der entsprechenden Zusammensetzung 800 aus der Anwendung 806. Nachdem die Umschlagsgraphik 808 und die Zusammensetzung 800 unter Verwendung der Anwendung 806 und des Webbilderzeugungsdruckers erzeugt wurden und in dem Standardgraphikspeicher 810 des Benutzers plaziert wurden, blättert der Benutzer zu einer Stempeldienstwebsite 812 und kauft einen Stempel. Die Stempeldienstwebsite 812 erzeugt Bilddaten, die einem Stempel entsprechen (üblicherweise einen Streifencode für einen elektronischen Stempel) und plaziert die Bilddaten unter Verwendung des Stempeldienstwebsite-Webinhalts in eine Graphik 814 innerhalb des Standardgraphikspeichers 810 des Benutzers. Wurde dies erfüllt, fügt der Stempeldienstwebinhalt dann die Graphik 814 der Umschlagzusammensetzung 800 in einem Ort hinzu, der für einen Stempel geeignet ist. Somit stellt das Diagramm eine Zusammensetzung 800 dar, die auf zwei Graphiken 808 und 814 Bezug nimmt. Diese Zusammensetzung könnte dann nachfolgend gedruckt werden – mit dem Stempel.
  • WEBBASIERTER UMWANDLUNGSDIENST Bezug nehmend nun auf 12 ist eine grundlegende Konfiguration einer Website für ein weiteres Ausführungsbeispiel der vorliegenden Erfindung gezeigt. Die Website umfaßt einen Prozessor 1200 unter der Steuerung eines Programms, das gemäß der vorliegenden Erfindung entworfen ist, eine optionale Cachespeicherung 1210 und eine Netzwerkschnittstelle 1220, die eine Eingabe von einem Netzwerk empfängt, das jegliches Netzwerk sein könnte, das ein Intranet oder das Internet umfaßt. Die Website umfaßt ferner eines oder mehrere Bildumwandlungsprogramme 1230 und eines oder mehrere Standardseitenformatierungsblätter 1240.
  • Bezug nehmend nun auf 13 ist ein bevorzugtes Ausführungsbeispiel der Operation der vorliegenden Erfindung gemäß dem Programm gezeigt, das die Operation des Systems steuert. Der erste Block 1300 stellt eine Operation außerhalb der Bildumwandlungswebsite der vorliegenden Erfindung dar und befindet sich üblicherweise unter der Steuerung eines Benutzers. Gemäß diesem Block klickt ein Benutzer auf eine Verbindung zu dem Umwandlungswebdienst oder folgt derselben anderweitig. Beispielsweise aber nicht einschränkend könnte eine Quellwebsite einer dritten Partei eine Webseite aufweisen, die eine Verbindung zu der Umwandlungswebsite der vorliegenden Erfindung liefert. Diese Verbindung ist vorzugsweise ein URL und umfaßt die Netzwerkadresse der Umwandlungswebsite, den umzuwandelnden Inhalt und die Formatvorlage zur Verwendung als Teil des Umwandlungsprozesses.
  • Weiter bei Block 1310, wenn die Verbindung zu dem Umwandlungswebdienst der vorliegenden Erfindung ausgewählt ist gewinnt der Umwandlungswebdienst den umzuwandelnden Inhalt wieder und lädt optional, wie bei Block 1320 dargestellt ist, eine Formatvorlage von dem bezugnehmenden Webserver. Der Inhalt könnte jegliche Form von Graphiken, einschließlich Text, Bilder, Video, oder jegliche andere Form von Inhalt aufweisen. Der Inhalt könnte auf jegliche geeignete Weise erhalten werden, wie z. B. daß dem Umwandlungswebdienst eine Bezugnahme auf den Inhalt und eine optionale Formatvorlage durch Verwenden von Parametern in dem URL übertragen wird, die die Verbindung darstellt. Der Umwandlungsdienst kann ferner diesen Inhalt und die optionale Formatvorlage durch Verwenden der bezugnehmenden Seitenbezugnahme in dem HTTP-Befehl wiedergewinnen, der durch Auswählen der Verbindung und nachfolgendes optionales Erhalten einer Bezugnahme auf eine Formatvorlage durch Lesen einer etikettierten Zeile in dem Inhalt gesendet wird. Derselbe kann ferner den Inhalt wiedergewinnen, der durch Lesen einer etikettierten Zeile in dem Inhalt der bezugnehmenden Seite umgewandelt werden soll. Die Bezugnahme auf den Inhalt muß keine Bezugnahme auf den Inhalt der bezugnehmenden Seite sein, kann jedoch eine Bezugnahme auf bestimmte Daten sein, auf denen der Inhalt der bezugnehmenden Seite basierte. Es bestehen viele Techniken, die zum Wiedergewinnen des Inhalts und der optionalen Formatvorlage verwendet werden können. Es ist offensichtlich, daß alle derartigen Techniken innerhalb des Schutzbereichs der Erfindung liegen. Es wird darauf hingewiesen, daß bei einem Ausführungsbeispiel die Bezugnahme auf den Inhalt elektronisch einer Bezugnahme auf den Umwandlungsdienst zugewiesen werden könnte, und daß die Inhaltsbezugnahme zu dieser Zuordnung für den Benutzer über eine anklickbare Auflistung auf einer graphischen Benutzerschnittstelle zugreifbar gemacht werden kann, oder über ein Pulldown-Menü, oder auf eine andere entsprechende Weise.
  • Somit könnte der Umwandlungsdienst an dem Inhalt später auf einer Bedarfsbasis durchgeführt werden. Es wird darauf hingewiesen, daß die Inhaltsbezugnahme, die dem Umwandlungsdienst zugeordnet ist, bei einem Ausführungsbeispiel in dem Personalbilderzeugungsverwahrungsort des Benutzers gespeichert sein könnte.
  • Wie oben erwähnt wurde, stellt der Block 1320 die Umwandlungswebsite dar, die eine Formatvorlage erhält. Die Formatvorlage könnte von der Quellwebsite erhalten werden, oder wenn keine Formatvorlage übertragen wird, dann kann eine Standardformatvorlage aus den Standardseitenformatierungsblättern 1240 ausgewählt werden oder eine Formatvorlage könnte von einem anderen Ort erhalten werden. Die Formatvorlage bestimmt das Aussehen der Seiten, was z. B. umfassen kann, welche Inhaltsartikel gelöscht und welche Gegenstände abgebildet werden, die Reihenfolge des verbleibenden Inhalts und das Layout und das Format dieses Inhalts. Bei einem Ausführungsbeispiel könnte eine Webseite an den Benutzer geliefert werden, um ihm/ihr zu ermöglichen, verschiedene Optionen auszuwählen, die in eine Formatvorlage aufgenommen werden. Der Benutzer könnte z. B. eine Option auswählen, um alle Werbungen aus der gedruckten Version einer Website zu entfernen. Dem Benutzer könnte ferner die Option vorgelegt werden, alle Bilder zu entfernen und dieselben an das Ende des Inhalts zu plazieren, d. h. die Option den Inhalt neu zu ordnen. Dem Benutzer könnte ferner die Option vorgelegt werden, den Inhalt in eine PDF-Datei oder in JPEG-Bilder, PostScript oder ein bestimmtes anderes Bilderzeugungsformat umzuwandeln. Dem Benutzer könnte ferner die Option des Auswählens einer unterschiedlichen Schriftgröße, Text, Farbe oder Hintergrund vorgelegt werden. Bei einem Video könnte die Formatvorlage z. B. angeben, daß jeder zehnte Videorahmen ausgewählt und den Bil derzeugungsdaten hinzugefügt werden könnte. Es wird wiederum darauf hingewiesen, daß die Formatvorlage optional ist; die URL-Parameter könnten Informationen darüber enthalten, wie die Datenformatierung erscheinen würde (Formatvorlagebezugnahme, Verwendung einer spezifischen Standardformatvorlage oder möglicherweise sogar nur die Anmerkungen „keine Bilder" oder „keine Werbungen").
  • Das Verfahren würde sich dann zu Block 1330 bewegen, wo der Prozessor 1200 den Typ des Inhalts bestimmt. Meistens weist der Inhalt eine bestimmte Art von Etikett am Anfang des Inhalts auf, das identifiziert, welche Art von Inhalt es ist (HTML, XML, etc....). Dieser Typ könnte ferner in einer kundenspezifischen Formatvorlage für den Inhalt spezifiziert sein.
  • Das Verfahren bewegt sich dann zu Block 1340, wo ein gewünschtes Format für den Zielort einer Verbraucherwebdienste bestimmt wird. Wenn der Verbraucherwebdienst, der durch den Benutzer ausgewählt wird, z. B. ein Drucker ist, dann bestimmt/nimmt das Verfahren das durch diesen Drucker für den Inhalt bevorzugte Format, z. B. PDF-Dateien, oder PCL6, oder ein bestimmtes anderes Format, das der Drucker versteht. Alternativ könnte die Verbraucher-/Zielort-Website der Personalbilderzeugungsverwahrungsort für den Benutzer sein. In diesem Fall könnte ein bevorzugtes Format für den ausgewählten Standardgraphikspeicher bestimmt werden oder eine Mehrzahl von Formaten angefordert werden. Bei dem vorangehenden Beispiel ist das geeignetste Verfahren zum Durchführen einer derartigen Bestimmung, daß die Verbraucherwebsite einen URL liefert, der auf Webinhalt Bezug nimmt, der diese Formatinformationen liefert. Es wird darauf hingewiesen, daß Block 1340 ein optionaler Schritt ist. Der Inhalt könnte einfach in ein Standardformat gegeben werden, oder ein Format, das durch die Formatvorlage spezifiziert wird.
  • Das Verfahren würde sich dann zu Block 1350 bewegen, wo basierend auf der Formatvorlage und/oder den gewünschten Formatinformationen von Block 1340 oder über ein anderes geeignetes Verfahren bestimmt wird, welches Bilderzeugungsumwandlungsprogramm ausgewählt und aktiviert werden soll, um den Inhalt zu verarbeiten. Es wird darauf hingewiesen, daß die Bezugnahme auf den Inhalt einer Bezugnahme auf das ausgewählte Bilderzeugungsumwandlungsprogramm zugeordnet werden könnte, und daß diese Inhaltsbezugnahme, die dem Umwandlungsprogramm zugeordnet ist, für den Benutzer über eine anklickbare Auflistung auf einer graphischen Benutzerschnittstelle oder über ein Pulldown-Menü oder auf eine andere geeignete Weise zugreifbar gemacht werden könnte. Somit könnte der Umwandlungsschritt an dem Inhalt später auf Anfrage durchgeführt werden. Es wird darauf hingewiesen, daß die Inhaltsbezugnahme, die dem ausgewählten Umwandlungsprogramm zugeordnet ist, bei einem Ausführungsbeispiel in dem Personalbilderzeugungsverwahrungsort des Benutzers gespeichert sein könnte.
  • Das Verfahren bewegt sich dann zu Block 1360, wo der ausgewählte Inhalt unter Verwendung eines beliebigen geeigneten Verfahrens herausgefiltert wird, wie z. B. durch Etikettbasiertes Filtern. Es wird darauf hingewiesen, daß dies ein optionaler Schritt ist, der von der Formatvorlage und der Benutzerauswahl abhängt.
  • Das Verfahren bewegt sich dann zu Block 1370, wo der verbleibende Inhalt gekennzeichnet und potentiell neu geordnet werden kann. Bei einem bevorzugten Ausführungsbeispiel kann diese Markierung bereits durchgeführt worden sein, als der Inhalt erzeugt wurde, so daß die Erzeuger des Inhalts die gewünschte Verarbeitung (z. B. Filtern, Neuordnen, Dimensionieren, Bildaustausch, etc....) durch die Formatvorlage durchführen lassen können. Es wird darauf hingewiesen, daß dies ein optionaler Schritt ist, und daß derselbe von der ausgewählten Formatvorlage und der Benutzerauswahl abhängt.
  • Es wird darauf hingewiesen, daß der Filterschritt 1360 und das durch Schritt 1370 ermöglichte Neuordnen nur zwei Beispiele des Verarbeitens sind, die aufgrund der Spezifikationen aus der Bezug nehmenden Website auftreten können (entweder über eine Formatvorlage oder eine andere Weise des Kommunizierens von Formatierungspräferenzen). Die Bezug nehmende Website kann ein Verarbeiten wünschen, wie z. B. ein Dimensionieren von Bildern, spezifische Schriftgrößen für unterschiedliche Teile des Inhalts, Austauschen komplexer Bilder, die mit einfacheren Bildern nicht gut aussehen würden, ausschließliches Bilderzeugen der JPEG-Bilder oder jegliches andere spezifizierte Verarbeiten.
  • Das Verfahren bewegt sich dann zu Block 1380, wo der Inhalt basierend auf dem ausgewählten Bilderzeugungsumwandlungsprogramm umgewandelt wird.
  • Dann bewegt sich das Verfahren zu Block 1390, wo der umgewandelte Inhalt zu der Verbraucherwebsite übertragen wird, die z. B. ein Drucker oder ein Fax oder ein Graphikspeicher in dem Personalbilderzeugungsverwahrungsort des Benutzers sein könnte.
  • Beispielsweise aber nicht einschränkend könnte der Inhalt aus der Quellwebsite, der in die Bilderzeugungs-Umwandlungswebsite bei Block 1310 geladen wird, eine Webseite in einem XML- oder HTML- oder einem anderen Etiketten-basierten Format sein. Die Formatvorlage, das von der Quellwebsite geladen oder durch den Benutzer ausgewählt oder einfach als Standard durch das System ausgewählt wurde, könnte den Befehl zum Löschen/Abziehen der gesamten Werbungen und das Löschen/Abziehen animierter Graphiken umfassen. Dementsprechend würde das System die Formatvorlage zum Löschen/Abziehen von jeglichem Inhalt verwenden, der ein XML-Etikett aufeist, das anzeigt, daß derselbe eine Werbung ist. Auf ähnliche Weise löscht/zieht das System alle animierten Graphiken von GIF-Dateien ab.
  • Eine Markierung, die bei der Inhaltserzeugung erzeugt wurde, oder eine Markierung, die zu einer anderen geeigneten Zeit erzeugt wird, könnte erhalten werden. Es bestehen mehrere geeignete Weisen, auf die Inhalt für eine nachfolgende Verarbeitung basierend auf einer Formatvorlage gekennzeichnet werden kann. Beispielsweise aber nicht einschränkend könnten Bilder wie folgt gekennzeichnet werden, um ein Bild zu erhalten, „donkey keep.gif", oder „donkey nokeep.gif", um ein Bild herauszufiltern. HTML-Anmerkungen können ferner verwendet werden, um Gegenstände oder Abschnitte des Dokuments zu markieren. Abschnitte könnten z. B. durch die HTML-Kommentare „<!– für Bilderzeugung erhalten –>" und „<!– Ende des zu erhaltenden Inhalts –>" eingeschlossen werden, um anzuzeigen, daß der Inhalt zwischen diesen zwei Kommentaren vor der Bilderzeugungsumwandlung nicht herausgefiltert werden sollte. Alternativ könnten Abschnitte durch die HTML-Kommentare „<!– nicht für Bilderzeugung erhalten –>" und „<!– Ende des nicht zu erhaltenden Inhalts –>" eingeschlossen werden, um anzuzeigen, daß der Abschnitt des Inhalts zwischen diesen zwei Kommentaren vor dem Durchführen einer Bilderzeugungsumwandlung herausgeführt werden sollte. Zusätzlich dazu könnte das System nach allen Graphen suchen und sie an das Ende des Inhalts plazieren.
  • Es wird darauf hingewiesen, daß es bei HTML-Inhalt geeignet wäre, den Inhalt basierend auf vorbestimmten Regeln zu kennzeichnen. Ferner könnte die Formatvorlage anfordern, daß bestimmte Textzeichenfolgen gesucht werden, und dann gemäß vorbestimmten Regeln gehandhabt werden. Die bestimmten, gesuchten Textzeichenfolgen könnten z. B. ihre Schriftgröße geändert haben, neu geordnet werden oder gelöscht/abgezogen werden.
  • Bei Block 1340 könnte dann basierend auf Webinhalt oder über ein anderes geeignetes Verfahren bestimmt werden, daß die Verbraucherwebsite ein PDF- oder ein anderes Format bevorzugt.
  • Das Verfahren sucht dann nach Text, der Anfangsblöcke aufweist, und beginnt mit dem Auffüllen einer Seite von oben und dem Einfließen des Inhalts in der ursprünglichen empfangenen Reihenfolge (der Standardreihenfolge), oder in einer Reihenfolge, die in der Formatvorlage angegeben ist, unter Verwendung einer ausgewählten Schriftgröße oder mehreren Schriftgrößen auf der Formatvorlage. Die Formatvorlage könnte ferner eine Anforderung zum Plazieren einer Fußzeile auf jeder Seite umfassen, die das URL für die Quellwebsite anzeigt.
  • Wenn der in ein Bild umgewandelte Inhalt in eine Speicherung plaziert wird, wie z. B. den Personalbilderzeugungsverwahrungsort für den Benutzer, dann kann eine Bezugnahme für diesen Ort an eine gewünschte Website geliefert werden.
  • Wie oben erwähnt wurde, kann der Inhalt nach einer bestimmten Verarbeitung (z. B. nach der Verarbeitung zum Entfernen von Werbungen oder GIFs) oder ohne eine Verarbeitung anfänglich in dem Personalbilderzeugungsverwahrungsort des Benutzers gespeichert werden, mit einer Bezugnahme auf diesen Ort, der an die gewünschte Umwandlungsdienstwebsite geliefert wird. Wenn dann ein Drucker oder eine andere Verbraucherwebsite ausgewählt und später ein gewünschtes Inhaltsformat bestimmt wird, dann könnten die verbleibenden Schritte bei dem Verfahren, z. B. das Bestimmen des gewünschten Formats in Block 1340, das Auswählen des Umwandlungsprogrammes 1350, das Umwandeln des Inhalts basierend auf dem ausgewählten Bildumwandlungsprogramm in Block 1380 und das Übertragen des in ein Bild umgewandelten Inhalts an die Verbraucherwebsite in Block 1390 durchgeführt werden.
  • Alternativ könnte eine Bezugnahme auf die Quellwebsite in dem Personalbilderzeugungsverwahrungsort des Benutzers oder in einem anderen geeigneten Ort plaziert werden, zusammen mit einer Bezugnahme auf die Bilderzeugungsumwandlungswebsite, z. B. mit Befehlen, die dem Benutzer eine Webseite vorlegen, um dem Benutzer zu ermöglichen, eine Verbraucherwebsite zu einer späteren Zeit auszuwählen und dann auf die Quellwebsite zuzugreifen, den notwendigen Inhalt und die Formatvorlage zu erhalten und dieselbe in die Bilderzeugungsumwandlungswebsite zu laden, wo dasselbe in ein Bild umgewandelt wird, wie oben beschrieben ist, und dann an die Verbraucherwebsite übertragen wird, wie z. B. einen Drucker. Dieses Prozeß würde eine dynamische Handhabung/Bildumwandlung von Inhalt ermöglichen, so daß der aktuellste Inhalt gedruckt oder anderweitig an der Verbraucherwebsite verbraucht wird. Dies ist insbesondere nützlich zum dynamischen Ändern von Inhalt oder zum Ausführen einer Umwandlung, die auf die Fähigkeiten einer spezifischen Vorrichtung gerichtet ist.
  • Dementsprechend ist ersichtlich, daß bestehende Quellwebsites Webdrucker-/Verbraucherwebsite-aktiviert sein können, ohne eine Modifikation an der Site, einfach durch Liefern eines URL, der auf den vorliegenden Bilderzeugungsumwandlungsdienst und potentiell ferner auf eine Formatvorlage Bezug nimmt. Diese Operation ist insbesondere vorteilhaft, um einer bestehenden Website zu ermöglichen, Inhalt aus HTML-/XML-basierten Webseiten in webbasierten Bilderzeugungsinhalt umzuwandeln, um dadurch mit minimalen Modifikationen an webbasierter Bilderzeugung teilzunehmen.
  • Obwohl die vorangehende Beschreibung in dem Kontext eines Bilderzeugungsklienten 12 und zwei Servermaschinen 30 und 32 innerhalb der Brandmauer und zwei Servermaschinen 40 und 42 außerhalb der Brandmauer für eine leichtere Erklärung durchgeführt wurde, umfaßt die bevorzuge Implementierung sehr wahrscheinlich viele Servermaschinen, zu denen die Klientenmaschine Zugriff hat und mit welchen sie kommunizieren kann. Für eine bessere Lesbarkeit wurde manchmal auf „eine" Klientmaschine oder Servermaschine Bezug genommen. Es sollte jedoch darauf hingewiesen werden, daß die Verwendung von „eine" sich ebenfalls auf „eine oder mehrere" bezieht.
  • Es sollte darauf hingewiesen werden, daß es offensichtlich ist, daß die Reihenfolge dieser Schritte von der dargestellten Reihenfolge abweichen kann, obwohl die hierin vorliegenden Flußdiagramme eine spezifische Reihenfolge zeigen. Ferner können zwei oder mehrere Schritte gleichzeitig oder teilweise gleichzeitig ablaufen. Eine derartige Variation ist von den ausgewählten Software- und Hardware-Systemen und allgemein von der Wahl durch den Entwickler abhängig. Es ist verständlich, daß alle derartigen Variationen innerhalb des Schutzbereichs der Erfindung liegen. Es ist ferner verständlich, daß einer oder mehrere der Schritte durch eine programmierte Maschine oder durch eine hartverdrahtete Vorrichtung oder manuell durchgeführt oder implementiert werden können. Es sollte ferner darauf hingewiesen werden, daß viele der Aspekte der vorliegenden Erfindung unabhängig sind und unabhängig von der hierin offenbarten API implementiert sein können. Obwohl z. B. die Verwendung von Bilderzeugungserweiterungen bevorzugt wird, um eine Schnittstelle zwischen Webinhalt und Bilderzeugungssystemressourcen zu liefern, können viele Aspekte der vorliegenden Erfindung ohne die Verwendung einer Bilderzeugungserweiterung implementiert sein.

Claims (21)

  1. Verfahren zum Bereitstellen eines Inhalts, der durch einen Benutzer von einer Quellwebsite ausgewählt wird, an eine Verbraucherwebsite durch einen Bildumwandlungsdienst, der den Inhalt in ein Format für die Verbraucherwebsite umwandelt, wobei das Verfahren folgende Schritte aufweist: Empfangen (1380) des Inhalts oder einer Bezugnahme auf den Inhalt; Speichern des Inhalts oder der Bezugnahme auf den Inhalt; Empfangen einer Auswahl der Verbraucherwebsite, der der Inhalt bereitzustellen ist; basierend auf der empfangenen Auswahl der Verbraucherwebsite, Bestimmen (1340) eines gewünschten Formats, in das der Inhalt umzuwandeln ist; Auswählen (1350) eines Bildumwandlungsprogramms zum Verarbeiten des bestimmten Formats; Umwandeln (1380) des Inhalts unter Verwendung des ausgewählten Bildumwandlungsprogramms, um einen umgewandelten Inhalt zu erhalten; und Übertragen des umgewandelten Inhalts an die Verbrauchersite.
  2. Verfahren gemäß Anspruch 1, mit folgendem Schritt: Identifizieren einer Website des Bildumwandlungsdienstes durch eine URL-Bezugnahme.
  3. Verfahren gemäß Anspruch 1 oder 2, bei dem sich die Quellwebsite von der Website des Bildumwandlungsdienstes unterscheidet, und bei dem das Bestimmen des gewünschten Formats ein Empfangen einer Formatvorlage von der Quellwebsite aufweist.
  4. Verfahren gemäß Anspruch 1 oder 2, bei dem bei dem sich die Quellwebsite von der Website des Bildumwandlungsdienstes unterscheidet, und bei dem das Bestimmen des gewünschten Formats ein Auswählen einer Standardformatvorlage aufweist.
  5. Verfahren gemäß einem der Ansprüche 1 bis 4, bei dem das Umwandlungsprogramm basierend auf einem Parameter eines Druckers, der zum Drucken des Inhalts verwendet werden soll, ausgewählt wird.
  6. Verfahren gemäß einem der Ansprüche 1 bis 5, bei dem die Verbraucherwebsite einen Bilderzeugungsdienst, einen Speicherdienst oder einen anderen Dienst aufweist.
  7. Verfahren gemäß einem der Ansprüche 1 bis 6, bei dem der Schritt des Übertragens ein Übertragen einer Bezugnahme auf den umgewandelten Inhalt aufweist, wobei sich die Bezugnahme auf den umgewandelten Inhalt bezieht.
  8. Verfahren gemäß einem der Ansprüche 1 bis 7, bei dem der Schritt des Umwandelns (1380) ein Erhalten des gespeicherten Inhalts umfaßt.
  9. Verfahren gemäß einem der Ansprüche 1 bis 8, bei dem das Empfangen (1310) des Inhalts ein Verarbeiten des Inhalts basierend auf einer von der Quellwebsite empfangenen Formatvorlage umfaßt, wobei bei dem Schritt des Speicherns der verarbeitete Inhalt gespeichert wird.
  10. Verfahren gemäß einem der Ansprüche 1 bis 7, bei dem der Schritt des Umwandelns (1380) basierend auf der gespei cherten Bezugnahme auf den Inhalt zugreift und denselben zu dem Bildumwandlungsdienst herunterlädt.
  11. Verfahren gemäß einem der Ansprüche 1 bis 10, bei dem die dem Speichern folgenden Schritte auf einer Bedarfsbasis durchgeführt werden.
  12. Verfahren gemäß einem der Ansprüche 1 bis 11, bei dem der Schritt des Umwandelns des Inhalts ein Filtern des Inhalts aufweist, um ausgewählte Elemente in demselben zu löschen.
  13. Verfahren gemäß einem der Ansprüche 1 bis 12, bei dem der Schritt des Umwandelns des Inhalts ein Kennzeichnen unterschiedlicher Elemente in dem Inhalt aufweist.
  14. Verfahren gemäß einem der Ansprüche 1 bis 13, das ferner den Schritt des Neuordnens eines gekennzeichneten Inhalts aufweist.
  15. Verfahren gemäß einem der Ansprüche 1 bis 14, bei dem der Schritt des Umwandelns des Inhalts ein Ändern des Layouts des Inhalts auf einer Seite aufweist.
  16. Programmprodukt zum Implementieren eines Verfahrens zum Bereitstellen eines Inhalts, der durch einen Benutzer von einer Quellwebsite ausgewählt wird, an eine Verbraucherwebsite durch einen Bildumwandlungsdienst, der den Inhalt in ein Format für die Verbraucherwebsite umwandelt, wobei das Programmprodukt einen computerlesbaren Code zum Durchführen der Verfahrensschritte des Verfahrens nach einem der Ansprüche 1 bis 15 aufweist, wenn der computerlesbare Code auf einer Rechnervorrichtung abläuft.
  17. System zum Bereitstellen eines Inhalts, der durch einen Benutzer von einer Quellwebsite ausgewählt wird, an eine Verbraucherwebsite durch einen Bildumwandlungsdienst, der den Inhalt in ein Format für die Verbraucherwebsite umwandelt, wobei das System folgende Merkmale aufweist: eine Komponente zum Empfangen (1380) des Inhalts oder einer Bezugnahme auf den Inhalt; eine Komponente zum Speichern des Inhalts oder der Bezugnahme auf den Inhalt; eine Komponente zum Empfangen einer Auswahl der Verbraucherwebsite, der der Inhalt bereitzustellen ist; eine Komponente zum Bestimmen (1340) eines gewünschten Formats, in das der Inhalt umzuwandeln ist, basierend auf der empfangenen Auswahl der Verbraucherwebsite; eine Komponente zum Auswählen (1350) eines Bildumwandlungsprogramms zum Verarbeiten des bestimmten Formats; eine Komponente zum Umwandeln (1380) des Inhalts unter Verwendung des ausgewählten Bildumwandlungsprogramms, um einen umgewandelten Inhalt zu erhalten; und eine Komponente zum Übertragen des umgewandelten Inhalts an die Verbrauchersite.
  18. System gemäß Anspruch 17, bei dem die Komponente zum Auswählen (1350) das Umwandlungsprogramm basierend auf einem Parameter eines Druckers, der zum Drucken des Inhalts verwendet werden soll, ausgewählt.
  19. System gemäß einem der Ansprüche 17 oder 18, bei dem die Komponente zum Umwandeln (1380) des Inhalts den Inhalt filtert, um ausgewählte Elemente in demselben zu löschen.
  20. System gemäß einem der Ansprüche 17 bis 19, das ferner eine Komponente zum Neuordnen eines etikettierten Inhalts aufweist.
  21. System gemäß einem der Ansprüche 17 bis 20, bei dem die Komponente zum Umwandeln (1380) des Inhalts das Layout des Inhalts auf einer Seite ändert.
DE10236188A 2001-08-08 2002-08-07 Verfahren, System und Programmprodukt zum Bereitstellen eines Inhalts einer Quellwebsite an eine Verbraucherwebsite durch einen Bildumwandlungsdienst Expired - Fee Related DE10236188B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/923,337 2001-08-08
US09/923,337 US20030033432A1 (en) 2001-08-08 2001-08-08 Web based imaging service that converts web pages into content on behalf of another web site

Publications (2)

Publication Number Publication Date
DE10236188A1 DE10236188A1 (de) 2003-02-27
DE10236188B4 true DE10236188B4 (de) 2005-11-17

Family

ID=25448521

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10236188A Expired - Fee Related DE10236188B4 (de) 2001-08-08 2002-08-07 Verfahren, System und Programmprodukt zum Bereitstellen eines Inhalts einer Quellwebsite an eine Verbraucherwebsite durch einen Bildumwandlungsdienst

Country Status (3)

Country Link
US (1) US20030033432A1 (de)
JP (1) JP2003208351A (de)
DE (1) DE10236188B4 (de)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493655B2 (en) * 2000-03-22 2009-02-17 Comscore Networks, Inc. Systems for and methods of placing user identification in the header of data packets usable in user demographic reporting and collecting usage data
US7181412B1 (en) * 2000-03-22 2007-02-20 Comscore Networks Inc. Systems and methods for collecting consumer data
US7260837B2 (en) * 2000-03-22 2007-08-21 Comscore Networks, Inc. Systems and methods for user identification, user demographic reporting and collecting usage data usage biometrics
US7930285B2 (en) * 2000-03-22 2011-04-19 Comscore, Inc. Systems for and methods of user demographic reporting usable for identifying users and collecting usage data
WO2003067376A2 (en) * 2002-02-05 2003-08-14 Comscore Networks, Inc. Systems and methods for user identification, user demographic reporting and collecting usage data
JP4270992B2 (ja) * 2002-09-20 2009-06-03 株式会社リコー 情報処理装置、情報処理方法、情報処理プログラム、サービス提供装置、サービス提供方法、サービス提供プログラム及び記録媒体
US7343600B2 (en) * 2003-08-18 2008-03-11 Lenovo (Singapore) Pte. Ltd. Providing an image of installed software utilizing uninstall code
US20050111620A1 (en) * 2003-11-25 2005-05-26 Livermore Glyn C. Method and system for remote operation of a medical imaging system
US8559764B2 (en) * 2004-06-15 2013-10-15 At&T Intellectual Property I, L.P. Editing an image representation of a text
US7606840B2 (en) * 2004-06-15 2009-10-20 At&T Intellectual Property I, L.P. Version control in a distributed computing environment
US7475341B2 (en) * 2004-06-15 2009-01-06 At&T Intellectual Property I, L.P. Converting the format of a portion of an electronic document
KR100687730B1 (ko) * 2004-08-04 2007-02-27 경북대학교 산학협력단 액티브 노드, 액티브 노드를 이용한 컨텐츠 전송 시스템및 그 방법
US7734799B1 (en) * 2004-11-15 2010-06-08 LogMeln, Inc. Method and system for performing a server-assisted file transfer
US7877350B2 (en) * 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
US20070124670A1 (en) * 2005-11-29 2007-05-31 Finck Thomas W Systems, methods, and media for printing web pages
JP4722697B2 (ja) * 2005-12-26 2011-07-13 株式会社日立ソリューションズ 情報表示システム
US8014608B2 (en) * 2006-03-09 2011-09-06 Lexmark International, Inc. Web-based image extraction
JP4753755B2 (ja) * 2006-03-14 2011-08-24 富士通株式会社 データ変換方法、装置及びプログラム
WO2007113858A2 (en) * 2006-04-04 2007-10-11 Bhavin Turakhia Method and apparatus for inserting and removing advertisements
AU2007286155B2 (en) * 2006-08-10 2013-12-12 Ab Initio Technology Llc. Distributing services in graph-based computations
US7865535B2 (en) * 2007-05-18 2011-01-04 International Business Machines Corporation Apparatus, system, and method for a data server-managed web services runtime
US8706667B2 (en) 2007-07-26 2014-04-22 Ab Initio Technology Llc Transactional graph-based computation with error handling
US8676902B2 (en) * 2007-11-28 2014-03-18 International Business Machines Corporation System and method for service oriented email client application
US8386293B2 (en) * 2008-04-03 2013-02-26 American Spirit Data Solutions, Llc Initial content customization apparatus and method
CN102317911B (zh) 2009-02-13 2016-04-06 起元技术有限责任公司 管理任务执行
US8667329B2 (en) 2009-09-25 2014-03-04 Ab Initio Technology Llc Processing transactions in graph-based applications
WO2011159759A1 (en) 2010-06-15 2011-12-22 Ab Initio Technology Llc Dynamically loading graph-based computations
US8910259B2 (en) 2010-08-14 2014-12-09 The Nielsen Company (Us), Llc Systems, methods, and apparatus to monitor mobile internet activity
US8886773B2 (en) 2010-08-14 2014-11-11 The Nielsen Company (Us), Llc Systems, methods, and apparatus to monitor mobile internet activity
US9250834B2 (en) * 2010-12-01 2016-02-02 Xerox Corporation Method and apparatus for reading and replacing control and/or identification data in a print image to support document tracking, flow control, and security
CN102622381B (zh) * 2011-03-14 2013-11-13 小米科技有限责任公司 一种网页重排版的方法和系统
US9124920B2 (en) 2011-06-29 2015-09-01 The Nielson Company (Us), Llc Methods, apparatus, and articles of manufacture to identify media presentation devices
US8594617B2 (en) 2011-06-30 2013-11-26 The Nielsen Company (Us), Llc Systems, methods, and apparatus to monitor mobile internet activity
TW201346795A (zh) * 2012-05-03 2013-11-16 Infopower Corp 資料管理方法
US9507682B2 (en) 2012-11-16 2016-11-29 Ab Initio Technology Llc Dynamic graph performance monitoring
US10108521B2 (en) 2012-11-16 2018-10-23 Ab Initio Technology Llc Dynamic component performance monitoring
US9274926B2 (en) 2013-01-03 2016-03-01 Ab Initio Technology Llc Configurable testing of computer programs
US9852115B2 (en) * 2013-01-30 2017-12-26 Microsoft Technology Licensing, Llc Virtual library providing content accessibility irrespective of content format and type
US9301173B2 (en) 2013-03-15 2016-03-29 The Nielsen Company (Us), Llc Methods and apparatus to credit internet usage
US10356579B2 (en) 2013-03-15 2019-07-16 The Nielsen Company (Us), Llc Methods and apparatus to credit usage of mobile devices
JP6141167B2 (ja) * 2013-10-21 2017-06-07 東芝テック株式会社 コンテンツ作成装置及びプログラム
EP3092557B1 (de) 2013-12-05 2024-03-27 AB Initio Technology LLC Verwaltungsschnittstelle für datenfluss graphen bestehend aus teilgraphen
US9762688B2 (en) 2014-10-31 2017-09-12 The Nielsen Company (Us), Llc Methods and apparatus to improve usage crediting in mobile devices
US11423420B2 (en) 2015-02-06 2022-08-23 The Nielsen Company (Us), Llc Methods and apparatus to credit media presentations for online media distributions
US10657134B2 (en) 2015-08-05 2020-05-19 Ab Initio Technology Llc Selecting queries for execution on a stream of real-time data
US10671669B2 (en) 2015-12-21 2020-06-02 Ab Initio Technology Llc Sub-graph interface generation
US10430711B2 (en) * 2015-12-31 2019-10-01 TCL Research America Inc. Method and system for FUNC-based experience framework with cross-user intelligence

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000020985A1 (en) * 1998-10-01 2000-04-13 Bcl Computers, Inc. Conversion of data representing a document to other formats for manipulation and display

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230173B1 (en) * 1995-07-17 2001-05-08 Microsoft Corporation Method for creating structured documents in a publishing system
US5751956A (en) * 1996-02-21 1998-05-12 Infoseek Corporation Method and apparatus for redirection of server external hyper-link references
US6029182A (en) * 1996-10-04 2000-02-22 Canon Information Systems, Inc. System for generating a custom formatted hypertext document by using a personal profile to retrieve hierarchical documents
US6452692B1 (en) * 1996-12-02 2002-09-17 Sun Microsystems, Inc. Networked printer server
US6567122B1 (en) * 1998-03-18 2003-05-20 Ipac Acquisition Subsidiary I Method and system for hosting an internet web site on a digital camera
US7177040B2 (en) * 1998-03-20 2007-02-13 Océ-Technologies B.V. Remote printer control
US6785022B1 (en) * 1998-04-07 2004-08-31 Canon Kabushiki Kaisha Data communication method of apparatus connected to LAN
US6452689B1 (en) * 1998-05-15 2002-09-17 Qwest Communications International, Inc. Data network based copier
US6212522B1 (en) * 1998-05-15 2001-04-03 International Business Machines Corporation Searching and conditionally serving bookmark sets based on keywords
US6298446B1 (en) * 1998-06-14 2001-10-02 Alchemedia Ltd. Method and system for copyright protection of digital images transmitted over networks
US6138156A (en) * 1998-10-05 2000-10-24 International Business Machines Corporation Selecting and applying content-reducing filters based on dynamic environmental factors
US6507857B1 (en) * 1999-03-12 2003-01-14 Sun Microsystems, Inc. Extending the capabilities of an XSL style sheet to include components for content transformation
US6826597B1 (en) * 1999-03-17 2004-11-30 Oracle International Corporation Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients
JP3401719B2 (ja) * 1999-03-30 2003-04-28 パナソニック コミュニケーションズ株式会社 画像通信装置および電子メール通信方法
JP3834452B2 (ja) * 1999-04-01 2006-10-18 セイコーエプソン株式会社 機器管理システム、管理サーバ及びコンピュータ読取可能な記録媒体
US6589291B1 (en) * 1999-04-08 2003-07-08 International Business Machines Corporation Dynamically determining the most appropriate location for style sheet application
JP2001007840A (ja) * 1999-06-21 2001-01-12 Sony Corp データ配信方法及び装置、並びに、データ受信方法及び装置
US6721802B1 (en) * 1999-08-12 2004-04-13 Point2 Technologies Inc. Method, apparatus and program for the central storage of standardized image data
US6684257B1 (en) * 1999-10-15 2004-01-27 International Business Machines Corporation Systems, methods and computer program products for validating web content tailored for display within pervasive computing devices
CA2327222A1 (en) * 1999-12-03 2001-06-03 Research In Motion Limited Virtual machine web browser
US6721803B1 (en) * 2000-03-23 2004-04-13 International Business Machines Corporation Method, system and program for using application programs in multiple computers to render attachments for a fax job
US20020069296A1 (en) * 2000-12-06 2002-06-06 Bernie Aua Internet content reformatting apparatus and method
US20020097259A1 (en) * 2000-12-29 2002-07-25 Hallmark Cards Incorporated System for compiling memories materials to automatically generate a memories product customized for a recipient
US20020138564A1 (en) * 2001-03-21 2002-09-26 Treptow Jay A. Universal printing and document imaging system and method
US20030093565A1 (en) * 2001-07-03 2003-05-15 Berger Adam L. System and method for converting an attachment in an e-mail for delivery to a device of limited rendering capability
US6623627B1 (en) * 2001-07-09 2003-09-23 Uop Llc Production of low sulfur gasoline
US6961760B2 (en) * 2001-07-17 2005-11-01 International Business Machines Corporation Transforming data automatically between communications parties in a computing network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000020985A1 (en) * 1998-10-01 2000-04-13 Bcl Computers, Inc. Conversion of data representing a document to other formats for manipulation and display

Also Published As

Publication number Publication date
JP2003208351A (ja) 2003-07-25
US20030033432A1 (en) 2003-02-13
DE10236188A1 (de) 2003-02-27

Similar Documents

Publication Publication Date Title
DE10236188B4 (de) Verfahren, System und Programmprodukt zum Bereitstellen eines Inhalts einer Quellwebsite an eine Verbraucherwebsite durch einen Bildumwandlungsdienst
DE10236190B4 (de) Verfahren, System, Programmprodukt und Druckerwebdienst zum Erzeugen eines Druckauftrags zum Drucken eines Dokuments
DE10236189B4 (de) Verfahren, System und Programmprodukt zum Drucker eines Dokuments, das eine Mehrzahl von Seiten aufweist
DE10246689B4 (de) Verfahren und System zum Web-basierten Drucken
DE60028561T2 (de) Bereitstellung von kundendiensten, die daten aus datenquellen abrufen, wobei die datenquellen die vom kunden geforderten formate nicht notwendigerweise unterstützen
DE60116343T2 (de) Webserver
US6035323A (en) Methods and apparatuses for distributing a collection of digital media over a network with automatic generation of presentable media
US7190467B2 (en) Print option configurations specific to a service or device for printing in a distributed environment
US7191448B2 (en) Web based imaging page redirector system for accessing a redirector reference that directs a browser to a redirector software
US7917850B2 (en) Document managing system and method thereof
US20040205493A1 (en) Web based imaging application that creates customized content based on user selections
DE10236182B4 (de) Verfahren, ein System und ein Programmprodukt zum Drucken eines Dokuments gemäß einer vorbestimmten Druckspezifikation
US20030033353A1 (en) Method for web-based imaging service to redirect to a preferred destination based on a criteria
DE10235439A1 (de) Privates Drucken unter Verwendung einer netzbasierten Bilderzeugung
DE19715696A1 (de) Verfahren und Apparat zum Suchen nach und zum Wiederfinden von Dokumenten, indem ein Faxgerät verwendet wird
DE10135445A1 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
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
US6944868B2 (en) Imaging extension API for isolating web content from user resources and services
US6665090B1 (en) System and method for creating and printing a creative expression
US20030041249A1 (en) Method, system and program product for multi-profile operations and expansive profile operation
EP1760647B1 (de) Verfahren und Anordnung zur Handhabung von Dateien mittels mobiler Endgeräte sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
EP0977130A1 (de) Vorrichtung zum Auswählen und Drucken von Web-Seiten
DE602004004174T2 (de) Vorrichtung, Verfahren und System zur Mitteilung von Informationen in Übereinstimmung mit einem von einer Mehrzahl von Protokollen
DE10248442B4 (de) System zum gesteuerten Drucken einer Unterschrift unter Verwendung von webbasierter Bilderzeugung

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

Effective date: 20140301