(57)【特許請求の範囲】
【請求項１】
第１のソフトウェアアプリケーションをインストールされた第１のサーバ装置と、第２のソフトウェアアプリケーションをインストールされた第２のサーバ装置と、第１のソフトウェアアプリケーションアダプタが動作する第３のサーバ装置とを有するシステムにおいて、前記第１のソフトウェアアプリケーションと前記第２のソフトウェアアプリケーションとの間のシングルサインオンを発行する方法であって、
前記第１のソフトウェアアプリケーションにより新たなプログラムインターフェースのための要求を前記第１のソフトウェアアプリケーションアダプタへ発するステップと、
前記要求に応答して、前記第１のソフトウェアアプリケーションアダプタと前記第１のソフトウェアアプリケーションとの間のハンドシェイクを開始するステップと、
前記第１のソフトウェアアプリケーションから前記第１のソフトウェアアプリケーションアダプタへ認証情報を送信するステップと、
前記第２のソフトウェアアプリケーションにより前記認証情報を認証するステップと、
前記第２のソフトウェアアプリケーションから前記第１のソフトウェアアプリケーションへ前記第１のソフトウェアアプリケーションアダプタを介して有効セッションＩＤを返すステップと
を有するシングルサインオン発行方法。
【請求項２】
前記要求は、第１のソフトウェアアプリケーションセッションＩＤと、第１のソフトウェアアプリケーションＵＲＬと、第１のソフトウェアアプリケーションキーとを含む、請求項１記載のシングルサインオン発行方法。
【請求項３】
前記第１のソフトウェアアプリケーションアダプタと前記第１のソフトウェアアプリケーションとの間の前記ハンドシェイクを開始するステップは、前記第１のソフトウェアアプリケーションアダプタが前記第１のソフトウェアアプリケーションに対応するＵＲＬを呼び出すステップを含む、請求項１記載のシングルサインオン発行方法。
【請求項４】
前記第１のソフトウェアアプリケーションでのオブジェクト選択に応答して、前記第１のソフトウェアアプリケーションにより新たなプログラムインターフェースのための要求を前記第１のソフトウェアアプリケーションアダプタへ発するステップを更に有する、請求項１記載のシングルサインオン発行方法。
【請求項５】
前記第２のソフトウェアアプリケーションから前記第１のソフトウェアアプリケーションへ前記第１のソフトウェアアプリケーションアダプタを介して返された前記有効セッションＩＤにより前記第２のソフトウェアアプリケーション上でオブジェクトにアクセスするステップを更に有する、請求項１記載のシングルサインオン発行方法。
【請求項６】
前記オブジェクトは、前記第２のサーバ装置に記憶されている文書である、請求項５記載のシングルサインオン発行方法。
【請求項７】
前記第１のソフトウェアアプリケーションにおけるオブジェクトが該第１のソフトウェアアプリケーションのセッションで選択される最初のときにのみ、前記第１のソフトウェアアプリケーションにより新たなプログラムインターフェースのための要求を前記第１のソフトウェアアプリケーションアダプタへ発するステップを更に有する、請求項４記載のシングルサインオン発行方法。
【請求項８】
前記第１のソフトウェアアプリケーションの認証情報に基づいて前記第２のソフトウェアアプリケーションにおいて前記有効セッションＩＤを生成するステップを更に有する、請求項１記載のシングルサインオン発行方法。
【請求項９】
前記認証情報は、アカウント名と、ユーザ名とを含む、請求項８記載のシングルサインオン発行方法。
【請求項１０】
２つのアクセス可能ソフトウェアアプリケーションの間のシングルサインオンを有するシステムであって、
当該システムは、第１のネットワークアクセス可能ソフトウェアアプリケーション、プロセッサ及びコンピュータ読取可能な媒体を有する第１のサーバ装置を有し、
前記第１のサーバ装置は、
前記第１のネットワークアクセス可能ソフトウェアアプリケーションにより新たなプログラムインターフェースを呼び出すよう構成されるインターフェース初期化ユニットと、
第１のソフトウェアアプリケーションアダプタと前記第１のネットワークアクセス可能ソフトウェアアプリケーションとの間のハンドシェイクを制御するよう構成されるハンドシェイクユニットと、
前記第１のネットワークアクセス可能ソフトウェアアプリケーションから前記第１のソフトウェアアプリケーションアダプタへ認証情報を送信するよう構成される認証ユニットと、
前記第１のソフトウェアアプリケーションアダプタから有効セッションＩＤを受信するよう構成されるセッション受信ユニットと
を有し、
当該システムは、更に、前記第１のソフトウェアアプリケーションアダプタ、プロセッサ及びコンピュータ読取可能な媒体を有するアダプタサーバ装置を有し、
前記アダプタサーバ装置は、
前記第１のネットワークアクセス可能ソフトウェアアプリケーションから新たなプログラムインターフェースについての要求を受信するよう構成される新プログラムインターフェース要求受信ユニットと、
前記第１のネットワークアクセス可能ソフトウェアアプリケーションからの前記新たなプログラムインターフェースについての前記要求の受信に応答して前記第１のネットワークアクセス可能ソフトウェアアプリケーションとのハンドシェイクを実行するよう構成されるハンドシェイクユニットと、
前記第１のネットワークアクセス可能ソフトウェアアプリケーションから認証情報を受信し、該認証情報を第２のネットワークアクセス可能ソフトウェアアプリケーションへ転送し、該第２のネットワークアクセス可能ソフトウェアアプリケーションから前記有効セッションＩＤを受信し、該有効セッションＩＤを前記第１のネットワークアクセス可能ソフトウェアアプリケーションへ前記新たなプログラムインターフェースについての前記要求に対する応答として転送するよう構成される認証ユニットと
を有し、
当該システムは、更に、前記第２のネットワークアクセス可能ソフトウェアアプリケーション、プロセッサ及びコンピュータ読取可能な媒体を有する第２のサーバ装置を有し、
前記第２のサーバ装置は、
前記第１のソフトウェアアプリケーションアダプタから受信した前記認証情報によりユーザを認証するよう構成される認証ユニットと、
前記認証ユニットが受信した前記認証情報に基づいてユーザを認証する場合に有効セッションＩＤを生成し、該有効セッションＩＤを前記第１のソフトウェアアプリケーションアダプタへ送信するよう構成される有効セッションＩＤユニットと
を有する、システム。
【請求項１１】
２つのネットワークアクセス可能ソフトウェアアプリケーションの間でシングルサインオンを発行する方法を実行する命令を記憶したコンピュータ読取可能な媒体であって、
前記方法は、
第１のソフトウェアアプリケーションにより新たなプログラムインターフェースための要求を第１のソフトウェアアプリケーションアダプタへ発するステップと、
前記要求に応答して、前記第１のソフトウェアアプリケーションアダプタと前記第１のソフトウェアアプリケーションとの間のハンドシェイクを開始するステップと、
前記第１のソフトウェアアプリケーションから前記第１のソフトウェアアプリケーションアダプタへ認証情報を送信するステップと、
第２のソフトウェアアプリケーションにより前記認証情報を認証するステップと、
前記第２のソフトウェアアプリケーションから前記第１のソフトウェアアプリケーションへ前記第１のソフトウェアアプリケーションアダプタを介して有効セッションＩＤを返すステップと
を有する、コンピュータ読取可能な媒体。
【請求項１２】
前記要求は、第１のソフトウェアアプリケーションセッションＩＤと、第１のソフトウェアアプリケーションＵＲＬと、第１のソフトウェアアプリケーションキーとを含む、請求項１１記載のコンピュータ読取可能な媒体。
【請求項１３】
前記第１のソフトウェアアプリケーションアダプタと前記第１のソフトウェアアプリケーションとの間の前記ハンドシェイクを開始するステップは、前記第１のソフトウェアアプリケーションアダプタが前記第１のソフトウェアアプリケーションに対応するＵＲＬを呼び出すステップを含む、請求項１１記載のコンピュータ読取可能な媒体。
【請求項１４】
前記方法は、前記第１のソフトウェアアプリケーションでのオブジェクト選択に応答して、前記第１のソフトウェアアプリケーションにより新たなプログラムインターフェースための要求を第１のソフトウェアアプリケーションアダプタへ発するステップを更に有する、請求項１１記載のコンピュータ読取可能な媒体。
【請求項１５】
前記方法は、前記第２のソフトウェアアプリケーションから前記第１のソフトウェアアプリケーションへ前記第１のソフトウェアアプリケーションアダプタを介して返された前記有効セッションＩＤにより前記第２のソフトウェアアプリケーション上でオブジェクトにアクセスするステップを更に有する、請求項１１記載のコンピュータ読取可能な媒体。
【請求項１６】
前記オブジェクトは、前記第２のソフトウェアアプリケーションに関連する装置に記憶されている文書である、請求項１５記載のコンピュータ読取可能な媒体。
【請求項１７】
前記方法は、前記第１のソフトウェアアプリケーションにおけるオブジェクトが該第１のソフトウェアアプリケーションのセッションで選択される最初のときにのみ、前記第１のソフトウェアアプリケーションにより新たなプログラムインターフェースための要求を第１のソフトウェアアプリケーションアダプタへ発するステップを更に有する、請求項１４記載のコンピュータ読取可能な媒体。
【請求項１８】
前記方法は、前記第１のソフトウェアアプリケーションの認証情報に基づいて前記第２のソフトウェアアプリケーションにおいて前記有効セッションＩＤを生成するステップを更に有する、請求項１１記載のコンピュータ読取可能な媒体。
【請求項１９】
前記認証情報は、アカウント名と、ユーザ名とを含む、請求項１８記載のコンピュータ読取可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書記憶サービスと顧客関係管理サービスとの間でシングルサインオンを有効にするシステム及び方法に関する。
【背景技術】
【０００２】
通常、例えばＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）等の文書記憶サービスとともに、例えばｓａｌｅｓｆｏｒｃｅ．ｃｏｍ（登録商標）等の顧客関係管理サービスを用いる場合に、それらのサービス間の認証は困難であった。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
従って、本発明は、とりわけ、プロセッサ及びコンピュータ読取可能な媒体を有するサーバ装置により２つのネットワークアクセス可能ソフトウェアアプリケーションの間のシングルサインオンを発行するための方法を提供する。
【０００４】
また、本発明は、２つのアクセス可能ソフトウェアアプリケーションの間のシングルサインオンを有するシステムを提供する。
【課題を解決するための手段】
【０００５】
本発明の実施形態に従うシングルサインオン発行方法は、第１のソフトウェアアプリケーションにより新たなプログラムインターフェースを呼び出すステップと、第１のソフトウェアアプリケーションアダプタと前記第１のソフトウェアアプリケーションとの間のハンドシェイクを開始するステップと、前記第１のソフトウェアアプリケーションから前記第１のソフトウェアアプリケーションアダプタへ認証情報を送信するステップと、第２のソフトウェアアプリケーションにより前記認証情報を認証するステップと、前記第２のソフトウェアアプリケーションから前記第１のソフトウェアアプリケーションへ前記第１のソフトウェアアプリケーションアダプタを介して有効セッションＩＤを返すステップとを有する。
【０００６】
本発明の他の実施形態に従うシステムは、第１のネットワークアクセス可能ソフトウェアアプリケーション、プロセッサ及びコンピュータ読取可能な媒体とを有する第１のサーバ装置を有する。この第１のサーバ装置は、前記第１のネットワークアクセス可能ソフトウェアアプリケーションにより新たなプログラムインターフェースを呼び出すインターフェース初期化ユニットと、第１のソフトウェアアプリケーションアダプタと前記第１のネットワークアクセス可能ソフトウェアアプリケーションとの間のハンドシェイクを制御するハンドシェイクユニットと、前記第１のネットワークアクセス可能ソフトウェアアプリケーションから前記第１のソフトウェアアプリケーションアダプタへ認証情報を送信する認証ユニットと、前記第１のソフトウェアアプリケーションアダプタから有効セッションＩＤを受信するセッション受信ユニットとを有する。また、当該システムには、前記第１のソフトウェアアプリケーションアダプタ、プロセッサ及びコンピュータ読取可能な媒体を有するアダプタサーバ装置が含まれる。このアダプタサーバ装置は、前記第１のネットワークアクセス可能ソフトウェアアプリケーションから新たなプログラムインターフェースについての要求を受信する新プログラムインターフェース要求受信ユニットと、前記第１のネットワークアクセス可能ソフトウェアアプリケーションからの前記新たなプログラムインターフェースについての前記要求の受信に応答して前記第１のネットワークアクセス可能ソフトウェアアプリケーションとのハンドシェイクを実行するハンドシェイクユニットと、前記第１のネットワークアクセス可能ソフトウェアアプリケーションから認証情報を受信し、該認証情報を第２のネットワークアクセス可能ソフトウェアアプリケーションへ転送し、該第２のネットワークアクセス可能ソフトウェアアプリケーションから前記有効セッションＩＤを受信し、該有効セッションＩＤを前記第１のネットワークアクセス可能ソフトウェアアプリケーションへ前記新たなプログラムインターフェースについての前記要求に対する応答として転送する認証ユニットとを有する。
【０００７】
また、当該システムには、前記第２のネットワークアクセス可能ソフトウェアアプリケーション、プロセッサ及びコンピュータ読取可能な媒体を有する第２のサーバ装置が含まれる。この第２のサーバ装置は、前記第１のソフトウェアアプリケーションアダプタから受信した前記認証情報によりユーザを認証する認証ユニットと、前記認証ユニットが受信した前記認証情報に基づいてユーザを認証する場合に有効セッションＩＤを生成し、該有効セッションＩＤを前記第１のソフトウェアアプリケーションアダプタへ送信する有効セッションＩＤユニットとを有する。
【０００８】
本発明に係る前述の概要及び以下の詳細な記載は、本発明の例であって限定ではないと解されるべきである。
【発明の効果】
【０００９】
本発明の実施形態によれば、２つのネットワークアクセス可能ソフトウェアアプリケーションの間でシングルサインオンを有効にすることが可能となる。
【図面の簡単な説明】
【００１０】
【図１】例となる文書記憶サービスと例となる顧客関係管理サービスとの間のデータマッピングを示すブロック図である。
【図２】ネットワークアクセス可能ソフトウェアアプリケーションを有する複数のサービスの編成を示すブロック図である。
【図３】２つのネットワークアクセス可能ソフトウェアアプリケーションの間の認証及びハンドシェイク過程を示すブロック図である。
【図４】本発明の一実施形態に従う方法を示すフロー図である。
【図５】本発明の一実施形態に従う処理手続を示すフロー図である。
【図６】ネットワークアクセス可能ソフトウェアアプリケーションの間で使用される有効セッションＩＤを生成する過程を示すブロック図である。
【図７】２つのネットワークアクセス可能ソフトウェアアプリケーションとユーザインターフェースとの間の相互作用を示すブロック図である。
【図８】２つのネットワークアクセス可能ソフトウェアアプリケーションから情報にアクセスするユーザインターフェースの例を示す。
【図９】本発明の実施形態に従う装置のハードウェア構成である。
【図１０】本発明の実施形態が実施されるコンピュータシステムを表す。
【図１１】本発明の実施形態に従う２つのネットワークアクセス可能サーバ及びアダプタの夫々の構成を表すブロック図である。
【発明を実施するための形態】
【００１１】
本発明の他の目的、特徴及び利点は、添付の図面とともに読まれる場合に、以下の詳細な記載からより明らかになるであろう。
【００１２】
以下、図面を参照して説明する。図面中、同じ参照符号は、複数の図を通して同一の又は対応する部分を表す。図１を参照すると、例となる顧客関係管理サービス及び例となる文書記憶サービスのデータモデル間のデータ関係を特定するデータマッピングが表されている。
【００１３】
図１は、ｓａｌｅｓｆｏｒｃｅ等の顧客関係管理サービスのユーザが、例えば、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）等の文書記憶サービス上のデータにアクセスすることを可能にするシングルサインオンの実行を表す。図１に示されるように、１度のアカウント作成処理の間、アカウント（Ａｃｃｏｕｎｔ）は、ｓａｌｅｓｆｏｒｃｅ（ＳＦＤＣ）にあるオーガニゼーション（Ｏｒｇａｎｉｚａｔｉｏｎ）に対応するよう、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）で作成される。更に、ｓａｌｅｓｆｏｒｃｅのオーガニゼーションにおける各ユーザごとに、ユーザ（Ｕｓｅｒ）はＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）で作成される。本発明の一実施形態で、ｓａｌｅｓｅｆｏｒｃｅでのユーザのユーザ名は、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）でのユーザ名に対応する。
【００１４】
図２は、ｓａｌｅｓｆｏｒｃｅ．ｃｏｍ（登録商標）ネットワークアクセス可能ソフトウェアアプリケーション１０を含むｓａｌｅｓｆｏｒｃｅ．ｃｏｍ（登録商標）サーバ１をインストールされているシステムの構成を表す。システムは、更に、例えば、アダプタ２０と、アダプタ２０が動作するサーバ２とを有する。システムは、更に、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）サーバ３と、それにインストールされているＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）ネットワークアクセス可能ソフトウェアアプリケーション３０とを有する。図１から明らかなように、ｓａｌｅｓｆｏｒｃｅ．ｃｏｍ（登録商標）サーバ１は、最初に、アダプタ２０及びアダプタサーバ２を介してＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）サーバ３にアクセスする。ｓａｌｅｓｆｏｒｃｅ．ｃｏｍ（登録商標）ネットワークアクセス可能ソフトウェアアプリケーション１０及びＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）ネットワークアクセス可能ソフトウェアアプリケーション３０の記載は例であり、他のタイプのネットワークアクセス可能ソフトウェアアプリケーションが記載されるシステムで使用されてもよい。
【００１５】
本発明は、文書記憶サービスと顧客関係管理サービスとの間でシングルサインオンを有効にする方法及びシステムに関する。図３及び図４はこの方法の一例を与える。最初に、図３には、ｓａｌｅｓｆｏｒｃｅ．ｃｏｍ（登録商標）（ＳＦＤＣ）アプリケーション１０、アダプタ２０及びＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０が表されている。具体的に、図３には、ＳＦＤＣネットワークアクセス可能ソフトウェアアプリケーション１０がＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０と認証を行って、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０の情報をＳＦＤＣアプリケーション１０からアクセス可能とするフロー処理が表されている。図３及び図４は、この処理のために提供されるステップ２１〜２６を表す。
【００１６】
ステップ２１で、ＳＦＤＣアプリケーション１０は、新たなＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０のセッションを要求するために、新たなアプリケーション・プログラミング・インターフェース（“ＡＰＩ”）を呼び出す。この要求には、少なくとも、ＳＦＤＣセッションＩＤ、ＳＦＤＣ  ＵＲＬ及びＳＦＤＣキーが含まれる。ステップ２２は、ＳＦＤＣアプリケーション１０とアダプタ２０との間のハンドシェイキングの処理を開始する。具体的に、ステップ２２で、ＳＦＤＣ  ＵＲＬがアダプタ２０によって呼び出される。これに応答して、ステップ２３で、ＳＦＤＣアプリケーション１０は、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）ユーザ名及びアカウント名をアダプタ２０へ送信して、ハンドシェイキング処理を完了する。上述されたように、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）ユーザ名及びアカウント名は、予め、ＳＦＤＣオーガニゼーション及びユーザ名に対応するよう作成されている。次いで、アダプタ２０は、セッションを認証するために、ステップ２４で、受信したユーザ名及びアカウント名をＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０へ送信する。
【００１７】
これに応答して、次いで、ステップ２５で、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０は、有効なＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）セッションＩＤをアダプタ２０へ返す。次いで、ステップ２６で、アダプタ２０は、ステップ２１で発せられた元の要求に対する応答として、有効ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）セッションＩＤをＳＦＤＣアプリケーション１０へ送信する。有効ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）セッションＩＤをＳＦＤＣアプリケーション１０へ提供することによって、ＳＦＤＣアプリケーション１０は、この有効セッションＩＤを用いて、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０からの情報にアクセスすることができる。
【００１８】
図５は、図３及び図４に表されている処理のタイミングを表すフローチャートを示す。特に、一実施形態において、ステップ２１で、ＳＦＤＣアプリケーション１０のサーバは要求を、直接にＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０ではなく、アダプタ２０へ送信する。代替的に、アダプタ２０はＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０の一部であってよく、あるいは、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０はアダプタ２０の機能性を実行してよい。
【００１９】
ステップ２１で送信された要求の受信に応答して実行されるステップ２２で、アダプタ２０はＳＦＤＣ  ＵＲＬを呼び出す。これはハンドシェイキング処理の第１ステップである。ステップ２１での要求の受信に応答して実行されるステップ２３で、ＳＦＤＣアプリケーション１０は、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）ユーザ名及びアカウント名をアダプタ２０へ送信し、ハンドシェイキング処理を完了する。
【００２０】
ハンドシェイキング処理が完了すると、アダプタ２０は、セッションを認証するために、ステップ２４で、受信したユーザ名及びアカウント名をＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０へ送信する。
【００２１】
ユーザ名及びアカウント名の受信に応答して、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０は、ステップ２５で、有効ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）セッションＩＤをアダプタ２０へ送信する。更に、ユーザ名及びアカウント名の受信に応答して、ステップ２６で、アダプタ２０は、有効ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）セッションＩＤを、ステップ２１で発せられた元の要求に対する応答として、ＳＦＤＣアプリケーション１０へ送信する。
【００２２】
図３〜５に示される処理は、プロセッサ及びコンピュータ読取可能な媒体を有する少なくとも１つのサーバ装置により実行され得る。具体的に、この処理は、かかる処理を実行するよう構成される特定の機械である少なくとも１つのサーバ装置と結び付けられている。
【００２３】
図６は、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０が、図３〜５に関連して上述された、ＳＦＤＣアプリケーション１０へ返されるべきセッションＩＤを生成する処理を示す。
【００２４】
図６に示されるように、セッションＩＤ生成処理は、ＳＦＤＣアプリケーション１０がユーザ名及びアカウント名をアダプタ２０を介してＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０へ送信する場合に開始する。この情報の受信に応答して、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０は、ブロック３１で、ユーザ名ルックアップ処理を実行する。このルックアップ処理は、認証されるユーザのデータベース３２にアクセスし、ブロック３３で、提供されるユーザ情報が有効なユーザに対応するか否かを決定する。提供される情報が有効なユーザに対応しないと判断される場合は、処理は終了され、あるいは代替的に、新たなユーザ処理が実行され得る。しかし、提供される情報が有効なユーザに対応すると判断される場合は（例えば、“Ｙｅｓ”）、フローはブロック３５に進む。ブロック３５で、提供されるユーザＩＤは、生成されるＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）セッションＩＤと適合される。次いで、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）セッションＩＤは、ＳＦＤＣアプリケーション１０へ送信される。
【００２５】
有効ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）セッションＩＤがＳＦＤＣアプリケーション１０へ返されると、ＳＦＤＣアプリケーション１０は、上述されたように、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０からの情報にアクセスすることができる。
【００２６】
図７は、ユーザがカスタムＳＦＤＣインターフェース６０を介してＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）情報にアクセスする処理を表す。ステップ１で、ユーザは、例えばｈｔｔｐｓを介してＳＦＤＣアプリケーション１０に接続されているカスタムＳＦＤＣインターフェース６０にアクセスする。図７に示されるように、ＳＦＤＣインターフェース６０は、例えば、ｈｔｔｐｓ上でＳＦＤＣサーバ１によって実行されるＳＦＤＣアプリケーション１０と接続するウェブブラウザである。このように、ユーザがカスタムＳＦＤＣインターフェース６０にアクセスすると、ユーザはＳＦＤＣアプリケーション１０及び対応するデータベース１１に接続される。加えて、有効ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）セッションＩＤがＳＦＤＣアプリケーション１０によって受信されているとすると、ユーザは、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）サーバ３に記憶されている文書にアクセスすることができる。具体的に、図７に表されるように、ユーザがカスタムＳＦＤＣインターフェース６０を介して、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）データベース３１に記憶され又はＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０によって制御される文書にアクセスする場合に、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０はＳＦＤＣアプリケーション１０に接続する。この接続によって、ＳＦＤＣアプリケーション１０はアクセスを通知され、要求が実際にＳＦＤＣインターフェース６０から発せられていることを確認することができる。次いで、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０は、要求されている情報を取り出し、ステップ４で、その要求されているデータをカスタムＳＦＤＣインターフェース６０を介してユーザに返す。また、留意すべきは、ＳＦＤＣアプリケーション１０及びＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０が通信を行うことで、カスタムＳＦＤＣインターフェース６０は、どの文書がＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０から入手可能であるのかを知っている。例えば、ＳＦＤＣアプリケーション１０のアカウント又はフォルダに対応する新たな文書がＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）データベース３１に加えられる場合に、この情報はＳＦＤＣアプリケーション１０へ送信され、これにより、アプリケーション１０は、カスタムＳＦＤＣインターフェース６０へ提供される利用可能な文書のリストを更新することができる。この新たな文書情報は、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）データベース３１への文書の入力時に、又はＳＦＤＣアプリケーション１０が問題のアカウントのフォルダにアクセスする場合に、送信され得る。更に、この情報は、スケジュール通りに又はいずれかの他の時点で更新されてよい。
【００２７】
このように、カスタムＳＦＤＣインターフェース６０は、ＳＦＤＣサーバ１及びそれで実行されるＳＦＤＣアプリケーション１０だけではなく、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０及びＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）データベース３１に記憶されている文書にもアクセスすることができる。従って、ＳＦＤＣサーバ１及びそれで実行されるＳＦＤＣアプリケーション１０は、有効ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）セッションＩＤを用いて、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０によって制御される情報にアクセスすることができる。
【００２８】
図８は、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）データベース３１に記憶されている文書が表示されるカスタムＳＦＤＣインターフェース６０の例を表す。例えば、図８には、ＳＦＤＣサーバ１のデータベース１１から取り出される売上高データを表示する領域７１が示されている。更に、領域７２には、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）サーバ３のデータベース３１に記憶されている文書に関する情報が表示されている。図８に示される例で、例えば“Ｑｕｏｔｅ．ｐｄｆ．ｔｘｔ”、“ｈｕｇｅ  ｏｐｐｏｔｕｎｉｔｙ  ｃｏｎｔｒａｃｔ”、“ｌｅａｓｉｎｇ  ａｇｒｅｅｍｅｎｔ”、“ｔｅｒｍｓ  ａｎｄ  ｃｏｎｄｉｔｉｏｎｓ  ｃｏｎｔｒａｃｔ”等の幾つかの文書及び注文文書がＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）サーバ３に記憶されており、ＳＦＤＣインターフェース６０によりアクセス可能である。
【００２９】
更に、図８には、ＳＦＤＣインターフェースのユーザが、カスタムＳＦＤＣインターフェース６０によりアクセス可能な文書をＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）データベース３１に加えることを可能にする文書追加ボタン７３が示されている。
【００３０】
図９は、ＳＦＤＣアプリケーション１０、アダプタ２０及びＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション３０の間の相互作用を示すブロック図を表す。図９に示されるように、ユーザがＳＦＤＣサーバ１にあるＳＦＤＣアプリケーション１０にログインする場合に（ｓ９０）、ユーザに関連するオポチュニティ（Opportunity）が表示される。ユーザが、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）文書を含むオポチュニティを選択する場合に（ｓ９１）、シングルサインオン（ＳＳＯ）処理が行われる（ｓ９２）。具体的に、図３〜５に表される処理が、有効ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）セッションＩＤの生成（ｓ９３）を含め実行される。加えて、有効ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）セッションＩＤがＳＦＤＣアプリケーション１０で受信されると、オポチュニティ／アカウントに関連するファイルのリストを決定する処理が行われる。この処理は、図８に表されるように、利用可能な文書のリストを可能にする。
【００３１】
従って、ユーザがＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）サーバ３に記憶されている文書にアクセスしたいと望む場合に、ユーザは、簡単に、図８に表されるウィンドウから文書の１つを選択することができる（ｓ９４）。これにより、予め取得されている有効ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）セッションＩＤが文書をＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）サーバ３からアダプタ２０を介して取得するために使用されるところの処理が実行される（ｓ９５）。このように、ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）サーバ３にある文書へのユーザアクセスは、また、アダプタ２０を手段とする。
【００３２】
図１０は、本発明の実施形態が実施されるコンピュータシステム１０００を表す。コンピュータシステム１０００は、情報をやり取りするためのバスＢ又は他の通信メカニズムと、情報を処理するための、バスＢに結合されているプロセッサ／ＣＰＵ１００４とを有する。コンピュータシステム１０００は、更に、バスＢに結合され、プロセッサ／ＣＰＵ１００４によって実行されるべき命令及び情報を記憶する、例えば、ランダムアクセスメモリ（ＲＡＭ）若しくは他の動的記憶デバイス（例えば、動的ＲＡＭ（ＤＲＡＭ）、静的ＲＡＭ（ＳＲＡＭ）及び同期ＤＲＡＭ（ＳＤＲＡＭ））等のメインメモリ／メモリユニット１００３を有する。加えて、メモリユニット１００３は、ＣＰＵ１００４による情報の実行の間一時的な変数又は他の中間情報を記憶するために使用されてよい。コンピュータシステム１０００は、更に、バスＢに結合され、ＣＰＵ１００４のための静的な情報を記憶する、読出専用メモリ（ＲＯＭ）又は他の静的記憶デバイス（例えば、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）及び電気的消去可能ＰＲＯＭ（ＥＥＰＥＯＭ））を有してよい。
【００３３】
コンピュータシステム１０００は、更に、バスＢに結合され、例えば、大容量記憶装置１００２のような、情報を記憶するための１又はそれ以上の記憶デバイスと、駆動装置１００６（例えば、フロッピー（登録商標）ディスクドライブ、読出専用コンパクトディスクドライブ、読出／書込コンパクトディスクドライブ、コンパクトディスク・ジュークボックス、テープドライブ、及びリムーバブル磁気光学ドライブ）とを制御するディスクコントローラを有してよい。記憶デバイスは、適切なデバイスインターフェース（例えば、スモールコンピュータシステムインターフェース（ＳＣＳＩ）、集積デバイスエレクトロニクス（ＩＤＥ）、エンハンスドＩＤＥ（Ｅ−ＩＤＥ）、直接メモリアクセス（ＤＭＡ）、又はウルトラＤＭＡ）を用いてコンピュータシステム１０００に付加されてよい。
【００３４】
コンピュータシステム１０００は、更に、特別目的の論理デバイス（例えば、特定用途向け集積回路（ＡＳＩＣ））又は設定可能論理デバイス（例えば、単純プログラマブル論理デバイス（ＳＰＬＤ）、複雑プログラマブル論理デバイス論理デバイス（ＣＰＬＤ）、及びフィールドプログラマブルゲートアレイ（ＦＰＧＡ））を有してよい。
【００３５】
コンピュータシステム１０００は、更に、バスＢへ結合され、コンピュータユーザへ情報を表示するための、例えば陰極線管（ＣＲＴ）等のディスプレイを制御するディスプレイコントローラを有してよい。コンピュータシステム１０００は、コンピュータユーザと対話してプロセッサへ情報を提供する、例えばキーボード及びポインティングデバイス等の入力装置を有する。例えば、ポインティングデバイスは、マウス、トラックボール、又はポインティングスティックであってよく、プロセッサへ指示情報及びコマンド選択を送り且つディスプレイ上でのカーソル移動を制御する。加えて、プリンタは、コンピュータシステム１０００に記憶され且つ／あるいはそれによって生成されるデータの印刷リストを提供してよい。
【００３６】
コンピュータシステム１０００は、例えばメモリユニット１００３等のメモリに含まれている１又はそれ以上の命令の１又はそれ以上のシーケンスをＣＰＵ１００４が実行することに応答して、本発明の処理ステップの一部又は全てを実行する。かかる命令は、例えば大容量記憶装置１００２又はリムーバブル媒体１００１等の他のコンピュータ読取可能な媒体からメモリユニットに読み出される。マルチプロセッシング配置における１又はそれ以上のプロセッサは、また、メモリユニット１００３に含まれる命令のシーケンスを実行するために用いられてよい。代替の実施形態で、ハードワイヤード回路が、ソフトウェア命令の代わりに又はそれとともに使用されてよい。このように、実施形態は、ハードウェア回路又はソフトウェアの如何なる特定の組合せにも限定されない。
【００３７】
上述されるように、コンピュータ１０００は、本発明の教示に従ってプログラムされる命令を保持し且つデータ構造、テーブル、記録、又はここで記載される他のデータを含む少なくとも１つのコンピュータ読取可能な媒体１００１又はメモリを有する。コンピュータ読取可能な媒体の例は、コンパクトディスク、ハードディスク、フロッピー（登録商標）ディスク、テープ、磁気光学ディスク、ＰＲＯＭ（ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＥＰＲＯＭ）、ＤＲＡＭ、ＳＲＡＭ、ＳＤＲＡＭ、又は何らかの他の磁気媒体、コンパクトディスク（例えば、ＣＤ−ＲＯＭ）、あるいはコンピュータが読むことができる何らかの他の媒体である。
【００３８】
コンピュータ読取可能な媒体のいずれか１つ又は組合せに記憶されている場合に、本発明は、本発明を実施する装置を駆動するとともに、コンピュータシステム１０００がヒトと対話することを可能にするソフトウェアを有する。かかるソフトウェアには、デバイスドライバ、オペレーティングシステム、開発ツール、及びアプリケーションソフトウェアがあるが、これらに限定されない。かかるコンピュータ読取可能な媒体は、更に、本発明の実際において実行される処理手続の全て又は一部（処理手続が阻害される場合）を行う本発明のコンピュータプログラムプロダクトを有する。
【００３９】
本発明のコンピュータコードデバイスは、何らかの解釈又は実行可能なコードメカニズムであってよく、スクリプト、解釈可能なプログラム、動的リンクライブラリ（ＤＬＬ）、Ｊａｖａ(登録商標)クラス、及び完全実行可能プログラムを含むが、これらに限定されない。更に、本発明の処理手続の部分は、より良い性能、信頼性、及び／又は費用のために分配されてよい。
【００４０】
ここで使用される用語「コンピュータ読取可能な媒体」は、実行のためにＣＰＵ１００４へ命令を与えることに関与する何らかの媒体をいう。コンピュータ読取可能な媒体は、不揮発性媒体及び揮発性媒体を含む多数の形態をとるが、これらに限定されない。例えば、不揮発性媒体には、例えば大容量記憶装置１００２又はリムーバブル媒体１００１等の光、磁気、及び磁気光学ディスクがある。揮発性媒体には、例えばメモリユニット１００３等の動的メモリがある。
【００４１】
コンピュータ読取可能な媒体の種々の形態は、実行のためにＣＰＵ１００４への１又はそれ以上の命令の１又はそれ以上のシーケンスを実行することに関わってよい。例えば、命令は、最初に、リモートコンピュータの磁気ディスクに記憶されている。リモートコンピュータは、遠隔で本発明の全て又は一部を実施するための命令を動的メモリにロードし、モデムにより電話回線を介して命令を送信する。コンピュータシステム１０００にあるモデムは、電話回線でデータを受け取って、赤外線送信器を用いてデータを赤外線信号に変換してよい。バスＢに結合されている赤外線検出器は、赤外線信号で搬送されるデータを受け取って、バスＢにデータを置くことができる。バスＢは、メモリユニット１００３へデータを運ぶ。メモリユニット１００３からＣＰＵ１００４は命令を取り出して実行する。メモリユニット１００３が受け取った命令は、任意に、ＣＰＵ１００４による実行の前又は後で、大容量記憶装置１００２に記憶されてよい。
【００４２】
コンピュータシステム１０００は、更に、バスＢに結合されている通信インターフェース１００５を有する。通信インターフェース１００５は、例えば、ローカルエリアネットワーク（ＬＡＮ）、又は例えばインターネット等の他の通信ネットワークに接続されるネットワークへの双方向データ通信結合を提供する。例えば、通信インターフェース１００５は、如何なるパケットスイッチＬＡＮへも取り付けられるようネットワークインターフェースカードであってよい。他の例として、通信インターフェース１００５は、非対称型デジタル加入者回線（ＡＤＳＬ）カード、総合デジタル通信網（ＩＳＤＮ）カード又はモデムであってよく、対応するタイプの通信回線へデータ通信接続を提供する。無線リンクがまた実施されてよい。かかる実施のいずれにおいても、通信インターフェース１００５は、様々なタイプの情報を表すデジタルデータストリームを搬送する電気信号、電磁信号、又は光信号を送受信する。
【００４３】
通常、ネットワークは、１又はそれ以上のネットワークを介して他のデータ装置へのデータ通信を提供する。例えば、ネットワークは、ローカルネットワーク（例えば、ＬＡＮ）を介して又はサービスプロバイダによって操作される設備を介して他のコンピュータへの接続を提供する。サービスプロバイダは、通信ネットワークを介して通信サービスを提供する。ローカルネットワーク及び通信ネットワークは、例えば、デジタルデータストリームを搬送する電気信号、電磁信号、又は光信号と、関連する物理層（例えば、ＣＡＴ５ケーブル、同軸ケーブル、光ファイバ等）とを使用する。様々なネットワークを通る信号及びネットワーク上で通信インターフェース１００５を介する信号は、コンピュータシステム１０００へ及びそれからデジタルデータを搬送し、ベースバンド信号又は搬送波に基づく信号で実施されてよい。ベースバンド信号は、デジタルデータビットのストリームを記述する非変調電気パルスを搬送する。ここで、用語「ビット（bits）」はシンボルを意味すると幅広く解されるべきであり、各シンボルは少なくとも１又はそれ以上の情報を搬送する。デジタルデータは、また、例えば、導電媒質を介して伝播され又は伝播媒質により電磁波として送信される振幅、位相及び／又は周波数偏移キーイング信号等の搬送波を変調するためにも使用されてよい。このように、デジタルデータは、“有線”通信チャネルにより非変調ベースバンドデータとして送信され、且つ／あるいは、搬送波を変調することによってベースバンドとは異なった所定周波数バンド内で送信されてよい。コンピュータシステム１０００は、ネットワーク及び通信インターフェース１００５により、プログラムコードを含むデータを送受信することができる。更に、ネットワークは、例えば、パーソナルデジタルアシスタント（ＰＤＡ）、ラップトップコンピュータ又は携帯電話等のモバイル装置への接続を提供してよい。
【００４４】
加えて、図１１に示されるように、ＳＦＤＣサーバ１０、アダプタ２０及びＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）サーバ３０の夫々は少なくとも１つのプロセッサを有する。
【００４５】
ＳＦＤＣサーバ１０のプロセッサ１１１は、少なくとも、インターフェース初期化ユニット１１２、ハンドシェイクユニット１１３、認証ユニット１１４及びセッション受信ユニット１１５を有するよう構成される。
【００４６】
インターフェース初期化ユニット１１２は、第１のネットワークアクセス可能ソフトウェアアプリケーションにより新たなプログラムインターフェースを呼び出すよう構成される。ハンドシェイクユニット１１３は、第１のソフトウェアアプリケーションアダプタと第１のネットワークアクセス可能ソフトウェアアプリケーションとの間のハンドシェイクを制御するよう構成される。認証ユニット１１４は、第１のネットワークアクセス可能ソフトウェアアプリケーションから第１のソフトウェアアプリケーションアダプタへ認証情報を送信するよう構成される。セッション受信ユニット１１５は、第１のソフトウェアアプリケーションアダプタから有効セッションＩＤを受信するよう構成される。
【００４７】
アダプタサーバ２０のプロセッサ１２１は、少なくとも、新プログラムインターフェース要求受信ユニット１２２、ハンドシェイクユニット１２３及び認証ユニット１２４を有するよう構成される。
【００４８】
新プログラムインターフェース要求受信ユニット１２２は、第１のネットワークアクセス可能ソフトウェアアプリケーションから新たなプログラムインターフェースについての要求を受信するよう構成される。ハンドシェイクユニット１２３は、第１のネットワークアクセス可能ソフトウェアアプリケーションからの新たなプログラムインターフェースについての要求の受信に応答して、第１のネットワークアクセス可能ソフトウェアアプリケーションとのハンドシェイクを実行するよう構成される。認証ユニット１２４は、第１のネットワークアクセス可能ソフトウェアアプリケーションから認証情報を受信し、その認証情報を第２のネットワークアクセス可能ソフトウェアアプリケーションへ転送し、第２のネットワークアクセス可能ソフトウェアアプリケーションから有効セッションＩＤを受信し、その有効セッションＩＤを、新たなプログラムインターフェースについての要求への応答として第１のネットワークアクセス可能ソフトウェアアプリケーションへ転送するよう構成される。
【００４９】
ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）サーバ２０のプロセッサ１３１は、少なくとも、有効セッションＩＤユニット１３２及び認証ユニット１３３を有するよう構成される。
【００５０】
認証ユニット１３３は、第１のソフトウェアアプリケーションアダプタから受信した認証情報によりユーザを認証するよう構成される。有効セッションＩＤユニット１３２は、認証ユニット１３３が受信された認証情報に基づいてユーザを認証する場合に有効セッションＩＤを生成し、それを第１のソフトウェアアプリケーションアダプタへ送信するよう構成される。
【００５１】
本発明は、具体的に開示されている実施形態に限定されず、変形及び改良が、本発明の適用範囲から逸脱することなく行われてよい。
【符号の説明】
【００５２】
１    ＳＦＤＣサーバ
２    サーバ
３    ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）サーバ
１０  ＳＦＤＣアプリケーション
１１  ＳＦＤＣデータベース
２０  アダプタ
３０  ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）アプリケーション
３１  ＤｏｃｕｍｅｎｔＭａｌｌ（登録商標）データベース
６０  カスタムＳＦＤＣインターフェース
１１１，１２１，１３１  プロセッサ
１１２    インターフェース初期化ユニット
１１３，１２３  ハンドシェイクユニット
１１４，１２４，１３３  認証ユニット
１１５    セッション受信ユニット
１２２    新プログラムインターフェース要求受信ユニット
１３２    有効セッションＩＤユニット
１０００  コンピュータシステム
１００１  記録媒体
１００２  大容量記憶装置
１００３  メモリユニット
１００４  プロセッサ／ＣＰＵ
１００５  インターフェース装置
１００６  駆動装置
Ｂ    バス
【図１】
0005556454.tif 000002
【図２】
0005556454.tif 000003
【図３】
0005556454.tif 000004
【図４】
0005556454.tif 000005
【図５】
0005556454.tif 000006
【図６】
0005556454.tif 000007
【図７】
0005556454.tif 000008
【図８】
0005556454.tif 000009
【図９】
0005556454.tif 000010
【図１０】
0005556454.tif 000011
【図１１】
0005556454.tif 000012