以下、本発明の実施の形態を図面に基づいて説明する。
本発明の一実施例に係る多種の画像形成機能を融合する画像形成装置(以下、融合機と言う)は、例えば、図1に示すような機能構成を成す。図1は、本発明の一実施例に係る多種の画像形成機能を融合する融合機の機能構成を示すブロック図である。
図1において、融合機1200は、プロッタ1201と、スキャナ1202と、FCU(Fax Control Unit)1320と、その他ハードウェアリソース1203などを有するとともに、プラットフォーム1220とアプリケーション1230とから構成されるソフトウェア群1210と、融合機起動部1240とを備えている。
融合機起動部1240は、融合機1200の電源投入時に先ず始めに実行され、プラットフォーム1220やアプリケーション1230を起動する。
プラットフォーム1220は、コントロールサービス1250と、システムリソースマネージャー(SRM(System Resource Manager)1223)と、OS(Operating System)1221とを有する。
このコントロールサービス1250は、複数のサービスモジュールにより形成され、具体的には、SCS(System Control Service)1222と、ECS((Engine Control Service)1224と、MCS(Memory Control Service)1225と、OCS(Operation panel Control Service)1226と、FCS(FAX Control Service)1227と、NCS(Network Control Service)1228と、IMH(Imaging Memory Handler)1229とがある。なお、このプラットフォーム1220は、あらかじめ定義された関数により前記アプリケーションからの処理要求を受信可能とするアプリケーションプログラムインターフェース(API)1205を有する。
OS1221は、UNIX(登録商標)などのオペレーティング・システムであり、プラットフォーム1220並びにアプリケーション1230の各ソフトウェアをそれぞれプロセスとして並列実行する。
SRM1223は、SCS1222とともにシステムの制御およびリソースの管理をおこなう。
SCS1222は、アプリケーション管理,操作部制御,システム画面表示,LED表示,ハードウェア資源管理,割り込みアプリケーション制御などの処理を行う。
ECS1224は、FCU1320、プロッタ1201、スキャナ1202、その他ハードウェアリソース1203などのエンジン部を制御する。
MCS1225は、メモリ制御をおこなう。
OCS1226は、オペレータと本体制御間の情報伝達手段となる操作パネルを制御する。
FCS1227は、ファクシミリ送受信をおこなう。
NCS1228は、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供する。
本実施例において、NCS1228は、複数のプロトコルのうちhttpd(Hypertext Transfer Protocol Daemon)2によって、インターネットを介して接続されるネットワーク機器とのデータ通信をHTTP(Hypertext Transfer Protocol)で制御し、HTTPリクエストヘッダで指定される処理に必要な複数のWebサービスを関数コールによって起動し、その複数のWebサービスによる処理結果をHTTPレスポンスで該ネットワーク機器へ通知する。Webサービスは、例えば、XML(eXtensible Markup Language)によって記述されたメッセージに従って処理を行う。
IMH1229は、イメージデータを仮想メモリ領域(ユーザー仮想空間)から物理メモリへマップする。
アプリケーション1230は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ1211と、コピー用アプリケーションであるコピーアプリ1212と、ファクシミリ用アプリケーションであるファックスアプリ1213と、スキャナ用アプリケーションであるスキャナアプリ1214と、WebサービスアプリケーションであるWebサービス処理アプリ1215とを有する。
各アプリケーション1211〜1215は、プラットフォーム1220上の各プロセスを利用して動作実行される。
Webサービス処理アプリ1215は、SOAP(Simple Object Access Protocol)従ってメッセージ交換を行うSOAP処理部70と、API(Application Program Interface)1205を介してコントロールサービス1250を利用して所定処理を行い、その処理結果をWS−API(Web Service Application Program Interface)を介してWebサービスとして提供するプリントサービス実行部(WSF)1400とを有する。プリントサービス実行部1400は、Webサービスファンクションの一つである。
更に、Webサービス処理アプリ1215は、GETメソッド又はPOSTメソッドによるHTTPリクエストを処理して、HTMLを含むHTTPレスポンスを送信するWebサーバー500を備えることによって、上記同様に、プリントサービス実行部1400によって、API(Application Program Interface)1205を介してコントロールサービス1250を利用して所定処理を行い、その処理結果をWS−API(Web Service Application Program Interface)を介してWebサービスとして提供することができる。
このように、融合機1200は、各アプリで共通的に必要となる処理をプラットフォーム1220で一元的に処理する。
次に、融合機1200のハードウェア構成について説明する。図2は、図1に示す融合機のハードウェア構成を示すブロック図である。図2に示すように、この融合機1200は、オペレーションパネル1310と、FCU(ファックスコントロールユニット)1320、プロッタ1201、スキャナ1202及びその他ハードウェア1203とで構成されるエンジン部1350と、コントローラ1300のASIC1301とをPCI(Peripheral Component Interconnect)バス1309等で接続した構成となる。
FCU1320は、受信したファックスデータを格納するための不揮発性メモリ1321と、FCU1320内での時間を計測するためのRTC(Real Time Clock)1322とを有し、通常G3規格に従ってファックスデータの送受信を行う。FCU1320は、オプションとして更にG3規格とG4規格とを搭載しても良い。
コントローラ1300は、ASIC1301にMEM−C1302、HDD(Hard Disk Drive)1303などを接続するとともに、このASIC1301とCPU1304とをCPUチップセットのNB1305を介して接続している。このように、NB1305を介して接続する理由は、CPU1304自体のインターフェイスが公開されていないためである。
CPU1304は、融合機1200の全体制御をおこなうものであり、具体的には、OS1221上でプラットフォーム1220を形成するSCS1222、SRM1223、ECS1224、MCS1225、OCS1226、FCS1227、NCS1228をそれぞれプロセスとして起動して実行させるとともに、アプリケーション1230を形成するプリンタアプリ1211、コピーアプリ1212、ファックスアプリ1213、スキャナアプリ1214、Webサービス処理アプリ1215を起動して実行させる。
NB1305は、CPU1304とMEM−P1306、SB1307、ASIC1301とを接続するためのブリッジであり、MEM−P1306は、融合機の描画用メモリなどとして用いるシステムメモリであり、MEM−C1302は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ASIC1301は、画像処理用のハードウェア要素を有する画像処理用途向けのICである。
NB1305は、PCIバスを介してSB1307と接続する他、ネットワーク通信を制御するNIC(Network Interface Card)1311と、USBディスクとして扱うことでデータを取り込むことができるUSB(Universal Serial Bus)ターゲット1312と、IEEE1394専用のケーブルで接続可能なIEEE13941313と、パラレルケーブルによって接続可能なセントロニクス1314と、シリアルケーブルによって接続可能なシリアル1315と、他のUSBターゲット(例えば、パーソナルコンピュータ)と接続し大容量の画像データの送受信を可能とするUSBホスト1316とを接続する。
SB1307は、NB1305とROM、PCIデバイス、周辺デバイスとを接続するためのブリッジである。SB1307は、コントローラ1300での時間を計測するRTC(Real Time Clock)1323を有する。また、SB1307は、内部にUSBホストを有し、例えば、USB接続のカメラを接続することで画像データを取り込むことが可能であり、また、他のUSBターゲットからデータを受け取ることも可能である。
融合機1200では、SB1307、NIC1311、USBターゲット1312、IEEE13941313、セントロニクス1314、シリアル1315、USBホスト1316、FCU1320の標準のG3、G3オプション、G4オプションの複数のポートを介して送受信されるデータがHDD1303に蓄積され一元的に管理される。
HDD1303は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージであり、オペレーションパネル1310は、操作者からの入力操作の受け付け並びに操作者に向けた表示をおこなう操作部である。
したがって、ASIC1301には、MEM−C1302を接続するためのRAMインターフェイスと、HDD1303を接続するためのハードディスクインターフェースが設けられ、これらの記憶部に対して画像データの入出力をおこなう場合には、入出力先がRAMインターフェイスまたはハードディスクインターフェースに切り替えられる。
AGP1308は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェイスであり、システムメモリに高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にする。
以下に、印刷指示書を指定するのみで印刷可能とする印刷処理の概要を図3で説明する。図3は、印刷指示書を指定するのみで印刷可能な第一のネットワーク構成を示すブロック図である。図3において、融合機1200は、ネットワーク15を介して、クライアントPC(Personal Computer)10とリポジトリ装置20とに接続される。融合機1200と、コンピュータ端末としてのクライアントPC10と、サーバーコンピュータとしてのリポジトリサービス実行部1410を有するリポジトリ装置20とはHTTPで通信制御される。
リポジトリ装置20は、画像データ30とその画像データに関するファイル情報31とを蓄積し管理するリポジトリサービス実行部1410によって、画像データ30を利用するためのチケットを発行し、その発行したチケットによる該画像データ30の利用を許可することによって、該画像データの利用をWebサービスとして提供するサーバーコンピュータである。
また、クライアントPC10がSOAPによってWebサービスを要求する場合には、融合機1200と、リポジトリ装置20とは、SOAPによって夫々のWebサービスを提供する。クライアントPC10がWebブラウザを利用してWebサービスを要求する場合には、融合機1200と、リポジトリ装置20とは、HTML(Hypertext Transfer Markup Language)によって夫々のWebサービスを提供する。
クライアントPC10は、リポジトリ装置20のリポジトリサービス実行部1410から所望する画像データ30(文書)を利用するためのチケットを取得して(ステップS1)、そのチケットを融合機1200のプリントサービス実行部1400へ渡して印刷指示書32の作成を要求する(ステップS2)。プリントサービス実行部1400は、クライアントPC10から受け取ったチケットによって、リポジトリサービス実行部1410に対して、文書IDとファイル情報31を要求する(ステップS3)。
リポジトリ装置20において、リポジトリサービス実行部1410は、ステップS3で受け取ったチケットがステップS1で発行したものであることを確認後、文書IDとファイル情報31とを融合機1200のプリントサービス実行部1400へ提供する(ステップS4)。プリントサービス実行部1400は、リポジトリサービス実行部1410から取得した文書IDとファイル情報31とをコントロールサービス1250へ通知することによって印刷指示書32を作成する。
ファイル情報31には、蓄積した時点での印刷条件が設定されている。プリントサービス実行部1400は、コントロールサービス1250を使って、このファイル情報31を変換して印刷情報33を作成し、文書識別子(文書ID)と印刷情報33とが設定される印刷指示書32を作成する。そして、プリントサービス実行部1400は、作成した印刷指示書32を識別する印刷指示書IDをクライアントPC10に通知する。
クライアントPC10は、プリントサービス実行部1400から受信した印刷指示書IDによって印刷指示書32を指定して印刷指示をプリントサービス実行部1400へ行う(ステップS5)。プリントサービス実行部1400は、印刷指示書IDによって印刷指示書32を識別し、印刷指示書32に設定されている文書IDと印刷情報とをコントロールサービス1250へ通知する(ステップS6)。
コントロールサービス1250は、リポジトリサービス実行部1410から通知された文書IDと印刷情報33とに基づいて、リポジトリ装置20のリポジトリサービス実行部1410から画像データ30を取得し(ステップS7)、また、印刷情報33に従って、画像データ30に基づく画像形成処理を実行する(ステップS8)。つまり、コントロールサービス1250は、エンジン部1350(プロッタ1201)を制御して所定媒体に画像形成させて、画像形成された媒体を出力させる。
このように、クライアントPC10の利用者は、単に、所望する文書を指示するのみで、その文書に関連付けられた印刷指示書32によって、印刷指示書32を再利用して印刷処理を行わせることができる。
次に、クライアントPC10側で印刷オプションを変更しない場合の印刷処理を図4で説明する。図4は、印刷オプションを変更しない場合の第一の印刷処理を説明するためのフローチャート図である。
図4において、クライアントPC10は、ネットワーク15を介してコマンドstartSessionを送信して、融合機1200のプリントサービス実行部1400とのセッションを確立する(ステップS11)。セッション確立後、クライアントPC10は、コマンドcreateJobInstructionを送信して、リポジトリ装置20のリポジトリサービス実行部1410から取得しておいたチケットをプリントサービス実行部1400に渡して印刷指示書の作成を要求し(ステップS12)、コマンドcreateJobを送信して、印刷実行を指示する(ステップS13)。
そして、クライアントPC10は、コマンドendSessionを送信して、融合機1200のプリントサービス実行部1400とのセッションを終了する(ステップS14)。
このように、画像データ30を再利用するためのチケットをリポジトリ装置20のリポジトリサービス実行部1410から取得して、融合機1200のプリントサービス実行部1400に印刷指示をするのみであるため、画像データ30及び印刷指示書32が再利用可能となると共に、文書(画像データ)及び印刷指示書32の自体をネットワーク15を介して転送することがないため、融合機1200への伝送効率が良い。
また、クライアントPC10がネットワーク15に物理的に接続している必要はなく、無線LAN(Local Area Network)で接続されるような形態であっても良く、また、文書データ自体を転送する必要がないため、携帯電話機などによってインターネットを介して融合機1200のプリントサービス実行部1400及びリポジトリ装置20のリポジトリサービス実行部1410と接続されるような形態でも良い。
図3及び図4では、既に保存されている印刷指示書32をなんら変更せずに再利用した場合について説明したが、既に保存されている印刷指示書32を変更して印刷する場合について図5から図7で説明する。
図5は、印刷オプションを変更する場合の第二の印刷処理の概要を説明するための図である。図5において、クライアントPC10は、リポジトリ装置20のリポジトリサービス実行部1410から所望する画像データ30を利用するためのチケットを取得して(ステップS21)、そのチケットを融合機1200のプリントサービス実行部1400へ渡して印刷指示書32の作成を要求する(ステップS22)。プリントサービス実行部1400は、クライアントPC10から受け取ったチケットによって、リポジトリサービス実行部1410に対して、文書IDとファイル情報31を要求する(ステップS23)。
リポジトリ装置20において、リポジトリサービス実行部1410は、ステップS23で受け取ったチケットがステップS21で発行したものであることを確認後、文書IDとファイル情報31とを融合機1200のプリントサービス実行部1400へ提供する(ステップS24)。ファイル情報31には、蓄積した時点での印刷条件が設定されている。プリントサービス実行部1400は、コントロールサービス1250を使って、このファイル情報31を変換して印刷情報33を作成し、文書IDと印刷情報33とが設定される印刷指示書32を作成する。
クライアントPC10は、印刷指示書32の内容を示すプロパティを融合機1200のプリントサービス実行部1400から取得する(ステップS25)。クライアントPC10は、利用者が変更したプロパティの値に変更するようにプリントサービス実行部1400に指示し(ステップS26)、更に、印刷指示書32を指定して印刷指示を融合機1200のプリントサービス実行部1400に対して行う(ステップS27)。プリントサービス実行部1400は、プロパティの値を変更した印刷指示書32に基づいて、文書IDと印刷情報33とをコントロールサービス1250へ通知する(ステップS28)。
コントロールサービス1250は、プリントサービス実行部1400から通知された文書IDに基づいて、リポジトリ装置20のリポジトリサービス実行部1410から画像データ30を取得し(ステップS29)、また、印刷情報33に従って、画像データ30に基づく画像形成処理を実行する(ステップS30)。つまり、コントロールサービス1250は、エンジン部1350(プロッタ1201)を制御して所定媒体に画像形成させて、画像形成された媒体を出力させる。
上述した第二の印刷処理のステップS28において、プリントサービス実行部1400は、プロパティの値を変更した印刷指示書32に基づいてファイル情報32を変更するようにしても良い。このような処理によって、ファイル情報32は、リポジトリサービス実行部1410によって最新の状態で管理されることになる。
次に、クライアントPC10側で例えば、穴あけ有無、ステープル有無等の印刷オプションを変更した場合の印刷処理を図6で説明する。図6は、印刷オプションを変更する場合の第二の印刷処理を説明するためのフローチャート図である。
図6において、クライアントPC10は、ネットワーク15を介してコマンドstartSessionを送信して、融合機1200のプリントサービス実行部1400とのセッションを確立する(ステップS31)。セッション確立後、クライアントPC10は、コマンドcreateJobInstructionをプリントサービス実行部1400に送信して、リポジトリ装置20のリポジトリサービス実行部1410から取得しておいたチケットをプリントサービス実行部1400に渡して印刷指示書32の作成を要求する(ステップS32)。
更に、クライアントPC10は、プリントサービス実行部1400に対してコマンドgetJobInstructionを送信して、印刷指示書32の内容を示すプロパティをリポジトリサービス実行部1410から取得する(ステップS33)。
利用者の印刷オプションの変更に応じて、クライアントPC10は、プリントサービス実行部1400に対してコマンドsetJobInstructionを送信して、印刷指示書32のプロパティの変更を指示する(ステップS34)。この場合、クライアントPC10は、変更されたプロパティ部分のみをプリントサービス実行部1400に送信すれば良い。
更に、クライアントPC10は、コマンドcreateJobを送信して、印刷実行をプリントサービス実行部1400に指示する(ステップS35)。そして、クライントPC10は、コマンドendSessionを送信して、プリントサービス実行部1400とのセッションを終了する(ステップS36)。
図7は、印刷オプションを変更する場合の第二の印刷処理におけるコマンドフローを示す図である。図7において、クライアントPC10がリポジトリサービス実行部1410に対してコマンドstartSession()を送信すると(ステップS201)、リポジトリサービス実行部1410は、セッションIDによって応答する(ステップS202)。クライアントPC10とリポジトリサービス実行部1410との間にセッションを確立する。
セッションが確立すると、クライアントPC10は、文書を利用するためのチケットを取得するため、リポジトリサービス実行部1410に対してコマンドgetTicket(セッションID、文書ID)を送信する(ステップS203)。リポジトリサービス実行部1410は、セッションID及び文書IDに対応するチケットIDを発行し、そのチケットIDによって応答する(ステップS204)。
次に、クライアントPC10は、プリントサービス実行部1400に対してコマンドstartSession()を送信し(ステップS205)、プリントサービス実行部1400は、クライアントPC10に対してセッションIDで応答する(ステップS206)。クライアントPC10とプリントサービス実行部1400との間にセッションが確立する。
セッションが確立すると、クライントPC10は、コマンドcreateJobInstruction(セッションID、チケットID)を送信して、プリントサービス実行部1400に対して印刷指示書32の作成を要求する(ステップS207)。
クライントPC10から印刷指示書32の作成要求を受信すると、プリントサービス実行部1400は、リポジトリサービス実行部1410に対してコマンドgetDocIdByTicket(チケットID)を送信し(ステップS208)、リポジトリサービス実行部1410は、文書IDによって応答する(ステップS209)。続けて、プリントサービス実行部1400は、リポジトリサービス実行部1410に対してコマンドgetDocInfo(文書ID)を送信し(ステップS210)、リポジトリサービス実行部1410は、ファイル情報31によって応答する(ステップS211)。
そして、プリントサービス実行部1400は、コントロールサービス1250に対してコマンドgetPrintMode(文書ID、ファイル情報31)を送信して(ステップS212)、コントロールサービス1250は、印刷情報33によって応答する(ステップS213)。印刷情報33は、印刷機固有の情報を示している。
プリントサービス実行部1400は、コントロールサービス1250から取得した印刷情報33に基づいて、印刷指示書32を作成し、印刷指示書32を識別する印刷指示書IDをステップ207でのクライアントPC10からのコマンドcreateJobInstructionの応答としてクライアントPC10に送信する(ステップS214)。
プリントサービス実行部1400は、印刷情報33についてその設定が現在の機器で実現できない場合、これを省略すれば印刷できるものと、省略できないものとを判断する。この省略を許すか否かは、クライアントPC10の指示による。省略を許す設定の場合は、省略できるものは省略して印刷指示書32を作成し、省略を許さない設定の場合は、印刷指示書32は作成せずにエラーをクライアントPC10に返す。省略可能な印刷情報と省略不可能な印刷情報については、図16で後述される。
クライアントPC10は、印刷指示書IDを受信すると、プリントサービス実行部1400に対してコマンドgetJobInstruction(セッションID、印刷指示書ID)を送信して、印刷指示書32のプロパティを要求する(ステップS215)。プリントサービス実行部1400は、印刷指示書IDに対応する印刷指示書32のプロパティによってクライアントPC10へ応答する(ステップS216)。
クライアントPC10は、利用者の印刷オプションの設定によって変更した印刷指示書32のプロパティによってプリントサービス実行部1400にて保存される印刷指示書32のプロパティを変更するため、プリントサービス実行部1400に対してコマンドsetJobInstruction(セッションID、印刷指示書ID、印刷指示書32のプロパティ)を送信する(ステップS217)。印刷指示書32が文書IDを含まない場合、setJobInstructionにて文書IDを指定するようにする。
プリントサービス実行部1400は、受信したコマンドsetJobInstructionで指定される印刷指示書32のプロパティに基づいて、コントロールサービス1250へ通知するための印刷情報33を作成する。
そして、プリントサービス実行部1400は、コントロールサービス1250に対してコマンドcheckPrintMode(文書ID、印刷情報33)を送信し(ステップS218)、コントロールサービス1250は、コマンドcheckPrintModeに指定された印刷情報33に従って印刷処理が行えるか否かを判断し、その判断結果「OK(処理可)」又は「NOT(処理不可)」を応答としてプリントサービス実行部1400へ送信する(ステップS219)。
プリントサービス実行部1400は、コントロールサービス1250から通知された判断結果「OK(処理可)」又は「NOT(処理不可)」をステップS217でのコマンドsetJobInstructionに対する応答として送信する(ステップS220)。
クライアントPC10は、コマンドsetJobInstructionに対する応答が「OK(処理可)」を示す場合に、融合機1200にて印刷処理を行わせるために、プリントサービス実行部1400に対してコマンドcreateJob(セッションID、印刷指示書ID)を送信する(ステップS221)。
プリントサービス実行部1400は、コマンドcreateJobを受信すると、コントロールサービス1250に対してコマンドentryJob(文書ID、印刷情報33)を送信して、印刷ジョブの実行を指示する(ステップS222)。
コントロールサービス1250は、コマンドentryJobで指定される文書IDを用いてリポジトリサービス実行部1400から画像データ30を取得して、印刷情報33に従って、プロッタ1201に所定の媒体に画像を形成させて出力させる。コントロールサービス1250は、その処理結果「OK(処理完了)」又は「NOT(処理エラー)」を応答としてプリントサービス実行部1400へ送信する(ステップS223)。
プリントサービス実行部1400は、コントロールサービス1250から通知された処理結果「OK(処理完了)」又は「NOT(処理エラー)」をステップS221でのコマンドcreateJobに対する応答として送信する(ステップS224)。
クライアントPC10は、プリントサービス実行部1400に対してコマンドendSession(セッションID)を送信して、プリントサービス実行部1400とのセッションを解放する(ステップS225)。
リポジトリサービス実行部1410から提供される画像データ30に関するファイル情報31、コントロールサービス1250から提供される印刷情報33、及び、プリントサービス実行部1400からクライアントPC10へ提供される印刷指示書32のプロパティの夫々のデータ構成について図8から図10で説明する。
図8は、リポジトリサービス実行部から提供されるファイル情報の構造体を示す図である。図8において、ファイル情報33は、構造体fileinfo(以下、ファイル情報構造体と言う)によってデータが定義され、画像データ30の文書名、画像データ30がリポジトリサービス実行部1410に蓄積された蓄積日時、蓄積時のプリンタ、コピー、ファクス、スキャナ等の処理名、用紙サイズ、ステープルを指定した場合のステープル位置、パンチ(穴あけ)を指定した場合のパンチ位置、両面の指定の有無を示す両面指定、表紙の指定の有無を示す表紙指定、ソートの指定の有無を示すソート指定等の要素を有する。
リポジトリサービス実行部1410は、このような構造体fileinfoで示されるファイル情報31を画像データ30に対応させて管理している。
図9は、コントロールサービスから提供される印刷情報の構造体を示す図である。図9において、印刷情報33は、構造体printMode(以下、印刷情報構造体と言う)によってデータが定義され、出力可能な部数、用紙サイズ、給紙トレイ、排紙トレイ、指定可能なステープル位置、指定可能なパンチ位置、両面指定の可否、表紙指定の可否、ソート指定の可否等の要素を有する。
コントロールサービス1250は、このような構造体printModeで示される印刷情報33によって印刷機器に固有の情報を管理している。
図10は、印刷指示書の記述例を示す図である。図10(A)において、プリントサービス実行部1400は、印刷指示書32のプロパティをXML(eXtensible Markup Language)で生成して管理し、印刷すべき部数、用紙サイズ、給紙トレイ、排紙トレイ、ステープル位置、パンチ位置、両面指定の有無、表紙指定の有無、ソート指定の有無、プロパティの保存の有無等の要素を有する。この場合、印刷指示書32はプロパティのみを有し、文書IDを含まない。
図10(A)に示す記述例において、印刷すべき部数「2」、用紙サイズ「A4」、給紙トレイ「tray1」、排紙トレイ「shiftTray」、ステープル位置「上部」、パンチ位置「上部」、両面指定「有」、表紙指定「有」、ソート指定「有」、プロパティの保存の「有」が示される。
プリントサービス実行部1400は、このようにXMLで記述された印刷指示書32のプロパティを画像データ30に対応させて管理している。
図10(B)において、プリントサービス実行部1400は、図10(A)に示した印刷指示書32をプロパティを示す記述32bとし、更に、文書IDを示す記述32aを含んでいる。文書IDを示す記述32aは、例えば、「<document>http://machineName.folderName.fileName1</document>」のように示される。
上記第二の印刷処理では、クライアントPC10は、プリントサービス実行部1400から取得した印刷指示書32のプロパティのうち変更があったプロパティを融合機1200へ送信し、プリントサービス実行部1400にて作成しておいた印刷指示書32の変更を行う。このような処理とすることによって、クライアントPC10は、印刷指示書32のプロパティの変更部分を指定するのみで、印刷処理を実行することができる。
一方、融合機1200は、複数のクライアントPC10との間で上記第二の印刷処理を実行すると、各クライアントPC10から印刷指示を受信するまで、作成しておいた複数の印刷指示書32を保持することになる。融合機1200での印刷指示書32を保持するための記憶領域を有効に使用するために、各クライアントPC10にて変更したプロパティを含む印刷指示書32を作成するようにすることが考えられる。
クライアントPC10にて変更したプロパティを含む印刷指示書32を作成する場合について図11から図14で説明する。
図11は、印刷オプションを変更する場合の第三の印刷処理の概要を説明するための図である。図11中、図5と同一の部分には、同一符号を付し、その説明を省略する。
図11において、プリントサービス実行部1400は、印刷指示書32を作成し、印刷指示書32のプロパティをクライアントPC10へ送信すると、所定の記憶領域から作成した印刷指示書32を削除する。
一方、クライアントPC10は、ステップS25にて取得した印刷指示書32のプロパティの変更を行い、変更されたプロパティの値を含む全プロパティの値が設定された印刷指示書32を作成する(ステップS26−4)。そして、クライアントPC10は、作成した印刷指示書32を送信することによって、プリントサービス実行部1400に印刷指示を行う(ステップS27−4)。プリントサービス実行部1400は、クライアントPC10から受信した印刷指示書32に基づいて、文書IDと印刷情報33とをコントロールサービス1250へ通知する(ステップS28)。以下、図5の説明と同様である。
次に、クライアントPC10側で例えば、穴あけ有無、ステープル有無等の印刷オプションを変更した場合の印刷処理を図12で説明する。図12は、印刷オプションを変更する場合の第三の印刷処理を説明するためのフローチャート図である。図12中、図6と同一のステップには、同一符号を付し、その説明を省略する。
図12において、図6のステップS34がステップS34−2に置き換わる。ステップS34−2では、クライアントPC10は、利用者の印刷オプションの変更に応じて、取得した印刷指示書32のプロパティの値を変更し、変更したプロパティの値を含む全プロパティの値が設定された印刷指示書32を作成する(ステップS34−2)。そして、クライアントPC10は、コマンドcreateJobを送信して、印刷実行をプリントサービス実行部1400に指示する(ステップS35)。以下、図6の説明と同様である。
図13は、印刷オプションを変更する場合の第三の印刷処理におけるコマンドフローを示す図である。図13中、図7と同一のステップには、同一符号を付し、その説明を省略する。
図13において、プリントサービス実行部1400は、作成して所定記憶領域に一時的に保存した印刷指示書32を識別する印刷指示書IDをクライアントPC10からのコマンドcreateJobInstructionの応答としてクライアントPC10に送信後(ステップS214)、クライアントPC10からコマンドgetJobInstruction(セッションID、印刷指示書ID)を受信すると(ステップS215−2)、プリントサービス実行部1400は、印刷指示書IDに対応する文書IDを含む印刷指示書32のプロパティによってクライアントPC10へ応答し、プリントサービス実行部1400が作成した印刷指示書32を所定記憶領域から削除する(ステップS216−2)。
クライアントPC10は、利用者の印刷オプションの設定によって、印刷指示書32のプロパティを変更した印刷指示書32を作成し、プリントサービス実行部1400に対してコマンドcreateJobInstruction(セッションID、印刷指示書32の全プロパティ)を送信する(ステップS217−2)。
プリントサービス実行部1400は、受信した印刷指示書32を識別するための印刷指示書IDを生成し、この印刷指示書32から文書IDを取得し、また、コントロールサービス1250へ通知するための印刷情報33を作成する。
そして、プリントサービス実行部1400は、コントロールサービス1250に対してコマンドcheckPrintMode(文書ID、印刷情報33)を送信し(ステップS218)、コントロールサービス1250は、コマンドcheckPrintModeに指定された印刷情報33に従って印刷処理が行えるか否かを判断し、その判断結果「OK(処理可)」又は「NOT(処理不可)」を応答としてプリントサービス実行部1400へ送信する(ステップS219)。
プリントサービス実行部1400は、コントロールサービス1250から通知された判断結果が「OK(処理可)」である場合、印刷指示書IDをステップS217−2でのコマンドcreateJobInstructionに対する応答として送信する(ステップS220)。コントロールサービス1250から通知された判断結果が「NOT(処理不可)」である場合、「NOT(処理不可)」を応答として送信する。
クライアントPC10は、コマンドcreateJobInstructionに対する応答が印刷指示書IDを示す場合に、融合機1200にて印刷処理を行わせるために、プリントサービス実行部1400に対してコマンドcreateJob(セッションID、印刷指示書ID)を送信する(ステップS221)。以下、図7の説明と同様である。
上述した第三の印刷処理において、ステップS216−2にてプリントサービス実行部1400からクライアントPC10へ提供される印刷指示書32のプロパティについて図14で説明する。
図14は、第三の印刷処理において、プリントサービス実行部から提供される印刷指示書のプロパティの記述例を示す図である。図14において、第二の印刷処理における印刷指示書32のプロパティとの違いは、文書IDに相当する記述32aが付加されている点である。記述32aは、例えば、<dosument>http://machineName.folderName.fileName1</document>及び<dosument>http://machineName.folderName.fileName2</document>のように記述される。この場合、2つの文書が指定されていることを示す。記述32aには、1つ以上の文書を識別するための文書ID(例えば、文書が保存されている場所を示すURL(Uniform Resource Locator)等)が示される。
上述の第三の印刷処理では、プリントサービス実行部1400は、印刷指示書32のための記憶領域を有効に使用することができる。
次に、コントロールサービス1250が、図7のステップS212でプリントサービス実行部1400から受信したファイル情報31をステップS213でプリントサービス実行部1400に通知する印刷情報33に変換する方法について図15で説明する。
図15において、コントロールサービス1250は、ファイル情報構造体に値が設定されている要素を取り出す(ステップS41)。コントロールサービス1250は、取り出した要素が印刷情報構造体の要素に該当するか否かを判断する(ステップS42)。該当しない場合、ステップS44へ進む。該当する場合、印刷情報構造体の該当要素に値をセットする(ステップS43)。
更に、ファイル情報構造体の全要素を確認したか否かを判断する(ステップS44)。全要素を確認していない場合、ステップS41へ戻りファイル情報構造体から値が設定されている次の要素を取り出し、上記同様の処理を繰り返す。一方、全要素を確認した場合、ファイル情報31から印刷情報33への変換処理を終了する。
そして、図7のステップS214でのプリントサービス実行部1400によって行われる、印刷情報33についてその設定が現在の機器で実現できない場合、これを省略すれば印刷できるものと、省略してはいけないものとの判断は、図16に示されるような情報に基づいて行われる。
図16は、印刷情報の省略を判断するための情報を示す図である。図16(A)は、省略可能な印刷情報を示すテーブルである。図16(B)は、省略不可能な印刷情報を示すテーブルである。図16(A)において、省略可能な印刷情報33として、ステープル、パンチ、合紙・表示・章区切り、ソート・スタック、スタンプ印字、両面等がある。また、図16(B)に示されるように、省略不可能な印刷情報33として、用紙サイズ、部数等がある。
プリントサービス実行部1400は、これら省略可能な印刷情報33と省略不可能な印刷情報33とを夫々テーブルとして保持しても良く、また、処理の中の判断処理部として組み込まれていても良い。
図16(A)及び図16(B)に示す省略可能な印刷情報33と省略不可能な印刷情報33とに基づいて、利用者が省略を許すに設定し、作成した印刷情報構造体にて印刷できない場合の印刷情報33の省略処理について図17で説明する。図17は、印刷情報の省略処理を説明するフローチャート図である。
図17において、プリントサービス実行部1400は、印刷情報構造体に値が設定されている要素を取り出す(ステップS51)。プリントサービス実行部1400は、印刷情報33の省略対象に該当するか否かを判断する(ステップS52)。印刷情報33の省略対象に該当しない場合、ステップS57へ進む。一方、印刷情報33の省略対象に該当する場合、処理に必要な機器情報をコントロールサービス1250から取得する(ステップS53)。
プリントサービス実行部1400は、該当処理が現在の機器設定にて実行可能であるか否かを判断する(ステップS54)。実行可能な場合、ステップS57へ進む。一方、実行可能でない場合、印刷情報構造体の該当要素の値をクリアする(ステップS55)。そして、省略した印刷情報33を保存する(ステップS56)。
プリントサービス実行部1400は、印刷情報構造体の全要素を確認したか否かを判断する(ステップS57)。印刷情報構造体の全要素を確認していない場合、ステップS51へ戻り上記同様の処理を繰り返す。一方、印刷情報構造体の全要素を確認した場合、省略処理を終了する。
プリントサービス実行部1400が、図7のステップS217でクライアントPC10から受信した印刷指示書32のプロパティをステップS218でコントロールサービス1250に通知する印刷情報33に変換する方法について図18で説明する。図18は、プリントサービス実行部による印刷指示書のプロパティから印刷情報への変換処理を説明するためのフローチャート図である。
図18において、プリントサービス実行部1400は、印刷情報33のプロパティからプロパティ名を取り出す(ステップS61)。印刷情報構造体の要素に該当するか否かを判断する(ステップS62)。印刷情報構造体の要素に該当しない場合ステップS63へ進む。印刷情報構造体の要素に該当する場合、プロパティ値を取り出して(ステップS63)、印刷情報構造体の該当要素に値をセットする(ステップS64)。
プリントサービス実行部1400は、印刷指示書32の全てのプロパティを確認したか否かを判断する(ステップS65).全てのプロパティを確認していない場合、ステップS61へ戻り、上記同様の処理を行う。一方、全てのプロパティを確認した場合、プリントサービス実行部1400による印刷指示書32のプロパティから印刷情報33への変換処理を終了する。
クライアントPC10にて変更された印刷指示書32のプロパティを印刷せずにリポジトリサービス実行部1410に保存する場合の処理概要を図19で説明する。変更された印刷指示書32のプロパティをリポジトリサービス実行部1410に保存する処理は、プロパティに保存指定がなされた場合に行なわれる。
図19は、変更された印刷指示書のプロパティをリポジトリサービス実行部に保存する処理の概要を説明するための図である。
図19において、クライアントPC10は、リポジトリ装置20のリポジトリサービス実行部1410から所望する画像データ30を利用するためのチケットを取得して(ステップS71)、そのチケットを融合機1200のプリントサービス実行部1400へ渡して印刷指示書32の作成を要求する(ステップS72)。プリントサービス実行部1400は、クライアントPC10から受け取ったチケットによって、リポジトリサービス実行部1410に対して、文書IDとファイル情報31を要求する(ステップS73)。
リポジトリ装置20において、リポジトリサービス実行部1410は、ステップS3で受け取ったチケットがステップS1で発行したものであることを確認後、文書IDとファイル情報31とを融合機1200のプリントサービス実行部1400へ提供する(ステップS74)。ファイル情報31には、蓄積した時点での印刷条件が設定されている。プリントサービス実行部1400は、コントロールサービス1250を使って、このファイル情報31を変換して印刷情報33を作成し、文書IDと印刷情報33とが設定される印刷指示書32を作成する。
クライアントPC10は、印刷指示書32の内容を示すプロパティを融合機1200のプリントサービス実行部1400から取得する(ステップS75)。クライアントPC10は、利用者が変更したプロパティ値に変更するようにプリントサービス実行部1400に指示する(ステップS76)。この時、プロパティが保存指定となる。
プロパティが保存指定のプロパティ値の変更要求を受信すると、プリントサービス実行部1400は、リポジトリサービス実行部1410に変更されたプロパティ値を保存する(ステップS77)。
このように、変更されたプロパティ値でリポジトリサービス実行部1410で管理されるファイル情報31を上書き保存することができる。
クライアントPC10側で変更されたプロパティを保存指定とする場合の処理について図20で説明する。図20は、クライアントPC側でのプロパティを保存指定とする場合の処理を説明するフローチャート図である。図20において、クライアントPC10は、コマンドstartSessionを送信して、融合機1200のプリントサービス実行部1400とのセッションを確立する(ステップS81)。
セッション確立後、クライアントPC10は、コマンドcreateJobInstructionを送信して、リポジトリ装置20のリポジトリサービス実行部1410から取得しておいたチケットをプリントサービス実行部1400に渡して印刷指示書32の作成を要求し(ステップS82)、コマンドgetJobInstructionを送信して、印刷指示書32の内容を示すプロパティをリポジトリサービス実行部1410から取得する(ステップS83)。
利用者の設定変更に応じて、プロパティ保存が指定されたコマンドsetJobInstructionを送信して、印刷指示書32のプロパティの変更及び保存をリポジトリサービス実行部1410へ指示し(ステップS84)、コマンドendSessionを送信して、プリントサービス実行部1400とのセッションを終了する。
図21は、変更された印刷指示書のプロパティをリポジトリサービス実行部に保存する処理におけるコマンドフローを示す図である。図21において、クライアントPC10が融合機1200のプリントサービス実行部1400に対してコマンドgetJobInstruction(セッションID、印刷指示書ID)を送信すると(ステップS301)、プリントサービス実行部1400は、印刷指示書32のプロパティによって応答する(ステップS302)。
クライアントPC10は、プロパティ保存が有りに設定されたコマンドsetJobInstruction(セッションID、印刷指示書ID、印刷指示書32のプロパティ)をプリントサービス実行部1400に送信する(ステップS303)。印刷指示書32が文書IDを含まない場合、setJobInstructionにて文書IDを指定するようにする。
プリントサービス実行部1400は、プロパティ保存が有りに設定されたコマンドsetJobInstructionを受信すると、コントロールサービス1250に対してコマンドcheckPrintMode(文書ID、印刷情報33)を送信する(ステップS304)。コントロールサービス1250は、コマンドcheckPrintModeに指定された印刷情報33に従って印刷処理が行えるか否かを判断し、その判断結果「OK(処理可)」又は「NOT(処理不可)」を応答としてプリントサービス実行部1400へ送信する(ステップS305)。
プリントサービス実行部1400は、その判断結果が「OK(処理可)」を示す場合に、コントロールサービス1250に対してコマンドgetFileInfo(文書ID、印刷情報33)を送信する(ステップS306)。コントロールサービス1250は、受信したコマンドgetFileInfoから印刷情報33を取り出してファイル情報31に変換し、そのファイル情報31によってプリントサービス実行部1400に応答する(ステップS307)。
プリントサービス実行部1400は、コントロールサービス1250から印刷情報33から変換されたファイル情報31を受信すると、リポジトリサービス実行部1410に対してコマンドsetDocInfo(文書ID、ファイル情報31)を送信する(ステップS308)。リポジトリサービス実行部1410は、文書IDに対応させてファイル情報31を保存して、その保存処理結果「OK(保存完了)」又は「NOT(保存エラー)」によってプリントサービス実行部1400に応答する(ステップS309)。
プリントサービス実行部1400は、リポジトリサービス実行部1410から通知された保存処理結果「OK(保存完了)」又は「NOT(保存エラー)」をステップS303に対する応答としてクライアントPC10に通知する(ステップS310)。
コントロールサービス1250が、図21のステップS306においてプリントサービス実行部1400から受信した印刷情報33をファイル情報31に変換してプリントサービス実行部1400に提供する場合の印刷情報33からファイル情報31に変換する変換処理を図22で説明する。
図22は、コントロールサービスによる印刷情報をファイル情報への変換処理を説明するためのフローチャート図である。図22において、コントロールサービス1250は、印刷情報構造体に値が設定されている要素を取り出して(ステップS91)、ファイル情報構造体の要素に該当するか否かを判断する(ステップS92)。
ファイル情報構造体の要素に該当しない場合、コントロールサービス1250は、ステップS94へ進む。一方、ファイル情報構造体の要素に該当する場合、コントロールサービス1250は、ファイル情報構造体の該当要素に値をセットする(ステップS93)。
そして、コントロールサービス1250は、印刷情報構造体の全要素を確認したか否かを判断する(ステップS94)。印刷情報構造体の全要素を確認していない場合、コントロールサービス1250は、ステップS91へ戻り、上記同様の処理を繰り返す。一方、印刷情報構造体の全要素を確認した場合、コントロールサービス1250は、印刷情報33をファイル情報31への変換処理を終了する。
次に、クライアントPC10にプリントサービス実行部1400又はリポジトリサービス実行部1410から提供される画面例を図23から図25で説明する。図23は、リポジトリサービス実行部から提供される蓄積文書の一覧画面を示す図である。図23において、蓄積文書の一覧画面300は、文書名の一覧を表示する表示域310と、サムネイルで文書を表示する表示域320とを有する。
表示域310には、利用者が例えばマウス等で「全ての文書」311を選択するとリポジトリサービス実行部1410に蓄積されている文書名の一覧が表示される。表示域310にて、先ず、複数のフォルダ名が表示され、所望するフォルダを選択すると文書名の一覧が表示されるようにしても良い。
表示域320には、表示域310での選択に応じて、蓄積される文書のサムネイルと文書名が表示される。利用者は、所望するサムネイルを選択し、更に、マウスの右クリックで表示されるメニュー330から印刷を選択すると、印刷処理が開始される。利用者は、サムネイルを複数選択することで複数の文書に対して一度に印刷処理を行わせることができる。
図7のステップS215にてクライアントPC10がプリントサービス実行部1400に対してコマンドgetJobInstructionを送信することによって提供される蓄積文書の印刷画面について図24で説明する。図24は、プリントサービス実行部から提供される蓄積文書の印刷画面を示す図である。図24において、蓄積文書の印刷画面400は、プリントサービス実行部1400から提供された時点での画面の状態である。つまり、前回印刷処理した際に設定した状態が蓄積文書の印刷画面400に示される。
蓄積文書の印刷画面400は、印刷するために利用者によって選択された文書名の一覧を表示する表示域401と、印刷部数を入力する入力域402と、プロパティを保持するためのチェック域403と、融合機1200側での印刷情報33の省略を許可するためのチェック域404と、印刷オプションを設定するための設定領域405と、設定領域405で設定したオプションを一覧表示する表示域406と、印刷を開始するためのボタン407と、印刷をキャンセルするためのボタン408とを有する。
利用者は、表示域401に表示される文書名の一覧を参照して印刷する文書の確認を行うことができる。入力域402には、前回の印刷部数「1」が設定されているが、利用者によって変更可能である。
チェック域403にチェックすると、変更したプロパティ(設定内容)が融合機1200のプリントサービス実行部1400からリポジトリ装置20のリポジトリサービス実行部1410へ保存される。チェック域404にチェックすると、融合機1200による印刷情報33の自動省略を許可することになる。この例は、チェック域402及び404がチェックされなかったことを示している。
設定域405には、例えば、「両面開き」か「片面開き」かいずれかを選択、「ソート」か「スタック」かいずれかを選択、「表紙」か「合紙」かいずれかを選択、「ステープル」か「パンチ」かいずれかを選択等の選択が行える。この設定域405で設定した項目は印刷設定一覧として表示域406に表示される。前回は、「両面開き」と「ソート」が設定されたことを示している。
図7のステップS217にてクライアントPC10がコマンドsetJobInstructionを送信することによって、プロパティ値の変更を要求する際の蓄積文書の印刷画面について図25で説明する。図25は、プロパティ値の変更を要求する際の蓄積文書の印刷画面を示す図である。図25において、蓄積文書の印刷画面500は、図24に示される蓄積文書の印刷画面400が変更された例である。図25中の符号501から508は、図24中の符号401から408に相当するためその説明を省略する。
表示域501に表示される文書名は、図24の表示域401と同じである。入力域502は、利用者によって印刷部数が「1」から「2」に変更され、図24のチェック域403及び404に対応するチェック域503及び504が共にチェックされている。チェック域503のチェックによって、今回の変更されたプロパティがリポジトリ装置20のリポジトリサービス実行部1410に保存されることになり、チェック域504のチェックによって、融合機1200のプリントサービス実行部1400によって自動省略が許可されたことを示している。
また、設定域504は、利用者によって、「両面開き」、「スタック」、「ステープル」の設定に変更されている。これらの変更によって、表示域506に表示される印刷設定一覧も変更される。今回の変更により、「部数:1」、「設定保持指定」、「両面開き」、「スタック」、「ステープル」が表示される。
以上、リポジトリサービス実行部1410が融合機1200とは別のリポジトリ装置20に備えられる例にて説明してきたが、本願発明は、図26に示すように、融合機1200にプリントサービス実行部1400とリポジトリサービス実行部1410とを備えるようにしても良い。図26は、印刷指示書を指定するのみで印刷可能な第二のネットワーク構成を示すブロック図である。
図26に示す第二のネットワーク構成において、図3に示す第一のネットワーク構成と異なり、融合機1200は、融合機1200内にプリントサービス実行部1400と、リポジトリサービス実行部1410と、コントロールサービス1250と、エンジン部1350とを有する。そのため、ネットワーク15を介して行われたプリントサービス実行部1400とリポジトリサービス実行部1410との通信は、内部的なコマンドの発行によって行われる。
このような構成とすることで、クライアントPC10は、融合機1200との間でチケットの取得及び印刷指示書32の取得を行えばよい。
本発明によると、クライアントPC10は、画像データ30の使用を許可するチケットを融合機1200へ送信し、印刷指示書32を指定するのみで印刷処理を実行させることができる。つまり、印刷指示書32の再利用を実現することができる。また、クライアントPC10は、融合機1200から取得したプロパティを変更して、印刷処理を実行させることができる。更に、その変更したプロパティに基づくファイル情報31を保存することができる。
以下に、図26に示す第二のネットワーク構成にて、チケットを使わない場合について説明する。図3に示す第一のネットワーク構成にても同様に実現される。
図27は、チケットを使わない場合の第四の印刷処理の概要を説明するための図である。図27において、クライアントPC10は、リポジトリサービス実行部1410に対して、所望する画像データ30を利用するための文書パスワードを送信し、リポジトリサービス実行部1410がその文書パスワードをチェックする(ステップS101)。文書パスワードによって画像データ30(文書)へのアクセスの正当性が確認された場合、画像データ30を識別する文書IDを融合機1200のプリントサービス実行部1400へ渡して印刷指示書32の作成を要求する(ステップS102)。
プリントサービス実行部1400は、クライアントPC10から受け取った文書IDによって、リポジトリサービス実行部1410に対して、文書IDとファイル情報31を要求する(ステップS103)。
リポジトリサービス実行部1410は、ステップS103で受け取った文書IDがステップS101で正当性が確認されたものであることを確認後、文書IDとファイル情報31とをプリントサービス実行部1400へ提供する(ステップS104)。プリントサービス実行部1400は、リポジトリサービス実行部1410から取得した文書IDとファイル情報31とをコントロールサービス1250へ通知することによって印刷指示書32を作成する。
ファイル情報31には、蓄積した時点での印刷条件が設定されている。プリントサービス実行部1400は、コントロールサービス1250を使って、このファイル情報31を変換して印刷情報33を作成し、文書IDと印刷情報33とが設定される印刷指示書32を作成する。そして、プリントサービス実行部1400は、作成した印刷指示書32を識別する印刷指示書IDをクライアントPC10に通知する。
クライアントPC10は、プリントサービス実行部1400から受信した印刷指示書IDによって印刷指示書32を指定して印刷指示をプリントサービス実行部1400へ行う(ステップS105)。プリントサービス実行部1400は、印刷指示書IDによって印刷指示書32を識別し、印刷指示書32に設定されている文書IDと印刷情報33とをコントロールサービス1250へ通知する(ステップS106)。
コントロールサービス1250は、プリントサービス実行部1400から通知された文書IDに基づいて、リポジトリサービス実行部1410から画像データ30を取得し(ステップS107)、また、プリントサービス実行部1400から通知された印刷情報33に従って、画像データ30に基づく印刷処理を実行する(ステップS108)。つまり、コントロールサービス1250は、エンジン部1350(プロッタ1201)を制御して所定媒体に画像形成させて、画像形成された媒体を出力させる。
図28は、チケットを使わない場合の第四の印刷処理を説明するためのフローチャート図である。図28において、クライアントPC10は、ネットワーク15を介してコマンドstartSessionを送信して、融合機1200のプリントサービス実行部1400とのセッションを確立する(ステップS111)。セッション確立後、クライアントPC10は、コマンドcheckPasswordを送信して、リポジトリサービス実行部1410がその文書パスワードをチェックする(ステップS112)。
文書パスワードによって文書へのアクセスの正当性が確認された場合、クライアントPC10は、画像データ30を識別する文書IDを融合機1200のプリントサービス実行部1400へ渡して印刷指示書32の作成を要求し(ステップS113)、更に、コマンドcreateJobを送信して、印刷実行を指示する(ステップS114)。
そして、クライアントPC10は、コマンドendSessionを送信して、融合機1200のプリントサービス実行部1400とのセッションを終了する(ステップS115)。
このように、文書に対する文書パスワードに基づいてアクセスの正当性が判断され、融合機1200のプリントサービス実行部1400に印刷指示をするのみである。従って、文書(画像データ)及び印刷指示書32自体をネットワーク15を介して転送することがなく、融合機1200への伝送効率が良い。
以下に、チケットを使わない場合のコマンドフローについて図29から図31にて説明する。先ず、WebサービスとクライアントPC10との間のセッションをWebサービスを実行するWebサービスファンクション毎に管理する場合について説明する。本実施例では、プリントサービス実行部1400とリポジトリサービス実行部1410毎にセッションが管理される。
図29は、チケットを使わない場合の第一のコマンドフローを示す図である。図29において、クライアントPC10がリポジトリサービス実行部1410に対してコマンドstartSession()を送信すると(ステップS601)、リポジトリサービス実行部1410は、リポジトリセッションIDによって応答する(ステップS602)。クライアントPC10とリポジトリサービス実行部1410との間にセッションを確立する。
セッションが確立すると、クライアントPC10は、文書に対するアクセスの正当性を確認するため、リポジトリサービス実行部1410に対してコマンドcheckPassword(リポジトリセッションID、文書ID、文書パスワード)を送信する(ステップS603)。リポジトリサービス実行部1410は、文書ID及び文書パスワードによって、文書IDによって識別される文書に対するアクセスの正当性をチェックし、そのチェック結果によって応答する(ステップS604)。
次に、クライアントPC10は、プリントサービス実行部1400に対してコマンドstartSession()を送信し(ステップS605)、プリントサービス実行部1400は、クライアントPC10に対してプリントセッションIDで応答する(ステップS606)。クライアントPC10とプリントサービス実行部1400との間にセッションが確立する。
セッションが確立すると、クライントPC10は、コマンドcreateJobInstruction(プリントセッションID、リポジトリセッションID、文書ID)を送信して、プリントサービス実行部1400に対して印刷指示書32の作成を要求する(ステップS607)。
クライントPC10から印刷指示書32の作成要求を受信すると、プリントサービス実行部1400は、リポジトリサービス実行部1410に対してコマンドgetDocInfo(リポジトリセッションID、文書ID)を送信し(ステップS608)、リポジトリサービス実行部1410は、ファイル情報31によって応答する(ステップS609)。
そして、プリントサービス実行部1400は、コントロールサービス1250に対してコマンドgetPrintMode(文書ID、ファイル情報31)を送信して(ステップS610)、コントロールサービス1250は、印刷情報33によって応答する(ステップS611)。印刷情報33は、印刷機固有の情報を示している。
プリントサービス実行部1400は、コントロールサービス1250から取得した印刷情報33に基づいて、印刷指示書32を作成し、印刷指示書32を識別する印刷指示書IDをステップ607でのクライアントPC10からのコマンドcreateJobInstructionの応答としてクライアントPC10に送信する(ステップS612)。
クライアントPC10は、印刷指示書IDを受信すると、プリントサービス実行部1400に対してコマンドgetJobInstruction(プリントセッションID、印刷指示書ID)を送信して、印刷指示書32のプロパティを要求する(ステップS613)。プリントサービス実行部1400は、印刷指示書IDに対応する印刷指示書32のプロパティによってクライアントPC10へ応答する(ステップS614)。
クライアントPC10は、利用者の設定によって変更した印刷指示書32のプロパティによってプリントサービス実行部1400にて一時的に保存されている印刷指示書32のプロパティを変更するため、プリントサービス実行部1400に対してコマンドsetJobInstruction(プリントセッションID、印刷指示書ID、印刷指示書32のプロパティ)を送信する(ステップS615)。印刷指示書32が文書IDを含まない場合、setJobInstructionにて文書IDを指定するようにする。
プリントサービス実行部1400は、受信したコマンドsetJobInstructionで指定される印刷指示書32のプロパティに基づいて、コントロールサービス1250へ通知するための印刷情報33を作成する。そして、プリントサービス実行部1400は、コントロールサービス1250に対してコマンドcheckPrintMode(文書ID、印刷情報33)を送信し(ステップS616)、コントロールサービス1250は、コマンドcheckPrintModeに指定された印刷情報33に従って印刷処理が行えるか否かを判断し、その判断結果「OK(処理可)」又は「NOT(処理不可)」を応答としてプリントサービス実行部1400へ送信する(ステップS617)。
プリントサービス実行部1400は、コントロールサービス1250から通知された判断結果「OK(処理可)」又は「NOT(処理不可)」をステップS615でのコマンドsetJobInstructionに対する応答として送信する(ステップS618)。
クライアントPC10は、コマンドsetJobInstructionに対する応答が「OK(処理可)」を示す場合に、融合機1200にて印刷処理を行わせるために、プリントサービス実行部1400に対してコマンドcreateJob(プリントセッションID、印刷指示書ID)を送信する(ステップS619)。プリントサービス実行部1400は、コマンドcreateJobを受信すると、コントロールサービス1250に対してコマンドentryJob(文書ID、印刷情報33)を送信して、印刷ジョブの実行を指示する(ステップS620)。
コントロールサービス1250は、コマンドentryJobで指定される文書IDを用いてリポジトリサービス実行部1400から画像データ30を取得して、印刷情報33に従って、プロッタ1201に所定の媒体に画像を形成させて出力させる。コントロールサービス1250は、その処理結果「OK(処理完了)」又は「NOT(処理エラー)」を応答としてプリントサービス実行部1400へ送信する(ステップS621)。
プリントサービス実行部1400は、コントロールサービス1250から通知された処理結果「OK(処理完了)」又は「NOT(処理エラー)」をステップS619でのコマンドcreateJobに対する応答として送信する(ステップS622)。
クライアントPC10は、コマンドcreateJobに対する応答が「OK(処理完了)」を示す場合に、プリントサービス実行部1400に対してコマンドendSession(プリントセッションID)を送信して、プリントサービス実行部1400とのセッションを解放する(ステップS623)。
次に、クライアントPC10が利用する一連のWebサービスで共通にセッションを管理する場合について図30で説明する。図30は、チケットを使わない場合の第二のコマンドフローを示す図である。
図30において、クライアントPC10がリポジトリサービス実行部1410に対してコマンドstartSession()を送信すると(ステップS631)、リポジトリサービス実行部1410は、グローバルセッションIDによって応答する(ステップS632)。クライアントPC10とリポジトリサービス実行部1410との間にセッションを確立する。
セッションが確立すると、クライアントPC10は、文書に対するアクセスの正当性を確認するため、リポジトリサービス実行部1410に対してコマンドcheckPassword(グローバルセッションID、文書ID、文書パスワード)を送信する(ステップS633)。リポジトリサービス実行部1410は、文書ID及び文書パスワードによって、文書IDによって識別される文書に対するアクセスの正当性をチェックし、そのチェック結果によって応答する(ステップS634)。
ステップS631及びS632によって、クライアントPC10とリポジトリサービス実行部1410との間でセッションが確立すると、グローバルセッションIDによってセッションが管理されるため、クライアントPC10は、プリントサービス1400との間のセッションを確立する必要がない。
従って、クライントPC10は、プリントサービス実行部1400とのセッションを確立するための処理を行うことなく、コマンドcreateJobInstruction(グローバルセッションID、リポジトリセッションID、文書ID)を送信して、プリントサービス実行部1400に対して印刷指示書32の作成を要求する(ステップS635)。
クライントPC10から印刷指示書32の作成要求を受信すると、プリントサービス実行部1400は、リポジトリサービス実行部1410に対してコマンドgetDocInfo(グローバルセッションID、文書ID)を送信し(ステップS636)、リポジトリサービス実行部1410は、ファイル情報31によって応答する(ステップS637)。
そして、プリントサービス実行部1400は、コントロールサービス1250に対してコマンドgetPrintMode(文書ID、ファイル情報31)を送信して(ステップS638)、コントロールサービス1250は、印刷情報33によって応答する(ステップS639)。印刷情報33は、印刷機固有の情報を示している。
プリントサービス実行部1400は、コントロールサービス1250から取得した印刷情報33に基づいて、印刷指示書32を作成し、印刷指示書32を識別する印刷指示書IDをステップ635でのクライアントPC10からのコマンドcreateJobInstructionの応答としてクライアントPC10に送信する(ステップS640)。
クライアントPC10は、印刷指示書IDを受信すると、プリントサービス実行部1400に対してコマンドgetJobInstruction(グローバルセッションID、印刷指示書ID)を送信して、印刷指示書32のプロパティを要求する(ステップS641)。プリントサービス実行部1400は、印刷指示書IDに対応する印刷指示書32のプロパティによってクライアントPC10へ応答する(ステップS642)。
クライアントPC10は、利用者の設定によって変更した印刷指示書32のプロパティによってプリントサービス実行部1400にて保存される印刷指示書32のプロパティを変更するため、プリントサービス実行部1400に対してコマンドsetJobInstruction(グローバルセッションID、印刷指示書ID、印刷指示書32のプロパティ)を送信する(ステップS643)。印刷指示書32が文書IDを含まない場合、setJobInstructionにて文書IDを指定するようにする。
プリントサービス実行部1400は、受信したコマンドsetJobInstructionで指定される印刷指示書32のプロパティに基づいて、コントロールサービス1250へ通知するための印刷情報33を作成する。そして、プリントサービス実行部1400は、コントロールサービス1250に対してコマンドcheckPrintMode(文書ID、印刷情報33)を送信し(ステップS644)、コントロールサービス1250は、コマンドcheckPrintModeに指定された印刷情報33に従って印刷処理が行えるか否かを判断し、その判断結果「OK(処理可)」又は「NOT(処理不可)」を応答としてプリントサービス実行部1400へ送信する(ステップS645)。
プリントサービス実行部1400は、コントロールサービス1250から通知された判断結果「OK(処理可)」又は「NOT(処理不可)」をステップS645でのコマンドsetJobInstructionに対する応答として送信する(ステップS646)。
クライアントPC10は、コマンドsetJobInstructionに対する応答が「OK(処理可)」を示す場合に、融合機1200にて印刷処理を行わせるために、プリントサービス実行部1400に対してコマンドcreateJob(グローバルセッションID、印刷指示書ID)を送信する(ステップS647)。プリントサービス実行部1400は、コマンドcreateJobを受信すると、コントロールサービス1250に対してコマンドentryJob(文書ID、印刷情報33)を送信して、印刷ジョブの実行を指示する(ステップS648)。
コントロールサービス1250は、コマンドentryJobで指定される文書IDを用いてリポジトリサービス実行部1400から画像データ30を取得して、印刷情報33に従って、プロッタ1201に所定の媒体に画像を形成させて出力させる。コントロールサービス1250は、その処理結果「OK(処理完了)」又は「NOT(処理エラー)」を応答としてプリントサービス実行部1400へ送信する(ステップS649)。
プリントサービス実行部1400は、コントロールサービス1250から通知された処理結果「OK(処理完了)」又は「NOT(処理エラー)」をステップS649でのコマンドcreateJobに対する応答として送信する(ステップS650)。
クライアントPC10は、コマンドcreateJobに対する応答が「OK(処理完了)」を示す場合に、プリントサービス実行部1400に対してコマンドendSession(グローバルセッションID)を送信して、プリントサービス実行部1400とのセッションを解放する(ステップS651)。
次に、クライアントPC10がWebサービスへの利用毎に文書パスワードによってアクセスの正当性をチェックする場合について図31で説明する。
図31は、チケットを使わない場合の第三のコマンドフローを示す図である。図31中、図30と同一のステップには、同一符号を付し、その説明を省略する。図31に示される第三のコマンドフローでは、クライアントPC10がリポジトリサービス実行部1410との接続時及びプリントサービス実行部1400への接続時に、文書パスワードによって文書へのアクセスの正当性を確認する点が、図30に示される第二のコマンドフローと異なっている。従って、ここでは、ステップS633からS637までの処理について説明する。その他のステップについては、図30での説明と同様である。
クライアントPC10は、文書に対するアクセスの正当性を確認するため、リポジトリサービス実行部1410に対してコマンドcheckPassword(グローバルセッションID、文書ID、文書パスワード)を送信する(ステップS633)。リポジトリサービス実行部1410は、文書ID及び文書パスワードによって、文書IDによって識別される文書に対するアクセスの正当性をチェックし、そのチェック結果によって応答する(ステップS634)。
次に、クライアントPC10は、プリントサービス実行部1400への接続をコマンドcreateJobInstruction(グローバルセッションID、文書ID、文書パスワード)によって行う(ステップS635−2)。プリントサービス実行部1400への接続は、文書パスワードを指定した印刷指示書32の作成を要求することによって行う。
プリントサービス実行部1400は、リポジトリサービス実行部1410へコマンドcheckPassword(グローバルセッションID、文書ID、文書パスワード)を送信して、文書へのアクセスの正当性を確認する(ステップS635−4)。リポジトリサービス実行部1410は、文書ID及び文書パスワードによって、文書IDによって識別される文書に対するアクセスの正当性をチェックし、そのチェック結果によって応答する(ステップS635−6)。
続けて、プリントサービス実行部1400は、リポジトリサービス実行部1410に対してコマンドgetDocInfo(グローバルセッションID、文書ID)を送信し(ステップS636)、リポジトリサービス実行部1410は、ファイル情報31によって応答する(ステップS637)。以下の処理は、図30に示す第二のコマンドフローの説明と同一である。
このように、本発明によると、文書パスワードによって文書(画像データ30)へのアクセスの許可を判断することができ、また、クライアントPC10は、融合機1200から取得したプロパティを変更して、印刷指示書32を再利用しつつ印刷処理を実行させることができる。更に、その変更したプロパティに基づくファイル情報を保存することができる。
本実施例におけるクライアントPC10は、例えば、図32に示すようなハードウェア構成を有する。図32は、クライアントPCのハードウェア構成を示すブロック図である。
図32において、クライアントPC10は、コンピュータによって制御される端末であって、CPU(Central Processing Unit)51と、メモリユニット52と、表示ユニット53と、出力ユニット54と、入力ユニット55と、通信ユニット56と、記憶装置57と、ドライバ58とで構成され、システムバスBに接続される。
CPU51は、メモリユニット52に格納されたプログラムに従ってクライアントPC10を制御する。メモリユニット52は、RAM(Random Access Memory)及びROM(Read-Only Memory)等にて構成され、CPU51にて実行されるプログラム、CPU51での処理に必要なデータ、CPU51での処理にて得られたデータ等を格納する。また、メモリユニット52の一部の領域が、CPU51での処理に利用されるワークエリアとして割り付けられている。
表示ユニット53は、CPU51の制御のもとに必要な各種情報を表示する。出力ユニット54は、プリンタ等を有し、利用者からの指示に応じて各種情報を出力するために用いられる。入力ユニット55は、マウス、キーボード等を有し、利用者がクライアントPC10が処理を行なうための必要な各種情報を入力するために用いられる。通信ユニット56は、クライアントPC10が例えばインターネット、LAN(Local Area Network)等を介して融合機1200と接続する場合に、融合機1200との間の通信制御をするための装置である。記憶装置57は、例えば、ハードディスクユニットにて構成され、各種処理を実行するプログラム等のデータを格納する。
クライアントPC10よって行われる処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体59によってクライアントPC10に提供される。即ち、プログラムが保存された記憶媒体59がドライバ58にセットされると、ドライバ58が記憶媒体59からプログラムを読み出し、その読み出されたプログラムがシステムバスBを介して記憶装置57にインストールされる。そして、プログラムが起動されると、記憶装置57にインストールされたプログラムに従ってCPU51がその処理を開始する。尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。本発明に係る処理を実現するプログラムは、通信ユニット56によってネットワークを介してダウンロードし、記憶装置57にインストールするようにしても良い。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。