(57)【特許請求の範囲】
【請求項１】
装置（２４０、２５０）からローカルネットワーク（２１０）内で提供される仮想サービス（２１２）へのリモートアクセスを提供する情報処理システム（２００）であって、前記仮想サービス（２１２）は前記ローカルネットワーク（２１０）の外部に位置するサービスプロバイダ（２３０）により提供される１つ以上のネイティブサービスを呼び出すか、又は１つ以上の前記ネイティブサービスと前記ローカルネットワーク（２１０）内にあるローカル装置（２１３）により提供される１つ以上のローカルサービスとの両方を呼び出し、前記情報処理システムは、
ローカルサービスを呼び出すことなく１つ以上のネイティブサービスを呼び出すことによって実行可能な前記仮想サービス（２１２）のショートカット要素を特定するサービス情報を管理するように構成された管理部（３１２）と、
前記装置（２４０、２５０）から前記仮想サービス（２１２）を求める要求を取得するように構成された取得部（３２１）と、
前記管理部（３１２）から前記サービス情報を受信するように構成された受信部（３２２）と、
前記受信されたサービス情報に基づいて前記要求された仮想サービス（２１２）についてのショートカット要素を特定するように構成された特定部（３２３）と、
前記ローカルネットワーク（２１０）へ前記ショートカット要素を転送することなく前記サービスプロバイダ（２３０）へ１つ以上のネイティブサービスを呼び出すことによって前記特定されたショートカット要素を実行し、前記要求された仮想サービス（２１２）の他の要素を前記ローカルネットワーク（２１０）へ転送するように構成された呼び出し部（３２４）と、
前記呼び出された１つ以上のネイティブサービスを実行した結果と前記ローカルネットワーク（２１０）から応答された結果とを合成するように構成された合成部（３２５）と、
前記合成された結果を前記装置（２４０、２５０）へ応答するように構成された応答部（３２６）と
を備えることを特徴とする情報処理システム（２００）。
【請求項２】
前記取得部（３２１）は、前記ローカルネットワーク（１１０）によりサポートされるプロトコルを用いて前記要求を取得するように更に構成され、
前記呼び出し部は、前記取得される要求のために用いられるプロトコルを、前記１つ以上のネイティブサービスを呼び出すために前記サービスプロバイダ（２３０）によりサポートされるプロトコルに変換するように更に構成される
ことを特徴とする請求項１に記載の情報処理システム（２００）。
【請求項３】
前記取得部（３２１）は、前記仮想サービス（２１２）を求める要求と同じ方法でローカルサービスを求める要求を取得するように更に構成され、
前記呼び出し部（３２４）は、前記ローカルサービスを求める要求を前記ローカルネットワーク（２１０）へ転送するように更に構成され、
前記応答部（３２６）は、前記ローカルネットワーク（２１０）から応答された結果を前記装置（２４０、２５０）へ応答するように更に構成される
ことを特徴とする請求項１又は２に記載の情報処理システム（２００）。
【請求項４】
前記要求された仮想サービス（２１２）の前記他の要素がローカルサービスを呼び出したかを判定するように構成された判定部（４０４）と、
前記判定部（４０４）から判定結果を取得するように構成された更新部（３２７）と
を更に備え、
前記要求された仮想サービスの前記他の要素がローカルサービスを呼び出さなかった場合に、前記更新部（３２７）は前記要求された仮想サービス（２１２）の前記サービス情報を更新するように前記管理部（３１２）に要求する
ことを特徴とする請求項１乃至３の何れか１項に記載の情報処理システム（２００）。
【請求項５】
前記要求された仮想サービス（２１２）の前記他の要素がローカルサービスを呼び出したかを判定するように構成された判定部（４０４）と、
前記判定部（４０４）から判定結果を取得するように構成された更新部（３２７）と
を更に備え、
前記要求された仮想サービスの前記他の要素がローカルサービスを呼び出さなかった場合に、前記呼び出し部（３２４）は前記仮想サービス（２１２）の前記判定された他の要素を以降は転送しない
ことを特徴とする請求項１乃至３の何れか１項に記載の情報処理システム（２００）。
【請求項６】
前記仮想サービス（２１２）は管理されたネットワーク（２２０）を介して前記装置（２４０、２５０）へ提供され、前記管理部（３１２）と、前記取得部（３２１）と、前記受信部（３２２）と、前記特定部（３２３）と、前記呼び出し部（３２４）と、前記合成部（３２５）と、前記応答部（３２６）とは前記管理されたネットワーク（２２０）に含まれることを特徴とする請求項１乃至５の何れか１項に記載の情報処理システム（２００）。
【請求項７】
前記仮想サービス（２１２）は管理されたネットワーク（２２０）を介して前記装置（８１３）へ提供され、
前記装置（８１３）は前記管理されたネットワーク（２２０）へ接続するためのゲートウェイ（８１１）を含む別のローカルネットワーク（８１０）に含まれ、
前記管理部（３１２）は前記管理されたネットワーク（２２０）に含まれ、
前記取得部（３２１）と、前記受信部（３２２）と、前記特定部（３２３）と、前記呼び出し部（３２４）と、前記合成部（３２５）と、前記応答部（３２６）とは前記別のローカルネットワーク（８１０）に含まれる前記ゲートウェイ（８１１）に含まれる
ことを特徴とする請求項１乃至５の何れか１項に記載の情報処理システム（８００）。
【請求項８】
前記サービスプロバイダ（２３０）は第１の管理されたネットワーク（２２０）を介して前記ローカルネットワーク（２１０）に接続され、
前記仮想サービス（２１２）は第２の管理されたネットワーク（９１０）を介して前記装置（９２０、９３０）へ提供され、
前記管理部（３１２）は前記第１の管理されたネットワーク（２２０）に含まれ、
前記取得部（３２１）と、前記受信部（３２２）と、前記特定部（３２３）と、前記呼び出し部（３２４）と、前記合成部（３２５）と、前記応答部（３２６）とは前記第２の管理されたネットワーク（９１０）に含まれる
ことを特徴とする請求項１乃至５の何れか１項に記載の情報処理システム（９００）。
【請求項９】
前記管理部（３１２）は前記仮想サービス（２１２）を呼び出すために用いられるパラメータを管理するように更に構成され、
前記特定部（３２３）は前記パラメータに更に基づいて前記ショートカット要素を特定するように更に構成される
ことを特徴とする請求項１乃至８の何れか１項に記載の情報処理システム（２００）。
【請求項１０】
前記サービス情報は前記ショートカット要素をいつ実行するかを示す指示を含むことを特徴とする請求項１乃至９の何れか１項に記載の情報処理システム（２００）。
【請求項１１】
前記仮想サービス（２１２）が作成される場合に、前記管理部（３１２）は前記サービス情報を前記受信部（３２２）へプッシュすることを特徴とする請求項１乃至１０の何れか１項に記載の情報処理システム（２００）。
【請求項１２】
前記仮想サービス（２１２）は前記管理部（３１２）のコンタクト情報を含み、
前記ローカルネットワーク（２１０）内のゲートウェイ（９０１）が前記仮想サービス（２１２）を発見した場合に、前記ゲートウェイ（９０１）は前記コンタクト情報に基づいて前記管理部（３１２）に前記発見された仮想サービス（２１２）を提供し、前記管理部（３１２）は前記発見された仮想サービス（２１２）に基づいて前記サービス情報を更新し、前記管理部（３１２）は前記更新されたサービス情報を前記受信部（３２２）へプッシュすることを特徴とする請求項１乃至１０の何れか１項に記載の情報処理システム（９００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理システム及びリモートアクセスを提供する方法に関する。
【背景技術】
【０００２】
今日、人々は様々な種類のＬＡＮ（ローカルエリアネットワーク）技術やＰＡＮ（パーソナルエリアネットワーク）技術により相互接続された複数のデジタル装置を用いる。ＵＰｎＰ（ユニバーサルプラグアンドプレイ）及びＤＬＮＡ（デジタルリビングネットワークアライアンス、登録商標）はホームＬＡＮ内のメディア消費に焦点を当てた標準であり、ユーザが例えば自身のリビングルーム内のＴＶセットで、自身のネットワーク接続ストレージ（ＮＡＳ）に格納されたメディアを再生することを可能にする。さらに、人々は通りを歩きながら、ＬＡＮ技術やＰＡＮ技術に接続されている複数のポータブル装置及びガジェットを有する。同時に、サービスプロバイダやユーザ自身のホームネットワークによって提供され、ＷＡＮ（ワイドエリアネットワーク）技術を通じてアクセス可能である多くのサービスがインターネットで利用可能である。多くのビデオ共有サイトがインターネットで利用可能である。また、多くのインターネットラジオ局が利用可能であり、ポッドキャストサイトは整形式のメタデータとともにオーディオ及びビデオを提供する。
【０００３】
特許文献１に記載されるように、サービスプロバイダは宅内ネットワーク、例えばＬＡＮ内のサービスを仮想装置の形式で開示してもよい。図１は仮想装置を提供する情報処理システム１００を説明する。ＬＡＮ１１０はユーザ１６０の宅内ネットワークであり、ＩＧ（ＩＭＳゲートウェイ）１１１とローカル装置１１３とを含む。ローカル装置１１３はＩＧ１１１を介してＩＭＳ（ＩＰマルチメディアサブシステム）環境１２０に接続する。ＩＭＳ環境１２０はサービスプロバイダ（ＳＰ）１３０により提供される複数のサービスの合成物として仮想装置を生成するためのＰＮＡＳ１２１を含む。仮想装置はＩＧ１１１により提供される１つ以上の仮想サービス１１２を実装する。ＩＧ１１１はＬＡＮ１１０に対して、ＵＰｎＰのようなそこでサポートされるプロトコルを用いて仮想サービス１１２を告知する。ローカル装置１１３はＩＧ１１１により提供されるサービスプロファイルの記述を取得でき、サービスプロファイルにアクセスできる。仮想サービス１１２へのアクセスはＰＮＡＳ１２１へのアクセスに変換され、サービスプロバイダ１３０により戻された結果は再びＬＡＮ１１０によりサポートされるプロトコルに変換され、ローカル装置１１３に戻される。
【０００４】
ＰＮＡＳ１２１はＬＡＮ１１０からコンテキスト情報を収集し、コンテキスト情報をサービスプロバイダ及びエンドユーザに開示する。コンテキスト情報はローカル装置１１３の能力、ＬＡＮ１１０内のセンサ及びアクチュエータ、並びにそれらにより提供されるサービスを含む。これは何らかのイベントがローカル装置１１３で発生した場合やローカル装置１１３の状態が変わった場合に更新される。ＩＧ１１１はセキュアで効率的な方法でＰＮＡＳ１２１へコンテキスト情報を公開する中間エンティティとして動作する。
【０００５】
ＩＭＳ環境１２０はＬＡＮ１１０へのリモートアクセスをユーザ１６０に提供しうる。ユーザ１６０はユーザ装置１５０を用いてリモートからＬＡＮ１１０内のサービスにアクセスする。サービスプロバイダ１４０はこのリモートアクセスをユーザ装置１５０に提供する。サービスプロバイダ１４０はＰＮＡＳ１２１から仮想サービス１１２のサービス記述を読み出し、このサービス記述をユーザ装置１５０へ提示する。サービスプロバイダ１４０がユーザ装置１５０から仮想サービス１１２への要求を受信する場合に、サービスプロバイダ１４０はこの要求を適切なプロトコル変換を行った後にＩＧ１１１へ転送する。ＩＧ１１１は仮想サービス１１２を実行し、結果をユーザ装置１５０へ戻す。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願公開第２００５／０２１０１５５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
仮想サービス１１２を実行するために、ＩＧ１１１はサービスプロバイダ１３０により提供されるネイティブサービスを必要とする。すなわち、ユーザ装置１５０からの要求は、サービスプロバイダ１４０、ＩＧ１１１及びサービスプロバイダ１３０の経路を横断し、応答は戻り経路を横断する。これは、トロンボーン経路を引き起こし、ユーザ１６０は長い待ち時間を経験しうる。
【課題を解決するための手段】
【０００８】
本発明の１つの側面によれば、装置からローカルネットワーク内で提供される仮想サービスへのリモートアクセスを提供する情報処理システムが提供される。前記仮想サービスはサービスプロバイダにより提供される１つ以上のネイティブサービスを呼び出すか、又は１つ以上の前記ネイティブサービスと前記ローカルネットワーク内にあるローカル装置により提供される１つ以上のローカルサービスとの両方を呼び出す。前記情報処理システムは、ローカルサービスを呼び出すことなく１つ以上のネイティブサービスを呼び出すことによって実行可能な前記仮想サービスのショートカット要素を特定するサービス情報を管理するように構成された管理部と、前記装置から前記仮想サービスを求める要求を取得するように構成された取得部と、前記管理部から前記サービス情報を受信するように構成された受信部と、前記受信されたサービス情報に基づいて前記要求された仮想サービスについてのショートカット要素を特定するように構成された特定部と、前記サービスプロバイダへ１つ以上のネイティブサービスを呼び出すことによって前記特定されたショートカット要素を実行し、前記要求された仮想サービスの他の要素を前記ローカルネットワークへ転送するように構成された呼び出し部と、前記呼び出された１つ以上のネイティブサービスを実行した結果と前記ローカルネットワークから応答された結果とを合成するように構成された合成部と、前記合成された結果を前記装置へ応答するように構成された応答部とを備える。
【０００９】
本発明の更なる特徴は添付の図面を参照する例示の実施形態の以下の説明から明らかになるだろう。
【図面の簡単な説明】
【００１０】
【図１】仮想サービスを提供する環境を説明する図である。
【図２】第１実施形態に係る情報処理システム２００を含む例示の環境を説明する図である。
【図３】第１実施形態に係るＰＮＡＳ２２１の例示のブロック図を説明する図である。
【図４】第１実施形態に係るＩＧ２１１の例示のブロック図を説明する図である。
【図５】第１実施形態に係る情報処理システム２００の例示の動作を説明する図である。
【図６】第１実施形態に係る情報処理システム２００の例示の動作を説明する図である。
【図７】第１実施形態に係る情報処理システム２００の例示の動作を説明する図である。
【図８】第２実施形態に係る情報処理システム８００を含む例示の環境を説明する図である。
【図９】第３実施形態に係る情報処理システム９００を含む例示の環境を説明する図である。
【図１０】第３実施形態に係る情報処理システム９００の例示の動作を説明する図である。
【発明を実施するための形態】
【００１１】
本発明の実施形態が添付の図面を参照しつつ以下に記載される。以下に記載される各実施形態は総括的なものからより具体的なものまで様々な概念を理解するのに役立つだろう。本発明の技術的範囲は特許請求の範囲によって規定され、以下に記載される各実施形態によって限定されないことが留意されるべきである。さらに、実施形態に記載される特徴のすべての組み合わせが本発明に必ずしも不可欠というわけではない。
【００１２】
＜第１実施形態＞
図２は本発明の第１実施形態に係る情報処理システム２００を含む例示の環境を説明する。環境ＬＡＮ２１０、ＩＭＳ環境２２０、サービスプロバイダ２３０、別のサービスプロバイダ２４０、及びユーザ装置２５０を含む。
【００１３】
ＬＡＮ２１０はユーザ２６０が個人的に使用するネットワークであり、例えばホームネットワークや車内ネットワークである。ＬＡＮ２１０は、例えばＴＶ、ゲーム機、又はホームＮＡＳでありうるローカル装置２１３を含む。ＬＡＮ２１０は２つ以上のローカル装置を含んでもよい。ローカル装置２１３はユーザ２６０に１つ以上のローカルサービスを提供する。ＬＡＮ２１０はまた、さらに複数のユーザＬＡＮ、ＰＡＮを含んでもよい。ＬＡＮ２１０はＤＬＮＡネットワークであってもよいし、ＤＬＮＡ／ＵＰｎＰ、Ｂｏｎｊｏｕｒ（登録商標）／Ｚｅｒｏｃｏｎｆ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ（登録商標）及びＩＥＥＥ８０２．１５．４改良版のうちの１つ以上に従う通信をサポートしてもよい。ＢｏｎｊｏｕｒはＬＡＮ環境におけるメディア消費について用いられてもよい。ＢｌｕｅｔｏｏｔｈはＰＡＮ内のオーディオ再生を含む装置間の発見・通信について用いられてもよい。ＺｉｇＢｅｅ及びＩＥＥＥ８０２．１５．４改良版は例えばホームオートメーションシナリオのためのセンサ・アクチュエータ装置について用いられてもよい。
【００１４】
ＬＡＮ２１０はまた、ＩＧ（ＩＭＳゲートウェイ）を含む。ＩＧ２１１はＩＭＳ環境２２０とＬＡＮ２１０との間のアプリケーション層ゲートウェイ装置である。ローカル装置２１３とＩＭＳ環境２２０との間のメッセージの輸送及び認証はＩＧ２１１によって仲介され、ＩＭＳ環境２２０により提供されるセキュリティメカニズムによって保護される。
【００１５】
サービスプロバイダ２３０は例えばインターネットに含まれ、１つ以上のサービスを提供する。以下、サービスプロバイダ２３０により提供されるサービスは「ネイティブサービス」と呼ばれる。
【００１６】
ユーザ２６０はユーザ装置２５０を用いて外部からＬＡＮ２１０へアクセスする。ユーザ装置２５０は移動体電話、パーソナルコンピュータ、デジタルプレーヤなどでありうる。別のサービスプロバイダ２４０はＰＮＡＳ２２１から仮想装置の情報を読み出し、ユーザ装置２５０へサービスを提供する。サービスプロバイダ２４０はユーザ２６０がリモートからＬＡＮ２１０へアクセスすることを可能にする。
【００１７】
ＩＭＳ環境２２０はネットワーク事業者により管理され、ＰＮＡＳ（パーソナルネットワークアプリケーションサーバ）２２１を含む。ＰＮＡＳ２２１はＬＡＮ２１０に関する情報を開示するＩＭＳイネーブラである。本実施形態では、ＰＮＡＳ２２１はコンテキストマネージャ２２２、ＶＤＦ（仮想装置ファクトリ）２２３及びＶＤＰ（仮想装置プロキシ）２２４を含む。
【００１８】
コンテキストマネージャ２２２はＬＡＮ２１０に関するコンテキスト情報を管理する。コンテキスト情報は内部状態、能力、アクセス履歴、コンテキストマネージャ２２２との進行中のセッションのような、ＬＡＮ２１０内のローカル装置に関する情報である。コンテキスト情報はＬＡＮ２１０内で利用可能なサービスに関する情報と、この情報の開示についてのユーザポリシーとを含んでもよい。ＩＧ２１１は、ＬＡＮ２１０内のローカル装置２１３を発見し、装置の情報をＰＮＡＳ２２１に公開し、コンテキストマネージャ２２２はＬＡＮ２１０の装置情報をコンテキスト情報として集約する。例えば、ＩＧ２１１はＵＰｎＰ  ＭサーチメッセージをＬＡＮ２１０に送信する。ＬＡＮ２１０内のユーザ装置はＩＧ２１１からのＭサーチに応答する。ＩＧ２１１はＭサーチに応答したローカル装置からコンテキスト情報をフェッチする。ＩＧ２１１は適切なＵＰｎＰメッセージを発行することによって見つかったローカル装置の能力を検出し、これらのコンテキスト情報をマネージャ２２２にアップロードする。別のＩＭＳ環境により提供される仮想サービスがＩＧ２１１によって発見されてもよい。
【００１９】
ＶＤＦ２２３はサービスプロバイダ２３０からネイティブサービスに関するサービス記述を受信し、ＬＡＮ２１０に仮想サービス２１２を提供する。仮想サービスは複数のサービスプロバイダにより提供される複数のサービスの合成物でありうる。例えば、サービスプロバイダ２３０はＶＤＦ２２３がＬＡＮ２１０への仮想サービス２１２を作成するのに十分な情報を含むウェブサービス記述を提供する。ＶＤＦ２２３はまた、各仮想サービス２１２ごとにサービス情報を作成し管理する。サービス情報は仮想サービス２１２に関する情報であり、どの種類のネイティブサービスとローカルサービスとが呼び出されるか、何のパラメータを用いてサービスをどのように呼び出すかなどを含む。サービス情報はまた、仮想サービス２１２のショートカット要素を含む。ショートカット要素はローカルサービスを呼び出さずに１つ以上のネイティブサービスを呼び出すことによって実行可能な要素である。すなわち、ＶＤＰ２２４はショートカット要素をＩＧ２１１へ転送する必要がない。サービス情報はまた、いつショートカット要素を実行するかを示す指示と、仮想サービス２１２を呼び出すために用いられるパラメータとを含んでもよい。ＶＤＦ２２３はサービスプロバイダ２３０により提供されるサービス記述とコンテキストマネージャ２２２から読み出されたコンテキスト情報とに基づいてサービス情報を作成してもよい。ＶＤＦ２２３は、プロトコル変換を行い、サービス情報を更新するために、仮想サービス２１２からネイティブサービスへのサービス要求を傍受する。ＶＤＦ２２３は１つ以上のネイティブサービスを提供してもよく、仮想サービス２１２はＶＤＦ２２３により提供されるネイティブサービスを含んでもよい。この場合に、ＶＤＦ２２３はサービスプロバイダとして動作する。
【００２０】
ＶＤＰ２２４はユーザ装置２５０からサービス要求を受け取り、要求されたサービスをサービス情報に基づいて実行し、結果を戻す。図２はただ１つのＶＤＰ２２４を示す。しかしながら、１つの仮想サービス２１２に対して複数のＶＤＰが準備されてもよい。
【００２１】
図３は本実施形態に係るＰＮＡＳ２２１の例示のブロック図を説明する。ＰＮＡＳ２２１はＣＰＵ３０１、メモリ３０２、コンテキストマネージャ２２２、ＶＤＦ２２３及びＶＤＰ２２４を含む。ＣＰＵ３０１はＰＮＡＳ２２１の全体的な動作を制御する。メモリ３０２はＰＮＡＳ２２１の動作のために用いられるコンピュータプログラム及びデータを格納する。
【００２２】
ＶＤＦ２２３は作成部３１１と管理部３１２とを含む。作成部３１１はサービスプロバイダ２３０により提供されるネイティブサービスに基づいて仮想サービス２１２を作成する。仮想サービス２１２は１つ以上のネイティブサービスを呼び出してもよいし、１つ以上のネイティブサービスと、ローカル装置２１３により提供される１つ以上のローカルサービスとの両方を呼び出してもよい。管理部３１２はサービス情報を管理する。
【００２３】
ＶＤＰ２２４は取得部３２１と、受信部３２２と、特定部３２３と、呼び出し部３２４と、合成部３２５と、応答部３２６と、更新部３２７とを含む。取得部３２１はユーザ装置２５０から仮想サービス２１２を求める要求を取得する。取得部３２１はＬＡＮ２１０によりサポートされるプロトコルを用いて要求を取得してもよい。さらに、取得部３２１は仮想サービス２１２を求める要求と同じようにして、ローカル装置２１３により提供されるローカルサービスを求める要求を取得してもよい。
【００２４】
受信部３２２は管理部３１２からサービス情報を受信する。特定部３２３は読み出されたサービス情報に基づいて、要求された仮想サービス２１２についてショートカット要素を特定する。呼び出し部３２４は、サービスプロバイダ１３０に１つ以上のネイティブサービスを呼び出すことによって、特定されたショートカット要素を実行し、要求された仮想サービス２１２に他の要素が存在するならばそれをＬＡＮ２１０へ転送する。呼び出し部は、取得された要求に用いられるプロトコルを、ネイティブサービスを呼び出すためにサービスプロバイダ１３０によりサポートされるプロトコルに変換してもよい。合成部３２５は、呼び出されたネイティブサービスを実行した結果と、ＬＡＮ２１０から応答された結果が存在するならばその結果とを合成する。応答部３２６は合成された結果をユーザ装置２５０へ応答する。更新部３２７はサービス情報を更新することを管理部３１２に要求する。
【００２５】
図４はこの実施形態に係るＩＧ２１１の例示のブロック図を説明する。ＩＧ２１１はＣＰＵ４０１と、メモリ４０２と、実行部４０３と、判定部４０４とを含む。ＣＰＵ４０１はＩＧ２１１の全体的な動作を制御する。メモリ４０２はＩＧ２１１の動作のために用いられるコンピュータプログラム及びデータを格納する。実行部４０３はローカルサービスと、必要ならばネイティブサービスとを実行する。判定部４０４は、要求された仮想サービスがローカルサービスを呼び出したかどうかを判定する。更新部３２７は判定部４０４からこの判定結果を取得する。
【００２６】
図５〜図７は本実施形態に従う情報処理システム２００の全体的な動作例を説明する。各装置に含まれるＣＰＵが各装置のメモリに格納されたコンピュータプログラムを実行してこれらの動作を処理する。
【００２７】
図５はＶＤＦ２２３がＶＤＰ２２４にサービス情報を提供する例示の動作を説明する。
【００２８】
ステップ５０１で、作成部３１１はサービスプロバイダ２３０からネイティブサービスのサービス記述を受信する。ステップＳ５０２で、作成部３１１はサービス記述に従って仮想サービス２１２を作成し、ＩＧ２１１に仮想サービス２１２を提供する。作成部３１１は単一の仮想サービスを作成するために複数のネイティブサービスを合成してもよい。
【００２９】
ステップ５０３で、管理部３０４はコンテキストマネージャ２２２からコンテキスト情報を読み出す。コンテキスト情報はＬＡＮ２１０内のローカル装置２１３の情報を含む。ステップＳ５０４で、管理部３０４はサービス情報を作成し、ＶＤＰ２２４にサービス情報を提供する。１つのシナリオでは、管理部３０４はステップ５０１のネイティブサービスの提供に応答してサービス情報を提供する。しかしながら、ステップ５０４はステップＳ５０１の実行後の任意の時点で実行されてもよい。
【００３０】
図６はＶＤＰ２２４がユーザ装置２５０からサービス要求を受信する場合の例示の動作を説明する。これらの動作はＶＤＰ２２４がサービス情報を取得した後に実行されうる。または、ＶＤＰ２２４は仮想サービス２１２へのユーザ装置２５０からの要求に応答してサービス情報を取得してもよい。
【００３１】
ステップＳ６０１で、取得部３２１はサービスプロバイダ２４０を介してユーザ装置２５０からサービスを求める要求を取得する。要求されたサービスは仮想サービスであってもよいし、ローカル装置２１３により提供されるローカルサービスであってもよい。ローカルサービスの例は、ＬＡＮ２１０におけるファイルアクセスである。例として、サービスプロバイダ２４０とＶＤＰ２２４との間の通信はＳＩＰを用いて行われ、サービスプロバイダ２４０は、実際のＵＰｎＰ装置であろうが仮想ＵＰｎＰ装置であろうが、ターゲットＵＰｎＰ装置を制御するためにＳＩＰを通じてＵＰｎＰコマンドを送信できる。ＳＩＰ以外のプロトコルが利用されてもよい。１つのシナリオでは、ユーザ２６０はユーザ装置２５０を用いてウェブブラウザを開き、サービスプロバイダ２４０により提供されるウェブサイトにアクセスする。サービスプロバイダ２４０は仮想装置を際御するためにＳＩＰを通じてＶＤＰ２２４へＵＰｎＰアクションを送信する。
【００３２】
ステップ６０２で、特定部３２３は要求されたサービスが仮想サービスであるかローカルサービスであるかを判定する。取得部３２１は、仮想サービス２１２への要求を取得してもよく、ローカルサービスへの要求と同じ方法でそれを扱ってもよい。要求されたサービスがローカルサービスである場合に、処理はステップＳ６０３へ進み、呼び出し部３２４は適切なプロトコル変換の後に要求をＬＡＮ２１０へ転送する。ステップＳ６０７で、応答部３２６はＬＡＮ２１０から応答された結果をユーザ装置２５０へ応答する。
【００３３】
要求されたサービスが仮想サービスである場合に、処理はステップＳ６０４へ進む。ステップＳ６０４で、受信部３２２は要求された仮想サービスについてのサービス情報を受信する。管理部３１２は要求の前に受信部３２２へサービス情報をプッシュしてもよいし、サービス情報はメモリ３０２内に既に格納されていてもよい。サービス情報がまた取得されていないならば、受信部３２２はサービス情報を管理部３１２から読み出す。
【００３４】
ステップＳ６０５〜Ｓ６０７は図７で詳細に記載される。ステップＳ７０１で、特定部３２３はサービス情報に基づいて、要求された仮想サービスについてのショートカット要素を特定する。
【００３５】
ステップＳ７０２で、呼び出し部３２４はサービスプロバイダ２３０へ１つ以上のネイティブサービスを呼び出すことによって、特定されたショートカット要素を実行する。呼び出し部３２４はサービスプロバイダ２３０のウェブサービス記述に従ってＵＰｎＰアクションをＳＯＡＰ要求に変換し、ＳＯＡＰ要求をサービスプロバイダ２３０へ送信する。
【００３６】
ステップＳ７０３で、呼び出し部３２４は要求された仮想サービス２１２の他の要素をＬＡＮ２１０へ転送する。ステップ７０４で、サービスプロバイダ２３０はネイティブサービスの実行結果を戻す。サービスプロバイダ２３０からのＳＯＡＰ応答は次いでＵＰｎＰ応答に変換される。ステップＳ７０５で、実行部４０３はローカルサービスの実行結果を戻す。
【００３７】
ショートカット要素は複数のショートカット部分要素を含んでもよい。要求された仮想サービス２１２の他の要素はまた、複数のローカル部分要素を含んでもよい。ショートカット部分要素とローカル部分要素とは互いに依存してもよい。例えば、ローカル部分要素はショートカット部分要素の実行結果をパラメータとして要求してもよい。
【００３８】
ステップＳ７０６で、合成部３２５はサービスプロバイダ２３０からと実行部４０３からとの両方の結果を合成する。ステップＳ７０７で、応答部３２６は合成された結果をユーザ装置２５０へ応答する。
【００３９】
ステップＳ７０１で他の要素が存在しないならば、すなわち要求された仮想サービス２１２がローカルサービスを呼び出さずに実行されるならば、ステップＳ７０３、Ｓ７０５及びＳ７０６は省略されうる。他方で、ショートカット要素が存在しないならば、ステップＳ７０２、Ｓ７０４及びＳ７０６は省略されうる。
【００４０】
要求は、当該要求へのパラメータに依存してローカルサービスを必要としてもよい。この場合に、サービス情報はショートカット要素を特定しないかもしれないので、呼び出し部３２４はステップＳ７０３で単に仮想装置へ要求を転送してもよい。ステップＳ７０８で、判定部４０４は、要求の処理が何らかのローカルサービスを呼び出したかどうかを判定してもよい。呼び出していないなら、ステップＳ７０９で、判定部４０４はこの判定結果を送信してもよく、更新部３２７はこの判定結果を取得してもよい。ステップＳ７０９のこの判定処理はステップＳ７０３とＳ７０５との間に実行されてもよく、この場合に判定結果はステップＳ７０５のローカルサービスの実行結果とともに送信されてもよい。ステップＳ７１０で、更新部３２７は判定結果に基づいて、要求された仮想サービスのサービス情報を更新することを管理部３１２に要求してもよい。管理部３１２はパラメータを仮想サービス２１２のショートカット要素として管理する。管理部３１２はこの更新をＶＤＰ２２４と、存在するならば他のＶＤＰとに通知してもよい。または、呼び出し部３２４はローカルにパラメータを管理してもよく、パラメータに基づいて呼び出し部３２４が以降に他の要素を転送すべきかどうかを判定してもよい。
【００４１】
ステップＳ７０８及びＳ７０９の代わりに、呼び出し部３２４は仮想サービス２１２とサービスプロバイダ２３０とのとの両方に要求を送信してもよい。これらが所与のパラメータ集合について同じ応答を戻すならば、呼び出し部３２４は次回から要求をサービスプロバイダ２３０だけに転送できる。従って、この場合に、更新部３２７もステップＳ７１０を実行する。この方法は、要求が仮想サービス２１２とサービスプロバイダ２３０との状態を全く変更せず、副次的な効果を何も有しない場合にのみ適用可能であることに留意されたい。
【００４２】
本実施形態によれば、ユーザ装置２５０が仮想サービス２１２を要求する場合にアクセス遅延時間が改善される。さらに、仮想装置にアクセスするサービスは仮想装置を提供するサービスプロバイダから分離されたままである。
【００４３】
＜第２実施形態＞
図８は本発明の第２実施形態に係る情報処理システム８００を含む例示の環境を説明する。第１実施形態に係る同様の要素は同様の参照符号が与えられる。環境はＬＡＮ２１０と、ＩＭＳ環境２２０と、サービスプロバイダ２３０と、別のＬＡＮ８１０とを含む。
【００４４】
ＬＡＮ８１０は別のＩＧ８１１とユーザ装置８１３とを含む。本実施形態では、ＶＤＰ８１２はＩＧ８１１に含まれる。ユーザ８１４はＩＭＳ環境２２０を介してユーザ装置からＬＡＮ２１０へリモートアクセスセッションを確立する。リモートアクセスセッションが確立された後に、ＩＧ２１１内のリモートアクセスサーバ（ＲＡＳ）８０１は装置の情報をＩＧ８１１に開示する。この時点で、ＩＧ２１１は装置の１つが仮想装置であり、これを開示しないことに気がつく。
【００４５】
ＩＧ２１１は仮想サービス２１２をＩＧ８１１に提供することをＶＤＦ２２３へ要求する。リモートアクセスクライアント（ＲＡＣ）８１５はＬＡＮ８１０内の仮想サービス２１２だけでなく他のローカル装置を広告し、ＵＰｎＰ  ＣＰにより発見される。ユーザ８１４はユーザ装置８１３内のＵＰｎＰ  ＣＰを操作し、ＵＰｎＰアクションがＩＧ８１１内のＲＡＣ８１５へ送信される。ＲＡＣ８１５は要求をＶＤＰ８１２へ転送する。ＶＤＰ８１２は図５〜図７に示されるような動作を実行する。この実施形態では、受信部３２２はリモートアクセスセッションが確立された場合にサービス情報を読み出してもよい。
【００４６】
この実施形態によれば、サービスプロバイダ２３０により提供されるネイティブサービスはＩＧ８１１から直接に呼び出され、それ故アクセス待ち時間が向上される。
【００４７】
＜第３実施形態＞
図９は本発明の第３実施形態に係る情報処理システム９００を含む例示の環境を説明する。第１実施形態に係る同様の要素は同様の参照符号が与えられる。環境はＬＡＮ２１０と、ＩＭＳ環境２２０と、別のＩＭＳ環境９１０と、サービスプロバイダ２３０と、別のサービスプロバイダ９２０と、ユーザ装置９３０とを含む。
【００４８】
ＩＭＳ環境２２０とＩＭＳ環境９１０とはそれぞれ自身のＰＮＡＳであるＰＮＡＳ２２１とＰＮＡＳ９１１とを有する。ＰＮＡＳ２２１はコンテキストマネージャ２２２とＶＤＦ２２３とを含む。ＰＮＡＳ９１１はコンテキストマネージャ９１２とＶＤＰ９１３とを含む。コンテキストマネージャ間のデータ同期は行われない。ＬＡＮ２１０は２つのＩＧである、ＩＭＳ環境２２０のためのＩＧ２１１とＩＭＳ環境９１０のためのＩＧ９０１とを含む。
【００４９】
ユーザ９４０はユーザ装置９３０を用いてＬＡＮ２１０内の仮想サービス２１２へアクセスする。仮想サービス２１２を求めるサービス要求はＶＤＰ９１３により傍受され、ＶＤＰ９１３は図５〜図７に示されるような動作を実行する。この実施形態では、サービスプロバイダ２３０により提供されるネイティブサービスはＩＭＳ環境９１０から直接に実行され、それ故アクセス待ち時間が改善される。
【００５０】
図１０はＶＤＦ２２３がＶＤＰ９１３にサービス情報を提供する例示の動作を説明する。各装置に含まれるＣＰＵが各装置のメモリに格納されたコンピュータプログラムを実行してこれらの動作を処理する。
【００５１】
ステップＳ１００１で、作成部３１１はサービスプロバイダ２３０からネイティブサービスのサービス記述を受信する。ステップＳ１００２で、作成部３１１はサービス記述に従って仮想サービス２１２を作成し、ＩＧ２１１に仮想サービス２１２を提供する。作成部３１１はまた、ＩＧ２１１に管理部３１２のコンタクト情報を提供する。コンタクト情報はＵＲＬ、ＩＰアドレス及びポート番号、または同様のものを含みうる。ステップＳ１００３で、管理部３１２はコンテキストマネージャ２２２からコンテキスト情報を読み出す。コンテキスト情報はＬＡＮ２１０内のローカル装置２１３の情報を含む。ステップＳ１００４で、ＩＧ９０１はＬＡＮ２１０に接続される。ステップＳ１００５で、ＩＧ９０１は仮想サービス２１２を発見する。ステップＳ１００６で、ＩＧ９０１は仮想サービス２１２の情報をＩＭＳ環境９１０内のコンテキストマネージャ９１２に公開する。ステップＳ１００７で、コンテキストマネージャ９１２はコンタクト情報に基づいて、仮想サービス２１２のコンテキスト情報をＶＤＦ２２３内の管理部３１２へ提供する。管理部３１２は発見された仮想サービス２１２に基づいてサービス情報を作成又は更新する。ステップＳ１００８で、管理部３１２は更新されたサービス情報を受信部３２２へプッシュする。このシナリオでは、仮想サービス２１２がＩＧ９０１により発見された場合に、ＶＤＦ２２３はＶＤＰ９１３にサービス情報を提供する。
【００５２】
仮想サービスはサードパーティにより提供されてもよい。ＩＧ２１１がＬＡＮ２１０に接続される場合に、ＩＧ２１１はサードパーティによりすでに提供されている仮想サービスを発見してもよい。別の例として、サードパーティが仮想サービスを提供する場合に、ＬＡＮ２１０に既に接続されているＩＧ２１１が仮想サービスを発見してもよい。これらの場合に、ＩＧ２１１、コンテキストマネージャ２２２及びＶＤＦ２２３は上述のステップＳ１００５〜Ｓ１００８を実行してもよい。
【００５３】
＜他の実施形態＞
上記の実施形態において、ＶＤＦ２２３はＰＮＡＳ２２１とは別のエンティティに配置されてもよい。ＶＤＦ２２３は事前に規定されたＡＰＩを通じてＰＮＡＳ２２１内のコンテキストマネージャ２２２にアクセスしてもよいし、ＶＤＦ２２３はネイティブサービスのサービス記述に完全に依存してもよい。ＶＤＦ２２３はまた、単にサービスプロバイダ２３０自体により提供されてもよい。仮想サービス２１２はＩＧ１１１以外のローカル装置により提供されてもよい。ＶＤＦ２２３は管理されていないネットワーク、例えばインターネットに含まれてもよい。ＶＤＰ２２４はまた、同一の又は別の管理されていないネットワークに含まれてもよい。
【００５４】
上記の実施形態において、ユーザ装置が仮想サービスを要求する。しかしながら、他の装置が仮想サービスを要求してもよい。例えば、図２で、サービスプロバイダ２４０がユーザ要求に備えて仮想サービス２１２を要求してもよい。
【００５５】
本発明の実施形態が例示の実施形態を参照しつつ記載されてきたが、本発明は開示された例示の実施形態に限定されないことが理解される。以下の特許請求の範囲は、すべてのこのような変形並びに均等な構造及び機能を包含するように最も広い解釈が与えられるべきである。
【図１】
0005313367.tif 000002
【図２】
0005313367.tif 000003
【図３】
0005313367.tif 000004
【図４】
0005313367.tif 000005
【図５】
0005313367.tif 000006
【図６】
0005313367.tif 000007
【図７】
0005313367.tif 000008
【図８】
0005313367.tif 000009
【図９】
0005313367.tif 000010
【図１０】
0005313367.tif 000011