(57)【要約】【課題】  アプリケーション単位にネットワークから受信可能な総量に制約がある端末装置上で、ネットワークを経由してサーバからアプリケーションまたはアプリケーションの一部を繰り返し受信して実行する方法を提供する。【解決手段】  基本部と相互に排他関係にある複数の拡張部に分割したアプリケーションを管理するアプリケーション配信サーバと、アプリケーション配信サーバから状態に応じて基本部、拡張部を受信して実行する端末装置から構成し、端末装置が、アプリケーション配信サーバから受信した基本部、拡張部の総量を計測し、アプリケーション配信サーバから受信可能な最大容量を超える直前に、アプリケーション配信サーバに基本部、拡張部、実行状態を表す変数を組みにしたモジュールを要求し、新しいアプリケーションとして起動することでアプリケーションの実行を継続する。【選択図】      図３
2013210711.tif 000002
【特許請求の範囲】
【請求項１】
基本部と相互に排他関係にある複数の拡張部に分割したアプリケーションを管理するアプリケーション配信サーバと、アプリケーション配信サーバから自装置の状態に応じて基本部や拡張部を受信して実行する端末装置から成るシステムにおけるアプリケーション実行方法であって、
前記アプリケーション配信サーバが、前記端末装置からの要求に応じて基本部、拡張部をアプリケーション格納装置から読み出すステップと、
アプリケーション格納装置から読み出した基本部、拡張部、または基本部、拡張部、実行状態を表す変数を１組みにしたモジュールを端末装置に送信するステップとを備え、
前記端末装置が、前記アプリケーション配信サーバから受信した基本部、拡張部の総量を計測し、端末装置がアプリケーション配信サーバから受信可能な最大容量と比較して、単独の基本部、拡張部を要求するのか、基本部、拡張部、実行状態を組みにしたモジュールを要求するのかを判定するステップと、
前記アプリケーション配信サーバに拡張部を要求する場合は、受信した拡張部を既存の拡張部と入れ替え実行するステップと、
前記アプリケーション配信サーバに基本部、拡張部、実行状態を表す変数を１組みにしたモジュールを要求する場合は、受信したモジュールを新しいアプリケーションとして起動し、既存のアプリケーションと入れ替えるステップとを備えたことを特徴とするアプリケーション実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを経由してサーバからアプリケーションまたはアプリケーションの一部を繰り返し受信して実行する方法に関し、特にアプリケーション単位に受信可能な総量に制約がある端末装置上で、継続してアプリケーションを実行する方法に関するものである。
【背景技術】
【０００２】
近年、多くの人が携帯電話に代表される端末装置を所有するようになり、また端末装置で稼働するアプリケーションを利用している。端末装置で稼働するアプリケーションは、端末装置に最初から組み込まれているものや、ネットワークからダウンロードしたものを利用することができる。
【０００３】
図５は、ネットワークからアプリケーションをダウンロードして実行するシステムの概要を示すブロック構成図であり、アプリケーションを管理・配信するアプリケーション配信サーバ４０１、アプリケーションを格納するアプリケーション格納装置４０２、アプリケーション配信サーバ４０１に対してアプリケーションを要求し、アプリケーションを実行する端末装置４０３、アプリケーション配信サーバ４０１と端末装置４０３を結ぶネットワーク４０４で構成されている。
【０００４】
このような構成のシステムでは、ユーザは端末装置４０３からアプリケーション配信サーバ４０１に接続し、利用したいアプリケーションを選択し、端末装置４０３にアプリケーションをダウンロードして実行する。
アプリケーション格納装置４０２に格納するアプリケーションは、端末装置４０３が許容するメモリ容量の制限を予め考慮して構成しなければならず、アプリケーションサイズが端末装置４０３のメモリ容量制限以上となる場合にはアプリケーションを実行することができなかった。
【０００５】
また、端末装置４０３が搭載するメモリ容量以上のサイズがあるアプリケーションを実行する方法として、アプリケーションをオーバーレイ構造にする方法がある。本方法では、アプリケーションを基本部と、相互に排他関係にある複数の拡張部に分割する。アプリケーションを実行するときは、最初に基本部をメモリ上にロードし、必要に応じて拡張部をメモリ上にロードしたり削除したりする。本発明に関連する公知技術文献としては下記の特許文献１がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平５−４６３９９号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１が示すオーバーレイ構造は、ＯＳ（オペレーティング・システム）のサポートが不可欠であるが、端末装置４０３で稼働する多くのＯＳでは実現されていない。
また、基本部と複数の拡張部を１つのアプリケーションモジュールとすることが必要であるため、アプリケーションモジュールのサイズが大きくなり、ネットワークからダウンロードして実行する運用が難しくなるという欠点がある。
オーバーレイ構造以外の方法として、アプリケーションを基本部と相互に排他関係にある複数の拡張部に分割し、それぞれ個別のモジュールとして構成し、拡張部を必要に応じてメモリ上に動的にロードしたり削除したりする方法がある。しかし、端末装置の種類によってはネットワークから受信可能な総量に制約がある場合があり、拡張部を繰り返し受信しようとすると、アプリケーションの実行が停止するといった問題がある。
【０００８】
本発明の目的は、アプリケーションに対して受信総量の制約がある端末装置において、アプリケーションまたはアプリケーションの一部を繰り返し受信しながら実行する方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、ネットワーク受信総量制約下のアプリケーション実行方法は、基本部と相互に排他関係にある複数の拡張部に分割したアプリケーションを管理するアプリケーション配信サーバと、アプリケーション配信サーバから自装置の状態に応じて基本部や拡張部を受信して実行する端末装置から成り、
アプリケーション配信サーバが、前記端末装置からの要求に応じて前記基本部、拡張部をアプリケーション格納装置から読み出すステップと、
アプリケーション格納装置から読み出した基本部、拡張部、または基本部、拡張部、実行状態を表す変数を１組みにしたモジュールを端末装置に送信するステップとを有し、
前記端末装置が、前記アプリケーション配信サーバから受信した基本部、拡張部の総量を計測し、端末装置がアプリケーション配信サーバから受信可能な最大容量と比較して、単独の基本部、拡張部を要求するのか、基本部、拡張部、実行状態を表す変数を１組みにしたモジュールを要求するのかを判定するステップと、
前記アプリケーション配信サーバに拡張部を要求する場合は、受信した拡張部を既存の拡張部と入れ替え実行するステップと、
前記アプリケーション配信サーバに基本部、拡張部、実行状態を表す変数を１組みにしたモジュールを要求する場合は、受信したモジュールを新しいアプリケーションとして起動し、既存のアプリケーションと入れ替えるステップとを有するものである。
【発明の効果】
【００１０】
本発明に係るアプリケーションの実行方法は、アプリケーションのネットワーク受信総量に制約のある端末装置において、端末装置が搭載するメモリ容量以上のサイズがあるアプリケーションを実行することが可能になるという効果がある。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施の形態例を示すシステム構成図である。
【図２】アプリケーションを初期起動するときのフローチャートである。
【図３】新しい拡張部が必要な操作を実行するときのフローチャートである。
【図４】ユーザ操作に応じて、端末装置の内部状態の変化をタイムチャートで示したものである。
【図５】ネットワークからアプリケーションをダウンロードして実行するシステムの概要を示すブロック構成図である。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を実施する場合の実施形態を図面を用いて詳細に説明する。
図１は、本発明に係る方法を実行するシステムの実施形態を示すシステム構成図である。
図１において、ネットワーク１０５には、アプリケーション配信サーバ１０１、端末装置１０６が接続されている。
アプリケーション配置サーバ１０１には、アプリケーションを格納するアプリケーション格納装置１０２が接続されている。アプリケーション格納装置１０２は、ハードディスク等の外部記憶装置であり、アプリケーション配信サーバ１０１上のＯＳによって管理されるファイルシステム上に、アプリケーションを基本部１０３と相互に排他関係にある複数の拡張部１０４に分割したモジュールとして格納している。
ここで基本部１０３はアプリケーションを実行するために必要不可欠な機能を含むモジュールであり、拡張部１０４は特定の機能を実行するために必要なモジュールである。
【００１３】
端末装置１０６ではアプリケーション１０７が稼働しており、アプリケーション１０７は基本部１０８、拡張部１０９、及び実行状態を表す変数１１０で構成されている。
ここで拡張部１０９は、特定の機能を実行するときにだけアプリケーション１０７内に配置する必要があり、機能が不必要であるときは配置しなくてもよい。
実行状態を表す変数１１０は、アプリケーション１０７を稼働させるために必要な状態を示す固有の情報である。アプリケーション１０７のある時点の実行状態に対応する変数１１０を保存しておき、アプリケーション１０７に再び同じ変数１１０を与えると、保存した時点と同じ状態でアプリケーション１０７を再開させることができる。
【００１４】
基本部１０８は、実行する機能に応じてアプリケーション配信サーバ１０１から拡張部１０９を受信し、既存の拡張部１０９と入れ替えて実行する。ここで新しい拡張部１０９は、入れ替え前の拡張部１０９とは異なる機能を実行するモジュールである。
【００１５】
図２は、アプリケーション初期起動時の動作を示すフローチャートである。
図２に示すように、ユーザが端末装置１０６上でアプリケーションの選択メニューを表示すると（Ｓ２０１）、ＯＳはアプリケーション配信サーバ１０１から実行可能なアプリケーション一覧を取得してユーザに提示する（Ｓ２０２）。
ユーザが実行するアプリケーションを選択すると（Ｓ２０３）、ＯＳはアプリケーション配信サーバ１０１から対象アプリケーション１０７の基本部を受信し、メモリ上にロードして実行する（Ｓ２０４）。
【００１６】
図３は、ユーザが拡張部を必要とする操作を実行したときの動作を示すフローチャートである。
図３に示すように、ユーザが端末装置１０６上で拡張部１０９を必要とする操作を実行すると（Ｓ３０１）、基本部１０８は今までに受信したモジュールの総量が一定値以上であるかどうかを判定する（Ｓ３０２）。
ステップＳ３０２で一定値未満と判定した場合、基本部１０８は必要とする拡張部１０９をアプリケーション配信サーバ１０１から受信する（Ｓ３０３）。続けて、基本部１０８はメモリ上に既存の拡張部１０９が存在するかどうかを判定し（Ｓ３０４）、既存の拡張部１０９が存在する場合はメモリから削除する（Ｓ３０５）。その後、新しい拡張部１０９をメモリ上にロードして実行する（Ｓ３０６）。
【００１７】
ステップＳ３０２で一定値以上と判定した場合、基本部１０８は現在の実行状態を表す変数１１０をアプリケーション配信サーバ１０１に送信する（Ｓ３０７）。アプリケーション配信サーバ１０１は基本部と拡張部、及び実行状態を表す変数を１組みのモジュールにして、端末装置１０６に送信する（Ｓ３０８）。
【００１８】
既存の基本部１０８は、受信した基本部１０８、拡張部１０９、変数１１０で新しくアプリケーションを起動し、既存アプリケーションと入れ替える（Ｓ３０９）。
新しく起動したアプリケーション１０７は、以前の実行状態を含んでいるため、ユーザは何ら気にすることなく操作を継続することができる。また、アプリケーションが切り替わるため、受信の総量制約もリセットされる。
【００１９】
図４は、ユーザ操作に応じて、端末装置の内部状態の変化をタイムチャートで示したものである。
まず、ユーザ操作に応じて，内部で保持する変数１１０を書き換えながら，アプリケーションを実行する。
ユーザ操作の結果，新しい拡張部が必要になると（ｔｉｍｅ−１）、古い拡張部Ａを削除し，新しい拡張部Ｂをアプリケーション配信サーバ１０１から取得し（ｔｉｍｅ−２）、メモリにロードして実行を継続する。
【００２０】
新しい拡張部Ｂが必要だが受信容量が端末装置の制約に近いとき、アプリケーション配信サーバ１０１に対して，実行状態（変数）１１０を送信するとともにアプリケーション全体を送信するように依頼する。
アプリケーション配信サーバ１０１は、基本部，拡張部C，実行状態（変数）を組み合わせた新しいアプリケーション（プログラム）１０７を生成し、端末装置１０６に配信する。
端末装置１０６は配信されたアプリケーション１０７をメモリにロードして実行する。このとき、実行状態（変数）１１０は、入れ替え前のアプリケーション１０７と同じであるため，以前の続きから実行することになる（ｔｉｍｅ−３）。
【００２１】
上記の手順を繰り返すことによって、ネットワーク受信総量に制約がある環境であてもアプリケーション１０７を継続して実行することが可能になる。
【符号の説明】
【００２２】
１０１    アプリケーション配信サーバ
１０２    アプリケーション格納装置
１０３    基本部
１０４    拡張部
１０５    ネットワーク
１０６    端末装置
１０７    アプリケーション
１０８    基本部
１０９    拡張部
１１０    実行状態を表す変数
【図１】
2013210711.tif 000003
【図２】
2013210711.tif 000004
【図３】
2013210711.tif 000005
【図４】
2013210711.tif 000006
【図５】
2013210711.tif 000007