(57)【要約】  エンタープライズ・サーチ・システムをバックエンド・コンテンツ格納装置アクセス制御ＡＰＩと統合する方法及びコンピュータ可読媒体を提供する。バックエンド・コンテンツ格納装置によって公開されたカスタムＡＰＩを定義するデータであって、バックエンド・コンテンツ格納装置に格納されたドキュメントに対するアクセス権を検索するためのデータを作成及び格納するために、宣言型メタデータ・モデルが利用される。ドキュメントに対するアクセス権を獲得するための正規化ＡＰＩも公開される。正規化ＡＰＩへのコールが行われるとき、その正規化ＡＰＩへのコールをカスタムＡＰＩへのコールに変換するために、その格納されたデータが利用される。
2010518467.tif 000002
【特許請求の範囲】
【請求項１】
エンタープライズ・サーチをカスタム・ドキュメント・アクセス制御アプリケーション・プログラミング・インターフェース（ＡＰＩ）と統合するための方法であって、
ドキュメントに対する１個又はそれ以上のアクセス権を獲得するためのカスタムＡＰＩを定義するデータ（２０２）を格納するステップと、
ドキュメントに対するアクセス権を獲得するための正規化ＡＰＩを公開するステップと、
前記正規化ＡＰＩによって公開されたメソッドであって指定されたドキュメントに対するアクセス権を要求するメソッドへのコールを受け取るステップ（３０４）と、
前記正規化ＡＰＩによって公開されたメソッドへのコールを受け取ることに応答して、前記正規化ＡＰＩによって公開されたメソッドへのコールを、前記カスタムＡＰＩによって公開されたメソッドであって、前記指定されたドキュメントに対するアクセス権を獲得するためのメソッドへのコールに変換するステップ（３１０）と、
前記カスタムＡＰＩによって公開されたメソッドへのコールに応答して前記アクセス権を受け取るステップ（３１４）と、
前記正規化ＡＰＩによって公開されたメソッドへのコールに応答して、要求されたアクセス権を戻すステップ（３１６）と
を含む方法。
【請求項２】
前記カスタムＡＰＩを定義する前記データは、前記カスタムＡＰＩによって公開されたメソッドの１個又はそれ以上のパラメータを識別するデータと、前記パラメータの各々が入力パラメータ又は出力パラメータのどちらであるかを表すデータとを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記カスタムＡＰＩを定義する前記データは、前記パラメータに対するデフォルト値を更に含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記カスタムＡＰＩを定義する前記データは、前記パラメータの１つを、アクセス権が要求されるドキュメントに対する識別子に対応するものとして識別するデータを更に含み、
前記正規化ＡＰＩによって公開されたメソッドが、アクセス権が要求されるドキュメントを識別するパラメータを受け取ることを特徴とする請求項３に記載の方法。
【請求項５】
前記正規化ＡＰＩによって公開されたメソッドへのコールを、前記カスタムＡＰＩによって公開されたメソッドであって、前記指定されたドキュメントに対する前記要求されたアクセス権に関するメソッドへのコールに変換する前記ステップは、
前記カスタムＡＰＩによって公開されたメソッドへのコールを、前記パラメータに対するデフォルト値を使ってインスタンス化するステップと、
アクセス権が要求されるドキュメントを識別するパラメータであって、前記正規化ＡＰＩへのコールと共に受け取られたパラメータを、アクセス権が要求されるドキュメントに対する識別子に対応するパラメータのデフォルト値の代わりに用いるステップと、
前記カスタムＡＰＩによって公開されたメソッドへのコールを実行するステップと
を含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記カスタムＡＰＩを定義する前記データは、前記パラメータの１つを、システム供給された値に対応するものとして識別するデータを更に含み、
前記正規化ＡＰＩによって公開されたメソッドが、現ユーザを識別するパラメータを受け取ることを特徴とする請求項５に記載の方法。
【請求項７】
前記正規化ＡＰＩによって公開されたメソッドへのコールを、前記カスタムＡＰＩによって公開されたメソッドであって、前記指定されたドキュメントに対するアクセス権に関するメソッドへのコールに変換する前記ステップは、
現ユーザを識別するパラメータを、システム供給された値に対応するパラメータのデフォルト値の代わりに用いるステップを更に含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記正規化ＡＰＩによって公開されたメソッドへの前記コールがサーチ・クローラ・プログラムによって生成されることを特徴とする請求項３に記載の方法。
【請求項９】
前記正規化ＡＰＩによって公開されたメソッドへの前記コールがサーチ照会プロセッサによって生成されることを特徴とする請求項３に記載の方法。
【請求項１０】
コンピュータ実行可能命令を格納されたコンピュータ可読媒体であって、前記コンピュータ実行可能命令は、それがコンピュータによって実行されるとき、前記コンピュータに
ドキュメントに対する１個又はそれ以上のアクセス権を獲得するための正規化アプリケーション・プログラミング・インターフェース（ＡＰＩ）を公開させ、
前記正規化ＡＰＩによって公開されたメソッドであり且つドキュメントに対するアクセス権を検索するためのメソッドへのコールであって、ドキュメントに対するドキュメント識別子及びユーザ識別子を含むコールを受け取らせ（３０２）、
前記正規化ＡＰＩによって公開されたメソッドへのコールに応答して、カスタムＡＰＩによって公開されたメソッドであって、ドキュメントに対するアクセス権を獲得するためのメソッドへのコールを、前記カスタムＡＰＩによって公開されたメソッドの１個又はそれ以上のパラメータを定義する格納されたデータ、前記ドキュメント識別子、及び前記ユーザ識別子を使用して構成させ（３１０）、
前記カスタムＡＰＩによって公開されたメソッドへのコールを実行させ（３１２）、
前記カスタムＡＰＩによって公開されたメソッドへのコールに応答して前記ドキュメントに対するアクセス権を受け取らせ（３１６）、
前記正規化ＡＰＩによって公開されたメソッドへのコールに応答して前記ドキュメントに対するアクセス権を戻させる（３１８）
ことを特徴とするコンピュータ可読媒体。
【請求項１１】
前記カスタムＡＰＩによって公開されたメソッドの１個又はそれ以上のパラメータを定義する前記データは、前記１個又はそれ以上のパラメータに対するデフォルト値を更に含むことを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１２】
前記カスタムＡＰＩによって公開されたメソッドの１個又はそれ以上のパラメータを定義する前記データは、前記パラメータの１つを前記ドキュメント識別子に対応するものとして識別するデータ及び前記パラメータの１つを前記ユーザ識別子に対応するものとして識別するデータを更に含むことを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１３】
前記正規化ＡＰＩによって公開された前記メソッドは、複数のドキュメントに対するアクセス権を検索するためのメソッドを含み、
前記カスタムＡＰＩによって公開された前記メソッドは、単一のドキュメントに対するアクセス権を検索するためのメソッドを含み、
前記コンピュータ可読媒体は、前記正規化ＡＰＩによって公開された前記メソッドへのコールにおいて識別された前記複数のドキュメントの各々に対して、前記カスタムＡＰＩによって公開された前記メソッドへの個別のコールを構成するための更なるコンピュータ実行可能命令を格納する
ことを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１４】
前記正規化ＡＰＩによって公開されたメソッドへの前記コールがサーチ・クローラ・プログラムから受け取られることを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１５】
前記正規化ＡＰＩによって公開されたメソッドへの前記コールがサーチ照会プログラムから受け取られることを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１６】
エンタープライズ・サーチをカスタム・ドキュメント・アクセス制御アプリケーション・プログラミング・インターフェース（ＡＰＩ）と統合するための方法であって、
カスタム・ドキュメント・アクセス制御ＡＰＩによって公開された１個又はそれ以上のメソッドを定義するデータであって、前記メソッドによって使用される１個又はそれ以上のパラメータに対するデフォルト値、ドキュメント識別子に対応するパラメータを識別するデータ、及びユーザ識別子に対応するパラメータを識別するデータを含むデータ（２０）を格納するステップと、
ドキュメントに対する１個又はそれ以上のアクセス権であって、バックエンド・コンピューティング・システム（１１２）に格納されているアクセス権であり且つ前記カスタム・ドキュメント・アクセス制御ＡＰＩによって公開されたメソッドの１つを使ってアクセスされるアクセス権を得るための正規化ＡＰＩを公開するステップと、
前記正規化ＡＰＩによって公開されたメソッドへのコールであって、アクセス権が獲得されるべきドキュメントに対応するドキュメント識別子及び現ユーザに対するユーザ識別子を含むコールを受け取るステップ（３０２）と、
前記正規化ＡＰＩによって公開されたメソッドへのコールに応答して、前記正規化ＡＰＩによって公開されたメソッドへのコールを、カスタム・ドキュメント・アクセス制御ＡＰＩによって公開されたメソッドへのコールに、前記デフォルト値、前記ドキュメント識別子、及び前記ユーザ識別子を使って変換するステップ（３１０）と、
カスタム・ドキュメント・アクセス制御ＡＰＩによって公開されたメソッドへのコールに応答して、前記ドキュメントに対する１個又はそれ以上のアクセス権を受け取るステップ（３１６）と、
前記正規化ＡＰＩによって公開されたメソッドへのコールに応答して、前記ドキュメントに対するアクセス権を戻すステップ（３１８）と
を含む方法。
【請求項１７】
前記正規化ＡＰＩによって公開されたメソッドへの前記コールがサーチ・クローラ・プログラムによって生成されることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記正規化ＡＰＩによって公開された前記メソッドは、単一のドキュメントへの１個又はそれ以上のユーザに対するアクセス権を検索するように動作することを特徴とする請求項１７に記載の方法。
【請求項１９】
前記正規化ＡＰＩによって公開されたメソッドへの前記コールがサーチ照会プロセッサによって生成されることを特徴とする請求項１６に記載の方法。
【請求項２０】
前記正規化ＡＰＩによって公開された前記メソッドが、前記サーチ照会プロセッサの現ユーザに対する１個又はそれ以上のドキュメントへのアクセス権を検索するように動作することを特徴とする請求項１８に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
エンタープライズ・サーチ・システムは、１つの組織内に格納されたコンテンツが、索引付けされ、サーチされ、そしてその組織内の許可されたユーザに対して表示されることを可能にする。この機能を提供するために、エンタープライズ・サーチ・エンジンは、通常、多くの独立した第三者のエンタープライズ・ソフトウェア・アプリケーション及びシステムによって格納された構造化データ及びドキュメント、並びに非構造化データ及びドキュメントに抗して索引付けし、照会しなければならない。例えば、多くの場合、エンタープライズ・サーチ・システムは、イントラネット、ドキュメント及びコンテンツ管理システム、ファイル・サーバ、コーポレート・デスクトップ、顧客関係管理アプリケーション及びビジネス・インテリジェンス・アプリケーションのようなビジネス・アプリケーション、並び他のタイプのコンテンツ格納装置に格納されたデータに抗して索引付けし、照会しなければならない。
【０００２】
公的に入手可能なデータをサーチしたり、任意のユーザがそのデータに関する照会を行うことを仮想的に可能にしたりするＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ（Ｗｅｂ）サーチ・エンジンのような公共のサーチ・エンジンとは対照的に、エンタープライズ・サーチ・システムは、一般に、アクセスが制限されることがあるデータを索引付けする。例えば、エンタープライズ・サーチ・システムによって索引付けされたドキュメントは、ユーザがそのドキュメントに対して有するアクセス権を識別する１個またはそれ以上のアクセス制御エントリ（ＡＣＥ）を含む関連のアクセス制御リスト（ＡＣＬ）を有することがある。その結果、エンタープライズ・サーチ・システムが照会を行うとき、それは、照会を行うユーザがその照会に応答して戻されたサーチ結果を見るに十分なアクセス権を有する、ということを保証しなければならない。
【０００３】
ユーザがサーチ結果を見るに十分なアクセス権を有するかどうかを決定するために、エンタープライズ・サーチ・システムは、ドキュメントがサーチ索引に加えられるときにドキュメントに対するアクセス権を検索及び格納してもよい。エンタープライズ・サーチ・システムは、照会時に、その照会を行うユーザがサーチ結果を見るに十分な権利を有するかどうかを決定するために、事前に格納されたアクセス権を利用してもよい。あるいは、エンタープライズ・サーチ・システムは、一組のサーチ結果における各ドキュメントが格納されているバックエンド・システムを照会し、その照会が行われる時のユーザに対するそのドキュメントへのアクセス権に関してその照会を行ってもよい。各方法に存在する不利な点を最小にするために、これらの方法の組合せを利用することもできる。
【０００４】
アクセス権はドキュメントがサーチ索引に加えられるときに検索されるのか又は照会のときに検索されるのかに関係なく、エンタープライズ・サーチ・システムは、索引付けされたドキュメントがアクセス権の検索のために格納されているバックエンド・コンピュータ・システムとインターフェースしなければならない。しかし、第三者の各バックエンド・システムのセキュリティ・サブシステムが、異種の、難解な、私有のアプリケーション・プログラミング・インターフェース（ＡＰＩ）を利用することが多い。その結果、新しいタイプのバックエンド・コンテンツ格納装置がエンタープライズ・サーチ・システムに加えられるとき、各バックエンド・セキュリティ・サブシステムＡＰＩとインターフェースするためのカスタム・プログラム・コードを作成することが必要となることがある。これは、一般に、エンタープライズ・サーチ・システムと第三者のデータ記憶システムとの間で、難しい、高価な、且つ多大な時間を必要とする統合を行う。
【０００５】
本明細書において行われる開示は、これらの考察点及びその他の点に鑑みてなされたものである。
【発明の概要】
【０００６】
本明細書では、エンタープライズ・サーチ・システムを、バックエンド・コンテンツ記憶装置によって公開されたカスタムＡＰＩであってアクセス権データを獲得するためのカスタムＡＰＩと統合するための方法及びコンピュータ可読媒体が提供される。本明細書に示された諸局面によれば、バックエンド・コンテンツ格納装置によって公開されたカスタムＡＰＩを定義するデータであって、バックエンド・コンテンツ格納装置に格納されたドキュメントに対するアクセス権を検索するためのデータを作成及び格納するために、宣言型メタデータ・モデルが利用される。ドキュメントに対するアクセス権を獲得するための正規化ＡＰＩも公開される。正規化ＡＰＩへのコールが行われるとき、その正規化ＡＰＩへのコールをカスタムＡＰＩへのコールに変換するために、その格納されたデータが利用される。このように、私有のバックエンド・コンピューティング・システムにより格納されたアクセス権へのアクセスを、如何なるプログラム・コードも書かずに得ることができる。
【０００７】
本明細書に示された１つの局面によれば、ドキュメントに対するアクセス権を獲得するためのバックエンド・コンピューティング・システムによって公開されたカスタムＡＰＩを定義するデータが作成及び格納される。格納されたデータは、例えば、アクセス権を獲得するためのカスタムＡＰＩによって公開されたメソッドのパラメータを識別する情報及びそのパラメータの各々が入力パラメータ又は出力パラメータのどちらであるかを表すデータを含み得る。パラメータの１つは、アクセス権が要求されているドキュメントに対する識別子にそのパラメータが対応する、ということを表すためのタグを付されてもよい。別のパラメータは、それが、現ユーザに対するユーザ識別子のようなシステム供給された値に対応する、ということを表すためのタグを付されてもよい。各パラメータに対してデフォルト値が指定及び格納されてもよい。
【０００８】
別の局面によれば、エンタープライズ・サーチ・システム内で実行されるアプリケーションであって、ドキュメントに対するアクセス権を獲得するためのアプリケーションに対して正規化ＡＰＩが公開され得る。正規化ＡＰＩによって与えられたインターフェースは、エンタープライズ・サーチ・システム内で実行される種々のアプリケーションが、１つのドキュメントに対するアクセス権を獲得するために、そのドキュメントが存在するバックエンド・コンテンツ格納装置に関係なく利用し得る、という整合性のあるインターフェースである。例えば、サーチ・クローラ・プログラム及び照会プロセッサ・プログラムは両方とも、正規化ＡＰＩによって公開されたメソッドを利用してドキュメントに対するアクセス権を獲得し得る。正規化ＡＰＩによって公開されたメソッドは、アクセス権が要求されるドキュメントを識別するパラメータを受け取り得るし、任意選択的には、認証目的でユーザ識別子を受け取り得る。
【０００９】
正規化ＡＰＩによって公開されたメソッドであって、指定されたドキュメントに対するアクセス権を受け取るためメソッドへのコールを受け取るとき、格納されたデータを使ってその正規化ＡＰＩへのコールが適切なカスタムＡＰＩにへのコールに動的に変換される。例えば、格納されたデータは、それのパラメータに対するデフォルト値を使って、カスタムＡＰＩによって公開されたメソッドへのコールをインスタンス化するために利用されてもよい。アクセス権が要求されるドキュメントを識別するパラメータであって、正規化ＡＰＩへのコールと共に受け取られるパラメータが、カスタムＡＰＩにおけるドキュメント識別子に対応するものとしてタグ付けされたパラメータのデフォルト値に代わって用いられる。
【００１０】
実施態様によれば、現ユーザに対するユーザ識別子が、システム供給された値に対応するものとしてタグ付けされたパラメータのデフォルト値に代わって用いられてもよい。一旦パラメータが指定されてしまうと、カスタムＡＰＩへのコールが行われる。そこで、カスタムＡＰＩは要求されたアクセス権をそのコールに応答して戻す。そこで、ＡＰＩから戻されたアクセス権は、正規化ＡＰＩへのオリジナル・コールに応答して戻される。
【００１１】
上記の主旨は、コンピュータ制御される装置、コンピュータ・プロセス、コンピューティング・システムとして、又はコンピュータ可読媒体のような製造物として具現化され得る。下記の詳細な説明を読み且つ関連の図面を見れば、これらの及び他の種々の特徴が明らかとなるであろう。
【００１２】
この「課題を解決するための手段」の項における記述は、詳細な説明において後述される概念の抽出を単純な形で導くために提供される。この項は、本発明の主要な特徴または本質的な特徴を特定することを意図せず、「特許請求の範囲」の主旨の範囲を限定するために使われることを意図するものでもない。更に、本発明は、本明細書の何れかの部分に記された如何なる又はすべての欠点を克服する実施態様に限定されない。
【図面の簡単な説明】
【００１３】
【図１】本明細書に開示されるプロセス及びコンピュータ・システムのための例示的な動作環境を示すネットワーク及びソフトウェア・アーキテクチャの概略図である。
【００１４】
【図２】本明細書に開示される１つの実施態様において提供されるＡＰＩトランスフォーマ・プログラムの諸局面を示すソフトウェア・アーキテクチャの概略図である。
【００１５】
【図３】ドキュメントがサーチ索引に加えられるときにそのドキュメントに対するアクセス権を獲得するための実施態様に従って行われるプロセスを示す流れ図である。
【図４】サーチ時にドキュメントに対するアクセス権を獲得するための実施態様に従って行われるプロセスを示す流れ図である。
【００１６】
【図５】本明細書に開示される種々のコンピュータ・システムを具現化するに適したコンピュータ・アーキテクチャを示す概略図である。
【発明を実施するための形態】
【００１７】
以下の詳細な説明は、エンタープライズ・サーチ・システムをカスタム・バックエンドのコンテンツ格納装置アクセス制御ＡＰＩと統合するためのシステム、方法、及びコンピュータ可読媒体に関する。本明細書に開示された主旨は、コンピュータ・システムにおけるオペレーティング・システム及びアプリケーション・プログラムの実行に関連して実行されるプログラム・モジュールの一般的な関連において示されるが、他の実施態様が他のタイプのプログラム・モジュールと組み合わせて遂行されてもよいということは当業者には明らかであろう。
【００１８】
一般に、プログラム・モジュールは、ルーチン、プログラム、コンポーネント、データ構造、及び、特定のタスクを遂行したり又は特定の抽象データ型を具現化したりする他のタイプの構造を含む。更に、本明細書に開示され主旨が、携帯情報端末、マルチプロセッサ・システム、マイクロプロセッサ・ベースの又はプログラム可能な家庭電化製品、ミニコンピュータ、メインフレーム・コンピュータ等を含む他のコンピュータ・システム構成を用いて実施され得るということも当業者には明らかであろう。
【００１９】
本明細書に開示された主旨は、通信ネットワークを介してリンクされるリモート処理装置によってタスクが遂行される分散型コンピューティング環境において実施されるものとしても開示され、しかも、その環境では、プログラム・モジュールがローカル・メモリ記憶装置及びリモート・メモリ記憶装置の両方に設置され得る。しかし、本明細書に開示された実施態様が独立型コンピュータ・システム及び他のタイプのコンピューティング装置に関連して利用され得る、ということも明らかであろう。本明細書に示された実施態様が、任意のタイプのローカル・エリア・ネットワーク（ＬＡＮ）又は広域ネットワーク（ＷＡＮ）と共に利用され得る、ということも明らかであろう。
【００２０】
以下の詳細な説明では、本明細書の一部を形成し且つ特定の実施態様又は実施例を図解するために示される添付図面への参照が行われる。図面を参照すると、いくつかの図にわたって同じ参照番号が同じ素子を表し、エンタープライズ・サーチ・システムをカスタム・バックエンド・コンテンツ格納装置アクセス制御ＡＰＩと統合するためのコンピューティング・システム及び方法という諸局面が開示される。特に、図１は、本明細書に開示される主旨のための１つの動作環境１００を示すコンピュータ・ソフトウェア・アーキテクチャ及びネットワークの概略図であり、その動作環境１００は、クライアント・コンピュータ１０２、ネットワーク１２２、及び１個又はそれ以上のＷｅｂサーバ・コンピュータ１０４Ａ〜１０４Ｂを含む。
【００２１】
図１に示されるように、クライアント・コンピュータ１０２及びＷｅｂサーバ・コンピュータ１０４Ａ〜１０４Ｂは、ネットワーク１２２へのそれぞれの接続を介して相互に通信可能に結合される。１つの実施態様によれば、ネットワーク１２２はインターネットを構成する。しかし、ネットワーク１２２は、ＬＡＮ、ＷＡＮ、又は、クライアント・コンピュータ１０２及びＷｅｂサーバ・コンピュータ１０４Ａ〜１０４Ｂを接続するに適した他のタイプのネットワークも構成し得る、ということは明らかであろう。Ｗｅｂサーバ・コンピュータ１０４Ａ〜１０４Ｂはバックエンド・システム１１２にも結合される。バックエンド・システム１１２は、コンテンツ格納装置１１４にドキュメントを格納することができるコンピューティング・システムである。本明細書で使用されるように、ドキュメントという用語は任意の索引付け可能なデータの単位を意味する。バックエンド・システム１１２の動作に関する更なる詳細は後述される。
【００２２】
図１は、クライアント・コンピュータ１０２及びＷｅｂサーバ・コンピュータ１０４Ａ〜１０４Ｂによって利用される多数のソフトウェア・コンポーネントも示す。特に、Ｗｅｂサーバ・コンピュータ１０４Ａ〜１０４Ｂは、それぞれ、サーチ・クローラ１０６Ａ〜１０６Ｂを実行するように動作する。サーチ・クローラ１０６Ａ〜１０６Ｂは、バックエンド・システム１１２のコンテンツ格納装置１１４に格納されたドキュメントのような種々のソースからドキュメントを収集するように設計されたアプリケーション・プログラムである。バックエンド・システム１１２は、イントラネット・サーバ、ドキュメント又はコンテンツ・マネージメント・システム、ファイル・サーバ、コーポレート・デスクトップ、カスタマ・リレーションシップ・マネージメント・アプリケーション、もしくはビジネス・インテリジェント・アプリケーションのようなビジネス・アプリケーション、又は別タイプのコンテンツ格納装置のような、コンテンツを格納するために利用される任意のタイプのコンピューティング・システムを含み得る。
【００２３】
このドキュメント識別及び索引付けプロセスを遂行するために、サーチ・クローラ１０６Ａ〜１０６Ｂはコンテンツ格納装置に関する情報を蒔かれる。そこで、サーチ・クローラ１０６Ａ〜１０６Ｂはコンテンツ格納装置からドキュメントを検索し、そのドキュメントを索引付けし、その索引付けされたコンテンツ及び任意の関連するメタデータをサーチ索引１０８と呼ばれるデータベースに格納する。サーチ・クローラ１０６Ａ〜１０６Ｂは、各ドキュメントに含まれた他のドキュメントに対するリンクを識別し、更なるドキュメントを獲得及び索引付けするためにそれらのリンクをフォローし得る。このプロセスは「クローリング」と呼ばれる。
【００２４】
クローリング・プロセス中、サーチ・クローラ１０６Ａ〜１０６Ｂは、索引付けされている各ドキュメントに対するアクセス権を獲得し得る。例えば、サーチ・クローラ１０６Ａ〜１０６Ｂは、各ドキュメントに対する許可されたユーザのリストを獲得し得る。１つの実施態様によれば、アクセス権は、許可されたユーザのリストに関してバックエンド・システム１１２に照会するために適切なＡＰＩトランスフォーマ１１０Ａ〜１１０Ｂを利用することによって獲得される。
【００２５】
１つの実施態様によれば、クライアント・コンピュータ１０２はＷｅｂブラウザ・プログラム（以下、本明細書では「ブラウザ」と呼ぶ）１１６を含む。ブラウザ１１６は、サーバ・コンピュータ１０４Ａ〜１０４ＢからのＷｅｂページのような情報ページを要求し、受領し、表示するように動作する。特に、ブラウザ１１６は、サーバ・コンピュータ１０４Ａ〜１０４Ｂにおいて実行されているＷｅｂサーバ・アプリケーション１１８Ａ〜１１８Ｂの１つとの接続を確立するように動作する。その接続を通して、ブラウザ１１６は、サーチ索引１０８の照会を実行するためのＷｅｂページを要求し得る。そのような照会の要求は、その照会の要求にうまく対処する照会プロセッサ１２０Ａ〜１２０ＢがＷｅｂサーバ・コンピュータ１０４Ａ〜１０４Ｂにおいて実行されることによって処理される。
【００２６】
照会プロセッサ１２０Ａ〜１２０Ｂはユーザ照会に応答して、ユーザ照会においてキーワードを含むサーチ索引１０８内のドキュメントを識別する。照会プロセッサ１２０Ａ〜１２０Ｂは、その照会を行うユーザが各ドキュメントを見るに十分なアクセス権を有するかどうかに基づいたサーチ結果として各ドキュメントが戻されるべきか否かも評価する。もっと詳しく後述するように、各照会プロセッサ１２０Ａ〜１２０Ｂは、その照会を行うユーザがサーチ結果における各ドキュメントを見るための許可を有するかどうかを表すアクセス権に関してバックエンド・システム１１２を動的に照会し得る。この照会は適切なＡＰＩトランスフォーマ１１０Ａ〜１１０Ｂを介して呼び出される。
【００２７】
本明細書においてもっと詳しく後述するように、ＡＰＩトランスフォーマ１１０Ａ〜１１０Ｂはドキュメントに対するアクセス権を獲得するための正規化ＡＰＩを公開する。例えば、１つの実施態様では、ＡＰＩトランスフォーマ１１０Ａ〜１１０Ｂは、クロール・プロセス中に見つかったドキュメントに対するアクセス権を検索するためのサーチ・クローラ１０６Ａ〜１０６Ｂによる使用のためのメソッドを公開する。そのようなメソッドへのコールに応答して、ＡＰＩトランスフォーマ１１０Ａ〜１１０Ｂは、サーチ・クローラから受けた正規化コールを、バックエンド・システム１１２により公開された特定のカスタム・アクセス権ＡＰＩに変換する。そこで、バックエンド・システムから戻されたアクセス権が、コール元のサーチ・クローラに戻される。
【００２８】
別の局面によれば、ＡＰＩトランスフォーマ１１０Ａ〜１１０Ｂによって公開された正規化ＡＰＩが、照会サーチ結果において識別されたドキュメントに対するアクセス権を検索するために、照会時にプロセッサ１２０Ａ〜１２０Ｂによっても利用され得る。この場合、照会プロセッサ１２０Ａ〜１２０Ｂは、それぞれのＡＰＩトランスフォーマ１１０Ａ〜１１０Ｂによって公開された正規化ＡＰＩをコールし得る。そのようなコールに応答して、ＡＰＩトランスフォーマ１１０Ａ〜１１０Ｂは、サーチ・クローラから受けた正規化コールを、バックエンド・システム１１２によって公開された特定カスタム・アクセス権ＡＰＩへのコールに変換する。そこで、バックエンド・システム１１２から戻されたアクセス権がコール元の照会プロセッサに戻される。ＡＰＩトランスフォーマ１１０Ａ〜１１０Ｂの使用及び動作に関する更なる詳細は後述される。図１には２つのＷｅｂサーバ・コンピュータ１０４Ａ〜１０４Ｂ、１つのバックエンド・システム１１２、及び１つのクライアント・コンピュータ１０２しか示されていないが、任意の数のこれらの装置が存在し得る、ということは明らかである。
【００２９】
次に図２を参照すると、ＡＰＩトランスフォーマ１１０を含むエンタープライズ・サーチ・システムのための例示的なソフトウェア・アーキテクチャ２００の諸局面を示すソフトウェア・アーキテクチャの概略図が示される。特に、図２に示されるように、ＡＰＩトランスフォーマ１１０はドキュメントに対するアクセス権を検索するための正規化ＡＰＩを公開する。正規化ＡＰＩによって与えられる正規化インターフェースは、ドキュメントが存在するバックエンド・コンテンツ格納装置に関係なく、エンタープライズ・サーチ・システム内で実行される種々のアプリケーションがそのドキュメントに対するアクセス権を獲得するために利用し得る整合したインターフェースである。例えば、サーチ・クローラ１０６及び照会プロセッサ１２０は共に正規化ＡＰＩによって公開されたメソッドを利用してドキュメントに対するアクセス権を獲得し得る。本明細書においてもっと詳しく説明されるように、正規化ＡＰＩによって公開されたメソッドは、アクセス権が要求されるドキュメントを識別するパラメータを受け取り、そして、任意選択的に、認証のためのユーザ識別子を受け取り得る。
【００３０】
１つの実施態様では、ＡＰＩトランスフォーマ１１０によって公開された正規化ＡＰＩは、１つのグループのドキュメントに対するアクセス権を単一のユーザのために検索し得るＣＨＥＣＫＡＣＣＥＳＳメソッドを含む。１つの実施態様では、そのＣＨＥＣＫＡＣＣＥＳＳメソッドはドキュメント識別子のアレイをパラメータと解釈し、参照されたドキュメントの各々へのアクセスを現ユーザが行うかどうかを表す長い値を戻す。ＣＨＥＣＫＡＣＣＥＳＳメソッドは、一般に、現ユーザがサーチ結果の集合体を見るためにアクセス権を有するかどうかを決定するために照会プロセッサ１２０によって利用される。
【００３１】
ＡＰＩトランスフォーマ１１０によって公開された正規化ＡＰＩは、１つのドキュメント集合体に関してすべてのユーザに対するアクセス権を検索し得るＰＥＲＭＩＴＴＥＤＵＳＥＲＳメソッドも含み得る。このメソッドは、ドキュメント識別子のアレイを入力とみなし、すべてのユーザのアクセス権を表すストリングを、そのアレイにおける識別された各ドキュメントに戻す。ＰＥＲＭＩＴＴＥＤＵＳＥＲＳメソッドは、一般に、すべてのユーザに対するアクセス権を検索してクローリング中に検索されたドキュメントを見るために、サーチ・クローラ１０６によって利用される。もっと詳しく後述されるように、ＡＰＩトランスフォーマ１１０は、正規化ＡＰＩへのコールを、バックエンド・システム１１２Ａ〜１１２Ｂによって公開されたカスタムＡＰＩと互換性のあるコールに、動的に変換するように動作する。
【００３２】
上述したように、バックエンド・システム１１２Ａ〜１１２Ｂは、コンテンツ格納装置１１４Ａ〜１１４Ｂに格納されたドキュメントに対するアクセス権データを検索するためのカスタムＡＰＩを公開し得る。例えば、１つの実施態様では、ＳＡＰ  ＡＧからのソフトウェアを利用するシステムは、ユーザに対するアクセス権を１個又はそれ以上の顧客に検索するためのＧＥＴＤＩＳＰＬＡＹＡＢＬＥＣＵＳＴＯＭＥＲＳメソッドを公開し得る。このメソッドは、エンド・ユーザのアイデンティティ及び顧客番号を入力とみなし、そのエンド・ユーザがその顧客を見る権利を有するかどうかを表すブール値を戻す。ＳＡＰシステムも、特定の顧客に対するすべてのアクセス権を検索し得るＧＥＴＡＵＴＨＯＲＩＺＥＤＵＳＥＲＯＲＣＵＳＴＯＭＥＲメソッドを公開し得る。このメソッドは、顧客番号を入力とみなし、参照の顧客に対するアクセス権を表すストリングのリストを戻す。
【００３３】
１つの実施態様では、ＡＰＩトランスフォーマ１１０がＣＨＥＣＫＡＣＣＥＳＳメソッドへのコールを受け取る場合、それは、そのコールをＧＥＴＤＩＳＰＬＡＹＡＢＬＥＣＵＳＴＯＭＥＲＳメソッドと互換性のあるコールに動的に変換する。例えば、その受け取られたコールがＰＥＲＭＩＴＴＥＤＵＳＥＲＳ（ＢＤＣ：／／ＨＯＳＴ／１２３／４５６？ＩＤ＝３４）（この場合、バックエンド・システム１１２Ａは番号１２３によって識別される）である場合、ＡＰＩトランスフォーマ１１０は、このコールをＧＥＴＤＩＳＰＬＡＹＡＢＬＥＣＵＳＴＯＭＥＲＳ（３４）に動的に変換する。そこで、そのコールはバックエンド・システム１１２Ａにおいて実行される。ＡＰＩトランスフォーマ１１０は、このＡＰＩが単一の顧客ドキュメントに対する結果を得るので、複数のコールをＧＥＴＤＩＳＰＬＡＹＡＢＬＥＣＵＳＴＯＭＥＲＳメソッドに発生し得るし、一方、ＣＨＥＣＫＡＣＣＥＳＳメソッドは、一般に許可チェックを何回かに分けて要求する。ＡＰＩトランスフォーマ１１０は、オペレーティング・システムに含まれたエンド・ユーザの暗黙アイデンティティも、バックエンド・システムが利用するストリング・アイデンティティ値に変換する。
【００３４】
ＡＰＩトランスフォーマ１１０がＣＨＥＣＫＡＣＣＥＳＳ（ＢＤＣ：／／ＨＯＳＴ／３３３／４５６？ＩＤ＝３６）（この場合、バックエンド・システム１１２Ｂは番号３３３によって識別される）場合、ＡＰＩトランスフォーマ１１０は、このコールを、バックエンド・システム１１２Ｂを対象にしたＧＥＴＡＵＴＨＯＲＩＺＥＤＵＳＥＲＯＲＣＵＳＴＯＭＥＲ（３６）の形のコールに、動的に変換する。これらのバックエンドＡＰＩが単に説明のためのものであること、及び本明細書に示された実施態様がドキュメントに対するアクセス権を検索するために任意のカスタムＡＰＩにより利用され得ることは明らかであろう。
【００３５】
この処理を行うために、ＡＰＩトランスフォーマ１１０はメタデータ格納装置２０２に格納されたメタデータを利用して、正規化ＡＰＩへのコールを、バックエンド・システム１１２Ａ〜１１２Ｂによって公開されたカスタムＡＰＩへのコールに変換する。メタデータ格納装置２０２は、バックエンド・システム１１２Ａ〜１１２Ｂによって公開された実ＡＰＩと、バックエンド・システム１１２Ａ〜１１２Ｂの各々と交信するに必要な接続のタイプとを記述したデータを格納するために利用される。例えば、１つの実施態様では、バックエンド・システム１１２Ａに精通したユーザは、そのシステムによって公開された実ＡＰＩと、拡張可能マークアップ言語（ＸＭＬ）ファイルにおける接続情報とに関する記述を作成し得る。ＸＭＬファイルはエンタープライズ・サーチ・システムにアップロードされ、メタデータ格納装置２０２に格納される。一旦ＸＭＬファイルがアップロードされてしまうと、バックエンド・システム１１２Ａによって与えられたアクセス権ＡＰＩへの接続が直ちにユーザにとって利用可能になる。ユーザがバックエンド・システムからアクセス権を検索するためにインターフェースを宣言的に定義することを可能にすること及び本明細書に開示された方法でメタデータを処理することによって、新たなタイプのバックエンド・コンテンツ格納システムとインターフェースするためのコーディングはまったく必要ない。
【００３６】
１つの実施態様では、各バックエンド・システム１１２に対するメタデータ格納装置２０２に格納されたデータが、そのバックエンド・システムによって公開されたＡＰＩにおける各パラメータを識別するデータを含む。例えば、それらのパラメータは、ストリング又は整数のような原子的タイプのグループとして定義された具象ＡＰＩのパラメータを表す複合タイプの使用を通して定義される。集合体を複合タイプのグループとして定義することも可能である。メタデータ格納装置２０２に格納されたデータは、入力パラメータまたは出力パラメータのどちらであるかを表すデータ及びいくつかの又はすべてのパラメータに対するデフォルト値も含み得る。
【００３７】
実施態様によれば、各バックエンド・システム１１２のためのメタデータ格納装置２０２に格納されたデータが、バックエンド・システム１１２によって提供された各データ・タイプの定義、及びどのフィールドがデータ・タイプのインスタンスを一意的に識別するか、ということを更に含み得る。例えば、データ・タイプがＳＩＥＢＥＬバックエンド・システムにおける顧客又はＳＡＰシステムにおける指示であるということを表すデータが格納されてもよい。カスタムＡＰＩの原始的なタイプと、そのデータ・タイプのインスタンスに対応したＡＰＩにおけるパラメータとに対するタグと呼ばれる連鎖がメタデータ格納装置２０２に格納されてもよい。例えば、ＡＰＩにおけるドキュメントを一意的に識別するために利用されるパラメータがそのようなものとしてタグ付けされてもよい。サーチ・クローラ１０６または照会プロセッサ１２０が、アクセス権を要求されているドキュメントに対する識別子を供給するとき、ＡＰＩトランスフォーマ１１０は、バックエンド・システム１１２によって供給されたＡＰＩへのコールにおける適切なロケーションにそのドキュメント識別子を挿入し得る。このプロセスに関する更なる詳細が以下に示される。
【００３８】
実施態様によれば、システム供給された値に対応するバックエンドＡＰＩのパラメータがメタデータ格納装置２０２においてそのようにタグ付けされてもよい。例えば、１つの実施態様によれば、システム供給された値は現ユーザを識別するパラメータである。このように、照会プロセッサ１２０は、現ユーザのアイデンティティをＡＰＩトランスフォーマ１１０に供給し得る。そこで、ＡＰＩトランスフォーマ１１０は、バックエンド・システム１１２へのコールにおける適切なパラメータの代わりに現ユーザのアイデンティティを用い得る。このプロセスに関する更なる詳細は後述される。
【００３９】
別の局面によれば、各バックエンド・システム１１２のためのメタデータ格納装置２０２に格納されたデータが第三者のデータ格納システムに対する接続情報も含み、それによって、アクセス・チェックを実行するためにそのシステムへの接続が行われるようにする。そのデータは、バックエンドＡＰＩを実行するに必要なプロトコルのタイプも含み得る。例えば、その実施態様では、バックエンドＡＰＩへのコールを実行するために、リモート・プロシージャ・コール（ＲＰＣ）またはＷｅｂサービスを利用することも可能である。
【００４０】
１つの実施態様では、メタデータ格納装置２０２に格納されたデータが一連のデータ・テーブルとして編成される。例えば、或るテーブルは種々のバックエンド・システムを識別するデータを格納するために利用され、別のテーブルが、各コンテンツ格納装置に格納されたデータ・タイプを識別する情報を格納するために利用されてもよい。更に別のテーブルが、各コンテンツ格納装置によって公開されたセキュリティ・メソッドをデータ・タイプによって識別するデータを格納するために利用されてもよい。例えば、バックエンド・システムにおける販売注文へのアクセスが、顧客をアクセスするためのＡＰＩとは異なるＡＰＩを利用してもよい。カスタム・バックエンドＡＰＩの各パラメータを識別するデータを格納するためにテーブルが利用されてもよく、各パラメータによって利用された原子的データ・タイプを定義する情報を格納するために別のテーブルが利用されてもよい。メタデータ格納装置２０２が種々の他の方法で構成され得る、ということも明らかであろう。
【００４１】
更に図２に示されるように、ＡＰＩトランスフォーマ１１０は、バックエンド・システム１１２Ａによって公開されたカスタムＡＰＩへのプロトコル特有のコールを行うために１個又はそれ以上のシム２０４Ａ〜２０４Ｎを利用する。例えば、Ｗｅｂサービス・シム２０４ＡがＷｅｂサービス・コールを行うために提供され、ＲＰＣシム２０４Ｂがリモート・プロシージャ・コールのために提供され、データベース・シム２０４Ｃがデータベースとインターフェースするために提供されてもよい。別のシム２０４Ｎが利用されてもよい。簡単に上述したように、各バックエンド・システム１１２Ａのために使用するべき特定のシム２０４Ａ〜２０４Ｎを定義するデータ又はデータ・タイプがメタデータ格納装置２０２に格納されてもよい。例えば、Ｗｅｂサービス・シム２０４Ａがバックエンド・システム１１２Ａのコンテンツ格納装置１１４Ａに格納された或るタイプのドキュメントのために利用されるべきであるということを表すデータが格納されてもよい。データベース・シム２０４Ｃがバックエンド・システム１１２Ｂのコンテンツ格納装置１１４Ｂに格納されたドキュメントに対するアクセス権を検索するために利用されるべきであるということを表すデータがメタデータ格納装置２０２に格納されてもよい。
【００４２】
次に図３を参照すると、エンタープライズ・サーチ・システムをカスタム・バックエンド・コンテンツ格納装置アクセス制御ＡＰＩと統合するための、本明細書に示された実施態様に関する更なる詳細が示される。詳しく言えば、図３は、クロール時にドキュメントへのアクセス権を獲得するためのＡＰＩトランスフォーマ１１０を含むエンタープライズ・サーチ・システムの操作を示す流れ図である。本明細書に開示される論理オペレーションが、（１）コンピューティング・システム上で実行される一連のコンピュータ利用の動作ステップ（ａｃｔ）又はプログラム・モジュールとして、（２）コンピューティング・システム内の相互接続されたマシン論理回路又は回路モジュールとして、実施されるということは明らかであろう。その実施態様は、コンピューティング・システムの性能要件に依存した選択の問題である。従って、本明細書に開示された論理オペレーションは、操作、構造的装置、動作ステップ、又はモジュールとして種々に呼ばれる。これらの操作、構造的装置、動作ステップ、及びモジュールは、ソフトウェア、ファームウェア、特殊目的のデジタル・ロジック、及びそれの任意の組合せで実施することが可能である。
【００４３】
ルーチン３００が操作３０２で開始し、そこでは、サーチ・クローラ１０６がバックエンド・システム１１２Ａ〜１１２Ｂの１つからのドキュメントを要求する。次に、ルーチン３００は操作３０４に継続し、そこでは、サーチ・クローラ１０６が、検索されたドキュメントのユニフォーム・リソース（ＵＲＬ）を用いてＡＰＩトランスフォーマ１１０をコールする。次に、ルーチン３００は操作３０６に継続し、そこでは、ＡＰＩトランスフォーマ１１０がその受け取られたＵＲＬからバックエンド・システムのリファレンス、ドキュメントのデータ・タイプ、及びドキュメントに対するドキュメント識別子を抽出する。例えば、その受け取られたＵＲＬがｂｄｃ：／／ｈｏｓｔｎａｍｅ／１２３／４５６？ｉｄ＝３４である場合、バックエンド・システム・リファレンスは１２３であり、データ・タイプは４５６であり、ドキュメント識別子は３４である。バックエンド・システムがＳＡＰシステムであり、データ・タイプがＳＡＰにおける顧客であり、ドキュメント識別子が顧客番号３４を有する顧客を参照する、ということを決定するために、メタデータ格納装置２０２におけるデータを参照することが可能である。
【００４４】
一旦バックエンド・システム・リファレンス、データ・タイプ、及びドキュメント識別子が抽出されてしまうと、ルーチン３００は操作３０８に継続する。操作３０８では、ＡＰＩトランスフォーマ１１０が適切なバックエンド・システム・メソッドへのコールをインスタンス化する。１つの実施態様では、コールは、メタデータ格納装置２０２に格納された各パラメータに対するデフォルト値を使ってインスタンス化される。次に、ルーチン３００は操作３１０に継続し、そこでは、ＡＰＩトランスフォーマ１１０がバックエンド・システムＡＰＩへのインスタンス化されたコールの適切なパラメータの代わりに、正規化ＡＰＩへのコールと共に受け取られたドキュメント識別子を使用する。ＡＰＩトランスフォーマ１１０は、メタデータ格納装置２０２に格納されたデータを利用してドキュメント識別子パラメータに対する正しいロケーションを識別する。１つの実施態様では、正規化ＡＰＩへのコールと共に受け取られたユーザ識別子を、バックエンド・システムＡＰＩへのコールにおける適切なロケーションに挿入することが可能である。
【００４５】
一旦、バックエンド・システムによって与えられたカスタムＡＰＩへのコールがインスタンス化され、すべてのパラメータが設定されてしまうと、ルーチン３００は操作３１２に継続し、そこでは、ＡＰＩトランスフォーマ１１０が適切なバックエンド・システム１１２の代わりにそのコールを実行する。上述したように、リモート・メソッド・コールを実際に遂行するために、適切なシム２０４Ａ〜２０４Ｎを利用することも可能である。そのメソッドの実行に応答して、操作３１４において、バックエンド・システムは要求されたアクセス権を戻す。
【００４６】
そこで、ＡＰＩトランスフォーマ１１０は、そのＡＰＩトランスフォーマ１１０によって公開された正規化ＡＰＩへのオリジナル・コールに応答してその戻されたアクセス権をサーチ・クローラ１０６に与える。これは操作３１６において生じる。操作３１８において、サーチ・クローラ１０６は戻されたアクセス権をサーチ索引１０８または他の適当なデータ格納装置に格納する。照会プロセッサ１２０は、この情報を利用して、照会時に、アクセス権を提供したバックエンド・システムとの交信を要求することなくサーチ結果を整え得る。ルーチン３００は、操作３１８から、それが終了する操作３２０に継続する。
【００４７】
次に、図４を参照して、ＡＰＩトランスフォーマ１１０を含むエンタープライズ・サーチ・システムにおいてサーチ時にドキュメントへのアクセス権を獲得するための例示ルーチンを説明することにする。詳しく言うと、ルーチン４００が操作４０２において開始し、そこでは、コンピュータ１０２が照会プロセッサ１２０においてサーチ照会を実行する。サーチ照会の実行に応答して、ルーチン４００は操作４０２から操作４０４に継続する。そこでは、照会プロセッサ１２０がサーチ索引１０８からの指定されたサーチ用語に一致するドキュメントのＵＲＬを検索する。次に、照会プロセッサ１２０が、識別されたＵＲＬを用いて、ＡＰＩトランスフォーマ１１０によって公開された正規化ＡＰＩをコールする。これは、操作４０６において生じる。
【００４８】
ルーチン４００は操作４０６から操作４０８に継続する。そこでは、ＡＰＩトランスフォーマ１１０が、受け取られたＵＲＬからバックエンド・システム・リファレンス、ドキュメントのタイプ、及びドキュメントに対するドキュメント識別子を抽出する。例えば、受け取られたＵＲＬがｂｄｃ：／／ｈｏｓｔｎａｍｅ／１２３／４５６？ｉｄ＝３４である場合、バックエンド・システム・リファレンスは１２３であり、データ・タイプは４５６であり、ドキュメント識別子は３４である。メタデータ格納装置２０２におけるデータは、をバックエンド・システムがＳＡＰシステムであること、及びドキュメント識別子が顧客番号３４を持つ顧客を参照することを決定するために参照されてもよい。
【００４９】
一旦、バックエンド・システム・リファレンス、データ・タイプ、及びドキュメント識別子が抽出されてしまうと、ルーチン４００は操作４１０へ継続する。操作４１０では、ＡＰＩトランスフォーマ１１０が適切なバックエンド・システム・メソッドへのコールをインスタンス化する。１つの実施態様では、メタデータ格納装置２０２に格納された各パラメータに対するデフォルト値を使ってコールがインスタンス化される。次に、ルーチン４００は操作４１２へ継続する。そこでは、ＡＰＩトランスフォーマ１１０が、ドキュメント識別子と正規化ＡＰＩへのコールと共に受け取られたユーザ識別子とをバックエンド・システムＡＰＩへのコールにおける適切なロケーションに挿入する。
【００５０】
一旦、バックエンド・システムによって与えられたカスタムＡＰＩへのコールがインスタンス化されてしまい且つすべてのパラメータが設定されてしまうと、ルーチン４００は操作４１４へ継続する。そこでは、ＡＰＩトランスフォーマ１１０が適切なバックエンド・システム１１２の代わりにそのコールを実行する。上述したように、リモート・メソッド・コールを遂行するために、適切なシム２０４Ａ〜２０４Ｎが利用されてもよい。そのメソッドの実行に応答して、操作４１６において、バックエンド・システムが、要求されたアクセス権を戻す。そこで、ＡＰＩトランスフォーマ１１０は、そのＡＰＩトランスフォーマ１１０によって公開された正規化ＡＰＩへのオリジナル・コールに応答して、その戻されたアクセス権を照会プロセッサ１２０に与える。操作４１８において、照会プロセッサ１２０はその戻されたアクセス権に基づいてサーチ結果を整える。例えば、現ユーザが読取りの許可を有しないという結果は表示されず、一方現ユーザが読取りの許可を有するという結果は表示されるであろう。ルーチン４００は操作４１８から操作４２０へ継続し、そこでは、そのユーチンは終了する。
【００５１】
次に、図５を参照して、本明細書に示された種々の実施態様において利用されるコンピュータ５００に関するコンピュータ・アーキテクチャを説明する。図５に示されたコンピュータ・アーキテクチャは通常のデスクトップ・コンピュータ、ラップトップ・コンピュータ、又はサーバ・コンピュータを表す。図５に示されたコンピュータ・アーキテクチャは、中央処理装置（ＣＰＵ）５０２、ランダム・アクセス・メモリ（ＲＡＭ）５１４及びリード・オンリ・メモリ（ＲＯＭ）５１６を含むシステム・メモリ５０８、並びにそのメモリをＣＰＵ５０２に接続するシステム・バス５０４を含む。起動時のようにコンピュータ５００内の構成要素間における情報の転送を支援する基本ルーチンを含む基本入出力システムがＲＯＭ５１６に格納されている。コンピュータ５００は、オペレーティング・システム５１８、アプリケーション・プログラム、及び他のプログラム・モジュールを格納する大容量記憶装置５１０を更に含み、これらはもっと詳しく後述される。
【００５２】
大容量記憶装置５１０は、バス５０４に接続された大容量記憶装置コントローラ（図示せず）を介してＣＰＵ５０２に接続される。大容量記憶装置５１０およびその関連のコンピュータ可読媒体はコンピュータ５００のための不揮発性記憶装置を提供する。本明細書に含まれたコンピュータ可読媒体の説明はハード・ディスクまたはＣＤ−ＲＯＭドライブのような大容量記憶装置を参照するが、コンピュータ可読媒体が、コンピュータ５００によってアクセスされ得る任意の媒体であってもよい、ということは当業者には明らかであろう。
【００５３】
コンピュータ可読媒体は、一例として且つ限定でなく、コンピュータ可読命令、データ構造、プログラム・モジュール、またはその他のデータのような情報を格納するための任意の方法又は技術において具現化された揮発性及び不揮発性の取り外し可能媒体並びに固定型媒体を含み得る。例えば、コンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリもしくは他の固体素子メモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、ＨＤ−ＤＶＤ、ＢＬＵ−ＲＡＹもしくは他の光学的記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、又は、所望の情報を格納するために使用することができ且つコンピュータ５００がアクセスすることができる任意の他の媒体を含むがそれらに限定されない。
【００５４】
種々の実施態様によれば、コンピュータ５００は、インターネットのようなネットワーク１２２を介したリモート・コンピュータへの論理的接続を使うネットワーク環境において動作し得る。コンピュータ５００は、バス５０４に接続されたネットワーク・インターフェース装置５０６を介してネットワーク１２２に接続し得る。ネットワーク・インターフェース装置５０６は、他のタイプのネットワーク及びリモート・コンピュータ・システムに接続するためにも利用され得る、ということは明らかであろう。コンピュータ５００は、キーボード、マウス、又は電子スタイラス（図５には図示せず）を含む多くの他の装置からの入力を受け且つそれを処理するための入出力コントローラ５１２も含み得る。同様に、入出力コントローラは、ディスプレイ・スクリーン、プリンタ、又は他のタイプの出力装置（図５には図示せず）に出力を供給し得る。
【００５５】
簡単に上述したように、ネットワーク接続されたデスクトップ・コンピュータ又はサーバ・コンピュータの動作を制御するに適したオペレーティング・システムであって、米国ワシントン州レドモンドのマイクロソフト社からのＷＩＮＤＯＷＳ（登録商標）  ＸＰ又はＷＩＮＤＯＷＳ（登録商標）  ＶＩＳＴＡオペレーティング・システムのようなオペレーティング・システム５１８を含む多数のプログラム・モジュール及びデータがコンピュータ５００の大容量記憶装置５１０及びＲＡＭ５１４に格納される。ＬＩＮＵＸオペレーティング・システム、又は米国のアップル・コンピュータ社からのＯＳＸオペレーティング・システムのような他のオペレーティング・システムも利用され得る。本明細書に示された実施態様は、デスクトップ・クライアント・コンピュータ又はラップトップ・クライアント・コンピュータ１０２及びリモート・サーバ・コンピュータ１０４との関連で説明されるが、本明細書に示された種々の局面を具体化するために多くの他のタイプのコンピューティング装置及びシステムを利用することも可能である、ということは明らかであろう。
【００５６】
大容量記憶装置５１０及びＲＡＭ５１４も、１個又はそれ以上のプログラム・モジュールを格納し得る。特に、大容量記憶装置５１０及びＲＡＭ５１４は、図１及び図２に関連して上述したＷｅｂブラウザ１１６、Ｗｅｂサーバ・アプリケーション１１８、及び他のプログラム・モジュールを格納し得る。他のプログラム・モジュールは、大容量記憶装置５１０によって格納され且つコンピュータ５００によって利用されてもよい。
【００５７】
上記記載に基づいて、エンタープライズ・サーチ・システムをカスタム・バックエンド・コンテンツ格納装置アクセス制御ＡＰＩと統合するためのシステム、方法、及びコンピュータ可読媒体が本明細書において提供される、ということは明らかであろう。本明細書に示された主旨を、コンピュータの構造的特徴、方法論上の動作ステップ、及びコンピュータ可読媒体に特有の用語を用いて説明されたが、「特許請求の範囲」において定義された発明が、本明細書で開示された固有の特徴、動作ステップ、又は媒体に必ずしも限定されないということは理解されるべきである。むしろ、その固有の特徴、動作ステップ、及び媒体は、「特許請求の範囲」の記載を具現化する例示的形体として開示されている。
【００５８】
上記の主旨は単に説明の目的で与えられており、限定事項として解されるべきではない。図示され且つ説明された例示の実施態様及び応用例に追従することなく、及び「特許請求の範囲」に示された本発明の真意及び範囲から逸脱することなく、本明細書に記載された主旨に対して種々の修正及び変更を施すことが可能である。
【図１】
2010518467.tif 000003
【図２】
2010518467.tif 000004
【図３】
2010518467.tif 000005
【図４】
2010518467.tif 000006
【図５】
2010518467.tif 000007
【国際調査報告】
2010518467.tif 000008
2010518467.tif 000009