(57)【特許請求の範囲】
【請求項１】
デジタル・コンテンツに付加されるアノテーション情報を複数のユーザ間で共有するためのコンピュータ・システムであって、
デジタル・コンテンツを格納する第１のデータベースと、
デジタル・コンテンツにアノテーション情報を付加するためのプログラムである第１のツールを格納する第２のデータベースと、
アノテーション情報および当該アノテーション情報をデジタル・コンテンツの適切な位置に付加するための位置情報を格納する第３のデータベースと、
デジタル・コンテンツを取得するためのユーザ端末からの要求を受信し、当該デジタル・コンテンツを保持する他のコンピュータ・システムから当該デジタル・コンテンツを取得し、一意に割り当てたキー情報と関連付けて第１のデータベースに記憶する手段と、
前記第１のツールを第２のデータベースから取得し、前記デジタル・コンテンツとともに前記ユーザ端末に送信する手段と、
前記第１のツールを用いて作成されたアノテーション情報を、対応する前記位置情報とともに受信し、少なくとも前記キー情報と関連付けて第３のデータベースに記録する手段と、
前記アノテーション情報を埋め込んだデジタル・コンテンツを表示するためのアドレス情報を、前記キー情報を参照できるようにして生成する手段と
を有する、コンピュータ・システム。
【請求項２】
前記アドレス情報を１または複数のユーザ端末に送信する手段をさらに有する、請求項１記載のコンピュータ・システム。
【請求項３】
前記アドレス情報を任意のユーザ端末から受信し、当該アドレス情報に基づき、前記キー情報を参照して、前記デジタル・コンテンツを前記第１のデータベースから、前記アノテーション情報および前記位置情報を前記第２のデータベースから取得し、適切な位置に当該アノテーション情報が埋め込まれたデジタル・コンテンツを生成する手段をさらに有する、請求項１記載のコンピュータ・システム。
【請求項４】
前記アノテーション情報が埋め込まれたデジタル・コンテンツを表示するとともに、他のアノテーション情報を付加するためのプログラムである第２のツールが前記第２のデータベースに格納されており、当該第２ツールを前記任意のユーザ端末に送信するステップをさらに有する、請求項３記載のコンピュータ・システム。
【請求項５】
前記アドレス情報を任意のユーザ端末から受信し、当該アドレス情報に基づき、前記キー情報を参照して、前記デジタル・コンテンツを前記第１のデータベースから、前記アノテーション情報および前記位置情報を前記第２のデータベースから取得する手段と、
取得された前記デジタル・コンテンツ、アノテーション情報および位置情報とともに、当該デジタル・コンテンツの適切な位置に当該アノテーション情報を埋め込むためのプログラムを前記任意のユーザ端末に送信する手段と
をさらに有する、請求項１記載のコンピュータ・システム。
【請求項６】
前記第１のデータベースにおいて、前記キー情報が、複数のデジタル・コンテンツに対して一意に割り当てられる、請求項１記載のコンピュータ・システム。
【請求項７】
請求項１ないし６のいずれか１に記載の前記コンピュータ・システムと、オリジナルの前記デジタル・コンテンツを格納するサーバ・システムとを備えた、データ処理システム。
【請求項８】
デジタル・コンテンツに付加されるアノテーション情報を複数のユーザ間で共有するための手順をコンピュータ・システムに実行させるためのプログラムであって、デジタル・コンテンツを記憶するための第１のデータベースとアノテーション情報を記録するための第２のデータベースを備えたコンピュータ・システムに、
デジタル・コンテンツを取得するためのユーザ端末からの要求を受信する手順と、
前記デジタル・コンテンツを保持する他のコンピュータ・システムから当該デジタル・コンテンツを取得し、一意に割り当てたキー情報と関連付けて前記第１のデータベースに記憶する手順と、
前記デジタル・コンテンツとともに、前記アノテーション情報を付加するためのプログラムである第１のツールを前記ユーザ端末に送信する手順と、
前記第１のツールを用いて作成されたアノテーション情報を、当該アノテーション情報を前記デジタル・コンテンツの所定の位置に表示するための位置情報とともに受信し、少なくとも前記キー情報と関連付けて前記第２のデータベースに記憶する手順と、
前記アノテーション情報を埋め込んだデジタル・コンテンツを表示するためのアドレス情報を、前記キー情報を参照できるようにして生成する手順と、
を実行させるためのプログラム。
【請求項９】
前記コンピュータ・システムに、
前記アドレス情報を任意のユーザ端末から受信する手順と、
受信した前記アドレス情報に基づき、前記キー情報を参照して、前記デジタル・コンテンツを前記第１のデータベースから、前記アノテーション情報および前記位置情報を前記第２のデータベースから取得し、適切な位置に当該アノテーション情報が埋め込まれたデジタル・コンテンツを生成する手順と
をさらに実行させるための請求項８記載のプログラム。
【請求項１０】
前記生成されたデジタル・コンテンツを表示し、かつ他のアノテーション情報を付加するための第２ツールを、当該デジタル・コンテンツとともに前記任意のユーザ端末に送信する手順を、前記コンピュータ・システムに実行させるための請求項９記載のプログラム。
【請求項１１】
前記コンピュータ・システムに、
前記アドレス情報を任意のユーザ端末から受信する手順と、
受信した前記アドレス情報に基づき、前記キー情報を参照して、前記デジタル・コンテンツを前記第１のデータベースから、前記アノテーション情報および前記位置情報を前記第２のデータベースから取得する手順と、
取得された前記デジタル・コンテンツ、アノテーション情報および位置情報とともに、当該デジタル・コンテンツの適切な位置に当該アノテーション情報を埋め込むためのプログラムを前記任意のユーザ端末に送信する手順と
をさらに実行させるための請求項８記載のプログラム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、Ｗｅｂページ等のデジタル・コンテンツに付加された情報を共有するためのコンピュータ・システムおよびプログラムに関し、より具体的には、そのようなデジタル・コンテンツの任意の位置に付加されるアノテーション情報（注釈情報）を複数のユーザ間で共有するためのコンピュータ・システムおよびプログラムに関する。
【０００２】
【従来の技術】
インターネットの発展にともない、多くのユーザがＷｅｂページ等のデジタル・コンテンツをネットワーク上で共有できるようになった。通常、インターネット上のＷｅｂページの情報を共有する場合、情報の伝達元となるユーザはそのＷｅｂページのアドレスであるＵＲＬ（Uniform Resource Locator）を電子メール等の手段で第三者ユーザに伝える。アドレス情報であるＵＲＬを受け取ったユーザは、そのＵＲＬを入力することで、Ｗｅｂブラウザ上にかかるＷｅｂページの内容を表示することができる。
【０００３】
このような一般的な手法によれば、Ｗｅｂページの内容そのものを複数ユーザ間で共有することは比較的容易である。しかしながら、当該ページの特定箇所のみを第三者ユーザに知らせたり、さらにこれにデータを付加して送信したりするような場合には、不便である。すなわち、そのような場合には、情報の送信側のユーザが、ＵＲＬとともに特定の箇所を指摘して所定のコメント（付加情報）を記述した電子メール等を第三者ユーザに送信し、受信側のユーザが、当該ＵＲＬをもとに所定のＷｅｂページを開き、自ら指摘された箇所を検索し特定しなければならない。
【０００４】
例えば、ユーザはあるＷｅｂページを見ていて、意味の分からない語を見つけ、それに対する質問をそのページの開設者（オーナー）に送りたいと思うかもしれない。そのような場合には、ユーザは、電子メール等の手段によって、当該ＷｅｂページのＵＲＬを通知するとともに、不明な箇所を特定したうえでオーナーに質問を行わねばならない。質問を受けたオーナーは、まずＵＲＬを入力して該当するＷｅｂページを開き、文書内の該当箇所を自分で探して、ようやく質問の内容を把握する。これでは、対応に非常に時間がかかり、効率がよくない。Ｗｅｂページ内の文章のサイズが大きかったり、質問箇所が複数にわたったり、またはさらに複数のユーザでそのような付加情報を共有したりする場合には、特に不便である。そこで、このようなオリジナルのＷｅｂページそのものだけではなく、当該ページ内の任意の位置に個々のユーザにより追加される注釈コメント等の付加情報（アノテーション情報）についても共有できる機構があることが望ましい。
【０００５】
上記のようなアノテーション情報を共有するための試みとしては、Ｗ３Ｃ（World Wide Web Consortium）の「Annotea」プロジェクトが挙げられる（http://w3.org/2001/Annotea）。これは、共有されるアノテーション（注釈）によりＷ３Ｃのコラボレーション環境を拡張するためのプロジェクトで、Ｗｅｂ上の文書に触れることなく、注釈を付加することを実現しようとしている。システム的には、ユーザ側（クライアント側）にアノテーションを編集、表示するための特殊なブラウザとエディタの導入が前提となる。アノテーション・データはアノテーション・サーバに蓄積され、ユーザがＷｅｂ上の文書を見るときは、アノテーションが同サーバからロードされ、クライアント側でオリジナルの文書とアノテーション・データが合成される。
【０００６】
しかしながら、「Annotea」プロジェクトで提示される手法は、クライアント側に特別なソフトウェアを導入することが前提となっており、必ずしもユーザにとって簡便とは言えない側面を有する。また、アノテーションの付加対象となるＷｅｂページは、ブラウズ時にその都度、オリジナルのＷｅｂサーバを参照してクライアント側で取得されるので、所定の時間間隔で内容が更新される動的なＷｅｂページにおいては、不都合が生じる。すなわち、アノテーションを付加した時点と、アノテーション付加済みのＷｅｂページを見る時点とで、合成される既存のＷｅｂページが必ずしも同じでないため、表示される内容に不一致が生じるおそれがある。
【０００７】
【発明が解決しようとする課題】
本発明は、上記のような問題を解決することをその目的とするものである。具体的には、本発明の目的は、複数のユーザから参照されるＷｅｂページ等のデジタル・コンテンツだけでなく、これに対して付加されるアノテーション情報を複数のユーザで簡便に共有できる仕組みを提供することにある。この場合、ユーザ側で特別のシステムを導入する必要がないことが望ましい。
【０００８】
また、本発明の他の目的は、当該コンテンツの特定の位置を他のユーザに容易に伝達できる機構を提供することにある。
【０００９】
さらに、本発明の目的は、常に内容が変更される動的なデジタル・コンテンツに対しても適用できるアノテーション情報の共有機構を提供することになる。
【００１０】
【課題を解決するための手段】
上記の目的を達成するため、本発明ではユーザのクライアント端末とデジタル・コンテンツを管理するサーバ（Ｗｅｂサーバ）との間に仲介サーバを設ける。共有するアノテーション情報を付加したいユーザは、Ｗｅｂサーバからではなく、仲介サーバを通じてオリジナルのデジタル・コンテンツを取得する。その際に、仲介サーバは、当該デジタル・コンテンツをキャッシュして、アノテーション情報を付加するためのプログラムであるアノテーション・ツールとともにクライアント側に送付する。このアノテーション・ツールにより作成されたアノテーション情報はそれを表示される位置情報とともに仲介サーバに保持される。ここで、仲介サーバは、オリジナルのデジタル・コンテンツとアノテーション情報を表示するためのデータであるアノテーション・データとを関連付けるため、キー情報としてセッション・キーを生成する。仲介サーバは、このセッション・キーに関するデータを含むコンテンツ再生用のアドレス情報（ＵＲＬ）を生成する。ユーザは、この再生用のアドレス情報を他のユーザに通知することによって、オリジナルのデジタル・コンテンツのみならずアノテーション情報をも当該他のユーザと共有することが可能となる。この再生用のアドレス情報を入力して仲介サーバにアクセスするユーザには、アノテーション情報が埋め込まれたコンテンツとともにアノテーション情報を作成・表示するためのアノテーション・ツールが送信される。なお、仲介サーバは、対象データの管理を容易にするため、所定の単位ごとに複数設けてもよい。
【００１１】
具体的には、本発明は、デジタル・コンテンツに付加されるアノテーション情報を複数のユーザ間で共有するためのコンピュータ・システム（仲介サーバ）において実現され、典型的には、デジタル・コンテンツを格納する第１のデータベース（コンテンツ・データベース）と、デジタル・コンテンツにアノテーション情報を付加するためのプログラムであるアノテーション・ツールを格納する第２のデータベース（ツール・データベース）と、アノテーション情報および当該アノテーション情報をデジタル・コンテンツの適切な位置に付加するための位置情報を格納する第３のデータベース（アノテーション・データベース）とを備える。さらに、本発明のコンピュータ・システムは、１）デジタル・コンテンツを取得するためのユーザ端末からの要求を受信すると、そのオリジナルのデジタル・コンテンツを保持する他のコンピュータ・システム（ｗｅｂサーバ）から当該デジタル・コンテンツを取得し、一意に割り当てたキー情報（セッション・キー）と関連付けて第１のデータベースに記憶する手段と、２）アノテーション・ツールを第２のデータベースから取得し、デジタル・コンテンツとともにユーザ端末に送信する手段と、３）アノテーション・ツールを用いて作成されたアノテーション情報を、対応する位置情報とともに受信し、少なくともキー情報と関連付けて第３のデータベースに記録する手段と、４）アノテーション情報を埋め込んだデジタル・コンテンツを表示するためのアドレス情報を、前記キー情報を参照できるようにして生成する手段とを具備する。
【００１２】
上述のように生成されたアドレス情報は、ユーザ端末への送信等の手段によって、デジタル・コンテンツを共有する他のユーザに知らされる。本発明のコンピュータ・システムは、かかるアドレス情報をユーザ端末から受信すると、このアドレス情報に基づき、前述のキー情報を参照して、デジタル・コンテンツを第１のデータベースから、アノテーション情報および位置情報を第２のデータベースから取得し、適切な位置にアノテーション情報が埋め込まれたデジタル・コンテンツを生成する手段を具備している。また、この場合に、アノテーション情報が埋め込まれたデジタル・コンテンツを表示する機能も備えたアノテーション・ツールを、当該デジタル・コンテンツとともに送信する手段も備える。これにより、さらに繰り返し、他の複数のユーザによっても追加のアノテーション情報を生成することが可能となり、さらなるアノテーション情報の共有が実現される。なお、アノテーション情報の埋め込みは、コンピュータ・システム側ではなく、ユーザ端末側でできるように構成することもでき、その場合には、アノテーション情報の埋め込みに必要なデータとプログラムがユーザ端末側に送付される。また、前述のキー情報は、便宜のため単一のデジタル・コンテンツ（例えば、１つのｗｅｂページ）に対して割り当てられているが、複数のデジタル・コンテンツに対して一意に割り当ててもよい。
【００１３】
本発明は、デジタル・コンテンツに付加されるアノテーション情報を複数のユーザ間で共有する方法としても実現できるし、また、コンピュータ・システムにかかる方法を実行させるためのプラグラムとしても把握することができる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を用いて説明する。ここで、アノテーション情報（アノテーション・データ）とは、オリジナルのデジタル・コンテンツに対してユーザにより付加される注釈、コメントその他の新たな情報を総称していうものとする。本実施の形態では、アノテーション情報が付加されるデジタル・コンテンツの典型例として、Ｗｅｂページをとりあげる。したがって、アノテーション情報は、Ｗｅｂ上で扱える形式であれば、テキスト、グラフィック、動画、音声その他のデータ形式でよい。
【００１５】
Ａ．本発明の概要
図１は、本発明を含む情報処理システムの全体の構成を示す機能ブロック図である。本発明の主要な処理は、仲介サーバ１０において実施される。仲介サーバ１０は、ネットワーク２０を介して、クライアント端末３０（ａ−ｂ）およびＷｅｂサーバ４０に接続されている。ネットワーク２０は、典型的にはインターネットであるが、それ以外のネットワーク構成でもよい。クライアント端末３０には、Ｗｅｂサーバ４０に格納されているＷｅｂページを参照するためのＷｅｂブラウザが導入されている。ユーザは、通常は、Ｗｅｂブラウザを起動して、アドレス情報であるＵＲＬを入力することにより、Ｗｅｂサーバ４０内の所望のＷｅｂページを見ることができる。
【００１６】
本発明のアノテーション情報の共有機構を利用したいユーザは、まず仲介サーバ１０にアクセスする。ユーザ所望のＷｅｂページは仲介サーバ１０経由でＷｅｂサーバ４０から取得され、その際に、アノテーション情報の作成・表示に必要なアノテーション・ツールが同時にダウンロードされる。したがって、クライアント３０側であらかじめ特別のプログラムを導入しておく必要はない。ユーザは、このアノテーション・ツールを用いて、Ｗｅｂページ上の任意の位置に所望のアノテーション情報を追加することができる。仲介サーバ１０は、ユーザが入力したアノテーション情報とＷｅｂページ中の位置情報の他、取得されたオリジナルのＷｅｂページも格納する。これにより、更新が頻繁に行われる動的なＷｅｂページであっても、アノテーション情報の共有が可能である。仲介サーバ１０は、これらのデータに基づき所定のアドレス情報（例えば、ＵＲＬ）を生成するので、アノテーション情報を共有する他のユーザは、このアドレス情報を参照することにより、所望のＷｅｂページをアノテーション情報付きで共用することができる。以下、この仲介サーバ１０の構成について詳述する。
【００１７】
Ｂ．仲介サーバの構成
図２は、仲介サーバ１０の構成を示す機能ブロック図である。仲介サーバ１０は、処理部１２とデータ部１５で構成され、それぞれ本発明の機能の実現に必要な処理モジュールとデータベース（ＤＢ）を有している。
【００１８】
ツール管理部１１０は、ユーザがアノテーション情報を付加するためのアノテーション・ツールを管理する。ここでアノテーション・ツールとは、ユーザが所望のＷｅｂページにアノテーション情報を追加したり、他のユーザが追加したアノテーション情報を表示したりする際に必要なプログラムをいう。アノテーション・ツールそのものはツールＤＢ１５２に格納されている。ツール管理部１１０は、ユーザが仲介サーバ１０にアクセスすると、対応するアノテーション・ツールを当該ユーザが要求したオリジナルのＷｅｂページとともにクライアント端末３０に送信する。
【００１９】
アノテーション・ツールのクライアント端末３０への送信は様々な手法で実施することができる。例えば、アノテーション・ツールをオリジナルのＷｅｂページ内に表示する場合には、当該ＷｅｂページのＨＴＭＬファイル中に次のようなJava（Ｒ）Scriptの記述を追加する。
<SCRIPT language='JavaScript'
src='http://[server]/Anno/annoadd.js'></SCRIPT>
ここでは、<SCRIPT>タグで「JavaScript」が使用言語として指定され、同サーバの「Anno」というディレクトリにある「annoadd.js」が外部ファイルとして読み出される。[server]の部分には、実際の仲介サーバ１０のアドレスが記述される。「annoadd.js」はアノテーション情報を追加するためのアノテーション・ツールを含む外部ファイルであり、ツールＤＢ１５２から読み出され、Ｗｅｂページとともにクライアント３０端末側にダウンロードされる。ただし、アノテーション・ツールは、このように外部ファイルの形式で実装するのではなく、直接コンテンツのＨＴＭＬファイルの中に書き込んでもよいことはいうまでもない。
【００２０】
また、Ｗｅｂページとは別のウィンドウでアノテーション・ツールを表示する場合には、アノテーション・ツールをＷｅｂページとは別のＨＴＭＬファイルとしてツールＤＢ１５２に保持する。図３は、その場合のツールＤＢ１５２の例を示す図である。ここでは、表示されるアノテーション・ツールが、仲介サーバ１０にアクセスするユーザのタイプ別、例えば、お客様（customer）か、問い合わせ担当者（agent）かにより、異なる内容のファイルを保持する構成となっている。
【００２１】
キャッシュ管理部１２０は、ユーザから要求されたオリジナルのＷｅｂページのアドレス情報（ＵＲＬ）の入力に応答してセッション・キーを生成し、これをオリジナルのコンテンツ（Ｗｅｂページ）とともにこれに関連付けて格納し、かかるコンテンツをアノテーション情報入力用のＷｅｂページの表示に必要なファイル（アノテーション・ツールを含む）とともにクライアント端末３０側のＷｅｂブラウザに送信する。
【００２２】
より具体的に説明すると、まずＨＴＴＰリクエスト処理部１２２が、クライアント端末３０からのＨＴＴＰリクエストを受信する。ＨＴＴＰ（HyperText Transfer Protocol）そのものについては、当業者に周知であると思われるので、ここでの詳細な説明は省略する。ＨＴＴＰリクエスト処理部１２２は、クライアント端末３０からのＨＴＴＰリクエストのヘッダ部分を解析し、実際にコンテンツを取得するＷｅｂサーバ４０のホスト名（アドレス情報）を特定する。
【００２３】
次に、キャッシュ・コンテンツ管理部１２４は、特定されたアドレス情報をもとにＷｅｂサーバ４０へのＨＴＴＰリクエストを送信し、オリジナルのコンテンツをＷｅｂサーバ４０から取得して、コンテンツＤＢ１５４に格納する。そのとき、コンテンツから参照されている各種ファイル等のオブジェクトのパス名は、仲介サーバ１０に再指定（リダイレクト）されるように修正する。図４は、コンテンツＤＢ１５４に格納されるデータを例示する図である。ユーザが要求した時点のＷｅｂページを構成するために必要なファイルを全てこのＤＢに格納する。
【００２４】
セッション・キー生成部１２６は、セッション・キーを生成し、これを取得したコンテンツと関連付けて管理する。セッション・キーは、ユーザがある所望のコンテンツ（Ｗｅｂページ）を参照する際に一意に割り当てられる識別データである。好適には、管理が容易になるように、各Ｗｅｂページの単位でセッション・キーが割り当てられる。ただし、管理可能であれば、複数のＷｅｂページの単位（例えば、ユーザが１回の接続でアクセスするすべてのＷｅｂページの単位や、同じディレクトリ内にある複数のページ単位等）で１つのセッション・キーを割り当ててもよい。また、セッション・キーは、同じＷｅｂページでも、異なる時点でまたは異なるユーザがアクセス要求するごとに生成される構成とすることもできる。このようなキー情報管理のためのデータは、セッションＤＢ１５６に格納される。
【００２５】
図５は、このようなキー情報を管理するためのデータ項目を例示した図である。ここでは、データの種別ごとにテーブルを設け、必要なデータをポインタで特定するように構成されている。セッション・データ(a)は、セッション・キーと仲介サーバ１０にキャッシュされたコンテンツとの対応を管理する。Ｗｅｂデータ(b)は、オリジナルのＷｅｂサーバ４０から取得してコンテンツＤＢ１５４に格納されたＷｅｂページに関するデータが保持されている。個人データ(c)で管理されるクッキー・データは任意の項目であるが、本実施の形態では、ユーザの認証とクライアント端末３０のＷｅｂブラウザにおける画面間の遷移状態の管理とを可能にするため、セッションＤＢ１５６に保持させる構成を採用している。仲介サーバ１０は、ユーザの適切なクッキー・データをＷｅｂサーバ４０に送信することによって、Ｗｅｂブラウザが本来受信できるＷｅｂページと同じデジタル・コンテンツを受け取ることができる。
【００２６】
図２にもどって、ＨＴＴＰレスポンス生成部１２８は、上述のように仲介サーバ１０にリダイレクトされたユーザ要求のコンテンツをもとに、ＨＴＴＰレスポンスを生成し、クライアント端末３０に送信する。この際に、アノテーション・ツールをコンテンツとともに送信する。
【００２７】
アノテーション管理部１３０は、アノテーション・ツールを用いてユーザが付加したアノテーション情報に関するデータを管理し、かかるアノテーション情報が付加されたＷｅｂページの表示（再生）を制御する。
【００２８】
より具体的に説明すると、アノテーション保管部１３２は、クライアント端末３０でユーザにより付加されたアノテーション情報を、当該アノテーションを付加Ｗｅｂページ内の位置に関する情報とともに受信し保管する。付加されるアノテーション情報は複数あってよい。これらのアノテーション情報および位置情報は、アノテーション付加の対象となるコンテンツのデータと関連付けて、アノテーションＤＢ１５８に格納される。
【００２９】
図６は、アノテーションＤＢ１５８に格納されるアノテーション・データを例示する図である。図６(a)にあるように、アノテーション情報を所定のＷｅｂページにおける所定の位置に適切に表示するためのデータ（アノテーション・データ）は、セッション・キー生成部１２６で生成されたセッション・キーを用いて、対象となるコンテンツと関連付けて保管される。セッション・キーは各Ｗｅｂページ等の所定の単位で一意に付与されているため、セッション・キーを特定するだけで、関連するアノテーション・データとコンテンツの双方をのちに取得することができるようになる。アノテーション・データの詳細は、この例ではポインタで示される別のテーブルにおいて管理されている。
【００３０】
図６(b)には、アノテーション情報が追加されるＷｅｂページ内の位置に関するデータのより具体的な例が示されている。ここでは、各セッションまたは各ページごとに複数のアノテーション情報を付加できるように、１つのセッション・キーに対して複数のデータ・エントリが用意されている。「ロケーション」の欄には、アノテーション情報を付加すべきＷｅｂページ上の所定の位置に関する情報が格納されている。本実施の態様では、ＸＰｏｉｎｔｅｒの書式で位置情報が記述されている。ＸＰｏｉｎｔｅｒとは、ファイルを識別するＵＲＩ（Uniform Resource Identifier）に続けて記述され、そのファイル中の所定の位置を特定するための標準書式である。例えば、図６(b)の１つめのデータ項目の位置情報は、文書の先頭エレメント「root()」の３番目の子供エレメント「child(3,H1)」中のH1エレメントの中にある１番目の文字列の「iSeries」が存在する位置にアノテーション情報があることを示している。複数のアノテーション情報が付加される場合には、このようなデータが複数生成されで同様に管理される。当然、異なる位置に埋め込んだアノテーションは「ロケーション」欄のデータが異なることになる。このような位置情報は、表示されているＷｅｂページ上の所望の位置でユーザが所定の操作（例えば、マウスの右クリックや範囲指定等の操作）を行うことにより取得される。また、本実施の態様では、各アノテーション情報ごとに、追加情報として、アノテーション情報を作成した作者とその日時のデータが付加されている。これにより、複数のユーザがアノテーション情報を追加する場合や一人のユーザが複数回アノテーション情報を追加する場合であっても、誰がいつアノテーション情報を作成したかが認識可能となる。なお、この作者と日時に関するデータは、所定のＷｅｂページへのアクセス要求があるごとにセッション・キーが割り当てられる本発明の構成では、図６(a)のセッション・データの追加情報とすることが好適であることはいうまでもない。
【００３１】
図６(c)には、アノテーション・データのより具体的な例が示されている。アノテーション・データは、データの特性に応じて各タイプごとに管理されている。「テキスト」タイプは、実際にアノテーションとして記述されるテキスト（文章）を意味し、実際のコメントの内容が保持される。「ＧＩＦ」タイプは、写真などのイメージを意味し、ＧＩＦ形式などのイメージ・ファイルとして保持される。「ビデオ」タイプは、アニメーション（動画）データを意味し、ＭＰＥＧ形式などの動画ファイルとして保持される。なお、特にここでは例示していないが、音声などのデータも同様にしてアノテーション情報として追加可能であることに留意されたい。要は、アノテーション情報として表示できるデータであれば、特にファイルの形式にはこだわらず、個別に管理することができる。
【００３２】
なお、これらのアノテーション・データは、セッション・キーをファイル名の一部に有するJavaScriptファイル（例えば「12345.js」）の形式で個別に保持することも可能である。これにより、セッション・キーを核とする簡便なアノテーション情報の共有方法を実現できる。
【００３３】
図２にもどって、アノテーション保管部１３２は、上述のようにアノテーション・データを作成し保管した後、アノテーション付きのＷｅｂページを再生（表示）するためのＵＲＬを生成する。この再生用ＵＲＬは、クライアント端末３０の一般的なブラウザで入力することによって、アノテーション付きのＷｅｂページの表示を可能にする。これにより、複数のユーザ間でのアノテーション情報の共有が可能となる。再生用ＵＲＬとして、例えば次のようなものが例示できる。
http://[server]/ReplayURL?key=12345
ここで、[server]は仲介サーバ１０のアドレス情報である。「/ReplayURL?key=12345」は、同サーバにおいてパラメータのkey（セッション・キー）として「12345」の値を有するファイルないしデータを用いて、対応するＷｅｂページを再生するためのプログラム（ReplayURL）を起動することを意味している。
【００３４】
アノテーション再生部１３４は、上記のような再生用ＵＲＬの入力に応じて、まずセッション・キーを取得する。そして、セッション・キーの情報を参照して、対応するアノテーション・データと対象となるコンテンツ（Ｗｅｂページ）を、それぞれアノテーションＤＢ１５８とコンテンツＤＢ１５４から取得する。アノテーション・データは、上述のように、セッション・キーに関連付けて、キャッシュされたオリジナルのコンテンツへのポインタ情報とともに、アノテーション情報およびその位置情報を保持しているので、アノテーション再生部１３４は、セッション・キーさえ与えられれば、再生用コンテンツの生成に必要なデータを取得することができる。アノテーション再生部１３４は、これらのデータに基づき適切な位置にアノテーション情報が埋め込まれた再生用コンテンツを生成し、コンテンツを再生するためのアノテーション・ツールとともにクライアント端末３０に送信する。
【００３５】
例えば、アノテーション再生部１３４は、再生用コンテンツに次のようなタグを挿入する。
<SCRIPT language='JavaScript'
src='http://[server]/Anno/data/12345.js'></SCRIPT>
<SCRIPT language='JavaScript'
src='http://[server]/Anno/annoplay.js'></SCRIPT>
ここで、[server]の部分には、実際の仲介サーバ１０のアドレスが記述される。「12345.js」は、12345というセッション・キーに対応するアノテーション・データをJavaScriptで記述した外部ファイル名であり、「annoplay.js」はアノテーション情報を再生するためのアノテーション・ツールの記述を含む外部ファイル名であり、それぞれアノテーションＤＢ１５８とツールＤＢ１５２から読み出され、コンテンツ（Ｗｅｂページ）とともにクライアント３０端末側にダウンロードされる。
【００３６】
なお、上記の実施の形態では、仲介サーバ１０が、アノテーション情報のコンテンツへの埋め込みを実行しているが、クライアント端末３０側で実行するように構成することも可能である。この場合、例えば、JavaScriptなどで記述された再生用コンテンツの生成プログラムをさらにコンテンツ（Ｗｅｂページ）中に埋め込んでクライアント端末３０に送信することにより、クライアント３０側での実行が可能となる。
【００３７】
Ｃ．仲介サーバでの処理の流れ
次に、図７および図８を参照して、仲介サーバ１０、クライアント端末３０およびＷｅｂサーバ４０間での処理の流れを、仲介サーバ１０を中心に説明する。
【００３８】
図７は、アノテーション情報を登録する際の仲介サーバ１０での処理の流れを示す図である。アノテーション情報を他のユーザと共有したいユーザは、まずオリジナルのＷｅｂサーバ４０にアクセスするのではなく、仲介サーバ１０にアクセスする。仲介サーバ１０は、ユーザが取得したＷｅｂページのアドレス情報（ＵＲＬ）の入力を促す画面をクライアント端末３０のＷｅｂブラウザに表示し、ユーザがこのアドレス情報を入力することによって、ＨＴＴＰリクエストが仲介サーバ１０に送信される（ステップ７０２）。すなわち、仲介サーバ１０は、ＨＴＴＰリクエストという形で、クライアント端末３０からアノテーション作業の対象となるＷｅｂページのアドレス情報（ＵＲＬ）を受信する。仲介サーバ１０のＨＴＴＰリクエスト処理部１２２は、ユーザが要求したコンテンツ（Ｗｅｂページ）を要求するために、このアドレス情報にもとづき当該Ｗｅｂページを管理するＷｅｂサーバ４０に対するＨＴＴＰリクエストを作成し送信する（ステップ７０４）。そして、Ｗｅｂ４０からのＨＴＴＰレスポンスを待って要求されたオリジナルのコンテンツ（Ｗｅｂページ）のファイルを取得する（ステップ７０６）。
【００３９】
仲介サーバ１０のキャッシュ・コンテンツ管理部１２４は、Ｗｅｂサーバ４０から取得したオリジナルのコンテンツを、セッション・キー生成部１２６が生成したキー情報であるセッション・キーと関連付けたうえで、キャッシュＤＢ（コンテンツＤＢ１５４）に格納する（ステップ７１０）。ユーザが要求した時点のコンテンツは、このように一旦仲介サーバ１０内に保持されるため、オリジナルのコンテンツが頻繁に内容が更新される動的なＷｅｂページであっても、同一のＷｅｂページを参照して他のユーザとアノテーション情報を共有することが可能となる。
【００４０】
仲介サーバ１０のＨＴＴＰレスポンス生成部１２８は、ツール管理部１１０により管理されるツールＤＢ１５２から取得したアノテーション・ツールをコンテンツのファイル（ＨＴＭＬファイル）に埋め込み、ＨＴＴＰレスポンスとしてクライアント端末３０に返信する（ステップ７１２）。ここで、アノテーション・ツールを埋め込むとは、上述のように、外部ファイルとしてアノテーション・ツールを実装することや、コンテンツとは別のＨＴＭＬファイルとしてアノテーション・ツールを送信することを含む。これにより、ユーザは、クライアント端末３０のＷｅｂブラウザ上で、所望のＷｅｂページとともにアノテーション・ツールを表示させることができ、あらかじめ特別のツールを導入しておく必要はない。すなわち、ユーザは、仲介サーバ１０を介して所望のＷｅｂページにアクセスすることによって、アノテーション・ツールを自動的に取得することができる。
【００４１】
図９は、この時のクライアント端末３０に表示されるアノテーション・ツールの例を示す図である。図９は、コマンドを指定するためのコマンド・ボックス(a)と実際にアノテーション情報を追加するための入力ボックス(b)とを分けて表示する場合の例である。最初の段階ではコマンド・ボックスのみがＷｅｂページ上にまたは別ウィンドウとして表示されている。ユーザは、まずアノテーション情報を挿入したい位置をＷｅｂページ上で指定する。これは、例えば、通常の画面操作で行われるところの範囲指定の操作やマウスの右クリック等の操作により行われる。あるいは、その時点でカーソルが存在する位置にアノテーション情報を挿入する実施形態としてもよい。引き続き、図９の例では、ユーザはコマンド・ボックスの「Ｎｅｗ」ボタンを選択する（クリックする）。これにより、アノテーション情報の入力ボックス(b)が表示される。
【００４２】
ここで、アノテーション・ツール中の各ボタンについて説明する。コマンド・ボックス中の「Ｎｅｗ」は上述のようにアノテーション情報を新規作成するためのボタンである。複数のアノテーション情報を追加する場合には、その都度、このボタンを押すことになる。「Ｒｅｍｏｖｅ」は、一旦入力したアノテーション情報を削除するためのボタンである。また「Ｓｈｏｗ」および「Ｈｉｄｅ」は、その時点でＷｅｂページ中に表示されているアノテーション情報を表示したり非表示したりするためのボタンである。「ＯＫ」は記入したアノテーション情報の入力を完了した時点で一時的にその内容をクライアント端末３０側で保持するためのボタンである。すなわち、この「ＯＫ」ボタンを押した段階では、アノテーション・データは仲介サーバ１０に送信されない。これにより、複数のアノテーション情報を個別の位置に入力し、まとめて最後に送信するといった処理が可能となる。「Ａｐｐｌｙ」はすでに入力されたアノテーション情報を仲介サーバ１０側に送信するためのボタンである。そして、「Ｃｌｏｓｅ」はアノテーション・ツールそのものを閉じるためのボタン、「Ｈｅｌｐ」はヘルプ情報を表示するためのボタンである。なお、コマンド・ボックスは、もっと簡単な構成としてもよいことはいうまでもない。例えば、典型的には、ユーザによる位置指定の後に入力ボックスを表示するためのボタン（「Ｎｅｗ」に相当）と、アノテーション情報を追加したアノテーション・データを仲介サーバ１０に送信するためのボタン（「Ａｐｐｌｙ」に相当）だけでも構成することができる。
【００４３】
入力ボックス(b)は、テキスト、イメージ・ファイル、動画その他のファイルをアノテーション情報として入力できるように構成されている。テキストは「Ｍｅｓｓａｇｅ」欄に直接内容を入力する。イメージその他のファイルは、そのイメージが格納されているロケーション情報（例えば、ＵＲＬなどのアドレス情報）を入力することにより、アノテーション情報として参照される。ただし、これらのファイルの入力欄は任意の項目として構成できることはいうまでもない。その他、この実施の形態では、入力時の日付とアノテーション情報の作成者の情報を追加できるように構成されているが、これらのデータは、あらかじめ登録された情報から自動的に作成するように構成してもよい。
【００４４】
図１０は、図９のコマンド・ボックスと入力ボックスを１つのボックスで表示する場合の例を示した図である。当該ボックスの各構成要素の機能はすでに図９に関連して説明したので、ここでは詳細な説明は省略する。
【００４５】
再び、図７にもどって、ユーザが上記のアノテーション・ツールを用いて作成されたアノテーション情報は、ＨＴＴＰリクエストとして仲介サーバ１０に送信される。具体的には、上記の「Ａｐｐｌｙ」ボタンの選択により、アノテーション情報が、そのＷｅｂページ内での表示位置を表す位置情報とともに送信される（ステップ７１４）。仲介サーバ１０のアノテーション保管部１３２は、受信したアノテーション・データを、上述のようにキー情報であるセッション・キーと関連付けて、アノテーションＤＢ１５８に保存する（ステップ７２０）。この場合、アノテーション情報が組み込まれる対象のコンテンツの情報も、セッション・キーに関連付けて記憶される。そして、アノテーション保管部１３２は、上述のような再生用ＵＲＬを生成して、ＨＴＴＰレスポンスとして、クライアント端末３０に送信する（ステップ７２２）。ユーザは、アノテーション情報を共有したい他のユーザにこの再生用ＵＲＬを送信することによって、当該他のユーザからもアノテーション情報へのアクセスが可能となる。例えば、クライアント端末３０(a)のユーザが、まず所望のＷｅｂページにアノテーション情報を付加し、結果として得た再生用ＵＲＬをクライアント端末(b)のユーザ宛てに電子メールなどで通知する。クライアント端末(b)のユーザは、この再生用ＵＲＬを入力することによって、仲介サーバ１０に自動的にアクセスすることができ、他のユーザが追加したアノテーション情報を参照することができる。
【００４６】
図８は、アノテーション情報を含むＷｅｂページを再生する際の仲介サーバ１０での処理の流れを示す図である。ユーザは、まずクライアント端末３０から上述の再生用ＵＲＬを入力してＨＴＴＰリクエストを仲介サーバ１０に送信する（ステップ８１０）。仲介サーバ１０のアノテーション再生部１３４は、再生用ＵＲＬ含まれるキー情報（セッション・キーに関する情報）に基づき、あらかじめこれに関連付けて記憶されたアノテーション・データおよびコンテンツをそれぞれアノテーションＤＢ１５８およびコンテンツＤＢ１５４から取得し、適切な位置にアノテーション情報を埋め込んだコンテンツ（Ｗｅｂページ）のファイルを作成する（ステップ８２０）。すなわち、上述のように、アノテーション・データには各アノテーション情報を表示する位置に関する情報が含まれているため、このような適切な位置へのアノテーション情報の埋め込みが可能となる。ただし、この埋め込み作業は必ずしも仲介サーバ１０側で実施する必要はなく、クライアント端末３０側で実施するようにしてもよい。この場合、埋め込み作業を実施するためのプログラムもアノテーション情報とともにクライアント端末３０側に送信される。
【００４７】
アノテーション再生部１３４は、アノテーション情報を編集（作成）するためのプログラムのみならず、アノテーション情報を再生（表示）するためのプログラムもアノテーション・ツールとして上記コンテンツとともに送信する（ステップ８３０）。これにより、ユーザは他のユーザが埋め込んだアノテーション情報をブラウズするだけでなく、それに対する回答や補足コメントもアノテーション情報として追加することが可能となる。この場合のアノテーション情報登録の処理フローは、図７で説明したとおりである。
【００４８】
図１１は、実際にアノテーション情報が組み込まれたＷｅｂページの例を示す図である。この図では、アノテーション・ツールが別ウィンドウで表示されているが、上述のように、Ｗｅｂページ内に表示する形式でもよい。すでに追加されたアノテーション情報は、Ｗｅｂページ中に表示される所定のシンボルを選択（クリック等）することによって、そのシンボルの近傍に展開表示される。このアノテーションのシンボルは、明示的に判別しやすいように、点滅させる等して強調表示することが好ましい。逆に表示されたアノテーション情報は、「ｃｌｏｓｅ」というボタンを選択することで非表示状態にすることができる。この例では、３つのアノテーション情報が埋め込まれており、それぞれに作成の日時、作者、メッセージの内容が記述されている。各アノテーション情報のウィンドウは、表示後にマウス操作等によりＷｅｂページ内で移動可能である。ここではさらに、動画データが再生できるように実装されており、「Ｓｈｏｗ  Ｖｉｄｅｏ」のボタンを選択することで、埋め込まれた動画データの再生が開始される。ここでは特に示さないが、同様にして音声データを埋め込んでおくことも可能である。この場合、音声でガイド文を読み上げたり、音声でアノテーション情報を読み上げたりすることが可能となる。
【００４９】
本実施の形態では、各アノテーション項目は個別に表示されるが、アクセスの便宜のため、まずは自動的にアノテーション・リストのような一覧リストとして項目を表示させ、所望のアノテーション項目をクリック等のユーザの選択操作に応じて、実際の個々のアノテーション情報を表示させるようにしてもよい。
【００５０】
なお、すでに説明したように、再生用ＵＲＬを通知されたユーザであれば、対象となるＷｅｂページにアクセスし、他ユーザが入力したアノテーション情報をブラウズするとともに、自ら新たなアノテーション情報を作成して追加することが可能となる。
【００５１】
Ｄ．ハードウェア構成
図１２は、本発明の実施に好適な、サーバやクライアント端末等、コンピュータ装置のハードウェア構成の例を模式的に示した図である。図１２に示したコンピュータ装置は、ＣＰＵ（中央処理装置）１０２と、バス１０８を介してＣＰＵ１０２に接続されるＲＡＭ等のメモリ１０４と、ネットワーク２０を通じて他のコンピュータ装置に接続するための通信アダプタ１０６を含んでいる。さらに、このコンピュータ装置は、Ｉ／Ｏアダプタ（例えば、ＩＤＥコントローラやＳＣＳＩコントローラ）１１０を介して、ハードディスク装置１１４、フレキシブルディスク装置１１６、ＣＤ−ＲＯＭ駆動装置１１８を含むことができ、また、ユーザインタフェース・アダプタ１１２を介して、キーボード１２０、マウス１２２、ディスプレイ装置１２４等のユーザ入出力用の装置を含むことができる。
【００５２】
本発明の構成のうち、仲介サーバ１０の処理部１２の各機能は、メモリ１０４に展開されたプログラムにより制御されるＣＰＵ１０２にて実現される、いわば仮想的な処理ブロックである。このプログラムは、一般的には、磁気ディスク等の記録媒体に格納されて（ＦＤＤ１１６やＣＤ−ＲＯＭ１１８を通じて）、あるいはネットワークを介して送信されて（通信アダプタ１０６を通じて）、コンピュータ装置に供給される。プログラムは、一般的にはハードディスク装置１１４に格納され、実行時にメモリ１０４にロードされて、ＣＰＵ１０２で実行される。また、仲介サーバ１０のデータ部１５は、ハードディスク装置１１６やメモリ１０４にて実現され、要求に応じて、データを処理部１２に供給する。なお、図１２は本実施の形態を実現するコンピュータ装置の構成を例示するに過ぎず、本実施の形態を適用可能であれば、他のシステム構成を採用できることはいうまでもない。
【００５３】
【発明の効果】
以上説明したように、本発明の仲介サーバの機能によって、特別なプログラムをクライアント側に導入することなく、オリジナルのデジタル・コンテンツ（Ｗｅｂページ等）とともに、それに付加されるアノテーション情報を複数のユーザ間で共有することが可能となる。しかも、かかるアノテーション情報は位置情報とともに管理されるので、オリジナルのコンテンツのどの部分に注目してほしいかを明確に伝えることができる。また、オリジナルのデジタル・コンテンツが一旦仲介サーバに格納された後、必要なアノテーション情報の追加・表示がなされるため、頻繁に内容が更新されるデジタル・コンテンツについてもアノテーション情報の共有が可能となる。
【図面の簡単な説明】
【図１】本発明を含む情報処理システムの全体の構成を示す機能ブロック図である。
【図２】仲介サーバ１０の構成を示す機能ブロック図である。
【図３】ツールＤＢ１５２の例を示す図である。
【図４】コンテンツＤＢ１５４に格納されるデータを例示する図である。
【図５】キー情報を管理するためのデータ項目を例示した図である。
【図６】アノテーションＤＢ１５８に格納されるアノテーション・データを例示する図である。
【図７】アノテーション情報を登録する際の仲介サーバ１０での処理の流れを示す図である。
【図８】アノテーション情報を含むＷｅｂページを再生する際の仲介サーバ１０での処理の流れを示す図である。
【図９】クライアント端末３０に表示されるアノテーション・ツールの例を示す図である。
【図１０】図９のコマンド・ボックスと入力ボックスを１つのボックスとして表示する場合の例を示した図である。
【図１１】アノテーション情報が組み込まれたＷｅｂページの例を示す図である。
【図１２】本発明の実施に好適な、サーバやクライアント端末等、コンピュータ装置のハードウェア構成の例を模式的に示した図である。
【符号の説明】
１０…仲介サーバ
２０…ネットワーク
３０…クライアント端末
４０…Ｗｅｂサーバ
【図１】
0003771831.tif 000002
【図２】
0003771831.tif 000003
【図３】
0003771831.tif 000004
【図４】
0003771831.tif 000005
【図５】
0003771831.tif 000006
【図６】
0003771831.tif 000007
【図７】
0003771831.tif 000008
【図８】
0003771831.tif 000009
【図９】
0003771831.tif 000010
【図１０】
0003771831.tif 000011
【図１１】
0003771831.tif 000012
【図１２】
0003771831.tif 000013