(57)【要約】      （修正有）【課題】端末管理サーバ上の業務アプリケーションから端末管理プロトコル依存の処理を取り除く。【解決手段】端末管理サーバ１００は端末管理プロトコルに基づいて端末１１０からのデータ取得を行い、前記端末管理サーバ１００側に同期した端末データツリーの読込みと書込みとを行い、前記端末管理サーバ１００上で動作する業務アプリケーション１０１に提供する端末情報の取得方法を識別する情報と、端末種別と、前記端末情報の取得方法と前記端末種別において取得すべき端末データツリー１１２内のノードの位置情報を記載する外部定義ファイル１０６を参照して取得した前記端末情報の取得方法と、前記外部定義ファイル１０６に記載された位置情報とに基づいて、データツリー操作プログラム１０３を介して端末情報の取得を行う。【選択図】図１
2013200651.tif 000002
【特許請求の範囲】
【請求項１】
端末の管理を行う端末管理サーバであって、
端末管理プロトコルに基づいて端末からのデータ取得を行う通信プログラムと、
前記端末管理サーバ側に同期した端末データツリーの読込みと書込みとを行うデータツリー操作プログラムと、
端末管理サーバ上で動作する業務アプリケーションに提供する端末情報の取得方法を識別する情報と、端末種別と、前記端末情報の取得方法と前記端末種別において取得すべき前記端末データツリー内のノードの位置情報を記載する外部定義ファイルを参照し、前記端末情報の取得方法と、前記外部定義ファイルに記載された前記端末データツリー内のノードの位置情報とに基づいて、前記データツリー操作プログラムを介して端末情報の取得を行う外部定義プログラムと
を有することを特徴とする端末管理サーバ。
【請求項２】
前記通信プログラムを介して端末から取得して蓄積した前記端末データツリーを保存するサーバ側データツリーを参照可能とすることを特徴とする請求項１に記載の端末管理サーバ。
【請求項３】
前記外部定義ファイルは、
前記業務アプリケーションに提供する端末制御方法を識別する情報と、端末管理プロトコルを識別する情報と、前記端末制御方法と前記端末管理プロトコルにおいて端末に送信すべき端末制御命令を識別する情報と、前記端末制御命令で編集する端末データツリー内のノードの位置情報を含み、
前記通信プログラムは、前記端末制御命令を送信する機能を備え、
前記外部定義プログラムは、前記端末制御方法と、前記外部定義ファイルに記載された情報と、に基づいて、前記通信プログラムを介して端末制御命令を送信する機能を有することを特徴とする請求項１又は２に記載の端末管理サーバ。
【請求項４】
前記外部定義ファイルは、前記端末制御命令で編集する前記端末データツリー内のノードの位置情報と、前記業務アプリケーションが前記端末制御方法に与える値が格納されている端末データツリー内のノードの位置情報の相対パスを含み、
前記外部定義プログラムは、前記相対パスと、前記業務アプリケーションから与えられた値から前記端末制御命令で編集する端末データツリー内のノードの位置を特定する機能を備えることを特徴とする請求項３に記載の端末管理サーバ。
【請求項５】
前記外部定義プログラムは、
取得した端末タイプと、前記業務アプリケーションによって呼び出された端末制御メソッド名を持つ外部定義ファイルから、制御URIと相対URIを取得する引数ＵＲＩ、相対ＵＲＩ読み込み部と、
取得した前記引数URIとそれ以外の部分が一致するノードのURIをサーバ側データモデルからすべて読み込み、それぞれの値を取得するノード特定部と、
取得したURIと値のペアの中から、受け取ったサブツリーIDと値が一致するペアを特定するＵＲＩ検索部と、
特定したノードのURIから、取得した相対URIの位置にあるURIを求める外部定義ファイル参照部と、
取得した端末タイプと、呼び出された端末制御メソッド名を持つ外部定義ファイルからプロトコル、端末制御命令メソッド及び又は値を取得する端末ＩＤ、ＲＰＣメソッドＵＲＩ取得部と、を有することを特徴とする請求項１に記載の端末管理サーバ。
【請求項６】
端末管理サーバ上で端末の管理を行う端末管理方法であって、
端末管理プロトコルに基づいて端末からのデータ取得を行うステップと、
前記端末管理サーバ側に同期した端末データツリーの読込みと書込みとを行うデータツリー操作ステップと、
前記端末管理サーバ上で動作する業務アプリケーションに提供する端末情報の取得方法を識別する情報と、端末種別と、前記端末情報の取得方法と前記端末種別において取得すべき端末データツリー内のノードの位置情報を記載する外部定義ファイルを参照して取得した前記端末情報の取得方法と、前記外部定義ファイルに記載された位置情報とに基づいて、前記データツリー操作プログラムを介して端末情報の取得を行うステップと、を有することを特徴とする端末管理方法。
【請求項７】
コンピュータに請求項６に記載の端末管理方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末制御命令を用いて端末装置を遠隔管理する端末管理技術に関する。
【背景技術】
【０００２】
組込み機器の品質保証や保守費用削減のため、組込み機器はその種別に応じた通信プロトコルによって遠隔管理される。例えば、携帯電話のような移動体通信機器（移動端末）は、OMA-DM(Open Mobile Alliance - Device Management)プロトコルによって、ブロードバンドルーターのような固定通信機器は、TR-069(Technical Report 069)プロトコルによって、それぞれ遠隔管理される(下記非特許文献１、２参照)。OMA-DMや、TR-069の関連仕様であるTR-106は、端末のIDや端末内のソフトウェア情報等のインベントリをツリー構造で管理することが規定されており、端末制御命令はツリー内にある特定ノードの変更により実現される。具体的には、ソフトウェアの状態を表すStateノードを用意し、ソフトウェアの停止状態を表すidleを端末制御命令によって格納することで、端末内のソフトウェアの遠隔管理が行われる。
【０００３】
下記特許文献１には、OMA-DM仕様における端末制御を効率化するためのシステムが記載されている。このシステムでは、端末管理サーバが端末とのセッションを生成するために端末に送信する初期メッセージに、端末制御命令を埋め込むことで、端末管理サーバと端末間の通信回数を削減することが可能である。本技術はOMA-DMプロトコルに特化した方法であり、TR-069のような他の管理プロトコルでは利用できない。
【０００４】
また、下記特許文献２では、管理プロトコルの異なる複数種類の端末を、端末管理サーバから共通の管理プロトコルで管理するシステムが記載されている。このシステムでは、固定通信機器については、TR-069プロトコルで管理する。端末管理サーバは、宅内にある固定通信機器とプロトコル変換機能を有するサーバを経由し、移動体通信機器に端末制御命令を送信する。端末管理サーバの端末制御命令は、プロトコル変換機能によって、TR-069プロトコルから移動体端末専用の管理プロトコルに変換されるため、端末管理サーバは、TR-069プロトコルだけで、異なる種類の端末を管理できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２６０４４３号公報
【特許文献２】特表２０１２−５０２５７８号公報
【非特許文献】
【０００６】
【非特許文献１】Open Mobile Alliance、URL：http://www.openmobilealliance.org/default.aspx（２０１２年２月１４日取得）
【非特許文献２】broadband forum、URL：http://www.broadband-forum.org/（２０１２年２月１４日取得）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献２のように、端末管理サーバと端末の通信経路で、プロトコル変換を行うことで端末管理サーバは共通の管理プロトコルで、異なる種類の端末を管理することができる。しかしながら、管理プロトコル間では、端末制御命令に加えて、端末インベントリのツリー構造も異なるため、管理プロトコル間の差異を吸収しきれてはいない。そのため、端末管理サーバ上に、開発者は、端末管理サーバ上の業務アプリケーションを、それぞれの管理プロトコルを理解した上で、実装しなければならない。
【０００８】
本発明は、上記のような課題を解決するためになされたものであり、端末管理サーバ上の業務アプリケーションから端末管理プロトコル依存の処理を不要とし、端末管理プロトコルの知識を持たない開発者が、業務アプリケーションの開発を可能とすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る端末管理技術は、端末管理プロトコルの知識を有する者に、端末インベントリのツリー構造中のノードの定義を、外部定義ファイルを記載してもらい、端末インベントリのツリー内のノードの定義を外部ファイルから読み込み、端末の管理プロトコルとそれが規定する端末インベントリのツリー構造に適した端末制御命令を端末に配信することを特徴とする。
【００１０】
本発明の一観点によれば、端末の管理を行う端末管理サーバであって、端末管理プロトコルに基づいて端末からのデータ取得を行う通信プログラムと、前記端末管理サーバ側に同期した端末データツリーの読込みと書込みとを行うデータツリー操作プログラムと、端末管理サーバ上で動作する業務アプリケーションに提供する端末情報の取得方法を識別する情報と、端末種別と、前記端末情報の取得方法と前記端末種別において取得すべき前記端末データツリー内のノードの位置情報を記載する外部定義ファイルを参照し、前記端末情報の取得方法と、前記外部定義ファイルに記載された前記端末データツリー内のノードの位置情報とに基づいて、前記データツリー操作プログラムを介して端末情報の取得を行う外部定義プログラムと、を有することを特徴とする端末管理サーバが提供される。
【００１１】
これにより、端末の通信プロトコルを知らない場合でも、業務アプリケーション開発者、使用者等は、業務アプリケーションを用いて作業を行うことができる。
【００１２】
前記通信プログラムを介して端末から取得して蓄積した前記端末データツリーを保存するサーバ側データツリーを参照可能とすることを特徴とする。
【００１３】
前記外部定義ファイルは、前記業務アプリケーションに提供する端末制御方法を識別する情報と、端末管理プロトコルを識別する情報と、前記端末制御方法と前記端末管理プロトコルにおいて端末に送信すべき端末制御命令を識別する情報と、前記端末制御命令で編集する端末データツリー内のノードの位置情報を含み、前記通信プログラムは、前記端末制御命令を送信する機能を備え、前記外部定義プログラムは、前記端末制御方法と、前記外部定義ファイルに記載された情報と、に基づいて、前記通信プログラムを介して端末制御命令を送信する機能を有することを特徴とする。
【００１４】
この場合に、前記外部定義ファイルは、前記端末制御命令で編集する前記端末データツリー内のノードの位置情報と、前記業務アプリケーションが前記端末制御方法に与える値が格納されている端末データツリー内のノードの位置情報の相対パスを含み、前記外部定義プログラムは、前記相対パスと、前記業務アプリケーションから与えられた値から前記端末制御命令で編集する端末データツリー内のノードの位置を特定する機能を備えることが好ましい。
【００１５】
また、前記外部定義プログラムは、取得した端末タイプと、前記業務アプリケーションによって呼び出された端末制御メソッド名を持つ外部定義ファイルから、制御URIと相対URIを取得する引数ＵＲＩ、相対ＵＲＩ読み込み部と、取得した前記引数URIとそれ以外の部分が一致するノードのURIをサーバ側データモデルからすべて読み込み、それぞれの値を取得するノード特定部と、取得したURIと値のペアの中から、受け取ったサブツリーIDと値が一致するペアを特定するＵＲＩ検索部と、特定したノードのURIから、取得した相対URIの位置にあるURIを求める外部定義ファイル参照部と、取得した端末タイプと、呼び出された端末制御メソッド名を持つ外部定義ファイルからプロトコル・端末制御命令メソッド・値を取得する端末ＩＤ、ＲＰＣメソッドＵＲＩ取得部と、を有することを特徴とする。
【００１６】
本発明の他の観点によれば、端末管理サーバ上で端末の管理を行う端末管理方法であって、端末管理プロトコルに基づいて端末からのデータ取得を行うステップと、前記端末管理サーバ側に同期した端末データツリーの読込みと書込みとを行うデータツリー操作ステップと、前記端末管理サーバ上で動作する業務アプリケーションに提供する端末情報の取得方法を識別する情報と、端末種別と、前記端末情報の取得方法と前記端末種別において取得すべき端末データツリー内のノードの位置情報を記載する外部定義ファイルを参照して取得した前記端末情報の取得方法と、前記外部定義ファイルに記載された位置情報とに基づいて、前記データツリー操作プログラムを介して端末情報の取得を行うステップと、を有することを特徴とする端末管理方法が提供される。
【００１７】
本発明は、コンピュータに上記に記載の端末管理方法を実行させるためのプログラムであっても良く、当該プログラムを記録するコンピュータ読みとり可能な記録媒体であっても良い。
【発明の効果】
【００１８】
本発明に係る端末管理技術によれば、端末管理サーバ上の業務アプリケーションから端末管理プロトコルに依存した処理を除去することができる。
【図面の簡単な説明】
【００１９】
【図１】実施形態１に係る端末管理システムの構成図である。
【図２】端末テーブルの構成例を示す図である。
【図３】固定通信端末用の端末側データツリーの構成例を示す図である。
【図４】移動体通信端末用の端末側データツリーの構成例を示す図である。
【図５】端末情報取得メソッドの外部定義ファイルの一例を示す図である。
【図６】端末制御メソッドの外部定義ファイルの一例を示す図である。
【図７Ａ】端末管理サーバに対する端末登録処理を説明するシーケンス図である。
【図７Ｂ】端末管理エージェントの一構成例を示す機能ブロック図である。
【図７Ｃ】通信プログラムの一構成例を示す機能ブロック図である。
【図８Ａ】外部定義を利用した端末情報取得処理を説明するシーケンス図である。
【図８Ｂ】外部定義プログラムを利用した端末情報取得処理部の一構成例を示す機能ブロック図である。
【図９Ａ】外部定義を利用した端末制御処理を説明するシーケンス図である。
【図９Ｂ】外部定義プログラムを利用した端末制御処理部の一構成例を示す機能ブロック図である。
【発明を実施するための形態】
【００２０】
＜実施の形態１＞
図１は、本発明の実施形態１に係る端末管理システムの一構成例を示す機能ブロック図である。
図１に示す端末管理サーバ１００は、端末情報の収集及び端末制御を行うサーバである。端末情報には、端末１１０の製造業者やOS（オペレーションシステム）名・バージョン等が含まれる。端末制御には、端末１１０のOSの再起動、端末１１０内にインストールされているソフトウェアの起動、停止、更新等が含まれる。
【００２１】
端末管理サーバ１００は、業務アプリケーション１０１、外部定義プログラム１０２、データツリー操作プログラム１０３、通信プログラム１０４、外部定義ファイル１０６、端末テーブル１０５、サーバ側データツリー１０７から構成される。通信プログラム１０４から業務アプリケーション１０１に向けて上位層となる。業務アプリケーション１０１は、通信プログラム１０４を介して、端末１１０のソフトウェアの更新や端末１１０へのリモートロック等の端末管理業務を実装したプログラムである。外部定義プログラム１０２は、端末１１０の製造業者のような端末情報を取得するメソッドや、端末１１０で実行されているソフトウェアを停止する端末制御用のメソッドを備えている。各メソッドは、外部定義ファイル１０６の定義情報に従い、処理を行う。データツリー操作プログラム１０３は、サーバ側データツリー１０７の読み込みと書き込みを行うプログラムである。通信プログラム１０４は、端末１１０と通信するプログラムであり、端末１１０の管理プロトコル毎に存在し、本実施形態では、例として、OMA-DM通信プログラムとTR-069通信プログラムとについて説明する。
【００２２】
OMA-DM通信プログラム１０４は、OMA-DMプロトコルに従い、端末１１０と通信するプログラムであり、TR-069通信プログラム１０４は、TR-069プロトコルに従い、端末１１０と通信するプログラムである。端末テーブル１０５は、図２に示されるように、端末IDと端末タイプとの紐付けを行うテーブルであり、端末管理サーバ１００が端末１１０を登録するときに、登録する端末１１０の端末IDと端末タイプが格納される。ここで、端末IDとは、端末管理サーバ１００が端末１１０を識別するために利用するIDである。また、端末タイプとは、SmartPhoneやBroadBandRouter等の端末１１０の種類を表す文字列等である。ここで、端末インベントリのツリーの構成は、端末１１０管理プロトコルや端末１１０の種類毎に異なる。サーバ側データツリー１０７は、端末１１０の端末側データツリー１１２に端末IDを付与して格納したものであり、必要に応じて、端末側データツリー１１２と同期される。
【００２３】
端末１１０は、スマートフォンやブロードバンドルーターなどの端末管理サーバ１００の管理対象となる端末１１０であり、それぞれ端末管理エージェント１１１と端末側データツリー１１２を持つ。端末管理エージェント１１１は、端末１１０の情報を取得し、端末側データツリー１１２を生成し、端末管理サーバ１００の通信プログラム１０４に送信し、また、通信プログラム１０４を介して端末管理サーバ１００からの端末制御命令を受信する。端末側データツリー１１２は、端末１１０の製造業者や端末１１０にインストールされているソフトウェア情報等の端末１１０のインベントリがツリー構造で格納されたものである。
【００２４】
図３及び図４は、端末側データツリーの一例を示す図である。図３はTR-106仕様を元に、固定通信端末向けに生成された端末側データツリー１１２の一例である。図中の「/」はルートノードを表す。DeviceInfoツリーＸ１は、端末１１０の基本情報を格納するツリーであり、端末１１０のOS名・バージョンや製造業者等が格納される。Manufacturerノードは製造業者名を格納するノードであり、値としてX社が格納されている。
【００２５】
また、SoftwareModulesツリーＹ１は、端末１１０にインストールされたソフトウェアの状態を格納するツリーであり、その子ノードであるExecutionUnitツリーは、ソフトウェアの実行状態を格納するツリーである。ExecutionUnitツリーは、インストールされているソフトウェアの数だけ、子ノードが存在し、それぞれの子ノードには、ソフトウェアのIDを格納するEUIDノード、ソフトウェアの稼動状態を格納するStateノードが存在する。端末管理サーバ１００は、端末制御命令によってStateノードの値を変更することで端末１１０内のソフトウェアの実行状態を変更することができる。図３の例では、2つのソフトウェアの実行状態が格納されており、一方は、EUIDに、ソフトウェアIDであるa、Stateに、実行中を表すactiveが格納され、もう一方はEUIDに、ソフトウェアIDであるb、Stateに、停止中を表すidleが格納されている。
【００２６】
図４は、OMA-DM仕様に従い、移動体通信端末向けに生成された端末側データツリー１１２の一例を示す図である。TR-106とはノードの名前は異なるものの、端末１１０の基本情報を格納するDevInfoツリーＸ２やソフトウェアの状態を格納するTransactionツリーＹ２を持つ。このようなツリー構造は、一般的には、通信プログラムの開発者は知っているが、業務アプリケーションの開発者は知らない。
なお、端末管理サーバ１００と端末１１０とは、インターネット１２０を介して接続される。
【００２７】
図５は、端末情報取得メソッドの外部定義ファイル１０６の一構成例を示す図である。端末情報取得メソッドに対する外部定義は、定義対象となるメソッド名、端末タイプ、メソッドがコールされたときに取得する値の格納されたURIから構成される。URIとはツリー構造におけるノードのパスのことである。図５の例では、端末１１０の製造業者を取得するgetManufacturerメソッドに対する定義を行っており、ブロードバンドルーターでは、図３で示したように、製造業者を表す/DeviceInfo/ManufacturerがURIに格納される（図５（ａ）：Ｔ１）。一方で、スマートフォンでは、図４に示したように、/DevInfo/Manが格納される（図５（ｂ）：Ｔ２）。
【００２８】
図６は、端末制御メソッドの外部定義ファイル１０６の一例を示す図である。端末制御メソッドに対する外部定義は、定義対象となるメソッド名、端末タイプ、端末１１０管理プロトコル、端末１１０管理プロトコルで規定された端末制御命令メソッド、制御URIからなる。また、定義対象となるメソッドが引数を持ち、制御URIを引数の値から特定する必要が有る場合は、引数名、引数URI、相対URIを外部定義ファイル１０６に追加する。制御URIを引数の値から特定しなければならない場合とは、図３のＹ１、図４のＹ２におけるソフトウェアの状態を表すExecutionUnitツリーやTransactionツリーのように、同じ構造を持ったツリーが複数存在する場合である。この場合、引数であるmoduleIDから制御の対象となるソフトウェアの状態を表すツリーを特定する。具体的には、引数であるmoduleIDが示すURIを引数URIとして定義し、制御対象となるURIへの相対パスを相対URIとして指定することで、引数から制御対象となるURIを特定することが可能になる。また、制御対象のURIに値を格納する場合は、値を外部定義ファイル１０６に追加する。なお、これ以降はmoduleIDのようなツリーを特定可能なIDをサブツリーIDと呼ぶ。
以上、端末管理システムの構成について説明した。以下では、端末管理システム１０２の動作例について説明する。必要に応じて、具体例として、図２〜図６に記載しているデータを用いる。
【００２９】
図７Ａは、端末管理サーバ１００に対する端末１１０登録処理を説明するシーケンス図である。図７Ｂは、端末管理エージェント１１１の一構成例を示す機能ブロック図である。図７Ｃは、通信プログラム１０４の一構成例を示す機能ブロック図である。
【００３０】
図７Ｂに示すように、端末管理エージェント１１１は、インベントリ収集部１１１−１と、端末側データツリー（データ構造）生成部１１１−２と、通信部１１１−３と、を有している。図７Ｃに示すように、通信プログラム１０４は、通信部１０４−１と、ルートノード変更部１０４−２と、端末情報格納部１０４−３と、を有している。
【００３１】
以下、図７Ａの各ステップについて説明する。
（図７Ａ：ステップＳ７０１）
端末管理エージェント１１１のインベントリ収集部１１１−１は、端末IDや端末タイプ等のインベントリを収集し、端末側データツリー（データ構造）生成部１１１−２が、端末側データツリー１１２を生成する。図３、図４は、端末側データツリー（データ構造）生成部１１１−２が生成した端末側データツリー１１２の一例である。以降、端末IDをA、端末タイプをBroadBandRouter、また、端末側データツリー１１２を図３とする。
【００３２】
（図７Ａ：ステップＳ７０２）
端末管理エージェント１１１の通信部１１１−３は、通信プログラム１０４に、ステップＳ７０１でインベントリ収集部１１１−１が取得した端末ID、端末タイプを含む端末側データツリー１１２を送信する。
【００３３】
（図７Ａ：ステップＳ７０３）
通信プログラム１０４は、ステップＳ７０２で、端末管理エージェント１１１から通信部１０４−１が受信した端末側データツリー１１２のルートノードを、同じくステップＳ７０２で、受信した端末IDにルートノード変更部１０４−２が変更し、データモデル操作プログラムに渡す。端末タイプは、BroadBandRouterであるため、ここで利用される通信プログラム１０４は、TR-069通信プログラム１０４である。もし、端末タイプが、SmartPhoneであれば、OMA-DM通信プロトコルで端末１１０と通信する。
【００３４】
（図７Ａ：ステップＳ７０４）
データツリー操作プログラム１０３は、ステップS７０３で、通信プログラム１０４から受信した端末側データツリー１１２をサーバ側データツリー１０７に格納する。
【００３５】
（図７：ステップＳ７０５）
通信プログラム１０４の端末情報格納部１０４−３は、ステップＳ７０２で、端末管理エージェント１１１から受信した端末IDと端末タイプを端末テーブル１０５に格納する。図２のように、端末IDカラムにA、端末タイプカラムにBroadBandRouterが格納される。
【００３６】
図８Ａは、外部定義を利用した端末情報取得処理（図３、４のＸ１、Ｘ２）を説明するシーケンス図である。図８Ｂは、外部定義プログラム１０２に一構成例を示す機能ブロック図である。外部定義プログラム１０２は、端末タイプ取得部１０２−１と、ＵＲＩ読み込み部１０２−２と、送受信部１０２−３と、を有している。
【００３７】
以下、図８Ａの各ステップについて説明する。
（図８Ａ：ステップＳ８０１）
業務アプリケーション１０１は、情報取得の対象となる端末１１０の端末IDを引数に外部定義プログラム１０２の端末情報取得メソッドを呼び出す。
【００３８】
（図８Ａ：ステップＳ８０２）
外部定義プログラム１０２の端末タイプ取得部１０２−１は、端末テーブル１０５から、ステップS８０１で業務アプリケーション１０１から受け取った端末IDを検索し、抽出したレコードの端末タイプを取得する。端末IDがAであれば、端末タイプとしてBroadBandRouterが取得される。
【００３９】
（図８Ａ：ステップＳ８０３）
外部定義プログラム１０２のＵＲＩ読み込み部１０２−２は、ステップＳ８０２で取得した端末タイプと、ステップＳ８０１で業務アプリケーション１０１によって呼び出された端末情報取得メソッド名を持つ外部定義ファイル１０６から、URIを取得する。ステップＳ８０１で呼び出された端末情報取得メソッドが、端末１１０の製造業者を取得するgetManufacturerであるなら、図５に示した外部定義ファイル１０６からURIとして、/DeviceInfo/Manufacturerが取得される。また、ステップＳ８０２で取得された端末タイプが、BroadBandRouterではなく、SmartPhoneであったなら、外部定義ファイル１０６からURIとして、/DevInfo/Manが取得される。
【００４０】
（図８Ａ：ステップＳ８０４）
外部定義プログラム１０２の送受信部１０２−３は、ステップＳ８０１で受け取った端末IDと、ステップＳ８０３で取得したURIをデータツリー操作プログラム１０３に渡す。
【００４１】
（図８Ａ：ステップＳ８０５）
データツリー操作プログラム１０３は、ステップＳ８０４で受け取った端末IDをルートノードに持つデータツリーをサーバ側データツリー１０７から特定し、同じくステップＳ８０４で受け取ったURIに格納されている値を特定したデータツリーから読み込み、外部定義プログラム１０２に渡す。ステップＳ８０４で受け取った端末IDがAであれば、ステップＳ７０３で、ルートノードがAに変更されたデータツリーが特定され、/DeviceInfo/Manufacturerの位置にあるX社を読み込み、外部定義プログラム１０２に渡す。
【００４２】
（図８Ａ：ステップＳ８０６）
外部定義プログラム１０２の送受信部１０２−３は、ステップＳ８０５で、データツリー操作プログラム１０３から受け取った値を業務アプリケーション１０１に渡す。
【００４３】
図９Ａは、外部定義を利用した端末制御処理（図３、４のＹ１、Ｙ２）を説明するシーケンス図である。図９Ｂは、外部定義プログラム１０２の一構成例を示す機能ブロック図である。図９Ｂに示すように、外部定義プログラム１０２は、端末タイプ取得部１０２−１１と、引数ＵＲＩ、相対ＵＲＩ読み込み部１０２−１２と、引数ＵＲＩ、部分一致ノードＵＲＩ取得部１０２−１３と、ノード特定部１０２−１４と、ＵＲＩ検索部１０２−１５と、外部定義ファイル参照部１０２−１６と、端末ＩＤ、ＲＰＣメソッドＵＲＩ取得部１０２−１７と、送受信部１０２−１８と、を有している、以下、図９Ａの各ステップについて説明する。
【００４４】
（図９Ａ：ステップＳ９０１）
業務アプリケーション１０１は、制御対象となる端末１１０の端末IDと、制御用の情報を格納するツリーを特定するためのサブツリーIDを引数として、外部定義プログラム１０２の端末制御メソッドを呼び出す。例えば、端末IDがAの端末１１０の、EUIDがaのモジュールを停止させたい場合、stopModuleメソッドを、端末IDとしてA、サブツリーIDとしてaを引数として渡して呼び出す。
【００４５】
（図９Ａ：ステップＳ９０２）
外部定義プログラム１０２の端末タイプ取得部１０２−１１は、端末テーブル１０５から、ステップS９０１で業務アプリケーション１０１から受け取った端末IDを検索し、抽出したレコードの端末タイプを取得する。端末IDがAであれば、端末タイプとしてBroadBandRouterが取得される。
【００４６】
（図９Ａ：ステップＳ９０３）
外部定義プログラム１０２の引数ＵＲＩ、相対ＵＲＩ読み込み部１０２−１２は、ステップS９０２で取得した端末タイプと、ステップS９０１で業務アプリケーション１０１によって呼び出された端末制御メソッド名を持つ外部定義ファイル１０６から、引数URIと相対URIを取得する。ステップS９０１で呼び出された端末情報取得メソッドが、stopModuleであるなら、図６に示した外部定義ファイル１０６から引数URIとして、/SoftwareModules/ExecutionUtil/*/EUID、相対URIとして、../Stateが取得される。
【００４７】
（図９Ａ：ステップＳ９０４）
外部定義プログラム１０２の引数ＵＲＩ、部分一致ノードＵＲＩ取得部１０２−１３は、ステップＳ９０３で取得した引数URIと*以外の部分が一致するノードのURIをサーバ側データモデルからすべて読み込み、それぞれの値を取得する。なお、このとき、取得するURIのルートノードはステップS７０３で変更した端末IDから元の/に戻す。図３のツリーの場合、/SoftwareModules/ExecutionUtil/*/EUIDのURIと部分一致するURIを持つノードは2つあり、URIと値のペアとして、(/SoftwareModules/ExecutionUtil/1/EUID,a)、(/SoftwareModules/ExecutionUtil/2/EUID,b)が取得される。
【００４８】
（図９Ａ：ステップＳ９０５）
外部定義プログラム１０２のノード特定部１０２−１４は、ステップＳ９０４で取得したURIと値のペアの中から、ステップＳ９０１で受け取ったサブツリーIDと値が一致するペアを特定する。ステップＳ９０１で受け取ったサブツリーIDがaであれば、特定されるペアは、(/SoftwareModules/ExecutionUtil/1/EUID,a)となる。
【００４９】
（図９Ａ：ステップＳ９０６）
外部定義プログラム１０２のＵＲＩ検索部１０２−１５は、ステップＳ９０５で特定したノードのURIから、ステップS９０３で取得した相対URIの位置にあるURIを求める。ステップS９０５で得られたURIは、/SoftwareModules/ExecutionUtil/1/EUIDであり、相対URIは../Stateである。../Stateは、一階層上のノード下にあるStateノードを指すため、求められるURIは、/SoftwareModules/ExecutionUtil/1/Stateである。
【００５０】
（図９Ａ：ステップＳ９０７）
外部定義プログラム１０２の端末ＩＤ、ＲＰＣメソッドＵＲＩ取得部１０２−１７は、ステップＳ９０２で取得した端末タイプと、ステップS９０２で呼び出された端末制御メソッド名を持ち、外部定義ファイル参照部１０２−１６が参照する外部定義ファイル１０６からプロトコル・端末制御命令メソッド・値を取得する。ただし、値に関しては外部定義ファイル１０６に定義されている場合のみ取得する。端末タイプがBroadBandRouterで、端末制御メソッドがstopModuleであれば、図６に示した外部定義ファイル１０６からプロトコルとしてTR-069、端末制御命令メソッドとしてsetPrametersValue、値としてidleが取得される。一方、端末タイプがSmartPhoneであれば、プロトコルとしてOMA-DM、端末制御命令メソッドとしてexecが取得される。
【００５１】
（図９Ａ：ステップＳ９０８）
外部定義プログラム１０２の送受信部１０２−１８は、ステップS９０７で取得したプロトコルに対応する通信プログラム１０４に、ステップＳ９０１で受け取った端末ID、ステップＳ９０７で取得した端末制御命令メソッドと値、ステップS９０６で求めたURIを渡す。なお、ステップＳ９０７で値が取得されなかった場合は、通信プログラム１０４に値は渡さない。この場合、プロトコルは、TR-069であるため、TR-069通信プログラム１０４に対し、端末IDとしてA、端末制御命令メソッドとしてsetPrametersValue、値としてidle、URIとして/SoftwareModules/ExecutionUtil/1/Stateを渡す。
【００５２】
（図９：ステップＳ９０９）
通信プログラム１０４は、ステップＳ９０８で受け取った端末IDを持った端末１１０に対し、ステップＳ９０８で受け取った値とURIを引数とした端末制御命令メソッドを実行する。この場合、setParametersValueメソッドが端末１１０に対して送信・実行され、端末側データツリー１１２の/SoftwareModules/ExecutionUtil/1/Stateノードの値が、idleに変更される。idleは、ソフトウェアの停止状態を表すため、aをEUIDに持つソフトウェアが停止状態に移行する。
【００５３】
本発明に係る端末管理技術によれば、端末管理サーバ上の業務アプリケーションから端末管理プロトコルに依存した処理を除去することができる。
【００５４】
上記の実施の形態において、添付図面に図示されている構成等については、これらに限定されるものではなく、本発明の効果を発揮する範囲内で適宜変更することが可能である。その他、本発明の目的の範囲を逸脱しない限りにおいて適宜変更して実施することが可能である。位置情報検証方法をコンピュータに実行させるためのプログラム、当該プログラムを記録するコンピュータ読み取り可能な記録媒体であっても良い。
【産業上の利用可能性】
【００５５】
本発明は端末管理装置に利用可能である。
【符号の説明】
【００５６】
１００：端末管理サーバ、１０１：業務アプリケーション、１０２：外部定義プログラム、１０３：データツリー操作プログラム、１０４：通信プログラム、１０５：端末テーブル、１０６：外部定義ファイル、１０７：サーバ側データツリー、１１０：端末、１１１：端末管理エージェント、１１２：端末側データツリー、１２０：インターネット。
【図１】
2013200651.tif 000003
【図２】
2013200651.tif 000004
【図３】
2013200651.tif 000005
【図４】
2013200651.tif 000006
【図５】
2013200651.tif 000007
【図６】
2013200651.tif 000008
【図７Ａ】
2013200651.tif 000009
【図７Ｂ】
2013200651.tif 000010
【図７Ｃ】
2013200651.tif 000011
【図８Ａ】
2013200651.tif 000012
【図８Ｂ】
2013200651.tif 000013
【図９Ａ】
2013200651.tif 000014
【図９Ｂ】
2013200651.tif 000015