以下、本発明による情報処理システムについて、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1による情報処理システムについて、図面を参照しながら説明する。本実施の形態による情報処理システムは、サーバから情報処理装置に対して、購入対象に関する情報である購入対象情報を送信するものである。
図1は、本実施の形態による情報処理システムの構成を示すブロック図である。本実施の形態による情報処理システムは、1以上の情報処理装置1と、サーバ2とを備える。1以上の情報処理装置1とサーバ2とは、有線または無線の通信回線500によって接続されており、互いに情報を送受信することができる。通信回線500は、例えば、インターネットやイントラネット、公衆電話回線網等であってもよい。
図2は、本実施の形態による情報処理装置1の構成を示すブロック図である。図2において、本実施の形態による情報処理装置1は、ソフトウェア記憶部11と、ソフトウェア実行部12と、表示部13と、受付部14と、要求送信部15と、受信部16とを備える。
ソフトウェア記憶部11では、1以上のソフトウェアと、その1以上のソフトウェアを識別するソフトウェア識別情報とが記憶される。そのソフトウェアは、例えば、アプリケーションソフトウェアであってもよく、その他のソフトウェアであってもよい。また、そのソフトウェアには、メニュー画面が含まれるものとする。ソフトウェアにメニュー画面が含まれるとは、厳密には、そのソフトウェアに、そのメニュー画面を表示するための情報が含まれていることである。また、そのソフトウェアの使用中に、そのメニュー画面を表示させることができるようになっているものとする。そのメニュー画面は、各メニューを選択するための画面であって、購入対象に関する情報の表示を要求するための要求ボタンが表示される画面である。「購入対象に関する情報の表示を要求する」とは、結果として購入対象に関する情報の表示がなされるためのトリガーとなる要求の意味であり、その要求に応じて直接、購入対象に関する情報が表示されてもよく、あるいは、その要求の後にも何らかの操作を行うことによって最終的に、購入対象に関する情報が表示されてもよい。そのメニュー画面は、どのように構成されたものであってもよい。例えば、HTMLやXML等のようなマークアップ言語を用いて記述されたものであってもよく、その他の方法で記述されたものであってもよい。なお、購入対象とは、購入の対象となるものであれば、どのような製品や商品、サービスなどであってもよいが、本実施の形態では、購入対象が主にソフトウェアである場合について説明する。また、ソフトウェア識別情報は、ソフトウェアを一意に識別できるものであればその内容を問わない。例えば、ソフトウェア識別情報は、数字や記号の列であってもよく、ソフトウェアの名称であってもよい。本実施の形態では、後者の場合について説明する。また、ソフトウェア識別情報は、ソフトウェアのバージョンも含めてソフトウェアを識別するものであってもよく、そうでなくてもよい。本実施の形態では、後者の場合について説明する。また、このソフトウェア識別情報も、後述する購入対象識別情報の一つである。すなわち、購入対象がソフトウェアである場合における購入対象識別情報がソフトウェア識別情報となる。また、ソフトウェアと、ソフトウェア識別情報とは、使用中のソフトウェアを識別するソフトウェア識別情報を特定できるように対応付けられているものとする。
ソフトウェア記憶部11に1以上のソフトウェアが記憶される過程は問わない。例えば、記録媒体を介して1以上のソフトウェアがソフトウェア記憶部11で記憶されるようになってもよく、通信回線等を介して送信された1以上のソフトウェアがソフトウェア記憶部11で記憶されるようになってもよい。ソフトウェア記憶部11での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。ソフトウェア記憶部11は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
ソフトウェア実行部12は、ソフトウェア記憶部11で記憶されているソフトウェアを適宜読み出し、そのソフトウェアを実行する。その際に、後述するように、ソフトウェア実行部12は、表示部13への情報の表示や、受付部14からの入力の受け付け、要求送信部15からの情報の送信、受信部16からの情報の受信等の制御を行ってもよい。
表示部13は、ソフトウェア実行部12の制御によって、情報の表示を行う。また、表示部13は、ソフトウェア実行部12がソフトウェアを実行中に、メニュー画面をも表示する。なお、ソフトウェアの実行中とは、現実にそのソフトウェアが実行されている状態であってもよく、そのソフトウェアの実行に関連して他のソフトウェア(例えば、ブラウザ等)が実行されている状態であってもよい。また、表示部13は、後述する受信部16が受信した一覧情報をも表示する。また、表示部13は、その受信部16が受信した購入対象情報をも表示する。
なお、表示部13は、それらの表示を行う表示デバイス(例えば、CRTや液晶ディスプレイなど)を含んでもよく、あるいは含まなくてもよい。また、表示部13は、ハードウェアによって実現されてもよく、あるいは表示デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。また、表示対象の情報が最終的に表示されるのであれば、表示部13は、その表示対象の情報を外部の表示デバイス等に送信するものであってもよい。すなわち、表示部13は、実際に表示を行ってもよく、あるいは、他の表示デバイス等での表示のための表示出力を行ってもよい。
受付部14は、入力デバイス(例えば、マウスやキーボード、タッチパネル等)を介した入力を受け付ける。また、受付部14は、表示部13がメニュー画面を表示している際に、要求ボタンが選択されたことを受け付ける。また、受付部14は、表示部13が表示した一覧情報におけるキーワードの選択を受け付ける。要求ボタンの選択や、キーワードの選択は、通常、マウスでクリックすることによる選択であるが、その他の選択であってもよい。その他の選択は、例えば、マウスでダブルクリックすることによる選択であってもよく、選択対象のボタンやキーワードに対応するラジオボタン等を選択した上で、選択を決定することを示すボタンをクリックすることであってもよい。本実施の形態では、要求ボタン等の選択は、要求ボタン等のクリックである場合について説明する。
本実施の形態では、受付部14が入力デバイスからの入力を受け付ける場合について説明するが、そうでなくてもよい。例えば、受付部14は、有線もしくは無線の通信回線を介して送信された入力を受信してもよい。なお、受付部14は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、受付部14は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
要求送信部15は、受付部14が要求ボタンの選択されたことを受け付けると、要求ボタンの選択に応じた情報の送信を要求する情報であるボタン要求情報をサーバ2に送信する。なお、そのボタン要求情報には、ソフトウェア実行部12が実行しているソフトウェアを識別するソフトウェア識別情報が含まれるものとする。ボタン要求情報は、サーバ2において、その情報がボタン要求情報であることが認識されるのであれば、情報の送信要求が含まれていてもよく、あるいは、含まれていなくてもよい。また、要求送信部15は、受付部14が受け付けたキーワードの選択に応じた情報の送信を要求するキーワード要求情報をサーバ2に送信する。キーワード要求情報は、例えば、選択されたキーワードを含む情報であってもよく、選択されたキーワードに応じた購入対象情報のアドレスを示す情報(例えば、URL等のアドレスであってもよい)を含む情報であってもよい(例えば、一覧情報がキーワードごとに購入対象情報のリンク先を示す情報である場合には、要求送信部15は、選択されたキーワードに対応付けられているリンク先のアドレスを含むキーワード要求情報を送信してもよい)。本実施の形態では、キーワード要求情報に選択されたキーワードが含まれる場合について主に説明する。また、このキーワード要求情報にも、実行中のソフトウェアを識別するソフトウェア識別情報が含まれていてもよく、含まれていなくてもよい。サーバ2のアドレスは、要求送信部15が持っていてもよく、あるいは、ボタン要求情報の送信までに他の構成要素等から受け付けてもよい。
なお、要求送信部15は、ボタン要求情報やキーワード要求情報をサーバ2に直接送信してもよく、あるいは、他のサーバ等を介して間接的に送信してもよい。また、要求送信部15は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、要求送信部15は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
受信部16は、要求送信部15によるボタン要求情報の送信に応じて、サーバ2から送信された一覧情報を受信する。一覧情報は、購入対象に関する、複数の分類項目ごとのキーワードの一覧の情報である。分類項目は、分類に用いられる観点の異なる項目であって、例えば、トレンド、業務、業種、導入事例から選択される任意の2以上の項目であってもよい。項目やキーワードの例については後述する。また、受信部16は、要求送信部15によるキーワード要求情報の送信に応じて、サーバ2から送信された購入対象情報を受信する。この購入対象情報の受信は、ボタン要求情報の送信が契機となっているものであるため、受信部16は、ボタン要求情報の送信に応じて購入対象情報を受信したと考えることもできる。購入対象情報は、購入対象に関する説明の情報である。購入対象情報は、テキストの情報であってもよく、画像や映像、音声等を含む情報であってもよい。本実施の形態では、購入対象情報がテキストの情報である場合について説明する。
なお、受信部16は、受信を行うための有線または無線の受信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、受信部16は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
図3は、本実施の形態によるサーバ2の構成を示すブロック図である。図3において、本実施の形態によるサーバ2は、購入対象管理情報記憶部21と、関連管理情報記憶部22と、生成部23と、記憶部24と、要求受信部25と、取得部26と、送信部27とを備える。
購入対象管理情報記憶部21では、複数の購入対象管理情報が記憶される。購入対象管理情報は、購入対象識別情報と、その購入対象識別情報に対応する、複数の分類項目ごとのキーワードと、その購入対象識別情報で識別される購入対象に関する説明の情報である説明情報とを有する情報である。購入対象識別情報は、購入対象を一意に識別できるものであればその内容を問わない。例えば、購入対象識別情報は、数字や記号の列であってもよく、購入対象の名称であってもよい。本実施の形態では、後者の場合について説明する。また、説明情報は、テキストの情報であってもよく、画像や映像、音声等を含む情報であってもよい。本実施の形態では、説明情報がテキストの情報である場合について説明する。また、購入対象管理情報記憶部21では、各分類項目の名称も記憶されているものとする。
購入対象管理情報記憶部21に複数の購入対象管理情報が記憶される過程は問わない。例えば、記録媒体を介して複数の購入対象管理情報が購入対象管理情報記憶部21で記憶されるようになってもよく、通信回線等を介して送信された複数の購入対象管理情報が購入対象管理情報記憶部21で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された複数の購入対象管理情報が購入対象管理情報記憶部21で記憶されるようになってもよい。また、購入対象管理情報記憶部21で記憶されている購入対象管理情報は、購入対象の追加や、購入対象に関する情報の変更に応じて、適宜、追加されてもよく、更新されてもよく、削除されてもよい。購入対象管理情報記憶部21での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。購入対象管理情報記憶部21は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
また、購入対象管理情報に含まれる各情報、例えば、購入対象識別情報や、キーワード等は、それらの情報そのものであってもよく、あるいは、その情報を特定可能な情報であってもよい。後者の場合には、購入対象管理情報に含まれる購入対象識別情報等は、例えば、購入対象識別情報等が格納されている領域を示すポインタやアドレスであってもよい。この段落に記載したことは、他の情報についても同様であるとする。
関連管理情報記憶部22では、購入対象識別情報の関連を管理する情報である関連管理情報が記憶される。関連管理情報は、購入対象識別情報の関連を知ることができる情報である。すなわち、関連管理情報によって、ある購入対象識別情報に関連する購入対象識別情報を特定することができるものとする。具体的には、この関連管理情報は、グループごとに区分けして1以上の購入対象識別情報を有するものであってもよく(この場合には、同じグループに属する2以上の購入対象識別情報が互いに関連する購入対象識別情報となる)、ある購入対象識別情報と、その購入対象識別情報に対応付けて、その購入対象識別情報に関連する購入対象識別情報とを有するものであってもよく(この場合には、その対応関係によって関連が示される)、その他のものであってもよい。
関連管理情報記憶部22に関連管理情報が記憶される過程は問わない。例えば、記録媒体を介して関連管理情報が関連管理情報記憶部22で記憶されるようになってもよく、通信回線等を介して送信された関連管理情報が関連管理情報記憶部22で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された関連管理情報が関連管理情報記憶部22で記憶されるようになってもよい。関連管理情報記憶部22での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。関連管理情報記憶部22は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
生成部23は、購入対象管理情報記憶部21で記憶されている複数の購入対象管理情報を用いて、一覧情報、及び購入対象情報を生成して後述する記憶部24に蓄積する。それらの情報を生成する方法の詳細について説明する。
(1)ボタン要求情報に含まれるソフトウェア識別情報以外の購入対象識別情報に対応する一覧情報、及び購入対象情報を生成する場合
まず、ボタン要求情報に含まれるソフトウェア識別情報以外の購入対象識別情報に対応する一覧情報を生成する場合について説明する。生成部23は、後述する要求受信部25が受信したボタン要求情報に含まれるソフトウェア識別情報以外の購入対象識別情報を有する1以上の購入対象管理情報を特定する。情報を特定するとは、例えば、その情報を図示しない記録媒体に蓄積することであってもよく、あるいは、その特定した情報に対してフラグ等を設定し、他の情報と区別可能にすることであってもよい。他の情報を特定する場合にも同様であるとする。生成部23は、その特定した1以上の購入対象管理情報の複数の分類項目ごとに、各分類項目に含まれるキーワードをユニーク処理したキーワードを含む一覧情報を生成して後述する記憶部24に蓄積する。すなわち、生成部23は、特定した1以上の購入対象管理情報から分類項目の名称である属性名を取得する。そして、生成部23は、特定した1以上の購入対象管理情報から、一の分類項目について、その分類項目に含まれる全てのキーワードを取得し、そのキーワードをユニーク処理することによって、キーワードの重複を除去する。ユニーク処理については公知であり、その説明を省略する。そして、そのユニーク処理後のキーワードである属性値を、その分類項目の名称である属性名に対応付ける情報を構成する。その処理を、全ての分類項目について行うことにより、属性名と属性値とを対応付ける情報が生成される。その情報が一覧情報である。なお、生成部23は、さらにその情報について、例えば、属性名が一列または一行に並んだ各セルに挿入し、その属性名に対応する属性値を、その属性名に隣接するセルにそれぞれ挿入することによって、テーブル形式の一覧情報を生成してもよい。表示形態が変化したとしても、属性名と属性値とが対応しているのであれば、その情報のことを一覧情報と呼ぶことにする。
次に、ボタン要求情報に含まれるソフトウェア識別情報以外の購入対象識別情報に対応する購入対象情報を生成する場合について説明する。生成部23は、一のキーワードに対応する1以上の購入対象識別情報であって、後述する要求受信部25が受信したボタン要求情報に含まれるソフトウェア識別情報以外の購入対象識別情報と、その購入対象識別情報に対応する説明情報とを含む購入対象情報を生成する。すなわち、生成部23は、あるキーワードに関する購入対象情報を生成する際には、そのキーワードを検索キーとして、購入対象管理情報記憶部21で記憶されている全ての購入対象管理情報を検索する。そして、ヒットしたキーワードに対応する1以上の購入対象識別情報であって、ボタン要求情報に含まれるソフトウェア識別情報以外の購入対象識別情報を特定する。その後、生成部23は、複数の購入対象管理情報において、特定した各購入対象識別情報と、その各購入対象識別情報に対応する説明情報とを含む購入対象情報を生成する。なお、この処理に代えて、生成部23は、まずボタン要求情報に含まれるソフトウェア識別情報以外の購入対象識別情報を有する1以上の購入対象管理情報を特定し、その特定した購入対象管理情報において、キーワードを検索キーとする検索を行い、そのヒットしたキーワードに対応する購入対象識別情報を特定し、その特定した購入対象識別情報と、その各購入対象識別情報に対応する説明情報とを含む購入対象情報を生成してもよい。このように、購入対象情報を生成する種々の方法が存在する。また、購入対象情報において、結果として、購入対象識別情報と説明情報とが対応付けられているのであれば、そのデータ構造を問わない。例えば、購入対象情報において、購入対象識別情報と説明情報とが同一のファイルに含まれてもよく、あるいは、両者は別々のファイルに含まれているが、その両者がリンクされていてもよい。後者の場合には、購入対象情報が、購入対象識別情報の一覧のファイルと、その各購入対象識別情報にそれぞれ対応する購入対象の説明情報のファイルとに分かれていてもよい。
なお、このように、ボタン要求情報に含まれるソフトウェア識別情報以外の購入対象識別情報に対応する一覧情報、及び購入対象情報を生成する場合には、関連管理情報を用いないため、生成部23がこのようにして一覧情報等を生成する場合には、サーバ2は、関連管理情報記憶部22を備えていなくてもよい。図3では、説明の便宜上、関連管理情報記憶部22を有するサーバ2を示しているものである。
(2)ボタン要求情報に含まれるソフトウェア識別情報に関連する購入対象識別情報に対応する一覧情報、及び購入対象情報を生成する場合
まず、ボタン要求情報に含まれるソフトウェア識別情報に関連する購入対象識別情報に対応する一覧情報を生成する場合について説明する。生成部23は、後述する要求受信部25が受信したボタン要求情報に含まれるソフトウェア識別情報に関連する購入対象識別情報を特定する。その特定は、関連管理情報を用いて行われる。そして、生成部23は、その特定した購入対象識別情報を有する1以上の購入対象管理情報を特定する。この特定された1以上の購入対象管理情報を用いた一覧情報の生成については、上記(1)と同様であり、その説明を省略する。
次に、ボタン要求情報に含まれるソフトウェア識別情報に関連する購入対象識別情報に対応する購入対象情報を生成する場合について説明する。生成部23は、一のキーワードに対応する1以上の購入対象識別情報であって、後述する要求受信部25が受信したボタン要求情報に含まれるソフトウェア識別情報に関連する購入対象識別情報と、その購入対象識別情報に対応する説明情報とを含む購入対象情報を生成する。すなわち、生成部23は、あるキーワードに関する購入対象情報を生成する際には、そのキーワードを検索キーとして、購入対象管理情報記憶部21で記憶されている全ての購入対象管理情報を検索する。そして、ヒットしたキーワードに対応する1以上の購入対象識別情報であって、ボタン要求情報に含まれるソフトウェア識別情報に関連する購入対象識別情報を特定する。このようにして特定される購入対象識別情報は、キーワードを検索キーとした、全ての購入対象管理情報を検索でヒットしたキーワードに対応する1以上の購入対象識別情報と、ボタン要求情報に含まれるソフトウェア識別情報に関連する購入対象識別情報とに共通する購入対象識別情報である。その後、生成部23は、複数の購入対象管理情報において、特定した各購入対象識別情報と、その各購入対象識別情報に対応する説明情報とを含む購入対象情報を生成する。なお、この処理に代えて、生成部23は、まずボタン要求情報に含まれるソフトウェア識別情報と関連する購入対象識別情報を有する1以上の購入対象管理情報を特定し、その特定した購入対象管理情報において、キーワードを検索キーとする検索を行い、そのヒットしたキーワードに対応する購入対象識別情報を特定し、その特定した購入対象識別情報と、その各購入対象識別情報に対応する説明情報とを含む購入対象情報を生成してもよい。このように、購入対象情報を生成する種々の方法が存在する。また、購入対象情報のデータ構造を問わないことは前述の通りである。
ここで、関連管理情報を用いた購入対象識別情報の特定について簡単に説明する。関連管理情報が、グループごとに区分けして1以上の購入対象識別情報を有するものである場合には、生成部23は、ボタン要求情報に含まれるソフトウェア識別情報を検索キーとして関連管理情報を検索し、そのソフトウェア識別情報の含まれるグループを特定する。そして、そのグループに含まれる購入対象識別情報を、そのソフトウェア識別情報に関連する購入対象識別情報として特定する。なお、その特定対象に、ボタン要求情報に含まれるソフトウェア識別情報を含めてもよく、含めなくてもよい。本実施の形態では、後者の場合について説明する。また、関連管理情報が、ある購入対象識別情報(関連元の購入対象識別情報)と、その購入対象識別情報に対応付けて、その購入対象識別情報に関連する購入対象識別情報(関連先の購入対象識別情報)とを有するものである場合には、生成部23は、ボタン要求情報に含まれるソフトウェア識別情報を検索キーとして、その関連元の関連管理情報を検索する。そして、生成部23は、ヒットした購入対象識別情報(ソフトウェア識別情報)に対応付けられている購入対象識別情報(関連先の購入対象識別情報)を、そのソフトウェア識別情報に関連する購入対象識別情報として特定する。なお、ここでは、関連元、関連先の対応がある場合について説明したが、関連管理情報において、そのような関連の方向がなくてもよい。その場合には、生成部23は、ソフトウェア識別情報を検索キーとして関連管理情報を検索し、そのヒットした購入対象識別情報(ソフトウェア識別情報)に対応付けられている購入対象識別情報を、そのソフトウェア識別情報に関連する購入対象識別情報として特定してもよい。
なお、上記の(1)、(2)の場合の両方について、後述する送信部27が送信するまでに生成部23が一覧情報や、購入対象情報を生成するのであれば、その生成のタイミングは問わない。例えば、生成部23は、ボタン要求情報の受信後に一覧情報を生成してもよく、そのボタン要求情報の受信前に一覧情報を生成してもよい。後者の場合には、購入対象管理情報に含まれる各購入対象識別情報がボタン要求情報に含まれるソフトウェア識別情報であると想定して、一覧情報を生成することになる。そして、その一覧情報を、ソフトウェア識別情報であると想定した購入対象識別情報に対応付けて記憶部24に蓄積することになる。また、例えば、生成部23は、ボタン要求情報の受信前に購入対象情報を生成してもよく、ボタン要求情報の受信後であって、キーワード要求情報の受信前に購入対象情報を生成してもよく、キーワード要求情報の受信後に購入対象情報を生成してもよい。ボタン要求情報の受信前に購入対象情報を生成する場合には、生成部23は、ボタン要求情報に含まれるソフトウェア識別情報、及び選択されたキーワードを知ることができないため、両者の全ての組み合わせについて、購入対象情報を生成することになる。そして、そのソフトウェア識別情報とキーワードとの各組み合わせに対応付けて、購入対象情報を記憶部24に蓄積する。また、ボタン要求情報の受信後であって、キーワード要求情報の受信前に購入対象情報を生成する場合には、生成部23は、ボタン要求情報に含まれるソフトウェア識別情報については知ることができるが、選択されたキーワードを知ることができないため、そのソフトウェア識別情報に応じた一覧情報に含まれる各キーワードについて購入対象情報を生成することになる。そして、その各キーワードに対応付けて購入対象情報を記憶部24に蓄積することになる。また、キーワード要求情報の受信後に購入対象情報を生成する場合には、生成部23は、ボタン要求情報に含まれるソフトウェア識別情報、及び選択されたキーワードを知ることができるため、一の購入対象のみを生成すればよいことになる。本実施の形態では、生成部23が、後述する要求受信部25がボタン要求情報を受信した場合に一覧情報を生成し、要求受信部25がキーワード要求情報を受信した場合にキーワード要求情報に対応する購入対象情報を生成する場合について説明する。
記憶部24では、一覧情報、及びキーワードごとの購入対象情報が記憶される。この記憶部24で記憶される購入対象情報は、購入対象識別情報ごとのものである。「購入対象識別情報ごとの購入対象情報」とは、購入対象識別情報ごとに別々に管理されている購入対象情報(例えば、購入対象識別情報ごとに別ファイル、別レコードとなっている購入対象情報)であってもよく、購入対象情報が、購入対象識別情報ごとになっているが、購入対象識別情報ごとに別ファイル、別レコードとはなっていない購入対象情報であってもよい。本実施の形態では、どちらの場合であってもよい。記憶部24で記憶される一覧情報や購入対象情報は、生成部23によって生成され、蓄積されたものである。記憶部24での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。記憶部24は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
要求受信部25は、情報処理装置1から送信されたボタン要求情報を受信する。また、要求受信部25は、情報処理装置1から送信されたキーワード要求情報を受信する。なお、要求受信部25は、受信を行うための有線または無線の受信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、要求受信部25は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
取得部26は、要求受信部25がボタン要求情報を受信した場合に、記憶部24から一覧情報を取得する。前述の(1)の場合には、取得部26は、要求受信部25がボタン要求情報を受信した場合に、ボタン要求情報に含まれるソフトウェア識別情報以外の購入対象識別情報を有する1以上の購入対象管理情報に対応する一覧情報を記憶部24から取得する。この一覧情報は、生成部23によって生成されて、記憶部24に蓄積されたものである。また、前述の(1)の場合には、取得部26は、キーワード要求情報に対応する購入対象情報であって、ボタン要求情報に含まれたソフトウェア識別情報以外の購入対象識別情報に対応する購入対象情報を記憶部24から取得する。この購入対象情報は、生成部23によって生成されて、記憶部24に蓄積されたものである。また、前述の(2)の場合には、取得部26は、要求受信部25がボタン要求情報を受信した場合に、ボタン要求情報に含まれるソフトウェア識別情報に、関連管理情報によって関連付けられている購入対象識別情報を有する1以上の購入対象管理情報に対応する一覧情報を記憶部24から取得する。この一覧情報は、生成部23によって生成されて、記憶部24に蓄積されたものである。また、前述の(2)の場合には、取得部26は、キーワード要求情報に対応する購入対象情報であって、ボタン要求情報に含まれたソフトウェア識別情報に、関連管理情報によって関連付けられている購入対象識別情報に対応する購入対象情報を記憶部24から取得する。この購入対象情報は、生成部23によって生成されて、記憶部24に蓄積されたものである。キーワード要求情報に対応する購入対象情報とは、キーワード要求情報がキーワードを含む場合には、そのキーワードに対応する購入対象情報であり、キーワード要求情報がキーワードに応じた購入対象情報のアドレス(例えば、URL等のアドレスであってもよい)を示す情報を含む場合には、そのアドレスで特定される購入対象情報である。
このように、取得部26は、要求受信部25がボタン要求情報を受信した場合には、記憶部24からボタン要求情報に含まれたソフトウェア識別情報に応じた購入対象情報を取得する。要求受信部25がボタン要求情報を受信した場合とは、要求受信部25がボタン要求情報を受信し、その後にキーワード要求情報を受信した場合を含むものである。また、ソフトウェア識別情報に応じた購入対象情報とは、ソフトウェア識別情報に応じて異なる購入対象情報であると考えてもよい。具体的には、取得部26は、そのボタン要求情報に含まれたソフトウェア識別情報以外の購入対象識別情報に対応する購入対象情報を記憶部24から取得することになってもよく、ボタン要求情報に含まれたソフトウェア識別情報に、関連管理情報によって関連付けられている購入対象識別情報に対応する購入対象情報を記憶部24から取得することになってもよい。また、本実施の形態では、取得部26が、生成部23が生成した購入対象情報を単に取得するだけの場合について主に説明するが、取得部26は、ボタン要求情報に含まれたソフトウェア識別情報に応じた購入対象情報を、複数の購入対象から積極的に選択して取得してもよい。
送信部27は、取得部26が取得した一覧情報、及び購入対象情報を情報処理装置1に送信する。なお、送信部27は、例えば、要求受信部25が受信したボタン要求情報の送信元のアドレスを送信先のアドレスとして、一覧情報を送信してもよい。また、送信部27は、例えば、要求受信部25が受信したキーワード要求情報の送信元のアドレスを送信先のアドレスとして、そのキーワード要求情報に対応する購入対象情報を送信してもよい。
なお、送信部27は、一覧情報や購入対象情報を情報処理装置1に直接送信してもよく、あるいは、他のサーバ等を介して間接的に送信してもよい。また、送信部27は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、送信部27は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
また、購入対象管理情報記憶部21と、関連管理情報記憶部22と、記憶部24との任意の2以上の記憶部は、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。前者の場合には、例えば、複数の購入対象管理情報を記憶している領域が購入対象管理情報記憶部21となり、一覧情報や購入対象情報を記憶している領域が記憶部24となる。
次に、本実施の形態による情報処理装置1の動作について、図4のフローチャートを用いて説明する。
(ステップS101)ソフトウェア実行部12は、ソフトウェアを起動するかどうか判断する。そして、ソフトウェアを起動する場合には、ステップS102に進み、そうでない場合には、起動すると判断するまでステップS101の処理を繰り返す。なお、ソフトウェア実行部12は、例えば、ソフトウェアを起動する旨の指示を受付部14が受け付けた場合に、ソフトウェアを起動すると判断してもよい。
(ステップS102)ソフトウェア実行部12は、ソフトウェア記憶部11からソフトウェアを読み出して、起動の処理を実行する。なお、ソフトウェア記憶部11で複数のソフトウェアが記憶されている場合には、起動対象となるソフトウェア(例えば、ステップS101において、起動することが指示されたソフトウェア)を読み出して起動の処理を実行することになる。
(ステップS103)ソフトウェア実行部12は、ソフトウェアの起動後に、そのソフトウェアのメニュー画面を表示部13に表示させる。その結果、表示部13は、メニュー画面を表示することになる。
(ステップS104)受付部14は、実行中のソフトウェアに関する何らかの入力を受け付けたかどうか判断する。そして、受け付けた場合には、その受け付けた入力内容をソフトウェア実行部12に渡してステップS105に進み、そうでない場合には、ステップS111に進む。
(ステップS105)ソフトウェア実行部12は、受け付けられた入力が要求ボタンの選択であるかどうか判断する。この判断は、例えば、表示部13がメニュー画面を表示している場合に、要求ボタンの位置がクリックされたかどうかを判断することによってなされてもよい。すなわち、ソフトウェア実行部12は、メニュー画面の表示の場合に、要求ボタンの位置がクリックされた際には、要求ボタンの選択であると判断してもよい。そして、要求ボタンの選択である場合には、ステップS106に進み、そうでない場合には、ステップS107に進む。
(ステップS106)ソフトウェア実行部12は、ボタン要求情報を送信する旨の指示を要求送信部15に渡す。すると、要求送信部15は、その指示に応じて、ボタン要求情報をサーバ2に送信する。そして、ステップS104に戻る。
(ステップS107)ソフトウェア実行部12は、受け付けられた入力が一覧情報におけるキーワードの選択であるかどうか判断する。この判断は、例えば、表示部13が一覧情報を表示している場合に、いずれかのキーワードの位置がクリックされたかどうかを判断することによってなされてもよい。すなわち、ソフトウェア実行部12は、一覧情報の表示の場合に、いずれかのキーワードの位置がクリックされた際には、キーワードの選択であると判断する。そして、キーワードの選択である場合には、ステップS108に進み、そうでない場合には、ステップS109に進む。
(ステップS108)ソフトウェア実行部12は、選択されたキーワードに応じた情報の送信を要求するキーワード要求情報を送信する旨の指示を要求送信部15に渡す。すると、要求送信部15は、その指示に応じて、その選択されたキーワードに応じた情報の送信を要求するキーワード要求情報をサーバ2に送信する。そして、ステップS104に戻る。
(ステップS109)ソフトウェア実行部12は、受け付けられた入力がソフトウェアの処理を終了するものであるかどうか判断する。そして、ソフトウェアの処理を終了するものである場合には、ソフトウェアの処理を終了してステップS101に戻る。一方、ソフトウェアの処理を終了するものでない場合には、ステップS110に進む。
(ステップS110)ソフトウェア実行部12は、受け付けられた入力に応じた処理を実行する。そして、ステップS104に戻る。
(ステップS111)受信部16は、情報を受信したかどうか判断する。そして、情報を受信した場合には、その情報をソフトウェア実行部12に渡して、ステップS112に進み、そうでない場合には、ステップS104に戻る。
(ステップS112)ソフトウェア実行部12は、受信部16から受け取った情報を表示部13に表示させる。その表示の際に、ソフトウェア実行部12での解釈や画像の形成等が必要な場合には、その解釈等の処理を行った上で、表示対象となるものを表示部13渡す。表示部13は、ソフトウェア実行部12からの指示に応じて、表示対象を表示する。例えば、受信部16が受信した情報がHTML等のマークアップ言語で記述された情報である場合には、ソフトウェア実行部12は、その情報を解釈実行して、表示画面の情報を表示部13に渡し、表示部13はその情報を表示する。そして、ステップS104に戻る。
なお、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、本実施の形態によるサーバ2の動作について、図5のフローチャートを用いて説明する。
(ステップS201)要求受信部25は、ボタン要求情報を受信したかどうか判断する。そして、ボタン要求情報を受信した場合には、ステップS202に進み、そうでない場合には、ボタン要求情報を受信するまでステップS201の処理を繰り返す。
(ステップS202)生成部23は、ボタン要求情報に含まれるソフトウェア識別情報と、購入対象管理情報記憶部21で記憶されている複数の購入対象管理情報とを用いて、前述のようにして一覧情報を生成する。なお、前述の(2)のようにして一覧情報を生成する場合には、生成部23は、関連管理情報記憶部22で記憶されている関連管理情報をも用いて一覧情報を生成することになる。また、そのソフトウェア識別情報は、図示しない記録媒体において一時的に記憶されてもよい。
(ステップS203)生成部23は、その生成した一覧情報を記憶部24に蓄積する。
(ステップS204)取得部26は、記憶部24に蓄積された一覧情報を取得して送信部27に渡す。送信部27は、その一覧情報を情報処理装置1に送信する。そして、ステップS201に戻る。なお、その送信後に、送信された一覧情報を記憶部24から削除してもよい。
(ステップS205)要求受信部25は、キーワード要求情報を受信したかどうか判断する。そして、キーワード要求情報を受信した場合には、ステップS206に進み、そうでない場合には、キーワード要求情報を受信するまで、ステップS205の処理を繰り返す。なお、一覧情報が送信されてから所定の時間が経過してもキーワード要求情報を受信しない場合には、タイムアウトであるとして、ステップS201に戻ってもよい。また、この図5のフローチャートでは、キーワード要求情報にキーワードが含まれる場合について説明する。
(ステップS206)生成部23は、キーワード要求情報に含まれるキーワードを検索キーとして、購入対象管理情報記憶部21で記憶されている複数の購入対象管理情報を検索する。
(ステップS207)生成部23は、その検索でヒットしたキーワードに対応する購入対象識別情報を、ボタン要求情報に含まれるソフトウェア識別情報を用いて、前述の(1)、(2)で説明したようにして絞り込む。例えば、前述の(1)の場合には、検索でヒットしたキーワードに対応する購入対象識別情報を、ボタン要求情報に含まれるソフトウェア識別情報以外のものに絞り込む。また、例えば、前述の(2)の場合には、検索でヒットしたキーワードに対応する購入対象識別情報を、ボタン要求情報に含まれるソフトウェア識別情報に関連するものに絞り込む。なお、この絞り込みによって、購入対象識別情報が存在しなくなる場合がありうる。その場合には、ステップS201に戻ってもよい。また、この絞り込みによっても、検索でヒットしたキーワードに対応する購入対象識別情報の個数が減らない場合もありうる。
(ステップS208)生成部23は、絞り込み後の購入対象識別情報と、その購入対象識別情報に対応する説明情報とを用いて、購入対象情報を生成する。
(ステップS209)生成部23は、その生成した購入対象情報を記憶部24に蓄積する。
(ステップS210)取得部26は、記憶部24に蓄積された購入対象情報を取得して送信部27に渡す。送信部27は、その購入対象情報を情報処理装置1に送信する。そして、ステップS201に戻る。なお、その送信後に、送信された購入対象情報を記憶部24から削除してもよい。
なお、図5のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、図5のフローチャートでは、ボタン要求情報が受信されるごとに一覧情報を生成する場合について説明したが、そうでなくてもよい。例えば、一度生成した一覧情報は、あらかじめ決められた期間(例えば、1日や1週間など。購入対象管理情報の更新の頻度に応じてこの期間を変更すればよい。)は記憶部24において記憶しておき、その期間が経過すれば削除するようにしてもよい。その際には、記憶部24において、ボタン要求情報に含まれるソフトウェア識別情報と、一覧情報とを対応付けて記憶しておくものとする。そして、ボタン要求情報が受信され、そのボタン要求情報に含まれるソフトウェア識別情報に対応する一覧情報が記憶部24において記憶されている場合には、一覧情報の生成を行わないで、その記憶されている一覧情報を読み出して送信してもよい。同様に、購入対象情報についても、一度生成した後にあらかじめ決められた期間は記憶部24において記憶しておき、その期間が経過すれば削除するようにしてもよい。その際には、記憶部24において、ボタン要求情報に含まれるソフトウェア識別情報及びキーワード要求情報に含まれるキーワードと、購入対象情報とを対応付けて記憶しておくものとする。そして、記憶部24において記憶されている購入対象情報に対応するソフトウェア識別情報を含むボタン要求情報と、その購入対象情報に対応するキーワードを含むキーワード要求情報とが受信された際には、購入対象情報の生成を行わないで、その記憶されている購入対象情報を読み出して送信してもよい。
また、図5のフローチャートにおいて、検索の後に絞り込みを行う場合(ステップS206,S207)について説明したが、これは一例であって、前述の(1)、(2)の説明のように、まず、ボタン要求情報に含まれるソフトウェア識別情報を用いて購入対象管理情報を絞り込み、その絞り込んだ購入対象管理情報を用いて検索を行うようにしてもよい。
次に、本実施の形態による情報処理システムの動作について、具体例を用いて説明する。この具体例において、情報処理装置1は、パーソナルコンピュータ(PC)であるとする。また、その情報処理装置1で起動するソフトウェアは、会計管理のソフトウェアであるとする。また、そのソフトウェアのソフトウェア識別情報は、そのソフトウェアの名称「財務BBBソフトウェア」であるとする。
まず、ユーザが、その情報処理装置1を操作して、ソフトウェアのアイコンをダブルクリックすることにより、そのソフトウェアの起動を指示したとする。すると、その指示が受付部14で受け付けられ、ソフトウェア実行部12に渡される。ソフトウェア実行部12は、ソフトウェアを起動すると判断し(ステップS101)、そのソフトウェアをソフトウェア記憶部11から読み出して起動する(ステップS102)。そして、その起動後に、初期画面であるメニュー画面を表示部13に渡す。表示部13は、メニュー画面を受け取ると、それをディスプレイに表示する(ステップS103)。その結果、図6で示されるメニュー画面がディスプレイに表示される。図6のメニュー画面において、左側にメインメニューが表示されており、右側の一番下に要求ボタン51である「製品情報クリック」ボタンが表示されている。そして、ユーザが、マウスを操作することによってその要求ボタン51をクリックしたとする。すると、その入力が受付部14で受け付けられ、ソフトウェア実行部12に渡される(ステップS104)。ソフトウェア実行部12は、その入力が要求ボタンの選択であると判断する(ステップS105)。なお、ソフトウェア実行部12は、クリックの受け付けられた画面がメニュー画面であり、そのクリックの受け付けられた位置が、要求ボタン51の位置であるため、その受け付けられた入力が要求ボタンの選択であると判断することができる。ここで、図6のメニュー画面に対応して、要求ボタン51の位置と、その位置に対応する、そのボタンが要求ボタンである旨を示す情報とが図示しない記録媒体で記憶されている。したがって、ソフトウェア実行部12は、それを用いることによって、クリックされた位置が要求ボタン51の位置であることを知ることができる。
ソフトウェア実行部12が、要求ボタンが選択されたと判断すると、ソフトウェア記憶部11から、実行中のソフトウェアに対応するソフトウェア識別情報「財務BBBソフトウェア」を読み出し、そのソフトウェア識別情報と、ボタン要求情報を送信する旨の指示とを要求送信部15に渡す。すると、要求送信部15は、そのソフトウェア識別情報を含むボタン要求情報をサーバ2に送信する(ステップS106)。そのボタン要求情報は、その情報がボタン要求情報であることを示す情報と、ソフトウェア識別情報とがペイロードに含まれるパケットであるとする。
そのボタン要求情報のパケットは、通信回線500を介して送信され、サーバ2の要求受信部25で受信される(ステップS201)。そして、要求受信部25は、その受信したパケットのペイロードを見ることによって、その受信した情報がボタン要求情報であると判断して、ボタン要求情報を受信した旨と、そのボタン要求情報に含まれるソフトウェア識別情報「財務BBBソフトウェア」とを生成部23に渡す。また、要求受信部25は、そのパケットのヘッダから送信元のアドレスとポート番号とを読み出して、送信部27に渡す。送信部27は、そのアドレス等を一時的に記憶しておく。
生成部23は、ボタン要求情報を受信した旨と、ソフトウェア識別情報とを受け取ると、そのソフトウェア識別情報を図示しない記録媒体で一時的に記憶する。そして、一覧情報を生成する(ステップS202)。
なお、この具体例では、図7で示される購入対象管理情報が購入対象管理情報記憶部21で記憶されているものとする。図7の購入対象管理情報において、購入対象識別情報と、その購入対象識別情報に対応する、複数の分類項目ごとのキーワードと、その購入対象識別情報に対応する説明情報とが含まれる。例えば、図7の1番目のレコードにおいて、購入対象識別情報「人事AAAソフトウェア」で識別される購入対象は、分類項目「トレンド」のキーワードが「労務コンプライアンス」であり、分類項目「業務」のキーワードが「人事労務」であり、分類項目「業種」のキーワードが「卸売業」「製造業」「小売業」…であり、分類項目「導入事例」のキーワードが「ABC病院」である。なお、「導入事例」のキーワードは、その購入対象を導入している会社等の名称である。また、1番目のレコードにおいて、購入対象識別情報「人事AAAソフトウェア」で識別される購入対象の説明情報は、「人事AAAソフトウェアは、……」である。
また、この具体例では、図8で示される関連管理情報が関連管理情報記憶部22で記憶されているものとする。図8の関連管理情報において、グループごとに複数の購入対象識別情報、すなわち、購入対象であるソフトウェアの名称が含まれている。そして、一のグループに属する購入対象識別情報が、互いに関連する購入対象識別情報となる。例えば、グループ1に購入対象識別情報「人事AAAソフトウェア」「給与CCCソフトウェア」が含まれるため、両者は関連する購入対象識別情報である。
ここで、前述のように、一覧情報、購入対象情報の生成方法については、(1)、(2)の2通りがある。したがって、それぞれに場合分けして説明することにする。
まず、(1)の場合について説明する。この場合には、生成部23は、一時的に記憶しているソフトウェア識別情報「財務BBBソフトウェア」を読み出して、それを検索キーとして複数の購入対象管理情報を検索する。すると、図7の2番目のレコードの購入対象識別情報がヒットするため、生成部23は、その2番目のレコード以外の購入対象管理情報を特定し、その特定した購入対象管理情報を用いて一覧情報を生成する。すなわち、生成部23は、図7の分類項目の各名称「トレンド」「業務」「業種」「導入事例」を取得する。次に、生成部23は、特定した購入対象管理情報から「トレンド」に対応する全てのキーワードを取得し、そのキーワードに対してユニーク処理を行い、その結果であるキーワード「労務コンプライアンス」「管理会計」…を取得する。そして、分類項目「トレンド」に対応付けて、各キーワードのボタンを表示する情報を生成する。また、生成部23は、特定した購入対象管理情報から「業務」に対応する全てのキーワードを取得してユニーク処理を行い、その結果であるキーワード「人事労務」「財務会計」…を取得する。そして、分類項目「業務」に対応付けて、各キーワードのボタンを表示する情報を生成する。また、生成部23は、特定した購入対象管理情報から「業種」に対応する全てのキーワードを取得してユニーク処理を行い、その結果であるキーワード「卸売業」「製造業」「小売業」…を取得する。そして、分類項目「業種」に対応付けて、各キーワードのボタンを表示する情報を生成する。また、生成部23は、特定した購入対象管理情報から「導入事例」に対応する全てのキーワードを取得してユニーク処理を行い、その結果であるキーワード「ABC病院」「DEF電子部品」「PQR機器」…を取得する。そして、分類項目「導入事例」に対応付けて、各キーワードのボタンを表示する情報を生成する。その一覧情報は、図示しない記録媒体で一時的に記憶されてもよい。
その一覧情報において表示される各ボタンは、例えば、次のように記述されるものであってもよい。なお、「ファイルのアドレス」は、選択されたボタンを送信する先のサーバ2の所定のファイル(例えば、CGIのファイルなど)のアドレスである。
<form action="ファイルのアドレス" method="POST">
<input type="button" name="労務コンプライアンス" value="労務コンプライアンス">
<input type="button" name="管理会計" value="管理会計">
:
:
</form>
生成部23は、その生成した一覧情報を記憶部24に蓄積する(ステップS203)。また、取得部26は、一覧情報が蓄積されると、その一覧情報を取得して送信部27に渡す。送信部27は、その一覧情報をペイロードに含み、あらかじめ要求受信部25から受け取って一時的に記憶していたアドレス等を送信先とするパケットを構成して送信する(ステップS204)。
すると、その一覧情報のパケットは、通信回線500を介して送信され、情報処理装置1の受信部16で受信され(ステップS111)、ソフトウェア実行部12に渡される。ソフトウェア実行部12は、その一覧情報を解釈実行し、表示画面を構成して表示部13に渡す。すると、表示部13は、図9で示される一覧情報をディスプレイに表示する(ステップS112)。この図9の一覧情報において、ユーザが「労務コンプライアンス」に興味を持って「労務コンプライアンス」ボタンをクリックしたとする。すると、要求ボタンの選択の場合と同様にして、その入力が受付部14で受け付けられ(ステップS104)、ソフトウェア実行部12によって、キーワードの選択であると判断され(ステップS107)、キーワード「労務コンプライアンス」に対応するキーワード要求情報を送信する旨の指示が要求送信部15に渡される。そして、要求送信部15は、ペイロードにキーワード「労務コンプライアンス」と、その情報がキーワード要求情報である旨とを含むパケットを構成してサーバ2に送信する(ステップS108)。なお、そのキーワード要求情報には、前述したHTMLのタグに含まれる「ファイルのアドレス」が含まれていてもよい。
そのキーワード要求情報のパケットは、通信回線500を介して送信され、サーバ2の要求受信部25で受信される(ステップS205)。そして、要求受信部25は、その受信したパケットのペイロードを見ることによって、その受信した情報がキーワード要求情報であると判断して、キーワード要求情報を受信した旨と、そのキーワード「労務コンプライアンス」とを生成部23に渡す。また、要求受信部25は、そのパケットのヘッダから送信元のアドレスとポート番号とを読み出して、送信部27に渡す。送信部27は、そのアドレス等を一時的に記憶しておく。
生成部23は、キーワード要求情報を受信した旨と、キーワード「労務コンプライアンス」とを受け取ると、そのキーワードを検索キーとして図7で示される購入対象管理情報を検索する(ステップS206)。そして、その検索でヒットした各レコードの購入対象識別情報から、一時的に記憶しているソフトウェア識別情報「財務BBBソフトウェア」を除外する絞り込みを行う(ステップS207)。この場合には、検索でヒットした各レコードの購入対象識別情報に、ソフトウェア識別情報「財務BBBソフトウェア」が含まれていなかったとする。すると、生成部23は、その検索でヒットした各レコードから購入対象識別情報「人事AAAソフトウェア」「給与CCCソフトウェア」…と、説明情報「人事AAAソフトウェアは、……」「給与CCCソフトウェアは、……」…とを取得し、同じレコードの購入対象識別情報と説明情報とを並べて表示する購入対象情報を生成し、記憶部24に蓄積する(ステップS208,S209)。また、送信部27は、購入対象情報が蓄積されると、その購入対象情報を読み出し、その購入対象情報をペイロードに含み、あらかじめ要求受信部25から受け取って一時的に記憶していたアドレス等を送信先とするパケットを構成して送信する(ステップS210)。
すると、その購入対象情報のパケットは、通信回線500を介して送信され、情報処理装置1の受信部16で受信され(ステップS111)、ソフトウェア実行部12に渡される。ソフトウェア実行部12は、その購入対象情報を解釈実行し、表示画面を構成して表示部13に渡す。すると、表示部13は、図10で示される購入対象情報をディスプレイに表示する(ステップS112)。この購入対象情報を見たユーザは、実行中のソフトウェア以外のソフトウェアにどのようなものがあるのかを知ることができる。また、その購入対象情報において、体験版のダウンロードや、その購入対象の購入等の処理が行えるようになっていてもよい。なお、体験版のダウンロード等については、すでにインターネット等の仮想店舗等において公知であり、その説明を省略する。
なお、図10では、一の購入対象情報に、購入対象識別情報と説明情報との両方が含まれる場合について説明したが、そうでなくてもよい。例えば、図11で示されるように、一覧情報におけるキーワードの選択に応じて送信されるのは、購入対象識別情報の一覧であり、その購入対象識別情報の一覧において購入対象識別情報を選択すると、その購入対象識別情報にリンク付けられている購入対象の説明情報がサーバ2から送信され、表示されるようになっていてもよい。その場合には、例えば、購入対象識別情報の一覧において、各購入対象識別情報に対して、リンク先のアドレスが対応付けられており、購入対象識別情報が選択されると、その選択された購入対象識別情報に対応付けられているリンク先のアドレスを情報処理装置1が取得して、そのアドレスを用いることによってリンク先の説明情報を取得してもよい。この場合には、購入対象識別情報の一覧の情報と、各説明情報とによって、購入対象情報が構成されることになる。また、このようなリンク付けられた情報を生成する方法は、HTML等のマークアップ言語で記述される情報を生成する方法として公知であり、その詳細な説明を省略する。
次に、(2)の場合について説明する。この場合には、生成部23は、一時的に記憶しているソフトウェア識別情報「財務BBBソフトウェア」を読み出して、それを検索キーとして図8の関連管理情報を検索する。すると、グループ2の「財務BBBソフトウェア」がヒットするため、生成部23は、そのグループ2から、検索キーである「財務BBBソフトウェア」以外の購入対象識別情報、すなわち、「申告DDDソフトウェア」…を取得する。生成部23は、ボタン要求情報に含まれるソフトウェア識別情報に関連する購入対象識別情報「申告DDDソフトウェア」…を図示しない記録媒体において一時的に記憶する。そして、生成部23は、その特定した購入対象管理情報「申告DDDソフトウェア」…のそれぞれを検索キーとして複数の購入対象管理情報を検索し、それぞれヒットしたレコードを特定する。生成部23は、その特定した購入対象管理情報を用いて一覧情報を生成する。すなわち、生成部23は、図7の分類項目の各名称「トレンド」「業務」「業種」「導入事例」を取得する。次に、生成部23は、特定した購入対象管理情報から「トレンド」に対応する全てのキーワードを取得し、そのキーワードに対してユニーク処理を行い、その結果であるキーワード「管理会計」…を取得する。そして、分類項目「トレンド」に対応付けて、各キーワードのボタンを表示する情報を生成する。また、生成部23は、特定した購入対象管理情報から「業務」に対応する全てのキーワードを取得してユニーク処理を行い、その結果であるキーワード「財務会計」…を取得する。そして、分類項目「業務」に対応付けて、各キーワードのボタンを表示する情報を生成する。また、生成部23は、特定した購入対象管理情報から「業種」に対応する全てのキーワードを取得してユニーク処理を行い、その結果であるキーワード「卸売業」「製造業」「小売業」…を取得する。そして、分類項目「業種」に対応付けて、各キーワードのボタンを表示する情報を生成する。また、生成部23は、特定した購入対象管理情報から「導入事例」に対応する全てのキーワードを取得してユニーク処理を行い、その結果であるキーワード「PQR機器」…を取得する。そして、分類項目「導入事例」に対応付けて、各キーワードのボタンを表示する情報を生成する。その一覧情報は、図示しない記録媒体で一時的に記憶されてもよい。
生成部23は、その生成した一覧情報を記憶部24に蓄積する(ステップS203)。また、取得部26は、一覧情報が蓄積されると、その一覧情報を取得して送信部27に渡す。送信部27は、その一覧情報をペイロードに含み、あらかじめ要求受信部25から受け取って一時的に記憶していたアドレス等を送信先とするパケットを構成して送信する(ステップS204)。
すると、その一覧情報のパケットは、通信回線500を介して送信され、情報処理装置1の受信部16で受信され(ステップS111)、ソフトウェア実行部12に渡される。ソフトウェア実行部12は、その一覧情報を解釈実行し、表示画面を構成して表示部13に渡す。すると、表示部13は、図12で示される一覧情報をディスプレイに表示する(ステップS112)。この図12の一覧情報において、ユーザが「財務会計」に興味を持って「財務会計」ボタンをクリックしたとする。すると、要求ボタンの選択の場合と同様にして、その入力が受付部14で受け付けられ(ステップS104)、ソフトウェア実行部12によって、キーワードの選択であると判断され(ステップS107)、キーワード「財務会計」に対応するキーワード要求情報を送信する旨の指示が要求送信部15に渡される。そして、要求送信部15は、ペイロードにキーワード「財務会計」と、その情報がキーワード要求情報である旨とを含むパケットを構成してサーバ2に送信する(ステップS108)。
そのキーワード要求情報のパケットは、通信回線500を介して送信され、サーバ2の要求受信部25で受信される(ステップS205)。そして、要求受信部25は、その受信したパケットのペイロードを見ることによって、その受信した情報がキーワード要求情報であると判断して、キーワード要求情報を受信した旨と、そのキーワード「財務会計」とを生成部23に渡す。また、要求受信部25は、そのパケットのヘッダから送信元のアドレスとポート番号とを読み出して、送信部27に渡す。送信部27は、そのアドレス等を一時的に記憶しておく。
生成部23は、キーワード要求情報を受信した旨と、キーワード「財務会計」とを受け取ると、そのキーワードを検索キーとして図7で示される購入対象管理情報を検索する(ステップS206)。そして、その検索でヒットした各レコードの購入対象識別情報から、一時的に記憶している、ボタン要求情報に含まれるソフトウェア識別情報に関連する購入対象識別情報「申告DDDソフトウェア」…のみを選択する絞り込みを行う(ステップS207)。この場合には、検索でヒットした2番目、4番目…の各レコードのうち、4番目のレコードの購入対象識別情報が一時的に記憶していた「申告DDDソフトウェア」と一致するため、生成部23は、その4番目のレコードを購入対象情報の生成で使用する購入対象管理情報にする。このようにして、絞り込みが行われる。そして、生成部23は、その絞り込んだ各レコードから購入対象識別情報「申告DDDソフトウェア」…と、説明情報「申告DDDソフトウェアは、……」…とを取得し、同じレコードの購入対象識別情報と説明情報とを並べて表示する購入対象情報を生成し、記憶部24に蓄積する(ステップS208,S209)。また、送信部27は、購入対象情報が蓄積されると、その購入対象情報を読み出し、その購入対象情報をペイロードに含み、あらかじめ要求受信部25から受け取って一時的に記憶していたアドレス等を送信先とするパケットを構成して送信する(ステップS210)。
すると、その購入対象情報のパケットは、通信回線500を介して送信され、情報処理装置1の受信部16で受信され(ステップS111)、ソフトウェア実行部12に渡される。ソフトウェア実行部12は、その購入対象情報を解釈実行し、表示画面を構成して表示部13に渡す。すると、表示部13は、図13で示される購入対象情報をディスプレイに表示する(ステップS112)。この購入対象情報を見たユーザは、実行中のソフトウェア以外のソフトウェアであって、実行中のソフトウェアに関連するソフトウェアにどのようなものがあるのかを知ることができる。また、その購入対象情報において、体験版のダウンロードや、その購入対象の購入等の処理が行えるようになっていてもよい。なお、体験版のダウンロード等については、すでにインターネット等の仮想店舗等において公知であり、その説明を省略する。
また、購入対象情報の表示の後に、ユーザが情報処理装置1を操作して、メニュー画面を表示させ、そのメニュー画面において各種の処理を行うと、それに応じた入力が受け付けられ(ステップS104)、その入力に応じた処理が実行されることになる(ステップS110)。また、そのメニュー画面において「終了」ボタンがクリックされると、それに応じて、ソフトウェア実行部12は、そのソフトウェアの実行を終了する(ステップS104,S109)。
なお、この具体例では、図8の関連管理情報を用いる場合について説明したが、関連管理情報は、図14で示されるものであってもよい。図14で示される関連管理情報は、ソフトウェア識別情報と、購入対象識別情報とを対応付けるものである。例えば、ボタン要求情報に含まれるソフトウェア識別情報が「財務BBBソフトウェア」である場合には、生成部23は、その「財務BBBソフトウェア」を検索キーとして、図14で示される関連管理情報のソフトウェア識別情報のカラム(列)を検索する。そして、ヒットしたレコードから、購入対象識別情報「申告DDDソフトウェア」「償却FFFソフトウェア」を取得することによって、ソフトウェア識別情報「財務BBBソフトウェア」に関連する購入対象識別情報「申告DDDソフトウェア」「償却FFFソフトウェア」を特定することができる。
また、この具体例では、ボタン要求情報に含まれるソフトウェア識別情報を用いて一覧情報の生成と共に、購入対象情報の生成を行う場合について説明したが、そうでなくてもよい。一覧情報の生成は、ボタン要求情報に含まれるソフトウェア識別情報を用いて行い、購入対象情報の生成は、キーワード要求情報に含まれるソフトウェア識別情報を用いて行ってもよい。キーワード要求情報に含まれるソフトウェア識別情報を用いて購入対象情報の生成を行う場合であっても、そのソフトウェア識別情報は、ボタン要求情報に含まれるソフトウェア識別情報と同じものであるため、結果として、ボタン要求情報に含まれるソフトウェア識別情報を用いて購入対象情報を生成したと言うことができる。また、その場合には、要求送信部15は、ソフトウェア識別情報を含むキーワード要求情報を送信するものとする。
以上のように、本実施の形態による情報処理システムによれば、要求ボタンを選択することによって、購入対象に関する情報を入手することができるため、購入対象に関する情報を容易に入手することができるようになる。また、ソフトウェアを製造・販売する会社にとっても、自社に関係する購入対象の情報を効率的に顧客に提供することができ、販売の機会を容易に増やすことができるようになる。さらに、ボタン要求情報に含まれるソフトウェア識別情報に応じた購入対象情報がサーバ2から情報処理装置1に送信されることによって、ユーザは、絞り込まれた購入対象情報を見ることができるようになる。したがって、所望の情報が不要な情報の中に埋もれてしまう事態を回避することができうる。
また、要求ボタンの選択に応じて、購入対象情報が直接送付されるのではなく、一覧情報がまず送信され、その一覧情報において選択されたキーワードに対応する購入対象情報が送信されることによって、ユーザの嗜好によって絞り込まれた購入対象情報を効率的に送信することができるようになる。また、その一覧情報において、複数の分類項目ごとにキーワードが分類されているため、複数の観点(切り口)から所望の購入対象を絞り込むことができ、ユーザの利便性が高められていることになる。
また、ボタン要求情報が受信された際に一覧情報を生成し、キーワード要求情報が受信された際に購入対象情報を生成することによって、購入対象管理情報が更新される場合であっても、常に最新の購入対象管理情報に応じた一覧情報や購入対象情報を情報処理装置1に送信することができるようになる。
なお、本実施の形態において、4個の分類項目を例示して説明したが、分類項目はこれらに限定されるものではなく、その4個の分類項目の任意の1以上の分類項目を使用しなくてもよく、他の分類項目を用いてもよい。
また、本実施の形態では、サーバ2において、ボタン要求情報が受信された際に一覧情報を生成し、キーワード要求情報が受信された際に購入対象情報を生成する場合について主に説明したが、そうでなくてもよい。あらかじめ生成部23が生成して記憶部24に蓄積した一覧情報や購入対象情報を送信部27が読み出して送信するようにしてもよい。なお、この場合であっても、購入対象管理情報が更新されたタイミングで、一覧情報や、購入対象情報が生成され、記憶部24に蓄積されることが好適である。また、この場合には、前述のように、ソフトウェア識別情報に対応付けられて一覧情報が記憶され、ソフトウェア識別情報とキーワードとに対応付けられて購入対象情報が記憶されることになる。したがって、取得部26は、一覧情報を取得する場合には、ボタン要求情報に含まれるソフトウェア識別情報に対応する一覧情報を取得してもよい。また、取得部26は、購入対象情報を取得する場合には、ボタン要求情報に含まれるソフトウェア識別情報と、キーワード要求情報に含まれるキーワードとに対応する購入対象情報を取得してもよい。
また、本実施の形態では、サーバ2から一覧情報も送信され、一覧情報において選択されたキーワードに対応する購入対象情報がサーバ2から情報処理装置1に送信される場合について説明したが、そうでなくてもよい。情報処理装置1からのボタン要求情報の送信に応じて、サーバ2は、一覧情報の送信を行わないでダイレクトに購入対象情報を送信するようにしてもよい。その場合には、サーバ2は、購入対象管理情報記憶部21、及び生成部23を備えていなくてもよい。また、記憶部24では、あらかじめ購入対象識別情報ごとの購入対象情報が記憶されているものとする。ここで、「購入対象識別情報ごとの購入対象情報が記憶されている」とは、購入対象識別情報を用いて購入対象情報を特定可能なように購入対象情報が記憶されていることである。したがって、購入対象識別情報と購入対象情報とが対応付けられて記憶されていてもよく、購入対象情報が記憶されており、その購入対象情報に含まれる購入対象識別情報によって、購入対象識別情報に対応する購入対象情報を特定可能になっていてもよい。また、この場合には、購入対象情報は、購入対象識別情報ごとに別ファイル、あるいは別レコードとなっていることが好適である。そして、取得部26は、要求受信部25がボタン要求情報を受信した場合には、記憶部24からボタン要求情報に含まれたソフトウェア識別情報に応じた購入対象情報を取得する。具体的には、取得部26は、該ボタン要求情報に含まれたソフトウェア識別情報以外の購入対象識別情報に対応する購入対象情報を記憶部24から取得してもよい。この場合は、前述の(1)の場合に対応することになる。また、この場合には、サーバ2が関連管理情報記憶部22を備えていなくてもよいことは前述の(1)の説明と同様である。また、取得部26は、関連管理情報記憶部22に図示しない経路でアクセスすることによって、ボタン要求情報に含まれたソフトウェア識別情報に、関連管理情報によって関連付けられている購入対象識別情報に対応する購入対象情報を記憶部24から取得してもよい。より具体的には、取得部26は、ボタン要求情報に含まれたソフトウェア識別情報に関連する購入対象識別情報を、関連管理情報を用いて特定し、その特定した購入対象識別情報に対応する購入対象情報を記憶部24から読み出すことになる。この場合は、前述の(2)の場合に対応することになる。これらの場合には、上記説明のように、取得部26によって、積極的な購入対象情報の選択が行われることになる。また、これらの場合に、記憶部24に購入対象情報が記憶される過程は問わない。例えば、記録媒体を介して購入対象情報が記憶部24で記憶されるようになってもよく、通信回線等を介して送信された購入対象情報が記憶部24で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された購入対象情報が記憶部24で記憶されるようになってもよい。また、その購入対象情報は、本実施の形態で説明した生成部23と同様のものによって生成されたものであってもよく、あるいは、手動で生成されたものであってもよい。
また、本実施の形態では、情報処理装置1においてソフトウェア実行部12が表示や受け付け、送受信の全ての処理を制御する場合について説明したが、そうでなくてもよい。すなわち、各構成要素は、ソフトウェア実行部12の制御を受けないで動作する独立した構成要素であると考えてもよい。例えば、表示部13は、受信部16が受信した情報を、ソフトウェア実行部12を介さないで表示するものであってもよい。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していない場合であっても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、情報処理装置1やサーバ2に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、あるいは、別々のデバイスを有してもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記実施の形態におけるサーバ2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、情報処理装置とサーバとを備えた情報処理システムを構成するサーバとして機能させるためのプログラムであって、情報処理装置から送信された、購入対象に関する情報の送信を要求する情報であって、情報処理装置で実行中のソフトウェアを識別するソフトウェア識別情報を含む情報であるボタン要求情報を受信する要求受信部、要求受信部がボタン要求情報を受信した場合には、購入対象識別情報ごとの、購入対象に関する説明の情報である購入対象情報が記憶される記憶部からボタン要求情報に含まれたソフトウェア識別情報に応じた購入対象情報を取得する取得部、取得部が取得した購入対象情報を情報処理装置に送信する送信部、として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を送信する送信部や、情報を受信する受信部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図15は、上記プログラムを実行して、上記実施の形態による情報処理装置1,サーバ2を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図15において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図16は、コンピュータシステム900の内部構成を示す図である。図16において、コンピュータ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に、上記実施の形態による情報処理装置1,サーバ2の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による情報処理装置1,サーバ2の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。