(57)【要約】  ソース資源に関連付けられた関係データ構造体によって、ソース資源と複数のターゲット資源との間の関係を発見する方法及び記述する方法が可能になる。関係は、ソース資源の符号化とは独立したフォーマットで記憶される。ソース資源と複数のターゲット資源との間の各関係は、コンテンツに中立なフォーマットで記憶され、関係データ構造体は、各ターゲット資源のロケーションと、各ターゲット資源との関係のタイプと、ソース資源と各ターゲット資源との間の各関係を一意に識別する識別子とを記憶する。したがって、この関係データ構造体によって、復号器は、ソース資源もターゲット資源も復号することなく、ソース資源と複数のターゲット資源との間の関係を直接発見することが可能になる。【選択図】  図４
2008537259.tif 000002
【特許請求の範囲】
【請求項１】
ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を記述する方法であって、前記１つ又は複数の関係は、前記ソース資源の符号化とは独立したフォーマットで符号化され、該方法は、
関係スキーマを定義する名前空間を選択すること、
前記１つ又は複数の関係及び前記関係スキーマに基づいて関係データ構造体（relationship data structure）をポピュレートすること、
前記１つ又は複数の関係を前記関係データ構造体に記憶すること、及び
前記関係データ構造体を前記ソース資源に関連付けること
を含む、ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を記述する方法。
【請求項２】
請求項１に記載のソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を記述する方法において、前記１つ又は複数のターゲット資源は、ローカル資源、外部資源、及び関連資源から成る群から選択される資源である、ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を記述する方法。
【請求項３】
請求項１に記載のソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を記述する方法において、前記ソース資源及び前記１つ又は複数のターゲット資源はパッケージである、ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を記述する方法。
【請求項４】
請求項１に記載のソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を記述する方法において、前記関係データ構造体をポピュレートすることは、
前記１つ又は複数の関係を識別する識別情報を取り出すこと、及び
取り出された前記識別情報が有効であることを、前記関係スキーマを利用することによって確認すること
をさらに含む、ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を記述する方法。
【請求項５】
請求項１に記載のソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を記述する方法において、前記関係データ構造体を前記ソース資源に関連付けることは、
前記ソース資源のロケーションに関連のあるアドレスに前記関係データ構造体を記憶すること
をさらに含む、ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を記述する方法。
【請求項６】
請求項５に記載のソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を記述する方法において、前記ソース資源のロケーションに関連のある前記アドレスは、前記ソース資源の前記ロケーションにサブフォルダをアドレス指定する、ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を記述する方法。
【請求項７】
請求項１に記載のソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を記述する方法を実行するコンピュータ実行可能命令を有するコンピュータ可読媒体。
【請求項８】
プロセッサ、メモリ、及び動作環境を有するコンピュータシステムであって、請求項１に記載のソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を記述する方法を実行するように動作可能なコンピュータシステム。
【請求項９】
ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を発見する方法であって、該１つ又は複数の関係は、前記ソース資源の符号化又は前記１つ又は複数のターゲット資源の符号化とは独立したフォーマットで符号化され、該方法は、
前記ソース資源を突き止めること、
関係データ構造体が前記ソース資源に関連付けられているか否かを判断すること、
前記ソース資源を復号することなく前記１つ又は複数の関係を復号すること、及び
前記１つ又は複数の関係を表示すること
を含む、ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を発見する方法。
【請求項１０】
請求項９に記載のソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を発見する方法において、前記ソース資源又は前記１つ又は複数のターゲット資源は安全な資源である、ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を発見する方法。
【請求項１１】
請求項９に記載のソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を発見する方法において、前記ソース資源及び前記１つ又は複数のターゲット資源は、パックＵＲＩを使用してアドレス指定される、ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を発見する方法。
【請求項１２】
請求項９に記載のソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を発見する方法において、前記ソース資源を復号することなく前記１つ又は複数の関係を復号することは、
前記１つ又は複数の関係を復号する前に、前記関係データ構造体のスキーマを求めること、及び
前記スキーマを利用することであって、それによって、前記関係データ構造体に記憶されている前記１つ又は複数の関係を復号する、スキーマを利用すること
をさらに含む、ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を発見する方法。
【請求項１３】
請求項９に記載のソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を発見する方法において、前記関係データ構造体が前記ソース資源に関連付けられているか否かを判断することは、
前記ソース資源のロケーションにサブフォルダが存在することをチェックすること
をさらに含む、ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を発見する方法。
【請求項１４】
請求項１３に記載のソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を発見する方法において、前記サブフォルダは、前記ソース資源の前記ロケーションに関連のあるアドレスに配置される、ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を発見する方法。
【請求項１５】
請求項９に記載のソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を発見する方法を実行するコンピュータ実行可能命令を有するコンピュータ可読媒体。
【請求項１６】
プロセッサ、メモリ、及び動作環境を有するコンピュータシステムであって、請求項９に記載のソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を発見する方法を実行するように動作可能なコンピュータシステム。
【請求項１７】
コンピュータ可読媒体上に記憶されて、ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係に対応するデータを提供する関係データ構造体であって、
前記１つ又は複数の関係のうちの１つの関係を一意に識別する識別情報と、
前記１つ又は複数のターゲット資源のうちの１つのターゲット資源のロケーションを指定するターゲット情報と、
前記ソース資源と前記ターゲット資源との間の前記関係を定義するタイプ情報と
を含む関係データ構造体。
【請求項１８】
請求項１７に記載の関係データ構造体であって、前記関係を復号する時に支援するセマンティク情報をさらに含む、関係データ構造体。
【請求項１９】
請求項１７に記載の関係データ構造体において、前記関係データ構造体に記憶されている前記１つ又は複数の関係は入れ子にされて（nested）いる、関係データ構造体。
【請求項２０】
請求項１７に記載の関係データ構造体において、前記関係データ構造体は、前記ソース資源を記述するメタデータを含む、関係データ構造体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には、関係管理（relationship management）に関する。具体的には、関係データ構造体を参照することによって資源間の関係を発見するシステム及び方法が提供される。
【背景技術】
【０００２】
現在、ウェブページ、画像及び動画等のドキュメントは、一般に、コンテンツ特有の符号化及びアプリケーション特有の符号化を含む２つのタイプの符号化で符号化される。ドキュメントは、そのドキュメントと別のドキュメントとの間の関係を規定する関係情報を含むことができる。関係情報は、ドキュメントのコンテンツ特有の符号化又はアプリケーション特有の符号化で符号化される。
【０００３】
復号器は、関係情報を抽出するために、ドキュメントがどのように符号化されているかを知らなければならない。復号器は、ドキュメント全体を復号して関係情報を抽出することにより、ドキュメント内の関係情報を抽出する。関係情報は、復号器がドキュメントの符号化を理解していない場合に抽出されない。
【０００４】
復号器が、暗号化又はデジタル署名されている安全なドキュメントの関係情報を見ようとするか又は更新しようとする時に、問題が引き起こされる。安全なドキュメントが暗号化されている場合、復号器は、安全なドキュメント及び関係情報がどのように符号化されているかを知らないので、安全なドキュメントを復号できず、ドキュメント内の関係情報を抽出できない。その上、安全なドキュメントがデジタル署名されている場合、復号器は、安全なドキュメントを復号でき、関係情報を抽出できる。しかしながら、ドキュメントの復号及び関係情報の抽出は、ドキュメントが最後にアクセスされた日付を追跡するドキュメント属性を変更する場合があるので、ドキュメントの復号及び関係情報の抽出は、デジタル署名を無効にする場合がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、少なくとも上記の理由により、ドキュメントを復号することなく、ドキュメントの内部関係及び外部関係を素早く発見する方法が必要とされている。
【課題を解決するための手段】
【０００６】
当該技術分野におけるこれらの問題及び他の問題は、ソース資源もターゲット資源も復号することなく、ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係の発見を可能にする関係データ構造体を提供することによって解決される。
【０００７】
関係データ構造体は、コンピュータ可読媒体に記憶され、ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を記述する。関係データ構造体の各関係は、ソース資源と１つ又は複数のターゲット資源のうちの１つのターゲット資源との間の１つの関係を一意に識別する識別情報と、このターゲット資源のロケーションを指定するターゲット情報と、ソース資源とこのターゲット資源との間の関係のセマンティクスを定義するタイプ情報とを含む。
【０００８】
また、関係データ構造体は、ソース資源に関連付けられ、それによって、ソース資源と複数のターゲット資源との間の複数の関係を記述する方法であって、これら複数の関係が、ソース資源の符号化又はターゲット資源の符号化とは独立したフォーマットで符号化される、方法を可能にする。複数の関係を記述する方法は、関係スキーマを定義する名前空間を選択すること、複数の関係及び関係スキーマに基づいて関係データ構造体をポピュレートすること、並びに複数の関係を関係データ構造体に記憶することを含む。
【０００９】
その上、関係データ構造体は、ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を発見する方法を可能にする。１つ又は複数の関係を発見するために、ソース資源のロケーションが求められる。その後、ソース資源のロケーションは、関係データ構造体がソース資源に関連付けられているか否かを確認するのに使用される。関係データ構造体がソース資源に関連付けられている場合、１つ又は複数の関係は、関係スキーマに従って復号され、１つ又は複数の復号された関係が表示される。
【００１０】
したがって、関係データ構造体は、ソース資源もターゲット資源も復号することなく、ソース資源と複数のターゲット資源との間の関係へのアクセスを提供する。解決がより高速になり、関係をコンテンツに中立なフォーマット（content-neutral format）で記憶できるので、関係データ構造体により、異種システムとのより高速な通信が容易になる。
【００１１】
さらなる利点及び新規な特徴は、以下の説明で述べられ、一部は、以下を検討することにより当業者に明らかになる場合もあるし、本発明を実施することによって分かる場合もある。
【００１２】
本発明は、以下で添付図面に関して詳細に説明される。
【発明を実施するための最良の形態】
【００１３】
本発明の一実施形態は、関係データ構造体を利用して、ソース資源と１つ又は複数のターゲット資源との間の１つ又は複数の関係を発見する。ソース資源及びターゲット資源は、「Pack URI Scheme to Identify and Reference Parts of a Package」に記載されているようなパックプロトコル（pack protocol）を使用してアドレス指定可能なパッケージとすることができる。関係データ構造体は、ソース資源に関連付けられ、コンテンツに中立なフォーマットで記憶される。
【００１４】
図１は、本発明を実施するようになっているコンピューティング環境を示すブロック図である。このコンピューティングシステム環境１００は、適したコンピューティング環境の一例にすぎず、使用又は機能性の範囲に関して何ら限定を示唆することを目的とするものではない。また、コンピューティング環境１００は、この例示的な動作環境１００に示すコンポーネントのいずれか１つ又は組み合わせに関するあらゆる依存関係も要件も有するものと解釈されるべきではない。
【００１５】
本発明は、多数の他の汎用又は専用のコンピューティングシステム環境又はコンピューティングシステム構成で動作可能である。本発明と共に使用するのに適し得る既知のコンピューティングシステム、コンピューティング環境、及び／又はコンピューティング構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイス又はラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラマブル民生電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記システム又はデバイスのいずれかを含む分散コンピューティング環境等が含まれるが、これらに限定されるものではない。
【００１６】
本発明は、コンピュータによって実行されるプログラムモジュール等のコンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するか又は特定の抽象データタイプを実行するルーチン、プログラム、オブジェクト、コンポーネント、データ構造体等が含まれる。また、本発明は、タスクが、通信ネットワークを通じてリンクされるリモート処理デバイスにより実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールは、メモリストレージデバイスを含むローカルコンピュータストレージ媒体及びリモートコンピュータストレージ媒体の双方に配置することができる。
【００１７】
図１について、本発明を実施するための１つの例示的なシステムは、コンピュータ１１０の形の汎用コンピューティングデバイスを含む。コンピュータ１１０のコンポーネントは、処理ユニット１２０、システムメモリ１３０、及びシステムバス１２１を含むことができるが、これらに限定されるものではない。システムバス１２１は、システムメモリを含むさまざまなシステムコンポーネントを処理ユニット１２０に結合する。システムバス１２１は、いくつかのタイプのバス構造のうちの任意のものとすることができる。バス構造には、メモリバス又はメモリコントローラ、周辺バス、及びさまざまなバスアーキテクチャのうちのいずれかを使用するローカルバスが含まれる。限定ではなく一例として、このようなアーキテクチャには、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、エンハンストＩＳＡ（ＥＩＳＡ）バス、ビデオエレクトロニクス標準化団体（ＶＥＳＡ）ローカルバス、周辺機器相互接続エクスプレス（ＰＣＩエクスプレス）、及びメザニン（Mezzanine）バスとしても知られている周辺機器相互接続（ＰＣＩ）バスが含まれる。
【００１８】
コンピュータ１１０は、通常、さまざまなコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０がアクセスできるあらゆる利用可能な媒体とすることができ、コンピュータ可読媒体には、揮発性媒体及び不揮発性媒体の双方、着脱可能媒体及び着脱不能媒体の双方が含まれる。限定ではなく一例として、コンピュータ可読媒体には、コンピュータストレージ媒体及び通信媒体が含まれ得る。コンピュータストレージ媒体には、コンピュータ可読命令、データ構造体、プログラムモジュール又は他のデータ等の情報を記憶するためのあらゆる方法又は技術で実施される揮発性及び不揮発性の着脱可能媒体及び着脱不能媒体が含まれる。コンピュータストレージ媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、若しくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、若しくは他の磁気ストレージデバイス、又は、所望の情報を記憶するのに使用できると共にコンピュータ１１０がアクセスできる他のあらゆる媒体が含まれるが、これらに限定されるものではない。通信媒体は、通常、コンピュータ可読命令、データ構造体、プログラムモジュール、又は他のデータを搬送波や他のトランスポートメカニズム等の変調されたデータ信号に具現化し、通信媒体にはあらゆる情報配信媒体が含まれる。「変調されたデータ信号」という用語は、信号に情報を符号化するような方法で設定又は変更された特性の１つ又は複数をその特性として有する信号を意味する。限定ではなく一例として、通信媒体には、有線ネットワーク又は直接配線接続等の有線媒体、及び、音響媒体、ＲＦ媒体、赤外線媒体及び他の無線媒体等の無線媒体が含まれる。上記のうちのいずれかを組み合わせたものも、コンピュータ可読媒体の範囲内に含まれるべきである。
【００１９】
システムメモリ１３０は、読み出し専用メモリ（ＲＯＭ）１３１やランダムアクセスメモリ（ＲＡＭ）１３２等の揮発性メモリ及び／又は不揮発性メモリの形のコンピュータストレージ媒体を含む。立ち上げ期間中等にコンピュータ１１０内のエレメント間での情報の転送を助ける基本ルーチンを含んだ基本入出力システム１３３（ＢＩＯＳ）は、通常、ＲＯＭ１３１に記憶されている。ＲＡＭ１３２は、通常、処理ユニット１２０に即座にアクセス可能であり且つ／又は処理ユニット１２０によって現在操作されているデータ及び／又はプログラムモジュールを収容している。限定ではなく一例として、図１は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、及びプログラムデータ１３７を示している。
【００２０】
コンピュータ１１０は、他の着脱可能／着脱不能な揮発性／不揮発性コンピュータストレージ媒体も含むことができる。単なる一例として、図１は、ハードディスクドライブ１４０、磁気ディスクドライブ１５１、及び光ディスクドライブ１５５を示している。ハードディスクドライブ１４０は、着脱不能な不揮発性磁気媒体からの読み出し及び着脱不能な不揮発性磁気媒体への書き込みを行う。磁気ディスクドライブ１５１は、着脱可能な不揮発性磁気媒体１５２からの読み出し及び着脱可能な不揮発性磁気媒体１５２への書き込みを行う。光ディスクドライブ１５５は、ＣＤ−ＲＯＭや他の光媒体等の着脱可能な不揮発性光ディスク１５６からの読み出し又は着脱可能な不揮発性光ディスク１５６への書き込みを行う。この例示的な動作環境で使用できる他の着脱可能／着脱不能な揮発性／不揮発性コンピュータストレージ媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ等が含まれるが、これらに限定されるものではない。ハードディスクドライブ１４１は、通常、インターフェース１４０等の着脱不能メモリインターフェースを通じてシステムバス１２１に接続され、磁気ディスクドライブ１５１及び光ディスクドライブ１５５は、通常、インターフェース１５０等の着脱可能メモリインターフェースによってシステムバス１２１に接続されている。
【００２１】
上述すると共に図１に示すドライブ及びそれらに関連するコンピュータストレージ媒体は、コンピュータ１１０のコンピュータ可読命令、データ構造体、プログラムモジュール、及び他のデータのストレージを提供する。図１では、たとえば、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、及びプログラムデータ１４７を記憶するものとして示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、及びプログラムデータ１３７と同じものとすることもできるし、異なるものとすることもできることに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、及びプログラムデータ１４７には、最低でも、それらが異なるコピーであることを示すために、ここでは、異なる番号が与えられている。ユーザは、キーボード１６２及びポインティングデバイス１６１等の入力デバイスを通じて処理ユニット１２０にコマンド及び情報を入力することができる。ポインティングデバイス１６１は、一般にマウス、トラックボール、又はタッチパッドと呼ばれる。他の入力デバイス（図示せず）には、マイク、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナ等が含まれ得る。これらの入力デバイス及び他の入力デバイスは、多くの場合、システムバスに結合されたユーザ入力インターフェース１６０を通じて処理ユニット１２０に接続されているが、パラレルポート、ゲームポート及びユニバーサルシリアルバス（ＵＳＢ）等の他のインターフェース及びバス構造によって接続することもできる。モニタ１９１又は他のタイプの表示デバイスも、ビデオインターフェース１９０等のインターフェースを介してシステムバス１２１に接続されている。コンピュータは、モニタに加えて、スピーカ１９７やプリンタ１９６等の他の周辺出力デバイスも含むことができ、これらの周辺出力デバイスは、出力周辺インターフェース１９０を通じて接続することができる。
【００２２】
コンピュータ１１０は、リモートコンピュータ１８０等の１つ又は複数のリモートコンピュータへの論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、又は他の一般的なネットワークノードとすることができ、図１には記憶装置（memory storage device）１８１しか示されていないが、リモートコンピュータ１８０は、通常、コンピュータ１１０に関して上述したエレメントの多く又は全てを含む。図１に示す論理的接続には、ローカルエリアネットワーク（ＬＡＮ）１７１及びワイドネットワーク（ＷＡＮ）１７３が含まれるが、他のネットワークを含めることもできる。このようなネットワーキング環境は、オフィス、企業規模コンピュータネットワーク、イントラネット、及びインターネットで一般的である。
【００２３】
コンピュータ１１０は、ＬＡＮネットワーキング環境で使用されるときは、ネットワークインターフェース又はアダプタ１７０を通じてＬＡＮ１７１に接続される。コンピュータ１１０は、ＷＡＮネットワーキング環境で使用されるときは、通常、インターネット等のＷＡＮ１７３上の通信を確立するためのモデム１７２又は他の手段を含む。モデム１７２は内蔵又は外付けとすることができ、ユーザ入力インターフェース１６０又は他の適切なメカニズムを介してシステムバス１２１に接続することができる。ネットワーク環境では、コンピュータ１１０に関して示したプログラムモジュール又はその一部は、リモートのメモリストレージデバイスに格納することができる。限定ではなく一例として、図１は、リモートアプリケーションプログラム１８５を、メモリデバイス１８１に存在するものとして示している。図示したネットワーク接続は例示であり、コンピュータ間の通信リンクを確立する他の手段を使用することもできることが十分理解されよう。
【００２４】
図２は、ネットワーク環境２００に記憶されているパッケージ２１０、並びに、ソース資源２１１と複数のターゲット資源２１３〜２１５及び２２１との間の複数の関係を示している。
【００２５】
図１及び図２について、パッケージ２１０は、コンピュータ１１０に記憶されている。コンピュータ１１０は、パッケージ２１０の現在のロケーションに関連のある（relative）アドレスに複数の他のパッケージを記憶する。パッケージ２１０は、ソース資源２１１、関係資源２１２、及びターゲット資源２１３〜２１５を記憶するコンテナである。パッケージ２１０は、複数の他のソース資源及びターゲット資源（図示せず）も収容することができる。
【００２６】
ソース資源２１１は、たとえば、画像、ウェブページ、ドキュメント、ビデオ又はパッケージ２１０と同様のパッケージ等のファイルとすることができる。ソース資源２１１は、ターゲット資源２１３〜２１５及び２２１に関係付けられている。図示しないが、ソース資源２１１は、パッケージ２１０に関連のある或るパッケージに収容されたターゲット資源にも関係付けることができる。ソース資源２１１は、関係資源２１２に関連付けられている。ソース資源２１１は、関係の源となる資源である。
【００２７】
ターゲット資源２１３〜２１５及び２２１は、たとえば、画像ファイル、ウェブページ、ドキュメント、ビデオ又はパッケージ２１０と同様のパッケージ等のファイルとすることができる。ターゲット資源２１３〜２１５は、ソース資源２１１に対してローカルな資源であるのに対して、ターゲット資源２２１は、ネットワーク２３０を介してアクセス可能なリモートコンピュータ１８０に記憶されている外部資源である。ターゲット資源２２１は、リモートコンピュータ１８０のデータベース２２０に記憶されている。ターゲット資源２１３〜２１５及び２２１は、関係が終端する資源である。一方、ターゲット資源２１３〜２１５及び２２１は、そのターゲット資源が関係資源２１２と同様の関係資源に関連付けられる時、ソース資源に関連する特性を呈することができる。
【００２８】
関係資源２１２は、ソース資源２１１がターゲット資源２１３〜２１５及び２２１に関係付けられていることを示す情報を記憶する。この情報は、関係情報と呼ばれ、資源階層を構築するか又はソース資源２１１についてのメタデータを提供するのに使用することができる。関係資源２１２のさらに詳細な内容は、図３について以下で開示される。
【００２９】
図３は、本発明によって利用される関係データ構造体３００を示している。図２及び図３について、関係データ構造体３００は、関係資源２１２を定義する。関係（複数）（Relationships）タグ３１０は、ソース資源と複数のターゲット資源との間の複数の関係を定義する。関係（複数）タグ３１０は、複数の関係のスキーマ及びセマンティクスを定義する名前空間エレメント３１５を含むことができる。スキーマ及びセマンティクスは、関係データ構造体のコンテンツに中立な符号化（content-neutral encoding）を定義することができる。
【００３０】
関係（Relationship）タグ３２０は、ソース資源と複数のターゲット資源のうちの１つのターゲット資源との間の単一の関係を定義する。複数の関係タグ３２０は、関係（複数）タグ３１０内にネストさせることができる。関係タグ３２０は、識別情報（ID）エレメント３２５、タイプ（Type）エレメント３２６、ターゲット（Target）エレメント３２７、及びターゲットベース（TargetBase）エレメント３２８を含む。
【００３１】
識別情報エレメント３２５は、関係（複数）タグ３１０内の関係を一意に識別する。識別情報エレメント３２５は、変更することができず、拡張可能マークアップ言語（ＸＭＬ）の識別子等の有効な識別子でなければならない。この識別子の有効性は、たとえば、ＸＭＬスキーマ等、名前空間エレメント３１５によって指定されるスキーマに従って検証される。
【００３２】
タイプエレメント３２６は、名前空間エレメント３１５又はアプリケーションプログラムによって指定される値の範囲に制限することができる。タイプエレメント３２６は、関係のセマンティクスをさらに定義する。たとえば、タイプエレメント３２６は、ソース資源がターゲット資源を要する又は必要とする（require or need）か否かを定義することができる。
【００３３】
タイプエレメント３２６と同様に、ターゲットベースエレメント３２８は、ソース資源とターゲット資源との間の関係のセマンティクスをさらに定義する。ターゲットベースエレメント３２８は、ターゲット資源が、内部であるのか、ローカルであるのか、関連があるのか、それとも外部であるのかを定義することができる。
【００３４】
ターゲットエレメント３２７は、ターゲット資源のロケーションを定義する。ロケーションは、パック統一資源識別子（Pack Uniform Resource Identifier）（ＵＲＩ）、絶対統一資源位置指定子（ＵＲＬ）、又は相対ＵＲＬ等のアドレス識別子とすることができる。パックＵＲＩは、パッケージを参照するのに利用されるアドレス指定方式である。パックＵＲＩアドレス指定方式によって、パッケージ全体の要求又はパッケージに収容されている特定の資源の要求が可能になる。パックＵＲＩアドレス指定方式の詳細な説明は、「Pack URI Scheme to Identify and Reference Parts of a Package」という発明の名称の同時係属中の出願に開示されている。この出願は、参照により援用されている。
【００３５】
したがって、関係データ構造体３１０によって、ユーザは、パッケージ内のローカルなターゲット資源、パッケージ外の異なるコンピュータにおける絶対位置に配置されている外部のターゲット資源、及びパッケージに関連のある位置に配置された関連ターゲット資源との関係を発見及び記述することが可能になる。その上、関係データ構造体３１０は、ソース資源メタデータを記憶するロケーションも提供する。メタデータ情報は、印刷データや表示データ等、注釈及び記述データを含む。
【００３６】
図４は、図３の関係データ構造体３１０を作成する方法を示す、本発明の一実施形態のフローチャートである。ステップＳ４１０において、アプリケーション又はユーザが、ソース資源との関係を追加する要求を生成する。次に、ステップＳ４２０において、ソース資源のロケーションが求められる。ソース資源のロケーションが求められると、ステップ４３０において、関係データ構造体の存在を検証するチェックが開始される。関係データ構造体が存在する場合、ステップＳ４５０において、関係が新しいことを検証する後続のチェックが行われる。関係が新しいか又は変更されたものである場合には、その関係は、関係データ構造体に記憶され、そうでない場合には、その関係は、重複した関係であり、記憶されない。代替的な一実施形態では、関係は、名前空間エレメント３１５によって指定されるスキーマ及びセマンティクスに従って記憶される。
【００３７】
関係データ構造体が存在しない場合、ステップＳ４４０において、関係データ構造体がインスタンス化されて、ソース資源に関連付けられる。関係データ構造体を、ソース資源のロケーションに関連のあるロケーションにフォルダ等のコンテナを作成することにより、ソース資源に関連付けることができる。その後、関係データ構造体はそのコンテナに記憶される。本発明の一実施形態では、ソース資源が、たとえば、/content/spine.xmlに配置されている場合、関係データ構造体は、/content/_rels/においてインスタンス化されて、「spine.xml.rels」という名前を与えられる。この命名規則に準拠するために、関係データ構造体を、ソース資源のロケーションに配置された「_rels」と呼ばれるサブコンテナに記憶することができ、関係データ構造体の名前は、ソース資源の名前に「.rels」を連結したものとなる。同様の命名規則を使用してすべての関係データ構造体をすべてのソース資源と関連付けることにより、ソース資源のロケーションに基づいた関係データ構造体への効率的なアクセスが可能になる。
【００３８】
関係データ構造体は、インスタンス化された後、たとえば、識別情報、ターゲット情報又はタイプ情報等の関係情報でポピュレートされる。この関係情報は、次に、ステップ４６０において記憶され、関係情報のその後の取り出しが可能になる。
【００３９】
図５は、図３の関係データ構造体を参照することによって１つ又は複数の関係を発見する方法を示す、本発明の別の実施形態のフローチャートである。
【００４０】
ステップＳ５１０における関係データ構造体を復号するユーザ又はアプリケーションの関係要求に応答して、ステップＳ５２０において、ソース資源が関係データ構造体に関連付けられているか否かを確認するチェックが行われる。ソース資源が関係データ構造体に関連付けられていない場合、関係データ構造体は復号されない。他方、関係データ構造体が存在する場合、ステップＳ５３０において、そのデータ構造体の名前空間が求められる。次に、ステップＳ５４０において、復号器又はリーダが関係を復号する。復号後、ステップＳ５５０において、１つ又は複数の関係を表示することができる。代替的な一実施形態では、関係の復号は、名前空間エレメント３１５によって指定されたスキーマ及びセマンティクスを利用する。
【００４１】
したがって、複数のターゲット資源に関係付けられているソース資源は、上述した方法に従って発見される複数の関係を有する。加えて、本発明の実施形態によって、復号器は、ソース資源を復号することなく、ソース資源に関連する複数の関係を復号することが可能になる。復号器は、複数の関係のコンテンツ符号化がソース資源の符号化又はターゲット資源の符号化と異なるフォーマットであるときも、関係を復号することができる。したがって、安全な又は暗号化されているソース資源及びターゲット資源のセキュリティを破ることなく、安全な又は暗号化されているソース資源とターゲット資源との間の関係を求めることができる。
【００４２】
本発明の上記説明は例示であり、当業者は、構成及び実施態様の変更を思いつくであろう。たとえば、本発明は図１〜図５について一般的に説明されているが、それらの説明は例示的である。したがって、本発明の範囲は、添付の特許請求の範囲によってのみ限定されるべきである。
【図面の簡単な説明】
【００４３】
【図１】本発明を実施するようになっているコンピューティング環境を示すブロック図である。
【図２】ネットワーク環境に記憶されたパッケージ、及び、ソース資源と複数のターゲット資源との間の複数の関係を示す図である。
【図３】本発明によって利用される関係データ構造体である。
【図４】図３の関係データ構造体を作成する方法を示す、本発明の一実施形態のフローチャートである。
【図５】図３の関係データ構造体を参照することによって１つ又は複数の関係を発見する方法を示す、本発明の別の実施形態のフローチャートである。
【図１】
2008537259.tif 000003
【図２】
2008537259.tif 000004
【図３】
2008537259.tif 000005
【図４】
2008537259.tif 000006
【図５】
2008537259.tif 000007
【国際調査報告】
2008537259.tif 000008