JP6272999B2 - プログラム及び情報処理装置 - Google Patents

プログラム及び情報処理装置 Download PDF

Info

Publication number
JP6272999B2
JP6272999B2 JP2016522981A JP2016522981A JP6272999B2 JP 6272999 B2 JP6272999 B2 JP 6272999B2 JP 2016522981 A JP2016522981 A JP 2016522981A JP 2016522981 A JP2016522981 A JP 2016522981A JP 6272999 B2 JP6272999 B2 JP 6272999B2
Authority
JP
Japan
Prior art keywords
information
program
communication
communication terminal
identification information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016522981A
Other languages
English (en)
Other versions
JPWO2015181854A1 (ja
Inventor
和久 柴山
和久 柴山
雄司 曽我
雄司 曽我
有祐 加藤
有祐 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AGOOP Corp
Original Assignee
AGOOP Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AGOOP Corp filed Critical AGOOP Corp
Publication of JPWO2015181854A1 publication Critical patent/JPWO2015181854A1/ja
Application granted granted Critical
Publication of JP6272999B2 publication Critical patent/JP6272999B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)
  • Stored Programmes (AREA)

Description

本発明は、プログラム及び情報処理装置に関する。
デーモンプロセスとして動作するモジュールを有するプログラム及び当該プログラムにより実現されるシステムが知られている(例えば、特許文献1を参照。)。
(先行技術文献)
(特許文献)
(特許文献1)特開2013−235384号公報
複数のプログラムのそれぞれが、同一又は類似の機能を有するモジュールを有する場合がある。同一のシステム上で上記の複数のプログラムが起動すると、それぞれのプログラムに含まれるモジュールも起動する。しかし、同一又は類似の機能を有する複数のモジュールが同時に動作すると、システムのリソースが無駄になる場合がある。
本発明の第1の態様においては、プログラムが提供される。上記のプログラムを記憶するコンピュータ読み取り可能な媒体が提供されてもよい。上記のプログラムは、コンピュータに、インストールされている1以上のプログラムの識別情報を取得するプログラム情報取得手順を実行させるためのプログラムであってよい。上記のプログラムは、コンピュータに、1以上のプログラムの識別情報に基づいて、コンピュータによる当該プログラムの実行を継続させるか、当該実行を停止させるかを決定する決定手順を実行させるためのプログラムであってよい。
上記のプログラムにおいて、プログラム情報取得手順は、オペレーティング・システムから、コンピュータにインストールされている全てのプログラムの識別情報を取得する手順を有してよい。上記のプログラムにおいて、プログラム情報取得手順は、全てのプログラムの識別情報の中から、現在起動しているプログラムの識別情報を抽出して、1以上のプログラムの識別情報を取得する手順を有してよい。
上記のプログラムにおいて、決定手順は、プログラム情報取得手順において取得された1以上の識別情報の中に、予め定められた識別情報が含まれない場合に、コンピュータによる当該プログラムの実行を継続させることを決定する手順を含んでよい。上記のプログラムにおいて、決定手順は、プログラム情報取得手順において取得された1以上の識別情報の中に、予め定められた識別情報が含まれる場合に、コンピュータによる当該プログラムの実行を停止させることを決定する手順を含んでよい。
上記のプログラムは、コンピュータに、1以上のプログラムのそれぞれに割り当てられた優先度を取得する優先度情報手順をさらに実行させるためのプログラムであってよい。上記のプログラムにおいて、決定手順は、当該プログラムが、1以上のプログラムの中で最も優先度が高い場合に、コンピュータによる当該プログラムの実行を継続させることを決定する手順を含んでよい。
上記のプログラムにおいて、決定手順は、当該プログラムが、1以上のプログラムの中で最も優先度が高く、かつ、1以上のプログラムのうち、現在起動しているプログラムの識別情報の中に、予め定められた識別情報が含まれない場合に、コンピュータによる当該プログラムの実行を継続させることを決定する手順を含んでよい。上記のプログラムにおいて、決定手順は、1以上のプログラムの中に、当該プログラムよりも優先度の高いプログラムが存在する場合に、コンピュータによる当該プログラムの実行を停止させることを決定する手順を含んでよい。上記のプログラムにおいて、1以上のプログラムの少なくとも1つには、時刻及び位置の少なくとも一方に応じた優先度が割り当てられてよい。
上記のプログラムは、コンピュータに、予め定められたイベントが発生した場合に、決定手順を実行させる手順をさらに実行させるためのプログラムであってよい。上記のプログラムにおいて、予め定められたイベントは、プログラムのコンピュータへのインストール、プログラムのコンピュータからの削除、プログラムのアップデート、コンピュータの再起動、プログラムによる情報処理についてユーザが承諾したこと、及び、プログラムによる情報処理についてユーザが拒否したことからなる群から選択される少なくとも1つであってよい。
本発明の第2の態様においては、情報処理装置が提供される。上記の情報処理装置は、インストールされている1以上のプログラムの識別情報を取得するプログラム情報取得部を備えてよい。上記の情報処理装置は、1以上のプログラムの識別情報に基づいて、一のプログラムの実行を継続させるか、当該実行を停止させるかを決定する決定部を備えてよい。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
通信状況解析システム100の一例を概略的に示す。 通信端末110の一例を概略的に示す。 ログ情報のデータテーブル300の一例を概略的に示す。 通信端末110の動作の一例を概略的に示す。 通信端末110の動作の他の例を概略的に示す。 通信端末610の一例を概略的に示す。 通信端末610の動作の一例を概略的に示す。 通信端末110のモジュール構成の一例を概略的に示す。 ログ生成モジュール814の一例を概略的に示す。 データテーブル1000の一例を概略的に示す。 データテーブル1100の一例を概略的に示す。
以下、発明の実施の形態を通じて本発明の一側面を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
図1は、通信状況解析システム100の一例を概略的に示す。本実施形態において、通信状況解析システム100は、通信端末110と、情報収集サーバ120とを備える。通信状況解析システム100及び通信端末110は、情報処理装置の一例であってよい。通信端末110は、通信機能を有するコンピュータの一例であってよい。
通信端末110及び情報収集サーバ120は、通信ネットワーク10を介して情報を送受する。通信端末110及び情報提供サーバ20は、通信ネットワーク10を介して情報を送受する。通信ネットワーク10は、無線通信の伝送路であってもよく、無線通信の伝送路及び有線通信の伝送路の組み合わせであってもよい。通信ネットワーク10は、携帯電話回線網などの移動体通信網、無線パケット通信網、インターネッ及び専用回線又はそれらの組み合わせであってもよい。
情報提供サーバ20及び情報収集サーバ120のそれぞれは、一般的な構成の情報処理装置において、情報提供サーバ20及び情報収集サーバ120のそれぞれの各部の動作を規定したソフトウエア又はプログラムを起動することにより実現されてよい。情報提供サーバ20及び情報収集サーバ120として用いられる情報処理装置は、CPU等のプロセッサ、ROM、RAM、通信インターフェースなどを有するデータ処理装置と、キーボード、タッチパネル、マイクなどの入力装置と、表示装置、スピーカなどの出力装置と、メモリ、HDDなどの記憶装置とを備えてよい。データ処理装置又は記憶装置は、上記のソフトウエア又はプログラムを記憶してよい。情報提供サーバ20及び情報収集サーバ120は、プロセッサと、プロセッサによって実行される命令又はプログラムを記憶する記憶装置とを備えた情報処理装置の一例であってよい。上記の命令又はプログラムは、プロセッサによって実行されることにより、当該情報処理装置に、当該命令又はプログラムによって規定された動作を実行させる。
情報提供サーバ20及び情報収集サーバ120のそれぞれは、仮想サーバ又はクラウドシステムであってもよい。また、情報提供サーバ20及び情報収集サーバ120のそれぞれの機能が、複数のサーバによって実現されてもよい。
情報提供サーバ20は、通信ネットワーク10を介して、通信端末110に情報を提供することで、通信端末110のユーザにサービスを提供する。情報提供サーバ20により提供されるサービスとしては、情報検索サービス、地図上でのナビゲーションサービス、メールサービス、映像・音楽データ配信サービス、電子書籍配信サービスなどを例示することができる。情報提供サーバ20は、通信端末110から、通信端末110のユーザにより指定された情報に関する送信要求を受信する。情報提供サーバ20は、通信端末110からの送信要求に応じて、通信端末110に情報を送信する。
通信端末110は、通信機能を有する。通信端末110は、無線通信機能を有してよい。通信端末110は、複数の通信方式に対応してもよい。例えば、通信端末110は、3G方式、LTE方式、4G方式などの移動体通信方式と、WiFi(登録商標)、WiMAX(登録商標)などの無線通信方式との両方の通信方式に対応する。通信端末110は、情報提供サーバ20及び情報収集サーバ120と情報を送受することができる装置であればよく、Webブラウザソフトが導入されたパーソナルコンピュータ、携帯電話、携帯端末(PDA、タブレット又はノートブック・コンピュータ若しくはラップトップ・コンピュータなどを例示することができる。)、無線端末などであってよい。
通信端末110は、一般的な構成の情報処理装置において、通信端末110の各部の動作を規定したソフトウエア又はプログラムを起動することにより実現されてよい。通信端末110として用いられる情報処理装置は、CPU等のプロセッサ、ROM、RAM、通信インターフェースなどを有するデータ処理装置と、キーボード、タッチパネル、マイク、GPS情報取得装置、加速度センサ、ジャイロセンサなどの入力装置と、表示装置、スピーカ、振動装置などの出力装置と、メモリ、HDDなどの記憶装置とを備えてよい。データ処理装置又は記憶装置は、上記のソフトウエア又はプログラムを記憶してよい。通信端末110は、通信機能を有し、プロセッサと、プロセッサによって実行される命令又はプログラムを記憶する記憶装置とを備えた情報処理装置の一例であってよい。上記の命令又はプログラムは、プロセッサによって実行されることにより、当該情報処理装置に、当該命令又はプログラムによって規定された動作を実行させる。
通信端末110は、ユーザ指示を受け付け、ユーザ指示によって指示された処理を実行する。ユーザ指示は、通信端末110に対して、通信環境に関する情報を取得するための処理以外の処理を実行することを指示する指示であってよい。通信端末110は、ユーザ指示を受け付けた場合に、通信端末110の通信環境に関する情報(通信環境情報と称する場合がある。)と、通信環境情報を取得した位置を示す位置情報とを取得する。通信端末110は、ユーザ指示によって指示された処理が実行される場合に、通信環境情報及び位置情報を取得してもよい。位置情報は、緯度及び経度に関する情報であってよく、さらに高度に関する情報を含んでもよい。通信端末110は、少なくとも通信環境情報及び位置情報が対応付けられた情報(ログ情報と称する場合がある。)を、情報収集サーバ120に送信する。
通信環境情報としては、通信の可否、電波状況(電波受信レベル、電波強度、RSCP(Received Signal Code Power)、CID(Cell ID)などを例示することができる。)、通信品質(通信速度、データ通信のスループット、データ通信のレイテンシなどを例示することができる。)、通信方式、通信キャリアなどに関する情報を例示することができる。通信環境情報は、電波に関連する情報以外のネットワークに関する情報を含んでもよい。通信の可否は、例えば、電波受信レベルが予め定められたレベルよりも小さい場合(例えば、圏外である場合)に、通信が可能でない(通信不可と称する場合がある。)と判断される。
通信の可否は、特定の電波状況又は通信品質に関する情報を取得する処理(試行と称する場合がある。)を複数回繰り返した結果に基づいて、判断されてもよい。例えば、予め定められた回数の試行のうち、電波状況又は通信品質が予め定められた第1の閾値よりも良好であった試行の割合が、予め定められた第2の閾値よりも大きい場合に、通信が可能である(通信可能と称する場合がある。)と判断される。それ以外の場合は、通信が可能でない(通信不能と称する場合がある。)と判断される。
ログ情報は、通信環境情報と、位置情報と、通信環境情報を取得した時刻を示す情報、位置情報を取得したときのGPS強度を示す情報及び通信端末110に関する情報の少なくとも1つとが対応づけられた情報であってもよい。通信端末110に関する情報としては、通信端末110のそれぞれを識別する端末識別情報、通信端末110の機種を示す情報、通信端末110のOSを示す情報などを例示することができる。
通信環境情報を取得した時刻を示す情報は、通信端末110が通信環境情報の取得処理を開始した時刻であってもよく、通信端末110が通信環境情報の取得処理を完了した時刻であってもよく、通信端末110がユーザ指示を受け付けた時刻であってもよい。端末識別情報は、コンピュータを識別する識別情報の一例であってよい。
端末識別情報は、通信端末110のそれぞれを識別することができる情報であれば特に限定されないが、ユーザを特定することなく、通信端末110を識別することができる情報であることが好ましい。これにより、情報収集サーバ120は、ユーザを特定することなく、ログ情報の時間的な関連性を考慮して、ログ情報を解析することができる。
例えば、特定の通信端末110の端末識別情報として、ランダムに選択された符号列が付与される。符号列は、1以上の通信端末110のそれぞれに固有の符号列であってもよく、複数の通信端末110の間で再利用されてもよい。端末識別情報は、予め定められた期間ごとに更新されてもよく、任意のタイミングで更新されてもよい。
情報収集サーバ120は、1以上の通信端末110のそれぞれからログ情報を受け取る。情報収集サーバ120は、受け取ったログ情報を記憶装置に格納してよい。情報収集サーバ120は、ログ情報を用いて通信状況を解析してよい。
図2は、通信端末110の一例を概略的に示す。図2の説明において、図1に関連した説明と重複する部分については説明を省略する場合がある。本実施形態において、通信端末110は、入力部212と、処理実行部214と、環境情報取得部216と、位置情報取得部218と、出力部222と、識別情報取得部224と、ログ情報生成部226と、通信制御部228とを備える。通信端末110の各部は、互いに情報を送受する。
本実施形態において、環境情報取得部216、位置情報取得部218、識別情報取得部224及びログ情報生成部226は、ログ生成部210を生成する。ログ生成部210は、ログ情報を生成して、生成されたログ情報を情報収集サーバ120に送信する。
通信端末110の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウエアとソフトウエアとの組み合わせにより実現されてもよい。また、プログラムが実行されることにより、コンピュータが、通信端末110の一部として機能してもよい。プログラムは、CD−ROM、DVD−ROM、メモリ、ハードディスクなどのコンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。プログラムは、コンピュータ読み取り可能な媒体又はネットワークに接続された記憶装置から、通信端末110のコンピュータにインストールされてよい。
コンピュータを通信端末110の一部として機能させるプログラムは、通信端末110の各部の動作を規定したモジュールを備えてよい。これらのプログラム又はモジュールは、プロセッサ、通信インターフェース、GPS情報取得装置等に働きかけて、コンピュータを通信端末110の各部として機能させたり、コンピュータに通信端末110における情報処理方法を実行させたりする。
これらのプログラムに記述された情報処理は、コンピュータに読込まれることにより、ソフトウエアと、通信端末110の各種のハードウエア資源とが協働した具体的手段として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータの使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた通信端末110を構築することができる。
入力部212は、ユーザから、ユーザ指示を受け付ける。入力部212は、キーボード、タッチパネル又はマイクであってよい。ユーザ指示は、通信端末110に対して、通信環境に関する情報を取得するための処理以外の処理を実行することを指示する。したがって、専ら回線速度又は通信速度を測定するための情報を取得することを要求する指示、専ら回線速度又は通信速度を測定するサービスを提供するサーバにアクセスすることを要求する指示などは、ユーザ指示に含まれない。入力部212は、ユーザ要求受付部の一例であってよい。
処理実行部214は、ユーザ指示によって指示された処理を実行する。ユーザ指示によって指示された処理は、通信機能を利用する処理であってもよく、通信機能を利用しない処理であってもよい。
ユーザ指示によって指示された処理は、通信端末110がユーザ指示を受け付けた時点で実行される処理であってもよい。ユーザ指示によって指示された処理は、ユーザの設定により、予め定められた時刻に又は予め定められた時間が経過するごとに自動的に実行される処理であってもよく、通信端末110の初期設定又は通信端末110上で動作するプログラムの初期設定により、予め定められた時刻に又は予め定められた時間が経過するごとに自動的に実行される処理であってもよい。
ユーザ指示によって指示された処理は、ユーザ指示によって指示された情報を、ユーザが知覚することができる形態で出力する処理であってよい。このような処理としては、通信端末110の表示画面をスクロールして、表示画面に表示される画像の表示位置を変更する処理、情報提供サーバ20にアクセスして、情報提供サーバ20からユーザが指示した情報を取得して、取得した情報を通信端末110の表示画面に表示する処理などを例示することができる。
ユーザ指示によって指示された処理は、通信端末110のボタンの押下又はスイッチの切替えに対応づけられた処理であってよい。ユーザ指示によって指示された処理は、通信端末110の電源をOFFにする処理であってもよい。ユーザ指示によって指示された処理は、通信端末110からログオフする処理であってもよく、通信端末110をスリープ状態にする処理であってもよい。
環境情報取得部216は、通信端末110の通信環境情報を取得する(通信環境情報取得手順を実行すると称する場合がある。)。環境情報取得部216は、予め定められたイベントが発生した場合に、通信端末110の通信環境情報を取得してよい。予め定められたイベントとしては、(i)通信環境情報を取得するための処理以外の処理を実行することを指示するユーザ指示を受け付けたこと、(ii)環境情報取得部216がバックグラウンドで動作する状態に移行してから予め定められた期間(第2の期間の一例であってよい。)が経過したこと、(iii)以前に、通信環境情報を取得するための処理が実行されてから予め定められた期間(第3の期間の一例であってよい。)が経過したこと、及び、(iv)予め定められた時刻が到来したこと、からなる群から選択される少なくとも1つを例示することができる。
環境情報取得部216は、例えば、ユーザ指示を受け付けた場合に、ユーザ指示によって指示された処理とは別に、通信端末110の通信環境情報を取得する。環境情報取得部216は、処理実行部214がユーザ指示によって指示された処理を実行する場合に、ユーザ指示によって指示された処理とは別に、通信環境情報を取得してもよい。環境情報取得部216は、予め定められた時刻に又は予め定められた時間が経過するごとに(通信環境情報を取得するタイミングと称する場合がある。)、通信環境情報を取得してもよい。
一実施形態によれば、入力部212がGPSロガーの起動を指示するユーザ指示を受け付けた場合、環境情報取得部216は、GPSロガーが一定の時間間隔でログ情報を取得するたびに、通信環境情報を取得する。他の実施形態によれば、入力部212がメールソフトの起動を指示するユーザ指示を受け付けた場合、環境情報取得部216は、メールソフトがバックグラウンドでメールサーバにアクセスするたびに、通信環境情報を取得する。さらに他の実施形態によれば、入力部212が目覚まし機能の設定を指示するユーザ指示を受け付けた場合、環境情報取得部216は、目覚まし機能の設定時または作動時に、通信環境情報を取得する。
環境情報取得部216は、情報提供サーバ20に対してユーザが指示した情報を送信するよう要求してから、当該情報を情報提供サーバ20から取得するまでの時間と、当該情報の情報量とに基づいて、通信環境情報を取得してもよい。通信環境情報を取得する処理は、バックグラウンドで実行されてよい。
これにより、ユーザが通信端末110を操作している間に、通信環境情報を取得することができる。また、通信端末110が通信機能を利用しない処理を実行している場合であっても、通信環境情報を取得することができる。さらに、ユーザが通信環境情報を取得するために特別な操作を実施しなくても、通信環境情報を取得することができる。その結果、広いエリアにわたって、ユーザの使用実態に近い通信状況を把握することができる。また、通信状況の経時変化などを把握することができる。
位置情報取得部218は、ユーザ指示を受け付けた場合に、ユーザ指示によって指示された処理とは別に、通信端末110の位置情報を取得する。位置情報取得部218は、処理実行部214がユーザ指示によって指示された処理を実行する場合に、ユーザ指示によって指示された処理とは別に、位置情報を取得してもよい。位置情報取得部218は、環境情報取得部216が通信環境情報を取得する場合に、位置情報を取得してよい。これにより、通信環境情報を位置情報に対応付けることができる。位置情報を取得する処理は、バックグラウンドで実行されてよい。
位置情報取得部218は、GPS情報と、無線通信網又は移動体通信網のアクセスポイントからの電波情報との少なくとも一方の情報に基づいて、位置情報を取得してよい。位置情報取得部218は、GPS情報取得装置であってもよく、通信端末110に配されたGPS情報取得装置から位置情報を取得してもよい。位置情報取得部218は、位置情報とともに、GPS精度に関する情報を取得してもよい。
出力部222は、ユーザ指示によって指示された情報を、ユーザが知覚することができる形態で出力する。出力部222は、液晶ディスプレイ、有機ELディスプレイなどの表示装置、スピーカなどの音声出力装置又はバイブレータなどの振動装置であってよい。
例えば、出力部222は、ユーザからの指示に応じて、画面上に画像を表示したり、画面上に表示される画像の表示位置を変更したりする。出力部222は、通信ネットワーク10を介して情報提供サーバ20から取得した情報又は通信端末110の記憶装置に格納されている情報に基づいて、画像を表示してよい。また、出力部222は、通信ネットワーク10を介して情報提供サーバ20から取得した情報又は通信端末110の記憶部に格納されている情報を、音声情報としてスピーカから出力してもよい。これにより、ユーザは、情報を知覚することができる。
一方、特定の処理がバックグラウンドで実行されている場合、当該処理で利用される情報は出力部222から、ユーザが知覚することができる形態で出力されない。そのため、ユーザは、情報を知覚することができない。
識別情報取得部224は、通信端末110のそれぞれを識別する端末識別情報を取得する。識別情報取得部224は、通信端末110のそれぞれに対する端末識別情報を生成してもよく、端末識別情報を情報収集サーバ120から受信してもよい。端末識別情報は、例えば乱数を用いてランダムに定められてもよい。端末識別情報は、予め定められた時刻に又は予め定められた時間が経過するごとに更新されてもよい。識別情報取得部224は、通信端末110の機種を示す情報、通信端末110のOSを示す情報などの通信端末110に関する情報を取得してもよい。
ログ情報生成部226は、環境情報取得部216から、通信環境情報を取得する。ログ情報生成部226は、環境情報取得部216から、通信環境情報を取得した時刻を示す情報を取得してよい。ログ情報生成部226は、位置情報取得部218から、通信環境情報を取得した位置を示す位置情報を取得する。ログ情報生成部226は、位置情報取得部218から、位置情報を取得したときのGPS精度に関する情報を取得してよい。ログ情報生成部226は、識別情報取得部224から端末識別情報を取得してよい。
ログ情報生成部226は、ログ情報を生成する。ログ情報生成部226は、少なくとも、通信環境情報と位置情報とを対応付けて、ログ情報を生成する。ログ情報生成部226は、通信環境情報と、位置情報と、通信環境情報を取得した時刻を示す情報、位置情報を取得したときのGPS強度を示す情報及び通信端末110に関する情報の少なくとも1つとが対応づけて、ログ情報を生成してよい。ログ情報を生成する処理はバックグラウンドで実行されてよい。
ログ情報生成部226は、通信環境情報に含まれるデータ通信のレイテンシに関する情報に基づいて、通信環境情報が取得されたときに使用されていた通信方式を決定してよい。例えば、レイテンシが予め定められた値より小さい場合、ログ情報生成部226は、環境情報取得部216が取得した通信環境情報は、通信端末110が第1の通信方式(LTE方式、4G方式などを例示することができる。)により通信していた場合の情報であると判断する。一方、レイテンシが予め定められた値以上である場合、ログ情報生成部226は、環境情報取得部216が取得した通信環境情報は、通信端末110が第2の通信方式(3G方式などを例示することができる。)により通信していた場合の情報であると判断する。ログ情報生成部226は、通信環境情報が取得されたときに使用されていた通信方式に関する情報と、通信環境情報及び位置情報とを対応付けて、ログ情報を生成してよい。
ログ情報生成部226は、通信端末110上で動作するOSの内部関数を取得してよい。ログ情報生成部226は、取得した内部関数に基づいて、通信環境情報が取得されたときに使用されていた通信方式を決定してもよい。
ログ情報生成部226は、入力部212がユーザ指示を受け付けるごとに、ログ情報を生成してよい。ログ情報生成部226は、ユーザ指示によって指示された処理が実行されるごとに、ログ情報を生成してよい。ログ情報生成部226は、予め定められた時刻に又は予め定められた時間が経過するごとに(ログ情報を生成するタイミングと称する場合がある。)、ログ情報を生成してもよい。ログ情報を生成するタイミングは、通信環境情報を取得するタイミングとほぼ同一であってもよく、異なってもよい。
ログ情報生成部226は、生成されたログ情報を情報収集サーバ120に送信してよい。ログ情報生成部226は、ログ情報が生成されるごとに、ログ情報を情報収集サーバ120に送信してもよい。ログ情報生成部226は、予め定められた時刻に又は予め定められた時間が経過するごとに(ログ情報を送信するタイミングと称する場合がある。)、生成したログ情報を情報収集サーバ120に送信してよい。ログ情報を送信するタイミングは、ログ情報を生成するタイミングとほぼ同一であってもよく、異なってもよい。
ログ情報生成部226は、通信端末110の起動時、通信端末110のスリープ状態からの復帰時及びコンピュータを通信端末110の一部として機能させるためのプログラムの起動時の少なくとも一方のタイミングにおいて、生成したログ情報を情報収集サーバ120に送信してもよい。ログ情報生成部226は、ログ情報を送信してから、次回のログ情報を送信するまでの間、生成したログ情報を格納しておいてよい。
通信制御部228は、通信端末110と、通信ネットワーク10、情報提供サーバ20及び情報収集サーバ120との間の通信を制御する。通信制御部228は、通信インターフェースであってよい。通信制御部228は、複数の通信方式に対応していてもよい。
本実施形態において、情報収集サーバ120が情報提供サーバ20とは異なるサーバであり、通信端末110が通信環境情報を情報収集サーバ120に送信する場合について説明した。しかし、通信状況解析システム100は本実施形態に限定されない。他の実施形態によれば、通信端末110は、通信環境情報を情報提供サーバ20に送信する。情報提供サーバ20は、通信端末110から受け取った通信環境情報を記憶装置に格納する。情報収集サーバ120は、情報提供サーバ20に格納された通信環境情報に基づいて、通信状況を解析する。また、通信端末110の各部の機能は厳密に区別されるものではなく、通信端末110の各部の機能は上記の実施形態に限定されない。
以上の実施形態においては、通信端末110が、通信環境に関する情報を取得するための処理以外の処理を実行することを指示するユーザ指示を受け付けた場合に、通信環境情報及び位置情報を取得することで、広いエリアにわたって、ユーザの使用実態に近い通信状況を把握する場合について説明した。しかしながら、広いエリアにわたって、ユーザの使用実態に近い通信状況を把握する方法は、上記の実施形態に限定されない。
他の実施形態において、通信端末110は、ユーザから、処理を開始する旨の入力を受け付けた後、予め定められた時刻に又は予め定められた時間が経過するごとに、通信環境に関する情報を自動的に取得してよい。ユーザは、通信環境情報を取得するたびに、通信環境情報を取得するための操作を実施する必要がないので、広いエリアにわたって、ユーザの使用実態に近い通信状況を把握することができる。また、通信状況の経時変化などを把握することができる。
この場合において、通信端末110は、通信環境情報を取得するごとに、通信環境情報を情報収集サーバ120に送信してよい。通信端末110は、取得した通信環境情報を記憶しておき、予め定められた条件に従って、記憶した通信環境情報を情報収集サーバ120に送信してもよい。例えば、予め定められた条件としては、通信環境情報の取得回数が予め定められた回数に到達した場合、記憶した通信環境情報の情報量が予め定められた容量に到達した場合、予め定められた時刻に到達した場合、予め定められた時間が経過した場合などを例示することができる。通信端末110は、情報収集サーバ120に通信環境情報を送信するタイミングにおいて、通信を実施することができない場合、取得した通信環境情報を送信せずに記憶しておき、次回の送信のタイミングにおいて送信してもよい。
図3は、ログ情報のデータテーブル300の一例を概略的に示す。データテーブル300は、端末ID310と、通信環境情報が取得された日時320に関する情報と、通信環境情報が取得された位置を示す位置情報330と、位置情報330が取得されたときのGPS精度340に関する情報と、通信環境情報350とを対応付けて格納する。通信環境情報350は、通信可否352に関する情報と、データ通信のスループット354に関する情報と、データ通信のレイテンシ356に関する情報とを含んでよい。端末ID310は、コンピュータを識別する識別情報の一例であってよい。
本実施形態において、端末ID310は、ランダムに選択された符号列であり、1日おきに更新される。これにより、情報収集サーバ120は、ユーザを特定することなく、ログ情報の時間的な関連性を考慮して、ログ情報を解析することができる。
図4は、通信端末110の動作の一例を概略的に示す。図4を用いて、ユーザ指示により指示された処理が通信機能を利用しない処理であり、通信端末110が情報提供サーバ20にアクセスしない場合に、通信端末110がログ情報を生成する動作について説明する。
本実施形態によれば、ステップ402(ステップをSと省略して表記する場合がある。)において、入力部212が、ユーザから、通信端末110の操作に関するユーザ指示を受け付ける。例えば、画面をスクロールさせるためのユーザ指示を受け付ける。S404において、処理実行部214が、ユーザ指示により指示された操作に応じた処理を実行する。
一方、S412において、S404のバックグラウンドで、環境情報取得部216が通信環境情報を取得する。ユーザ指示により指示された処理が通信機能を利用しない処理である場合、環境情報取得部216は、少なくとも、通信の可否に関する情報を取得する。可能であれば、環境情報取得部216は、電波強度、通信方式及び通信キャリアの少なくとも1つに関する情報を取得してよい。
S414において、S404のバックグラウンドで、位置情報取得部218が位置情報を取得する。S414の後、S416において、S404のバックグラウンドで、ログ情報生成部226がログ情報を生成して処理を終了する。なお、本実施形態において、各ステップを実施する順序及びタイミングは、技術的に矛盾が生じない範囲において、適宜、変更することができる。
図5は、通信端末110の動作の他の例を概略的に示す。図5を用いて、ユーザ指示により指示された処理が通信機能を利用する処理であり、通信端末110が情報提供サーバ20にアクセスして情報を取得する場合に、通信端末110がログ情報を生成する動作について説明する。
本実施形態によれば、S502において、入力部212が、ユーザから、情報提供サーバ20にアクセスして、情報提供サーバ20からユーザが指示した情報を取得するためのユーザ指示を受け付ける。例えば、検索条件に一致する飲食店に関する情報を取得するためのユーザ指示を受け付ける。S504において、処理実行部214が、ユーザ指示により指示された処理を実行して、情報提供サーバ20から該当するコンテンツをダウンロードする。
S506において、環境情報取得部216が通信環境情報を取得する。S506の処理は、バックグラウンドで実行されてよい。環境情報取得部216は、少なくとも通信の可否に関する情報を取得する。ユーザ指示により指示された処理が通信機能を利用する処理である場合、環境情報取得部216は、さらに、電波状況、電波強度、通信速度、データ通信のスループット、データ通信のレイテンシ、通信方式及び通信キャリアの少なくとも1つに関する情報を取得してよい。環境情報取得部216は、情報提供サーバ20に対してユーザが指示した情報を送信するよう要求してから、当該情報を情報提供サーバ20から取得するまでの時間と、当該情報の情報量とに基づいて、通信環境情報を取得してもよい。
一方、S512において、S504及びS506の少なくとも一方のバックグラウンドで、位置情報取得部218が位置情報を取得する。S506及びS512の後、S520において、ログ情報生成部226がログ情報を生成して処理を終了する。S520の処理は、バックグラウンドで実行されてよい。なお、本実施形態において、各ステップを実施する順序及びタイミングは、技術的に矛盾が生じない範囲において、適宜、変更することができる。
図6は、通信端末610の一例を概略的に示す。通信端末610は、通信端末110に代わって又は通信端末110とともに、通信状況解析システム100の一部を構成してよい。通信端末610は、プログラム管理部632、移行判断部634及びタイミング決定部636を備える点で、通信端末110と相違する。通信端末610は、上記の相違点以外の点については、通信端末110と同様の構成を有してよい。
通信端末110に関連して、環境情報取得部216は、通信環境を取得する処理をバックグラウンドで実行してもよく、位置情報取得部218は、位置情報を取得する処理をバックグラウンドで実行してもよい旨を説明した。しかし、通信端末のOS(Operating System)によっては、バックウラウンド状態におけるプログラムの動作を制限している場合がある。
例えば、Apple社が提供するiOS(商標)においては、フォアグラウンド状態及びバックグラウンド状態のそれぞれに、2つの起動状態が存在する。具体的には、フォアグラウンド状態には、プログラムはフォアグラウンドにあるが、利用されていない状態(Inactiveと称される場合がある。)と、プログラムがフォアグラウンドにあり、利用されている状態(Activeと称される場合がある。)という2つの起動状態がある。バックグラウンド状態には、プログラムはバックグラウンドにあるが、まだ動作している状態(Background又はBackgorund Runningと称される場合がある。)と、プログラムがバックグラウンドにあり、動作していない状態(Suspendedと称される場合がある)という2つの起動状態がある。
iOSにおいては、プログラムの起動状態が「Background Running」に移行した後、予め定められた時間が経過すると、一部の例外的な処理を除いて、強制的に、プログラムの起動状態を「Suspended」に移行させる。プログラムの起動状態が「Suspended」になると、当該プログラムは処理を続行することができなくなるので、例えば、環境情報取得部216を実現するためのプログラムの起動状態が「Suspended」になると、通信環境を取得する処理をバックグラウンドで実行することができなくなる。
通信端末610によれば、OSによって、バックウラウンド状態におけるプログラムの動作が制限される場合であっても、通信端末610の位置が予め定められた程度を超えて変化した場合に、通信環境を取得する処理を実行することができる情報処理装置、方法及びプログラムが提供される。この場合において、通信端末610は、通信環境を取得する処理をバックグラウンドで実行してもよい。
通信端末610の各部は、通信端末110の各部と同様に、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウエアとソフトウエアとの組み合わせにより実現されてもよい。また、プログラムが実行されることにより、コンピュータが、通信端末610の一部として機能してもよい。プログラムは、CD−ROM、DVD−ROM、メモリ、ハードディスクなどのコンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。プログラムは、コンピュータ読み取り可能な媒体又はネットワークに接続された記憶装置から、通信端末610のコンピュータにインストールされてよい。通信端末610は、通信機能を有し、プロセッサと、プロセッサによって実行される命令又はプログラムを記憶する記憶装置とを備えた情報処理装置の一例であってよい。
プログラム管理部632は、通信端末610上で動作するプログラムの起動状態を管理する。本実施形態において、プログラム管理部632は、通信端末610の通信環境に関する情報を取得するためのプログラムの起動状態を管理する。通信端末610の通信環境に関する情報を取得するためのプログラムは、通信端末610のコンピュータを、少なくとも環境情報取得部216として機能させるためのプログラムであってよい。通信端末610の通信環境に関する情報を取得するためのプログラムは、通信端末610のコンピュータを、通信端末610の各部として機能させるためのプログラムであってもよい。プログラム管理部632は、通信端末610のOSによって提供される機能の一部であってもよく、通信端末610のOSのモジュールが、通信端末610のコンピュータに読み込まれることにより、プログラム管理部632として機能してよい。
プログラム管理部632は、予め定められた種類のイベントが発生したことを示す情報を取得した場合に、バックグラウンドで動作を停止している1以上のプログラムに対して、当該イベントが発生したことを示す情報を送信する。プログラム管理部632は、上記の情報を受信したプログラムから、当該プログラムの起動状態を変更するための要求を受信すると、当該要求に応じて、当該プログラムの起動状態を変更する。プログラム管理部632は、位置変更情報を取得する位置変更情報取得部の一例であってよい。
本実施形態において、プログラム管理部632は、通信端末610の位置の変化量が予め定められた値を超えたことを示す情報を取得した場合に、バックグラウンドで動作を停止している1以上のプログラムに対して、当該情報又は当該情報を取得したことを示す情報(これらの情報は、位置変更情報の一例であってよい。)を送信する。プログラム管理部632は、上記の情報を受信した1以上のプログラムのいずれかから、当該プログラムの起動状態を変更するための要求を受信すると、当該プログラムの起動状態を変更する。これにより、例えば、通信端末610の通信環境に関する情報を取得するためのプログラムは、「Suspended」のように、プログラムがバックグラウンドで動作を停止する状態から、「Background Running」のように、プログラムがバックグラウンドで動作する状態に移行する。
プログラム管理部632は、通信端末610の位置の変化量が予め定められた値を超えたことを示す情報を、通信ネットワーク10を介して外部のサーバ(図示していない。)から取得してもよい。例えば、通信端末610は、通信端末610上で動作するプログラムの起動状態に関わらず、基地局又はアクセスポイント(基地局等と称する場合がある。)からの電波を受信している。基地局等からの電波には、基地局又はアクセスポイントを識別する識別情報が含まれる。通信端末610は、基地局識別情報と当該基地局の位置情報とを対応付けて格納しているサーバに対して、基地局からの電波に含まれる基地局識別情報を定期的に送信する。
サーバは、通信端末610の位置の変化が予め定められた条件を満足した場合に、通信端末610の位置の変化量が予め定められた値を超えたことを示す情報を、通信端末610に送信する。プログラム管理部632は、例えば通信制御部228を介して、上記の情報を取得する。これにより、通信端末610の消費電力を抑制しながら、通信端末610の位置が大幅に変更した場合に、特定のプログラムの起動状態を変更することができる。
本実施形態においては、プログラム管理部632が、外部のサーバから、通信端末610の位置の変化量が予め定められた値を超えたことを示す情報を取得する場合について説明した。しかし、プログラム管理部632は本実施形態に限定されない。例えば、プログラム管理部632は、位置情報取得部218から通信端末610の位置情報を取得して、通信端末610の位置の変化量が予め定められた値を超えたか否かを判断する。プログラム管理部632は、通信端末610の位置の変化量が予め定められた値を超えたと判断した場合、バックグラウンドで動作を停止している1以上のプログラムに対して、通信端末610の位置の変化量が予め定められた値を超えたことを示す情報(当該情報は、位置変更情報の一例であってよい。)を送信してもよい。
移行判断部634は、プログラム管理部632からイベントが発生したことを示す情報を受信する。移行判断部634は、プログラムの起動状態を移行させるか否かを判断する。移行判断部634は、受信した情報に含まれる上記のイベントが、プログラムの起動状態を移行させるための予め定められたイベントである場合に、プログラムの起動状態を移行させることを決定する。移行判断部634は、プログラムの起動状態を移行させることを決定すると、プログラム管理部632に対して、プログラムの起動状態を移行させるための要求を送信する。移行判断部634は、位置変更情報を取得する位置変更情報取得部の一例であってよい。
本実施形態において、移行判断部634は、通信端末610の通信環境に関する情報を取得するためのプログラムのモジュールであり、プログラム管理部632から、予め定められた種類のイベントが発生したことを示す情報を受信すると、通信端末610の通信環境に関する情報を取得するためのプログラムの起動状態を移行させるか否かを判断する。移行判断部634は、プログラム管理部632から受信した情報に、通信端末610の位置の変化量が予め定められた値を超えたことを示す情報又は当該情報を取得したことを示す情報が含まれている場合に、通信端末610の通信環境に関する情報を取得するためのプログラムの起動状態を、バックグラウンドで動作を停止する状態から、バックグラウンドで動作する状態に移行させることを決定する。
本実施形態によれば、通信端末610の通信環境に関する情報を取得するためのプログラムが、バックグラウンドで動作を停止する状態になっている場合であっても、当該プログラムは、通信端末610がある程度の距離を移動した場合には、バックグラウンドで動作する状態に移行することができる。これにより、通信端末610は、通信環境に関する情報を取得する処理をバックグラウンドで実行することができる。
タイミング決定部636は、通信端末610が、通信端末610の通信環境に関する情報を取得する処理を実行するタイミングを決定する。タイミング決定部636によって決定されるタイミングは、通信端末610の通信環境に関する情報を取得するためのプログラムが、フォアグラウンド状態又はバックグラウンドで動作を停止する状態からバックグラウンドで動作する状態に移行した後の予め定められた期間が経過するまでの間の任意のタイミングであってよい。
タイミング決定部636は、予め定められた規則に従って、上記のタイミングを決定してよい。一実施形態において、タイミング決定部636は、乱数表、乱数発生アルゴリズムなどを用いて、上記のタイミングをランダムに決定してよい。これにより、データの偏りを防止することができる。他の実施形態において、タイミング決定部636は、上記のタイミングを決定するごとに、決定されたタイミングを記憶しておき、上記のプログラムがバックグラウンドで動作する状態に移行した後、通信環境に関する情報を取得する処理を実行するまでの時間が予め定められた分布に従うように、上記のタイミングを決定してよい。これにより、データの偏りを防止しつつ、データの用途に応じたデータを収集することができる。
図7は、通信端末610の動作の一例を概略的に示す。本実施形態において、通信端末610の通信環境に関する情報を取得するためのプログラムが、通信端末610のコンピュータを、入力部212、処理実行部214、環境情報取得部216、位置情報取得部218、出力部222、識別情報取得部224、ログ情報生成部226、移行判断部634及びタイミング決定部636として機能させ、通信端末610のOSが、通信端末610のコンピュータを、通信制御部228及びプログラム管理部632として機能させる場合を例として、通信端末610の各部の動作について説明する。
ステップ702(ステップをSと表記する場合がある。)において、通信端末610の通信環境に関する情報を取得するためのプログラムは、フォアグラウンドで処理を実行する。例えば、入力部212は、ユーザ指示を受け付けるユーザ指示受付手順を実行する。処理実行部214は、ユーザ指示によって指示された処理を実行する処理実行手順を実行する。環境情報取得部216は、ユーザ指示を受け付けた場合又はユーザ指示によって指示された処理が実行される場合に、通信端末610の通信環境に関する情報を取得する通信環境情報取得手順を実行する。また、位置情報取得部218は、ユーザ指示を受け付けた場合又はユーザ指示によって指示された処理が実行される場合に、通信端末610の位置情報を取得する位置情報取得手順を実行する。
S704において、プログラム管理部632は、入力部212が、ユーザから、通信端末610の通信環境に関する情報を取得するためのプログラムをバックグラウンド状態に移行させるための移行指示を受信したか否かを判断する。ここで、バックグラウンド状態とは、「Background Running」のようなバックグラウンドで動作する状態と、「Suspended」のようなバックグラウンドで動作を停止する状態とを含む。
S704において、プログラム管理部632が、ユーザからの移行指示を受信したと判断した場合(S704のYesの場合)、S706において、プログラム管理部632は、通信端末610の通信環境に関する情報を取得するためのプログラムを、バックグラウンドで動作する状態に移行させる。S708において、タイミング決定部636は、環境情報取得部216が通信端末610の通信環境に関する情報を取得する処理を実行するタイミングを決定する。
S710において、環境情報取得部216は、タイミング決定部636によって決定されたタイミングで、通信端末610の通信環境に関する情報を取得する処理をバックグラウンドで実行する。S710の処理において取得される通信環境情報としては、通信の可否及び電波状況(電波受信レベル、電波強度、RSCP(Received Signal Code Power)、CID(Cell ID)などを例示することができる。)、通信方式、通信キャリアなどに関する情報を例示することができる。なお、環境情報取得部216が処理を実行するタイミングにおいて、位置情報取得部218、識別情報取得部224及びログ情報生成部226も、それぞれの処理を実行してよい。
S712において、プログラム管理部632は、通信端末610の通信環境に関する情報を取得するためのプログラムが、バックグラウンドで動作する状態に移行した後、予め定められた時間が経過したか否かを判断する。S712において、プログラム管理部632が、予め定められた時間が経過したと判断した場合(S712のYesの場合)、S714において、プログラム管理部632は、通信端末610の通信環境に関する情報を取得するためのプログラムを、バックグラウンドで動作を停止する状態に移行させる。
S716において、プログラム管理部632は、予め定められた種類のイベントの発生を検知すると、当該イベントが発生したことを示す情報を移行判断部634に送信する。本実施形態において、プログラム管理部632は、外部のサーバ(図示していない。)から、通信ネットワーク10及び通信制御部228を介して、通信端末610の位置の変化量が予め定められた値を超えたことを示す情報を受信して、当該情報又は当該情報を取得したことを示す情報を移行判断部634に送信する。
移行判断部634は、通信端末610の通信環境に関する情報を取得するためのプログラムがバックグラウンドで動作を停止する状態において、予め定められた種類のイベントが発生したことを示す情報を取得する。移行判断部634が、プログラム管理部632から受信した情報に含まるイベントが、プログラムの起動状態を移行させるための予め定められたイベントであると判断した場合(S716のYesの場合)、移行判断部634は、プログラム管理部632に対して、プログラムの起動状態を移行させるための要求を送信する。プログラムの起動状態を移行させるための予め定められたイベントは、通信端末610の位置の変化量が予め定められた値を超えたことであってよい。プログラム管理部632は、プログラムの起動状態を移行させるための要求を受信すると、通信端末610の通信環境に関する情報を取得するためのプログラムを、バックグラウンドで動作する状態に移行させる。
一方、移行判断部634が、プログラムの起動状態を移行させるための予め定められたイベントが発生していないと判断した場合(S716のNoの場合)、S718の処理に進む。S718において、プログラム管理部632は、入力部212が、ユーザから、通信端末610の通信環境に関する情報を取得するためのプログラムをフォアグラウンド状態に移行させるための移行指示を受信したか否かを判断する。
S718において、プログラム管理部632が、ユーザからの移行指示を受信したと判断した場合(S718のYesの場合)、通信端末610の通信環境に関する情報を取得するためのプログラムをフォアグラウンド状態に移行させる。一方、S718において、プログラム管理部632が、ユーザからの移行指示を受信していないと判断した場合(S718のNoの場合)、S720の処理に進む。
S720において、プログラム管理部632は、入力部212が、ユーザから、通信端末610の通信環境に関する情報を取得するためのプログラムの終了指示を受信したか否かを判断する。S720において、プログラム管理部632が、ユーザからの終了指示を受信したと判断した場合(S720のYesの場合)、プログラム管理部632が、通信端末610の通信環境に関する情報を取得するためのプログラムを終了させて、処理を完了する。
本実施形態においては、S704において、プログラム管理部632が、ユーザからの移行指示を受信したと判断した場合、S706において、プログラム管理部632が、通信端末610の通信環境に関する情報を取得するためのプログラムを、一旦、バックグラウンドで動作する状態に移行させ、通信端末610が、S708〜S712における処理を実行する場合について説明した。しかし、通信端末610の動作は、本実施形態に限定されない。他の実施形態において、S704において、プログラム管理部632が、ユーザからの移行指示を受信したと判断した場合、S708〜S712の処理をスキップして、プログラム管理部632が、通信端末610の通信環境に関する情報を取得するためのプログラムを、バックグラウンドで動作を停止する状態に移行させてもよい。
図8は、通信端末110のモジュール構成の一例を概略的に示す。図8を用いて、通信端末110のオペレーティング・システム802上で、アプリケーション810、アプリケーション820及びアプリケーション830が動作している場合を例として、通信端末110のモジュール構成について説明する。アプリケーション810、アプリケーション820及びアプリケーション830は、プログラムの一例であってよい。
本実施形態において、アプリケーション810は、処理実行モジュール812と、ログ生成モジュール814と、通信制御モジュール816とを有する。アプリケーション810の各モジュールは、互いに情報を送受することができる。アプリケーション820は、アプリケーションモジュール822と、ログ生成モジュール824と、通信制御モジュール826とを有する。アプリケーション820の各モジュールは、互いに情報を送受することができる。アプリケーション830は、アプリケーションモジュール832と、ログ生成モジュール834と、通信制御モジュール836とを有する。アプリケーション830の各モジュールは、互いに情報を送受することができる。
処理実行モジュール812は、通信端末110のコンピュータを、処理実行部214として機能させるためのプログラムであってよい。アプリケーションモジュール822及びアプリケーションモジュール832は、通信端末110のコンピュータを、アプリケーション部として機能させるためのプログラムであってよい。処理実行モジュール812、アプリケーションモジュール822及びアプリケーションモジュール832は、ユーザ空間上で動作するアプリケーションプログラムとして動作してよい。
ログ生成モジュール814、ログ生成モジュール824及びログ生成モジュール834は、通信端末110のコンピュータを、ログ生成部210として機能させるためのプログラムであってよい。ログ生成モジュール814、ログ生成モジュール824及びログ生成モジュール834の少なくとも一つは、デーモンなどの常駐プログラムとして動作してもよい。ログ生成モジュール814、ログ生成モジュール824及びログ生成モジュール834は、プログラムの一例であってよい。
ログ生成モジュール814、ログ生成モジュール824及びログ生成モジュール834は、通信端末110のコンピュータにより実行されて、通信端末110のコンピュータを、同一又は類似の機能を有する構成要素として機能させるためのプログラムであってよい。ログ生成モジュール814、ログ生成モジュール824及びログ生成モジュール834は、同一のモジュールでなくてもよい。例えば、ログ生成モジュール814、ログ生成モジュール824及びログ生成モジュール834は、バージョンの異なる一連のモジュールであってもよい。ログ生成モジュール814、ログ生成モジュール824及びログ生成モジュール834のうちの少なくとも2つは、同一のモジュールであってもよい。
通信制御モジュール816、通信制御モジュール826及び通信制御モジュール836は、通信端末110のコンピュータを、通信制御部228として機能させるためのプログラムであってよい。通信制御モジュール816、通信制御モジュール826及び通信制御モジュール836は、デーモンなどの常駐プログラムとして動作してもよい。通信制御モジュール816、通信制御モジュール826及び通信制御モジュール836は、プログラムの一例であってよい。
通信制御モジュール816、通信制御モジュール826及び通信制御モジュール836は、通信端末110のコンピュータにより実行されて、通信端末110のコンピュータを、同一又は類似の機能を有する構成要素として機能させるためのプログラムであってよい。通信制御モジュール816、通信制御モジュール826及び通信制御モジュール836は、同一のモジュールでなくてもよい。例えば、通信制御モジュール816、通信制御モジュール826及び通信制御モジュール836は、バージョンの異なる一連のモジュールであってもよい。通信制御モジュール816、通信制御モジュール826及び通信制御モジュール836のうちの少なくとも2つは、同一のモジュールであってもよい。
図9は、ログ生成モジュール814の一例を概略的に示す。図8において、ログ生成モジュール814、ログ生成モジュール824及びログ生成モジュール834が実行されると、通信端末110上で、同時に3つのログ生成部210が動作する。しかし、例えば、ログ情報の生成頻度が多少小さくなっても、ログ情報の解析に与える影響は比較的小さい。この場合において、3つのログ生成部210のうちの少なくとも1つを停止させることで、通信端末110のリソースの利用率を低減することができる。このように、通信端末110のコンピュータを、同一又は類似の機能を有する構成要素として機能させるための複数のプログラムのうちの少なくとも1つを停止させることで、通信端末110のリソースを効率的に利用することができる。
本実施形態においては、ログ生成モジュール814、ログ生成モジュール824及びログ生成モジュール834うちのいずれか1つのモジュールの実行を継続し、その他のモジュールを停止させる場合を例として、ログ生成モジュール814における情報処理方法の一例について説明する。本実施形態においては、ログ生成モジュール814、ログ生成モジュール824及びログ生成モジュール834のそれぞれが、起動処理中に他のモジュールに関する情報を取得して、当該情報に基づいて、当該起動処理を継続するか否かを判断する場合を例として、ログ生成モジュール814における情報処理方法の一例について説明する。
なお、本実施形態においては、例えば、ログ生成モジュール824が実行されることにより実現されたログ生成部210の動作を停止すると、アプリケーション820が、ログ生成モジュールに対してログ情報を生成するためのコマンドを送信しても、ログ情報が生成されない。しかし、例えば、アプリケーション820が、アプリケーション820がフォアグラウンドの状態においてログ情報を生成するログ生成部を実現するためのモジュールと、アプリケーション820がバックグラウンドの状態においてログ情報を生成するログ生成部を実現するためのモジュールとを備え、アプリケーション820がバックグラウンドの状態においてログ情報を生成するログ生成部の動作を停止させ、アプリケーション820がフォアグラウンドの状態においてログ情報を生成するログ生成部を起動することで、上記の課題を解決することができる。
本実施形態において、ログ生成モジュール814は、ログ生成処理部910と、イベント検出部912と、プログラム情報取得部914と、ポリシー取得部916と、決定部918とを備える。ログ生成モジュール814の各部は、互いに情報を送受することができる。ログ生成処理部910は、ログ生成部210における情報処理の手順を実行する。
ログ生成モジュール824及びログ生成モジュール834の少なくとも一方は、ログ生成モジュール814と同様の構成を有してよい。本実施形態においては、ログ生成モジュール814、ログ生成モジュール824及びログ生成モジュール834のそれぞれが、ログ生成処理部910、イベント検出部912、プログラム情報取得部914、ポリシー取得部916及び決定部918を備える場合を例として、ログ生成モジュール814における情報処理方法の一例について説明する。
本実施形態においては、ログ生成モジュール814、ログ生成モジュール824及びログ生成モジュール834のそれぞれが、処理実行モジュール812、アプリケーションモジュール822及びアプリケーションモジュール832のそれぞれからのコマンドに基づいて情報処理を実行する場合を例として、ログ生成モジュール814における情報処理方法の一例について説明する。なお、例えば、ログ生成モジュール814が実行を継続し、ログ生成モジュール824及びログ生成モジュール834が停止している場合、ログ生成モジュール814は、処理実行モジュール812からのコマンドに基づいて情報処理を実行するだけでなく、アプリケーションモジュール822及びアプリケーションモジュール832からのコマンドに基づいて情報処理を実行してもよい。
なお、通信制御モジュール816、通信制御モジュール826及び通信制御モジュール836の少なくとも1つが、ログ生成モジュール814と同様の構成を有してもよい。例えば、通信制御モジュール816、通信制御モジュール826及び通信制御モジュール836のそれぞれは、イベント検出部912と、プログラム情報取得部914と、ポリシー取得部916と、決定部918とを備え、通信制御モジュール816、通信制御モジュール826及び通信制御モジュール836のいずれか1つのモジュールは実行を継続し、その他のモジュールは停止するように動作する。
本実施形態において、イベント検出部912は、予め定められたイベントの発生を検出する。イベント検出部912は、予め定められたイベントの発生を検出した場合、決定部918にその旨を通知してよい。イベント検出部912により検出されるイベントとしては、(1)アプリケーション810又はログ生成モジュール814の通信端末110へのインストール、(2)アプリケーション810又はログ生成モジュール814の通信端末110からの削除、(3)アプリケーション810又はログ生成モジュール814のアップデート、(4)通信端末110の再起動、(5)アプリケーション810又はログ生成モジュール814による情報処理について、通信端末110のユーザが承諾したこと(OPT INと称される場合がある。)、及び、(6)アプリケーション810又はログ生成モジュール814による情報処理について、通信端末110のユーザが拒否したこと(OPT OUTと称される場合がある。)からなる群から選択される少なくとも1つを例示することができる。
本実施形態において、プログラム情報取得部914は、インストールされている1以上のプログラムの識別情報を取得する。プログラム情報取得部914は、取得された1以上の識別情報を、決定部918に送信してよい。上記の1以上のプログラムの識別情報は、通信端末110にインストールされている全てのプログラムの識別情報であってもよく、通信端末110にインストールされている全ての常駐プログラムであってもよく、通信端末110に上で現在起動している全てのプログラムであってもよく、通信端末110に上で現在起動している全ての常駐プログラムであってもよい。
例えば、プログラム情報取得部914は、オペレーティング・システム802から、通信端末110にインストールされている全てのプログラムの識別情報を取得する。一実施形態において、プログラム情報取得部914は、通信端末110にインストールされている全てのプログラムの識別情報の中から、現在起動しているプログラムの識別情報を抽出して、1以上のプログラムの識別情報を取得する。他の実施形態において、プログラム情報取得部914は、通信端末110にインストールされている全てのプログラムの識別情報の中から、通信端末110のユーザによりOPTINされたプログラムを抽出して、1以上のプログラムの識別情報を取得する。
プログラム情報取得部914は、通信端末110にインストールされている全てのプログラムの識別情報の中から、上記の条件に合致する識別情報を抽出した後、さらに他の条件に合致する識別情報を抽出して、1以上のプログラムの識別情報を取得してよい。例えば、プログラム情報取得部914は、通信端末110にインストールされている全てのプログラムの識別情報の中から、現在起動しており、かつ、通信端末110のユーザによりOPTINされたプログラムを抽出して、1以上のプログラムの識別情報を取得する。
他の実施形態において、プログラム情報取得部914は、通信端末110にインストールされている全てのプログラムの識別情報の中から、予め定められたプログラムの識別情報に合致する識別情報を抽出して、1以上のプログラムの識別情報を取得する。これにより、例えば、通信端末110にインストールされているプログラムの中から、同一のプログラム提供者により提供されたプログラムを抽出することができる。
この場合において、プログラム情報取得部914は、取得された1以上の識別情報により識別されるプログラムが現在起動しているか否かを判断してよい。プログラム情報取得部914は、取得された1以上の識別情報により識別されるプログラムのうち、現在起動していないプログラムの起動処理を実行するためのコマンドを発行してよい。これにより、例えば、同一のプログラム提供者により提供された全てのプログラムの起動処理を実行させることができる。プログラム情報取得部914は、通信端末110にインストールされている全てのプログラムの識別情報の中から、予め定められたプログラムの識別情報に合致する識別情報を抽出した後、さらに他の条件に合致する識別情報を抽出して、1以上のプログラムの識別情報を取得してよい。
本実施形態意おいては、プログラム情報取得部914が、オペレーティング・システム802から、通信端末110にインストールされている全てのプログラムの識別情報を取得する場合について説明した。しかし、プログラム情報取得部914における情報処理は本実施形態に限定されない。他の実施形態において、プログラム情報取得部914は、オペレーティング・システム802から、現在起動している全てのプログラムの識別情報を取得してよい。また、現在起動している全てのプログラムの識別情報の中から、条件に合致する識別情報を抽出して、1以上のプログラムの識別情報を取得してよい。
本実施形態において、ポリシー取得部916は、決定部918による決定手順において利用されるポリシーを取得する。ポリシーは、決定部918による決定の判断基準を示す情報であってよい。ポリシー取得部916は、取得されたポリシーを決定部918に送信してよい。ポリシー取得部916は、通信端末110の記憶装置にアクセスして、当該記憶装置格納されたポリシーを取得してもよく、情報収集サーバ120などの外部の情報処理装置にアクセスして、当該外部の情報処理装置に格納されたポリシーを取得してもよい。ポリシー取得部916は、ポリシー取得部916に記憶されたポリシーを読み出すことで、ポリシーを取得してもよい。
本実施形態において、決定部918は、プログラム情報取得部914により取得された識別情報に基づいて、通信端末110によるログ生成モジュール814の実行を継続させるか、通信端末110によるログ生成モジュール814の実行を停止させるかを決定する。決定部918は、イベント検出部912が、上記の予め定められたイベントの発生を検出した場合に、通信端末110によるログ生成モジュール814の実行を継続させるか、通信端末110によるログ生成モジュール814の実行を停止させるかを決定してよい。
[決定部918による決定処理の第1の実施形態]
一実施形態において、決定部918は、ポリシー取得部916から、予め定められたプログラムが起動している場合には、通信端末110によるログ生成モジュール814の実行を停止させるというポリシーを受信する。ポリシーには、例えば、上記の予め定められたプログラムの識別情報が含まれる。これにより、一のモジュールの起動処理により、動作中の他のモジュールにおける情報処理が終了することを防止することができる。
ポリシーには、1以上のプログラムの識別情報と、当該識別情報がポリシーとして適用される時間に関する条件(時間条件と称する場合がある。)及び当該識別情報がポリシーとして適用される位置に関する条件(位置条件と称する場合がある。)の少なくとも一方とが対応付けられた情報が含まれてもよい。識別情報と、当該識別情報がポリシーとして適用される時間に関する条件とが対応付けられることにより、ポリシーとして適用される識別情報を、時刻に応じて設定することができる。識別情報と、当該識別情報がポリシーとして適用される位置に関する条件とが対応付けられることにより、ポリシーとして適用される識別情報を、位置に応じて設定することができる。
決定部918は、例えば、プログラム情報取得部914により取得された1以上の識別情報の中に、ポリシーにより規定された識別情報が含まれない場合に、通信端末110によるログ生成モジュール814の実行を継続させることを決定する。決定部918は、プログラム情報取得部914により取得された1以上の識別情報の中に、ポリシーにより規定された識別情報であって、ログ生成モジュール814の識別情報以外の識別情報が含まれる場合に、通信端末110によるログ生成モジュール814の実行を停止させることを決定してもよい。ポリシーにより規定された識別情報は、予め定められたプログラムの識別情報の一例であってよい。
[決定部による決定処理の第2の実施形態]
他の実施形態において、決定部918は、ポリシー取得部916から、1以上のプログラムのそれぞれに予め割り当てられた優先度に基づいて、通信端末110によるログ生成モジュール814の実行を継続させるか、通信端末110によるログ生成モジュール814の実行を停止させるかを決定するというポリシーを受信する。ポリシーには、例えば、1以上のプログラムの識別情報と、当該識別情報により識別されるプログラムに割り当てられた優先度とが対応付けられた情報が含まれる。これにより、任意のプログラムを優先的に動作させることができる。
ポリシーには、1以上のプログラムの識別情報と、当該識別情報により識別されるプログラムに割り当てられた優先度と、当該優先度が適用される時間に関する条件(時間条件と称する場合がある。)及び当該優先度が適用される位置に関する条件(位置条件と称する場合がある。)の少なくとも一方とが対応付けられた情報が含まれてもよい。優先度と、当該優先度が適用される時間に関する条件とが対応付けられることにより、時刻に応じた優先度を設定することができる。優先度と、当該優先度が適用される位置に関する条件とが対応付けられることにより、位置に応じた優先度を設定することができる。
決定部918は、プログラム情報取得部914により取得された1以上の識別情報により識別される1以上のプログラムのそれぞれに割り当てられた優先度を取得する。決定部918は、例えば、ポリシー取得部916からポリシーを取得することで、上記の優先度に関する情報を取得する。
決定部918は、例えば、上記の1以上のプログラムの中でログ生成モジュール814の優先度が最も高い場合に、通信端末110によるログ生成モジュール814の実行を継続させることを決定する。決定部918は、上記の1以上のプログラムの中に、ログ生成モジュール814よりも優先度の高いプログラムが存在する場合に、通信端末110によるログ生成モジュール814の実行を停止させることを決定してよい。
決定部918は、ログ生成モジュール814が、上記の1以上のプログラムの中で最も優先度が高く、かつ、上記の1以上のプログラムのうち、現在起動しているプログラムの識別情報の中に、予め定められた識別情報が含まれない場合に、通信端末110によるログ生成モジュール814の実行を継続させることを決定してもよい。決定部918は、ポリシー取得部916からポリシーを取得することで、上記の予め定められた識別情報を取得してよい。
本実施形態において、ログ生成モジュール814、ログ生成モジュール824及びログ生成モジュール834のそれぞれが、起動処理中に他のモジュールに関する情報を取得して、当該情報に基づいて、当該起動処理を継続するか否かを判断する場合について説明した。この場合、決定部918は、上記の決定処理の結果にしたがって、ログ生成モジュール814の起動処理を継続したり、停止させたりする。
しかし、決定部918は本実施形態に限定されない。他の実施形態において、決定部918は、ログ生成モジュール814の実行を継続させることを決定した場合、ログ生成モジュール814の起動処理を継続することに加えて、ポリシーに記録された他のプログラムの実行を停止させるためのコマンドを発行してよい。また、決定部918は、ログ生成モジュール814の実行を停止させることを決定した場合、ログ生成モジュール814の起動処理を停止することに加えて、ポリシーに記録された他のプログラムのうち、最も優先度の高いプログラムを実行させるためのコマンドを発行してよい。
本実施形態において、ログ生成モジュール814が決定部918を有し、決定部918が、ログ生成モジュール814の起動処理中に当該起動処理を継続するか否かを決定する場合について説明した。しかし、決定部918は本実施形態に限定されない。他の実施形態において、アプリケーション810中の他のモジュールが決定部918を有してもよい。また、決定部918は、ログ生成モジュール814の起動処理以外のタイミングにおいて、上記の決定処理を実行してもよい。
本実施形態において、決定部918が、プログラム情報取得部914により取得された1以上の識別情報により識別される1以上のプログラムの中で、ログ生成モジュール814の優先度が最も高い場合に、通信端末110によるログ生成モジュール814の実行を継続させることを決定する場合について説明した。しかし、決定部918は本実施形態に限定されない。
他の実施形態において、通信端末110は、優先度を割り当てられたプログラムが、当該プログラムの起動時に当該プログラムの識別情報を記録するためのファイルを有する。上記のプログラムは、上記のファイルに当該プログラムに割り当てられた優先度を記録してもよい。例えば、優先度を割り当てられたプログラムのそれぞれは、当該プログラムの起動時に、決定部918が、当該プログラム(起動中のプログラムと称する場合がある。)に割り当てられた優先度と、上記のファイルに記録された識別情報により識別されるプログラムに割り当てられた優先度とを比較する。
この場合において、起動中のプログラムの優先度が、上記のファイルに記録された識別情報により識別されるプログラムに割り当てられた優先度よりも高い場合、決定部918は、上記のファイルに記録されている識別情報を消去し、起動中のプログラムの識別情報を記録する。また、決定部918は、上記のファイルに記録されている識別情報により識別されるプログラムの実行を停止するためのコマンドを発行した上で、起動中のプログラムの起動処理の実行を継続する。一方、起動中のプログラムの優先度が、上記のファイルに記録された識別情報により識別されるプログラムに割り当てられた優先度よりも低い場合、決定部918は、起動中のプログラムの起動処理の実行を停止する。
[決定部による決定処理の第3の実施形態]
他の実施形態において、決定部918は、ポリシー取得部916から、情報収集サーバ120などの外部の情報処理装置からの指示に基づいて、通信端末110によるログ生成モジュール814の実行を継続させるか、通信端末110によるログ生成モジュール814の実行を停止させるかを決定するというポリシーを受信する。ポリシーには、例えば、外部の情報処理装置のURIが含まれる。
決定部918は、ポリシーに規定されたURIに、ログ生成モジュール814の識別情報を送信して、通信端末110によるログ生成モジュール814の実行の継続の可否に関する情報を要求する。決定部918は、上記要求に対する応答を受信して、当該応答に基づいて、通信端末110によるログ生成モジュール814の実行を継続させるか、通信端末110によるログ生成モジュール814の実行を停止させるかを決定する。
通信端末110によるログ生成モジュール814の実行の継続の可否に関する情報は、通信端末110によるログ生成モジュール814の実行の継続を許可する旨の指示であってもよく、通信端末110によるログ生成モジュール814の実行の継続を禁止する旨の指示であってもよい。通信端末110によるログ生成モジュール814の実行の継続の可否に関する情報は、通信端末110において実行の継続を許可されるプログラムの識別情報であってもよく、通信端末110において実行の継続を禁止されるプログラムの識別情報であってもよい。
図10は、データテーブル1000の一例を概略的に示す。データテーブル1000は、ポリシーの一例であってよい。本実施形態において、データテーブル1000は、位置条件1002と、時間条件1004と、ポリシーとして適用されるプログラムのプログラムID1006とを対応付けて格納する。プログラムID1006は、プログラムの識別情報の一例であってよい。
データテーブル1000がポリシーとして利用された場合、ログ生成モジュール814の決定部918は、例えば、下記の処理を実行する。一実施形態において、通信端末110がエリアAの範囲内に存在し、時刻が昼間である場合、プログラム情報取得部914により取得された識別情報の中に、ログ生成モジュール824、ログ生成モジュール1024などの識別情報が含まれていれば、ログ生成モジュール814の決定部918は、ログ生成モジュール814の実行を停止させることを決定する。一方、プログラム情報取得部914により取得された識別情報の中に、ログ生成モジュール824、ログ生成モジュール1024などの識別情報が含まれていない場合、ログ生成モジュール814の決定部918は、ログ生成モジュール814の実行を継続させることを決定する。
他の実施形態において、通信端末110がエリアAの範囲内に存在し、時刻が夜間である場合、プログラム情報取得部914により取得された識別情報の中に、ログ生成モジュール1024などの識別情報が含まれていれば、ログ生成モジュール814の決定部918は、ログ生成モジュール814の実行を停止させることを決定する。一方、プログラム情報取得部914により取得された識別情報の中に、ログ生成モジュール1024などの識別情報が含まれていない場合、ログ生成モジュール814の決定部918は、ログ生成モジュール814の実行を継続させることを決定する。
図11は、データテーブル1100の一例を概略的に示す。データテーブル1100は、ポリシーの一例であってよい。本実施形態において、データテーブル1000は、位置条件1002と、時間条件1004と、ポリシーとして適用されるプログラムのプログラムID1006と、優先度1108とを対応付けて格納する。優先度1108の設定方法は任意の方法が利用できる。本実施形態においては、優先度が高いほど、優先度1108には小さな数字が記入される。
データテーブル1000がポリシーとして利用された場合、ログ生成モジュール814の決定部918は、例えば、下記の処理を実行する。一実施形態において、通信端末110がエリアAの範囲内に存在し、時刻が昼間である場合、ログ生成モジュール814は、ログ生成モジュール824及びログ生成モジュール834よりも優先度が高い。そこで、ログ生成モジュール814の決定部918は、ログ生成モジュール814の実行を継続させることを決定する。
他の実施形態において、通信端末110がエリアAの範囲内に存在し、時刻が夜間である場合、ログ生成モジュール814は、ログ生成モジュール824及びログ生成モジュール834よりも優先度が低い。そこで、ログ生成モジュール814の決定部918は、ログ生成モジュール814の実行を停止させることを決定する。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
[項目1]
通信環境に関する情報を取得するためのプログラムであって、
通信機能を有するコンピュータに、
通信環境に関する情報を取得するための処理以外の処理を実行することを指示するユーザ指示を受け付けるユーザ指示受付手順と、
上記ユーザ指示によって指示された処理を実行する処理実行手順と、
上記ユーザ指示を受け付けた場合又は上記ユーザ指示によって指示された処理が実行される場合に、上記コンピュータの通信環境に関する情報を取得する通信環境情報取得手順を実行する手順と、
上記ユーザ指示を受け付けた場合又は上記ユーザ指示によって指示された処理が実行される場合に、上記コンピュータの位置情報を取得する位置情報取得手順を実行する手順と、
を実行させるためのプログラム。
[項目2]
上記コンピュータに、
画像を表示する表示手順を、さらに実行させるためのプログラムであって、
上記通信環境に関する情報を取得するための処理以外の処理は、表示された上記画像の表示位置を変更する処理である、
項目1に記載のプログラム。
[項目3]
上記コンピュータに、
上記コンピュータとネットワークを介して接続されるサーバから取得した情報を、上記コンピュータのユーザが知覚することができる形態で出力する出力手順を、さらに実行させるためのプログラムであって、
上記通信環境に関する情報を取得するための処理以外の処理は、上記ユーザが指示した情報を、上記サーバから取得する処理であり、
上記通信環境情報取得手順は、
上記サーバに対して上記ユーザが指示した情報を送信するよう要求してから、上記ユーザが指示した情報を上記サーバから取得するまでの時間と、上記ユーザが指示した情報の情報量とに基づいて、上記通信環境に関する情報を取得する手順を含む、
項目1又は項目2に記載のプログラム。
[項目4]
上記コンピュータに、
上記コンピュータの通信環境に関する情報と、上記コンピュータの位置情報とが対応づけられたログ情報を生成するログ情報生成手順を、さらに実行させるための、
項目1から項目3までの何れか一項に記載のプログラム。
[項目5]
上記位置情報取得手順は、少なくともGPS情報に基づいて、上記コンピュータの位置情報と、GPS精度に関する情報とを取得する手順を含み、
上記ログ情報は、上記GPS精度に関する情報と、上記コンピュータの通信環境に関する情報と、上記コンピュータの位置情報とが対応づけられた情報である、
項目4に記載のプログラム。
[項目6]
上記コンピュータに、
上記コンピュータを識別する識別情報を取得する識別情報取得手順をさらに実行させるためのプログラムであって、
上記ログ情報は、上記識別情報と、上記コンピュータの通信環境に関する情報と、上記コンピュータの位置情報とが対応づけられた情報である、
項目4又は項目5に記載のプログラム。
[項目7]
上記コンピュータに、
上記プログラムがバックグラウンドで動作を停止する状態において、上記コンピュータの位置の変化量が予め定められた値を超えたことを示す位置変更情報を取得する位置変更情報取得手順と、
上記位置変更情報を取得した場合に、上記プログラムがバックグラウンドで動作する状態に移行する移行手順と、
上記プログラムがバックグラウンドで動作する状態において、上記コンピュータの通信環境に関する情報を取得する通信環境情報取得手順を実行する手順と、
をさらに実行させるための、
項目1から項目6までの何れか一項に記載のプログラム。
[項目8]
上記コンピュータに、
上記プログラムが、フォアグラウンド状態又はバックグラウンドで動作を停止する状態からバックグラウンドで動作する状態に移行した後の予め定められた期間が経過するまでの間の任意のタイミングであって、上記コンピュータに上記通信環境情報取得手順を実行させるタイミングを、ランダムに決定する実行タイミング決定手順をさらに実行させるための、
項目1から項目7までの何れか一項に記載のプログラム。
[項目9]
インストールされている1以上のプログラムの識別情報を取得するプログラム情報取得手順と、
前記1以上のプログラムの識別情報に基づいて、前記コンピュータによる当該プログラムの実行を継続させるか、当該実行を停止させるかを決定する決定手順と、
をさらに実行させるための、
項目1から項目8までの何れか一項に記載のプログラム。
[項目10]
通信環境に関する情報を取得するためのプログラムであって、
通信機能を有するコンピュータに、
上記プログラムがバックグラウンドで動作を停止する状態において、上記コンピュータの位置の変化量が予め定められた値を超えたことを示す位置変更情報を取得する位置変更情報取得手順と、
上記位置変更情報を取得した場合に、上記プログラムがバックグラウンドで動作する状態に移行する移行手順と、
上記プログラムがバックグラウンドで動作する状態において、上記コンピュータの通信環境に関する情報を取得する通信環境情報取得手順を実行する手順と、
を実行させるためのプログラム。
[項目11]
上記コンピュータに、
上記プログラムが、フォアグラウンド状態又はバックグラウンドで動作を停止する状態からバックグラウンドで動作する状態に移行した後の予め定められた期間が経過するまでの間の任意のタイミングであって、上記コンピュータに上記通信環境情報取得手順を実行させるタイミングを、ランダムに決定する実行タイミング決定手順をさらに実行させるための、
項目10に記載のプログラム。
[項目12]
インストールされている1以上のプログラムの識別情報を取得するプログラム情報取得手順と、
前記1以上のプログラムの識別情報に基づいて、前記コンピュータによる当該プログラムの実行を継続させるか、当該実行を停止させるかを決定する決定手順と、
をさらに実行させるための、
項目10又は項目11に記載のプログラム。
[項目13]
通信環境に関する情報を取得するためのプログラムであって、
通信機能を有するコンピュータに、
上記コンピュータの通信環境に関する情報を取得する通信環境情報取得手順と、
上記コンピュータの位置情報を取得する位置情報取得手順と、
上記プログラムが、フォアグラウンド状態又はバックグラウンドで動作を停止する状態からバックグラウンドで動作する状態に移行した後の予め定められた期間が経過するまでの間の任意のタイミングであって、上記コンピュータに上記通信環境情報取得手順を実行させるタイミングを、ランダムに決定する実行タイミング決定手順と、
を実行させるためのプログラム。
[項目14]
インストールされている1以上のプログラムの識別情報を取得するプログラム情報取得手順と、
前記1以上のプログラムの識別情報に基づいて、前記コンピュータによる当該プログラムの実行を継続させるか、当該実行を停止させるかを決定する決定手順と、
をさらに実行させるための、
項目13に記載のプログラム。
[項目15]
通信環境に関する情報を取得する情報処理装置であって、
通信環境に関する情報を取得するための処理以外の処理を実行することを指示するユーザ指示を受け付けるユーザ指示受付部と、
上記ユーザ指示によって指示された処理を実行する処理実行部と、
上記ユーザ指示を受け付けた場合又は上記ユーザ指示によって指示された処理が実行される場合に、上記情報処理装置の通信環境に関する情報を取得する通信環境情報取得部と、
上記ユーザ指示を受け付けた場合又は上記ユーザ指示によって指示された処理が実行される場合に、上記情報処理装置の位置情報を取得する位置情報取得部と、
を備える情報処理装置。
[項目16]
情報処理装置の通信環境に関する情報を取得する方法であって、
通信環境に関する情報を取得するための処理以外の処理を実行することを指示するユーザ指示を受け付けるユーザ指示受付段階と、
上記ユーザ指示によって指示された処理を実行する処理実行段階と、
上記ユーザ指示を受け付けた場合又は上記ユーザ指示によって指示された処理が実行される場合に、上記情報処理装置の通信環境に関する情報を取得する通信環境情報取得段階と、
上記ユーザ指示を受け付けた場合又は上記ユーザ指示によって指示された処理が実行される場合に、上記情報処理装置の位置情報を取得する位置情報取得段階と、
を有する方法。
10 通信ネットワーク、20 情報提供サーバ、100 通信状況解析システム、110 通信端末、120 情報収集サーバ、210 ログ生成部、212 入力部、214 処理実行部、216 環境情報取得部、218 位置情報取得部、222 出力部、224 識別情報取得部、226 ログ情報生成部、228 通信制御部、300 データテーブル、310 端末ID、320 日時、330 位置情報、340 GPS精度、350 通信環境情報、352 通信可否、354 スループット、356 レイテンシ、610 通信端末、632 プログラム管理部、634 移行判断部、636 タイミング決定部、802 オペレーティング・システム、810 アプリケーション、812 処理実行モジュール、814 ログ生成モジュール、816 通信制御モジュール、820 アプリケーション、822 アプリケーションモジュール、824 ログ生成モジュール、826 通信制御モジュール、830 アプリケーション、832 アプリケーションモジュール、834 ログ生成モジュール、836 通信制御モジュール、910 ログ生成処理部、912 イベント検出部、914 プログラム情報取得部、916 ポリシー取得部、918 決定部、1000 データテーブル、1002 位置条件、1004 時間条件、1006 プログラムID、1024 ログ生成モジュール、1100 データテーブル、1108 優先度

