(57)【特許請求の範囲】
【請求項１】
コマンドの属性によって、実行可能なユーザが制限されるコンピュータで実行される情報処理プログラムであって、
コンピュータを、
当該コンピュータのメモリに常駐して、サービスを提供するサービス提供手段として機能させ、
前記サービス提供手段はさらに、ＵＰＳを管理するためのアプリケーションプログラムからコマンドの実行を要求されると、コマンドの属性とコマンドを実行可能なユーザ名とを対応づけたコマンド実行ユーザデータから、要求されたコマンドを実行可能なユーザ名を抽出し、抽出されたユーザ名で前記コマンドを実行し、
前記アプリケーションプログラムが要求するコマンドは、前記アプリケーションプログラムにおいて発生したイベントを通知するコマンドであって、
前記アプリケーションプログラムは、前記ＵＰＳのユーザによって任意に設定された、イベントの種別と当該イベントを通知するコマンドを対応づけたユーザ設定データから、前記発生したイベントの種別に対応するコマンドを特定し、前記サービス提供手段に前記コマンドの実行を要求することを特徴とする情報処理プログラム。
【請求項２】
前記サービス提供手段は、当該コンピュータで機能するコマンド要求手段または、通信ネットワークから、前記コマンドの実行の要求を受ける
ことを特徴とする請求項１に記載の情報処理プログラム。
【請求項３】
前記サービス提供手段は、新たなプロセスを生成し、そのプロセスで、抽出されたユーザ名でコマンドを実行する
ことを特徴とする請求項１に記載の情報処理プログラム。
【請求項４】
コマンドの属性によって、実行可能なユーザが制限されるコンピュータでコマンドを実行する情報処理方法であって、
コマンドの属性とコマンドを実行可能なユーザ名とを対応づけたコマンド実行ユーザデータを、記憶装置に記憶するステップと、
コンピュータのメモリに常駐して、サービスを提供するステップと、
前記サービスが、ＵＰＳを管理するためのアプリケーションプログラムから所定のユーザのみが実行可能なコマンドの実行の要求を受けるステップと、
前記コマンドの実行が要求されると、前記コマンド実行ユーザデータから、要求されたコマンドを実行可能なユーザ名を抽出し、抽出されたユーザ名で前記コマンドを実行するステップ
を備え、
前記アプリケーションプログラムが要求するコマンドは、前記アプリケーションプログラムにおいて発生したイベントを通知するコマンドであって、
前記アプリケーションプログラムは、前記ＵＰＳのユーザによって任意に設定された、イベントの種別と当該イベントを通知するコマンドを対応づけたユーザ設定データから、前記発生したイベントの種別に対応するコマンドを特定し、前記サービスに前記コマンドの実行を要求することを特徴とする情報処理方法。
【請求項５】
前記要求を受けるステップは、当該コンピュータまたは通信ネットワークから、前記コマンドの実行の要求を受ける
ことを特徴とする請求項４に記載の情報処理方法。
【請求項６】
前記コマンドを実行するステップは、新たなプロセスを生成し、そのプロセスで、抽出されたユーザ名でコマンドを実行する
ことを特徴とする請求項４に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コマンドの属性によって、実行可能なユーザが制限されるコンピュータで実行される情報処理プログラムおよび情報処理方法に関する。
【背景技術】
【０００２】
昨今コンピュータの利用において、様々な機器が用いられている。その機器の一つにＵＰＳ（無停電電源装置：Uninterruptible Power Supply）がある。ＵＰＳは、停電によりコンピュータへの電力供給が停止するのを回避するため、一定時間、電力供給を継続することのできる電源装置である。
【０００３】
このような機器を適切に利用するため、これらの機器を管理するためのアプリケーションプログラムが必須となっている。このような管理プログラムは、例えば、ＵＰＳが稼働を開始したタイミングを知らせる方法を設定したり、ＵＰＳが稼働した際にバックアップを実行する指示などを設定することができる。
【０００４】
一方コンピュータのオペレーションシステムは、セキュリティを強化するために、ユーザアカウント制御（ＵＡＣ）を適用する場合がある。ユーザアカウント制御によって、特定のコマンドについては、特定のユーザのみが実行可能となる。例えば、特定のユーザのための記憶領域には、そのユーザのみがアクセス可能とすることができる。また、コンピュータは、ＳＹＳＴＥＭユーザのみが、コンピュータ全体の制御に係るコマンドを実行できるよう制限されている。このように、ユーザアカウント制御によって、セキュリティを強化し、安定したオペレーションシステムを提供することができる。
【０００５】
近年のセキュリティ強化の傾向に伴って、任意のログインユーザが実行可能なコマンドが制限される場合がある。具体的には、特定のコマンドが実行される際、オペレーションシステムは、「このコマンドを実行して良いか？」と問い合わせる画面を表示する。この場合、ユーザがＯＫボタンを押下するなどにより明示的に指示を与えた場合のみ、コマンドが実行される。
【０００６】
これにより、円滑にアプリケーションを実行することが困難な場合がある。具体的には、ユーザは、問い合わせ画面に対して明示的な指示を入力するために、コンピュータの前に待機する必要がある。従って、コンピュータを無人で運用することが困難となる。特に、上記のＵＰＳにおいては、コンピュータへの電力の供給に緊急性を要する場合が多く、セキュリティ強化による弊害は甚大になるおそれがある。
【０００７】
これを回避するため、非特許文献１は、管理者として実行させる設定を設けて、アプリケーションを管理者権限で実行させる案を提案している。また非特許文献１は、このような昇格を必要としないアプリケーションを設計する方法も提案している。
【０００８】
また非特許文献２は、古いオペレーションシステムでは、セキュリティが緩いことを利用して、アプリケーションを実行する方法を提案している。非特許文献２は、アプリケーションを古いオペレーションシステムで稼働させる互換モードを開示する。互換モードにおいてアプリケーションは、セキュリティの緩い古いオペレーションシステム上で稼働することにより、セキュリティ強化による弊害を回避する。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】”アプリケーション開発者向け  Microsoft(R) Windows 7  対応アプリケーションの互換性”，［online］，Microsoft Corporation，２０１０年７月２７日，［平成２３年１０月３１日検索］，インターネット＜http://download.microsoft.com/download/B/0/6/B06C5017-9589-4B43-BC18-24052C3C3F15/Windows7_Compatibility.docx＞
【非特許文献２】”アプリケーション開発者向け  Microsoft(R) Windows 7  対応アプリケーションの互換性”，［online］，Microsoft Corporation，２０１０年７月２７日，［平成２３年１０月３１日検索］，インターネット＜http://msdn.microsoft.com/ja-jp/windows/dd882526＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記の非特許文献に記載の方法は、十分な対応策ではないと考えられる。
【００１１】
例えば、非特許文献１に記載の方法では、アプリケーションを変更する必要はないものの、アプリケーションの属性を個別に設定する必要がある。また、現状のオペレーションシステムでは、互換モードを利用して古いオペレーションシステムでの運用を許可する機能を提供するものの、この機能の提供が恒久的に保証されているわけではない。従って、ユーザアカウント制限による不具合が発生しないように、アプリケーションを開発する必要があり、アプリケーション開発者に負担を強いる場合がある。また、セキュリティ強化の観点で、オペレーションシステムがアクセス制限を設けた趣旨を没却してしまうおそれもある。
【００１２】
従って本発明の目的は、コマンドの属性によって、実行可能なユーザが制限されるコンピュータで、円滑にコマンドを実行可能な情報処理プログラムおよび情報処理方法を提供することである。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明の第１の特徴は、コマンドの属性によって、実行可能なユーザが制限されるコンピュータで実行される情報処理プログラムに関する。即ち本発明の第１の特徴に係る情報処理プログラムは、コンピュータを、当該コンピュータのメモリに常駐して、サービスを提供するサービス提供手段として機能させる。サービス提供手段はさらに、コマンドの実行を要求されると、コマンドの属性とコマンドを実行可能なユーザ名とを対応づけたコマンド実行ユーザデータから、要求されたコマンドを実行可能なユーザ名を抽出し、抽出されたユーザ名でコマンドを実行する。
【００１４】
ここで、サービス提供手段は、当該コンピュータで機能するコマンド要求手段または、通信ネットワークから、コマンドの実行の要求を受ける。またサービス提供手段は、新たなプロセスを生成し、そのプロセスで、抽出されたユーザ名でコマンドを実行しても良い。
【００１５】
本発明の第２の特徴は、コマンドの属性によって、実行可能なユーザが制限されるコンピュータでコマンドを実行する情報処理方法に関する。即ち本発明の第２の特徴に係る情報処理方法は、コマンドの属性とコマンドを実行可能なユーザ名とを対応づけたコマンド実行ユーザデータを、記憶装置に記憶するステップと、コンピュータのメモリに常駐して、サービスを提供するステップと、サービスが、所定のユーザのみが実行可能なコマンドの実行の要求を受けるステップと、コマンドの実行が要求されると、コマンド実行ユーザデータから、要求されたコマンドを実行可能なユーザ名を抽出し、抽出されたユーザ名でコマンドを実行するステップを備える。
【００１６】
ここで、要求を受けるステップは、当該コンピュータまたは通信ネットワークから、コマンドの実行の要求を受ける。またコマンドを実行するステップは、新たなプロセスを生成し、そのプロセスで、抽出されたユーザ名でコマンドを実行しても良い。
【発明の効果】
【００１７】
本発明によれば、コマンドの属性によって、実行可能なユーザが制限されるコンピュータで、円滑にコマンドを実行可能な情報処理プログラムおよび情報処理方法を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態に係る情報処理方法を説明するフローチャートである。
【図２】本発明の実施の形態に係る情報処理装置のハードウェア構成と機能ブロックを説明する図である。
【図３】本発明の実施の形態に係る情報処理装置のユーザ設定データのデータ構造とデータの一例を説明する図である。
【図４】本発明の実施の形態に係る情報処理装置において、ＵＰＳの警告を通知時のコマンドを設定する画面の一例である。
【図５】本発明の実施の形態に係る情報処理装置において、ＵＰＳのアラームを通知時のコマンドを設定する画面の一例である。
【図６】本発明の実施の形態に係る情報処理装置のコマンド実行ユーザデータのデータ構造とデータの一例を説明する図である。
【発明を実施するための形態】
【００１９】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【００２０】
本発明の実施の形態に係る情報処理方法は、情報処理装置１に用いられる。情報処理装置１は、コマンドの属性によって、実行可能なユーザが制限されるコンピュータである。
【００２１】
コンピュータのセキュリティを強化するために、オペレーションシステムは、ユーザアクセス制限を設けている。従って、権限を持たないユーザがログインをしてアプリケーションを起動した際、ユーザアクセス制限により、コマンドの実行確認の画面が表示されるなど、コマンドが正しく起動されない場合がある。特にコマンドの実行確認の画面が表示され、ＯＫボタンが押下されない限りコマンドが実行されないことになる。ユーザアクセス制限が設けられたコンピュータにおいて、緊急性を要するコマンドを実行しづらい場合がある。
【００２２】
そこで本発明の実施の形態に係る情報処理方法において、アプリケーションプログラムの実行時にユーザアクセス制限を受けるコマンドが生じると、アプリケーションプログラムは、サービスにこのコマンドの実行を要求する。サービスは、実行を要求されたコマンドについて、このコマンドを実行可能なユーザを特定する。サービスは、オペレーションシステムのＡＰＩ（Application Program Interface）などを用いて、実行可能なユーザに切り替えてコマンドを実行する。
【００２３】
ここで、アプリケーションプログラムは、ユーザのログイン時に実行されるプログラムである。アプリケーションプログラムは、ユーザの操作によって起動したり、ユーザのログインによって起動する。一般的にアプリケーションプログラムは、情報処理装置１の入出力装置を用いて、ユーザからの指示に基づいてデータを処理し、その結果を画面に表示する。例えば、ＵＰＳを管理するためのアプリケーションプログラムは、ＵＰＳを管理および制御するためのパラメータを設定する画面を表示したり、ユーザによって設定されたパラメータを、所定の記憶領域に記憶する。
【００２４】
一方サービスは、情報処理装置１のメモリに常駐して、画面を表示することなく、バックグラウンドで実行する。一般的にサービスは、所定のイベントを検知し、その検知に基づいてデータを処理する。例えば、ＵＰＳを管理するためのサービスは、ＵＰＳを監視し、必要に応じて、データを処理する。本発明の実施の形態においては、「サービス」という名称で説明するが、オペレーションシステムによっては、「デーモン」と呼ばれる場合もある。
【００２５】
図１を参照して、本発明の実施の形態に係る情報処理方法を説明する。まず図１（ａ）に示すように、ステップＳ１において情報処理装置１は、イベントの検出を待機する。本発明の実施の形態においてイベントは、どのようなものでも良い。本発明の実施の形態において「イベント」は、例えば、ＵＰＳに関する重要な事象を通知する警告や、軽微な事象を通知するアラームなどを含む。
【００２６】
イベントを検出すると、ステップＳ２において情報処理装置１は、このイベントをユーザに通知するためのコマンドを取得する。さらに情報処理装置１は、取得したコマンドでのイベントの通知を、サービスに要求する。このコマンドは例えば、ログ表示、ポップアップ表示、メール通知などである。その後、ステップＳ３において情報処理装置１は、情報処理装置１内で実行中のサービスで、ステップＳ２で取得したコマンドを実行する。
【００２７】
さらにステップＳ４において情報処理装置１は、イベント検出時に実行するコマンドがある場合、このイベント検出時に実行するコマンドの実行を要求する。このイベント検出時に実行するコマンドは、ユーザが任意に設定可能なコマンドである。ここで実行されるコマンドは、例えば、データのバックアップなどである。その後、ステップＳ５において情報処理装置１は、情報処理装置１内のサービスで、ステップＳ４で取得したイベント検出時のコマンドを実行する。
【００２８】
図１（ｂ）を参照して、図１（ａ）のステップＳ３およびステップＳ５のコマンド実行処理を説明する。図１（ｂ）の各処理は、情報処理装置１で常駐するサービスによって実行される。
【００２９】
ステップＳ１１において情報処理装置１は、実行するべきコマンドを取得する。さらにステップＳ１２において情報処理装置１は、このコマンドを実行可能な実行ユーザ名を特定し、ステップＳ１３において、実行ユーザによって処理を振り分ける。
【００３０】
実行ユーザがログインユーザの場合、ステップＳ１４において情報処理装置１のサービスは、このログインユーザで、ステップＳ１１で取得したコマンドを実行する。実行ユーザがＳＹＳＴＥＭの場合、ステップＳ１５において情報処理装置１のサービスは、ＳＹＳＴＥＭに切り替えて、ＳＹＳＴＥＭとしてステップＳ１１で取得したコマンドを実行する。実行ユーザがログイン中のユーザでない場合、ステップＳ１６において情報処理装置１は、指定されたユーザ名に切り替えて、指定されたユーザとしてステップＳ１１で取得したコマンドを実行する。
【００３１】
図２を参照して、本発明の実施の形態に係る情報処理装置１を説明する。情報処理装置１は、記憶装置１０、中央処理制御装置２０、メモリ（図示せず）、入力装置（図示せず）、表示装置（図示せず）、通信制御装置（図示せず）等を備える一般的なコンピュータである。記憶装置１０は、ハードディスクなどの記憶媒体である。中央処理制御装置２０は、オペレーションシステムなどを介して、情報処理装置１の各装置との入出力を制御し、データを処理する。
【００３２】
通信制御装置は、他の通信機器との情報を送受信し、中央処理制御装置２０に入出力する。本発明の実施の形態においては情報処理装置１は、例えば、管理対象のＵＰＳと、通信制御装置を介してデータを送受信する。また通信制御装置は、他のネットワークを介して、他の情報端末入力されたコマンドの実行要求を受信し、中央処理制御装置２０に入力しても良い。ここで、他の情報端末とは、当該情報処理装置１ではないコンピュータや、通信機能を備えたＵＰＳなどの機器である。
【００３３】
記憶装置１０は、本発明の実施の形態に係る情報処理プログラムを記憶するとともに、ユーザ設定データ１１およびコマンド実行ユーザデータ１２を記憶する。中央処理制御装置２０は、本発明の情報処理プログラムがインストールされ、実行されることによって、アプリケーション実行手段３０およびサービス提供手段４０を実装する。
【００３４】
アプリケーション実行手段３０は、所定の処理を実行するアプリケーションプログラムを実行する。アプリケーション実行手段３０は、設定手段３１、イベント検出手段３２、イベント通知コマンド要求手段３３およびユーザ設定コマンド要求手段３４を備える。
【００３５】
設定手段３１は、ユーザの操作によって、ユーザ設定データ１１を生成し、記憶装置１０に記憶する。
【００３６】
ユーザ設定データ１１は、情報処理装置１で実行するコマンドに関するデータである。ユーザ設定データ１１は、コマンドを実行するタイミングと、実行するコマンドを対応づけたデータである。このユーザ設定データ１１で記憶されるコマンドは、どのユーザも実行可能なコマンドや、所定のユーザのみが実行可能なコマンドを含む。
【００３７】
ユーザ設定データ１１は、図３に示すように、イベント通知コマンドに関するデータと、ユーザ設定コマンドに関するデータとを含む。イベント通知コマンドに関するデータは、イベント発生を通知するコマンドに関するデータである。ユーザ設定コマンドに関するデータは、ユーザが任意で設定したイベント発生時に実行するコマンドに関するデータである。ユーザ設定データ１１は、イベントの種別ごとに、イベント通知コマンドおよびユーザ設定コマンドを対応づける。
【００３８】
ここでイベント種別は、アプリケーション実行手段３０がコマンドをサービス提供手段４０に要求する条件となるイベント種別である。図３に示すユーザ設定データ１１では、ＵＰＳに関する警告やアラームなどのイベントが発生した際に、アプリケーション実行手段３０がコマンドをサービス提供手段４０に要求するコマンドについて説明するが、これに限られない。例えば、コマンドを定期的に実行する場合、イベント種別として、コマンドを実行する時間情報を設定しても良い。
【００３９】
図３のユーザ設定データ１１のイベント通知コマンドのデータは、イベントが発生した際に、ユーザにイベントの発生を通知する方法を特定するデータである。アプリケーション実行手段３０は、イベントが発生した際、ユーザ設定データ１１のイベント通知コマンドで設定された方法でユーザにイベントを通知するためのコマンドを特定し、そのコマンドの実行をサービス提供手段４０に要求する。図３においては、「有効」と設定されたコマンドでユーザにイベントを通知する。
【００４０】
図３に示す例において、「バッテリ運転」のイベントが発生すると、ユーザに、「ログ表示」、「ポップアップ通知」および「メール通知」の３つの方法で通知する。ここで「ログ表示」は、当該情報処理装置１のログデータに記憶して、ユーザに通知する方法である。「ポップアップ通知」は、当該情報処理装置１の表示装置にポップアップ画面を表示して、ユーザに通知する方法である。「メール通知」は、予め登録したメールアドレス宛にメールを送信して、ユーザに通知する方法である。
【００４１】
図３のユーザ設定データ１１のユーザ設定コマンドのデータは、イベントが発生した際に、ユーザによって任意に設定された情報処理装置１が実行するコマンドに関するデータである。ユーザ設定コマンドのデータは、有効または無効のフラグ、コマンドパスおよびコマンドの実行属性を備える。アプリケーション実行手段３０は、イベントが発生した際、当該イベントに対応するフラグが有効に設定されている場合、コマンドパスで指定されたコマンドを、実行属性で指定された属性で実行するように、サービス提供手段４０に要求する。コマンドパスは、情報処理装置１の記憶装置１０に記憶されたコマンドの格納場所を特定する情報である。
【００４２】
実行属性は、このコマンドを実行する際の属性の情報である。この実行属性は、図６を参照して説明するコマンド実行ユーザデータ１２のコマンド属性に対応する。実行属性として、「バックグラウンド」が指定されている場合、画面表示のコマンドを含まず、バックグラウンドでコマンドが実行される。「対話型」が指定されている場合、例えばコマンドの実行の適否を確認する画面表示して、ユーザからの指示の入力により動作するコマンドが実行される。この「対話型」は、コマンド実行ユーザデータ１２の「画面表示」に対応する。任意ユーザのパスワードが指定されている場合、実行属性で指定されたユーザ名およびパスワードで任意ユーザがログインした状態で、この任意ユーザの権限でコマンドが実行される。
【００４３】
設定手段３１は、図４および図５に示す画面に対するユーザの入力によって、ユーザ設定データ１１を生成する。図４は、ＵＰＳに関する警告のイベントに関して、イベントごとに、実行するコマンドに関する情報を入力させる画面である。図４に示す画面は、警告イベントに関して、各イベントごとに、ユーザコマンド設定部４０１および警告通知方法設定部４０２を備える。
【００４４】
ユーザコマンド設定部４０１は、ユーザ設定データ１１のユーザ設定コマンドを生成するためのデータ入力部である。ユーザコマンド設定部４０１の各データ項目は、ユーザ設定データ１１のユーザ設定コマンドの各データ項目に対応する。なお、「テスト実行」ボタンは、コマンドパスで指定されたコマンドをテストで実行するボタンである。警告通知方法設定部４０２は、ユーザ設定データのイベント通知コマンドを生成するためのデータ入力部である。警告通知方法設定部４０２の各データ項目は、ユーザ設定データ１１のイベント通知コマンドの各データ項目に対応する。
【００４５】
図５に示す画面は、ＵＰＳに関する状態通知イベントに関して、イベントごとに、実行するコマンドに関する情報を入力させる画面である。図５に示す画面は、各イベントごとに、ユーザコマンド設定部５０１および状態通知方法設定部５０２を備える。ユーザコマンド設定部５０１および状態通知方法設定部５０２は、図４を参照して説明したユーザコマンド設定部４０１および警告通知方法設定部４０２と同様である。
【００４６】
図４および図５に示す画面において、ユーザがイベントごとに実行するコマンドを指定すると、設定手段３１は、イベントの識別子と、そのイベント時に実行するコマンドのデータとを対応づけてユーザ設定データ１１を生成し、記憶装置１０に記憶する。設定手段３１がユーザ設定データ１１を生成すると、ユーザ設定データ１１は、アプリケーション実行手段３０およびサービス提供手段４０で適宜参照される。
【００４７】
ここでは、ユーザ設定データ１１を生成する際の処理を説明したが、図４および図５に示す画面を用いて、ユーザ設定データ１１が更新されてもよい。
【００４８】
イベント検出手段３２は、ユーザ設定データ１１の「イベント種別」で指定されるイベントを検出する。イベント検出手段３２の処理は、図１（ａ）のステップＳ１に相当する。
【００４９】
アプリケーション実行手段３０がＵＰＳの管理アプリケーションの場合、イベント検出手段３２は、バッテリ運転、ＵＰＳテスト完了などのＵＰＳに関する警告や、バッテリ交換必要、停電発生などのアラームなどのイベントを検出する。イベント検出手段３２がイベントを検出すると、検出したイベントの種別とともに、イベント通知コマンド要求手段３３にその旨を通知する。
【００５０】
イベント通知コマンド要求手段３３は、サービス提供手段４０に、イベントを通知するコマンドの実行を要求する。イベント通知コマンド要求手段３３の処理は、図１（ａ）のステップＳ２の処理に相当する。
【００５１】
イベント通知コマンド要求手段３３は、イベント検出手段３２からイベントの検出が通知されると、記憶装置１０からユーザ設定データ１１を読み出し、サービス提供手段４０に、イベント通知コマンドで指定された方法で、ユーザにイベントの発生を通知させる。イベント通知コマンド要求手段３３は、例えば、イベント検出手段３２から、「バッテリ運転」のイベントが検出された旨が連絡されると、ユーザ設定データ１１を読み出して、このイベントの通知方法が、ログ表示、ポップアップ通知およびメール通知であると取得する。イベント通知コマンド要求手段３３は、ここで取得したコマンドのそれぞれを、サービス提供手段４０に実行させる。イベントの通知内容やテンプレートは、予め、アプリケーション実行手段３０が保持していても良い。
【００５２】
イベント通知コマンド要求手段３３は、コマンドを実行させるサービスのＩＰアドレスおよびポート番号を予め保持する。イベント通知コマンド要求手段３３は、コマンドの実行を要求する際、予め保持したＩＰアドレスおよびポート番号でサービスを呼び出して、呼び出したサービスにコマンドを実行させる。
【００５３】
サービス提供手段４０によるコマンドの実行が終了すると、イベント通知コマンド要求手段３３は、イベントが検出された旨と、検出したイベントの種別を、ユーザ設定コマンド要求手段３４に通知する。なお、ユーザ設定データ１１において、このイベントに対応するユーザ設定コマンドについてフラグが無効に設定される場合、ユーザ設定コマンド要求手段３４に通知することなく、このまま処理を終了しても良い。
【００５４】
ユーザ設定コマンド要求手段３４は、サービス提供手段４０に、イベント発生時にコマンドの実行を要求する。ユーザ設定コマンド要求手段３４の処理は、図１（ａ）のステップＳ４の処理に相当する。
【００５５】
ユーザ設定コマンド要求手段３４は、イベント通知コマンド要求手段３３からイベントの検出を通知されると、記憶装置１０からユーザ設定データ１１を読み出し、ユーザ設定コマンドで指定されたコマンドを実行属性で実行する要求を、サービス提供手段４０に入力する。ユーザ設定コマンド要求手段３４は、例えば、イベント通知コマンド要求手段３３から、「バッテリ運転」のイベントが検出された旨が連絡されると、ユーザ設定データ１１を読み出して、このイベントの通知に実行するコマンドとして、コマンドパス「c:\bin\backup.exe」および実行属性「バックグラウンド」を取得する。ユーザ設定コマンド要求手段３４は、ここで取得したコマンドを、取得した実行属性で、サービス提供手段４０に実行させる。
【００５６】
ユーザ設定コマンド要求手段３４は、コマンドを実行させるサービスのＩＰアドレスおよびポート番号を予め保持する。ユーザ設定コマンド要求手段３４は、コマンドの実行を要求する際、予め保持したＩＰアドレスおよびポート番号でサービスを呼び出して、呼び出したサービスにコマンドを実行させる。
【００５７】
本発明の実施の形態において、アプリケーション実行手段３０およびサービス提供手段４０は、同一のコンピュータ内に実装する場合を説明するが、これに限られない。アプリケーション実行手段３０とサービス提供手段４０とは、異なるコンピュータがそれぞれ実装しても良い。サービス提供手段４０は、同一のコンピュータから、コマンドの実行要求を受けるとともに、通信ネットワークを介して、他の情報端末からコマンドの実行要求を受けても良い。
【００５８】
サービス提供手段４０によるコマンドの実行が終了すると、ユーザ設定コマンド要求手段３４は、処理を終了する。
【００５９】
サービス提供手段４０は、情報処理装置１のメモリに常駐して、サービスを提供する。サービス提供手段４０は、本発明の実施の形態においては特に、アプリケーション実行手段３０から要求されたコマンドを実行するコマンド実行手段４１を備える。
【００６０】
コマンド実行手段４１は、イベント通知コマンド要求手段３３あるいはユーザ設定コマンド要求手段３４から、コマンドの実行の要求を受ける。コマンド実行手段４１は、コマンドの実行を要求されると、コマンド実行ユーザデータ１２から、要求されたコマンドを実行可能なユーザ名を抽出する。コマンド実行手段４１は、要求されたコマンドを実行可能なユーザ名を抽出し、抽出されたユーザ名でコマンドを実行する。
【００６１】
ここでコマンド実行ユーザデータ１２は、図６に示すように、コマンドの属性とコマンドを実行可能なユーザ名とを対応づけたデータである。
【００６２】
図６に示すコマンド実行ユーザデータ１２において、画面表示を含むコマンドは、ログイン中のユーザが実行可能であり、バックグラウンドで実行されるコマンドは、ＳＹＳＴＥＭ権限で実行可能であることを示す。ここで、画面表示を含むコマンドは、ログインユーザ以外のユーザは実行することができない。またバックグラウンドで実行されるコマンドは、ＳＹＳＴＥＭ権限以外で実行すると、エラーメッセージや確認メッセージなどが表示されて、スムーズにコマンドを実行することができない。
【００６３】
また、ファイルの更新については、更新対象のファイル種別によって、実行ユーザが異なる。システムフォルダのファイルは、ＳＹＳＴＥＭ権限でのみ更新可能であることを示す。ログインユーザのフォルダのファイルは、ログインユーザのみ更新可能であることを示す。非ログインユーザのフォルダのファイルは、その非ログイン  ユーザのみ更新可能であることを示す。
【００６４】
コマンド実行手段４１は、実行するべきコマンドが入力されると、そのコマンドを実行可能なユーザを、コマンド実行ユーザデータ１２から特定して、そのユーザとしてコマンドを実行する。このときコマンド実行手段４１は、新たなプロセスを生成し、そのプロセスで、抽出されたユーザ名でコマンドを実行する。
【００６５】
例えば、画面表示を含むコマンドを実行する際、コマンド実行手段４１は、コマンド実行ユーザデータ１２を読み出して、このコマンドを実行可能なユーザがログインユーザであると判断する。その後、コマンド実行手段４１は、現在のログインユーザで画面表示のコマンドを実行するためのプロセスを新たに生成する。Ｗｉｎｄｏｗｓ（登録商標）の場合、コマンド実行手段４１は、ログイン中のユーザ名を取得した後、ＣｒｅａｔｅＰｒｏｃｅｓｓＷｉｔｈＬｏｇｏｎＷのＡＰＩを呼び出して、ログイン中のユーザ名および実行コマンドのコマンドパスをパラメータとして、新たなプロセスに引き渡す。新たに生成したプロセスで、画面表示のコマンドが実行される。
【００６６】
また、バックグラウンドでコマンドを実行する際、コマンド実行手段４１は、コマンド実行ユーザデータ１２を読み出して、このコマンドを実行可能なユーザがＳＹＳＴＥＭであると判断する。その後、コマンド実行手段４１は、ＳＹＳＴＥＭ権限に切り替えて、バックグラウンドでコマンドを実行するためのプロセスを新たに生成する。Ｗｉｎｄｏｗｓ（登録商標）の場合、コマンド実行手段４１は、ＣｒｅａｔｅＰｒｏｃｅｓｓのＡＰＩを呼び出して、バックグラウンドで実行するコマンドのコマンドパスをパラメータとして、新たなプロセスに引き渡す。その後、新たに生成したプロセスで、コマンドがバックグラウンドで実行される。
【００６７】
また、非ログインユーザのフォルダのファイルを更新するコマンドを実行する際、コマンド実行手段４１は、コマンド実行ユーザデータ１２を読み出して、このコマンドを実行可能なユーザがその更新対象のフォルダのユーザであると判断する。その後、コマンド実行手段４１は、その非ログインユーザに切り替えて、バックグラウンドでコマンドを実行するためのプロセスを新たに生成する。Ｗｉｎｄｏｗｓ（登録商標）の場合、コマンド実行手段４１は、ＣｒｅａｔｅＰｒｏｃｅｓｓＡｓＵｓｅｒのＡＰＩを呼び出して、その非ログインユーザのユーザ名と、パスワードと、実行するコマンドのコマンドパスをパラメータとして引き渡す。その後、新たに生成したプロセスで、非ログインユーザの権限で、その非ログインユーザのフォルダのファイルを更新するコマンドが実行される。
【００６８】
ここで、本発明の実施の形態に係る情報処理装置１においては、コマンド実行ユーザデータ１２を記憶装置１０に記憶する場合について説明したが、これに限られない。例えば、サービス提供手段４０やコマンド実行手段４１中のプログラム中に、コマンド実行ユーザデータ１２に対応するテーブルを備えても良い。また、このプログラム中に、コマンドごとに実行ユーザを特定する処理が含まれても良い。
【００６９】
このように本発明の実施の形態に係る情報処理方法および情報処理プログラムは、アプリケーションプログラムが、サービスプログラムに、所定のコマンドを実行させる。このときサービスプログラムは、コマンドの属性に応じて、実行可能なユーザとして実行可能なプロセスを生成して、そのプロセス中でコマンドを実行する。
【００７０】
これにより、情報処理装置のオペレーションシステムのアクセス制限によって、コマンドの実行が制限される場合でも、適切なユーザに切り替えることにより、任意のコマンドを適切に実行することができる。また、コマンドの属性と、そのコマンドを実行可能なユーザとをコマンド実行ユーザデータ１２に記憶しているので、今後も想定されるセキュリティ強化に、対応することができる。今度セキュリティが変更し、さらにアクセス制限が厳しくなっても、本発明の実施の形態に係る情報処理方法によれば、アプリケーションそのものを改良する必要はなく、このコマンド実行ユーザデータ１２を更新すれば対応できる。
【００７１】
本発明の実施の形態においては、サービスがコマンド実行の要求を受け、コマンドを実行することにより、ユーザのログインの有無にかかわらず、コマンドを実行することができる。また、今後のセキュリティ強化に伴い、アプリケーションの制約やアクセス権限などの制限が厳しくなることが予想される一方、サービスについては、そのような制限が厳しくなることは考えにくい。従って、サービスがコマンドを実行することにより、今後のオペレーションシステムの改変にも対応しやすい。
【００７２】
また、サービスは、ＳＹＳＴＥＭ権限で稼働するので、アプリケーションに比べて安定した稼働が期待できる。サービスがコマンドを実行することにより、情報処理装置１を安定して稼働することができる。さらに、例えばＵＰＳなどの機器の状態や警報などの情報を適切に情報処理装置１に出力できるので、これらの機器の安定稼働を期待できる。
【００７３】
従来、セッション０を分離して、セッション０にサービスのみを実行させる仕様のオペレーションシステムにおいて、セッション０に対して画面を表示するコマンドなどを入力しても、画面が表示できない問題があった。しかし本発明の実施の形態においては、サービスにおいてユーザを切り替えてコマンドを実装するので、このようなオペレーションシステムでも、セッション０の分離による弊害を回避して、画面を表示するコマンドを実行することができる。
【００７４】
またコマンド実行ユーザデータ１２において、実行ユーザを個別に指定することにより、情報処理装置１のセキュリティも確保することができる。例えば、全てのコマンドについて、実行ユーザを「ＳＹＳＴＥＭ」として実行することもできる。しかしながら、全てのコマンドを「ＳＹＳＴＥＭ」で実行すると、セキュリティを強化した趣旨が没却されてしまう。そこで本発明の実施の形態に係るコマンド実行ユーザデータ１２において、各コマンドについて、個別に実行可能なユーザを設定する。各コマンドを実行可能な、権限のより低いユーザ名をコマンド実行ユーザデータ１２に設定することにより、セキュリティを担保しつつ、セキュリティ強化に伴う弊害を是正することができる。
【００７５】
さらに本発明の実施の形態に係る情報処理方法は、アプリケーションを古いオペレーションシステムで稼働させるために、オペレーションシステムが提供する互換モードを利用することなく、あらゆる環境に対応することができる。
【００７６】
（その他の実施の形態）
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【００７７】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【００７８】
１  情報処理装置
１０  記憶装置
１１  ユーザ設定データ
１２  コマンド実行ユーザデータ
２０  中央処理制御装置
３０  アプリケーション実行手段
３１  設定手段
３２  イベント検出手段
３３  イベント通知コマンド要求手段
３４  ユーザ設定コマンド要求手段
４０  サービス提供手段
４１  コマンド実行手段
４０１、５０１  ユーザコマンド設定部
４０２  警告通知方法設定部
５０２  状態通知方法設定部
【図１】
0005857637.tif 000002
【図２】
0005857637.tif 000003
【図３】
0005857637.tif 000004
【図４】
0005857637.tif 000005
【図５】
0005857637.tif 000006
【図６】
0005857637.tif 000007