(57)【要約】ドキュメントが位置されるサーバが利用できないため、サーバがドキュメントを除去し或いはドキュメントの名前を変更したため、あるいは、サーバが記憶されたコピーのバージョンを異なるバージョンに置き換えたために、ドキュメント自体がウェブを介してアクセスできない時に、ウェブアクセス可能なドキュメントの記憶されたコピーを利用可能にするリポジトリサーバ。リポジトリサーバのクライアントは、リポジトリサーバ内のドキュメントを登録してもよい。リポジトリサーバは、登録されたドキュメントのコピーを形成するとともに、コピーのためのリポジトリURLをクライアントへ戻す。リポジトリURLは、リポジトリURLからコピーをフェッチするために使用されてもよい。また、登録は、記憶されたコピーを、そのドキュメントURL、記憶されたコピーのための識別子、記憶されたコピーのコンテンツの圧縮表示であるフィンガプリント、類似するコンテンツを有する一組の記憶されたコピーに対して関連付ける。リポジトリサーバによって行なわれる他の動作は、1）リポジトリサーバに登録されるドキュメントのコンテンツをフェッチすること；これは、リポジトリURLを受け、リポジトリURLにより指定される記憶されたコピーに対応するドキュメントがウェブを介して利用できるかどうかを決定することにより行なわれる；利用できる場合、クライアントは、ドキュメントのドキュメントURLにより指定される位置へとリダイレクトされ、利用できない場合には、記憶されたコピーがフェッチされる、2）同じドキュメントURLに関連付けられる記憶されたコピーのためのリポジトリURLのリストをクライアントに対して供給すること、3）所与のリポジトリURLにより指定される記憶されたコピーに類似する記憶されたコピーのためのリポジトリURLのリストをクライアントに対して供給すること、を含む。フィンガプリントは類似性を計算するために使用される。2007536643.tif 000005
2007536643.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してアクセス可能であり、クライアントからネットワークを介して受けられたドキュメントロケータに応じてドキュメントを供給するリポジトリサーバであって、
ドキュメントのための第1のドキュメントロケータを受け、それに応答して、第1のドキュメントロケータを使用してドキュメントのコピーを他のサーバからネットワークを介してフェッチし、リポジトリサーバがアクセスできる記憶装置内にコピーを記憶し、コピーのための第2のドキュメントロケータを形成するドキュメントレジストラと、
第2のドキュメントロケータがリポジトリサーバで受けられるときに記憶されたコピーをクライアントへ供給することにより応答する登録ドキュメントプロバイダと、
を含むリポジトリサーバ。
【請求項２】
登録ドキュメントプロバイダは、供給される記憶されたコピーにより、記憶されたコピーが供給されたことを示す、請求項1記載のリポジトリサーバ。
【請求項３】
ドキュメントレジストラは、第1のドキュメントロケータと記憶されたコピーとを関連付け、
登録ドキュメントプロバイダは、第2のドキュメントロケータがリポジトリサーバで受けられると、関連付けられた第1のドキュメントロケータを使用してドキュメントが現在ネットワークを介してアクセスできるかどうかを決定し且つドキュメントが現在ネットワークを介してアクセスできないときにだけ記憶されたコピーをクライアントに対して供給することによりさらに応答する、請求項1記載のリポジトリサーバ。
【請求項４】
リポジトリサーバは、記憶されたコピーが供給されるべきかどうかを示す表示を第2のドキュメントロケータと共に受け、
登録ドキュメントプロバイダは、それに応答して、記憶されたコピーをクライアントへ供給する、請求項3記載のリポジトリサーバ。
【請求項５】
登録ドキュメントが現在ネットワークを介してアクセスできることを登録ドキュメントプロバイダが決定すると、登録ドキュメントプロバイダは、関連付けられた第1のドキュメントロケータを使用して、クライアントを他のサーバへリダイレクトする、請求項3記載のリポジトリサーバ。
【請求項６】
第2のドキュメントロケータは第1のドキュメントロケータのコピーを含み、
登録ドキュメントプロバイダは、第1のドキュメントロケータのコピーを関連付けられた第1のドキュメントロケータとして使用する、請求項5記載のリポジトリサーバ。
【請求項７】
ドキュメントレジストラは、登録識別子と記憶されたコピーとを関連付け、
登録ドキュメントプロバイダは、登録識別子がリポジトリサーバで受けられると、記憶されたコピーをクライアントへ供給することによって応答する、請求項1記載のリポジトリサーバ。
【請求項８】
ドキュメントレジストラは、記憶されたコピーにおける相対リンクを絶対リンクとして書き換える、請求項1記載のリポジトリサーバ。
【請求項９】
書き換えられた各絶対リンクは、リポジトリサーバを指定するドキュメントロケータを含み、絶対リンクに対応する相対リンクにより指定されたドキュメントを指定するドキュメントロケータを含み、
登録ドキュメントプロバイダは、含められたドキュメントロケータを使用して、書き換えられた絶対リンクにより指定されたドキュメントが現在ネットワークを介してアクセスできるかどうかを決定し、アクセスできる場合には含められたドキュメントロケータで指定されたクライアントをリダイレクトすることにより、書き換えられた絶対リンクに対して応答する、請求項8記載のリポジトリサーバ。
【請求項１０】
書き換えられた絶対リンクにより指定されたドキュメントが現在ネットワークを介して利用できず且つ含められたドキュメントロケータに関連付けられた記憶されたコピーがリポジトリサーバ内に存在する場合、登録ドキュメントプロバイダは関連付けられた記憶されたコピーを戻す、請求項9記載のリポジトリサーバ。
【請求項１１】
ドキュメントレジストラがクライアントから第1のドキュメントロケータを受ける、請求項1記載のリポジトリサーバ。
【請求項１２】
ドキュメントレジストラは、第1のドキュメントロケータをリポジトリサーバ内のそのリストから受ける、請求項1記載のリポジトリサーバ。
【請求項１３】
リスト上の少なくともいくつかの第1のドキュメントロケータは、ネットワーククローラによりリポジトリサーバに対して供給される、請求項1記載のリポジトリサーバ。
【請求項１４】
プロセッサ内で実行されるときに請求項1記載のリポジトリサーバを実施するコードを含むことを特徴とする、データ記憶装置。
【請求項１５】
ネットワークで第1のドキュメントロケータを使用することによりアクセスできるドキュメントを、ネットワークを介してアクセスできるリポジトリサーバ内に登録する方法であって、
リポジトリサーバ内で実行される工程であり、
ドキュメントのための第1のドキュメントロケータをリポジトリサーバで受ける工程と、
第1のドキュメントロケータを使用してドキュメントをフェッチする工程と、
リポジトリサーバがアクセスできる記憶装置内にドキュメントのコピーを記憶する工程と、
リポジトリサーバが記憶されたコピーを供給することにより応答する第2のドキュメントロケータを形成する工程と、
を含む方法。
【請求項１６】
記憶されたコピーにおける相対リンクを絶対リンクとして書き換える工程をさらに含む、請求項15記載の方法。
【請求項１７】
各書き換えられた絶対リンクは、ドキュメントのためのドキュメントロケータを含む第3のドキュメントロケータを含み、該第3のドキュメントロケータに対して、リポジトリサーバは、第3のドキュメントロケータの送信元であるクライアントを、含められたドキュメントロケータにより指定されるようにリダイレクトすることにより応答する、請求項16記載の方法。
【請求項１８】
記憶されたコピーを第1のドキュメントロケータに対して関連付ける工程をさらに含む、請求項15記載の方法。
【請求項１９】
記憶されたコピーは、第2のドキュメントロケータ内に第1のドキュメントロケータを含ませることにより第1のドキュメントロケータに関連付けられる、請求項18記載の方法。
【請求項２０】
記憶されたコピーを、リポジトリサーバが記憶されたコピーを供給することにより応答する登録IDに対して関連付ける工程をさらに含む、請求項19記載の方法。
【請求項２１】
記憶されたコピーは、第2のドキュメントロケータ内に登録IDを含むことにより登録IDに対して関連付けられる、請求項19記載の方法。
【請求項２２】
第1のドキュメントロケータをリポジトリサーバで受ける工程では、第1のドキュメントロケータがリポジトリサーバのクライアントから受けられる、請求項15記載の方法。
【請求項２３】
第1のドキュメントロケータをリポジトリサーバで受ける工程では、第1のドキュメントロケータがリポジトリサーバ内のそのリストから受けられる、請求項15記載の方法。
【請求項２４】
リスト上の少なくともいくつかの第1のドキュメントロケータは、ネットワーククローラによりリポジトリサーバに対して供給される、請求項23記載の方法。
【請求項２５】
プロセッサ内で実行されるときに請求項15記載のドキュメント登録方法を実施するコードを含むことを特徴とする、データ記憶装置。
【請求項２６】
ネットワークを介してアクセス可能で且つクライアントからネットワークを介して受けられたドキュメントロケータに応じてドキュメントを供給するリポジトリサーバ内に、記憶されたコピーが登録されたドキュメントを供給する方法であって、
リポジトリサーバ内で実行される工程であり、
記憶されたコピーのためのドキュメントロケータをクライアントから受ける工程と、
それに応答して、ネットワークを介してドキュメントをフェッチできるかどうかを決定する工程と、
ドキュメントをフェッチできない場合に、記憶されたコピーをクライアントに対して供給する工程と、
を含む方法。
【請求項２７】
記憶されたコピーがクライアントに対して供給されるときに実行される工程であって、記憶されたコピーが供給されたことを、記憶されたコピーにより示す工程をさらに含む、請求項26記載の方法。
【請求項２８】
記憶されたコピーは、リポジトリサーバ内でドキュメントのためのドキュメントロケータに対して関連付けられ、
ネットワークを介してドキュメントをフェッチできるときに、ドキュメントのための関連付けられたドキュメントロケータにより示されるようにクライアントをリダイレクトする工程をさらに含む、請求項26記載の方法。
【請求項２９】
ドキュメントのための関連付けられたドキュメントロケータは、コピーのためのドキュメントロケータ内に含まれている、請求項28記載の方法。
【請求項３０】
記憶されたコピーは、記憶されたコピーのための登録識別子に対して関連付けられ、
ドキュメントロケータが登録識別子であり、
記憶されたコピーをクライアントに対して供給する工程は、ネットワークを介してドキュメントをフェッチできるかどうかとは無関係に実行される、請求項26記載の方法。
【請求項３１】
プロセッサ内で実行されるときに請求項26記載のドキュメント供給方法を実施するコードを含むことを特徴とする、データ記憶装置。
【請求項３２】
ネットワークを介してアクセス可能で且つクライアントからネットワークを介して受けられたドキュメントロケータに応じてドキュメントを供給するリポジトリサーバ内に、記憶されたコピーが登録されたドキュメントを供給する方法であって、
リポジトリサーバ内で実行される工程であり、
記憶されたコピーのためのドキュメントロケータと、コピー又はドキュメントがクライアントから供給されるべきかどうかの表示とを受ける工程と、
それに応答して、記憶されたコピーが供給されるべきであることを表示が示している場合には、記憶されたコピーを供給する工程と、
記憶されたコピーが供給されるべきでない場合には、ネットワークを介してドキュメントをフェッチできるかどうかを決定することにより応答する工程と、
ドキュメントをフェッチできない場合に、記憶されたコピーをクライアントに対して供給する工程と、
を含む方法。
【請求項３３】
プロセッサ内で実行されるときに請求項32記載のドキュメント供給方法を実施するコードを含むことを特徴とする、データ記憶装置。
【請求項３４】
ネットワークを介してアクセス可能であり、第1のドキュメントロケータにより識別されたドキュメントの記憶されたコピーにアクセスできるリポジトリサーバであって、
ドキュメントのための第1のドキュメントロケータを受け、それに応答して、第1のドキュメントロケータを使用してドキュメントのコピーを他のサーバからネットワークを介してフェッチし、リポジトリサーバがアクセスできる記憶装置内にコピーを記憶し、第1のドキュメントロケータをコピーに対して関連付け、コピーのための識別子を形成するドキュメントレジストラと、
識別子がクライアントからリポジトリサーバで受けられるときに識別子のリストをクライアントに対して供給することにより応答する、登録ドキュメントプロバイダであって、リスト上の識別子が、受けられた識別子により指定される記憶されたコピーと同じ第1のドキュメントロケータに関連付けられる記憶されたコピーを示している、登録ドキュメントプロバイダと、
を含むリポジトリサーバ。
【請求項３５】
ドキュメントレジストラは、登録の時間と記憶されたコピーとをさらに関連付け、
登録ドキュメントプロバイダは、記憶されたコピーの登録時間を、リスト上の識別子により指定される記憶されたコピーのそれぞれに関してさらに供給する、請求項34記載のリポジトリサーバ。
【請求項３６】
登録ドキュメントプロバイダは、クライアントから受けられるリストからの識別子に対して、該識別子により指定される記憶されたコピーを供給することによりさらに応答する、請求項34記載のリポジトリサーバ。
【請求項３７】
リスト上の識別子は、リポジトリサーバ内の記憶されたコピーを指定する第2のドキュメントロケータである、請求項34記載のリポジトリサーバ。
【請求項３８】
受けられた識別子は、リポジトリサーバ内の記憶されたコピーを指定する第2のドキュメントロケータである、請求項37記載のリポジトリサーバ。
【請求項３９】
プロセッサ内で実行されるときに請求項34記載のリポジトリサーバを実施するコードを含むことを特徴とする、データ記憶装置。
【請求項４０】
リポジトリサーバのクライアントがアクセスできるネットワークを介してアクセス可能なリポジトリサーバ内に記憶されるドキュメントのバージョンを形成する方法であって、該ドキュメントが、ネットワークを介してアクセスできた他のサーバ内に記憶され或いは以前に記憶されてしまっており、および、第1のドキュメントロケータを指定することにより他のサーバでアクセスされ或いはアクセスされてしまっており、記憶されたバージョンのそれぞれが第1のドキュメントロケータ及びリポジトリサーバ内の識別子に対して関連付けられる方法であって、
リポジトリサーバで実行される工程であり、
所与の記憶されたバージョンのための識別子をクライアントから受ける工程と、
所与のバージョンが関連付けられる第1のドキュメントロケータを使用して、同じ第1のドキュメントロケータに関連付けられる他の記憶されたバージョンを見つける工程と、
他の記憶されたバージョンのための識別子のリストをクライアントに対して供給することにより、クライアントが他の記憶されたバージョンの記憶されたバージョンにアクセスできるようにする工程と、
を含む方法。
【請求項４１】
リポジトリサーバは、記憶されたバージョンを、記憶されたバージョンがリポジトリサーバ内に記憶された時間に対してさらに関連付け、
識別子のリストを供給する工程は、第2のドキュメントサーバにより指定される記憶されたバージョンが記憶された時間を供給する工程を含む、請求項40記載の方法。
【請求項４２】
供給されたリストからの識別子のクライアントからの受信に対して、識別子により指定される記憶されたバージョンをクライアントへ供給することにより応答する工程をさらに含む、請求項40記載の方法。
【請求項４３】
供給されたリスト上の識別子が、リポジトリサーバ内の記憶されたコピーを指定する第2のドキュメントロケータである、請求項42記載のリポジトリサーバ。
【請求項４４】
受けられた識別子が、リポジトリサーバ内の記憶されたコピーを指定する第2のドキュメントロケータである、請求項43記載のリポジトリサーバ。
【請求項４５】
プロセッサ内で実行されるときに請求項40記載のリポジトリサーバを実施するコードを含むことを特徴とする、データ記憶装置。
【請求項４６】
ネットワークを介してアクセス可能であり、第1のドキュメントロケータにより識別されたドキュメントの記憶されたコピーにアクセスするリポジトリサーバであって、
ドキュメントのための第1のドキュメントロケータを受け、それに応答して、第1のドキュメントロケータを使用してドキュメントのコピーを他のサーバからネットワークを介してフェッチし、リポジトリサーバがアクセスできる記憶装置内にコピーを記憶し、記憶されたコピーとリポジトリサーバ内の他の記憶されたコピーとの間の類似性を計算し、記憶されたコピーを類似する他の記憶されたコピーに対して関連付け、コピーのための第1の識別子を形成するドキュメントレジストラと、
第1の識別子がクライアントからリポジトリサーバで受けられるときに、受けられた識別子により指定される記憶されたコピーに関連付けられる類似する他の記憶されたコピーのための第2の識別子のリストを供給することにより応答する登録ドキュメントプロバイダと、
を含むリポジトリサーバ。
【請求項４７】
ドキュメントレジストラが類似性値をさらに計算し、各類似性値は、記憶されたコピーと関連付けられる類似する他の記憶されたコピーの1つと記憶されたコピーとの類似性の度合いを示し、
登録ドキュメントプロバイダは、他の記憶されたコピーの第2の識別子と共に、他の記憶されたコピーの類似性値をさらに供給する、請求項46記載のリポジトリサーバ。
【請求項４８】
ドキュメントレジストラは、類似性リストを記憶されたコピーに対してさらに関連付け、類似性リストは、類似する他のコピーのそれぞれに関して、類似する他のコピーのための類似性値を示している、請求項47記載のリポジトリサーバ。
【請求項４９】
ドキュメントレジストラは、記憶されたコピー及び他の記憶されたコピーのフィンガプリントを計算し、記憶されたコピーのフィンガプリントと他の記憶されたコピーのフィンガプリントとを比較することにより、記憶されたコピーと他の記憶されたコピーとの間の類似性を計算する、請求項46記載のリポジトリサーバ。
【請求項５０】
レジストラは、記憶されたコピーのフィンガプリントを記憶されたコピーに対して関連付ける、請求項49記載のリポジトリサーバ。
【請求項５１】
登録ドキュメントプロバイダは、クライアントから受けられるリストからの識別子に対して、該識別子により指定される記憶されたコピーを供給することによりさらに応答する、請求項46記載のリポジトリサーバ。
【請求項５２】
第2の識別子は、リポジトリサーバ内の記憶されたコピーを指定する第2のドキュメントロケータである、請求項51記載のリポジトリサーバ。
【請求項５３】
第1の識別子は、リポジトリサーバ内の記憶されたコピーを指定する第2のドキュメントロケータである、請求項52記載のリポジトリサーバ。
【請求項５４】
プロセッサ内で実行されるときに請求項46記載のリポジトリサーバを実施するコードを含むことを特徴とする、データ記憶装置。
【請求項５５】
ネットワークを介してアクセス可能なリポジトリサーバであって、他のサーバから得られるドキュメントであり且つリポジトリサーバのクライアントが利用できる所与の記憶されたコピーに類似する他の記憶されたコピーを形成する識別子によりリポジトリサーバ内で識別されるドキュメントの記憶されたコピーを含むリポジトリサーバ内において実行される方法であって、
所与の記憶されたコピーと他の記憶されたコピーとの間の類似性を計算する工程と、
記憶されたコピーを類似する他の記憶されたコピーに対して関連付ける工程と、
クライアントから受けた所与の記憶されたコピーのための識別子に対して、類似する他の記憶されたコピーに対する識別子のリストを供給することにより応答する工程と、
供給されたリストからクライアントで選択されている識別子に対して、識別子により指定される他の記憶されたコピーをクライアントへ供給することにより応答する工程と、
を含む方法。
【請求項５６】
類似性を計算する工程は、類似する他の記憶されたコピーのそれぞれのための類似性値を計算する工程をさらに含み、類似性値は、所与の記憶されたコピーと類似する他の記憶されたコピーとの類似性の度合いを示し、
所与の記憶されたコピーを類似する他の記憶されたコピーに対して関連付ける工程は、類似性値を所与の記憶されたコピーに対して関連付ける工程をさらに含み、
所与の記憶されたコピーのための識別子に対して応答する工程は、類似する他の記憶されたコピーのための類似性値を供給する工程をさらに含む、請求項55記載の方法。
【請求項５７】
類似性を計算する工程は、
記憶されたコピー及び他の記憶されたコピーのフィンガプリントを計算する工程と、
記憶されたコピーのフィンガプリントと他の記憶されたコピーのフィンガプリントとを比較する工程と、
を含む、請求項55記載の方法。
【請求項５８】
記憶されたコピーのフィンガプリントを記憶されたコピーに対して関連付ける工程をさらに含む、請求項57記載の方法。
【請求項５９】
第2の識別子は、リポジトリサーバ内の記憶されたコピーを指定する第2のドキュメントロケータである、請求項55記載の方法。
【請求項６０】
第1の識別子は、リポジトリサーバ内の記憶されたコピーを指定する第2のドキュメントロケータである、請求項59記載の方法。
【請求項６１】
プロセッサ内で実行されるときに請求項55記載の方法を実施するコードを含むことを特徴とする、データ記憶装置。
【請求項６２】
比較されるドキュメントのフィンガプリントを形成する工程と、
フィンガプリントを比較して、比較されるドキュメントの類似性の度合いを示す類似性値を決定する工程であって、類似性値は、同一であるか否かに加えて類似性の度合いを表わすことができる工程と、
を含む、デジタルドキュメントを比較する方法。
【請求項６３】
デジタルドキュメントは、他のデジタルドキュメントへのリンクを含み、
比較されるドキュメントにおけるリンクの比較から、フィンガプリントを比較する工程の性能を正当化できるようにドキュメントが十分に類似しているかどうかを決定する工程をさらに含む、請求項62記載の方法。
【請求項６４】
リンクの比較から決定する工程では、ドキュメントにおけるリンクの数が比較される、請求項63記載の方法。
【請求項６５】
リンクの比較から決定する工程では、ドキュメントにおけるリンクの宛て先が比較される、請求項63記載の方法。
【請求項６６】
デジタルドキュメントが識別子によって識別され、
方法は、デジタルドキュメントのためのフィンガプリントをデジタルドキュメントの識別子に対して関連付ける工程を含み、
これにより、該識別子が知られており且つフィンガプリントを有するデジタルドキュメントは、該ドキュメント又はそのコピーを参照することなく比較できる、請求項62記載の方法。
【請求項６７】
識別子は、ネットワーク内でのドキュメントの位置を突き止めるために使用されるドキュメントロケータである、請求項66記載の方法。
【請求項６８】
所与の1つのデジタルドキュメントを、一組の他のデジタルドキュメントのための類似性値に対して関連付ける工程をさらに含む、請求項62記載の方法。
【請求項６９】
デジタルドキュメントが識別子によって識別され、
関連付ける工程では、所与の1つのデジタルドキュメントのための識別子が、一組の他のデジタルドキュメントのための識別子及び類似性値に対して関連付けられる、請求項68記載の方法。
【請求項７０】
識別子は、ネットワーク内でのドキュメントの位置を突き止めるために使用されるドキュメントロケータである、請求項69記載の方法。
【請求項７１】
プロセッサ内で実行されるときに請求項62記載の方法を実施するコードを含むことを特徴とする、データ記憶装置。
【請求項７２】
構造的情報及びコンテンツ情報の両方を含むデジタルドキュメントのためのフィンガプリントを形成する方法であって、
構造的情報についての意味情報を保存する第1のエンコーディングを使用して構造的情報をエンコードする工程と、
第2のエンコーディングを使用してコンテンツ情報をエンコードする工程と、
を含む方法。
【請求項７３】
構造的情報をエンコードする工程では、構造的情報がデジタルドキュメント内で生じる順序で構造的情報がエンコードされ、
コンテンツ情報は、構造的情報をエンコーディングする間にそれが直面されるようにエンコードされる、請求項72記載の方法。
【請求項７４】
構造的情報がHTMLタグである、請求項73記載の方法。
【請求項７５】
プロセッサ内で実行されるときに請求項72記載の方法を実施するコードを含むことを特徴とする、データ記憶装置。
【請求項７６】
第1のデジタルドキュメントのための第1のフィンガプリントと第2のデジタルドキュメントのための第2のフィンガプリントとを比較する方法であって、フィンガプリントは、デジタルドキュメントからの構造的情報及びコンテンツ情報の両方を含み、構造的情報に関する意味情報を保存する第1のエンコーディングを使用して構造的情報をエンコードし且つ第2のエンコーディングを使用してコンテンツ情報をエンコードすることにより形成される方法であって、
1.第1のフィンガプリントにおいて構造的情報のエンコーディングを見つける工程と、
2.見つけられたエンコーディングから始まる第1のフィンガプリント内の部分文字列と一致する第2のフィンガプリント内の部分文字列を見つける工程と、
3.見つけられた部分文字列の長さを、実行している長さ全体に対して加える工程と、
4.任意の見つけられた部分文字列内に含まれない第1のフィンガプリント内の構造的情報の他のエンコーディングを見つけ、他のエンコーディングに関して工程1〜3を繰り返す工程と、
5.工程4において構造的情報の更なるエンコーディングを見つけることができなくなるまで工程1〜4を繰り返す工程と、
6.フィンガプリントのうちの1つの長さ及び実行している長さ全体を使用して、類似性値を計算する工程と、
を含む方法。
【請求項７７】
プロセッサ内で実行されるときに請求項76記載の方法を実施するコードを含むことを特徴とする、データ記憶装置。
【請求項７８】
リポジトリサーバに記憶されるドキュメントのコピーの位置を突き止める、ネットワーク内のリポジトリサーバのためのドキュメントロケータであって、コピーは、コピーが他のドキュメントロケータによって形成された時にネットワーク内で位置を突き止めることができたドキュメントのコピーであるドキュメントロケータであって、
ネットワーク内のリポジトリサーバのための識別子と、
他のドキュメントロケータと、
サーバ内の記憶されたコピーのための識別子と、
を含み、
これにより、リポジトリサーバは、識別子によって指定される記憶されたコピーを他のドキュメントロケータに対して関連付けることができるドキュメントロケータ。
【請求項７９】
リポジトリサーバは、リポジトリサーバで受けられた受信ドキュメントロケータに対し、他のドキュメントロケータにより指定されたドキュメントがネットワーク内で利用できない場合にのみ識別子により識別される記憶されたコピーを供給することにより応答する、請求項78記載のドキュメントロケータ。
【請求項８０】
リポジトリサーバ内の記憶されたコピーはそれぞれ、記憶されたコピーが記憶されたときに該記憶されたコピーの位置を突き止めることができた他のドキュメントロケータに対して関連付けられ、
リポジトリサーバは、受信ドキュメントロケータに対して、受信ドキュメントロケータにおける他のドキュメントロケータに対して関連付けられる他の記憶されたコピーのためのドキュメントロケータのリストを供給することにより応答する、請求項78記載のドキュメントロケータ。
【請求項８１】
ドキュメントロケータがユニバーサルリソースロケータであり、該ユニバーサルリソースロケータにおいて、ホスト名はリポジトリサーバを指定し、パラメータは、その値が他のドキュメントロケータである第1のパラメータと、その値が記憶されたコピーのための識別子である第2のパラメータと、リポジトリサーバで実行されるときに他のドキュメントロケータにより指定されたドキュメントがネットワーク内で利用できない場合にのみ識別子により識別される記憶されたコピーを供給するプログラムのための第3のパラメータとを含む、請求項78記載のドキュメントロケータ。
【請求項８２】
プロセッサ内で実行されるときに請求項78記載のドキュメントロケータを構成するコードを含むことを特徴とする、データ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にインターネットに関し、特に、インターネットを介してアクセスできるコンテンツにアクセスして該コンテンツを監視するという課題に関する。
【背景技術】
【０００２】
インターネット、及び、特にインターネットのHTTPプロトコルにより可能となるワールドワイドウェブは、我々が情報にアクセスする方法を革命的に変えた。ワールドワイドウェブ123によって与えられる情報アクセスシステム101が、データの持続的な記憶のためのハードドライブ129とウェブブラウザとを有するコンピュータ127のユーザにどのように面しているかを図1は示している。そのようなシステムはウェブクライアント125と称される。ウェブクライアント125に加えて、システム101は、ワールドワイドウェブ123を介してアクセスできるウェブサーバ111を含む。ウェブサーバ111（a）に関して詳細に示されるように、ウェブサーバは、プロセッサ113（a）と、ウェブを介してアクセスできるドキュメント121を含むデータ記憶装置119（a）とを含む。これらのドキュメントは以下ではウェブドキュメントと称される。ウェブドキュメント121は、任意の種類の情報又は種類が混ざった情報を含んでいてもよく、それは例えば画像ファイル又は音声ファイル及びテキストドキュメントであってもよい。
【０００３】
ワールドワイドウェブによってドキュメントにアクセスするため、クライアント125におけるウェブブラウザのユーザは、ウェブドキュメントのためのURL（Uniform Resource Locator）をウェブ123に対して与える。ウェブ123は、URLを、URLにより指定されたウェブドキュメントを含むウェブサーバ111（i）へと経路指定する。ウェブサーバ111（i）は、指定されたウェブドキュメントをウェブを介してウェブクライアント125へ供給することによりURLに対して応答する。その後、ブラウザがウェブドキュメントを表示する。ウェブドキュメントは、一般に、リンクすなわち他のウェブドキュメントへのURLを含む。ユーザがこれらのリンクのうちの1つをクリックすることにより選択すると、ブラウザはウェブ123へのURLを供給し、そのウェブドキュメントは、ウェブドキュメントが前述したように存在するウェブサーバによりクライアントへ供給される。
【０００４】
URLの一例が123で示されている。URLは、3つの主要な構成要素、すなわち、ウェブドキュメントを検索するために使用されるインターネットプロトコルを指定するプロトコル105、この場合にはワールドワイドウェブで使用されるhttpプロトコルと、ウェブドキュメントが記憶されるウェブサーバ111（i）を指定するホスト名107と、ウェブドキュメントがどのようにウェブサーバ111（i）で位置されるべきか或いは生成されるべきかを指定するウェブページソース情報109とを有する。URL103の一例において、ウェブページソース情報109は、ウェブサーバ111（i）がアクセスできるファイルシステムにおいてウェブドキュメントがどのように位置されるべきかを示すパス名であり、他のURLにおいて、ウェブページソース情報109は、ウェブドキュメントの位置を突き止めるためにデータベースに問い合わせるプログラムを指定してもよく、あるいは、ウェブドキュメントの全て又は一部をその場で構成するプログラムを指定してもよい。ウェブページソース情報109は、ソース情報解釈コード117（a）を実行することによりウェブサーバ111（a）内で解釈される。
【０００５】
URLのための完全な構文は以下のとおりである。
2007536643.tif 000003
【０００６】
<protocol name>、<host name>及び<pathname>は既に説明した。<port no>はウェブサーバ111（a）がウェブページソース情報109により指定された情報を聞こうとするポートを指定している。また、HTTPプロトコル等の幅広く使用されるプロトコルのためのアプリケーションプログラムは、ポート番号がURLで指定されていない場合にクライアント125がプロトコルのために供給するデフォルトポート番号を有する。<parameter list>は、ソース情報解釈コード117により解釈されるパラメータのリストである。パラメータは、実行されるプログラム及びプログラムのためのデータパラメータを指定してもよい。パラメータリストは、a &文字によって分離される一つ又は複数のパラメータ名-パラメータ値対からなっている。
2007536643.tif 000004
【０００７】
ウェブクライアント125がワールドワイドウェブ123にアクセスする物理ネットワークに対して接続されるときにはいつでも、ウェブクライアント125は、その時に作動している任意のウェブサーバ111にアクセスできる。殆どのウェブサーバは連続的に動作するため、ワールドワイドウェブを介して利用できる殆どの情報は任意の場所からいつでも利用できる。そうであるため、ウェブユーザは、ウェブクライアント125で検索した情報のコピーを作らず、その代わりに、情報を含むウェブドキュメントのURLを興味のあるURLのリスト131に保存する傾向がある。そのようなリストの一例は、殆どのウェブブラウザによって与えられる「お気に入り」又は「ブックマーク」リストである。ユーザが再び情報にアクセスしたい場合、ユーザは、お気に入りリストのURLを単にクリックし、それにより、URLをブラウザに与える。
【０００８】
ユーザが参照するウェブドキュメントの代わりにURLを保存すると、利点及び欠点の両方がある。これらの両方はワールドワイドウェブの動的な性質から生じる。URLは、ウェブドキュメントのためのライブラリカードカタログ番号の類のものではない。ブックのためのライブラリカードカタログ番号は、ブックの特定のエディションを独自に指定する。ブックの新たなエディションが出ると、新たなライブラリカードカタログ番号を受ける。新たなカードカタログ番号は、他のエディションのための番号と類似している。これは、両方のエディションが同じやり方で分類されるからである。しかし、新たなカードカタログ番号は他のエディションのための番号と同じではない。各エディションがそれ自体のライブラリカードカタログ番号を有するため、特定のエディションのためのカードカタログ番号を書き留め且つ10年後にその番号をそのエディションを有するライブラリへ与える読者は、そのエディションを受ける。
【０００９】
それに対して、URLは、ウェブサーバ111（i）とサーバがウェブページソース情報に応じて戻すウェブドキュメントとを識別するだけである。URLにより指定されたサーバが利用でき或いは依然として存在するという保証はなく、あるいは、サーバが戻すウェブドキュメントが、クライアントがURLを保存したときにそこにあったウェブドキュメントと同じであるという保証はない。実際に戻されるものは完全にサーバに至るまでである。この構成の利点は、サーバが一般的に戻すものがウェブドキュメントのつい最近のバージョンであるという点である。多くのウェブドキュメント、例えば、天気予報や株式相場を含むウェブドキュメントをもっていれば、それは正に望まれているものである。欠点は、ウェブドキュメントの古いバージョンがURLによってもはやアクセスできず、全くアクセスできない場合があるという点である。現在アクセスできるウェブドキュメントが古いバージョンに対してもっている関係が何であるのかは一般に明らかではない。これが困難を引き起こす1つの領域は、ソフトウェアのためのドキュメンテーションである。ソフトウェアの製造メーカーは、そのようなドキュメンテーションをワールドワイドウェブにより益々供給しており、ドキュメンテーションのためのURLがソフトウェアの現在のバージョンを指定する場合、古いバージョンを有するユーザは、ドキュメンテーションが全く無い状態のままとなる場合がある。ウェブブラウザ127のユーザがこの問題を扱わなければならない唯一の方法は、自分のウェブクライアント内にドキュメンテーションのローカルコピーを保存することである。無論、そのようにすると、ユーザは、最も重要なウェブの利点のうちの1つ、すなわち、コピーの代わりにURLを保存する能力を失う。
【００１０】
この問題を扱うために行なわれてきた1つの試みは、例えばwww.archive.orgで見出されるようなサービスを得るウェブを確立することである。そのようなサービスは、汎用アーカイブの全ての問題を有する。すなわち、これらのサービスは、莫大であり、多くの場合、個人が必要としているものを有していない。また、個人は、一般に、アーカイブが保存するものへの入力を殆ど或いは全く有していない。また、ウェブクライアントによりアクセスできる莫大な量の情報は、公然と利用できず、したがって、アーカイビングサービスにより得られない。この状況は、インターネットを使用するいわゆるイントラネットからパブリックインターネットを分離するファイヤウォールの背後にウェブサーバがあるが、イントラネットが属する組織に知られたウェブクライアントのみがウェブサーバにアクセスできる場合に生じる。したがって、サーバは、ファイヤフォールの背後にあるウェブクライアント又は一般のウェブクライアントにではなくファイヤフォールに知られたウェブクライアントによってアクセスできる。そのようなイントラネットは、現在、組織内で通信する好ましい方法のうちの1つである。
【００１１】
本明細書において開示される本発明の目的は、ドキュメントのURLによってドキュメントにアクセスするという前述した問題を解消するための技術を提供することである。
【発明の開示】
【００１２】
発明の概要
本発明の目的は、ドキュメントURLによって指定されたドキュメントをフェッチし、ドキュメントのコピーをリポジトリサーバ内に記憶し、記憶されたコピーをフェッチするためにウェブクライアントにより使用できる記憶されたコピーのためのリポジトリサーバURLを供給する、リポジトリサーバによって達成される。リポジトリサーバは、記憶されたコピーを、ドキュメントのためのドキュメントURL及び記憶されたコピーのためのリポジトリサーバにおける識別子に対して関連付ける。したがって、リポジトリサーバは、特定のドキュメントURLにより表わされるドキュメントの幾つかのバージョンのための記憶されたコピーを、記憶されたコピーのそれぞれのための固有のリポジトリサーバURLと共に含んでいる。また、リポジトリサーバは、記憶されたコピーのためのフィンガプリントを形成する。フィンガプリントは、記憶されたコピーの構造及びコンテンツの両方を特徴付ける情報を保存する記憶されたコピーの小さなエンコードバージョンである。フィンガプリントは、ドキュメントの対の類似性の度合いを決定するために比較できる。記憶されたコピーのフィンガプリントのそれぞれは、リポジトリ内の記憶されたコピーと関連付けられ、また、リポジトリは、所与の記憶されたコピーに類似する他の記憶されたコピーのリストを、所与の記憶されたコピーと関連付ける。
【００１３】
リポジトリサーバのクライアントに対して供給されるページからなるユーザインタフェースにより、クライアントのユーザは、その動作を指定し且つドキュメントのためのドキュメントURLを与えることによってドキュメントを登録できる。リポジトリサーバは、記憶されたコピーを形成し、記憶されたコピーのリポジトリURLを形成し、記憶されたコピーをドキュメントURL及び記憶されたコピーのための識別子に対して関連付け、記憶されたコピーのフィンガプリントを形成し、記憶されたコピーの類似する記憶されたコピーのリストを形成することにより応答する。
【００１４】
また、ユーザインタフェースにより、ユーザは、その動作を指定し且つ記憶されたコピーのリポジトリURLをリポジトリサーバに対して入力することによってドキュメントのコンテンツをフェッチすることができる。リポジトリサーバは、最初に、記憶されたコピーに関連付けられたドキュメントURLを使用して、ドキュメントがネットワークでアクセスできるかどうかを決定することにより、リポジトリURLに対して応答する。そして、アクセスできる場合には、クライアントがドキュメントURLにより指定された場所へリダイレクトされ、ドキュメントがアクセスできない場合には、リポジトリURLにより指定される記憶されたコピーが戻される。
【００１５】
また、ユーザインタフェースにより、ユーザはドキュメントの記憶されたコピーを監視することができる。ユーザは、リポジトリURL及びクライアントの動作を指定し、また、リポジトリサーバは、リポジトリURLによって指定されたコピーに関連付けられるドキュメントURLと同じドキュメントURLを有する記憶されたコピーのためのリポジトリURLのリストを提供することにより応答する。この動作の1つの態様において、リポジトリサーバは、リポジトリURLにより指定される記憶されたコピーに類似する記憶されたコピーのためのリポジトリURLのリストを供給することにより応答する。いずれかのリストからのリポジトリURLの選択により、リポジトリサーバは、リポジトリURLにより指定される記憶されたコピーをクライアントへ供給することによって応答する。
【００１６】
他の局面において、本発明は、2つの記憶されたコピーがフィンガプリントの比較を保証するために十分に類似しているかどうかを決定するための技術、リポジトリURLを形成するための技術、記憶されたコピーにおけるリンクを書き換えて使用するための技術を含む、フィンガプリントを形成して比較するための技術に関する。
【００１７】
他の目的及び利点は、以下の詳細な説明及び図面を精読することにより、本発明が関与する技術における当業者にとって明らかである。
【００１８】
詳細な説明
以下の詳細な説明は、最初に、マルチバージョンドキュメントのためのウェブサーバの概要について示し、その後、ユーザインタフェースについて説明し、最後に、ウェブサーバの様々な構成要素の詳細を示す。
【００１９】
マルチバージョンドキュメントのためのウェブサーバの概要：図2
図2は、マルチバージョンウェブドキュメントのためのウェブサーバ201のブロック図である。以下のうちの幾つかにおいては、サーバ201がリポジトリサーバと称される。ウェブクライアント125の観点から、ウェブサーバ201は標準ウェブサーバ111である。クライアント125がウェブ123上にウェブサーバ201を指定するURLを置くと、ウェブ123はURLをサーバ201に対して配信し、サーバ201はウェブページをクライアント125に対して戻すことによりURLに対して応答する。任意の他のウェブサーバと同様に、サーバ201は、2つの主要な構成要素、すなわち、サーバ201のホスト名115を指定するURLに応答してコードを実行するプロセッサ202と、URLによって指定されたウェブページ又はウェブページを形成するために必要な情報のための記憶装置とを有する。ここで、記憶装置119は、ウェブクライアント125がドキュメントサーバ201を制御するために使用するユーザインタフェースのためのウェブページ225と、登録ウェブドキュメントのデータベース213とを含む。登録ウェブドキュメントはサーバ201内で登録されたウェブドキュメントである。すなわち、サーバ201は、ウェブドキュメントがデータベース213内で登録されたときに実際にはウェブドキュメントのコピー223を形成しており、また、登録バージョンURL227のソースであったウェブクライアント125に対して登録バージョンURL227により参照されるバージョンコピー223を供給することにより、マルチバージョンドキュメントサーバ201が応答できる登録バージョンURL227を形成している。好ましい態様において、コピー223は、2つの部分、すなわち、登録時に受けられた正しくそのコピーであるオリジナルコピー222と、リンクが書き換えられた書き換えコピー224とを有する。リンクの書き換えが必要な理由及び書き換えを行なう方法については後で詳細に説明する。
【００２０】
登録バージョンURL227を用いたウェブページのフェッチング
登録バージョンURL227は標準URLである。すなわち、登録バージョンURL227は、プロトコル105と、ホスト名107、ここではサーバ201のホスト名と、ウェブページソース情報109とを指定する。登録バージョンURL227中のウェブページソース情報は、ウェブページを供給するためにプロセッサ202内で実行されるべきプログラム230とプログラムの実行において使用されるデータとを指定するパラメータリストを含む。ここで、プログラムは、登録ウェブページのコンテンツをフェッチするgcである。gcは、プロセッサ202により実行されるバージョン位置コード203内のプログラムのうちの1つである。バージョン位置コード203を実行する際には、サーバ201は、後に登録ドキュメントプロバイダと称されるものの一態様である。gcは、2つのパラメータ、すなわち、データベース213内の登録ウェブページのコピー223を独自に識別する登録識別子231と、フェッチされたページのオリジナルURL233とを取り込んでいる。好ましい態様において、マルチバージョンドキュメントサーバ201は、登録バージョンURL227を受けると、gcプログラムを実行する。gcは、最初に、サーバ201とオリジナルURL233により指定されたサーバ111（i）との間で接続を確立しようとする。そして、それが成功する場合、gcは、オリジナルURL233を使用してウェブページをフェッチするためにウェブクライアントをリダイレクトする。接続を確立する試みが失敗する場合、gcは登録ID231を使用してコピー223をデータベース213内に位置付け、そのコピーはウェブクライアント125へ戻される。マルチバージョンドキュメントサーバ201は、前述するように使用されると、ウェブクライアント125が登録バージョンURL227をサーバ201に対して供給する際に、オリジナルURL233により指定されたドキュメントを利用できない場合であっても、クライアント125が登録識別子231により指定されたウェブページのコピー223を受けることを保証する。
【００２１】
バージョン位置コード203が登録バージョンURL227を解釈するために必要とする情報は、登録ドキュメントテーブル215内の登録情報217中に含まれている。登録情報217は、コピー223を、コピー223を形成したウェブページをフェッチするために使用されるオリジナルURLに対して関連付け、そのコピー223を独自に識別する登録識別子に対して関連付ける。登録識別子は独自にコピー223を識別するため、データベース213は、オリジナルURLにより識別されたウェブドキュメントの異なるバージョンを含むことができる。また、登録識別子が登録バージョンURL227中に含まれているため、登録バージョンURLは、各バージョン毎に固有であり、サーバ201から特定のバージョンコピー223をフェッチするためにクライアント125により使用することができる。好ましい態様において、これは、URL227からの登録ID231をサーバ201により供給されるユーザインタフェースへ入力することにより行なわれる。また、他のバージョンにおいて、該使用は、URL227をユーザインタフェースに対して供給した後、オリジナルURL233により現在指定されたバージョン又は登録識別子231により指定されたコピーをサーバ201が戻すべきかどうかを定めることによって行なわれてもよい。以下でさらに詳細に説明するように、所与のコピー223（i）に関して、ユーザは、自分がオリジナルコピー222（i）を欲しいのか或いは書き換えコピー224（i）を欲しいのかを指定してもよい。
【００２２】
サーバ201内でのウェブページの登録
ウェブクライアントのユーザは、登録されるべきウェブページのURLをユーザインタフェースウェブページ225のうちの1つのウェブページに対して入力することによりサーバ201内でウェブページを登録する。そのウェブページからの入力に応じて、サーバ201は、URLにより現在指定されているドキュメントをフェッチして、それのための登録IDを生成し、オリジナルURL、登録ID、及びデータベース213中のドキュメントのコピーの位置を含む登録IDのための登録情報217へのエントリを形成した後、コピー223のためのURL227を形成するとともにURLをその後にURLを前述したように使用できるユーザに対して戻す登録コード207を実行する。サーバ201は、登録コード207を実行する際、後にドキュメントレジストラと称されるものの一態様である。
【００２３】
ウェブページの自動登録
サーバ201の好ましい態様はウェブページの自動登録を行なう。好ましい態様において、サーバ201の管理者は、対象のIPアドレスの範囲を指定してもよい。サーバ201は、ウェブコンテンツをそれらのアドレスでフェッチし且つそれらを前述したようにサーバ201に登録する自動登録コード212を実行する。自動登録に関するバリエーションとしては以下が挙げられる。
1.リンクの自動登録：登録URLを発端として、URLによって識別されたドキュメント中の全ての参照リンクを構文解析するとともに、URLリンクを自動的に登録する。システムは、同じウェブサイト（ドメイン）からくるURLに対してだけURLの登録を制限するオプションを提供することができる。
2.リンクの再帰的自動登録：登録URLを発端として、URLによって識別されたドキュメント中の全てのURLリンクが同じウェブサイト（ドメイン）からくる限りにおいて該URLリンクに再帰的に従う。なお、このオプションは、特定のウェブサイトにおいては時間がかかる。
3.自動スケジュール登録：そのコンテンツバージョン及び変化が頻繁/周期的で且つ重要である特定のURLを登録するためのスケジュールを定める。例えば、内部デイリーTODOリストを指し示すURLをデイリースケジュールを使用して自動登録することができる。
【００２４】
無論、リンクの自動登録及びリンクの再帰的自動登録は、他の形態の自動登録と組み合わせられてもよい。本発明の他の態様は、サーバ201のユーザがウェブクライアント125からユーザにとって個人的に興味があるURLの自動登録をセットアップできるようにするユーザインタフェースを提供していてもよい。前述したドキュメントフィンガプリント技術及びフィンガプリント比較技術を使用することにより、サーバ201は、他の態様において、ドキュメントの自動登録を、既に登録されたドキュメントとは実質的に異なるドキュメントに制限することができる。
【００２５】
サーバ201を使用したコピー223のバージョン履歴の生成
登録情報217は、特定のオリジナルURLを使用してフェッチされたバージョンコピー223のバージョン履歴を提供するために使用することもできる。登録情報はオリジナルURLを登録IDに対して関連付けるため、プロセッサ202は、登録IDを使用して登録情報217を問い合わせることができるとともに、登録IDによって識別されたコピー223のためのURLと同じオリジナルURLを有するドキュメントのバージョンのコピー223のための登録識別子のリストを受けることができる。サーバ201は、登録ID及びオリジナルURLを使用して、登録IDにより指定されたコピー223のためのURL227のリストを構成する。このリストは、ウェブページにおけるリンクとしてウェブクライアント125に対して戻され、また、ユーザは、特定のバージョンを選択するためにリンクをクリックすることができる。サーバ210は、選択されたリンクに対応するURL227を受けると、URLを使用してURL227により指定されたコピー223をウェブクライアント125に対して戻す。他の態様において、サーバ201は、オリジナルURL又は登録バージョンURL227の入力に応じてバージョン履歴を供給してもよい。前者の場合には、オリジナルURLが問い合わせを形成するために使用されてもよく、後者の場合には、登録バージョンURL227からのオリジナルURL233が問い合わせを形成するために使用されてもよい。
【００２６】
URL検索
サーバ201は、それぞれがそれ自体のコピー223及び登録バージョンURL227を持つ何千もの登録ドキュメントを有していてもよい。したがって、多くの態様においては、URL検索能力を与えることが有益である。URL検索において、ウェブクライアント125のユーザは、サーバ201によって与えられたウェブページ225に対して検索文字列を入力し、また、サーバ201は、ユーザによって入力された検索文字列を含むオリジナルURLのための登録情報217を検索する。無論、検索文字列内でワイルドカード文字が使用されてもよい。また、サーバ201は、大文字と小文字とを区別する検索及び大文字と小文字とを区別しない検索と、URL又は登録時間に基づくソーティングとを提供することもできる。サーバ201は、URL検索動作からの出力として、一致するURL227を含むとともに一致する各URL毎にその登録ID231及び登録時間を含むリストを有するウェブページを戻す。
【００２７】
なお、サーバ201はURLを登録するが、前述した技術は、データ項目をフェッチするために使用できる任意の種類のロケータ又は識別子と共に使用することができる。このため、ドキュメントロケータという総称は、以下では、時として、データ項目をフェッチするために使用できる任意の他の種類のロケータ又は識別子のURLのための総称として使用される。登録に必要なものは以下の通りである。
・以下の3つのものを互いに関連付けるサーバ201が利用可能なデータ構造
サーバ201がアクセスできる登録されるべきデータ項目のコピー
登録時にデータ項目のオリジナルをフェッチするために使用されるドキュメントロケータ
サーバ201がアクセスできるコピーを独自に識別するコピー用の登録識別子
・サーバ201がコピーをフェッチすることにより応答するコピー用のドキュメントロケータ
【００２８】
コピー223に関して行なわれる動作
サーバ201の実用性をさらに高める多くの動作をバージョンコピー223に関して行なうことができる。これらのうちには、相対リンク書き換え、コピー223のフィンガプリント、コピー223をそれらのフィンガプリントに基づいて比較すること、データベース213内のコピーのコンテンツに指標を含ませること、がある。
【００２９】
リンク書き換え
ウェブページはHTML（ハイパーテキストマークアップ言語）を使用して定められる。HTMLにおいて、他のウェブページへのリンクは、プロトコル105とホスト名107とウェブページソース情報109とを含む完全URLを指定する絶対リンクとして、あるいは、相対リンクとして書き込むことができる。相対リンクは、該相対リンクを含むウェブページをフェッチするためにユーザにより使用されるURLに対して付加されるウェブページソース情報109からなる。相対リンクを使用して形成されるURLは、常に、相対リンクを含むウェブページをフェッチするために使用されるURLからのホスト名及びプロトコルを有するため、相対リンクは、相対リンクを含むウェブページと同じホスト中に含められる他のウェブページを参照するために使用される。
【００３０】
URLがサーバ201に登録され且つURLによって指定されたウェブページのコピーがバージョンコピー223に対して加えられると、無論、コピー223は、もはや、コピー223のオリジナルが書き込まれたホストのためのウェブサーバ内にはなく、また、コピー223における相対リンクは、サーバ201を指定するURLである、コピー223をフェッチするために使用されるURLから仕上げられる。この問題を扱うため、登録されるURLにより参照されるウェブページをサーバ201がフェッチするとともに、サーバ201がウェブページのコピーをバージョンコピー223に対して加えると、サーバは2つのコピーを形成する。これらのコピーの一方、すなわち、オリジナルコピー222は、登録時にフェッチされたオリジナルの正確なコピーであり、他方のコピー、すなわち、書き換えコピー224は、バージョンコピー223における相対リンクの全てが書き換えられたコピーである。これにより、ユーザが相対リンクをクリックすると、サーバ201は、登録バージョンURL227のようにフェッチされたウェブページが得られたホストのためのホスト名から形成されるURLにより指定されたサーバ111（i）へクライアント125をリダイレクトするためのgcプログラムを使用する絶対URLを与える。サーバ201がこれを行なうために必要とする情報は、登録されるURLから得られる。また、好ましい態様は、殆どの絶対リンクにおいてURLも同じ仕方で書き換える。この場合、gcプログラムは、クライアント125を、当初の絶対リンクで指定されたサーバ111（i）へリダイレクトする。
【００３１】
バージョンコピー223のフィンガプリント
ドキュメントのフィンガプリントは、該ドキュメントよりも十分に小さい値であって、ドキュメントが互いにどの程度似ているかを決定するために2つのドキュメントのフィンガプリントを比較できるような仕方でドキュメントから形成される値である。フィンガプリントは、ハッシュ関数により形成されるドキュメントのダイジェストとは異なっており、そのため、2つのダイジェストの比較は、ダイジェストを生成したドキュメントが同一であるかどうかを示すことしかできない。一方で、フィンガプリント比較は、比較されるドキュメントの類似性の度合いを示している。ドキュメントサーバ201は、ドキュメントが登録されるときに、フィンガプリンティングコード209を使用して、登録されるドキュメントのそれぞれのフィンガプリントを形成し、また、フィンガプリントはフィンガプリント情報219内に記憶される。好ましい態様で使用されるフィンガプリンティングアルゴリズムについては、後に詳細に説明する。
【００３２】
バージョンコピー223の比較
サーバ201内の各バージョンコピー223はフィンガプリントを有するため、任意の2つのバージョンコピー223（i）及び（j）間の類似性は、バージョンコピー223（i）のためのフィンガプリントとバージョンコピー223（j）のためのフィンガプリントとを比較することにより決定することができる。この比較は、ドキュメント比較コード211によって行なわれる。好ましい態様において、サーバ201は、各バージョンコピー223毎に、特定のバージョンコピー223とそのオリジナルURLが特定のバージョンコピーと同じホスト名107を有するバージョンコピー223との間のフィンガプリント比較の結果のリストを保持する。
【００３３】
ウェブクライアント125のユーザが所与のバージョンコピー223におけるバージョン履歴を要求すると、サーバ201は、ユーザが入力としてクライアント125に対して与える登録ID231に関連するオリジナルURLと同じオリジナルURL233を有するバージョンコピー223のためのリンクのリストだけではなく、フィンガプリント比較の結果のリスト上に現れるバージョンコピー223へのリンクのリストも戻す。リンクと共に含まれているのは、リンクにより指定されたバージョンコピーの所与のバージョンコピー223との類似性の度合いに関する値である。他の態様において、ユーザは、ドキュメントのための登録IDを与えるだけで、あるいは、ユーザインタフェースウェブページ225のリストからドキュメントへのリンクを選択するだけで、バージョン履歴動作とは無関係に、類似するバージョンコピーのリストを得ることができてもよい。2つのバージョンコピー223間の類似性の度合いを示すことができるということは、以下のような2つの重要な利点を有する。
・所与のオリジナルURLによって参照されるバージョンのバージョン履歴が形成されると、バージョンの類似性の度合いにより、ユーザは、バージョン間の関係に関する幾つかの憶測を行なうことができる。
・同じ又は非常に類似するコンテンツが同じウェブサイトからの2つの異なるオリジナルURLに関連付けられた場合、異なるオリジナルURLにおけるコピー223間の類似性の度合いは、オリジナルURLに関連するコンテンツがほぼ同じであることを示している。
【００３４】
バージョンコピー223の指標付け
2004年3月26日に提出されたHuらによるUSSN 10/810,756の「A database management system with persistent, user-accessible bitmap values」に記載された技術は、データベース213内のバージョンコピー223のコンテンツのビットマップ指標を形成するために使用されてもよい。バージョンコピー223の全てに関して指標を形成することができ、あるいは、所与のオリジナルURLに関連するバージョンコピー223に関して別個の指標を形成することができる。
【００３５】
サーバ201を使用できる方法の例
サーバ201は以下の特徴を有する。
・サーバは、ドキュメントを発するウェブサイトを利用できない場合に、ウェブドキュメントのバージョンコピー223を与えることができる。
・登録は、ドキュメントを発するウェブサイトで現在利用できるウェブドキュメントのバージョンのバージョンコピー223を形成するとともに、コピー及びオリジナルURLをバージョン番号に関連付け、それにより、ウェブドキュメントのバージョンを監視できるようにする。
・登録が自動であってもよい。
・バージョンコピー223のオリジナルURLが検索されてもよい。
・バージョンコピー223は、バージョンコピーの比較を可能にするフィンガプリント819に対して関連付けられる。
【００３６】
以下、これらの特徴をうまく利用するサーバ201の使用について説明する。
【００３７】
共有情報のためのロバストソースとしてのサーバ201
ビジネスは、PC上に位置された幾つかのパーソナルウェブページを含む多くの内部ウェブサイトを持つイントラネットを有していてもよい。これらのサイトのうちの1つにあるウェブドキュメントは、無論、サイトが動作しているときにのみ利用できる。サーバ201は、高可用性プロセッサ・データベースシステムで実施されるサーバ201はこの問題を解決することができる。一般に常に利用できる必要がある内部ウェブサイトからのウェブドキュメントは、サーバ201に自動的に登録することができる。ビジネスワーカーは、ドキュメントのための登録バージョンURL227を使用してドキュメントをフェッチすることができる。前述したように、サーバ201は、最初にドキュメントのオリジナルURL233を使用してウェブクライアント125をドキュメントのホームウェブサイトへとリダイレクトしようとすることにより、登録バージョンURLに対して応答し、また、それが失敗する場合には、URL227の登録ID231によって参照されるバージョンコピー223を与える。この仕方で使用されるサーバ201は、ビジネスのイントラネットを検索するために修正された検索エンジンと組み合わせられてもよい。検索エンジンがウェブドキュメントを指標付けすると、ドキュメントもサーバ201と共に登録され、検索エンジンにより戻されるURLのリストは、ウェブドキュメントの登録されたコピー223のためのURL227のリストである。
【００３８】
ウェブドキュメントのバージョンのソースとしてのサーバ201
現在、ビジネスがウェブドキュメントの履歴的バージョンを1つのURLを介して利用可能にしたい場合には、その1つのURLに応答して形成されるウェブページが履歴的なバージョンのリストでなければならず、また、このリストは、新たなバージョンが利用可能になる度に更新されなければならない。サーバ201を用いると、ビジネスは、利用可能なバージョンコピー223を見てそれらのうちの任意のコピーを引き出すために、新たなバージョンのそれぞれをサーバ201に登録するだけで済み、また、ユーザは、バージョンのうちの1つのための登録バージョンURL227と共にバージョントラッキング動作を使用するだけで済む。
【００３９】
ユーザが保持すること且つ他人が利用できるようにすることをユーザが望むウェブドキュメントのバージョンのための記憶場所としてのサーバ201
現在、誰かが該本人及び他人が現在興味を持っているウェブドキュメントのバージョンを見つける場合、これらの者は、その後に全く機能しないかもしれないウェブドキュメントのためのURLを受け、あるいは、現在興味を持っているドキュメントのバージョンとは異なるドキュメントのバージョンを検索する。この状況は、興味のあるウェブドキュメントのバージョンを登録し且つその登録バージョンURL227を登録されたバージョンに興味がある者に対して与えることにより回避できる。
【００４０】
好ましい態様におけるユーザインタフェースの詳細：図3〜5
図3は、ウェブページを登録し、ウェブページをフェッチし、あるいは、サーバ201に記憶される特定のウェブページのバージョンを監視するためにサーバ201を使用することを望むユーザに対してサーバ201が戻す最初のユーザインタフェースウェブページ225を示している。303は、オリジナルドキュメント又はコピー223をサーバ201にフェッチさせるため或いはサーバ201内のドキュメントのバージョンをサーバ201に監視させるために、登録されるべきURL、登録バージョンURL227、又は、登録ID番号231をユーザが入力してもよい書き込み可能領域である。URL又は登録ID番号が入力されると、ユーザは、動作を指定するために領域303の下側にあるボタンの１つをクリックする。ラベルから分かるように、ユーザがボタン305をクリックすると、サーバ201は、領域303内のURLを登録する。URL登録時に、サーバ301は、315で示されるコンテンツを有するウェブページを戻す。図示のように、戻されたページは、登録されたURL317及び登録によって生じる登録バージョンURL227を表示する。URL317が既に登録されていた場合には、メッセージ315がそのように表示する。
【００４１】
領域303がURL227又は登録ID231を含む場合、起こる事柄は、ボタン307〜313のうちのどれをユーザがクリックするかによって決まる。
・ユーザがコンテンツ取得ボタン307をクリックする場合、サーバ201は、ドキュメントのオリジナルURLによって指定されたサーバ111（i）への接続を確立しようとするとともに、ウェブクライアント125をサーバへリダイレクトすることを試みる。試みが失敗する場合、サーバ201は、URL227又は登録ID231によって指定されたバージョンコピー223をフェッチするとともに、それをクライアント125へ与える。サーバ301がクライアント125をリダイレクトできるときに現れるウェブページは、単に、サーバ111（i）上で現在利用できるバージョンである。一方、リダイレクションが失敗し且つサーバ301がバージョンコピー223（i）をフェッチする場合、現れるものは、図4に示されるウェブページ401である。ウェブページ401は、書き換えコピー224から生成されるとともに、リンクが書き換えられたことを提示し且つコピー223（i）が登録された日時を示す強調表示された警告文403を含む。
・ユーザが監視要求ボタン309をクリックすると、サーバ301はウェブページ501（図5）を生成する。ウェブページ501は、URL227又は登録ID231によって指定されたコピー223のバージョンのリスト503と、URL227によって指定されたコピーに類似するコピー223のリスト505とを含む。各リストエントリでは、コピー223の登録IDとコピー223が登録された時間とが指定され、また、類似するコピーのリストにおいて、各エントリは、507において類似性の度合いに関する値をさらに含んでいる。最後に、509において、ページは、監視が行なわれた時期を示している。リストエントリをクリックすると、エントリにより表わされるバージョンコピー223の書き換えコピー224が戻る。
・ユーザがバージョン取得ボタン311をクリックする場合、戻されるものは、URL227又は登録ID231により指定されたバージョンコピー223の書き換えコピー224である。ディスプレイは、図4に示されるものと同じである。
・ユーザがオリジナル取得ボタン313をクリックする場合、戻されるものは、URL227又は登録ID231により指定されたバージョンコピー223のオリジナルコピー222である。
【００４２】
無論、このインタフェースの多くの他のバージョンが考えられる。幾つかの用途においては、全ての操作が必要とされるわけではない。例えば、ウェブドキュメントの1つのバージョンが常に利用でき且つドキュメントが自動的に或いはシステムマネージャだけによって登録されることをサーバ201が確認しようとするだけである場合には、コンテンツ取得操作だけで済む場合がある。同様に、サーバ201の使用がバージョンの監視のみであり、バージョンが自動的に或いはシステムマネージャだけによって登録される場合には、監視操作だけで済む場合がある。多くの態様において、システムマネージャはオリジナルコピー224に興味を持っており、そのため、ユーザは書き換えコピー224だけしか見ない。他の態様において、インタフェースは、他の操作、例えばバージョン監視操作とは無関係なドキュメント比較操作又はURL検索操作のためのボタンを提供してもよい。
【００４３】
登録ドキュメントテーブル215の詳細
好ましい態様において、登録ID231をウェブページのオリジナルURL233に関連付ける情報、及び、フィンガプリンティング及びドキュメント比較のために必要な情報は、リレーショナルデータベースシステムにおける登録ドキュメントテーブル215内に含まれている。図6は、テーブル215のエンティティ関係図及びテーブル間の関係である。図6の破線ボックスは、テーブル間の関係及び図2に示される情報の種類を示している。
【００４４】
登録情報217から始めると、この情報は、2つのテーブル、すなわち、PAGE CACHEテーブル601及びREGISTERED URLテーブル607中に含まれている。REGISTERED URLテーブル607は、登録ID231とオリジナルURL233を関連付けている。各登録バージョンコピー223毎にテーブル607の列が存在する。この議論に関連する列の領域は、バージョンコピー223のためのオリジナルURL233を含むREG URL領域233、バージョンコピー223のための登録ID231を含み且つ列のための固有の鍵であるREG ID領域、バージョンコピー223が登録された日時を示すデータスタンプを含むREGISTER TIME領域である。
【００４５】
PAGE CACHEテーブル601は、登録ID231をバージョンコピー223に関連付ける。各登録バージョンコピー223毎にテーブル601の列が存在し、したがって、REGISTERED URLテーブル607の各列毎にテーブル601の列が存在する。この文脈に関連する列の領域は、バージョンコピーのための登録ID231を含み且つ列のための固有の鍵であるREG ID領域、CONTENT ENCODING、CONTENT TYPE、及びLAST MODIFIEDであり、これらの全ては、バージョンコピー223に関する情報と、バージョンコピー223の2つのバージョン、すなわち、FULL_CONTENT領域の書き換えバージョン224及びORIG CONTENT領域のオリジナルバージョン222とを含む。また、PAGE CACHEテーブル及びREGISTERED URLテーブルの両方におけるREG IDの発生は、オリジナルURLをバージョンコピー223に関連付ける。
【００４６】
フィンガプリント情報219はFINGER_PRINTテーブル609内に含まれている。各登録ID231毎に、したがって各バージョンコピー223毎にテーブル609の列が存在する。列の関連領域は、バージョンコピー223のための登録ID231を含み且つ列のための固有の鍵であるREG ID領域、バージョンコピーのオリジナルバージョン222から形成されたフィンガプリントを含むFINGER PRINT領域、REG ID領域の値によって識別されるバージョンコピー223と同じウェブサイトからくるとともにREG ID領域の値によって識別されるバージョンコピーとかなりの類似性があるバージョンコピー223のリストを含むSIMILAR PAGES領域である。リストは、各バージョンコピー毎に、バージョンコピーの登録IDと、そのバージョンコピーと列のREG ID領域の値により識別されるバージョンコピーとの間の類似性の度合いを示す値とを含む。LAST FUZZY MATCH TIME領域は、SIMILAR PAGES領域内のリストが更新された最後の時間を示す日時スタンプを含む。
【００４７】
リンク情報221は、REFERENCED LINKテーブル617及びALL LINKテーブル613内に含まれている。バージョンコピー223中で見出される異なるリンクのそれぞれは、固有のリンクID値によって識別される。ALL LINKテーブル613のリンクのそれぞれにおいて列が存在する。リンクのための列は、（LINK ID領域の）リンクIDを、（LINK URL領域の）オリジナルウェブページにおける絶対リンク又は相対リンクにより指定されたURLに対応する絶対URLに対して関連付ける。LINK ID領域の値は列のための固有の鍵である。REFERENCED LINKテーブル617は、登録IDを、登録IDにより指定されたバージョンコピー223におけるリンクのためのリンクIDに対して関連付ける。登録IDのそれぞれにおいては、登録IDにより指定されたバージョンコピー223の各リンク毎に、列が存在する。REG ID領域はバージョンコピーのための登録ID231を含み、また、LINK ID領域はREG ID領域におけるリンクのうちの1つのためのリンクIDを含む。登録IDによるREFERENCED LINKテーブル617に対する問い合わせは、登録IDによって識別されたバージョンコピー223におけるリンクのためのリンクIDのリストを戻し、その後、リンクIDをALL LINKテーブルで使用して、そのリンクのためのURLを得ることができる。好ましい態様において、リンク情報221は、2つのバージョンコピー233がそれらのフィンガプリントを比較できるだけの十分な類似性を持っているかどうかに関する閾値決定を行なうために使用される。
【００４８】
ウェブサーバ201の動作の詳細
図3〜5のグラフィカルユーザインタフェースと併せて図6のテーブルを詳しく調べると、URLを登録して、登録URLのコンテンツを取得し、バージョンを監視し、コピー223の書き換えバージョン224を取得し、コピー223のオリジナルバージョン222を取得する動作がどのようにして行なわれるかが直ぐに分かる。
【００４９】
登録
オリジナルURLがエントリユーザインタフェースページ301の領域303に入力され且つユーザがURL登録ボタン305をクリックすると、登録コード207は、登録のための固有の登録ID231を取得するとともに、REG ID領域の値が登録ID231となるPAGE CACHEテーブル601を形成し、その後、オリジナルURLによって参照されるコンテンツのコピー222を列のORIG CONTENT領域内に保存する。また、登録コード207は、コピー222から関連する値をCONTENT ENCODING領域及びCONTENT TYPE領域へ与えるとともに、リンク書き換えコード205を使用してコピー222におけるリンクを書き換え、列のFULL CONTENT領域内に記憶されるコピー224を生成する。また、リンク書き換えコード205は、ALL LINKテーブル613及びREFERENCED LINKテーブル617において必要とされるリンクのための列も形成する。その後、登録コードは、タイムスタンプ及びREGISTERED URLテーブル607におけるオリジナルURL並びに新たな登録識別子のための新たな列を新たなエントリにする。態様に応じて、登録コード207は、登録時間に新たなバージョンコピー223のオリジナルバージョン222のフィンガプリントを行なうフィンガプリンティングコード209を呼び出してもよく、あるいは、その後にフィンガプリンティングが行なわれてもよい。フィンガプリントが行なわれると、新たなバージョンコピー223及びフィンガプリントのためにFINGER PRINTテーブル609内に列が形成される。新たなバージョンコピー223のためのフィンガプリントと同じウェブサイトからの他の全てのバージョンコピー223のためのフィンガプリントとを比較するにはかなりのリソースが必要であるため、SIMILAR PAGESにおけるリストの形成は一般に後で行なわれる。自動登録は、オリジナルURLがウェブクローラにより与えられる点を除き、前述したとほぼ同様に働く。
【００５０】
コンテンツ取得
ユーザが登録バージョンURL227又は登録ID231を領域303に対して入力するとともにコンテンツ取得ボタン307をクリックすると、サーバ201はバージョン位置コード203を実行する。入力された登録バージョンURL227からの入力登録ID231又は登録ID231は、REGISTERED URLテーブル607内における登録ID231のための列の位置を突き止めるために使用され、サーバ201は、REG URL領域におけるオリジナルURL233を使用して、オリジナルURL233により指定されるサーバとの接続を確立しようとする。サーバ201が成功すると、サーバは、そのサーバに対してウェブクライアント125をリダイレクトする。一方、成功しない場合、サーバ201は、PAGE CACHE 601における登録IDの列から登録IDにより指定されるバージョンコピーの書き換えコピー224をフェッチする。書き換えコピー224を伴う表示403における日時出力は、REGISTERED URLテーブル607の登録IDの列におけるREGISTER TIME領域から得られる。
【００５１】
特定のオリジナルURLを有するウェブドキュメントの登録バージョンの監視
ユーザが登録バージョンURL227又は登録ID231を領域303に対して入力するとともに監視要求ボタン309をクリックすると、サーバ201は、バージョン位置コード203の一部であるコードを実行する。このコードの実行により、サーバ201は、登録バージョンURL227又はREGISTERED URLテーブル607における登録IDに関連するオリジナルURLを使用して、そのREG URL領域233がオリジナルURLの値と同じ値を有するREGISTERED URLテーブル607の列の全ての位置を突き止める。無論、これらの列は、オリジナルURLに対応するサーバ201内に記憶されたウェブドキュメントのバージョンに対応している。その後、このコードにより、サーバ201は、これらの列を使用して、各列毎に登録バージョンURL227を生成するとともに、登録バージョンURL227を使用してウェブページ501におけるバージョン503のリストを生成する。
【００５２】
所与の登録バージョンに類似するウェブドキュメントの登録バージョンの監視
好ましい態様において、ウェブページ501は、登録バージョンURL227又は登録ID231により指定された登録ウェブドキュメント223と類似する登録ウェブドキュメント223のリスト505も含んでいる。好ましい態様においては、バージョン位置コード203により、サーバ201は、テーブルFINGER PRINT 609における登録ID231のための列内のSIMILAR PAGES中の類似性値及び登録IDのリストからリスト505を形成する。
【００５３】
ウェブドキュメントの特定のバージョンコピー223の検索
ユーザが登録バージョンURL227又は登録ID231を領域303に対して入力するとともにバージョン取得ボタン311をクリックすると、バージョン位置コード203により、サーバ201は、入力された登録ID231又は入力されたURL227からの登録ID231により指定されたPAGE CACHEテーブル601の列における領域FULL CONTENTから書き換えコピー224を検索する。ユーザが同じことを行なってオリジナル取得ボタン313をクリックすると、バージョン位置コード203により、サーバ201は、その列内の領域ORIG CONTENTからオリジナルコピー222を検索する。
【００５４】
リンク書き換えの詳細
前述したように、サーバ201がウェブドキュメントを登録すると、サーバ201は、ウェブドキュメントにおける相対リンクを書き換えて、ウェブドキュメントの書き換えコピー224を生成する。サーバ201が書き換えを行なうために実行するコードは、登録されるウェブドキュメントで直面するURLのそれぞれを書き換えるために以下の方法を使用するリンク書き換えコード205である。
【００５５】
URL rewriteUrl(URL baseURL, URL url)
｛
1.第1に、baseURL及びurlに基づいて絶対URLを構成する。なお、urlが相対URLでない場合には、絶対URLはurlに等しい。
2.第2に、urlがHTML形式動作、例えば<form action=“....”>からのものである場合、絶対URLを戻す。
3.さもなければ、
http://wru-server-host-and-path?gc=1&url=absoluteURLを構成するとともに、それを戻す。なお、ここで構成されるものは、オリジナルURL233を含むが登録ID231を含まない登録バージョンURL227の特定の形式である。
【００５６】
その後、サーバ201は、この特定の形式のURL227を、オリジナルリンクにおけるURLの代わりに書き換えコピー224中に書き込む。ユーザが書き換えコピー224を見ており且つ書き換えられたURLを用いてリンクをクリックすると、サーバ201は、特定の形式の登録バージョンURL227を受けるとともに、標準登録バージョンURL227に関して前述したように応答する。そして、サーバは、特定のURL227に含まれる絶対URLにより指定されたウェブドキュメントに対してウェブクライアント125をリダイレクトする。他の態様において、そのウェブドキュメントが利用できず且つサーバ201におけるURLに対応する記憶されたコピーが存在する場合、サーバ201は、そのコピーをフェッチし、また、場合によっては、その登録日がそれをリンクを含むコピーに対して最も関連付けるコピーをフェッチしてもよい。実際には、幾つかの態様において、サーバ201は、最初に、現在のバージョンをフェッチするのではなく、関連する記憶されたコピーをフェッチしようとしてもよい。HTML形式動作構成<form action=“url”>におけるURLは特定の形式のURL227を使用して書き換えられない。これは、それらが一般にオリジナルドキュメントのソースであったウェブサーバにおいてのみ利用できる何らかの処理論理へのエントリポイントだからである。一例は<form action=“login.jsp”>である。これを扱うため、HTML形式動作におけるURLは、ソースサーバのための絶対URLとして単に書き換えられる。
【００５７】
また、書き換えコード205により、サーバ201は、既にALL LINKテーブル613内に存在していない絶対URLと直面し或いは該絶対URLを形成するときにはいつでも、ALL LINKテーブル613に対して1つの列を加え、また、ALL LINKテーブル613内の絶対URLのリンクID及びバージョンコピー223の登録IDのためのREFERENCED LINKテーブル617の1つの列に存在していない絶対URLと直面し或いは該絶対URLを形成するときにはいつでも、書き換えコピー224が属するバージョンコピー223のためのREFERENCED LINKテーブル617の列を加える。
【００５８】
フィンガプリンティングの詳細
概要
類似するバージョンコピー223のための登録URLを見つける全体の流れは以下のとおりである。
・所与の登録バージョンURL227により表わされるコピー223のために後述するアルゴリズムを使用してフィンガプリントを生成する。
・行なわれたリンク書き換えにより生成された絶対リンクのための列を配置して、ALL LINKテーブル613及びREFERENCED LINKテーブル617において必要とされる書き換えバージョン224を生成する。
・所与のコピー223のためのオリジナルURL233が与えられると、そのオリジナルURL233が同じホスト名107を有する他の全てのコピー223のためのフィンガプリント及び登録ID231のリストと、ホスト名としてのポート及び所与のコピーのオリジナルURLのためのポートとを得る。
・正式な基準を使用してリストをフィルタ処理して、所与のコピー223との重要な類似性を持たないコピー223を直ちに削除する。好ましい態様において、これは、REFERENCED LINKテーブル617内の情報を使用して行なわれる。
・フィルタを通過するコピー223に関して、以下で定められるファジーマッチングアルゴリズムをフィンガプリントに対して適用する。
・所与のコピー223との類似性の度合いが妥当であるコピー223における類似性の度合い及び登録ID231のリストを形成する。
【００５９】
フィンガプリンティングアルゴリズム：図7及び8
この節では、フィンガプリントが形成されたHTMLドキュメント間の類似性の度合いを決定するために同じ技術を使用して生成された他のフィンガプリントと比較できるフィンガプリントをHTMLドキュメントから生成するために好ましい態様で使用される技術について説明する。フィンガプリントは類似性の度合いを決定するために比較することができる。なぜなら、フィンガプリントは、HTMLドキュメントのコンテンツのサイズの小さい表示と共に、HTMLドキュメント中に含まれる構造的情報の全てのサイズの小さい表示を含むからである。HTMLドキュメントをフィンガプリントするためのここで説明する技術は、表示がドキュメントについての構造的情報をドキュメントのコンテンツから明確に分離する任意のドキュメント表示における使用のために適合させることができる。
【００６０】
図7において707で示されるように、HTMLドキュメントはツリーと見なすことができる。このツリーには、2つの種類のノード、すなわち、HTMLドキュメントにおける構造的な情報を表わすノード709と、HTMLドキュメントの実際のコンテンツを含むノード711とが存在する。コンテンツノード711は一般にテキストを含む。701で示されるツリーは、701で示される簡単なHTMLドキュメントから形成される。ここでは703で示されるように、構造的な情報はHTMLタグによって与えられる。各タグは括弧で囲まれており、一方、705で示されるように、コンテンツには括弧がない。タグは、一般に、例えば<html>,</html>のように対をなしている。この場合、対を成す1番目のタグは、タグが適用されるHTMLドキュメントの部分の始まりを示しており、2番目のタグは終わりを示している。一対のタグは、それと入れ子にされる他のタグ又はタグ対を有していてもよい。ツリー707において、各タグノード709は、ドキュメント701からの対応するタグを含み、また、各テキストノード711は対応するテキストを含む。
【００６１】
HTMLドキュメントの類似性を決定するためにフィンガプリントが有用であり得る場合、フィンガプリントは、そのHTMLタグによって規定されるドキュメントの構造及びそのテキスト又は他のコンテンツを取得しなければならないが、それらを形成するHTMLドキュメントよりもかなり小さくなければならない。好ましい態様で使用される技術において、タグのサイズは、それらのタグをエンコードし且つHTMLドキュメント中のタグをそれらのエンコードされたバージョンと置き換えることにより減少される。コンテンツの比較可能性を保ちつつフィンガプリントにおけるコンテンツのサイズを減少させるため、以下のような幾つかの技術を利用できる。
1.固定のサイズのメッセージダイジェストを1つのメッセージから形成するMD5などのメッセージダイジェストアルゴリズムを使用する
2.安全ハッシュ規格のような標準的なハッシング技術を使用してコンテンツをハッシュする。
3.テキストをその一部及びおそらく全テキストの長さと置き換える。
【００６２】
最初の2つの技術は周知である。MD5に関する詳細においては、http://www.faqs.org/rfcs/rfc1321.htmlを参照されたい。また、安全ハッシュ規格に関する詳細においては、http://www.itl.nist.gov/fipspubs/fip180-1.htmを参照されたい。好ましい態様は第3の選択を使用する。例えば、本発明者らは、最初の（又は中間の、あるい最後の）ワード＋テキスト長さを使用するように選択することができる。本発明者らは、最初の（又は中間の、あるい最後の）ブランクのない文字＋テキスト長さを使用してもよい。第3の選択は、最初の2つの選択よりも短いテキストの表示を生成するとともに、計算が少なくて済む。そして、その利点は、ハッシュコード又はダイジェストを使用する技術ほどテキストの変化を検出する可能性が高くないという点である。
【００６３】
好ましい態様において、テキストは、テキストの最初の2つのブランクがない小文字＋テキスト長さ情報からなるテキストの特徴付けに取って代えられる。他の態様は他の文字を選択してもよい。この場合、選択は一般に言語によって決まる。長さ情報は58によってモジュール化され、その後、64がモジュール結果に対して加えられる。モジュール化及び64の付加は、人間が読み取ることができるASCII文字によって表わすことができる長さ情報を形成するのに役立つ。なお、64は「＠」のためのASCIIコードであり、121は「y」のためのASCIIコードである。これらの2つの数すなわち64及び58は、発見的に選択されるとともに、調整可能なシステムパラメータでなければならない。他の態様は、MD5又はテキストの特徴付けを行なうための何らかの他のハッシュ規格を使用してもよい。
【００６４】
図8は、アルゴリズム805及びアルゴリズムをHTMLドキュメント701に対して適用することにより得られるフィンガプリント819を示している。801には、ドキュメント701で使用されるHTMLタグのエンコーディングが示されている。テーブル801の各列は、開始タグ及びその対応する終了タグのためのエンコーディングを有する。したがって、列803は<HTML>及び</HTML>のためのエンコーディングを与えている。
【００６５】
805には、好ましい態様で使用されるフィンガプリンティングアルゴリズムのための擬似コードが示されている。最上位において、アルゴリズムは、3つの部分、すなわち、初期化807、フィンガプリント生成ループ809、及び817におけるフィンガプリントの戻し、を有する。初期化807は、フィンガプリント変数をnull文字列へ初期化する。ループ809は、全HTMLドキュメントが読み取られて処理されるまで実行する。ツリー707には3つの異なる種類のノード、すなわち、HTML開始タグのためのノード、HTML終了タグのためのノード、及びコンテンツを含むノードが存在する。IF命令文811はHTML開始タグを扱う。すなわち、IF命令文は、開始タグに対応するエンコードされた形式を見出し、エンコードされた形式をフィンガプリントに配置する。IF命令文813は、HTML終了タグに関して同じことを行なう。コンテンツノード711は、テキストの最初の2つのブランクが無い小文字をフィンガプリントに加えた後に、その値がテキストの長さにより決定される第3の文字をフィンガプリントに加えるために前述したように機能するIF命令文815によって扱われる。
【００６６】
図8のフィンガプリント819は、HTMLドキュメント701から該アルゴリズムを使用して生成された。エンコードされた<HTML>開始タグが821に示されている。エンコードされた</HTML>終了タグは825に示されている。また、テキストHello!を特徴付けるために使用される文字列は823に示されている。図707のツリーに関して、アルゴリズムは、ノード709（b）を処理し且つ処理結果をフィンガプリント819に対して加えることによりフィンガプリント819を生成する。以下、ノード709（d）、ノード709（f）、ノード711（a）、ノード709（g）、ノード709（h）、ノード711（b）、ノード709（i）、ノード709（e）及びノード709（c）に関しても同様である。
【００６７】
フィンガプリントを使用するHTMLドキュメントの類似性の計算：図9
直感的に、前述したように2つのHTMLドキュメントから生成される2つの文字列フィンガプリントが与えられると、フィンガプリントが共通に有する部分文字列中の文字の総数が多くなればなるほど、2つのフィンガプリントを生成したHTMLドキュメントの類似性の度合いも大きくなる。
【００６８】
図9は、該直観に基づくアルゴリズム901における擬似コードである。以下で述べるアルゴリズムの詳細は、フィンガプリントで使用されるHTML開始タグの表示に依存しているが、アルゴリズムは、他のドキュメント表示から形成されたフィンガプリントに対しても容易に適合され得る。アルゴリズムは、引数として一対のフィンガプリントfp1及びfp2を利用する。この場合、fp はfp2よりも長くない。アルゴリズムは、ソースフィンガプリントと称される短い方のフィンガプリントから始まり、ソースフィンガプリント中のマップされたHTMLタグのデリミタである最初の「<」を位置付けるとともに、位置付けられた場所から始まる最も長い共通の部分文字列を見つけ出し、その後、共通の部分文字列の後の次の「<」へと移動してこのプロセスを繰り返す。アルゴリズムは、理解する必要がある2つの機能、すなわち、locate substring()及びlongestSubstr()を使用する。
【００６９】
locate Substring()は次の一致する部分文字列を位置付ける。この機能は3つのパラメータをとる。第1のパラメータはソースフィンガプリントである。第2のパラメータは、ソースフィンガプリント中で見つけられるべき部分文字列である。第3のパラメータは、一致のためのソース文字列における開始位置を規定する。例えば、locateSubString（「abcabc」、「ab」、2）は4を戻す。一致が見つからない場合、locateSubStringは（）を戻す。
【００７０】
longestSubStr（fp1, fp2, delimPos）は、fp1の位置delimPosから始まり且つfp2における部分文字列でもある最も長い可能な部分文字列を戻す。例えば、longestSubStr（「xyABCGGD1234」、「8890ABCGGABZGGD1234」、3）は「ABCGG」を戻す。
【００７１】
さらに詳細に続けると、903において、初期化工程は、ソース文字列において位置をマークする2つの変数、すなわち、一致が始まるソースフィンガプリントにおいて現在の位置をマークするlastPos及びソースフィンガプリントにおいて現在の「<」デリミタ文字の位置をマークするdelimPosを初期化する。lastPosは1に初期化され、delimPosは、ソースフィンガプリントにおける最初の「<」に初期化される。フィンガプリント間の類似性は0に初期化される。2つのフィンガプリントの処理はdo whileループ905で行なわれ、ループ905は、更なる左山括弧「<」をソースフィンガプリント中で見つけることができなくなるまで実行する。ループ本体において、行なわれる最初のことは、fp1の部分と現在の「<」文字及びfp2の全ての始まりとの間の最も長い部分文字列一致を探すことである（906）。一致の長さが6文字以上である場合、一致の長さは変数similarityに対して加えられる。現在の一致の長さ又は少なくとも1はlastPosに対して加えられ、また、lastPosで始まると、次の「<」文字が見つけられ、ループ905が繰り返される。ループが終了すると、変数similarityの現在の値をソースフィンガプリントの長さで割ることによりドキュメントの類似性が計算される。
【００７２】
なお、IF命令文906中の数字「6」は発見的に選択される。それは、調整可能なシステムパラメータの一部でなければならない。このパラメータの目的は、見つけられた共通の部分文字列のサイズに下限を付けることである。直感的に、非常に短い部分文字列の一致のみが見つけられる場合、例えばHTMLにおける「<p>」である「<v」が見つけられる場合には、そのような一致が見つけられるという事実は、フィンガプリントを形成したHTMLドキュメントの類似性が少ないことを示している。該アルゴリズムに対する可能な改善として、共通の部分文字列の場所が突き止められたら直ぐに、それをfp2から除去することができ、それにより、fp2の部分が一致に関してさらに検査されないようにする。しかしながら、これは多少時間がかかる。
【００７３】
行なわれるべきフィンガプリント比較の数の制限：図10
サーバ201内の全てのバージョンコピー223に関してフィンガプリントが存在するため、任意のバージョンコピーのためのフィンガプリント819は、任意の他のバージョンコピー223と比較できる。無論、殆どの場合、比較は類似性を見出さないが、フィンガプリントからそれを見つけるには、その実行時間が類似するフィンガプリントにおける場合よりも異なるフィンガプリントにおいてより遅いアルゴリズム901の性能が必要である。ここで必要なものは、フィンガプリント比較を行なう前にドキュメント対をフィルタ処理を行なって、類似するという妥当な可能性を持つドキュメントに関してのみフィンガプリント比較が行なわれるようにする方法である。
【００７４】
好ましい態様においては、ドキュメント対をフィルタ処理するために2つの別個の技術が使用される。1つの技術は、FINGER PRINTテーブル609内の所与のページの列中にSIMILAR PAGESリストを形成する際に使用される。リスト上のページは、所与のページと同じウェブサイトからのページに制限される。他の技術は、類似性が比較されるべきバージョンコピー223中に含まれるリンクの非類似性をチェックすることである。この技術は、以下の所見に基づいている。
・類似するHTMLドキュメントは類似する数のリンクを有する傾向があり、また、リンクは、両方のドキュメントにおける同じウェブサイトへ向かう傾向がある。
・HTMLドキュメントにおけるリンクは、HTMLドキュメントのコンテンツ又はタグが変化する速度よりも十分に遅い速度で変化する。
【００７５】
以上から、ドキュメントサーバ201により比較される一対のバージョンコピー223に関して、対の中の2つのドキュメントがかなり異なる数のリンクを有すること、あるいは、リンクが対の2つのドキュメントにおける同じウェブサイトへ向かわないことを決定できる場合には、対のコピー223が類似しないことは明らかであり、それらのフィンガプリントを比較する必要がない。無論、2つのフィルタリング技術を組み合わせることができる。言うまでもなく、HTMLドキュメントにおけるリンクに関する所見が任意の他のドキュメント表示におけるリンクにも同様に適用され、また、リンクを含む任意の種類のドキュメントに関してフィルタリング技術を使用できることは直ぐに分かる。
【００７６】
サーバ201は、それがREFERENCED LINKテーブル617におけるリンク非類似性に基づいてフィルタ処理する必要があるリンクに関する情報を維持する。フィルタリング操作のために必要とされる全ての情報は、比較されるべきコピー223の登録IDに関してREFERENCED_LINKテーブル617に問い合わせることにより得ることができる。対の各コピー223における問い合わせは、対における各バージョンコピー223毎にリンク数を決定する。また、問い合わせは、バージョンコピー223におけるリンクのためのLINK ID値のリストを戻し、また、これらの値を比較することができる。同じLINK ID値が両方のリストに現れる場合、両方のバージョンコピー223は同じURLへのリンクを有する。
【００７７】
リンクの非類似性に基づいてフィルタ処理するアルゴリズムが図10に示されている。先の説明から予期されるように、アルゴリズムは2つの工程で行なわれる。第1の工程1001は、対の各バージョンコピーが幾つのリンクを含むのかを決定するとともに、それに基づいてフィルタ処理する。linkNum1は対における第1のコピー223内にリンクの数を含み、linkNum2は対における第2のコピー223内にリンクの数を含む。2つの試験1003及び1005が適用され、コピー223の対は、これらの試験のうちの一方を通過しない場合にはフィルタ除去される。試験1003は、組み合わされた数のリンクが7を超えない場合にコピー223の対を単に通過させる。試験1005は、2つのドキュメントにおけるリンクの数同士の差を、2つのドキュメントにおけるリンク数＋2の合計で割り、割り算の結果が1/3よりも小さい場合には対を通過させる。この場合も同様に、使用される数7、2、及び0．3333は発見的に選択される。これらは、システムの調整可能なコンフィギュレーションパラメータの一部となり得る。第1の条件は、これらの2つのURLが共にたった数個の参照リンクしか含んでいない場合にフィルタがそれを通過させるべきであることを示している。第2の条件は、これらの2つのURLの参照リンクの数が所定の範囲内にない場合にフィルタを通過させるべきであることを示している。
【００７８】
第2の工程1007は、2つのページが共通に持っているリンクの数を決定する。totalLinksNumは対のコピー223のうちの1つにおけるリンク数であり、sameLinksNumはコピー223の両方においてリンクが存在する同一のURLの数である。通過条件が1015に示されている。この場合も同様に、試験で使用される数は、発見的に選択されるとともに、調整可能なシステムコンフィギュレーションパラメータでなければならない。条件は、同じリンクの数が参照リンクの総数に比べてかなり多い場合にフィルタがコピー223の対を通過させるべきであることを示している。コピーの対が両方の試験1001及び試験1007を通過すると、サーバ201は対のためのフィンガプリントを比較する。
【００７９】
以上の詳細な説明は、本発明のリポジトリサーバの形成方法及び使用方法を関連技術の当業者に対して説明してきており、また、リポジトリサーバを実施する本発明者が現在公知の最良の形態を説明してきた。関連技術の当業者であれば直ぐに分かるように、本明細書において説明した好ましい態様以外の本発明の多くの実施が可能である。例えば、好ましい態様は、インターネット及びhttpプロトコルにより与えられる環境内で動作し、その結果、好ましい態様の多くの詳細はその環境によって決定される。しかしながら、本発明の原理は、ネットワークを介して一般にアクセスできるドキュメントのコピーがネットワークを介してアクセスできないとき又はネットワークを介して現在アクセスできるバージョンとは異なるバージョンが必要とされるときに、該ドキュメントのコピーにアクセスできるようにする必要性がある任意の状況で使用することができる。
【００８０】
好ましい態様において、リポジトリに記憶されるコピー間に必要な関係、コピーのためのドキュメントURL、リポジトリサーバ内のコピーを識別する識別子、コピー及びそのフィンガプリント、及びコピー及びその類似コピーのリストは、関係データベースシステムにおけるテーブルを使用して保存される。無論、これらのテーブルは、本明細書において説明した形式以外の多くの形式をとってもよく、また、その上、必要な関係を表わすことができるデータ構造の任意の配置は、リレーショナルテーブルとして同様に機能する。本発明の所与の実施は、好ましい態様により行なわれる動作の全てを実行しなくてもよく、あるいは、好ましい態様が実行されない動作を行なってもよい。無論、好ましい態様のユーザインタフェースは、httpプロトコルの要件によって、好ましい態様により行なわれる動作によって、発明者の好みによって決定され、また、多くの他のユーザインタフェースが可能である。
【００８１】
フィンガプリントも用いると、好ましい態様の多くの詳細は、フィンガプリントがHTMLドキュメントから形成されるように設計されるという事実の結果であるが、フィンガプリントを形成して比較するための本明細書において説明した技術は、構造的な構成要素及びコンテンツを有する任意の形式のドキュメントに対して容易に適合されてもよい。
【００８２】
以上の全ての理由により、詳細な説明は、全ての点において例示的と見なされるべきであり、限定的と見なされるべきではなく、また、本明細書において開示された発明の範囲は、詳細な説明からではなく、特許法により許容される十分な範囲をもって解釈されるように請求項から決定されなければならない。
【図面の簡単な説明】
【００８３】
図面中の参照番号は3つ以上の数字を有する。右側の2つの数字は、残りの数字により示される図面における参照番号である。したがって、参照番号203を伴う項目は、図2において項目203として最初に現れる。
【図１】インターネットを介して情報にアクセスするための先行技術のシステムを示す。
【図２】本発明のウェブサーバのブロック図である。
【図３】サーバのGUIのための最上位ウェブページである。
【図４】ページがウェブ上で利用できない場合に現れるウェブページを示す。
【図５】ユーザがバージョン監視を要求する場合に現れるウェブページを示す。
【図６】登録ドキュメントテーブル215のエンティティ関係図である。
【図７】HTMLドキュメント及びドキュメントから形成されるツリーを示す。
【図８】フィンガプリントを形成するためのアルゴリズムを示す。
【図９】ドキュメントを形成したフィンガプリントを比較することによりドキュメントの類似性を決定するためのアルゴリズムを示す。
【図１０】非類似性に関してドキュメントをフィルタ処理するためのアルゴリズムを示す。
【図１】
2007536643.tif 000006
【図２】
2007536643.tif 000007
【図３】
2007536643.tif 000008
【図４】
2007536643.tif 000009
【図５】
2007536643.tif 000010
【図６】
2007536643.tif 000011
【図７】
2007536643.tif 000012
【図８】
2007536643.tif 000013
【図９】
2007536643.tif 000014
【図１０】
2007536643.tif 000015
【手続補正書】
【提出日】平成19年1月10日(2007.1.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークを介してアクセス可能であり、クライアントからネットワークを介して受けられたドキュメントロケータに応じてドキュメントを供給するリポジトリサーバであって、
リレーショナルテーブルと、
ドキュメントのための第1のドキュメントロケータを受け、それに応答して、第1のドキュメントロケータを使用してドキュメントのコピーを他のサーバからネットワークを介してフェッチし、リポジトリサーバにアクセスできる記憶装置内にコピーを記憶し、リレーショナルテーブル内の固有の鍵を記憶装置内のコピーに対して関連付け、固有の鍵を含むコピーのための第2のドキュメントロケータを形成するドキュメントレジストラと、
第2のドキュメントロケータがリポジトリサーバで受けられるときに固有の鍵を使用して記憶されたコピーをクライアントへ供給することにより応答する登録ドキュメントプロバイダと、
を含むリポジトリサーバ。
【請求項２】
登録ドキュメントプロバイダは、供給される記憶されたコピーにより、記憶されたコピーが供給されたことを示す、請求項1記載のリポジトリサーバ。
【請求項３】
ドキュメントレジストラは、第1のドキュメントロケータと固有の鍵とを関連付け、
登録ドキュメントプロバイダは、第2のドキュメントロケータがリポジトリサーバで受けられると、関連付けられた第1のドキュメントロケータを使用してドキュメントが現在ネットワークを介してアクセスできるかどうかを決定し且つドキュメントが現在ネットワークを介してアクセスできないときにだけ記憶されたコピーをクライアントに対して供給することにより応答する、請求項1記載のリポジトリサーバ。
【請求項４】
リポジトリサーバは、記憶されたコピーが供給されるべきことを示す表示を第2のドキュメントロケータと共に受け、
登録ドキュメントプロバイダは、それに応答して、記憶されたコピーをクライアントへ供給する、請求項3記載のリポジトリサーバ。
【請求項５】
登録ドキュメントが現在ネットワークを介してアクセスできることを登録ドキュメントプロバイダが決定すると、登録ドキュメントプロバイダは、関連付けられた第1のドキュメントロケータを使用して、クライアントを他のサーバへリダイレクトする、請求項3記載のリポジトリサーバ。
【請求項６】
第2のドキュメントロケータは第1のドキュメントロケータのコピーを含み、
登録ドキュメントプロバイダは、第1のドキュメントロケータのコピーを関連付けられた第1のドキュメントロケータとして使用する、請求項5記載のリポジトリサーバ。
【請求項７】
ドキュメントレジストラは、記憶されたコピーにおける相対リンクを絶対リンクとして書き換える、請求項1記載のリポジトリサーバ。
【請求項８】
書き換えられた各絶対リンクは、リポジトリサーバを指定するドキュメントロケータを含み、絶対リンクに対応する相対リンクにより指定されたドキュメントを指定するドキュメントロケータを含み、
登録ドキュメントプロバイダは、含められたドキュメントロケータを使用して、書き換えられた絶対リンクにより指定されたドキュメントが現在ネットワークを介してアクセスできるかどうかを決定し、アクセスできる場合には含められたドキュメントロケータで指定されたクライアントをリダイレクトすることにより、書き換えられた絶対リンクに対して応答する、請求項7記載のリポジトリサーバ。
【請求項９】
書き換えられた絶対リンクにより指定されたドキュメントが現在ネットワークを介して利用できず且つ含められたドキュメントロケータに関連付けられた記憶されたコピーがリポジトリサーバ内に存在する場合、登録ドキュメントプロバイダは関連付けられた記憶されたコピーを戻す、請求項8記載のリポジトリサーバ。
【請求項１０】
ドキュメントレジストラがクライアントから第1のドキュメントロケータを受ける、請求項1記載のリポジトリサーバ。
【請求項１１】
ドキュメントレジストラは、第1のドキュメントロケータをリポジトリサーバ内のそのリストから受ける、請求項1記載のリポジトリサーバ。
【請求項１２】
リスト上の少なくともいくつかの第1のドキュメントロケータは、ネットワーククローラによりリポジトリサーバに対して供給される、請求項1記載のリポジトリサーバ。
【請求項１３】
プロセッサ内で実行されるときに請求項1記載のリポジトリサーバを実施するコードを含むことを特徴とする、データ記憶装置。
【請求項１４】
ネットワークで第1のドキュメントロケータを使用することによりアクセスできるドキュメントを、ネットワークを介してアクセスできるリポジトリサーバ内に登録する方法において、
リポジトリサーバ内で実行される工程であって、
ドキュメントのための第1のドキュメントロケータをリポジトリサーバで受ける工程と、
第1のドキュメントロケータを使用してドキュメントをフェッチする工程と、
リポジトリサーバがアクセスできる記憶装置内にドキュメントのコピーを記憶する工程と、
リレーショナルテーブルの固有の鍵を記憶装置内のコピーに対して関連付ける工程と、
固有の鍵を含む第2のドキュメントロケータを形成する工程であって、リポジトリサーバが固有の鍵を使用して記憶されたコピーを供給することにより第2のドキュメントロケータに対して応答する工程と、
を含む方法。
【請求項１５】
記憶されたコピーにおける相対リンクを絶対リンクとして書き換える工程をさらに含む、請求項14記載の方法。
【請求項１６】
各書き換えられた絶対リンクは、ドキュメントのためのドキュメントロケータを含む第3のドキュメントロケータを含み、該第3のドキュメントロケータに対して、リポジトリサーバは、第3のドキュメントロケータの送信元であるクライアントを、含められたドキュメントロケータにより指定されるようにリダイレクトすることにより応答する、請求項15記載の方法。
【請求項１７】
第1のドキュメントロケータと固有の鍵とを関連付ける工程をさらに含む、請求項14記載の方法。
【請求項１８】
固有の鍵は、第2のドキュメントロケータ内に第1のドキュメントロケータを含ませることにより第1のドキュメントロケータと関連付けられる、請求項17記載の方法。
【請求項１９】
第1のドキュメントロケータをリポジトリサーバで受ける工程では、第1のドキュメントロケータがリポジトリサーバのクライアントから受けられる、請求項14記載の方法。
【請求項２０】
第1のドキュメントロケータをリポジトリサーバで受ける工程では、第1のドキュメントロケータがリポジトリサーバ内のそのリストから受けられる、請求項14記載の方法。
【請求項２１】
リスト上の少なくともいくつかの第1のドキュメントロケータは、ネットワーククローラによりリポジトリサーバに対して供給される、請求項20記載の方法。
【請求項２２】
プロセッサ内で実行されるときに請求項14記載のドキュメント登録方法を実施するコードを含むことを特徴とする、データ記憶装置。
【請求項２３】
ネットワークを介してアクセス可能で且つクライアントからネットワークを介して受けられたドキュメントロケータに応じてドキュメントを供給するリポジトリサーバ内に、記憶されたコピーが登録されたドキュメントを供給する方法であって、
リポジトリサーバ内で実行される工程であり、
記憶されたコピーのためのドキュメントロケータをクライアントから受ける工程と、
それに応答して、ネットワークを介してドキュメントをフェッチできるかどうかを決定する工程と、
ドキュメントをフェッチできない場合に、記憶されたコピーをクライアントに対して供給する工程と、
を含む方法。
【請求項２４】
記憶されたコピーがクライアントに対して供給されるときに実行される工程であって、記憶されたコピーが供給されたことを、記憶されたコピーにより示す工程をさらに含む、請求項23記載の方法。
【請求項２５】
記憶されたコピーは、リポジトリサーバ内でドキュメントのためのドキュメントロケータに対して関連付けられ、
ネットワークを介してドキュメントをフェッチできるときに、ドキュメントのための関連付けられたドキュメントロケータにより示されるようにクライアントをリダイレクトする工程をさらに含む、請求項23記載の方法。
【請求項２６】
ドキュメントのための関連付けられたドキュメントロケータは、コピーのためのドキュメントロケータ内に含まれている、請求項25記載の方法。
【請求項２７】
記憶されたコピーは、記憶されたコピーのための登録識別子に対して関連付けられ、
ドキュメントロケータが登録識別子であり、
記憶されたコピーをクライアントに対して供給する工程は、ネットワークを介してドキュメントをフェッチできるかどうかとは無関係に実行される、請求項23記載の方法。
【請求項２８】
プロセッサ内で実行されるときに請求項23記載のドキュメント供給方法を実施するコードを含むことを特徴とする、データ記憶装置。
【請求項２９】
ネットワークを介してアクセス可能で且つクライアントからネットワークを介して受けられたドキュメントロケータに応じてドキュメントを供給するリポジトリサーバ内に、記憶されたコピーが登録されたドキュメントを供給する方法であって、
リポジトリサーバ内で実行される工程であり、
記憶されたコピーのためのドキュメントロケータと、コピー又はドキュメントがクライアントから供給されるべきかどうかの表示とを受ける工程と、
それに応答して、記憶されたコピーが供給されるべきであることを表示が示している場合には、記憶されたコピーを供給する工程と、
記憶されたコピーが供給されるべきでない場合には、ネットワークを介してドキュメントをフェッチできるかどうかを決定することにより応答する工程と、
ドキュメントをフェッチできない場合に、記憶されたコピーをクライアントに対して供給する工程と、
を含む方法。
【請求項３０】
プロセッサ内で実行されるときに請求項29記載のドキュメント供給方法を実施するコードを含むことを特徴とする、データ記憶装置。
【請求項３１】
ネットワークを介してアクセス可能であり、第1のドキュメントロケータにより識別されたドキュメントの記憶されたコピーにアクセスできるリポジトリサーバであって、
ドキュメントのための第1のドキュメントロケータを受けるとともに、それに応答して、第1のドキュメントロケータを使用してドキュメントのコピーを他のサーバからネットワークを介してフェッチし、リポジトリサーバがアクセスできる記憶装置内にコピーを記憶し、第1のドキュメントロケータとコピーとを関連付け、コピーのための第2のドキュメントロケータを形成するドキュメントレジストラと、
第2のドキュメントロケータを含む入力、及び、ドキュメント取得入力と記憶されたコピー取得入力とを含む選択入力に対して応答する登録ドキュメントプロバイダであって、指定されたドキュメントが利用できる場合には第1のドキュメントロケータにより指定されたドキュメントをフェッチし且つ指定されたドキュメントが利用できない場合には記憶されたコピーをフェッチすることにより第2のドキュメントロケータ及びドキュメント取得入力に対して応答し、記憶されたコピーをフェッチすることにより第2のドキュメントロケータ及び記憶コピー取得入力に対して応答する登録ドキュメントプロバイダと、
を含むリポジトリサーバ。
【請求項３２】
プロセッサ内で実行されるときに請求項31記載のリポジトリサーバを実施するコードを含むことを特徴とする、データ記憶装置。
【請求項３３】
リポジトリサーバのクライアントがアクセスできるネットワークを介してアクセス可能なリポジトリサーバ内に記憶されるドキュメントのバージョンを形成する方法であって、該ドキュメントが、ネットワークを介してアクセスできた他のサーバ内に記憶され或いは以前に記憶されてしまっており、あるいは、第1のドキュメントロケータを指定することにより他のサーバでアクセスされ或いはアクセスされてしまっており、記憶されたバージョンのそれぞれが第1のドキュメントロケータとリポジトリサーバ内の記憶されたバージョンの位置を突き止める第2のドキュメントロケータとに関連付けられる方法において、
リポジトリサーバで実行される工程であって、
所与の記憶されたバージョンのための第2のドキュメントロケータと選択入力とをクライアントから受ける工程であって、選択入力がドキュメント取得入力と記憶コピー取得入力とを含む工程と、
選択入力がドキュメント取得入力であるとき、指定されたドキュメントが利用できる場合には第1のドキュメントロケータにより指定されたドキュメントをフェッチし且つ指定されたドキュメントが利用できない場合には記憶されたコピーをフェッチすることにより第2のドキュメントロケータに対して応答する工程と、
選択入力が記憶コピー取得入力であるとき、記憶されたコピーをフェッチすることにより第2のドキュメントロケータに対して応答する工程と、
を含む方法。
【請求項３４】
リポジトリサーバは、記憶されたバージョンを、記憶されたバージョンがリポジトリサーバ内に記憶された時間に対してさらに関連付け、
識別子のリストを供給する工程は、第2のドキュメントサーバにより指定される記憶されたバージョンが記憶された時間を供給する工程を含む、請求項33記載の方法。
【請求項３５】
供給されたリストからの識別子のクライアントからの受信に対して、識別子により指定される記憶されたバージョンをクライアントへ供給することにより応答する工程をさらに含む、請求項33記載の方法。
【請求項３６】
請求項35記載のリポジトリサーバであって、供給されたリスト上の識別子が、リポジトリサーバ内の記憶されたコピーを指定する第2のドキュメントロケータであるリポジトリサーバ。
【請求項３７】
受けられた識別子が、リポジトリサーバ内の記憶されたコピーを指定する第2のドキュメントロケータである、請求項36記載のリポジトリサーバ。
【請求項３８】
プロセッサ内で実行されるときに請求項33記載のリポジトリサーバを実施するコードを含むことを特徴とする、データ記憶装置。
【請求項３９】
ネットワークを介してアクセス可能であり、第1のドキュメントロケータにより識別されたドキュメントの記憶されたコピーにアクセスするリポジトリサーバであって、
ドキュメントのための第1のドキュメントロケータを受け、それに応答して、第1のドキュメントロケータを使用してドキュメントのコピーを他のサーバからネットワークを介してフェッチし、リポジトリサーバがアクセスできる記憶装置内にコピーを記憶し、記憶されたコピーとリポジトリサーバ内の他のコピーとの間の類似性を計算し、類似性は記憶されたコピーについての構造的情報及びコンテンツ情報の両方を考慮に入れており、記憶されたコピーを類似する他の記憶されたコピーに対して関連付けるとともに、コピーのための第1の識別子を形成するドキュメントレジストラと、
第1の識別子がクライアントからリポジトリサーバで受けられるときに、受けられた識別子により指定される記憶されたコピーに関連付けられる類似する他の記憶されたコピーのための第2の識別子のリストを供給することにより応答する登録ドキュメントプロバイダと、
を含むリポジトリサーバ。
【請求項４０】
ドキュメントレジストラが類似性値をさらに計算し、各類似性値は、記憶されたコピーと関連付けられる類似する他の記憶されたコピーの1つと記憶されたコピーとの類似性の度合いを示し、
登録ドキュメントプロバイダは、リスト中の記憶されたコピーのそれぞれの第2の識別子に、受けられた識別子により指定された記憶されたコピーとの他の記憶されたコピーの類似性に関する類似性値を伴わせる、請求項39記載のリポジトリサーバ。
【請求項４１】
ドキュメントレジストラは、類似性リストを記憶されたコピーに対してさらに関連付け、類似性リストは、類似する他のコピーのそれぞれに関して、類似する他のコピーのための類似性値を示している、請求項40記載のリポジトリサーバ。
【請求項４２】
ドキュメントレジストラは、記憶されたコピー及び他の記憶されたコピーのフィンガプリントを計算し、記憶されたコピーのフィンガプリントと他の記憶されたコピーのフィンガプリントとを比較することにより、記憶されたコピーと他の記憶されたコピーとの間の類似性を計算する、請求項39記載のリポジトリサーバ。
【請求項４３】
レジストラは、記憶されたコピーのフィンガプリントを記憶されたコピーに対して関連付ける、請求項42記載のリポジトリサーバ。
【請求項４４】
登録ドキュメントプロバイダは、クライアントから受けられるリストからの識別子に対して、該識別子により指定される記憶されたコピーを供給することによりさらに応答する、請求項39記載のリポジトリサーバ。
【請求項４５】
第2の識別子は、リポジトリサーバ内の記憶されたコピーを指定する第2のドキュメントロケータである、請求項44記載のリポジトリサーバ。
【請求項４６】
第1の識別子は、リポジトリサーバ内の記憶されたコピーを指定する第2のドキュメントロケータである、請求項45記載のリポジトリサーバ。
【請求項４７】
プロセッサ内で実行されるときに請求項39記載のリポジトリサーバを実施するコードを含むことを特徴とする、データ記憶装置。
【請求項４８】
ネットワークを介してアクセス可能なリポジトリサーバであって、他のサーバから得られるドキュメントであり且つリポジトリサーバのクライアントが利用できる所与の記憶されたコピーに類似する他の記憶されたコピーを形成する識別子によりリポジトリサーバ内で識別されるドキュメントの記憶されたコピーを含むリポジトリサーバ内において実行される方法であって、
所与の記憶されたコピーと他の記憶されたコピーとの間の類似性を計算する工程であって、類似性は記憶されたコピーについての構造的情報及びコンテンツ情報の両方を考慮に入れている工程と、
記憶されたコピーを類似する他の記憶されたコピーに対して関連付ける工程と、
クライアントから受けた所与の記憶されたコピーのための識別子に対して、類似する他の記憶されたコピーのための識別子のリストを供給することにより応答する工程と、
供給されたリストからクライアントで選択されている識別子に対して、識別子により指定される他の記憶されたコピーをクライアントへ供給することにより応答する工程と、
を含む方法。
【請求項４９】
類似性を計算する該工程は、類似する他の記憶されたコピーのそれぞれのための類似性値を計算する工程をさらに含み、類似性値は、所与の記憶されたコピーと類似する他の記憶されたコピーとの類似性の度合いを示し、
所与の記憶されたコピーを類似する他の記憶されたコピーに対して関連付ける該工程は、類似性値を所与の記憶されたコピーに対して関連付ける工程をさらに含み、
所与の記憶されたコピーのための識別子に対して応答する該工程では、リスト中の各識別子に、受けられた識別子により指定された記憶されたコピーとの他の記憶されたコピーの類似性に関する類似性値を伴わせる、請求項48記載の方法。
【請求項５０】
類似性を計算する工程は、
記憶されたコピー及び他の記憶されたコピーのフィンガプリントを計算する工程と、
記憶されたコピーのフィンガプリントと他の記憶されたコピーのフィンガプリントとを比較する工程と、
を含む、請求項48記載の方法。
【請求項５１】
記憶されたコピーのフィンガプリントを記憶されたコピーに対して関連付ける工程をさらに含む、請求項50記載の方法。
【請求項５２】
第2の識別子は、リポジトリサーバ内の記憶されたコピーを指定する第2のドキュメントロケータである、請求項48記載の方法。
【請求項５３】
第1の識別子は、リポジトリサーバ内の記憶されたコピーを指定する第2のドキュメントロケータである、請求項52記載の方法。
【請求項５４】
プロセッサ内で実行されるときに請求項48記載の方法を実施するコードを含むことを特徴とする、データ記憶装置。
【請求項５５】
比較されるドキュメントのフィンガプリントを形成する工程であって、フィンガプリントはドキュメントからの構造的な情報及びコンテンツ情報の両方に基づいている工程と、
フィンガプリントを比較して、比較されるドキュメントの類似性の度合いを示す類似性値を決定する工程であって、類似性値は、同一であるか否かに加えて類似性の度合いを表わすことができる工程と、
を含む、デジタルドキュメントを比較する方法。
【請求項５６】
デジタルドキュメントは、他のデジタルドキュメントへのリンクを含み、
比較されるドキュメントにおけるリンクの比較から、フィンガプリントを比較する工程の性能を正当化できるようにドキュメントが十分に類似しているかどうかを決定する工程をさらに含む、請求項55記載の方法。
【請求項５７】
リンクの比較から決定する工程では、ドキュメントにおけるリンクの数が比較される、請求項56記載の方法。
【請求項５８】
リンクの比較から決定する工程では、ドキュメントにおけるリンクの宛て先が比較される、請求項56記載の方法。
【請求項５９】
デジタルドキュメントが識別子によって識別され、
方法は、デジタルドキュメントのためのフィンガプリントをデジタルドキュメントの識別子に対して関連付ける工程を含み、
これにより、該識別子が知られており且つフィンガプリントを有するデジタルドキュメントは、該ドキュメント又はそのコピーを参照することなく比較できる、請求項55記載の方法。
【請求項６０】
識別子は、ネットワーク内でのドキュメントの位置を突き止めるために使用されるドキュメントロケータである、請求項59記載の方法。
【請求項６１】
所与の1つのデジタルドキュメントを、一組の他のデジタルドキュメントのための類似性値に対して関連付ける工程をさらに含む、請求項55記載の方法。
【請求項６２】
デジタルドキュメントが識別子によって識別され、
関連付ける工程では、所与の1つのデジタルドキュメントのための識別子が、一組の他のデジタルドキュメントのための識別子及び類似性値に対して関連付けられる、請求項61記載の方法。
【請求項６３】
識別子は、ネットワーク内でのドキュメントの位置を突き止めるために使用されるドキュメントロケータである、請求項62記載の方法。
【請求項６４】
プロセッサ内で実行されるときに請求項55記載の方法を実施するコードを含むことを特徴とする、データ記憶装置。
【請求項６５】
構造的情報及びコンテンツ情報の両方を含むデジタルドキュメントのためのフィンガプリントを形成する方法であって、
構造的情報についての意味情報を保存する第1のエンコーディングを使用して構造的情報をエンコードする工程と、
第2のエンコーディングを使用してコンテンツ情報をエンコードする工程と、
を含む方法。
【請求項６６】
構造的情報をエンコードする工程では、構造的情報がデジタルドキュメント内で生じる順序で構造的情報がエンコードされ、
コンテンツ情報は、構造的情報をエンコーディングする間にそれが直面されるようにエンコードされる、請求項65記載の方法。
【請求項６７】
構造的情報がHTMLタグである、請求項66記載の方法。
【請求項６８】
プロセッサ内で実行されるときに請求項65記載の方法を実施するコードを含むことを特徴とする、データ記憶装置。
【請求項６９】
第1のデジタルドキュメントのための第1のフィンガプリントと第2のデジタルドキュメントのための第2のフィンガプリントとを比較する方法であって、フィンガプリントは、デジタルドキュメントからの構造的情報及びコンテンツ情報の両方を含み、構造的情報に関する意味情報を保存する第1のエンコーディングを使用して構造的情報をエンコードし且つ第2のエンコーディングを使用してコンテンツ情報をエンコードすることにより形成される方法であって、
1.第1のフィンガプリントにおいて構造的情報のエンコーディングを見つける工程と、
2.見つけられたエンコーディングから始まる第1のフィンガプリント内の部分文字列と一致する第2のフィンガプリント内の部分文字列を見つける工程と、
3.見つけられた部分文字列の長さを、実行している長さ全体に対して加える工程と、
4.任意の見つけられた部分文字列内に含まれない第1のフィンガプリント内の構造的情報の他のエンコーディングを見つけ、他のエンコーディングに関して工程1〜3を繰り返す工程と、
5.工程4において構造的情報の更なるエンコーディングを見つけることができなくなるまで工程1〜4を繰り返す工程と、
6.フィンガプリントのうちの1つの長さ及び実行している長さ全体を使用して、類似性値を計算する工程と、
を含む方法。
【請求項７０】
プロセッサ内で実行されるときに請求項69記載の方法を実施するコードを含むことを特徴とする、データ記憶装置。
【請求項７１】
リポジトリサーバに記憶されるドキュメントのコピーの位置を突き止める、ネットワーク内のリポジトリサーバのためのドキュメントロケータであって、コピーは、コピーが他のドキュメントロケータによって形成された時にネットワーク内で位置を突き止めることができたドキュメントのコピーであるドキュメントロケータにおいて、
ネットワーク内のリポジトリサーバのための識別子と、
他のドキュメントロケータと、
リレーショナルテーブル中の固有の鍵である、サーバ内の記憶されたコピーのための識別子であって、固有の鍵が他のドキュメントロケータ及び記憶されたコピーに対して関連付けられる識別子と、
を含むドキュメントロケータ。
【請求項７２】
リポジトリサーバは、リポジトリサーバで受けられた受信ドキュメントロケータに対し、他のドキュメントロケータにより指定されたドキュメントがネットワーク内で利用できない場合にのみ識別子により識別される記憶されたコピーを供給することにより応答する、請求項71記載のドキュメントロケータ。
【請求項７３】
リポジトリサーバは、受信ドキュメントロケータに対して、受信ドキュメントロケータにおける他のドキュメントロケータに対して関連付けられる他の記憶されたコピーのためのドキュメントロケータのリストを供給することにより応答する、請求項71記載のドキュメントロケータ。
【請求項７４】
ドキュメントロケータがユニバーサルリソースロケータであり、該ユニバーサルリソースロケータにおいて、ホスト名はリポジトリサーバを指定し、パラメータは、その値が他のドキュメントロケータである第1のパラメータと、その値が固有の鍵である第2のパラメータと、リポジトリサーバで実行されるときに他のドキュメントロケータにより指定されたドキュメントがネットワーク内で利用できない場合にのみ固有の鍵により識別される記憶されたコピーを供給するプログラムのための第3のパラメータとを含む、請求項71記載のドキュメントロケータ。
【請求項７５】
プロセッサ内で実行されるときに請求項71記載のドキュメントロケータを構成するコードを含むことを特徴とする、データ記憶装置。
【請求項７６】
選択入力がドキュメント取得入力であり且つ登録ドキュメントプロバイダが記憶されたコピーをフェッチすると、登録ドキュメントプロバイダは、記憶されたコピーがフェッチされていることを、フェッチされた記憶されたコピーに示す、請求項31記載のリポジトリサーバ。
【請求項７７】
選択入力は、登録ドキュメントプロバイダが第2のドキュメントロケータのリストを供給することにより応答するリスト取得入力をさらに含み、リスト上の第2のドキュメントロケータのそれぞれは、同じ第1のドキュメントロケータに関連付けられ、第2のドキュメントロケータにより指定される記憶されたコピーを供給することによりリストからの第2のドキュメントロケータの選択に対して応答する、請求項31記載のリポジトリサーバ。
【請求項７８】
ドキュメントレジストラは、記憶されたコピーとリポジトリサーバ内の他の記憶されたコピーとの間の類似性をさらに計算し、記憶されたコピーと類似する他の記憶されたコピーとを関連付け、
選択入力は、登録ドキュメントプロバイダが第2のドキュメントロケータのリストを供給することにより応答するリスト取得入力をさらに含み、リスト上の第2のドキュメントロケータのそれぞれは、入力された第2のドキュメントロケータにより指定されるコピーと類似する記憶されたコピーを指定し、第2のドキュメントロケータにより指定される記憶されたコピーを供給することによりリストからの第2のドキュメントロケータの選択に対して応答する、請求項31記載のリポジトリサーバ。
【請求項７９】
ドキュメントレジストラは、登録の時間と記憶されたコピーとをさらに関連付け、
登録ドキュメントプロバイダは、記憶されたコピーの登録時間を、リスト上の第2のドキュメントロケータにより指定される記憶されたコピーのそれぞれに関してさらに供給する、請求項77記載のリポジトリサーバ。
【請求項８０】
類似性の計算では、ドキュメントレジストラが類似性値を計算し、
リスト上の第2のドキュメントロケータのそれぞれは、リスト上の第2のドキュメントロケータにより指定される記憶されたコピーと入力された第2のドキュメントインジケータにより指定されたドキュメントとの間の類似性のための類似性値を伴っている、請求項78記載のリポジトリサーバ。
【請求項８１】
登録ドキュメントプロバイダは、第2のドキュメントロケータの更なるリストを供給することによりリスト取得入力に対してさらに応答し、更なるリスト上の第2のドキュメントロケータはそれぞれ、同じ第1のドキュメントロケータに関連付けられ、第2のドキュメントロケータにより指定される記憶されたコピーを供給することにより更なるリストからの第2のドキュメントロケータの選択に対して応答する、請求項78記載のリポジトリサーバ。
【請求項８２】
選択入力がドキュメント取得入力であるときに行なわれる工程では、登録ドキュメントプロバイダが記憶されたコピーをフェッチするときに、登録ドキュメントプロバイダは、記憶されたコピーが供給されたことを、フェッチされた記憶されたコピーに示す、請求項33記載の方法。
【請求項８３】
選択入力がさらにリスト取得入力を含み、方法は、選択入力がリスト取得入力であるときに行なわれる、
第2のドキュメントロケータのリストを供給することにより所与の記憶されたコピーのための第2のドキュメントロケータに対して応答する工程であって、リスト上の第2のドキュメントロケータのそれぞれが同じ第1のドキュメントロケータと関連付けられる工程と、
第2のドキュメントロケータにより指定される記憶されたコピーを供給することによりリストからの第2のドキュメントロケータの選択に対して応答する工程と、
をさらに含む、請求項33記載の方法。
【請求項８４】
ドキュメントレジストラは、記憶されたコピーとリポジトリサーバ内の他の記憶されたコピーとの間の類似性を計算し、記憶されたコピーと類似する他の記憶されたコピーとを関連付け、
選択入力がさらにリスト取得入力を含み、方法は、選択入力がリスト取得入力であるときに行なわれる、
第2のドキュメントロケータのリストを供給することにより所与の記憶されたコピーのための第2のドキュメントロケータに対して応答する工程であって、リスト上の第2のドキュメントロケータのそれぞれは、第2のドキュメントロケータにより指定されたコピーに類似する記憶されたコピーを指定する工程と、
第2のドキュメントロケータにより指定される記憶されたコピーを供給することによりリストからの第2のドキュメントロケータの選択に対して応答する工程と、
をさらに含む、請求項33記載の方法。
【請求項８５】
類似性の計算では、ドキュメントレジストラが類似性値を計算し、
所与の記憶されたコピーのための第2のドキュメントロケータに対して応答する工程では、リスト上の第2のドキュメントロケータのそれぞれが、リスト上の第2のドキュメントロケータにより指定される記憶されたコピーと受けられた第2のドキュメントインジケータにより指定されたドキュメントとの間の類似性のための類似性値を伴っている、請求項84記載の方法。
【請求項８６】
方法が、
選択入力がリスト取得入力であるときに実行される、
第2のドキュメントロケータの更なるリストを供給する工程であって、更なるリスト上の第2のドキュメントロケータのそれぞれが同じ第1のドキュメントロケータと関連付けられる工程と、
第2のドキュメントロケータにより指定される記憶されたコピーを供給することにより更なるリストからの第2のドキュメントロケータの選択に対して応答する工程と、
をさらに含む、請求項84記載のリポジトリサーバ。
【国際調査報告】
2007536643.tif 000016
2007536643.tif 000017
2007536643.tif 000018
2007536643.tif 000019
2007536643.tif 000020