(57)【特許請求の範囲】
【請求項１】
ユーザ装置と、第１のサービス提供装置と、前記第１のサービス提供装置とは異なる第２のサービス提供装置とを含む情報処理システムであって、
前記ユーザ装置が、
ネットワークを介して、前記第１のサービス提供装置によって提供される第１のサービスを前記ユーザ装置から利用するためのインタフェースを含むプログラムである第１のサービスオブジェクトと、前記第２のサービス提供装置によって提供される第２のサービスを前記第１のサービス提供装置から利用するためのインタフェースを含むプログラムである第２のサービスオブジェクトとを取得する取得手段と、
前記取得手段で取得した前記第２のサービスオブジェクトに対してユーザ情報を設定することにより、当該第２のサービスオブジェクトに当該ユーザ情報を内部情報として保持させる設定手段と、
前記第１のサービス提供装置によって提供される前記第１のサービスを前記ユーザ装置から前記第１のサービスオブジェクトを介して利用するために、前記設定手段で設定された前記ユーザ情報を内部情報として保持している前記第２のサービスオブジェクトを、前記第１のサービス提供装置に転送する転送手段と、
前記第１のサービスオブジェクトに含まれるインタフェースを用いて、前記第１のサービス提供装置によって提供される前記第１のサービスを利用する第１のサービス利用手段とを備え、
前記第１のサービス提供装置が、
前記転送手段によって転送された、前記設定手段で設定された前記ユーザ情報を内部情報として保持している前記第２のサービスオブジェクトを受信する受信手段と、
前記ユーザ装置の前記第１のサービス利用手段が前記第１のサービスを利用するに際して、前記受信手段で受信された前記第２のサービスオブジェクトに含まれるインタフェースと、当該第２のサービスオブジェクトの内部情報として保持されている前記ユーザ情報とに基づいて、前記第２のサービス提供装置によって提供される第２のサービスを利用する第２のサービス利用手段とを備えることを特徴する情報処理システム。
【請求項２】
前記転送手段で転送された前記第２のサービスオブジェクトに保持されている前記ユーザ情報は、前記第１のサービス提供装置から参照不能であることを特徴とする請求項１に記載の情報処理システム。
【請求項３】
更に、少なくとも１つのサーバを備え、前記サーバが、
複数のサービス提供装置によって提供されるサービスオブジェクトを登録する登録手段と、
ユーザリクエストに基づいてサービスオブジェクトを検索する検索手段とを備えることを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記ユーザ装置は、前記取得手段で取得した前記第２のサービスオブジェクトを介して前記第２のサービス提供装置と通信することによりセッションＩＤを取得するＩＤ取得手段を更に備え、
前記転送手段は、前記ＩＤ取得手段により取得された前記セッションＩＤと前記ユーザ情報を保持している前記第２のサービスオブジェクトとを前記第１のサービス提供装置に転送し、
前記第２のサービス利用手段は、前記ユーザ装置の前記第１のサービス利用手段が前記第１のサービスを利用するに際して、前記転送手段によって転送された前記セッションＩＤと前記第２のサービスオブジェクトに含まれるインタフェースと当該第２のサービスオブジェクトの内部情報として保持されている前記ユーザ情報とに基づいて、前記第２のサービス提供装置によって提供される前記第２のサービスを利用することを特徴とする請求項１に記載の情報処理システム。
【請求項５】
前記第２のサービスオブジェクトによって保持されている前記ユーザ情報は暗号化されていることを特徴とする請求項１に記載の情報処理システム。
【請求項６】
ネットワークを介して、第１のサービス提供装置によって提供される第１のサービスを利用するためのインタフェースを含むプログラムである第１のサービスオブジェクトと、前記第１のサービス提供装置とは異なる第２のサービス提供装置によって提供される第２のサービスを前記第１のサービス提供装置から利用するためのインタフェースを含むプログラムである第２のサービスオブジェクトとを取得する取得手段と、
前記取得手段で取得した前記第２のサービスオブジェクトに対してユーザ情報を設定することにより、当該第２のサービスオブジェクトに当該ユーザ情報を内部情報として保持させる設定手段と、
前記第１のサービス提供装置によって提供される前記第１のサービスを前記第１のサービスオブジェクトを介して利用するために、前記設定手段で設定された前記ユーザ情報を内部情報として保持している前記第２のサービスオブジェクトを、前記第１のサービス提供装置に転送する転送手段と、
前記第１のサービスオブジェクトに含まれるインタフェースを用いて、前記第１のサービス提供装置によって提供される前記第１のサービスを利用するサービス利用手段とを備え、
前記転送手段によって転送された、前記ユーザ情報を内部情報として保持している前記第２のサービスオブジェクトは前記第１のサービス提供装置で受信され、前記サービス利用手段が前記第１のサービスを利用するに際して、前記受信した前記第２のサービスオブジェクトに含まれるインタフェースと、当該第２のサービスオブジェクトの内部情報として保持されている前記ユーザ情報とに基づいて前記第２のサービス提供装置によって提供される前記第２のサービスを前記第１のサービス提供装置が利用するために使用されることを特徴する情報処理装置。
【請求項７】
前記取得手段は、前記第１のサービスオブジェクトが前記第２のサービス提供装置による前記第２のサービスを要求する場合に、前記第２のサービスオブジェクトを取得することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記取得手段は、複数のサービス提供装置による複数のサービスオブジェクトを登録するサーバに対してアクセスし、前記サーバよりサービスオブジェクトを検索し、取得することを特徴とする請求項６に記載の情報処理装置。
【請求項９】
前記取得手段で取得した第２のサービスオブジェクトを介して前記第２のサービス提供装置と通信する通信手段と、
前記第２のサービス提供装置との間でセッションを行うためのセッションＩＤを取得するＩＤ取得手段とを更に備え、
前記転送手段は、前記セッションＩＤと前記ユーザ情報を保持している前記第２のサービスオブジェクトとを前記第１のサービス提供装置に転送し、
前記第１のサービス提供装置は、前記サービス利用手段が前記第１のサービスを利用するに際して、前記転送手段によって転送された前記セッションＩＤと前記第２のサービスオブジェクトに含まれるインタフェースと当該第２のサービスオブジェクトの内部情報として保持されている前記ユーザ情報とに基づいて、前記第２のサービス提供装置によって提供される前記第２のサービスを利用することを特徴とする請求項６に記載の情報処理装置。
【請求項１０】
ユーザ装置と、第１のサービス提供装置と、前記第１のサービス提供装置とは異なる第２のサービス提供装置とを含む情報処理システムの制御方法であって、
前記ユーザ装置が、
ネットワークを介して、前記第１のサービス提供装置によって提供される第１のサービスを前記ユーザ装置から利用するためのインタフェースを含むプログラムである第１のサービスオブジェクトと、前記第２のサービス提供装置によって提供される第２のサービスを前記第１のサービス提供装置から利用するためのインタフェースを含むプログラムである第２のサービスオブジェクトとを取得する取得工程と、
前記取得工程で取得した前記第２のサービスオブジェクトに対してユーザ情報を設定することにより、当該第２のサービスオブジェクトに当該ユーザ情報を内部情報として保持させる設定工程と、
前記第１のサービス提供装置によって提供される前記第１のサービスを前記ユーザ装置から前記第１のサービスオブジェクトを介して利用するために、前記設定工程で設定された前記ユーザ情報を内部情報として保持している前記第２のサービスオブジェクトを、前記第１のサービス提供装置に転送する転送工程と、
前記第１のサービスオブジェクトに含まれるインタフェースを用いて、前記第１のサービス提供装置によって提供される前記第１のサービスを利用する第１のサービス利用工程とを実行し、
前記第１のサービス提供装置が、
前記転送工程によって転送された、前記設定工程で設定された前記ユーザ情報を内部情報として保持している前記第２のサービスオブジェクトを受信する受信工程と、
前記ユーザ装置が前記第１のサービス利用工程において前記第１のサービスが利用されるに際して、前記受信工程で受信された前記第２のサービスオブジェクトに含まれるインタフェースと、当該第２のサービスオブジェクトの内部情報として保持されている前記ユーザ情報とに基づいて、前記第２のサービス提供装置によって提供される第２のサービスを利用する第２のサービス利用工程とを実行することを特徴する情報処理システムの制御方法。
【請求項１１】
前記転送工程で転送された前記第２のサービスオブジェクトに保持されている前記ユーザ情報は、前記第１のサービス提供装置から参照不能であることを特徴とする請求項１０に記載の情報処理システムの制御方法。
【請求項１２】
前記システムは、更に、少なくとも１つのサーバを備え、前記サーバが、
複数のサービス提供装置によって提供されるサービスオブジェクトを登録する登録工程と、
ユーザリクエストに基づいてサービスオブジェクトを検索する検索工程とを実行することを特徴とする請求項１０に記載の情報処理システムの制御方法。
【請求項１３】
前記ユーザ装置は、更に、前記取得工程で取得した前記第２のサービスオブジェクトを介して前記第２のサービス提供装置と通信することによりセッションＩＤを取得するＩＤ取得工程を実行し、
前記転送工程では、前記ＩＤ取得工程により取得された前記セッションＩＤと前記ユーザ情報を保持している前記第２のサービスオブジェクトを前記第１のサービス提供装置に転送し、
前記第２のサービス利用工程では、前記ユーザ装置の前記第１のサービス利用工程で前記第１のサービスが利用されるに際して、前記転送工程によって転送された前記セッションＩＤと前記第２のサービスオブジェクトに含まれるインタフェースと当該第２のサービスオブジェクトの内部情報として保持されている前記ユーザ情報とに基づいて、前記第２のサービス提供装置によって提供される前記第２のサービスを利用することを特徴とする請求項１０に記載の情報処理システムの制御方法。
【請求項１４】
前記第２のサービスオブジェクトによって保持されている前記ユーザ情報は暗号化されていることを特徴とする請求項１０に記載の情報処理システムの制御方法。
【請求項１５】
ネットワークを介して、第１のサービス提供装置によって提供される第１のサービスを利用するためのインタフェースを含むプログラムである第１のサービスオブジェクトと、前記第１のサービス提供装置とは異なる第２のサービス提供装置によって提供される第２のサービスを前記第１のサービス提供装置から利用するためのインタフェースを含むプログラムである第２のサービスオブジェクトとを取得する取得工程と、
前記取得工程で取得した前記第２のサービスオブジェクトに対してユーザ情報を設定することにより、当該第２のサービスオブジェクトに当該ユーザ情報を内部情報として保持させる設定工程と、
前記第１のサービス提供装置によって提供される前記第１のサービスを前記第１のサービスオブジェクトを介して利用するために、前記設定工程で設定された前記ユーザ情報を内部情報として保持している前記第２のサービスオブジェクトを、前記第１のサービス提供装置に転送する転送工程と、
前記第１のサービスオブジェクトに含まれるインタフェースを用いて、前記第１のサービス提供装置によって提供される前記第１のサービスを利用するサービス利用工程とを備え、
前記転送工程によって転送された、前記ユーザ情報を内部情報として保持している前記第２のサービスオブジェクトは前記第１のサービス提供装置により受信され、前記サービス利用工程で前記第１のサービスが利用されるに際して、前記受信した前記第２のサービスオブジェクトに含まれるインタフェースと、当該第２のサービスオブジェクトの内部情報として保持されている前記ユーザ情報とに基づいて前記第２のサービス提供装置によって提供される前記第２のサービスを前記第１のサービス提供装置が利用するのに使用されることを特徴する情報処理方法。
【請求項１６】
前記取得工程では、前記第１のサービスオブジェクトが前記第２のサービス提供装置による前記第２のサービスを要求する場合に、前記第２のサービスオブジェクトを取得することを特徴とする請求項１５に記載の情報処理方法。
【請求項１７】
前記取得工程では、複数のサービス提供装置による複数のサービスオブジェクトを登録するサーバに対してアクセスし、前記サーバよりサービスオブジェクトを検索し、取得することを特徴とする請求項１５に記載の情報処理方法。
【請求項１８】
前記取得工程で取得した第２のサービスオブジェクトを介して前記第２のサービス提供装置と通信する通信工程と、
前記第２のサービス提供装置との間でセッションを行うためのセッションＩＤを取得するＩＤ取得工程とを更に備え、
前記転送工程では、前記セッションＩＤと前記ユーザ情報を保持している前記第２のサービスオブジェクトとを前記第１のサービス提供装置に転送し、
前記第１のサービス提供装置は、前記サービス利用工程で前記第１のサービスが利用されるに際して、前記転送工程によって転送された前記セッションＩＤと前記第２のサービスオブジェクトに含まれるインタフェースと当該第２のサービスオブジェクトの内部情報として保持されている前記ユーザ情報とに基づいて、前記第２のサービス提供装置によって提供されるの前記第２のサービスを利用することを特徴とする請求項１５に記載の情報処理方法。
【請求項１９】
請求項１５乃至１８のいずれか１項に記載された情報処理方法の各工程をコンピュータに実行させるための制御プログラムを格納したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク上でサービスを提供する情報処理システム及び装置及びそれらの方法並びに記憶媒体に関するものである。
【０００２】
【従来の技術】
近年、ネットワークに対してサービスを提供するサービス提供者を設け、それらの提供しているサービスをネットワーク上で検索または探索し、利用者がそれらサービス提供者の提供しているサービスを利用できるようにするシステムが開発されている。それらはJini、UPnP（Universal Plug and Play）、SLP（Service Location Protocol）などを使用してサービスを提供している。（JiniはSunMicrosystems社の商標である）
ここでは、その代表例としてJiniにおけるサービスの登録、検索、利用方法を述べる。
【０００３】
図１２、図１３、図１４、図１５はJiniにおいてどのようにサービスが提供されるかを示す図である。これらの図で、２０１０はインターネットに代表されるネットワークであり、ネットワークプロトコルであるTCP/IPによって制御されている。２０２０はサービスをネットワークに接続されている他のノードに対して提供するサービス提供者、２０３０はサービスを登録・検索するLookupサービスを提供するLookupサーバ、２０４０はサービスを利用するクライアント、２０５０はクライアントにおいてサービス提供者の代理として実行される代理オブジェクト、２０６０はサービスを検索するのに用いられるサービスの持つ機能を表すサービス属性である。
【０００４】
（１）Lookupサービスの検索
図１２に示されるように、ネットワーク上にはサービスを登録しておくLookupサーバ２０３０と呼ばれるサーバが稼動している。このサーバは各サービス提供者２０２０およびサービス利用者であるクライアント２０４０に対して、サービスの登録、検索をサービス（Lookupサービスと呼ぶ）として提供している。
【０００５】
サービス提供者２０２０やクライアント２０４０がネットワーク上でLookupサーバ２０３０を見つけるために使用するネットワークプロトコルであるDiscoveryプロトコルが規定されている。このDiscoveryプロトコルは、TCP/IPのマルチキャスト・プロトコルとして規定されており、ネットワーク上の複数のノードに対して同報される。
【０００６】
このDiscoveryプロトコルメッセージを受け取ったLookupサーバ２０３０は、メッセージを送ってきたノードに対して、応答メッセージを送り返す。その応答メッセージは、サービスを登録・検索するLookupサービスとして機能するよう設計されたJava言語のインタフェース（ServiceRegistrar）を実装したクラスオブジェクトを内包している。（JavaはSunMicrosystems社の商標である）
応答メッセージを受信したサービス提供者２０２０、クライアント２０４０は、この応答メッセージからServiceRegistrar実装オブジェクトを取り出し、サービス登録・検索サービスを提供するLookupサーバの代理オブジェクトとして使用する。
【０００７】
（２） サービスの登録
図１３はサービスの登録の方法を示している。サービス提供者２０２０が自分の提供するサービスを登録するには、Lookupサービス代理オブジェクトを使用する。
【０００８】
Lookupサービス代理オブジェクトは、サービス登録のための手段としてregisterメソッドを実装している。このregisterメソッドに、クライアントにサービスを提供するためにクライアント側で代理オブジェクトとして実行される代理オブジェクト２０５０と、提供するサービスの機能等を表現しているサービス属性２０６０を引数として渡すと、代理オブジェクト２０５０とサービス属性２０６０は、Lookupサーバ２０３０に送信される。Lookupサーバ２０３０は、それら代理オブジェクト２０５０とサービス属性２０６０を、クライアントからの要求にしたがって提供できるよう保持・管理する。
【０００９】
なお、このregisterメソッドがどのようなプロトコルによって代理オブジェクト２０５０、サービス属性２０６０を送るかはJiniでは規定されておらず、ServiceRegistrarの実装に任されている。
【００１０】
（３） サービスの検索
図１４はサービスの検索の方法を示している。クライアント２０４０が利用するサービスを検索・取得するには、Lookupサービス代理オブジェクトを使用する。
【００１１】
Lookupサービス代理オブジェクトは、サービス検索・取得のための手段としてlookupメソッドを実装している。このlookupメソッドに、サービスを提供するためにクライアント側で代理オブジェクトとして実行される代理オブジェクト２０５０を識別しそれらの機能を提供するプログラムインタフェースを規定するJava言語のインタフェースと、利用したいサービスの属性を検索条件として組み込まれたテンプレートオブジェクトを引数として渡す。このテンプレートはLookupサーバ２０３０に送信される。Lookupサーバ２０３０は、保持・管理しているサービス代理オブジェクト２０５０、サービス属性２０６０の中から、送られてきたテンプレートの条件に合致する代理オブジェクト２０５０を探し出す。探し出された代理オブジェクト２０５０は、lookupメソッドの戻り値としてクライアント２０４０に返される。
【００１２】
なお、このlookupメソッドがどのようなプロトコルによってテンプレートおよび代理オブジェクト２０５０を送るかはJiniでは規定されておらず、ServiceRegistrarの実装に任されている。
【００１３】
（４） サービスの利用
図１５はサービスの利用方法を示している。
【００１４】
クライアント２０４０がサービスを利用するには、代理オブジェクト２０５０を使用する。Jiniにおいては、サービスを利用するためのプログラム／インタフェースとして、Java言語のインタフェースが規定されている。代理オブジェクト２０５０は、この決められたJava言語インタフェースを実装している。クライアントはこのインタフェースで提供されるメソッドを使用してサービスを受けることができる。
【００１５】
この決められたインタフェースをどのように実装するかはサービス提供者にゆだねられており、そのJava言語インタフェースの実装方法にクライアントのプログラミングが影響を受けることはない。また、サービスを利用する際にはLookupサーバ２０３０はまったく関与しない。
【００１６】
【発明が解決しようとする課題】
本願が解決しようとしている課題を図１６、図１７の例を使用して説明する。図において、３０１０はサービスを受けるクライアント、３０２０は、あるサービスＡを提供するＡサービス提供者、３０３０はサービスを受けるための対価を支払うための経理サービスを提供する経理サービス提供者、３０４０はサービスＡを提供するためのクライアント３０１０上でＡサービス提供者の代わりを果たすＡサービス代理オブジェクト、３０５０は経理サービスを提供するためにクライアント３０１０上で経理サービス提供者３０３０の代わりを果たす経理サービス代理オブジェクトである。
【００１７】
通常のメカニズムでは、図１６に示すように、クライアント３０１０がＡサービス、経理サービスの各々の代理オブジェクト、すなわちＡサービス代理オブジェクト３０４０と経理サービス代理オブジェクト３０５０を取得し、各々のサービス間の情報交換を行う際にはクライアント３０１０自身が中継ぎを行わねばならず、クライアントの負荷が増えてしまっていた。
【００１８】
本発明では、これを解決するために図１７に示すように、Ａサービス提供者３０２０に経理サービス代理オブジェクト３０５０を渡し、Ａサービス提供者３０２０を介してクライアント３０１０の個人情報を設定し、経理サービス提供者３０３０が提供する経理サービスを、直接Ａサービス提供者３０２０が利用することを考える。
【００１９】
このような形態を考えた場合、経理サービスをＡサービス提供者を介して受けることになるので、クライアントの個人情報の漏洩が懸念される。また、サービスを受ける対象が異なることより、Ａサービス提供者３０２０がクライアント３０１０のために経理サービス提供者３０３０を使用していることが認識されず、Ａサービス提供者３０２０自身が新たに経理サービス提供者３０３０を利用するかのように経理サービス提供者には認識されてしまう。
【００２０】
本発明は、上述した問題に鑑みてなされたものであり、第１のサービスの利用に付随してサービス提供者が異なる第２のサービスを利用する場合において、ユーザの処理負担を軽減することを目的とする。
【００２１】
また、本発明の他の目的は、第１のサービスに付随して第２のサービスを利用するに際して、第２のサービスが個人情報を要求する場合に、そのセキュリティを向上することにある。
【００２２】
【課題を解決するための手段】
上記の目的を達成するための本発明の一態様による情報処理システムは以下の構成を備える。すなわち、
ユーザ装置と、第１のサービス提供装置と、前記第１のサービス提供装置とは異なる第２のサービス提供装置とを含む情報処理システムであって、
前記ユーザ装置が、
ネットワークを介して、前記第１のサービス提供装置によって提供される第１のサービスを前記ユーザ装置から利用するためのインタフェースを含むプログラムである第１のサービスオブジェクトと、前記第２のサービス提供装置によって提供される第２のサービスを前記第１のサービス提供装置から利用するためのインタフェースを含むプログラムである第２のサービスオブジェクトとを取得する取得手段と、
前記取得手段で取得した前記第２のサービスオブジェクトに対してユーザ情報を設定することにより、当該第２のサービスオブジェクトに当該ユーザ情報を内部情報として保持させる設定手段と、
前記第１のサービス提供装置によって提供される前記第１のサービスを前記ユーザ装置から前記第１のサービスオブジェクトを介して利用するために、前記設定手段で設定された前記ユーザ情報を内部情報として保持している前記第２のサービスオブジェクトを、前記第１のサービス提供装置に転送する転送手段と、
前記第１のサービスオブジェクトに含まれるインタフェースを用いて、前記第１のサービス提供装置によって提供される前記第１のサービスを利用する第１のサービス利用手段とを備え、
前記第１のサービス提供装置が、
前記転送手段によって転送された、前記設定手段で設定された前記ユーザ情報を内部情報として保持している前記第２のサービスオブジェクトを受信する受信手段と、
前記ユーザ装置の前記第１のサービス利用手段が前記第１のサービスを利用するに際して、前記受信手段で受信された前記第２のサービスオブジェクトに含まれるインタフェースと、当該第２のサービスオブジェクトの内部情報として保持されている前記ユーザ情報とに基づいて、前記第２のサービス提供装置によって提供される第２のサービスを利用する第２のサービス利用手段とを備える。
【００２３】
また、上記の目的を達成するための本発明の他の態様による情報処理装置は以下の構成を備える。すなわち、
ネットワークを介して、第１のサービス提供装置によって提供される第１のサービスを利用するためのインタフェースを含むプログラムである第１のサービスオブジェクトと、前記第１のサービス提供装置とは異なる第２のサービス提供装置によって提供される第２のサービスを前記第１のサービス提供装置から利用するためのインタフェースを含むプログラムである第２のサービスオブジェクトとを取得する取得手段と、
前記取得手段で取得した前記第２のサービスオブジェクトに対してユーザ情報を設定することにより、当該第２のサービスオブジェクトに当該ユーザ情報を内部情報として保持させる設定手段と、
前記第１のサービス提供装置によって提供される前記第１のサービスを前記第１のサービスオブジェクトを介して利用するために、前記設定手段で設定された前記ユーザ情報を内部情報として保持している前記第２のサービスオブジェクトを、前記第１のサービス提供装置に転送する転送手段と、
前記第１のサービスオブジェクトに含まれるインタフェースを用いて、前記第１のサービス提供装置によって提供される前記第１のサービスを利用するサービス利用手段とを備え、
前記転送手段によって転送された、前記ユーザ情報を内部情報として保持している前記第２のサービスオブジェクトは前記第１のサービス提供装置で受信され、前記サービス利用手段が前記第１のサービスを利用するに際して、前記受信した前記第２のサービスオブジェクトに含まれるインタフェースと、当該第２のサービスオブジェクトの内部情報として保持されている前記ユーザ情報とに基づいて前記第２のサービス提供装置によって提供される前記第２のサービスを前記第１のサービス提供装置が利用するために使用される。
【００２４】
更に、上記の目的を達成するための本発明の他の態様による情報処理システムの制御方法は、
ユーザ装置と、第１のサービス提供装置と、前記第１のサービス提供装置とは異なる第２のサービス提供装置とを含む情報処理システムの制御方法であって、
前記ユーザ装置が、
ネットワークを介して、前記第１のサービス提供装置によって提供される第１のサービスを前記ユーザ装置から利用するためのインタフェースを含むプログラムである第１のサービスオブジェクトと、前記第２のサービス提供装置によって提供される第２のサービスを前記第１のサービス提供装置から利用するためのインタフェースを含むプログラムである第２のサービスオブジェクトとを取得する取得工程と、
前記取得工程で取得した前記第２のサービスオブジェクトに対してユーザ情報を設定することにより、当該第２のサービスオブジェクトに当該ユーザ情報を内部情報として保持させる設定工程と、
前記第１のサービス提供装置によって提供される前記第１のサービスを前記ユーザ装置から前記第１のサービスオブジェクトを介して利用するために、前記設定工程で設定された前記ユーザ情報を内部情報として保持している前記第２のサービスオブジェクトを、前記第１のサービス提供装置に転送する転送工程と、
前記第１のサービスオブジェクトに含まれるインタフェースを用いて、前記第１のサービス提供装置によって提供される前記第１のサービスを利用する第１のサービス利用工程とを実行し、
前記第１のサービス提供装置が、
前記転送工程によって転送された、前記設定工程で設定された前記ユーザ情報を内部情報として保持している前記第２のサービスオブジェクトを受信する受信工程と、
前記ユーザ装置が前記第１のサービス利用工程において前記第１のサービスが利用されるに際して、前記受信工程で受信された前記第２のサービスオブジェクトに含まれるインタフェースと、当該第２のサービスオブジェクトの内部情報として保持されている前記ユーザ情報とに基づいて、前記第２のサービス提供装置によって提供される第２のサービスを利用する第２のサービス利用工程とを実行する。
【００２５】
更に、上記の目的を達成するための本発明の他の態様による情報処理方法は、
ネットワークを介して、第１のサービス提供装置によって提供される第１のサービスを利用するためのインタフェースを含むプログラムである第１のサービスオブジェクトと、前記第１のサービス提供装置とは異なる第２のサービス提供装置によって提供される第２のサービスを前記第１のサービス提供装置から利用するためのインタフェースを含むプログラムである第２のサービスオブジェクトとを取得する取得工程と、
前記取得工程で取得した前記第２のサービスオブジェクトに対してユーザ情報を設定することにより、当該第２のサービスオブジェクトに当該ユーザ情報を内部情報として保持させる設定工程と、
前記第１のサービス提供装置によって提供される前記第１のサービスを前記第１のサービスオブジェクトを介して利用するために、前記設定工程で設定された前記ユーザ情報を内部情報として保持している前記第２のサービスオブジェクトを、前記第１のサービス提供装置に転送する転送工程と、
前記第１のサービスオブジェクトに含まれるインタフェースを用いて、前記第１のサービス提供装置によって提供される前記第１のサービスを利用するサービス利用工程とを備え、
前記転送工程によって転送された、前記ユーザ情報を内部情報として保持している前記第２のサービスオブジェクトは前記第１のサービス提供装置により受信され、前記サービス利用工程で前記第１のサービスが利用されるに際して、前記受信した前記第２のサービスオブジェクトに含まれるインタフェースと、当該第２のサービスオブジェクトの内部情報として保持されている前記ユーザ情報とに基づいて前記第２のサービス提供装置によって提供される前記第２のサービスを前記第１のサービス提供装置が利用するのに使用される。
【００２６】
【発明の実施の形態】
以下、添付の図面を参照して、本発明の好適な実施形態を説明する。
【００２７】
（第１の実施形態）
以下、第１の実施形態をJava言語を使用した場合について説明する。ただし、本発明はJava言語に依存するわけではなく、他のプログラミング言語を使用しても実現し得ることは、以下の説明から明らかである。
【００２８】
図１は本実施形態の情報サービスシステムの構成を示すブロック図である。図１において、１０１は複数の情報処理装置を接続するネットワークであり、本実施形態ではインターネットとする。１０２は各サービスを利用するクライアント、１０３は各種サービスを提供するサービス提供者、１０４は経理サービスを提供する経理サービス提供者を表す。サービス提供者１０３、経理サービス提供者１０４は上述のJiniを使用してサービスを提供する。したがって、クライアント１０２もJiniを使用してサービスの提供を受ける。
【００２９】
１０５はLookupサーバであり、サービス提供者１０３や経理サービス提供者１０４等の各サービスを登録し、クライアントからの要求に応じてその登録されたサービスを検索し、提供する。
【００３０】
クライアント１０２、サービス提供者１０３、経理サービス提供者１０４、Lookupサーバ１０５はそれぞれコンピュータ装置で構成される。その代表的構成は、クライアント１０２において示してある通りである。ＣＰＵ１１１は、メモリに格納された制御プログラムに従って各種制御を実行する。ＲＯＭ１１２、ＲＡＭ１１３、外部記憶装置１１４は、上記制御プログラムやＣＰＵ１１１の各種作業領域を提供するためのメモリを提供する。入力装置１１５は、キーボードやポインティングデバイス等から構成され、オペレータによる各種入力を行う。１１６はディスプレイであり、ＣＰＵ１１１の制御により各種表示を行う。１１７はネットワークインターフェースであり、インターネット１０１とコンピュータ装置との接続を行う。
【００３１】
なお、クライアント１０２についてその代表的な構成を示したが、サービス提供者１０３、経理サービス提供者１０４、Lookupサーバ１０５のコンピュータ装置もこれに類似の構成を備える。
【００３２】
図２は、本実施形態による経理サービスの代理オブジェクトの構造を示す図である。図２において、２０２は経理サービス代理オブジェクト、２０３は経理サービスを利用するクライアントを識別するためのクライアント情報である。
【００３３】
本実施形態では、図１７で示されるのと類似の形態を用いることにより、図１６で示したようなＡサービス代理オブジェクトによるサービスと経理サービス代理オブジェクトによるサービスとの間の情報交換の中継ぎをする負担からクライアントを解放するとともに、個人情報の漏洩防止を図る。個人情報の漏洩を防止するためには、経理サービス提供者に対するクライアント情報の設定をクライアント１０４が行い、クライアント情報が設定された状態をそのままＡサービス提供者１０３が引き継いで経理サービスを利用することが望ましい。
【００３４】
そこで、本実施形態では、まず、クライアント１０２が経理サービス代理オブジェクト２０２を取得し、クライアント１０２がクライアント情報２０３を経理サービス代理オブジェクト２０２に設定、保持させる。そして、クライアント情報２０３が設定された経理サービス代理オブジェクト２０２をＡサービス提供者１０３に提供してサービスの移譲を行う。以下、第１の実施形態の動作について詳細に説明する。
【００３５】
以下では、Ａサービス提供者１０３によるＡサービスを利用するに際して、経理サービス提供者１０４による経理サービスが利用される場合について説明する。
【００３６】
図３は第１の実施形態による情報サービスシステムの処理手順を説明するフローチャートである。図４及び図５は第１の実施形態によるサービス提供形態を説明する図である。更に、図６は、第１の実施形態による経理サービス代理オブジェクトの一例を示す図である。
【００３７】
まず、ステップＳ３０１において、クライアント１０２は、図１３、図１４によって説明した方法で、Lookupサーバ１０５からＡサービスの代理オブジェクト２０１を取得する（図４参照）。次に、ステップＳ３０２で、ステップＳ３０１と同様に、Lookupサーバ１０５から経理サービス代理オブジェクト２０２を取得する（図４参照）。なお、本実施形態では、同一のLookupサーバ１０５によってＡサービス代理オブジェクト２０１と経理サービス代理オブジェクト２０２を取得するものとするがこれに限られるものではない。すなわち、ステップＳ３０１でＡサービス代理オブジェクト２０１を取得したLookupサーバと、ステップＳ３０２で経理サービス代理オブジェクト２０２を取得したLookupサーバは同じである必要はない。
【００３８】
次に、ステップＳ３０３において、クライアントプログラムは、経理サービス代理オブジェクト２０２のsetUserInformationメソッド（図６参照）によって、クライアント情報２０３を設定する。この設定の際には、このクライアント情報２０３は経理サービス提供者１０４には通知されず、経理サービス代理オブジェクト２０２内に保持される。ここで、クライアント情報２０３の設定について詳しく説明する。例えば、クライアント情報２０３の内容が、支払いに使用する銀行名、口座番号、暗証番号であるとする。これらの情報を図６中のsetUserInformationメソッド内のUserInformationオブジェクトに設定して経理サービス代理オブジェクト２０２に渡す。次に、経理代理オブジェクト２０２は、公開鍵等を用いてUserInformationオブジェクト（クライアント情報２０３）を暗号化して、それを経理サービス代理オブジェクト２０２の内部情報として保持する。
【００３９】
この保持されているクライアント情報２０３は、他のメソッドや他のオブジェクトから直接参照することができないようになっており、経理サービス代理オブジェクト以外からuser変数自身をアクセスすることができない。そのためＡサービス提供者はクライアント情報２０３に直接アクセスして参照することはできないようになっている。
【００４０】
次にステップＳ３０４において、クライアント１０２は、Ａサービス代理オブジェクト２０１を経由して経理サービス代理オブジェクト２０２も利用できるように、Ａサービス提供者１０３に対し、経理サービス代理オブジェクト２０２を移譲する（図５参照）。移譲にはJava言語実行環境が備えているRMI、Serializeの機構により、経理サービス代理オブジェクト２０２を線形化し、ネットワークデータとしてＡサービス提供者１０３に送り、Ａサービス提供者１０３上で、線形化されたデータを復元することで実現し、Ａサービス提供者が直接クライアント情報２０３を見ることがないようにする。
【００４１】
ステップＳ３０５において、Ａサービス提供者１０３は、クライアント１０２から移譲された経理サービス代理オブジェクト２０２を経由して経理サービス提供者１０４による経理サービスを利用する。図６中のpayメソッドで示すように、Ａサービス提供者が経理サービスを利用する際には、ステップＳ３０３でクライアント１０２が経理サービス代理オブジェクト２０２に設定したクライアント情報２０３が使用され、あたかもクライアント１０２が経理サービスを使用しているかのように実行される。
【００４２】
payメソッドでは、経理サービス代理オブジェクト２０２が保持している暗号化されたクライアント情報２０３を経理サービス提供者１０４に渡し、経理サービス提供者１０４は暗号化されている口座情報等を復号して、それらの情報から銀行口座の引き落とし処理を行う。
【００４３】
なお、本実施形態では、ステップＳ３０３において、経理サービス代理オブジェクト２０２が、クライアント情報２０３を暗号化したが、クライアント情報２０３がUserInformationオブジェクトに設定されたときに一旦経理サービス提供者１０４に渡し、暗号化して返してもらって経理サービス代理オブジェクト２０２内に保持するようにしてもよい。
【００４４】
なお、本実施形態では経理サービスを例としてあげたが、同じ方法で他のサービスを移譲することもできる。例えば、個人認証を認証サービスから受けて、それをそのまま他のサービスに移譲することによって、他のサービスで個人認証されていることを保証することも可能となる。
【００４５】
以上のように、第１の実施形態によれば、第１のサービス（Ａサービス）を利用するに際して、これに付随して第２のサービス（経理サービス）を利用する場合に、クライアントが第１と第２のサービスの中継ぎを行う必要がなくなる。
【００４６】
また、第１の実施形態によれば、第２のサービスの代理オブジェクトに必要な個人情報を保持させ、第１のサービスの提供者に第２のサービスの利用を移譲するので、第１のサービスの提供者に対して個人情報が公開されることはなく、セキュリティが向上する。
【００４７】
（第２の実施形態）
次に、第２の実施形態について説明する。第１の実施形態では、クライアント１０２が経理サービス代理オブジェクト２０２にクライアント情報２０３を設定し、Ａサービス提供者１０３はこれを用いて経理サービスを利用することにより、クライアント情報のセキュリティを向上させた。第２の実施形態では、クライアント情報に加えて、経理サービス提供者との間で確立したセッションＩＤを用いることにより更にセキュリティを向上させる。
【００４８】
なお、第２の実施形態による情報サービスシステムの構成は第１の実施形態（図１）と同様である。また、第２の実施形態においてもJava言語を使用した場合について説明するが、Java言語に依存するわけではなく、他のプログラミング言語を使用しても実現しうる。
【００４９】
以下、クライアント１０２で実行されるプログラムが、Ａサービス提供者１０３のサービスを使用する場合について、図７乃至図１１を参照して説明する。
【００５０】
図７は第２の実施形態による情報サービスシステムの処理手順を説明するフローチャートである。図８及び図９は第２の実施形態によるサービス提供形態を説明する図である。図１０は経理サービス提供者内で使用されるセッションＩＤとクライアント情報の対を管理するテーブルを示す図である。更に、図１１は、第１の実施形態による経理サービス代理オブジェクトの一例を示す図である。
【００５１】
まず、ステップＳ７０１において、クライアント１０２は、図１３、図１４によって説明した方法で、Lookupサーバ１０５からＡサービスの代理オブジェクト２０１を取得する（図８参照）。次に、ステップＳ７０２で、ステップＳ７０１と同様に、Lookupサーバ１０５から経理サービス代理オブジェクト２０２を取得する（図８参照）。なお、本実施形態では、同一のLookupサーバ１０５によってＡサービス代理オブジェクト２０１と経理サービス代理オブジェクト２０２を取得するものとするがこれに限られるものではない。すなわち、ステップＳ７０１でＡサービス代理オブジェクト２０１を取得したLookupサーバと、ステップＳ７０２で経理サービス代理オブジェクト２０２を取得したLookupサーバは同じである必要はない。
【００５２】
次に、ステップＳ７０３において、クライアントプログラムは経理サービス代理オブジェクト２０２のsetUserInformationメソッド（図１１参照）によって、クライアント情報２０３を設定する（図８参照）。この設定を行なった際に、このクライアント情報２０３は経理サービス代理オブジェクト２０２を介して経理サービス提供者１０４に通知される。クライアント情報２０３を通知された経理サービス提供者１０４は、新たに経理サービスの一連のセッションが始まったものと解釈し、新しいセッションＩＤ８０１を生成し、これを経理サービス代理オブジェクト２０２を介してクライアント１０２に返す。
【００５３】
なお、経理サービス提供者１０４は、通知されたクライアント情報２０３と、これに対して付与したセッションＩＤ８０１とをテーブルに登録しておき、以降のサービス提供時の認証に用いる（図１０参照）。
【００５４】
次に、ステップＳ７０４において、クライアント１０２は、Ａサービス代理オブジェクト２０１を経由して経理サービス代理オブジェクト２０２も利用できるように、Ａサービス提供者１０３に対し、経理サービス代理オブジェクト２０２と、経理サービスから取得したセッションＩＤ８０１を移譲する（図９参照）。移譲にはJava言語実行環境が備えているRMI、Serializeの機構により、経理サービス代理オブジェクト２０２とセッションＩＤ８０１を線形化し、ネットワークデータとしてＡサービス提供者に送り、Ａサービス提供者上で、線形化されたデータを復元することで実現する。
【００５５】
Ａサービス提供者１０３では、ステップＳ７０５において、クライアント１０２から移譲された経理サービス代理オブジェクト２０２を経由して経理サービスを利用する。図１１のpayメソッドで示すように、Ａサービス提供者１０３が経理サービス提供者１０４の経理サービスを利用する際には、ステップＳ７０４で経理サービス提供者１０４から取得したセッションＩＤ８０１が使用される。すなわち、経理サービス提供者１０４内で、図１０に示したテーブルを参照してセッションＩＤとクライアント情報とを付き合わせて認証を行い、あたかもクライアント１０２が経理サービスを使用しているかのように実行される。例えば、クライアント情報２０３の内容が、支払いに使用する銀行名、口座番号、暗証番号であるとすると、図１０のクライアント情報１００２にはこれらの情報が蓄えられており、payメソッドでは、セッションＩＤが渡されているので、このセッションＩＤを経理サービス提供者に送り、経理サービス提供者１０４はセッションＩＤをキーにして図１０のテーブルを参照し、クライアント情報を得て、銀行口座からの引き落とし処理を行う。
【００５６】
なお、第２の実施形態では経理サービスを例としてあげたが、同じ方法で他のサービスを移譲することもできる。
【００５７】
以上のように第２の実施形態によれば、クライアント情報に加えて、経理サービス提供者との間で確立したセッションＩＤを用いることにより、第１の実施形態の構成よりも、更にセキュリティを向上させることができる。
【００５８】
また、上記各実施形態によれば、クライアントが検索したクライアントが必要としているサービスを、他のサービスにあたかもクライアントがサービス提供を受けているようにサービスを提供できるようにすることができる。
【００５９】
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００６０】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６１】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００６２】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６３】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６４】
【発明の効果】
以上説明したように、本発明によれば、第１のサービスの利用に付随してサービス提供者が異なる第２のサービスを利用するにおいて、ユーザの処理負担を軽減することが可能である。
また、本発明によれば、第１のサービスに付随して第２のサービスを利用するに際して、第２のサービスが個人情報を要求する場合に、そのセキュリティを向上することができる。
【図面の簡単な説明】
【図１】本実施形態の情報サービスシステムの構成を示すブロック図である。
【図２】本実施形態による経理サービスの代理オブジェクトの構造を示す図である。
【図３】第１の実施形態による情報サービスシステムの処理手順を説明するフローチャートである。
【図４】第１の実施形態によるサービス提供形態を説明する図である。
【図５】第１の実施形態によるサービス提供形態を説明する図である。
【図６】第１の実施形態による経理サービス代理オブジェクトの一例を示す図である。
【図７】第２の実施形態による情報サービスシステムの処理手順を説明するフローチャートである。
【図８】第２の実施形態によるサービス提供形態を説明する図である。
【図９】第２の実施形態によるサービス提供形態を説明する図である。
【図１０】経理サービス提供者内で使用されるセッションＩＤとクライアント情報の対を管理するテーブルを示す図である。
【図１１】第１の実施形態による経理サービス代理オブジェクトの一例を示す図である。
【図１２】  Jiniによるサービス提供の形態を説明する図である。
【図１３】  Jiniによるサービス提供の形態を説明する図である。
【図１４】  Jiniによるサービス提供の形態を説明する図である。
【図１５】  Jiniによるサービス提供の形態を説明する図である。
【図１６】他のサービスの利用を伴うサービス提供の一般的な形態を示す図である。
【図１７】他のサービスの利用を伴うサービス提供の一般的な形態を示す図である。
【図１】
0004536880.tif 000002
【図２】
0004536880.tif 000003
【図３】
0004536880.tif 000004
【図４】
0004536880.tif 000005
【図５】
0004536880.tif 000006
【図６】
0004536880.tif 000007
【図７】
0004536880.tif 000008
【図８】
0004536880.tif 000009
【図９】
0004536880.tif 000010
【図１０】
0004536880.tif 000011
【図１１】
0004536880.tif 000012
【図１２】
0004536880.tif 000013
【図１３】
0004536880.tif 000014
【図１４】
0004536880.tif 000015
【図１５】
0004536880.tif 000016
【図１６】
0004536880.tif 000017
【図１７】
0004536880.tif 000018