Information processing method and apparatus thereof

An access rights control system can set permission/inhibition of print processing for respective users and files, but it cannot set permission/inhibition of print processing for respective printer devices. Hence, a first identifier required to identify a printer device is obtained from data, a second identifier required to identify an available printer device is obtained from a memory, and a printer device which is permitted to print the data is determined based on the relationship between the first identifier and the second identifier.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to information processing for controlling the access rights of digital data.

2. Description of the Related Art

In recent years, an access rights management server which can control access (browse, valid period, copy, print, modification, and the like) to various files is on the market. An author of files can control access rights to a distribution file by each individual user using the access rights management server.

As an example of the access rights management server which has already been released, Adobe® Policy Server is known. The Policy Server can attain the aforementioned access rights control to PDF (Portable Document Format) files. Also, Information Rights Management (IRM) announced by Microsoft® allows the aforementioned access rights control.

However, the access rights control system can set permission/inhibition of print for respective users and files, but it cannot set permission/inhibition of print for respective printer devices. If a wrong printer device is designated, upon printing a file including confidential information, a person who does not have any access rights to that information may see the printouts, and the confidential information may leak.

SUMMARY OF THE INVENTION

The first aspect of the present invention discloses an information processing method comprising the steps of:

obtaining a first identifier required to identify a printer device from data;

obtaining a second identifier required to identify an available printer device from a memory; and

determining a printer device which is permitted to print the data based on a relationship between the first identifier and the second identifier.

The second aspect of the present invention discloses an information processing method comprising the steps of:

obtaining a data identifier required to identify data from the data;

obtaining a first identifier required to identify a printer device associated with the data identifier from a server;

obtaining a second identifier required to identify an available printer device from a memory; and

determining a printer device which is permitted to print the data based on a relationship between the first identifier and the second identifier.

According to the present invention, permission/inhibition of print of each file can be set for respective printer devices.

DESCRIPTION OF THE EMBODIMENTS

First Embodiment

[Arrangements of System and Apparatus]

FIG. 1shows the arrangement of an information processing system of the first embodiment. A plurality of printer devices102to105and an information processing apparatus101are connected to a network51such as a local area network (LAN) or the like. Note thatFIG. 1illustrates only one information processing apparatus but a plurality of information processing apparatuses can be connected, needless to say. The models of a plurality of printer devices connected to the network51are not particularly limited, and an identical model or different models of printer devices may be connected.

FIG. 2is a block diagram showing the arrangement of the information processing apparatus101.

A CPU11executes an operating system (OS) and various programs stored in a hard disk drive (HD)13and a ROM14using a RAM12as a work area, and controls respective components to be described below via a system bus18.

An input interface (I/F)15is an interface with a serial bus52such as IEEE1394, USB (Universal Serial Bus), or the like, which connects input devices such as a keyboard58, mouse59, and the like. A video card16connects a monitor10such as an LCD or the like. A communication unit17is an interface with a public switched telephone network (PSTN)53and the network51.

The CPU11displays a user interface on the monitor10. The user inputs commands and data to the CPU11by operating the keyboard58and mouse59based on the user interface. The CPU11makes facsimile (FAX) communications and communications with information devices connected to the network51via the communication unit17.

FIG. 3shows the configuration of the software to be executed by the CPU11. The HD13stores such software to be executed by the CPU11.

An application (AP)31such as application software such as a wordprocessor, spreadsheet, presentation, or the like, a PDF viewer, a browser, or the like accesses a file32to open it. The AP31communicates with printer drivers33to36installed in the information processing apparatus101via an API (Application Program Interface)37. The file32may be stored in the HD13of the information processing apparatus101or may be stored in a server (not shown) on the network51.

FIG. 4shows a format example of the file32. A permitted printer identifier recorded in, e.g., a header41of the file is information which is embedded in the file32by the author of the file32and indicates a printer device which is permitted to print this file. Note that the permitted printer identifier may be recorded in a footer after actual contents42of the file, or may be embedded in the actual contents42of the file using a digital watermark technique.

FIG. 5is a block diagram showing the arrangement of each of the printer devices102to105.

A CPU21executes an operating system (OS) and programs associated with print processing, which are stored in a ROM24or a rewritable nonvolatile memory (NVRAM)23such as a hard disk or the like. The CPU21controls respective components to be described below via a system bus28. Note that the NVRAM23stores a printer identifier used to identify an individual piece of a printer.

The CPU21receives a print job from the information processing apparatus101via a communication unit27. The CPU21executes image processing (interpretation of printer description language data and rendering) in accordance with the received print job. The CPU21sends print data as the rendering result to a printer engine24to execute print processing. Note that the communication unit27is an interface with the network51and serial bus52.

