ES2271795T3 - Procedimiento y sistema para extraer informacion de dispositivos de red en un sistema de vigilancia remoto multiprotocolo. - Google Patents

Procedimiento y sistema para extraer informacion de dispositivos de red en un sistema de vigilancia remoto multiprotocolo. Download PDF

Info

Publication number
ES2271795T3
ES2271795T3 ES04255890T ES04255890T ES2271795T3 ES 2271795 T3 ES2271795 T3 ES 2271795T3 ES 04255890 T ES04255890 T ES 04255890T ES 04255890 T ES04255890 T ES 04255890T ES 2271795 T3 ES2271795 T3 ES 2271795T3
Authority
ES
Spain
Prior art keywords
information
protocol
communication
memory
procedure
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
ES04255890T
Other languages
English (en)
Inventor
Tetsuro Ricoh Corporation 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
Application granted granted Critical
Publication of ES2271795T3 publication Critical patent/ES2271795T3/es
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)

Abstract

Un procedimiento para almacenar información configurada para ser usada con una pluralidad de protocolos de comunicación con el fin de extraer información de estado relativa a un dispositivo supervisado entre diferentes dispositivos acoplados comunicativamente a una red, que comprende: recuperar, desde una primera memoria, información de apoyo para extraer la información de estado usando la pluralidad de protocolos de comunicación; almacenar, en una segunda memoria, la información obtenida de la primera memoria para acceder al dispositivo usando la pluralidad de protocolos de comunicación; seleccionar un protocolo de comunicación entre la pluralidad de protocolos de comunicación; y acceder al dispositivo usando el protocolo de comunicación seleccionado y la información almacenada en la segunda memoria para extraer la información de estado, caracterizado porque la información de estado se extrae usando funciones de interfaz virtual asociadas a una clase de software abstracto, y porque las funciones de interfaz virtual son comunes a cada protocolo de la pluralidad de protocolos de comunicación.

Description

