BACKGROUND OF THE INVENTION1. Field of the Invention[0001]
The present invention relates to technology for reflecting configuration data of a printer on a printer driver in a server used for server-based environment (for example, “Metaframe” environment) in which applications run only in the server.[0002]
2. Description of the Related Art[0003]
To solve problems of a conventional client/server system, there is a system in which application programs run only in a server instead of in clients. A system introducing the Metaframe server is an example of such a system.[0004]
FIG. 1 shows an example of the Metaframe environment. An application program run on an[0005]Metaframe server1, and aclient2 only displays execution results of the application program.
To use a[0006]printer3 in the Metaframe environment, for example, a printer driver is installed in the Metaframeserver1 beforehand, and a logical printer of theprinter3 is auto-created when theclient2 that uses theprinter3 logs to the Metaframeserver1. When printing is performed from theclient2, print data is generated in theMetaframe server1, and the print data is redirected to theprinter3 via theclient2, so that theprinter3 prints the print data. According to the printer auto-creation in the Metaframe environment, although the application is running only in the server, the user can print from the application running on the Metaframeserver1 to her local printers, just like she can print from local applications. For example, “Inside Citrix Metaframe XP” of Addison-Wesley refers to the printer auto-creation process in more detail.
In addition, US2002/0018234A1 discloses a conventional technology of a Metaframe print system. The US2002/0010234A1 discloses a universal printer driver that can be used in tho Metaframe environment.[0007]
In the printer system of the Metaframe environment, there is a problem in that, although printer options are set in the client side printer driver, the option setting is not reflected on the printer driver in the Metaframe server side in the printer auto-creation process.[0008]
That is, option setting in the logical printer remains default setting. For example, even if the printer has a double-sided tray, the setting of the auto-created logical printer remains no double-sided tray. In addition, settings for paper size and paper type of tray remain default.[0009]
SUMMARY OF THE INVENTIONAn object of the present invention is to provide technology to reflect configuration data of a printer on a printer driver on the server in an environment in which application programs run only on the server instead of on clients.[0010]
The above object is achieved by a method for setting configuration data of a printer for a printer driver in a server or an image printing system that includes a client, the printer and the server including the printer driver for the printer, the method including the step of:[0011]
storing the configuration data obtained from the printer into the server;[0012]
wherein a configuration data obtaining part in the server reads the stored configuration data according to a request from the printer driver, and sends the configuration data to the printer driver.[0013]
According to the present invention, since the configuration data is stored in the server and the configuration data obtaining part provides the configuration data to the printer driver, the configuration data can be reflected on the printer driver. Therefore, the user can print something by performing option setting such as tray setting and the like even in, for example, a Metaframe environment in which the server cannot obtain the configuration data from the printer.[0014]
BRIEF DESCRIPTION OF THE DRAWINGSOther objects, features and advantages of the present invention will become more apparent from the following detailed description when read in conjunction with the accompanying drawings, in which:[0015]
FIG. 1 shows an example of a Metaframe environment;[0016]
FIG. 2 shows a normal configuration including the[0017]client2 and theprinter3,
FIG. 3 is a figure for explaining bidirectional communication according to a conventional technology;[0018]
FIG. 4 shows a software module configuration in the Metaframe server[0019]1 (enclosed by a solid line square) according to an embodiment of the present invention;
FIG. 5A is a figure for explaining how to obtain configuration data by the[0020]client2;
FIG. 5B is a figure for explaining how to obtain configuration data by the printer driver;[0021]
FIG. 6 shows an example of a window displayed on a client display by the configuration data obtaining tool;[0022]
FIG. 7 shows a flowchart of a procedure for reflecting configuration data on the printer driver in the server;[0023]
FIG. 8A shows the configuration of the conventional[0024]network communication module6;
FIG. 8B shows the configuration of the pseudo[0025]network communication module7 of an embodiment of the present invention;
FIG. 9 is a figure for explaining the relationship between the pseudo network communication module and the configuration data obtaining method of the present invention;[0026]
FIG. 10 is a figure for explaining a case in which a plurality of printer drivers is used for a printer.[0027]
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTSAs described in the related art, there is a problem in that option setting in the printer driver in the client side is not inherited to the printer driver in the Metaframe server. The reason of the problem will be described in the following.[0028]
In a normal configuration including the[0029]client2 and theprinter3 shown in FIG. 2, theclient2 and theprinter3 performs bidirectional communication so that option data such as the double-sided tray of theprinter3 can be obtained by theclient2. The bidirectional communication is performed, for example, in a configuration shown in FIG. 3. In this configuration, anetwork communication module6 obtains information specified by abidirectional communication module5 from theprinter3 via a network by using a protocol such as SNMP, in which thebidirectional communication module5 is a part of theprinter driver4.
However, the above-mentioned bidirectional communication is not available between the[0030]Metaframe server1 and theprinter3 in the Metaframe environment. Therefore, the option data can not be obtained by the printer driver in the Metaframe server. Thus, the above-mentioned problem arises.
In the following, embodiments of the present invention will be described.[0031]
(Outline of System Configuration)[0032]
In the present embodiment, in an network environment shown in FIG. 1, the[0033]client2 obtains configuration data (option setting data) of theprinter3 by using a configuration data obtaining tool, in which the configuration data can not be obtained from the Metaframe server by the bidirectional communication. The configuration data is stored in the Metaframe server1 (hereinafter, the configuration data will be also called as pseudo-bidirectional communication data).
The Metaframe[0034]server1 accesses the stored data so that the printer driver in theMetaframe server1 obtains the configuration data, and the configuration data can be reflected on the option setting of the auto-created logical printer.
FIG. 4 shows a software module configuration in the Metaframe server[0035]1 (enclosed by a solid line square). For comparison, a conventional configuration is shown enclosed by a dotted line square.
As shown in FIG. 4, the[0036]network communication module6 is not used, but, a pseudonetwork communication module7 is used. Accordingly, theprinter driver4 obtains configuration data, via the pseudonetwork communication module7, from the pseudobidirectional communication data8 that is stored beforehand.
(Flow of Processing)[0037]
Next, processing in the present embodiment will be described in more detail with reference to FIGS.[0038]5-7.
FIG. 5A is a figure for explaining how to obtain configuration data by the[0039]client2. As shown in the figure, theclient2 in which the configuration data obtaining tool runs obtains the configuration data.
At this time, for example, the[0040]client2 displays a window shown in FIG. 6 so that the user of theclient2 selects a printer driver installed in theclient2. As a result, a printer from which configuration data is to be obtained is specified. Then, the client obtains data from the specified printer and stores the obtained data. The mechanism for obtaining the configuration data by using the configuration data obtaining tool is the same as the mechanism in which configuration data is obtained by a printer driver (bidirectional communication module) and the network communication module as shown in FIG. 3.
The configuration data obtaining tool can be also installed in a server instead of in a PC as long as a printer driver for the target printer is installed in the server or the PC.[0041]
Next, as shown in FIG. 5B, the[0042]configuration data8 and the pseudonetwork communication module7 are installed in theMetaframe server1 by copying theconfiguration data8 and the pseudonetwork communication module7 in a predetermined folder in theMetaframe server1. The pseudonetwork communication module7 may be installed beforehand.
It is also possible to store the[0043]configuration data8 in theclient2 so that theMetaframe server1 obtains the data via a network. However, since it is desirable to decrease data amount transmitted over the network in the Metaframe environment, tho configuration data is stored in theserver1 according to the present embodiment.
Next, procedure for reflecting configuration data on the printer driver in the server will be described with reference to FIG. 7. The following processing can be performed when the logical printer is auto-created, or when the user of the client opens a property screen of the printer driver after the logical printer is created.[0044]
In FIG. 7, first, the printer driver outputs an option data obtaining request to the[0045]bidirectional communication module5 instep1. The option data obtaining request includes an instruction indicating which items of configuration data to obtain such as tray information and the like. Next, thebidirectional communication module5 checks whether the pseudonetwork communication module7 exists instep2.
If the pseudo[0046]network communication module7 does not exist (NO in step3), the server notifies thebidirectional communication module5 that the process fails instep4, and the process ends. If the pseudonetwork communication module7 exists (Yes in step3), the pseudonetwork communication module7 is called and the pseudonetwork communication module7 obtains configuration data corresponding to the option data obtaining request from the configuration data file8 instep5. After that, the read data is output to thebidirectional communication module5 instep6. The obtained configuration data is reflected on setting of the printer driver instep7.
(Details of the Pseudo Network Communication Module)[0047]
Next, the configuration of the pseudo network communication module will be described in detail, in which the pseudo network communication module is compared with the normal network communication module.[0048]
FIG. 8A shows the configuration of the conventional[0049]network communication module6. FIG. 8B shows the configuration of the pseudonetwork communication module7 of the present embodiment.
As shown in FIG. 8A, the conventional[0050]network communication module6 includes API (application program interface)61, a convertingpart62, a MIB obtaining/analyzingpart63, and a protocol implementedpart64. TheAPI61 is for interfacing between the application program for specifying information to be obtained and thenetwork communication module6. The API is a set of functions, for example, each of which corresponds to a piece of MIB data. The function itself may be called as an API. The convertingpart62 converts between information specified by the application via API and MIB data. The MIR obtaining/analyzingpart63 obtains and analyzes MIB data on the printer. According to this configuration, thenetwork communication module6 can obtains configuration data (option data) that is MIB data by using bidirectional communication.
As shown in FIG. 8B, the pseudo[0051]network communication module7 includes API71 that is the same as that of the conventionalnetwork communication module6. In addition, the pseudonetwork communication module7 includes a file search/data obtaining part72 and afile accessing part73. The file search/data obtaining part72 determines which piece of configuration data to obtain in the configuration data file according to information specified by the API71 and searches the file and obtains the piece of configuration data. Thefile accessing part73 performs processing for actually accessing the file.
In the configuration shown in FIG. 8B, the API[0052]71 and theAPI61 are the same. Thus, from the viewpoint of the bidirectional communication module, the pseudonetwork communication module7 and thenetwork communication module6 appear to be the same. Therefore, a printer driver same as a conventional printer driver can be used in the Metaframe server according to the present invention.
The pseudo network communication module can be stored in a recording medium such as an IC card, CD-ROM and the like, so that tho pseudo network communication module can be installed in the server from the recording medium. The pseudo network communication module can be also installed in the server via a network. ([0053]
Relationship Between the Pseudo Network Communication Module and the Configuration Data Obtaining Method)[0054]
Next, the relationship between the pseudo network communication module and the configuration data obtaining method will be described with reference to FIG. 9.[0055]
As mentioned before, the configuration data is obtained by the[0056]client2 by using a software configuration similar to that for performing conventional bidirectional communication. That is, as shown in client side configuration in FIG. 9, the configuration data obtaining tool obtains configuration data by using SNMP via APIs in thenetwork communication module6. Since the configuration date is obtained by using the conventional APIs, the configuration data can be obtained API by API. Thus, data file in which configuration data includes API by API is stored in the Metaframe server as the configuration data file.
For obtaining the configuration data in the client, the configuration obtaining tool calls all APIs in[0057]step11, and obtains configuration data (parameters) corresponding to the APIs and stores the configuration data as the configuration data file in step12, in which each piece of the configuration data is associated with a corresponding API.
By storing the configuration data in such a format, the pseudo[0058]network communication module7 in the server can use APIs same as the APIs that are conventionally used in a printer driver in the client. Thus, the pseudonetwork communication module7 can read, from the configuration data file, pieces of configuration data requested by the bidirectional communication module in the printer driver in the Metaframe server, and can return the pieces of configuration data to the bidirectional communication module instep13. The pseudonetwork communication module7 can read the pieces of configuration data without changing the configuration data.
(Embodiment in which a Plurality of Printer Drivers are used for a Printer)[0059]
It is possible to use a plurality of printer drivers for a printer in this embodiment. This embodiment will be described with reference to FIG. 10.[0060]
In this embodiment, there is a case in which each printer driver needs different configuration data. That is, the[0061]printer driver1 obtains data A and theprinter driver2 obtains data B.
In such a case, the configuration data obtaining tool calls all APIs (including APIs corresponding to A and B) in step[0062]21, and stores pieces of configuration data (including A and B) corresponding to the APIs obtained from the printer's MIS data in step22, in which each piece of the stored configuration data is associated with a corresponding API. By storing the configuration data in such a form, the pseudonetwork communication module7 can read pieces of configuration data corresponding to APIs that are requested by the bidirectional communication modules by using the APIs, and can return pieces of configuration data to each bidirectional communication module in step23. Accordingly, thepseudo communication module7 can provide configuration data to a plurality of printer drivers.
According to the present invention, since the configuration data is stored in the server and the configuration data obtaining part provides the configuration data to the printer driver, the configuration data can be reflected on the printer driver. Therefore, the user can perform option setting such as tray setting, double-sided unit setting and the like for the auto-created logical printer in the Metaframe environment in which application programs run only on the server.[0063]
In the server of the present invention, the application program interface between the configuration data obtaining part and the printer driver in the server is the same as the application program interface between a network communication module and a client printer driver same as the printer driver in the server, in which the network communication module is used for obtaining configuration data or the printer for the client printer driver in a client terminal.[0064]
Therefore, a conventional printer driver can be used in the Metaframe server and the configuration data can be reflected.[0065]
The configuration data obtaining part in the server includes:[0066]
the application program interface;[0067]
a part for determining which piece of configuration data to obtain among the stored configuration data on the basis of information from the application program interface; and[0068]
a part for accessing the configuration data and reads the determined piece of configuration data. By configuring the configuration data obtaining part in this way, configuration data obtaining part can be realized by a simple configuration compared with the conventional network communication module.[0069]
In the server, the configuration data to be stored in the server is obtained from the printer by bidirectional communication with the printer.[0070]
Thus, by using API that is the same as API of the network communication module for the configuration data obtaining part, the configuration data obtaining part can use the stored configuration data without any change. The configuration data obtaining part corresponds to the pseudo network communication module.[0071]
In addition, the configuration data is obtained by a computer that includes a software tool that causes the computer to display a window for selecting at least one printer driver included in the computer and to obtain configuration data from a printer corresponding to the selected printer driver.[0072]
In addition, the client, instead of the server, may store the configuration data, and the configuration data obtaining part in the server may obtain the configuration data from the client.[0073]
The present invention is not limited to the specifically disclosed embodiments, and variations and modifications may be made without departing from the scope of the present invention.[0074]