Claims (10)

  1. プログラムであって
    コンピュータに、
    インストールされている1以上のプログラムの識別情報を取得するプログラム情報取得手順と、
    前記1以上のプログラムの識別情報に基づいて、前記コンピュータによる当該プログラムの実行を継続させるか、当該実行を停止させるかを決定する決定手順と、
    を実行させるためのプログラムであり、
    プログラム情報取得手順は、
    オペレーティング・システムから、前記コンピュータにインストールされている全てのプログラムの識別情報を取得する手順と、
    前記全てのプログラムの識別情報の中から、現在起動しているプログラムの識別情報を抽出して、前記1以上のプログラムの識別情報を取得する手順と、
    を有する、
    プログラム。
  2. 前記決定手順は、前記プログラム情報取得手順において取得された1以上の識別情報の中に、予め定められた識別情報が含まれない場合に、前記コンピュータによる当該プログラムの実行を継続させることを決定する手順を含む、
    請求項1に記載のプログラム。
  3. 前記決定手順は、前記プログラム情報取得手順において取得された1以上の識別情報の中に、予め定められた識別情報が含まれる場合に、前記コンピュータによる当該プログラムの実行を停止させることを決定する手順を含む、
    請求項1又は請求項2に記載のプログラム。
  4. 前記コンピュータに、
    前記1以上のプログラムのそれぞれに割り当てられた優先度を取得する優先度情報手順をさらに実行させるための、
    請求項1から請求項までの何れか一項に記載のプログラム。
  5. 前記決定手順は、
    当該プログラムが、前記1以上のプログラムの中で最も優先度が高い場合に、前記コンピュータによる当該プログラムの実行を継続させることを決定する手順を含む、
    請求項に記載のプログラム。
  6. 前記決定手順は、
    当該プログラムが、前記1以上のプログラムの中で最も優先度が高く、かつ、前記1以上のプログラムのうち、現在起動しているプログラムの識別情報の中に、予め定められた識別情報が含まれない場合に、前記コンピュータによる当該プログラムの実行を継続させることを決定する手順を含む、
    請求項に記載のプログラム。
  7. 前記決定手順は、
    前記1以上のプログラムの中に、当該プログラムよりも優先度の高いプログラムが存在する場合に、前記コンピュータによる当該プログラムの実行を停止させることを決定する手順を含む、
    請求項から請求項までの何れか一項に記載のプログラム。
  8. 前記1以上のプログラムの少なくとも1つには、時刻及び位置の少なくとも一方に応じた優先度が割り当てられている、
    請求項から請求項までの何れか一項に記載のプログラム。
  9. 前記コンピュータに、
    予め定められたイベントが発生した場合に、前記決定手順を実行させる手順をさらに実行させるためのプログラムであって、
    前記予め定められたイベントは、前記プログラムの前記コンピュータへのインストール、前記プログラムの前記コンピュータからの削除、前記プログラムのアップデート、前記コンピュータの再起動、前記プログラムによる情報処理についてユーザが承諾したこと、及び、前記プログラムによる情報処理についてユーザが拒否したことからなる群から選択される少なくとも1つである、
    請求項1から請求項までの何れか一項に記載のプログラム。
  10. インストールされている1以上のプログラムの識別情報を取得するプログラム情報取得部と、
    前記1以上のプログラムの識別情報に基づいて、一のプログラムの実行を継続させるか、当該実行を停止させるかを決定する決定部と、
    を備える情報処理装置であって、
    前記プログラム情報取得部は、
    オペレーティング・システムから、前記情報処理装置にインストールされている全てのプログラムの識別情報を取得し、
    前記全てのプログラムの識別情報の中から、現在起動しているプログラムの識別情報を抽出して、前記1以上のプログラムの識別情報を取得する、
    情報処理装置。
