クライアントからネットワークを介して1以上の携帯端末にアクセスするためのサーバであって、前記クライアントは前記ネットワークを介して前記サーバに接続され、前記サーバは前記1以上の携帯端末に接続され、前記1以上の携帯端末の各々は、情報を表示するための表示手段を備え、指示を受けたときにスクリーンショットを前記サーバに送り、前記スクリーンショットは、前記表示手段に表示された情報を表し、前記サーバは、1以上のHTMLファイルを前記クライアントに送る第1の手段であって、前記1以上のHTMLファイルは、前記クライアントが解釈したときに、該クライアントに、前記1以上の携帯端末のうちの1つを選択するための第1の領域を表示させる文字列と、選択された前記携帯端末を示す端末IDを前記サーバに送ることをさせる文字列と、前記スクリーンショットを受けたときに該スクリーンショットを表示させる文字列と、前記1以上の携帯端末への入力を受けるための第2の領域を表示させる文字列と、受けた前記入力を前記1以上の携帯端末に対するコマンドに変換させる文字列と、前記1以上の携帯端末に対する前記コマンドを前記サーバに送ることをさせる文字列とを含む、第1の手段と、1以上の第2の手段であって、該1以上の第2の手段の各々は、前記1以上の携帯端末の各々に関連し、該1以上の第2の手段の各々は、前記指示を関連した携帯端末に送り、前記1以上の携帯端末に対する前記コマンドを受けたときに該コマンドを関連した前記携帯端末に送る、1以上の第2の手段と、前記サーバが受けた前記端末IDによって示された携帯端末から該サーバが前記スクリーンショットを受けたときに、該スクリーンショットを前記クライアントに送り、前記1以上の携帯端末に対する前記コマンドを該サーバが受けたときに、該コマンドを前記1以上の第2の手段のうちの該サーバが受けた前記端末IDによって示された携帯端末に関連した第2の手段に送る第3の手段とを備えた、サーバ。前記1以上のHTMLファイルは、前記クライアントが解釈したときに、該クライアントに、あるプロトコルを用いて前記サーバとの双方向の接続を確立させる文字列を更に含み、前記サーバは、前記プロトコルを解釈し、前記接続を介して、前記端末ID、前記スクリーンショット及び前記コマンドは前記クライアントと前記サーバとの間で送受され、前記サーバは、該サーバが受けた前記スクリーンショットをある符号化方式により変換する第4の手段を更に備え、前記符号化方式により変換された前記スクリーンショットは前記接続を介して送ることが可能である、請求項1に記載のサーバ。前記サーバは、該サーバが前記端末IDを受けたときに、受けた前記端末IDが示す携帯端末にプログラムを送る第5の手段を更に備え、前記1以上の携帯端末の各々は、前記表示手段に表示された情報に対応したデータが記憶された記憶手段を更に備え、受けた前記端末IDが示す前記携帯端末に送られた前記プログラムは、該携帯端末に、前記記憶手段に記憶された前記データを、前記クライアントが表示可能な形式のデータに変換させ、前記スクリーンショットは、前記クライアントが表示可能な形式の前記データを含む、請求項1又は2に記載のサーバ。前記スクリーンショットは前記表示手段の画面の画像を含み、前記1以上のHTMLファイルが含む前記の文字列はHTML5に準拠したHTMLタグ及びJavaScript登録商標のうちの一方又は双方を含み、前記HTMLタグはJavaScript登録商標を含むファイルへのリンクのためのタグを含み、前記プロトコルはWebSocketプロトコルを含み、前記符号化方式はBase64を含み、前記形式はPortableNetworkGraphicsPNG形式及びJointPhotographicExpertsGroupJPEG形式のうちの一方又は双方を含む、請求項3に記載のサーバ。請求項1~4の何れか一項に記載のサーバと、1以上の携帯端末とを含むシステム。クライアントからネットワークを介して1以上の携帯端末にアクセスするための方法であって、前記クライアントは前記ネットワークを介してサーバに接続され、前記サーバは前記1以上の携帯端末に接続され、前記1以上の携帯端末の各々は、情報を表示するための表示手段を備え、指示を受けたときにスクリーンショットを前記サーバに送り、前記スクリーンショットは、前記表示手段に表示された情報を表し、前記サーバは、第1の手段と、1以上の第2の手段と、第3の手段とを備え、前記1以上の第2の手段の各々は、前記1以上の携帯端末の各々に関連し、前記方法は、前記第1の手段が、1以上のHTMLファイルを前記クライアントに送るステップであって、前記1以上のHTMLファイルは、前記クライアントが解釈したときに、該クライアントに、前記1以上の携帯端末のうちの1つを選択するための第1の領域を表示させる文字列と、選択された前記携帯端末を示す端末IDを前記サーバに送ることをさせる文字列と、前記スクリーンショットを受けたときに該スクリーンショットを表示させる文字列と、前記1以上の携帯端末への入力を受けるための第2の領域を表示させる文字列と、受けた前記入力を前記1以上の携帯端末に対するコマンドに変換させる文字列と、前記1以上の携帯端末に対する前記コマンドを前記サーバに送ることをさせる文字列とを含む、ステップと、前記第3の手段が、前記1以上の携帯端末に対する前記コマンドを前記サーバが受けたときに、該コマンドを前記1以上の第2の手段のうちの該サーバが受けた前記端末IDによって示された携帯端末に関連した第2の手段に送るステップと、前記第2の手段が、前記1以上の携帯端末に対する前記コマンドを受けたときに該コマンドを関連した携帯端末に送るステップと、前記第2の手段が、前記指示を関連した前記携帯端末に送るステップと、前記第3の手段が、前記サーバが受けた前記端末IDによって示された携帯端末から該サーバが前記スクリーンショットを受けたときに、該スクリーンショットを前記クライアントに送るステップとを含む、方法。前記1以上のHTMLファイルは、前記クライアントが解釈したときに、該クライアントに、あるプロトコルを用いて前記サーバとの双方向の接続を確立させる文字列を更に含み、前記サーバは、前記プロトコルを解釈し、前記接続を介して、前記端末ID、前記スクリーンショット及び前記コマンドは前記クライアントと前記サーバとの間で送受され、前記サーバは第4の手段を更に備え、前記方法は、前記第4の手段が、該サーバが受けた前記スクリーンショットをある符号化方式により変換するステップを更に含み、前記符号化方式により変換された前記スクリーンショットは前記接続を介して送ることが可能である、請求項6に記載の方法。前記サーバは第5の手段を更に備え、前記方法は、前記第5の手段が、該サーバが前記端末IDを受けたときに、受けた前記端末IDが示す携帯端末にプログラムを送るステップを更に含み、前記1以上の携帯端末の各々は、前記表示手段に表示された情報に対応したデータが記憶された記憶手段を更に備え、受けた前記端末IDが示す前記携帯端末に送られた前記プログラムは、該携帯端末に、前記記憶手段に記憶された前記データを、前記クライアントが表示可能な形式のデータに変換させ、前記スクリーンショットは、前記クライアントが表示可能な形式の前記データを含む、請求項6又は7に記載の方法。前記スクリーンショットは前記表示手段の画面の画像を含み、前記1以上のHTMLファイルが含む前記の文字列はHTML5に準拠したHTMLタグ及びJavaScript登録商標のうちの一方又は双方を含み、前記HTMLタグはJavaScript登録商標を含むファイルへのリンクのためのタグを含み、前記プロトコルはWebSocketプロトコルを含み、前記符号化方式はBase64を含み、前記形式はPortableNetworkGraphicsPNG形式及びJointPhotographicExpertsGroupJPEG形式のうちの一方又は双方を含む、請求項8に記載の方法。コンピュータを、クライアントからネットワークを介して1以上の携帯端末にアクセスするためのサーバとして機能させるプログラムであって、前記クライアントは前記ネットワークを介して前記コンピュータに接続され、前記コンピュータは前記1以上の携帯端末に接続され、前記1以上の携帯端末の各々は、情報を表示するための表示手段を備え、指示を受けたときにスクリーンショットを前記コンピュータに送り、前記スクリーンショットは、前記表示手段に表示された情報を表し、前記プログラムは、前記コンピュータを、1以上のHTMLファイルを前記クライアントに送る第1の手段であって、前記1以上のHTMLファイルは、前記クライアントが解釈したときに、該クライアントに、前記1以上の携帯端末のうちの1つを選択するための第1の領域を表示させる文字列と、選択された前記携帯端末を示す端末IDを前記コンピュータに送ることをさせる文字列と、前記スクリーンショットを受けたときに該スクリーンショットを表示させる文字列と、前記1以上の携帯端末への入力を受けるための第2の領域を表示させる文字列と、受けた前記入力を前記1以上の携帯端末に対するコマンドに変換させる文字列と、前記1以上の携帯端末に対する前記コマンドを前記コンピュータに送ることをさせる文字列とを含む、第1の手段と、1以上の第2の手段であって、該1以上の第2の手段の各々は、前記1以上の携帯端末の各々に関連し、該1以上の第2の手段の各々は、前記指示を関連した携帯端末に送り、前記1以上の携帯端末に対する前記コマンドを受けたときに該コマンドを関連した前記携帯端末に送る、1以上の第2の手段と、前記コンピュータが受けた前記端末IDによって示された携帯端末から該コンピュータが前記スクリーンショットを受けたときに、該スクリーンショットを前記クライアントに送り、前記1以上の携帯端末に対する前記コマンドを該コンピュータが受けたときに、該コマンドを前記1以上の第2の手段のうちの該コンピュータが受けた前記端末IDによって示された携帯端末に関連した第2の手段に送る第3の手段ととして機能させる、プログラム。前記1以上のHTMLファイルは、前記クライアントが解釈したときに、該クライアントに、あるプロトコルを用いて前記コンピュータとの双方向の接続を確立させる文字列を更に含み、前記プログラムは、前記コンピュータに前記プロトコルを解釈させ、前記接続を介して、前記端末ID、前記スクリーンショット及び前記コマンドは前記クライアントと前記コンピュータとの間で送受され、前記プログラムは、前記コンピュータを、該コンピュータが受けた前記スクリーンショットをある符号化方式により変換する第4の手段として更に機能させ、前記符号化方式により変換された前記スクリーンショットは前記接続を介して送ることが可能である、請求項10に記載のプログラム。前記プログラムは、前記コンピュータを、該コンピュータが前記端末IDを受けたときに、受けた前記端末IDが示す携帯端末にプログラムを送る第5の手段として更に機能させ、前記1以上の携帯端末の各々は、前記表示手段に表示された情報に対応したデータが記憶された記憶手段を更に備え、受けた前記端末IDが示す前記携帯端末に送られた前記プログラムは、該携帯端末に、前記記憶手段に記憶された前記データを、前記クライアントが表示可能な形式のデータに変換させ、前記スクリーンショットは、前記クライアントが表示可能な形式の前記データを含む、請求項10又は11に記載のプログラム。前記スクリーンショットは前記表示手段の画面の画像を含み、前記1以上のHTMLファイルが含む前記の文字列はHTML5に準拠したHTMLタグ及びJavaScript登録商標のうちの一方又は双方を含み、前記HTMLタグはJavaScript登録商標を含むファイルへのリンクのためのタグを含み、前記プロトコルはWebSocketプロトコルを含み、前記符号化方式はBase64を含み、前記形式はPortableNetworkGraphicsPNG形式及びJointPhotographicExpertsGroupJPEG形式のうちの一方又は双方を含む、請求項12に記載のプログラム。しかし、従来のサービスには制限があった。例えば、KeynoteDeviceAnywhereというサービスは、遠隔の携帯端末にアクセスするために、開発者の端末に専用のソフトウェアをインストールしなければならないという制限があった。このサービスは、専用のソフトウェアの存在しない処理系の端末からは利用できない。また、例えば、MobileCloudというサービスは、遠隔の携帯端末にアクセスするために、Webブラウザを用いるサービスである。しかし、このサービスを利用するためには、Flashプラグインを利用できるWebブラウザでなければならないという制限があった。このサービスは、当然、Flashプラグインを利用できないWebブラウザからは利用できない。そのために、専用のソフトウェアをインストールすることなく、また、Flashプラグインを利用することなく、より多くのソフトウェア開発者が遠隔の携帯端末にアクセスできるサービスの登場が望まれていた。本願発明の一実施形態は、クライアントからネットワークを介して1以上の携帯端末にアクセスするためのサーバである。上記クライアントは上記ネットワークを介して上記サーバに接続されている。上記サーバは上記1以上の携帯端末に接続されている。上記1以上の携帯端末の各々は、情報を表示するための表示手段を備え、指示を受けたときにスクリーンショットを上記サーバに送るように構成されている。上記スクリーンショットは、上記表示手段に表示された情報を表すものである。上記サーバは、1以上のHTMLファイルを上記クライアントに送る第1の手段を備えている。上記1以上のHTMLファイルは、上記クライアントが解釈したときに、該クライアントに、上記1以上の携帯端末のうちの1つを選択するための第1の領域を表示させる文字列と、選択された上記携帯端末を示す端末IDを上記サーバに送ることをさせる文字列と、上記スクリーンショットを受けたときに該スクリーンショットを表示させる文字列と、上記1以上の携帯端末への入力を受けるための第2の領域を表示させる文字列と、受けた上記入力を上記1以上の携帯端末に対するコマンドに変換させる文字列と、上記1以上の携帯端末に対する上記コマンドを上記サーバに送ることをさせる文字列とを含んでいる。また、上記サーバは、1以上の第2の手段を備えている。該1以上の第2の手段の各々は、上記1以上の携帯端末の各々に関連し、該1以上の第2の手段の各々は、上記指示を関連した携帯端末に送り、上記1以上の携帯端末に対する上記コマンドを受けたときに該コマンドを関連した上記携帯端末に送るように構成されている。更に、上記サーバは、該サーバが受けた上記端末IDによって示された携帯端末から該サーバが上記スクリーンショットを受けたときに、該スクリーンショットを上記クライアントに送り、上記1以上の携帯端末に対する上記コマンドを該サーバが受けたときに、該コマンドを上記1以上の第2の手段のうちの該サーバが受けた上記端末IDによって示された携帯端末に関連した第2の手段に送る第3の手段を備えている。上記1以上のHTMLファイルは、上記クライアントが解釈したときに、該クライアントに、あるプロトコルを用いて上記コンピュータとの双方向の接続を確立させる文字列を更に含むことができる。この場合、上記サーバは、上記プロトコルを解釈するように構成される。上記接続を介して、上記端末ID、上記スクリーンショット及び上記コマンドは上記クライアントと上記サーバとの間で送受することができる。また、上記サーバは、該サーバが受けた上記スクリーンショットをある符号化方式により変換する第4の手段を更に備えることができる。上記符号化方式は、該符号化方式により変換された上記スクリーンショットを上記接続を介して送ることが可能であるようなものである。上記サーバは、該サーバが上記端末IDを受けたときに、受けた上記端末IDが示す携帯端末にプログラムを送る第5の手段を更に備えることができる。また、上記1以上の携帯端末の各々は、上記表示手段に表示された情報に対応したデータが記憶された記憶手段を更に備えることができる。受けた上記端末IDが示す上記携帯端末に送られた上記プログラムは、該携帯端末に、上記記憶手段に記憶された上記データを、上記クライアントが表示可能な形式のデータに変換させることができる。この場合、上記スクリーンショットは、上記クライアントが表示可能な形式の上記データを含むことができる。上記スクリーンショットは上記表示手段の画面の画像を含むことができる。上記1以上のHTMLファイルが含む上記の文字列はHTML5に準拠したHTMLタグ及びJavaScript登録商標のうちの一方又は双方を含み、上記HTMLタグはJavaScript登録商標を含むファイルへのリンクのためのタグを含むことができる。上記プロトコルはWebSocketプロトコルを含み、上記符号化方式はBase64を含み、上記形式はPortableNetworkGraphicsPNG形式及びJointPhotographicExpertsGroupJPEG形式のうちの一方又は双方を含むことができる。本願発明の別の実施形態は、上記サーバと、上記1以上の携帯端末とを含むシステムである。本願発明のまた別の実施形態は、クライアントからネットワークを介して1以上の携帯端末にアクセスするための方法である。上記方法は、上記第1の手段が、上記1以上のHTMLファイルを上記クライアントに送るステップと、上記第3の手段が、上記1以上の携帯端末に対する上記コマンドを上記サーバが受けたときに、該コマンドを上記1以上の第2の手段のうちの該サーバが受けた上記端末IDによって示された携帯端末に関連した第2の手段に送るステップと、上記第2の手段が、上記1以上の携帯端末に対する上記コマンドを受けたときに該コマンドを関連した上記携帯端末に送るステップと、上記第2の手段が、上記指示を関連した携帯端末に送るステップと、上記第3の手段が、上記サーバが受けた上記端末IDによって示された携帯端末から該サーバが上記スクリーンショットを受けたときに、該スクリーンショットを上記クライアントに送るステップとを含んでいる。上記方法は、上記第4の手段が、該サーバが受けた上記スクリーンショットをある符号化方式により変換するステップを更に含むことができる。上記方法は、上記第5の手段が、該サーバが上記端末IDを受けたときに、受けた上記端末IDが示す携帯端末にプログラムを送るステップを更に含むことができる。本願発明の更に別の実施形態は、コンピュータを、クライアントからネットワークを介して1以上の携帯端末にアクセスするためのサーバとして機能させるプログラムである。このプログラムは、コンピュータを上記の手段のうちの1以上として機能させるものである。本願発明の一実施形態によると、専用のソフトウェアをインストールすることなく、また、Flashプラグインを利用することなく、ソフトウェア開発者が遠隔の携帯端末にアクセスできるサービスが提供できる。また、本願発明の一実施形態によると、クライアントとサーバとの間で送受できるデータが制限されている場合でも、上記サービスを提供することができる。更に、本願発明の一実施形態によると、上記サービスを提供する際の負荷を分散することができ、また、携帯端末にスクリーンショットを取得する機能が存在しない場合でも、上記サービスを提供することができる。ところで、最近、HTML5という技術が脚光を浴びている。この技術は、上述したFlashプラグインを置き換えることが期待された技術である。また、HTML5に関連した技術として、WebSocketという技術が存在し、その標準化の作業が進められている。WebSocketは、従来不可能であった、クライアントとサーバとの間でのHTTPをベースとした完全な双方向通信を実現する技術である。これらHTML5やWebSocketに対応したWebブラウザは、広く普及することが見込まれている。従って、本願発明の一実施形態によると、より多くのクライアントに対して、上記サービスを提供することができる。以下、本明細書で使用する一般的な用語を説明する。コンピュータとは、ハードウェア資源である演算手段と、制御手段と、記憶手段と、入力手段と、出力手段とを含む装置のことである。演算手段及び制御手段はCPU及びMPU等を含む。記憶手段は、メモリ、ハードディスク及びSSD等を含む。入力手段は、マウス、キーボード、タッチパネル及びネットワークインターフェース等を含む。出力手段は、ネットワークインターフェース、ディスプレイ、プリンタ及びスピーカ等を含む。FPGAやマイクロコンピュータ等を使用して、演算手段と制御手段と記憶手段と入力手段と出力手段とのうちの2つ以上を物理的に1つのものとすることもできる。これらハードウェア資源である演算手段、制御手段、記憶手段、入力手段及び出力手段のうちの1以上と、ソフトウェアである任意のプログラムとが協働して、以下で説明する各手段を実現し、各処理を実行することができることは、当業者には明らかであろう。サーバとは、あるサービスを提供するためのコンピュータのことである。以下で説明する一実施形態における1つのサービスは、このサービスのユーザに、遠隔の携帯端末へのアクセスを提供するサービスである。別実施形態において異なるサービスを提供できることは言うまでもない。クライアントとは、あるサービスを受けるためのコンピュータのことである。携帯端末とは、携帯可能なコンピュータのことであり、Androidプラットフォームの携帯電話やタブレットやノートパソコン、iOSプラットフォームのiPhoneやiPodTouchやiPad、及び、Windows登録商標MobileプラットフォームのWindows登録商標Phone等を含む。以下で説明する一実施形態において、携帯端末はAndoroidプラットフォームの携帯電話であると仮定している。HTMLファイルとは、ハイパーテキストマークアップランゲージで記述された文字列を含むファイルのことである。この文字列は、コンピュータに対する命令として機能し、HTMLタグ及びJavaScript登録商標のうちの一方又は双方を含むことができる。HTMLタグは、JavaScript登録商標を含むファイルへのリンクのためのタグを含むことができる。HTMLタグは、HTML5に準拠したタグであることができる。以下、本願発明の一実施形態を説明する。図1は、本願発明の一実施形態を示すブロック図である。サーバ100は、ユーザが遠隔の携帯端末にアクセスするために、該ユーザのクライアント120と携帯端末130との間のやり取りを中継する。この図においてサーバ100は物理的に1つのものとして示されているが、このサーバは複数のコンピュータから構成されてもよい。サーバ100には、ネットワーク110を介してクライアント120が接続されている。この実施形態において、クライアント120上ではSafari等のWebブラウザが動作しており、それにより、このクライアントはHTMLファイルが含む文字列を解釈可能である。別実施形態においては、任意の、HTMLファイルが含む文字列を解釈可能なクライアント120を使用することができる。この図においては1つのクライアント120が示されているが、サーバ100には複数のクライアントを接続することができる。また、サーバ100には、3つの携帯端末130a~cが接続されている。携帯端末130a~cは、情報を表示するための表示手段131a~c、例えば、液晶ディスプレイを備えている。これら携帯端末は、指示を受けたときにスクリーンショットをサーバ100に送るように構成されている。スクリーンショットは、携帯端末130が備える上記表示手段131に表示された情報を表し、例えば、液晶ディスプレイに表示された画面の画像である。また、携帯端末130a~cは、表示手段131a~cに表示された情報に対応したデータが記憶された記憶手段132a~cを含むことができる。記憶手段132a~cに関しては後述する。この図においては3つの携帯端末130a~cが示されているが、サーバ100には1以上の任意の数の携帯端末を接続することができる。サーバ100は、1以上のHTMLファイルをクライアント120に送るための手段101を備えている。この手段は、例えば、サーバ100上で動作するhttpデーモンによって実現することができる。上記1以上のHTMLファイルは、クライアント120が解釈したときに、該クライアントに、図3aに関して後述するように、携帯端末130のうちの1つを選択するための領域を表示させる文字列と、ユーザが携帯端末130の1つを選択したときに、選択された携帯端末を示す端末IDをサーバ100に送ることをさせる文字列とを含んでいる。また、上記1以上のHTMLファイルは、クライアント120が解釈したときに、該クライアントに、図3bに関して後述するように、サーバ100を介して携帯端末130からスクリーンショットを受けたときにこのスクリーンショットを表示させる文字列を含んでいる。更に、上記1以上のHTMLファイルは、クライアント120が解釈したときに、該クライアントに、図2c及び図3bに関して後述するように、携帯端末への入力を受けるための領域を表示させる文字列と、受けた上記入力を携帯端末に対するコマンドに変換させる文字列と、携帯端末に対するコマンドをサーバ100に送ることをさせる文字列とを含んでいる。なお、上記1以上のHTMLファイルは、クライアント120が解釈したときに、図2及び3に関して後述する処理の実行や画面の表示をさせる文字列を更に含むことができる。また、サーバ100は、各々が携帯端末130a~cの各々に関連した手段102a~cを備えている。この図においては3つの手段102a~cが示されているが、サーバ100に接続された携帯端末の数に応じて、手段102の数も増減することは言うまでもない。手段102は、関連した携帯端末130に、スクリーンショット取得指示を送る。また、手段102は、携帯端末に対する上記コマンドを受けたときに、関連する携帯端末130にそのコマンドを送る。なお、手段102は、サーバ100上で動作する端末制御デーモンによって実現することができる。ここで、サーバ100上では複数のデーモンを実行することができる。サーバ100上で新たにデーモンが実行されると、該デーモンに対応した手段102がサーバ100に新たに追加されることになる。更に、サーバ100は、該サーバが受けたデータを該サーバに備わった各手段やクライアント120に転送する手段103を備えている。手段103は、サーバ100がクライアント120から上記端末IDを受けた後、この端末IDが示す携帯端末からスクリーンショットを受けたときに、このスクリーンショットをクライアント120に送る。また、手段103は、サーバ100がクライアント120から上記端末IDを受けた後、クライアント120から携帯端末に対する上記コマンドを受けたときに、このコマンドを特定の携帯端末に送る。ここで、特定の携帯端末は、携帯端末130のうちの、受けた上記端末IDが示す携帯端末である。上記1以上のHTMLファイルは、クライアント120が解釈したときに、該クライアントに、あるプロトコルを用いてサーバ100との双方向の接続を確立させる文字列を更に含むことができる。この場合、サーバ100は上記プロトコルを解釈できるように構成される。ここで、あるプロトコルの一例は、WebSocketプロトコルである。このような接続が確立された場合、該接続を介して、上記の端末ID、スクリーンショット及び携帯端末に対するコマンド等のデータをクライアント120とサーバ100との間で送受することができる。場合によっては、該接続を介したデータの送受が制限されることがある。より詳細には、一般的なコンピュータにおいて、データは8bitの数値、即ち0~255までの数値の集合として表現されるが、上記接続を介して、そのうちの一部の数値以外の数値を含むデータの送受ができないことがある。例えば、クライアント120によっては、動作しているWebブラウザの仕様上、WebSocketプロトコルの一部のみが実装されていることがあり、WebSocketプロトコルを用いた上記接続を介して、アルファベット及び数字等の人間が文章を作成する際に使用する文字を示す数値以外の数値を含むデータを送受できないことがある。一方、一般的に、携帯端末130のスクリーンショットは、上述の0~255の全ての数値を含みうるデータである。従って、サーバ100は、携帯端末130から該サーバが受けたスクリーンショットを、ある符号化方式により変換する手段104を更に備えることができる。符号化方式は、上記接続を介して、該符号化方式により変換されたスクリーンショットを送ることが可能である任意の符号化方式であってよい。上述の一例においては、Base64によりスクリーンショットを変換することができる。この場合、手段102は、変換後のスクリーンショットをクライアント120に送ることになる。更に、サーバ100は、携帯端末130に特定の処理を行わせるために、携帯端末130にプログラムを送るための手段105を備えることができる。この実施形態において、手段105は、図2aに関して後述する端末選択処理において、サーバ100が端末IDを受けたときに、この端末IDが示す携帯端末に上記プログラムを送る。別実施形態において、手段105は、他の適切なときに、例えば、図2eに関して後述する携帯端末登録処理において、サーバ100に携帯端末が新たに接続されたときに、上記プログラムを接続された携帯端末に送ることができる。サーバ100上で行う一部の処理を携帯端末上で行うことによって、サーバ100の負荷を減らすことができ、負荷分散が実現できる。特に、手段105は、セキュリティ等の理由により、携帯端末130にスクリーンショットを取得する機能、例えば該携帯端末で動作しているOSのAPIが存在しない場合に有用である。このような場合にスクリーンショットを取得するためには、上述した記憶手段132、例えば、液晶ディスプレイの画面の画像に対応したデータが記憶されたフレームバッファを直接読み取る必要がある。しかし、フレームバッファに記憶されたデータは携帯端末に依存した形式のデータであり、一般的にはクライアント120が表示可能な形式のデータではない。この場合、記憶手段132に記憶されたデータの形式を、クライアント120が表示可能な形式のデータに変換することが必要となる。従って、上記プログラムは、携帯端末130に、記憶手段132に記憶されたデータをクライアント120が表示可能な形式のデータに変換させるプログラムであることができる。表示可能な形式はクライアントに依存するが、例えば、限定するわけではないが、PortableNetworkGraphicPNG形式、JointPhotographicExpertsGroupJPEG形式、GraphicsInterchangeFormatGIF形式等であれば、多くのクライアントが表示可能であろう。なお、図示していないが、サーバ100は、上記HTMLファイルやプログラムを記憶する手段、及び、該サーバとは別の装置から上記HTMLファイルやプログラムを取得する手段のうちの一方又は双方を含むことができる。次に、本願発明の一実施形態における処理を説明する。但し、本願発明に関する分野で一般的な処理、例えば、ユーザがサーバ100にログインするための処理等については、省略する。図2aは、アクセスする携帯端末をユーザが選択するときに実行される端末選択処理を示すフロー図である。ユーザから携帯端末の選択を受けたクライアント120は、サーバ100に、選択された携帯端末を示す端末IDを送るステップ211。ユーザがどのように携帯端末を選択するかについては、図3aに関して後述する。サーバ100が端末IDを受けたときに、手段103は、該IDが示す携帯端末に関連した手段102に、後述のスクリーンショット取得処理の繰り返しを開始する指示を送るステップ212。このとき、手段103は、ユーザが選択した携帯端末を、サーバ100に備わった各手段が後の処理において識別するために、任意の手法により、受けた端末IDそのもの、又は、該IDが示す携帯端末を示す何らかの情報を記憶することができる。また、複数のクライアントが同時に接続する場合には、手段103は、任意の手法により、複数のクライアントのうちの1つと、該クライアントから受けた端末IDとの対応関係を記憶することができる。指示を受けた手段102は、後述のスクリーンショット取得処理の繰り返しを開始するステップ213。この処理は他の処理とは非同期に繰り返すことができるため、該手段が作成したスクリーンショット取得スレッドにより実行することができる。図2bは、スクリーンショット取得処理を示すフロー図である。手段102は、関連した携帯端末130に、上述のスクリーンショット取得指示を送るステップ221。上記指示を受けた携帯端末130は、スクリーンショットを取得し、取得したスクリーンショットをサーバ100に送るステップ222。サーバ100がスクリーンショットを受けたときに、手段103は、Base64によりスクリーンショットを変換するステップ223。なお、このステップは、携帯端末130がステップ222において行ってもよい。また、このステップは、上述したように、サーバ100とクライアント120との間のデータの送受に制限があるために行うものである。別実施形態において、そのような制限がない場合には、省略することができる。次に、手段103は、クライアント120に、変換後のスクリーンショットを送るステップ224。スクリーンショットを受けたクライアント120は、該スクリーンショットを表示するステップ225。どのようにスクリーンショットが表示されるのかについては、図3bに関して後述する。図2cは、ユーザが携帯端末にアクセスするときに実行される携帯端末アクセス処理を示すフロー図である。ユーザからの入力を受けたクライアント120は、該入力を携帯端末に対するコマンドに変換するステップ231。どのように入力を受けるのかについては、図3bに関して後述する。携帯端末に対するコマンドは、携帯端末上でフリック操作、タップ操作、ソフトキー入力及びハードキー入力等が行われたときに生ずるイベントを、該携帯端末上で発生させるコマンドを含む。次に、クライアント120は、サーバ100に、携帯端末に対するコマンドを送るステップ232。サーバ100が携帯端末に対するコマンドを受けたときに、手段103は、先に受けた端末IDが示す携帯端末130に関連した手段102に、該コマンドを送るステップ233。携帯端末のコマンドを受けた手段102は、関連した携帯端末130に、該コマンドを送るステップ234。携帯端末のコマンドを受けた携帯端末130は、該コマンドに対応したイベントを発生するステップ235。このイベントの発生により、携帯端末130上では何らかの挙動が発生することになる。この挙動は、携帯端末130が備える表示手段131、例えば液晶ディスプレイの画面上の変化を含む。この手段の画面上の変化が生じた場合には、非同期に実行されている上述のスクリーンショット取得処理によって、変化したスクリーンショットがクライアント120上には表示されることになる。図3cに関して後述するように、携帯端末130にはユーザが開発したソフトウェアを送りインストールすることができる。この携帯端末アクセス処理によって、そのようなソフトウェアを携帯端末130上で実行し、任意のイベントを発生させることにより、このソフトウェアの携帯端末130上での挙動をテストすることができる。また、図3bに関して後述するように、携帯端末に対するコマンドは、ユーザが記述したテストコードに従ってサーバ100に送ることもできる。この場合、ステップ231は省略される。図2dは、アクセスする携帯端末の選択をユーザが解除するときに実行される端末選択解除処理を示すフロー図である。クライアント120が、サーバ100に、携帯端末の選択を解除する指示を送るステップ241。サーバ100が指示を受けたときに、手段103は、サーバ100が先に受けた端末IDが示す携帯端末に関連した手段102に、スクリーンショット取得処理の繰り返しを終了する指示を送るステップ242。指示を受けた手段102は、スクリーンショット取得処理の繰り返しを終了するステップ243。スクリーンショット取得処理をスクリーンショット取得スレッドにより実行している場合には、該スレッドを削除する。図2eは、サーバ100に新たに携帯端末を接続したときに実行される携帯端末登録処理を示すフロー図である。サーバ100に新たな携帯端末が接続されたときに、手段103は、接続された携帯端末に関する情報を取得するステップ251。この情報は、携帯端末がAndroidプラットフォームの携帯電話等である場合、adb等のAndroidプラットフォーム用のソフトウェア開発環境に含まれるツールにより取得することができる。また、この情報は、該携帯端末の端末ID、機種名、メーカー名及びインストールされているOSバージョン等を含む。また、このステップは、手段103が、任意の手法により、上記情報を記憶するステップを含むことができる。次に、手段103は、接続された携帯端末に関連した新たな手段102を追加するステップ252。上述のように、手段102が端末制御デーモンにより実現される場合、サーバ100上で新たな端末制御デーモンを起動することにより、該サーバに新たな手段102が追加されることになる。次に、本願発明の一実施形態において、クライアント120に表示される画面を説明する。なお、以下で行われる入力や選択は、クライアント120に備わった図示しない任意の入力手段を使用して、ユーザが行うことができる。また、以下で使用する領域は、クライアント120に表示されるUIコンポーネントを含んでいる。UIコンポーネントとは、例えば、ラベル、テキストボックス、ボタン、ラジオボタン、チェックボックスのことである。図3aは、アクセスする携帯端末をユーザが選択するための画面300を示している。領域301a~cの各々には、サーバ100に接続された携帯端末130a~cの各々を示す情報が表示される。この情報は、携帯端末の機種名、メーカー名及びインストールされているOSバージョン等を含むことができる。この情報は、携帯端末の端末IDを含んでいてもよい。領域302a~cの各々には、携帯端末130a~cの各々の状態を示す情報が表示される。この情報は、例えば、接続されているが、何らかの理由により選択ができないときに表示される準備中の文字列、既に他のユーザに選択されてしまっているときに表示される他ユーザ選択中の文字列、及び、ユーザが選択可能であることを示す選択可能の文字列を含む。この図においては、携帯端末130bのみが選択可能であり、それ以外は準備中又は他ユーザ選択中であると仮定している。この図においては3つの領域の組301a~c及び302a~cが示されているが、サーバ100に接続された携帯端末の数に応じて、これら領域の組の数も増減することは言うまでもない。多数の携帯端末がサーバ100に接続された場合には、一度に全ての携帯端末に対応した領域301及び302は表示できないため、図示していないスクロールバーを使用して、画面300の表示を切り替えることになるであろう。領域303は、ユーザが携帯端末を選択するときに使用される。この図においては、携帯端末130bのみが選択可能であるため、該携帯端末に対応した領域303bのみが表示されている。ユーザがこの領域を選択することにより、対応した携帯端末が選択される。なお、上述したように、続いて、選択された携帯端末を示す端末IDがクライアント120からサーバ100に送られることになる。図3bは、ユーザが携帯端末にアクセスし、該携帯端末の挙動をテストするための画面310を示している。領域311には、サーバ100からクライアント120が受けた、携帯端末130のスクリーンショットが表示される。上述のように、スクリーンショット取得処理は非同期に繰り返し行うことができるため、クライアント120はこの領域を自動的に更新し、常に最新のスクリーンショットを表示し続けることができる。なお、領域311には、クライアント120がスクリーンショットを受ける前は、任意の画像を表示することができる。また、ユーザが領域311上でドラッグ及びクリック等の入力を行うと、この入力は、携帯端末上でフリック操作及びタップ操作等の入力が行われたときに生ずるイベントを該携帯端末上で発生させるコマンドに変換される。領域312は、携帯端末においてソフトキー入力を行うために使用される。ユーザがこの領域に文字列を入力すると、この入力は、対応したソフトキー入力が携帯端末130上で行われたときに生ずるイベントを該携帯端末上で発生させるコマンドに変換される。領域313は、携帯端末においてハードキー入力を行うために使用される。この一実施形態において、ハードキーはBACK、HOME及びMENUのキーであると想定しているため、この図においては3つの領域313a~cが表示されている。しかし、領域313の数は、想定するハードキーの数に依存して増減することは言うまでもない。ユーザが入力として領域313を選択すると、この入力は、選択された領域に対応したハードキー入力が携帯端末130上で行われたときに生ずるイベントを該携帯端末上で発生させるコマンドに変換される。領域314は、テストコードを入力するために使用される。ユーザは、領域314において携帯端末に対するテストコードを入力することができる。テストコードは、1以上の上述したようなイベントを携帯端末上で発生させるためのコードを含む。また、テストコードは、携帯端末上で表示されるUIコンポーネントの状態がある条件を満たしているかどうか、例えば、テキストボックスに入力された文字列が特定の文字列と一致するかどうかをチェックするためのコードを含む。なお、上記条件のことを、以下ではテストケースと呼ぶ。テストコードは、複数のテストケースを含むことができる。更に、テストコードは、任意の時点で、領域311に表示されたスクリーンショットを保存するためのコードを含む。なお、スクリーンショットは、任意の手法で、クライアント120又はサーバ100に保存することができる。一実施形態においては、複数のUIテストライブラリのうちの1つを用いて、ユーザは上記テストコードを記述することができる。UIテストライブラリの例は、MonkeyRunner、NativeDriver及びAndroidDriverという名称のライブラリである。上記のコードは、UIテストライブラリごとに異なるため、ユーザは、図3fに関して後述するように、好みのUIテストライブラリを選択することができる。領域315は、入力されたテストコードを実行するために使用される。ユーザが領域315を選択すると、領域314に入力されたテストコードに従って、クライアント120はサーバ100に携帯端末130に対するコマンドを送り、テストケースがチェックされ、スクリーンショットが保存される。領域316は、入力されたテストコードを保存するために使用される。ユーザが領域316を選択すると、任意の手法により、クライアント120又はサーバ100に、入力されたテストコードが保存される。領域317には、テストコードの入力を補助するための情報が表示される。領域311、312及び313に対して何らかの入力がなされると、その入力に対応したコードが317に表示される。ユーザは、領域317に表示されたコードを利用して、領域314にテストコードを入力することができる。領域318は、領域311に表示されているスクリーンショットを保存するために使用される。領域318が選択されると、領域318を選択したときに領域311に表示されているスクリーンショットは、任意の手法により、クライアント120又はサーバ100に保存される。領域319は、領域317に表示されたコードに対するコメントを入力するために使用される。領域319に入力されたコメントは、領域317にコードとともに表示することができる。例えば、ユーザが領域319に文字列を入力しEnterキーを押下したときに、入力された文字列をコメントとして領域317に出力することができる。領域320及び321は、携帯端末を選択及び選択解除するために使用される。領域320が選択されると、図3aに示される上記画面が表示される。領域321が選択されると、上記端末選択解除処理が実行される。図3cは、テストを管理するための画面330を示している。領域331は、携帯端末130にインストールするソフトウェアを指定するために使用される。例えば、クライアント120がMacOSX等のデスクトップ環境が動作したコンピュータである場合、クライアント120に備わった図示しない任意の入力手段を使用して、指定したいソフトウェアのファイルをユーザが領域331上にドラッグドロップすることによって、そのソフトウェアをサーバ100にアップロードすることができる。領域332は、アップロードされたソフトウェアを携帯端末130にインストールするために使用される。この領域が選択されると、選択された携帯端末に、アップロードされたソフトウェアがインストールされる。領域333は、アップロードされたソフトウェアをサーバ100から削除するために使用される。領域334は、テストクラスを作成するためのボタンである。テストクラスとはテストの一単位のことであり、テストクラスごとに、入力されたテストコード、利用されるUIテストライブラリ及び後述するテスト結果等が管理される。領域334が選択されると、図3fに関して後述するテストクラス作成画面が表示される。領域335には、作成されたテストクラスに関する情報が表示される。この情報は、テストクラスの名前、利用されるUIテストライブラリの名前、テストコードの最終更新日等を含む。また、領域335は、図示していないが、テストクラスの名前等を変更したり、作成されているテストクラスを削除したりするために使用される領域を含むことができる。なお、この図において、3つの領域335a~cが表示されているが、その数は、作成されたテストクラスの数に依存することは言うまでもない。図3dは、テスト履歴を示す画面340を示している。領域341a~cの各々は、1回のテストに対応し、1回のテストは、上記テストコードの1回の実行を含む。領域341には、テストコードの実行の結果が表示される。従って、この図は、テストコードの実行が今までに3回行われたことを示している。上述のように、テストコードは複数のテストケースを含むことができ、これら領域には、これら複数のテストケースの全てが満たされたときにOKの文字列を、そうでないときにERRORの文字列を表示することができる。ユーザが領域341a~cの各々を選択すると、選択された領域に対応する、図3eに関して後述する結果の詳細を示す画面が表示されることになる。領域342a~cの各々には、領域341a~cの各々に対応するテストコードが実行された際に選択されていた携帯電話130を示す情報が表示される。領域343a~cの各々には、領域341a~cの各々に対応するテストコードの実行に関するログが表示される。このログは、テストコードの実行にかかった時間、満たされなかったテストケースの数、満たされなかったテストケースを示す情報及びテストコードの実行の完了日時等を含む。テストコードにおいては、テストケースに名前を付けることができ、テストケースを示す情報は、テストケースの名前を含む。図3eは、1回のテストコード実行の結果の詳細を表示するための画面350を示している。領域351には、上述した、テストコードの実行の結果が表示される。領域352には、上述した、テストコードが実行された際に選択されていた携帯電話130を示す情報が表示される。領域353には、上述した、テストコードの実行に関するログが表示される。領域354には、実行したテストコードに含まれるテストケースを示す情報が表示される。領域355には、テストコードの実行中に保存されたスクリーンショットが表示される。テストコードの実行中に複数のスクリーンショットが保存された場合には、複数のスクリーンショットが表示される。図3cに関して前述したように、ユーザは、任意のソフトウェアを選択した携帯端末にインストールすることができる。ソフトウェアのインストールし、任意のテストコードを実行した後に画面350を参照することにより、そのソフトウェアの携帯端末130上での挙動を、この画面を参照することによって確認することができる。図3fは、新たにテストクラスを作成するための画面360を示している。領域361は、テストクラスの名前を入力するために使用される。領域362a~cの各々は、用意されたUIテストライブラリの各々に関連し、このテストクラスにおいて利用するUIテストライブラリを選択するために使用される。この図においては3つの領域362a~cが示されているが、用意されたUIテストライブラリの数に応じて、領域362の数も増減することは言うまでもない。領域363は、テストクラスを作成するために使用される。この領域が選択されると、領域361に入力されたテストクラス名及び選択された領域362に対応したUIテストライブラリとともにテストクラスが作成される。作成されたテストクラスは、図3cに関して前述した画面に追加されることになる。以上、本願発明の一実施形態について説明してきたが、この実施形態は、本願発明の一例に過ぎないことに注意されたい。本願発明は、特許請求の範囲によってのみ特定され、上述の実施形態に対して様々な変形、修正、削除及び代替をした実施形態をも含んでいる。