(57)【要約】【課題】ウェブページの管理者がウェブページに対するアノテーションを制限できるようにすること。【解決手段】管理モジュール２２ａは、何れかの操作依頼を受信すると、事前にウェブサーバ１２の利用者管理テーブル１２ａから権限管理テーブル２２ｂに取得しておいた情報に基づいて、操作依頼をしてきた利用者がアノテーションを行う権限を有するか否かを判定し、その利用者がアノテーションを行う権限を有している場合に、アノテーションデータをアノテーションデータベース２１に登録する。【選択図】図１
2008146586.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
ウェブページデータの所在情報と、そのウェブページデータによるウェブページに関連付けられるアノテーションの内容を特定するための内容情報と、そのアノテーションが関連付けられるウェブページ上の位置を特定するための位置情報とを含むアノテーションデータを、記憶装置内のアノテーションデータベースに記憶する記憶手段，
アノテーションに関する操作の種類を特定する操作種類情報と、その操作に用いられるアノテーションデータを特定するアノテーション情報とを含む依頼情報を、通信装置を通じて、何れかのウェブクライアントから受信する受信手段，
前記受信手段が依頼情報を受信すると、その依頼情報が所定条件を満たすか否かを判定する判定手段，及び、
前記依頼情報が前記所定条件を満たすと前記判定手段が判定した場合に、その依頼情報に含まれる操作種類情報にて特定される操作を前記アノテーションデータベースに対して行う操作実行手段
として機能させる
ことを特徴とするアノテーション管理プログラム。
【請求項２】
前記コンピュータを、更に、
利用者を特定するための利用者情報と、その利用者に許可する操作の種類を特定するための権限特定情報とを対応付けて、記憶装置内のテーブルに記憶する権限記憶手段
として機能させ、
前記受信手段は、操作種類情報とアノテーション情報とともに利用者情報をも含む依頼情報を、通信装置を通じて、何れかのウェブクライアントから受信し、
前記判定手段は、前記受信手段が受信した依頼情報に含まれる利用者情報に対応する権限特定情報を、前記テーブルから読み出し、その権限特定情報にて特定される操作の種類に対し、前記受信手段が受信した依頼情報内の操作種類情報にて特定される操作の種類が一致するか否かを判定する
ことを特徴とする請求項１記載のアノテーション管理プログラム。
【請求項３】
前記判定手段は、前記受信手段が依頼情報を受信すると、その依頼情報に含まれるアノテーション情報にて特定されるアノテーションデータ内の所在情報に基づいて、ウェブページデータを取得し、その取得したウェブページデータから、そのウェブページについてアノテーションの操作の実行を許可する条件を特定するための制限情報を読み出し、その制限情報に基づいて、前記受信手段が受信した依頼情報が所定条件を満たすか否かを、判定する
ことを特徴とする請求項１記載のアノテーション管理プログラム。
【請求項４】
前記判定手段は、前記受信手段が依頼情報を受信すると、その依頼情報に含まれるアノテーション情報にて特定されるアノテーションデータ内の所在情報に基づいて、ウェブページデータを取得し、その取得したウェブページデータから、そのウェブページについて許可するアノテーションの操作の種類を特定する権限特定情報を読み出し、その権限特定情報にて特定される操作の種類に対し、前記受信手段が受信した依頼情報内の操作種類情報にて特定される操作の種類が一致するか否かを、判定し、
前記操作実行手段は、前記権限特定情報にて特定される操作の種類に対し、前記操作種類情報にて特定される操作の種類が一致していると、前記判定手段が判定した場合に、その操作種類情報にて特定される操作を前記アノテーションデータベースに対して行う
ことを特徴とする請求項３記載のアノテーション管理プログラム。
【請求項５】
ウェブページデータの所在情報と、そのウェブページデータによるウェブページに関連付けられるアノテーションの内容を特定するための内容情報と、そのアノテーションが関連付けられるウェブページ上の位置を特定するための位置情報とを含むアノテーションデータを、記憶装置内のアノテーションデータベースに記憶する記憶部，
アノテーションに関する操作の種類を特定する操作種類情報と、その操作に用いられるアノテーションデータを特定するアノテーション情報とを含む依頼情報を、通信装置を通じて、何れかのウェブクライアントから受信する受信部，
前記受信部が依頼情報を受信すると、その依頼情報が所定条件を満たすか否かを判定する判定部，及び、
前記依頼情報が前記所定条件を満たすと前記判定部が判定した場合に、その依頼情報に含まれる操作種類情報にて特定される操作を前記アノテーションデータベースに対して行う操作実行部
を備えることを特徴とするアノテーション管理装置。
【請求項６】
コンピュータが、
ウェブページデータの所在情報と、そのウェブページデータによるウェブページに関連付けられるアノテーションの内容を特定するための内容情報と、そのアノテーションが関連付けられるウェブページ上の位置を特定するための位置情報とを含むアノテーションデータを、記憶装置内のアノテーションデータベースに記憶する記憶手順，
アノテーションに関する操作の種類を特定する操作種類情報と、その操作に用いられるアノテーションデータを特定するアノテーション情報とを含む依頼情報を、通信装置を通じて、何れかのウェブクライアントから受信する受信手順，
前記受信手順において依頼情報を受信すると、その依頼情報が所定条件を満たすか否かを判定する判定手順，及び、
前記依頼情報が前記所定条件を満たすと前記判定手順において判定した場合に、その依頼情報に含まれる操作種類情報にて特定される操作を前記アノテーションデータベースに対して行う操作実行手順
を実行する
ことを特徴とするアノテーション管理方法。
【請求項７】
コンピュータを、
ウェブページデータの所在情報と、そのウェブページデータによるウェブページに関連付けられるアノテーションの内容を特定するための内容情報と、そのアノテーションが関連付けられるウェブページ上の位置を特定するための位置情報とを含むアノテーションデータを、通信装置を通じて、何れかのウェブクライアントから受信する受信手段，
前記受信手段がアノテーションデータを受信すると、そのアノテーションデータが所定の条件を満たすか否かを判定する判定手段，及び、
前記アノテーションデータが前記所定条件を満たすと前記判定手段が判定した場合に、そのアノテーションデータをアノテーションデータベースに登録する登録手段
として機能させる
ことを特徴とするアノテーション管理プログラム。
【請求項８】
コンピュータを、
ウェブページデータの所在情報と、そのウェブページデータによるウェブページに関連付けられるアノテーションの内容を特定するための内容情報と、そのアノテーションが関連付けられるウェブページ上の位置を特定するための位置情報とを含むアノテーションデータ、及び、そのアノテーションの表示の変化後の形態を特定するための形態特定情報と、その変化を起こさせる条件を特定するための条件情報とを含むアクション関連情報を、通信装置を通じて、何れかのウェブクライアントから受信する受信手段，
前記受信手段がアノテーションデータ及びアクション関連情報を受信すると、アノテーションデータをアノテーションデータベースに登録するとともに、アクション関連情報を管理テーブルに登録する登録手段，
前記登録手段が管理テーブルに登録したアクション関連情報のそれぞれについて、そのアクション関連情報に含まれる条件情報にて特定される条件が満たされているか否かを判定する処理、及び、その処理により前記条件が満たされていると判定した場合にアノテーションの表示形態がその形態特定情報にて特定される表示形態となるよう、前記アノテーションデータベース内における対応するアノテーションデータの状態を切り替える切替手段
として機能させる
ことを特徴とするアノテーション管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アノテーションを管理するためのプログラム、装置及び方法に、関する。
【背景技術】
【０００２】
周知のように、アノテーション（注釈）は、書物においては、ページの隅や章末に記載された文中の字句の解釈や参考文献に関する情報であるが、ウェブにおいては、ＸＬｉｎｋ［XML Linking Language］等を活用した技術により、ソーステキストに起因せずにウェブページの一部分（文字列、画像）に関連付けられた付帯情報をいう。
【０００３】
このアノテーション技術では、ウェブサーバとは別に、アノテーションサーバがネットワーク上に用意されるとともに、ウェブクライアントには、アノテーション用のプログラムが、拡張機能として導入される。当該拡張機能は、ウェブクライアントプログラム（ウェブブラウザ）が表示しているウェブページ上の任意の部分が選択され、その部分にアノテーションとして関連付けようとする内容が入力されると、その入力された内容と、それが関連付けられた部分の位置の情報と、ウェブページデータの所在情報とを、アノテーションサーバへ通知する。アノテーションサーバは、それら内容と位置情報と所在情報とを受けると、一意なアノテーションＩＤ［Identification］を発行し、それをアノテーションの内容と位置情報と所在情報とに対応付けて、アノテーションデータとして、アノテーションデータベースに登録する。また、当該拡張機能は、ウェブクライアントがウェブページデータをウェブサーバから取得したときに、そのウェブページに関連付けられたアノテーションの有無をアノテーションサーバに問い合わせ、アノテーションが存在していれば、そのアノテーションデータをアノテーションサーバから取得して、アノテーションをウェブページに重ねて表示する。さらに、当該拡張機能は、任意のウェブページに関連付けられているアノテーションのうち、操作者によって選択されたアノテーションにつき、操作者の指示に応じて、そのアノテーションの修正や削除をアノテーションサーバへ要求する。
【０００４】
【特許文献１】特許第３７７１８３１号公報
【特許文献２】特開２００２−２４５０３４号公報
【特許文献３】特許第３５９４２３１号公報
【特許文献４】国際公開第０３／０９１８８９号パンフレット
【特許文献５】特開２００５−３３９２７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前述したように、従来のアノテーション技術は、ウェブクライアント側では編集を加えることができないウェブページの一部分に対し、ウェブクライアント側の利用者がその一部分に静的な情報を関連付けることができるようにする技術である。つまり、ウェブページの管理主体とは全く別の主体が、ウェブページのインターネット上への掲載及び削除並びに内容の変更とは独立して、アノテーションの作成、修正及び削除をすることができる。
【０００６】
このような現状の下、アノテータ（アノテーションを作成する人）によるアノテーションの作成、修正及び削除は、例えばクッキー機能を利用した通常のアクセス管理技術を用いて、制限することができる。しかしながら、アノテーションの関連付け対象となったウェブページの管理者が、そのウェブページに対するアノテーションの作成、修正及び削除を、制限することはできなかった。
【０００７】
また、前述したように、従来のアノテーション技術では、ウェブクライアント側の利用者が、アノテーションをウェブページに関連付ければ、アノテーションがウェブページに重ねて表示される。しかしながら、一旦登録したアノテーションを表示させないようにするには、利用者が積極的にアノテーションの削除を行わねばならず、アノテーションが所定回数表示された後に自動的に表示されなくなるよう設定することや、或いは、所定時間経過後に初めてアノテーションが表示されるように設定することは、従来のアノテーション技術では不可能であった。
【０００８】
本発明は、前述したような従来技術の有する問題点に鑑みてなされたものであり、その第一の課題は、ウェブページの管理者がウェブページに対するアノテーションを制限できるようにすることにあり、第二の課題は、アノテータがアノテーションの表示を制御できるようにすることにある。
【課題を解決するための手段】
【０００９】
上記の第一の課題を解決するために案出されたアノテーション管理プログラムの第一の態様は、コンピュータを、ウェブページデータの所在情報と、そのウェブページデータによるウェブページに関連付けられるアノテーションの内容を特定するための内容情報と、そのアノテーションが関連付けられるウェブページ上の位置を特定するための位置情報とを含むアノテーションデータを、記憶装置内のアノテーションデータベースに記憶する記憶手段，アノテーションに関する操作の種類を特定する操作種類情報と、その操作に用いられるアノテーションデータを特定するアノテーション情報とを含む依頼情報を、通信装置を通じて、何れかのウェブクライアントから受信する受信手段，その受信手段が依頼情報を受信すると、その依頼情報が所定条件を満たすか否かを判定する判定手段，及び、依頼情報が所定条件を満たすと判定手段が判定した場合に、その依頼情報に含まれる操作種類情報にて特定される操作を前記アノテーションデータベースに対して行う操作実行手段として機能させることを、特徴としている。
【００１０】
このように構成されると、コンピュータは、ウェブクライアントから受信した依頼情報が所定の条件を満たしている場合に限り、ウェブクライアントから受信した操作種類情報にて特定される種類の操作を行うよう、動作する。ここで、その所定の条件が適宜選択されていれば、アノテーションに係る操作（アノテーションデータの登録、修正、削除）が適切に制限される。
【００１１】
なお、この本発明の第一の態様のアノテーション管理プログラムにおいては、所定の条件を特定する情報は、記憶装置内に格納されていても良いし、別のコンピュータに格納されていても良い。後者の場合、所定の条件を特定する情報は、ウェブサーバがウェブページへのアクセス制限に利用しているテーブルから収集された情報とすることができるし、ウェブページデータに埋め込まれた情報とすることもできる。
【００１２】
また、上記の第一の課題を解決するために案出されたアノテーション管理プログラムの第二の態様は、コンピュータを、ウェブページデータの所在情報と、そのウェブページデータによるウェブページに関連付けられるアノテーションの内容を特定するための内容情報と、そのアノテーションが関連付けられるウェブページ上の位置を特定するための位置情報とを含むアノテーションデータを、通信装置を通じて、何れかのウェブクライアントから受信する受信手段，前記受信手段がアノテーションデータを受信すると、そのアノテーションデータが所定の条件を満たすか否かを判定する判定手段，及び、前記アノテーションデータが前記所定条件を満たすと前記判定手段が判定した場合に、そのアノテーションデータをアノテーションデータベースに登録する登録手段として機能させることを、特徴としている。
【００１３】
このように構成されると、コンピュータは、ウェブクライアントから受信したアノテーションデータが所定の条件を満たしている場合に限り、ウェブクライアントから受信した操作種類情報にて特定される種類の操作を行うよう、動作する。ここで、その所定の条件が適宜選択されていれば、アノテーションデータの登録又は修正が適切に制限される。従って、当該コンピュータの管理者は、任意の条件を選択しておくことにより、アノテーションに係る操作を適切に制限することができる。なお、その所定の条件は、アノテーションの内容について適不適を判断するための条件であっても良いし、アノテーションの作成者について適不適を判断するための条件であっても良い。
【００１４】
また、上記の第二の課題を解決するために案出されたアノテーション管理プログラムは、コンピュータを、ウェブページデータの所在情報と、そのウェブページデータによるウェブページに関連付けられるアノテーションの内容を特定するための内容情報と、そのアノテーションが関連付けられるウェブページ上の位置を特定するための位置情報とを含むアノテーションデータ、及び、そのアノテーションの表示の変化後の形態を特定するための形態特定情報と、その変化を起こさせる条件を特定するための条件情報とを含むアクション関連情報を、通信装置を通じて、何れかのウェブクライアントから受信する受信手段，その受信手段がアノテーションデータ及びアクション関連情報を受信すると、アノテーションデータをアノテーションデータベースに登録するとともに、アクション関連情報を管理テーブルに登録する登録手段，その登録手段が管理テーブルに登録したアクション関連情報のそれぞれについて、そのアクション関連情報に含まれる条件情報にて特定される条件が満たされているか否かを判定する処理、及び、その処理により前記条件が満たされていると判定した場合にアノテーションの表示形態がその形態特定情報にて特定される表示形態となるよう、アノテーションデータベース内における対応するアノテーションデータの状態を切り替える切替手段として機能させることを、特徴としている。
【００１５】
このように構成されると、コンピュータは、ウェブクライアントからアノテーションデータとともにアクション関連情報を受信し、アノテーションデータをアノテーションデータベースに登録するとともにアクション関連情報を管理テーブルに登録するよう、動作する。また、コンピュータは、管理テーブル内の各アクション関連情報について、アクション関連情報に含まれる条件情報にて特定される条件が満たされているか否かを監視するよう、動作する。さらに、コンピュータは、その条件が満たされたときに、アノテーションの表示形態が形態特定情報にて特定される表示形態となるよう、動作する。ここで、アクション関連情報は、ウェブクライアントを通じてアノテーションを登録しようとするアノテータにより、作成される。つまり、アノテータは、アノテーションデータとともに任意のアクション関連情報を登録することにより、アノテーションの表示を制御することができる。
【発明の効果】
【００１６】
以上に説明したように、本発明によれば、ウェブページの管理者がウェブページに対するアノテーションを制限できるようになり、また、アノテータがアノテーションの表示を制御できるようになる。
【発明を実施するための最良の形態】
【００１７】
以下、添付図面を参照しながら、本発明を実施するための四つの形態について、説明する。
【実施形態１】
【００１８】
まず、第１の実施形態のコンピュータネットワークシステムのハードウエア構成及びソフトウエア構成について、説明する。
【００１９】
図１は、第１の実施形態のコンピュータネットワークシステムの構成図である。
【００２０】
第１の実施形態のコンピュータネットワークシステムは、ウェブサーバマシン１０と、アノテーションサーバマシン２０と、ウェブクライアントマシン３０とからなる。各マシン１０，２０，３０は、ネットワークＮを介して相互に通信自在に接続されている。
【００２１】
ウェブサーバマシン１０は、ウェブサーバとしての機能が付加された汎用コンピュータである。従って、このウェブサーバマシン１０は、図示していないが、少なくとも、ストレージ，ＣＰＵ［Central Processing Unit］，ＤＲＡＭ［Dynamic Random Access Memory］，及び、通信アダプタを、内蔵している。ストレージは、各種のプログラムやデータを記憶する記憶装置である。ＣＰＵは、ストレージ内のプログラムに従って処理を行う演算処理装置である。ＤＲＡＭは、ＣＰＵが処理を行う際にプログラムがキャッシュされたり作業領域が展開されたりする揮発性記憶装置である。通信アダプタは、ネットワークＮ上の他のコンピュータとデータの遣り取りを行う通信装置である。
【００２２】
このウェブサーバマシン１０のストレージは、ウェブページデータ１１，ウェブサーバプログラム１２，及び、通信インターフェースプログラム１３を、記憶している。
【００２３】
ウェブページデータ１１は、ネットワークＮを通じて他のコンピュータに提供されるＨＴＭＬ［HyperText Markup Language］データである。ウェブページデータ１１には、その所在情報として、それぞれ、一意なＵＲＬ［Uniform Resource Locator］が割り当てられている。
【００２４】
ウェブサーバプログラム１２は、ウェブクライアントマシン３０からＵＲＬの指定とともにＨＴＴＰ［HyperText Transfer Protocol］リクエストメッセージを受けたときに、そのＵＲＬにあるウェブページデータ１１を含んだＨＴＴＰレスポンスメッセージを送信するためのプログラムである。このウェブサーバプログラム１２は、利用者管理テーブル１２ａとアクセス管理モジュールプログラム１２ｂを含んでいる。
【００２５】
利用者管理テーブル１２ａは、このウェブサーバプログラム１２がウェブページデータ１１を提供することを許可している利用者に関する情報を管理するためのテーブルである。この利用者管理テーブル１２ａのレコードは、図示していないが、少なくとも、利用者を個別に識別するための情報（利用者ＩＤ［Identification］）を記録するフィールド，その利用者がアクセス許可を得るために入力してきた情報と照合される暗証情報を記録するフィールド，及び、その利用者にアクセスを許可するウェブページデータのパスを記録するフィールドを、有している。
【００２６】
アクセス管理モジュールプログラム１２ｂは、ウェブサーバプログラム１２が何れかのウェブクライアントマシン３０からＨＴＴＰリクエストメッセージを受信した場合に、要求されたウェブページデータをそのウェブクライアントマシン３０へ送信できるか否かを、判断するためのモジュールプログラムである。このアクセス管理モジュールプログラム１２ｂが送信を許可した場合に、ウェブサーバプログラム１２は、要求されたウェブページデータを要求元のウェブクライアントマシン３０へ送信する。
【００２７】
通信インターフェースプログラム１３は、ＴＣＰ／ＩＰ［Transmission Control Protocol/Internet Protocol］に従って他のコンピュータとネットワークＮを介したデータの遣り取りを行うためのプロトコルスタック（プログラム）である。
【００２８】
アノテーションサーバマシン２０は、アノテーションサーバの機能が付加された汎用コンピュータである。従って、このアノテーションサーバマシン２０は、図示していないが、少なくとも、ストレージ，ＣＰＵ，ＤＲＡＭ，及び、通信アダプタを、内蔵している。
【００２９】
このアノテーションサーバマシン２０のストレージは、アノテーションデータベース２１，アノテーションサーバプログラム２２，及び、通信インターフェースプログラム２３を、記憶している。ここで、アノテーション（注釈）とは、ＸＬｉｎｋ［XML Linking Language］等を活用した技術により、ソーステキストに起因せずにウェブページの一部分（文字列、画像）に関連づけられる付帯情報をいう。
【００３０】
アノテーションデータベース２１は、アノテーションデータを検索自在に記録しておくための機能（テーブル群及びプログラム群）である。アノテーションデータは、少なくとも、ウェブページの所在情報（ＵＲＬ），アノテーションが関連付けられるウェブページ上の位置を特定する位置情報，アノテーションの内容を特定する内容情報，その内容の作成に関する情報（アノテータ（アノテーションを行った利用者）の名前、作成日時など），及び、各アノテーションを個別に識別するためのアノテーションＩＤ［Identification］を、含んでいる。ここで、アノテーションデータに含まれる位置情報は、例えばＸｐａｔｈ［XML Path Language］に従って記述された情報のように、ソーステキスト上において木構造的に関連する各ブロックのルートやノードを特定する情報であっても良いし、ブロック毎に一意に割り当てられているブロックＩＤであっても良い。何れにしても、アノテーションデータには、アノテーションが関連付けられるオブジェクト（文字列）の位置を論理的に特定する抽象的な情報が、位置情報として利用される。
【００３１】
図２は、アノテーションデータのデータ構造の一例を示す図である。
【００３２】
図２に示すように、アノテーションデータは、少なくとも、アノテーションＩＤ、所在情報、内容情報、及び、位置情報を記録するためのフィールドを、含んでいる。ここで、図２に示す所在情報はＵＲＬである。また、図２に示す位置情報は、Ｘｐａｔｈにて記述された情報と、その情報にて特定されたブロックにおける先頭からオブジェクト開始位置までの文字数であるオフセットとからなる。なお、アノテーションデータには、これら情報の他に、例えば、アノテーションの作成日時，アノテータ（アノテーションを行った利用者）の名前、オブジェクトの大きさ（文字数）などが、含まれていても良い。
【００３３】
図１のアノテーションサーバプログラム２２は、アノテーションに関するサーバ側の処理を行うためのプログラムである。このアノテーションサーバプログラム２２は、管理モジュールプログラム２２ａ，権限管理テーブル２２ｂ，及び、送信モジュールプログラム２２ｃを、含んでいる。
【００３４】
管理モジュールプログラム２２ａは、ウェブクライアントマシン３０からの操作指示に従って、アノテーションデータベース２１に対するアノテーションデータの登録、修正又は削除を行うためのプログラムである。なお、管理モジュールプログラム２２ａに従って図示せぬＣＰＵが実行する処理の内容については、図６及び図７を用いて後述する。
【００３５】
また、権限管理テーブル２２ｂは、アノテーションを許可する利用者に関する情報を管理するためのテーブルである。この権限管理テーブル２２ｂのレコードは、図示していないが、利用者を個別に識別するための情報（利用者ＩＤ）を記録するフィールド，その利用者がアノテーション許可を得るために入力してきた情報と照合される暗証情報を記録するフィールド，及び、その利用者にアノテーションを許可するウェブページデータの所在情報を記録するフィールドを、有している。ここで、この権限管理テーブル２２ｂに蓄積されるレコードは、ウェブサーバマシン１０の利用者管理テーブル１２ａに蓄積されるレコードのうち、利用者ＩＤ，暗証情報，パスのフィールドの値を、複写したものであってもよい。この複写を実現するため、アノテーションサーバプログラム２２は、ウェブサーバマシン１０の利用者管理テーブル１２ａからレコードを複写して権限管理テーブル２２ｂを上書き更新する処理を定期的に行う機能（モジュールプログラム）を、含んでいても良い。また、この権限管理テーブル２２ｂに蓄積されるレコードは、利用者情報，暗証情報，所在情報の他に、その利用者に対して許可する操作の種類（アノテーションの登録、修正、削除）や、利用者に対して操作を許可するアノテーションデータの条件（アノテータ、アノテーション作成日時など）を、含んでいても良い。これら操作の種類や、データの条件は、ウェブサーバマシン１０の利用者管理テーブル１２ａから複写することができないため、アノテーションサーバ２０の管理者などが、これら情報を事前にアノテーションデータベース２１に登録しておく必要がある。なお、アノテーションを許可する利用者に関する情報を権限管理テーブル２２ｂに記憶するアノテーションサーバマシン２０は、記憶手段に相当する。
【００３６】
送信モジュールプログラム２２ｃは、ウェブクライアントマシン３０からの要求を受けてアノテーションデータをアノテーションデータベース２１からウェブクライアントマシン３０へ送信するためのプログラムである。
【００３７】
通信インターフェースプログラム２３は、ウェブサーバマシン１０のそれと同様に、ＴＣＰ／ＩＰスタックである。
【００３８】
ウェブクライアントマシン３０は、ウェブクライアントの機能が付加されたパーソナルコンピュータである。従って、ウェブクライアントマシン３０は、図示していないが、液晶ディスプレイ等の表示装置と、キーボードやマウス等の入力装置と、これら装置が接続された本体とからなる。そして、その本体は、ストレージ，ＣＰＵ，ＤＲＡＭ，及び、通信アダプタを、内蔵している。
【００３９】
ウェブクライアントマシン３０のストレージは、ウェブクライアントプログラム３１，及び、通信インターフェースプログラム３２を、記憶している。
【００４０】
ウェブクライアントプログラム３１は、ウェブサーバ（プログラムに因る機能）１２とのＨＴＴＰメッセージの遣り取りを通じてウェブサーバマシン１０内にあるウェブページデータを取得し、ウェブページを表示装置に表示するプログラムである。このウェブクライアントプログラム３１は、その拡張機能用のプログラムとして、編集モジュールプログラム３１ａ，及び、表示モジュールプログラム３１ｂを、含んでいる。
【００４１】
編集モジュールプログラム３１ａは、アノテーションデータの登録、修正又は削除についての操作指示をアノテーションサーバ（プログラムに因る機能）２２の管理モジュール（プログラムに因る機能）２２ａへ送信するためのプログラムである。なお、この編集モジュールプログラム３１ａは、アノテーションデータの登録や内容情報の更新に関しては、アノテーションデータを生成して管理モジュール２２ａに引き渡す機能を実現するためのプログラムでもある。なお、編集モジュールプログラム３１ａに従って図示せぬＣＰＵが実行する処理の内容については、図３乃至図５を用いて後述する。
【００４２】
表示モジュールプログラム３１ｂは、ウェブクライアント３１が表示するウェブページに関連付けられているアノテーションデータを送信モジュール（プログラムに因る機能）２２ｃから取得して、アノテーションをウェブページに重ねて表示するためのプログラムである。
【００４３】
通信インターフェースプログラム３２は、ウェブサーバマシン１０のそれと同様に、ＴＣＰ／ＩＰスタックである。
【００４４】
次に、アノテーションの登録、修正及び削除に係る処理の流れについて、説明する。
【００４５】
まず、ウェブクライアントマシン３０において、所定の操作が入力装置を通じてなされると、編集モジュールプログラム３１ａが起動される。
【００４６】
図３乃至図５は、編集モジュールプログラム３１ａによる処理の流れを示す図である。
【００４７】
編集モジュール（プログラムを実行した図示せぬＣＰＵ）３１ａは、処理開始後、最初のステップＳ１０１において、入力画面等を通じて、利用者から利用者情報（利用者ＩＤ）を受け付ける。
【００４８】
次のステップＳ１０２では、編集モジュール３１ａは、入力画面等を通じて、何れかのウェブページデータ１１の所在情報（ＵＲＬ）を操作者から受け付ける。
【００４９】
次のステップＳ１０３では、編集モジュール３１ａは、ステップＳ１０２で受け付けた所在情報にて特定されるウェブページデータ１１を、ウェブサーバ（プログラムを実行した図示せぬＣＰＵ）１２から取得する。
【００５０】
次のステップＳ１０４では、編集モジュール３１ａは、ステップＳ１０２で受け付けた所在情報を含む全てのアノテーションデータを、アノテーションサーバ（プログラムを実行した図示せぬＣＰＵ）２２から取得する。
【００５１】
次のステップＳ１０５では、編集モジュール３１ａは、編集画面を表示装置に表示する。その編集画面には、ステップＳ１０３で取得したウェブページデータ１１に基づくウェブページと、ステップＳ１０４で取得したアノテーションデータに基づくアノテーションとが、表示される。アノテーションは、アノテーションデータ内の位置情報にて特定される位置に関連付けられた状態で、表示される。
【００５２】
次のステップＳ１０６では、編集モジュール３１ａは、アノテーションの登録、アノテーションの修正、アノテーションの削除、作業終了、及び、その他の操作指示のうち、何れかを操作者から入力装置を通じて受け付ける。なお、アノテーションの登録の操作指示は、編集画面上に表示されているオブジェクトのクリック等による選択である。また、アノテーションの修正又は削除の操作指示は、編集画面上に表示されているアノテーションのクリック等による選択である。作業終了の操作指示は、ウインドウの閉じるボタンのクリック、或いは、アプリケーション終了メニューの選択である。その他の操作指示は、例えば、メニュー選択である。
【００５３】
次のステップＳ１０７では、編集モジュール３１ａは、ステップＳ１０６で受け付けた操作指示が作業終了であるか否かを、判別する。そして、操作指示が作業終了であった場合、編集モジュール３１ａは、図３乃至５に係る処理を終了する。一方、操作指示が作業終了でなかった場合、編集モジュール３１ａは、ステップＳ１０７からステップＳ１０８へ処理を分岐させる。
【００５４】
ステップＳ１０８では、編集モジュール３１ａは、ステップＳ１０５で受け付けた操作指示が編集画面上のオブジェクトの選択であるか否かを、判別する。そして、操作指示が編集画面上のオブジェクトの選択であった場合、編集モジュール３１ａは、ステップＳ１０９へ処理を進める。
【００５５】
ステップＳ１０９では、編集モジュール３１ａは、ステップＳ１０６で受け付けた操作指示により選択されたオブジェクトのウェブページデータ上での論理位置を、特定する。具体的には、編集モジュール３１ａは、まず、ウェブページデータのソーステキスト上において木構造的に関連する各ブロック（<body>と</body>のように同一要素の開始タグ及び終了タグで挟まれる部分が１ブロック）を特定し、ブロック毎にそのブロックを特定する情報（ルートやノードを特定する情報、又は、ブロック毎に一意なブロックＩＤ）を生成することにより、ウェブページデータの構造を解析する。次に、編集モジュール３１ａは、ステップＳ１０８で受け付けた指定により特定される部分のブロックを特定し、そのブロックの論理位置を特定する情報を、目的の位置情報とする。なお、この位置情報の一例としては、Ｘｐａｔｈとオフセットにて表現された『/HTML/BODY/TABLE/TR/TD  0』が、挙げられる。
【００５６】
次のステップＳ１１０では、編集モジュール３１ａは、操作者から、入力装置を通じて、アノテーションの内容を受け付ける。
【００５７】
次のステップＳ１１２では、編集モジュール３１ａは、ステップＳ１０１で受け付けた利用者情報（利用者ＩＤ）とステップＳ１０９で特定した論理位置の位置情報とステップＳ１１０で受け付けた内容を特定する内容情報とを含むアノテーションデータを生成し、そのアノテーションデータとともに登録依頼を、アノテーションサーバ（プログラムに因る機能）２２の管理モジュール（プログラムによる機能）２２ａへ送信する。その登録依頼の送信後、編集モジュール３１ａは、ステップＳ１０６へ処理を戻す。
【００５８】
一方、ステップＳ１０８において、操作指示が編集画面上のオブジェクトの選択でなかった場合、編集モジュール３１ａは、ステップＳ１０８からステップＳ１１３へ処理を分岐させる。
【００５９】
ステップＳ１１３では、編集モジュール３１ａは、ステップＳ１０５で受け付けた操作指示が編集画面上のアノテーションの選択であるか否かを、判別する。そして、操作指示が編集画面上のアノテーションの選択であった場合、編集モジュール３１ａは、ステップＳ１１４へ処理を進める。
【００６０】
ステップＳ１１４では、編集モジュール３１ａは、メニュー画面等を通じて、アノテーションの削除、アノテーションの位置修正、及び、アノテーションの内容修正の操作指示のうち、何れかを操作者から受け付ける。
【００６１】
次のステップＳ１１５では、編集モジュール３１ａは、ステップＳ１１４で受け付けた操作指示がアノテーションの削除であるか否かを、判別する。そして、操作指示がアノテーションの削除であった場合、編集モジュール３１ａは、ステップＳ１１５へ処理を進める。
【００６２】
ステップＳ１１５では、編集モジュール３１ａは、ステップＳ１０１で受け付けた利用者情報（利用者ＩＤ）と削除指示を受け付けた際に選択されていたアノテーションのアノテーションＩＤとともに、そのアノテーションの解除依頼を、管理モジュール２２ａに送信する。その後、ステップＳ１０６へ処理を戻す。
【００６３】
一方、ステップＳ１１５において、ステップＳ１１４で受け付けた操作指示がアノテーションの削除でなく、アノテーションの修正（位置修正又は内容修正）であった場合、編集モジュール３１ａは、ステップＳ１１５からステップＳ１１７へ処理を分岐させる。
【００６４】
ステップＳ１１７では、編集モジュール３１ａは、ステップＳ１１４で受け付けた操作指示がアノテーションの位置修正であるか否かを、判別する。そして、操作指示がアノテーションの位置修正であった場合、編集モジュール３１ａは、ステップＳ１１８へ処理を進める。
【００６５】
ステップＳ１１８では、編集モジュール３１ａは、操作者から、入力装置を通じて、編集画面上のオブジェクトの選択を受け付ける。
【００６６】
次のステップＳ１１９では、編集モジュール３１ａは、ステップＳ１１８で受け付けた選択により特定されるオブジェクトのウェブページデータ上での論理位置を、特定する。その後、編集モジュール３１ａは、ステップＳ１２２へ処理を進める。
【００６７】
一方、ステップＳ１１７において、ステップＳ１１４で受け付けた操作指示がアノテーションの位置修正でなく、アノテーションの内容修正であった場合、編集モジュール３１ａは、ステップＳ１１７からステップＳ１２０へ処理を分岐させる。
【００６８】
ステップＳ１２０では、編集モジュール３１ａは、操作者から、入力装置を通じて、アノテーションの内容を受け付ける。その後、編集モジュール３１ａは、ステップＳ１２２へ処理を進める。
【００６９】
ステップＳ１２２では、編集モジュール３１ａは、ステップＳ１０１で受け付けた利用者情報（利用者ＩＤ）と、ステップ１０６で操作指示を受け付けた際に選択されていたアノテーションのアノテーションＩＤと、ステップＳ１１９で特定した位置情報又はステップＳ１２０で受け付けた内容を特定する内容情報とを含むアノテーションデータを生成し、その後、そのアノテーションデータとともに修正依頼を、管理モジュール２２ａに送信する。その修正依頼の送信後、編集モジュール３１ａは、ステップＳ１０６へ処理を戻す。
【００７０】
一方、ステップＳ１１３において、操作指示が編集画面上のアノテーションの選択でなかった場合、編集モジュール３１ａは、ステップＳ１１３からステップＳ１２３へ処理を分岐させる。
【００７１】
ステップＳ１２３では、編集モジュール３１ａは、ステップＳ１０６で受け付けた操作指示に応じた処理を実行し、その後、ステップＳ１０６へ処理を戻す。
【００７２】
この編集モジュール３１ａによれば、ウェブクライアントマシン３０の操作者は、アノテーションの登録や修正や削除を、アノテーションサーバ２２に指示することができる。
【００７３】
図６及び図７は、アノテーションサーバプログラム２２内の管理モジュールプログラム２２ａによる処理の流れを示す図である。
【００７４】
管理モジュールプログラム２２ａは、アノテーションサーバマシン２０の起動後、図示せぬＣＰＵによって実行されるようになっている。そして、実行開始後、管理モジュール（プログラムを実行した図示せぬＣＰＵ）２２ａは、最初のステップＳ２０１において、何れかのウェブクライアントマシン３０の編集モジュール３１ａから、操作依頼を受信するまで待機する状態になる。そして、何れかのウェブクライアントマシン３０から操作依頼を受信すると、管理モジュール２２ａは、ステップＳ２０２へ処理を進める。なお、このステップＳ２０１を実行する図示せぬＣＰＵは、前述した受信手段に相当する。
【００７５】
ステップＳ２０２では、管理モジュール２２ａは、ステップＳ２０１で受信した操作依頼に含まれる利用者情報（利用者ＩＤ）をキーに、権限管理テーブル２２ｂを検索する。
【００７６】
次のステップＳ２０３では、管理モジュール２２ａは、権限管理テーブル２２ｂからレコードが検出できたか否かを、判別する。そして、権限管理テーブル２２ｂからレコードが検出できなかった場合、管理モジュール２２ａは、ステップＳ２０３からステップＳ２０４へ処理を分岐させる。なお、ステップＳ２０２及びＳ２０３を実行する図示せぬＣＰＵは、前述した判定手段に相当する。
【００７７】
ステップＳ２０４では、管理モジュール２２ａは、操作依頼の送信元のウェブクライアント３１へ、アノテーションを行う権限がない旨を表示するための情報を、送信する。その後、管理モジュール２２ａは、図６及び図７に係る処理を終了する。
【００７８】
一方、ステップＳ２０３において、権限管理テーブル２２ｂからレコードが検出できたときには、管理モジュール２２ａは、ステップＳ２０５へ処理を進める。
【００７９】
ステップＳ２０５では、管理モジュール２２ａは、ステップＳ２０１で受信した操作依頼が削除依頼であったか否かを、判別する。そして、ステップＳ２０１で受信した操作依頼が削除依頼であった場合、管理モジュール２２ａは、ステップＳ２０６へ処理を進める。
【００８０】
ステップＳ２０６では、管理モジュール２２ａは、ステップＳ２０１で削除依頼とともに受信したアノテーションＩＤに係るアノテーションデータを、アノテーションデータベース２１から削除する。なお、アノテーションの削除は、当該アノテーションデータをアノテーションデータベース２１内で削除状態にするものであっても良い。ここで、削除状態とは、実際にアノテーションデータベース２１からアノテーションデータを削除した状態ではなく、表示モジュール（プログラムに因る機能）３１ｃからの要求があってもアノテーションデータを送らない状態を言う。その状態は、例えばフラグにより管理することができる。その後、管理モジュール２２ａは、図６及び図７に係る処理を終了する。
【００８１】
一方、ステップＳ２０５において、ステップＳ２０１で受信した操作依頼が削除依頼でなかった場合、管理モジュール２２ａは、ステップＳ２０５からステップＳ２０７へ処理を分岐させる。
【００８２】
ステップＳ２０７では、管理モジュール２２ａは、ステップＳ２０１で受信した操作依頼が登録依頼であったか否かを、判別する。そして、ステップＳ２０１で受信した操作依頼が登録依頼であった場合、管理モジュール２２ａは、ステップＳ２０８へ処理を進める。
【００８３】
ステップＳ２０８では、管理モジュール２２ａは、ステップＳ２０１で登録依頼とともに受信したアノテーションデータに対し、新たなアノテーションＩＤを発行する。
【００８４】
次のステップＳ２０９では、管理モジュール２２ａは、ステップＳ２０８で発行したアノテーションＩＤとともに、ステップＳ２０１で受信したアノテーションデータを、アノテーションデータベース２１に登録する。その後、管理モジュール２２ａは、図６及び図７に係る処理を終了する。
【００８５】
一方、ステップＳ２０７において、ステップＳ２０１で受信した操作依頼が登録依頼でなかった場合、管理モジュール２２ａは、ステップＳ２０７からステップＳ２１０へ処理を分岐させる。
【００８６】
ステップＳ２１０では、管理モジュール２２ａは、ステップＳ２０１で修正依頼とともに受信したアノテーションデータを、アノテーションデータベース２１における同じアノテーションＩＤのレコードに上書きする。その後、管理モジュール２２ａは、図６及び図７に係る処理を終了する。なお、ステップＳ３０６乃至Ｓ３０９を実行する図示せぬＣＰＵは、前述した登録手段に相当する。
【００８７】
次に、第１の実施形態のコンピュータネットワークシステムの作用及び効果について、説明する。
【００８８】
ウェブクライアントマシン３０の操作者が、図示せぬ入力装置を操作することによって、編集モジュールプログラム３１ａを起動し、自分の利用者情報（利用者ＩＤ）と任意のウェブページデータの所在情報とを入力すると、編集画面が、図示せぬ表示装置に表示される（ステップＳ１０１乃至Ｓ１０５）。その編集画面には、操作者が指定したウェブページと、そのウェブページに関連付けられているアノテーションとが、含まれている。
【００８９】
その後、操作者が、編集画面上のオブジェクトを選択した後、アノテーションの内容を入力する操作を行うと、登録依頼がアノテーションサーバ２２に送られる（ステップＳ１１２）。また、操作者が、編集画面上のアノテーションを選択した後、修正の操作指示を入力した場合には、その操作指示に対応する所定の操作を行うと、修正依頼がアノテーションサーバ２２に送られ（ステップＳ１２２）、削除の操作指示を入力した場合には、何れの操作も要求されることなく、削除依頼がアノテーションサーバ２２に送られる（ステップＳ１１６）。
【００９０】
すると、アノテーションサーバ２２の管理モジュール２２ａが、何れかの操作依頼を受信した後、まず、その操作依頼をした利用者がアノテーションを行う権限を有するか否かが、確認される（ステップＳ２０１乃至Ｓ２０３）。そして、当該利用者がアノテーションを行う権限を有している場合、その操作依頼に対応する処理が継続され（ステップＳ２０５）、当該利用者がアノテーションを行う権限を有していない場合、その旨がその利用者に通知される（ステップＳ２０４）。
【００９１】
ここで、利用者の権限の判定については、前述したように、権限管理テーブル２２ｂが利用されるが、この権限管理テーブル２２ｂ内の情報は、ウェブサーバ（プログラムに因る機能）１２の利用者管理テーブル１２ａ内の情報を複写したものである。このため、アノテーションに関する操作は、そのアノテーションが関連付けられようとしているウェブページに対するアクセス権限を有している者しか、行えないこととなる。つまり、第１の実施形態によれば、アノテーションに関する操作が行える者を、ウェブページへアクセスできる者のみに、限定することができる。
【実施形態２】
【００９２】
図８は、第２の実施形態のコンピュータネットワークシステムの構成図である。
【００９３】
第２の実施形態は、アノテーションに関する操作の許可不許可が、その操作の実行権限により判定されるのではなく（図６のステップＳ２０２，Ｓ２０３の処理、権限管理テーブル２２ｂ）、ウェブページデータの作成者がウェブページデータに埋め込んだ後述のアノテーション制御情報により判定される点で、第１の実施形態と異なる。しかし、それ以外のハードウエア構成及びソフトウエア構成は、基本的に、第１の実施形態と同じである。図８と図１とを比較して明らかなように、アノテーションサーバマシン２０の管理モジュールプログラムには、第１の実施形態と第２の実施形態とにおいて異なる符号が付されているが、これは、第２の実施形態の管理モジュールプログラム２２ａ’の処理内容が、第１の実施形態のそれと若干異なっているためである。また、ウェブサーバマシン１０のウェブページデータにも、第１の実施形態と第２の実施形態とにおいて異なる符号が付されているが、これは、第２の実施形態のウェブページデータ１１’には、後述のアノテーション制御情報が埋め込まれているためである。なお、第２の実施形態のウェブサーバプログラム１２には、第１の実施形態における利用者管理テーブル１２ａ及びアクセス管理モジュール１２ｂが含まれていないが、これは、第２の実施形態のアノテーションサーバプログラム２２に、第１の実施形態における権限管理テーブル２２ｂが含まれていないためである。つまり、第２の実施形態のウェブサーバマシン１０は、ウェブページデータへのアクセス制御を行うものであってもよいし、そうでなくてもよい。
【００９４】
図９は、第２の実施形態の管理モジュールプログラム２２ａ’による処理の流れの一部を示す図である。なお、この図９に示される部分以外の処理の流れは、図７に示されているものと共通する。すなわち、第の実施形態の管理モジュールプログラブ２２ａ’による処理の流れは、図９及び図７に係る処理の流れを組み合わせたものとなっている。
【００９５】
アノテーションサーバマシン２０の起動後に実行開始された管理モジュール（プログラムを実行した図示せぬＣＰＵ）２２ａ’は、最初のステップＳ３０１において、何れかのウェブクライアントマシン３０の編集モジュール３１ａから、操作依頼を受信するまで待機する状態になる。そして、何れかのウェブクライアントマシン３０から操作依頼を受信すると、管理モジュール２２ａ’は、ステップＳ３０２へ処理を進める。なお、このステップＳ３０１を実行する図示せぬＣＰＵは、前述した受信手段に相当する。
【００９６】
ステップＳ３０２では、管理モジュール２２ａ’は、ステップＳ３０１で登録依頼を受信した場合には、その登録依頼とともに受信したアノテーションデータから所在情報を取得する。また、管理モジュール２２’は、ステップＳ３０１で修正依頼又は削除依頼を受信した場合には、その修正依頼又は削除依頼とともに受信したアノテーションデータ内のアノテーションＩＤを含むレコードをアノテーションデータベース２１から読み出し、その読み出したレコードから所在情報を取得する。そして、管理モジュール２２’は、取得した所在情報にて特定されるウェブページデータ１１’を、ウェブサーバ（プログラムを実行した図示せぬＣＰＵ）１２から取得する。なお、ステップＳ３０２を実行する図示せぬＣＰＵは、前述した取得手段に相当する。
【００９７】
次のステップＳ３０３では、管理モジュール２２ａ’は、ステップＳ３０３で取得したウェブページデータ１１’の中から、アノテーション制御情報を検索する。ここで、アノテーション制御情報とは、そのウェブページデータ１１’についてアノテーションが行える利用者を特定するための情報である。例えば、どの利用者でもアノテーションが行えるか否かを示すフラグ情報，アノテーションに係る操作を許可する利用者の利用者情報（利用者ＩＤ），アノテーションの実行を許可する利用者のウェブクライアントマシン３０のＩＰアドレス，許可する操作の種類（登録、修正、削除）を特定する情報がある。
【００９８】
次のステップＳ３０４では、管理モジュール２２ａ’は、ウェブページデータ１１’の中からアノテーション制御情報が検出できたか否かを、判別する。そして、ウェブページデータ１１’の中からアノテーション制御情報が検出できなかった場合には、管理モジュール２２ａ’は、ステップＳ３０４からステップＳ３０５へ処理を分岐させる。
【００９９】
ステップＳ３０５では、管理モジュール２２ａ’は、アノテーション制御情報がなかった場合におけるアノテーションに係る操作の許可不許可を事前に設定しておくためのフラグ情報を読み出し、そのフラグ情報が許可を示すか否かを、判別する。そして、管理モジュール２２ａ’は、そのフラグ情報が許可を示すものであれば、ステップＳ３０５から図７のステップＳ２０５へ処理を分岐させ、そのフラグ情報が不許可を示すものであれば、ステップＳ３０７へ処理を進める。
【０１００】
一方、ステップＳ３０４において、ウェブページデータ１１’の中からアノテーション制御情報が検出できた場合には、管理モジュール２２ａ’は、ステップＳ３０６へ処理を進める。
【０１０１】
ステップＳ３０６では、管理モジュール２２ａ’は、ステップＳ３０４でウェブページデータ１１’から検出したアノテーション制御情報に基づいて、ウェブクライアント３１から依頼された操作（登録、修正又は削除）が許可できるか否かを、判別する。そして、管理モジュール２２ａ’は、ウェブクライアント３１から依頼された操作が許可できる場合には、図７のステップＳ２０５へ処理を進め、ウェブクライアント３１から依頼された操作が許可できない場合には、ステップＳ３０６からステップＳ３０７へ処理を分岐させる。なお、ステップＳ３０３乃至Ｓ３０６を実行する図示せぬＣＰＵは、前述した読出手段に相当する。
【０１０２】
ステップＳ３０７では、管理モジュール２２ａ’は、操作依頼の送信元のウェブクライアント３１へ、ウェブクライアント３１から依頼された操作を行う権限が利用者に無い旨を表示するための情報を、送信する。その後、管理モジュール２２ａ’は、図９及び図７に係る処理を終了する。
【０１０３】
一方、ウェブクライアント３１から依頼された操作が許可された場合（ステップＳ３０５；許可、Ｓ３０６；ＹＥＳ）、管理モジュール２２ａ’は、ステップＳ３０１で受信した操作依頼の種類に応じて処理を行う（ステップＳ２０５〜Ｓ２１０）。すなわち、管理モジュール２２’は、ステップＳ３０１で受信した操作依頼が削除依頼であれば、その削除依頼と同時に受信したアノテーションＩＤに係るアノテーションデータを、アノテーションデータベース２１から削除し（ステップＳ２０６）、ステップＳ３０１で受信した操作依頼が登録依頼であれば、その登録依頼と同時に受信したアノテーションデータに新たなアノテーションＩＤを発行してアノテーションデータベース２１に登録し（ステップＳ２０８，Ｓ２０９）、ステップＳ３０１で受信した操作依頼が修正依頼であれば、その修正依頼と同時に受信したアノテーションＩＤに係るアノテーションデータをアノテーションデータベース２１から検出し、そのアノテーションデータを上書き更新する（ステップＳ２１０）。なお、ステップＳ４１０乃至Ｓ４１３を実行する図示せぬＣＰＵは、前述した登録手段に相当する。
【０１０４】
次に、第２の実施形態のコンピュータネットワークシステムの作用及び効果について、説明する。
【０１０５】
アノテーションサーバ２２の管理モジュール２２ａ’は、ウェブクライアントマシン３０から操作依頼を受信すると、まず、その操作依頼に係るウェブページデータのアノテーション制御情報により、その操作依頼が許可できるか否かが、確認される（ステップＳ３０４，Ｓ３０６）。その操作依頼が許可できれば、その操作依頼に対応する処理が継続される（ステップＳ２０５乃至Ｓ２１０）。しかし、その操作依頼が許可できなかったり、アノテーション制御情報が含まれていないときの初期設定がアノテーションに係る操作を許可しないものであったりしたときは、その旨が利用者に通知される（ステップＳ３０５；不許可，Ｓ３０６；ＮＯ，Ｓ３０７）。
【０１０６】
ここで、アノテーション制御情報は、ウェブページデータ１１’の作成者がそのウェブページデータ１１’に埋め込んだ情報である。このため、この作成者は、そのウェブページデータ１１’に埋め込むアノテーション制御情報を通じて、そのウェブページデータ１１’によるウェブページに対してアノテーションを行うことを許可する者を、制御することができる。つまり、第２の実施形態によれば、ウェブページデータ１１’の作成者は、そのウェブページデータに対するアノテーションを、制御することができる。
【実施形態３】
【０１０７】
図１０は、第３の実施形態のコンピュータネットワークシステムの構成図である。
【０１０８】
第３の実施形態は、アノテーションに関する操作の許可不許可を判定する処理（図６のステップＳ２０２，Ｓ２０３、又は、図９のステップＳ３０２乃至Ｓ３０７）が行われるのではなく、アノテーションの登録又は内容修正が行われる際にその内容が許可できるものであるか否かについて判定する処理を行う点で、第１及び第２の実施形態と異なる。しかし、それ以外のハードウエア構成及びソフトウエア構成は、基本的に、第１及び第２の実施形態と同じである。図１０と図８と図１とを比較して明らかなように、アノテーションサーバマシン２０の管理モジュールプログラムには、第１及び第２の実施形態と第３の実施形態とにおいて異なる符号が付されているが、これは、第３の実施形態の管理モジュールプログラム２２ａ”の処理内容が、第１及び第２の実施形態のそれと若干異なっているためである。また、ウェブサーバマシン１０のウェブページデータには、第１の実施形態と同じ符号が付されているが、これは、第２の実施形態におけるアノテーション制御情報がウェブページデータに埋め込まれていないためである。なお、第３の実施形態のウェブサーバプログラム１２には、第１の実施形態における利用者管理テーブル１２ａ及びアクセス管理モジュール１２ｂが含まれていないが、これは、第３の実施形態のアノテーションサーバプログラム２２に、第１の実施形態における権限管理テーブル２２ｂが含まれていないためである。つまり、第３の実施形態のウェブサーバマシン１０は、ウェブページデータへのアクセス制御を行うものであってもよいし、そうでなくてもよい。
【０１０９】
さらに、第３の実施形態のアノテーションサーバプログラム２２は、第１の実施形態の権限管理テーブル２２ｂを含んでいないが、拒絶一覧テーブル２２ｄを含んでいる。
【０１１０】
この拒絶一覧テーブル２２ｄは、アノテーションデータベース２１に登録すべきでないアノテーションの条件が列挙されたテーブルである。この拒絶一覧テーブル２２ｃには、例えば、一時的に利用を認めない利用者の利用者ＩＤや、アノテーションの内容に含まれるべきでない禁止語句が、登録される。
【０１１１】
図１１及び図１２は、第３の実施形態の管理モジュールプログラム２２ａ”による処理の流れを示す図である。
【０１１２】
アノテーションサーバマシン２０の起動後に実行開始された管理モジュール（プログラムを実行した図示せぬＣＰＵ）２２ａ”は、最初のステップＳ４０１において、何れかのウェブクライアントマシン３０の編集モジュール３１ａから、操作依頼を受信するまで待機する状態になる。そして、何れかのウェブクライアントマシン３０から操作依頼を受信すると、管理モジュール２２ａ”は、ステップＳ４０２へ処理を進める。なお、このステップＳ４０１を実行する図示せぬＣＰＵは、前述した受信手段に相当する。
【０１１３】
ステップＳ４０２では、管理モジュール２２ａ”は、ステップＳ４０１で受信した操作依頼が削除依頼であるか否かを、判別する。そして、ステップＳ４０１で受信した操作依頼が削除依頼であった場合、管理モジュール２２ａ”は、ステップＳ４０３へ処理を進める。
【０１１４】
ステップＳ４０３では、管理モジュール２２ａ”は、ステップＳ４０１で削除依頼とともに受信したアノテーションＩＤに係るアノテーションデータを、アノテーションデータベース２１から削除する。或いは、管理モジュール２２ａ”は、当該アノテーションデータをアノテーションデータベース２１内で削除状態にする。その後、管理モジュール２２ａ”は、図１１及び図１２に係る処理を終了する。
【０１１５】
一方、ステップＳ４０２において、ステップＳ４０１で受信した操作依頼が削除依頼でなかった場合、管理モジュール２２”は、ステップＳ４０２からステップＳ４０４へ処理を分岐させる。
【０１１６】
ステップＳ４０４では、管理モジュール２２ａ”は、拒絶一覧テーブル２２ｄ内に列挙されている各情報について、ステップＳ４０１で登録依頼又は修正依頼とともに受信したアノテーションデータを検索する。前述したように、拒絶一覧テーブル２２ｄには、利用者情報（利用者ＩＤ）や拒絶語句などが列挙されているので、それら一つ一つの情報をキーとして、アノテーションデータに含まれる利用者情報や内容情報にて特定される内容を、検索する。
【０１１７】
次のステップＳ４０５では、管理モジュール２２ａ”は、ステップＳ２０１で受信したアノテーションデータから、拒絶一覧テーブル２２ｄ内の何れかの情報が検出されたか否かを、判別する。そして、当該アノテーションデータから、拒絶一覧テーブル２２ｄ内の何れかの情報が検出された場合、管理モジュール２２ａ”は、ステップＳ４０６へ処理を進める。なお、ステップＳ４０４及びＳ４０５を実行する図示せぬＣＰＵは、前述した判定手段に相当する。
【０１１８】
ステップＳ４０６では、管理モジュール２２ａ”は、操作依頼の送信元のウェブクライアント３１へ、アノテーションの登録又は内容修正が諸条件により許可できない旨を表示するための情報を、送信する。その後、管理モジュール２２ａ”は、図１１及び図１２に係る処理を終了する。
【０１１９】
一方、ステップＳ４０５において、当該アノテーションデータから、拒絶一覧テーブル２２ｄ内の何れかの情報も検出されなかった場合、管理モジュール２２ａ”は、ステップＳ４０５からステップＳ４０７へ処理を分岐させる。
【０１２０】
ステップＳ４０７では、管理モジュール２２ａ”は、ステップＳ４０１で受信した操作依頼が登録依頼であったか否かを、判別する。そして、受信した操作依頼が登録依頼であった場合、管理モジュール２２ａ”は、ステップＳ４０８へ処理を進める。
【０１２１】
ステップＳ４０８では、管理モジュール２２ａ”は、ステップＳ２０１で登録依頼とともに受信したアノテーションデータに対し、新たなアノテーションＩＤを発行する。
【０１２２】
次のステップＳ４０９では、管理モジュール２２ａ”は、ステップＳ４０８で発行したアノテーションＩＤとともに、ステップＳ２０１で受信したアノテーションデータを、アノテーションデータベース２１に登録する。その後、管理モジュール２２ａ”は、図１１及び図１２に係る処理を終了する。
【０１２３】
一方、ステップＳ４０７において、ステップＳ２０１で受信した操作依頼が登録依頼でなかった場合、管理モジュール２２ａは、ステップＳ４０７からステップＳ４１０へ処理を分岐させる。
【０１２４】
ステップＳ４１０では、管理モジュール２２ａ”は、ステップＳ４０１で修正依頼とともに受信したアノテーションデータを、アノテーションデータベース２１における同じアノテーションＩＤのレコードに上書きする。その後、管理モジュール２２ａ”は、図１１及び図１２に係る処理を終了する。なお、ステップＳ４０７乃至Ｓ４１０を実行する図示せぬＣＰＵは、前述した登録手段に相当する。
【０１２５】
次に、第３の実施形態のコンピュータネットワークシステムの作用及び効果について、説明する。
【０１２６】
アノテーションサーバ２２の管理モジュール２２ａ”は、ウェブクライアントマシン３０から登録依頼又は修正依頼を受信すると、その操作依頼が許可できるものであるか否かが、確認される（ステップＳ４０１，Ｓ４０２；ＮＯ，Ｓ４０４，Ｓ４０５）。そして、その操作依頼が諸条件を満たしてしまうことによってその操作依頼が許可できなければ、ウェブクライアント３１から依頼された操作（登録又は修正）に係る処理が行われず、その旨が利用者に通知される（ステップＳ４０６）。
【０１２７】
ここで、操作依頼の許可不許可の判定については、前述したように、拒絶一覧テーブル２２ｄが利用される。従って、第３の実施形態によれば、アノテーションサーバマシン２０の管理者は、例えば、アノテーションの内容に含まれるべきでない差別的な語句のような任意の条件を、この拒絶一覧テーブル２２ｄに登録しておくことにより、その条件を満たしてしまう操作が行われることを未然に防ぐことができる。
【実施形態４】
【０１２８】
図１３は、第４の実施形態のコンピュータネットワークシステムの構成図である。
【０１２９】
第４の実施形態は、何らかの情報（図１の権限管理テーブル２２ｂ、図８のウェブページデータ１１’内のアノテーション制御情報、又は、図１０の拒絶一覧テーブル２２ｄ）に基づいてアノテーションについての操作が行われるのを制限するのではなく、ウェブクライアントマシン３０の操作者が、アノテーションを登録する際に、所定の状態になったときにそのアノテーションに関する任意のアクション（後述）が動作するよう、設定できる点で、第１乃至第３の実施形態と相違する。しかし、それ以外のハードウエア構成及びソフトウエア構成は、基本的に、第１乃至第３の実施形態と同じである。図１３と図１０と図８と図１とを比較して明らかなように、アノテーションサーバマシン２０のアノテーションサーバプログラム２４には、第１乃至第３の実施形態のそれと異なる符号が付されている。なお、第４の実施形態のウェブサーバプログラム１２には、第１の実施形態における利用者管理テーブル１２ａ及びアクセス管理モジュール１２ｂが含まれていないが、これは、第４の実施形態のアノテーションサーバプログラム２２に、第１の実施形態における権限管理テーブル２２ｂが含まれていないためである。つまり、第４の実施形態のウェブサーバマシン１０は、ウェブページデータへのアクセス制御を行うものであってもよいし、そうでなくてもよい。
【０１３０】
図１３に示すように、第４の実施形態のアノテーションサーバプログラム２４は、管理モジュールプログラム２４ａ及び送信モジュールプログラム２４ｄの他に、状態管理テーブル２４ｂ及び監視モジュールプログラム２４ｃを、含んでいる。
【０１３１】
図１４は、状態管理テーブル２４ｂのデータ構造の一例を示す図である。
【０１３２】
状態管理テーブル２４ｂは、ウェブクライアントマシン３０の操作者がアノテーションについて選択したアクション等に関する情報（アクション関連情報）を記録しておくためのテーブルである。図１４に示すように、状態管理テーブル２４ｂの各レコードは、具体的には、「アノテーションＩＤ」，「監視対象イベント」，「アクション」，「開始条件」及び「状態」の各フィールドを、有している。このうち、「アノテーションＩＤ」フィールドは、アノテーションＩＤが記録されるフィールドである。「監視対象イベント」フィールドは、アノテーションの表示やクリックや時刻到達や時間経過のようなイベントのうち、利用者が監視対象として選択したイベントの種類が記録されるフィールドである。「アクション」フィールドは、監視対象イベントが或る状態になったときになされるべきアクション（後述）を特定するアクション情報が記録されるフィールドである。「開始条件」フィールドは、アクションが開始される監視対象イベントの状態が記録されるフィールドである。「状態」フィールドは、監視対象イベントの状態が記録されるフィールドである。
【０１３３】
図１３の監視モジュールプログラム２４ｃは、図１４の状態管理テーブル２４ｂに登録されている監視対象イベントが発生したときに開始条件に到達したかを確認し、開始条件に到達したアクション関連情報につき、アクションを起こさせるためのプログラムである。
【０１３４】
図１５及び図１６は、編集モジュールプログラム３１ａ’による処理の流れの一部を示す図である。なお、この図１５及び図１６に示される部分以外の処理の流れは、図３に示されているものと共通する。すなわち、第４の実施形態の編集モジュールプログラム３１ａ’による処理の流れは、図１５，図１６及び図３に係る処理の流れを組み合わせたものとなっている。
【０１３５】
図３に示すように、編集モジュール（プログラムを実行した図示せぬＣＰＵ）３１ａ’は、起動後、入力画面等を通じて利用者情報（利用者ＩＤ）と何れかのウェブページデータの所在情報（ＵＲＬ）とを操作者から受け付け（ステップＳ１０１，Ｓ１０２）、そのウェブページデータをウェブサーバ（プログラムを実行した図示せぬＣＰＵ）１２から取得するとともに（ステップＳ１０３）、その所在情報を含む全てのアノテーションデータをアノテーションサーバ（プログラムを実行した図示せぬＣＰＵ）２２から取得する（ステップＳ１０４）。
【０１３６】
続いて、編集モジュール３１ａ’は、編集画面を表示装置に表示し（ステップＳ１０５）、入力装置を通じて操作指示を操作者から受け付けると（ステップＳ１０６）、その受け付けた操作指示の種別を判別する（ステップＳ１０７，Ｓ１０８，Ｓ１１３）。そして、編集モジュール３１ａ’は、その操作指示が編集画面上のオブジェクトの選択であった場合、図１５のステップＳ１０９へ処理を進め、その操作指示が編集画面上のアノテーションの選択であった場合、図１６のステップＳ１１４へ処理を進める。
【０１３７】
操作指示が編集画面上のオブジェクトの選択であった場合、編集モジュール３１ａ’は、その操作指示により特定されるオブジェクトのウェブページデータ上での論理位置を、特定する（ステップＳ１０９）。続いて、編集モジュール３１ａ’は、アノテーションの内容を受け付ける（ステップＳ１１０）。
【０１３８】
この後、第１の実施形態では、アノテーションデータと登録依頼とを送信する処理（ステップＳ１１２）が行われるが、第４の実施形態では、その処理の前に、図１５に示すように、アクション関連情報を受け付ける処理（ステップＳ１１１）が、行われる。
【０１３９】
具体的には、このステップＳ１１１では、編集モジュール３１ａ’は、入力画面等を通じて、監視対象のイベント（アノテーションの表示やクリックや時刻到達や時間経過）、アクションの内容（アノテーションの削除、アノテーションの可視化、アノテーションの内容の表示形態の変化）、開始条件（表示回数やクリック回数の閾値、到達すべき時刻、経過すべき時間）を、操作者から受け付ける。
【０１４０】
編集モジュール３１ａ’は、以上のようにしてアクション関連情報を取得した後、そのアクション関連情報とともに、アノテーションデータと登録依頼とをアノテーションサーバ２２へ送信する（ステップＳ１１２）。
【０１４１】
また、操作指示が編集画面上のアノテーションの選択であった場合、編集モジュール３１ａ’は、メニュー画面等を通じて、アノテーションの削除、アノテーションの位置修正、及び、アノテーションの内容修正の操作指示のうち、何れかを受け付ける（ステップＳ１１４）。
【０１４２】
その操作指示がアノテーションの内容修正であった場合、編集モジュール３１ａ’は、操作者から、アノテーションの内容を受け付けるとともに、アクション関連情報を受け付け（ステップＳ１２０，Ｓ１２１）、アクション関連情報とアノテーションデータと修正依頼とをアノテーションサーバ２２へ送信する（ステップＳ１２２）。
【０１４３】
図１７は、第４の実施形態の管理モジュールプログラム２４ａによる処理の流れを示す図である。
【０１４４】
アノテーションサーバマシン２０の起動後に実行開始された管理モジュール（プログラムを実行した図示せぬＣＰＵ）２４ａは、最初のステップＳ５０１において、何れかのウェブクライアントマシン３０の編集モジュール３１ａ’から、操作依頼を受信するまで待機する状態になる。そして、何れかのウェブクライアントマシン３０から操作依頼を受信すると、管理モジュール２４ａは、ステップＳ５０２へ処理を進める。なお、このステップＳ５０１を実行する図示せぬＣＰＵは、前述した受信手段に相当する。
【０１４５】
ステップＳ５０２では、管理モジュール２４ａは、ステップＳ５０１で受信した操作依頼が削除依頼であるか否かを、判別する。そして、ステップＳ５０１で受信した操作依頼が削除依頼であった場合、管理モジュール２４ａは、ステップＳ５０３へ処理を進める。
【０１４６】
ステップＳ５０３では、管理モジュール２４ａは、ステップＳ５０１で削除依頼とともに受信したアノテーションＩＤに係るアノテーションデータを、アノテーションデータベース２１から削除する。或いは、管理モジュール２４ａは、当該アノテーションデータをアノテーションデータベース２１内で削除状態にする。その後、管理モジュール２４ａは、図１７に係る処理を終了する。
【０１４７】
一方、ステップＳ５０２において、ステップＳ５０１で受信した操作依頼が削除依頼でなかった場合、管理モジュール２４ａは、ステップＳ５０２からステップＳ５０４へ処理を分岐させる。
【０１４８】
ステップＳ５０４では、管理モジュール２４ａは、ステップＳ５０１で受信した操作依頼が登録依頼であったか否かを、判別する。そして、受信した操作依頼が登録依頼であった場合、管理モジュール２４ａは、ステップＳ５０５へ処理を進める。
【０１４９】
ステップＳ５０５では、管理モジュール２４ａは、ステップＳ５０１で登録依頼とともに受信したアノテーションデータに対し、新たなアノテーションＩＤを発行する。
【０１５０】
次のステップＳ５０６では、管理モジュール２４ａは、ステップＳ５０５で発行したアノテーションＩＤとともに、ステップＳ５０１で受信したアノテーションデータを、アノテーションデータベース２１に登録する。
【０１５１】
次のステップＳ５０７では、管理モジュール２４ａは、ステップＳ５０１で登録依頼とともに受信したアクション関連情報と、ステップＳ５０５で発行したアノテーションＩＤとを、図１４の状態管理テーブル２４ｂに登録する。なお、このとき登録されるレコードの「状態」フィールドには、初期値が記録される。監視対象イベントが表示やクリックであれば、０回が初期値となる。監視対象イベントが時間経過であれば、０秒が初期値となる。また、登録されたレコードの「監視対象イベント」フィールドの値が、時刻到達や時間経過である場合には、管理モジュール２４ａは、その時刻に到達したときやその時間が経過したときに割り込みを生じさせるプロセスを生成する処理も行う。その後、管理モジュール２４ａは、図１７に係る処理を終了する。
【０１５２】
一方、ステップＳ５０４において、受信した操作依頼が登録依頼でなかった場合、管理モジュール２４ａは、ステップＳ５０４からステップＳ５０８へ処理を分岐させる。
【０１５３】
ステップＳ５０８では、管理モジュール２４ａは、ステップＳ５０１で修正依頼とともに受信したアノテーションデータを、アノテーションデータベース２１における同じアノテーションＩＤのレコードに上書きする。
【０１５４】
次のステップＳ５０９では、管理モジュール２４ａは、ステップＳ５０１で修正依頼とともに受信したアクション関連情報と、その修正依頼とともに受信したアノテーションデータ内のアノテーションＩＤとからなるレコードを、図１４の状態管理テーブル２４ｂにおける同じアノテーションＩＤのレコードに上書きする。その後、管理モジュール２４ａは、図１７に係る処理を終了する。なお、ステップＳ５０４乃至Ｓ５０９を実行する図示せぬＣＰＵは、前述した登録手段に相当する。
【０１５５】
この管理モジュール２４ａによれば、ウェブクライアントマシン３０の操作者が編集モジュール３１ａ’を通じてアノテーションサーバ２２へ送信したアクション関連情報が、自動的に、図１４の状態管理テーブル２４ｂに登録されることとなる。
【０１５６】
図１８は、監視モジュールプログラム２４ｃによる処理の流れを示す図である。
【０１５７】
この監視モジュールプログラム２４ｃのプロセスは、所定の割り込みが発生するごとに、生成される。ここで、所定の割り込みには、例えば、表示イベント、クリックイベント、時刻到達イベント、時間経過イベントがある。表示イベントは、何れかのウェブクライアント３１の表示モジュール３１ｂから送信モジュール２４ｄがアノテーションデータを要求されたときに、その送信モジュール２４ｄが、そのアノテーションデータのアノテーションＩＤについて発生させるイベントである。クリックイベントは、ウェブクライアント３１においてアノテーションとともに表示されているウェブページ内のリンクボタンがクリックされたときに、そのウェブクライアント３１が、そのウェブページについて発生させるイベントである。そして、監視モジュール２４ｃは、以上のような割り込みが発生すると、第１の処理ループＬ１を実行する。
【０１５８】
第１の処理ループＬ１では、監視モジュール２４ｃは、図１４の状態管理テーブル２４ｂ内の全てのレコードのそれぞれについて、ステップＳ６０１乃至Ｓ６０４を実行する。
【０１５９】
ステップＳ６０１では、監視モジュール２４ｃは、発生した割り込みが処理対象レコードの「監視対象イベント」フィールドの値と同じイベントに基づくものであるか否かを、判別する。そして、発生した割り込みが処理対象レコードの「監視対象イベント」フィールドの値と同じイベントに基づくものでなかった場合、監視モジュール２４ｃは、ステップＳ６０１から処理を分岐させ、この処理対象レコードについての処理を終了する。一方、発生した割り込みが処理対象レコードの「監視対象イベント」フィールドの値と同じイベントに基づくものであった場合、監視モジュール２４ｃは、ステップＳ６０２へ処理を進める。
【０１６０】
ステップＳ６０２では、監視モジュール２４ｃは、処理対象レコードの「状態」フィールドの値を更新する。監視対象イベントが表示やクリックであれば、監視モジュール２４ｃは、「状態」フィールド内の値を１つ増やす処理を行う。監視対象イベントが時間経過であれば、監視モジュール２４ｃは、「状態」フィールド内の値を、その時点までに経過した時間（秒数）で上書き更新する。
【０１６１】
次のステップＳ６０３では、監視モジュール２４ｃは、処理対象レコードの「状態」フィールドの値が「開始条件」フィールドの値と一致するか否かを、判別する。そして、処理対象レコードの「状態」フィールドの値が「開始条件」フィールドの値と一致していなかった場合、監視モジュール２４ｃは、ステップＳ６０３から処理を分岐させ、この処理対象レコードについての処理を終了する。一方、処理対象レコードの「状態」フィールドの値が「開始条件」フィールドの値と一致していた場合、監視モジュール２４ｃは、ステップＳ６０４へ処理を進める。
【０１６２】
ステップＳ６０４では、監視モジュール２４ｃは、処理対象レコードの「アクション」フィールド内の情報にて特定されるアクション（アノテーションの削除、アノテーションの可視化、アノテーションの内容の表示形態の変化など）を実行する。これらアクションは、アノテーションデータベース２１内のアノテーションデータに含まれるフラグを切り替える処理とすることができる。このフラグは、例えば、アノテーションデータを削除状態（配信されない状態）と登録状態とを切り替えるためのフラグであっても良いし、逆に、アノテーションの表示形態（フォント、下線の有無、斜体効果の有無、点滅の有無など）を切り替えるためのフラグであっても良い。これらフラグの状態に従って、ウェブクライアント３１がアノテーションの表示を止めたり、逆に、アノテーションの表示を開始したりする。監視モジュール２４ｃは、アクションを実行した後、この処理対象レコードについての処理を終了する。
【０１６３】
監視モジュール２４ｃは、図１４の状態管理テーブル２４ｃ内の全てのレコードについて、ステップＳ６０１乃至Ｓ６０４を実行し終えると、図１８に係る処理を終了する。なお、この図１８に係る処理を実行する図示せぬＣＰＵは、前述した切替手段に相当する。
【０１６４】
次に、第４の実施形態のコンピュータネットワークシステムの作用及び効果について、説明する。
【０１６５】
ウェブクライアントマシン３０の操作者が、図示せぬ入力装置を操作することによって、編集モジュールプログラム３１ａ’を起動し、自分の利用者情報（利用者ＩＤ）と任意のウェブページデータの所在情報とを入力すると、編集画面が、図示せぬ表示装置に表示される（ステップＳ１０１乃至Ｓ１０５）。その編集画面には、操作者が指定したウェブページと、そのウェブページに関連付けられているアノテーションとが、含まれている。
【０１６６】
その後、操作者が、アノテーションの登録及び内容修正のうちの何れかの操作指示を行うと、その操作依頼とアクション関連情報とがアノテーションサーバ２２に送られる（ステップＳ１１１，Ｓ１１２，Ｓ１２１，Ｓ１２２）。
【０１６７】
すると、アノテーションサーバ２２の管理モジュール２４ａが、何れかの操作依頼を受信した後、その操作依頼に応じた処理を行う。すなわち、管理モジュール２４ａは、登録依頼又は修正依頼を受信すると、受信したアノテーションデータをアノテーションデータベース２１に登録又は上書きするとともに、アクション関連情報を状態管理テーブル２２ｅに登録又は上書きする。
【０１６８】
また、以上のような操作依頼に係る処理と並行して、所定のイベントに基づく割り込みが発生するたびに、アノテーションサーバ２４の監視モジュール２４ｃのプロセスが生成される。監視モジュール２４ｃは、図１４の状態管理テーブル２４ｂにおいて、発生したイベントを監視対象としているレコードの「状態」フィールドの値を更新し（ステップＳ６０１；ＹＥＳ，Ｓ６０２）、更新後の値が開始条件に一致したレコードについては、そのレコードの「アクション」フィールド内の情報にて特定されるアクションを実行する（ステップＳ６０３；ＹＥＳ，Ｓ６０４）。
【０１６９】
ここで、監視対象イベントやアクションや開始条件は、アノテーションの登録又は内容修正を行う利用者（アノテータ）によって設定されるものである。このため、利用者は、従来のようにアノテーションを単に登録するだけでなく、そのアノテーションが一定期間だけ表示されたり、逆に、一定期間だけ表示されないようにしたり、或いは、アノテーションが所定回数表示されたらその後は表示形態が変わるように、設定することができる。つまり、第４の実施形態によれば、アノテータは、クリックや時間経過などのイベントを利用してアノテーションの表示形態を制御することができる。
【０１７０】
（付記１）
コンピュータを、
ウェブページデータの所在情報と、そのウェブページデータによるウェブページに関連付けられるアノテーションの内容を特定するための内容情報と、そのアノテーションが関連付けられるウェブページ上の位置を特定するための位置情報とを含むアノテーションデータを、記憶装置内のアノテーションデータベースに記憶する記憶手段，
アノテーションに関する操作の種類を特定する操作種類情報と、その操作に用いられるアノテーションデータを特定するアノテーション情報とを含む依頼情報を、通信装置を通じて、何れかのウェブクライアントから受信する受信手段，
前記受信手段が依頼情報を受信すると、その依頼情報が所定条件を満たすか否かを判定する判定手段，及び、
前記依頼情報が前記所定条件を満たすと前記判定手段が判定した場合に、その依頼情報に含まれる操作種類情報にて特定される操作を前記アノテーションデータベースに対して行う操作実行手段
として機能させる
ことを特徴とするアノテーション管理プログラム。
【０１７１】
（付記２）
前記コンピュータを、更に、
利用者を特定するための利用者情報と、その利用者に許可する操作の種類を特定するための権限特定情報とを対応付けて、記憶装置内のテーブルに記憶する権限記憶手段
として機能させ、
前記受信手段は、操作種類情報とアノテーション情報とともに利用者情報をも含む依頼情報を、通信装置を通じて、何れかのウェブクライアントから受信し、
前記判定手段は、前記受信手段が受信した依頼情報に含まれる利用者情報に対応する権限特定情報を、前記テーブルから読み出し、その権限特定情報にて特定される操作の種類に対し、前記受信手段が受信した依頼情報内の操作種類情報にて特定される操作の種類が一致するか否かを判定する
ことを特徴とする付記１記載のアノテーション管理プログラム。
【０１７２】
（付記３）
前記判定手段は、前記受信手段が依頼情報を受信すると、その依頼情報に含まれるアノテーション情報にて特定されるアノテーションデータ内の所在情報に基づいて、ウェブページデータを取得し、その取得したウェブページデータから、そのウェブページについてアノテーションの操作の実行を許可する条件を特定するための制限情報を読み出し、その制限情報に基づいて、前記受信手段が受信した依頼情報が所定条件を満たすか否かを、判定する
ことを特徴とする付記１記載のアノテーション管理プログラム。
【０１７３】
（付記４）
前記判定手段は、前記受信手段が依頼情報を受信すると、その依頼情報に含まれるアノテーション情報にて特定されるアノテーションデータ内の所在情報に基づいて、ウェブページデータを取得し、その取得したウェブページデータから、そのウェブページについて許可するアノテーションの操作の種類を特定する権限特定情報を読み出し、その権限特定情報にて特定される操作の種類に対し、前記受信手段が受信した依頼情報内の操作種類情報にて特定される操作の種類が一致するか否かを、判定し、
前記操作実行手段は、前記権限特定情報にて特定される操作の種類に対し、前記操作種類情報にて特定される操作の種類が一致していると、前記判定手段が判定した場合に、その操作種類情報にて特定される操作を前記アノテーションデータベースに対して行う
ことを特徴とする付記３記載のアノテーション管理プログラム。
【０１７４】
（付記５）
ウェブページデータの所在情報と、そのウェブページデータによるウェブページに関連付けられるアノテーションの内容を特定するための内容情報と、そのアノテーションが関連付けられるウェブページ上の位置を特定するための位置情報とを含むアノテーションデータを、記憶装置内のアノテーションデータベースに記憶する記憶部，
アノテーションに関する操作の種類を特定する操作種類情報と、その操作に用いられるアノテーションデータを特定するアノテーション情報とを含む依頼情報を、通信装置を通じて、何れかのウェブクライアントから受信する受信部，
前記受信部が依頼情報を受信すると、その依頼情報が所定条件を満たすか否かを判定する判定部，及び、
前記依頼情報が前記所定条件を満たすと前記判定部が判定した場合に、その依頼情報に含まれる操作種類情報にて特定される操作を前記アノテーションデータベースに対して行う操作実行部
を備えることを特徴とするアノテーション管理装置。
【０１７５】
（付記６）
利用者を特定するための利用者情報と、その利用者に許可する操作の種類を特定するための権限特定情報とを対応付けて、記憶装置内のテーブルに記憶する権限記憶部
を更に備え、
前記受信部は、操作種類情報とアノテーション情報とともに利用者情報をも含む依頼情報を、通信装置を通じて、何れかのウェブクライアントから受信し、
前記判定部は、前記受信部が受信した依頼情報に含まれる利用者情報に対応する権限特定情報を、前記テーブルから読み出し、その権限特定情報にて特定される操作の種類に対し、前記受信部が受信した依頼情報内の操作種類情報にて特定される操作の種類が一致するか否かを判定する
ことを特徴とする付記５記載のアノテーション管理装置。
【０１７６】
（付記７）
前記判定部は、前記受信部が依頼情報を受信すると、その依頼情報に含まれるアノテーション情報にて特定されるアノテーションデータ内の所在情報に基づいて、ウェブページデータを取得し、その取得したウェブページデータから、そのウェブページについてアノテーションの操作の実行を許可する条件を特定するための制限情報を読み出し、その制限情報に基づいて、前記受信部が受信した依頼情報が所定条件を満たすか否かを、判定する
ことを特徴とする付記５記載のアノテーション管理装置。
【０１７７】
（付記８）
コンピュータが、
ウェブページデータの所在情報と、そのウェブページデータによるウェブページに関連付けられるアノテーションの内容を特定するための内容情報と、そのアノテーションが関連付けられるウェブページ上の位置を特定するための位置情報とを含むアノテーションデータを、記憶装置内のアノテーションデータベースに記憶する記憶手順，
アノテーションに関する操作の種類を特定する操作種類情報と、その操作に用いられるアノテーションデータを特定するアノテーション情報とを含む依頼情報を、通信装置を通じて、何れかのウェブクライアントから受信する受信手順，
前記受信手順において依頼情報を受信すると、その依頼情報が所定条件を満たすか否かを判定する判定手順，及び、
前記依頼情報が前記所定条件を満たすと前記判定手順において判定した場合に、その依頼情報に含まれる操作種類情報にて特定される操作を前記アノテーションデータベースに対して行う操作実行手順
を実行する
ことを特徴とするアノテーション管理方法。
【０１７８】
（付記９）
前記コンピュータが、更に、
利用者を特定するための利用者情報と、その利用者に許可する操作の種類を特定するための権限特定情報とを対応付けて、記憶装置内のテーブルに記憶する権限記憶手順
を実行し、
前記受信手順においては、操作種類情報とアノテーション情報とともに利用者情報をも含む依頼情報を、通信装置を通じて、何れかのウェブクライアントから受信し、
前記判定手順においては、前記受信手順において受信した依頼情報に含まれる利用者情報に対応する権限特定情報を、前記テーブルから読み出し、その権限特定情報にて特定される操作の種類に対し、前記受信手順において受信した依頼情報内の操作種類情報にて特定される操作の種類が一致するか否かを判定する
ことを特徴とする付記８記載のアノテーション管理方法。
【０１７９】
（付記１０）
前記コンピュータが、
前記受信手順において依頼情報を受信すると、前記判定手順において、その依頼情報に含まれるアノテーション情報にて特定されるアノテーションデータ内の所在情報に基づいて、ウェブページデータを取得し、その取得したウェブページデータから、そのウェブページについてアノテーションの操作の実行を許可する条件を特定するための制限情報を読み出し、その制限情報に基づいて、前記受信手順において受信した依頼情報が所定条件を満たすか否かを、判定する
ことを特徴とする付記８記載のアノテーション管理方法。
【０１８０】
（付記１１）
前記コンピュータが、
前記受信手順において依頼情報を受信すると、前記判定手順において、その依頼情報に含まれるアノテーション情報にて特定されるアノテーションデータ内の所在情報に基づいて、ウェブページデータを取得し、その取得したウェブページデータから、そのウェブページについて許可するアノテーションの操作の種類を特定する権限特定情報を読み出し、その権限特定情報にて特定される操作の種類に対し、前記受信手順において受信した依頼情報内の操作種類情報にて特定される操作の種類が一致するか否かを、判定し、
前記判定手順において、前記権限特定情報にて特定される操作の種類に対し、前記操作種類情報にて特定される操作の種類が一致していると、判定した場合に、前記操作実行手順において、その操作種類情報にて特定される操作を前記アノテーションデータベースに対して行う
ことを特徴とする付記１０記載のアノテーション管理方法。
【０１８１】
（付記１２）
コンピュータを、
ウェブページデータの所在情報と、そのウェブページデータによるウェブページに関連付けられるアノテーションの内容を特定するための内容情報と、そのアノテーションが関連付けられるウェブページ上の位置を特定するための位置情報とを含むアノテーションデータを、通信装置を通じて、何れかのウェブクライアントから受信する受信手段，
前記受信手段がアノテーションデータを受信すると、そのアノテーションデータが所定の条件を満たすか否かを判定する判定手段，及び、
前記アノテーションデータが前記所定条件を満たすと前記判定手段が判定した場合に、そのアノテーションデータをアノテーションデータベースに登録する登録手段
として機能させる
ことを特徴とするアノテーション管理プログラム。
【０１８２】
（付記１３）
前記判定手段が、前記受信手段が受信したアノテーションデータ内の内容情報にて特定される内容が所定の語句を含まないことを満たすか否かを、判定する
ことを特徴とする付記１２記載のアノテーション管理プログラム。
【０１８３】
（付記１４）
ウェブページデータの所在情報と、そのウェブページデータによるウェブページに関連付けられるアノテーションの内容を特定するための内容情報と、そのアノテーションが関連付けられるウェブページ上の位置を特定するための位置情報とを含むアノテーションデータを、通信装置を通じて、何れかのウェブクライアントから受信する受信部，
前記受信部がアノテーションデータを受信すると、そのアノテーションデータが所定の条件を満たすか否かを判定する判定部，及び、
前記アノテーションデータが前記所定条件を満たすと前記判定部が判定した場合に、そのアノテーションデータをアノテーションデータベースに登録する登録部
を備えることを特徴とするアノテーション管理装置。
【０１８４】
（付記１５）
前記判定部が、前記受信手段が受信したアノテーションデータ内の内容情報にて特定される内容が所定の語句を含まないことを満たすか否かを、判定する
ことを特徴とする付記１４記載のアノテーション管理装置。
【０１８５】
（付記１６）
コンピュータが、
ウェブページデータの所在情報と、そのウェブページデータによるウェブページに関連付けられるアノテーションの内容を特定するための内容情報と、そのアノテーションが関連付けられるウェブページ上の位置を特定するための位置情報とを含むアノテーションデータを、通信装置を通じて、何れかのウェブクライアントから受信する受信手順，
前記受信手順においてアノテーションデータを受信すると、そのアノテーションデータが所定の条件を満たすか否かを判定する判定手順，及び、
前記アノテーションデータが前記所定条件を満たすと前記判定手順において判定した場合に、そのアノテーションデータをアノテーションデータベースに登録する登録手順
を実行する
ことを特徴とするアノテーション管理方法。
【０１８６】
（付記１７）
前記コンピュータが、
前記判定手順において、前記受信手順において受信したアノテーションデータ内の内容情報にて特定される内容が所定の語句を含まないことを満たすか否かを、判定する
ことを特徴とする付記１６記載のアノテーション管理方法。
【０１８７】
（付記１８）
コンピュータを、
ウェブページデータの所在情報と、そのウェブページデータによるウェブページに関連付けられるアノテーションの内容を特定するための内容情報と、そのアノテーションが関連付けられるウェブページ上の位置を特定するための位置情報とを含むアノテーションデータ、及び、そのアノテーションの表示の変化後の形態を特定するための形態特定情報と、その変化を起こさせる条件を特定するための条件情報とを含むアクション関連情報を、通信装置を通じて、何れかのウェブクライアントから受信する受信手段，
前記受信手段がアノテーションデータ及びアクション関連情報を受信すると、アノテーションデータをアノテーションデータベースに登録するとともに、アクション関連情報を管理テーブルに登録する登録手段，
前記登録手段が管理テーブルに登録したアクション関連情報のそれぞれについて、そのアクション関連情報に含まれる条件情報にて特定される条件が満たされているか否かを判定する処理、及び、その処理により前記条件が満たされていると判定した場合にアノテーションの表示形態がその形態特定情報にて特定される表示形態となるよう、前記アノテーションデータベース内における対応するアノテーションデータの状態を切り替える切替手段
として機能させる
ことを特徴とするアノテーション管理プログラム。
【０１８８】
（付記１９）
ウェブページデータの所在情報と、そのウェブページデータによるウェブページに関連付けられるアノテーションの内容を特定するための内容情報と、そのアノテーションが関連付けられるウェブページ上の位置を特定するための位置情報とを含むアノテーションデータ、及び、そのアノテーションの表示の変化後の形態を特定するための形態特定情報と、その変化を起こさせる条件を特定するための条件情報とを含むアクション関連情報を、通信装置を通じて、何れかのウェブクライアントから受信する受信部，
前記受信部がアノテーションデータ及びアクション関連情報を受信すると、アノテーションデータをアノテーションデータベースに登録するとともに、アクション関連情報を管理テーブルに登録する登録部，
前記登録部が管理テーブルに登録したアクション関連情報のそれぞれについて、そのアクション関連情報に含まれる条件情報にて特定される条件が満たされているか否かを判定する処理、及び、その処理により前記条件が満たされていると判定した場合にアノテーションの表示形態がその形態特定情報にて特定される表示形態となるよう、前記アノテーションデータベース内における対応するアノテーションデータの状態を切り替える切替部
を備えることを特徴とするアノテーション管理装置。
【０１８９】
（付記２０）
コンピュータが、
ウェブページデータの所在情報と、そのウェブページデータによるウェブページに関連付けられるアノテーションの内容を特定するための内容情報と、そのアノテーションが関連付けられるウェブページ上の位置を特定するための位置情報とを含むアノテーションデータ、及び、そのアノテーションの表示の変化後の形態を特定するための形態特定情報と、その変化を起こさせる条件を特定するための条件情報とを含むアクション関連情報を、通信装置を通じて、何れかのウェブクライアントから受信する受信手順，
前記受信手順においてアノテーションデータ及びアクション関連情報を受信すると、アノテーションデータをアノテーションデータベースに登録するとともに、アクション関連情報を管理テーブルに登録する登録手順，
前記登録手順において管理テーブルに登録したアクション関連情報のそれぞれについて、そのアクション関連情報に含まれる条件情報にて特定される条件が満たされているか否かを判定する処理、及び、その処理により前記条件が満たされていると判定した場合にアノテーションの表示形態がその形態特定情報にて特定される表示形態となるよう、前記アノテーションデータベース内における対応するアノテーションデータの状態を切り替える切替手順
を実行する
ことを特徴とするアノテーション管理方法。
【図面の簡単な説明】
【０１９０】
【図１】第１の実施形態のコンピュータネットワークシステムの構成図
【図２】アノテーションデータのデータ構造の一例を示す図
【図３】編集モジュールプログラムによる処理の流れを示す図
【図４】編集モジュールプログラムによる処理の流れを示す図
【図５】編集モジュールプログラムによる処理の流れを示す図
【図６】管理モジュールプログラムによる処理の流れを示す図
【図７】管理モジュールプログラムによる処理の流れを示す図
【図８】第２の実施形態のコンピュータネットワークシステムの構成図
【図９】第２の実施形態の管理モジュールプログラムによる処理の流れの一部を示す図
【図１０】第３の実施形態のコンピュータネットワークシステムの構成図
【図１１】第３の実施形態の管理モジュールプログラムによる処理の流れを示す図
【図１２】第３の実施形態の管理モジュールプログラムによる処理の流れを示す図
【図１３】第４の実施形態のコンピュータネットワークシステムの構成図
【図１４】状態管理テーブルのデータ構造の一例を示す図
【図１５】編集モジュールプログラムによる処理の流れの一部を示す図
【図１６】編集モジュールプログラムによる処理の流れの一部を示す図
【図１７】第４の実施形態の管理モジュールプログラムによる処理の流れを示す図
【図１８】監視モジュールプログラムによる処理の流れを示す図
【符号の説明】
【０１９１】
１０      ウェブサーバマシン
１１      ウェブページデータ
１２      ウェブサーバプログラム
１２ａ    利用者管理テーブル
１２ｂ    アクセス管理モジュールプログラム
２０      アノテーションサーバマシン
２１      アノテーションデータベース
２２      アノテーションサーバプログラム
２２ａ    管理モジュールプログラム
２２ａ’  管理モジュールプログラム
２２ａ”  管理モジュールプログラム
２２ｂ    権限管理テーブル
２２ｃ    送信モジュールプログラム
２２ｄ    拒絶一覧テーブル
２４      アノテーションサーバプログラム
２４ａ    管理モジュールプログラム
２４ｂ    状態管理テーブル
２４ｃ    監視モジュールプログラム
２４ｄ    送信モジュールプログラム
３０      ウェブクライアントマシン
３１      ウェブクライアントプログラム
３１ａ    編集モジュールプログラム
３１ａ’  編集モジュールプログラム
３１ｂ    表示モジュールプログラム
【図１】
2008146586.tif 000003
【図２】
2008146586.tif 000004
【図３】
2008146586.tif 000005
【図４】
2008146586.tif 000006
【図５】
2008146586.tif 000007
【図６】
2008146586.tif 000008
【図７】
2008146586.tif 000009
【図８】
2008146586.tif 000010
【図９】
2008146586.tif 000011
【図１０】
2008146586.tif 000012
【図１１】
2008146586.tif 000013
【図１２】
2008146586.tif 000014
【図１３】
2008146586.tif 000015
【図１４】
2008146586.tif 000016
【図１５】
2008146586.tif 000017
【図１６】
2008146586.tif 000018
【図１７】
2008146586.tif 000019
【図１８】
2008146586.tif 000020