DE602004002169T2 - Verfahren und System zur Unterstützung von Mehrfach-Protokollen für die Überwachung von vernetzten Geräten in einem Fernüberwachungssystem - Google Patents

Verfahren und System zur Unterstützung von Mehrfach-Protokollen für die Überwachung von vernetzten Geräten in einem Fernüberwachungssystem Download PDF

Info

Publication number
DE602004002169T2
DE602004002169T2 DE602004002169T DE602004002169T DE602004002169T2 DE 602004002169 T2 DE602004002169 T2 DE 602004002169T2 DE 602004002169 T DE602004002169 T DE 602004002169T DE 602004002169 T DE602004002169 T DE 602004002169T DE 602004002169 T2 DE602004002169 T2 DE 602004002169T2
Authority
DE
Germany
Prior art keywords
information
computer program
memory
status information
communication protocols
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
DE602004002169T
Other languages
English (en)
Other versions
DE602004002169D1 (de
Inventor
TetsuroRicoh Corporation Cupertino Motoyama
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 DE602004002169D1 publication Critical patent/DE602004002169D1/de
Application granted granted Critical
Publication of DE602004002169T2 publication Critical patent/DE602004002169T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft die Überwachung von Einrichtungen, die mit einem Netz verbunden sind. Insbesondere betrifft sie ein Verfahren, ein System und ein Computerprogrammprodukt für die Fernüberwachung von mit dem Netz verbundenen Einrichtungen unter Verwendung von mehreren Protokollen.
  • ERÖRTERUNG DES HINTERGRUNDES
  • Wie allgemein bekannt ist, umfassen Computersysteme Hardware und Software. Software umfasst eine Liste von Befehlen, die erzeugt werden, um Hardwarekomponenten, die ein Computersystem bilden, zu betreiben und zu managen. Typischerweise umfassen Computersysteme eine Vielzahl von Hardware-Komponenten/Einrichtungen, die miteinander kommunizieren. Das Computersystem kann ein eigenständiger Typ oder ein vernetzter Typ sein. In einem Computersystem vom vernetzten Typ sind eine Vielzahl von unterschiedlichen Einrichtungen mit einem Netz verbunden und folglich wird eine Kommunikation zwischen diesen unterschiedlichen Einrichtungen über das Netz ermöglicht.
  • Ferner muss die Software zum Betreiben der Hardware-Einrichtungen konfiguriert sein, um die Kommunikation zwischen den Hardware-Einrichtungen zu ermöglichen, so dass den Hardware-Einrichtungen ermöglicht wird, in Zusammenarbeit zu funktionieren. Um eine solche Kommunikation zu erleichtern, ist es ferner auch erwünscht, dass Hardware-Einrichtungen überwacht werden und der Status jeder Hardware-Einrichtung identifiziert wird, um sicherzustellen, dass jede Hardware-Einrichtung in einer effizienten Weise funktioniert.
  • Das Dokument US 2003/084176 offenbart den Oberbegriff des Systemanspruchs 11.
  • Für die Zwecke dieser Patentanmeldung hat der Erfinder festgestellt, dass eine Hardware-Einrichtung, die die Vielzahl von unterschiedlichen Einrichtungen oder Hardware-Einrichtungen steuert, konfiguriert oder überwacht, als Überwachungseinrichtung bezeichnet werden würde und die Hardware-Einrichtungen, die durch die Überwachungseinrichtung gesteuert, konfiguriert oder überwacht werden, als "überwachte Einrichtungen" bezeichnet werden würden.
  • Für Hardware-Einrichtungen, die sich in einem Netz befinden, ist es erwünscht, dass diese Einrichtungen auf Wartung, Verwendung und andere Zwecke überwacht werden. Angesichts von Herstellerunterschieden in Bezug auf die Hardware-Einrichtungen und Schnittstellen kann es jedoch für eine Überwachungseinrichtung schwierig sein, mit verschiedenen anderen Einrichtungen, die mit einem Netz verbunden sind, zu kommunizieren. Ein solcher Nachteil verhindert höchstwahrscheinlich, dass Netzadministratoren entscheidende Informationen über die Leistung und die Effizienz der mit dem Netz verbundenen Einrichtungen erhalten.
  • Das Simple Network Management Protocol (SNMP) ist heute tatsächlich ein Industriestandard für die Überwachung und das Management von Einrichtungen in Datenkommunikationsnetzen, Telekommunikationssystemen und anderen global erreichbaren Einrichtungen. Praktisch erwartet jede Organisation, die mit Computern und zugehörigen Vorrichtungen umgeht, dass sie jede derartige Einrichtung über lokale und weiträumige Netze zentral überwachen, diagnostizieren und konfigurieren kann. SNMP ist das Protokoll, das diese Wechselwirkung ermöglicht.
  • Damit eine Einrichtung auf SNMP-Anforderungen antwortet, ist es erwünscht, die Einrichtung mit der Software auszustatten, die ermöglicht, dass sie eine SNMP-Anforderung korrekt interpretiert, die von dieser Anforderung angeforderten Handlungen durchführt und eine SNMP-Antwort erzeugt. Die SNMP-Agentensoftware ist typischerweise ein Untersystem-Softwaremodul, das sich in einer Netzentität befindet.
  • Die Sammlung von Objekten, die von einem System implementiert werden, wird im Allgemeinen als Management-Informationsbank (MIB) bezeichnet. Eine MIB kann auch eine Datenbank mit Informationen in Bezug auf die Überwachung von Einrichtungen sein. Beispiele von anderen MIBs umfassen eine Ethernet-MIB, die sich auf Ethernet-Schnittstellen konzentriert; eine Brücken-MIB, die Objekte für das Management von 802.1D-Brücken definiert, um einige zu nennen.
  • Die Verwendung von SNMP für die Überwachung von Einrichtungen ist schwierig, da private MIBs Werte umfassen, die ohne einen gültigen Schlüssel schwierig zu entschlüsseln sind. Eine Firma, die SNMP für die Überwachung von verschiede nen Einrichtungen, die mit ihrem Netz verbunden sind, verwendet, erzeugt einen eindeutigen Identifizierer/Schlüssel, der als firmeneigene Information der Firma aufrechterhalten wird. Größtenteils werden die Ergebnisse als binäre oder ganzzahlige Werte angezeigt. Folglich misslingt es unter Verwendung von SNMP Ergebnissen, die von den Einrichtungen empfangen werden, die überwacht werden ("überwachte Einrichtungen"), einen Anwender mit dem Status der überwachten Einrichtungen in einer für den Anwender verständlichen Weise zu versehen.
  • Unter Verwendung von SNMP ist es ferner für jemanden schwierig, detaillierte Informationen über eine überwachte Einrichtung ohne einen gültigen Schlüssel oder Zugriff auf eine private MIB zu erhalten, um die als binäre oder ganzzahlige Werte erhaltenen Ergebnisse zu entschlüsseln. Außerdem kann ein gegebenes Protokoll (z. B. SNMP oder HTTP/HTML) aus verschiedenen Gründen wie z. B. Zeitablauf oder verloren gegangene Pakete versagen. Wenn die Überwachung einer Einrichtung unter Verwendung von mehreren Protokollen der Reihe nach in Reaktion auf einen Ausfall durchgeführt wird, können folglich einige Informationen, die von einer gegebenen Einrichtung unter Verwendung der mehreren Protokolle extrahiert werden, für jedes Protokoll dupliziert werden. Wenn die Extraktion von Daten von der Einrichtung in solchen Situationen nicht zweckmäßig gemanagt wird, ergeben sich folglich Zeit- und Speicherineffizienzen, da einige Protokolle mehr Ressourcen erfordern als andere Protokolle. Außerdem kann die Informationsextraktion unter Verwendung von einigen Protokollen viel weniger Verarbeitung und Speicher erfordern als unter Verwendung von anderen. Ferner können einige Informationen, die durch ein Protokoll erhalten werden, für die Überwachungseinrichtung nützlicher sein als diejenigen, die über ein anderes Protokoll erhalten werden.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Das System und Verfahren der vorliegenden Erfindung wenden sich Lösungen für die vorstehend identifizierten Probleme zu, indem sie die Überwachung von Einrichtungen ermöglichen, die mit einem Netz verbunden sind. Folglich wird ein Verfahren zum Überwachen einer Einrichtung unter unterschiedlichen Einrichtungen, die kommunikativ mit einem Netz verbunden sind, beschrieben.
  • Das Verfahren umfasst das Zugreifen auf eine erste Datenbank über ein Hardware-Zugriffsmodul, wobei die erste Datenbank so konfiguriert ist, dass sie eine Vielzahl von Kommunikationsprotokollen unterstützt. Die erste Datenbank ist mit Informationen gespeichert, die von der Vielzahl von Kommunikationsprotokollen verwendet wird, um verschiedene Informationen wie z. B. Hersteller- und Modellinformationen einer überwachten Einrichtung zu erhalten. Ein Kommunikationsprotokoll wird unter einer Vielzahl von Kommunikationsprotokollen ausgewählt und das ausgewählte Kommunikationsprotokoll ist dazu konfiguriert, Statusinformationen von der überwachten Einrichtung zu empfangen. Das Verfahren umfasst ferner das Zugreifen auf die überwachte Einrichtung unter Verwendung des ausgewählten Kommunikationsprotokolls und von Informationen von der ersten Datenbank, das Empfangen von Statusinformationen von der Vorrichtung, auf die zugegriffen wird, und das Speichern der empfangenen Statusinformationen in einer zweiten Datenbank (DeviceODBC).
  • In einer weiteren Ausführungsform schafft die vorliegende Erfindung ein Verfahren zum Überwachen einer Einrichtung unter unterschiedlichen Einrichtungen, die kommunikativ mit einem Netz gekoppelt sind. Eine Vielzahl von Kommunikationsprotokollen kann verwendet werden, um Informationen von einer überwachten Einrichtung zurückzugewinnen. Ein SNMP-Protokoll wird beispielsweise zuerst ausgewählt, um auf die überwachte Einrichtung zuzugreifen, und Einrichtungsinformationen, die so konfiguriert sind, dass sie unter Verwendung des SNMP-Protokolls effizient zurückgewonnen werden können, werden erhalten. Anschließend werden ein HTTP- und ein FTP-Protokoll ausgewählt, um Informationen zu erhalten, die zur effizienten Zurückgewinnung unter Verwendung des SNMP-Protokolls außer Stande waren, wenn die Einrichtung die zusätzlichen Protokolle unterstützt. Die Auswahl von Protokollen wird durch einen Protokoll-Manager in Verbindung mit in einer Datenbank gespeicherten Unterstützungsinformationen durchgeführt.
  • In der vorliegenden Erfindung ermöglicht ein Überwachungssystem die Überwachung von mindestens einer Einrichtung (überwachten Einrichtung), die mit einem Netz, wie beispielsweise einem LAN oder WAN, verbunden ist. Die überwachte Einrichtung ist so konfiguriert, dass sie eine eindeutige IP-Adresse besitzt. Die IP-Adresse, die der überwachten Einrichtung zugewiesen ist, und die Details des Verkäufers/Herstellers für die überwachte Einrichtung werden in einer Datenbank gespeichert. Durch Abtasten des Netzes und Abfragen der Einrichtungen kann die IP-Adresse der Einrichtungen erhalten werden. Solche Verfahren sind bekannt. Daher wird angenommen, dass die IP-Adressen der zu überwachenden Einrich tungen bereits erfasst und in einer Datenbank gespeichert sind.
  • Die vorliegende Erfindung gibt an, wie erforderliche Informationen aus den HTML-Informationen, die von einer überwachten Einrichtung empfangen werden, extrahiert werden sollen. Sobald auf einen Web-Seiten-Ort der überwachten Einrichtung zugegriffen ist (d. h. über die IP-Adresse und den festgelegten Port), wird eine der überwachten Einrichtung entsprechende spezifische Web-Seite angezeigt. Informationen in der Web-Seite liegen in Form eines Schlüssels und von Wertepaaren vor. Das Tonerniveau kann beispielsweise als "Schwarz 100 %" in der Farbdrucker-Web-Seite angezeigt werden. Ein HTML/XML-Analysealgorithmus wird verwendet, um die Seite zu analysieren, um erforderliche Informationen von den Informationen in der Web-Seite zurückzugewinnen. Die erforderlichen Informationen und Parameterwerte, die von der Web-Seite unter Verwendung des HTML/XML-Analysealgorithmus extrahiert werden, werden in der DeviceODBC-Datenbank gespeichert.
  • In einer Ausführungsform der vorliegenden Erfindung wird ein Verfahren zum Überwachen einer mit einem Netz verbundenen Einrichtung unter unterschiedlichen Einrichtungen beschrieben. Das Verfahren umfasst das Zugreifen auf eine erste Datenbank über ein Hardware-Zugriffsmodul, wobei die erste Datenbank dazu konfiguriert ist, eine Vielzahl von Kommunikationsprotokollen zu unterstützen. Die erste Datenbank wird mit Informationen gespeichert, die von der Vielzahl von Kommunikationsprotokollen verwendet werden, um verschiedene Informationen, einschließlich der Hersteller- und Modellinformationen einer überwachten Einrichtung, zu bestimmen. Ein Kommunikationsprotokoll wird aus einer Vielzahl von Kommunikationsprotokollen ausgewählt, wobei das ausgewählte Kommunikationsprotokoll verwendet wird, um verschiedene Informationen, einschließlich Statusinformationen von der überwachten Einrichtung, zu empfangen. Das Verfahren umfasst ferner das Zugreifen auf die überwachte Einrichtung unter Verwendung des ausgewählten Kommunikationsprotokolls und von Informationen aus der ersten Datenbank, das Empfangen von Statusinformationen von der Einrichtung, auf die zugegriffen wird, und das Speichern der empfangenen Statusinformationen in einer zweiten Datenbank.
  • In der vorliegenden Erfindung können verschiedene Verkäufer von überwachten Einrichtungen und die Einrichtungsmodelle, die vom Überwachungssystem unterstützt werden, auch identifiziert werden. Da verschiedene Verkäufer der über wachten Einrichtungen Informationen über eine überwachte Einrichtung in einer für den Verkäufer spezifischen Weise präsentieren, ermöglicht die vorliegende Erfindung die Identifikation des Verkäufers und des Modells der überwachten Einrichtung, um den Betriebszustand der überwachten Einrichtung zu bestimmen.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird ein Verfahren und ein System zum Speichern von Informationen geschaffen, die so konfiguriert sind, dass sie für eine Vielzahl von Kommunikationsprotokollen verwendet werden, um auf eine überwachte Einrichtung aus unterschiedlichen Einrichtungen, die kommunikativ mit einem Netz verbunden sind, zuzugreifen, umfassend: (1) Zurückgewinnen von Informationen zum Zugreifen auf die Einrichtung aus einem ersten Speicher unter Verwendung von mindestens einem Kommunikationsprotokoll, das von der Einrichtung unterstützt wird; (2) Speichern der Informationen zum Zugreifen auf die Vorrichtung, die vom ersten Speicher zurückgewonnen werden, in einem zweiten Speicher; (3) Auswählen eines Kommunikationsprotokolls aus der Vielzahl von Kommunikationsprotokollen; und (4) Zugreifen auf die Einrichtung unter Verwendung des ausgewählten Kommunikationsprotokolls und der Informationen, die aus dem ersten Speicher abgerufen wurden und im zweiten Speicher gespeichert wurden.
  • Gemäß der vorliegenden Erfindung werden ein Verfahren und ein System zum Speichern von Informationen geschaffen, die so konfiguriert sind, dass sie für eine Vielzahl von Kommunikationsprotokollen verwendet werden, um Statusinformationen in Bezug auf eine überwachte Einrichtung unter unterschiedlichen Einrichtungen, die kommunikativ mit einem Netz gekoppelt sind, zu extrahieren, umfassend: (1) Zurückgewinnen von Unterstützungsinformationen zum Extrahieren der Statusinformationen aus einem ersten Speicher unter Verwendung der Vielzahl von Kommunikationsprotokollen; (2) Speichern der vom ersten Speicher erhaltenen Informationen zum Zugreifen auf die Vorrichtung unter Verwendung der Vielzahl von Kommunikationsprotokollen in einem zweiten Speicher; (3) Auswählen eines Kommunikationsprotokolls aus der Vielzahl von Kommunikationsprotokollen; und (4) Zugreifen auf die Vorrichtung unter Verwendung des ausgewählten Kommunikationsprotokolls und der Informationen, die im zweiten Speicher gespeichert wurden, um die Statusinformationen zu extrahieren, wobei die Statusinformationen unter Verwendung von virtuellen Schnittstellenfunktionen, die einer abstrakten Softwareklasse zugeordnet sind, extrahiert werden und die virtuellen Schnittstellenfunktionen für jedes der Vielzahl von Kommunikationsprotokollen gemein sam sind.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Eine vollständigere Einschätzung der Erfindung und von vielen von deren zugehörigen Vorteilen wird leicht erhalten, wenn dieselbe mit Bezug auf die folgende ausführliche Beschreibung besser verständlich wird, wenn sie in Verbindung mit den begleitenden Zeichnungen betrachtet wird, in denen:
  • 1 drei vernetzte Geschäftsbüroeinrichtungen darstellt, die mit einem Netz von Computern und Datenbanken über das Internet verbunden sind;
  • 2 die Komponenten einer digitalen Bilderzeugungsvorrichtung darstellt;
  • 3 die elektronischen Komponenten der in 2 dargestellten digitalen Bilderzeugungsvorrichtung darstellt;
  • 4 Details einer Kommunikationsschnittstelle mit mehreren Ports, die in 3 dargestellt ist, darstellt;
  • 5 eine alternative Systemkonfiguration darstellt, in der Geschäftsbüroeinrichtungen entweder direkt mit dem Netz verbunden sind oder mit einem Computer verbunden sind, der mit dem Netz verbunden ist;
  • 6A ein Blockdiagramm ist, das einen Fluss von Informationen zu und von einer Anwendungseinheit unter Verwendung von elektronischer Post darstellt;
  • 6B eine alternative Weise zum Kommunizieren unter Verwendung von elektronischer Post darstellt, in der ein Computer, der mit einer Anwendungseinheit verbunden ist, auch als Nachrichtenübertragungsagent (MTA) dient;
  • 6C eine alternative Weise zum Kommunizieren unter Verwendung von elektronischer Post darstellt, in der eine Anwendungseinheit einen Nachrichtenübertragungsagenten zum Austauschen von elektronischer Post umfasst;
  • 6D eine alternative Weise zum Kommunizieren unter Verwendung von elektronischer Post darstellt, in der ein Postserver als POP3-Server arbeitet, um Post für ein Gerät/eine Einrichtung zu empfangen, und als Simple Mail Transfer Protocol (SMTP) Server arbeitet, um Post für das Gerät/die Einrichtung zu senden;
  • 7 eine alternative Weise zum Senden von Nachrichten über das Internet darstellt;
  • 8 einen beispielhaften Computer darstellt, der mit einem Gerät/einer Einrichtung verbunden werden kann und verwendet werden kann, um elektronische Postnachrichten zu übertragen;
  • 9 eine schematische Darstellung des gesamten Systems gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung ist;
  • 10 Module, die bei der Überwachung der Daten und ihrer Schnittstellenfunktionen verwendet werden, gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung darstellt;
  • 11 Details innerhalb des Monitor-Moduls und ihrer Aufruffunktionen zwischen den Untermodulen zeigt;
  • 12 eine Datenstruktur zeigt, die vom HWaccess-Untermodul verwendet wird, wie in 11 dargestellt;
  • 13 die Sequenz der init-Funktion des Monitor-Moduls, das in 10 dargestellt ist, zeigt;
  • 14 eine beispielhafte Sequenz der Statusüberwachungsfunktion zum Bestimmen des Status einer überwachten Einrichtung durch den MonitorManager zeigt, wie in 11 gezeigt;
  • 15 einen Vektor der Referenz auf die Einrichtungen zeigt, der durch CDevice-Factory erzeugt wird und vom MonitorManager verwendet wird, wie in 13 dargestellt;
  • 16 die Klassenstruktur des DeviceODBC-Moduls, einschließlich der abstrakten Klasse CAbsProtocolParameters, zeigt;
  • 17 die SParameter-Datenstruktur darstellt, die zum Speichern von Parameterwerten verwendet wird, die erforderlich sind, um auf überwachte Einrichtungen gemäß einer Ausführungsform der vorliegenden Erfindung zuzugreifen;
  • 18 eine Abbildungsstruktur darstellt, die verwendet wird, um Parameterwerte zu speichern, die erforderlich sind, um auf überwachte Einrichtungen gemäß einer Ausführungsform der vorliegenden Erfindung zuzugreifen;
  • 19 die Organisation der Monitor-Datenbank darstellt, die in einer Ausführungsform der vorliegenden Erfindung verwendet wird;
  • 2022 die Organisation einer Unterstützungsdatenbank darstellen, die gemäß einem Kommunikationsprotokoll gemäß einer Ausführungsform der vorliegenden Erfindung beschaffen ist;
  • 23 und 24 die HWaccess-Klassenstruktur gemäß einer Ausführungsform der vorliegenden Erfindung darstellen; und
  • 25 ein Verfahren zum effizienten Speichern von Informationen, das so konfiguriert ist, dass es für eine Vielzahl von Kommunikationsprotokollen verwendet wird, um auf eine überwachte Einrichtung unter unterschiedlichen Einrichtungen, die kommunikativ mit einem Netz verbunden sind, zuzugreifen, gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • 1 stellt ein Diagramm mit verschiedenen Einrichtungen und Computern zum Überwachen, Diagnostizieren und Steuern des Betriebs der Einrichtungen dar. Insbesondere umfasst 1 ein erstes Netz 16, wie z. B. ein lokales Netz (LAN), das mit Computerarbeitsplatzrechnern 17, 18, 20 und 22 verbunden ist. Die Arbeitsplatzrechner können eine beliebige Art von Computern sein, einschließlich z. B. Personalcomputer-Einrichtungen, Computer auf Unix-Basis, Computer auf Linux-Basis oder Apple Macintoshes. Mit dem Netz 16 sind auch eine digitale Bilderzeugungsvorrichtung 24, ein Faxgerät 28 und ein Drucker 32 verbunden. Wie von einem üblichen Fachmann erkannt werden würde, können zwei oder mehr der Komponenten des digitalen Kopierers/Druckers 24 und des Faxgeräts 28 zu einer vereinheitlichten "Bilderzeugungsvorrichtung" kombiniert werden. Der Kopierer/Drucker 24, das Faxgerät 28, der Drucker 32 und die Arbeitsplatzrechner 17, 18, 20 und 22 können beispielsweise als Maschinen oder überwachte Einrichtungen bezeichnet werden. In einigen Konfigurationen können ein oder mehrere Arbeitsplatzrechner in Geschäftsbürogeräte umgewandelt werden. Au-ßerdem kann ein beliebiges Netz-Geschäftsbüro-Gerät/eine beliebige Netz-Geschäftsbüro-Einrichtung an das Netz 16 angehängt werden. Irgendein Arbeitsplatzrechner 17, 18, 20 und 22 und Bürogerät 27 kann auch als Zwischenüberwachungseinrichtung fungieren, um die überwachten Einrichtungen im Netz 16 abzufragen und die gesammelten Daten zur Überwachungseinrichtung zu senden.
  • Ein Beispiel eines solchen Geschäftsbürogeräts ist eCabinet® von Ricoh Corporation. Ein Faxserver (nicht dargestellt) kann auch mit dem Netz 16 verbunden sein und eine Telephon-, Kabel- oder drahtlose Verbindung besitzen. Jeder des digitalen Kopierers/Druckers 24, des Faxgeräts 28 und des Druckers 32 kann zusätzlich dazu, dass er mit dem Netz 16 verbunden ist, auch eine herkömmliche Telephon- und/oder Kabel- und/oder drahtlose Verbindung 26, 30 bzw. 34 umfassen. Wie nachstehend erläutert, kommunizieren die überwachten Einrichtungen 24, 28 und 32 mit einer entfernten Überwachungs-, Diagnose- und Steuerstation, die auch als Überwachungseinrichtung bezeichnet wird, beispielsweise durch das Internet über das Netz 16 oder durch eine direkte Telephon-, drahtlose oder Kabelverbindung.
  • In einer anderen beispielhaften Geschäftsumgebung können die überwachten Einrichtungen solche Einrichtungen wie eine Multifunktions-Abbildungseinrichtung, einen Scanner, einen Projektor, ein Konferenzsystem und einen Aktenvernichter umfassen. In einer anderen Anwendung kann das Netz 16 ein Heimnetz sein, wobei die überwachten Einrichtungen Zähler (Strom, Gas, Wasser) oder Geräte, wie beispielsweise ein Mikrowellenofen, eine Waschmaschine, ein Trockner, eine Geschirrspülmaschine, ein Heimunterhaltungssystem, ein Kühlschrank, ein Reiskocher, eine Heizung, eine Klimaanlage, ein Wassererhitzer, eine Überwachungskamera, sind.
  • In 1 ist ein weiträumiges Netz (WAN) (z. B. das Internet oder sein Nachfolger), das im Allgemeinen mit 10 bezeichnet ist. Das WAN 10 kann entweder ein privates WAN, ein öffentliches WAN oder ein Hybridtyp sein. Das WAN 10 umfasst eine Vielzahl von miteinander verbundenen Computern und Routern, die mit 12A-12I bezeichnet sind. Die Art und Weise der Kommunikation über ein WAN ist durch eine Reihe von Request-for-Comments-Dokumenten (RFC-Dokumenten, Anfrage-für-Kommentare-Dokumenten) bekannt, die von der Internet Engineering Task Force (IETF) auf www.ietf.org/rfc.html, einschließlich RFC 821 mit dem Titel "Simple Mail Transfer Protocol"; RFC 822 mit dem Titel "Standard for the Format of ARPA Internet Text Message"; RFC 959 mit dem Titel "File Transfer Protocol (FTP)"; RFC 2045 mit dem Titel "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies"; RFC 1894 mit dem Titel "An Extensible Message Format for Delivery Status Notifications"; RFC 1939 mit dem Titel "Post Office protocol – Version 3"; RFC 2068, "Hypertext Transfer Protocol – http/1.1"; und RFC 2298 mit dem Titel "An Extensible Message Format for Message Disposition Notifications", erhältlich sind.
  • Die mit dem Transmission Control Protocol/Internet Protocol (TCP/IP) 8 in Zusammenhang stehende Kommunikation ist beispielsweise in dem Buch "TCP/IP Illustrated", Band 1, The Protocols, von W.R. Stevens, von Addison-Wesley Publishing Company, 1994, beschrieben. Die Bände 1–3 von "Internetworking with TCP/IP" von Comer und Stevens werden hier auch angegeben.
  • Mit weiterem Bezug auf 1 ist eine Firewall 50A zwischen das WAN 10 und das Netz 16 geschaltet. Eine Firewall ist eine Einrichtung, die nur autorisierten Computern auf einer Seite der Firewall gestattet, auf ein Netz, Computer oder einzelne Teile auf der anderen Seite der Firewall zuzugreifen. Firewalls sind bekannt und kommerziell erhältliche Einrichtungen und/oder Software (z. B. ZoneAlarm von Zone Labs). Ebenso trennen die Firewalls 50B und 50C das WAN 10 von einem Netz 52 bzw. einem Arbeitsplatzrechner 42. Zusätzliche Details über Firewalls sind in "Firewalls and Internet Security" von W.R. Cheswick und S.M. Bellovin, 1994, AddisonWesley Publishing, und "Building Internet Firewalls" von D.B. Chapman und E.D. Zwicky, 1995, O'Reilly & Associates, Inc., zu finden.
  • Das Netz 52 ist ein herkömmliches Netz und umfasst eine Vielzahl von Arbeitsplatzrechnern 56, 62, 68 und 74. Diese Arbeitsplatzrechner können in einer verteilten Weise innerhalb verschiedener Abteilungen (z. B. Verkaufs-, Auftragsbearbeitungs-, Abrechnungs-, Buchungs-, Marketing-, Fertigungs-, Entwurfskonstruktions- und Kundendienstabteilungen) innerhalb einer einzelnen Firma angeordnet sein. Zusätzlich zu den über das Netz 52 verbundenen Arbeitsplatz rechnern, ist auch ein Arbeitsplatzrechner 42, der nicht direkt mit dem Netz 52 verbunden ist, vorgesehen. Informationen in einer Datenbank, die auf einer Platte 46 gespeichert ist, die mit dem Arbeitsplatzrechner 42 verbunden ist, kann unter Verwendung einer zweckmäßigen Verschlüsselung und von zweckmäßigen Protokollen über das WAN 10 von den Arbeitsplatzrechnern, die direkt mit dem Netz 52 verbunden sind, gemeinsam genutzt werden. Der Arbeitsplatzrechner 42 umfasst auch eine direkte Verbindung mit einer Telephonleitung und/oder einem Kabelnetz und/oder einem drahtlosen Netz 44 und auf die Datenbank auf der Platte 46 kann über die Telephonleitung, das Kabelnetz oder über das drahtlose Netz 44 zugegriffen werden. Das von dieser Erfindung verwendete Kabelnetz kann unter Verwendung eines Kabelnetzes, das typischerweise verwendet wird, um eine Fernsehprogrammierung auszuführen, eines Kabels, das eine Hochgeschwindigkeitskommunikation von digitalen Daten, die typischerweise mit Computern oder dergleichen verwendet werden, schafft, oder irgendeiner anderen gewünschten Art von Kabel implementiert werden.
  • In einer weiteren Ausführungsform kann der Arbeitsplatzrechner 42 ein Laptopcomputer, ein PDA, ein Palmtop-Computer oder ein Zellentelephon mit Netzfähigkeit sein. Diese Einrichtungen können verwendet werden, um auf Informationen zuzugreifen, die in der auf der Platte 46 gespeicherten Datenbank gespeichert sind.
  • Informationen in Bezug auf den digitalen Kopierer/Drucker 24, das Bürogerät 27, das Faxgerät 28 bzw. den Drucker 32 können in einer oder mehreren der auf den Platten 46, 54, 58, 64, 70 und 76 gespeicherten Datenbanken gespeichert werden. Bekannte Datenbanken umfassen (1) SQL-Datenbanken von Microsoft, IBM, Oracle und Sybase; (2) andere relationale Datenbanken; und (3) nicht relationale Datenbanken (einschließlich objektorientierter Datenbanken von Objectivity, JYD Software Engineering und Orient Technologies). Jede der Verkaufs-, Auftragsbearbeitungs-, Abrechnungs-, Buchungs-, Kundendienst-, Marketing- Fertigungs- und Konstruktionsabteilungen kann ihre eigene Datenbank haben oder kann sich eine oder mehrere Datenbanken teilen. Jede der zum Speichern von Datenbanken verwendeten Platten ist ein nicht flüchtiger Speicher, wie z. B. eine Festplatte oder optische Platte. Alternativ können die Datenbanken in einer beliebigen Speichervorrichtung gespeichert werden, einschließlich Festkörper- und/oder Halbleiterspeichervorrichtungen. Die Platte 64 kann beispielsweise mit einer Marketingdatenbank gespeichert werden, die Platte 58 kann mit einer Fertigungsdatenbank gespeichert werden, die Platte 70 kann mit einer Konstruktionsdatenbank gespeichert werden und die Platte 76 kann mit einer Kundendienstdatenbank gespeichert werden. Alternativ können die Platten 54 und 46 mit einer oder mehreren der Datenbanken gespeichert werden.
  • Zusätzlich zu den Arbeitsplatzrechnern 56, 62, 68, 74 und 42, die mit dem WAN 10 verbunden sind, können diese Arbeitsplatzrechner auch eine Verbindung mit einer Telephonleitung, einem Kabel oder drahtlosen Netzen umfassen, um eine sichere Verbindung mit einer überwachten, diagnostizierten und/oder gesteuerten Maschine/Einrichtung zu schaffen. Wenn eines der Kommunikationsmedien nicht korrekt arbeitet, kann außerdem eines der anderen automatisch als Reserve für die Kommunikation verwendet werden.
  • Ein Merkmal einer Ausführungsform der vorliegenden Erfindung ist die Verwendung einer "Speicher-und-Weiterleitungs"-Kommunikationsbetriebsart (z. B. elektronische Internet-Post, hierin auch als E-Mail bezeichnet) oder Übertragung zwischen einer Maschine und einem Computer/Überwachungssystem zum Diagnostizieren und Steuern der Maschine. Alternativ kann die Nachricht, die übertragen wird, unter Verwendung einer Kommunikationsbetriebsart implementiert werden, die direkte Ende-an-Ende-Verbindungen herstellt (z. B. unter Verwendung einer Sockelverbindung mit dem letztlichen Zielort) wie z. B. FTP und Hyper Text Transfer Protocol (HTTP).
  • 2 stellt die mechanische Anordnung des digitalen Kopierers/Druckers 24 dar, der in 1 dargestellt ist. In 2 ist 101 ein Gebläse für den Scanner, 102 ist ein Polygonspiegel, der bei einem Laserdrucker verwendet wird, und 103 bezeichnet eine F-Linse, die verwendet wird, um Licht von einem Laser (nicht dargestellt) zu kollimieren. Das Bezugszeichen 104 bezeichnet einen Sensor zum Erfassen von Licht vom Scanner. Das Bezugszeichen 105 bezeichnet eine Linse zum Fokussieren von Licht vom Scanner auf den Sensor 104 und das Bezugszeichen 106 bezeichnet eine Löschlampe, die verwendet wird, um Bilder auf der lichtempfindlichen Trommel 132 zu löschen. Es sind eine Ladekoronaeinheit 107 und eine Entwicklungswalze 108 vorhanden. Das Bezugszeichen 109 bezeichnet eine Lampe, die verwendet wird, um ein zu scannendes Dokument darzustellen, und die Elemente 110, 111 und 112 bezeichnen Spiegel zum Reflektieren von Licht auf den Sensor 104. Ein Trommelspiegel 113 ist vorgesehen, um Licht auf die lichtempfindliche Trommel 132 zu reflektieren, welches vom Polybonspiegel 102 stammt. Ein Gebläse 114 wird verwendet, um den Ladebereich der digitalen Bilderzeugungsvorrichtung zu kühlen, und eine erste Papierzufuhrwalze 115 wird verwendet, um Papier von der ersten Papierkassette 117 zuzuführen, und ein Bezugszeichen 116 bezeichnet einen manuellen Zufuhrtisch. Ebenso wird eine zweite Papierzufuhrwalze 118 in Verbindung mit der zweiten Kassette 119 verwendet. Das Bezugszeichen 120 bezeichnet eine Übertragungswalze, 121 bezeichnet eine Registrierungswalze, 122 bezeichnet einen Bilddichtesensor und 123 bezeichnet eine Transfer/Trenn-Koronaeinheit. Das Bezugszeichen 124 bezeichnet eine Reinigungseinheit, 125 bezeichnet ein Vakuumgebläse, 126 bezeichnet einen Transportriemen, 127 bezeichnet eine Druckwalze und 128 bezeichnet eine Austrittswalze. Eine heiße Walze 129 wird verwendet, um Toner auf dem Papier zu fixieren, 130 bezeichnet ein Abluftgebläse und ein Hauptmotor 131 wird verwendet, um den digitalen Kopierer/Drucker 24 anzutreiben.
  • 3 ist ein Blockdiagramm, das die elektronischen Komponenten des digitalen Kopierers/Druckers 24 von 2 darstellt, wobei eine CPU 160 ein Mikroprozessor ist, der als Steuereinheit der Vorrichtung wirkt. Ein Direktzugriffsspeicher (RAM) 162 speichert sich dynamisch ändernde Informationen, einschließlich Betriebsparametern des digitalen Kopierers/Druckers 24. Ein nicht flüchtiger Speicher (z. B. ein Festwertspeicher (ROM) 164 oder ein Flash-Speicher) speichert einen Programmcode, der verwendet wird, um die digitale Bilderzeugungsvorrichtung zu betreiben, sowie Daten im statischen Zustand, die den Kopierer/Drucker 24 beschreiben (z. B. der Modellname, die Modellnummer, die Seriennummer der Einrichtung und Standardparameter).
  • Eine Netzschnittstelle 166 mit mehreren Ports ist vorgesehen, um zu ermöglichen, dass der digitale Kopierer/Drucker 24 mit externen Einrichtungen über mindestens ein Kommunikationsnetz kommuniziert. Das Bezugszeichen 168 stellt eine Telephon-, eine drahtlose oder eine Kabelleitung dar und die Ziffer 170 stellt eine weitere Art von Netz dar, das von dem bei 168 identifizierten Netz verschieden ist. Zusätzliche Details der Netzschnittstelle mit mehreren Ports sind in Bezug auf 4 dargelegt. Eine Schnittstellensteuereinheit 172 wird verwendet, um ein Bedienfeld 174 mit einem Systembus 186 zu verbinden. Das Bedienfeld 174 umfasst Standard-Eingabe- und -Ausgabe-Einrichtungen, die auf einem digitalen Kopierer/Drucker 24 zu finden sind, einschließlich einer Kopiertaste, Tasten zum Steuern des Betriebs der Bilderzeugungsvorrichtung, wie beispielsweise Anzahl von Kopien, Verkleinerung/Vergrößerung, Dunkelheit/Helligkeit usw. Außerdem kann eine Flüssigkristallanzeige innerhalb des Bedienfeldes 174 enthalten sein, um Parameter und Meldungen des digitalen Kopierers/Druckers 24 einem Anwender anzuzeigen.
  • Eine lokale Verbindungsschnittstelle 171 ist eine Verbindung über lokale Ports, wie z. B. RS232, den parallelen Druckerport, USB und IEEE 1394. FireWire (IEEE 1394) ist in Wickelgren, I., "The Facts About "FireWire", IEEE Spectrum, April 1997, Band 34, Nummer 4, S. 19–25, beschrieben. Vorzugsweise wird ein "zuverlässiges" Kommunikationsprotokoll verwendet, das eine Fehlererkennung und Neuübertragung umfasst.
  • Eine Speicherschnittstelle 176 verbindet Speichervorrichtungen mit dem Systembus 186. Die Speichervorrichtungen umfassen beispielsweise einen Flash-Speicher 178, der gegen einen herkömmlichen elektrisch löschbaren programmierbaren Festwertspeicher (EEPROM) ausgetauscht werden kann, und eine Platte 182. Die Platte 182 kann eine Festplatte, eine optische Platte und/oder ein Diskettenlaufwerk sein. Zusätzliche Speichervorrichtungen können mit dem digitalen Kopierer/Drucker 24 über die Verbindung 180 verbunden sein. Der Flash-Speicher 178 wird verwendet, um Daten im halbstatischen Zustand zu speichern, die Parameter des digitalen Kopierers/Druckers 24 beschreiben, die sich über die Lebensdauer der Vorrichtung 24 selten ändern. Solche Parameter umfassen beispielsweise die Optionen und Konfiguration der digitalen Bilderzeugungsvorrichtung. Eine Optionsschnittstelle 184 ermöglicht, dass eine zusätzliche Hardware wie z. B. eine externe Schnittstelle mit dem digitalen Kopierer/Drucker 24 verbunden wird. Ein Takt/Zeitgeber 187 wird verwendet, um sowohl die Zeit als auch das Datum zu verfolgen und auch die abgelaufene Zeit zu messen.
  • 3 stellt auch die verschiedenen Abschnitte dar, die den digitalen Kopierer/Drucker 24 bilden. Das Bezugszeichen 202 bezeichnet einen Sortierer und enthält Sensoren und Stellglieder, die verwendet werden, um die Ausgabe des digitalen Kopierers/Druckers 24 zu sortieren. Ein Duplexer ermöglicht die Durchführung eines Duplexbetriebs. Der Duplexer 200 umfasst herkömmliche Sensoren und Stellglieder. Eine Tabletteinheit 198 mit großem Fassungsvermögen ist vorgesehen, um Papiertabletts, die eine große Anzahl von Blättern halten, zu gestatten. Wie bei dem Duplexer 200 umfasst die Tabletteinheit 198 ebenso herkömmliche Sensoren und Stellglieder.
  • Eine Papierzufuhr-Steuereinheit 196 wird verwendet, um den Vorgang des Zuführens von Papier in und durch die digitale Bilderzeugungsvorrichtung zu steuern. Ein Scanner 194 wird verwendet, um Bilder in die digitale Bilderzeugungsvorrichtung abzutasten und umfasst herkömmliche Abtastelemente wie z. B. ein Licht, einen Spiegel usw. Außerdem werden Scannersensoren verwendet, wie z. B. ein Ruhepositionssensor, um festzustellen, dass sich der Scanner in der Ruheposition befindet, und ein Lampenthermistor wird verwendet, um einen kor-rekten Betrieb der Abtastlampe sicherzustellen. Ein Drucker/eine Abbildungseinrichtung 192 druckt die Ausgabe der digitalen Bilderzeugungsvorrichtung und umfasst einen herkömmlichen Laserdruckmechanismus, einen Tonersensor und einen Bilddichtesensor. Der Fixierer 190 wird verwendet, um den Toner auf der Seite unter Verwendung einer Hochtemperaturwalze zu fixieren, und umfasst einen Austrittssensor, einen Thermistor, um sicherzustellen, dass sich der Fixierer 190 nicht überhitzt, und einen Ölsensor. Außerdem ist eine Schnittstelle 188 für optionale Einheiten vorhanden, die verwendet wird, um mit optionalen Elementen der digitalen Bilderzeugungsvorrichtung, wie z. B. einer automatischen Dokumenten-zufuhreinrichtung, einer anderen Art von Sortierer/Mischer oder anderen Elementen, die zur digitalen Bilderzeugungsvorrichtung hinzugefügt werden können, zu verbinden. Andere Elemente umfassen eine GPS-Einheit, die den Ort der Einrichtung identifizieren kann.
  • 4 stellt Details der Netzschnittstelle 166 mit mehreren Ports dar. Die digitale Bilderzeugungsvorrichtung kann mit externen Vorrichtungen über eine Token-Ring-Schnittstelle 220, eine Kabelmodemeinheit 22, die eine Hochgeschwindigkeitsverbindung über ein Kabel besitzt, eine herkömmliche Telephonschnittstelle 224, die mit einer Telephonleitung 168A verbindet, eine drahtlose Schnittstelle 228 oder einer Ethernet-Schnittstelle 230, die mit einem LAN 170 verbindet, kommunizieren. Andere Schnittstellen können umfassen, sind jedoch nicht begrenzt auf eine digitale Teilnehmerleitung (DSL) (ursprüngliche DSL, konzentrische DSL und asymmetrische DSL). Eine einzelne Einrichtung, die mit sowohl einem lokalen Netz als auch einer Telephonleitung verbindet, ist von Intel kommerziell erhältlich und ist als Intel Pro 10/100+ Modem bekannt.
  • Die CPU oder ein anderer Mikroprozessor oder eine andere Schaltungsanordnung führt einen Überwachungsprozess aus, um den Zustand von jedem der Sensoren der digitalen Bilderzeugungsvorrichtung zu überwachen, und ein Ablaufsteuerungsprozess wird verwendet, um die Befehle des Codes auszuführen, der zum Steuern und Betreiben der digitalen Bilderzeugungsvorrichtung verwendet wird. Außerdem wird (1) ein zentraler Systemsteuerprozess, um den gesamten Betrieb der digitalen Bilderzeugungsvorrichtung zu steuern, und (2) ein Kommunikationsprozess, um eine zuverlässige Kommunikation mit externen Vorrichtungen, die mit der digitalen Bilderzeugungsvorrichtung verbunden sind, sicherzustellen, ausgeführt. Der Systemsteuerprozess überwacht und steuert die Datenspeicherung in einem Speicher mit statischem Zustand (z. B. dem ROM 164 von 3), einem halbstatischen Speicher (z. B. dem Flash-Speicher 178 oder der Platte 182) oder dem Speicher mit dynamischem Zustand (z. B. einem flüchtigen oder nicht flüchtigen Speicher (z. B. dem RAM 162, dem Flash-Speicher 178 oder der Platte 182)). Außerdem kann der Speicher mit statischem Zustand eine andere Einrichtung als der ROM 164 sein, wie z. B. ein nicht flüchtiger Speicher mit entweder dem Flash-Speicher 178 oder der Platte 182.
  • Die obigen Details wurden in Bezug auf eine digitale Bilderzeugungsvorrichtung beschrieben, aber die vorliegende Erfindung ist gleichermaßen auf andere Geschäftsbürogeräte oder -einrichtungen, wie z. B. einen analogen Kopierer, ein Faxgerät, einen Scanner, einen Drucker, einen Faxserver, einen Projektor, eine Konferenzanlage, einen Aktenvernichter oder andere Geschäftsbüromaschinen, ein Geschäftsbürogerät, oder andere Geräte (z. B. einen Mikrowellenofen, einen VCR, eine DVD, eine Digitalkamera, ein Zellentelephon, einen Palmtop-Computer) anwendbar. Außerdem umfasst die vorliegende Erfindung andere Arten von Einrichtungen, die unter Verwendung einer Kommunikation auf Speicher- und Weiterleitungs- oder Direktverbindungs-Basis arbeiten. Solche Einrichtungen umfassen Zählsysteme (einschließlich Gas-, Wasser- oder Stromzählsysteme), Verkaufsautomaten oder eine beliebige mechanische Einrichtung (z. B. Kraftfahrzeuge, Waschmaschine, Trockner), die während des Betriebs oder der entfernten Diagnose überwacht werden müssen. Zusätzlich zur Überwachung von Spezialgeräten und -computern kann die Erfindung verwendet werden, um einen Universalcomputer, der die überwachte und/oder gesteuerte Einrichtung wäre, zu überwachen, steuern und diagnostizieren.
  • 5 stellt ein alternatives Systemdiagramm der vorliegenden Erfindung dar, in dem verschiedene Einrichtungen und Untersysteme mit dem WAN 10 verbunden sind. Es besteht jedoch keine Anforderung, dass jede dieser Einrichtungen oder jedes dieser Untersysteme ein Teil der Erfindung ist. Jede Komponente oder jedes Untersystem, die/das in 5 dargestellt ist, ist individuell ein Teil der Erfindung.
  • Ferner können die in 1 dargestellten Elemente mit dem WAN 10 verbunden sein, das in 5 dargestellt ist. In 5 ist eine Firewall 50-1 dargestellt, die mit einem Intranet 260-1 verbunden ist. Ein Dienstgerät 254, das mit dem Intranet 260-1 verbunden ist, umfasst darin Daten 256, die in einem Datenbankformat gespeichert sein können, oder ist mit diesen verbunden. Die Daten 256 umfassen eine Geschichte, Leistung, Funktionsstörung und beliebige andere Informationen, wie z. B. statistische Informationen des Betriebs oder Ausfalls oder der Einrichtung der überwachten Einrichtungen, oder Konfigurationsinformationen, wie z. B., welche Komponenten oder welche optionale Anlage in den überwachten Einrichtungen enthalten ist. Das Dienstgerät 254 kann als Einrichtung oder Computer implementiert werden, die/der die überwachten Einrichtungen auffordert, Daten zu übertragen, oder die/der anfordert, dass eine Fernsteuerung und/oder Diagnosetests an den überwachten Einrichtungen durchgeführt werden. Das Dienstgerät 254 kann als beliebige Art von Einrichtung implementiert werden und wird vorzugsweise unter Verwendung einer computerisierten Einrichtung wie z. B. eines Universalcomputers implementiert. Das Dienstgerät 254 kann auch aus mehreren Computern über das Netz mit verschiedenen Datenbanken bestehen, einschließlich Buchung, Abrechnung, Dienstbearbeitung, Teileverfolgung und Berichten.
  • Ein weiteres Untersystem von 5 umfasst eine Firewall 50-2, ein Intranet 260-2 und einen damit verbundenen Drucker 262. In diesem Untersystem werden die Funktionen des Sendens und Empfangens von elektronischen Nachrichten durch den Drucker 262 (und ebenso durch einen Kopierer 286) von (1) einer Schaltungsanordnung, (2) einem Mikroprozessor oder (3) irgendeiner anderen Art von Hardware, die innerhalb des Druckers 262 enthalten ist oder in diesem montiert ist (d. h. ohne Verwendung eines separaten Universalcomputers), durchgeführt.
  • Eine alternative Art von Untersystem umfasst die Verwendung eines Internet-Dienstanbieters 264, der eine beliebige Art von Internet-Dienstanbieter (ISP) sein kann, einschließlich bekannter kommerzieller Gesellschaften, wie z. B. America Online, Earthlink und Niftyserve. In diesem Untersystem ist ein Computer 266 mit dem ISP 264 über ein digitales oder analoges Modem (z. B. ein Telephonleitungsmodem, ein Kabelmodem, Modems, die eine beliebige Art von Drähten verwenden, z. B. Modems, die über eine asymmetrische digitale Teilnehmerleitung (ADSL) verwendet werden, Modems, die eine Rahmenwiederholungs-Kommunikation verwenden, drahtlose Modems, wie z. B. ein Hochfrequenzmodem, ein faseroptisches Modem oder eine Einrichtung, die Infrarotlichtwellen verwendet) verbunden. Ferner ist eine Geschäftsbüroeinrichtung 268 mit dem Computer 266 verbunden. Als Alternative zur Geschäftsbüroeinrichtung 268 (oder irgendeiner anderen in 5 dargestellten Einrichtung) kann eine andere Art von Maschine überwacht oder gesteuert werden, wie z. B. ein digitaler Kopierer, irgendeine Art von Gerät, ein Sicherheitssystem oder ein Versorgungszähler, wie z. B. ein Strom-, Wasser- oder Gasversorgungszähler, oder irgendein andere hierin erörterte Einrichtung.
  • In 5 ist auch eine Firewall 50-3 dargestellt, die mit einem Netz 274 verbunden ist. Das Netz 274 kann als eine beliebige Art von Computernetz (z. B. ein Ethernet- oder ein Token-Ring-Netz) implementiert werden. Eine Vernetzungssoftware, die verwendet werden kann, um das Netz zu steuern, umfasst eine beliebige gewünschte Vernetzungssoftware, einschließlich Software, die von Novell oder Microsoft kommerziell erhältlich ist. Das Netz 274 kann, falls erwünscht, als Intra-net implementiert werden. Ein Computer 272, der mit dem Netz 274 verbunden ist, kann verwendet werden, um Informationen von einer Geschäftsbüroeinrichtung 278 zu erhalten und Berichte zu erzeugen, wie z. B. Berichte, die Probleme zeigen, die in verschiedenen mit dem Netz verbundenen Maschinen aufgetreten sind, und einen monatlichen Verwendungsbericht der mit dem Netz 274 ver-bun-denen Einrichtungen. In dieser Ausführungsform ist ein Computer 276 zwi-schen die Geschäftsbüroeinrichtung 278 und das Netz 274 geschaltet. Dieser Computer empfängt Kommunikationen vom Netz und leitet die entsprechenden Befehle oder Daten oder beliebige andere Informationen zur Geschäftsbüroeinrichtung 278 weiter.
  • Die Kommunikation zwischen der Geschäftsbüroeinrichtung 278 und dem Computer 276 kann unter Verwendung von Drahtbasis- oder drahtlosen Verfahren durchgeführt werden, einschließlich, jedoch nicht begrenzt auf Hochfrequenzverbindungen, elektrische Verbindungen und Lichtverbindungen (z. B. eine Infrarotverbindung oder eine Faseroptikverbindung). Ebenso kann jedes der in 5 dargestellten verschiedenen Netze und Intranets unter Verwendung einer beliebigen gewünschten Art und Weise aufgebaut werden, einschließlich durch den Aufbau von drahtlosen Netzen wie z. B. Hochfrequenznetzen. Die hierin beschriebene drahtlose Kommunikation kann unter Verwendung von Streuspektrumverfahren aufgebaut werden, einschließlich Verfahren, die einen Streucode und Frequenzsprungverfahren, wie z. B. das drahtlose Frequenzsprungverfahren, das in der Bluetooth-Spezifikation offenbart ist (erhältlich auf der Site des World Wide Web www.bluetooth.com), verwenden.
  • Ein weiteres in 5 dargestelltes Untersystem umfasst eine Firewall 50-4, ein Intranet 260-4, einen damit verbundenen Computer 282, ein Geschäftsbürogerät 285 und einen Kopierer 286. Der Computer 282 kann verwendet werden, um Berichte zu erzeugen und Diagnose- oder Steuerprozeduren anzufordern. Diese Diagnose- und Steuerprozeduren können in Bezug auf das Geschäftsbürogerät 285 und den Kopierer 286 oder beliebige der dargestellten anderen Einrichtungen, die sich in 5 befinden oder in dieser verwendet werden, durchgeführt werden. Obwohl 5 eine Vielzahl von Firewalls darstellt, sind die Firewalls eine bevorzugte, aber optionale Ausrüstung und daher kann die Erfindung ohne die Verwendung von Firewalls betrieben werden, falls erwünscht. Für die Überwachung und Steuerung der vernetzten Anlage können beliebige Computer (266, 272 oder 282) anstelle von 254 verwendet werden. Außerdem kann irgendein Computer auf 254 zugreifen, um erforderliche Einrichtungsinformationen oder Verwendungsinformationen über das Web zurückzugewinnen.
  • 6A stellt eine Einrichtung/ein Gerät 300 dar, die/das mit einem typischen E-Mail-Austauschsystem verbunden ist, das die Komponenten 302, 304, 306, 308, 310, 312, 314, 316 und 318 umfasst, die in einer herkömmlichen Weise implementiert werden können und aus 28.1 von Stevens, oben, angepasst sind. Eine Computer-Schnittstelle 302 kommuniziert mit irgendeiner der hierin beschriebenen Anwendungseinheiten oder Einrichtungen/Geräte 300. Obwohl 6A darstellt, dass die Einrichtung/das Gerät 300 der Sender ist, können die Sende- und die Empfangsfunktion in 6A umgekehrt werden. Falls erwünscht, kann der Anwender ferner überhaupt nicht mit der Einrichtung/dem Gerät 300 kommunizieren müssen. Die Computer-Schnittstelle 302 wirkt dann mit einem Postagenten 304 zusammen. Populäre Postagenten für Unix umfassen MH, Berkeley Mail, Elm und Mush. Postagenten für die Windows-Familie von Betriebssystemen umfassen Microsoft Outlook und Microsoft Outlook Express. Auf die Anforderung der Computer-Schnittstelle 302 erzeugt der Postagent zu sendende E-Mail-Nachrichten und reiht diese zu sendenden Nachrichten, falls erwünscht, in eine Warteschlange 306 ein. Die zu sendende Post wird zu einem Nachrichtenübertragungsagenten (MTA) 308 weitergeleitet. Ein üblicher MTA für Unix-Systeme ist Sendmail. Typischerweise tauschen die Nachrichtenübertragungsagenten 308 und 312 Kommunikationen unter Verwendung einer TCP/IP-Verbindung 310 aus. Die Kommunikation zwischen den Nachrichtenübertragungsagenten 308 und 312 kann bemerkenswerterweise über ein Netz mit beliebiger Größe (z. B. WAN oder LAN) stattfinden. Ferner können die Nachrichtenübertragungsagenten 308 und 312 ein beliebiges Kommunikationsprotokoll verwenden. In einer Ausführungsform der vorliegenden Erfindung befinden sich die Elemente 302 und 304 von 6A in der Bibliothek, um die Verwendung der Anwendungseinheit zu überwachen.
  • Vom Nachrichtenübertragungsagenten 312 werden E-Mail-Nachrichten in Anwenderbriefkästen 314 gespeichert, die zum Postagenten 316 übertragen und schließlich an den Anwender an einem Endgerät 318 übertragen werden, welches als empfangendes Endgerät fungiert.
  • Dieser "Speicher-und-Weiterleitungs"-Prozess entlastet den sendenden Postagenten 304 davon, dass er warten muss, bis eine direkte Verbindung mit dem Postempfänger hergestellt ist. Aufgrund von Netzverzögerungen könnte die Kommunikation eine beträchtliche Menge an Zeit erfordern, während der die Anwendung nicht antworten würde. Solche Verzögerungen des Ansprechvermögens können für Anwender der Anwendungseinheit im Allgemeinen unannehmbar sein. Unter Verwendung von E-Mail als Speicher- und Weiterleitungsprozess finden Neuübertragungsversuche nach Ausfällen automatisch für eine feste Zeitdauer (z. B. drei Tage) statt. In einer alternativen Ausführungsform kann die Anwendung es vermeiden zu warten, indem sie Kommunikationsanforderungen zu einem oder mehreren separaten Threads weiterleitet. Diese Threads können dann die Kommunikation mit dem empfangenden Endgerät 318 steuern, während die Anwendung beginnt, wieder auf die Anwenderschnittstelle zu antworten. In noch einer weiteren Ausführungsform, in der ein Anwender will, dass eine Kommunikation beendet wird, bevor er fortfährt, wird eine direkte Kommunikation mit dem empfangenden Endgerät verwendet. Eine solche direkte Kommunikation kann ein beliebiges Protokoll verwenden, das nicht durch eine Firewall zwischen dem sendenden und dem empfangenden Endgerät blockiert wird. Beispiele solcher Protokolle umfassen Telnet, File Transfer Protocol (FTP) und Hyper Text Transfer Protocol (HTTP).
  • Öffentliche WANs wie z. B. das Internet werden im Allgemeinen nicht als sicher betrachtet. Wenn es erwünscht ist, Nachrichten geheim zu halten, können Nachrichten, die über die öffentlichen WANs (und private WANs mehrerer Firmen) übertragen werden, daher verschlüsselt werden. Verschlüsselungsmechanismen sind bekannt und kommerziell erhältlich und können bei der vorliegenden Erfindung verwendet werden. Eine C++-Bibliotheksfunktion crypt() steht beispielsweise von Sun Microsystems zur Verwendung beim Unix-Betriebssystem zur Verfügung. Verschlüsselungs- und Entschlüsselungs-Softwarepakete sind bekannt und kommerziell erhältlich und können auch bei dieser Erfindung verwendet werden. Ein solches Paket ist PGP, das von PGP Corporation erhältlich ist.
  • Als Alternative zur allgemeinen Struktur von 6A kann ein einzelner Computer, der als Computer-Schnittstelle 302, als Postagent 304, als Post-Warteschlange 306 und als Nachrichtenübertragungsagent 308 fungiert, verwendet werden. Wie in 6B dargestellt, ist die Einrichtung/das Gerät 300 mit einem Computer 301 verbunden, der den Nachrichtenübertragungsagenten 308 umfasst.
  • Eine weitere alternative Struktur ist in 6C gezeigt, in der der Nachrichtenübertragungsagent 308 als Teil der Einrichtung/des Geräts 300 ausgebildet ist. Ferner ist der Nachrichtenübertragungsagent 308 mit dem Nachrichtenübertragungsagenten 312 durch eine TCP/IP-Verbindung 310 verbunden. In der Ausführungsform von 6C ist die Einrichtung/das Gerät 300 direkt mit der TCP/IP-Verbindung 310 mit E-Mail-Fähigkeit verbunden. Eine Verwendung der Ausführungsform von 6C umfasst die Verwendung eines Faxgeräts mit E-Mail-Fähigkeit (z. B. wie in RFC 2305 (eine einfache Betriebsart eines Faxgeräts unter Verwendung von Internet-Post) definiert) als Einrichtung/Gerät 300.
  • 6D stellt ein System dar, in dem eine Einrichtung/ein Gerät 300 selbst nicht die Fähigkeit hat, E-Mail direkt zu empfangen, sondern eine Verbindung 310 mit einem Postserver/POP3-Server mit einem Nachrichtenübertragungsagenten 308 und einem Briefkasten 314 hat, so dass die Einrichtung/das Gerät 300 das POP3-Protokoll verwendet, um empfangene Post vom Postserver zurückzugewinnen.
  • 7 stellt eine alternative Implementierung zur Übertragung von Post dar und ist aus 28.3 von Stevens, auf das vorher Bezug genommen wurde, angepasst. 7 stellt ein elektronisches Postsystem mit einem Weiterleitungssystem an jedem Ende dar. Die Anordnung von 7 ermöglicht, dass ein System bei einer Organisation als Post-Hub wirkt. In 7 sind vier MTAs zwischen die zwei Postagenten 304 und 316 geschaltet. Diese MTAs umfassen einen lokalen MTA 322A, einen Weiterleitungs-MTA 328A, einen Weiterleitungs-MTA 328B und einen lokalen MTA 322D. Das üblichste Protokoll, das für Postnachrichten verwendet wird, ist SMTP (Simple Mail Transfer Protocol), das bei dieser Erfindung verwendet werden kann, obwohl ein beliebiges gewünschtes Postprotokoll verwendet werden kann. In 7 bezeichnet 320 einen sendenden Hauptrechner, der die Computer-Schnittstelle 302, den Postagenten 304 und den lokalen MTA 322A umfasst. Die Einrichtung/das Gerät 300 ist mit dem sendenden Hauptrechner 320 verbunden oder alternativ in diesem enthalten. Als weiterer Fall können die Einrichtung/das Gerät 300 und der Hauptrechner 320 in einer Maschine sein, wobei die Hauptrechnerfähigkeit in die Einrichtung/das Gerät 300 eingebaut ist. Andere lokale MTAs 322B, 322C, 322E und 322E können auch enthalten sein. Zu sendende und zu empfangende Post kann in eine Warteschlange von Post 306B des Weiterleitungs-MTA 328A eingereiht werden. Die Nachrichten werden über die TCP/IP-Verbindung 310 (z. B. eine Internet-Verbindung oder eine Verbindung über irgendeine andere Art von Netz) übertragen.
  • Die übertragenen Nachrichten werden vom Weiterleitungs-MTA 328B empfangen und, falls erwünscht, in einer Warteschlange von Post 306C gespeichert. Die Post wird dann zum lokalen MTA 322D eines empfangenden Hauptrechners 342 weitergeleitet. Die Post kann in einem oder mehreren der Anwenderbriefkästen 314 abgelegt und anschließend zum Postagenten 316 weitergeleitet werden und schließlich zu einem Anwender an einem Endgerät 318 weitergeleitet werden. Falls erwünscht, kann die Post ohne Anwendereingriff direkt zum Endgerät weitergeleitet werden.
  • Die in der vorliegenden Erfindung verwendeten verschiedenen Computer, einschließlich der Computer 266 und 276 von 5, können wie in 8 dargestellt implementiert werden. Ferner kann irgendein anderer Computer, der in dieser Erfindung verwendet wird, in einer ähnlichen Weise zu dem in 8 dargestellten Computer implementiert werden, falls erwünscht, einschließlich des Dienstgeräts 254, des Computers 272 und des Computers 282 von 5. Nicht jedes in 8 dargestellte Element ist jedoch in jedem von diesen Computern erforderlich.
  • In 8 umfasst der Computer 360 eine CPU 362, die als beliebige Art von Prozessor implementiert werden kann, einschließlich kommerziell erhältlicher Mikroprozessoren von Firmen wie z. B. Intel, AMD, Motorola, Hitachi und NEC. Es ist ein Arbeitsspeicher wie z. B. ein RAM 364 und eine drahtlose Schnittstelle 366, die mit einer drahtlosen Einrichtung 368 kommuniziert, vorhanden. Die Kommunikation zwischen der Schnittstelle 366 und der Einrichtung 368 kann ein beliebiges drahtloses Medium (z. B. Funkwellen oder Lichtwellen) sein. Die Funkwellen können unter Verwendung eines Streuspektrumverfahrens, wie z. B. Codemultiplex zugriff-Kommunikation (CDMA-Kommunikation) oder unter Verwendung eines Frequenzsprungverfahrens, wie z. B. des in der Bluetooth-Spezifikation offenbarten, implementiert werden.
  • Der Computer 360 umfasst einen ROM 370 und einen Flash-Speicher 371, obwohl eine beliebige andere Art von nicht flüchtigem Speicher (z. B. ein löschbarer programmierbarer ROM oder ein EEPROM) zusätzlich zu oder anstelle des Flash-Speichers 371 verwendet werden kann. Mit einer Eingabesteuereinheit 372 sind eine Tastatur 374 und eine Maus 376 verbunden. Eine serielle Schnittstelle 378 ist mit einer seriellen Einrichtung 380 verbunden. Außerdem ist eine parallele Schnittstelle 382 mit einer parallelen Einrichtung 384 verbunden, eine Schnittstelle 386 des universellen seriellen Busses (USB) ist mit einer Einrichtung 388 des universellen seriellen Busses verbunden und eine IEEE 1398 Einrichtung 400, die üblicherweise als FireWire-Einrichtung bezeichnet wird, ist mit einer IEEE 1394 Schnittstelle 398 verbunden. Ein Systembus 390 verbindet die verschiedenen Elemente des Computers 360. Eine Plattensteuereinheit 396 ist mit einem Diskettenlaufwerk 394 und einem Festplattenlaufwerk 392 verbunden. Eine Kommunikationssteuereinheit 406 ermöglicht, dass der Computer 360 mit anderen Computern (z. B. durch Senden von E-Mail-Nachrichten) über ein Netz 404 kommuniziert. Eine E/A-Steuereinheit (Eingabe/Ausgabe-Steuereinheit) 408 ist mit einem Drucker 410 und einer Festplatte 412, beispielsweise unter Verwendung eines SCSI-Busses (Small Computer System Interface Bus), verbunden. Auch eine Anzeigesteuereinheit 416 ist mit einer CRT (Katodenstrahlröhre) 414 verbunden, obwohl eine andere Art von Anzeige verwendet werden kann, einschließlich einer Flüssigkristallanzeige, einer Leuchtdiodenanzeige, einer Plasmaanzeige usw.
  • Mit Bezug nun auf 9 ist eine schematische Darstellung des gesamten Systems 900 gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung gezeigt. Es ist gezeigt, dass das System 900 eine Vielzahl von Einrichtungen umfasst, beispielsweise einen Laserdrucker 908, einen Scanner 910, eine Netzeinrichtung 912 und einen Multifunktionsdrucker 914, die alle mit einem Netz 100 verbunden sind. Diese Vielzahl von Einrichtungen sind im Allgemeinen hierin als "überwachte Einrichtungen" bezeichnet. Das System 900 umfasst auch einen Arbeitsplatzrechner/ein Überwachungssystem 902 (nachstehend als Steuereinheit 902 bezeichnet), der/das mit dem Netz 100 verbunden ist, um die überwachten Einrichtungen 908, 910, 912 und 914 zu überwachen und zu steuern. Jeder der überwachten Einrichtungen 908, 910, 912 und 914 ist eine eindeutige Adresse gegeben. Eine IP-Adresse, die einer Einrichtung zugewiesen ist, dient beispielsweise als eindeutige Adresse für die Einrichtung. Folglich kann ein Anwender an der Steuereinheit 902 auf eine jeweilige Einrichtung unter den überwachten Einrichtungen 908914 durch Zugreifen auf die eindeutige IP-Adresse, die der jeweiligen überwachten Einrichtung zugewiesen ist, zugreifen. Es ist zu erkennen, dass die vorliegende Erfindung nicht auf die Verwendung von IP-Adressen, um mit einem Netz verbundene Einrichtungen eindeutig zu identifizieren, begrenzt ist.
  • Die Steuereinheit 902 erhält beim Zugreifen auf eine Einrichtung unter den überwachten Einrichtungen 908914 verschiedene Informationen über SNMP- und/oder HTTP-Protokolle. Solche Informationen umfassen detaillierte Informationen über den Betriebszustand der Einrichtung, einschließlich Problembehandlungsinformationen. Die Steuereinheit 902 greift beispielsweise auf die Staustelle einer speziellen Einrichtung zu und erhält diese und sendet eine Nachricht an die Person, die für die Einrichtung verantwortlich ist, um den Stau zu beseitigen. Der Betriebszustand/Details des Laserdruckers 908 umfassen solche Details wie Tonerniveau, Angabe eines Papierstaus, Menge an Druckpapier in den Druckertabletts usw.
  • Es ist zu erkennen, dass die Steuereinheit 902 entweder physikalisch mit dem Netz 100 verbunden oder drahtlos mit diesem gekoppelt sein kann. Ein persönlicher digitaler Assistent (PDA) 920 oder ein Laptop-Computer 922, die als drahtlos mit dem Netz 100 gekoppelt gezeigt sind, kann beispielsweise auch als Steuereinheit 902 verwendet werden. Ein Zugriffspunkt 924 wirkt als Schnittstelle, um drahtlose Kommunikationen zwischen dem Netz 100 und dem PDA 922 oder Laptop-Computer 922 zu ermöglichen. Von nun an wird die vorliegende Erfindung unter der Annahme beschrieben, dass die Steuereinheit 902 den Zustand der mit dem Netz verbundenen überwachten Einrichtungen steuert und überwacht.
  • Das Netz 100 erleichtert die Kommunikation zwischen der Steuereinheit 902 und den überwachten Einrichtungen 908914, um die Überwachung und Steuerung von solchen überwachten Einrichtungen zu ermöglichen. Die Anzahl von Einrichtungen, die mit dem Netz verbunden sind, ist keine Begrenzung der vorliegenden Erfindung. Es ist zu erkennen, dass das Netz 100 ein lokales Netz (LAN) oder ein weiträumiges Netz (WAN) sein kann. Ebenso sind die überwachten Einrichtungen 908, 910, 912 und 914 lediglich als beispielhaft gezeigt.
  • Die Steuereinheit 902 ist mit einer Speichervorrichtung 904 und einer Datenbank 905 kommunikativ gekoppelt. Die Speichervorrichtung 904 umfasst eine Festplatte, eine optische Platte und/oder ein externes Plattenlaufwerk. Die Datenbank 906 ist mit der Speichervorrichtung 904 kommunikativ verbunden und umfasst ein relationales Datenbank-Managementsystem (RDBMS) für eine leichte Suche und Zurückgewinnung von Daten, die in der Speichervorrichtung 904 gespeichert sind. Die Speichervorrichtung 904 speichert vorzugsweise detaillierte Informationen über jede der überwachten Einrichtungen 908914. Detaillierte Informationen, wie z. B. der Hersteller, das Modell und verschiedene Funktionen und Problembehandlungsdetails des Laserdruckers 908, sind beispielsweise in der Speichervorrichtung 904 gespeichert. Abweichungswerte über den Betriebszustand des Laserdruckers im Vergleich zu vorbestimmten Bezugswerten können auch in der Speichervorrichtung 904 gespeichert sein. Obwohl die Datenbank 906 und die Speichervorrichtung 904 als kommunikativ mit der Steuereinheit 902 gekoppelt beschrieben sind, ist zu erkennen, dass die Steuereinheit 902 mit der Speichervorrichtung gebaut sein kann und die Datenbank darin installiert sein kann. In einem solchen Fall würden die Speichervorrichtung 906 und die Datenbank 904 als innerhalb der Steuereinheit 902 dargestellt werden.
  • Die Steuereinheit 902 ist mit Software installiert, um die Überwachung und Steuerung der Vielzahl von Einrichtungen 908914 zu erleichtern. Ein Simple Network Management Protocol (SNMP), File Transfer Protocol (FTP) und Hyper Text Transfer Protocol (HTTP) werden von der Steuereinheit 902 für die Überwachung der Vielzahl von Einrichtungen 908914 verwendet und die von der Vielzahl von Einrichtungen 908914 empfangenen Daten werden in Form des ASN.1 Binärformats oder von HTML- oder XML-Formaten präsentiert, wie in 950 gezeigt.
  • Obwohl 9 nur die Abbildungseinrichtungen darstellt, kann das Netzwerk zur Kommunikation von Informationen zwischen der Überwachungseinrichtung und der Vielzahl von überwachten Einrichtungen das Heimnetz umfassen, bei dem die Geräte und Zähler mit dem Netz verbunden sind. Es ist zu erkennen, dass durch die Steuereinheit/den Arbeitsplatzrechner 902 gesammelte Daten über E-Mail, FTP oder irgendein anderes Kommunikationsprotokollmittel zu einer entfernten Einrichtung zur Weiterverarbeitung gesandt werden können.
  • Überwachung der Systemarchitektur
  • 10 stellt ein Überwachungssystem 1000 (und zugehörige Schnittstellenfunktionen) dar, das bei der Überwachung von Daten, die entfernten Einrichtungen zugeordnet sind, gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung verwendet wird. Das Überwachungssystem 1000 umfasst das Softwaremodul MonitorService 1004, das ein sich im Computer befindendes Programm ist, wie z. B. Service in NT oder Windows 2000 und Daemon in Unix. In einer bevorzugten Ausführungsform wird das Überwachungssystem unter Verwendung einer objektorientierten Softwareumgebung implementiert. Im Überwachungssystem 1000 sind auch ein Zeitgebermodul 1002 und ein Monitor-Modul 1006 enthalten. Das Zeitgebermodul 1002 und das Monitor-Modul 1006 sind Bibliothekfunktionen, die vom MonitorService-Modul 1004 aufgerufen werden. MonitorService 1004 initialisiert beispielsweise das Zeitgebermodul 1002 durch Aufrufen der Funktion Init-Timer 1003 und erhält Verzögerungs- und Aktionsparameter durch Aufrufen der Funktion obtainDelayAndAction (int &, int &). Die Funktion init() wird auch vom MonitorService-Modul 1004 aufgerufen, um verschiedene Module im Monitor-Modul 1006 zu initialisieren, wie in 13 dargestellt. Die Funktion init() kann verwendet werden, um die IP-Adresse und einen Parameterwert, die einer überwachten Einrichtung zugewiesen sind, über eine externe Quelle zu erhalten, die IP-Adressen, Parameternamen und Werte enthält, die durch bekannte Verfahren gesammelt werden. Das Monitor-Modul 1006 ist mit einer Unterstützungsdatenbank 1024 und mit einer Monitor-Datenbank 1014 kommunikativ gekoppelt, die nachstehend genauer beschrieben werden.
  • Sobald die IP-Adresse einer überwachten Einrichtung erhalten ist, wird die IP-Adresse vom Überwachungssystem verwendet, um die überwachte Einrichtung zu kontaktieren, um Informationen wie z. B. Hersteller (Verkäufer) und Modellinformationen zu erhalten. Einige der vom Überwachungssystem 1000 ausgeführten Funktionen umfassen:
  • void initTimer(void)
  • Diese Funktion initialisiert den Zeitgeber. Insbesondere löst diese Funktion das Zeitgeber-Objekt aus, um die Zeitablaufinformationen von der Registrierdatenbank zu erhalten.
  • void obtainDelayAndAction(int & out_nDelay, int & out_nAction)
  • Diese Funktion führt die Verzögerungszeit in Sekunden für die Funktion::Sleep (muss mit 1000 multipliziert werden) und den Aktionsindikator zurück. Der Aktionsindikator ist folgendermaßen definiert: 0 = Ereignisprüfung; 1 = Senden der überwachten Daten; und 2 = Überwachen und Speichern der Daten in der lokalen Datenbank.
  • int init(void)
  • Diese Funktion initialisiert die Überwachungseinrichtung Außerdem erzeugt sie die zu überwachenden Einrichtungen. Die Rückführung int ist der Fehlercode, in dem Null als kein Fehler definiert ist.
  • int monitorStatus(int in_nAction)
  • Diese Funktion überwacht die vorgegebenen Informationen. Die Rückführung int ist der Fehlercode, in dem Null als kein Fehler definiert ist.
  • int end(void)
  • Diese Funktion bereinigt die Überwachungseinrichtung, bevor die Objekte geschlossen werden. Die Rückführung int ist der Fehlercode, in dem Null als kein Fehler definiert ist.
  • Monitor-Modul
  • 11 zeigt die Strukturdetails des Monitor-Moduls 1006, einschließlich der verschiedenen Software-Untermodule, und die Aufruffunktionen zwischen den Untermodulen des Monitor-Moduls 1006. Das Monitor-Modul 1006 umfasst ein gemeinsames Modul 1102, das die anderen Untermodule (einschließlich des DeviceODBC-Moduls 1104, des Device-Moduls 1110 und des HWaccess-Moduls 1116) managt, um die von den Schnittstellenfunktionen definierten Aufgaben zu vollenden, wie in 10 dargestellt. Insbesondere wird auf das DeviceODBC-Modul 1104 zugegriffen, um auf externe Einrichtungsinformationen über die Standardschnittstelle zuzugreifen. Das HWaccess-Modul 1116 erhält Verkäufer-, Modell-, eindeutige ID- und Statusinformationen von den überwachten Einrichtungen unter Verwendung eines ausgewählten Kommunikationsprotokolls aus einer Vielzahl von Kommunikationsprotokollen (z. B. HTTP, SNMP und FTP). Jedes der Überwachungssoftware-Module wird nachstehend genauer beschrieben.
  • Das Folgende ist eine teilweise Auflistung und Beschreibung der Schnittstellen zwischen den vorstehend erörterten Monitor-Modulen. Einige Module können beispielsweise "init"-Funktionen oder zusätzliche Funktionen besitzen müssen, um die Informationen in zweckmäßigen Formaten zu erhalten.
  • void updateConfig(std::map<infoType, std::string> &)
  • Bevor diese Funktion aufgerufen wird, ist es bevorzugt, dass die Aufruffunktion nicht die Verkäufer- und Modelleinträge ersetzt, wenn Erhaltungsfunktionen einen Null-String zurückführen. Diese Funktion aktualisiert die Einrichtungsinformationsdatenbank des aktuellen Datensatzes in DeviceODBC 1104. Diese Funktion ist am effizientesten, wenn das nachstehende ObtainConfig anfänglich aufgerufen wird. Zuerst prüft diese Funktion, ob die IP-Adresse an DeviceODBC 1104 dieselbe ist. Wenn die IP-Adressenfelder nicht gleich sind, wird der Datensatz mit der korrekten IP-Adresse von der Datenbank erhalten. Dann werden die anderen Felder kopiert und der Datensatz wird aktualisiert.
  • Bool obtainConfig(std::map<infoType, std::string> &, std::map<std::string, std::vector<SParameter>> &)
  • Diese Funktion erhält die Abbildung von DeviceODBC 1104 für die Einrichtungsinformationen im gegebenen Format und die Abbildung von Protokollen und zugehörigen Parametern. Die Funktion gibt Wahr zurück, wenn Daten zurückgeführt werden, Falsch, wenn keine weiteren Daten vorhanden sind.
  • Bool saveStatus(std::map<infoType, std::string> &)
  • Diese Funktion speichert die Statusinformationen in DeviceODBC 1104. Die Funktion führt Wahr, wenn das Speichern erfolgreich ist, ansonsten Falsch zurück.
  • CDevice* createDevice(const std::string & in_sIP, CHWaccess & in_HWaccess, std::map<std::string, std::vector<SParameter>> & in_ProtocolParameters)
  • Diese Funktion erzeugt die Einrichtung auf der Basis von in_sIP und in_ProtocolParameters. Die erzeugte Einrichtung wird durch CHWaccess mit der Hardware verbunden. Wenn die Einrichtung nicht erzeugt werden kann, führt die Funktion 0 zurück. Daher sollte das aufrufende Objekt prüfen, ob der Zeiger des zurückführenden Objekts 0 ist oder nicht.
  • bool canAccessHW(void)
  • Diese Funktion führt Wahr, wenn auf die Hardware über das Netz zugegriffen werden kann, ansonsten Falsch zurück.
  • bool getVendor(std::string & out_sVendor)
  • Diese Funktion führt den Verkäufernamen zurück. Wenn die Einrichtung nicht vom System unterstützt wird, aber auf diese durch eines der Protokolle zugegriffen werden kann, soll der String "GENERIC" enthalten. Wenn der Fehler in dem Prozess erfasst wird, führt die Funktion Falsch mit einem Null-String zurück. Ansonsten führt die Funktion Wahr zurück.
  • bool getModel(std::string & out_sModel)
  • Diese Funktion erhält das Modell der Einrichtung. Wenn das Modell erhalten wird, führt die Funktion Wahr zurück. Wenn der Fehler in dem Prozess erfasst wird, führt die Funktion Falsch mit einem Null-String zurück.
  • bool getUniqueID(std::string & out_sUniqueID)
  • Diese Funktion führt die eindeutige ID der Einrichtung zurück. Wenn die eindeutige ID erhalten wird, führt die Funktion Wahr zurück. Wenn der Fehler in dem Prozess erfasst wird, führt die Funktion Falsch mit einem Null-String zurück.
  • bool obtainStatus(map<infoType, std::string> & out_StatusMap)
  • Diese Funktion führt die Statusabbildung zurück. Die Funktion führt Wahr zurück, wenn der Status zurückgeführt wird, Falsch, wenn der Status nicht erhalten werden konnte. Es ist zu beachten, dass diese Funktion die verschiedenen Abbildungen von HWaccess und von den Device-Modulen zurückführt. Im Device-Modul werden Ereignisstatusinformationen zu der von HWaccess zurückgeführten Abbildung hinzugefügt und gelöscht.
  • enum checkEventStatus(void)
  • Diese Funktion löst das Erhalten des Ereignisses der Netzeinrichtung aus. Der enum-Typ und die Werte sollten in den Klassen definiert sein. Die enum-Werte sollten die Werte eNoEventSinceClearAndNoEventDetected, eNoEventSinceClearAndEventDetected, eEventSinceClearAndNoEventDetected, eEventSinceClearAndEventDetected umfassen.
  • bool obtainEventStatus(std::map<infoType, std:: string> & out_EventStatusMap)
  • Diese Funktion erhält Ereignisstatusinformationen. Die Funktion führt Wahr, wenn der Status zurückgeführt wird, Falsch, wenn der Status nicht erhalten werden konnte, zurück.
  • void clearEventStatus(void)
  • Diese Funktion löscht den Ereignisstatus, der seit dem letzten obtainStatus-Funktionsaufruf oder clearEventStatus angesammelt wurde.
  • void initBegin(void)
  • Diese Funktion startet den Initialisierungsprozess durch HWaccess, insbesondere um die Software-Einrichtungsobjekte zu erzeugen.
  • void initEnd(void)
  • Diese Funktion beendet den Initialisierungsprozess durch HWaccess, was bedeutet, dass die Einrichtungsobjekterzeugung beendet ist.
  • bool canAccessIP (const std::string & in_sIP, std::map<std::string, std::vector<SParameter>> & in_ProtocolParameters)
  • Diese Funktion führt Wahr, wenn auf die Einrichtung an der IP-Adresse zugegriffen werden kann, ansonsten Falsch zurück.
  • bool obtainVendor(std::string & out_sVendor, std::map<std::string, std::vector<SParameter>> & inOut_ProtocolParameters, const std::string & in_ sIP)
  • Diese Funktion erhält den Verkäufer. Die Funktion führt Wahr zurück, wenn die Operation erfolgreich ist, ansonsten Falsch mit dem leeren String. Während dieses Funktionsaufrufs werden die Protokolle untersucht, und wenn ein spezielles Protokoll nicht für die Statusüberwachung verwendet werden kann, soll das Protokoll aus den inOut_ProtocolParameters gelöscht werden.
  • bool obtainModel(std::string & out_sModelName, std::map<std::string, std::vector<SPararneter>> & inOut_ProtocolParameters, const std::string & in_sIP)
  • Diese Funktion erhält den Modellnamen. Die Funktion führt Wahr, wenn die Operation erfolgreich ist, ansonsten Falsch mit dem leeren String zurück. Wäh rend dieses Funktionsaufrufs werden die Protokolle untersucht, und wenn ein spezielles Protokoll nicht für die Statusüberwachung verwendet werden kann, soll das Protokoll aus den inOut_ProtocolParameters gelöscht werden.
  • bool obtainUniqueID(std::string & out_sUniqueID, std::map<std::string, std::vector<SParameter>> & inOut_ProtocolParameters, const std::string & in_sIP)
  • Diese Funktion erhält die eindeutige ID. Die Funktion führt wahr, wenn die Operation erfolgreich ist, ansonsten Falsch mit dem leeren String zurück. Während dieses Funktionsaufrufs werden die Protokolle untersucht, und wenn ein spezielles Protokoll nicht für die Statusüberwachung verwendet werden kann, soll das Protokoll aus den inOut_ProtocolParameters gelöscht werden.
  • ErrorCode obtainEventStatus(std::map<infoType, std::string> & out_StatusMap, const std::string & in_sIP, std::map<std::string, std::vector<SParameter>> & in_ProtocolParameters)
  • Diese Funktion erhält den Ereignisstatus. Der ErrorCode ist nachstehend definiert.
  • bool obtainStatus(std::map<infoType, std::string> & out_StatusMap, const std::string & in_sIP, const std::string & in_sVendor, const std::string & in_sModel, std::map<std::string, std::vector<SParameter>> & in_ProtocolParameters)
  • Diese Funktion erhält den Status der Einrichtung. Die Funktion führt Wahr, wenn die Operation erfolgreich ist, ansonsten Falsch mit der leeren Abbildung zurück.
  • 12 zeigt die Datenstruktur, die vom HWaccess-Modul 1116 verwendet wird, wie in 11 dargestellt, um Informationen zum Zurückgewinnen von Werten, die Schlüsselwerten zugeordnet sind, die vom HWaccess-Modul 1116 empfangen werden, auszutauschen. Die SKeyValueInfo-Datenstruktur, wie in 12 gezeigt, wird beispielsweise verwendet, um festzustellen, wie Informationen, die einem speziellen Informationstyp entsprechen (entsprechend m_infoType 1202) innerhalb einer gegebenen Web-Seite zu erhalten sind. Typischerweise verwenden eine Vielzahl von Verkäufern verkäuferspezifische Identifizierer und eine Nomenklatur, um Schlüsselinformationen, die auf ihren jeweiligen Web-Seiten angezeigt werden, in Bezug auf eine überwachte Einrichtung zu identifizieren. Um beispielsweise die Anzahl von Seiten, die von einer Druckereinrichtung gedruckt werden, zu bestimmen, verwendet Hewlett Packard das Merkmal "Page Count" (Seiten zahl), während Xerox dieselbe unter Verwendung eines Merkmals "Total Sheet Delivered" (gesamte gelieferte Blätter) identifiziert. Ein Merkmal der vorliegenden Erfindung besteht darin, die Varianzen von Verkäufer zu Verkäufer zu überwinden und dadurch ein standardisiertes und einheitliches Verfahren zum Identifizieren von einrichtungsspezifischen Informationen zu schaffen und den Wert, der den Informationen entspricht, unter Verwendung einer Datenstruktur/sKeyValueInfo-Struktur 1200 zu extrahieren. Die SKeyValueInfo-Datenstruktur 1200 umfasst Attribute, die öffentlich sind.
  • SKeyValueInfo ist typischerweise eine Datenstruktur, die erzeugt wird, um Wertinformationen von Informationen zu identifizieren, die von einer überwachten Einrichtung in Form eines Datenstrings oder eines Schlüsselstrings empfangen werden. SKeyValueInfo umfasst eine Vielzahl von Feldern, wobei jedes Feld durch in 12 dargestellte Informationen dargestellt wird. Die SKeyValueInfo-Struktur 1200 umfasst ein Feld 1204 m_sKey, das einen String-Schlüssel darstellt, ein Feld 1206 m_nPosition, das vorzugsweise ein Wert auf Tag-Basis ist, der die Anzahl von Positionen im String angibt, in denen Werteinformationen angeordnet sein könnten, und ein Feld 1212 m_nlnLinePosition. Page Count einer Druckereinrichtung, der einer Überwachung unterliegt, kann beispielsweise in einer zweiten Position, gefolgt von einem Schlüsselwort, gefunden werden. m_sType 1208 stellt den Informationstyp dar, der von einer angezeigten Web-Seite einer überwachten Einrichtung zurückgewonnen werden kann.
  • Wenn der Wert, wie beispielsweise Modellname der überwachten Einrichtung, innerhalb derselben Datenzeile des Schlüssels (Produktname) gefunden wird, ist das Feld m_nPosition "0". m_sDelimiter 1210 gibt einen speziellen Begrenzer an, der verwendet wird, um den dem Schlüssel zugeordneten Wert zu extrahieren. Die SKeyValueInfo-Datenstruktur gibt an, wie die Wertinformationen aus Informationen, die von einer überwachten Einrichtung in einem HTML-Format empfangen werden, zu extrahieren sind.
  • 13 zeigt die Sequenz der Funktion init(), um die Aufrufsequenz des Monitor-Moduls 1006 zu beschreiben, wie in 10 dargestellt. Der MonitorManager 1102 initialisiert das HWaccess-Modul 1116, um die Initialisierungsfunktion zu starten. Anschließend erhält der MonitorManager 1102 Informationen über eine überwachte Einrichtung und verwendet eine der überwachten Einrichtung zugewiesene IP-Adresse, um mit der überwachten Einrichtung zu kommunizieren. Der Monitor- Manager 1102 greift auf Device ODBC 1104 zu, um Konfigurationsinformationen der überwachten Einrichtung zu erhalten. Die zum MonitorManager 1102 zurückgeführten Konfigurationsinformationen umfassen beispielsweise eine IP-Adresse der überwachten Einrichtung, Parameternamen und die zugehörigen Werte für jedes Protokoll und den Verkäufer/Hersteller und Modellinformationen der überwachten Einrichtung. Sobald die IP-Adresse erhalten ist, legt der MonitorManager 1102 die IP-Adresse, die Parameternamen und zugehörigen Werte für jedes Protokoll fest, um ein Softwareobjekt auf der Basis einer Klassenstruktur des Device-Moduls 1110 durch die CDeviceFactory-Klasse 2001 zu erzeugen. Wenn das Einrichtungssoftwareobjekt erfolgreich erzeugt ist, wird das HWaccess-Modul 1116 verwendet, um den Verkäufer, das Modell und die eindeutige ID von der überwachten Einrichtung zu erhalten, die im erzeugten Einrichtungssoftwareobjekt gespeichert werden sollen.
  • Sobald der Verkäufer, die Modellinformationen und die eindeutige ID vom Einrichtungssoftwareobjekt erhalten sind, aktualisiert der MonitorManager 1102 die Datenbank (beispielsweise DeviceODBC 1104) mit Informationen, die von der überwachten Einrichtung empfangen werden. Obwohl 13 eine Einrichtung zeigt, werden die Schritte von obtainConfig bis updateConfig wiederholt, um alle in der externen Quelle angegebenen Einrichtungen abzudecken. Außerdem wird jedes in 23 und 24 angegebene Protokoll initialisiert. Auf die ODBC entsprechende Datenbanktabelle in 24 wird zugegriffen und erforderliche Informationen für Einrichtungen, auf die zugegriffen wird, werden vom externen Speicher zur internen Datenstruktur übertragen, so dass die Statusinformationssammlung von den Einrichtungen, auf die zugegriffen wird, schneller ist.
  • 14 zeigt die Sequenz der Statusüberwachungsfunktion, um den Status einer überwachten Einrichtung durch das MonitorManager-Modul 1102, wie in 11 dargestellt, zu bestimmen. Wenn die obtainStatus-Funktion von Device an HWaccess ausgegeben wird, gibt die CHWaccess-Klasse wiederum einen obtainStatus-Funktionsaufruf an jedes in 23 und 24 durch die abstrakte Klasse beschriebenes Protokoll mit verschiedenen Parametern aus, wie nachstehend beschrieben. Jedes Protokollmodul hat bereits Informationen im Cache gespeichert, die erforderlich sind, um die Statusinformationen von den überwachten Einrichtungen zu extrahieren, auf die bereits einmal während der in 13 beschriebenen Initialisierungszeit zugegriffen wurde. Daher können die Statusinformationen schnell von den überwachten Einrichtungen extrahiert werden, ohne während der Statusüber wachung auf die externe Quelle zuzugreifen. Dieser Prozess wird über alle im Vektor, wie in 15 gezeigt, gespeicherten überwachten Einrichtungen wiederholt.
  • Mit Bezug auf 15 ist ein Vektor 1500 mit Verweis auf die durch CDeviceFactory 1106 erzeugten und vom MonitorManager 1102 verwendeten Einrichtungen, wie in 13 und 14 dargestellt, gezeigt. Der MonitorManager 1102 speichert Einrichtungszeiger, wie beispielsweise einen Zeiger auf CDeviceObject 1502, und einen Zeiger auf CDeviceObject 1504, die durch CDevice Factory 1106 erzeugt werden, im Vektor. Die Vektorsequenz wird iteriert, um den Status einer überwachten Einrichtung zu erhalten. Die Abfrage der überwachten Einrichtungen wird über das Einrichtungsobjekt durch Ausgeben eines obtainStatus-Befehls durchgeführt. Sobald der Status von jedem der Softwareobjekte erhalten ist, wird ein solcher Status durch DeviceODBC 1104 aktualisiert. Die Statusüberwachungssequenz wurde vorstehend in 14 beschrieben und wird hierin nicht wiederholt.
  • Die in Tabelle I gezeigte DeviceInfo-Struktur stellt die Informationen hinsichtlich einer überwachten Beispieleinrichtung dar. Die DeviceInfo-Struktur umfasst die E-Mail-Adresse der Kontaktperson zusätzlich zur Telephonnummer.
  • Tabelle 1
    Figure 00360001
  • Überwachungsdatenbank
  • 19 stellt die Organisation der Überwachungsdatenbank dar, die die Einrichtungsinformationen für jede überwachte Einrichtung enthält (siehe auch Tabelle I). Wie in 19 gezeigt, ist ein Satz von Parametern, ein Satz für jedes Kommunikationsprotokoll (z. B. SNMP, HTTP und FTP), den Einrichtungsinformationen DeviceInfo 1902 für jede überwachte Einrichtung zugeordnet. Überdies ist jeder Satz von Parametern für ein spezielles Protokoll (z. B. SNMP 1908, HTTP 1910 und FTP 1912) als Liste von Parameternamen- und Wertepaaren organisiert, z. B. sPar1Name und sPar1Value. Es ist zu beachten, dass die Anzahl von Parametern für jedes Protokoll kürzer oder länger sein kann als die in 19 gezeigte Anzahl. Ein Anwendername und ein Kennwort können beispielsweise als FTP-Parameter gespeichert werden, während ein Gemeinschaftsname und ein Kennwort als SNMP-Parameter für eine gegebene überwachte Einrichtung gespeichert werden können. Wie in 19 gezeigt, umfasst die Überwachungsdatenbank auch Informationen in Bezug auf die DeviceHistory 1904 und die EnumCorrespondence 1906.
  • 17 stellt die SParameter-Datenstruktur 1700 dar, die verwendet wird, um die Parameter, die von den verschiedenen Kommunikationsprotokollen verwendet werden, weiterzuleiten. SParameter umfasst zwei Felder: m_sParName 1702 und m_sParValue 1704, die den Namen bzw. den Wert des Parameters darstellen.
  • 18 stellt die Abbildungsstruktur 1800 dar, die verwendet wird, um einen Vektor von Parametern für jedes Protokoll, der von der Überwachungsdatenbank erhalten wird, zu einem Softwareobjekt weiterzuleiten, das jeder überwachten Einrichtung zugeordnet ist. Die Abbildungsstruktur 1800 ordnet jedem Protokoll/Schlüssel-Feld 1802, 1804 und 1806 einen entsprechenden Vektor von Parametern 1808, 1810 bzw. 1812 zu, die gemäß dem in 17 gezeigten Parameterformat angeordnet sind. Für das SNMP-Protokoll 1802 kann der Vektor von Parametern 1808 beispielsweise eine Liste von Parameternamen-, Parameterwert-Paaren umfassen, die verwendet werden, um auf die überwachte Einrichtung mit dem SNMP-Protokoll zuzugreifen. Die im Vektor 1808 gespeicherten SNMP-Parameternamen könnten beispielsweise "Gemeinschaftsname" und "Kennwort" zusammen mit den entsprechenden Parameterwerten umfassen. Es ist jedoch zu beachten, dass die Organisation der Abbildungsstruktur 1800 eine beliebige Anzahl von Protokollen und zugehörigen Parametervektoren ermöglicht und nicht auf die in 18 gezeigten SNMP-, HTTP- und FTP-Protokolle begrenzt ist.
  • Unterstützungsdatenbank
  • 2022 stellen die Organisation der Unterstützungsdatenbank 1024, die in 10 gezeigt ist, dar. Die Unterstützungsdatenbank, die Informationen enthält, die erforderlich sind, um Statusinformationen von jeder überwachten Einrichtung zu extrahieren, wird durch ein Kommunikationsprotokoll organisiert. 20, die beispielsweise die Organisation der Unterstützungsdatenbank für mit SNMP in Zusammenhang stehende Unterstützungsinformationen darstellt, die zum Extrahieren von Informationen von einer überwachten Einrichtung verwendet werden, umfasst die Datenstrukturen SNMPVendor 2002, SNMPComVendorStatus 2004, EnumCorrespondence 2006 und SNMPVendorModelStatus 2008. Eine gegebene Datenstruktur in der Unterstützungsdatenbank kann Parameter, die den Typ von zu extrahierenden Statusinformationen eindeutig identifizieren, zusammen mit Parametern, die die Extraktion steuern, umfassen. Die SNMPComVendorStatus-Datenstruktur 2004 umfasst beispielsweise ein Feld 2009 nENUM, das den Typ von zu extrahierenden Informationen (z. B. Tonerniveau) identifiziert, und ein Feld 2010 nRelativePriority, das das Gewicht oder die Bedeutung der extrahierten Informationen relativ zu anderen Protokollen angibt. Wenn dieselben Informationen von der überwachten Einrichtung unter Verwendung von mehr als einem Protokoll extrahiert werden können, gibt der nRelativePriority-Wert folglich eine relative Angabe dessen, von welchem Protokoll der extrahierte Wert verwendet werden sollte. Wenn beispielsweise HTTP nur Informationen extrahieren kann, die angeben, ob das Tonerniveau "hoch" oder "niedrig" ist, während das SNMP-Protokoll das Prozentsatzniveau des restlichen Toners extrahieren kann, wäre das Prioritätsniveau für das Tonerniveau für SNMP höher als der entsprechende Wert für HTTP. Außerdem kann die Unterstützungsdatenbank Vorgabe-Prioritätswerte für ein gesamtes Protokoll bereitstellen. In einer Ausführungsform ist dem SNMP-Protokoll ein Prioritätswert von 10000 in einem System gegeben, in dem Protokollwerte im Bereich von 0 bis 32000 liegen können.
  • 21 und 22 stellen die Datenstrukturen dar, die in den HTTP- und FTP-Abschnitten der Unterstützungsdatenbank 1024 enthalten sind, und umfassen Datenstrukturen analog zu den vorstehend in Bezug auf 20 beschriebenen Datenstrukturen.
  • Beispielhafte enum-Typen, die von der vorliegenden Erfindung verwendet werden, ist der nachstehend definierte infoType. (Die enum-Typen sind lediglich beispielhaft und sollten daher nicht als Begrenzung der vorliegenden Erfindung aufgefasst werden.)
  • infoType (typedef int infoType)
  • Dieser Abschnitt beschreibt die Definition des infoType (int). Der Wertebereich 0 bis 99 ist diesem Datentyp zugeordnet. Der Wertebereich 100 bis 499 ist den Device-Informationen zugeordnet. Der Wertebereich 500 bis 1999 ist den gemeinsamen Parametern, einschließlich Standard-MIB-Parametern, zugeordnet. Der Bereich 2000 bis 3999 ist den Ricoh-spezifischen Informationen zugeordnet. Der Bereich 4000 bis 4999 ist Xerox zugeordnet. Der Bereich 5000 bis 5999 ist Lexmark zugeordnet. Der Bereich 6000 bis 6999 ist HP zugeordnet. Die Werte sind folgendermaßen definiert:
    infoType {eNotDefine=0, eDeviceInformation=1 eStatusInformation=2, eVendor=100, eModel, eUniqueID, eIPAddress, eCompanyName, eStreet, eCity, eState, eZipCode, eLocation, eContactPerson, ePhoneNumber, eEMailAddress, eDateTime=500, eHrDeviceErrors, eLowPaper, eNoPaper, eLowToner, eNoToner, eDoorOpen, eJammed, eOffline, eServiceRequested, ePrtGeneralConfigChanges=600, ePrtLifeCount, ePrtAlertDesc1, ePrtAlertDesc2, ePrtAlertDesc3, ePrtAlertDesc4, ePrtAlertDesc5, eBlack=700, eMagenta, eCyan, eYellow, eTonerCollector=800, eBlackDeveloper=810, eColorDeveloper, eFuser=820, eDrum=830, eTransfer=840, eMaintenanceKit=850, eOilKit=860, eStationInfo1=901, eStationInfo2, eStationInfo3, eStationInfo4, eStationInfo5, eRicohEngineCounterTotal=2000, eRicohEngineCounterPrinter, eRicohEngineCounterFax, eRicohEngineCounterCopier}.
  • Fehlercode
  • Die folgenden Codes sind lediglich beispielhaft und mehr Codes können zum existierenden Satz hinzugefügt werden. Der Bereich 0–99 ist reserviert. Der Bereich 100–199 ist für SMTP, 200–299 ist für POP3, 300–399 ist für Socket und 400–499 ist für HTTP und 500–599 ist für FTP. Andere Bereiche, die nicht angegeben sind, können von einem Anwender definiert werden, falls erforderlich.
  • enum ErrorCode(eNoError=0, eUnknownError=1, eSomeError, eCompleteFailure, eSomeDeviceCreationError=20, eCreateDeviceError, eNoDeviceCreated, eObtainConfigError, eSaveStatusError, eObtainUniqueIDError, eObtainStatusError, eStartSendError, eSomeDataSendError, eCompleteDataSendFailure, eEndSendError, eSendHeloCommandFailed=100, eSendMailCommandFailed, eSendRcptCommandFailed, eSendDataCommandFailed, eSendDataFailed, eSendQuitCommandFailed, eSendUserCommandFailed=200, eSendPassCommandFailed, eSendStatCommandFailed, eSendRetrCommandFailed, eSendDeleCommandFailed, eSendQuitPop3CommandFailed, eCreateSocketFailed=300, eConnectSocketFailed, eBadRequest=400, eUnauthorized, ePaymentRequired, eForbidden, eNotFound, eMethodNotAllowed, eNotAcceptable, eProxyAuthenticationRequired, eRequestTimeOut, eConflict, eGone, eLengthRequired, ePreconditionFailed, eRequestEntityTooLarge, eRequestURITooLarge, eUnsupportedMediaType, eRequestedRangeNotSatisfiable, eExpectationFailed, elnternalServerError=450, eNotImplemented, eBadGateway, eServiceUnavailable, eGatewayTimeOut, eHTTPVersionNotSupported, eMultipleChoices=480, eMovedPermanently, eFound, eSeeOther, eNotModified, eUseProxy, eTemporaryRedirect).
  • Abstrakte Klassen im DeviceODBC-Modul
  • 16 stellt die DeviceODBC-Modul-Klassenstruktur gemäß der vorliegenden Erfindung dar und zeigt, wie die CAbsProtocolParameters-Klassenstruktur innerhalb des DeviceODBC-Moduls verwendet wird. Die CAbsProtocolParameters-Klasse ist so ausgelegt, dass sie mit der Überwachungsdatenbank 1014 kommuniziert und Informationen zum Zugreifen auf die überwachten Einrichtungen unter Verwendung eines speziellen Kommunikationsprotokolls erhält. Die CAbsProtocol-Parameters-Klasse hat zwei virtuelle Funktionen, die vom Protokoll unabhängig sind:
    • (1) std::string obtainProtocolName(void); und
    • (2) bool obtainParameterVector(std::vector<SParameter> & out_ParameterVector, const std::string in_sIP).
  • Unter Verwendung dieser Funktionen kann die CDeviceODBC-Klasse so viele Protokolle und ihre zugehörigen Parameternamen und Werte durch den Zeiger auf den CAbsProtocolParameter-Typ handhaben, ohne das Protokoll zu identifizieren. Die erhaltenen Informationen für jede Einrichtung (z. B. IP-Adresse) werden in der Datenstruktur von 18 gespeichert und zum MonitorManager-Modul 1102 durch die obtainConfig-Funktion weitergeleitet. Aus der CDeviceODBC-Perspek tive werden alle Objekte, die zum Erhalten des Protokollnamens und der zugehörigen Parameternamen und Werte verwendet werden, als Typ von CAbsProtocol-Parameters betrachtet. Wenn ein neuer Parameter hinzugefügt wird, sollte daher das neue Objekt erzeugt und im Vektor von Zeigern auf die CAbsProtocolParameters-Klasse gespeichert werden. Die anderen Funktionen müssen nicht geändert werden.
  • Abstrakte Klasse im HWaccess-Modul
  • 23 stellt die HWaccess-Modul-Klassenstruktur gemäß der vorliegenden Erfindung dar und zeigt, wie die CAbsProtocol-Klassenstruktur innerhalb des HWaccess-Moduls verwendet wird. Die CAbsProtocol-Klasse ist so ausgelegt, dass sie mit der Unterstützungsdatenbank 1024 kommuniziert und Unterstützungsinformationen zum Extrahieren von Statusinformationen von den überwachten Einrichtungen unter Verwendung eines speziellen Kommunikationsprotokolls erhält. Die CAbsProtocol-Klasse hat die vorstehend beschriebenen virtuellen Funktionen: initBegin, initEnd, canAccessIP, obtainVendor, obtainModel, obtainUniqueID, obtainEventStatus und obtainStatus. Der erste Parameter der Funktionen obtainEventStatus und obtainStatus hat jedoch einen unterschiedlichen Typen. Anstelle von std::map<infoType, std::string> ist der Statustyp std::map<infoType, std::pair<std::string, int>>. Dies ermöglicht die Anpassung an nRelativePriority, die ermöglicht, dass die Statusinformationen mit höchster Priorität erhalten werden, wie vorstehend erörtert. Für jede Einrichtung und jedes Protokoll kann das System prüfen, ob der spezielle infoType, der für die Einrichtung erhalten werden kann, bereits in den Statusabbildungsdaten ist. Wenn er nicht in den Statusabbildungsdaten ist, wird der spezielle infoType zu den für das Protokoll zu extrahierenden Informationen hinzugefügt. Wenn er in den Statusabbildungsdaten ist, wird nRelativePriority verglichen. Wenn die Priorität in den Statusabbildungsdaten höher oder gleich ist, soll der infoType nicht unter Verwendung des Protokolls erhalten werden. Wenn die Priorität in den Statusabbildungsdaten niedriger ist, wird der infoType zu den zu extrahierenden Informationen hinzugefügt und in den Statusabbildungsdaten ersetzt.
  • Die CAbsProtocol-Klasse hat auch zwei andere virtuelle Funktionen, die vom Protokoll unabhängig sind:
    • (1) void initWithVendor(std::map<std::string, std::vector<SParameter>> & in Out_ProtocolParameters, const std::string & in_sVendor); und
    • (2) void initWithModel(std::map<std::string, std::vector<SParameter>> & inOut_ProtocolParameters, const std::string & in_sModel)
  • 24 stellt die einheitliche Klassenstruktur innerhalb der in 23 gezeigten HTTP-, SNMP- und FTP-Module und die entsprechende Beziehung zur CAbsProtocol-Klasse dar. Es ist zu beachten, dass sich "XXX" auf ein spezielles Protokoll (z. B. HTTP, SNMP oder FTP) bezieht und dass die vorliegende Erfindung für eine Erweiterung der Anzahl von Protokollen ausgelegt ist. Diese Verwendung von CAbsProtocol ermöglicht, dass die CHWaccess-Klasse die Unterstützung eines zukünftigen Protokolls handhabt, ohne die Hauptfunktionen zu ändern. Wenn ein neues zu unterstützendes Protokoll hinzugefügt wird, sollte das neue Protokoll der Struktur von 23 und 24 folgen. Dann muss die CHWaccess-Klasse nur das Objekt des hinzugefügten Protokolls erzeugen und es in den Vektor der CAbsProtocol-Objektzeiger setzen.
  • Überwachungsverfahren
  • 25 stellt die Schritte in einem Verfahren zum effizienten Speichern von Informationen dar, das so konfiguriert ist, dass es für eine Vielzahl von Kommunikationsprotokollen verwendet wird, um auf eine überwachte Einrichtung unter unterschiedlichen Einrichtungen, die mit einem Netz kommunikativ gekoppelt sind, zuzugreifen.
  • In Schritt 2502 wird auf einen ersten Speicher zugegriffen, um Informationen zum Zugreifen auf die Einrichtung unter Verwendung von mindestens einem von der Einrichtung unterstützten Kommunikationsprotokoll zu erhalten. In der bevorzugten Ausführungsform ist die externe Informationsspeichereinheit die Überwachungsdatenbank 1014, die die in 19 gezeigten Einrichtungsinformationen enthält. Auf den ersten Speicher kann beispielsweise zugegriffen werden, um (1) die IP-Adresse einer Einrichtung, (2) einen Anwendernamen und ein Kennwort zum Zugreifen auf die Einrichtung unter Verwendung von FTP oder (3) einen Gemeinschaftsnamen und ein Kennwort zum Zugreifen auf die Einrichtung unter Verwendung von SNMP zu erhalten.
  • In Schritt 2504 werden die Informationen zum Zugreifen auf die Einrichtung, die vom ersten Speicher erhalten wurden, in einem zweiten Speicher gespeichert. In der bevorzugten Ausführungsform umfasst der zweite Speicher einen Vektor von Parameternamen- und Parameterwertepaaren für jedes der Vielzahl von Kommunikationsprotokollen. Überdies werden die Informationen zum Zugreifen auf die Einrichtung in der bevorzugten Ausführungsform in einem Softwareobjekt gespeichert, das der Einrichtung zugeordnet ist. Siehe 13.
  • In Schritt 2506 wird als nächstes ein Kommunikationsprotokoll (z. B. HTTP, SNMP, FTP usw.) aus einer Vielzahl von Kommunikationsprotokollen zum Zugreifen auf die Einrichtung ausgewählt.
  • Schließlich wird in Schritt 2508 auf die Einrichtung unter Verwendung des ausgewählten Kommunikationsprotokolls und der im zweiten Speicher gespeicherten Informationen zugegriffen. 25 stellt die Schritte in einem Verfahren zum effizienten Speichern von Informationen dar, das so konfiguriert ist, dass es für eine Vielzahl von Kommunikationsprotokollen verwendet wird, um auf eine überwachte Einrichtung unter unterschiedlichen Einrichtungen, die kommunikativ mit einem Netz gekoppelt sind, zuzugreifen.
  • Obwohl gezeigt ist, dass die vorliegende Erfindung wenige Einrichtungen umfasst, die eine Überwachung erfordern und die mit einem Netz verbunden sind, ist zu erkennen, dass eine beliebige Anzahl von Einrichtungen mit dem Netz verbunden werden kann, ohne vom Gedanken und Schutzbereich der Erfindung abzuweichen. Die vorliegende Erfindung kann auch in einer Heimumgebung angewendet werden, in der verschiedene Einrichtungen überwacht und gesteuert werden müssen.
  • Die vorliegende Erfindung ermöglicht die Überwachung der verschiedenen Einrichtungen in einer Umgebung mit mehreren Verkäufern und erleichtert ferner das Zurückgewinnen und Anzeigen von detaillierten Informationen in einer für den Anwender verständlichen oder anwenderfreundlichen Weise, selbst ohne spezifische private Management-Informationsbank-Informationen (MIB-Informationen) zu haben.
  • Die Steuereinheit der vorliegenden Erfindung kann zweckmäßig unter Verwendung eines herkömmlichen digitalen Universalcomputers oder eines Mikroprozessors, der gemäß den Lehren der vorliegenden Beschreibung programmiert ist, implementiert werden, wie für Computerfachleute ersichtlich ist. Eine geeignete Softwarecodierung kann leicht durch geübte Programmierer auf der Basis der Lehren der vorliegenden Offenbarung erstellt werden, wie für Softwarefachleute ersichtlich ist. Die Erfindung kann auch durch die Herstellung von anwendungsspezifischen integrierten Schaltungen oder durch Verbinden eines geeigneten Netzes von herkömmlichen Komponentenschaltungen implementiert werden, wie für Fachleute leicht ersichtlich ist.
  • Die vorliegende Erfindung umfasst ein Computerprogrammprodukt, wie in Anspruch 21 definiert, mit Ausführungsformen, wie in den Ansprüchen 22 bis 30 angegeben.
  • Offensichtlich sind zahlreiche Modifikationen und Veränderungen der vorliegenden Erfindung angesichts der obigen Lehren möglich. Daher soll es selbstverständlich sein, dass die Erfindung innerhalb des Schutzbereichs der beigefügten Ansprüche anders als speziell in den verschiedenen Ausführungsformen beschrieben ausgeführt werden kann.

Claims (30)

  1. Verfahren zum Speichern von Informationen, die konfiguriert sind, um in mehreren Kommunikationsprotokollen verwendet zu werden, um Statusinformationen, die sich auf eine überwachte Einrichtung unter unterschiedlichen Einrichtungen beziehen, die an ein Netzwerk angekoppelt sind, zu extrahieren, das aufweist: von einem ersten Speicher werden Unterstützungsinformationen zurückgewonnen, um die Statusinformationen unter Verwendung der mehreren Kommunikationsprotokolle zu extrahieren; in einem zweiten Speicher werden Informationen gespeichert, die von dem ersten Speicher erhalten worden sind, um auf die Einrichtung unter Verwendung der mehreren Kommunikationsprotokolle zuzugreifen; ein Kommunikationsprotokoll wird unter den mehreren Kommunikationsprotokollen ausgewählt; und auf die Einrichtung wird unter Verwendung des ausgebildeten Kommunikationsprotokolls und den in dem zweiten Speicher gespeicherten Informationen zugegriffen, um die Statusinformationen zu extrahieren, dadurch gekennzeichnet, dass die Statusinformationen unter Verwendung von virtuellen Schnittstellenfunktionen, die mit einer abstrakten Softwareklasse verknüpft sind, extrahiert werden und wobei sämtliche der mehreren Kommunikationsprotokolle die virtuellen Schnittstelleninformationen gemein haben.
  2. Verfahren nach Anspruch 1, wobei die Informationen zum Extrahieren der Statusinformationen unter Verwendung der mehreren Kommunikationsprotokolle in dem zweiten Speicher in protokollabhängigen Datenstrukturen gespeichert werden.
  3. Verfahren nach Anspruch 1, wobei der Rückgewinnungsschritt aufweist: von dem ersten Speicher werden relative Prioritätsdaten zurückgewonnen, die mit zumindest einer Art von Statusinformation für zumindest ein Kommunikationsprotokoll der mehreren Kommunikationsprotokolle verknüpft sind.
  4. Verfahren nach Anspruch 3, wobei die relativen Prioritätsdaten eine Anzeige der Qualität der zumindest einen Art von Statusinformation enthalten, die unter Verwendung von jedem des zumindest einen Kommunikationsprotokolls erhalten werden können.
  5. Verfahren nach Anspruch 1, wobei der Rückgewinnungsschritt aufweist: von dem ersten Speicher werden relative Prioritätsdaten, die mit dem zumindest einen Kommunikationsprotokoll der mehreren Kommunikationsprotokolle verknüpft sind, zurück gewonnen.
  6. Verfahren nach Anspruch 1, wobei der Rückgewinnungsschritt aufweist: von dem ersten Speicher werden zumindest eines von einer Web-Seiten-Adresse, einem Schlüsselwort und einem relativen Ort zum Zugreifen auf die Einrichtung unter Verwendung von HTTP rückgewonnen.
  7. Verfahren nach Anspruch 1, wobei der Schritt zum Zugreifen auf die Einrichtung aufweist: die Statusinformationen werden unter Verwendung von relativen Prioritätsdaten, die mit der zumindest einen Art von Statusinformation für zumindest ein Kommunikationsprotokoll von den mehreren Kommunikationsprotokollen verknüpft sind, extrahiert.
  8. Verfahren nach Anspruch 1, wobei der Auswählschritt aufweist: ein Kommunikationsprotokoll unter SNMP, HTTP und FTP.
  9. Verfahren nach Anspruch 1, wobei der Zugriffsschritt aufweist: zu der Einrichtung werden Informationen, die in dem jeweiligen zweiten Speicher gespeichert sind, die notwendig sind, um auf die Einrichtung unter Verwendung des ausgewählten Kommunikationsprotokolls zuzugreifen, übertragen.
  10. Verfahren nach Anspruch 9, wobei der Zugriffsschritt aufweist: durch die Einrichtung werden übertragene Informationen empfangen; und die empfangenen Informationen werden durch die Einrichtung verarbeitet.
  11. System zum Speichern von Informationen, die konfiguriert sind, um für mehrere Kommunikationsprotokolle verwendet zu werden, um Statusinformationen zu extrahieren, die auf eine überwachte Einrichtung unter unterschiedlichen Einrichtungen, die an ein Netzwerk angekoppelt sind, bezogen sind, das aufweist: Mittel, um aus einem ersten Speicher unterstützende Informationen zum Extrahieren der Statusinformationen unter Verwendung der mehreren Kommunikationsprotokolle rückzugewinnen; Mittel, um in einem zweiten Speicher die von dem ersten Speicher erhaltene Informationen zum Zugreifen auf die Einrichtung unter Verwendung der mehreren Kommunikationsprotokolle zu speichern; Mittel, um ein Kommunikationsprotokoll unter den mehreren Kommunikationsprotokollen auszuwählen; und Mittel, um auf die Einrichtung unter Verwendung des ausgewählten Kommunikationsprotokolls und den Informationen, die in dem zweiten Speicher gespeichert sind, um Statusinformationen zu extrahieren, zuzugreifen, dadurch gekennzeichnet, dass die Statusinformationen unter Verwendung virtueller Schnittstellenfunktionen extrahiert werden, die mit einer abstrakten Softwareklasse verknüpft sind, und wobei sämtliche der mehreren Kommunikationsprotokolle die virtuellen Schnittstellenfunktionen gemeinsam haben.
  12. System nach Anspruch 11, wobei die Informationen zum Extrahieren der Statusinformationen, die die mehreren Kommunikationsprotokolle verwenden, in dem zweiten Speicher in protokollabhängigen Datenstrukturen gespeichert sind.
  13. System nach Anspruch 11, wobei die Mittel zum Rückgewinnen aufweisen: Mittel, um von dem ersten Speicher relative Prioritätsdaten, die mit zumindest einer Art von Statusinformationen für zumindest ein Kommunikationsprotokoll von den mehreren Kommunikationsprotokollen verknüpft sind, zurückzugewinnen.
  14. System nach Anspruch 13, wobei die relativen Prioritätsdaten eine Anzeige der Qualität der zumindest einen Art von Statusinformationen erhalten, die unter Verwendung von jedem des zumindest einem Kommunikationsprotokolls erhalten werden können.
  15. System nach Anspruch 11, wobei die Mittel zum Rückgewinnen aufweisen: Mittel, um von dem ersten Speicher relative Prioritätsdaten, die mit zumindest einem Kommunikationsprotokoll der mehreren Kommunikationsprotokolle verknüpft sind, zurückzugewinnen.
  16. System nach Anspruch 11, wobei die Mittel zum rückgewinnen aufweisen: Mittel, um von dem ersten Speicher zumindest eines von einer Web-Seiten-Adresse, einem Schlüsselwort und einem relativen Ort zum Zugreifen auf die Einrichtung unter Verwendung von HTTP rückzugewinnen.
  17. System nach Anspruch 11, wobei die Mittel zum Zugreifen auf die Einrichtung aufweisen: Mittel, um die Statusinformationen unter Verwendung von relativen Prioritätsdaten, die mit zumindest einer Art von Statusinformation für zumindest ein Kommunikationsprotokoll von mehreren Kommunikationsprotokollen verknüpft sind, zu extrahieren.
  18. System nach Anspruch 11, wobei die Mittel zum Auswählen aufweisen: Mittel zum Auswählen eines Kommunikationsprotokolls unter SNMP, HTTP und FTP.
  19. System nach Anspruch 11, wobei die Mittel zum Zugreifen aufweisen: Mittel zum Übertragen von Informationen zu der Einrichtung, die in dem jeweiligen zweiten Speicher gespeichert sind, die nötig sind, um auf die Einrichtung unter Verwendung des ausgewählten Kommunikationsprotokolls zuzugreifen.
  20. System nach Anspruch 19, wobei die Mittel zum Zugreifen aufweisen: Mittel, um durch die Einrichtung die übertragenen Informationen zu empfangen; und Mittel, um durch die Einrichtung die empfangenen Informationen zu verarbeiten.
  21. Computer-Programm-Produkt, das ein durch einen Computer verwendbares Medium hat, das ein Computerprogramm zur Ausführung des Verfahrens nach Anspruch 1, wenn es in einen Computer geladen wird, speichert.
  22. Computer-Programm-Produkt nach Anspruch 21, wobei das Computerprogramm angepasst ist, um das Verfahren nach Anspruch 2 auszuführen.
  23. Computer-Programm-Produkt nach Anspruch 21, wobei das Computerprogramm angepasst ist, um das Verfahren nach Anspruch 3 auszuführen.
  24. Computer-Programm-Produkt nach Anspruch 23, wobei das Computerprogramm angepasst ist, um das Verfahren nach Anspruch 4 auszuführen.
  25. Computer-Programm-Produkt nach Anspruch 21, wobei das Computerprogramm angepasst ist, um das Verfahren nach Anspruch 5 auszuführen.
  26. Computer-Programm-Produkt nach Anspruch 21, wobei das Computerprogramm angepasst ist, um das Verfahren nach Anspruch 6 auszuführen.
  27. Computer-Programm-Produkt nach Anspruch 21, wobei das Computerprogramm angepasst ist, um das Verfahren nach Anspruch 7 auszuführen.
  28. Computer-Programm-Produkt nach Anspruch 21, wobei das Computerprogramm angepasst ist, um das Verfahren nach Anspruch 8 auszuführen.
  29. Computer-Programm-Produkt nach Anspruch 21, wobei das Computerprogramm angepasst ist, um das Verfahren nach Anspruch 9 auszuführen.
  30. Computer-Programm-Produkt nach Anspruch 21, wobei das Computerprogramm angepasst ist, um das Verfahren nach Anspruch 10 auszuführen.
DE602004002169T 2003-09-26 2004-09-27 Verfahren und System zur Unterstützung von Mehrfach-Protokollen für die Überwachung von vernetzten Geräten in einem Fernüberwachungssystem Expired - Lifetime DE602004002169T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/670,505 US7519698B2 (en) 2003-09-26 2003-09-26 Method and system for extracting information from networked devices in a multi-protocol remote monitoring system
US670505 2003-09-26

Publications (2)

Publication Number Publication Date
DE602004002169D1 DE602004002169D1 (de) 2006-10-12
DE602004002169T2 true DE602004002169T2 (de) 2006-12-28

Family

ID=34194825

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004002169T Expired - Lifetime DE602004002169T2 (de) 2003-09-26 2004-09-27 Verfahren und System zur Unterstützung von Mehrfach-Protokollen für die Überwachung von vernetzten Geräten in einem Fernüberwachungssystem

Country Status (5)

Country Link
US (1) US7519698B2 (de)
EP (1) EP1519513B1 (de)
JP (1) JP4557655B2 (de)
DE (1) DE602004002169T2 (de)
ES (1) ES2271795T3 (de)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6631247B1 (en) 1999-09-29 2003-10-07 Ricoh Co., Ltd. Method and system for remote diagnostic, control and information collection based on various communication modes for sending messages to a resource manager
US7287085B1 (en) * 2000-05-17 2007-10-23 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 intelligent formatter
US7337242B1 (en) * 2002-02-11 2008-02-26 Ricoh Company, Limited Method and apparatus utilizing communication means hierarchy to configure or monitor an interface device
US7392310B2 (en) * 2002-12-26 2008-06-24 Ricoh Company, Ltd. Method and system for using data structures to store database information for multiple vendors and model support for remotely monitored devices
US8595242B2 (en) 2003-06-13 2013-11-26 Ricoh Company, Ltd. Method for parsing an information string to extract requested information related to a device coupled to a network in a multi-protocol remote monitoring system
US7519698B2 (en) 2003-09-26 2009-04-14 Ricoh Co., Ltd. Method and system for extracting information from networked devices in a multi-protocol remote monitoring system
US7296079B2 (en) * 2004-01-27 2007-11-13 Ricoh Company, Ltd. Method and system for initializing protocol information used to extract status information from networked devices
US7359969B2 (en) * 2004-08-09 2008-04-15 Ricoh Company, Ltd. System and method to provide integrated device, user, and account information to users
US7574503B2 (en) 2004-08-27 2009-08-11 Ricoh Company Ltd. Method and system for using abstract classes to extract status information from networked devices
US7610374B2 (en) * 2004-08-27 2009-10-27 Ricoh Company Ltd. Method of initializing a data processing object associated with a communication protocol used to extract status information related to a monitored device
US7502848B2 (en) * 2004-08-27 2009-03-10 Ricoh Company Ltd. Method of creating a data processing object associated with a communication protocol used to extract status information related to a monitored device
ITPR20050020A1 (it) * 2005-04-21 2006-10-22 Motorscan Spa Dispositivo per la diagnosi di una centralina di un impianto di climatizzazione di un veicolo.
US9660808B2 (en) * 2005-08-01 2017-05-23 Schneider Electric It Corporation Communication protocol and method for authenticating a system
US7796589B2 (en) * 2005-08-01 2010-09-14 American Power Conversion Corporation Communication protocol
US8050801B2 (en) * 2005-08-22 2011-11-01 Trane International Inc. Dynamically extensible and automatically configurable building automation system and architecture
US8055386B2 (en) * 2005-08-22 2011-11-08 Trane International Inc. Building automation system data management
US8099178B2 (en) * 2005-08-22 2012-01-17 Trane International Inc. Building automation system facilitating user customization
US8055387B2 (en) 2005-08-22 2011-11-08 Trane International Inc. Building automation system data management
US7596749B2 (en) * 2005-09-26 2009-09-29 Ricoh Company Limited Method and system for script processing in script implementation of HTTP to obtain information from devices
US7502852B2 (en) * 2005-09-26 2009-03-10 Ricoh Company Limited Method and system for script implementation of HTTP to obtain information from remote devices
US7526546B2 (en) * 2005-09-26 2009-04-28 Ricoh Company Limited Method and system for use of abstract classes for script implementation of HTTP to obtain information from devices
US7512681B2 (en) * 2005-09-26 2009-03-31 Ricoh Company Limited Database for multiple implementation of HTTP to obtain information from devices
JP2007150697A (ja) * 2005-11-28 2007-06-14 Ricoh Co Ltd 通信装置、通信制御方法、通信制御プログラム及び記録媒体
JP4829633B2 (ja) * 2006-02-14 2011-12-07 株式会社リコー 機器情報取得装置及び機器情報取得プログラム
US20070204156A1 (en) * 2006-02-28 2007-08-30 Mark Jeghers Systems and methods for providing access to network resources based upon temporary keys
US7533086B2 (en) 2006-09-08 2009-05-12 Ricoh Co., Ltd. System, method, and computer program product for obtaining vendor identification of a remote device of merged companies
US7574489B2 (en) * 2006-09-08 2009-08-11 Ricoh Co., Ltd. System, method, and computer program product for extracting information from remote devices through the HTTP protocol
US7552111B2 (en) * 2006-09-08 2009-06-23 Ricoh Co., Ltd. System, method, and computer program product for identification of vendor and model name of a remote device among multiple network protocols
US7664886B2 (en) * 2006-09-08 2010-02-16 Ricoh Co., Ltd. System, method, and computer program product using an SNMP implementation to obtain vendor information from remote devices
US8838760B2 (en) * 2007-09-14 2014-09-16 Ricoh Co., Ltd. Workflow-enabled provider
JP5393059B2 (ja) * 2008-06-04 2014-01-22 キヤノン株式会社 ワークフロー処理装置及びワークフロー処理方法
KR100992618B1 (ko) * 2008-06-09 2010-11-05 (주)안세기술 원격감시모듈의 통신방식 자동선택 장치
US8180824B2 (en) 2009-02-23 2012-05-15 Trane International, Inc. Log collection data harvester for use in a building automation system
US8549198B2 (en) * 2009-03-27 2013-10-01 Schneider Electric It Corporation Communication protocol
US9258201B2 (en) * 2010-02-23 2016-02-09 Trane International Inc. Active device management for use in a building automation system
US8793022B2 (en) 2010-02-26 2014-07-29 Trane International, Inc. Automated air source and VAV box association
US8219660B2 (en) * 2010-02-26 2012-07-10 Trane International Inc. Simultaneous connectivity and management across multiple building automation system networks
US8438273B2 (en) 2010-09-22 2013-05-07 Ricoh Company, Ltd. Network device management with self learning capability to extract information from a device
US8700747B2 (en) 2011-04-19 2014-04-15 Schneider Electric It Corporation System and method for automatically addressing devices in a multi-drop network
US8819170B2 (en) 2011-07-14 2014-08-26 Schneider Electric It Corporation Communication protocols
US9965564B2 (en) 2011-07-26 2018-05-08 Schneider Electric It Corporation Apparatus and method of displaying hardware status using augmented reality
US9965841B2 (en) 2016-02-29 2018-05-08 Schneider Electric USA, Inc. Monitoring system based on image analysis of photos
US10269235B2 (en) 2016-08-26 2019-04-23 Trane International Inc. System and method to assist building automation system end user based on alarm parameters
US11222081B2 (en) 2017-11-27 2022-01-11 Evoqua Water Technologies Llc Off-line electronic documentation solutions
US12120208B2 (en) * 2018-06-25 2024-10-15 Telefonaktiebolaget Lm Ericsson (Publ) Communication protocol discover method in constrained application protocol (COAP)

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5846782A (en) * 1995-11-28 1998-12-08 Genvec, Inc. Targeting adenovirus with use of constrained peptide motifs
US5559099A (en) * 1994-09-08 1996-09-24 Genvec, Inc. Penton base protein and methods of using same
US6008805A (en) 1996-07-19 1999-12-28 Cisco Technology, Inc. Method and apparatus for providing multiple management interfaces to a network device
US6289017B1 (en) * 1998-05-29 2001-09-11 3Com Corporation Method of providing redundancy and load sharing among multiple LECs in an asynchronous mode network
US6437692B1 (en) 1998-06-22 2002-08-20 Statsignal Systems, Inc. System and method for monitoring and controlling remote devices
US6799211B1 (en) * 1998-08-25 2004-09-28 Mci Communications Corporation Management of multiple non-standard networks and systems with smart agents
US6360258B1 (en) 1998-08-31 2002-03-19 3Com Corporation Network management software library allowing a sending and retrieval of multiple SNMP objects
AU767975B2 (en) * 1998-09-11 2003-11-27 Genvec, Inc. Alternatively targeted adenovirus
US6317848B1 (en) 1998-09-24 2001-11-13 Xerox Corporation System for tracking and automatically communicating printer failures and usage profile aspects
JP2000224262A (ja) * 1999-01-29 2000-08-11 Nippon Telegr & Teleph Corp <Ntt> ネットワーク管理システム
JP2001222486A (ja) * 2000-02-10 2001-08-17 Mitsubishi Electric Corp ネットワーク管理エージェント装置、ネットワーク管理方法およびその方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
US7356579B1 (en) * 2000-05-17 2008-04-08 Ricoh Company, Ltd. Method and system of remote diagnostic, control and information collection using a dynamic linked library of multiple formats and multiple protocols
US7028228B1 (en) * 2001-03-28 2006-04-11 The Shoregroup, Inc. Method and apparatus for identifying problems in computer networks
US20030084176A1 (en) 2001-10-30 2003-05-01 Vtel Corporation System and method for discovering devices in a video network
JP2003271398A (ja) * 2002-03-13 2003-09-26 Ricoh Co Ltd 画像形成装置および該画像形成装置の機器管理プログラム
US6889264B2 (en) 2002-10-09 2005-05-03 Hewlett-Packard Development Company, L.P. Imposing a delay for indication of a status board to provide a time for self-rectification of a service event detected from peripheral status information
US7519698B2 (en) 2003-09-26 2009-04-14 Ricoh Co., Ltd. Method and system for extracting information from networked devices in a multi-protocol remote monitoring system

Also Published As

Publication number Publication date
EP1519513B1 (de) 2006-08-30
US7519698B2 (en) 2009-04-14
US20050071444A1 (en) 2005-03-31
DE602004002169D1 (de) 2006-10-12
EP1519513A1 (de) 2005-03-30
JP4557655B2 (ja) 2010-10-06
JP2005110242A (ja) 2005-04-21
ES2271795T3 (es) 2007-04-16

Similar Documents

Publication Publication Date Title
DE602004002169T2 (de) Verfahren und System zur Unterstützung von Mehrfach-Protokollen für die Überwachung von vernetzten Geräten in einem Fernüberwachungssystem
DE602006000709T2 (de) Überwachungseinrichtung mit einem Speicher,der Zugangsdaten zur Verwendung in verschiedenen Implementierungen von Protokollzugangsfunktionen für Informationsbeschaffung von vernetzten Geräten beinhaltet
DE602006000826T2 (de) Verfahren und System zum Extrahieren von Informationen von Netzwerkgeräten unter Verwendung mehrerer Protokollzugriffsfunktionen
DE60205998T2 (de) System und Verfahren zum Senden von Gerätekonfigurationsinformation an eine Überwachungseinheit über e-mail
EP1519514B1 (de) Verfahren und System zur Unterstützung von Mehrfach-Protokollen für die Überwachung von vernetzten Geräten in einem Fernüberwachungssystem
US9674066B2 (en) Method for parsing an information string to extract requested information related to a device coupled to a network in a multi-protocol remote monitoring system
DE60023349T2 (de) System, Verfahren und Rechnerprogrammprodukt zur Überwachung des Gebrauchs einer Zielanwendung
US7447766B2 (en) Method for efficiently storing information used to extract status information from a device coupled to a network in a multi-protocol remote monitoring system
US7533167B2 (en) Method for efficiently extracting status information related to a device coupled to a network in a multi-protocol remote monitoring system
US7437452B2 (en) Method and system for monitoring network connected devices with multiple protocols
US7296079B2 (en) Method and system for initializing protocol information used to extract status information from networked devices
DE69933636T2 (de) Verfahren und System zur Kommunikation mit einem an einen Computer angeschlossenen Gerät mittels elektronischer Post
US7610372B2 (en) Method and system for managing vendor and model information in a multi-protocol remote monitoring system
US7289995B2 (en) Method and system for using internal data structures for storing information related to remotely monitored devices
US7606894B2 (en) Method and system for determining the type of status information to extract from networked devices in a multi-protocol remote monitoring system
US7664886B2 (en) System, method, and computer program product using an SNMP implementation to obtain vendor information from remote devices
US20040255023A1 (en) Method and system for extracting vendor and model information in a multi-protocol remote monitoring system
EP1768311A2 (de) Verfahren und System zur Skriptverarbeitung bei HTTP-Skriptimplementierung zur Informationsgewinnung aus Vorrichtungen
US20050177642A1 (en) Method and system for managing protocols used to obtain status information from a network device
US20040139183A1 (en) Method and system for using data structures to store database information for multiple vendors and model support for remotely monitored devices
EP1631003A1 (de) Verfahren zum Erstellung eines &#34;Data-processing-Objects&#34; zur Geräteüberwachung
EP1785841A2 (de) Datenbank für mehrfache http-Implementierung zur Informationsgewinnung aus Vorrichtungen
EP1898601A2 (de) System, Verfahren und Computerprogramm zur Identifizierung des Verkäufer- und des Modellnamens einer Remote-Vorrichtung in mehreren Netzwerkprotokollen
EP1768025A2 (de) Verfahren und System zur Verwendung abstrakter Klassen zur HTTP-Skriptimplementierung zur Informationsgewinnung aus Vorrichtungen
EP1768309A2 (de) Verfahren und System zur HTTP-Skriptimplementierung zur Informationsgewinnung aus Fernvorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition