(57)【要約】      （修正有）【課題】  サイズの大きいコンテンツを、端末の性能等を考慮し、複数の端末と連携して適切に表示するブラウジングシステムを提供する。【解決手段】  ブラウジングシステム１００は、サーバ１０１とクライアント１０２から構成されている。（ａ）サーバ１０１は、ユーザ管理部１１１、イベント管理部１１２、コンテンツ分割部１１４を備え、（ｂ）クライアント１０２は、部分コンテンツに属するオブジェクトデータ、及びオブジェクトデータの割り付けに関するレイアウトデータに基づいて、ブラウジング画面表示用コンテンツを生成するページ管理部１２２、ブラウジング画面表示用コンテンツに基づいて、ブラウジング画面を構成して表示するブラウジング画面処理部１２３を備える。【選択図】  図１
2006195675.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを構成する複数のオブジェクトデータを表示するクライアント装置、及び前記クライアント装置の機能に合わせて前記コンテンツを分割するサーバ装置から構成されるブラウジングシステムであって、
前記サーバ装置は、
前記クライアント装置に関する固有情報を管理するユーザ管理手段と、
前記クライアント装置から受け付けた操作情報を管理するイベント管理手段と、
前記固有情報に基づいて、前記コンテンツを部分コンテンツに分割するコンテンツ分割手段とを備え、
前記クライアント装置は、
前記部分コンテンツに属するオブジェクトデータ、及び前記オブジェクトデータの割り付けに関するレイアウトデータに基づいて、ブラウジング画面表示用コンテンツを生成するページ管理手段と、
前記ブラウジング画面表示用コンテンツに基づいて、ブラウジング画面を構成して表示し、表示したブラウジング画面を介してユーザから操作を受け付けるブラウジング画面処理手段と、
ユーザから受け付けた操作に関する操作情報を管理するイベント管理手段と
を備えることを特徴とするブラウジングシステム。
【請求項２】
前記サーバ装置は、
前記コンテンツを構成する複数のオブジェクトデータ間の関係を示す木構造のメタデータと前記レイアウトデータとを生成するメタデータ生成手段を備え、
前記コンテンツ分割手段は、
前記木構造のメタデータを完全グラフに変換し、前記完全グラフを分割することによって、前記コンテンツを前記部分コンテンツに分割する
ことを特徴とする請求項１に記載のブラウジングシステム。
【請求項３】
前記メタデータ生成手段は、コンテンツを取得する度にメタデータを生成し、
前記コンテンツ分割手段は、コンテンツを取得する度に前記メタデータを分割する
ことを特徴とする請求項２に記載のブラウジングシステム。
【請求項４】
前記コンテンツ分割手段は、前記木構造のメタデータを完全グラフに変換する際に、完全グラフが前記木構造におけるオブジェクトノードのみからなり、ノード間の枝の距離が木におけるノード間のパスの距離に対応するように変換する
ことを特徴とする請求項２記載のブラウジングシステム。
【請求項５】
前記コンテンツ分割手段は、完全グラフにおいて枝の距離が近いノード同士を同じ部分グラフになるように完全グラフを分割する
ことを特徴とする請求項２に記載のブラウジングシステム。
【請求項６】
前記クライアント装置における前記イベント管理手段は、
ユーザからリンク選択操作を受け付けた場合には、リンク選択操作を行ったユーザの名前、リンク先コンテンツが分配されるユーザのリスト、及びリンク先のＵＲＬを含む操作情報を前記サーバ装置へ送信し、
前記サーバ装置における前記イベント管理手段は、
前記リンク先のＵＲＬからコンテンツを取得し、前記コンテンツを部分コンテンツに分割し、前記部分コンテンツに対して全てのクライアント装置に共通の識別情報を設定し、前記識別情報と前記部分コンテンツとをリンク選択操作の対象となるユーザのクライアント装置へ送信する
ことを特徴とする請求項１に記載のブラウジングシステム。
【請求項７】
前記クライアント装置における前記イベント管理手段は、
ユーザからバック操作を受け付けた場合には、他のクライアント装置でも同期させるか否かを選択させ、選択させた結果、同期させない場合には、自装置のみバック先コンテンツを表示し、同期させる場合には、バック先コンテンツに設定された識別情報を含む操作情報を前記サーバ装置に送信し、
前記サーバ装置における前記イベント管理手段は、
前記識別情報を含む操作情報を前記他のクライアント装置へ送信し、
前記他のクライアント装置における前記イベント管理手段は、
前記識別情報に対応する部分コンテンツを今すぐ表示するか否かをユーザに選択させ、選択させた結果、今すぐ表示するときだけ、前記バック先コンテンツを表示する
ことを特徴とする請求項１に記載のブラウジングシステム。
【請求項８】
前記クライアント装置における前記イベント管理手段は、
ユーザからフォワード操作を受け付けた場合には、
他のクライアント装置でも同期させるか否かを選択させ、
選択させた結果、同期させない場合には、自装置のみフォワード先コンテンツを表示し、同期させる場合には、フォワード先コンテンツに設定された識別情報を含む操作情報を前記サーバ装置に送信し、
前記サーバ装置における前記イベント管理手段は、
前記識別情報を含む操作情報を前記他のクライアント装置へ送信し、
前記他のクライアント装置におけるイベント管理手段は、
前記識別情報に対応する部分コンテンツを今すぐ表示するか否かをユーザに選択させ、選択させた結果、今すぐ表示するときだけ、前記フォワード先コンテンツを表示する
ことを特徴とする請求項１に記載のブラウジングシステム。
【請求項９】
前記クライアント装置における前記イベント管理手段は、
ユーザからオーバービュー表示操作を受け付けた場合には、現在表示しているブラウジング画面表示用コンテンツが属するコンテンツのオーバービューを表示する
ことを特徴とする請求項１に記載のブラウジングシステム。
【請求項１０】
前記クライアント装置におけるイベント管理手段は、
ユーザからイベント表示操作を受け付けた場合には、管理している操作情報の履歴リストを表示する
ことを特徴とする請求項１に記載のブラウジングシステム。
【請求項１１】
前記クライアント装置におけるイベント管理手段は、
ユーザから画面分割表示操作を受け付けた場合には、夫々のクライアント装置のディスプレイサイズ、及び並び方に応じて分割された画像を表示する
ことを特徴とする請求項１に記載のブラウジングシステム。
【請求項１２】
前記クライアント装置は、
前記レイアウトデータ、前記部分コンテンツから、分割前の前記コンテンツの概要を示すオーバービュー画面表示用コンテンツに基づいて、オーバービュー画面を構成して表示し、表示したオーバービュー画面を介してユーザから操作を受け付けるオーバービュー画面処理手段を備える
ことを特徴とする請求項１に記載のブラウジングシステム。
【請求項１３】
前記サーバ装置は、
前記部分コンテンツ単位でスクリーンショット画像を生成するスクリーンショット画像生成手段を備え、
前記オーバービュー画面処理部は、
前記レイアウトデータ、前記スクリーンショット画像、及び前記部分コンテンツから、分割前のコンテンツのオーバービュー画面を構成して表示する
ことを特徴とする請求項１２に記載のブラウジングシステム。
【請求項１４】
クライアント装置の機能に合わせてコンテンツを分割するサーバ装置であって、
前記クライアント装置に関する固有情報を管理するユーザ管理手段と、
前記クライアント装置から受け付けた操作情報を管理するイベント管理手段と、
前記固有情報に基づいて、前記コンテンツを部分コンテンツに分割するコンテンツ分割手段と
を備えることを特徴とするサーバ装置。
【請求項１５】
コンテンツを構成する複数のオブジェクトデータを表示するクライアント装置であって、
前記オブジェクトデータ、及び前記オブジェクトデータの割り付けに関するレイアウトデータに基づいて、ブラウジング画面表示用コンテンツを生成するページ管理手段と、
前記ブラウジング画面表示用コンテンツに基づいて、ブラウジング画面を構成して表示し、表示したブラウジング画面を介してユーザから操作を受け付けるブラウジング画面処理手段と、
ユーザから受け付けた操作に関する操作情報を管理するイベント管理手段と
を備えることを特徴とするクライアント装置。
【請求項１６】
コンテンツを構成する複数のオブジェクトデータを表示するクライアント装置、及び前記クライアント装置の機能に合わせて前記コンテンツを分割するサーバ装置から構成されるシステムを制御するブラウジング方法であって、
前記サーバ装置に、
前記クライアント装置に関する固有情報を管理させ、
前記クライアント装置から受け付けた操作情報を管理させ、
前記固有情報に基づいて、前記コンテンツを部分コンテンツに分割させ、
前記クライアント装置に、
前記部分コンテンツに属するオブジェクトデータ、及び前記オブジェクトデータの割り付けに関するレイアウトデータに基づいて、ブラウジング画面表示用コンテンツを生成させ、
前記ブラウジング画面表示用コンテンツに基づいて、ブラウジング画面を構成して表示し、表示したブラウジング画面を介してユーザから操作を受け付けさせ、
ユーザから受け付けた操作に関する操作情報を管理させる
ことを特徴とするブラウジング方法。
【請求項１７】
クライアント装置の機能に合わせてコンテンツを分割する装置を制御するサーバ制御方法であって、
前記クライアント装置に関する固有情報を管理し、
前記クライアント装置から受け付けた操作情報を管理し、
前記固有情報に基づいて、前記コンテンツを部分コンテンツに分割する
ことを特徴とするサーバ制御方法。
【請求項１８】
コンテンツを構成する複数のオブジェクトデータを表示する装置を制御するクライアント制御方法であって、
前記オブジェクトデータ、及び前記オブジェクトデータの割り付けに関するレイアウトデータに基づいて、ブラウジング画面表示用コンテンツを生成し、
前記ブラウジング画面表示用コンテンツに基づいて、ブラウジング画面を構成して表示し、表示したブラウジング画面を介してユーザから操作を受け付け、
ユーザから受け付けた操作に関する操作情報を管理する
ことを特徴とするクライアント制御方法。
【請求項１９】
クライアント装置の機能に合わせてコンテンツを分割するコンピュータシステムにおいて実行されるサーバプログラムであって、
前記クライアント装置に関する固有情報を管理し、
前記クライアント装置から受け付けた操作情報を管理し、
前記固有情報に基づいて、前記コンテンツを部分コンテンツに分割する
ことをコンピュータシステムに実行させることを特徴とするサーバプログラム。
【請求項２０】
コンテンツを構成する複数のオブジェクトデータを表示するコンピュータシステムにおいて実行されるクライアントプログラムであって、
前記オブジェクトデータ、及び前記オブジェクトデータの割り付けに関するレイアウトデータに基づいて、ブラウジング画面表示用コンテンツを生成し、
前記ブラウジング画面表示用コンテンツに基づいて、ブラウジング画面を構成して表示し、表示したブラウジング画面を介してユーザから操作を受け付け、
ユーザから受け付けた操作に関する操作情報を管理する
ことをコンピュータシステムに実行させることを特徴とするクライアントプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の装置間で協調してコンテンツを閲覧するブラウジングシステムに関する。
【背景技術】
【０００２】
近年、通信技術や計算機技術の発展にともない、携帯電話やＰＤＡ（Personal Digital Assistant）等のモバイル端末が身近なものとなってきている。ユーザは、モバイル端末を用いて、いつでもどこでもインターネット上のコンテンツにアクセスすることができる。そして、デスクトップＰＣ用のＷｅｂページなどサイズの大きいコンテンツを、モバイル端末を用いて閲覧する技術として、オーバービューを用いてコンテンツの概要を提供する技術がこれまでに多く提案されている。
【０００３】
例えば、Ｐｏｗｅｒ  Ｂｒｏｗｓｅｒは、デスクトップＰＣ用のＷｅｂページのサマリーをテキストベースで提供する技術である（例えば、非特許文献１、非特許文献２参照。）。ユーザは、サマリーから閲覧したい部分を選択することにより、その詳細を閲覧できる。
【０００４】
また、イメージベースのオーバービューを提供する技術として、Ｓｍａｒｔ  Ｖｉｅｗなどがある（例えば、非特許文献３、非特許文献４参照。）。これらの技術では、デスクトップＰＣ用のＷＷＷ（World Wide Web）ブラウザで表示したページのイメージを縮小したオーバービューをＰＤＡに表示する。ユーザはオーバービューから閲覧したい部分を拡大することができる。
【０００５】
また、近くにいるユーザ同士で協調作業を行う技術として、Ｌｅｔ’ｓ  Ｂｒｏｗｓｅ、ＧＤＡ、ＣｏｎｎｅｃＴａｂｌｅｓ等がある（例えば、非特許文献５、非特許文献６、非特許文献７参照。）。Ｌｅｔ’ｓ  Ｂｒｏｗｓｅでは、通常のデスクトップＰＣを用いた多ユーザによるＷｅｂブラウジングにおいて、現在見ているページからリンクしているページの中で、全てのユーザのプロファイルに最も適合したページを提示する。ＧＤＡでは、複数のＰＤＡの画面を結合することにより、協調作業に用いるワークスペースの表示領域を拡大できる。ＣｏｎｎｅｃＴａｂｌｅｓでは、持ち運び可能なディスプレイを結合することにより、ディスプレイ上の作業領域を結合できる。
【非特許文献１】O. Buyukkokten, H. Garcia-Molina, A. Paepcke, and T. Winograd,     "Power browser: Efficient web browsing for PDAs,"     Proc. Human-Computer Interaction Conference 2000 (CHI 2000), vol. 2, issue 1, pp. 430--437, Apr. 2000.
【非特許文献２】O. Buyukkokten, H. Garcia-Molina, and A. Paepcke,     "Seeing the whole in parts: Text summarization for web browsing on handheld devices,"     Proc. World Wide Ｗｅｂ Conference (WWW'01), pp. 652--662, May 2001.
【非特許文献３】Y. Chen, W. Ma, and H. Zhang,     "Detecting web page structure for adaptive viewing on small form factor devices,"     Proc. World Wide Ｗｅｂ Conference (WWW'03), pp. 225--233, May 2003.
【非特許文献４】N. Milic-Frayling and R. Sommerer,     "SmartView: Flexible viewing of web page contents,"     Proc. World Wide Ｗｅｂ Conference (WWW'02), May 2002.
【非特許文献５】H. Lieberman, N. W. V. Dyke, and A. S. Vivacqua,     "Let's browse: A collaborative web browsing agent,"     Proc. International Conference on Intelligent User Interfaces (IUI'99), Jan. 1999.
【非特許文献６】野田敬寛, 吉野 孝, 宗森 純,           "ＧＤＡ: 複数のＰＤＡによる画面結合共有システム,"           情報処理学会論文誌, vol. 44, no. 10, pp. 2478--2489, Oct. 2003.
【非特許文献７】P. Tandler, T. Prante, C. Muller-Tomfelde, N. Streitz, and R. Steinmetz,     "ConnecTables: Dynamic computing of displays for the flexible creation of shared workspaces,"     Proc. ACM Symposium on User Interface Software and Technology (UIST'01), vol. 3, no. 2, pp. 11--20, Nov. 2001.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、前記従来の技術においても、依然としてモバイル端末はディスプレイサイズや計算能力に制限があるため、サイズの大きいコンテンツを快適に閲覧することが困難という問題がある。
【０００７】
例えば、携帯電話などのさらに画面が小さい端末を用いたブラウジングを考えた場合には、オーバービューの縮率が大きくなるため、ユーザはコンテンツの把握が困難である。
【０００８】
そこで、本発明は、前記問題に鑑みてなされたものであり、サイズの大きいコンテンツを、端末の性能等を考慮し、複数の端末と連携して適切に表示するブラウジングシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
前記目的を達成するために、本発明に係るブラウジングシステムは、（ａ）コンテンツを構成する複数のオブジェクトデータを表示するクライアント装置、及び前記クライアント装置の機能に合わせて前記コンテンツを分割するサーバ装置から構成されるブラウジングシステムであって、（ｂ）前記サーバ装置は、（ｂ１）前記クライアント装置に関する固有情報を管理するユーザ管理手段と、（ｂ２）前記クライアント装置から受け付けた操作情報を管理するイベント管理手段と、（ｂ３）前記固有情報に基づいて、前記コンテンツを部分コンテンツに分割するコンテンツ分割手段とを備え、（ｃ）前記クライアント装置は、（ｃ１）前記部分コンテンツに属するオブジェクトデータ、及び前記オブジェクトデータの割り付けに関するレイアウトデータに基づいて、ブラウジング画面表示用コンテンツを生成するページ管理手段と、（ｃ２）前記ブラウジング画面表示用コンテンツに基づいて、ブラウジング画面を構成して表示し、表示したブラウジング画面を介してユーザから操作を受け付けるブラウジング画面処理手段と、（ｃ３）ユーザから受け付けた操作に関する操作情報を管理するイベント管理手段とを備えることとする。
【００１０】
これによって、モバイル端末のようなクライアント装置は、1つのモバイル端末だけでは閲覧できない情報量の多いページを、クライアント装置に最適化された部分ページ単位で閲覧することができる。また、ユーザは、分割した部分ページを互いに近くにいる複数のユーザに割り当て、他のクライアント装置と協調して表示することにより、通常のデスクトップＰＣ向けに生成されたＷｅｂページを、複数のクライアント装置を用いて閲覧することができる。そして、それぞれのクライアント装置に表示された部分ページを互いに見ながら、相談して目的とする情報を検索、閲覧することができる。
【００１１】
さらに、（ａ）前記サーバ装置は、前記コンテンツを構成する複数のオブジェクトデータ間の関係を示す木構造のメタデータと前記レイアウトデータとを生成するメタデータ生成手段を備え、（ｂ）前記コンテンツ分割手段は、前記木構造のメタデータを完全グラフに変換し、前記完全グラフを分割することによって、前記コンテンツを前記部分コンテンツに分割することとしてもよい。
【００１２】
これによって、サーバ装置は、ＨＴＭＬ形式のＷｅｂページを再帰的にセグメント化することにより、木構造のメタデータを自動的に生成することができる。さらに、固有情報に基づいて、その木を分割することにより、モバイル端末のようなクライアント装置に最適化された部分ページにＷｅｂページを分割することができる。
【００１３】
さらに、前記コンテンツ分割手段は、クライアント装置の最大容量を超えないようにコンテンツを割り当てることとしてもよい。
【００１４】
さらに、前記コンテンツ分割手段は、クライアント装置の性能比に応じてコンテンツの分配割合を決定することとしてもよい。
【００１５】
さらに、前記コンテンツ分割手段は、実行に特別な機能が必要なコンテンツに対しては、その機能を有するクライアント装置に優先して割り当てることとしてもよい。
【００１６】
さらに、前記コンテンツ分割手段は、ユーザの嗜好を示すキーワード群が、前記ユーザに対する前記固有情報に含まれる場合には、前記キーワード群に基づいて、前記コンテンツから分割された複数のオブジェクトを割り当てることとしてもよい。
【００１７】
なお、本発明は、ブラウジングシステムとして実現されるだけではなく、ブラウジングシステムを制御する方法（以下、ブラウジング方法と呼称する。）等として実現されるとしてもよい。
【００１８】
また、ブラウジングシステムを構成するサーバ装置、サーバ装置を制御する方法（以下、サーバ制御方法）、サーバ制御方法をコンピュータシステム等に実行させるプログラム（以下、サーバプログラムと呼称する。）、サーバプログラムを記録した記録媒体等として実現されるとしてもよい。
【００１９】
また、ブラウジングシステムを構成するクライアント装置、クライアント装置を制御する方法（以下、クライアント制御方法）、クライアント制御方法をコンピュータシステム等に実行させるプログラム（以下、クライアントプログラムと呼称する。）、クライアントプログラムを記録した記録媒体等として実現されるとしてもよい。
【発明の効果】
【００２０】
以上、本発明に係るブラウジングシステムによれば、サーバ装置は、ＨＴＭＬ形式のＷｅｂページを再帰的にセグメント化することにより、木構造のメタデータを自動的に生成することができる。さらに、ユーザ情報に基づいて、その木を分割することにより、モバイル端末のようなクライアント装置に最適化された部分ページにＷｅｂページを分割することができる。また、クライアント装置は、1つのモバイル端末だけでは閲覧できない情報量の多いページを、クライアント装置に最適化された部分ページ単位で閲覧することができる。また、ユーザは、分割した部分ページを互いに近くにいる複数のユーザに割り当て、他のクライアント装置と協調して表示することにより、通常のデスクトップＰＣ向けに生成されたＷｅｂページを、複数のクライアント装置を用いて閲覧することができる。そして、それぞれのクライアント装置に表示された部分ページを互いに見ながら、相談して目的とする情報を検索、閲覧することができる。
【００２１】
また、オーバービュー画面を用いて分割前の大まかなページ構造を把握することができる。さらに、それぞれのブラウザのバックおよびフォワード操作を同期させることにより、ユーザ同士が混乱せず同じページを閲覧することができる。
【００２２】
また、クライアント装置で、サーバ装置が生成したオブジェクト毎のスクリーンショット画像を用いて、イメージベースのオーバービューを構成して表示することができる。
【００２３】
また、ブラウジングシステムで用いているオーバービューは、サマリーとしてオブジェクトの名前を表示する上、分割前のページのレイアウトでオブジェクトを表示する。したがって、ユーザは元のページ構造を容易に想像することができる。また、他のクライアント装置のブラウジング画面を横に並べて閲覧することで、オブジェクトの内容も容易に把握できる。さらに、ページのサマリーを文字列で表示すれば、ユーザは小さい画面でもページの内容を把握できる。
【発明を実施するための最良の形態】
【００２４】
（実施の形態１）
以下、本発明に係る実施の形態１について、図面を参照しながら説明する。
【００２５】
本発明に係る実施の形態１におけるブラウジングシステムは、モバイルコンピューティング環境において、１つの非力なモバイル端末のみでは閲覧できないコンテンツ、例えば、１ページのサイズが大きいコンテンツを複数の部分ページに分割し、複数のモバイル端末に分配する。具体的には、協調ブラウジングのためのコンテンツ記述方式で記述したメタデータを通常のＨＴＭＬ（HyperText Markup Language）形式のＷｅｂページから自動的に生成し、生成したメタデータに基づいて、通常のＨＴＭＬ形式のＷｅｂページを複数の部分ページに分割する。そして、複数の部分ページを各モバイル端末に分配し、モバイル端末のブラウザを介してユーザに表示する。すなわち、ユーザが閲覧したいＷｅｂページを解析して、メタデータ木やレイアウトデータをリアルタイムに生成することを特徴とする。
【００２６】
さらに、１つのページを複数の部分ページに分割するために、ユーザが元のページ構造を容易に把握することができるように、元のページのオーバービューを表示することも特徴とする。
【００２７】
「協調ブラウジング」とは、１つのリッチなコンテンツが複数の部分コンテンツに分割され、複数の部分コンテンツが複数の端末に分配され、各端末に分配された部分コンテンツを用いて協調してリッチなコンテンツの閲覧を行うことをいう。
【００２８】
以上の点を踏まえて本発明に係る実施の形態１におけるブラウジングシステムについて説明する。
【００２９】
先ず、実施の形態１におけるブラウジングシステムの構成について説明する。
図１に示されるように、ブラウジングシステム１００は、無線ＬＡＮ網、携帯電話網等のワイヤレス通信網を介して相互に接続されるサーバ１０１、及び携帯電話、ＰＤＡ（Personal Digital Assistant）等のクライアント１０２等から構成される。そして、サーバ１０１によって複数の部分ページに分割されたＷｅｂページの部分ページをクライアント１０２が受信すると、ユーザは、クライアント１０２に備わるブラウザ機能を介して、（ａ）クライアント１０２が受信した部分ページの詳細な情報、及び（ｂ）分割前のＷｅｂページのオーバービューを見ることができる。また、協調ブラウジングを行う全てのクライアント１０２において、ブラウザのバック、フォワード、及びリンク選択等のユーザ操作に対して、各クライアント１０２の処理が同期している。例えば、あるユーザがバック操作を行うと、他の端末でも同期してバック操作による処理が行われる。
【００３０】
なお、協調ブラウジング用のコンテンツは、コンテンツ記述方式で記述された木構造のメタデータ、木構造の葉ノードに対応するオブジェクト、及びオブジェクトのレイアウトを指定するレイアウトデータから構成される。オブジェクトは、ＨＴＭＬコンテンツの一般的な記述言語であるＨＴＭＬで記述されている。ブラウザは受信したオブジェクトを、レイアウトデータに従って画面上に表示する。サーバは、コンテンツ分割方式を用いてコンテンツを分割する。
【００３１】
そして、ユーザは、それぞれの端末に表示された部分ページを互いに閲覧し相談しながら、目的とする情報を検索することができる。このとき、1つのモバイル端末に表示される部分ページは情報量が少ないため、ユーザは、目的とする情報やリンクを短時間で探すことができる。
【００３２】
サーバ１０１は、ユーザ管理部１１１、イベント管理部１１２、メタデータ生成部１１３、コンテンツ分割部１１４等を備える。
【００３３】
ユーザ管理部１１１は、協調ブラウジングを行うユーザの情報（以下、ユーザ情報と呼称する。）を管理する。
【００３４】
なお、ユーザは、協調ブラウジングを開始する際に、（ａ）ユーザの名前、（ｂ）ユーザが使用するモバイル端末の画面のサイズ、及び（ｃ）そのモバイル端末で利用可能な機能を、ユーザ情報としてユーザ管理部１１１に登録する。これにより、ユーザ登録を行ったユーザ同士で協調ブラウジングを行うことができる。
【００３５】
ここで、「端末で利用可能な機能」とは、ある形式の画像表示機能、音声再生機能などをいう。例えば、ＧＩＦ（Graphic Interchange Format）画像の表示機能などである。
【００３６】
また、ユーザ管理部１１１は、そのユーザが使用するクライアントからユーザ情報を受け付けると、受け付けたユーザ情報を管理すると共にイベント管理部１１２に渡す。
【００３７】
イベント管理部１１２は、ユーザが使用するクライアントにおいて、ユーザが行った操作に関する情報（以下、操作情報と呼称する。）を管理する。
【００３８】
例えば、あるユーザがブラウザのバック、フォワード、リンク選択等を行った場合には、そのユーザの操作に関する操作情報がイベント管理部を介して他のユーザにも通知される。
【００３９】
また、イベント管理部１１２は、ユーザがリンク選択を行った場合には、ユーザ管理部１１１から受信したユーザ情報を用いて、リンク先のページの分割要求をメタデータ生成部１１３へ出力する。
【００４０】
メタデータ生成部１１３は、イベント管理部１１２から出力される分割要求に応じて、Ｗｅｂページを解析し、コンテンツ記述方式に基づいて、木構造のメタデータ（以下、メタデータ木と呼称する。）を生成する。
【００４１】
コンテンツ分割部１１４は、メタデータ生成部１１３において生成されたメタデータ木を分割する。そして、分割した結果（以下、分割結果と呼称する。）、及びレイアウトデータをクライアントへ送信する。
【００４２】
なお、分割結果は、どのオブジェクトがどの端末に割り当てられたかの情報、及び自装置に割り当てられたオブジェクト（ＨＴＭＬコンテンツ）の集合からなる。
【００４３】
クライアント１０２は、イベント管理部１２１、ページ管理部１２２、ブラウジング画面処理部１２３、オーバービュー画面処理部１２４等を備える。
【００４４】
イベント管理部１２１は、ユーザによるイベントを管理する。具体的には、ユーザの登録に伴い受け付けたユーザ情報をユーザ管理部１１１へ送信する。さらに、ユーザの操作に関する操作情報をイベント管理部１１２へ送信する。また、他のユーザの操作に関する操作情報をイベント管理部１１２から受信し、ブラウジング画面に反映させる。例えば、他のユーザが行ったバック操作に関する操作情報を受信した場合には、ページ管理部１２２に対してバック先コンテンツを表示するよう要求する。
【００４５】
ページ管理部１２２は、コンテンツ分割部１１４から受信したオブジェクト（ＨＴＭＬコンテンツ）とレイアウトデータとから、ブラウジング画面表示用コンテンツ、及びオーバービュー画面表示用コンテンツを生成する。そして、ブラウジング画面表示用コンテンツをブラウジング画面処理部１２３に渡し、オーバービュー画面表示用コンテンツをオーバービュー画面処理部１２４に渡す。さらに、イベント管理部１２１から渡された操作情報に基づいてページを生成し、ブラウジング画面に出力する。
【００４６】
ブラウジング画面処理部１２３は、ページ管理部１２２から渡されたブラウジング画面表示用コンテンツに基づいて、ブラウジング画面を構成して表示する。また、ブラウジング画面を介してユーザの操作を受け付け、受け付けた操作に関する操作情報をイベント管理部１２１に渡す。
【００４７】
オーバービュー画面処理部１２４は、ページ管理部１２２から渡されたオーバービュー画面表示用コンテンツに基づいて、オーバービュー画面を構成して表示する。また、オーバービュー画面を介してユーザの操作を受け付け、受け付けた操作に関する操作情報をイベント管理部１２１に渡す。
【００４８】
続いて、実施の形態１におけるユーザ情報について説明する。
図２に示されるように、ユーザ管理部１１１において管理されるユーザ情報（Ｒ１３０）は、クライアントから予め登録される情報であり、ユーザの名前（Ｆ１３１）、端末に割り当て可能なコンテンツの最大バイトサイズ（Ｆ１３２）、端末の画面のサイズ（Ｆ１３３）、端末が表示可能な画像のフォーマット（Ｆ１３４）、及びユーザの嗜好を反映したキーワード群（Ｆ１３５）を含む。
【００４９】
例えば、ユーザ情報（Ｒ１３０ａ）により、ユーザ”nao”の端末には、”１ＭＢ”までのサイズで、”２４０×３２０”の範囲内に収まるコンテンツを割り当てることができる。また、”ＧＩＦ”フォーマットの画像を割り当てることができる。さらに、”旅行、映画”に関するコンテンツ等を優先して割り当てることが示される。さらに、クライアントの画面サイズの比に応じて、コンテンツを割り当てる量の比を決定することができる。具体的には、画面のサイズが”２４０×３２０”のクライアントと、その倍の面積のクライアントがある場合には、割り当てられるコンテンツサイズの比を１：２に決定する。このように、ブラウジングシステム１００は、割り当てるコンテンツサイズの比を決定するにあたり、画面のサイズを用いる。さらに、クライアントが表示できるコンテンツのバイトサイズが限られている場合には、そのサイズを超えないようにコンテンツの割り当てる量を決定することができる。
【００５０】
続いて、協調ブラウジングのためのコンテンツ記述方式とコンテンツ分割方式とについて説明する。なお、詳細は、巻末の付録において説明する。
【００５１】
コンテンツ記述方式では、コンテンツを分割する際に必要なメタデータをＸＭＬ（eXtensible Markup Language）形式の木構造で記述する。さらに、オブジェクトノード同士のパスの距離が小さいほど関連性が高いとみなす。
【００５２】
例えば、図３に示されるように、木構造１４０において、ノードＧ１の子であるノードＡとノードＢの距離は２である。また、ノードＡとノードＤの距離は４である。これ等から、ノードＡについては、ノードＤよりノードＢの方を関連性が高いとみなす。
【００５３】
「オブジェクトノード」とは、コンテンツを構成する最小単位であるオブジェクト、又はオブジェクト集合を表す葉ノードである。
【００５４】
「分類ノード」とは、関連性のあるオブジェクトノード同士を階層的にグループ化する葉ノード以外のノードである。コンテンツを分割する際に利用される。
【００５５】
さらに、コンテンツ記述方式では、オブジェクトノードに対して、（ａ）オブジェクトの名前、（ｂ）オブジェクトのＩＤ、（ｃ）オブジェクトのサイズ、（ｄ）実行に必要な端末の機能、（ｅ）ロケータ等の属性を付加することができる。
【００５６】
「オブジェクトの名前」とは、オブジェクトが表すコンテンツの名前をいう。
「オブジェクトのＩＤ」とは、メタデータ木におけるオブジェクトの識別子をいう。
【００５７】
「オブジェクトのサイズ」とは、実際のオブジェクト、又はオブジェクト集合のデータサイズなど、オブジェクト、又はオブジェクト集合のサイズの指標をいう。この値はオブジェクトノード自体の重みと対応付けられる。
【００５８】
「実行に必要な端末の機能」とは、オブジェクト、又はオブジェクト集合を実行するために端末が必要とする機能をいう。
【００５９】
「ロケータ」とは、オブジェクトが示すコンテンツのＵＲＬ（Uniform Resource Locator）をいう。
【００６０】
コンテンツ分割方式では、コンテンツ記述方式で記述されたメタデータ木を完全グラフに変換し、グラフを端末数の部分グラフに分割する。
【００６１】
なお、グラフは、メタデータ木のオブジェクトノードのみからなり、ノード間の枝の距離が木におけるノード間のパスの距離に対応するように変換されている。そして、以下（１）〜（４）に示す条件に基づいて、コンテンツを分割する。
【００６２】
（１）端末に割り当て可能なコンテンツのサイズ
各端末のブラウザで表示可能な最大サイズを超えないようにコンテンツを割り当てる。端末によっては利用可能なメモリやストレージの容量が制限されるためである。例えば、携帯電話では、表示可能なＷｅｂページの最大サイズが制限されている。
【００６３】
（２）端末の性能
コンテンツを複数の端末に分配するとき、各端末の性能比に応じてコンテンツの分配割合を決定する。端末によっては画面の大きさや通信速度などが制限されるためである。
【００６４】
（３）端末の機能
実行に特別な機能が必要なコンテンツ、又はオブジェクトは、その機能をもつ端末に優先して割り当てる。その機能をもたない端末に割り当てても実行できないためである。例えば、ＧＩＦ形式の画像を表示できない端末に、ＧＩＦ形式の画像を割り当てても表示することができない。
【００６５】
（４）分割したコンテンツの関連性
グラフにおいて枝の距離が近いノード同士を同じ部分グラフとなるようにグラフを分割する。分割されたコンテンツを構成するそれぞれのオブジェクト集合は、関連性のあるオブジェクトから構成されている方が利用しやすいためである。
【００６６】
例えば、図４に示されるように、メタデータ生成部１１３は、コンテンツ１５１ａをセグメント化することによりオブジェクトを抽出し、抽出したオブジェクトを葉ノードとした木１５２ｃを生成する。
【００６７】
具体的には、コンテンツ１５１ａ（以下、オブジェクトＡと呼称する。）をルートノードＡに対応させる。そして、オブジェクトＡをオブジェクトＢとオブジェクトＣとに分割し、オブジェクトＢをノードＢに対応させ、オブジェクトＣをノードＣに対応させ、ノードＢとノードＣとをルートノードＡの子ノードに設定する。
【００６８】
さらに、オブジェクトＢをオブジェクトＤとオブジェクトＥとに分割し、オブジェクトＤをノードＤに対応させ、オブジェクトＥをノードＥに対応させ、ノードＤとノードＥとをノードＢの子ノードに設定する。また、オブジェクトＣをオブジェクトＦとオブジェクトＧとに分割し、オブジェクトＦをノードＦに対応させ、オブジェクトＧをノードＧに対応させ、ノードＦとノードＧとをノードＣの子ノードに設定する。そして、木構造１５２ｃが生成される。
【００６９】
このとき、コンテンツ分割部１１４は、オブジェクトＦよりもオブジェクトＥの方を、オブジェクトＤの近くに配置されているオブジェクトとして扱う。ノードＤとノードＥとのパスの距離は２となり、ノードＤとノードＦとのパスの距離は４となるためである。
【００７０】
以上のように、ページをセグメント化してメタデータ木を生成することにより、ページ上で近くにレイアウトされたオブジェクト同士は、メタデータ木においてパスの距離が短い位置に配置される。そして、コンテンツ分割方式に基づいて、生成したメタデータ木を分割することにより、関連性の高いオブジェクト同士を同じクライアントに割り当てることができる。
【００７１】
そして、コンテンツ分割部１１４は、コンテンツ分割方式に基づいて、以上のようにして生成されるメタデータ木を用いてコンテンツを分割する。
【００７２】
なお、Ｗｅｂページをセグメント化する方法は、これ以外にも色々と存在する。ここでは、上記のような、一般的に用いられている単純な方法でセグメント化を行う。ただし、協調ブラウジングのためのセグメント化方式では、いくつかの制限を考慮する必要がある。例えば、ＧＩＦ画像のみを表示できる端末とＰＮＧ（Portable Network Graphics）画像のみを表示できる端末があるとすると、それらの端末はＧＩＦ画像とＰＮＧ画像を両方含むオブジェクトを実行することができない。また、端末は、その容量を超えたサイズのオブジェクトを実行することができない。
【００７３】
続いて、ブラウジングシステムが対象とするコンテンツについて説明する。
ブラウジングシステムが対象とするコンテンツは、コンテンツ記述方式で記述された木構造のメタデータ、その木構造の葉ノードに対応するオブジェクト（ＨＴＭＬコンテンツ）、及びコンテンツを構成するオブジェクトのレイアウトを指定するレイアウトデータから構成される。
【００７４】
例えば、図５、図６に示されるように、コンテンツ１６０は、メタデータ木１４０（図３参照。）のオブジェクトノードＡ〜Ｆに、個別に対応するオブジェクトＡ〜Ｆから構成される。そして、オブジェクトＡ〜Ｆは、それぞれ個別のＨＴＭＬ形式のコンテンツであり、レイアウトデータ１７０により配置される。
【００７５】
レイアウトデータ１７０は、ＨＴＭＬファイルに”node-content”タグを埋め込む形式で記述されている。”node-content”タグは、その”ｉｄ”をもつオブジェクトを埋め込む位置を示す。例えば、ｉｄ＝”Ａ”のオブジェクトのみが割り当てられた端末には、レイアウトデータにｉｄ＝”Ａ”のオブジェクトノードが示すＨＴＭＬコンテンツのみを埋め込んで生成したブラウジング画面表示用コンテンツが表示される。
【００７６】
なお、メタデータ木におけるオブジェクトノードのサイズは、そのオブジェクトが示すＨＴＭＬコンテンツのサイズとそのオブジェクトが含む画像のサイズの総和として記述される。
【００７７】
続いて、実施の形態１におけるブラウジングシステムの動作について説明する。
先ず、実施の形態１におけるコンテンツ分配シーケンスについて説明する。
【００７８】
図７に示されるように、予め、ユーザ管理部１１１は、イベント管理部１２１から送信されたユーザ情報を受信し、受信したユーザ情報を管理している（Ｓ１０１）。
【００７９】
イベント管理部１１２は、クライアント１０２（イベント管理部１２１）から送信されたユーザの名前、ユーザのリスト、及びＵＲＬを受信すると（Ｓ１０２）、受信したユーザの名前とユーザのリストとをユーザ管理部１１１に渡し（Ｓ１０３）、受信したＵＲＬをメタデータ生成部１１３に渡す（Ｓ１０４）。
【００８０】
ユーザ管理部１１１は、イベント管理部１１２から渡されたユーザの名前とユーザのリストとを受け取り、受け取ったユーザの名前とユーザのリストに基づいて、分配対象ユーザのユーザ情報を特定し、特定した分配対象ユーザのユーザ情報をイベント管理部１１２へ渡す（Ｓ１０５）。
【００８１】
イベント管理部１１２は、ユーザ管理部１１１から渡された分配対象ユーザのユーザ情報を受け取り、受け取った分配対象ユーザのユーザ情報をコンテンツ分割部１１４に渡す（Ｓ１０６）。
【００８２】
メタデータ生成部１１３は、イベント管理部１１２から渡されたＵＲＬを受け取り、受け取ったＵＲＬによって特定されるＷｅｂページを取得する（Ｓ１０７，Ｓ１０８）。そして、取得したＷｅｂページからメタデータ木とレイアウトデータとを生成し、取得したＷｅｂページ、及び生成したメタデータ木とレイアウトデータとをコンテンツ分割部１１４に渡す（Ｓ１０９）。
【００８３】
コンテンツ分割部１１４は、イベント管理部１１２から渡されたユーザ情報を受け取り、メタデータ生成部１１３から渡されたＷｅｂページ、メタデータ木、及びレイアウトデータを受け取る。さらに、受け取ったユーザ情報に基づいて、受け取ったメタデータ木を分割する。このとき、各端末に、ディスプレイサイズに比例したコンテンツサイズを割り当てるように分割する。また、オブジェクトに画像、又は音声等が含まれる場合には、それらを実行可能な端末に割り当てるように分割する。そして、分割した結果（以下、分割結果と呼称する。）を各クライアントのページ管理部１２４へ送信する。このとき、ページの分割結果に対して全ての端末に共通なＩＤを設定し、設定したＩＤを分割結果と共に送信する（Ｓ１１０［ａ−ｃ］）。
【００８４】
続いて、実施の形態１におけるメタデータ生成処理について説明する。
図８に示されるように、メタデータ生成部１１３は、最初に、Ｗｅｂページ全体を木のルートノードに設定し、カレントノードをルートノードに設定する（Ｓ１１１）。その後、カレントノードに対応するオブジェクトを複数のオブジェクトに分割し（Ｓ１１２）、オブジェクト毎に下記の処理を実行する（Ｓ１１３）。
【００８５】
分割したオブジェクトを、カレントノードの子ノードに設定する（Ｓ１１４）。さらに、子ノードのオブジェクトを分割することができる場合には（Ｓ１１５：Ｙｅｓ）、カレントノードを子ノードに設定し（Ｓ１１６）、カレントノードに対応するオブジェクトを複数のオブジェクトに分割する（Ｓ１１２）。この処理は、カレントノードに対応するオブジェクトが分割可能な限り再帰的に繰り返される。
【００８６】
具体的には、特定のＨＴＭＬタグを用いてカレントノードに対応するオブジェクトが分割できるか否かを判定する。判定した結果、カレントノードに対応するオブジェクトが特定のＨＴＭＬタグにより分割できる場合には、カレントノードに対応するオブジェクトのサイズを判定する。サイズが閾値以上である場合には、特定のＨＴＭＬタグを用いてオブジェクトを分割する。一方、サイズが閾値より小さい場合には、カレントノードがコンテンツ分割方式の制限に矛盾していないかを判定し、矛盾している場合には、矛盾が解消するまで、カレントノードを分割する。
【００８７】
ここでは、閾値として、複数の端末のうち最も容量が小さい端末の容量の１／２の値を用いる。特定のＨＴＭＬタグとして、<p>、<ol>、<ul>、<hr>、連続する<br>、<table>等のタグを用いる。
【００８８】
これ等のタグは、ページセグメントを行う際に、一般的に利用されるタグである。そして、オブジェクトに複数の<p>が存在する場合には、<p>に括られた部分を子ノードに設定する。<ol>または<ul>が存在する場合には、リスト中の各アイテムを子ノードに設定する。<hr>、又は連続する<br>が存在する場合には、それらのタグの前後の部分をそれぞれ子ノードに設定する。さらに、<table>が存在する場合には、テーブルの各セルを子ノードに設定する。
【００８９】
以上の手順を経て、Ｗｅｂページから木構造を作成した後、葉ノード(オブジェクトノード)に、（ａ）ノード名、（ｂ）ノードのサイズ、（ｃ）実行に必要な機能等のメタデータを付加してメタデータ木を生成する。
【００９０】
「ノード名」とは、ノード(オブジェクト)の最初に現れるタグ以外の文字列、または、<img>のalt属性の値をいう。
【００９１】
「ノードのサイズ」とは、各ノードに対応するＨＴＭＬの部分テキストのバイトサイズをいう。なお、その部分テキストが<img>を含む場合には、対応する画像のバイトサイズもノードのサイズに加えられる。
【００９２】
「実行に必要な機能」とは、オブジェクトノードに含まれるエレメントを処理する際に要する機能をいう。例えば、オブジェクトノードにエレメント<img>を含む場合には、エレメント<img>の画像のフォーマットを表示するための機能をいう。
【００９３】
続いて、実施の形態１におけるブラウジング画面表示処理について説明する。
図９に示されるように、ブラウジング画面処理部１２３は、レイアウトデータ、及び分割結果からブラウジング画面表示用コンテンツを生成し、生成したブラウジング画面表示用コンテンツを表示する（Ｓ１２５）。このとき、オブジェクト毎に、下記（Ｓ１２２）〜（Ｓ１２４）の処理を実行する（Ｓ１２１）。
【００９４】
ブラウジング画面処理部１２３は、自装置に割り当てられているオブジェクトの場合（Ｓ１２２：Ｙｅｓ）には、レイアウトデータの”node-content”タグを、対応するオブジェクトに置き換える（Ｓ１２３）。一方、他装置に割り当てられているオブジェクトの場合（Ｓ１２２：Ｎｏ）には、そのオブジェクトが割り当てられているユーザ名、又はそのオブジェクト名等を表示するオブジェクトの情報に置き換える（Ｓ１２４）。
【００９５】
なお、レイアウトデータと分割結果から生成したページは、横幅が小さいディスプレイでの表示に適さない場合には、ブラウジング画面ではレイアウトデータの”table”タグを無視することにより、オブジェクトをシリアルに表示するとしてもよい。
【００９６】
なお、クライアントのブラウジング画面では、レイアウトデータから”table”タグを取り除いた上で、オブジェクトが表すＨＴＭＬコンテンツをレイアウトデータに埋め込んでいる。一般に、携帯電話を用いたＷｅｂブラウジングではＷｅｂページの全ての”table”タグを取り除くことが多いため、元のページと全く異なるページが表示されるが、実装したブラウザではレイアウトデータの”table”タグのみを取り除いているため、元のページのオブジェクトをそのまま表示できる利点がある。
【００９７】
続いて、実施の形態１におけるオーバービュー画面表示処理について説明する。
図１０に示されるように、オーバービュー画面処理部１２４は、レイアウトデータ、及び分割結果から分割前のＷｅｂページのオーバービューを生成し、生成したオーバービューを表示する（Ｓ１３８）。このとき、オブジェクト毎に、下記（Ｓ１３２）〜（Ｓ１３７）の処理を実行する（Ｓ１３１）。
【００９８】
オーバービュー画面処理部１２４は、オーバービュー画面に切り替える前にブラウジング画面で表示していたオブジェクトである場合（Ｓ１３２）には、眼のアイコンを設定する（Ｓ１３３）。オブジェクトにサイズの大きい画像を含む場合（Ｓ１３４）には、四角形のアイコンを設定する（Ｓ１３５）。オブジェクトが割り当てられているユーザ毎にオブジェクトの情報が表示される枠を色分けする（Ｓ１３６）。そして、詳細度に応じてオブジェクトの情報を設定する（Ｓ１３７）。
【００９９】
続いて、リンク選択操作が行われた際のシステムの動作について説明する。
図１１、図１２に示されるように、クライアント１０２（kazu）は、ユーザ（kazu）がブラウジング画面においてリンク選択を選択すると（Ｓ１１）、「リンク先コンテンツが分配されるユーザが全てのユーザか、指定したユーザのみか」をユーザ（kazu）に選択させるダイアログを表示する（Ｓ１２）。そして、ユーザ（kazu）がダイアログにおいて「指定したユーザのみ」を選択すると（Ｓ１３）、協調ブラウジングを行っているユーザの中からリンク先が分配されるユーザ（｛nao，taku｝）を受け付け（Ｓ１４，Ｓ１５）、リンク選択操作を行ったユーザの名前（kazu）、リンク先コンテンツが分配されるユーザのリスト（｛nao，taku｝）、及びリンク先コンテンツのＵＲＬ（URL-A）をサーバ１０１へ送信する（Ｓ１６）。
【０１００】
サーバ１０１は、クライアント１０２（kazu）から送信されたユーザの名前（kazu）、ユーザのリスト（｛nao，taku｝）、及びＵＲＬ（URL-A）を受信し、受信したＵＲＬ（URL-A）からＷｅｂページを取得する。取得したＷｅｂページを分割した結果（分割結果）に対して全ての端末に共通なＩＤを設定し、設定したＩＤと分割結果をリンク選択操作の対象となるユーザのクライアントへ送信する（Ｓ１９［ａ−ｃ］）。
【０１０１】
クライアント１０２は、サーバ１０１から送信された分割結果、及びＩＤ（1224）を受信すると、受信した分割結果を表示する（Ｓ２０）。
【０１０２】
他のクライアント１０２は、サーバ１０１から送信された分割結果、及びＩＤを受信すると、受信した分割結果を「ブラウジング画面に今すぐ表示するか、後で表示するか」をユーザ（｛nao，taku｝）に選択させるダイアログを表示する。そして、ユーザ（taku）がダイアログにおいて「今すぐ表示する」を選択すると（Ｓ２１ｂ）、分割結果を他のクライアント１０２（taku）へ表示する。一方、ユーザ（nao）がダイアログにおいて「後で表示する」を選択すると（Ｓ２２ｃ）、ユーザ（nao）が任意の時に表示するまで、分割結果が表示されない。
【０１０３】
また、クライアント１０２は、ユーザがブラウジング画面においてリンク選択を選択すると（Ｓ３１）、「リンク先コンテンツが分配されるユーザが全てのユーザか、指定したユーザのみか」をユーザに選択させるダイアログを表示する（Ｓ３２）。そして、ユーザがダイアログにおいて「全てのユーザ」を選択すると（Ｓ３３）、リンク選択操作を行ったユーザの名前、リンク先コンテンツが分配されるユーザのリスト、及びリンク先コンテンツのＵＲＬをサーバ１０１へ送信する（Ｓ３４）。
【０１０４】
サーバ１０１は、クライアント１０２から送信されたユーザの名前、ユーザのリスト、及びＵＲＬを受信し、受信したＵＲＬからＷｅｂページを取得する（Ｓ３５，Ｓ３６）。取得したＷｅｂページを分割した結果（分割結果）に対して全ての端末に共通なＩＤを設定し、設定したＩＤ、及び分割結果をリンク選択操作の対象となるユーザのクライアントへ送信する（Ｓ３７［ｂ，ｃ，ｄ］）。
【０１０５】
クライアント１０２は、サーバ１０１から送信された分割結果、及びＩＤを受信すると、受信した分割結果を表示する（Ｓ３８）。
【０１０６】
他のクライアント１０２は、サーバ１０１から送信された分割結果、及びＩＤを受信すると、受信した分割結果を「ブラウジング画面に今すぐ表示するか、後で表示するか」をユーザ（｛taku，nao，tomo｝）に選択させるダイアログを表示する（Ｓ３９［ｂ−ｄ］）。そして、ユーザ（｛taku，nao｝）がダイアログにおいて「今すぐ表示する」を選択すると（Ｓ４０［ｂ，ｃ］）、分割結果を他のクライアント１０２（｛taku，nao）へ表示する。一方、ユーザ（tomo）がダイアログにおいて「後で表示する」を選択すると（Ｓ４０ｄ）、ユーザ（tomo）が任意の時に表示するまで、分割結果が表示されない。
【０１０７】
なお、ブラウジングシステム１００では、ユーザがリンク先のコンテンツを分配するユーザを選択することができるため、例えばブラウジングの途中で目的とする情報がどのリンク先にあるか見当が付かなくなった場合、６人のユーザが３人と３人の二手に分かれて違うリンク先を検索すること等ができるとしてもよい。
【０１０８】
次に、バック操作が行われた際のシステムの動作について説明する。
図１３に示されるように、クライアント１０２（kazu）は、ユーザ（kazu）がブラウジング画面においてバックを選択すると（Ｓ５１）、「バック先コンテンツをキャッシュに保持している全ての端末で同期させるか否か」をユーザ（kazu）に選択させるダイアログを表示する（Ｓ５２）。そして、ユーザ（kazu）がダイアログにおいて「同期させない」を選択すると（Ｓ５３）、バック先コンテンツ（1225）を自装置のみ表示する（Ｓ５４）。
【０１０９】
クライアント１０２（kazu）は、ユーザ（kazu）がブラウジング画面においてバックを選択すると（Ｓ５５）、「バック先のページをキャッシュに保持している全ての端末で同期させるか否か」をユーザ（kazu）に選択させるダイアログを表示する（Ｓ５６）。そして、ユーザ（kazu）がダイアログにおいて「同期させる」を選択すると（Ｓ５７）、バック操作を行ったユーザの名前（kazu）とバック先のページのＩＤ（1224）とをサーバ１０１へ送信する（Ｓ５８）。また、バック先コンテンツを表示する（Ｓ５９）。
【０１１０】
サーバ１０１は、クライアント１０２（kazu）から送信されたユーザの名前（kazu）、及びバック先コンテンツのＩＤ（1224）を受信し、受信したバック先コンテンツのＩＤ（1224）をバック操作の対象となるユーザ（｛nao，taku｝）へ送信する（Ｓ６０［ａ，ｂ］）。
【０１１１】
他のクライアント１０２（｛nao，taku｝）は、サーバ１０１から送信されたバック先のページのＩＤ（1224）を受信すると、受信したバック先コンテンツのＩＤ（1224）に対応する分割結果を「ブラウジング画面に今すぐ表示するか、後で表示するか」をユーザ（｛nao，taku｝）に選択させるダイアログを、バック操作を行ったユーザの名前（kazu）と一緒に表示する（Ｓ６１［ａ，ｂ］）。そして、ユーザ（taku）がダイアログにおいて「後で表示する」を選択すると（Ｓ６２ａ）、ユーザ（taku）が任意の時に表示するまで、バック先コンテンツが表示されない。一方、ユーザ（nao）がダイアログにおいて「今すぐ表示する」を選択すると（Ｓ６２ｂ）、バック先コンテンツを他のクライアント１０２（nao）表示する（Ｓ６３ｂ）。
【０１１２】
なお、ブラウザのフォワード操作もバック操作と同様に行う。
以上のように、実現したシステムでは分割結果ごとにＩＤを設定しているため、他のユーザが異なるページを閲覧している場合でも、バック、フォワード操作を同期して行える。ここで、ブラウジングシステムでは、ＵＲＬは同じで分割結果が異なるキャッシュが存在する場合があるため、ＵＲＬではなく分割結果に対して識別子（ＩＤ）を付与する。
【０１１３】
続いて、実施の形態１におけるブラウジング画面の表示例を参照しながら、ブラウジング画面処理部について説明する。ここでは、２台のＰＤＡと１台の携帯電話で協調ブラウジングを行っている場合を例に説明する。
【０１１４】
図１４に示されるように、ブラウジング画面例１８０では、それぞれのオブジェクトを矩形領域で囲むことにより、オブジェクト同士の境界を明確にしている。さらに、自装置に割り当てられているオブジェクトの場合には、矩形上部にオブジェクト名が示され、他装置に割り当てられているオブジェクトの場合には、オブジェクト名とそのオブジェクトが割り当てられているユーザ名とが矩形領域内に示されている。各オブジェクト、及びオブジェクトの情報を囲う矩形は、オブジェクトが割り当てられているユーザ毎に色分けされている。
【０１１５】
例えば、ユーザ”nao”のＰＤＡに表示されているブラウジング画面１８１ａに示されるように、ユーザ”kazu”のＰＤＡに表示されているブラウジング画面１８１ｂには、ユーザ”nao”に割り当てられているオブジェクト”Categories”を示す矩形が表示され、その下には、自装置に割り当てられているオブジェクト”travel”と”Tools”が表示されている。そして、ユーザ”kazu”がオブジェクト”Categories”を閲覧したい場合には、ブラウジング画面１８１ｂからオブジェクト”Categories”がユーザ”nao”に割り当てられていることが示されているため、ユーザ”nao”に見せてもらえればよいことになる。このように、自装置以外に割り当てられたオブジェクトが誰に割り当てられているかを簡単に特定することができる。なお、ユーザ”taku”のＰＤＡに表示されているブラウジング画面１８１ｃにも、ユーザ”nao”に割り当てられているオブジェクト”Categories”を示す矩形が表示されている。
【０１１６】
また、ユーザがブラウジング画面で行える操作は、下記（１）〜（６）の操作である。
（１）リンク選択
ブラウジング画面に表示しているコンテンツ上のリンクを選択すると、リンク先のコンテンツをそれぞれの端末に分配する。このとき、リンク先のコンテンツを分配するユーザを選択できる。
【０１１７】
（２）バック
直前に閲覧していたコンテンツを表示する。他の端末でも同期して同様の動作を行うかを選択できる。
【０１１８】
（３）フォワード
バック操作を行った後に、バック操作の前に閲覧していたコンテンツを表示する。他の端末でも同期して同様の動作を行うかを選択できる。
【０１１９】
（４）オーバービュー表示
現在表示しているブラウジング画面表示用コンテンツが属するコンテンツのオーバービューを表示する。
【０１２０】
（５）イベント表示
クライアント１０２のイベント管理部１２１が管理している操作情報の履歴リストを表示する（図１５（ａ）参照。）。このとき、例えば、ブラウジング画面１８５に示されるように、ユーザは、リストからイベントを選択することにより、任意にそのイベントを実行することができる。未実行のイベントには、イベント名の前に`！'を付加して表示されている。また、イベントを再実行する際には、ユーザは、他装置でも同様のイベントを実行させるかを選択する。ユーザがこのイベントを選択すると、ブラウジング画面に対応するコンテンツが表示される。
【０１２１】
（６）画像分割表示
夫々の端末のディスプレイサイズ、及び並び方に応じて、画像を分割する（図１５（ｂ）参照。）。モバイル端末は、ディスプレイサイズの制限からページ上の大きな画像を大きなサイズで表示することができない。しかし、これにより、例えば、端末１８６と端末１８７とのように、複数の端末の画面を寄せ集め、仮想的に大きなディスプレイを形成し、大きな画像を表示することができる。具体的には、端末の画面を結合して生成される仮想的な画面の全てのパターンから、表示する画像の形に最も近いものを選択する。このとき、左右に並んでいる端末を例にすると、各端末を結合した際の画面の並びが端末の並びと一致するようなパターンを優先して予めユーザによって選択しておく。
【０１２２】
続いて、実施の形態１におけるオーバービュー画面の表示例を参照しながら、オーバービュー画面処理部について説明する。
【０１２３】
図１６に示されるように、オーバービュー画面処理部１２４は、レイアウトデータ、及び分割結果から分割前のページのオーバービュー画面を構成して表示する。なお、オーバービュー画面では、オーバービュー画面例１９０に示されるように、オーバービューの詳細度を４段階でユーザが任意に切り替えることができる。
【０１２４】
図１６（ａ）では、オーバービュー画面１９１ａに示されるように、ページの概要レイアウトのみが表示されている。ページを構成するオブジェクトは、そのオブジェクトが割り当てられているユーザ毎に色分けした枠で表されている。また、枠内にはオブジェクトの情報が示されている。
【０１２５】
さらに、枠内の四角形のアイコンは、そのオブジェクトが所定のサイズより大きい画像を含むことを示し、眼のアイコンは、オーバービュー画面に切り替える前にブラウジング画面で表示されていたオブジェクトを示す。
【０１２６】
また、枠内の’＋’と’−’の記号は、夫々、自装置に割り当てられているオブジェクトと他装置に割り当てられているオブジェクトとを示す。さらに、これらの記号は、そのオブジェクトとリンクされている。
【０１２７】
例えば、オーバービュー画面処理部１２４は、’＋’の記号が選択されると、オーバービュー画面からブラウジング画面に切り替える。一方、’−’の記号が選択されると、「対応するオブジェクトを今すぐ表示するか否か」を選択させるダイアログを、その他装置の画面に表示させる。さらに、「表示する」が選択されると、他装置において、通常のブラウジング画面に切り替える。そして、ブラウジング画面処理部１２３は、対応するオブジェクトまでスクロールして表示する。
【０１２８】
さらに、詳細度を大きくすると、図１６（ｂ）では、オーバービュー画面１９１ｂに示されるように、オブジェクト名が表示されており、図１６（ｃ）では、オーバービュー画面１９１ｃに示されるように、オブジェクトが割り当てられているユーザ名も表示されている。図１６（ｄ）では、オーバービュー画面１９１ｄに示されるように、オブジェクトの情報の後に、そのオブジェクトと関連しており、他装置に割り当てられているオブジェクトの情報が表示されている。ここでは、関連するオブジェクトとしては、メタデータ木において同じ親をもつ兄弟オブジェクトノード同士とする。
【０１２９】
そして、ユーザは、以上のような機能を用いて特定のオブジェクトを画面上に表示し、各端末に表示しているオブジェクト同士を比較しながら閲覧することができる。
【０１３０】
なお、オーバービュー画面では、自装置に割り当てられていないオブジェクトを受信して表示するとしてもよい。ただし、そのオブジェクトの実行に必要な機能をもたない端末には表示できない。
【０１３１】
続いて、協調ブラウジングの利用例を、コンテンツの特性ごとに説明する。
（１）関連性のないオブジェクト集合から構成されるコンテンツ
ポータルサイトのトップコンテンツのように、ニュースや検索フォームなどの互いに関連性のないオブジェクトから構成されるコンテンツを閲覧する場合には、各ユーザは、ブラウジング画面にシリアルに表示されたオブジェクトから目的とする情報を、夫々、並列に探す。ただし、１つの端末に割り当てられるオブジェクト数が多い場合には、オーバービュー画面のオブジェクト名から目的とする情報を探す方が早い場合がある。また、ブラウジング画面閲覧中に、目的とするオブジェクトが他の端末に割り当てられていることが分かる場合がある。この場合には、割り当てられているユーザに口頭で伝え、オーバービューを用いて割り当てられているユーザのブラウジング画面に表示させる。
【０１３２】
（２）閲覧順序が決まっているオブジェクト集合から構成されるコンテンツ
ニュースサイトや日記のコンテンツのように、文章の段落や文章中の挿絵といった、閲覧順序が決まっているオブジェクトから構成されるコンテンツを閲覧する場合には、常に１つの端末のオーバービュー画面を表示させておき、そのオーバービューのみでコンテンツのスクロールを行うことが有効である。例えば、オーバービューを表示しているユーザは、始めに閲覧するオブジェクトを示すリンクを選択する。すると、そのオブジェクトが割り当てられているユーザの画面にそのオブジェクトが表示される。そのオブジェクトの閲覧が終わると、次に閲覧するオブジェクトを、オーバービューを表示しているユーザが同様に選択する。この手順を繰り返すことによって閲覧順序のあるコンテンツを閲覧する。
【０１３３】
（３）関連性のあるオブジェクト集合から構成されるコンテンツ
ある会社の株価情報のコンテンツや、あるレストランの紹介のコンテンツのように、レストランの外観、位置情報といった閲覧順序はないが関連性のあるオブジェクトから構成されるコンテンツを閲覧する場合、閲覧の目的によってブラウジング方法は異なる。そのコンテンツからある１つの情報のみを探す場合には、ポータルサイトのトップなどと同様に閲覧する。そのコンテンツの全ての情報から１つのレストランを選択する場合などは、各ユーザが自装置に表示されるブラウジング画面を一通り閲覧した後、互いの画面を見せながら相談して決定する。
【０１３４】
以上説明したように実施の形態１におけるブラウジングシステムによれば、サーバは、ＨＴＭＬ形式のＷｅｂページを再帰的にセグメント化することにより、木構造のメタデータを自動的に生成することができる。さらに、ユーザ情報に基づいて、その木を分割することにより、モバイル端末のようなクライアントに最適化されたＨＴＭＬコンテンツ（部分ページ）にＷｅｂページを分割することができる。また、クライアントは、1つのモバイル端末だけでは閲覧できない情報量の多いＷｅｂページを、クライアントに最適化された部分ページ単位で閲覧することができる。また、ユーザは、分割した部分ページを互いに近くにいる複数のユーザに割り当て、他のクライアントと協調して表示することにより、通常のデスクトップＰＣ向けに生成されたＷｅｂページを、複数のクライアントを用いて閲覧することができる。そして、それぞれのクライアントに表示された部分ページを互いに見ながら、相談して目的とする情報を検索、閲覧することができる。
【０１３５】
また、オーバービュー画面を用いて分割前の大まかな構造を把握することができる。さらに、それぞれのブラウザのバックおよびフォワード操作を同期させることにより、ユーザ同士が混乱せず同じページを閲覧することができる。
【０１３６】
また、ブラウジングシステムで用いているオーバービューは、サマリーとしてオブジェクトの名前を表示する上、分割前のページのレイアウトでオブジェクトを表示する。したがって、ユーザは元の構造を容易に想像することができる。また、他のクライアントのブラウジング画面を横に並べて閲覧することで、オブジェクトの内容も容易に把握できる。さらに、Ｗｅｂページのサマリーを文字列で表示すれば、ユーザは小さい画面でもＷｅｂページの内容を把握できる。
【０１３７】
また、バック操作を同期させるか否かの選択、及びバック先コンテンツを表示するか否かの選択ができることにより、ユーザ同士のコミュニケーションを併せて用いることによって、二手に分かれて協調ブラウジングを行う際のユーザの協調動作を支援できる。例えば、他のグループが目的の情報を見つけられずにバック操作を行ったとする。自身のグループも目的の情報を見つけられそうにない場合、同時にバック先に戻り、グループ同士で協力して新しく探索を始めることができる。逆に、目的の情報をそのままもう少し探したい場合は、後でそのバック先に戻ることもできる。また、フォワード操作に関しても同様である。
【０１３８】
（実施の形態２）
次に、本発明に係る実施の形態２について説明する。
【０１３９】
本発明に係る実施の形態２におけるブラウジングシステムは、オブジェクト毎のスクリーンショット画像を使用して、イメージベースのオーバービュー画面を構成して表示することを特徴とする。
【０１４０】
以上の点を踏まえて実施の形態２におけるブラウジングシステムについて説明する。なお、実施の形態１における構成要素と同一の構成要素については、同一の符号を付して説明を省略する。
【０１４１】
先ず、実施の形態２におけるブラウジングシステムについて説明する。
図１７に示されるように、ブラウジングシステム２００は、ブラウジングシステム１００と比べて、サーバ１０１、及びクライアント１０２の代わりに、サーバ２０１、及びクライアント２０２を備える点が異なる。
【０１４２】
サーバ２０１は、サーバ１０１と比べて、下記（１）、（２）の点が異なる。
（１）コンテンツ分割部１１４の代わり、にコンテンツ分割部２１４を備える。
【０１４３】
コンテンツ分割部２１４は、分割結果に基づいて、スクリーンショット画像生成部２１５において生成されたスクリーンショット画像、分割結果、及びレイアウトデータをクライアントへ送信する。
【０１４４】
（２）新たにスクリーンショット生成部２１５を備える。
スクリーンショット生成部２１５は、コンテンツ分割部２１４から渡された分割結果に基づいて、各オブジェクト毎にスクリーンショット画像を生成し、生成したスクリーンショット画像をコンテンツ分割部２１４に渡す。
【０１４５】
クライアント２０２は、クライアント１０２と比べて、オーバービュー画面処理部１２４の代わりに、オーバービュー画面処理部２２４を備える点が異なる。
【０１４６】
オーバービュー画面処理部２２４は、レイアウトデータ、スクリーンショット画像、及び分割結果から分割前のコンテンツのオーバービュー画面を構成して表示する。
【０１４７】
続いて、実施の形態２におけるブラウジングシステムの動作について説明する。
なお、実施の形態１における動作手順と同一の動作手順については、同一の符号を付して説明を省略する。
【０１４８】
先ず、実施の形態２におけるコンテンツ分配シーケンスについて説明する。
図１８に示されるように、コンテンツ分割部２１４は、分割結果をスクリーンショット生成部２１５に渡す（Ｓ２０１）。
【０１４９】
スクリーンショット生成部２１５は、コンテンツ分割部２１４から渡された分割結果を受け取り、受け取った分割結果に基づいて、オブジェクト毎に、スクリーンショット画像を生成する。そして、生成したスクリーンショット画像をコンテンツ分割部２１４に渡す（Ｓ２０２）。
【０１５０】
コンテンツ分割部２１４は、スクリーンショット生成部２１５から渡されたスクリーンショット画像を受け取り、受け取ったスクリーンショット画像、分割結果を各クライアントのページ管理部１２４へ送信する。このとき、Ｗｅｂページの分割結果に対して全ての端末に共通なＩＤを設定し、設定したＩＤを分割結果と共に送信する（Ｓ２０３［ａ−ｃ］）。
【０１５１】
続いて、実施の形態２におけるオーバービュー画面表示処理について説明する。
図１９に示されるように、オーバービュー画面処理部２１４は、オブジェクトに対応するスクリーンショット画像を設定し（Ｓ２３１）、オブジェクトが割り当てられているユーザ毎にオブジェクトの情報が表示される枠を色分けする（Ｓ１３６）。そして、詳細度に応じてオブジェクトの情報を設定する（Ｓ１３７）。
【０１５２】
続いて、実施の形態２におけるオーバービュー画面の表示例を参照しながら、オーバービュー画面処理部について説明する。
【０１５３】
図２０に示されるように、オーバービュー画面処理部２２４は、レイアウトデータ、スクリーンショット画像、及び分割結果から分割前のコンテンツのオーバービュー画面を構成して表示する。なお、オーバービュー画面例２９０では、オーバービューの詳細度を３段階でユーザが任意に切り替えることができる。
【０１５４】
図２０（ａ）では、オーバービュー画面２９１ａに示されるように、ユーザ毎に色分けした枠内に、各オブジェクトのスクリーンショット画像のみが表示されている。図２０（ｂ）では、オーバービュー画面２９１ｂに示されるように、スクリーンショット画像の下にオブジェクト名が表示されており、図２０（ｃ）では、オーバービュー画面２９１ｃに示されるように、オブジェクトが割り当てられているユーザ名も表示されている。また、オブジェクトを表すスクリーンショット画像は、そのオブジェクトとリンクされている。
【０１５５】
さらに、オーバービュー画面処理部２２４は、スクリーンショット画像が選択されると、選択されたスクリーンショット画像が自装置に割り当てられているオブジェクトに対するものである場合には、オーバービュー画面から通常のブラウジング画面に切り替える。一方、選択されたスクリーンショット画像が他装置に割り当てられているオブジェクトに対するものである場合には、「対応するオブジェクトを今すぐ表示するか否か」を選択させるダイアログを、その他装置の画面に表示させる。さらに、「表示する」が選択された場合には、他装置において、通常のブラウジング画面に切り替える。そして、ブラウジング画面処理部１２３は、対応するオブジェクトまでスクロールして表示する。
【０１５６】
さらに、眼のアイコンは、オーバービュー画面に切り替える前にブラウジング画面で表示されていたオブジェクトを示す。
【０１５７】
そして、ユーザは、以上のような機能を用いて特定のオブジェクトを画面上に表示し、各端末に表示しているオブジェクト同士を比較しながら閲覧することができる。
【０１５８】
以上説明したように実施の形態２におけるブラウジングシステムによれば、クライアントで、サーバが生成したオブジェクト毎のスクリーンショット画像を用いて、イメージベースのオーバービューを構成して表示することができる。
【０１５９】
（その他）
なお、オブジェクトのサイズをそのオブジェクトに対応する部分ＨＴＭＬテキストのバイトサイズ、及びオブジェクトが含む画像のバイトサイズの合計とし、そのサイズを超えないようにセグメント化する代わりに、オブジェクトがブラウザに表示される範囲の大きさを基準に、Ｗｅｂページをセグメント化するとしてもよい。
【０１６０】
なお、複数のコンテンツを１つの木とするメタデータ木を生成するとしてもよい。
なお、１つの木をメタデータとして持つ１つのＷｅｂページを分割して、複数の携帯端末に割り当てる代わりに、そのコンテンツのリンク先も含む木を生成し、その木を分割するとしてもよい。これにより、ユーザはリンク先の情報を早く見つけることができる。
【０１６１】
また、リンク元およびリンク先のコンテンツサイズによっては、モバイル端末での閲覧に不都合が生じる場合には、リンク先のコンテンツ全てを木に含めるのではなく、リンク先のコンテンツの重要な部分のみを木に含めるとしてもよい。目的とする情報が存在するリンク先以外のコンテンツも端末に配布されるためである。
【０１６２】
なお、オブジェクトのサイズをそのオブジェクトに対応する部分ページのバイトサイズおよびオブジェクトが含む画像のバイトサイズの合計とし、そのサイズを超えないようにセグメント化する代わりに、オブジェクトがブラウザに表示される範囲の大きさを基準に、Ｗｅｂページをセグメント化するとしてもよい。これによって、例えば、長文のみを含むオブジェクトは、画像のみを含むオブジェクトに比べてブラウザに表示される範囲が大きいため、閲覧やスクロールに大きな時間がかかるという問題を解決することができる。
【０１６３】
なお、レイアウトデータは、ＨＴＭＬファイルに独自のタグを埋め込んで記述している。システムでは、コンテンツの分割結果をＸＭＬ形式でやりとりするため、レイアウトデータをＸＳＬ（eXtensible Stylesheet Language）スタイルシートで記述するとしてもよい、なお、協調ブラウジングでは、分割結果からブラウジング画面や4段階の詳細度をもつオーバービューを生成するため、それぞれの画面に対するスタイルシートを用意するとしてもよい。
【０１６４】
なお、一つの装置が他の装置と連携して一つのコンテンツを再生するとしてもよい。例えば、携帯電話がデジタルテレビと連携して一つの音声・映像コンテンツを再生するとしてもよい。
【０１６５】
具体的には、ユーザ”taku”が使用する携帯電話に伝送されてきた音声・映像コンテンツのうち、音声は、携帯電話で再生し、映像は、最寄のデジタルテレビで再生するとしてもよい。
【０１６６】
ここで、携帯電話、及びデジタルテレビの夫々は、Ｂｌｕｅｔｏｏｔｈ機能を搭載しており、互いに所定の距離に近づくと、機器を検出し、データ通信が可能となる。
【０１６７】
このとき、携帯電話は、デジタルテレビの固有情報を取得し、取得した固有情報をブラウジングシステムのサーバに登録する。また、携帯電話がデジタルテレビの固有情報を取得する代わりに、デジタルテレビが携帯電話の固有情報を取得し、取得した固有情報をブラウジングシステムのサーバに登録するとしてもよい。そして、複数の装置間で協調して表示するように、サーバで音声を携帯に、映像をデジタルテレビに分配して、携帯とデジタルテレビとが連携して一つのコンテンツを再生する。
【０１６８】
また、これ以外にも、協調する装置の情報を付加してサーバにログインすることによって、協調する装置をサーバに知らせるとしてもよい。例えば、携帯電話上でデジタルテレビの固有情報（例えば、ＵＲＬ等。）を入力し、サーバにログインすることによって、デジタルテレビと協調することをサーバに通知するとしてもよい。これによって、Ｂｌｕｅｔｏｏｔｈ等の特別な機能を要さなくとも、インターネットアクセス機能をもつ携帯電話で他の装置と協調することができる。
【０１６９】
なお、伝送速度に応じて、コンテンツを分割するとしてもよい。
なお、一つのコンテンツを一つの装置に最適化した部分コンテンツに分割して、オーバービュー画面を参照しながら、その装置だけで表示するとしてもよい。
【０１７０】
なお、サーバは、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤ（Hard Disk）等を有する。さらに、ＨＤには、ＯＳ（Operating System）とＯＳの稼動下で実行されるアプリケーションプログラムがインストールされている。そして、アプリケーションプログラムが実行されることによって、ブラウジングシステムにおけるサーバとしての各機能が実現される。
【０１７１】
また、クライアントは、ＣＰＵ、ＲＡＭ、ＲＯＭ等を有する。さらに、ＲＯＭには、ＯＳとＯＳの稼動下で実行されるアプリケーションプログラムがインストールされている。そして、アプリケーションプログラムが実行されることによって、ブラウジングシステム１００におけるクライアントとしての各機能が実現される。
【０１７２】
また、サーバにおいて実行されてブラウジングシステムにおけるサーバとしての各機能を実現するアプリケーションプログラムをサーバプログラムとし、クライアントにおいて実行されてブラウジングシステムにおけるクライアントとしての各機能を実現するアプリケーションプログラムをクライアントプログラムとした場合において、サーバプログラム、及びクライアントプログラムの夫々は、コンピュータシステム、組み込みシステム等のようなハードウェアシステムに読み出され得るように、光学記録媒体（例えば、ＣＤ−ＲＯＭ等。）、磁気記録媒体（例えば、ハードディスク等。）、光磁気記録媒体（例えば、ＭＯ等。）、半導体メモリ（例えば、メモリカード等。）等のようなコンピュータ読み取り可能な記録媒体に記録しておくとしてもよい。そして、これ等の記録媒体を介して、他のハードウェアシステムにおいて実行されるとしてもよい。
【０１７３】
また、ネットワーク上のハードウェアシステムに記録再生装置制御プログラムを保持しておき、ネットワークを介して記録再生装置制御プログラムをダウンロードした他のハードウェアシステムにおいて実行されるとしてもよい。
【０１７４】
（付録）
以下、ブラウジングシステムにおいて用いられるコンテンツ記述方式、及びコンテンツ分割方式の詳細について説明する。
【０１７５】
ブラウジングシステムにおいては、協調ブラウジングにおける柔軟なコンテンツ分割を実現するために、コンテンツ記述方式と分割方式を用いている。コンテンツ記述方式では、コンテンツのメタデータを木構造で記述する。具体的には、コンテンツを構成する最小単位であるオブジェクトを木構造の葉ノード(オブジェクトノード)とし、関連性のあるオブジェクトノード同士を葉ノード以外のノード(分類ノード)で階層的に分類する。また葉ノードに、その葉ノードが表すオブジェクトのデータサイズや、オブジェクトの実行に必要なモバイル端末の機能などの属性を付加する。コンテンツ分割方式では、記述方式で記述されたメタデータ木を完全グラフに変換することによりグラフ分割問題（例えば、参考文献１、参考文献２参照。）に帰着させ、端末の数や性能などの条件に応じてコンテンツを分割する。
【０１７６】
［参考文献１］
B.W. Kernighan and S. Lin,
"An efficient heuristic procedure for partitioning graphs,"
Bell System Technical Journal, vol. 49, no. 2, pp. 291--307, Feb. 1970.
［参考文献２］
C.M. Fiduccia and R.M. Mattheyes,
"A linear time heuristic for improving network partitioning,"
Proc. Design Automation Conference, pp. 175--181, June 1982.
先ず、協調ブラウジングを実現するためのコンテンツの記述方式について説明する。
【０１７７】
コンテンツ記述方式では、コンテンツのメタデータをＸＭＬ形式の木構造で記述する。このコンテンツ構造において、葉ノード（以下、オブジェクトノードと呼称する。）は、コンテンツを構成する最小単位であるオブジェクトもしくはオブジェクト集合を表す。葉ノード以外のノード（以下、分類ノードと呼称する。）は、オブジェクトノードを階層的にグループ化するものであり、コンテンツの分割に利用する。
【０１７８】
オブジェクトノードは、例えば、１つの画像ファイルである場合や、互いに関連性のある画像や文字列などのオブジェクト集合である場合等が考えられる。
【０１７９】
また、コンテンツ記述方式では、関連性のあるオブジェクト同士のグループ化を実現するために、コンテンツ構造の各枝に重みを与え、２つのオブジェクトノードを結ぶパスの重みが小さいほど、その関連性が大きいと定義する。例えば、図３のコンテンツ構造の場合には、ノードＤとＥのパスの距離は２、ノードＤとＧのパスの距離は４となるため、ノードＤはノードＧよりノードＥとの関連性が大きい。しかし、この方法のみでは兄弟ノードをすべて対等に扱うため、兄弟ノードの並びの順番による関連性を定義することができない。
【０１８０】
例えば、兄弟ノードの並びを考慮しない場合には、オブジェクトノード間のパスの距離はすべて２となり、兄弟ノードの並びを考慮できない。そこで、兄弟ノードの並びを考慮し、ノードＤとＥおよびノードＥとＦの距離が２であるのに対し、ノードＤとＦの距離を、ノードＤとＥの距離およびノードＥとＦの距離の和である４と定義する。このように、兄弟ノード間の距離を隣接ノード間の距離の総和として求めることにより、兄弟ノードの並びを考慮した関連性を定義する。
【０１８１】
コンテンツ記述方式では、オブジェクトノードに以下（１）〜（４）に示す属性を付加する。
【０１８２】
（１）オブジェクトの量
実際のオブジェクト（集合）のデータサイズなど、オブジェクト（集合）の量の指標となるものを表す。この値はオブジェクトノード自体の重みと対応付ける。
【０１８３】
（２）実行に必要な端末の機能
オブジェクト（集合）を実行するために、端末に必要となる機能を表す。
【０１８４】
（３）オブジェクトの配布方法
オブジェクト（集合）を１つの端末のみに配布するか、すべての端末に配布するかを表す。
【０１８５】
（４）オブジェクトの性質
オブジェクト（集合）の性質を特記する。この性質はアプリケーションごとに定義方法を変更できる。
【０１８６】
例えば、協調ブラウジング特有の分割条件では、オブジェクトがもつ個人化情報を指定するために用いる。
【０１８７】
オブジェクトノードの属性は、コンテンツ分割に必要なものであるが、協調ブラウジングのためのコンテンツ記述方式としては、オブジェクトノード間の提示の同期を指定する機能も必要となる。
【０１８８】
そこで、コンテンツ記述方式では、別のユーザの端末に割り当てられたコンテンツとのインタラクションを実現させるために、オブジェクト同士の同期方法を定義する。具体的には、オブジェクトノードの属性として、同期しているオブジェクトノード、および、そのオブジェクトノードとの同期関係について記述する。この同期関係には、そのオブジェクトノードのイベントが起因となって、同期しているオブジェクトノードに影響を及ぼす関係（能動）、同期しているオブジェクトノードのイベントが起因となって、そのオブジェクトノードに影響を及ぼす関係（受動）、または、それらのノードが相互に影響を及ぼす関係（相互）がある。この関係を設定しておくことにより、それらのオブジェクトノードが別々の携帯端末に分配された場合においても、それらの関係を保ったまま、インタラクションのあるコンテンツ提示を行うことができる。
【０１８９】
協調ブラウジングのために必要な機能として、コンテンツ同期の他にも、実行順序（プレゼンテーション）の制御があげられる。
【０１９０】
そこで、コンテンツ記述方式では、各携帯端末に割り当てたオブジェクト（集合）の実行順序を考慮するアプリケーションを実現するために、オブジェクトの実行時刻と実行期間を定義する。
【０１９１】
例えば、スライドショーなどの時間軸に沿って実行されるコンテンツの閲覧を行うアプリケーションにおいて、オブジェクトを携帯端末上で実行する時刻とその期間をオブジェクトノードの属性として設定する。また、実行期間に重なりがあるオブジェクト同士が１つの携帯端末に割り当てられた場合には、重要なオブジェクトを優先して実行するために、実行の優先度をオブジェクトノードの属性として設定する。
【０１９２】
図２１に示されるように、コンテンツ記述方式では、コンテンツのメタデータをＸＭＬ形式で記述する。ここでは、図３に示される構造を持つコンテンツのメタデータの記述を例に、記述に用いる各タグについて説明する。
【０１９３】
［ｎｏｄｅタグ］
コンテンツ構造のノードを表し、入れ子構造にすることにより、階層的なコンテンツ構造を表現する。また、以下（１）〜（７）の属性を設定できる。
【０１９４】
（１）ｔｙｐｅ
ノードが、分類ノード（”ｇｒｏｕｐｉｎｇ”）かオブジェクトノード（”ｏｂｊｅｃｔ”）かを設定する。
【０１９５】
（２）ｎａｍｅ
ノードの名前を設定する。
【０１９６】
（３）ｗｅｉｇｈｔ
ノードがオブジェクトノード（ｔｙｐｅ＝”ｏｂｊｅｃｔ”）の場合には、そのオブジェクト量を設定する。設定がない場合には、｀１´となる。
【０１９７】
（４）ｅｄｇｅ＿ｗｅｉｇｈｔ
ノードとその親ノードとの間を結ぶ枝の重みを設定する。設定がない場合には、｀１´
となる。
【０１９８】
（５）ｃｈｉｌｄ＿ｌｏｃａｔｉｏｎ
ノードが分類ノード（ｔｙｐｅ＝”ｇｒｏｕｐｉｎｇ”）の場合には、ノードの子ノード間の位置関係を設定する。この値が”ｔｒｕｅ”の場合には、子ノードの位置関係は記述されている順に設定されるが、”ｆａｌｓｅ”の場合には、子ノードの位置関係はすべて対等となる。設定がない場合には、”ｆａｌｓｅ”となる。
【０１９９】
（６）ｉｄ
ノードの識別子を指定する。識別子は計算機がオブジェクトを識別する必要がある場合に用いる。
【０２００】
（７）ｐｒｉｏｒｉｔｙ
ノードがオブジェクトノード（ｔｙｐｅ＝”ｏｂｊｅｃｔ”）の場合には、そのオブジェクトの実行における優先度を設定する。
【０２０１】
［ｌｏｃａｔｏｒタグ］
ノードがオブジェクトノード（ｔｙｐｅ＝”ｏｂｊｅｃｔ”）の場合には、そのｎｏｄｅタグ内に定義する。そのｎｏｄｅタグが表すオブジェクトのファイル名やファイル中のどの部分であるかなどを記述する。
【０２０２】
［ｆｕｎｃｔｉｏｎタグ］
ノードがオブジェクトノード（ｔｙｐｅ＝”ｏｂｊｅｃｔ”）の場合には、そのｎｏｄｅタグ内に定義する。オブジェクトの実行に必要な機能を数字として記述する。設定がない場合には、｀０´となる。これにより、そのｎｏｄｅタグが表すオブジェクトはその機
能を持つ端末にしか配布されない。
【０２０３】
［ｂｒｏａｄｃａｓｔタグ］
ノードがオブジェクトノード（ｔｙｐｅ＝”ｏｂｊｅｃｔ”）の場合には、そのｎｏｄｅタグ内に定義する。
そのｎｏｄｅタグが表すオブジェクトを、その機能をもつ機器すべてに配信する。
【０２０４】
［ｃｌａｓｓタグ］
ノードがオブジェクトノード（ｔｙｐｅ＝”ｏｂｊｅｃｔ”）の場合には、そのｎｏｄｅタグ内に定義する。そのノードの表すオブジェクトの性質を特記する。性質は、計算機がそのオブジェクトの簡単な分類を知る必要がある場合に用い、アプリケーションごとに定義方法を変更できる。また、以下（１）の属性を指定できる。
【０２０５】
（１）ｎａｍｅ
ノードがもつ性質の名前を設定する。
【０２０６】
［ｓｙｎｃｈｒｏタグ］
ノードがオブジェクトノード（ｔｙｐｅ＝”ｏｂｊｅｃｔ”）の場合には、そのｎｏｄｅタグ内に定義する。そのノードと同期しているノードとの関係を設定する。以下（１）の属性を指定できる。
【０２０７】
（１）ｒｅｌａｔｉｏｎ
同期しているオブジェクトとの関係を、能動（”ａｃｔｉｖｅ”）、受動（”ｐａｓｓｉｖｅ”）、または相互（”ｍｕｔｕａｌ”）から選択する。
【０２０８】
［ｓｃｈｅｄｕｌｅタグ］
ノードがオブジェクトノード（ｔｙｐｅ＝”ｏｂｊｅｃｔ”）の場合には、そのｎｏｄｅタグ内に定義する。そのｎｏｄｅタグが表すオブジェクトの実行スケジュールを設定する。また、以下（１）、（２）の属性を指定できる。
【０２０９】
（１）ｓｔａｒｔ
ノードが表すオブジェクトの実行開始時刻を設定する。
【０２１０】
（２）ｌｅｎｇｔｈ
ノードが表すオブジェクトの実行期間を設定する。
【０２１１】
コンテンツの分割方式では、メタデータの木を完全グラフに変換し、そのグラフを分割することによりコンテンツ分割を実現する。ここで、グラフ分割の問題は、ＶＬＳＩ設計やプログラムのセグメント化などの分野でよく用いられ、ＮＰ−完全問題として知られている。グラフ分割問題を解くための有名な発見的アルゴリズムとしては、ＫｅｒｎｉｇｈａｎらによるＫＬアルゴリズム（参考文献１参照。）や、ＫＬアルゴリズムを基にしたＦｉｄｕｃｃｉａらによるネットワーク分割問題を解くためのＦＭアルゴリズム（参考文献２参照。）がある。また、これらの発見的アルゴリズムは、グラフの２分割問題だけでなく、グラフをそれ以上のグループにクラスタリングするアルゴリズムにも簡単に拡張することができる。例えば、ＳｕａｒｉｓらによるＦＭアルゴリズムに基づくネットワーク４分割アルゴリズム（参考文献３、参考文献４参照。）や、ＳａｎｃｈｉｓによるＦＭアルゴリズムに基づく複数分割アルゴリズム（参考文献５、参考文献６参照。）がある。
【０２１２】
ここでは、コンテンツの分割方式は、ＦＭアルゴリズムを拡張したものである。
［参考文献３］
P.R. Suaris, and  G.Kedem,
"Quadrisection: A new approach to standard cell layout,"
Proc. International Conference on Computer-Aided Design, pp. 474--477 (1987).
［参考文献４］
P.R. Suaris, and G.Kedem, 
"Standard cell placement by quadrisection,"
Proc. International Conference on Computer-Aided Design, pp. 612--615 (1987).
［参考文献５］
L.A. Sanchis,
"Multiple-way network partitioning,"
IEEE Transactions on Computers, vol. 38, no. 1, pp. 62--81 (1989).
［参考文献６］
L.A. Sanchis,
"Multiple-way network partitioning with different cost functions,"
IEEE Transactions on Computers, vol. 42, no. 12, pp. 1500--1504 (1993).
コンテンツの分割は、メタデータの木をもとに作成した完全グラフを対象に行う。完全グラフのノードはメタデータのオブジェクトノードのみから成り、ノード間の枝の重さは、メタデータの木構造におけるノード間のパスの距離に対応する。この変換により、完全グラフにおけるすべてのノード間の枝の重みは、それぞれのノードの関連性を表す。
【０２１３】
コンテンツ分割方式では、完全グラフの枝から、接続するオブジェクトノード同士がグループを構成するようにカットする枝を選択し、コンテンツの分割を行う。
【０２１４】
ここで、コンテンツ分割方式では、協調ブラウジングのための条件を考慮することから、分割の目的が一般のグラフ分割問題とは異なる。そのため、グラフ分割を評価する際の新たな指標が必要になる。そこで、分割結果の有効性を評価するための評価関数を導入する。評価関数ｆは以下の数式（１）で表し、評価値が小さいほど条件を満たした分割であることを示す。ただし、ｃ2，ｃ3，ｃ4はそれぞれｆ2，ｆ3，ｆ4の重みを決定するための係数であり、この値によってそれぞれの関数の重要度を調整できる。
【０２１５】
（１）  ｆ＝ｆ1・（ｃ2ｆ2＋ｃ3ｆ3＋ｃ4ｆ4）
ここで、ｆ1は、配布するコンテンツを端末上で実行できない度合を示す関数であり、ｆ2は、分配したコンテンツ量が指定した割合にどれだけ遠いかを示す関数である。また、ｆ3は、ユーザのコンテンツ割り当て要求にどれだけ応えていないかを示す関数であり、ｆ4は、同じ分割コンテンツにグループ化されたオブジェクトノード間の関連性の低さを示す関数である。
【０２１６】
ここで、評価関数ｆ1は、配布するコンテンツを端末上で実行できない度合いを示しているため、ｆ1が小さいほど、ユーザに閲覧可能なコンテンツの量が多くなる。分割の良さを表す評価関数ｆは、ユーザが閲覧可能なコンテンツの量に比例するのが妥当であり、他の関数とは積の関係となっている。また、分配したコンテンツ量が指定した割合にどれだけ遠いかを示す評価関数ｆ2、ユーザのコンテンツ割り当て要求にどれだけ応えていないかを示す評価関数ｆ3、および、同じ分割コンテンツにグループ化されたオブジェクトノード間の関連性の低さを示す評価関数ｆ4は、それぞれに独立している評価関数であるため、それらの和を求める形式が妥当である。
【０２１７】
図２２に示されるように、分割方式では、まず、メタデータ木を完全グラフに変換した後、さまざまな条件を満たすよう完全グラフの調整を行い、初期のグラフ分割を行う。その後、複数分割に拡張したＦＭアルゴリズムを用いて、分割したグループ間でのオブジェクトノードの移動を行う。以下にその主要な点を説明する。
【０２１８】
［Coordinate Graph］
グラフの調整は以下（１）〜（３）の手順で行う。
【０２１９】
（１）あるオブジェクトノードを実行するための機能をもつ端末が存在しない場合には、そのオブジェクトノードをグラフから削除する。
【０２２０】
（２）ｂｒｏａｄｃａｓｔタグをもつオブジェクトノードがある場合には、あらかじめそのノードをすべての端末に割り当て、グラフから削除する。
【０２２１】
（３）１つの端末に２つ以上のオブジェクトノードの割り当て要求があった場合には、それらのオブジェクトノード間の枝の重みを０に設定する。これにより、要求されたオブジェクトノードが同じグループに割り当てられやすくなる。
【０２２２】
［Create Initial k-way Partitioning］
初期のグラフ分割（分割数ｋ）は以下（１）〜（３）の手順で行う。
【０２２３】
（１）調整後のグラフから最小スパニング木を求める。
（２）最小スパニング木からｋ−１本の枝を以下の方法でカットすることにより、ノードをｋ個のグループに分割する。
【０２２４】
まず、１つ以上の割り当て要求と、１つ以上の非割り当て要求があった端末において、割り当て要求ノードと非割り当て要求ノード間すべてに非結合要求を設定する。非結合要求とは、初期分割においてその要求が設定されたノード同士を同じグループに割り当てないようにするものである。すべての最小スパニング木の枝の中から、より多くの非結合要求が設定されたノード間のパス上にあり、より重みの大きい枝を優先的に選択し、これをすべての非結合要求が満たされるまで、または、ｋ−１本の枝がカットされるまで繰り返す。
【０２２５】
カットをｋ−１回行う前にすべての非結合条件が満たされた場合には、カットされていない枝のうちから重みの大きい枝からカットし、合計でｋ−１回カットするまで繰り返す。以上の手順で得られたｋ個のグループを初期分割とする。
【０２２６】
次に、分割したｋグループのコンテンツを端末に割り当てる際の可能なすべての組み合わせ中から、最小の評価値ｆをもつ組み合わせを求め、これを初期分割における割り当てとする。
【０２２７】
（３）端末ｉ（０≦ｉ≦ｋ−１）に割り当てるオブジェクトノードの集合ｇｒｏｕｐiを出力する。
【０２２８】
［k-way FM Algorithm］
初期分割によって求めたグループ間でノードの移動を行い、さらに適切な分割を求める。
【０２２９】
まず、ノードｎが自身の属するグループ以外のグループｇｒｏｕｐmに移動した全ての場合の評価値ｆを、マークされていないすべてのノードについて求める。その中で最小のｆを与えるノードの移動を選び、その移動を実行し、さらにそのノードをマークする。この手順をすべてのノードがマークされるまで繰り返す。この繰り返しの中で、最小の評価値を与えたグループ分けを暫定的な最適のグループ分けとする。次に、すべてのノードのマークを外した上で、そのグループ分けからさらにグループ間でのノードの移動による分割の最適化を繰り返す。この繰り返しは最小評価値の更新が行われなくなった時点で終了する。
【産業上の利用可能性】
【０２３０】
本発明は、ブラウジングシステム等として、特に、複数の端末間で協調してコンテンツを閲覧するブラウジングシステム等として、利用することができる。
【図面の簡単な説明】
【０２３１】
【図１】実施の形態１におけるブラウジングシステムの構成を示す図である。
【図２】実施の形態１におけるユーザ情報のデータ構造を示す図である。
【図３】実施の形態１におけるコンテンツ構造の例を示す図である。
【図４】実施の形態１におけるコンテンツのセグメント化の例を示す図である。
【図５】実施の形態１におけるコンテンツの例を示す図である。
【図６】実施の形態１におけるレイアウトデータの例を示す図である。
【図７】実施の形態１におけるコンテンツ分配シーケンスを示す図である。
【図８】実施の形態１におけるメタデータ生成処理を示す図である。
【図９】実施の形態１におけるブラウジング画面表示処理を示す図である。
【図１０】実施の形態１におけるオーバービュー画面表示処理を示す図である。
【図１１】実施の形態１におけるリンク選択操作時の協調ブラウジングシーケンスを示す第１の図である。
【図１２】実施の形態１におけるリンク選択操作時の協調ブラウジングシーケンスを示す第２の図である。
【図１３】実施の形態１におけるバック操作時の協調ブラウジングシーケンスを示す図である。
【図１４】実施の形態１におけるブラウジング画面の表示例を示す図である。
【図１５】実施の形態１における（ａ）イベントリスト表示例、（ｂ）画像分割表示例を示す図である。
【図１６】実施の形態１におけるオーバービュー画面の表示例を示す図である。
【図１７】実施の形態２におけるブラウジングシステムの構成を示す図である。
【図１８】実施の形態２におけるコンテンツ分配シーケンスを示す図である。
【図１９】実施の形態２におけるオーバービュー画面表示処理を示す図である。
【図２０】実施の形態２におけるオーバービュー画面の表示例を示す図である。
【図２１】メタデータの記述の例を示す図である。
【図２２】コンテンツ分割アルゴリズムの例を示す図である。
【符号の説明】
【０２３２】
１００，２００  ブラウジングシステム
１０１，２０１  サーバ
１０２，２０２  クライアント
１１１  ユーザ管理部
１１２  イベント管理部
１１３  メタデータ生成部
１１４  コンテンツ分割部
１２１  イベント管理部
１２２  ページ管理部
１２３  ブラウジング画面処理部
１２４  オーバービュー画面処理部
２１５  スクリーンショット生成部
２２４  オーバービュー画面処理部
【図１】
2006195675.tif 000003
【図２】
2006195675.tif 000004
【図３】
2006195675.tif 000005
【図４】
2006195675.tif 000006
【図５】
2006195675.tif 000007
【図６】
2006195675.tif 000008
【図７】
2006195675.tif 000009
【図８】
2006195675.tif 000010
【図９】
2006195675.tif 000011
【図１０】
2006195675.tif 000012
【図１１】
2006195675.tif 000013
【図１２】
2006195675.tif 000014
【図１３】
2006195675.tif 000015
【図１４】
2006195675.tif 000016
【図１５】
2006195675.tif 000017
【図１６】
2006195675.tif 000018
【図１７】
2006195675.tif 000019
【図１８】
2006195675.tif 000020
【図１９】
2006195675.tif 000021
【図２０】
2006195675.tif 000022
【図２１】
2006195675.tif 000023
【図２２】
2006195675.tif 000024