以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における情報処理装置のブロック図である。
情報処理装置1は、処理実行部100、指定情報格納部101、利用情報取得部102、時刻取得部103、時間指定情報検出部104、判断部105、出力部106を具備する。
処理実行部100は、ソフトウェアを実行する。なお、ここで述べるソフトウェアの実行とは、各種の処理の実行と考えても良い。具体的には、処理実行部100は、図示しない受付部等が受け付けた、ユーザからの操作や、図示しない他の装置等から送信される指示等に応じて、ソフトウェアを実行する。実行対象となるソフトウェアは、図示しないハードディスク等の記憶媒体に予め格納されていると考えて良い。ここで述べるソフトウェアとは、どのような種類のソフトウェアであっても良く、例えば、アプリケーションソフトウェアであっても良いし、オペレーティングシステムのソフトウェアであっても良い。具体例を挙げると、ソフトウェアは、会計処理や、営業管理等の業務に用いられるシステムである業務システムを構成するソフトウェア等である。処理実行部100は、ソフトウェアの利用状況等が取得可能なものであることが好ましい。利用状況とは、具体的には、ソフトウェアを利用しているユーザや、ソフトウェアを用いてアクセスしている情報(例えばファイル)や、ユーザが利用中あるいは利用した操作や機能や処理等を示す情報である。ソフトウェアを利用するということは、ユーザがソフトウエアを実行させることと考えても良い。利用状況は、ユーザが利用しているアドオンソフトウェア等を示す情報であっても良い。処理実行部100は、例えば、ログイン中のユーザアカウント等の識別情報や、操作の履歴であるログや、実行中のプロセスや処理、アクセス中の情報等を示す情報を取得可能なものである。
処理実行部100は、図示しない認証部等がログインの認証処理を行い、ログインの成功を判断した以降、ログアウトを行うまでの期間中において、例えばユーザからの操作に応じて、ソフトウェアを実行する。ソフトウェアにより実行される処理は、例えば、ログインの処理や、パスワード変更の処理等問わない。処理実行部100は、ユーザからの操作をどのように受け付けても良く、例えば、図示しない入力デバイス等を介して、図示しない受付部等により操作を受け付ける。処理実行部100は、例えば、図示しない受付部等が受け付けた操作や指示や情報に応じた処理を行う。処理実行部100の制御は、処理実行部100自身が行ってもよいし、図示しない他の制御部等が行うようにしても良い。処理実行部100は、通常、MPUやメモリ等から実現され得る。処理実行部100の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
指定情報格納部101は、ソフトウェアの利用に関するユーザの制限事項を指定する情報である制限情報と、当該制限情報が適用される時間を指定する情報である時間指定情報とが格納され得る。制限事項とは、各ユーザがソフトウェアを利用する際に制限される事項である。あるいはソフトウェアを実行する際に制限される事項と考えても良い。制限事項は、例えば、許可されていない事項や、禁止される事項である。ただし、ここでの禁止は、厳密な禁止でなくても良く、推奨されていない事項等であっても良い。特に、この実施の形態における制限事項は、適用される時間が限定される制限事項であり、その適用される事項は、時間指定情報により指定される。事項とは、例えば、操作や、処理等である。なお、制限事項は、結果的に制限される事項を示すことができるものであればよく、例えばユーザが許可されている事項もここでは、制限事項と考えても良い。ただし、この場合、制限事項に該当するということは、許可される事項に該当しないということとなる。制限事項は、各ユーザ別に異なるものであっても良いし、共通したものであっても良い。ここで述べるユーザとは、個人と考えても良いし、ユーザが所属する部署や、役職などの階級等の予め指定された属性を有するグループとしてもよい。即ち、個人別に制限事項が指定されていても、グループ別に制限事項が指定されていても良い。制限情報は、通常、制限事項が適用されるユーザを指定するための情報や、当該ユーザに適用される制限事項を指定する情報や、これらの組み合わせ等により構成される。ただし、制限情報は、どのユーザに、どのような制限が課せられるかが判断可能な情報であればよい。例えば、制限情報が予め指定された一あるいは一組の制限事項だけを指定するための情報であると設定されている場合、制限情報は、その一あるいは一組の制限が適用されるユーザを指定する情報であればよい。ユーザを指定するための情報は、例えば、ユーザ名や、ユーザアカウント等のユーザの識別情報(ユーザ識別情報)である。ユーザ識別情報は、ソフトウェアを利用する際のログインに利用されるユーザ識別情報であることが好ましい。また、ソフトウェアが、予め、指定された一のユーザしか利用できないものである場合、制限を受けるユーザが特定されるため、制限情報は、制限事項を指定する情報のみであっても良い。制限情報は、ユーザを指定するための情報を必ずしも含んでいる必要はなく、制限情報が、当該制限情報とは別に設けられたユーザを指定する情報と対応付けられているようにしても良い。なお、制限情報は、結果的にソフトウェアの利用に関して、ユーザが制限されている事項を指定することが可能な情報であればよく、例えばソフトウェアの利用に関してユーザが許可されている事項を指定する情報を制限情報と考えても良い。
制限情報は、一例を挙げると、ログイン制限を指定する制限情報である。例えば、この制限情報はソフトウェアへのログインが禁止されているユーザ、言い換えればソフトウェア自体の利用が禁止されているユーザのユーザ識別情報で構成される。この場合、この制限情報に含まれるユーザ識別情報に対応したユーザが、ログインが禁止されているユーザであることとなる。なお、制限情報は、ログインが許可されているユーザのユーザ識別情報であってもよい。この場合、この制限情報に含まれないユーザ識別情報に対応したユーザが、ログインが禁止されているユーザとなる。
また、制限情報は、例えば、アクセス制限を指定する制限情報である。例えば、この制限情報は、アクセスが制限される情報を指定する情報と、当該情報に対するソフトウェアを利用したアクセスが制限されるユーザの識別情報とを対応付けて組み合わせた情報である。この場合、この制限情報に含まれる一のユーザ識別情報に対応したユーザによる、当該一のユーザ識別情報と対応付けられたアクセスが制限される情報を指定する情報が指定する情報に対する、予め指定されたアクセスが制限されていることとなる。更に、アクセスが制限される情報別や、ユーザ別に制限内容を指定したい場合、その制限内容を指定する情報との組み合わせであってもよい。アクセスが制限される情報とは、例えば、ファイルや、データベース等である。アクセスが制限される情報を指定する情報とは、例えば、ファイル名等のファイルを指定する情報や、データベース名等のデータベースを指定する情報や、レコード名等のレコードを指定する情報等である。制限内容を指定する情報とは、例えば、アクセス制限される情報に対する制限されているアクセス内容を指定する情報であり、読みだし禁止や、書き込み禁止や、複製禁止や、削除禁止等の、制限対象となる操作を指定する情報である。ただし、予め指定された内容のアクセス制限を、全てのアクセスが制限される情報に対して指定する場合、この制限内容を指定する情報は省略してよい。
また、制限情報は、例えば、機能制限を指定する制限情報である。例えば、この制限情報は、ソフトウェアの機能のうちの、ユーザの利用が制限、例えば禁止されている機能を指定する情報と、当該機能の制限されているユーザの識別情報とを対応付けて組み合わせ他情報である。この場合、この制限情報に含まれる一のユーザ識別情報に対応したユーザによる、当該一のユーザ識別情報と対応付けられた利用が制限される機能を指定する情報が指定する機能の利用が制限されていることとなる。ソフトウェアの機能とは、ここでは、ソフトウェアにより実行可能な処理の一部等を指す。また、ソフトウェアに組み込まれているアドオンソフトウェア等を、ソフトウェアの機能の一つと考えても良い。また、実行可能な実行ファイル等と考えても良い。ユーザが制限されている機能を指定する情報は、例えば、制限されている機能の実行を指示するコマンドを指定する情報、例えばコマンド名やメニュー等であってもよい。また、ユーザが制限されている機能を指定する情報は、例えばアドオンソフトウェア等を指定する情報と考えても良い。また、ユーザが制限されている機能を指定する情報は、ユーザによる実行が禁止されている実行ファイルを指定する情報であっても良い。実行が制限されている機能を指定する情報をここでは、機能制限情報と呼ぶ。なお、この機能を制限するための制限情報に、ソフトウェア全体の利用を禁止させる情報を含めるようにしても良い。
アドオンソフトウェアとは、ソフトウェア本体に特定の機能を付加したり、カスタマイズしたりするために、ソフトウェア本体に追加されるソフトウェアである。アドオンソフトウェアは、例えば部分ソフトウェアである。いわゆるプラグインモジュール等もアドオンソフトウェアと考えて良い。また、ソフトウェア本体が、複数のアプリケーションソフトウェアの組み合わせである場合、この組み合わせに追加される他のアプリケーションソフトウェアをアドオンソフトウェアと考えても良い。アドオンソフトウェアは通常はユーザが追加するものであるが、必ずしもユーザが追加するものである必要はない。
なお、ここでは説明のため、制限情報がユーザの制限事項を指定する情報である場合について説明するが、制限情報は、ユーザの制限事項を、結果的に特定できる情報であれば良い。具体的には、ソフトウェアの利用に関するユーザの制限されない事項を指定できる情報であっても良い。即ち、制限情報は、どのユーザに、どのような制限が課せられないかが判断可能な情報であればよい。このように、制限情報が、ユーザの制限を受けない事項を指定する情報であれば、結果的に、この制限を受けない事項以外が、制限を受ける事項であると判断可能であるからである。
時間指定情報は、上述した制限情報が指定する制限事項が適用される時間を指定する情報である。指定情報格納部101には、例えば、制限情報と、当該制限情報が指定する制限事項が適用される時間を指定する時間指定情報とが、対応付けて格納されている。即ち、制限情報は、当該制限情報に対応付けられた時間指定情報が指定する時間において有効な制限事項を示す情報と考えても良い。ここで述べる時間とは、具体的には、開始時刻と終了時刻、または少なくともその一方が指定されている期間である。ここで述べる時刻とは、時分秒で表される概念と考えてもよいし、年月日等の日付や曜日を含む概念と考えても良い。例えば時刻が「19時43分」等であっても良いし、「9月15日」等であっても良い。また、ここでの時間は期間と考えて良く、その期間は、何時以降、何日以前というように、終了時刻または開始時刻の一方を指定しない期間であっても良く、また、日時等で期間の開始や終了が指定されても良い。
なお、時間指定情報は、結果的に制限情報が適用される時間を指定可能な情報であればよい。具体的には、制限情報が適用されない時間を指定する情報であっても良い。このような場合においても、結果的に、時間指定情報が示す時間以外の時間が、制限情報が適用される時間であると判断可能であるからである。なお、この場合、後述する時間指定情報検出部104は、例えば、時刻取得部103が取得した時刻を含まない時間指定情報と対応付けられた制限情報を取得するようにすればよい。
指定情報格納部101に、制限情報と時間指定情報とが蓄積される経路やタイミング等は問わない。指定情報格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
利用情報取得部102は、実行中のソフトウェアや処理についてのユーザの利用状況を示す情報である利用情報を取得する。利用状況とは、具体的には、ソフトウェアを利用しているユーザや、ソフトウェアを用いてアクセスしている情報や、ユーザが利用中あるいは利用した操作や機能や処理等を示す情報である。利用状況は、例えば、単に、ユーザがログイン中であることを示す情報であっても良いし、ソフトウェアを用いてどのような処理を実行しているかや、ソフトウェアのどのような機能を利用しているかを示す情報であっても良い。また、どのようなファイルやデータ等の情報にアクセスしているか等を示す情報であっても良い。
利用情報取得部102が、どのように、利用情報を取得するかは問わない。例えば、ソフトウェアを実行している処理実行部100から、実行中のプロセスを示す情報、例えばプロセス名や、実行モジュール名や、実行プログラム名や実行中のアドオンソフトを示す情報等を受け取る、あるいは読み出すことにより、実行中の機能を示す利用情報を取得しても良い。このような実行中のプロセスを示す情報等の、ユーザがソフトウェアを利用して実行している機能を示す情報を、ここでは、実行機能情報と呼ぶ。また、処理実行部100がログ等として書き出した情報から利用情報を読み出しても良い。あるいは、ユーザが入力したコマンド等に含まれるファイル名や、実行する処理を示す情報等を、一時記憶しておくようにし、これらの情報を利用情報として取得しても良い。
また、利用情報取得部102は、例えば、ログインしているユーザのユーザ識別情報を、利用情報として取得してもよい。通常、ログイン時に入力されたユーザ識別情報は、現在利用中のユーザの識別情報や、ソフトウェアの利用履歴等として、図示しないユーザ識別情報格納部に格納されるため、当該ユーザ識別情報格納部から、利用情報取得部102が、ユーザ識別情報を読み出しても良い。
また、利用情報取得部102は、ユーザがソフトウェアを利用してアクセスしている情報を示す情報であるアクセス対象情報を利用情報として取得してもよい。アクセスしている情報とは、例えば、アクセスしているファイルやデータベース、あるいはデータベース内のレコード等であり、アクセス対象情報は、これらのファイル名やデータベース名やレコード名やレコードのID等である。利用情報取得部102は、例えば、処理実行部100が読み込んで処理しているファイルや、データベースや、レコード等を識別する情報、例えば、ファイル名やデータベース名やレコード名等を、処理実行部100等から取得しても良い。
利用情報取得部102が、利用情報を取得するタイミング等は問わない。例えば、予め指定されている定期、または不定期のタイミングで利用情報を取得しても良いし、予めしてされたトリガー等に応じて利用情報を取得しても良い。なお、利用情報取得部102の読み出すタイミングは、例えば、後述する時刻取得部103が利用時刻の情報を取得するタイミングの前後や、後述する判断部105等が判断を行う直前等であることが好ましい。
利用情報取得部102は、通常、MPUやメモリ等から実現され得る。利用情報取得部102の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
時刻取得部103は、予め指定されたタイミングで利用時刻の情報を取得する。利用時刻の情報とは、利用時刻を示す情報であり、ここでは利用時刻情報と呼ぶ。利用時刻は、例えば、ユーザがソフトウェアを利用している現在の時刻である。なお、情報処理装置1を利用している現在の時刻と考えても良い。時刻取得部103は、例えば、図示しない時計や時刻の情報を送信するサーバ等から利用時刻情報を取得する。時刻取得部103が利用時刻情報を取得するタイミング等は問わない。例えば、ソフトウェアの起動や、ソフトウェアに対する予め指定された操作や、予め指定されたファイル等に対するアクセス等が行われたことをトリガーとして、利用時刻の情報を取得しても良い。また、動作周波数を分周して得られた周波数や、時計等が出力する秒等の情報を用いて時間間隔をカウントして、予め指定した時間間隔に達した場合に、利用時刻情報を取得しても良い。時刻取得部103が取得する利用時刻とは、時分秒で表される概念と考えてもよいし、年月日等の日付を含む概念と考えても良い。時刻取得部103は、通常、MPUやメモリ等から実現され得る。時刻取得部103の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
時間指定情報検出部104は、時刻取得部103が取得した利用時刻を含む時間を指定する時間指定情報を検出する。具体的には、時間指定情報検出部104は、時刻取得部103が利用時刻情報を取得した場合に、指定情報格納部101に格納されている時間指定情報のうちの、時刻取得部103が取得した利用時刻情報が示す利用時刻を含む時間を、制限情報が適用される時間に指定する時間指定情報を、検索等により検出する。あるいは、時間指定情報検出部104は、時刻取得部103が利用時刻情報を取得した場合に、指定情報格納部101に格納されている時間指定情報のうちの、現在ソフトウェアを利用しているユーザ(例えばログインしているユーザ)の識別情報に直接または間接的に対応付けられた時間指定情報であって、時刻取得部103が取得した利用時刻情報が示す利用時刻を含む時間を制限情報が適用される時間に指定する時間指定情報を、検索等により検出するようにしてもよい。この場合、後述する判断部105の、ソフトウェアを実行中のユーザに対応した制限情報を検出する構成を省略することができる。時間指定情報検出部104は、通常、MPUやメモリ等から実現され得る。時間指定情報検出部104の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
判断部105は、時間指定情報検出部104が検出した時間指定情報に対応した制限情報を、指定情報格納部101から取得し、当該制限情報が示す制限事項に、利用情報取得部102が取得した利用情報の示す利用状況が該当するか否かを判断する。時間指定情報に対応した制限情報とは、例えば、時間指定情報と同じレコードに含まれる制限情報である。指定情報格納部101から取得した制限情報が示す制限事項に、利用情報取得部102が取得した利用情報の示す利用状況が該当するか否かの判断を、どのように行うようにしても良い。例えば、利用情報取得部102が取得した利用情報が、制限情報のいずれか一つと一致した場合に、制限事項に利用状況が該当すると判断するようにしてもよい。ここで述べる一致は、完全一致としても良いし、部分一致としても良い。
以下、制限情報が、ソフトウェアの利用が制限されている、例えば禁止されているユーザのユーザ識別情報を含むものであり、利用情報取得部102が、利用情報として、現在ソフトウェアを利用しているユーザのユーザ識別情報を取得するものである場合を例に挙げて判断部105の処理を具体的に説明する。まず、判断部105は、指定情報格納部101から、時間指定情報検出部104が検出した時間指定情報に対応した制限情報を取得する。そして、判断部105は、利用情報取得部が取得したユーザ識別情報が、前記制限情報に含まれるユーザ識別情報のいずれかと一致するか否かを判断する。そして、一致した場合、指定情報格納部101から取得した制限情報が示す制限事項に、利用情報取得部102が取得した利用情報が示す利用状況が該当すると判断する。一致しない場合、該当しないと判断しても良い。なお、一致するか否かの判断の代わりに不一致であるか否かの判断を行うことも、ここでは、実質的に一致するか否かの判断と考える。
また、判断部105は、ソフトウェアを実行中のユーザに対応した制限情報であって、時間指定情報検出部104が検出した時間指定情報に対応した制限情報を、指定情報格納部101から取得し、当該制限情報が示す制限事項に、利用情報取得部102が取得した利用情報の示す利用状況が該当するか否かを判断するようにしてもよい。
例えば、判断部105は、まず、時間指定情報検出部104が検出した時間指定情報に対応した制限情報の中から、ソフトウェアを実行中のユーザのユーザ識別情報に対応付けられた制限情報を指定情報格納部101から取得する。ユーザ識別情報に対応付けられた制限情報とは、例えば、ユーザ識別情報と同じレコードに含まれる制限情報である。なお、判断部105は、時間指定情報検出部104が検出した時間指定情報から、現在ソフトウェアを実行中のユーザのユーザ識別情報に対応付けられた時間指定情報を検出し、当該時間指定情報に対応付けられた制限情報を指定情報格納部101から取得してもよい。ソフトウェアを実行中のユーザのユーザ識別情報は、例えば、利用情報取得部102が取得した利用情報から取得可能であるが、処理実行部100等から取得しても良い。次に、判断部105が取得した制限情報が示す制限事項に、利用情報取得部102が取得した利用情報の示す利用状況が該当するか否かを判断する。この判断は、例えば、制限情報と利用情報とが一致するか否かにより判断される。
以下、判断部105の処理を具体的に説明する。なお、ここでは、一例として、制限情報は、アクセスが制限されている情報、例えばファイルやデータベースやレコード等を指定する情報であるアクセス制限情報を含むものとする。また、ここでは一例として、利用情報取得部102が、利用情報として、現在ソフトウェアを利用しているユーザのユーザ識別情報と、ユーザがソフトウェアを利用してアクセスしている情報を示す情報であるアクセス対象情報とを取得するものとする。まず、判断部105は、ソフトウェアを実行中のユーザに対応した制限情報であって、時間指定情報検出部104が検出した時間指定情報に対応した制限情報を、指定情報格納部101から取得する。例えば、時間指定情報検出部104が検出した時間指定情報と同じレコードに含まれるとともに、利用情報に含まれる現在ソフトウェアを利用しているユーザのユーザ識別情報とも同じレコードに含まれる制限情報を、検索等により取得する。そして、利用情報取得部102が取得したアクセス対象情報が、判断部105が指定情報格納部101から取得した制限情報に含まれるアクセス制限情報のいずれかと一致するか否かを、検索等により判断する。そして、一致した場合、指定情報格納部101から取得した制限情報が示す制限事項に、利用情報取得部102が取得した利用情報が示す利用状況が該当すると判断する。また、一致しない場合、該当しないと判断してもよい。
以下、制限情報が、実行が制限されているソフトウェアの機能を指定する情報である機能制限情報を含むものであり、利用情報取得部102が、利用情報として、現在ソフトウェアを利用しているユーザのユーザ識別情報と、ユーザがソフトウェアを利用して実行している機能を示す情報である実行機能情報を利用情報として取得する場合を例に挙げて、判断部105の処理を具体的に説明する。まず、判断部105は、上記と同様に、ソフトウェアを実行中のユーザに対応した制限情報のうちの、時間指定情報検出部104が検出した時間指定情報に対応した制限情報を、指定情報格納部101から取得する。そして、判断部105は、利用情報取得部102が取得した実行機能情報が、判断部105が指定情報格納部101から取得した制限情報に含まれる機能制限情報のいずれかと一致するか否かを判断し、一致した場合、指定情報格納部101から取得した制限情報が示す制限事項に、利用情報取得部102が取得した利用情報が示す利用状況が該当すると判断する。また、一致しない場合、該当しないと判断してもよい。
以下、判断部105の処理を具体的に説明する。なお、ここでは、ソフトウェアの利用が許可されないユーザの制限情報として、ソフトウェアに対するユーザの利用が許可されないことを示す情報、例えばフラグ情報等、が制限情報として与えられており、利用情報取得部102が、利用情報として、現在ソフトウェアを利用しているユーザのユーザ識別情報である利用情報を取得する場合を例に挙げて説明する。まず、判断部105は、上記と同様に、ソフトウェアを実行中のユーザに対応した制限情報のうちの、時間指定情報検出部104が検出した時間指定情報に対応した制限情報を、指定情報格納部101から取得する。そして、ユーザ識別情報である利用情報は、このユーザ識別情報に対応するユーザがソフトウェアを利用中であるという利用状況を示していることから、判断部105は、制限情報の値が、利用が許可されていないことを示す情報であるか否かを判断する。そして、利用が許可されていないことを示す情報であった場合、指定情報格納部101から取得した制限情報が示す制限事項に、利用情報取得部102が取得した利用情報が示す利用状況が該当すると判断する。また、利用が許可されていないことを示す情報でない場合、該当しないと判断してもよい。
なお、判断部105は、上記の判断処理のうちの一以上を適宜組み合わせて処理するようにしても良い。また、組み合わせる際に、制限情報に含まれる制限事項の組み合わせにより、利用状況が制限事項を満たすか否かを判断してもよい。例えば、制限情報に含まれる機能制限情報とアクセス制限情報との両方を、利用情報がみたす場合に、利用状況が制限事項を満たすと判断しても良い。判断部105は、通常、MPUやメモリ等から実現され得る。判断部105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
なお、ここでは、制限情報が制限される事項、例えば、禁止される事項である場合において、判断部105が、制限情報と利用情報とが一致するか否かを判断し、一致する場合、制限情報が示す制限事項に、利用情報が示す利用状況が該当すると判断する場合について説明した。しかしながら、本発明においては、判断部105が、結果として、この判断処理と同様の判断が行われる限りは、同じ処理であると考える。例えば、制限情報として、制限されない事項、例えば利用が制限されていない機能等の許可される事項を示す情報を用いた場合であって、判断部105が、制限情報と利用情報とが一致するか否かを判断し、一致しないと判断した場合、制限情報が示す制限事項に、利用情報が示す利用状況が該当すると判断する場合についても、実質的には、上記と同じ判断をしているものと考えるため、上記と同じ処理であるとする。即ち、この場合における一致しないという判断は、結果的には、上述した具体例等における一致するという判断と結果的に同じと考える。
出力部106は、判断部105が、時間指定情報検出部104が検出した時間指定情報に対応した制限情報が示す制限事項に、利用情報取得部102が取得した利用情報の示す利用状況が該当すると判断した場合に、該当することを示す情報を出力する。該当することを示す情報は、例えば、ソフトウェアを利用中のユーザ、もしくは当該ユーザによるソフトウェアの操作等が、制限事項を満たしていないことを通知するための情報である。該当することを示す情報は、判断部105が該当しないと判断したことを示す情報や、該当しないと判断した場合の、ソフトウェアを利用しているユーザの識別情報や、当該ユーザが利用中の機能や、アクセスしている情報等を示す情報を含んでいてもよい。また、判断部105により判断が行われた時刻の情報や、時刻取得部103が取得した利用時刻情報を含むようにしても良い。判断部105が制限事項を満たすと判断したか否かの判断は、出力部106が行うようにしても良い。また、判断部105が制限事項を満たすと判断したか否かの判断を行って、その判断結果に応じて、出力部106に出力を行うか否かを指示、例えば命令等を与えるようにしても良い。ここで述べる出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。また、出力部106が、該当することを示す情報を出力するタイミング等は問わない。例えば、該当すると判断した時点で、該当することを示す情報を出力しても良い。例えば、出力部106は、判断部105が該当すると判断した場合に、該当することを示す情報を、図示しないメモリ等の記録媒体等に蓄積し、蓄積した情報を、予め指定したタイミングで、予め指定した通知先に通知するようにしてもよい。予め指定したタイミングとは、定期のタイミングであっても不定期のタイミングであっても良い。例えば、予め指定したタイミングは、あらかいじめ指定された時刻等であってもよい。また、出力部106が行う通知は、例えば、電子メールによる送信や、インスタントメッセンジャー等を用いた情報の送信である。具体的には、出力部106は、予め指定した時刻になった場合、例えば、「毎週金曜日の午後4時」等になった場合に予め指定されたソフトウェアの管理者等のメールアドレスを送信先として、蓄積した情報を電子メールで送信する。出力部106は、ディスプレイやプリンタ等の出力デバイスを含むと考えても含まないと考えても良い。出力部106は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。また、出力部106は通信手段により実現されても良い。また、出力部106が判断を行う必要がある場合、出力部106は、判断を行うためのMPUやメモリとを備えていても良い。
次に、情報処理装置の動作について図2のフローチャートを用いて説明する。
(ステップS201)処理実行部100が、ソフトウェアの実行を開始する。実行するソフトウェアは問わない。ここでは一例として、処理実行部100が行う処理は、ユーザ識別情報をソフトウェア操作のための認証情報として用いたログインや、ユーザから受け付けた操作に応じて実行される処理等を含むものとする。
(ステップS202)時刻取得部103は、利用時刻情報を取得するタイミングであるか否かを判断する。例えば、時刻取得部103は、ユーザ等による予め指定された操作等が行われたか否かを判断し、行われた場合に、取得するタイミングであると判断してもよい。また、予め指定した時刻や、予め指定した時間間隔になった時点で、取得するタイミングであると判断してもよい。取得するタイミングである場合、ステップS203に進み、取得するタイミングでない場合、ステップS202に戻る。
(ステップS203)時刻取得部103は、時計等から利用時刻である現在の時刻の情報を取得する。
(ステップS204)利用情報取得部102は、利用情報を取得する。ここで取得する利用情報は、一例として、ログインしているユーザ、即ちソフトウェアの操作を行っているユーザのユーザ識別情報、ユーザが現在利用しているソフトウェアの機能を示す実行機能情報、ユーザがソフトウェアを用いてアクセスしているアクセス対象情報等であるとする。
(ステップS205)時間指定情報検出部104は、ステップS202において取得した利用時刻情報を含む時間を指定する時間指定情報を、指定情報格納部101において検出する。例えば、時間指定情報のうちの、指定する時間の開始時刻がステップS203において取得した利用時刻情報よりも前で、かつ終了時刻がステップS203において取得した利用時刻情報よりも後もしくは指定がない時間指定情報、および、指定する時間の開始時刻がステップS203において取得した利用時刻情報よりも前または指定がなく、かつ終了時刻がステップS203において取得した利用時刻情報よりも後である時間指定情報、を検索等により検出する。
(ステップS206)判断部105は、ステップS205において検出した時間指定情報に対応付けられた制限情報が示す制限事項に、ステップS205において取得した利用情報の示す利用状況が該当するか否かを判断する。この処理の詳細については、後述する。
(ステップS207)出力部106は、判断部105の判断結果が、制限事項に該当することを示す判断結果であるか否かを判断する。制限事項に該当する判断結果である場合、ステップS208に進み、判断結果でない場合、ステップS209に進む。
(ステップS208)出力部106は、制限事項に該当することを示す情報を図示しないメモリやハードディスク等の記憶媒体に蓄積する。
(ステップS209)出力部106は、ステップS208において蓄積した情報を送信するタイミングであるか否かを判断する。出力部106は、例えば、ユーザ等による予め指定された操作等が行われたか否かを判断し、行われた場合に、送信するタイミングであると判断してもよい。また、予め指定した時刻や、予め指定した時間間隔になった時点で、送信するタイミングであると判断してもよい。送信するタイミングである場合、ステップS210に進み、タイミングでない場合、ステップS202に戻る。
(ステップS210)出力部106は、ステップS208において蓄積された制限事項に該当することを示す情報を、予め指定された送信先に、例えば電子メール等で送信する。そして、ステップS202に戻る。なお、送信後は、記憶媒体に蓄積されている制限事項に該当することを示す情報を削除しても良いが、この制限事項に該当することを示す情報に対して、出力済みであることを示す情報、例えばフラグ等を付加して、情報自体は残しておくようにすることが好ましい。このようにすることで、一旦出力した情報の再送信を防ぐことができるとともに、制限事項に該当した操作等の発生を、履歴として残しておくことができる。
なお、ステップS207においては、出力部106が判断を行うようにしているが、判断部105が、判断結果に応じて、出力部106に対して、出力を行うか否かの指示を与えるようにし、出力部106がその指示に応じて、ステップS208の蓄積を行うようにしても良い。
なお、図2のフローチャートにおいて、電源オフや、処理終了の割り込みや、ステップS201において実行を開始したソフトウェアの終了等により処理は終了する。
次に、図2のステップS206に示した処理の詳細について、図3のフローチャートを用いて説明する。なお、ここでは、ログイン自体が制限されているユーザのユーザ識別情報を含む第一の制限情報と、アクセス制限情報とユーザ識別情報とが対応付けられた第二の制限情報と、機能制限情報とユーザ識別情報とが対応付けられた第三の制限情報とが、それぞれ時間指定情報と対応付けられて指定情報格納部101に予め格納されているものとする。第一の制限情報は、ログイン制限(例えばログイン禁止)を指定する制限情報である。また、第二の制限情報は、予め指定された内容のアクセス制限を指定する制限情報である。また、第三の制限情報は、利用できない機能である機能制限を指定する制限情報である。
(ステップS301)判断部105は、ステップS205において検出した時間指定情報に対応する制限情報があるか否かを判断する。ここでの制限情報は、第一、第二、および第三の制限情報の全てである。ある場合、ステップS302に進み、ない場合、制限事項に該当しないことを示す判断結果を上位の処理にリターンする。
(ステップS302)判断部105は、ソフトウェアを操作中のユーザのユーザ識別情報を、ステップS204において取得された利用情報から取得する。ソフトウェアを操作中のユーザとは、ここでは、ログイン中のユーザである。
(ステップS303)判断部105は、ステップS301において時間指定情報に対応すると判断された第一の制限情報を、指定情報格納部101から読み出し、この第一の制限情報に含まれるログイン制限されているユーザのユーザ識別情報のなかに、ステップS302において取得したユーザ識別情報と一致するものがあるか否かを判断する。一致するものがある場合、ステップS304に進み、ない場合ステップS305に進む。
(ステップS304)判断部105は、現在のユーザによるソフトウェアの利用が、ログインについての制限事項に該当していると判断する。そして、ログイン制限に該当していることを示す判断結果をメモリ等の記憶媒体に一時記憶する。例えば、制限事項が、ログインの禁止を指定する事項であった場合、判断部105は、結果的に、現在の時間においてログインが禁止されているユーザによるソフトウェアの利用が行われていることを判断したこととなる。
(ステップS305)判断部105は、ステップS301において時間指定情報に対応すると判断された第二および第三の制限情報のうちの、ステップS302において取得した現在ソフトウェアを操作中のユーザのユーザ識別情報に対応付けられた第二および第三の制御情報を検索等により取得する。
(ステップS306)判断部105は、ステップS204において取得された利用情報から、アクセス対象情報を取得する。
(ステップS307)判断部105は、ステップS306において取得したアクセス対処情報と一致するアクセス制限情報が、ステップS305において取得された第二の制限情報に含まれるアクセス制限情報の中にあるか否かを判断する。ある場合、ステップS308に進み、ない場合、ステップS309に進む。
(ステップS308)判断部105は、現在のユーザがアクセスしている情報が、情報のアクセスについての制限事項に該当していると判断する。そして、判断結果をメモリ等の記憶媒体に一時記憶する。例えば、制限事項が、アクセスの禁止を指定する事項であった場合、判断部105は、結果的に、現在の時間においてアクセスが禁止されている情報へのアクセスが行われていることを判断したこととなる。
(ステップS309)判断部105は、ステップS204において取得された利用情報から、実行機能情報を取得する。
(ステップS310)判断部105は、ステップS309において取得した実行機能情報と一致する機能制限情報が、ステップS305において取得された第三の制限情報に含まれる機能制限情報の中にあるか否かを判断する。ある場合、ステップS311に進み、ない場合、ステップS310に進む。
(ステップS311)判断部105は、現在のユーザが利用している機能が、機能についての制限事項に該当していると判断する。そして、機能制限に該当していることを示す判断結果をメモリ等の記憶媒体に一時記憶する。例えば、制限事項が、利用が不可である機能を指定する事項であった場合、判断部105は、結果的に、現在の時間において利用が不可である機能が利用されていることを判断したこととなる。そして、判断部105は、上位の処理にリターンする。なお、例えば、ステップS305や、ステップS308や、ステップS311において図示しない記憶媒体に一時記憶されている情報が、判断部105の判断結果を示す情報となる。
なお、図3のフローチャートにおいて、電源オフや、処理終了の割り込みや、ステップS201において実行を開始したソフトウェアの終了等により処理は終了する。
以下、本実施の形態における情報処理装置の具体的な動作について説明する。ここでは、処理実行部100が実行するソフトウェアが企業の業務管理のソフトウェアである場合を例に挙げて説明する。
(第一の具体例)
第一の具体例においては、ユーザによる時間の制限に違反したログインを検出して通知する処理について説明する。ここでは、例として、ユーザ識別情報が「BC19432」である個人のユーザが、契約期間が2010年3月31日までである契約社員であるとし、契約期間後のソフトウェアに対するログインが制限、具体的には禁止されているものとする。
図4は、指定情報格納部101に格納されている制限情報と時間指定情報とを管理するための第一の指定情報管理表である。第一の指定情報管理表は、「ID」、「時間指定情報」、「ユーザ識別情報」という属性を有している。「ID」は、レコードを管理する識別情報である。「時間指定情報」は、上述した制限情報が適用される時間を指定する時間指定情報であり、時間(期間)の開始時刻を示す「開始時刻」という属性と、終了時刻を示す「終了時刻」という属性を有している。ここでは、「開始時刻」および「終了時刻」の値として日付を用いている。なお、値「−」は、指定がないことを示し、例えば開始時刻や終了時刻が指定されていないことを示す。「ユーザ識別情報」は、ログインが制限されるユーザのユーザ識別情報である。「ユーザ識別情報」を登録されたユーザ識別情報と考えても良い。この「ユーザ識別情報」が、ここでは制限情報である。この「ユーザ識別情報」は、特に、図3を用いて説明した処理における第一の制限情報に相当する。ユーザ識別情報が「BC19432」であるレコードの「時間指定情報」は、ログインが制限される期間が、2010年4月1日以降の期間に設定されている。
まず、ユーザ識別情報が「BC19432」である個人のユーザが、このユーザ識別情報をログイン時のアカウントとして用いて、ソフトウェアに対してログインを行ったとする。そして、ログインが成功したとする。ログイン後は、ユーザはソフトウェアの操作が可能となる。ログイン時に入力されたユーザ識別情報は、予め図示しないメモリ等の記憶媒体に一時記憶されるものとする。
時刻取得部103は、ログインが行われたことをトリガーとして、現在の時刻を示す利用時刻情報を図示しない時計等から取得する。ここで取得した利用時刻情報が、「2010/04/05」、即ち2010年4月5日であったとする。時刻取得部103が取得した利用時刻情報の一例を図5に示す。
また、利用情報取得部102は、利用情報として、ここでは、ログイン時に入力された、現在ソフトウェアを使用中のユーザのユーザ識別情報「BC19432」を、上述した記憶媒体等から読み出す。利用情報取得部102が読み出した利用情報であるユーザ識別情報を図6に示す。
時間指定情報検出部104は、図4に示した第一の指定情報管理表を用いて、時刻取得部103が取得した利用時刻情報が示す利用時刻を含む時間(期間)を指定する時間指定情報を検出する。具体的には、開始時刻が時刻取得部103が取得した利用時刻である「2010/04/05」よりも前で、終了時刻が「2010/04/05」よりも後もしくは指定がない時間指定情報、および開始時刻が「2010/04/05」よりも前もしくは指定がなく、終了時刻が「2010/04/05」よりも後である時間指定情報を検出する。ここでは、図4に示した第一の指定情報管理表における「ID」が、「001」、「003」、「004」であるレコードの「時間指定情報」が検出される。
つぎに、判断部105は、時間指定情報検出部104が検出した時間指定情報に対応付けられた制限情報である「ユーザ識別情報」の中に、利用情報取得部102が取得した利用情報であるユーザ識別情報「BC19432」に一致する制限情報があるか否かを判断する。具体的には、図4に示した第一の指定情報管理表における、時間指定情報検出部104が検出した時間指定情報と同じレコードに含まれる「ユーザ識別情報」、即ち「ID」が「001」、「003」、「004」であるレコードの「ユーザ識別情報」に、利用情報取得部102が取得したユーザ識別情報「BC19432」に一致する制限情報があるか否かを判断する。ここでは、「ID」が「001」のレコードの「ユーザ識別情報」が、利用情報取得部102が取得したユーザ識別情報「BC19432」に一致すると判断される。このため、判断部105は、利用情報が示す現在の利用状況が、制限情報が示す制限事項に該当すると判断する。そして、判断結果として、現在のユーザのユーザ識別情報「BC19432」と、時刻取得部103が取得した利用時刻情報「2010/04/05」とを、取得する。
このとき、ユーザ識別情報に一致する制限情報がなかった場合、判断部105は、利用情報が示す現在の利用状況が、制限情報が示す制限事項に該当しないと判断する。そして、上記の処理を繰り返すこととなる。
出力部106は、判断部105が、利用情報が示す現在の利用状況が、制限情報が示す制限事項に該当すると判断したため、その判断結果を示す情報として、判断部105が一時記憶した現在のユーザのユーザ識別情報「BC19432」と、時刻取得部103が取得した利用時刻情報「2010/04/05」とを読み出し、ハードディスク等の記憶媒体に蓄積する。
情報処理装置1は、上記の処理をログインが行われる毎に繰り返す。
そして、予め指定した時刻、例えば、毎週月曜の午前10時になったとすると、出力部106は、記憶媒体に蓄積した判断部105の判断結果を示す情報であるユーザ識別情報と、利用時刻情報とを読み出し、ソフトウェアの管理者等の予め指定された送信先のメールアドレス、例えば「systemadmin@xxx.com」を宛先として入力して、読み出した判断結果を示す情報本文に配置した電子メールを送信する。
図7は、電子メールの宛先であるソフトウェア管理者が受信した、判断部105の判断結果を示す情報の電子メールの表示例を示す図である。この電子メールは、言い換えれば、不適切な時間に行われたログインを示す情報であり、ユーザ別に指定されているログインが禁止されている時間内にも関わらず、ログインしたユーザのユーザ識別情報と、不適切なログインが検出された時間を示す情報とを示す情報である。ソフトウェア管理者は、この電子メールから、どのユーザが不適切な時間にログインを行ったかを判断することができる。具体的には、ユーザ識別情報が「BC19432」であるユーザが、企業との契約期間が過ぎたにも関わらず、ソフトウェアにログインしていることとなるため、不正なログインが行われた可能性や、他のユーザが、なんらかの必要に応じてユーザ識別情報「BC19432」を用いてログインしている可能性等があることを判断することができる。
(第二の具体例)
この第二の具体例においては、ユーザによる時間の制限に違反した情報へのアクセス、および時間の制限に違反したソフトウェアの機能の利用を検出して通知する処理について説明する。ここでは特に、検出対象となるソフトウェアの機能の利用がアドオンソフトウェアの利用である場合を例に挙げて説明する。ここでは例として、第二営業部の構成員全員が、ソフトウェアに対して「02EIGYO」というユーザ識別情報でログイン可能であるものとする。また、この第二営業部の営業内容が、組織変更等によって2010年4月1日以降は変更となり、アクセス可能なデータベースや、利用可能なアドオンソフトウェアが2010年3月31日と2010年4月1日との間を境界として、変更されるものとする。
図8は、指定情報格納部101に格納されている、アクセス制限情報を含む制限情報と時間指定情報とを管理するための第二の指定情報管理表である。第二の指定情報管理表は、「ID」、「時間指定情報」、「ユーザ識別情報」、「アクセス制限」という属性を有している。「ID」、「時間指定情報」については、図4に示した第一の指定情報管理表と同様である。「ユーザ識別情報」は、制限情報による制限の対象となるユーザのユーザ識別情報である。「アクセス制限」は、上述したアクセス制限情報である。「アクセス制限」はここでは情報のファイル名であるとする。「ユーザ識別情報」と「アクセス制限」との組み合わせが、ここでは、制限情報である。この「ユーザ識別情報」と「アクセス制限」との組み合わせは、特に、図3を用いて説明した処理における第二の制限情報に相当する。
図9は、指定情報格納部101に格納されている、機能制限情報を含む制限情報と時間指定情報とを管理するための第三の指定情報管理表である。第三の指定情報管理表は、「ID」、「時間指定情報」、「ユーザ識別情報」、「機能制限」という属性を有している。「ID」、「時間指定情報」については、図4に示した第一の指定情報管理表と同様である。「ユーザ識別情報」は、制限情報による制限の対象となるユーザのユーザ識別情報である。「機能制限」は、上述した機能制限情報である。「機能制限」は、ここでは、ユーザによる利用が制限される、ソフトウェアに組み込まれたアドオンソフトウェアの名称であるとする。「ユーザ識別情報」と「機能制限」との組み合わせが、ここでは、制限情報である。この「ユーザ識別情報」と「機能制限」との組み合わせは、特に、図3を用いて説明した処理における第三の制限情報に相当する。
まず、第二営業部に属するユーザが、第二営業部に対応したユーザ識別情報である「02EIGYO」をログイン時のアカウントとして用いて、ソフトウェアに対してログインを行ったとする。そして、ログインが成功したとする。ログイン後は、ユーザはソフトウェアの操作が可能となる。ログイン時に入力されたユーザ識別情報は、予め図示しないメモリ等の記憶媒体に一時記憶されるものとする。
次に、ユーザが、ソフトウェアを操作して、「顧客管理アドオン」というアドオンソフトウェアを起動し、さらに、「得意先DB」というデータベースにアクセスしていたとする
ここで、時刻取得部103は、ログインが行われてから、予め指定された時間が経過したことを判断して、現在の利用時刻を示す利用時刻情報を図示しない時計等から取得する。ここで取得した利用時刻情報が、「2010/04/05」、即ち2010年4月5日であったとする。時刻取得部103が取得した利用時刻情報は、図5に示したものと同様である。
次に、利用情報取得部102は、現在のソフトウェアの利用状況を示す利用情報を処理実行部100等から取得する。具体的には、利用情報として、現在ログインしているユーザのユーザ識別情報と、現在、アクセスしているファイルやデータベースの名称であるアクセス対象情報と、現在起動しているアドオンソフトウェアの名称である実行機能情報を、実行処理部100等から取得する。利用情報取得部102が取得した利用情報の一例を図10に示す。
時間指定情報検出部104は、図8に示した第二の指定情報管理表、および図8に示した第三の指定情報管理表を用いて、時刻取得部103が取得した利用時刻情報が示す利用時刻を含む時間(期間)を指定する時間指定情報を、上記第一の具体例と同様に検出する。ここでは、図8に示した第二の指定情報管理表からは、「ID」が、「A001」〜「A003」であるレコードの「時間指定情報」が検出される。また、図9に示した第三の指定情報管理表からは、「ID」が、「B001」、「B002」であるレコードの「時間指定情報」が検出される。
次に、判断部105は、ソフトウェアを実行中のユーザに対応した制限情報であって、時間指定情報検出部104が検出した時間指定情報に対応した制限情報を、指定情報格納部101から取得する。具体的には、時間指定情報検出部104が第二の指定情報管理表から検出した時間指定情報と同じレコードに含まれるとともに、図10に示した利用情報に含まれる現在ソフトウェアを利用しているユーザのユーザ識別情報「02EIGYO」と同じユーザ識別情報を含む制限情報に含まれる「アクセス制限情報」を、第二の指定情報管理表から検索により取得する。ここでは、図8における「ID」が、「A001」〜「A003」であるレコードで管理されているアクセス制限情報「商品管理DB」、「得意先DB」、「営業成績DB」が取得される。
そして、図10に示した利用情報に含まれるアクセス対象情報が、判断部105が指定情報格納部101から取得したアクセス制限情報のいずれかと一致するか否かを、検索等により判断する。ここでは、「ID」が「A003」であるレコードのアクセス制限情報「営業成績DB」が図10に示した利用情報のアクセス対象情報である「営業成績DB」に一致すると判断される。このため、判断部105は、利用情報が示す現在の利用状況が、制限情報が示す制限事項に該当すると判断する。そして、判断結果を示す情報として、現在のユーザのユーザ識別情報「02EIGYO」と、アクセス対象情報である「営業成績DB」と、時刻取得部103が取得した利用時刻情報「2010/04/05」とを、図示しないメモリ等の記憶媒体に一時記憶する。
このとき、アクセス対象情報に一致するアクセス制限情報がなかった場合、判断部105は、利用情報が示す現在の利用状況が、制限情報が示す制限事項に該当しないと判断する。
次に、判断部105は、ソフトウェアを実行中のユーザに対応した制限情報であって、時間指定情報検出部104が検出した時間指定情報に対応した制限情報を、指定情報格納部101から取得する。具体的には、時間指定情報検出部104が第三の指定情報管理表から検出した時間指定情報と同じレコードに含まれるとともに、図10に示した利用情報に含まれる現在ソフトウェアを利用しているユーザのユーザ識別情報「02EIGYO」と同じユーザ識別情報を含む制限情報に含まれる「機能制限情報」を、第三の指定情報管理表から検索により取得する。ここでは、図9における「ID」が、「B001」であるレコードで管理されている機能制限情報「顧客管理アドオン」が取得される。
そして、図10に示した利用情報に含まれる実行機能情報が、判断部105が指定情報格納部101から取得した機能制限情報のいずれかと一致するか否かを、検索等により判断する。ここでは、「ID」が「B001」であるレコードのアクセス制限情報「顧客管理アドオン」が図10に示した利用情報の実行機能情報である「顧客管理アドオン」に一致すると判断される。このため、判断部105は、利用情報が示す現在の利用状況が、制限情報が示す制限事項に該当すると判断する。そして、判断結果を示す情報として、現在のユーザのユーザ識別情報「02EIGYO」と、実行対象情報である「顧客管理アドオン」と、時刻取得部103が取得した利用時刻情報「2010/04/05」とを、図示しないメモリ等の記憶媒体に一時記憶する。
このとき、機能制限情報に一致する実行機能情報がなかった場合、判断部105は、利用情報が示す現在の利用状況が、制限情報が示す制限事項に該当しないと判断する。
その後、蓄積した判断結果を示す情報を、電子メール等で送信する処理等については、上述した第一の具体例と同様であるので説明は省略する。
なお、この第二の具体例を、以下のように変形することも可能である。即ち、ユーザ識別情報と、アクセス制限情報と、機能制限情報とを対応付けた制限情報を用意するようにし、判断部105が、指定情報格納部101に格納されている時間指定情報検出部104が検出した時間指定情報に対応したユーザ識別情報とアクセス制限情報と機能制限情報との組を含む制限情報から、ソフトウェアを実行中のユーザのユーザ識別情報に対応付けられたアクセス制限情報と、機能制限情報との組を、指定情報格納部101から取得するようにする。そして、時間指定情報検出部104が取得したアクセス制限情報と機能制限情報との組の中に、図10に示した利用情報に含まれる実行機能情報とアクセス対象情報との両方が一致する組があるか否かを、検索等により判断する。そして両方が一致する組があった場合にのみ、指定情報格納部101から取得した制限情報が示す制限事項に、利用情報取得部102が取得した利用情報が示す利用状況が該当すると判断するようにしてもよい。このようにすることで、例えば、所定のファイルやデータベース等の情報を、アドオンソフトウェア等の、ソフトウェアの所定の機能を使って利用した場合に限ってのみ、検出することが可能となり、検出する条件を細かく設定することが可能となる。
以上、本実施の形態によれば、現在の時間に対応した時間指定情報に対応した制限情報を取得し、当該制限情報と、現在のソフトウェアの利用状況を示す利用情報とを比較することにより、ソフトウェアが時間の制限に違反して、不適切に利用されていることを検出することができる。
これによって、例えば、ユーザによる不適切な時刻における、ログインや、ファイル等の情報へのアクセスや、機能の利用等を、レポートしたりすることが可能となる。
特に、監査等において、時間制限に違反したソフトウェアの利用等が行われた場合、その利用についての履歴や、利用内容等の確認等がないと、システム自体が正常に運用されていたか否かを保証することが難しくなり、その結果、ソフトウェアに入力されたデータやソフトウェアにより処理されたデータ等の信頼性が保証されなくなってしまう恐れがあった。
しかしながら、本実施の形態によれば、例えば、システムの根幹となる動作等についての制限事項等についての時間制限に違反した利用が発生した場合、その利用者等を、違反内容等をレポートしたり、記録したりすることができる。この結果、システムが正常に運用されていることを確認することができ、システムが内部監査等の監査の条件を満たしていることを保証することが可能となる。
なお、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、実行中のソフトウェアについてのユーザの利用状況を示す情報である利用情報を取得する利用情報取得部と、予め指定されたタイミングで利用時刻の情報を取得する時刻取得部と、前記時刻取得部が取得した利用時刻を含む時間を指定する時間指定情報を検出する時間指定情報検出部と、前記時間指定情報検出部が検出した時間指定情報に対応した制限情報を、ソフトウェアの利用に関するユーザの制限事項を指定する情報である制限情報と、当該制限情報が適用される時間を指定する情報である時間指定情報とが格納され得る指定情報格納部から取得し、当該制限情報が示す制限事項に、前記利用情報取得部が取得した利用情報の示す利用状況が該当するか否かを判断する判断部と、前記判断部が該当すると判断した場合に、該当することを示す情報を出力する出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図11は、上記プログラムを実行して、上記実施の形態による情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図11において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図12は、コンピュータシステム900の内部構成を示す図である。図12において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による情報処理装置の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。