FIG. 6is a flowchart for explaining the operation for installing a printer driver in the information processing apparatus101. The CPU11executes this processing upon activating the information processing apparatus101.

The CPU11checks if a new printer device is connected to the network51or serial bus52(S102). Note that various methods of detecting connection of a new printer device are available, and any of such methods may be adopted. If a new printer device is not connected, the installation operation ends.

If a new printer device is connected, the CPU11installs a printer driver corresponding to that printer device (S104). Note that various methods of installing a printer driver are available, and any of such methods may be adopted. Next, the CPU11requests the newly connected printer device to transmit a printer identifier via the installed printer driver (S105).

Upon reception of the transmission request of the printer identifier, the printer device returns its printer identifier if the NVRAM23holds the printer identifier. If the NVRAM23does not hold any printer identifier, the printer device ignores that transmission request.

The CPU11waits for reception of the printer identifier (S106). If the CPU11does not receive any printer identifier after an elapse of a predetermined period of time (S107), it determines that the newly connected printer device does not hold any printer identifier. The CPU11stores “NULL” in a storage area of the HD13that stores the printer identifier of the printer device of interest (S109), thus ending the installation operation. If the CPU11receives the printer identifier, it stores the received printer identifier in that storage area (S108), thus ending the installation operation.

FIG. 7is a flowchart for explaining the print operation of the AP31and API37. A case will be described below wherein a user who has an authority to open, browse, and print the file32opens this file32and inputs a print instruction.

The AP31opens the file32designated by the user (S201), and checks if the user issues a print instruction (S202). If the user instructs to execute processing other than print processing such as movement, enlarge/reduction display, edit (if it is permitted), and the like of pages, the AP31executes the instructed processing (S203), and terminates the process. If the user instructs to print the file32(or its part), the AP31issues a print instruction to the API37(S204), and terminates the process.

Upon reception of the print instruction (S301), the API37checks if a permitted printer identifier is embedded in the file32(S302). If a permitted printer identifier is not embedded, the API37determines that the print processing of the file32is not permitted, and displays a message indicating that print processing is inhibited (FIG. 8) on the monitor10(S303). Then, the process returns to step S301without executing print processing.

If the permitted printer identifier is embedded, the API37extracts the permitted printer identifier from the file32(S304), and obtains the printer identifier corresponding to the printer driver already installed in the information processing apparatus101from the HD13(S305). Then, the API37displays, on the monitor10, a list (FIG. 9) indicating the relationship between available printer devices and permission/inhibition of print processing based on the relationship between the permitted printer identifier and the printer identifier (S306). That is, the API37presents to the user printer devices that can print the file and prompts the user to select a printer device. Note that the API37permits print processing using a printer device whose printer identifier matches the permitted printer identifier, and inhibits print processing using a printer device whose printer identifier does not match the permitted printer identifier. If the permitted printer identifier is “NULL”, the API37inhibits print processing using all the printer devices.

If the user selects a printer device (S307), the API37checks if the user selects a print-permitted printer device (S308). If the user selects a print-inhibited printer device, the API37displays a message shown inFIG. 10(S309), and the process returns to step S306.

If the user selects the print-permitted printer device, the API37passes data (or its part) of the file32to the printer driver corresponding to the printer device of interest, and requests it to prepare print data (S310). The process then returns to step S301.

In response to the request from the API37, the printer driver prepares print data, and transmits a print job including that print data to the target printer device, thus making that printer device execute print processing.

In this manner, a printer device other than that which has a printer identifier designated by the author of the file upon preparing or editing the file cannot print that file. In other words, if the author of the file inhibits print processing using a printer device which may cause information leakage, the user who opened that file cannot designate the printer device which may cause information leakage for print processing. Therefore, leakage of confidential information when a user who has no access rights to information of the file sees the printouts can be prevented.

Print processing of files which can only be accessed in only a specific room (information clean room) is limited to a printer device equipped in that room. However, the user cannot perform print processing if such printer device undergoes maintenance or suffers trouble or the like. In such case, a system administrator rewrites the printer identifier held by that printer device. If a plurality of printer identifiers are registered, printer devices outside the specific room can be used on a temporary basis to execute print processing. Alternatively, the user who has an authority to change the file such as a security administrator, the author of the file, or the like may update the permitted printer identifier (e.g., he or she may rewrite the permitted printer identifier embedded in the file, may add another permitted printer identifier, and so forth) in step S203. In this way, the user can use a printer device outside the specific room on a temporary basis.