JP2016522981A 2014-05-29 2014-05-29 プログラム及び情報処理装置 Active JP6272999B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/002862 WO2015181854A1 (ja) 2014-05-29 2014-05-29 プログラム及び情報処理装置

Publications (2)

Publication Number Publication Date
JPWO2015181854A1 JPWO2015181854A1 (ja) 2017-04-20
JP6272999B2 true JP6272999B2 (ja) 2018-01-31

Family

ID=54698245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016522981A Active JP6272999B2 (ja) 2014-05-29 2014-05-29 プログラム及び情報処理装置

Country Status (4)

Country Link
US (1) US20170076086A1 (ja)
EP (1) EP3147779A4 (ja)
JP (1) JP6272999B2 (ja)
WO (1) WO2015181854A1 (ja)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683650A (ja) * 1992-08-31 1994-03-25 Fujitsu Ltd システム資源の監視方法
JP2930855B2 (ja) * 1994-02-25 1999-08-09 三菱電機株式会社 情報管理・検索装置
JP2002229808A (ja) * 2001-02-02 2002-08-16 Seiko Epson Corp クライアント・サーバシステム、サーバ、端末装置および送信情報監視方法
JP2002351680A (ja) * 2001-05-29 2002-12-06 Matsushita Electric Ind Co Ltd アプリケーション管理装置とアプリケーション管理システム
JP2004166140A (ja) * 2002-11-15 2004-06-10 Ntt Docomo Inc 情報収集システム、移動局及び情報収集方法
JP2004192628A (ja) * 2002-11-26 2004-07-08 Ricoh Co Ltd 画像形成装置,プログラム起動方法及びプログラム起動プログラム
JP4196721B2 (ja) * 2003-04-30 2008-12-17 凸版印刷株式会社 Icカード及びそのアプリケーション設定方法
JP2005275707A (ja) * 2004-03-24 2005-10-06 Hitachi Ltd 情報処理装置、情報処理装置の制御方法、及びプログラム
KR100747459B1 (ko) * 2005-10-21 2007-08-09 엘지전자 주식회사 모듈의 충돌 방지가 보장되는 멀티태스킹 방법 및 이동단말기
JP2007199811A (ja) * 2006-01-24 2007-08-09 Hitachi Ltd プログラム制御方法、計算機およびプログラム制御プログラム
JP5114068B2 (ja) * 2007-02-22 2013-01-09 Necカシオモバイルコミュニケーションズ株式会社 電子機器および電子機器の処理プログラム
WO2009011064A1 (ja) * 2007-07-19 2009-01-22 Panasonic Corporation 無線通信エリア状況測定システム、無線通信エリア状況測定方法、及び基地局
WO2010104171A1 (ja) * 2009-03-13 2010-09-16 日本電気株式会社 通信システム、品質情報収集装置、無線端末、受信品質収集方法、及び受信品質収集プログラム
US8621653B2 (en) * 2011-12-12 2013-12-31 Microsoft Corporation Secure location collection and analysis service
JP2013127724A (ja) * 2011-12-19 2013-06-27 Nec Corp アプリケーション選択装置、アプリケーション選択手段、及びアプリケーション選択プログラム

