JP2014052867A - アプリケーション管理システム、管理装置、アプリケーション実行端末、アプリケーション管理方法、アプリケーション実行端末の制御方法及びプログラム - Google Patents

アプリケーション管理システム、管理装置、アプリケーション実行端末、アプリケーション管理方法、アプリケーション実行端末の制御方法及びプログラム Download PDF

Info

Publication number
JP2014052867A
JP2014052867A JP2012197267A JP2012197267A JP2014052867A JP 2014052867 A JP2014052867 A JP 2014052867A JP 2012197267 A JP2012197267 A JP 2012197267A JP 2012197267 A JP2012197267 A JP 2012197267A JP 2014052867 A JP2014052867 A JP 2014052867A
Authority
JP
Japan
Prior art keywords
application
error
information
terminals
condition
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.)
Granted
Application number
JP2012197267A
Other languages
English (en)
Other versions
JP5972121B2 (ja
Inventor
Kentaro Takahashi
健太郎 高橋
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012197267A priority Critical patent/JP5972121B2/ja
Priority to US14/018,196 priority patent/US9753837B2/en
Publication of JP2014052867A publication Critical patent/JP2014052867A/ja
Application granted granted Critical
Publication of JP5972121B2 publication Critical patent/JP5972121B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】 アプリケーションのエラーが起こる可能性のある端末に絞って、エラーが起きるアプリケーションの実行を抑制させる。エラー回避のためにアプリケーションのアップデート・アンインストールを端末側で容易に行えるようにする。
【解決手段】 管理装置では、受信したアプリケーションのエラー情報と、管理装置が管理している端末にインストールされているアプリケーションの情報とから、あるアプリケーションがエラーを起こす条件を判定し、複数の端末のうちその条件を満たす端末にアプリケーションがエラーを起こす条件を満たしていることを示す情報を送信する。
アプリケーション実行端末では、アプリケーションがエラーを起こす条件を満たしていることを管理装置から受信し、該当するアプリケーションの表示形態を変えるか、アプリケーションの起動時にメッセージを表示させるか表示を制御して、エラーが起きるアプリケーションの実行の抑制を行う。
【選択図】 図7

Description

本発明は、端末でのアプリケーションの実行を抑制するシステム、装置、方法及びプログラムに関する。
従来、公開されたアプリケーションの不具合(市場障害)は、障害に遭遇したユーザがそのアプリケーションの提供元(開発元)のコールセンターに電話するなどして発見されていた。障害情報を収集する手段として、アプリケーション実行端末上でエラー検出プログラムを動作させ、発生したエラーをサーバに通知する手法も普及しつつある。アプリケーションの提供元は、収集された障害情報に基づいて、障害が起きるアプリケーションをユーザに通知する。また、対策を施したアプリケーションを改めて開発し、市場障害の抑制を行うこともある。
市場障害を抑制する手法の一つは、収集した障害情報をユーザに通知する手法である。収集した障害情報をユーザに通知する手段としては、サーバ上で管理する情報に各端末がネットワークを介してアクセスし、取得した情報に該当するアイコンの描画を変更する手法が知られている。(例えば特許文献1参照)また、エラーが発生した端末と関連する端末に、サーバがエラーを通知する手法が知られている(例えば特許文献2参照)。
市場障害を抑制するためのより高度な手段として、障害が起きるアプリケーションのインストールや実行を制御する方法がある。端末がインストール時にサーバにアプリケーションのインストールを許可するか否かを判断し、端末がその判断結果に基づいてインストールする手法が知られている。(例えば特許文献3参照)また、ある機種がA4の横向きでホチキス留めで印刷しようとしたときに不具合が起きる、といった情報をMFPのサービスマンが報告し、サーバに手動で障害辞書を作成することが知られている。印刷設定ソフトは印刷前にユーザが指示した印刷設定が障害発生条件となっているかを確認し、障害が発生する設定ならユーザにダイアログで通知する。(例えば特許文献4参照)また、アプリケーションのインストール状態に応じてアイコンクリック時の動作を変更する手法が知られている。(例えば特許文献5参照)
特開平11―232223号公報 特開2002−14880号公報 特開2002−49434号公報 特開2006−243911号公報 特開2004−5254号公報
特許文献1では、サーバ上のデータに応じて、全端末がアイコンの描画を変更する。しかしながら、アイコンクリック時の動作は変更されない。
特許文献2では、ある端末で発生したエラーが、別の端末上にも表示される。しかしながら、どの端末でエラーが発生する可能性があるのかを考慮していない。
特許文献3では、端末がアプリケーションをインストールする際に、インストールの判断をサーバに委ねる。しかし、サーバ側でどのようにインストールの判断を行うかは考慮されていない。
特許文献4では、市場障害の対策版アプリケーションが提供可能になる迄の期間、既知の障害に対する回避手段を含む情報ファイル(障害辞書)をクライアント環境に送信する。また、障害辞書ファイルをサーバ装置から常時リモート更新可能とすることで、障害の発生を予防する。しかし、どのような条件の端末で障害が発生するのかを判定して障害辞書を作成することは行っていない。
特許文献5では、端末上にインストール可能なアプリケーションのアイコンをすべて表示し、アイコンクリック時にそのアプリケーションがインストール済みであれば起動する。未インストールであれば、インストールするかをユーザに問うダイアログを表示した上で、インストールを行う。しかし、アイコンクリック時の動作を変更する条件は、その端末内でのアプリケーションのインストール状態のみである。
多数のアプリケーションがアプリケーション配布サーバに登録され、多様な端末の利用者がアプリケーション配布サーバから任意のアプリケーションをダウンロードして利用する環境を想定する。すると、アプリケーションの公開後に不具合が見つかった場合、そのアプリケーションの実行を抑制することが必要となる。しかし、不具合が起きる条件はアプリケーションと端末の組み合わせによる場合があり、不具合が起きたアプリケーションを全てのユーザ端末に通知する必要はない。
本発明は上記の課題に鑑みてなされたものであり、特定の端末でアプリケーションのエラーが起こる条件を検出する。エラーの起こる可能性のある端末(ユーザ)に絞って、エラーが起きるアプリケーションの実行を抑制させるアプリケーション管理システム、管理装置、アプリケーション実行端末、管理方法、アプリケーション実行端末の制御方法及びプログラムを提供することを目的とする。
本発明に係る管理装置は、以下の構成を備える。即ち、接続可能な複数の端末を管理する管理装置であって、アプリケーションをインストールした複数の端末から前記アプリケーションのエラー情報を受信する受信手段と、前記複数の端末に関する情報と、前記複数の端末にインストールされた前記アプリケーションの情報とを管理する管理手段と、前記エラー情報と前記複数の端末に関する情報と前記アプリケーションの情報とに基づいて、前記アプリケーションがエラーを起こす条件を判定する判定手段と、インストールされた前記アプリケーションがエラーを起こす条件を満たしていることを示す情報を、前記複数の端末のうち当該条件を満たす端末に送信する送信手段。
本発明に係るアプリケーション実行端末は、以下の構成を備える。即ち、複数の端末を管理する管理装置に接続され管理されている端末であって、前記管理装置が判定した、アプリケーションがエラーを起こす条件を受信する受信手段と、前記エラーを起こす条件を満たすアプリケーションの表示形態を変更して表示させる表示制御手段。
本発明に係るアプリケーション実行端末は、以下の構成を備える。即ち、複数の端末を管理する管理装置に接続され管理されている端末であって、前記管理装置が判定した、アプリケーションがエラーを起こす条件を受信する受信手段と、前記エラーを起こす条件を満たすアプリケーションの起動の指示を受けると、エラーを起こす条件を満たしていることに基づくメッセージを表示させる表示制御手段。
本発明に係るアプリケーション実行端末は、以下の構成を備える。即ち、複数の端末を管理する管理装置に接続され管理されている端末であって、自端末にインストールされているアプリケーションの情報を管理する管理手段と、前記管理装置から、前記アプリケーションのエラー情報と前記アプリケーションがインストールされた複数の端末に関する情報とを受信する受信手段と、前記エラー情報と前記複数の端末に関する情報と前記アプリケーションの情報とに基づいて、前記アプリケーションがエラーを起こす条件を判定する判定手段と、前記アプリケーションのうち、前記エラーを起こす条件を満たすアプリケーションの表示形態を変更して表示させる表示制御手段。
本発明に係るアプリケーション実行端末は、以下の構成を備える。即ち、複数の端末を管理する管理装置に接続され管理されている端末であって、自端末にインストールされているアプリケーションの情報を管理する管理手段と、前記管理装置から、前記アプリケーションのエラー情報と前記アプリケーションがインストールされた複数の端末に関する情報とを受信する受信手段と、前記エラー情報と前記複数の端末に関する情報と前記アプリケーションの情報とに基づいて、前記アプリケーションがエラーを起こす条件を判定する判定手段と、前記アプリケーションのうち、前記エラーを起こす条件を満たすアプリケーションの起動の指示を受けると、エラーを起こす条件を満たしていることに基づくメッセージを表示させる表示制御手段。
本発明によれば、アプリケーションを実行するとエラーが起きる条件を満たす端末に絞って、エラーが起きるアプリケーションの実行の抑制をすることができる。
(a)サーバ及び端末のハードウェア構成の一例を示す図 (b)サーバ及び端末のシステム構成の一例を示す図 実施形態1にかかるサーバと端末の機能のブロック図 実施形態1にかかるアプリケーションのインストール処理手順を示すフローチャート 実施形態1にかかるアプリケーションのエラー検知とエラー報告の手順を示すフローチャート 実施形態1にかかるエラー条件判定の手順を示すフローチャート (a)実施形態1にかかるエラー報告管理テーブルを示す図 (b)実施形態1にかかるエラー条件判定テーブルを示す図 実施形態1にかかるエラー通知受信時の処理の手順を示すフローチャート 実施形態1にかかるアプリケーションのアイコンクリック時の処理の手順を示すフローチャート 実施形態2にかかるサーバと端末の機能のブロック図 実施形態2にかかるエラー報告受信時のサーバの処理の手順を示すフローチャート 実施形態2にかかるエラー条件判定の手順を示すフローチャート (a)実施形態3にかかるエラー条件判定テーブルを示す図 (b)実施形態3にかかるエラー条件判定テーブルを示す図 (a)実施形態4にかかるエラー報告管理テーブルを示す図 (b)実施形態4にかかるエラー条件判定テーブルを示す図 (a)実施形態5にかかるエラー報告管理テーブルを示す図(b)実施形態5にかかるエラー条件判定テーブルを示す図 実施形態6にかかるエラー条件判定結果の通知処理の手順を示すフローチャート 実施形態6にかかるアプリケーションのアイコンクリック時の処理の手順を示すフローチャート 実施形態7にかかるサーバと端末の機能のブロック図 実施形態7にかかるアプリケーションのインストール処理手順を示すフローチャート 実施形態8にかかるエラー条件判定処理の手順を示すフローチャート (a)実施形態1にかかるアイコンの変化例を示す図 (b)実施形態1にかかる端末識別情報管理テーブルを示す図 (c)実施形態1にかかるアプリケーションインストール状態管理テーブルを示す図 実施形態5にかかるアプリケーション実行状態管理テーブルを示す図 実施形態1にかかるエラー報告受信時の処理の手順を示すフローチャート 実施形態2にかかるアプリケーションのリスト受信時のサーバの処理の手順を示すフローチャート 実施形態9にかかるアプリケーションのエラー検知とエラー報告の手順を示すフローチャート 実施形態10にかかるアプリケーションのエラー検知とエラー報告の手順を示すフローチャート
以下、添付の図面を参照して、本発明の好適な実施形態を詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<実施形態1>
図1(a)は、サーバ202及び端末201のハードウェアとして想定される、一般的な情報管理装置101のハードウェア構成の一例を示す図である。図1(a)に示されるように情報管理装置101は、ハードウェア構成として、CPU11を含む。
CPU11が、記憶装置13に記憶されている後述するアプリケーションやプログラム実行環境等の各々に対応するプログラムに基づき処理を行うことによって、後述する各機能、又はフローチャートを実現する。
また、CPU11には、バス10を介して、入力装置12、記憶装置13及び表示装置14が接続されている。記憶装置13は、例えば、ROM、RAM、ハードディスク装置等からなり、上述した各プログラム以外に、プログラムに基づく処理で用いられるデータ等を記憶する。表示装置14は、画面等を表示するディスプレイである。制御プログラムは、表示装置の表示制御を行う。入力装置12は、情報を入力するキーボード及び/又はマウスである。外部接続IF15は、ネットワークインタフェース、外部機器との各種接続インタフェースである。
尚、CPU11はプログラムを実行することで各種の手段として機能することが可能である。なお、CPU11と協調して動作するASICなどの制御回路がこれらの手段として機能してもよい。また、CPU11と画像処理装置の動作を制御する制御回路との協調によってこれらの手段が実現されてもよい。また、CPU11は単一のものである必要はなく、複数であってもよい。この場合、複数のCPU11は分散して処理を実行することが可能である。また、複数のCPU11は単一のコンピュータに配置されていてもよいし、物理的に異なる複数のコンピュータに配置されていてもよい。なお、CPU11がプログラムを実行することで実現する手段が専用の回路によって実現されてもよい。
次に、情報管理装置101上に構築するシステム構成について、図1(b)を用いて説明する。図1(b)は、情報管理装置101のシステム構成の一例を示す図である。
オペレーティングシステム10001は、システム全体の基盤となるソフトウェアである。アプリケーション実行環境10002は、例えば仮想マシンのように、オペレーティングシステム10001上のプロセスでありながら、自身の上でアプリケーションが動作する環境を提供するソフトウェアである。アプリケーション実行環境10002は、各アプリケーション10003の動作状態を管理する機能を含む。
本実施形態で用いるサーバ202と端末201のハードウェア構成とシステム構成は、情報管理装置101と同様である。サーバ202には、多数の接続可能な端末201が接続される。各端末201のハードウェア構成とオペレーティングシステム10001は、機種やバージョンによる違いが存在しうる。また、各端末201はインストールするアプリケーションを個々に選択するため、システム構成も一様とはならない。このため、アプリケーションは多様な実行環境で動作し、特定の条件を満たす実行環境ではエラーが発生することがある。
そこで、ある端末で発生したエラー情報をもとにエラーが起きる条件を検出し、条件を満たす実行環境でアプリケーションを動作させているユーザの端末に警告することが課題となる。また、エラーが起きるアプリケーションの実行をユーザが容易に停止できる仕組みも課題となる。
本実施形態は、これらの課題を解決するために、サーバ202と端末201から構成されるシステムによって、エラーが発生する可能性のあるアプリケーションのアンインストールとアップデートをユーザが容易に指示できる仕組みを実現する。
次に、サーバ202と端末201から構成されるシステムの具体的な動作について説明する。初めに、端末201がアプリケーションをインストールする動作について、図2、図3、図20(b)、図20(c)を用いて説明する。図2は、サーバ202と端末201が備える機能を示すブロック図である。図3は、アプリケーション管理部203がアプリケーションをインストールする処理を示すフローチャートである。フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。図20(b)は、端末情報管理部206が端末識別情報を管理する端末識別情報管理テーブル2002である。図20(c)は、端末情報管理部206がアプリケーションのインストール状態を管理するアプリケーションインストール状態管理テーブル2003である。
端末201は、アプリケーション実行環境10002内に、アプリケーション管理(インストール・アップデート・アンインストール・スタート)を行うアプリケーション管理部203をもつ。アプリケーションは、各アプリケーションで一意となるアプリケーションIDをもつ。また、修正版によるアップデートを管理するため、アプリケーションはバージョン番号をもつ。以降、アプリケーションIDとバージョン番号を含む情報を、アプリケーション識別情報と記す。また、端末201は、端末の機種の名前である端末機種名と、各端末で一意となる端末IDと、ファームウェアやハード構成によって異なる端末バージョンをもっている。以降、端末機種名、端末ID、端末バージョンを含む情報を、端末識別情報と記す。端末識別情報は後述するPUSH通信のために、端末のIPアドレスを含んでもよい。
端末201はアプリケーションのインストール開始時に、アプリケーションのプログラムを取得する(ステップS301)。取得は入力装置12のネットワークや記憶装置13を介して行われる。アプリケーションを取得すると、アプリケーション管理部203はインストールを行う(ステップS302)。インストールが完了すると、アプリケーション管理部203は、インストールしたアプリケーションのアプリケーション識別情報と端末識別情報をサーバ202の端末情報管理部206に送信する(ステップS303)。送信が完了すると、インストールは終了する。ただし、インストールを終了する条件に、送信の完了は必須ではない。端末201がネットワークにアクセスできない場合などは、送信を後回しにすることも可能である。
サーバ202は、送信されたアプリケーション識別情報と端末識別情報を端末情報管理部206で管理する。端末識別情報は、端末識別情報管理テーブル2002で管理される。送信された情報から、端末201がアプリケーションをインストールしたとわかるため、端末情報管理部206は、アプリケーションインストール状態管理テーブル2003に、送信されたアプリケーション識別情報と、端末識別情報の端末IDを追加する。
次に、端末201で動作するアプリケーションがエラーを発生させた場合の動作について、図2、図4を用いて説明する。図4は、アプリケーション実行中にエラーが起きた場合のエラー検知部204の処理を示すフローチャートである。フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。
端末201で動作するアプリケーションは、アプリケーション管理部203によってスタートされる。アプリケーション実行環境10002は、アプリケーションが実行中に発生させた例外やエラーを、エラー検知部204によって検知する(ステップS401)。エラーが起きると、エラー検知部204はプログラムスタックを解析し、エラーを起こしたアプリケーションを特定する。そして、エラーが起きたアプリケーションのアプリケーション識別情報、エラー発生時のプログラムスタックの情報(エラーメッセージ)、端末識別情報をサーバに送信する(ステップS402)。以降、エラーが起きたアプリケーションのアプリケーション識別情報、エラー発生時のプログラムスタックの情報(エラーメッセージ)、端末識別情報を含むメッセージを、エラー報告と記す。
次に、サーバ202が端末201からエラー報告を受信した場合の動作について、図2、図22,図6(a)、図6(b)を用いて説明する。図22は、エラー報告受信時のサーバ202の動作を示すフローチャートである。フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。図6(a)は、エラー報告管理部205が受信したエラー報告の管理に用いるエラー報告管理テーブル601である。図6(b)は、エラー条件判定部207がエラーの起きる条件を検出するのに用いるエラー条件判定テーブル602である。
サーバ202は、エラー報告を受信すると、エラー報告管理部205で処理を開始する。本実施形態では、今回新たに受信したエラー報告の内容は、エラー報告管理テーブル601の3行目の内容とする。また、アプリケーションをインストールした端末数に占めるエラーを報告した端末数の割合を、エラー発生率と定義する。エラー条件判定部207は、エラー発生率が50%以上の場合、エラー条件を満たしていると判定する。
初めに、エラー報告管理部205は、受信したエラー報告をエラー報告管理テーブル601に記録する(ステップS2201)。ステップS2201において、エラー報告管理部205は、受信した報告からアプリケーションID=AppID_1のアプリケーションがエラーを起こしたと認識する。以降、アプリケーションID=AppID_1のアプリケーションをアプリケーションAと記す。
エラー報告管理部205は、エラー報告を記録すると、エラー条件の判定を行うかどうかを判断する(ステップS2202)。これは、エラー条件の判定をエラー報告受信の度に行うと負荷が高くなるためである。判断の方法としては、最後に判定を行なってから、一定数のエラー報告を受信した場合にエラー条件の判定を行うことが考えられる。また、一日一回、決まった時刻にエラー条件の判定を行うことも考えられる。本実施形態では、アプリケーションAのエラー報告を受信した例で説明する。
ステップS2202でエラー条件の判定を行うと判断した場合、エラー報告管理部205は、アプリケーションAをインストールしている端末の端末識別情報を、端末情報管理部206から取得する(ステップS2203)。取得後、エラー報告管理部205は、アプリケーションAをインストールしている端末の端末識別情報とエラー報告管理テーブル601の情報を、エラー条件判定部207に送信し、エラー条件の判定を行わせる(ステップS2204)。
ただし、エラー条件判定部207に送信する情報は、エラー報告管理テーブル601の全ての情報でなくてもよい。例えば、エラー条件判定部207は、エラーが100回以上報告されたアプリケーションについて、エラー条件を判定するとする。このとき、エラー報告管理部205は、アプリケーションごとにエラー報告を集計し、エラー報告が100回以上報告されたアプリケーションに関する情報をエラー条件判定部207に与えることで、与えるデータサイズを削減できる。
次に、エラー条件の判定処理について、図5を用いて説明する。図5は、エラー条件判定部207がエラー条件の判定を行う動作を示すフローチャートである。フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。
エラー条件判定部207は、送信された情報からエラーが起きる条件を判定する。エラー条件判定部207は判定において、アプリケーションAをインストール済みの端末数を端末機種名ごとに集計し、エラー条件判定テーブル602を作成する(ステップS501)。または、前回の判定で作成したエラー条件判定テーブル602を保持しておき、更新する。エラー条件判定テーブル602を確認すると、アプリケーションAは端末機種名がDevice_Xの場合に、エラー発生率が50%となっており、所定のエラー発生率を上回っているとわかる(ステップS502)。そのため、エラー条件判定部207はアプリケーションAのエラー条件を端末Device_Xにインストールされた場合であると判定する。そして、エラー条件判定部207は、テーブル2002、2003を参照し、アプリケーションAをインストールしている端末機種情報から、端末機種名がDevice_Xである端末にアプリケーションAがエラーを起こす条件を満たしていることを通知する(ステップS503)。以降、この通知をエラーアプリ通知と記す。エラーアプリ通知の手段には、サーバ202から端末201へのPUSH送信や、端末201がサーバ202をポーリングする方法が挙げられる。
次に、端末201がエラーアプリ通知を受信したときの処理を、図2、図7、図20(a)を用いて説明する。図7は、端末201がエラーアプリ通知を受信したときの処理を示すフローチャートである。フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。図20(a)は、ステップS701で、アプリケーション管理部203がアイコンに与えるエフェクトの例を示す図である。
端末201はエラーアプリ通知を受信すると、アプリケーション管理部203に転送する。アプリケーション管理部203はエラーアプリ通知を受け取ると、エラーアプリ通知の受信処理を開始する。アプリケーション管理部203は、エラーを起こす条件をみたしたアプリケーションAのアイコンに、ユーザの注意をひきつけるエフェクトを加えて表示形態を変更し、表示するという変更を行う(ステップS701)。エフェクトの例としては、図20(a)のテーブル2501に示すように、発煙エフェクト、炎上エフェクト、明度低下エフェクト、ワンポイント付与エフェクトが考えられる。アプリケーション管理部203は、アプリケーションAのアイコンクリック時の動作を変更する(ステップS702)。変更処理が完了すると、エラーアプリ通知の受信処理は終了する。ただし、アプリケーションのイメージ低下を避けるために、ステップS701を省略してもよい。また、ステップS701において、エラーが起きるアプリケーションをユーザが起動しにくいように、アイコンを別の画面やフォルダに移動させることも考えられる。
次に、端末201が表示するアプリケーションのアイコンをクリックした時のアプリケーション管理部203の動作について、図8のフローチャートを用いて説明する。フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。
アプリケーションのアイコンがクリックされると、アプリケーション管理部203は、アイコンに対応するアプリケーションの起動処理を開始する。アプリケーション管理部は、受信済みのエラーアプリ通知によって、起動対象のアプリケーションがエラー条件を満たすかを確認する(ステップS801)。
起動対象のアプリケーションがエラー条件を満たす場合、アプリケーション管理部203はユーザにアプリケーションのアンインストールを提案するダイアログを表示する(ステップS802)。アンインストールの提案以外にも、起動対象アプリケーションは、エラーの発生率が高いことが報告されているというメッセージを出してもよい。その他、アップデートすることを勧めるメッセージを出してもよい。
ユーザが提案ダイアログの選択肢を選択すると、アプリケーション管理部203はユーザがアンインストールに同意したかを確認する(ステップS803)。
ユーザがアンインストールに同意した場合、アプリケーション管理部203はアンインストール処理を実行する(ステップS804)。
ユーザがアンインストールに同意しなかった場合、またはステップS802において起動対象のアプリケーションがエラー条件を満たさない場合は、アプリケーションのスタート処理を実行する(ステップS805)。
以上の処理を終えると、アプリケーションのアイコンをクリックしたときの処理は終了する。
以上、エラー条件判定部207がサーバ202に備わる場合の実施形態を説明した。アプリケーションの実行エラーが発生する端末の条件を判定し、エラー条件を満たすユーザの端末に絞って通知することで、精度よくエラーアプリ通知を送ることができる。また、ユーザの端末での、エラーの発生確率が高いアプリケーションのアイコンの変更または、アイコンクリック時の動作の変更をすることで、エラーが発生し易いアプリケーションの実行を抑制することができる。
<実施形態2>
次に、実施形態2にかかる端末201とサーバ202の動作について説明する。端末201とサーバ202とのハードウェア構成は図1に示した構成の通りである。
エラー条件判定部207は、エラーが起きたアプリケーションがインストールされている端末の情報とエラー報告管理テーブル601の内容があれば、エラーの条件を判定できる。そのため、エラー検知部204がサーバ202にエラー報告を送信した際に、エラー報告管理部205はステップS2204でエラー条件判定部207に与えた情報を端末201に応答すれば、エラー条件判定部207を端末201に備える構成を実現できる。
サーバ202は端末情報管理部206とエラー報告管理部205を備え、端末201がエラー条件判定部207を備える実施形態を、実施形態2として説明する。
端末201がアプリケーションをインストールする動作は、実施形態1と同様である。また、端末201で動作するアプリケーションがエラーを発生させた場合の動作も、実施形態1と同様である。また、端末201は、まだアプリケーションの実行エラーが発生していなくても、自端末にインストール済みのアプリケーションがエラーを生じる可能性がないかを確認する。そのために、端末201は、一定時間おきにサーバ202にインストール済みのアプリケーションのリストを送信し、リストに存在するアプリケーションに対応するエラー報告管理テーブル601の情報を取得する。
はじめに、サーバ202がエラー報告を受信した場合の動作について、図6(a)、図9、図10を用いて説明する。図9は、サーバ202と端末201が備える機能を示すブロック図である。図10は、エラー報告受信時のサーバ202の動作を示すフローチャートである。フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。
サーバ202は、エラー報告を受信すると、エラー報告管理部205で処理を開始する。受信したエラー報告はエラー報告管理テーブル601の3行目の内容とする。
初めに、エラー報告管理部205は、受信したエラー報告を、エラー報告管理テーブル601に記録する(ステップS1001)。ステップS1001において、エラー報告管理部205は、受信した報告からアプリケーションA(定義は実施形態1を参照)がエラーを起こしたと認識する。
次に、エラー報告管理部205はステップS2203と同様に、アプリケーションAをインストールしている端末の端末識別情報を、端末情報管理部206から取得する(ステップS1002)。取得後、エラー報告管理部205は、アプリケーションAをインストールしている端末の情報とエラー報告管理テーブル601の情報を、端末201に応答する(ステップS1003)。ただし、エラー報告管理テーブル601の情報をすべて応答する必要はない。応答メッセージのサイズを削減するために、アプリケーションAに関するエラー報告に絞ったテーブルを応答してもよい。また、エラー報告管理テーブル601の要素から、エラーメッセージや端末IDの要素を削除して応答してもよい。また、端末情報管理部206から取得した端末識別情報を、機種ごとの端末数に集約して応答してもよい。また、サーバ202から端末201へのプッシュ通信が可能な環境であれば、アプリケーションAをインストール済みの全端末に応答メッセージを送信してもよい。端末201へ応答すると、エラー報告受信の処理は終了する。
次に、エラー検知部204がエラー報告の応答をサーバ202から受信した場合の動作について、図9、図11を用いて説明する。図11は、端末201のエラー条件判定部207がエラー条件を判定する動作を示すフローチャートである。フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。実施形態2では、エラー条件判定部207が端末201側にある。
エラー検知部204が受信したエラー報告の応答には、アプリケーションAをインストールしている端末の情報と、エラー報告管理テーブル601の情報が含まれている。エラー検知部204は、エラー条件判定部207にこれらの情報を与える。
エラー条件判定部207は、与えられた情報からエラーが起きる条件を判定する(ステップS1101)。判定する処理は、ステップS501、S502と同様である。そして、エラー条件判定部207は、自端末がエラー条件を満たすかどうかを判定する(ステップS1102)。自端末がエラー条件を満たす場合、ステップS701、S702と同様の処理を行う(ステップS1103、S1104)。
次に、サーバ202が端末201からインストール済みのアプリケーションのリストを受信した場合の動作を図23のフローチャートを用いて説明する。フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。
サーバ202は、アプリケーションのリストを受信すると、エラー報告管理部205で処理を開始する。はじめに、エラー報告管理部205はステップS2203と同様に、リストに含まれる各アプリケーションをインストールしている端末の端末識別情報を、端末情報管理部206から取得する(ステップS2301)。取得後、エラー報告管理部205は、各アプリケーションをインストールしている端末の情報とエラー報告管理テーブル601の情報を、端末201に応答する(ステップS2302)。応答するメッセージのサイズを削減するために、応答内容をステップS1003と同様の処理を行なってもよい。
端末201は、応答を受信すると、ステップS1101、S1102、S1103、S1104と同様の処理を行う。
以上、エラー条件判定部207が端末201に備わる場合の実施形態を説明した。
<実施形態3>
アプリケーションはアップデートによって変更されうる。また、端末201も、アップデートによって変更されうる。エラー条件判定テーブル602では、アプリケーションIDと端末機種名でエラー条件を判定したが、アプリケーションバージョンと端末バージョンを考慮することで、より正確な判定が可能となる。エラー条件判定部207がアプリケーションバージョンと端末バージョンを考慮する実施形態を、実施形態3として説明する。エラー条件判定部207は、端末201側、サーバ202側どちらにあってもよい。
実施形態3にかかるエラー条件判定部207の動作について、図12(a)、図12(b)を用いて説明する。図12(a)のテーブルは、エラー条件判定部207が作成する、アプリケーションAのバージョン1.0のエラー発生率を求めるためのエラー条件判定テーブル1201である。図12(b)は、アプリケーションAのバージョン2.0のエラー発生率を求めるためのエラー条件判定テーブル1202である。端末201とサーバ202とのハードウェア構成は図1に示した構成の通りである。
端末201がアプリケーションAに関するエラー報告を送信したときを例として説明する。アプリケーションAには、バージョン1.0と2.0が存在するものとする。また、機種名Device_Xの端末201には、端末バージョン1と端末バージョン2のものが存在するとする。また、機種名Device_Yの端末201には、端末バージョン1のみが存在するものとする。
エラー報告管理部205はエラー報告を受信すると、ステップS2204と同様にエラー条件判定部207に情報を送信する。
エラー条件判定部207は、アプリケーションAのバージョン1.0に関するエラー条件判定テーブル1201と、アプリケーションAのバージョン2.0に関するエラー条件判定テーブル1202を作成する。または、前回の判定で作成したエラー条件判定テーブル1201,エラー条件判定テーブル1202を保持しておき、更新する。
各テーブルは、端末201を端末機種名と端末バージョンで分類している。エラー条件判定部207は、分類した各列に対して、インストール端末数とエラー発生端末数から求めたエラー発生率を計算する。そして、エラー発生率が50%以上であるアプリケーション、アプリケーションバージョン、端末機種名、端末バージョンの組み合わせをエラー条件と判定する。テーブル1201の場合、アプリケーションAかつアプリケーションバージョン1.0かつ端末機種名Device_Yかつ端末バージョン1をエラー条件と判定する。またテーブル1202の場合、エラー発生率が100%であるアプリケーションAかつアプリケーションバージョン2.0かつ端末機種名Device_Xかつ端末バージョン2を、エラー条件と判定する。このように、アプリケーションと端末201のバージョンを勘案することで、エラー条件の判定精度を高めることが可能となる。
ただし、アプリケーションIDの設定方法によっては、アプリケーションバージョンの情報を用いずに、同等の精度で判定が可能である。アプリケーションのバージョンが違う場合はアプリケーションIDが異なるようにアプリケーションIDを設定するなら、アプリケーションのバージョン情報は必要ない。同様に、端末バージョンが異なる場合に端末機種名が異なるように端末機種名を設定するなら、端末バージョンの情報は必要ない。
以上、エラー条件判定部207がアプリケーションバージョンと端末バージョンを考慮する実施形態を説明した。
<実施形態4>
端末201で動作するアプリケーションは複数あるため、インストールしたアプリケーション間の組み合わせが原因でエラーが起きることがある。エラー条件判定部207が、アプリケーション間の組み合わせを考慮する実施形態を、実施形態4として説明する。
実施形態4にかかるエラー条件判定部207とエラー報告管理部205の動作について、図13(a)、図13(b)を用いて説明する。図13(a)は、エラー報告管理部205が管理するエラー報告の管理テーブル1301である。図13(b)は、エラー条件判定部207がエラー条件の判定のために作成するエラー条件判定テーブル1302である。端末201とサーバ202とのハードウェア構成は図1に示した構成の通りである。
エラー報告管理部205が、アプリケーションAに関するエラー報告を受信する例で説明する。エラー報告管理部205は、エラー報告を受信するとステップS2201と同様の処理を行う。加えて、エラー報告管理部205は、エラー報告を送信した端末201がインストール済みのアプリケーションのリストも、エラー時端末情報としてエラー報告管理テーブル1301に保存する。インストール済みアプリケーションのリストは端末情報管理部206から取得してもよいし、端末201がエラー報告に含めてもよい。
例として、エラー報告管理部205が受信したエラー報告が、エラー報告管理テーブル1301の3行目の内容であり、エラー報告管理テーブルには2行目までの内容しか保持されていないとする。受信した報告は、端末IDがID_3である端末201からの報告である。ID_3の端末201がインストール済みのアプリケーションのリストは、アプリケーションIDがAppID_30かつアプリケーションバージョンがv1、および、アプリケーションIDがAppID_10かつアプリケーションバージョンがv1のアプリである。そこで、エラー報告管理部はエラー報告管理テーブル1301の3行目の内容を、エラー報告管理テーブル1301に追加する。そしてエラー報告管理部205は、ステップS2204と同様にエラー条件判定部207に情報を送信する。
エラー条件判定部207は、ステップS501と同様に、エラー条件判定テーブル1302を作成する。または、前回の判定で作成したエラー条件判定テーブル1302を保持しておき、更新する。エラー条件判定テーブル1302は、アプリケーションAをインストール済みの端末201を、他にインストール済みのアプリケーションの組み合わせで分けて集計したものである。前述のように、エラー条件判定部207は、エラー発生率が50%以上の条件をエラー条件と判定する。エラー発生率は固定値でも良いし、可変にしてもよい。エラー条件判定テーブル1302より、アプリケーションCをインストール済みの場合が、アプリケーションAのエラー条件と判定される。このように、エラー条件判定部207がアプリケーションの組み合わせを考慮することで、エラー条件の判定精度を高めることが可能となる。
エラー条件の判定には、報告された大量のエラーログをデータマイニングで解析する。本実施形態では、解析対象要素を、アプリの種類、バージョンだけでなく、インストール済みのアプリリストに拡張することで、エラー発生率が高くなるアプリケーションの組み合わせを抽出している。
常にアプリの組み合わせによるエラーを判定すべきだが、解析対象要素を増やすと、データマイニングの負荷は高くなる。そこで、エラー条件判定部207を処理するサーバの負荷をトリガーとし、負荷が低い場合に、アプリの組み合わせによるエラーを判定することが考えられる。また、他のアプリに依存する場合、アプリの設定ファイルに依存するアプリが記載されていることがある。その場合、設定ファイルに依存するアプリが記載されていることをトリガーとして、アプリの組み合わせによるエラーを判定することも考えられる。
エラーアプリ通知を受信した端末のアプリケーション管理部203では、エラーアプリ通知の対象となっているアプリケーション実行時に、同時に実行するとエラーが発生する他のアプリケーションを示し、そのアプリを停止させることを提案することも考えられる。もちろん、エラーアプリ通知の対象となっているアプリケーションのアンインストールを提案してもよい。
以上、エラー条件判定部がアプリケーションの組み合わせを考慮する実施形態を説明した。エラー報告管理テーブル1301が管理するエラー時端末情報を、エラー時に実行中だったアプリケーションのリストとすることで、アプリケーションの実行の組み合わせによるエラー条件を判定することも可能である。
<実施形態5>
アプリケーションは実行されないとエラーを起こさない。そのため、アプリケーションをインストールしただけで実行をしない端末が存在すると、実施形態1で定義したエラー発生率ではエラーが起きる条件を正確に判定できない。アプリケーションの実行回数とエラー回数から求められる実行時エラー発生率を用いれば、より正確なエラー条件の判定が可能となる。エラー条件判定部が、アプリケーションの実行回数とエラー回数から求めた実行時エラー発生率によってエラー条件を判定する実施形態を、実施形態5として説明する。
実施形態5にかかるエラー条件判定部207とエラー報告管理部205の動作について、図14(a)、図14(b)、図21を用いて説明する。図14(a)は、エラー報告管理部205が管理するエラー報告の管理テーブル1401である。図14(b)は、エラー条件判定部207がエラー条件の判定のために作成するエラー条件判定テーブル1402である。図21は、端末情報管理部206が管理するアプリケーションの実行状態管理テーブル2101である。エラー条件判定部207は、アプリケーションの実行回数とエラー回数から求められる実行時エラー発生率が50%以上の場合に、エラー条件と判定するものとする。端末201とサーバ202とのハードウェア構成は図1に示した構成の通りである。実施形態1では、エラー発生率を計算するときの分母がインストール端末数であったが、実施形態5では、エラー発生率を計算するときの分母が実行回数になっている。
アプリケーション管理部203は、アプリケーションが実行された回数を記録する。エラー報告を送信する直前、またはアプリケーションが一定回数実行される、または最後にサーバ202に実行回数を報告してから一定期間経つと、アプリケーション管理部203は記録した各アプリケーションの実行回数をサーバ202に報告する。報告を受信したサーバ202は、端末情報管理部206によって管理されているアプリケーション実行状態管理テーブル2101の実行回数を増分する。報告を終えると、アプリケーション管理部203は記録した実行回数を0に初期化する。
次に、エラー報告管理部205が、アプリケーションAに関するエラー報告を受信する処理を説明する。エラー報告管理部205は、エラー報告を受信するとステップS2201と同様の処理を行う。そしてエラー報告管理部205は、ステップS2204と同様にエラー条件判定部207に情報を送信する。エラー判定部207に送信する情報は、アプリケーションAを実行したことがある端末201の情報とエラー報告管理テーブル1401の内容である。
エラー条件判定部207は、送信された情報からエラー条件判定テーブル1402を作成する。または、前回の判定で作成したエラー条件判定テーブル1402を保持しておき、更新する。エラー条件判定テーブル1402は、アプリケーションAを実行したことがある端末201を機種名で分けて、その実行回数とエラー回数を集計したものである。エラー条件判定テーブル1402より実行時エラー発生率を求めると、Device_Xで実行された場合が50%以上となる。そのため、アプリケーションAのエラー条件は、Device_Xで実行された場合と判定される。このように、エラー条件判定部207がアプリケーションの実行回数を考慮してエラー条件を判定することで、アプリケーションをインストールしただけで実行しない端末が存在しても、正確にエラー条件を判定できる。
以上、エラー条件判定部207がアプリケーションの実行回数を考慮してエラー条件を判定する実施形態を説明した。
<実施形態6>
アプリケーションのエラー条件が判定され、報告されると、開発者はエラー条件でも動作する修正版を開発し、修正版にアップデートを促すことで対応することが一般的である。エラー条件が判定されるとすぐにユーザにアンインストールを促すのではなく、修正版が公開されるまで待ってから、ユーザにアップデートを促すことで、ユーザの満足度が高いサービスを実現できる。エラー条件判定後に、開発者に連絡して修正版が開発されるまでユーザに通知しない実施形態を、実施形態6として説明する。端末201とサーバ202とのハードウェア構成は図1に示した構成の通りである。
実施形態6にかかるエラー条件判定部207とアプリケーション管理部203の動作について、説明する。エラー条件判定部207は、サーバ202側にある。
初めに、エラー条件判定部207が判定した結果をアプリケーション管理部203に通知する動作について、図15を用いて説明する。図15は、エラー条件判定部207がエラー条件を判定した場合の開発者への連絡とユーザへの通知処理の流れを示すフローチャートである。フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。
開発者Dが開発したアプリケーションAのエラー条件を、エラー条件判定部207が判定した例で説明する。前提として、一般的な技術であるために図2には図示していないものの、アプリケーションAはアプリケーション配布サーバSに登録されており、サーバ202はサーバSと通信可能なものとする。エラー条件判定部207は、エラー条件を判定すると、開発者Dへの通知を開始する。まず、エラー条件判定部207は、アプリケーションAのエラー条件を開発者Dへ連絡する(ステップS1501)。開発者Dへの連絡方法としては、アプリケーションを配布するサーバSを経由して行う手法などが考えられるが、特に制限はない。サーバ202にアプリケーション配布機能を持たせてもよい。
エラー条件判定部207は開発者Dへの連絡を終えると、一定の期間が経過するまで、エラーアプリ通知を待機する(ステップS1502)。待機中は、開発者がアプリケーションAの修正版をアップデートしたかを適宜確認する(ステップS1503)。修正版がアップデートされると、エラー条件判定部207はエラー条件を満たすアプリケーションAをインストールしている端末201のアプリケーション管理部203に、アプリケーションAの修正版があることを通知する(ステップS1505)。以降、この通知を修正版アプリ通知と記す。ステップS1502において一定の期間を経過してもアプリケーションAの修正版が公開されなければ、エラー条件判定部207はエラーアプリ通知を行う(ステップS1504)。ステップS1504,S1505が完了すれば、エラー判定結果の通知は完了する。
次に、修正版アプリ通知、エラーアプリ通知の受信に伴う、アプリケーション管理部203の動作について、図16を用いて説明する。図16は、エラー条件判定部207からエラーアプリ通知、または修正版アプリ通知を受け取ったアプリケーション管理部203における、アプリケーションのアイコンクリック時の処理の流れを示すフローチャートである。フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。アプリケーション管理部が通知の受信によってアイコンのグラフィックを変化させる処理は、ステップS701、S702と同様である。
ユーザがアプリケーションのアイコンをクリックすると、アプリケーション管理部203はアイコンに対応するアプリケーションの起動処理を開始する。以降、起動処理を行うアプリケーションを起動対象アプリケーションと記す。アプリケーション管理部203は、起動対象アプリケーションがそれまでに受信したエラーアプリ通知、あるいは修正版アプリ通知に該当するかを確認する(ステップS1601)。起動対象アプリケーションが該当しなければ、通常通りアプリケーションを起動する(ステップS1606)。
ステップS1601で該当する場合、修正版アプリ通知をもとに起動対象アプリケーションの修正版が存在するかを確認する(ステップS1602)。修正版が存在する場合、アプリケーション管理部203は、ユーザにアップデートをするかを提案する(ステップS1603)。提案方法としては、ダイアログを表示する手法などがある。
ユーザが提案に対して回答すると、アプリケーション管理部203は回答内容によって処理を分岐する(ステップS1604)。ユーザがアップデートの提案に同意した場合、アプリケーション管理部203は起動対象アプリケーションをアップデートし(ステップS1605)、ステップS1606へ進む。ユーザがアップデートの提案に同意しなければ、そのままステップS1606へ進む。
ステップS1602において修正版が存在しなければ、アプリケーション管理部203はユーザにアンインストールを提案する(ステップS1607)。若しくは、起動しないことを提案する。そして、ユーザの回答内容を確認し(ステップS1608)、ユーザがアンインストールに同意すれば起動対象アプリケーションをアンインストールする(ステップS1609)。ユーザがアンインストールに同意しなければ、ステップS1606へ進む。
ステップS1609,S1606のいずれかの処理が完了すれば、アプリケーション管理部203は処理を終了する。また、同一の提案を複数回ユーザに行わないために、アプリケーション管理部203はステップS1603、S1607にてユーザに提案したのち、該当する通知を削除する、または無効にする処理を行ってもよい。
以上、エラー条件が判定されるとアプリケーションの修正版があるかどうかを確認し、アプリケーションの修正版が公開されていれば、ユーザにアップデートを促す実施形態を説明した。
<実施形態7>
ユーザが複数のアプリケーションからインストールするアプリケーションを選択するときを考える。このとき、エラー報告管理部205の情報を参照して、ユーザの環境で安定して動作するアプリケーションを推薦することで、ユーザの環境で発生するエラーを未然に防ぐことが可能となる。アプリケーション管理部203がエラー報告管理部205と端末情報管理部206の情報を参照して、ユーザがインストールするアプリケーションの選択を支援する実施形態を、実施形態7として説明する。
実施形態7にかかるアプリケーション管理部203と端末情報管理部206の動作について、図17、図18を用いて説明する。図17は、サーバ202と端末201が備える機能を示すブロック図である。端末201とサーバ202とのハードウェア構成は図1に示した構成の通りである。図2との違いは、端末情報管理部206がエラー報告管理部205の情報を利用できる点である。図18は、ユーザがインストールするアプリケーションを選択してインストールを行う際の、アプリケーション管理部203の動作を示すフローチャートである。フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。
ユーザはインストール可能なアプリケーションを表示するビューアを起動して、インストールするアプリケーションの選択を開始する。ビューアとしては、アプリケーションを管理するサーバSへの接続クライアントなどが想定される。本実施形態では、アプリケーション管理部203がアプリケーションのビューア機能を備えるものとする。アプリケーション管理部203は、アプリケーションを管理するサーバSから、端末201がインストール可能なアプリケーションの一覧をインストール候補リストとして取得する(ステップS1801)。ただし、インストール可能なアプリケーションをすべてリストに含めると、リストのサイズが大きくなってしまうため、インストール候補リストに含めるアプリケーションの選択にステップS1802以降を適用してもよい。
アプリケーション管理部203はインストール候補リストを取得すると、インストール候補リストのアプリケーションがアプリケーション実行環境10002と同一の環境で実行されたエラー発生率を、端末情報管理部206から取得する(ステップS1802)。取得のためにアプリケーション管理部203は、端末情報管理部に、インストール候補リスト、端末201の端末機種名、端末バージョンを含む問い合わせを送信する。
問い合わせを受信した端末情報管理部206は、エラー報告管理部205から取得した情報(エラー報告管理テーブル601)と端末識別情報管理テーブル2002とアプリケーション実行状態管理テーブル2101を参照する。そして、端末201の端末機種名かつ端末バージョンにおける、インストール候補リスト内の各アプリケーションのエラー発生率を応答する。
また、実施形態4のようにアプリケーションの組み合わせによってエラーが起こりえる可能性を応答してもよい。負荷の軽減のために、エラー報告管理部205は、各アプリケーションの他アプリケーションとの組み合わせによる判定済みエラー条件をキャッシュしており、あるアプリケーションにとってエラー条件となるアプリケーションをすぐに応答できるとする。端末情報管理部206は、端末201がインストール済みのアプリケーションの一覧を、アプリケーションインストール状態管理テーブル2003から、インストール済みアプリケーションリストとして取得する。端末情報管理部206は、インストール済みアプリケーションリストの各アプリケーションについて、エラー報告管理部205からエラー条件となるアプリケーションを取得する。エラー条件となるアプリケーションがインストール済みアプリケーションリストに含まれていると、エラー報告管理部205は、端末201にインストール候補リスト内の該当するアプリケーションがエラー条件を満たしている旨を応答する。
アプリケーション管理部203は応答を受信すると、エラー発生率を反映したアプリケーション一覧を表示する(ステップS1803)。反映の方法としては、実行された回数と発生したエラー数から求められる実行時エラー発生率が低いものを優先して表示したり、複数バージョンがインストール可能な場合はエラーが少ないバージョンを優先して表示することが考えられる。また、エラー発生率が高いアプリケーションのアイコンを、ステップS701で行ったようなエフェクトをつけて表示することもあり得る。ユーザが表示されたアプリケーションからインストールするアプリケーションを選択すると、アプリケーション管理部203はインストールを行い(ステップS1804)、処理は終了する。
以上、アプリケーション管理部203がエラー報告管理部205と端末情報管理部206の情報を参照して、ユーザがインストールするアプリケーションの選択を支援する実施形態を説明した。
<実施形態8>
エラー条件判定部207がエラー条件を判定する閾値を、アプリケーションごとに変えることがある。例えば、自社製のアプリケーションはエラー発生率が10%以上でエラー条件を満たすと判定し、他社製のアプリケーションはエラー発生率が30%以上でエラー条件を満たすと判定する場合である。エラー条件判定部207がエラー条件を判定する方法を、アプリケーションの開発元に応じて変える場合の実施形態を、実施形態8として説明する。端末201とサーバ202とのハードウェア構成は図1に示した構成の通りである。
実施形態8にかかるエラー条件判定部207の動作について、図19を用いて説明する。図19は、アプリケーションの開発元によってエラー条件判定部207が判定条件を変更する処理の流れを示すフローチャートである。フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。前提として、実施形態6と同様に、エラー条件判定部207は、アプリケーションの開発元をサーバSから取得できるものとする。
ステップS501、S502で説明したように、エラー条件判定部207は判定において、端末機種ごとに、アプリケーションAのエラー発生率を求める。実施形態1においては、ある端末機種で動作することがエラー条件となるかは、エラー発生率が50%以上であることで判定し、エラー発生率の閾値は50で固定であった。本実施形態では、エラー条件の判定に用いるエラー発生率の閾値は、アプリケーションの開発元に応じて変化する。
次に、エラー条件判定部207がアプリケーションの開発元に応じてエラー条件の判定に用いるエラー発生率の閾値を変更する処理を説明する。
はじめに、エラー条件判定部207は、アプリケーションAの開発元がX社であるかを確認する(ステップS1901)。開発元がX社である場合、エラー発生率が10%以上であるかを確認する(ステップS1902)。10%以上である場合、エラー条件であると判定される(ステップS1903)。10%未満の場合、エラー条件でないと判定される(ステップS1904)。ステップS1901において、アプリケーションの開発元がX社でない場合、エラー条件判定部207は開発元がY社であるかを確認する(ステップS1905)。開発元がY社の場合、エラー発生率が30%以上であるかを確認する(ステップS1906)。30%以上である場合、エラー条件であると判定される(ステップS1903)。30%未満の場合、エラー条件でないと判定される(ステップS1904)。開発元がX社でもY社でもない場合、エラー発生率が50%を超えるかを判定する(ステップS1907)。50%以上である場合、エラー条件であると判定される(ステップS1903)。50%未満の場合、エラー条件でないと判定される(ステップS1904)。ステップS1904、S1903のいずれかの処理が終わると、エラー条件判定処理は完了する。以降の処理は、ステップS503と同様である。
以上、エラー条件判定部207が、エラー条件の判定基準をアプリケーションの開発元に応じて変更する例を説明した。
<実施形態9>
エラー検知部204がエラー報告管理部205に送るエラーメッセージには、端末201のユーザの個人情報が含まれる場合がある。含まれる情報としては、ユーザのアカウント情報などがあげられる。エラー報告を送信する前に、報告する内容をユーザが確認し、報告する可否をユーザが決定する場合の実施形態を、実施形態9として説明する。端末201とサーバ202とのハードウェア構成は図1に示した構成の通りである。
実施形態9にかかるエラー検知部204の動作について、図24を用いて説明する。図24は、アプリケーション実行中にエラーが起きた場合のエラー検知部204の処理を示すフローチャートである。フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。
アプリケーション実行環境10002は、ステップS401と同様に、アプリケーションが実行中に発生させた例外やエラーを、エラー検知部204によって検知する(ステップS2401)。エラーが起きると、エラー検知部204はプログラムスタックを解析し、エラーを起こしたアプリケーションを特定する。そして、エラーが起きたアプリケーションのアプリケーション識別情報、エラー発生時のプログラムスタックの情報、端末識別情報をエラー報告として作成する。
次に、アプリケーション実行環境10002は、作成したエラー報告の内容をユーザに提示する(ステップS2402)。提示方法には、ダイアログ表示などが考えられる。ダイアログである場合、ダイアログの表示にはユーザが送信の許可・不許可を指示するボタンが含まれる。ユーザが許可したかどうかは、ダイアログの押されたボタンで認識する(ステップS2403)。ユーザが送信を許可した場合、ステップS402と同様に、サーバ202にエラー報告を送信する(ステップS2404)。ユーザが許可しなかった場合、エラー報告を送信せずに処理は終了する。
以上、エラー報告を送信する前に、報告する内容をユーザが確認し、報告する可否をユーザが決定する実施形態を説明した。
<実施形態10>
例えば、画像の顔検出を行うアプリケーションにおいて、顔検出で検出される顔が0個の場合にエラーが起きるとする。エラー時に処理していた画像をエラーメッセージに含め、開発者がこの画像を取得できるなら、開発者は容易にエラーを再現して修正版の開発に活用できる。エラーメッセージにエラー時に処理していたデータを含める実施形態を、実施形態10として説明する。
実施形態10にかかるエラー検知部204の動作について、図25を用いて説明する。図25は、アプリケーション実行中にエラーが起きた場合のエラー検知部204の処理を示すフローチャートである。フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。
アプリケーション実行環境10002は、ステップS2401と同様に、アプリケーションが実行中に発生させた例外やエラーを、エラー検知部204によって検知する(ステップS2501)。エラーが起きると、エラー検知部204はプログラムスタックを解析し、エラーを起こしたアプリケーションを特定する。そして、エラーが起きたアプリケーションのアプリケーション識別情報、エラー発生時のプログラムスタックの情報、端末識別情報をエラー報告として作成する。
さらに、エラー検知部204は、エラーが発生したアプリケーションが画像ファイルを開いていたかを確認する(ステップS2502)。端末201がLinuxOS(登録商標)で動作し、アプリケーション実行環境10002は、各アプリケーションにプロセスを割り当てるとする。この場合、プロセスIDディレクトリのファイル記述子を参照することで、エラーが発生したアプリケーションが開いていた画像ファイルを特定できる。
ステップS2502において画像ファイルを開いていた場合、エラー検知部204は画像ファイルをエラー報告に含める(ステップS2503)。ただし、画像ファイル数が多かった場合は、画像ファイルへのアクセス時刻が最も新しいファイルのみをエラー報告に含めてもよい。
ステップS2502で画像ファイルを開いていなかった場合、またはステップS2503の処理が終わった場合、エラー検知部204はステップS2402と同様に、ユーザにエラー報告の内容を提示する(ステップS2504)。ただし、提示するダイアログには、エラー報告のエラーメッセージ、画像ファイルのサムネイルなどの各項目を分けて表示し、各項目にチェックボックスを設ける。ユーザは、各項目のチェックボックスを選択して、報告の内容を決定する(ステップS2505)。
エラー検知部204は、ユーザがダイアログに入力した内容から、ユーザが送信を許可したかどうかを認識する(ステップS2506)。ユーザが送信を許可した場合、ユーザが選択した項目のみをエラー報告に含め、サーバ202に送信する(ステップS2507)。ユーザが送信を許可しなかった場合は、エラー報告を送信せずに処理は終了する。
以上、エラーメッセージにエラー時に処理していたデータを含める実施形態を説明した。
<その他の実施形態>
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、撮像装置、webアプリケーション等)から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード(コンピュータプログラム)を記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。

