DE60023349T2 - System, Verfahren und Rechnerprogrammprodukt zur Überwachung des Gebrauchs einer Zielanwendung - Google Patents

System, Verfahren und Rechnerprogrammprodukt zur Überwachung des Gebrauchs einer Zielanwendung Download PDF

Info

Publication number
DE60023349T2
DE60023349T2 DE60023349T DE60023349T DE60023349T2 DE 60023349 T2 DE60023349 T2 DE 60023349T2 DE 60023349 T DE60023349 T DE 60023349T DE 60023349 T DE60023349 T DE 60023349T DE 60023349 T2 DE60023349 T2 DE 60023349T2
Authority
DE
Germany
Prior art keywords
data
user
monitoring
monitored
target application
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 - Lifetime
Application number
DE60023349T
Other languages
English (en)
Other versions
DE60023349D1 (de
Inventor
Tetsuro Motoyama
Avery Curtis Fong
Yevgeniya Lyapustina
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of DE60023349D1 publication Critical patent/DE60023349D1/de
Application granted granted Critical
Publication of DE60023349T2 publication Critical patent/DE60023349T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Facsimiles In General (AREA)
  • Debugging And Monitoring (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Diese Erfindung bezieht sich im Allgemeinen auf eine Anwendungseinheits-Überwachungsvorrichtung, die die Nutzung einer Zielanwendung einer Anwendungseinheit durch einen Anwender überwachen kann und die die Daten der überwachten Nutzung leicht und effizient übertragen kann.
  • Erörterung des Hintergrunds
  • Mit dem Zuwachs der Computer-Nutzung ist die Software-Entwicklung zweifellos ein wichtiges Geschäft geworden. Bei der Bewertung von Software kann es nützlich sein, genau zu überwachen, wie ein Anwender eine Software-Anwendung verwendet. Als ein Beispiel kann es für einen Software-Entwickler nützlich sein, zu wissen, welche Befehle ein Anwender am häufigsten verwendet.
  • Ferner kann es bei der Konstruktion von Vorrichtungen, mit denen ein Mensch in Wechselwirkung tritt, erwünscht sein, zu überwachen, wie der Anwender mit einer derartigen Vorrichtung in Wechselwirkung tritt. Als ein Beispiel kann es erwünscht sein, zu überwachen, wie ein Anwender eine Bedienungskonsole einer Bilderzeugungsvorrichtung, wie z. B. eines Kopiergeräts, eines Faxgeräts, eines Druckers, eines Scanners, eines Haushaltsgeräts, wie z. B. eines Mikrowellenherdes, eines VCR, einer Digitalkamera, eines Zellulartelephons, eines Palmtop-Computers usw. verwendet.
  • Außerdem nutzen immer mehr Anwender das Internet. Es gibt ein merkliches Interesse daran, wie die Anwender das Internet nutzen, insbesondere hinsichtlich dessen, wie die Anwender bestimmte Web-Seiten usw. nutzen. Die Überwachung der Nutzung des Internets durch einen Anwender kann außerdem wichtig werden.
  • Unter diesen Umständen, wenn es erwünscht ist, zu bestimmen, wie ein Anwender eine bestimmte Anwendung, z. B. eine Software-Anwendung, eine Vorrichtung mit einer Schnittstelle, die durch einen Anwender zu betätigen ist, eine Web-Seite usw., verwendet, muss nicht nur die Nutzung der Anwendungseinheit durch den Anwender überwacht werden, sondern müssen die durch die Überwachung der Nutzung durch den Anwender erhaltene Informationen effektiv zu einem gewünschten Teilnehmer übertragen werden.
  • US 5.887.216 offenbart eine Bilderzeugungsvorrichtung, die sich selbst überwachen und die Ergebnisse der Überwachung per E-Mail zu einer entfernten Überwachungsvorrichtung senden kann.
  • In "MetriStation: A Tool for User-Interface fault Detection", Maxion, R. A., u. a., Seattle, WA, 24.–27. Juni 1997, Los Alamitos, CA; IEEE Comp. Soc. Press, USA, Seiten 89–98, XP000785879, ISBN 0-8186-7832-1, offenbaren die Autoren Verfahren, um eine Anwenderschnittstelle zu überwachen und zu optimieren.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung ist durch die Ansprüche definiert.
  • Es ist eine Aufgabe der vorliegenden Erfindung, ein neuartiges und effektives System für die Überwachung der Nutzung einer Zielanwendung einer Anwendungseinheit durch einen Anwender zu schaffen.
  • Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein neuartiges System schaffen, um die durch die Überwachung der Nutzung einer Zielanwendung einer Anwendungseinheit durch einen Anwender erhaltenen Daten zu einem gewünschten Teilnehmer zu übertragen.
  • Es ist eine weitere Aufgabe der vorliegenden Erfindung, eine effiziente Übertragung der überwachten Nutzungsinformationen von einer Überwachungseinheit zu einer Sendeeinheit zu schaffen.
  • Die vorliegende Erfindung löst diese und andere Aufgaben durch die Überwachung der Nutzung einer Anwenderschnittstelle einer Zielanwendung einer Anwendungseinheit. Eine derartige Überwachung kann als ein Beispiel ein Software-Programm, das in einem Computer oder einem Arbeitsplatzrechner unter der Steuerung eines Anwenders ausgeführt wird, die Nutzung einer Bedienungskonsole einer Bilderzeugungsvorrichtung, wie z. B. eines Kopiergeräts, eines Druckers, eines Faxgeräts, eines Scanners, eines Haushaltsgeräts, wie z. B. eines Mikrowellenherdes, eines VCR, einer Digitalkamera, eines Zellulartelephons, eines Palmtop-Computers usw., oder irgendeiner anderen Vorrichtung oder irgendeines anderen Systems, die bzw. das eine Anwenderschnittstelle besitzt, überwachen. Die durch die Überwachung der Nutzung einer Zielanwendung einer Anwendungseinheit durch einen Anwender erhaltenen Daten können als ein weiteres Merkmal der vorliegenden Erfindung gesammelt und protokolliert und dann durch Internet-E-Mail zu einem gewünschten Ort übertragen werden. Die Verwendung der E-Mail-Kommunikation verringert die dem Übertragen derartiger Daten zugeordneten Kosten. Die Daten können in verschiedenen Fällen zum gewünschten Ort übertragen werden, einschließlich jedes Mal, wenn ein Anwender eine Zielanwendung einer Anwendungseinheit beendet, oder nach einer vorgegebenen Anzahl, wie oft ein Anwender die Zielanwendung der Anwendungseinheit verwendet und beendet hat.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • Ein vollständigeres Verständnis der vorliegenden Erfindung und vieler ihrer begleiteten Vorteile wird leicht erhaltenen, wie dieselbe durch Bezugnahme auf die folgende ausführliche Beschreibung besser verstanden wird, wenn sie im Zusammenhang mit der beigefügten Zeichnung betrachtet wird, worin:
  • 1 drei vernetzte Büromaschinen veranschaulicht, die durch das Internet mit einem Netz von Computern und Datenbanken verbunden sind;
  • 2 die Komponenten eines digitalen Kopierers/Druckers veranschaulicht;
  • 3 die elektronischen Komponenten des in 2 veranschaulichten digitalen Kopierers/Druckers veranschaulicht;
  • 4 die Einzelheiten der in 3 veranschaulichten Mehrfachanschluss-Kommunikationsschnittstelle veranschaulicht;
  • 5 eine alternative Systemkonfiguration veranschaulicht, in der die Bürogeräte mit einem Computer, der mit einem Netz verbunden ist, und außerdem mit Vorrichtungen, die direkt mit dem Netz verbunden sind, verbunden sind;
  • 6A im Format eines Blockschaltplans eine Art veranschaulicht, in der die Informationen unter Verwendung elektronischer Post zu oder von einer Vorrich tung übertragen werden können;
  • 6B eine alternative Art der Übertragung unter Verwendung elektronischer Post veranschaulicht, bei der der Computer, der mit der Vorrichtung verbunden ist, außerdem als ein Nachrichtenübertragungsagent dient;
  • 6C eine alternative Art der Übertragung unter Verwendung elektronischer Post veranschaulicht, bei der die Anwendungseinheit die Fähigkeit zu elektronischer Post enthält;
  • 7 eine alternative Art des Sendens von Nachrichten über das Internet veranschaulicht;
  • 8 einen beispielhaften Computer veranschaulicht, der mit der Vorrichtung verbunden und verwendet werden kann, um Nachrichten der elektronischen Post zu übertragen;
  • 9 in Form eines Blockschaltplans eine Verbindung eines Überwachungs- und Protokollierungsblocks und eines Sendeblocks mit einer Zielanwendung einer Anwendungseinheit in der vorliegenden Erfindung zeigt;
  • 10 ein Beispiel einer Anwendungseinheit zeigt, auf die die vorliegende Erfindung angewendet werden kann;
  • 11 ein zweites Beispiel einer Anwendungseinheit zeigt, auf die die vorliegende Erfindung angewendet werden kann;
  • 12A eine Gesamtansicht der in der vorliegenden Erfindung ausgeführten Objekte zeigt;
  • 12B die Informationen in einer abstrakten Klasse zeigt, die zwischen einem Überwachungsblock und einem Sendeblock in der vorliegenden Erfindung übertragen wird;
  • 13 eine in der vorliegenden Erfindung ausgeführte Anfangsüberwachungsoperation zeigt;
  • 14 eine Operation des Festlegens eines Trigger-Typs und einer Anzahl von Sitzungsoperation in der vorliegenden Erfindung zeigt;
  • 15(a) und 15(b) die Befehlsnutzungsoperationen zeigen, die in der vorliegenden Erfindung ausgeführt werden können;
  • 16(a) und 16(b) die Operationen zum Anhalten der Überwachung zeigen, die in der vorliegenden Erfindung ausgeführt werden können;
  • 17 eine Sendesteueroperation zeigt, die in der vorliegenden Erfindung ausgeführt werden kann;
  • 18 die Struktur abstrakter und abgeleiteter Klassen in der vorliegenden Erfindung zeigt;
  • 19 ein Ablaufplan ist, der eine in der vorliegenden Erfindung ausgeführte Operation beschreibt, die auf das Zugreifen auf Daten von einer abstrakten Klasse gerichtet ist;
  • 20 die durch die abstrakte Klasse verwendete Struktur zeigt;
  • 21 eine in der vorliegenden Erfindung in Bezug auf eine erste abgeleitete Klasse einer abstrakten Klasse ausgeführte Operation zeigt; und
  • 22 eine zweite in der vorliegenden Erfindung ausgeführte Operation zeigt, die auf eine zweite abgeleitete Klasse einer abstrakten Klasse gerichtet ist.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • In der Zeichnung, in der überall in den verschiedenen Ansichten gleiche Bezugszeichen völlig gleiche oder entsprechende Teile bezeichnen, und insbesondere in ihrer 1 ist eine Figur veranschaulicht, die verschiedene Maschinen und Computer für das Überwachen, das Diagnostizieren und das Steuern der Operation der Maschinen zeigt. In 1 ist ein erstes Netz 16, wie z. B. ein lokales Netz (LAN), mit Computer-Arbeitsplatzrechnern 17, 18, 20 und 22 verbunden. Die Arbeitsplatzrechner können irgendein Computertyp sein, einschließlich zu IBM-Personal-Computern kompatible Geräte, unix-gestützte Computer oder Apple-Macintosh-Com puter. Mit dem Netz 16 sind außerdem ein digitaler Kopierer/Drucker 24, ein Faxgerät 28 und ein Drucker 32 verbunden. Die Vorrichtungen 24, 28 und 32 und die Arbeitsplatzrechner 17, 18, 20 und 22 werden als Maschinen oder überwachte Vorrichtungen bezeichnet, wobei andere Vorrichtungstypen einschließlich irgendeiner der im Folgenden erörterten Vorrichtungen als die Maschinen oder überwachten Vorrichtungen verwendet werden können. Außerdem kann ein (nicht veranschaulichter) Fax-Server mit dem Netz 16 verbunden sein und eine Telephon-, ISDN-(diensteintegrierendes digitales Netz) oder Kabelverbindung besitzen. Außer dass der digitale Kopierer/Drucker 24, das Faxgerät 28 und der Drucker 32 mit dem Netz 16 verbunden sind, können diese Vorrichtungen außerdem herkömmliche Telephon- und/oder ISDN- und/oder Kabelverbindungen 26, 30 bzw. 34 enthalten. Wie oben erklärt worden ist, kommunizieren die Büromaschinen oder die Bürovorrichtungen 24, 28 und 32 über das Netz 16 durch das Internet oder durch eine direkte Telephon-, ISDN-, Funk- oder Kabelverbindung mit einer entfernten Überwachungs-, Diagnose- und Steuerstation, die außerdem als eine Überwachungsvorrichtung bezeichnet wird.
  • In 1 ist das Internet im Allgemeinen durch 10 bezeichnet. Das Internet 10 enthält mehrere untereinander verbundene Computer und Router, die durch 12A12I bezeichnet sind. Die Art der Kommunikation über das Internet ist durch RFC-Dokumente bekannt, die durch FTP bei NIC.DDN.MIL oder bei FTP NISC.SRI.COM erhalten werden. Die TCP/IP-bezogene Kommunikation ist z. B. in dem Buch "TCP/IP Illustrated", Bd. 1, The Protocols, von Stevens, von Addison-Wesley Publishing Company, 1994, beschrieben, was durch Literaturhinweis hierin eingefügt ist.
  • In 1 ist eine Firewall 14 zwischen das Internet 10 und das Netz 16 geschaltet. Eine Firewall ist eine Vorrichtung, die nur autorisierten Computern erlaubt, über das Internet auf ein Netz oder andere Computer zuzugreifen. Firewalls sind bekannte und kommerziell verfügbare Vorrichtungen und/oder Software, wobei sie z. B. SunScreen von Sun Microsystems Inc. enthalten. Ähnlich ist eine Firewall 50 zwischen das Internet 10 und ein Netz 52 geschaltet. Außerdem ist eine Firewall 40 zwischen das Internet 10 und einen Arbeitsplatzrechner 42 geschaltet.
  • Das Netz 52 ist ein herkömmliches Netz, wobei es mehrere Arbeitsplatzrechner 56, 62, 68 und 74 enthält. Diese Arbeitsplatzrechner können verschiedene Abteilungen innerhalb einer Firma sein, wie z. B. die Vertriebs-, Herstellungs-, Kon struktions- und Kundendienst-Abteilungen. Außer den über das Netz 52 verbundenen Arbeitsplatzrechnern gibt es einen Arbeitplatzrechner 42, der nicht direkt mit dem Netz 52 verbunden ist. Die Informationen in einer Datenbank, die in einer Platte 46 gespeichert ist, können unter Verwendung passender Verschlüsselung und passender Protokolle über das Internet von den Arbeitsplatzrechnern gemeinsam benutzt werden, die direkt mit dem Netz 52 verbunden sind. Außerdem enthält der Arbeitsplatzrechner 42 eine direkte Verbindung zu einer Telephonleitung und/oder zum ISDN und/oder zum Kabel 44, wobei auf die Datenbank in der Platte 46 durch die Telephonleitung, das ISDN oder das Kabel zugegriffen werden kann. Das durch diese Erfindung verwendete Kabel kann unter Verwendung eines Kabels implementiert sein, das typischerweise verwendet wird, um Fernsehprogramme zu übertragen, unter Verwendung eines Kabels implementiert sein, das für die Hochgeschwindigkeitsübermittlung digitaler Daten sorgt, das typischerweise mit Computern oder dergleichen verwendet wird, oder unter Verwendung irgendeines gewünschten Kabeltyps implementiert sein.
  • Die Informationen der Büromaschinen 24, 28 und 32 können in einer oder mehreren der Datenbanken gespeichert sein, die in den Platten 46, 54, 58, 64, 70 und 76 gespeichert sind. Jede der Kundendienst-, Vertriebs-, Herstellungs- und Entwicklungsabteilungen kann ihre eigene Datenbank besitzen oder sie kann eine oder mehrere Datenbanken gemeinsam benutzten. Jede der Platten, die verwendet werden, um die Datenbanken zu speichern, ist ein nichtflüchtiger Speicher, wie z. B. eine Festplatte oder eine optische Platte. Alternativ können die Datenbanken in irgendeiner Speichervorrichtung gespeichert sein, einschließlich Festkörper- und/oder Halbleiterspeichervorrichtungen. Als ein Beispiel enthält die Platte 64 die Vertriebs-Datenbank, enthält die Platte 58 die Herstellungs-Datenbank, enthält die Platte 70 die Entwicklungs-Datenbank und enthält die Platte 76 die Kundendienst-Datenbank. Alternativ speichern die Platten 54 und 46 eine oder mehrere der Datenbanken.
  • Außer dass die Arbeitsplatzrechner 56, 62, 68, 74 und 42 mit dem Internet verbunden sind, können diese Arbeitsplatzrechner außerdem eine Verbindung zu einer Telephonleitung, zum ISDN oder zum Kabel enthalten, die bzw. das eine sichere Verbindung zur überwachten, diagnostizierten und/oder gesteuerten Maschine schafft und während der Verbindungsbetriebsart der Kommunikation verwendet wird. Außerdem kann, falls das Internet, das Telephon, das ISDN oder das Kabel nicht richtig arbeiten, irgendeines der anderen automatisch für die Kom munikation verwendet werden.
  • Die Verwendung einer verbindungslosen Betriebsart der Kommunikation (z. B. Internet-E-Mail) oder der Übertragung zwischen einer Maschine und einem Computer für das Diagnostizieren und Steuern der Maschine ist ein Merkmal der vorliegenden Erfindung. Alternativ kann die E-Mail, die übertragen wird, unter Verwendung einer Verbindungsbetriebsart der Kommunikation implementiert sein. Das IBM Dictionary of Computing von George McDaniel, 1994, definiert, dass eine Übertragung in der verbindungslosen Betriebsart die Übertragung einer einzelnen Einheit der Daten von einem Quell-Dienstzugriffspunkt zu einem oder mehreren Ziel-Dienstzugriffspunkten, ohne eine Verbindung aufzubauen, ist. Das IBM Dictionary definiert außerdem, dass eine Übertragung in der Verbindungsbetriebsart die Übertragung von Einheiten der Daten von einem Quell-Dienstzugriffspunkt über eine Verbindung zu einem oder mehreren Ziel-Dienstzugriffspunkten ist. Die Verbindung wird vor der Datenübertragung aufgebaut und nach der Datenübertragung freigegeben. Zusätzliche Informationen über die Verbindungsbetriebsart und die verbindungslose Betriebsart sind im Handbook of Computer-Communications Standards, Bd. 1, 2. Auflage, von William Stallings, 1990, beschrieben, was durch Literaturhinweis hierin eingefügt ist. Um Daten von einer DTE (Datenendeinrichtung) zu einer weiteren DTE zu übertragen, gibt es eine eindeutige Kennung oder Adresse für jede DTE. Die eindeutige Kennung oder Adresse ist sowohl in den verbindungslosen Betriebsarten als auch den Verbindungsbetriebsarten der Kommunikation verwendbar.
  • 2 veranschaulicht die mechanische Anordnung des in 1 veranschaulichten digitalen Kopierers/Druckers 24. In 2 ist 101 ein Lüfter für den Scanner, ist 102 ein Polygonspiegel, der mit einem Laser-Drucker verwendet wird, und bezeichnet 103 eine Fθ-Linse, die verwendet wird, um das Licht von einem (nicht veranschaulichten) Laser zu kollimieren. Das Bezugszeichen 104 bezeichnet einen Sensor, um das Licht vom Scanner zu detektieren. 105 ist eine Linse, um das Licht von dem Scanner auf den Sensor 104 zu fokussieren, und 106 ist eine Löschlampe, die verwendet wird, um die Bilder von der photoleitenden Trommel 132 zu löschen. Es gibt eine Lade-Koronaeinheit 107 und eine Entwicklungswalze 108. Das Bezugszeichen 109 bezeichnet eine Lampe, die verwendet wird, um ein abzutastendes Dokument zu beleuchten, während 110, 111 und 112 Spiegel bezeichnen, die verwendet werden, um das Licht auf den Sensor 104 zu reflektieren. Es gibt einen Trommelspiegel 113, der verwendet wird, um das vom Polygon spiegel 102 ausgehende Licht auf die photoleitende Trommel 132 zu reflektieren. Das Bezugszeichen 114 bezeichnet einen Lüfter, der verwendet wird, um den Ladebereich des digitalen Kopierers/Druckers zu kühlen, während 115 eine erste Papierzufuhrwalze ist, die verwendet wird, um das Papier von der ersten Papierkassette 117 zuzuführen, während 116 ein Tisch für die manuelle Zufuhr ist. Ähnlich ist 118 eine zweite Papierzufuhrwalze für die zweite Kassette 119. Das Bezugszeichen 120 bezeichnet eine Weiterleitungswalze, 121 ist eine Registrierungswalze. 122 ist ein Bilddichtesensor und 123 ist eine Übertragungs-/Trennungs-Koronaeinheit. Das Bezugszeichen 124 ist eine Reinigungseinheit, 125 ist ein Vakuumlüfter, 126 veranschaulicht einen Transportriemen, 127 ist eine Andruckwalze und 128 ist eine Austrittswalze. Das Bezugszeichen 129 ist eine Heißwalze, um den Toner auf dem Papier zu fixieren, 130 ist ein Abluftlüfter und 131 ist der Hauptmotor, der verwendet wird, um das digitale Kopiergerät anzutreiben.
  • 3 veranschaulicht einen Blockschaltplan der in 2 veranschaulichten elektronischen Komponenten. Die CPU 160 ist ein Mikroprozessor, wobei sie als der System-Controller wirkt. Es gibt einen Schreib-Lese-Speicher 162, um die sich dynamisch ändernden Informationen zu speichern, die die Betriebsparameter des digitalen Kopiergeräts enthalten. Ein Festwertspeicher 164 speichert den Programmcode, der verwendet wird, um das digitale Kopiergerät zu betreiben, und außerdem die Informationen, die das Kopiergerät beschreiben (die Daten des statischen Zustands), wie z. B. die Modellnummer, die Seriennummer des Kopiergeräts und die vorgegebenen Parameter.
  • Es gibt eine Mehrfachanschluss-Kommunikationsschnittstelle 166, die dem digitalen Kopiergerät erlaubt, mit externen Vorrichtungen zu kommunizieren. Das Bezugszeichen 168 stellt eine Telephon-, ISDN- oder Kabelleitung dar, während 170 ein Netz darstellt. Weitere Informationen über die Mehrfachanschluss-Kommunikationsschnittstelle sind in Bezug auf 4 beschrieben. Ein Schnittstellen-Controller 172 wird verwendet, um eine Bedienungskonsole 174 mit einem Systembus 186 zu verbinden. Die Bedienungskonsole 174 enthält Standard-Eingabe- und -Ausgabe-Vorrichtungen, die an einem digitalen Kopiergerät zu finden sind, einschließlich einer Kopiertaste, den Tasten, um die Operation des Kopiergeräts zu steuern, wie z. B. die Anzahl der Kopien, Verkleinerung/Vergrößerung, Dunkelheit/Helligkeit usw. Außerdem kann eine Flüssigkristallanzeige innerhalb der Bedienungskonsole 174 enthalten sein, um die Parameter und Nachrichten des digitalen Kopiergeräts einem Anwender anzuzeigen.
  • Eine Speicherschnittstelle 176 verbindet die Speichervorrichtungen mit dem Systembus 186. Die Speichervorrichtungen enthalten einen Flash-Speicher 178, der durch einen herkömmlichen EEPROM und eine Platte 182 ersetzt sein kann. Die Platte 182 enthält eine Festplatte, eine optische Platte und/oder ein Diskettenlaufwerk. Es gibt eine Verbindung 180, die mit der Speicherschnittstelle 176 verbunden ist, die erlaubt, das zusätzliche Speichervorrichtungen mit dem digitalen Kopiergerät verbunden werden. Der Flash-Speicher 178 wird verwendet, um halbstatische Zustandsdaten zu speichern, die die Parameter des digitalen Kopiergeräts beschreiben, die sich während der Lebensdauer des Kopiergeräts selten ändern. Derartige Parameter enthalten die Optionen und die Konfiguration des digitalen Kopiergeräts. Eine Optionsschnittstelle 184 erlaubt, dass zusätzliche Hardware, wie z. B. eine externe Schnittstelle, mit dem digitalen Kopiergerät verbunden wird. Eine Uhr/ein Zeitgeber 187 wird verwendet, um sowohl die Zeit und das Datum zu verfolgen als auch die verstrichene Zeit zu messen.
  • Auf der linken Seite der 3 sind verschiedene Abschnitte, die das digitale Kopiergerät bilden, veranschaulicht. Das Bezugszeichen 202 bezeichnet eine Sortiereinrichtung, wobei sie Sensoren und Aktuatoren enthält, die verwendet werden, um die Ausgabe des digitalen Kopiergeräts zu sortieren. Es gibt einen Duplexer 200, der erlaubt, dass ein Duplexbetrieb durch das digitale Kopiergerät ausgeführt wird, wobei er herkömmliche Sensoren und Aktuatoren enthält. Das digitale Kopiergerät enthält eine Ablageeinheit 198 mit großer Kapazität, die erlaubt, dass Papierschächte, die eine große Anzahl von Blättern enthalten, mit dem digitalen Kopiergerät verwendet werden. Die Ablageeinheit 198 mit großer Kapazität enthält herkömmliche Sensoren und Aktuatoren.
  • Eine Papierzufuhr-Steuereinheit 196 wird verwendet, um die Operation des Zuführens des Papiers in und durch das digitale Kopiergerät zu steuern. Ein Scanner 194 wird verwendet, um die Bilder in das digitale Kopiergerät abzutasten, wobei er herkömmliche Abtastelemente, wie z. B. eine Lichtquelle, einen Spiegel usw. enthält. Außerdem werden Scanner-Sensoren verwendet, wie z. B. ein Ruhelage-Sensor, um festzustellen, dass sich der Scanner in der Ruhelage befindet, und ein Lampen-Thermistor, um den richtigen Betrieb der Abtastlampe zu sichern. Es gibt einen Drucker/Belichter 192, der die Ausgabe des digitalen Kopiergeräts druckt und einen herkömmlichen Laser-Druckmechanismus, einen Toner-Sensor und einen Bilddichtesensor enthält. Die Schmelzeinrichtung 190 wird verwendet, um den Toner unter Verwendung einer Hochtemperaturwalze auf der Seite zu schmelzen, und enthält einen Ausgangssensor, einen Thermistor, um sicherzustellen, dass die Schmelzeinrichtung 190 nicht überhitzt wird, und einen Ölsensor. Außerdem gibt es eine Schnittstelle 188 für optionale Einheiten, die verwendet wird, um die optionalen Elemente des digitalen Kopiergeräts, wie z. B. eine automatische Dokumentenzufuhreinrichtung, einen anderen Typ der Sortiereinrichtung/Kollationiereinrichtung oder andere Elemente, die zum digitalen Kopiergerät hinzugefügt werden können, anzuschließen.
  • 4 veranschaulicht die Einzelheiten der Mehrfachanschluss-Kommunikationsschnittstelle 166. Das digitale Kopiergerät kann durch eine Centronics-Schnittstelle 220, die die zu druckenden Informationen empfängt oder sendet, eine Kabelmodemeinheit 221, die eine Hochgeschwindigkeitsverbindung über Kabel besitzt, eine SCSI-Schnittstelle 222, eine herkömmliche Telephonschnittstelle 224, die mit einer Telephonleitung 168A verbunden ist, eine ISDN-Schnittstelle 226, die mit einer ISDN-Leitung 168B verbunden ist, eine RS-232-Schnittstelle 228 und eine LAN-Schnittstelle 230, die mit einem LAN 170 verbunden ist, mit externen Vorrichtungen kommunizieren. Eine einzelne Vorrichtung, die sowohl mit einem lokalen Netz als auch einer Telephonleitung verbunden ist, ist von Megahertz kommerziell verfügbar und als das Ethernet-Modem bekannt.
  • Die CPU oder ein anderer Mikroprozessor oder eine andere Schaltungsanordnung führt einen Überwachungsprozess aus, um den Zustand jedes der Sensoren des digitalen Kopiergeräts zu überwachen, wobei ein Sequentialisierungsprozess verwendet wird, um die Befehle des Codes auszuführen, der verwendet wird, um das digitale Kopiergerät zu steuern und zu betreiben. Außerdem gibt es einen zentralen Systemsteuerprozess, der ausgeführt wird, um den Gesamtbetrieb des digitalen Kopiergeräts zu steuern, und einen Kommunikationsprozess, der verwendet wird, um die zuverlässige Kommunikation mit den externen Vorrichtungen, die mit dem digitalen Kopiergerät verbunden sind, sicherzustellen. Der Systemsteuerprozess überwacht und steuert die Datenspeicherung in einem statischen Zustandsspeicher, wie z. B. dem ROM 164 nach 3, einem halbstatischen Speicher, wie z. B. im Flash-Speicher 178 oder der Platte 182, oder der dynamischen Zustandsdaten, die in einem flüchtigen oder nichtflüchtigen Speicher, wie z. B. dem RAM 162 oder dem Flash-Speicher 178 oder der Platte 182, gespeichert sind. Außerdem können die statischen Zustandsdaten in einer anderen Vorrichtung als dem ROM 164 gespeichert sein, wie z. B. in einem nichtflüchtigen Spei cher, der entweder den Flash-Speicher 178 oder die Platte 182 enthält.
  • Die obigen Einzelheiten sind in Bezug auf ein digitales Kopiergerät beschrieben worden, die vorliegende Erfindung ist aber gleichermaßen auf andere Büromaschinen oder -vorrichtungen anwendbar, wie z. B. auf ein analoges Kopiergerät, ein Faxgerät, einen Scanner, einen Drucker, einen Fax-Server oder andere Büromaschinen, oder ein Haushaltsgerät, mit dem ein Anwender eine Schnittstelle bildet, wie z. B. einen Mikrowellenherd, einen VCR, eine Digitalkamera, ein Zellulartelephon, einen Palmtop-Computer usw. Außerdem enthält die vorliegende Erfindung andere Maschinentypen, die unter Verwendung einer Verbindungsbetriebsart oder verbindungslosen Betriebsart der Kommunikation und außerdem E-Mail arbeiten, wie z. B. ein Messsystem, einschließlich Gas-, Wasser- oder Elektrizitäts-Meßsystem, Verkaufsmaschinen oder irgendeine andere Vorrichtung, die mechanische Operationen ausführt, wie z. B. Automobile, und einen Bedarf besitzt, überwacht zu werden, und eine Funktion ausführt. Außer für die Überwachung von Maschinen für spezielle Anwendungen und Spezialcomputer kann die Erfindung verwendet werden, um einen universellen Computer, der die überwachte und/oder gesteuerte Vorrichtung sein würde, zu überwachen, zu steuern und zu diagnostizieren.
  • 5 veranschaulicht ein alternatives Systemdiagramm der Erfindung, in dem verschiedene Vorrichtungen und Untersysteme mit dem Internet 10 verbunden sind. Es gibt jedoch keine Anforderung, jede dieser Vorrichtungen oder jedes dieser Untersysteme als Teil der Erfindung zu besitzen, sondern jede einzelne Komponente oder jedes einzelne Untersystem, die bzw. das in 5 veranschaulicht ist, sind außerdem ein Teil der Erfindung. Ferner können die in 1 veranschaulichten Elemente mit dem Internet 10 verbunden sein, was in 5 veranschaulicht ist. In 5 ist eine Firewall 250 veranschaulicht, die mit einem Intranet 252 verbunden ist. Einer der mit dem Intranet 252 verbundenen Computer oder eine der mit dem Intranet 252 verbundenen Vorrichtungen ist eine Dienstmaschine 254, die Daten 256 enthält oder mit der Daten 256 verbunden sind, die in einem Datenbankformat gespeichert sein können. Die Daten 256 enthalten Historieninformationen, Leistungsinformationen, Funktionsstörungsinformationen oder irgendwelche anderen Informationen, die statistische Informationen des Betriebs oder des Ausfalls oder des Aufbaus und der Komponenten oder der optionalen Ausrüstung der Vorrichtungen, die überwacht werden, enthalten. Die Dienstmaschine 254 kann als die Vorrichtung oder der Computer implementiert sein, die bzw. der die überwachten Vorrichtungen auffordert, die Daten zu übertragen, oder die bzw. der anfordert, dass die Fernsteuerung und/oder die Diagnosetests an den überwachten Vorrichtungen ausgeführt werden. Die Dienstmaschine 254 kann als irgendein Vorrichtungstyp implementiert sein, wobei sie vorzugsweise unter Verwendung einer computer-gestützten Vorrichtung, wie z. B. einem universellen Computer, implementiert ist.
  • Ein weiteres Untersystem nach 5 enthält eine Firewall 258, ein Intranet 260 und einen Drucker 262, der mit ihm verbunden ist. In diesem Untersystem gibt es keinen separaten universellen Computer, der zwischen das Intranet 260 (oder einen anderen Typ des Computer-Netzes) und den Drucker 262 geschaltet ist, sondern die Funktionen des Sendens und des Empfangens der Nachrichten der elektronischen Post durch den Drucker 262 (und ähnlich durch ein Kopiergerät 286) werden durch die Schaltungsanordnung, einen Mikroprozessor oder irgendeinen anderen Hardware-Typ ausgeführt, der im Drucker 262 enthalten ist oder am Drucker 262 angebracht ist.
  • Ein alternativer Typ des Untersystems enthält die Verwendung eines Internet-Diensteanbieters 264, der irgendein Typ eines Internet-Diensteanbieter sein kann, einschließlich bekannter kommerzieller Gesellschaften, wie z. B. America Online, Netcom, CompuServe, Niftyserve, des Internet-Diensteanbieters Erols oder irgendeines anderen Internet-Diensteanbieters. In diesem Untersystem ist ein Computer 266 mit dem Internet-Diensteanbieter 264 durch ein Modem, wie z. B. ein Telephonleitungsmodem, ein Kabelmodem, Modems, die irgendeinen Typ von Drähten verwenden, wie z. B. Modems, die über eine ISDN-Leitung (Leitung eines diensteintegrierenden digitalen Netzes), eine ADSL (asymmetrische digitale Anschlussleitung) verwendet werden, Modems, die die Rahmenweiterleitungs-Kommunikation verwenden, irgendein digitales oder analoges Modem, drahtlose Modems, wie z. B. ein Hochfrequenzmodem, ein Glasfasermodem oder eine Vorrichtung, die infrarote Lichtwellen verwendet, verbunden. Ferner ist ein Bürogerät 268 mit dem Computer 266 verbunden. Als eine Alternative zum Bürogerät 268 (und irgendeiner anderen in 5 veranschaulichten Vorrichtung) kann ein anderer Maschinentyp überwacht und gesteuert werden, wie z. B. ein digitales Kopiergerät, irgendein Haushaltsgerätetyp, ein Sicherheitssystem oder ein Versorgungsmessgerät, wie z. B. ein Versorgungsmessgerät für Elektrizität, Wasser oder Gas, oder irgendeine andere hierin erörterte Vorrichtung.
  • In 5 ist außerdem eine Firewall 270 veranschaulicht, die mit einem Netz 274 verbunden ist. Das Netz 274 kann als irgendein Typ eines Computer-Netzes, wie z. B. ein Ethernet-Netz, implementiert sein. Die Vernetzungs-Software, die verwendet werden kann, um das Netz zu steuern, enthält irgendeine gewünschte Vernetzungs-Software, einschließlich Software, die von Novell oder Microsoft kommerziell verfügbar ist. Das Netz 274 kann auf Wunsch als ein Intranet implementiert sein. Ein mit dem Netz 274 verbundener Computer 272 kann verwendet werden, um Informationen von einem Bürogerät 278 zu erhalten und Berichte, wie z. B. Berichte, die Probleme zeigen, die in verschiedenen Maschinen aufgetreten sind, die mit dem Netz verbunden sind, und einen Bericht der monatlichen Nutzung der mit dem Netz 274 verbundenen Vorrichtungen, zu erzeugen. In dieser Ausführungsform ist ein Computer 276 zwischen das Bürogerät 278 und das Netz 274 geschaltet. Dieser Computer empfängt die E-Mail-Kommunikation vom Netz und leitet die geeigneten Befehle oder Daten oder irgendwelche andere Informationen zum Bürogerät 278 weiter. Während dargelegt worden ist, dass das Bürogerät 278 mit dem Computer 276 verbunden ist, gibt es keine Anforderung für eine verdrahtete Verbindung zwischen dem Bürogerät und dem Computer, wobei die Kommunikation zwischen dem Bürogerät 278 und dem Computer 276 unter Verwendung von Drähten oder drahtlosen Verfahren, einschließlich durch die Verwendung von Hochfrequenzverbindungen und Lichtverbindungen, die durch eine Infrarotverbindung oder durch Faseroptik erfolgen können, ausgeführt werden kann. Ähnlich kann jedes der in 5 veranschaulichten verschiedenen Netze und Intranets unter Verwendung irgendeiner gewünschten Weise aufgebaut sein, einschließlich durch den Aufbau drahtloser Netze, wie z. B. Hochfrequenznetze. Die hierin beschriebene drahtlose Kommunikation kann unter Verwendung von Streuspektrum-Techniken aufgebaut sein, einschließlich von Techniken, die einen Streucode verwenden, und von Frequenzsprungtechniken, wie z. B. das drahtlose Frequenzsprung-Netz, das in der Bluetooth-Spezifikation offenbart ist, die auf der World-Wide-Web-Site www.bluetooth.com beschrieben ist, die durch Literaturhinweis hierin eingefügt ist.
  • Ein weiteres in 5 veranschaulichtes Untersystem enthält eine Firewall 280, ein Intranet 284, einen mit ihm verbundenen Computer 282 und ein Kopiergerät 286. Der Computer 282 kann verwendet werden, um Berichte zu erzeugen und diagnostische Prozeduren oder Steuerprozeduren anzufordern. Diese diagnostischen Prozeduren und Steuerprozeduren können in Bezug auf das Kopiergerät 286 und irgendeine der anderen Vorrichtungen, die in 5 veranschaulicht sind oder mit 5 verwendet werden, ausgeführt werden. Während 5 mehrere Firewalls veranschaulicht, sind die Firewalls bevorzugte, aber optionale Ausrüstung, wobei deshalb die Erfindung auf Wunsch ohne die Verwendung von Firewalls betrieben werden kann.
  • 6A veranschaulicht eine Anwendungseinheit 300, die mit einem typischen E-Mail-Austauschsystem verbunden ist, das die Komponenten 302, 304, 306, 308, 310, 312, 314, 316 und 318 enthält, die in einer herkömmlichen Weise implementiert sein können und aus 28.1 nach Stevens, oben, entnommen werden können. Die Anwendungseinheit 300 kann irgendeine der hierin beschriebenen Vorrichtungen sein, wobei der Anwender an einem Endgerät 302 irgendeinem der veranschaulichten Computer entsprechen kann, wie z. B. dem in 5 veranschaulichten Computer 276. Während 6A den Anwender an einem Endgerät 302 als einen Sender veranschaulicht, können in 6A die Sende- und Empfangsfunktionen entgegengesetzt sein. Ferner kann es auf Wunsch keine Notwendigkeit geben, dass sich ein Anwender am Endgerät befindet. Mit dem Anwender an einem Endgerät 302 ist der Anwenderagent 304 verbunden. Populäre Anwenderagenten für Unix enthalten MH, Berkeley Mail, Elm und Mush. Der Anwenderagent erzeugt die zu sendenden E-Mail-Nachrichten, wobei er auf Wunsch diese zu sendenden Nachrichten in einer Warteschlange 306 anordnet. Die zu sendende Post wird zu einem Nachrichtenübertragungsagenten (MTA) 308 weitergeleitet. Ein häufiger MTA für Unix-Systeme ist Sendmail. Typischerweise tauschen die Nachrichtenübertragungsagenten 308 und 312 die Kommunikationen unter Verwendung einer TCP-Verbindung (Übertragungskommunikationsprotokoll-Verbindung) oder einer TCP/IP-Verbindung (Internetprotokoll-Verbindung) oder ein TCP/IP-Protokoll aus. Es wird angegeben, dass die Kommunikation zwischen den Nachrichtenübertragungsagenten 308 und 312 über das Internet erfolgen kann, sie kann aber alternativ über irgendeinen Verbindungstyp erfolgen, einschließlich irgendeiner Netzverbindung, wie z. B. eines lokalen Netzes, eines weiträumigen Netzes und/oder eines Intranets. Ferner kann jede gewünschte Verbindung zwischen den Nachrichtenübertragungsagenten 308 und 312 verwendet werden.
  • Von den Nachrichtenübertragungsagenten 312 werden die E-Mail-Nachrichten in Anwender-Postfächern 314 gespeichert, die zum Anwenderagenten 316 übertragen und schließlich zum Anwender an einem Endgerät 318 übertragen werden, das als ein Empfangsendgerät arbeitet.
  • Das TCP schafft eine Verbindungsbetriebsart der Übertragung. Es wird jedoch normalerweise keine direkte Verbindung zwischen dem sendenden Endgerät 302 und dem empfangenden Endgerät 318 aufgebaut. Folglich kann die Übertragung einer Nachricht der elektronischen Post als eine verbindungslose Betriebsart der Kommunikation betrachtet werden, wenn auf sie als zwischen zwei Anwendern oder Endgeräten Bezug genommen wird, wenn jedoch die Übertragung zwischen MTAs betrachtet wird, ist die Kommunikation normalerweise eine Verbindungsbetriebsart der Kommunikation.
  • Da das Internet ein Netz ist, das für viele Menschen und Organisationen zugänglich ist, wird es nicht als sicher betrachtet. Deshalb sollten über das Internet übertragene Nachrichten verschlüsselt sein, um die Nachrichten vertraulich zu halten. Es sind Verschlüsselungsmechanismen bekannt und kommerziell verfügbar, die mit der vorliegenden Erfindung verwendet werden können. Zum Beispiel ist eine C-Bibliotheksfunktion, crypto, von Sun Microcomputers für die Verwendung mit dem Unix-Betriebssystem verfügbar, wobei andere Verschlüsselungs- und Entschlüsselungsroutinen bekannt und kommerziell verfügbar sind und außerdem mit dieser Erfindung verwendet werden können.
  • Als eine Alternative zur allgemeinen Struktur nach 6A kann ein einzelner Computer verwendet werden, der als das Anwenderendgerät und außerdem als der Nachrichtübertragungsagent arbeitet. Wie in 6B veranschaulicht ist, ist die Anwendungseinheit 300 mit einem Computer 301 verbunden, der den Nachrichtenübertragungsagenten 308 enthält. Auf Wunsch können die anderen Komponenten auf der Sendeseite nach 6A im Computer 301 nach 6B enthalten sein, einschließlich des Anwenderagenten 304 und der Warteschlange der zu sendenden Post 306.
  • Eine weitere alternative Struktur ist in 6C gezeigt, in der der Nachrichtenübertragungsagent 308 als ein Teil der Anwendungseinheit 300 ausgebildet ist. Ferner ist der Nachrichtenübertragungsagent 308 durch die TCP-Verbindung 310 mit den Nachrichtenübertragungsagenten 312 verbunden. Diese Ausführungsform nach 6C veranschaulicht einen Fall, in dem die Anwendungseinheit 300 direkt mit der TCP-Verbindung 310 verbunden ist und eine E-Mail-Fähigkeit besitzt. Ein häufiger Fall dieser Ausführungsform nach 6C kann sein, dass die Anwendungseinheit 300 ein Faxgerät mit einer E-Mail-Fähigkeit der RFC 2305 ist (einer einfachen Betriebsart des Telefax unter Verwendung der Internet-Post).
  • 7 veranschaulicht eine alternative Implementierung der Übertragung von Post, wobei sie auf 28.3 nach Stevens basiert. 7 veranschaulicht ein System elektronischer Post, das an jedem Ende ein Weiterleitungssystem besitzt. Die Anordnung nach 7 erlaubt einem System in einer Organisation, als ein Post-Hub zu arbeiten. In 7 gibt es vier MTAs, die zwischen die zwei Anwenderagenten 304 und 316 geschaltet sind. Diese MTAs enthalten den lokalen MTA 322, den Weiterleitungs-MTA 328, den Weiterleitungs-MTA 332 und den lokalen MTA 340. Das für die Post-Nachrichten am häufigsten verwendete Protokoll ist das SMTP (einfaches Postübertragungsprotokoll), das mit dieser Erfindung verwendet werden kann, obwohl jedes gewünschte Postprotokoll verwendet werden kann. In 7 bezeichnet 320 einen Sende-Host, der den Anwender an einem Endgerät 302, den Anwenderagenten 304 und den lokalen MTA 322 enthält. Die Anwendungseinheit 300 ist mit dem Sende-Host 320 verbunden oder alternativ im Sende-Host 320 enthalten. Als ein weiterer Fall können sich die Anwendungseinheit 300 und der Host 320 in einer Maschine befinden, wobei die Host-Fähigkeit in die Anwendungseinheit 300 eingebaut ist. Andere lokale MTAs enthalten die lokalen MTA 324 und 326. Die zu sendende und zu empfangende Post kann in einer Warteschlange der Post 330 des Weiterleitungs-MTA 328 eingereiht sein. Die Nachrichten werden über die TCP-Verbindung 310 übertragen, die z. B. das Internet sein kann, oder die irgendeinen anderer Netz- oder Verbindungstyp sein kann.
  • Die gesendeten Nachrichten werden durch den Weiterleitungs-MTA 332 empfangen und auf Wunsch in einer Warteschlange der Post 334 gespeichert. Die Post wird dann zum lokalen MTA 340 eines Empfangs-Hosts 342 weitergeleitet. Die Post kann in einem oder mehreren der Anwender-Postfächer 314 anordnet und anschließend zum Anwenderagenten 316 weitergeleitet und schließlich zum Anwender an einem Endgerät 318 weitergeleitet werden. Auf Wunsch kann es nicht erforderlich sein, dass sich der Anwender am Endgerät befindet, wobei die Post ohne Anwenderwechselwirkung direkt zum Endgerät weitergeleitet werden kann. Andere lokale MTAs auf der Empfangsseite enthalten den MTA 338 und den lokalen MTA 336, die ihre eigenen Postfächer, Anwenderagenten und Endgeräte besitzen können.
  • Die verschiedenen durch die vorliegende Erfindung verwendeten Computer, einschließlich der Computer 266 und 276 nach 5, können implementiert sein, wie in 8 veranschaulicht ist. Ferner kann jeder andere durch diese Erfindung verwendete Computer in einer zum in 8 veranschaulichten Computer ähnlichen Weise implementiert sein, auf Wunsch einschließlich der Dienstmaschine 254, des Computers 272 und des Computers 282 nach 5. Es ist jedoch nicht jedes in 8 veranschaulichte Element in jedem dieser Computer erforderlich. In 8 enthält der Computer 360 eine CPU 362, die als irgendein Prozessortyp implementiert sein kann, einschließlich kommerziell verfügbarer Mikroprozessoren von Firmen, wie z. B. Intel, Motorola, Hitachi und NEC. Es gibt einen Arbeitsspeicher, wie z. B. einen RAM 364, und eine drahtlose Schnittstelle 366, die mit einer drahtlosen Vorrichtung 368 kommuniziert. Die Kommunikation zwischen der Schnittstelle 366 und der Vorrichtung 368 kann irgendein drahtloses Medium verwenden, wie z. B. Funkwellen oder Lichtwellen. Die Funkwellen können unter Verwendung einer Streuspektrum-Technik implementiert sein, wie z. B. der Codemultiplex-Vielfachzugriff-Kommunikation (CDA-Kommunikation) oder unter Verwendung einer Frequenzsprungtechnik, wie z. B. der, die in der Bluetooth-Spezifikation offenbart ist.
  • Es gibt einen ROM 370 und einen Flash-Speicher 371, obwohl irgendein anderer Typ eines nichtflüchtigen Speichers außer dem Flash-Speicher 371 oder anstelle des Flash-Speichers 371 verwendet werden kann, wie z. B. ein EPROM oder ein EEPROM. Eine Tastatur 374 und eine Maus 376 sind an einen Eingabe-Controller 372 angeschlossen. Es gibt eine serielle Schnittstelle 378, die mit einer seriellen Vorrichtung 380 verbunden ist. Außerdem ist eine parallele Schnittstelle 382 mit einer parallelen Vorrichtung 384 verbunden, ist eine Schnittstelle 386 eines universellen seriellen Busses mit einer Vorrichtung 388 eines universellen seriellen Busses verbunden und gibt es außerdem eine IEEE-1394-Vorrichtung 400, die üblicherweise als eine Firewire-Vorrichtung bezeichnet wird, die mit einer IEEE-1394-Schnittstelle 398 verbunden ist. Die verschiedenen Elemente des Computers 360 sind mit einem Systembus 390 verbunden. Ein Platten-Controller 396 ist mit einem Diskettenlaufwerk 394 und einem Festplattenlaufwerk 392 verbunden. Ein Kommunikations-Controller 406 erlaubt dem Computer 360, mit anderen Computern zu kommunizieren oder E-Mail-Nachrichten zu senden, z. B. über eine Telephonleitung 402 oder ein Netz 404. Ein E/A-Controller (Eingabe/Ausgabe-Controller) 408 ist mit einem Drucker 410 und einer Festplatte 412, z. B. unter Verwendung eines SCSI-Busses (eines Busses einer Schnittstelle für Kleinrechnersysteme) verbunden. Es gibt außerdem einen Anzeige-Controller 416, der mit einer CRT (Katodenstrahlröhre) 414 verbunden ist, obwohl irgendein anderer Typ der Anzeige verwendet werden kann, einschließlich einer Flüssigkristallanzeige, einer Leuchtdiodenanzeige, einer Plasmaanzeige usw.
  • Es ist ein Merkmal der vorliegenden Erfindung, die Nutzung einer Zielanwendung einer Anwendungseinheit durch einen Anwender zu überwachen. Der Begriff Anwendungseinheit bezieht sich in diesem Fall auf ein System, mit dem der Anwender in Wechselwirkung tritt und das der Anwender steuert, wobei eine Zielanwendung ein anwendergesteuertes Angebot der Anwendungseinheit ist. Eine Anwendungseinheit kann z. B. typischerweise ein Computer sein, wobei eine Zielanwendung dann ein Software-Programm, z. B. ein Textverarbeitungsprogramm, das auf dem Computer ausgeführt wird, das ein Anwender betätigt, z. B. durch das Bewegen eines Zeigers auf einem Computer-Schirm und das "Klicken" auf bestimmte Befehls-Piktogramme, um das Software-Programm zu veranlassen, bestimmte Funktionen auszuführen, sein kann. In diesem Sinn kann eine Anwendungseinheit in der vorliegenden Erfindung auf irgendeinen der in 1 gezeigten Arbeitsplatzrechner 17, 18, 20, 22, 56, 62, 68, 74, 42, die ein Software-Programm ausführen, den in 6B gezeigten Computer 301, der ein Software-Programm ausführt, usw. Bezug nehmen. Eine Anwendungseinheit kann außerdem auf eine Bilderzeugungsvorrichtung, wie z. B. den digitalen Kopierer/Drucker 24 oder das Faxgerät 28 oder den Drucker 32 in den 1 und 2 Bezug nehmen. In diesem Fall enthält jede der Vorrichtungs-Anwendungseinheiten eine Anwenderschnittstelle, wie z. B. eine Bedienungskonsole 174 (siehe 3), mit der der Anwender in Wechselwirkung tritt und die der Anwender verwendet, um die Vorrichtungs-Anwendungseinheit zu steuern. Die vorliegende Erfindung kann einen Anwender überwachen, der Bedienungselemente auf einer derartigen Bedienungskonsole auswählt. Als ein weiteres Beispiel könnte die Anwendungseinheit außerdem ein Haushaltsgerät, wie z. B. ein Mikrowellenherd, mit einer Bedienungskonsole sein. Eine Anwendungseinheit kann außerdem auf irgendeine andere Vorrichtung, einschließlich Software, Bezug nehmen, mit der ein Anwender in Wechselwirkung tritt, wobei in diesem Fall die Zielanwendung auf nur ein Merkmal der Software Bezug nehmen kann, mit der der Anwender in Wechselwirkung tritt.
  • Es ist ein Merkmal der vorliegenden Erfindung, die Nutzung einer derartigen Zielanwendung einer Anwendungseinheit durch den Anwender zu überwachen und die Daten der überwachten Nutzung effektiv zu übertragen. Diese Daten werden typischerweise durch E-Mail durch den Computer 301 nach 6A oder 6B oder die Anwendungseinheit 300 nach 6C übertragen. Diese Daten der Nutzung einer Zielanwendung einer Anwendungseinheit durch einen Anwender können dann in vielen Arten verwendet werden, z. B. bei der Verbesserung der Software-Entwicklung, bei der Überwachung der Nutzung einer Vorrichtung, wie z. B. einer Bilderzeugungsvorrichtung, der Entdeckung von Anwenderschwierigkeiten mit Haushaltsgeräten und Software, das Feststellen der am häufigsten verwendeten Merkmale von Anwendungseinheiten usw.
  • 9 zeigt verschiedene Elemente der vorliegenden Erfindung. Insbesondere zeigt 9 eine Anwendungseinheit 300, die eine Zielanwendung 505 enthält, die eine Anwenderschnittstelle 510 enthält. Diese Anwenderschnittstelle 510 ist eine Schnittstelle für einen Anwender, um die Zielanwendung 505 zu steuern. Wie oben erörtert worden ist, kann in einem häufigen Fall die Zielanwendung 505 ein Software-Programm sein, das auf einem der z. B. in 1 der vorliegenden Beschreibung gezeigten Arbeitsplatzrechner 17, 18, 20, 22 abläuft. In diesem Fall kann die Anwenderschnittstelle 510 eine Anzeige auf einem Monitor eines dieser Arbeitsplatzrechner sein. Dieser Fall einer derartigen Zielanwendung ist in 10 ausführlicher gezeigt, die einen Monitor 600 eines der Arbeitsplatzrechner 17, 18, 20 und 22 zeigt. In diesem Fall einer Zielanwendung werden mehrere Funktionstasten 605 auf dem Monitor 600 angezeigt, wobei der Anwender auf diese Funktionstasten zugreifen kann, indem er z. B. die Positionierung eines Zeigers mit einer Maus ändert und auf eine der derartigen Funktionstasten "klickt". Als ein weiteres Beispiel kann der Anwender, falls der Monitor 600 eine Folientastatur ist, die Software-Anwendungseinheit steuern, indem er eine der Funktionstasten 605 berührt. In diesen Fällen überwacht die vorliegende Erfindung jedes Mal, wenn ein Anwender auf eine der Funktionstasten 605 "klickt" oder eine der Funktionstasten 605 berührt, wobei sie die Daten einer derartigen Anwendernutzung für die anschließende Übertragung protokolliert.
  • Als ein weiteres Beispiel, und wie oben angegeben worden ist, kann die Anwendungseinheit 300 eine Bilderzeugungsvorrichtung, wie z. B. der digitale Kopierer/Drucker 26, das Faxgerät 28 oder der Drucker 32, die außerdem in 1 gezeigt sind, sein. In diesem Fall kann die Anwenderschnittstelle 510 die Form einer Bedienungskonsole (z. B. der Bedienungskonsole 174 in 3) mit mehreren Tasten und/oder eines Sensorbildschirms annehmen, die bzw. den ein Anwender betätigt, um die Bilderzeugungsvorrichtung zu steuern. Ein spezifisches Beispiel einer derartigen Anwenderschnittstelle 510 in diesem Fall, in dem die Anwendungseinheit 300 die Form eines digitalen Kopierers/Druckers 26, eines Faxgeräts 28 oder eines Druckers 32 annimmt, ist in 11 gezeigt. In diesem Fall überwacht die vorliegende Erfindung jedes Mal, wenn der Anwender einen der Steuerknöpfe auf der Bedienungskonsole drückt, wobei sie die Daten einer derartigen Anwendernutzung für die anschließende Übertragung protokolliert.
  • 11 zeigt ein Beispiel einer Anwenderschnittstelle für eine Bilderzeugungsvorrichtung ausführlicher. 11 zeigt eine derartige Anwenderschnittstelle 700, die als ein Beispiel der Bedienungskonsole 174 in 3 entsprechen kann. Wie 11 gezeigt ist, kann eine derartige Bedienungskonsole 700 einen Sensorbildschirm 705 enthalten, auf dem verschiedene Befehle erscheinen können, die eine Bedienungsperson durch das Berühren verschiedener Abschnitte des Sensorbildschirms 705 auswählen kann. Die Bedienungskonsole 700 kann außerdem eine 10er Kleintastatur 710 und verschiedene andere Steuerknöpfe 715 enthalten. In dem Fall einer Bilderzeugungsvorrichtung können die Steuerknöpfe 715 Befehle für das Auswählen einer Papiergröße, das Ändern einer Vergrößerung, das Ändern einer Dunkelheit eines gewünschten Bildes usw. sein.
  • Wenn die Anwendungseinheit 300 in 9 eine Bilderzeugungsvorrichtung ist und die Anwenderschnittstelle 510 der Bedienungskonsole 700, wie in 11 gezeigt ist, entspricht, kann die vorliegende Erfindung das Auswählen der in 11 gezeigten Befehle durch einen Anwender überwachen. Die in 11 gezeigte Bedienungskonsole 700 kann mit Modifikationen außerdem eine Bedienungskonsole für ein Haushaltsgerät mit einer Anwenderschnittstelle, wie z. B. einen Mikrowellenherd, einen VCR, eine Digitalkamera, ein Zellulartelephon, einen Palmtop-Computer usw., sein.
  • 10 und 11 zeigen Beispiele der Anwendungseinheit 300 und der Anwenderschnittstelle 510 nach 9, auf die die vorliegende Erfindung angewendet werden kann. Es sollte für die Durchschnittsfachleute leicht offensichtlich sein, dass die vorliegende Erfindung auf verschiedene Typen der Anwendungseinheiten gerichtet ist, die verschiedene Typen der Anwenderschnittstellen enthalten. Die vorliegende Erfindung ist im Prinzip auf jede Vorrichtung anwendbar, die eine Anwenderschnittstelle enthält und für die es erwünscht ist, zu überwachen, wie ein Anwender die Anwenderschnittstelle verwendet.
  • In 9 enthält die vorliegende Erfindung ferner einen Überwachungs- und Protokollierungsblock 515 und einen Sendeblock 520. Der Überwachungs- und Protokollierungsblock 515 überwacht die Nutzung der Anwenderschnittstelle 510 durch den Anwender und zeichnet die Daten einer derartigen überwachten Nutzung auf oder protokolliert die Daten einer derartigen überwachten Nutzung. Zu einem bestimmten Zeitpunkt werden die protokollierten Daten der Nutzung der Anwenderschnittstelle 510 durch den Anwender dann zum Sendeblock 520 gesendet, der dann derartige überwachte Nutzungsdaten zu einem bestimmten Teilnehmer überträgt. Der Überwachungs- und Protokollierungsblock 515 kann in der Vorrichtung, die die Anwendungseinheit 300 enthält, oder in einem weiteren Systemsteuerelement implementiert sein. Der Sendeblock kann außerdem in der Vorrichtung, die die Anwendungseinheit in 6C enthält, implementiert sein, oder er kann außerdem in dem Computer 301 in 6B implementiert sein, an dem die Anwendungseinheit angebracht ist. Die vorliegende Erfindung kann außerdem die Form von Computer-Steuercodes annehmen, die in einem computerlesbaren Medium aufgezeichnet sind.
  • 12A zeigt eine Ansicht eines Gesamtsystems der Abschnitte der Anwendungseinheit 300. Die 1317 zeigen die im Überwachungs- und Protokollierungsblock 515 und im Sendeblock 520, die in 9 gezeigt sind, ausgeführten Operationen. Es sollte angegeben werden, dass die 1217 das System und derartige Operationen in einem objektorientierten Format unter Verwendung der vereinheitlichten Modellierungssprache beschreiben, wie sie z. B. in "The Unified Modeling Language User Guide" von Booch u. a., veröffentlicht von Addison-Wesley, 1999, beschrieben ist.
  • In 12A gibt das Objekt MB 1300 eine zu überwachende Zielanwendung an. Der gestrichelte Block in 12A enthält Objekte, die für die Überwachungsfunktionen verantwortlich sind, wobei er folglich ein Überwachungsblockobjekt 1200 kollektiv angibt. Ein CMonitoringIF-Objekt 1305 führt die Überwachungsfunktionen der Zielanwendung MB 1300 aus. Ein CUsageLogger-Objekt 1315 enthält die Funktionen für das Protokollieren der durch das CMonitoringIF-Objekt 1305 erhaltenen überwachten Daten. Das CUsageLogger-Objekt 1315 tritt mit einem System-Objekt 1325, um die Systeminformationen zu erhalten, und einem CUsageData-Objekt 1330, das ein Speicher für die protokollierten Daten ist, in Wechselwirkung.
  • Ein UsageDataSendManager-Objekt 1310 tritt mit dem CMonitoringIF-Objekt 1305 in Wechselwirkung. Dieses UsageDataSendManager-Objekt 1310 steuert das Übertragen der überwachten Daten der Nutzung der Zielanwendung MB 1300 durch einen Anwender, wie sie durch das CMonitoringIF-Objekt 1305 überwacht wird. Dieses UsageDataSendManager-Objekt 1310 tritt mit einem CUsageInformation-Objekt 1730, das die zu übertragenden Daten modifizieren kann, einem LogFile-Objekt 1605, das außerdem die zu übertragenden Daten speichern kann, und einem UsageDataEncoderDecoder-Objekt 1610, das die Daten zum LogFile-Objekt 1605 codieren und vom LogFile-Objekt 1605 decodieren kann, in Wechselwirkung. Das UsageDataSendManager-Objekt 1310 stellt außerdem die Daten bereit, die zum Sendeblock-Objekt 1600 zu übertragen sind.
  • 12B zeigt einen im System nach 12A ausgeführten Gesamtbetrieb. Insbesondere ruft, wie in 12B gezeigt ist, das Überwachungsblock-Objekt 1200 insgesamt eine Funktion sendUsageData zum Sendeblock-Objekt 1600 auf und stellt die CUsageInformation dem Sendeblock-Objekt 1600 bereit. Die CUsageInformation sind Informationen der Nutzung der überwachten Zielanwendung 505. Diese Operation weist das Sendeblock-Objekt 1600 an, die vom Überwachungsblock-Objekt 1200 bereitgestellten CUsageInformation zu senden.
  • Die durch die in den 12A und 12B angegebenen verschiedenen Objekte ausgeführten Operationen werden nun in den 1317 ausführlicher erörtert. In den 1317 geht den verschiedenen Funktionen eine Zahl und ein Doppelpunkt voraus. Es sollte angegeben werden, dass diese Nomenklatur nicht immer die Reihenfolge der verschiedenen Operationen angibt, da verschiedene Operationen parallel und zu verschiedenen Zeitpunkten ausgeführt werden können.
  • 13 zeigt eine in der vorliegenden Erfindung ausgeführte Anfangsüberwachungssteuerung. Wie in 13 gezeigt ist, ruft, wenn eine Zielanwendung MB hochfährt, das MB-Objekt 1300 eine Funktion startMonitoring eines CMonitoringIF-Objekts 1305 auf. Diese Operation gibt an, dass das Protokollieren der Daten, die der Nutzung einer Benutzerschnittstelle 510 durch einen Anwender entsprechen, zu beginnen ist. Das CMonitoringIF-Objekt 1305 ruft dann eine setTriggerInformation-Funktion eines UsageDataSendManager-Objekts 1310 auf. Diese Operation legt die Trigger-Informationen fest, die angeben, wann die protokollierten Daten durch den Sendeblock 520 gesendet werden sollten. Wie diese Trigger-Informationen festgelegt werden, ist unter Bezugnahme auf 14, die im Folgenden erörtert ist, ausführlicher erörtert.
  • In 13 ruft das CMonitoringIF-Objekt 1305 außerdem eine logStartData-Funktion von einem CUsageLogger-Objekt 1315 auf. Diese Operation kann parallel zu dem Aufrufen der setTriggerInformation-Funktion des UsageDataSendManager-Objekts 1310 oder nach dem Aufrufen der setTriggerInformation-Funktion ausgeführt werden.
  • Das CUsageLogger-Objekt 1315 ruft dann eine GetCurrentTime-Function eines CTime-Objekts 1320 auf, wobei das CTime-Objekt 1320 dann die CTime-Daten zum CUsageLogger-Objekt 1315 zurückschickt. Die zurückgeschickten CTime-Daten sind die Daten eines Anfangszeitpunkts der Überwachung. Folglich sendet diese Operation Daten, die den Anfangszeitpunkt angeben, zum CUsageLogger-Objekt 1315, sodass bestimmt werden kann, zu welchem Zeitpunkt der Anwender die Nutzung der Anwenderschnittstelle 510 der Zielanwendung 505, die überwacht wird, begonnen hat.
  • Das CUsageLogger-Objekt 1315 ruft dann eine setStartTime-Funktion des CUsageData-Objekts 1330 auf und sendet die CTime-Daten des Anfangszeitpunkts zum CUsageData-Objekt 1330. Das CUsageLogger-Objekt 1315 ruft in einer nächsten Operation eine getCumulativeUsage-Funktion eines System-Objekts 1325 auf, wobei das System-Objekt 1325 die UINT-Daten zum CUsageLogger-Objekt 1315 zurückschickt. Bei dieser Operation erhält das CUsageLogger-Objekt 1315 vom System-Objekt 1325 die Anzahl, wie oft die Anwender die zu überwachende Zielanwendung verwendet haben, wobei das System-Objekt 1325 einen ganzzahligen Wert des Typs UINT zurückschickt. Folglich wird bei dieser Operation, wenn die Zielanwendung 505 mehr als einmal verwendet wird, das CUsageLogger-Objekt 1315 aktualisiert, um diese mehrfache Nutzung widerzuspiegeln.
  • Das CUsageLogger-Objekt 1315 ruft dann eine setCumulativeUsage-Funktion auf und sendet die UINT-Daten nach dem Inkrementieren des Wertes zum CUsageData-Objekt 1330. Das CUsageLogger-Objekt 1315 ruft außerdem eine getSystemID-Funktion des System-Objekts 1325 auf, wobei das System-Objekt 1325 dann die CString-Daten zum CUsageLogger 1315 zurückschickt, die die Systemkennung angeben. Die Systemkennung identifiziert die Umgebung, unter der die Zielanwendung 505 abläuft. Der Zweck dieser Identifizierung ist, die Nutzungsdaten von anderen Systemen auszusortieren. Das CUsageLogger-Objekt 1315 ruft außerdem die setSystemID-Funktion des CUsageData-Objekts 1330 auf und sendet die CString-Daten, die die Systemkennung angeben, zum CUsageData-Objekt 1330.
  • 14 zeigt eine spezifische Steueroperation der Festlegung des Trigger-Typs. Der Trigger-Typ gibt an, wann die protokollierten Daten einer überwachten Nutzung einer Anwenderschnittstelle 510 vom Sendeblock 520 zu senden sind. Insbesondere und wie oben angegeben worden ist, kann in der vorliegenden Erfindung die Nutzung der Anwenderschnittstelle 510 durch einen Anwender überwacht werden. In diesem Fall können die überwachten Daten durch den Sendeblock 520 zu verschiedenen Zeitpunkten gesendet werden. Eine Operation ist, die überwachten Nutzungsdaten durch den Sendeblock 520 jedes Mal zu senden, nachdem der Anwender die Zielanwendung 505 beendet hat. Falls z. B. die Zielanwendung 505 eine Software ist, die der Anwender ablaufen lässt, werden jedes Mal, wenn der Anwender auf eine Ausstiegsfunktion klickt oder eine Ausstiegsfunktion berührt, die überwachten und protokollierten Daten durch den Sendeblock 520 gesendet. Als eine Alternative kann der Anwender eine Einstellung ausführen, sodass die überwachten Nutzungsdaten nur nach einer vorgegebenen Anzahl von Sitzungen unter Verwendung der Zielanwendung 505 durch den Sendeblock 520 gesendet werden. Der Anwender kann z. B. eine Einstellung ausführen oder eine Vorgabeoperation kann eine Einstellung ausführen, sodass der Sendeblock 520 die überwachten Nutzungsdaten nur sendet, nachdem der Anwender die Zielanwendung 505 5-mal verwendet hat. 14 zeigt die Steueroperation des Festlegens der Trigger-Funktion.
  • In 14 ruft das MB-Objekt 1300 eine setSendTriggerType-Funktion des CMonitoringIF-Objekts 1305 auf, wobei das CMonitoringIF-Objekt 1305 wiederum eine setSendTriggerType-Funktion des UsageDataSendManager-Objekts 1310 aufruft. Das UsageDataSendManager-Objekt 1310 ruft dann eine setSendTriggerType-Funktion des System-Objekts 1325 auf und versieht das System-Objekt 1325 mit den UINT-Daten. Die UINT-Daten sind in diesem Fall die Daten, die den Trigger-Typ angeben, um die überwachten Nutzungsdaten nach einer vorgegebenen Anzahl von Sitzungen unter Verwendung der Zielanwendung 505 zum Sendeblock 520 zu senden. Diese Operation, die durch diese Schritte in der vorliegenden Erfindung ausgeführt wird, legt dadurch einen Trigger-Typ fest, sodass nach einer vorgegebenen Anzahl von Sitzungen der Zielanwendung 505 durch einen Anwender ein Trigger zum Sendeblock 520 gesendet wird, um die überwachten und protokollierten Daten zu einem bestimmten Ort zu senden.
  • Wie oben angegeben worden ist, kann als eine weitere Operation der vorliegenden Erfindung das MB-Objekt 1300 eine Anzahl von Sitzungen festlegen, die auszuführen ist, bevor ein Trigger zum Sendeblock 520 ausgegeben wird, oder es kann eine Standardeinstellung ausgeführt werden, um eine Anzahl von Sitzungen festzulegen, die auszuführen ist, bevor ein Trigger zum Sendeblock 520 ausgegeben wird. Als ein Beispiel kann das MB-Objekt 1300 eine Einstellung für das Senden der überwachten und protokollierten Daten alle 5-mal nach der Verwendung einer Zielanwendung ausgeben. In dieser Operation ruft nach dem Ausführen der oben angegebenen Operationen, um festzulegen, dass der Sende- TriggerTyp nach mehreren Sitzungen gilt, das MB-Objekt 1300 eine setNumberOfSessions-Funktion des CMonitoringIF-Objekts 1305 auf, die wiederum eine setNumberOfSessions des UsageDataSendManager-Objekts 1310 aufruft und die UINT-Daten zum UsageDataSendManager-Objekt 1310 sendet, das wiederum eine setNumberOfSessions-Funktion des System-Objekts 1325 aufruft und die UINT-Daten zum System-Objekt 1325 sendet. In diesem Fall geben die UINT-Daten die Einstellung des MB-Objekts oder die Standardeinstellung der Anzahl von Sitzungen an, die vor dem Senden des Triggers zum Sendeblock 520 ausführen sind. Das System-Objekt 1325 speichert folglich die UINT-Daten, die angeben, wie viele Sitzungen vor dem Senden eines Triggers ausgeführt werden müssen.
  • 15A und 15B zeigen Szenarios der Überwachungsfunktionen der Zielanwendung 505, die aufgerufen werden, wenn der Anwender die Anwenderschnittstelle 510 verwendet. Das heißt, diese Figuren zeigen die in der vorliegenden Erfindung ausgeführten tatsächlichen Überwachungs- und Protokollierungsoperationen, wenn als Beispiele ein Anwender auf einen Befehl in einer Software-Anwendung als die Zielanwendung "klickt" oder einen Knopf an der Bedienungskonsole eines Haushaltsgeräts, einer Bilderzeugungsvorrichtung usw. drückt.
  • In 15A ruft, wenn ein Anwender einen speziellen Befehl von der Anwenderschnittstelle 510 der Zielanwendung 505, die überwacht wird, auswählt, das MB-Objekt 1300 eine commandUsage-Funktion des CMonitoringIF-Objekts 1305 auf und sendet die CString-Daten, die den Namen des durch den Anwender ausgewählten Befehls oder der durch den Anwender ausgewählten Funktion an der Anwenderschnittstelle 510 angeben, zum CMonitoringIF-Objekt 1305. Das CMonitoringIF-Objekt 1305 ruft dann eine logCommandUsage-Funktion des CUsageLogger-Objekts 1315 auf und sendet die CString-Daten zum CUsageLogger-Objekt 1315. Diese Funktion gibt dem CUsageLogger-Objekt 1315 an, die Daten des durch den Anwender ausgewählten Befehls oder der durch den Anwender ausgewählten Funktion an der Anwenderschnittstelle 510 zu protokollieren (zu speichern). Das CUsageLogger-Objekt 1315 sendet dann die CString-Daten zu einem CUsageData-Objekt 1330 und ruft dann eine updateCommandUsage-Funktion des CUsageData-Objekts 1330 auf. Das CUsageData-Objekt 1330 speichert dann den Namen des ausgewählten und überwachten Befehls oder der ausgewählten und überwachten Funktion mit einer Häufigkeit von eins, falls der Name nicht vorhanden ist, d. h., falls der Name vorher nicht ausgewählt und dann gespeichert worden ist, oder inkrementiert die dem Namen zugeordnete Häufigkeit, falls der Name vorhanden ist, d. h., falls der Name vorher ausgewählt und dann gespeichert worden ist.
  • Das Befehlsnutzungsszenario in 15B ist zu dem in 15A völlig gleich, mit Ausnahme, dass das CUsageLogger-Objekt 1315 außerdem eine GetCurrentTime-Funktion des CTime-Objekts 1320 aufruft und in Reaktion das CTime-Objekt 1320 die CTime-Daten, die einen aktuellen Zeitpunkt angeben, zum CUsageLogger-Objekt 1315 sendet. Die CTime-Daten werden dann außerdem zum CUsageData-Objekt 1330 gesendet. In dieser Operation in 15B wird außer dem Aufzeichnen, welcher Befehl der Anwenderschnittstelle 510 der Zielanwendung 505, die überwacht wird, durch einen Anwender ausgewählt worden ist, der Zeitpunkt, zu dem ein derartiger Befehl ausgewählt wird, außerdem aufgezeichnet.
  • Das heißt, in der Operation in 15A sind die einzigen aufgezeichneten Daten die des durch den Anwender ausgewählten Befehls der Anwenderschnittstelle 510, wohingegen die Befehlsnutzungsoperation nach 15B außerdem die Daten des Zeitpunkts aufzeichnet, zu dem ein derartiger Befehl in der Anwenderschnittstelle 510 durch den Anwender ausgewählt worden ist.
  • 16A und 16B zeigen Operationen des Anhaltens der Überwachung der Nutzung der Anwenderschnittstelle 510 durch den Anwender. Die Überwachung der Nutzung der Anwenderschnittstelle 510 durch den Anwender kann angehalten werden, wenn der Anwender die Zielanwendung 505 beendet. Wenn z. B. die Zielanwendung 505 Software ist, die auf einem Arbeitsplatzrechner abläuft, kann die Überwachung angehalten werden, wenn der Anwender ein Programm beendet, das ausgeführt wird. Wenn die Zielanwendung 505 eine Bedienungskonsole eines Haushaltsgeräts, einer Bilderzeugungsvorrichtung usw. ist, kann die Über wachung angehalten werden, wenn ein spezielles Piktogramm/ein spezieller Knopf, wie z. B. ein Startknopf eines Kopiergeräts, gedrückt wird. Die Überwachung kann außerdem nach einer vorgegebenen Zeitperiode, nach einer vorgegebenen Zeitperiode, während der der Anwender die Zielanwendung nicht verwendet, usw. angehalten werden. Ähnliche Bedingungen für das Anhalten der Überwachung der Nutzung der Anwenderschnittstelle 510 durch den Anwender können ausgeführt werden, wenn die Zielanwendung 505 eine Bilderzeugungsvorrichtung, wie z. B. ein Kopiergerät, ein Faxgerät, ein Drucker, ein Scanner, oder ein Haushaltsgerät, wie z. B. ein Mikrowellenherd, ein VCR, eine Digitalkamera, ein Zellulartelephon, ein Palmtop-Computer usw. ist. Abermals kann unter derartigen Umständen die Überwachung angehalten werden, wenn der Anwender einen Ausstiegsbefehl eingibt, nach einer vorgegebenen Zeit, nach einer vorgegebenen Zeit der Nichtnutzung usw.
  • In 16A ruft, wenn der Anwender aus dem MB-Objekt 1300 aussteigt, das MB-Objekt 1300 anfangs eine stopMonitoring-Funktion des CMonitoringIF-Objekts 1305 auf. Das CMonitoringIF-Objekt 1305 ruft dann eine logStopData-Funktion des CUsageLogger-Objekts 1315 auf, sodass das CUsageLogger-Objekt 1315 das Aufzeichnen der Daten der Nutzung der Anwenderschnittstelle 510 durch den Anwender anhalten kann. Das CUsageLogger-Objekt 1315 ruft dann eine GetCurrentTime-Funktion des CTime-Objekts 1320 auf, wobei das CTime-Objekt 1320 dann die CTime-Daten, die den aktuellen Zeitpunkt angeben, zum CUsageLogger-Objekt 1315 zurückschickt. Dieser aktuelle Zeitpunkt gibt einen Zeitpunkt an, zu dem die Überwachung der Nutzung der Schnittstelle 510 durch den Anwender angehalten worden ist. Das CUsageLogger-Objekt 1315 ruft dann eine getStartTime-Funktion des CUsageData-Objekts 1330 auf, die dann die CTime-Daten zurückschickt, die den gespeicherten Zeitpunkt angeben, zu dem die Überwachung begonnen worden ist. Nach diesen Operationen besitzt das CUsageLogger-Objekt 1315 die Daten des Anfangszeitpunkts der Überwachung und den aktuellen Zeitpunkt des Anhaltens der Überwachung. Dadurch kann das CUsageLogger-Objekt 1315 die Zeitdauer bestimmen, während der die Nutzung der Anwenderschnittstelle 510 durch den Anwender überwacht worden ist. Das CUsageLogger-Objekt 1315 ruft dann eine setDuration-Funktion des CUsageData-Objekts 1330 auf und sendet die UINT-Daten mit dieser setDuration-Funktion; d. h., in diesem Fall geben die UINT-Daten die Zeitdauer an, während der die Nutzung der Anwenderschnittstelle 510 durch den Anwender überwacht worden ist. Das CUsageLogger-Objekt 1315 ruft außerdem eine getCumulativeUsage-Funktion des CUsageData-Objekts 1330 auf, die dann die angeforderten Daten als die UINT-Daten zurückschickt. Das CUsageLogger-Objekt 1315 sendet dann diese UINT-Daten an die setCumulativeUsage-Funktion des System-Objekts 1325 und ruft die setCumulativeUsage-Funktion des System-Objekts 1325 auf, sodass das nächste Mal, wenn die Überwachungsoperation ausgeführt wird, der Wert, wie viele Überwachungssitzungen ausgeführt worden sind, eins mehr als die aktuelle Ausführung ist.
  • Das CMonitoringIF-Objekt 1305 ruft außerdem eine getUsageData-Funktion des CUsageLogger-Objekts 1315 auf, die wiederum die CUsageData zum CMonitoringIF-Objekt 1305 zurückschickt. Diese Daten enthalten alle gespeicherten Überwachungsdaten, einschließlich der System-ID, der kumulativ Nutzung, der Anfangszeit, der Nutzungsdauer, der Befehle und der Häufigkeiten. Das CMonitoringIF-Objekt 1305 sendet dann die CUsageData mit einem Aufruf für eine sendUsageDataAtTrigger-Funktion des UsageDataSendManager-Objekts 1310. Das UsageDataSendManager-Objekt 1310 ruft dann eine getSendTriggerType-Funktion des System-Objekts 1325 auf, die dann die EXIT-Daten zum UsageDataSendManager-Objekt 1310 zurückschickt. Der zurückschickte EXIT-Wert bedeutet, dass die überwachten Daten jedes Mal zum Sendeblock-Objekt 1600 gesendet werden, wenn der Anwender die Zielanwendung beendet. Das UsageDataSendManager-Objekt 1310 sendet dann die CUsageInformation, die alle Nutzungsdaten der Nutzung der Anwenderschnittstelle 510 durch den Anwender angeben, durch eine sendUsageData-Funktion des Sendeblock-Objekts 1600. Das Sendeblock-Objekt 1600 führt dann eine Funktion für das Senden der Daten an einen bestimmten Teilnehmer aus und schickt dann ein Bestätigungssignal JA zum UsageDataSendManager-Objekt 1310 zurück.
  • Diese in 16A gezeigte Operation entspricht einer Operation, bei der die Nutzungsdaten anhand eines Trigger-Ereignisses eines Anwenders, der eine Zielanwendung 505 beendet, gesendet werden.
  • Die in 16A angegebene Operation zum Anhalten der Überwachung ist zu der ähnlich, die in 16A gezeigt ist, mit Ausnahme, dass bei dieser Operation die Nutzungsdaten nach einer vorgegebenen Anzahl von Sitzungen durch das Sendeblock-Objekt 1600 gesendet werden. Wie oben erörtert worden ist, können als ein Merkmal der vorliegenden Erfindung die überwachten Nutzungsdaten nach einer bestimmten Anzahl von Sitzungen eines Anwenders, der die Zielanwendung 505 verwendet, durch E-Mail gesendet werden. Die in 16B gezeigte Operation entspricht dem Senden der Nutzungsdaten nach einer derartigen bestimmten Anzahl von Sitzungen. Die in 16B ausgeführten Operationen 19 sind dieselben, wie sie in 16A ausgeführt werden, wobei hiermit ihre redundante Beschreibung nicht wiederholt wird. In der in 16B gezeigten Operation zum Anhalten der Überwachung ruft nach dem Aufrufen der getSendTriggerType-Funktion des System-Objekts 1325 und dem Zurückschicken von SSESSION das UsageDataSendManager-Objekt 1310 außerdem eine getNumberOfSessions-Funktion des System-Objekts 1325 auf. Diese Operation erhält die vorher durch einen Anwender festgelegten Daten, die die Anzahl der Sitzungen angeben, die vor dem Senden der überwachten Daten in dieser Operation abgeschlossen sein müssen. Wie in 14 gezeigt ist, kann die Anzahl der Sitzungen im System-Objekt 1325 festgelegt sein. Das System-Objekt 1325 schickt dann die UINT-Daten, die die Anzahl der Sitzungen angeben, nach der die Daten gesendet werden sollten, zum UsageDataSendManager-Objekt 1310 zurück. Das UsageDataSendManager-Objekt 1310 sendet dann die CUsageData und einen Aufruf für eine storeUsageData-Funktion eines LogFile-Objekts 1605. In diesem Fall werden, falls die vorgegebene festgelegte Anzahl von Sitzungen nicht ausgeführt worden ist, die Daten von einer Sitzung durch das LogFile-Objekt 1605 in einem nichtflüchtigen Speicher gespeichert. Das LogFile-Objekt 1605 sendet dann die CUsageData und eine Protokolldatei zusammen mit einem Aufruf für eine encodeUsageData-Funktion an ein UsageDataEncoderDecoder-Objekt 1610. Diese Operation codiert derartige Daten, komprimiert z. B. derartige Daten für die leichtere Speicherung, und speichert die codierten Nutzungsdaten in der Protokolldatei. Wenn eine geeignete Anzahl von Sitzungen abgeschlossen ist, sendet das UsageDataSendManager-Objekt 1310 die CUsageInformation zusammen mit einem Aufruf für eine sendUsageData-Funktion an das Sendeblock-Objekt 1600, das dann die Daten sendet und Bestätigungsdaten JA zum UsageDataSendManager-Objekt 1310 zurückschickt.
  • 17 zeigt die im Sendeblock-Objekt 1600 nach den 16A und 16B ausgeführten Operationen.
  • Der in 17 gezeigte Schritt mit der Nomenklatur 1 entspricht dem in 16A gezeigten Schritt mit der Nomenklatur 10 und dem in 16B gezeigten Schritt mit der Nomenklatur 12. In diesem Schritt ruft das MonitoringBlock-Objekt 1615 eine sendUsageData-Funktion eines SendMailTrigger-Objekts 1700 auf und sen det die CUsageInformationDerived1-Daten an ein SendMailTrigger-Objekt 1700. Das SendMailTrigger-Objekt 1700 schickt nach dem Aussenden der Informationen außerdem ein Bestätigungssignal JA zum MonitoringBlock-Objekt 1615. Das SendMailTrigger-Objekt 1700 sendet dann die CUsageInformationDerived1-Daten an das InputPack-Objekt 1710 und ruft eine convert-Funktion des InputPack-Objekts 1710 auf. Das InputPack-Objekt 1710 kann dann die CUsageInformationDerived1-Daten in die Daten CUsageInformationDerived2 mit einem anderen Format umsetzen. Diese CUsageInformationDerived2-Daten werden dann zum SendMailTrigger-Objekt 1700 gesendet. Der Grund für diese Umsetzung ist, alle verschiedenen Datenformate aufzunehmen, die vom Überwachungsblock entsprechend verschiedenen Sende-Triggern zum Sendeblock weitergeleitet werden können. Nach der Umsetzung ist das Datenformat innerhalb des Sendeblock-Objekts 1600 dasselbe.
  • Das InputPack-Objekt 1700 ruft dann eine GetXXX-Funktion eines CUsageInformationDerived1-Objekts 1715 auf. Das CUsageInformationDerived1-Objekt 1715 schickt dann die angeforderten XXX-Daten zum InputPack-Objekt 1710 zurück. Beispiele der durch XXX bezeichneten Daten sind die System-ID, die kumulative Nutzung, die Startzeit, die Dauer und die Befehlsnutzungsdaten.
  • Das SendMailTrigger-Objekt 1700 sendet dann die Daten CUsageInformationDerived2 zum Security/DataEncode-Objekt 1720 und ruft eine encode-Funktion des Security/DataEncode-Objekts 1720 auf. Das Security/DataEncode-Objekt 1720 codiert dann die CUsageInformationDerived2-Daten und schickt eine Textdatei oder CString-Daten zum SendMailTrigger-Objekt 1700 zurück; d. h., die Textdatei oder die CString-Daten sind sicher codierte Daten, die zum SendMailTrigger-Objekt 1700 zurückgeschickt werden. Diese Operation in der vorliegenden Erfindung kann die Nutzungsdaten verschlüsseln, bevor sie durch E-Mail gesendet werden, um für die Sicherheit zu sorgen.
  • Das Security/DataEncode-Objekt 1700 ruft dann eine GetXXX-Funktion von einem CUsageInformationDerived2-Objekt 1725 auf, die in Reaktion die angeforderten XXX-Daten zum Security/DataEncode-Objekt 1720 zurückschickt, wie es im Schritt mit der Nomenklatur 3 ausgeführt wird.
  • Das sendMailTrigger 1700 sendet dann die Textdatei oder die CString der codierten und verschlüsselten Daten zusammen mit einem Aufruf einer mailThisData- Funktion zum SendMail-Objekt 1705. Das SendMail-Objekt 1705 sendet dann die verschlüsselten Daten und schickt dann ein Bestätigungssignal JA, das angibt, dass das SendMail-Objekt 1705 die Daten gesendet hat, zum SendMailTrigger-Objekt 1700 zurück.
  • Wie oben unter Bezugnahme auf 12B angegeben worden ist, ruft in der vorliegenden Erfindung das Überwachungsblock-Objekt 1200 eine sendUsageData-Funktion des Sendeblock-Objekts 1600 auf und sendet die CUsageInformation zum Sendeblock-Objekt 1600. Die CUsageInformation können sich signifikant verändern. Spezieller und wie oben dargelegt worden ist, hängen die vom Überwachungsblock-Objekt 1200 zum Sendeblock-Objekt 1600 gesendeten Informationen von den verschiedenen Trigger-Informationen und von verschiedenen Informationen ab, was die Anzahl der Sitzungen der Zielanwendung 505 anbelangt, die vor dem Senden der Informationen vom Sendeblock-Objekt 1600 auszuführen sind. Ein Ergebnis dessen ist, dass es Variationen in der Größe der Daten und der Struktur der Daten gibt, die durch das Sendeblock-Objekt 1600 zu senden sind. Als ein Beispiel können in einem Merkmal der vorliegenden Erfindung, wie oben erörtert worden ist, die vom Überwachungsblock-Objekt 1200 erzeugten überwachten Daten nach jeder Nutzung einer überwachten Zielanwendung 505 durch das Sendeblock-Objekt 1600 gesendet werden. Als eine weitere Option können die überwachten Daten durch das Sendeblock-Objekt 1600 gesendet werden, nachdem eine bestimmte Anzahl von Sitzungen, z. B. fünf Sitzungen, der überwachten Zielanwendung 505 ausgeführt worden sind. In diesen zwei verschiedenen Fällen variieren die Menge der Daten und die Struktur der Daten, die durch das Sendeblock-Objekt 1600 zu senden sind, signifikant.
  • Eine Option, um die vom Überwachungsblock-Objekt 1200 gesendeten verschiedenen Daten zu adressieren, besteht darin, verschiedene Algorithmen innerhalb des Sendeblock-Objekts 1600 für jeden verschiedenen Datentyp bereitzustellen. Dieser Systemtyp würde jedoch dazu führen, dass das Sendeblock-Objekt 1600 sehr kompliziert wird, weil es Algorithmen erfordert, um alle verschiedenen Formen der vom Überwachungsblock-Objekt 1200 bereitgestellten Daten zu adressieren. Ein weiterer Nachteil beim Sendeblock-Objekt 1600, das die verschiedenen Formen der Daten adressiert, besteht darin, dass die Algorithmen im Sendeblock-Objekt 1600 jedes Mal aktualisiert werden müssten, wenn eine Änderung der Überwachungsoperation des Überwachungsblocks-Objekts 1200 vorgenommen worden ist.
  • Es ist ein weiteres Merkmal der vorliegenden Erfindung, das Sendeblock-Objekt 1600 für die Unterschiede der aus dem Überwachungsblock-Objekt 1200 ausgegebenen Daten transparent zu machen.
  • Das heißt, als ein weiteres Merkmal kann die vorliegende Erfindung ferner einen Zugang verwenden, der es vermeidet, komplizierte Algorithmen zu erfordern, die eine signifikante Aktualisierung im Sendeblock-Objekt 1600 erfordern würden, um alle verschiedenen Datengrößen und -strukturen zu adressieren, die vom Überwachungsblock-Objekt 1200 ausgegeben werden. Spezieller kann die vorliegende Erfindung ferner ein System verwenden, das eine abstrakte Klasse definiert, um zwischen dem Überwachungsblock-Objekt 1200 und dem Sendeblock-Objekt 1600 eine Schnittstelle zu bilden. Diese Operation in der vorliegenden Erfindung erlaubt, dass das Sendeblock-Objekt 1600 von den Einzelheiten der vom Überwachungsblock-Objekt 1200 gesendeten CUsageInformation isoliert ist. Das heißt, bei diesem Zugang in der vorliegenden Erfindung behandelt das Sendeblock-Objekt 1600 alle vom Überwachungsblock 1200 gesendeten CUsageInformation gleich, wobei es nicht bestimmen muss, wie die Daten dargestellt sind und wie viele Daten in den CUsageInformation enthalten sind, d. h., wie viele Sitzungen der Daten darin enthalten sind, die Datenstruktur usw. Noch spezieller sind in der vorliegenden Erfindung, wie in 12B gezeigt ist, die vom Überwachungsblock-Objekt 1200 zum Sendeblock-Objekt 1600 weitergeleiteten CUsageInformation eine abstrakte Klasse.
  • 18 zeigt ein Klassendiagramm der abstrakten Klasse CUsageInformation 1800 nach 12B. Diese abstrakte Klasse CUsageInformation 1800 wird verwendet, um zwei Klassen, CUsageDataForOneSession 1805 und CUsageDataInLogFile 1810, abzuleiten. Die in der abstrakten CUsageInformation-Klasse 1800 in 18 aufgelisteten Funktionen sind rein virtuelle Funktionen. Dies bedeutet, dass, wenn ein Zeiger des sendUsageData-Aufrufs nach 12B auf die abstrakte Klasse CUsage-Informationen 1800 zeigt und spezieller auf eine der abgeleiteten Klassen CUsageDataForOneSession 1805 oder CUsageDataInLog-File 1810 zeigt, die tatsächlichen auszuführenden Funktionen die Funktionen sind, die in diesen entsprechenden Klassen definiert sind. Weitere Einzelheiten der Verwendung einer abstrakten Klasse können außerdem in dem Buch The C++ Programming Language, dritte Auflage, von Bjarne Stroustrup, Addison Wesley, 1997, Seiten 34–37, gefunden werden, wobei die Inhalte dieses ganzen Buchs durch Literaturhinweis hierin eingefügt sind.
  • Die abgeleitete Klasse CUsageDataForOneSession 1805 ist eine abgeleitete Klasse, die dazu führt, dass das Sendeblock-Objekt 1600 die überwachten Informationen nach jeder Sitzung der Zielanwendung 505 sendet, d. h. jedes Mal, nachdem ein Anwender die überwachte Zielanwendung 505 beendet. Die CUsageDataInLogFile 1810 ist eine abgeleitete Klasse, die dazu führt, dass das Sendeblock-Objekt 1600 die überwachten Informationen von mehreren Sitzungen, z. B. fünf Sitzungen, der überwachten Nutzung auf einmal sendet.
  • Wie in 18 gezeigt ist, enthält die abstrakte CUsageInformation-Klasse 1800 verschiedene Funktionen, die auf der Grundlage der abgeleiteten Klasse variieren. Die Funktionen enthalten getNextSessionData, getUserID, getCumulativeSession-Number, getStartTimeForSession, getDurationForSession und getCommandUsageDataMapForSession. 18 zeigt außerdem die Deklarationen dieser Funktionen.
  • Die oben angegebenen Funktionen in der abstrakten Klasse CUsageInformation 1800 sind sämtlich virtuelle Funktionen, die anfangs auf null gesetzt sind, was sie zu rein virtuellen Funktionen macht. Was die Funktionen ausführen, ist nicht durch die abstrakte Klasse CUsageInformation 1800 definiert, sondern durch die abgeleiteten Klassen CUsageDataForOneSession 1805 und CUsageDataInLogFile 1810. Das heißt, die abgeleiteten Klassen CUsageDataForOneSession 1805 und CUsageDataInLogFile 1810 beschreiben das Verhalten der oben angegebenen Funktionen.
  • 19 beschreibt die Verwendung der in der abstrakten CUsageInformation-Klasse 1800 nach 18 definierten Funktionen. 19 zeigt folglich die im Sendeblock-Objekt 1600 ausgeführte Operation, um die vom Überwachungsblock-Objekt 1200 weitergeleiteten notwendigen Informationen zu extrahieren. In der in 19 gezeigten Operation ist ein Objektzeiger (objptr) ein Zeiger auf ein CUsageInformation-Objekt, der tatsächlich ein Zeiger auf ein Objekt irgendeiner der abgeleiteten Klassen CUsageDataForOneSession 1805 oder CUsageDataInLog-File 1810 ist. Solange wie der Anwender des Zeigers den CUsageInformation-Abschnitt des Objekts, wie z. B. die virtuellen Funktionen, verwendet, gibt es keinen Verlust von Informationen, um die CUsageInformation sowohl für die CUsageDataForOneSession 1805 als auch für die CUsageDataInLogFile 1810 zu ver wenden. Das Sendeblock-Objekt 1600 sieht nur das CUsageInformation-Objekt und weiß nichts über die abgeleiteten Klassen. Die abgeleitete Klasse CUsageDataForOneSession 1805 enthält die interessanten Informationen in einem Speicher, wie z. B. einen DRAM, während die abgeleitete Klasse CUsageDataInLogFile 1810 die interessanten Informationen in einer Datei für mehrere Sitzungen enthält. Die in 19 gezeigte Operation erlaubt dem Sendeblock-Objekt 1600, durch ein einheitliches Verfahren auf die Daten zuzugreifen, ohne die Anzahl der Sitzungen in den weitergeleiteten Daten oder die Struktur der weitergeleiteten Daten kennen zu müssen. Im Sendeblock-Objekt 1600 ist der empfangene Zeiger auf das Objekt von der abstrakten CUsageInformation-Klasse 1800. Das Überwachungsblock-Objekt 1200 weiß, welche Informationen zu senden sind, und ordnet den geeigneten Zeiger dem Objekt zu und leitet dann derartige Informationen zum Sendeblock-Objekt 1600 weiter.
  • Wie in 19 ausführlicher gezeigt ist, wird in einem ersten Schritt S5 eine getNextSessionData-Funktion des Objektzeigers aufgerufen, um zu bestimmen, ob irgendwelche Daten verfügbar sind. Wenn JA im Schritt S5, das angibt, dass Daten vorhanden sind, d. h., dass ein Anwender die Zielanwendung 505 verwendet, für die die Nutzung überwacht wird, dann geht die Operation zum Schritt S10 weiter, in dem die Anwender-ID von einem Objektzeiger auf eine der abgeleiteten Klassen, der eine getUserID-Funktion aufruft, erhalten wird. Die Anwender-ID wird dann im Schritt S15 in der Nachricht angeordnet, d. h. dem Datenpaket, das durch das Sendeblock-Objekt 1600 zu senden ist. Die Operation geht dann zum Schritt S20 weiter, in dem eine Sitzungsanzahl anhand einer getCumulativeSessionNumber-Funktion bestimmt wird, die durch einen Objektzeiger auf die abgeleitete Klasse aufgerufen wird. Die Sitzungsanzahl wird dann im Schritt S25 in der Nachricht angeordnet. Dann wird im Schritt S30 von einem Objektzeiger auf die abgeleitete Klasse, der eine getStartTimeForSession-Funktion aufruft, der Startzeitpunkt erhalten, wobei dann der Startzeitpunkt im Schritt S35 in der Nachricht angeordnet wird. Die Operation geht dann zum Schritt S40 weiter, in dem die Dauer der Überwachung durch einen Objektzeiger, der eine getDurationForSession-Funktion aufruft, bestimmt wird. Die Dauer der Überwachung wird dann im Schritt S45 in der Nachricht angeordnet. Die Operation geht dann zum Schritt S50 weiter, in dem die Nutzungsinformationen von der Überwachung durch einen Objektzeiger, der eine getCommandUsageDataMapForSession-Funktion aufruft, erhalten werden. Die Nutzungsinformationen werden dann im Schritt S55 in der Nachricht angeordnet.
  • Die Operation geht dann zum Schritt S60 weiter, in dem von einem Objektzeiger, der die getNextSessionData-Funktion aufruft, abermals bestimmt wird, ob es irgendwelche weitere Daten von der Überwachung der Zielanwendung 505 gibt. Wenn NEIN im Schritt 60, das angibt, dass es keine weiteren Daten gibt, dann geht die Operation zum Schritt S70 weiter, in dem eine Nachricht zurückgeschickt wird, die angibt, dass die per E-Mail zu verschickende Nachricht zu diesem Zeitpunkt vervollständigt und bereit ist, gesendet zu werden. Wenn JA im Schritt S60, dann kehrt die Operation zum Schritt S20 zurück, wobei sie dann die Sitzungsanzahl, die Anfangszeit, die Dauer und die Nutzungsinformationen für die nächste Sitzung der Zielanwendung 505 erhält.
  • Falls die Bestimmung im anfänglichen Schritt S5 ein NEIN ist, geht die Operation zu einem Schritt S65 weiter, in dem die Informationen über fehlende Daten in der Informationsnachricht angeordnet werden, wobei die Operation dann zum Schritt 70 weiter geht. Das heißt, im Schritt S5 wird die getNextSessionData-Funktion zum ersten Mal aufgerufen. Wenn im Schritt S5 ein NEIN zurückgeschickt wird, dann gibt es keine zu sendenden Daten. Im Ergebnis enthält die per E-Mail zu verschickende Nachricht die Daten, die die fehlenden Informationen angeben.
  • 20 zeigt eine strukturelle Abbildung für das Speichern von Informationen, die auf die Verwendung der Befehle der Zielanwendung 505 gerichtet sind. In 20 entspricht der Begriff "Schlüssel" einem Befehlsnamen, während der Begriff "Wert" einer Häufigkeit des Aufrufens dieses Befehls entspricht, d. h., wie oft der Befehl aufgerufen worden ist. Die C++-Sprache stellt eine Standard-Schablonenbibliothek bereit, die eine Abbildung enthält. Die Abbildung ist die Tabelle nach 20, die den Schlüssel und den Wert zuordnet. Falls der Ablauf der Befehlsnutzung wichtig ist, kann die "Schlüssel"-Spalte außerdem Zeitinformationen vom Start enthalten, während die "Wert"-Spalte den Namen des Befehls enthalten kann.
  • 21 zeigt, wie das Überwachungsblock-Objekt 1200 den Zeiger der abgeleiteten CUsageDataForOneSession-Klasse 1805 sendet, während 22 die Operation im Überwachungsblock-Objekt 1200 für das Senden des Zeigers der abgeleiteten Klasse der CUsageDataInLogFile 1810 beschreibt.
  • Wie in 21 gezeigt ist, ruft anfangs das CMonitoringIF-Objekt 1305 eine sendUsageDataAtTrigger-Funktion vom UsageDataSendManager-Objekt 1310 auf, wobei es gleichzeitig die CUsage-Daten an sie sendet, ähnlich wie in 16A gezeigt ist. Das UsageDataSendManager-Objekt 1310 ruft dann seine eigene createUsageDataPackager-Funktion auf und erzeugt das CUsageDataExitPackager-Objekt 2100. Das CUsageDataExitPackager-Objekt 2100 dient der Funktion des Setzens der überwachten Nutzungsdaten in das CUsageDataForOneSession-Objekt 1805. Das UsageDataSendManager-Objekt 1310 ruft dann eine CUsageDataExitPackager-Funktion des CUsageDataExitPackager-Objekts 2100 auf, um sich selbst zu erzeugen, das wiederum eine CUsageDataForOneSession-Funktion aufruft, um die abgeleitete CUsageDataForOneSession-Objektklasse 1805 zu erzeugen. Dann ruft das UsageDataSendManager-Objekt 1310 eine packageUsageData-Funktion vom CUsageDataExitPackager-Objekt 2100 zusammen mit dem Senden der CUsageData an sie auf. In Reaktion auf den Aufruf ruft das CUsageDataExitPackager-Objekt 2100 eine setUsageData-Funktion vom CUsageDataForOneSession-Objekt 1805 zusammen mit dem Senden der CUsageData an sie auf. Das UsageDataSendManager-Objekt 1310 ruft dann seine eigene isDataReadyToSend-Funktion auf, wobei es, wenn die Daten bereit sind, übertragen zu werden, eine positive JA-Antwort auf diesen Funktionsaufruf erzeugt. An diesem Punkt ruft das UsageDataSendManager-Objekt 1310 eine getPackagedUsageData-Funktion vom CUsageDataExitPackager-Objekt 2100 auf, die in Erwiderung die CUsageDataForOneSession zum UsageDataSendManager-Objekt 1310 sendet. Das UsageDataSendManager-Objekt 1310 ruft dann eine sendUsageData-Funktion des Sendeblock-Objekts 1600 zusammen mit dem Senden der CUsageInformation an sie auf. Das Sendeblock-Objekt 1600 bestätigt dann durch das Senden eines Bestätigungs-JA-Signals an das UsageDataSendManager-Objekt 1310, dass es diese Informationen gesendet hat.
  • Bei der in 21 gezeigten Operation empfängt das UsageDataSendManager-Objekt 1310 die Triggertyp-Signale, wie z. B. in den 12A, 16A und 16B erörtert ist. Durch das Ausführen der in 21 gezeigten Operation kann das Überwachungsblock-Objekt 1200 den Zeiger der abgeleiteten CUsageDataForOneSession-Klasse 1805 senden, was zur Operation des Sendeblock-Objekts 1600 führt, das die Daten für eine Sitzung der überwachten Nutzung einer Zielanwendung 505 durch E-Mail sendet.
  • Bei der in 22 gezeigten Operation werden einige derselben Schritte, wie sie in 21 ausgeführt werden, ebenfalls ausgeführt. Bei der im Überwachungsblock-Objekt 1200 ausgeführten Operation, wie in 22 gezeigt ist, ruft das CMoni toringIF-Objekt 1305 anfangs eine sendUsagaDataAtTrigger-Funktion zusammen mit dem Senden der CUsageData an das UsageDataSendManager-Objekt 1310 auf. In Reaktion ruft das UsageDataSendManager-Objekt 1310 seine eigene createUsageDataPackager-Funktion auf und erzeugt ein CUsageDataSSessionsPackager-Objekt 2200. Das CUsageDataSSessionsPackager-Objekt 2200 dient der Funktion des Packens der überwachten Nutzungsdaten mehrerer Sitzungen einer Zielanwendung 505 in das CUsageDataInLogFile-Objekt 1810.
  • Das UsageDataSendManager-Objekt 1310 ruft dann eine packageUsageData-Funktion vom erzeugten CUsageDataSSessionsPackager-Objekt 2200 zusammen mit dem Senden der CUsageData an sie auf. Das CUsageDataSSessionsPackager-Objekt 2200 packt die überwachten Nutzungsdaten in das CUsageDataInLogFile-Objekt 1810. Das CUsageDataSSessionsPackager-Objekt 2200 sendet in Reaktion ein Bestätigungs-JA-Signal an das UsageDataSendManager-Objekt 1310, um anzugeben, dass es in der Lage war, die Nutzungsdaten zu packen.
  • Dann ruft das CUsageDataSSessionsPackager-Objekt 2200 eine getSystemID-Funktion vom CUsageData-Objekt 1330 auf, die wiederum eine CString mit der System-ID zurück zum CUsageDataSSessionsPackager-Objekt 2200 sendet. Dann ruft das CUsageDataSSessionsPackager-Objekt 2200 eine setSystemID-Funktion von einem Objekt 1810 der abgeleiteten CUsageDataInLogFile-Klasse zusammen mit dem Senden der CString-Daten an sie auf. Das CUsageDataSSessionsPackager-Objekt 2200 ruft dann eine storeUsageData-Funktion vom LogFile-Objekt 1605 zusammen mit dem Senden der CUsageData an sie auf; während das LogFile-Objekt 1605 dann ein Bestätigungs-JA-Signal an das CUsageDataSSessionsPackager-Objekt 2200 zurückschickt. Das CUsageDataSSessionsPackager 2200 ruft dann eine setLogFile-Funktion vom CUsageDataLogInFile-Objekt 1810 zusammen mit dem Senden der CLogfile-Daten an sie auf.
  • Während dieser Operationen ruft das UsageDataSendManager-Objekt 1310 kontinuierlich eine isDataReadyToSend-Funktion für sich auf, wobei es ein Bestätigungs-JA erzeugt, wenn die Daten bereit sind, gesendet zu werden. Dann ruft das UsageDataSendManager-Objekt 1310 eine getPackagedUsageData-Funktion vom CUsageDataSSessionsPackager-Objekt 2200 auf, die in Reaktion die CUsageDataInLogFile-Daten zum UsageDataSendManager-Objekt 1310 sendet. Das UsageDataSendManager-Objekt 1310 ruft dann eine sendUsageData-Funktion zum Sendeblock-Objekt 1600 zusammen mit dem Senden der CUsageInformation an sie auf. Das Sendeblock-Objekt 1600 bestätigt dann durch das Senden eines JA-Signals an das CUsageDataSendManager-Objekt 1310, dass es diese Daten gesendet hat.
  • Das UsageDataSendManager-Objekt 1310 empfängt in der Operation nach 22 außerdem die Trigger-Informationen, wie z. B. in den 12A, 16A und 16B gezeigt ist. Bei der in 22 gezeigten Operation stellt der UsageDataSendManager-Monitor 1310 die Nutzungsdaten dem Sendeblock-Objekt 1600 bereit, die die Daten von mehreren Sitzungen enthalten, z. B. fünf Sitzungen in den oben erörterten Beispielen. Dann sendet das Sendeblock-Objekt 1600 die Daten der mehreren Sitzungen durch E-Mail.
  • Bei derartigen Operationen in der vorliegenden Erfindung führt das Überwachungsblock-Objekt 1200 verschiedene Funktionen aus, die für das Sendeblock-Objekt 1600 transparent sind. Das heißt, das Sendeblock-Objekt 1600 führt ungeachtet der ihm vom Überwachungsblock-Objekt 1200 bereitgestellten Daten dieselben Operationen aus. Im Ergebnis einer derartigen Struktur und Operation in der vorliegenden Erfindung ist das Sendeblock-Objekt 1600 sehr einfach. Außerdem ist, falls irgendwelche Änderungen in den in einer Vorrichtung ausgeführten Operationen notwendig sind, wie z. B. in der vorliegenden Erfindung, falls z. B. die Anzahl der Sitzungen geändert wird, eine derartige Änderung für das Sendeblock-Objekt 1600 transparent, wobei folglich das Sendeblock-Objekt 1600 nicht umgeschrieben werden muss, um derartige Änderungen am Überwachungsblock-Objekt 1200 aufzunehmen.
  • Mit den oben erörterten Operationen schafft die vorliegende Erfindung eine Steueroperation zum Überwachen der Nutzung einer Anwenderschnittstelle, die ein Teil einer Zielanwendung ist, durch einen Anwender. Ferner erlaubt eine derartige Operation der vorliegenden Erfindung, dass die Daten der überwachten Nutzung gespeichert und zu geeignet ausgewählten Zeitpunkten durch Internet-Post übertragen werden. Internet-Post ist eine zweckmäßige Quelle einer derartigen Übertragung, weil eine derartige Übertragung der überwachten Nutzungsdaten typischerweise keine zeitempfindlichen Informationen sind. Ferner kann die Verwendung eines Internet-Postsystems, um derartige Daten zu übertragen, die Kosten der Übertragung signifikant verringern. Weil ferner die protokollierten Nutzungsdaten in der vorliegenden Erfindung durch Internet-Post gesendet werden, können die protokollierten Nutzungsdaten automatisch zu einem weiteren Computer-System gesendet werden, das programmiert sein kann, um die durch Internet-Post übertragenen Nutzungsdaten zu analysieren. Eine derartige durch die vorliegende Erfindung möglich gemachte Operation kann die Effizienz des Überwachens und Analysierens derartiger Nutzungsdaten im hohen Maße vergrößern.
  • In ihrer bevorzugten Implementierung verwendet die vorliegende Erfindung Computer, die von der Vorrichtung, an der sie angebracht sind, getrennte Gehäuse besitzen. Dies würde erlauben, dass die Erfindung für Installationen preiswert implementiert wird, die bereits einen vorhandenen Computer besitzen, um die gewünschte Verarbeitung auszuführen, da die Kosten für die neue Hardware verringert werden können. Eine derartige Anordnung kann außerdem die Implementierung der Erfindung ohne Hardware-Änderungen an der Vorrichtung erlauben. Auf Wunsch kann jedoch die vorliegende Erfindung implementiert sein, indem die geeigneten Verarbeitungs- und Datenspeicher-Fähigkeiten in der Vorrichtung, die überwacht und/oder gesteuert wird, außer einem oder als eine Alternative zu einem separaten Computer, der mit der Vorrichtung verbunden ist, einbezogen werden.
  • Diese Anwendung bezieht sich auf verschiedene Konzepte und baut auf verschiedenen Konzepten auf, die in den Patenten und Patentanmeldungen, auf die durch Querverweise Bezug genommen worden ist, offenbart worden sind und die durch Literaturhinweis in diese Anmeldung eingefügt worden sind. Diese Patentanmeldung ist vorgesehen, dass sie nicht nur die in den in Beziehung stehenden Anmeldungen offenbarten Erfindungen enthält, sondern außerdem die Kombinationen der verschiedenen Merkmale und Funktionen der einzelnen Ausführungsformen, die in dieser und in jeder der in Beziehung stehenden Anmeldungen offenbart worden sind. Folglich kann ein in einer der in Beziehung stehenden Anmeldungen oder in einem der in Beziehung stehenden Patente offenbartes Merkmal leicht auf ein in dieser Erfindung offenbartes Konzept angewendet werden, wobei außerdem die in einer oder mehreren der anderen Anwendungen offenbarten Konzepte auf die Konzepte oder Merkmale angewendet werden können, die in einer anderen (in anderen) der Anwendungen offenbart sind. Ferner kann eine E-Mail-Nachricht nur für das Senden verwendet werden, wobei die Kommunikationen in der anderen Richtung unter Verwendung einer anderen Kommunikationsbetriebsart, wie z. B. einer der anderen hierin offenbarten Kommunikationsbetriebsarten oder einer Kommunikationsbetriebsart, die in den in Be ziehung stehenden Patenten und Patentanmeldungen offenbart ist, ausgeführt wird.
  • Diese Erfindung kann zweckmäßig unter Verwendung eines herkömmlichen digitalen Universal-Computers oder Mikroprozessors implementiert sein, der entsprechend den Lehren der vorliegenden Beschreibung programmiert ist, wie für die Fachleute der Computer-Technik offensichtlich ist. Geeignete Software-Codierung kann durch qualifizierte Programmierer auf der Grundlage der Lehren der vorliegenden Offenbarung leicht vorbereitet werden, wie für die Fachleute der Software-Technik offensichtlich ist. Die Erfindung kann außerdem durch die Vorbereitung anwendungsspezifischer integrierter Schaltungen oder durch das Verbinden eines geeigneten Netzes aus Schaltungen herkömmlicher Bauelemente implementiert sein, wie für die Fachleute auf dem Gebiet leicht offensichtlich ist.
  • Die vorliegende Erfindung enthält ein Computer-Programmprodukt, das ein Speichermedium ist, das Befehle enthält, die verwendet werden können, um einen Computer zu programmieren, um einen Prozess der Erfindung auszuführen. Der Speichermedium kann irgendeinen Plattentyp, einschließlich Disketten, optische Platten, CD-ROMs und magnetooptische Daten, ROMs, RAMs, EPROMs, EEPROMs, magnetische oder optische Karten oder irgendeinen Medientyp, der für das Speichern elektronischer Befehle geeignet ist, enthalten, ist aber nicht darauf eingeschränkt.
  • Offensichtlich sind angesichts der obigen Lehren zahlreiche zusätzliche Modifikationen und Variationen der vorliegenden Erfindung möglich. Es ist deshalb selbstverständlich, dass innerhalb des Umfangs der beigefügten Ansprüche die vorliegende Erfindung anders in der Praxis angewendet werden kann, als spezifisch hierin beschrieben ist.

Claims (15)

  1. System zum Überwachen der Nutzung einer Zielanwendung (505, 1300) durch einen Anwender, wobei die Zielanwendung eine Schnittstelle (510) mit mehreren durch einen Anwender zu wählenden Operationen besitzt, wobei das System umfasst: eine Überwachungseinheit (515, 1200), die so konfiguriert ist, dass sie Nutzungsdaten, die mit der Auswahl der mehreren Operationen der Schnittstelle (510) durch den Anwender in Beziehung stehen, überwacht und ein Protokoll (1605) der überwachten Nutzungsdaten erzeugt; eine Kommunikationseinheit (520, 1600), die so konfiguriert ist, dass sie das Protokoll der überwachten Nutzungsdaten über ein Netz als E-Mail an eine entfernte Überwachungsvorrichtung sendet, wobei die Zielanwendung eine Bilderzeugungsvorrichtung ist, die voreingestellte Parameter speichert und eine Bedienungskonsole aufweist, die ein Anwender bedient, um die Bilderzeugungsvorrichtung zu steuern, dadurch gekennzeichnet, dass: die E-Mail eine Dauer der Überwachung umfasst, wobei die Überwachung nach einer vorgegebenen Zeitperiode der Nichtnutzung der Zielanwendung (505, 1300) angehalten wird; die Überwachungseinheit jedesmal eine Überwachung ausführt, wenn ein Anwender auf einen der Steuerknöpfe auf der Bedienungskonsole drückt, und die Daten einer solchen Anwendernutzung protokolliert, indem es das Protokoll der überwachten Nutzungsdaten erzeugt.
  2. System nach Anspruch 1, bei dem eine Systemidentifizierung, die eine Umgebung identifiziert, unter der die Zielanwendung (505) abläuft, an die Überwachungseinheit (515, 1200) gesendet wird.
  3. System nach Anspruch 1 oder 2, bei der eine Startzeit und/oder eine Stoppzeit zu der Überwachungseinheit (516, 1200) gesendet wird, wenn die Überwachung von Nutzungsdaten gestartet und/oder gestoppt wird.
  4. System nach einem der vorhergehenden Ansprüche, bei dem das Sendendes Protokolls der überwachten Nutzungsdaten getriggert ist.
  5. System nach einem der vorhergehenden Ansprüche, bei dem ein Name eines ausgewählten und überwachten Befehls oder einer ausgewählten und überwachten Funktion gespeichert wird.
  6. System nach Anspruch 5, bei dem der Name des ausgewählten und überwachten Befehls oder der ausgewählten und überwachten Funktion mit einer Häufigkeit von eins gespeichert wird, falls der Befehl oder die Funktion vorher nicht gewählt und dann gespeichert worden ist, oder bei dem eine Häufigkeit, die dem Namen zugeordnet ist, in dem Protokoll inkrementiert wird, falls der Name bereits vorhanden ist.
  7. System nach einem der vorhergehenden Ansprüche, bei dem der Zeitpunkt aufgezeichnet wird, zu dem ein Befehl oder eine Funktion ausgewählt wird.
  8. System nach einem der vorhergehenden Ansprüche, bei dem verschiedene Algorithmen für jeden unterschiedlichen Typ von zu sendenden überwachten Nutzungsdaten vorgesehen sind.
  9. System nach einem der vorhergehenden Ansprüche, bei dem das Protokoll per E-Mail gesendet wird.
  10. System nach einem der vorhergehenden Ansprüche, bei dem das Protokoll der überwachten Nutzungsdaten verschlüsselt wird, bevor sie gesendet werden.
  11. System nach einem der vorhergehenden Ansprüche, bei dem die Zielanwendung eine Software-Anwendung ist und die Schnittstelle ein Anzeigeschirm der Software-Anwendung ist.
  12. System nach einem der Ansprüche 1 bis 10, bei dem die Zielanwendung eine Büromaschine, insbesondere eine Kopier- oder Telefaxmaschine, ist und die Schnittstelle eine Bedienungskonsole der Büromaschine ist.
  13. Verfahren zum Überwachen der Nutzung einer Schnittstelle (510) einer Zielanwendung (505, 1300), wobei die Schnittstelle mehrere durch einen Anwen- der zu wählende Operationen umfasst, wobei die Zielanwendung eine Bilderzeugungsvorrichtung ist, die im Voraus eingestellte Parameter speichert und eine Bedienungskonsole umfasst, die ein Anwender betätigt, um die Bilderzeugungs vorrichtung zu steuern, wobei das Verfahren die folgenden Schritte umfasst: Überwachen (S10, S20, S30, S40, S50) von Nutzungsdaten, die mit der Auswahl der mehreren Operationen der Schnittstelle (510) durch den Anwender in Beziehung stehen; und Erzeugen eines Protokolls (1605) überwachter Nutzungsdaten; Senden eines Protokolls der überwachten Nutzungsdaten über ein Netz als E-Mail an eine entfernte Überwachungsvorrichtung, gekennzeichnet durch: die Tatsache, dass die E-Mail eine Überwachungsdauer enthält, Ausführen einer Überwachung jedesmal, wenn ein Anwender auf einen der Steuerknöpfe auf der Bedienungskonsole drückt, und Protokollieren der Daten einer solchen Anwendernutzung durch Erzeugen des Protokolls überwachter Nutzungsdaten; Anhalten der Überwachung nach einer vorgegebenen Zeitperiode einer Nichtnutzung der Zielanwendung.
  14. Computerprogrammprodukt, das Programmcodemittel umfasst, um die Schritte nach Anspruch 13 auszuführen, wenn das Programm durch ein Verarbeitungsmittel ausgeführt wird.
  15. Computerprogrammprodukt, das Programmcodemittel nach Anspruch 14 umfasst, die auf einen durch ein Verarbeitungsmittel lesbaren Datenträger aufgezeichnet sind.
DE60023349T 1999-09-10 2000-08-31 System, Verfahren und Rechnerprogrammprodukt zur Überwachung des Gebrauchs einer Zielanwendung Expired - Lifetime DE60023349T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US393677 1989-08-14
US09/393,677 US7533344B1 (en) 1999-09-10 1999-09-10 Application unit monitoring and reporting system and method

Publications (2)

Publication Number Publication Date
DE60023349D1 DE60023349D1 (de) 2005-11-24
DE60023349T2 true DE60023349T2 (de) 2006-06-22

Family

ID=23555770

Family Applications (2)

Application Number Title Priority Date Filing Date
DE60001134T Expired - Lifetime DE60001134T2 (de) 1999-09-10 2000-08-31 System und Verfahren zur Überwachung und Meldung des Gebrauchs einer Benutzerschnitstelle
DE60023349T Expired - Lifetime DE60023349T2 (de) 1999-09-10 2000-08-31 System, Verfahren und Rechnerprogrammprodukt zur Überwachung des Gebrauchs einer Zielanwendung

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE60001134T Expired - Lifetime DE60001134T2 (de) 1999-09-10 2000-08-31 System und Verfahren zur Überwachung und Meldung des Gebrauchs einer Benutzerschnitstelle

Country Status (4)

Country Link
US (1) US7533344B1 (de)
EP (2) EP1246069B1 (de)
JP (1) JP4094803B2 (de)
DE (2) DE60001134T2 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020004812A1 (en) 1997-06-26 2002-01-10 Tetsuro Motoyama Method and system for diagnosis and control of machines using connectionless modes having delivery monitoring and an alternate communication mode
US6948175B1 (en) 1999-11-16 2005-09-20 Ricoh Company, Ltd. Method and system of remote diagnostic, control and information collection using a dynamic linked library
US6988141B1 (en) 2000-05-17 2006-01-17 Ricoh Company, Ltd. Method and system of remote diagnostic, control and information collection using a dynamic linked library of multiple formats and multiple protocols with restriction on protocol
US6785666B1 (en) 2000-07-11 2004-08-31 Revenue Science, Inc. Method and system for parsing navigation information
CN100334577C (zh) 2000-11-01 2007-08-29 福来西奥德技术公司 用于设备到设备的普适数字输出的控制器及管理器
US11204729B2 (en) 2000-11-01 2021-12-21 Flexiworld Technologies, Inc. Internet based digital content services for pervasively providing protected digital content to smart devices based on having subscribed to the digital content service
US9965233B2 (en) 2000-11-20 2018-05-08 Flexiworld Technologies, Inc. Digital content services or stores over the internet that transmit or stream protected or encrypted digital content to connected devices and applications that access the digital content services or stores
US10860290B2 (en) 2000-11-01 2020-12-08 Flexiworld Technologies, Inc. Mobile information apparatuses that include a digital camera, a touch sensitive screen interface, support for voice activated commands, and a wireless communication chip or chipset supporting IEEE 802.11
US10915296B2 (en) * 2000-11-01 2021-02-09 Flexiworld Technologies, Inc. Information apparatus that includes a touch sensitive screen interface for managing or replying to e-mails
US20020097417A1 (en) 2001-01-19 2002-07-25 Chang William Ho System for universal data output
USRE46973E1 (en) 2001-05-07 2018-07-31 Ureveal, Inc. Method, system, and computer program product for concept-based multi-dimensional analysis of unstructured information
US20020184519A1 (en) * 2001-06-04 2002-12-05 Wadley Donald K. Methods and systems for managing printing resources
US7302469B2 (en) 2001-09-17 2007-11-27 Ricoh Company, Ltd. System, method, and computer program product for transferring remote device support data to a monitor using e-mail
US8392553B2 (en) 2003-04-29 2013-03-05 University Of Strathclyde Remote monitoring by tracking, storing, and analyzing user interactions with an operating system of a data processing device
FR2868177A1 (fr) * 2004-08-26 2005-09-30 France Telecom Procede et dispositif de supervision de l'usage d'un terminal mobile
FR2867581A1 (fr) * 2004-08-26 2005-09-16 France Telecom Procede et dispositif de supervision de l'usage d'un terminal mobile
JP3879757B2 (ja) * 2004-10-07 2007-02-14 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、新機能追加通知方法、およびコンピュータプログラム
WO2006129676A1 (ja) * 2005-05-31 2006-12-07 Science Park Corporation 監視方法、監視システム、システム用のプログラム、及びプログラムを記録した記録媒体
DE112005003824A5 (de) * 2005-12-22 2008-11-20 Siemens Aktiengesellschaft Verfahren und Datenverarbeitungseinrichtung zum Erzeugen eines eine Benutzung von Funktionen eines Automatisierungsprogramms charakterisierenden Datensatzes sowie System zum Übertragen eines solchen Datensatzes
US20080184283A1 (en) * 2007-01-29 2008-07-31 Microsoft Corporation Remote Console for Central Administration of Usage Credit
US7739666B2 (en) 2007-06-15 2010-06-15 Microsoft Corporation Analyzing software users with instrumentation data and user group modeling and analysis
US7870114B2 (en) 2007-06-15 2011-01-11 Microsoft Corporation Efficient data infrastructure for high dimensional data analysis
US7747988B2 (en) 2007-06-15 2010-06-29 Microsoft Corporation Software feature usage analysis and reporting
US8489081B2 (en) 2008-02-05 2013-07-16 Nuance Communications, Inc. Measuring end user activity of software on a mobile or disconnected device
WO2010037698A2 (en) * 2008-09-30 2010-04-08 Frederic Sigal Method of reporting content usage metrics
EP2343651A1 (de) * 2009-12-15 2011-07-13 Accenture Global Services Limited Überwachung und Verfolgung der Verwendung einer Anwendung
US8438273B2 (en) 2010-09-22 2013-05-07 Ricoh Company, Ltd. Network device management with self learning capability to extract information from a device
US10440132B2 (en) * 2013-03-11 2019-10-08 Amazon Technologies, Inc. Tracking application usage in a computing environment
US10084869B2 (en) * 2013-10-04 2018-09-25 Verto Analytics Oy Metering user behaviour and engagement with user interface in terminal devices
EP3206170A1 (de) * 2016-02-09 2017-08-16 Wipro Limited System und verfahren zur erzeugung von robotischer prozessautomatisierung auf anfrage
CN109902068A (zh) * 2019-02-15 2019-06-18 广州视源电子科技股份有限公司 一种抓取家电设备日志的方法、装置以及计算机可读存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0191556A (ja) 1987-03-20 1989-04-11 Ricoh Co Ltd 不定形通信網のノ−ド装置
US5818603A (en) 1996-03-29 1998-10-06 Ricoh Company, Ltd. Method and system for controlling and communicating with machines using multiple communication formats
US5887216A (en) 1997-03-19 1999-03-23 Ricoh Company, Ltd. Method and system to diagnos a business office device based on operating parameters set by a user
US5909493A (en) 1996-10-16 1999-06-01 Ricoh Company, Ltd. Method and system for diagnosis and control of machines using connectionless modes of communication
US5819110A (en) 1995-06-05 1998-10-06 Ricoh Company, Ltd. System for determining whether connection or connectionless modes of communication should be used to transmit information between devices in accordance with priorities of events
US7131070B1 (en) 1999-05-13 2006-10-31 Ricoh Company, Ltd. Application unit monitoring and reporting system and method
US5067107A (en) 1988-08-05 1991-11-19 Hewlett-Packard Company Continuous computer performance measurement tool that reduces operating system produced performance data for logging into global, process, and workload files
JP3121002B2 (ja) 1990-07-06 2000-12-25 株式会社リコー プリンタシステム、プリンタおよび外部装置
JP2626598B2 (ja) 1994-11-25 1997-07-02 日本電気株式会社 グラフィカルユーザインタフェースを有する対話システムの操作性評価装置
JPH0991179A (ja) 1995-09-26 1997-04-04 Ricoh Co Ltd 実稼動時間集計分析システム
US6181981B1 (en) * 1996-05-15 2001-01-30 Marconi Communications Limited Apparatus and method for improved vending machine inventory maintenance
US6018619A (en) * 1996-05-24 2000-01-25 Microsoft Corporation Method, system and apparatus for client-side usage tracking of information server systems
US5848386A (en) 1996-05-28 1998-12-08 Ricoh Company, Ltd. Method and system for translating documents using different translation resources for different portions of the documents
US5897498A (en) * 1996-09-25 1999-04-27 Atl Ultrasound, Inc. Ultrasonic diagnostic imaging system with electronic message communications capability
US6052730A (en) * 1997-01-10 2000-04-18 The Board Of Trustees Of The Leland Stanford Junior University Method for monitoring and/or modifying web browsing sessions
US6003070A (en) * 1997-02-25 1999-12-14 Intervvoice Limited Partnership E-mail system and interface for equipment monitoring and control
US6163802A (en) * 1997-04-04 2000-12-19 International Business Machines Corporation Message tracking system
JPH10326245A (ja) 1997-05-26 1998-12-08 Nippon Telegr & Teleph Corp <Ntt> 情報端末における利用データを取得する方法およびそのプログラムを記録した記録媒体
US6446119B1 (en) * 1997-08-07 2002-09-03 Laslo Olah System and method for monitoring computer usage
US5908493A (en) 1997-11-17 1999-06-01 Krymsky; Mark D. Filtering system for cleaning air
US6279015B1 (en) 1997-12-23 2001-08-21 Ricoh Company, Ltd. Method and apparatus for providing a graphical user interface for creating and editing a mapping of a first structural description to a second structural description
US6085196A (en) 1997-12-23 2000-07-04 Ricoh Company, Ltd. Object-oriented system and computer program product for mapping structured information to different structured information
DE19807138A1 (de) 1998-02-20 1999-09-02 Laube Verfahren zur Kontrolle der Tätigkeit von Personen, die an einzelnen oder vernetzten Computern arbeiten
US6446076B1 (en) * 1998-11-12 2002-09-03 Accenture Llp. Voice interactive web-based agent system responsive to a user location for prioritizing and formatting information
US6400381B1 (en) * 1999-06-11 2002-06-04 International Business Machines Corporation Web places

Also Published As

Publication number Publication date
US7533344B1 (en) 2009-05-12
JP2001167020A (ja) 2001-06-22
DE60001134T2 (de) 2003-05-28
DE60023349D1 (de) 2005-11-24
EP1246069A2 (de) 2002-10-02
EP1246069B1 (de) 2005-10-19
EP1083486B1 (de) 2003-01-08
EP1083486A1 (de) 2001-03-14
EP1246069A3 (de) 2002-12-11
JP4094803B2 (ja) 2008-06-04
DE60001134D1 (de) 2003-02-13

Similar Documents

Publication Publication Date Title
DE60023349T2 (de) System, Verfahren und Rechnerprogrammprodukt zur Überwachung des Gebrauchs einer Zielanwendung
DE602004002169T2 (de) Verfahren und System zur Unterstützung von Mehrfach-Protokollen für die Überwachung von vernetzten Geräten in einem Fernüberwachungssystem
DE69933636T2 (de) Verfahren und System zur Kommunikation mit einem an einen Computer angeschlossenen Gerät mittels elektronischer Post
US7574654B2 (en) Application unit monitoring and reporting system and method
DE60205998T2 (de) System und Verfahren zum Senden von Gerätekonfigurationsinformation an eine Überwachungseinheit über e-mail
DE602006000709T2 (de) Überwachungseinrichtung mit einem Speicher,der Zugangsdaten zur Verwendung in verschiedenen Implementierungen von Protokollzugangsfunktionen für Informationsbeschaffung von vernetzten Geräten beinhaltet
US6948175B1 (en) Method and system of remote diagnostic, control and information collection using a dynamic linked library
US6662225B1 (en) Remote system usage monitoring with flexible packaging of data
DE602006000826T2 (de) Verfahren und System zum Extrahieren von Informationen von Netzwerkgeräten unter Verwendung mehrerer Protokollzugriffsfunktionen
DE10197247B4 (de) Verfahren und System zum Drucken eines durch ein mobiles Gerät ausgewählten Dokuments
DE69728178T2 (de) Vorrichtung und verfahren zur fernen datenrückgewinnung
DE60217718T2 (de) Netzwerksystem und Verfahren bestehend aus einer Vielzahl von Netzwerkvorrichtungen welche funktionsbezogene Webseiten liefern
DE69736498T2 (de) Verfahren und Anordnung zur Kontrolle und Kommunikation mit Maschinen unter Verwendung verschiedener Kommunikationsformate
DE69926476T2 (de) Netzwerküberwachungseinheit
DE60020633T2 (de) Geräteverwaltungsnetzwerksystem, Verwaltungsserver, und Rechner
DE69926147T2 (de) Verfahren und gerät um die sicherheitsverletzlichkeit vernetzter geräte zu kontrollieren
DE60304530T2 (de) Bilderzeugungsgerät und Druckverarbeitungsverfahren
DE10197248T5 (de) System und Verfahren für enfernte Dokumentrückgewinnung
DE10148357A1 (de) System und Verfahren zur gemeinsamen Nutzung digitaler Literaturwerke mit einem Schutz gegen illegale Kopien durch Kommunikationsnetze
DE69935115T2 (de) Dokumenteingabesystem
DE10051022B4 (de) Verfahren, System und Computerprogrammprodukt für die Neukonfiguration logischer Drucker in einem Druckernetzsystem beim Wechsel von einem Überwachungsprogramm zu einem zweiten Überwachungsprogramm
DE69830226T2 (de) Netzwerkkommunikationsbenutzernachrichtenübertragungssystem
DE102014225538A1 (de) Verwaltungsvorrichtung und verwaltungsverfahren für eine verwaltungsvorrichtung
DE60210356T2 (de) Verwalter von Dienststufenübereinkommen in einem Datennetz
DE10024347B4 (de) Sicherheitsservice-Schicht

Legal Events

Date Code Title Description
8364 No opposition during term of opposition