(57)【要約】  装置が、１つ以上のプロセッサに結合されたデータ記憶装置と、データベース構造内に含まれ、かつ階層データツリー内に編成された、複数のデータ要素と、命令とを含み、命令は、ネットワーク位置識別子をクライアントコンピュータから受信するステップであって、ネットワーク位置識別子はデータツリーの第１のビューを指定する部分を少なくとも含む、ステップと、ネットワーク位置識別子の部分を使用してリレーショナルデータベースクエリを作成し、そしてクエリをリレーショナルデータベースにサブミットするステップと、第１のビューに関連付けられたデータ要素の組をリレーショナルデータベースから受信するステップと、データ要素の組を含む第１の電子ドキュメントを生成するステップであって、データツリー内のノードに対して操作を実行することに対応する、他のネットワーク位置識別子へのトランスフォーマティブリンクを生成するステップを含む、ステップと、第１の電子ドキュメントをクライアントコンピュータに提供するステップとを実行する。
2009523289.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のプロセッサと、
前記１つ以上のプロセッサに結合されたデータ記憶装置であって、リレーショナルデータベース構造内に含まれた、かつ階層データツリー内に編成された、複数のデータ要素を記録した、データ記憶装置と、
前記１つ以上のプロセッサに結合されたメモリであって、１つ以上の記憶された命令シーケンスを記録した、メモリと、
を含む装置であって、前記１つ以上の記憶された命令シーケンスは、前記プロセッサによって実行された場合に、
ネットワーク位置識別子をクライアントコンピュータから受信するステップであって、前記ネットワーク位置識別子は、前記データツリーの第１のビューを指定する部分を少なくとも含む、ステップと、
前記ネットワーク位置識別子の前記部分を使用して、リレーショナルデータベースクエリを作成し、そして前記クエリをリレーショナルデータベースにサブミットするステップと、
前記第１のビューに関連付けられたデータ要素の組を、前記リレーショナルデータベースから受信するステップと、
データ要素の前記組を含む第１の電子ドキュメントを生成するステップであって、前記データツリー内のノードに対して操作を実行することに対応する、他のネットワーク位置識別子へのトランスフォーマティブリンクを生成するステップを含む、ステップと、
前記第１の電子ドキュメントを前記クライアントコンピュータに提供するステップとを、前記１つ以上のプロセッサに実行させることを特徴とする、装置。
【請求項２】
前記ネットワーク位置識別子を受信するステップを前記１つ以上のプロセッサに実行させる前記命令シーケンスは、前記データツリーのオープンノードの１つ以上の識別子のリストを含む前記ネットワーク位置識別子を受信するステップを、前記プロセッサによって実行された場合に前記プロセッサに実行させる命令シーケンスを含むことを特徴とする、請求項１に記載の装置。
【請求項３】
前記リレーショナルデータベースクエリを作成するステップを前記１つ以上のプロセッサに実行させる前記命令シーケンスは、オープンノードの前記識別子のうちの少なくとも１つがＳＥＬＥＣＴ文のパラメータである構造化照会言語（ＳＱＬ）クエリを作成するステップを、前記プロセッサによって実行された場合に前記プロセッサに実行させる命令シーケンスを含むことを特徴とする、請求項２に記載の装置。
【請求項４】
前記ＳＱＬクエリを作成するステップを前記１つ以上のプロセッサに実行させる前記命令シーケンスは、階層的親がすべてオープンノードの前記リスト内にあるデータ要素のみの結果セットを選択することを指定する前記ＳＱＬクエリを作成するステップを、前記プロセッサによって実行された場合に前記プロセッサに実行させる命令シーケンスを含むことを特徴とする、請求項３に記載の装置。
【請求項５】
前記ネットワーク位置識別子を受信するステップを前記１つ以上のプロセッサに実行させる前記命令シーケンスは、前記第１のビューのビュータイプを含む前記ネットワーク位置識別子を受信するステップを、前記プロセッサによって実行された場合に前記プロセッサに実行させる命令シーケンスを含むことを特徴とする、請求項２に記載の装置。
【請求項６】
前記第１の電子ドキュメントを生成するステップを前記１つ以上のプロセッサに実行させる前記命令シーケンスは、データ要素の前記組を含む第１の電子ドキュメントを生成するステップであって、前記データツリー内のノードを開くこと、または閉じることに対応する、他のネットワーク位置識別子へのトランスフォーマティブリンクを生成するステップを含む、ステップを、前記プロセッサによって実行された場合に前記プロセッサに実行させる命令シーケンスを含むことを特徴とする、請求項１に記載の装置。
【請求項７】
前記第１の電子ドキュメントを生成するステップを前記１つ以上のプロセッサに実行させる前記命令シーケンスは、データ要素の前記組を含む第１の電子ドキュメントを生成するステップであって、前記データツリー内のノードを開くこと、または閉じることに対応する、他のネットワーク位置識別子へのトランスフォーマティブリンクを生成するステップを含み、
ノードを開くことに対応する第１のトランスフォーマティブリンクは、前記受信したネットワーク位置識別子の、識別子の前記リストに、現在クローズドのノードの識別子が追加されたものを含み、
ノードを閉じることに対応する第２のトランスフォーマティブリンクは、前記受信したネットワーク位置識別子の、識別子の前記リストから、現在オープンのノードの識別子が削除されたものを含む、ステップを、前記プロセッサによって実行された場合に前記プロセッサに実行させる命令シーケンスを含むことを特徴とする、請求項１に記載の装置。
【請求項８】
１つ以上のプロセッサと、
前記１つ以上のプロセッサに結合されたデータ記憶装置であって、リレーショナルデータベース構造内に含まれた、かつ階層データツリー内に編成された、複数のデータ要素を記録した、データ記憶装置と、
ネットワーク位置識別子をクライアントコンピュータから受信するための手段であって、前記ネットワーク位置識別子は、前記データツリーの第１のビューを指定する部分を少なくとも含む、手段と、
前記ネットワーク位置識別子の前記部分を使用して、リレーショナルデータベースクエリを作成し、そして前記クエリをリレーショナルデータベースにサブミットするための手段と、
前記第１のビューに関連付けられたデータ要素の組を、前記リレーショナルデータベースから受信するための手段と、
データ要素の前記組を含む第１の電子ドキュメントを生成するための手段であって、前記データツリー内のノードに対して操作を実行することに対応する、他のネットワーク位置識別子へのトランスフォーマティブリンクを生成することを含む、手段と、
前記第１の電子ドキュメントを前記クライアントコンピュータに提供するための手段とを含むことを特徴とする、装置。
【請求項９】
前記ネットワーク位置識別子を受信するための手段は、前記データツリーのオープンノードの１つ以上の識別子のリストを含む前記ネットワーク位置識別子を受信するための手段を含むことを特徴とする、請求項８に記載の装置。
【請求項１０】
前記リレーショナルデータベースクエリを作成するための手段は、オープンノードの前記識別子のうちの少なくとも１つがＳＥＬＥＣＴ文のパラメータである構造化照会言語（ＳＱＬ）リレーショナルデータベースクエリを作成するための手段を含むことを特徴とする、請求項９に記載の装置。
【請求項１１】
前記ＳＱＬリレーショナルデータベースクエリを作成するための手段は、階層的親がすべてオープンノードの前記リスト内にあるデータ要素のみの結果セットを選択することを指定する前記ＳＱＬリレーショナルデータベースクエリを作成するための手段を含むことを特徴とする、請求項１０に記載の装置。
【請求項１２】
前記ネットワーク位置識別子を受信するための手段は、前記第１のビューのビュータイプを含む前記ネットワーク位置識別子を受信するための手段を含むことを特徴とする、請求項９に記載の装置。
【請求項１３】
前記第１の電子ドキュメントを生成するための手段は、データ要素の前記組を含む第１の電子ドキュメントを生成するための手段であって、前記データツリー内のノードを開くこと、または閉じることに対応する、他のネットワーク位置識別子へのトランスフォーマティブリンクを生成するための手段を含む、手段を含むことを特徴とする、請求項１２に記載の装置。
【請求項１４】
前記第１の電子ドキュメントを生成するための手段は、データ要素の前記組を含む第１の電子ドキュメントを生成するための手段であって、前記データツリー内のノードを開くこと、または閉じることに対応する、他のネットワーク位置識別子へのトランスフォーマティブリンクを生成するための手段を含み、ノードを開くことに対応する第１のトランスフォーマティブリンクは、前記受信したネットワーク位置識別子の、識別子の前記リストに、現在クローズドのノードの識別子が追加されたものを含み、ノードを閉じることに対応する第２のトランスフォーマティブリンクは、前記受信したネットワーク位置識別子の、識別子の前記リストから、現在オープンのノードの識別子が削除されたものを含む、手段を含むことを特徴とする、請求項８に記載の装置。
【請求項１５】
機械実装された方法であって、
ネットワーク位置識別子をクライアントコンピュータから受信するステップであって、前記ネットワーク位置識別子は、データ記憶装置内に記憶されたリレーショナルデータベース構造内に含まれている複数のデータ要素を表す、階層データツリーの第１のビューを指定する部分を少なくとも含む、ステップと、
前記ネットワーク位置識別子の前記部分を使用して、リレーショナルデータベースクエリを作成し、そして前記クエリをリレーショナルデータベースにサブミットするステップと、
前記第１のビューに関連付けられたデータ要素の組を、前記リレーショナルデータベースから受信するステップと、
データ要素の前記組を含む第１の電子ドキュメントを生成するステップであって、前記データツリー内のノードに対して操作を実行することに対応する、他のネットワーク位置識別子へのトランスフォーマティブリンクを生成するステップを含む、ステップと、
前記第１の電子ドキュメントを前記クライアントコンピュータに提供するステップとを含むことを特徴とする、方法。
【請求項１６】
前記ネットワーク位置識別子を受信するステップは、前記データツリーのオープンノードの１つ以上の識別子のリストを含む前記ネットワーク位置識別子を受信するステップを含むことを特徴とする、請求項１５に記載の方法。
【請求項１７】
前記リレーショナルクエリを作成するステップは、オープンノードの前記識別子のうちの少なくとも１つがＳＥＬＥＣＴ文のパラメータである構造化照会言語（ＳＱＬ）リレーショナルデータベースクエリを作成するステップを含むことを特徴とする、請求項１６に記載の方法。
【請求項１８】
前記ＳＱＬリレーショナルデータベースクエリを作成するステップは、階層的親がすべてオープンノードの前記リスト内にあるデータ要素のみの結果セットを選択することを指定する前記ＳＱＬリレーショナルデータベースクエリを作成するステップを含むことを特徴とする、請求項１７に記載の方法。
【請求項１９】
前記第１の電子ドキュメントを生成するステップは、データ要素の前記組を含む第１の電子ドキュメントを生成するステップであって、前記データツリー内のノードを開くこと、または閉じることに対応する、他のネットワーク位置識別子へのトランスフォーマティブリンクを生成するステップを含み、ノードを開くことに対応する第１のトランスフォーマティブリンクは、前記受信したネットワーク位置識別子の、識別子の前記リストに、現在クローズドのノードの識別子が追加されたものを含み、ノードを閉じることに対応する第２のトランスフォーマティブリンクは、前記受信したネットワーク位置識別子の、識別子の前記リストから、現在オープンのノードの識別子が削除されたものを含む、ステップを含むことを特徴とする、請求項１５に記載の方法。
【請求項２０】
１つ以上の命令シーケンスを保持しているコンピュータ読み取り可能な媒体であって、前記命令は、１つ以上のプロセッサによって実行された場合に、
ネットワーク位置識別子をクライアントコンピュータから受信するステップであって、前記ネットワーク位置識別子は、データ記憶装置内に記憶されたリレーショナルデータベース構造内に含まれている複数のデータ要素を表す、階層データツリーの第１のビューを指定する部分を少なくとも含む、ステップと、
前記ネットワーク位置識別子の前記部分を使用して、リレーショナルデータベースクエリを作成し、そして前記クエリをリレーショナルデータベースにサブミットするステップと、
前記第１のビューに関連付けられたデータ要素の組を、前記リレーショナルデータベースから受信するステップと、
データ要素の前記組を含む第１の電子ドキュメントを生成するステップであって、前記データツリー内のノードに対して操作を実行することに対応する、他のネットワーク位置識別子へのトランスフォーマティブリンクを生成するステップを含む、ステップと、
前記第１の電子ドキュメントを前記クライアントコンピュータに提供するステップとを、前記１つ以上のプロセッサに実行させることを特徴とする、コンピュータ読み取り可能な媒体。
【請求項２１】
前記ネットワーク位置識別子を受信するステップのための前記命令は、前記データツリーのオープンノードの１つ以上の識別子のリストを含む前記ネットワーク位置識別子を受信するステップのための命令を含むことを特徴とする、請求項２０に記載のコンピュータ読み取り可能な媒体。
【請求項２２】
前記リレーショナルクエリを作成するステップのための前記命令は、オープンノードの前記識別子のうちの少なくとも１つがＳＥＬＥＣＴ文のパラメータである構造化照会言語（ＳＱＬ）リレーショナルデータベースクエリを作成するステップのための命令を含むことを特徴とする、請求項２１に記載のコンピュータ読み取り可能な媒体。
【請求項２３】
前記ＳＱＬリレーショナルデータベースクエリを作成するステップのための前記命令は、階層的親がすべてオープンノードの前記リスト内にあるデータ要素のみの結果セットを選択することを指定する前記ＳＱＬリレーショナルデータベースクエリを作成するステップのための命令を含むことを特徴とする、請求項２２に記載の方法。
【請求項２４】
前記第１の電子ドキュメントを生成するステップのための前記命令は、データ要素の前記組を含む第１の電子ドキュメントを生成するステップのための命令であって、前記データツリー内のノードを開くこと、または閉じることに対応する、他のネットワーク位置識別子へのトランスフォーマティブリンクを生成するステップのための命令を含み、ノードを開くことに対応する第１のトランスフォーマティブリンクは、前記受信したネットワーク位置識別子の、識別子の前記リストに、現在クローズドのノードの識別子が追加されたものを含み、ノードを閉じることに対応する第２のトランスフォーマティブリンクは、前記受信したネットワーク位置識別子の、識別子の前記リストから、現在オープンのノードの識別子が削除されたものを含む、命令を含むことを特徴とする、請求項２０に記載の方法。
【請求項２５】
前記ネットワーク位置識別子は、ユニフォームリソースロケータ（ＵＲＬ）であることを特徴とする、請求項１に記載の装置。
【請求項２６】
前記リレーショナルデータベースクエリを作成するステップを前記１つ以上のプロセッサに実行させる前記命令シーケンスは、オープンノードの前記識別子のうちの少なくとも１つがレコード検索文のパラメータであるクエリを作成するステップを、前記プロセッサによって実行された場合に前記プロセッサに実行させる命令シーケンスを含むことを特徴とする、請求項２に記載の装置。
【請求項２７】
前記リレーショナルデータベースクエリを作成するステップを前記１つ以上のプロセッサに実行させる前記命令シーケンスは、階層的親がすべてオープンノードの前記リスト内にあるデータ要素のみの結果セットを選択することを指定する前記リレーショナルデータベースクエリを作成するステップを、前記プロセッサによって実行された場合に前記プロセッサに実行させる命令シーケンスを含むことを特徴とする、請求項２６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、大規模リレーショナルデータベースなどのデータベースからのデータを、インターネットウェブページなどの電子ドキュメント内で表示することに関する。
【背景技術】
【０００２】
この節で記載する方法は、遂行されることが可能であるが、必ずしも、以前に考案または遂行されたことがある方法とは限らない。したがって、本明細書内で特に指示しない限り、この節で記載する方法は、本出願における特許請求の範囲に対する先行技術ではなく、かつ、この節に含めることによって先行技術であると認められるわけではない。
【０００３】
インターネットは、現在、世界のコンピュータ間での、ディジタル化された情報の配送のための、非常に効率的な手段を提供しており、ウェブブラウザインタフェースは、その情報を表示するための優れた手段である。
【０００４】
この配送／表示モデルの、１つの普及している実装は、ユーザによって指定されたユニフォームリソースロケータ（ＵＲＬ）が、ホストコンピュータ上のデータベースから引き出された特定の情報に基づいて、ウェブページの即座の作成を引き起こす、動的に生成されるウェブページの使用である。
【０００５】
ウェブページの動的構造は、ＰＨＰまたはＣｏｌｄＦｕｓｉｏｎなどのウェブアプリケーション言語のうちの１つでプログラムされなければならないが、１つのそのような動的ウェブページは、ユーザのＵＲＬから抽出される選択パラメータに基づいて、かつ、ホストデータベース内の、場合により変化している値にも基づいて、潜在的に無制限の数の異なるデータ表示を提供する。プログラミングは、１度だけ、そして１つのページについてのみ行われる必要があるため、このモデルは効率が非常に良く、ほとんどのウェブサイトに使用される標準的な方法となった。
【０００６】
データ自体は、通常はＳＱＬデータベース言語に基づく、リレーショナルデータベース内に存在する可能性がますます高くなっており、ＭｙＳＱＬ、Ｏｒａｃｌｅ、およびＳＱＬ−Ｓｅｒｖｅｒエンジンは最も一般的である。そのようなリレーショナルデータベースは、非常に高い性能と、記憶効率と、潜在的サイズの非常に大きな拡張性とを提供する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このデータ配送／表示モデルは、これらの主要な利点を有するが、さまざまなタイプのデータに好都合に適用される際に、いくつかの障害に直面してきた。部分的にはこの理由により、インターネットデータは、ユーザ自身のコンピュータ上に存在するソフトウェアアプリケーション内のデータほど、表示または操作が高速かつ容易であったことはめったにない。
【０００８】
１つの障害は、ウェブページ上に示される特定のデータを決定するために使用されるＵＲＬは、構造に対する実際上の制約を有するということである。長くなりすぎた、または複雑になりすぎたＵＲＬは、個人にとって、理解するため、操作するため、またはリンクとして保存するためには不都合である。短く、かつ最小限の複雑さのＵＲＬの、埋め込まれる情報内容を最大にすることにより、ウェブ表示システムの有効性は大幅に向上する。
【０００９】
別の障害は、インターネット上で潜在的に利用可能なデータセットの多くは、サイズおよび複雑さが非常に大きいということである。そのような複雑なデータセットを好都合に表示または操作するための、１つのダイナミックウェブページをプログラミングすることは、困難な仕事である可能性があり、間違いが発生しやすい傾向がある。
【００１０】
最後に、ホストデータベースとウェブページとの間で、データを選択および転送するための、現在の方法の多くは、それらの基礎をなすデータベースアルゴリズムのため、またはそれらの表示技術のため、低速かつ非効率的であるように見える。結果として、ホストデータベースは過負荷状態となる可能性があり、クライアントまたはサーバの帯域幅はふさがれたものとなる可能性があり、全体的な性能はしばしば停滞する。
【００１１】
総合すれば、これらおよび類似した困難は、インターネットベースのデータの、効率的な表示または操作を大幅に制限してきた。
【課題を解決するための手段】
【００１２】
これらの大きいと予想されるインターネットデータセットの多くは、構造が階層的であり、さまざまな一般性の程度の、データ要素の集約されたファミリ内に編成される。おそらく、そのような階層データセットの最も一般的な例は、特定のコンピュータ上のディレクトリおよびファイルであり、この例においては、「子」ディレクトリが他の「親」ディレクトリ内に含まれてもよく、コンピュータ記憶装置の最高位まで以下同様であってもよい。
【００１３】
階層データを視覚化または表示する標準的な手段は、コンピュータのハードドライブのディレクトリ／ファイルツリーなどの、「ツリー」構造の形態である。これは、ユーザが、ツリーのさまざまなノードまたはブランチを「開くこと」または「閉じること」によって、任意の所望の詳細さの程度において、データを要約すること、または調べることを、好都合に可能にする。
【００１４】
ほとんどの大規模な階層データセットは、現在、リレーショナルデータベース内に記憶されているか、またはそのようなデータベーステーブル内に迅速かつ容易に読み込まれることが可能である。リレーショナルデータベースは、それらが含むデータセットに、特定の重要な制約を加えるが、その結果として、そのデータを後で操作または選択することにおいて、非常に優れた効率を提供する。
【００１５】
例として、コンピュータのハードドライブのファイルおよびディレクトリの記述的情報は、通常はリレーショナルデータベース内に記憶されていないが、そのようなテーブル内に容易に読み込まれることが可能であり、そのようなテーブルの１つのフィールドは、場合によってはフルパス名から導かれた、固有の識別子であり、別のフィールドは、要素タイプ（ファイルまたはディレクトリ）であり、別のフィールドは、親ディレクトリの識別子であり、その他のフィールドは、個々のファイルまたはディレクトリに関連付けられたさまざまなその他のタイプの追加情報である。
【００１６】
ＳＱＬデータベースは、リレーショナルデータベースの最も一般的な例であり、通常は、データベースエンジン自体による高速な検索のために自動的に記憶されてインデックスされる１つ以上の固有の識別子が、データ要素に割り当てられることを必要とする。数ある特性の中でも特に、ＳＱＬデータベースエンジンは、固有のまたは固有ではないインデックス値によって選択されるデータを検索するために、そして、それらのインデックス値に基づいて、データベーステーブルをそれ自体と、または他のテーブルと、マージまたは「結合」するために最適化されている。
【００１７】
場合により複数の結合または自己結合を含む、１つの非常に高度に複雑なＳＱＬ文として書かれてもよいデータベースクエリは、効率が劣るデータベースシステムにおける、データベース操作の同等のグループよりも、しばしば桁違いに高速である。
【００１８】
本発明は、限定のためではなく、例として、添付の図面の図において示され、図中の同様の参照番号は、同様の要素を意味している。
【発明を実施するための最良の形態】
【００１９】
以下の説明において、本発明の完全な理解を提供するために、多数の具体的な詳細が、説明の目的のために記載される。しかし、本発明は、それらの具体的な詳細なしに実施されてもよいということは、当業者にとって明らかであろう。他の場合には、本発明を不必要に曖昧にするのを避けるために、よく知られている構造および装置はブロック図の形態で示される。
【００２０】
データベースと電子ドキュメントとの間で階層データを転送および表示するための方法が説明される。一実施形態では、リレーショナルデータベースとインターネットウェブページとの間で階層データを転送および表示するための、新しいソフトウェア技術が、そのようなプロセスの速度、効率、および単純さを増加することを目的として提供される。一実施形態では、選択されたデータはデータツリーの形態で表示され、その特定の表示ビューは、ユニフォームリソースロケータ（ＵＲＬ）などのネットワーク位置識別子の部分によって決定され、文字列のその同じ部分は、さらに、データベースからデータを選択するためのクエリコマンドの部分に変換される。
【００２１】
一実施形態では、データ処理装置が、１つ以上のプロセッサに結合されたデータ記憶装置と、リレーショナルデータベース構造内に含まれた、かつ階層データツリー内に編成された、複数のデータ要素と、命令とを含み、命令は、クライアントコンピュータからネットワーク位置識別子を受信するステップであって、ネットワーク位置識別子はデータツリーの第１のビューを指定する部分を少なくとも含む、ステップと、ネットワーク位置識別子の部分を使用してリレーショナルデータベースクエリを作成し、リレーショナルデータベースにクエリをサブミットするステップと、第１のビューに関連付けられたデータ要素の組をリレーショナルデータベースから受信するステップと、データ要素の組を含む第１の電子ドキュメントを生成するステップであって、データツリー内のノードに対して操作を実行することに対応する、他のネットワーク位置識別子へのトランスフォーマティブリンク（ｔｒａｎｓｆｏｒｍａｔｉｖｅ  ｌｉｎｋ）を生成するステップを含む、ステップと、第１の電子ドキュメントをクライアントコンピュータに提供するステップとを実行する。
【００２２】
一実施形態では、ネットワーク位置識別子を受信するステップは、データツリーのオープンノードの１つ以上の識別子のリストを含む、ネットワーク位置識別子を受信するステップを含む。一実施形態では、リレーショナルデータベースクエリを作成するステップは、オープンノードの識別子のうちの少なくとも１つがＳＥＬＥＣＴ文のパラメータである、構造化照会言語（ＳＱＬ）クエリを作成するステップを含む。一実施形態では、ＳＱＬクエリを作成するステップは、階層的親がすべてオープンノードのリスト内にあるデータ要素のみの結果セットを選択することを指定する、ＳＱＬクエリを作成するステップを含む。
【００２３】
一実施形態では、第１の電子ドキュメントを生成するステップは、データ要素の組を含む第１の電子ドキュメントを生成するステップであって、データツリー内のノードを開くことまたは閉じることに対応する、他のネットワーク位置識別子へのトランスフォーマティブリンクを生成するステップを含む、ステップを含み、ノードを開くことに対応する第１のトランスフォーマティブリンクは、受信したネットワーク位置識別子の、識別子のリストに、現在クローズドのノードの識別子が追加されたものを含み、ノードを閉じることに対応する第２のトランスフォーマティブリンクは、受信したネットワーク位置識別子の、識別子のリストから、現在オープンのノードの識別子が削除されたものを含む。
【００２４】
その他の態様および特徴は、以下の説明、図面、および添付の特許請求の範囲から明らかとなるであろう。
【００２５】
本発明の例示的な実施形態の下で、データツリーの表示される形態は、オープンツリーノードのリストによって決定され、オープンツリーノードのこのリストは、ＵＲＬ文字列であってもよいネットワーク位置識別子の、特定のセグメント内に含まれる。
【００２６】
ネットワーク位置識別子のこのセグメントは、抽出され、次に、データベースクエリの中に埋め込まれ、それにより、階層的親がすべてオープンノードのリスト内にあるデータ要素に限定された結果セットが生成される。選択されたら、それらのデータ要素は、次に、ウェブアプリケーション言語によって処理されて、所望のフォーマットの、そして所望の情報を、任意選択のリンクまたはボタン操作とともに示す、ダイナミックウェブページ上に表示される。
【００２７】
一実施形態では、リレーショナルデータベースはＭｙＳＱＬであり、ウェブアプリケーション言語はＣｏｌｄＦｕｓｉｏｎであり、ウェブページサーバはＡｐｃｈｅであり、データベースクエリはＳＱＬ  ＳＥＬＥＣＴ文として提示され、データ要素自体は、データ記憶システムの部分の、特定のファイルおよびディレクトリに関する情報を含む。
【００２８】
提示される階層データは、すでにリレーショナルデータベースフォーマットになっていない場合、最初に、そのようなフォーマット内に読み込まれる。
【００２９】
一実施形態では、示されるデータツリーの特定のビューは、そのオープンノードのリストによって完全に決定される。したがって、ネットワーク位置識別子セレクタのオープンノード部分は、データツリーのビューを完全に決定する。ノードは、リレーショナルデータベース内でのそれらの固有の識別子によって表されてもよい。
【００３０】
表示されるデータツリーの正確な実装は、ユーザによって決定されるが、１つの例は、ＨＴＭＬで単に表示される、テキストツリーである。
【００３１】
表示されるテキストデータツリー内の各ノードは、ネットワーク位置識別子で制御される動作が、オープンノードを閉じること、またはクローズドノードを開くことである、リンクをさらに含んでもよい。特定のシステムは、特定のツリーノードが常にオープンであること、または常にクローズドであることを要求するように設計されてもよい。
【００３２】
リレーショナルデータベースクエリがＵＲＬの関連部分を使用する正確な形態は、重要ではなく、特定のデータベース言語、ウェブアプリケーション言語、およびシステム設計により異なってもよい。
【００３３】
図１は、本発明の例示的な実施形態の動作シーケンスを表すフローチャートを示す。最初に、クライアントマシン上のユーザは、ネットワーク位置識別子を、ウェブサイトについての特定のＵＲＬの形態で指定し［＃１０］、そのＵＲＬはサーバマシン上のウェブサイトシステムによって受信される［＃１１］。次に、ウェブサイトシステムは、ＵＲＬを構文解析し、データツリーの表示ビューを決定する部分を抽出する［＃１２］。このＵＲＬセグメントは、次に、データツリーＳＱＬデータベースクエリ内に挿入され［＃１３］、それにより、ＳＱＬデータベースエンジンから、表示される項目の結果セットが返される［＃１４］。ウェブサイトシステムは、次に、それらの返された要素をデータツリーの形態で表示し、データツリーの異なるビューを表す新しいＵＲＬへの適切なリンクを挿入し、そして結果のＨＴＭＬページを、ユーザのマシン上での表示のために送信する［＃１５］。ユーザは、次に、データツリーの異なる表示ビューを表す、ＨＴＭＬページ上の任意のデータノードのオープンまたはクローズを、ページ上のさまざまなＵＲＬリンクを選択することによって選択してもよい［＃１６］。
【００３４】
図２および図３では、ＲＥＰＯＲＴという名前の特定のファイルディレクトリと、そのさまざまなサブディレクトリおよびファイルとが、２つの異なるＵＲＬセグメントによって決定される２つの異なる表示ビュー内に示された、単純なＨＴＭＬテキストデータツリーとして表示されている。
【００３５】
図２では、表示ビューは、ディレクトリＲＥＰＯＲＴ［＃１０］がオープンであり、サブディレクトリＣＧ［＃１１］、およびサブ−サブディレクトリＣＧＳ［＃１２］も同様にオープンであるものである。このビューは、ＵＲＬ［＃１３］のＯｐｅｎＮｏｄｅｓ部分によって決定され、ＵＲＬは、それらの３つのオープンディレクトリの固有のＩＤコードのリストであるセグメント「ＯｐｅｎＮｏｄｅｓ＝９６２７８，９６２８１，９６６９０」を含む。
【００３６】
ディレクトリを表す、テキストツリーの各行は、初期テキスト記号リンク［Ｘ］を、ディレクトリがクローズドの場合に含み、ディレクトリがオープンの場合は［−−］を含む。これらのリンクを選択すると、所与のディレクトリは、オープンとクローズドとの間で自動的に切り換わり、クローズドのディレクトリは開かれ、オープンのディレクトリは閉じられる。
【００３７】
オープニングリンクは、現在のＵＲＬを含むが、ただしＯｐｅｎＮｏｄｅセグメントには、現在クローズドのディレクトリのＩＤが追加されている。クロージングリンクは、現在のＵＲＬを含むが、ただしＯｐｅｎＮｏｄｅセグメントからは、現在オープンのディレクトリのＩＤが削除されている。例えば、図２のディレクトリ２００２の隣のオープニングリンク記号［Ｘ］は、ＵＲＬセグメント「ＯｐｅｎＮｏｄｅｓ＝９６２７８，９６２８１，９６６９０，９６６９４」を含み、リスト内の最後のＩＤはディレクトリ２００２に対応するものである。したがって、このリンクをクリックすると、同じウェブページが再読み込みされるが、ただし、ディレクトリ２００２がクローズドではなくオープンとして示されることを示す新しいＵＲＬが使用される。この新しいＵＲＬは、図３に示す、異なる表示ビューに対応する。
【００３８】
図４は、セレクタＵＲＬから、ＨＴＭＬディレクトリ／ファイルツリー構造を生成することが可能な、ＳＱＬ  ＳＥＬＥＣＴ文の例を提供する。ＳＱＬ  Ｓｅｌｅｃｔ文は、ＣｏｌｄＦｕｓｉｏｎウェブアプリケーション言語で表現される関数呼び出しの中に埋め込まれる。例示的なＣｏｌｄＦｕｓｉｏｎ／ＳＱＬ文は、図２の画面上に表示されるファイルまたはディレクトリを、すなわち、オープンノードのリストに親のすべてが含まれているファイルまたはディレクトリを返す。
【００３９】
ＳＱＬ文において、変数ＩＤは、特定のファイルまたはディレクトリの固有の識別子を表し、ｐａｒｅｎｔＩＤは、親ディレクトリの固有の識別子であり、Ｌｅｖｅｌは、ファイルまたはディレクトリのレベルを表し、ここで、最上位のディレクトリは０であり、そのサブディレクトリは１であり、そのサブ−サブディレクトリは２であり、以下同様である。提供されている特定の例示的な文は、４レベルの深さのディレクトリ構造を表示することが可能である。
【００４０】
記載したＳＱＬクエリが、画面上に表示されるべきファイルおよびディレクトリを返した後は、標準的なウェブアプリケーションプログラミングが、ＨＴＭＬツリーの表示されるフォーマットを生成するために使用されてもよい。
【００４１】
通常の状況下では、本明細書に記載された１つのＳＱＬ  ＳＥＬＥＣＴ文のみが、任意の指定されたサイズの階層データツリーの、任意の表示ビューのための値を生成するために必要とされる。結果として、データベースサーバには最小の負担がかけられ、応答は非常に高速である。
【００４２】
その上、これらの方法は、選択ＵＲＬ（ｓｅｌｅｃｔｉｏｎ  ＵＲＬ）とデータベース選択クエリ（ｄａｔａｂａｓｅ  ｓｅｌｅｃｔｉｏｎ  ｑｕｅｒｙ）との間の自然なマッピングを提供することにより、ダイナミックウェブページの設計に必要とされるプログラミングの複雑さを最小にする。さらに、所与のデータツリーの比較的少ないノードが、所与の時間において、通常は開かれているため、この方法は、選択ＵＲＬのサイズおよび複雑さを最小にする。
【００４３】
図５は、例示的な実施形態の主要な構成要素を表すブロック図を提供する。クライアントマシン［＃１０］は、ウェブサーバ、アプリケーションサーバ、およびデータベースのホストとして働く１つ以上のコンピュータに、１つ以上のネットワークを介して、直接的または間接的に結合される。一実施形態では、ウェブサーバはＡｐａｃｈｅウェブサーバであり［＃１１］、アプリケーションサーバはＣｏｌｄＦｕｓｉｏｎウェブアプリケーションサーバであり［＃１２］、データベースサーバはＭｙＳＱＬリレーショナルデータベースサーバであり［＃１３］、ＭｙＳＱＬリレーショナルデータベースサーバは、１つ以上のＭｙＳＱＬリレーショナルデータベーステーブルのホストとして働く［＃１４］。
【００４４】
図６は、本発明の実施形態が実装されてもよいコンピュータシステム６００を示すブロック図である。コンピュータシステム６００は、情報を伝達するための、バス６０２またはその他の通信機構と、情報を処理するための、バス６０２と結合されたプロセッサ６０４とを含む。コンピュータシステム６００は、さらに、プロセッサ６０４によって実行される情報および命令を記憶するための、バス６０２に結合された、ランダムアクセスメモリ（「ＲＡＭ」）またはその他のダイナミック記憶装置などの、メインメモリ６０６を含む。メインメモリ６０６は、さらに、プロセッサ６０４によって実行される命令の実行中に一時変数またはその他の中間情報を記憶するために使用されてもよい。コンピュータシステム６００は、さらに、プロセッサ６０４のための静的情報および命令を記憶するための、バス６０２に結合された、リードオンリーメモリ（「ＲＯＭ」）６０８またはその他のスタティック記憶装置を含む。磁気ディスクまたは光ディスクなどの、記憶装置６１０が、情報および命令を記憶するために提供され、バス６０２に結合される。
【００４５】
コンピュータシステム６００は、コンピュータユーザに情報を表示するための、陰極線管（「ＣＲＴ」）などの、ディスプレイ６１２に、バス６０２を介して結合されてもよい。英数字およびその他のキーを含む、入力装置６１４が、プロセッサ６０４に情報およびコマンド選択を伝達するために、バス６０２に結合される。別のタイプのユーザ入力装置は、方向情報とコマンド選択とをプロセッサ６０４に伝達するため、およびディスプレイ６１２上のカーソルの動きを制御するための、マウス、トラックボール、スタイラス、またはカーソル方向キーなどの、カーソル制御６１６である。この入力装置は、平面内での位置を装置が指定することを可能にする、第１の軸（例えば、ｘ）および第２の軸（例えば、ｙ）の２つの軸における、２つの自由度を通常は有する。
【００４６】
本発明は、データベースと電子ドキュメントとの間で階層データを転送および表示するための、コンピュータシステム６００の使用に関する。本発明の一実施形態によれば、データベースと電子ドキュメントとの間での階層データの転送および表示は、コンピュータシステム６００によって、メインメモリ６０６内に含まれている１つ以上の命令の１つ以上のシーケンスを実行するプロセッサ６０４に応えて提供される。そのような命令は、メインメモリ６０６内に、記憶装置６１０などの別のコンピュータ読み取り可能な媒体から読み込まれてもよい。メインメモリ６０６内に含まれている命令のシーケンスの実行は、プロセッサ６０４に、本明細書に記載された処理ステップを実行させる。代替の実施形態では、本発明を実装するために、ソフトウェア命令の代わりに、またはそれと組み合わせて、ハードワイヤードの回路が使用されてもよい。したがって、本発明の実施形態は、ハードウェア回路とソフトウェアとの、いかなる特定の組み合わせにも限定されない。
【００４７】
「コンピュータ読み取り可能な媒体」という用語は、本明細書で使用する場合、実行のためにプロセッサ６０４に命令を提供することに関与する、任意の媒体を意味する。そのような媒体は、以下に限定されないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む、多くの形態をとってもよい。不揮発性媒体は、例えば、記憶装置６１０などの、光または磁気ディスクを含む。揮発性媒体は、メインメモリ６０６などの、ダイナミックメモリを含む。伝送媒体は、バス６０２を構成するワイヤなどの、同軸ケーブル、銅線、および光ファイバを含む。伝送媒体は、さらに、無線波および赤外線データ通信の間に生成されるものなどの、音波または光波の形態をとってもよい。
【００４８】
コンピュータ読み取り可能な媒体の一般的な形態は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、または任意のその他の磁気媒体、ＣＤ−ＲＯＭ、任意のその他の光媒体、穿孔カード、紙テープ、穴のパターンを有する任意のその他の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、任意のその他のメモリチップまたはカートリッジ、後述する搬送波、またはコンピュータが読み取ることが可能な任意のその他の媒体を含む。
【００４９】
さまざまな形態のコンピュータ読み取り可能な媒体が、実行のためにプロセッサ６０４に１つ以上の命令の１つ以上のシーケンスを搬送することに関与してもよい。例えば、命令は、最初に、リモートコンピュータの磁気ディスク上に保持されてもよい。リモートコンピュータは、そのダイナミックメモリ内に命令をロードし、モデムを使用して、電話線を介して命令を送信してもよい。コンピュータシステム６００に対してローカルであるモデムは、電話線上のデータを受信し、赤外線送信器を使用してデータを赤外線信号に変換してもよい。赤外線検出器が、赤外線信号内で搬送されるデータを受信し、適切な回路がデータをバス６０２上に置いてもよい。バス６０２はデータをメインメモリ６０６に搬送し、プロセッサ６０４はそこから命令を取り出して実行する。メインメモリ６０６によって受信された命令は、任意選択で、プロセッサ６０４による実行の前または後で、記憶装置６１０上に記憶されてもよい。
【００５０】
コンピュータシステム６００は、さらに、バス６０２に結合された通信インタフェース６１８を含む。通信インタフェース６１８は、ローカルネットワーク６２２に接続されたネットワークリンク６２０に結合する、双方向データ通信を提供する。例えば、通信インタフェース６１８は、統合サービスディジタルネットワーク（「ＩＳＤＮ」）カード、または、対応するタイプの電話線へのデータ通信接続を提供するためのモデムであってもよい。別の例として、通信インタフェース６１８は、互換性のあるＬＡＮへのデータ通信接続を提供するためのローカルエリアネットワーク（「ＬＡＮ」）カードであってもよい。無線リンクがさらに実装されてもよい。任意のそのような実装においては、通信インタフェース６１８は、さまざまなタイプの情報を表すディジタルデータストリームを搬送する電気信号、電磁信号、または光信号を、送信および受信する。
【００５１】
ネットワークリンク６２０は、通常、他のデータ装置への、１つ以上のネットワークを介したデータ通信を提供する。例えば、ネットワークリンク６２０は、ローカルネットワーク６２２を介して、ホストコンピュータ６２４への、またはインターネットサービスプロバイダ（「ＩＳＰ」）６２６によって運用されるデータ機器への接続を提供してもよい。ＩＳＰ６２６は、次に、現在一般に「インターネット」６２８と呼ばれている、ワールドワイドパケットデータ通信ネットワークを介して、データ通信サービスを提供する。ローカルネットワーク６２２およびインターネット６２８は、両方とも、ディジタルデータストリームを搬送する電気信号、電磁信号、または光信号を使用する。コンピュータシステム６００への、およびコンピュータシステム６００からのディジタルデータを搬送する、さまざまなネットワークを通る信号、および、ネットワークリンク６２０上の、そして通信インタフェース６１８を通る信号は、情報を運ぶ搬送波の例示的形態である。
【００５２】
コンピュータシステム６００は、ネットワーク、ネットワークリンク６２０、および通信インタフェース６１８を介して、メッセージを送信してもよく、かつ、プログラムコードなどのデータを受信してもよい。インターネットの例においては、サーバ６３０は、要求された、アプリケーションプログラムのコードを、インターネット６２８、ＩＳＰ６２６、ローカルネットワーク６２２、および通信インタフェース６１８を介して送信してもよい。本発明によれば、１つのそのようなダウンロードされたアプリケーションは、本明細書に記載された、データベースと電子ドキュメントとの間での階層データの転送および表示を提供する。
【００５３】
受信されるコードは、受信時にプロセッサ６０４によって実行されてもよく、および／または、後で実行するために、記憶装置６１０またはその他の不揮発性記憶装置内に記憶されてもよい。このようにして、コンピュータシステム６００は、アプリケーションコードを搬送波の形態で取得してもよい。
【００５４】
非常にさまざまな代替実施形態のうちの１つにおいては、データツリーを表示するダイナミックウェブページは、ＨＴＭＬテキストから構成されるのではなく、ＸＭＬまたは何らかのその他の、現在または将来のウェブページフォーマットで表現されてもよい。
【００５５】
別の代替形態では、ダイナミックウェブページを生成するために使用されるテンプレートは、ＣｏｌｄＦｕｓｉｏｎに基づくのではなく、ＰＨＰなどの、何らかのその他の、現在または将来のウェブアプリケーションプログラミング言語を代わりに使用してもよい。Ａｐａｃｈｅではなく、何らかのその他の、現在または将来のウェブページサーバが使用されてもよい。それらのダイナミックウェブページの作成を推進する、基礎をなすデータベースシステムは、ＭｙＳＱＬではなく、Ｏｒａｃｌｅ  ＳＱＬ、Ｍｉｃｒｏｓｏｆｔ  ＳＱＬ−Ｓｅｒｖｅｒ、または何らかのその他の、現在または将来のＳＱＬまたはその他のリレーショナルデータベースに代わりに依拠してもよい。
【００５６】
表示されるデータツリーのオープンノードを表す代わりに、ＵＲＬセレクタの関連部分は、何らかのその他の手法を使用して、データツリーの表示ビューをエンコードしてもよい。さらに、複数の独立したデータツリーが、それらのＵＲＬセレクタを連結することによって、あるいは、別の方法を使用してそれらを組み合わせることによって、ウェブページ上に同時に表示され、制御されてもよい。
【００５７】
以上の明細書において、本発明は、その特定の実施形態を参照して記載されてきた。しかしながら、それらに対するさまざまな変更および変形が、本発明の広範な趣旨および範囲を逸脱することなく行われてよいということは明白であろう。したがって、明細書および図面は、限定的な意味ではなく、例示的なものであると見なされるべきである。
【図面の簡単な説明】
【００５８】
【図１】例示的な実施形態の動作シーケンスを表すフローチャートを示す。
【図２】ディレクトリＲＥＰＯＲＴがオープンである、例示的な表示ビューを示す。
【図３】異なる表示ビューを示す。
【図４】セレクタＵＲＬから、ＨＴＭＬディレクトリ／ファイルツリー構造を生成することが可能な、ＳＱＬ  ＳＥＬＥＣＴ文の例を提供する。
【図５】例示的な実施形態の主要な構成要素を表すブロック図を提供する。
【図６】実施形態が実装されてもよいコンピュータシステムを示す。
【図１】
2009523289.tif 000003
【図２】
2009523289.tif 000004
【図３】
2009523289.tif 000005
【図４】
2009523289.tif 000006
【図５】
2009523289.tif 000007
【図６】
2009523289.tif 000008
【国際調査報告】
2009523289.tif 000009
2009523289.tif 000010