(57)【特許請求の範囲】
【請求項１】
複数の文書内のリンクを管理するための方法であって、
コンピュータが、
前記複数の文書から選択されたソース文書を開くステップと、
前記ソース文書をスキャンして、文書リンクを見つけるステップと、
前記ソース文書内で見つかった各文書リンクについて、前記ソース文書の名前と前記文書リンクとを示すリンク・データベースにエントリを追加するステップと、
前記文書リンクによってポイントされた宛先文書をスキャンして妥当なキーワードを見つけるステップであって、前記妥当なキーワードが、繰り返し使用された言葉または用語について宛先文書を検査すること、又は、宛先文書内のテキストのフォント・サイズまたは太字化あるいはその両方を検査することによって決定される、前記見つけるステップと、
各妥当なキーワード・エントリについて、エントリを前記リンク・データベースに含めるステップであって、前記キーワード・エントリは、前記キーワードと、ソース文書名と、前記妥当なキーワードを含む前記宛先文書の前記文書リンクとを含む、前記含めるステップと、
妥当なキーワードについて前記ソース文書を解析するステップと、
前記ソース文書から解析された前記妥当なキーワードが前記リンク・データベース内の前記キーワード・エントリに存在しているか検索するステップと、
前記ソース文書から解析された前記妥当なキーワードに合致するキーワードを含む宛先文書のリストを作成するステップと、
前記ソース文書の構造に基づいて、階層的に前記文書リンクを編成するステップであって、
ベース・ブックマーク・フォルダを作成するステップと、
前記文書リンクの論理グループ化を決定するために、前記ソース文書の前記構造を分析するステップと、
前記文書リンクの前記論理グループ化に基づいて、複数のリンク・サブカテゴリを作成するステップと、
ソース文書の内容とリンク内容とを解析して妥当なキーワードを見つけるステップと、
前記複数のリンク・サブカテゴリに基づいてベース・ブックマーク・フォルダに対するブックマーク・サブフォルダを作成するステップであって、各ブックマーク・サブフォルダの名前は前記ソース文書の内容とリンク内容とを解析して見つけられた妥当なキーワードに基づく、前記作成するステップと
をさらに含む、前記編成するステップと
を実行することを含む、前記方法。
【請求項２】
前記コンピュータが、
前記ソース文書から解析された前記妥当なキーワードに合致するキーワードを含む宛先文書のリストをユーザに提示するステップを実行することをさらに含む、請求項１に記載の方法。
【請求項３】
前記文書のリストは、一時ブックマーク・フォルダを介して前記ユーザに提示される、請求項２に記載の方法。
【請求項４】
前記文書のリストは、分割画面を介して前記ユーザに提示される、請求項２に記載の方法。
【請求項５】
前記文書リンクは、ユニフォーム・リソース・ロケータ（ＵＲＬ）である、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
複数の文書内のリンクを管理するためのコンピュータ・プログラムであって、コンピュータに、請求項１〜４のいずれか一項に記載の方法の各ステップを実行させる前記コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、文書管理に関し、より具体的には、履歴文書間のリンクを追跡および編成することに関する。
【背景技術】
【０００２】
１９４８年のエドバック（ＥＤＶＡＣ）の開発は、コンピュータ時代の幕開けとしてしばしば引用される。そのとき以来、コンピュータ・システムは、非常に高性能な装置へと発展し、コンピュータ・システムは、数多くの互いに異なる設定がなされることがある。コンピュータ・システムは、典型的には、半導体および回路基板などのハードウェアと、コンピュータ・プログラムとしても知られるソフトウェアとの組み合わせを含む。
【０００３】
日々、コンピュータ・ユーザは、多数の電子メール・メッセージ、個人のパーソナル・コンピュータおよびサーバ上の数千のファイル、および数十億のウェブページからの情報を管理および検索するという面倒な作業に直面している。多数のソースからのこの無数の情報を管理することは、困難かつ時間のかかる作業である。
【０００４】
今日の我々の仕事は互いに係わり合いがあるという性質があるので、これらの情報ソースの多くは、互いに関連しており、かつリンクを介して他の参照物にも関連している。そのようなリンクの主要な例の一つは、ユニフォーム・リソース・ロケータ（ＵＲＬ）である。ＵＲＬは、文書のグローバル・アドレスおよびワールド・ワイド・ウェブの他のリソースを提供する。アドレスの最初の部分は、どのプロトコルを使用するかを示し、第２の部分は、リソースがあるＩＰアドレスまたはドメイン名を指定する。よって、ＵＲＬは、ソース文書と宛先文書との間の重要な関係を示す。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
現在、これらの関係を管理する唯一の方法は、グーグル（登録商標）社のデスクトップ・サーチ（Ｄｅｓｋｔｏｐ  Ｓｅａｒｃｈ）またはグーグル社のページランク（Ｐａｇｅｒａｎｋ）などの検索アルゴリズム／製品を介することである。しかしながら、そのような解決策には、１つ以上のキーワードを入力後にファイルをつきとめる助けとなるだけであるという点で、重大な欠陥がある。そのようなツールから結果を受信する場合、どの文書がどのリンク（ＵＲＬ）を含むのかを追跡するのが困難なままである。加えて、どこが各リンク（ＵＲＬ）を参照したのかを覚えておくこと、および、その関連文書を探すことは難しい。すべてのリンク（ＵＲＬ）を適切な提示形式で手動で編成および保存するのは、現在ほとんど不可能である。
【０００６】
ユーザが１つ以上のリンクを持つ文書内および文書間で履歴データを動的に管理し、リンクによって規定される関係を保持する助けとなる、よりよい手法に対する必要性がある。その手法は、単にソース文書から宛先文書へのリンクだけでなく、宛先文書からソース文書へ戻るリンクをも追跡し、リンクの内容／名前付けに基づいて階層的にリンクを編成し、リンク情報をユーザに対してリアルタイムかつ有意義なやり方で表示する必要がある。
【課題を解決するための手段】
【０００７】
本発明は、１つ以上のリンクを持つ文書内および文書間の履歴データを管理し、リンクによって規定される関係を保持するための方法、装置、およびプログラムを提供する。本発明は、単にソース文書から宛先文書へのこの情報だけでなく、宛先文書からソース文書へ戻る情報も追跡する。
【０００８】
より具体的には、本発明は、複数の文書内のリンクを管理するための方法を提供する。本方法は、複数の文書から選ばれたソース文書を開くことによって開始し、ソース文書をスキャンして文書リンクを見つけ、見つかった各文書リンクについて、ソース文書の名前と文書リンクとを示すリンク・データベースにエントリを加える。一実施形態において、本方法は、その後、いずれかの妥当なキーワードを見つけるために文書リンクによってポイントされた文書をスキャンし、いずれかのものが見つかると、妥当なキーワードをキーワード・エントリを介してリンク・データベースに含める。キーワード・エントリは、キーワード自体と、ソース文書名と、妥当なキーワードを含む文書の文書リンクとを含む。一実施形態において、本発明は、その後、妥当なキーワードについてソース文書を解析し、ソース文書から解析された妥当なキーワードがリンク・データベース内のキーワード・エントリに存在しているか検索して、ソース文書から解析された妥当なキーワードに合致するキーワードを含む文書のリストを作成する。ユーザには、その後、ソース文書から解析された妥当なキーワードに合致するキーワードを含む文書のリストが（例えば、一時ブックマーク・フォルダまたは分割画面を介して）提示される。
【０００９】
他の実施形態において、本発明は、現在のソース文書についてリンク・データベース内の文書リンク・エントリを検索し、その後、見つかった各エントリ毎に逆方向参照のリンクを作成し、その後、当該リンクは、（例えば、一時ブックマーク・フォルダまたは分割画面を介して）ユーザに提示される。
【００１０】
本発明によって使用されるソース文書は、数多くの形式を取ってもよく、当該形式には、ワード・プロセッサ文書、ポータブル・デスクトップ・フォーマット（ＰＤＦ）ファイル、電子メール、ウェブサイト、インスタント・メッセージ、および電子メモが含まれるが、これらに限定されるものではない。
【００１１】
本発明は、また、ソース文書の構造に基づいて、階層的にソース文書内の文書リンクを編成してもよい。一実施形態において、本発明は、ベース・ブックマーク・フォルダを作成することによってこれを達成し、文書リンクの論理的なグループ化を決定するためにソース文書の構造を分析し、文書リンクの論理的なグループ化に基づいてリンク・サブカテゴリを作成し、ソース文書およびリンク内容とを解析して妥当なキーワードを見つけ、リンク・サブカテゴリに基づいてベース・ブックマーク・フォルダに対するブックマーク・サブフォルダを作成し、各ブックマーク・サブフォルダの名前は、妥当なキーワードに基づいている。
【発明を実施するための最良の形態】
【００１２】
本発明の様々な実施形態を添付の図面と共に以下に説明する。
【００１３】
しかしながら、添付の図面は、本発明の一実施形態例を示すに過ぎず、従って、本発明の範囲を限定するとはみなされない。なぜならば、本発明は、同様に効果的な他の実施形態を許容してもよいからである。
【００１４】
各図面を通じて、同様の番号は同様の部分を示す。図面を参照して、図１は、本発明に係る、ネットワーク１３０を介してクライアント１３２に接続されたコンピュータ・システム１００の高レベルのブロック図を示す。コンピュータ・システム１００の主要な構成要素には、１つ以上のプロセッサ１０１と、メイン・メモリ１０２と、端末インターフェース１１１と、記憶装置インターフェース１１２と、Ｉ／Ｏ（入力／出力）装置インターフェース１１３と、通信／ネットワーク・インターフェース１１４とが含まれ、これらすべては、構成要素間通信のために、メモリ・バス１０３と、Ｉ／Ｏバス１０４と、Ｉ／Ｏバス・インターフェース１０５とを介して結合されている。
【００１５】
コンピュータ・システム１００は、１つ以上のプログラム可能な中央処理装置（ＣＰＵ）１０１Ａ，１０１Ｂ，１０１Ｃ，および１０１Ｄとを含み、これらはプロセッサ１０１と総称される。一実施形態において、コンピュータ・システム１００は、比較的大きなシステムに典型的な複数のプロセッサを含むが、他の実施形態においては、代わりに、コンピュータ・システム１００は、単一のＣＰＵシステムであってもよい。各プロセッサ１０１は、メイン・メモリ１０２に記憶された命令を実行し、１つ以上のレベルのオン・チップ・キャッシュを含んでもよい。
【００１６】
メイン・メモリ１０２は、データおよびプログラムを記憶するためのメモリである。メイン・メモリ１０２は、概念上は単一のモノリシックなエンティティであるが、他の実施形態においては、メイン・メモリ１０２は、キャッシュおよび他のメモリ装置の階層などの、より複雑な仕組みである。例えば、メモリは、複数のレベルのキャッシュ内に存在してもよく、これらのキャッシュは、機能によってさらに分割されてもよく、あるキャッシュは、命令を保持し、他のキャッシュは、単一または複数のプロセッサによって使用される、命令でないデータを保持するようにしてもよい。メモリは、非一様メモリ・アクセス（ＮＵＭＡ）コンピュータ・アーキテクチャと称されるさまざまなもののうちの任意のものにおいて知られるように、互いに異なるＣＰＵまたはＣＰＵのセットにさらに分散および関連付けられてもよい。
【００１７】
メモリ１０２は、リンク・マネージャ１５０と、リンク・データベース１５２と、ユーザ・インターフェース・ページ１５４とを含む。リンク・マネージャ１５０、リンク・データベース１５２、およびユーザ・インターフェース・ページ１５４は、コンピュータ・システム１００におけるメモリ１０２内に含まれているように図示されているが、それらのうちのいくつかまたはすべてが、互いに異なるコンピュータ・システム（例えば、クライアント１３２）上にあってもよく、例えばネットワーク１３０を介してリモートにアクセスされてもよい。コンピュータ・システム１００は、コンピュータ・システム１００のプログラムが、複数のより小さな記憶装置エンティティに対するアクセスに代えて、大きな単一の記憶装置エンティティに対してアクセスできるのみであるように振舞うことができるようにする、仮想アドレス指定機構を使用してもよい。よって、リンク・マネージャ１５０、リンク・データベース１５２、およびユーザ・インターフェース・ページ１５４は、メイン・メモリ１０２内に含まれているように図示されているが、これらの要素は、必ずしも同一の記憶装置に同時にすべてが完全に含まれるわけではない。
【００１８】
一実施形態において、リンク・マネージャ１５０は、プロセッサ１０１に対して実行できる命令、またはプロセッサ１０１に対して実行されて、図２から８までを参照して以下にさらに説明するような機能を実行するためにプロセッサ１０１に対して実行する命令によって解釈されることが可能なステートメントを含む。他の実施形態において、リンク・マネージャ１５０は、マイクロコードで実施されてもよい。他の実施形態において、リンク・マネージャ１５０は、ハードウェアにおいて、論理ゲートまたは他の適切なハードウェア手法を介して実施されてもよい。
【００１９】
メモリ・バス１０３は、プロセッサ１０１と、メイン・メモリ１０２と、Ｉ／Ｏバス・インターフェース１０５との間でデータを転送するためのデータ通信路を提供する。Ｉ／Ｏバス・インターフェース１０５は、様々なＩ／Ｏユニットから、およびそれらへデータを転送するために、システムＩ／Ｏバス１０４にさらに接続される。Ｉ／Ｏバス・インターフェース１０５は、システムＩ／Ｏバス１０４を介して、Ｉ／Ｏプロセッサ（ＩＯＰ）またはＩ／Ｏアダプタ（ＩＯＡ）としても知られる複数のＩ／Ｏインターフェース１１１，１１２，１１３，および１１４と通信を行う。システムＩ／Ｏバス１０４は、例えば、業界標準のＰＣＩバス、または任意の他の適切なバス技術であってもよい。
【００２０】
Ｉ／Ｏインターフェースは、様々な記憶装置およびＩ／Ｏ装置との通信をサポートする。例えば、端末インターフェース１１１は、１つ以上のユーザ端末１２１，１２２，１２３，および１２４の装着をサポートする。記憶装置インターフェース１１２は、１つ以上の直接アクセス記憶装置（ＤＡＳＤ）１２５，１２６，および１２７（典型的には、磁気ディスク・ドライブ記憶装置であるが、ホストに対して単一の大記憶装置のように見えるように構成されるディスク・ドライブのアレイをはじめとする他の装置であってもよい）の装着をサポートする。メイン・メモリ１０２の内容は、直接アクセス記憶装置１２５，１２６，および１２７へ記憶、およびそれらから取り出されてもよい。
【００２１】
Ｉ／Ｏおよび他の装置インターフェース１１３は、様々な他の入力／出力装置または他の種類の装置のいずれかとのインターフェースを提供する。２つのそのような装置であるプリンタ１２８およびファックス機１２９が図１の実施形態例では示されているが、他の実施形態においては、数多くの他のそのような装置が存在してよく、それらは互いに種類が異なっていてもよい。ネットワーク・インターフェース１１４は、コンピュータ・システム１００から他のデジタル装置およびコンピュータ・システムへの１つ以上の通信路を提供し、そのような経路には、例えば、１つ以上のネットワーク１３０が含まれてもよい。
【００２２】
メモリ・バス１０３は、プロセッサ１０１と、メイン・メモリ１０２と、Ｉ／Ｏバス・インターフェース１０５との間の直接通信路を提供する比較的単純で単一のバス構造として図１に示されているが、実際には、メモリ・バス１０３は、複数の互いに異なるバスまたは通信路を備えてもよく、これらは、階層的、星型、またはウェブ構造の２地点間リンク、複数の階層バス、並列冗長路などのような、任意の様々な形式で配列されてもよい。さらに、Ｉ／Ｏバス・インターフェース１０５およびＩ／Ｏバス１０４は、単一の個々のユニットとして示されているが、コンピュータ・システム１００は、実際は、複数のＩ／Ｏバス・インターフェース１０５または複数のＩ／Ｏバス１０４あるいはその両方を含んでもよい。様々なＩ／Ｏ装置へ向かう様々な通信路からシステムＩ／Ｏバス１０４を分離する複数のＩ／Ｏインターフェースが示されているが、他の実施形態においては、Ｉ／Ｏ装置のうちのいくつかまたはすべてが、１つ以上のシステムＩ／Ｏバスに直接接続されている。
【００２３】
図１に示すコンピュータ・システム１００は、装着された複数の端末１２１，１２２，１２３，および１２４を有し、マルチユーザの「メインフレーム」コンピュータ・システムの典型のようであってもよい。典型的には、そのような場合、装着された装置の実際の数は、図１に示すよりも大きいが、本発明は、任意の特定のサイズのシステムに限定されない。代わりに、コンピュータ・システム１００は、典型的には単一ユーザ・ディスプレイおよびキーボード入力のみを含む単一ユーザのシステムであってもよく、直接のユーザ・インターフェースはほとんどまたは全くないが他のコンピュータ・システム（クライアント）からの要求は受信するサーバまたは同様の装置であってもよい。他の実施形態において、コンピュータ・システム１００は、パーソナル・コンピュータ、ポータブル・コンピュータ、ラップトップまたはノート型コンピュータ、ＰＤＡ（携帯情報端末）、テーブル・コンピュータ、ポケット・コンピュータ、電話、ページャ、自動車、通信会議システム、アプライアンス、または任意の他の適切な種類の電子機器として実施されてもよい。
【００２４】
ネットワーク１３０は、任意の適切なネットワークまたはネットワークの組み合わせであってもよく、コンピュータ・システム１００へ、またはそこからのデータまたはコードあるいはその両方の通信に適した任意の適切なプロトコルをサポートしてもよい。様々な実施形態において、ネットワーク１３０は、コンピュータ・システム１００に直接または間接接続される記憶装置または記憶装置の組み合わせを表わしてもよい。一実施形態において、ネットワーク１３０は、インフィニバンドをサポートしてもよい。他の実施形態において、ネットワーク１３０は、無線通信をサポートしてもよい。他の実施形態において、ネットワーク１３０は、電話線またはケーブルのような配線通信をサポートしてもよい。他の実施形態において、ネットワーク１３０は、イーサネットＩＥＥＥ（米国電子電気学会）８０２．３ｘ仕様をサポートしてもよい。他の実施形態において、ネットワーク１３０は、インターネットであってもよく、ＩＰ（インターネット・プロトコル）をサポートしてもよい。他の実施形態において、ネットワーク１３０は、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）であってもよい。他の実施形態において、ネットワーク１３０は、ホットスポット・サービス・プロバイダ・ネットワークであってもよい。他の実施形態において、ネットワーク１３０は、イントラネットであってもよい。他の実施形態において、ネットワーク１３０は、ＧＰＲＳ（汎用パケット無線システム）ネットワークであってもよい。他の実施形態において、ネットワーク１３０は、ＦＲＳ（家族の無線サービス）ネットワークであってもよい。他の実施形態において、ネットワーク１３０は、任意の適切なセルラー・データ・ネットワークまたはセル・ベースの無線ネットワーク技術であってもよい。他の実施形態において、ネットワーク１３０は、ＩＥＥＥ８０２．１１Ｂ無線ネットワークであってもよい。さらに他の実施形態において、ネットワーク１３０は、任意の適切なネットワークまたはネットワークの組み合わせであってもよい。１つのネットワーク１３０が示されているが、他の実施形態においては、任意の数（０を含む）の（同一または互いに異なる種類の）ネットワークがあってもよい。
【００２５】
クライアント１３２は、ブラウザ１３４を含む。ブラウザ１３４は、ユーザ・インターフェース・ページ１５４をダウンロードし、ユーザ・インターフェース・ページ１５４内の制御タグおよびを解釈し、ユーザ・インターフェース・ページ１５４内にあるスクリプト１５６を実行または解釈する。ブラウザ１３４およびスクリプト１５６は、図２〜８を参照して以下にさらに説明するような機能を実行するために、プロセッサ１０１に類似の図示しないプロセッサ上で実行されるか、またはクライアント１３２における図示しないプロセッサ上で実行される命令によって解釈されることができる命令またはステートメントを含む。一実施形態において、スクリプト１５６は、ジャバスクリプト（ＪａｖａＳｃｒｉｐｔ）を介して実施されるが、他の実施形態においては、スクリプト１５６は、アプレット、ＸＭＬ（拡張可能なマークアップ言語）文書、または任意の他の適切な言語またはプロトコルを介して実施されてもよい。ユーザ・インターフェース・ページ１５４は、ＨＴＭＰ（ハイパーテキスト・マーク付け言語）、ＸＭＬ、または他の任意のマーク付け言語を介して実施されてもよい。また、クライアント１３２は、コンピュータ・システム１００について上述したハードウェアまたはソフトウェアあるいはその両方の要素のうちの任意のものまたはすべてを含んでもよい。
【００２６】
ブラウザ１３４、リンク・マネージャ１５０、リンク・データベース１５２、ユーザ・インターフェース・ページ１５４、およびスクリプト１５６は別個の要素として図示されているが、他の実施形態においては、ブラウザ１３４、ユーザ・インターフェース・ページ１５４、およびスクリプト１５６は存在しないか、または使用されず、それらの機能は、リンク・マネージャ１５０によって行われる。また、リンク・マネージャ１５０は、ブラウザ１３４、またはブラウザによって使用されるファイル（例えば、ブックマーク・ファイル、またはユーザが規定したメニュー・エンティティの他の種類）と直接やり取りしてもよい。
【００２７】
図１は、コンピュータ・システム１００、ネットワーク１３０、およびクライアント１３２という主要構成要素を高レベルで代表したものを示すためのものであり、個々の構成要素は、図１に表されたものよりはるかに複雑であってもよく、図１に示すもの以外またはそれらに加える構成要素があってもよく、そのような構成要素の数、種類、および構成は様々であることが理解されるべきである。
【００２８】
図１に示す本発明の様々な実施形態を実施する様々なソフトウェア構成要素は、数多くの方法で実施されてもよく、その方法には、様々なコンピュータ・ソフトウェア・アプリケーション、ルーチン、構成要素、プログラム、オブジェクト、モジュール、データ構造などを使用することが含まれ、以後「コンピュータ・プログラム」または単に「プログラム」と称する。コンピュータ・プログラムは、典型的には、コンピュータ・システム１００におけるさまざまなメモリおよび記憶装置において様々な時に存在し、コンピュータ・システム１００またはクライアント１３２あるいはその両方における１つ以上のプロセッサ１０１によって読み出されて実行されると、コンピュータ・システム１００またはクライアント１３２あるいはその両方に対して、本発明の一実施形態のさまざまな局面を備えるステップまたは要素を実行するのに必要なステップを行わせる、１つ以上の命令を備える。
【００２９】
さらに、本発明の実施形態は、完全に機能するコンピュータ・システムの場合で説明してきたし、かつ今後も説明していくが、本発明の様々な実施形態は、プログラムとして様々な形式で配布されることができ、本発明は、配布を実際に実行するために使用される信号搬送媒体の特定の種類に関わらず、等しく適用される。本実施形態の機能を規定するプログラムは、様々な信号搬送媒体を介して、コンピュータ・システム１００またはクライアント１３２あるいはその両方へ配布されてもよく、当該プログラムには以下のものが含まれるが、これらに限定されるものではない。
【００３０】
（１）例えば、ＣＤ‐ＲＯＭ，ＤＶＤ‐Ｒ，またはＤＶＤ＋Ｒなどの、コンピュータ・システムに装着またはその内部の読み出し専用メモリ装置などの書き込み不可能な記憶媒体上に恒久的に記憶された情報；
【００３１】
（２）ハード・ディスク・ドライブ（例えば、ＤＡＳＤ１２５，１２６，および１２７）、ＣＤ‐ＲＷ，ＤＶＤ‐ＲＷ，ＤＶＤ＋ＲＷ，ＤＶＤ‐ＲＡＭ，またはディスケットなどの書き込み可能な記憶媒体上に記憶された可変情報；または、
【００３２】
（３）例えば、無線通信を含むネットワーク１３０などのコンピュータまたは電話ネットワークを通じるなどして、通信媒体によって搬送される情報。
【００３３】
そのような信号搬送媒体は、本発明の機能を導く機械読み取り可能な命令を有する場合には、本発明の実施形態を表す。
【００３４】
加えて、以後説明する様々なプログラムは、本発明の特定の実施形態において実施されるためのアプリケーションに基づいて識別されてもよい。しかしながら、これに続く特定のプログラムの用語は、便宜上使用されるに過ぎず、よって、本発明の実施形態は、そのような用語によって識別または意図あるいはその両方が行われる任意の特定のアプリケーションにおいてのみ使用されると限定されるべきではない。
【００３５】
図１に示す環境例は、本発明を限定するものではない。実際、本発明の範囲から逸脱せずに、他の代替ハードウェアまたはソフトウェア環境あるいはその両方を使用してもよい。
【００３６】
図２は、本発明に係る、履歴文書間のリンクを作成および維持するための方法のフロー図を示す。以下の方法は、ソース文書を開く（例えば、ブラウザを介してウェブページへ移動する）ことで自動的に実行されることが意図されている。しかしながら、本方法は、代替実施形態においては、ユーザ制御オプションを介してユーザによって手動で開始されてもよい。本方法は、ブロック２００で開始する。ブロック２０２において、ソース文書を開く。次に、ブロック２０４において、ソース文書をスキャンして、文書リンクを見つける。ブロック２０６において、ソース文書において見つかった各文書リンクについて、ソース文書名と文書リンクとを示すリンク・データベース１５２にエントリを追加する。同一のソース文書が以前に開かれている場合には、ブロック２０７に示すように、既存のリンク・データベース・エントリを更新して、ソース文書が最後に開かれてからのリンク構造および編成の変更を反映させる。
【００３７】
ブロック２０８において、妥当なキーワードの検索を、文書リンクによってポイントされた文書に対して行うべきかどうかを判断する。一実施形態において、これは、ウェブ・ブラウザ内のユーザが選択可能なオプションである。行うべきでなければ、制御はブロック２１４へ進む。行うべきであれば、制御はブロック２１０へ進み、妥当なキーワードが文書リンクによってポイントされた文書（すなわち、宛先文書）内で突きとめられる。その後、ブロック２１２に示すように、各妥当なキーワード・エントリについて、エントリをリンク・データベース１５２に追加する。そのエントリは、キーワードと、ソース文書名と、妥当なキーワードを含む宛先文書の文書リンクとを備える。同一の宛先文書が以前に開かれている場合には、ブロック２１３に示すように、既存のリンク・データベース・エントリを更新して、文書が最後に開かれてからの変更を反映させる。本方法は、ブロック２１４において終了する。
【００３８】
図３は、本発明に係る、有用な情報をリンク・データベース１５２から抽出するためのフロー図を示す。以下の方法は、ソース文書を開く（例えば、ブラウザを介してウェブページへ移動する）ことで自動的に実行されることが意図されている。しかしながら、本方法は、代替実施形態においては、ユーザ制御オプションを介してユーザによって手動で開始されてもよい。本方法は、ブロック３００で開始する。ブロック３０２において、本方法は、現在のソース文書について、リンク・データベース内の文書リンク・エントリを検索する。ブロック３０４において、現在のソース文書からのリンクが文書リンク・エントリ内に見つかるかどうかを判断する。見つからない場合は、制御はブロック３１０へ進む。１つ以上のリンクが見つかる場合は、ブロック３０６に示すように、見つかった各エントリを含む逆方向参照のリストを作成する。ブロック３０８において、ユーザは、典型的には一時ブックマーク・フォルダを介して、または分割画面を介して、逆方向参照のリストが提示される。逆方向参照のリストをユーザに提示する他の方法もあり、これも本発明の範囲および精神内に収まる。
【００３９】
ブロック３１０において、ユーザがソース文書から解析された妥当なキーワードに合致するキーワードを含む文書のリストを作成したいかどうかを判断する。一実施形態において、これは、ウェブ・ブラウザ内のユーザが選択可能なオプションである。作成したくない場合は、制御はブロック３２０へ進む。作成したい場合は、ブロック３１２に示すように、現在のソース文書を解析して、妥当なキーワードを決定する。ブロック３１４において、リンク・データベース１５２のキーワード・エントリを検索して、ソース文書から解析された妥当なキーワードが存在しているかどうかを見つける。ブロック３１６において、ソース文書から解析された妥当なキーワードに合致するキーワードを含む文書のリストが作成される。ブロック３１６において、ユーザは、典型的には一時ブックマーク・フォルダを介して、または分割画面を介して、ソース文書から解析された妥当なキーワードに合致するキーワードを含む文書のリストが提示される。ソース文書から解析された妥当なキーワードに合致するキーワードを含む文書のリストをユーザに提示する他の方法もあり、これも本発明の範囲および精神内に収まる。本方法は、ブロック３２０において終了する。
【００４０】
図３の方法は、図２の方法と完全に互換可能であり、２つの方法を並行的または非並行的に実施することもできる。例えば、ユーザは新規のソース文書へ移動し、図２の方法は、任意の文書リンクをリンク・データベースに追加するために、当該文書を分析する。図３の方法は、ソース文書上の文書リンクを分析して、逆方向参照リストまたはソース文書から解析された妥当なキーワードに合致するキーワードを含む文書のリストあるいはその両方を構築してユーザに表示すべきかどうかを判断する。
【００４１】
図４は、本発明が動作するソース文書の一例を示し、概略的に４００に示す。本発明の場合の文書は、以下のものを含むが、これに限定されるものではない。すなわち、ワード・プロセッサ文書、ポータブル・デスクトップ・フォーマット（ＰＤＦ）ファイル、電子メール、ウェブサイト、インスタント・メッセージ、および電子メモである。文書例４００は、ブラウザ１３４内に表示された、ボストン・レッド・ソックスというメジャー・リーグ・ベースボール・チームのウェブサイトである。この文書４００は、いくつかの見出し４０２Ａ〜４０２Ｄによって構成されており、各見出しは、他のウェブサイト（すなわち、宛先文書）に対する１つ以上のユニフォーム・リソース・ロケータ（ＵＲＬ）リンク４０４Ａ〜４０４Ｈを含んでいる。見出し４０２は、ソース文書４００を、ファンが興味を有する様々な分野（例えば、順位表、日程、記事、登録名簿など）に分けて構成している。
【００４２】
本発明の一実施形態において、ソース文書４００がブラウザ１３４によって開けられると、ソース文書は、まず、リンク・マネージャ１５０によって適切な文書リンクを見つけるためにスキャンされる。この場合に、ソース文書４００内には、いくつかの文書リンク（ＵＲＬ）４０４Ａ〜４０４Ｈがある。ソース文書４００において見つかった各文書リンク（ＵＲＬ）４０４Ａ〜４０４Ｈについて、リンク・マネージャ１５０は、ソース文書名（例えば、現在のソース文書についてのＵＲＬ）と宛先文書のＵＲＬとを示すリンク・データベース１５２にエントリを追加する。リンク・データベース１５２は、図５においてより詳細に説明する。一代替実施形態において、スキャン動作は、リンク・マネージャ１５０によって自動的に開始されるのではなく、ユーザによって手動で開始されてもよい。
【００４３】
本発明の一実施形態において、文書リンク（ＵＲＬ）によってポイントされた宛先文書を、妥当なキーワードを見つけるためにスキャンしてもよい。宛先文書内の妥当なキーワードを自動的に決定するやり方の候補の１つとしては、繰り返し使用された言葉や用語について宛先文書を検査することが挙げられる。言葉または句が宛先文書内で繰り返し使用されている場合には、妥当なキーワードとして識別できる。妥当なキーワードを決定する他の手法としては、宛先文書内のテキストのフォント・サイズまたは太字化あるいはその両方を検査することが挙げられる。比較的大きな書体またはフォント・サイズで現れる言葉、または太字のテキスト内に存在する言葉も、妥当なキーワードとして識別できる。宛先文書内の妥当なキーワードのセットの識別のためのいくつかの他の方法を実施することができ、これらも本発明の精神および範囲内である。いったん妥当なキーワードが決定されると、当該キーワードと、宛先文書と、関連ソース文書とを含むエントリが、リンク・データベース１５２に追加される。これは、より完全には図５において説明する。
【００４４】
図５は、本発明に係る、リンク・データベース１５２の一実施形態を示す。リンク・データベース内の各エントリ５００（例えば、エントリ５００Ａ，５００Ｂなど）は、ソース文書識別子５０２と、宛先文書識別子５０４と、オプションとして、キーワード識別子５０６とを含む。図２で先に説明したように、ソース文書がリンク・マネージャ１５０によって解析されると、エントリ５００は、リンク・データベース１５２に書き込まれる。既に解析されたソース文書に関して、エントリが既にリンク・データベース１５２内にある場合には、リンク・マネージャ１５０は、ソース文書に対して後続のアクセスがあると、エントリ５００を更新する。
【００４５】
一例として、図４に戻って、ソース文書からのＵＲＬ４０４Ａ（例えば、ボストン・レッド・ソックスのウェブサイトであるｗｗｗ．ｒｅｄｓｏｘ．ｃｏｍ）は、ニューヨーク・ヤンキースについての記事を含む他のウェブサイトであるｗｗｗ．ｙａｎｋｅｅｓ．ｃｏｍをポイントしている。リンク・マネージャ１５０がボストン・レッド・ソックスのウェブサイト（すなわち、ソース文書）を解析すると、図３に示すように、エントリ５００Ａをリンク・データベース１５２に追加することになり、ｗｗｗ．ｒｅｄｓｏｘ．ｃｏｍをソース文書識別子５０２、ｗｗｗ．ｙａｎｋｅｅｓ．ｃｏｍを宛先文書識別子５０４としてリストにする。
【００４６】
また、リンク・マネージャ１５０は、上述のように、宛先文書を解析して、リンク・データベース１５２に含むべき妥当なキーワードを見つける。図６は、ソース文書（例えば、図４に先に示したボストン・レッド・ソックスのウェブサイト）のＵＲＬ４０４Ｅによってポイントされた「ニューヨーク・ヤンキース、レッド・ソックスとのトレードでスミスを獲得」という表題の宛先文書６０２を示す。上述のように、文書内の妥当なキーワードを識別する１つの方法として、宛先文書内の言葉の存在頻度を判断することが挙げられる。図示の例において、リンク・マネージャ１５０は、「ヤンキース」という言葉が宛先文書６０２（太字のテキストによって示される）内で繰り返し存在していると判断する。よって、エントリ５００Ｂは、図５に示すように、リンク・データベース１５２に追加され、ｗｗｗ．ｒｅｄｓｏｘ．ｃｏｍをソース文書識別子５０２として、ｗｗｗ．ｙａｎｋｅｅｓ．ｃｏｍを宛先文書識別子５０４として、および「ヤンキース」をキーワード識別子５０６としてリストにする。
【００４７】
いったんリンク・データベース１５２にエントリが入り、新規のソース文書が開かれると、リンク・マネージャ１５０は、現在のソース文書について、リンク・データベース１５２内の宛先文書識別子５０４フィールドを検索する。これは、現在開いているソース文書を参照する文書があるかどうかを見つけるために行われる。言い換えれば、ユーザが以前に訪れたことのある文書だけを含む、現在の文書への逆方向参照が識別される（すなわち、ソース文書識別子５０２フィールド）。リンク・マネージャ１５０は、そのような逆方向参照のリストを作成し、逆方向参照のこのリストをユーザに対して提示する。逆方向参照のリストをユーザに提示するために、様々な機構を使用してもよく、これには、ブラウザ１３４内の一時ブックマーク・フォルダの使用に限らず、ユーザが起動した分割画面を使用することが含まれる。
【００４８】
一例として、図４に先に示すボストン・レッド・ソックスのウェブサイトをユーザが訪れたことがあるとし、図５に示すように、いくつかのエントリ５００が、ウェブサイトからリンク・データベース１５２に作成されていると仮定する。ユーザは、ｗｗｗ．ｙａｎｋｅｅｓ．ｃｏｍというウェブサイトを約１週間後に訪問したと仮定する。ユーザがｗｗｗ．ｙａｎｋｅｅｓ．ｃｏｍというウェブサイトへ移動する場合、リンク・マネージャ１５０は、リンク・データベース１５２内の宛先文書識別子５０４フィールドを検索して、ｗｗｗ．ｙａｎｋｅｅｓ．ｃｏｍ（すなわち、現在のソース文書）があるかどうかをみつける。この場合、エントリ５００Ａは、宛先文書識別子５０４フィールド内にｗｗｗ．ｙａｎｋｅｅｓ．ｃｏｍを有しているので、ソース文書識別子５０２フィールドの値（すなわち、ｗｗｗ．ｒｅｄｓｏｘ．ｃｏｍ）が逆方向文書のリストに追加され、これがユーザに提示される。
【００４９】
本発明の一実施形態において、リンク・データベース１５２がキーワード・エントリを有している場合、新規のソース文書が開かれると、リンク・マネージャ１５０は、現在のソース文書を解析して、（宛先文書内のキーワード検索について先に説明した方法を使用して）妥当なキーワードを見つける。その後、リンク・マネージャ１５０は、リンク・データベース１５２内の宛先文書キーワード５０６フィールドを検索して、現在のソース文書から解析された妥当なキーワードが存在しているかどうかを見つける。そのようなキーワードが見つかる場合、ソース文書から解析された妥当なキーワードに合致するキーワードを含む文書のリストが作成される。この文書のリストは、リンク・データベースのソース文書識別子５０２から収集される。その後、この文書のリストは、ユーザに提示される。逆方向参照のリストをユーザに提示するために、様々な機構を使用してもよく、これには、ブラウザ１３４内の一時ブックマーク・フォルダの使用に限らず、ユーザが起動した分割画面を使用することが含まれる。
【００５０】
図６における模式例に示すｓｐｏｒｔｓ．ｃｏｍのｗｗｗ．ｓｐｏｒｔｓ．ｃｏｍというウェブサイトをユーザが訪れると仮定する。ｗｗｗ．ｓｐｏｒｔｓ．ｃｏｍというウェブサイトのホーム・ウェブページを解析して、妥当なキーワードを見つける。「ヤンキース」という言葉が現在のウェブページ上での妥当なキーワードと判断される。なぜならば、存在頻度が比較的高いからである。その後、リンク・マネージャ１５０は、リンク・データベース１５２内の宛先文書キーワード５０６フィールドにおける「ヤンキース」という妥当なキーワードを検索して、「ヤンキース」というキーワードが存在しているかどうかを見つける。エントリ５００Ｂは、「ヤンキース」というキーワードを宛先文書キーワード５０６フィールドに有しているので、対応するソース文書識別子５０２フィールドの値（すなわち、ｗｗｗ．ｒｅｄｓｏｘ．ｃｏｍ）が、合致キーワード参照のリストに追加され、その後、これがユーザに提示される。
【００５１】
本発明の他の局面において、様々なウェブサイトへの複数のリンク（ＵＲＬ）を含むソース文書が開かれると、ソース文書内のこれらのリンクは、図７に示す方法例によって、階層的に編成およびブックマークされる。本方法は、ブロック７０２で開始する。
【００５２】
ブロック７０４において、ユーザは、様々なウェブサイトへの複数のリンク（ＵＲＬ）を含む文書を開く。この処理は、ユーザによって（例えば、ブロック７０６に示すように「階層ブックマークにＵＲＬを保存」のようなプロンプトに答えることによって）明示的に、または代わりに、システムによって自動的に（図示せず）開始することができる。ユーザがリンク（ＵＲＬ）を階層ブックマークとして保存しないことを選択する場合には、処理はブロック７２０において終了する。そうでない場合には、ブロック７０８において、ベース・ブックマーク・フォルダが作成されて、当該フォルダの名前付けは、元の文書名に基づくか、または代わりに、文書からの最も妥当なキーワードから取られる。
【００５３】
次に、ブロック７１０において、ソース文書内にあるリンク（ＵＲＬ）をサブカテゴリに分ける論理グループ化を決定するために、文書の構造が分析される。この分析は、ソース文書の様々な構造面を見ることができ、これらには以下のものが含まれるが、以下のものに限定されるものではない。すなわち、リンク（ＵＲＬ）をグループ化するための見出し、目次、リスト、節、段落、または参照あるいはそれらすべてである。リンク（ＵＲＬ）の編成およびグループ化を強化するために（または、論理グループ化をページ構造に基づいては見つけることができなかった場合には）、ブロック７１２に示すように、リンクの内容およびその周囲のコンテキストが分析されて、各リソースに関連した主なキーワードを解析し、同様のキーワードに基づいてリンクを編成する。その後、複数のサブカテゴリ化の手法（すなわち、グループ化）がユーザにオプションとして提示されてもよく、それによって、ユーザは、その必要性に最も見合うサブカテゴリ化を選択することができる。リンクのグループ化の周辺の文書コンテキストおよびリンク自体内部のコンテキストからのキーワードが解析されて、各論理グループ化毎にフォルダ名を決定する。
【００５４】
ブロック７１４において、ブロック７１２からのキーワードに基づいてサブフォルダが作成されて、適切なリンクが、各サブフォルダ内に配置される。本発明の一実施形態において、ブロック７１６に示すように、リンク周辺のコンテキスト（およびリンク自体の内容）が更新されるにつれてリンクの編成およびグループ化が変更するかどうかをユーザが指定することができるオプションが存在する。ユーザが動的更新を望まない場合には、本方法はブロック７２０において終了する。ユーザが積極的に動的更新オプションを選択する場合には、ブロック７１８に示すように、リンク編成は定期的に更新される。一実施形態において、変更されたリンクは、ブックマーク・フォルダ内で「ゴースト・リンク」を介して、または代わりに、リンクがかつて存在した場所であって、当該リンクの新たな場所へとユーザを導く色あせた場所のマークによって、ユーザに対して表示することができる。
【００５５】
図８は、ソース文書内のリンクが階層的に編成およびブックマークされる、図４のソース文書を示し、概略的に８００に示す。図示の例において、ユーザは、「ボストン・レッド・ソックス」のウェブサイトへウェブ・ブラウザを介して移動する。図示のウェブサイトは、様々な他のウェブサイトをポイントする数多くのリンク（ＵＲＬ）４０４Ａ〜４０４Ｈを含む。その後、ユーザは、当該ページからのＵＲＬを階層ブックマークとして保存させたいかどうかを促される。代わりに、ブックマークは、ブラウザ制御オプションを介して、自動的に保存されるか、または保存されなくてもよい。
【００５６】
現在の文書からのＵＲＬを履歴ブックマークとしてユーザが保存したい場合、現在の文書についてベース・ブックマーク・フォルダが作成される。現在の文書についてのベース・ブックマーク・フォルダの名前は、数多くのやり方で導出できる。図示の実施形態において、ベース・ブックマーク・フォルダは、元の文書名「ｒｅｄｓｏｘ．ｃｏｍ」に基づいて名前付けされる。一代替実施形態において、ベース・ブックマーク・フォルダについての名前は、文書内の妥当なキーワードから導出することもできる。
【００５７】
次に、現在の文書内にあるリンク（ＵＲＬ）についての論理グループ化を決定するために、現在の文書（例えば、ボストン・レッド・ソックスのウェブページ）の構造を分析する。図示の実施形態において、ウェブサイトは、いくつかの見出し（例えば、「順位表」４０２Ａ、「日程」４０２Ｂ、「記事」４０２Ｃ、および「登録名簿」４０２Ｄ）に分割される。これらの見出しは、ページ内のリンク（ＵＲＬ）をカテゴリー化する優れたやり方を提供する。ウェブページについてのハイパーテキスト・マーク付け言語（ＨＴＭＬ）を分析することによって、ＵＲＬとその関連する見出しとの間の関係が決定されてもよい。例えば、ＵＲＬであるｗｗｗ．ｙａｎｋｅｅｓ．ｃｏｍ４０４Ａ、ｗｗｗ．ｒｅｄｓｏｘ．ｃｏｍ４０４Ｂ、ｗｗｗ．ｏｒｉｏｌｅｓ．ｃｏｍ４０４Ｃ、およびｗｗｗ．ｂｌｕｅｊａｙｓ．ｃｏｍ４０４Ｄが、「順位表」という見出しの下にグループ化される。ボストン・レッド・ソックスのウェブページ上の記事をポイントするＵＲＬ、すなわち、ｗｗｗ．ｓｐｏｒｔｓ．ｃｏｍ４０４Ｅおよびｗｗｗ．ｂｏｓｔｏｎｇｌｏｂｅ．ｃｏｍ４０４Ｆが、「記事」という見出しの下にグループ化される。最後に、「登録名簿」という見出しの下の選手のウェブサイトをポイントするＵＲＬ、すなわち、ｗｗｗ．ｃｕｒｔｓｈｉｌｌｉｎｇ．ｃｏｍ４０４Ｇおよびｗｗｗ．ｄａｖｉｄｏｒｔｉｚ．ｃｏｍ４０４Ｈが、「登録名簿」という見出しの下にグループ化される。
【００５８】
本発明の他の実施形態において、文書内のＵＲＬをグループ化するために、ソース文書の他の構造面（例えば、見出し、目次、リスト、節、段落）を分析してもよい。そのような一実施形態において、ユーザは、様々な種類の構造上のグループ化に基づくキーワードについての複数のグループ化手法の候補が提示され、ユーザは、その要求を最も反映する手法を選択してもよい。
【００５９】
次に、各見出しについて、ベース・ブックマーク・フォルダの下にサブフォルダが作成され、各見出しに対応するリンクが、対応するサブフォルダに移動され、その後、８０２に示すように、ブラウザのオプションとしてユーザに表示される。このように、この文書（例えば、ウェブページ）内に存在するＵＲＬが階層的に編成されて、今後の参照に使用可能である。図示の例において、ソース文書内の見出しに対応して、１つのレベルのサブフォルダのみが作成されている。サブフォルダのさらなる階層レベルを作成することもでき、これも本発明の範囲および精神内にあることに注意されたい。例えば、「順位表」という見出しの下に、「アメリカン・リーグ」および「ナショナル・リーグ」という副見出しがあってもよい。これらの副見出しを使用して、「順位表」というサブフォルダの下に対応するサブフォルダを作成してもよい。
【００６０】
本発明の実施形態例の以上の詳細な説明において、添付の図面を参照した（同様の数字は同様の要素を表す）。添付の図面は、本明細書の一部を構成し、添付の図面において示されているのは、本発明が実施されるであろう特定の実施形態例である。これらの実施形態は、当業者が本発明の実施できるのに充分に詳細に説明されているが、他の実施形態を使用してもよく、論理的、機械的、電気的、または他の変更が、本発明の範囲を逸脱することなく行われてもよい。本明細書内で使用されているような「実施形態」という言葉の別の事例は、必ずしも同一の実施形態を指すものではないが、そういう場合もある。従って、上述の詳細な説明は、限定的な意味で受け取られるものではなく、本発明の範囲は、添付の請求項によってのみ規定される。
【００６１】
上述の説明において、本発明の完全な理解を提供するために、数多くの具体的な詳細を述べた。しかしながら、本発明は、これらの具体的な詳細なしで実施されてもよい。他の事例における、周知の回路、構造、および手法は、本発明を不明瞭にしないために詳細に説明しなかった。
【図面の簡単な説明】
【００６２】
【図１】本発明の一実施形態を実施するためのシステム例の高レベルのブロック図を示す。
【図２】本発明に係る、履歴文書間のリンクを作成および維持するための方法のフロー図を示す。
【図３】本発明に係る、有用な情報をリンク・データベースからユーザへ抽出および提示するためのフロー図を示す。
【図４】本発明が動作する文書の一例を示す。
【図５】本発明に係る、リンク・データベースの一実施形態を示す。
【図６】本発明が動作するウェブサイトの一例を示す。
【図７】本発明に係る所定の文書内の様々なウェブサイトに対する複数のリンク（ＵＲＬ）を編成および階層的にブックマークするための方法のフロー図である。
【図８】本発明に係る、ソース文書内のリンクが階層的に編成およびブックマークされる、図４のソース文書を示す。
【符号の説明】
【００６３】
１００  コンピュータ・システム
１０１  プロセッサ
１０１Ａ〜１０１Ｄ  ＣＰＵ
１０２  メモリ
１０３  メモリ・バス
１０４  Ｉ／Ｏバス
１０５  Ｉ／Ｏバス・インターフェース
１１１  端末インターフェース
１１２  記憶装置インターフェース
１１３  Ｉ／Ｏインターフェース
１１４  ネットワーク・インターフェース
１２１〜１２４  ユーザ端末
１２５〜１２７  ＤＡＳＤ
１２８  プリンタ
１２９  ファックス機
１３０  ネットワーク
１３２  クライアント
１３４  ブラウザ
１５０  リンク・マネージャ
１５２  リンク・データベース
１５４  ユーザ・インターフェース・ページ
１５６  スクリプト
【図１】
0005186099.tif 000002
【図２】
0005186099.tif 000003
【図３】
0005186099.tif 000004
【図４】
0005186099.tif 000005
【図５】
0005186099.tif 000006
【図６】
0005186099.tif 000007
【図７】
0005186099.tif 000008
【図８】
0005186099.tif 000009