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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000004891 communication Methods 0.000 claims abstract description 126
- 230000006870 function Effects 0.000 claims abstract description 94
- 230000015654 memory Effects 0.000 claims abstract description 60
- 238000004590 computer program Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 14
- 238000011084 recovery Methods 0.000 claims description 9
- 230000001419 dependent effect Effects 0.000 claims 2
- 238000012544 monitoring process Methods 0.000 description 35
- 238000012546 transfer Methods 0.000 description 28
- 238000003860 storage Methods 0.000 description 24
- 239000013598 vector Substances 0.000 description 24
- 239000003795 chemical substances by application Substances 0.000 description 23
- 239000011800 void material Substances 0.000 description 17
- 238000003384 imaging method Methods 0.000 description 13
- 238000007726 management method Methods 0.000 description 10
- 238000003745 diagnosis Methods 0.000 description 6
- 230000008520 organization Effects 0.000 description 6
- 238000012806 monitoring device Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 101001094649 Homo sapiens Popeye domain-containing protein 3 Proteins 0.000 description 4
- 101000608234 Homo sapiens Pyrin domain-containing protein 5 Proteins 0.000 description 4
- 101000578693 Homo sapiens Target of rapamycin complex subunit LST8 Proteins 0.000 description 4
- 102100027802 Target of rapamycin complex subunit LST8 Human genes 0.000 description 4
- 230000009471 action Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 239000012190 activator Substances 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000005611 electricity Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012012 milestone trend analyses Methods 0.000 description 3
- 238000007639 printing Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 108700010388 MIBs Proteins 0.000 description 2
- PXHVJJICTQNCMI-UHFFFAOYSA-N Nickel Chemical compound [Ni] PXHVJJICTQNCMI-UHFFFAOYSA-N 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 239000006185 dispersion Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000002844 melting Methods 0.000 description 2
- 230000008018 melting Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005406 washing Methods 0.000 description 2
- 241000021378 Egone Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000007648 laser printing Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229910052759 nickel Inorganic materials 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements 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.
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.
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.
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.
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;
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;
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.
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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,
definirse en las clases. Los valores enum deberán incluir valores eNoEventSinceClearAndNoEventDetected, eNo
EventSinceClearAndEventDetected, eEventSinceClearAndNoEventDetected, eEventSinceClearAndEventDetected,
\vskip1.000000\baselineskip
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
Esta función borra el estado de evento acumulado
desde la última llamada a la función obtainStatus o clearEvent
Status.
\vskip1.000000\baselineskip
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
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
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
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.
Parameters.
\vskip1.000000\baselineskip
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
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
Esta función obtiene el estado de los eventos.
El ErrorCode se define a continuación.
\vskip1.000000\baselineskip
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.
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.
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.
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.
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
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
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).
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:
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.
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
std::string & in_sVendor); y
\newpage
(2) void
initWithModel(std::map<std::string,
std::vector<Sparameter>> & inOut_ProtocolParameters,
const
std::string & in_sModel).
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.
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.
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)
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)
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 |
-
2003
- 2003-09-26 US US10/670,505 patent/US7519698B2/en not_active Expired - Fee Related
-
2004
- 2004-09-21 JP JP2004273622A patent/JP4557655B2/ja not_active Expired - Fee Related
- 2004-09-27 EP EP04255890A patent/EP1519513B1/en not_active Expired - Lifetime
- 2004-09-27 DE DE602004002169T patent/DE602004002169T2/de not_active Expired - Lifetime
- 2004-09-27 ES ES04255890T patent/ES2271795T3/es not_active Expired - Lifetime
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) | 監視デバイスの情報を取得および保守する方法、装置並びにシステム |