以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における情報処理装置1のブロック図である。
情報処理装置1は、第一ソフトウェア格納部101、第二ソフトウェア格納部102、通知順番格納部103、契約情報格納部104、実行情報格納部105、実行情報蓄積部106、試用情報格納部107、試用情報蓄積部108、検出条件格納部109、検出部110、通知部111、及び実行部112を備える。
情報処理装置1は、ユーザが利用する情報処理装置である。情報処理装置1は、例えば、コンピュータや、携帯情報端末、携帯電話、いわゆるスマートフォン等の多機能携帯電話、タブレット型端末等である。情報処理装置1は、例えば、ネットワークや通信回線等を介して、図示しない他のサーバ装置等と、情報の送受信が可能となるよう接続されている。
第一ソフトウェア格納部101には、ユーザが契約している1または2以上の第一のソフトウェアが格納される。第一のソフトウェアは、例えば、アプリケーションソフトウェアである。第一のソフトウェアは、例えば、企業等の法人により利用されるソフトウェアである。第一のソフトウェアは、例えば、会計処理や、財務処理、業務管理等のソフトウェアである。また、第一のソフトウェアはこれらのソフトウェアの一部であっても良く、例えば、いわゆるプラグインやアドオンソフトウェアや、ソフトウェアを構成する実行ファイルやモジュール等であっても良い。第一のソフトウェアは、会計処理システムや、財務処理システム、業務管理システム等の一部を実現する機能を提供するソフトウェアであっても良い。
ユーザが契約している第一のソフトウェアとは、ユーザが使用許諾や使用許可を受けている第一のソフトウェアであっても良いし、ユーザが購入した第一のソフトウェアであっても良い。かかることは、第二のソフトウェアに関しても同様である。
一のユーザが契約している第一のソフトウェアには、この一のユーザにより契約されていることを示す情報が対応付けられているようにしても良い。契約されていることを示す情報は、例えば、契約しているユーザのユーザ識別情報を有していても良い。ユーザ識別情報とは、例えば、ユーザ名や、ユーザ固有のコード、ユーザのメールアドレス、ユーザのアカウント等である。契約されていることを示す情報は、第一ソフトウェア格納部101に格納されていても良いし、図示しない格納部や契約情報格納部104等に、第一のソフトウェアの識別情報等と対応付けられて格納されていても良い。契約されている、ということは、例えば、第一のソフトウェアの使用契約を交わしていることや、使用許諾を受けていることや、第一のソフトウェアのライセンスを受けていることや、ユーザが第一のソフトウェアを所有していることや、購入していることである。
第一ソフトウェア格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、以下の格納部においても同様である。
第二ソフトウェア格納部102には、異なる2以上の第二のソフトウェアが格納される。第二のソフトウェアは、ユーザが契約している第一のソフトウェアに関連したソフトウェアである。第一のソフトウェアに関連したソフトウェアとは、例えば、第一のソフトウェアに入力するデータを取得したり生成したりするソフトウェアであっても良く、第一のソフトウェアから出力されるデータを処理するソフトウェアであっても良い。また、第一のソフトウェアと連携して動作するソフトウェアであっても良い。また、第一のソフトウェアに関連したソフトウェアとは、例えば、第一のソフトウェアに対して追加する機能を提供するソフトウェアである。また、第一のソフトウェアに関連したソフトウェアは、例えば、用途等が同じもしくは類似しているソフトウェアや、同じ業務や目的等において用いられるソフトウェア等である。第二のソフトウェアは、例えば、第一のソフトウェアのアドオンソフトウェアや、プラグイン、追加モジュール等であっても良い。第二のソフトウェアは、例えば一の機能や目的等を実現するための複数のソフトウェア群であっても良い。
第二のソフトウェアは、例えば、第一のソフトウェアに対して独立して実行可能なソフトウェアであっても良いし、第一のソフトウェアの実行時にのみ実行可能なソフトウェアであっても良い。また、第一ソフトウェアと第二ソフトウェアとは、それぞれ一のソフトウェアを構成しうる実行ファイルやモジュール等であっても良い。
異なる第二のソフトウェアは、例えば、一致しない第二のソフトウェアである。異なる第二のソフトウェアとは、例えば、異なる機能を提供するソフトウェアであってもよい。異なる第二のソフトウェアは、例えば、機能が完全一致しないソフトウェアであっても良い。異なる第二のソフトウェアは、一のソフトウェアと、このソフトウェアの一部の機能を制限したソフトウェアとであっても良い。
第二のソフトウェアは、例えば、第二のソフトウェアの識別情報と対応付けられて第二ソフトウェア格納部102に格納される。第二のソフトウェアの識別情報は、例えば、第二のソフトウェアの名称や、製品コード等の、異なる第二のソフトウェアを識別可能な識別情報である。また、第二のソフトウェアの識別情報は、ソフトウェアのシリアル番号等の、2以上の同じソフトウェア(例えば、同じ機能を有するソフトウェアや、同じソースで構成されるソフトウェアや、同じソフトウェアの複製等)を識別可能な情報であっても良い。第二のソフトウェアの識別情報は、第二のソフトウェアのパスやポインタ等であっても良い。
また、第二のソフトウェアは、当該第二のソフトウェアを使用するユーザを特定するために、当該第二のソフトウェアを契約しているユーザや、当該第二のソフトウェアを試用可能なユーザのユーザ識別情報と対応付けられて第二ソフトウェア格納部102に格納されていても良い。
例えば、ユーザにより契約された第二のソフトウェア、あるいは、試用可能となった第二のソフトウェアが、契約後や、試用可能となった時点等に、図示しないサーバ装置等から情報処理装置1に送信され、第二ソフトウェア格納部102に蓄積されても良い。
通知順番格納部103には、ユーザが契約している第一のソフトウェアに関連した異なる2以上の第二のソフトウェアのそれぞれについての通知順番に関する情報が格納される。通知順番とは、第二のソフトウェアのそれぞれに関する情報をユーザに通知する順番である。第二のソフトウェアに関する情報を、ここでは、ソフトウェア関連情報と称す。ソフトウェア関連情報の詳細については後述する。また、通知に関しても後述する。
通知順番に関する情報とは、例えば、番号や、順番が予め規定されている文字列等の通知順番を示す情報である。通知順番格納部103には、例えば、上述したような第二のソフトウェアの識別情報が、通知順番を示す情報と対応付けられて格納される。例えば、第二ソフトウェア格納部102には、第二のソフトウェアの識別情報と、通知順番を示す情報とを有する2以上の情報が格納されていても良い。なお、ここでの第二のソフトウェアの識別情報は、第二のソフトウェア自身であっても良い。この場合、第二ソフトウェア格納部102と通知順番格納部103とを一の格納部により実現しても良い。なお、通知順番に関する情報は、第二のソフトウェアの識別情報を、通知順番が示す順番に配列したり蓄積した情報であっても良い。
契約情報格納部104には、契約情報が格納される。契約情報は、2以上の第二のソフトウェアのそれぞれについての契約の有無を示す情報である。また、契約情報は、契約したユーザや、契約期間等の契約内容に関する情報を更に有していても良い。
契約情報は、例えば、契約対象となる第二のソフトウェアとそれぞれ対応付けられて、契約情報格納部104に格納される。例えば、契約情報格納部104には、第二のソフトウェアの識別情報と、契約情報を示す情報とを有する2以上の情報が格納されても良い。なお、ここでの第二のソフトウェアの識別情報は、第二のソフトウェア自身であっても良い。この場合、第二ソフトウェア格納部102と契約情報格納部104とを一の格納部により実現しても良い。また、契約情報が、契約対象の第二のソフトウェアの識別情報等を有しているようにしてもよい。
また、契約情報は、第二のソフトウェアを契約しているユーザのユーザ識別情報等と対応付けられて、契約情報格納部104に格納されてもよい。
なお、契約情報は、結果的に、契約の有無が判断可能な情報であればよく、例えば、契約があることだけを示す情報であっても良く、契約がないことだけを示す情報であっても良い。例えば、契約された第二のソフトウェアの識別情報等だけを、契約情報格納部104に蓄積するようにすることで、この第二のソフトウェアの識別情報を、契約されていることを示す契約情報と考えても良い。また、契約情報は、契約された第二のソフトウェアに対して付与されるフラグ等の情報であっても良い。
契約情報格納部104に格納される契約情報は、例えば、第二のソフトウェアが契約された場合に、契約されたことを示す情報となるように更新あるいは追記される。また、第二のソフトウェアの契約が切れた場合に、契約されていないことを示す情報となるように更新あるいは削除される。例えば、図示しない受付部等が受け付けた指示等に応じて更新や追記や削除等が行われる。また、第一のソフトウェアが契約された場合に、2以上の第2のソフトウェアに対応した契約されていないことを示す契約情報が蓄積されるようにしても良い。
実行情報格納部105には、第一及び第二のソフトウェアのうちの、少なくとも一つについての実行情報が格納される。実行情報は、ソフトウェアの実行状況に関する情報である。実行情報は、例えば、第一のソフトウェア及び第二のソフトウェアがそれぞれ実行した機能や、タスク、プロセス、実行ファイルや、実行モジュール等を示す情報(例えば、これらの識別情報)である。
実行情報は、実行したソフトウェアの識別情報を有していてもよい。あるいは、実行したソフトウェアの識別情報と対応付けれて、実行情報格納部105に格納されても良い。
実行情報は、同じ処理の実行回数を示す情報を有していてもよい。実行情報は、第一のソフトウェアや、第二のソフトウェアの実行回数等の情報であってもよい。実行情報は、例えば、第一のソフトウェア及び第二のソフトウェアに対して与えられたコマンド等を示す情報であっても良い。また、実行情報は、機能やタスク等が実行された日時の情報を有していてもよい。実行情報は、例えば、いわゆるログ等の情報である。実行情報格納部105は、第一のソフトウェア及び第二のソフトウェアの少なくとも一つを実行させたユーザのユーザ識別情報と対応付けられて実行情報格納部105に格納されてもよい。
実行情報蓄積部106は、第一及び第二のソフトウェアの少なくとも一つについての実行情報を取得して、実行情報格納部105に蓄積する。例えば、実行情報蓄積部106は、後述する実行部112が第一のソフトウェア、または第二のソフトウェアを実行した場合に、実行したソフトウェアに関する実行情報を取得する。なお、第一及び第二のソフトウェアの実行情報を取得する処理等は、ログ等を取得する処理等として公知の技術であるため、ここでは、詳細な説明は省略する。
実行情報蓄積部106は、通常、MPUやメモリ等から実現され得る。実行情報蓄積部106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
試用情報格納部107には、2以上の第二のソフトウェアのそれぞれについての試用情報が格納される、試用情報は、第二のソフトウェアについての試用の可否に関する情報である。試用が可能ということは、試用が許可あるいは許諾されていることや、試用期間中であること等を含む概念である。第二のソフトウェアの試用においては、第2のソフトウェアの一部の機能の利用が制限されていても良い。例えば、試用時には、印刷機能の利用ができないという制限や、作成したデータの保存ができない等の制限が加えられていても良い。あるいは、試用時のみの特別な情報が、第2のソフトウェアの実行結果等に付与されるようにしても良い。例えば、印刷されるデータに、「試用中」等の予め指定された文字が透かし文字等として表示されても良い。試用情報は、試用が可能なユーザのユーザ識別情報や、試用期間等の情報を有していても良い。
試用情報は、例えば、試用対象となる第二のソフトウェアとそれぞれ対応付けられて、試用情報格納部107に格納される。例えば、試用情報格納部107には、第二のソフトウェアの識別情報と、試用情報を示す情報とを有する2以上の情報が格納されても良い。なお、ここでの第二のソフトウェアの識別情報は、第二のソフトウェア自身であっても良い。この場合、第二ソフトウェア格納部102と試用情報格納部107とを一の格納部により実現しても良い。また、試用情報が、試用対象の第二のソフトウェアの識別情報等を有しているようにしてもよい。
また、試用情報は、第二のソフトウェアを試用可能なユーザのユーザ識別情報等と対応付けられて、試用情報格納部107に格納されてもよい。
なお、試用情報は、結果的に、試用の可否が判断可能な情報であればよく、例えば、試用が可能であることだけを示す情報であっても良く、試用が不可であることだけを示す情報であっても良い。例えば、試用が可能な第二のソフトウェアの識別情報等だけを、試用情報格納部107に蓄積するようにすることで、この第二のソフトウェアの識別情報を、試用が可能な第二のソフトウェアを示す試用情報と考えても良い。また、試用情報は、試用が可能な第二のソフトウェアに対して付与されるフラグ等の情報であっても良い。
試用情報蓄積部108は、後述する検出部110が検出した第二のソフトウェアについて、試用が可能であることを示す試用情報を、試用情報格納部107に蓄積する。試用情報蓄積部108は、例えば、検出部110が検出した第二のソフトウェアの識別情報と、当該第二のソフトウェアが試用可能であることを示す試用情報とを対応付けて試用情報格納部107に蓄積する。更に、検出部110が第二のソフトウェアを検出する際に用いた実行情報に対応付けられていたユーザ識別情報を、更に、試用情報と対応付けて試用情報格納部107に蓄積しても良い。
試用情報蓄積部108は、試用情報格納部107に格納されている試用が可能であることを示す試用情報に対応する第二のソフトウェアについて、試用期間が過ぎたか否かを判断し、試用期間が過ぎている場合に、試用情報を、試用が可能でないことを示す情報となるよう更新する。この更新は、試用情報の上書きであっても、削除であっても良い。試用期間が過ぎたか否かは、図示しない時計等から取得した現在の日時が試用期間内に含まれるか否かを判断することで判断が可能である。
なお、試用が可能であることを示す試用情報が、試用が可能でないことを示す試用情報となるよう更新される際には、再度、同じ第二のソフトウェアが試用可能とならないよう、例えば、第二のソフトウェアに対して、既に試用済であることを示す情報を対応付けて、試用情報格納部107等に蓄積することが好ましい。例えば、第二のソフトウェアの識別情報と、試用済であることを示すフラグ等の情報とを有する情報を、試用情報格納部107に蓄積する。試用情報蓄積部108は、例えば、既に試用済であることを示す第二のソフトウェアが、検出部110により検出された場合、試用可能であることを示す試用情報の蓄積を行わないようにする。
試用情報蓄積部108は、通常、MPUやメモリ等から実現され得る。試用情報蓄積部108の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
検出条件格納部109には、検出条件が格納される。検出条件は、第二のソフトウェアを検出するための実行情報に関する条件である。検出条件格納部109に格納される検出条件は、具体的には、第二のソフトウェアのそれぞれを検出するための実行情報に関する条件である。検出条件は、例えば、第二のソフトウェアと対応付けられて検出条件格納部109に格納される。検出条件格納部109には、例えば、2以上の第二のソフトウェアのそれぞれに対応付けた検出条件が格納される。ここでの第二のソフトウェアは、例えば、通知順番と対応付けられた異なる2以上の第二のソフトウェアである。検出条件は、具体的には、第一及び第二のソフトウェアの少なくとも一つについての実行情報についての条件である。検出条件は、第一のソフトウェアについて取得された実行情報と、1以上の第二のソフトウェアについて取得された実行情報との組合せであっても良いし、第一のソフトウェアについて取得された実行情報についての条件のみであっても良いし、1以上の第二のソフトウェアについて取得された実行情報についての条件のみであってもよい。
検出条件は、例えば、実行情報に対応づけられた第一のソフトウェアまたは第二のソフトウェアを指定する情報と、この指定されたソフトウェアの使用の有無や、使用期間、使用回数、使用頻度等の閾値等を指定する情報との1または2以上の組合わせにより構成される条件である。検出条件は、例えば、予め指定された第二のソフトウェアの予め指定された処理を、予め指定された回数以上実行したことを示す情報が、実行情報に格納されていることを示す条件である。検出条件は、例えば、第一のソフトウェアの予め指定された処理を、予め指定された回数以上実行したことを示す情報が、実行情報に格納されていることを示す条件を更に有していても良い。
また、検出条件は、第二のソフトウェアに対応する契約情報や試用情報についての条件を更に有していても良い。例えば、検出条件は、第一のソフトウェアの予め指定された処理を、予め指定された回数以上実行したことを示す情報が、実行情報に格納されていることを示す条件と、予め指定さえた1以上の第二のソフトウェアについて契約があることを示す契約情報が契約情報格納部104に格納されているという条件との組みあわせであっても良い。つまり、検出条件は、これらの両方の条件を同時に満たす場合に、条件を満たすと判断されるものであっても良い。
なお、検出条件は、2以上の第二のソフトウェアと個別に対応付けられていることが好ましいが、2以上の第二のソフトウェアが、一の検出条件と対応付けられているようにしても良い。この場合の一の検出条件は、例えば、一つ前の通知順番の第二のソフトウェアが、所定回数実行されたという条件や、所定期間実行されたという条件であってもよい。
検出部110は、契約情報と通知順番に関する情報とを用いて、未契約であることを示す契約情報と対応付けられた第二のソフトウェアのうちの、最も早い通知順番の第二のソフトウェアを検出する。第二のソフトウェアを検出するということは、実質的には、第二のソフトウェアの識別情報を検出することと考えても良い。例えば、検出部110は、契約情報から、第一のソフトウェアを契約しているユーザにより契約されていないことを示す契約情報と対応付けられた第二のソフトウェアを検出し、検出した第二のソフトウェアの中から、最も早い通知順番を示す順番情報と対応付けられた第二のソフトウェアを検出する。例えば、この第二のソフトウェアの識別情報を取得する。あるいは、検出部110は、通知順番が早い第二のソフトウェアを順次、通知順番格納部に格納されている順番情報を用いて検出し、検出した第二のソフトウェアに対応する契約情報が、第一のソフトウェアを契約しているユーザにより契約されていることを示しているか順次判断していき、契約されていないことを示す契約情報と対応付けられた最初の第二のソフトウェアを検出する。
また、検出部110は、未契約であることを示す契約情報と対応付けられた第二のソフトウェアのうちの、最も早い通知順番の第二のソフトウェアに対応する検出条件を、実行情報格納部105に格納されている実行情報が満たす場合に、この第二のソフトウェアを検出するようにしてもよい。未契約であるということは、例えば、契約がされていないことである。最も早い通知順番の第二のソフトウェアに対応する検出条件とは、例えば、最も早い通知順番の第二のソフトウェアに対応付けられて検出条件格納部109に格納されている検出条件である。
例えば、検出部110は、第一のソフトウェアを契約しているユーザにより契約されていないことを示す契約情報と対応付けられた第二のソフトウェアを検出し、検出した第二のソフトウェアの中から、最も早い通知順番を示す順番情報と対応付けられた第二のソフトウェアを検出する。そして、検出した第二のソフトウェアに対応付けられた検出条件を検出条件格納部109から読み出す。また、実行情報格納部105から、第一のソフトウェアを契約しているユーザのユーザ識別情報と対応付けられて格納されている実行情報を読み出す。そして、読み出した実行情報が、上記で読み出した検出条件を満たすか否かを判断し、満たす場合、この第二のソフトウェアを検出する。また、満たさない場合、この第二のソフトウェアは検出しない。なお、検出条件が、例えば、実行情報以外の契約情報等についての条件等を有している場合、適宜、第一のソフトウェアを契約しているユーザの第二のソフトウェアについての契約情報等を取得して、この契約情報等が、契約情報等についての条件を満たすか否かを、更に判断するようにすればよい。
なお、第一のソフトウェアを複数のユーザで利用しない場合等のように、第一のソフトウェアを利用するユーザを区別する必要がない場合においては、適宜ユーザ識別情報は省略しても良い。かかることは、他の処理においても同様である。
なお、検出部110は、一度検出した第二のソフトウェアについては、その第二のソフトウェアまたはその識別情報に、検出済であることを示す情報を対応付けて、図示しない格納部や、通知順番格納部103等に蓄積するようにし、第二のソフトウェアを検出する際に、検出済であることを示す情報と対応付けられた第二のソフトウェアは、再度検出しないようにしても良い。
また、検出部110は、例えば、試用情報格納部107に格納されている試用可能であることを示す試用情報と対応付けられた第二のソフトウェアについては、既に試用中であることから、検出しないようにして良い。なお、ここでの試用中とは、試用期間中であることと考えて良い。なお、試用情報が試用可能であるということは、例えば、対応する第二のソフトウェアが試用期間中であることを意味する。また、例えば、試用情報格納部107に格納されている試用済であることを示す試用情報と対応付けられた第二のソフトウェアについては、既に過去に試用済であることから、検出しないようにして良い。
検出部110は、通常、MPUやメモリ等から実現され得る。検出部110の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
通知部111は、検出部110が検出した第二のソフトウェアに関する情報であるソフトウェア関連情報を、ユーザに通知する。ソフトウェア関連情報は、例えば、検出部110が検出した第二のソフトウェアを紹介するための情報や、検出部110が検出した第二のソフトウェアの契約を促すプロモーションの情報である。
通知部111は、例えば、試用情報蓄積部108が、検出部110が検出した第二のソフトウェアに対応する試用情報を、ユーザによる試用が可能であることを示す試用情報に更新する場合等においては、検出部110が検出した第二のソフトウェアの試用が可能であることを示す情報であるソフトウェア関連情報をこのユーザに通知するようにしてもよい。
通知部111は、どのようにソフトウェア関連情報を取得しても良い。例えば、図示しない格納部等に、第二のソフトウェアに対応するソフトウェア関連情報を、第二のソフトウェアと対応付けて(例えば、第二のソフトウェアの識別情報と対応付けて)格納しておくようにし、格納されているソフトウェア関連情報の中から、検出部110が検出した第二のソフトウェアに対応付けられたソフトウェア関連情報を読み出して取得しても良い。また、例えば、図示しない格納部等に予め格納されているテンプレートに、検出部110が検出した第二のソフトウェアの識別情報等を配置することで、ソフトウェア関連情報を取得しても良い。例えば、予め指定された「<ソフトウェア名>が試用可能です。」というテンプレートの、予め指定された「<ソフトウェア名>」というテンプレートの変数部分に、検出部110が検出した第二のソフトウェアの識別情報であるソフトウェア名を配置することにより、検出部110が検出した一の第二のソフトウェアが試用可能であることを示す情報であるソフトウェア関連情報を取得してもよい。
ここでの通知は、ソフトウェア関連情報を出力と考えて良い。ここでの通知は、例えば、ディスプレイへの表示、プリンタによる紙等への印字、音出力、外部の装置への送信等を含む概念である。
ソフトウェア関連情報の通知先となるユーザは、例えば、第一のソフトウェアを契約しているユーザや、第一のソフトウェアを使用しているユーザや、情報処理装置1を利用しているユーザである。ソフトウェア関連情報の通知先となるユーザは、例えば、第二のソフトウェアを検出する際に用いられた実行情報に対応するユーザである。
ソフトウェア関連情報を送信する場合、ユーザの送信先を指定する情報をどのように取得するかは問わない。例えば、図示しない格納部等にユーザ識別情報等と対応付けて予め格納されている送信先を指定する情報を取得しても良いし、契約情報等から取得するようにしても良い。ユーザの送信先を指定する情報は、例えば、メールアドレスや、IPアドレス等のアドレス情報である。
通知部111は、ディスプレイやプリンタ等の出力デバイスを含むと考えても含まないと考えても良い。通知部111は、ソフトウェア関連情報を出力する出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。例えば、通知部111は、表示デバイスのドライバーソフトや、表示デバイスとそのドライバーソフトとの組合わせで実現され得る。
実行部112は、第一のソフトウェアを実行する。また、実行部112は、契約されていることを示す契約情報と対応付けられた第二のソフトウェアを実行する。また、実行部112は、試用が可能であることを示す試用情報と対応付けられた第二のソフトウェアを実行する。なお、試用情報と対応付けられた第二のソフトウェアを実行する場合、機能の一部等の実行を制限しても良い。例えば、予め指定された命令等を受け付けないようにしても良いし、受け付けた場合において、命令に対応した処理を実行しないようにしても良い。また、実行部112による実行結果に、試用中であることを示す情報を付加して出力しても良い。
実行部112は、通常、MPUやメモリ等から実現され得る。実行部112の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
なお、情報処理装置1は、実行部112に第一のソフトウェアや第二のソフトウェアを実行させるための指示や、実行する処理を指定する情報や、処理に利用される情報等を受け付ける受付部(図示せず)等を有していても良い。ここでの受付は、受信等も含む概念である。
また、情報処理装置1は、実行部112により第一のソフトウェアや第二のソフトウェアを実行させることにより得られた処理結果等を出力するための出力部(図示せず)等を有していても良い。ここでの出力は、送信や、蓄積、表示等も含む概念である。
次に、情報処理装置1の動作の一例について図2のフローチャートを用いて説明する。なお、ここでは、情報処理装置1を利用するユーザが、第一ソフトウェア格納部101に格納されている第一のソフトウェアについて、利用契約を有している場合について説明する。
(ステップS101)実行部112は、情報処理装置1の図示しない受付部等が、第一のソフトウェアまたは一の第二のソフトウェアに処理を実行させる指示を受け付けたか否かを判断する。ここでの処理はどのような処理であっても良い。この指示は、例えば、第一または第二のソフトウェアを指定する情報(例えばソフトウェアの識別情報)と、処理内容を示す情報(例えばコマンド等)を有する情報である。受け付けた場合、ステップS102に進み、受け付けていない場合、ステップS115に進む。
(ステップS102)実行部112は、ステップ101で受け付けた指示が示す処理の実行対象となるソフトウェアが、第一のソフトウェアであるか否かを判断する。第一のソフトウェアである場合、ステップS105に進み、第一のソフトウェアでない場合、ステップS103に進む。なお、ここでは、説明の便宜上、実行対象となるソフトウェアが、第一のソフトウェアでない場合、実行対象となるソフトウェアは、一の第二のソフトウェアであるとする。
(ステップS103)実行部112は、ステップ101で受け付けた指示が示す処理の実行対象となる第二のソフトウェアに対して、契約が有ることを示す契約情報が、契約情報格納部104に格納されているか否かを判断する。格納されている場合、ステップS105に進み、格納されていない場合、ステップS104に進む。
(ステップS104)実行部112は、ステップ101で受け付けた指示が示す処理の実行対象となる第二のソフトウェアに対して、試用が可能であることを示す試用情報が、試用情報格納部107に格納されているか否かを判断する。格納されている場合、ステップS105に進み、格納されていない場合、ステップS101に戻る。
(ステップS105)検出部110は、未契約であることを示す契約情報と対応付けられた第二のソフトウェアを検出する処理を、契約情報格納部104に格納されている契約情報を用いて行う。例えば、未契約であることを示す契約情報と対応付けられた第二のソフトウェアの識別情報を取得する処理を行う。このことは、契約されていることを示す契約情報と対応付けられていない第二のソフトウェアを検出することも含む概念である。
(ステップS106)検出部110は、ステップS105において、第二のソフトウェアが検出できたか否かを判断する。できた場合、ステップS107に進み、できていない場合、ステップS113に進む。
(ステップS107)検出部110は、ステップS105で検出した第二のソフトウェアのうちの、通知順番が最も新しい第二のソフトウェアを検出する。例えば、通知順番格納部103に格納されている通知順番に関する情報のうちの、ステップS105で検出した第二のソフトウェアに対応付けられた通知順番に関する情報から、最も新しい通知順番を示す通知順番に関する情報を検出し、この通知順番に関する情報と対応付けられた第二のソフトウェアを検出する。例えば、第二のソフトウェアの識別情報を取得する。
(ステップS108)検出部110は、試用情報格納部107に格納されている試用情報のうちの、ステップS105において取得した第二のソフトウェアに対応する試用情報を用いて、この第二のソフトウェアが試用可能となっているか、もしくは、試用済となっているか否かを判断する。試用可能、もしくは試用済みである場合、ステップS109に進み、試用可能でなく、かつ試用済でもない場合、ステップS113に進む。
(ステップS109)検出部110は、ステップS108において、試用可能でなく、かつ試用済でもないと判断された第二のソフトウェアに対応する検出条件を、検出条件格納部109から取得し、実行情報格納部105に格納されている実行情報が、この検出条件を満たすか否かを判断する。満たす場合、ステップS110に進み、満たさない場合、ステップS113に進む。
(ステップS110)試用情報蓄積部107は、ステップS108において、試用可能でなく、かつ試用済でもないと判断された第二のソフトウェアについての試用情報を、試用が可能であることを示す試用情報となるよう更新する。
(ステップS111)通知部111は、ステップS108において、試用可能でなく、かつ試用済でもないと判断された第二のソフトウェアについて、この第二のソフトウェアが試用可能であることを示すソフトウェア関連情報を取得する。
(ステップS112)通知部111は、ステップS111で取得したソフトウェア関連情報を、ユーザに通知する。例えば、図示しないモニタ等に表示する。そして、ステップS113に進む。
(ステップS113)実行部112は、ステップS101で受け付けた指示が示す第一または第二のソフトウェアに、この指示が示す処理を実行させる。ここでの実行は、図示しない出力部等による実行結果の出力等も含むと考えても良い。ここでの出力は、例えば、表示や、他の処理部等への処理結果の引き渡しや、処理結果の送信や蓄積等を含む概念である。
(ステップS114)実行情報蓄積部106は、実行部112が実行した処理に応じた実行情報を取得し、取得した実行情報を実行情報格納部105に蓄積する。例えば、現在の日時等を、図示しない時計等から取得して、現在の日時と対応付けて実行情報を蓄積する。例えば、ステップS113でソフトウェアに情報を印刷させる処理を実行させた場合、印刷したことを示す実行情報を取得して蓄積する。
(ステップS115)情報処理装置1の図示しない受付部等が、第二のソフトウェアに対する契約情報を受け付けたか否かを判断する。受け付けた場合、ステップS120に進み、受け付けていない場合、ステップS101に戻る。
(ステップS116)情報処理装置1の図示しない受付部等が、ステップS115で受け付けた契約情報を、契約の対象となる第二のソフトウェアと対応付けて、契約情報格納部104に蓄積する。そして、ステップS101に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報処理装置1の具体的な動作について説明する。ここでは、1のユーザであるユーザAが利用する情報処理装置1の第一ソフトウェア格納部101には、ソフトウェアの識別情報が「ソフトウェアA」である第一のソフトウェアが格納されているものとする。また、第二ソフトウェア格納部102には、ソフトウェアの識別情報が、「ソフトウェアB1」、「ソフトウェアB2」、及び「ソフトウェアB3」である異なる3つのソフトウェアが予め格納されているものとする。
「ソフトウェアA」は、ここでは、会計処理に用いられるアプリケーションソフトウェアであるとする。また、「ソフトウェアB1」は、この「ソフトウェアA」に対して、予め指定されたサーバ装置(図示せず)へのバックアップ機能を追加するソフトウェア、「ソフトウェアB2」は、「ソフトウェアA」に対して、予め指定されたサーバ装置(図示せず)に格納されている予め指定された1以上のユーザのデータ(例えば、同じ企業に属する他のユーザ)のデータを参照する機能を追加するソフトウェア、「ソフトウェアB3」は、「ソフトウェアA」に対して、予め指定された他のアプリケーションソフトウェアとの連携機能(例えば、データの相互利用等)を追加するソフトウェア、であるとする。
ユーザAは、「ソフトウェアA」の提供者と「ソフトウェアA」についての利用契約を既に結んでいるものとする。なお、ここでは、第一のソフトウェア及び第二のソフトウェアは、いずれも、一人のユーザで利用する形態で提供されるソフトウェアであることから、契約情報や、試用情報や、実行情報等を、ユーザ毎に識別する必要がないため、ユーザ識別情報等は省略する。
図3は、通知順番格納部103に格納されている通知順番に関する情報を管理する通知順番管理表である。通知順番管理表は、「第二ソフトウェアID」と「通知順番」という属性を有している。「第二ソフトウェアID」は、第二のソフトウェアの識別情報である。「通知順番」は、通知順番に関する情報であり、ここでは、通知順番を示す番号であるとする。「通知順番」は、値が小さいほど、通知順番が早いことを示す。
図4は、契約情報格納部104に格納されている契約情報を管理する契約情報管理表である。契約情報管理表は、「第二ソフトウェアID」と、「契約」という属性を有している。「第二ソフトウェアID」については、図3と同様である。「契約」は、契約情報であり、値「有」は契約があることを示し、「無」は契約がないことを示している。
図5は、試用情報格納部107に格納されている試用情報を管理する試用情報管理表である。試用情報管理表は、「第二ソフトウェアID」と、「試用」と、「期限」とを有している。「第二ソフトウェアID」については、図3と同様である。「試用」は、試用情報であり、値「許可」は試用が可能であることを示し、値「不可」は、試用が可能でないことを示す。また、値「済」は、既に一度、試用済であり、試用が可能でないことを示す。「期限」は、試用期限であり、試用が可能でない場合、値は、Nullとなる。ここで、全てのレコード(行)の「試用」の値が「不可」である場合について説明しているが、一以上のレコードについては、最初から「試用」の値を「許可」としてもよい。
図6は、実行情報格納部105に格納されている実行情報を管理する実行情報管理表である。実行情報管理表は、「ソフトウェアID」と、「処理」と、「日時」という属性を有している。「ソフトウェアID」は、第一のソフトウェアまたは第二のソフトウェアの識別情報である。「処理」は、第一または第二のソフトウェアにより実行された処理を示す情報であり、ここでの実行された処理の識別情報であるとする。なお、ここで用いられる処理の識別情報は説明のための便宜上のものであり、必ずしも実際の処理の識別情報と同じものを示すものではない。「日時」は、処理が実行された日時を示す。
図7は、検出条件格納部109に格納されている検出条件を管理する検出条件管理表である。検出条件管理表は、「第二ソフトウェアID」と、「条件」という属性を有している。「第二ソフトウェアID」は、図3と同様である。「条件」は、検出条件である。「条件」は、例えば、対象となる第一または第二のソフトウェアの識別情報と、この識別情報が示すソフトウェアの実行情報の出現状況に関する条件と、の1以上の組合わせにより構成されている。なお、ここでは、説明の便宜上、ここでは、「検出条件」を、自然言語で表しているが、「検出条件」は、例えば、これらの自然言語に相当する一以上の関数や、メソッド名や、「if」、「then」等で示される制御構文等で構成されていてもよい。また、「検出条件」は、これらの自然言語に対応する判断処理等を行うためのアルゴリズムであっても良い。
まず、ユーザAが、情報処理装置1に対して、キーボードやマウス等の図示しない入力デバイスを操作することにより、図示しない格納部に格納されている「ファイル001」というファイル名のファイルを開く処理を「ソフトウェアA」に実行させる指示を与えたとすると、実行部112は、この指示が、第一のソフトウェアに処理を実行させる指示であるか否かを判断する。ここでは、第一のソフトウェアに対する指示であると判断されたとする。
このため、検出部110は、通知順番と対応付けられた第二のソフトウェアのうちの、ユーザAによる契約が未契約の第二のソフトウェアを検出する処理を行う。具体的には、図4に示した契約情報格納部104において、「契約」の値が「無」であるレコード(行)を検出し、検出したレコードの「ソフトウェアID」の値を取得し、図示しないメモリ等に一時記憶する。ここでは、「ソフトウェアB1」、「ソフトウェアB2」、及び「ソフトウェアB3」が取得され、一時記憶される。この一時記憶された「ソフトウェアID」が示すソフトウェアが、未契約の第二のソフトウェアである。
第二のソフトウェアが検出できたため、検出部110は、検出した第二のソフトウェアのうちの、最も通知順番が早い第二のソフトウェアを検出する。具体的には、図3に示す通知情報管理表の、「第二ソフトウェアID」の値が、「ソフトウェアB1」、「ソフトウェアB2」、及び「ソフトウェアB3」である各レコードから、「通知順番」の値を取得し、取得した値が最も小さい第二のソフトウェアの識別情報を取得する。ここでは、対応する「通知順番」の値が「1」である「ソフトウェアB1」が取得されたとする。
検出部110は、取得した「ソフトウェアB1」が示すソフトウェアが、試用可能な状態、または試用済の状態のいずれかであるかを判断する。ここでは、検出部110は、図5に示した試用情報管理表から、「ソフトウェアB1」に対応する「試用」の値を取得し、取得した値が、「許可」または「済」以外の値であるか否か、即ち「不可」であるか否かを判断する。
なお、取得した値が、仮に、「許可」または「済」であれば、既に、このソフトウェアが試用中、あるいは、既に試用が終了したことを示すため、ソフトウェア関連情報の通知等は行われず、情報処理装置1が受け付けた指示に応じた処理が実行部112により実行される。
ここでは、「第二ソフトウェアID」の値が「ソフトウェアB1」であるレコードの「試用」の値が「不可」であるため、試用可能な状態、または試用済の状態のいずれの状態でもないと判断されたこととなる。
なお、試用情報蓄積部108は、例えば、検出部110が取得した値が「許可」である場合、対応する「期限」の値を、試用情報管理表から取得し、この値が、図示しない時計等から取得した現在の日時を過ぎていた場合には、対応する「試用」の値を「済」に変更する。
検出部110は、図7に示した検出条件管理表から、「第二ソフトウェアID」の値が「ソフトウェアB1」であるレコード(行)を検出し,検出したレコードから、検出条件である「条件」の値を取得する。そして、図6に示した実行情報管理表において管理されている実行情報が、取得した検出条件を満たすか否かを判断する。
ここで取得した検出条件は、「ソフトウェアAに対応する一番古い実行情報の「日時」と、現在の日時との差が30日以上である。」であるため、検出部110は、まず、図6に示した実行情報管理表から、「ソフトウェアID」が「ソフトウェアA」であるレコードを検出し、検出したレコードから最も値が小さい「日時」の値を取得する。例えば、実行情報管理表から取得した日時の値が「2013/07/01 09:14」であったとする。そして、現在の日時「2013/08/02 13:05」を図示しない時計等から取得し、取得した現在の日時と、上記で実行情報管理表から取得した日時との差を算出し、算出した値が、30日以上であるか否かを判断する。ここでは、算出した値が、30日以上であるため、検出部110は、上記の検出条件を満たすと判断する。
このため、試用情報蓄積部108は、図5に示した試用情報管理表の「ソフトウェアB1」に対応する「試用」の値を、「許可」に更新し、対応する「期限」の値として、現在の日時「2013/08/02 13:05」を蓄積する。
図8は、試用情報蓄積部108により更新された試用情報管理表を示す図である。
図9は、図示しない格納部に予め格納されているソフトウェア関連情報を管理するソフトウェア関連情報管理表である。ソフトウェア関連情報管理表は、「第二ソフトウェアID」と、「関連情報」という属性を有している。「第二ソフトウェアID」は、図3と同様である。「関連情報」は、ソフトウェア関連情報である。なお、ここでは、説明のためソフトウェア関連情報に含まれる文字列のみを示しているが、この文字列を配置するためのレイアウト情報や、ソフトウェア関連情報を表示するためのウィンドウを設定する情報が、更に対応付けられて格納されていても良い。
通知部111は、図8に示したソフトウェア関連情報管理表から、「ソフトウェアB1」に対応する「関連情報」の値であるソフトウェア関連情報「ソフトウェアB1が試用可能となりました。ソフトウェアB1は、クラウドバックアップを…」を取得し、取得したソフトウェア関連情報を配置したウィンドウを、図示しないもモニタ等に表示することにより、ソフトウェア関連情報をユーザAに通知する。
図10は、ソフトウェア関連情報の表示例を示す図である。これにより、ユーザAは、ソフトウェアB1が試用可能となったことを知ることができる。
そして、実行部112は、上記で受け付けた指示に応じて、「ソフトウェアA」にファイル名が「ファイル001」であるファイルを開く処理を実行する。
実行情報蓄積部106は、実行部112が「ソフトウェアA」を用いてファイルを開く処理を実行したため、このソフトウェアの識別情報である「ソフトウェアA」と、実行された処理の識別情報である「ファイルを開く」とを取得し、さらに、図示しない時計等から現在の日時を取得して、これらを対応付けたレコード(行)を、図6に示した実行情報管理表に追記する。例えば、「第二ソフトウェアID」が「ソフトウェアA」であり、「処理」が「ファイルを開く」であり、「日時」が、現在の日時であるレコードが追記される。
次に,ユーザが、「ソフトウェアB1」に、「ソフトウェアA」で処理したデータをネットワーク等で接続された予め指定された図示しないサーバ装置にバックアップさせる指示を、図示しない入力デバイス等を介して入力したとする。
実行部112は、この入力された指示が示す処理を実行する「ソフトウェアB1」が第一のソフトウェアでないため、「ソフトウェアB1」について、契約が有ること(即ち、契約済みであること)を示す契約情報が格納されているか否かを判断する。具体的には、図4に示した契約情報管理表において、「ソフトウェアB1」に対応する「契約」の値が「有」であるか判断する。「契約」の値が仮に「有」であれば、上記と同様の未契約の第二のソフトウェアを検出する処理が行われる。
ここでは、「有」でないため、実行部112は、「ソフトウェアB1」が試用可能であるか否かを判断する。具体的には、図8に示した試用情報管理表において、「ソフトウェアB1」に対応する「試用」の値が「許可」であるか否かを判断する。ここでは「許可」であるため、「ソフトウェアB1」が試用可能であると判断される。
このため、検出部110は、上記と同様に、通知順番と対応付けられた第二のソフトウェアのうちの、ユーザAによる契約が未契約の第二のソフトウェアを検出する処理を行い、ここでは、「ソフトウェアB1」、「ソフトウェアB2」、及び「ソフトウェアB3」が取得され、一時記憶される。
更に、検出部110は、上記と同様に、検出した第二のソフトウェアのうちの、最も通知順番が早い第二のソフトウェアを検出する。ここでは、対応する「通知順番」の値が「1」である「ソフトウェアB1」が取得されたとする。
検出部110は、取得した「ソフトウェアB1」が示すソフトウェアが、試用可能な状態、または試用済の状態のいずれかであるかを判断する。ここでは、検出部110は、図5に示した試用情報管理表から、「ソフトウェアB1」に対応する「試用」の値を取得し、取得した値が、「許可」または「済」以外の値であるか否か、即ち「不可」であるか否かを判断する。ここでは、「第二ソフトウェアID」の値が「ソフトウェアB1」であるレコードの「試用」の値が「許可」であるため、試用可能な状態であると判断される。このため、ソフトウェア関連情報等の通知は行われない。このようにして、試用中の第二のソフトウェアに関しては、ソフトウェア関連情報の通知を行わないようにすることができる。
そして、実行部112により、ソフトウェアB1により、図示しないサーバ装置にネットワーク経由でデータをバックアップする処理が行われる。
ここで、仮に、ユーザが「ソフトウェアB1」に対して契約を行っていたとする。この場合、検出部110が、ユーザAによる契約が未契約の第二のソフトウェアを検出する処理を行うと、「ソフトウェアB1」の「契約」の値が「有」であるため、未契約の第二のソフトウェアの識別情報として、「ソフトウェアB2」及び「ソフトウェアB3」が取得される。
そして、この二つの第二のソフトウェアのうちの通知順番が早い「ソフトウェアB2」について、試用中または試用済のいずれかであるか否かが判断されることとなる。この「ソフトウェアB2」は、図8に示した試用情報管理表から、試用中または試用済のいずれでも無いと判断される。このため、この「ソフトウェアB2」についての検出条件を、図7に示す検出条件管理表から取得し、実行情報が、この検出条件を満たせば、この「ソフトウェアB2」の試用が可能となるとともに、この「ソフトウェアB2」の試用が可能となったことを示すソフトウェア関連情報の通知が行われることとなる。
以上、本実施の形態によれば、通知順番が一つ前の第二のソフトウェアが契約されている場合にだけ、次の通知順番の未契約の第二のソフトウェアについてソフトウェア関連情報の通知を行うことができ、ユーザのソフトウェアの契約状況に合わせて、段階的に適切な第二のソフトウェアについての情報を提供することができる。これにより、ユーザが契約しているソフトウェアに関連するソフトウェアに関する情報を、ユーザに対して適切に提供することができる。
例えば、ユーザに対して、優先度が高いと考えられる第二のソフトウェアを、段階的に紹介することができるため、ユーザが第二のソフトウェアの導入を検討しやすくすることができる。
また、本実施の形態によれば、実行情報を利用することで、第一のソフトウェアや第二のソフトウェアについてのユーザの利用状況等に応じて、第一のソフトウェアに関連する第二のソフトウェアについてのソフトウェア関連情報を通知することができる。この結果、ユーザの第一のソフトウェアや、第二のソフトウェアの習熟度に応じて適切な第二のソフトウェアについての情報を提供することができる。
また、本実施の形態によれば、通知順番が一つ前の第二のソフトウェアが契約されている場合にだけ、次の通知順番の未契約の第二のソフトウェアについての試用を提供ことができ、ユーザのソフトウェアの契約状況に合わせて、段階的に適切な第二のソフトウェアについての試用を提供することができる。
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して、ユーザ端末装置等から、入力を受け付けたり、画面を出力したりすることになる。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部(例えば、ハードディスクやメモリ等の記録媒体)にアクセスしながらプログラムを実行してもよい。
なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、ユーザが契約している第一のソフトウェアに関連した異なる2以上の第二のソフトウェアのそれぞれについての通知順番に関する情報が格納される通知順番格納部と、2以上の第二のソフトウェアのそれぞれについての契約の有無を示す情報である契約情報が格納される契約情報格納部と、にアクセス可能なコンピュータを、契約情報と通知順番に関する情報とを用いて、未契約であることを示す契約情報と対応付けられた第二のソフトウェアのうちの、最も早い通知順番の第二のソフトウェアを検出する検出部と、検出部が検出した第二のソフトウェアに関する情報であるソフトウェア関連情報を、ユーザに通知する通知部と、して機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図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がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。