(57)【要約】【課題】  端末装置における画像を含む画面の表示に要する時間を短縮する。【解決手段】  一実施形態に係るサーバは、情報を記憶する記憶部と、端末装置からの表示画面の表示要求に応答し、この端末装置の処理能力及びこの端末装置との間の通信能力に少なくとも基づく所定の選択条件に従って選択される端末装置のストレージに記憶されている画像ファイル及びサーバのストレージに記憶されている画像ファイルの何れか一方を用いて、この画像ファイルに対応する画像を含む表示画面を端末装置に表示させる表示制御部と、を有する。【選択図】  図２
2015146565.tif 000002
【特許請求の範囲】
【請求項１】
表示画面に含まれる画像に対応する画像ファイルを記憶する端末用記憶装置を有する端末装置と通信可能に接続され、当該端末装置に当該表示画面を表示させるサーバであって、
前記表示画面に含まれる画像に対応する画像ファイルを記憶するサーバ用記憶装置と、
所定の命令を実行する一又は複数の物理的なプロセッサと、を備え、
前記一又は複数の物理的なプロセッサは、前記所定の命令を実行することによって、
前記端末装置からの前記表示画面の表示要求に応答し、当該端末装置の処理能力及び当該端末装置との間の通信能力に少なくとも基づく所定の選択条件に従って選択される前記端末用記憶装置に記憶されている前記画像ファイル及び前記サーバ用記憶装置に記憶されている前記画像ファイルの何れか一方を用いて、当該画像ファイルに対応する画像を含む当該表示画面を当該端末装置に表示させる表示制御機能を実現する、
サーバ。
【請求項２】
請求項１記載のサーバであって、
前記表示制御機能は、前記サーバ用記憶装置に記憶されている前記画像ファイルを用いる場合には、当該画像ファイルに対して所定の変換処理を施して前記端末装置に送信し、
前記端末装置は、前記端末用記憶装置に記憶されている前記画像ファイルを用いる場合には、当該画像ファイルに対して前記所定の変換処理を施して当該所定の変換処理が施された画像ファイルを用いて前記表示画面を表示し、前記サーバ用記憶装置に記憶されている前記画像ファイルを用いる場合には、前記表示制御機能によって送信される前記所定の変換処理が施された画像ファイルを用いて前記表示画面を表示する、
サーバ。
【請求項３】
前記所定の選択条件は、前記処理能力が高いほど前記端末用記憶装置に記憶されている前記画像ファイルが優先して選択される傾向の条件である請求項１又は２記載のサーバ。
【請求項４】
前記所定の選択条件は、前記通信能力が高いほど前記サーバ用記憶装置に記憶されている前記画像ファイルが優先して選択される傾向の条件である請求項１ないし３いずれか記載のサーバ。
【請求項５】
前記所定の選択条件は、前記処理能力及び前記通信能力に加え、前記表示画面に含まれる画像に対応する前記画像ファイルのデータサイズに基づく条件である請求項１ないし４いずれか記載のサーバ。
【請求項６】
前記所定の選択条件は、前記画像ファイルのデータサイズが大きいほど前記端末用記憶装置に記憶されている前記画像ファイルが優先して選択される傾向の条件である請求項５記載のサーバ。
【請求項７】
請求項１ないし６いずれか記載のサーバであって、
前記表示画面は、前記端末装置において実行可能なアプリケーションプログラムの実行に応じて表示される画面領域の少なくとも一部の領域に表示され、
前記端末用記憶装置は、前記アプリケーションプログラムに含まれる前記画像ファイルを記憶する、
サーバ。
【請求項８】
表示画面に含まれる画像に対応する画像ファイルを記憶する端末用記憶装置を有する端末装置と通信可能に接続され、前記表示画面に含まれる画像に対応する画像ファイルを記憶するサーバ用記憶装置を備えるサーバが、当該端末装置に当該表示画面を表示させる方法であって、
前記端末装置からの前記表示画面の表示要求に応答し、当該端末装置の処理能力及び当該端末装置との間の通信能力に少なくとも基づく所定の選択条件に従って選択される前記端末用記憶装置に記憶されている前記画像ファイル及び前記サーバ用記憶装置に記憶されている前記画像ファイルの何れか一方を用いて、当該画像ファイルに対応する画像を含む当該表示画面を当該端末装置に表示させる、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置に表示画面を表示させるサーバ及び方法に関し、詳しくは、表示画面に含まれる画像に対応する画像ファイルを記憶する端末用記憶装置を有する端末装置と通信可能に接続され、当該端末装置に当該表示画面を表示させるサーバ及び方法に関する。
【背景技術】
【０００２】
近年、スマートフォン等の端末装置において実行されるアプリケーション又はウェブブラウザを介してゲーム等の様々なデジタルコンテンツが提供されており、こうしたデジタルコンテンツの提供においては、様々な画像を含む画面が端末装置において表示される。こうした画面に含まれる画像が、例えば高解像度の画像である場合には、対応する画像ファイルのデータサイズが大きくなり、画像ファイルの転送等に時間を要する場合がある。画像ファイルの転送等に時間を要すると、画面の表示に要する時間が長くなってしまう。
【０００３】
一方、例えば、特開２０１３−１１５８２４号公報には、端末装置とサーバとの間で送受信されるパケットのラウンドトリップ時間に基づいて、端末装置が接続するネットワークの種類を判別する方法が提案されている。こうした方法を画像を含む画面の表示に適用し、端末装置が接続するネットワークの種類に応じた画像ファイルの転送等とすることによって、画像ファイルの転送等に要する時間を短縮することも考えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１１５８２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した方法では、ネットワークの種類の判別結果を画面の表示に適用する具体的な方法は提案されていない。また、画像を含む画面を表示する際には、画像ファイルの転送以外にも様々な処理が行われるから、ネットワークの種類のみを考慮した方法では、画面の表示に要する時間全体を十分に短縮できるとは限らない。従って、画像を含む画面の表示に影響を与え得る様々な情報を考慮して、画面の表示に要する時間全体を短縮する具体的な仕組みの提供が望まれる。
【０００６】
本発明の実施形態は、端末装置における画像を含む画面の表示に要する時間を短縮することを目的の一つとする。本発明の他の目的は、本明細書全体を参照することにより明らかとなる。
【課題を解決するための手段】
【０００７】
本発明の一実施形態に係るサーバは、表示画面に含まれる画像に対応する画像ファイルを記憶する端末用記憶装置を有する端末装置と通信可能に接続され、当該端末装置に当該表示画面を表示させるサーバであって、前記表示画面に含まれる画像に対応する画像ファイルを記憶するサーバ用記憶装置と、所定の命令を実行する一又は複数の物理的なプロセッサと、を備え、前記一又は複数の物理的なプロセッサは、前記所定の命令を実行することによって、前記端末装置からの前記表示画面の表示要求に応答し、当該端末装置の処理能力及び当該端末装置との間の通信能力に少なくとも基づく所定の選択条件に従って選択される前記端末用記憶装置に記憶されている前記画像ファイル及び前記サーバ用記憶装置に記憶されている前記画像ファイルの何れか一方を用いて、当該画像ファイルに対応する画像を含む当該表示画面を当該端末装置に表示させる表示制御機能を実現する。
【０００８】
本発明の一実施形態に係る方法は、表示画面に含まれる画像に対応する画像ファイルを記憶する端末用記憶装置を有する端末装置と通信可能に接続され、前記表示画面に含まれる画像に対応する画像ファイルを記憶するサーバ用記憶装置を備えるサーバが、当該端末装置に当該表示画面を表示させる方法であって、前記端末装置からの前記表示画面の表示要求に応答し、当該端末装置の処理能力及び当該端末装置との間の通信能力に少なくとも基づく所定の選択条件に従って選択される前記端末用記憶装置に記憶されている前記画像ファイル及び前記サーバ用記憶装置に記憶されている前記画像ファイルの何れか一方を用いて、当該画像ファイルに対応する画像を含む当該表示画面を当該端末装置に表示させる。
【発明の効果】
【０００９】
本発明の様々な実施形態によって、端末装置における画像を含む画面の表示に要する時間を短縮することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係るサーバ１０を含むシステム１のネットワーク構成を概略的に示すブロック図。
【図２】一実施形態におけるサーバ１０の機能を概略的に示すブロック図。
【図３】一実施形態における端末能力管理テーブルによって管理される情報の一例を示す図。
【図４】一実施形態における表示制御処理の一例を示すフロー図。
【図５】一実施形態における画像ファイルの取得先の選択条件の一例を示す図。
【発明を実施するための形態】
【００１１】
図１は、本発明の一実施形態に係るサーバ１０を含むシステム１のネットワーク構成を概略的に示すブロック図である。図１に示すように、一実施形態におけるサーバ１０は、一般的なコンピュータとして構成される複数の端末装置３０とインターネット等の通信網２０を介して通信可能に接続されており、端末装置３０に様々なインタネットサービスを提供し、このインターネットサービスで用いる様々な表示画面を端末装置３０に表示させる。ここで、サーバ１０が提供するインターネットサービスとしては、例えば、ゲーム等のデジタルコンテンツを提供するサービス、及び、それぞれ端末装置３０を操作する複数のユーザ間の様々なコミュニケーション（チャット（ミニメール）、サークル、アバター、日記、伝言板、挨拶、通話等）を実現するプラットフォームサービス（ＳＮＳサービス）等を例示することができるが、これらに限定されない。
【００１２】
サーバ１０は、図示のとおり、ＣＰＵ（物理的なコンピュータプロセッサ）１１と、メインメモリ１２と、ユーザＩ／Ｆ１３と、通信Ｉ／Ｆ１４と、ストレージ１５と、ディスクドライブ１６とを含み、これらの各構成要素がバス１７を介して互いに電気的に接続されている。ＣＰＵ１１は、ストレージ１５から様々なプログラムをメインメモリ１２にロードし、ロードしたプログラムに含まれる命令を実行する。メインメモリ１２は、ＣＰＵ１１が実行するプログラムを格納するために用いられ、例えば、ＤＲＡＭによって構成される。
【００１３】
ユーザＩ／Ｆ１３は、例えば、オペレータの入力を受け付けるキーボードやマウス等の情報入力装置と、ＣＰＵ１１の演算結果を出力する液晶ディスプレイ等の情報出力装置とを含む。通信Ｉ／Ｆ１４は、ハードウェア、ファームウェア、又はＴＣＰ／ＩＰドライバやＰＰＰドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網２０を介して端末装置３０と通信可能に構成される。
【００１４】
ストレージ１５は、例えば磁気ディスクドライブで構成され、サーバ１０によって提供される各種サービスの進行を制御するための制御用プログラム等の様々なプログラムが記憶される。また、ストレージ１５には、各種サービスにおいて用いられる各種データも記憶され得る。ストレージ１５に記憶され得る各種データは、サーバ１０と通信可能に接続されるサーバ１０とは物理的に別体のデータベースサーバ等に格納されてもよい。ディスクドライブ１６は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ等の各種の記憶メディアに格納されたデータを読み込み、又は、これらの記憶メディアにデータを書き込む。
【００１５】
一実施形態において、サーバ１０は、階層構造の複数のウェブページから成るウェブサイトを管理するウェブサーバとしても機能し、端末装置３０に対してこのウェブサイトを介して各種サービスを提供することができる。端末装置３０は、ウェブページを表示するためのＨＴＭＬデータをサーバ１０から取得し、取得したＨＴＭＬデータを解析して、当該ウェブページを端末装置３０のユーザに提示することができる。例えば、このようなウェブページを介して提供されるゲームは、ブラウザゲームと称されることがある。ストレージ１５には、このウェブページを表示するためのＨＴＭＬデータも記憶される。ＨＴＭＬデータは、ＨＴＭＬ等のマークアップ言語で記述されたＨＴＭＬ文書から成り、このＨＴＭＬ文書には、様々な画像が関連付けられている。また、ＨＴＭＬ文書には、各種スクリプト言語等で記述されたプログラムが埋め込まれ得る。
【００１６】
ストレージ１５には、端末装置３０においてブラウザソフトウェア以外の実行環境上で実行されるアプリケーションプログラム（以下、「アプリケーション」と言うことがある。）も格納され得る。このアプリケーションには、各種処理を実行するためのプログラムや当該プログラム実行時に参照される画像ファイル等の各種データを含めることができる。プログラムは、例えば、Ｏｂｊｅｃｔｉｖｅ−Ｃ、Ｊａｖａ（登録商標）等のオブジェクト指向プログラミング言語で作成される。ストレージ１５に記憶されたアプリケーションは、配信要求に応じて端末装置３０に配信され得る。サーバ１０から配信されたアプリケーションは、端末装置３０において、ＣＰＵ３１の制御に従って通信Ｉ／Ｆ３４を介して受信され、受信されたアプリケーションがストレージ３５に送信され記憶される。このアプリケーションは、ユーザによる端末装置３０の操作に応じて起動され、端末装置３０に実装されたＮｇＣｏｒｅ（商標）やＡｎｄｒｏｉｄ（商標）等の実行環境上で実行される。サーバ１０は、端末装置３０で実行されているアプリケーションに対して必要な各種データを提供し得る。また、サーバ１０は、端末装置３０から送信される各種データをユーザ毎に記憶することで、ユーザ毎にゲームの進行等の各種サービスの状況を管理することができる。
【００１７】
このように、サーバ１０は、各種サービスを提供するウェブサイトを管理し、当該ウェブサイトを構成するウェブページを端末装置３０からの要求に応じて配信することにより、各種サービスを提供することができる。また、サーバ１０は、このようなブラウザベースのサービスとは代替的に、又は、ブラウザベースのサービスに加えて、端末装置３０で実行されるアプリケーションとの通信に基づいて各種サービスを提供することができる。詳細な説明は省略するが、サーバ１０は、各種サービスの提供開始時におけるユーザの認証処理や各種サービスの提供に応じて発生する課金処理を行う機能等を有することもできる。
【００１８】
端末装置３０は、一実施形態において、サーバ１０から取得したウェブサイトのウェブページをウェブブラウザ上で表示すると共にアプリケーションを実行するためのアプリケーション実行環境を実装した任意の情報処理装置であり、パーソナルコンピュータ、スマートフォン、タブレット端末、及びゲーム専用端末等が含まれ得る。
【００１９】
端末装置３０は、図示のとおり、ＣＰＵ（物理的なコンピュータプロセッサ）３１と、メインメモリ３２と、ユーザＩ／Ｆ３３と、通信Ｉ／Ｆ３４と、ストレージ３５と、を含み、これらの各構成要素がバス３６を介して互いに電気的に接続されている。
【００２０】
ＣＰＵ３１は、ストレージ３５から様々なプログラムをメインメモリ３２にロードし、ロードしたプログラムに含まれる命令を実行する。メインメモリ３２は、ＣＰＵ３１が実行するプログラムを格納するために用いられ、例えば、ＤＲＡＭによって構成される。
【００２１】
ユーザＩ／Ｆ３３は、ユーザの入力を受け付ける情報入力装置と、ＣＰＵ３１の演算結果を出力する情報出力装置であり、タッチパネルを備える液晶ディスプレイなどの表示装置を含む。
【００２２】
通信Ｉ／Ｆ３４は、ハードウェア、ファームウェア、又は、ＴＣＰ／ＩＰドライバやＰＰＰドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網２０を介してサーバ１０と通信可能に構成される。
【００２３】
ストレージ３５は、例えば磁気ディスクドライブやフラッシュメモリ等により構成され、オペレーティングシステム及びアプリケーションプログラム等の様々なプログラム、並びにこれらのプログラムによって扱われる様々なデータ（例えば、アプリケーションプログラムに含まれる画像ファイル等）を記憶し得る。ここで、ストレージ３５は、内蔵ストレージ及び取り外し可能なリムーバブルストレージの両方が含まれ得る。リムーバブルストレージとしては、例えば、フラッシュメモリが内蔵されたＳＤメモリカード等が含まれ得る。
【００２４】
このようなアーキテクチャを有する端末装置３０は、例えば、ＨＴＭＬデータを解釈して画面表示するためのブラウザソフトウェアを備えており、このブラウザソフトウェアの機能によりサーバ１０から取得したＨＴＭＬデータを解釈して、受信したＨＴＭＬデータに対応するウェブページを表示することができる。また、端末装置３０は、ブラウザソフトウェアに組み込まれるプラグインソフトを備えており、ＨＴＭＬデータに埋め込まれたＳＷＦ形式等のファイルをサーバ１０又は他のサーバ等から取得し、当該ＳＷＦ形式のファイルをブラウザソフトウェア及びプラグインソフトを用いて実行することもできる。
【００２５】
端末装置３０においてブラウザソフトウェア又はアプリケーションプログラムが実行されると、例えば、プログラムにより指示されたアニメーションや操作用アイコンが端末装置３０に表示される。ユーザは、端末装置３０のユーザＩ／Ｆ３３を用いて各種指示を入力することができる。ユーザから入力された指示は、端末装置３０のブラウザやＮｇＣｏｒｅ（商標）等の実行環境の機能を通じてサーバ１０に伝達される。
【００２６】
端末装置３０において実行される複数のアプリケーションプログラムの少なくとも一部は、端末装置３０に表示する画面領域の少なくとも一部に、ＨＴＭＬデータを解釈してウェブページに相当する表示画面を表示可能な領域（ＷｅｂＶｉｅｗ領域）が設定されている。こうしたＷｅｂＶｉｅｗ領域が設定されているアプリケーションプログラムでは、端末装置３０に表示する画面のうち、ＷｅｂＶｉｅｗ領域の表示をサーバ１０に対して要求し、ＷｅｂＶｉｅｗ領域以外の領域の表示を（サーバ１０に対して要求することなく）端末装置３０（アプリケーションプログラム）によって行う。
【００２７】
次に、一実施形態におけるサーバ１０が有する機能について説明する。図２は、一実施形態におけるサーバ１０が有する機能を概略的に示すブロック図である。一実施形態におけるサーバ１０は、図示するように、情報を記憶する記憶部５１と、端末装置３０からの表示画面の表示要求に応答し、この端末装置３０の処理能力及びこの端末装置３０との間の通信能力に少なくとも基づく所定の選択条件に従って選択される端末装置３０のストレージ３５（端末用記憶装置）に記憶されている画像ファイル及びサーバ１０のストレージ１５（サーバ用記憶装置）に記憶されている画像ファイルの何れか一方を用いて、この画像ファイルに対応する画像を含む表示画面を端末装置３０に表示させる表示制御部５２と、を有する。これらの機能は、ＣＰＵ１１やメインメモリ１２、ストレージ１５に記憶されている各種プログラムやテーブルなどが協働して動作することによって実現され、例えば、ＣＰＵ１１がロードしたプログラムに含まれる命令を実行することによって実現される。
【００２８】
一実施形態における記憶部５１は、ストレージ１５等によって実現され、サーバ１０に通信可能に接続された端末装置３０の処理能力及び通信能力に関する情報を管理する端末能力管理テーブル５１ａと、端末装置３０に表示させる表示画面に含まれる画像に対応する画像ファイルを管理する画像ファイル管理データベース５１ｂとを有する。図３は、一実施形態の端末能力管理テーブル５１ａによって管理される情報の一例を示す図である。端末能力管理テーブル５１ａは、図示するように、端末装置３０を識別する「端末ＩＤ」に対応付けて、この端末装置３０に割り当てられている「ＩＰアドレス」、この端末装置３０とサーバ１０との間の通信に用いられているネットワークの種別を示す「ネットワーク種別」、この端末装置３０のモデルを示す「端末モデル」等の情報を管理する。ここで「ネットワーク種別」には、具体的には、「ＷｉＦｉ」、「３Ｇ」、「ＬＴＥ」等を示す値が設定され、こうしたネットワークの種別は、例えば、端末装置３０に割り当てられているＩＰアドレスから判別することができる。また「端末モデル」には、端末装置３０のメーカー、機種及びＯＳ等を特定可能なモデル名等を示す値が設定され、こうしたモデル名等は、例えば、端末装置３０のＯＳの機能によって取得されたモデル名等に関する情報を端末装置３０から取得することができる。この端末能力管理テーブル５１ａによって管理される情報は、例えば、端末装置３０がサーバ１０に通信可能に接続したタイミングでサーバ１０によって登録される。ここで、端末能力管理テーブル５１ａによって管理される情報を、定期的に又は任意のタイミングで更新するようにしても良い。
【００２９】
一実施形態における画像ファイル管理データベース５１ｂは、端末装置３０に表示させる表示画面に含まれる画像に対応する画像ファイル自体が格納されると共に、この画像ファイルに関する情報（データサイズ等）が管理されている。ここで、画像ファイル管理データベース５１ｂは、サーバ１０と通信可能なストレージ１５とは別の装置に構成することもできる。
【００３０】
次に、こうして構成された一実施形態におけるサーバ１０の動作について説明する。図４は、一実施形態におけるサーバ１０によって実行される表示制御処理の一例を示すフロー図である。この表示制御処理は、端末装置３０から表示画面の表示要求を受信したときにサーバ１０の表示制御部５２によって実行される。例えば、端末装置３０にインストールされているアプリケーションプログラムが実行され、このアプリケーションプログラムの実行に応じて端末装置３０にログイン画面等の初期画面を表示する際に、この初期画面の画面領域の一部として設定されているＷｅｂＶｉｅｗ領域に表示する表示画面の表示要求が、端末装置３０からサーバ１０に対して行われる。
【００３１】
表示制御処理では、まず、図示するように、表示要求のなされた表示画面に含まれる画像に対応する画像ファイルのデータサイズを取得する（ステップＳ１００）。一実施形態では、画像ファイルのデータサイズは、上述したように、画像ファイル管理データベース５１ｂで管理されており、サーバ１０は、表示要求のなされた表示画面に含まれる１又は複数の画像にそれぞれ対応する画像ファイルのデータサイズを、画像ファイル管理データベース５１ｂから取得する。
【００３２】
次に、表示画面の表示要求を行った端末装置３０の処理能力、及び、この端末装置３０との間の通信能力に関する情報を取得する（ステップＳ１１０）。具体的には、一実施形態では、表示画面の表示要求を行った端末装置３０の処理能力に関する情報として、端末能力管理テーブル５１ａで管理されている「端末モデル」の値を取得し、この端末装置３０との間の通信能力に関する情報として、同じく端末能力管理テーブル５１ａで管理されている「ネットワーク種別」の値を取得する。
【００３３】
こうして、表示画面に含まれる画像に対応する画像ファイルのデータサイズ、端末装置３０の処理能力に関する情報、及び、端末装置３０との間の通信能力に関する情報を取得すると、これらの情報に基づいて、端末装置３０が表示画面の表示に用いる画像ファイルの取得先として端末装置３０（具体的にはストレージ３５等）又はサーバ１０（具体的にはストレージ１５等）の何れか一方を選択する（ステップＳ１２０）。画像ファイルのデータサイズ、端末装置３０の処理能力、及び端末装置３０との間の通信能力に基づく画像ファイルの取得先の選択は、様々な選択条件を適用して行うことができる。例えば、端末装置３０及びサーバ１０それぞれを取得先とした場合に、端末装置３０によって画像ファイルを取得して対応する画像を表示するのに要する時間（画像の表示に要する全体の所要時間）の予測値が小さい何れか一方を、画像ファイルの取得先として選択するような選択条件を適用することができる。
【００３４】
ここで、端末装置３０による画像の表示に要する全体の所要時間の予測値が小さい何れか一方を画像ファイルの取得先とする選択条件の具体例を説明する。一実施形態では、端末装置３０において表示画面に含まれる画像を表示する際には、端末装置３０において、エンコード処理（所定の変換処理、例えば、ｂａｓｅ６４エンコード処理）が施された画像ファイル（以下、「エンコード化画像ファイル」と言うことがある。）をレンダリングして表示する。また、この画像ファイルに対するエンコード処理は、画像ファイルの取得先が端末装置３０である場合には端末装置３０側で実行され、画像ファイルの取得先がサーバ１０である場合にはサーバ１０側で実行される。ここで、画像ファイルの取得先を端末装置３０とする場合には、この画像ファイルに対応する画像の表示に要する全体の所要時間は、以下の時間の合計と考えることができる。
（１）端末装置３０を画像ファイルの取得先とする場合の全体の所要時間
（１−１）画像ファイルのストレージ３５等からの読み出し時間
（１−２）画像ファイルのエンコード処理時間
（１−３）エンコード化画像ファイルのレンダリング時間
また、画像ファイルの取得先をサーバ１０とする場合には、この画像ファイルに対応する画像の表示に要する所要時間は、以下の時間の合計と考えることができる。
（２）サーバ１０を画像ファイルの取得先とする場合の全体の所要時間
（２−１）エンコード化画像ファイルのサーバ１０からの転送時間
（２−２）エンコード化画像ファイルのレンダリング時間
例えば、これらの時間のうち、全体の所要時間に対する影響が大きいと考えられる「（１−２）画像ファイルのエンコード処理時間」、及び、「（２−１）エンコード化画像ファイルの転送時間」に着目することができる。そして、これらを比較した結果、「（１−２）画像ファイルのエンコード処理時間」の方が短い場合には端末装置３０を取得先として選択し、「（２−１）エンコード化画像ファイルの転送時間」の方が短い場合にはサーバ１０を取得先とする選択条件とすることができる。
【００３５】
ここで、「（１−２）画像ファイルのエンコード処理時間」は、例えば、「画像ファイルのデータサイズ／端末装置３０の処理能力」という計算式で求めることができ、又、「（２−１）エンコード化画像ファイルの転送時間」は、「エンコード化画像ファイルのデータサイズ／端末装置３０との間の通信能力」という計算式で求めることができる。また、「エンコード化画像ファイル」のデータサイズは、元の画像ファイル（エンコード処理が施される前の画像ファイル）のデータサイズに基づいて計算することができる（例えば、ｂａｓｅ６４エンコード処理がなされる場合には、エンコード化画像ファイルのデータサイズは、元の画像ファイルのデータサイズの４／３倍（約１．３倍）とすることができる）。そして、端末装置３０の処理能力として、上述した「端末モデル」毎に単位時間当たりにエンコード処理を可能なデータサイズを予め設定しておくと共に、端末装置３０との間の通信能力として、上述した「ネットワーク種別」毎に単位時間当たりに転送可能なデータサイズ（通信速度）を予め設定しておくことにより、「（１−２）画像ファイルのエンコード処理時間」及び「（２−１）エンコード化画像ファイルの転送時間」をそれぞれ計算することができる。
【００３６】
ここで、「（１−２）画像ファイルのエンコード処理時間」は「画像ファイルのデータサイズ／端末装置３０の処理能力」によって計算することができるから、端末装置３０の処理能力が高いほど、「（１−２）画像ファイルのエンコード処理時間」は短くなる。従って、この選択条件は、端末装置３０の処理能力が高いほど、画像ファイルの取得先として端末装置３０が優先して選択される傾向の条件であると言える。また、「（２−１）エンコード化画像ファイルの転送時間」は、「エンコード化画像ファイルのデータサイズ／端末装置３０との間の通信能力」によって計算することができるから、端末装置３０との間の通信能力が高いほど、「（２−１）エンコード化画像ファイルの転送時間」は短くなる。従って、この選択条件は、端末装置３０との間の通信能力が高いほど、画像ファイルの取得先としてサーバ１０が優先して選択される傾向の条件であると言える。さらに、「（２−１）エンコード化画像ファイルの転送時間」は、「エンコード化画像ファイルのデータサイズ／端末装置３０との間の通信能力」によって計算することができ、一実施形態では、このエンコード化画像ファイルのデータサイズは、元の画像ファイルのデータサイズに所定の倍率（例えば、約１．３倍）を乗じた値となっている。従って、元の画像ファイルのデータサイズが大きくなるに従って増大する時間の変化量は、「画像ファイルのデータサイズ／端末装置３０の処理能力」によって計算される「（１−２）画像ファイルのエンコード処理時間」よりも、「エンコード化画像ファイルのデータサイズ／端末装置３０との間の通信能力」によって計算される「（２−１）エンコード化画像ファイルの転送時間」の方が大きくなる。即ち、この選択条件は、画像ファイルのデータサイズが大きいほど、画像ファイルの取得先として端末装置３０が優先して選択される傾向の条件であると言える。
【００３７】
また、上述した所要時間の予測値の比較に代えて、画像ファイルのデータサイズ、端末装置３０の処理能力（具体的には「端末モデル」）、及び、端末装置３０との間の通信能力（具体的には「ネットワーク種別」）の組合せ毎に画像ファイルの取得先を予め設定しておき、この設定内容に従って画像ファイルの取得先を選択するようにすることもできる。図５は、こうした画像ファイルの取得先の選択条件を予め設定した選択条件テーブルの一例である。この例では、図示するように、画像ファイルのデータサイズの範囲及び端末装置３０の「端末モデル」の組合せ毎に、画像ファイルの取得先を選択する基準値となる通信速度の値が設定されている。例えば、図示するように、画像ファイルのデータサイズが「５０１ＫＢｙｔｅ以上」であって、端末装置３０の「端末モデル」が「モデルＡ」である場合には、通信速度の基準値は１６Ｍｂｐｓに設定されている。そして、端末装置３０との間の「ネットワーク種別」に対応する通信速度（予め「ネットワーク種別」毎に設定しておく）がこの基準値以上である場合には、画像ファイルの取得先としてサーバ１０が選択され、基準値未満である場合には、画像ファイルの取得先として端末装置３０が選択される。
【００３８】
また、図５の例では、「端末モデル」が「モデルＡ」の場合の方が「モデルＢ」の場合よりも、通信速度の基準値として大きな値が設定され、「モデルＡ」の場合の方が「モデルＢ」の場合よりも画像ファイルの取得先として端末装置３０が優先して選択される傾向となっている。これは、「モデルＡ」の方が「モデルＢ」よりも処理能力が高い（例えば、ＣＰＵの性能が高い）ことに基づく。即ち、この選択条件は、上述したように、端末装置３０の処理能力が高いほど画像ファイルの取得先として端末装置３０が優先して選択される傾向にあるから、処理能力が比較的高い「モデルＡ」では、「モデルＢ」と比較して通信速度の基準値として大きな値が設定されており、「ネットワーク種別」に対応する通信速度が速く（大きな基準値以上の通信速度であり）上述した「（２−１）エンコード化画像ファイルの転送時間」が大きく短縮される場合を除き、画像ファイルの取得先として端末装置３０が選択されることになる。
【００３９】
ここで、一実施形態では、表示要求のなされた表示画面に複数の画像が含まれる場合には、この複数の画像にそれぞれ対応する画像ファイル毎に取得先を選択する。従って、表示画面に含まれる複数の画像毎に、画像ファイルの取得先が異なる場合がある。
【００４０】
こうして画像ファイルの取得先を選択すると、表示画面の表示用データを生成して端末装置３０に対して送信し（ステップＳ１３０）、この表示制御処理を終了する。一実施形態では、端末装置３０に送信する表示画面の表示用データには、端末装置３０に、ステップＳ１２０で選択された取得先に記憶されている画像ファイルを用いて表示画面を表示させるための命令が含まれている。より具体的には、例えば、選択された取得先がサーバ１０である（サーバ１０に記憶されている画像ファイルを用いる）場合には、サーバ１０によってエンコード処理（例えば、ｂａｓｅ６４エンコード処理）のなされたエンコード化画像ファイル（例えば、英数字によって構成されるデータ）を表示用データ（例えば、ＨＴＭＬデータ）に付加して端末装置３０に送信し、選択された取得先が端末装置３０である（端末装置３０に記憶されている画像ファイルを用いる）場合には、この画像ファイルの取得先が端末装置３０であることを示す情報を表示用データに付加して端末装置３０に送信する。そして、サーバ１０から表示用データを受信した端末装置３０では、上述した命令に従って、受信した表示用データに付加されているエンコード化画像ファイルを用いてレンダリングし、又は、端末装置３０のストレージ３５等から読み出した画像ファイルに対してエンコード処理を実行した上でレンダリングし、画像ファイルに対応する画像を含む表示画面を表示する。こうした表示画面を表示する処理は、当業者にとって一般的な処理であるから、これ以上の詳細な説明は省略する。
【００４１】
ここで、上述した実施形態では、表示画面に複数の画像が含まれる場合に、この複数の画像にそれぞれ対応する画像ファイル毎に取得先を選択するようにしたが、必ずしも複数の画像ファイルの全てについて取得先を選択する必要はない。例えば、データサイズが大きい（所定の閾値以上の）画像ファイルのみの取得先を上述した選択条件に従って選択し、データサイズが小さい（所定の閾値未満の）画像ファイルについては、一律に、端末装置３０及びサーバ１０の何れか一方（例えば、サーバ１０）を取得先とするようにしても良い。また、表示画面に複数の画像が含まれる場合に、複数の画像ファイル毎に取得先を選択し、この選択結果に基づいて、複数の画像ファイルの取得先として１つの取得先を決定する（複数の画像ファイルの取得先を統一する）ようにしても良い（例えば、取得先として選択された画像ファイルの数が多い何れか一方に統一する）。さらに、表示画面に複数の画像が含まれる場合に、複数の画像ファイルのデータサイズの合計値に基づいて、複数の画像ファイルの取得先として１つの取得先を選択するようにしても良い。
【００４２】
以上説明した一実施形態におけるサーバ１０では、端末装置３０からの表示画面の表示要求に応答し、この端末装置３０の処理能力及びこの端末装置との間の通信能力に少なくとも基づく所定の選択条件に従って選択される端末装置３０（ストレージ３５、端末用記憶装置）に記憶されている画像ファイル及びサーバ１０（ストレージ１５、サーバ用記憶装置）に記憶されている画像ファイルの何れか一方を用いて、画像ファイルに対応する画像を含む表示画面を端末装置３０に表示させる。従って、端末装置３０の処理能力及び端末装置３０との間の通信能力に基づくより適切な取得先に記憶されている画像ファイルを用いて表示画面を表示させることができ、この結果、端末装置３０における画像を含む画面の表示に要する時間を短縮することができる。
【００４３】
また、一実施形態におけるサーバ１０では、端末装置３０の処理能力及び端末装置３０との間の通信能力に加え、画像ファイルのデータサイズに基づいて画像ファイルの取得先を選択するから、より適切な取得先に記憶されている画像ファイルを用いて表示画面を表示させることができる。例えば、元の画像ファイルのデータサイズの変化量と、所定の変換処理（一実施形態では、ｂａｓｅ６４エンコード処理等のエンコード処理）を施した後の画像ファイルのデータサイズの変化量とが異なる場合であって、この所定の変換処理が、元の画像ファイルの取得先に応じて異なる場合（一実施形態では、元の画像ファイルの取得先が端末装置３０である場合には端末装置３０側でエンコード処理を実行し、取得先がサーバ１０である場合にはサーバ１０側でエンコード処理を実行する）等において、より適切な取得先に記憶されている画像ファイルを用いて表示画面を表示させることができる。
【００４４】
一実施形態では、端末装置３０の処理能力及び端末装置３０との間の通信能力に加え、画像ファイルのデータサイズに基づいて画像ファイルの取得先を選択するようにしたが、画像ファイルのデータサイズについては考慮せずに、端末装置３０の処理能力及び端末装置３０との間の通信能力に基づいて画像ファイルの取得先を選択するようにしても良い。
【００４５】
一実施形態では、端末装置３０の処理能力に関する情報として「端末モデル」を例示し、端末装置３０との間の通信能力に関する情報として「ネットワーク種別」を例示したが、これらの情報に代えて、又は、これらの情報に加えて、端末装置３０の処理能力や端末装置３０との間の通信能力に関連するその他の情報を適用することもできる。例えば、上述した処理能力や通信能力を示す値（例えば、レイテンシ、電波強度等）を端末装置３０側で取得又は計測し、この取得又は計測された値を端末装置３０から取得するようにしても良い。
【００４６】
一実施形態では、画像ファイルの取得先を選択する処理（具体的には、表示制御処理のステップＳ１２０）をサーバ１０側で行うようにしたが、端末装置３０側で行うようにすることもできる。例えば、画像ファイルの取得先を選択する上述した選択条件に従うアルゴリズムを実装したプログラムを端末装置３０側で実行させると共に端末装置３０の処理能力及び通信能力に関する情報等をサーバ１０から端末装置３０に対して送信し、端末装置３０側でこのプログラムを実行することによって、画像ファイルの取得先を選択する処理を端末装置３０側で行うようにすることができる。この場合において、画像ファイルの取得先としてサーバ１０が選択された場合には、端末装置３０からサーバ１０に対して、画像ファイル（又はエンコード化画像ファイル）を要求するようにすれば良い。
【００４７】
本明細書で説明された処理及び手順は、実施形態中で明示的に説明されたもの以外にも、ソフトウェア、ハードウェアまたはこれらの任意の組み合わせによって実現される。より具体的には、本明細書で説明される処理及び手順は、集積回路、揮発性メモリ、不揮発性メモリ、磁気ディスク、光ストレージ等の媒体に、当該処理に相当するロジックを実装することによって実現される。また、本明細書で説明される処理及び手順は、それらの処理・手順をコンピュータプログラムとして実装し、各種のコンピュータに実行させることが可能である。
【００４８】
本明細書中で説明される処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理または手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び／又は複数のモジュールによって実行され得る。また、本明細書中で説明されるデータ、テーブル、又はデータベースが単一のメモリに格納される旨説明されたとしても、そのようなデータ、テーブル、又はデータベースは、単一の装置に備えられた複数のメモリまたは複数の装置に分散して配置された複数のメモリに分散して格納され得る。さらに、本明細書において説明されるソフトウェアおよびハードウェアの要素は、それらをより少ない構成要素に統合して、またはより多い構成要素に分解することによって実現することも可能である。
【００４９】
本明細書において、発明の構成要素が単数もしくは複数のいずれか一方として説明された場合、又は、単数もしくは複数のいずれとも限定せずに説明された場合であっても、文脈上別に解すべき場合を除き、当該構成要素は単数又は複数のいずれであってもよい。
【符号の説明】
【００５０】
１  システム
１０  サーバ
２０  通信網
３０  端末装置
５１  記憶部
５２  表示制御部
【図１】
2015146565.tif 000003
【図２】
2015146565.tif 000004
【図３】
2015146565.tif 000005
【図４】
2015146565.tif 000006
【図５】
2015146565.tif 000007