MXPA03012018A - Presentacion del lado del cliente de documentos imprimibles en una red. - Google Patents
Presentacion del lado del cliente de documentos imprimibles en una red.Info
- Publication number
- MXPA03012018A MXPA03012018A MXPA03012018A MXPA03012018A MXPA03012018A MX PA03012018 A MXPA03012018 A MX PA03012018A MX PA03012018 A MXPA03012018 A MX PA03012018A MX PA03012018 A MXPA03012018 A MX PA03012018A MX PA03012018 A MXPA03012018 A MX PA03012018A
- Authority
- MX
- Mexico
- Prior art keywords
- printer
- computer
- document
- client
- network
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1211—Improving printing performance
- G06F3/1212—Improving printing performance achieving reduced delay between job submission and print start
- G06F3/1214—Improving printing performance achieving reduced delay between job submission and print start at the submitting node
-
- E—FIXED CONSTRUCTIONS
- E21—EARTH OR ROCK DRILLING; MINING
- E21B—EARTH OR ROCK DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
- E21B44/00—Automatic control systems specially adapted for drilling operations, i.e. self-operating systems which function to carry out or modify a drilling operation without intervention of a human operator, e.g. computer-controlled drilling systems; Systems specially adapted for monitoring a plurality of drilling variables or conditions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1208—Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/1232—Transmitting printer device capabilities, e.g. upon request or periodically
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1239—Restricting the usage of resources, e.g. usage or user levels, credit limit, consumables, special fonts
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1247—Job translation or job parsing, e.g. page banding by conversion to printer ready format
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1288—Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
-
- E—FIXED CONSTRUCTIONS
- E21—EARTH OR ROCK DRILLING; MINING
- E21B—EARTH OR ROCK DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
- E21B7/00—Special methods or apparatus for drilling
- E21B7/02—Drilling rigs characterised by means for land transport with their own drive, e.g. skid mounting or wheel mounting
- E21B7/022—Control of the drilling operation; Hydraulic or pneumatic means for activation or operation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1218—Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
- G06F3/122—Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1245—Job translation or job parsing, e.g. page banding by conversion to intermediate or common format
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1253—Configuration of print job parameters, e.g. using UI at the client
- G06F3/1254—Automatic configuration, e.g. by driver
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1253—Configuration of print job parameters, e.g. using UI at the client
- G06F3/1255—Settings incompatibility, e.g. constraints, user requirements vs. device capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Geology (AREA)
- Mining & Mineral Resources (AREA)
- Fluid Mechanics (AREA)
- Geochemistry & Mineralogy (AREA)
- General Life Sciences & Earth Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Computer And Data Communications (AREA)
Abstract
En una red que facilita las funciones de impresion, se proporciona un elemento para presentar un trabajo de impresion destinado para una impresora remota en una computadora de cliente, usando ajustes administrativos almacenados. De manera transparente para las aplicaciones del cliente, la computadora del cliente mantiene los ajustes administrativos almacenados de la impresora remota sincronizados con aquellos almacenados en el servidor de impresoras. Usando los ajustes administrativos almacenados, el cliente presenta el trabajo de impresion a un lenguaje nativo de la impresora directamente conocible por la impresora, antes de enviar este archivo presentado al servidor de impresoras para despacharlo a la impresora. Por medio de poner en colas de espera estos trabajos de impresion remotos, el estado en linea del servidor de impresion respectivo tambien es transparente para las aplicaciones del cliente, facilitando la impresion fuera de linea.
Description
PRESENTACION DEL LADO DEL CLIENTE DE DOCUMENTOS IMPRIMIBLES EN UNA RED
CAMPO TECNICO Esta invención se relaciona generalmente con sistemas de redes de computadoras, y más particularmente, con la impresión de documentos en un medio ambiente en red.
ANTECEDENTES En una red tradicional que incluye impresoras, un servidor de impresora está conectado a una o más impresoras físicas y uno o más clientes de impresoras. Típicamente, estas computadoras del cliente envían información que se va a imprimir en la forma de un documento, llamado un trabajo de impresión, codificado en algún formato de datos intermedio, al servidor de impresoras junto con información respecto a cuál impresora se debe usar. Cuando el servidor de impresora recibe el trabajo de impresión y la información de la impresora, éste rutea el trabajo a la cola de espera de impresión apropiada, asociada con la impresora elegida. A medida que el servidor imprime los trabajos de la cola de espera a la impresora vinculada, éste interpreta y traduce los trabajos de impresión usando la información almacenada respecto a la impresora, que incluye ajustes administrativos, ajustes de la impresora, y el controlador de la impresora. El servidor de impresoras presenta entonces los trabajos de impresión a partir del formato de datos intermedio transferido a un lenguaje nativo de la impresora, y los envía a la impresora. El proceso de presentación es sencillamente esta traducción de un formato de algunos datos intermedios al formato final específico a la impresora que se puede enviar directamente a la impresora. Esta tecnología de cliente delgado y servidor robusto tiene muchos problemas asociados. El problema más significativo con esta presentación del lado del servidor, intensiva por los recursos es la dificultad para escalar las redes del servidor. Puesto que los clientes proporcionan poca funcionalidad de impresión, descargando estas tareas más bien al servidor, se debe limitar estrictamente el número de clientes que estén imprimiendo activamente, conectados a un servidor de impresoras, para evitar sobrecargar al servidor. Otra dificultad es inherente en la aplicación de los ajustes administrativos y de la impresora una vez que el trabajo ha llegado al servidor, sin informar al cliente. Si el cliente no está al tanto de cuáles ajustes administrativos están en efecto, la salida de impresión real podría ser inesperada. Todavía otra inconveniencia de las redes de impresión típicas surge en aquellos casos en los cuales un cliente envía un trabajo de impresión en un formato de datos intermedio especificado por el controlador de la impresora particular.
Si, por alguna razón, los controladores de las impresoras almacenados por el servidor y el cliente son diferentes, la traducción del servidor de este formato de datos intermedio pudiera fallar, produciendo un funcionamiento deficiente de la impresión. Finalmente, puesto que los trabajos de impresión se colocan en colas de espera únicamente en el servidor, la presentación del lado del servidor desalienta la impresión fuera de linea. En una red de impresoras típica, cuando un servidor se sale de línea, un cliente no solamente es incapaz de usar una impresora conectada a ese servidor, sino que además no colocará en cola de espera los documentos para esa impresora fuera de línea. De esta manera, la responsabilidad cae en el usuario del cliente para imprimir un documento particular cuando el servidor vuelve a estar disponible otra vez. Algunas implementaciones de red de impresoras han resuelto algunos pero no todos los problemas descritos anteriormente. Así, por ejemplo, se ha soportado la presentación del lado del cliente en algunas redes de impresión. En una implementación de presentación del lado del cliente, el servidor de impresoras rutea los trabajos de impresión a las impresoras apropiadas, pero el cliente realiza la presentación de un documento en el formato de datos intermedio al lenguaje nativo de la impresora. Aunque los clientes son capaces de pasar este documento formateado para la impresora al servidor de impresoras, sigue el problema de que el formateo pretendido del cliente pudiera no aplicar correctamente los ajustes administrativos almacenados en el servidor. En adición, la presentación del documento fuera de línea por parte del cliente pudiera violar los preceptos administrativos y entonces frecuentemente no se habilita . En otras redes de impresión los ajustes administrativos se comunican al cliente, pero el cliente es incapaz de presentar el documento y más bien envía el formato de datos intermedio al servidor de impresoras para presentación. En estas redes, permanecen muchos de los problemas descritos en los párrafos precedentes. El escalamiento del servidor de impresoras sigue siendo casi imposible en estas redes, dado que los servidores todavía tienen la carga de la tarea de presentar los documentos, y el servidor y los controladores de las impresoras del cliente se deben hacer corresponder consuetudinariamente. Como resultado, todavía hay una necesidad de una red de impresoras que soporte la impresión fuera de línea, como una solución de impresión automatizada y transparente. .
COMPENDIO La presente invención está dirigida a la colocación en cola de espera y la presentación de un trabajo de impresión en un cliente, usando los ajustes administrativos almacenados en el cliente, antes de enviar el trabajo de impresión presentado al servidor de impresoras. La presente invención también está dirigida a permitirle al usuario ejecutar un comando de impresión cuando no esté disponible el servidor de impresoras, y rutear esos trabajos de impresión a través del servidor de impresoras apropiado una vez que éste esté disponible nuevamente. En una modalidad de la presente invención, un cliente está en comunicación a través de una red con un servidor de impresoras que tiene acceso a cuando menos una impresora. El servidor de impresoras almacena toda la información necesaria para imprimir a la impresora remota, incluyendo los ajustes de la impresora, los controladores de la impresora y los ajustes administrativos. En el cliente, dos módulos distintos proporcionan funcionalidad de impresión, un sistema de impresión remoto y un sistema de impresión local. El sistema de impresión remoto se comunica con el servidor de impresoras, poniendo en memoria caché los ajustes de la impresora y administrativos relacionados con la impresora remota. El sistema de impresión también se actualiza periódicamente estos ajustes almacenados, para que permanezcan sincronizados con los ajustes más recientes del servidor de impresoras. En adición, el controlador de la impresora para la impresora remota también se almacena en el cliente y es accesible para los sistemas de impresión tanto remoto como local . Cuando una aplicación en el cliente envía un comando para imprimir a la impresora remota, la aplicación y los programas asociados primero traducen el trabajo de impresión a algún formato de datos intermedio. Después se pasa el trabajo de impresión a través del sistema de impresión remoto. En lugar de que se pase directamente al servidor de impresoras como en las redes de impresión heredadas, el trabajo de impresión se rutea después al sistema de impresión local, en donde éste se almacena en una cola de espera local, y eventualmente se presenta por medio de la máquina de impresión local, usando el controlador de la impresora almacenada. El proceso de presentación se realiza conforme a los ajustes de la impresora almacenada apropiada y a los ajustes administrativos. Puesto que estos ajustes se almacenan en el cliente, el estado en línea del servidor es transparente para la aplicación. La máquina de impresión local envía entonces el trabajo e impresión completamente presentado, a través del sistema de impresión remoto, al servidor de impresoras. Si, en el momento en que la máquina de impresión local empieza a enviar el trabajo de impresión a través del sistema de impresión remoto no está disponible el servidor de impresoras, el sistema de impresión local simplemente hace una pausa en la cola de espera de trabajos de impresión hasta que el servidor de impresoras vuelva a estar en linea. Para facilitar este proceso, el sistema de impresión remoto escudriña la red a intervalos de tiempo determinados previamente para el servidor de impresoras, y también escudriña siempre que se recibe una indicación de que pudiera estar disponible un nuevo nodo de la red. Una vez que el servidor de impresoras está nuevamente conectado lógicamente al cliente, el sistema de impresión local envía el trabajo de impresión, a través de la arquitectura de impresión remota, al servidor de impresoras. Se harán evidentes características y ventajas adicionales de la invención por la siguiente descripción detallada de las modalidades ilustrativas, que procede con referencia a las figuras acompañantes.
BREVE DESCRIPCION DE LOS DIBUJOS Aunque las reivindicaciones anexas establecen las características de la presente invención con particularidad, la invención, junto con sus objetivos y ventajas, se puede entender mejor por la siguiente descripción detallada tomada en conjunción con los dibujos acompañantes, de los cuales: La Figura 1 es un diagrama esquemático que ilustra generalmente un sistema de computadora ejemplar que se puede usar en una modalidad de la invención.
La Figura 2 es un diagrama esquemático que ilustra una estructura de programa ejemplar para implementar una modalidad de la invención. La Figura 3 es un diagrama de flujo que ilustra los pasos de impresión que toma el sistema de computadora de conformidad con una modalidad de la invención. La Figura 4 es un diagrama de flujo que ilustra una ej emplificación de una impresora remota de conformidad con una modalidad de la invención. La Figura 5 es un diagrama de flujo detallado que ilustra una ej emplificación de una impresora remota, usando la estructura de programa ejemplar de la Figura 2, de conformidad con una modalidad de la invención. La Figura 6 es un diagrama de flujo que ilustra una impresión de aplicación a una impresora remota de conformidad con una modalidad de la invención. La Figura 7 es un diagrama de flujo detallado que ilustra una impresión de aplicación a una impresora remota, usando la estructura de programa ejemplar de la Figura 2, de conformidad con una modalidad de la invención.
DESCRIPCION DETALLADA Dirigiéndonos a los dibujos, en donde los mismos números de referencia se refieren a los mismos elementos, la invención se describe de aquí en adelante en el contexto de un medio ambiente de computación. Aunque no se requiere para practicar la invención, la invención se describe como se implementa ésta por medio de instrucciones ejecutables por computadora, tales como módulos de programas, que se ejecutan por medio de una PC (PC) . Generalmente, los módulos de programas incluyen rutinas/ objetos, componentes, estructuras de datos, y similares, que realizan tareas particulares o implementan tipos de datos abstractos particulares. La invención se puede implementar en configuraciones de sistemas de computadora diferentes a una PC. Por ejemplo, la invención- se puede realizar en dispositivos de mano, sistemas de múltiples procesadores, electrónicos de consumidor basados en microprocesador o programables, PCs de red, minicomputadoras , computadoras de múltiples usuarios y similares. La invención también se puede practicar en ambientes de computación distribuidos, en donde las tareas las realizan dispositivos de procesamiento remotos que están enlazados a través de una red de comunicaciones. En un medio ambiente de computación distribuida, los módulos de programas pueden estar localizados en dispositivos de almacenamiento de memoria tanto locales como remotos. Aunque la invención se puede incorporar en muchos tipos de ambientes de computación como se sugirió anteriormente, la siguiente descripción detallada de la invención se expone en el contexto de un dispositivo de computación de propósito general ejemplar en la forma de una PC convencional 20. Antes de describir la invención en detalle, se describe el medio ambiente de computación en el cual opera la invención, en conexión con la Figura 1. La PC 20 incluye una unidad de procesamiento 21, una memoria del sistema 22, y una barra colectora del sistema 23 que acopla diferentes componentes del sistema, incluyendo la memoria del sistema, a la unidad de procesamiento 21. La barra colectora del sistema 23 puede ser alguna de muchos tipos de estructuras de barra colectora, incluyendo una barra colectora de memoria o controlador de memoria, una barra colectora periférica, y una barra colectora local que use cualquiera de una diversidad de arquitecturas de barra colectora. La memoria del sistema incluye una memoria de sólo lectura (ROM, per sus siglas en inglés) 24 y una memoria de acceso directo (RAM, por sus siglas en inglés) 25. En la ROM 24 está almacenado un sistema de entrada/salida básico (BIOS, por sus siglas en inglés) 26, que contiene las rutinas básicas que ayudan a transferir la información entre los elementos adentro de la PC 20, tal como durante el arranque. La PC 20 incluye además una unidad de disco duro 27 para leer desde, y escribir en un disco duro 60, y una unidad de disco magnético 28 para leer desde, y escribir en un disco magnético removible 29.
La unidad de disco duro 27 y la unidad de disco magnético 28 están conectadas a la barra colectora del sistema 23 por medio de una interfase de la unidad de disco duro 32 y una interfase de la unidad de disco magnético 33, respectivamente. Las unidades y sus medios legibles por computadora asociados proporcionan el almacenamiento no volátil de las instrucciones legibles por computadora, las estructuras ¦ de datos, los módulos de programa, y otros datos para la PC 20. Aunque el medio ambiente ejemplar que se describe en la presente emplea un disco duro 60 y un disco magnético removible 29, aquellos expertos en la técnica se percatarán de que en el medio ambiente de operación ejemplar también se pueden usar otros tipos de medios legibles por computadora que puedan almacenar datos que sean accesibles por medio de una computadora, tales como unidades de discos ópticos y discos, memorias de acceso directo, memorias de sólo lectura, y similares. En el disco duro 60, el disco magnético 29, la ROM 24 o la RAM 25 se pueden almacenar muchos módulos de programa, incluyendo un sistema operativo 35, uno o más programas de aplicaciones 36, otros módulos de programa 37, y datos del programa 38. Un usuario puede · introducir comandos e información dentro de la PC 20, a través de dispositivos de entrada tales como un teclado 40, y un dispositivo apuntador 42. Otros dispositivos de entrada (no se muestran) pudieran incluir un micrófono, una palanca de juegos, un cojinete de juegos, un plato de satélite, un escáner, o similares. Estos y otros dispositivos de entrada frecuentemente están conectados a la unidad de procesamiento 21 a través de una interfase de puerto en serie 46, que está acoplada a la barra colectora del sistema, pero puede estar conectada por medio de otras interfases, tales como el puerto paralelo. 34, el puerto de juegos o una barra colectora en serie universal (USB, por sus siglas en inglés) . A la barra colectora del sistema 23 también está conectado un monitor 47 u otro tipc de dispositivo de despliegue visual, por medio de una interfase, tal como un adaptador de video 48. En adición al monitor, las PCs típicamente incluyen otros dispositivos de salida periféricos, tales como bocinas y una impresora 30, conectadas a través de la interfase de puerto paralelo 34 a la barra colectora del sistema 23. La PC 20 puede operar en un medio ambiente instalado en red, usando conexiones lógicas a una o más computadoras remotas, tales como un servidor de impresoras 49. El servidor de impresoras 49 puede ser otra PC, un servidor, un ruteador, una PC en red, un dispositivo par u otro nodo de red común, y típicamente incluye muchos de los elementos descritos anteriormente con relación a la PC 20, aunque, frecuentemente un servidor de impresoras 49 está dedicado a rutear solicitudes de impresión desde la PC 20 hacia las impresoras vinculadas 50. Las conexiones lógicas que se ilustran en la Figura 1 incluyen una red de área local (LAN, por sus siglas en inglés) 51 y una red de área amplia (WAN, por sus siglas en inglés) 52. Tales ambientes instalados en red son el lugar común en oficinas, redes de computadoras a lo largo de una empresa, intrarredes y la Internet. Cuando se usa en un medio ambiente instalado en red LAN, la PC 20 se conecta a la red local 51, a través de una interf se de red o adaptador 53. Cuando se usa en un medio ambiente instalado en red WAN, la PC 20 típicamente incluye un módem 54 u otro elemento para establecer comunicaciones a través de la WAN 52. El módem 54, el cual puede ser interno o externo, se conecta a la barra colectora del sistema 23 por medio de la interfase de puerto en serie 46. En un medio ambiente instalado en red, los módulos del programa que se ilustran con relación a la PC 20, o porciones de los mismos, se pueden almacenar en el dispositivo de almacenamiento de memoria remoto. Se percibirá que las conexiones de red que se muestran son ejemplares y que se pueden usar otros medios para establecer un enlace de comunicaciones entre las computadoras . En la descripción que sigue se describirá la invención con referencia a hechos y representaciones simbólicas de operaciones que se realizan por medio de una o más computadoras, a menos que se indique de otra manera. En sí, se entenderá que tales hechos y operaciones, a los cuales se hace referencia a veces como que se están ejecutando por computadora, incluyen la manipulación, por medio de la unidad de procesamiento de la computadora, de señales eléctricas que representan datos en una forma estructurada. Esta manipulación transforma los datos o los mantiene en ubicaciones en el sistema de memoria de la computadora, lo cual vuelve a configurar o altera de otra manera la operación de la computadora de una manera que entienden bien aquellos expertos en la técnica. Las estructuras de datos en donde se mantienen los datos son ubicaciones físicas de la memoria que tienen propiedades particulares definidas por el formato de los datos. Sin embargo, aunque la invención se está describiendo en el contexto anterior, no se quiere decir que esto sea- limitante pues aquellos de experiencia en la técnica percibirán que también se pueden implementar en el hardware diferentes de los hechos y operaciones descritos posteriormente en la presente. De conformidad con un aspecto importante de la invención, la PC 20 presenta los documentos localmente usando los ajustes administrativos almacenados sincronizados con los ajustes administrativos del servidor de impresoras 49 y los documentos de las colas de espera localmente antes de despacharlos al servidor de impresoras 49 en un lenguaje nativo de la impresora apropiado.
En armonía con la invención, la PC del cliente 20 tiene la habilidad adicional de preparar documentos para presentación a una impresora remota 50, mientras no está lógicamente conectada al servidor de impresoras 49. La PC del cliente 20 puede escudriñar entonces el servidor de impresora 49 hasta que éste se vuelva a hacer disponible, y presenta los documentos y los despacha para impresión en un momento posterior . Volviéndonos a las figuras, en la Figura 2 se muestra una arquitectura de software ejemplar para implementar una modalidad de la invención. En la PC del cliente 20 se muestra una sola aplicación 36, ejecutándose en el nivel de usuario, el nivel en el cual los programas que se ejecutan en una computadora interactúan con el usuario de la computadora. En otras modalidades, pudiera haber muchas aplicaciones ejecutándose simultáneamente en la PC del cliente 20, cada una de las cuales pueden accesar los subsistemas de impresión 202-203. Con el propósito de imprimir a impresoras conectadas localmente o remotamente a la PC 20, la mayoría de las aplicaciones 36 no implementan toda la funcionalidad requerida ellas mismas, sino que más bien dependen de módulos externos. Sin embargo, en modalidades alternativas, los subsistemas de impresión pueden ser parte de la aplicación misma 36, parte del sistema operativo 35, o un programa separado que use funciones subyacentes del sistema operativo.
En la modalidad que se muestra en la Figura 2, una aplicación 36 que desea imprimir un documento se comunica primeramente con los módulos del sistema operativo 35. Estos módulos del sistema operativo 35, en conjunción con la aplicación 36, proporcionan la funcionalidad necesaria para traducir los datos del documento específicos a la aplicación a un formato de datos intermedio más universal, y transfieren el documento recién formateado al subsistema de impresión. En otra modalidad, la aplicación 36 misma traduce los datos del documento específicos a la aplicación al formato de datos intermedio universal, sin la ayuda del sistema operativo 35. En todavía otra modalidad, la aplicación 36 envía los datos del documento específicos a la aplicación al subsistema de impresión, junto con alguna indicación de cuál aplicación 36 los ha enviado, y el subsistema de impresión puede traducir los datos específicos a la aplicación a un lenguaje nativo de la impresora. Alternativamente, la aplicación 36 implementa el subsistema de . impresión mismo, y posteriormente traduce directamente los datos específicos a la aplicación al lenguaje nativo de la impresora. Después de que se han traducido los datos específicos a la aplicación a un formato de datos intermedio, los módulos del sistema operativo 35 envían el documento al ruteador de impresión 201, el primer nivel del subsistema de impresión. Este ruteador de impresión 201 rutea un trabajo de impresión de conformidad con su impresora de destino: ya sea que ésta sea una impresora remota 50 conectada a la PC del cliente 20, a través de un servidor de impresoras 49, o una impresora local 30 conectada de manera lógica a la PC del cliente 20, a través de la interfase de puerto paralelo 34 o algún otro medio de comunicación, sin utilizar un servidor de impresoras 49. En una modalidad, el ruteador de impresión 201 toma esta decisión con base en un indicador remoto o local separado enviado junto con el trabajo de impresión por los módulos del sistema operativo 35 o la aplicación 36. Alternativamente, el ruteador de impresión 201 puede derivar el indicador a partir del documento mismo. Si un trabajo de impresión está destinado para una impresora remota 50, el grupo de submódulos dedicados a la funcionalidad de impresión remota 202 lo recibe y lo procesa. Por otra parte, si el trabajo de impresión está destinado para una impresora local 30, el grupo de submódulos dedicados a la funcionalidad de impresión local 203 lo recibe y lo procesa. En otras modalidades, el ruteador de impresión 201 puede ser un componente opcional del subsistema de impresión. En cambio, una PC de cliente 20 puede imprimir únicamente a impresoras remotas o locales y únicamente se puede implementar ese conjunto particular de submódulos. La PC del cliente 20 también puede imprimir a impresoras tanto remotas como locales, pero puede reciclar muchos de los mismos submódulos para ambas funciones de impresión. En la modalidad descrita en la Figura 2, el subsistema de impresión local 203 comprende los componentes que se ilustran, aunque en otras modalidades, la funcionalidad representada por estos componentes se puede iraplementar en menos o más componentes en el subsistema de impresión local 203. Un proveedor local 220 coordina los otros componentes del subsistema 203, y organiza todo el proceso de impresión local desde el principio hasta el final. Las funciones del sistema operativo 221 realizan funciones de traducción y transferencia misceláneas, proporcionando acceso a lo que ya implemento el sistema operativo 35. Cuando se registra por primera vez una impresora local 30 con el sistema operativo 35 para funcionalidad de impresión activa, el subsistema de impresión local 203 almacena datos específicos a la impresora en la lista de impresoras 223. Estos datos frecuentemente incluyen las especificaciones de la impresora local 30 y el controlador y ajustes que se usarán. En modalidades alternativas, una impresora 30 se registra únicamente cuando se envía un trabajo de impresión, y los diferentes ajustes especificados en la lista de impresoras 223 se derivan y se aplican al momento de la impresión. Cuando se rutea un trabajo de impresión al proveedor local 220, el trabajo primeramente se registra con el componente planificador 224, el cual coloca el trabajo en la cola de espera apropiada de archivos integrados para entrada/salida 225. Estos archivos integrados para entrada/ salida almacenan la información que representa el documento en el formato de datos intermedio, y las diferentes características de impresión que se deben usar al presentar el documento. Cuando un trabajo está listo para salir de la integración de entrada/salida (es decir, está listo para imprimirse) , el planificador 224 transfiere el archivo integrado para entrada/salida de la cola de espera 225 al procesador de impresión 222, el cual alista el documento para impresión. El componente procesador de impresión 222 despacha entonces el documento al controlador de la impresora 226, para presentación al lenguaje nativo de la impresora. El documento presentado, ahora formateado específicamente para la impresora local 30, se envía de regreso al proveedor local 220, el cual envía el documento presentado a la impresora apropiada, aprovechando la funcionalidad del sistema operativo proporcionada a través del monitor del puerto 204. Cuando una impresora local 30 es el objetivo, el monitor del puerto 204 puede usar, por ejemplo, la interfase de puerto paralelo 34. Mediante el acceso -a la funcionalidad del sistema operativo, el monitor del puerto 204 puede comunicarse potencialmente a través, y monitorear una amplia diversidad de medios de comunicación.
En modalidades alternativas, el subsistema de impresión local 203 no necesita mantener una cola de espera de archivos integrados para entrada/salida 225, sino que más bien ésta se puede implementar en el sistema operativo 35 o la aplicación 36. Por ejemplo, una aplicación 36, en comunicación cercana con el subsistema de impresión 203, únicamente comenzaría a imprimir un nuevo documento una vez que el documento antiguo se haya impreso completamente. Aunque en muchas PCs 20 actualmente típicamente se encuentra el sistema local 203 descrito con referencia a la Figura 2, en otras modalidades se pueden reemplazar diferentes componentes descritos con referencia a la Figura 2 con módulos similares, pero distintos. Al seguir con la presente invención, como se describe en la Figura 2, el subsistema de impresión remoto 202 se desglosa en los componentes que se ilustran. En otras modalidades, la funcionalidad que se representa por medio de estos componentes se implementa en menos o más componentes. El primer componente, el núcleo 210, proporciona funcionalidad similar a aquella que proporciona el componente proveedor local 220; éste organiza y coordina a los otros diferentes componentes remotos, mientras rastrea un trabajo de impresión particular desde la recepción hasta la terminación . En una modalidad, una vez que se ha elegido la impresora remota 50 para la funcionalidad de impresión activa, el núcleo 210 del subsistema de impresión remoto 202 se comunica, a través del administrador de conexión 217, el cual tiene acceso a diferentes protocolos de instalación en red (tales como SMB 219 y RPC 218), con el servidor de impresoras 49 al cual está vinculada la impresora remota 50. El administrador de conexión 217 recibe entonces la información relacionada con la impresora remota 50, incluyendo los ajustes administrativos, los ajustes de la impresora, los controladores y otros ajustes. Esta información se pasa de regreso al núcleo 210, el cual usa tanto la lista de impresoras 223 del subsistema de impresión local, como el administrador caché 215 como espacio de almacenamiento. El administrador de sincronización 216 sincroniza periódicamente esta información almacenada para que coincida con la información más reciente almacenada en el servidor de impresoras 49. En algunas modalidades, el administrador de sincronización 216 solicita información actualizada después de un cierto intervalo de tiempo. En otras modalidades, el administrador de sincronización 216 actualiza la información almacenada únicamente después de recibir la notificación de que se ha registrado un cambio en la información en el servidor de impresoras 49. En todavía otras modalidades, cuando el núcleo 210 en el cliente 20 modifica la información almacenada en el servidor de impresoras 49, estos ajustes se colocan por orden de prioridad en la memoria caché. Subsecuentemente, cuando se rutea un trabajo de impresión al subsistema de impresión remoto 202, el núcleo 210 asegura que los diferentes ajustes y controladores estén al día, usando el administrador de sincronización 216, y después presenta e imprime el trabajo usando la funcionalidad de impresión local y de impresión remota. Si no está disponible el servidor de impresoras 49 al cual está vinculada la impresora remota 50, el núcleo 210 señala al sistema de eventos de accesibilidad 212 que escudriñe la red para buscar el servidor de impresoras 49. Cuando se hace disponible el servidor 49, se le notifica al núcleo 210, y se, envía el trabajo de impresión presentado. En otras modalidades, el trabajo de impresión se cancela si el servidor de impresoras 49 no está disponible, o la aplicación 36 misma u otras funciones del sistema continúan enviando el trabajo de impresión a ciertos intervalos de tiempo determinados previamente, hasta que el servidor de impresoras 49 vuelve a estar en línea. En la modalidad que se describe en la Figura 2, aunque se describen diferentes componentes anteriormente como comunicándose . con el servidor de impresoras 49, únicamente el administrador de conexión 217 tiene una conexión lógica con el servidor de impresoras 49, y todas las comunicaciones se rutean a través del administrador de conexión 217. En modalidades alternativas estos otros componentes accesan el hardware de la red a través de aquellos mismos protocolos de red que usa el administrador de conexión 217. Los componentes restantes del subsistema de impresión remoto 202 proporcionan soporte para aquellos componentes descritos anteriormente. El administrador de eventos 211 funciona para transferir diferentes notificaciones de eventos entre los componentes en el subsistema de impresión remoto 202. El monitor del puerto 213 coordina las comunicaciones enviadas a través de la red 51 al servidor de impresoras 49, y responde a solicitudes del sistema similares a aquellas que se usan con el monitor del puerto externo 204. Finalmente, el depurador 214 borra las instancias de la impresora y del trabajo que tienen su utilidad que ha prevalecido de más por diferentes razones (por ejemplo, si el usuario solicitante ha cerrado la sesión con la PC de cliente 20) . La arquitectura del software del subsistema de impresión remoto 202 que se describe en la Figura 2 se entenderá mejor con referencia a las siguientes Figuras 3-7, ya que las diferentes funciones que realiza la arquitectura se describen con más detalles . Como se describe en la Figura 3, los servicios de impresión de conformidad con la presente invención realizan muchas tareas importantes para soportar la presentación del lado del cliente y el mantenimiento de la información administrativa. Durante el paso 301, los servicios de impresión coordinan el almacenamiento de la información administrativa y del dispositivo relacionada con una impresora particular 50, según se recibe desde el servidor de impresoras 49. En una modalidad, los componentes de los servicios de impresión coordinan la recepción de la información administrativa y del dispositivo del servidor de impresoras 49. Esta información se almacena entonces en estructuras de datos localizadas en la PC del cliente 20, en donde ésta se puede accesar subsecuentemente para imprimir correctamente los documentos . Durante el paso 303, siempre y cuando permanezca activa esta impresora 50, los servicios de impresión continúan sincronizando la información administrativa y del dispositivo en el cliente 20 con aquella almacenada en el servidor de impresoras 49. En una modalidad, esta sincronización se realiza por medio de reemplazar periódicamente la información almacenada en el cliente 20 con aquella en el servidor de impresoras 49. En otra modalidad, la información únicamente se sincroniza después de que el servidor de impresoras 49 ha actualizado alguna pieza de información relevante para la impresora apropiada 50. En todavía otra modalidad, se implementan estos dos métodos de sincronización, incrementando el tráfico de la red mientras que además se incrementa la exactitud de la información almacenada en la PC del cliente 20. Durante el paso 305, los servicios de impresión aplican al documento los ajustes administrativos y del dispositivo almacenados. Mediante la aplicación de estos ajustes, los servicios de impresión aseguran que el formateo del documento sea apropiado y que se resuelvan los asuntos de seguridad de la red. Puesto que estos ajustes están relativamente al día con aquellos almacenados en el servidor de impresoras 49, aún si el servidor no está disponible se facilita la presentación fuera de linea. Los detalles para la aplicación de estos ajustes se describen adicionalmente más adelante . Finalmente, en el paso 307, los servicios de impresión envían el documento presentado al servidor de impresoras 49 para despacharlo a la impresora 50. Por medio de presentar el documento en la PC del cliente 20, se quita una gran carga de computación del servidor de impresoras 49, haciéndolo más fácilmente escalable. Puesto que los ajustes tanto en el servidor 49 como en el cliente 20 se sincronizan frecuentemente de conformidad con el paso 303, más probablemente el proceso de presentación será idéntico en ambos, contrarrestando así las preocupaciones con procesos de impresión aberrantes. Aunque los pasos anteriores se describieron de manera muy general, las siguientes Figuras 4-7 describen modalidades de la presente invención con más detalle. El primer paso para imprimir un documento con una impresora remota 50 especificada es registrar la impresora 50 con el sistema operativo 35 para futuras tareas de impresión. Aunque el registro de la impresora es bien conocido en la técnica, aspectos particulares de la presente invención hacen único el proceso de registro descrito en las Figuras 4 y 5. La Figura 4 describe un proceso general por medio del cual un sistema operativo 35 registra una impresora 50 al apegarse con la presente invención, mientras gue la Figura 5 describe una manera de hacerlo en la arquitectura de software ejemplar de la Figura 2. Como es bien conocido en la técnica, la presente modalidad contempla un método para añadir una impresora remota 50 nueva en el sistema operativo 35 durante el paso 401, de tal manera que los comandos de impresión subsecuentes puedan identificar la impresora 50. En una implementación, el sistema operativo 35 navega a través de la red, recuperando de los servidores de impresoras 49 disponibles las listas de sus impresoras remotas conectadas 50. El sistema operativo 35 añade automáticamente entonces estas- impresoras remotas 50 a una base de datos, o habilita al usuario para que seleccione aquellas impresoras 50 a las cuales le gustaría al usuario enviar trabajos de impresión. En otras modalidades, el usuario especifica la trayectoria de la red de una impresora remota 50 que le gustaria añadir al usuario, y esta nueva impresora se registra en la base de datos del sistema operativo. En todavía otras modalidades, este registro inicial no lo realiza el sistema operativo 35, y los pasos subsecuentes 403-407 únicamente se realizan cuando una aplicación 36 envía un trabajo de impresión particular . Una vez que un usuario ha registrado una impresora remota 50, aquellos servicios que controlan la impresión reciben información administrativa y del dispositivo desde el servidor de impresoras 49 durante el paso 403. En diferentes implementaciones estos servicios de impresión se implementan en la aplicación 36, el sistema operativo 35, o los subsistemas de impresión 202, 203. La información del dispositivo recibida desde el servidor de impresoras 49 comprende información de la versión del controlador, el controlador de la impresora mismo, especificaciones de la impresora, modificaciones hechas a la impresora, salida preferida de la impresora, etcétera. Los ajustes administrativos del servidor de impresoras 49, por otra parte, comprenden los ajustes preferidos para la impresora remota 50, los ajustes particulares permitidos para la impresora remota 50, el nivel de acceso permitido para las PCs de cliente 20, etcétera. Con el propósito de recuperar esta información, la PC de cliente 20 solicita esta información del servidor de impresoras 49 durante el registro. En una modalidad, esta recuperación es un proceso no sincrónico que no hace lenta la PC 20. En otra modalidad, la información se recupera desde el servidor de impresión 49 únicamente cuando está a punto de procesarse un trabajo de impresión. Esta información recibida se almacena entonces en la PC del cliente 20 durante el paso 405. El almacenamiento de esta información localmente habilita a la PC del cliente 20 para presentar subsecuentemente documentos usando los ajustes administrativos' y de la impresora, sin accesar el servidor de impresoras 49. Esto permite un proceso de presentación más rápido (puesto que la PC del cliente 20 no necesita esperar los resultados de una comunicación de la red) , y además habilita la presentación fuera de linea (puesto que la PC del cliente 20 puede usar los ajustes administrativos almacenados) . En una modalidad, los subsistemas de impresión, las aplicaciones 36 y el sistema operativo 35 tienen acceso a esta información almacenada. Usando la información del dispositivo recibida desde el servidor de impresoras 49, se. crea una instancia de impresora en la PC del cliente 20 durante el paso 407. Una instancia de impresora simplemente se refiere a una abstracción de datos que almacena un montón de información de servicio, de tal manera que los servicios de impresión puedan accesar esta información del dispositivo cuando estén procesando un trabajo de impresión. Mediante la separación de la información del dispositivo que representa diferentes impresoras, las instancias de la impresora facilitan la ejecución de un conjunto de comandos de impresión enviados desde una aplicación 36 a una impresora particular. Como es bien conocido en la técnica, .las instancia de impresora frecuentemente se mantienen en los clientes 20 para representar impresoras localmente conectadas 30, con la información -introducida por el usuario, o detectada a través de una interfase de comunicaciones común, tal como la interfase de puerto paralelo 34, USB, etcétera. En una implementación, la instancia de la impresora que representa la impresora remota 50 se almacena en un formato similar a aquellos que representan las impresoras locales 30. Finalmente, algún componente de los servicios de impresión también sincroniza la información administrativa y del dispositivo con aquella almacenada en el servidor de impresoras, durante el paso 409. Este paso es sustancialmente el mismo, que aquel descrito con -referencia al paso 303 anteriormente. Al apegarse a la información administrativa y del dispositivo almacenada en el cliente 20, al día con aquella almacenada en el servidor de impresoras 49, esta modalidad facilita la exactitud en la impresión y la presentación fuera de linea. Habiendo descrito estos pasos en una vista general de alto nivel en la Figura 4, la Figura 5 describe una implementación de registro de impresoras en la arquitectura de software ejemplar de la Figura 2. El primer paso 501, es idéntico al paso 401, y depende de los protocolos heredados similares implementados por el sistema operativo. Los pasos restantes se fragmentan aproximadamente como sigue: los pasos 503-507 corresponden al paso 403, los pasos 509-511 corresponden con el paso 405 y el paso 513 corresponde con el paso 407. Una vez que el usuario ha añadido una impresora remota 50 nueva, el sistema operativo 35 despacha una notificación al componente de núcleo 210 del subsistema de impresión remoto 202. Durante el paso 503 el núcleo 210 solicita entonces los ajustes administrativos y la información del dispositivo relacionados con la impresora remota 50 del administrador de conexión 217. En modalidades alternativas esta funcionalidad no se tiene que implementar en diferentes componentes. De hecho, el núcleo 210 y el administrador de conexión 217 pueden ser parte del sistema operativo 35 o la aplicación 36. Después de la recepción de esta solicitud, el administrador de conexión 217 usa un protocolo de red apropiado 218, 219 para recuperar la información desde el servidor de impresoras 49 durante el paso 505. En una modalidad, el administrador de conexión 217 prefiere usar el protocolo de llamada de procedimiento remoto (RPC, por sus siglas en inglés) 218 para comunicarse con el servidor de impresoras 49, mientras retiene la habilidad para comunicarse usando otros protocolos populares, tales como SMB (o Samba en el medio ambiente UNIX) 219. En modalidades alternativas se usan otros protocolos para implementar el canal . de comunicaciones entre la PC del cliente 20 y el servidor de impresoras 49. En el caso de que uno u otro de la PC del cliente 20 y el servidor de impresoras 49 no soporte un protocolo de instalación en red particular, las dos computadoras prueban protocolos alternativos hasta que se elija un protocolo mutuamente entendible. El servidor de impresoras 49 típicamente almacena la información administrativa y del dispositivo en una abstracción de datos similar a la instancia de impresora descrita anteriormente. De esta manera, en una modalidad, el administrador de conexión 217 solicita información sobre una impresora remota 50 particular, y el servidor de impresoras 49 compara el identificador de red de la impresora 50 con las características asociadas de la impresora almacenadas en la abstracción de datos, y regresa esas características asociadas.
Al recibir esta información, el administrador de conexión 217 la despacha al núcleo 210 para procesamiento durante el paso 507. En una modalidad, el núcleo 210 almacena los ajustes administrativos aplicados por el servidor de impresoras 49 en las entradas caché del administrador de caché 215 del subsistema remoto durante el paso 509. El administrador caché 215 es una estructura de datos que comprende entradas caché que almacenan información. En una implementación, estas entradas caché están asociadas con sus impresoras remotas respectivas usando una tabla identificadora, de preferencia una tabla hash para hacer más rápido el acceso a las entradas caché. Alternativamente, se usan otros medios de almacenamiento, bien conocidos en la técnica, para almacenar y accesar los ajustes administrativos. En una modalidad, mientras se almacenan los ajustes administrativos en el subsistema de impresión remoto 202, la otra información del dispositivo recibida por el núcleo 210 se despacha al proveedor local 220 durante el paso 511. Durante el paso 513, el proveedor local 220 crea entonces una instancia de impresora de sombra local que representa la impresora remota 50 en su lista de impresoras 223. Esta instancia de impresora de sombra local que corresponde con la impresora remota 50 está formateada de manera idéntica a las instancias de impresoras locales que corresponden con las impresoras locales 30 descritas anteriormente. Sin embargo, mientras que las instancias de impresoras locales que representan las impresoras locales 30 envían los trabajos de impresión a través del monitor de puerto externo 204, las instancias de impresoras de sombra locales que representan las impresoras remotas 50 envían los trabajos de impresión a través del monitor de puerto 213 del subsistema de impresión remoto. De preferencia, el subsistema de impresión local 203 trata estas instancias de impresoras de sombra locales como a todas las instancias de impresoras locales, utilizando la funcionalidad de impresión local cuando procesa los comandos de impresión a estas impresoras remotas 50. Durante el paso 515, un proceso en el subsistema de impresión remoto 202 asegura que la información administrativa y del dispositivo almacenada en la PC del cliente 20 esté sincronizada con aquella almacenada en el servidor de impresoras 49. En una modalidad, el administrador de sincronización 216 solicita periódicamente información actualizada del servidor de impresoras 49, la cual reemplaza entonces la información almacenada en el administrador caché 215 y en el subsistema de impresión local 203. En otra modalidad, el administrador de sincronización 216 compara periódicamente la información administrativa y del dispositivo almacenada localmente con la información en el servidor de impresoras 49. Si éstas difieren, el administrador de sincronización 216 reemplaza entonces la información que difiere almacenada en el administrador caché 215 y el subsistema de impresión local 203. En todavía otra modalidad, el núcleo 210, a través del administrador de conexión 217, escudriña el servidor de impresoras 49 para determinar si han cambiado los ajustes administrativos y del dispositivo en el servidor de impresoras 49. El servidor de impresoras 49 puede mantener una pequeña estructura de datos que indique si ha ocurrido un cambie o no, estructura de datos que puede ser accesible para el núcleo 210. La respuesta recibida por el núcleo 210 se envía al administrador de sincronización 216, el cual actualiza apropiadamente entonces los ajustes localmente almacenados. Estos métodos son simplemente ilustrativos, y el administrador de sincronización 216 u otro componente del subsistema de impresión remoto 202 puede usar otros métodos para mantener al día los ajustes administrativos y del dispositivo . Una vez que se ha registrado una impresora remota 50 con el sistema operativo 35, una aplicación 36 puede enviar trabajos de impresión a ésta. En las Figuras 6 y 7 se describe el proceso de impresión único contemplado por la presente invención. La Figura 6 describe un proceso general por medio del cual una aplicación 36 imprime a la impresora remota 50, mientras que la Figura 7 describe una manera de hacer esto en la arquitectura de software ejemplar de la Figura 2. El primer paso para imprimir datos a una impresora remota 50 es, por supuesto, accesar una aplicación 36 que tenga capacidad de impresión, y aprovechar esa capacidad. De esta manera, en el paso 601 el usuario envía algún comando de impresión desde la aplicación 36, ' indicando que se debe enviar un documento a la impresora remota 50. En diferentes aplicaciones, se usan diferentes métodos para realizar esta función. En una implementación el usuario selecciona un comando Imprimir (Print) desde un menú, o por la presión de una combinación o secuencia de teclas en un teclado 40. Este comando de imprimir, como sea que se haya elegido, solicita entonces la entrada del usuario respecto a cuál impresora es el objetivo. En implementaciones alternativas, la impresora remota 50 se puede seleccionar previamente como la impresora actual, "establecida previamente" ("default") . Después del procesamiento de este comando de impresión, la aplicación 36, con la . ayuda de los módulos del sistema operativo 35, traduce el documento almacenado en el formato propietario de la aplicación a un formato de datos intermedio durante el paso 603. .Este formato de datos intermedio contiene suficiente información para imprimir de manera exacta el documento en la impresora remota 50. Sin embargo, este formato de datos intermedio no es específico ni a la impresora remota 50, ni a la aplicación 36. De esta manera, el documento se puede formatear y modificar sin preocuparse acerca de su fuente de aplicación particular o de la impresora objetivo, y aquellos subsistemas que ejecuten estas transformaciones pueden ser muy independientes de la elección de la impresora 50 o la aplicación 36. En otras modalidades, sin embargo, pudiera no ser necesario un formato de datos intermedio. En el caso descrito anteriormente, en el cual la aplicación 36 imprime directamente a la impresora remota 50, sin funcionalidad de acceso proporcionada por el sistema operativo 35 subyacente, la aplicación 36 simplemente usa su propio formato especifico a la aplicación hasta que el archivo se debe traducir a un lenguaje nativo de la impresora para transmisión. En todavía otras modalidades, los subsistemas de impresión ejecutan los cambios de formateo hechos a los documentos, después de cada formato especifico a la aplicación diferente, evitando una traducción a un formato de datos intermedio. Una vez que se ha creado el archivo intermedio, éste se coloca en una cola de espera en el cliente 20 durante el paso 607. En una modalidad, esta cola de espera representa una estructura de datos con una cola de espera por instancia de impresora. A medida que se añaden documentos a la cola de espera, éstos se colocan en un formato de primero - en -entrar - primero - en - salir con ciertas excepciones, como es bien conocido para aquellos de experiencia en la técnica. El primer documento añadido a la cola de espera es el primero impreso ala impresora remota 50. El servidor de impresoras 49 vinculado con la impresora remota 50 también envia datos respecto a su propia cola de espera al cliente 20, y las dos computadoras pueden combinar sus colas de espera, de tal manera que el cliente 20 envíe un trabajo de impresión en el momento apropiado con relación a los otros trabajos de impresión recibidos por el servidor de impresoras 49. El cliente 20 también puede usar los datos recibidos para informar al usuario cuándo se imprimirá su trabajo de impresión, y en qué orden con respecto a otros documentos del usuario. En otras modalidades, la cola de espera se implementa adentro de . la aplicación 36, o no se puede implementar ninguna cola de espera, y si se niega una solicitud de impresión original, la aplicación 36 envía solicitudes e impresión a intervalos de tiempo determinados previamente . Cuando el documento llega al frente de la cola de espera y está listo para ser enviado a la impresora remota 50, el cliente 20 determina si está disponible o no el servidor de impresoras 49 en el paso 609. Como es bien conocido en la técnica, el cliente 20 hace esta determinación en una de muchas maneras potenciales, incluyendo: mediante simplemente usar un programa de diagnóstico para ver si el servidor de impresoras 49 está disponible, usando la funcionalidad de red subyacente, mediante el uso de uno de los protocolos de red sobre los cuales se ha acordado para preguntar al servidor de impresoras 49 si éste puede aceptar trabajos de impresión, o mediante la suposición de que el servidor de impresoras 49 está disponible hasta que falla una solicitud de impresión. Si el cliente 20 determina que el servidor de impresoras 49 está disponible, se presenta el archivo intermedio al lenguaje nativo de la impresora, de la impresora remota 50, y se envía el documento resultante al servidor de impresoras 49 durante el paso 611. Puesto que la información respecto al controlador de la impresora remota 50, los ajustes de la impresora y los ajustes administrativos está almacenada en el cliente 20, como se describe en los pasos 405-407, el archivo intermedio se puede presentar de manera eficiente al lenguaje nativo de la impresora. Estos ajustes almacenados pueden ser ajustes anticuados, almacenados en la última actualización por parte del administrador de sincronización 216, o ajustes recientes, recibidos desde el servidor de impresoras 49 inmediatamente antes de imprimir el documento particular. En una modalidad, la utilización de ajustes recientes es el método preferido, aunque se incrementa el tráfico en la red. En modalidades alternativas, se prefieren los ajustes anticuados, aunque es más probable que los ajustes del servidor 49 y el cliente 20 no estén sincronizados. Aunque los ajustes del dispositivo y la impresora delinean los atributos físicos de la impresora remota 50, los ajustes administrativos de preferencia necesitan que se realicen diferentes ediciones de formateo y ediciones de impresión (tales como páginas impresas en dos lados de una hoja) en el archivo intermedio a medida que se presenta éste. En otras modalidades, los ajustes administrativos los recibe la aplicación 36 antes del paso 603, y la aplicación usa estos ajustes para crear un archivo intermedio con los ajustes administrativos ya aplicados. En todavía otras modalidades, primeramente se aplican los ajustes de la impresora y administrativos al archivo intermedio, y después, usando los ajustes y el controlador de la impresora, el archivo intermedio se convierte a un documento que puede leer la impresora remota 50. Tal documento se escribe en el lenguaje nativo de la impresora, de la impresora remota 50. Una vez presentado, este documento se envía entonces al servidor de impresoras 49, en donde éste se rutea a la impresora remota 50 apropiada. El servidor de impresoras 49 añade este documento a la cola de espera de la impresora apropiada según sea necesario, pero a diferencia de una red de impresión típica, el servidor de impresoras 49 no necesita realizar ninguna conversión o cambios de formateo del archivo antes de enviar el archivo a la impresora 50. Mediante la presentación del documento en el cliente 20, los recursos del servidor de impresoras 49 están libres para otras tareas. Si el servidor de impresoras 49 no está disponible cuando lo escudriña el cliente 20, el archivo intermedio simplemente permanece en la cola de espera para esa impresora en el paso 613. En una modalidad, el cliente 20 escudriña el servidor de impresoras 49 a intervalos de tiempo determinados previamente, para determinar si éste se ha hecho disponible o no. El cliente 20 también puede esperar por actividad de la red o del dispositivo que indique que el servidor de impresoras 49 ya pudiera estar disponible. El cliente 20 escudriña entonces tanto a intervalos de tiempo determinados previamente como después de cierta actividad, para facilitar la impresión tan rápidamente como sea posible. En modalidades alternativas, el cliente 20 escudriña el servidor de impresoras 49 a intervalos de tiempo determinados previamente. Desafortunadamente, los intervalos de tiempo usualmente son demasiado largos, extendiendo el periodo de espera posible antes de que se imprima un documento, o demasiado cortos, en cuyo caso se usan la red y los recursos de la CPU valiosos para escudriñar. En otra modalidad, el cliente 20 escucha la actividad del dispositivo y de la red y escudriña el servidor de impresoras 49 después de recibir un anuncio. Sin embargo, si al cliente 20 se le escapa el anuncio del dispositivo o de la red, el cliente 20 nunca * escudriñará el servidor de impresoras 49 y nunca imprimirá el documento. Mediante la combinación de estos dos métodos, la primera modalidad proporciona las ventajas de ambos, mientras evita muchas de las inconveniencias. Habiendo descrito estos pasos en un nivel alto, la
Figura 7 describe una implementación de un proceso de impresión de conformidad con una modalidad de la presente invención en la arquitectura de software ejemplar de la Figura 2. Los primeros pasos, 701-703, son idénticos a los pasos 601 y 603. Los pasos restantes se fragmentan aproximadamente como sigue: los pasos 705-707 corresponden con el paso 605, los pasos 709-711 corresponden con el paso 607, el paso 713 corresponde con el paso 609, los pasos 715-717 corresponden con el paso 611, y los pasos 719-721 corresponden con el , paso 613. Puesto que los pasos iniciales de enviar un comando de impresora a través de la aplicación 36, y crear un archivo en el formato de datos intermedio se han cubierto con algún detalle anteriormente, la siguiente descripción empezará con el paso 705. Una vez que la aplicación 36 y los módulos del sistema operativo 35 han creado el formato de archivo intermedio, el archivo intermedio se rutea al núcleo 210 del subsistema de impresión remoto por medio del ruteador de impresión 201, durante el paso 705. En una modalidad, el ruteador de impresión 201 mantiene una lista de impresoras remotas y locales registradas por el sistema operativo 35, y cuando se despacha un trabajo de impresión al ruteador 201, éste se envía al subsistema de impresión apropiado sobre la base de cuál lista es un miembro la impresora objetivo. En modalidades alternativas, el trabajo de impresión se envía con una indicación separada de si el trabajo de impresión está destinado o no para una impresora remota o local, y el ruteador intercepta y procesa la indicación. Habiendo recibido y procesado el archivo intermedio, durante el paso 709 el núcleo envía el archivo intermedio al proveedor local 220. En una modalidad, el proveedor local 220 recibe y trata este archivo enviado como un trabajo de impresión local. Esta modalidad de la invención usa mediante lo mismo la funcionalidad de impresión local en situaciones de impresión remotas, evitando la necesidad de duplicar muchas de estas funciones. Durante el paso 711, el proveedor local 220 determina a cuál instancia de impresora de sombra local está dirigido el trabajo de impresión y lo coloca en la cola de espera asociada con esa instancia de impresora de sombra local. En modalidades alternativas, el subsistema de impresión remoto 202 implementa la funcionalidad de impresión local misma, y por lo tanto coloca el trabajo de impresión en una cola de espera remota, liberando ' al subsistema de impresión local 203 para enfocarse en los trabajos de impresión locales .
Una vez que un trabajo de impresión ha llegado al frente de la cola de espera apropiada, antes de que se envié el documento presentado al servidor de impresoras 49, el monitor de puerto remoto 213 primeramente determina si está disponible el servidor de impresoras 49, paso 713. En una modalidad, el monitor de puerto remoto 213 verifica la disponibilidad antes de que el subsistema de impresión local 203 realice cualquier presentación. En una modalidad alternativa, se canaliza el procesamiento de las porciones del documento de impresión. Por lo tanto, el monitor de puerto remoto 213 verifica la disponibilidad únicamente después de que el subsistema de impresión local 203 ha realizado alguna presentación. Una vez que se ha determinado que el servidor no esta disponible sin embargo, ambas modalidades convergen, puesto que se pierden los datos parcialmente presentados en la segunda modalidad. Si el servidor de impresoras 49 está disponible, en una modalidad ejemplar, el proveedor local 220 envía el trabajo de impresión al procesador de impresión 222, el cual aplica los ajustes del dispositivo y administrativos almacenados, asociados con la instancia de impresora de sombra local. Estos ajustes administrativos incluyen aquellos ajustes descritos anteriormente con respecto al paso 611. Puesto que las entradas caché almacenadas por el administrador caché 215 comparan los ajustes administrativos con sus impresoras remotas 50 y servidores de impresoras 49 respectivos, la identificación de la impresora se envía al administrador caché 215, y se regresan los ajustes solicitados. En ciertos casos, el núcleo 210 verifica que los ajustes actualmente almacenados estén sincronizados con aquellos almacenados en el servidor de impresoras 49. En una modalidad, el núcleo 210, en comunicación con el administrador de sincronización 216, usa el administrador de conexión 217 para actualizar el administrador caché 215 con los últimos ajustes administrativos, como se describió en el paso 509 anteriormente. Sin embargo, si el servidor de impresoras 49 no está disponible durante este proceso, el procesador de impresión 222 usa los ajustes almacenados del dispositivo y administrativos sin actualizarlos. Por medio de permitir que el proceso de impresión continúe sin actualizar los ajustes almacenados, esta modalidad facilita la impresión y presentación fuera de línea. En otras modalidades, el núcleo 210 requiere la actualización de los ajustes administrativos con el servidor de impresoras 49 antes de que continúe el proceso de impresión, obstaculizando la impresión y presentación fuera de línea. En todavía otras modalidades, el núcleo 210 no actualiza los ajustes administrativos, sino que más bien usa los ajustes administrativos según los sincronizó por última vez el administrador de sincronización 216, hasta que se le informa explícitamente que los actualice . Durante el paso 715, el documento se traduce entonces al lenguaje nativo de la impresora apropiado por medio del controlador de la impresora 226 y las funciones del sistema operativo 221 almacenados en el cliente 20. Esta aplicación de ajustes del dispositivo y administrativos y la traducción por medio del controlador de impresora apropiado se realzan usando métodos bien conocidos en la técnica. De hecho, en una modalidad estas funciones las ejecutan subsistemas de impresión locales heredados, mayormente no modificados 203, para los cuales es transparente el último destino del archivo . En una modalidad de la invención, se canaliza el procesamiento de las porciones de un documento de impresión. De esta manera, durante el paso 717, las porciones del documento ahora en un lenguaje nativo de la impresora se envían a través del monitor de puerto 213 del subsistema de impresión remoto. A medida que se presentan las secciones del documento, éstas se envían a través del monitor de puerto 213 mientras se presentan las secciones subsecuentes. Por supuesto, como se describió anteriormente, el monitor de puerto remoto 213 únicamente organiza estas tareas. El monitor de puerto remoto 213 se comunica con el administrador de conexión 217, el cual implementa los protocolos de red necesarios para enviar los trabajos de impresión al servidor de impresoras 49. En modalidades alternativas, el monitor de puerto remoto 213 no necesita enviar simultáneamente el documento como se presenta éste. Más bien, el proveedor local 220 presenta el documento antes de colocarlo en la cola de espera de los archivos integrados para entrada/salida 225, o el proveedor local 220 presenta el documento completamente desde la cola de espera antes de despacharlo al monitor de puerto 213. La manera precisa para realizar las operaciones identificadas no es esencial para la implementación de la invención. Como se describe en la Figura 7 en el paso 713, si el monitor de puerto remoto 213 determina que no está disponible el servidor de impresoras 49, el control pasa al paso 719 en donde se obstaculiza la aplicación de los ajustes y la traducción por parte del subsistema de impresión local 203, y se pone en pausa la cola de espera del cliente que corresponda al servidor de impresoras 49. Después de lo anterior, durante el paso 721, el cliente 20 empieza a escudriñar el servidor 49. En una modalidad, el monitor de puerto remoto 213 pone en pausa la cola de espera que administra el proveedor local 220, . puesto que ésta es una manera simple, bien conocida, para manejar fallas de la impresora en muchos subsistemas de impresión locales 203 existentes. En modalidades alternativas, el subsistema de impresión local 203 implementa cualquier método particular para tratar con la falla de la impresora, incluyendo la cancelación de todos los trabajos de impresión y la indicación de que la aplicación 36 debe volver a enviar los datos del trabajo de impresión en algún momento en el futuro. En una modalidad de la invención, durante el paso 721, el sistema de eventos de accesibilidad 212 incorporado en el subsistema de impresión remoto 202 usa el administrador de conexión 217 para escudriñar el servidor de impresoras 49. El sistema de eventos de accesibilidad 212 de preferencia implementa uno de los métodos de escudriñamiento descritos anteriormente con respecto al paso 613. Una vez que el sistema de eventos de accesibilidad 212 remoto envía una notificación al núcleo 210 de que el servidor de impresoras 49 está disponible, se quita la pausa de la cola de espera, y la operación de impresión continúa al paso 715, en donde se procesa el archivo intermedio y se envía al servidor de impresoras 49. En el caso de que algunos o todos los componentes del subsistema de impresión remoto fallaran, o de que un usuario cerrara la sesión antes de que se hubieran ejecutado todos los trabajos de impresión, una modalidad de la invención proporciona además un componente depurador 214. El depurador 214 asegura de que se borren cualesquier instancias de impresora de sombra local, entradas colocadas en caché, o archivos integrados para entrada/salida que correspondan con los trabajos que se han cancelado o que ya no se deben imprimir. De esta manera, se mitigan potencialiuente las dificultades potenciales inherentes al coordinar trabajos de impresión a través de múltiples subsistemas y componentes por medio de esta funcionalidad del componente. En vista de las muchas modalidades a las cuales pueden aplicar los principios de esta invención, se debe reconocer que las modalidades descritas en la presente con respecto a las figuras de los dibujos se deben considerar únicamente ilustrativas, y no se deben tomar como limitando el alcance de la invención. Por ejemplo, aquellos de experiencia en la técnica reconocerán que los elementos de las modalidades ilustradas que se muestran en el software se pueden implementar en el hardware y viceversa, o que las modalidades ilustradas se pueden modificar en configuración y detalle, sin apartarse del espíritu de la invención. Además, se pueden modificar, complementar y/o volver a ordenar los pasos ilustrativos, sin desviarse de la invención. Por lo tanto, la invención como se describe en la presente contempla todas aquellas modalidades que pudieran llegar a estar dentro del alcance de las siguientes reivindicaciones y equivalentes de las mismas.
Claims (24)
1. Un método para imprimir remotamente un documento en una red que comprende una computadora de cliente conectada en red, un dispositivo impresor objetivo conectado en red y una computadora de servidor de impresoras, el método comprendiendo : almacenar los ajustes administrativos para el dispositivo impresor objetivo conectado en red aplicados por la computadora del servidor de impresoras en la computadora del cliente; . actualizar, usando el administrador de sincronización en la computadora del cliente, los ajustes administrativos almacenados para mantener la sincronización con los ajustes administrativos de la computadora del servidor de impresoras ; aplicar los ajustes administrativos almacenados al documento en la computadora del cliente; presentar el documento en un lenguaje nativo de la impresora del dispositivo impresor objetivo conectado en red en la computadora del cliente; y enviar el documento presentado a la computadora del servidor de impresoras.
2. El método de la reivindicación 1, en donde los pasos de presentar el documento en la computadora del cliente, y enviar el documento presentado ocurren sustancialmente de manera simultánea.
3. El método de la reivindicación 1, en donde los pasos de presentar el documento en la computadora del cliente comprende además: escudriñar la red cuando la computadora del servidor de impresoras no está disponible, para determinar cuándo se hace disponible la computadora del servidor de impresoras .
4. El método de la reivindicación 3, en donde el paso de escudriñar la red comprende además escudriñar la computadora del servidor de impresoras, en respuesta a la actividad del dispositivo y de la' red, que indica que la computadora del servidor de impresoras pudiera estar disponible.
5. El método de la reivindicación 3, en donde el paso de escudriñar la red comprende además escudriñar periódicamente la red.
6. El método de la reivindicación 1, en donde el paso de presentar el documento en la computadora del cliente utiliza funcionalidad de impresión local.
7. El método de la reivindicación 6, en donde el paso de enviar el documento presentado a la computadora del servidor de impresoras utiliza la funcionalidad de impresión local.
8. El método de la reivindicación 1, en donde el paso de presentar el documento en la computadora del cliente se realiza de manera no sincrónica.
9. El método de la reivindicación 1, en donde el paso de presentar el documento en la computadora del cliente incluye anexar el documento a una cola de espera.
10. El método de la reivindicación 1, en donde la actualización de los ajustes administrativos inicraímente se realiza en asociación con el registro del dispositivo impresor objetivo conectado en red en la computadora del cliente .
11. El método de la reivindicación 1, en donde el paso de aplicar los ajustes administrativos almacenados al documento comprende además : aplicar los ajustes administrativos almacenados al documento si no está disponible la computadora del servidor de impresoras.
12. El método de la reivindicación 1, en donde el paso de aplicar los ajustes administrativos almacenados al documento también comprende: realizar el paso de actualizar los ajustes administrativos almacenados antes de aplicar los ajustes administrativos almacenados al documento si está disponible la computadora del servidor de impresoras.
13. Un sistema de computadora de cliente en una red que facilita la presentación de impresión del lado del cliente, en respuesta a una aplicación que emite un comando para imprimir un documento, el sistema de computadora del cliente comprendiendo: un sistema operativo para procesar e interpretar el comando de impresión; un ruteador de impresión para rutear el comando de impresión a un subsistema de impresión remoto, de conformidad con un dispositivo impresor objetivo conectado en red designado; el subsistema de impresión remoto para almacenar los ajustes administrativos recibidos desde una computadora del servidor de impresoras, y despachar el documento transformado en un lenguaje nativo de la impresora a la computadora del servidor de impresoras; un subsistema de presentación para aplicar los ajustes administrativos almacenados al documento, y transformar el documento de conformidad con el lenguaje nativo de la impresora utilizado por el dispositivo impresor objetivo conectado en red; y un administrador de sincronización para solicitar de la computadora del servidor de impresoras los ajustes administrativos actuales para el dispositivo impresor objetivo conectado en red.
14. El sistema de computadora de la reivindicación 13, en donde el administrador de sincronización solicita periódicamente los ajustes administrativos actuales.
15. El sistema de computadora de la reivindicación 13, en donde el administrador de sincronización solicita los ajustes administrativos actuales antes de que el subsistema de presentación aplique los ajustes administrativos almacenados. 15. El sistema de computadora de la reivindicación 13, caracterizado porque además comprende: un sistema de eventos de accesibilidad para escudriñar la computadora del servidor de impresoras si no está disponible la computadora del servidor de impresoras .
16. El sistema de computadora. de la reivindicación 15, en donde el sistema de eventos de accesibilidad escudriña periódicamente la computadora del servidor de impresoras.
17. El sistema de computadora de la reivindicación 15, en donde el sistema de eventos de accesibilidad escudriña la computadora del servidor de impresoras, en respuesta a la actividad del dispositivo y de la red, que indica que la computadora del servidor de impresoras pudiera estar disponible.
18. Un medio legible por computadora que comprende instrucciones ejecutables por computadora para realizar un método para imprimir remotamente un documento en una red que comprende una computadora de cliente conectada en red, un dispositivo impresor objetivo conectado en red y una computadora de servidor de impresoras, el método comprendiendo : almacenar los ajustes administrativos para el dispositivo impresor objetivo conectado en red aplicados por la computadora del servidor de impresoras en la computadora del cliente; actualizar, usando el administrador de sincronización en la computadora del cliente, los ajustes administrativos almacenados para mantener la sincronización con los ajustes administrativos - de la computadora del servidor de impresoras; aplicar los ajustes administrativos almacenados al documento en la computadora del cliente; presentar el documento en un lenguaje nativo de la impresora del dispositivo impresor objetivo conectado en red en. la computadora del cliente; y enviar el documento presentado a la computadora del servidor de impresoras .
19. El medio legible por computadora de la reivindicación 18, en donde el paso de presentar el documento en la computadora del cliente también comprende: escudriñar la red cuando la computadora del servidor de impresoras no está disponible, para determinar cuándo se hace disponible la computadora del servidor de impresoras .
20. El medio legible por computadora de la reivindicación 19, en donde el paso de escudriñar la red también comprende escudriñar la computadora del servidor de impresoras, en respuesta a la actividad del dispositivo y de la red, que indica que la computadora del servidor de impresoras pudiera estar disponible.
21. El medio legible por computadora de la reivindicación 19, en donde el paso de escudriñar la red comprende además escudriñar periódicamente la red.
22. El medio legible por computadora de la reivindicación 18, en donde el paso de aplicar los ajustes administrativos almacenados al documento comprende además : aplicar los ajustes administrativos almacenados al documento si no está disponible la computadora del servidor de impresoras.
23. El medio legible por computadora de la reivindicación 18, en donde el paso de aplicar los ajustes administrativos al documento comprende además: realizar el paso de actualizar los ajustes administrativos almacenados antes de aplicar los ajustes administrativos almacenados al documento si está disponible la computadora del servidor de impresoras.
24. Un sistema de red para facilitar la presentación de impresión del lado del cliente, en respuesta a una aplicación que emite un comando para imprimir un documento, el sistema de red comprendiendo: una computadora del cliente, en donde la computadora del cliente comprende: un sistema operativo para procesar e interpretar el comando de impresión; un ruteador de impresión para rutear el comando de impresión a un subsistema de impresión remoto de conformidad con un dispositivo impresor objetivo conectado en red designado; el subsistema de impresión remoto para almacenar los ajustes administrativos recibidos desde una computadora del servidor de impresoras, y despachar el documento transformado a un lenguaje nativo de la impresora a la computadora del servidor de impresoras; un subsistema de presentación para aplicar los ajustes administrativos almacenados al documento, y transformar el documento de conformidad con el lenguaje nativo de la impresora que utiliza el dispositivo impresor objetivo conectado en red; un administrador de sincronización para solicitar de la computadora del servidor de impresoras los ajustes administrativos actuales para el dispositivo impresor objetivo conectado en red; la computadora del servidor de impresoras para mantener los ajustes administrativos actuales para el dispositivo impresor objetivo conectado en red, para enviar los ajustes administrativos actuales a la computadora del cliente después de la recepción de una solicitud, y para despachar el documento transformado al dispositivo impresor objetivo conectado en red; y el dispositivo impresor objetivo conectado en red para crear una salida desde el documento transformado.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/337,115 US7365872B2 (en) | 2003-01-03 | 2003-01-03 | Client computer system, method and computer readable medium comprising executable instructions for rendering printable documents in a native printer language on the network |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| MXPA03012018A true MXPA03012018A (es) | 2005-04-11 |
Family
ID=32507428
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| MXPA03012018A MXPA03012018A (es) | 2003-01-03 | 2003-12-19 | Presentacion del lado del cliente de documentos imprimibles en una red. |
Country Status (14)
| Country | Link |
|---|---|
| US (2) | US7365872B2 (es) |
| EP (1) | EP1435565B1 (es) |
| JP (2) | JP4989844B2 (es) |
| KR (1) | KR101099262B1 (es) |
| CN (1) | CN1525305B (es) |
| AU (1) | AU2003271331B2 (es) |
| BR (1) | BR0306093A (es) |
| CA (1) | CA2454492C (es) |
| MX (1) | MXPA03012018A (es) |
| MY (1) | MY143417A (es) |
| PL (1) | PL364213A1 (es) |
| RU (1) | RU2349953C2 (es) |
| TW (2) | TWI342693B (es) |
| ZA (1) | ZA200309901B (es) |
Families Citing this family (73)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6553414B1 (en) * | 1998-10-02 | 2003-04-22 | Canon Kabushiki Kaisha | System used in plural information processing devices for commonly using peripheral device in network |
| US8843617B2 (en) | 2000-03-01 | 2014-09-23 | Printeron Inc. | Multi-stage polling mechanism and system for the transmission and processing control of network resource data |
| CA2301996A1 (en) | 2000-03-13 | 2001-09-13 | Spicer Corporation | Wireless attachment enabling |
| US7365872B2 (en) * | 2003-01-03 | 2008-04-29 | Microsoft Corporation | Client computer system, method and computer readable medium comprising executable instructions for rendering printable documents in a native printer language on the network |
| US7885190B1 (en) | 2003-05-12 | 2011-02-08 | Sourcefire, Inc. | Systems and methods for determining characteristics of a network based on flow analysis |
| CN100354859C (zh) * | 2003-10-06 | 2007-12-12 | 佳能株式会社 | 信息处理装置、信息处理方法 |
| WO2006099892A1 (en) * | 2005-03-25 | 2006-09-28 | 3Dconnexion Holding Sa | Synchronizing settings for manual input devices |
| CN100440131C (zh) * | 2005-03-30 | 2008-12-03 | 精工爱普生株式会社 | 打印作业信息显示系统、打印系统、打印作业管理装置 |
| US7685316B2 (en) * | 2005-06-16 | 2010-03-23 | Cisco Technology, Inc. | System and method for coordinated network configuration |
| KR100727946B1 (ko) * | 2005-06-29 | 2007-06-14 | 삼성전자주식회사 | 오프라인 상태의 화상 형성 장치에 대한 인쇄 작업 제어방법 및 장치. |
| US7505170B2 (en) * | 2005-07-13 | 2009-03-17 | Microsoft Corporation | Conversions between spool files and PDL within a pipeline of modular filters |
| US7733803B2 (en) * | 2005-11-14 | 2010-06-08 | Sourcefire, Inc. | Systems and methods for modifying network map attributes |
| JP4685624B2 (ja) * | 2005-12-28 | 2011-05-18 | スター精密株式会社 | 環境設定データ設定方法、環境設定データ設定プログラム及び印刷データ供給装置 |
| US7941504B2 (en) * | 2006-02-07 | 2011-05-10 | Efraim Gershom | Global peripheral device sharing system and method |
| US20070294335A1 (en) * | 2006-02-07 | 2007-12-20 | Efraim Gershom | Global peripheral device sharing system and method |
| JP4298738B2 (ja) | 2006-10-24 | 2009-07-22 | キヤノン株式会社 | クライアントコンピュータ及び情報処理方法 |
| KR101188394B1 (ko) * | 2007-06-28 | 2012-10-05 | 삼성전자주식회사 | 네트워크 화상형성장치에서의 패킷 허용방법 및 패킷 송수신 제한이 가능한 화상형성 장치 |
| JP5137641B2 (ja) * | 2008-03-19 | 2013-02-06 | キヤノン株式会社 | 情報処理装置、画像処理システム及び画像処理方法並びにプログラム |
| US8474043B2 (en) * | 2008-04-17 | 2013-06-25 | Sourcefire, Inc. | Speed and memory optimization of intrusion detection system (IDS) and intrusion prevention system (IPS) rule processing |
| US8272055B2 (en) * | 2008-10-08 | 2012-09-18 | Sourcefire, Inc. | Target-based SMB and DCE/RPC processing for an intrusion detection system or intrusion prevention system |
| TWI450185B (zh) * | 2009-01-09 | 2014-08-21 | Hon Hai Prec Ind Co Ltd | 列印系統及方法 |
| US9817622B2 (en) | 2010-01-20 | 2017-11-14 | Hewlett-Packard Development Company, L.P. | Cloud printer with a common user print experience |
| US8610928B2 (en) | 2010-02-09 | 2013-12-17 | Apple Inc. | Framework that supports driverless printing |
| US20110194124A1 (en) * | 2010-02-09 | 2011-08-11 | Apple Inc. | Data formats to support driverless printing |
| JP2011180954A (ja) * | 2010-03-03 | 2011-09-15 | Seiko Epson Corp | 機器制御装置、機器制御プログラムおよびサーバー |
| EP2559217B1 (en) | 2010-04-16 | 2019-08-14 | Cisco Technology, Inc. | System and method for near-real time network attack detection, and system and method for unified detection via detection routing |
| US9436414B2 (en) | 2010-05-08 | 2016-09-06 | Hewlett-Packard Development Company, L.P. | Managing a printing device behind a firewall |
| US8433790B2 (en) | 2010-06-11 | 2013-04-30 | Sourcefire, Inc. | System and method for assigning network blocks to sensors |
| US8671182B2 (en) | 2010-06-22 | 2014-03-11 | Sourcefire, Inc. | System and method for resolving operating system or service identity conflicts |
| JP2012043398A (ja) * | 2010-07-21 | 2012-03-01 | Canon Inc | コンテンツ印刷システム、および印刷中継システム、および制御方法、およびプログラム |
| US8970873B2 (en) * | 2010-09-17 | 2015-03-03 | Printeron Inc. | System and method for managing printer resources on an internal network |
| US8570566B2 (en) | 2010-09-17 | 2013-10-29 | Printeron Inc. | System and method that provides user interface on mobile network terminal for releasing print jobs based on location information |
| US9853864B2 (en) | 2010-09-17 | 2017-12-26 | Printeron Inc. | System and method for updating printer location information field |
| JP5763904B2 (ja) * | 2010-09-30 | 2015-08-12 | キヤノン株式会社 | プリントシステム、印刷方法、プリントサーバおよびその制御方法、並びにプログラム |
| JP5717407B2 (ja) | 2010-11-15 | 2015-05-13 | キヤノン株式会社 | 印刷中継システム、画像形成装置、システムの制御方法、およびプログラム |
| JP5713641B2 (ja) * | 2010-11-16 | 2015-05-07 | キヤノン株式会社 | 印刷中継システム、および印刷中継システムの制御方法、およびプログラム |
| WO2012071646A1 (en) | 2010-11-30 | 2012-06-07 | Printeron Inc. | System for internet enabled printing |
| JP5565346B2 (ja) * | 2011-03-11 | 2014-08-06 | ブラザー工業株式会社 | プリンタ |
| US8601034B2 (en) | 2011-03-11 | 2013-12-03 | Sourcefire, Inc. | System and method for real time data awareness |
| US8630008B2 (en) | 2011-05-20 | 2014-01-14 | Xerox Corporation | Method and system for managing print device information using a cloud administration system |
| US8730502B2 (en) * | 2011-05-20 | 2014-05-20 | Xerox Corporation | Method and system for managing print jobs using a cloud administration system |
| CN102999300A (zh) * | 2011-09-08 | 2013-03-27 | 泰金宝电通股份有限公司 | 互动式系统 |
| JP5921156B2 (ja) | 2011-11-16 | 2016-05-24 | キヤノン株式会社 | 印刷装置、レイアウト変更方法、及びプログラム |
| US9658806B2 (en) * | 2011-12-16 | 2017-05-23 | Intel Corporation | Driverless printing by a target printer |
| US8675215B2 (en) | 2012-01-31 | 2014-03-18 | Apple Inc. | Using regions of interest to scale print data for print jobs |
| US9298401B2 (en) | 2012-02-03 | 2016-03-29 | Apple Inc. | Configuring print jobs associated with unsupported document formats |
| US8891115B2 (en) | 2012-02-03 | 2014-11-18 | Apple Inc. | Configuration of print data for print jobs based on document-processing capabilities of printers |
| US9069501B2 (en) | 2012-02-28 | 2015-06-30 | Hewlett-Packard Development Company, L.P. | Mechanism that allows initiating print without being aware of the printer email address |
| CN104254844B (zh) | 2012-06-26 | 2017-12-19 | 惠普发展公司,有限责任合伙企业 | 向wi‑fi客户端暴露网络打印机 |
| US9400622B2 (en) | 2012-06-29 | 2016-07-26 | Hewlett-Packard Development Company, L.P. | Path independent print queues |
| JP6182855B2 (ja) * | 2012-12-04 | 2017-08-23 | 株式会社リコー | 画像処理システム及び情報同期方法 |
| US9098218B2 (en) | 2013-03-11 | 2015-08-04 | Xerox International Partners | System for authenticating communications between a non-cloud ready networked printer and a cloud-based servise through a virtual printer interface device |
| US9122436B2 (en) | 2013-03-11 | 2015-09-01 | Xerox International Partners | Virtual printer interface node |
| US8970859B2 (en) | 2013-03-11 | 2015-03-03 | Xerox International Partners | Virtual printer interface node |
| US8970885B2 (en) | 2013-03-11 | 2015-03-03 | Xerox International Partners | Virtual printer interface node |
| US8908214B2 (en) | 2013-03-11 | 2014-12-09 | Xerox International Partners | Virtual printer interface node |
| US8913272B2 (en) * | 2013-03-11 | 2014-12-16 | Xerox International Partners | Virtual printer interface node |
| US8908213B2 (en) | 2013-03-11 | 2014-12-09 | Xerox International Partners | Virtual printer interface node |
| US8917414B2 (en) | 2013-03-11 | 2014-12-23 | Xerox International Partners | Virtual printer interface node |
| US9047027B2 (en) | 2013-03-11 | 2015-06-02 | Xerox International Partners | System for authenticating communications between a non-cloud ready networked printer and a cloud-based service through a virtual printer interface device |
| US9277353B2 (en) * | 2013-04-02 | 2016-03-01 | Xerox Corporation | Methods and systems for locating peripheral devices |
| US9356882B2 (en) | 2014-02-04 | 2016-05-31 | Printeron Inc. | Streamlined system for the transmission of network resource data |
| RU2575994C2 (ru) * | 2014-06-19 | 2016-02-27 | Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" - Госкорпорация "Росатом" | Способ реализации сетевой печати |
| KR200483273Y1 (ko) | 2014-11-10 | 2017-04-27 | 엠아이산업 주식회사 | 도난 방지 기능이 부가된 그레이팅 |
| JP6499423B2 (ja) | 2014-11-18 | 2019-04-10 | キヤノン株式会社 | 情報処理システム、情報処理装置、及びその制御方法とプログラム |
| KR200482817Y1 (ko) | 2015-05-08 | 2017-03-07 | 엠아이산업 주식회사 | 완충 그레이팅 |
| CN106354439A (zh) * | 2015-07-15 | 2017-01-25 | 日本冲信息株式会社 | 一种印刷系统 |
| EP3376748B1 (en) | 2017-03-15 | 2020-02-26 | Zhuhai Seine Technology Co., Ltd. | Image forming apparatus and system |
| JP7207947B2 (ja) * | 2018-10-29 | 2023-01-18 | キヤノン株式会社 | 印刷制御装置および印刷変換プログラム |
| WO2022060364A1 (en) * | 2020-09-18 | 2022-03-24 | Hewlett-Packard Development Company, L.P. | Data visualization models and instruction models for rendering data visualization models |
| US11573747B2 (en) | 2020-09-25 | 2023-02-07 | Fmr Llc | Systems and methods for a printer reverse redirector |
| JP7565188B2 (ja) * | 2020-10-27 | 2024-10-10 | シャープ株式会社 | 画像形成装置、設定方法及びシステム |
| CN115291819A (zh) * | 2022-08-04 | 2022-11-04 | 中电科航空电子有限公司 | 一种基于文件队列模式的机载打印方法及系统 |
Family Cites Families (40)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US626693A (en) * | 1899-06-13 | Bicycle-support | ||
| US4466065A (en) | 1982-05-17 | 1984-08-14 | International Business Machines Corporation | Queuing capability in a foreground task |
| JP2741726B2 (ja) * | 1993-06-28 | 1998-04-22 | 富士通株式会社 | 共用出力手段のセキュリティ確保方法及びセキュリティ確保システム |
| JPH07225731A (ja) * | 1994-02-10 | 1995-08-22 | Fuji Xerox Co Ltd | ネットワークにおける文書処理装置 |
| JPH07248889A (ja) * | 1994-03-11 | 1995-09-26 | Fuji Xerox Co Ltd | プリントシステム |
| US5580177A (en) | 1994-03-29 | 1996-12-03 | Hewlett-Packard Company | Printer/client network with centrally updated printer drivers and printer status monitoring |
| JP3056948B2 (ja) * | 1994-06-09 | 2000-06-26 | キヤノン株式会社 | 印刷装置及びその制御装置、及び印刷装置の制御方法 |
| US6043898A (en) * | 1996-05-31 | 2000-03-28 | Sun Microsystems, Inc. | Method and system for concurrently executing multiple spooling systems in a networked computer system |
| US6452692B1 (en) * | 1996-12-02 | 2002-09-17 | Sun Microsystems, Inc. | Networked printer server |
| JP3262518B2 (ja) * | 1996-12-27 | 2002-03-04 | キヤノン株式会社 | プリントシステムおよび情報処理装置および印刷制御装置およびその方法およびコンピュータ読み取り可能なプログラムが格納された記憶媒体 |
| US6184996B1 (en) | 1997-06-18 | 2001-02-06 | Hewlett-Packard Company | Network printer with remote print queue control procedure |
| US6144959A (en) * | 1997-08-18 | 2000-11-07 | Novell, Inc. | System and method for managing user accounts in a communication network |
| JPH11161451A (ja) | 1997-09-26 | 1999-06-18 | Hitachi Koki Co Ltd | 印刷システム |
| EP0907120A3 (en) | 1997-10-02 | 2004-03-24 | Tumbleweed Software Corporation | Method amd apparatus for delivering documents over an electronic network |
| US6288790B1 (en) | 1998-05-15 | 2001-09-11 | International Business Machines Corporation | Mobility support for printing |
| RU2189638C2 (ru) * | 1998-05-27 | 2002-09-20 | Дайболд, Инкорпорейтед | Способ напечатания документа с помощью автоматического банковского аппарата, автоматический банковский аппарат (варианты) и способ печатания документа с его помощью |
| US6498656B1 (en) | 1998-08-26 | 2002-12-24 | International Business Machines Corporation | Rule based selection criteria for controlling print job distribution |
| US6266693B1 (en) * | 1998-08-31 | 2001-07-24 | Toshiba America Information Systems Inc. | Method of controlling printer information in a network environment |
| US6563955B2 (en) * | 1998-11-13 | 2003-05-13 | Xerox Corporation | Method and apparatus for analyzing image data to use multiple transforms for enhanced image data transmission |
| JP2000172465A (ja) * | 1998-12-01 | 2000-06-23 | Canon Inc | インターネットプリンティングシステム |
| US6424424B1 (en) * | 1999-01-19 | 2002-07-23 | Hewlett-Packard Company | Method and apparatus for automatic installation of shared printers over a network |
| JP2000301803A (ja) * | 1999-04-21 | 2000-10-31 | Canon Inc | 印刷システム、印刷データ処理装置、印刷データ処理方法および記憶媒体 |
| JP2000330734A (ja) * | 1999-05-14 | 2000-11-30 | Tokyo Denshi Sekkei Kk | ネットワークプリント方法および該方法を用いたネットワークプリントシステム |
| JP2001043046A (ja) * | 1999-07-27 | 2001-02-16 | Canon Inc | 印刷処理システム及びその処理方法 |
| JP3927731B2 (ja) * | 1999-07-29 | 2007-06-13 | キヤノン株式会社 | 印刷システム、情報処理装置、情報処理方法、印刷ジョブ登録方法及び記録媒体 |
| JP2001146049A (ja) * | 1999-11-19 | 2001-05-29 | Nec Corp | プリンタシステム及びそれを用いた描画処理方法及び描画処理を行うプログラムを記録した記録媒体 |
| US6842766B2 (en) | 1999-12-09 | 2005-01-11 | Microsoft Corporation | Client side caching of printer configuration |
| TW448653B (en) | 1999-12-21 | 2001-08-01 | Inventec Corp | Sever structure supporting client's terminal equipment |
| JP2001222481A (ja) * | 2000-02-08 | 2001-08-17 | Canon Inc | 印刷システム及び印刷制御方法 |
| JP2001282474A (ja) * | 2000-03-30 | 2001-10-12 | Canon Inc | 印刷制御装置、印刷システム、印刷制御方法及び記憶媒体 |
| JP4438036B2 (ja) * | 2000-06-13 | 2010-03-24 | キヤノン株式会社 | 印刷システム、印刷方法及び記憶媒体、画像処理装置及びその制御方法 |
| US6814510B1 (en) | 2000-08-02 | 2004-11-09 | Xerox Corporation | Method and apparatus for automatic update of a printer driver configuration and status |
| JP2002140297A (ja) * | 2000-10-31 | 2002-05-17 | Pfu Ltd | 稼働率算出方法、稼働率算出システム、および記録媒体 |
| JP2002215361A (ja) | 2001-01-16 | 2002-08-02 | Canon Inc | 情報処理装置及び印刷管理装置及び印刷管理システム及びその方法及びコンピュ―タ読み取り可能なプログラムが格納された記憶媒体及び印刷制御プログラム |
| JP2002215350A (ja) * | 2001-01-16 | 2002-08-02 | Canon Inc | 情報処理装置、情報処理システム、分散出力制御方法および記録媒体 |
| JP3826080B2 (ja) * | 2001-10-30 | 2006-09-27 | キヤノン株式会社 | 情報処理装置及びその制御方法、制御プログラム、並びに媒体 |
| US7149826B2 (en) * | 2002-08-05 | 2006-12-12 | Hewlett-Packard Development Company, L.P. | Peripheral device output job routing |
| US7365872B2 (en) | 2003-01-03 | 2008-04-29 | Microsoft Corporation | Client computer system, method and computer readable medium comprising executable instructions for rendering printable documents in a native printer language on the network |
| US20050213115A1 (en) | 2004-03-29 | 2005-09-29 | Bruce Johnson | Print job system and method |
| US7505168B2 (en) | 2004-12-30 | 2009-03-17 | Microsoft Corporation | Distributed client side printing methods and systems |
-
2003
- 2003-01-03 US US10/337,115 patent/US7365872B2/en not_active Expired - Fee Related
- 2003-12-15 MY MYPI20034802A patent/MY143417A/en unknown
- 2003-12-18 EP EP03029232.0A patent/EP1435565B1/en not_active Expired - Lifetime
- 2003-12-19 TW TW092136306A patent/TWI342693B/zh not_active IP Right Cessation
- 2003-12-19 MX MXPA03012018A patent/MXPA03012018A/es active IP Right Grant
- 2003-12-19 TW TW099130100A patent/TWI450534B/zh not_active IP Right Cessation
- 2003-12-22 AU AU2003271331A patent/AU2003271331B2/en not_active Ceased
- 2003-12-22 ZA ZA200309901A patent/ZA200309901B/xx unknown
- 2003-12-23 PL PL03364213A patent/PL364213A1/xx not_active Application Discontinuation
- 2003-12-26 RU RU2003137777/09A patent/RU2349953C2/ru not_active IP Right Cessation
- 2003-12-29 BR BR0306093-4A patent/BR0306093A/pt not_active Application Discontinuation
- 2003-12-30 CA CA2454492A patent/CA2454492C/en not_active Expired - Fee Related
-
2004
- 2004-01-02 CN CN2004100016311A patent/CN1525305B/zh not_active Expired - Fee Related
- 2004-01-02 KR KR1020040000104A patent/KR101099262B1/ko not_active Expired - Fee Related
- 2004-01-05 JP JP2004000705A patent/JP4989844B2/ja not_active Expired - Fee Related
-
2008
- 2008-02-13 US US12/030,653 patent/US8233177B2/en not_active Expired - Fee Related
-
2011
- 2011-01-13 JP JP2011004573A patent/JP5133430B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US20040130740A1 (en) | 2004-07-08 |
| RU2349953C2 (ru) | 2009-03-20 |
| JP5133430B2 (ja) | 2013-01-30 |
| AU2003271331B2 (en) | 2009-12-10 |
| TW200417200A (en) | 2004-09-01 |
| EP1435565A2 (en) | 2004-07-07 |
| AU2003271331A1 (en) | 2004-07-22 |
| RU2003137777A (ru) | 2005-06-10 |
| TWI342693B (en) | 2011-05-21 |
| ZA200309901B (en) | 2004-08-13 |
| JP2011081843A (ja) | 2011-04-21 |
| JP2004213671A (ja) | 2004-07-29 |
| EP1435565B1 (en) | 2018-03-21 |
| BR0306093A (pt) | 2005-05-17 |
| US20080130051A1 (en) | 2008-06-05 |
| CA2454492C (en) | 2013-07-30 |
| KR20040062888A (ko) | 2004-07-09 |
| TW201101744A (en) | 2011-01-01 |
| EP1435565A3 (en) | 2007-12-05 |
| KR101099262B1 (ko) | 2011-12-28 |
| JP4989844B2 (ja) | 2012-08-01 |
| CA2454492A1 (en) | 2004-07-03 |
| TWI450534B (zh) | 2014-08-21 |
| US7365872B2 (en) | 2008-04-29 |
| MY143417A (en) | 2011-05-13 |
| CN1525305B (zh) | 2010-05-26 |
| US8233177B2 (en) | 2012-07-31 |
| PL364213A1 (en) | 2004-07-12 |
| CN1525305A (zh) | 2004-09-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| MXPA03012018A (es) | Presentacion del lado del cliente de documentos imprimibles en una red. | |
| JP4240690B2 (ja) | 情報処理装置と情報処理方法、及び情報処理システム、並びに記録媒体 | |
| USRE39801E1 (en) | Automatic installation of printers in a distributed environment | |
| US7265860B2 (en) | Load balancing print jobs across multiple printing devices | |
| US8649030B2 (en) | Controlling an information processing apparatus on which a plurality of printer drivers are installed | |
| US20120092693A1 (en) | Centralized print driver distribution in a distributed printing environment | |
| JP2011164854A (ja) | 印刷設定管理装置、アプリケーション装置、印刷設定管理方法、印刷制御方法、及びプログラム | |
| JP7757371B2 (ja) | 印刷設定画面を提供するアプリケーション | |
| US8749815B2 (en) | Job processing method, image processing system and image processing apparatus | |
| JP2010072865A (ja) | データ処理装置、データ処理方法、プログラムおよび記録媒体 | |
| JP2025031970A (ja) | 画像形成装置、制御方法、およびそのプログラム | |
| JP2008257698A (ja) | プリンタ設定におけるユーザの好みの自動検出 | |
| US8780392B2 (en) | Client apparatus, control method therefor, and bookbinding system | |
| US7706013B2 (en) | Image forming system | |
| JP2010157134A (ja) | 情報処理装置、情報処理方法及び情報処理システム | |
| HK1067750A (en) | Client side rendering of printable documents in a network | |
| HK1067750B (en) | Client side rendering of printable documents in a network | |
| JP2001092757A (ja) | ネットワーク装置およびこれを含むネットワークシステム、デバイス検索システムおよびその方法、並びに記憶媒体 | |
| JP2001296988A (ja) | 周辺装置モニタ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FG | Grant or registration | ||
| HH | Correction or change in general |