Claims (27)

  1. 接続可能な複数の端末を管理する管理装置であって、
    アプリケーションをインストールした複数の端末から前記アプリケーションのエラー情報を受信する受信手段と、
    前記複数の端末に関する情報と、前記複数の端末にインストールされた前記アプリケーションの情報とを管理する管理手段と、
    前記エラー情報と前記複数の端末に関する情報と前記アプリケーションの情報とに基づいて、前記アプリケーションがエラーを起こす条件を判定する判定手段と、
    インストールされた前記アプリケーションがエラーを起こす条件を満たしていることを示す情報を、前記複数の端末のうち当該条件を満たす端末に送信する送信手段と、
    を備えることを特徴とする管理装置。
  2. 前記判定手段は、前記アプリケーションの所定の数の前記エラー情報を受信した場合に、前記アプリケーションがエラーを起こす条件を判定することを特徴とする請求項1記載の管理装置。
  3. 前記判定手段では、アプリケーションをインストール済みの端末数と当該アプリケーションのエラーを報告した端末数とに基づいて前記アプリケーションがエラーを起こす条件を判定することを特徴とする請求項1または2何れかに記載の管理装置。
  4. 前記判定手段では、アプリケーションをインストール済みの端末数と前記アプリケーションのエラーを報告した端末数とを、前記アプリケーションのバージョンと前記前記エラーを報告した端末のバージョンで分類して集計し、前記アプリケーションがエラーを起こす条件を判定することを特徴とする請求項1または2何れかに記載の管理装置。
  5. 前記判定手段では、アプリケーションをインストール済みの端末数と前記アプリケーションのエラーを報告した端末数とを、前記管理手段を参照してエラーを発生した端末にインストールされているアプリケーションによって分類して集計し、前記アプリケーションがエラーを起こす条件を判定することを特徴とする請求項1または2何れかに記載の管理装置。
  6. 前記受信手段では、エラーを報告した端末でエラー発生時に実行中だったアプリケーションの情報を含めて受信し、
    前記判定手段では、アプリケーションをインストール済みの端末数と前記アプリケーションのエラーを報告した端末数とを、エラーを報告した端末がエラー発生時に実行中だったアプリケーションによって分類して集計し、前記アプリケーションがエラーを起こす条件を判定することを特徴とする請求項1乃至5何れか1項に記載の管理装置。
  7. 前記判定手段では、アプリケーションの実行回数とエラー回数とに基づいて、前記アプリケーションがエラーを起こす条件を判定することを特徴とする請求項1または2何れかに記載の管理装置。
  8. 前記判定手段がエラーを起こす条件を満たすと判定したアプリケーションの開発元に通知を行う通知手段と、
    前記アプリケーションの修正版が公開されたことを検出する検出手段と、を更に備え、
    前記送信手段は、前記アプリケーションの修正版を前記アプリケーションがエラーを起こす条件を満たす端末に送信することを特徴とする請求項1乃至7何れか1項に記載の管理装置。
  9. 複数の端末を管理する管理装置に接続され管理されている端末であって、
    前記管理装置が判定した、アプリケーションがエラーを起こす条件を受信する受信手段と、
    前記エラーを起こす条件を満たすアプリケーションの表示形態を変更して表示させる表示制御手段と、
    を備えることを特徴とするアプリケーション実行端末。
  10. 複数の端末を管理する管理装置に接続され管理されている端末であって、
    前記管理装置が判定した、アプリケーションがエラーを起こす条件を受信する受信手段と、
    前記エラーを起こす条件を満たすアプリケーションの起動の指示を受けると、エラーを起こす条件を満たしていることに基づくメッセージを表示させる表示制御手段と、
    を備えることを特徴とするアプリケーション実行端末。
  11. 複数の端末を管理する管理装置に接続され管理されている端末であって、
    自端末にインストールされているアプリケーションの情報を管理する管理手段と、
    前記管理装置から、前記アプリケーションのエラー情報と前記アプリケーションがインストールされた複数の端末に関する情報とを受信する受信手段と、
    前記エラー情報と前記複数の端末に関する情報と前記アプリケーションの情報とに基づいて、前記アプリケーションがエラーを起こす条件を判定する判定手段と、
    前記アプリケーションのうち、前記エラーを起こす条件を満たすアプリケーションの表示形態を変更して表示させる表示制御手段と、
    を備えることを特徴とするアプリケーション実行端末。
  12. 複数の端末を管理する管理装置に接続され管理されている端末であって、
    自端末にインストールされているアプリケーションの情報を管理する管理手段と、
    前記管理装置から、前記アプリケーションのエラー情報と前記アプリケーションがインストールされた複数の端末に関する情報とを受信する受信手段と、
    前記エラー情報と前記複数の端末に関する情報と前記アプリケーションの情報とに基づいて、前記アプリケーションがエラーを起こす条件を判定する判定手段と、
    前記アプリケーションのうち、前記エラーを起こす条件を満たすアプリケーションの起動の指示を受けると、エラーを起こす条件を満たしていることに基づくメッセージを表示させる表示制御手段と、
    を備えることを特徴とするアプリケーション実行端末。
  13. 前記表示制御手段は、前記アプリケーションのうち、前記エラーを起こす条件を満たすアプリケーションの表示形態を前記管理装置から送信された当該条件に基づいて変更して表示させることを特徴とする請求項9または11何れかに記載のアプリケーション実行端末。
  14. 前記表示制御手段は、アンインストールを提案するメッセージを表示させることを特徴とする請求項10または12何れかに記載のアプリケーション実行端末。
  15. 前記受信手段では、前記エラーを起こす条件を満たすアプリケーションの修正版が存在を示す情報を含めて受信し、
    前記表示制御手段は、前記アプリケーションの修正版へのアップデートを提案するメッセージを表示させることを特徴とする請求項10に記載のアプリケーション実行端末。
  16. アプリケーション実行端末と前記アプリケーション実行端末が接続可能な管理装置とから構成されるアプリケーション管理システムであって、
    前記管理装置は、
    アプリケーションをインストールした複数の端末から前記アプリケーションのエラー情報を受信する受信手段と、
    前記複数の端末に関する情報と、前記複数の端末にインストールされた前記アプリケーションの情報とを管理する管理手段と、
    前記エラー情報と前記複数の端末に関する情報と前記アプリケーションの情報とに基づいて、前記アプリケーションがエラーを起こす条件を判定する判定手段と、
    インストールされた前記アプリケーションがエラーを起こす条件を満たしていることを示す情報を、前記複数の端末のうち当該条件を満たす端末に送信する送信手段と、を備え、
    前記アプリケーション実行端末は、
    前記管理装置が判定した、アプリケーションがエラーを起こす条件を受信する受信手段と、
    前記エラーを起こす条件を満たすアプリケーションの表示形態を変更して表示させる表示制御手段と、
    を備えることを特徴とするアプリケーション管理システム。
  17. アプリケーション実行端末と前記アプリケーション実行端末が接続可能な管理装置とから構成されるアプリケーション管理システムであって、
    前記管理装置は、
    アプリケーションをインストールした複数の端末から前記アプリケーションのエラー情報を受信する受信手段と、
    前記複数の端末に関する情報と、前記複数の端末にインストールされた前記アプリケーションの情報とを管理する管理手段と、
    前記エラー情報と前記複数の端末に関する情報と前記アプリケーションの情報とに基づいて、前記アプリケーションがエラーを起こす条件を判定する判定手段と、
    インストールされた前記アプリケーションがエラーを起こす条件を満たしていることを示す情報を、前記複数の端末のうち当該条件を満たす端末に送信する送信手段と、を備え、
    前記アプリケーション実行端末は、
    前記管理装置が判定した、アプリケーションがエラーを起こす条件を受信する受信手段と、
    前記エラーを起こす条件を満たすアプリケーションの起動の指示を受けると、エラーを起こす条件を満たしていることに基づくメッセージを表示させる表示制御手段と、
    を備えることを特徴とするアプリケーション管理システム。
  18. 接続可能な複数の端末を管理する管理装置を制御するアプリケーション管理方法であって、
    アプリケーションをインストールした複数の端末から前記アプリケーションのエラー情報を受信する受信工程と、
    前記複数の端末に関する情報と、前記複数の端末にインストールされた前記アプリケーションの情報とを管理する管理手段の作成工程と、
    前記エラー情報と前記複数の端末に関する情報と前記アプリケーションの情報とに基づいて、前記アプリケーションがエラーを起こす条件を判定する判定工程と、
    インストールされた前記アプリケーションがエラーを起こす条件を満たしていることを示す情報を、前記複数の端末のうち当該条件を満たす端末に送信する送信工程と、
    を備えることを特徴とするアプリケーション管理方法。
  19. 複数の端末を管理する管理装置に接続され管理されている端末の制御方法であって、
    前記管理装置が判定した、アプリケーションがエラーを起こす条件を受信する受信工程と、
    前記エラーを起こす条件を満たすアプリケーションの表示形態を変更して表示させる表示制御工程と、
    を備えることを特徴とするアプリケーション実行端末の制御方法。
  20. 複数の端末を管理する管理装置に接続され管理されている端末の制御方法であって、
    前記管理装置が判定した、アプリケーションがエラーを起こす条件を受信する受信工程と、
    前記エラーを起こす条件を満たすアプリケーションの起動の指示を受けると、エラーを起こす条件を満たしていることに基づくメッセージを表示させる表示制御工程と、
    を備えることを特徴とするアプリケーション実行端末の制御方法。
  21. 複数の端末を管理する管理装置に接続され管理されている端末であって、
    自端末にインストールされているアプリケーションの情報を管理する管理手段の作成工程と、
    前記管理装置から、前記アプリケーションのエラー情報と前記アプリケーションがインストールされた複数の端末に関する情報とを受信する受信工程と、
    前記エラー情報と前記複数の端末に関する情報と前記アプリケーションの情報とに基づいて、前記アプリケーションがエラーを起こす条件を判定する判定工程と、
    前記アプリケーションのうち、前記エラーを起こす条件を満たすアプリケーションの表示形態を変更して表示させる表示制御工程と、
    を備えることを特徴とするアプリケーション実行端末の制御方法。
  22. 複数の端末を管理する管理装置に接続され管理されている端末の制御方法であって、
    自端末にインストールされているアプリケーションの情報を管理する管理手段の作成工程と、
    前記管理装置から、前記アプリケーションのエラー情報と前記アプリケーションがインストールされた複数の端末に関する情報とを受信する受信工程と、
    前記エラー情報と前記複数の端末に関する情報と前記アプリケーションの情報とに基づいて、前記アプリケーションがエラーを起こす条件を判定する判定工程と、
    前記アプリケーションのうち、前記エラーを起こす条件を満たすアプリケーションの起動の指示を受けると、エラーを起こす条件を満たしていることに基づくメッセージを表示させる表示制御工程と、
    を備えることを特徴とするアプリケーション実行端末の制御方法。
  23. コンピュータを、
    接続可能な複数の端末を管理する管理装置であって、
    アプリケーションをインストールした複数の端末から前記アプリケーションのエラー情報を受信する受信手段と、
    前記複数の端末に関する情報と、前記複数の端末にインストールされた前記アプリケーションの情報とを管理する管理手段と、
    前記エラー情報と前記複数の端末に関する情報と前記アプリケーションの情報とに基づいて、前記アプリケーションがエラーを起こす条件を判定する判定手段と、
    インストールされた前記アプリケーションがエラーを起こす条件を満たしていることを示す情報を、前記複数の端末のうち当該条件を満たす端末に送信する送信手段と、
    として機能させるためのプログラム。
  24. コンピュータを、
    複数の端末を管理する管理装置に接続され管理されている端末であって、
    前記管理装置が判定した、アプリケーションがエラーを起こす条件を受信する受信手段と、
    前記エラーを起こす条件を満たすアプリケーションの表示形態を変更して表示させる表示制御手段と、
    として機能させるためのプログラム。
  25. コンピュータを、
    複数の端末を管理する管理装置に接続され管理されている端末であって、
    前記管理装置が判定した、アプリケーションがエラーを起こす条件を受信する受信手段と、
    前記エラーを起こす条件を満たすアプリケーションの起動の指示を受けると、エラーを起こす条件を満たしていることに基づくメッセージを表示させる表示制御手段と、
    として機能させるためのプログラム。
  26. コンピュータを、
    複数の端末を管理する管理装置に接続され管理されている端末であって、
    自端末にインストールされているアプリケーションの情報を管理する管理手段と、
    前記管理装置から、前記アプリケーションのエラー情報と前記アプリケーションがインストールされた複数の端末に関する情報とを受信する受信手段と、
    前記エラー情報と前記複数の端末に関する情報と前記アプリケーションの情報とに基づいて、前記アプリケーションがエラーを起こす条件を判定する判定手段と、
    前記アプリケーションのうち、前記エラーを起こす条件を満たすアプリケーションの表示形態を変更して表示させる表示制御手段と、
    として機能させるためのプログラム。
  27. コンピュータを、
    複数の端末を管理する管理装置に接続され管理されている端末であって、
    自端末にインストールされているアプリケーションの情報を管理する管理手段と、
    前記管理装置から、前記アプリケーションのエラー情報と前記アプリケーションがインストールされた複数の端末に関する情報とを受信する受信手段と、
    前記エラー情報と前記複数の端末に関する情報と前記アプリケーションの情報とに基づいて、前記アプリケーションがエラーを起こす条件を判定する判定手段と、
    前記アプリケーションのうち、前記エラーを起こす条件を満たすアプリケーションの起動の指示を受けると、エラーを起こす条件を満たしていることに基づくメッセージを表示させる表示制御手段と、
    として機能させるためのプログラム。