Second Embodiment

Information processing according to the second embodiment of the present invention will be described below. Note that the same reference numerals in the second embodiment denote the same parts as in the first embodiment, and a detailed description thereof will be omitted.

FIG. 11shows the arrangement of an information processing system of the second embodiment. An access rights management server106is connected to the network51in addition to the plurality of printer devices102to105and information processing apparatus101shown inFIG. 1. A case will be exemplified below wherein the information processing apparatus101communicates with the access rights management server106in the information processing system shown inFIG. 11, and when print processing of the file corresponding to a print instruction is permitted, print processing is executed. Note that the arrangement of the access rights management server106is substantially the same as that of the information processing apparatus101shown inFIG. 2. Therefore, the processing of the access rights management server106(to be described later) is implemented when the CPU11executes a program stored in the HD13.

FIG. 12shows a format example of the file32. A document identifier, which is recorded in, e.g., a header41of the file is a unique ID required to identify the file32, which ID is assigned from, e.g., the access rights management server106upon preparation of the file32.

FIG. 13shows a permitted printer management table showing the correspondence between the document identifiers and permitted printer identifiers, which table is held by the access rights management server106. A permitted printer identifier field of the permitted printer management table can register a plurality of printer identifiers. Note that a comma inFIG. 13is a delimiter. The permitted printer management table is stored in the RAM12or HD13of the access rights management server106.

FIGS. 14A to 14Care flowcharts for explaining the operation of the access rights management server106.

The access rights management server106waits for reception of a command (S401). A client (information processing apparatus101) of the access rights management server106can pass commands to the access rights management server106by various methods. For example, the access rights management server106provides a Web page to the client, and the user of the client can input commands using a window (user interface) displayed on the monitor via a Web browser.

FIG. 15shows the format of a command. A “command length” indicates the length of each command. A “user identifier” is an identifier of the user of the client, who issued a command. A “request identifier” is set with an issue request of a document identifier, an add or delete request of a permitted printer identifier, an obtaining request of a permitted printer identifier corresponding to the document identifier, or the like in accordance with the user request. A document identifier is an identifier required to specify a file to be processed. A device identifier is a field used to set an identifier of a device. In this embodiment, one or a plurality of printer identifiers are set upon requesting to add or delete a permitted printer identifier.

Upon receiving a command, the access rights management server106refers to a user management table stored in the RAM12or HD13. The server106checks if the user identifier of the received command is that of a user who is permitted to access the access rights management server106(S402). If the user identifier of the received command is not that of the permitted user, the server106ignores the received command (S403); otherwise, it checks a request identifier (S404).

If the request identifier includes an issue request of a document identifier, the access rights management server106generates a new document identifier. The server106adds the document identifier and user identifier to a document management table stored in the RAM12or HD13(S405), and registers the document identifier in the permitted printer management table (S406). Then, the server106transmits the document identifier to the client (S407).

If the request identifier includes an add or delete request of a permitted printer identifier, the access rights management server106checks if the document identifier is registered in the document management table (S408). If the document identifier is not registered, the server106returns a message that advices accordingly to the client (S409), and does not process the request. If the document identifier is registered, the server106checks if the user indicated by the user identifier is permitted to change the access rights of a file with that document identifier (S410). If the user is not permitted to change the access rights, the server106returns a message that advices accordingly to the client (S411), and does not process the request. If the user is permitted to change the access rights, the server106checks if the request is an add or delete request of a permitted printer identifier (S412).

If the request is an add request, the access rights management server106adds (or registers) a printer identifier designated in a device identifier field of the command to a permitted printer identifier field corresponding to the document identifier in the permitted printer management table (S413). Note that one or a plurality of device identifier fields can be set, and if the command includes a plurality of device identifier fields, the server106adds (registers) printer identifiers designated in these fields together.

If the request is a delete request, the access rights management server106deletes a printer identifier designated in a device identifier field of the command from the permitted printer identifier field corresponding to the document identifier in the permitted printer management table (S414). If the command includes a plurality of device identifier fields, the server106deletes printer identifiers designated in these field together.

If the request identifier includes an obtaining request of a permitted printer identifier, the access rights management server106checks if the document identifier is registered in the permitted printer management table (S415). If the document identifier is not registered, the server106returns “NULL” to the client to indicate that it does not have any information associated with a print-permitted printer of the document identifier of interest (S416). If the document identifier is registered, the server106transmits a printer identifier registered in the field corresponding to the document identifier in the permitted printer management table to the client (S417). If the permitted printer identifier field corresponding to the document identifier is empty, the server106also returns “NULL”.

