図1は、本実施形態に係る融合機100の構成を示している。
融合機100は、HTTPD101、FTPD102、Webページサービス103、文書管理サービス104、HDD105、メモリコントロールサービス(以下、MCSという)106、システムコントロールサービス(以下、SCSという)107、イメージメモリハンドラ(以下、IMHという)108、メディアエディットユーティリティ(Media Edit Utility:以下、MEUという)109、NVRAM110及びメディアリンクボード(以下、MLBという)111を有する。
HTTPD101は、ネットワーク200を介して接続されたクライアント301,302との間でHTTP(Hyper Text Transfer Protocol)を用いてデータを送受信する機能を有する。FTPD102は、ネットワーク200を介して接続されたクライアント301,302との間でFTP(File Transfer Protocol)を用いてデータを送受信する機能を有する。Webページサービス103は、Webブラウザが実装されたクライアントにおいてネットワーク200文書管理サービス104を利用可能にするための機能部である。文書管理サービス104は、ネットワークを介して接続されたクライアント301,302からの要求に応じて画像やそれに関連する情報を要求元へ送信したり、画像の書換などの処理を行う。HDD105は、画像、文書データ、プログラム、フォントデータ、フォーム等を蓄積するための記憶装置(ストレージ)であり、書誌情報保存領域1051、ページ書誌情報保存領域1052及び画像保存領域1053が設けられている。MCS106は、書誌情報1051、ページ書誌情報1052及び文書管理データ保存領域1101に対して情報を読み書きする。また、MCS106は、IMH108を介して画像保存領域1053に保存された画像を読み書きするプロセスを行う。SCS107は、アプリケーション管理、操作部制御、システム画面表示、LED表示、ハードウェア資源管理、割り込みアプリケーション制御などのプロセスを行う。IMH108は、プロセスに対するメモリの割り振り及びプロセスに割り振ったメモリの管理を行う。MEU(Media Edit Utility)109は、IMH108の子プロセスであり、画像処理の制御を司るモジュールである。MEU109は、MH108からの要求に応じてMLB111に指示を送り、画像変換を実行させる。NVRAM110は情報を不揮発に記憶するメモリであり、文書管理データ保存領域1101が設けられている。
クライアント301,302は、ネットワーク200を介して融合機100との間で画像をやりとりする機能を有する。クライアント301にはWebブラウザが、クライアント302には専用アプリケーションが実装されている。Webブラウザはネットワーク200を介して融合機100から画像をダウンロードできる。一方、専用アプリケーションはネットワーク200を介し融合機100から画像をダウンロードすることに加え、ダウンロードした画像を融合機100に書き戻すことができる。
ここで、書誌情報保存領域1051、ページ書誌情報保存領域1052、文書管理データ保存領域1101及び画像保存領域1053について説明する。
まず、書誌情報保存領域1051に保存される情報について図2を用いて説明する。書誌情報とは、文書(少なくとも一つの画像からなるグループ)を特定しそれがどのようにして生成されたのかを示す情報である。図2では、FAXを送信した際に生成した文書の情報と印刷処理を行った際に生成した文書の情報とを書誌情報の例として示している。
このうち、FAXを送信した際に生成した文書に関する書誌情報について説明する。この書誌情報は、「fileID」、「Access」、「UserName」及び「FAX送信情報」をパラメータとして含む。「fileID」は、文書識別子であり、この書誌情報を特定して識別するためのIDである。この例においては「1111」となっている。「Access」は、どのようにして入手した文書であるかを示す情報であり、この例においては「Box/Fax 」となっている。「UserName」は、この文書を所有するユーザ名を示す。「FAX送信情報」は、FAXを送信した際の情報を示す。
次に、ページ書誌情報保存領域1052に保存される情報について図3を用いて説明する。ページ書誌情報は、文書を構成する各画像に関する情報である。図3では、例としてページ書誌情報を二つ示している。
このうち、「PageID」が「0001」であるページ書誌情報について説明する。このページ書誌情報は、「PageID」、「job 」及び「compressionMode 」をパラメータとして含む。「PageID」はページ識別子であり、このページ書誌情報を特定して識別するためのIDである。この例においては「0001」となっている。「job 」は、そのページがどのジョブによって生成されたかを示す。この例においては「FAX」となっている。「compressionMode 」は、画像のデータ形式である圧縮形式を示す、この例においては「MMR」となっている。
次に、文書管理データ保存領域1101に保存される情報について図4を用いて説明する。文書管理データは、書誌情報の「fileID」とページ書誌情報の「PageID」との組合せを示すデータである。すなわち、文書管理データは、書誌情報とページ書誌情報とを関連づけるものである。
図4において文書管理データは、「fileID」が「1111」で、「PageID」が「0001,0002,0003」という組合せを示すデータとなっている。
次に、画像保存領域1053に保存される情報について図5を用いて説明する。図5に示すように、画像保存領域1053には、ページ画像とそのページ画像の識別子であるページ識別子とが保存される。
次に、文書管理サービス104の構成について説明する。図6に、文書管理サービス104の構成を示す。文書管理サービス104は、メソッド処理モジュール1041、レンディション特定部1042、予測手段と登録手段に対応する画像取得モジュール1043、画像書き戻しモジュール1044、画像変換ライブラリ1045、画像処理手段に対応する画像変換制御モジュール1046及びセッション管理モジュール1047を有する。
また、文書管理サービス104は、URLテーブル201、変換リクエストキュー202、セッション管理テーブル203及び文書登録テーブル204を有する。なお、記憶領域205は、HDD105及びNVRAM110を合わせて示すものである。
メソッド処理モジュール1041は、HTTPやSOAPのメソッド処理を行うモジュールである。レンディション特定部1042は、後段において詳細に説明する「レンディション」を特定する処理を行うモジュールである。画像取得モジュール1043は、Webブラウザや専用アプリケーションが実装されたクライアント301,302からの要求に応じて画像を引き取らせるためのモジュールである。画像書き戻しモジュール1044は、クライアント302に実装された専用アプリケーションから画像を書き戻すためのモジュールである。
画像変換ライブラリ1045は、画像を変換するためのソフトウェアを備えたライブラリである。画像変換制御モジュール1046は、画像の変換を制御するためのモジュールであり、MCS106に対して画像の変換を要求するなどの処理を行う。セッション管理モジュール1047は、一つの文書を変換するなどの一つの処理においてセッションを管理するためのモジュールである。
ここで、「レンディション」について説明する。レンディションとは文書の表現形体を示すものであり、文書の代表画像、文書のいずれかのページの画像、文書を構成するページを束ねたマルチページフォーマット、文書のプロパティ(書誌情報)など、文書の一つの表現形体として考えられるもの全てがレンディションである。
文書管理サービス104は、上記レンディションを用いることで、指定された文書が表現可能なレンディションの一覧を利用者に提示するサービスを提供する。また、文書管理サービス104は、ユーザから指定された条件に基づいてレンディションを絞り込むサービスも提供する。
例えば、ある文書が「代表画像」、「PDF」及び「XML形式で記載された文書のプロパティ」の三種類での表現が可能であるとする。この場合、ユーザが「画像表現」という条件を指定すると、文書管理サービス104は、画像を表現できる「代表画像」及び「PDF」の二つをレンディション候補としてユーザに提示する。
文書管理サービス104は、指定された文書に対し一連のレンディション条件を提示することにより、ユーザが特定のレンディションを選択できるようにするサービスを提供する。また、ユーザからのレンディション条件の提示が無い場合に文書管理サービス104は、融合機100の管理者によって予め設定された値に基づいて特定のレンディションをレンディション候補としてユーザに提示する。なお、融合機100の管理者によって予め設定された値は、管理者設定値として管理者設定値記憶領域に記憶される。
融合機100の構成によっては、表現できるレンディションが制限される場合がある。特に、画像フォーマットで表現されるレンディションの場合、特定のレンディションを指定レンディションで表現できるか否かは、画像フォーマットを変換するMLB111の有無による。文書管理サービス104は、融合機100の構成に応じて、ユーザに提示するレンディション一覧や特定するレンディションを変化させる。
また、レンディション表現をユーザが利用する際には、表現形体の識別子であるレンディションIDを利用する。レンディションIDは、特定のレンディションが提示される時に一緒に発行される。
レンディションIDの一例を図7及び図8にそれぞれ示す。図7には、「DocNum=c101;tiff;raw;200dpi 」というレンディションIDを示している。このレンディションIDは、ユーザが、 "fileIDがc101である文書をtiff形式、圧縮無し、200dpi" という条件で要求する場合に用いられる。
図8には、「Rdid=j4r0gos」というレンディションIDを示している。このレンディションIDは、図9に示す対応表を文書管理サービス104が保持することによって図7に示したレンディションIDよりも簡潔なものとなっている。
図9に示す対応表は、レンディションIDに対応するファイルIDと表現可能なレンディションとを対応づける表である。この対応表により「J4r0gos 」というレンディションIDは、ファイルIDが「c101」である文書をtiff形式、圧縮無し、200dpiという条件で要求するレンディションと対応することとなる。
次に、レンディションに関連し、文書要素に対応するコンテントエレメントについて説明する。
コンテントエレメントとは、レンディションで表現された文書の一部又は全部を占める構成要素である。コンテントエレメントが文書のどの部分を指すかはレンディションに依存する。例えば、文書をJFIFフォーマットの画像で表現するレンディションの場合、JFIFフォーマットの仕様上一つの画像で複数ページを表現することはできない。よって、文書の一部である文書中の一ページのみを任意に指定できることとなる。
文書管理サービス104は、レンディションIDからユーザがその文書をそのレンディション表現で指定することができるコンテントエレメントの一覧をユーザに提供するサービスを備える。また、この際には、各コンテントエレメントを識別するためにユーザに対してコンテントエレメントIDを発行する。
コンテントエレメントIDの一例を図10及び図11にそれぞれ示す。図10には、「DucNum=c101;tiff;raw;200dpi;p12 」というコンテントエレメントIDを示している。このエレメントIDは、ユーザが、 "fileIDがc101の文書の12ページ目をtiff形式、圧縮なし、200dpi" という条件で要求する場合に用いられるコンテントエレメントIDである。
図11には、「Ceid=j4r0gos」というコンテントエレメントIDを示している。このコンテントエレメントIDは、図12に示す対応表を文書管理サービスy104が保持することにより、図10に示したコンテントエレメントIDよりも簡潔なものとなっている。
図12に示す対応表は、コンテントエレメントIDに対応するファイルIDと表現可能なコンテントエレメントIDとを対応づける表である。この対応表により「j4r0gos 」は、ファイルIDがc101の文書の12ページ目をtiff形式、圧縮なし、200dpiという条件で要求する場合のコンテントエレメントIDと対応することとなる。
文書管理サービス104は、以上に説明したレンディションとコンテントエレメントとを用いてサービスを実行する。
図6に示される各テーブル及びキューについて説明する。URLテーブル201は、コンテントエレメントIDとURLとを対応づけるテーブルである。
図13に示すURLテーブルは、コンテントエレメントIDとURLとの二項目からなるテーブルである。例えば、「id0001」というコンテントエレメントIDは、「http://xxx.aaa/bbb/img」というURLに対応している。
図14に示すURLテーブルは、コンテンツエレメントIDとURLの差分との二項目からなるテーブルである。URLの差分とは、他のURLとの異なる部分をいう。例えば、図13でのURLのように、「http://xxx/aaa/ 」までが三つのURLとも共通である場合、異なるのはこれ以降の文字列のみであるため、図14のURLテーブルは差分のみが記録されている。
図15に示すURLテーブルは、コンテントエレメントIDの内部を分割したものである文書IDと、レンディションと、ページと、URLの差分との四項目からなるテーブルである。例えば、文書IDが「003」である文書の1ページ目を、「JPEG1」というレンディションで表すURLは「zzz.img 」となる。
次に、変換リクエストキュー202について説明する。変換リクエストキュー202は、図16に示すように、「変換元ページID」、「変換先ページID」、「変換状態」、「変換内容」及び「リクエスト有効期限」を1セットのパラメータとした変換リクエストを有するキューである。
「変換元ページID」と「変換先ページID」とは、それぞれ、変換元のページIDと変換先のページIDとを表す。「変換状態」は、変換の状態を表す。変換の状態としては、「待機中」、「変換中」、「変換完了」及び「削除待ち」の四つの状態がある。これらのうち、「待機中」は、変換待ちの状態を表す。「変換中」は、現に変換中であることを表す。「変換完了」は、変換処理が完了したことを表す。「削除待ち」は、変換後の文書を削除していることを表す。
「変換内容」は、例えば、指定のフォーマット(Tiffなど)や指定の圧縮形式(JPEGなど)、指定解像度、指定倍率、指定色数などを表す。「リクエスト有効期限」は、この変換リクエストが有効である期限を示す。
次に、図17を用いて文書登録テーブル204について説明する。文書登録テーブル204には、専用アプリケーションからの文書登録のために、新規に空のコンテントエレメントが追加された文書IDが登録される。この登録は、空コンテントエレメントにデータが書き込まれることによって解除される。データが書き込まれる前にさらに別の空コンテンツエレメントを追加しようとした場合には、先に登録された空コンテンツエレメントの登録が解除されるか、一定時間が経過してシステムエラーとなるまで待機させられる。
次にセッション管理テーブル203について説明する。セッション管理テーブル203は、現に行われているセッションを管理するものであり、現に行われているセッションのセッションIDが登録される。このセッションIDは、セッション管理テーブル203に登録されていないセッションIDで受信した要求を許可しないためのIDである。
〈コンテントエレメントの取得〉
クライアント301に実装されたWebブラウザは又はクライアント302に実装された専用アプリケーションが融合機100から画像(コンテントエレメント)を引き取る処理について図18を用いて説明する。ここでは、クライアント302に実装された専用アプリケーションが融合機100から画像を引き取る場合を例に説明する。
クライアント302に実装された専用アプリケーションは、要求画像フォーマットと要求ページ番号とをネットワーク200を介して融合機100へ送信する。融合機100の文書管理サービス104は、HTTPD101を介してこれらの要求を受信する。
文書管理サービス104は、要求ページ番号からコンテントエレメントを特定する。そして、必要であれば記憶領域205に蓄積されている画像を要求された表現形体に変換して、特定された文書(コンテントエレメント)を作成する。文書管理サービス104は、HTTPD101を用い、作成した文書をネットワーク200を介してクライアント302へ送信する。これにより、クライアント302には、要求に応じた画像が複写機100から引き取られる(ダウンロードされる)。
上記動作の融合機100における処理を説明する。図18において符号150〜152で示す矢印は画像の流れを示している。矢印150は、ソフトウェアでレンディション変換(要求に応じた表現形体に画像を変換すること)を行う場合の画像の流れを示しており、文書管理サービス104は、レンディション変換用サブモジュール群113に画像を受け渡してソフトウェアによるを用いてレンディション変換を行わせ、変換後の画像をレンディション変換用サブモジュール群113から取得する。
矢印151は、変換する必要のない画像(クライアントが要求する表現形体と同じ表現形体で記憶領域に保存されている画像)や変換済みの画像を記憶領域205から取得する場合の画像の流れを示している。矢印152は、レンディション変換を行うのにMLB111を利用する必要のある画像の流れを示しており、IMH及びMEUはMLBにレンディション変換を行わせ、変換後の画像を記憶領域205に書き戻させる。
このように、クライアント301,302は、ネットワーク200を介し、融合機100が提供する指定文書で表現できるレンディションでのコンテントエレメントを引き取ることができる。
図19に、クライアントが画像を引き取る処理のシーケンスを示す。なお、以下の説明では、特段の断りがない場合には、クライアント302を要求元して説明を行う。
クライアント302は、文書管理サービス104に対してセッション開始要求を送信する(ステップS101)。セッション開始要求を受信した文書管理サービス104は、要求元であるクライアント302に対してセッションIDを送信する(ステップS102)。
次に、クライアント302は、文書一覧の要求をセッションIDとともに文書管理サービス104へ送信する(ステップS103)。この要求を受信した文書管理サービス104は、文書IDの一覧を要求元であるクライアント302へ送信する(ステップS104)。
クライアント302は、指定した文書をロックするためにセッションIDと文書IDとを文書管理サービス104へ送信する(ステップS105)。ここでの「ロック」とは、指定した文書に排他制御をかけることを指す。これらのIDを受信した文書管理サービス104は、受信した文書IDによって特定される文書をロックし、文書をロックしたことをクライアント302に通知する(ステップS106)。
文書がロックされたことを通知された後、クライアント302は文書管理サービス104に対してレンディション候補の取得要求を送信する(ステップS107)。文書管理サービス104は、この要求に応じてレンディション候補の一覧をクライアント302へ送信する(ステップS108)。
図20にレンディション候補の一例を示す。図に示すように、タグ<renditionCandidates >とタグ</renditionCandidates >とに挟まれた部分がそのレンディション候補となる。例えば、「pdf;mono;600dpi 」などがレンディション候補として列記されている。「pdf;mono;600dpi 」は、 pdf形式、モノクロ、600dpiという条件を表す。なお、このような具体的な条件を列記したものの他に、最も良い画質となる条件を自動的に選択する「highquality 」や、画像のデータ量が最も小さくなる条件を自動的に選択する「smallsize 」のようにレンディションを定義することも可能である。
クライアント302は、レンディション候補の中からユーザに選択されたレンディションの取得要求を文書管理サービス104へ送信する(ステップS109)。文書管理サービス104は、この取得要求に応じて、要求されたレンディションと、そのレンディションIDと、プロパティとをクライアント302へ送信する(ステップS110)。
ここで、図21を用いて上記処理におけるレンディション候補取得処理を詳細に説明する。
HTTPD101は、SOAP処理ハンドラ112にSOAPリクエストを送信する(ステップS201)。SOAP処理ハンドラ112は、メソッド処理モジュール1041にレンディション条件を送信する(ステップS202)。メソッド処理モジュール1041は、書誌情報要求をMCS106に送信する(ステップS203)。MCS106は、書誌情報保存領域1501から書誌情報を読み出し、書誌情報応答としてメソッド処理モジュール1041へ送信する(ステップS204)。
書誌応答を受信したメソッド処理モジュール1041は、書誌情報から取りうるレンディションの一覧を作成し、その一覧をレンディション候補とする。メソッド処理モジュール1041は、SOAP処理ハンドラ112にレンディション候補を送信する(ステップS205)。その後、SOAP処理ハンドラ112は、HTTPD101にSOAPレスポンスを送信する(ステップS206)。
図22を用いて、管理者設定値を用いるレンディションの取得処理の詳細について説明する。HTTPD101は、SOAP処理ハンドラ112にSOAPリクエストを送信する(ステップS301)。SOAP処理ハンドラ112は、メソッド処理モジュール1041にレンディション条件を送信する(ステップS302)。メソッド処理モジュール1041は、MCS106に書誌情報要求を送信する(ステップS303)。MCS106は、書誌情報を書誌情報保存領域1501から取得し、メソッド処理モジュール1041に書誌情報応答を送信する(ステップS304)。
メソッド処理モジュール1041は、SCS107に管理者設定値要求を送信する(ステップS305)。SCS107は、管理者設定値記憶領域1053から管理者設定値を取得し、メソッド処理モジュール1041に管理者設定値応答を送信する(ステップS306)。メソッド処理モジュール1041は、書誌情報と管理者設定値とから取りうるレンディションを特定する。そして、メソッド処理モジュール1041は、レンディションをSOAP処理ハンドラ112に送信する(ステップS307)。SOAP処理ハンドラ112は、HTTPD101にSOAPレスポンスを送信する(ステップS308)。
上記の処理によって、クライアント302にレンディションが送信される。
次に、クライアントがレンディションを取得した後の動作について図23を用いて説明する。この動作は、図19に示したシーケンスに引き続いて行われる動作である。なお、ここでは、説明の簡略化のためにクライアント302が引き取る文書は、一つの画像からなるものとして説明を行う。
クライアント301は、文書管理サービス104に対してコンテントエレメントの要求を送信する(ステップS401)。この要求を受信した文書管理サービス104は、コンテントエレメントIDの一覧を要求元であるクライアント302へ送信する(ステップS402)。
クライアント302は、コンテントエレメントの場所の取得要求を文書管理サービス104へ送信する(ステップS403)。この要求を受信した文書管理サービス104は、コンテントエレメントのアドレス及び取得に必要な内容を要求元であるクライアント302へ送信する(ステップS404)。
クライアント302は、取得したコンテントエレメントのアドレスに基づいてい画像取得要求を文書管理サービス104へ送信する(ステップS405)。文書管理サービス104は、画像変換要求をMCS106に送信する(ステップS406)。MCSは画像変換応答を文書管理サービス104に送信する(ステップS407)。そして、画像の変換が必要な場合、MCS106は画像を変換する。
MCS106は文書管理サービス104から画像取得要求を受信すると(ステップS408)、変換が完了した画像、又は変換が不要である場合にはその画像を文書管理サービス104に送信する(ステップS409)。
MCS106から画像を受信した文書管理サービス104は、受信した画像をクライアント302に送信する(ステップS410)。文書管理サービス104から画像を受信したクライアント302は、先に指定した文書のロックを解除するために、指定文書のアンロック要求を文書管理サービス104へ送信する(ステップS411)。アンロック要求を受信した文書管理サービス104は、要求に応じて指定文書のロックを解除し、ロックが解除されたことをクライアント302に通知する(ステップS412)。ロックの解除を通知されたクライアント302は、文書管理サービス104にセッションの終了を通知する(ステップS413)。
次に、図24を用いて、コンテントエレメントのURLの取得処理の詳細について説明する。
HTTPD101は、SOAP処理ハンドラ112にSOAPリクエストを送信する(ステップS501)。SOAPリクエストを受信したSOAP処理ハンドラ112は、メソッド処理モジュール1041に取得URLの要求を送信する(ステップS502)。メソッド処理モジュール1041は、MCS106にページ書誌情報要求を送信する(ステップS503)。MCS106は、ページ書誌情報保存領域1051からページ書誌情報を取得し、メソッド処理モジュール1041にページ書誌情報応答を送信する(ステップS504)。
ページ書誌情報応答を受け取ったメソッド処理モジュール1041は、ページ書誌情報に基づいてコンテントエレメントの取得にMLB111による変換が必要であるか否かを判断する。MLB111による変換が必要であると判断した場合、メソッド処理モジュール1041は、変換リクエストキュー202に変換リクエストを追加する(ステップS505)変換リクエストキュー202は、画像変換制御モジュールに画像の変換要求を送信する(ステップS506)。
画像の変換要求を受信した画像変換モジュールは、空文書・空ページ作成要求をMCS106に送信する(ステップS507)。MCS106は、IMH107にページ画像領域の確保要求を送信する(ステップS508)。IMH107は、この要求に応じてHDD105にページ画像領域を確保し、その旨をMCS106に通知する(ステップS509)。ページ画像領域が確保されたことをIMH107から通知されたMCS106は、画像変換モジュールに空文書・空ページ作成応答を送信する(ステップS510)。画像変換モジュール1041は、MCS106に画像変換要求を送信する(ステップS511)。画像変換要求を受信したMCS106は、IMH107に画像変換要求を送信する(ステップS512)。IMH107が画像変換要求を受信すると、IMH107及びMEUによって画像変換が実行される。
IMH107及びMEUは、画像変換が終了すると、その旨をMCS106に通知する(ステップS516)。画像変換が終了したことを通知されたMCS106は、画像変換制御モジュールに画像変換応答を送信する(ステップS517)。画像変換制御モジュールは、変換リクエストキューに並ぶ変換リクエストの状態を「変換完了」に更新する(ステップS518)。
メソッド処理モジュール1041は、以上の処理と並行して、変換後の画像のURLを決定する。そして、メソッド処理モジュール1041は、決定したURLとそれに対応するIDとをURLテーブル201に登録する(ステップS513)。その後、メソッド処理モジュール1041は、SOAP処理ハンドラ112に対して取得URLの応答を送信する(ステップS514)。取得URL応答を受信したSOAP処理ハンドラは、HTTPD101にSOAPレスポンスを送信する(ステップS515)。
次に、コンテントエレメント取得処理の詳細を図25及び図26を用いて説明する。なお、ここで説明する画像取得は、HTTPD101のみならずFTPD102を用いて行うことも可能である。なお、この処理は図24の処理に引き続いて行われる処理である。
HTTPD101は、画像取得モジュール1043にリクエストを送信する(ステップS601)。HTTPD101からのリクエストを受けた画像取得モジュール1043は、URLテーブル201を用いてリクエストされたURLからIDを逆引きする(ステップS602)。
画像取得モジュール1043は、ページ書誌情報要求をMCS106に送信する(ステップS603)。MCS106は、ページ書誌情報保存領域202からページ情報を取得し、画像取得モジュール1043へページ書誌情報を送信する(ステップS604)。画像取得モジュール1043は、ページ書誌情報からコンテントエレメントの取得にMLB111による変換が必要であるか否かを判断する。
画像取得モジュール1043や画像変換制御モジュール1041と並行して動作しているIMH107及びMEU109は、画像変換が終了すると、MCS106に画像変換が終了したことを通知する(ステップS605)。画像変換が終了されたことを通知されたMCS106は、画像変換制御モジュールに画像変換応答を送信する(ステップS606)。画像変換制御モジュールは、画像変換応答を受信すると、変換リクエストキュー202に並ぶ変換リクエストの状態を「完了」に更新する(ステップS607)。
画像取得モジュール1043は、変換リクエストの状態を参照して(ステップS608)、変換リクエストが「完了」となるまで待機する。変換リクエストが「完了」となったら、画像取得モジュール1043は、該当メンバから変換後のページIDを取得する。そして、画像取得モジュール1043は、変換した画像の取得要求をMCS106に送信する(ステップS609)。この要求を受けたMCS106は、IMH107に画像を要求し(ステップS610)、IMH107はHDD105に記憶されている変換後の画像を画像取得モジュール1043に受け渡させる(ステップS611)。
HTTPD101からのリクエストが、画像取得モジュール1043が取得した画像に対して画像取得モジュール1043内でさらに変換する必要のあるレンディションである場合には、画像取得モジュール1043は、取得した画像を変換してリクエストされた内容にあったレンディションに変換する。その後、画像取得モジュール1043は、変換リクエストキュー202に並ぶ変換リクエストの状態を「削除待ち」に更新するとともに(ステップS614)、画像をHTTPD101に送信する(ステップS615)。
画像変換制御モジュール1041は、変換リクエスト状態が「削除待ち」のキューを発見すると、MCS106に文書削除要求を送信する(ステップS612)。文書削除要求を受信したMCS106は、指定された文書を削除し、文書削除要求を画像変換制御モジュールへ送信し(ステップS613)、画像を削除させる。
クライアント302から要求に応じて変換する画像が一つである場合、融合機100は上記の処理によって、画像を変換する。
しかし、クライアント302からの取得を要求されたレンディションがJFIF形式のように複数の画像を含めることができないものであり、かつ、要求に応じて変換する必要のある画像が複数である場合、上記の処理を単に連続して行うと、図27に示されるように、従来と同様、矢印aが示す区間では画像送信待ち、矢印bが示す区間では画像変換待ちが発生し、それぞれの待ち時間が長期化するという問題が発生してしまう。
よって、クライアント302から要求されたレンディションが複数の画像を含めることができないものであり、かつ、複数の画像を変換する必要がある場合、融合機100は以下に説明する処理を実行する。
〔画像の送信がボトルネックとなる場合〕
クライアント302が融合機100から複数の画像で構成される文書を引き取る際の処理の一例について具体的な動作シーケンスを挙げて説明する。図28は、MCS106が画像を変換するのに要する時間が、文書管理サービス104がクライアント302へ画像を送信するのに要する時間よりも短い場合の動作である。
クライアント302は、文書管理サービス104に対して1回目のコンテントエレメント(図中、CEと略すこともある)の要求を送信する(ステップS701)。この要求を受けた文書管理サービス104は、コンテントエレメント応答をクライアント302に送信する(ステップS702)。文書管理サービス104からの応答を受けたクライアント302は、コンテントエレメントの場所(URL)を文書管理サービス104に要求する(ステップS703)。コンテントエレメントの場所を要求された文書管理サービス104は、変換リクエストを変換リクエストキューに登録する(ステップS704)。
画像変換制御モジュール1041は、変換リクエストキューを監視しており(ステップS705)、変換リクエストが登録されるとMCS106に画像変換要求を送信する(ステップS706)。この要求を受信したMCS106は、要求に応じた画像変換を開始する。画像変換が完了するとMCS106は画像変換モジュールに画像変換応答を送信する(ステップS707)。画像変換応答を受信した画像変換モジュールは、変換リクエストキューに登録されている変換リクエストの状態を「完了」に更新する(ステップS708)。変換リクエストの状態を完了に更新した後、画像変換モジュールは再び変換リクエストキューを監視する(ステップS709)。
そこで再び変換リクエストが登録されていると、画像変換制御モジュール1041は、MCS106に画像変換要求を送信する(ステップS710)。この要求を受信したMCS106は、要求に応じた画像変換を開始する。
変換リクエストを登録した後、文書管理サービス104は、クライアント302に対してコンテントエレメントの場所の応答を送信する(ステップS711)。この応答を受信したクライアント302は、コンテントエレメントの取得を文書管理サービスに通知する(ステップS712)。コンテントエレメントを引き取る際の文書管理サービスの動作については後段で詳細に説明するが、変換をリクエストした画像をMCS106から引き取っていなくとも、現在変換中の画像の次に変換することが予測される画像がある場合は、その画像の変換リクエストを変換リクエストキューに登録する(ステップS713)。
変換をリクエストした画像の状態が「完了」に更新されると、文書管理サービス104はMCS106に画像取得要求を送信する(ステップS714)。この要求を受信したMCS106は、変換後の画像を記憶領域205から読み出し、文書管理サービス104に受け渡す(ステップS715)。MCS106から変換後の画像を受け取った文書管理サービス104は、その画像をクライアント302に送信する(ステップS716)。
ステップS710で要求された画像変換が完了すると、MCS106は画像変換モジュール1041に画像変換応答を送信する(ステップS717)。そして、画像変換制御モジュール1041は、変換完了をリクエスト情報に反映する(ステップS718)。
文書管理サービス104が、1回目のコンテントエレメントの画像変換が完了する前に変換リクエストキューに変換要求を登録していた場合、画像変換モジュールは1回目のコンテントエレメントの状態を「完了」に更新した直後に次ページの画像変換を開始している。これにより、MCS106は、文書管理サービス104がクライアント302に画像を送信している間に画像変換を行うこととなり、変換待ち時間が低減される。
クライアント302は、1回目のコンテントエレメントを取得し終えると、2回目のコンテントエレメントの要求を文書管理サービス104へ送信する(ステップS719)。2回目のコンテントエレメントの要求を受けた文書管理サービス104は、これに対する応答をクライアント302に送信する(ステップS720)。クライアント301は、文書管理サービスからの応答を受けると、コンテントエレメントの場所の要求を文書管理サービス104へ送信する(ステップS721)。
文書管理サービス104は、1回目のコンテントエレメントの場合と同様に、変換リクエストをキューに登録しようとする(ステップS722)。ただし、今回登録しようとする変換リクエストが、1回目のコンテントエレメントの画像変換を確認した段階で登録した変換リクエストと同じであれば、変換リクエストを重複して登録はしない。
次に、文書管理サービス104は、クライアント302に対してコンテントエレメントの場所の応答を送信する(ステップS723)。この応答を受信したクライアント302は、コンテントエレメントの取得を文書管理サービスに通知する(ステップS724)。
文書管理サービス104は、変換完了を確認し(ステップS725)、次ページ変換リクエストを登録する(ステップS726)。
一方、画像変換制御モジュール1041は、キューを参照する(ステップS727)。また、ステップS725の確認により、文書管理サービス104はMCS106に画像取得要求を送信する(ステップS728)。この要求を受信したMCS106は、変換後の画像を記憶領域205から読み出し、文書管理サービス104に受け渡す(ステップS729)。MCS106から変換後の画像を受け取った文書管理サービス104は、その画像をクライアント302に送信する(ステップS730)。
画像変換制御モジュール1041は、ステップS727で、変換リクエストが登録されていることが参照されると、MCS106に画像変換要求を送信する(ステップS731)。
なお、ステップS712とS714との間の処理において次に引き取ると予測されるページが存在しないと判断した場合には、ここで説明したシーケンスは実質的には図23と同じとなる。すなわち、文書管理サービス104は、文書が複数ページであるか否かで処理を変えているわけではない。
〔動作例1〕
図28のステップS409とS410との間に行われる処理に対応する第1の動作例について、図29を用いて詳細に説明する。この処理は、文書管理サービス104の内部において画像取得モジュール1043が行う処理である。
画像取得モジュール1043は、取得要求を受信すると、要求されたURLに基づいてURLテーブルを逆引きし、コンテントエレメントIDを取得する(ステップS801)。さらに、画像取得モジュール1043は、URLテーブルから取得したコンテントエレメントIDに基づいて、対象蓄積文書のIDとページ番号とを取得する。画像取得モジュール1043は、対象文書の対象ページに関する情報の取得をMCS106に要求する(ステップS802)。MCS106は、ページ書誌情報保存領域1052から対象ページに関する書誌情報を取得する。MCS106は、この情報を画像取得モジュールへ送信する(ステップS803)。
画像取得モジュール1043は、コンテントエレメントIDから得られる対象文書のレンディションと、ページ書誌情報とに基づいて、対象ページを変換する必要があるか否かを判断する。画像変換をする必要が有るか否かは、レンディション、蓄積画像のフォーマットや圧縮形式、解像度、画像の変倍率などに基づいて判断される。
対象ページを変換する必要がある場合、画像取得モジュール1043は、対象ページを変換するための変換要求を変換リクエストキューに登録しようとするが、変換リクエストの登録に先立って、変換元の文書とページ及び変換内容が同一の変換リクエストが変換リクエストキューに登録されているか否かを調べる(ステップS804)。
登録しようとする内容と同じ変換リクエストが変換リクエストキューに登録されていなければ、画像取得モジュール1043は、対象ページを変換するための変換リクエストを変換リクエストキューに登録する。一方、登録しようとする内容と同じ変換リクエストが既に登録されている場合は、その変換リクエストの変換状態が完了となるまで待機する(ステップS805)。
対象ページの変換リクエストの状態が完了となると(ステップS806)、画像取得モジュール1043は、MCS106に対象ページを含む文書の書誌情報の取得を要求する(ステップS807)。この要求を受けたMCS106は、書誌情報保存領域1501から対象ページを含む文書に関する書誌情報を取得し、画像取得モジュール1043へ送信する(ステップS808)。
文書管理情報を受信した画像取得モジュール1043は、文書のページ数と対象ページのページ番号とに基づいて、対象ページの次に引き取ると予測されるページが有るか否かを判断する。例えば、5ページの文書のうちの3ページ目の取得要求に関する処理を行っている場合には、ページ番号をインクリメントして4ページ目が次に引き取られると予測する。なお、文書が1ページのみで構成されている場合や、最終ページの取得要求に関する処理を行っている場合には、次に引き取られるページは存在しないと予測する。
次に引き取られると予測されるページがある場合、画像取得モジュール1043は、次に取得の対象になると予測されるページ(次対象ページ)のページ書誌情報をMCS106に要求する(ステップS809)。MCS106は、次対象ページのページ書誌情報をページ書誌情報保存領域1052から読み出して取得し、画像取得モジュール1043へ送信する(ステップS810)。
次対象ページのページ書誌情報を取得した画像取得モジュール1043は、次対象ページに関しても上記同様に画像変換の必要性や、同一内容の変換リクエストが既に登録されているか否かを判断し(ステップS811)、上記同様の処理を行う。
なお、次対象ページが存在しない場合や、次対象ページを変換する必要が無い場合(変換できない場合を含む)には、変換リクエストをキューに登録するための処理は行わない(ステップS812)。
画像取得モジュール1043が以上に説明したような動作を行うことにより、変換された画像をMCS106から引き取る前に次対象ページの変換要求をキューとして登録できる。これにより、MCS106において画像を変換する処理と、文書管理サービス104がクライアント302へ変換後の画像を送信する処理とを並列に行えるようになる。よって、MCS106が画像を変換し終えるのを待機する時間やクライアント302への画像の送信が完了するのを待機する時間が削減される。
なお、図30に示すように、次対象ページを変換する必要が無い場合に、次対象ページの後に取得の対象となると予測されるページが存在するか否かを画像取得モジュール1043が判断し、存在する場合にはそのページの変換リクエストをキューとして登録するようにしても良い。
〔動作例2〕
図28のステップS409とS410との間に行われる処理の第2の例について説明する。図31に本動作例での処理シーケンスを示す。ステップS901〜S908の処理は、第1の動作例でのステップS801〜S808と同様である。
画像取得モジュール1043は、対象ページを含む文書の文書管理情報をMCS106から取得すると、次対象ページが存在するか否かを確認する。次対象ページが存在する場合には、次対象ページが対象ページと同一の条件で引き取られると推定し、次対象ページの変換リクエストの内容を対象ページと同条件(同じレンディション)と決定する。
画像取得モジュール1043は、変換リクエストキューを参照し、決定した内容と同じ変換リクエストが既に登録されているか否かを調べる(ステップS909)。決定した内容と同じ変換リクエストが変換リクエストキューに登録されていなければ、画像取得モジュール1043は、次対象ページの変換リクエストを変換リクエストキューに登録する(ステップS910)。
画像取得モジュール1043が上記の動作を行うことにより、変換された画像をMCS106から引き取る前に次対象ページの変換要求をキューとして登録できる。これにより、MCS106において画像を変換する処理と、文書管理サービス104がクライアント302へ変換後の画像を送信する処理とを並列に行えるようになる。よって、MCS106が画像を変換し終えるのを待機する時間やクライアント302への画像の送信が完了するのを待機する時間が削減される。
〔動作例3〕
図28のステップS409とS410との間に行われる処理の第3の例について説明する。図32に本動作例での処理シーケンスを示す。ステップS1001〜S1006の処理は、第1の動作例でのステップS801〜806の処理と同様である。
画像取得モジュール1043は、対象ページの変換リクエストの状態が変換完了になったことを確認すると、先行変換登録のために別スレッド2000を起こし、第1の動作例でのステップS807以降と同様の処理を別スレッドによって実行する。
別スレッド2000は、MCS106に対象ページを含む文書の書誌情報の取得を要求する(ステップS1007)。この要求を受けたMCS106は、書誌情報保存領域1501から対象ページを含む文書に関する書誌情報を取得し、別スレッド2000へ送信する(ステップS1008)。
文書管理情報を受信した別スレッド2000は、文書のページ数と対象ページのページ番号とに基づいて、対象ページの次に引き取ると予測されるページが有るか否かを判断する。
次に引き取られると予測されるページがある場合、別スレッド2000は、次に取得の対象になると予測されるページ(次対象ページ)のページ書誌情報をMCS106に要求する(ステップS1009)。MCS106は、次対象ページのページ書誌情報をページ書誌情報保存領域1052から読み出して取得し、別スレッド2000へ送信する(ステップS1010)。
次対象ページのページ書誌情報を取得した別スレッド2000は、次対象ページに関しても上記同様に画像変換の必要性や、同一内容の変換リクエストが既に登録されているか否かを判断し(ステップS1011)、上記同様の処理を行う。
なお、次対象ページが存在しない場合や、次対象ページを変換する必要が無い場合(変換できない場合を含む)、別スレッド2000は、変換リクエストをキューに登録するための処理は行わない(ステップS1012)。
これにより、変換後の対象ページの画像をクライアント302へ送信する処理と、次対象ページを変換する必要が有るか否かを判断し、必要で有れば変換リクエストをキューに登録する処理とを並行して行える。よって、画像取得モジュール1043は、第1の動作例よりも早いタイミングでMCS106に対して画像取得要求を送信できることとなり、クライアント302が画像を取得し終えるまでに要する時間を短縮できる。
〔画像変換がボトルネックとなる場合〕
次に、クライアント302が融合機100から複数の画像で構成される文書を引き取る際の処理について別の動作シーケンスを挙げて説明する。図33は、MCS106が画像を変換するのに要する時間が、文書管理サービス104がクライアント302へ画像を送信するのに要する時間よりも長い場合の動作である。
ステップS1116までの動作は、画像の送信がボトルネックとなる場合のステップS701〜S716と同様である。
クライアント302は、コンテントエレメントの要求を文書管理サービス104へ送信する(ステップS1117)。2回目のコンテントエレメントの要求を受けた文書管理サービス104は、これに対する応答をクライアント302に送信する(ステップS1118)。クライアント301は、文書管理サービスからの応答を受けると、コンテントエレメントの場所の要求を文書管理サービス104へ送信する(ステップS1119)。
文書管理サービス104は、1回目のコンテントエレメントの場合と同様に、変換リクエストをキューに登録しようとする(ステップS1120)。文書管理サービス104は、クライアント302から2回目のコンテントエレメントの場所の要求を受けた際に次対象ページの変換リクエストをキューに登録しようとするが、MCS106が既に次対象ページの変換を開始しており、キューに登録されている次対象ページに対する変換リクエストの状態は「変換中」となっているため、新たな変換リクエストはキューに登録しない。
次に、文書管理サービス104は、クライアント302に対してコンテントエレメントの場所の応答を送信する(ステップS1121)。この応答を受信したクライアント302は、コンテントエレメントの取得を文書管理サービスに通知する(ステップS1122)。
MCS106は次対象ページの画像変換を完了すると、画像変換モジュール1043に画像変換応答を送信する(ステップS1123)。画像変換応答を受けた画像変換制御モジュール1043は変換リクエストの状態を「完了」に更新する(ステップS1124)。文書管理サービス104は、変換リクエストの状態が完了となったことを確認すると(ステップS1125)、次々対象ページの変換リクエストを変換リクエストキューに登録する(ステップS1126)。
画像変換制御モジュール1043は、次々ページの変換リクエストがキューに登録されると(ステップS1127)、MCS106に画像変換要求を送信して、次々ページの画像変換を開始させる(ステップS1128)。
次々ページの変換リクエストをキューに登録したのち、文書管理サービス104は、MCS106に画像取得要求を送信する(ステップS1129)。MCS106は、この要求に応じて変換後の次ページの画像を文書管理サービス104に受け渡す(ステップS1130)。文書管理サービス104は、次ページの画像をクライアント302への送信を開始する(ステップS1131)。
このように、MCS106が画像を変換するのに要する時間がクライアント302へ変換後の画像を送信するのに要する時間よりも長い場合には、対象ページの変換が終了した後遅延無く次ページの画像の変換を開始できる。よって、画像の変換が完了するのを待機する時間が短縮され、クライアント302が画像を取得し終えるまでの時間を短縮できる。
このように、融合機100は、複数の画像によって構成される文書をクライアントからの要求に応じたレンディションに変換して要求元へ送信する場合に、レンディションを変換する処理及び変換した画像をクライアントへ送信する処理のどちらがボトルネックになるとしても一連の処理に要する時間を短縮できる。すなわち、複数の画像の表現形式を効率良く変換して要求元の装置へ送信できる。
〔複数の画像を含みうるレンディションの場合〕
図28及び図33に示したシーケンスは、クライアント302が指定したレンディションがJFIFフォーマットのように複数の画像を含み得ない場合であった。次に、クライアント302が複数の画像を含みうるレンディション(マルチページレンディション:pdfなど)を指定した場合のシーケンスについて図34を用いて説明する。
マルチページレンディションのコンテントエレメントをクライアントが引き取る場合には、レンディションだけでクライアントが取得を要求する一連の画像を特定できるため、クライアントは各画像をコンテントエレメントとして指定する必要がない。よって、文書管理サービス104は、クライアント302からの取得要求がマルチページレンディションであるか否かを判断し、マルチページレンディションである場合は、以下に説明するような処理を行う。
クライアント302は、文書管理サービス104に対してコンテントエレメントの要求を送信する(ステップS1201)。この要求を受けた文書管理サービス104は、コンテントエレメント応答をクライアント302へ送信する(ステップS1202)。文書管理サービスから応答を受けたクライアント302は、コンテントエレメントの場所(URL)を文書管理サービス104に要求する(ステップS1203)。コンテントエレメントの場所を要求された文書管理サービス104は、変換要求を変換リクエストキュー202に登録する(ステップS1204)。ここで登録される変換リクエストは、クライアント302がマルチページレンディションで引き取ろうとする文書を構成する各画像(画像1、画像2、画像3・・・)それぞれの変換(変換1、変換2、変換3・・・)を要求するものである。その後、文書管理サービス104は、クライアント302にコンテントエレメントの場所の応答を返す(ステップS1205)。クライアント302にコンテントエレメントの場所の応答を返した後、文書管理サービス104は、要求されたコンテントエレメントと発行する場所の対をURLテーブル201に登録する(ステップS1206)。
クライアント302は、文書管理サービス104からコンテントエレメントの場所の応答を受けると、文書管理サービス104にコンテントエレメントの取得要求を送信する(ステップS1207)。文書管理サービス104は、クライアント302からコンテントエレメントの取得要求を受けると、取得しにきたURLからコンテントエレメントIDを逆引きして取得する(ステップS1208)。その後、取得したコンテントエレメントIDに基づいて、クライアント302が引き取ろうとしている画像の変換の完了を確認できるまで変換リクエストキュー202を監視する。
一方、画像変換制モジュール1041は、変換リクエストキュー202を監視しており、文書管理サービス104が登録した変換リクエストを参照する(ステップS1209)。ここでは、画像変換制御モジュール1041は変換1のリクエストを参照し、これに基づいてMCS106に画像1の変換要求(画像変換1要求)を送信する(ステップS1210)。MCS106はこの要求に応じて画像蓄積領域に保存されている画像1を変換し、変換が完了すると画像1の変換応答(画像変換1応答)を画像変換制御モジュール1041に送信する(ステップS1211)。画像変換制御モジュール1041は、この応答を受信すると、変換リクエストキュー202に画像1の変換完了を登録する(ステップS1212)。
文書管理サービス104は、変換リクエストキュー202を参照して、画像1の変換が完了したことを確認すると(ステップS1213)、MCS106に画像取得要求を送信する(ステップS1214)。そして文書管理サービス104は、この要求に応じてMCS106から送信されてきた変換後の画像1を取得する。
画像変換制御モジュール1041は、画像1の変換完了を変換リクエストキュー202に登録した後、再び変換リクエストキュー202を参照し(ステップS1215)、登録されている画像2の変換リクエストに基づいて、画像2の変換要求(画像変換2要求)をMCS106に送信する(ステップS1216)。MCS106はこの要求に応じて画像蓄積領域に保存されている画像2を変換し、変換が完了すると画像2の変換応答(画像変換2応答)を画像変換制御モジュール1041に送信する(ステップS1217)。画像変換制御モジュール1041は、この応答を受信すると、変換リクエストキュー202に画像2の変換完了を登録する(ステップS1218)。
文書管理サービス104は、変換リクエストキュー202を参照して、画像2の変換が完了したことを確認すると(ステップS1219)、MCS106に画像取得要求を送信する(ステップS1220)。そして文書管理サービス104は、この要求に応じてMCS106から送信されてきた変換後の画像2を取得する。
この後、画像3以降についても上記同様の処理が行われ、文書管理サービス104は、MCS106によって画像変換が行われた画像を順次取得する。
文書管理サービス104は、取得した画像をマルチページフォーマットに変換しつつ、変換が完了して送信が可能となった部分についてはこれを分割し、クライアント302に送信していく。
このように、クライアント302からの取得要求がマルチページレンディションであるか否かを文書管理サービス104が判断し、マルチページレンディションである場合は、次に変換する画像を予測する処理を行わないようにすることで、融合機100を制御するコンピュータに不必要な処理を行わせる必要がなくなり、メモリ資源などを有効に活用することが可能となる。
次に、画像の表現形体を変換している間に、次の前記取得要求に応じて表現形体が変換される画像を予測し、次ページ以降の変換リクエストキューを積む処理を、図35から図38のシーケンス図を用いて説明する。
まず、図35から説明する。画像取得モジュール1043は、取得要求を受信すると、要求されたURLに基づいてURLテーブルを逆引きし、コンテントエレメントIDを取得する(ステップS1301)。さらに、画像取得モジュール1043は、URLテーブルから取得したコンテントエレメントIDに基づいて、対象蓄積文書のIDとページ番号とを取得する。画像取得モジュール1043は、対象文書の対象ページに関する情報の取得をMCS106に要求する(ステップS1302)。MCS106は、ページ書誌情報保存領域1052から対象ページに関する書誌情報を取得する。MCS106は、この情報を画像取得モジュールへ送信する(ステップS1303)。
画像取得モジュール1043は、コンテントエレメントIDから得られる対象文書のレンディションと、ページ書誌情報とに基づいて、対象ページを変換する必要があるか否かを判断する。画像変換をする必要が有るか否かは、レンディション、蓄積画像のフォーマットや圧縮形式、解像度、画像の変倍率などに基づいて判断される。
対象ページを変換する必要がある場合、画像取得モジュール1043は、対象ページを変換するための変換要求を変換リクエストキューに登録しようとするが、変換リクエストの登録に先立って、変換元の文書とページ及び変換内容が同一の変換リクエストが変換リクエストキューに登録されているか否かを調べる(ステップS1304)。
登録しようとする内容と同じ変換リクエストが変換リクエストキューに登録されていなければ、画像取得モジュール1043は、対象ページを変換するための変換リクエストを変換リクエストキューに登録する。一方、登録しようとする内容と同じ変換リクエストが既に登録されている場合は、その変換リクエストの変換状態が完了となるまで待機する(ステップS1305)。
その待機中、画像取得モジュール1043は、MCS106に対象ページを含む文書の書誌情報の取得を要求する(ステップS1306)。この要求を受けたMCS106は、書誌情報保存領域1501から対象ページを含む文書に関する書誌情報を取得し、画像取得モジュール1043へ送信する(ステップS1307)。
文書管理情報を受信した画像取得モジュール1043は、文書のページ数と対象ページのページ番号とに基づいて、対象ページの次に引き取ると予測されるページが有るか否かを判断する。
次に引き取られると予測されるページがある場合、画像取得モジュール1043は、次に取得の対象になると予測されるページ(次対象ページ)のページ書誌情報をMCS106に要求する(ステップS1308)。MCS106は、次対象ページのページ書誌情報をページ書誌情報保存領域1052から読み出して取得し、画像取得モジュール1043へ送信する(ステップS1309)。
次対象ページのページ書誌情報を取得した画像取得モジュール1043は、次対象ページに関しても上記同様に画像変換の必要性や、同一内容の変換リクエストが既に登録されているか否かを判断し(ステップS1310)、上記同様の処理を行う。
なお、次対象ページが存在しない場合や、次対象ページを変換する必要が無い場合(変換できない場合を含む)には、変換リクエストをキューに登録するための処理は行わない(ステップS1311)。
画像取得モジュール1043は、変換リクエストキューを参照し(ステップS1312、1313)、変換完了を確認する(ステップS1314)。
次に、次ページが変換不要である場合の処理を、図36のシーケンス図を用いて説明する。図36に示されるステップS1401〜1412までの処理は、図35のステップS1301〜1312と同様の処理である。従って、ステップS1412以降の説明をする。
画像取得モジュール1043は、変換の必要がなく、最初の変換が終わっていなければ、さらに次対象のページについて同様の操作を繰り返す(ステップS1413)。また、画像取得モジュール1043は、変換完了を確認する(ステップS1414)。
次に、対象文書情報の取得を一度で行う際の動作について、図37のシーケンス図を用いて説明する。図37に示されるステップS1501〜1505までの処理は、図36のステップS1401〜1405と同様の処理である。従って、ステップS1506以降の説明をする。
画像取得モジュール1043は、対象文書情報を取得し(ステップS1506)、対象文書のページ数から次の取得ページが存在することを確認する。そして、画像取得モジュールは、次ページの情報を参照することなく、現在取得するページと同条件と推定して変換リクエスト内容を決定する。
画像取得モジュール1043は、変換リクエストキューを参照し(ステップS1509、1510)、変換完了を確認する(ステップS1511)。
次に、別スレッドを起こす場合の動作について、図38を用いて説明する。図38に示されるステップS1601〜1606までの処理は、図32のステップS1001〜1006と同様の処理である。従って、ステップS1607以降の説明をする。
別スレッド2000は、MCS106に対象ページを含む文書の書誌情報の取得を要求する(ステップS1607)。この要求を受けたMCS106は、書誌情報保存領域1501から対象ページを含む文書に関する書誌情報を取得し、別スレッド2000へ送信する(ステップS1608)。
文書管理情報を受信した別スレッド2000は、文書のページ数と対象ページのページ番号とに基づいて、対象ページの次に引き取ると予測されるページが有るか否かを判断する。
次に引き取られると予測されるページがある場合、別スレッド2000は、次に取得の対象になると予測されるページ(次対象ページ)のページ書誌情報をMCS106に要求する(ステップS1609)。MCS106は、次対象ページのページ書誌情報をページ書誌情報保存領域1052から読み出して取得し、別スレッド2000へ送信する(ステップS1610)。
次対象ページのページ書誌情報を取得した別スレッド2000は、次対象ページに関しても上記同様に画像変換の必要性や、同一内容の変換リクエストが既に登録されているか否かを判断し(ステップS1611)、上記同様の処理を行う。
なお、次対象ページが存在しない場合や、次対象ページを変換する必要が無い場合(変換できない場合を含む)、別スレッド2000は、変換リクエストをキューに登録するための処理は行わない(ステップS1612)。
なお、上記実施形態は、本発明の好適な実施の一例であり、本発明はこれに限定されることはない。例えば、上記説明では、専用アプリケーションが実装されたクライアント302が要求元である場合を例に説明を行ったが、Webブラウザが実装されたクライアント301が要求元である場合にも同様の動作を行える。
また、上記実施形態においては、次対象ページは、対象ページのページ番号をインクリメントしたものであるとしたが、これに限定されるものではない。例えば、文書の特定のページの圧縮形式がページ書誌情報として指定されており、要求するレンディションへの変換が禁止されている場合には、ページ番号のインクリメントを繰り返し、要求されたレンディションへ変換可能である最初のページを次ページとして扱ってもよい。
このように、本発明は様々な変形が可能である。