情報処理装置、情報処理装置の制御方法およびプログラム
【課題】複数のアクセス先のそれぞれにおいてデータの取得時間が異なることに起因するユーザの違和感を軽減することができる情報処理装置を提供する。
【解決手段】複数のアクセス先のそれぞれと情報処理装置との間の通信条件に基づき、前記情報処理装置が前記複数のアクセス先のそれぞれにデータを要求してから当該情報処理装置が当該データを取得するまでの応答時間が、当該複数のアクセス先において合うように、当該情報処理装置が当該複数のアクセス先のそれぞれにデータを要求するときの、当該データのデータ量を決定する。そして、そのデータ量に従って、当該データ量のデータを前記複数のアクセス先のそれぞれに要求する要求する。
【解決手段】複数のアクセス先のそれぞれと情報処理装置との間の通信条件に基づき、前記情報処理装置が前記複数のアクセス先のそれぞれにデータを要求してから当該情報処理装置が当該データを取得するまでの応答時間が、当該複数のアクセス先において合うように、当該情報処理装置が当該複数のアクセス先のそれぞれにデータを要求するときの、当該データのデータ量を決定する。そして、そのデータ量に従って、当該データ量のデータを前記複数のアクセス先のそれぞれに要求する要求する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバにデータを要求する情報処理装置、情報処理装置の制御方法およびプログラムに関する。
【背景技術】
【0002】
Webサービスを提供するWebサーバから各種情報を取得して、Webサービスを享受することが広く行われている。特許文献1には、複数のWebアプリケーションサーバ(WebAPサーバ)から構成される統合Webサービスシステムが記載されている。そのシステムでは、統合WebAPサーバが各WebAPサーバにリクエストを送信したときの応答時間を計測し、各WebAPサーバの計測結果を監視サーバに通知する。そして、監視サーバは、各WebAPサーバの計測結果から、処理能力が低下しているWebAPサーバを判定することが記載されている。そして、統合WebAPサーバは、複数のWebAPサーバのいずれかから情報を取得しようとする場合に、上記のように処理能力が低下していると判定されたWebAPサーバへの接続を回避することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−195709号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のようなWebサーバを有するシステムにおいて、ユーザが指定したWebサービスによって、クライアント装置がアクセスするアクセス先が異なる場合がある。
【0005】
上記の従来技術では、応答時間の長いWebサーバを、処理能力が低下しているものとして判定しているが、ユーザが使用するサービスによってクライアント装置がアクセスするアクセス先が異なる場合、そもそもサービスによって応答時間が異なることがある。よって、クライアント装置が類似のサービスを異なるアクセス先に要求する場合、接続先のWebサーバによって、クライアント装置がWebサーバからデータを取得して処理できるまでの時間が異なる。このことが、クライアント装置のユーザに対して違和感を与えてしまうことがある。
【0006】
本発明は、上記の点に鑑み、アクセス先に応じて適切なデータ量のデータを要求することができる情報処理装置、その情報処理装置におけるデータ制御方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明に係る情報処理装置は、サーバと通信可能な情報処理装置であって、前記情報処理装置が前記サーバからデータを取得するときの、複数のアクセス先のそれぞれと前記情報処理装置との間の通信条件を取得する取得手段と、前記取得手段が取得した前記通信条件に基づき、前記情報処理装置が前記複数のアクセス先のそれぞれにデータを要求してから当該情報処理装置が当該データを取得するまでの応答時間が、当該複数のアクセス先において合うように、当該情報処理装置が当該複数のアクセス先のそれぞれにデータを要求するときの、当該データのデータ量を決定する決定手段と、前記決定手段が決定した、前記複数のサーバのそれぞれに対応するデータ量に従って、当該データ量のデータを、前記複数のアクセス先のそれぞれに要求する要求手段と、を備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、アクセス先に応じて適切なデータ量のデータを要求することができる。
【図面の簡単な説明】
【0009】
【図1】Webサービスシステムの構成を示す図である。
【図2】MFPのハードウェア構成を示す図である。
【図3】リレーサーバのアプリケーション構成を示す図である。
【図4】各サイトで登録されているデータ構成の一例を示す図である。
【図5】アルバムリストの記述例を示す図である。
【図6】サイトごとに定義されているAPIの一覧を示す図である。
【図7】MFPとリレーサーバ間のAPIと、リレーサーバとサイト間のAPIとの対応を示す図である。
【図8】コンディションチェックの処理の手順を示す図である。
【図9】アルバムリストを取得し、表示するまでの処理の手順を示す図である。
【図10】印刷対象の画像を選択して印刷するまでの処理を示す図である。
【図11】サイト103に対してのAPI利用回数を説明するための図である。
【図12】サイト104に対してのAPIの利用回数を説明するための図である。
【図13】要求するデータ量を調整する処理の第1の例を示す図である。
【図14】要求するデータ量を調整する処理の第2の例を示す図である。
【図15】要求するデータ量を調整する処理の第3の例を示す図である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して本発明の好適な実施例を詳しく説明する。尚、以下の実施例は特許請求の範囲に係る本発明を限定するものでなく、また本実施例で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【0011】
〔実施例1〕
[システム構成とハードウェア構成]
図1は、本発明に係るWebサービスシステムの構成を示す図である。図1に示すように、クライアント装置としてのMFP(多機能複合装置:Multifunctional Peripheral)101は、インターネット等のネットワーク110を介して、Webサーバ103、104、105と接続されている。これらのサーバは、例えば写真共有サイト機能をクライアント装置に提供するサーバであり、以下、Webサーバ103、104、105をそれぞれサイト103、104、105ともいう。
【0012】
またMFP101は、リレーサーバ102を介して、各Webサーバ103〜105とデータの送受信を行う。この構成においてリレーサーバは、各Webサーバとの間でそれぞれ定義されたAPIを用いてデータの送受信を行っている。また、リレーサーバは、MFPとの間においてはその間で定義されたAPIを用いてデータの送受信を行う。つまり、リレーサーバがAPI変換の役割を果たす。
【0013】
この構成においては、各Webサーバから同じデータ量のデータを取得しようとする場合であって、Webサーバごとにデータの取得時間(応答時間)が異なってしまうことがある。この原因の1つに、各Webサーバから類似の情報を取得する場合であっても、WebサーバごとにAPIの構成が異なるという理由がある。よって、例えばMFP101のユーザが、同様のサービス内容の複数のWebサービス(例えば複数の写真共有サイト)を利用する場合に、Webサービスによって応答時間が異なることになってしまう。よって、ユーザは、同様のサービス内容であるにも拘わらず応答時間が異なるため、MFP101の操作時に違和感を覚えてしまうことがある。
【0014】
例えばクライアント装置がWebサーバから取得したデータを表示画面に表示させる場合に、仮にWebサーバ103の応答速度が、Webサーバ104の3倍速いとする。このとき、同じ内容の写真をダウンロードして表示する場合、Webサーバ104が画像の表示を開始するときには、Webサーバ103が表示を開始する時間の3倍の時間を要する必要になる。しかしながら、ユーザにとっては、同じ内容の画像を表示させるときの時間が異なることに違和感を覚えることがある。
【0015】
そこで本実施例では、MFPがWebサーバと通信するときに、複数のサーバにおいて、MFPが単位時間で取得するデータ量の差が少なくなるように、MFPが一度に要求するデータ量を決定する。なお、このデータ量は、MFPがWebサーバとアクセスするときのAPIの利用回数や、Webサーバとの通信環境に応じて決定する。詳細については後述する。
【0016】
ここで、写真共有サイト機能とは、クライアント装置により作成された写真等の画像をサーバに格納し、複数のクライアント装置により、サーバに格納されている画像にアクセスできる機能をいう。本実施例において情報処理装置としてのMFP101は、リレーサーバ102を介してサーバ103〜105にアクセスすることで、各サイトの写真共有サイト機能を享受することができる。例えば、MFP101は、リレーサーバ102を介してサイト103〜105から、画像が格納されている場所を示すURL等の登録情報を取得して、そのURLに従ってサーバにアクセスすることにより、アルバムや画像の選択画面を表示することができる。特に上記のMFPでは、PC等を介さずにサイトにアクセスして、アルバムや画像の選択画面を表示することができる。ユーザがその選択画面において印刷を所望する画像を選択すると、MFP101は、印刷対象の画像データを各サイトから取得して印刷することができる。
【0017】
図2は、MFP101のハードウェア構成を示す図である。MFP101は、操作部201と、カードインタフェース202と、読取部208と、記録部209とを有する。また、MFP101は、CPU200と、ROM203と、RAM204と、不揮発性RAM205と、表示部206と、画像処理部210と、圧縮/解凍部211と、駆動部212と、センサ部213とを有する。CPU200は、MFP101全体を制御し、例えば操作部201を介して入力したユーザ操作に従ってROM203に記憶されているプログラムを実行する。ROM203は、MFP101の制御命令プログラム等を格納する。さらに、MFP101は、無線ネットワーク部207と有線ネットワーク部214とを有する。無線ネットワーク部207は、IEEE802.11a等の規格に対応した無線LANアクセスポイントと無線によって通信可能である。有線ネットワーク部214は、100Base−TX等のより対線ケーブルを接続可能なEthernet(登録商標)コネクタを有している。
【0018】
図1に示すリレーサーバ102や各サイト103〜105には、一般的なPC等の構成が用いられる。つまり、リレーサーバ102や各サイト103〜105は、一般的な、CPU、ROM、RAM、HDDやディスプレイ等の表示部、ポインティングデバイスやキーボード等の入力部を有する。例えば、上記各装置において、CPUはハードディスクやROM等から読み込まれたプログラムをRAMに展開して実行する。HDDは、各種フローチャートに示される処理を実行するプログラムや画像データを格納する。ディスプレイは、ユーザインタフェース等を表示し、ユーザは、ポインティングデバイスやキーボード等を用いてユーザインタフェース上で操作し、各種指示を入力することができる。
【0019】
[写真共有サイト]
リレーサーバ102のアプリケーション構成を説明する前に、Webサービスの1つである写真共有サイト機能について説明する。各サイト103〜105によりWebサービスとして提供される写真共有サイト機能は、主に、PCのブラウザで閲覧されることを想定している。また、ユーザはアカウントを取得し、そのアカウントとパスワードとをセットとして登録してからWebサービスを利用する。
【0020】
図4は、写真共有サイト機能について、各サイト103〜105で登録されているデータ構成の一例を示す図である。各サイト103〜105に登録される画像は、アルバムという単位で纏められている。例えば、図4に示すように、各サイトには、アルバムが5つ登録されている。また、アルバム1及び2には、それぞれ3つの画像が登録されている。また、アルバム3には1つの画像が登録され、アルバム4には4つの画像が登録され、アルバム5には2つの画像が登録されている。さらに、各アルバムには、そのアルバムを代表するサムネイル画像の他、アルバムのタイトルや、アルバム登録日等も含まれており、写真共有サイト機能を用いるためのブラウザ上に表示される。ユーザは、表示されたアルバムリストから1つのアルバムを選択すると、選択されたアルバムに登録された1つ以上の画像を閲覧することができる。
【0021】
以上のような写真共有サイト機能は、PCのブラウザからのみ利用可能というわけではない。例えば、公開された各サイト103〜105のAPIを用いることによって、ブラウザを実装する装置以外の装置(MFP等)からもWebサービスを利用することができる。
【0022】
図5は、リレーサーバ102がAPIを利用して各サイト103〜105から取得した、アルバムリストの記述例を示す図である。アルバムリストは、例えばXMLで記述される。図5に示すように、タグ「<total Results>」から、アルバム数が10であることが確認できる。また、各アルバムの情報として、タグ「<entry>」ごとに、画像のURL、サムネイル画像のURL、ID、撮影日などが記述されている。
【0023】
MFP101は、ネットワーク通信機能によってリレーサーバ102のAPIに対応することができる。MFP101は、各サイト103〜105から情報を取得する際に、各サイト103〜105のAPIに直接、情報要求を発行しない。MFP101は、まず、リレーサーバ102との間で定義されたAPIを用いてリレーサーバ102とHTTPのPOST通信を利用してリレーサーバ102に対して情報要求を発行する。
【0024】
リレーサーバ102とMFP101との間でのAPIは、例えば下記のように定義される。
【0025】
・API−R1(コンディションチェック):MFP101の仕向け情報及びインターネット上のIPアドレスによって各サイトに接続可能かを確認する際に用いられる。
【0026】
・API−R2(ログイン認証):各サイトとの認証が可能かを判定する際に用いられる。
【0027】
・API−R3(アルバムリスト要求):全アルバムのリストを取得する際に用いられる。
【0028】
・API−R4(画像リスト要求):アルバムに登録されている全画像のリストを取得する際に用いられる。
【0029】
MFP101は、ユーザが指定したサイトに情報要求(実際は、上記のようにリレーサーバ102に対して情報要求を発行)することにより、当該情報要求に応じたアルバムリストや画像リストをリレーサーバ102から受信する。MFP101は、受信したリストの該当部分から表示用のデータのURLを取得することができる。MFP101は、認証及び上記リストの取得についてはリレーサーバ102を介して行うが、画像データ等のURLを取得した後は、各サイトから直接受信することができる。
【0030】
[リレーサーバ]
リレーサーバ102は、MFP101が各サイト103〜105から情報を取得する場合に、API変換機能を用いて仲介する役割を果たす。リレーサーバ102は、MFP101との関係においてWebサーバとして機能し、各サイト103〜105との関係においては、Webクライアントとして機能する。
【0031】
図3は、リレーサーバ102のアプリケーション構成を示す図である。本実施例において、リレーサーバ102の主な機能はAPI変換機能である。リレーサーバ102は、MFP101との間で「MFP−API」を定義している。リレーサーバ102は、MFP101との間で定義されたAPI構成を、接続先の各サイト103〜105との間で定義されたAPI構成(「サイトA−API」、「サイトB−API」、「サイトC−API」)にAPI変換する。
【0032】
図6は、サイトごとに定義されているAPIの一覧を示す図である。MFP101が各サイトから情報を取得するためには、リレーサーバ102が、各サイトとの間で定義されたAPI構成を用いる必要がある。つまり、MFP101が同じ情報を各サイトから取得する場合であっても、リレーサーバ102と各サイトとの間で定義されるAPIの構成は異なる。
【0033】
図7は、MFP101とリレーサーバ102との間で定義されるAPI(API-Rとする)と、リレーサーバ102と各サイトとの間で定義されるAPIとの対応を示す図である。この図7により、サイトからデータを取得するために必要なAPIの数は、MFPが要求するデータの種類によって異なり、また同じデータの種類であっても、接続先のサイトによっても異なることがわかる。例えば、アルバムリスト要求API−R3を用いてMFP101があるサイトを指定して情報要求する場合に、ユーザが指定したサイトによってリレーサーバ102から発行するAPIの種類と発行数が異なることが分かる。詳細については、後述する。
【0034】
図3を参照して、リレーサーバ102の各機能を説明する。リレーサーバ102は、以下のような機能を有している。なお、リレーサーバ102では、この各機能に対応するプログラムがROMに記憶されており、リレーサーバ102のCPUが、このROMに記憶されているプログラムを実行することにより、図3に示す各機能を実現できるものとする。
【0035】
・パーサ機能:図5で示すような各サイトからのXMLリストをパーサにより解釈する。
【0036】
・フィルタ機能:各サイトから受信したデータのうち、MFP101に送信する情報以外のデータを削除する。例えば、有効期限の切れたコンテンツや、指定以外のファイルタイプや、上限以上のファイルサイズの画像データ等を削除する。
【0037】
・チェック機能:MFP101からのコンディションチェック要求に応じて、MFP101のIPアドレス及びMFP101から送信される情報に基づき、各サイトに接続可能かをチェックする。
【0038】
・API判定機能:各サイトごとのAPI利用回数を比較する。例えば、MFP101から情報要求された場合に、その情報を取得するために必要なAPI利用回数を各サイトについて比較する。なお、本実施例では、このAPI判定機能によるAPI利用回数に基づいて、MFP101がWebサーバに一度に要求するデータ量を決定する。
【0039】
・制御機能:MFP101の仕向け情報に基づき、指定するサイトを振り分ける。
【0040】
本実施例においては、MFP101が各サイトへの情報要求量(MFP101がWebサーバに対して要求するデータのデータ量)を調整することにより、各サイトから情報を取得するまでの応答時間を基準時間に近づけ、その結果、各サイト間での応答時間の差を低減する。以下、その処理について説明する。MFP101は、まず、コンディションチェックを実行して接続可能なサイトを判定する。
【0041】
[コンディションチェック]
図8は、コンディションチェックの処理の手順を示す図である。コンディションチェックは、リレーサーバ102と指定される各サイトとの通信状況を判定するための処理である。MFP101は、リレーサーバ102にコンディションチェックを要求する(S801)。リレーサーバ102がMFP101からの要求を受信すると、MFP101のIPアドレスに基づいて、そのMFP101が接続可能なサイトを特定する(S802)。リレーサーバ102は、その特定したサイトとともに、API判定機能による判定結果をMFP101に返信する(S803)。API判定機能による判定結果については後述する。また、リレーサーバ102は、コンディションチェックの要求を受信すると、テスト用のパケット等に基づき各サイトからの応答時間を確認して、MFP101に返信する。例えば、実測応答時間が230msecである場合には、その値「M」をMFP101に返信する。MFP101は、その値Mを各サイトとの通信環境の判定値として自装置内に保存する。以下、接続候補になるサイトがサイト103〜105の3つあり、そのうちサイト103とサイト104が接続可能と判定されたとして説明する。
【0042】
[MFPからのアルバムリスト/画像リスト要求例]
MFP101が各サイトから画像を受信して印刷するまでの概要は以下のようである。まず、MFP101は、利用可能なサイト103及び104のうち1つを選択し、そのサイト内の個人用のアルバムにアクセスするためのアカウント及びパスワードを用いて、認証確認のためのAPI−R2をリレーサーバ102に発行する。その後、MFP101は、アルバムリストをサイトからリレーサーバ102経由で取得し、ユーザは、MFP101上で所望するアルバムを選択する。そして、MFP101は、所望のアルバムに登録されている画像リストをリレーサーバ102経由で取得し、ユーザは、MFP101上で所望する画像を選択する。MFP101は、選択された画像をサイトから受信して印刷を行う。
【0043】
上記の処理の流れについて、図9及び図10を参照して説明する。図9は、アルバムリストを取得して表示するまでの処理の手順を示す図である。MFP101は、アルバムリスト要求をAPI−R3を用いてリレーサーバ102に発行する(S901)。リレーサーバ102は、その要求を解析してAPI変換機能によって要求先のサイトに応じたAPI要求を発行する(S902)。要求先のサイトは、その要求に応じて、アルバムリストをリレーサーバ102に対して返信する(S903)。S902及びS903において用いられるAPIの構成は、各サイトにより異なる。リレーサーバ102は、例えば図5に示すような記述形式でアルバムリストを受信する。リレーサーバ102は、XMLをパースしてアルバムリストをMFP101に返信する(S904)。
【0044】
MFP101は、受信したアルバムリストに基づき、サイトに対して直接、HTTPのGet要求を発行する(S905)。そして、MFP101は、そのサイトからサムネイル画像を受信して(S906)、アルバムの選択画面をMFP101の表示画面に表示する。ユーザは、表示されたアルバムの選択画面から、所望のアルバムを選択する(S907)。若しくは、ユーザがアルバムの選択対象を切り替える度に、S905及びS906の処理が行われても良い。
【0045】
図10は、図9に示す処理の後、印刷対象の画像を特定して印刷するまでの処理を示す図である。MFP101は、アルバム画像を要求するために、API−R4をリレーサーバ102に発行する(S1001)。リレーサーバ102は、その要求を解析してAPI変換機能によって要求先のサイトに応じたAPI構成に変換し、その変換されたAPIを要求先のサイトに発行する(S1002)。サイトは、その要求に応じて、指定されたアルバム中の画像の画像リストをリレーサーバ102に対して返信する(S1003)。S1002及びS1003において用いられるAPIの構成は各サイトにより異なる。リレーサーバ102は、例えば図5に示すような記述形式で画像リストを受信する。リレーサーバ102は、XMLをパースして画像リストをMFP101に返信する(S1004)。
【0046】
MFP101は、受信した画像リストからサムネイル画像のURL情報等を取得し、サイトに対して直接、HTTPのGet要求を発行する(S1005)。そして、MFP101は、そのサイトからサムネイル画像を受信して(S1006)、画像の選択画面をMFP101の表示画面に表示する。ユーザは、表示された画像の選択画面から所望の画像を選択する(S1007)。若しくは、ユーザが画像の選択対象を切り替える度に、S1005及びS1006の処理が行われても良い。ユーザにより所望の画像が選択されて印刷が指示されると、MFP101は、印刷対象の画像データを取得するために、サイトに対して直接、HTTPのGet要求を発行し(S1008)、サイトから印刷対象の画像データを受信する(S1009)。MFP101は、受信した印刷対象の画像データを展開して記録媒体に印刷する(S1010)。
【0047】
[各サイトについてのAPI構成]
上記の一連の処理において、アルバムリストや画像リスト取得のためにリレーサーバ102から各サイトに対して発行するAPIの利用回数(発行されるAPIコマンド数)が異なる。また、その相違に伴い、MFP101がサイトに情報を要求して取得するまでの応答時間も、各サイトによって異なる。以下、例を挙げて説明する。
【0048】
図11は、アルバムリストの要求をサイト103に対して発行した場合に、サイト103に対してリレーサーバ102が発行するAPIの利用回数を説明するための図である。リレーサーバ102は、サイト103に対して認証のためのAPI−A1を発行し(S1101)、次に、アルバムリストの取得のためのAPI−A2を発行する(S1102)。つまり、リレーサーバ102は、アルバムリスト取得までサイト103に対して、APIを2回発行する。
【0049】
図12は、アルバムリストの要求をサイト104に対して発行した場合に、サイト104に対してリレーサーバ102が発行するAPIの利用回数を説明するための図である。リレーサーバ102は、サイト104に対して認証を開始する条件確認のためのAPI−B1、API−B2、API−B3を発行する(S1201〜S1203)。その後、リレーサーバ102は、認証のためのAPI−B4を発行する(S1204)。リレーサーバ102は、認証成功後、アルバムリスト取得のためのAPI−B5を発行する(S1205)。さらに、リレーサーバ102は、サイト104に対して、アルバムリストに含まれる各アルバムごとに、タイトルや撮影日等の情報取得のためのAPI−B6を発行する(S1206)。さらに、リレーサーバ102は、各アルバムごとに、アルバムに設定されている代表画像としてのサムネイル画像のURL等の情報を取得するためのAPI−B7を発行する(S1207)。例えば、図4に示すように、アルバムが5つ設定されている場合には、S1206及びS1207において各5回APIを利用するので、リレーサーバ102は、計15回のAPI要求をサイト104に対して発行することになる。
【0050】
図11に示す手順によって、MFP101が図4に示すアルバムリストを要求してからリレーサーバ102からアルバムリストを受信するまでの応答時間は1秒程度であった。一方で、図12に示す手順によって、MFP101が図4に示すアルバムリストを要求してからリレーサーバ102からアルバムリストを受信するまでの応答時間は10秒程度であった。
【0051】
このように、ユーザは、同じアルバムリストを異なるサイトから取得する場合に、各サイトに対して発行されるAPIの構成が異なるので、応答時間に差が生じてしまう。そして、そのことがユーザに対して操作上の違和感を与えてしまう。本実施例においては、上述のAPIの構成やコンディションチェック時の各サイトへの通信時間等の通信条件に応じて、各サイトへの情報要求量を基準となる応答時間となるように調整する。そのような構成によって、各サイト間での応答時間の差を低減する。
【0052】
[データ制御方法]
MFP101は、まず、少なくとも以前に1つのWebサービスを利用して、応答時間の基準値(基準時間ともいう)が設定されたか否かを判定する。この基準値は、MFPがWebサーバに要求するデータ量を補正するか否かを判定するための値である。ここで、まだ、基準値が設定されていないと判定された場合には、図13に示す処理が実行され、基準値が既に設定されていると判定された場合には、図14に示す処理が実行される。図13及び図14に示す処理は、例えば、MFP101のCPU200により実行される。
【0053】
最初に、図13を説明する。CPU200は、まず上記の基準値として、ユーザが待ち時間として違和感を与えないとされる基準時間T(例えば、2秒等)を設定する(S1301)。次に、CPU200は、図8のS803において自装置に保存された実測応答時間の値Mを読み出して閾値との比率を算出することで、通信状況の判定を行う(S1302)。なお、この値Mは、上記のように、Webサーバのコンディションチェックの際に応答時間判定を行うことにより、取得することができる。このとき、例えば、M=160msecであり、比較値が200msecの場合には、その比率は0.8となる。この比率が大きいほど、通信状況が良好であり、サイトとの通信に必要な時間が短くて済むことになる。この比率より、各サイトとの通信に必要な時間を評価することができる。以下、その0.8を通信環境の判定値として用いる。次に、CPU200は、図8のS803においてリレーサーバ102から受信したAPI判定機能の判定結果を参照する(S1303)。
【0054】
ここで、図11及び図12を参照しながら、API判定機能の判定結果について説明する。例えば、サイト103については、図11に示すように、アルバムリスト取得までにAPIを2回利用している。また、サイト104については、アルバムリスト取得までにAPIを15回利用している。また、サイト105については、例えば、図6に示すようにAPIが用いられるとすると、アルバムリスト取得までにAPIを1回利用する。本実施例においては、アルバムリスト取得までの、複数のWebサーバにおける最低のAPI利用回数を基準として、各利用回数の比率を判定結果としている。このとき、サイト104におけるAPI利用回数「1」が最低の利用回数となり、サイト103のAPI利用回数が図11の説明から2回、サイト104のAPI利用回数が図12の説明から15回であることがわかる。よって、API利用回数の比率は、サイト103については2/1=2となり、サイト104については15/1=15となり、サイト105については1/1=1となる。即ち、MFPにより利用される複数のサイトのそれぞれの、APIの利用回数の比率により、API利用状況を複数のサイトにおいて相対的に評価する。この比率が高いほど、データを取得するために必要なAPIの数が多く、データを取得するために必要な時間が長くなると判断することができる。なお、API判定機能の判定結果として、上記のような比率の他に、各APIの処理時間や処理内容を考慮した値が用いられても良い。
【0055】
次に、CPU200は、S1302、S1303において判定された通信状況、APIの使用状況においてMFPがWebサーバに要求する情報量を評価する為に、所定の情報要求量を設定する(S1304)。本実施例においては、例えばアルバム情報要求量が「1000」とすると、その「1000」に対して、S1302において算出された比率とS1303において算出されたAPI判定結果とを反映して、新たな情報要求量を決定する。
【0056】
例えば、S1302において算出された応答時間の比率とS1303において算出されたAPI利用回数の比率とを用いて(所定の情報要求量/応答時間の比率)/API利用回数の比率(式1)を、新たな情報要求量として算出する。上記の例では、応答時間の比率が「0.8」、API利用回数の比率が「2」(サイト103の場合)であるため、(1000/0.8)/2=625を新たな情報要求量として設定する。
【0057】
本実施例においては、各サイトへの情報要求量を、各サイトとの通信状況と、各サイトとリレーサーバとの間のAPI構成とを考慮して調整する。つまり、式1に示すように、リレーサーバ102とサイトとのコンディションチェックの結果が良くない程(通信時間がかかる程)、若しくは、接続先サイトに対して用いられるAPI構成が複雑になる程(API利用回数が多い程)、MFPがWebサーバに一度に要求する情報要求量を少なくする。そのように調整することによって、接続先サイトからの情報の応答時間を基準時間に近づけることができる。式1においては、S1301における基準時間Tは考慮されていないが、Webサーバからの応答時間が、おおよそS1301で取得した基準時間Tとなるであろう情報要求量を算出することができる。S1307において、予想応答時間と実際の実応答時間との差に基づき、その情報要求量を、上記の算出した情報要求量に補正して次回以降の情報要求量とする。詳細については後述する。
【0058】
次に、CPU200は、S1305において、サイト103に対する「625」分のアルバム情報要求を、リレーサーバ102に発行する。S1306において、CPU200は、アルバム情報要求量「625」を要求してから取得するまでの実応答時間を取得する。そして、CPU200は、S1306において取得した実応答時間を、S1301において設定された基準時間Tと比較する。ここで、実応答時間が基準時間Tより小さい場合には、基準時間Tをその実応答時間により更新する(S1309)。例えば、上記のように情報量「625」を要求したが、実際にWebサーバに登録されていたデータ量が、要求されたデータ量よりも少ない場合に、取得時間が基準時間よりも少なくなる。その際に、実際に受信したアルバム情報量(例えば、「625」分を要求したが実際に受信したのは「500」分であった場合)もあわせて保存する。この保存された「500」が、S1309において更新された基準時間Tに対する新たな情報要求量となる。この新たな情報要求量に基づく処理については、図14を用いて後述する。
【0059】
一方、S1306における実応答時間が基準時間T以上の場合には、ユーザの待ち時間としてはまだ不適当であるので、S1308において情報要求量を補正する。例えば、実応答時間が基準時間Tの1.2倍である場合には、S1304で設定した要求量「625」を1.2で除した値「521」を、次回の情報要求量として、ROM203、不揮発性RAM205等のメモリに記憶する。そして、次回の情報要求の際にMFPは、メモリに記憶されている情報要求量(データ量「521」)のデータをWebサーバに要求することで、基準時間Tよりも短い時間でデータを取得することができる。
【0060】
以降、CPU200は、図9のS905〜S907のように、受信したアルバム情報に基づき、サムネイル画像を各サイトから受信し、ユーザにアルバム選択画面を表示する処理を行う(S1310)。
【0061】
この図13に示したように、S1302において算出された応答時間の比率とS1303において算出されたAPI利用回数の比率とを用いて、S1304で情報要求量を算出する。そして、S1305〜S1307で、S1304で算出された情報要求量のデータを、実際にWebサーバに要求し、そのときの取得時間を、基準時間Tにより評価する。そして、S1307でデータの取得時間が基準時間T以上であった場合に、クライアント装置によりWebサーバに一度に要求する情報量を調整することで、データを要求してから基準時間Tよりも短い時間で、データを取得することができる。
【0062】
また、上記の図7に示すように、クライアント装置がデータを要求するWebサーバや、またWebサーバに要求するデータの種類によって、データの取得に必要なAPIの数は異なる。よって、上記のように情報要求量をメモリに記憶するときに、Webサーバの種類や、データの種類に対応させて、情報要求量を記憶しておいてもよい。そして、データ要求の際には、そのデータ要求を行うWebサーバ、またデータの種類に応じた情報要求量に従って、データを要求する。
【0063】
次に、図13において基準時間Tが更新された後に、Webサーバ103とは異なるWebサーバ(Webサーバ104)に、MFPが情報を要求する処理について、図14を用いて説明する。図14は、図13に示す処理に従って、新たな基準時間T’に更新したときに、新たな情報要求量を決定する処理について説明するためのフローチャートである。例えば図13のS1306においてサイト103から「500」分のアルバム情報を取得して、基準時間T’が決定された後に、サイト104に対して同じ情報要求量「500」分のアルバム情報を要求する場合を示す。
【0064】
CPU200は、まず、基準時間T’が設定されていることを確認する(S1401)。このときの基準時間T’とは、例えば、図13のS1309において更新された基準時間Tや、図13で基準時間の更新が行われなければ、S1301で取得した基準時間Tである。S1402及びS1403における処理は、S1302及びS1303における説明と同じである。ただし、本図においては、サイト104を接続先としたときの通信環境の判定値(応答時間の比率)を「1.0」として、またAPI使用回数は図12の説明から「15」である。
【0065】
次に、CPU200は、情報要求量を設定する(S1404)。本図においては、情報要求量「500」に対して、S1402において算出された比率とS1403において算出されたAPI判定結果とを反映して、新たな情報要求量を決定する。例えば、S1402において算出された「1.0」と、S1403において算出されたAPI判定結果「7.5」とを用いて、(500/1.0)/7.5=67を算出する。なお、API判定結果「7.5」は、Webサーバ104の場合のAPI使用回数「15」、Webサーバ103の場合のAPI使用回数「2」の比率(15/2)=7.5により求めることができる。S1405において、CPU200は、サイト104に対する「67」分のアルバム情報要求をリレーサーバ102に発行する。S1406において、CPU200は、アルバム情報要求量「67」を要求してから取得するまでの実応答時間を取得する。
【0066】
次に、CPU200は、S1406において取得した実応答時間が基準時間T’と比べて±20%の範囲内に入っているか否かを判定する。ここで、その範囲内に入っていると判定された場合には、S1409に進む。S1409における処理は、S1310における説明と同じである。S1407においてS1409に進む判定とは、S1404において求めた情報要求量「67」をサイト104に対して要求した場合に、おおよそ応答時間T’でその情報量のデータを取得することを意味する。即ち、サイト104に対してデータを要求した場合に、その応答時間が、サイト103にデータを要求したときとほぼ差がないということである。
【0067】
一方、S1407において、±20%の範囲内に入っていないと判定された場合には、S1408において、S1308と同様に要求量の補正を行い、S1404から繰り返す。これにより、情報要求量を、応答時間がT’となるように調整することができる。
【0068】
以上の図14に示す処理によって、MFP101が接続するサイトを変更した場合においても、変更前の接続先のWebサーバの応答時間と同程度の応答時間で、変更後の接続先のWebサーバからデータを取得することができる。即ち、接続先のWebサーバの変更後も、変更前のWebサーバの応答時間に対して所定の範囲内に収まる誤差の応答時間で、データを取得できる情報要求量を決定することができる。
【0069】
また、上記のように、S1408、S1404〜S1406において、MFP101からのリレーサーバ102へ、情報要求量の補正、データの再要求、データの再取得が行われる。この再情報要求発行から再取得までの時間(S1408−S1404−S1406)がユーザへの違和感を生じさせる上で無視できない場合もある。そのような場合には、S1308と同様に補正後の情報要求量(例えば、「60」)を次回の要求量と決定するとともに、最初にS1406で取得した「67」分のアルバム情報に基づいてMFP101の表示画面に表示するように表示制御しても良い。即ち、更新された情報要求量「60」によりデータが再取得されるのを待って、その再取得されたデータを表示させるのではなく、初めに情報要求量「67」により取得された、情報量「67」のデータを表示させる。これにより、ユーザは情報要求量が決定されるのを待たなくても、既に取得されているデータを確認することができる。また、図13及び図14においては、アルバム情報取得時について説明したが、アルバム中の画像リスト取得時に対しても適用することができる。
【0070】
以上の実施例によれば、クライアント装置としてMFPが、Webサーバ103からデータを取得する場合と、Webサーバ104からデータを取得する場合とにおいて、クライアント装置によるデータ要求に対して、データが取得されるまでの取得時間が、おおよそ基準時間Tとなるように、情報要求量が設定される。
【0071】
よって、クライアント装置は、おおよそ基準時間T毎にデータを取得して、取得されたデータを処理することができる。例えばクライアント装置がWebサーバ103、104のそれぞれから取得したデータを表示画面に表示させる場合、共に、基準時間Tごとに新たなデータが表示することができる。
【0072】
よって、クライアント装置がアクセスするWebサーバによって取得時間が異なることに起因して、ユーザに違和感を与えてしまうことを防ぐことができる。なお、以上の実施例では、Webサーバ103、104の情報要求量を、データの取得時間が基準時間Tになるように設定することで、Webサーバ103、104のデータの取得時間を合わせていた。
【0073】
しかし本発明は、これに限らず、例えばWebサーバ103を基準にして、所定のデータ量のデータをWebサーバ103に要求したときの取得時間に、Webサーバ104のデータの取得時間が合うように、Webサーバ104に対する情報要求量を決定してもよい。例えば、Webサーバ103に実際に所定のデータ量のデータを要求し、そのデータを取得するまでの時間を計測する。そして、そのデータと同種のデータをWebサーバ104に要求したときに、データの取得時間が、上記のWebサーバ103の計測時間に合うように、Webサーバ104の情報要求量を決定する。この方法によっても、Webサーバ103、104において、データの取得時間を合わせることができる。
【0074】
〔実施例2〕
本実施例においては、クライアント装置によりWebサーバにデータを要求するときに、データの取得時間がユーザに違和感を与えない範囲でMFPの一度の要求で多くのデータを取得できるように、最低限の情報要求量から順次増加することで、情報要求量を設定する処理を行う。
【0075】
図15に示すS1501〜S1503については、図13のS1301〜S1303の説明と同じである。本実施例においては、S1504において、CPU200は、最低限必要な情報要求量を設定する。例えば、MFP101でサムネイル画像を一時に9画面表示可能な場合には、情報要求量を「9」として設定する。S1505〜S1507は、図14のS1405〜S1407と同じである。
【0076】
S1507では、S1506で情報を取得したときの取得時間が、基準時間Tの―20%以内か判定する。なお、S1506では、データの取得時間が基準時間Tよりも十分小さくなるように、情報要求量を設定しており、S1505ではその情報要求量のデータを要求するようにする。
【0077】
S1507において、取得時間が基準時間Tの―20%以内と判定された場合には、データの取得時間が基準時間Tよりも短いためユーザに違和感を与えるものではなく、また情報要求量が十分大きいと判定する。S1510において、図9のS905〜S907のように、取得したアルバム情報に基づき、サムネイル画像を各サイトに要求し、ユーザにアルバム選択画面を表示する処理を行う。一方、−20%の範囲内に入っていないと判定された場合には、情報要求量を予め定められた分増加して(S1508)、次回における情報要求量とする(S1509)。そして、今回のS1506において取得したアルバム情報に基づき、サムネイル画像を各サイトに要求し、ユーザにアルバム選択画面を表示する処理を行う。
【0078】
なお、上記の説明では、S1506において、データの取得時間が基準時間Tよりも十分短くなるように設定していたがこれに限らない。例えば、S1507の判定の前に、上述したS1307、S1407のように、取得時間が基準時間Tより短いか判定して、取得時間が短い場合に、S1507において「取得時間が基準時間の―20%以内か?」を判定してもよい。 一方、取得時間が基準時間T以上であった場合には、上述したS1308、S1408のように、取得時間が短くなるように補正計算を行う。
【0079】
つまり、本実施例においては、MFP101の表示上、最低限必要な情報要求量を要求し、その取得時間が基準時間より大幅に下回る場合には、基準時間から予め定められた範囲内に収まるまで、要求量を順次増加させていく。
【0080】
これにより、データの取得時間がユーザに違和感を与えない範囲で、MFPによる一度の要求で多くのデータを取得できるように、情報要求量を設定することができる。
【0081】
以上の実施例によれば、クライアント装置が複数のWebサーバのそれぞれからデータを取得するときに、クライアント装置によるデータ要求に対するWebサーバからの応答時間(データの取得時間)が、複数のWebサーバにおいて同じになるように、情報要求量を決定することができる。
【0082】
これにより、複数のWebサーバにおいて、同一のデータ量のデータ要求に対する応答時間が異なる場合であっても、同じ応答時間でデータを取得することができる。よって、Webサーバにデータを要求して、データを取得し、処理を開始するまでの時間を、上記の複数のWebサーバのそれぞれにおいて統一することができる。よって、複数のWebサーバのそれぞれにおいて応答時間が異なることに起因するユーザの違和感を軽減することができる。
【0083】
なお、以上の実施例では、複数のWebサーバのそれぞれがWebサービスを提供しており、複数のWebサーバにおいてデータの取得時間を合わせるように、Webサーバごとに情報要求量を決定していた。
【0084】
しかし、本発明は、1つのWebサーバにおいて複数のWebサービスを提供するシステムにおいても応用できるものである。その1つのサーバでは、複数のアクセス先(URL等)が設定されており、そのアクセス先により異なるサービスを提供する。このようなシステムにおいても、アクセス先によってデータの取得時間が異なる場合があり、即ちユーザが使用するサービスによってデータの取得時間が異なる場合がある。よって、上記の実施例を用いて、1つのサーバにおける複数のアクセス先のそれぞれにおいてデータの取得時間が合うように、アクセス先のそれぞれに応じた情報要求量を決定してもよい。
【0085】
また、以上の実施例では、Webサーバと通信を行うクライアント装置として、MFPを例に説明したが、クライアント装置はこれに限らず、例えばPCであってもよいし、携帯電話やデジタルカメラであってもよい。
【0086】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、上記の処理を1つのプロセッサにより実行する場合に限らず、複数のプロセッサにより実行する場合であってもよい。
【技術分野】
【0001】
本発明は、サーバにデータを要求する情報処理装置、情報処理装置の制御方法およびプログラムに関する。
【背景技術】
【0002】
Webサービスを提供するWebサーバから各種情報を取得して、Webサービスを享受することが広く行われている。特許文献1には、複数のWebアプリケーションサーバ(WebAPサーバ)から構成される統合Webサービスシステムが記載されている。そのシステムでは、統合WebAPサーバが各WebAPサーバにリクエストを送信したときの応答時間を計測し、各WebAPサーバの計測結果を監視サーバに通知する。そして、監視サーバは、各WebAPサーバの計測結果から、処理能力が低下しているWebAPサーバを判定することが記載されている。そして、統合WebAPサーバは、複数のWebAPサーバのいずれかから情報を取得しようとする場合に、上記のように処理能力が低下していると判定されたWebAPサーバへの接続を回避することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−195709号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のようなWebサーバを有するシステムにおいて、ユーザが指定したWebサービスによって、クライアント装置がアクセスするアクセス先が異なる場合がある。
【0005】
上記の従来技術では、応答時間の長いWebサーバを、処理能力が低下しているものとして判定しているが、ユーザが使用するサービスによってクライアント装置がアクセスするアクセス先が異なる場合、そもそもサービスによって応答時間が異なることがある。よって、クライアント装置が類似のサービスを異なるアクセス先に要求する場合、接続先のWebサーバによって、クライアント装置がWebサーバからデータを取得して処理できるまでの時間が異なる。このことが、クライアント装置のユーザに対して違和感を与えてしまうことがある。
【0006】
本発明は、上記の点に鑑み、アクセス先に応じて適切なデータ量のデータを要求することができる情報処理装置、その情報処理装置におけるデータ制御方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明に係る情報処理装置は、サーバと通信可能な情報処理装置であって、前記情報処理装置が前記サーバからデータを取得するときの、複数のアクセス先のそれぞれと前記情報処理装置との間の通信条件を取得する取得手段と、前記取得手段が取得した前記通信条件に基づき、前記情報処理装置が前記複数のアクセス先のそれぞれにデータを要求してから当該情報処理装置が当該データを取得するまでの応答時間が、当該複数のアクセス先において合うように、当該情報処理装置が当該複数のアクセス先のそれぞれにデータを要求するときの、当該データのデータ量を決定する決定手段と、前記決定手段が決定した、前記複数のサーバのそれぞれに対応するデータ量に従って、当該データ量のデータを、前記複数のアクセス先のそれぞれに要求する要求手段と、を備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、アクセス先に応じて適切なデータ量のデータを要求することができる。
【図面の簡単な説明】
【0009】
【図1】Webサービスシステムの構成を示す図である。
【図2】MFPのハードウェア構成を示す図である。
【図3】リレーサーバのアプリケーション構成を示す図である。
【図4】各サイトで登録されているデータ構成の一例を示す図である。
【図5】アルバムリストの記述例を示す図である。
【図6】サイトごとに定義されているAPIの一覧を示す図である。
【図7】MFPとリレーサーバ間のAPIと、リレーサーバとサイト間のAPIとの対応を示す図である。
【図8】コンディションチェックの処理の手順を示す図である。
【図9】アルバムリストを取得し、表示するまでの処理の手順を示す図である。
【図10】印刷対象の画像を選択して印刷するまでの処理を示す図である。
【図11】サイト103に対してのAPI利用回数を説明するための図である。
【図12】サイト104に対してのAPIの利用回数を説明するための図である。
【図13】要求するデータ量を調整する処理の第1の例を示す図である。
【図14】要求するデータ量を調整する処理の第2の例を示す図である。
【図15】要求するデータ量を調整する処理の第3の例を示す図である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して本発明の好適な実施例を詳しく説明する。尚、以下の実施例は特許請求の範囲に係る本発明を限定するものでなく、また本実施例で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【0011】
〔実施例1〕
[システム構成とハードウェア構成]
図1は、本発明に係るWebサービスシステムの構成を示す図である。図1に示すように、クライアント装置としてのMFP(多機能複合装置:Multifunctional Peripheral)101は、インターネット等のネットワーク110を介して、Webサーバ103、104、105と接続されている。これらのサーバは、例えば写真共有サイト機能をクライアント装置に提供するサーバであり、以下、Webサーバ103、104、105をそれぞれサイト103、104、105ともいう。
【0012】
またMFP101は、リレーサーバ102を介して、各Webサーバ103〜105とデータの送受信を行う。この構成においてリレーサーバは、各Webサーバとの間でそれぞれ定義されたAPIを用いてデータの送受信を行っている。また、リレーサーバは、MFPとの間においてはその間で定義されたAPIを用いてデータの送受信を行う。つまり、リレーサーバがAPI変換の役割を果たす。
【0013】
この構成においては、各Webサーバから同じデータ量のデータを取得しようとする場合であって、Webサーバごとにデータの取得時間(応答時間)が異なってしまうことがある。この原因の1つに、各Webサーバから類似の情報を取得する場合であっても、WebサーバごとにAPIの構成が異なるという理由がある。よって、例えばMFP101のユーザが、同様のサービス内容の複数のWebサービス(例えば複数の写真共有サイト)を利用する場合に、Webサービスによって応答時間が異なることになってしまう。よって、ユーザは、同様のサービス内容であるにも拘わらず応答時間が異なるため、MFP101の操作時に違和感を覚えてしまうことがある。
【0014】
例えばクライアント装置がWebサーバから取得したデータを表示画面に表示させる場合に、仮にWebサーバ103の応答速度が、Webサーバ104の3倍速いとする。このとき、同じ内容の写真をダウンロードして表示する場合、Webサーバ104が画像の表示を開始するときには、Webサーバ103が表示を開始する時間の3倍の時間を要する必要になる。しかしながら、ユーザにとっては、同じ内容の画像を表示させるときの時間が異なることに違和感を覚えることがある。
【0015】
そこで本実施例では、MFPがWebサーバと通信するときに、複数のサーバにおいて、MFPが単位時間で取得するデータ量の差が少なくなるように、MFPが一度に要求するデータ量を決定する。なお、このデータ量は、MFPがWebサーバとアクセスするときのAPIの利用回数や、Webサーバとの通信環境に応じて決定する。詳細については後述する。
【0016】
ここで、写真共有サイト機能とは、クライアント装置により作成された写真等の画像をサーバに格納し、複数のクライアント装置により、サーバに格納されている画像にアクセスできる機能をいう。本実施例において情報処理装置としてのMFP101は、リレーサーバ102を介してサーバ103〜105にアクセスすることで、各サイトの写真共有サイト機能を享受することができる。例えば、MFP101は、リレーサーバ102を介してサイト103〜105から、画像が格納されている場所を示すURL等の登録情報を取得して、そのURLに従ってサーバにアクセスすることにより、アルバムや画像の選択画面を表示することができる。特に上記のMFPでは、PC等を介さずにサイトにアクセスして、アルバムや画像の選択画面を表示することができる。ユーザがその選択画面において印刷を所望する画像を選択すると、MFP101は、印刷対象の画像データを各サイトから取得して印刷することができる。
【0017】
図2は、MFP101のハードウェア構成を示す図である。MFP101は、操作部201と、カードインタフェース202と、読取部208と、記録部209とを有する。また、MFP101は、CPU200と、ROM203と、RAM204と、不揮発性RAM205と、表示部206と、画像処理部210と、圧縮/解凍部211と、駆動部212と、センサ部213とを有する。CPU200は、MFP101全体を制御し、例えば操作部201を介して入力したユーザ操作に従ってROM203に記憶されているプログラムを実行する。ROM203は、MFP101の制御命令プログラム等を格納する。さらに、MFP101は、無線ネットワーク部207と有線ネットワーク部214とを有する。無線ネットワーク部207は、IEEE802.11a等の規格に対応した無線LANアクセスポイントと無線によって通信可能である。有線ネットワーク部214は、100Base−TX等のより対線ケーブルを接続可能なEthernet(登録商標)コネクタを有している。
【0018】
図1に示すリレーサーバ102や各サイト103〜105には、一般的なPC等の構成が用いられる。つまり、リレーサーバ102や各サイト103〜105は、一般的な、CPU、ROM、RAM、HDDやディスプレイ等の表示部、ポインティングデバイスやキーボード等の入力部を有する。例えば、上記各装置において、CPUはハードディスクやROM等から読み込まれたプログラムをRAMに展開して実行する。HDDは、各種フローチャートに示される処理を実行するプログラムや画像データを格納する。ディスプレイは、ユーザインタフェース等を表示し、ユーザは、ポインティングデバイスやキーボード等を用いてユーザインタフェース上で操作し、各種指示を入力することができる。
【0019】
[写真共有サイト]
リレーサーバ102のアプリケーション構成を説明する前に、Webサービスの1つである写真共有サイト機能について説明する。各サイト103〜105によりWebサービスとして提供される写真共有サイト機能は、主に、PCのブラウザで閲覧されることを想定している。また、ユーザはアカウントを取得し、そのアカウントとパスワードとをセットとして登録してからWebサービスを利用する。
【0020】
図4は、写真共有サイト機能について、各サイト103〜105で登録されているデータ構成の一例を示す図である。各サイト103〜105に登録される画像は、アルバムという単位で纏められている。例えば、図4に示すように、各サイトには、アルバムが5つ登録されている。また、アルバム1及び2には、それぞれ3つの画像が登録されている。また、アルバム3には1つの画像が登録され、アルバム4には4つの画像が登録され、アルバム5には2つの画像が登録されている。さらに、各アルバムには、そのアルバムを代表するサムネイル画像の他、アルバムのタイトルや、アルバム登録日等も含まれており、写真共有サイト機能を用いるためのブラウザ上に表示される。ユーザは、表示されたアルバムリストから1つのアルバムを選択すると、選択されたアルバムに登録された1つ以上の画像を閲覧することができる。
【0021】
以上のような写真共有サイト機能は、PCのブラウザからのみ利用可能というわけではない。例えば、公開された各サイト103〜105のAPIを用いることによって、ブラウザを実装する装置以外の装置(MFP等)からもWebサービスを利用することができる。
【0022】
図5は、リレーサーバ102がAPIを利用して各サイト103〜105から取得した、アルバムリストの記述例を示す図である。アルバムリストは、例えばXMLで記述される。図5に示すように、タグ「<total Results>」から、アルバム数が10であることが確認できる。また、各アルバムの情報として、タグ「<entry>」ごとに、画像のURL、サムネイル画像のURL、ID、撮影日などが記述されている。
【0023】
MFP101は、ネットワーク通信機能によってリレーサーバ102のAPIに対応することができる。MFP101は、各サイト103〜105から情報を取得する際に、各サイト103〜105のAPIに直接、情報要求を発行しない。MFP101は、まず、リレーサーバ102との間で定義されたAPIを用いてリレーサーバ102とHTTPのPOST通信を利用してリレーサーバ102に対して情報要求を発行する。
【0024】
リレーサーバ102とMFP101との間でのAPIは、例えば下記のように定義される。
【0025】
・API−R1(コンディションチェック):MFP101の仕向け情報及びインターネット上のIPアドレスによって各サイトに接続可能かを確認する際に用いられる。
【0026】
・API−R2(ログイン認証):各サイトとの認証が可能かを判定する際に用いられる。
【0027】
・API−R3(アルバムリスト要求):全アルバムのリストを取得する際に用いられる。
【0028】
・API−R4(画像リスト要求):アルバムに登録されている全画像のリストを取得する際に用いられる。
【0029】
MFP101は、ユーザが指定したサイトに情報要求(実際は、上記のようにリレーサーバ102に対して情報要求を発行)することにより、当該情報要求に応じたアルバムリストや画像リストをリレーサーバ102から受信する。MFP101は、受信したリストの該当部分から表示用のデータのURLを取得することができる。MFP101は、認証及び上記リストの取得についてはリレーサーバ102を介して行うが、画像データ等のURLを取得した後は、各サイトから直接受信することができる。
【0030】
[リレーサーバ]
リレーサーバ102は、MFP101が各サイト103〜105から情報を取得する場合に、API変換機能を用いて仲介する役割を果たす。リレーサーバ102は、MFP101との関係においてWebサーバとして機能し、各サイト103〜105との関係においては、Webクライアントとして機能する。
【0031】
図3は、リレーサーバ102のアプリケーション構成を示す図である。本実施例において、リレーサーバ102の主な機能はAPI変換機能である。リレーサーバ102は、MFP101との間で「MFP−API」を定義している。リレーサーバ102は、MFP101との間で定義されたAPI構成を、接続先の各サイト103〜105との間で定義されたAPI構成(「サイトA−API」、「サイトB−API」、「サイトC−API」)にAPI変換する。
【0032】
図6は、サイトごとに定義されているAPIの一覧を示す図である。MFP101が各サイトから情報を取得するためには、リレーサーバ102が、各サイトとの間で定義されたAPI構成を用いる必要がある。つまり、MFP101が同じ情報を各サイトから取得する場合であっても、リレーサーバ102と各サイトとの間で定義されるAPIの構成は異なる。
【0033】
図7は、MFP101とリレーサーバ102との間で定義されるAPI(API-Rとする)と、リレーサーバ102と各サイトとの間で定義されるAPIとの対応を示す図である。この図7により、サイトからデータを取得するために必要なAPIの数は、MFPが要求するデータの種類によって異なり、また同じデータの種類であっても、接続先のサイトによっても異なることがわかる。例えば、アルバムリスト要求API−R3を用いてMFP101があるサイトを指定して情報要求する場合に、ユーザが指定したサイトによってリレーサーバ102から発行するAPIの種類と発行数が異なることが分かる。詳細については、後述する。
【0034】
図3を参照して、リレーサーバ102の各機能を説明する。リレーサーバ102は、以下のような機能を有している。なお、リレーサーバ102では、この各機能に対応するプログラムがROMに記憶されており、リレーサーバ102のCPUが、このROMに記憶されているプログラムを実行することにより、図3に示す各機能を実現できるものとする。
【0035】
・パーサ機能:図5で示すような各サイトからのXMLリストをパーサにより解釈する。
【0036】
・フィルタ機能:各サイトから受信したデータのうち、MFP101に送信する情報以外のデータを削除する。例えば、有効期限の切れたコンテンツや、指定以外のファイルタイプや、上限以上のファイルサイズの画像データ等を削除する。
【0037】
・チェック機能:MFP101からのコンディションチェック要求に応じて、MFP101のIPアドレス及びMFP101から送信される情報に基づき、各サイトに接続可能かをチェックする。
【0038】
・API判定機能:各サイトごとのAPI利用回数を比較する。例えば、MFP101から情報要求された場合に、その情報を取得するために必要なAPI利用回数を各サイトについて比較する。なお、本実施例では、このAPI判定機能によるAPI利用回数に基づいて、MFP101がWebサーバに一度に要求するデータ量を決定する。
【0039】
・制御機能:MFP101の仕向け情報に基づき、指定するサイトを振り分ける。
【0040】
本実施例においては、MFP101が各サイトへの情報要求量(MFP101がWebサーバに対して要求するデータのデータ量)を調整することにより、各サイトから情報を取得するまでの応答時間を基準時間に近づけ、その結果、各サイト間での応答時間の差を低減する。以下、その処理について説明する。MFP101は、まず、コンディションチェックを実行して接続可能なサイトを判定する。
【0041】
[コンディションチェック]
図8は、コンディションチェックの処理の手順を示す図である。コンディションチェックは、リレーサーバ102と指定される各サイトとの通信状況を判定するための処理である。MFP101は、リレーサーバ102にコンディションチェックを要求する(S801)。リレーサーバ102がMFP101からの要求を受信すると、MFP101のIPアドレスに基づいて、そのMFP101が接続可能なサイトを特定する(S802)。リレーサーバ102は、その特定したサイトとともに、API判定機能による判定結果をMFP101に返信する(S803)。API判定機能による判定結果については後述する。また、リレーサーバ102は、コンディションチェックの要求を受信すると、テスト用のパケット等に基づき各サイトからの応答時間を確認して、MFP101に返信する。例えば、実測応答時間が230msecである場合には、その値「M」をMFP101に返信する。MFP101は、その値Mを各サイトとの通信環境の判定値として自装置内に保存する。以下、接続候補になるサイトがサイト103〜105の3つあり、そのうちサイト103とサイト104が接続可能と判定されたとして説明する。
【0042】
[MFPからのアルバムリスト/画像リスト要求例]
MFP101が各サイトから画像を受信して印刷するまでの概要は以下のようである。まず、MFP101は、利用可能なサイト103及び104のうち1つを選択し、そのサイト内の個人用のアルバムにアクセスするためのアカウント及びパスワードを用いて、認証確認のためのAPI−R2をリレーサーバ102に発行する。その後、MFP101は、アルバムリストをサイトからリレーサーバ102経由で取得し、ユーザは、MFP101上で所望するアルバムを選択する。そして、MFP101は、所望のアルバムに登録されている画像リストをリレーサーバ102経由で取得し、ユーザは、MFP101上で所望する画像を選択する。MFP101は、選択された画像をサイトから受信して印刷を行う。
【0043】
上記の処理の流れについて、図9及び図10を参照して説明する。図9は、アルバムリストを取得して表示するまでの処理の手順を示す図である。MFP101は、アルバムリスト要求をAPI−R3を用いてリレーサーバ102に発行する(S901)。リレーサーバ102は、その要求を解析してAPI変換機能によって要求先のサイトに応じたAPI要求を発行する(S902)。要求先のサイトは、その要求に応じて、アルバムリストをリレーサーバ102に対して返信する(S903)。S902及びS903において用いられるAPIの構成は、各サイトにより異なる。リレーサーバ102は、例えば図5に示すような記述形式でアルバムリストを受信する。リレーサーバ102は、XMLをパースしてアルバムリストをMFP101に返信する(S904)。
【0044】
MFP101は、受信したアルバムリストに基づき、サイトに対して直接、HTTPのGet要求を発行する(S905)。そして、MFP101は、そのサイトからサムネイル画像を受信して(S906)、アルバムの選択画面をMFP101の表示画面に表示する。ユーザは、表示されたアルバムの選択画面から、所望のアルバムを選択する(S907)。若しくは、ユーザがアルバムの選択対象を切り替える度に、S905及びS906の処理が行われても良い。
【0045】
図10は、図9に示す処理の後、印刷対象の画像を特定して印刷するまでの処理を示す図である。MFP101は、アルバム画像を要求するために、API−R4をリレーサーバ102に発行する(S1001)。リレーサーバ102は、その要求を解析してAPI変換機能によって要求先のサイトに応じたAPI構成に変換し、その変換されたAPIを要求先のサイトに発行する(S1002)。サイトは、その要求に応じて、指定されたアルバム中の画像の画像リストをリレーサーバ102に対して返信する(S1003)。S1002及びS1003において用いられるAPIの構成は各サイトにより異なる。リレーサーバ102は、例えば図5に示すような記述形式で画像リストを受信する。リレーサーバ102は、XMLをパースして画像リストをMFP101に返信する(S1004)。
【0046】
MFP101は、受信した画像リストからサムネイル画像のURL情報等を取得し、サイトに対して直接、HTTPのGet要求を発行する(S1005)。そして、MFP101は、そのサイトからサムネイル画像を受信して(S1006)、画像の選択画面をMFP101の表示画面に表示する。ユーザは、表示された画像の選択画面から所望の画像を選択する(S1007)。若しくは、ユーザが画像の選択対象を切り替える度に、S1005及びS1006の処理が行われても良い。ユーザにより所望の画像が選択されて印刷が指示されると、MFP101は、印刷対象の画像データを取得するために、サイトに対して直接、HTTPのGet要求を発行し(S1008)、サイトから印刷対象の画像データを受信する(S1009)。MFP101は、受信した印刷対象の画像データを展開して記録媒体に印刷する(S1010)。
【0047】
[各サイトについてのAPI構成]
上記の一連の処理において、アルバムリストや画像リスト取得のためにリレーサーバ102から各サイトに対して発行するAPIの利用回数(発行されるAPIコマンド数)が異なる。また、その相違に伴い、MFP101がサイトに情報を要求して取得するまでの応答時間も、各サイトによって異なる。以下、例を挙げて説明する。
【0048】
図11は、アルバムリストの要求をサイト103に対して発行した場合に、サイト103に対してリレーサーバ102が発行するAPIの利用回数を説明するための図である。リレーサーバ102は、サイト103に対して認証のためのAPI−A1を発行し(S1101)、次に、アルバムリストの取得のためのAPI−A2を発行する(S1102)。つまり、リレーサーバ102は、アルバムリスト取得までサイト103に対して、APIを2回発行する。
【0049】
図12は、アルバムリストの要求をサイト104に対して発行した場合に、サイト104に対してリレーサーバ102が発行するAPIの利用回数を説明するための図である。リレーサーバ102は、サイト104に対して認証を開始する条件確認のためのAPI−B1、API−B2、API−B3を発行する(S1201〜S1203)。その後、リレーサーバ102は、認証のためのAPI−B4を発行する(S1204)。リレーサーバ102は、認証成功後、アルバムリスト取得のためのAPI−B5を発行する(S1205)。さらに、リレーサーバ102は、サイト104に対して、アルバムリストに含まれる各アルバムごとに、タイトルや撮影日等の情報取得のためのAPI−B6を発行する(S1206)。さらに、リレーサーバ102は、各アルバムごとに、アルバムに設定されている代表画像としてのサムネイル画像のURL等の情報を取得するためのAPI−B7を発行する(S1207)。例えば、図4に示すように、アルバムが5つ設定されている場合には、S1206及びS1207において各5回APIを利用するので、リレーサーバ102は、計15回のAPI要求をサイト104に対して発行することになる。
【0050】
図11に示す手順によって、MFP101が図4に示すアルバムリストを要求してからリレーサーバ102からアルバムリストを受信するまでの応答時間は1秒程度であった。一方で、図12に示す手順によって、MFP101が図4に示すアルバムリストを要求してからリレーサーバ102からアルバムリストを受信するまでの応答時間は10秒程度であった。
【0051】
このように、ユーザは、同じアルバムリストを異なるサイトから取得する場合に、各サイトに対して発行されるAPIの構成が異なるので、応答時間に差が生じてしまう。そして、そのことがユーザに対して操作上の違和感を与えてしまう。本実施例においては、上述のAPIの構成やコンディションチェック時の各サイトへの通信時間等の通信条件に応じて、各サイトへの情報要求量を基準となる応答時間となるように調整する。そのような構成によって、各サイト間での応答時間の差を低減する。
【0052】
[データ制御方法]
MFP101は、まず、少なくとも以前に1つのWebサービスを利用して、応答時間の基準値(基準時間ともいう)が設定されたか否かを判定する。この基準値は、MFPがWebサーバに要求するデータ量を補正するか否かを判定するための値である。ここで、まだ、基準値が設定されていないと判定された場合には、図13に示す処理が実行され、基準値が既に設定されていると判定された場合には、図14に示す処理が実行される。図13及び図14に示す処理は、例えば、MFP101のCPU200により実行される。
【0053】
最初に、図13を説明する。CPU200は、まず上記の基準値として、ユーザが待ち時間として違和感を与えないとされる基準時間T(例えば、2秒等)を設定する(S1301)。次に、CPU200は、図8のS803において自装置に保存された実測応答時間の値Mを読み出して閾値との比率を算出することで、通信状況の判定を行う(S1302)。なお、この値Mは、上記のように、Webサーバのコンディションチェックの際に応答時間判定を行うことにより、取得することができる。このとき、例えば、M=160msecであり、比較値が200msecの場合には、その比率は0.8となる。この比率が大きいほど、通信状況が良好であり、サイトとの通信に必要な時間が短くて済むことになる。この比率より、各サイトとの通信に必要な時間を評価することができる。以下、その0.8を通信環境の判定値として用いる。次に、CPU200は、図8のS803においてリレーサーバ102から受信したAPI判定機能の判定結果を参照する(S1303)。
【0054】
ここで、図11及び図12を参照しながら、API判定機能の判定結果について説明する。例えば、サイト103については、図11に示すように、アルバムリスト取得までにAPIを2回利用している。また、サイト104については、アルバムリスト取得までにAPIを15回利用している。また、サイト105については、例えば、図6に示すようにAPIが用いられるとすると、アルバムリスト取得までにAPIを1回利用する。本実施例においては、アルバムリスト取得までの、複数のWebサーバにおける最低のAPI利用回数を基準として、各利用回数の比率を判定結果としている。このとき、サイト104におけるAPI利用回数「1」が最低の利用回数となり、サイト103のAPI利用回数が図11の説明から2回、サイト104のAPI利用回数が図12の説明から15回であることがわかる。よって、API利用回数の比率は、サイト103については2/1=2となり、サイト104については15/1=15となり、サイト105については1/1=1となる。即ち、MFPにより利用される複数のサイトのそれぞれの、APIの利用回数の比率により、API利用状況を複数のサイトにおいて相対的に評価する。この比率が高いほど、データを取得するために必要なAPIの数が多く、データを取得するために必要な時間が長くなると判断することができる。なお、API判定機能の判定結果として、上記のような比率の他に、各APIの処理時間や処理内容を考慮した値が用いられても良い。
【0055】
次に、CPU200は、S1302、S1303において判定された通信状況、APIの使用状況においてMFPがWebサーバに要求する情報量を評価する為に、所定の情報要求量を設定する(S1304)。本実施例においては、例えばアルバム情報要求量が「1000」とすると、その「1000」に対して、S1302において算出された比率とS1303において算出されたAPI判定結果とを反映して、新たな情報要求量を決定する。
【0056】
例えば、S1302において算出された応答時間の比率とS1303において算出されたAPI利用回数の比率とを用いて(所定の情報要求量/応答時間の比率)/API利用回数の比率(式1)を、新たな情報要求量として算出する。上記の例では、応答時間の比率が「0.8」、API利用回数の比率が「2」(サイト103の場合)であるため、(1000/0.8)/2=625を新たな情報要求量として設定する。
【0057】
本実施例においては、各サイトへの情報要求量を、各サイトとの通信状況と、各サイトとリレーサーバとの間のAPI構成とを考慮して調整する。つまり、式1に示すように、リレーサーバ102とサイトとのコンディションチェックの結果が良くない程(通信時間がかかる程)、若しくは、接続先サイトに対して用いられるAPI構成が複雑になる程(API利用回数が多い程)、MFPがWebサーバに一度に要求する情報要求量を少なくする。そのように調整することによって、接続先サイトからの情報の応答時間を基準時間に近づけることができる。式1においては、S1301における基準時間Tは考慮されていないが、Webサーバからの応答時間が、おおよそS1301で取得した基準時間Tとなるであろう情報要求量を算出することができる。S1307において、予想応答時間と実際の実応答時間との差に基づき、その情報要求量を、上記の算出した情報要求量に補正して次回以降の情報要求量とする。詳細については後述する。
【0058】
次に、CPU200は、S1305において、サイト103に対する「625」分のアルバム情報要求を、リレーサーバ102に発行する。S1306において、CPU200は、アルバム情報要求量「625」を要求してから取得するまでの実応答時間を取得する。そして、CPU200は、S1306において取得した実応答時間を、S1301において設定された基準時間Tと比較する。ここで、実応答時間が基準時間Tより小さい場合には、基準時間Tをその実応答時間により更新する(S1309)。例えば、上記のように情報量「625」を要求したが、実際にWebサーバに登録されていたデータ量が、要求されたデータ量よりも少ない場合に、取得時間が基準時間よりも少なくなる。その際に、実際に受信したアルバム情報量(例えば、「625」分を要求したが実際に受信したのは「500」分であった場合)もあわせて保存する。この保存された「500」が、S1309において更新された基準時間Tに対する新たな情報要求量となる。この新たな情報要求量に基づく処理については、図14を用いて後述する。
【0059】
一方、S1306における実応答時間が基準時間T以上の場合には、ユーザの待ち時間としてはまだ不適当であるので、S1308において情報要求量を補正する。例えば、実応答時間が基準時間Tの1.2倍である場合には、S1304で設定した要求量「625」を1.2で除した値「521」を、次回の情報要求量として、ROM203、不揮発性RAM205等のメモリに記憶する。そして、次回の情報要求の際にMFPは、メモリに記憶されている情報要求量(データ量「521」)のデータをWebサーバに要求することで、基準時間Tよりも短い時間でデータを取得することができる。
【0060】
以降、CPU200は、図9のS905〜S907のように、受信したアルバム情報に基づき、サムネイル画像を各サイトから受信し、ユーザにアルバム選択画面を表示する処理を行う(S1310)。
【0061】
この図13に示したように、S1302において算出された応答時間の比率とS1303において算出されたAPI利用回数の比率とを用いて、S1304で情報要求量を算出する。そして、S1305〜S1307で、S1304で算出された情報要求量のデータを、実際にWebサーバに要求し、そのときの取得時間を、基準時間Tにより評価する。そして、S1307でデータの取得時間が基準時間T以上であった場合に、クライアント装置によりWebサーバに一度に要求する情報量を調整することで、データを要求してから基準時間Tよりも短い時間で、データを取得することができる。
【0062】
また、上記の図7に示すように、クライアント装置がデータを要求するWebサーバや、またWebサーバに要求するデータの種類によって、データの取得に必要なAPIの数は異なる。よって、上記のように情報要求量をメモリに記憶するときに、Webサーバの種類や、データの種類に対応させて、情報要求量を記憶しておいてもよい。そして、データ要求の際には、そのデータ要求を行うWebサーバ、またデータの種類に応じた情報要求量に従って、データを要求する。
【0063】
次に、図13において基準時間Tが更新された後に、Webサーバ103とは異なるWebサーバ(Webサーバ104)に、MFPが情報を要求する処理について、図14を用いて説明する。図14は、図13に示す処理に従って、新たな基準時間T’に更新したときに、新たな情報要求量を決定する処理について説明するためのフローチャートである。例えば図13のS1306においてサイト103から「500」分のアルバム情報を取得して、基準時間T’が決定された後に、サイト104に対して同じ情報要求量「500」分のアルバム情報を要求する場合を示す。
【0064】
CPU200は、まず、基準時間T’が設定されていることを確認する(S1401)。このときの基準時間T’とは、例えば、図13のS1309において更新された基準時間Tや、図13で基準時間の更新が行われなければ、S1301で取得した基準時間Tである。S1402及びS1403における処理は、S1302及びS1303における説明と同じである。ただし、本図においては、サイト104を接続先としたときの通信環境の判定値(応答時間の比率)を「1.0」として、またAPI使用回数は図12の説明から「15」である。
【0065】
次に、CPU200は、情報要求量を設定する(S1404)。本図においては、情報要求量「500」に対して、S1402において算出された比率とS1403において算出されたAPI判定結果とを反映して、新たな情報要求量を決定する。例えば、S1402において算出された「1.0」と、S1403において算出されたAPI判定結果「7.5」とを用いて、(500/1.0)/7.5=67を算出する。なお、API判定結果「7.5」は、Webサーバ104の場合のAPI使用回数「15」、Webサーバ103の場合のAPI使用回数「2」の比率(15/2)=7.5により求めることができる。S1405において、CPU200は、サイト104に対する「67」分のアルバム情報要求をリレーサーバ102に発行する。S1406において、CPU200は、アルバム情報要求量「67」を要求してから取得するまでの実応答時間を取得する。
【0066】
次に、CPU200は、S1406において取得した実応答時間が基準時間T’と比べて±20%の範囲内に入っているか否かを判定する。ここで、その範囲内に入っていると判定された場合には、S1409に進む。S1409における処理は、S1310における説明と同じである。S1407においてS1409に進む判定とは、S1404において求めた情報要求量「67」をサイト104に対して要求した場合に、おおよそ応答時間T’でその情報量のデータを取得することを意味する。即ち、サイト104に対してデータを要求した場合に、その応答時間が、サイト103にデータを要求したときとほぼ差がないということである。
【0067】
一方、S1407において、±20%の範囲内に入っていないと判定された場合には、S1408において、S1308と同様に要求量の補正を行い、S1404から繰り返す。これにより、情報要求量を、応答時間がT’となるように調整することができる。
【0068】
以上の図14に示す処理によって、MFP101が接続するサイトを変更した場合においても、変更前の接続先のWebサーバの応答時間と同程度の応答時間で、変更後の接続先のWebサーバからデータを取得することができる。即ち、接続先のWebサーバの変更後も、変更前のWebサーバの応答時間に対して所定の範囲内に収まる誤差の応答時間で、データを取得できる情報要求量を決定することができる。
【0069】
また、上記のように、S1408、S1404〜S1406において、MFP101からのリレーサーバ102へ、情報要求量の補正、データの再要求、データの再取得が行われる。この再情報要求発行から再取得までの時間(S1408−S1404−S1406)がユーザへの違和感を生じさせる上で無視できない場合もある。そのような場合には、S1308と同様に補正後の情報要求量(例えば、「60」)を次回の要求量と決定するとともに、最初にS1406で取得した「67」分のアルバム情報に基づいてMFP101の表示画面に表示するように表示制御しても良い。即ち、更新された情報要求量「60」によりデータが再取得されるのを待って、その再取得されたデータを表示させるのではなく、初めに情報要求量「67」により取得された、情報量「67」のデータを表示させる。これにより、ユーザは情報要求量が決定されるのを待たなくても、既に取得されているデータを確認することができる。また、図13及び図14においては、アルバム情報取得時について説明したが、アルバム中の画像リスト取得時に対しても適用することができる。
【0070】
以上の実施例によれば、クライアント装置としてMFPが、Webサーバ103からデータを取得する場合と、Webサーバ104からデータを取得する場合とにおいて、クライアント装置によるデータ要求に対して、データが取得されるまでの取得時間が、おおよそ基準時間Tとなるように、情報要求量が設定される。
【0071】
よって、クライアント装置は、おおよそ基準時間T毎にデータを取得して、取得されたデータを処理することができる。例えばクライアント装置がWebサーバ103、104のそれぞれから取得したデータを表示画面に表示させる場合、共に、基準時間Tごとに新たなデータが表示することができる。
【0072】
よって、クライアント装置がアクセスするWebサーバによって取得時間が異なることに起因して、ユーザに違和感を与えてしまうことを防ぐことができる。なお、以上の実施例では、Webサーバ103、104の情報要求量を、データの取得時間が基準時間Tになるように設定することで、Webサーバ103、104のデータの取得時間を合わせていた。
【0073】
しかし本発明は、これに限らず、例えばWebサーバ103を基準にして、所定のデータ量のデータをWebサーバ103に要求したときの取得時間に、Webサーバ104のデータの取得時間が合うように、Webサーバ104に対する情報要求量を決定してもよい。例えば、Webサーバ103に実際に所定のデータ量のデータを要求し、そのデータを取得するまでの時間を計測する。そして、そのデータと同種のデータをWebサーバ104に要求したときに、データの取得時間が、上記のWebサーバ103の計測時間に合うように、Webサーバ104の情報要求量を決定する。この方法によっても、Webサーバ103、104において、データの取得時間を合わせることができる。
【0074】
〔実施例2〕
本実施例においては、クライアント装置によりWebサーバにデータを要求するときに、データの取得時間がユーザに違和感を与えない範囲でMFPの一度の要求で多くのデータを取得できるように、最低限の情報要求量から順次増加することで、情報要求量を設定する処理を行う。
【0075】
図15に示すS1501〜S1503については、図13のS1301〜S1303の説明と同じである。本実施例においては、S1504において、CPU200は、最低限必要な情報要求量を設定する。例えば、MFP101でサムネイル画像を一時に9画面表示可能な場合には、情報要求量を「9」として設定する。S1505〜S1507は、図14のS1405〜S1407と同じである。
【0076】
S1507では、S1506で情報を取得したときの取得時間が、基準時間Tの―20%以内か判定する。なお、S1506では、データの取得時間が基準時間Tよりも十分小さくなるように、情報要求量を設定しており、S1505ではその情報要求量のデータを要求するようにする。
【0077】
S1507において、取得時間が基準時間Tの―20%以内と判定された場合には、データの取得時間が基準時間Tよりも短いためユーザに違和感を与えるものではなく、また情報要求量が十分大きいと判定する。S1510において、図9のS905〜S907のように、取得したアルバム情報に基づき、サムネイル画像を各サイトに要求し、ユーザにアルバム選択画面を表示する処理を行う。一方、−20%の範囲内に入っていないと判定された場合には、情報要求量を予め定められた分増加して(S1508)、次回における情報要求量とする(S1509)。そして、今回のS1506において取得したアルバム情報に基づき、サムネイル画像を各サイトに要求し、ユーザにアルバム選択画面を表示する処理を行う。
【0078】
なお、上記の説明では、S1506において、データの取得時間が基準時間Tよりも十分短くなるように設定していたがこれに限らない。例えば、S1507の判定の前に、上述したS1307、S1407のように、取得時間が基準時間Tより短いか判定して、取得時間が短い場合に、S1507において「取得時間が基準時間の―20%以内か?」を判定してもよい。 一方、取得時間が基準時間T以上であった場合には、上述したS1308、S1408のように、取得時間が短くなるように補正計算を行う。
【0079】
つまり、本実施例においては、MFP101の表示上、最低限必要な情報要求量を要求し、その取得時間が基準時間より大幅に下回る場合には、基準時間から予め定められた範囲内に収まるまで、要求量を順次増加させていく。
【0080】
これにより、データの取得時間がユーザに違和感を与えない範囲で、MFPによる一度の要求で多くのデータを取得できるように、情報要求量を設定することができる。
【0081】
以上の実施例によれば、クライアント装置が複数のWebサーバのそれぞれからデータを取得するときに、クライアント装置によるデータ要求に対するWebサーバからの応答時間(データの取得時間)が、複数のWebサーバにおいて同じになるように、情報要求量を決定することができる。
【0082】
これにより、複数のWebサーバにおいて、同一のデータ量のデータ要求に対する応答時間が異なる場合であっても、同じ応答時間でデータを取得することができる。よって、Webサーバにデータを要求して、データを取得し、処理を開始するまでの時間を、上記の複数のWebサーバのそれぞれにおいて統一することができる。よって、複数のWebサーバのそれぞれにおいて応答時間が異なることに起因するユーザの違和感を軽減することができる。
【0083】
なお、以上の実施例では、複数のWebサーバのそれぞれがWebサービスを提供しており、複数のWebサーバにおいてデータの取得時間を合わせるように、Webサーバごとに情報要求量を決定していた。
【0084】
しかし、本発明は、1つのWebサーバにおいて複数のWebサービスを提供するシステムにおいても応用できるものである。その1つのサーバでは、複数のアクセス先(URL等)が設定されており、そのアクセス先により異なるサービスを提供する。このようなシステムにおいても、アクセス先によってデータの取得時間が異なる場合があり、即ちユーザが使用するサービスによってデータの取得時間が異なる場合がある。よって、上記の実施例を用いて、1つのサーバにおける複数のアクセス先のそれぞれにおいてデータの取得時間が合うように、アクセス先のそれぞれに応じた情報要求量を決定してもよい。
【0085】
また、以上の実施例では、Webサーバと通信を行うクライアント装置として、MFPを例に説明したが、クライアント装置はこれに限らず、例えばPCであってもよいし、携帯電話やデジタルカメラであってもよい。
【0086】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、上記の処理を1つのプロセッサにより実行する場合に限らず、複数のプロセッサにより実行する場合であってもよい。
【特許請求の範囲】
【請求項1】
サーバと通信可能な情報処理装置であって、
前記情報処理装置が前記サーバからデータを取得するときの、複数のアクセス先のそれぞれと前記情報処理装置との間の通信条件を取得する取得手段と、
前記取得手段が取得した前記通信条件に基づき、前記情報処理装置が前記複数のアクセス先のそれぞれにデータを要求してから当該情報処理装置が当該データを取得するまでの応答時間が、当該複数のアクセス先において合うように、当該情報処理装置が当該複数のアクセス先のそれぞれにデータを要求するときの、当該データのデータ量を決定する決定手段と、
前記決定手段が決定した、前記複数のサーバのそれぞれに対応するデータ量に従って、当該データ量のデータを、前記複数のアクセス先のそれぞれに要求する要求手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記決定手段は、前記複数のアクセス先のそれぞれの応答時間が、所定の範囲に収まるように、当該複数のアクセス先のそれぞれに要求するデータのデータ量を決定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記決定手段は、前記要求手段が前記サーバにデータを要求してから当該データを当該サーバから受信するまでの実応答時間に基づき、当該サーバにデータを要求するときのデータ量を補正することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記サーバはWebサーバであり、前記情報処理装置はリレーサーバを介して前記Webサーバと通信可能であって、
前記通信条件は、前記要求手段による要求に応じて前記Webサーバと前記リレーサーバとの間で用いられるAPIコマンド数を含むことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記要求手段による要求により取得されたデータを、表示装置に表示させる表示制御手段をさらに備えることを特徴とする請求項4に記載の情報処理装置。
【請求項6】
サーバと通信可能な情報処理装置の制御方法であって、
前記情報処理装置が前記サーバからデータを取得するときの、複数のアクセス先のそれぞれと前記情報処理装置との間の通信条件を取得する取得工程と、
前記取得工程において取得した前記通信条件に基づき、前記情報処理装置が前記複数のアクセス先のそれぞれにデータを要求してから当該情報処理装置が当該データを取得するまでの応答時間が、当該複数のアクセス先において合うように、当該情報処理装置が当該複数のアクセス先のそれぞれにデータを要求するときの、当該データのデータ量を決定する決定工程と、
前記決定工程において決定した、前記複数のサーバのそれぞれに対応するデータ量に従って、当該データ量のデータを、前記複数のアクセス先のそれぞれに要求する要求工程と、
を備えることを特徴とする制御方法。
【請求項7】
請求項6に記載の制御方法をコンピュータに実行させるプログラム。
【請求項1】
サーバと通信可能な情報処理装置であって、
前記情報処理装置が前記サーバからデータを取得するときの、複数のアクセス先のそれぞれと前記情報処理装置との間の通信条件を取得する取得手段と、
前記取得手段が取得した前記通信条件に基づき、前記情報処理装置が前記複数のアクセス先のそれぞれにデータを要求してから当該情報処理装置が当該データを取得するまでの応答時間が、当該複数のアクセス先において合うように、当該情報処理装置が当該複数のアクセス先のそれぞれにデータを要求するときの、当該データのデータ量を決定する決定手段と、
前記決定手段が決定した、前記複数のサーバのそれぞれに対応するデータ量に従って、当該データ量のデータを、前記複数のアクセス先のそれぞれに要求する要求手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記決定手段は、前記複数のアクセス先のそれぞれの応答時間が、所定の範囲に収まるように、当該複数のアクセス先のそれぞれに要求するデータのデータ量を決定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記決定手段は、前記要求手段が前記サーバにデータを要求してから当該データを当該サーバから受信するまでの実応答時間に基づき、当該サーバにデータを要求するときのデータ量を補正することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記サーバはWebサーバであり、前記情報処理装置はリレーサーバを介して前記Webサーバと通信可能であって、
前記通信条件は、前記要求手段による要求に応じて前記Webサーバと前記リレーサーバとの間で用いられるAPIコマンド数を含むことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記要求手段による要求により取得されたデータを、表示装置に表示させる表示制御手段をさらに備えることを特徴とする請求項4に記載の情報処理装置。
【請求項6】
サーバと通信可能な情報処理装置の制御方法であって、
前記情報処理装置が前記サーバからデータを取得するときの、複数のアクセス先のそれぞれと前記情報処理装置との間の通信条件を取得する取得工程と、
前記取得工程において取得した前記通信条件に基づき、前記情報処理装置が前記複数のアクセス先のそれぞれにデータを要求してから当該情報処理装置が当該データを取得するまでの応答時間が、当該複数のアクセス先において合うように、当該情報処理装置が当該複数のアクセス先のそれぞれにデータを要求するときの、当該データのデータ量を決定する決定工程と、
前記決定工程において決定した、前記複数のサーバのそれぞれに対応するデータ量に従って、当該データ量のデータを、前記複数のアクセス先のそれぞれに要求する要求工程と、
を備えることを特徴とする制御方法。
【請求項7】
請求項6に記載の制御方法をコンピュータに実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2013−25642(P2013−25642A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−161365(P2011−161365)
【出願日】平成23年7月22日(2011.7.22)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願日】平成23年7月22日(2011.7.22)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]