(57)【特許請求の範囲】
【請求項１】
携帯端末とサーバとを備えた携帯端末の不具合調査システムであって、
前記携帯端末は、
サブルーチンのアドレスを管理するテーブルが保存されたＲＯＭと、
ＲＡＭと、
前記サーバから調査用プログラムと該調査用プログラムの実行情報とを受信した時に、該調査用プログラムと該調査用プログラムの実行情報とを保存するとともに調査用プログラムがあることを示すデータを設定し、
ソフトウェア実行時に、前記テーブルを前記ＲＯＭから前記ＲＡＭにコピーするとともに前記調査用プログラムがあることを示すデータが設定されているか否かを確認し、
設定されていない場合は、前記コピーしたテーブルのアドレスを参照して各プログラムをサブルーチンコールして実行し、
設定されている場合は、前記受信した実行情報を元に前記コピーしたテーブルのアドレスを前記調査用プログラムが機能するように変更し、該変更したテーブルに含まれているアドレスを参照して前記調査用プログラムをサブルーチンコールして実行し、前記調査用プログラムを実行することにより得られた調査結果を前記サーバに送信する制御部と、を備え、
前記サーバは、
複数の調査用プログラムが格納された調査用プログラムデータベースと、調査結果データベースと、を少なくとも含む記憶装置と、
所定の調査用プログラムを前記調査用プログラムデータベースから抽出して実行情報とともに前記携帯端末に送信し、該送信した調査用プログラムおよび実行情報についての調査結果を前記携帯端末から受信した場合、該受信した調査結果を前記調査結果データベースに登録する制御部と、を備え、
前記調査用プログラムは、前記ソフトウェアに調査用の処理が追加されたプログラムである、
携帯端末の不具合調査システム。
【請求項２】
前記コピーしたテーブルのアドレスを前記調査用プログラムの開始アドレスに書き換えることにより、サブルーチンコールされて実行される請求項１記載の携帯端末の不具合調査システム。
【請求項３】
前記携帯端末は、不揮発性メモリをさらに備え、前記サーバから調査用プログラムおよび実行情報を受信した場合、該受信した調査用プログラムおよび実行情報を前記不揮発性メモリに記録し、他のプログラムの割り込みを禁止した後、前記調査用プログラムを前記不揮発性メモリから前記ＲＡＭにコピーして実行する、請求項１または２記載の携帯端末の不具合調査システム。
【請求項４】
前記サーバは、特定のコードで始まるメールに前記抽出した調査用プログラムおよび実行情報を含めて前記携帯端末に送信し、前記携帯端末からメールを受信した場合、該受信したメールから前記調査結果を抽出して前記データベースに登録し、
前記携帯端末は、メールに前記取得した調査結果を含めて前記サーバに送信し、特定のコードで始まるメールを受信した場合、該特定のコードで始まるメールから調査用プログラムおよび実行情報を抽出して前記不揮発メモリに記録する、
請求項３記載の携帯端末の不具合調査システム。
【請求項５】
前記携帯端末は、前記ソフトウェアの不具合を検出した場合、該不具合に関する不具合情報を前記サーバに送信し、
前記サーバの記憶装置には、前記調査用プログラムが前記不具合情報に対応付けられて登録され、
前記サーバは、前記携帯端末から前記不具合情報を受信した場合、該受信した不具合情報に対応付けられた調査用プログラムを前記記憶装置から抽出して前記携帯端末に送信する、請求項１乃至４のいずれか１項記載の携帯端末の不具合調査システム。
【請求項６】
前記携帯端末は、状態管理エラー、関数コール時のエラー、フリーズ状態を、前記ソフトウェアの不具合として検出する請求項５記載の携帯端末の不具合調査システム。
【請求項７】
前記サーバの記憶装置には、さらに、前記不具合情報に対応付けられた複数の書き換え用ソフトウェアが登録され、
前記サーバは、前記携帯端末から前記不具合に関する情報を受信した場合、該受信した不具合情報を前記記憶装置から検索し、該検索した不具合情報が書き換え用ソフトウェアに対応付けられている場合、該書き換え用ソフトウェアを前記携帯端末に送信し、
前記携帯端末は、前記サーバから前記書き換え用ソフトウェアを受信した場合、該書き換え用ソフトウェアを実行する、請求項５または６記載の携帯端末の不具合調査システム。
【請求項８】
前記サーバは、前記携帯端末から受信した不具合情報が前記記憶装置に登録されていない場合、該不具合情報を所定の担当者端末に送信し、
前記担当者端末から前記送信した不具合情報に関する調査用プログラムが返信された場合、該返信された調査用プログラムを前記送信した不具合情報と対応付けて前記記憶装置に登録するとともに、前記返信された調査用プログラムを前記携帯端末に送信し、
前記携帯端末から前記調査結果を受信した場合、該受信した調査結果を前記担当者端末へ送信する、
請求項５乃至７のいずれか１項記載の携帯端末の不具合調査システム。
【請求項９】
サーバと通信を行う携帯端末であって、
サブルーチンのアドレスを管理するテーブルが保存されたＲＯＭと、
ＲＡＭと、
前記サーバから調査用プログラムと該調査用プログラムの実行情報とを受信した時に、該調査用プログラムと該調査用プログラムの実行情報とを保存するとともに調査用プログラムがあることを示すデータを設定し、
ソフトウェア実行時に、前記テーブルを前記ＲＯＭから前記ＲＡＭにコピーするとともに前記調査用プログラムがあることを示すデータが設定されているか否かを確認し、
設定されていない場合は、前記コピーしたテーブルのアドレスを参照して各プログラムをサブルーチンコールして実行し、
設定されている場合は、前記受信した実行情報を元に前記コピーしたテーブルのアドレスを前記調査用プログラムが機能するように変更し、該変更したテーブルに含まれているアドレスを参照して前記調査用プログラムをサブルーチンコールして実行し、前記調査用プログラムを実行することにより得られた調査結果を前記サーバに送信する制御部と、
を備え、
前記調査用プログラムは、前記ソフトウェアに調査用の処理が追加されたプログラムである、
た携帯端末。
【請求項１０】
前記制御部は、状態管理エラー、関数コール時のエラー、フリーズ状態を検出した場合、検出した内容を不具合情報として前記サーバに送信する、請求項９記載の携帯端末。
【請求項１１】
前記制御部は、前記サーバから書き換え用ソフトウェアを受信した場合、該書き換え用ソフトウェアを実行する、請求項９または１０記載の携帯端末。
【請求項１２】
ソフトウェアのアドレスを記載したテーブルが保存されたＲＯＭおよびＲＡＭを備えた携帯端末と、複数の調査用プログラムが格納された調査用プログラムデータベースと、調査結果データベースと、を少なくとも含む記憶装置を備えたサーバと、を用いた携帯端末の不具合調査方法であって、
所定の調査用プログラムを前記調査用プログラムデータベースから抽出して実行情報とともに前記携帯端末に送信し、
前記調査用プログラムと該調査用プログラムの実行情報とを受信した時に、該調査用プログラムと該調査用プログラムの実行情報とを保存するとともに調査用プログラムがあることを示すデータを設定し、
ソフトウェア実行時に、前記テーブルを前記ＲＯＭから前記ＲＡＭにコピーするとともに前記調査用プログラムがあることを示すデータが設定されているか否かを確認し、設定されていない場合は、前記コピーしたテーブルのアドレスを参照して各プログラムをサブルーチンコールして実行し、設定されている場合は、前記受信した実行情報を元に前記コピーしたテーブルのアドレスを前記調査用プログラムが機能するように変更し、該変更したテーブルに含まれているアドレスを参照して前記調査用プログラムをサブルーチンコールして実行し、前記調査用プログラムを実行することにより得られた調査結果を前記サーバに送信し、
前記携帯端末から前記送信した調査用プログラムおよび実行情報についての調査結果を受信した場合、該受信した調査結果を前記調査結果データベースに登録し、
前記調査用プログラムは、前記ソフトウェアに調査用の処理が追加されたプログラムである、
携帯端末の不具合調査方法。
【請求項１３】
前記サーバの記憶装置には、前記調査用プログラムが不具合情報に対応付けられて登録され、
前記ソフトウェアの不具合を検出した場合、該不具合に関する不具合情報を前記サーバに送信し、
前記携帯端末から前記不具合情報を受信した場合、該受信した不具合情報に対応付けられた調査用プログラムを前記記憶装置から抽出して前記携帯端末に送信する、請求項１２記載の携帯端末の不具合調査方法。
【請求項１４】
前記サーバの記憶装置には、さらに、前記不具合情報に対応付けられた複数の書き換え用ソフトウェアが登録され、
前記携帯端末から前記不具合に関する情報を受信した場合、該受信した不具合情報を前記記憶装置から検索し、該検索した不具合情報が書き換え用ソフトウェアに対応付けられている場合、該書き換え用ソフトウェアを前記携帯端末に送信し、
前記サーバから前記書き換え用ソフトウェアを受信した場合、該書き換え用ソフトウェアを実行する、請求項１２または１３記載の携帯端末の不具合調査方法。
【請求項１５】
前記携帯端末から受信した不具合情報が前記記憶装置に登録されていない場合、該不具合情報を所定の担当者端末に送信し、
前記担当者端末から前記送信した不具合情報に関する調査用プログラムが返信された場合、該返信された調査用プログラムを前記送信した不具合情報と対応付けて前記記憶装置に登録するとともに、前記返信された調査用プログラムを前記携帯端末に送信し、
前記携帯端末から前記調査結果を受信した場合、該受信した調査結果を前記担当者端末へ送信する、
請求項１２乃至１４のいずれか１項記載の携帯端末の不具合調査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯電話機等の携帯端末における不具合を調査する携帯端末の不具合調査システム，方法，携帯端末およびプログラムに関する。
【背景技術】
【０００２】
携帯端末の不具合に関する従来の技術としては、例えば、特開２０００−３０８１３８号公報（特許文献１）に記載の通信システムがある。この特許文献１には、携帯電話機の制御ソフトにバグがあることをユーザが認識したときに通信網に送信要求し、通信網から受信した新しい制御ソフトに切換えて運用することが開示されている。
【０００３】
また、他の従来の技術としては、例えば、特開２００３−１７９５４１号公報（特許文献２）に記載の携帯電話端末障害通知システムがある。この特許文献２には、携帯電話端末の障害発生時に障害解析用の情報をソフトウェア不具合解析サーバに送信し、ソフトウェア不具合解析サーバはこれら情報を基に障害情報をまとめて開発者サーバに通知することが開示されている。
【０００４】
【特許文献１】特開２０００−３０８１３８号公報（段落「００２９」〜「００３１」、図１）
【特許文献２】特開２００３−１７９５４１号公報（段落「００２２」〜「００２５」、図１、図３）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１に記載の発明は、携帯電話機の制御ソフトのバグをユーザが認識し、更にバグを解消した新しい制御ソフトが存在するという前提での発明となっている。従って、原因が分からない携帯電話機の制御ソフトの不具合が発生した場合については、何ら考慮されていない。
【０００６】
また、特許文献２においては、携帯端末が障害時に障害解析用の情報をソフトウェア不具合解析サーバを介して開発者サーバに報告することが記載されている。従って、携帯端末からの障害報告を受信した後は、全て開発者による障害解析に委ねられ、それ以上のアクションはとられていない。例えば、ソフトウェア不具合解析サーバが更に詳細な解析を行うための調査用プログラムを携帯端末に送信して調査結果を受信したり、該当障害を解決するソフトウェアがある場合に携帯端末に送信する、といった対応がとられておらず、不具合解決の効率化に難があるという問題がある。
【０００７】
本発明は、以上の問題の少なくともいずれかを解決する携帯端末の不具合調査システム，方法，携帯端末およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の携帯端末の不具合調査システムは、携帯端末とサーバとを備えた携帯端末の不具合調査システムであって、前記携帯端末は、サブルーチンのアドレスを管理するテーブルが保存されたＲＯＭと、ＲＡＭと、前記サーバから調査用プログラムと該調査用プログラムの実行情報とを受信した時に、該調査用プログラムと該調査用プログラムの実行情報とを保存するとともに調査用プログラムがあることを示すデータを設定し、ソフトウェア実行時に、前記テーブルを前記ＲＯＭから前記ＲＡＭにコピーするとともに前記調査用プログラムがあることを示すデータが設定されているか否かを確認し、設定されていない場合は、前記コピーしたテーブルのアドレスを参照して各プログラムをサブルーチンコールして実行し、設定されている場合は、前記受信した実行情報を元に前記コピーしたテーブルのアドレスを前記調査用プログラムが機能するように変更し、該変更したテーブルに含まれているアドレスを参照して前記調査用プログラムをサブルーチンコールして実行し、前記調査用プログラムを実行することにより得られた調査結果を前記サーバに送信する制御部と、を備え、前記サーバは、複数の調査用プログラムが格納された調査用プログラムデータベースと、調査結果データベースと、を少なくとも含む記憶装置と、所定の調査用プログラムを前記調査用プログラムデータベースから抽出して実行情報とともに前記携帯端末に送信し、該送信した調査用プログラムおよび実行情報についての調査結果を前記携帯端末から受信した場合、該受信した調査結果を前記調査結果データベースに登録する制御部と、を備える。ここで、前記調査用プログラムは、前記ソフトウェアに調査用の処理が追加されたプログラムである。
【０００９】
本発明の第２の携帯端末の不具合調査システムは、本発明の第１の携帯端末の不具合調査システムにおいて、前記コピーしたテーブルのアドレスを前記調査用プログラムの開始アドレスに書き換えることにより、サブルーチンコールされて実行される。
【００１０】
本発明の第３の携帯端末の不具合調査システムは、本発明の第１または第２の携帯端末の不具合調査システムにおいて、前記携帯端末は、不揮発性メモリをさらに備え、前記サーバから調査用プログラムおよび実行情報を受信した場合、該受信した調査用プログラムおよび実行情報を前記不揮発性メモリに記録し、他のプログラムの割り込みを禁止した後、前記調査用プログラムを前記不揮発性メモリから前記ＲＡＭにコピーして実行する。
【００１１】
本発明の第４の携帯端末の不具合調査システムは、本発明の第３の携帯端末の不具合調査システムにおいて、前記サーバは、特定のコードで始まるメールに前記抽出した調査用プログラムおよび実行情報を含めて前記携帯端末に送信し、前記携帯端末からメールを受信した場合、該受信したメールから前記調査結果を抽出して前記データベースに登録し、
前記携帯端末は、メールに前記取得した調査結果を含めて前記サーバに送信し、特定のコードで始まるメールを受信した場合、該特定のコードで始まるメールから調査用プログラムおよび実行情報を抽出して前記不揮発メモリに記録する。
【００１２】
本発明の第５の携帯端末の不具合調査システムは、本発明の第１，第２，第３または第４の携帯端末の不具合調査システムにおいて、前記携帯端末は、前記ソフトウェアの不具合を検出した場合、該不具合に関する不具合情報を前記サーバに送信し、
前記サーバの記憶装置には、前記調査用プログラムが前記不具合情報に対応付けられて登録され、
前記サーバは、前記携帯端末から前記不具合情報を受信した場合、該受信した不具合情報に対応付けられた調査用プログラムを前記記憶装置から抽出して前記携帯端末に送信する。
【００１３】
本発明の第６の携帯端末の不具合調査システムは、本発明の第５の携帯端末の不具合調査システムにおいて、前記携帯端末は、状態管理エラー、関数コール時のエラー、フリーズ状態を、前記ソフトウェアの不具合として検出する。
【００１４】
本発明の第７の携帯端末の不具合調査システムは、本発明の第５または第６の携帯端末の不具合調査システムにおいて、前記サーバの記憶装置には、さらに、前記不具合情報に対応付けられた複数の書き換え用ソフトウェアが登録され、
前記サーバは、前記携帯端末から前記不具合に関する情報を受信した場合、該受信した不具合情報を前記記憶装置から検索し、該検索した不具合情報が書き換え用ソフトウェアに対応付けられている場合、該書き換え用ソフトウェアを前記携帯端末に送信し、
前記携帯端末は、前記サーバから前記書き換え用ソフトウェアを受信した場合、該書き換え用ソフトウェアを実行する。
【００１５】
本発明の第８の携帯端末の不具合調査システムは、本発明の第５，第６または第７の携帯端末の不具合調査システムにおいて、前記サーバは、前記携帯端末から受信した不具合情報が前記記憶装置に登録されていない場合、該不具合情報を所定の担当者端末に送信し、
前記担当者端末から前記送信した不具合情報に関する調査用プログラムが返信された場合、該返信された調査用プログラムを前記送信した不具合情報と対応付けて前記記憶装置に登録するとともに、前記返信された調査用プログラムを前記携帯端末に送信し、
前記携帯端末から前記調査結果を受信した場合、該受信した調査結果を前記担当者端末へ送信する。
【００１６】
本発明の第１の携帯端末は、サーバと通信を行う携帯端末であって、サブルーチンのアドレスを管理するテーブルが保存されたＲＯＭと、ＲＡＭと、前記サーバから調査用プログラムと該調査用プログラムの実行情報とを受信した時に、該調査用プログラムと該調査用プログラムの実行情報とを保存するとともに調査用プログラムがあることを示すデータを設定し、ソフトウェア実行時に、前記テーブルを前記ＲＯＭから前記ＲＡＭにコピーするとともに前記調査用プログラムがあることを示すデータが設定されているか否かを確認し、設定されていない場合は、前記コピーしたテーブルのアドレスを参照して各プログラムをサブルーチンコールして実行し、設定されている場合は、前記受信した実行情報を元に前記コピーしたテーブルのアドレスを前記調査用プログラムが機能するように変更し、該変更したテーブルに含まれているアドレスを参照して前記調査用プログラムをサブルーチンコールして実行し、前記調査用プログラムを実行することにより得られた調査結果を前記サーバに送信する制御部と、を備える。ここで、前記調査用プログラムは、前記ソフトウェアに調査用の処理が追加されたプログラムである。
【００１７】
本発明の第２の携帯端末は、本発明の第１の携帯端末において、前記制御部は、状態管理エラー、関数コール時のエラー、フリーズ状態を検出した場合、検出した内容を不具合情報として前記サーバに送信する。
【００１８】
本発明の第３の携帯端末は、本発明の第１または第２の携帯端末において、前記制御部は、前記サーバから書き換え用ソフトウェアを受信した場合、該書き換え用ソフトウェアを実行する。
【００１９】
本発明の第１の携帯端末の不具合調査方法は、ソフトウェアのアドレスを記載したテーブルが保存されたＲＯＭおよびＲＡＭを備えた携帯端末と、複数の調査用プログラムが格納された調査用プログラムデータベースと、調査結果データベースと、を少なくとも含む記憶装置を備えたサーバと、を用いた携帯端末の不具合調査方法であって、所定の調査用プログラムを前記調査用プログラムデータベースから抽出して実行情報とともに前記携帯端末に送信し、前記調査用プログラムと該調査用プログラムの実行情報とを受信した時に、該調査用プログラムと該調査用プログラムの実行情報とを保存するとともに調査用プログラムがあることを示すデータを設定し、ソフトウェア実行時に、前記テーブルを前記ＲＯＭから前記ＲＡＭにコピーするとともに前記調査用プログラムがあることを示すデータが設定されているか否かを確認し、設定されていない場合は、前記コピーしたテーブルのアドレスを参照して各プログラムをサブルーチンコールして実行し、設定されている場合は、前記受信した実行情報を元に前記コピーしたテーブルのアドレスを前記調査用プログラムが機能するように変更し、該変更したテーブルに含まれているアドレスを参照して前記調査用プログラムをサブルーチンコールして実行し、前記調査用プログラムを実行することにより得られた調査結果を前記サーバに送信し、前記携帯端末から前記送信した調査用プログラムおよび実行情報についての調査結果を受信した場合、該受信した調査結果を前記調査結果データベースに登録する。ここで、前記調査用プログラムは、前記ソフトウェアに調査用の処理が追加されたプログラムである。
【００２０】
本発明の第２の携帯端末の不具合調査方法は、本発明の第１の携帯端末の不具合調査方法において、前記サーバの記憶装置には、前記調査用プログラムが不具合情報に対応付けられて登録され、前記ソフトウェアの不具合を検出した場合、該不具合に関する不具合情報を前記サーバに送信し、前記携帯端末から前記不具合情報を受信した場合、該受信した不具合情報に対応付けられた調査用プログラムを前記記憶装置から抽出して前記携帯端末に送信する。
【００２１】
本発明の第３の携帯端末の不具合調査方法は、本発明の第１または第２の携帯端末の不具合調査方法において、前記サーバの記憶装置には、さらに、前記不具合情報に対応付けられた複数の書き換え用ソフトウェアが登録され、前記携帯端末から前記不具合に関する情報を受信した場合、該受信した不具合情報を前記記憶装置から検索し、該検索した不具合情報が書き換え用ソフトウェアに対応付けられている場合、該書き換え用ソフトウェアを前記携帯端末に送信し、前記サーバから前記書き換え用ソフトウェアを受信した場合、該書き換え用ソフトウェアを実行する。
【００２２】
本発明の第４の携帯端末の不具合調査方法は、本発明の第１，第２または第３の携帯端末の不具合調査方法において、前記携帯端末から受信した不具合情報が前記記憶装置に登録されていない場合、該不具合情報を所定の担当者端末に送信し、前記担当者端末から前記送信した不具合情報に関する調査用プログラムが返信された場合、該返信された調査用プログラムを前記送信した不具合情報と対応付けて前記記憶装置に登録するとともに、前記返信された調査用プログラムを前記携帯端末に送信し、前記携帯端末から前記調査結果を受信した場合、該受信した調査結果を前記担当者端末へ送信する。
【発明の効果】
【００２４】
本発明は、携帯端末から不具合を報告されたサーバが不具合に応じた調査用プログラムを検索して送信し、携帯端末が調査用プログラムにより調査した結果をサーバに報告するようにしている。このように、不具合報告、詳細調査用プログラムの送信、調査用プログラムによる調査の実行、調査結果のサーバへの報告、の一連の処理を自動化するようにしたため、詳細な不具合状況の調査が可能になり、不具合の解決を効率よく行うことができるという効果がある。
【発明を実施するための最良の形態】
【００２５】
本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００２６】
図１は、本発明の一実施の形態の構成を示す図であり、携帯端末１と、不具合管理サーバ２と、担当者端末３と、これらを接続するインターネット等のネットワーク４とを備えている。
【００２７】
携帯端末１は、携帯電話機，ＰＨＳ（Ｐersonal Ｈandyphone Ｓystem），ＰＤＡ（Ｐersonal Ｄigital Ａssistance）等の携帯情報端末であり、図示しない無線基地局，ネットワーク４を介して不具合管理サーバ２に接続される。この携帯端末１は、制御部１１と、不揮発メモリ１２と、ＲＡＭ１３とを備えている。
【００２８】
制御部１１は、ＣＰＵ等の制御装置であり、図示しない記憶装置に格納されたソフトウェアによりその動作を制御される。このソフトウェアは、携帯端末１に備えられた電子メール等の通常の機能の動作を制御する制御ソフトウェアと、下記の機能を備えた不具合調査用ソフトウェアとを含んでいる。
【００２９】
（１）不具合検出機能
ソフトウェアの不具合（例えば、状態管理エラー、関数コール時のエラー、フリーズ状態）を検出し、不揮発メモリ１２に記録する。
【００３０】
（２）不具合通知機能
不具合が検出された場合に、メール等により前記不具合管理サーバ２に通知する。
【００３１】
（３）無線通信による調査用プログラムのダウンロード，保存機能
不具合管理サーバ２から送信される調査用プログラムを受信して不揮発メモリ１２に保存する。例えば、予め定めた特定のコードで始まるメール受信時に、そのメールの内容に含まれるプログラム部分と実行に関係する情報を不揮発メモリ１２に保存する。
【００３２】
（４）調査用プログラムを有効にする機能
調査用プログラムが不揮発メモリ１２に保存された後に、調査用プログラムがあることを示すデータを不揮発メモリ１２に設定する。そして、タスク切替を禁止し、割り込みを禁止した状態で、下記（５）の関数アドレスのテーブルを更新する。
【００３３】
（５）実行プログラムの変更に関する機能
ソフトウェアの実行時に絶対アドレスを直接指定して、サブルーチンコールを行うのではなく、サブルーチンのアドレスを管理するテーブルを用意する。各プログラムはそのテーブルに含まれているアドレスを参照して、サブルーチンコールを行うようにする。このテーブルの初期値は図示しないＲＯＭ上に保存するが、使用するときはＲＡＭ１３上に展開して使用する。図示しないＲＯＭ上のテーブルをＲＡＭ１３上にコピーし、調査用プログラムがあることを示すデータが不揮発メモリ１２に設定されている場合、プログラムの実行に関する情報を元にＲＡＭ１３上にコピーしたテーブルを調査用プログラムが機能するように変更する。また、ＲＡＭ１３に調査用プログラムをコピーする。
【００３４】
（６）調査実行機能および調査結果報告機能
ダウンロードした調査用プログラムを実行し、不揮発メモリ１２に調査結果を記録していく。予め定めた条件が成立した場合に不具合管理サーバ２に調査結果を送付する。
【００３５】
不揮発メモリ１２は、読み出し，書き込み可能な記憶装置である。
【００３６】
図２（不揮発メモリ１２のエリア構成を示す図）を参照すると、不揮発メモリ１２は、
・エラー情報を格納するエリア
・エラー情報を格納するエリアのリングバッファを管理するエリア（リングバッファ格納エリアＡ）
・調査用プログラムに切り替えるための情報を格納するエリア
・調査用のプログラムを保存するエリア
・調査用プログラムの調査結果を保存するエリア
・調査結果を保存するエリアのリングバッファを管理するエリア（リングバッファ管理エリアＢ）
の６つのエリアから構成されている。
【００３７】
図３は、不揮発メモリ１２の各エリアに保存されるデータの構造を示す図である。
【００３８】
エラー情報を格納するエリアでは、エラー種別（例えば、状態管理エラー、関数コール時のエラー、フリーズ状態）、報告済みかどうかの二つを一つの単位としてＮ個格納する。リングバッファの管理エリアについては、最新の情報の入っているエリアの番号、一番古いデータの入っているエリアの番号、ソフトウェア名とバージョン（エラー情報の記録時）または調査用プログラム名とバージョン（調査結果の記録時）から構成される。調査用データを格納するエリアでは、調査データ、報告済みかどうかをの二つのデータを一つの単位として、Ｎ個格納する。調査用プログラムに切り替えるための情報を格納するエリアでは、切替前のアドレス、切替後のアドレスを一組としｍ個まで登録できる。調査用のプログラムを格納するエリアは、調査用のプログラムのバイナリ-データで構成される。
【００３９】
図４は、不揮発メモリ１２に関するエラー情報，調査結果の格納，読み出しのシーケンスを示す図である。
【００４０】
エラー情報の書き込み，読み出しの場合は、データ格納エリアをエラー情報を格納するエリア、管理エリアをリングバッファ管理エリアＡと読み替える。エラー情報の書き込み時は、制御部１１は管理ブロックから現在の最後のエリアの番号を読み取る（Ｗ−１）。そして、Ｗ−１で求めたエリア番号より使用すべきエリア番号を求める。全ての管理エリアが使用されているときは最新データの格納されているエリア番号に１を足す。全てのエリアが使用されているときは一番古いデータの上に最新のデータを上書きするので、最新のエリア番号は１にし、一番古いデータのエリア番号に１を足す。制御部１１はここで求めたエリア番号を管理エリアに書き込む（Ｗ−２）。制御部１１は格納要求のあったデータをデータ格納エリアに書き込む（Ｗ−３）。エラー情報の読み出しの場合は、不具合検出後の起動時に制御部は管理エリアの情報を読み込む（Ｒ−１）とともにデータ格納エリアを読み込む（Ｒ−２）。なお、調査結果の書き込み，読み出しの場合は、データ格納エリアを調査用プログラムの調査データを保存するエリア、管理エリアをリングバッファ管理エリアＢと読み直す。動作シーケンスはエラー情報の格納読み出しと同じである。
【００４１】
ＲＡＭ１３は、読み出し，書き込み可能な記憶装置であり、不具合管理サーバ２からダウンロードした調査用プログラムを実行するためのエリアである。
【００４２】
不具合管理サーバ２は、携帯端末１の通信事業者や製造，販売業者等により設置，運用されるワークステーション・サーバ等の情報処理装置であり、制御部２１と、記憶装置２２とを備えている。
【００４３】
制御部２１は、ＣＰＵ等の制御装置であり、図示しない記憶装置に格納されたソフトウェアによりその動作を制御される。この制御部２１は、
・携帯端末１から受信した不具合情報を登録する機能
・不具合情報に関連するソフトウェアや調査用プログラムを検索して携帯端末１に送信する機能
・不具合情報に関連するソフトウェアや調査用プログラムが内部データベースに登録されていなかった場合に、担当者端末３に不具合情報を転送する機能
・担当者端末３から送信された調査用プログラムを登録するとともに、携帯端末１に転送する機能
・携帯端末１から受信した調査結果を登録するとともに、担当者端末３に送信する機能
を備えている。
【００４４】
記憶装置２２には、不具合情報データベース２２１と、既知不具合情報データベース２２２と、書き換え用ソフトウェアデータベース２２３と、調査用プログラムデータベース２２４と、調査結果データベース２２５とが含まれている。
【００４５】
不具合情報データベース２２１には、携帯端末１から送信されたエラーコード（エラー種別）、携帯端末識別コード、携帯端末１のソフトウェア名、ソフトウェアバージョンが登録日とともに制御部２１により登録される。また、不具合管理サーバ２から携帯端末１に送信された書き換え用ソフトウェア名，調査用プログラム名やそれらのバージョンも携帯端末識別コードに対応付けて登録される。なお、エラーコードとは状態管理エラー，関数コール時のエラー，フリーズ状態の各エラーの種別を示すコードであり、携帯端末識別コードは例えばメールアドレス等のように携帯端末１を識別可能なものであればよい。既知不具合情報データベース２２２には、携帯端末１のソフトウェア名，ソフトウェアバージョンとエラーコードの組み合わせに対応したソフトウェアや調査用プログラムが予め登録されている。書き換え用ソフトウェアデータベース２２３には、既知不具合情報データベース２２２に登録されたソフトウェアが格納されている。調査用プログラムデータベース２２４には、既知不具合情報データベース２２２に登録された調査用プログラムが格納されている。調査結果データベース２２５には、携帯端末識別コード、調査用プログラム名、プログラムバージョン、調査結果データ、登録日等が制御部２１により登録される。
【００４６】
担当者端末３は、パーソナルコンピュータ等の情報処理装置である。この担当者端末３は、不具合管理サーバ２からエラー情報や調査結果情報を受信する機能と、調査用プログラムを不具合管理サーバ２に送信する機能とを備えている。なお、図１においては、担当者端末３と不具合管理サーバ２との接続はインターネット等のネットワーク４を介して行うようになっているが、ＬＡＮ等により接続するようにしてもよい。
【００４７】
次に、本発明の一実施の形態の動作について図１〜図６を参照して説明する。
【００４８】
図５は状態管理エラーを説明する図であり、図６は本発明の一実施の形態の動作を示すフローチャートである。
【００４９】
図６を参照すると、まず、携帯端末１の制御部１１は不具合を検出すると、不揮発メモリ１２のエラー情報格納エリアに格納する。ここで、不具合とは、状態管理エラー、関数コール時のエラー、フリーズ状態を想定しているが、他のエラーを含めることに限定はない。
【００５０】
状態管理エラーについては、設計上、動作上ありえない状態に陥る場合を、制御部１１が状態変数、状態を表すフラグ変数から検出する（図５−Ａ参照）。また、ある状態から一定時間経過しても次の状態に移らない場合には、制御部１１は、ある状態に入った場合タイマーを使用して次の状態まで監視し、タイマーのタイムアウトをもって検出する（図５−Ｂ参照）。
【００５１】
関数コール時のエラー検出については、関数が要求された処理を行おうとするが、リソース不足、設計上要求してはいけないタイミング、組み合わせ、パラメータで呼び出されたときに制御部１１がエラーを検出する。
【００５２】
詳細には、
・呼び出された関数内でその関数が呼び出されたときの、関数引数が不正な場合
・処理中のリソースが不足した場合、設計上呼び出してはいけない組み合わせで関数を呼び出している場合、設計上通ってはならないパスを通過した場合
・ソフトウェアのタイミングにおいて呼び出してはいけない場合に関数の戻り値としてエラーを表すコードを返し、呼び出しもとの関数がエラーを検出する。
【００５３】
フリーズ状態の検出については、制御部１１は、システムが非アイドル状態の時間を測定して一定時間経過してもアイドル状態に戻らない場合に検出するか、または周期的にソフトウェアの状態を監視して検出する。
【００５４】
制御部１１は、検出した不具合の種別（状態管理エラー、関数コール時のエラー、フリーズ状態に対応するエラーコード）、報告済みかどうかが分かるコード、ソフトウェア名、ソフトウェアのバージョンが分かるコードを不揮発メモリ１２に保存する（ステップＡ１）。
【００５５】
ステップＡ１に続き、制御部１１は携帯端末１をリセットして再起動し（ステップＡ２）、初期化時に、不揮発メモリ１２に未報告のエラー情報があるかどうかをチェックする。そして、制御部１１は、システム起動、位置登録後に、未報告のエラー情報と携帯端末１のソフトウェア名，ソフトウェアバージョンとを不具合情報として不具合管理サーバ２にメールにより送信する。送信後に、制御部１１は不揮発メモリ１２のエラー情報を報告済みに更新する（ステップＡ３）。
【００５６】
不具合管理サーバ２の制御部２１は、携帯端末１から受信した不具合情報（エラーコード、携帯端末識別コード、携帯端末１のソフトウェア名、ソフトウェアバージョン）に登録日を付して、不具合情報データベース２２１に登録する。この不具合情報は携帯端末識別コード対応に登録され、本実施の形態では携帯端末識別コードは携帯端末１からの電子メールに含まれる携帯端末１のメールアドレスとして説明する。メールアドレス以外の携帯端末識別コード（例えば、携帯端末１の装置ＩＤ等）を用いる場合は、携帯端末１のエラー情報に携帯端末識別コードを付して不具合管理サーバ２に送信するものとする（ステップＡ４）。
【００５７】
次に、制御部２１は、受信したエラーコード，携帯端末１のソフトウェア名，ソフトウェアバージョンの組み合わせが既知不具合情報データベース２２２に登録されているかを検索する。
【００５８】
既知の不具合である場合は、不具合を解消するバージョンアップされた書き換え用ソフトウェアがエラー情報に対応して既知不具合情報データベース２２２に予め登録されている。制御部２１は、該当ソフトウェアを書き換え用ソフトウェアデータベース２２３から取得し、携帯端末１にメールで送信して書き換えを要求する。書き換え用ソフトウェアの送信後、制御部２１は送信した書き換え用ソフトウェア名とバージョンを不具合情報データベース２２１に登録する（ステップＡ５→ステップＡ６）。書き換え用ソフトウェアを受信した携帯端末１の制御部１１は、書き換え用ソフトウェアを起動して携帯端末１のソフトウェアを書き換える（ステップＡ７）。
【００５９】
携帯端末１から送信された不具合がある程度既知の問題である場合、そのソフトウェアブロックを調査するための調査用プログラムがエラー情報に対応して予め既知不具合情報データベース２２２に登録されている。制御部２１は、該当調査用プログラムを調査用プログラムデータベース２２４から取得し、携帯端末１にメールで送信して調査を要求する。このメールには、調査用プログラムであることを示す予め定めた特定のコードを含めておく。調査用プログラムの送信後、制御部２１は送信した調査用プログラム名とバージョンを不具合情報データベース２２１に登録する（ステップＡ５→ステップＡ８→ステップＡ９）。
【００６０】
受信したエラー情報に対応する書き換え用ソフトウェアおよび調査用プログラムが既知不具合情報データベース２２２に登録されていなかった場合、不具合管理サーバ２の制御部２１はエラー情報を担当者端末３に送信する（ステップＡ１０）。担当者端末３に送信された不具合情報を基に担当者は不具合を分析する。分析の結果、必要であれば担当者はさらに詳細を調査するための調査用プログラムを作成し、担当者端末３から不具合管理サーバ２に送信する（ステップＡ１１）。
【００６１】
担当者端末３から調査用プログラムを受信した不具合管理サーバ２の制御部２１は、受信した調査用プログラムを調査用プログラムデータベース２２４に登録する（ステップＡ１２）。その後、制御部２１は調査用プログラムを携帯端末１にメールで送信する。このメールには、調査用プログラムであることを示す予め定めた特定のコードを含めておく。調査用プログラムの送信後、制御部２１は送信した調査用プログラム名とバージョンを不具合情報に対応付けて不具合情報データベース２２１に登録する（ステップＡ１３）。
【００６２】
携帯端末１の制御部１１は、受信メール上の調査用プログラム特定コードを識別し、受信した調査用プログラムを不揮発メモリ１２に保存する。その後、制御部１１は、動作中の他の処理に干渉されないよう、ソフトウェア割り込みを禁止、ハードウェア割り込みを禁止、プログラムの切替を禁止した状態とする。そして、不揮発メモリ１２上に保存されている調査用プログラムを格納するエリアと調査用プログラムに切り替えるためのデータを格納するエリアを利用し、調査用プログラムを不揮発メモリ１２からプログラム実行の可能なＲＡＭ１３にコピーする（ステップＡ１４）。
【００６３】
次に、制御部１１は調査用プログラムを有効化し、調査を実行する。以下に、調査用プログラムの有効化について詳細に説明する。制御部１１は、図示しないＲＯＭからＲＡＭ１３上のテーブルにコピーした関数アドレスを調査用プログラムの開始アドレスに書き換えることにより、動的にプログラムを変更する。変更手順としては、動作中の他の処理に干渉されないよう、ソフトウェア割り込みを禁止、ハードウェア割り込みを禁止、プログラムの切替を禁止した状態とする。そして、制御部１１は、不揮発メモリ１２の調査用プログラムに切り換えるためのデータを格納するエリアの情報を使用し、ＲＡＭ１３上に展開を行った関数アドレステーブルを変更する。その後、制御部１１は、ソフトウェア割り込みを禁止、ハードウェア割り込みを禁止、プログラムの切替を禁止したそれぞれの状態を解除する。再起動時に調査用プログラムが不揮発メモリ１２に存在する場合にも、制御部１１は初期化後に上記方法で関数テーブルを変更する。
【００６４】
次に、制御部１１は調査用プログラムを実行し、不揮発メモリ１２に調査結果を記録していく。調査用プログラムは携帯端末１のソフトウェアに調査用の処理を追加し、サブルーチン単位で用意し、置き換えることによりソフトウェアから呼び出される。必要とされる機能は調査対象となる動作中の携帯端末１の内部データを不揮発メモリ１２に記録する。具体的には関数が呼び出されるときの引数、呼び出されたときの状態変数、関数が呼び出された後の結果、状態変数が考えられる。これらの内部データを不揮発メモリ１２に記録していく。また、ソフトウェアバージョン、調査用プログラムのバージョン、種別の分かるコードも記録する（ステップＡ１５，Ａ１６）。
【００６５】
制御部１１は、調査用プログラムによる調査結果情報をメールで不具合管理サーバ２に送信する。送信する調査結果情報は、調査結果のデータ，調査用プログラム名，調査用プログラムのバージョンである。送信後に、制御部１１は不揮発メモリ１２の調査結果のデータを報告済みに更新する（ステップＡ１７）。不具合管理サーバ２の制御部２１は、受信した調査結果情報に登録日を付して携帯端末識別コード（例えば、携帯端末１のメールアドレス）対応に調査結果データベース２２５に登録する（ステップＡ１８）。そして、制御部２１は調査結果情報を担当者端末３に送信する（ステップＡ１９）。この後、担当者は受信した調査結果情報を参考にしてさらなる分析を行うことになり、必要に応じてステップＡ１１〜ステップＡ１９の動作を繰り返す。
【００６６】
なお、以上の実施の形態においては、携帯端末１と不具合管理サーバ２の間の不具合情報，調査用プログラム，調査結果情報等のデータはメールで送受信するものとして説明したが、下記に示す他の方法で行ってもよい。
【００６７】
・不具合管理サーバ２にＩＳＤＮ回線およびＰＰＰサーバーソフトを備え、非制限デジタル通信により送受信する方法
・携帯端末１，不具合管理サーバ２間を通信ケーブルや赤外線通信を用いて接続しデータを取り込む方法
・データをメモリカード等の外部メモリに書き込み、その外部メモリから取り込む方法。
【００６８】
また、以上の実施の形態においては、不具合情報受信時に不具合を解消するバージョンアップされた書き換え用ソフトウェアの有無を検索し、該当ソフトウェアを携帯端末１に送信し書き換えを行うとして説明した。この書き換え用ソフトウェア有無の検索および送信は、上記不具合情報受信時だけでなく、ステップＡ１８（図６）の調査結果情報受信時にも適用し、書き換え用ソフトウェアが無かった場合に、ステップＡ１９に示すように担当者端末３に調査結果情報を転送するようにしてもよい。この場合は、不具合管理サーバ２の既知不具合情報データベース２２２には、携帯端末１のソフトウェア名，ソフトウェアバージョン，エラーコードと調査結果情報との組み合わせに対応した書き換え用ソフトウェアが有るものについて予め登録しておくものとする。
【００６９】
このように、不具合情報受信時や調査結果情報受信時にバージョンアップ用の書き換え用ソフトウェアを携帯端末１に送りソフトウェアを書き換えることにより、担当者端末３の担当者による不具合対応作業を軽減する効果がある。また、不具合の解消を自動的に行い迅速な不具合解消が可能になるという効果がある。
【００７０】
また、図１のシステム構成から担当者端末３を削除し、本発明を携帯端末１と不具合管理サーバ２によって構成するようにしてもよい。この場合は、不具合情報に関連する書き換え用ソフトウェアや調査用プログラムが不具合管理サーバ２に登録されていなかった場合に、不具合情報を不具合情報データベース２２１に保存しておくだけになる。
【００７１】
担当者端末３を設置することにより、不具合情報に関連する書き換え用ソフトウェアや調査用プログラムが不具合管理サーバ２に登録されていなかった場合に、不具合情報を担当者端末３に自動的に送信でき、担当者による早期解決が図られるという効果がある。
【図面の簡単な説明】
【００７２】
【図１】本発明の一実施の形態の構成を示す図である。
【図２】不揮発メモリ１２のエリア構成を示す図である。
【図３】不揮発メモリ１２の各エリアに保存されるデータの構造を示す図である。
【図４】不揮発メモリ１２に関するエラー情報，調査結果の格納，読み出しのシーケンスを示す図である。
【図５】状態管理エラーを説明する図である。
【図６】本発明の一実施の形態の動作を示すフローチャートである。
【符号の説明】
【００７３】
１    携帯端末
１１    制御部
１２    不揮発メモリ
１３    ＲＡＭ
２    不具合管理サーバ
２１    制御部
２２    記憶装置
２２１    不具合情報データベース
２２２    既知不具合情報データベース
２２３    書き換え用ソフトウェアデータベース
２２４    調査用プログラムデータベース
２２５    調査結果データベース
３    担当者端末
４    ネットワーク
【図１】
0004635452.tif 000002
【図２】
0004635452.tif 000003
【図３】
0004635452.tif 000004
【図４】
0004635452.tif 000005
【図５】
0004635452.tif 000006
【図６】
0004635452.tif 000007