(57)【特許請求の範囲】
【請求項１】
２以上のソフトウェアが記憶されるソフトウェア記憶部と、
前記ソフトウェア記憶部で記憶されているソフトウェアを識別する情報であるソフトウェア識別情報と、当該ソフトウェア識別情報で識別されるソフトウェアのカテゴリとを対応付けて有する情報であるカテゴリ対応情報が記憶されるカテゴリ対応情報記憶部と、
あるソフトウェアと、他のソフトウェアとを同時実行できるかどうかを、他のソフトウェアのカテゴリごとに有する情報である同時実行情報と、当該同時実行情報を識別する情報である同時実行識別情報とを対応付けて有する情報であるロックパターン情報が２以上記憶されるロックパターン情報記憶部と、
前記ソフトウェア記憶部で記憶されているソフトウェアを識別する情報であるソフトウェア識別情報と、当該ソフトウェア識別情報で識別されるソフトウェアの同時実行情報を識別する同時実行識別情報とを対応付けて有する情報である同時実行対応情報が記憶される同時実行対応情報記憶部と、
ソフトウェアの同時実行の許否の判断を行うものであり、判断対象となるソフトウェアを識別するソフトウェア識別情報に前記カテゴリ対応情報によって対応付けられるカテゴリが、その判断時に実行中のソフトウェアを識別するソフトウェア識別情報に、前記同時実行対応情報及び前記ロックパターン情報によって対応付けられる同時実行情報によって同時実行が許可されていないものである場合に、当該判断対象のソフトウェアの実行を許可せず、同時実行が許可されているものである場合に、当該判断対象のソフトウェアの実行を許可する実行許否判断部と、
前記実行許否判断部によって実行の許可されたソフトウェアを実行する実行部と、を備えた情報処理装置。
【請求項２】
前記実行許否判断部は、
判断時に実行中のソフトウェアを識別するソフトウェア識別情報に前記カテゴリ対応情報によって対応付けられるカテゴリが、前記判断対象となるソフトウェアを識別するソフトウェア識別情報に、前記同時実行対応情報及び前記ロックパターン情報によって対応付けられる同時実行情報によって同時実行が許可されていないものである場合にも、当該判断対象のソフトウェアの実行を許可しない、請求項１記載の情報処理装置。
【請求項３】
２以上のソフトウェアが記憶されるソフトウェア記憶部と、
前記ソフトウェア記憶部で記憶されているソフトウェアを識別する情報であるソフトウェア識別情報と、当該ソフトウェア識別情報で識別されるソフトウェアのカテゴリとを対応付けて有する情報であるカテゴリ対応情報が記憶されるカテゴリ対応情報記憶部と、
あるソフトウェアと、他のソフトウェアとを同時実行できるかどうかを、他のソフトウェアのカテゴリごとに有する情報である同時実行情報と、当該同時実行情報を識別する情報である同時実行識別情報とを対応付けて有する情報であるロックパターン情報が２以上記憶されるロックパターン情報記憶部と、
前記ソフトウェア記憶部で記憶されているソフトウェアを識別する情報であるソフトウェア識別情報と、当該ソフトウェア識別情報で識別されるソフトウェアの同時実行情報を識別する同時実行識別情報とを対応付けて有する情報である同時実行対応情報が記憶される同時実行対応情報記憶部と、
ソフトウェアの同時実行の許否の判断を行うものであり、判断時に実行中のソフトウェアを識別するソフトウェア識別情報に前記カテゴリ対応情報によって対応付けられるカテゴリが、前記判断対象となるソフトウェアを識別するソフトウェア識別情報に、前記同時実行対応情報及び前記ロックパターン情報によって対応付けられる同時実行情報によって同時実行が許可されていないものである場合に、当該判断対象のソフトウェアの実行を許可せず、同時実行が許可されているものである場合に、当該判断対象のソフトウェアの実行を許可する実行許否判断部と、
前記実行許否判断部によって実行の許可されたソフトウェアを実行する実行部と、を備えた情報処理装置。
【請求項４】
前記実行許否判断部は、判断対象となるソフトウェアの起動時に、当該ソフトウェアの実行の許否の判断を行う、請求項１から請求項３のいずれか記載の情報処理装置。
【請求項５】
前記ソフトウェア記憶部では、全体ソフトウェアと、当該全体ソフトウェアを構成するソフトウェアであり、それ自体で実行単位となるソフトウェアである部分ソフトウェアとが記憶され、
前記部分ソフトウェアは、前記全体ソフトウェアのメニュー一覧で表示される一のメニューに対応するソフトウェアである、請求項１から請求項４記載の情報処理装置。
【請求項６】
２以上のソフトウェアが記憶されるソフトウェア記憶部と、前記ソフトウェア記憶部で記憶されているソフトウェアを識別する情報であるソフトウェア識別情報と、当該ソフトウェア識別情報で識別されるソフトウェアのカテゴリとを対応付けて有する情報であるカテゴリ対応情報が記憶されるカテゴリ対応情報記憶部と、あるソフトウェアと、他のソフトウェアとを同時実行できるかどうかを、他のソフトウェアのカテゴリごとに有する情報である同時実行情報と、当該同時実行情報を識別する情報である同時実行識別情報とを対応付けて有する情報であるロックパターン情報が２以上記憶されるロックパターン情報記憶部と、前記ソフトウェア記憶部で記憶されているソフトウェアを識別する情報であるソフトウェア識別情報と、当該ソフトウェア識別情報で識別されるソフトウェアの同時実行情報を識別する同時実行識別情報とを対応付けて有する情報である同時実行対応情報が記憶される同時実行対応情報記憶部と、実行許否判断部と、実行部とを用いて処理される情報処理方法であって、
前記実行許否判断部が、ソフトウェアの同時実行の許否の判断を行うものであり、判断対象となるソフトウェアを識別するソフトウェア識別情報に前記カテゴリ対応情報によって対応付けられるカテゴリが、その判断時に実行中のソフトウェアを識別するソフトウェア識別情報に、前記同時実行対応情報及び前記ロックパターン情報によって対応付けられる同時実行情報によって同時実行が許可されていないものである場合に、当該判断対象のソフトウェアの実行を許可せず、同時実行が許可されているものである場合に、当該判断対象のソフトウェアの実行を許可する実行許否判断ステップと、
前記実行部が、前記実行許否判断ステップにおいて実行の許可されたソフトウェアを実行する実行ステップと、を備えた情報処理方法。
【請求項７】
コンピュータを、
ソフトウェア記憶部で記憶される、２以上のソフトウェアの同時実行の許否の判断を行うものであり、判断対象となるソフトウェアを識別するソフトウェア識別情報に、カテゴリ対応情報記憶部で記憶される、前記ソフトウェア記憶部で記憶されているソフトウェアを識別する情報であるソフトウェア識別情報と、当該ソフトウェア識別情報で識別されるソフトウェアのカテゴリとを対応付けて有する情報であるカテゴリ対応情報によって対応付けられるカテゴリが、その判断時に実行中のソフトウェアを識別するソフトウェア識別情報に、同時実行対応情報記憶部で記憶される、前記ソフトウェア記憶部で記憶されているソフトウェアを識別する情報であるソフトウェア識別情報と、当該ソフトウェア識別情報で識別されるソフトウェアの同時実行情報を識別する同時実行識別情報とを対応付けて有する情報である同時実行対応情報、及び、ロックパターン情報記憶部で２以上記憶される、あるソフトウェアと、他のソフトウェアとを同時実行できるかどうかを、他のソフトウェアのカテゴリごとに有する情報である同時実行情報と、当該同時実行情報を識別する情報である同時実行識別情報とを対応付けて有する情報であるロックパターン情報によって対応付けられる同時実行情報によって同時実行が許可されていないものである場合に、当該判断対象のソフトウェアの実行を許可せず、同時実行が許可されているものである場合に、当該判断対象のソフトウェアの実行を許可する実行許否判断部と、
前記実行許否判断部によって実行の許可されたソフトウェアを実行する実行部として機能させるためのプログラム。
【請求項８】
前記情報処理装置の処理負荷を示す情報である状況情報を取得する状況取得部をさらに備え、
前記同時実行対応情報は、ソフトウェア識別情報と、状況情報と、同時実行識別情報とを対応付けて有する情報であり、状況情報の示す処理負荷の高低に応じて、それぞれ同時実行識別情報が設定されており、
前記実行許否判断部は、あるソフトウェア識別情報に対応する同時実行情報を特定する際に、当該ソフトウェア識別情報と、前記状況取得部が取得した状況情報とに対応する同時実行識別情報に、前記ロックパターン情報によって対応付けられる同時実行情報を特定する、請求項１から請求項５のいずれか記載の情報処理装置。
【請求項９】
前記情報処理装置の処理負荷を示す情報である状況情報を取得する状況取得部をさらに備え、
前記カテゴリ対応情報は、ソフトウェア識別情報と、状況情報と、カテゴリとを対応付けて有する情報であり、状況情報の示す処理負荷の高低に応じて、それぞれカテゴリが設定されており、
前記実行許否判断部は、あるソフトウェア識別情報に対応するカテゴリを特定する際に、当該ソフトウェア識別情報と、前記状況取得部が取得した状況情報とに対応するカテゴリを特定する、請求項１から請求項５のいずれか記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプログラムの実行に関して同時実行制御を行う情報処理装置等に関する。
【背景技術】
【０００２】
従来、同一のデータベースを更新する２以上のソフトウェアを実行すると、データベースの整合がとれなくなるおそれがあることなどの理由によって、ソフトウェアを実行する際に、他のソフトウェアと同時実行できるかどうかを判断し、できると判断された場合に、判断対象となるソフトウェアを実行していた。
【０００３】
従来の同時実行制御においては、あるソフトウェアと、他のソフトウェアとを同時に実行できるかどうかが、ソフトウェアごとに定められていることが一般的であった。例えば、ソフトウェアＡと、ソフトウェアＢとは同時に実行できるが、ソフトウェアＡと、ソフトウェアＣとは同時に実行できない、と言うような同時実行制御に関する情報が保持されていた。そして、ソフトウェアを実行する実行部は、すでにソフトウェアＡが実行中である場合に、ソフトウェアＢを起動することができるが、ソフトウェアＣを起動することはできなかった。
なお、同様のものとして、排他制御（ロック）が知られている（例えば、非特許文献１参照）。
【非特許文献１】「排他制御」、［ｏｎｌｉｎｅ］、［２００７年１０月４日検索］、インターネット<ＵＲＬ：ｈｔｔｐ：／／ｅ−ｗｏｒｄｓ．ｊｐ／ｗ／Ｅ６８Ｅ９２Ｅ４ＢＢ９６Ｅ５８８Ｂ６Ｅ５ＢＥＡ１．ｈｔｍｌ>
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ソフトウェアごとに同時実行できるかどうかを設定することは、非常に煩雑な作業であり、ソフトウェアの数が増大するにしたがって、その設定の処理に必要な負荷も多大なものとなると言う問題があった。
【０００５】
本発明は、上記課題を解決するためになされたものであり、ソフトウェアごとに、どのソフトウェアと同時実行できるかどうかを設定することなく、ソフトウェアの実行に関する同時実行の制御を行うことができる情報処理装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明による情報処理装置は、２以上のソフトウェアが記憶されるソフトウェア記憶部と、前記ソフトウェア記憶部で記憶されているソフトウェアを識別する情報であるソフトウェア識別情報と、当該ソフトウェア識別情報で識別されるソフトウェアのカテゴリとを対応付けて有する情報であるカテゴリ対応情報が記憶されるカテゴリ対応情報記憶部と、あるソフトウェアと、他のソフトウェアとを同時実行できるかどうかを、他のソフトウェアのカテゴリごとに有する情報である同時実行情報と、当該同時実行情報を識別する情報である同時実行識別情報とを対応付けて有する情報であるロックパターン情報が２以上記憶されるロックパターン情報記憶部と、前記ソフトウェア記憶部で記憶されているソフトウェアを識別する情報であるソフトウェア識別情報と、当該ソフトウェア識別情報で識別されるソフトウェアの同時実行情報を識別する同時実行識別情報とを対応付けて有する情報である同時実行対応情報が記憶される同時実行対応情報記憶部と、ソフトウェアの同時実行の許否の判断を行うものであり、判断対象となるソフトウェアを識別するソフトウェア識別情報に前記カテゴリ対応情報によって対応付けられるカテゴリが、その判断時に実行中のソフトウェアを識別するソフトウェア識別情報に、前記同時実行対応情報及び前記ロックパターン情報によって対応付けられる同時実行情報によって同時実行が許可されていないものである場合に、当該判断対象のソフトウェアの実行を許可せず、同時実行が許可されているものである場合に、当該判断対象のソフトウェアの実行を許可する実行許否判断部と、前記実行許否判断部によって実行の許可されたソフトウェアを実行する実行部と、を備えたものである。
【０００７】
このような構成により、カテゴリ対応情報やロックパターン情報、同時実行対応情報等を用いることによって、ソフトウェアの同時実行に関する制御を行うことができる。したがって、従来のように、ソフトウェア対ソフトウェアでの同時実行の可否の設定を行う必要がなく、その設定を行うための煩雑な作業を行わなくてもよいことになる。特に、後にソフトウェアを追加する場合には、従来であれば、その追加するソフトウェアと、既存のソフトウェアとの同時実行の可否の設定を行う必要があり、ソフトウェアの数が非常に多い場合には、過大な作業が課されることとなっていたが、本発明による情報処理装置では、追加するソフトウェアに対して単に対応するカテゴリや、同時実行識別情報の設定を行えばよいだけであり、既存のソフトウェアに関する設定を変更しなくてもよいと言うメリットがある。
【０００８】
また、本発明による情報処理装置では、前記実行許否判断部は、判断時に実行中のソフトウェアを識別するソフトウェア識別情報に前記カテゴリ対応情報によって対応付けられるカテゴリが、前記判断対象となるソフトウェアを識別するソフトウェア識別情報に、前記同時実行対応情報及び前記ロックパターン情報によって対応付けられる同時実行情報によって同時実行が許可されていないものである場合にも、当該判断対象のソフトウェアの実行を許可しなくてもよい。
【０００９】
このような構成により、判断対象となるソフトウェアに対応する同時実行情報によって、実行中のソフトウェアの同時実行が許可されていない場合にも、判断対象のソフトウェアの実行を許可しないようにすることができ、より条件の厳しい判断を行うことができる。その結果として、例えば、同時に実行してはならないソフトウェアの同時実行を防止することができる。
【００１０】
また、本発明による情報処理装置では、２以上のソフトウェアが記憶されるソフトウェア記憶部と、前記ソフトウェア記憶部で記憶されているソフトウェアを識別する情報であるソフトウェア識別情報と、当該ソフトウェア識別情報で識別されるソフトウェアのカテゴリとを対応付けて有する情報であるカテゴリ対応情報が記憶されるカテゴリ対応情報記憶部と、あるソフトウェアと、他のソフトウェアとを同時実行できるかどうかを、他のソフトウェアのカテゴリごとに有する情報である同時実行情報と、当該同時実行情報を識別する情報である同時実行識別情報とを対応付けて有する情報であるロックパターン情報が２以上記憶されるロックパターン情報記憶部と、前記ソフトウェア記憶部で記憶されているソフトウェアを識別する情報であるソフトウェア識別情報と、当該ソフトウェア識別情報で識別されるソフトウェアの同時実行情報を識別する同時実行識別情報とを対応付けて有する情報である同時実行対応情報が記憶される同時実行対応情報記憶部と、ソフトウェアの同時実行の許否の判断を行うものであり、判断時に実行中のソフトウェアを識別するソフトウェア識別情報に前記カテゴリ対応情報によって対応付けられるカテゴリが、前記判断対象となるソフトウェアを識別するソフトウェア識別情報に、前記同時実行対応情報及び前記ロックパターン情報によって対応付けられる同時実行情報によって同時実行が許可されていないものである場合に、当該判断対象のソフトウェアの実行を許可せず、同時実行が許可されているものである場合に、当該判断対象のソフトウェアの実行を許可する実行許否判断部と、前記実行許否判断部によって実行の許可されたソフトウェアを実行する実行部と、を備えたものである。
【００１１】
このような構成により、判断対象となるソフトウェアに対応する同時実行情報によって、実行中のソフトウェアの同時実行が許可されていない場合に、判断対象のソフトウェアの実行を許可しないようにすることができ、ソフトウェアの同時実行に関する制御を行うことができる。
【００１２】
また、本発明による情報処理装置では、前記実行許否判断部は、判断対象となるソフトウェアの起動時に、当該ソフトウェアの実行の許否の判断を行ってもよい。
このような構成により、同時実行をすることができないソフトウェアを起動しないように制限することができる。
【００１３】
また、本発明による情報処理装置では、前記ソフトウェア記憶部では、全体ソフトウェアと、当該全体ソフトウェアを構成するソフトウェアであり、それ自体で実行単位となるソフトウェアである部分ソフトウェアとが記憶され、前記部分ソフトウェアは、前記全体ソフトウェアのメニュー一覧で表示される一のメニューに対応するソフトウェアであってもよい。
このような構成により、メニュー一覧によって選択されるソフトウェアの実行に関して、同時実行の許否の判断を行うことができる。
【発明の効果】
【００１４】
本発明による情報処理装置等によれば、ソフトウェアごとに、どのソフトウェアと同時実行できるかどうかを設定することなく、ソフトウェアの実行に関する同時実行の制御を行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明による情報処理装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
【００１６】
（実施の形態１）
本発明の実施の形態１による情報処理装置について、図面を参照しながら説明する。本実施の形態による情報処理装置は、ソフトウェアの実行の許否を判断し、その判断結果に応じてソフトウェアを実行したり、実行しなかったりするものである。
【００１７】
図１は、本実施の形態による情報処理装置１の構成を示すブロック図である。図１において、本実施の形態による情報処理装置１は、ソフトウェア記憶部１１と、実行部１２と、カテゴリ対応情報記憶部１３と、ロックパターン情報記憶部１４と、同時実行対応情報記憶部１５と、ソフトウェア実行情報記憶部１６と、更新部１７と、実行許否判断部１８とを備える。
【００１８】
ソフトウェア記憶部１１では、２以上のソフトウェアが記憶される。このソフトウェアは、どのようなものであってもよい。例えば、全体ソフトウェアや、部分ソフトウェアが含まれていてもよい。全体ソフトウェアとは、例えば、アプリケーションや、統合アプリケーション等のソフトウェアである。全体ソフトウェアは、例えば、ワードプロセッサの単品のソフトウェアであってもよく、ワードプロセッサ、スプレッドシート、プレゼンテーションの各ソフトウェアを統合した統合ソフトウェアであってもよい。統合ソフトウェアは、人事に関する処理や、給与に関する処理を行う統合ＥＲＰパッケージであってもよい。統合ＥＲＰパッケージでは、例えば、販売支援、配達支援、請求支援、製造管理支援、在庫管理支援、会計管理支援、給与管理支援、就業管理支援、及び人事管理支援などの処理を行う。部分ソフトウェアとは、全体ソフトウェアを構成するソフトウェアである。また、部分ソフトウェアは、それ自体で実行単位となるソフトウェアである。その実行単位は、例えば、アプリケーションの実行単位であってもよく、ＯＳ（オペレーティングシステム）の実行単位であってもよい。部分ソフトウェアは、例えば、全体ソフトウェアを構成するタスクであってもよく、全体ソフトウェアのメニュー一覧（例えば、統合ソフトウェアにおいて各ソフトウェアを選択するためのメニュー一覧）で表示される一のメニュー（メニュー項目と呼ばれることもある）に対応するソフトウェア（メニューが選択された際に実行されるソフトウェア）であってもよく、全体ソフトウェアを構成するプロセスであってもよく、全体ソフトウェアを構成するスレッドや、サブメニュー項目などであってもよい。サブメニュー項目は、ＯＳで管理されずに、アプリケーションが独自に管理してもよい。また、ソフトウェアは、データベースを用いた処理（例えば、データベースのデータを参照する処理や、データベースにデータを登録する処理や、データベースのメンテナンス（属性の付加・削除等）の処理など）を行うものであってもよく、そうでなくてもよい。
【００１９】
ソフトウェア記憶部１１に２以上のソフトウェアが記憶される過程は問わない。例えば、記録媒体を介して２以上のソフトウェアがソフトウェア記憶部１１で記憶されるようになってもよく、通信回線等を介して送信された２以上のソフトウェアがソフトウェア記憶部１１で記憶されるようになってもよい。ソフトウェア記憶部１１での記憶は、外部のストレージデバイス等から読み出した複数のソフトウェアのＲＡＭ等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。ソフトウェア記憶部１１は、所定の記録媒体（例えば、半導体メモリや磁気ディスク、光ディスクなど）によって実現されうる。
【００２０】
実行部１２は、ソフトウェア記憶部１１で記憶されているソフトウェアを適宜読み出して実行する。なお、実行部１２は、後述する実行許否判断部１８によって実行の許可されたソフトウェアを実行し、実行許否判断部１８によって実行の許可されなかったソフトウェアを実行しない。実行部１２は、例えば、ソフトウェアを読み出して実行するマイクロプロセッサ等によって実現されうる。
【００２１】
カテゴリ対応情報記憶部１３では、カテゴリ対応情報が記憶される。カテゴリ対応情報は、ソフトウェア記憶部１１で記憶されているソフトウェアを識別する情報であるソフトウェア識別情報と、そのソフトウェア識別情報で識別されるソフトウェアのカテゴリとを対応付けて有する情報である。ソフトウェア識別情報は、例えば、ソフトウェアの名称や、ソフトウェアの製品番号、ソフトウェアを識別する文字列・記号等であってもよい。カテゴリとは、ソフトウェアのグループや、種類を示すものであり、例えば、ソフトウェアの処理内容や、ソフトウェアの処理が実行された際の影響等を考慮して設定されるものである。例えば、データベースを参照するだけのソフトウェアであるのか、データベースに情報を登録する処理も行うソフトウェアなのか、他のソフトウェアとは完全に排他的に動作するソフトウェア（例えば、メンテナンスのためのソフトウェア等）なのかに応じて設定されてもよい。このカテゴリ対応情報は、例えば、システムの設計者によって適宜、定められるものである。このカテゴリ対応情報を用いることによって、あるソフトウェアのソフトウェア識別情報が分かった場合に、そのソフトウェアのカテゴリを知ることができるようになる。また、「カテゴリ」は、厳密にはカテゴリを示す情報であるが、ここでは、単にカテゴリと呼ぶことにする。
【００２２】
カテゴリ対応情報記憶部１３にカテゴリ対応情報が記憶される過程は問わない。例えば、記録媒体を介してカテゴリ対応情報がカテゴリ対応情報記憶部１３で記憶されるようになってもよく、通信回線等を介して送信されたカテゴリ対応情報がカテゴリ対応情報記憶部１３で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたカテゴリ対応情報がカテゴリ対応情報記憶部１３で記憶されるようになってもよい。カテゴリ対応情報記憶部１３での記憶は、外部のストレージデバイス等から読み出したカテゴリ対応情報のＲＡＭ等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。カテゴリ対応情報記憶部１３は、所定の記録媒体（例えば、半導体メモリや磁気ディスク、光ディスクなど）によって実現されうる。
【００２３】
ロックパターン情報記憶部１４では、ロックパターン情報が２以上記憶される。ロックパターン情報は、同時実行情報と、その同時実行情報を識別する情報である同時実行識別情報とを対応付けて有する情報である。同時実行情報は、あるソフトウェアと、他のソフトウェアとを同時実行できるかどうかを、他のソフトウェアのカテゴリごとに有する情報である。すなわち、他のソフトウェアのカテゴリが分かっている場合には、同時実行情報を用いることによって、あるソフトウェアと、他のソフトウェアを同時実行できるかどうかが示されることになる。
【００２４】
ロックパターン情報記憶部１４に２以上のロックパターン情報が記憶される過程は問わない。例えば、記録媒体を介して２以上のロックパターン情報がロックパターン情報記憶部１４で記憶されるようになってもよく、通信回線等を介して送信された２以上のロックパターン情報がロックパターン情報記憶部１４で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された２以上のロックパターン情報がロックパターン情報記憶部１４で記憶されるようになってもよい。ロックパターン情報記憶部１４での記憶は、外部のストレージデバイス等から読み出した２以上のロックパターン情報のＲＡＭ等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。ロックパターン情報記憶部１４は、所定の記録媒体（例えば、半導体メモリや磁気ディスク、光ディスクなど）によって実現されうる。
【００２５】
同時実行対応情報記憶部１５では、同時実行対応情報が記憶される。同時実行対応情報は、ソフトウェア記憶部１１で記憶されているソフトウェアを識別する情報であるソフトウェア識別情報と、そのソフトウェア識別情報で識別されるソフトウェアの同時実行情報を識別する同時実行識別情報とを対応付けて有する情報である。この同時実行対応情報を用いることによって、あるソフトウェアのソフトウェア識別情報が分かった場合に、そのソフトウェアの同時実行識別情報を知ることができるようになる。この同時実行対応情報は、例えば、システムの設計者によって適宜、定められるものである。この同時実行対応情報を用いることによって、あるソフトウェアのソフトウェア識別情報が分かった場合に、そのソフトウェアに対応する同時実行情報を知ることができるようになる。
【００２６】
同時実行対応情報記憶部１５に同時実行対応情報が記憶される過程は問わない。例えば、記録媒体を介して同時実行対応情報が同時実行対応情報記憶部１５で記憶されるようになってもよく、通信回線等を介して送信された同時実行対応情報が同時実行対応情報記憶部１５で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された同時実行対応情報が同時実行対応情報記憶部１５で記憶されるようになってもよい。同時実行対応情報記憶部１５での記憶は、外部のストレージデバイス等から読み出した同時実行対応情報のＲＡＭ等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。同時実行対応情報記憶部１５は、所定の記録媒体（例えば、半導体メモリや磁気ディスク、光ディスクなど）によって実現されうる。
【００２７】
ソフトウェア実行情報記憶部１６では、ソフトウェア実行情報が記憶される。ソフトウェア実行情報とは、実行部１２が実行中のソフトウェアを識別するソフトウェア識別情報を少なくとも有する情報である。ソフトウェア識別情報に、ソフトウェア識別情報以外の情報が含まれていてもよい。例えば、ソフトウェア実行情報において、ソフトウェアの実行開始時刻や、ソフトウェアを起動したユーザを識別する情報であるユーザ識別情報等が、ソフトウェア識別情報に対応付けられていてもよい。ソフトウェア実行情報は、後述する更新部１７によって更新されるものである。この更新には、新規の登録や、削除も含まれるものとする。ソフトウェア実行情報記憶部１６での記憶は、一時的な記憶でもよく、あるいは、長期的な記憶でもよい。ソフトウェア実行情報記憶部１６は、所定の記録媒体（例えば、半導体メモリや磁気ディスク、光ディスクなど）によって実現されうる。
【００２８】
更新部１７は、ソフトウェア実行情報記憶部１６で記憶されているソフトウェア実行情報を、実行部１２によるソフトウェアの実行状況に応じて更新する。ソフトウェアの実行状況とは、実行部１２によるソフトウェアの実行の開始や、実行の終了の状況である。例えば、実行部１２が新たなソフトウェアの実行を開始した場合には、更新部１７は、そのソフトウェアに関するソフトウェア実行情報のレコード（例えば、そのソフトウェアを識別するソフトウェア識別情報を含むレコード）を作成してソフトウェア実行情報記憶部１６に蓄積する。また、例えば、実行部１２がソフトウェアの実行を終了した場合には、更新部１７は、そのソフトウェアに関するソフトウェア実行情報のレコードをソフトウェア実行情報記憶部１６から削除する。なお、この更新部１７の処理は、ＯＳによってなされることもあり、その場合には、ソフトウェア実行情報はＯＳによって管理されることになる。
【００２９】
実行許否判断部１８は、ソフトウェアの同時実行の許否の判断を行う。実行許否判断部１８が行う判断は、判断結果を得る処理であれば、その方法を問わない。この同時実行の許否の判断方法としては、いくつかの方法があるが、ここでは、そのうちの３つの方法について説明する。
【００３０】
［実行中のソフトウェアの同時実行情報を用いた判断］
実行許否判断部１８は、判断時に実行中のソフトウェアを識別するソフトウェア識別情報に、同時実行対応情報及びロックパターン情報によって対応付けられる同時実行情報を特定する。実行中のソフトウェアを識別するソフトウェア識別情報は、ソフトウェア実行情報記憶部１６に記憶されているため、そこから読み出すことによって取得することができる。また、そのソフトウェア識別情報に、同時実行対応情報及びロックパターン情報によって対応付けられる同時実行情報の特定は、例えば、そのソフトウェア識別情報に、同時実行対応情報によって対応付けられている同時実行識別情報を特定し、その特定した同時実行識別情報に、ロックパターン情報によって対応付けられている同時実行情報を特定することによって行うことができる。
【００３１】
より具体的には、実行許否判断部１８は、例えば、ソフトウェア実行情報記憶部１６からソフトウェア識別情報を読み出し、その読み出したソフトウェア識別情報を検索キーとして同時実行対応情報を検索することにより、そのソフトウェア識別情報に対応付けられている同時実行識別情報を取得してもよい。次に、実行許否判断部１８は、その取得した同時実行識別情報を検索キーとして２以上のロックパターン情報を検索することにより、その同時実行識別情報に対応付けられている同時実行情報を取得してもよい。
【００３２】
また、実行許否判断部１８は、判断対象となるソフトウェアを識別するソフトウェア識別情報に、カテゴリ対応情報によって対応付けられるカテゴリを特定する。実行許否判断部１８は、例えば、判断対象となるソフトウェアを識別するソフトウェア識別情報、すなわち、実行部１２が実行する、あるいは実行しているソフトウェアを識別するソフトウェア識別情報を、実行部１２から受け取ってもよい。そして、実行許否判断部１８は、そのソフトウェア識別情報を検索キーとして、カテゴリ対応情報を検索することにより、そのソフトウェア識別情報に対応付けられているカテゴリを特定してもよい。
【００３３】
また、実行許否判断部１８は、その特定したカテゴリが、特定した同時実行情報によって同時実行が許可されているものである場合に、判断対象となっているソフトウェアの実行を許可し、その特定したカテゴリが、特定した同時実行情報によって同時実行が許可されていないものである場合に、判断対象となっているソフトウェアの実行を許可しない。このようにして、実行許否判断部１８によるソフトウェアの実行の許否が、実行中のソフトウェアに対応する同時実行情報を用いて判断される。
【００３４】
なお、実行中のソフトウェアが複数存在する場合には、実行許否判断部１８は、例えば、実行中のすべてのソフトウェアに関して、判断対象となっているソフトウェアの実行が許可される場合に、最終的に、その判断対象のソフトウェアの実行を許可し、実行中のいずれかのソフトウェアに関して、判断対象となっているソフトウェアの実行が許可されない場合に、最終的に、その判断対象のソフトウェアの実行を許可しない。すなわち、一番厳しい条件で実行の許否が判断されることになる。なお、複数のソフトウェアが実行中である場合に、実行許否判断部１８は、各実行中のソフトウェアに対応する同時実行情報を取得して、それらを統合することにより、ソフトウェアの実行に関する最も厳しい条件（ソフトウェアの実行が困難に判断される可能性の高い条件）の同時実行情報を作成し、その統合後の同時実行情報を用いて、判断対象となっているソフトウェアの実行の許否を判断してもよい。
【００３５】
［判断対象のソフトウェアの同時実行情報を用いた判断］
実行許否判断部１８は、判断対象となるソフトウェアを識別するソフトウェア識別情報に、同時実行対応情報及びロックパターン情報によって対応付けられる同時実行情報を特定する。実行許否判断部１８は、例えば、判断対象となるソフトウェアを識別するソフトウェア識別情報、すなわち、実行部１２が実行する、あるいは実行しているソフトウェアを識別するソフトウェア識別情報を、実行部１２から受け取ってもよい。また、そのソフトウェア識別情報に、同時実行対応情報及びロックパターン情報によって対応付けられる同時実行情報の特定は、例えば、そのソフトウェア識別情報に、同時実行対応情報によって対応付けられている同時実行識別情報を特定し、その特定した同時実行識別情報に、ロックパターン情報によって対応付けられている同時実行情報を特定することによって行うことができる。
【００３６】
また、実行許否判断部１８は、判断時に実行中のソフトウェアを識別するソフトウェア識別情報に、カテゴリ対応情報によって対応付けられるカテゴリを特定する。実行中のソフトウェアを識別するソフトウェア識別情報は、ソフトウェア実行情報記憶部１６に記憶されているため、そこから読み出すことによって取得することができる。そして、実行許否判断部１８は、そのソフトウェア識別情報を検索キーとして、カテゴリ対応情報を検索することにより、そのソフトウェア識別情報に対応付けられているカテゴリを特定してもよい。
【００３７】
また、実行許否判断部１８は、その特定したカテゴリが、特定した同時実行情報によって同時実行が許可されているものである場合に、判断対象となっているソフトウェアの実行を許可し、その特定したカテゴリが、特定した同時実行情報によって同時実行が許可されていないものである場合に、判断対象となっているソフトウェアの実行を許可しない。このようにして、実行許否判断部１８によるソフトウェアの実行の許否が、判断対象となるソフトウェアに対応する同時実行情報を用いて判断される。
【００３８】
なお、実行中のソフトウェアが複数存在する場合には、実行許否判断部１８は、例えば、実行中のすべてのソフトウェアに関して、判断対象となっているソフトウェアの実行が許可される場合に、最終的に、その判断対象のソフトウェアの実行を許可し、実行中のいずれかのソフトウェアに関して、判断対象となっているソフトウェアの実行が許可されない場合に、最終的に、その判断対象のソフトウェアの実行を許可しない。すなわち、一番厳しい条件で実行の許否が判断されることになる。ここで、実行中のソフトウェアに対応するカテゴリに重複が存在する場合（例えば、実行中のソフトウェアのカテゴリが、カテゴリＡ、カテゴリＢ、カテゴリＣ、カテゴリＡ、カテゴリＢであるような場合）には、実行許否判断部１８は、重複しない異なるカテゴリ（前述の例の場合には、カテゴリＡ、カテゴリＢ、カテゴリＣ）についてのみ判断を行うようにしてもよい。また、各カテゴリに関して、実行の許否に包含関係がある場合（例えば、カテゴリＡについて許可されない場合には、カテゴリＢ，Ｃについても当然に許可されない、と同時実行情報によって設定されている場合など）には、ソフトウェアの実行に関して最も厳しく判断されるカテゴリについてのみ判断を行うようにしてもよい。前述の判断結果と同じになるからである。
【００３９】
［実行中のソフトウェアの同時実行情報と、判断対象のソフトウェアの同時実行情報とを用いた判断］
実行許否判断部１８は、前述の「実行中のソフトウェアの同時実行情報を用いた判断」と、「判断対象のソフトウェアの同時実行情報を用いた判断」とを組み合わせて判断を行ってもよい。この場合にも、実行中のソフトウェアの同時実行情報を用いた判断で、判断対象となっているソフトウェアの実行が許可され、かつ、判断対象のソフトウェアの同時実行情報を用いた判断で、判断対象となっているソフトウェアの実行が許可される場合にのみ、実行許否判断部１８は、判断対象となるソフトウェアの実行を許可することになる。すなわち、ソフトウェアの実行に関する最も厳しい条件で判断されることになる。
【００４０】
具体的には、実行許否判断部１８は、判断対象となるソフトウェアを識別するソフトウェア識別情報にカテゴリ対応情報によって対応付けられるカテゴリが、その判断時に実行中のソフトウェアを識別するソフトウェア識別情報に、同時実行対応情報及びロックパターン情報によって対応付けられる同時実行情報によって同時実行が許可されていないものである場合、あるいは、判断時に実行中のソフトウェアを識別するソフトウェア識別情報にカテゴリ対応情報によって対応付けられるカテゴリが、判断対象となるソフトウェアを識別するソフトウェア識別情報に同時実行対応情報及びロックパターン情報によって対応付けられる同時実行情報によって同時実行が許可されていないものである場合に、その判断対象のソフトウェアの実行を許可せず、そうでない場合に、その判断対象のソフトウェアの実行を許可する。なお、実行中のソフトウェアの同時実行情報を用いた判断と、判断対象のソフトウェアの同時実行情報を用いた判断との処理の順序は問わない。
【００４１】
なお、実行許否判断部１８は、判断対象となるソフトウェアの起動時に、そのソフトウェアの実行の許否の判断を行ってもよく、あるいは、その他のタイミングでソフトウェアの実行の許否の判断を行ってもよい。後者の場合には、例えば、ソフトウェアが実行された後の所定のタイミングで、そのソフトウェアの実行の許否が判断されてもよい。所定のタイミングとは、例えば、データベースにアクセスするタイミングや、データベースにデータを登録するタイミング等であってもよい。当然ながら、判断対象となるソフトウェアの起動時に、そのソフトウェアの実行の許否の判断を行うことが一般的である。
【００４２】
なお、ソフトウェア記憶部１１と、カテゴリ対応情報記憶部１３と、ロックパターン情報記憶部１４と、同時実行対応情報記憶部１５と、ソフトウェア実行情報記憶部１６とのうち、任意の２以上の記憶部は、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。前者の場合には、例えば、２以上のソフトウェアを記憶している領域がソフトウェア記憶部１１となり、カテゴリ対応情報を記憶している領域がカテゴリ対応情報記憶部１３となる。
【００４３】
また、情報処理装置１は、実行部１２や他の構成要素が、装置外部と情報のやりとりを行うための、図示しない受付部や、出力部を備えていてもよい。その図示しない受付部によって、装置外部から入力された情報を受け付けてもよく、その図示しない出力部によって、装置外部に情報を出力してもよい。
【００４４】
次に、本実施の形態による情報処理装置１の動作について、図２のフローチャートを用いて説明する。この図２のフローチャートでは、ソフトウェアの起動時に実行の許否の判断を行う場合について説明する。
【００４５】
（ステップＳ１０１）実行部１２は、ソフトウェアを実行するかどうか判断する。そして、実行する場合には、ステップＳ１０２に進み、そうでない場合には、ステップＳ１０５に進む。なお、実行部１２は、例えば、ユーザからソフトウェアを実行する旨の指示を受け付けた場合に、ソフトウェアを実行すると判断してもよく、あるいは、ソフトウェアの実行中における他のソフトウェアを読み出す旨のプログラムに応じて、該当するソフトウェアを実行すると判断してもよい。
【００４６】
（ステップＳ１０２）実行許否判断部１８は、実行部１２が実行しようとするソフトウェアについて、実行の許否の判断を行う。この処理の詳細については、図３のフローチャート、及び図４のフローチャートを用いて後述する。
【００４７】
（ステップＳ１０３）実行部１２は、実行許否判断部１８によって、ソフトウェアの実行が許可されたかどうか判断する。そして、許可された場合には、ステップＳ１０４に進み、許可されなかった場合には、ステップＳ１０１に戻る。なお、ソフトウェアの実行が許可されなかった場合に、実行部１２は、ソフトウェアの実行が許可されなかった旨を出力してもよい。その出力によって、例えば、ユーザは、実行を指示したソフトウェアの実行が許可されず、実行されなかった旨を知ることができる。
【００４８】
（ステップＳ１０４）実行部１２は、ステップＳ１０１において、実行すると判断したソフトウェアを実行する。そして、ステップＳ１０１に戻る。
（ステップＳ１０５）更新部１７は、ソフトウェア実行情報を更新するかどうか判断する。そして、更新する場合には、ステップＳ１０６に進み、そうでない場合には、ステップＳ１０１に戻る。ここで、更新部１７は、例えば、実行部１２によって新たなソフトウェアが実行された場合や、実行部１２によるソフトウェアの実行が終了された場合に、ソフトウェア実行情報を更新するタイミングであると判断してもよい。
【００４９】
（ステップＳ１０６）更新部１７は、ソフトウェア実行情報記憶部１６で記憶されているソフトウェア実行情報を更新する。そして、ステップＳ１０１に戻る。
なお、図２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００５０】
図３は、図２のフローチャートにおける実行の許否判断の処理（ステップＳ１０２の処理）の詳細を示すフローチャートである。図３のフローチャートは、実行中のソフトウェアの同時実行情報を用いた判断について示すものである。
【００５１】
（ステップＳ２０１）実行許否判断部１８は、実行中のソフトウェアが存在するかどうか判断する。そして、存在する場合には、ステップＳ２０２に進み、そうでない場合には、ステップＳ２１１に進む。ここで、実行許否判断部１８は、例えば、ソフトウェア実行情報記憶部１６で記憶されているソフトウェア実行情報に、実行中のソフトウェアを識別するソフトウェア識別情報が１個でも含まれる場合には、実行中のソフトウェアが存在すると判断し、そうでない場合には、実行中のソフトウェアが存在しないと判断してもよい。
（ステップＳ２０２）実行許否判断部１８は、カウンタｉを１に設定する。
【００５２】
（ステップＳ２０３）実行許否判断部１８は、実行中のソフトウェアのうち、ｉ番目の実行中のソフトウェアに、同時実行対応情報によって対応付けられている同時実行識別情報を特定する。例えば、実行許否判断部１８は、ｉ番目の実行中のソフトウェアを識別するソフトウェア識別情報をソフトウェア実行情報記憶部１６から読み出し、そのソフトウェア識別情報を検索キーとして同時実行対応情報を検索することによって、そのソフトウェア識別情報に対応する同時実行識別情報を特定してもよい。同時実行識別情報を特定するとは、同時実行識別情報を図示しない記録媒体に蓄積することであってもよく、あるいは、所定の記録媒体で記憶されている同時実行識別情報にフラグを設定することであってもよい。
【００５３】
（ステップＳ２０４）実行許否判断部１８は、ステップＳ２０３で特定した同時実行識別情報に、ロックパターン情報によって対応付けられている同時実行情報を取得する。例えば、実行許否判断部１８は、ステップＳ２０３で特定した同時実行識別情報を検索キーとして、ロックパターン情報記憶部１４で記憶されている複数のロックパターン情報を検索することによって、その同時実行識別情報に対応する同時実行情報を取得してもよい。同時実行情報の取得は、同時実行情報をロックパターン情報記憶部１４から読み出すことによって行うことができる。
【００５４】
（ステップＳ２０５）実行許否判断部１８は、ステップＳ２０４で取得した同時実行情報を、図示しない記録媒体において一時的に記憶する。
（ステップＳ２０６）実行許否判断部１８は、カウンタｉを１だけインクリメントする。
【００５５】
（ステップＳ２０７）実行許否判断部１８は、ｉ番目の実行中のソフトウェアが存在するかどうか判断する。そして、存在する場合には、ステップＳ２０３に戻り、存在しない場合には、ステップＳ２０８に進む。ここで、実行許否判断部１８は、例えば、ソフトウェア実行情報記憶部１６で記憶されているソフトウェア実行情報にｉ番目のソフトウェア識別情報が存在するかどうかによって、この判断を行ってもよい。ｉ番目のソフトウェア識別情報が存在する場合には、ｉ番目の実行中のソフトウェアが存在すると判断してもよい。
【００５６】
（ステップＳ２０８）実行許否判断部１８は、ステップＳ２０５で一時的に記憶した１以上の同時実行情報を読み出して、統合する。この統合は、前述のように、ソフトウェアの実行に関する最も厳しい条件（ソフトウェアの実行が困難に判断される可能性の高い条件）となるように統合するものとする。より具体的には、あるカテゴリについて、一の同時実行情報では、同時実行が許可され、他の同時実行情報では、同時実行が許可されない場合には、実行許否判断部１８は、そのカテゴリについては、同時実行が許可されなくなるように同時実行情報を統合する。その統合後の同時実行情報も、一時的に記憶されるものとする。
【００５７】
（ステップＳ２０９）実行許否判断部１８は、判断対象となるソフトウェアのカテゴリを特定する。例えば、実行許否判断部１８は、判断対象となるソフトウェアを識別するソフトウェア識別情報を実行部１２から受け取り、そのソフトウェア識別情報に、カテゴリ対応情報によって対応付けられているカテゴリを特定する。より具体的には、実行許否判断部１８は、実行部１２から受け取ったソフトウェア識別情報を検索キーとして、カテゴリ対応情報を検索することによって、そのソフトウェア識別情報に対応するカテゴリを特定してもよい。カテゴリを特定するとは、カテゴリを図示しない記録媒体に蓄積することであってもよく、あるいは、所定の記録媒体で記憶されているカテゴリにフラグを設定することであってもよい。
【００５８】
（ステップＳ２１０）実行許否判断部１８は、ステップＳ２０８で統合した同時実行情報と、ステップＳ２０９で特定したカテゴリとを用いて、判断対象となるソフトウェアの実行が許可されるかどうか判断する。より具体的には、実行許否判断部１８は、ステップＳ２０９で特定したカテゴリに、統合した同時実行情報で対応付けられる同時実行の許否を示す情報が、許可である場合には、判断対象となるソフトウェアを実行可能であると判断し、許可でない場合には、判断対象となるソフトウェアを実行可能でないと判断する。そして、実行可能である場合には、ステップＳ２１１に進み、そうでない場合には、ステップＳ２１２に進む。
【００５９】
（ステップＳ２１１）実行許否判断部１８は、判断対象となるソフトウェアの実行が許可される旨を実行部１２に渡す。そして、図２のフローチャートに戻る。
【００６０】
（ステップＳ２１２）実行許否判断部１８は、判断対象となるソフトウェアの実行が許可されない旨を実行部１２に渡す。そして、図２のフローチャートに戻る。
【００６１】
なお、図３のフローチャートにおいて、ステップＳ２０９の処理は、ステップＳ２１０よりも以前に実行されるのであれば、その処理の実行のタイミングを問わない。例えば、ステップＳ２０１の次に実行されてもよい。このように、図３のフローチャートの処理の順序については、ある程度の任意性がある。
【００６２】
また、図３のフローチャートにおいて、ステップＳ２１０の判断で用いるのは、同時実行情報のうち、判断対象のソフトウェアのカテゴリに対応する情報のみである。したがって、ステップＳ２０９の処理を、ステップＳ２０４よりも以前に行って、ステップＳ２０３では、その特定されたカテゴリに対応する同時実行情報の情報のみを取得するようにしてもよい。
【００６３】
図４は、図２のフローチャートにおける実行の許否判断の処理（ステップＳ１０２の処理）の詳細を示すフローチャートである。図４のフローチャートは、判断対象のソフトウェアの同時実行情報を用いた判断について示すものである。
【００６４】
（ステップＳ３０１）実行許否判断部１８は、実行中のソフトウェアが存在するかどうか判断する。そして、存在する場合には、ステップＳ３０２に進み、そうでない場合には、ステップＳ３１０に進む。ここで、実行許否判断部１８は、例えば、ソフトウェア実行情報記憶部１６で記憶されているソフトウェア実行情報に、実行中のソフトウェアを識別するソフトウェア識別情報が１個でも含まれる場合には、実行中のソフトウェアが存在すると判断し、そうでない場合には、実行中のソフトウェアが存在しないと判断してもよい。
【００６５】
（ステップＳ３０２）実行許否判断部１８は、判断対象となるソフトウェアに、同時実行対応情報によって対応付けられている同時実行識別情報を特定する。例えば、実行許否判断部１８は、判断対象となるソフトウェアを識別するソフトウェア識別情報を実行部１２から受け取り、そのソフトウェア識別情報を検索キーとして同時実行対応情報を検索することによって、そのソフトウェア識別情報に対応する同時実行識別情報を特定してもよい。同時実行識別情報を特定するとは、同時実行識別情報を図示しない記録媒体に蓄積することであってもよく、あるいは、所定の記録媒体で記憶されている同時実行識別情報にフラグを設定することであってもよい。
【００６６】
（ステップＳ３０３）実行許否判断部１８は、ステップＳ３０２で特定した同時実行識別情報に、ロックパターン情報によって対応付けられている同時実行情報を取得する。例えば、実行許否判断部１８は、ステップＳ３０２で特定した同時実行識別情報を検索キーとして、ロックパターン情報記憶部１４で記憶されている複数のロックパターン情報を検索することによって、その同時実行識別情報に対応する同時実行情報を取得してもよい。同時実行情報の取得は、同時実行情報をロックパターン情報記憶部１４から読み出すことによって行うことができる。
【００６７】
（ステップＳ３０４）実行許否判断部１８は、ステップＳ３０４で取得した同時実行情報を、図示しない記録媒体において一時的に記憶する。
（ステップＳ３０５）実行許否判断部１８は、カウンタｉを１に設定する。
【００６８】
（ステップＳ３０６）実行許否判断部１８は、実行中のソフトウェアのうち、ｉ番目の実行中のソフトウェアのカテゴリを特定する。例えば、実行許否判断部１８は、ｉ番目の実行中のソフトウェアを識別するソフトウェア識別情報をソフトウェア実行情報記憶部１６から読み出し、そのソフトウェア識別情報に、カテゴリ対応情報によって対応付けられているカテゴリを特定する。より具体的には、実行許否判断部１８は、ソフトウェア実行情報記憶部１６から読み出したソフトウェア識別情報を検索キーとして、カテゴリ対応情報を検索することによって、そのソフトウェア識別情報に対応するカテゴリを特定してもよい。カテゴリを特定するとは、カテゴリを図示しない記録媒体に蓄積することであってもよく、あるいは、所定の記録媒体で記憶されているカテゴリにフラグを設定することであってもよい。
【００６９】
（ステップＳ３０７）実行許否判断部１８は、ステップＳ３０４で一時的に記憶した同時実行情報と、ステップＳ３０６で特定したカテゴリとを用いて、判断対象となるソフトウェアの実行が許可されるかどうか判断する。より具体的には、実行許否判断部１８は、ステップＳ３０６で特定したカテゴリに、ステップＳ３０４で一時的に記憶した同時実行情報で対応付けられる同時実行の許否を示す情報が、許可である場合には、判断対象となるソフトウェアを実行可能であると判断し、許可でない場合には、判断対象となるソフトウェアを実行可能でないと判断する。そして、実行可能である場合には、ステップＳ３０８に進み、そうでない場合には、ステップＳ３１１に進む。
【００７０】
（ステップＳ３０８）実行許否判断部１８は、カウンタｉを１だけインクリメントする。
（ステップＳ３０９）実行許否判断部１８は、ｉ番目の実行中のソフトウェアが存在するかどうか判断する。そして、存在する場合には、ステップＳ３０６に戻り、存在しない場合には、ステップＳ３１０に進む。ここで、実行許否判断部１８は、例えば、ソフトウェア実行情報記憶部１６で記憶されているソフトウェア実行情報にｉ番目のソフトウェア識別情報が存在するかどうかによって、この判断を行ってもよい。ｉ番目のソフトウェア識別情報が存在する場合には、ｉ番目の実行中のソフトウェアが存在すると判断してもよい。
【００７１】
（ステップＳ３１０）実行許否判断部１８は、判断対象となるソフトウェアの実行が許可される旨を実行部１２に渡す。そして、図２のフローチャートに戻る。
【００７２】
（ステップＳ３１１）実行許否判断部１８は、判断対象となるソフトウェアの実行が許可されない旨を実行部１２に渡す。そして、図２のフローチャートに戻る。
【００７３】
ここで、実行中のソフトウェアの同時実行情報と、判断対象のソフトウェアの同時実行情報とを用いた判断の処理について、簡単に説明する。簡単に言えば、この場合には、図３のフローチャートと、図４のフローチャートとを組み合わせればよいことになる。すなわち、まず図３のフローチャートの処理を実行し、ステップＳ２１０の判断結果が「Ｙｅｓ」であれば、図４のフローチャートのステップＳ３０１に進み、ステップＳ２１０の判断結果が「Ｎｏ」であれば、図４のフローチャートのステップＳ３１１に進んでもよい。そして、図４のフローチャートの許否の判断結果が、最終的な判断結果となる。なお、その場合に、図３のステップＳ２０１において「Ｎｏ」と判断された際には、図４のフローチャートのステップＳ３１０に進み、図４のフローチャートにおいて、ステップＳ３０１の処理を行わなくてもよい（ステップＳ２１０で「Ｙｅｓ」なら、ステップＳ３０２に進むことになる）。
【００７４】
また、図４のフローチャートの各処理を最初に実行し、その後に図３のフローチャートの各処理を実行するようにしてもよいことは言うまでもない。その場合にも、ステップＳ３０９で「Ｎｏ」と判断された際には、図３のフローチャートのステップＳ２０１に進み、ステップＳ３０７で「Ｎｏ」と判断された場合には、図３のフローチャートのステップＳ２１２に進んでもよい。なお、その場合に、図４のステップＳ３０１において「Ｎｏ」と判断された際には、図３のフローチャートのステップＳ２１１に進み、図３のフローチャートにおいて、ステップＳ２０１の処理を行わなくてもよい（ステップＳ３０９で「Ｎｏ」なら、ステップＳ２０２に進むことになる）。
【００７５】
次に、本実施の形態による情報処理装置１の動作について、具体例を用いて説明する。この具体例では、情報処理装置１がスタンドアロンの装置として動作する場合について説明する。
【００７６】
また、この具体例において、ソフトウェア記憶部１１では、図５で示されるように、ソフトウェア識別情報と、ソフトウェアとが対応付けられて記憶されているものとする。図５において、例えば、ソフトウェア識別情報「売上集計表」と、そのソフトウェア識別情報によって識別されるソフトウェア「売上集計表．ｅｘｅ」が対応付けられている。
【００７７】
また、この具体例において、カテゴリ対応情報記憶部１３では、図６で示されるカテゴリ対応情報が記憶されているものとする。図６において、例えば、ソフトウェア識別情報「売上集計表」と、そのソフトウェア識別情報で識別されるソフトウェアのカテゴリ「Ｒｅｆｅｒｅｎｃｅ」が対応付けられている。
【００７８】
また、この具体例において、ロックパターン情報記憶部１４では、図７で示される２以上のロックパターン情報が記憶されているものとする。図７において、一番左の列以外の各列が、一のロックパターン情報である。各ロックパターン情報の一行目の情報が同時実行識別情報であり、それ以外の情報が同時実行情報である。また、その同時実行情報の各行は、各カテゴリに対応した同時実行の可否を示すものである。例えば、同時実行識別情報が「３」であるロックパターン情報では、カテゴリ「ＤＢＬｏｃｋ」「ＭａｓｔｅｒＬｏｃｋ」「ＩｎｐｕｔＬｏｃｋ」に属するソフトウェアとは同時実行できない（同時実行できないことが「１」で示されている）が、カテゴリ「Ｒｅｆｅｒｅｎｃｅ」「Ｎｏｎｅ」に属するソフトウェアとは同時実行できる（同時実行できることが「０」で示されている）ことが分かる。
【００７９】
また、この具体例において、同時実行対応情報記憶部１５では、図８で示される同時実行対応情報が記憶されているものとする。図８において、例えば、ソフトウェア識別情報「売上集計表」と、そのソフトウェア識別情報で識別されるソフトウェアに対応する同時実行識別情報「１」が対応付けられている。
【００８０】
［実行中のソフトウェアの同時実行情報を用いた判断の具体例］
まず、実行中のソフトウェアの同時実行情報を用いた判断の具体例について説明する。ユーザがマウスやキーボード等を操作して、実行するソフトウェアを選択するためのメインメニューをディスプレイに表示させる指示を入力したとする。すると、その指示が図示しない受付部によって受け付けられ、実行部１２は、メインメニューの表示処理を実行すると判断して、メインメニューを構成し、図示しないディスプレイに表示する。その結果、図９で示される表示がなされたとする。図９の表示において、ユーザが「売上伝票」ボタンをクリックすることにより、売上伝票を選択したとする。すると、売上伝票が選択された旨が図示しない受付部によって受け付けられ、実行部１２は、「売上伝票」で識別されるソフトウェアを実行するタイミングであると判断する（ステップＳ１０１）。そして、実行部１２は、ソフトウェア識別情報「売上伝票」に関する実行の許否判断を行う旨の指示を実行許否判断部１８に渡す。その指示に応じて、実行許否判断部１８は、そのソフトウェア識別情報で識別されるソフトウェアの実行の許否判断を行う（ステップＳ１０２）。
【００８１】
具体的には、実行許否判断部１８は、まず、ソフトウェア実行情報記憶部１６で記憶されているソフトウェア実行情報に、ソフトウェア識別情報が含まれるかどうか判断する（ステップＳ２０１）。この時点では、ソフトウェアが何も実行されておらず、ソフトウェア実行情報にソフトウェア識別情報が何も含まれていなかったとする。すると、実行許否判断部１８は、そのソフトウェアの実行が許可されると判断し、その判断結果を実行部に渡す（ステップＳ２１１）。すると、実行部１２は、ソフトウェアを実行可能であると判断し（ステップＳ１０３）、ソフトウェア識別情報「売上伝票」に対応するソフトウェア「売上伝票．ｅｘｅ」をソフトウェア記憶部１１から読み出して実行する（ステップＳ１０４）。
【００８２】
なお、更新部１７は、実行部１２によるソフトウェアの起動を検知すると、ソフトウェア実行情報を更新するタイミングであると判断し（ステップＳ１０５）、ソフトウェア実行情報記憶部１６で記憶されているソフトウェア実行情報に、実行部１２が実行を開始したソフトウェアを識別するソフトウェア識別情報「売上伝票」を蓄積する（ステップＳ１０６）。図１０は、その更新後のソフトウェア実行情報を示す図である。
【００８３】
次に、メインメニューを表示させるユーザからの指示に応じて、再度、図９で示されるメインメニューの表示がなされたとする。そして、ユーザは、この図９の表示において、「売上集計表」を選択したとする。すると、売上集計表が選択された旨が図示しない受付部によって受け付けられ、実行部１２は、「売上集計表」で識別されるソフトウェアを実行するタイミングであると判断する（ステップＳ１０１）。そして、実行部１２は、ソフトウェア識別情報「売上集計表」に関する実行の許否判断を行う旨の指示を実行許否判断部１８に渡す。その指示に応じて、実行許否判断部１８は、そのソフトウェア識別情報で識別されるソフトウェアの実行の許否判断を行う（ステップＳ１０２）。
【００８４】
具体的には、実行許否判断部１８は、図１０で示されるソフトウェア実行情報を参照し、実行中のソフトウェアが存在すると判断する（ステップＳ２０１）。したがって、実行許否判断部１８は、そのソフトウェア実行情報における１番目のソフトウェア識別情報「売上伝票」を読み出す。そして、実行許否判断部１８は、図８で示される同時実行対応情報において、その読み出したソフトウェア識別情報「売上伝票」を検索キーとして検索を行う。この場合には、２番目のレコードがヒットするため、実行許否判断部１８は、そのヒットしたレコードから同時実行識別情報「２」を読み出す（ステップＳ２０２，Ｓ２０３）。
【００８５】
また、実行許否判断部１８は、図７で示される複数のロックパターン情報において、その読み出した同時実行識別情報「２」を検索キーとして検索を行う。この場合には、右から３番目の列がヒットするため、実行許否判断部１８は、そのヒットした列から、同時実行情報を読み出して、図示しない記録媒体において一時的に記憶する（ステップＳ２０４，Ｓ２０５）。この場合には、ソフトウェア実行情報に１個しかソフトウェア識別情報が含まれていないため、同時実行情報を取得する処理はこれで終了となり、同時実行情報の統合結果も、取得した同時実行情報と変わらないことになる（ステップＳ２０６〜Ｓ２０８）。
【００８６】
次に、実行許否判断部１８は、判断対象となるソフトウェアを識別するソフトウェア識別情報、すなわち、実行部１２から受け取ったソフトウェア識別情報「売上集計表」を検索キーとして、図６のカテゴリ対応情報を検索する。この場合には、１番目のレコードがヒットするため、実行許否判断部１８は、そのヒットしたレコードからカテゴリ「Ｒｅｆｅｒｅｎｃｅ」を読み出す（ステップＳ２０９）。そして、図示しない記録媒体で一時的に記憶されている同時実行情報を参照して、カテゴリ「Ｒｅｆｅｒｅｎｃｅ」に対応する同時実行の可否を示す情報が「１」であるのか、「０」であるのか判断する。この場合には、「０」であるため、実行許否判断部１８は、同時実行が許可されていると判断し（ステップＳ２１０）、ソフトウェアの実行が許可される旨を実行部１２に渡す（ステップＳ２１１）。
【００８７】
すると、実行部１２は、ソフトウェアを実行可能であると判断し（ステップＳ１０３）、ソフトウェア識別情報「売上集計表」に対応するソフトウェア「売上集計表．ｅｘｅ」をソフトウェア記憶部１１から読み出して実行する（ステップＳ１０４）。また、更新部１７は、実行部１２によるソフトウェアの起動を検知すると、ソフトウェア実行情報を更新するタイミングであると判断し（ステップＳ１０５）、ソフトウェア実行情報記憶部１６で記憶されているソフトウェア実行情報に、実行部１２が実行を開始したソフトウェアを識別するソフトウェア識別情報「売上集計表」を蓄積する（ステップＳ１０６）。図１１は、その更新後のソフトウェア実行情報を示す図である。
【００８８】
次に、メインメニューを表示させるユーザからの指示に応じて、再度、図９で示されるメインメニューの表示がなされたとする。そして、ユーザは、この図９の表示において、「翌年度更新処理」を選択したとする。すると、翌年度更新処理が選択された旨が図示しない受付部によって受け付けられ、実行部１２は、「翌年度更新処理」で識別されるソフトウェアを実行するタイミングであると判断する（ステップＳ１０１）。そして、実行部１２は、ソフトウェア識別情報「翌年度更新処理」に関する実行の許否判断を行う旨の指示を実行許否判断部１８に渡す。その指示に応じて、実行許否判断部１８は、そのソフトウェア識別情報で識別されるソフトウェアの実行の許否判断を行う（ステップＳ１０２）。
【００８９】
具体的には、実行許否判断部１８は、図１１で示されるソフトウェア実行情報を参照し、実行中のソフトウェアが存在すると判断する（ステップＳ２０１）。したがって、実行許否判断部１８は、そのソフトウェア実行情報における１番目のソフトウェア識別情報「売上集計表」を読み出す。そして、実行許否判断部１８は、図８で示される同時実行対応情報において、その読み出したソフトウェア識別情報「売上集計表」を検索キーとして検索を行う。この場合には、１番目のレコードがヒットするため、実行許否判断部１８は、そのヒットしたレコードから同時実行識別情報「１」を読み出す（ステップＳ２０２，Ｓ２０３）。
【００９０】
また、実行許否判断部１８は、図７で示される複数のロックパターン情報において、その読み出した同時実行識別情報「１」を検索キーとして検索を行う。この場合には、右から２番目の列がヒットするため、実行許否判断部１８は、そのヒットした列から、同時実行情報を読み出して、図示しない記録媒体において一時的に記憶する（ステップＳ２０４，Ｓ２０５）。
【００９１】
次に、実行許否判断部１８は、図１１のソフトウェア実行情報における２番目のソフトウェア識別情報「売上伝票」を読み出す。そして、実行許否判断部１８は、その読み出したソフトウェア識別情報「売上伝票」に、図８で示される同時実行対応情報において対応付けられている同時実行識別情報「２」を読み出す（ステップＳ２０６，Ｓ２０７，Ｓ２０３）。
【００９２】
また、実行許否判断部１８は、図７で示される複数のロックパターン情報において、その読み出した同時実行識別情報「２」を検索キーとして検索を行う。この場合には、右から３番目の列がヒットするため、実行許否判断部１８は、そのヒットした列から、同時実行情報を読み出して、図示しない記録媒体において一時的に記憶する（ステップＳ２０４，Ｓ２０５）。
【００９３】
ソフトウェア実行情報に含まれるソフトウェア識別情報は、２個であるため、同時実行情報を取得する処理はこれで終了となり（ステップＳ２０６，Ｓ２０７）、実行許否判断部１８は、一時的に記憶されている２個の同時実行情報を統合する（ステップＳ２０８）。具体的には、実行許否判断部１８は、各同時実行情報のカテゴリごとの値について、論理和（ＯＲ）をとることによって、２個の同時実行情報を統合する。その統合結果は、図７の右から３番目の同時実行情報（同時実行識別情報［３］で識別される同時実行情報）と同じになる。
【００９４】
次に、実行許否判断部１８は、判断対象となるソフトウェアを識別するソフトウェア識別情報、すなわち、実行部１２から受け取ったソフトウェア識別情報「翌年度更新処理」を検索キーとして、図６のカテゴリ対応情報を検索し、カテゴリ「ＤＢＬｏｃｋ」を読み出す（ステップＳ２０９）。そして、図示しない記録媒体で一時的に記憶されている統合後の同時実行情報を参照して、カテゴリ「ＤＢＬｏｃｋ」に対応する同時実行の可否を示す情報が「１」であるのか、「０」であるのか判断する。この場合には、「１」であるため、実行許否判断部１８は、同時実行が許可されていないと判断し（ステップＳ２１０）、ソフトウェアの実行が許可されていない旨を実行部１２に渡す（ステップＳ２１２）。
【００９５】
その結果、実行部１２は、ソフトウェアを実行可能でないと判断し（ステップＳ１０３）、ソフトウェア識別情報「翌年度更新処理」に対応するソフトウェア「翌年度更新処理．ｅｘｅ」を実行しない。なお、実行部１２は、図１２で示されるエラーである旨を示す情報を構成し、その情報をディスプレイに表示する。その結果、ユーザは、実行を要求したソフトウェア「翌年度更新処理．ｅｘｅ」が実行されなかったことと、その理由とを知ることができる。
【００９６】
［判断対象のソフトウェアの同時実行情報を用いた判断の具体例］
次に、判断対象のソフトウェアの同時実行情報を用いた判断の具体例について説明する。この具体例では、ソフトウェア識別情報「売上集計表」「売上伝票」で識別される２個のソフトウェアがすでに実行されている状況から説明を開始する。すなわち、図１１で示されるソフトウェア実行情報が、ソフトウェア実行情報記憶部１６で記憶されているものとする。
【００９７】
メインメニューを表示させるユーザからの指示に応じて、図９で示されるメインメニューの表示がなされたとする。そして、ユーザは、この図９の表示において、「翌年度更新処理」を選択したとする。すると、翌年度更新処理が選択された旨が図示しない受付部によって受け付けられ、実行部１２は、「翌年度更新処理」で識別されるソフトウェアを実行するタイミングであると判断する（ステップＳ１０１）。そして、実行部１２は、ソフトウェア識別情報「翌年度更新処理」に関する実行の許否判断を行う旨の指示を実行許否判断部１８に渡す。その指示に応じて、実行許否判断部１８は、そのソフトウェア識別情報で識別されるソフトウェアの実行の許否判断を行う（ステップＳ１０２）。
【００９８】
具体的には、実行許否判断部１８は、図１１で示されるソフトウェア実行情報を参照し、実行中のソフトウェアが存在すると判断する（ステップＳ３０１）。したがって、実行許否判断部１８は、判断対象となるソフトウェアを識別するソフトウェア識別情報、すなわち、実行部１２から受け取ったソフトウェア識別情報「翌年度更新処理」を検索キーとして、図８の同時実行対応情報を検索し、同時実行識別情報「４」を読み出す（ステップＳ３０２）。
【００９９】
また、実行許否判断部１８は、図７で示される複数のロックパターン情報において、その読み出した同時実行識別情報「４」を検索キーとして検索を行う。この場合には、右から５番目の列がヒットするため、実行許否判断部１８は、そのヒットした列から、同時実行情報を読み出して、図示しない記録媒体において一時的に記憶する（ステップＳ３０３，Ｓ３０４）。
【０１００】
次に、実行許否判断部１８は、図１１で示されるソフトウェア実行情報を参照し、そのソフトウェア実行情報における１番目のソフトウェア識別情報「売上集計表」を読み出す。そして、実行許否判断部１８は、図６で示されるカテゴリ対応情報において、その読み出したソフトウェア識別情報「売上集計表」に対応するカテゴリ「Ｒｅｆｅｒｅｎｃｅ」を読み出す（ステップＳ３０５，Ｓ３０６）。
【０１０１】
そして、実行許否判断部１８は、図示しない記録媒体で一時的に記憶されている同時実行情報を参照して、カテゴリ「Ｒｅｆｅｒｅｎｃｅ」に対応する同時実行の可否を示す情報が「１」であるのか、「０」であるのか判断する。この場合には、「１」であるため、実行許否判断部１８は、同時実行が許可されていないと判断し（ステップＳ３０７）、ソフトウェアの実行が許可されていない旨を実行部１２に渡す（ステップＳ３１１）。
【０１０２】
その結果、実行部１２は、ソフトウェアを実行可能でないと判断し（ステップＳ１０３）、ソフトウェア識別情報「翌年度更新処理」に対応するソフトウェア「翌年度更新処理．ｅｘｅ」を実行しない。なお、この場合に、前述の説明と同様に、図１２と同様の画面表示を情報処理装置１のディスプレイにおいて行ってもよい。
【０１０３】
なお、これらの具体例から、実行中のソフトウェアの同時実行情報と、判断対象のソフトウェアの同時実行情報とを用いた判断を行う場合の具体的な処理も明らかであり、その詳細な説明を省略する。
【０１０４】
また、この具体例では、カテゴリ対応情報と、同時実行対応情報とがまったく別の情報である場合について説明したが、それらの情報は、一体として構成されていてもよい。例えば、図１３で示されるように、ソフトウェア識別情報と、カテゴリと、同時実行識別情報とが対応付けられていることによって、カテゴリ対応情報と、同時実行対応情報とが構成されていてもよい。
【０１０５】
また、この具体例では、情報処理装置１がスタンドアロンである場合について説明したが、情報処理装置１は、スタンドアロンの装置であってもよく、図１４で示されるように、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、情報処理装置１は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。また、後者の場合において、サーバとクライアントとによって、どのように処理を分担するかは問わない。
【０１０６】
以上のように、本実施の形態による情報処理装置１によれば、ソフトウェアごとに、どのソフトウェアと同時実行できるかどうかを設定することなく、ソフトウェアの実行に関する同時実行の制御を行うことができる。したがって、新たなソフトウェアを追加する場合にも、その追加するソフトウェアに、カテゴリと、同時実行識別情報とを対応付けるのみで、適切な同時実行制御を行うことができるようになり、ソフトウェアごとに同時実行の許否の設定をする手間を省くことができうる。
【０１０７】
なお、本実施の形態において、情報処理装置１は、状況取得部２１をさらに備え、その状況取得部２１が取得する状況情報を用いて、ソフトウェアの実行の許否判断を行うようにしてもよい。図１５は、状況取得部２１をさらに備えた情報処理装置３の構成を示すブロック図である。図１５において、状況取得部２１以外の構成及び動作は、カテゴリ対応情報や、同時実行対応情報が異なりうる以外、実施の形態１と同様であり、その詳細な説明を省略する。
【０１０８】
状況取得部２１は、情報処理装置３の状況を示す情報である状況情報を取得する。状況情報は、例えば、情報処理装置３の処理負荷を示すものであってもよい。状況取得部２１は、例えば、実行部１２の負荷（マイクロプロセッサの使用率等）や、メモリの使用量、実行部１２が実行しているタスクやプロセスの数、情報処理装置３にログインしているユーザ数等を用いて状況情報を取得してもよい。その場合に、状況情報は、実行部１２の負荷や、メモリの使用量、実行されているタスク等の数、ログイン中のユーザ数等が多くなるほど、負荷が高くなるように状況情報を取得するものとする。例えば、実行部１２の負荷や、メモリの使用量、実行されているタスク等の数、ログイン中のユーザ数と、負荷とを対応付ける情報が図示しない記録媒体において保持されており、状況取得部２１は、その保持されている情報を参照することによって、状況情報を取得してもよい。なお、状況取得部２１は、実行部１２の負荷や、メモリの使用量、実行されているタスク等の数、ログイン中のユーザ数は、それらを管理している管理部等から受け取るものとする。
【０１０９】
ここでは、状況情報が実行部１２の負荷を示すものであり、その負荷を「高」「低」によって示すものであるとする。また、同時実行対応情報記憶部１５では、図１６で示される同時実行対応情報が記憶されているとする。図１６の同時実行対応情報では、図８の同時実行対応情報に対して、状況情報がさらに付加されている。そして、状況情報（負荷）の高低に応じて、それぞれ同時実行識別情報が設定されている。実行許否判断部１８は、図１６で示される同時実行対応情報を用いて、例えば、状況情報の示す負荷が「低」である場合には、状況情報「低」に対応付けられている同時実行識別情報を特定し、状況情報の示す負荷が「高」である場合には、状況情報「高」に対応付けられている同時実行識別情報を特定する。
【０１１０】
図７で示されるロックパターン情報を参照すれば明らかなように、図１６において、情報処理装置３の負荷が高ければ、より厳しい同時実行情報となり、負荷が低ければ、より緩い同時実行情報となるようになっている。したがって、負荷の高いときには、同時に実行されるソフトウェア数が抑制されることとなり、負荷の低いときには、同時に実行されるソフトウェア数が緩和されることになる。このようにして、情報処理装置３の状況を改善するように、同時実行の制御が行われるようになる。
【０１１１】
なお、図８で示される同時実行対応情報を、図１６で示されるものに替える代わりに、図６で示されるカテゴリを、図１７で示されるカテゴリに変更してもよい。図１７のカテゴリ対応情報では、図１６の同時実行対応情報と同様に、状況情報がさらに付加されている。そして、状況情報（負荷）の高低に応じて、それぞれカテゴリが設定されている。実行許否判断部１８は、図１７で示されるカテゴリ対応情報を用いて、例えば、状況情報の示す負荷が「低」である場合には、状況情報「低」に対応付けられているカテゴリを特定し、状況情報の示す負荷が「高」である場合には、状況情報「高」に対応付けられているカテゴリを特定する。
【０１１２】
図７で示されるロックパターン情報を参照すれば明らかなように、図１７においても、情報処理装置３の負荷が高ければ、より厳しい同時実行の許否判断となり、負荷が低ければ、より緩い同時実行の許否判断となるようになっている。したがって、負荷の高いときには、同時に実行されるソフトウェア数が抑制されることとなり、負荷の低いときには、同時に実行されるソフトウェア数が緩和されることになる。このようにして、情報処理装置３の状況を改善するように、同時実行の制御が行われるようになる。
【０１１３】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【０１１４】
また、上記実施の形態において、情報処理装置に含まれる２以上の構成要素が通信デバイスや入力デバイス等を有する場合に、２以上の構成要素が物理的に単一のデバイスを有してもよく、あるいは、別々のデバイスを有してもよい。
【０１１５】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、ソフトウェア記憶部で記憶される、２以上のソフトウェアの同時実行の許否の判断を行うものであり、判断対象となるソフトウェアを識別するソフトウェア識別情報に、カテゴリ対応情報記憶部で記憶される、前記ソフトウェア記憶部で記憶されているソフトウェアを識別する情報であるソフトウェア識別情報と、当該ソフトウェア識別情報で識別されるソフトウェアのカテゴリとを対応付けて有する情報であるカテゴリ対応情報によって対応付けられるカテゴリが、その判断時に実行中のソフトウェアを識別するソフトウェア識別情報に、同時実行対応情報記憶部で記憶される、前記ソフトウェア記憶部で記憶されているソフトウェアを識別する情報であるソフトウェア識別情報と、当該ソフトウェア識別情報で識別されるソフトウェアの同時実行情報を識別する同時実行識別情報とを対応付けて有する情報である同時実行対応情報、及び、ロックパターン情報記憶部で２以上記憶される、あるソフトウェアと、他のソフトウェアとを同時実行できるかどうかを、他のソフトウェアのカテゴリごとに有する情報である同時実行情報と、当該同時実行情報を識別する情報である同時実行識別情報とを対応付けて有する情報であるロックパターン情報によって対応付けられる同時実行情報によって同時実行が許可されていないものである場合に、当該判断対象のソフトウェアの実行を許可せず、同時実行が許可されているものである場合に、当該判断対象のソフトウェアの実行を許可する実行許否判断部と、前記実行許否判断部によって実行の許可されたソフトウェアを実行する実行部として機能させるためのものである。
【０１１６】
なお、上記プログラムにおいて、ハードウェアでしか行われない処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理は少なくとも含まれない。
【０１１７】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。
【０１１８】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１１９】
図１８は、上記プログラムを実行して、上記実施の形態による情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現される。
【０１２０】
図１８において、コンピュータシステム１００は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ドライブ１０５、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）ドライブ１０６を含むコンピュータ１０１と、キーボード１０２と、マウス１０３と、モニタ１０４とを備える。
【０１２１】
図１９は、コンピュータシステムを示す図である。図１９において、コンピュータ１０１は、ＣＤ−ＲＯＭドライブ１０５、ＦＤドライブ１０６に加えて、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１１と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１２と、ＣＰＵ１１１に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１３と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク１１４と、ＣＰＵ１１１、ＲＯＭ１１２等を相互に接続するバス１１５とを備える。なお、コンピュータ１０１は、ＬＡＮへの接続を提供する図示しないネットワークカードを含んでいてもよい。
【０１２２】
コンピュータシステム１００に、上記実施の形態による情報処理装置の機能を実行させるプログラムは、ＣＤ−ＲＯＭ１２１、またはＦＤ１２２に記憶されて、ＣＤ−ＲＯＭドライブ１０５、またはＦＤドライブ１０６に挿入され、ハードディスク１１４に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ１０１に送信され、ハードディスク１１４に記憶されてもよい。プログラムは実行の際にＲＡＭ１１３にロードされる。なお、プログラムは、ＣＤ−ＲＯＭ１２１やＦＤ１２２、またはネットワークから直接、ロードされてもよい。
【０１２３】
プログラムは、コンピュータ１０１に、上記実施の形態による情報処理装置の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム１００がどのように動作するのかについては周知であり、詳細な説明は省略する。
【０１２４】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１２５】
以上より、本発明による情報処理装置等によれば、ソフトウェアごとに、どのソフトウェアと同時実行できるかどうかを設定することなく、ソフトウェアの実行に関する同時実行の制御を行うことができるという効果が得られ、同時実行制御を行う装置やシステム等として有用である。
【図面の簡単な説明】
【０１２６】
【図１】本発明の実施の形態１による情報処理装置の構成を示すブロック図
【図２】同実施の形態による情報処理装置の動作を示すフローチャート
【図３】同実施の形態による情報処理装置の動作を示すフローチャート
【図４】同実施の形態による情報処理装置の動作を示すフローチャート
【図５】同実施の形態におけるソフトウェア記憶部で記憶されているソフトウェアの一例を示す図
【図６】同実施の形態におけるカテゴリ対応情報の一例を示す図
【図７】同実施の形態におけるロックパターン情報の一例を示す図
【図８】同実施の形態における同時実行対応情報の一例を示す図
【図９】同実施の形態におけるメインメニューの表示の一例を示す図
【図１０】同実施の形態におけるソフトウェア実行情報の一例を示す図
【図１１】同実施の形態におけるソフトウェア実行情報の一例を示す図
【図１２】同実施の形態におけるエラー表示の一例を示す図
【図１３】同実施の形態におけるカテゴリ対応情報と同時実行対応情報の他の一例を示す図
【図１４】同実施の形態による情報処理装置を含む情報処理システムを示す図
【図１５】同実施の形態による情報処理装置の構成の他の一例を示すブロック図
【図１６】同実施の形態における同時実行対応情報の他の一例を示す図
【図１７】同実施の形態におけるカテゴリ対応情報の他の一例を示す図
【図１８】同実施の形態におけるコンピュータシステムの外観一例を示す模式図
【図１９】同実施の形態におけるコンピュータシステムの構成の一例を示す図
【符号の説明】
【０１２７】
１、３  情報処理装置
１１  ソフトウェア記憶部
１２  実行部
１３  カテゴリ対応情報記憶部
１４  ロックパターン情報記憶部
１５  同時実行対応情報記憶部
１６  ソフトウェア実行情報記憶部
１７  更新部
１８  実行許否判断部
２１  状況取得部
【図１】
0004971936.tif 000002
【図２】
0004971936.tif 000003
【図３】
0004971936.tif 000004
【図４】
0004971936.tif 000005
【図５】
0004971936.tif 000006
【図６】
0004971936.tif 000007
【図７】
0004971936.tif 000008
【図８】
0004971936.tif 000009
【図９】
0004971936.tif 000010
【図１０】
0004971936.tif 000011
【図１１】
0004971936.tif 000012
【図１２】
0004971936.tif 000013
【図１３】
0004971936.tif 000014
【図１４】
0004971936.tif 000015
【図１５】
0004971936.tif 000016
【図１６】
0004971936.tif 000017
【図１７】
0004971936.tif 000018
【図１８】
0004971936.tif 000019
【図１９】
0004971936.tif 000020