Abstract:
A printer and associated programming for automatically requesting a PDL program from a storage site that is connected to the printer by a network for any document that requires a PDL program that is not already available to the printer. A computer for this purpose may be a user or host computer, or be built in to the printer. When the computer delivers a document to the printer, either the computer will request that the PDL program from storage to be sent to the printer, or the printer will determine which PDL program is needed by inspecting the received document, and request it when provided the location.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    A method of making available to a printer an application program for a document written in any page description language (PDL) by programming the printer to download the program through the Internet before using the program to print the document.  
           [0002]    Documents can be written in any one of a number of page description languages, each one being optimized for a different type of use. Two examples are PCL and PostScript.  
           [0003]    Printers may have a number of these application programs stored in memory or on an internal hard disk, and so can directly print most documents submitted to them. However, they may be incapable of printing a page in any other language. Adding languages to the printer, either as part of the initial purchase, or as an add-on later, would adversely affect the price. What would be advantageous in a printer would be a system for adapting a printer so that it would be able to get any program on demand as the need arises.  
         SUMMARY OF THE INVENTION  
         [0004]    A printer that uses a particular page description language only occasionally could be programmed to automatically access that program by contacting the URL of the program vendor, downloading the program, and using a secured mechanism for all its communications. The transaction would be started by submitting the document to the printer, which would identify the particular language, either by reading a header or by examining the characteristics of the text to determine the language used.  
           [0005]    A list of the languages that the printer could handle in this way, and prices for downloading, would be supplied to the user at the time of purchase of the printer, and would be updated at intervals thereafter, allowing the user to select languages.  
           [0006]    In this way, a lower cost printer could be offered for sale having one, or no, page description languages built in, but having the ability to get any program as needed. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0007]    [0007]FIG. 1 is a block diagram of the process. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0008]    Large printers can support many PDL&#39;s. Usually a few PDL&#39;s are considered to be “core” and so they reside permanently on the controller ROM of the printer. However, many PDL&#39;s are offered as optional add-on&#39;s. These PDL&#39;s come on a SIMM/DIMM that can be plugged into the printer controller, or as files that can be copied to the printer&#39;s hard disk. Updates to the PDL&#39;s with newer versions are entered manually. That is, either a new SIMM/DIMM containing the PDL code is obtained and plugged in, or a new PDL file is copied onto the hard disk or the controller ROM of the printer. There are several limitations to the current approach. In addition to requiring manual intervention, the number of PDL&#39;s that can be supported by a printer is limited by the number of SIMM/DIMM slots available on the controller board, and by the amount of free disk space for printers that are equipped with a hard disk. For printers without a hard disk, users often have to remove a PDL SIMM/DIMM in order to free up a slot for installing another PDL.  
         [0009]    To overcome these limitations, an administrator/operator can specify to a printer the PDL&#39;s that need to be loaded at a given time. The printer will fetch the specified PDL&#39;s from a network file server/workstation/repository, load them locally, and process jobs as if the PDL&#39;s were installed locally on the printer&#39;s hard disk or SIMM/DIMM. Optionally, the printer can be further requested to store one or more of the PDL&#39;s permanently on its hard disk or on a SIMM/DIMM. If the PDL&#39;s are not stored permanently, they are lost when the printer is powered off. After restart, the printer can be told to fetch either the same PDL&#39;s or a different set of PDL&#39;s from the same or different network device.  
         [0010]    The software in a printer typically consists of a file download component, a remote disk mount component and a file system component. For a printer with a permanent storage device such as a hard disk, when the printer operator or system administrator wants a PDL such as TIFF to be installed/upgraded on a particular printer, he will send a PJL command followed by the location of where the latest version of TIFF is stored and made available. This location could be at a remote site. The printer interprets the PJL command and reads the location information, usually an IP address or URL. For those printers that are equipped with a permanent device, the file system component formats and creates a file system on this device, if necessary. The file download component then establishes a connection with the device where the PDL file is stored, authenticates itself, and proceeds to retrieve the PDL file. After the file has been successfully downloaded to the permanent storage device or to RAM, the printer restarts itself, and prints a test page to indicate that the upgrade has been successfully completed.  
         [0011]    In a network environment, it is common for resources to be stored centrally on a file server or repository from which they can be distributed to clients. PDL files fit very well into this model. The operator or system administrator could specify a network file server or repository where PDL files and related resources such as fonts are stored to be made available on demand for any network client. Again, a PJL command is used to specify the location information. On receipt of this PJL command, the remote disk mount component on the printer will mount the remote disk and copy the PDL files onto its memory (RAM), SIMM/DIMM, or local hard disk as directed by the command. This is illustrated in FIG. 1. Once the PDL is loaded onto the printer, it can begin to process jobs. This feature can support a variable set of PDL&#39;s at different times based on user demand. There are no dependencies on the number free SIMM DIMM slots available on the printer controller board, or the requirement of free disk space or even for a hard disk to be present in the printer. The same printer can support a set of PDL&#39;s at a given time, and a different set of PDL&#39;s at another moment by means of remote PJL commands.  
         [0012]    The advantages of this system are:  
         [0013]    1) Third party PDL vendors may provide the PDL module, and later upgrades, at a web site.  
         [0014]    2) There will be no manual intervention to install additional PDL&#39;s .  
         [0015]    3) Centralized PDL distribution and upgrades. A single copy is made available on the LAN for multiple printers to use and discard as needed.  
         [0016]    4) Eliminates need for PDL DIMM slots and helps reduce controller cost.  
         [0017]    5) Helps security and privacy. Rather than be forced to print a private document on a shared printer because it supports the PDL for the document, a user can first enable the necessary PDL on his local/personal printer and then print private documents on it.  
         [0018]    6) The user has the option to permanently store the PDL&#39;s either on the DIMM or the hard disk of his personal printer  
         [0019]    [0019]FIG. 1 is a diagram of this process. The first step is for the host to send a document to the printer. The host may know that the printer does not have the proper PDL, and request that the PDL be sent to the printer by the vendor. Alternatively, the printer may detect that a PDL is needed by reading a document header or by inspecting the characteristics of the document file, and request it. In either case the vendor sends a bill to the host which will send a return payment by a secured transaction. Finally the vendor sends the PDL to the printer. Any or all of these transmissions can be over the Internet.  
         [0020]    In the event that the PDL program is stored on a hard drive that is accessible by the user without payment, the vendor is simply a storage area that can be accessed by a request, and no bill or payment is necessary.  
         [0021]    Other types of resources, such as documents, fonts and forms, could be similarly automatically accessed by the computer or printer. In the case of a document, this same system could then acquire the appropriate PDL program if necessary.  
         [0022]    While the invention has been described with reference to a specific embodiment, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the true spirit and scope of the invention. In addition, many modifications may be made without departing from the essential teachings of the invention.