JP3824298B2 - サーバ、ウェブコンテンツ編集装置、コンピュータを用いてこれらを実現するプログラム、及びそのウェブコンテンツ編集方法並びに提供方法 - Google Patents
サーバ、ウェブコンテンツ編集装置、コンピュータを用いてこれらを実現するプログラム、及びそのウェブコンテンツ編集方法並びに提供方法 Download PDFInfo
- Publication number
- JP3824298B2 JP3824298B2 JP2001226833A JP2001226833A JP3824298B2 JP 3824298 B2 JP3824298 B2 JP 3824298B2 JP 2001226833 A JP2001226833 A JP 2001226833A JP 2001226833 A JP2001226833 A JP 2001226833A JP 3824298 B2 JP3824298 B2 JP 3824298B2
- Authority
- JP
- Japan
- Prior art keywords
- web content
- card
- terminal device
- node
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 58
- 238000003860 storage Methods 0.000 claims description 76
- 230000005540 biological transmission Effects 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 20
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 238000005457 optimization Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 27
- 238000004891 communication Methods 0.000 description 10
- 238000009960 carding Methods 0.000 description 7
- 238000009826 distribution Methods 0.000 description 7
- 238000007796 conventional method Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 238000005520 cutting process Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/18—Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ネットワークを介して端末装置にウェブコンテンツを配信するサーバに関し、特にHTML等で記述されたウェブコンテンツをWML等の携帯端末に適した形式に変換して配信するサーバに関する。
【0002】
【従来の技術】
今日、携帯電話やPDA(Personal Digital Assistant)などの携帯型情報端末(以下、携帯端末と称す)においても、インターネットに接続してウェブコンテンツ(以下、単にコンテンツと称す)を閲覧する機能を持ったものが普及してきている。
このような携帯端末は、一般的なネットワーク端末であるコンピュータ装置(デスクトップ型やノートブック型のパーソナルコンピュータ、ワークステーションなど)と比較して、コンテンツを表示する表示画面が小さく、受信バッファ(メモリ)の記憶容量も少ない。したがって、携帯端末に対してコンテンツを送信するウェブサーバは、送信先の端末の能力に合わせてコンテンツを変換する必要がある。
【0003】
この種の携帯端末、特に無線端末に適したコンテンツ記述言語として、WML(Wireless Markup Language)やHDML(Handheld Device Markup Language)がある。これらの言語で記述されたコンテンツは、携帯端末における表示単位であるカード(Card)と複数のカードをまとめたデック(Deck)とで構成される。コンテンツは、このデックを単位として送受信される。
通常、コンテンツは、HTMLなどを用いて記述され、ツリー状の構造を持っている。したがって、このコンテンツをWMLやHDMLのデータファイルに変換して携帯端末に送信するためには、このツリー構造をカードとデックからなる構造に切り分けなければならない。
【0004】
カードは、携帯端末の表示画面に実際に表示される物理的な表示単位であるため、表示内容が見やすいことや、ナビゲーションが携帯端末のユーザにとって直感的で操作しやすいことが重要である。
また、デックは、携帯端末に対して一度に送受信するデータの単位であるため、1つのデックに多くのカードをまとめることができれば、通信の回数を減少させることとなるため通信効率を向上させることができる。一方で、1デックのサイズは、送信先の携帯端末における受信バッファの記憶容量以下でなければならない。
【0005】
ここで、携帯端末における表示画面のサイズや受信バッファの記憶容量は、装置の種類によって異なる場合が多いので、コンテンツのツリー構造をカードとデックからなる構造に変換する処理は、携帯端末からの送信要求時に動的に行われることが望ましい。
【0006】
この種の変換処理における従来の一般的な手法として、まずコンテンツをべた書きのテキストに変換し、適当な文字数ごとにカードに切っていく方法がある。この手法は、例えばKDDIのEZ−ウェブサービス(HDMLを使用)において、電子メールを表示する場合やHTMLで記述されたコンテンツをHDMLファイルに変換する場合などに使われている。
この手法では、元のコンテンツをその意味内容に関わらず機械的に切るため、不自然な切り方になる場合が多い。例えば、文章や単語の途中で切れたり、画面上の表示が行の途中で切れたりする場合がある。
また、サーバから携帯端末への送信は、作成されたカードの最初から連続的に行われることが多いので、コンテンツの一部だけを見ようとする場合であっても、最初から順に見ていかなければならず使用の便が悪い。
【0007】
ツリー構造のコンテンツからカード及びデックを生成する従来技術としては、例えば、特開2000−194612号公報に開示された技術がある。同公報には、特定のタグ(TABLE, IMG, FIELDSET, IFRAMEなど)に基づいてツリー構造のコンテンツを分割し、このツリー構造の論理的な順序を保存する技術が記載されている。また、テキストやイメージ、リンクなどのカテゴリに基づいてコンテンツ内部の情報を分類し、メニューとリンクを用いて表示を行う技術が記載されている。さらに、携帯端末における受信バッファの記憶容量を参酌してデックを生成することについても述べられている。
同種の他の従来技術として、例えば、Pro5社のソフトウェアであるc−Magicは、元のHTMLテキストをカードに分割する際に、特定のタグ(<br>, <p>, <table>, <form>など)で切るように工夫しているため、不自然な切れ方になる場合を減少させている。
【0008】
また、ツリー構造のコンテンツからカード及びデックを生成する他の従来技術として、特開2000−76473号公報に開示された技術がある。同公報には、コンテンツの構造や特定のタグ情報を利用してインデックス情報を抽出しアウトラインページを作成するなどの処理により、元のコンテンツの構造情報を変換後のデータファイルに反映させる技術が記載されている。
【0009】
【発明が解決しようとする課題】
上述したように、コンテンツを携帯電話やPDAなどの携帯端末で閲覧する場合、表示画面のサイズや受信バッファの記憶容量における制約に対応するため、ウェブサーバなどにおいて、ツリー構造のコンテンツを携帯端末に適したカード及びデックからなる構造を持つデータファイルに変換する場合があった。
そしてこの場合、携帯端末における表示単位であるカードでは、表示内容が見やすいことや、ナビゲーションが携帯端末のユーザにとって直感的で操作しやすいことが要求される。また、サーバ、携帯端末間の通信単位であるデックでは、データサイズを携帯端末の受信バッファの記憶容量を超えない範囲でできるだけ多くのカードをまとめる(多くのデータを含む)ことが要求される。
さらに、コンテンツ通信の回数を減少させて通信効率を向上させるためには、単に1つのデックに多くのカードをまとめるのみならず、当該コンテンツの内容や元のツリー構造に基づいて、携帯端末からの再送信要求の発生が少なくなるように、当該コンテンツをカードへ切り分け、かつ1つのデックにまとめるカードを選択することが必要となる。
【0010】
上述したように、コンテンツをべた書きのテキストに変換し、その後、適当な文字数ごとにカードに切っていくという単純な手法では、カードの内容が不自然な切り方となる場合があり、また、コンテンツの一部だけを見ようとする場合に使用の便が悪かった。
【0011】
また、特開2000−194612号公報に開示された従来技術は、コンテンツの分割において、当該コンテンツにおけるツリー構造の論理的な順序を保存するとしている。また、コンテンツ内部の情報を分類し表示を行うとしている。
しかしながら、コンテンツのカードへの分割方法に格別の工夫がされておらず、また、コンテンツ内部の情報の分類においても元のデータの構造に基づいていないため、生成されたカード及びデックからなるコンテンツは、携帯端末のユーザにとって使いやすいものとは言い得ない。
さらに、これらの手法は、固有のマークアップ言語に依存しているため、汎用性を欠く。
【0012】
また、同様の従来技術であるPro5社のc−Magicは、元のHTMLテキストを特定のタグにおいて切るように工夫されているため、不自然な切れ方になる場合が減少するが、コンテンツの一部を見ようとする場合にも当該コンテンツの最初から順に見ていかなければならず、やはり使い勝手が良いとは言い得ない。
また、HTMLテキストを切る位置となるタグを指定していることにより、<table>タグなどの途中で元のHTMLテキストを切ることができないため、コンテンツが送信された場合に、1つのデックでも携帯端末の受信バッファをオーバーフローするという危険が新たに生じている。
【0013】
さらにまた、特開2000−76473号公報に開示された従来技術は、ツリー構造のコンテンツからカード及びデックに変換する際に、コンテンツの構造情報を変換後のデータファイルに反映させることとしている。
しかしながら、その変換ルールは発見的手法を用いて導出されているため、特定の構造やタグ情報及びデータの種類(headingタグによる見出しが有効なものなど)に依存する。したがって、一般的な構造のコンテンツに適用することは難しい。
また、この手法では、評価値が所定の基準を満たすまで(受信バッファの容量制限を満たすなど)アルゴリズムの適用を繰り返すことになっているため、大量の要求を迅速に処理しなければならないウェブアプリケーションにとっては効率が悪い。
【0014】
そこで本発明は、ツリー状に構成されたコンテンツをカードとデックという単位に分割して送信する場合において、送信先端末の条件やコンテンツの内容に応じて、送信先端末のユーザにとって使用しやすいカードを生成することを目的とする。
【0015】
また、本発明は、かかるコンテンツの送信において、1デックのデータサイズが送信先端末の受信バッファの制限(バイト数)を満たしながら、デックの再送信が少なくなるように、最適なカードの集合を選択してデックを動的に構成することを他の目的とする。
【0016】
【課題を解決するための手段】
上記の目的を達成する本発明は、ネットワークを介して端末装置にウェブコンテンツを配信するサーバにおいて、ウェブコンテンツの各ノードに、このウェブコンテンツの変換に対する注釈情報を付加するノード編集部と、このウェブコンテンツを、このノードに付加された注釈情報に基づいて、このウェブコンテンツを閲覧する前記端末装置における表示単位であるカードに分割するカード生成部とを備えることを特徴とする。
【0017】
ここで、このノード編集部は、少なくとも、自ノードが親ノードから分離可能か否かを示す情報と、自ノードに記述された情報の提示方法を特定する情報とを、注釈情報として各ノードに付加する。これにより、ウェブコンテンツを、適切な内容を含むカードに分割することができる。
また、このカード生成部は、このウェブコンテンツを、ランダムにアクセスが可能な階層メニューをなすカードとシーケンシャルにアクセスされる一連のカード群とで構成されたツリー構造を持ったカード集合に変換する。
【0018】
また、本発明は、ネットワークを介して端末装置に対しこの端末装置における表示単位であるカードに分割されたウェブコンテンツを配信するサーバにおいて、この端末装置から受信バッファの記憶容量に関する情報を取得する端末情報取得部と、取得された情報に基づいてこの端末装置における受信バッファの記憶容量以内のデータサイズとなるように、この端末装置から送信を要求されたカード及びこのカードからリンクされるカードを所定の規則に基づいて集めて端末装置への送信単位であるデックを生成するデック生成部とを備えることを特徴とする。
【0019】
ここで、このデック生成部は、この端末装置から送信を要求されたカードがシーケンシャルにアクセスされるカードである場合、このカードを含んでシーケンシャルにアクセスされる一連のカード群を集めてデックを生成する。あるいは、この端末装置から送信を要求されたカードがランダムにアクセスされるカードである場合、このカードを含むカード集合がなすツリー構造においてこのカードからルートカードへ向かいながらパス上のカードを順次集めてデックを生成する。
【0020】
さらに、このデック生成部は、この端末装置から送信を要求されたカードがランダムにアクセスされるカードであり、かつこのカードからルートカードへ向かうパス上の全てのカードを集めても端末装置の受信バッファの記憶容量に達しない場合、さらに送信を要求されたカードの子孫のカードを広さ優先で集めてデックに加える。
【0021】
また、本発明は、次のように構成されたことを特徴とするウェブコンテンツ編集装置を提供する。すなわち、このウェブコンテンツ編集装置は、ツリー構造のウェブコンテンツを入力し、このウェブコンテンツの構造に基づき、このウェブコンテンツの各ノードに対し、自ノードが親ノードから分離可能か否かを示す情報と自ノードに記述された情報の提示方法を特定する情報とを対応づけるノード編集手段と、この情報を各ノードに付加されたウェブコンテンツを格納する記憶手段とを備えることを特徴とする。
【0022】
さらにまた、本発明は、コンピュータを制御して、ウェブコンテンツの編集や配信を行うサーバとして動作させるプログラムとして、実現することができる。すなわち、コンピュータを制御して所定の端末装置にウェブコンテンツを提供するプログラムにおいて、この端末装置から受信バッファの記憶容量に関する情報を取得し、第1の記憶手段に格納する処理と、この受信バッファの記憶容量以内のデータサイズとなるように、端末装置における表示単位であるカードに分割されたウェブコンテンツが格納された第2の記憶手段から、この端末装置に送信を要求されたカード及び当該カードからリンクされるカードを所定の規則に基づいて読み出して、端末装置への送信単位であるデックを生成する処理と、生成されたデックを端末装置に送信する処理とを、このコンピュータに実行させることを特徴とする。
【0023】
また、コンピュータを制御してウェブコンテンツを編集するプログラムにおいて、処理対象であるウェブコンテンツのツリー構造をディスプレイに表示する手段と、表示されたウェブコンテンツにおける所定のノードの指定を受け付ける手段と、指定されたノードに対しこのウェブコンテンツの変換に対する注釈情報の入力を受け付けてこのノードに付加する手段と、このノードに注釈情報が付加されたウェブコンテンツを記憶装置に格納する手段として、このコンピュータを機能させることを特徴とする。
このプログラムは、さらに、ディスプレイに表示されたツリー構造を用いたGUI(Graphical User Interface)などのインターフェイスを用いて注釈情報を付加するノードの指定を受け付けたり、注釈情報の入力を受け付けたりすることができる。
【0024】
さらに、コンピュータを用いてウェブコンテンツを編集するウェブコンテンツ編集方法において、このコンピュータの処理装置が、ウェブコンテンツを入力し、このウェブコンテンツの各ノードに、このノードの分割方法に関する注釈情報を付加し、注釈情報が付加されたウェブコンテンツを記憶手段に格納するステップと、この処理装置が、記憶手段から処理対象のウェブコンテンツを読み出し、このウェブコンテンツのノードに付加された注釈情報に基づいて、このウェブコンテンツを分割するステップとを含むことを特徴とする。
【0025】
さらにまた、本発明は、端末装置からの要求に応じてウェブコンテンツを提供するサーバにおけるウェブコンテンツ提供方法において、このサーバの受信手段が、端末装置から受信バッファの記憶容量に関する情報を受信するステップと、このサーバの処理装置が、端末装置における表示単位であるカードに切り分けられたウェブコンテンツを格納した記憶手段から、要求に対応するカード及びこのカードからリンクされるカードを含むカードを、受信バッファの記憶容量以内のデータサイズ分読み出してデックを生成するステップと、この送信手段が、生成されたデックをこの端末装置に送信するステップとを含むことを特徴とする。
【0026】
ここで、この処理装置が、ウェブコンテンツを格納した記憶手段から、送信対象であるウェブコンテンツを読み出し、読み出したウェブコンテンツをカードに分割して、この記憶手段に格納するステップをさらに含む構成とすることができる。
【0027】
さらに、本発明は、ネットワークに接続された端末装置と、このネットワークを介してこの端末装置にウェブコンテンツを提供するコンテンツサーバとを備えたネットワークシステムにおいて、コンテンツサーバは、ツリー構造を持つウェブコンテンツを生成するアプリケーションプログラムを実行するアプリケーション実行部と、このアプリケーション実行部にて生成されたウェブコンテンツを、このウェブコンテンツを閲覧する端末装置における表示単位であるカードに分割するカード生成部と、この端末装置から受信バッファの記憶容量に関する情報を取得する端末情報取得部と、取得された情報に基づいて受信バッファの記憶容量以内のデータサイズとなるように、この端末装置から送信を要求されたカード及び当該カードからリンクされるカードを所定の規則に基づいて集めて端末装置への送信単位であるデックを生成するデック生成部とを備えることを特徴とする。
【0028】
また、本発明は、ネットワークに接続された端末装置に対し、このネットワークを介してウェブコンテンツを提供するウェブコンテンツ提供システムにおいて、HTML(Hypertext Markup Language)にて記述されたウェブコンテンツを格納した記憶手段と、このウェブコンテンツの分割方法に関する注釈情報を、このウェブコンテンツのツリー構造における各ノードに対応づけて格納した外部注釈データベースと、この端末装置からウェブコンテンツの送信要求を受け取り、要求されたウェブコンテンツをこの記憶手段から読み出し、読み出されたウェブコンテンツに関する注釈情報をこの外部注釈データベースから読み出し、読み出した注釈情報に基づいてこのウェブコンテンツを分割し、分割されたこのウェブコンテンツを端末装置に送信するコンテンツ変換手段とを備えることを特徴とする。
【0029】
さらに、本発明は、統一表現で記述されたアプリケーションプログラムを、このアプリケーションプログラムを利用する端末装置に対応した形式に変換する変換システムにおいて、ツリー構造の統一表現で記述されたアプリケーションプログラムを格納した第1の記憶手段と、この第1の記憶手段から端末装置に提供するアプリケーションプログラムを読み出し、ツリー構造のアプリケーションプログラムの各ノードに対してこのアプリケーションプログラムの分割に関する注釈情報を付加し、この注釈情報に基づいてアプリケーションプログラムを画面分割する最適化手段と、最適化手段にて最適化されたアプリケーションプログラムを格納する第2の記憶手段と、この最適化されたアプリケーションプログラムを読み出し、このアプリケーションプログラムの提供先である端末装置に対応した形式に変換する変換手段とを備えることを特徴とする。
【0030】
また、本発明は、ネットワークを介してサーバに接続し、ウェブコンテンツを取得する端末装置において、接続したサーバに対し、自装置の受信バッファの記憶容量に関する情報を送信する送信手段と、この送信手段にてサーバに送られた情報に基づいて生成されたウェブコンテンツを構成するデータセットを受信する受信手段とを備えることを特徴とする。
【0031】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて、この発明を詳細に説明する。
図1は、本実施の形態を実現するシステム構成を示す図である。
図1に示すネットワークシステムは、ウェブコンテンツを配信するコンテンツサーバ110、WMLやHDMLで記述されたデータを表示するブラウザを備えた端末装置120、コンテンツサーバ110と端末装置120とを接続するネットワーク(インターネットや無線ネットなど)130とを備える。
【0032】
コンテンツサーバ110は、HTMLまたは他のマークアップ言語で記述されたコンテンツを格納した記憶部111と、記憶部111から読み出したコンテンツを端末装置120のブラウザに対応させて変換しネットワーク130を介して端末装置120に送信するコンテンツ配信部112とを備える。
なお、配信されるコンテンツは、予め記憶部111に格納されたものの他、他のウェブサーバから取得したコンテンツであっても良いし、記憶部111にウェブアプリケーションを格納しておき、当該ウェブアプリケーションの記述に基づいて動的に生成されたコンテンツであっても良い。このコンテンツは、DOM(Document Object Model)またはDOMに似た抽象的なツリー構造を内部表現とする。
【0033】
端末装置120は、ネットワーク130を介してコンテンツサーバ110に接続するための送受信部121と、コンテンツサーバ110から送られたウェブコンテンツを一時的に格納する受信バッファ122と、受信バッファ122に格納されたウェブコンテンツを表示する表示部123とを備える。また、表示部123にウェブコンテンツを表示するため、カードと呼ばれる画面単位及びデックと呼ばれる送受信単位をサポートするブラウザを搭載する。このブラウザは、例えばWMLやHDMLといったマークアップ言語に対応している。
カードは、端末装置120の図示しない表示部123の画面サイズに依存するが、たいていの場合、ブラウザにはスクロール機能が備わっているため、物理的な画面サイズがカードのサイズの制約になることは少ない。ただし、ユーザインターフェイスとして直接人間が操作する対象であるため、カードのサイズの決め方やそのナビゲーション方法が使い勝手に影響することが多い。
一方、デックは、コンテンツサーバ110と端末装置120との間におけるコンテンツの送受信の単位であり、端末装置120において受信したデックを蓄える必要があるため、当該端末装置120の受信バッファ122の容量がデックのデータサイズの制約となる。ただし、受信バッファ122の容量以内であればデックのデータサイズが大きい方が、コンテンツサーバ110と端末装置120との間の通信料を削減し、通信効率が良くなる。
【0034】
端末装置120は、ネットワーク130を介してコンテンツサーバ110に接続すると、まず送受信部121からコンテンツサーバ110に対してデバイス情報(受信バッファ122の記憶容量など、詳細は後述)を送信する。そして、当該デバイス情報に基づいて生成されたデータセット(上述した複数のカードを含むデック)を受信して、カードにて構成されるウェブコンテンツを表示部123に表示する。
このウェブコンテンツの閲覧操作において、受信したデック内にあるカードへのナビゲーションでは、受信バッファ122内で処理(受信バッファ122内に存在するカードを表示)し、コンテンツサーバ110へデックの送信要求を出さない。一方、デック内に存在しないカードにアクセスしようとした場合は、コンテンツサーバ110に対して該当するカードの送信要求を出す。
コンテンツサーバ110は、端末装置120からカードの送信要求を受け取った場合、要求されたカードを含む新たなデックを生成し、当該端末装置120に送信する。
【0035】
図1に示す例では、2台の端末装置120がネットワーク130に接続されているが、実際には、表示部123の画面サイズや受信バッファ122の記憶容量が異なる種々の端末装置120が接続されている。コンテンツサーバ110は、それら端末装置120の能力を事前に知ることができないため、コンテンツを個々の端末装置120の能力に合わせて変換する作業は、具体的に端末装置120から送信要求があってから動的に行う必要がある。
したがって、コンテンツサーバ110のコンテンツ配信部112は、記憶部111から読み出したツリー構造を持つコンテンツを、送信先である端末装置120の表示部123の画面サイズと受信バッファ122の記憶容量とに合わせてカードとデックという単位に分ける機能を要する。そして、この作業は、上述したユーザインターフェイスとしての使いやすさと通信効率とを考慮して行われることが必要である。
【0036】
図2は、本実施の形態によるコンテンツサーバ110を実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
図2に示すコンピュータ装置は、CPU(中央処理装置)101と、システムバスを介してCPU101に接続されたM/B(マザーボード)チップセット102及びメインメモリ103と、PCIバスなどの高速なバスを介してM/Bチップセット102に接続されたビデオカード104、ハードディスク105及びネットワークインターフェイス106と、さらにブリッジ回路110及びISAバスなどの低速なバスを介してM/Bチップセット102に接続されたフロッピーディスクドライブ107、キーボード108及びI/Oポート109とを備える。
図2に示すコンピュータ装置にて実現されるコンテンツサーバ110は、ネットワークインターフェイス106を介してネットワーク130に接続される。したがって、端末装置120とのデータの送受信においては、ネットワークインターフェイス106が送受信手段となる。また、メインメモリ103やハードディスク105が、図1に示した記憶部111に相当する。
なお、図2は本実施の形態による検索方法を実現するコンピュータ装置の構成を例示するに過ぎず、本実施の形態を適用可能であれば、他の種々のシステム構成を取ることが可能である。
【0037】
本実施の形態は、図2に示したメインメモリ103に展開されたプログラムにてCPU101を制御することにより図1に示したコンテンツ配信部112としての機能を実現させ、ハードディスク105から読み出したツリー構造を持つコンテンツを、送信先である端末装置120の表示部123の画面サイズと受信バッファ122の記憶容量とに合わせてカードとデックという単位に分割する。
図3は、プログラム制御されたCPU101において、本実施の形態によるコンテンツの分割を行うための機能ブロックを示す図である。
図3を参照すると、本実施の形態は、端末装置120の能力に関する情報を取得する端末情報取得部10と、ハードディスク105から読み出したツリー状のコンテンツの各ノードに注釈情報(以下、単に注釈と称す)を付けるノード編集部20と、ノード編集部20にてノードに付された注釈に基づいてツリー状のコンテンツを分割しカードを生成するカード生成部30と、カード生成部30にて生成されたカードを集めてデックを生成するデック生成部40とを備える。
【0038】
上述したように、これらの構成要素は、プログラム制御されたCPU101により実現される仮想的なソフトウェアブロックである。当該プログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記憶媒体に格納して配布したり、ネットワークを介して伝送したりすることにより提供することができる。本実施の形態は、図2に示したネットワークインターフェイス106やフロッピーディスクドライブ107、図示しないCD−ROMドライブなどを介して当該プログラムを入力し、ハードディスク105に格納する。そして、ハードディスク105に格納されたプログラムをメインメモリ103に読み込んで展開し、CPU101にて実行する。
【0039】
図3に示した本実施の形態の構成において、端末情報取得部10は、コンテンツの送信先である個々の端末装置120(送信要求を行った端末装置)のデバイス情報を取得する。取得されたデバイス情報はメインメモリ103に格納される。このデバイス情報は、送信するカード及びデックを生成するためのパラメータとなる。具体的には、例えば、コンテンツの分割単位の大きさの目安となる画面サイズ、コンテンツの分離を行うかどうかを判断する目安となる表示処理や通信速度の性能、デックの大きさの制限値となる受信バッファ122サイズなどである。
【0040】
ノード編集部20は、送信対象であるコンテンツを入力し、当該コンテンツのツリーのノードに、表示される情報の性質を表すような注釈を付ける。この注釈においては、まず当該ノードが表す情報が親ノードから分離可能かどうかを指定する。分離不可能なものは親ノードにその情報が組み込まれなければならないので、本実施の形態による分割対象にはならない。分離可能な場合、分離された情報がどのようにユーザからアクセスされるかを表す性質を注釈する。例えば、一部の情報のみが選択的にアクセスされるのか(ランダムアクセス)、それとも、全ての情報が順にアクセスされるのか(シーケンシャルアクセス)を指定する。この注釈の内容は、コンテンツを構成する要素の種類(XMLのタグの種類など)やデバイスの性能値などからノード編集部20が自動的に決めることが可能である。これに加えて、コンテンツ作成時(あるいは動的なコンテンツの設計時)に開発者がコンテンツの意味内容などから適切な注釈を予め付けておくこともできる。また、コンテンツの表示テスト時に注釈を変更して、より適切な表示になるように調整することもできる。ノードに注釈が付されたコンテンツはメインメモリ103に格納される。
なお、この注釈については、後でさらに詳細に述べる。
【0041】
カード生成部30は、ノード編集部20により注釈が付けられたコンテンツをメインメモリ103から読み出し、カードに分割する。このとき、ランダムアクセスの注釈が付けられたノードは、子ノードへのリンクを含むようなメニューのカードとして生成する。子供のノードに対してもさらにランダムアクセスの注釈が付いていれば、再帰的にメニューのカードを生成する。この結果、ランダムアクセスのノード集合は、全体として階層メニューの形式となる。シーケンシャルアクセスの注釈が付いたノードの場合は、その子孫のノードで単独の表示単位となるもの全てを元の順序が保存されるように並べる。その後、適当な大きさでカードに分割し、順にアクセスされるようにリンクを張る。シーケンシャルアクセスの場合、必要なら分離されたカードへのリンクを含むようなアウトラインカードを作成しても良い。
ランダムアクセス及びシーケンシャルアクセスのどちらの場合も、分離不可能な子ノードは全て親ノードのカードに埋め込むようにする。結果として、ランダムアクセスされるカードによる階層的なメニューとシーケンシャルアクセスされる一連のカード群とからなるツリー構造を持ったカード集合が生成される。このカードのツリーは、上述したように分離不可能なノードを1つのカードにまとめる操作が行われているため、元のコンテンツのツリー構造そのものではないが、その構造はある程度反映されている。また、各カードがランダムアクセスされるものか、シーケンシャルアクセスされるものかの区別は、当該カードに変換されたノードにしたがう。
なお、コンテンツのカード化アルゴリズムの詳細は後述する。
【0042】
デック生成部40は、端末装置120から所定のカードを要求された場合(最初のコンテンツの要求に対しては、カードのツリーのルートカードが要求されたとする)、適切なカードを集めてデックを生成し、当該要求を行った端末装置120に返送する。
ここで、デックの生成は次のように行う。すなわち、まずルートカードから要求されたカードまでのパス上にあるカードをデックに加え(「1つ上に戻る」というリンクをたどる)、さらに、要求されたカードから子孫のカードを広さ優先でデックに加えていく。ただし、要求されたカードがシーケンシャルアクセスのカードである場合は、これらのカードに先立って、要求された当該カードの次にアクセスされるカード(例えば、「次へ」というリンクをたどることで得られる)をまずデックに加える。
端末装置120の受信バッファ122の記憶容量に基づくデックのデータサイズ(制限容量)にさらに余裕があれば、親のカードに対しても同様な処理を繰り返して適用し、デックにカードを加えていく。各カードのデータサイズ(バイト数)の和が1デックの制限容量になるまでカードを加えていくことにより、端末装置120からの要求に対するデックを確定する。
なお、デック生成アルゴリズムの詳細は後述する。
【0043】
次に、ノード編集部20によってコンテンツの各ノードに付加される注釈について説明する。
本実施の形態では、ノードに付加する注釈を次のような情報とする。
・当該ノードは親ノードからカードとして分離可能かどうかを示す情報。
・(分離可能なノードにはさらに)当該ノードに記述された情報の提示方法。すなわち、情報に対してユーザがどのようにアクセスするか(ランダムアクセスかシーケンシャルアクセスか)を区別する情報。
・分割の単位。具体的には、分割された後のカードに含まれるべき情報の個数(コンテンツのツリーのノード数)を指定する情報。
ランダムアクセスの注釈が付加されるコンテンツの性質としては、次のようなものが考えられる。
1.必ずしも全てアクセスされない情報の集まり。
2.ユーザが任意の部分(カード)を選んで表示する。
3.複数部分(カード)の表示順序が任意。
4.ツリーの上下に移動する可能性が高い。
一方、シーケンシャルアクセスの注釈が付加されるコンテンツの性質としては、次のようなものが考えられる。
1.全ての情報がアクセスされるべきもの。
2.アクセスされる順番が決まっている。
3.任意の部分の検索や飛び越しなどのアクセスはあまり行われない。
4.ツリーの左右(アクセスする順番)に移動する可能性が高い。
これらの注釈は、上に述べたようなガイドラインに基づいて、事前にプログラマがコンテンツの意味を考慮して付加することもできるし、コンテンツの構造やタグの情報を利用してヒューリスティックス(発見的手法)を用いて自動的に付与することもできる。さらに、自動的に付けられた注釈に対し、アプリケーションのプログラマが部分修正をしても良い。
【0044】
次に、カード生成部30によるコンテンツのカード化アルゴリズムについて説明する。
図4は、ツリー構造のコンテンツをカードに分割する手順を説明するフローチャートである。
図4を参照すると、このアルゴリズムは、コンテンツのツリーのルートから再帰的に実行するようになっている。まず、メインメモリ103から読み出されたコンテンツのルートノードがカレントノードとして与えられ、ノードの探索(以下のステップ403〜408の処理)を行う(ステップ401)。再帰的な実行であるので、以下の処理による全てのノードの探索が終わっていれば、カード化のアルゴリズムを終了する(ステップ402)。
【0045】
ノードの探索では、まず、自分のノード自身と子供のノード(子ノード)で分離不可能なものを作成するカード(カレントカード)の内容とする(ステップ403)。ここまでで、分離可能な子供が分離するだけの十分な数がない場合(例えば、分離可能な子供が0の場合、または1個しかないので分離しても意味がない場合)は、全ての情報を1つのカレントカードに組み込む。そして、これより下位のノードを探索する必要がないので、別のノードの探索に戻る(ステップ404、408)。
分離可能な子ノードが十分ある場合は、さらに、当該子ノードがランダムアクセスかシーケンシャルアクセスかを注釈によって判断する(ステップ405)。当該子ノードがシーケンシャルアクセスされるノードである場合は、当該子ノードを全て表示順にフラットに並べる。そして、カードのデータサイズの目安と各ノードの情報量とに基づき、各カードに含まれる情報料が等分になるようにグルーピングしてカードの列に変換する。生成された各カードには、次のカードへのリンクなどを生成する。また、シーケンシャルアクセスされるカード列については、カレントカードを、当該カード列のアウトラインを示すカードとし、各カードへのリンクを生成することができる。また、アウトラインカードを作成せずに、他のカードからシーケンシャルなカード列へのリンク先を当該カード列の一番目のカードとすることもできる(ステップ406)。
一方、分離可能な子ノードが十分あり、それらがランダムアクセスされるノードである場合、各子ノードへのリンクをメニューとしてカレントカードに含め、次に当該子ノードの任意の1つを新たなカレントノードとし(ステップ407)、ステップ402に戻って全てのノードの探索が完了したかどうかを判断し、分離したノードに対して、ステップ403以降のカード化アルゴリズムを再帰的に適用する。
以上のようにして、カードのツリーが生成される。
【0046】
次に、デック生成部40によるデック生成アルゴリズムについて説明する。
図5は、図4で生成されたカードを集めてデックを生成する手順を説明するフローチャートである。
図5を参照すると、まず、要求されたカードをメインメモリ103から読み出し、シーケンシャルアクセスのカードかどうかを判断する(ステップ501)。そして、シーケンシャルアクセスされるカードである場合は、カード内の情報の順序(参照される順序)にしたがって、デックの制限容量の範囲内で当該シーケンシャルにアクセスされる全てのカードをメインメモリ103から読み出し、デックに加える(ステップ502)。この時点でデックの制限容量に達したならば、デックの生成処理を終了する(ステップ503)。
【0047】
ステップ501で要求されたカードがランダムアクセスのカードであると判断された場合、及びシーケンシャルアクセスのカードと判断され、かつ当該シーケンシャルにアクセスされる全てのカードをデックに加えても当該デックの制限容量に達しない場合は、次に、要求されたカードからルートカードに戻るパス上のカードをメインメモリ103から読み出し、当該デックに加える(ステップ504)。この時点でデックの制限容量に達したならば、デックの生成処理を終了する(ステップ505)。
ステップ504でカードを加えても未だデックの制限容量に達しない場合は、さらに要求されたカードの子孫のカードを広さ優先で(すなわちカードのツリーの浅い層に位置するカードを優先して)メインメモリ103から読み出し、当該デックに加える(ステップ505、506)。この時点でデックの制限容量に達したならば、デックの生成処理を終了する(ステップ507)。
ステップ506でカードを加えても未だデックの制限容量に達しない場合は、要求されたカードの親のカードを改めて要求されたカードとみなして、ルートカードに至るまで順次ステップ501から処理を繰り返す(ステップ507、508、509)。
【0048】
なお、図4に示したアルゴリズムでカードを生成した場合、分離不可能なノードは1つのカードにまとめていくため、1つのカードのデータサイズが当該カードを要求した端末装置120の受信バッファ122の記憶容量を超えてしまう場合がある。この場合、当該受信バッファ122の記憶容量内に収まるように、当該カードを分割する必要がある。
図5に示すデックの生成過程において、ステップ502またはステップ504で最初に選択した(すなわち端末装置120から要求された)カードが当該端末装置120の受信バッファ122の記憶容量を超えている場合は、当該カードの分割が必要である。このカードの分割は、本来、本実施の形態に基づいて分割不可能な内容であるので、本実施の形態を離れ機械的に行われることとなる。具体的には、当該カードの内容をべた書きのテキストとみなし、字数等に基づいて単純に分割するといった既存の手法を取ることができる。
【0049】
以上のようにして、ツリー状のコンテンツをカードとデックに分解した。なお、コンテンツの送信先である端末装置120の能力に合わせて(デバイス情報に基づいて)上記のようにコンテンツを変換する場合、必要な情報だけを選択する、情報の提示の順番を変更する、関連する情報をグループ化する(特に分割表示不可能な情報を1つにまとめる)などの処理が行われる場合がある。これらの処理は、既存の従来技術を用いて行うことが可能である。これらの変更結果は、コンテンツのツリーとして表すことができる。例えば、情報の選択は、子ノードへのリンクを削除することで行うことができる。また、情報提示の順番は、子ノードの順番で表現することができる。さらに、分割不可能な情報は、それらの情報を1つのノードに統一することで表現することができる。これらの変換処理は、端末情報取得部10が端末装置120のデバイス情報を受け取った後、カードへの分割の前に実行する。不可分な情報の変換などを含むことを考慮すれば、ノード編集部20によるノードへの注釈の付加が行われた後に実行しても良い。
【0050】
次に、本実施の形態を具体的なネットワークシステムに適用した適用例を説明する。
図6は、本実施の形態が適用されるネットワークシステムの構成例を示す図である。
図6に示すネットワークシステムにおいて、コンテンツサーバ(ウェブアプリケーションサーバ)110は、XMLで記述されたウェブアプリケーションを実行するアプリケーション実行部113と、当該ウェブアプリケーションを実行して動的に生成されたコンテンツを、無線ネットワーク130を通じて端末装置120に配信するコンテンツ配信部114とを備える。なお、コンテンツ配信部114の機能は図3を参照して説明した図1のコンテンツサーバ110におけるコンテンツ配信部112と同様である。
コンテンツサーバ110と端末装置120との間でのコンテンツの送信は、WAP(Wireless Application Protocol)にしたがって行われ、端末装置120は、WMLに対応したブラウザでカード化されたコンテンツを表示する。
また、端末装置120は、コンテンツサーバ110に接続すると、CC/PP(W3C, Composite Capabilities/Preference Profiles: Requirements and Architecture (Working Draft) http://www.w3.org/Mobile/CCPP/)などの記述方式を用いて、画面サイズや受信バッファ122のサイズなどのデバイス情報をコンテンツサーバ110に通知する。
【0051】
本適用例では、ウェブアプリケーションとして、コンピュータ関連機器の製品検索と製品紹介を行うものを考える。いくつかの検索方法を用いて検索された製品は、カテゴリによって分類されて表示される。
図7は、ウェブアプリケーションによる製品検索の検索結果を示すツリー状のコンテンツ及びそのノードに注釈が付された状態の例を示す図である。
図7に示すコンテンツは、カテゴリに基づいて特定の1つの製品に関する情報を選んで閲覧するようなコンテンツである。図7を参照すると、製品紹介のノードは、まず、コンピュータ製品と周辺機器製品の2つのカテゴリに分けられる。さらに、コンピュータ製品は、ノートブック型パーソナルコンピュータ(図ではノートPCと表記)とデスクトップ型パーソナルコンピュータ(図ではデスクトップPCと表記)に分けられる。ここまでのノードは、ユーザが適当なカテゴリを選択してナビゲートしていくための情報であり、図示のように各ノードが分離可能でありかつランダムアクセスの注釈を付けることができる。
ノートブック型パーソナルコンピュータの下にある製品Aのノードは、ユーザが全ての情報にアクセスする内容であるとして、シーケンシャルアクセスの注釈が付けられる。製品Aのノードはさらに、製品名、特徴、スペックなどの詳細情報からなるが、そのなかで製品名と値段は基本的な情報であるので分離不可能という注釈が付けられる。
【0052】
これらの注釈は、XMLで記述されたウェブアプリケーションの中に付加的情報として埋め込むことができる。例えば、タグの属性情報としてこれらの注釈を書くことができる。
図8は、付加的情報として注釈を埋め込んだXML文書の例を示す図である。図8において、「LItem」は、構造を持つ情報を表すためのタグである。「LWord」「LText」は、実際の文字情報をあらわすタグであり、それぞれ、単語と文章とを記述する目的に使われる。各タグの属性において、「caption」は、情報の見出しを指定するものである。実際にコンテンツがWMLに変換された場合は、各画面の見出しやリンクのタイトルとして使われる。
また、図8において、「category」属性が、カード及びデックへの分割に使われる注釈を記述するための属性である。「category」の値として、各注釈の内容をカンマで区切って記述する。注釈は、
outline=.., split=..
という形をしており、outline=yesの場合は分離可能、outline=noの場合は分離不可を表す。また、split=menuはランダムアクセス、split=seqはシーケンシャルアクセスのノードであることを表す。
【0053】
図9は、以上の注釈に基づいて、図7のコンテンツに対し、図4に示したカード生成部30によるカード化アルゴリズムを適用した例を示す図である。
図9において、破線で囲まれた範囲が1枚のカードである。図9を参照すると、ランダムアクセスのノードでは、各ノードがそれぞれ1つのカードになっている。したがって、端末装置120によってこのカードを閲覧するユーザは、製品のカテゴリに基づいてリンクをたどっていくことにより、目的の情報にたどり着くことができる。
一方、シーケンシャルアクセスのノードである製品Aのノードでは、その下のノードである製品名、特徴、特徴1、特徴2、スペック、スペック1、スペック2、値段は、フラットに並べられる。ただし、製品名と値段とは分離不可能な情報(outline=no)であるので、アウトラインのカードにそのまま組み込まれる。また、特徴1及び特徴2は、情報量が比較的少ないので、合わせて1カードとしている。スペック1及びスペック2は、情報量が多いため、それぞれ1カードとしている。これらのカードは、順にアクセスされるようにリンク(図では矢印で示した)が張られる。また、分離されたカードは、製品Aのアウトラインのカードからもリンクが張られる。
【0054】
図10は、図9に示したようにカード化されたコンテンツに対して、図5に示したデック生成部40によるデック生成アルゴリズムを適用した例を示す図である。
図10において、丸数字で表したノードは製品カテゴリのカード(ランダムアクセス)であり、四角の英字で表したノードは個々の製品情報のカード(シーケンシャルアクセス)である。
図10(A)に示すカードツリーを、カテゴリで辿っていって製品情報A、B、Cのカードを順にアクセスし、その後、ルートカードまで戻ってさらに別の製品情報D、Eのカードをアクセスしていった場合のデック分割の様子を、図10(B)に示した。この過程で、全部で4つのデックが生成され、コンテンツサーバ110から端末装置120へ送信されている。
【0055】
具体的に説明すると、端末装置120のユーザがまずカード〔1〕にアクセスするため、当該カード〔1〕を含むデックの送信要求を行う。コンテンツサーバ110は、これに応じて、カード〔1〕〜〔5〕をまとめたデック1001を作成し、端末装置120へ送信する。
端末装置120は、デック1001を受信するとこれを受信バッファ122に格納し、アクセス対象であるカード〔1〕を表示部123に表示する。端末装置120のユーザは、当該デック1001内で、カード〔2〕、〔4〕とたどり、次にカード〔A〕にアクセスする。カード〔A〕はデック1001に含まれていないので、端末装置120はコンテンツサーバ110にカード〔A〕を含むデックの送信要求を行う。コンテンツサーバ110は、これに応じて、カード〔1〕、〔2〕、〔4〕、〔A〕、〔B〕をまとめたデック1002を作成し、端末装置120へ送信する。
【0056】
端末装置120は、デック1002を受信すると、デック1001を破棄して新たに受信したデック1002を受信バッファ122に格納し、アクセス対象であるカード〔A〕を表示部123に表示する。端末装置120のユーザは、当該デック1002内で、さらにカード〔B〕を閲覧した後、カード〔C〕にアクセスする。カード〔C〕はデック1002に含まれていないので、端末装置120はコンテンツサーバ110にカード〔C〕を含むデックの送信要求を行う。コンテンツサーバ110は、これに応じて、カード〔1〕、〔2〕、〔4〕、〔5〕、〔C〕をまとめたデック1003を作成し、端末装置120へ送信する。
【0057】
同様にして、端末装置120はデック1003を受信バッファ122に格納し、カード〔C〕を表示部123に表示する。この後、ユーザは、デック1003に含まれる各カードを閲覧し、さらにカード〔3〕にアクセスする。カード〔3〕はデック1003に含まれていないので、カード〔1〕、〔3〕、〔D〕、〔E〕をまとめたデック1004が作成される。端末装置120のユーザは、このデック1004の中でカード〔D〕、〔E〕を閲覧する。
なお、これらの1デックのデータサイズは、端末装置120から送信されたデバイス情報に基づく受信バッファ122の容量制限から、5枚のカードまで含めることができると仮定している。
【0058】
次に、このコンテンツのノードに対して開発者が注釈を付加する場合の編集ツールについて説明する。ノードに付加する注釈を編集するには、結果画面を見ながら編集を行うことが可能なツール(ソフトウェア)を用いる。このツールは、ウェブアプリケーションの実行装置であるコンテンツサーバ110と統合されており、図示しない表示装置に対してウェブアプリケーションの実行画面とGUIによるコンテンツの編集画面とを自由に切り替えて表示し、ウェブアプリケーションの実行またはコンテンツの編集を行うことができるようになっている。
図11は、コンテンツの編集画面であり、注釈を付けるノードを決定する画面の表示例を示す図である。
図11に示す編集画面では、編集対象であるコンテンツのツリー1101が表示され、その中で注釈を付けたいノードを選択できるようになっている。すなわち、各ノード(各行に対応)の左端にラジオボタン1102が設けられており、ユーザは、注釈を付けようとする任意のノードを選択することができる。
【0059】
注釈を付けるノードが決定されると、次に、注釈を付加する画面に移行する。
図12は、コンテンツの編集画面であり、所望のノードに注釈を付加する画面の表示例を示す図である。
図12に示す編集画面は、該当ノードのプレビュー領域1201、対象となるデバイスの表示・選択領域1202、及び注釈の表示・入力領域1203からなる。注釈の表示・入力領域1203における注釈名「AHint」の欄に、予めタグに設定されたoutline=yes, split=menuなどの文字列を書くことによって、分割可能性や情報提示方法の注釈を指定することができる。
以上のようにしてノードに注釈が付されると、当該コンテンツは、コンテンツサーバ110におけるメモリやハードディスクなどの記憶部111に格納され、後に端末装置120からの要求に応じてカード生成部30に読み出され、その分割処理の際にノードに付された注釈が利用される。
【0060】
図13は、本実施の形態が適用されるネットワークシステムの他の構成例を示す図である。
図13に示すネットワークシステムには、コンテンツサーバ110に対応するサーバとして、HTMLで記述されたニュースコンテンツを、HDMLブラウザを持つ端末装置120用に変換する変換器(トランスコーダ)1301が設置されている。HTMLは書式が決まっているのでXMLのように任意に注釈を付けることができない。そこで、この例では、ニュースコンテンツを記述するHTML文書の所望の場所を指示して注釈を対応づける外部注釈を用いる。トランスコーダ1301は、ニュースサーバ1302からニュースコンテンツを読み出し、外部注釈データベース1303から当該ニュースコンテンツのHTML文書に対応する外部注釈を取得して、これに基づいて当該ニュースコンテンツをHDMLに変換し端末装置120に送信する。
ニュースコンテンツを格納するニュースサーバ1302及び外部注釈を格納する外部注釈データベース1303は、トランスコーダ1301と共に1つのサーバを構成していても良いし、トランスコーダ1301とは別にネットワーク130上に設けられたサーバであっても良い。
【0061】
ニュースサーバ1302に格納されたニュースコンテンツは、政治、経済、社会、娯楽といったカテゴリに分類されており、これらは、ランダムアクセスノードである。個々の記事は、見出し、小見出し、リード、本文といった構成要素からなるが、これらは全てシーケンシャルアクセスである。
これらのニュースコンテンツはHTMLで記述されており、トランスコーダ1301は適切なHTMLパーサを用いて当該ニュースコンテンツをツリー(DOMツリー)に変換することができる。このようなDOMツリーに対して外部注釈をすることにより、当該DOMツリーのノードに注釈を付することができる。ここで、外部注釈は、XPath(W3C, XML Path Language (XPath) Version 1.0, HYPERLINK "http://www.w3.org/Style/XSL/" http://www.w3.org/Style/XSL/)などを用いてニュースコンテンツのHTML文書における所望の場所をポイントし、対応する外部注釈を対応づけることにより行うことができる。この外部注釈は、外部注釈データベース1303に予め蓄積されており、端末装置120からの要求に応じてコンテンツを変換するときに使用される。
【0062】
図14は、HTMLで記述されたニュースコンテンツに注釈を付ける様子を示す図である。
図14に示すオリジナルのニュースコンテンツは、外部注釈によって図示のように注釈が付される。この例では、外部注釈もXMLで記述されており、「AHint」というタグでカード・デックの分割のための注釈が表現される。注釈内容は、「op」という属性値に記述される。記述内容は図8を参照して説明した例と同様であるものとする。各注釈(<AHint>)がどのHTML要素を指しているかは、XPathで記述される。図14では、XPathを右から左方向への矢印で示し、実際の表現の例を最初の2つの注釈のみ示している。
【0063】
図14に示されたノードのうち、「最新ニュース」、「スポーツ」は、ランダムアクセス(split=menu)のノードである。一方、「記事1」は、シーケンシャルアクセス(split=seq)である。「h1」、「h2」タグで表された大見出し、小見出しは、記事1の要素であり、しかも分離不可能(outline=no)の要素である。一方、記事のリード及び本文は、分離可能(outline=yes)である。
このような注釈は、トランスコーダ1301の開発者が図14に示したような注釈言語を用いて手で記述しても良いし、ヒューリスティックス(発見的手法)を用いて自動的に記述しても良い。図14の例では、「ul」タグに対しては分離可能かつランダムアクセス、「div」タグは分離可能かつシーケンシャルアクセス、「h1」及び「h2」タグは分離不可能、といったルールを作ることにより自動的に注釈を付けることができる。さらに、自動で付与した注釈を、トランスコーダ1301の開発者が部分的に書き換えて、最適化することも可能である。
【0064】
図15は、図14のXML文書がカード化されたコンテンツの例を示す図である。
図15を参照すると、ニュースページのカードには、「最新ニュース」の他に「今日のニュース」、「昨日のニュース」といった選択肢がある。また「最新のニュース」のカードには、「スポーツ」の他に「政治」、「経済」といった選択肢がある。以下、選択肢を順にたどり、図14に示した内容を示すカードが選択されている。
【0065】
上述した2つの適用例では、XMLやHTMLで記述されたコンテンツをWMLやHDMLに変換して配信する例を示した。しかしながら、本実施の形態で用いたコンテンツをカード化するアルゴリズムは、デックの概念が存在しない言語に対応した端末装置にコンテンツを送信するためのページ分割にも利用することができる。例えば、HTMLページの分割や、端末上で動作するJavaで記述されたGUIプログラムに対しても、ツリー状のコンテンツを処理する場合には適用可能である。具体的には、所定のコンテンツを異なる複数の実行環境に対応させるフロントエンドアプリケーション開発モデルに本実施の形態を適用することができる。
【0066】
図16は、このような開発モデルの構成例を示す図である。
図16に示す開発モデルは、統一形式で書かれたアプリケーションプログラムを所定のデバイスクラスに最適化する最適化装置1601と、最適化装置1601にて最適化されたプログラムを実行環境に適したフォーマット(あるいは端末プログラムコード)に変換する変換手段とを備える。この変換手段として、図16には、HTMLで記述されたコンテンツを生成するHTML生成器1602と、WMLやHDMLに対応したカードとデックとからなるコンテンツを生成するデック生成器1603と、Javaプログラムを生成するJavaプログラム生成器1604とを備える。
【0067】
アプリケーションプログラムの統一表現は、DOMツリー等のツリー構造で表現され、かつ、端末装置120の種類や実行環境に依存しないプログラムである。このアプリケーションプログラム自体は、何らかのアプリケーション開発ツールを用いて作成される。アプリケーションプログラムの物理的な表現形式は、XMLを用いたタグ表現でも良いし、独自のアプリケーション記述言語を用いても良い。また、Javaオブジェクトの一般的なファイル格納形式(Serialized Objects)でも良い。さらに、このアプリケーションプログラムには、同じ表現形式を用いて、本実施の形態によるカード分割に用いられる注釈が含まれている。
【0068】
最適化装置1601は、この統一表現によるアプリケーションプログラムをメモリから読み込み、予め設定されたデバイスクラスで最適に表示できるように画面分割を行う。ここで、図4に示したカード化アルゴリズムが使用される。なお、デバイスクラスは、このアプリケーションプログラムを使用する端末装置120を、その画面サイズなどの分類要素に基づいて数種類のクラスに分けたものである。例えば、携帯電話のように非常に小さい画面を持つコンパクト画面クラス、それよりは大きいがやはり携帯端末の画面であるスモール画面クラス、それよりも大きい画面のテレビ画面クラス、さらに大きい画面の大画面クラスなどに分けることができる。なお、これらの最適化の基準は、上記表示部123の画面サイズの他、表示部123の解像度や通信速度など、アプリケーションプログラムを配信しようとする端末装置120の企画や仕様に応じて任意に設定することができる。
【0069】
最適化されたアプリケーションプログラムは、さらに複数の実行環境から共有されるように一時的にメモリに格納される。このときの表現形式も統一表現と同じ形式が使われる。
HTMLブラウザを持つパーソナルコンピュータなどの端末装置120でこのアプリケーションプログラムを表示させる場合は、ウェブサーバ1610上で動作するHTML生成器1602を用いてアプリケーションプログラムの変換を行う。すなわち、HTML生成器1602は、メモリに格納されている最適化されたアプリケーションプログラムを読み込み、当該アプリケーションプログラムに対応するHTML文書を生成し、HTMLブラウザを備えたパーソナルコンピュータなどの端末装置120に送信する。
また、WMLやHDMLに対応したブラウザを持つ端末装置120でこのアプリケーションプログラムを表示させる場合は、同じくウェブサーバ1610上で動作するデック生成器1603を用いてアプリケーションプログラムの変換を行う。この場合は、WMLやHDMLにデックの概念が存在するので、デックを生成してから変換を行う。このとき、個々の端末装置120から取得した受信バッファ122の容量制限などに基づいてデックを生成する。
さらに、同一の最適化プログラム表現を用いて、端末装置120上で動作するプログラムを生成することもできる。Javaプログラム生成器1604は、メモリから最適化されたアプリケーションプログラム表現を読み込み、端末装置120上で動作するJavaプログラムを生成する。生成されたJavaプログラムをJavaVM(Virtual Machine)を搭載した端末装置120にダウンロードして実行することができる。
【0070】
【発明の効果】
以上説明したように、本発明によれば、ツリー状に構成されたコンテンツをカードとデックという単位に分割して送信する場合において、送信先端末の条件やコンテンツの内容に応じて、送信先端末のユーザにとって使用しやすいカードを生成することができる。
【0071】
また、本発明によれば、かかるコンテンツの送信において、1デックのデータサイズが送信先端末の受信バッファの制限(バイト数)を満たしながら、デックの再送信が少なくなるように、最適なカードの集合を選択してデックを動的に構成することができる。
【図面の簡単な説明】
【図1】 本実施の形態を実現するシステム構成を示す図である。
【図2】 本実施の形態によるコンテンツサーバを実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
【図3】 図2のプログラム制御されたCPUにおいて、本実施の形態によるコンテンツの分割を行うための機能ブロックを示す図である。
【図4】 本実施の形態によりツリー構造のコンテンツをカードに分割する手順を説明するフローチャートである。
【図5】 本実施の形態によりカードを集めてデックを生成する手順を説明するフローチャートである。
【図6】 本実施の形態が適用されるネットワークシステムの構成例を示す図である。
【図7】 ウェブアプリケーションによる製品検索の検索結果を示すツリー状のコンテンツ及びそのノードに注釈が付された状態の例を示す図である。
【図8】 付加的情報として注釈を埋め込んだXML文書の例を示す図である。
【図9】 図7のコンテンツに対し、本実施の形態のカード化アルゴリズムを適用した例を示す図である。
【図10】 図9のカード化されたコンテンツに対し、本実施の形態のデック生成アルゴリズムを適用した例を示す図である。
【図11】 本実施の形態によるコンテンツの編集画面であり、注釈を付けるノードを決定する画面の表示例を示す図である。
【図12】 本実施の形態によるコンテンツの編集画面であり、所望のノードに注釈を付加する画面の表示例を示す図である。
【図13】 本実施の形態が適用されるネットワークシステムの他の構成例を示す図である。
【図14】 HTMLで記述されたニュースコンテンツに注釈を付ける様子を示す図である。
【図15】 図14のXML文書がカード化されたコンテンツの例を示す図である。
【図16】 本実施の形態が適用されるフロントエンドアプリケーション開発モデルの構成例を示す図である。
【符号の説明】
10…端末情報取得部、20…ノード編集部、30…カード生成部、40…デック生成部、110…コンテンツサーバ、111…記憶部、112…コンテンツ配信部、120…端末装置、130…ネットワーク
【発明の属する技術分野】
本発明は、ネットワークを介して端末装置にウェブコンテンツを配信するサーバに関し、特にHTML等で記述されたウェブコンテンツをWML等の携帯端末に適した形式に変換して配信するサーバに関する。
【0002】
【従来の技術】
今日、携帯電話やPDA(Personal Digital Assistant)などの携帯型情報端末(以下、携帯端末と称す)においても、インターネットに接続してウェブコンテンツ(以下、単にコンテンツと称す)を閲覧する機能を持ったものが普及してきている。
このような携帯端末は、一般的なネットワーク端末であるコンピュータ装置(デスクトップ型やノートブック型のパーソナルコンピュータ、ワークステーションなど)と比較して、コンテンツを表示する表示画面が小さく、受信バッファ(メモリ)の記憶容量も少ない。したがって、携帯端末に対してコンテンツを送信するウェブサーバは、送信先の端末の能力に合わせてコンテンツを変換する必要がある。
【0003】
この種の携帯端末、特に無線端末に適したコンテンツ記述言語として、WML(Wireless Markup Language)やHDML(Handheld Device Markup Language)がある。これらの言語で記述されたコンテンツは、携帯端末における表示単位であるカード(Card)と複数のカードをまとめたデック(Deck)とで構成される。コンテンツは、このデックを単位として送受信される。
通常、コンテンツは、HTMLなどを用いて記述され、ツリー状の構造を持っている。したがって、このコンテンツをWMLやHDMLのデータファイルに変換して携帯端末に送信するためには、このツリー構造をカードとデックからなる構造に切り分けなければならない。
【0004】
カードは、携帯端末の表示画面に実際に表示される物理的な表示単位であるため、表示内容が見やすいことや、ナビゲーションが携帯端末のユーザにとって直感的で操作しやすいことが重要である。
また、デックは、携帯端末に対して一度に送受信するデータの単位であるため、1つのデックに多くのカードをまとめることができれば、通信の回数を減少させることとなるため通信効率を向上させることができる。一方で、1デックのサイズは、送信先の携帯端末における受信バッファの記憶容量以下でなければならない。
【0005】
ここで、携帯端末における表示画面のサイズや受信バッファの記憶容量は、装置の種類によって異なる場合が多いので、コンテンツのツリー構造をカードとデックからなる構造に変換する処理は、携帯端末からの送信要求時に動的に行われることが望ましい。
【0006】
この種の変換処理における従来の一般的な手法として、まずコンテンツをべた書きのテキストに変換し、適当な文字数ごとにカードに切っていく方法がある。この手法は、例えばKDDIのEZ−ウェブサービス(HDMLを使用)において、電子メールを表示する場合やHTMLで記述されたコンテンツをHDMLファイルに変換する場合などに使われている。
この手法では、元のコンテンツをその意味内容に関わらず機械的に切るため、不自然な切り方になる場合が多い。例えば、文章や単語の途中で切れたり、画面上の表示が行の途中で切れたりする場合がある。
また、サーバから携帯端末への送信は、作成されたカードの最初から連続的に行われることが多いので、コンテンツの一部だけを見ようとする場合であっても、最初から順に見ていかなければならず使用の便が悪い。
【0007】
ツリー構造のコンテンツからカード及びデックを生成する従来技術としては、例えば、特開2000−194612号公報に開示された技術がある。同公報には、特定のタグ(TABLE, IMG, FIELDSET, IFRAMEなど)に基づいてツリー構造のコンテンツを分割し、このツリー構造の論理的な順序を保存する技術が記載されている。また、テキストやイメージ、リンクなどのカテゴリに基づいてコンテンツ内部の情報を分類し、メニューとリンクを用いて表示を行う技術が記載されている。さらに、携帯端末における受信バッファの記憶容量を参酌してデックを生成することについても述べられている。
同種の他の従来技術として、例えば、Pro5社のソフトウェアであるc−Magicは、元のHTMLテキストをカードに分割する際に、特定のタグ(<br>, <p>, <table>, <form>など)で切るように工夫しているため、不自然な切れ方になる場合を減少させている。
【0008】
また、ツリー構造のコンテンツからカード及びデックを生成する他の従来技術として、特開2000−76473号公報に開示された技術がある。同公報には、コンテンツの構造や特定のタグ情報を利用してインデックス情報を抽出しアウトラインページを作成するなどの処理により、元のコンテンツの構造情報を変換後のデータファイルに反映させる技術が記載されている。
【0009】
【発明が解決しようとする課題】
上述したように、コンテンツを携帯電話やPDAなどの携帯端末で閲覧する場合、表示画面のサイズや受信バッファの記憶容量における制約に対応するため、ウェブサーバなどにおいて、ツリー構造のコンテンツを携帯端末に適したカード及びデックからなる構造を持つデータファイルに変換する場合があった。
そしてこの場合、携帯端末における表示単位であるカードでは、表示内容が見やすいことや、ナビゲーションが携帯端末のユーザにとって直感的で操作しやすいことが要求される。また、サーバ、携帯端末間の通信単位であるデックでは、データサイズを携帯端末の受信バッファの記憶容量を超えない範囲でできるだけ多くのカードをまとめる(多くのデータを含む)ことが要求される。
さらに、コンテンツ通信の回数を減少させて通信効率を向上させるためには、単に1つのデックに多くのカードをまとめるのみならず、当該コンテンツの内容や元のツリー構造に基づいて、携帯端末からの再送信要求の発生が少なくなるように、当該コンテンツをカードへ切り分け、かつ1つのデックにまとめるカードを選択することが必要となる。
【0010】
上述したように、コンテンツをべた書きのテキストに変換し、その後、適当な文字数ごとにカードに切っていくという単純な手法では、カードの内容が不自然な切り方となる場合があり、また、コンテンツの一部だけを見ようとする場合に使用の便が悪かった。
【0011】
また、特開2000−194612号公報に開示された従来技術は、コンテンツの分割において、当該コンテンツにおけるツリー構造の論理的な順序を保存するとしている。また、コンテンツ内部の情報を分類し表示を行うとしている。
しかしながら、コンテンツのカードへの分割方法に格別の工夫がされておらず、また、コンテンツ内部の情報の分類においても元のデータの構造に基づいていないため、生成されたカード及びデックからなるコンテンツは、携帯端末のユーザにとって使いやすいものとは言い得ない。
さらに、これらの手法は、固有のマークアップ言語に依存しているため、汎用性を欠く。
【0012】
また、同様の従来技術であるPro5社のc−Magicは、元のHTMLテキストを特定のタグにおいて切るように工夫されているため、不自然な切れ方になる場合が減少するが、コンテンツの一部を見ようとする場合にも当該コンテンツの最初から順に見ていかなければならず、やはり使い勝手が良いとは言い得ない。
また、HTMLテキストを切る位置となるタグを指定していることにより、<table>タグなどの途中で元のHTMLテキストを切ることができないため、コンテンツが送信された場合に、1つのデックでも携帯端末の受信バッファをオーバーフローするという危険が新たに生じている。
【0013】
さらにまた、特開2000−76473号公報に開示された従来技術は、ツリー構造のコンテンツからカード及びデックに変換する際に、コンテンツの構造情報を変換後のデータファイルに反映させることとしている。
しかしながら、その変換ルールは発見的手法を用いて導出されているため、特定の構造やタグ情報及びデータの種類(headingタグによる見出しが有効なものなど)に依存する。したがって、一般的な構造のコンテンツに適用することは難しい。
また、この手法では、評価値が所定の基準を満たすまで(受信バッファの容量制限を満たすなど)アルゴリズムの適用を繰り返すことになっているため、大量の要求を迅速に処理しなければならないウェブアプリケーションにとっては効率が悪い。
【0014】
そこで本発明は、ツリー状に構成されたコンテンツをカードとデックという単位に分割して送信する場合において、送信先端末の条件やコンテンツの内容に応じて、送信先端末のユーザにとって使用しやすいカードを生成することを目的とする。
【0015】
また、本発明は、かかるコンテンツの送信において、1デックのデータサイズが送信先端末の受信バッファの制限(バイト数)を満たしながら、デックの再送信が少なくなるように、最適なカードの集合を選択してデックを動的に構成することを他の目的とする。
【0016】
【課題を解決するための手段】
上記の目的を達成する本発明は、ネットワークを介して端末装置にウェブコンテンツを配信するサーバにおいて、ウェブコンテンツの各ノードに、このウェブコンテンツの変換に対する注釈情報を付加するノード編集部と、このウェブコンテンツを、このノードに付加された注釈情報に基づいて、このウェブコンテンツを閲覧する前記端末装置における表示単位であるカードに分割するカード生成部とを備えることを特徴とする。
【0017】
ここで、このノード編集部は、少なくとも、自ノードが親ノードから分離可能か否かを示す情報と、自ノードに記述された情報の提示方法を特定する情報とを、注釈情報として各ノードに付加する。これにより、ウェブコンテンツを、適切な内容を含むカードに分割することができる。
また、このカード生成部は、このウェブコンテンツを、ランダムにアクセスが可能な階層メニューをなすカードとシーケンシャルにアクセスされる一連のカード群とで構成されたツリー構造を持ったカード集合に変換する。
【0018】
また、本発明は、ネットワークを介して端末装置に対しこの端末装置における表示単位であるカードに分割されたウェブコンテンツを配信するサーバにおいて、この端末装置から受信バッファの記憶容量に関する情報を取得する端末情報取得部と、取得された情報に基づいてこの端末装置における受信バッファの記憶容量以内のデータサイズとなるように、この端末装置から送信を要求されたカード及びこのカードからリンクされるカードを所定の規則に基づいて集めて端末装置への送信単位であるデックを生成するデック生成部とを備えることを特徴とする。
【0019】
ここで、このデック生成部は、この端末装置から送信を要求されたカードがシーケンシャルにアクセスされるカードである場合、このカードを含んでシーケンシャルにアクセスされる一連のカード群を集めてデックを生成する。あるいは、この端末装置から送信を要求されたカードがランダムにアクセスされるカードである場合、このカードを含むカード集合がなすツリー構造においてこのカードからルートカードへ向かいながらパス上のカードを順次集めてデックを生成する。
【0020】
さらに、このデック生成部は、この端末装置から送信を要求されたカードがランダムにアクセスされるカードであり、かつこのカードからルートカードへ向かうパス上の全てのカードを集めても端末装置の受信バッファの記憶容量に達しない場合、さらに送信を要求されたカードの子孫のカードを広さ優先で集めてデックに加える。
【0021】
また、本発明は、次のように構成されたことを特徴とするウェブコンテンツ編集装置を提供する。すなわち、このウェブコンテンツ編集装置は、ツリー構造のウェブコンテンツを入力し、このウェブコンテンツの構造に基づき、このウェブコンテンツの各ノードに対し、自ノードが親ノードから分離可能か否かを示す情報と自ノードに記述された情報の提示方法を特定する情報とを対応づけるノード編集手段と、この情報を各ノードに付加されたウェブコンテンツを格納する記憶手段とを備えることを特徴とする。
【0022】
さらにまた、本発明は、コンピュータを制御して、ウェブコンテンツの編集や配信を行うサーバとして動作させるプログラムとして、実現することができる。すなわち、コンピュータを制御して所定の端末装置にウェブコンテンツを提供するプログラムにおいて、この端末装置から受信バッファの記憶容量に関する情報を取得し、第1の記憶手段に格納する処理と、この受信バッファの記憶容量以内のデータサイズとなるように、端末装置における表示単位であるカードに分割されたウェブコンテンツが格納された第2の記憶手段から、この端末装置に送信を要求されたカード及び当該カードからリンクされるカードを所定の規則に基づいて読み出して、端末装置への送信単位であるデックを生成する処理と、生成されたデックを端末装置に送信する処理とを、このコンピュータに実行させることを特徴とする。
【0023】
また、コンピュータを制御してウェブコンテンツを編集するプログラムにおいて、処理対象であるウェブコンテンツのツリー構造をディスプレイに表示する手段と、表示されたウェブコンテンツにおける所定のノードの指定を受け付ける手段と、指定されたノードに対しこのウェブコンテンツの変換に対する注釈情報の入力を受け付けてこのノードに付加する手段と、このノードに注釈情報が付加されたウェブコンテンツを記憶装置に格納する手段として、このコンピュータを機能させることを特徴とする。
このプログラムは、さらに、ディスプレイに表示されたツリー構造を用いたGUI(Graphical User Interface)などのインターフェイスを用いて注釈情報を付加するノードの指定を受け付けたり、注釈情報の入力を受け付けたりすることができる。
【0024】
さらに、コンピュータを用いてウェブコンテンツを編集するウェブコンテンツ編集方法において、このコンピュータの処理装置が、ウェブコンテンツを入力し、このウェブコンテンツの各ノードに、このノードの分割方法に関する注釈情報を付加し、注釈情報が付加されたウェブコンテンツを記憶手段に格納するステップと、この処理装置が、記憶手段から処理対象のウェブコンテンツを読み出し、このウェブコンテンツのノードに付加された注釈情報に基づいて、このウェブコンテンツを分割するステップとを含むことを特徴とする。
【0025】
さらにまた、本発明は、端末装置からの要求に応じてウェブコンテンツを提供するサーバにおけるウェブコンテンツ提供方法において、このサーバの受信手段が、端末装置から受信バッファの記憶容量に関する情報を受信するステップと、このサーバの処理装置が、端末装置における表示単位であるカードに切り分けられたウェブコンテンツを格納した記憶手段から、要求に対応するカード及びこのカードからリンクされるカードを含むカードを、受信バッファの記憶容量以内のデータサイズ分読み出してデックを生成するステップと、この送信手段が、生成されたデックをこの端末装置に送信するステップとを含むことを特徴とする。
【0026】
ここで、この処理装置が、ウェブコンテンツを格納した記憶手段から、送信対象であるウェブコンテンツを読み出し、読み出したウェブコンテンツをカードに分割して、この記憶手段に格納するステップをさらに含む構成とすることができる。
【0027】
さらに、本発明は、ネットワークに接続された端末装置と、このネットワークを介してこの端末装置にウェブコンテンツを提供するコンテンツサーバとを備えたネットワークシステムにおいて、コンテンツサーバは、ツリー構造を持つウェブコンテンツを生成するアプリケーションプログラムを実行するアプリケーション実行部と、このアプリケーション実行部にて生成されたウェブコンテンツを、このウェブコンテンツを閲覧する端末装置における表示単位であるカードに分割するカード生成部と、この端末装置から受信バッファの記憶容量に関する情報を取得する端末情報取得部と、取得された情報に基づいて受信バッファの記憶容量以内のデータサイズとなるように、この端末装置から送信を要求されたカード及び当該カードからリンクされるカードを所定の規則に基づいて集めて端末装置への送信単位であるデックを生成するデック生成部とを備えることを特徴とする。
【0028】
また、本発明は、ネットワークに接続された端末装置に対し、このネットワークを介してウェブコンテンツを提供するウェブコンテンツ提供システムにおいて、HTML(Hypertext Markup Language)にて記述されたウェブコンテンツを格納した記憶手段と、このウェブコンテンツの分割方法に関する注釈情報を、このウェブコンテンツのツリー構造における各ノードに対応づけて格納した外部注釈データベースと、この端末装置からウェブコンテンツの送信要求を受け取り、要求されたウェブコンテンツをこの記憶手段から読み出し、読み出されたウェブコンテンツに関する注釈情報をこの外部注釈データベースから読み出し、読み出した注釈情報に基づいてこのウェブコンテンツを分割し、分割されたこのウェブコンテンツを端末装置に送信するコンテンツ変換手段とを備えることを特徴とする。
【0029】
さらに、本発明は、統一表現で記述されたアプリケーションプログラムを、このアプリケーションプログラムを利用する端末装置に対応した形式に変換する変換システムにおいて、ツリー構造の統一表現で記述されたアプリケーションプログラムを格納した第1の記憶手段と、この第1の記憶手段から端末装置に提供するアプリケーションプログラムを読み出し、ツリー構造のアプリケーションプログラムの各ノードに対してこのアプリケーションプログラムの分割に関する注釈情報を付加し、この注釈情報に基づいてアプリケーションプログラムを画面分割する最適化手段と、最適化手段にて最適化されたアプリケーションプログラムを格納する第2の記憶手段と、この最適化されたアプリケーションプログラムを読み出し、このアプリケーションプログラムの提供先である端末装置に対応した形式に変換する変換手段とを備えることを特徴とする。
【0030】
また、本発明は、ネットワークを介してサーバに接続し、ウェブコンテンツを取得する端末装置において、接続したサーバに対し、自装置の受信バッファの記憶容量に関する情報を送信する送信手段と、この送信手段にてサーバに送られた情報に基づいて生成されたウェブコンテンツを構成するデータセットを受信する受信手段とを備えることを特徴とする。
【0031】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて、この発明を詳細に説明する。
図1は、本実施の形態を実現するシステム構成を示す図である。
図1に示すネットワークシステムは、ウェブコンテンツを配信するコンテンツサーバ110、WMLやHDMLで記述されたデータを表示するブラウザを備えた端末装置120、コンテンツサーバ110と端末装置120とを接続するネットワーク(インターネットや無線ネットなど)130とを備える。
【0032】
コンテンツサーバ110は、HTMLまたは他のマークアップ言語で記述されたコンテンツを格納した記憶部111と、記憶部111から読み出したコンテンツを端末装置120のブラウザに対応させて変換しネットワーク130を介して端末装置120に送信するコンテンツ配信部112とを備える。
なお、配信されるコンテンツは、予め記憶部111に格納されたものの他、他のウェブサーバから取得したコンテンツであっても良いし、記憶部111にウェブアプリケーションを格納しておき、当該ウェブアプリケーションの記述に基づいて動的に生成されたコンテンツであっても良い。このコンテンツは、DOM(Document Object Model)またはDOMに似た抽象的なツリー構造を内部表現とする。
【0033】
端末装置120は、ネットワーク130を介してコンテンツサーバ110に接続するための送受信部121と、コンテンツサーバ110から送られたウェブコンテンツを一時的に格納する受信バッファ122と、受信バッファ122に格納されたウェブコンテンツを表示する表示部123とを備える。また、表示部123にウェブコンテンツを表示するため、カードと呼ばれる画面単位及びデックと呼ばれる送受信単位をサポートするブラウザを搭載する。このブラウザは、例えばWMLやHDMLといったマークアップ言語に対応している。
カードは、端末装置120の図示しない表示部123の画面サイズに依存するが、たいていの場合、ブラウザにはスクロール機能が備わっているため、物理的な画面サイズがカードのサイズの制約になることは少ない。ただし、ユーザインターフェイスとして直接人間が操作する対象であるため、カードのサイズの決め方やそのナビゲーション方法が使い勝手に影響することが多い。
一方、デックは、コンテンツサーバ110と端末装置120との間におけるコンテンツの送受信の単位であり、端末装置120において受信したデックを蓄える必要があるため、当該端末装置120の受信バッファ122の容量がデックのデータサイズの制約となる。ただし、受信バッファ122の容量以内であればデックのデータサイズが大きい方が、コンテンツサーバ110と端末装置120との間の通信料を削減し、通信効率が良くなる。
【0034】
端末装置120は、ネットワーク130を介してコンテンツサーバ110に接続すると、まず送受信部121からコンテンツサーバ110に対してデバイス情報(受信バッファ122の記憶容量など、詳細は後述)を送信する。そして、当該デバイス情報に基づいて生成されたデータセット(上述した複数のカードを含むデック)を受信して、カードにて構成されるウェブコンテンツを表示部123に表示する。
このウェブコンテンツの閲覧操作において、受信したデック内にあるカードへのナビゲーションでは、受信バッファ122内で処理(受信バッファ122内に存在するカードを表示)し、コンテンツサーバ110へデックの送信要求を出さない。一方、デック内に存在しないカードにアクセスしようとした場合は、コンテンツサーバ110に対して該当するカードの送信要求を出す。
コンテンツサーバ110は、端末装置120からカードの送信要求を受け取った場合、要求されたカードを含む新たなデックを生成し、当該端末装置120に送信する。
【0035】
図1に示す例では、2台の端末装置120がネットワーク130に接続されているが、実際には、表示部123の画面サイズや受信バッファ122の記憶容量が異なる種々の端末装置120が接続されている。コンテンツサーバ110は、それら端末装置120の能力を事前に知ることができないため、コンテンツを個々の端末装置120の能力に合わせて変換する作業は、具体的に端末装置120から送信要求があってから動的に行う必要がある。
したがって、コンテンツサーバ110のコンテンツ配信部112は、記憶部111から読み出したツリー構造を持つコンテンツを、送信先である端末装置120の表示部123の画面サイズと受信バッファ122の記憶容量とに合わせてカードとデックという単位に分ける機能を要する。そして、この作業は、上述したユーザインターフェイスとしての使いやすさと通信効率とを考慮して行われることが必要である。
【0036】
図2は、本実施の形態によるコンテンツサーバ110を実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
図2に示すコンピュータ装置は、CPU(中央処理装置)101と、システムバスを介してCPU101に接続されたM/B(マザーボード)チップセット102及びメインメモリ103と、PCIバスなどの高速なバスを介してM/Bチップセット102に接続されたビデオカード104、ハードディスク105及びネットワークインターフェイス106と、さらにブリッジ回路110及びISAバスなどの低速なバスを介してM/Bチップセット102に接続されたフロッピーディスクドライブ107、キーボード108及びI/Oポート109とを備える。
図2に示すコンピュータ装置にて実現されるコンテンツサーバ110は、ネットワークインターフェイス106を介してネットワーク130に接続される。したがって、端末装置120とのデータの送受信においては、ネットワークインターフェイス106が送受信手段となる。また、メインメモリ103やハードディスク105が、図1に示した記憶部111に相当する。
なお、図2は本実施の形態による検索方法を実現するコンピュータ装置の構成を例示するに過ぎず、本実施の形態を適用可能であれば、他の種々のシステム構成を取ることが可能である。
【0037】
本実施の形態は、図2に示したメインメモリ103に展開されたプログラムにてCPU101を制御することにより図1に示したコンテンツ配信部112としての機能を実現させ、ハードディスク105から読み出したツリー構造を持つコンテンツを、送信先である端末装置120の表示部123の画面サイズと受信バッファ122の記憶容量とに合わせてカードとデックという単位に分割する。
図3は、プログラム制御されたCPU101において、本実施の形態によるコンテンツの分割を行うための機能ブロックを示す図である。
図3を参照すると、本実施の形態は、端末装置120の能力に関する情報を取得する端末情報取得部10と、ハードディスク105から読み出したツリー状のコンテンツの各ノードに注釈情報(以下、単に注釈と称す)を付けるノード編集部20と、ノード編集部20にてノードに付された注釈に基づいてツリー状のコンテンツを分割しカードを生成するカード生成部30と、カード生成部30にて生成されたカードを集めてデックを生成するデック生成部40とを備える。
【0038】
上述したように、これらの構成要素は、プログラム制御されたCPU101により実現される仮想的なソフトウェアブロックである。当該プログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記憶媒体に格納して配布したり、ネットワークを介して伝送したりすることにより提供することができる。本実施の形態は、図2に示したネットワークインターフェイス106やフロッピーディスクドライブ107、図示しないCD−ROMドライブなどを介して当該プログラムを入力し、ハードディスク105に格納する。そして、ハードディスク105に格納されたプログラムをメインメモリ103に読み込んで展開し、CPU101にて実行する。
【0039】
図3に示した本実施の形態の構成において、端末情報取得部10は、コンテンツの送信先である個々の端末装置120(送信要求を行った端末装置)のデバイス情報を取得する。取得されたデバイス情報はメインメモリ103に格納される。このデバイス情報は、送信するカード及びデックを生成するためのパラメータとなる。具体的には、例えば、コンテンツの分割単位の大きさの目安となる画面サイズ、コンテンツの分離を行うかどうかを判断する目安となる表示処理や通信速度の性能、デックの大きさの制限値となる受信バッファ122サイズなどである。
【0040】
ノード編集部20は、送信対象であるコンテンツを入力し、当該コンテンツのツリーのノードに、表示される情報の性質を表すような注釈を付ける。この注釈においては、まず当該ノードが表す情報が親ノードから分離可能かどうかを指定する。分離不可能なものは親ノードにその情報が組み込まれなければならないので、本実施の形態による分割対象にはならない。分離可能な場合、分離された情報がどのようにユーザからアクセスされるかを表す性質を注釈する。例えば、一部の情報のみが選択的にアクセスされるのか(ランダムアクセス)、それとも、全ての情報が順にアクセスされるのか(シーケンシャルアクセス)を指定する。この注釈の内容は、コンテンツを構成する要素の種類(XMLのタグの種類など)やデバイスの性能値などからノード編集部20が自動的に決めることが可能である。これに加えて、コンテンツ作成時(あるいは動的なコンテンツの設計時)に開発者がコンテンツの意味内容などから適切な注釈を予め付けておくこともできる。また、コンテンツの表示テスト時に注釈を変更して、より適切な表示になるように調整することもできる。ノードに注釈が付されたコンテンツはメインメモリ103に格納される。
なお、この注釈については、後でさらに詳細に述べる。
【0041】
カード生成部30は、ノード編集部20により注釈が付けられたコンテンツをメインメモリ103から読み出し、カードに分割する。このとき、ランダムアクセスの注釈が付けられたノードは、子ノードへのリンクを含むようなメニューのカードとして生成する。子供のノードに対してもさらにランダムアクセスの注釈が付いていれば、再帰的にメニューのカードを生成する。この結果、ランダムアクセスのノード集合は、全体として階層メニューの形式となる。シーケンシャルアクセスの注釈が付いたノードの場合は、その子孫のノードで単独の表示単位となるもの全てを元の順序が保存されるように並べる。その後、適当な大きさでカードに分割し、順にアクセスされるようにリンクを張る。シーケンシャルアクセスの場合、必要なら分離されたカードへのリンクを含むようなアウトラインカードを作成しても良い。
ランダムアクセス及びシーケンシャルアクセスのどちらの場合も、分離不可能な子ノードは全て親ノードのカードに埋め込むようにする。結果として、ランダムアクセスされるカードによる階層的なメニューとシーケンシャルアクセスされる一連のカード群とからなるツリー構造を持ったカード集合が生成される。このカードのツリーは、上述したように分離不可能なノードを1つのカードにまとめる操作が行われているため、元のコンテンツのツリー構造そのものではないが、その構造はある程度反映されている。また、各カードがランダムアクセスされるものか、シーケンシャルアクセスされるものかの区別は、当該カードに変換されたノードにしたがう。
なお、コンテンツのカード化アルゴリズムの詳細は後述する。
【0042】
デック生成部40は、端末装置120から所定のカードを要求された場合(最初のコンテンツの要求に対しては、カードのツリーのルートカードが要求されたとする)、適切なカードを集めてデックを生成し、当該要求を行った端末装置120に返送する。
ここで、デックの生成は次のように行う。すなわち、まずルートカードから要求されたカードまでのパス上にあるカードをデックに加え(「1つ上に戻る」というリンクをたどる)、さらに、要求されたカードから子孫のカードを広さ優先でデックに加えていく。ただし、要求されたカードがシーケンシャルアクセスのカードである場合は、これらのカードに先立って、要求された当該カードの次にアクセスされるカード(例えば、「次へ」というリンクをたどることで得られる)をまずデックに加える。
端末装置120の受信バッファ122の記憶容量に基づくデックのデータサイズ(制限容量)にさらに余裕があれば、親のカードに対しても同様な処理を繰り返して適用し、デックにカードを加えていく。各カードのデータサイズ(バイト数)の和が1デックの制限容量になるまでカードを加えていくことにより、端末装置120からの要求に対するデックを確定する。
なお、デック生成アルゴリズムの詳細は後述する。
【0043】
次に、ノード編集部20によってコンテンツの各ノードに付加される注釈について説明する。
本実施の形態では、ノードに付加する注釈を次のような情報とする。
・当該ノードは親ノードからカードとして分離可能かどうかを示す情報。
・(分離可能なノードにはさらに)当該ノードに記述された情報の提示方法。すなわち、情報に対してユーザがどのようにアクセスするか(ランダムアクセスかシーケンシャルアクセスか)を区別する情報。
・分割の単位。具体的には、分割された後のカードに含まれるべき情報の個数(コンテンツのツリーのノード数)を指定する情報。
ランダムアクセスの注釈が付加されるコンテンツの性質としては、次のようなものが考えられる。
1.必ずしも全てアクセスされない情報の集まり。
2.ユーザが任意の部分(カード)を選んで表示する。
3.複数部分(カード)の表示順序が任意。
4.ツリーの上下に移動する可能性が高い。
一方、シーケンシャルアクセスの注釈が付加されるコンテンツの性質としては、次のようなものが考えられる。
1.全ての情報がアクセスされるべきもの。
2.アクセスされる順番が決まっている。
3.任意の部分の検索や飛び越しなどのアクセスはあまり行われない。
4.ツリーの左右(アクセスする順番)に移動する可能性が高い。
これらの注釈は、上に述べたようなガイドラインに基づいて、事前にプログラマがコンテンツの意味を考慮して付加することもできるし、コンテンツの構造やタグの情報を利用してヒューリスティックス(発見的手法)を用いて自動的に付与することもできる。さらに、自動的に付けられた注釈に対し、アプリケーションのプログラマが部分修正をしても良い。
【0044】
次に、カード生成部30によるコンテンツのカード化アルゴリズムについて説明する。
図4は、ツリー構造のコンテンツをカードに分割する手順を説明するフローチャートである。
図4を参照すると、このアルゴリズムは、コンテンツのツリーのルートから再帰的に実行するようになっている。まず、メインメモリ103から読み出されたコンテンツのルートノードがカレントノードとして与えられ、ノードの探索(以下のステップ403〜408の処理)を行う(ステップ401)。再帰的な実行であるので、以下の処理による全てのノードの探索が終わっていれば、カード化のアルゴリズムを終了する(ステップ402)。
【0045】
ノードの探索では、まず、自分のノード自身と子供のノード(子ノード)で分離不可能なものを作成するカード(カレントカード)の内容とする(ステップ403)。ここまでで、分離可能な子供が分離するだけの十分な数がない場合(例えば、分離可能な子供が0の場合、または1個しかないので分離しても意味がない場合)は、全ての情報を1つのカレントカードに組み込む。そして、これより下位のノードを探索する必要がないので、別のノードの探索に戻る(ステップ404、408)。
分離可能な子ノードが十分ある場合は、さらに、当該子ノードがランダムアクセスかシーケンシャルアクセスかを注釈によって判断する(ステップ405)。当該子ノードがシーケンシャルアクセスされるノードである場合は、当該子ノードを全て表示順にフラットに並べる。そして、カードのデータサイズの目安と各ノードの情報量とに基づき、各カードに含まれる情報料が等分になるようにグルーピングしてカードの列に変換する。生成された各カードには、次のカードへのリンクなどを生成する。また、シーケンシャルアクセスされるカード列については、カレントカードを、当該カード列のアウトラインを示すカードとし、各カードへのリンクを生成することができる。また、アウトラインカードを作成せずに、他のカードからシーケンシャルなカード列へのリンク先を当該カード列の一番目のカードとすることもできる(ステップ406)。
一方、分離可能な子ノードが十分あり、それらがランダムアクセスされるノードである場合、各子ノードへのリンクをメニューとしてカレントカードに含め、次に当該子ノードの任意の1つを新たなカレントノードとし(ステップ407)、ステップ402に戻って全てのノードの探索が完了したかどうかを判断し、分離したノードに対して、ステップ403以降のカード化アルゴリズムを再帰的に適用する。
以上のようにして、カードのツリーが生成される。
【0046】
次に、デック生成部40によるデック生成アルゴリズムについて説明する。
図5は、図4で生成されたカードを集めてデックを生成する手順を説明するフローチャートである。
図5を参照すると、まず、要求されたカードをメインメモリ103から読み出し、シーケンシャルアクセスのカードかどうかを判断する(ステップ501)。そして、シーケンシャルアクセスされるカードである場合は、カード内の情報の順序(参照される順序)にしたがって、デックの制限容量の範囲内で当該シーケンシャルにアクセスされる全てのカードをメインメモリ103から読み出し、デックに加える(ステップ502)。この時点でデックの制限容量に達したならば、デックの生成処理を終了する(ステップ503)。
【0047】
ステップ501で要求されたカードがランダムアクセスのカードであると判断された場合、及びシーケンシャルアクセスのカードと判断され、かつ当該シーケンシャルにアクセスされる全てのカードをデックに加えても当該デックの制限容量に達しない場合は、次に、要求されたカードからルートカードに戻るパス上のカードをメインメモリ103から読み出し、当該デックに加える(ステップ504)。この時点でデックの制限容量に達したならば、デックの生成処理を終了する(ステップ505)。
ステップ504でカードを加えても未だデックの制限容量に達しない場合は、さらに要求されたカードの子孫のカードを広さ優先で(すなわちカードのツリーの浅い層に位置するカードを優先して)メインメモリ103から読み出し、当該デックに加える(ステップ505、506)。この時点でデックの制限容量に達したならば、デックの生成処理を終了する(ステップ507)。
ステップ506でカードを加えても未だデックの制限容量に達しない場合は、要求されたカードの親のカードを改めて要求されたカードとみなして、ルートカードに至るまで順次ステップ501から処理を繰り返す(ステップ507、508、509)。
【0048】
なお、図4に示したアルゴリズムでカードを生成した場合、分離不可能なノードは1つのカードにまとめていくため、1つのカードのデータサイズが当該カードを要求した端末装置120の受信バッファ122の記憶容量を超えてしまう場合がある。この場合、当該受信バッファ122の記憶容量内に収まるように、当該カードを分割する必要がある。
図5に示すデックの生成過程において、ステップ502またはステップ504で最初に選択した(すなわち端末装置120から要求された)カードが当該端末装置120の受信バッファ122の記憶容量を超えている場合は、当該カードの分割が必要である。このカードの分割は、本来、本実施の形態に基づいて分割不可能な内容であるので、本実施の形態を離れ機械的に行われることとなる。具体的には、当該カードの内容をべた書きのテキストとみなし、字数等に基づいて単純に分割するといった既存の手法を取ることができる。
【0049】
以上のようにして、ツリー状のコンテンツをカードとデックに分解した。なお、コンテンツの送信先である端末装置120の能力に合わせて(デバイス情報に基づいて)上記のようにコンテンツを変換する場合、必要な情報だけを選択する、情報の提示の順番を変更する、関連する情報をグループ化する(特に分割表示不可能な情報を1つにまとめる)などの処理が行われる場合がある。これらの処理は、既存の従来技術を用いて行うことが可能である。これらの変更結果は、コンテンツのツリーとして表すことができる。例えば、情報の選択は、子ノードへのリンクを削除することで行うことができる。また、情報提示の順番は、子ノードの順番で表現することができる。さらに、分割不可能な情報は、それらの情報を1つのノードに統一することで表現することができる。これらの変換処理は、端末情報取得部10が端末装置120のデバイス情報を受け取った後、カードへの分割の前に実行する。不可分な情報の変換などを含むことを考慮すれば、ノード編集部20によるノードへの注釈の付加が行われた後に実行しても良い。
【0050】
次に、本実施の形態を具体的なネットワークシステムに適用した適用例を説明する。
図6は、本実施の形態が適用されるネットワークシステムの構成例を示す図である。
図6に示すネットワークシステムにおいて、コンテンツサーバ(ウェブアプリケーションサーバ)110は、XMLで記述されたウェブアプリケーションを実行するアプリケーション実行部113と、当該ウェブアプリケーションを実行して動的に生成されたコンテンツを、無線ネットワーク130を通じて端末装置120に配信するコンテンツ配信部114とを備える。なお、コンテンツ配信部114の機能は図3を参照して説明した図1のコンテンツサーバ110におけるコンテンツ配信部112と同様である。
コンテンツサーバ110と端末装置120との間でのコンテンツの送信は、WAP(Wireless Application Protocol)にしたがって行われ、端末装置120は、WMLに対応したブラウザでカード化されたコンテンツを表示する。
また、端末装置120は、コンテンツサーバ110に接続すると、CC/PP(W3C, Composite Capabilities/Preference Profiles: Requirements and Architecture (Working Draft) http://www.w3.org/Mobile/CCPP/)などの記述方式を用いて、画面サイズや受信バッファ122のサイズなどのデバイス情報をコンテンツサーバ110に通知する。
【0051】
本適用例では、ウェブアプリケーションとして、コンピュータ関連機器の製品検索と製品紹介を行うものを考える。いくつかの検索方法を用いて検索された製品は、カテゴリによって分類されて表示される。
図7は、ウェブアプリケーションによる製品検索の検索結果を示すツリー状のコンテンツ及びそのノードに注釈が付された状態の例を示す図である。
図7に示すコンテンツは、カテゴリに基づいて特定の1つの製品に関する情報を選んで閲覧するようなコンテンツである。図7を参照すると、製品紹介のノードは、まず、コンピュータ製品と周辺機器製品の2つのカテゴリに分けられる。さらに、コンピュータ製品は、ノートブック型パーソナルコンピュータ(図ではノートPCと表記)とデスクトップ型パーソナルコンピュータ(図ではデスクトップPCと表記)に分けられる。ここまでのノードは、ユーザが適当なカテゴリを選択してナビゲートしていくための情報であり、図示のように各ノードが分離可能でありかつランダムアクセスの注釈を付けることができる。
ノートブック型パーソナルコンピュータの下にある製品Aのノードは、ユーザが全ての情報にアクセスする内容であるとして、シーケンシャルアクセスの注釈が付けられる。製品Aのノードはさらに、製品名、特徴、スペックなどの詳細情報からなるが、そのなかで製品名と値段は基本的な情報であるので分離不可能という注釈が付けられる。
【0052】
これらの注釈は、XMLで記述されたウェブアプリケーションの中に付加的情報として埋め込むことができる。例えば、タグの属性情報としてこれらの注釈を書くことができる。
図8は、付加的情報として注釈を埋め込んだXML文書の例を示す図である。図8において、「LItem」は、構造を持つ情報を表すためのタグである。「LWord」「LText」は、実際の文字情報をあらわすタグであり、それぞれ、単語と文章とを記述する目的に使われる。各タグの属性において、「caption」は、情報の見出しを指定するものである。実際にコンテンツがWMLに変換された場合は、各画面の見出しやリンクのタイトルとして使われる。
また、図8において、「category」属性が、カード及びデックへの分割に使われる注釈を記述するための属性である。「category」の値として、各注釈の内容をカンマで区切って記述する。注釈は、
outline=.., split=..
という形をしており、outline=yesの場合は分離可能、outline=noの場合は分離不可を表す。また、split=menuはランダムアクセス、split=seqはシーケンシャルアクセスのノードであることを表す。
【0053】
図9は、以上の注釈に基づいて、図7のコンテンツに対し、図4に示したカード生成部30によるカード化アルゴリズムを適用した例を示す図である。
図9において、破線で囲まれた範囲が1枚のカードである。図9を参照すると、ランダムアクセスのノードでは、各ノードがそれぞれ1つのカードになっている。したがって、端末装置120によってこのカードを閲覧するユーザは、製品のカテゴリに基づいてリンクをたどっていくことにより、目的の情報にたどり着くことができる。
一方、シーケンシャルアクセスのノードである製品Aのノードでは、その下のノードである製品名、特徴、特徴1、特徴2、スペック、スペック1、スペック2、値段は、フラットに並べられる。ただし、製品名と値段とは分離不可能な情報(outline=no)であるので、アウトラインのカードにそのまま組み込まれる。また、特徴1及び特徴2は、情報量が比較的少ないので、合わせて1カードとしている。スペック1及びスペック2は、情報量が多いため、それぞれ1カードとしている。これらのカードは、順にアクセスされるようにリンク(図では矢印で示した)が張られる。また、分離されたカードは、製品Aのアウトラインのカードからもリンクが張られる。
【0054】
図10は、図9に示したようにカード化されたコンテンツに対して、図5に示したデック生成部40によるデック生成アルゴリズムを適用した例を示す図である。
図10において、丸数字で表したノードは製品カテゴリのカード(ランダムアクセス)であり、四角の英字で表したノードは個々の製品情報のカード(シーケンシャルアクセス)である。
図10(A)に示すカードツリーを、カテゴリで辿っていって製品情報A、B、Cのカードを順にアクセスし、その後、ルートカードまで戻ってさらに別の製品情報D、Eのカードをアクセスしていった場合のデック分割の様子を、図10(B)に示した。この過程で、全部で4つのデックが生成され、コンテンツサーバ110から端末装置120へ送信されている。
【0055】
具体的に説明すると、端末装置120のユーザがまずカード〔1〕にアクセスするため、当該カード〔1〕を含むデックの送信要求を行う。コンテンツサーバ110は、これに応じて、カード〔1〕〜〔5〕をまとめたデック1001を作成し、端末装置120へ送信する。
端末装置120は、デック1001を受信するとこれを受信バッファ122に格納し、アクセス対象であるカード〔1〕を表示部123に表示する。端末装置120のユーザは、当該デック1001内で、カード〔2〕、〔4〕とたどり、次にカード〔A〕にアクセスする。カード〔A〕はデック1001に含まれていないので、端末装置120はコンテンツサーバ110にカード〔A〕を含むデックの送信要求を行う。コンテンツサーバ110は、これに応じて、カード〔1〕、〔2〕、〔4〕、〔A〕、〔B〕をまとめたデック1002を作成し、端末装置120へ送信する。
【0056】
端末装置120は、デック1002を受信すると、デック1001を破棄して新たに受信したデック1002を受信バッファ122に格納し、アクセス対象であるカード〔A〕を表示部123に表示する。端末装置120のユーザは、当該デック1002内で、さらにカード〔B〕を閲覧した後、カード〔C〕にアクセスする。カード〔C〕はデック1002に含まれていないので、端末装置120はコンテンツサーバ110にカード〔C〕を含むデックの送信要求を行う。コンテンツサーバ110は、これに応じて、カード〔1〕、〔2〕、〔4〕、〔5〕、〔C〕をまとめたデック1003を作成し、端末装置120へ送信する。
【0057】
同様にして、端末装置120はデック1003を受信バッファ122に格納し、カード〔C〕を表示部123に表示する。この後、ユーザは、デック1003に含まれる各カードを閲覧し、さらにカード〔3〕にアクセスする。カード〔3〕はデック1003に含まれていないので、カード〔1〕、〔3〕、〔D〕、〔E〕をまとめたデック1004が作成される。端末装置120のユーザは、このデック1004の中でカード〔D〕、〔E〕を閲覧する。
なお、これらの1デックのデータサイズは、端末装置120から送信されたデバイス情報に基づく受信バッファ122の容量制限から、5枚のカードまで含めることができると仮定している。
【0058】
次に、このコンテンツのノードに対して開発者が注釈を付加する場合の編集ツールについて説明する。ノードに付加する注釈を編集するには、結果画面を見ながら編集を行うことが可能なツール(ソフトウェア)を用いる。このツールは、ウェブアプリケーションの実行装置であるコンテンツサーバ110と統合されており、図示しない表示装置に対してウェブアプリケーションの実行画面とGUIによるコンテンツの編集画面とを自由に切り替えて表示し、ウェブアプリケーションの実行またはコンテンツの編集を行うことができるようになっている。
図11は、コンテンツの編集画面であり、注釈を付けるノードを決定する画面の表示例を示す図である。
図11に示す編集画面では、編集対象であるコンテンツのツリー1101が表示され、その中で注釈を付けたいノードを選択できるようになっている。すなわち、各ノード(各行に対応)の左端にラジオボタン1102が設けられており、ユーザは、注釈を付けようとする任意のノードを選択することができる。
【0059】
注釈を付けるノードが決定されると、次に、注釈を付加する画面に移行する。
図12は、コンテンツの編集画面であり、所望のノードに注釈を付加する画面の表示例を示す図である。
図12に示す編集画面は、該当ノードのプレビュー領域1201、対象となるデバイスの表示・選択領域1202、及び注釈の表示・入力領域1203からなる。注釈の表示・入力領域1203における注釈名「AHint」の欄に、予めタグに設定されたoutline=yes, split=menuなどの文字列を書くことによって、分割可能性や情報提示方法の注釈を指定することができる。
以上のようにしてノードに注釈が付されると、当該コンテンツは、コンテンツサーバ110におけるメモリやハードディスクなどの記憶部111に格納され、後に端末装置120からの要求に応じてカード生成部30に読み出され、その分割処理の際にノードに付された注釈が利用される。
【0060】
図13は、本実施の形態が適用されるネットワークシステムの他の構成例を示す図である。
図13に示すネットワークシステムには、コンテンツサーバ110に対応するサーバとして、HTMLで記述されたニュースコンテンツを、HDMLブラウザを持つ端末装置120用に変換する変換器(トランスコーダ)1301が設置されている。HTMLは書式が決まっているのでXMLのように任意に注釈を付けることができない。そこで、この例では、ニュースコンテンツを記述するHTML文書の所望の場所を指示して注釈を対応づける外部注釈を用いる。トランスコーダ1301は、ニュースサーバ1302からニュースコンテンツを読み出し、外部注釈データベース1303から当該ニュースコンテンツのHTML文書に対応する外部注釈を取得して、これに基づいて当該ニュースコンテンツをHDMLに変換し端末装置120に送信する。
ニュースコンテンツを格納するニュースサーバ1302及び外部注釈を格納する外部注釈データベース1303は、トランスコーダ1301と共に1つのサーバを構成していても良いし、トランスコーダ1301とは別にネットワーク130上に設けられたサーバであっても良い。
【0061】
ニュースサーバ1302に格納されたニュースコンテンツは、政治、経済、社会、娯楽といったカテゴリに分類されており、これらは、ランダムアクセスノードである。個々の記事は、見出し、小見出し、リード、本文といった構成要素からなるが、これらは全てシーケンシャルアクセスである。
これらのニュースコンテンツはHTMLで記述されており、トランスコーダ1301は適切なHTMLパーサを用いて当該ニュースコンテンツをツリー(DOMツリー)に変換することができる。このようなDOMツリーに対して外部注釈をすることにより、当該DOMツリーのノードに注釈を付することができる。ここで、外部注釈は、XPath(W3C, XML Path Language (XPath) Version 1.0, HYPERLINK "http://www.w3.org/Style/XSL/" http://www.w3.org/Style/XSL/)などを用いてニュースコンテンツのHTML文書における所望の場所をポイントし、対応する外部注釈を対応づけることにより行うことができる。この外部注釈は、外部注釈データベース1303に予め蓄積されており、端末装置120からの要求に応じてコンテンツを変換するときに使用される。
【0062】
図14は、HTMLで記述されたニュースコンテンツに注釈を付ける様子を示す図である。
図14に示すオリジナルのニュースコンテンツは、外部注釈によって図示のように注釈が付される。この例では、外部注釈もXMLで記述されており、「AHint」というタグでカード・デックの分割のための注釈が表現される。注釈内容は、「op」という属性値に記述される。記述内容は図8を参照して説明した例と同様であるものとする。各注釈(<AHint>)がどのHTML要素を指しているかは、XPathで記述される。図14では、XPathを右から左方向への矢印で示し、実際の表現の例を最初の2つの注釈のみ示している。
【0063】
図14に示されたノードのうち、「最新ニュース」、「スポーツ」は、ランダムアクセス(split=menu)のノードである。一方、「記事1」は、シーケンシャルアクセス(split=seq)である。「h1」、「h2」タグで表された大見出し、小見出しは、記事1の要素であり、しかも分離不可能(outline=no)の要素である。一方、記事のリード及び本文は、分離可能(outline=yes)である。
このような注釈は、トランスコーダ1301の開発者が図14に示したような注釈言語を用いて手で記述しても良いし、ヒューリスティックス(発見的手法)を用いて自動的に記述しても良い。図14の例では、「ul」タグに対しては分離可能かつランダムアクセス、「div」タグは分離可能かつシーケンシャルアクセス、「h1」及び「h2」タグは分離不可能、といったルールを作ることにより自動的に注釈を付けることができる。さらに、自動で付与した注釈を、トランスコーダ1301の開発者が部分的に書き換えて、最適化することも可能である。
【0064】
図15は、図14のXML文書がカード化されたコンテンツの例を示す図である。
図15を参照すると、ニュースページのカードには、「最新ニュース」の他に「今日のニュース」、「昨日のニュース」といった選択肢がある。また「最新のニュース」のカードには、「スポーツ」の他に「政治」、「経済」といった選択肢がある。以下、選択肢を順にたどり、図14に示した内容を示すカードが選択されている。
【0065】
上述した2つの適用例では、XMLやHTMLで記述されたコンテンツをWMLやHDMLに変換して配信する例を示した。しかしながら、本実施の形態で用いたコンテンツをカード化するアルゴリズムは、デックの概念が存在しない言語に対応した端末装置にコンテンツを送信するためのページ分割にも利用することができる。例えば、HTMLページの分割や、端末上で動作するJavaで記述されたGUIプログラムに対しても、ツリー状のコンテンツを処理する場合には適用可能である。具体的には、所定のコンテンツを異なる複数の実行環境に対応させるフロントエンドアプリケーション開発モデルに本実施の形態を適用することができる。
【0066】
図16は、このような開発モデルの構成例を示す図である。
図16に示す開発モデルは、統一形式で書かれたアプリケーションプログラムを所定のデバイスクラスに最適化する最適化装置1601と、最適化装置1601にて最適化されたプログラムを実行環境に適したフォーマット(あるいは端末プログラムコード)に変換する変換手段とを備える。この変換手段として、図16には、HTMLで記述されたコンテンツを生成するHTML生成器1602と、WMLやHDMLに対応したカードとデックとからなるコンテンツを生成するデック生成器1603と、Javaプログラムを生成するJavaプログラム生成器1604とを備える。
【0067】
アプリケーションプログラムの統一表現は、DOMツリー等のツリー構造で表現され、かつ、端末装置120の種類や実行環境に依存しないプログラムである。このアプリケーションプログラム自体は、何らかのアプリケーション開発ツールを用いて作成される。アプリケーションプログラムの物理的な表現形式は、XMLを用いたタグ表現でも良いし、独自のアプリケーション記述言語を用いても良い。また、Javaオブジェクトの一般的なファイル格納形式(Serialized Objects)でも良い。さらに、このアプリケーションプログラムには、同じ表現形式を用いて、本実施の形態によるカード分割に用いられる注釈が含まれている。
【0068】
最適化装置1601は、この統一表現によるアプリケーションプログラムをメモリから読み込み、予め設定されたデバイスクラスで最適に表示できるように画面分割を行う。ここで、図4に示したカード化アルゴリズムが使用される。なお、デバイスクラスは、このアプリケーションプログラムを使用する端末装置120を、その画面サイズなどの分類要素に基づいて数種類のクラスに分けたものである。例えば、携帯電話のように非常に小さい画面を持つコンパクト画面クラス、それよりは大きいがやはり携帯端末の画面であるスモール画面クラス、それよりも大きい画面のテレビ画面クラス、さらに大きい画面の大画面クラスなどに分けることができる。なお、これらの最適化の基準は、上記表示部123の画面サイズの他、表示部123の解像度や通信速度など、アプリケーションプログラムを配信しようとする端末装置120の企画や仕様に応じて任意に設定することができる。
【0069】
最適化されたアプリケーションプログラムは、さらに複数の実行環境から共有されるように一時的にメモリに格納される。このときの表現形式も統一表現と同じ形式が使われる。
HTMLブラウザを持つパーソナルコンピュータなどの端末装置120でこのアプリケーションプログラムを表示させる場合は、ウェブサーバ1610上で動作するHTML生成器1602を用いてアプリケーションプログラムの変換を行う。すなわち、HTML生成器1602は、メモリに格納されている最適化されたアプリケーションプログラムを読み込み、当該アプリケーションプログラムに対応するHTML文書を生成し、HTMLブラウザを備えたパーソナルコンピュータなどの端末装置120に送信する。
また、WMLやHDMLに対応したブラウザを持つ端末装置120でこのアプリケーションプログラムを表示させる場合は、同じくウェブサーバ1610上で動作するデック生成器1603を用いてアプリケーションプログラムの変換を行う。この場合は、WMLやHDMLにデックの概念が存在するので、デックを生成してから変換を行う。このとき、個々の端末装置120から取得した受信バッファ122の容量制限などに基づいてデックを生成する。
さらに、同一の最適化プログラム表現を用いて、端末装置120上で動作するプログラムを生成することもできる。Javaプログラム生成器1604は、メモリから最適化されたアプリケーションプログラム表現を読み込み、端末装置120上で動作するJavaプログラムを生成する。生成されたJavaプログラムをJavaVM(Virtual Machine)を搭載した端末装置120にダウンロードして実行することができる。
【0070】
【発明の効果】
以上説明したように、本発明によれば、ツリー状に構成されたコンテンツをカードとデックという単位に分割して送信する場合において、送信先端末の条件やコンテンツの内容に応じて、送信先端末のユーザにとって使用しやすいカードを生成することができる。
【0071】
また、本発明によれば、かかるコンテンツの送信において、1デックのデータサイズが送信先端末の受信バッファの制限(バイト数)を満たしながら、デックの再送信が少なくなるように、最適なカードの集合を選択してデックを動的に構成することができる。
【図面の簡単な説明】
【図1】 本実施の形態を実現するシステム構成を示す図である。
【図2】 本実施の形態によるコンテンツサーバを実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
【図3】 図2のプログラム制御されたCPUにおいて、本実施の形態によるコンテンツの分割を行うための機能ブロックを示す図である。
【図4】 本実施の形態によりツリー構造のコンテンツをカードに分割する手順を説明するフローチャートである。
【図5】 本実施の形態によりカードを集めてデックを生成する手順を説明するフローチャートである。
【図6】 本実施の形態が適用されるネットワークシステムの構成例を示す図である。
【図7】 ウェブアプリケーションによる製品検索の検索結果を示すツリー状のコンテンツ及びそのノードに注釈が付された状態の例を示す図である。
【図8】 付加的情報として注釈を埋め込んだXML文書の例を示す図である。
【図9】 図7のコンテンツに対し、本実施の形態のカード化アルゴリズムを適用した例を示す図である。
【図10】 図9のカード化されたコンテンツに対し、本実施の形態のデック生成アルゴリズムを適用した例を示す図である。
【図11】 本実施の形態によるコンテンツの編集画面であり、注釈を付けるノードを決定する画面の表示例を示す図である。
【図12】 本実施の形態によるコンテンツの編集画面であり、所望のノードに注釈を付加する画面の表示例を示す図である。
【図13】 本実施の形態が適用されるネットワークシステムの他の構成例を示す図である。
【図14】 HTMLで記述されたニュースコンテンツに注釈を付ける様子を示す図である。
【図15】 図14のXML文書がカード化されたコンテンツの例を示す図である。
【図16】 本実施の形態が適用されるフロントエンドアプリケーション開発モデルの構成例を示す図である。
【符号の説明】
10…端末情報取得部、20…ノード編集部、30…カード生成部、40…デック生成部、110…コンテンツサーバ、111…記憶部、112…コンテンツ配信部、120…端末装置、130…ネットワーク
Claims (18)
- ネットワークを介して端末装置にウェブコンテンツを配信するサーバにおいて、
ウェブコンテンツの各ノードに、当該ウェブコンテンツの変換に対する注釈情報を付加するノード編集部と、
前記ウェブコンテンツを、前記ノード編集部により前記ノードに付加された注釈情報に基づいて、当該ウェブコンテンツを閲覧する前記端末装置における表示単位であるカードに分割するカード生成部と
を備えることを特徴とするサーバ。 - 前記ノード編集部は、少なくとも、自ノードが親ノードから分離可能か否かを示す情報と、自ノードに記述された情報の提示方法を特定する情報とを、前記注釈情報として各ノードに付加することを特徴とする請求項1に記載のサーバ。
- 前記カード生成部は、前記ウェブコンテンツを、ランダムにアクセスが可能な階層メニューをなすカードとシーケンシャルにアクセスされる一連のカード群とで構成されたツリー構造を持ったカード集合に変換することを特徴とする請求項1に記載のサーバ。
- ネットワークを介して端末装置に対し当該端末装置における表示単位であるカードに分割されたウェブコンテンツを配信するサーバにおいて、
前記端末装置から受信バッファの記憶容量に関する情報を取得する端末情報取得部と、
前記端末情報取得部にて取得された情報に基づいて前記受信バッファの記憶容量以内のデータサイズとなるように、前記端末装置から送信を要求されたカード及び当該カードからリンクされるカードを所定の規則に基づいて集めて前記端末装置への送信単位であるデックを生成するデック生成部と
を備えることを特徴とするサーバ。 - 前記デック生成部は、前記端末装置から送信を要求されたカードがシーケンシャルにアクセスされるカードである場合、当該カードを含んでシーケンシャルにアクセスされる一連のカード群を集めて前記デックを生成することを特徴とする請求項4に記載のサーバ。
- 前記デック生成部は、前記端末装置から送信を要求されたカードがランダムにアクセスされるカードである場合、当該カードを含むカード集合がなすツリー構造において当該カードからルートカードへ向かいながらパス上のカードを順次集めて前記デックを生成することを特徴とする請求項4に記載のサーバ。
- 前記デック生成部は、前記端末装置から送信を要求されたカードがランダムにアクセスされるカードであり、かつ当該カードからルートカードへ向かうパス上の全てのカードを集めても前記受信バッファの記憶容量に達しない場合、さらに送信を要求された当該カードの子孫のカードを広さ優先で集めて前記デックに加えることを特徴とする請求項6に記載のサーバ。
- ツリー構造のウェブコンテンツを入力し、当該ウェブコンテンツの構造に基づき、当該ウェブコンテンツの各ノードに対し、自ノードが親ノードから分離可能か否かを示す情報と自ノードに記述された情報の提示方法を特定する情報とを対応づけるノード編集手段と、
前記ノード編集手段により前記情報を各ノードに付加された前記ウェブコンテンツを格納する記憶手段と
を備えることを特徴とするウェブコンテンツ編集装置。 - コンピュータを制御してウェブコンテンツを編集するプログラムにおいて、
ツリー構造を有するウェブコンテンツを入力し、当該ウェブコンテンツの各ノードに、当該ウェブコンテンツの分割方法に関する注釈情報を付加し、注釈情報が付加された当該ウェブコンテンツを記憶手段に格納する処理と、
前記記憶手段から前記ウェブコンテンツを読み出し、当該ウェブコンテンツのノードに付加された前記注釈情報に基づいて、当該ウェブコンテンツを分割する処理と
を前記コンピュータに実行させることを特徴とするプログラム。 - コンピュータを制御して所定の端末装置にウェブコンテンツを提供するプログラムにおいて、
前記端末装置から受信バッファの記憶容量に関する情報を取得し、第1の記憶手段に格納する処理と、
前記第1の記憶手段から前記受信バッファの記憶容量に関する情報を読み出し、当該受信バッファの記憶容量以内のデータサイズとなるように、前記端末装置における表示単位であるカードに分割されたウェブコンテンツが格納された第2の記憶手段から、前記端末装置に送信を要求されたカード及び当該カードからリンクされるカードを所定の規則に基づいて読み出して、前記端末装置への送信単位であるデックを生成する処理と、
生成された前記デックを前記端末装置に送信する処理と
を前記コンピュータに実行させることを特徴とするプログラム。 - コンピュータを制御してウェブコンテンツを編集するプログラムにおいて、
処理対象であるウェブコンテンツのツリー構造をディスプレイに表示する手段と、
表示された前記ウェブコンテンツにおける所定のノードの指定を受け付ける手段と、
指定された前記ノードに対し当該ウェブコンテンツの変換に対する注釈情報の入力を受け付けて当該ノードに付加する手段と、
ノードに注釈情報が付加された前記ウェブコンテンツを記憶装置に格納する手段として
前記コンピュータを機能させることを特徴とするプログラム。 - コンピュータを用いてウェブコンテンツを編集するウェブコンテンツ編集方法において、
前記コンピュータの処理装置が、ウェブコンテンツを入力し、当該ウェブコンテンツの各ノードに、当該ノードの分割方法に関する注釈情報を付加し、注釈情報が付加された当該ウェブコンテンツを記憶手段に格納するステップと、
前記処理装置が、前記記憶手段から前記ウェブコンテンツを読み出し、当該ウェブコンテンツのノードに付加された前記注釈情報に基づいて、当該ウェブコンテンツを分割するステップと
を含むことを特徴とするウェブコンテンツ編集方法。 - 端末装置からの要求に応じてウェブコンテンツを提供するサーバにおけるウェブコンテンツ提供方法において、
前記サーバの受信手段が、前記端末装置から受信バッファの記憶容量に関する情報を受信するステップと、
前記サーバの処理装置が、前記端末装置における表示単位であるカードに切り分けられたウェブコンテンツを格納した記憶手段から、前記端末装置からの要求に対応するカード及び当該カードからリンクされるカードを含むカードを、前記受信バッファの記憶容量以内のデータサイズ分読み出してデックを生成するステップと、
前記サーバの送信手段が、生成された前記デックを前記端末装置に送信するステップと
を含むことを特徴とするウェブコンテンツ提供方法。 - 前記処理装置が、ウェブコンテンツを格納した記憶手段から、送信対象であるウェブコンテンツを読み出し、当該ウェブコンテンツを前記カードに分割して前記記憶手段に格納するステップをさらに含むことを特徴とする請求項13に記載のウェブコンテンツ提供方法。
- ネットワークに接続された端末装置と、当該ネットワークを介して当該端末装置にウェブコンテンツを提供するコンテンツサーバとを備えたネットワークシステムにおいて、
前記コンテンツサーバは、
ツリー構造を持つウェブコンテンツを生成するアプリケーションプログラムを実行するアプリケーション実行部と、
前記アプリケーション実行部にて生成されたウェブコンテンツを、当該ウェブコンテンツを閲覧する前記端末装置における表示単位であるカードに分割するカード生成部と、
前記端末装置から受信バッファの記憶容量に関する情報を取得する端末情報取得部と、
前記端末情報取得部にて取得された情報に基づいて前記受信バッファの記憶容量以内のデータサイズとなるように、前記端末装置から送信を要求されたカード及び当該カードからリンクされるカードを所定の規則に基づいて集めて前記端末装置への送信単位であるデックを生成するデック生成部と
を備えることを特徴とするネットワークシステム。 - ネットワークに接続された端末装置に対し、当該ネットワークを介してウェブコンテンツを提供するウェブコンテンツ提供システムにおいて、
HTML(Hypertext Markup Language)にて記述されたウェブコンテンツを格納した記憶手段と、
前記ウェブコンテンツの分割方法に関する注釈情報を、当該ウェブコンテンツのツリー構造における各ノードに対応づけて格納した外部注釈データベースと、前記端末装置からウェブコンテンツの送信要求を受け取り、当該要求されたウェブコンテンツを前記記憶手段から読み出し、当該ウェブコンテンツに関する注釈情報を前記外部注釈データベースから読み出し、読み出した当該注釈情報に基づいて当該ウェブコンテンツを分割し、分割された当該ウェブコンテンツを前記端末装置に送信するコンテンツ変換手段と
を備えることを特徴とするウェブコンテンツ提供システム。 - 統一表現で記述されたアプリケーションプログラムを、当該アプリケーションプログラムを利用する端末装置に対応した形式に変換する変換システムにおいて、
ツリー構造の統一表現で記述された前記アプリケーションプログラムを格納した第1の記憶手段と、
前記第1の記憶手段から前記端末装置に提供するアプリケーションプログラムを読み出し、ツリー構造の前記アプリケーションプログラムの各ノードに対して当該アプリケーションプログラムの分割に関する注釈情報を付加し、当該注釈情報に基づいて当該アプリケーションプログラムを画面分割する最適化手段と、
前記最適化手段にて最適化されたアプリケーションプログラムを格納する第2の記憶手段と、
前記第2の記憶手段から前記最適化されたアプリケーションプログラムを読み出し、当該アプリケーションプログラムの提供先である前記端末装置に対応した形式に変換する変換手段と
を備えることを特徴とする変換システム。 - ネットワークを介してサーバに接続し、ウェブコンテンツを取得する端末装置において、
接続したサーバに対し、自装置の受信バッファの記憶容量に関する情報を送信する送信手段と、
前記送信手段にて前記サーバに送られた前記情報に基づいて生成された前記ウェブコンテンツを構成するデータセットを受信する受信手段と
を備えることを特徴とする端末装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001226833A JP3824298B2 (ja) | 2001-07-26 | 2001-07-26 | サーバ、ウェブコンテンツ編集装置、コンピュータを用いてこれらを実現するプログラム、及びそのウェブコンテンツ編集方法並びに提供方法 |
US10/206,674 US20030029911A1 (en) | 2001-07-26 | 2002-07-26 | System and method for converting digital content |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001226833A JP3824298B2 (ja) | 2001-07-26 | 2001-07-26 | サーバ、ウェブコンテンツ編集装置、コンピュータを用いてこれらを実現するプログラム、及びそのウェブコンテンツ編集方法並びに提供方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003058414A JP2003058414A (ja) | 2003-02-28 |
JP3824298B2 true JP3824298B2 (ja) | 2006-09-20 |
Family
ID=19059585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001226833A Expired - Lifetime JP3824298B2 (ja) | 2001-07-26 | 2001-07-26 | サーバ、ウェブコンテンツ編集装置、コンピュータを用いてこれらを実現するプログラム、及びそのウェブコンテンツ編集方法並びに提供方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20030029911A1 (ja) |
JP (1) | JP3824298B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11520606B2 (en) * | 2017-09-22 | 2022-12-06 | Vmware, Inc. | Dynamic generation of user interface components based on hierarchical component factories |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020174147A1 (en) * | 2000-05-19 | 2002-11-21 | Zhi Wang | System and method for transcoding information for an audio or limited display user interface |
US7000230B1 (en) | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US6883168B1 (en) | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
TW494691B (en) * | 2000-11-21 | 2002-07-11 | Koninkl Philips Electronics Nv | Mobile device, auxiliary rendering device and arrangement |
JP4351405B2 (ja) * | 2001-08-29 | 2009-10-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | トランスコーディングシステム及びアノテーション管理装置 |
US20040103122A1 (en) * | 2002-07-13 | 2004-05-27 | John Irving | Method and system for filtered web browsing in a multi-level monitored and filtered system |
US20040103118A1 (en) * | 2002-07-13 | 2004-05-27 | John Irving | Method and system for multi-level monitoring and filtering of electronic transmissions |
US8838622B2 (en) * | 2002-07-13 | 2014-09-16 | Cricket Media, Inc. | Method and system for monitoring and filtering data transmission |
US20040122692A1 (en) * | 2002-07-13 | 2004-06-24 | John Irving | Method and system for interactive, multi-user electronic data transmission in a multi-level monitored and filtered system |
US20040111423A1 (en) * | 2002-07-13 | 2004-06-10 | John Irving | Method and system for secure, community profile generation and access via a communication system |
KR100463835B1 (ko) * | 2002-10-17 | 2004-12-29 | 한국전자통신연구원 | 무선 단말기에서의 웹 컨텐츠 변환을 위한 인덱스 추출시스템 및 그 방법 |
US7415672B1 (en) * | 2003-03-24 | 2008-08-19 | Microsoft Corporation | System and method for designing electronic forms |
US7370066B1 (en) | 2003-03-24 | 2008-05-06 | Microsoft Corporation | System and method for offline editing of data files |
US7275216B2 (en) | 2003-03-24 | 2007-09-25 | Microsoft Corporation | System and method for designing electronic forms and hierarchical schemas |
US7913159B2 (en) | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
JP4709481B2 (ja) | 2003-07-31 | 2011-06-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | サーバ、情報処理方法およびプログラム |
US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
US7334187B1 (en) | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
US7430711B2 (en) * | 2004-02-17 | 2008-09-30 | Microsoft Corporation | Systems and methods for editing XML documents |
WO2005083575A1 (ja) * | 2004-02-27 | 2005-09-09 | Vodafone K.K. | データ通信方法、データ通信システム及び通信端末装置 |
US8312110B2 (en) * | 2004-03-12 | 2012-11-13 | Kanata Limited | Content manipulation using hierarchical address translations across a network |
JP4313703B2 (ja) * | 2004-03-12 | 2009-08-12 | 彼方株式会社 | 情報処理装置、システム、方法及びプログラム |
JP2006085353A (ja) * | 2004-09-15 | 2006-03-30 | Nec Corp | コンテンツ配信システム、その方法、会計装置、コンテンツ配信装置およびプログラム |
JP4470711B2 (ja) * | 2004-11-25 | 2010-06-02 | 株式会社デンソー | 情報サービスシステム |
US20060158023A1 (en) * | 2005-01-14 | 2006-07-20 | The Boler Company | Continuous radius axle and fabricated spindle assembly |
US7937651B2 (en) | 2005-01-14 | 2011-05-03 | Microsoft Corporation | Structural editing operations for network forms |
US20060184892A1 (en) * | 2005-02-17 | 2006-08-17 | Morris Robert P | Method and system providing for the compact navigation of a tree structure |
US20060253572A1 (en) * | 2005-04-13 | 2006-11-09 | Osmani Gomez | Method and system for management of an electronic mentoring program |
US8010515B2 (en) * | 2005-04-15 | 2011-08-30 | Microsoft Corporation | Query to an electronic form |
US8200975B2 (en) | 2005-06-29 | 2012-06-12 | Microsoft Corporation | Digital signatures for network forms |
US8001459B2 (en) | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
US7814116B2 (en) | 2006-03-16 | 2010-10-12 | Hauser Eduardo A | Method and system for creating customized news digests |
US20070260637A1 (en) * | 2006-05-02 | 2007-11-08 | Research In Motion Limited | System and method for fragmentation of mobile content |
EP1852786A1 (en) * | 2006-05-02 | 2007-11-07 | Research In Motion Limited | System and method for the fragmentation of mobile content |
JP4225384B2 (ja) * | 2006-06-16 | 2009-02-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データの配信システムおよびその方法 |
US20080176194A1 (en) | 2006-11-08 | 2008-07-24 | Nina Zolt | System for developing literacy skills using loosely coupled tools in a self-directed learning process within a collaborative social network |
WO2008073655A2 (en) | 2006-11-08 | 2008-06-19 | Epals, Inc. | Dynamic characterization of nodes in a semantic network |
US20080183755A1 (en) * | 2007-01-31 | 2008-07-31 | Sony Ericsson Mobile Communications Ab | Methods for storing an alert file by converting the alert file to a lower complexity file format and using the converted alert file to generate an alert and related electronic devices and computer program products |
EP2300926A4 (en) * | 2008-05-08 | 2013-07-31 | Epals Inc | OBJECT BASED SYSTEM AND LANGUAGE FOR DYNAMIC DATA OR NETWORK INTERACTION, INCLUDING LEARNING MANAGEMENT |
US20090313743A1 (en) * | 2008-06-20 | 2009-12-24 | Craig Jason Hofmeyer | Pants with saggy pants control system |
WO2010004968A1 (ja) * | 2008-07-08 | 2010-01-14 | 株式会社ブロードテイル | コンテンツ提供サーバ装置 |
CN102439583A (zh) * | 2009-03-05 | 2012-05-02 | e帕尔斯公司 | 管理和监控电子通信的系统及方法 |
JP5547917B2 (ja) * | 2009-06-09 | 2014-07-16 | 株式会社ウィズダムウェブ | 携帯情報端末用コンテンツ生成・配信システム |
WO2011046899A1 (en) * | 2009-10-13 | 2011-04-21 | Epals, Inc. | Dynamic collaboration in social networking environment |
JP5660983B2 (ja) * | 2011-06-28 | 2015-01-28 | トヨタ自動車株式会社 | コンテンツ配信システム |
JP2013065153A (ja) * | 2011-09-16 | 2013-04-11 | Fujitsu Marketing Ltd | ドキュメントデータ提供装置およびそのプログラム |
US9171384B2 (en) * | 2011-11-08 | 2015-10-27 | Qualcomm Incorporated | Hands-free augmented reality for wireless communication devices |
CN103425803B (zh) * | 2013-08-10 | 2016-06-01 | 福州大学 | 利用低频采集卡采集脉冲信号的方法 |
US9529858B2 (en) * | 2014-03-06 | 2016-12-27 | Yahoo! Inc. | Methods and systems for ranking items on a presentation area based on binary outcomes |
CN107562520A (zh) * | 2017-09-07 | 2018-01-09 | 郑州云海信息技术有限公司 | 扩容虚拟机的内存的方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6300947B1 (en) * | 1998-07-06 | 2001-10-09 | International Business Machines Corporation | Display screen and window size related web page adaptation system |
US6457030B1 (en) * | 1999-01-29 | 2002-09-24 | International Business Machines Corporation | Systems, methods and computer program products for modifying web content for display via pervasive computing devices |
US6535896B2 (en) * | 1999-01-29 | 2003-03-18 | International Business Machines Corporation | Systems, methods and computer program products for tailoring web page content in hypertext markup language format for display within pervasive computing devices using extensible markup language tools |
US6430624B1 (en) * | 1999-10-21 | 2002-08-06 | Air2Web, Inc. | Intelligent harvesting and navigation system and method |
US6593944B1 (en) * | 2000-05-18 | 2003-07-15 | Palm, Inc. | Displaying a web page on an electronic display device having a limited display area |
US6822663B2 (en) * | 2000-09-12 | 2004-11-23 | Adaptview, Inc. | Transform rule generator for web-based markup languages |
-
2001
- 2001-07-26 JP JP2001226833A patent/JP3824298B2/ja not_active Expired - Lifetime
-
2002
- 2002-07-26 US US10/206,674 patent/US20030029911A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11520606B2 (en) * | 2017-09-22 | 2022-12-06 | Vmware, Inc. | Dynamic generation of user interface components based on hierarchical component factories |
Also Published As
Publication number | Publication date |
---|---|
US20030029911A1 (en) | 2003-02-13 |
JP2003058414A (ja) | 2003-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3824298B2 (ja) | サーバ、ウェブコンテンツ編集装置、コンピュータを用いてこれらを実現するプログラム、及びそのウェブコンテンツ編集方法並びに提供方法 | |
KR100461019B1 (ko) | 소형 화면 단말기를 위한 웹 컨텐츠 변환 시스템 및 방법 | |
Bickmore et al. | Web page filtering and re-authoring for mobile users | |
US7085999B2 (en) | Information processing system, proxy server, web page display method, storage medium, and program transmission apparatus | |
US7721192B2 (en) | User interface for a resource search tool | |
KR100341339B1 (ko) | 디스플레이 스크린 크기 및 윈도우 크기와 관련된 웹 페이지 적응 시스템 | |
JP4843867B2 (ja) | 文書処理装置、文書処理方法および文書処理プログラム、ならびに、記録媒体 | |
US9135341B2 (en) | Method and arrangement for paginating and previewing XHTML/HTML formatted information content | |
JP3437929B2 (ja) | データ処理システム内でデータを編成するための方法、通信ネットワーク、電子文書を編成するための方法、及び電子メール・システム | |
US20040103371A1 (en) | Small form factor web browsing | |
US20070245232A1 (en) | Apparatus for Processing Documents That Use a Mark Up Language | |
JP2012511208A (ja) | 提案した絞込みタームおよび垂直検索に対する検索結果のプレビュー | |
JP2006053926A (ja) | 小型スクリーンコンピューティング装置にコンテンツを表示するシステムと方法 | |
JPWO2007116705A1 (ja) | ウェブコンテンツ閲覧情報表示装置、方法、プログラム | |
JP2000222394A (ja) | 文書管理装置及びその文書管理方法並びにその制御プログラムを記録した記録媒体 | |
JPWO2008041743A1 (ja) | 端末装置、コンテンツ表示方法、およびコンテンツ表示プログラム | |
WO2006051975A1 (ja) | 文書処理装置 | |
JP4094777B2 (ja) | 画像通信システム | |
WO2006137563A1 (ja) | データ処理装置及びデータ処理方法 | |
KR100403947B1 (ko) | 개인용 전자문서를 생성하는 방법, 시스템 및 컴퓨터프로그램 제조물 | |
JPWO2002103554A1 (ja) | データ処理方法、データ処理プログラム、およびデータ処理装置 | |
JP4469432B2 (ja) | インターネット情報処理装置、インターネット情報処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2007034961A (ja) | コンテンツ処理装置、コンテンツ処理プログラムおよびコンテンツ処理方法 | |
JPH11134361A (ja) | 情報提示装置および情報提示方法 | |
JPH0869473A (ja) | 文書管理装置および文書管理機能付きデータ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060613 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20060615 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060626 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100707 Year of fee payment: 4 |