(57)【要約】【課題】  本発明は、サーバ装置が画像を外部装置へ移動することによってサーバ装置自身の空き容量を増やしたときに、情報利用者からサーバ装置への画像要求に対して、画像を速やかにレスポンスし、情報利用者の待ち時間を削減することを目的とする。【解決手段】  サーバ装置は画像を外部装置へ移動すると、移動先を示す情報を外部装置から受信しておく。そして、クライアント装置から画像のダウンロード要求があったとき、サーバ装置の記憶装置に要求対象の画像があれば、その保存場所を含むリソースファイルを生成し、無ければ、移動先を示す情報を含むリソースファイルを生成してクライアント装置へ送信する。クライアント装置はサーバ装置に画像のダウンロード要求をしたときに、既にサーバ装置が当該画像を保持していなくても、速やかに外部装置から画像をダウンロードすることができる。【選択図】  図６
2011086063.tif 000002
【特許請求の範囲】
【請求項１】
画像をクライアント装置から受信して記憶装置に格納し、前記クライアント装置からのダウンロード要求に応答して前記画像を前記クライアント装置へダウンロードする画像提供サーバ装置であって、
前記記憶装置に格納された画像を読み出し、ファイル管理サーバ装置へネットワークを介して移動する移動手段と、
前記移動された画像を前記記憶装置から削除する削除手段と、
前記画像の移動先を示す情報を前記ファイル管理サーバ装置から受信する受信手段と、
前記クライアント装置から前記画像のダウンロード要求を受けたとき、前記記憶装置に前記画像が存在するか否か判定する判定手段と、
前記判定の結果、前記画像が前記記憶装置に存在する場合は前記記憶装置での保存場所を示すアドレスを含むリソースファイルを生成し、前記画像が前記記憶装置に存在しない場合は前記移動先を示すアドレスを含むリソースファイルを生成する生成手段と、
前記ダウンロード要求に応答して、前記生成されたリソースファイルを前記クライアント装置へ送信する送信手段とを備えたことを特徴とする画像提供サーバ装置。
【請求項２】
前記生成手段は前記アドレスに有効期限を設定することを特徴とする請求項１に記載の画像提供サーバ装置。
【請求項３】
前記ファイル管理サーバ装置は、前記画像をプライベート領域に格納し、前記送信手段が前記リソースファイルを前記クライアント装置へ送信したときに前記画像をパブリック領域にコピーし、前記クライアント装置は前記パブリック領域にコピーされた画像をダウンロードすることを特徴とする請求項１または２に記載の画像提供サーバ装置。
【請求項４】
前記パブリック領域にコピーされた画像は、コピーされてから一定期間が過ぎると削除されることを特徴とする請求項３に記載の画像提供サーバ装置。
【請求項５】
前記記憶装置に格納された画像に対する編集指示を前記クライアント装置から受け付ける受付手段と、
前記編集指示を前記画像と関連付けて管理する管理手段と、
前記クライアント装置からダウンロード要求された画像が前記編集指示と関連付けられているか否か判断する判断手段とをさらに備え、
前記生成手段は、前記判定の結果、前記ダウンロード要求された画像が前記記憶装置に存在せず、さらに前記判断の結果、前記ダウンロード要求された画像が前記編集指示と関連付けられていない場合、前記移動先を示すアドレスを含むリソースファイルを生成することを特徴とする請求項１乃至４のいずれか１項に記載の画像提供サーバ装置。
【請求項６】
前記判定の結果、前記ダウンロード要求された画像が前記記憶装置に存在せず、さらに前記判断の結果、前記ダウンロード要求された画像が前記編集指示と関連付けられていない場合、前記クライアント装置に対してリダイレクト指示を送出する指示手段と、
前記判定の結果、前記ダウンロード要求された画像が前記記憶装置に存在せず、さらに前記判断の結果、前記ダウンロード要求された画像が前記編集指示と関連付けられていない場合、前記ダウンロード要求された画像を前記ファイル管理サーバ装置から取得する取得手段と、
前記取得された画像を前記画像に関連付けられた前記編集指示にしたがって編集処理する編集手段と、
前記リダイレクトに応答して、前記編集された画像を前記クライアント装置へ送付する送付手段とを備えたことを特徴とする請求項５に記載の画像提供サーバ装置。
【請求項７】
画像をクライアント装置から受信して記憶装置に格納し、前記クライアント装置からのダウンロード要求に応答して前記画像を前記クライアント装置へダウンロードする画像提供サーバ装置の制御方法であって、
前記記憶装置に格納された画像を読み出し、ファイル管理サーバ装置へネットワークを介して移動するステップと、
前記移動された画像を前記記憶装置から削除するステップと、
前記画像の移動先を示す情報を前記ファイル管理サーバ装置から受信するステップと、
前記クライアント装置から前記画像のダウンロード要求を受けたとき、前記記憶装置に前記画像が存在するか否か判定するステップと、
前記判定の結果、前記画像が前記記憶装置に存在する場合は前記記憶装置での保存場所を示すアドレスを含むリソースファイルを生成し、前記画像が前記記憶装置に存在しない場合は前記移動先を示すアドレスを含むリソースファイルを生成するステップと、
前記ダウンロード要求に応答して、前記生成されたリソースファイルを前記クライアント装置へ送信するステップとを備えたことを特徴とする制御方法。
【請求項８】
画像をクライアント装置から受信して記憶装置に格納し、前記クライアント装置からのダウンロード要求に応答して前記画像を前記クライアント装置へダウンロードする画像提供サーバ装置を実現するコンピュータに、
前記記憶装置に格納された画像を読み出し、ファイル管理サーバ装置へネットワークを介して移動するステップと、
前記移動された画像を前記記憶装置から削除するステップと、
前記画像の移動先を示す情報を前記ファイル管理サーバ装置から受信するステップと、
前記クライアント装置から前記画像のダウンロード要求を受けたとき、前記記憶装置に前記画像が存在するか否か判定するステップと、
前記判定の結果、前記画像が前記記憶装置に存在する場合は前記記憶装置での保存場所を示すアドレスを含むリソースファイルを生成し、前記画像が前記記憶装置に存在しない場合は前記移動先を示すアドレスを含むリソースファイルを生成するステップと、
前記ダウンロード要求に応答して、前記生成されたリソースファイルを前記クライアント装置へ送信するステップとを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像をネットワーク上でサーバ装置からクライアント装置に提供するための技術に関する。
【背景技術】
【０００２】
情報所有者がデジタルカメラで撮影した画像を、インターネット上のサーバ装置にアップロードして保管することや、情報利用者が望む時に通信機器を用いてこのサーバ装置にアクセスし、保管された画像をダウンロードすることが行われている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２１７３７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、情報所有者が保有する画像の数量やファイルサイズが増大するに伴い、アップロード先のサーバ装置での保管可能容量を増やすことが求められている。これに対して、サービス事業者がサーバ装置に記憶装置を増設することにより保管可能容量を増やすことがあるが、管理や設備に多くのコストがかかるという問題があった。
【０００５】
そこで、本発明は、サーバ装置が画像を外部装置へ移動することによってサーバ装置自身の空き容量を増やしたときに、情報利用者からサーバ装置への画像要求に対して、画像を速やかにレスポンスし、情報利用者の待ち時間を削減することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本願発明は、画像をクライアント装置から受信して記憶装置に格納し、前記クライアント装置からのダウンロード要求に応答して前記画像を前記クライアント装置へダウンロードする画像提供サーバ装置であって、前記記憶装置に格納された画像を読み出し、ファイル管理サーバ装置へネットワークを介して移動する移動手段と、前記移動された画像を前記記憶装置から削除する削除手段と、前記画像の移動先を示す情報を前記ファイル管理サーバ装置から受信する受信手段と、前記クライアント装置から前記画像のダウンロード要求を受けたとき、前記記憶装置に前記画像が存在するか否か判定する判定手段と、前記判定の結果、前記画像が前記記憶装置に存在する場合は前記記憶装置での保存場所を示すアドレスを含むリソースファイルを生成し、前記画像が前記記憶装置に存在しない場合は前記移動先を示すアドレスを含むリソースファイルを生成する生成手段と、前記ダウンロード要求に応答して、前記生成されたリソースファイルを前記クライアント装置へ送信する送信手段とを備えたことを特徴とする。
【発明の効果】
【０００７】
以上、説明したように本発明によれば、画像をサーバ装置から外部装置へ移動することによってサーバ装置の空き容量を増やしたときに、情報利用者からの取得リクエストに対して速やかにレスポンスし、情報利用者の待ち時間を削減することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施例に係るシステム全体の構成を示す図である。
【図２】本発明の一実施例に係るコンピュータ装置の構成を示すブロック図である。
【図３】本発明の一実施例に係るウィンドウに表示される画面の遷移を示す図である。
【図４】本発明の一実施例に係る画像提供サーバ装置において実行される画像の移動の動作を示すフローチャート図である。
【図５】本発明の一実施例に係る画像提供サーバ装置およびクライアント装置において実行される画像のアップロードの動作を示すフローチャート図である。
【図６】本発明の一実施例に係る画像提供サーバ装置およびクライアント装置において実行される画像の編集の動作を示すフローチャート図である。
【図７】本発明の一実施例に係る画像提供サーバ装置において実行される原画像の表示の動作を示すフローチャート図である。
【図８】本発明の一実施例に係る各種データの構造を示すテーブル図である。
【発明を実施するための形態】
【０００９】
〔実施例１〕
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施例に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１０】
（画像処理システム全体）
本実施例のオンラインフォトシステム全体の構成を図１を参照して説明する。１０１はクライアント装置であり、デジタルカメラ１０２で撮影された画像を取り込み、保持している。１０４は画像提供サーバ装置であり、クライアント装置からアップロードされた画像を格納する。また、画像提供サーバ装置１０４はクライアント装置１０１からダウンロード要求があると、格納されている画像を読み出してクライアント装置１０１へダウンロードする。ここで、画像提供サーバ装置１０４は複数のクライアント装置１０１と通信可能であり、画像のアップロード元のクライアント装置と画像のダウンロード先のクライアント装置は異なっていてもよい。１０５は外部のファイル管理サーバ装置である。本実施例の画像提供サーバ装置１０４は格納されている画像をファイル管理サーバ装置１０５へ移動することによって、自身の記憶装置の空き容量を増やす。
【００１１】
（コンピュータ装置）
本実施例のサーバ装置やクライアント装置を構成するコンピュータ装置の構成を図２を参照して説明する。なお、サーバ装置やクライアント装置はそれぞれ単一のコンピュータ装置で実現してもよいし、必要に応じた複数のコンピュータ装置に各機能を分散して実現するようにしてもよい。複数のコンピュータ装置で構成される場合は、互いに通信可能なようにＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）などで接続されている。図２において、２０１はコンピュータ装置２００全体を制御する制御部であり、例えばＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）である。２０２は変更を必要としないプログラムやパラメータを格納するＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）である。２０３は外部装置などから供給されるプログラムやデータを一時記憶するＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）である。２０４はコンピュータ装置２００に固定して設置されたハードディスクやメモリカード、あるいはコンピュータ装置２００から着脱可能な光ディスク、磁気や光カード、ＩＣカードなどを含む外部記憶装置である。２０５はユーザの操作を受け、各種データを入力するポインティングデバイスやキーボード２０９などの入力デバイスとのインターフェイスである。２０６はコンピュータ装置２００の保持するデータや供給されたデータを表示するための表示装置２１０とのインターフェイスである。２０７はインターネット１０３などのネットワーク回線に接続するネットワークインタフェイスである。２０８は画像入力装置２１２とのインターフェイスである。２１１は２０１〜２０８の各デバイスを通信可能に接続するシステムバスである。
なお、サーバ装置の記憶装置２０４には、ＷｅｂアプリケーションプログラムやＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）、画像、各種設定が記憶されている。また、クライアント装置の記憶装置２０４には、ＷｅｂブラウザプログラムやＯＳ、画像が記憶されている。
【００１２】
（画面遷移）
本実施例のクライアント装置１０１はＷｅｂブラウザプログラムを起動し、画像提供サーバ装置１０４のホスト名等を含む所定のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を入力して画像提供サーバ装置１０４と通信する。そして、複数のリソースファイルを順に画像提供サーバ装置１０４から受信してＷｅｂブラウザプログラムのウィンドウに表示する。なお、リソースファイルを記述する際のマークアップ言語の種類は特に制限なく、ＨＴＭＬであってもよいし、他の言語で記述されたものであってもよい。また、ＵＲＬは文書や画像などの情報資源の場所を特定、あるいは識別するための記述方式のことであり、インターネット１０３におけるアドレスである。
【００１３】
まず、図３（ａ）のアルバム一覧画面３１０がウィンドウに表示される。アルバム一覧画面３１０には、各アルバム３１１の表紙画像と対応する第１サイズのサムネイル画像３１２が表示される。アルバム一覧画面３１０に表示された複数のアルバム３１１の中から何れか１つが選択されると、図３（ｂ）の画像一覧画面３２０がウィンドウに表示される。画像一覧画面３２０には、アルバム一覧画面３１０で選択されたアルバム３１１に属する画像と対応する第２サイズのサムネイル画像３２１が表示される。画像一覧画面３２０に表示された複数のサムネイル画像３２１の中から何れか１つが選択されると、図３（ｃ）の画像編集画面３３０がウィンドウに表示される。画像編集画面３３０には、アルバム一覧画面３１０で選択されたアルバム３１１に属する画像の第３サイズのサムネイル画像３３１と、画像一覧画面３２０で選択されたサムネイル画像３２１と対応する第４サイズのサムネイル画像３３２が表示される。また、画像編集画面３３０には、サムネイル画像３３２と対応する原画像の撮影情報やコメントなどの属性情報も表示される。画像編集画面３３０のサムネイル画像３３２が選択されると、図３（ｄ）の原画像表示画面３４０が別ウィンドウに表示される。原画像表示画面３４０には、サムネイル画像３３２の原画像３４１が表示される。
【００１４】
ここで、サムネイル画像３１２、３２１、３３１、３３２は画像提供サーバ装置１０４において原画像を縮小処理することにより生成されたものであり、各サムネイル画像のサイズは原画像のサイズに比べて非常に小さい。また、サムネイル画像３１２、３２１、３３１、３３２はアスペクト比は同じで縦横サイズが互いに異なる。そして、本実施例では、第４サイズが最も大きく、次いで第２サイズ、第３サイズ、第１サイズの順に小さくなる。
【００１５】
なお、画像編集画面３３０では選択状態のサムネイル画像３３２と対応する原画像に対して、回転処理や赤目補正処理などの編集処理が指示される。そして、編集処理が指示されている場合、画像編集画面３３０では編集結果が反映されたサムネイル画像３３３が表示され、原画像表示画面３４０でも図３（ｅ）に示すように、編集結果が反映された原画像３５１が表示される。
【００１６】
（原画像のアップロード）
本実施例のオンラインフォトシステムにおける原画像のアップロードの動作を図５のフローチャートを参照して説明する。なお、本動作はクライアント装置１０１のＣＰＵ２０１がＯＳやＷｅｂブラウザプログラムをクライアント装置１０１の記憶装置２０４から読み出して起動し、これらにしたがって各種デバイスを制御することにより実現される。また、本動作は画像提供サーバ装置１０４のＣＰＵ２０１がＯＳやＷｅｂアプリケーションプログラムを記憶装置２０４から読み出して起動し、これらにしたがって各種デバイスを制御することにより実現される。ただし、以下では説明を簡単にするため、単にクライアント装置１０１や画像提供サーバ装置１０４が実行すると記載する。
【００１７】
まず、クライアント装置１０１がインターネット１０３を経由して画像提供サーバ装置１０４にアクセスし、クライアント装置１０１の記憶装置２０４に保存されている原画像を画像提供サーバ装置１０４に送信する（Ｓ５３０）。画像提供サーバ装置１０４は原画像をクライアント装置１０１から受信する（Ｓ５０１）。複数の原画像を受信した場合は、原画像毎に以下の処理を実行するため、画像提供サーバ装置１０４はＳ５０１で受信した原画像の数を取得し、変数Ｎに代入する（Ｓ５０２）。また、画像提供サーバ装置１０４は原画像の解析を行い、一意に識別する画像ＩＤを新規に発番する（Ｓ５０３）。そして、画像提供サーバ装置１０４は、図８（ｂ）に示す画像情報テーブル８２０に画像ＩＤ８２１、画像名８２２、画像コメント８２３、画像サイズ８２４を格納する。また、図８（ａ）に示すアルバム情報テーブル８００から、原画像のアップロード先と指定されたアルバムを検索し、画像ＩＤを画像リスト８０３に追加する。また、画像提供サーバ装置１０４は記憶装置２０４に原画像を保存し、図８（ｃ）に示すファイル格納テーブル８４０に画像ＩＤ８４１、画像種別８４２、保存日時８４３、記憶装置２０４での原画像の保存場所を示す内部ファイルパス８４４を格納する（Ｓ５０４）。ここで、画像種別８４２には、画像の種類、画像のサイズ、画像の編集に関する情報（編集属性）が格納される。Ｓ５０４では“原画像”であり、“未編集”であることや、そのサイズを示す情報が画像種別８４２に格納される。
【００１８】
次に、画像提供サーバ装置１０４は原画像に対し、アスペクト比を変えずに縦方向と横方向のサイズを縮小処理して、サムネイル画像を生成する（Ｓ５０５）。ここで、画像提供サーバ装置１０４は、まず基準サムネイル画像を原画像を元に生成する。基準サムネイル画像は画像提供サーバ装置１０４が提供する各種サムネイル画像の元となる、長辺固定サイズのサムネイル画像である。基準サムネイル画像の生成・保存が完了したら、Ｓ５０４で保存したファイル格納テーブル８４０の原画像のレコードのサムネイル作成フラグ８４８を作成済みと設定する。
【００１９】
また、画像提供サーバ装置１０４は基準サムネイル画像を縮小処理してサービスの仕様や画面のデザインに応じて最適なサイズを持つ複数種類のサムネイル画像を生成する。そして、記憶装置２０４にサムネイル画像を保存し、ファイル格納テーブル８４０に画像ＩＤ８４１、画像種別８４２、保存日時８４３、記憶装置２０４でのサムネイル画像の保存場所を示す内部ファイルパス８４４を格納する（Ｓ５０６）。Ｓ５０６では、  “サムネイル画像”であり、“未編集”であることや、そのサイズを示す情報が格納される。
【００２０】
そして、画像提供サーバ装置１０４は、サムネイル画像を取得する際に使用されるＵＲＬ（サムネイルＵＲＬ）を生成し、画像情報テーブル８２０のサムネイルＵＲＬリスト８２５に格納する（Ｓ５０７）。サムネイルＵＲＬには、画像提供サーバ装置１０４のホスト名等の情報に、画像ＩＤと画像種別（サムネイル画像、そのサイズ、未編集）を示す情報がエンコードされたものが埋め込まれている。画像提供サーバ装置１０４は、１つの原画像について複数種類のサイズのサムネイル画像を生成する場合は、Ｓ５０５〜Ｓ５０７を繰り返して複数種類のサイズのサムネイルを記憶装置２０４に保存し、それぞれに対応するサムネイルＵＲＬを生成する。このとき、これらのサムネイルＵＲＬに含まれる画像提供サーバ装置１０４のホスト名や画像ＩＤは共通であるが、画像種別は各サムネイル画像に対応する情報がエンコードされて埋め込まれている。
【００２１】
画像提供サーバ装置１０４は必要な全ての種類のサムネイル画像の生成を完了したか判定し（Ｓ５０８）、完了していないと判定されればＳ５０５の処理に戻る。Ｓ５０８で完了していると判定されれば、変数Ｎを“１”減算し（Ｓ５０９）、変数Ｎが“０”かどうか判定する（Ｓ５１０）。すなわち、Ｓ５１０では受信した全ての原画像について処理を実行したかどうか判定する。Ｓ５１０で変数Ｎが“０”でないと判定されればＳ５０５の処理に戻る。変数Ｎが“０”であると判定されれば、画像提供サーバ装置１０４はアップロード先のアルバムの画像リスト８０３に含まれる画像ＩＤをキーに画像情報テーブル８２０のサムネイルＵＲＬリスト８２５を検索する。そして、画像種別８４２が画像一覧画面３２０に用いる所定のサイズのサムネイルＵＲＬを抽出し、画像一覧画面３２０のリソースファイルに記述してクライアント装置１０１へレスポンスする（Ｓ５１１）。
【００２２】
クライアント装置１０１はリソースファイルに基づき、画像一覧画面３２０をＷｅｂブラウザプログラムのウィンドウに表示する（Ｓ５３１）。ここで、クライアント装置１０１は画像一覧画面３２０のリソースファイルからサムネイルＵＲＬを読み取り、画像提供サーバ装置１０４にサムネイル画像の取得リクエストを送る。画像提供サーバ装置１０４はサムネイルＵＲＬから画像ＩＤと画像種別を抽出し、これらと一致する画像ＩＤ８４１および画像種別８４２に関連付けられた内部ファイルパス８４４をファイル格納テーブル８４０から検索する。そして、内部ファイルパス８４４に基づいて所定サイズのサムネイル画像を記憶装置２０４から読み出し、クライアント装置１０１へ送信する。なお、画像ＩＤ８４１は一致するが画像種別８４２は一致しないものしか検索できない場合には、当該画像ＩＤ８４１に関連付けられた画像のうち、Ｓ５０４で生成された基準サムネイル画像を内部ファイルパス８４４に基づいて読み出す。そして、読み出された画像に対して縮小処理を実行し、サムネイルＵＲＬの画像種別が示すサイズのサムネイル画像を生成してクライアント装置１０１へ送信する。このようにして、送信されたサムネイル画像は画像一覧画面３２０に表示される。
【００２３】
（原画像の移動）
次に、画像提供サーバ装置１０４が原画像をファイル管理サーバ装置１０５へ移動する動作を図４を参照して説明する。なお、以下の処理は画像提供サーバ装置１０４のＣＰＵ２０１が記憶装置２０４からＷｅｂアプリケーションプログラムやＯＳを読み出して起動し、これらにしたがって各種デバイスを制御することにより実現される。
【００２４】
ＣＰＵ２０１は画像提供サーバ装置１０４の記憶装置２０４に記憶されている原画像を移動するか否かを判定する（Ｓ４０１）。Ｓ４０１でＣＰＵ２０１は、記憶装置２０４の空き容量が所定サイズより小さくなったときや、原画像への最終アクセス日時８４６から所定時間が経過した時、原画像へのアクセス頻度８４７が所定頻度より小さくなったとき等に、原画像を移動すると判定する。Ｓ４０１で原画像を移動すると判定すると、ＣＰＵ２０１は原画像と対応する基準サムネイル画像が記憶装置２０４に記憶されているか否かをサムネイル作成フラグ８４８に基づいて判定する（Ｓ４０２）。Ｓ４０２で記憶されていないと判定されれば、ＣＰＵ２０１は原画像から基準サムネイル画像を生成し（Ｓ４０３）、キャッシュとして記憶装置２０４に格納し、サムネイル作成フラグ８４８を作成済みと設定する（Ｓ４０４）。そして、ＣＰＵ２０１は原画像を記憶装置２０４から読み出してファイル管理サーバ装置１０５にアップロードする（Ｓ４０５）。また、原画像の移動先となる、ファイル管理サーバ装置１０５での保存場所を示すＵＲＬ（移動先ＵＲＬ）をファイル管理サーバ装置１０５から取得する。次に、ＣＰＵ２０１は原画像の内部ファイルパス８４４を消去し、外部ファイルパス８４５に移動先ＵＲＬを格納し（Ｓ４０６）、原画像のアクセス先の設定を更新する。これにより、画像提供サーバ装置１０４はクライアント装置１０１から原画像のダウンロード要求を受けても、画像提供サーバ装置１０４の記憶装置２０４に原画像を読み出しに行くことはなくなる。その後、ＣＰＵ２０１は原画像を画像提供サーバ装置１０４の記憶装置２０４から削除する（Ｓ４０７）。このようにして、原画像がファイル管理サーバ装置１０５へ移動されることにより、画像提供サーバ装置１０４の記憶装置２０４の空き容量が増加する。なお、Ｓ４０７の削除処理は、Ｓ４０５のアップロード処理が正常に行われた後であれば、いつ行われてもよく、Ｓ４０５のアップロード処理の直後に行われてもよいし、所定期間経過後や所定日時に行われてもよい。
【００２５】
（画像の編集）
画像提供サーバ装置１０４はクライアント装置１０１からのリクエストに応答して、原画像に対して赤目補正や回転などの編集処理を実行し、編集結果をクライアント装置１０１へ提供する。
【００２６】
まず、クライアント装置１０１は、画像編集画面３３０をＷｅｂブラウザプログラムのウィンドウに表示し、ユーザの操作に応答して、サムネイル画像および編集処理の内容を指定する。画像提供サーバ装置１０４は、クライアント装置１０１から指定されたサムネイル画像の画像ＩＤを取得する。指定された画像ＩＤをキーに画像情報テーブル８２０を検索して、ユーザから指示された編集内容を赤目補正情報８２７や回転情報８２８などの編集属性情報に記録する。そして、画像提供サーバ装置１０４は画像ＩＤをキーにファイル格納テーブル８４０から画像種別８４２がサムネイル画像、所定サイズ、未編集の内部ファイルパス８４４を検索し、サムネイル画像を取得して編集属性情報に基づいて編集処理を実行する。編集結果のサムネイル画像を記憶装置２０４に保存し、ファイル格納テーブル８４０に各情報を格納する。ここで、画像種別８４２には、サムネイル画像であることとそのサイズに加えて、今回の編集に関する情報が格納される。また、サムネイルＵＲＬを生成して画像情報テーブル８２０のサムネイルＵＲＬリスト８２５に格納する。サムネイルＵＲＬには、画像提供サーバ装置１０４のホスト名等の情報に、画像ＩＤと画像種別（サムネイル画像、そのサイズ、編集内容）を示す情報がエンコードされたものが埋め込まれている。そして、画像提供サーバ装置１０４はこのサムネイルＵＲＬが埋め込まれた画像編集画面３３０のリソースファイルをクライアント装置１０１へ送信する。クライアント装置１０１はリソースファイルからサムネイルＵＲＬを抽出し、画像提供サーバ装置１０４へ編集結果のサムネイル画像をリクエストする。画像提供サーバ装置１０４はサムネイルＵＲＬの画像種別、画像サイズをキーにファイル格納テーブル８４０を検索して内部ファイルパスを取得し、編集結果のサムネイル画像を読み出し、クライアント装置１０１へダウンロードする。なお、本実施例では編集処理として赤目補正や回転を例に説明するが、肌色補正や画像の縦横比変更、ホワイトバランス補正などであってもよい。
【００２７】
（原画像のクライアント装置へのダウンロード）
本実施例のオンラインフォトシステムにおける原画像のダウンロードの動作を図６（ａ）のフローチャートを参照して説明する。なお、本動作はクライアント装置１０１のＣＰＵ２０１がＯＳやＷｅｂブラウザプログラムをクライアント装置１０１の記憶装置２０４から読み出して起動し、これらにしたがって各種デバイスを制御することにより実現される。また、本動作は画像提供サーバ装置１０４のＣＰＵ２０１がＯＳやＷｅｂアプリケーションプログラムを記憶装置２０４から読み出して起動し、これらにしたがって各種デバイスを制御することにより実現される。ただし、以下では説明を簡単にするため、単にクライアント装置１０１や画像提供サーバ装置１０４が実行すると記載する。
【００２８】
まず、クライアント装置１０１がインターネット１０３を経由して画像提供サーバ装置１０４にアクセスし、ユーザ情報を送信する（Ｓ６３１）。なお、画像提供サーバ装置１０４は前もってクライアント装置１０１のユーザに対してユーザＩＤを発行し、ユーザＩＤやパスワード等のユーザ情報を対応付けて記憶しているものとする。画像提供サーバ装置１０４はユーザ情報によってクライアント装置１０１をログイン認証する。ログイン認証の結果、ログインを許可すれば、ユーザ情報をキーにユーザに提供可能なアルバムをアルバム情報テーブル８００から検索し、アルバムＩＤ８０１、アルバム名８０２、表紙画像のサムネイルＵＲＬ８０５を取得する（Ｓ６０１）。画像提供サーバ装置１０４はアルバム一覧画面３１０に各アルバムの表紙画像を配置するように、リソースファイルにサムネイルＵＲＬ８０５を記述して、クライアント装置１０１にレスポンスする（Ｓ６０２）。クライアント装置１０１はリソースファイルに基づいてアルバム一覧画面３１０をＷｅｂブラウザプログラムのウィンドウに表示する（Ｓ６３２）。
【００２９】
クライアント装置１０１はユーザの操作に応答して、アルバム一覧画面３１０に表示されたアルバムの中から、所望のアルバムを選択し、選択したアルバムの画像一覧画面３２０を画像提供サーバ装置１０４に要求する（Ｓ６３３）。画像提供サーバ装置１０４は、選択されたアルバムのアルバムＩＤをキーにアルバム情報テーブル８００を検索し、画像リスト８０３を取得する。さらに、画像リスト８０３中の画像ＩＤをキーに画像情報テーブル８２０を検索してサムネイルＵＲＬリスト８２５、赤目補正情報８２７や回転情報８２８などを取得する（Ｓ６０３）。画像提供サーバ装置１０４はサムネイルＵＲＬリスト８２５から、画像一覧画面３２０に用いる所定のサイズで赤目補正情報８２７や回転情報８２８が反映されたサムネイル画像のサムネイルＵＲＬを抽出する。画像提供サーバ装置１０４は、抽出されたサムネイルＵＲＬをリソースファイルに記述して、クライアント装置１０１にレスポンスする（Ｓ６０４）。クライアント装置１０１は、リソースファイルに基づいて画像一覧画面３２０をＷｅｂブラウザプログラムのウィンドウに表示する（Ｓ６３４）。
【００３０】
クライアント装置１０１はユーザの操作に応答して、画像一覧画面３２０で表示された画像の中から、所望の画像を指定し、画像編集画面３３０を画像提供サーバ装置１０４に要求する（Ｓ６３５）。画像提供サーバ装置１０４は、指定された画像の画像ＩＤと画像種別“原画像”をキーにファイル格納テーブル８４０を検索し、内部ファイルパス８４４があるか否か判定する（Ｓ６０６）。Ｓ６０６で内部ファイルパス８４４があると判定されれば、原画像が記憶装置２０４に残っている。そこで、画像提供サーバ装置１０４は自身のホスト名、原画像の取得をリクエストするアクション名、画像ＩＤ、“原画像”を示す画像種別を含む内部ＵＲＬを生成する（Ｓ６１０）。クライアント装置１０１は内部ＵＲＬを用いて、画像提供サーバ装置１０４にアクセスして原画像をリクエストする。なお、内部ＵＲＬは必要に応じて暗号化されていてもよい。
【００３１】
一方、Ｓ６０６で記憶装置２０４に内部ファイルパス８４４がないと判定されれば、原画像はファイル管理サーバ装置１０５に移動している。そこで、画像提供サーバ装置１０４はＳ６０８の処理を実行する前に、ファイル管理サーバ装置１０５から原画像を取得するための準備をする（Ｓ６０７）。その後、Ｓ６０８以降の動作と並行して、画像提供サーバ装置１０４は後述する図６（ｂ）に示すファイル管理サーバ装置１０５から原画像を取得する動作を実行する。また、画像提供サーバ装置１０４は、画像ＩＤをキーに画像情報テーブル８２０の編集属性情報を検索し、原画像に対する編集の指示があるか否かを判断する（Ｓ６０８）。
【００３２】
Ｓ６０８で編集の指示がないと判断されれば、画像提供サーバ装置１０４は画像ＩＤをキーにファイル格納テーブル８４０から移動先ＵＲＬ８４５を検索し、この移動先ＵＲＬの有効期限を更新する（Ｓ６０９）。なお、この移動先ＵＲＬ８４５は図４のＳ４０６で保管したものである。一方、Ｓ６０８で編集の指示があると判断されれば、後述する図７に示す動作を行う。
【００３３】
そして、画像提供サーバ装置１０４は、Ｓ６１０で生成された内部ＵＲＬまたはＳ６０９で取得された移動先ＵＲＬのいずれか一方を記述した原画像表示画面３４０のリソースファイルをクライアント装置１０１へレスポンスする（Ｓ６１１）。クライアント装置１０１はリソースファイルから内部ＵＲＬまたは移動先ＵＲＬを読み取る。内部ＵＲＬを読み取った場合、クライアント装置１０１は画像提供サーバ装置１０４へアクセスし、画像提供サーバ装置１０４の記憶装置２０４に格納された原画像をダウンロードして原画像表示画面３４０を表示する（Ｓ６３６）。なお、内部ＵＲＬには有効期限が設定されており、画像提供サーバ装置１０４は有効期限外であれば原画像をクライアント装置１０１へダウンロードしない。一方、移動先ＵＲＬを読み取った場合、クライアント装置１０１はファイル管理サーバ装置１０５へアクセスし、ファイル管理サーバ装置１０５の記憶装置２０４に格納された原画像をダウンロードして原画像表示画面３４０を表示する（Ｓ６３６）。なお、移動先ＵＲＬにも有効期限が設定されており、ファイル管理サーバ装置１０５は有効期限外であれば、原画像をクライアント装置１０１へダウンロードしない。
【００３４】
以上のようにして、原画像を画像提供サーバ装置１０４からファイル管理サーバ装置１０５へ移動した後、クライアント装置１０１が画像提供サーバに原画像を要求すれば、クライアント装置はファイル管理サーバにアクセス先を切り替えて原画像をダウンロードする。よって、クライアント装置１０１が画像提供サーバ装置１０４にアクセスしたまま、画像提供サーバ装置１０４がファイル管理サーバ装置１０５から原画像を取得してクライアント装置１０１に送信する場合に比べてクライアント装置１０１の待ち時間が短くなる。したがって、画像提供サーバ装置１０４からクライアント装置１０１へのレスポンスの遅延が改善される。
【００３５】
（原画像の画像提供サーバ装置へのダウンロード）
本実施例では、原画像を画像提供サーバ装置１０４からファイル管理サーバ装置１０５へ移動した後、画像提供サーバ装置１０４がクライアント装置１０１から原画像のリクエストを受けると、移動先ＵＲＬをクライアント装置１０１に通知する。さらに、画像提供サーバ装置１０４は上述の通知処理と並行して、ファイル管理サーバ装置１０５にアクセスし、原画像を取得して、次回のクライアント装置１０１からの原画像のリクエストに備える。以下、画像提供サーバ装置１０４がファイル管理サーバ装置１０５から原画像を取得する動作を図６（ｂ）のフローチャートを参照して説明する。なお、本動作は画像提供サーバ装置１０４のＣＰＵ２０１がＯＳやＷｅｂアプリケーションプログラムを記憶装置２０４から読み出して起動し、これらにしたがって各種デバイスを制御することにより実現される。ただし、以下では説明を簡単にするため、単に画像提供サーバ装置１０４が実行すると記載する。また、本動作はＳ６０７での準備処理に続いて、開始される。
【００３６】
画像提供サーバ装置１０４は、Ｓ６３５でクライアント装置１０１により指定された画像の画像ＩＤと画像種別“原画像”をキーにファイル格納テーブル８４０の移動先ＵＲＬ８４５を検索する（Ｓ６２０）。画像提供サーバ装置１０４は移動先ＵＲＬ８４５を利用してファイル管理サーバ装置１０５と通信し、指定の原画像を要求する（Ｓ６２１）。なお、原画像の要求のインターフェイスについては、ファイル管理サーバ装置１０５が提供している取り決めに従う。そして、画像提供サーバ装置１０４はファイル管理サーバ装置１０５から原画像を受信する（Ｓ６２２）。なお、画像の受信のインターフェイスについては、ファイル管理サーバ装置１０５が提供している取り決めに従う。画像提供サーバ装置１０４は受信した原画像を画像提供サーバ装置１０４の記憶装置２０４に保存する。そして、画像提供サーバ装置１０４はファイル格納テーブル８４０で画像ＩＤと画像種別“原画像”に関連付けられた保存日時８４３、内部ファイルパス８４４を更新する（Ｓ６２３）。
【００３７】
なお、本実施例では画像編集画面３３０のリソースファイルを生成する間のタイミングで、画像提供サーバ装置１０４がファイル管理サーバ装置１０５から原画像の取得処理を実行する場合について説明した。しかしながら、これに限らず、原画像の印刷リクエストの受付画面のリソースファイルを生成する時、画像のダウンロード処理の前、画像の取得用インターフェースの作成の前等、後で原画像が必要になると予想される処理を実行するタイミングで実行してもよい。
【００３８】
（編集指示された原画像のクライアント装置へのダウンロード）
本実施例のオンラインフォトシステムにおける原画像の編集結果のダウンロードの動作を図７のフローチャートを参照して説明する。
【００３９】
画像提供サーバ装置１０４は、Ｓ６０８で原画像に対する編集の指示があると判定されれば、クライアント装置１０１に対して、画像提供サーバ装置１０４への原画像の再取得を要求するリダイレクト指示を送出する（Ｓ７０９）。本実施例では、画像提供サーバ装置１０４が原画像が必要になることを予想してＳ６０７で準備処理を実行し、バックグラウンドでファイル管理サーバ装置１０５からの原画像の取得処理を実行している。しかし、画像提供サーバ装置１０４がファイル管理サーバ装置１０５から原画像をダウンロードするまでに時間がかかり、未だ原画像が画像提供サーバ装置１０４の記憶装置２０４に存在しない場合がある。この場合に、画像提供サーバ装置１０４が原画像をダウンロードするまで、クライアント装置１０１に対して何もレスポンスしなければ、クライアント装置１０１との間の通信がタイムアウトしたり、リクエストが滞留して負荷が重くなる。そこで本実施例では、画像提供サーバ装置１０４はクライアント装置１０１に対してリダイレクトをレスポンスし、クライアント装置１０１に画像提供サーバ装置へのリクエストを繰り返させることで、これらの問題を回避する。そして、クライアント装置１０１はリダイレクト指示にしたがって、再度、原画像表示画面３４０を画像提供サーバ装置１０４に要求する（Ｓ７０１）。
【００４０】
次に、画像提供サーバ装置１０４は原画像が画像提供サーバ装置１０４の記憶装置２０４に格納されたかどうか判定し（Ｓ７１０）、格納されていないと判定されればＳ７０９に戻る。Ｓ７１０で格納されたと判定されれば、画像提供サーバ装置１０４は原画像を記憶装置２０４から読み出してコピーし、赤目補正情報８２７や回転情報８２８に基づいて原画像のコピーに対して編集処理を実行する（Ｓ７１１）。原画像の編集結果を記憶装置２０４に保存し（Ｓ７１２）、原画像の編集結果を記憶装置２０４から読み出し、クライアント装置１０１に送付する（Ｓ７１３）。そして、クライアント装置１０１は、送付された原画像の編集結果３５１を原画像表示画面３４０に表示する（Ｓ７０２）。
【００４１】
なお、クライアント装置１０１によってリダイレクトの繰り返し処理に上限回数が決められている場合が多いが、画像提供サーバ装置１０４がリダイレクト指示によって繰り返し処理の上限回数や継続時間も指定するよう実装することも考えられる。
【００４２】
また、Ｓ７１２ではファイル格納テーブル８４０に各種情報を格納する。ここでは、画像種別８４２に原画像であり、編集内容などの編集に関する情報、画像サイズを示す情報を格納する。
【００４３】
ここで、ファイル格納テーブル８４０にさらに編集処理のステータスを示す編集フラグも設け、編集処理が完了した時点で、編集フラグを編集済に更新するようにしてもよい。そして画像提供サーバ装置１０４はＳ６０８で原画像に対する編集指示があると判定した時に編集フラグを参照し、編集フラグが未編集の状態であれば原画像の編集処理をバックグラウンドで行い、クライアント装置１０１にリダイレクト指示を行っても良い。
【００４４】
（ファイル管理サーバのアクセス制御）
次に、ファイル管理サーバ装置１０５の原画像のアクセス制御について説明する。ファイル管理サーバ装置１０５は、インターネット１０３を経由してクライアント装置１０１からアクセスされるため、アクセス制御を設定し、原画像の安全性を確保してもよい。ファイル管理サーバ装置１０５のファイル管理領域に、画像提供サーバ装置１０４以外からのアクセスを禁止したプライベート領域とインターネット１０３を経由したクライアント装置１０１からのアクセスを許可したパブリック領域を設定する。そして、通常はプライベート領域で原画像を管理する。画像提供サーバ装置１０４がクライアント装置１０１へ移動先ＵＲＬをレスポンスした時、ファイル管理サーバ装置１０５に対して、プライベート領域で管理している原画像をパブリック領域へコピーするよう依頼する。これに応答して、ファイル管理サーバ装置１０５は原画像のコピーをパブリック領域に格納しておき、クライアント装置１０１から移動先ＵＲＬを用いたアクセスがあると、原画像のコピーをクライアント装置１０１へダウンロードする。なお、ファイル管理サーバ装置１０５は原画像をコピーしてからある一定期間を過ぎると、パブリック領域から原画像のコピーを削除する。これにより、画像提供サーバ装置１０４がクライアント装置１０１へ移動先ＵＲＬを発行した後、一定期間が経過すると、ファイル管理サーバ装置１０５は当該移動先ＵＲＬを用いたアクセスがあっても原画像のコピーをクライアント装置１０１へダウンロードしない。したがって、画像提供サーバ装置１０４が移動先ＵＲＬに有効期限を設定したり、ファイル管理サーバ装置１０５が移動先ＵＲＬの有効期限を判定しなくても、原画像のダウンロードの期間を制限することができる。
【００４５】
以上、本発明をその好適な実施例に基づいて詳述してきたが、本発明はこれら特定の実施例に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【００４６】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011086063.tif 000003
【図２】
2011086063.tif 000004
【図３】
2011086063.tif 000005
【図４】
2011086063.tif 000006
【図５】
2011086063.tif 000007
【図６】
2011086063.tif 000008
【図７】
2011086063.tif 000009
【図８】
2011086063.tif 000010