JP2012197267A 2012-09-07 2012-09-07 アプリケーション管理システム、管理装置、アプリケーション実行端末、アプリケーション管理方法、アプリケーション実行端末の制御方法及びプログラム Active JP5972121B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012197267A JP5972121B2 (ja) 2012-09-07 2012-09-07 アプリケーション管理システム、管理装置、アプリケーション実行端末、アプリケーション管理方法、アプリケーション実行端末の制御方法及びプログラム
US14/018,196 US9753837B2 (en) 2012-09-07 2013-09-04 Application management system, management apparatus, application execution terminal, application management method, application execution terminal control method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012197267A JP5972121B2 (ja) 2012-09-07 2012-09-07 アプリケーション管理システム、管理装置、アプリケーション実行端末、アプリケーション管理方法、アプリケーション実行端末の制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2014052867A true JP2014052867A (ja) 2014-03-20
JP5972121B2 JP5972121B2 (ja) 2016-08-17

Family

ID=50234640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012197267A Active JP5972121B2 (ja) 2012-09-07 2012-09-07 アプリケーション管理システム、管理装置、アプリケーション実行端末、アプリケーション管理方法、アプリケーション実行端末の制御方法及びプログラム

Country Status (2)

Country Link
US (1) US9753837B2 (ja)
JP (1) JP5972121B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015197866A (ja) * 2014-04-02 2015-11-09 株式会社イープラス スマホアプリ受取りチケットをダウンロードする方法およびシステム
KR101626581B1 (ko) * 2015-03-04 2016-06-01 삼성전자서비스 주식회사 휴대통신 단말의 오류 애플리케이션 진단방법
WO2016126864A1 (en) * 2015-02-03 2016-08-11 Uber Technologies, Inc. System and method for introducing functionality to an application for use with a network service
JP2017161961A (ja) * 2016-03-07 2017-09-14 三菱電機株式会社 管理システム、管理装置、管理方法およびプログラム
JP2018028842A (ja) * 2016-08-19 2018-02-22 株式会社リコー 情報処理装置、情報処理方法、及び情報処理プログラム
US10158528B2 (en) 2015-10-13 2018-12-18 Uber Technologies, Inc. Application service configuration system
JP2020030628A (ja) * 2018-08-23 2020-02-27 富士通株式会社 監視システム、監視方法および監視プログラム
US10977105B2 (en) 2018-12-14 2021-04-13 Uber Technologies, Inc. Memory crash prevention for a computing device
US11533226B2 (en) 2015-10-13 2022-12-20 Uber Technologies, Inc. Application service configuration system
US11671791B2 (en) 2015-07-10 2023-06-06 Uber Technologies, Inc. Selecting a messaging protocol for transmitting data in connection with a location-based service
US12010192B2 (en) 2014-03-31 2024-06-11 Uber Technologies, Inc. Adjusting attributes for an on-demand service system based on real-time information

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2497777A (en) * 2011-12-21 2013-06-26 Ibm Diagnostic file containing an image of a system section or a summarized error report of the section.
KR102225404B1 (ko) * 2014-05-23 2021-03-09 삼성전자주식회사 디바이스 정보를 이용하는 음성인식 방법 및 장치
JP2016110162A (ja) * 2014-12-01 2016-06-20 富士通株式会社 情報処理装置、情報処理システム及び監視方法
US10235150B2 (en) * 2014-12-04 2019-03-19 Google Technology Holdings LLC System and methods for touch pattern detection and user interface adaptation
US10379999B2 (en) 2016-01-11 2019-08-13 Oracle International Corporation Duplicate bug report detection using machine learning algorithms and automated feedback incorporation
GB2546120B (en) 2016-02-09 2018-02-14 Spatialbuzz Ltd Fault monitoring in a utility supply network
GB2546118B (en) * 2016-02-09 2018-11-14 Spatialbuzz Ltd Fault monitoring by assessing spatial distribution of queries in a utility supply network
US10922203B1 (en) * 2018-09-21 2021-02-16 Nvidia Corporation Fault injection architecture for resilient GPU computing
JP2022059531A (ja) * 2020-10-01 2022-04-13 キヤノン株式会社 ネットワークデバイス、方法およびプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049219A (ja) * 1996-08-02 1998-02-20 Mitsubishi Electric Corp 障害発生回避装置
JP2006099596A (ja) * 2004-09-30 2006-04-13 Fujitsu Ltd 障害情報事前通知プログラム、及び障害情報事前通知処理装置
JP2007025820A (ja) * 2005-07-12 2007-02-01 Hitachi Software Eng Co Ltd ソフトウェアのリスク診断プログラム
JP2010128581A (ja) * 2008-11-25 2010-06-10 Hitachi Ltd 予防保守装置および予防保守方法
US20110197099A1 (en) * 2007-01-15 2011-08-11 Microsoft Corporation Objective assessment of application crashes from a customer environment
JP2012151659A (ja) * 2011-01-19 2012-08-09 Alpine Electronics Inc 車載機器

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3634614B2 (ja) 1998-02-17 2005-03-30 富士通株式会社 通信システムおよび通信装置
JP2002014880A (ja) 2000-06-28 2002-01-18 Sony Corp 素材送出装置および素材送出方法
JP2002049434A (ja) 2000-08-04 2002-02-15 Sharp Corp アプリケーションの管理方法、ネットワーク管理センター、端末、アプリケーション管理システム、およびアプリケーションの管理プログラムを格納したコンピュータ読み取り可能な記録媒体
US20040153692A1 (en) * 2001-12-28 2004-08-05 O'brien Michael Method for managing faults it a computer system enviroment
JP4165123B2 (ja) 2002-05-31 2008-10-15 カシオ計算機株式会社 情報処理装置及びプログラム
US7865888B1 (en) * 2004-12-21 2011-01-04 Zenprise, Inc. Systems and methods for gathering deployment state for automated management of software application deployments
JP2006243911A (ja) 2005-03-01 2006-09-14 Canon Inc サーバ装置およびデータ処理装置およびデータ処理方法および記憶媒体
US20090013317A1 (en) * 2007-02-08 2009-01-08 Airnet Communications Corporation Software Management for Software Defined Radio in a Distributed Network
JP5161736B2 (ja) * 2008-11-18 2013-03-13 株式会社東芝 障害診断プログラム、方法、および通信装置
JP5263028B2 (ja) * 2009-06-24 2013-08-14 ソニー株式会社 番組送出制御システムおよび番組送出制御プログラム
US20120291102A1 (en) * 2011-05-09 2012-11-15 Google Inc. Permission-based administrative controls
US20120291103A1 (en) * 2011-05-09 2012-11-15 Google Inc. Permission-based administrative controls
JP5786535B2 (ja) * 2011-08-08 2015-09-30 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体
US20140109176A1 (en) * 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049219A (ja) * 1996-08-02 1998-02-20 Mitsubishi Electric Corp 障害発生回避装置
JP2006099596A (ja) * 2004-09-30 2006-04-13 Fujitsu Ltd 障害情報事前通知プログラム、及び障害情報事前通知処理装置
JP2007025820A (ja) * 2005-07-12 2007-02-01 Hitachi Software Eng Co Ltd ソフトウェアのリスク診断プログラム
US20110197099A1 (en) * 2007-01-15 2011-08-11 Microsoft Corporation Objective assessment of application crashes from a customer environment
JP2010128581A (ja) * 2008-11-25 2010-06-10 Hitachi Ltd 予防保守装置および予防保守方法
JP2012151659A (ja) * 2011-01-19 2012-08-09 Alpine Electronics Inc 車載機器

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12010192B2 (en) 2014-03-31 2024-06-11 Uber Technologies, Inc. Adjusting attributes for an on-demand service system based on real-time information
JP2015197866A (ja) * 2014-04-02 2015-11-09 株式会社イープラス スマホアプリ受取りチケットをダウンロードする方法およびシステム
US11080117B2 (en) 2015-02-03 2021-08-03 Uber Technologies, Inc. System and method for introducing functionality to an application for use with a network service
WO2016126864A1 (en) * 2015-02-03 2016-08-11 Uber Technologies, Inc. System and method for introducing functionality to an application for use with a network service
US9575837B2 (en) 2015-02-03 2017-02-21 Uber Technologies, Inc. System and method for introducing functionality to an application for use with a network service
US10228989B2 (en) 2015-02-03 2019-03-12 Uber Technologies, Inc. System and method for introducing functionality to an application for use with a network service
KR101626581B1 (ko) * 2015-03-04 2016-06-01 삼성전자서비스 주식회사 휴대통신 단말의 오류 애플리케이션 진단방법
US11671791B2 (en) 2015-07-10 2023-06-06 Uber Technologies, Inc. Selecting a messaging protocol for transmitting data in connection with a location-based service
US10158528B2 (en) 2015-10-13 2018-12-18 Uber Technologies, Inc. Application service configuration system
US11881994B2 (en) 2015-10-13 2024-01-23 Uber Technologies, Inc. Application service configuration system
US10917297B2 (en) 2015-10-13 2021-02-09 Uber Technologies, Inc. Application service configuration system
US11533226B2 (en) 2015-10-13 2022-12-20 Uber Technologies, Inc. Application service configuration system
JP2017161961A (ja) * 2016-03-07 2017-09-14 三菱電機株式会社 管理システム、管理装置、管理方法およびプログラム
US10922108B2 (en) 2016-08-19 2021-02-16 Ricoh Company, Ltd. Information processing apparatus, method for processing information, and information processing program
JP2018028842A (ja) * 2016-08-19 2018-02-22 株式会社リコー 情報処理装置、情報処理方法、及び情報処理プログラム
JP2020030628A (ja) * 2018-08-23 2020-02-27 富士通株式会社 監視システム、監視方法および監視プログラム
US11379283B2 (en) 2018-12-14 2022-07-05 Uber Technologies, Inc. Memory crash prevention for a computing device
US10977105B2 (en) 2018-12-14 2021-04-13 Uber Technologies, Inc. Memory crash prevention for a computing device
US11687389B2 (en) 2018-12-14 2023-06-27 Uber Technologies, Inc. Memory crash prevention for a computing device

