以下、本発明を実施するための最良の実施形態について、図面に基づいて説明する。なお、以下に説明する実施形態は、情報提示システムに対して本発明を適用した場合の実施の形態である。
[1.情報提示システムの構成及び概要機能]
先ず、図1等を参照して、本実施形態に係る情報提示システムの構成及び概要機能について説明する。
図1は、本実施形態に係る情報提示システムの概要構成例を示す図である。
図1に示すように、本実施形態に係る情報提示システムSは、端末装置1と、サーバ装置2と、を含んで構成されている。なお、本実施形態においては、サーバ装置2は、本発明の情報提示装置として機能することになる。
そして、端末装置1とサーバ装置2とは、通信手段としてのネットワーク3を介して相互にデータの送受信が可能(例えば、通信プロトコルにTCP/IP(Transmission Control Protocol/Internet Protocol)を用いて、相互にデータの送受信が可能)になっており、サーバ装置2は、当該ネットワーク3を介して接続された端末装置1からの要求に応じて提示情報の一例であるページデータを提供(送信)し、当該ページデータを端末装置1を通じてユーザに対して提示(例えば、当該ページデータに含まれるテキストや画像等の表示、及び音声の出力等)させるようになっている。なお、ネットワーク3は、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(無線基地局等を含む)、及びゲートウェイ等により構築される。
端末装置1としては、例えばPC、PDA、携帯電話機(或いは、PHS(Personal Handyphone System))、STBが接続されたテレビ受像機等の電子機器(電子デバイス)が該当し、本実施形態において、ユーザは、利用場所や利用状況に応じてこれらの種類の異なる電子機器を端末装置1として任意に選択することになる。
ここで、本実施形態におけるページデータの概要について説明する。
このページデータは、複数の素材データから構成されるようになっており、更に、複数のページデータによって(複数のページデータが集まって)1のコンテンツ(例えば、小説、教育用テキスト、商品カタログ、書籍等)が構成されるようになっている。また、各素材データは、ユーザに対して提示されるべき文字、画像、映像、又は音声等のデータ等からなる。
また、コンテンツの構造等は、XML(eXtensible Markup Language)によって記述された構造化データ(中間フォーマットデータ(基データ))により規定(定義)されるようになっている。
図2は、あるコンテンツの構造化データの一例を示す概念図である。
図2に示す構造化データ5の例では、大別して、状態保持層51とレイアウト層52とから構成されている。
状態保持層51は、コンテンツ全体の構造を規定しており、例えば書籍でいえば目次に相当し、この例では、章(chapter)、節(section)、ページ(page)によりコンテンツの階層構造が規定されている。つまり、コンテンツにおける1つの章は複数の節からなり、1つの節は複数のページから構成されており、最下位層における各ページは、上述したページデータからなっている。また、状態保持層51における章、節、及びページの各要素には、固有の識別情報である状態保持ID(id)が付加されている。この状態保持IDが記憶されることで、ユーザが当該コンテンツをどこまで利用したかの状態が保持されることになる。
レイアウト層52は、上述した各素材データの内容(例えば、ページ内に配置されるオブジェクト(文字、画像、映像等)や音声の内容であって、コンテンツを構成する意味上のかたまり)、及びその提示形式(言い換えれば、スタイル:例えば、当該オブジェクトの表示形式(例えば、表示サイズ(表示エリアの大きさ)、表示位置、文字のフォントサイズ及び色等のプロパティ)や音声の出力形式)等を規定している。また、レイアウト層52には、上記素材データの提示形式を端末装置1(つまり、端末装置1の動作環境、或いは、端末装置1の種類)に合った提示形式に調整するに当たっての制約条件(言い換えれば、調整限界)が規定されている。また、各素材データのうちユーザに対して提示される各素材データには、ユーザに対する提示の優先度を示す優先度情報(priority)が付加されるが、かかる優先度情報も、レイアウト層52に規定されている。
[1−1.端末装置の構成及び概要機能]
次に、端末装置1の構成及び概要機能について説明する。
端末装置1は、上述したPC、PDA、携帯電話機、STBが接続されたテレビ受像機等の全ての電子機器に共通の基本的な構成要素として、演算機能を有するCPU(Central Processing Unit),作業用RAM(Random-Access Memory),ROM(Read-Only Memory)等から構成された情報処理部(コンピュータ)と、各種プログラム及び各種データ等を記憶する記憶部(例えば、HDD(Hard Disc Drive),又はEEPROM(Electrically Erasable Programmable Read Only Memory)等)と、ユーザからの操作指示を入力する操作部(例えば、キーボード,マウス,又は操作パネル(又はリモートコントローラ)等)と、画像や文字等の情報を表示する表示部(例えば、CRT(Cathode-Ray Tube),又は液晶ディスプレイ等)と、音声を出力するスピーカと、サーバ装置2の通信部と協働しサーバ装置2との間の通信状態を制御する通信部と、を備えている。
また、全ての電子機器に共通にROM又は記憶部に記憶される各種プログラムとして、OS(オペレーティングシステム)、及びアプリケーションソフト(ブラウザソフト(プログラム)、端末情報収集エージェントソフト(プログラム)等)がある。
端末装置1のCPUによりブラウザ(例えば、WEBブラウザ)ソフトが実行されることによって、端末装置1は、サーバ装置2に接続して、上記コンテンツを構成するページデータを要求し、これに対しサーバ装置2から提供されたページデータをユーザに対して提示することになる。
また、端末装置1のCPUにより端末情報収集エージェントソフト(以下、「プローブ」という)が実行されることによって、端末装置1は、当該端末装置1の動作環境を示す情報及び当該端末装置1の種類(例えば、PC、PDA、携帯電話機、STBが接続されたテレビ受像機等の電子機器の種類)を示す情報の少なくとも何れか一方を含む端末情報を収集、取得し、サーバ装置2に提供(送信)することになる。また、プローブは、例えばサーバ装置2から端末装置1にダウンロードされるようにしてもよいし、例えば、CD−ROM、メモリカード等の記録媒体に記録されて端末装置1に読み込まれるようにしてもよい。
ここで、当該端末装置1が、10フィートUI(User Interface)(機器の操作を10フィート(約3m)程度離れてリモコンで行うことを想定したユーザー・インターフェイス)端末である場合、当該10フィートUI端末であることを示す情報が、上記端末情報中に含まれることになる。
また、当該端末装置1の動作環境を示す情報には、例えば、CPUの種類、CPUの動作周波数(CPUの速度)、メモリ種類、メモリ容量、メモリスロット数、LANボードの転送速度(bps)、グラフィックコントローラの情報、ビデオカードの情報、ディスプレイの画面解像度(表示画面サイズ)、ディスプレイの表現能力(文字数、色数等)、ネットワーク3における回線スピード(bps)、回線接続形態(ダイヤルアップ、ADSL、光ケーブル等)、インストールされるソフトウェアの種類(例えば、OSの種類、アプリケーションソフトの種類、ブラウザソフトの種類、プラグインソフト(ブラウザソフトの機能を追加、拡張するソフトであって、例えば、マルチメディア情報を閲覧するためのShockwaveやFlash Player(登録商標)、或いは、デジタル文書を閲覧するためのAcrobat Reader(登録商標)等がある)の種類)、当該ソウトウェアのバージョン等の情報が含まれる(もちろん、上記情報の一部であってもよいし、他の情報が含まれてもよい)。
このような端末装置1の動作環境を示す情報は、電子機器の種類によって異なる(もちろん、同じ種類の電気機器であっても異なる場合もある)。例えば、PCと携帯電話機では、周知の通り、CPUの動作周波数、メモリ容量、ディスプレイの有効画面サイズ、ディスプレイの表現能力、OSの種類、及びブラウザソフトの種類が異なるし、PCのブラウザソフトにはプラグインソフトを組み込めるが、携帯電話機のブラウザソフトにはプラグインソフトを組み込めない等の点で異なっている。
[1−2.サーバ装置の構成及び概要機能]
次に、サーバ装置2の構成及び概要機能について説明する。
サーバ装置2は、図1に示すように、演算機能を有するCPU,作業用RAM,ROM等から構成された情報処理部(コンピュータ)21と、各種プログラム及び各種データ等を記憶するHDD等から構成された記憶部22と、端末装置1の通信部と協働し端末装置1との間の通信状態を制御する通信部23と、を備えており、情報処理部21は、例えば記憶部22に記憶された、本発明の情報提示処理プログラム等を実行することにより、セッション管理部21a、本発明の端末情報取得手段としての端末情報取得部21b、履歴情報蓄積手段としての履歴情報蓄積部21c、構造化データ取得手段及び提示形式調整手段としてのコンテンツ構成部21d、及び提示手段としてのコンテンツ提示部21eとして機能するようになっている。
なお、情報提示処理プログラムは、例えばインターネット上の所定のサーバからサーバ装置2にダウンロードされるようにしてもよいし、例えば、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介してサーバ装置2に読み込まれるようにしてもよい。
また、上記記憶部22には、ユーザ毎に一意に割り当てられたユーザID及びパスワード等のユーザ情報をユーザ毎に区別して記憶(登録)する認証データベース(DB)22a、端末装置1におけるベージデータの提示履歴を示す履歴情報をユーザ毎に記憶する履歴情報データベース(DB)22b、及び各コンテンツの構造化データ及び当該構造化データ内で指定される実体データ(例えば、画像データ、映像データ、音声データ等)等を記憶するコンテンツデータベース(DB)22c等が構築されている。
セッション管理部21aは、認証データベース22aを用いたログイン処理(認証処理)、及びログイン後の当該通信セッションの管理を行うようになっている。
端末情報取得部21bは、接続された端末装置1の端末情報を取得するようになっている。例えば、端末情報取得部21bは、端末装置1がネットワーク3を介して接続してきた際に、プローブを当該端末装置1に配信し、これにより取得された端末情報を端末装置1から取得する。
履歴情報蓄積部21cは、端末装置1におけるページデータの提示履歴を示す履歴情報(例えば、上述した状態保持ID及びその受信時間等を含む)をユーザ毎に区別して(例えば、ユーザIDに対応付けて)履歴情報データベース22bに蓄積するようになっている。この履歴情報は、例えば、端末装置1とサーバ装置2とのデータ通信の際や通信セッションが終了する際等、任意のタイミングで端末装置1から取得される。
コンテンツ構成部21dは、あるページに対応する構造化データをコンテンツデータベース22cから取得(抽出)し、端末情報取得部21bにより取得された端末情報に基づいて、取得した構造化データに規定された素材データの提示形式を、当該端末装置1に合った提示形式に調整するようになっている。ここで、ログイン直後に取得される構造化データは、前回提示(前回のセッションの最後に提示)されたページに対応する構造化データであり、コンテンツ構成部21dは、かかる構造化データを、履歴情報データベース22bにおいて当該端末装置1のユーザのユーザIDに対応付けられて記憶されている状態保持IDのうち最も新しい(受信時間が最近の)状態保持IDに基づき取得する。その後は、端末装置1のユーザにより指定されたページに対応する構造化データが取得される。
そして、コンテンツ構成部21dは、提示形式が調整された構造化データをフォーマット変換して端末装置1に提供するページデータを生成するようになっている。例えば、XMLで記述されたXML文書からなる構造化データ(調整後)が、XHTML(eXtensible HyperText Markup Language)で記述されたXHTML文書とCSS(Cascading Style Sheets)からなるページデータに変換される。
図3(A)〜(E)は、コンテンツ構成部21dにおける処理の流れの一例を示す概念図である。図3(A)に示すように、“page1”の構造化データに規定された素材データ61〜65には、夫々、優先度を示す情報である“priority”が、例えば、0〜2の何れかの値で付加されている(本実施形態においては、0が最も優先度が高く、値が大きくなるにつれて優先度が低くなる)。なお、優先度を示す情報である“priority”は、0〜2に限定されるものはなく、例えば、0〜10等にもっと細かく規定しても良い。
そして、図3(B)及び(C)に示すように、取得された“page1”の構造化データに規定された素材データ61〜65の提示形式が端末情報に基づき調整されている。この例における調整では、取得された端末情報に含まれる表示画面サイズに合わせて、素材データ61(テキスト)が表示されるべき表示画面上におけるエリアが「1024(幅(width)(横方向))×500(高さ(height)(縦方向))ピクセル」から「600(幅(width))×400(高さ(height))ピクセル(px)」に変更(縮小)されると共に、素材データ63(画像)が表示されるべき表示画面上におけるエリアが「400(幅(width))×200(高さ(height)ピクセル)から「300(幅(width))×150(高さ(height))ピクセル(px)」に変更(縮小)されるように提示形式が調整されている。更に、優先度が低い(ここでは、priority=2)素材データ62及び64は削除されるように提示形式が調整されている。
そして、図3(D)及び(E)に示すように、XMLで記述された構造化データに規定された素材データの内容に相当する部分がXHTMLで記述され、素材データの提示形式に相当する部分がCSSで記述されるようにフォーマット変換がなされている。
図4は、実際にXMLで記述された構造化データの一例を示す図である。また、図5は、図4における提示形式記述部52aの記述例を、図6は、図4における提示形式制約記述部52bの記述例を、図7は、図4における提示内容記述部52cの記述例を、夫々示す図である。
図4に示すように、状態保持層51では、タグ(<>)内に、章(chapter)、節(section)、ページ(page)の夫々の状態保持IDが記述されている(例えば、“page1”の状態保持IDは、“001001001001”である)。
また、図4に示すように、レイアウト層52(この例では、“page1”に対応)には、提示形式記述部52a、提示形式制約記述部52b、及び提示内容記述部52cが設けられている。提示形式記述部52a、提示形式制約記述部52b、及び提示内容記述部52cは、各素材データを、<div>により分割して階層構造化しており、互いに同じ木構造を有している。また、各素材データには、夫々固有の識別名(id=の後のコンマ″″内に相当する部分)が付与されている。このように意味上のかたまりである素材データを<div>により分割して管理することで、コンテンツ制作者がコンテンツを定義し易く、且つ、サーバ装置2による提示形式の調整も効率良く行うことができる。
提示形式記述部52aには、当該ページデータを構成する各素材データの提示形式が規定されている。例えば、図5に示す符号71部では、表示画面上における当該ページ全体(wrapper)の高さ(height)、幅(width)、及び背景色が規定されており、符号72部では、当該ページ中に配置されるコンテンツヘッダ(content header)部分のエリアの高さ(height)、幅(width)、左端からの位置(padding-left)、上端からの位置(padding-top)、及び背景色が規定されており、符号73部では、当該コンテンツヘッダ(content header)部分のエリアに表示される文字(p)のフォントサイズ(font-size)及び字体(font-weight)が規定されている。図示は省略するが、この他にも、当該ページにより提示されるべき様々な素材データの提示形式が規定される。
提示形式制約記述部52bには、上記提示形式に調整するに当たっての各素材データの制約条件、各素材データの優先度情報、及び注釈等が規定されている。例えば、図6に示す符号81部では、表示画面上における当該ページ全体(wrapper)の高さ(height)の初期値(default:743px)、縮小可能な高さの最小値(minimum:300px)、拡大可能な高さの最大値(maximum:960px)、及び10フィートUI端末の場合の高さの最小値(minimum_10feetUI:450px)、並びに幅(width)の初期値(default:1024px)、縮小可能な幅の最小値(minimum:400px)、拡大可能な幅の最大値(maximum:1280px)、及び10フィートUI端末の場合の幅の最小値(minimum_10feetUI:600px)等が規定されており、更に、優先度情報(priority=”0”)が規定されている。また、符号82部では、当該ページ中に配置されるコンテンツヘッダ(content header)部分のエリアの高さ(height)の初期値(default:40px)、縮小可能な高さの最小値(minimum:20px)、拡大可能な高さの最大値(maximum:60px)、及び10フィートUI端末の場合の高さの最小値(minimum_10feetUI:30px)、並びに幅(width)の初期値(default:1024px)、縮小可能な幅の最小値(minimum:400px)、拡大可能な幅の最大値(maximum:1280px)、及び10フィートUI端末の場合の幅の最小値(minimum_10feetUI:600px)等が規定されており、更に、優先度情報(priority=”0”)が規定されている。また、符号83部では、当該コンテンツヘッダ(content header)部分のエリアに表示される文字(p)のフォントサイズ(font-size)の初期値(default:30pt)、縮小可能なフォントサイズの最小値(minimum:21pt)、拡大可能なフォントサイズの最大値(maximum:40pt)、及び10フィートUI端末の場合のフォントサイズの最小値(minimum_10feetUI:25pt)等が規定されており、優先度情報(priority=”0”)が規定されている。
このような提示形式記述部52a及び提示形式制約記述部52bに記述された内容がコンテンツ構成部21dにより解釈され、ページデータを要求してきた端末装置1に合った(適した)提示形式に調整された上で、最終的にCSSに記述されることになる。
図8は、端末情報、提示形式記述部52a及び提示形式制約記述部52bに記述された内容に基づき生成されたCSSの記述例を示す図である。
なお、上記最小値(minimum)は、上記提示形式の調整において表示エリアの縮小、或いはフォントサイズの縮小が行われる場合に参照され、これ以下にならないように処理される。
また、上記最大値(maximum)は、上記提示形式の調整において表示エリアの拡大、或いはフォントサイズの拡大が行われる場合に参照され、これ以上にならないように処理される。
また、上記最小値(minimum_10feetUI)は、端末装置1が10フィートUI端末である場合の上記提示形式の調整において表示エリアの拡大、或いはフォントサイズの拡大が行われる場合に参照され、これ以上になるように(つまり、10フィート離れて見る場合に最低限必要な表示エリアの大きさ)処理される。
また、図5及び図6に示すように、提示形式制約記述部52bが、提示形式記述部52aの記述された内容を含む場合、図5に示す<page_stylesheet type="text/css">から</page_stylesheet>までの記述は無くても構わない(この場合、提示形式記述部52aの記述が無くても、CSSを生成可能である)。
提示内容記述部52cは、各素材データの内容が規定されている。例えば、図7に示す符号91部では、コンテンツヘッダ(content header)部分のエリアに実際に表示される文字(p)の内容(English Study Service)が規定されており、この内容は、最終的にXHTMLに記述されることになる。
構造化データをXMLにて記述し、提示形式及びその制約条件等を上記のように提示形式記述部52a及び提示形式制約記述部52bに、提示内容を提示内容記述部52cに分離して夫々規定することで、より提示形式の調整(アダプテーション)を行いやすくすることができる。しかも、提示形式記述部52a及び提示形式制約記述部52bに示すように、提示形式を規定するスタイルシートをXMLで再定義することで、より効率良く調整(アダプテーション)を行うことができる。
コンテンツ提示部21eは、以上のように生成されたページデータ(XHTMLとCSSとから構成されるデータ)等を、ページデータを要求してきた端末装置1に対してネットワーク3を介して送信することにより、上記調整された提示形式でページデータをユーザに対して提示させることになる。
[2.情報提示システムの動作]
次に、図9乃至図13等を参照して、本実施形態に係る情報提示システムの動作例について説明する。
図9は、端末装置1とサーバ装置2における処理及びデータのやり取りの一例を示すシーケンス図であり、図10乃至図12は、サーバ装置2におけるページデータ生成処理の一例を示すフローチャートである。また、図13(A)は、PCである端末装置1の表示部に表示されたページ例を、図13(B)は、PDAである端末装置1の表示部に表示されたページ例を、夫々示す図である。
なお、以下の説明において、ユーザは、既にPCを端末装置1としてサーバ装置2に接続しページデータの提示を受けており、かかるPCにおいて提示されたページデータに付加された状態保持IDが提示履歴を示す履歴情報として履歴情報データベース22bに記憶(蓄積)されているものとする。
先ず、ユーザが、例えばPDAを端末装置1として選択し、かかる端末装置1の操作部を操作してブラウザソフトを実行(起動)させサーバ装置2のサイトのURLを指定すると、当該端末装置1がネットワーク3を介してサーバ装置2に接続しリクエスト情報を送信する(ステップS1)。
次いで、サーバ装置2は、端末装置1からのリクエスト情報を受信すると、当該リクエストヘッダ内のユーザエージェントの項目からOSの種類やブラウザの種類等の情報を得てこれを用いて端末装置の種類(PC或いはPDA等)を判別し(ステップS2)、端末装置1に対して、リダイレクト要求情報を送信する(ステップS3)。これにより、端末装置1がPCかPDAかわからない状態のまま、プローブを端末装置1に送り込んで、端末情報の取得を試みて失敗するという事態を防ぐことができる。
ここで、上記ユーザエージェントの項目からOSの種類やブラウザの種類等の情報を取得できなかった場合には、サーバ装置2は、OSの種類やブラウザの種類等の情報を取得するためのスクリプト(例えば、Java(登録商標)script)が記述されたHTML文書を端末装置1に送信する。これにより端末装置1のブラウザによって当該HTML文書中のスクリプトが実行され、取得されたOSの種類やブラウザの種類等の情報はサーバ装置2に対して送信され、当該サーバ装置2は、当該情報を用いて端末装置の種類(PC或いはPDA等)を判別する。これにより、更に、端末情報取得の正確性を向上させることができる。
次いで、端末装置1は、サーバ装置2からのリダイレクト要求情報を受信すると、当該サーバ装置2に対して、プローブ埋込ページへのリダイレクト情報を送信する(ステップS4)。
次いで、サーバ装置2は、端末装置1からのリダイレクト情報を受信すると、上記判別された端末装置の種類に適したプローブを取得し(ステップS5)、当該プローブ及びログインページデータを端末装置1に対して送信する(ステップS6)。
こうして、端末装置1は、プローブ等を受信すると、当該プローブを起動(実行)し、当該端末装置1の端末情報を取得する(ステップS7)。次いで、端末装置1は、ログインページを表示部における表示画面上に表示してユーザに提示する。かかるログインページには、ユーザID及びパスワードの入力欄が設けられている。そして、ユーザが操作部を操作して当該入力欄に自己のユーザID及びパスワードを入力し実行ボタンを指定(押下)すると、端末装置1は、入力されたユーザID及びパスワード、並びに上記取得した端末情報を含むログイン要求情報をサーバ装置2に対して送信する(ステップS8)。
次いで、サーバ装置2は、端末装置1からのログイン要求情報を受信すると、ログイン処理(認証処理)を実行(ステップS9)、例えば、当該ログイン要求情報に含まれるユーザID及びパスワードが認証データベース22aに登録されているか否かを判別し、登録されている場合には、ログインを認識してセッションを作成する(ステップS10)。
次いで、サーバ装置2は、ページデータ生成処理を行い、ページデータを生成する(ステップS11)。なお、かかるページデータ生成処理の詳細は後述する。次いで、サーバ装置2は、生成したページデータを端末装置1に対して送信する(ステップS12)。
次いで、端末装置1は、サーバ装置2からのページデータを受信すると、当該ページを表示部における表示画面上に表示してユーザに提示する(図13(B)参照)。
こうしてユーザは、提示されたページに含まれる情報を視聴、閲覧し、操作部を操作して、当該ページ上に表示された例えば目次から所望のページを選択すると、端末装置1は、当該選択されたページを要求するためのページ要求情報(当該ページに付加された状態保持IDを含む)をサーバ装置2に対して送信する(ステップS13)。
次いで、サーバ装置2は、端末装置1からのページ要求情報を受信すると、ページデータ生成処理を行い、ページデータを生成する(ステップS14)。なお、かかるページデータ生成処理の詳細は後述する。次いで、サーバ装置2は、生成したページデータを端末装置1に対して送信する(ステップS15)。こうしてユーザは、提示されたページに含まれる情報を視聴、閲覧し、必要であれば、上記と同様、所望のページを選択することになる。
そして、コンテンツの視聴、閲覧を終了する場合、ユーザは、操作部を操作してログアウト入力を行うと、端末装置1は、サーバ装置2に対して、セッション破棄要求情報を送信する(ステップS16)。
次いで、サーバ装置2は、端末装置1からのセッション破棄要求情報を受信すると、当該セッションを破棄し(ステップS17)、トップページを端末装置1に対して送信する(ステップS18)。
次に、上記図9を用いて説明した流れの中で行われるページデータ生成処理(ステップS11及びS14)の一例について図10乃至図12を用いて具体的に説明する。
図10に示すページデータ生成処理が、上記ログインにより行われる場合(ステップS11)、サーバ装置2は、当該セッションにおいて得られたユーザIDに対応付けられて記憶された状態保持IDのうちの最も新しい(受信時間が最も現在に近い)状態保持IDを履歴情報データベース22bから取得し(ステップS101)、ステップS104に移行する。一方、図10に示すページデータ生成処理が、上記ページ要求情報の受信により行われる場合(ステップS14)、サーバ装置2は、上記ページ要求情報に含まれる状態保持IDを取得し(ステップS102)、取得した状態保持ID及び受信時間を、当該セッションにおいて得られたユーザIDに対応付けて履歴情報データベース22bに登録(記憶)し(ステップS103)、ステップS104に移行する。
ステップS104では、サーバ装置2は、上記受信されたログイン要求情報に含まれる端末情報から端末装置1の表示画面サイズを取得する。
次いで、サーバ装置2は、上記取得した表示画面サイズに基づき、端末装置1の画面は縦長であるか否かを判別し(ステップS105)、縦長でない場合には(ステップS105:N)、横長配置を選定し(ステップS107)、ステップS109に移行する。一方、端末装置1の画面が縦長である場合には(ステップS105:Y)、縦長配置を選定し(ステップS106)、縦長配置のための準備処理を行い(ステップS108)、ステップS109に移行する。縦長配置の場合、後述するステップS118の処理にてオブジェクトの削除される可能性が高いので、縦長配置のための準備処理では、オブジェクト削除フラグを立てることにより、ループ処理の効率化を図る。
ステップS109では、サーバ装置2は、端末装置1の表示画面における最大表示画面エリア(セーフティエリア)を決定する。なお、最大表示画面エリアは、例えば、ツールバーを除いたエリア(オブジェクトである素材データが表示されるエリア)である。
次いで、サーバ装置2は、上記取得した状態保持IDに対応する構造化データを取得する(ステップS110)。取得された構造化データは、当該セッションにおいて記憶保存されることになる。
次いで、サーバ装置2は、取得した構造化データに基づき、各素材データをオブジェクトとするDOM(Document Object Model)ドキュメントツリーを作成する(ステップS111)。
次いで、サーバ装置2は、上述した提示形式制約記述部52bを参照して(<page_stylecontrol type="text/css">要素の配下を辿って(走査して))、各オブジェクト(素材データ)に付加された優先度情報を抽出する(ステップS112)。
次いで、図11に示すステップS113において、サーバ装置2は、ページ全体(wrapper)を除く全オブジェクトのうち表示エリア面積が最大のものを検索し、そのオブジェクトについての情報(例えば、識別名、id=で表される部分(id属性ともいう))を一時記憶する。
次いで、サーバ装置2は、上述した提示形式制約記述部52bに規定されているページ全体(wrapper)のサイズ(高さと幅)を、最大表示画面エリア(セーフティエリア)のサイズで書き換える(ステップS114)。
次いで、サーバ装置2は、書き換え前のページ全体(wrapper)のサイズが、セーフティエリアのサイズ以上(同じか若しくは大きい)か否かを判別し(ステップS114a)、以上の場合には(ステップS114a:Y)、縮小処理を選定し、ステップS115に移行する。
一方、書き換え前のページ全体(wrapper)のサイズが、セーフティエリアのサイズ以上でない場合(つまり、表示画面サイズが大きい端末装置1の場合)には(ステップS114a:N)、拡大処理を選定し、ステップS115aに移行する。
ステップS115では、サーバ装置2は、各オブジェクトの表示エリアの面積(高さ×幅)の総和が、上記ページ全体(wrapper)の面積より小さいか否かを判断することによって、全オブジェクトがページ内に収まるか否かを判別する。全オブジェクトがページ内に収まらないと判別された場合(つまり、各オブジェクトの表示エリアの面積の総和が、上記ページ全体(wrapper)の面積より大きい場合)には(ステップS115:N)、ステップS116に移行され、収まると判別された場合(つまり、各オブジェクトの表示エリアの面積の総和が、上記ページ全体(wrapper)の面積より小さいか或いは同じである場合)には(ステップS115:Y)、ステップS119に移行される。
ステップS116では、サーバ装置2は、これ以上、各オブジェクトの表示エリアが縮小可能か否かを判別する。例えば、サーバ装置2は、上述した提示形式制約記述部52bに規定されている各オブジェクトの表示エリアの幅(width)及び高さ(height)の初期値(default)を所定割合(例えば10%)縮小し、その縮小された値が各オブジェクトの表示エリアの縮小可能な幅(width)及び高さ(height)の最小値(minimum)より小さくならない場合には、各オブジェクトの表示エリアが縮小可能であると判別する。
各オブジェクトの表示エリアが縮小可能である場合(ステップS116:Y)、サーバ装置2は、上記各オブジェクトの表示エリアの幅(width)及び高さ(height)の初期値を、上記縮小した幅(width)及び高さ(height)の値で書き換えることによって、各オブジェクトの表示エリアのサイズを縮小し(ステップS117)、ステップS115に戻る。このような処理が繰り返されることによって、上記各オブジェクトの表示エリアが徐々に縮小(例えば、最小値になるまで初期値が10%ずつ縮小)されることになる。なお、このような縮小処理により、縮小されたオブジェクトの表示エリアのサイズが最小値(minimum)より小さくなった場合には、初期値が当該最小値で書き換えられることになる。
一方、各オブジェクトの表示エリアが縮小可能でない場合(ステップS116:N)、サーバ装置2は、オブジェクト削除処理を実行し、上記抽出された各オブジェクトの優先度情報を参照して優先度の最も低い(つまり、“priority”の値が最も大きい)オブジェクトを削除し(ステップS118)、ステップS115に戻る。このような処理が繰り返されることによって、上記オブジェクトのうち優先度の低いものから順に削除されることになる。
一方、ステップS115aにおける拡大処理では、図12に示すように、サーバ装置2は、上記取得した端末情報を参照して、端末装置1が10フィートUI端末であるか否かを判別し(ステップS1151)、10フィートUI端末である場合には(ステップS1151:Y)、ステップS1152へ、10フィートUI端末でない場合には(ステップS1151:N)、ステップS1157へ、夫々移行する。
ステップS1152では、サーバ装置2は、上述した提示形式制約記述部52bに規定されている各オブジェクトの表示エリアの幅(width)及び高さ(height)の初期値(default)が、各オブジェクトの表示エリアの幅(width)及び高さ(height)の10フィートUI端末時の最小値(minimum_10feetUI)より小さいとき、当該初期値を最小値(minimum_10feetUI)に置き換える。これにより、10フィート離れて見る場合の最低限必要な表示エリアのサイズになる。
次いで、サーバ装置2は、各オブジェクトの表示エリアの面積(高さ×幅)の総和が、上記ページ全体(wrapper)の面積より小さいか否かを判断することによって、全オブジェクトがページ内に収まるか否かを判別(上記ステップS115と同様)する(ステップS1153)。全オブジェクトがページ内に収まらないと判別された場合には(ステップS1153:N)、ステップS1154に移行され、収まると判別された場合には(ステップS1153:Y)、ステップS1157に移行される。
ステップS1154では、サーバ装置2は、オブジェクト削除処理を実行し、上記抽出された各オブジェクトの優先度情報を参照して優先度の最も低い(つまり、“priority”の値が最も大きい)オブジェクトを削除する。
次いで、サーバ装置2は、再び、全オブジェクトがページ内に収まるか否かを判別(上記ステップS1153と同様)し(ステップS1155)、収まらない場合には(ステップS1155:N)、オブジェクト削除処理を実行し、上記抽出された各オブジェクトの優先度情報を参照して優先度の最も低いオブジェクトを削除し、ステップS1155に戻る。このようなステップS1155、S1156は、全オブジェクトがページ内に収まるようになるまで繰り返し行われ、収まるようになった場合には(ステップS1155:Y)、図11に戻り、ステップS119に移行する。
一方、ステップS1157では、サーバ装置2は、これ以上、各オブジェクトの表示エリアが拡大可能か否かを判別する。例えば、サーバ装置2は、各オブジェクトの表示エリアの幅(width)及び高さ(height)の初期値(default)を所定割合(例えば10%)拡大し、その拡大された値が各オブジェクトの表示エリアの拡大可能な幅(width)及び高さ(height)の最大値(maximum)より大きくならない場合には、各オブジェクトの表示エリアが拡大可能であると判別する。各オブジェクトの表示エリアが拡大可能である場合(ステップS1157:Y)、サーバ装置2は、各オブジェクトの現在の表示エリアのサイズをキャッシュ(上書き可能に一時的に格納)し(ステップS1158)、上記各オブジェクトの表示エリアの幅(width)及び高さ(height)の初期値を、上記拡大した幅(width)及び高さ(height)の値で書き換えることによって、各オブジェクトの表示エリアのサイズを拡大し(ステップS1159)、全オブジェクトがページ内に収まるか否かを判別し(ステップS1160)、収まる場合には(ステップS1160:Y)、ステップS1157に戻る。このような処理が繰り返されることによって、上記各オブジェクトの表示エリアが徐々に拡大(例えば、最大値になるまで初期値が10%ずつ拡大)されることになり、これに伴い、上記ステップS1158にてキャッシュされる値が更新される。なお、このような拡大処理により、拡大されたオブジェクトの表示エリアのサイズが上記最大値より大きくなった場合には、初期値が当該最大値で書き換えられることになる。
そして、ステップS1160にて、全オブジェクトがページ内に収まらないと判別した場合(つまり、これ以上拡大不可)には(ステップS1160:N)、サーバ装置2は、上記書き換えられた初期値を、書き換え直前の初期値(上記ステップS1158でキャッシュされている値)に書き換え(ステップS1161)、図11に戻り、ステップS119に移行する。
そして、図11に示すステップS119では、サーバ装置2は、面積誤差吸収処理を行う。この面積誤差吸収処理では、例えば、ページ全体(wrapper)を除く全オブジェクトのうち表示エリア面積が最大の全オブジェクト(上記ステップS113で検索されたもの)の表示エリアの幅(width)を自動調整することによって、面積推定の誤差を吸収させる。言い換えれば、上記表示エリアが縮小されたオブジェクトがページ全体(wrapper)に適切に(きれいに)収まるように調整される。なお、かかる面積誤差吸収処理は、面積推定の誤差がなければ行う必要がない。
次いで、サーバ装置2は、上記のように書き換えられたDOMドキュメントツリーを調整(提示形式制約記述部52b(<page_stylecontrol type="text/css">要素の配下)において書き換えられた内容が提示形式記述部52a(<page_stylesheet type="text/css">要素の配下)に反映され、提示形式制約記述部52b(<page_stylecontrol type="text/css">要素の配下)は削除される)し、かかるDOMドキュメントツリーをXML文書(提示形式が調整された構造化データ)に変換する(ステップS120)。
そして、サーバ装置2は、変換されたXML文書(提示形式が調整された構造化データ)をXHTML文書とCSSにフォーマット変換してページデータを生成する(ステップS121)。こうして生成されたページデータは、上述したように端末装置1に送信されることになる。
こうして、PDAである端末装置1における表示画面上には、例えば図13(B)に示すようなページが表示されることになり、図13(A)に示すようなPCである端末装置1における表示画面上に表示された同様のページと比較すると、ページ全体(wrapper)の表示エリア203、コンテンツヘッダ(content header)のオブジェクトの表示エリア204、及び“ブロック2”(ここでは、便宜上、ブロック2と表しているが、これは、このエリアに表示される内容の見出しを表す)のオブジェクトの表示エリア206が縮小されていると共に、“ブロック1”のオブジェクト及び“ブロック3”のオブジェクトが削除され、それらの表示エリア205及び207が無くなっている。
なお、上記図10乃至図12においてページデータ生成処理は、端末情報のうちの表示画面サイズを示す情報を用いて、構造化データに規定されたオブジェクトの提示形式を、端末装置1に合った提示形式に調整する場合の例を示したが、これに限定されるものではなく、例えばCPUの動作周波数、メモリ容量、或いは、ネットワーク3における回線スピード(bps)等の値に応じて(例えば、回線スピード(bps)が1Mbps以下の場合等)、構造化データに規定されたオブジェクトのうちの所定量以上のデータ量を有する画像等のオブジェクトを削除するように構成(この場合も提示形式制約記述部52bに規定)しても良い。
また、上記実施形態における端末情報は、プローブを端末装置1にて実行させることによって取得するように構成したが、上記図10乃至図12においてページデータ生成処理に示したように、端末情報のうちの表示画面サイズを示す情報を用いる場合等には、これらの情報を取得するためのスクリプト(例えば、Java(登録商標)script)が記述されたHTML文書を端末装置1に送信して、端末装置1のブラウザによって当該HTML文書中のスクリプトが実行されることによって取得され、サーバ装置2送信されるように構成しても良い。なお、当該スクリプトが記述されたHTML文書により取得される端末情報としては、例えば、CPUの種類、ディスプレイの画面解像度(表示画面サイズ)、ネットワーク3における回線スピード(bps)、インストールされるソフトウェアの種類(例えば、OSの種類、ブラウザソフトの種類等)が該当する。
以上説明したように上記実施形態によれば、コンテンツを構成するページに対応する構造化データを取得(抽出)し、端末装置1の端末情報に基づいて、取得された構造化データに規定されたオブジェクト(素材データ)の提示形式を、当該端末装置1に合った(適した)提示形式に調整し、当該調整された提示形式でページデータを当該端末装置1のユーザに対して提示させるようにしたので、端末装置1の特性や能力等に応じて別々のコンテンツ及び選択肢を用意することなく、コンテンツのメンテナンスに要する負担やコスト等を軽減しつつ、端末装置1に応じた最適なコンテンツ(これを構成するページデータ)をユーザに対して提示することができる。
また、上記複数のオブジェクトの提示形式の調整を、何れかのオブジェクトの削除又は当該オブジェクトが表示されるべき表示画面上におけるエリアを縮小することにより行うようにしたので、携帯型端末のような表示画面サイズが小さい端末装置であっても、容易かつ効率良く当該調整を行うことができる。
また、上記削除されるオブジェクトは、優先度が相対的に低いオブジェクトであるようにしたので、重要なオブジェクトを残し、優先度が相対的に低いあまり必要でないオブジェクトを削除して上記提示形式に調整することができる。
また、上記複数のオブジェクトの提示形式の調整を、当該オブジェクトが表示されるべき表示画面上におけるエリアを拡大することにより行うこともできるので、表示画面サイズが小さい端末装置ばかりでなく、表示画面サイズが大きい端末装置においても、容易かつ効率良く当該調整を行うことができる。また、例えば10フィートUI端末であっても、表示画面から離れて視聴するのに最低限必要な大きさまで表示エリアを拡大調整するので、この場合におけるコンテンツの見易さを提供することができる。
また、端末装置1におけるページデータの提示履歴を示す履歴情報をユーザ毎に蓄積しておき、提示対象となるユーザに対応する履歴情報を参照して前回提示されたページデータに対応する構造化データを取得してこれに基づき、オブジェクトの提示形式を、当該端末装置1に合った提示形式に調整するようにしたので、複数の端末装置1にまたがった(横断した)シームレスな(継続性のある)コンテンツの利用が可能となる。これにより、例えば、ユーザが、PCを端末装置1として視聴していたコンテンツの続き(ページの続き)を、PDAを端末装置1として簡単に視聴(閲覧)することができる。
また、状態保持IDを各ページに対して付加するようにしたので、前回提示された提示情報の提示履歴を状態保持IDで容易に蓄積することができ、当該提示履歴を簡単に把握することができる。
(変形例)
上記実施形態においては、提示形式の調整により削除されたオブジェクトは、端末装置1においてユーザに提示されない構成としたが、この構成では、削除されたオブジェクトをユーザは見ることができないという不都合を生じる。
そこで、この変形例においては、提示形式の調整により削除されたオブジェクト(以下、単に、「削除されたオブジェクト」という)があることがユーザに認知可能にページが提示され、削除されたオブジェクトの提示要求があった場合には、当該削除されたオブジェクトが、上述した構造化データから取得されユーザに提示されるように構成される。
この場合、図13(B)で示したPDAである端末装置1上で表示されたページは、図14(A)に示すように表示されることになる。図14(A)の例では、削除されたオブジェクト(図13(A)の例で表示エリア205及び207に表示されたオブジェクト)の見出しかかるリンク表示より端末装置1のユーザは、提示形式の調整により削除されたオブジェクトがあることを認知することができる。
このリンク表示の参照先情報には、切り替え表示の関数呼び出しが設定されており、上記削除されたオブジェクトの識別名(id=で表される部分(id属性ともいう)、例えば“block1”)が関数呼び出しの引数にセットされている(例えば、<a href=“切り替え表示の関数(オブジェクトの識別名)”>オブジェクト名</a>)。また、リンク表示には、削除されたオブジェクトに設定されているオブジェクト名(name=で表される部分(name属性ともいう)、例えば、“ブロック1”)、或いは当該オブジェクトの冒頭文字列が引用される。なお、上記識別名に対応し、且つ、削除されたオブジェクト(提示内容記述部52c(<page_body>要素配下)の内容は、上記リンク表示の参照先情報に置き換えられている。
そして、端末装置1のユーザが、上記リンク表示(例えば、“ブロック1”)を、操作部を操作して、選択(例えば、クリック)すると(つまり、削除されたオブジェクトの提示要求があった場合)、削除された“ブロック1”のオブジェクトの識別名を引数にした表示切り替え関数が呼び出され、サーバ装置2上にある構造化データにアクセスされ、当該引数にされた識別名に対応するオブジェクトが取得され、端末装置1において上記参照先情報と置き換えられて埋め込まれると共に、当該オブジェクトが、例えば、図14(B)に示すように、新たに表示(つまり、オブジェクトの切り替え表示)されることになる。
同時に、現在表示されている“ブロック2”のオブジェクトが、上記リンク表示の選択により表示される“ブロック1”のオブジェクトの代わりに削除(つまり、このリンク表示の参照先情報に置き換えられて削除)され、そのリンク表示(“ブロック2”)が、図14(B)に示すように、現れることになる(新たに表示されるオブジェクトの優先度<代わりに削除されるオブジェクトの優先度)。
なお、上記オブジェクトの切り替え表示がなされる場合における端末装置1とサーバ装置2との通信は非同期で行われるため、ページ全体の遷移(再読み込み)をすることなく、対象オブジェクトだけを切り替えることが可能となる。
また、別の例として、端末装置1の表示画面上における表示エリアを共通とする複数のオブジェクトに対して、夫々、同一のグループ情報を付加し、上記代わりに削除されるオブジェクトは、上記リンクの選択により表示されるオブジェクトと同一のグループ情報が付加されたオブジェクトであるように構成しても良い。
図15(A)は、“ブロック1”及び“ブロック2”のオブジェクトが表示エリア301を共通としており、“ブロック3”及び“ブロック4”のオブジェクトが表示エリア302を共通としている例である。ここで、表示エリア301では、“ブロック1”のオブジェクトが現在表示されている一方、“ブロック2”はリンク表示されている。また、表示エリア302では、“ブロック3”のオブジェクトが現在表示されている一方、“ブロック4”はリンク表示されている。
そして、端末装置1のユーザが、例えば、リンク表示された“ブロック2”を、操作部を操作して、選択(例えば、クリック)すると、上記と同様、オブジェクトの切り替え表示が行われ、図15(B)に示すように、“ブロック2”のオブジェクトが表示され、代わりに“ブロック1”のオブジェクトが削除され、そのリンク表示がされることになる(表示エリア302でも同様)。
このように、同一のグループ情報が付加されたオブジェクトは、共通の表示エリア内でリンクの選択により交互に表示(言い換えれば、“ブロック1”及び“ブロック2”のリンク表示がタブ表示のように機能する)されることになる(言い換えれば、その表示エリア内で、何れか一方のオブジェクトが必ず表示されることになる)。
次に、以上説明した変形例において行われる端末装置1及びサーバ装置2における具体的な動作について説明する。
先ず、図16等を参照して、変形例に係るサーバ装置2におけるオブジェクト削除処理について説明する。
図16は、変形例に係るサーバ装置2におけるオブジェクト削除処理の一例を示すフローチャートである。図16に示すオブジェクト削除処理は、上述した、図11に示すステップS118及び図12に示すステップS1154,S1156におけるオブジェクト削除処理に代えて行われるものであり、図11及び図12に示す他の処理については、上述した実施形態と同様である。
図11に示す処理において、各オブジェクトの表示エリアが縮小可能でない場合に(ステップS116:N)、図16に示すオブジェクト削除処理が開始され、先ず、サーバ装置2は、上記抽出された各オブジェクトの優先度情報を参照して優先度の最も低い(つまり、“priority”の値が最も大きい)オブジェクトを削除対象として特定し、その識別名(id属性)を取得する(ステップS211)。
次いで、サーバ装置2は、特定した削除対象のオブジェクトにオブジェクト名(name属性)が設定されているか(つまり、DOMドキュメントツリー中に、name=で表される部分、例えば、“ブロック1”が記述されているか)否かを判別し(ステップS212)、設定されている場合には(ステップS212:Y)、当該オブジェクトのオブジェクト名を取得し(ステップS213)、ステップS215に移行する。
一方、オブジェクト名が設定されていない場合には(ステップS212:N)、当該オブジェクトの冒頭文字列(つまり、提示内容記述部52c(<page_body>要素配下)で規定される内容の冒頭文字列)がオブジェクト名の代わりに取得され(ステップS214)、ステップS215に移行される。
ステップS215では、サーバ装置2は、当該削除対象のオブジェクトへリンクするための参照先情報(例えば、(例えば、<a href=“切り替え表示の関数(オブジェクトの識別名)”>オブジェクト名</a>))を新規作成する。
次いで、サーバ装置2は、上記ステップS211で取得した識別名と上記ステップS213で取得したオブジェクト名(又は上記ステップS214で取得したオブジェクトの冒頭文字列)を、夫々、上記作成した参照先情報にセットする(組み込む)(ステップS216)。
次いで、サーバ装置2は、当該削除対象のオブジェクトにグループ情報としてのタブ名(tabview属性)が設定されているか(後述するtabview=で表される部分)否かを判別し(ステップS217)、設定されている場合には(ステップS217:Y)、ステップS218へ、設定されていない場合には(ステップS217:N)、ステップS220へ、夫々移行する。
ステップS218では、サーバ装置2は、提示内容記述部52c(<page_body>要素配下)に規定されている削除対象のオブジェクト(<div id=・・・>と</div>の間の子ノード)の内容を、上記作成した参照先情報に置き換えて、図11に示すステップS115又は図12に示すステップS1155に戻る。こうして、再びオブジェクト削除処理に入ると、次に優先度の最も低いオブジェクトが削除対象になり、同様の処理が行われる。
図17(A)は、タブ名(tabview属性)が設定されていない場合の上記オブジェクト削除処理前の提示形式制約記述部52bと提示内容記述部52cにおける一部分を示し、図17(B)は、上記オブジェクト削除処理後の提示形式制約記述部52bと提示内容記述部52cにおける一部分を示す(図14(A)の表示に対応)。上記オブジェクト削除処理により、図17(B)に示すように、“ブロック1”及び“ブロック3”のオブジェクトの内容が参照先情報に置き換えられていることが判る。なお、“ブロック1”のオブジェクトに置き換えられた参照先情報における「JavaScript:changeText(block1)」は、Javaで規定された切り替え表示の関数(オブジェクトの識別名)を示している。
一方、ステップS220では、サーバ装置2は、削除対象のオブジェクトのタブ名を取得する(タブ表示グループの識別名(id属性)として取得する)。
次いで、サーバ装置2は、提示内容記述部52c(<page_body>要素配下)に同一のタブ名を識別名として持つタブ表示グループが既に作成されているか否かを判別し(ステップS221)、作成されていない場合には(ステップS221:N)、ステップS222に移行し、既に作成されている場合には、ステップS229に移行する。
ステップS222では、サーバ装置2は、ステップS220で取得したタブ名を識別名として持つタブ表示グループを作成(例えば、<div id=タブ名> </div>のように作成)する。
次いで、サーバ装置2は、上記作成したタブ表示グループの子ノードにulタグ(例えば、<ul> </ul>)を配置(つまり、<div id=タブ名>と</div>間に配置)する(ステップS223)。
次いで、サーバ装置2は、上記配置されたulタグの子ノードにliタグ(リストタグ、例えば、<li> </li>)を配置(つまり、<ul>と</ul>の間に配置)する(ステップS224)。
次いで、サーバ装置2は、liタグに上記削除対象のオブジェクトの識別名を対応付け(ステップS225)、上記ステップS216にて識別名及びオブジェクト名がセットされた参照先情報を、上記liタグの子ノードに配置する(ステップS226)。
次いで、サーバ装置2は、上記作成したタブ表示グループの子ノードに、提示内容記述部52c(<page_body>要素配下)に規定されている削除対象のオブジェクトの内容(<div id=・・・>と</div>の間の子ノード)を配置する(ステップS227)。
次いで、サーバ装置2は、提示内容記述部52c(<page_body>要素配下)に規定されている削除対象のオブジェクトの内容(<div id=・・・>と</div>の間の子ノード)を、上記作成したタブ表示グループ(削除対象のオブジェクトが配置された最終的なもの)に置き換え、図11に示すステップS115又は図12に示すステップS1155に戻る。
一方、ステップS229では(同一のタブ名を識別名として持つタブ表示グループが既に作成されている場合)、サーバ装置2は、タブ表示グループにおけるulタグの子ノードにliタグ(リストタグ、例えば、<li> </li>)を追加する。
次いで、サーバ装置2は、追加したliタグに上記削除対象のオブジェクトの識別名を対応付け(ステップS230)、上記ステップS216にて識別名及びオブジェクト名がセットされた参照先情報を、上記追加したliタグの子ノードに配置する(ステップS231)。
次いで、サーバ装置2は、提示内容記述部52c(<page_body>要素配下)に規定されている削除対象のオブジェクトの内容を削除し(ステップS232)、図11に示すステップS115又は図12に示すステップS1155に戻る。
図18(A)は、タブ名(tabview属性)が設定されている場合の上記オブジェクト削除処理前の提示形式制約記述部52bと提示内容記述部52cにおける一部分を示し、図18(B)は、上記オブジェクト削除処理後の提示形式制約記述部52bと提示内容記述部52cにおける一部分を示す(図15(A)の表示に対応)。上記オブジェクト削除処理により、図18(B)に示すように、“ブロック1”及び“ブロック2”は、同じタブ表示グループ(識別名が“tab1”)として規定され、これらのオブジェクトの内容は参照先情報に置き換えられていることが判る(なお、“ブロック1”のオブジェクトの内容は、当該タブ表示グループ内に規定されている)。また、“ブロック3”及び“ブロック4”は、同じタブ表示グループ(識別名が“tab2”)として規定され、これらのオブジェクトの内容は参照先情報に置き換えられていることが判る(なお、“ブロック3”のオブジェクトの内容は、当該タブ表示グループ内に規定されている)。
次に、上記オブジェクト削除処理を経て生成されたページデータが、端末装置1に送信され表示された後に、ユーザが、操作部を操作して、上述したリンク表示を選択(例えば、クリック)した場合の処理について、図19乃至図22等を参照して説明する。
図19は、端末装置1においてリンク表示が選択された場合の当該端末装置1とサーバ装置2における処理及びデータのやり取りの一例を示すシーケンス図であり、図20は、サーバ装置2における削除オブジェクトの取得処理の一例を示すフローチャートであり、図21は、サーバ装置2における新たな削除対象のオブジェクトの特定処理の一例を示すフローチャートであり、図22は、端末装置1におけるオブジェクトの表示切り替え処理の一例を示すフローチャートである。
端末装置1のユーザが、上述したリンク表示を、操作部を操作して、選択(例えば、クリック)すると、端末装置1は、参照先情報における切り替え表示の関数にセットされたオブジェクト(削除されているオブジェクト(以下、「削除オブジェクト」という)の識別名を含む削除オブジェクトの提示要求情報を、ネットワーク3を介してサーバ装置2に送信する(ステップS21)。
次いで、サーバ装置2は、端末装置1からの削除オブジェクトの提示要求情報を受信すると、返信用XMLデータを作成し(ステップS22)、削除オブジェクトの取得処理を行う(ステップS23)。
当該削除オブジェクトの取得処理においては、図20に示すように、サーバ装置2は、当該セッションにおいて記憶保存されている構造化データ(又はそのDOMドキュメントツリー)を取得し(ステップS301)、更に、上記受信した削除オブジェクトの提示要求情報に含まれる削除オブジェクトの識別名を取得する。(ステップS302)。
次いで、サーバ装置2は、上記取得した構造化データにおける提示内容記述部52cにおいて規定された識別名を参照して(<page_body>要素配下におけるid属性を辿って(走査して))(ステップS303)、上記取得した削除オブジェクトの識別名と一致する識別名に対応するオブジェクトを特定し、その削除オブジェクトの内容(<div id=・・・>と</div>の間の子ノード)を取得して(ステップS304)、上記返信用XMLデータにセットする(ステップS305)。
次に、サーバ装置2は、図19に示すように、新たな削除対象のオブジェクトの特定処理を行う(ステップS24)。
当該新たな削除対象のオブジェクトの特定処理においては、図21に示すように、サーバ装置2は、上記取得した構造化データにおける提示形式制約記述部52bを参照して(<page_stylecontrol type="text/css">要素配下を辿って(走査して))(ステップS310)、上記取得した削除オブジェクトの識別名と一致する識別名に対応するオブジェクトを特定し、その削除オブジェクトにタブ名(tabview属性)が設定されているか否かを判別し(ステップS311)、設定されている場合には(ステップS311:Y)、ステップS312へ、設定されていない場合には(ステップS311:N)、ステップS314へ、夫々移行する。
ステップS312では、サーバ装置2は、上記削除オブジェクト設定されているタブ名をタブ表示グループの識別名として取得する。
次いで、サーバ装置2は、取得した識別名を、上記削除オブジェクトがセットされた返信用XMLデータにセットする(ステップS313)。
一方、ステップS314では、上記構造化データにおける提示形式制約記述部52bから、上記削除オブジェクトの優先度情報を取得する。
次いで、サーバ装置2は、上記構造化データにおける提示形式制約記述部52bに規定されている各オブジェクトに付加された優先度情報を参照し、削除オブジェクトの次に高い優先度を持つオブジェクト(以下、「新たな削除対象のオブジェクト」という)を特定し、その識別名を取得する(ステップS315)。
次いで、サーバ装置2は、上記特定された新たな削除対象のオブジェクトにオブジェクト名(name属性)が設定されているか否かを判別し(ステップS316)、設定されている場合には(ステップS316:Y)、当該オブジェクトのオブジェクト名を取得し(ステップS317)、ステップS319に移行する。
一方、オブジェクト名が設定されていない場合には(ステップS316:N)、当該オブジェクトの冒頭文字列がオブジェクト名の代わりに取得され(ステップS318)、ステップS319に移行される。
ステップS319では、サーバ装置2は、当該新たな削除対象のオブジェクトへリンクするための参照先情報(例えば、(例えば、<a href=“切り替え表示の関数(オブジェクトの識別名)”>オブジェクト名</a>))を新規作成する。
次いで、サーバ装置2は、上記ステップS315で取得した識別名と上記ステップS317で取得したオブジェクト名(又は上記ステップS318で取得したオブジェクトの冒頭文字列)を、夫々、上記作成した参照先情報にセットする(組み込む)(ステップS320)。
次いで、サーバ装置2は、上記識別名等がセットされた参照先情報を、上記削除オブジェクトがセットされた返信用XMLデータにセットする(ステップS321)。
そして、サーバ装置2は、図19に示すように、上記セットされた返信用XMLデータを含む応答情報を、端末装置1に対して送信する(ステップS25)。
次いで、端末装置1は、サーバ装置2からの応答情報を受信すると、オブジェクトの表示切り替え処理を開始する(ステップS26)。
当該オブジェクトの表示切り替え処理においては、図22に示すように、先ず、端末装置1は、受信された返信用XMLデータに参照先情報が含まれているか(セットされているか)否かを判別し(ステップS401)、含まれている場合には(ステップS401:Y)、ステップS402に移行し、含まれていない場合には(ステップS401:N)、ステップS406に移行する。
ステップS402では、端末装置1は、受信された返信用XMLデータから参照先情報を取得する。
次いで、端末装置1は、当該取得した参照先情報中にセットされている識別名に対応するオブジェクト(新たな削除対象のオブジェクト)の内容(<div id=・・・>と</div>の間の子ノード)を、当該参照先情報に置き換える(ステップS403)。これにより新たな削除対象のオブジェクトは削除される。
次いで、端末装置1は、受信された返信用XMLデータから削除オブジェクトの取得して(ステップS404)、ページデータにおける当該削除オブジェクトの識別名に対応する位置に削除オブジェクトの内容をセットし、これを表示画面上に表示し(ステップS405)、当該処理を終了する。
こうして、オブジェクトの切り替え表示が行われることになる。
一方、ステップS406では、端末装置1は、受信された返信用XMLデータから識別名(タグ名)を取得する。
次いで、端末装置1は、上記取得した識別名に対応するタブ表示グループにおいてliタグの子ノードに配置されている参照先情報のうち、新たな削除対象のオブジェクト(現在表示されているオブジェクト)の参照先情報を有効設定し(ステップS407)、削除オブジェクトの参照先情報を無効設定する(ステップS408)。
次いで、端末装置1は、受信された返信用XMLデータから削除オブジェクトの取得して(ステップS409)、ページデータにおける当該削除オブジェクトの識別名に対応する位置に削除オブジェクトの内容をセットし、これを表示画面上に表示し(ステップS410)、当該処理を終了する。
こうして、同一のタブ表示グループにおける共通の表示エリア上で、オブジェクトの切り替え表示が行われることになる。
以上説明したように、上記変形例によれば、ユーザは、提示形式の調整により削除されたオブジェクトをリンク表示により認知することができ、当該リンク表示の選択により削除されたオブジェクトを表示することができる。
更に、上記削除されたオブジェクトを表示する代わりに別のオブジェクトを削除(切り替え表示)するように構成したので、一つのページの表示エリアに含まれるはずであったオブジェクトを、ページの遷移(再読み込み)を行うことなく、ページ内のオブジェクトを切り替えることで連続的に表示させることができる。しかも、上記削除(切り替え表示)は、オブジェクト単位で行うように構成したので、コンテンツの構成上のかたまり(意味上のかたまり)を損なうことがない。
更にまた、表示エリアを共通とする複数のオブジェクトに同一のグループ情報を付加し、それらのオブジェクトはその表示エリア内で切り替え表示されるように構成したので、同一のグループ情報が付加されていない他のオブジェクトから独立させることができ、より効果的な表示を行うことができる。
更にまた、表示切り替え時においてサーバ装置2から補完されるデータ(削除オブジェクト等)は、XML形式で端末装置1に送信されるため、端末装置1側では容易にデータを補完することができる。
なお、上記変形例において、例えば、新たに削除対象とすべき他のオブジェクトが無い(例えば、他のオブジェクトのいずれも削除できない(例えば、priority=”0”のオブジェクトや、そもそも優先度情報が付加されていないオブジェクト))、場合には、上記リンク表示の選択により、サーバ装置2は、これにリンクされるオブジェクトをページにて表示させるように構成しても良い。
なお、上記実施形態においては、端末装置1の動作環境を示す情報を端末情報に含め、これに基づいて、サーバ装置2が、構造化データを取得し、端末装置1の端末情報に基づいて、取得された構造化データに規定されたオブジェクトの提示形式を、当該端末装置1に合った(適した)提示形式に調整するようにしたが、これに限定されるものではなく、例えば、端末装置1の種類(PC、PDA、携帯電話機等の種類)を示す情報を端末情報に含め、かかる端末装置1の種類に基づいて(例えば、提示形式制約記述部52bには、当該種類に応じた各オブジェクトの制約条件、各オブジェクトの優先度情報等が規定される)、サーバ装置2が、取得された構造化データに規定されたオブジェクトの提示形式を、当該端末装置1に合った(適した)提示形式に調整するように構成しても良い。
また、上記実施形態において、本発明の端末情報取得手段、構造化データ取得手段、提示形式調整手段、履歴情報蓄積手段、及び提示手段の機能をサーバ装置2において実現された場合の例について説明したが、本発明の端末情報取得手段、構造化データ取得手段、提示形式調整手段、履歴情報蓄積手段及び提示手段の一部又は全部の機能を端末装置1において実現するように構成しても良い。例えば、端末装置1が、自己の端末情報を取得すると共に、上記コンテンツデータベース22cに蓄積されている構造化データをサーバ装置2から取得し、当該取得された端末情報に基づいて、当該取得された構造化データに規定されたオブジェクトの提示形式を、当該端末装置1に合った提示形式に調整して、調整された提示形式で提示情報としてのページデータをユーザに対して提示させるように構成しても良い。また、端末装置1が、提示情報の提示履歴を示す履歴情報(例えば、状態保持ID)を蓄積し、提示対象となるユーザに対応する履歴情報を参照して前回提示されたページデータとしてのページデータに対応する構造化データを取得するように構成しても良い。