(57)【特許請求の範囲】
【請求項１】
ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）とＪａｖａとをサポートするマルチメディア端末である第１の情報処理装置と第２の情報処理装置との間で行うセッション確立方法であって、
前記第１の情報処理装置が、ＪａｖａＲＭＩアプリケーションを起動し、ペイロードとして前記ＪａｖａＲＭＩアプリケーションに関係したパラメータをＸＭＬ形式で記述したＳＩＰメッセージを用いて前記第２の情報処理装置との間でＲＴＰメディアのセッションを確立する手順と、
前記第２の情報処理装置が、前記ＳＩＰメッセージに記述されたパラメータに係るＪａｖａＲＭＩアプリケーションと同等のＪａｖａＲＭＩアプリケーションを起動する手順と、
前記第１の情報処理装置と前記第２の情報処理装置とにおいて起動されたＪａｖａＲＭＩアプリケーション間で、ＲＭＩを用いたＰｅｅｒ−ｔｏ−Ｐｅｅｒの通信の確立を行う手順と、
を有することを特徴とするセッション確立方法。
【請求項２】
第１の情報処理装置が、アプリケーションを起動し、ペイロードに前記アプリケーションに関係したパラメータを記述したＳＩＰメッセージを用いて第２の情報処理装置に対してセッションの申込を行う手順と、
前記第２の情報処理装置が、前記ＳＩＰメッセージを用いて前記第１の情報処理装置に対してセッションの許可を行う手順と、
前記第２の情報処理装置が、前記ＳＩＰメッセージのペイロードに記述されたパラメータに係るアプリケーションと同等のアプリケーションを起動する手順と、
前記第１の情報処理装置と前記第２の情報処理装置とにおいて起動されているアプリケーション間でセッションの確立を行う手順と、
を有することを特徴とするセッション確立方法。
【請求項３】
前記第１の情報処理装置および／または前記第２の情報処理装置は、アプリケーションが保存されたリポジトリから、起動すべきアプリケーションをダウンロードし、当該ダウンロードしたアプリケーションを起動することを特徴とする請求項１または請求項２に記載されたセッション確立方法。
【請求項４】
前記第１の情報処理装置は起動したアプリケーションのリファレンスを第１のレジストリに登録し、前記第２の情報処理装置は起動したアプリケーションのリファレンスを第２のレジストリに登録し、互いのリファレンスを取得しあうことを特徴とする請求項１乃至請求項３のいずれか１項に記載されたセッション確立方法。
【請求項５】
前記パラメータには、前記第１のレジストリまたは前記第２のレジストリのＵＲＬが記述されていることを特徴とする請求項４に記載されたセッション確立方法。
【請求項６】
前記パラメータには、前記リポジトリのＵＲＬが記述されていることを特徴とする請求項３に記載されたセッション確立方法。
【請求項７】
前記パラメータは、ＸＭＬ形式で記述されていることを特徴とする請求項２に記載されたセッション確立方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、Ｐｅｅｒ−ｔｏ−Ｐｅｅｒアプリケーションのセッション確立方法に関する。
【０００２】
【従来の技術】
Ｊａｖａは色々なオペレーティングシステムやプラットフォーム上に広く普及しており、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ．  ＩＥＴＦ  ＲＦＣ２５４３）もＰｅｅｒ−ｔｏ−Ｐｅｅｒアプリケーションのセッション確立のためのプロトコルとして普及してきている。ＳＩＰはペイロードにＳＤＰ以外のデータを持つことも出来、分散オブジェクト間の通信の確立（セッションの確立）を行うことにも利用できる。しかし、Ｊａｖａによる分散オブジェクトを使った、インタラクティブなアプリケーションは使われていない。
【０００３】
ＲＭＩオブジェクトのアドレスであるＲＭＩ  ＵＲＬを保持するＮａｍｉｎｇＳｅｒｖｅｒが一般的に広く普及していないために、どんなＲＭＩオブジェクトがどのＰＣやサーバで利用可能か知ることが出来なかった。また、個人が所有するＰＣはパワーオフしたり、ネットワークへのケーブルをＰＣから抜くために、頻繁にネットワークとの接続が切れるので、ＰＣのような端末上でＲＭＩオブジェクトが常に処理受付状態で稼動している状況はなかなか実現しにくかった。そのため、Ｐｅｅｒ−ｔｏ−ｐｅｅｒ通信のＪａｖａアプリケーションは、これまでうまく実現できなかった。
【０００４】
【発明が解決しようとする課題】
従って本願発明は、Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ通信の色々なアプリケーションを実現させるための、ＳＩＰをＪａｖａ  ＲＭＩ分散オブジェクト間の通信の確立（セッションの確立）を行うことへ適用した、セッション確立方法を提供することを課題とする。
【０００５】
【課題を解決するための手段】
前記課題を解決するための本願発明のセッション確立方法は、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）とＪａｖａとをサポートするマルチメディア端末である第１の情報処理装置と第２の情報処理装置との間で行うセッション確立方法であって、前記第１の情報処理装置が、ＪａｖａＲＭＩアプリケーションを起動し、ペイロードとして前記ＪａｖａＲＭＩアプリケーションに関係したパラメータをＸＭＬ形式で記述したＳＩＰメッセージを用いて前記第２の情報処理装置との間でＲＴＰメディアのセッションを確立する手順と、前記第２の情報処理装置が、前記ＳＩＰメッセージに記述されたパラメータに係るＪａｖａＲＭＩアプリケーションと同等のＪａｖａＲＭＩアプリケーションを起動する手順と、前記第１の情報処理装置と前記第２の情報処理装置とにおいて起動されたＪａｖａＲＭＩアプリケーション間で、ＲＭＩを用いたＰｅｅｒ−ｔｏ−Ｐｅｅｒの通信の確立を行う手順とを有することを特徴とする。
また、前記課題を解決するための本願発明のセッション確立方法は、第１の情報処理装置が、アプリケーションを起動し、ペイロードに前記アプリケーションに関係したパラメータを記述したＳＩＰメッセージを用いて第２の情報処理装置に対してセッションの申込を行う手順と、前記第２の情報処理装置が、前記ＳＩＰメッセージを用いて前記第１の情報処理装置に対してセッションの許可を行う手順と、前記第２の情報処理装置が、前記ＳＩＰメッセージのペイロードに記述されたパラメータに係るアプリケーションと同等のアプリケーションを起動する手順と、前記第１の情報処理装置と前記第２の情報処理装置とにおいて起動されているアプリケーション間でセッションの確立を行う手順とを有することを特徴とする。
【０００６】
これにより、ＳＩＰをサポートする情報処理装置では、発呼者が任意のＲＭＩアプリケーションを自分の端末と、複数の着信者の端末上で起動し、それらの間のＰｅｅｒ−ｔｏ−Ｐｅｅｒ通信を実現できる。これによって、遠隔教育、地域コミュニティーでのだんらんやネットワークゲームなど、色々なＰｅｅｒ−ｔｏ−Ｐｅｅｒ通信サービスを展開できるようになる。
また、ＳＩＰメッセージのペイロードに、アプリケーションのパラメータを記述することにより、第１の情報処理装置と第２の情報処理装置それぞれにおけるＪａｖａオブジェクト間のＲＭＩ通信の確立に必要なパラメータを、第１の情報処理装置が第２の情報処理装置へ送ることができる。
【０００７】
また、前記課題を解決するための本願発明のセッション確立方法は、前記第１の情報処理装置および／または前記第２の情報処理装置は、アプリケーションが保存されたリポジトリから、起動すべきアプリケーションをダウンロードし、当該ダウンロードしたアプリケーションを起動することを特徴とする。
【０００８】
これにより、第１の情報処理装置と第２の情報処理装置が、該当するアプリケーションを保有していない場合にも、リポジトリからアプリケーションをダウンロードして起動を行うことができる。
【０００９】
また、前記課題を解決するための本願発明のセッション確立方法は、前記第１の情報処理装置は起動したアプリケーションのリファレンスを第１のレジストリに登録し、前記第２の情報処理装置は起動したアプリケーションのリファレンスを第２のレジストリに登録し、互いのリファレンスを取得しあうことを特徴とする。
【００１０】
第１及び第２の情報処理装置が、アプリケーションのリファレンスをレジストリに登録して、互いのリファレンスを取得しあうことにより、ローカルなオブジェクトのＪａｖａ  ＡＰＩを利用するのと同じ要領で、相手リモートオブジェクトを利用できる。
【００１３】
また、前記課題を解決するための本願発明のセッション確立方法は、前記パラメータには、前記第１のレジストリまたは前記第２のレジストリのURLが記述されていることを特徴とする。
【００１４】
パラメータにレジストリのURLが記述されていることにより、両情報処理装置が、互いのアプリケーションのリファレンスを互いに取得することが可能になる。
【００１５】
また、前記課題を解決するための本願発明のセッション確立方法は、前記パラメータには、前記リポジトリのURLが記述されていることを特徴とする。
【００１６】
パラメータにリポジトリのURLが記述されていることにより、両情報処理装置において起動すべきアプリケーションを、確実にダウンロードすることができる。
【００１７】
また、前記課題を解決するための本願発明のセッション確立方法は、前記パラメータはＸＭＬ形式で記述されていることを特徴とする。
【００１８】
パラメータをＸＭＬ形式で記述することで、アプリケーション毎に異なる仕様のパラメータに対しても、柔軟に対応して必要な内容を記述することが可能となる。
【００１９】
【実施の形態】
図１は実施の形態としての、本願発明のＳＩＰによるＪａｖａ  ＲＭＩセッション確立方法を用いたシステムの基本構成図である。ＳＩＰでは、マルチメディア通信端末１０５はＵＡＣ（Ｕｓｅｒ  Ａｇｅｎｔ  Ｃｌｉｅｎｔ）、１０６はＵＡＳ（Ｕｓｅｒ  Ａｇｅｎｔ  Ｓｅｒｖｅｒ）と呼ばれる。ＵＡＣ１０５はＵＡＳ１０６に対しＳＩＰを使ってマルチメディアセッションの確立を行う。ＳＩＰメッセージのペイロードＳＤＰ（Ｓｅｓｓｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｐｒｏｔｏｃｏｌ．  ＩＥＴＦ  ＲＦＣ２３２７）にＲＴＰ（ＲｅａｌｔｉｍｅＴｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ．  ＩＥＴＦ  ＲＦＣ１８８９）のメディア属性を記述することで、複数のマルチメディア端末間の音声やビデオ通信を確立することが出来る。
【００２０】
本実施の形態では、ＳＩＰのペイロードとしてＪａｖａ  ＲＭＩ（Ｒｅｍｏｔｅ  Ｍｅｔｈｏｄ  Ｉｎｖｏｃａｔｉｏｎ）アプリケーションに関係したパラメータをＸＭＬで記述し、複数のマルチメディア端末上で、指定されたＪａｖａ  オブジェクトのインスタンス生成と起動を行い、その間でＲＭＩを使ったＰｅｅｒ−ｔｏ−Ｐｅｅｒの通信の確立を行うことを特徴とする。ここでは、自端末から他端末上のＪａｖａオブジェクトをＲＭＩを使って利用する場合、他端末上のＪａｖａオブジェクトをリモートオブジェクトと称する。また、本発明で言及されるＪａｖａプログラムは全てＲＭＩを利用するため、以後ＲＭＩアプリケーションと称することにする。
【００２１】
図１においてＳＩＰサーバ１０２があるが、これはＳＩＰメッセージのルーティングに使われる。例えば、ＵＡＣ（１０５）がＵＡＳ（１０６）へＳＩＰメッセージを送るとき、ＳＩＰサーバ１０２を経由して送る。これは本発明には本質的な要素ではない。同様に、ＣＯＤＥＣ１１０、及び１１４はＲＴＰメディアである音声やビデオの符号化／復号化に使われるのみで、本発明において本質的な要素ではない。１０９および１１３はＪＶＭ（Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）であり、Ｊａｖａが実行可能なオペレーティングシステムやプラットフォーム上で必ず提供されているものである。
【００２２】
図１において、ＵＡＣ（１０５）のＳＩＰ呼制御機能１０７はＵＡＳ（１０６）のＳＩＰ呼制御機能１１１とＳＩＰのシグナリングメッセージを交換することで、ＵＡＣとＵＡＳ間のセッションを確立する。このときＳＩＰメッセージの中のペイロードとして、ＲＴＰメディアのセッションを確立するためにＳＤＰが運ばれ、リモートオブジェクト間のセッションを確立するためにＸＭＬで記述された関連パラメータが運ばれる。具体的には、ＵＡＣがＳＩＰでセッションを確立するとき、ＵＡＳ１０６において起動してほしいＪａｖａオブジェクト（ＲＭＩアプリケーション）名とそれに関係するパラメータをＸＭＬの形で記述し、それをＳＩＰメッセージのペイロードでＵＡＳ１０６へ送る。リポジトリ１０１に、ＪａｖａオブジェクトがＪＡＲ（Ｊａｖａ  Ａｒｃｈｉｖｅ  Ｆｉｌｅ）の形式で保存されており、ＵＡＣ（１０５）とＵＡＳ（１０６）は、ＨＴＴＰ  ＵＲＬで指定された特定のＪＡＲファイルをＨＴＴＰ（ＩＥＴＦ  ＲＦＣ２６１６）を使ってダウンロードする事が出来る。
【００２３】
ＵＡＣ（１０５）は、ＳＩＰセッション確立前に自端末において起動されたＲＭＩアプリケーション（１０８）をＲＭＩレジストリ１０３へ名前をつけて登録する。登録後、ＵＡＳ（１０６）は、ＵＡＣ（１０５）において起動されたＪａｖａオブジェクトのＲＭＩリファレンスを、そのＪａｖａオブジェクトに相当するＲＭＩ  ＵＲＬを指定することで取得できるようになる。同様に、ＵＡＳ（１０６）のＳＩＰ呼制御機能（１１１）は、ＳＩＰセッション確立途中に自端末において起動されたＪａｖａオブジェクトをＲＭＩレジストリ１０４へ名前をつけて登録する。登録後、ＵＡＣ（１０５）は、ＵＡＳ（１０６）において起動されたＲＭＩアプリケーション（１１２）のＲＭＩリファレンスを、そのＪａｖａオブジェクトに相当するＲＭＩ  ＵＲＬを指定することで取得できるようになる。
【００２４】
図２は、ＲＭＩ分散オブジェクト間のセッション確立時における本実施の形態の動作を示した図である。発呼者側マルチメディア端末（ＳＩＰ  ＵＡＣ）は、ある任意のＲＭＩアプリケーション２０１を起動する。２０１はＳＵＮ  ＭｉｃｒｏｓｙｓｔｅｍｓがＪＡＩＮとして標準化を行っているようなあるＡＰＩを使って、ＳＩＰセッション起動２０２を行う。この時、ＵＡＳ側マルチメディア端末でどのＲＭＩアプリケーションが起動されるべきか、また、ＲＭＩレジストリ１０３に登録したＲＭＩ  ＵＲＬをＳＩＰ呼制御１０７へ知らせる。
【００２５】
ＵＡＣはＩＮＶＩＴＥメッセージ（２０３）をＵＡＳへ送る。ＵＡＳは直ちに１８０  Ｒｉｎｇｉｎｇ（２０４）をＵＡＣへ返し、ＩＮＶＩＴＥのペイロードにＸＭＬで指定されたＪａｖａオブジェクトのインスタンス生成を行う（２０８）。ただし、このインスタンスが生成されても良い事をＵＡＳのユーザに事前に確認して起動許可を受ける（２０６および２０７）。この確認には、発呼者の名前としてＩＮＶＩＴＥメッセージの中のＦｒｏｍヘッダーフィールドの値を表示するとともに、ＩＮＶＩＴＥメッセージ内のＳｕｂｊｅｃｔヘッダーフィールドに示されたサブジェクト名も表示する。それらヘッダーフィールドのＩＮＶＩＴＥメッセージ例を図４に示す。図３のウインドウ（３０１）がその確認画面である。ＵＡＳ側ユーザはこのウインドウのＹｅｓボタン（３０２）を押すことで、指定されたＪａｖａオブジェクトが起動される事を許可し、このセッションを継続する。もし、許可しない場合は、Ｎｏボタン（３０３）を押す。
【００２６】
図４において、実際のＳＩＰメッセージの例を示した。ここで、ＩＮＶＩＴＥメッセージの中の４０４がＳＤＰペイロードで、４０７が本発明の特徴であるＸＭＬペイロードである。この中において、４０５でＭＩＭＥ（ＩＥＴＦ  ＲＦＣ２０４５）タイプ名である”ａｐｐｌｉｃａｔｉｏｎ／ｘ−ｊａｖａ−ｒｍｉｐａｒａｍ”が記述されている。”ｘ−“で始まるＭＩＭＥタイプ名は拡張仕様であり、ＩＡＮＡでの正式登録なしに使用することが出来る。したがって、ＭＩＭＥタイプ名に関しては、そのマルチメディア端末が解釈できる任意の名前をとる事が出来る。また、ＸＭＬでのパラメータ記述に必要なシンタックスやセマンティクスはＸＭＬでのＤＴＤ（Ｄｏｃｕｍｅｎｔ  Ｔｙｐｅ  Ｄｅｆｉｎｉｔｉｏｎ）で任意に定義することが出来る。
【００２７】
図４において、ＸＭＬ記述４０７の
＜ｊａｒｕｒｌ＞ｈｔｔｐ：／／ｘｙｚ＿ｓｃｈｏｏｌ．ｃｏ．ｊｐ／ｌｅｓｓｏｎｓ／ｕｎｉｔ２５．ｊａｒ＜／ｊａｒｕｒｌ＞と
＜ｒｍｉｕｒｌ＞ｒｍｉ：／／ｇｒｅｇ．ｘｙｚ＿ｓｃｈｏｏｌ．ｃｏ．ｊｐ／ｕｎｉｔ２５＜／ｒｍｉｕｒｌ＞の２つがＪＡＲファイルのＨＴＴＰ  ＵＲＬとＲＭＩ  ＵＲＬを示すパラメータに相当する。＜ｊａｒｕｒｌ＞，  ＜／ｊａｒｕｒｌ＞，  ＜ｒｍｉｕｒｌ＞，  ＜／ｒｍｉｕｒｌ＞等のＸＭＬタグはＤＴＤで任意に定義できる。なお図４の４０１、４０２、４０６はこのペイロードの中身に応じて変わる数字である。４０１は４０４と４０５から構成される２つのＭＩＭＥオブジェクトのトータルのバイト長で、実際には数字が入る。４０２は４０４のＳＤＰ部分のバイト長、４０４は４０７のＸＭＬ部分のバイト長がそれぞれ数字で入る。４０４のＳＤＰのＭＩＭＥオブジェクトと４０７のＸＭＬのＭＩＭＥオブジェクトは、この例では”ｂｏｕｎｄａｒｙ”という境界で区切られる。
【００２８】
ＸＭＬ記述４０７において指定されたパラメータによって、ＵＡＳはレジストリ１０１から、ＨＴＴＰ  ＵＲＬ  である”ｈｔｔｐ：／／ｘｙｚ＿ｓｃｈｏｏｌ．ｃｏ．ｊｐ／ｌｅｓｓｏｎｓ／ｕｎｉｔ２５．ｊａｒ”にあるｕｎｉｔ２５．ｊａｒという名前のファイルをＨＴＴＰでダウンロードし、それを起動する。Ｊａｖａのプログラムを起動するにはｍａｉｎ（…）というメソッド名があるＪａｖａクラスの名前を事前に知っておく必要があるが、どのＪａｖａクラスにｍａｉｎ（…）メソッドが含まれるかはＪＡＲファイル内のマニフェストに記述されているので、ＵＡＳはそれを参照する。
【００２９】
図２において、ＵＡＳにおける指定されたＲＭＩアプリケーションの起動後、図４のＩＮＶＩＴＥメッセージのＸＭＬ記述４０７内のパラメータ＜ｒｍｉｕｒｌ＞  ｒｍｉ：／／ｇｒｅｇ．ｘｙｚ＿ｓｃｈｏｏｌ．ｃｏ．ｊｐ／ｕｎｉｔ２５＜／ｒｍｉｕｒｌ＞で指定されたＲＭＩ  ＵＲＬである”ｒｍｉ：／／ｇｒｅｇ．ｘｙｚ＿ｓｃｈｏｏｌ．ｃｏ．ｊｐ／ｕｎｉｔ２５”を使って、ＵＡＣにおけるＲＭＩアプリケーションのリファレンスを取得する（２０９）。また、ここではＰｅｅｒ−ｔｏ−Ｐｅｅｒの通信アプリケーションを前提としているため、この時、逆に、ＵＡＳで起動されているＲＭＩアプリケーションをＵＡＣがＲＭＩを使って利用するケースも考えられる。
【００３０】
これは図１において、ＲＭＩアプリケーション１１２がＲＭＩレジストリ１０４へ自分自身のＲＭＩ  ＵＲＬを登録し、それをＲＭＩアプリケーション１０８へ知らせる事で、ＲＭＩアプリケーション１０８がＲＭＩアプリケーション１１２のリファレンスを取得することが可能となる。この処理はＲＭＩアプリケーションのプログラムアルゴリズム次第となる。また、これに関しては、まだＩｎｔｅｒｎｅｔ  Ｄｒａｆｔの段階であるが、ＲＦＣ２５４３の改版であるＲＦＣ２５４３−ｂｉｓ内のＳＩＰメッセージ１８３  Ｓｅｓｓｉｏｎ  Ｐｒｏｇｒｅｓｓ  を使うこともできる。ＩＮＶＩＴＥ内のＸＭＬペイロードと同様な方法で１８３  Ｓｅｓｓｉｏｎ  Ｐｒｏｇｒｅｓｓのペイロードとして上記ＲＭＩ  ＵＲＬをＵＡＳからＵＡＣへ運ぶ事ができる。
【００３１】
図２において、ＵＡＣとＵＡＳの間のＲＭＩアプリケーション間のセッション２０９の確立が成功した場合、Ｊａｖａアプリケーション（ＲＭＩアプリケーション）は２１０において、準備ＯＫであることをＵＡＳのＳＩＰ呼制御１１１へ知らせる。ＳＩＰ呼制御は２００  ＯＫ（２１１）をＵＡＣへ返し、ＵＡＣはＡＣＫ（２１２）を返す。これによって、ＲＭＩを含むマルチメディアセッションがＳＩＰによって確立される。この時、図３にあるウインドウ３０４が、ＵＡＳ側ユーザへ示され、ＲＭＩ含むマルチメディアセッションが確立したことを知らせる。
【００３２】
このセッションは、分散オブジェクト間のセッション確立だけでなく、音声やビデオなどのＲＴＰメディアのセッションも確立できる。ＳＩＰはＭＩＭＥ  Ｍｕｌｔｉｐａｒｔに対応するため、複数のＭＩＭＥ  タイプをペイロードに保持し、複数のＭＩＭＥオブジェクトを運べるからである。例として図４にＭＩＭＥＭｕｌｔｉｐａｒｔで記述されたペイロードを示す。この例で、ＳＤＰ記述４０３では、ＩＴＵ−Ｔ  Ｇ．７１１μｌａｗでの音声符号化方式によるＲＴＰメディアと、ＩＴＵ−Ｔ  Ｈ．２６１によるビデオ符号化方式によるＲＴＰメディアが指定されている。したがって、この例では、ＲＭＩアプリケーション間のＰｅｅｒ−ｔｏ−Ｐｅｅｒ通信と、音声、ビデオのＲＴＰメディアによる通信が成立している事になる。
【００３３】
以上の実施の形態を実際のアプリケーション利用に置き換えて、外国語遠隔レッスンをとりあげて図５を用いて説明する。ここでは、講師と２人の生徒のマルチメディア端末間で、遠隔英会話教育を行うためのセッションを確立する場合を述べる。
【００３４】
外国語講師であるグレッグ先生が、あるレッスンのＲＭＩアプリケーション（Ｊａｖａプログラム）を起動する。この例では、ユニット２５のレッスンを行うためのプログラムが起動される。必要なＪａｖａクラスはＪＡＲファイルとして、リポジトリ５０１からダウンロード（３０２）される。この語学学習プログラム（５０４）は、ＳＩＰを使って、生徒Ａ（太郎）及び生徒Ｂ（花子）とのセッションを確立する。
【００３５】
図５において、ＳＩＰとＪａｖａをサポートする２つのマルチメディア端末５１５，５１６が示される。５１５がＵＡＣ、５１６がＵＡＳに相当する。これらマルチメディア端末は、それぞれの顔と音声をお互いに送るため、ビデオカメラとマイクが搭載されている。また、内部には、ＳＩＰ呼制御処理、ＪＶＭ  （Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）と音声とビデオの符号化／復号化に使われるＣＯＤＥＣが装備されている。この外国語スクールで使用する教材は複数のユニット（単位）で構成されるとし、リポジトリ５０１は、それぞれのユニットをＪＡＲファイルの形で保持している。
【００３６】
英語学習プログラムのユニット２５は、ＵＡＣでは５０４，ＵＡＳでは５０５としてＪＶＭ上で稼動している。これらはＲＭＩによってお互いに通信する（５０６）。ＣＯＤＥＣにより、音声とビデオのＲＴＰメディア（５０７，５０８）が符号化／復号化される。５０９はこの英会話レッスン、ユニット２５のＪａｖａプログラムのＧＵＩである。５１０はグレッグ先生が英文テキストの一部を一時的に隠しており、５１１はクイズ形式のレッスンを行うためのものである。５１２にはグレッグ先生の顔が映し出され、５１３には生徒Ａ、５１４には生徒Ｂの顔が映し出される。
【００３７】
図１、図２で示した動作の仕組みで本実施例が実現される。また、図３のウインドウ３０１と３０４がマルチメディア端末５１６のディスプレイー上に、すなわち、ユーザへ示される。図４で示されるＩＮＶＩＴＥメッセージが、図５におけるマルチメディア端末５１５からマルチメディア端末５１６へ送出される。ＲＭＩアプリケーションはリポジトリ５０１にＪＡＲファイルで保持されている。図４のＸＭＬ記述４０７にあるように、ＨＴＴＰ  ＵＲＬである
”ｈｔｔｐ：／／ｘｙｚ＿ｓｃｈｏｏｌ．ｃｏ．ｊｐ／ｌｅｓｓｏｎｓ／ｕｎｉｔ２５．ｊａｒ”から、マルチメディア端末５１５、５１６はユニット２５のプログラムをＪＡＲファイルとしてダウンロードできる。
マルチメディア端末５１６は、図４のＸＭＬ記述４０７にあるように、ＲＭＩ  ＵＲＬである”ｒｍｉ：／／ｘｙｚ＿ｓｃｈｏｏｌ．ｃｏ．ｊｐ／ｕｎｉｔ２５”のアドレスにより、マルチメディア端末５１６のＲＭＩアプリケーション５０５は、マルチメディア端末５１５上のＲＭＩアプリケーション５０４のリファレンスを取得する。
【００３８】
実際にグレッグ先生と生徒Ａ（太郎）、生徒Ｂ（花子）が使用するユニット２５の  ＪａｖａプログラムのＧＵＩ（５０９）を図５右上に示す。このＧＵＩはグレッグ先生、生徒Ａと生徒Ｂのそれぞれのマルチメディア端末において表示される。これにおいて、ＧＵＩの中のウインドウ５１２にはグレッグ先生の顔が、ウインドウ５１３には生徒Ａ（太郎）の顔が、ウインドウ５１４には生徒Ｂ（花子）の顔が表示される。これらはマルチメディア端末に搭載されているテレビカメラでとらえられた画像をＲＴＰメディアとして送出しているものである。また、マルチメディア端末のマイクからとらえられたグレッグ先生と生徒Ａ、生徒Ｂの声も、ＲＴＰメディアとして送出される。５１０はグレッグ先生が英文テキストのある一部を隠した状態で、５１１は３択式のクイズでＢｉｌｌｙ  Ｊｏｅｌの項をどちらかの生徒がクリックした例である。
【００３９】
生徒Ａへのセッション確立と生徒Ｂへのセッション確立は同時に行える。ＳＩＰでは別の呼として扱われ、生徒ＡのＲＭＩオブジェクトと生徒ＢのＲＭＩオブジェクトは別々のＲＭＩ  ＵＲＬで識別されるからである。ただし、グレッグ先生のＲＭＩオブジェクトは他の２つのＲＭＩオブジェクトと通信していることを認識している必要がある。また、音声やビデオのＲＭＩメディアを３者で共用するためには、ＩＰマルチキャストか、もしくはグレッグ先生のマルチメディア端末５１５がＲＴＰミキサーとして機能させる事が考えられる。
【００４０】
Ｐｅｅｒ−ｔｏ−ｐｅｅｒ通信のＪａｖａアプリケーションの利点は、図５の５１０に示されるように、グレッグ先生が英文テキストの任意の場所を隠し、そのＧＵＩの同じ状態を先生と生徒Ａ、生徒Ｂが共有している点。また５１１に示されるように、クイズ形式のインタラクティブな教材も実現できるところにある。遠隔教育でありながら、一つの机を囲んで、同じ教材を使いならが、先生と複数の生徒が英会話レッスンをしている状況がオンラインで実現できる。なお、ここでは外国語遠隔レッスンの実施例を取り上げたが、ネットワークゲーム等の他の色々なアプリケーションへ応用も可能である。
【００４１】
【発明の効果】
ＳＩＰをサポートするマルチメディア端末では、発呼者が任意のＲＭＩアプリケーションを自分の端末と、複数の着信者の端末上で起動し、それらの間のＰｅｅｒ−ｔｏ−Ｐｅｅｒ通信を実現できる。これによって、遠隔教育、地域コミュニティーでの団欒やネットワークゲームなど、色々なＰｅｅｒ−ｔｏ−Ｐｅｅｒ通信サービスを展開できるようになる。
【００４２】
マルチメディア端末は相手マルチメディア端末で起動しているリモートオブジェクトのリファレンスを取得することで、ローカルなオブジェクトのＪａｖａ  ＡＰＩを利用するのと同じ要領で、相手リモートオブジェクトを利用できる。また、ＳＩＰでのセッション確立時に、ＵＡＣがＵＡＳへどのＪａｖａオブジェクトを起動するのかを指定できるのと、ＵＡＣとＵＡＳそれぞれにおけるＪａｖａオブジェクト間のＲＭＩ通信の確立に必要なパラメータをＵＡＣがＵＡＳへ送ることができる。
【００４３】
ＳＩＰメッセージのペイロードＳＤＰにＲＴＰのメディア属性を記述することで、複数のマルチメディア端末間の音声やビデオ通信を確立することが出来る。
【図面の簡単な説明】
【図１】実施の形態のシステム基本構成を示した図
【図２】ＲＭＩ分散オブジェクト間のセッション確立手順を示した図
【図３】ＲＭＩアプリケーション起動確認ウィンドウとセッション確立ウィンドウの例
【図４】ＳＩＰに含まれるＩＮＶＩＴＥメッセージの例
【図５】遠隔英会話教育を例としたシステム構成を示した図
【符号の説明】
１０１、５０１…リポジトリ
１０２…ＳＩＰサーバ
１０３、１０４…ＲＭＩレジストリ
１０５、５１５…ＵＡＣ
１０６、５１６…ＵＡＳ
１０７、１１１…ＳＩＰ呼制御
１０８、１１２…ＲＭＩアプリケーション
１０９、１１３…Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ
１１０、１１４…ＣＯＤＥＣ
２０１、２０８…ＲＭＩアプリケーション起動
２０２…ＳＩＰセッション起動
２０３…ＩＮＶＩＴＥメッセージ
２０４…１８０Ｒｉｎｇｉｎｇ
２０６…起動確認
２０７…起動許可
２０９…セッション確立
２１０、２１３…準備ＯＫ
２１１…２００ＯＫ
２１２…ＡＣＫ
３０１、３０２、３０３…起動確認ウィンドウ
３０４…セッション確立ウィンドウ
４０１、４０２、４０３、４０５、４０６…パラメータ
４０４…ＳＤＰペイロード
４０７…ＸＭＬペイロード
５０４、５０５…英語学習プログラム
５０７…音声
５０８…映像
５０９、５１０、５１１、５１２、５１３、５１４…ＧＵＩ
【図１】
0003788281.tif 000002
【図２】
0003788281.tif 000003
【図３】
0003788281.tif 000004
【図４】
0003788281.tif 000005
【図５】
0003788281.tif 000006