(57)【要約】【課題】本発明の目的とするところは、限定されたリソースを有するデバイスに装着されたブラウザで比較的にオーバーヘッドの大きい作業を円滑に行うことができる端末装置、サーバ、端末装置のブラウザ駆動システム、端末装置のブラウザ駆動方法を提供することにある。【解決手段】端末装置のブラウザ駆動方法が開示される。本発明の多様な実施形態に係る端末装置のブラウザ駆動方法は、端末装置内でブラウザを駆動するための第１演算に必要なリソースを確認するステップと、リソースがないか、又は不足している場合、外部装置に第１演算を要求するステップと、外部装置から第１演算結果によるデータを受信するステップと、受信されたデータを用いてブラウザにデータを表示するステップとを含む。【選択図】図１
2014157604.tif 000002
【特許請求の範囲】
【請求項１】
端末装置のブラウザ駆動方法において、
前記端末装置内で前記ブラウザを駆動するための第１演算に必要なリソースを確認するステップと、
前記リソースがないか、又は不足している場合、外部装置に前記第１演算を要求するステップと、
前記外部装置から前記第１演算結果によるデータを受信するステップと、
前記受信されたデータを用いて前記ブラウザにデータを表示するステップと
を含む端末装置のブラウザ駆動方法。
【請求項２】
前記データ表示ステップは、
前記受信されたデータを用いて前記ブラウザにイメージをレンダリングする作業であることを特徴とする請求項１に記載の端末装置のブラウザ駆動方法。
【請求項３】
前記リソース確認ステップは、
前記端末装置のメモリ、動作中のプロセス及び処理速度のうちの少なくとも１つに基づいて、予め設定された時間内に計算を行うことができるかを判断することを特徴とする請求項１に記載の端末装置のブラウザ駆動方法。
【請求項４】
前記リソースが不足しているか、又はない場合、前記第１演算を行う外部装置を選択してチャネルを形成するステップを更に含むことを特徴とする請求項１に記載の端末装置のブラウザ駆動方法。
【請求項５】
前記チャネル形成ステップは、
前記端末装置と外部装置とを接続するネットワーク状態を考慮し、前記第１演算を行う外部装置を選択することを特徴とする請求項４に記載の端末装置のブラウザ駆動方法。
【請求項６】
前記外部装置は、
サーバ又は別の端末装置であることを特徴とする請求項１に記載の端末装置のブラウザ駆動方法。
【請求項７】
第１演算は、ウェブワーカスレッド処理実行作業であることを特徴とする請求項１に記載の端末装置のブラウザ駆動方法。
【請求項８】
前記第１演算と独立して、前記端末装置内で前記ブラウザを駆動するための第２演算を行うステップを更に含むことを特徴とする請求項１に記載の端末装置のブラウザ駆動方法。
【請求項９】
端末装置のブラウザ駆動のための演算方法において、
端末装置のリソースが不足しているか、又はない場合、前記端末装置からブラウザを駆動するための演算要求を受信するステップと、
前記受信された演算要求に応じて前記演算を行うステップと、
前記行われた演算結果データを前記外部装置に伝送するステップと
を含むブラウザ駆動のための演算方法。
【請求項１０】
端末装置のブラウザ駆動方法において、
前記端末装置が前記ブラウザを駆動するための演算に必要なリソースを確認するステップと、
前記リソースが不足しているか、又はない場合、前記端末装置が外部装置に前記演算を要求するステップと、
前記外部装置が前記演算を行うステップと、
前記外部装置が前記演算結果によるデータを前記端末装置に伝送するステップと、
前記端末装置が前記受信したデータを用いて前記ブラウザにデータを表示するステップと
を含む端末装置のブラウザ駆動方法。
【請求項１１】
ブラウザをディスプレイするディスプレイ部と、
外部装置と通信する通信部と、
端末装置内にブラウザを駆動するための演算に必要なリソースが不足しているか、又はない場合、前記外部装置に前記演算を要求し、演算結果によるデータを受信し、前記受信されたデータを用いて前記ブラウザにデータを表示するように制御する制御部と
を含む端末装置。
【請求項１２】
前記制御部は、
前記受信されたデータを用いて前記ブラウザにイメージをレンダリングすることを特徴とする請求項１１に記載の端末装置。
【請求項１３】
前記制御部は、
前記端末装置のメモリ、動作中のプロセス及び処理速度のうちの少なくとも１つに基づいて、予め設定された時間内に計算を行うことができるかを判断することで、前記リソースが不足しているか、又はないかを判断することを特徴とする請求項１１に記載の端末装置。
【請求項１４】
前記制御部は、
前記リソースが不足しているか、又はない場合、前記演算を行う外部装置を選択してチャネルを形成するように制御することを特徴とする請求項１１に記載の端末装置。
【請求項１５】
前記制御部は、
前記端末装置と外部装置とを接続するネットワーク状態を考慮し、前記演算を行う外部装置を選択することを特徴とする請求項１４に記載の端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置におけるブラウザ駆動に関し、より詳細には、端末装置でブラウザ駆動のための演算処理を外部装置が行う端末装置、サーバ、端末装置のブラウザ駆動システム、端末装置のブラウザ駆動方法に関する。
【背景技術】
【０００２】
ブラウザはインターネットを含むネットワークで情報を検索するのに使用する応用プログラムのことをいう。応用プログラムは、運営体制の一部として装着されてよく、別途のアプリケーションで実現されてよい。ウェブブラウザ或いはインターネットブラウザと呼ばれることもある。
【０００３】
ブラウザは、ウェブ上に存在するデータを収集して一定のフォーマットに応じて加工してグラフィック的に写したり、サウンドを伝達する。例えば、ウェブページ上のテキスト情報、動画、音楽ストリーミング、特定サーバのログイン機能等を提供する。技術的に、ウェブブラウザは、ＨＴＭＬ／ＣＳＳ／Ｊａｖａｓｃｒｉｐｔ（登録商標）／Ｉｍａｇｅ等のリソースを分析してレンダリングする。
【０００４】
一例として、ジャバスクリプト（Ｊａｖａｓｃｒｉｐｔ）（登録商標）は、コンパイルなしに動的にユーザとインタラクションを行うことができるスクリプトウェブ言語として広く使用されている。ジャバスクリプトがウェブを通じてユーザ端末に伝達され、ユーザとインタラクションのために使用される。このとき、ジャバスクリプトの実行（Ｅｘｅｃｕｔｉｏｎ）は、ユーザ端末上で行われる。
【０００５】
このように、ジャバスクリプトがユーザ端末で行われる場合、ブラウザの作業処理能力は、ユーザ端末リソースと性能に依存する。例えば、ブラウザ上で動画を再生させる場合、ブラウザが装着されたシステムの運営体制がサポートする動画再生機能が利用される。よって、ウェブを通じて提供される動画が特定の方式でエンコードされた場合、運営体制が前記動画のデコードのためのコーデックをサポートしない場合、ブラウザは動画を再生させることができなくなる。
【０００６】
なお、ブラウザが処理すべき作業のオーバーヘッドが大きく、ブラウザを装着したデバイスの性能が十分ではない場合、ブラウザの処理速度は落ちるようになる。例えば、ブラウザを通じて外部サーバから提供される五目並べゲームを楽しむ場合を考えることができる。ユーザが、ゲームで設定された仮想のユーザ（コンピュータ）との五目並べをする場合、仮想のユーザが五目石を置く数の計算がブラウザを装着したデバイスで行われると仮定すると、ゲームのレベルがアップするにつれて複雑になる場合の数計算が必要になる。ブラウザは、デバイスのリソースを用いて、場合の数計算を行うだろうが、システムの限られた性能によって、ブラウザのゲーム実行性能が落ちるおそれがある。特に、モバイル装置の場合、システムリソースがより限定的であるため、ブラウザは性能ストレスを受けるようになる。
【０００７】
一方、現在のウェブプログラムエンジンを装着したブラウザの多くは、単一スレッド環境をサポートする。すなわち、順次のパーシング過程を通じて、一度にウェブプログラムを実行する。単一スレッド方式は、ウェブプログラム中間に別途の計算を行うための呼び出しを行い、戻り値を得る場合、戻り値が得られるまで、ウェブプログラムの次のラインの実行は不可能である。よって、戻り値を得るまで、作業に時間がかかるスクリプトを行うと、プログラムの実行時間の遅延は避けられない。
【０００８】
例えば、マルチスレッドをサポートしつつ、限定されたリソースを有するデバイスに装着されたブラウザで比較的にオーバーヘッドの大きい作業を円滑に行うことができる方策が求められる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】韓国特開第2013-0133203号公報
【特許文献２】米国特開第2011−0282940号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、限定されたリソースを有するデバイスに装着されたブラウザで比較的にオーバーヘッドの大きい作業を円滑に行うことができる端末装置、サーバ、端末装置のブラウザ駆動システム、端末装置のブラウザ駆動方法を提供することにある。
【課題を解決するための手段】
【００１１】
以上のような目的を達成するための本発明の一実施形態に係る端末装置のブラウザ駆動方法は、前記端末装置内で前記ブラウザを駆動するための第１演算に必要なリソースを確認するステップと、前記リソースがないか、又は不足している場合、外部装置に前記第１演算を要求するステップと、前記外部装置から前記第１演算結果によるデータを受信するステップと、前記受信されたデータを用いて前記ブラウザにデータを表示するステップとを含む。
【００１２】
前記データ表示ステップは、前記受信されたデータを用いて前記ブラウザにイメージをレンダリングする作業であってよい。
【００１３】
なお、前記リソース確認ステップは、前記端末装置のメモリ、動作中のプロセス及び処理速度のうちの少なくとも１つに基づいて、予め設定された時間内に計算を行うことができるかを判断してよい。
【００１４】
前記端末装置のブラウザ駆動方法は、前記リソースが不足しているか、又はない場合、前記第１演算を行う外部装置を選択してチャネルを形成するステップを更に含んでよい。
【００１５】
なお、前記チャネル形成ステップは、前記端末装置と外部装置とを接続するネットワーク状態を考慮し、前記第１演算を行う外部装置を選択してよい。
【００１６】
なお、前記外部装置は、サーバ又は別の端末装置であってよい。
【００１７】
このとき、第１演算は、ウェブワーカスレッド処理実行作業であってよい。
【００１８】
前記端末装置のブラウザ駆動方法は、前記第１演算と独立して、前記端末装置内で前記ブラウザを駆動するための第２演算を行うステップを更に含んでよい。
【００１９】
以上のような目的を達成するための本発明の一実施形態に係る端末装置のブラウザ駆動のための演算方法は、端末装置のブラウザ駆動のための演算方法において、端末装置のリソースが不足しているか、又はない場合、前記端末装置からブラウザを駆動するための演算要求を受信するステップと、前記受信された演算要求に応じて前記演算を行うステップと、前記行われた演算結果データを前記外部装置に伝送するステップとを含む。
【００２０】
なお、以上のような目的を達成するための本発明の一実施形態に係る端末装置のブラウザ駆動方法は、端末装置のブラウザ駆動方法において、前記端末装置が前記ブラウザを駆動するための演算に必要なリソースを確認するステップと、前記リソースが不足しているか、又はない場合、前記端末装置が外部装置に前記演算を要求するステップと、前記外部装置が前記演算を行うステップと、前記外部装置が前記演算結果によるデータを前記端末装置に伝送するステップと、前記端末装置が前記受信したデータを用いて前記ブラウザにデータを表示するステップとを含む。
【００２１】
以上のような目的を達成するための本発明の一実施形態に係る端末装置は、前記ブラウザをディスプレイするディスプレイ部と、外部装置と通信する通信部と、端末装置内にブラウザを駆動するための演算に必要なリソースが不足しているか、又はない場合、前記外部装置に前記演算を要求し、演算結果によるデータを受信し、前記受信されたデータを用いて前記ブラウザにデータを表示するように制御する制御部とを含む。
【００２２】
なお、前記制御部は、前記受信されたデータを用いて前記ブラウザにイメージをレンダリングしてよい。
【００２３】
なお、前記制御部は、前記端末装置のメモリ、動作中のプロセス及び処理速度のうちの少なくとも１つに基づいて、予め設定された時間内に計算を行うことができるかを判断することで、前記リソースが不足しているか、又はないかを判断することができる。
【００２４】
なお、前記制御部は、前記リソースが不足しているか、又はない場合、前記演算を行う外部装置を選択してチャネルを形成するように制御してよい。
【００２５】
なお、前記制御部は、前記端末装置と外部装置とを接続するネットワーク状態を考慮し、前記演算を行う外部装置を選択してよい。
【００２６】
なお、前記外部装置は、サーバ又は別の端末装置であってよい。
【００２７】
なお、演算は、ウェブワーカスレッド処理実行作業であってよい。
【００２８】
なお、前記端末装置は、モバイル装置であってよい。
【００２９】
以上のような目的を達成するための本発明の一実施形態に係るサーバは、端末装置と通信を行う通信部と、前記端末装置のリソースが不足しているか、又はない場合、前記端末装置からブラウザを駆動するための演算要求を受信し、前記受信された演算要求に応じて前記演算を行い、前記行われた演算結果データを前記外部装置に伝送するように制御する制御部とを含む。
【００３０】
以上のような目的を達成するための本発明の一実施形態に係る端末装置のブラウザ駆動システムは、ブラウザを駆動するための演算に必要なリソースが不足しているか、又はない場合、第２装置に前記演算を要求し、前記第２装置から受信された演算結果を用いて前記ブラウザにデータを表示する第１装置と、前記第１装置の要求がある場合、前記演算を行って演算結果によるデータを前記第１装置に伝送する第２装置とを含む。
【発明の効果】
【００３１】
以上説明したように、本発明によれば、限定されたリソースを有するデバイスに装着されたブラウザで比較的オーバーヘッドの大きい作業を円滑に行うことができるようになる。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施形態に係る端末装置のブラウザ駆動方法のグローチャートである。
【図２】本発明の別の実施形態に係る端末装置のブラウザ駆動方法のフローチャートである。
【図３】本発明の多様な実施形態に係る端末装置のブラウザ駆動のための演算方法のフローチャートである。
【図４】本発明の多様な実施形態に係る端末装置のブラウザ駆動方法のフローチャートである。
【図５】本発明の多様な実施形態に係る端末装置のブラウザ駆動システムのブロック図である。
【図６】本発明の一実施形態に係る端末装置の構成を示すブロック図である。
【図７】本発明の一実施形態に係る外部装置の構成を示すブロック図である。
【図８】本発明の一実施形態に係るウェブワークロード均衡フレームワークを示す図である。
【図９】ＷＷＦのシーケンス図である。
【発明を実施するための形態】
【００３３】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。
【００３４】
図１は、本発明の一実施形態に係る端末装置のブラウザ駆動方法のグローチャートである。
【００３５】
図１を参照すると、本発明の一実施形態に係る端末装置のブラウザ駆動方法は、ブラウザ駆動のためのリソースを確認するステップ（Ｓ１１０）、リソースが不足しているかを判断するステップ（Ｓ１２０）、外部装置に演算を要求するステップ（Ｓ１３０）、外部装置から演算データを受信するステップ（Ｓ１４０）、ブラウザに受信されたデータを表示するステップ（Ｓ１５０）とを含む。
【００３６】
ここで、端末装置は、デバイスに装着されたブラウザを通じてウェブページで提供する情報を検索、サーフィン、表示等を行うことができる機能を提供するモバイル又はステーショナリ（Ｓｔａｔｉｏｎａｒｙ）デバイスである。例えば、スマートフォン、タブレットパソコン、コンピュータ、デジタルテレビ、電子書籍デバイス、ＰＭＰ、ＭＰ３プレーヤのうち、いずれか１つであってよい。
【００３７】
端末装置のブラウザ駆動初期段階において、運営体制はブラウザプロセスをメモリに積載し、実行状態にシフトさせる。ブラウザは、ユーザとインタラクション準備に取り掛かる。
【００３８】
ユーザが、特定ウェブサイトアドレスを入力する等、特定ウェブサービス要求を入力する場合、ブラウザはユーザの要求を解釈する。具体的に、ブラウザは入力されたユーザ要求を解釈し、ウェブサービスの種類と物理的アドレスを把握する。そして、運営体制は、通信ポートを通じてサービスサーバのような外部装置にサービス要求を伝達する。
【００３９】
外部装置は、サービス要求を受信した場合、サービスを要求した端末装置のアドレスとサービスの種類を確認する。そして、ウェブプログラム言語で作成されたテキスト情報を含むサービスデータを端末装置に提供する。
【００４０】
端末装置は、サービスデータを受信し、受信されたサービスデータのパーシングを行う。そして、パーシングを行うことで必要に応じて、端末装置のリソースを利用する。上述の五目並べプログラムを再び考慮すると、端末装置は五目並べプログラムを受信し、ブラウザは受信された五目並べプログラムを分析して実行させる。五目並べプログラムの実行において端末装置のリソースであるメモリ、キャッシュ、ＣＰＵ、サウンドカード、グラフィックカード等が利用される。端末装置の運営体制はブラウザにプロセスを割り当てる。
【００４１】
ステップＳ１１０において、端末装置はブラウザ駆動のために必要なリソースが存在するかを確認する。プログラム実行のために必要なリソースに関する情報は、サービスデータに含まれてよい。それと違って、ブラウザはプログラム実行のためのリソースが何かを判断することもできる。ブラウザは、運営体制にプログラム動作のために必要なリソースが存在するかを問い合わせ、運営体制はリソースの存在有無を報知する。
【００４２】
例えば、ブラウザで動作を再生させる場合、ブラウザが装着されたシステムの運営体制が動画再生をサポートするかを確認する。ウェブを通じて提供される動画が特定方式でエンコードされた場合、ブラウザが装着された端末装置の運営体制が前記動画のデコードのためのコーデックをサポートするかを判断する。コーデックがない場合、ブラウザは動画再生が不可能であるため、外部装置、例えば、サーバ等にコーデックを要求することができる。
【００４３】
なお、動画再生のために、ストリーミングデータを保存することができる十分な保存空間が用意されているかも確認する。もし、十分な保存空間がないと、端末装置は既存のデータを削除したり、動画再生を中断しなければならない。
【００４４】
ブラウザを通じてユーザがゲームで設定された仮想のユーザ（コンピュータ）との五目並べゲームをする場合を再び考える。この場合、仮想のユーザが置く五目石に対する場合の数は、ユーザが五目石を置いた直後から計算が行われなければならず、予め設定された時間内に計算が終了しなければならない。そして、ユーザが、次に置く五目石を悩む場合、コンピュータの置く五目石の位置を予め計算しておくことができる。このときは、複数回の計算作業プロセスが確保されなければならない。特に、ゲームのレベルが上がるにつれ、短い時間の間に複雑な場合の数計算が必要になる。ブラウザは、計算に必要な端末装置のリソースを確認する。端末装置がモバイル装置なら、リソースはより限定的になる。
【００４５】
前記リソースに対する判断は、ブラウザがプログラムを行う初期段階で行うこともできるが、プログラムのデータ量が多い場合、プログラムを行う中間段階でリアルタイムで行うか、予め設定されたプログラムの部分別に判断が行われてよい。
【００４６】
ブラウザがＨＴＭＬ  ５をサポートする場合、前記ウェブプログラムはウェブワーカ（Ｗｅｂ  Ｗｏｒｋｅｒ）ソースを含んでよい。一般に、ウェブプログラムは、単一スレッドモードで行われる。すなわち、順次のパーシング過程を通じて、一度にウェブプログラムを実行する。単一スレッド方式は、ウェブプログラム中間に別途の計算を行うための呼び出しを行い、戻り値を得る場合、戻り値が得られるまでウェブプログラムの次のラインの実行は不可能である。よって、戻り値を得るまで、作業に時間がかかるスクリプトを行うとなると、プログラムの実行時間遅延は避けられない。ＨＴＭＬ  ５は、ウェブワーカというスペックを含み、マルチスレッド実行を可能とする。
【００４７】
ウェブワーカは、ジャバスクリプトコードをＵＩスレッドとは別途のバックグラウンドで行われるようにする標準的な方法を提供するため、ウェブページを遮ることなくスクリプトを実行することができる。ウェブワーカは、非常に複雑な数学的な計算作業、別のリソースに対するアクセス作業、バックグラウンドにおけるＵＩスレッドに妨害されることなく、持続的に行わなければならない作業等に適している。ウェブワーカでデータを送信する際には、ｐｏｓｔＭｅｓｓａｇｅというメソッドを用いてデータを受信するときは、ｏｎｍｅｓｓａｇｅイベントを通じて伝達される。
【００４８】
このように、プログラムでウェブワーカで作成された部分は、ほとんど多くの計算が必要な部分である可能性があるため、ブラウザはウェブワーカ部分を中心に必要なリソースが端末装置に存在するかを判断することができる。又は、ウェブワーカ部分が存在するということだけで、ウェブワーカ駆動のためのリソースが端末装置に存在しないと仮定することができる。
【００４９】
リソースに対する判断は、ブラウザがプログラムを行う初期段階で行ってよいが、プログラムのデータ量が多い場合、プログラムを行う中間段階でリアルタイムで行うか、予め設定されたプログラムの部分別に判断が行われてよい。
【００５０】
ステップＳ１２０で、リソースが不足していると判断されると、外部装置に演算を要求する（Ｓ１３０）。
【００５１】
上述の実施形態のように、プログラムがウェブワーカ客体を含んでいる場合、そのウェブワーカ客体処理のためのリソースが不足していると判断されると、外部装置に前記ウェブワーカ客体の演算を要求する。又は、ウェブワーカ客体に対しては、無条件に外部装置に演算を要求することもできる。そして、ウェブワーカ客体ではない別のプログラム客体に対しても、リソースが不足していると判断されると、外部装置に演算要求が可能である。
【００５２】
コンピュータと五目並べゲームを行う実行形態で、ユーザが五目石を置く場合、コンピュータの次の手を計算するためのリソースが不足してよい。ブラウザは、ユーザの置く手と現在のゲーム情報を外部装置に伝送し、外部装置はコンピュータの次の手を計算する。外部装置は、計算結果に関する情報を予め設定された時間内に端末装置に提供する。
【００５３】
コンピュータの手を計算する関数が、ウェブワーカ客体で作成されている場合、ブラウザはウェブワーカを通じて前記客体の計算を行う。しかし、端末装置のリソースが不足している場合、ウェブワーカ客体は外部装置に伝達される。具体的に、ｐｏｓｔＭｅｓｓａｇｅメソッドを通じて外部装置に伝送される。外部装置は、演算を行った後、端末装置はｏｎｍｅｓｓａｇｅイベントを通じて外部装置の演算結果データを受信する。
【００５４】
外部装置は、要求に応じて演算を行う。外部装置は、演算実行のための手段を具備しなければならない。外部装置は、ウェブワーカ客体を伝達された場合、ウェブワーカ客体を分析して処理することができるエンジンが必要である。なお、演算実行のための十分なリソースを有していなければならない。
【００５５】
端末装置のブラウザは、外部装置から演算結果によるデータを受信する（Ｓ１４０）。
【００５６】
ステップＳ１５０で受信されたデータを用いてブラウザにデータを表示する。前記ステップＳ１５０は、前記受信されたデータを用いて前記ブラウザにイメージをレンダリングする作業であってよい。
【００５７】
コンピュータと五目並べゲームをする実施形態において、ブラウザは外部装置から受信された計算結果データを用いて、コンピュータの五目石並べに応じて新たに変化された五目盤の様子をディスプレイする。
【００５８】
コンピュータの手を計算する関数がウェブワーカ客体で作成されている場合、ブラウザは受信された外部装置の演算結果データを用いてブラウザ画面を構成する。
【００５９】
以下では、本発明の拡張された実行形態について説明する。
【００６０】
図２は、本発明の別の実施形態に係る端末装置のブラウザ駆動方法のフローチャートである。
【００６１】
図２を参照すると、本発明の別の実施形態に係る端末装置のブラウザ駆動方法は、リソース不足の判断ステップ（Ｓ２１０）、リソースが不足すると（Ｓ２２０−Ｙ）、外部装置を選択してチャネルを形成するステップ（Ｓ２３０）、外部装置に演算を要求するステップ（Ｓ２４０）、外部装置から演算結果を受信するステップ（Ｓ２５０）、受信されたデータを用いてブラウザにデータを表示するステップ（Ｓ２６０）とを含む。
【００６２】
ステップＳ２１０、Ｓ２２０、Ｓ２４０、Ｓ２５０、Ｓ２６０は、それぞれ上述のステップＳ１１０、Ｓ１２０、Ｓ１３０、Ｓ１４０、Ｓ１５０に対応するステップであるため、繰り返し説明は省略する。
【００６３】
ステップＳ２３０は、前記リソースが不足しているか、又はない場合、前記演算を行う外部装置を選択してチャネルを形成する過程である。
【００６４】
よって、外部装置は、端末装置より豊富なリソースを有する装置であることが求められる。例えば、外部装置は、端末装置に比べて高性能のＣＰＵ、大容量の保存媒体を有し、作業プールに十分な余裕空間が必要になる。このような基準に応じて、複数の外部装置の中で演算を行う装置が選択されてよい。
【００６５】
上述の実施形態を含む本発明の多様な実施形態で、外部装置はサーバ、別の外部端末装置のうちのいずれか１つであってよい。例えば、端末装置がスマートフォンである場合、スマートフォンの近くにテレビがある場合、テレビのリソースが十分だと、外部装置はテレビであってよい。しかし、スマートフォンの近くにパソコンが存在する場合、パソコンのリソースがより豊富である可能性があるため、外部装置はパソコンに選択される。なお、高性能のサーバと通信が可能である場合、外部装置はサーバであってよい。
【００６６】
外部装置が選択されてチャネルが形成される場合、通信チャネルを実現する技術は多様であってよい。通信チャネルは、通常のＩＰアドレスを通じてアクセスが可能なインターネットであってよく、ラジオ周波数を利用する近距離無線通信であってよい。なお、小規模のホーム有線ネットワークを通じて通信チャネルが形成されてよい。
【００６７】
なお、外部装置は、演算要求を受信して素早く演算を行った後、演算結果データを端末装置に伝送しなければならないため、前記端末装置と外部装置とを接続するネットワーク状態を考慮し、前記演算を行う外部装置が選択されてよい。
【００６８】
例えば、端末装置は、近距離無線通信の一種であるＷｉ−Ｆｉを通じてＡＰとインターネットで接続され、サーバと通信を行うことができる。同時に、端末装置は、Ｗｉ−Ｆｉダイレクトを通じて、近くに位置するコンピュータと直接通信が行われてよい。しかし、Ｗｉ−Ｆｉダイレクトの通信品質に問題があり、物理的に位置が近いにもかかわらず、サーバとの通信がより早くなり得る。この場合は、Ｗｉ−Ｆｉダイレクトではない、Ｗｉ−Ｆｉによるインターネットを通じて接続されたサーバが外部装置に選択される。
【００６９】
一方、上述の本発明の多様な実施形態に係る端末装置のブラウザ駆動方法は、前記演算と独立して、前記端末装置内で前記ブラウザを駆動するための別の演算を行うステップを更に含んでよい。
【００７０】
すなわち、端末装置のブラウザは、マルチスレッド環境を提供することができる。よって、端末装置のブラウザが外部装置から受信されたプログラムを実行する途中に、外部装置に第１演算を要求した場合、ブラウザは第１演算結果を受信する前に、それと異なる第２演算を行うことができる。よって、単一スレッド方式で、ウェブプログラム中間に別途の計算を行うための呼び出しを行い、戻り値を得るまでにかかる遅延を除去できるようになるため、より早くプログラム実行が可能となる。
【００７１】
コンピュータと五目並べゲームをする実施形態において、ユーザが五目石を置くと、サーバはコンピュータの次の手を計算するための第１演算要求がある場合、第１演算を開始する。ブラウザは、サーバが第１演算を行う間、ユーザに次の五目石のための戦略を提供することができる。前記戦略は、以前のゲームのデータを統計的に分析したデータに基づいて、勝率の高い五目石の位置情報をユーザに提供することになる。このとき、前記戦略を提供するために、以前のゲームのデータを統計的に分析するための第２演算が必要になる。このとき、ブラウザは、第２演算を第１演算と独立して行うことができる。
【００７２】
勿論、ここで、第２演算を行うためのプログラムの客体は、ウェブワーカ客体になってよい。前記ウェブワーカ客体は、端末装置で実行されてよく、前記外部装置が行ってよい。又は。前記外部装置ではない、別の外部装置で行われてよい。
【００７３】
以下では、本発明の多様な実施形態によって、外部装置で端末装置のブラウザ駆動のための演算を行う方法を説明する。
【００７４】
図３は、本発明の多様な実施形態に係る端末装置のブラウザ駆動のための演算方法のフローチャートである。
【００７５】
図３を参照すると、本発明の多様な実施形態に係る端末装置のブラウザ駆動のための演算方法は、端末装置から演算要求を受信するステップ（Ｓ３１０）、演算を行うステップ（Ｓ３２０）及び演算結果データを端末装置に伝送する（Ｓ３３０）を含む。
【００７６】
上述の各ステップは、上述の外部装置の動作について説明する。すなわち、外部装置は、端末装置から端末装置のブラウザ駆動のための演算要求がある場合、演算のためのプログラム部分を受信して演算を行う。そして、演算結果データを端末装置に伝送する。
【００７７】
各ステップにおける外部装置及び端末装置の細部動作については、上述しているため、繰り返し説明は省略する。
【００７８】
以下では、本発明の多様な実施形態に係る端末装置及び外部装置の相互作用による端末装置のブラウザ駆動方法について見ていく。
【００７９】
図４は、本発明の多様な実施形態に係る端末装置のブラウザ駆動方法のフローチャートである。
【００８０】
図４を参照すると、本発明の多様な実施形態に係る端末装置のブラウザ駆動方法は、端末装置が演算に必要なリソースを確認するステップ（Ｓ４１０）、リソースが不足すると（Ｓ４２０−Ｙ）、端末装置が外部装置に演算を要求するステップ（Ｓ４２０）、外部装置が演算要求に応じて演算を行うステップ（Ｓ４３０）、外部装置が演算結果データを端末装置に伝送するステップ（Ｓ４５０）、端末装置が受信されたデータを用いてブラウザにデータを表示するステップ（Ｓ４６０）とを含む。
【００８１】
前記各ステップについては、上述の実施形態を参照して説明している通りである。
【００８２】
以下では、本発明の多様な実施形態に係る端末装置のブラウザ駆動システム、端末装置、外部装置について説明する。
【００８３】
図５は、本発明の多様な実施形態に係る端末装置のブラウザ駆動システムのブロック図である。
【００８４】
図５を参照すると、本発明の多様な実施形態に係る端末装置のブラウザ駆動システム１０００は、端末装置のブラウザ駆動のための演算を要求する第１装置１１００と前記要求に応じて演算を行って伝達する第２装置１２００を含む。
【００８５】
第１装置１１００は、ブラウザを駆動するための演算に必要なリソースが不足しているか、又はない場合、第２装置１２００に前記演算を要求し、前記第２装置１２００から受信された演算結果を用いて前記ブラウザにデータを表示する。第１装置１１００は、上述の端末装置と同一である。
【００８６】
第２装置１２００は、前記第１装置１１００の要求がある場合、前記演算を行って演算結果によるデータを前記第１装置１１００に伝送する。第２装置１２００は、上述の外部装置と同一である。
【００８７】
図６は、本発明の一実施形態に係る端末装置１００の構成を示すブロック図である。
【００８８】
図６を参照すると、本発明の一実施形態に係る端末装置１００は、ディスプレイ部１１０と、通信部１２０と、制御部１３０とを含む。前記端末装置１００は、上述の第１装置１１００であってよい。
【００８９】
ディスプレイ部１１０は、ブラウザをディスプレイする。そして、ブラウザの情報が変わる場合、情報の変わったブラウザをディスプレイする。ディスプレイ部１１０は、液晶ディスプレイパネル（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ  Ｐａｎｅｌ）、プラズマディスプレイパネル（Ｐｌａｓｍａ  Ｄｉｓｐｌａｙ  Ｐａｎｅｌ）、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅｓ）、ＶＦＤ（Ｖａｃｕｕｍ  Ｆｌｕｏｒｅｓｃｅｎｔ  Ｄｉｓｐｌａｙ）、ＦＥＤ（Ｆｉｅｌｄ  ＥｍｉｓｓｉｏｎＤｉｓｐｌａｙ）、ＥＬＤ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等の多様なディスプレイ技術で実現されてよい。その他のディスプレイ部１１０を構成する構成は、本発明の技術的な特徴ではないため、省略する。
【００９０】
通信部１２０は、外部装置と通信する。通信部１２０は、後述する外部装置２００と多様な通信技術で接続されてよい。例えば、通信チャネルは、通常のＩＰアドレスを通じてアクセスが可能なインターネットであってよく、ラジオ周波数を用いる近距離無線通信であってよい。なお、小規模のホーム有線ネットワークを通じて通信チャネルが形成されてもよい。技術的な細部構成は、本発明の技術的特徴ではないため、省略する。
【００９１】
制御部１３０は、端末装置１００内にブラウザを駆動するための演算に必要なリソースが不足しているか、又はない場合、外部装置２００に前記演算を要求し、演算結果によるデータを受信し、前記受信されたデータを用いて前記ブラウザにデータを表示するように制御する。
【００９２】
なお、制御部１３０は、前記受信されたデータを用いて前記ブラウザにイメージをレンダリングする。
【００９３】
なお、制御部１３０は、端末装置２００のメモリ、動作中のプロセス及び処理速度のうち、少なくとも１つに基づいて予め設定された時間内に計算を行うことができるかを判断することで、前記リソースが不足しているか、又はないかを判断することができる。
【００９４】
なお、制御部１３０は、前記リソースが不足しているか、又はない場合、前記演算を行う外部装置２００を選択してチャネルを形成するように制御することができる。
【００９５】
なお、前記制御部１３０は、端末装置１００と外部装置２００とを接続するネットワーク状態を考慮し、前記演算を行う外部装置を選択することができる。
【００９６】
このとき、前記演算は、ウェブワーカスレッド処理実行作業であってよい。
【００９７】
前記端末装置１００の動作は、上述の端末装置のブラウザ駆動方法の実施形態について上述しているため、更なる説明は省略する。
【００９８】
図７は、本発明の一実施形態に係る外部装置２００の構成を示すブロック図である。
【００９９】
図７を参照すると、本発明の一実施形態に係る外部装置２００は、端末装置と通信を行う通信部２１０と、前記端末装置１００のリソースが不足しているか、又はない場合、前記端末装置１００からブラウザを駆動するための演算要求を受信し、前記受信された演算要求に応じて前記演算を行い、前記行われた演算結果データを前記外部装置に伝送するように制御する制御部２２０を含む。ここで、外部装置２００は、上述の第２装置であってよい。
【０１００】
通信部２１０は、端末装置１００と通信を行う構成である。通信部２１０は、端末装置１００と多様な通信技術で接続されてよい。例えば、通信チャネルは、通常のＩＰアドレスを通じてアクセスが可能なインターネットであってよく、ラジオ周波数を用いる近距離無線通信であってよい。なお、小規模のホーム有線ネットワークを通じて通信チャネルが形成されてもよい。技術的な細部構成は、本発明の技術的特徴ではないため、省略する。
【０１０１】
制御部２２０は、端末装置１００からブラウザを駆動するための演算要求を受信し、前記受信された演算要求に応じて前記演算を行い、前記行われた演算結果データを前記外部装置に伝送するように制御する。制御部２２０の動作は、上述の端末装置１００のブラウザ駆動方法で説明したとおりである。制御部２２０は、ソフトウェア的に上述の端末装置のブラウザ駆動のためのＣＰＵを含み、ソフトウェア的に運営体制、アプリケーションを含む。
【０１０２】
外部装置２００の動作全般については、上述の端末装置１００のブラウザ駆動方法と同一であるため、繰り返し説明は省略する。
【０１０３】
図８は、本発明の一実施形態に係るウェブワークロード均衡フレームワークを示す図である。
【０１０４】
上述の例において、第１装置はデバイス８１０になり、第２装置はサーバ８２０であってよい。このとき、デバイス８１０とサーバ８２０とは、図８のようなウェブワークロード均衡フレームワーク（ＷＷＦ：Ｗｅｂ  Ｗｏｒｋｌｏａｄ  Ｂａｌａｎｃｉｎｇ  Ｆｒａｍｅｗｏｒｋ）を構成することができる。
【０１０５】
デバイス８１０で、ＷＷＦはサーバ８２０のＷＷＦにウェブソケットインターフェース（Ｗｅｂ  Ｓｏｃｋｅｔ  ｉｎｔｅｒｆａｃｅ）８３０を通じて接続される。そして、デバイス８２０は、ウェブワーカインターフェース８１１を介してウェブアプリケーション（Ｗｅｂ  Ａｐｐｌｉｃａｔｉｏｎ）８１２とメッセージのやり取りをする。サーバ８２０側のＷＷＦは、実行できるジャバスクリプトがサーバ８２０でウェブワークコードを実行し、ウェブソケットインターフェース８３０を介してデバイス８１０側と通信する。ＷＷＦを有するウェブワーカのシーケンスフローが図９に提示される。
【０１０６】
図８に示すものと違って、このようなデバイス８１０のＷＷＦは、ウェブブラウザ８１３内に位置してよい。
【０１０７】
図９は、ＷＷＦのシーケンス図である。
【０１０８】
図９を参照すると、前記ウェブアプリケーション８１２がオープンされると、前記デバイス８１０側のＷＷＦとサーバ８２０側のＷＷＦとの間の１つのウェブソケットがオープンされ、デバイス８１０側の全命令とサーバ側の全イベントがＷＷＦを通じて伝達される。デバイス８１０側とサーバ８２０側との間に複数のウェブワーカを置く場合、各ウェブワーカは、ＷＷＦにあるＩＤで識別される。このとき、Ｎｏｄｅ．ｊｓＴＭがジャバスクリプトを実行することができるサーバとして使用されてよい。なおあ、このような方法を容易に検証するために、ＷＷＦをジャバスクリプトライブラリで実現されてよい。そして、前記フレームワークをウェブワーカの生成コードを変更するウェブアプリケーション８１２の修正に適用することができる。
【０１０９】
図９に示すように、ウェブワーカ９３０はＵＩスレッド（ＵＩ  Ｔｈｒｅａｄ）９２０と完全に分離されており、ＵＩスレッドがＤＯＭツリー９１０にＵＩ変更を指示する。データ通信チャネルが生成されると、デバイスは、ｐｏｓｔＭｅｓｓａｇｅというメソッドを用いてＷＷＦウェブワーカでデータを送信する。デバイス側のＷＷＦとサーバ側のＷＷＦとは通信を行い、サーバ側のウェブワーカ９４０、９５０は伝達される作業を行う。いずれの装置であれ、データを受信するときは、ｏｎｍｅｓｓａｇｅイベントを通じて伝達される。そして、作業を完了すると、ｐｏｓｔＭｅｓｓａｇｅというメソッドを用いてデバイスに作業結果を伝送する。
【０１１０】
一方、上述の本発明の多様な実施形態に係る端末装置のブラウザ駆動方法は、コンピュータで実行可能なアルゴリズムを含むプログラムで実現されてよく、前記プログラムは非一時的な読み取り可能な媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）に保存されてよい。
【０１１１】
非一時的な読み取り可能な媒体とは、レジスタやキャッシュ、メモリ等のように短い間だけデータを保存する媒体ではなく、半永久的にデータを保存し、機器によって読み取り（ｒｅａｄｉｎｇ）が可能な媒体を意味する。具体的には、上述の多様なアプリケーション又はプログラムは、ＣＤやＤＶＤ、ハードディスク、ブルーレイディスク、ＵＳＢ、メモリカード、ＲＯＭ等のような非一時的な読み取り可能な媒体に保存されて提供されてよい。
【０１１２】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明は以上の実施形態に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的趣旨の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０１１３】
１１００  第１装置
１２００  第２装置
１１０  ディスプレイ部
１３０  制御部
１２０  通信部
２１０  通信部
２２０  制御部
８１０  デバイス
８１２  ウェブアプリケーション
８１１  ウェブワーカインターフェース
８３０  ウェブソケットハンドラ
８１３  ウェブブラウザ
８２０  サーバ
８２１  ウェブワーカインターフェース
８３０  ウェブソケットハンドラ
９１０  ＤＯＭ
９３０  ＷＭＦ（デバイス）
９４０  ＷＭＦ（サーバ）
９５０  ウェブワーカ
【図１】
2014157604.tif 000003
【図２】
2014157604.tif 000004
【図３】
2014157604.tif 000005
【図４】
2014157604.tif 000006
【図５】
2014157604.tif 000007
【図６】
2014157604.tif 000008
【図７】
2014157604.tif 000009
【図８】
2014157604.tif 000010
【図９】
2014157604.tif 000011