(57)【要約】【課題】情報処理装置で作成されてサーバにアップロードされたプログラムを、移動通信端末がより容易に取得すること。【解決手段】変換手段１２は、開発対象のプログラムのソースコードをオブジェクトコードに変換する。送信手段１４は、変換手段１２によって変換されるオブジェクトコードが移動通信端末３０向けのものであった場合、ファイルのアップロードの要求を、ネットワークを介してサーバ装置２０に送信する。このファイルは、変換手段１２により変換されたオブジェクトコードを含む。要求の送信先となるサーバは、記憶手段１１に記憶されている所在情報により特定される。後述するように、サーバ装置２０はこの要求に対する応答を送信する。受信手段１５は、サーバ装置２０から送信された応答を受信する。制御手段１７は、受信手段１５が応答を受信すると、第２の所在情報を示す画面を表示させるように、表示手段４０を制御する。【選択図】図１
2011107752.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上においてサーバ装置を特定するための第１の所在情報を記憶する記憶手段と、
ソースコードをオブジェクトコードに変換する変換手段と、
前記変換手段によって変換されるオブジェクトコードが移動通信端末向けのものであった場合、前記記憶手段に記憶されている前記第１の所在情報により特定される前記サーバ装置に、前記変換手段により変換されたオブジェクトコードを含むファイルのアップロードの要求を、前記ネットワークを介して送信をする送信手段と、
前記サーバ装置から送信された、前記要求に対する応答を受信する受信手段と、
前記受信手段が前記応答を受信すると、前記ネットワーク上における前記ファイルの所在を示す第２の所在情報を示す画面を表示させるように、情報を表示する表示手段を制御する制御手段と
を有する情報処理装置。
【請求項２】
前記第２の所在情報は、前記ファイルが生成された日時に応じて決められる順番を特定するための文字列を含み、
前記画面は、一のファイルに対応する前記第２の所在情報を示す第１の部分と、他のファイルに対応する前記順番を示す第２の部分とを含む
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記変換手段は、一のソースコードを、それぞれ異なる機種の前記移動通信端末に対応する複数のオブジェクトコードに変換し、
前記要求は、前記複数のオブジェクトコードに対応する複数のファイルのアップロードの要求であり、
前記第２の所在情報は、前記機種を特定するための文字列を含み、
前記画面は、一のファイルに対応する前記第２の所在情報を示す第１の部分と、他のファイルに対応する前記機種を示す第２の部分とを含む
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第２の部分は、それぞれ異なるファイルに対応する複数のタブの画像を含み、
前記複数のタブのうち一のタブを選択する指示を受け付ける受付手段を有し、
前記制御手段は、前記受付手段が受け付けた前記指示により選択された一のタブに対応するファイルに対応する前記第２の所在情報を前記第１の部分に含み、前記一のタブに対応するファイル以外のファイルに対応する複数のタブの画像を前記第２の部分に含む画面を表示させるように前記表示手段を制御する
ことを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記記憶手段は、前記オブジェクトコードが前記移動通信端末向けのものであるかを示す識別子を記憶し、
前記記憶手段から読み出された前記識別子を用いて、前記変換手段によって変換されるオブジェクトコードが前記移動通信端末向けのものであるか判断する判断手段を有し、
前記変換手段によって変換されるオブジェクトコードが前記移動通信端末向けのものであると前記判断手段が判断した場合、前記送信手段が前記送信をする
ことを特徴とする請求項１−４のいずれかの項に記載の情報処理装置。
【請求項６】
サーバ装置と、
ネットワークを介して前記サーバ装置に接続される情報処理装置と、
前記ネットワークを介して前記サーバ装置に接続される移動通信端末と
を有し、
前記情報処理装置は、ネットワーク上においてサーバ装置を特定するための第１の所在情報を記憶する第１の記憶手段を有し、
前記情報処理装置は、ソースコードをオブジェクトコードに変換する変換手段を有し、
前記情報処理装置は、前記変換手段によって変換されるオブジェクトコードが前記移動通信端末向けのものであった場合、前記第１の記憶手段に記憶されている前記第１の所在情報により特定される前記サーバ装置に、前記変換手段により変換されたオブジェクトコードを含むファイルのアップロードの要求を、前記ネットワークを介して送信をする第１の送信手段を有し、
前記サーバ装置は、前記情報処理装置から送信されたファイルを受信する第１の受信手段を有し、
前記サーバ装置は、前記第１の受信手段により受信されたファイルにファイル名を付与する付与手段を有し、
前記サーバ装置は、前記ファイル名を付与されたファイルを記憶する第２の記憶手段を有し、
前記サーバ装置は、前記第２の記憶手段に前記ファイルを記憶すると、前記ネットワーク上における前記ファイルの所在を示す第２の所在情報を含む、前記要求に対する応答を前記情報処理装置に送信する第２の送信手段を有し、
前記情報処理装置は、前記サーバ装置から送信された、前記要求に対する応答を受信する第２の受信手段を有し、
前記情報処理装置は、前記第２の受信手段が前記応答を受信すると、前記第２の所在情報を示す画面を表示させるように、情報を表示する表示手段を制御する制御手段を有し、
前記移動通信端末は、前記表示手段に表示された前記画面を読み取る読み取り手段を有し、
前記移動通信端末は、前記読み取り手段が読み取った前記画面により示される前記第２の所在情報を用いて、前記ファイルを取得する取得手段を有し、
前記移動通信端末は、前記取得手段が取得したファイルに含まれるオブジェクトコードを実行する実行手段を有する
ことを特徴とする通信システム。
【請求項７】
前記サーバ装置は、前記ファイル名に基づいて前記第の第２の所在情報を示す画像のデータを生成する生成手段を有し、
前記第２の送信手段は、前記生成手段により生成されたデータを前記移動通信端末に送信する
ことを特徴とする請求項６に記載の通信システム。
【請求項８】
ネットワーク上においてサーバ装置を特定するための第１の所在情報を記憶する記憶手段と、情報を表示する表示手段を制御する制御手段とを有する情報処理装置に、
ソースコードをオブジェクトコードに変換するステップと、
前記変換されるオブジェクトコードが移動通信端末向けのものであった場合、前記記憶手段に記憶されている前記第１の所在情報により特定される前記サーバ装置に、前記変換されたオブジェクトコードを含むファイルのアップロードの要求を、前記ネットワークを介して送信をするステップと、
前記サーバ装置から送信された、前記要求に対する応答を受信するステップと、
前記応答を受信すると、前記ネットワーク上における前記ファイルの所在を示す第２の所在情報を示す画面を表示させるように、前記表示手段を制御するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動通信端末上で実行するプログラムを開発するための技術に関する。
【背景技術】
【０００２】
Ｊａｖａ（登録商標）アプリケーションプログラムなど、移動通信端末上で動作するプログラムが知られている。携帯電話機等の移動通信端末は、パーソナルコンピュータ等の汎用コンピュータと比較してプロセッサの処理能力や記憶装置の記憶容量が低い場合が多い。そのため、汎用コンピュータ上でアプリケーションプログラムの作成行い、作成されたプログラムをサーバを介して移動通信端末に送信し、移動通信端末でプログラムの動作確認を行う、ということが行われている。ここで、特許文献１は、画像データを携帯電話からサーバにアップロードする技術を開示している。具体的に、特許文献１には、画像データをアップロードし、アップロードした格納先情報を示すＵＲＬをＲＡＭに記憶することが記載されている（段落００４４）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−９５０１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、情報処理装置で作成されてサーバにアップロードされたプログラムを、移動通信端末がより容易に取得する技術を提供する。
【課題を解決するための手段】
【０００５】
本発明の一態様に係る情報処理装置は、ネットワーク上においてサーバ装置を特定するための第１の所在情報を記憶する記憶手段と、ソースコードをオブジェクトコードに変換する変換手段と、前記変換手段によって変換されるオブジェクトコードが移動通信端末向けのものであった場合、前記記憶手段に記憶されている前記第１の所在情報により特定される前記サーバ装置に、前記変換手段により変換されたオブジェクトコードを含むファイルのアップロードの要求を、前記ネットワークを介して送信をする送信手段と、前記サーバ装置から送信された、前記要求に対する応答を受信する受信手段と、前記受信手段が前記応答を受信すると、前記ネットワーク上における前記ファイルの所在を示す第２の所在情報を示す画面を表示させるように、情報を表示する表示手段を制御する制御手段とを有する。
この情報処理装置によれば、第２の所在情報を示す画面を表示させるように表示手段を制御する制御手段を有さない構成と比較して、サーバにアップロードされたプログラムを、移動通信端末がより容易に取得することができる。
【０００６】
好ましい態様において、前記第２の所在情報は、前記ファイルが生成された日時に応じて決められる順番を特定するための文字列を含み、前記画面は、一のファイルに対応する前記第２の所在情報を示す第１の部分と、他のファイルに対応する前記順番を示す第２の部分とを含んでもよい。
この情報処理装置によれば、第１の部分と第２の部分とを有さない場合と比較して、より容易に、異なるファイルを取得することができる。
【０００７】
別の好ましい態様において、前記変換手段は、一のソースコードを、それぞれ異なる機種の前記移動通信端末に対応する複数のオブジェクトコードに変換し、前記要求は、前記複数のオブジェクトコードに対応する複数のファイルのアップロードの要求であり、前記第２の所在情報は、前記機種を特定するための文字列を含み、前記画面は、一のファイルに対応する前記第２の所在情報を示す第１の部分と、他のファイルに対応する前記機種を示す第２の部分とを含んでもよい。
この情報処理装置によれば、第１の部分と第２の部分とを有さない場合と比較して、より容易に、異なる機種に対応するファイルを取得することができる。
【０００８】
さらに別の好ましい態様において、前記第２の部分は、それぞれ異なるファイルに対応する複数のタブの画像を含み、前記複数のタブのうち一のタブを選択する指示を受け付ける受付手段を有し、前記制御手段は、前記受付手段が受け付けた前記指示により選択された一のタブに対応するファイルに対応する前記第２の所在情報を前記第１の部分に含み、前記一のタブに対応するファイル以外のファイルに対応する複数のタブの画像を前記第２の部分に含む画面を表示させるように前記表示手段を制御してもよい。
この情報処理装置によれば、タブの画像を表示しない場合と比較して、より容易に画面を切り替えることができる。
【０００９】
さらに別の好ましい態様において、前記記憶手段は、前記オブジェクトコードが前記移動通信端末向けのものであるかを示す識別子を記憶し、前記記憶手段から読み出された前記識別子を用いて、前記変換手段によって変換されるオブジェクトコードが前記移動通信端末向けのものであるか判断する判断手段を有し、前記変換手段によって変換されるオブジェクトコードが前記移動通信端末向けのものであると前記判断手段が判断した場合、前記送信手段が前記送信をしてもよい。
この情報処理装置によれば、オブジェクトコードが移動通信端末向けのものである場合に、移動通信端末向けの処理を行うことができる。
【００１０】
本発明の別の態様に係る通信システムは、サーバ装置と、ネットワークを介して前記サーバ装置に接続される情報処理装置と、前記ネットワークを介して前記サーバ装置に接続される移動通信端末とを有する。前記情報処理装置は、ネットワーク上においてサーバ装置を特定するための第１の所在情報を記憶する第１の記憶手段と、ソースコードをオブジェクトコードに変換する変換手段と、前記変換手段によって変換されるオブジェクトコードが前記移動通信端末向けのものであった場合、前記第１の記憶手段に記憶されている前記第１の所在情報により特定される前記サーバ装置に、前記変換手段により変換されたオブジェクトコードを含むファイルのアップロードの要求を、前記ネットワークを介して送信をする第１の送信手段とを有する。前記サーバ装置は、前記情報処理装置から送信されたファイルを受信する第１の受信手段と、前記第１の受信手段により受信されたファイルにファイル名を付与する付与手段と、前記ファイル名を付与されたファイルを記憶する第２の記憶手段と、前記第２の記憶手段に前記ファイルを記憶すると、前記ネットワーク上における前記ファイルの所在を示す第２の所在情報を含む、前記要求に対する応答を前記情報処理装置に送信する第２の送信手段とを有する。前記情報処理装置は、前記サーバ装置から送信された、前記要求に対する応答を受信する第２の受信手段と、前記第２の受信手段が前記応答を受信すると、前記第２の所在情報を示す画面を表示させるように、情報を表示する表示手段を制御する制御手段とを有する。前記移動通信端末は、前記表示手段に表示された前記画面を読み取る読み取り手段と、前記読み取り手段が読み取った前記画面により示される前記第２の所在情報を用いて、前記ファイルを取得する取得手段と、前記取得手段が取得したファイルに含まれるオブジェクトコードを実行する実行手段とを有する。
この通信システムによれば、第２の所在情報を示す画面を表示させるように表示手段を制御する制御手段を有さない構成と比較して、サーバにアップロードされたプログラムを、移動通信端末がより容易に取得することができる。
【００１１】
好ましい態様において、前記サーバ装置は、前記ファイル名に基づいて前記第の第２の所在情報を示す画像のデータを生成する生成手段を有し、前記第２の送信手段は、前記生成手段により生成されたデータを前記移動通信端末に送信してもよい。
この通信システムによれば、ファイル名に基づいて第２の所在情報を示す画像のデータを生成する生成手段を有さない構成と比較して、より容易に第２の所在情報を示す画像のデータを生成することができる。
【００１２】
本発明のさらに別の態様に係るプログラムは、ネットワーク上においてサーバ装置を特定するための第１の所在情報を記憶する記憶手段と、情報を表示する表示手段を制御する制御手段とを有する情報処理装置に、ソースコードをオブジェクトコードに変換するステップと、前記変換されるオブジェクトコードが移動通信端末向けのものであった場合、前記記憶手段に記憶されている前記第１の所在情報により特定される前記サーバ装置に、前記変換されたオブジェクトコードを含むファイルのアップロードの要求を、前記ネットワークを介して送信をするステップと、前記サーバ装置から送信された、前記要求に対する応答を受信するステップと、前記応答を受信すると、前記ネットワーク上における前記ファイルの所在を示す第２の所在情報を示す画面を表示させるように、前記表示手段を制御するステップとを実行させる。
このプログラムによれば、第２の所在情報を示す画面を表示させるように表示手段を制御する制御手段を有さない構成と比較して、サーバにアップロードされたプログラムを、移動通信端末がより容易に取得することができる。
【図面の簡単な説明】
【００１３】
【図１】一実施形態に係る通信システム１の機能構成を示す図である。
【図２】情報処理装置１０のハードウェア構成を示す図である。
【図３】サーバ装置２０のハードウェア構成を示す図である。
【図４】移動通信端末３０のハードウェア構成を示す図である。
【図５】通信システム１の動作を示すフローチャートである。
【図６】開発プログラムにより表示される画面を例示する図である。
【図７】アップロード要否の確認画面を例示する図である。
【図８】履歴を例示する図である。
【図９】表示される画面を例示する図である。
【図１０】表示される画面の別の例を示す図である。
【発明を実施するための形態】
【００１４】
１．構成
図１は、一実施形態に係る通信システム１の機能構成を示す図である。通信システム１は、情報処理装置１０と、サーバ装置２０と、移動通信端末３０とを含む。サーバ装置２０は、情報処理装置１０および移動通信端末３０と、インターネットや移動通信網等のネットワーク（図示略）を介して接続されている。通信システム１は、移動通信装置３０上で実行されるアプリケーションプログラムを開発するためのシステムである。より具体的には、通信システム１において、情報処理装置１０が作成したプログラムをサーバ装置２０にアップロードし、アップロードされたプログラムを移動通信端末３０がダウンロードし、ダウンロードしたプログラムを移動通信端末３０がテスト実行する。開発者は、移動通信端末３０におけるテスト実行の結果をみてプログラムを改変する。プログラムが完成するまで、アップロード、テスト実行およびプログラム改変のサイクルが繰り返される。
【００１５】
情報処理装置１０は、移動通信装置３０上で実行されるアプリケーションプログラムを開発するためのプログラムを実行する装置、例えばパーソナルコンピュータである。情報処理装置１０は、記憶手段１１と、変換手段１２と、判断手段１３と、送信手段１４と、受信手段１５と、受付手段１６と、制御手段１７とを含む。記憶手段１１は、ネットワーク上においてサーバ装置２０を特定するための第１の所在情報（例えばＵＲＬ（Uniform Resource Locator））を記憶する。また、記憶手段１１は、開発対象のプログラムが移動通信端末３０向けのものであるかを示す識別子を記憶する。変換手段１２は、開発対象のプログラムのソースコードをオブジェクトコードに変換（コンパイル）する。判断手段１３は、記憶手段１１から読み出された識別子を用いて、変換手段１２によって変換されるオブジェクトコードが移動通信端末３０向けのものであるか判断する。送信手段１４は、変換手段１２によって変換されるオブジェクトコードが移動通信端末３０向けのものであった場合、ファイルのアップロードの要求を、ネットワークを介してサーバ装置２０に送信する。このファイルは、変換手段１２により変換されたオブジェクトコードを含む。要求の送信先となるサーバは、記憶手段１１に記憶されている所在情報により特定される。後述するように、サーバ装置２０はこの要求に対する応答を送信する。受信手段１５は、サーバ装置２０から送信された応答を受信する。制御手段１７は、受信手段１５が応答を受信すると、第２の所在情報を示す画面を表示させるように、表示手段４０を制御する。第２の所在情報は、ネットワーク上におけるファイルの所在を示す情報、例えばＵＲＬである。
【００１６】
サーバ装置２０は、情報処理装置１０からアップロードされたファイルを記憶し、また、移動通信端末３０からの要求に応じて、記憶しているファイルを送信するサーバである。サーバ装置２０は、受信手段２１と、付与手段２２と、記憶手段２３と、送信手段２４とを有する。受信手段２１は、情報処理装置１０から送信されたファイルを受信する。付与手段２２は、受信手段２１により受信されたファイルにファイル名を付与する。記憶手段２３は、ファイル名を付与されたファイルを記憶する。記憶手段２３にファイルが記憶されると、送信手段２４は、要求に対する応答を情報処理装置１０に送信する。この要求は、ネットワーク上におけるファイルの所在を示す第２の所在情報を含む。
【００１７】
移動通信端末３０は、アプリケーションプログラムを実行可能な装置、例えば携帯電話機である。移動通信端末３０は、読み取り手段３１と、取得手段３２と、実行手段３３とを有する。読み取り手段３１は、表示手段４０に表示された画面を読み取る。取得手段３２は、読み取り手段３１が読み取った画面により示される第２の所在情報を用いて、ファイルを取得する。実行手段３３は、取得手段３２が取得したファイルに含まれるオブジェクトコードを実行する。
【００１８】
この例で、第２の所在情報は、ファイルが生成された日時に応じて決められる順番（例えばプログラムのバージョンまたは版）を特定するための文字列を含む。表示手段４０に表示される画面は、一のファイルに対応する第２の所在情報を示す第１の部分と、他のファイルに対応する順番を示す第２の部分とを含む。さらに、第２の部分は、それぞれ異なるファイルに対応する複数のタブの画像を含む。受付手段１６は、複数のタブのうち一のタブを選択する指示を受け付ける。制御手段１７は、受付手段１６が受け付けた指示により選択された一のタブに対応するファイルに対応する第２の所在情報を第１の部分に含み、一のタブに対応するファイル以外のファイルに対応する複数のタブの画像を第２の部分に含む画面を表示させるように表示手段４０を制御する。
【００１９】
図２は、情報処理装置１０のハードウェア構成を示す図である。情報処理装置１０は、ＣＰＵ（Central Processing Unit）１１０と、ＲＯＭ（Read Only Memory）１２０と、ＲＡＭ（Random Access Memory）１３０と、記憶部１４０と、入力部１５０と、表示部１６０と、通信部１７０とを有する。ＣＰＵ１１０は、情報処理装置１０の構成要素を制御する制御装置である。ＲＯＭ１２０は、情報処理装置１０の動作に用いられる基本プログラムやデータを記憶した記憶装置である。ＲＡＭ１３０は、ＣＰＵ１１０がプログラムを実行する際のワークエリアとして機能する記憶装置である。記憶部１４０は、アプリケーションプログラムやデータを記憶する記憶装置、例えばフラッシュメモリやＨＤＤ（Hard Disk Drive）を含む。入力部１５０は、情報処理装置１０に対する指示やデータを入力するための装置、例えばキーボードやマウスを含む。表示部１６０は、ＣＰＵ１１０の制御下で情報を表示する表示装置、例えば液晶ディスプレイや有機ＥＬディスプレイを含む。通信部１７０は、ネットワークを介してデータ通信を行う。バス１９０は、命令やデータが伝送される伝送路である。以上の要素はバス１９０で接続されている。
【００２０】
この例で、記憶部１４０は、移動通信装置３０上で実行されるアプリケーションプログラムを開発するためのプログラム（以下「開発プログラム」という）を記憶している。ＣＰＵ１１０が開発プログラムを実行して他のハードウェア要素と協働することにより、図１に示される機能が実現される。開発プログラムを実行しているＣＰＵ１１０は、変換手段１２、判断手段１３、受付手段１６および制御手段１７の一例である。ＣＰＵ１１０の制御下で動作している通信部１７０は、送信手段１４および受信手段１５の一例である。ＲＯＭ１２０、ＲＡＭ１３０および記憶部１４０は、記憶手段１１の一例である。
【００２１】
図３は、サーバ装置２０のハードウェア構成を示す図である。サーバ装置２０は、ＣＰＵ２１０と、ＲＯＭ２２０と、ＲＡＭ２３０と、記憶部２４０と、入力部２５０と、表示部２６０と、通信部２７０とを有する。ＣＰＵ２１０は、サーバ装置２０の構成要素を制御する制御装置である。ＲＯＭ２２０は、サーバ装置２０の動作に用いられる基本プログラムやデータを記憶した記憶装置である。ＲＡＭ２３０は、ＣＰＵ２１０がプログラムを実行する際のワークエリアとして機能する記憶装置である。記憶部２４０は、アプリケーションプログラムやデータを記憶する記憶装置、例えばフラッシュメモリやＨＤＤを含む。入力部２５０は、サーバ装置２０に対する指示やデータを入力するための装置、例えばキーボードやマウスを含む。表示部２６０は、ＣＰＵ２１０の制御下で情報を表示する表示装置、例えば液晶ディスプレイや有機ＥＬディスプレイを含む。通信部２７０は、ネットワークを介してデータ通信を行う。バス２９０は、命令やデータが伝送される伝送路である。以上の要素はバス２９０で接続されている。
【００２２】
この例で、記憶部２４０は、ファイルを記憶および送信するサーバとして機能させるためのプログラム（以下「サーバプログラム」という）を記憶している。ＣＰＵ２１０がサーバプログラムを実行して他のハードウェア要素と協働することにより、図１に示される機能が実現される。サーバプログラムを実行しているＣＰＵ２１０は、付与手段２２の一例である。ＣＰＵ２１０の制御下で動作している通信部２７０は、受信手段２１および送信手段２４の一例である。ＲＯＭ１２０、ＲＡＭ１３０および記憶部１４０は、記憶手段２３の一例である。
【００２３】
図４は、移動通信端末３０のハードウェア構成を示す図である。移動通信端末３０は、ＣＰＵ３１０と、ＲＯＭ３２０と、ＲＡＭ３３０と、記憶部３４０と、入力部３５０と、表示部３６０と、通信部３７０とを有する。ＣＰＵ３１０は、移動通信端末３０の構成要素を制御する制御装置である。ＲＯＭ３２０は、移動通信端末３０の動作に用いられる基本プログラムやデータを記憶した記憶装置である。ＲＡＭ３３０は、ＣＰＵ３１０がプログラムを実行する際のワークエリアとして機能する記憶装置である。記憶部３４０は、アプリケーションプログラムやデータを記憶する記憶装置、例えばフラッシュメモリやＨＤＤを含む。入力部３５０は、移動通信端末３０に対する指示やデータを入力するための装置、例えばキーパッドやタッチパネルを含む。また、この例で、入力部３５０は、画像を撮影するためのカメラを含む。表示部３６０は、ＣＰＵ３１０の制御下で情報を表示する表示装置、例えば液晶ディスプレイや有機ＥＬディスプレイを含む。通信部３７０は、ネットワークを介してデータ通信を行う。バス３９０は、命令やデータが伝送される伝送路である。以上の要素はバス３９０で接続されている。
【００２４】
この例で、記憶部３４０は、アプリケーションプログラムを実行するための実行環境を提供するためのソフトウェア群（以下、「Ｊａｖａ実行環境」という）を含んでいる。アプリケーションプログラムは、Ｊａｖａプログラミング言語で記述される。Ｊａｖａ実行環境は、クラスライブラリ、ＪＶＭ（Java Virtual Machine）およびＪＡＭ（Java Application Manager）を含む。クラスライブラリは、特定の機能を有するプログラムモジュール（クラス）群を１つのファイルに結合したものである。ＪＶＭは、Ｊａｖａアプリケーションプログラムとして提供されるバイトコード（オブジェクトコード）を解釈して実行する機能を有する。ＪＡＭは、Ｊａｖａアプリケーションプログラムのダウンロード、インストール、起動、終了、その他の動作を管理する機能を有する。ＣＰＵ３１０がＪａｖａ実行環境を実行して他のハードウェア要素と協働することにより、図１に示される機能が実現される。Ｊａｖａ実行環境を実行しているＣＰＵ３１０は、取得手段３２および実行手段３３の一例である。また、記憶部３４０は、カメラにより撮影された画像を解析してＵＲＬを抽出するためのプログラム（以下「読み取りプログラム」という）や、ウェブページを閲覧するためのプログラム（以下「ブラウザ」という）、電子メールを送受信するためのプログラム（以下「メーラ」という）を記憶している。このプログラムを実行しているＣＰＵ３１０およびカメラは、読み取り手段３１の一例である。
【００２５】
２．動作
図５は、通信システム１の動作を示すフローチャートである。以下、開発プログラムや、ＪＡＭ、読み取りプログラム等のソフトウェアを処理の主体として記載するが、これは、ソフトウェアを実行しているＣＰＵが他のハードウェア要素と協働して処理を行うことを意味する。
【００２６】
ステップＳ１００において、情報処理装置１０の開発プログラムは、ソースコードをコンパイルしてオブジェクトコードを生成する。ソースコードとは、プログラミング言語で記述されたプログラムコードをいう。オブジェクトコードとは、コンピュータが実行可能な機械語で記述されたプログラムコードをいう。ソースコードは、開発者の入力に基づいて生成される。
【００２７】
図６は、開発プログラムにより表示される画面を例示する図である。開発プログラムは、ＧＵＩ（Graphical User Interface）を採用している。この画面は、ウインドウ６０１、ウインドウ６０２およびボタン６０３を含む。ウインドウ６０１は、アイコンや、ボタン、入力ボックスなど、プログラムの記述に用いられる要素が表示さるウインドウである。ウインドウ６０２は、移動通信端末３０の表示部３６０を模した画面が表示されるウインドウである。開発者は、ウインドウ６０１に表示されている要素をドラッグしてウインドウ６０２に配置する。また、開発者は、ウインドウ６０２に配置された要素に対して、対応する処理を指定する。これらの処理により、移動通信端末３０に表示される画面およびその画面に対応する処理を記述したソースコードが自動的に生成される。開発者がボタン６０３をクリックすると、開発プログラムはソースコードのコンパイルを開始する。
【００２８】
開発プログラムにおいて、開発対象のプログラムは、プロジェクトという単位で管理される。プロジェクトとは、ソースファイルやライブラリ、ヘッダファイルなどプログラムの開発に用いられるデータの集合をいう。この例で、プロジェクトは、生成されるオブジェクトコードが対象とするプラットフォームを特定する識別子を含む。プラットフォームとは、コンピュータのオペレーティングシステムやハードウェアといった基礎部分を指す。この例で、プラットフォームは、パーソナルコンピュータおよび携帯電話機を含む。プロジェクトは、記憶部１４０に記憶される。
【００２９】
再び図５を参照する。生成されるオブジェクトコードが対象とするプラットフォームが携帯電話機である場合において、コンパイルが終了したとき、開発プログラムは、ファイルのアップロードの要否を確認するための画面を表示する（ステップＳ１０１）。このファイルは、コンパイルにより生成されたオブジェクトコードを含む。ファイルのアップロードの処理には種々のパラメータが用いられる。この画面は、これらのパラメータの表示を含む。
【００３０】
図７は、アップロード要否の確認画面を例示する図である。この例で、確認画面は、「アプリ名」、「アップロードサーバ」、「ユーザ」、「パスワード」、「プロキシサーバ」および「プロキシポート」というパラメータの表示、およびボタン７０１を含む。パラメータ「アプリ名」は、開発対象のプログラムを識別するための識別子を示す。パラメータ「アップロードサーバ」は、ファイルを記憶するサーバのネットワーク上の所在を示す情報、この例ではＵＲＬを示す。パラメータ「ユーザ」は、サーバ装置２０において開発者を識別するための識別子を示す。パラメータ「パスワード」は、サーバ装置２０へのアクセス認証に用いられるパスワードを示す。パラメータ「プロキシサーバ」は、ファイルのアップロードの際に用いられるプロキシサーバを特定する情報、この例ではＩＰアドレスを示す。パラメータ「プロキシポート」は、プロキシサーバにおける通信先を特定するためのポート番号を示す。これらのパラメータの値は、図７の確認画面が表示される前に記憶部１４０に記憶されている。特に、パラメータ「アップロードサーバ」、「プロキシサーバ」および「プロキシポート」の値は、開発プログラムに内部データとして含まれている。すなわち、ユーザがパラメータの値を入力しなくても、開発プログラム自体によりパラメータが設定される。パラメータ「ユーザ」および「パスワード」に関しては、開発プログラムの初回起動時などに入力を促す画面が表示される。開発者はこの画面に従って「ユーザ」および「パスワード」の値を入力する。開発プログラムは、入力された値を記憶部１４０に記憶する。２回目以降に起動されたとき、開発プログラムは、記憶部１４０からこれらのパラメータの値を読み出す。開発者がボタン７０１をクリックすると、開発プログラムは、確認画面に表示されているパラメータを用いてファイルのアップロードを行う。ファイルのアップロードの詳細は以下で説明する。
【００３１】
再び図５を参照する。確認画面においてボタン７０１がクリックされると、開発プログラムは、サーバ装置２０に対しファイルのアップロードの要求を送信する（ステップＳ１０２）。この要求の送信先となるサーバ装置は、図７の確認画面に表示されるパラメータによって指定される。この要求は、パラメータ「アプリ名」、「ユーザ」および「パスワード」と、ファイルとを含む。サーバ装置２０のサーバプログラムは、要求を受信する。要求を受信すると、サーバプログラムは、パラメータ「ユーザ」および「パスワード」を用いて開発者の認証処理を行う。
【００３２】
開発者が認証されると、サーバプログラムは、要求に含まれるファイル（新たにアップロードされたファイル）にファイル名を付与する（ステップＳ１０３）。サーバプログラムは、受信したファイルにファイル名を付与するアルゴリズムを含んでおり、このアルゴリズムに従ってファイル名を付与する。詳細には次のとおりである。サーバプログラムは、受信した要求に含まれるパラメータ「アプリ名」の値を取得する。この例では、「アプリ名」として「launcher」が取得される。さらに、サーバプログラムは、要求に含まれるファイルのタイムスタンプを取得する。タイムスタンプは、ファイルが生成された時刻（すなわちコンパイルが完了した時刻）を示す情報である。ここでは、取得したタイムスタンプが「８／２５  ２０：５５」であった場合を例として説明する。サーバプログラムは、記憶部２４０に、「アプリ名」が「launcher」のファイルに関する履歴が記憶されているか検索する。この履歴は、プログラムの更新履歴を示すものである。具体的に、この履歴は、アプリ名と、アプリ名が示すプログラムのバージョンと、そのバージョンのファイルのタイムスタンプとを含む。
【００３３】
図８は、履歴を例示する図である。この例では、「アプリ名」が「launcher」のファイルに関して、これまでバージョン１〜３の３つのファイルがアップロードされている。バージョン１、２および３のタイムスタンプはそれぞれ、「８／２５  ２０：０１」、「８／２５  ２０：２５」および「８／２５  ２０：４０」である。
【００３４】
「アプリ名」が「launcher」のファイルに関する履歴を発見すると、サーバプログラムは、取得したタイムスタンプと、履歴に記録されているタイムスタンプの対比を行う。サーバプログラムは、タイムスタンプの対比の結果に基づいて、新たにアップロードされたファイルのバージョンを決定する。例えば、取得したタイムスタンプにより示される時刻が履歴に記録されているタイムスタンプにより示されるすべての時刻よりも後であった場合、サーバプログラムは、履歴に記録されているもののうち最も遅いバージョンに１を加算した値を、新たにアップロードされたファイルのバージョンとして決定する。あるいは、取得したタイムスタンプにより示される時刻が履歴に記録されている２つのファイルのタイムスタンプにより示される時刻の間であった場合、サーバプログラムは、それら２つのファイルのバージョンの中間の値を、新たにアップロードされたファイルのバージョンとして決定する（バージョン２とバージョン３の間に生成されたファイルであれば、バージョン２．５とする）。サーバプログラムは、こうして決定したバージョンを、履歴に書き込む。この例では、バージョン４としてタイムスタンプ「８／２５  ２０：５５」が、図８の履歴に追加される。また、サーバプログラムは、新たにアップロードされたファイルのバージョンをＲＡＭ２３０に記憶する。サーバプログラムは、パラメータ「アプリ名」の値と、新たにアップロードされたファイルのバージョンを示す文字を含む文字列を生成し、新たにアップロードされたファイルのファイル名として決定する。この例では、「launcher4」というファイル名が付与される。
【００３５】
再び図５を参照する。ファイル名が付与されると、サーバプログラムは、ファイルを記憶部２４０に記憶する（ステップＳ１０４）。ファイルを記憶すると、サーバプログラムは、要求の送信元である情報処理装置１０に、応答を送信する（ステップＳ１０５）。この応答は、新たにアップロードされたファイルのＵＲＬおよびバージョンの値を含んでいる。
【００３６】
サーバ装置２０から応答を受信すると、情報処理装置１０の開発プログラムは、受信した応答に含まれるＵＲＬおよびバージョンに応じて、新たにアップロードされたファイルのＵＲＬおよびバージョンを示す画像のデータを生成する。開発プログラムは、ＵＲＬを示す文字列を、画像（この例では、ＱＲコード（登録商標）等の２次元バーコードの画像）に変換するプログラムモジュール（サブルーチン）を有しており、このモジュールを呼び出して画像のデータを生成する。開発プログラムは、生成した画像データに、パラメータ「アプリ名」の値とバージョンを示す属性を付け加え、記憶部１４０に記憶する。この例で、記憶部１４０は、バージョン１〜４の４つのファイルに対応する画像を記憶している。開発プログラムは、生成したデータが示す画像を含む画面を表示部１６０に表示する（ステップＳ１０６）。
【００３７】
図９は、表示される画面を例示する図である。この画面は、ＵＲＬを示す画像を含む部分（第１の部分）と、タブの画像を含む部分（第２の部分）とを含む。第１の部分は、ＵＲＬを示す画像として、ＱＲコード（登録商標）等の２次元バーコードの画像８０１を含む。第２の部分は、タブ８０２〜８０５の複数のタブの画像を含む。タブ８０２〜８０５は、それぞれ、異なるバージョンのファイルに対応している。タブ８０２〜８０５は、対応するバージョンを示す表示を含んでいる。例えば、タブ８０２はバージョン４のファイルに対応するものであり、バージョン４を示す「ｖ４」という表示を含んでいる。タブ８０２〜８０５のうち１つはアクティブになっており、前面に表示される。アクティブになっていないタブは、アクティブなタブの後ろに表示される。開発者は、タブをクリックすることにより、アクティブなタブを切り替えることができる。第１の部分に表示される画像は、アクティブなタブに対応するファイルのＵＲＬを示す画像である。図９の例では、バージョン４のタブがアクティブになっており、バージョン４のファイルに対応する画像が示されている。図９の例では、さらに、ＵＲＬを示す文字列「http://aaa.bbb.ccc/iappli/launcher4.htm」が画像８０１の下に表示されている。なお、「タブ」とは、切り替えの指示を入力するための画像（クリックされる部分）を有するインターフェースをいう。この機能を有するものであれば、タブの形状はどのようなものであってもよい。
【００３８】
図１０は、表示される画面の別の例を示す図である。図１０は、図９の画面においてタブ８０３がクリックされ、アクティブになった例を示している。画像９０１は、バージョン３のファイルのＵＲＬを示す画像である。このインターフェースにより、開発者は、所望のバージョンのファイルのＵＲＬを示す画像を呼び出して閲覧することができる。
【００３９】
再び図５を参照する。ステップＳ１０７において、開発者は、移動通信端末３０を操作してバーコードリーダー（読み取りプログラムの一例）を起動し、表示部１６０に表示されている画像（例えば図９の画像８０１）をカメラで撮影する。バーコードリーダーは、読み取った画像からＵＲＬを取得する。開発者は、移動通信端末３０を操作してブラウザを起動する。ブラウザは、取得されたＵＲＬにより示されるサーバにアクセスし、ファイルを要求する（ステップＳ１０８）。移動通信端末３０から要求を受信したサーバ２０は、要求に応じてファイルを送信する（ステップＳ１０９）。ファイルを受信すると、ＪＡＭはプログラムをインストールし、インストールされたプログラムを実行する（ステップＳ１１０）。こうして開発者は、パーソナルコンピュータ上のエミュレータではなく実機でプログラムの動作確認をすることができる。
【００４０】
図５のステップＳ１００−Ｓ１０２に関し、生成されるオブジェクトコードが対象とするプラットフォームがパーソナルコンピュータである場合、開発プログラムは、プラットフォームがパーソナルコンピュータ向けであることを示すフラグを要求に付加してから、要求をサーバ装置２０に送信する。この場合、ファイル名の付与やファイルの記憶は既に説明したように行われるが、サーバ装置２０から送信される応答は、このフラグを含んでいる。このフラグを含む応答を受信すると、情報処理装置の開発プログラムは、２次元バーコードの画像を生成する処理は行わず、図９の画面において、ＵＲＬを示す文字列のみを表示する。
【００４１】
また、図５のステップＳ１０２−Ｓ１０５に関し、サーバ装置２０において開発者が認証されない等、アップロードが要求されたファイルを記憶できない場合、サーバプログラムは、エラーメッセージを含む応答を、要求の送信元である情報処理装置１０に送信する。
【００４２】
ネットワーク上のサーバにファイルをアップロードをするには、図７に示される画面に含まれるようなパラメータの設定が要求される場合があり、ネットワークに関する専門知識に乏しい者にとっては、容易にファイルをアップロードできない場合もあった。また、アップロードされたファイルを移動通信端末にダウンロードする際にＵＲＬの文字列を入力しなければならない場合があり、ダウンロードの作業が煩雑になる場合もあった。本実施形態によれば、パラメータを手動で入力する場合と比較して、より容易にファイルをアップロードすることができる。また、本実施形態によれば、ファイルのアップロード後に移動通信端末にＵＲＬの文字列を入力する場合と比較して、より容易にファイルをダウンロードすることができる。さらに、本実施形態によれば、タブでバージョンの異なるファイルのＵＲＬを示す画像を切り替える構成を有さない場合と比較して、より容易に、過去のバージョンのファイルを取得することができる。
【００４３】
３．他の実施形態
本発明は上述の実施形態に限定されるものではなく、種々の態様で実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち２つ以上のものが組み合わせて用いられてもよい。
【００４４】
３−１．変形例１
図９に示される複数のタブは、それぞれ異なる機種に対応したものであってもよい。機種とは、移動通信端末３０の機種（モデル）である。この場合、開発プログラムは、一のソースコードを、それぞれ異なる機種の前記移動通信端末に対応する複数のオブジェクトコードに変換する機能を有する。オブジェクトコードを生成する対象となる機種を示す情報は、記憶部１４０に記憶されている。この情報は、開発プログラムの内部データとして含まれている。あるいは、開発者によりこの情報が書き替えられてもよい。コンパイルが完了すると、開発プログラムは複数のファイルを同時に、または、順番に、アップロードする要求をサーバ装置２０に送信する。サーバ装置２０から応答を受信すると、開発プログラムは、複数の機種に対応する複数の画像を生成し、記憶部１４０に記憶する。開発プログラムは、図９の例において、バージョンの代わりに機種を示す表示を有する複数のタブを含む画面を表示する。この例によれば、タブで対象機種の異なるファイルのＵＲＬを示す画像を切り替える構成を有さない場合と比較して、より容易に、異なる機種のファイルを取得することができる。
別の例で、開発プログラムは、タブによる画面の切り替えを行わない構成であってもよい。すなわち、単一のＵＲＬを示す画面のみを表示してもよい。
【００４５】
３−２．変形例２
サーバ装置２０は、情報処理装置１０への応答の送信に加えて、携帯電話機３０に対して、ファイルのＵＲＬを含むデータ（例えば電子メールメッセージ）を送信してもよい。このデータの送信対象となる移動通信端末３０は、サーバ装置２０にあらかじめ登録されている。すなわち、サーバ装置２０は、ファイルの送信先を示すリストを記憶部２４０に記憶している。このリストは、開発者の識別子と、送信先となる少なくとも１つの移動通信端末３０の識別子（例えば電子メールアドレスや電話番号）とを含む。サーバプログラムは、ファイルのアップロードの要求を受信すると、記憶部２４０に記憶されているリストを参照して、要求に含まれるパラメータ「ユーザ」に対応する送信先を特定する。サーバプログラムは、送信先の移動通信端末３０に対して、ＵＲＬを示す文字列を含む電子メールメッセージを送信する。この例によれば、ＵＲＬを含むデータを送信しない場合と比較して、より容易に、多くの使用者に対してプログラムのテスト動作を依頼することができる。
【００４６】
３−３．変形例３
プラットフォームが移動通信端末向けのものであるかを特定する方法は、実施形態で説明したものに限定されない。例えば、コンパイルの際に開発者がプラットフォームを指定し、開発プログラムはこの指定に応じてコンパイルを行ってもよい。あるいは、開発プログラムは、ソースコードの中から移動通信端末向けであることを示す特定の文字列を検索し、この文字列が発見された場合にプラットフォームが移動通信端末向けのものであると判断してもよい。
【００４７】
３−４．変形例４
情報処理装置１０とサーバ装置２０との機能の分担は、実施形態で説明したものに限定されない。実施形態では情報処理装置１０が有するものとして説明した機能の一部を、サーバ装置２０が有していてもよい。あるいは、実施形態ではサーバ装置２０が有するものとして説明した機能の一部を、情報処理装置１０が有していてもよい。例えば、実施形態においてファイル名の付与はサーバ装置２０が行ったが、情報処理装置１０がファイル名の付与を行ってもよい。あるいは、実施形態においてＵＲＬを示す画像の生成は情報処理装置１０が行ったが、サーバ装置２０が画像の生成を行ってもよい。要するに、情報処理装置１０とサーバ装置２０とが全体として、図１に示す機能を有していればよい。
【００４８】
３−５．他の実施形態
図１に示される機能を実現するためのハードウェア構成は、図２〜５で説明されたものに限定されない。例えば、汎用のＣＰＵに代わり、特定の処理を行うプロセッサが用いられてもよい。
上述の実施形態においてＣＰＵ１１０、ＣＰＵ２１０またはＣＰＵ３１０によって実行されるプログラムは、磁気記録媒体（磁気テープ、磁気ディスク（ＨＤＤ、ＦＤ（Flexible Disk））など）、光記録媒体（光ディスク（ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk））など）、光磁気記録媒体、半導体メモリ（フラッシュＲＯＭなど）などのコンピュータ読取り可能な記録媒体に記憶した状態で提供されてもよい。また、このプログラムは、インターネットのようなネットワーク経由でダウンロードされてもよい。
【符号の説明】
【００４９】
１…通信システム、１０…情報処理装置、２０…サーバ装置、３０…移動通信端末
【図１】
2011107752.tif 000003
【図２】
2011107752.tif 000004
【図３】
2011107752.tif 000005
【図４】
2011107752.tif 000006
【図５】
2011107752.tif 000007
【図６】
2011107752.tif 000008
【図７】
2011107752.tif 000009
【図８】
2011107752.tif 000010
【図９】
2011107752.tif 000011
【図１０】
2011107752.tif 000012