Procedimiento y sistema para extraer información de dispositivos de red en un sistema de vigilancia remoto multiprotocolo.
Campo de la invención
Esta invención se refiere a la supervisión de dispositivos conectados a una red. Particularmente, se refiere a un procedimiento, sistema y producto de un programa informático destinado al control remoto de dispositivos conectados a una red que utiliza múltiples protocolos.
Exposición de los antecedentes
Como es sabido, los sistemas informáticos contienen hardware y software. El software incluye una lista de instrucciones creadas para el funcionamiento y la gestión de los componentes del hardware que integran el sistema informático. Típicamente, los sistemas informáticos incluyen diversos componentes/dispositivos de hardware conectados entre sí. El sistema informático puede ser de tipo autónomo o de tipo con conexión a red. Un sistema informático con conexión a red tiene una pluralidad de dispositivos individuales conectados a una red, y la comunicación entre los dispositivos individuales se habilita a través de la red.
Además, el software de activación de los dispositivos de hardware se configura para posibilitar la comunicación entre los dispositivos de hardware, de manera que éstos puedan funcionar en una mutua colaboración. Además, para facilitar una comunicación de este tipo, conviene controlar los dispositivos de hardware e identificar el estado de cada dispositivo de hardware con el fin de garantizar que cada dispositivo de hardware funcione eficazmente. El documento US 2003/084176 describe el preámbulo de la reivindicación 11 del sistema.
Para los fines de esta solicitud de patente, el inventor especifica que un dispositivo de hardware que controla, configura o supervisa la pluralidad de dispositivos diferentes o dispositivos de hardware individuales se denominará dispositivo de supervisión, y los dispositivos de hardware que son controlados, configurados o supervisados a través del dispositivo de supervisión se denominarán "dispositivos supervisados".
Conviene que los dispositivos de hardware instalados en una red sean supervisados para su mantenimiento, utilización u otros fines. No obstante, debido a las diferencias existentes entre fabricantes relativas a los dispositivos e interconexiones del hardware, es difícil que un dispositivo de supervisión pueda comunicarse con los diversos dispositivos conectados a la red. Un inconveniente de este tipo probablemente impedirá que los encargados de la red obtengan información crucial sobre el rendimiento y la eficiencia de los dispositivos conectados a la red.
El Simple Network Management Protocol (SNMP) (protocolo simple de gestión de redes) es la norma industrial que actualmente se aplica al control y la gestión de dispositivos de redes de comunicación de datos, sistemas de telecomunicaciones y otros dispositivos de alcance global. Prácticamente todas las organizaciones relacionadas con ordenadores y dispositivos afines intentan supervisar, diagnosticar y configurar centralmente cada uno de estos dispositivos a través de redes de área local y de gran alcance. El SNMP es el protocolo que hace posible esta interacción.
Para que un dispositivo responda a las peticiones del SNMP, conviene equiparlo con un software que le permita interpretar correctamente la petición del SNMP, realizar las acciones exigidas por dicha petición y generar una respuesta al SNMP. Típicamente, el agente de software del SNMP es un módulo de software del subsistema que reside en una entidad de red.
Al conjunto de objetos implementados por un sistema se le suele denominar generalmente Management Information Base (MIB) (base de información de gestión). Una MIB también puede ser una base de datos con información relativa a la supervisión de dispositivos. Ejemplos de otras MIB incluyen Ethernet MIB, orientada hacia las interfaces de Ethernet; Bridge MIB, que define objetos para la gestión de puentes 802.1D, entre otras.
El empleo de un SNMP para supervisar dispositivos es difícil, ya que las MIB privadas incluyen valores difíciles de descifrar sin una clave válida. Una empresa que utiliza SNMP para la supervisión de diversos dispositivos conectados a su red crea un identificador/clave que se mantiene como información propietaria de la empresa. En su mayoría, los resultados se exponen en forma de valores binarios o enteros. Por consiguiente, usando el SNMP, los resultados recibidos desde los dispositivos que están siendo supervisados ("dispositivos supervisados") no consiguen proporcionar una indicación sobre el estado de los dispositivos supervisados que sea comprensible para el usuario.
Además, al emplear el SNMP, es difícil obtener información detallada sobre un dispositivo supervisado sin disponer de una clave o código de acceso válido a una MIB privada para descifrar los resultados obtenidos en forma de valores binarios o enteros. Además, un determinado protocolo (por ejemplo, SNMP o HTTP/HTML) puede fallar por motivos diversos, tales como vencimiento del tiempo asignado o la pérdida de paquetes. Por consiguiente, cuando la supervisión de un dispositivo se realiza con una secuencia de múltiples protocolos en respuesta a un fallo, parte de la información extraída de un determinado dispositivo usando los múltiples protocolos podría duplicarse para cada protocolo. En consecuencia, si en tales circunstancias la extracción de información del dispositivo no se gestiona adecuadamente, se podrían producir deficiencias en tiempo y memoria debido a que algunos protocolos requieren más recursos que otros. Además, la extracción de información a través de ciertos protocolos podría requerir mucho menos procesamiento y memoria que a través de otros. Además, parte de la información extraída a través de un protocolo, podría ser de mayor utilidad para el dispositivo que la información obtenida a través de un protocolo diferente.
Resumen de la invención
El sistema y procedimiento de la presente invención está orientado a la solución de los problemas anteriormente identificados mediante la habilitación de la supervisión de los dispositivos que están conectados a una red. En consecuencia, se describe un procedimiento de supervisión de un dispositivo entre distintos dispositivos individuales acoplados comunicativamente a una red.
El procedimiento incluye acceder a una primera base de datos a través de un módulo de acceso al hardware, estando configurada dicha primera base de datos para soportar una pluralidad de protocolos de comunicación. La primera base de datos se almacena con la información usada por la pluralidad de protocolos de comunicación para obtener información diversa, tal como información sobre el fabricante y el modelo de un dispositivo supervisado. Se selecciona un protocolo de comunicación entre una pluralidad de protocolos de comunicación, y el protocolo de comunicación seleccionado se configura para recibir información sobre el estado del dispositivo supervisado. El procedimiento incluye también el acceso al dispositivo supervisado usando el protocolo de comunicación seleccionado y la información proveniente de la primera base de datos, la recepción de información del estado del dispositivo al que se ha accedido, y el almacenamiento de la información del estado recibida en una segunda base de datos (DeviceODBC).
En otra realización, la presente invención proporciona un procedimiento de supervisión de un dispositivo entre diferentes dispositivos acoplados comunicativamente a una red. Se puede usar una pluralidad de protocolos de comunicación para recuperar información desde un dispositivo supervisado. Por ejemplo, se selecciona primeramente un protocolo SNMP para acceder a un dispositivo supervisado, obteniéndose una información del dispositivo que ha sido configurada para una recuperación eficiente usando el protocolo SNMP. A continuación, se seleccionan los protocolos HTTP y FTP para obtener información que no pudo ser recuperada eficientemente a través del protocolo SNMP, en caso que el dispositivo soporte protocolos adicionales. La selección de los protocolos se realiza a través de un gestor de protocolos, conjuntamente con la información de soporte almacenada en la base de datos.
En la presente invención, un sistema de supervisión permite supervisar al menos un dispositivo (dispositivo supervisado) conectado a una red, tal como una LAN o una WAN. El dispositivo supervisado se configura para que disponga de una dirección de IP única. La dirección de IP asignada al dispositivo supervisado y los detalles del proveedor/fabricante del dispositivo supervisado se almacenan en una base de datos. Una exploración de la red y la interrogación de los dispositivos permite obtener las direcciones de IP de los dispositivos. Estos procedimientos son conocidos. Por consiguiente, se estima que las direcciones de IP de los dispositivos a supervisar han sido previamente obtenidas y almacenadas en una base de datos.
La presente invención especifica la forma en que se extrae la información necesaria de la información del HTML recibida desde un dispositivo supervisado. Una vez que se ha accedido a un sitio de la página web del dispositivo supervisado (es decir, a través de la dirección de IP y la entrada especificadas), se visualiza una página web específica correspondiente al dispositivo supervisado. La información de la página web tiene forma de pares de clave y valor. Por ejemplo, el nivel de tóner puede representarse como "Negro 100%" en la página web con impresora de color. Se usa un analizador sintáctico de HTML/XML para analizar la página con el fin de recuperar la información necesaria de la página web. La información necesaria y los valores de los parámetros extraídos de la página web a través del analizador sintáctico de HTML/XML se almacenan en la base de datos DeviceODBC.
En una realización de la presente invención se describe el procedimiento de supervisión de un dispositivo entre varios dispositivos diferentes conectados a una red. El procedimiento incluye acceder a una primera base de datos a través de un módulo de acceso al hardware, estando dicha primera base de datos configurada de manera que soporta una pluralidad de protocolos de comunicación. La primera base de datos se almacena con la información que utiliza la pluralidad de protocolos de comunicación para determinar información diversa, incluyendo información sobre el fabricante y el modelo de un dispositivo supervisado. Se selecciona un protocolo de comunicación entre una pluralidad de protocolos de comunicación, usándose dicho protocolo de comunicación seleccionado para recibir información diversa, incluyendo la información de estado proveniente del dispositivo supervisado. El procedimiento incluye también acceder al dispositivo supervisado usando el protocolo de comunicación seleccionado y la información obtenida de la primera base de datos, recibir información de estado del dispositivo al que se ha accedido, y almacenar la información de estado recibida en una segunda base de datos.
En la presente invención, también pueden identificarse los diversos proveedores de los dispositivos supervisados y los modelos de los dispositivos soportados por el sistema de supervisión. Debido a que los diversos proveedores de los dispositivos supervisados presentan la información sobre el dispositivo supervisado en una forma específica correspondiente a cada proveedor, la presente invención permite identificar el proveedor y el modelo del dispositivo supervisado para determinar el estado de funcionamiento del dispositivo supervisado en cuestión.
Según una realización de la presente invención, se proporciona un procedimiento y sistema para almacenar información configurada para ser usada por una pluralidad de protocolos de comunicación para acceder a un dispositivo supervisado entre los diversos dispositivos comunicados y acoplados a una red, incluyendo: (1) recuperar, desde una primera memoria, la información de acceso al dispositivo empleando al menos un protocolo de comunicación soportado por el dispositivo; (2) almacenar, en una segunda memoria, la información de acceso al dispositivo recuperada de la primera memoria; (3) seleccionar un protocolo de comunicación entre la pluralidad de protocolos de comunicación; y (4) acceder al dispositivo usando el protocolo de comunicación seleccionado y la información recuperada de la primera memoria y almacenada en la segunda memoria.
Según la presente invención, se proporciona un procedimiento y sistema para almacenar información configurada para ser usada por una pluralidad de protocolos de comunicación para extraer información de estado relativa al dispositivo supervisado entre los diversos dispositivos comunicados y acoplados a una red, incluyendo: 1) recuperar, desde una primera memoria, la información de soporte para extraer la información de estado usando la pluralidad de protocolos de comunicación; (2) almacenar, en una segunda memoria, la información obtenida de la primera memoria para acceder al dispositivo usando la pluralidad de protocolos de comunicación; (3) seleccionar un protocolo de comunicación entre la pluralidad de protocolos de comunicación; y (4) acceder al dispositivo usando el protocolo de comunicación seleccionado y la información almacenada en la segunda memoria para extraer la información de estado, siendo dicha información de estado extraída mediante el uso de funciones de interfaz virtuales asociadas a una clase de software abstracto y siendo las funciones de interfaz virtual comunes a cada uno de los protocolos de la pluralidad de protocolos de comunicación.
Breve descripción de los dibujos
Una valoración más completa de la invención y de muchas de las ventajas asociadas a la misma se obtendrá fácilmente a medida que se va comprendiendo mejor la invención al hacer referencia a la siguiente descripción detallada contemplada conjuntamente con los dibujos adjuntos, en los que:
La figura 1 ilustra tres dispositivos de oficina comercial conectados a una red de ordenadores y bases de datos a través de Internet;
la figura 2 ilustra los componentes de un aparato de formación de imágenes digitales;
la figura 3 ilustra los componentes electrónicos del aparato de formación de imágenes ilustrado en la figura 2;
la figura 4 ilustra detalles de una interfaz de comunicación de múltiples accesos ilustrada en la figura 3;
la figura 5 ilustra una configuración alternativa del sistema, en la que unos dispositivos de oficina comercial están conectados directamente a la red o están conectados a un ordenador que a su vez está conectado a la red;
la figura 6A es un diagrama de operaciones que ilustra el flujo de información hacia y desde una unidad de aplicación usando correo electrónico;
la figura 6B ilustra una forma alternativa de comunicación usando correo electrónico, en la que un ordenador conectado a la unidad de aplicación actúa también como agente de transferencia de mensajes (MTA);
la figura 6C ilustra una forma alternativa de comunicación usando correo electrónico, en la que una unidad de aplicación incluye un agente de transferencia de mensajes para intercambiar correo electrónico;
la figura 6D ilustra una forma alternativa de comunicación usando correo electrónico, en la que un servidor de correo actúa como servidor POP3 para recibir el correo destinado a un aparato/dispositivo y como servidor de un Simple Mail Transfer Protocol (SMTP) (protocolo simple de transferencia de correo) para enviar correo destinado al aparato/dispositivo;
la figura 7 ilustra una forma alternativa de enviar mensajes a través de Internet;
la figura 8 ilustra el ejemplo de un ordenador que puede conectarse a un aparato/dispositivo y que se usa para comunicar mensajes de correo electrónico;
la figura 9 es una representación esquemática del sistema en general, según un ejemplo de realización de la presente invención;
la figura 10 ilustra los módulos utilizados para supervisar la información y sus funciones de interconexión, según un ejemplo de realización de la presente invención;
la figura 11 muestra detalles del módulo Monitor y sus funciones de llamada entre submódulos;
la figura 12 muestra una estructura de datos usada por el submódulo HWaccess ilustrado en la figura 11;
la figura 13 muestra la secuencia de la función init del módulo Monitor ilustrado en la figura 10;
la figura 14 muestra una secuencia de ejemplo de la función de supervisión de estado para determinar el estado de un dispositivo supervisado por el MonitorManager, según se ilustra en la figura 11;
la figura 15 muestra un vector de referencia de los dispositivos creados por CDeviceFactory y usado por el
MonitorManager, según se ilustra en la figura 13;
la figura 16 muestra la estructura de clase del módulo DeviceODBC que incluye la clase abstracta CabsProtocol
Parameters;
la figura 17 ilustra la estructura de datos SParameter usada para almacenar los valores de los parámetros necesarios para acceder a los dispositivos supervisados, según una realización de la presente invención;
la figura 18 ilustra la estructura de mapas usada para almacenar los valores de los parámetros necesarios para acceder a los dispositivos supervisados, según una realización de la presente invención;
la figura 19 ilustra la organización de la base de datos de supervisión usada en una realización de la presente invención;
las figuras 20-22 ilustran la organización de una base de datos de apoyo dispuesta según el protocolo de comunicaciones de una realización de la presente invención;
las figuras 23 y 24 ilustran la estructura de clase HWaccess según una realización de la presente invención; y
la figura 25 ilustra un procedimiento para almacenar eficazmente la información configurada usada para una pluralidad de protocolos de comunicación con el fin de acceder a un dispositivo supervisado entre diferentes dispositivos acoplados comunicativamente a una red, según una realización de la presente invención.
Descripción detallada de las realizaciones preferentes
La figura 1 ilustra un esquema que contiene diversos dispositivos y ordenadores para la supervisión, diagnóstico y control del funcionamiento de los dispositivos. Específicamente, la figura 1 incluye una primera red 16, tal como una red de área local (LAN) conectada a unas estaciones de ordenador 17, 18, 20 y 22. Estas estaciones pueden ser de cualquier tipo de ordenador, incluyendo, por ejemplo, dispositivos de ordenador personal, ordenadores de base Unix, ordenadores de base Linux u ordenadores Apple Macintosh. También están conectados a la red 16 un aparato de formación de imágenes digitales 24, una máquina de fax 28 y una impresora 32. Según podrá apreciar una persona con un experiencia normal en la técnica, dos o más de los componentes de la copiadora/impresora digital 24 y de la máquina de fax 28 se pueden combinar para formar un "aparato de formación de imágenes" unificado. Por ejemplo, la copiadora/impresora 24, la máquina de fax 28, la impresora 32 y las estaciones 17, 18, 20 y 22 pueden denominarse máquinas o dispositivos supervisados. En algunas configuraciones, una o más estaciones se pueden convertir en aparatos para oficinas comerciales. Además, cualquier aparato/dispositivo de red de una oficina comercial se puede acoplar a la red 16. Cualquier estación 17, 18, 20 y 22 y cualquier aparato de oficina 27 puede funcionar como dispositivo de supervisión intermedio para sondear los dispositivos supervisados en la red 16 y enviar la información recogida al dispositivo de supervisión.
Un ejemplo de aparato de oficina comercial de este tipo es el eCabinet®, de Ricoh Corporation. Además, un servidor de fax (no ilustrado) puede conectarse a la red 16 mediante conexión telefónica, por cable o por enlace inalámbrico. Cada elemento copiadora/impresora 24, máquina de fax 28 e impresora 32, además de estar conectado a la red 16, puede incluir una conexión 26, 30 y 34 convencional de teléfono y/o cable y/o enlace inalámbrico, respectivamente. Según se explica a continuación, los dispositivos supervisados 24, 28 y 32 se comunican con una estación remota de supervisión, diagnosis y control (a la que también se denomina dispositivo de supervisión) a través, por ejemplo, de Internet y la red 16, o a través de una conexión directa telefónica, por cable o por enlace inalámbrico.
En otro ejemplo de un entorno comercial, los dispositivos supervisados pueden incluir elementos tales como un aparato generador de imágenes de función múltiple, un escáner, un proyector, un sistema de conferencias y una desmenuzadora de papel. En otra aplicación, la red 16 puede ser una red doméstica en la que los dispositivos supervisados son medidores (de electricidad, gas o agua) o aparatos tales como, por ejemplo, horno microondas, lavadora de ropa, secadora, lavavajillas, sistema de entretenimiento doméstico, refrigerador, cocina, aparato calefactor, acondicionador de aire, calentador de agua o cámara filmadora de seguridad.
En la figura 1, una red de área amplia (WAN), (tal como la Internet o su sucesora), se designa generalmente por 10. La WAN 10 puede ser una WAN privada, una WAN pública o una red híbrida. La WAN 10 incluye una pluralidad de ordenadores y fijadores de ruta designados 12A-12I. La forma de comunicación por medio de una WAN se conoce a través de una serie de documentos de solicitud de comentarios (Request for Comments (RFC)), disponibles desde la Internet Engineering Task Force (IETF), www.ietf.org/ rfc.html, que incluyen RFC 821, titulado "Simple Mail Transfer Protocol"; RFC 822, titulado "Standard for the Format of ARPA Internet Text Message"; RFC 959, titulado "File Transfer Protocol" (FTP); RFC 2045, titulado "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies": RFC 1894, titulado "An Extensible Message Format for Delivery Status Notifications"; RFC 1939, titulado "Post Office Protocol - Version 3"; RFC 2068, titulado "Hypertext Transfer Protocol - HTTP/1.1"; y RFC 2298, titulado "An Extensible Message Format for Message Disposition Notifications".
La comunicación relativa al Transmission Control Protocol/Internet Protocol (TCP/IP) se describe, por ejemplo, en el libro "TCP/IP Illustrated", Vol. 1, The Protocols, por W.R. Stevens, editado por Addison-Wesley Publishing Company, 1994. Los volúmenes 1-3 de "Internetworking with TCP/IP", por Comer y Stevens, también se mencionan.
Siguiendo con la referencia a la figura 1, un cortafuegos 50A está conectado entre la WAN 10 y la red 16. Un cortafuegos es un dispositivo que permite que sólo los ordenadores autorizados, en un lado del cortafuegos, puedan acceder a una red, ordenador o elementos individuales situados al otro lado del cortafuegos. Los cortafuegos son dispositivos y/o elementos de software conocidos y disponibles comercialmente (por ejemplo, ZoneAlarm, de Zone Labs). Igualmente, los cortafuegos 50B y 50C separan a la WAN 10 de una red 52 y una estación 42, respectivamente. Detalles adicionales sobre cortafuegos se encuentran en "Firewalls and Internet Security", por W.R. Cheswick y S.M. Bellovin, 1994, Addison Wesley Publishing, y en "Building Internet Firewalls", por D.B. Chapman y E.D. Zwicky, 1995, O'Reilly & Associates, Inc.
La red 52 es una red convencional que incluye una pluralidad de estaciones 56, 62, 68 y 74. Estas estaciones se pueden distribuir en diferentes departamentos (por ejemplo, departamentos de procesamiento de pedidos, de contabilidad, de facturación, de marketing, de fabricación, de ingeniería de diseño y de atención al cliente) dentro de una misma empresa. Además de las estaciones conectadas a través de la red 52, se proporciona una estación 42 que no está directamente conectada a la red 52. La información de una base de datos almacenada en un disco 46, conectada a la estación 42, se puede compartir usando los correspondientes cifrados y protocolos transmitidos a través de la WAN 10 a las estaciones conectadas directamente a la red 52. Además, la estación 42 incluye una conexión directa a una línea telefónica y/o una red de cable y/o una red inalámbrica 44; a la base de datos del disco 46 se accede a través de la línea telefónica, la red de cable o la red inalámbrica 44. La red de cable empleada en esta invención se puede implementar en forma de una red de cable que típicamente se usa para transmitir una programación de televisión, por medio de un cable que proporciona comunicación a alta velocidad de la información digital que típicamente se usa con ordenadores o aparatos similares, o por medio de cualquier otro tipo de enlace por cable.
En otra realización, la estación 42 puede ser un ordenador de sobremesa, un PDA, un ordenador portátil o un teléfono celular con capacidad de conexión a la red. Estos dispositivos se pueden usar para acceder a la información almacenada en la base de datos del disco 46.
La información relativa a la copiadora/impresora digital 24, al aparato de oficina 27, a la máquina de fax 28 o a la impresora 32 se puede almacenar, respectivamente, en una de las bases de datos de los discos 46, 54, 58, 64, 70 y 76. Entre las bases de datos conocidas se incluyen (1) las bases de datos SQL de Microsoft, IBM, Oracle y Sybase; (2) otras bases de datos relacionales; y (3) bases de datos no relacionales (incluyendo bases de datos orientadas al objeto suministradas por Objectivity, JYD Software Engineering y Orient Technologies). Cada departamento de ventas, procesamiento de pedidos, contabilidad, facturación, atención al cliente, marketing, fabricación e ingeniería puede tener una base de datos propia o puede compartir una o más bases de datos. Cada uno de los discos usados para almacenar las bases de datos tiene una memoria no volátil, como la de un disco duro o un disco óptico. Alternativamente, las bases de datos se pueden almacenar en cualquier dispositivo de almacenamiento, incluyendo dispositivos de memoria de estado sólido y/o semiconductor. Por ejemplo, el disco 64 se puede almacenar con una base de datos de marketing, el disco 58 se puede almacenar con una base de datos de fabricación, el disco 70 se puede almacenar con una base de datos de ingeniería, y el disco 76 se puede almacenar con una base de datos de atención al cliente. Alternativamente, los discos 54 y 46 se pueden almacenar con una o más de las bases de datos.
Además de estar conectadas a la WAN 10, las estaciones 56, 62, 68, 74 y 42 pueden incluir una conexión a línea telefónica o a redes de cable o inalámbrica para brindar una conexión fiable con una máquina/dispositivo objeto de supervisión, diagnostico y/o control. Además, si uno de los medios de comunicación no funciona adecuadamente, se puede utilizar automáticamente uno de los otros, como medio de apoyo, para la comunicación.
Una característica de una realización de la presente invención es el uso de una modalidad de comunicación o transmisión de "almacenamiento y envío" (por ejemplo, el correo electrónico por Internet, conocido como e-mail) entre una máquina y un sistema informático de supervisión para diagnosticar y controlar la máquina. Alternativamente, el mensaje transmitido puede implementarse usando una modalidad de comunicación que realiza conexiones directas de un extremo al otro (por ejemplo, usando una conexión de zócalo con el destino final), tales como las de FTP y Hyper Text Transfer Protocol (HTTP) (protocolo de transferencia de hipertexto).
La figura 2 ilustra la disposición mecánica de la copiadora/impresora digital 24 ilustrada en la figura 1. En la figura 2, 101 es un ventilador del escáner, 102 es un espejo poligonal usado con una impresora de láser, y 103 designa a una lente F usada para colimar la luz desde un láser (no ilustrado). El número de referencia 104 designa a un sensor para detectar la luz proveniente de un escáner. El número de referencia 105 designa a una lente para enfocar la luz del escáner sobre el sensor 104, y el número de referencia 106 designa a una lámpara de extinción usada para borrar imágenes del tambor fotoconductor 132. Hay una unidad de carga de efecto corona 107 y un rodillo de revelado 108. El número de referencia 109 designa a una lámpara usada para ilustrar un documento a escanear, y los elementos 110, 111 y 112 designan a unos espejos que reflejan luz sobre el sensor 104. Se proporciona un tambor de espejo 113 para reflejar, sobre el tambor fotoconductor 132, la luz originada en el espejo poligonal 102. Se usa un ventilador 114 para enfriar el área de carga del aparato de formación de imágenes digitales, se usa un primer rodillo de alimentación de papel 115 para alimentar papel desde la primera casete de papel 117, y se designa un número de referencia 116 para una mesa de alimentación manual. De forma similar, se usa un segundo rodillo de alimentación de papel 118 conjuntamente con la segunda casete 119. El número de referencia 120 designa a un rodillo de accionamiento, 121 designa a un rodillo de registro, 122 designa a un sensor de densidad de imagen, y 123 designa a una unidad de transferencia/separación de efecto corona. El número de referencia 124 designa a una unidad de limpieza, 125 designa a un ventilador de vacío, 126 designa a una correa transportadora, 127 designa a un rodillo de presión, y 128 designa a un rodillo de salida. Un rodillo térmico 129 se usa para fijar el tóner al papel, 130 designa a un ventilador de escape, y se usa un motor principal 131 para accionar la copiadora/impresora digital 24.
La figura 3 es un diagrama de operaciones que ilustra los componentes electrónicos de la copiadora/impresora digital 24 de la figura 2, en el que CPU 160 es un microprocesador que actúa como controlador del aparato. La memoria de acceso aleatorio (RAM) 162 almacena la información dinámicamente cambiante que incluye los parámetros operativos de la copiadora/impresora digital 24. Una memoria no volátil (por ejemplo, una memoria de sólo lectura (ROM) 164, o una memoria flash) almacena el código del programa usado para el funcionamiento del aparato de formación de imágenes digitales así como los datos de estado estático, que describen la copiadora/impresora digital 24 (por ejemplo, nombre del modelo, número del modelo, número de serie del dispositivo y parámetros por defecto).
Se proporciona una interfaz de red de acceso múltiple 166 que permite la comunicación de la copiadora/impresora digital 24 con los dispositivos externos a través de al menos una red de comunicación. El número de referencia 168 representa una línea telefónica, un enlace inalámbrico o una línea de cable, y el número 170 representa un tipo de red diferente a la red identificada en 168. Los detalles adicionales de la interfaz de red de acceso múltiple se proporcionan en la figura 4. Se usa un controlador de interfaz 172 para conectar un panel de operaciones 174 a un bus de sistema 186. El panel de operaciones 174 incluye los dispositivos convencionales de entrada y salida propios de una copiadora/impresora digital 24, incluyendo un botón de copia y las teclas para el control operativo del aparato de formación de imágenes, tales como, por ejemplo, número de copias, reducción/ampliación, oscuridad/claridad, etc. Además, se puede incluir un visor de cristal líquido en el panel de operaciones 174 para visualizar los parámetros y mensajes de la copiadora/impresora digital 24 destinados al usuario.
Una interfaz de conexión local 171 es una conexión a través de accesos locales, tales como RS232, acceso de impresora en paralelo, USB o IEEE 1394. FireWire (IEEE1394) se describe en "The Facts About FireWire", I. Wickelgren, IEEE Spectrum, abril 1997, vol. 34, número 4, págs. 19-25. Preferentemente, se utiliza un protocolo de comunicación "fiable" que incluya detección de errores y retransmisión.
Una interfaz de almacenamiento 176 conecta los dispositivos de almacenamiento al bus 186 del sistema. Por ejemplo, los dispositivos de almacenamiento incluyen una memoria flash 178, que puede sustituirse por una memoria de sólo lectura programable y susceptible de borrado eléctrico (EEPROM) convencional, además de un disco 182. El disco 182 puede ser un disco duro, un disco óptico y/o un disquete. Se pueden conectar dispositivos de memoria adicionales a la copiadora/impresora digital 24 a través de la conexión 180. La memoria flash 178 se usa para almacenar la información en estado semiestático que describe los parámetros de la copiadora/impresora digital 24, los cuales se cambian con escasa frecuencia a lo largo de la vida útil del aparato 24. Tales parámetros incluyen, por ejemplo, las opciones y la configuración del aparato de formación de imágenes digitales. Una interfaz 184 opcional permite conectar un hardware adicional - tal como una interfaz externa - a la copiadora/impresora digital 24. Se emplea un reloj/temporizador 187 tanto para control de hora y fecha como para medición del tiempo transcurrido.
La figura 3 ilustra también las diversas secciones que integran la copiadora/impresora digital 24. El número de referencia 202 designa a un clasificador que contiene sensores y activadores usados para clasificar la producción de la copiadora/impresora digital 24. Un duplexor 200 permite el funcionamiento en dúplex. El duplexor 200 incluye sensores y activadores convencionales. Se proporciona una unidad de bandejas 198 de gran capacidad que aloja bandejas de papel para un gran número de hojas. Como en el caso del duplexor 200, la unidad de bandejas 198 incluye sensores y activadores convencionales.
Se usa un controlador de alimentación de papel 196 para controlar el dispositivo de formación de imágenes digitales. Se usa un escáner 194 para explorar las imágenes que se incorporan al dispositivo de formación de imágenes digitales que incluye elementos de escáner convencionales, tales como luz, espejo, etc. Además, se usan sensores de escáner, tales como un sensor de posición inicial, para determinar si el escáner se encuentra en la posición inicial, y se usa un termistor de lámpara para verificar el correcto funcionamiento de la lámpara del escáner. Una impresora/formadora de imágenes 192, que imprime las imágenes del dispositivo de formación de imágenes digitales, incluye un mecanismo convencional de impresión por láser, un sensor de tóner y un sensor de densidad de la imagen. El elemento de fusión 190 se usa para fusionar el tóner sobre la página por medio de un rodillo de alta temperatura, e incluye un sensor de salida, un termistor que verifica que el elemento de fusión 190 no se ha recalentado, y un sensor de aceite. Además, se usa una interfaz 188 opcional de la unidad para conectar al dispositivo de formación de imágenes digitales unos elementos opcionales, tales como un alimentador de documentos automático, un tipo diferente de clasificador/intercalador, y otros elementos que pueden añadirse al dispositivo de formación de imágenes digitales. Otros elementos incluyen una unidad GPS capaz de determinar la ubicación del dispositivo.
La figura 4 ilustra detalles de la interfaz de red de acceso múltiple 166. El dispositivo de formación de imágenes digitales se puede comunicar con dispositivos externos a través de una interfaz de red en anillo 220, una unidad de módem de cable 222 con conexión de alta velocidad a través de cable, una interfaz telefónica 224 convencional que conecta con una línea telefónica 168A, una interfaz inalámbrica 228, o una interfaz Ethernet 230 que conecta con la LAN 170. Otras interfaces pueden incluir, sin limitarse a las mismas, una Digital Subscriber Line (DSL), o línea digital de suscriptor (DSL original, DSL concéntrica y DSL asimétrica). Un único dispositivo para conexión tanto con la red de área local como con la línea telefónica, conocido como IntelPro 10/100 + Modem, lo comercializa Intel.
El CPU u otro microprocesador o combinación de circuitos ejecuta un proceso de supervisión destinado a supervisar el estado de cada uno de los sensores del dispositivo de formación de imágenes digitales, usándose un proceso secuencial para ejecutar las instrucciones del código empleado para el control y funcionamiento del dispositivo de formación de imágenes digitales. Además, (1) se ejecuta un proceso de control del sistema central para controlar el funcionamiento general del dispositivo de formación de imágenes digitales, y (2) se usa un proceso de comunicación para garantizar una comunicación fiable con los dispositivos externos conectados al dispositivo de formación de imágenes digitales. El proceso de control del sistema supervisa y controla el almacenamiento de la información en una memoria en estado estático (por ejemplo, la ROM 164 de la figura 3), una memoria semiestática (por ejemplo, la memoria flash 178 o el disco 182), o una memoria en estado dinámico (por ejemplo, una memoria volátil o no volátil, tal como la RAM 162, la memoria flash 178 o el disco 182). Además, la memoria en estado estático puede ser un dispositivo diferente a la ROM 164 - por ejemplo, una memoria no volátil que incluya la memoria flash 178 o el disco 182.
Aunque los anteriores detalles han sido descritos en relación con un dispositivo de formación de imágenes digitales, la presente invención es igualmente aplicable a otras máquinas o dispositivos de oficina comercial, tales como copiadora analógica, máquina de fax, escáner, impresora, servidor de faxes, proyector, equipo de conferencias, desmenuzadora de papel, otras máquinas o aparatos de oficina, u otros dispositivos (por ejemplo, horno microondas, VCR, DVD, cámara digital, teléfono celular, ordenador portátil). Además, la presente invención incluye otros dispositivos que funcionan sobre la base de comunicación almacenamiento/envío o comunicación de conexión directa. Tales dispositivos incluyen sistemas de medición (incluyendo sistemas de medición de gas, agua o electricidad), máquinas dispensadoras, u otros dispositivos mecánicos (por ejemplo, automóviles, lavadoras, secadoras) que requieren supervisión o diagnosis remota durante su funcionamiento. Además de supervisar máquinas y ordenadores para fines especiales, la invención se puede usar para supervisar, controlar y diagnosticar ordenadores de uso general, que constituirían el dispositivo supervisado y/o controlado.
La figura 5 ilustra un diagrama de sistema alternativo de la presente invención en el que diferentes dispositivos y subsistemas están conectados a la WAN 10. No obstante, no es un requisito que cada uno de estos dispositivos o subsistemas sean parte de la invención. Cada componente o subsistema ilustrado en la figura 5 constituye, individualmente, una parte de la invención. Además, los elementos ilustrados en la figura 1 se pueden conectar a la WAN 10 ilustrada en la figura 5. En la figura 5 se ilustra un cortafuegos 50-1 conectado a una Intranet 260-1. Una máquina de servicio 254, conectada a la Intranet 260-1, incluye o está conectada a una unidad de información 256 susceptible de almacenamiento en formato de base de datos. La información 256 incluye historiales, rendimientos, fallos operativos e información diversa, tal como datos estadísticos relativos al funcionamiento o fallo o instalación de los dispositivos supervisados, o bien información sobre la configuración, tal como qué componentes o equipos opcionales están incluidos en los dispositivos supervisados. La máquina de servicio 254 se puede implementar en forma de dispositivo u ordenador que solicita a los dispositivos supervisados que transmitan información, o que solicita a los dispositivos supervisados que realicen pruebas remotas de control y/o diagnóstico. La máquina de servicio 254 se puede implementar como un tipo de dispositivo cualquiera, aunque preferentemente se implementará usando un dispositivo informatizado, tal como un ordenador polivalente. Además, la máquina de servicio 254 puede constar de múltiples ordenadores conectados a la red y con diversas bases de datos que incluyen facturación, contabilidad procesamiento de servicios, seguimiento de piezas e informes.
Otro subsistema de la figura 5 incluye un cortafuegos 50-2, una Intranet 260-2 y una impresora 262 conectados al mismo. En este subsistema, las funciones de envío y recepción de mensajes electrónicos a través de la impresora 262 (y de modo similar de una copiadora 268) se realizan mediante (1) un conjunto de circuitos, (2) un microprocesador, o (3) cualquier otro tipo de hardware contenido dentro de o acoplado a la impresora 262 (es decir, sin usar un ordenador polivalente independiente).
Un tipo de sistema alternativo incluye un proveedor de servicio de Internet 264, que puede ser cualquier tipo de proveedor de servicio de Internet (ISP), incluyendo empresas comerciales conocidas, tales como America Online, Earthlink y Niftyserve. En este susbistema, un ordenador 266 está conectado al ISP 264 a través de un módem digital o analógico (por ejemplo, un módem de línea telefónica, un módem de cable, un módem con cualquier tipo de cable, tal como los módem usados a través de una línea de suscriptor digital asimétrica (ADSL), módem que usan comunicación de retransmisión de marcos, módem inalámbricos, tales como un módem de frecuencia de radio, módem de fibra óptica, o dispositivos que usan ondas de luz infrarroja). Un dispositivo de oficina comercial 268 se encuentra también conectado al ordenador 266. Como alternativa al dispositivo de oficina comercial 268 (o cualquier otro dispositivo ilustrado en la figura 5), se pueden supervisar y controlar otros tipos de máquina, tales como copiadoras digitales u otros tipos de aparatos, sistemas de seguridad o medidores de servicio público, tal como medidores de electricidad, agua o gas, o cualquier otro dispositivo contemplado en el presente documento.
En la figura 5 se ilustra también un cortafuegos 50-3 conectado a una red 274. La red 274 puede estar implementada en la forma de cualquier tipo de red informática (por ejemplo, una Ethernet o una red en anillo). El software susceptible de conexión a red que puede usarse para controlar la red incluye cualquier software de red que se desee, incluyendo el software comercializado por Novell o Microsoft. La red 274 se puede implementar en forma de Intranet, si se desea. Se puede usar un ordenador 272 conectado a la red 274 para obtener información de un dispositivo de oficina comercial 278 y generar informes, como los que reflejan los problemas que hayan surgido en las diversas máquinas conectadas a la red, o informes sobre el uso mensual de los dispositivos conectados a la red 274. En esta realización, un ordenador 276 se encuentra conectado entre el dispositivo de oficina comercial 278 y la red 274. Este ordenador recibe comunicaciones a través de la red y transmite las correspondientes órdenes y datos, u otra información, al dispositivo de oficina comercial 278.
La comunicación entre el dispositivo de oficina comercial 278 y el ordenador 276 se puede efectuar empleando procedimientos de comunicación por cable o comunicación inalámbrica, sin limitarse a los mismos, e incluye conexiones de radiofrecuencia, conexiones eléctricas y conexiones de luz (por ejemplo, conexión infrarroja o conexión de fibra óptica). De forma similar, cada una de las diferentes redes e Intranets ilustradas en la figura 5 se pueden establecer empleando cualquier forma deseada, incluyendo establecimiento de redes inalámbricas, tales como redes de radiofrecuencia. La comunicación inalámbrica aquí descrita se puede establecer por medio de técnicas de dispersión de espectro, incluyendo técnicas que emplean un código de dispersión y técnicas de salto de frecuencia, tales como la técnica inalámbrica de salto de frecuencia descrita en la Bluetooth Specification (de la página web www.bluetooth.com).
Otro subsistema ilustrado en la figura 5 incluye un cortafuegos 50-4, una Intranet 260-4, un ordenador 282 conectado a la misma, un aparato de oficina comercial 285 y una copiadora 286. El ordenador 282 puede usarse para generar informes y solicitar procedimientos de diagnóstico o control. Estos procedimientos de diagnóstico y control se pueden realizar para el aparato de oficina comercial 285 y la copiadora 286, o para cualquier otro dispositivo ilustrado o utilizado en la figura 5. Aunque la figura 5 ilustra una pluralidad de cortafuegos, tales cortafuegos constituyen equipo preferente aunque opcional, por lo que la invención se puede implementar, si se desea, sin el uso de cortafuegos. Para fines de supervisión y control del equipo de la red se puede emplear cualquier ordenador (266, 272 ó 284) en lugar del 254. Además, cualquier ordenador puede acceder al 254 para recuperar la correspondiente información de dispositivos o información de uso a través de la red.
La figura 6A ilustra un dispositivo/aparato 300 conectado a un típico sistema de intercambio de correo electrónico que incluye componentes 302, 304, 306, 308, 310, 312, 314, 316 y 318, los cuales se pueden implementar de manera convencional y adaptar a partir de la anterior figura 28.1, de Stevens. Una interfaz de ordenador 302 se conecta mutuamente con cualquiera de las unidades de aplicación o dispositivos/aparatos 300 aquí descritos. Aunque la figura 6A ilustra que el dispositivo/aparato 300 es el transmisor, las funciones de envío y recepción de pueden invertir en dicha figura 6A. Además, si se desea, el usuario puede no requerir interconexión alguna con el dispositivo/aparato 300. A continuación, el interfaz de ordenador 302 actúa conjuntamente con un agente de correo 304. Unos agentes de correo para Unix que gozan de popularidad incluyen MH, Berkeley Mail, Elm, y Mush. Agentes de correo para la familia de sistemas operativos Windows incluyen Microsoft Outlook y Microsoft Outlook Express. Al solicitarlo el interfaz de ordenador 302, el agente de correo 304 crea los mensajes de correo electrónico a enviar, y, si se requiere, sitúa dichos mensajes en una cola 306. El correo a enviar es transferido a un agente de transferencia de mensajes (MTA) 308. Un MTA usual aplicable a los sistemas Unix es el Sendmail. Típicamente, los agentes de transferencia de mensajes 308 y 312 intercambian comunicaciones usando una conexión a TCP/IP 310. Cabe mencionar que la comunicación entre los agentes de transferencia de mensajes 308 y 312 se puede producir a través redes de cualquier tamaño (por ejemplo, WAN o LAN). Además, los agentes de transferencia de mensajes 308 y 312 pueden usar cualquier protocolo de comunicación. En una realización de la presente invención, los elementos 302 y 304 de la figura 6A residen en la biblioteca para supervisar el uso de la unidad de aplicación.
Provenientes del agente de transferencia de mensajes 312, los mensajes de correo electrónico se almacenan en unas casillas de usuario 314, los cuales serán transferidos al agente de correo 316 y transmitidos finalmente a un terminal 318 del usuario que funciona como terminal receptor.
Este proceso de "almacenamiento y envío" evita que el agente de envío de mensajes 304 tenga que esperar hasta que se establezca una conexión directa con el receptor del mensaje. Debido a las demoras que se producen en la red, la comunicación podría demorar un tiempo considerable, durante el cual la aplicación permanecería sin respuesta. Tales demoras en la capacidad de respuesta son generalmente inaceptables para los usuarios de la unidad de aplicación. Al usar correo electrónico como proceso de almacenamiento y envío, los intentos de retransmisión siguientes a un fallo se producen automáticamente durante un período de tiempo fijo (por ejemplo, tres días). En una realización alternativa, la aplicación puede evitar la espera pasando las solicitudes de comunicación a una o más cadenas independientes. A continuación, dichas cadenas pueden controlar la comunicación con el terminal receptor 318 mientras la aplicación comienza a responder nuevamente a la interfaz de usuario. En otra realización, en la que el usuario desea que su comunicación se complete antes de continuar, se aplica comunicación directa con el terminal receptor. Dicha comunicación directa puede utilizar cualquier protocolo que no se encuentre bloqueado por un cortafuegos instalado entre los terminales de envío y recepción. Ejemplos de tales protocolos incluyen Telnet, File Transfer Protocol (FTP) y Hyper Text Transfer Protocol (HTTP).
Las WAN públicas, tales como la Internet, no suelen considerarse seguras. Por consiguiente, si se requiere confidencialidad en los mensajes, los mensajes transmitidos por las WAN públicas (y las WAN privadas compartidas por varias empresas) pueden ser cifrados. Existen mecanismos de cifrado conocidos comercialmente disponibles y que se pueden usar con la presente invención. Por ejemplo, la función de biblioteca C++, crypt ( ), comercializada por Sun Microsystems para el sistema operativo Unix. Hay otros paquetes de software de cifrado y descifrado, conocidos y disponibles comercialmente, que también se pueden usar con esta invención. Uno de dichos paquetes, el PGP, lo comercializa PGP Corporation.
Como alternativa a la estructura general de la figura 6A, se puede emplear un único ordenador que actúe como interfaz de ordenador 302, agente de correo 304, cola de correo 306 y agente de transferencia de mensajes 308. Según se ilustra en la figura 6B, el dispositivo/aparato 300 está conectado a un ordenador 301 que incluye al agente de transferencia de mensajes 308.
Otra estructura alternativa se aprecia en la figura 6C, en la que el agente de transferencia de mensajes 308 está formado como parte del dispositivo/aparato 300. Además, el agente de transferencia de mensajes 308 está conectado al agente de transferencia de mensajes 312 a través de una conexión TCP/IP 310. En la realización de la figura 6C, el dispositivo/aparato 300 está conectado directamente a la conexión a TCP/IP 310 con capacidad de correo electrónico. Un uso de la realización de la figura 6C incluye la utilización de una máquina de fax con capacidad de correo electrónico (por ejemplo, según se define en RFC 2305 (o sea, una simple modalidad de fax que utiliza correo de Internet)) como dispositivo/aparato 300.
La figura 6D ilustra un sistema en el que el dispositivo/aparato 300 no tiene una capacidad propia de recepción directa de correo electrónico, aunque no obstante tiene una conexión 310 a un servidor de correo/servidor POP3 que incluye un agente de transferencia de mensajes 308 y un buzón de correo 314, de manera que el dispositivo/aparato 300 utiliza el protocolo del POP3 para recuperar el correo recibido desde el servidor de correo.
La figura 7 ilustra una realización alternativa de transferencia de correo, adaptada de la figura 28.3 de Stevens, a la que anteriormente se ha hecho referencia. La figura 7 ilustra un sistema de correo electrónico provisto de un sistema de retransmisión en cada extremo. La disposición de la figura 7 permite que un sistema dentro de una empresa actúe como núcleo de correo. En la figura 7 hay cuatro MTA conectados entre los dos agentes de correo 304 y 316. Estos MTA incluyen el MTA local 322A, el MTA de retransmisión 328A, el MTA de retransmisión 328B y el MTA local 322D. El protocolo más común usado para mensajes de correo es el SMTP (Simple Mail Transfer Protocol, o protocolo simple de transferencia de correo), que puede ser utilizado con esta invención, aunque se puede usar el protocolo que se desee. En la figura 7, 320 designa a un ordenador principal de envíos que incluye la interfaz de ordenador 302, el agente de correo 304 y el MTA local 322A. El dispositivo/aparato 300 está conectado al ordenador principal de envíos 320, o bien se encuentra incluido dentro del mismo. En otro caso, el dispositivo/aparato 300 y el ordenador principal 320 pueden estar integrados en una máquina en la que la capacidad del ordenador principal está incorporada al dispositivo/aparato 300. Otros MTA locales 322B, 322C, 322E y 322F pueden estar igualmente incluidos. El correo a transmitir y recibir puede disponerse en una cola de correo 306B del MTA de retransmisión 328A. Los mensajes son transferidos a través de la conexión a TCP/IP 310 (por ejemplo, una conexión a Internet o una conexión a través de cualquier otro tipo de red).
Los mensajes transmitidos son recibidos por el MTA de retransmisión 328B; y si se desea, se almacenan en una cola de correo 306C. A continuación, el correo es enviado al MTA local 322D de un ordenador principal receptor 342. El correo puede permanecer en uno o más buzones de usuario 314, y a continuación ser enviado al agente de correo 316 y finalmente al usuario, en el terminal 318. Si se desea, el correo puede ser enviado directamente al terminal sin la intervención del usuario.
Los diversos ordenadores empleados en la presente invención, incluyendo los ordenadores 266 y 276 de la figura 5, se pueden implementar en la forma ilustrada en la figura 8. Además, si se desea, se puede implementar cualquier otro ordenador usado en la invención de forma similar al ordenador ilustrado en la figura 8, incluyendo la máquina de servicio 254, el ordenador 272 y el ordenador 282 de la figura 5. No obstante, no se requiere la totalidad de los elementos ilustrados en la figura 8 en cada uno de los citados ordenadores.
En la figura 8, el ordenador 360 incluye una CPU 362 que se puede implementar como cualquier tipo de procesador, incluyendo los microprocesadores comercializados por empresas tales como Intel, AMD, Motorola, Hitachi y NEC. Una memoria de trabajo (tal como la RAM 364) y una interfaz inalámbrica 366 se comunican con un dispositivo inalámbrico 368. La comunicación entre la interfaz 366 y el dispositivo 368 puede emplear cualquier medio inalámbrico (por ejemplo, ondas de radio u ondas de luz). Las ondas de radio se pueden implementar utilizando una técnica de espectro de dispersión, tal como la comunicación Code Division Multiple Access (CDMA) (acceso múltiple de división de códigos), o utilizando una técnica de saltos de frecuencia, como la descrita en la especificación Bluetooth.
El ordenador 360 incluye una memoria ROM 370 y una memoria flash 371, aunque se puede usar cualquier otro tipo de memoria no volátil (por ejemplo, una memoria programable susceptible de borrado eléctrico, o EEPROM) además de o en lugar de la memoria flash 371. Un controlador de entrada 372 tiene conectados un teclado 374 y un ratón 376. Hay una interfaz en serie 378 conectada a un dispositivo en serie 380. Además, una interfaz en paralelo 382 está conectada a un dispositivo en paralelo 384, una interfaz de bus en serie universal (USB) 386 está conectada a un dispositivo de bus en serie universal 388, y un dispositivo IEEE1394 400, al que normalmente se denomina dispositivo firewire, está conectado a una interfaz IEEE1394 398. Un bus de sistema 390 conecta los diversos elementos del ordenador 360. Un controlador de disco 396 está conectado a un accionador de disquete 394 y a un accionador de disco duro 392. Un controlador de comunicación 406 permite que el ordenador 360 se comunique con otros ordenadores (por ejemplo, mediante el envío de mensajes de correo electrónico) a través de la red 404. Un controlador I/O (de entrada/salida) 408 está conectado a una impresora 410 y a un disco duro 412 a través de, por ejemplo, un bus SCSI (Small Computer System Interface, pequeño interfaz de sistema informático)). También hay un controlador de visualizador 416 conectado a un CRT (tubo de rayo catódico) 414, aunque se puede emplear cualquier otro tipo de visualizador, incluyendo un visualizador de cristal líquido, un visualizador de diodo emisor de luz, un visualizador de plasma, etc.
Con referencia a la figura 9, se muestra una representación esquemática general del sistema 900 según una realización de ejemplo de la presente invención. El sistema 900 incluye una pluralidad de dispositivos, tales como una impresora de láser 908, un escáner 910, un dispositivo de red 912 y una impresora de múltiples funciones 914, todos los cuales están conectados a la red 100. A esta pluralidad de dispositivos se le suele denominar "dispositivos supervisados" en el presente documento. El sistema 900 incluye también un sistema de supervisión de estaciones 902 (en lo sucesivo denominado controlador 902) conectado a la red 100 para supervisar y controlar los dispositivos supervisados 908, 910, 912 y 914. A cada uno de los dispositivos supervisados 908, 910, 912 y 914 se le asigna una única dirección. Por ejemplo, una dirección de IP asignada a un dispositivo sirve como dirección única para dicho dispositivo. Por lo tanto, un usuario del controlador 902 puede acceder a un respectivo dispositivo entre los dispositivos supervisados 908-914 si accede a la dirección de IP única asignada al respectivo dispositivo supervisado. Como puede verse, la presente invención no está limitada al uso de direcciones de IP para identificar singularmente los dispositivos conectados a una red.
El controlador 902, al acceder a un dispositivo incluido entre los dispositivos supervisados 908-914, obtiene una información diversa a través de los protocolos SNMP y/o HTTP. Dicha información incluye información detallada sobre el estado operativo del dispositivo, incluyendo información sobre detección de fallos. Por ejemplo, el controlador 902 accede a un punto de atasco de un determinado dispositivo y envía un mensaje a la persona encargada del dispositivo para que corrija el atasco. El estado operativo o los detalles de la impresora de láser 908 incluye detalles tales como nivel del tóner, indicación de atascos de papel, cantidad de papel de impresión en las bandejas de la impresora, etc.
Como puede verse, el controlador 902 podrá estar conectado físicamente o acoplado inalámbricamente a la red 100. Por ejemplo, un asistente digital personal (PDA) 920 o un ordenador portátil 922, acoplados inalámbricamente a la red 100, también pueden usarse a modo de controlador 902. Un punto de acceso 924, que actúa como interfaz, permite las comunicaciones inalámbricas entre la red 100 y el PDA 920 o el ordenador portátil 922. De aquí en adelante, la presente invención se describirá bajo el supuesto de que el controlador 902 controlará y supervisará el estado de los dispositivos supervisados conectados a la red.
La red 100 facilita la comunicación entre el controlador 902 y los dispositivos supervisados 908-914, haciendo posible la supervisión y el control de dichos dispositivos supervisados. El número de dispositivos conectados a la red no constituye una limitación para la presente invención. Como puede verse, la red 100 puede ser una red de área local (LAN) o una red de área amplia (WAN). Además, los dispositivos supervisados 908, 910, 912 y 914 se ilustran solamente a mondo de ejemplo.
El controlador 902 está acoplado comunicativamente con un dispositivo de almacenamiento 904 y una base de datos 906. El dispositivo de almacenamiento 904 incluye un disco duro, un disco opcional y/o una unidad de disco externo. La base de datos 906 está enlazada comunicativamente con el dispositivo de almacenamiento 904, e incluye un Rational Database Management System (RDBMS) (sistema racional de gestión de bases de datos) que facilita la búsqueda y recuperación de la información almacenada en el dispositivo de almacenamiento 904. Preferentemente, el dispositivo de almacenamiento 904 almacena información detallada sobre cada uno de los dispositivos supervisados 908-914. Por ejemplo, la información detallada - tal como marca, modelo, diversas funciones y detalles de detección de fallos de la impresora de láser 908 - se almacenan en el dispositivo de almacenamiento 904. Además, el dispositivo de almacenamiento 904 puede almacenar valores de desviación del estado operativo de la impresora de láser para compararlos con unos valores de referencia predeterminados. Aunque la base de datos 906 y el dispositivo de almacenamiento 904 se describen como acoplados comunicativamente al controlador 902, deberá tenerse presente que el controlador 902 se puede construir de manera que incorpore el dispositivo de almacenamiento y la base de datos. En tal caso, el dispositivo de almacenamiento 904 y la base de datos 906 se ilustrarían en el interior del controlador
902.
El controlador 902 se instala con un software que facilita la supervisión y control de la pluralidad de dispositivos 908-914. El controlador 902 usa el Simple Network Managenet Protocol (SNMP), el File Transfer Protocol (FTP) y el Hypertext Transfer Protocol (HTTP) para supervisar la pluralidad de dispositivos 908-914, y la información recibida desde la pluralidad de dispositivos 908-914 se presenta en formato binario ASN.1 o en formatos HTML o XML, mostrados en 950.
Aunque la figura 9 ilustra sólo los dispositivos de formación de imágenes, la red para la comunicación de información entre el dispositivo de supervisión y la pluralidad de dispositivos supervisados puede incluir la red de origen a la que están conectados los aparatos y medidores. Podrá apreciarse que la información obtenida por el controlador o la estación 902 se puede enviar - a través de correo electrónico, FTP o cualquier otro medio de protocolo de comunicación - a un dispositivo remoto para su procesamiento adicional.
Arquitectura del sistema de supervisión
La figura 10 ilustra un sistema de supervisión 1000 (y funciones de interfaz asociadas) usado en la supervisión de información relativa a dispositivos remotos según una realización de ejemplo de la presente invención. El sistema de supervisión 1000 incluye el software MonitorService 1004, que es un programa residente informático, tal como Service (en NT o Windows 2000) o Daemon (en Unix). En una realización preferente, el sistema de supervisión se implementa en un entorno de software orientado al objeto. Incluidos también en el sistema de supervisión 1000, hay un módulo Timer 1002 y un módulo Monitor 1006. El módulo Timer 1002 y el módulo Monitor 1006 son funciones de biblioteca captadas por el módulo MonitorService 1004. Por ejemplo, el MonitorService 1004 inicializa el módulo Timer 1002 activando la función initTimer 1003, y obtiene parámetros de demora y acción activando la función obtainDelayAndAction (int &, int &). La función init( ) también es activada por el módulo MonitorService 1004 para inicializar diversos módulos contenidos en el módulo Monitor 1006, según se ilustra en la figura 13. La función init( ) se puede usar para obtener la dirección de IP y el valor de parámetro asignados a un dispositivo supervisado a través de una fuente externa que contiene las direcciones de IP y los nombres y valores de parámetros obtenidos mediante procedimientos conocidos. El módulo Monitor 1006 está acoplado comunicativamente a una base de datos de apoyo 1024 y a una base de datos de Monitor 1014, descritas más detalladamente a continuación.
Una vez obtenida la dirección de IP de un dispositivo supervisado, dicha dirección de IP es usada por el sistema de supervisión para entrar en contacto con el dispositivo supervisado y obtener información, tal como información relativa a fabricante (proveedor) y modelo. Algunas de las funciones ejecutadas por el sistema de supervisión 1000 incluyen:
\vskip1.000000\baselineskip
void initTimer(void)
Esta función inicializa Timer. En particular, esta función activa el objeto temporizador para obtener información de temporización del registro.
\vskip1.000000\baselineskip
void obtainDelayAndAction(int & out_nDelay, int & out_nAction)
Esta función retorna el tiempo de demora en segundos correspondiente a la función ::Sleep (debe multiplicarse por 1000) y al indicador de acción. El indicador de acción se define en la forma siguiente: 0 = verificación de eventos; 1 = envío de información supervisada; y 2 = supervisión y almacenamiento de información en la base de datos local.
\vskip1.000000\baselineskip
int init(void)
Esta función inicializa el módulo Monitor. Además, crea los dispositivos a supervisar. El retorno int es el código de error en el que cero se define como no error.
\vskip1.000000\baselineskip
int monitorStatus(int in_nAction)
Esta función supervisa la información previamente establecida. El retorno int es el código de error en el que cero se define como no error.
\vskip1.000000\baselineskip
int end(void)
Esta función limpia el módulo Monitor antes de cerrar los objetos. El retorno int es el código de error en el que cero se define como no error.
\vskip1.000000\baselineskip
Módulo de supervisión
La figura 11 muestra los detalles estructurales del módulo Monitor 1006, incluyendo los diversos submódulos del software y las funciones de llamada entre los submódulos del módulo Monitor 1006. El módulo Monitor 1006 incluye un módulo Common 1101 que contiene las clases usadas por muchos módulos, un módulo MonitorManager 1102 que gestiona los restantes submódulos (incluyendo el módulo DeviceODBC 1104, el módulo Device 1110 y el módulo HWaccess 1116) para completar las tareas definidas por las funciones de interfaz, según se ilustra en la figura 10. Específicamente, se accede al módulo DeviceODBC 1104 para obtener información de los dispositivos externos a través de la interfaz estándar. El módulo HWaccess 1116 obtiene información del proveedor, del modelo, de la ID única y del estado, proveniente de los dispositivos supervisados, usando un protocolo de comunicación seleccionado de entre una pluralidad de protocolos de comunicación (por ejemplo, HTTP, SNMP y FTP). Cada uno de los módulos de software Monitor se describe a continuación más detalladamente.
\newpage
El siguiente es un listado y descripción parciales de las interfaces entre los módulos de supervisión anteriormente descritos. Por ejemplo, algunos módulos pueden requerir funciones "init" o funciones adicionales para obtener la información en un formato adecuado.
\vskip1.000000\baselineskip
void updateConfig(std::map<infoType, std::string> &)
Antes de invocar esta función, es preferible que la función de llamada no sustituya las entradas de proveedor y modelo si las funciones de obtención retornan una cadena de nula. Esta función actualiza la base de datos de información del dispositivo en el registro actual del DeviceODBC 1104. Esta función proporciona su mayor eficacia si se llama inicialmente al ObtainConfig que a continuación se indica. Primeramente, esta función verifica si la dirección de IP es la misma en el DeviceODBC 1104. Si los campos de dirección de IP no son iguales, se obtiene de la base de datos el registro con la dirección de IP correcta. A continuación, se copian los restantes campos y se actualiza el registro.
\vskip1.000000\baselineskip
bool obtainConfig(std::map<infoType, std::string>&, std::map<std::string, std::vector<SParameter>> &)
Esta función obtiene el mapa del DeviceODBC 1104 para la información del dispositivo en un determinado formato, además del mapa de protocolos y parámetros asociados. La función retorna "verdadero" si se proporciona información, y "falso" si no hay información adicional.
\vskip1.000000\baselineskip
bool saveStatus(std::map<infoType, std::string> &)
Esta función conserva la información de estado en el DeviceODBC 1104. La función retorna "verdadero" si la conservación ha tenido éxito, y "falso" en caso contrario.
\vskip1.000000\baselineskip
CDevice * createDevice(const std::string & in_sIP, CHWaccess & in_HWaccess, std::map<std::string, std::vector<SParameter>> & in_ProtocolParameters)
Esta función crea el dispositivo basado en in_sIP y en in_ProtocolParameters. El dispositivo creado se conecta al hardware a través de CHWaccess. Si el dispositivo no puede ser creado, la función retorna 0. Por consiguiente, el objeto invocante debe verificar si el indicador del objeto de retorno es o no es 0.
\vskip1.000000\baselineskip
bool canAccessHW(void)
Esta función retorna "verdadero" si es posible acceder al hardware a través de la red, y "falso" en caso contrario.
\vskip1.000000\baselineskip
bool getVendor(std::string & out_sVendor)
Esta función proporciona el nombre del proveedor. Si el dispositivo no está soportado por el sistema, aunque se pueda acceder a él a través de uno de los protocolos, la cadena contendrá "GENERIC". Si se detecta un error durante el proceso, la función retorna "falso" con una cadena nula. En caso contrario, la función retorna "verdadero".
\vskip1.000000\baselineskip
bool getModel(std::string & out_sModel)
Esta función obtiene el modelo del dispositivo. Si se obtiene el modelo, la función retorna "verdadero". Si se detecta un error durante el proceso, la función retorna "falso" con una cadena nula.
\vskip1.000000\baselineskip
bool getUniqueID(std::string & out_sUniqueID)
Esta función retorna la ID única del dispositivo. Si se obtiene la ID única, la función retorna "verdadero". Si se detecta un error durante el proceso, la función retorna "falso" con una cadena nula.
\vskip1.000000\baselineskip
bool obtainStatus(map<infoType, std::string & out_StatusMap)
Esta función retorna el mapa de estado. La función retorna "verdadero" si se obtiene el estado, y "falso" si no se obtiene el estado. Obsérvese que esta función retorna los diferentes mapas desde los módulos HWaccess y Device. En el módulo Device, se agrega información de estado de eventos al mapa proporcionado por HWaccess, y luego se borra.
\vskip1.000000\baselineskip
enum checkEventStatus(void)
Esta función se activa para obtener un evento del dispositivo de la red. El tipo y los valores de enum deben
definirse en las clases. Los valores enum deberán incluir valores eNoEventSinceClearAndNoEventDetected, eNo
EventSinceClearAndEventDetected, eEventSinceClearAndNoEventDetected, eEventSinceClearAndEventDetected,
\vskip1.000000\baselineskip
bool obtainEventStatus(std::map<infoType, std::string> & out_EventStatusMap)
Esta función obtiene información del estado de eventos. La función retorna "verdadero" si obtiene el estado, y "falso" si no obtiene el estado.
\vskip1.000000\baselineskip
void clearEventStatus(void)
Esta función borra el estado de evento acumulado desde la última llamada a la función obtainStatus o clearEvent Status.
\vskip1.000000\baselineskip
void initBegin(void)
Esta función inicia el proceso de inicialización a través de HWaccess, específicamente, para crear objetos de dispositivo de software.
\vskip1.000000\baselineskip
void initEnd(void)
Esta función finaliza el proceso de inicialización a través de HWaccess, indicando que la creación del objeto de dispositivo ha finalizado.
\vskip1.000000\baselineskip
bool canAccessIP(const std::string & in_sIP, std::map< std::string, std::vector<SParameter>>& in_Protocol Parameters)
Esta función retorna "verdadero" cuando se puede acceder al dispositivo en la dirección de IP, y "falso" en caso contrario.
\vskip1.000000\baselineskip
bool obtainVendor(std::string & out_sVendor, std::map<std::string, std::vector<SParameter>> & inOut_Protocol Parameters, const std::string & in_sIP)
Esta función obtiene el proveedor. La función retorna "verdadero" si la operación ha tenido éxito, en caso contrario retorna "falso" con una cadena vacía. Durante esta invocación de función se examinan los protocolos y si un determinado protocolo no puede ser usado para la supervisión de estado, el protocolo es eliminado de los inOut_Protocol
Parameters.
\vskip1.000000\baselineskip
bool obtainModel(std::string & out_sModelName, std::map<std::string, std::vector<SParameter>> & inOut_ProtocolParameters, const std::string & in_sIP)
Esta función obtiene el nombre del modelo. La función retorna "verdadero" si la operación ha tenido éxito, y "falso", con una cadena vacía, en caso contrario. Durante esta llamada de función se examinan los protocolos; si un determinado protocolo no puede ser usado para la supervisión de estado, el protocolo es eliminado de los inOut_ProtocolParameters.
\vskip1.000000\baselineskip
bool obtainUniqueID(std::string & out_sUniqueID, std::map<std::string, std::vector<SParameter>>& inOut_ProtocolParameters, const std::string & in_sIP)
Esta función obtiene la ID única. La función indica "verdadero" si la operación ha tenido éxito, y "falso", con una cadena vacía, en caso contrario. Durante esta invocación de función se examinan los protocolos y si un determinado protocolo no puede ser usado para la supervisión de estado, el protocolo es eliminado de los inOut_ProtocolParameters.
\vskip1.000000\baselineskip
EerrorCode obtainEventStatus(std::map<infoType, std::string> & out_StatusMap, const std::string & in_sIP, std::map<std::string , std::vector<SParameter>> & in_ProtocolParameters)
Esta función obtiene el estado de los eventos. El ErrorCode se define a continuación.
\vskip1.000000\baselineskip
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)
Esta función obtiene el estado del dispositivo. La función retorna "verdadero" si la operación ha tenido éxito, "falso" con una cadena vacía, en caso contrario.
\vskip1.000000\baselineskip
La figura 12 muestra la estructura de datos usada por el módulo HWaccess 1116, según se ilustra en la figura 11, para intercambiar información destinada a la recuperación de los valores asociados a los valores clave recibidos por el módulo HWaccess 1116. Por ejemplo, la estructura de datos SKeyValueInfo, mostrada en la figura 12, se emplea para determinar la forma de obtener información correspondiente a un determinado tipo de información (correspondiente a m_infoType 1202) dentro de una determinada página web. Típicamente, múltiples proveedores emplean identificadores y nomenclatura específicos del proveedor para identificar la información clave que se visualiza en sus respectivas páginas web relativa a un dispositivo supervisado. Por ejemplo, para determinar el número de páginas impresas por un dispositivo impresor, Hewlett Packard emplea la característica "Page Count", en tanto que Xerox identifica lo mismo empleando la característica "Total Sheets Delivered". Una característica de la presente invención consiste en resolver las variaciones de un proveedor a otro con el fin de proporcionar un procedimiento regularizado y uniforme para identificar la información específica del dispositivo y extraer el valor correspondiente a la información a través de una estructura de datos/estructura SKeyValueInfo 1200. La estructura de datos SKeyValueInfo 1200 incluye atributos que son públicos.
Típicamente, la SKeyValueInfo es una estructura creada para identificar información sobre valores a partir de la información recibida desde un dispositivo supervisado en forma de cadena de datos o cadena clave. La SKeyValueInfo incluye una pluralidad de campos, cada uno de los cuales está representado por la información ilustrada en la figura 12. La estructura SKeyValueInfo 1200 incluye un campo m_sKey 1204 que representa una clave de cadena, un campo m_nPosition 1206, que preferentemente es un valor basado en una etiqueta que señala el número de posiciones de la cadena donde podría estar ubicada una información de valor, y un campo m_nInLinePosition 1212. Por ejemplo, el recuento de páginas de un dispositivo impresor sujeto a supervisión podría encontrarse en una segunda posición a continuación de la palabra clave. m_sType 1208 representa el tipo de información que se puede recuperar de la página web visualizada de un dispositivo supervisado.
Cuando el valor, tal como, por ejemplo, el nombre del modelo del dispositivo supervisado, se encuentra dentro de la misma línea de datos de la clave (nombre del producto), el campo m_nPosition es "0". m_sDelimiter 1210 indica un delimitador específico que se usa para extraer el valor asociado a la clave. La estructura de datos SKeyValueInfo indica cómo se extrae la información de valor de la información recibida proveniente de un dispositivo supervisado usando un formato HTML.
La figura 13 muestra la secuencia de la función init() para describir la secuencia de llamadas del módulo Monitor 1006 ilustrado en la figura 10. El MonitorManager 1102 inicializa el módulo HWaccess 1116 que inicia la función de inicialización. Subsiguientemente, el MonitorManager 1102 obtiene información sobre un dispositivo supervisado y usa una dirección de IP asignada a dicho dispositivo supervisado para comunicarse con el dispositivo supervisado. El MonitorManager 1102 accede al DeviceODBC 1104 para obtener información sobre la configuración del dispositivo supervisado. La información de configuración devuelta al MonitorManager 1102 incluye, por ejemplo, una dirección de IP del dispositivo supervisado, nombres de parámetros y valores asociados para cada protocolo, e información del proveedor/fabricante y modelo del dispositivo supervisado. Una vez obtenida la dirección de IP, el MonitorManager 1102 establece la dirección de IP y los nombres y valores asociados de los parámetros para cada protocolo con el fin de crear un objeto de software basado en una estructura de clase del módulo Device 1110 a través de la clase CDeviceFactory 2001. Después de crear con éxito el objeto de software del dispositivo, se usa el módulo HWaccess 1116 para obtener los datos referentes al proveedor, modelo e ID singular del dispositivo supervisado, los cuales se almacenan en el objeto de software creado del dispositivo.
Después de obtener la información sobre el proveedor, el modelo y la ID única del objeto de software del dispositivo, el MonitorManager 1102 actualiza la base de datos (por ejemplo, DeviceODBC 1104) con la información recibida desde el dispositivo supervisado. Aunque la figura 13 muestra un solo dispositivo, se repiten las etapas desde obtainConfig hasta updateConfig para cubrir todos los dispositivos especificados en la fuente externa. Además, se inicializa cada uno de los protocolos especificados en las figuras 23 y 24. Se accede a la tabla de base de datos correspondiente al ODBC de la figura 24 y se transfiere la información necesaria para los dispositivos a los que se ha accedido desde el almacenamiento externo hasta la estructura de datos interna para agilizar la recogida de la información de estado de los dispositivos a los que se ha accedido.
La figura 14 muestra la secuencia de la función de supervisión de estado con que se determina el estado de un dispositivo supervisado a través del módulo MonitorManager 1102, según se ilustra en la figura 11. Cuando la función obtainStatus es emitida desde Device a HWaccess, la clase CHWaccess emite, a su vez, una llamada de función obtainStatus a cada protocolo descrito en las figuras 23 y 24 a través de la clase abstracta, con diferentes parámetros, en la forma que a continuación se describe. Cada módulo de protocolo ya habrá captado la información necesaria para extraer la información de estado de los dispositivos supervisados a los que se ha accedido una vez durante el período de inicialización descrito en la figura 13. Por consiguiente, la información de estado se puede extraer rápidamente de los dispositivos supervisados sin necesidad de acceder a la fuente externa durante la supervisión de estado. Este proceso se repite en todos los dispositivos supervisados almacenados en el vector, según se aprecia en la figura 15.
Con referencia a la figura 15, se muestra un vector 1500 relacionado con los dispositivos creados por el
CDeviceFactory 1106 y utilizado por el MonitorManager 1102, según se ilustra en las figuras 13 y 14. El MonitorManager 1102 almacena indicadores de dispositivo, tales como, por ejemplo, el Pointer to Device Object 1502 y el Pointer to CDevice Object 1504, creados por el CDeviceFactory 1106 en el vector. La secuencia de vector es iterada para obtener el estado de un dispositivo supervisado. La interrogación de los dispositivos supervisados se lleva a cabo sobre el objeto de dispositivo mediante la emisión de una orden obtainStatus. Una vez obtenido el estado de cada objeto de software, el estado en cuestión se actualiza a través del DeviceODBC 1104. La secuencia de supervisión de estado se ha descrito anteriormente en relación con la figura 14, por lo que no se describirá nuevamente.
La estructura DeviceInfo mostrada en la Tabla I ilustra la información relativa a un ejemplo de dispositivo de supervisión. La estructura DeviceInfo incluye la dirección de correo electrónico y el número de teléfono de la persona de contacto.
TABLA I
1
Base de datos de supervisión
La figura 19 ilustra una organización de la base de datos de supervisión que incluye la información de dispositivo para cada uno de los dispositivos supervisados (véase también la Tabla I). Según muestra la figura 19, un conjunto de parámetros - con un conjunto asignado a cada protocolo de comunicación (tal como SNMP, HTTP y FTP) - se encuentra asociado al dispositivo de información DeviceInfo 1902 para cada dispositivo supervisado. Además, cada conjunto de parámetros para un determinado protocolo (tal como SNMP 1908, HTTP 1910 y FTP 1912) está organizado en forma de lista de pares de nombre y valor de parámetros, tal como sPar1Name y sPar1Value. Obsérvese que el número de parámetros para cada protocolo puede ser menor o mayor que el número mostrado en la figura 19. Por ejemplo, se puede almacenar un nombre de usuario y una contraseña como parámetros FTP, en tanto que se puede almacenar el nombre y contraseña de una comunidad como parámetros SNMP para un determinado dispositivo supervisado. Según se aprecia en la figura 19, la base de datos de supervisión incluye también información relativa a DeviceHistory 1904 y a EnumCorrespondence 1906.
La figura 17 ilustra la estructura de datos SParameter 1700 que se usa para pasar los parámetros empleados por los diversos protocolos de comunicación. El SParameter incluye dos campos: m_sParName 1702 y m_sParValue 1704, que representan el nombre y el valor del parámetro, respectivamente.
La figura 18 ilustra la estructura de mapas 1800 que se usa para pasar un vector de parámetros destinado a cada protocolo obtenido de la base de datos de supervisión a un objeto de software asociado a cada dispositivo supervisado. La estructura de mapas 1800 asocia cada campo de protocolo/clave 1802, 1804 y 1806 a un correspondiente vector de parámetros 1808, 1810 y 1812, respectivamente, dispuestos según el formato de SParameter mostrado en la figura 17. Por ejemplo, para el protocolo SNMP 1802, el vector de parámetros 1808 puede incluir una lista de pares de nombre de parámetro, valor de parámetro usados para acceder al dispositivo supervisado con el protocolo SNMP. Por ejemplo, los nombres del parámetro SNMP almacenados en el vector 1808 podría incluir "Nombre comunitario" y "Contraseña" junto con los correspondientes valores de parámetro. No obstante, deberá tenerse presente que la organización de la estructura de mapas 1800 permite cualquier número de protocolos y vectores de parámetro asociados, sin limitarse a los protocolos SNMP, HTTP y FTP mostrados en la figura 18.
Base de datos de apoyo
Las figuras 20-22 ilustran la organización de la base de datos de apoyo 1024 mostrada en la figura 10. La base de datos de apoyo, que incluye la información necesaria para extraer información de estado de cada dispositivo supervisado, se organiza según protocolo de comunicación. Por ejemplo, la figura 20, que ilustra la organización de la base de datos de apoyo para la información de apoyo relativa al SNMP que se usa para extraer información de un dispositivo supervisado, incluye las estructuras de datos SNMPVendor 2002, SNMPComVendorStatus 2004,
EnumCorrespondence 2006 y SNMPVendorModelStatus 2008. Una determinada estructura de datos de la base de datos de apoyo podría incluir parámetros que identifican de modo único el tipo de información de estado a extraer, además de los parámetros que controlan la extracción. Por ejemplo, la estructura de datos SNMPComVendorStatus 2004 incluye un campo nENUM 2009 que identifica el tipo de información a extraer (por ejemplo, nivel del tóner), y un campo nRelativePriority 2010, que indica el peso o importancia de la información extraída relativa a otros protocolos. Por consiguiente, si se puede extraer la misma información del dispositivo supervisado usando más de un protocolo, el valor nRelativePriority proporciona indicación acerca de qué valor de protocolo extraído deberá usarse. Por ejemplo, si HTTP sólo es capaz de extraer información indicativa de que el nivel de tóner es "alto" o "bajo", en tanto que el protocolo SNMP es capaz de extraer el nivel porcentual del tóner que aún queda, el nivel de prioridad del nivel de tóner para SNMP sería mayor que el valor correspondiente para HTTP. Además, la base de datos de apoyo puede proporcionar valores de prioridad por defecto para la totalidad de un protocolo. En una realización, al protocolo SNMP se le asigna un valor de prioridad 10.000 dentro de un sistema en el que los valores de protocolo están en el intervalo de 0 a 32.000.
Las figuras 21 y 22 ilustran las estructuras de datos incluidas en las partes HTTP y FTP de la base de datos de apoyo 1024, e incluyen unas estructuras de datos análogas a las estructuras de datos anteriormente descritas en relación con la figura 20.
Un ejemplo de los tipos enum usados en la presente invención lo constituye el infoType que a continuación se describe. (Los tipos enum son meros ejemplos, y no deberán interpretarse como limitantes de la presente invención).
\vskip1.000000\baselineskip
InfoType (typedef int infoType)
Esta sección describe la definición del infoType (int). Se asigna el intervalo de valores de 0 a 99 al tipo de datos. El intervalo de valores de 100 a 499 se asigna a la información del dispositivo. El intervalo de valores de 500 a 1999 se asigna a los parámetros comunes, incluyendo los parámetros MIB estándar. El intervalo 2000 a 3999 se asigna a la información específica de Ricoh. El intervalo 4000 a 4999 se asigna a Xerox. El intervalo 5000 a 5999 se asigna a Lexmark. El intervalo 6000 a 6999 se asigna a HP. Los valores se definen en la forma que a continuación se indica:
\quad
\hskip0,5cm 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, RicohEngineCounterPrinter, eRicohEngineCounterFax, eRicohEngineCounterCopier}.
\vskip1.000000\baselineskip
EerrorCode
Los siguientes códigos son meros ejemplos, pudiendo agregarse más códigos al conjunto existente. El intervalo 0-99 es reservado. El intervalo 100-199 es para SMTP, 200-299 es para POP3, 300-399 es para Socket, 400-499 es para HTTP y 500-599 es para FTP. Otros intervalos no especificados podrán ser definidos por el usuario, en caso necesario.
\quad
\hskip0,5cm enum EerrorCode(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, eInternalServerError=450, eNotImplemented, eBadGateway, eServiceUnavailable, eGatewayTimeOut, eHTTPVersionNotSupported, eMultipleChoices=480, eMovedPermanently, eFound, eSeeOther, eNotModified, eUseProxy, eTemporaryRedirect).
Clases abstractas del módulo DeviceODBC
La figura 16 ilustra la estructura de clase del módulo DeviceODBC, según la presente invención, y muestra la forma en que se usa la estructura de clase CAbsProtocolParameters dentro del módulo DeviceODBC. La clase
CAbsProtocolParameters ha sido diseñada para comunicarse con la base de datos Monitor 1014 y para obtener información que permita acceder a los dispositivos supervisados usando un protocolo de comunicación específico. La clase CAbsProtocolParameters tiene dos funciones virtuales, independientes en lo referente al protocolo:
(1) std::string obtainProtocolName(void); y
(2) bool obtainParameterVector(std::vector<SParameter > & out_ParameterVector, const std::string in_sIP).
Usando estas funciones, la clase CDeviceODBC puede manejar un número equivalente de protocolos y sus nombres y valores de parámetro asociados usando el indicador para el tipo CAbsProtocolParameter, sin identificar el protocolo. La información obtenida para cada dispositivo (por ejemplo, dirección de IP) se almacena en la estructura de datos de la figura 18, y pasa al módulo MonitorManager 1102 a través de la función obtainConfig. Desde la perspectiva del CDeviceODBC, se considera que todos los objetos usados en la obtención de nombre de protocolo y nombres y valores de parámetros asociados son del tipo de parámetro CAbsProtocolParameters. Por consiguiente, al agregar un nuevo parámetro, deberá crearse y almacenarse un nuevo objeto en el vector de indicadores para la clase CAbsProtocolParameters. Las restantes funciones no requieren cambio.
Clases abstractas del módulo HWAccess
La figura 23 ilustra la estructura de clase del módulo HWaccess según la presente invención, y muestra la forma en que se usa la estructura de clase CAbsProtocol dentro del módulo HWaccess. La clase CAbsProtocol ha sido diseñada para comunicarse con la base de datos de apoyo 1024 y para obtener información de apoyo que permita extraer información de estado de los dispositivos supervisados usando un protocolo de comunicación específico. La clase CAbsProtocol tiene las funciones virtuales anteriormente descritas: initBegin, initEnd, canAccessIP, obtainVendor, obtainModel, obtainUniqueID, obtainEventStatus, y obtainStatus. Sin embargo, el primer parámetro de las funciones obtainEventStatus y obtainStatus son de un tipo diferente. En lugar de std::map<infoType, std::string>, el tipo de estado es std::map<infoType, std::pair<std::string, int>>. Esto permite acomodar la nRelativePriority, que a su vez permite obtener la información de mayor estado de prioridad, según lo anteriormente expuesto. Para cada dispositivo y cada protocolo, el sistema puede comprobar si el infoType específico que se puede obtener para el dispositivo se encuentra ya entre los datos del mapa de estado. Si no se encuentra entre los datos del mapa de estado, el infoType específico se agrega a la información a extraer para el protocolo. Si se encuentra entre los datos del mapa de estado, se compara con nRelativePriority. Si la prioridad en los datos del mapa de estado es mayor o igual, no se obtiene el infoType usando el protocolo. Si la prioridad en los datos del mapa de estado es inferior, se agrega el intoType a la información a extraer y se sustituye en los datos del mapa de estado.
La clase CAbsProtocol también tiene dos funciones virtuales, independientes en lo referente al protocolo:
(1) void initWithVendor(std::map<std::string, std::vector<Sparameter>> & inOut_ProtocolParameters, const
std::string & in_sVendor); y
\newpage
(2) void initWithModel(std::map<std::string, std::vector<Sparameter>> & inOut_ProtocolParameters, const
std::string & in_sModel).
La figura 24 ilustra la estructura de clase uniforme de los módulos HTTP, SNMP y FTP mostrados en la figura 23, además de la correspondiente relación con la clase CAbsProtocol. Obsérvese que "XXX" se refiere a un protocolo específico (por ejemplo, HTTP, SNMP o FTP), y que la presente invención tiene por finalidad ampliar el número de protocolos. Este uso del CAbsProtocol permite que la clase CHWaccess maneje el futuro apoyo de protocolo sin cambiar las funciones principales. Al agregar un nuevo protocolo para fines de apoyo, dicho nuevo protocolo debería seguir la estructura de las figuras 23 y 24. Seguidamente, la clase CHWaccess sólo necesitará crear el objeto de protocolo añadido y situarlo en el vector de los indicadores de objeto CAbsProtocol.
Procedimientos de supervisión
La figura 25 ilustra las etapas de un procedimiento para almacenar eficazmente una información configurada para ser usada por una pluralidad de protocolos de comunicación con el fin de acceder a un dispositivo supervisado entre diversos dispositivos acoplados comunicativamente a una red.
En la etapa 2502, se accede a una primera memoria para obtener información que permita acceder al dispositivo usando al menos un protocolo de comunicación apoyado por el dispositivo. En la realización preferente, la unidad externa de almacenamiento de información es la base de datos de Monitor 1014, que contiene la información del dispositivo mostrada en la figura 19. Por ejemplo, se puede acceder a la primera memoria para obtener (1) la dirección de IP de un dispositivo, (2) un nombre de usuario y una contraseña para acceder al dispositivo usando FTP, o (3) un nombre y contraseña comunitarios para acceder al dispositivo usando SNMP.
En la etapa 2504, la información para acceder al dispositivo obtenida de la primera memoria se almacena en la segunda memoria. En la realización preferente, la segunda memoria comprende un vector de pares de nombre de parámetro y valor de parámetro para cada protocolo de la pluralidad de protocolos de comunicación. Además, en la realización preferente, la información para acceder al dispositivo se almacena en un objeto de software asociado al dispositivo. Véase la figura 13.
A continuación, en la etapa 2506, se selecciona un protocolo de comunicación (por ejemplo, HTTP, SNMP, FTP, etc.) entre una pluralidad de protocolos de comunicación para acceder al dispositivo.
Finalmente, en la etapa 2508, se accede al dispositivo usando el protocolo de comunicación seleccionado y la información almacenada en la segunda memoria. La figura 25 ilustra las etapas de un procedimiento destinado a almacenar eficientemente la información configurada que será usada para una pluralidad de protocolos de comunicación con el fin de acceder a un dispositivo supervisado entre diversos dispositivos acoplados comunicativamente a una red.
Aunque la presente invención ha sido descrita de manera que incluye unos cuantos dispositivos conectados a una red que requieren supervisión, resultará evidente que se puede conectar a la red un número cualquiera de dispositivos sin desviarse del espíritu y alcance de la invención. Además, la presente invención es aplicable a un entorno doméstico que requiere la supervisión y el control de varios dispositivos.
La presente invención permite supervisar los diversos dispositivos de un entorno de múltiples proveedores, y además facilita la recuperación y visualización de información detallada en una forma comprensible y al alcance del usuario, incluso sin disponer de la información privada específica de una base de información de gestión (MIB).
El controlador de la presente invención se puede implementar de manera conveniente usando un ordenador digital convencional de aplicación general o un microprocesador programado de acuerdo con las enseñanzas de la presente memoria descriptiva, como resultará evidente para los expertos en el arte de la informática. Unos programadores experimentados podrán preparar fácilmente una codificación de software apropiada basándose en las enseñanzas de la presente descripción, como resultará evidente para los expertos en técnicas de software. La invención también se puede implementar preparando unos circuitos integrados específicos para la aplicación, o bien interconectando una red adecuada de circuitos componentes convencionales, como resultará evidente para los expertos en la técnica.
La presente invención incluye un producto de programa informático, según se define en la reivindicación 21, con las realizaciones especificadas en las reivindicaciones 22 a 30.
Obviamente, hay numerosas modificaciones y variaciones posibles de la presente invención de acuerdo con las enseñanzas precedentes. Por consiguiente, deberá entenderse que, dentro del alcance de las reivindicaciones adjuntas, la invención podrá ponerse en práctica de manera diferente a la descrita específicamente en las diversas realizaciones.

