(57)【特許請求の範囲】
【請求項１】
情報管理装置からダウンロードする情報を保持する中継装置を介して前記情報管理装置と通信する情報処理装置であって、
前記情報管理装置にコンテンツ情報をアップロードした際に、前記コンテンツ情報が格納される場所を示す第１の格納場所情報及び前記コンテンツ情報の利用に係るコンテンツ利用情報が格納される場所を示す第２の格納場所情報を前記情報管理装置から取得する取得手段と、
前記取得手段で取得された前記第１の格納場所情報を用いて前記コンテンツ情報を、前記中継装置を介して前記情報管理装置からダウンロードし、前記取得手段で取得された前記第２の格納場所情報を用いて前記コンテンツ利用情報を、前記中継装置を介して前記情報管理装置からダウンロードするダウンロード手段と、を有し、
前記ダウンロード手段は、当該情報処理装置における処理の状況情報をもとに、前記情報管理装置からダウンロードする情報の数を決定することを特徴とする情報処理装置。
【請求項２】
前記コンテンツ利用情報の前記第２の格納場所情報は、前記情報管理装置により、前記アップロードの後に行われるユーザ操作が前記コンテンツ情報をもとに予測されて生成されることを特徴とする請求項１記載の情報処理装置。
【請求項３】
情報管理装置からダウンロードする情報を保持する中継装置を介して前記情報管理装置と通信する情報処理装置における情報処理方法であって、
取得手段が、前記情報管理装置にコンテンツ情報をアップロードした際に、前記コンテンツ情報が格納される場所を示す第１の格納場所情報及び前記コンテンツ情報の利用に係るコンテンツ利用情報が格納される場所を示す第２の格納場所情報を前記情報管理装置から取得する取得工程と、
ダウンロード手段が、前記取得工程で取得された前記第１の格納場所情報を用いて前記コンテンツ情報を、前記中継装置を介して前記情報管理装置からダウンロードし、前記取得手段で取得された前記第２の格納場所情報を用いて前記コンテンツ利用情報を、前記中継装置を介して前記情報管理装置からダウンロードするダウンロード工程と、を含み、
前記ダウンロード工程においては、当該情報処理装置における処理の状況情報をもとに、前記情報管理装置からダウンロードする情報の数を決定することを特徴とする情報処理方法。
【請求項４】
情報管理装置からダウンロードする情報を保持する中継装置を介して前記情報管理装置と通信するコンピュータに、
取得手段が、前記情報管理装置にコンテンツ情報をアップロードした際に、前記コンテンツ情報が格納される場所を示す第１の格納場所情報及び前記コンテンツ情報の利用に係るコンテンツ利用情報が格納される場所を示す第２の格納場所情報を前記情報管理装置から取得する取得工程と、
ダウンロード手段が、前記取得工程で取得された前記第１の格納場所情報を用いて前記コンテンツ情報を、前記中継装置を介して前記情報管理装置からダウンロードし、前記取得手段で取得された前記第２の格納場所情報を用いて前記コンテンツ利用情報を、前記中継装置を介して前記情報管理装置からダウンロードするダウンロード工程と、を実行させ、
前記ダウンロード工程においては、当該情報処理装置における処理の状況情報をもとに、前記情報管理装置からダウンロードする情報の数を決定することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、ＷＷＷサーバがコンテンツ（コンテンツ情報）をプロキシサーバにキャッシュしておき、プロキシサーバにキャッシュされているコンテンツをクライアント端末に配信することが行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−７３４０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の技術では、プロキシサーバが複数、存在する場合に、ＷＷＷサーバは、コンテンツをクライアント端末のロケーションに適した中継サーバ（プロキシサーバを含む。）にキャッシュさせることができない。
また、ＷＷＷサーバがコンテンツの更新を通知したときに、プロキシサーバがキャッシュの更新を行う。よって、クライアント端末がコンテンツをリクエストしたときには未だプロキシサーバがキャッシュの更新を行っておらず、コンテンツを直ちに提供できないという問題がある。
【０００５】
本発明はこのような問題点に鑑みなされたもので、コンテンツ情報をより迅速に取得可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明に係る情報処理装置は、情報管理装置からダウンロードする情報を保持する中継装置を介して前記情報管理装置と通信する情報処理装置であって、前記情報管理装置にコンテンツ情報をアップロードした際に、前記コンテンツ情報が格納される場所を示す第１の格納場所情報及び前記コンテンツ情報の利用に係るコンテンツ利用情報が格納される場所を示す第２の格納場所情報を前記情報管理装置から取得する取得手段と、前記取得手段で取得された前記第１の格納場所情報を用いて前記コンテンツ情報を、前記中継装置を介して前記情報管理装置からダウンロードし、前記取得手段で取得された前記第２の格納場所情報を用いて前記コンテンツ利用情報を、前記中継装置を介して前記情報管理装置からダウンロードするダウンロード手段と、を有し、前記ダウンロード手段は、当該情報処理装置における処理の状況情報をもとに、前記情報管理装置からダウンロードする情報の数を決定することを特徴とする。
【０００７】
また、本発明は、方法、プログラム、記憶媒体、システムなどとしてもよい。
【発明の効果】
【０００８】
本発明によれば、コンテンツ情報をより迅速に取得可能にすることができる。
【図面の簡単な説明】
【０００９】
【図１】システムの構成の一例を示す図である。
【図２】ハードウェアの構成の一例を示す図である。
【図３】アップロードの処理に係るフローチャートの一例を示す図である。
【図４】アップロードの処理に係るフローチャートの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。
【００１１】
＜第１の実施形態＞
図１は、本実施形態に係るシステムの構成の一例を示す図である。クライアント装置１０１Ａは、情報処理装置（コンピュータ）の一例である。クライアント装置１０１Ａは、ネットワーク１０４を構成する中継サーバ１０２Ｃ、中継サーバ１０２Ｂ、及び中継サーバ１０２Ａを経由して、コンテンツ管理サーバ１０３にコンテンツ（コンテンツ情報）をアップロード等する。
クライアント装置１０１Ｂは、情報処理装置（コンピュータ）の一例であり、ネットワーク１０４を構成する中継サーバ１０２Ａ、中継サーバ１０２Ｂ、及び中継サーバ１０２Ｄを経由して、コンテンツ管理サーバ１０３からコンテンツを参照等する。
コンテンツ管理サーバ１０３は、情報管理装置（コンピュータ）の一例であり、コンテンツのアップロード等を行うクライアント装置１０１Ａ、及びコンテンツの参照等を行うクライアント装置１０１Ｂとネットワーク１０４を介して接続されている。
【００１２】
クライアント装置１０１は、アプリケーション１２０を動作させることにより、ＨＴＴＰ等の標準プロトコルを用いてコンテンツ管理サーバ１０３にアクセスし、コンテンツのアップロード、参照等を行う。また、クライアント装置１０１は、アプリケーション１２０によりアップロードするコンテンツの選択を受け付ける画面、参照により取得したコンテンツを後述のＣＲＴ２０６に表示する。
コンテンツ管理サーバ１０３は、コンテンツ管理部１１０と、管理しているコンテンツ及びコンテンツに関連するデータを保持するデータベース（ＤＢ）１１１とを有している。
【００１３】
本実施形態では、基幹回線網に近い中継サーバ１０２Ａ及び中継サーバ１０２Ｂは、コンテンツ管理サーバ１０３がクライアント装置１０１Ａにコンテンツをダウンロードする際に経由され、その際に、コンテンツをキャッシュする。また、中継サーバ１０２Ｃ及び中継サーバ１０２Ｄは、汎用の中継サーバであり、プロバイダなどの末端回線網に近い中継サーバを示している。
なお、中継サーバ１０２Ａ〜中継サーバ１０２Ｄは、中継装置（コンピュータ）の一例であり、複数の中継サーバ同士あるいは複数のクライアント装置と連携してネットワーク１０４を形成している。
例えば、コンテンツをアップロードしたいユーザは、クライアント装置１０１Ａでアプリケーション１２０Ａを起動し、アプリケーション１２０Ａの指示に従ってアップロードの対象として選択されたコンテンツをコンテンツ管理サーバ１０３に送信する。この送信により、ネットワーク１０４を構成する中継サーバ１０２Ｃ、中継サーバ１０２Ｂ、及び中継サーバ１０２Ａを経由してコンテンツ管理サーバ１０３にコンテンツが送信される。
コンテンツ管理サーバ１０３は、受信したコンテンツをコンテンツ管理部１１０によってＤＢ１１１を用いて管理する。
【００１４】
次に、コンテンツ管理サーバ１０３は、例えば、管理したコンテンツ等を参照するためのＵＲＬ（参照ＵＲＬ）をクライアント装置１０１Ａに送信（返信）する。
クライアント装置１０１Ａは、アプリケーション１２０Ａの指示に従い、次のコンテンツをコンテンツ管理サーバ１０３に送信することと並行して、送信された参照ＵＲＬで指定されたコンテンツ等の参照の要求をコンテンツ管理サーバ１０３に対して行う。
例えば、当該コンテンツの参照では、中継サーバ１０２Ｃ、中継サーバ１０２Ｂ、及び中継サーバ１０２Ａを経由してコンテンツ管理サーバ１０３からクライアント装置１０１Ａにコンテンツが受信（ダウンロード）される。また、当該コンテンツの参照により、当該コンテンツは、中継サーバ１０２Ａ及び中継サーバ１０２Ｂにキャッシュされる。
即ち、中継サーバＡ及び中継サーバＢにおいてアップロードされたコンテンツが直ちにキャッシュされる。よって、クライアント装置１０１Ａは、アップロード直後であっても、コンテンツ管理サーバ１０３より近い中継サーバＡ及び中継サーバＢから当該コンテンツを取得できることから、より短時間に当該コンテンツを取得することができるようになる。
【００１５】
次に、あるユーザが、コンテンツをアップロードしたクライアント装置１０１Ａとは異なるクライアント装置１０１Ｂでアプリケーション１２０Ｂを起動した場合を例に挙げて説明する。クライアント装置１０１Ｂは、アプリケーション１２０Ｂの指示に従って、例えば、当該コンテンツの参照の要求をコンテンツ管理サーバ１０３に送信する。
当該コンテンツの参照は、ネットワーク１０４を構成する中継サーバ１０２Ｄ、中継サーバ１０２Ｂ、及び中継サーバ１０２Ａと連携してコンテンツ管理サーバ１０３に通知される。しかしながら、中継サーバ１０２Ｂは、先にキャッシュされた当該コンテンツをクライアント装置１０１Ｂに送信する。これにより、当該コンテンツの参照を短時間で行うことができるようになる。
【００１６】
このように、本実施形態では、中継サーバに特別な構成（処理）を加えずに汎用の中継サーバ及びコンテンツデリバリネットワークとして利用されている中継サーバをそのまま利用してアップロード直後のコンテンツの参照でも遅くならない仕組みを提供する。
なお、本実施形態では、説明の便宜上、クライアント装置１０１Ａがコンテンツのアップロードを行い、クライアント装置１０１Ｂでコンテンツの参照を行う構成、コンテンツのアップロード及びコンテンツの参照が同じクライアント装置で行われる構成を示した。しかしながら、これらの構成に限られるものではない。例えば、コンテンツのアップロード及びコンテンツの参照がそれぞれ複数の装置で行われてもよい。
また、本実施形態では、説明の便宜上、アプリケーション１２０を例に挙げて説明を行ったが、汎用のブラウザアプリケーションを利用してもよい。
【００１７】
図２は、クライアント装置１０１、及びコンテンツ管理サーバ１０３のハードウェアの構成の一例を示す図である。図２に示すように、クライアント装置１０１、及びコンテンツ管理サーバ１０３は、ＣＰＵ２０１、ＶＲＡＭ２０２、ＢＭＵ２０３、キーボード２０４、ＰＤ２０５、及びＣＲＴ２０６を有する。また、クライアント装置１０１、及びコンテンツ管理サーバ１０３は、ＲＯＭ２０７、ＲＡＭ２０８、ＨＤＤ２０９、フレキシブルディスクドライブ２１０、ネットワークＩ／Ｆ２１１、及びバス２１２を有する。
ＣＲＴ２０６は、各種の情報を表示する表示部の一例であり、ＣＲＴ２０６には、例えばクライアント装置１０１においてアプリケーション１２０のウィンドウ、アイコン、メッセージ、メニュー、その他のユーザインタフェースが表示される。ＶＲＡＭ２０２には、ＣＲＴ２０６に画像などのユーザインタフェースを表示するための画像データが記憶される。ＶＲＡＭ２０２に記憶された画像データは、所定の規定に従ってＣＲＴ２０６に転送され、これによりＣＲＴ２０６に画像が表示される。
【００１８】
ＢＭＵ（ビットムーブユニット）２０３は、例えば、メモリ間（例えば、ＶＲＡＭ２０２と他のメモリとの間）のデータ転送や、メモリと各Ｉ／Ｏデバイス（例えば、ネットワークＩ／Ｆ２１１）との間のデータ転送を制御する。キーボード２０４は、文字等を入力するための各種のキーを有する。ＰＤ（ポインティングデバイス）２０５は、例えば、ＣＲＴ２０６に表示されたアイコン、メニュー、コンテンツ、オブジェクト等の指示（ドラッグドロップ等）のために使用される。
ＣＰＵ２０１は、ＲＯＭ２０７、ＨＤＤ２０９、フレキシブルディスクドライブ２１０等に格納されたＯＳや後述するプログラムに基づいて、各デバイスを制御する。ＲＯＭ２０７は、各種のプログラム、データなどを保存する。ＲＡＭ２０８は、ＣＰＵ２０１のワーク領域、エラー処理時のデータの退避領域、プログラムのロード領域等を有する。ＨＤＤ２０９は、装置で実行されるプログラム、データ等を格納する。
【００１９】
ネットワークＩ／Ｆ２１１は、他のクライアント装置、サーバ、プリンタ等とネットワーク１０４を介して通信を行う。バス２１２は、アドレスバス、データバス、及びコントロールバスを含む。
ＣＰＵ２０１に対するプログラムの提供は、ＲＯＭ２０７、ＨＤＤ２０９、フレキシブルディスクドライブ２１０から行うこともできるし、ネットワークＩ／Ｆ２１１を介してネットワーク経由で他の装置等から行うこともできる。なお、ＣＰＵ２０１が、ＲＯＭ２０７などに格納されたプログラムの手順に従って処理を行うことによって、装置における機能及び後述するフローチャートに係る処理が実現される。
【００２０】
図３は、コンテンツのアップロードの処理に係るフローチャートの一例を示す図である。
Ｓ３０１にて、クライアント装置１０１ＡのＣＰＵ２０１は、アプリケーション１２０Ａのプログラム等に従い、ユーザがアップロードの対象に選んだコンテンツのリストを取得する。Ｓ３０２にて、クライアント装置１０１ＡのＣＰＵ２０１は、変数Ｉｎｄｅｘを初期化（例えば「０」を設定）し、Ｓ３０１で取得したリストのコンテンツの数を変数Ｌｉｓｔに設定する。
Ｓ３０３にて、クライアント装置１０１ＡのＣＰＵ２０１は、変数Ｉｎｄｅｘと変数Ｌｉｓｔとを比較し、変数Ｉｎｄｅｘが変数Ｌｉｓｔより小さいと判断した場合、Ｓ３０４に処理を進める。他方、クライアント装置１０１ＡのＣＰＵ２０１は、変数Ｉｎｄｅｘが変数Ｌｉｓｔと等しいか大きいと判断した場合、Ｓ３１５に処理を進める。
【００２１】
Ｓ３０４にて、クライアント装置１０１ＡのＣＰＵ２０１は、変数Ｉｎｄｅｘが示すアップロードするコンテンツをＳ３０１で取得したリストから取得し、ネットワーク１０４を介してコンテンツ管理サーバ１０３にアップロードする。
このとき、クライアント装置１０１ＡのＣＰＵ２０１は、リストに次のアップロードのコンテンツがある場合、アップロードを継続することを示す情報をコンテンツと一緒に（共に）コンテンツ管理サーバ１０３に送信する。他方、クライアント装置１０１ＡのＣＰＵ２０１は、次のアップロードのコンテンツがない場合、アップロードを終了することを示す情報をコンテンツと一緒にコンテンツ管理サーバ１０３に送信する。
【００２２】
Ｓ３０５にて、コンテンツ管理サーバ１０３のＣＰＵ２０１は、コンテンツ管理部１１０のプログラム等に従い、送信されたコンテンツを、ＤＢ１１１を用いて管理する。Ｓ３０６にて、コンテンツ管理サーバ１０３のＣＰＵ２０１は、Ｓ３０４にてアップロードするコンテンツと一緒に送信された情報を用いてコンテンツのアップロードを継続するか否かを判断する。コンテンツ管理サーバ１０３のＣＰＵ２０１は、アップロードを継続すると判断した場合、Ｓ３０７に処理を進め、他方、アップロードを継続しないと判断した場合、Ｓ３０９に処理を進める。
Ｓ３０７にて、コンテンツ管理サーバ１０３のＣＰＵ２０１は、アップロードされたコンテンツの参照がどのように行われるか（クライアント装置１０１Ａのキーボード２０４、ＰＤ２０５等のユーザによる次の操作、いわゆる次のユーザ操作）を予測する。
【００２３】
ここで、コンテンツ管理サーバ１０３は、コンテンツのアップロードの日時、及びコンテンツの種類と、アップロード後に当該コンテンツを利用したときの利用日時、及び当該コンテンツを利用したアプリケーションの種類、機能等とを利用履歴情報として記録する。コンテンツの種類としては、動画ファイル、静止画ファイル、音楽ファイル、文書ドキュメントファイルなどが挙げられる。
即ち、コンテンツ管理サーバ１０３のＣＰＵ２０１は、利用履歴情報をＤＢ１１１に管理し、利用履歴情報に従って、コンテンツがどのように利用されるかの予測を行う。
【００２４】
例えば、アップロードされたコンテンツと同じ種類のコンテンツの利用履歴情報に、直近の３日以内でスライドショー再生アプリケーションの情報が記録されている場合、コンテンツ管理サーバ１０３のＣＰＵ２０１は、スライドショーでの利用を予測する。また、例えば、アップロードした後、コンテンツをよく回転させて利用している場合、コンテンツ管理サーバ１０３のＣＰＵ２０１は、回転後のコンテンツの利用を予測する。
また、例えば、アップロードを行った後、特定の次の操作画面がよく利用されている場合、コンテンツ管理サーバ１０３のＣＰＵ２０１は、次の操作画面のサムネイルの利用を予測する。なお、予測する方法については上述した以外の方法あるいは適宜の組み合わせであってもよい。
【００２５】
Ｓ３０８にて、コンテンツ管理サーバ１０３のＣＰＵ２０１は、Ｓ３０７にて予測したコンテンツの利用から、コンテンツ等の参照ＵＲＬを生成してクライアント装置１０１Ａに送信する。なお、参照ＵＲＬは、コンテンツ情報（動画ファイル等のコンテンツ）、コンテンツ情報の利用に係るコンテンツ利用情報（サムネイル用画像、スライドショー用画像、アイコン画像等）などが格納される場所を示す格納場所情報の一例である。
例えば、コンテンツ管理サーバ１０３のＣＰＵ２０１は、アップロードを行った後の次の操作画面で利用する画像（例えばサムネイル用画像）が大、中、小の３種類からなる場合、３種類の画像を生成すると共にこれらを参照する参照ＵＲＬを生成して送信する。即ち、コンテンツ管理サーバ１０３のＣＰＵ２０１は、コンテンツの利用が予測されるアプリケーションの画面の表示に必要なサイズの画像を生成し、生成した画像を参照するＵＲＬを生成して送信する。
【００２６】
また、例えば、コンテンツ管理サーバ１０３のＣＰＵ２０１は、スライドショー再生のアプリケーションの表示に必要な画像（例えばスライドショー用画像）のサイズが大、中、小の３種類の場合、これらのサイズの画像と参照ＵＲＬとを生成して送信する。例えば、スライドショー用画像は、一又は複数のサムネイル用画像からなる。
即ち、コンテンツ管理サーバ１０３のＣＰＵ２０１は、
＜URL PRIORITY=1＞小サイズサムネイル用画像の参照ＵＲＬ＜/URL＞
＜URL PRIORITY=2＞小サイズスライドショー用画像の参照ＵＲＬ＜/URL＞
＜URL PRIORITY=3＞本コンテンツの参照ＵＲＬ＜/URL＞
・・・
等のように、１つのコンテンツについて、一又は複数の参照ＵＲＬを生成してクライアント装置１０１Ａに送信する。なお、コンテンツ利用情報については、コンテンツ管理サーバ１０３において生成される構成を示したが、他の装置で生成されるものであってもよい。
Ｓ３０９にて、コンテンツ管理サーバ１０３のＣＰＵ２０１は、アップロードを行った後の次の操作画面のＵＲＬ（次頁ＵＲＬ）を生成してクライアント装置１０１Ａに送信する。
【００２７】
Ｓ３１０にて、クライアント装置１０１ＡのＣＰＵ２０１は、送信されたＵＲＬを取得する。Ｓ３１１にて、クライアント装置１０１ＡのＣＰＵ２０１は、Ｓ３１０にて取得したＵＲＬがコンテンツ等の参照ＵＲＬであるかアップロードを行った後の次頁を表示するためのＵＲＬ（次頁ＵＲＬ）であるかを判断する。クライアント装置１０１ＡのＣＰＵ２０１は、コンテンツ等の参照ＵＲＬであると判断した場合、Ｓ３１２に処理を進め、他方、次頁ＵＲＬであると判断した場合、Ｓ３１５に処理を進める。
Ｓ３１２にて、クライアント装置１０１ＡのＣＰＵ２０１は、アップロードの処理の状況を示す状況情報から、Ｓ３１０にて取得した参照ＵＲＬのうちワーカースレッドで処理させる参照ＵＲＬの数を調整（決定）する。例えば、クライアント装置１０１ＡのＣＰＵ２０１は、変数Ｉｎｄｅｘと変数Ｌｉｓｔとから残りのアップロードを行うコンテンツの数を算出し、残りのアップロードを行うコンテンツの数が少ない場合、ワーカースレッドで処理させる参照ＵＲＬの数を少なくする。
【００２８】
また、例えば、クライアント装置１０１ＡのＣＰＵ２０１は、残りのアップロードを行うコンテンツのサイズの合計とアップロードを行ったコンテンツのサイズ及び時間とからアップロードが終了する時間（終了時間）を算出する。そして、クライアント装置１０１ＡのＣＰＵ２０１は、アップロードの終了時間までの時間が少ない場合にはワーカースレッドで処理させる参照ＵＲＬの数を少なくする。なお、調整する方法については上述した以外の方法であってもよい。また、上述した残りのアップロードを行うコンテンツの数、及び終了時間は、状況情報の一例である。
Ｓ３１３にて、クライアント装置１０１ＡのＣＰＵ２０１は、ワーカースレッドを生成し、Ｓ３１２で調整した参照ＵＲＬをワーカースレッドへ渡し、Ｓ３１４に処理を進める。
【００２９】
Ｓ３１４にて、クライアント装置１０１ＡのＣＰＵ２０１は、変数ＩｎｄｅｘをインクリメントしてＳ３０３に処理を戻す。なお、Ｓ３０３にて、クライアント装置１０１ＡのＣＰＵ２０１は、次のコンテンツがあると判断した場合、Ｓ３０４に処理を進め（アップロードを行い）、次のコンテンツがないと判断した場合、Ｓ３１５に処理を進める。
Ｓ３１５にて、クライアント装置１０１ＡのＣＰＵ２０１は、Ｓ３１０で取得した次頁ＵＲＬのデータ（次頁表示データ）の要求をコンテンツ管理サーバ１０３に送信し、返信された次頁表示データを用いて画面を表示して処理を終了する。なお、当該画面で表示されるコンテンツ等は、基本的には、中継サーバ１０２Ｂにキャッシュされているので、中継サーバ１０２Ｂから取得される。
Ｓ３１６にて、コンテンツ管理サーバ１０３のＣＰＵ２０１は、送信された要求に対して次頁表示データをクライアント装置１０１Ａに送信する。
【００３０】
Ｓ３１７にて、クライアント装置１０１ＡのＣＰＵ２０１は、ワーカースレッドでアプリケーション１２０Ａのプログラム等に従い、Ｓ３１３で渡されたコンテンツ等の参照ＵＲＬを受け取る。Ｓ３１８にて、クライアント装置１０１ＡのＣＰＵ２０１は、変数Ｃｏｕｎｔを初期化（例えば「０」を設定）し、Ｓ３１７で受け取った参照ＵＲＬの数を変数ＵｒｌＬｉｓｔに設定する。
Ｓ３１９にて、クライアント装置１０１ＡのＣＰＵ２０１は、変数Ｃｏｕｎｔと変数ＵｒｌＬｉｓｔとを比較する。クライアント装置１０１ＡのＣＰＵ２０１は、変数Ｃｏｕｎｔが変数ＵｒｌＬｉｓｔより小さいと判断した場合、Ｓ３２０に処理を進め、他方、変数Ｃｏｕｎｔが変数ＵｒｌＬｉｓｔと等しいか大きいと判断した場合、ワーカースレッドの処理を終了する。
【００３１】
Ｓ３２０にて、クライアント装置１０１ＡのＣＰＵ２０１は、変数Ｃｏｕｎｔの示す参照ＵＲＬをもとに、ネットワーク１０４を介してコンテンツ管理サーバ１０３にコンテンツ等の参照を行う。Ｓ３２１にて、コンテンツ管理サーバ１０３のＣＰＵ２０１は、参照ＵＲＬで指示されたデータ（コンテンツ等）をクライアント装置１０１Ａに送信する。
Ｓ３２２にて、クライアント装置１０１ＡのＣＰＵ２０１は、変数ＣｏｕｎｔをインクリメントしてＳ３１９に処理を戻し、次の参照ＵＲＬがあると判断した場合、参照を行い、次の参照ＵＲＬがないと判断した場合、ワーカースレッドの処理を終了する。
【００３２】
このように、第１のクライアント装置がコンテンツをコンテンツ管理サーバにアップロードすると、すぐに当該コンテンツの参照を行うことで、第１のクライアント装置とコンテンツ管理サーバとの経路上にある中継サーバにコンテンツがキャッシュされる。これにより、第２のクライアント装置からのコンテンツの参照の際には、中継サーバでコンテンツがキャッシュされているので、中継サーバがコンテンツを第２のクライアント装置へ提供することが可能となり、コンテンツの参照にかかる時間を短縮できる。
即ち、コンテンツのアップロードを行いながら並行してアップロードを行ったコンテンツの取得を行うことで、中継サーバにコンテンツをキャッシュさせることができ、初回のコンテンツの参照でも遅くならないようにすることができる。
また、上述した構成によれば、コンテンツのアップロード時に、次の操作（操作画面等）を想定したデータの参照ＵＲＬが生成され、中継サーバに次の操作により用いられるデータがキャッシュされるので、次の操作をより迅速に提供できるようになる。
なお、本実施形態のワーカースレッドは、中継サーバにコンテンツ等をキャッシュさせることを目的としているので、ワーカースレッドでコンテンツ等が取得できていなくてもよく、エラー処理やワーカースレッドの終了などをメインスレッドで判断しなくてもよい。
【００３３】
＜第２の実施形態＞
図４を用いて本実施形態について説明する。本実施形態では、第１の実施形態の構成と同じ構成については、同一の符号を用いてその説明を適宜省略する。図４は、アップロードの処理に係るフローチャートの一例を示す図である。
Ｓ４０１にて、クライアント装置１０１ＡのＣＰＵ２０１は、アプリケーション１２０Ａの指示に従い、ユーザがアップロードの対象に選んだコンテンツのリストを取得する。Ｓ４０２にて、クライアント装置１０１ＡのＣＰＵ２０１は、変数Ｉｎｄｅｘを初期化し、Ｓ４０１で取得したリストのコンテンツの数を変数Ｌｉｓｔに設定する。
Ｓ４０３にて、クライアント装置１０１ＡのＣＰＵ２０１は、変数Ｉｎｄｅｘと変数Ｌｉｓｔとを比較する。クライアント装置１０１ＡのＣＰＵ２０１は、変数Ｉｎｄｅｘが変数Ｌｉｓｔより小さいと判断した場合、Ｓ４０４に処理を進め、他方、変数Ｉｎｄｅｘが変数Ｌｉｓｔと等しいか大きいと判断した場合、Ｓ４１０に処理を進める。
Ｓ４０４にて、クライアント装置１０１ＡのＣＰＵ２０１は、変数Ｉｎｄｅｘが示すアップロードするコンテンツをＳ４０１で取得したリストから取得し、ネットワーク１０４を介してコンテンツ管理サーバ１０３にアップロードする。
【００３４】
Ｓ４０５にて、コンテンツ管理サーバ１０３のＣＰＵ２０１は、コンテンツ管理部１１０のプログラム等に従い、送信されたコンテンツを、ＤＢ１１１を用いて管理する。Ｓ４０６にて、クライアント装置１０１ＡのＣＰＵ２０１は、Ｓ３１２と同様にアップロードの処理の状況などを判断して生成する参照ＵＲＬの数を調整する。
Ｓ４０７にて、クライアント装置１０１ＡのＣＰＵ２０１は、コンテンツ管理サーバ１０３と共通の規則情報（設定した共通のルール）に基づいてＳ４０６にて求めた参照ＵＲＬの数に合わせて、アップロードを行ったコンテンツについて参照ＵＲＬを生成する。
【００３５】
例えば、クライアント装置１０１ＡのＣＰＵ２０１は、アップロードＩＤがＳ４０５にて送信され、決まったＵＲＬに当該アップロードＩＤを文字列で付加すすることで、コンテンツの参照ＵＲＬを容易に生成できる。また、同様に、クライアント装置１０１ＡのＣＰＵ２０１は、サムネイルなども決まった文字列を付加することで参照ＵＲＬを容易に生成できる。
また、例えば、決まったＵＲＬにＭＡＣアドレスなどのクライアント装置１０１で重複しない情報を組み込んで生成したＩＤを文字列で付加して生成したＵＲＬでＳ４０５にてコンテンツをアップロードする構成としてもよい。当該アップロードで利用したＵＲＬでコンテンツの参照ができるようにすることもできる。
なお、ルールに基づいて参照ＵＲＬを生成する方法については上述した以外の方法であってもよい。
【００３６】
Ｓ４０８にて、クライアント装置１０１ＡのＣＰＵ２０１は、ワーカースレッドを生成し、Ｓ４０７で生成した参照ＵＲＬをワーカースレッドへ渡し、Ｓ４０９に処理を進める。
Ｓ４０９にて、クライアント装置１０１ＡのＣＰＵ２０１は、変数ＩｎｄｅｘをインクリメントしてＳ４０３に処理を戻す。なお、Ｓ４０３にて、クライアント装置１０１ＡのＣＰＵ２０１が、次のコンテンツがあると判断した場合、Ｓ４０４に処理を進め、次のコンテンツがないと判断した場合、Ｓ４１０に処理を進めるように構成してもよい。
Ｓ４１０にて、クライアント装置１０１ＡのＣＰＵ２０１は、次頁ＵＲＬをコンテンツ管理サーバ１０３と共通のルールに基づいて生成する。そして、クライアント装置１０１ＡのＣＰＵ２０１は、ネットワーク１０４を介してコンテンツ管理サーバ１０３に次頁ＵＲＬのデータ（次頁表示データ）の要求を送信し、返信された次頁表示データを用いて画面を表示し、処理を終了する。その他のコンテンツ管理サーバ１０３の処理およびワーカースレッドの処理については図３の処理と同じであるので、その説明を省略する。
【００３７】
このように、クライアント装置１０１とコンテンツ管理サーバ１０３とで参照ＵＲＬを生成するためのルールを定めて、クライアント装置１０１は、コンテンツのアップロードを行い、並行してアップロードを行ったコンテンツの取得を行う。これにより、中継サーバにコンテンツをキャッシュさせることができ、初回のコンテンツの参照でも遅くならないようにすることができる。
【００３８】
＜その他の実施形態＞
上述した実施形態の構成は、適宜組み合わせて採用してもよい。例えば、第２の実施形態のＳ４０７では、クライアント装置１０１ＡのＣＰＵ２０１は、第１の実施形態のＳ３０７と同様に次の操作の予測を加味して生成する参照ＵＲＬの数を調整してもよい。次の操作の予測を加味する構成によれば、コンテンツのアップロード時に、次の操作を想定したデータの参照ＵＲＬが生成され、中継サーバに次の操作により用いられるデータがキャッシュされるので、次の操作をより迅速に提供できるようになる。
また、上述した実施形態では、クライアント端末を例に挙げて説明したが、コンピュータを備える、プリンタ、複合機、デジタルカメラ、携帯電話等であってもよい。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００３９】
上述した実施形態の構成によれば、コンテンツ情報をより迅速に取得可能にすることができる。
【００４０】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
0005889021.tif 000002
【図２】
0005889021.tif 000003
【図３】
0005889021.tif 000004
【図４】
0005889021.tif 000005