FIG. 16is a flowchart for explaining the operation of the client (information processing apparatus101).

The AP31opens the file32designated by the user (S501), and checks if the user issues a print instruction (S502). If the user instructs to execute processing other than print processing such as movement, enlarge/reduction display, edit (if it is permitted), and the like of pages, the AP31executes the instructed processing (S503), and terminates the process. If the user instructs to print the file32(or its part), the AP31issues a print instruction to the API37(S504), and terminates the process.

Upon reception of the print instruction (S601), the API37checks if a document identifier is embedded in the file32(S602). If a document identifier is not embedded, the API37determines that the file32does not undergo access rights control, and passes data (or its part) of the file32to a printer driver corresponding to a default printer device or that designated by the user to request it to prepare print data (S603). The process then returns to step S601.

If the document identifier is embedded, the API37accesses the access rights management server106to obtain a permitted printer identifier set in correspondence with that document identifier (S604). Note that details of the obtaining method will be described later.

The API37checks if the access rights management server106returns “NULL” (S605). If the server106returns “NULL”, the API37determines that print processing of the file32is not permitted, and displays a message indicating that print processing is inhibited (FIG. 8) on the monitor10(S606). Then, the process returns to step S601without executing print processing.

If the API37receives the permitted printer identifier in place of “NULL”, it obtains the printer identifier corresponding to the printer driver already installed in the information processing apparatus101from the HD13(S607). Then, the API37displays, on the monitor10, a list (FIG. 9) indicating the relationship between available printer devices and permission/inhibition of print processing based on the relationship between the permitted printer identifier and the printer identifier (S608). That is, the API37presents to the user printer devices that can print the file and prompts the user to select a printer device. Note that the API37permits print processing using a printer device whose printer identifier matches the permitted printer identifier, and inhibits print processing using a printer device whose printer identifier does not match the permitted printer identifier. If the permitted printer identifier is “NULL”, the API37inhibits print processing using all the printer devices.

If the user selects a printer device (S609), the API37checks if the user selects a print-permitted printer device (S610). If the user selects a print-inhibited printer device, the API37displays a message shown inFIG. 10(S611), and the process returns to step S608.

If the user selects the print-permitted printer device, the API37passes data (or its part) of the file32to the printer driver corresponding to the printer device of interest, and requests it to prepare print data (S612). The process then returns to step S601.

In response to the request from the API37, the printer driver prepares print data, and transmits a print job including that print data to the target printer device, thus making that printer device execute print processing.

Obtain Permitted Printer Identifier

FIG. 17is a flowchart showing the obtaining sequence of a permitted printer identifier.

The API37displays a message that requests the user to input the user identifier required to access the access rights management server106on the monitor10(S701), and waits for input of the user identifier (S702). Upon input of the user identifier, the API37generates a command in which the input user identifier is set in the user identifier field, an obtaining request of the permitted printer identifier is set in the request identifier field, the document identifier of the file32is set in the document identifier field, and the command length is set (S703). The API37transmits the generated command to the access rights management server106(S704), and checks a reply from the access rights management server106(S705). If no reply is received, the API37checks if a predetermined period of time has elapsed (S706). If no reply is received even after an elapse of the predetermined period of time, the API37displays a message that advices accordingly on the monitor10(S707), and aborts the processing. The process then returns to step S601. If a reply is received, the process returns to the processing inFIG. 16.

In this manner, permitted printer identifiers can be set and managed in correspondence with document identifiers. Therefore, the same effects as in the first embodiment can be expected. In addition, when a permitted printer identifier need be updated, it need not be updated for each file, and the permitted printer management table held by the access rights management server106need only be updated.

Other Embodiment

The present invention can be applied to a system constituted by a plurality of devices (e.g., host computer, interface, reader, printer) or to an apparatus comprising a single device (e.g., copying machine, facsimile machine).

Further, the object of the present invention can also be achieved by providing a storage medium storing program codes for performing the aforesaid processes to a computer system or apparatus (e.g., a personal computer), reading the program codes, by a CPU or MPU of the computer system or apparatus, from the storage medium, then executing the program.

In this case, the program codes read from the storage medium realize the functions according to the embodiments, and the storage medium storing the program codes constitutes the invention.

In a case where the present invention is applied to the aforesaid storage medium, the storage medium stores program codes corresponding to the flowcharts described in the embodiments.

This application claims the benefit of Japanese Patent Application No. 2005-376671, filed Dec. 27, 2005, which is hereby incorporated by reference herein in its entirety.