Claims (30)

1. Un procedimiento para almacenar información configurada para ser usada con una pluralidad de protocolos de comunicación con el fin de extraer información de estado relativa a un dispositivo supervisado entre diferentes dispositivos acoplados comunicativamente a una red, que comprende:
recuperar, desde una primera memoria, información de apoyo para extraer la información de estado usando la pluralidad de protocolos de comunicación;
almacenar, en una segunda memoria, la información obtenida de la primera memoria para acceder al dispositivo usando la pluralidad de protocolos de comunicación;
seleccionar un protocolo de comunicación entre la pluralidad de protocolos de comunicación; y
acceder al dispositivo usando el protocolo de comunicación seleccionado y la información almacenada en la segunda memoria para extraer la información de estado,
caracterizado porque la información de estado se extrae usando funciones de interfaz virtual asociadas a una clase de software abstracto, y porque las funciones de interfaz virtual son comunes a cada protocolo de la pluralidad de protocolos de comunicación.
2. El procedimiento de la reivindicación 1, en el que la información para extraer la información de estado usando la pluralidad de protocolos de comunicación se almacena en la segunda memoria, en unas estructuras de datos dependientes del protocolo.
3. El procedimiento de la reivindicación 1, en el que la etapa de recuperación comprende:
recuperar, de la primera memoria, datos de prioridad relativa asociados a por lo menos un tipo de información de estado para al menos un protocolo de comunicación de la pluralidad de protocolos de comunicación.
4. El procedimiento de la reivindicación 3, en el que los datos de prioridad relativa incluyen una indicación de la calidad de al menos un tipo de información de estado que se puede obtener usando cada protocolo del por lo menos un protocolo de comunicación.
5. El procedimiento de la reivindicación 1, en el que la etapa de recuperación comprende:
recuperar, de la primera memoria, datos de prioridad relativa asociados a por lo menos un protocolo de comunicación de la pluralidad de protocolos de comunicación.
6. El procedimiento de la reivindicación 1, en el que la etapa de recuperación comprende:
recuperar, de la primera memoria, al menos un elemento de entre una dirección de página web, una contraseña y una ubicación relativa para acceder al dispositivo usando HTTP.
7. El procedimiento de la reivindicación 1, en el que la etapa de acceso al dispositivo comprende:
extraer la información de estado usando datos de prioridad relativa asociados a al menos un tipo de información de estado para al menos un protocolo de comunicación de la pluralidad de protocolos de comunicación.
8. El procedimiento de la reivindicación 1, en el que la etapa de selección comprende:
seleccionar un protocolo de comunicación entre SNMP, HTTP y FTP.
9. El procedimiento de la reivindicación 1, en el que la etapa de acceso comprende:
transmitir al dispositivo la información almacenada en la respectiva segunda memoria necesaria para acceder al dispositivo usando el protocolo de comunicación seleccionado.
10. El procedimiento de la reivindicación 9, en el que la etapa de acceso comprende:
recibir en el dispositivo la información transmitida; y
procesar en el dispositivo la información recibida.
11. Un sistema para almacenar información configurada para ser usada por una pluralidad de protocolos de comunicación con el fin de extraer información de estado relativa a un dispositivo supervisado entre diferentes dispositivos acoplados comunicativamente a una red, que comprende:
un medio para recuperar, desde una primera memoria, información de apoyo para extraer la información de estado usando la pluralidad de protocolos de comunicación;
un medio para almacenar, en una segunda memoria, la información obtenida de la primera memoria para acceder al dispositivo usando la pluralidad de protocolos de comunicación;
un medio para seleccionar un protocolo de comunicación entre la pluralidad de protocolos de comunicación; y
un medio para acceder al dispositivo usando el protocolo de comunicación seleccionado y la información almacenada en la segunda memoria para extraer la información de estado,
caracterizado porque la información de estado se extrae usando funciones de interfaz virtual asociadas a una clase de software abstracto, y porque las funciones de interfaz virtual son comunes a cada protocolo de la pluralidad de protocolos de comunicación.
12. El sistema de la reivindicación 11, en el que la información para extraer la información de estado usando la pluralidad de protocolos de comunicación se almacena en la segunda memoria, en unas estructuras de datos dependientes del protocolo.
13. El sistema de la reivindicación 11, en el que el medio de recuperación comprende:
un medio para recuperar, de la primera memoria, datos de prioridad relativa asociados a por lo menos un tipo de información de estado para al menos un protocolo de comunicación de la pluralidad de protocolos de comunicación.
14. El sistema de la reivindicación 13, en el que los datos de prioridad relativa incluyen una indicación de la calidad de al menos un tipo de información de estado que se puede obtener usando cada protocolo del por lo menos un protocolo de comunicación.
15. El sistema de la reivindicación 11, en el que el medio de recuperación comprende:
un medio para recuperar, de la primera memoria, datos de prioridad relativa asociados a por lo menos un protocolo de comunicación de la pluralidad de protocolos de comunicación.
16. El sistema de la reivindicación 11, en el que el medio de recuperación comprende:
un medio para recuperar, de la primera memoria, al menos un elemento de entre una dirección de página web, una contraseña y una ubicación relativa para acceder al dispositivo usando HTTP.
17. El sistema de la reivindicación 11, en el que el medio de acceso al dispositivo comprende:
un medio para extraer la información de estado usando datos de prioridad relativa asociados a por lo menos un tipo de información de estado para al menos un protocolo de comunicación de la pluralidad de protocolos de comunicación.
18. El sistema de la reivindicación 11, en el que el medio de selección comprende:
un medio para seleccionar un protocolo de comunicación entre SNMP, HTTP y FTP.
19. El sistema de la reivindicación 11, en el que el medio de acceso comprende:
un medio para transmitir al dispositivo la información almacenada en la respectiva segunda memoria y que se necesita para acceder al dispositivo usando el protocolo de comunicación seleccionado.
20. El sistema de la reivindicación 19, en el que el medio de acceso comprende:
un medio para recibir, en el dispositivo, la información transmitida; y
un medio para procesar, en el dispositivo, la información recibida.
21. Un producto de programa informático provisto de un medio que puede ser usado por un ordenador que almacena un programa informático para realizar el procedimiento de la reivindicación 1 al ser cargado en un ordenador.
22. El producto de programa informático de la reivindicación 21, en el que dicho programa informático está adaptado para realizar el procedimiento de la reivindicación 2.
23. El producto de programa informático de la reivindicación 21, en el que dicho programa informático está adaptado para realizar el procedimiento de la reivindicación 3.
\newpage
24. El producto de programa informático de la reivindicación 23, en el que dicho programa informático está adaptado para realizar el procedimiento de la reivindicación 4.
25. El producto de programa informático de la reivindicación 21, en el que dicho programa informático está adaptado para realizar el procedimiento de la reivindicación 5.
26. El producto de programa informático de la reivindicación 21, en el que dicho programa informático está adaptado para realizar el procedimiento de la reivindicación 6.
27. El producto de programa informático de la reivindicación 21, en el que dicho programa informático está adaptado para realizar el procedimiento de la reivindicación 7.
28. El producto de programa informático de la reivindicación 21, en el que dicho programa informático está adaptado para realizar el procedimiento de la reivindicación 8.
29. El producto de programa informático de la reivindicación 21, en el que dicho programa informático está adaptado para realizar el procedimiento de la reivindicación 9.
30. El producto de programa informático de la reivindicación 29, en el que dicho programa informático está adaptado para realizar el procedimiento de la reivindicación 10.
ES04255890T 2003-09-26 2004-09-27 Procedimiento y sistema para extraer informacion de dispositivos de red en un sistema de vigilancia remoto multiprotocolo. Expired - Lifetime ES2271795T3 (es)

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 (1)