Also Published As

Publication number Publication date
EP3147779A4 (en) 2017-05-31
JPWO2015181854A1 (ja) 2017-04-20
WO2015181854A1 (ja) 2015-12-03
EP3147779A1 (en) 2017-03-29
US20170076086A1 (en) 2017-03-16

Similar Documents

Publication Publication Date Title
US10635449B2 (en) Method and apparatus for running game client
US20180204602A1 (en) Method and Apparatus for Managing Images Using a Voice Tag
WO2015144054A1 (en) Method, apparatus, and system for processing desktop data of mobile terminal
JP6870158B2 (ja) メモリを処理するための方法および装置ならびに記憶媒体
EP3116266B1 (en) Method and apparatus for network entry when roaming
WO2017129022A1 (zh) 一种终端数据库的并行执行方法和装置
US20120221840A1 (en) Electronic device and method for starting applications in the electronic device
US9479630B1 (en) Location and time based application management
US20170024407A1 (en) Electronic device and method for managing object in folder on electronic device
CA2928191C (en) Location based information service application
CN108684206B (zh) 一种搜索方法及装置
US10922193B2 (en) Data backup method, storage medium, and terminal
CN110633438B (zh) 一种新闻事件处理的方法、终端、服务器及存储介质
CN106528335A (zh) 一种数据备份方法、装置和终端
EP2869604A1 (en) Method, apparatus and device for processing a mobile terminal resource
US20140287836A1 (en) Location based game state synchronization
JP2015092685A (ja) 情報処理装置、プログラム及び方法
CN110196662B (zh) 一种展示同步状态的方法、装置、终端及存储介质
JP6272999B2 (ja) プログラム及び情報処理装置
CN106210325B (zh) 一种设置社交应用来电铃声的方法、装置及终端
JP5798664B2 (ja) プログラム、情報処理装置及び方法
WO2015181855A1 (ja) プログラム及び情報処理装置
CN104809121B (zh) 一种控制浏览器网页窗口显示的方法及装置
JP5632032B2 (ja) プログラム、情報処理装置及び方法
WO2015170473A1 (ja) アプリケーション自動制御システム、アプリケーション自動制御方法およびプログラム記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180104

R150 Certificate of patent or registration of utility model

Ref document number: 6272999

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250