説明

ブラウジングシステム

【課題】 サイズの大きいコンテンツを、端末の性能等を考慮し、複数の端末と連携して適切に表示するブラウジングシステムを提供する。
【解決手段】 ブラウジングシステム100は、サーバ101とクライアント102から構成されている。(a)サーバ101は、ユーザ管理部111、イベント管理部112、コンテンツ分割部114を備え、(b)クライアント102は、部分コンテンツに属するオブジェクトデータ、及びオブジェクトデータの割り付けに関するレイアウトデータに基づいて、ブラウジング画面表示用コンテンツを生成するページ管理部122、ブラウジング画面表示用コンテンツに基づいて、ブラウジング画面を構成して表示するブラウジング画面処理部123を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の装置間で協調してコンテンツを閲覧するブラウジングシステムに関する。
【背景技術】
【0002】
近年、通信技術や計算機技術の発展にともない、携帯電話やPDA(Personal Digital Assistant)等のモバイル端末が身近なものとなってきている。ユーザは、モバイル端末を用いて、いつでもどこでもインターネット上のコンテンツにアクセスすることができる。そして、デスクトップPC用のWebページなどサイズの大きいコンテンツを、モバイル端末を用いて閲覧する技術として、オーバービューを用いてコンテンツの概要を提供する技術がこれまでに多く提案されている。
【0003】
例えば、Power Browserは、デスクトップPC用のWebページのサマリーをテキストベースで提供する技術である(例えば、非特許文献1、非特許文献2参照。)。ユーザは、サマリーから閲覧したい部分を選択することにより、その詳細を閲覧できる。
【0004】
また、イメージベースのオーバービューを提供する技術として、Smart Viewなどがある(例えば、非特許文献3、非特許文献4参照。)。これらの技術では、デスクトップPC用のWWW(World Wide Web)ブラウザで表示したページのイメージを縮小したオーバービューをPDAに表示する。ユーザはオーバービューから閲覧したい部分を拡大することができる。
【0005】
また、近くにいるユーザ同士で協調作業を行う技術として、Let’s Browse、GDA、ConnecTables等がある(例えば、非特許文献5、非特許文献6、非特許文献7参照。)。Let’s Browseでは、通常のデスクトップPCを用いた多ユーザによるWebブラウジングにおいて、現在見ているページからリンクしているページの中で、全てのユーザのプロファイルに最も適合したページを提示する。GDAでは、複数のPDAの画面を結合することにより、協調作業に用いるワークスペースの表示領域を拡大できる。ConnecTablesでは、持ち運び可能なディスプレイを結合することにより、ディスプレイ上の作業領域を結合できる。
【非特許文献1】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.
【非特許文献2】O. Buyukkokten, H. Garcia-Molina, and A. Paepcke, "Seeing the whole in parts: Text summarization for web browsing on handheld devices," Proc. World Wide Web Conference (WWW'01), pp. 652--662, May 2001.
【非特許文献3】Y. Chen, W. Ma, and H. Zhang, "Detecting web page structure for adaptive viewing on small form factor devices," Proc. World Wide Web Conference (WWW'03), pp. 225--233, May 2003.
【非特許文献4】N. Milic-Frayling and R. Sommerer, "SmartView: Flexible viewing of web page contents," Proc. World Wide Web Conference (WWW'02), May 2002.
【非特許文献5】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.
【非特許文献6】野田敬寛, 吉野 孝, 宗森 純, "GDA: 複数のPDAによる画面結合共有システム," 情報処理学会論文誌, vol. 44, no. 10, pp. 2478--2489, Oct. 2003.
【非特許文献7】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.
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、前記従来の技術においても、依然としてモバイル端末はディスプレイサイズや計算能力に制限があるため、サイズの大きいコンテンツを快適に閲覧することが困難という問題がある。
【0007】
例えば、携帯電話などのさらに画面が小さい端末を用いたブラウジングを考えた場合には、オーバービューの縮率が大きくなるため、ユーザはコンテンツの把握が困難である。
【0008】
そこで、本発明は、前記問題に鑑みてなされたものであり、サイズの大きいコンテンツを、端末の性能等を考慮し、複数の端末と連携して適切に表示するブラウジングシステムを提供することを目的とする。
【課題を解決するための手段】
【0009】
前記目的を達成するために、本発明に係るブラウジングシステムは、(a)コンテンツを構成する複数のオブジェクトデータを表示するクライアント装置、及び前記クライアント装置の機能に合わせて前記コンテンツを分割するサーバ装置から構成されるブラウジングシステムであって、(b)前記サーバ装置は、(b1)前記クライアント装置に関する固有情報を管理するユーザ管理手段と、(b2)前記クライアント装置から受け付けた操作情報を管理するイベント管理手段と、(b3)前記固有情報に基づいて、前記コンテンツを部分コンテンツに分割するコンテンツ分割手段とを備え、(c)前記クライアント装置は、(c1)前記部分コンテンツに属するオブジェクトデータ、及び前記オブジェクトデータの割り付けに関するレイアウトデータに基づいて、ブラウジング画面表示用コンテンツを生成するページ管理手段と、(c2)前記ブラウジング画面表示用コンテンツに基づいて、ブラウジング画面を構成して表示し、表示したブラウジング画面を介してユーザから操作を受け付けるブラウジング画面処理手段と、(c3)ユーザから受け付けた操作に関する操作情報を管理するイベント管理手段とを備えることとする。
【0010】
これによって、モバイル端末のようなクライアント装置は、1つのモバイル端末だけでは閲覧できない情報量の多いページを、クライアント装置に最適化された部分ページ単位で閲覧することができる。また、ユーザは、分割した部分ページを互いに近くにいる複数のユーザに割り当て、他のクライアント装置と協調して表示することにより、通常のデスクトップPC向けに生成されたWebページを、複数のクライアント装置を用いて閲覧することができる。そして、それぞれのクライアント装置に表示された部分ページを互いに見ながら、相談して目的とする情報を検索、閲覧することができる。
【0011】
さらに、(a)前記サーバ装置は、前記コンテンツを構成する複数のオブジェクトデータ間の関係を示す木構造のメタデータと前記レイアウトデータとを生成するメタデータ生成手段を備え、(b)前記コンテンツ分割手段は、前記木構造のメタデータを完全グラフに変換し、前記完全グラフを分割することによって、前記コンテンツを前記部分コンテンツに分割することとしてもよい。
【0012】
これによって、サーバ装置は、HTML形式のWebページを再帰的にセグメント化することにより、木構造のメタデータを自動的に生成することができる。さらに、固有情報に基づいて、その木を分割することにより、モバイル端末のようなクライアント装置に最適化された部分ページにWebページを分割することができる。
【0013】
さらに、前記コンテンツ分割手段は、クライアント装置の最大容量を超えないようにコンテンツを割り当てることとしてもよい。
【0014】
さらに、前記コンテンツ分割手段は、クライアント装置の性能比に応じてコンテンツの分配割合を決定することとしてもよい。
【0015】
さらに、前記コンテンツ分割手段は、実行に特別な機能が必要なコンテンツに対しては、その機能を有するクライアント装置に優先して割り当てることとしてもよい。
【0016】
さらに、前記コンテンツ分割手段は、ユーザの嗜好を示すキーワード群が、前記ユーザに対する前記固有情報に含まれる場合には、前記キーワード群に基づいて、前記コンテンツから分割された複数のオブジェクトを割り当てることとしてもよい。
【0017】
なお、本発明は、ブラウジングシステムとして実現されるだけではなく、ブラウジングシステムを制御する方法(以下、ブラウジング方法と呼称する。)等として実現されるとしてもよい。
【0018】
また、ブラウジングシステムを構成するサーバ装置、サーバ装置を制御する方法(以下、サーバ制御方法)、サーバ制御方法をコンピュータシステム等に実行させるプログラム(以下、サーバプログラムと呼称する。)、サーバプログラムを記録した記録媒体等として実現されるとしてもよい。
【0019】
また、ブラウジングシステムを構成するクライアント装置、クライアント装置を制御する方法(以下、クライアント制御方法)、クライアント制御方法をコンピュータシステム等に実行させるプログラム(以下、クライアントプログラムと呼称する。)、クライアントプログラムを記録した記録媒体等として実現されるとしてもよい。
【発明の効果】
【0020】
以上、本発明に係るブラウジングシステムによれば、サーバ装置は、HTML形式のWebページを再帰的にセグメント化することにより、木構造のメタデータを自動的に生成することができる。さらに、ユーザ情報に基づいて、その木を分割することにより、モバイル端末のようなクライアント装置に最適化された部分ページにWebページを分割することができる。また、クライアント装置は、1つのモバイル端末だけでは閲覧できない情報量の多いページを、クライアント装置に最適化された部分ページ単位で閲覧することができる。また、ユーザは、分割した部分ページを互いに近くにいる複数のユーザに割り当て、他のクライアント装置と協調して表示することにより、通常のデスクトップPC向けに生成されたWebページを、複数のクライアント装置を用いて閲覧することができる。そして、それぞれのクライアント装置に表示された部分ページを互いに見ながら、相談して目的とする情報を検索、閲覧することができる。
【0021】
また、オーバービュー画面を用いて分割前の大まかなページ構造を把握することができる。さらに、それぞれのブラウザのバックおよびフォワード操作を同期させることにより、ユーザ同士が混乱せず同じページを閲覧することができる。
【0022】
また、クライアント装置で、サーバ装置が生成したオブジェクト毎のスクリーンショット画像を用いて、イメージベースのオーバービューを構成して表示することができる。
【0023】
また、ブラウジングシステムで用いているオーバービューは、サマリーとしてオブジェクトの名前を表示する上、分割前のページのレイアウトでオブジェクトを表示する。したがって、ユーザは元のページ構造を容易に想像することができる。また、他のクライアント装置のブラウジング画面を横に並べて閲覧することで、オブジェクトの内容も容易に把握できる。さらに、ページのサマリーを文字列で表示すれば、ユーザは小さい画面でもページの内容を把握できる。
【発明を実施するための最良の形態】
【0024】
(実施の形態1)
以下、本発明に係る実施の形態1について、図面を参照しながら説明する。
【0025】
本発明に係る実施の形態1におけるブラウジングシステムは、モバイルコンピューティング環境において、1つの非力なモバイル端末のみでは閲覧できないコンテンツ、例えば、1ページのサイズが大きいコンテンツを複数の部分ページに分割し、複数のモバイル端末に分配する。具体的には、協調ブラウジングのためのコンテンツ記述方式で記述したメタデータを通常のHTML(HyperText Markup Language)形式のWebページから自動的に生成し、生成したメタデータに基づいて、通常のHTML形式のWebページを複数の部分ページに分割する。そして、複数の部分ページを各モバイル端末に分配し、モバイル端末のブラウザを介してユーザに表示する。すなわち、ユーザが閲覧したいWebページを解析して、メタデータ木やレイアウトデータをリアルタイムに生成することを特徴とする。
【0026】
さらに、1つのページを複数の部分ページに分割するために、ユーザが元のページ構造を容易に把握することができるように、元のページのオーバービューを表示することも特徴とする。
【0027】
「協調ブラウジング」とは、1つのリッチなコンテンツが複数の部分コンテンツに分割され、複数の部分コンテンツが複数の端末に分配され、各端末に分配された部分コンテンツを用いて協調してリッチなコンテンツの閲覧を行うことをいう。
【0028】
以上の点を踏まえて本発明に係る実施の形態1におけるブラウジングシステムについて説明する。
【0029】
先ず、実施の形態1におけるブラウジングシステムの構成について説明する。
図1に示されるように、ブラウジングシステム100は、無線LAN網、携帯電話網等のワイヤレス通信網を介して相互に接続されるサーバ101、及び携帯電話、PDA(Personal Digital Assistant)等のクライアント102等から構成される。そして、サーバ101によって複数の部分ページに分割されたWebページの部分ページをクライアント102が受信すると、ユーザは、クライアント102に備わるブラウザ機能を介して、(a)クライアント102が受信した部分ページの詳細な情報、及び(b)分割前のWebページのオーバービューを見ることができる。また、協調ブラウジングを行う全てのクライアント102において、ブラウザのバック、フォワード、及びリンク選択等のユーザ操作に対して、各クライアント102の処理が同期している。例えば、あるユーザがバック操作を行うと、他の端末でも同期してバック操作による処理が行われる。
【0030】
なお、協調ブラウジング用のコンテンツは、コンテンツ記述方式で記述された木構造のメタデータ、木構造の葉ノードに対応するオブジェクト、及びオブジェクトのレイアウトを指定するレイアウトデータから構成される。オブジェクトは、HTMLコンテンツの一般的な記述言語であるHTMLで記述されている。ブラウザは受信したオブジェクトを、レイアウトデータに従って画面上に表示する。サーバは、コンテンツ分割方式を用いてコンテンツを分割する。
【0031】
そして、ユーザは、それぞれの端末に表示された部分ページを互いに閲覧し相談しながら、目的とする情報を検索することができる。このとき、1つのモバイル端末に表示される部分ページは情報量が少ないため、ユーザは、目的とする情報やリンクを短時間で探すことができる。
【0032】
サーバ101は、ユーザ管理部111、イベント管理部112、メタデータ生成部113、コンテンツ分割部114等を備える。
【0033】
ユーザ管理部111は、協調ブラウジングを行うユーザの情報(以下、ユーザ情報と呼称する。)を管理する。
【0034】
なお、ユーザは、協調ブラウジングを開始する際に、(a)ユーザの名前、(b)ユーザが使用するモバイル端末の画面のサイズ、及び(c)そのモバイル端末で利用可能な機能を、ユーザ情報としてユーザ管理部111に登録する。これにより、ユーザ登録を行ったユーザ同士で協調ブラウジングを行うことができる。
【0035】
ここで、「端末で利用可能な機能」とは、ある形式の画像表示機能、音声再生機能などをいう。例えば、GIF(Graphic Interchange Format)画像の表示機能などである。
【0036】
また、ユーザ管理部111は、そのユーザが使用するクライアントからユーザ情報を受け付けると、受け付けたユーザ情報を管理すると共にイベント管理部112に渡す。
【0037】
イベント管理部112は、ユーザが使用するクライアントにおいて、ユーザが行った操作に関する情報(以下、操作情報と呼称する。)を管理する。
【0038】
例えば、あるユーザがブラウザのバック、フォワード、リンク選択等を行った場合には、そのユーザの操作に関する操作情報がイベント管理部を介して他のユーザにも通知される。
【0039】
また、イベント管理部112は、ユーザがリンク選択を行った場合には、ユーザ管理部111から受信したユーザ情報を用いて、リンク先のページの分割要求をメタデータ生成部113へ出力する。
【0040】
メタデータ生成部113は、イベント管理部112から出力される分割要求に応じて、Webページを解析し、コンテンツ記述方式に基づいて、木構造のメタデータ(以下、メタデータ木と呼称する。)を生成する。
【0041】
コンテンツ分割部114は、メタデータ生成部113において生成されたメタデータ木を分割する。そして、分割した結果(以下、分割結果と呼称する。)、及びレイアウトデータをクライアントへ送信する。
【0042】
なお、分割結果は、どのオブジェクトがどの端末に割り当てられたかの情報、及び自装置に割り当てられたオブジェクト(HTMLコンテンツ)の集合からなる。
【0043】
クライアント102は、イベント管理部121、ページ管理部122、ブラウジング画面処理部123、オーバービュー画面処理部124等を備える。
【0044】
イベント管理部121は、ユーザによるイベントを管理する。具体的には、ユーザの登録に伴い受け付けたユーザ情報をユーザ管理部111へ送信する。さらに、ユーザの操作に関する操作情報をイベント管理部112へ送信する。また、他のユーザの操作に関する操作情報をイベント管理部112から受信し、ブラウジング画面に反映させる。例えば、他のユーザが行ったバック操作に関する操作情報を受信した場合には、ページ管理部122に対してバック先コンテンツを表示するよう要求する。
【0045】
ページ管理部122は、コンテンツ分割部114から受信したオブジェクト(HTMLコンテンツ)とレイアウトデータとから、ブラウジング画面表示用コンテンツ、及びオーバービュー画面表示用コンテンツを生成する。そして、ブラウジング画面表示用コンテンツをブラウジング画面処理部123に渡し、オーバービュー画面表示用コンテンツをオーバービュー画面処理部124に渡す。さらに、イベント管理部121から渡された操作情報に基づいてページを生成し、ブラウジング画面に出力する。
【0046】
ブラウジング画面処理部123は、ページ管理部122から渡されたブラウジング画面表示用コンテンツに基づいて、ブラウジング画面を構成して表示する。また、ブラウジング画面を介してユーザの操作を受け付け、受け付けた操作に関する操作情報をイベント管理部121に渡す。
【0047】
オーバービュー画面処理部124は、ページ管理部122から渡されたオーバービュー画面表示用コンテンツに基づいて、オーバービュー画面を構成して表示する。また、オーバービュー画面を介してユーザの操作を受け付け、受け付けた操作に関する操作情報をイベント管理部121に渡す。
【0048】
続いて、実施の形態1におけるユーザ情報について説明する。
図2に示されるように、ユーザ管理部111において管理されるユーザ情報(R130)は、クライアントから予め登録される情報であり、ユーザの名前(F131)、端末に割り当て可能なコンテンツの最大バイトサイズ(F132)、端末の画面のサイズ(F133)、端末が表示可能な画像のフォーマット(F134)、及びユーザの嗜好を反映したキーワード群(F135)を含む。
【0049】
例えば、ユーザ情報(R130a)により、ユーザ”nao”の端末には、”1MB”までのサイズで、”240×320”の範囲内に収まるコンテンツを割り当てることができる。また、”GIF”フォーマットの画像を割り当てることができる。さらに、”旅行、映画”に関するコンテンツ等を優先して割り当てることが示される。さらに、クライアントの画面サイズの比に応じて、コンテンツを割り当てる量の比を決定することができる。具体的には、画面のサイズが”240×320”のクライアントと、その倍の面積のクライアントがある場合には、割り当てられるコンテンツサイズの比を1:2に決定する。このように、ブラウジングシステム100は、割り当てるコンテンツサイズの比を決定するにあたり、画面のサイズを用いる。さらに、クライアントが表示できるコンテンツのバイトサイズが限られている場合には、そのサイズを超えないようにコンテンツの割り当てる量を決定することができる。
【0050】
続いて、協調ブラウジングのためのコンテンツ記述方式とコンテンツ分割方式とについて説明する。なお、詳細は、巻末の付録において説明する。
【0051】
コンテンツ記述方式では、コンテンツを分割する際に必要なメタデータをXML(eXtensible Markup Language)形式の木構造で記述する。さらに、オブジェクトノード同士のパスの距離が小さいほど関連性が高いとみなす。
【0052】
例えば、図3に示されるように、木構造140において、ノードG1の子であるノードAとノードBの距離は2である。また、ノードAとノードDの距離は4である。これ等から、ノードAについては、ノードDよりノードBの方を関連性が高いとみなす。
【0053】
「オブジェクトノード」とは、コンテンツを構成する最小単位であるオブジェクト、又はオブジェクト集合を表す葉ノードである。
【0054】
「分類ノード」とは、関連性のあるオブジェクトノード同士を階層的にグループ化する葉ノード以外のノードである。コンテンツを分割する際に利用される。
【0055】
さらに、コンテンツ記述方式では、オブジェクトノードに対して、(a)オブジェクトの名前、(b)オブジェクトのID、(c)オブジェクトのサイズ、(d)実行に必要な端末の機能、(e)ロケータ等の属性を付加することができる。
【0056】
「オブジェクトの名前」とは、オブジェクトが表すコンテンツの名前をいう。
「オブジェクトのID」とは、メタデータ木におけるオブジェクトの識別子をいう。
【0057】
「オブジェクトのサイズ」とは、実際のオブジェクト、又はオブジェクト集合のデータサイズなど、オブジェクト、又はオブジェクト集合のサイズの指標をいう。この値はオブジェクトノード自体の重みと対応付けられる。
【0058】
「実行に必要な端末の機能」とは、オブジェクト、又はオブジェクト集合を実行するために端末が必要とする機能をいう。
【0059】
「ロケータ」とは、オブジェクトが示すコンテンツのURL(Uniform Resource Locator)をいう。
【0060】
コンテンツ分割方式では、コンテンツ記述方式で記述されたメタデータ木を完全グラフに変換し、グラフを端末数の部分グラフに分割する。
【0061】
なお、グラフは、メタデータ木のオブジェクトノードのみからなり、ノード間の枝の距離が木におけるノード間のパスの距離に対応するように変換されている。そして、以下(1)〜(4)に示す条件に基づいて、コンテンツを分割する。
【0062】
(1)端末に割り当て可能なコンテンツのサイズ
各端末のブラウザで表示可能な最大サイズを超えないようにコンテンツを割り当てる。端末によっては利用可能なメモリやストレージの容量が制限されるためである。例えば、携帯電話では、表示可能なWebページの最大サイズが制限されている。
【0063】
(2)端末の性能
コンテンツを複数の端末に分配するとき、各端末の性能比に応じてコンテンツの分配割合を決定する。端末によっては画面の大きさや通信速度などが制限されるためである。
【0064】
(3)端末の機能
実行に特別な機能が必要なコンテンツ、又はオブジェクトは、その機能をもつ端末に優先して割り当てる。その機能をもたない端末に割り当てても実行できないためである。例えば、GIF形式の画像を表示できない端末に、GIF形式の画像を割り当てても表示することができない。
【0065】
(4)分割したコンテンツの関連性
グラフにおいて枝の距離が近いノード同士を同じ部分グラフとなるようにグラフを分割する。分割されたコンテンツを構成するそれぞれのオブジェクト集合は、関連性のあるオブジェクトから構成されている方が利用しやすいためである。
【0066】
例えば、図4に示されるように、メタデータ生成部113は、コンテンツ151aをセグメント化することによりオブジェクトを抽出し、抽出したオブジェクトを葉ノードとした木152cを生成する。
【0067】
具体的には、コンテンツ151a(以下、オブジェクトAと呼称する。)をルートノードAに対応させる。そして、オブジェクトAをオブジェクトBとオブジェクトCとに分割し、オブジェクトBをノードBに対応させ、オブジェクトCをノードCに対応させ、ノードBとノードCとをルートノードAの子ノードに設定する。
【0068】
さらに、オブジェクトBをオブジェクトDとオブジェクトEとに分割し、オブジェクトDをノードDに対応させ、オブジェクトEをノードEに対応させ、ノードDとノードEとをノードBの子ノードに設定する。また、オブジェクトCをオブジェクトFとオブジェクトGとに分割し、オブジェクトFをノードFに対応させ、オブジェクトGをノードGに対応させ、ノードFとノードGとをノードCの子ノードに設定する。そして、木構造152cが生成される。
【0069】
このとき、コンテンツ分割部114は、オブジェクトFよりもオブジェクトEの方を、オブジェクトDの近くに配置されているオブジェクトとして扱う。ノードDとノードEとのパスの距離は2となり、ノードDとノードFとのパスの距離は4となるためである。
【0070】
以上のように、ページをセグメント化してメタデータ木を生成することにより、ページ上で近くにレイアウトされたオブジェクト同士は、メタデータ木においてパスの距離が短い位置に配置される。そして、コンテンツ分割方式に基づいて、生成したメタデータ木を分割することにより、関連性の高いオブジェクト同士を同じクライアントに割り当てることができる。
【0071】
そして、コンテンツ分割部114は、コンテンツ分割方式に基づいて、以上のようにして生成されるメタデータ木を用いてコンテンツを分割する。
【0072】
なお、Webページをセグメント化する方法は、これ以外にも色々と存在する。ここでは、上記のような、一般的に用いられている単純な方法でセグメント化を行う。ただし、協調ブラウジングのためのセグメント化方式では、いくつかの制限を考慮する必要がある。例えば、GIF画像のみを表示できる端末とPNG(Portable Network Graphics)画像のみを表示できる端末があるとすると、それらの端末はGIF画像とPNG画像を両方含むオブジェクトを実行することができない。また、端末は、その容量を超えたサイズのオブジェクトを実行することができない。
【0073】
続いて、ブラウジングシステムが対象とするコンテンツについて説明する。
ブラウジングシステムが対象とするコンテンツは、コンテンツ記述方式で記述された木構造のメタデータ、その木構造の葉ノードに対応するオブジェクト(HTMLコンテンツ)、及びコンテンツを構成するオブジェクトのレイアウトを指定するレイアウトデータから構成される。
【0074】
例えば、図5、図6に示されるように、コンテンツ160は、メタデータ木140(図3参照。)のオブジェクトノードA〜Fに、個別に対応するオブジェクトA〜Fから構成される。そして、オブジェクトA〜Fは、それぞれ個別のHTML形式のコンテンツであり、レイアウトデータ170により配置される。
【0075】
レイアウトデータ170は、HTMLファイルに”node-content”タグを埋め込む形式で記述されている。”node-content”タグは、その”id”をもつオブジェクトを埋め込む位置を示す。例えば、id=”A”のオブジェクトのみが割り当てられた端末には、レイアウトデータにid=”A”のオブジェクトノードが示すHTMLコンテンツのみを埋め込んで生成したブラウジング画面表示用コンテンツが表示される。
【0076】
なお、メタデータ木におけるオブジェクトノードのサイズは、そのオブジェクトが示すHTMLコンテンツのサイズとそのオブジェクトが含む画像のサイズの総和として記述される。
【0077】
続いて、実施の形態1におけるブラウジングシステムの動作について説明する。
先ず、実施の形態1におけるコンテンツ分配シーケンスについて説明する。
【0078】
図7に示されるように、予め、ユーザ管理部111は、イベント管理部121から送信されたユーザ情報を受信し、受信したユーザ情報を管理している(S101)。
【0079】
イベント管理部112は、クライアント102(イベント管理部121)から送信されたユーザの名前、ユーザのリスト、及びURLを受信すると(S102)、受信したユーザの名前とユーザのリストとをユーザ管理部111に渡し(S103)、受信したURLをメタデータ生成部113に渡す(S104)。
【0080】
ユーザ管理部111は、イベント管理部112から渡されたユーザの名前とユーザのリストとを受け取り、受け取ったユーザの名前とユーザのリストに基づいて、分配対象ユーザのユーザ情報を特定し、特定した分配対象ユーザのユーザ情報をイベント管理部112へ渡す(S105)。
【0081】
イベント管理部112は、ユーザ管理部111から渡された分配対象ユーザのユーザ情報を受け取り、受け取った分配対象ユーザのユーザ情報をコンテンツ分割部114に渡す(S106)。
【0082】
メタデータ生成部113は、イベント管理部112から渡されたURLを受け取り、受け取ったURLによって特定されるWebページを取得する(S107,S108)。そして、取得したWebページからメタデータ木とレイアウトデータとを生成し、取得したWebページ、及び生成したメタデータ木とレイアウトデータとをコンテンツ分割部114に渡す(S109)。
【0083】
コンテンツ分割部114は、イベント管理部112から渡されたユーザ情報を受け取り、メタデータ生成部113から渡されたWebページ、メタデータ木、及びレイアウトデータを受け取る。さらに、受け取ったユーザ情報に基づいて、受け取ったメタデータ木を分割する。このとき、各端末に、ディスプレイサイズに比例したコンテンツサイズを割り当てるように分割する。また、オブジェクトに画像、又は音声等が含まれる場合には、それらを実行可能な端末に割り当てるように分割する。そして、分割した結果(以下、分割結果と呼称する。)を各クライアントのページ管理部124へ送信する。このとき、ページの分割結果に対して全ての端末に共通なIDを設定し、設定したIDを分割結果と共に送信する(S110[a−c])。
【0084】
続いて、実施の形態1におけるメタデータ生成処理について説明する。
図8に示されるように、メタデータ生成部113は、最初に、Webページ全体を木のルートノードに設定し、カレントノードをルートノードに設定する(S111)。その後、カレントノードに対応するオブジェクトを複数のオブジェクトに分割し(S112)、オブジェクト毎に下記の処理を実行する(S113)。
【0085】
分割したオブジェクトを、カレントノードの子ノードに設定する(S114)。さらに、子ノードのオブジェクトを分割することができる場合には(S115:Yes)、カレントノードを子ノードに設定し(S116)、カレントノードに対応するオブジェクトを複数のオブジェクトに分割する(S112)。この処理は、カレントノードに対応するオブジェクトが分割可能な限り再帰的に繰り返される。
【0086】
具体的には、特定のHTMLタグを用いてカレントノードに対応するオブジェクトが分割できるか否かを判定する。判定した結果、カレントノードに対応するオブジェクトが特定のHTMLタグにより分割できる場合には、カレントノードに対応するオブジェクトのサイズを判定する。サイズが閾値以上である場合には、特定のHTMLタグを用いてオブジェクトを分割する。一方、サイズが閾値より小さい場合には、カレントノードがコンテンツ分割方式の制限に矛盾していないかを判定し、矛盾している場合には、矛盾が解消するまで、カレントノードを分割する。
【0087】
ここでは、閾値として、複数の端末のうち最も容量が小さい端末の容量の1/2の値を用いる。特定のHTMLタグとして、<p>、<ol>、<ul>、<hr>、連続する<br>、<table>等のタグを用いる。
【0088】
これ等のタグは、ページセグメントを行う際に、一般的に利用されるタグである。そして、オブジェクトに複数の<p>が存在する場合には、<p>に括られた部分を子ノードに設定する。<ol>または<ul>が存在する場合には、リスト中の各アイテムを子ノードに設定する。<hr>、又は連続する<br>が存在する場合には、それらのタグの前後の部分をそれぞれ子ノードに設定する。さらに、<table>が存在する場合には、テーブルの各セルを子ノードに設定する。
【0089】
以上の手順を経て、Webページから木構造を作成した後、葉ノード(オブジェクトノード)に、(a)ノード名、(b)ノードのサイズ、(c)実行に必要な機能等のメタデータを付加してメタデータ木を生成する。
【0090】
「ノード名」とは、ノード(オブジェクト)の最初に現れるタグ以外の文字列、または、<img>のalt属性の値をいう。
【0091】
「ノードのサイズ」とは、各ノードに対応するHTMLの部分テキストのバイトサイズをいう。なお、その部分テキストが<img>を含む場合には、対応する画像のバイトサイズもノードのサイズに加えられる。
【0092】
「実行に必要な機能」とは、オブジェクトノードに含まれるエレメントを処理する際に要する機能をいう。例えば、オブジェクトノードにエレメント<img>を含む場合には、エレメント<img>の画像のフォーマットを表示するための機能をいう。
【0093】
続いて、実施の形態1におけるブラウジング画面表示処理について説明する。
図9に示されるように、ブラウジング画面処理部123は、レイアウトデータ、及び分割結果からブラウジング画面表示用コンテンツを生成し、生成したブラウジング画面表示用コンテンツを表示する(S125)。このとき、オブジェクト毎に、下記(S122)〜(S124)の処理を実行する(S121)。
【0094】
ブラウジング画面処理部123は、自装置に割り当てられているオブジェクトの場合(S122:Yes)には、レイアウトデータの”node-content”タグを、対応するオブジェクトに置き換える(S123)。一方、他装置に割り当てられているオブジェクトの場合(S122:No)には、そのオブジェクトが割り当てられているユーザ名、又はそのオブジェクト名等を表示するオブジェクトの情報に置き換える(S124)。
【0095】
なお、レイアウトデータと分割結果から生成したページは、横幅が小さいディスプレイでの表示に適さない場合には、ブラウジング画面ではレイアウトデータの”table”タグを無視することにより、オブジェクトをシリアルに表示するとしてもよい。
【0096】
なお、クライアントのブラウジング画面では、レイアウトデータから”table”タグを取り除いた上で、オブジェクトが表すHTMLコンテンツをレイアウトデータに埋め込んでいる。一般に、携帯電話を用いたWebブラウジングではWebページの全ての”table”タグを取り除くことが多いため、元のページと全く異なるページが表示されるが、実装したブラウザではレイアウトデータの”table”タグのみを取り除いているため、元のページのオブジェクトをそのまま表示できる利点がある。
【0097】
続いて、実施の形態1におけるオーバービュー画面表示処理について説明する。
図10に示されるように、オーバービュー画面処理部124は、レイアウトデータ、及び分割結果から分割前のWebページのオーバービューを生成し、生成したオーバービューを表示する(S138)。このとき、オブジェクト毎に、下記(S132)〜(S137)の処理を実行する(S131)。
【0098】
オーバービュー画面処理部124は、オーバービュー画面に切り替える前にブラウジング画面で表示していたオブジェクトである場合(S132)には、眼のアイコンを設定する(S133)。オブジェクトにサイズの大きい画像を含む場合(S134)には、四角形のアイコンを設定する(S135)。オブジェクトが割り当てられているユーザ毎にオブジェクトの情報が表示される枠を色分けする(S136)。そして、詳細度に応じてオブジェクトの情報を設定する(S137)。
【0099】
続いて、リンク選択操作が行われた際のシステムの動作について説明する。
図11、図12に示されるように、クライアント102(kazu)は、ユーザ(kazu)がブラウジング画面においてリンク選択を選択すると(S11)、「リンク先コンテンツが分配されるユーザが全てのユーザか、指定したユーザのみか」をユーザ(kazu)に選択させるダイアログを表示する(S12)。そして、ユーザ(kazu)がダイアログにおいて「指定したユーザのみ」を選択すると(S13)、協調ブラウジングを行っているユーザの中からリンク先が分配されるユーザ({nao,taku})を受け付け(S14,S15)、リンク選択操作を行ったユーザの名前(kazu)、リンク先コンテンツが分配されるユーザのリスト({nao,taku})、及びリンク先コンテンツのURL(URL-A)をサーバ101へ送信する(S16)。
【0100】
サーバ101は、クライアント102(kazu)から送信されたユーザの名前(kazu)、ユーザのリスト({nao,taku})、及びURL(URL-A)を受信し、受信したURL(URL-A)からWebページを取得する。取得したWebページを分割した結果(分割結果)に対して全ての端末に共通なIDを設定し、設定したIDと分割結果をリンク選択操作の対象となるユーザのクライアントへ送信する(S19[a−c])。
【0101】
クライアント102は、サーバ101から送信された分割結果、及びID(1224)を受信すると、受信した分割結果を表示する(S20)。
【0102】
他のクライアント102は、サーバ101から送信された分割結果、及びIDを受信すると、受信した分割結果を「ブラウジング画面に今すぐ表示するか、後で表示するか」をユーザ({nao,taku})に選択させるダイアログを表示する。そして、ユーザ(taku)がダイアログにおいて「今すぐ表示する」を選択すると(S21b)、分割結果を他のクライアント102(taku)へ表示する。一方、ユーザ(nao)がダイアログにおいて「後で表示する」を選択すると(S22c)、ユーザ(nao)が任意の時に表示するまで、分割結果が表示されない。
【0103】
また、クライアント102は、ユーザがブラウジング画面においてリンク選択を選択すると(S31)、「リンク先コンテンツが分配されるユーザが全てのユーザか、指定したユーザのみか」をユーザに選択させるダイアログを表示する(S32)。そして、ユーザがダイアログにおいて「全てのユーザ」を選択すると(S33)、リンク選択操作を行ったユーザの名前、リンク先コンテンツが分配されるユーザのリスト、及びリンク先コンテンツのURLをサーバ101へ送信する(S34)。
【0104】
サーバ101は、クライアント102から送信されたユーザの名前、ユーザのリスト、及びURLを受信し、受信したURLからWebページを取得する(S35,S36)。取得したWebページを分割した結果(分割結果)に対して全ての端末に共通なIDを設定し、設定したID、及び分割結果をリンク選択操作の対象となるユーザのクライアントへ送信する(S37[b,c,d])。
【0105】
クライアント102は、サーバ101から送信された分割結果、及びIDを受信すると、受信した分割結果を表示する(S38)。
【0106】
他のクライアント102は、サーバ101から送信された分割結果、及びIDを受信すると、受信した分割結果を「ブラウジング画面に今すぐ表示するか、後で表示するか」をユーザ({taku,nao,tomo})に選択させるダイアログを表示する(S39[b−d])。そして、ユーザ({taku,nao})がダイアログにおいて「今すぐ表示する」を選択すると(S40[b,c])、分割結果を他のクライアント102({taku,nao)へ表示する。一方、ユーザ(tomo)がダイアログにおいて「後で表示する」を選択すると(S40d)、ユーザ(tomo)が任意の時に表示するまで、分割結果が表示されない。
【0107】
なお、ブラウジングシステム100では、ユーザがリンク先のコンテンツを分配するユーザを選択することができるため、例えばブラウジングの途中で目的とする情報がどのリンク先にあるか見当が付かなくなった場合、6人のユーザが3人と3人の二手に分かれて違うリンク先を検索すること等ができるとしてもよい。
【0108】
次に、バック操作が行われた際のシステムの動作について説明する。
図13に示されるように、クライアント102(kazu)は、ユーザ(kazu)がブラウジング画面においてバックを選択すると(S51)、「バック先コンテンツをキャッシュに保持している全ての端末で同期させるか否か」をユーザ(kazu)に選択させるダイアログを表示する(S52)。そして、ユーザ(kazu)がダイアログにおいて「同期させない」を選択すると(S53)、バック先コンテンツ(1225)を自装置のみ表示する(S54)。
【0109】
クライアント102(kazu)は、ユーザ(kazu)がブラウジング画面においてバックを選択すると(S55)、「バック先のページをキャッシュに保持している全ての端末で同期させるか否か」をユーザ(kazu)に選択させるダイアログを表示する(S56)。そして、ユーザ(kazu)がダイアログにおいて「同期させる」を選択すると(S57)、バック操作を行ったユーザの名前(kazu)とバック先のページのID(1224)とをサーバ101へ送信する(S58)。また、バック先コンテンツを表示する(S59)。
【0110】
サーバ101は、クライアント102(kazu)から送信されたユーザの名前(kazu)、及びバック先コンテンツのID(1224)を受信し、受信したバック先コンテンツのID(1224)をバック操作の対象となるユーザ({nao,taku})へ送信する(S60[a,b])。
【0111】
他のクライアント102({nao,taku})は、サーバ101から送信されたバック先のページのID(1224)を受信すると、受信したバック先コンテンツのID(1224)に対応する分割結果を「ブラウジング画面に今すぐ表示するか、後で表示するか」をユーザ({nao,taku})に選択させるダイアログを、バック操作を行ったユーザの名前(kazu)と一緒に表示する(S61[a,b])。そして、ユーザ(taku)がダイアログにおいて「後で表示する」を選択すると(S62a)、ユーザ(taku)が任意の時に表示するまで、バック先コンテンツが表示されない。一方、ユーザ(nao)がダイアログにおいて「今すぐ表示する」を選択すると(S62b)、バック先コンテンツを他のクライアント102(nao)表示する(S63b)。
【0112】
なお、ブラウザのフォワード操作もバック操作と同様に行う。
以上のように、実現したシステムでは分割結果ごとにIDを設定しているため、他のユーザが異なるページを閲覧している場合でも、バック、フォワード操作を同期して行える。ここで、ブラウジングシステムでは、URLは同じで分割結果が異なるキャッシュが存在する場合があるため、URLではなく分割結果に対して識別子(ID)を付与する。
【0113】
続いて、実施の形態1におけるブラウジング画面の表示例を参照しながら、ブラウジング画面処理部について説明する。ここでは、2台のPDAと1台の携帯電話で協調ブラウジングを行っている場合を例に説明する。
【0114】
図14に示されるように、ブラウジング画面例180では、それぞれのオブジェクトを矩形領域で囲むことにより、オブジェクト同士の境界を明確にしている。さらに、自装置に割り当てられているオブジェクトの場合には、矩形上部にオブジェクト名が示され、他装置に割り当てられているオブジェクトの場合には、オブジェクト名とそのオブジェクトが割り当てられているユーザ名とが矩形領域内に示されている。各オブジェクト、及びオブジェクトの情報を囲う矩形は、オブジェクトが割り当てられているユーザ毎に色分けされている。
【0115】
例えば、ユーザ”nao”のPDAに表示されているブラウジング画面181aに示されるように、ユーザ”kazu”のPDAに表示されているブラウジング画面181bには、ユーザ”nao”に割り当てられているオブジェクト”Categories”を示す矩形が表示され、その下には、自装置に割り当てられているオブジェクト”travel”と”Tools”が表示されている。そして、ユーザ”kazu”がオブジェクト”Categories”を閲覧したい場合には、ブラウジング画面181bからオブジェクト”Categories”がユーザ”nao”に割り当てられていることが示されているため、ユーザ”nao”に見せてもらえればよいことになる。このように、自装置以外に割り当てられたオブジェクトが誰に割り当てられているかを簡単に特定することができる。なお、ユーザ”taku”のPDAに表示されているブラウジング画面181cにも、ユーザ”nao”に割り当てられているオブジェクト”Categories”を示す矩形が表示されている。
【0116】
また、ユーザがブラウジング画面で行える操作は、下記(1)〜(6)の操作である。
(1)リンク選択
ブラウジング画面に表示しているコンテンツ上のリンクを選択すると、リンク先のコンテンツをそれぞれの端末に分配する。このとき、リンク先のコンテンツを分配するユーザを選択できる。
【0117】
(2)バック
直前に閲覧していたコンテンツを表示する。他の端末でも同期して同様の動作を行うかを選択できる。
【0118】
(3)フォワード
バック操作を行った後に、バック操作の前に閲覧していたコンテンツを表示する。他の端末でも同期して同様の動作を行うかを選択できる。
【0119】
(4)オーバービュー表示
現在表示しているブラウジング画面表示用コンテンツが属するコンテンツのオーバービューを表示する。
【0120】
(5)イベント表示
クライアント102のイベント管理部121が管理している操作情報の履歴リストを表示する(図15(a)参照。)。このとき、例えば、ブラウジング画面185に示されるように、ユーザは、リストからイベントを選択することにより、任意にそのイベントを実行することができる。未実行のイベントには、イベント名の前に`!'を付加して表示されている。また、イベントを再実行する際には、ユーザは、他装置でも同様のイベントを実行させるかを選択する。ユーザがこのイベントを選択すると、ブラウジング画面に対応するコンテンツが表示される。
【0121】
(6)画像分割表示
夫々の端末のディスプレイサイズ、及び並び方に応じて、画像を分割する(図15(b)参照。)。モバイル端末は、ディスプレイサイズの制限からページ上の大きな画像を大きなサイズで表示することができない。しかし、これにより、例えば、端末186と端末187とのように、複数の端末の画面を寄せ集め、仮想的に大きなディスプレイを形成し、大きな画像を表示することができる。具体的には、端末の画面を結合して生成される仮想的な画面の全てのパターンから、表示する画像の形に最も近いものを選択する。このとき、左右に並んでいる端末を例にすると、各端末を結合した際の画面の並びが端末の並びと一致するようなパターンを優先して予めユーザによって選択しておく。
【0122】
続いて、実施の形態1におけるオーバービュー画面の表示例を参照しながら、オーバービュー画面処理部について説明する。
【0123】
図16に示されるように、オーバービュー画面処理部124は、レイアウトデータ、及び分割結果から分割前のページのオーバービュー画面を構成して表示する。なお、オーバービュー画面では、オーバービュー画面例190に示されるように、オーバービューの詳細度を4段階でユーザが任意に切り替えることができる。
【0124】
図16(a)では、オーバービュー画面191aに示されるように、ページの概要レイアウトのみが表示されている。ページを構成するオブジェクトは、そのオブジェクトが割り当てられているユーザ毎に色分けした枠で表されている。また、枠内にはオブジェクトの情報が示されている。
【0125】
さらに、枠内の四角形のアイコンは、そのオブジェクトが所定のサイズより大きい画像を含むことを示し、眼のアイコンは、オーバービュー画面に切り替える前にブラウジング画面で表示されていたオブジェクトを示す。
【0126】
また、枠内の’+’と’−’の記号は、夫々、自装置に割り当てられているオブジェクトと他装置に割り当てられているオブジェクトとを示す。さらに、これらの記号は、そのオブジェクトとリンクされている。
【0127】
例えば、オーバービュー画面処理部124は、’+’の記号が選択されると、オーバービュー画面からブラウジング画面に切り替える。一方、’−’の記号が選択されると、「対応するオブジェクトを今すぐ表示するか否か」を選択させるダイアログを、その他装置の画面に表示させる。さらに、「表示する」が選択されると、他装置において、通常のブラウジング画面に切り替える。そして、ブラウジング画面処理部123は、対応するオブジェクトまでスクロールして表示する。
【0128】
さらに、詳細度を大きくすると、図16(b)では、オーバービュー画面191bに示されるように、オブジェクト名が表示されており、図16(c)では、オーバービュー画面191cに示されるように、オブジェクトが割り当てられているユーザ名も表示されている。図16(d)では、オーバービュー画面191dに示されるように、オブジェクトの情報の後に、そのオブジェクトと関連しており、他装置に割り当てられているオブジェクトの情報が表示されている。ここでは、関連するオブジェクトとしては、メタデータ木において同じ親をもつ兄弟オブジェクトノード同士とする。
【0129】
そして、ユーザは、以上のような機能を用いて特定のオブジェクトを画面上に表示し、各端末に表示しているオブジェクト同士を比較しながら閲覧することができる。
【0130】
なお、オーバービュー画面では、自装置に割り当てられていないオブジェクトを受信して表示するとしてもよい。ただし、そのオブジェクトの実行に必要な機能をもたない端末には表示できない。
【0131】
続いて、協調ブラウジングの利用例を、コンテンツの特性ごとに説明する。
(1)関連性のないオブジェクト集合から構成されるコンテンツ
ポータルサイトのトップコンテンツのように、ニュースや検索フォームなどの互いに関連性のないオブジェクトから構成されるコンテンツを閲覧する場合には、各ユーザは、ブラウジング画面にシリアルに表示されたオブジェクトから目的とする情報を、夫々、並列に探す。ただし、1つの端末に割り当てられるオブジェクト数が多い場合には、オーバービュー画面のオブジェクト名から目的とする情報を探す方が早い場合がある。また、ブラウジング画面閲覧中に、目的とするオブジェクトが他の端末に割り当てられていることが分かる場合がある。この場合には、割り当てられているユーザに口頭で伝え、オーバービューを用いて割り当てられているユーザのブラウジング画面に表示させる。
【0132】
(2)閲覧順序が決まっているオブジェクト集合から構成されるコンテンツ
ニュースサイトや日記のコンテンツのように、文章の段落や文章中の挿絵といった、閲覧順序が決まっているオブジェクトから構成されるコンテンツを閲覧する場合には、常に1つの端末のオーバービュー画面を表示させておき、そのオーバービューのみでコンテンツのスクロールを行うことが有効である。例えば、オーバービューを表示しているユーザは、始めに閲覧するオブジェクトを示すリンクを選択する。すると、そのオブジェクトが割り当てられているユーザの画面にそのオブジェクトが表示される。そのオブジェクトの閲覧が終わると、次に閲覧するオブジェクトを、オーバービューを表示しているユーザが同様に選択する。この手順を繰り返すことによって閲覧順序のあるコンテンツを閲覧する。
【0133】
(3)関連性のあるオブジェクト集合から構成されるコンテンツ
ある会社の株価情報のコンテンツや、あるレストランの紹介のコンテンツのように、レストランの外観、位置情報といった閲覧順序はないが関連性のあるオブジェクトから構成されるコンテンツを閲覧する場合、閲覧の目的によってブラウジング方法は異なる。そのコンテンツからある1つの情報のみを探す場合には、ポータルサイトのトップなどと同様に閲覧する。そのコンテンツの全ての情報から1つのレストランを選択する場合などは、各ユーザが自装置に表示されるブラウジング画面を一通り閲覧した後、互いの画面を見せながら相談して決定する。
【0134】
以上説明したように実施の形態1におけるブラウジングシステムによれば、サーバは、HTML形式のWebページを再帰的にセグメント化することにより、木構造のメタデータを自動的に生成することができる。さらに、ユーザ情報に基づいて、その木を分割することにより、モバイル端末のようなクライアントに最適化されたHTMLコンテンツ(部分ページ)にWebページを分割することができる。また、クライアントは、1つのモバイル端末だけでは閲覧できない情報量の多いWebページを、クライアントに最適化された部分ページ単位で閲覧することができる。また、ユーザは、分割した部分ページを互いに近くにいる複数のユーザに割り当て、他のクライアントと協調して表示することにより、通常のデスクトップPC向けに生成されたWebページを、複数のクライアントを用いて閲覧することができる。そして、それぞれのクライアントに表示された部分ページを互いに見ながら、相談して目的とする情報を検索、閲覧することができる。
【0135】
また、オーバービュー画面を用いて分割前の大まかな構造を把握することができる。さらに、それぞれのブラウザのバックおよびフォワード操作を同期させることにより、ユーザ同士が混乱せず同じページを閲覧することができる。
【0136】
また、ブラウジングシステムで用いているオーバービューは、サマリーとしてオブジェクトの名前を表示する上、分割前のページのレイアウトでオブジェクトを表示する。したがって、ユーザは元の構造を容易に想像することができる。また、他のクライアントのブラウジング画面を横に並べて閲覧することで、オブジェクトの内容も容易に把握できる。さらに、Webページのサマリーを文字列で表示すれば、ユーザは小さい画面でもWebページの内容を把握できる。
【0137】
また、バック操作を同期させるか否かの選択、及びバック先コンテンツを表示するか否かの選択ができることにより、ユーザ同士のコミュニケーションを併せて用いることによって、二手に分かれて協調ブラウジングを行う際のユーザの協調動作を支援できる。例えば、他のグループが目的の情報を見つけられずにバック操作を行ったとする。自身のグループも目的の情報を見つけられそうにない場合、同時にバック先に戻り、グループ同士で協力して新しく探索を始めることができる。逆に、目的の情報をそのままもう少し探したい場合は、後でそのバック先に戻ることもできる。また、フォワード操作に関しても同様である。
【0138】
(実施の形態2)
次に、本発明に係る実施の形態2について説明する。
【0139】
本発明に係る実施の形態2におけるブラウジングシステムは、オブジェクト毎のスクリーンショット画像を使用して、イメージベースのオーバービュー画面を構成して表示することを特徴とする。
【0140】
以上の点を踏まえて実施の形態2におけるブラウジングシステムについて説明する。なお、実施の形態1における構成要素と同一の構成要素については、同一の符号を付して説明を省略する。
【0141】
先ず、実施の形態2におけるブラウジングシステムについて説明する。
図17に示されるように、ブラウジングシステム200は、ブラウジングシステム100と比べて、サーバ101、及びクライアント102の代わりに、サーバ201、及びクライアント202を備える点が異なる。
【0142】
サーバ201は、サーバ101と比べて、下記(1)、(2)の点が異なる。
(1)コンテンツ分割部114の代わり、にコンテンツ分割部214を備える。
【0143】
コンテンツ分割部214は、分割結果に基づいて、スクリーンショット画像生成部215において生成されたスクリーンショット画像、分割結果、及びレイアウトデータをクライアントへ送信する。
【0144】
(2)新たにスクリーンショット生成部215を備える。
スクリーンショット生成部215は、コンテンツ分割部214から渡された分割結果に基づいて、各オブジェクト毎にスクリーンショット画像を生成し、生成したスクリーンショット画像をコンテンツ分割部214に渡す。
【0145】
クライアント202は、クライアント102と比べて、オーバービュー画面処理部124の代わりに、オーバービュー画面処理部224を備える点が異なる。
【0146】
オーバービュー画面処理部224は、レイアウトデータ、スクリーンショット画像、及び分割結果から分割前のコンテンツのオーバービュー画面を構成して表示する。
【0147】
続いて、実施の形態2におけるブラウジングシステムの動作について説明する。
なお、実施の形態1における動作手順と同一の動作手順については、同一の符号を付して説明を省略する。
【0148】
先ず、実施の形態2におけるコンテンツ分配シーケンスについて説明する。
図18に示されるように、コンテンツ分割部214は、分割結果をスクリーンショット生成部215に渡す(S201)。
【0149】
スクリーンショット生成部215は、コンテンツ分割部214から渡された分割結果を受け取り、受け取った分割結果に基づいて、オブジェクト毎に、スクリーンショット画像を生成する。そして、生成したスクリーンショット画像をコンテンツ分割部214に渡す(S202)。
【0150】
コンテンツ分割部214は、スクリーンショット生成部215から渡されたスクリーンショット画像を受け取り、受け取ったスクリーンショット画像、分割結果を各クライアントのページ管理部124へ送信する。このとき、Webページの分割結果に対して全ての端末に共通なIDを設定し、設定したIDを分割結果と共に送信する(S203[a−c])。
【0151】
続いて、実施の形態2におけるオーバービュー画面表示処理について説明する。
図19に示されるように、オーバービュー画面処理部214は、オブジェクトに対応するスクリーンショット画像を設定し(S231)、オブジェクトが割り当てられているユーザ毎にオブジェクトの情報が表示される枠を色分けする(S136)。そして、詳細度に応じてオブジェクトの情報を設定する(S137)。
【0152】
続いて、実施の形態2におけるオーバービュー画面の表示例を参照しながら、オーバービュー画面処理部について説明する。
【0153】
図20に示されるように、オーバービュー画面処理部224は、レイアウトデータ、スクリーンショット画像、及び分割結果から分割前のコンテンツのオーバービュー画面を構成して表示する。なお、オーバービュー画面例290では、オーバービューの詳細度を3段階でユーザが任意に切り替えることができる。
【0154】
図20(a)では、オーバービュー画面291aに示されるように、ユーザ毎に色分けした枠内に、各オブジェクトのスクリーンショット画像のみが表示されている。図20(b)では、オーバービュー画面291bに示されるように、スクリーンショット画像の下にオブジェクト名が表示されており、図20(c)では、オーバービュー画面291cに示されるように、オブジェクトが割り当てられているユーザ名も表示されている。また、オブジェクトを表すスクリーンショット画像は、そのオブジェクトとリンクされている。
【0155】
さらに、オーバービュー画面処理部224は、スクリーンショット画像が選択されると、選択されたスクリーンショット画像が自装置に割り当てられているオブジェクトに対するものである場合には、オーバービュー画面から通常のブラウジング画面に切り替える。一方、選択されたスクリーンショット画像が他装置に割り当てられているオブジェクトに対するものである場合には、「対応するオブジェクトを今すぐ表示するか否か」を選択させるダイアログを、その他装置の画面に表示させる。さらに、「表示する」が選択された場合には、他装置において、通常のブラウジング画面に切り替える。そして、ブラウジング画面処理部123は、対応するオブジェクトまでスクロールして表示する。
【0156】
さらに、眼のアイコンは、オーバービュー画面に切り替える前にブラウジング画面で表示されていたオブジェクトを示す。
【0157】
そして、ユーザは、以上のような機能を用いて特定のオブジェクトを画面上に表示し、各端末に表示しているオブジェクト同士を比較しながら閲覧することができる。
【0158】
以上説明したように実施の形態2におけるブラウジングシステムによれば、クライアントで、サーバが生成したオブジェクト毎のスクリーンショット画像を用いて、イメージベースのオーバービューを構成して表示することができる。
【0159】
(その他)
なお、オブジェクトのサイズをそのオブジェクトに対応する部分HTMLテキストのバイトサイズ、及びオブジェクトが含む画像のバイトサイズの合計とし、そのサイズを超えないようにセグメント化する代わりに、オブジェクトがブラウザに表示される範囲の大きさを基準に、Webページをセグメント化するとしてもよい。
【0160】
なお、複数のコンテンツを1つの木とするメタデータ木を生成するとしてもよい。
なお、1つの木をメタデータとして持つ1つのWebページを分割して、複数の携帯端末に割り当てる代わりに、そのコンテンツのリンク先も含む木を生成し、その木を分割するとしてもよい。これにより、ユーザはリンク先の情報を早く見つけることができる。
【0161】
また、リンク元およびリンク先のコンテンツサイズによっては、モバイル端末での閲覧に不都合が生じる場合には、リンク先のコンテンツ全てを木に含めるのではなく、リンク先のコンテンツの重要な部分のみを木に含めるとしてもよい。目的とする情報が存在するリンク先以外のコンテンツも端末に配布されるためである。
【0162】
なお、オブジェクトのサイズをそのオブジェクトに対応する部分ページのバイトサイズおよびオブジェクトが含む画像のバイトサイズの合計とし、そのサイズを超えないようにセグメント化する代わりに、オブジェクトがブラウザに表示される範囲の大きさを基準に、Webページをセグメント化するとしてもよい。これによって、例えば、長文のみを含むオブジェクトは、画像のみを含むオブジェクトに比べてブラウザに表示される範囲が大きいため、閲覧やスクロールに大きな時間がかかるという問題を解決することができる。
【0163】
なお、レイアウトデータは、HTMLファイルに独自のタグを埋め込んで記述している。システムでは、コンテンツの分割結果をXML形式でやりとりするため、レイアウトデータをXSL(eXtensible Stylesheet Language)スタイルシートで記述するとしてもよい、なお、協調ブラウジングでは、分割結果からブラウジング画面や4段階の詳細度をもつオーバービューを生成するため、それぞれの画面に対するスタイルシートを用意するとしてもよい。
【0164】
なお、一つの装置が他の装置と連携して一つのコンテンツを再生するとしてもよい。例えば、携帯電話がデジタルテレビと連携して一つの音声・映像コンテンツを再生するとしてもよい。
【0165】
具体的には、ユーザ”taku”が使用する携帯電話に伝送されてきた音声・映像コンテンツのうち、音声は、携帯電話で再生し、映像は、最寄のデジタルテレビで再生するとしてもよい。
【0166】
ここで、携帯電話、及びデジタルテレビの夫々は、Bluetooth機能を搭載しており、互いに所定の距離に近づくと、機器を検出し、データ通信が可能となる。
【0167】
このとき、携帯電話は、デジタルテレビの固有情報を取得し、取得した固有情報をブラウジングシステムのサーバに登録する。また、携帯電話がデジタルテレビの固有情報を取得する代わりに、デジタルテレビが携帯電話の固有情報を取得し、取得した固有情報をブラウジングシステムのサーバに登録するとしてもよい。そして、複数の装置間で協調して表示するように、サーバで音声を携帯に、映像をデジタルテレビに分配して、携帯とデジタルテレビとが連携して一つのコンテンツを再生する。
【0168】
また、これ以外にも、協調する装置の情報を付加してサーバにログインすることによって、協調する装置をサーバに知らせるとしてもよい。例えば、携帯電話上でデジタルテレビの固有情報(例えば、URL等。)を入力し、サーバにログインすることによって、デジタルテレビと協調することをサーバに通知するとしてもよい。これによって、Bluetooth等の特別な機能を要さなくとも、インターネットアクセス機能をもつ携帯電話で他の装置と協調することができる。
【0169】
なお、伝送速度に応じて、コンテンツを分割するとしてもよい。
なお、一つのコンテンツを一つの装置に最適化した部分コンテンツに分割して、オーバービュー画面を参照しながら、その装置だけで表示するとしてもよい。
【0170】
なお、サーバは、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、HD(Hard Disk)等を有する。さらに、HDには、OS(Operating System)とOSの稼動下で実行されるアプリケーションプログラムがインストールされている。そして、アプリケーションプログラムが実行されることによって、ブラウジングシステムにおけるサーバとしての各機能が実現される。
【0171】
また、クライアントは、CPU、RAM、ROM等を有する。さらに、ROMには、OSとOSの稼動下で実行されるアプリケーションプログラムがインストールされている。そして、アプリケーションプログラムが実行されることによって、ブラウジングシステム100におけるクライアントとしての各機能が実現される。
【0172】
また、サーバにおいて実行されてブラウジングシステムにおけるサーバとしての各機能を実現するアプリケーションプログラムをサーバプログラムとし、クライアントにおいて実行されてブラウジングシステムにおけるクライアントとしての各機能を実現するアプリケーションプログラムをクライアントプログラムとした場合において、サーバプログラム、及びクライアントプログラムの夫々は、コンピュータシステム、組み込みシステム等のようなハードウェアシステムに読み出され得るように、光学記録媒体(例えば、CD−ROM等。)、磁気記録媒体(例えば、ハードディスク等。)、光磁気記録媒体(例えば、MO等。)、半導体メモリ(例えば、メモリカード等。)等のようなコンピュータ読み取り可能な記録媒体に記録しておくとしてもよい。そして、これ等の記録媒体を介して、他のハードウェアシステムにおいて実行されるとしてもよい。
【0173】
また、ネットワーク上のハードウェアシステムに記録再生装置制御プログラムを保持しておき、ネットワークを介して記録再生装置制御プログラムをダウンロードした他のハードウェアシステムにおいて実行されるとしてもよい。
【0174】
(付録)
以下、ブラウジングシステムにおいて用いられるコンテンツ記述方式、及びコンテンツ分割方式の詳細について説明する。
【0175】
ブラウジングシステムにおいては、協調ブラウジングにおける柔軟なコンテンツ分割を実現するために、コンテンツ記述方式と分割方式を用いている。コンテンツ記述方式では、コンテンツのメタデータを木構造で記述する。具体的には、コンテンツを構成する最小単位であるオブジェクトを木構造の葉ノード(オブジェクトノード)とし、関連性のあるオブジェクトノード同士を葉ノード以外のノード(分類ノード)で階層的に分類する。また葉ノードに、その葉ノードが表すオブジェクトのデータサイズや、オブジェクトの実行に必要なモバイル端末の機能などの属性を付加する。コンテンツ分割方式では、記述方式で記述されたメタデータ木を完全グラフに変換することによりグラフ分割問題(例えば、参考文献1、参考文献2参照。)に帰着させ、端末の数や性能などの条件に応じてコンテンツを分割する。
【0176】
[参考文献1]
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.
[参考文献2]
C.M. Fiduccia and R.M. Mattheyes,
"A linear time heuristic for improving network partitioning,"
Proc. Design Automation Conference, pp. 175--181, June 1982.
先ず、協調ブラウジングを実現するためのコンテンツの記述方式について説明する。
【0177】
コンテンツ記述方式では、コンテンツのメタデータをXML形式の木構造で記述する。このコンテンツ構造において、葉ノード(以下、オブジェクトノードと呼称する。)は、コンテンツを構成する最小単位であるオブジェクトもしくはオブジェクト集合を表す。葉ノード以外のノード(以下、分類ノードと呼称する。)は、オブジェクトノードを階層的にグループ化するものであり、コンテンツの分割に利用する。
【0178】
オブジェクトノードは、例えば、1つの画像ファイルである場合や、互いに関連性のある画像や文字列などのオブジェクト集合である場合等が考えられる。
【0179】
また、コンテンツ記述方式では、関連性のあるオブジェクト同士のグループ化を実現するために、コンテンツ構造の各枝に重みを与え、2つのオブジェクトノードを結ぶパスの重みが小さいほど、その関連性が大きいと定義する。例えば、図3のコンテンツ構造の場合には、ノードDとEのパスの距離は2、ノードDとGのパスの距離は4となるため、ノードDはノードGよりノードEとの関連性が大きい。しかし、この方法のみでは兄弟ノードをすべて対等に扱うため、兄弟ノードの並びの順番による関連性を定義することができない。
【0180】
例えば、兄弟ノードの並びを考慮しない場合には、オブジェクトノード間のパスの距離はすべて2となり、兄弟ノードの並びを考慮できない。そこで、兄弟ノードの並びを考慮し、ノードDとEおよびノードEとFの距離が2であるのに対し、ノードDとFの距離を、ノードDとEの距離およびノードEとFの距離の和である4と定義する。このように、兄弟ノード間の距離を隣接ノード間の距離の総和として求めることにより、兄弟ノードの並びを考慮した関連性を定義する。
【0181】
コンテンツ記述方式では、オブジェクトノードに以下(1)〜(4)に示す属性を付加する。
【0182】
(1)オブジェクトの量
実際のオブジェクト(集合)のデータサイズなど、オブジェクト(集合)の量の指標となるものを表す。この値はオブジェクトノード自体の重みと対応付ける。
【0183】
(2)実行に必要な端末の機能
オブジェクト(集合)を実行するために、端末に必要となる機能を表す。
【0184】
(3)オブジェクトの配布方法
オブジェクト(集合)を1つの端末のみに配布するか、すべての端末に配布するかを表す。
【0185】
(4)オブジェクトの性質
オブジェクト(集合)の性質を特記する。この性質はアプリケーションごとに定義方法を変更できる。
【0186】
例えば、協調ブラウジング特有の分割条件では、オブジェクトがもつ個人化情報を指定するために用いる。
【0187】
オブジェクトノードの属性は、コンテンツ分割に必要なものであるが、協調ブラウジングのためのコンテンツ記述方式としては、オブジェクトノード間の提示の同期を指定する機能も必要となる。
【0188】
そこで、コンテンツ記述方式では、別のユーザの端末に割り当てられたコンテンツとのインタラクションを実現させるために、オブジェクト同士の同期方法を定義する。具体的には、オブジェクトノードの属性として、同期しているオブジェクトノード、および、そのオブジェクトノードとの同期関係について記述する。この同期関係には、そのオブジェクトノードのイベントが起因となって、同期しているオブジェクトノードに影響を及ぼす関係(能動)、同期しているオブジェクトノードのイベントが起因となって、そのオブジェクトノードに影響を及ぼす関係(受動)、または、それらのノードが相互に影響を及ぼす関係(相互)がある。この関係を設定しておくことにより、それらのオブジェクトノードが別々の携帯端末に分配された場合においても、それらの関係を保ったまま、インタラクションのあるコンテンツ提示を行うことができる。
【0189】
協調ブラウジングのために必要な機能として、コンテンツ同期の他にも、実行順序(プレゼンテーション)の制御があげられる。
【0190】
そこで、コンテンツ記述方式では、各携帯端末に割り当てたオブジェクト(集合)の実行順序を考慮するアプリケーションを実現するために、オブジェクトの実行時刻と実行期間を定義する。
【0191】
例えば、スライドショーなどの時間軸に沿って実行されるコンテンツの閲覧を行うアプリケーションにおいて、オブジェクトを携帯端末上で実行する時刻とその期間をオブジェクトノードの属性として設定する。また、実行期間に重なりがあるオブジェクト同士が1つの携帯端末に割り当てられた場合には、重要なオブジェクトを優先して実行するために、実行の優先度をオブジェクトノードの属性として設定する。
【0192】
図21に示されるように、コンテンツ記述方式では、コンテンツのメタデータをXML形式で記述する。ここでは、図3に示される構造を持つコンテンツのメタデータの記述を例に、記述に用いる各タグについて説明する。
【0193】
[nodeタグ]
コンテンツ構造のノードを表し、入れ子構造にすることにより、階層的なコンテンツ構造を表現する。また、以下(1)〜(7)の属性を設定できる。
【0194】
(1)type
ノードが、分類ノード(”grouping”)かオブジェクトノード(”object”)かを設定する。
【0195】
(2)name
ノードの名前を設定する。
【0196】
(3)weight
ノードがオブジェクトノード(type=”object”)の場合には、そのオブジェクト量を設定する。設定がない場合には、`1´となる。
【0197】
(4)edge_weight
ノードとその親ノードとの間を結ぶ枝の重みを設定する。設定がない場合には、`1´
となる。
【0198】
(5)child_location
ノードが分類ノード(type=”grouping”)の場合には、ノードの子ノード間の位置関係を設定する。この値が”true”の場合には、子ノードの位置関係は記述されている順に設定されるが、”false”の場合には、子ノードの位置関係はすべて対等となる。設定がない場合には、”false”となる。
【0199】
(6)id
ノードの識別子を指定する。識別子は計算機がオブジェクトを識別する必要がある場合に用いる。
【0200】
(7)priority
ノードがオブジェクトノード(type=”object”)の場合には、そのオブジェクトの実行における優先度を設定する。
【0201】
[locatorタグ]
ノードがオブジェクトノード(type=”object”)の場合には、そのnodeタグ内に定義する。そのnodeタグが表すオブジェクトのファイル名やファイル中のどの部分であるかなどを記述する。
【0202】
[functionタグ]
ノードがオブジェクトノード(type=”object”)の場合には、そのnodeタグ内に定義する。オブジェクトの実行に必要な機能を数字として記述する。設定がない場合には、`0´となる。これにより、そのnodeタグが表すオブジェクトはその機
能を持つ端末にしか配布されない。
【0203】
[broadcastタグ]
ノードがオブジェクトノード(type=”object”)の場合には、そのnodeタグ内に定義する。
そのnodeタグが表すオブジェクトを、その機能をもつ機器すべてに配信する。
【0204】
[classタグ]
ノードがオブジェクトノード(type=”object”)の場合には、そのnodeタグ内に定義する。そのノードの表すオブジェクトの性質を特記する。性質は、計算機がそのオブジェクトの簡単な分類を知る必要がある場合に用い、アプリケーションごとに定義方法を変更できる。また、以下(1)の属性を指定できる。
【0205】
(1)name
ノードがもつ性質の名前を設定する。
【0206】
[synchroタグ]
ノードがオブジェクトノード(type=”object”)の場合には、そのnodeタグ内に定義する。そのノードと同期しているノードとの関係を設定する。以下(1)の属性を指定できる。
【0207】
(1)relation
同期しているオブジェクトとの関係を、能動(”active”)、受動(”passive”)、または相互(”mutual”)から選択する。
【0208】
[scheduleタグ]
ノードがオブジェクトノード(type=”object”)の場合には、そのnodeタグ内に定義する。そのnodeタグが表すオブジェクトの実行スケジュールを設定する。また、以下(1)、(2)の属性を指定できる。
【0209】
(1)start
ノードが表すオブジェクトの実行開始時刻を設定する。
【0210】
(2)length
ノードが表すオブジェクトの実行期間を設定する。
【0211】
コンテンツの分割方式では、メタデータの木を完全グラフに変換し、そのグラフを分割することによりコンテンツ分割を実現する。ここで、グラフ分割の問題は、VLSI設計やプログラムのセグメント化などの分野でよく用いられ、NP−完全問題として知られている。グラフ分割問題を解くための有名な発見的アルゴリズムとしては、KernighanらによるKLアルゴリズム(参考文献1参照。)や、KLアルゴリズムを基にしたFiducciaらによるネットワーク分割問題を解くためのFMアルゴリズム(参考文献2参照。)がある。また、これらの発見的アルゴリズムは、グラフの2分割問題だけでなく、グラフをそれ以上のグループにクラスタリングするアルゴリズムにも簡単に拡張することができる。例えば、SuarisらによるFMアルゴリズムに基づくネットワーク4分割アルゴリズム(参考文献3、参考文献4参照。)や、SanchisによるFMアルゴリズムに基づく複数分割アルゴリズム(参考文献5、参考文献6参照。)がある。
【0212】
ここでは、コンテンツの分割方式は、FMアルゴリズムを拡張したものである。
[参考文献3]
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).
[参考文献4]
P.R. Suaris, and G.Kedem,
"Standard cell placement by quadrisection,"
Proc. International Conference on Computer-Aided Design, pp. 612--615 (1987).
[参考文献5]
L.A. Sanchis,
"Multiple-way network partitioning,"
IEEE Transactions on Computers, vol. 38, no. 1, pp. 62--81 (1989).
[参考文献6]
L.A. Sanchis,
"Multiple-way network partitioning with different cost functions,"
IEEE Transactions on Computers, vol. 42, no. 12, pp. 1500--1504 (1993).
コンテンツの分割は、メタデータの木をもとに作成した完全グラフを対象に行う。完全グラフのノードはメタデータのオブジェクトノードのみから成り、ノード間の枝の重さは、メタデータの木構造におけるノード間のパスの距離に対応する。この変換により、完全グラフにおけるすべてのノード間の枝の重みは、それぞれのノードの関連性を表す。
【0213】
コンテンツ分割方式では、完全グラフの枝から、接続するオブジェクトノード同士がグループを構成するようにカットする枝を選択し、コンテンツの分割を行う。
【0214】
ここで、コンテンツ分割方式では、協調ブラウジングのための条件を考慮することから、分割の目的が一般のグラフ分割問題とは異なる。そのため、グラフ分割を評価する際の新たな指標が必要になる。そこで、分割結果の有効性を評価するための評価関数を導入する。評価関数fは以下の数式(1)で表し、評価値が小さいほど条件を満たした分割であることを示す。ただし、c2,c3,c4はそれぞれf2,f3,f4の重みを決定するための係数であり、この値によってそれぞれの関数の重要度を調整できる。
【0215】
(1) f=f1・(c22+c33+c44
ここで、f1は、配布するコンテンツを端末上で実行できない度合を示す関数であり、f2は、分配したコンテンツ量が指定した割合にどれだけ遠いかを示す関数である。また、f3は、ユーザのコンテンツ割り当て要求にどれだけ応えていないかを示す関数であり、f4は、同じ分割コンテンツにグループ化されたオブジェクトノード間の関連性の低さを示す関数である。
【0216】
ここで、評価関数f1は、配布するコンテンツを端末上で実行できない度合いを示しているため、f1が小さいほど、ユーザに閲覧可能なコンテンツの量が多くなる。分割の良さを表す評価関数fは、ユーザが閲覧可能なコンテンツの量に比例するのが妥当であり、他の関数とは積の関係となっている。また、分配したコンテンツ量が指定した割合にどれだけ遠いかを示す評価関数f2、ユーザのコンテンツ割り当て要求にどれだけ応えていないかを示す評価関数f3、および、同じ分割コンテンツにグループ化されたオブジェクトノード間の関連性の低さを示す評価関数f4は、それぞれに独立している評価関数であるため、それらの和を求める形式が妥当である。
【0217】
図22に示されるように、分割方式では、まず、メタデータ木を完全グラフに変換した後、さまざまな条件を満たすよう完全グラフの調整を行い、初期のグラフ分割を行う。その後、複数分割に拡張したFMアルゴリズムを用いて、分割したグループ間でのオブジェクトノードの移動を行う。以下にその主要な点を説明する。
【0218】
[Coordinate Graph]
グラフの調整は以下(1)〜(3)の手順で行う。
【0219】
(1)あるオブジェクトノードを実行するための機能をもつ端末が存在しない場合には、そのオブジェクトノードをグラフから削除する。
【0220】
(2)broadcastタグをもつオブジェクトノードがある場合には、あらかじめそのノードをすべての端末に割り当て、グラフから削除する。
【0221】
(3)1つの端末に2つ以上のオブジェクトノードの割り当て要求があった場合には、それらのオブジェクトノード間の枝の重みを0に設定する。これにより、要求されたオブジェクトノードが同じグループに割り当てられやすくなる。
【0222】
[Create Initial k-way Partitioning]
初期のグラフ分割(分割数k)は以下(1)〜(3)の手順で行う。
【0223】
(1)調整後のグラフから最小スパニング木を求める。
(2)最小スパニング木からk−1本の枝を以下の方法でカットすることにより、ノードをk個のグループに分割する。
【0224】
まず、1つ以上の割り当て要求と、1つ以上の非割り当て要求があった端末において、割り当て要求ノードと非割り当て要求ノード間すべてに非結合要求を設定する。非結合要求とは、初期分割においてその要求が設定されたノード同士を同じグループに割り当てないようにするものである。すべての最小スパニング木の枝の中から、より多くの非結合要求が設定されたノード間のパス上にあり、より重みの大きい枝を優先的に選択し、これをすべての非結合要求が満たされるまで、または、k−1本の枝がカットされるまで繰り返す。
【0225】
カットをk−1回行う前にすべての非結合条件が満たされた場合には、カットされていない枝のうちから重みの大きい枝からカットし、合計でk−1回カットするまで繰り返す。以上の手順で得られたk個のグループを初期分割とする。
【0226】
次に、分割したkグループのコンテンツを端末に割り当てる際の可能なすべての組み合わせ中から、最小の評価値fをもつ組み合わせを求め、これを初期分割における割り当てとする。
【0227】
(3)端末i(0≦i≦k−1)に割り当てるオブジェクトノードの集合groupiを出力する。
【0228】
[k-way FM Algorithm]
初期分割によって求めたグループ間でノードの移動を行い、さらに適切な分割を求める。
【0229】
まず、ノードnが自身の属するグループ以外のグループgroupmに移動した全ての場合の評価値fを、マークされていないすべてのノードについて求める。その中で最小のfを与えるノードの移動を選び、その移動を実行し、さらにそのノードをマークする。この手順をすべてのノードがマークされるまで繰り返す。この繰り返しの中で、最小の評価値を与えたグループ分けを暫定的な最適のグループ分けとする。次に、すべてのノードのマークを外した上で、そのグループ分けからさらにグループ間でのノードの移動による分割の最適化を繰り返す。この繰り返しは最小評価値の更新が行われなくなった時点で終了する。
【産業上の利用可能性】
【0230】
本発明は、ブラウジングシステム等として、特に、複数の端末間で協調してコンテンツを閲覧するブラウジングシステム等として、利用することができる。
【図面の簡単な説明】
【0231】
【図1】実施の形態1におけるブラウジングシステムの構成を示す図である。
【図2】実施の形態1におけるユーザ情報のデータ構造を示す図である。
【図3】実施の形態1におけるコンテンツ構造の例を示す図である。
【図4】実施の形態1におけるコンテンツのセグメント化の例を示す図である。
【図5】実施の形態1におけるコンテンツの例を示す図である。
【図6】実施の形態1におけるレイアウトデータの例を示す図である。
【図7】実施の形態1におけるコンテンツ分配シーケンスを示す図である。
【図8】実施の形態1におけるメタデータ生成処理を示す図である。
【図9】実施の形態1におけるブラウジング画面表示処理を示す図である。
【図10】実施の形態1におけるオーバービュー画面表示処理を示す図である。
【図11】実施の形態1におけるリンク選択操作時の協調ブラウジングシーケンスを示す第1の図である。
【図12】実施の形態1におけるリンク選択操作時の協調ブラウジングシーケンスを示す第2の図である。
【図13】実施の形態1におけるバック操作時の協調ブラウジングシーケンスを示す図である。
【図14】実施の形態1におけるブラウジング画面の表示例を示す図である。
【図15】実施の形態1における(a)イベントリスト表示例、(b)画像分割表示例を示す図である。
【図16】実施の形態1におけるオーバービュー画面の表示例を示す図である。
【図17】実施の形態2におけるブラウジングシステムの構成を示す図である。
【図18】実施の形態2におけるコンテンツ分配シーケンスを示す図である。
【図19】実施の形態2におけるオーバービュー画面表示処理を示す図である。
【図20】実施の形態2におけるオーバービュー画面の表示例を示す図である。
【図21】メタデータの記述の例を示す図である。
【図22】コンテンツ分割アルゴリズムの例を示す図である。
【符号の説明】
【0232】
100,200 ブラウジングシステム
101,201 サーバ
102,202 クライアント
111 ユーザ管理部
112 イベント管理部
113 メタデータ生成部
114 コンテンツ分割部
121 イベント管理部
122 ページ管理部
123 ブラウジング画面処理部
124 オーバービュー画面処理部
215 スクリーンショット生成部
224 オーバービュー画面処理部

【特許請求の範囲】
【請求項1】
コンテンツを構成する複数のオブジェクトデータを表示するクライアント装置、及び前記クライアント装置の機能に合わせて前記コンテンツを分割するサーバ装置から構成されるブラウジングシステムであって、
前記サーバ装置は、
前記クライアント装置に関する固有情報を管理するユーザ管理手段と、
前記クライアント装置から受け付けた操作情報を管理するイベント管理手段と、
前記固有情報に基づいて、前記コンテンツを部分コンテンツに分割するコンテンツ分割手段とを備え、
前記クライアント装置は、
前記部分コンテンツに属するオブジェクトデータ、及び前記オブジェクトデータの割り付けに関するレイアウトデータに基づいて、ブラウジング画面表示用コンテンツを生成するページ管理手段と、
前記ブラウジング画面表示用コンテンツに基づいて、ブラウジング画面を構成して表示し、表示したブラウジング画面を介してユーザから操作を受け付けるブラウジング画面処理手段と、
ユーザから受け付けた操作に関する操作情報を管理するイベント管理手段と
を備えることを特徴とするブラウジングシステム。
【請求項2】
前記サーバ装置は、
前記コンテンツを構成する複数のオブジェクトデータ間の関係を示す木構造のメタデータと前記レイアウトデータとを生成するメタデータ生成手段を備え、
前記コンテンツ分割手段は、
前記木構造のメタデータを完全グラフに変換し、前記完全グラフを分割することによって、前記コンテンツを前記部分コンテンツに分割する
ことを特徴とする請求項1に記載のブラウジングシステム。
【請求項3】
前記メタデータ生成手段は、コンテンツを取得する度にメタデータを生成し、
前記コンテンツ分割手段は、コンテンツを取得する度に前記メタデータを分割する
ことを特徴とする請求項2に記載のブラウジングシステム。
【請求項4】
前記コンテンツ分割手段は、前記木構造のメタデータを完全グラフに変換する際に、完全グラフが前記木構造におけるオブジェクトノードのみからなり、ノード間の枝の距離が木におけるノード間のパスの距離に対応するように変換する
ことを特徴とする請求項2記載のブラウジングシステム。
【請求項5】
前記コンテンツ分割手段は、完全グラフにおいて枝の距離が近いノード同士を同じ部分グラフになるように完全グラフを分割する
ことを特徴とする請求項2に記載のブラウジングシステム。
【請求項6】
前記クライアント装置における前記イベント管理手段は、
ユーザからリンク選択操作を受け付けた場合には、リンク選択操作を行ったユーザの名前、リンク先コンテンツが分配されるユーザのリスト、及びリンク先のURLを含む操作情報を前記サーバ装置へ送信し、
前記サーバ装置における前記イベント管理手段は、
前記リンク先のURLからコンテンツを取得し、前記コンテンツを部分コンテンツに分割し、前記部分コンテンツに対して全てのクライアント装置に共通の識別情報を設定し、前記識別情報と前記部分コンテンツとをリンク選択操作の対象となるユーザのクライアント装置へ送信する
ことを特徴とする請求項1に記載のブラウジングシステム。
【請求項7】
前記クライアント装置における前記イベント管理手段は、
ユーザからバック操作を受け付けた場合には、他のクライアント装置でも同期させるか否かを選択させ、選択させた結果、同期させない場合には、自装置のみバック先コンテンツを表示し、同期させる場合には、バック先コンテンツに設定された識別情報を含む操作情報を前記サーバ装置に送信し、
前記サーバ装置における前記イベント管理手段は、
前記識別情報を含む操作情報を前記他のクライアント装置へ送信し、
前記他のクライアント装置における前記イベント管理手段は、
前記識別情報に対応する部分コンテンツを今すぐ表示するか否かをユーザに選択させ、選択させた結果、今すぐ表示するときだけ、前記バック先コンテンツを表示する
ことを特徴とする請求項1に記載のブラウジングシステム。
【請求項8】
前記クライアント装置における前記イベント管理手段は、
ユーザからフォワード操作を受け付けた場合には、
他のクライアント装置でも同期させるか否かを選択させ、
選択させた結果、同期させない場合には、自装置のみフォワード先コンテンツを表示し、同期させる場合には、フォワード先コンテンツに設定された識別情報を含む操作情報を前記サーバ装置に送信し、
前記サーバ装置における前記イベント管理手段は、
前記識別情報を含む操作情報を前記他のクライアント装置へ送信し、
前記他のクライアント装置におけるイベント管理手段は、
前記識別情報に対応する部分コンテンツを今すぐ表示するか否かをユーザに選択させ、選択させた結果、今すぐ表示するときだけ、前記フォワード先コンテンツを表示する
ことを特徴とする請求項1に記載のブラウジングシステム。
【請求項9】
前記クライアント装置における前記イベント管理手段は、
ユーザからオーバービュー表示操作を受け付けた場合には、現在表示しているブラウジング画面表示用コンテンツが属するコンテンツのオーバービューを表示する
ことを特徴とする請求項1に記載のブラウジングシステム。
【請求項10】
前記クライアント装置におけるイベント管理手段は、
ユーザからイベント表示操作を受け付けた場合には、管理している操作情報の履歴リストを表示する
ことを特徴とする請求項1に記載のブラウジングシステム。
【請求項11】
前記クライアント装置におけるイベント管理手段は、
ユーザから画面分割表示操作を受け付けた場合には、夫々のクライアント装置のディスプレイサイズ、及び並び方に応じて分割された画像を表示する
ことを特徴とする請求項1に記載のブラウジングシステム。
【請求項12】
前記クライアント装置は、
前記レイアウトデータ、前記部分コンテンツから、分割前の前記コンテンツの概要を示すオーバービュー画面表示用コンテンツに基づいて、オーバービュー画面を構成して表示し、表示したオーバービュー画面を介してユーザから操作を受け付けるオーバービュー画面処理手段を備える
ことを特徴とする請求項1に記載のブラウジングシステム。
【請求項13】
前記サーバ装置は、
前記部分コンテンツ単位でスクリーンショット画像を生成するスクリーンショット画像生成手段を備え、
前記オーバービュー画面処理部は、
前記レイアウトデータ、前記スクリーンショット画像、及び前記部分コンテンツから、分割前のコンテンツのオーバービュー画面を構成して表示する
ことを特徴とする請求項12に記載のブラウジングシステム。
【請求項14】
クライアント装置の機能に合わせてコンテンツを分割するサーバ装置であって、
前記クライアント装置に関する固有情報を管理するユーザ管理手段と、
前記クライアント装置から受け付けた操作情報を管理するイベント管理手段と、
前記固有情報に基づいて、前記コンテンツを部分コンテンツに分割するコンテンツ分割手段と
を備えることを特徴とするサーバ装置。
【請求項15】
コンテンツを構成する複数のオブジェクトデータを表示するクライアント装置であって、
前記オブジェクトデータ、及び前記オブジェクトデータの割り付けに関するレイアウトデータに基づいて、ブラウジング画面表示用コンテンツを生成するページ管理手段と、
前記ブラウジング画面表示用コンテンツに基づいて、ブラウジング画面を構成して表示し、表示したブラウジング画面を介してユーザから操作を受け付けるブラウジング画面処理手段と、
ユーザから受け付けた操作に関する操作情報を管理するイベント管理手段と
を備えることを特徴とするクライアント装置。
【請求項16】
コンテンツを構成する複数のオブジェクトデータを表示するクライアント装置、及び前記クライアント装置の機能に合わせて前記コンテンツを分割するサーバ装置から構成されるシステムを制御するブラウジング方法であって、
前記サーバ装置に、
前記クライアント装置に関する固有情報を管理させ、
前記クライアント装置から受け付けた操作情報を管理させ、
前記固有情報に基づいて、前記コンテンツを部分コンテンツに分割させ、
前記クライアント装置に、
前記部分コンテンツに属するオブジェクトデータ、及び前記オブジェクトデータの割り付けに関するレイアウトデータに基づいて、ブラウジング画面表示用コンテンツを生成させ、
前記ブラウジング画面表示用コンテンツに基づいて、ブラウジング画面を構成して表示し、表示したブラウジング画面を介してユーザから操作を受け付けさせ、
ユーザから受け付けた操作に関する操作情報を管理させる
ことを特徴とするブラウジング方法。
【請求項17】
クライアント装置の機能に合わせてコンテンツを分割する装置を制御するサーバ制御方法であって、
前記クライアント装置に関する固有情報を管理し、
前記クライアント装置から受け付けた操作情報を管理し、
前記固有情報に基づいて、前記コンテンツを部分コンテンツに分割する
ことを特徴とするサーバ制御方法。
【請求項18】
コンテンツを構成する複数のオブジェクトデータを表示する装置を制御するクライアント制御方法であって、
前記オブジェクトデータ、及び前記オブジェクトデータの割り付けに関するレイアウトデータに基づいて、ブラウジング画面表示用コンテンツを生成し、
前記ブラウジング画面表示用コンテンツに基づいて、ブラウジング画面を構成して表示し、表示したブラウジング画面を介してユーザから操作を受け付け、
ユーザから受け付けた操作に関する操作情報を管理する
ことを特徴とするクライアント制御方法。
【請求項19】
クライアント装置の機能に合わせてコンテンツを分割するコンピュータシステムにおいて実行されるサーバプログラムであって、
前記クライアント装置に関する固有情報を管理し、
前記クライアント装置から受け付けた操作情報を管理し、
前記固有情報に基づいて、前記コンテンツを部分コンテンツに分割する
ことをコンピュータシステムに実行させることを特徴とするサーバプログラム。
【請求項20】
コンテンツを構成する複数のオブジェクトデータを表示するコンピュータシステムにおいて実行されるクライアントプログラムであって、
前記オブジェクトデータ、及び前記オブジェクトデータの割り付けに関するレイアウトデータに基づいて、ブラウジング画面表示用コンテンツを生成し、
前記ブラウジング画面表示用コンテンツに基づいて、ブラウジング画面を構成して表示し、表示したブラウジング画面を介してユーザから操作を受け付け、
ユーザから受け付けた操作に関する操作情報を管理する
ことをコンピュータシステムに実行させることを特徴とするクライアントプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2006−195675(P2006−195675A)
【公開日】平成18年7月27日(2006.7.27)
【国際特許分類】
【出願番号】特願2005−5740(P2005−5740)
【出願日】平成17年1月12日(2005.1.12)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 2004年7月14日〜15日 社団法人情報処理学会発行の「情報処理学会研究報告」に発表 2004年11月11日〜12日 社団法人情報処理学会発行の「情報処理学会研究報告」に発表
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(504176911)国立大学法人大阪大学 (1,536)
【Fターム(参考)】