Publication Number Publication Date
ES2271795T3 true ES2271795T3 (es) 2007-04-16

Family

ID=34194825

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04255890T Expired - Lifetime ES2271795T3 (es) 2003-09-26 2004-09-27 Procedimiento y sistema para extraer informacion de dispositivos de red en un sistema de vigilancia remoto multiprotocolo.

Country Status (5)

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

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 (en) 2006-08-30
US7519698B2 (en) 2009-04-14
DE602004002169T2 (de) 2006-12-28
US20050071444A1 (en) 2005-03-31
DE602004002169D1 (de) 2006-10-12
EP1519513A1 (en) 2005-03-30
JP4557655B2 (ja) 2010-10-06
JP2005110242A (ja) 2005-04-21

Similar Documents

Publication Publication Date Title
ES2271795T3 (es) Procedimiento y sistema para extraer informacion de dispositivos de red en un sistema de vigilancia remoto multiprotocolo.
EP1519514B1 (en) Method and system for supporting multiple protocols used to monitor networked devices in a remote monitoring system
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
US7289995B2 (en) Method and system for using internal data structures for storing information related to remotely monitored devices
US7437452B2 (en) Method and system for monitoring network connected devices with multiple protocols
US7392310B2 (en) Method and system for using data structures to store database information for multiple vendors and model support for remotely monitored devices
US7296079B2 (en) Method and system for initializing protocol information used to extract status information from networked devices
US7500003B2 (en) Method and system for using vectors of data structures for extracting information from web pages of remotely monitored devices
US7533167B2 (en) Method for efficiently extracting status information related to a device coupled to a network in a multi-protocol remote monitoring system
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
US7610372B2 (en) Method and system for managing vendor and model information in a multi-protocol remote monitoring system
US7606894B2 (en) Method and system for determining the type of status information to extract from networked devices in a multi-protocol remote monitoring system
US20040255023A1 (en) Method and system for extracting vendor and model information in a multi-protocol remote monitoring system
US20050177642A1 (en) Method and system for managing protocols used to obtain status information from a network device
EP1768311A2 (en) Method and system for script processing in script implementation of http to obtain information from devices
EP1768309B1 (en) Method and system for script implementation of HTTP to obtain information from remote devices
EP1785841A2 (en) Database for multiple implementation of http to obtain information from devices
US7899900B1 (en) Method and system for monitoring network connected devices with multiple protocols
US20070073864A1 (en) Method and system for use of abstract classes for script implementation of HTTP to obtain information from devices
JP2004213654A (ja) 監視デバイスの情報を取得および保守する方法、装置並びにシステム