Also Published As

Publication number Publication date
US20140075244A1 (en) 2014-03-13
JP5972121B2 (ja) 2016-08-17
US9753837B2 (en) 2017-09-05

Similar Documents

Publication Publication Date Title
JP5972121B2 (ja) アプリケーション管理システム、管理装置、アプリケーション実行端末、アプリケーション管理方法、アプリケーション実行端末の制御方法及びプログラム
US20170309084A1 (en) Method and system for offline attendance processing
US8799355B2 (en) Client server application manager
KR20100031574A (ko) 컴퓨터 네트워크에서의 시스템 비가동 시간 자동 관리
CN108551399B (zh) 一种云环境下服务的部署方法、系统及相关装置
US20200183881A1 (en) Computerized systems and methods for distributed file collection and processing
US10404568B2 (en) Agent manager for distributed transaction monitoring system
EP2847944A1 (en) Transmitting and displaying offline data
US10445217B2 (en) Service regression detection using real-time anomaly detection of application performance metrics
US10491461B2 (en) Information processing apparatus and method
KR20080086452A (ko) 자동화된 디바이스 블로그 생성을 위한 웹 기반 시스템,컴퓨터로 구현된 방법 및 컴퓨터 판독가능 매체
JP2016076161A (ja) 管理システム及び情報処理方法
JP2018026049A (ja) 情報処理装置、情報処理方法およびプログラム
US11086919B2 (en) Service regression detection using real-time anomaly detection of log data
US10432490B2 (en) Monitoring single content page application transitions
CN102708117B (zh) 文档管理装置和文档管理系统
US20160321173A1 (en) Automatic garbage collection thrashing monitoring
US10389818B2 (en) Monitoring a network session
KR101422184B1 (ko) 컴퓨터 실행 가능한 사용 패턴 모니터링 방법, 이를 수행하는 모니터링 서버 및 이를 저장하는 기록매체
JP2017102847A (ja) 情報処理システム、中継装置、方法およびプログラム
JP2017037469A (ja) 情報処理システム、優先処理方法、情報処理装置及びプログラム
CN117176613B (zh) 一种数据采集方法和装置
US9942361B2 (en) Reporting page composition data
JP2009139982A (ja) 作業管理システム、作業管理プログラム、および管理サーバ
US20150149601A1 (en) Computer Implemented System for Collecting Usage Statistics for IT Systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160519

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: 20160614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160712

R151 Written notification of patent or utility model registration

Ref document number: 5972121

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151