(57)【要約】【課題】Ａｊａｘの技術において、表示されたウェブページの所定の領域にてスクロール操作が行なわれた場合、別の領域のスクロールも連動して行なわれる技術を提供する。【解決手段】スクロールが可能な主画面と、主画面のスクロールに応じてスクロールが可能なサブ画面と、をディスプレイ上に表示するブラウザ装置であって、ディスプレイに表示する主画面情報を保持し、スクロールに応じてディスプレイに表示するために不足する主画面情報を通信により取得して追加記録し、また、ディスプレイに表示するサブ画面情報を保持し、スクロールに応じてディスプレイに表示するために不足するサブ画面情報を通信により取得して追加記録するブラウザ装置を提供する。【選択図】図２
2008112214.tif 000002
【特許請求の範囲】
【請求項１】
Ｘ軸に対するスクロールであるＸ軸スクロールが可能な主画面と、
前記主画面のスクロールに応じてＸ軸に対してスクロール可能なＸ方向画面と、
を表示するブラウザ装置であって、
ディスプレイに表示する主画面情報を保持する主画面情報保持部と、
Ｘ軸スクロールに応じてディスプレイに表示するために不足する主画面情報を通信により取得して主画面情報保持部に追加記録するＸ軸主画面補間部と、
ディスプレイに表示するＸ方向画面情報を保持するＸ方向画面情報保持部と、
前記Ｘ軸スクロールに応じてディスプレイに表示するために不足するＸ方向画面情報を通信により取得してＸ方向画面情報保持部に追加記録するＸ方向画面補間部と、
を有するブラウザ装置。
【請求項２】
主画面はＹ軸に対するスクロールであるＹ軸スクロールも可能であり、
前記主画面のスクロールに応じてＹ軸に対してスクロール可能なＹ方向画面と、
Ｙ軸スクロールに応じてディスプレイに表示するために不足する主画面情報を通信により取得して主画面情報保持部に追加記録するＹ軸主画面補間部と、
ディスプレイに表示するＹ方向画面情報を保持するＹ方向画面情報保持部と、
前記Ｙ軸スクロールに応じてディスプレイに表示するために不足するＹ方向画面情報を通信により取得してＹ方向画面情報保持部に追加記録するＹ方向画面補間部と、
を有する請求項１に記載のブラウザ装置。
【請求項３】
前記画面情報はディスプレイ上にて所定の大きさを占めるブロックを単位とする情報である請求項１に記載のブラウザ装置。
【請求項４】
Ｘ方向画面情報は、日を表示するための情報であり、主画面情報は、各日のスケジュールを表示するための情報である請求項３に記載のブラウザ装置。
【請求項５】
主画面情報は、ディスプレイ上にてＸ軸方向に所定の幅を占めるブロックであるＸブロックを単位とする情報であり、各Ｘブロックは、各Ｘブロックの幅を有しかつＹ軸方向への長さが異なり得るブロックであるＹブロックを単位として含む情報である請求項２に記載のブラウザ装置。
【請求項６】
Ｘブロックの間では、ＹブロックのＹ軸方向の位置は異なり得る請求項５に記載のブラウザ装置。
【請求項７】
Ｘブロックは、放送局の一に対応し、Ｙブロックは、そのＹブロックを含むＸブロックの放送局の番組情報を含む請求項６に記載のブラウザ装置。
【請求項８】
前記画面情報は構造化文書により記述され、
前記補間部は、非同期通信により画面情報を取得する請求項１から７のいずれかに記載のブラウザ装置。
【請求項９】
前記画面情報は、コンテンツ情報識別子と関連付けられており、
ディスプレイ上におけるＧＵＩにより画面情報のドラッグ・ドロップ操作を可能とするドラッグ・ドロップ操作部と、
前記ドラッグ・ドロップ操作に応じて前記画面情報にて識別されるコンテンツ情報に対する処理を実行する処理実行部と、をさらに有する請求項１から８のいずれかに記載のブラウザ装置。
【請求項１０】
Ｘ軸に対するスクロールであるＸ軸スクロールが可能な主画面と、
前記主画面のスクロールに応じてＸ軸に対してスクロール可能なＸ方向画面と、
を表示するブラウザ装置の動作方法であって、
ディスプレイに表示する主画面情報を保持する主画面情報保持ステップと、
Ｘ軸スクロールに応じてディスプレイに表示するために不足する主画面情報を通信により取得して主画面情報保持ステップにより追加記録を行なうＸ軸主画面補間ステップと、
ディスプレイに表示するＸ方向画面情報を保持するＸ方向画面情報保持ステップと、
前記Ｘ軸スクロールに応じてディスプレイに表示するために不足するＸ方向画面情報を通信により取得してＸ方向画面情報保持ステップにより追加記録するＸ方向画面補間ステップと、
を含むブラウザ装置の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブラウザ装置及びブラウザ装置の動作方法などに関する。特に、スクロール時にディスプレイに表示するために不足する画面情報を通信により取得可能なブラウザ装置などに関する。
【背景技術】
【０００２】
インターネットとパーソナルコンピュータとの普及が近年著しい。インターネットにおびただしい数のパーソナルコンピュータなどの計算機が接続されるようになった。ユーザは、インターネット上に存在する情報にアクセスするために、パーソナルコンピュータなどにインストールされたブラウザを専ら用いている。このため現在では、インターネットの存在無しではパーソナルコンピュータなどの計算機は存在し得ず、また、ブラウザ抜きのパーソナルコンピュータなどの計算機も存在し得ないと言っても過言ではない。
【０００３】
ブラウザで閲覧される情報のほとんどは、構造化文書の記述言語の一種であるＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋ−ｕｐ  Ｌａｎｇｕａｇｅ）で記述されたウェブページである。ブラウザが動作するパーソナルコンピュータなどの計算機（クライアント）から、サーバなどへウェブページの要求が送信され、その要求に応じて返信されるウェブページがブラウザに表示される。そして、クライアントのユーザが、例えば、ブラウザに表示されたウェブページに入力を行ない、送信ボタンなどを押下することにより、なんらかの要求がサーバなどに送信され、それに応じて返信されるウェブページがクライアント表示される、という動作が繰り返される。したがって、クライアントにおける表示が変更されるのは、クライアントでのユーザの入力やスクロールなどの操作を除けば、クライアントから送信された要求に応じて返信されるウェブページが表示される時だけであった。
【０００４】
しかし、このように、クライアントからの要求に応じてサーバなどがウェブページの返信を行なう構成では、サーバなどに負担がかかってしまう。そこで、Ｊａｖａ（登録商標）やＬｉｖｅＳｃｒｉｐｔ、ＪａｖａＳｃｒｉｐｔなどで記述されたプログラムをクライアントにダウンロードさせてクライアントで計算などを実行させ、それまでの技術ではサーバなどで行なわれていた計算などの処理をクライアントに行なわせたり、ウェブページを動的に変更して表示を変更させたりすることが行なわれるようになってきた。
【０００５】
特に、ここ一年ほどは、ＪａｖａＳｃｒｉｐｔなどで記述されたプログラムなどをウェブページに埋め込み、さまざまなユーザインターフェースを提供する技術が発展してきている。例えば、ＪａｖａＳｃｒｉｐｔなどのプログラムから非同期通信を実現するために各種ブラウザが提供しているＸＭＬＨｔｔｐＲｅｑｕｅｓｔを利用し、また、既存のＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔ）などをも利用し、従来のウェブページでは考えられなかったユーザインターフェースを提供するＡｊａｘ（エイジャックス：Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪａｖａＳｃｒｉｐｔ＋ＸＭＬ）が、知られるようになってきた（例えば、非特許文献１参照。）。このＡｊａｘの技術に基づいて、例えば、Ｇｏｏｇｌｅ ＭａｐｓやＧｏｏｇｌｅ  Ｓｕｇｇｅｓｔなどのサービスが提供されている。
【０００６】
なお、非同期通信を利用して、ウェブページを動的に変更する技術については、非特許文献１よりも先に、特許文献１に開示されている。
【非特許文献１】"Ajax: A New Approach to Web Applications," [online], 2005年2月18日, Jesse James Garrett, インターネット＜ＵＲＬ：http://www.adaptivepath.com/publications/essays/archives/000385.php＞
【特許文献１】特開２００３−１４１０７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
Ａｊａｘに関する技術は日進月歩ではあるが、表示されたウェブページの所定の領域において、スクロール操作が行なわれた場合、別の領域のスクロールも連動して行なわれ、また、スクロールにより今まで表示されていなかった部分の情報を非同期の通信などを用いて取得するという技術の開示については、出願人が知る限りでは行なわれていない。したがって、本願の出願人は、かかる技術を開示することにより、Ａｊａｘなどに関する技術の進歩に寄与するものである。
【課題を解決するための手段】
【０００８】
かかる目的を達成するために、以下では、スクロールが可能な主画面と、主画面のスクロールに応じてスクロールが可能なサブ画面と、をディスプレイ上に表示するブラウザ装置であって、ディスプレイに表示する主画面情報を保持し、スクロールに応じてディスプレイに表示するために不足する主画面情報を通信により取得して追加記録し、また、ディスプレイに表示するサブ画面情報を保持し、スクロールに応じてディスプレイに表示するために不足するサブ画面情報を通信により取得して追加記録するブラウザ装置について開示を行なう。
【発明の効果】
【０００９】
開示がされるブラウザ装置などによれば、表示するべきデータの全てをクライアントに持たせることなく、必要な部分の表示が行なえる。これにより、必要なメモリなどの記憶領域のサイズの増大を防ぐことができる。また、サブ画面の表示を用いることにより、表示するべきデータの行や列の見出しなどを、ウェブページの設計者や操作時に自由に設定することができ、これまでにないユーザインターフェースを提供できるなどの効果がある。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための最良の形態について、図を参照しながら実施形態として説明を行なって開示を行なう。なお、本発明は、以下の説明に何ら限定されるものではなく、その要旨を逸脱しない限りにおいて、種々なる態様にて実施することができる。
【００１１】
（実施形態１）
実施形態１として、Ｘ軸に対するスクロールが可能な主画面と、主画面のスクロールに応じてＸ軸に対するスクロールが可能なＸ方向画面と、をディスプレイ上に表示するブラウザ装置であって、ディスプレイに表示する主画面情報を保持し、Ｘ軸に対するスクロールに応じてディスプレイに表示するために不足する主画面情報を通信により取得して追加記録し、また、ディスプレイに表示するＸ方向画面情報を保持し、Ｘ軸に対するスクロールに応じてディスプレイに表示するために不足するＸ方向画面情報を通信により取得して追加記録するブラウザ装置などについて開示を行なう。本実施形態におけるＸ方向画面が、課題を解決するための手段の項に記載したサブ画面となり、Ｘ方向画面情報がサブ画面情報となる。
【００１２】
図１は、実施形態１に係るブラウザ装置のディスプレイの表示の一例を示す。ブラウザ装置１０１は、ディスプレイ１０２を有する。ディスプレイ１０２は、専ら視覚により人に情報を認識させるための装置である。例えば、液晶やプラズマディスプレイなどを用いて実現できる。ディスプレイ１０２の内部には、主画面１０３とＸ方向画面１０４とが表示される。
【００１３】
「主画面１０３」は、Ｘ軸スクロールが可能である画面（ウィンドウ）である。「Ｘ軸スクロール」とは、Ｘ軸に対するスクロールである。「Ｘ軸」とは、図１の最下部に示すように、所定の方向を示すための（仮想的な）軸である。例えば、水平方向を示すための軸である。もちろん、垂直方向を示していたり、任意の角度の方向を示していたりしてもよい。「Ｘ軸に対するスクロール」とは、このＸ軸の方向へ画面に表示されている内容を移動させる（スクロールさせる）ことである。「Ｘ軸の方向へ」とは、Ｘ軸と平行に移動をさせたり、Ｘ軸の方向を成分として含む方向へ移動をさせたりすることをいう。
【００１４】
「Ｘ方向画面」１０４は、主画面１０３のスクロールに応じてＸ軸に対してスクロール可能な画面である。「主画面１０３のスクロールに応じてスクロール可能な」とは、主画面１０３におけるスクロールと、Ｘ方向画面１０４におけるスクロールと、の間には、因果関係が成立し得ることを意味する。例えば、主画面１０３の内部でマウスなどのポインティングデバイスのカーソルが存在する状態で、ドラッグを行なうことにより、そのドラッグにより主画面１０３でスクロールが発生すると、それに起因して、Ｘ方向画面１０４においてもスクロールが発生する。主画面１０３で発生するスクロールの方向と、Ｘ方向画面１０４で発生するスクロールの方向とは一致しているのが好ましい。ただし、主画面１０３で発生するスクロールの方向のうち、Ｘ軸の方向への成分を含む方向にＸ方向画面１０４でスクロールが発生してもよい。例えば、主画面１０３で、Ｘ軸に対して３０度の方向に１００ピクセルのスクロールが発生した場合、Ｘ方向画面では、Ｘ軸の方向に、１００＊ｃｏｓ（３０度）ピクセルのスクロールが発生してもよい。
【００１５】
また、主画面１０３でのスクロールの発生と、Ｘ方向画面でのスクロールとの発生は、同時である必要はない。例えば、主画面１０３でのスクロールの発生に遅れて、Ｘ方向画面でのスクロールが発生してもよい。また、遅れの時間長は、主画面１０３でのスクロールの角度、長さによって変化するようになっていてもよい。例えば、主画面１０３で発生したスクロールによる移動長が大きければ大きいほど、Ｘ方向画面でのスクロールの発生の開始時間が遅れるようになっていてもよい。これにより、長い距離のスクロールによる処理の量などをユーザに知らせることなどができる。また、主画面１０３で発生するスクロールによる移動長と、Ｘ方向画面で発生するスクロールによる移動長とは同じであってもよいし、異なっていてもよい。例えば、Ｘ方向画面１０４で発生するスクロール長が、主画面１０３で発生するスクロール長の半分になっていたり、あるいは３倍になっていてもよい（このようにすることは、例えば、Ｘ方向画面１０４のＸ軸方向の長さが主画面１０３のＸ軸方向の長さの半分であったり、３倍になっているような場合に好適である）。
【００１６】
以上では、主画面１０３におけるスクロールの発生により、Ｘ方向画面１０４にスクロールが発生すると説明した。しかし、これに限定されるものではなく、Ｘ方向画面１０４におけるスクロールの発生により、主画面１０３にスクロールが発生してもよい。また、第三の画面におけるスクロールの発生により、主画面１０３とＸ方向画面１０４とにスクロールが発生してもよい。また、さらに第四の画面にスクロールが発生してもよい。
【００１７】
図１では、主画面１０３の上にＸ方向画面１０４が配置されているが、任意の場所に配置されていてもよいことはもちろんである。例えば、主画面１０３の下にＸ方向画面１０４が配置されていてもよい。また、主画面１０３とＸ方向画面１０４とが離れていても接していてもよい。また、必要に応じては、重なっていてもよい。重なっている場合には、上の位置（レイヤ）に配置される画面が透明、あるいは半透明になっているのが好ましい。また、Ｘ方向画面は、一つである必要はなく、例えば、主画面の上下の２箇所に表示されるようになっていてもよい。複数の箇所にＸ方向画面が配置される場合には、それぞれの箇所に配置されるＸ方向画面の表示は同じであってもよいし、異なっていてもよい。
【００１８】
上記では、主画面１０３でのスクロールは、マウスなどのドラッグにより発生するとしたが、これに限定されることはない。例えば、キーボードなどのキー操作によりスクロールが発生してもよいし、ディスプレイにスクロールバーや、スクロールの方向を示す矢印ボタンが表示されており、スクロールバーや矢印ボタンを操作することでスクロールが発生してもよい。
【００１９】
図２は、実施形態１に係るブラウザ装置の機能ブロック図を例示する。ブラウザ装置２０１は、主画面２０２と、Ｘ方向画面２０３と、を表示するディスプレイ２０４と、主画面情報保持部２０５と、Ｘ軸主画面補間部２０６と、Ｘ方向画面情報保持部２０８と、Ｘ方向画面補間部２０９と、を有する。
【００２０】
主画面２０２と、Ｘ方向画面２０３と、ディスプレイ２０４と、については、図１を参照して説明したので、ここでの説明は省略する。
【００２１】
「主画面情報保持部」２０５は、ディスプレイ２０４に表示する主画面情報を保持する。「主画面情報」とは、主画面２０２における表示態様を表わす情報である。例えば、グラフィックスデータ、ＨＴＭＬやＸＭＬで記述されたデータ、ＨＴＭＬやＸＭＬで記述されたデータを構文解析して得られるデータなどである。もし、新たな主画面情報が、主画面情報保持部２０５に保持された場合、その主画面情報の表示位置が、主画面２０２内にあれば、その新たな主画面情報による表示が主画面２０２に行なわれる。
【００２２】
「Ｘ軸主画面補間部」２０６は、Ｘ軸スクロールに応じてディスプレイに表示するために不足する主画面情報を、通信網２０７を介した通信により取得して、主画面情報保持部２０５に追加記録する。「Ｘ軸スクロールに応じてディスプレイに表示するために不足する主画面情報」とは、Ｘ軸スクロールというスクロールが主画面２０２で発生したことにより、新たに主画面２０２に表示されるべき状態になった領域に表示するべき主画面情報が、主画面情報保持部２０５に保持されていない場合における、表示するべき主画面情報を意味する。
【００２３】
図３は、主画面２０２でＸ軸スクロールが発生したために、Ｘ軸スクロールに応じてディスプレイに表示するために不足する主画面情報を説明するための図である。例えば、主画面が画面３０１であり、Ｘ方向画面が画面３０２であるとする。図３の上部がスクロール前の状態を示す。この状態では、主画面３０１には、左から「月曜日  体育の日」３０６、「火曜日  資源ゴミの日」３０７が表示され、「水曜日  燃えるゴミの日」３０８の一部が表示されているとする。また、Ｘ方向画面３０２には、「月曜日  体育の日」３０６に対応して「１０月９日」３０３、「火曜日  資源ゴミの日」３０７に対応して、「１０月１０日」３０４、「水曜日  燃えるゴミの日」３０８に対応して、「１０月１１日」３０５の一部が表示されている。
【００２４】
このとき、水平方向がＸ軸の方向であるとして、主画面３０１で左方向へのスクロールが発生して、図３の下図のようになったとする。すなわち、「火曜日  資源ゴミの日」３０７の一部と、「１０月１０日」の一部が主画面３０１とＸ方向画面３０２との左端に表示され、「水曜日  燃えるゴミの日」３０８と「１０月１０日」３０５の全体が表示され、また、「木曜日  燃えないゴミの日」３１０と「１０月１２日」３０９とが主画面３０１とＸ方向画面３０２とに表示され、その他、領域３１１と３１２が表示されたとする。このとき、「木曜日  燃えないゴミの日」３１０と「１０月１２日」３０９を表示するための主画面情報が、主画面情報保持部２０５に保持されていない場合には、この「木曜日  燃えないゴミの日」３１０を表示するための主画面情報が、「Ｘ軸スクロールに応じてディスプレイに表示するために不足する主画面情報」となる。また、スクロール前には、一部しか表示されていなかった「水曜日  燃えるゴミの日」の表示されていない部分に相当する情報、例えば、グラフィックスデータ、が、「Ｘ軸スクロールに応じてディスプレイに表示するために不足する主画面情報」となってもよい。
【００２５】
図３では、１０月９日などの日付を示すＸ方向画面情報と、「月曜日  体育の日」などの曜日とその日の予定などを示す主画面情報などのディスプレイ２０４上にて所定の大きさを占めるブロックが一つの単位となっている。そこで、ブロックを単位にした、Ｘ方向画面情報、主画面情報の部分それぞれに、識別情報などが予め付与されているとしてもよい。Ｘ軸主画面補間部２０６は、そのようなブロックと識別情報などを対応付けるテーブルや、ブロックの内容などに基づいて識別情報などを算出して、その識別情報などを通信網２０７などを経由した通信によりサーバ装置などから取得して、主画面情報保持部２０５に追加記録する。例えば、「木曜日  燃えないゴミの日」は、１０月１２日に対応するので、「ｓｃｈｅｄ−１０１２．ｔｘｔ」などの識別情報などを対応付けておいたり、算出したりして、この識別情報などを用いて、「木曜日  燃えないゴミの日」を表示するための主画面情報をサーバ装置などに対して要求する。なお、「サーバ装置」と記したが、ブラウザ装置の一部にサーバ装置が含まれていてもよい。この場合は、通信が一つの装置内で行なわれるのが好ましい。例えば、ブラウザ装置を実現するプロセスとサーバ装置を実現するプロセスとのプロセス通信などが一つの計算機などの中で行なわれる。
【００２６】
「Ｘ方向画面情報保持部」２０８は、ディスプレイに表示するＸ方向画面情報を保持する。「Ｘ方向画面情報」とは、Ｘ方向画面２０３における表示態様を表わす情報である。もし、新たなＸ方向画面情報が、Ｘ方向画面情報保持部２０８に保持された場合、そのＸ方向画面情報の表示位置が、Ｘ方向画面２０３内にあれば、その新たなＸ方向画面情報による表示がＸ方向画面２０３に行なわれる。
【００２７】
「Ｘ方向画面補間部」２０９は、前記Ｘ軸スクロールに応じて、ディスプレイ２０４に表示するために不足するＸ方向画面情報を通信により取得してＸ方向画面情報保持部２０８に追加記録する。
【００２８】
例えば、図３の上部から下部に示すように、Ｘ軸スクロールが主画面３０１などで発生したとすると、「１０月１２日」３０９を表示するためのＸ方向画面が、「前記Ｘ軸スクロールに応じて、ディスプレイ２０４に表示するために不足するＸ方向画面情報」となる。主画面情報のように、１０月９日などの日付を示すＸ方向画面情報のそれぞれの日付に対応するブロックが存在し、それぞれのブロックには、「ｄａｙ−１００９．ｔｘｔ」などの識別情報などを対応付けられていたり、算出されたりするのも、Ｘ軸主画面補間部２０６における説明と同様である。
【００２９】
図４は、図３に例示されるスクロールが行なわれる場合のブラウザ装置の内部におけるデータ構造の変化を説明するための図を例示する。図４（Ａ）は、Ｘ方向画面に表示されるべきＸ方向画面情報のデータ構造を例示する。図３の上部に示される状態では、日付のノード４０１の子ノードとして、"１０月９日"というテキスト情報などを含むノード４０２、"１０月１０日"のノード４０３、"１０月１１日"のノード４０４があったとする。このとき、左方向へのスクロールにより、「１０月１２日」３０９が表示されるようになるためには、「１０月１２日」３０９のＸ方向画面情報が不足するので、"１０月１２日"のノード４０５に相当するＸ方向画面情報が通信網２０７を介した通信などを用いてＸ方向画面補間部２０９により取得され、ノード４０５が生成されて、ノード４０１の子ノードとなる。また、同様に、一部が表示される領域３１１に対応するノードについても同様である。
【００３０】
同様に、図４（Ｂ）は、主画面に表示されるべき主画面情報のデータ構造を例示する。図３の上部に示される状態では、スケジュールのノード４０６の子ノードとして、更なる子ノードとして、"月曜日＜ＢＲ＞体育の日"というＨＴＭＬなどで記述されたデータを有する「１０月９日」のノード４０７と、"火曜日＜ｂｒ＞資源ゴミの日"というＨＴＭＬなどで記述されたデータを有する「１０月１０日」のノード４０８と、"水曜日＜ｂｒ＞燃えるゴミの日"というＨＴＭＬなどで記述されたデータを有する「１０月１１日」のノード４０９とがあったとする。このとき、左方向へのスクロールにより、「木曜日  燃えないゴミの日」３１０が表示されるようになるためには、この主画面情報が不足するので、"木曜日＜ｂｒ＞燃えないゴミの日"を子ノードとして有する「１０月１２日」のノード４１０に相当する主画面情報が通信網２０６などを介した通信などによりＸ軸主画面補間部２０６により取得され、ノード４１０が生成されて、ノード４０６の子ノードとなる。また、一部が表示される領域３１２に対応するノードについても同様である。
【００３１】
また、図３の下部においては、１０月９日の情報は表示されないので、ノード４０２、ノード４０７は削除されるようになっていてもよい。これにより、ブラウザ装置の動作に必要な記憶領域の増大を防止することができる。
図５は、図３に例示されたＸ方向画面情報保持部２０８により保持されるＸ方向画面情報（図５（Ａ））、主画面情報保持部２０５により保持される主画面情報（図５（Ｂ））を、構造化文書の記述言語に分類されるＨＴＭＬのＴＡＢＬＥタグを用いて記述した例である。図３に示すように、左方向へのスクロールが行なわれ、「１０月１２日」３０９を表示するためには、＜ｔｄ＞１０月１２日＜／ｔｄ＞を表わすノード（ＪａｖａＳｃｒｉｐｔのプログラミングにおいては「オブジェクト」と呼ばれる）を、ａｐｐｅｎｄＣｈｉｌｄメソッドあるいはそれに相当する電子回路などによる処理などを用いて追加する（なお、もし右方向へのスクロールが行なわれた場合には、ｉｎｓｅｒｔＢｅｆｏｒｅメソッドなどを用いて、オブジェクトが追加される）。具体的には、ｃｒｅａｔｅＥｌｅｍｅｎｔ（"ＴＤ"）メソッドを呼び出して、オブジェクトを作成し、そのオブジェクトのｉｎｎｅｒＴｅｘｔ属性あるいはｉｎｎｅｒＨＴＭＬ属性に、"１０月１２日"を設定して、ノード４０５に相当するオブジェクトを作り、ノード４０１に相当するオブジェクトのａｐｐｅｎｄＣｈｉｌｄメソッドを呼び出して追加を行なう（例えば、井上健語著「ＪａｖａＳｃｒｉｐｔリファレンス＆逆引きユーザ便利帳」秀和システム、２００６年発行 参照。）。なお、ａｐｐｅｎｄＣｈｉｌｄなどのメソッドは、ＸＭＬ（ｅＸｅｎｓｉｂｌｅ Ｍａｒｋ−Ｕｐ Ｌａｎｇｕａｇｅ）などの構造化文書を操作するための標準であるＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）で規定されているものである。ｉｎｎｅｒＴｅｘｔ属性やｉｎｎｅｒＨＴＭＬ属性はＤＯＭで規定されたものではないが、ＪａｖａＳｃｒｉｐｔ言語仕様デファクトスタンダードとして、各種ブラウザで、ＤＯＭを簡便に操作できるようにした拡張した属性であって、ＤＯＭに標準的に規定されている操作でも実現することができる。
【００３２】
同様に、「木曜日  燃えないゴミの日」３１０を表示するためには、＜ｔｄ＞木曜日＜ｂｒ＞燃えないゴミの日＜／ｔｄ＞に対応するオブジェクトを、ｃｒｅａｔｅＥｌｅｍｅｎｔ（"ＴＤ"）メソッドなどを呼び出すなどして生成し、そのｉｎｎｅｒＨＴＭＬ属性に、"木曜日＜ｂｒ＞燃えないゴミの日"を設定することで生成し、ノード４０６に相当するオブジェクトのａｐｐｅｎｄＣｈｉｌｄメソッドを呼び出すなどして追加を行なう。
【００３３】
また、図３では、「１０月９日」３０３、「月曜日  体育の日」３０６は、表示されなくなるが、このような場合には、ｒｅｍｏｖｅＣｈｉｌｄメソッドなどを用いて「１０月９日」３０３、「月曜日  体育の日」３０６に対応するオブジェクトを削除してもよい。
【００３４】
図６は、ＤＩＶタグを用いて、図５と同等のものを記述した例である。この例では、それぞれのＤＩＶタグで生成されるブロックには、ｉｄの属性の指定を行ない、識別子を付けている。例えば、「１０月９日」３０３に対応するブロックには、"1009"という識別子が付けられている。また、ｃｌａｓｓ属性は要素の分類を示すために用いるものであるが、ここでは、それぞれのブロックを表示するときのスタイルシートの定義を参照するために用いている。例えば、ブロックを表示する時の幅、高さがピクセル数などを単位として指定がされているスタイルシートが参照される。また、背景の色や文字の色、書体などもスタイルシートで指定可能である（例えばエ・ビスコム・テック・ラボ著「ＨＴＭＬ／ＸＨＴＭＬ＋ＣＳＳ例解スタイル辞典」毎日コミュニケーションズ、２００６年発行 参照。）。
【００３５】
図３に示すように、左方向へのスクロールが行なわれ、「１０月１２日」３０９を表示するためには、＜ｄｉｖ  ｉｄ＝"1012"  ｃｌａｓｓ＝"Ｄａｙ"＞１０月１２日＜／ｄｉｖ＞を表わすオブジェクトを、ａｐｐｅｎｄＣｈｉｌｄメソッドなどを用いて追加する（なお、もし右方向へのスクロールが行なわれた場合には、ｉｎｓｅｒｔＢｅｆｏｒｅメソッドなどを用いて、オブジェクトが追加されるのも同様である）。具体的には、ｃｒｅａｔｅＥｌｅｍｅｎｔ（"ＤＩＶ"）メソッドを呼び出すなどして、オブジェクトを作成し、そのオブジェクトのｉｎｎｅｒＴｅｘｔ属性あるいはｉｎｎｅｒＨＴＭＬ属性、ｉｄ属性、ｃｌａｓｓ属性などを適宜設定して、ノード４０５に相当するオブジェクトを作り、ノード４０１に相当するオブジェクトのａｐｐｅｎｄＣｈｉｌｄメソッドを呼び出すなどして追加を行なう。
【００３６】
同様に、「木曜日  燃えないゴミの日」３１０を表示するためには、＜ｄｉｖ  ｉｄ＝"1012"  ｃｌａｓｓ＝"Ｓｃｈｅｄｕｌｅ"＞木曜日＜ｂｒ＞燃えないゴミの日＜／ｔｄ＞に対応するオブジェクトを、ｃｒｅａｔｅＥｌｅｍｅｎｔ（"ＤＩＶ"）メソッドを呼び出すなどして生成し、そのｉｎｎｅｒＨＴＭＬ属性、ｉｄ属性、ｃｌａｓｓ属性などを適宜設定して、ノード４０６に相当するオブジェクトのａｐｐｅｎｄＣｈｉｌｄメソッドを呼び出すなどして追加を行なう。
【００３７】
図３では、「１０月９日」３０３、「月曜日  体育の日」３０６は、表示されなくなるが、このような場合には、ｒｅｍｏｖｅＣｈｉｌｄメソッドなどを用いて「１０月９日」３０３、「月曜日  体育の日」３０６に対応するオブジェクトを削除してもよいことは図５を参照した説明と同様である。
【００３８】
図７は、実施形態１に係るブラウザ装置における処理の流れを説明するフローチャートを例示する。図７のフローチャートの処理は、Ｘ軸スクロールの操作が検出される都度、行なわれる。ステップＳ７０１では、Ｘ軸スクロール量の計算を行なう。例えば、左から右に向かう向きを正となるように、ピクセル数などを単位としてＸ軸スクロール量を計算する。ステップＳ７０２では、主画面情報の表示位置の変更を行なう。具体的には、ＴＡＢＬＥタグのオブジェクトやＤＩＶタグのｓｔｙｌｅ．ｌｅｆｔ属性などが有する値に、ステップＳ７０１で計算されたスクロール量を加えるなどする。ステップＳ７０３では、Ｘ方向画面情報の表示位置の変更を行なう。この変更は、ｓｔｙｌｅ．ｌｅｆｔの保持する値の変更に基づいて行なわれる。
【００３９】
ステップＳ７０４では、不足する画面情報があるかどうかを判断する。この判断は、Ｘ方向画面では、例えば、＜ｔｄ＞１０月９日＜／ｔｄ＞＜ｔｄ＞１０月１０日＜／ｔｄ＞＜ｔｄ＞１０月１１日＜／ｔｄ＞については、＜ｔｄ＞１０月９日＜／ｔｄ＞などの表示幅を、ｗｉｄｔｈ属性などを参照して求めて３倍することで、＜ｔｄ＞１０月９日＜／ｔｄ＞＜ｔｄ＞１０月１０日＜／ｔｄ＞＜ｔｄ＞１０月１１日＜／ｔｄ＞の表示幅を求め、それとｓｔｙｌｅ．ｌｅｆｔ属性の値、Ｘ方向画面の表示幅を参照などして行なう。主画面についても同様である。もし、不足する画面情報があるとステップＳ７０４で判断されれば、ステップＳ７０５以下の処理を行ない、不足する画面情報がないと判断されれば、図７のフローチャートの処理を終了する。
【００４０】
ステップＳ７０５では、要求するべき主画面情報と要求するべきＸ方向画面情報の特定を行なう。要求は、通信網２０７を介した通信などを用いて行ない、サーバ装置などに対して行なわれる。主画面情報とＸ方向画面情報の特定は、識別情報などを用いて行なう。ステップＳ７０６では、ステップＳ７０５で特定された主画面情報とＸ方向画面情報の要求を行なう。ステップＳ７０７では、ステップＳ７０６で要求された主画面情報とＸ方向画面情報の受信を行なう。ステップＳ７０８では、ステップＳ７０７で受信された主画面情報とＸ方向画面情報の追加記録を行なう。上述したように、ｃｒｅａｔｅＥｌｅｍｅｎｔメソッドを呼び出すなどし、得られたオブジェクトの属性を適宜設定して、ａｐｐｅｎｄＣｈｉｌｄメソッドなどを用いる。ステップＳ７０９では、ステップＳ７０８の追加記録の結果として、追加記録された主画面情報とＸ方向画面情報の表示が行なわれる。
【００４１】
なお、ステップＳ７０５からステップＳ７０９までにおいては、主画面情報とＸ方向画面情報とで常に組をなして処理がされる記述を行なったが、主画面情報の特定、要求、受信、追加記録、表示と、Ｘ方向画面情報の特定、要求、受信、追加記録、表示と、の処理が別々に、例えば、並列して行なわれるようになっていてもよい。また、後に記述するように、主画面情報、Ｘ方向画面情報の要求から受信までの処理は、非同期通信を用いて行なわれ、追加記録などは、コールバックの処理として行なわれるようになっていてもよい。
【００４２】
図８は、ブラウザ装置のハードウェア構成図を例示する。ハードウェアとしてのブラウザ装置８０１は、表示回路８０２、表示器８０３、入力回路８０４、入力器８０５、記憶回路８０６、通信回路８０７、制御回路８０８とを有する。表示回路８０２は、ディスプレイの表示を行なうための表示器８０３を制御するための回路である。表示回路８０２は、制御回路８０８により制御され、表示器８０３の表示が変更などされる。入力回路８０４は、マウスやキーボードなどの入力器８０５を制御するための回路である。入力器８０５を通じての入力は、入力回路８０４により検出され、検出された結果は、制御回路８０８へ送られる。記憶回路８０６は、情報の記憶のための回路であり、メモリ素子や磁気ディスクなどを用いて実現される。記憶回路８０６には、主画面情報保持部２０５、Ｘ方向画面情報保持部２０８により保持される主画面情報、Ｘ方向画面情報が記憶される。また、主画面、Ｘ方向画面の領域の位置、サイズや、不足する画面情報の有無を判断したり、不足する画面情報を特定するための主画面などにおける位置などと画面情報の識別情報などの対応関係を示す表データや、主画面などにおける位置などから識別情報などを算出するためのプログラムなどが制御情報として記憶される。通信回路８０７は、Ｘ軸主画面補間部２０６、Ｘ方向画面補間部２０７が画面情報を取得するための通信を実行するための回路である。
【００４３】
制御回路８０８は、表示回路８０２、入力回路８０４、記憶回路８０６、通信回路８０７を制御するための回路である。具体的な制御の処理の例は次の通りである。すなわち、入力回路８０４の入力器８０５からの入力の検出結果を取得して、Ｘ軸スクロールが行なわれたかどうかを判断する。もし、Ｘ軸スクロールが行なわれたと判断されれば、図７に例示されたフローチャートの処理を行ない、Ｘ軸スクロール量の計算を行ない、主画面情報、Ｘ方向画面情報の表示位置を変更するために、表示回路を制御する。また、記憶回路８０６に記憶された制御情報を適宜変更する。そして、不足する画面情報があるかどうかを、制御情報などを参照などして判断し、不足する画面情報があれば、制御情報などを参照などして特定を行ない、通信回路８０７を制御して要求をサーバ装置などに対して行ない、画面情報を受信する。受信された画面情報は、主画面情報あるいはＸ方向画面情報として記憶を行ない、記憶された画面情報を表示するように、表示回路を制御する。
【００４４】
また、制御回路８０８の中には、記憶回路８０６などに記憶されたＪａｖａＳｃｒｉｐｔなどのプログラムを解釈実行するための電子回路であるインタープリタ回路が備わっている構成も考えられる。
【００４５】
また、ブラウザ装置は、計算機をブラウザ装置として動作させるプログラムを計算機で動作させることでも実現が可能である。すなわち、主画面情報保持部２０５、Ｘ軸主画面補間部２０６、Ｘ方向画面情報保持部２０８、Ｘ方向画面補間部２０９をそれぞれ実現するモジュールからなるプログラムを、ＣＰＵ、メモリ、ハードディスク装置、キーボード、マウス、ディスプレイ装置、通信インターフェースなどを有する計算機に、インストールなどして、ＣＰＵ、メモリ、ハードディスク装置、キーボード、マウス、ディスプレイ装置、通信インターフェースのハードウェア資源を動作させることで、ブラウザ装置を実現することもできる。
【００４６】
図９は、画面情報をブラウザ装置が要求して取得を行なう際のブラウザ装置とサーバ装置などとの間で行なわれる非同期通信の過程のシーケンス図を例示する。ブラウザ装置が画面情報を要求する際には、ＸＭＬＨｔｔｐＲｅｑｕｅｓｔオブジェクトを作成し、そのオブジェクトのコールバック関数として、例えば、ｓｔａｔｕｓＣｈｅｃｋを設定しておく。そして、ｏｐｅｎメソッドに、例えば、１０１２．ｔｘｔで特定される画面情報を要求するための引数を設定して、ｓｅｎｄメソッドを呼ぶ（以上がステップＳ９０１）。この後は、ブラウザ装置は、受信の待ち状態に入ることなく、別の処理を行なうことができる。サーバ装置などでは、要求された１０１２．ｔｘｔの画面情報の返信準備が完了すれば、順次その画面情報を返信する。この返信がブラウザ装置に到着するごとに、コールバック関数であるｓｔａｔｕｓＣｈｅｃｋが呼ばれて、１０１２．ｔｘｔの画面情報の受信を行ない、主画面情報保持部２０５やＸ方向画面情報保持部２０８に追加記録が行なわれる。このように非同期通信を用い、コールバック関数で受信後の処理を行なうことにより、ブラウザ装置は、画面情報の受信のための待ち状態に陥ることがないので、ユーザはブラウザ装置に対する処理を連続して行なうことができる。
【００４７】
例えば、１０１２．ｔｘｔで特定される画面情報は、要求が行なわれるサーバ装置などの内部で、ブラウザ装置ごとやブラウザ装置のユーザごとに異なるものとしたり、あるいは、利用時間の経過長などに応じて変化させたりすることもできる。また、例えば、１０１２．ｔｘｔが１０月１２日を示す画面情報を特定するのであれば、１０月１２日が過去の日であるか、今日であるか、明日以降の日かによって、１０月１２日という文字列を表示する際のフォントを変えたり大きさ、色を変えたりすることも可能である。
【００４８】
また、表示されている内容を編集できるようにすることもできる。例えば、１０月１２日が、「都合により燃えないゴミの集配はしない」ということになったときに、その旨を画面上で入力することによって、表示を修正するとともに、変更結果をサーバ装置に通知して、１０１２．ｔｘｔの内容を対応するようにしてもよい（例えば、Ｄａｖｅ  Ｃｒａｎｅ他著、「Ａｊａｘイン・アクション」、株式会社インプレスジャパン発行、ＩＳＢＮ４−８４４３−２２２２−２、２００６年６月２１日発行、２０１ページ―２１１ページなど参照。）。
【００４９】
また、画面情報の特定を利用者に関するデータによって変更できるようにしても構わない。例えば、利用者が東京都内の住民であるのか、神奈川県内の住民課であるかによって、ゴミの集配日が異なる場合には、利用者の住所のデータが東京都であるときには、東京１０１２．ｔｘｔの内容を、神奈川県であるときには神奈川１０１２．ｔｘｔの内容を参照するようにしても構わない。あるいは、ブラウザを実現する基盤のがＧＰＳ（全地球測位システム）や基地局からの電波の強度の測定などの手段を用いて位置を特定することのできる携帯端末である場合には、地理的な位置から選定するデータを変更しても構わない。
【００５０】
スクロールは、マウスやキー入力以外にも、キーワードを含む番組を検索する指示によって、その番組が含まれるところまでスクロールするようにしてもよい。複数の検索結果がある場合に、次の検索結果を参照する指示によってスクロールするのでも構わない。
【００５１】
また、特に指示がなくても時間の経過と共にスクロールを行うことによって、現在の日付や時間に近い情報を示すように構成しても良い。
【００５２】
本実施形態に係るブラウザ装置などによれば、表示するべきデータの全てをクライアントに持たせることなく、必要な部分の表示が行なえる。また、Ｘ方向画面の画面情報がサーバ装置などから取得されるので、表示するべきデータの列の見出しなどを、ウェブページの設計者や操作時に自由に設定することができるなどの効果がある。
【００５３】
（実施形態２）
実施形態２として、Ｘ軸に加えてＹ軸に対するスクロールも可能な主画面と、主画面のスクロールに応じてＸ軸に対するスクロールが可能なＸ方向画面と、主画面のスクロールに応じてＹ軸に対するスクロールが可能なＹ方向画面と、をディスプレイ上に表示するブラウザ装置であって、ディスプレイに表示する主画面情報を保持し、Ｘ軸とＹ軸とに対するスクロールに応じてディスプレイに表示するために不足する主画面情報を通信により取得して追加記録し、また、ディスプレイに表示するＸ方向画面情報を保持し、Ｘ軸に対するスクロールに応じてディスプレイに表示するために不足するＸ方向画面情報を通信により取得し追加記録し、また、ディスプレイに表示するＹ方向画面情報を保持し、Ｙ軸に対するスクロールに応じてディスプレイに表示するために不足するＹ方向画面情報を通信により取得し追加記録するブラウザ装置などについて開示を行なう。本実施形態におけるＸ方向画面とＹ方向画面とが課題を解決するための手段の項に記載したサブ画面となり、Ｘ方向画面情報とＹ方向画面情報とがサブ画面情報となる。
【００５４】
図１０は、実施形態２に係るブラウザ装置のディスプレイの表示の一例を示す。ブラウザ装置１００１は、実施形態１に係るブラウザ装置が有するのとの同様のディスプレイ１００２を有する。ただし、本実施形態では、ディスプレイには、主画面１００３とＸ方向画面１００４とに加えて、Ｙ方向画面１００５が表示可能となっている。また、本実施形態では、主画面１００３は、Ｙ軸に対するスクロールであるＹ軸スクロールも可能である。「Ｙ軸」とは、Ｘ軸と並行でない軸をいう。好ましくは、Ｘ軸と垂直である軸である。「Ｙ方向画面」１００５は、主画面１００３のスクロールに応じて、Ｙ軸に対してスクロール可能な画面である。すなわち、主画面でのスクロールの方向に、Ｙ軸方向の成分が含まれていれば、その成分に応じてスクロールすることができる画面である。実施形態１でＸ方向画面について述べたように、主画面１００３の左にＹ方向画面が配置されている必要はなく、主画面１００３の右に配置されていたり、主画面１００３と重なって表示されていたりしてもよいことは同様である。また、Ｙ方向画面が複数配置されていてもよいことなども同様である。また、Ｙ方向画面１００５でスクロールが発生することにより、主画面１００３におけるスクロールが発生してもよい。
【００５５】
図１１は、実施形態２に係るブラウザ装置の機能ブロック図を例示する。ブラウザ装置１１０１は、主画面１１０２と、Ｘ方向画面１１０３と、Ｙ方向画面１１０４と、を表示するディスプレイ１１０５と、主画面情報保持部１１０６と、Ｘ軸主画面補間部１１０７と、Ｙ軸主画面補間部１１０８と、Ｘ方向画面情報保持部１１０９と、Ｘ方向画面補間部１１１０と、Ｙ方向画面情報保持部１１１１と、Ｙ方向画面補間部１１１２と、を有する。したがって、実施形態２に係るブラウザ装置の構成は、実施形態１に係るブラウザ装置が、ディスプレイ１００２にＹ方向画面をさらに表示し、Ｙ軸主画面補間部１１０８と、Ｙ方向画面情報保持部１１１１と、Ｙ方向画面補間部１１１２と、をさらに有する構成となっている。
【００５６】
「Ｙ軸主画面補間部」１１０８は、Ｙ軸スクロールに応じてディスプレイ１１０５に表示するために不足する主画面情報を通信により取得して主画面情報保持部に追加記録する。例えば、主画面に、Ｘ軸と平行にブロックが並んで形成される行とＹ軸と平行にブロックが並んで形成される列とからなる二次元の表が表示されているとする。このとき、スクロールの方向にＸ軸の成分が含まれていて（すなわち、Ｘ軸と垂直のスクロールではないということ）、新たに主画面１１０２に表示されるべきブロックがあれば、それらのブロックの情報は、列データとして、Ｘ軸主画面補間部１１０７によって通信を用いて取得されて主画面情報保持部１１０６に追加保持される。また、スクロールの方向にＹ軸の成分が含まれていて（すなわち、Ｙ軸と垂直のスクロールではないということ）、新たに主画面１１０２に表示されるべきブロックがあれば、それらのブロックの情報は、行データとして、Ｙ軸主画面補間部１１０８によって通信を用いて取得されて主画面情報保持部１１０６に追加保持される。
【００５７】
「Ｙ方向画面情報保持部」１１１１は、ディスプレイ１１０５に表示するＹ方向画面情報を保持する。「Ｙ方向画面情報」とは、主画面情報に対応しており、Ｙ方向画面１１０４における表示態様を表わす情報である。もし、新たなＹ方向画面情報が、Ｙ方向画面情報保持部１１１１に保持された場合、そのＹ方向画面情報の表示位置が、Ｙ方向画面１１０４内にあれば、その新たなＹ方向画面情報による表示がＹ方向画面１１０４に行なわれる。
【００５８】
「Ｙ方向画面情報補間部」１１１２は、前記Ｙ軸スクロールに応じてディスプレイ１１０５に表示するために不足するＹ方向画面情報を通信により取得してＹ方向画面情報保持部１１１１に追加記録する。
【００５９】
例えば、図１２（Ａ）に例示されるように、主画面１２０１の領域の一部に日ごとのスケジュールがカレンダーのように２次元状に並んだ表として表示され、Ｘ方向画面１２０２には、表における同一列として表示される各日の曜日が表示され、Ｙ方向画面１２０３には、表における同一行として表示される各日がその月の第何週目にあたるかが表示されているとする。このとき、主画面１２０１に表示されている表をマウスなどでドラッグなどしてＸ軸スクロールとＹ軸スクロールとが混在した斜め上方にスクロールして、図１２（Ｂ）に例示されるような表示が得られたとする。このとき、新たに表示される１２日、１３日、１８日、１９日、２０日、２１日に対応する主画面情報が主画面情報保持部１１０６に保持されていなければ、Ｘ軸主画面補間部１１０７、Ｙ軸主画面補間部１１０８により取得され、主画面情報保持部１１０６に追加記録される。具体的には、Ｘ軸スクロールにより新たに表示されることになる１２日、１３日、１４日の主画面情報がＸ軸主画面補間部１１０７により取得され、Ｙ軸スクロールにより新たに表示されることになる１８日、１９日、２０日、２１日の主画面情報がＹ軸主画面補間部１１０８により取得される。あるいは、Ｘ軸スクロールにより、５日、６日７日、１２日、１３日、１４日の主画面情報がＸ軸主画面補間部１１０７により取得され、Ｙ軸スクロールにより、１６日、１７日、１８日、１９日、２０日、２１日の主画面情報がＹ軸主画面補間部１１０８により取得されるようになっていてもよい。
【００６０】
同様に、Ｘ方向画面補間部１１１０は、図１２（Ａ）の場合において、Ｘ方向画面情報保持部１１０９に"木曜日"、"金曜日"、"土曜日"を表示するためのＸ方向画面情報が保持されていなければ、これらのＸ方向画面情報を通信により取得して、Ｘ方向画面情報保持部１１０９に追加記録する。また、Ｙ方向画面補間部１１１２は、図１２（Ａ）の場合において、Ｙ方向画面情報保持部１１１１に、"第４週"を表示するためのＹ方向画面情報が保持されていなければ、そのＹ方向画面情報を通信により取得して、Ｙ方向画面情報保持部１１１１に追加記録する。
【００６１】
したがって、本実施形態に係るブラウザ装置の処理は、実施形態１に係るブラウザ装置の処理と同様である。すなわち、図７のフローチャートにおいて、ステップＳ７０１においては、Ｙ軸スクロール量の計算も行ない、ステップＳ７０４の前に、Ｙ方向画面情報の表示位置の変更を行なう。また、ステップＳ７０５からＳ７０９においては、要求するべきＹ方向画面情報の特定を行ない、特定されたＹ方向画面情報の要求を行ない、これによって受信、追加記録、表示の処理がされる。
【００６２】
また、ハードウェア構成も実施形態１に係るものと同様であり、記憶回路８０６には、Ｙ方向画面情報も記憶され、制御情報には、Ｙ方向画面の形状や位置、不足するＹ方向画面情報を特定するための情報が含まれることになる。
【００６３】
また、Ｙ画面情報を含む画面情報の要求から取得までは、実施形態１と同様に、非同期通信を用いることもでき、これにより、ブラウザ装置は、画面情報の受信のための待ち状態に陥ることがないようにできる。
【００６４】
図１３は、図１２（Ａ）の主画面１２０１に表示されている表をＨＴＭＬのＴＡＢＬＥタグを用いて記述した例を示す。図１２（Ａ）においては、主画面１２０１には、２日、３日、４日、９日、１０日、１１日しか表示されていないので、図１３の記述で充分である。図１２（Ｂ）のような表示が行なわれるようにスクロールが行なわれると、第一のＴＲタグの子オブジェクトとして、＜ｔｄ＞５日＜／ｔｄ＞、＜ｔｄ＞６日＜／ｔｄ＞、＜ｔｄ＞７日＜／ｔｄ＞に相当するオブジェクトとが、ａｐｐｅｎｄＣｈｉｌｄメソッドなどを用いて追加され、第二のＴＲタグの子オブジェクトとして、＜ｔｄ＞１２日＜／ｔｄ＞、＜ｔｄ＞１３日＜／ｔｄ＞、＜ｔｄ＞１４日＜／ｔｄ＞に相当するオブジェクトがａｐｐｅｎｄＣｈｉｌｄメソッドなどを用いて追加される。以上は、Ｘ軸主画面補間部１１０７での処理である。そして、第３のＴＲタグのオブジェクトとして、＜ｔｒ＞＜ｔｄ＞１６日＜／ｔｄ＞＜ｔｄ＞１７日＜／ｔｄ＞＜ｔｄ＞１８日＜／ｔｄ＞＜ｔｄ＞１９日＜／ｔｄ＞＜ｔｄ＞２０日＜／ｔｄ＞＜ｔｄ＞２１日＜／ｔｄ＞＜／ｔｒ＞に相当するオブジェクトがａｐｐｅｎｄＣｈｉｌｄメソッドなどを用いて追加される。この処理は、Ｙ軸主画面補間部１１０８での処理である。また、主画面、Ｘ方向画面、Ｙ方向画面に表示されなくなることにより、不要となる画面情報は、削除されるようになっていてもよい。
【００６５】
このようにＴＡＢＬＥタグを用いる記述により、その記述のＴＲタグが、ディスプレイ上にて、Ｙ方向に所定の大きさを占めるブロックであるＹブロックを単位とする情報であり、各Ｙブロックは、各Ｙブロックの高さを有しＸ軸方向への長さが同じブロックであるＸブロックを単位として含む情報とすることができる。
【００６６】
図１４は、図１２（Ａ）におけるＹ方向画面に表示されるべき内容をＴＡＢＬＥタグを用いて記述した例を示す。ただし、図１２のように文字列を縦書き表示するための属性の指定などは省略してある。図１２（Ａ）においては、Ｙ方向画面１２０３には、第１週の下の一部、第２週、第３週の上の一部が表示されているので、＜ｔｒ＞＜ｔｄ＞第１週＜／ｔｄ＞＜／ｔｒ＞、＜ｔｒ＞＜ｔｄ＞第２週＜／ｔｄ＞＜／ｔｒ＞、＜ｔｒ＞＜ｔｄ＞第３週＜／ｔｄ＞＜／ｔｒ＞を並べたものになる。図１２（Ａ）から図１２（Ｂ）にスクロールが行なわれると、第４週の上の一部が表示されるので、＜ｔｒ＞＜ｔｄ＞第４週＜／ｔｄ＞＜／ｔｒ＞がａｐｐｅｎｄＣｈｉｌｄメソッドなどを用いて追加される。なお、図１２（Ｂ）では、「第１週」が表示されなくなるので、＜ｔｒ＞＜ｔｄ＞第１週＜／ｔｄ＞＜／ｔｒ＞に相当するオブジェクトを削除してもよい。
【００６７】
また、ＨＴＭＬにおいては、表の表示は、ＴＡＢＬＥタグを用いてのみで可能であることはなく、ＤＩＶタグを用いても可能である。ただし、ＤＩＶタグを用いる場合には、デフォルトでＤＩＶタグの子オブジェクトは上下に配置されるので、ＴＡＢＬＥタグとは異なり、ディスプレイ上にて、Ｘ方向に所定の大きさを占めるブロックであるＸブロックを単位とする情報であり、各Ｘブロックは、各Ｘブロックの幅を有するブロックであるＹブロックを単位として含む情報とすることができる。
【００６８】
図１５は、ＤＩＶタグを用いて、図１２（Ａ）の主画面１２０１に表示される表を記述した例を示す。最も外側の＜ｄｉｖ  ｉｄ＝"ｏｃｔｏｂｅｒ"  ｃｌａｓｓ＝"Ｍｏｎｔｈ"＞とそれに対応する＜／ｄｉｖ＞で挟まれる部分で、２日、３日、４日、９日、１０日、１１日（のスケジュール）で構成される表が記述される。ｃｌａｓｓは、例えば、スタイルシートで定義される諸属性を参照するために用いられる。＜ｄｉｖ  ｉｄ＝"ｏｃｔｏｂｅｒ_ｍｏｎｄａｙ"  ｃｌａｓｓ＝"ＤａｙＯｆＷｅｅｋ"＞とそれに対応する＜／ｄｉｖ＞で挟まれる部分で、月曜日である２日、９日の表示がされる。実際の２日の表示は、その中の＜ｄｉｖ  ｉｄ＝"１００２"  ｃｌａｓｓ＝"Ｄａｙ"＞とそれに対応する＜／ｄｉｖ＞で挟まれる部分で記述される。この＜ｄｉｖ  ｉｄ＝"１００２"  ｃｌａｓｓ＝"Ｄａｙ"＞とそれに対応する＜／ｄｉｖ＞までが一つのＹブロックであり、＜ｄｉｖ  ｉｄ＝"ｏｃｔｏｂｅｒ_ｍｏｎｄａｙ"  ｃｌａｓｓ＝"ＤａｙＯｆＷｅｅｋ"＞がＸブロックである。このため、Ｍｏｎｔｈで参照されるスタイルシートの記述などにおいては、ｆｌｏａｔ属性を"ｌｅｆｔ"として記述する必要がある。
【００６９】
ＤＩＶタグを用いることによる利点としては、Ｙブロックの長さを異なるようにすることができ、また、Ｙ軸方向の配置が自由に行なえる点がある。このため、隣り合うＸブロックの間では、隣接などするＹブロックのＹ軸方向の長さ（例えば高さ）を同じにする必要はないし、上下の位置をそろえる必要もない。このため、例えば、ＤＩＶタグは、ラジオやテレビなどの放送番組表を表現するために好適である。
【００７０】
図１６は、テレビの放送番組表を主画面１６０１に表示し、テレビ局名を表示する欄として、Ｘ方向画面１６０２を用い、時間を表示する欄として、Ｙ方向画面を用いた例を示す。図１６（Ａ）では、東都ＴＶにおいて、１８時から１９時には夕方のニュースが放送され、１９時から２０時までニューテクノロジが放送され、テレビ南都において、１７時５５分から１９時までニュースソワールが放送され、１９時から１９時５５分までアニマルアドベンチャが放送され、１９時５５分から２０時までにはアラカルトが放送され、テレビ北部において、１８時から１９時３０分まで特別番組が放送され、１９時３０分から歴史が放送される番組表の一部が表示されている。
【００７１】
図１６（Ａ）において、主画面１６０１において、マウスによる斜め上方へのドラッグが行なわれ、テレビ番組表が斜め上方へスクロールしたとすると、そのスクロールに応じて、主画面では、新たなテレビ番組、例えば、自然スペシャル、夜のニュース、語学、野球中継、ゲートボールなどの表示がされる。また、主画面でのスクロールの発生に応じて、Ｘ方向画面１６０２のスクロールと、Ｙ方向画面１６０３のスクロールが発生し、不足する画面情報の取得、追加記録が行なわれる。その結果、図１６（Ｂ）に例示するように、新たなテレビ局名として、テレビ西京が表示され、新たな時間の表示として、２０時、２１時の表示が行なわれる。
【００７２】
なお、図１６（Ａ）を、初期画面とする場合、主画面１６０１に表示される内容の記述は複雑になると思えるが、図１７に例示されるデータを用意すれば、図１８、図１９に例示するプログラムあるいはそのプログラムに相当する電子回路を駆動させることで容易に初期表示が行なえる。
【００７３】
図１７は、ＰＲＯＧ_ＤＡＴＡという変数に、配列が初期値として設定される例を示す。配列の要素が第０要素から開始すると仮定すると、第０要素には、テレビ番組表の一番左の列に表示される東都ＴＶのテレビ番組のデータがセットされ、第１要素には、東都ＴＶの右に隣接する列に表示されるテレビ南都のテレビ番組のデータがセットされる。各テレビ番組のデータは、Ｄａｔｅオブジェクトによる番組の開始時刻、その次には、分を単位とした番組の継続時間長、さらにその次には、文字列で表現された番組のタイトルが配置される。特に、テレビ南都以外のテレビ局の番組が１８時から開始するのに対して、テレビ南都のニュースソワールは、１７時５５分から開始しているが、このような記述は、１７時５５分をニュースソワールの放送開始時刻とすることで、表現ができる（例えば下記の記述を参照。）。
【００７４】
図１８は、初期画面のテレビ局ごとに行なう処理から開始するｉｎｉｔＣｈａｎｎｅｌｓ（）という関数のソースコードを例示する。変数ｃｏｎｆｉｇは、テレビ番組表のテレビ局ごとの幅（Ｘブロックの幅）と、番組の放送継続時間長一分あたりのＹブロックの高さと、を定義している。ｉｎｉｔＣｈａｎｎｅｌｓ（）は、まず、ｎｅｗ  Ａｒｒａｙ（ＰＲＯＧ_ＤＡＴＡ．ｌｅｎｇｔｈ）により、ＰＲＯＧ_ＤＡＴＡに格納されているテレビ局数の長さの配列を確保する。この配列の個々の要素には、Ｘブロックに対応するオブジェクトが格納される。次のｆｏｒ構文により、ＰＲＯＧ_ＤＡＴＡに格納されている要素毎に、すなわちテレビ局毎に、ｎｅｗ  Ｃｈａｎｎｅｌ（ＰＲＯＧ_ＤＡＴＡ［ｉ」［０］，ＰＲＯＧ_ＤＡＴＡ［ｉ］［１］，ｃｏｎｆｉｇ）が呼ばれる。
【００７５】
ｎｅｗ  Ｃｈａｎｎｅｌの呼び出しによる処理は、図１９に例示されている。まず、番組タイトルなどを表示するためのＸブロックに相当するＤＩＶタグによるオブジェクトをｃｒｅａｔｅＥｌｅｍｅｎｔメソッドにより生成する。次にｉｄ属性にテレビ局名を設定し、スタイルシートなどで定義されている属性を参照するためにｃｌａｓｓ属性などの設定などを行なう。そして、ｌｏａｄＰｒｏｇｒａｍｓを呼び、Ｙブロックを追加する。
【００７６】
ｌｏａｄＰｒｏｇｒａｍｓでは、Ｙブロックの生成が行なわれる。すなわち、特定のテレビ局の放送番組に対して、順次、Ｙブロックに相当するＤＩＶタグによるオブジェクトを生成し、ｉｎｎｅｒＨＴＭＬ属性に、番組タイトルを設定し、Ｙブロックの高さを番組の継続時間長に応じた高さを設定し、Ｘブロックに相当するオブジェクトにＹブロックを追加する。
【００７７】
ｉｎｉｔＣｈａｎｎｅｌｓに説明を戻すと、ｎｅｗ  Ｃｈａｎｎｅｌの処理を行なった後は、テレビの放送番組表における各テレビ局の放送番組の表示開始の位置を調整する。
【００７８】
現在、インターネットのポータルサイトなどで表示されている放送番組表は、行の数と列の数とが固定されたＴＡＢＬＥタグによる表現が用いられており、特に、放送局ごとに列が割り当てられている。このため、放送局の数が多いと、次のような不具合がある。すなわち、初期画面から放送局の並ぶ方向へスクロールを行ない、最後の放送局で放送される番組の情報を閲覧してから、初期画面に表示されていた放送局の番組の情報を閲覧するためには、逆の方向へスクロール操作を行なわなければならなかった。
【００７９】
しかし、本願で開示されるブラウザ装置などを用いる場合には、列に相当するＸブロックを動的に追加することができるので、最後の放送局に隣接するように、初期画面に表示される放送局を表示することができる。すなわち、利用者は、図２０に示すように円筒に貼り付けられた放送番組表を、その円筒をまわしながら閲覧しているように感じさせることができる。
【００８０】
動的な取得は、利用者に関するデータに基づいて結果を変更するような場合にも柔軟に対応することができる。例えば、利用者の居住する地域によって視聴できる番組が異なる場合には、住所によって取得するブロックの内容を変化させることが有効である。また、利用者が関心を持っている放送局のみを選択して表示するようにすることができる。また、あらかじめ設定したキーワードに該当する番組を含む放送局のみを選択して表示するようにしても良い。また、過去に利用者が予約した実績から優先度の高い順に放送局を示すようにしても良い。
【００８１】
また、複数の放送局にまたがって、番組を選択した新しい列を作るようにしてもよい。例えば、利用者がＤＶＤレコーダーに記録したいと考えている番組を一列あるいは複数の列にまとめることで一覧性を高めた表示をすることが可能である。
【００８２】
このような効果は、放送番組表に限って得られるものではなく、例えば、列ごとに社員のその日のスケジュールなどを表の形式で表示するような場合、最後の列に表示される社員などのスケジュールなどの隣に最初の列に表示された社員などのスケジュールなどを表示させる場合にも得られる。また、学校の時間割表、行事予定表などの表を表示させる場合にも同様の効果が得られる。また、動的な取得の方法は、複数の種類のスケジュールを合わせるのにも有用である。例えば、社員のスケジュールと行事予定表などとを一覧するようにもできる。
【００８３】
（実施形態３）
実施形態３として、画面情報は、コンテンツ識別情報などの識別情報と関連づけられており、ディスプレイ上のユーザインターフェースにより、ブロック単位などで画面情報をドラッグ・ドロップ操作することを可能とし、ドラッグ・ドロップ操作された画面情報に関連付けられた識別情報により処理を実行するブラウザ装置などについて開示する。
【００８４】
図２１は、実施形態３に係るブラウザ装置の機能ブロック図を例示する。ブラウザ装置２１０１は、主画面２１０２と、Ｘ方向画面２１０３と、を表示するディスプレイ２１０４と、主画面情報保持部２１０５と、Ｘ軸主画面補間部２１０６と、Ｘ方向画面情報保持部２１０８と、Ｘ方向画面情報補間部２１０９と、を有し、さらに、ディスプレイには、ドロップ領域２１１０などが表示されており、ブラウザ装置２１０１は、ドラッグ・ドロップ操作部２１１１と、処理実行部２１１２とをさらに有する。また、ブラウザ装置２１０１は、ディスプレイにＹ方向画面を表示し、Ｙ軸主画面補間部と、Ｙ方向画面情報保持部と、Ｙ方向画面補間部と、をさらに有していてもよい。したがって、本実施形態に係るブラウザ装置の構成は、実施形態１または２に係るブラウザ装置がドラッグ・ドロップ操作部と、処理実行部とをさらに有する構成となっている。
【００８５】
また、本実施形態では、画面情報は、コンテンツ識別情報などの識別情報と関連付けられている。例えば、ＤＩＶタグにおけるｉｄ属性や、テレビ局名と放送開始時刻を格納する属性などにより、関連付けが行なわれる。
【００８６】
「ドラッグ・ドロップ操作部」２１１１は、ディスプレイ上におけるＧＵＩにより画面情報のドラッグ・ドロップ操作を可能とする部である。ＧＵＩとはグラフィックユーザインターフェースの略であり、例えば、マウスなどの操作により、ユーザの操作を直感的に表現可能とする技術である。ＧＵＩによる画面情報のドラッグ・ドロップ操作とは、例えば、各画面情報の所定の位置でマウスボタンの押下を継続することで、その画面情報のコピーが作成され、マウスボタンを押下したままマウスカーソルを移動させると、作成された画面情報のコピーが画面情報を、マウスカーソルの移動にしたがって移動し、マウスボタンの押下をやめると、その位置に作成された画面情報のコピーが固定して表示可能となることをいう。
【００８７】
「処理実行部」２１１２は、ドラッグ・ドロップ操作に応じて画面情報に関連付けられた識別情報にて識別されるコンテンツなどに対する処理を実行する部である。例えば、所定の領域であるドロップ領域に移動されてマウスボタンの押下をやめることが行なわれた画面情報に関連付けられた識別情報を取得して、その識別情報に応じた処理を行なう。「コンテンツ」とは、画面情報が表わす事象、物、情報などをいう。例えば、画面情報が特定の日のスケジュールを示すのであれば、その日のスケジュールの内容や、スケジュールを実行する主体などをいい、画面情報が、放送番組表における特定の番組を示すのであれば、その番組として放送されるコンテンツなどを指す。
【００８８】
図２２、図２３は、ドラッグ・ドロップ操作部２１１１と処理実行部２１１２による処理の例を示す。図２２においては、Ｘ方向画面２２０１には、日付が表示され、主画面２２０２には、日付に対応する日のスケジュールやイベント情報が表示されている。そして、主画面２２０２の画面情報の特定の領域２２０３、２２０４、２２０５が、ドラッグを開始するための各画面情報の所定の位置を示す。例えば、領域２２０４にマウスカーソルを移動させてマウスボタンを押下すると、ドラッグ・ドロップ操作部２１１１により、「火曜日  資源ゴミの日」の画面情報のコピーが作られ、マウスカーソルの移動にしたがって、そのコピーの表示も移動する。そして、ドロップ領域２２０６にてマウスボタンを離すと、「火曜日  資源ゴミの日」の画面情報のコピー２２０７が表示される。ドロップ領域２２０６は、ドロップされた日付けに対応する日のスケジュールやイベント情報のリマインダを一日前に表示あるいは送信などするための領域である。処理実行部２１１２は、ドロップ領域２２０６にドロップされた画面情報に関連付けられた識別情報などを取得して、一日前にリマインダを表示あるいは送信などするような設定を行なう。例えば、メールサーバ装置などに宛てて、所定の日にメールを送信させるような要求を送信する。例えば、図２２においては、１０月１０日（火曜日）が資源ゴミの日であることをリマインドするメールなどが送信などされる。
【００８９】
図２３においては、Ｘ方向画面２３０２には、放送局名が表示され、主画面２３０１には、各放送局での放送番組が表示され、Ｙ方向画面２３０３には、放送時間が表示されている。図２２におけるのと同様に、各番組の表示がされている所定の領域にマウスカーソルを移動させてマウスボタンを押下すると、ドラッグ・ドロップ操作部２１１１により、例えば、テレビ南都にて、１９時から放送されるアニマルアドベンチャという番組の画面情報がコピーされて、マウスカーソルの移動にしたがって、そのコピーも移動する。そして、ドロップ領域２３０４にてマウスボタンを離すと、テレビ南都のチャンネルで１９時から１９時５５分に放送されるアニマルアドベンチャという番組の画面情報のコピーがドロップ領域２１０４に表示される。図２３では、ドロップ領域２１０４は、例えば、ドロップ領域が、そこにドロップされた画面情報に対応する番組をハードディスクレコーダなどによって録画する録画予約などを行なうために用いられるとすると、処理実行部２１１２は、アニマルアドベンチャという番組の録画の予約を行なう。例えば、処理実行部２１１２は、ハードディスクレコーダと有線あるいは赤外線通信などの無線通信を行ない、番組の予約情報をそのハードディスクレコーダなどに送信する。また、メールサーバなどに、番組の存在をユーザにリマインドするメールを送信させるようにすることもできる。
【００９０】
また、ハードディスクレコーダがインターネットに接続されていれば、インターネットを介した通信によって、外部から自宅にある装置に対して予約を設定することができる。
【００９１】
この効果は予約番組表に限らない。エアコン、炊飯器、洗濯機、風呂給湯、証明、電子錠、防犯カメラなどの電子的な制御可能な電化製品がインターネットに接続されていればをスケジュールに合わせてオン・オフすることが可能になる。
【００９２】
テレビ番組が有償のコンテンツである場合には、予約すると同時に販売サイトに対する視聴代金の支払手続きを行うようにしてもよい。あるいは、代金支払いの代わりにスポンサーから提供されている動画像を視聴するような仕組みになっていても良い。
【００９３】
ドラッグ・ドロップ操作はシフトキーなどを併用することで、複数選択したものに対して実施するようにすることもできる。この場合には一度に複数の番組を予約することなどができる。
【００９４】
また、複数の社員による打合せ場所の予約を行うようにすることもできる。
【００９５】
ドラッグ・ドロップの方向は逆でも構わない。実施したいコマンドを示す領域の方を番組のブロックに重ねることによって、操作を指示しても良い。
【００９６】
ドラッグ・ドロップ以外の操作方法として、メニューの選択やボタンによる操作指示によって選択された番組と処理を関連づけするのでも構わない。
【００９７】
このように、本実施形態では、Ａｊａｘなどの技術を用いて家電製品やサーバ装置などの直感的な操作が可能となる。
【図面の簡単な説明】
【００９８】
【図１】実施形態１に係るブラウザ装置のディスプレイの表示の一例図
【図２】実施形態１に係るブラウザ装置の機能ブロック図
【図３】Ｘ軸スクロールに応じてディスプレイに表示するために不足する主画面情報を説明するための図
【図４】スクロールによるデータ構造の変化を説明するための図
【図５】主画面情報、Ｘ方向画面情報の記述の一例図
【図６】主画面情報、Ｘ方向画面情報の記述の一例図
【図７】実施形態１に係るブラウザ装置の処理のフローチャート
【図８】ブラウザ装置のハードウェア構成図
【図９】非同期通信の過程を例示するシーケンス図
【図１０】実施形態２に係るブラウザ装置のディスプレイの表示の一例図
【図１１】実施形態２に係るブラウザ装置の機能ブロック図
【図１２】ブラウザ装置におけるスクロールの一例図
【図１３】ＴＡＢＬＥタグを用いた記述の一例図
【図１４】ＴＡＢＬＥタグを用いた記述の一例図
【図１５】ＤＩＶタグを用いた記述の一例図
【図１６】放送番組表の表示の一例図
【図１７】配列の初期設定の記述の一例図
【図１８】放送局ごとの処理の記述の一例図
【図１９】番組ごとの処理の記述の一例図
【図２０】番組表を円筒などに貼り付けたものの一例図
【図２１】実施形態３に係るブラウザ装置の機能ブロック図
【図２２】ドラッグ・ドロップ操作による処理の開始の一例図
【図２３】ドラッグ・ドロップ操作による処理の開始の一例図
【符号の説明】
【００９９】
２０１  ブラウザ装置
２０２  主画面
２０３  Ｘ方向画面
２０４  ディスプレイ
２０５  主画面情報保持部
２０６  Ｘ軸主画面補間部
２０７  通信網
２０８  Ｘ方向画面情報保持部
２０９  Ｘ方向画面補間部
【図１】
2008112214.tif 000003
【図２】
2008112214.tif 000004
【図３】
2008112214.tif 000005
【図４】
2008112214.tif 000006
【図５】
2008112214.tif 000007
【図６】
2008112214.tif 000008
【図７】
2008112214.tif 000009
【図８】
2008112214.tif 000010
【図９】
2008112214.tif 000011
【図１０】
2008112214.tif 000012
【図１１】
2008112214.tif 000013
【図１２】
2008112214.tif 000014
【図１３】
2008112214.tif 000015
【図１４】
2008112214.tif 000016
【図１５】
2008112214.tif 000017
【図１６】
2008112214.tif 000018
【図１７】
2008112214.tif 000019
【図１８】
2008112214.tif 000020
【図１９】
2008112214.tif 000021
【図２０】
2008112214.tif 000022
【図２１】
2008112214.tif 000023
【図２２】
2008112214.tif 000024
【図２３】
2008112214.tif 000025