(57)【特許請求の範囲】
【請求項１】
データの集まりを構造化された印刷可能なナビゲーション可能なフォーマットに変換するために処理システムが実行する処理方法であって、
データの前記集まりを指すリファレンスを受信するステップと、
前記集まりに含まれている個々の項目を指すリファレンス群を生成するステップと、
前記リファレンス群が指す個々の項目について複数のパラメータを分析し、個々の項目間の非線形関係の表現を修正するステップと、
個々の項目間の修正された非線形関係に基づいて、線形化されたコンテンツを生成するステップと、
前記線形化されたコンテンツのフォーマットを整え、構造化された印刷可能な文書を生成するステップと、
を有し、前記コンテンツは、該コンテンツが追加された時間、該コンテンツの作者、該コンテンツに至るリンク、該コンテンツの構造及び該コンテンツのコンテキストにより指定され、
前記個々の項目間の非線形関係の表現は、
前記リファレンスに関連する異なるコンテンツへの有向グラフを作成し、
前記コンテンツの作者が誰であるか及びどの程度頻繁にコンテンツの所有者が変わったかを確認し、前記有向グラフのエッジを横切るコストを決定することで、前記有向グラフに重みを付け、
最小区間ツリーを取り出すことで重み付けされたグラフを修正することで、前記重み付けされたグラフから樹枝グラフを作成することで生成される、処理方法。
【請求項２】
当該処理方法は、線形化されたコンテンツのプレビューをユーザに提示するステップを更に有し、前記プレビューは何が出力されるかを示す静的なウインドウで表現される請求項１記載の処理方法。
【請求項３】
当該処理方法は、線形化されたコンテンツのプレビューをユーザに提示するステップを更に有し、前記プレビューは動的なウインドウで表現され、該ウインドウでは、前記線形化されたコンテンツを修正する付加的な入力をユーザが提供でき、当該処理方法は前記ユーザから入力を受信するステップを更に有する請求項１記載の処理方法。
【請求項４】
前記個々の項目間の非線形関係の表現を生成する場合において、コンテンツに対応する複数のノードの少なくとも１つにwikiデータを関連付ける、請求項１記載の処理方法。
【請求項５】
線形化されたコンテンツを生成する前記ステップにおいて、
分析されたコンテンツの文書オブジェクトモデルを作成し、
分析されたコンテンツに対応するコンテンツを前記文書オブジェクトモデルに加え、
フォーマット命令を前記文書オブジェクトモデルに加える、請求項１記載の処理方法。
【請求項６】
前記線形化されたコンテンツのフォーマットを整え、構造化された印刷可能な文書を生成する前記ステップにおいて、
複数のノードを含む前記文書オブジェクトモデルに対するメインノードとして或るノードを選択し、
複数のノードに対するコンテンツを、前記文書オブジェクトモデルに挿入する、請求項５記載の処理方法。
【請求項７】
データの集まりを構造化された印刷可能なナビゲーション可能なフォーマットに変換する処理システムであって、
データの前記集まりを指すリファレンスを受信する手段と、
前記集まりに含まれている個々の項目を指すリファレンス群を生成する手段と、
前記リファレンス群が指す個々の項目について複数のパラメータを分析し、個々の項目間の非線形関係の表現を修正する手段と、
個々の項目間の修正された非線形関係に基づいて、線形化されたコンテンツを生成する手段と、
前記線形化されたコンテンツのフォーマットを整え、構造化された印刷可能な文書を生成する手段と、
を有し、前記コンテンツは、該コンテンツが追加された時間、該コンテンツの作者、該コンテンツに至るリンク、該コンテンツの構造及び該コンテンツのコンテキストにより指定され、
前記個々の項目間の非線形関係の表現は、
前記リファレンスに関連する異なるコンテンツへの有向グラフを作成し、
前記コンテンツの作者が誰であるか及びどの程度頻繁にコンテンツの所有者が変わったかを確認し、前記有向グラフのエッジを横切るコストを決定することで、前記有向グラフに重みを付け、
最小区間ツリーを取り出すことで重み付けされたグラフを修正することで、前記重み付けされたグラフから樹枝グラフを作成することで生成される、処理システム。
【請求項８】
当該処理システムは、線形化されたコンテンツのプレビューをユーザに提示する手段を更に有し、前記プレビューは何が出力されるかを示す静的なウインドウで表現される請求項７記載の処理システム。
【請求項９】
当該処理システムは、線形化されたコンテンツのプレビューをユーザに提示する手段を更に有し、前記プレビューは動的なウインドウで表現され、該ウインドウでは、前記線形化されたコンテンツを修正する付加的な入力をユーザが提供でき、当該処理システムは前記ユーザから入力を受信する手段を更に有する請求項７記載の処理システム。
【請求項１０】
前記個々の項目間の非線形関係の表現を生成する場合において、コンテンツに対応する複数のノードの少なくとも１つにwikiデータを関連付ける、請求項７記載の処理システム。
【請求項１１】
線形化されたコンテンツを生成する前記手段において、
分析されたコンテンツの文書オブジェクトモデルを作成し、
分析されたコンテンツに対応するコンテンツを前記文書オブジェクトモデルに加え、
フォーマット命令を前記文書オブジェクトモデルに加える、請求項７記載の処理システム。
【請求項１２】
前記線形化されたコンテンツのフォーマットを整え、構造化された印刷可能な文書を生成する前記手段において、
複数のノードを含む前記文書オブジェクトモデルに対するメインノードとして或るノードを選択し、
複数のノードに対するコンテンツを、前記文書オブジェクトモデルに挿入する、請求項１１記載の処理システム。
【請求項１３】
データの集まりを構造化された印刷可能なナビゲーション可能なフォーマットに変換するように処理システムに処理方法を実行させるコンピュータプログラムであって、前記処理方法は、
データの前記集まりを指すリファレンスを受信するステップと、
前記集まりに含まれている個々の項目を指すリファレンス群を生成するステップと、
前記リファレンス群が指す個々の項目について複数のパラメータを分析し、個々の項目間の非線形関係の表現を修正するステップと、
個々の項目間の修正された非線形関係に基づいて、線形化されたコンテンツを生成するステップと、
前記線形化されたコンテンツのフォーマットを整え、構造化された印刷可能な文書を生成するステップと、
を有し、前記コンテンツは、該コンテンツが追加された時間、該コンテンツの作者、該コンテンツに至るリンク、該コンテンツの構造及び該コンテンツのコンテキストにより指定され、
前記個々の項目間の非線形関係の表現は、
前記リファレンスに関連する異なるコンテンツへの有向グラフを作成し、
前記コンテンツの作者が誰であるか及びどの程度頻繁にコンテンツの所有者が変わったかを確認し、前記有向グラフのエッジを横切るコストを決定することで、前記有向グラフに重みを付け、
最小区間ツリーを取り出すことで重み付けされたグラフを修正することで、前記重み付けされたグラフから樹枝グラフを作成することで生成される、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データのコレクションを構造化された印刷可能でナビゲート可能な形式に変換する処理技術に関連する。特に本発明はwikiコンテンツをフォーマットされたページ番号の付いた文書に変換するシステム及び方法に関する。
【背景技術】
【０００２】
wikiはウェブサイトであり、ウェブページの集まりであり、或いはビジタがコンテンツを追加、削除及び変更することを許可するようなシステムである(ウィキペディア(wkipedia)がwikiであることの定義は、ウェブサイトが、そこにアクセスする誰によっても直接的に編集可能なものであることである。)。これらは個人、団体及び企業等により多種多様な環境で使用されている。これらはウェブコンシューマの世界では個人的に使用され、企業の世界では直感的なプロジェクト管理ツールとして使用される。更に、有名なウィキペディアのようなwikiはそれ自身ネットワーク又は共同体である。この構造が許容可能な場合とは、データがウェブブラウザでアクセスされ、様々なページに亘ってナビゲートすること及びデータを見るのにハイパーテキストリンクを選択したり、リンクの別の部分を見るのにハイパーテキストリンクを選択したりすることにユーザがなれている場合である。
【０００３】
プロジェクト管理wikiのような用途では多くの場合、ユーザは従来の文書に近い機能を期待している。少数の人々のみが寄与し、内容(コンテンツ)は、(例えば、表題、段落、リスト等で構成されるような)通常の文書構造が続く階層形式に組織化される傾向がある。コンテンツを学習又は検討するようなタスクの場合、紙で利用可能なwikiコンテンツを持つことは有用である。しかしながら、紙に類似するフォーマットでそのような文書の集まりを閲覧する方法は、従来提供されていない。むしろ、ウェブブラウザはコンテンツをナビゲートするのに使用されている。より重要なことに、検討されたwikiを表す文書を簡易に印刷する方法はない。その結果、ユーザは面倒なプロセスを使用しなければならず、その方法ではユーザが検討しているウェブページをナビゲートし、その後に印刷を選択する。多くの場合、印刷されるページは、完全には印刷されず、各ページの文字の僅かな部分だけと共に、或いは使用するには困難な他のフォーマットでページ作成される。更に、従来技術はこれらの問題に対処する手段を用意していない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の課題は、データの集まりを構造化された印刷可能でナビゲート可能な文書に変換することに伴う従来の問題を克服することである。
【課題を解決するための手段】
【０００５】
本システムは、より容易に理解可能なナビゲート可能で印刷可能なフォーマットに、wikiコンテンツを変換できるようにする点で特に有利である。一実施例における本発明のシステムは、アナライザ及びレイアウトユニットを含む。wikiに関連するウェブページのようなデータコレクションソース及び他のユーザパラメータを受信するように、及びデータコレクションソースに関連するコンテンツの表現を生成するように、アナライザは結合される。アナライザの出力は、レイアウトユニットの入力に結合され、コンテンツの表現を与える。レイアウトユニットは、スタイルシート又は他のユーザの好みを受け入れるように結合される。一実施例におけるレイアウトユニットは、リニアライザ及びレイアウトセレクタを更に有する。レイアウトユニットのリニアライザは、コンテンツの表現物を使って必要なコンテンツを取り出す。取り出されたコンテンツはその後にレイアウトユニットのレイアウトセレクタにより線形化されフォーマットを整えられ、ページの整った文書及びメタデータを生成する。その出力は、アプリケーション又はウェブブラウザの利用と共に処理され及びやりとりされる。本発明は、データの集まりを構造化された印刷可能でナビゲート可能な文書に変換するような方法も含む。
【発明を実施するための最良の形態】
【０００６】
ここで説明される特徴及び利点は網羅的なものではなく、特に、本説明及び図面に基づく多くの更なる特徴及び利点が当業者には明らかであろう。更に、本明細書で使用される言葉は読みやすさや説明を意図して主に選択されており、本発明の対象の範囲を限定するものではないことに留意すべきである。
【０００７】
本発明は添付図面と共に非限定的な実施例により説明される。図中、同様な参照番号は同様な要素を指す。
【実施例１】
【０００８】
データの集まりを構造化された印刷可能でナビゲート可能な文書に変換するシステムが開示される。以下の説明では、説明の目的で多くの具体的な詳細が、本発明の十分な理解を図るため述べられる。しかしながらそのような具体的詳細によらず本発明が実現可能であることは当業者に明らかであろう。また、構造及び装置は本発明を曖昧にすることを避けるためブロック図形式で説明される。例えば、本発明は以下の実施例ではプリンタドライバを示しながら説明される。しかしながら、データ（おそらくは複数のパラメータによるインデックス）の集まりを受信でき且つ構造化された印刷可能でナビゲート可能な文書を生成できる如何なるタイプのコンピュータ装置に、本発明は適用されてもよい。
【０００９】
更に、以下において本発明はwikiであるデータの集まりの内容の観点から主に説明される。wikiコンテンツは或るパラメータ空間に設けられ、パラメータ空間の次元は、通常作成される文書やウェブページのものより複雑である。通常の文書は或る階層的な内容構造を有し、タイトル、セクション、パラグラフ、セクション番号及びページ番号等を含む。ウェブの構造は、或るウェブページから別のものを指すリンクを通じて与えられる。wikiの構造は、これら２つの構造を結合し、それに時間及び作者の次元(author  dimension)を追加する。他の可能性は、例えばキーワードにより表現されたコンテンツ次元を加えることである。その結果、wikiコンテンツは５次元空間で用意される(それら５つは、時間、作者、wikiリンケージ、コンテンツ構造及びコンテキストである。)。本発明は他のデータコレクションを幾つでも利用してよいこと、wikiは例示に過ぎないことを当業者は認識するであろう。
【００１０】
例えば、或る代替実施例では、ブログデータを構造化された印刷可能なナビゲート可能な文書に変換するのに本発明が使用可能である。現在のブログエントリは、時間の逆順に整然と並んでいる。これは、ツリー中の各ノードが取り出される必要のあること及びグラフの分析は一切行われないことを意味する(例えば、tabblo.com)。更に別の実施例の場合、本発明はディスカッションフォーラム及び電子メールアーカイブに利用可能であり、その場合、ソース材料は：ａ）参照番号、電子メールアドレス(送信者及び受信者)のような個別事項の間の明示的な又は黙示的なリンク、ｂ）各事項各々についての識別子、及びｃ）その事項に対する修正履歴(及び／又はアクセス時間のような同様なデータ)等を含んでよい。
【００１１】
本明細書で「実施例」又は「一実施例」と言及していることは、その実施例に関して説明された特定の特徴、構造又は特性が、本発明の少なくとも１つの実施例に含まれることを意味する。本明細書中のいくつかの場所に出てくる「一実施例では」という言い回しは、総て同じ実施例を指すとは限らない。
【００１２】
以下の詳細な説明の一部は、コンピュータメモリ内のデータビットを処理するアルゴリズム及び記号表現で与えられる。これらのアルゴリズムの説明及び表現は、当該技術分野の当業者が他の当業者に彼らの仕事内容を最も効率的に伝えるのに使用される手段である。ここで、アルゴリズムは一般に所望の結果に導く首尾一貫した一連のステップと考えられる。そのステップは物理量の物理的処理を必要とするものである。必須ではないが、通常それらの物理量は、格納、転送、結合、比較その他の処理を施すことの可能な電気的な又は磁気的な信号の形態をとる。原則的な一般的な用法の観点から、ビット、値、エレメント、シンボル、キャラクタ、期間、数等としてそれらの信号に言及することが折に触れて便利なことが分かる。
【００１３】
しかしながら、これらの及び類似の用語の全ては、適切な物理量に関連しており且つそれらの量に付された便宜的なラベルにすぎないことに留意を要する。特に断りのない限り、以下の説明から明らかなように、本説明を通じて、「処理」、「演算」、「計算」、「決定」又は「表示」等のような用語を用いる説明は、コンピュータシステム又は同様な電子コンピュータ装置の動作や処理に関連し、その動作や処理は、コンピュータシステムのレジスタ及びメモリの中で物理的な（電子的な）量として表現されるデータを、コンピュータシステムメモリやレジスタその他の情報ストレージ、伝送又は表示装置の中で物理量として同様に表現される他のデータに変換及び処理することが、理解されるであろう。
【００１４】
本発明はここで説明される処理を実行する装置にも関連している。その装置は、必要な目的に応じて特別に構築されてもよいし、コンピュータに格納されているコンピュータプログラムによって選択的にアクティブにされる又は再構成される汎用コンピュータで構築されてもよい。そのようなコンピュータプログラムはコンピュータ読取可能な記憶媒体に格納されてもよく、その記憶媒体は、限定ではないが、フロッピディスク、光ディスク、CD-ROM、磁気光ディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気又は光カード等の如何なるタイプのディスクを含んでもよいし、或いは電子的な命令を格納するのに指摘した如何なるタイプの媒体を含んでもよいし、ディスクも媒体もそれぞれコンピュータシステムバスに結合される。
【００１５】
最後に、ここで説明されるアルゴリズム及び表示は、特定のコンピュータその他の装置のどれにも固有に関連するものではない。様々な汎用システムがここで教示するものによるプログラムと共に使用されてよく、或いは、必要な方法ステップを実行するように、よりいっそう特化した装置を構築することが便利なことが分かるかもしれない。これら様々なシステムに必要な構造は以下の説明から明らかになるであろう。更に、本発明は特定のプログラミング言語のどれにも依存しない。ここで説明される本発明の教示内容を実現するのに様々なプログラミング言語が使用されてよいことが分かるであろう。
【００１６】
システム概要
図１を参照するに、データの集まりを構造化された印刷可能なナビゲート可能な文書に変換する本発明のシステム例100が示されている。本実施例では、システム100はアナライザ106及びレイアウトユニット112を有する。wikiに関連するウェブページのようなデータコレクションソース102及び他のユーザパラメータ104を受信するように、及びデータコレクションソースに関連するコンテンツの表現108を生成するように、アナライザ106は結合される。本実施例の場合、アナライザ106はデータグラフ108を出力し、wikiのコンテンツを表現する。アナライザ106の出力は、レイアウトユニット112の入力に結合され、コンテンツの表現108を与える。レイアウトユニット112は、スタイルシート又は他のユーザの好み110を受け入れるように結合される。一実施例におけるレイアウトユニット112は、リニアライザ316及びレイアウトセレクタ318を更に有する(図３参照)。リニアライザ316は、データグラフ108を使って必要なコンテンツを取り出す。受け取ったコンテンツはその後にレイアウトセレクタ318により線形化されフォーマットされ、ページの整った文書114及びメタデータ116を生成する。出力はその後に何らかの通常のプリンタ(図示せず)で印刷可能である。その出力は、アプリケーション又はウェブブラウザの利用と共に処理され及びやりとりされてもよい。
【００１７】
本発明のシステム100は多くの利点をもたらすので特に有用である。第１に、紙主体のプレゼンテーション構造を有するフォーマットに、データの集まりを変換する方法をもたらす。例えば、コンテンツテーブル、階層構造又はセクション番号さえも有するフォーマットで出力は表示又は印刷可能である。第２に、ユーザの好み及び他の基準に基づいて、データの集まりを選別する方法をもたらす。例えば、紙に構造的に提示されるデータは、特定の人物、内容、時間、作者、コンテキスト等に関し、wikiになされた最近の変更に基づいてもよい。第３に、本発明は或る結果の構造を作成し、組織構造のような紙を備え、ナビゲーション機能又は情報を含んでもよい。
【００１８】
サンプル出力
図４は本発明のシステム100による出力構造例400を示す。本構造はwikiからのデータ114及びwikiアドレスに関連するメタデータ116を含む。Wikiデータ114は、ウェブページ又は関連するウェブページにおけるテキスト、イメージ又はビデオである。コンテンツの作者、コンテンツが追加された時間、リンク情報(内部、外部又はナビゲーションのリンク)、wikiのページコンテンツ構造(セクション表題、段落、箇条書きリスト等)及びコンテキスト(キーワード、トピックス、タグ等)等を、wikiメタデータ116は含んでよい。
【００１９】
システム例
図２を参照するに、本発明の一実施例により構築されたシステム100のブロック図が示されている。システム100は、好ましくは、制御ユニット250、ディスプレイ装置210、入力装置212、カーソル制御部214、通信装置216及び１つ以上の入力／出力(I/O)装置218を有する。
【００２０】
制御ユニット250は、算術論理ユニット、マイクロプロセッサ又は汎用コンピュータで構成されてもよいし、或いは電子表示信号をディスプレイ装置210に与えるように装備された他の何らかの情報機器で構成される。一実施例では、制御ユニット250はグラフィカルユーザインターフェース(GUI)を有する汎用コンピュータで構成され、GUIは例えばウインドウズ(登録商標)のようなオペレーティングシステム又はユニックス(登録商標)ベースのオペレーティングシステムの上で動作するジャバ(Java(登録商標))で書かれたプログラムによって生成されてもよい。一実施例では、１つ以上のアプリケーションプログラムが制御ユニット250により実行され、アプリケーションプログラムは、限定ではないが、描画アプリケーション、ワードプロセシングアプリケーション、電子メールアプリケーション、財務アプリケーション及びウェブブラウザアプリケーション等を含む。
【００２１】
図２を更に参照するに、制御ユニット250はプロセッサ202、メインメモリ204及びデータストレージ装置206を含むように示され、それらは総てシステムバス208により通信可能に結合されている。
【００２２】
プロセッサ202はデータ信号を処理し、様々なコンピュータアーキテクチャを備えてもよい。コンピュータアーキテクチャは、複合命令セットコンピュータ(CISC)アーキテクチャ、縮小命令セットコンピュータ(RISC)アーキテクチャ、又は命令セットの組み合わせを実現するアーキテクチャを含む。唯1つのプロセッサしか図２に示されていないが、複数のプロセッサが含まれていてもよい。
【００２３】
メインメモリ204は、プロセッサ202で実行される命令及び／又はデータを格納する。命令及び／又はデータは、上記の技法の総て及び／又は何れかを実行するコードを含んでもよい。メインメモリ204は、ダイナミックランダムアクセスメモリ(DRAM)装置、スタティックランダムアクセスメモリ(SRAM)装置又は他の何らかの既知のメモリ装置でもよい。メモリ204は図３を参照しながら以下で更に説明される。
【００２４】
データストレージ装置206は、プロセッサ202用の命令及びデータを格納し、１つ以上の装置を有し、１つ以上の装置は、ハードディスクドライブ、フロッピディスクドライブ、CD-ROM装置、DVD-ROM装置、DVD-RAM装置、DVD-RW装置、フラッシュメモリ装置、又は当該技術分野で既知の他の何らかの大容量ストレージ装置を含んでよい。
【００２５】
システムバス208は、制御ユニット250を通じて情報及びデータを通信する共用バスを表す。システムバス208は1つ以上のバスでもよく、工業標準アーキテクチャ(ISA)バス、周辺装置相互接続(PCI)バス、ユニバーサルシリアルバス(USB)又は同様な機能を発揮する当該技術分野で既知の他の何らかのバスを含んでもよい。システムバス208により制御ユニット250に結合される他の要素は、ディスプレイ装置210、入力装置212、カーソル制御部214、通信装置216及びI/O装置218を含む。
【００２６】
ディスプレイ装置210は、電子画像及びデータを本願で説明されるように表示する要素萎えられた如何なる装置でもよい。一実施例では、ディスプレイ装置210は液晶ディスプレイ(LCD)及び発光ダイオード(LED)であり、状態フィードバック、動作設定及び他の情報をユーザに与える。一実施例では、ディスプレイ装置210は、例えば、陰極線管(CRT)又は何らかの他の同様に備えられたディスプレイ装置、スクリーン又はモニタでもよい。一実施例では、ディスプレイ装置210はタッチスクリーンと共に備えられ及び／又はディジタイザを含み、接触感知式の透明パネルがディスプレイ装置210をカバーしてもよい。
【００２７】
一実施例では、入力装置212はキーボードである。キーボードはQWERTYキーボードやキーパッドでもよいし、或いはタッチスクリーン上にそのように表現されるものでもよい。カーソル制御部214は、位置データ及びコマンド選択内容をプロセッサ202に伝達するように備えられたユーザ入力装置を表す。カーソル制御部214は、マウス、トラックボール、スタイラス、ペン、タッチスクリーン、カーソル指示キー又はカーソルの動きを引き起こす他の手段を含んでもよい。
【００２８】
通信装置216は、カーソル制御部250を複数の処理システムを含んでよいネットワーク220に接続し、一実施例ではネットワークコントローラである。処理システムのネットワークは、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)(例えば、インターネット)及び／又は他の相互接続されたデータパス(そのデータパスを介して複数の装置が通信可能である)を含んでもよい。TCP/IP,http,https及びSMTPのような標準的なネットワークプロトコルを当業者に理解されているように利用することで、制御ユニット250は、ファイル(メディアオブジェクト)の配布のネットワークのような他のシステムへの他の通常の接続を備えてもよい。
【００２９】
１つ又はそれより多くの入力／出力(I/O)装置218がバス208に結合されている。これらのI/O装置は(不図示の)他のシステムの部分でもよい。例えば、I/O装置218は、文書の画像を捕捉するイメージスキャナを含んでもよい。I/O装置218は文書を生成するプリンタを含んでもよい。I/O装置218は、マイクロフォンを介して音声入力を受信し且つスピーカを介して音声出力を送信するように備えられたオーディオ入出力装置を含んでもよい。一実施例では、オーディオ装置は汎用品であり；汎用コンピュータシステム内で使用するように設計されたオーディオアドイン拡張カードである。或いは、I/Oオーディオ装置は、１つ以上のアナログディジタル又はディジタルアナログ変換器、及び／又は音声処理を促す１つ以上のディジタル信号プロセッサを含んでもよい。
【００３０】
本発明の精神及び範囲から逸脱せずに、図２に示されるものと比べて多くの又は少ない要素を含んでよいことが、当業者には明らかであろう。例えばシステム100は追加的なメモリ(例えば、第１又は第２のレベルのキャッシュ、1以上の特定用途向け集積回路(ASIC))を含む。更に、システム100は1つのバス208でなく、複数のデータバースを含んでもよい。複数のバスは、システム100の要素から及びその中で画像データの高速伝送を可能にし、ユーザインターフェース情報を例えばディスプレイ装置へ同時に伝送することを可能にする。同様に、追加的な入力／出力装置218は、制御ユニット250に結合され、例えば、RFIDタグリーダ、ディジタル静止画又は動画カメラ、その他の装置（電子データを捕捉し及び／又はそれを制御ユニット250へダウンロードするように装備されてもされていなくてもよい）を含んでもよい。キーボード及びカーソル制御部212のような１つ以上の要素が省略されてもよい。
【００３１】
図３はシステム100のメモリユニット204の一例を示すブロック図である。オペレーティングシステム302、アプリケーション304、制御モジュール306、ブラウザ308、ブラウザプラグイン310、プリンタドライバ312、ページアナライザ106、リニアライザ316、レイアウトセレクタ318、ユーザインターフェース／プレビューユニット320、レンダリング部322及びストレージ324(ユーザの好み、wikiログファイル及びスタイルシート用のストレージ)を、メモリユニット204は好ましくは有する。出力文書114が生成されるまで、wikiコンテンツ、データグラフ及び他の一時的な情報を格納するようにメモリ204はバッファを含んでもよいことを、当業者は認識するであろう。上述したように、めもり  204はプロセッサ202で実行される命令及び／又はデータを格納する。命令及び／又はデータは、本願で説明される技法の全部及び／又は一部を実行するコードを有する。これらのモジュール302-314はバス208によりプロセッサ202に結合され、システム100に対する通信及び協同に備える。本発明はコンピュータのメモリユニット204の一部分又はモジュールとして説明されるが、モジュール又はその一部分が永続的なストレージ装置206のような他の媒体に格納されてもよいし、クライアント／サーバ環境の中でのように複数の様々なコンピュータを有するネットワーク220にわたって分散されてもよいことを、当業者は認識するであろう。
【００３２】
オペレーティングシステム302は、好ましくは、アプリケーションインターフェースを介してユーザにアクセス可能なカスタムオペレーティングシステムである。代替実施例では、オペレーティングシステム302は、ウインドウズ(登録商標)、ソラリス(登録商標)又はリナックス(登録商標)ベースのオペレーティングシステムのような通常のタイプの何れかである。
【００３３】
メモリユニット204は1つ以上のアプリケーションプログラム304を含み、アプリケーションプログラムは、限定ではないが、描画アプリケーション、ワードプロセシングアプリケーション、電子メールアプリケーション、財務アプリケーション及びウェブブラウザアプリケーション等を含む。
【００３４】
制御モジュール306は、メモリの他のモジュールを制御するのに使用される。ページアナライザ106、リニアライザ316、レイアウトセレクタ318、ユーザインターフェース／プレビューユニット320、レンダリング部322及びストレージ324に対する制御及び通信に、制御モジュール306は適合している。制御モジュール306の動作は、後述の図８の説明により更に明らかになるであろう。制御モジュール306はメモリ204の個別モジュールとして示されているが、他の実施例における制御モジュール306は他のモジュール310-324内のルーチンとして分散されてもよいことを、当業者は認識するであろう。
【００３５】
ブラウザ308は、マイクロソフト(登録商標)のインターネットエクスプローラ又はモジラ(Mozilla)のファイヤフォックス(Firefox)のような通常のタイプのものでもよい。ウェブブラウザは或るソフトウエアアプリケーションであり、テキスト、画像その他の文字をユーザが表示及びやりとりできるようにし、そのテキスト等は典型的にはワールドワイドウェブ又はローカルエリアネットワークのウェブサイトのウェブページ上にある。
【００３６】
一実施例では、本発明はブラウザプラグイン310(又は、ファイヤフォックスのようなブラウザ拡張機能)を装備できる。ブラウザプラグイン310は、ウェブブラウザとやりとりを行う或るコンピュータプログラムであり、所定の−通常的には非常に特殊な−機能を、要求に応じて用意する。そのような例の場合、ページアナライザ106、リニアライザ316、レイアウトセレクタ318、ユーザインターフェース／プレビューユニット320、レンダリング部322又はストレージ324(後述)の機能は、ブラウザプラグイン310に含まれてもよい。これは、本発明の機能が、ウェブブラウザを処理する如何なるコンピュータで使用されてもよいようにする。
【００３７】
一実施例では、本発明はプリンタドライバ312の一部分として実現可能である。この例は、図９を参照しながら更に詳細に説明されるであろう。そのような例の場合、ページアナライザ106、リニアライザ316、レイアウトセレクタ318、ユーザインターフェース／プレビューユニット320、レンダリング部322又はストレージ324(後述)の機能は、プリンタドライバ312に含まれてもよい。
【００３８】
ページアナライザ106は、選択されたデータの集まり(データコレクション)の表現を収集するソフトウエア及びルーチンである。ページアナライザ106は、本質的には、ユーザ又はシステムの好みに従ってコンテンツを選ぶ。一実施例では、ページアナライザ106はwikiアドレス、ユーザの好み及びwikiログファイルを入力として受信し；所定のwikiページを徘徊し(crawl)、或るデータグラフを作成し、そのデータグラフは、ユーザ又はシステムの好みに従って選択されたwiki要素(wikiマテリアル)を表現する。ページアナライザ106は、ブラウザ308、リニアライザ316及びストレージ324と共に、制御モジュール306の指示に従って通信するよう結合される。
【００３９】
リニアライザ316は、コンテンツの線形表現を取得及び作成するソフトウエア及びルーチンである。一実施例では、リニアライザ316は、ページアナライザ106から出力されたデータグラフを取得し、選択されたwikiページから必要なコンテンツ(文書及びwikiナビゲーション用のメタデータを含む)を取り出し、選択されたwikiコンテンツの線形化された表現（文書及びwikiナビゲーション用の命令を含む）を作成する。リニアライザ316は、ページアナライザ106、ブラウザ308及びストレージ324と共に、制御モジュール306の指示に従って通信するよう結合される。
【００４０】
レイアウトセレクタ318は、ユーザ又はシステムのこのみのレイアウト選択内容に従って、線形化されたコンテンツをフォーマットに合わせるソフトウエア及びルーチンである。レイアウトセレクタ318は、リニアライザ316により出力された線形化されたコンテンツを受信し、印刷又はユーザに対する提示に備えてフォーマットに合わせる。一実施例では、レイアウトセレクタ318は、リニアライザ316、ユーザインターフェース／プレビューユニット320、レンダリング部32及びストレージ324と共に通信するよう結合される。
【００４１】
波線枠で示されているように、システム100は選択的にユーザインターフェース／プレビューユニット320を含む。別の実施例では、ユーザインターフェース／プレビューユニット320は不要であり、省略されてもよい。ユーザインターフェース／プレビューユニット320は、レイアウトセレクタ318からのコンテンツを受信してフォーマットに合わせ、それをユーザに提示するソフトウエア及びルーチンである。例えば、ユーザインターフェース／プレビューユニット320は、フォーマットを整えたwikiコンテンツを取得し、ユーザに表示し、ページアナライザ106及びレイアウトセレクタ318におけるユーザの好みをユーザに編集させ、コンテンツを処理し直す。ユーザインターフェース／プレビューユニット320は、キーパッド212又はカーソル制御部214、レイアウトセレクタ318、レンダリング部322及びストレージ324を介してユーザと共に通信するように結合される。
【００４２】
レンダリング部(renderer)322は、印刷準備データ又は画像を生成するソフトウエア及びルーチンである。レンダリング部322は、出力が直接的に処理可能になるように、出力に組み込まれた他の情報又はプリンタドライバを含んでもよい。レンダリング部322は、ストレージ324、レイアウトセレクタ318に結合され、ネットワークコントローラ216を介して如何なる出力ドライバとでも通信するように結合されてもよい。
【００４３】
ストレージ324は、メモリ204の他のどの要素の一時的な出力をも格納するストレージである。ストレージ324は、何らかの他のルーチンに備えてワーキングメモリとして使用されてもよい。一実施例では、コンテンツ、ユーザの好み、1つ以上のwikiロゴ、スタイルシート及び本発明で使用される他のデータを、ストレージ324は格納する。ストレージは、バス208により、メモリ204の他の要素に結合される。
【００４４】
図５を参照するに、データの集まりを構造化された印刷可能でナビゲート可能なフォーマットに変換する本発明による別のシステム例500が示されている。説明の簡明化を図るため、別の実施例で言及済みのものと同一又は類似の機能を有する要素については、同様な参照番号が使用されている。このシステムの第２の例500は、アナライザ106、リニアライザ316、レイアウトセレクタ318、ユーザインターフェース／プレビューユニット320及びレンダリング部322を含む。本実施例はテンプレートクリエータ504も含み、要素への入力をより詳細に示している。
【００４５】
本実施例の場合、アナライザ106は複数の入力及び出力を有する。アナライザ106は、ウェブページアドレス、wikiロゴファイル及びユーザの好みを受け取るように結合されている。アナライザ106は、ウェブページアドレスに関するコンテンツの表現を信号線502に出力する。本実施例の場合、その表現は、wikiリンケージグラフとして言及される有向グラフ(directed  graph)である。図６を参照するに、アナライザの実施例が更に詳細に説明されている。本実施例の場合、アナライザ106は、階層形成部602、グラフ形成部604、重み付け部606及び樹枝部(arborescence  unit)608を含む。
【００４６】
階層形成部602は、wikiページアドレスを受信するよう用意された入力を有する。階層形成部602は、入力wikiページアドレスの他のコンテンツに対する階層関係を表現するデータを出力する。階層形成部602は、wikiページアドレス及びそのページアドレスのハイパーテキストリンクに進む(訪れたページのコピーを後の処理に備えて作成する)。階層形成部602は、ページの間で階層の親子関係のリストを維持する。従来技術とは異なり、最も利用可能なクローラ(crawler)が、階層関係ではなく、徘徊したページ(crawled  page)のリストを生成する。一実施例では、階層形成部602は、内部のwikiページ、httpによりアクセスされたが内部wikiナビゲーションリンクを制限している外部ページ等を徘徊する。
【００４７】
グラフ形成部604は、階層形成部602と同様に、wikiページアドレスを受信するように用意された入力を有する。グラフ形成部604は、wikiページアドレスを入力として使用し、wikiリンケージグラフを作成する。wikiリンケージグラフは、入力wikiページアドレスで参照される別のウェブページの有向グラフである。ノード間の接続(コネクション)は、wikiにおける異なるウェブページ間のリンクを表す。wikiの一例についてウェブページを徘徊(クロール)する例が、wikiリンケージグラフGとして図１２Ａに示されている。このグラフは有向グラフである。例示のグラフGは非常の大きな木に見える。小数のノードだけがツリーノードの条件(到来する端部(エッジ)は１つしかないこと)を満たしていない。ノード1,2,6,22はそのツリーノードの条件に違反している。wikiリンケージグラフGは、階層形成部602により(グラフ形成部604から)重み付け部606に出力される。
【００４８】
重み付け部606は、階層形成部602(グラフ形成部604)の出力を受信し、wikiリンケージグラフG中のノード各々に重み(ウエイト)を加える。これらのウエイトは、ツリー構造を形成し及びツリーを刈り込むために樹枝部608により後に使用される。グラフ形成部604から出力されたwikiリンケージグラフGは、如何なるウエイトも含んでいない。樹枝を算出するため、グラフのエッジにウエイトが関連付けられなければならない。一実施例では、wikiの履歴ログファイルに含まれているデータを利用して、或るwikiページから他のものへ進む際のコストを決めるように、ウエイトが割り当てられる。別の実施例では、誰がページを作成したかを確認することで及びどの程度頻繁にノード間で所有権が変わったかを確認することで、ウエイトが割り当てられる。例えば、親ノードがユーザ１により作成され、子ノードがユーザ２により作成され、ノード間のエッジもユーザ２により作成されたとする。これは、所有者変更が１回あり、コストとして１がそのエッジに割り当てられることを意味する。親及び子ノード並びにエッジが同じユーザにより作成されたならば、コストは０である。ノード及びエッジが異なる人により作成された場合、最大のコストである２が割り当てられる。タイムスタンプやアクセス頻度を分析するような、コストを割り当てる他の様々な方法も存在することを、当業者は認識するであろう。時間、作者、wikiリンケージ、コンテンツ構造及びコンテキストの内の或る部分集合について、個々の測定基準(メトリック)が規定されてもよい。例えば、図６に示されるようにユーザの好みも重み付け部606に入力される。異なる重みを用意することで、時間、作者、wikiリンケージ、コンテンツ構造及びコンテキストに応じてコンテンツを識別できる。具体例として以下のものが含まれてよい。
【００４９】
ある日付後に又は前になされる編集を総て印刷すること；
最も頻繁なアクセスを伴うコンテンツ総てを印刷すること；
ある作者によって編集されたコンテンツユニットを総て印刷すること；
第１の場所でページを最初に作成した作者又はページの最後の作者により編集されたコンテンツを選択すること；
あるコンテンツユニットについて作者の変更頻度を測定することでwikiグラフ中のエッジのコストを割り当て、最小のコストを伴う二次的なグラフを取り出すこと；
あるコネクションを編集する異なる作者数を測定することでwikiグラフにおけるコストを割り当て(コネクションは、グラフ又は２つのエンドノード内のエッジである)、最小のコストを伴う二次的なグラフを取り出すこと；
wikiグラフ中のある部分のみ(例えば、樹枝中のあるレベル又はパスのみ)を印刷すること；
wikiコンテンツ構造のある部分を印刷すること(例えば、第１及び第２レベルのセクションにおける表題及び以降の段落を印刷し、第３レベル及びそれ以上のセクションは印刷しない)；
コンテンツ深度のN乃至Mレベルを崩すこと；
キーワードに関連するwikiの部分を印刷すること；
ある話題に関連するwikiの部分を印刷すること；
wikiグラフ又はコンテンツ構造グラフ中のノードに重要度の重みが付与されること(例えば、wikiにおける最古のページはほとんど常に最良の導入ページである)；
グラフに重みを割り当てる際、企業の組織構造を考慮すること(例えば、社長の編集は従業者の編集より高いウエイトを持つ)；
タグは作成したコンテンツにユーザがコンテキストを付加する方法の１つであり、あるタグに関連するコンテンツが取り出されること。
【００５０】
樹枝部608は重み付け部に結合され、重み付けされたグラフGを重み付け部606から受信し、樹枝状のグラフAを生成する。一実施例では、樹枝グラフAは、次のように決定される最小区間ツリーを抽出することによってグラフをツリーに戻すことで作成される：所与のコネクション、非有向グラフに関し、そのグラフの区間ツリー(spanning  tree)は、１つのツリーであって総ての頂点(vertices)を共に接続しているサブグラフである。重み付けされ接続された非有向グラフの場合、最小区間ツリー又は最小ウエイト区間ツリーは、他の総ての区間ツリーのウエイト以下のウエイトを伴う区間ツリーである。wikiリンケージグラフは有向グラフであり、従って、最小区間ツリーの概念は、それが非有向グラフについてしか決められていないので、直接的には適用できない。しかしながら、有向グラフのサブグラフは樹枝(arborescence)と呼ばれ、それはツリーであって総ての頂点を共に接続している。樹枝部608は、重み付けされた有向性の接続されたグラフから、例えば当該技術分野で既知のクラインバーグ及びタルドシュ(Kleinberg  and  Tardos)のアルゴリズムを利用して樹枝を取り出す。図12Bは、上記のコスト割り当てを用いて図12AのグラフＧから生成された樹枝Ａを示す。グラフＧが1つより多くの接続成分を有する場合に備えて、(各成分について樹枝上に)一群のツリー(forest  of  tree)が算出される。
【００５１】
図５を再び参照するに、リニアライザ316は、信号線502によりアナライザ106の出力に結合された入力と、レイアウトセレクタ318に結合された出力とを有する。その線形化ステップは、あるアルゴリズムにより自動的に又はユーザによる手入力と共に実行されてもよい。印刷する或るコンテンツユニットを選択すること、所定のコンテンツ選択肢中の選択肢(例えば、最も「最近の編集」や、「作者１による編集」)を選ぶこと等を、上記の手入力は含んでもよい。１つの選択肢は、アナライザから出力を取り出し、いくつかの「関連する」フォーマットの出力(例えば、様々なwiki空間の次元に対するウエイトに関し各々は異なる)を生成することである。ユーザは印刷する前に「このような方法(mores  like  this)」を選択し、レイアウトのスペースを調べる。リニアライザ316は、レイアウトセレクタ318によって使用される命令を付加し、従来の文書構造情報(コンテンツのセクション番号及びテーブルに加えて、最終的に表現される形式でのwikiナビゲーション情報のような情報)を含める。wikiナビゲーションは、個々のwikiページからのナビゲーション情報、又はwikiリンケージモデルから抽出した情報を含んでもよい。wikiグラフ構造がツリーであった場合、１つのXHTMLファイル中のwikiコンテンツの線形化は、「サブセクションページ」としてページを階層的に挿入 (深度優先で挿入(depth  first  insertion))
することで実行されてもよい。本発明は線形化を実行するのにツリー構造に深度優先法を利用するが、本発明は他の線形化法(例えば、幅優先(breadth-first)、深度及び幅優先の混合、ユーザによる介在)を利用してもよいことを、当業者は認識するであろう。
【００５２】
図７を参照しながら、本発明によるリニアライザ316の具体例が更に説明される。このリニアライザ例316は、文書オブジェクトモデル(DOM:  Document  Object  Model)形成部702、DOM選択部704、ノード挿入部706、コンテンツ付加部708及びフォーマット命令部710を有する。
【００５３】
文書オブジェクトモデル(DOM)形成部702は、wikiページアドレス、アナライザ106からの階層データ(ツリーT)及びアナライザ106からの樹枝グラフAを受信するよう用意された入力を有する。これらの入力と共に、DOM形成部702はDOMモデルを生成する。一実施例では、DOM形成部702は、wikiリンクに従うwikiの第２の徘徊(クローリング)を制御し、そのwikiリンクは、オリジナルのリンクの或る場所に新ノードとして挿入されたリンクに関するwikiページのコンテンツ及び樹枝グラフ中のリンクを有する。挿入プロセスの階層構造を確保するため、DOMモデルが各wikiページについて作成される。作成されたDOMモデルは、DOMO形成部702からDOM選択部704に出力される。
【００５４】
DOM選択部704は、DOM形成部702の出力に結合された入力を有する。DOM選択部704は、ノードAのルートに対応する１つのDOMwikiページをメインDOMとして特定及び選択する。このコンテンツ取得は、樹枝のルートノードにより表現されるwikiページに関連するDOMモデルと共に始まる。
【００５５】
ノード挿入部706は、DOM選択部704の出力に結合された入力を有する。ノード挿入部706は、ノードをそれらに対応するコンテンツで置換することで、ツリーのノード各々を処理する。ノード挿入部706は、グラフＡのエッジに従って、DOMノードをメインDOMに挿入する。挿入プロセスの階層構造を保持するため、DOMモデルはwikiページ各々について作成される。wikiページについてDOMノードを挿入することは、挿入されたwikiページ全体を含む子ノードを、オリジナルのリンクノードに付け加えることを意味する。
【００５６】
コンテンツ付加部708は、ノード挿入部706の出力に結合された入力を有する。コンテンツ付加部708は、ノードに対応する外部コンテンツを取得し、コンテンツの視覚的な表現を作成し、コンテンツをメインDOMに挿入する。wikiの特徴の1つは、PDF文書や画像のようなマテリアル(情報)がhttpリンクを介してwikiコンテンツに包まれることである。これは、マテリアル情報をwikiに対するアタッチメントとして見ることができることを意味する。これらの関連付けられたノードから戻るバックリンクは存在しない。一実施例の場合、本発明はこれらのアタッチメントのコンテンツを取得し、それを或る画像形式 (例えば、画像のサムネイル又はPDF文書の最初のページのサムネイル) に変換する、或いは短いテキスト要約を取り出し、その要約を新たなノードとしてDOMノードに挿入する。画像はアンド＜img＞タグ−and＜img＞tag−を利用して、合成されたwiki(synthesized  wiki)に含められる。
【００５７】
フォーマット命令部710は、コンテンツ付加部708の出力に結合された入力を有する。コンテンツのペーパーナビゲーションをサポートするため及びコンテンツのレンダリングに対する命令のフォーマット化をサポートするために、フォーマット命令部710はタグを挿入する。セクション番号、パラグラフインデント及びコンテンツのテーブルのような従来の文書レイアウト情報の作成に有用なタグを含めるため、パラグラフ及びセクションのクラシカルな文書単位(classical  document  unit)にコンテンツが分解される。一実施例では、コンテンツ付加部708の出力は、様々なレベルの階層を伴う高度に階層構造化されたXHTMLファイルである。セクション及びパラグラフを作成するため、いくつかの階層の部分は、入れ子になった＜div＞タグ−nested<div>tag−のように平坦化される必要がある。一方、<h1>,<h2>,<h3>等のようなシリアルタグは、セクション番号及びコンテンツのテーブルを作成するために何らかの階層的な解釈に変換される必要がある。最小のコヒーレント単位はパラグラフである。DOM形成部702からの複合DOMモデルは、パラグラフ単位に平坦化される。その後、セクション番号及びコンテンツのテーブルを付加する構造が加えられる。後者の部分を行うため、順序の付いたセクションツリーTが作成され(図12C参照)、各ノードの子(チルドレン)には順序が付けられている。最終的に合成されたwikiは、ウェブナビゲーションにより維持される情報を含み、その情報は例えばリンクコンテンツが挿入された場所や、個々のwikiページからのコンテンツのテーブルに加えて、セクション番号のような紙面上の線形フォーマット用のクラシカル文書レイアウト情報等を含む。
【００５８】
図５を再び参照するに、レイアウトセレクタ318は、リニアライザ316からデータ(例えば、XHTMLファイル)を受信し、それをユーザインターフェース／プレビューユニット320に出力するように結合されている。レイアウトセレクタ318は、スタイルシートを受け取るようにテンプレート生成部504に結合され、ユーザの好みを受け取る入力も有する。本発明の特に優れた利点の１つは、アプリケーション、タスク、wikiに対するユーザの精通度又は個人の好み等に依存して、wikiコンテンツのレイアウトが変わってもよいことである。電子wikiと一切相互作用しなかった者(オーディエンス)のためにテクニカルレポートが作成されなければならない場合、wikiナビゲーションリンクはレイアウト中に一切含まれない。wikiの作者の１人が、強調(ハイライト)されている最近の変更と共に印刷することを希望していた場合、wikiナビゲーション情報の表示は好まれるかもしれない。様々なユーザのニーズに応じるため、従来の文書構造とwikiナビゲーション情報を含めることとの混合が、０回乃至多数回のナビゲーションに及ぶスケーラブルな形式で用意され、ユーザが何らかの混合を使用できるようにし、レイアウト中のwikiナビゲーション情報量はスケーラブルに形成される。
【００５９】
テンプレートクリエータ504はアプリケーションであり、そのアプリケーションでは、印刷レイアウトに挿入されるwikiナビゲーションの様々なリンクに合わせてテンプレートが作成可能である。テンプレートクリエータ504はGUIを生成するソフトウエアを含み、GUIは、出力に含まれるwikiナビゲーションの各レベルに関連する属性をユーザが選択することを可能にする。テンプレートクリエータ504はこれらのパラメータをレイアウトセレクタ318に与え、レイアウトセレクタはそのパラメータ設定に合う出力を作成する。一実施例では、テンプレートクリエータ504はスタイルシートを出力し、スタイルシートは出力を生成する際レイアウトセレクタ318により使用される。
【００６０】
一実施例では、レイアウトセレクタ318は4つのレベルを生成し、各々はwikiナビゲーション情報の増加レベルを伴う。スタイルシートを利用して、wikiコンテンツの様々な表示が作成可能である。４つの異なる表示は、クラシカル文書レイアウト及びwikiナビゲーション変換の続く様々なレベルの情報を含む。第１の表示は、総てのwikiナビゲーション情報を控え、むしろ従来の文書のように見える。具体例は図11Aに示されている。文書1100はコンテンツのテーブルと共に始まり、テキストのパラグラフ1102を含む。個々のセクションは付番されている。挿入されたコンテンツの先頭にて、wikiページ固有のコンテンツのテーブル1112を含めることを通じて、wikiページに対する挿入点を通知することで、第２の表示は或るwikiナビゲーション情報を含んでいる。具体例は図11Bで文書1110として示されている。挿入されたコンテンツの先頭にて、wikiページ固有のコンテンツのテーブル1112及びアイコン1122,1124を通じて、wikiページに対する挿入点を通知することで、第３の表示は或るナビゲーション情報を含む。具体例は図11Cで文書1120として示されている。第４の表示は判別を支援するためのより多くの情報を含み、カラーコード1132(緑色の□)、1134(赤色の□)及び1136(青色の□)により、コンテンツの特定の部分がどのwikiページから到来しているかを判定する。具体例は図11Dで文書1130として示されている。1132,1134,1136の各色は、図12Bのwikiグラフでの階層レベルを反映している。一実施例では、wikiページのテーブルが、後に使用される関連するカラーコードを表示する文書の始めに加えられる。テーブルは樹枝に含まれている構造を反映する。wikiグラフに現れてはいるが樹枝には現れていないリンクは、異なるフォーマットスタイルで表示される。図11Eに示される第５の表示の場合、文書1140は、外部コンテンツのサムネイル1148及びバーコード1146のようなインデックスを含んでいる。本発明は様々な表示の属性に対して特定のフォーマットと共に説明されてきたが、それらは単なる一例に過ぎないこと、及び視覚的に異なる方法でメタデータを表示する他の様々な方法が使用されてもよいことは、当業者に認められるであろう。
【００６１】
ユーザインターフェース／プレビューユニット320は、レイアウトセレクタ318の出力に結合され、その出力の図形表現を生成する。この図形表現は、ユーザインターフェース／プレビューユニット320によりユーザに提示され、ユーザインターフェース／プレビューユニット320はユーザからの入力を受け入れる。ユーザインターフェース／プレビューユニット320は、ユーザの選択及び好みに対する変更を受け入れる。例えば、一実施例では、ユーザはwikiページ内のツリー構造を修正することができ、wikiページをウェブブラウザ内でのように開いたり閉じたりできる。ユーザが印刷プロセスを望み通りに修正すると、出力がレンダリング部322に送られる。
【００６２】
レンダリング部322は、ユーザインターフェース／プレビューユニット320に結合される、或いはレイアウトセレクタ318に直接的に結合される。レンダリング部は、ページ及びメタデータの整った文書を受信し、その文書を印刷可能な又は表示可能なフォーマットに表現する。その表現は、一実施例では、通常の多数の印刷エンジンのどれでなされてもよい。
【００６３】
方法
図８を参照しながら、データの集まりを構造化された印刷可能でナビゲート可能なフォーマットに変換する本発明による方法例が説明される。本方法はwikiページアドレスを受信することから始まる822。次にシステム100はユーザ又はシステムの好みを受信する804。そしてシステム100は、受信したwikiアドレス及び好みに基づいてコンテンツを選択する806。例えば、システム100は受信したウェブページアドレスのリンク及び他のアドレスを徘徊(クロール)し、そのような他のアドレスの情報部分を包含するために選択する。そして本システム100はコンテンツのフォーマットを整えて線形化する808。wikiコンテンツは、将来出力されるプレビューとしてユーザに表示することができる810。一実施例の場合、その表示は将来出力される静的なウインドウである。他の実施例の場合、その表示は動的なウインドウであり、ユーザは、ステップ804で受信したユーザ及び／又はシステムの好みを調整又は変更し、コンテンツを選択するステップ806及びそのユーザ及び／又はシステムの好みと共にコンテンツのフォーマットを整えて線形化するステップ808を反復する。上述したように、この表示ステップ810は選択的である。最後に、本方法は出力を表現及び出力し812、本方法は完了する。
【００６４】
図９は、プリンタドライバの一部に使用する本発明による方法例のフローチャートである。図８を参照しながら説明された或るステップを利用することに加えて、本方法は、本発明をプリンタに特化させる際の追加的なステップを含んでいる。印刷ドライバは、前提としているソースがwikiであることを認識することができ、それ故に上記の追加的な特徴をもたらすことができる。本方法は、wikiであるURLのリストを受信及び格納することから始まる902。このステップは予め実行されてもよく、或いは印刷時点の近辺で実行される残りのステップと分けられてもよい。そして、システム100はwikiの１つを印刷するリクエストを受信する904。ブラウザが印刷リクエストを送信する場合、ブラウザはソースURLをシンボリックデータに含める。システム100は、印刷リクエストのヘッダをURLのリストと比較する906。一実施例では、簡易なルックアップテーブルが、ソースはwikiであるか否かを確認するために使用される。他の実施例の場合、より複雑な方法は標準的なテンプレートのようなマーカを使用し、未知のURLを判別する。次に、本方法はユーザがwiki印刷機能をイネーブルに(動作可能に)設定しているか否かを確認する。設定していなかった場合、本方法は通常の印刷処理を実行し916、終了する。設定していた場合、本方法はwiki印刷機能の実行を試みる。一実施例では、wiki印刷はイネーブルであることが確認された後、本方法はwiki印刷GUIをユーザに提示し910、ユーザ入力を受信する912。図１０には、wiki印刷GUI又はダイアログボックスの具体例が示されている。ダイアログボックス1000は、いくつものプルダウンメニュ1002，1006，1008，1010，1012，1014，1016を含み、wikiコンテンツに影響する５つのパラメータ及びメタデータに関する様々な属性をユーザが指定できるようにする。特に、使用するテンプレート、時間フレーム、作者、コンテンツ、どのリンクが包含されるか、コンテキスト情報及び他の有用な属性をユーザは指定することができる。ダイアログボックス1000は、出力装置1018、レイアウト1020、印刷ボタン1022及びプレビューボタン1004のような他の通常の選択肢も含む。ステップ910及び912は選択的であり、それ故に図９では波線で示されていることを、当業者は認識するであろう。最後に、ドライバはwiki印刷を開始する914。これは、図８を参照しながら説明したものと同様なステップを含む。
【００６５】
本発明に関する上記の記述は、図示及び説明を意図して用意されている。説明された詳細な形式に本発明を限定することや説明が網羅的であることは意図されていない。多くの修正例及び変形例が上記の教示の下で可能である。本発明の範囲は詳細な説明によって限定されず、本願の特許請求の範囲によって規定されることが意図されている。当業者に理解されるように、本発明は、その本質的特徴又は精神から逸脱せずに他の具体的形態によって実現されてもよい。例えば、wiki印刷はオンラインwikiへのインターフェースとして使用されてもよい。この例の場合、オリジナルのwikiコンテンツに加えてバーコードが印刷され、アタッチメントやwikiセクション等にアクセスできるようにする。線形wikiバージョンへの及びそこからオリジナルバージョンへの混合したアクセスパターンも可能である。同様に、モジュール、ルーチン、特徴、属性及び方法の特定の名称及び区分け並びに他の形態は、必須でも重要でもなく、本発明又はその特徴を実現する手段は、異なる名称や区分け及び／又は形式を使用してもよい。更に、当業者に明らかなように、本発明に関するモジュール、ルーチン、特徴、属性、方法及び他の形態は、ソフトウエア、ハードウエア若しくはファームウエアとして又はそれらの何らかの組み合わせとして実現されてもよい。例えばモジュールのような本発明の要素がソフトウエアとして実現される場合、その要素は、スタンドアローンプログラムとして、大規模なプログラムの一部分として、複数の個々のプログラムとして、固定的に又は動的にリンクされたライブラリとして、カーネルローダブルモジュールとして及び/又はデバイスドライバとして実現されてもよいし、及び/又はコンピュータプログラムの技術分野における当業者にとって現在又は将来既知の如何なる他の方法で実現されてもよい。更に、本発明は、特定の何らかのプログラミング言語で実現されるようには限定されず、特定のどのオペレーティングシステムにも環境にも限定されない。従って本発明の実施例は例示的に解釈されるべきであり、特許請求の範囲に記載の本発明の範囲を限定するようには解釈されるべきでない。
【図面の簡単な説明】
【００６６】
【図１】データの集まりを構造化された印刷可能でナビゲート可能なフォーマットに変換する本発明によるシステム例の機能を示す図である。
【図２】本発明の一実施例により構築されたシステムのブロック図を示す。
【図３】本発明の一実施例により構築された図２のシステムのメモリに関するブロック図である。
【図４】本発明のシステムからの出力の構造例を示す図である。
【図５】データの集まりを構造化された印刷可能でナビゲート可能なフォーマットに変換する本発明による別のシステム例のブロック図である。
【図６】本発明によるアナライザの一例を示すブロック図である。
【図７】本発明によるリニアライザの一例を示すブロック図である。
【図８】データの集まりを構造化された印刷可能でナビゲート可能なフォーマットに変換する本発明による方法例を示すフローチャートである。
【図９】プリンタドライバの一部に使用する本発明による方法例のフローチャートである。
【図１０】本発明によるwiki印刷のユーザインターフェース例を示す図である。
【図１１Ａ】本発明により生成された印刷ページを示す図である。
【図１１Ｂ】本発明により生成された印刷ページを示す図である。
【図１１Ｃ】本発明により生成された印刷ページを示す図である。
【図１１Ｄ】本発明により生成された印刷ページを示す図である。
【図１１Ｅ】本発明により生成された印刷ページを示す図である。
【図１２Ａ】本発明により構造化されたページの整った文書を生成する際に入力コレクション線形化するプロセス途中の様子を示すツリー構造図である。
【図１２Ｂ】本発明により構造化されたページの整った文書を生成する際に入力コレクション線形化するプロセス途中の様子を示すツリー構造図である。
【図１２Ｃ】本発明により構造化されたページの整った文書を生成する際に入力コレクション線形化するプロセス途中の様子を示すツリー構造図である。
【符号の説明】
【００６７】
１００  システム
１０２  ウェブサイト／ページ
１０４  ユーザパラメータ
１０６  アナライザ
１０８  コンテンツの表現（データグラフ）
１１０  スタイルシート
１１２  レイアウトユニット
１１４  ページの整った文書
１１６  wikiメタデータ
２１０  ディスプレイ装置
２１２  入力装置
２１４  カーソル制御部
２１６  通信装置
２１８  入力／出力(I/O)装置
２５０  制御ユニット
３０２  オペレーティングシステム
３０４  アプリケーション
３０６  制御モジュール
３０８  ブラウザ
３１０  ブラウザプラグイン
３１２  プリンタドライバ
３１６  リニアライザ
３１８  レイアウトセレクタ
３２０  ユーザインターフェース／プレビューユニット
３２２  レンダリング部
３２４  ストレージ
５０４  テンプレートクリエータ
６０２  階層形成部
６０４  グラフ形成部
６０６  重み付け部
６０８  樹枝部
７０２  文書オブジェクトモデル(DOM)形成部
７０４  DOM選択部
７０６  ノード挿入部
７０８  コンテンツ付加部
７１０  フォーマット命令部
【図１】
0005396770.tif 000002
【図２】
0005396770.tif 000003
【図３】
0005396770.tif 000004
【図４】
0005396770.tif 000005
【図５】
0005396770.tif 000006
【図６】
0005396770.tif 000007
【図７】
0005396770.tif 000008
【図８】
0005396770.tif 000009
【図９】
0005396770.tif 000010
【図１０】
0005396770.tif 000011
【図１１Ａ】
0005396770.tif 000012
【図１１Ｂ】
0005396770.tif 000013
【図１１Ｃ】
0005396770.tif 000014
【図１１Ｄ】
0005396770.tif 000015
【図１１Ｅ】
0005396770.tif 000016
【図１２Ａ】
0005396770.tif 000017
【図１２Ｂ】
0005396770.tif 000018
【図１２Ｃ】
0005396770.tif 000019