(57)【要約】【目的】インターネット上の情報を閲覧中に複数のサービス業者からの情報を表示する。【構成】クライアント301は、サーバ303を介してインターネット201上の閲覧したいページの内容を取得して表示する。顧客DB306は各クライアントのユーザのデータを保持する。設定DB307は、広告やニュースなどについて、表示させるジャンルや期間についてユーザの設定したデータを記憶する。情報・広告DB305は、各サービス業者からの情報の分野などが登録されている。サーバ303は、情報・広告DB305と顧客DB306と設定DB307とを参照して、各サービス業者からの情報の中から、そのユーザが必要とする分野の広告やニュースなどの情報を選択して送信する。これにより、クライアント301では、メインウィンドウで指定ページの閲覧中に、広告やニュースなどの情報がサブウィンドウに表示される。【選択図】        図３
2006171798.tif 000002
【特許請求の範囲】
【請求項１】
サーバ端末と１つ以上のクライアント端末とを備えた情報処理システムであって、
前記サーバ端末が、
インターネットを介して、前記クライアント端末から要求されたページ情報及び複数のサービス業者からの情報を受信するインターネット情報受信手段と、
前記クライアント端末に対して、当該クライアント端末から要求されたページ情報を送信すると共に、複数のサービス業者からの情報を送信可能な送信手段とを有し、
前記クライアント端末の各々が、
前記サーバ端末から送信された情報を受信するサーバ情報受信手段と、
前記サーバ情報受信手段より受信した前記ページ情報を第１のウィンドウに表示すると同時に、前記サーバ情報受信手段より受信した前記複数のサービス業者からの情報を第２のウィンドウに表示する表示手段とを有することを特徴とする情報処理システム。
【請求項２】
前記インターネット情報受信手段より受信した複数のサービス業者からの情報より所定の情報を選択して送信するように前記送信手段を制御する送信制御手段を有することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記送信制御手段は、前記クライアント端末の各々の利用者からの設定に基づいて前記所定の情報を選択して送信するように前記送信手段を制御することを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記サーバ端末が、前記各々の利用者からの設定を記憶する設定記憶手段を有し、前記送信制御手段は、当該設定記憶手段に記憶された設定に基づいて前記送信手段を制御することを特徴とする請求項３に記載の情報処理システム。
【請求項５】
前記クライアント端末の各々が、当該クライアント端末の利用者からの設定を記憶する設定記憶手段を有し、前記送信制御手段は、当該設定記憶手段に記憶された設定に基づいて前記送信手段を制御することを特徴とする請求項３に記載の情報処理システム。
【請求項６】
前記クライアント端末の各々が、
当該クライアント端末の利用者からの設定を記憶する設定記憶手段と、
該設定記憶手段に記憶された設定に基づいて所定の情報を選択して受信するように前記受信手段を制御する受信制御手段を有することを特徴とする請求項１に記載の情報処理システム。
【請求項７】
前記設定記憶手段はユーザの必要とする情報の分野の設定を記憶することを特徴とする請求項４乃至６に記載の情報処理システム。
【請求項８】
前記設定記憶手段はユーザの設定する情報の表示期間または表示時期の設定を記憶することを特徴とする請求項４乃至６に記載の情報処理システム。
【請求項９】
前記送信制御手段は、前記送信手段による複数の情報の送信順序及びタイミングを制御することを特徴とする請求項２に記載の情報処理システム。
【請求項１０】
前記送信制御手段は、前記送信手段が、所定の複数の情報を同時に送信するように制御することを特徴とする請求項２に記載の情報処理システム。
【請求項１１】
前記クライアント端末の各々が、前記サーバ情報受信手段より受信したサービス業者の情報を保存する保存手段と、
前記保存手段に保存されたサービス業者の情報をオフラインで表示するオフライン表示手段とを有することを特徴とする請求項１に記載の情報処理システム。
【請求項１２】
前記保存手段が、前記サービス業者の各情報に所定のインデックスを付与して保存することを特徴とする請求項１１に記載の情報処理システム。
【請求項１３】
前記保存手段が、前記所定のインデックスとして前記クライアント端末から要求されたページ情報とは識別可能なインデックスを付与することを特徴とする請求項１２に記載の情報処理システム。
【請求項１４】
前記サービス業者の各情報に付与された前記所定のインデックスをソートして表示するソート表示手段を有することを特徴とする請求項１２に記載の情報処理システム。
【請求項１５】
前記保存手段が、前記サービス業者の各情報を日時と対応付けて保存しており、
前記ソート表示手段が、前記サービス業者の各情報を、前記クライアント端末から要求されたページ情報とは独立に、日時に基づいてソートして表示可能であることを特徴とする請求項１４に記載の情報処理システム。
【請求項１６】
前記クライアント端末の各々が、前記サーバ情報受信手段より受信したサービス業者の情報を現時点では表示せず、後で表示するように制御する表示時期制御手段を有することを特徴とする請求項１に記載の情報処理システム。
【請求項１７】
前記クライアント端末の各々が、前記サーバ情報受信手段より受信したサービス業者の情報を、表示切り換え指示に応じて前記第1のウィンドウに表示するように制御する表示領域制御手段を有することを特徴とする請求項１に記載の情報処理システム。
【請求項１８】
前記クライアント端末の各々が、前記サーバ情報受信手段より受信したサービス業者の情報を、ポップアップ表示指示に応じてポップアップ表示するように制御するポップアップ表示制御手段を有することを特徴とする請求項１に記載の情報処理システム。
【請求項１９】
前記サーバ端末が、
前記クライアント端末から要求されたページ情報の内容に基づいて、当該内容に関連する情報を生成する情報生成手段を備え、
前記情報生成手段により生成された情報を前記ページ情報とともに送信するように前記送信手段を制御する関連情報送信制御手段とを有することを特徴とする請求項１に記載の情報処理システム。
【請求項２０】
前記情報生成手段は、前記関連する情報を前記ページ情報中の文章または特定の単語を翻訳して生成することを特徴とする請求項１９に記載の情報処理システム。
【請求項２１】
前記サービス業者からの情報は、キャンペーン広告、バナー広告、リアルタイム情報、レッスン情報、用語集の少なくとも1つを含むことを特徴とする請求項１に記載の情報処理システム。
【請求項２２】
１つ以上のクライアント端末と接続可能な情報処理装置であって、
インターネットを介して、前記クライアント端末から要求されたページ情報及び複数のサービス業者からの情報を受信するインターネット情報受信手段と、
前記クライアント端末に対して、当該クライアント端末から要求されたページ情報を送信すると共に、複数のサービス業者からの情報を送信可能な送信手段とを有することを特徴とする情報処理装置。
【請求項２３】
１つ以上のクライアント端末と接続可能な情報処理装置における情報処理方法であって、
インターネットを介して、前記クライアント端末から要求されたページ情報及び複数のサービス業者からの情報を受信するインターネット情報受信工程と、
前記クライアント端末に対して、当該クライアント端末から要求されたページ情報を送信すると共に、複数のサービス業者からの情報を送信可能な送信工程とを有することを特徴とする情報処理方法。
【請求項２４】
１つ以上のクライアント端末と接続可能な情報処理装置において実行されるコンピュータ読み取り可能な情報処理プログラムであって、
インターネットを介して、前記クライアント端末から要求されたページ情報及び複数のサービス業者からの情報を受信するインターネット情報受信工程と、
前記クライアント端末に対して、当該クライアント端末から要求されたページ情報を送信すると共に、複数のサービス業者からの情報を送信可能な送信工程とを有することを特徴とする情報処理プログラム。
【発明の詳細な説明】
【発明の属する技術分野】
本発明は、インターネットの情報を閲覧するシステム及びその方法に関するものである。
【従来の技術】
従来、コンピュータ又はインターネット機器を利用してインターネットからの情報をブラウザというソフトを使って閲覧する事が行なわれている。そこで、インターネット上の特定のページに広告をリンクさせておくことで、そのページを閲覧するユーザに広告を見せることができる。
【発明が解決しようとしている課題】
しかしながら、上記従来技術では、様々なサービス業者からの広告やニュースなどの多様な情報を、ユーザが閲覧するページによらずに提供することはできなかった。
またそのようなサービス業者からの情報は、ユーザのニーズとは必ずしも一致していなかった。
【課題を解決するための手段】
上記課題を解決するために、本発明によれば、サーバ端末と１つ以上のクライアント端末とを備えた情報処理システムにおいて、前記サーバ端末が、インターネットを介して、前記クライアント端末から要求されたページ情報及び複数のサービス業者からの情報を受信するインターネット情報受信手段と、前記クライアント端末に対して、当該クライアント端末から要求されたページ情報を送信すると共に、複数のサービス業者からの情報を送信可能な送信手段とを有し、前記クライアント端末の各々が、前記サーバ端末から送信された情報を受信するサーバ情報受信手段と、前記サーバ情報受信手段より受信した前記ページ情報を第１のウィンドウに表示すると同時に、前記サーバ情報受信手段より受信した前記複数のサービス業者からの情報を第２のウィンドウに表示する表示手段とを備える。また、他の態様によれば、１つ以上のクライアント端末と接続可能な情報処理装置に、インターネットを介して、前記クライアント端末から要求されたページ情報及び複数のサービス業者からの情報を受信するインターネット情報受信手段と、前記クライアント端末に対して、当該クライアント端末から要求されたページ情報を送信すると共に、複数のサービス業者からの情報を送信可能な送信手段とを備える。
また、他の態様によれば、１つ以上のクライアント端末と接続可能な情報処理装置における情報処理方法に、インターネットを介して、前記クライアント端末から要求されたページ情報及び複数のサービス業者からの情報を受信するインターネット情報受信工程と、前記クライアント端末に対して、当該クライアント端末から要求されたページ情報を送信すると共に、複数のサービス業者からの情報を送信可能な送信工程とを備える。
また、他の態様によれば、１つ以上のクライアント端末と接続可能な情報処理装置において実行されるコンピュータ読み取り可能な情報処理プログラムに、インターネットを介して、前記クライアント端末から要求されたページ情報及び複数のサービス業者からの情報を受信するインターネット情報受信工程と、前記クライアント端末に対して、当該クライアント端末から要求されたページ情報を送信すると共に、複数のサービス業者からの情報を送信可能な送信工程とを備える。
【発明の実施の形態】
以下、図面を用いて本発明の１実施形態を詳細に説明する。
図１は、本実施形態に係るサーバ及びクライアントのハードウェア構成を示すブロック図である。
同図において、ＣＰＵ101は、フローチャートにつき後述する処理手順を含む各種プログラムを実行し、システムバス106により接続された装置各部を制御する。ＲＡＭ102は、データやプログラムを一時記憶する。ＲＯＭ103は、固定的なデータやプログラムを記憶する。キーボード104は、文字を入力したり、機能を選択するためのキーを備えている。更に画面上の位置を指示するためのポインティングデバイスとしてマウスが備えられている。
ディスプレイ105は、検索などの処理結果を表示したり、ユーザインターフェースを提供する。ハードディスクドライブ（ＨＤＤ）106は、プログラムやデータを永続的に記憶できる。システムバス107は、上述した装置各部を接続し、装置間でデータやアドレス、制御信号を送受信する媒体として利用される。
フローチャートにつき後述する処理手順を含む各種プログラムは、ＲＯＭ103に記憶されていてもよいし、ＨＤＤ106からＲＡＭ102へ、処理に先立ってあるいは処理の実行中に必要に応じてロードされるようにしてもよい。
図２は、本実施形態の情報処理システムの機能構成を示すブロック図である。ブラウザー202、203はインターネット201上の情報閲覧に利用される。KPTシステム204は、ブラウザー202、203、ファイリングシステム207、文書管理システム208、情報管理システム209を制御し、利用して後述する本実施形態の主たる処理を実行する。知識ベース管理部205は、データベース206上の知識ベースの知識を管理する。ファイリングシステム207は、ファイルを管理する。文書管理システム208は、文書を管理する。情報管理システム209は、文書以外の情報を管理する。
図３は、サーバ及びクライアントの機能構成を示すブロック図である。
クライアント301は、それぞれKPT C1システム302により、プロバイダであるサーバ303に接続し、サーバ303を介してインターネット201上の閲覧したいページの内容を取得して表示する。顧客DB306は各クライアントのユーザのデータを保持する。設定DB307は、広告やニュースなどの情報について、どのようなジャンルのものをどれだけの期間表示するかといったユーザの設定したデータを記憶する。情報・広告DB305は、各サービス業者からの情報がどのような分野のものかなどが登録されている。サーバ303は、KPT S1システム304により、顧客DB306、設定DB307、情報・広告DB305を参照して、各サービス業者からの情報の中から、各クライアント301のユーザの設定に従って、そのユーザが必要とする分野の広告やニュースなどの情報を選択して送信する。これにより、メインウィンドウでページの内容を閲覧中に、広告やニュースなどの情報がサブウィンドウに表示される。
図４は、全体の処理手順を示すフローチャートである。以下では、インターネットに接続して必要な情報を閲覧し、保存する例について説明する。
ステップS401では、インターネット上の情報を閲覧する準備となる初期の処理を実行する。ステップS402では、閲覧や保存などのメインの処理を実行する。ステップS403では、終了時の処理を実行する。
図５は、ステップS401の初期の処理の詳細手順を示すフローチャートである。ステップS501では、ブラウザーが起動されているかを判別し、起動されていなければ、ステップS502で起動する。ステップS503では新たなセッションを作成するCreateSession()を実行し、ステップS504で知識ベースの知識を更新する。ステップS505では、情報閲覧のためのユーザインタフェース（UI）を表示する。
図６は、ステップS503のCreateSession()の詳細手順を示すフローチャートである。
ステップS601では、現在接続しているユーザの情報や、このユーザに関する設定を顧客DB306、設定DB307から取得する。ステップS602では、ユーザの情報・設定に基づいて、サービス業者からの情報を表示するか否かを判定し、表示する場合は、ステップS603に進み、表示しない場合は、ステップS606へ進む。この判定のためには、設定DB307に設定された各ユーザが必要とする情報の種類、表示する時期を参照する。一方、顧客DB306のユーザの情報を参照して、サービス業者から指定された送信条件に合致するかを判定してもよい。ここで、サービス業者からの情報を表示するように選択あるいは設定することで、ユーザが、接続料金や提供されるサービスに対する料金の割引や免除が受けられたり、機能制限が解除されたりするようにしてもよい。
ステップS603では、ユーザの設定に該当するサービス業者のサイトへの接続が成功したかを判定し、成功すればステップS605に進み、失敗したらステップS604でエラーを表示して、ステップS606へ進む。なお、サーバからサービス業者へは、この時点で接続するのではなく、常に、多数のサービス業者からサーバへ情報が発信されていて、サーバは、その中から各クライアントのユーザに対応する情報を選択して送信するものとする。ステップS605では、ユーザの情報や設定に応じてカスタマイズされた情報を提供する。また、この提供する情報をリアルタイムに変化させる。そして、ステップS606でセッションを作成する。
図７は、ステップS402のメインの処理の詳細手順を示すフローチャートである。
ステップS701では、ユーザの要求がブラウザーの起動であるかを判断し、起動であれば、ステップS702でCreateSession()を実行し、ステップS705に進む。起動でなければ、ステップS703で、ユーザの要求がブラウザーの終了であるかを判断し、終了であれば、ステップS704で、セッションを終了し、ステップS705に進む。終了でなければ、ステップS706に進む。ステップS705では、知識ベースを更新し、ステップS701に戻る。
ステップS706では、システム終了であるかを判別して、終了であれば、ステップS707で現在のタスクを終了し、リターンする。終了でなければ、ステップS708で、新規のURLへの移動であるかを判断する。新規のURLへの移動であれば、ステップS709で、現在のタスクを終了するかを確認し、現在のタスクを終了しないのであれば、ステップS710で移動を中止して、ステップS701に戻る。現在のタスクを終了する場合、新規タスクを作成し、KPTAction、KPTDocの知識構造を作成し、ブラウザー201からURL、キーワードを取得する（ステップS711〜713）。
この取得したURLのデータが既にロード済みで装置内に存在している場合は、再ロードせずにロード済みのデータを取得する（ステップS714〜715）。URLのデータが既にロード済みで装置内に存在している場合は、再ロードせずにロード済みのデータを取得する（ステップS714〜715）。URLがRetrievedURLであれば、検索UIメッセージを取得する（ステップS716〜717）。そして、ステップS718で、キーワード、取得したデータ、検索UIメッセージなどを表示する。
例えば、ブラウザー201で表示されたページが図４４に示すHTML文書であった場合、ページの表示内容には含まれていないが、KEYWORDとして設定されている「横浜、KPT」がキーワードとして抽出され、図４３のように、キーワードの欄に表示される。
一方、ステップS708で、新規のURLへの移動でなければ、ステップS719に進み、システムのタスクがあればActLにSystemAction()を設定してステップS722に進む。システムのタスクがない場合、ステップS720でユーザの操作があれば、ActLにUserAction()を設定してステップS721に進み、KPTシステム205に対する操作であるので、ステップS721で、操作に応じてブラウザー201からHTML文書を取得し、KPTAction、KPTDocの内容をファイルするなどの処理を行なう。ステップS722では、ExecuteAction(ActL)を実行し、ステップS705に戻る。
図８は、ステップS720で設定され、ステップS722で実行されるユーザの操作に応じた処理の詳細手順を示すフローチャートである。
まず、ステップS801でActの値にユーザの操作を設定し、ステップS802で、ActがNULLであれば、falseとしてリターンする。ステップS803で、Actが保存であれば、ステップS804で、CheckExisting()を実行して、保存の対象となるデータが存在するかをチェックし、存在すればステップS817でCreateKS()を実行してtrueとしてリターンする。存在しなければfalseとしてリターンする。
また、Actが再生であれば、後述するShowSession()を実行してリターンする（ステップS806、807）。Actが記録一覧であれば、後述するShowLinks()を実行してリターンする（ステップS807、808）。Actがページの検索であれば、図５２に示すような検索のUIを表示してリターンする（ステップS809、810）。Actが整理であれば、図５４に示すような整理のUIを表示してリターンする（ステップS811、812）。Actがサービス業者のUIの操作であれば、ProcessServiceUI(Act)を実行してリターンする（ステップS813、814）。Actがユーザ設定の表示であれば、図５５〜５７に示すようなユーザ設定のUIを表示してリターンする（ステップS815、816）。
図９は、ステップS704の保存対象が存在するかのチェックの詳細手順を示すフローチャートである。
ステップS901で、ユーザまたは設定からキーワードなどの値を取得する。ステップS902で、同一のURLが既にデータベースに存在しているかを判断し、存在してなければ、ステップS903でModifyStatusにsaveAsNewActionを設定して、trueとしてリターンする。URLが既に存在している場合、常に上書きするか新規に保存するかが予めユーザにより設定されていれば、それに従う。図５７に、この保存のためのユーザ設定画面を示す。設定されていなければ、上書きするか新規に保存するかを、ダイアログを表示してユーザに確認する。その結果、上書きする場合はModifyStatusにOverWriteExistingを設定し（ステップS904、905）、新規で保存する場合はModifyStatusにsaveAsNewActionを設定して（ステップS906、907）、trueとしてリターンする。上記の確認において保存をキャンセルされた場合は、ステップS908で保存しないこととし、falseとしてリターンする。
図１０は、ステップS806のShowSessionの詳細手順を示すフローチャートである。
まず、ステップS1001では、全ての情報を表示するかを、ユーザに対する問い合わせもしくは既になされている設定から判断し、全てを表示しない場合、ステップS1002でユーザによる選択あるいは設定に従って、表示内容を決定する。例えば、サービス業者からの情報だけ、あるいは４月に取得した情報だけ等と決定する。ステップS1003では、知識ベースから適切なKPTAction（KPTDoc）を取得し、ステップS1004では、図１１につき詳述する手順により、KPTActionをタイムチャート、セッション別にソートし、ステップS1203で、図３７に示すような再生UIを表示してリターンする。
図１１は、ステップS808のShowLinksの詳細手順を示すフローチャートである。
まず、ステップS1101では、全ての情報を表示するかを、ユーザに対する問い合わせもしくは既になされている設定から判断し、全てを表示しない場合、ステップS1102でユーザによる選択あるいは設定に従って、表示内容を決定する。例えば、サービス業者からの情報だけ、あるいは４月に取得した情報だけ等と決定する。
ステップS1103では、知識ベースからKPTAction（KPTDoc）を取得し、ソート項目が組織であれば、組織別にソートして（ステップS1104、1105）、ステップS1111に進む。ソート項目がドメインであれば、ドメイン別にソートして（ステップS1106、1107）、ステップS1111に進む。ソート項目がキーワードであれば、キーワード別にソートして（ステップS1108、1109）、ステップS1111に進む。ソート項目が組織でもドメインでもキーワードでもなければ、ステップS1110で、サービス業別にソートして、ステップS1111に進む。ステップS1111では、記録一覧UIを表示してリターンする。
図１２は、ステップS814のProcessServiceUI(Act)の詳細手順を示すフローチャートである。
ステップS1201で、ActがPopUpであれば、ステップS1202で、画面下部のサブウィンドウに表示されているサービス業者のUIを、図５１のようにPopUp表示して、ステップS1201に戻る。ステップS1203で、Actが詳細表示であれば、ステップS1204で通常画面をサービス業者のUIに切り替えて詳細内容を表示して、ステップS1201に戻る。ステップS1205で、ActがRefreshであれば、ステップS1206でサーバからサービス業者の最新状態のUIをロードして表示を更新し、ステップS1201に戻る。ステップS1207で、Actが保存であれば、ステップS1208でCheckExisting()を実行して、保存の対象となるデータが存在するかをチェックし、存在しなければステップS1201に戻る。存在していればステップS1209で、CreateKSを実行し、trueとしてリターンする。ステップS1210で、Actがユーザ設定であれば、ステップS1211でユーザ設定画面を表示し、ステップS1212で、ユーザにより設定された内容を保存する。ステップS1213で、ActがQueryであれば、ステップS1214で、図３３につき詳述するGetQueryDetail()を実行し、ステップS1215で、Queryをサーバに渡す。ステップS1216で、Actが元に戻すであれば、ステップS1217でサービス業者のUIを通常画面に切り替えて、falseとしてリターンする。
図３３は、ステップS1214のGetQueryDetail()の詳細手順を示すフローチャートである。
ステップS3301で、Queryを取得し、ステップS3301で、取得したQueryのタイプに応じたUIを表示し、ステップS3303で、UIに対する入力からQueryの内容を取得し、ステップS3304で、Queryに対する検索結果の通知方法を決定する。
図１３は、ステップS719で設定され、ステップS722で実行されるシステムタスクの実行処理の詳細手順を示すフローチャートである。
ステップS1301で、システムタスクがあれば、ステップS1302で、T1にシステムタスクの作成を設定する。ActがCheckExpiredであれば、有効期限の過ぎたデータを削除する（ステップS1303、1304）。また、ActがCheckUpdateであれば、プログラムが最新バージョンでなければ、バージョンアップする（ステップS1305、1306）。また、ActがAutoRefreshであれば、サービス業者のUIを更新する（ステップS1307、1308）。また、ActがAnswerFoundであれば、ユーザのQueryに対する回答をユーザにより設定された方法で通知する（ステップS1309、1310）。
続いて、ステップS1311で、知識ベースを更新し、ステップS1312で、T1を終了する。
図１４は、ステップS722のExecuteActionの詳細手順を示すフローチャートである。
ステップS1401で、次のActをActListから取得する。ステップS1402でActがなければ、リターンする。ステップS1403では、取得したActに不足があれば、知識ベースを用いた推論によって補い、完全なものにする。
Actが保存であれば、図１５につき後述するSaveContents()を実行し、知識ベースを更新して、ステップS1401に戻る（ステップS1404〜1406）。Actが保存でなければ、ステップS1401に戻る。
図１５は、ステップS1405のSaveContentsの詳細手順を示すフローチャートである。
ステップS1501で、保存内容はURLのみかを判断し、そうであればステップS1505に進む。URLのみでなければステップS1502で保存内容はページ内容であるかを判断する。ページ内容であれば、ステップS1504へ進む。ページ内容でなければ、ステップS1503でPagePLUSにtrueをセットしてステップS1504へ進む。ステップS1504では、図１６につき詳述するWebFetch()を実行する。なお、保存内容はURLのみかページかは、図４１に示すUIにおいて、それぞれ「リンク保存」または「ページ保存」のボタンの操作に応じて判断される。
ステップS1505では、ModifyStatusがsaveAsNewAction（新たなアクションとして保存）であるかを判定する。そうであれば、知識ベースからKPTAction/KPTDocのインデックスを決定して、図１７につき詳述するSaveFileContents()を実行し、知識ベースにKPTActionとKPTPersonを追加してリターンする（ステップS1506〜1508）。
一方、ModifyStatusがsaveAsNewAction でない場合、ステップS1509で、ModifyStatusがOverWriteExisting（上書き）であるかを判定し、そうでなければリターンする。ModifyStatusがOverWriteExistingであれば、知識ベースからKPTAction/KPTDocのインデックスを決定して、図１７につき詳述するSaveFileContents()を実行し、知識ベースのKPTActionとKPTPersonを編集してリターンする（ステップS1510〜1512）。
図１６は、ステップS1504のWebFetchの詳細手順を示すフローチャートである。
ステップS1601で、HTML文を開き、ステップS1602で次のタグを取得し、ステップS1603で、ファイルの終わりであればリターンする。そうでなければ、タグが埋め込まれた画像やフレームであるか（ステップS1604）、PagePLUSがtrueの場合にタグがリンク先であるか（ステップS1609）を判定し、いずれでもなければステップS1602に戻る。どちらかであれば、内容が既に知識ベースに存在するかを調べ（ステップS1605）、なければその内容をダウンロードして知識ベースに追加し（ステップS1607、1608）、HTMLタグを編集する（ステップS1606）。そしてステップS1602に戻る。
図１７は、ステップS1507、1511のSaveFileContents()の詳細手順を示すフローチャートである。
ステップS1701で、保存内容はURLのみかを判定し、URLのみであれば、リターンする。URLのみでなければ、KPTDocのＧＵＩＩＤ名（Globally Unique Identifier）で内部的に識別可能なユニークな名称のフォルダ「Ｆ１」を作成し、「KPTIndex」という固定名称のファイルを「Ｆ１」フォルダに作成し、ページ内容を「KPTIndex」ファイルに保存する。そして、このファイル名「KPTIndex」と、このファイル名およびフォルダ名によるファイルバスをKPTDocに追加する（ステップS1702〜1705）。ここで、保存内容がサービス業者からの発信内容であれば、KPTDocにサービス業者のインデックス情報を設定する（ステップS1706〜1707）。そして、図１８につき詳述するFillKPTAction()を実行して、知識ベースのルールを参照して、保存内容に対するインデックスを決定する（ステップS1708〜1709）。
図１８は、ステップS1708のFillKPTAction ()の詳細手順を示すフローチャートである。
KPTDocの「LogicalURL」に「URL」の欄の内容を設定し、KPTDocの「keywords」に「キーワード」の欄の内容があれば設定し、KPTActionの「WhenDone」に現在の日時を設定する（ステップS1801〜1803）。そして、KPTActionの「WhenToDo」に、「有効期間」を設定し、KPTDocの「Title」に「ページタイトル」を設定する（ステップS1804〜1805）。
このようにして、ユーザにファイル名や保存先などを要求することなく、表示中のページに対するURL、ページに含まれるキーワード、ページタイトルや保存日時などを設定して、保存を実行する。また、有効期間が設定され、有効期間が過ぎると削除されるように設定される。
図１９は、ステップS403の終了処理の詳細手順を示すフローチャートである。ステップS1901で表示中のUIを消去し、ステップS1902でセッションを終了し、ステップS1903で知識ベースを更新する。サービス業者のサイトに接続している場合は、その接続を終了する（ステップS1904、1905）。更に、ブラウザーの終了が必要であれば、ブラウザーも終了させて（ステップS1906、1907）、処理を終える。
図２０は、サーバ装置の全体の処理手順を示すフローチャートである。
ステップS2001では、準備となる初期の処理を実行する。ステップS2002では、保存や検索などのメインの処理を実行する。ステップS2003では、終了時の処理を実行する。
図２１は、ステップS2001の初期の処理の詳細手順を示すフローチャートである。
セッションを作成し、知識ベースを更新し、Clientから要求を受けるサービスを開始する（ステップS2101〜3）。
図２２は、ステップS2002のメインの処理の詳細手順を示すフローチャートである。
ステップS2201では、ActLがClientの要求であるかを調べ、そうであればステップS2204に進む。そうでなければ、ステップS2202で、ユーザの操作があれば、ActLにUserAction()を設定してステップS2204に進む。ユーザの操作がなければ、ステップS2203に進み、システムのタスクがあればActLにSystemAction()を設定してステップS2204に進む。システムのタスクがなければ、ステップS2201に戻る。ステップS2204では、ActL ＝システム終了であるかを判別して、終了であれば、ステップS2205で現在のタスクを終了して、ステップS2206で知識ベースを更新し、リターンする。終了でなければ、ステップS2207でExecuteServerAct(ActL)を実行し、ステップS2208で知識ベースを更新してステップS2201に戻る。
さて、図２３は、ActL＝UserAction()の場合のステップS2207のExecuteServerActの詳細手順を示すフローチャートである。
ステップS2301で、次のActをActListから取得する。ステップS2302でActがなければ、リターンする。ステップS2303では、取得したActに不足があれば、知識ベースを用いた推論によって補い、完全なものにする。
Actが、GetNextInfoであれば、図２４につき後述するGetInfo(user1)を実行して（ステップS2304〜2305）、ステップS2312に進む。ActがGetSettingsであれば、ユーザの設定情報を返して（ステップS2306〜2307）、ステップS2312に進む。Actがユーザ設定保存であれば、ユーザの設定を保存して（ステップS2308〜2309）、ステップS2312に進む。ActがQueryであれば、図２７につき後述するFindAnswerQuery(U1,Q1)を実行して（ステップS2310〜2311）、ステップS2312に進む。Actが以上のいずれでもなければ、ステップS2312に進む。ステップS2312では、知識ベースを更新して、ステップS2301に戻る。
図２４は、ステップS2305のGetInfo(user1)の詳細手順を示すフローチャートである。
ステップS2401で、ユーザUser1の設定情報を取得し、ステップS2402で、その設定からユーザUser1が特定のサービスを要求しているかを判断し、要求していれば、ステップS2403で、ユーザUser1に対して適切なサービスを提供してステップS2406に進む。ユーザUser1が特定のサービスを要求していなければ、ステップS2404で、ユーザUser1に対して適切な情報を知識ベースから選択し、情報があれば、ステップS2406に進み、なければステップS2404に戻る。ステップS2406で、選択した情報をユーザに返して処理を終了する。
さて、図２５は、ActL＝SystemAction()の場合のステップS2207のExecuteServerActの詳細手順を示すフローチャートである。
ステップS2501で、システムタスクがあれば、ステップS2502で、T1にシステムタスクの作成を設定する。ActがCheckExpiredであれば、有効期限の過ぎたデータを削除する（ステップS2503、2504）。また、ActがCheckUpdateであれば、プログラムが最新バージョンでなければ、バージョンアップする（ステップS2505、2506）。また、ActがAgentMatchであれば、AgentMatchを実行する（ステップS2507、2508）。また、ActがPushAdであれば、各クライアントに対して設定にあった広告などの情報を発信する（ステップS2509、2510）。
続いて、ステップS2511で、知識ベースを更新し、ステップS2512で、T1を終了する。
図２６は、ステップS2508のAgentMatchの詳細手順を示すフローチャートである。
ステップS2601で、知識ベースから次のユーザU1の取得する。ステップS2602で次のユーザU1がなければ、リターンする。ステップS2603では、知識ベースからユーザU1の次のQueryQ1を取得する。QueryQ1がなければ、ステップS2601に戻る。QueryQ1があれば、図２７につき後述するFindAnswerQuery(U1,Q1)を実行して（ステップS2604〜2605）、ステップS2603に戻る。このループにより、１つのQueryは有効期間の間繰り返し実行され、複数の回答を得ることができる。
図２７は、ステップS2311及びステップS2605のFindAnswerQuery(U1,Q1)の詳細手順を示すフローチャートである。
ステップS2701で、ユーザの設定情報とQueryの内容を取得し、知識ベースからQueryに適切な情報を探す。ステップS2703で情報が見つかれば、ステップS2707に進む。見つからなければ、ステップS2704でメールを出すなどしてQueryを専門家に尋ねる。ステップS2704で返答が得られれば、ステップS2707に進む。得られなければ、Queryをシステムタスクとして再登録し、falseとしてリターンする。ステップS2707では、AnswerFoundActを作成し、選択情報をActに設定する。ステップS2708で、ActをClientに通知し、trueとしてリターンする。
図２８は、ステップS2003の終了処理の詳細手順を示すフローチャートである。
Clientが接続されていれば、Clientにメッセージを発信する（ステップS2801〜2802）。ステップS2803でセッションを終了し、ステップS2804で知識ベースを更新して、処理を終える。
図２９は、サーバ及びクライアントの第２の機能構成を示すブロック図である。図３との相違点は、ユーザ設定をサーバではなく各クライアントの設定記憶部2903に保持している点である。
図３０は、図２９の構成におけるステップS503のCreateSession()の詳細手順を示すフローチャートである。図６との相違点は、ステップS3004でユーザの設定情報をクライアントからサーバに渡す点である。
他の構成として、ユーザの設定情報をクライアントからサーバに渡さずに、各クライアントが、ユーザの設定情報を参照して、サーバからの情報にフィルタを掛けたり、設定に一致する情報をサーバに取りに行くなどして、必要な情報だけを受信するようにしてもよい。
図３１は、サーバ及びクライアントの第３の機能構成を示すブロック図である。図２９との相違点は、各クライアントが情報・広告DB（ローカルDB）3104を保持している点である。
図３２は、図３０の構成におけるステップS503のCreateSession()の詳細手順を示すフローチャートである。図３０との相違点は、ステップS3204でサービス業者からのデータをローカルDB3104にダウンロードし、ローカルDB3104から情報を提供する点である。これにより、サービス業者からのデータをオフラインで表示することができる。
図３３は、既に述べたように、ステップS1214のGetQueryDetail()の詳細手順を示すフローチャートである。
図３４は、本実施形態の知識ベースにおける知識構造を示す図である。(a)、(b)、(c)はそれぞれ、KPTConcept、KPTPerson、KPTDocumentの知識構造を示している。
図３５は、本実施形態の知識ベースにおける知識構造を示す図である。(a)、(b)はそれぞれ、KPTAction、KPTContentの知識構造を示している。
図３６は、本実施形態の知識ベースの内容を示す図である。(a)、(b)はそれぞれ、KPTDocument、KPTActionの知識ベースの内容を示している。
図３７は、本実施形態の知識ベースの内容を示す図である。(a)、(b)はそれぞれ、KPTPerson、KPTContentの知識ベースの内容を示している。
図３８は、Domainの知識ベースの内容を示す図である。
図３９は、組織名のインデックスを決定するルールの例を示す図である。URLから、パラメータ、プロトコル、自明なアドレス、及びページ情報を除き、残ったデータについてドメイン名の知識ベースを参照してドメイン名を除き、残ったデータをピリオドで分割して、それぞれを組織名として抽出する。
図４０は、ドメイン名のインデックスを決定するルールの例を示す図である。URLから、パラメータ、プロトコル、自明なアドレス、及びページ情報を除き、残ったデータについてドメイン名の知識ベースを参照してドメイン名を抽出する。
図４１は、サービス業者のリアルタイム情報の表示例を示す図である。画面下部にサービス業者からリアルタイムに送信される情報が表示されている。
図４２は、サービス業者からのリアルタイム情報としてニュースを表示させる場合の表示例を示す図である。各ニュースが１行に表示されており、横にスクロールさせることで、現在表示中の情報の続きを表示させることができる。また、垂直方向にスクロールさせることで、次のニュースを表示させることができる。
図４３は、サービス業者からのリアルタイム情報として天気を表示させる場合の表示例を示す図である。この天気は、ユーザ設定により各クライアントの地域に合わせた天気を表示させることができる。
図４４は、バナー広告を表示させる場合の表示例を示す図である。このバナー広告は、サーバから提供される。「情報保存」ボタンにより、一旦内容を保存しておき、後からオフラインで表示させることもできる。また、「詳細表示」ボタンにより、図４５に示すように詳細な内容をメインウィンドウに表示させることができる。このとき、画面上部のアドレスに示されるように、詳細内容は、サーバから提供を受けるのではなく、サービス業者の実際のサイトから直接情報を受信して表示させることができる。
図４６は、サービス業者からの情報として複数の情報をミックスして表示させる場合の表示例を示す図である。ここでは、ある会社からの新製品販売の発表情報（1日程度を単位として更新され、所定の時期に取り込んで保存すれば、後はその保存されている情報を提供すればよい情報）と、それとは別の広告と、それ以外のリアルタイム情報（時分秒などを単位として頻繁に更新され、常に情報源の最新情報を必要とする情報）として株式情報を表示させている。ここでは、会社からの情報に合せて、この会社の現在の株価を表示させているが、この会社の情報とは独立なリアルタイム情報を表示させることもできる。
図４７、４８は、サービス業者からの情報としてキャンペーン広告を表示させる場合の表示例を示す図である。図４７は、先着１００名に達するまで、あるいは予め定められた期間、同一の情報が表示される。このような広告では、サービス業者側で発信すべきユーザの条件を指定し、サーバが顧客DBを参照して、条件に合致するユーザを選び、更にその中でそのような広告を受け取るように設定しているユーザに送信するようにしてもよい。
これに対し、図４８は、明日の宿泊で「残り×部屋」ということで、逐次更新されて最新の情報が表示される。
図４９は、分野に関するユーザ設定画面の表示例を示す図である。ニュース、スポーツ、旅行、ビジネスといった分野について、それぞれの情報を必要とするかどうかを設定し、各分野について更にどの分類の情報を要求するかを設定できる。
図５０は、時間に関するユーザ設定画面の表示例を示す図である。情報の大分類あるいは小分類について、それを流すべき期間の開始や終了の時点が設定でき、常に流す、指定時刻に流す、当面流さないなどの設定が可能である。
図５１は、先に述べたように、サブウィンドウの内容をポップアップ表示させた場合の表示例を示す図である。
図５２は、教育用の情報を表示する例を示す図である。定期的に、例えば、毎日、順次新たなレッスンの内容を表示させることができる。ここで、「後で表示」を選択することで、現時点では表示せず、所定時間経過後あるいはユーザの要求時点で再表示させることができる。その際、クライアント端末のDBに保存しておいてオフラインで表示させるようにしてもよい。また、「開封済み」を選択することで、再度表示させないようにすることもできる。
図５３は、新語情報を表示する例を示す図である。例えば、新聞で最近よく使用される新しい用語とその意味を表示する。ここでも、図５２と同様に、「後で表示」あるいは「開封済み」を選択することができる。
これまでの例では、サブウィンドウの表示内容はメインウィンドウとは独立であったが、図５４は、メインウィンドウの外国語の文章に対して、サブウィンドウでは、文章中の難しい単語の訳語を表示する例を示す図である。そのためには、サーバにおいてメインウィンドウの表示内容を取得し、辞書あるいは単語帳を参照して、所定レベル以上に分類されている単語とその訳語を抽出してサブウィンドウの表示情報を作成すればよい。この時、どのレベルまで訳語を表示させるかをユーザが設定できるようにしてもよい。
図５５は、図５４を更に進めて、メインウィンドウの外国語の文章に対して、サブウィンドウにその全文訳を表示する例を示す図である。この場合も、サーバにおいてメインウィンドウの表示内容を翻訳して、サブウィンドウの表示情報を作成すればよい。
図５６は、既に述べた組織別のソート結果を示す図である。図５７は、既に述べたタイムチャートによるソート結果を示す図である。図５７では、毎日のレッスン情報がそれぞれの日と対応付けて表示されている。
上記において、サブウィンドウで表示した情報には、メインウィンドウで表示した情報とは識別可能なインデックスが付されており、サブウィンドウで表示した内容だけについてソートして表示できる。
以上の例において、複数の情報をどのような順に表示するかや、どのタイミングあるいはどのくらいの期間表示するかは、ユーザの設定を参照するなどしてサーバで決定される。
尚、本発明は、単一の機器からなる装置に適用しても、複数の機器から構成されるシステムに適用してもよい。また、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、装置あるいはシステムに供給し、装置あるいはシステム内のコンピュータが記憶媒体に格納されたプログラムコードを読み出して実行することによって達成してもよい。
更に、装置あるいはシステム内のコンピュータが記憶媒体に格納されたプログラムコードを読み出して実行することによって、上述した実施形態の機能を直接実現するばかりでなく、そのプログラムコードの指示に基づいて、コンピュータ上で稼動しているＯＳなどの処理により、上述の機能を実現される場合も含まれる。
これらの場合、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【発明の効果】
以上説明したように、本発明によれば、インターネット上の情報を閲覧中に複数のサービス業者からの様々な情報を表示することができるという効果がある。
【図面の簡単な説明】
【図１】本実施形態に係るサーバ及びクライアントのハードウェア構成を示すブロック図である。
【図２】本実施形態の情報処理システムの機能構成を示すブロック図である。
【図３】サーバ及びクライアントの機能構成を示すブロック図である。
【図４】全体の処理手順を示すフローチャートである。
【図５】初期の処理の詳細手順を示すフローチャートである。
【図６】  CreateSession()の詳細手順を示すフローチャートである。
【図７】メインの処理の詳細手順を示すフローチャートである。
【図８】ユーザの操作に応じた処理の詳細手順を示すフローチャートである。
【図９】保存対象が存在するかのチェックの詳細手順を示すフローチャートである。
【図１０】  ShowSessionの詳細手順を示すフローチャートである。
【図１１】  ShowLinksの詳細手順を示すフローチャートである。
【図１２】  ProcessServiceUI(Act)の詳細手順を示すフローチャートである。
【図１３】システムタスクの実行処理の詳細手順を示すフローチャートである。
【図１４】  ExecuteActionの詳細手順を示すフローチャートである。
【図１５】  SaveContentsの詳細手順を示すフローチャートである。
【図１６】  WebFetchの詳細手順を示すフローチャートである。
【図１７】  SaveFileContents()の詳細手順を示すフローチャートである。
【図１８】  FillKPTAction ()の詳細手順を示すフローチャートである。
【図１９】終了処理の詳細手順を示すフローチャートである。
【図２０】サーバ装置の全体の処理手順を示すフローチャートである。
【図２１】初期の処理の詳細手順を示すフローチャートである。
【図２２】メインの処理の詳細手順を示すフローチャートである。
【図２３】  ActL＝UserAction()の場合のExecuteServerActの詳細手順を示すフローチャートである。
【図２４】  GetInfo(user1)の詳細手順を示すフローチャートである。
【図２５】  ActL＝SystemAction()の場合のExecuteServerActの詳細手順を示すフローチャートである。
【図２６】  AgentMatchの詳細手順を示すフローチャートである。
【図２７】  FindAnswerQuery(U1,Q1)の詳細手順を示すフローチャートである。
【図２８】終了処理の詳細手順を示すフローチャートである。
【図２９】サーバ及びクライアントの第２の機能構成を示すブロック図である。
【図３０】  CreateSession()の詳細手順を示すフローチャートである。
【図３１】サーバ及びクライアントの第３の機能構成を示すブロック図である。
【図３２】  CreateSession()の詳細手順を示すフローチャートである。
【図３３】  GetQueryDetail()の詳細手順を示すフローチャートである。
【図３４】知識ベースにおける知識構造を示す図である。
【図３５】知識ベースにおける知識構造を示す図である。
【図３６】知識ベースの内容を示す図である。
【図３７】知識ベースの内容を示す図である。
【図３８】  Domainの知識ベースの内容を示す図である。
【図３９】組織名のインデックスを決定するルールの例を示す図である。
【図４０】ドメイン名のインデックスを決定するルールの例を示す図である。
【図４１】サービス業者のリアルタイム情報の表示例を示す図である。
【図４２】ニュースを表示させる場合の表示例を示す図である。
【図４３】天気を表示させる場合の表示例を示す図である。
【図４４】バナー広告を表示させる場合の表示例を示す図である。
【図４５】詳細な内容をメインウィンドウに表示させる例を示す図である。
【図４６】複数の情報をミックスして表示させる場合の表示例を示す図である。
【図４７】キャンペーン広告を表示させる場合の表示例を示す図である。
【図４８】キャンペーン広告を表示させる場合の表示例を示す図である。
【図４９】分野に関するユーザ設定画面の表示例を示す図である。
【図５０】時間に関するユーザ設定画面の表示例を示す図である。
【図５１】サブウィンドウの内容をポップアップ表示させた場合の表示例を示す図である。
【図５２】教育用の情報を表示する例を示す図である。
【図５３】新語情報を表示する例を示す図である。
【図５４】文章中の難しい単語の訳語を表示する例を示す図である。
【図５５】全文訳を表示する例を示す図である。
【図５６】サービス業者によるソート結果を示す図である。
【図５７】タイムチャートによるソート結果を示す図である。
【図１】
2006171798.tif 000003
【図２】
2006171798.tif 000004
【図３】
2006171798.tif 000005
【図４】
2006171798.tif 000006
【図５】
2006171798.tif 000007
【図６】
2006171798.tif 000008
【図７】
2006171798.tif 000009
【図８】
2006171798.tif 000010
【図９】
2006171798.tif 000011
【図１０】
2006171798.tif 000012
【図１１】
2006171798.tif 000013
【図１２】
2006171798.tif 000014
【図１３】
2006171798.tif 000015
【図１４】
2006171798.tif 000016
【図１５】
2006171798.tif 000017
【図１６】
2006171798.tif 000018
【図１７】
2006171798.tif 000019
【図１８】
2006171798.tif 000020
【図１９】
2006171798.tif 000021
【図２０】
2006171798.tif 000022
【図２１】
2006171798.tif 000023
【図２２】
2006171798.tif 000024
【図２３】
2006171798.tif 000025
【図２４】
2006171798.tif 000026
【図２５】
2006171798.tif 000027
【図２６】
2006171798.tif 000028
【図２７】
2006171798.tif 000029
【図２８】
2006171798.tif 000030
【図２９】
2006171798.tif 000031
【図３０】
2006171798.tif 000032
【図３１】
2006171798.tif 000033
【図３２】
2006171798.tif 000034
【図３３】
2006171798.tif 000035
【図３４】
2006171798.tif 000036
【図３５】
2006171798.tif 000037
【図３６】
2006171798.tif 000038
【図３７】
2006171798.tif 000039
【図３８】
2006171798.tif 000040
【図３９】
2006171798.tif 000041
【図４０】
2006171798.tif 000042
【図４１】
2006171798.tif 000043
【図４２】
2006171798.tif 000044
【図４３】
2006171798.tif 000045
【図４４】
2006171798.tif 000046
【図４５】
2006171798.tif 000047
【図４６】
2006171798.tif 000048
【図４７】
2006171798.tif 000049
【図４８】
2006171798.tif 000050
【図４９】
2006171798.tif 000051
【図５０】
2006171798.tif 000052
【図５１】
2006171798.tif 000053
【図５２】
2006171798.tif 000054
【図５３】
2006171798.tif 000055
【図５４】
2006171798.tif 000056
【図５５】
2006171798.tif 000057
【図５６】
2006171798.tif 000058
【図５７】
2006171798.tif 000059