(57)【要約】【課題】  キャッシュデータの使用効率を向上させるための技術を提供すること。【解決手段】  受信画像処理リクエストと同じ画像情報及び画像処理情報を含む画像処理リクエストが存在する場合、該画像処理リクエストに応じて画像処理サーバ１０４が処理した画像をクライアント端末装置１０１に送信する。受信画像処理リクエストと同じ画像情報を含み且つ該受信画像処理リクエスト中の画像処理情報が示す画像処理の一部を示す画像処理情報を含む画像処理リクエストが存在するとする。この場合、該画像処理リクエストに応じて画像処理サーバ１０４が処理した画像を示す画像情報、受信画像処理リクエストに含まれている画像処理情報、上記一部を示す情報、を含むリクエストを作成して画像処理サーバ１０４に送信する。【選択図】  図２
2012235361.tif 000002
【特許請求の範囲】
【請求項１】
画像を特定するための画像情報、該画像に対して画像処理サーバに行わせる画像処理を示す画像処理情報、を含む画像処理リクエストを外部装置から受信する受信手段と、
前記受信手段が過去に受信した画像処理リクエスト、該画像処理リクエストに応じて前記画像処理サーバが処理した画像、を管理する管理手段と、
前記管理手段が管理している画像処理リクエストの中に、前記受信手段が受信した受信画像処理リクエストと同じ画像情報及び画像処理情報を含む画像処理リクエストが存在する場合、該画像処理リクエストに応じて前記画像処理サーバが処理した画像を前記管理手段から取得し、前記外部装置に送信する第１の送信手段と、
前記管理手段が管理している画像処理リクエストの中に、前記受信画像処理リクエストと同じ画像情報を含み、且つ該受信画像処理リクエスト中の画像処理情報が示す画像処理の一部を示す画像処理情報を含む画像処理リクエストが存在する場合、該画像処理リクエストに応じて前記画像処理サーバが処理した画像を示す画像情報と、前記受信画像処理リクエストに含まれている画像処理情報と、前記一部を示す情報と、を含むリクエストを作成して前記画像処理サーバに送信する第２の送信手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記第２の送信手段は、前記管理手段が管理している画像処理リクエストの中に、前記受信画像処理リクエストと同じ画像情報を含む画像処理リクエストが存在しなかった場合、前記受信画像処理リクエストを前記画像処理サーバに送信することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像処理サーバは、前記第２の送信手段が送信したリクエストを受信すると、該リクエスト中の画像情報が示す画像に対して、該リクエスト中の画像処理情報が示す画像処理から前記一部を除いた画像処理を施した結果である画像処理済み画像を生成して前記画像処理装置に送信し、
前記画像処理装置は更に、前記画像処理サーバから送信された前記画像処理済み画像を前記外部装置に送信する手段を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記第２の送信手段は更に、前記一部の処理が施された画像を前記管理手段から取得し、該取得した画像を更に含むリクエストを作成して前記画像処理サーバに送信することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の受信手段が、画像を特定するための画像情報、該画像に対して画像処理サーバに行わせる画像処理を示す画像処理情報、を含む画像処理リクエストを外部装置から受信する受信工程と、
前記画像処理装置の管理手段が、過去に前記受信工程で受信した画像処理リクエスト、該画像処理リクエストに応じて前記画像処理サーバが処理した画像、を管理する管理工程と、
前記画像処理装置の第１の送信手段が、前記管理工程で管理している画像処理リクエストの中に、前記受信工程で受信した受信画像処理リクエストと同じ画像情報及び画像処理情報を含む画像処理リクエストが存在する場合、該画像処理リクエストに応じて前記画像処理サーバが処理した画像を前記管理手段から取得し、前記外部装置に送信する第１の送信工程と、
前記画像処理装置の第２の送信手段が、前記管理工程で管理している画像処理リクエストの中に、前記受信画像処理リクエストと同じ画像情報を含み、且つ該受信画像処理リクエスト中の画像処理情報が示す画像処理の一部を示す画像処理情報を含む画像処理リクエストが存在する場合、該画像処理リクエストに応じて前記画像処理サーバが処理した画像を示す画像情報と、前記受信画像処理リクエストに含まれている画像処理情報と、前記一部を示す情報と、を含むリクエストを作成して前記画像処理サーバに送信する第２の送信工程と
を備えることを特徴とする画像処理方法。
【請求項６】
コンピュータを請求項１乃至４の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部からのリクエスト処理結果をキャッシュする為の技術に関するものである。
【背景技術】
【０００２】
サーバ上で画像データを管理し、クライアントに対してリクエストに応じた画像データの配信を行うようなサービスの提供が行われている。一般的に、そのような画像データの配信を行うネットワークシステムにおけるサーバは、リクエストに応じた画像データ生成処理を行う画像処理サーバ、画像データを管理するデータベースサーバ、により構成される。また、キャッシュサーバを配置し、リクエストに対する処理結果である画像データをキャッシュしておくことが多い。キャッシュサーバを配置することで、リクエストを処理する本来のサーバへのアクセスおよび処理負荷を軽減することができるため、クライアントへの応答速度を向上させることができる。ネットワークシステム全体の処理性能を安定させるためには、できる限りキャッシュの使用効率を高めることが望ましい。
【０００３】
一方、毎回処理結果が異なるような画像データ生成処理を伴うリクエストに対しては、キャッシュサーバにおけるキャッシュは有効に機能しない。そのため、リクエスト受信時には、リクエストごとに毎回画像処理サーバで画像データ生成処理を行うことになる。このような場合に画像データ生成処理の効率を向上させるために、共通の処理を施した途中状態の画像データをデータベースサーバに保持しておく、といった手法もある（特許文献１）。画像処理サーバでは、画像データ生成処理時に途中状態の画像データを使用することにより、同一の処理を重複して行うことを防ぐことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３０４４４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、リクエストに合致する場合にのみ、キャッシュサーバに格納されているキャッシュデータを使用する従来の手法では、キャッシュに合致しないリクエストが集中した際に、画像処理サーバの負荷が増大する。共通の処理を施した途中状態の画像データをデータベースに格納しておく手法によって、処理負荷を軽減することはできるものの、データベースへのアクセス負荷を軽減することはできない。
【０００６】
本発明は、このような問題に鑑みてなされたものであり、キャッシュデータの使用効率を向上させるための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば、本発明の画像処理装置は、画像を特定するための画像情報、該画像に対して画像処理サーバに行わせる画像処理を示す画像処理情報、を含む画像処理リクエストを外部装置から受信する受信手段と、前記受信手段が過去に受信した画像処理リクエスト、該画像処理リクエストに応じて前記画像処理サーバが処理した画像、を管理する管理手段と、前記管理手段が管理している画像処理リクエストの中に、前記受信手段が受信した受信画像処理リクエストと同じ画像情報及び画像処理情報を含む画像処理リクエストが存在する場合、該画像処理リクエストに応じて前記画像処理サーバが処理した画像を前記管理手段から取得し、前記外部装置に送信する第１の送信手段と、前記管理手段が管理している画像処理リクエストの中に、前記受信画像処理リクエストと同じ画像情報を含み、且つ該受信画像処理リクエスト中の画像処理情報が示す画像処理の一部を示す画像処理情報を含む画像処理リクエストが存在する場合、該画像処理リクエストに応じて前記画像処理サーバが処理した画像を示す画像情報と、前記受信画像処理リクエストに含まれている画像処理情報と、前記一部を示す情報と、を含むリクエストを作成して前記画像処理サーバに送信する第２の送信手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明の構成によれば、キャッシュデータの使用効率を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係るシステムの構成例を示すブロック図。
【図２】キャッシュサーバ１０２、画像処理サーバ１０４の機能構成例を示すブロック図。
【図３】リクエストの構成例を示す図。
【図４】画像処理サーバ１０４が行う処理のフローチャート。
【図５】キャッシュ情報の構成例を示す図。
【図６】キャッシュサーバ１０２及び画像処理サーバ１０４が行う処理のフローチャート。
【図７】キャッシュポリシーの設定例を示す図。
【図８】ステップＳ６１１における処理のフローチャート。
【図９】リクエストの構成例を示す図。
【図１０】画像処理サーバ１０４が行う処理のフローチャート。
【図１１】キャッシュサーバ１０２、画像処理サーバ１０４の機能構成例を示すブロック図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の一つである。
【００１１】
［第１の実施形態］
先ず、本実施形態に係るシステムの構成例について、図１のブロック図を用いて説明する。図１に示す如く、ネットワーク１０３には、クライアント（クライアント端末装置）１０１ａ、１０２ｂ、キャッシュサーバ１０２ａ、１０２ｂが接続されている。図１ではクライアント端末装置、キャッシュサーバの台数はそれぞれ２台としているが、この台数に限るものではないし、ネットワーク１０３は無線、有線の何れであってもよいし、その組み合わせでもよい。
【００１２】
また、図１に示す如く、ネットワーク１０５には、キャッシュサーバ１０２ａ、１０２ｂ、画像処理サーバ１０４ａ、１０４ｂが接続されている。図１ではキャッシュサーバ、画像処理サーバの台数はそれぞれ２台としているが、この台数に限るものではないし、ネットワーク１０５は無線、有線の何れであってもよいし、その組み合わせでもよい。
【００１３】
また、図１に示す如く、ネットワーク１０７には、画像処理サーバ１０４ａ、１０４ｂ、データベースサーバ１０６が接続されている。図１では画像処理サーバ、データベースサーバの台数はそれぞれ２台、１台としているが、この台数に限るものではないし、ネットワーク１０７は無線、有線の何れであってもよいし、その組み合わせでもよい。
【００１４】
クライアント端末装置１０１ａ、１０１ｂは、画像に対して任意の画像処理を施した結果の取得要求を、画像処理リクエストとして発信可能であり、画像処理リクエストはネットワーク１０３を介してキャッシュサーバ１０２ａ、１０２ｂの何れかに送信される。クライアント端末装置１０１ａ、１０１ｂには、例えば、一般のＰＣ（パーソナルコンピュータ）や携帯電話、ＰＤＡ等が適用可能である。
【００１５】
クライアント端末装置１０１ａは係る構成において、画像を特定するための画像情報、該画像に対して画像処理サーバに行わせる画像処理を示す画像処理情報、を含む画像処理リクエストを、キャッシュサーバ１０２ａ、１０２ｂの何れかに送信する。
【００１６】
次にキャッシュサーバ１０２ａ、１０２ｂについて説明する。なお、本実施形態では、キャッシュサーバ１０２ｂはキャッシュサーバ１０２ａと同じ構成を有するものとするため、以下では、キャッシュサーバ１０２ａについて説明する。即ち、キャッシュサーバ１０２ａに対する説明は同様に、キャッシュサーバ１０２ｂに対する説明でもある。しかし、キャッシュサーバ１０２ａの構成とキャッシュサーバ１０２ｂの構成とを同一にすることは必須ではなく、それぞれの構成は、以下に説明する動作が可能であるならば、如何なる構成を適用してもよい。
【００１７】
制御部１０８は、キャッシュサーバ１０２ａを構成する各部の動作制御を行うと共に、キャッシュサーバ１０２ａが行うものとして後述する各処理を実行する主体となる。
【００１８】
記憶部１０９は、ＲＡＭやハードディスクドライブ装置などのメモリとして機能するものであり、制御部１０８が各種の処理を実行する際に用いるワークエリアや、後述する様々な情報を保存するためのエリア等を有する。即ち、記憶部１０９は、様々なエリアを適宜提供することができる。また、記憶部１０９には、キャッシュサーバ１０２ａが行うものとして後述する各処理を制御部１０８に実行させるためのコンピュータプログラムやデータが格納されている。
【００１９】
クライアント通信部１１０は、クライアント端末装置１０１ａやクライアント端末装置１０１ｂと通信するための通信インターフェースとして機能するものである。キャッシュサーバ１０２ａは、このクライアント通信部１１０を介してクライアント端末装置１０１ａ、１０２ｂとデータの送受信を行うことができる。
【００２０】
サーバ通信部１１１は、画像処理サーバ１０４ａや画像処理サーバ１０４ｂと通信するための通信インターフェースとして機能するものである。キャッシュサーバ１０２ａは、このサーバ通信部１１１を介して画像処理サーバ１０４ａ、１０４ｂとデータの送受信を行うことができる。
【００２１】
キャッシュサーバ１０２ａは係る構成において、クライアント端末装置１０１ａ、１０１ｂの何れかから送信された画像処理リクエストを受信し、この画像処理リクエストに応じた結果を、この画像処理リクエストの送信元に対して送信する。
【００２２】
次に、画像処理サーバ１０４ａ、１０４ｂについて説明する。なお、本実施形態では、画像処理サーバ１０４ｂは画像処理サーバ１０４ａと同じ構成を有するものとするため、以下では、画像処理サーバ１０４ａについて説明する。即ち、画像処理サーバ１０４ａに対する説明は同様に、画像処理サーバ１０４に対する説明でもある。しかし、画像処理サーバ１０４ａの構成と画像処理サーバ１０４ｂの構成とを同一にすることは必須ではなく、それぞれの構成は、以下に説明する動作が可能であるならば、如何なる構成を適用してもよい。
【００２３】
制御部１１２は、画像処理サーバ１０４ａを構成する各部の動作制御を行うと共に、画像処理サーバ１０４ａが行うものとして後述する各処理を実行する主体となる。
【００２４】
記憶部１１３は、ＲＡＭやハードディスクドライブ装置などのメモリとして機能するものであり、制御部１１２が各種の処理を実行する際に用いるワークエリアや、後述する様々な情報を保存するためのエリア等を有する。即ち、記憶部１１３は、様々なエリアを適宜提供することができる。また、記憶部１１３には、画像処理サーバ１０４ａが行うものとして後述する各処理を制御部１１２に実行させるためのコンピュータプログラムやデータが格納されている。
【００２５】
キャッシュ通信部１１４は、キャッシュサーバ１０２ａやキャッシュサーバ１０２ｂと通信するための通信インターフェースとして機能するものである。画像処理サーバ１０４ａは、このキャッシュ通信部１１４を介してキャッシュサーバ１０２ａ、１０２ｂとデータの送受信を行うことができる。
【００２６】
データベース通信部１１５は、データベースサーバ１０６と通信するための通信インターフェースとして機能するものである。画像処理サーバ１０４ａは、このデータベース通信部１１５を介してデータベースサーバ１０６とデータの送受信を行うことができる。
【００２７】
画像処理サーバ１０４ａは係る構成において、クライアント端末装置１０１ａから送信された画像処理リクエストに応じた画像処理が施された画像を生成する。なお、キャッシュサーバ１０２ａは、複数台の並列構成または階層構成を取ることも可能である。その際には、例えば、ＣＡＲＰ（Ｃａｃｈｅ  Ａｒｒａｙ  Ｒｏｕｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）のようなプロトコルを用いて分散化が行われる。また、画像処理サーバ１０４ａも処理の負荷状況に応じて複数台の並列構成を取ることにより、負荷の分散を行うことが可能である。
【００２８】
データベースサーバ１０６は、多数の画像を管理する装置であり、画像処理サーバ１０４ａ、１０４ｂからの要求に応じた画像を配信する。データベースサーバ１０６の構成は特に限るものではなく、１台の装置によって構成されてもよいし、複数台の装置によって構成されてもよい。
【００２９】
次に、キャッシュサーバ１０２ａ、１０２ｂ、画像処理サーバ１０４ａ、１０４ｂの機能構成例について、図２のブロック図を用いて説明する。上記の通り、クライアント端末装置１０１ａ、１０１ｂは共に同様の機能を有するため、図２ではクライアント端末装置１０１ａ、１０１ｂをクライアント端末装置１０１として示している。また、上記の通り、キャッシュサーバ１０２ａ、１０２ｂは同様の機能を有するため、図２ではキャッシュサーバ１０２ａ、１０２ｂをキャッシュサーバ１０２として示している。また、上記の通り、画像処理サーバ１０４ａ、１０４ｂは共に同様の機能を有するため、図２では画像処理サーバ１０４ａ、１０４ｂを画像処理サーバ１０４として示している。
【００３０】
リクエスト処理部２０１は、クライアント端末装置１０１から送信された画像処理リクエストを受信すると、リクエスト解析部２０２にこの画像処理リクエストを解析させる。リクエスト解析部２０２は、画像処理リクエストを解析し、この画像処理リクエストから、画像処理対象としての画像を特定するための画像情報、該画像処理を示す画像処理情報、を抽出する。画像処理リクエストの構成例を図３（ａ）に示す。
【００３１】
画像処理リクエスト３０１は、ＨＴＴＰのプロトコルに従った構文によって構成される。画像処理リクエスト３０１によって要求する画像を特定するための画像情報（ここでは画像データ識別子）は、パス部３０２として記述されている。また、この画像に対して画像処理サーバ１０４に行わせる画像処理を示す画像処理情報（画像加工内容）は、ＨＴＴＰのパラメータ部３０３として記述されている。パラメータ部３０３には、例えば、画像のフォーマット、サイズ、回転角度などが記述されている。図３（ａ）に示した画像処理リクエスト３０１は、パス部３０２が示すパスに位置する画像を、ＪＰＥＧフォーマットに変換し、サムネイルサイズに加工してから配信する要求を示している。
【００３２】
そしてリクエスト処理部２０１は、抽出した画像情報及び画像処理情報と同じ画像情報及び画像処理情報を含む画像処理リクエストがキャッシュ格納部２０３に格納されているか否かをキャッシュ格納部２０３に問い合わせる。
【００３３】
キャッシュ格納部２０３は、過去にクライアント端末装置１０１から受信した画像処理リクエスト、該画像処理リクエストに応じて画像処理サーバ１０４が処理した画像、を管理している。
【００３４】
キャッシュ格納部２０３が管理している情報（キャッシュ情報）の構成例を図５に示す。キャッシュ格納部２０３には、キャッシュ識別子（画像処理リクエスト）５０１毎に、該画像処理リクエストに応じて処理された画像に関する情報としてのキャッシュデータ５０２が格納されている。
【００３５】
例えば行５０３には、画像ＩＤが「ｉｄ１２３４５」の画像に対して画像処理サーバ１０４がＪＰＥＧフォーマットへの変換処理を行った画像は「ｆｉｌｅ１２３４５−０１」というファイル名でキャッシュ格納部２０３に格納されていることが登録されている。また、行５０３には、ファイル名が「ｆｉｌｅ１２３４５−０１」である画像の使用情報（この画像が読み出された回数、最後に読み出された日時など）が「ｔｉｍｅ１」であることが登録されている。
【００３６】
このように、キャッシュ格納部２０３には、処理対象画像を示す情報、この画像に対する画像処理を示す情報、画像処理が施された画像を特定するための情報、画像処理が施された画像に対する使用情報、が登録されている。
【００３７】
キャッシュ判定部２０４は、リクエスト解析部２０２からの問い合わせに応じ、リクエスト処理部２０１が受信した画像処理リクエストと同じ画像情報及び画像処理情報を含む画像処理リクエストがキャッシュ格納部２０３に格納されているかを判断する。この判断の結果、格納されていれば、この格納されている画像処理リクエストに応じて画像処理サーバ１０４が処理した画像をキャッシュ格納部２０３から取得してリクエスト処理部２０１に返す。これによりリクエスト処理部２０１は、この返された画像を、クライアント端末装置１０１からの画像処理リクエストに対する応答結果として、クライアント端末装置１０１に対して送信する。一方、この判断の結果、格納されていない場合はその旨を画像サーバアクセス部２０５に通知する。
【００３８】
画像サーバアクセス部２０５は、キャッシュ格納部２０３に対して次のような問い合わせを行う。即ちリクエスト処理部２０１が受信した画像処理リクエストと同じ画像情報を含み、且つ該画像処理リクエスト中の画像処理情報が示す画像処理の一部を示す画像処理情報を含む画像処理リクエストがキャッシュ格納部２０３に格納されているかを問い合わせる。キャッシュ判定部２０４はこの問い合わせに応じ、次のような判断処理を行う。即ちリクエスト処理部２０１が受信した画像処理リクエストと同じ画像情報を含み、且つ該画像処理リクエスト中の画像処理情報が示す画像処理の一部を示す画像処理情報を含む画像処理リクエストがキャッシュ格納部２０３に格納されているかを判断する。この判断の結果、格納されていなかった場合、画像サーバアクセス部２０５は、リクエスト処理部２０１がクライアント端末装置１０１から受けた画像処理リクエストをそのまま画像処理サーバ１０４に転送する。また、この判断の結果、格納されている場合、リクエスト変換部２０６は、次の項目を含むリクエストを作成する。
【００３９】
・  この格納されていた画像処理リクエストに応じて画像処理サーバ１０４が処理した画像を特定する為の情報。
【００４０】
・  リクエスト処理部２０１が受信した画像処理リクエスト中の画像情報及び画像処理情報。
【００４１】
・  上記一部を示す情報。
【００４２】
リクエスト処理部２０１が図３（ａ）に示す画像処理リクエスト３０１を受信し、パス部３０２が示すパスに格納されている画像がＪＰＥＧフォーマットを有している場合に、リクエスト変換部２０６が生成するリクエストの構成例を図３（ｂ）に示す。リクエスト４０１は、ＨＴＴＰのプロトコルに従った構文によって構成される。リクエスト４０１におけるパス部４０２，パラメータ部４０３は、画像処理リクエスト３０１におけるパス部３０２、パラメータ部３０３をそのまま用いている。ＨＴＴＰヘッダ部４０４には、パス部３０２が示すパスに格納されている画像に関する情報が記されている。ＨＴＴＰヘッダ部４０４には、パス部４０２が示すパスに格納されている画像の格納場所「ｈｔｔｐ：／／ｃａｃｈｅ−ｓｅｒｖｅｒ／…」、この画像のＩＤ「ｃａｃｈｅ１２３４５」、この画像のフォーマット「ＪＰＥＧフォーマット」が記されている。
【００４３】
そして画像サーバアクセス部２０５は、リクエスト変換部２０６が作成したリクエストを画像処理サーバ１０４に対して送信する。画像処理サーバ１０４はキャッシュサーバ１０２から送信されたリクエストに応じて画像を生成する。このリクエストが、画像サーバアクセス部２０５がリクエスト処理部２０１からの画像処理リクエストをそのまま出力したものである場合、画像処理サーバ１０４はこのリクエスト中のパス部で特定される画像をデータベースサーバ１０６から取得する。一方、このリクエストが、リクエスト変換部２０６によって生成されたリクエストである場合、画像処理サーバ１０４は、キャッシュサーバ１０２のキャッシュ格納部２０３に格納されている画像の取得要求をキャッシュサーバ１０２に対して送信する。キャッシュサーバ１０２におけるキャッシュリクエスト処理部２０７は、この画像の取得要求を受けると、要求された画像をキャッシュ格納部２０３から読み出して画像処理サーバ１０４に対して返信する。そして画像処理サーバ１０４は、この何れかの方法で得た画像を用いて、キャッシュサーバ１０２から受信したリクエストに応じた画像を生成し、生成した画像をキャッシュサーバ１０２に対して送信する。リクエスト処理部２０１は、画像処理サーバ１０４から送信されたこの画像を、クライアント端末装置１０１からの画像処理リクエストに対する応答結果として、クライアント端末装置１０１に対して送信する。
【００４４】
次に、画像処理サーバ１０４について説明する。リクエスト処理部２０８は、キャッシュサーバ１０２から送信されたリクエストを受信すると、このリクエストをリクエスト解析部２０９に解析させる。このリクエスト中にＨＴＴＰヘッダ部が存在すれば、このリクエストによる処理対象画像はキャッシュ格納部２０３に格納された画像であるので、その場合、リクエスト処理部２０８はその旨をキャッシュアクセス部２１０に通知する。キャッシュアクセス部２１０は、ＨＴＴＰヘッダ部で特定される画像をキャッシュサーバ１０２に要求する。そしてキャッシュアクセス部２１０は、この要求に応じてキャッシュサーバ１０２から送信される画像を受けると、この画像をリクエスト処理部２０８に送出する。一方、このリクエストにＨＴＴＰヘッダ部が存在しなければ、このリクエストによる処理対象画像はデータベースサーバ１０６に格納された画像であるので、その場合、リクエスト処理部２０１はその旨をデータベースアクセス部２１１に通知する。データベースアクセス部２１１はクエリ生成部２１２に、このリクエスト中のパス部で特定される画像を取得するためのクエリを作成させ、データベースサーバ１０６に送信させる。そしてデータベースアクセス部２１１は、このクエリの送信に応じてデータベースサーバ１０６から送信された画像を受信すると、この受信した画像をリクエスト処理部２０８に送出する。
【００４５】
リクエスト処理部２０８は、キャッシュアクセス部２１０もしくはデータベースアクセス部２１１から取得した画像を画像加工処理部２１３に送出する。画像加工処理部２１３は、加工処理部２１４に、リクエスト処理部２０８から受けた画像に対して、リクエスト処理部２０８がキャッシュサーバ１０２から受信したリクエストに応じた画像処理を施す。画像処理を施した画像は、キャッシュサーバ１０２に送信される。
【００４６】
次に、キャッシュサーバ１０２及び画像処理サーバ１０４のそれぞれの装置が行う処理について、同処理のフローチャートを示す図６を用いて説明する。なお、以下の説明において、キャッシュサーバ１０２が行うものとして説明する処理の主体は制御部１０８であり、画像処理サーバ１０４が行うものとして説明する処理の主体は制御部１１２である。
【００４７】
ステップＳ６０１でリクエスト解析部２０２は、クライアント端末装置１０１から送信された画像処理リクエスト（受信画像処理リクエスト）を解析する。そして、この画像処理リクエストから、画像処理対象としての画像を特定するための画像情報、該画像処理を示す画像処理情報、を抽出する。
【００４８】
ステップＳ６０２でリクエスト処理部２０１は、抽出した画像情報及び画像処理情報と同じ画像情報及び画像処理情報を含む画像処理リクエストがキャッシュ格納部２０３に格納されているか否かをキャッシュ格納部２０３に問い合わせる。キャッシュ判定部２０４は、リクエスト解析部２０２からの問い合わせに応じ、受信画像処理リクエストと同じ画像情報及び画像処理情報を含む画像処理リクエストがキャッシュ格納部２０３に格納されているかを判断する。この判断の結果、格納されていれば処理はステップＳ６０３に進み、格納されていなければ処理はステップＳ６０６に進む。
【００４９】
ステップＳ６０３ではキャッシュ判定部２０４は、この格納されている画像処理リクエストに応じて画像処理サーバ１０４が処理した画像をキャッシュ格納部２０３から取得してリクエスト処理部２０１に返す。
【００５０】
ステップＳ６０４ではキャッシュ判定部２０４は、ステップＳ６０３で読み出した画像の使用情報（この格納されている画像処理リクエストに対する使用情報）を更新する。例えば、使用情報が最新の読み出し日時を示す場合、この使用情報をステップＳ６０３で画像を取得した日時に更新する。また、使用情報が読み出し回数を示す場合、この使用情報を、ステップＳ６０３で画像を取得するまえの使用情報が示す読み出す回数に１を加えた回数を表すように更新する。
【００５１】
ステップＳ６０４からステップＳ６０５に進んだ場合、ステップＳ６０５でリクエスト処理部２０１は、キャッシュ判定部２０４から返された画像を受信画像処理リクエストに対する応答結果としてクライアント端末装置１０１に対して送信（第１の送信）する。
【００５２】
ステップＳ６０６では画像サーバアクセス部２０５は、キャッシュ格納部２０３に対して次のような問い合わせを行う。即ち、受信画像処理リクエストと同じ画像情報を含み且つ受信画像処理リクエスト中の画像処理情報が示す画像処理の一部を示す画像処理情報を含む画像処理リクエストがキャッシュ格納部２０３に格納されているかを問い合わせる。キャッシュ判定部２０４はこの問い合わせに応じて、このような画像処理リクエストがキャッシュ格納部２０３に格納されているかを判断する。この判断の結果、格納されていなかった場合、処理はステップＳ６１０に進み、格納されていた場合、処理はステップＳ６０７に進む。
【００５３】
ステップＳ６０６からステップＳ６１０に進んだ場合、ステップＳ６１０では、画像サーバアクセス部２０５は、受信画像処理リクエストをそのまま画像処理サーバ１０４に転送する。
【００５４】
一方、ステップＳ６０７では、リクエスト変換部２０６は、この格納されていた画像処理リクエストに応じて画像処理サーバ１０４が処理した画像を、キャッシュ格納部２０３から取得する。ステップＳ６０８ではキャッシュ判定部２０４は、ステップＳ６０７で読み出した画像の使用情報を、ステップＳ６０４と同様にして更新する。
【００５５】
ステップＳ６０９ではリクエスト変換部２０６は、ステップＳ６０７で取得した画像を特定する為の情報、受信画像処理リクエスト中の画像情報及び画像処理情報、上記一部を示す情報、を含むリクエストを作成する。なお、本ステップで、リクエストに受信画像処理リクエスト中の画像情報を含めることは必須ではない。
【００５６】
ステップＳ６０９からステップＳ６１０に進んだ場合、ステップＳ６１０では、画像サーバアクセス部２０５は、ステップＳ６０９で作成したリクエストを画像処理サーバ１０４に対して送信（第２の送信）する。
【００５７】
ステップＳ６１１では画像処理サーバ１０４は、キャッシュサーバ１０２から受信したリクエストに基づいて画像を生成し、キャッシュサーバ１０２に送信する。ステップＳ６１１における処理については、図８を用いて後述する。
【００５８】
ステップＳ６１２では画像サーバアクセス部２０５は、画像処理サーバ１０４から送信された画像を受信する。ステップＳ６１３で画像サーバアクセス部２０５は、ステップＳ６１２で受信した画像をキャッシュ格納部２０３に格納すると共に、この画像のキャッシュ識別子５０１、キャッシュデータ５０２を図５に示す如くキャッシュ格納部２０３に格納する。
【００５９】
ステップＳ６１３からステップＳ６０５に進んだ場合、ステップＳ６０５ではリクエスト処理部２０１は、ステップＳ６１２で受信した画像を、受信画像処理リクエストに対する応答結果としてクライアント端末装置１０１に送信する。
【００６０】
なお、ステップＳ６１３において格納処理（キャッシュ）を行うか否かは、キャッシュサーバ１０２が保持するキャッシュポリシーに従って決定してもよいし、画像処理サーバ１０４からの応答メッセージに付加された情報に従って決定してもよい。
【００６１】
キャッシュサーバ１０２が保持するキャッシュポリシーの設定例を図７に示す。キャッシュポリシー設定は、例えば、ＸＭＬファイル７０１として定義される。設定項目７０２には、デフォルトのキャッシュ設定が定義されている。設定項目７０３ａ、７０３ｂには、処理内容ごとにキャッシュ対象とするか否かが定義されている。例えば、設定項目７０３ａはフォーマットがＴＩＦＦの場合にはキャッシュを無効にする、設定項目７０３ｂはサイズが“ｌａｒｇｅ”の場合にはキャッシュを無効にする、という設定を表わしている。
【００６２】
また、ステップＳ６１３において格納処理を行う場合に、格納するデータのサイズ（キャッシュサイズ）が定められた容量を超える場合には、使用情報に基づいて破棄するキャッシュデータを判断する。上述のように、使用情報は、キャッシュ格納部２０３に格納されている画像が読み出される場合に更新される。そのため、例えば、キャッシュ置き換えアルゴリズムとしてＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）方式を使用する場合には、読み出すための２つの要求に対して最も使用頻度の低い方から破棄されていくことになる。キャッシュ置き換えアルゴリズムは任意の方式を選択可能である。また、使用情報以外の情報（例えば、データサイズ等）を組み合わせてキャッシュの優先度を決定してもよい。
【００６３】
次に、ステップＳ６１１における処理について、同処理のフローチャートを示す図８を用いて説明する。ステップＳ８０１ではリクエスト処理部２０８は、キャッシュサーバ１０２から送信されたリクエストを受信すると、このリクエストをリクエスト解析部２０９に解析させる。このリクエスト中にＨＴＴＰヘッダ部が存在すれば、処理はステップＳ８０２を介してステップＳ８０３に進み、存在しなければ、処理はステップＳ８０２を介してステップＳ８０４に進む。
【００６４】
ステップＳ８０３ではキャッシュアクセス部２１０は、ＨＴＴＰヘッダ部で特定される画像をキャッシュサーバ１０２に要求する。そしてキャッシュアクセス部２１０は、この要求に応じてキャッシュサーバ１０２から送信される画像を受けると、この画像をリクエスト処理部２０８に送出する。
【００６５】
一方、ステップＳ８０４では、データベースアクセス部２１１はクエリ生成部２１２に、ステップＳ８０１で受信したリクエスト中のパス部で特定される画像を取得するためのクエリを作成させ、データベースサーバ１０６に送信させる。そしてデータベースアクセス部２１１は、このクエリの送信に応じてデータベースサーバ１０６から送信された画像を受信すると、この受信した画像をリクエスト処理部２０８に送出する。
【００６６】
ステップＳ８０５ではリクエスト処理部２０８は、キャッシュアクセス部２１０もしくはデータベースアクセス部２１１から取得した画像を画像加工処理部２１３に送出する。画像加工処理部２１３は、加工処理部２１４に、リクエスト処理部２０８から受けた画像に対して、リクエスト処理部２０８がキャッシュサーバ１０２から受信したリクエスト（パラメータ部）に応じた画像処理を施す。
【００６７】
なお、リクエスト変換部２０６が作成したリクエストに応じて画像処理を行う場合、この画像処理は、対象画像がすでに受けている画像処理を除いたものとなる。例えば、図３（ｂ）に示したリクエスト４０１に応じて画像処理を行う場合を考える。このリクエスト４０１に応じた画像処理とは上記の通り、対象画像をＪＰＥＧフォーマットに変換し、サムネイルサイズに加工する処理である。しかし、対象画像はすでにＪＰＥＧフォーマットに変換されているので、加工処理部２１４は、この対象画像に対してはサムネイルサイズに加工する処理を行う。これにより画像加工の処理効率を向上させることができる。
【００６８】
このように、対象画像がどこまでの処理が施された画像で、この画像に対してどのような処理を行えば受信画像処理リクエストに応じた画像処理が達成できるのかを特定することができるリクエストであればよい。
【００６９】
ステップＳ８０６ではリクエスト処理部２０８は、ステップＳ８０５で画像処理が施された画像（画像処理済み画像）を、キャッシュサーバ１０２に対して送信する。もちろん、送信先はキャッシュサーバ１０２に限らず、直接クライアント端末装置１０１に対して送信してもよい。
【００７０】
［第２の実施形態］
第１の実施形態では、キャッシュサーバ１０２が画像処理サーバ１０４に対して送信するリクエストには、画像そのものではなく画像の格納場所が添付されていた。本実施形態では、キャッシュサーバ１０２が画像処理サーバ１０４に対して送信するリクエストには、画像そのものを添付する。本実施形態は、基本的には第１の実施形態を前提としているため、以下では、第１の実施形態との差分のみについて説明する。
【００７１】
リクエスト処理部２０１が図３（ａ）に示す画像処理リクエスト３０１を受信し、パス部３０２が示すパスに格納されている画像がＪＰＥＧフォーマットを有している場合に、本実施形態でリクエスト変換部２０６が生成するリクエストの構成例を図９に示す。
【００７２】
リクエスト９０１は、ＨＴＴＰのプロトコルに従った構文によって構成される。リクエスト９０１におけるＨＴＴＰパス部９０２には、このリクエスト９０１に添付する画像のデータ９０５（ＨＴＴＰボディー部）を示す値が記されている。パラメータ部９０３は、リクエスト処理部２０１が受信した画像処理リクエスト中のパラメータ部から、画像のデータ９０５がすでに受けている画像処理を除いたものとなっている。即ち、パラメータ部９０３には、画像のデータ９０５に対して行う画像処理を示す情報が記されている。ＨＴＴＰヘッダ部９０４には、画像のデータ９０５に関する情報が記されている。ＨＴＴＰヘッダ部９０４には、画像のデータ９０５のフォーマット「ＪＰＥＧフォーマット」等が記されている。
【００７３】
画像処理リクエスト３０１のパラメータ部３０３によれば、パス部３０２が示すパスに位置する画像（画像のデータ９０５）に対して、ＪＰＥＧフォーマットに変換し、サムネイルサイズに加工することが要求されている。しかし、リクエスト９０１のＨＴＴＰヘッダ部９０４に示す如く、この画像はすでにＪＰＥＧフォーマットへの変換処理が施されたものであるため、この画像に対して行うべき処理はサムネイルサイズに加工する処理だけである。然るにリクエスト９０１のパラメータ部９０３には、サムネイルサイズに加工する処理だけが指定されている。
【００７４】
本実施形態において画像処理サーバ１０４が行う処理について、同処理のフローチャートを示す図１０を用いて説明する。ステップＳ１００１ではリクエスト処理部２０８は、キャッシュサーバ１０２から送信されたリクエストを受信すると、このリクエストをリクエスト解析部２０９に解析させる。このリクエスト中にＨＴＴＰボディー部、即ち画像が添付されていれば、処理はステップＳ１００２を介してステップＳ１００３に進み、添付されていなければ、処理はステップＳ１００２を介してステップＳ１００４に進む。リクエストに画像が添付されているか否かは、リクエストのパス部に画像のデータを示す値が指定されているか否かで判断すればよい。
【００７５】
ステップＳ１００３ではリクエスト解析部２０９は、ステップＳ１００１で受信したリクエストから、ＨＴＴＰボディー部としての画像のデータを読み出す。一方、ステップＳ１００４では、データベースアクセス部２１１はクエリ生成部２１２に、ステップＳ１００１で受信したリクエスト中のパス部で特定される画像を取得するためのクエリを作成させ、データベースサーバ１０６に送信させる。そしてデータベースアクセス部２１１は、このクエリの送信に応じてデータベースサーバ１０６から送信された画像を受信すると、この受信した画像をリクエスト処理部２０８に送出する。
【００７６】
ステップＳ１００５ではリクエスト処理部２０８は、リクエスト解析部２０９もしくはデータベースアクセス部２１１から取得した画像を画像加工処理部２１３に送出する。画像加工処理部２１３は、加工処理部２１４に、リクエスト処理部２０８から受けた画像に対して、リクエスト処理部２０８がキャッシュサーバ１０２から受信したリクエスト（パラメータ部）に応じた画像処理を施す。
【００７７】
ステップＳ１００６ではリクエスト処理部２０８は、ステップＳ１００５で画像処理が施された画像を、キャッシュサーバ１０２に対して送信する。もちろん、送信先はキャッシュサーバ１０２に限らず、直接クライアント端末装置１０１に対して送信してもよい。
【００７８】
このように本実施形態では、キャッシュ格納部２０３に格納されている画像のデータをリクエストに添付するため、画像処理サーバ１０４は、この画像のデータを取得するためにキャッシュサーバ１０２にアクセスする必要はない。そのため、第１の実施形態に比べ、処理効率を向上させることができる。
【００７９】
［第３の実施形態］
第１，２の実施形態では、キャッシュサーバ１０２は、クライアント端末装置１０１と画像処理サーバ１０４との仲介役を担っていた。本実施形態では、画像処理サーバ１０４がクライアント端末装置１０１と直接通信を行い、キャッシュサーバ１０２には適宜アクセスする。
【００８０】
キャッシュサーバ１０２、画像処理サーバ１０４の機能構成例を図１１に示す。図１１において、図２と同じ構成要件については同じ参照番号をつけている。画像処理サーバ１０４が行う処理について、同処理のフローチャートを示す図４を用いて説明する。
【００８１】
ステップＳ１２０１でリクエスト解析部２０９は、クライアント端末装置１０１から送信された画像処理リクエスト（受信画像処理リクエスト）を解析する。そして、この画像処理リクエストから、画像処理対象としての画像を特定するための画像情報、該画像処理を示す画像処理情報、を抽出する。
【００８２】
ステップＳ１２０２でキャッシュアクセス部２１０は、受信画像処理リクエストと同じ画像情報及び画像処理情報を含む画像処理リクエストがキャッシュ格納部２０３に格納されているか否かをキャッシュ格納部２０３に問い合わせる。
【００８３】
ステップＳ１２０３では、キャッシュリクエスト処理部２０７がステップＳ１２０２による問い合わせを受ける。これに応じ、キャッシュ判定部２０４は、受信画像処理リクエストと同じ画像情報及び画像処理情報を含む画像処理リクエストがキャッシュ格納部２０３に格納されているかを判断する。この判断の結果、格納されていれば、キャッシュ判定部２０４は、この格納されている画像処理リクエストに応じて画像処理サーバ１０４が処理した画像をキャッシュ格納部２０３から取得する。格納されていない場合、キャッシュ判定部２０４は、受信画像処理リクエストと同じ画像情報を含み且つ受信画像処理リクエスト中の画像処理情報が示す画像処理の一部を示す画像処理情報を含む画像処理リクエストをキャッシュ格納部２０３から特定する。そしてキャッシュ判定部２０４は、この特定した画像処理リクエストに応じて画像処理が施された画像をキャッシュ格納部２０３から取得する。そしてキャッシュリクエスト処理部２０７は、キャッシュ判定部２０４が取得した画像を添付した応答メッセージを画像処理サーバ１０４に送信する。また、受信画像処理リクエストに含まれている画像情報を含む画像処理リクエストがキャッシュ格納部２０３に格納されていない場合、キャッシュリクエスト処理部２０７は、画像が添付されていない応答メッセージを画像処理サーバ１０４に送信する。
【００８４】
ステップＳ１２０４では、キャッシュアクセス部２１０が、キャッシュサーバ１０２からの応答メッセージを受信すると、リクエスト処理部２０８は、この応答メッセージに、受信画像処理リクエストが要求した画像が添付されているか否かを判断する。この判断の結果、添付されている場合は処理はステップＳ１２０５に進み、添付されていない場合は、処理はステップＳ１２０６に進む。
【００８５】
ステップＳ１２０４からステップＳ１２０５に処理が進んだ場合、ステップＳ１２０５ではリクエスト処理部２０８は、この添付されていた画像をクライアント端末装置１０１に対して送信する。
【００８６】
一方、ステップＳ１２０６では、リクエスト処理部２０８は、この応答メッセージに、上記一部の画像処理が施された画像が添付されているか否かを判断する。この判断の結果、添付されている場合は、処理はステップＳ１２０８に進み、添付されていない場合は、処理はステップＳ１２０７に進む。
【００８７】
ステップＳ１２０７では、データベースアクセス部２１１はクエリ生成部２１２に、受信画像処理リクエスト中のパス部で特定される画像を取得するためのクエリを作成させ、データベースサーバ１０６に送信させる。そしてデータベースアクセス部２１１は、このクエリの送信に応じてデータベースサーバ１０６から送信された画像を受信すると、この受信した画像をリクエスト処理部２０８に送出する。
【００８８】
ステップＳ１２０８では加工処理部２１４は、受信画像処理リクエストが要求した画像、若しくはデータベースサーバ１０６から受信した画像に対して、画像処理を行う。この画像処理については、第１の実施形態で説明したとおりである。
【００８９】
ステップＳ１２０９では、キャッシュ判定部２０４は、ステップＳ１２０８で生成した画像、この画像のキャッシュ識別子５０１、キャッシュデータ５０２を図５に示す如くキャッシュ格納部２０３に格納する。
【００９０】
ステップＳ１２０９からステップＳ１２０５に処理が進んだ場合、ステップＳ１２０５でリクエスト処理部２０１はステップＳ１２０８で画像処理が施された画像を受信画像処理リクエストに対する応答結果としてクライアント端末装置１０１に対して送信する。
【００９１】
第１，２の実施形態では、キャッシュサーバ１０２が画像処理リクエストを受信する受信元としての外部装置はクライアント端末装置１０１であり、第３の実施形態では画像処理サーバ１０４であった。しかし、システムの構成は様々な構成を考えうるため、外部装置はこれらに限るものではない。
【００９２】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012235361.tif 000003
【図２】
2012235361.tif 000004
【図３】
2012235361.tif 000005
【図４】
2012235361.tif 000006
【図５】
2012235361.tif 000007
【図６】
2012235361.tif 000008
【図７】
2012235361.tif 000009
【図８】
2012235361.tif 000010
【図９】
2012235361.tif 000011
【図１０】
2012235361.tif 000012
【図１１】
2012235361.tif 000013