(57)【要約】【課題】  通信プロトコルのバージョンが異なる複数の機器を適切に接続する必要がある。【解決手段】  ネットワークを介して接続された複数の外部装置のそれぞれから、対応する通信プロトコルのバージョン情報を受信し、受信した通信プロトコルのバージョン情報に基づき、複数の外部装置のすべてが対応する通信プロトコルのバージョンのうち、いずれのバージョンでセッションを形成するかを選択し、選択されたバージョンの通信プロトコルを用いて、複数の外部装置とセッションを形成する。【選択図】  図３
2015225403.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
所定の通信プロトコルを用いて、ネットワークを介して接続された複数の外部装置とセッションを形成する形成手段と、
前記外部装置のそれぞれから、前記外部装置のそれぞれが対応する前記所定の通信プロトコルのバージョン情報を受信する受信手段と、
前記受信手段により受信した前記所定の通信プロトコルのバージョン情報に基づき、前記情報処理装置と前記複数の外部装置のすべてとが対応する前記所定の通信プロトコルのバージョンのうち、いずれのバージョンでセッションを形成するかを選択する選択手段とを有する情報処理装置。
【請求項２】
前記選択手段は、前記情報処理装置と前記複数の外部装置のすべてとが対応する前記所定の通信プロトコルのバージョンのうち、最も上位のバージョンを候補とすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記選択手段は、前記情報処理装置と前記複数の外部装置のすべてとが対応する前記所定の通信プロトコルのバージョンのうち、最も下位のバージョンを候補とすることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
セッションを形成した後、新たな外部装置からの既に形成されたセッションへの参加要求を受け付ける受け付け手段をさらに有する請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記受け付け手段が前記新たな外部装置から前記参加要求を受信した場合、前記受信手段は前記新たな外部装置が対応する前記所定の通信プロトコルのバージョン情報を受信し、
前記形成手段は、前記既に形成されたセッションで用いている前記所定の通信プロトコルのバージョンと、前記新たな外部装置が対応する前記所定の通信プロトコルのバージョンとに基づき、前記既に形成されたセッションに前記新たな外部装置を参加させるかを決定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記新たな外部装置が対応する前記所定の通信プロトコルのバージョンに、前記既に形成されたセッションで用いている前記所定の通信プロトコルのバージョンが含まれる場合、前記形成手段は前記既に形成されたセッションに前記新たな外部装置を参加させることを決定することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記新たな外部装置が対応する前記所定の通信プロトコルのバージョンに、前記既に形成されたセッションで用いている前記所定の通信プロトコルのバージョンが含まれない場合、前記形成手段は前記既に形成されたセッションに前記新たな外部装置を参加させないことを決定することを特徴とする請求項５または６に記載の情報処理装置。
【請求項８】
前記新たな外部装置が対応する前記所定の通信プロトコルのバージョンに、前記既に形成されたセッションで用いている前記所定の通信プロトコルのバージョンが含まれない場合、前記既に形成されたセッションの終了を終了するかを問い合わせる通知手段をさらに有する請求項７に記載の情報処理装置。
【請求項９】
前記情報処理装置のモードを設定する設定手段をさらに有し、
前記設定手段により、１つの外部装置のみとセッションを形成するモードが設定されている場合、前記選択手段は、前記情報処理装置と前記複数の外部装置のすべてとが対応する前記所定の通信プロトコルのバージョンのうち、最も上位のバージョンを自動的に選択することを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記情報処理装置のモードを設定する設定手段をさらに有し、
前記設定手段により、既に形成されたセッションに新たな外部装置が参加できないモードが設定されている場合、前記選択手段は、前記情報処理装置と前記複数の外部装置のすべてとが対応する前記所定の通信プロトコルのバージョンのうち、最も上位のバージョンを自動的に選択することを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１１】
前記情報処理装置のモードを設定する設定手段をさらに有し、
前記設定手段により、既に形成されたセッションに新たな外部装置が参加できるモードが設定されている場合、前記選択手段は、前記情報処理装置と前記複数の外部装置のすべてとが対応する前記所定の通信プロトコルのバージョンのうち、最も下位のバージョンを自動的に選択することを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
情報処理装置の制御方法であって、
ネットワークを介して接続された複数の外部装置のそれぞれから、前記外部装置のそれぞれが対応する所定の通信プロトコルのバージョン情報を受信する受信工程と、
前記受信工程で受信した前記所定の通信プロトコルのバージョン情報に基づき、前記情報処理装置と前記複数の外部装置のすべてとが対応する前記所定の通信プロトコルのバージョンのうち、いずれのバージョンでセッションを形成するかを選択する選択工程と、
前記選択工程で選択されたバージョンの所定の通信プロトコルを用いて、前記複数の外部装置とセッションを形成する形成工程とを有する情報処理装置の制御方法。
【請求項１３】
コンピュータを、請求項１乃至１１のいずれか１項に記載の情報処理装置の各手段として機能させるためのコンピュータが読み取り可能な情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばパーソナルコンピュータ（以下、「ＰＣ」）等の情報処理装置から、例えばプロジェクタ（以下「ＰＪ」）などの表示制御装置にデータを送信する技術に関する。
【背景技術】
【０００２】
現在、ネットワークを介してＰＣとＰＪを接続するネットワーク画面転送システムが注目されている。
【０００３】
このネットワーク画面転送システムにおいては、１台のＰＣから複数台のＰＪに対して、ＰＣの映像をすべてのＰＪに同時投影する機能や、複数台のＰＣからの映像を１台のＰＪで多画面レイアウト表示する機能等が実現されている。また、複数台のＰＣから複数台のＰＪでネットワークを構築し、各ＰＣから各ＰＪに対して様々なレイアウトで投影表示をするといった形態も可能である。
【０００４】
さて、このように複数台のＰＣと複数台のＰＪでネットワークグループを構成する場合には、各ＰＣと各ＰＪ間でお互いが通信可能な状態になっており、通信規約が統一されている必要がある。こうした課題に対して、特許文献１では、移動機、無線基地局装置、無線ネットワーク制御装置などの移動体通信システムにおける、装置間のプロトコルバージョンの設定方法について述べている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−０６４４４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１は、装置間で通信開始に先立ってに統一的なプロトコルを自動的に決定する方法であり、通信プロトコル決定後に当該プロトコルを利用するネットワークグループに装置が追加的に参加する状況を想定していない。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明にかかる情報処理装置は、所定の通信プロトコルを用いて、ネットワークを介して接続された複数の外部装置とセッションを形成する形成手段と、前記外部装置のそれぞれから、前記外部装置のそれぞれが対応する前記所定の通信プロトコルのバージョン情報を受信する受信手段と、前記受信手段により受信した前記所定の通信プロトコルのバージョン情報に基づき、前記情報処理装置と前記複数の外部装置のすべてとが対応する前記所定の通信プロトコルのバージョンのうち、いずれのバージョンでセッションを形成するかを選択する選択手段とを有する情報処理装置。
【発明の効果】
【０００８】
本発明によれば、通信プロトコルのバージョン等が異なる複数の装置であっても、柔軟にシステムを構成することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】ＰＣのハード構成図の一例である。
【図２】ＰＪのハード構成図の一例である。
【図３】ネットワーク画面転送システムの概念図の一例である。
【図４】セッション状態の概念図の一例である。
【図５】ＰＣ、ＰＪ間の通信シーケンス図の一例である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施形態を詳細に説明するが、この発明は以下の実施の形態に限定されない。また、この発明の実施の形態は発明の好ましい形態を示すものであり、発明の範囲を限定するものではない。
【００１１】
［第１の実施形態］
＜システム構成＞
図３は本実施形態におけるネットワーク画面転送システム構成の一例である。
【００１２】
図３に示すシステムでは、情報処理装置の一例であるＰＣ１００ａ及びＰＣ１００ｂと、表示制御装置の一例であるＰＪ２００ａ及びＰＪ２００ｂがＬＡＮネットワーク１５０を介して接続されている。そしてＰＣ１００ａで表示される映像をＰＪ２００ａに投影することが可能である。さらにＰＣ１００ａの映像とＰＣ１００ｂの映像とを２画面レイアウトでＰＪ２００ｂに投影するといったような、自由度の高いレイアウトでの投影表示も可能である。
【００１３】
本実施形態のＰＣは、そのディスプレイに表示中の映像をキャプチャ（ＶＲＡＭの画像を抽出）し、キャプチャ画像をＰＪが認識可能な所定のフォーマットにエンコードした後、ネットワーク上のＰＪに画像データとして送信することができる。そしてＰＣより画像データを受信したＰＪは、画像データをデコードして投影する。この動作を連続的に行うことで、ＰＣ表示中の画面と同じ画面をＰＪが投影することが可能となる。このようなシステムを本実施形態では画面転送システムと呼ぶ。
【００１４】
＜ＰＣの構成＞
以下、図１を用いてＰＣ１００ａ、ＰＣ１００ｂのハードウェア構成を説明する。
【００１５】
ＣＰＵ１０１は、各部からの入力信号及び読み込んだプログラムに従い、記録制御、通信制御、エンコード、デコードを含む各種画像処理制御など、ＰＣ１００全体の各制御を行う。
【００１６】
ＲＡＭ１０２は、データの格納を行うメインメモリである。ＲＡＭ１０２は、主に、ＣＰＵ１０１が実行するプログラムを格納、或いは展開する領域、プログラム実行中のワーク領域など、様々なデータの格納領域として使用される。
【００１７】
ＶＲＡＭ１０３は、後述する表示部１０６に表示する画像を格納するための領域として使用される。つまりＶＲＡＭに格納された画像が表示対象の画像であり、前述した画面転送システムにおけるキャプチャ対象となる。なお、ＲＡＭ１０２の速度が十分高速であれば、ＶＲＡＭ１０３は、ＲＡＭ１０２と同じであってもよい。
【００１８】
ＲＯＭ１０４は、ＣＰＵ１０１が初期化時に実行するブートプログラムが格納されている。なお、ブートプログラムでは、後述するＨＤＤ１０５に記録されているＯＳをＲＡＭ１０２に展開して起動する処理が行われる。
【００１９】
ハードディスクドライブ（以下ＨＤＤ）１０５は、アプリケーションプログラムやＯＳなどの各種プログラムとデータを格納するために使用される。本実施形態のＰＣ１００ａ、ＰＣ１００ｂには、画面転送システムを実現するためのアプリケーションプログラムがインストールされているものとする。アプリケーションプログラムを実行することにより、ＰＣ１００ａ、ＰＣ１００ｂは画面転送の制御を行うためのＧＵＩを表示することが可能となる。このＧＵＩを介して、ユーザは通信対象のＰＪ選択、投影時レイアウト設定、画面転送の開始、停止などの各種指示を行うことができる。
【００２０】
表示部１０６は、後述する表示制御部１０７より指示された画像の表示を行う。表示部１０６は例えば、液晶パネル、或いは有機ＥＬパネルである。
【００２１】
表示制御部１０７は、ＶＲＡＭ１０３に格納された画像を読み出し、これを表示部１０６に表示する処理を行う。
【００２２】
操作部１０８は、例えばキーボード、マウス、タッチパネル等によって構成され、これらを介したユーザからの入力操作はＣＰＵ１０１に送信される。
【００２３】
通信部１０９は、通信ネットワーク１５０を介して外部機器、具体的にはＰＪ２００と通信を行う。通信部１０９は、例えば１ギガビットイーサネット（登録商標）等のインタフェースによって構成されるが、その他にＨＤＢａｓｅＴなどの有線インタフェースや、無線ＬＡＮなどの無線インタフェースを用いてもよい。
【００２４】
内部バス１１０は、上述した各処理ブロック間を接続するバスである。
【００２５】
本実施形態におけるＰＣの基本的な動作としては、ＣＰＵ１０１上で動作するプログラムが、表示制御部１０７を制御し、表示部１０６が表示中の画像データをキャプチャし、通信部１０９によってＰＪ２００に送信することになる。
【００２６】
なお、図３のＰＪ２００ｂのように多画面レイアウト表示を実施させる場合には、エンコード処理の前にリサイズ処理を実施してもよい。
【００２７】
本実施形態におけるＰＣのハードウェア構成は必ずしも上記の構成に限定されない。例えば複数のハードウェアが制御部としての役割を分担し、全体として動作を実現するための手段として機能してもよい。これは後述するＰＪについても同様である。
【００２８】
＜ＰＪの構成＞
次に図２を用いてＰＪ２００の主要な構成を説明する。
【００２９】
ＣＰＵ２０１は、各部からの入力信号及び読み込んだプログラムに従い、記録制御、通信制御、各種画像処理制御など、ＰＪ２００全体の各制御を行う。
【００３０】
ＲＡＭ２０２はデータの格納を行うメインメモリである。ＲＡＭ２０２は、主に、ＣＰＵ１０１が実行するプログラムを格納、或いは展開する領域、プログラム実行中のワーク領域など、様々なデータの格納領域として使用される。
【００３１】
ＲＯＭ２０３にはＰＪ２００が動作するためのプログラムやパラメータなどのデータが予め書き込まれており、ＣＰＵ２０１はＲＯＭ２０３の内容に従って動作する。
【００３２】
ＶＲＡＭ２０４は、後述する投影部２０６で投影する画像を格納するための領域として使用される。
【００３３】
デコーダ２０５は、ＰＣ１００より受信した画像データが例えばＪＰＥＧなどの符号化方式によってエンコードされていた場合にこれをデコードする。
【００３４】
投影部２０６は、後述する投影制御部２０７により指示された画像の表示を行う。投影部２０６は具体的には、液晶パネル、レンズ、光源で構成される。
【００３５】
投影制御部２０７は、ＶＲＡＭ２０４に格納された画像を読み出し、これを投影部２０６に投影する制御を行う。
【００３６】
操作部２０８は、筐体に付随するボタンや、不図示のリモコンからのユーザ操作を受け付けるリモコン受信部等によって構成される。これらを介したユーザの入力操作は、ＣＰＵ２０１に送信される。
【００３７】
２０９は、通信部であり、通信ネットワーク１５０を介して外部機器、具体的にはＰＣ１００と通信を行う。通信部１０９は、例えば１ギガビットイーサネット（登録商標）等のインタフェースによって構成されるが、その他にＨＤＢａｓｅＴなどの有線インタフェースや、無線ＬＡＮなどの無線インタフェースを用いてもよい。
【００３８】
内部バス２１０は、上述した各処理ブロック間を接続するバスである。
【００３９】
なお、本実施形態におけるＰＪ２００の基本的な動作としては、ＰＣ１００から送信される画像データを通信部２０９を介して受信し、これを２０５のデコーダで表示可能な形式に展開した後、投影制御部２０７を制御して、投影表示することである。なお、図３のＰＪ２００ｂが表示しているような多画面レイアウト表示は、複数のＰＣより受信した映像データをデコード結果の格納先を、各ＰＣ映像の表示位置を考慮したＶＲＡＭ２０４のアドレスにすることで可能となる。
【００４０】
＜通信処理＞
以下、本実施形態の画面転送システムの具体的な動作について説明する。本実施形態の画面転送システムは、セッションという概念を用いて画面転送の通信路を確立する。ここでセッションとは、画面転送を行うことが可能なＰＣ、ＰＪの間の論理的な関係をいう。１つのセッションには複数のＰＣ及び複数のＰＪが所属することも可能である。以下、ＰＣ及びＰＪの間で画面転送の通信路を確立することを「セッション化する」「セッションを作成する」ともいう。
【００４１】
本実施形態では、異なるバージョンの通信規約（以下、通信プロトコルまた単にプロトコルと呼ぶ）を使用するＰＣやＰＪが混在した場合も、使用するプロトコルを適切に選択してセッション化を行うことが可能となる。
【００４２】
なお、以下の説明では説明を容易にするためにアプリケーションソフトなどを処理の主体のように説明する場合がある。しかし実際にはアプリケーションソフトなどのプログラムを読み込んだ各制御部が、デバイスの各部を制御することで処理を実現することは言うまでもない。
【００４３】
（１）最初のセッション化
まず、図４（ａ）で示すような、ＰＣ１００ａ、ＰＪ２００ａ、ＰＪ２００ｂをセッション化する処理について説明する。図４（ａ）の例では、ＰＣ１００ａ上では、バージョン２．００及び１．００のプロトコルに対応したＰＣアプリケーションが動作している。なお、以下の説明ではバージョンについて「上位／下位のバージョン」という表現を用いることがある。より高機能なバージョンが上位のバージョンであるが、一般的に新しいバージョンの方が高機能であるため、本実施形態ではより新しいバージョンが上位のバージョンと考えてよい。ＰＪ２００ａはバージョン２．００及び１．００のプロトコルに対応している。ＰＪ２００ｂはバージョン３．００、２．００、１．００のプロトコルに対応している。このような異なるプロトコルのバージョンに対応したＰＪとＰＣがセッション化するまでの処理について説明する。
【００４４】
なお、セッション化に成功すると、図４（ａ）に示すように、ＰＣ１００ａと、ＰＪ２００ａとの間の通信路（４０２）および、ＰＪ２００ｂとの間に、画面転送のための通信路（４０３）が確立される。さらに、ＰＪ２００ａが保持するセッション情報（４００）と、ＰＪ２００ｂが保持するセッション情報（４０１）が同一のものとなる。ここではセッション情報として、セッションに属するＰＪ数（ここでは２台）、セッションに所属する各ＰＪの情報（ここではＩＰアドレス）が共有される。
【００４５】
図５は、ＰＣ１００ａのユーザａがＰＣ１００ａを操作して、ＰＪ２００ａ、ＰＪ２００ｂとで構成されるセッションを作成するシーケンスである。
【００４６】
Ｔ５００では、ユーザａはＰＣ１００ａ上のＧＵＩを操作して、新しいセッションの作成を指示する。
【００４７】
Ｔ５０１において、ＰＣ１００ａは、セッションに所属させるＰＪを選択するためのＰＪリストを表示する。なお、このＰＪリストはネットワークを介してＰＪからブロードキャストされているＰＪ情報パケットをＰＣ１００ａが受信し、リストとして表示したものである。
【００４８】
ここでＰＪ情報パケットについて説明しておく。ＰＪ２００ａ、ＰＪ２００ｂは、それぞれＴ５０２、Ｔ５０４においてＰＪ情報パケットをネットワーク上にブロードキャストしている。このＰＪ情報パケットには、例えば送信元のＰＪのＩＰアドレスが少なくとも含まれている。ここでは説明の簡単化のためにこのタイミングでＰＪ情報パケットを送信するとしているが、セッション化される前のＰＪは一定時間毎に、このようにＰＪ情報パケットを配信している。
【００４９】
Ｔ５０３、Ｔ５０５で、ＰＣ１００ａはＰＪリストを更新する。具体的には、セッション作成時に選択可能なＰＪとして、ＰＪ２００ａ、ＰＪ２００ｂの情報がそれぞれ表示される。
【００５０】
Ｔ５０６において、ユーザａはＰＪリストからＰＪ２００ａとＰＪ２００ｂを選択し、セッション化を指示する。
【００５１】
Ｔ５０７において、ＰＣ１００ａは、ＰＪ２００ａに接続要求を送信し、ＰＪ２００ａから接続ＯＫの応答を受信した場合（Ｔ５４１）にはＰＪ２００ａとの論理的な接続を確立する。なお、ここでの通信確立はセッション化とは異なり、最低限のコマンド等の送受信が可能とするための通信を確立するのみであり、この時点ではまだ画面転送を行うことはできない。なお、接続に際しては、各ＰＪに設定されたパスワード認証が必要となる構成をとってもよい。
【００５２】
Ｔ５０８において、ＰＣ１００ａはＰＪ２００ａに対して、サポートしているプロトコルバージョンの問い合わせを行い、ＰＪ２００ａはＴ５０９でサポートしているプロトコルバージョンを返信する。本実施形態では、ＰＪ２００ａはバージョン２．００と１．００に対応している事を返信する。なお、この問い合せ及び応答のためのコマンドは、どのバージョンのプロトコルであってもサポートしているものとする。
【００５３】
同様にＰＣ１００ａはＴ５１０、Ｔ５４２でＰＪ２００ｂと通信を確立し、Ｔ５１１でロトコルバージョンを問い合わる。Ｔ５１２において、ＰＪ２００ｂはバージョン３．００、２．００、１．００に対応している事を返信する。
【００５４】
ＰＪ２００ａとＰＪ２００ｂの対応するプロトコルバージョンが異なる場合、Ｔ５１３においてＰＣ１００は、プロトコルバージョンをユーザに選択させるためのＧＵＩを表示する。図５の例の場合、共通するプロトコルバージョンであるバージョン２．００を用いるか、バージョン１．００を用いるかを選択させる。なお、ここで選択させる候補としては、共通するプロトコルバージョンすべてを候補としてもよいし、共通するプロトコルバージョンのうち最上位のバージョンと最下位のバージョンのみを候補としてもよい。
【００５５】
Ｔ５１３の後、ユーザによるプロトコルバージョンの選択後、ＰＣ１００ａは、Ｔ５１５、Ｔ５１６において、接続を確立したＰＪ２００ａとＰＪ２００ｂに対し、セッション化要求コマンドをそれぞれ送信する。なお、セッション化要求コマンドには、セッションの名称、以降の通信で使用するプロトコルバージョン、セッションを構成するＰＪ数、セッションを構成するＰＪに関する情報が含まれる。Ｔ５１５とＴ５１６で送信したセッション化要求には、これらの項目について同一の情報が格納されている。例えばＴ５１４において、例えばユーザが上位のプロトコル（バージョン２．００）を選択した場合は、Ｔ５１５、Ｔ５１６において、プロトコルバージョン２．００を使用する旨がＰＪ２００ａ、２００ｂに通知される。セッション化要求コマンドを受信したＰＪはセッション化を受け入れる旨をＰＣ１００ａに通知し（Ｔ５４３、Ｔ５４４）、自身をセッション化済の状態へと遷移させる。
【００５６】
本実施形態で述べたように、より高いプロトコルバージョンを用いる場合は、ユーザがより多くの機能を使用して画像転送を行う事が可能となる。例えば本実施形態では、プロトコルバージョン１．００は画面転送のみが可能であるのに対し、バージョン１．００はＰＣで出力対象となっている音声も併せて転送可能である。したがって、すべてのデバイスのプロトコルバージョンが同じ場合は、プロトコルバージョンをユーザに選択させるためのＧＵＩの表示を省略し、最上位のプロトコルを自動的に用いるようにしてもよい。
【００５７】
一方で、より低いプロトコルを選択した場合には、画面転送の機能は制限される事になる。その一方で、より下位のプロトコルバージョンしかサポートしていない他のＰＣやＰＪを、後からセッションに容易に参加させることが可能となる。したがって、すべてのデバイスのプロトコルバージョンが同じ場合であっても、プロトコルバージョンをユーザに選択させるためのＧＵＩを表示する形態も考えられる。先ほど述べたように、後からより下位のプロトロルバージョンにしか対応していないデバイスが後から参加してくる可能性があるからである。
【００５８】
そして、Ｔ５１７で、ＰＣ１００ａはセッション化したＰＪに対して投影制御を実施するための投射用ＧＵＩを表示する。
【００５９】
以上の処理によって、セッション化処理が完了した。つまり、ＰＪ２００ａ、ＰＪ２００ｂはそれぞれ、ＰＣ１００ａとの画面転送のための通信路が確立されている。また同一のプロトコルバージョン情報を含むセッション化要求コマンドが各ＰＪに送信されているので、以降の通信では、ＰＪ２００ａとＰＪ２００ｂ、ＰＣ１００ａは共通のプロトコルバージョン２．００で通信が可能な状態となる。
【００６０】
なお、Ｔ５１４において、ユーザが下位のプロトコルバージョンを選択した場合は、Ｔ５１５、Ｔ５１６において、下位のバージョンであるプロトコルバージョン１．００を使用してセッション化要求を送信することとなる。この場合、ＰＣ１００ａ、ＰＪ２００ａ、ＰＪ２００ｂはプロトコルバージョン１．００を使用して通信することになる。
【００６１】
（２）作成済みセッションへの参加
続いて、図４（ｂ）で示すような、ＰＣ１００ｂが、作成済みのセッション（ＰＣ１００ａが作成したＰＪ２００ａとＰＪ２００ｂで構成されるセッション）に途中参加するフローについて説明する。セッションの参加に成功すると図４（ｂ）に示すように、作成済みのセッションを構成するＰＪ２００ａ、ＰＪ２００ｂと、新たにセッションを参加したＰＣ１００ｂとの間の通信路（４０４、４０５）が確立される。なお、ＰＣ１００ｂで実行される画面転送アプリケーションは、プロトコルバージョン１．００にのみ対応したものであるものとする。
【００６２】
以下、ユーザｂがＰＣ１００ｂを操作してＰＪ２００ａとＰＪ２００ｂで構成される作成済みのセッションに参加する通信シーケンスについて、図５のＴ５１８以降を用いて説明する。
【００６３】
Ｔ５１８において、ユーザｂはＰＣ１００ｂ上のアプリケーションを操作して、セッションへの参加を指示する。
【００６４】
Ｔ５１９において、ＰＣ１００ｂは、参加可能なセッションを選択するためのセッションリストを表示する。このセッションリストは、既にセッション化されたＰＪからネットワークを介してブロードキャストされるセッション情報パケットを元に構成される。
【００６５】
本実施形態においては、前述のセッション作成時のフローで説明したように、ＰＪ２００ａとＰＪ２００ｂが同一セッションに属するＰＪとしてセッション化されているので、各ＰＪは、Ｔ５２０、Ｔ５２２でセッション情報パケットをブロードキャストしている。なお、セッション情報パケットは前述のＴ５１５、Ｔ５１６でセッションを作成するＰＣから送信されたセッション要求コマンドを元に構成されており、セッションの名称、セッションを構成するＰＪ数および、セッションを構成するＰＪに関するが情報など含まれている。また、ここでは説明の簡単化のためにこのタイミングでセッション情報パケットを送信するとしているが、セッション化された後のＰＪは、一定時間毎に、このようにセッション情報パケットを配信している。
【００６６】
Ｔ５２１、Ｔ５２３において、ＰＣ１００ｂは、セッション情報パケットを受信しているので、セッションリストを更新する。具体的には、参加可能なセッションとして、ユーザａが作成したセッションに関する情報（例えばセッション名）が表示される。なお、Ｔ５２０、Ｔ５２２でＰＪが送信するセッション情報パケットは、同一のセッションであり、かつセッションに属しているＰＪ情報は一致している。本実施形態のＰＣ１００ｂはセッションの重複表示を行わないように制御するため、ユーザから見るとＴ５２３の時点ではセッション一覧の表示に変化は生じない。
【００６７】
Ｔ５２４において、ＰＣ１００ｂはＰＪ２００ｂに対してセッションの詳細情報の取得要求を送信する。なお、Ｔ５２４、Ｔ５２５、Ｔ５２８〜Ｔ５３０での通信は、いずれのプロトコルバージョンでもサポートされる最低限のコマンド等で行う。
【００６８】
Ｔ５２５で、ＰＪ２００ｂはセッションの詳細情報をＰＣ１００ｂに返信する。セッションの詳細情報を受信したＰＣ１００ｂは、Ｔ５２６でセッション情報を更新する。なお、本実施形態ではセッションの詳細情報をＰＪ２００ｂに問い合わせるとしたが、前述した通り、同一セッションに参加しているＰＪは全て同じ情報を保有しているため、ＰＪ２００ａに情報を問い合わせても良い。
【００６９】
Ｔ５２７において、ユーザｂはアプリケーションのセッションリストから参加対象のセッション（ここでは、ＰＣ１００ａ、ＰＪ２００ａ、ＰＪ２００ｂが属するセッション）を選択してセッションへの参加を指示する。
【００７０】
Ｔ５２８で、ＰＣ１００ｂはＰＪ２００ａに接続要求（参加要求）を送信する。Ｔ５２８で送信される接続要求のパケットには、ＰＣ１００ｂの情報とＰＣ１００ｂが対応しているプロトコルバージョンの情報（本実施形態ではバージョン１．００のみ対応）が含まれている。
【００７１】
Ｔ５２９で、ＰＪ２００ａはＰＣ１００ｂが現在のセッションで使用しているプロトコルバージョンに対応しているかを判断し、現在のセッションに参加させるか否かを決定する。例えばＴ５１４でバージョン２．００が選択されていた場合、ＰＣ１００ｂはプロトコルバージョンに対応していないと判断される。この場合、ＰＪ２００ａはＰＣ１００ｂに接続不可の応答を返し、接続を拒否する。
【００７２】
以上の処理が、上位プロトコルバージョンでセッション化している場合に下位バージョンのみに対応する機器が途中参加を要求したケースである。上述の例では、ＰＣ１００ｂは必ずしもＰＣ１００ａ、ＰＪ２００ａ、ＰＪ２００ｂと通信できないわけではなく、バージョン１．００でセッション化すれば通信可能である。そこでＴ５２９以降は、下位バージョン対応のＰＣ１００ｂからの接続要求に応じて、下位バージョンでの再セッション化を促す処理を行う。
【００７３】
Ｔ５２９で接続不可の返信を返したＰＪ２００ｂは、Ｔ５３０で下位のプロトコルバージョンのＰＣから接続要求があった事をＰＣ１００ａに通知する。
【００７４】
Ｔ５３０でＰＪ２００ａから通知を受信したＰＣ１００ａは、Ｔ５３１でユーザに下位のプロトコルバージョンによる接続があったことを通知する。その後、Ｔ５３２において、セッションを作り直すか否かを選択させるＧＵＩを表示する。
【００７５】
このように構成することによって、ＰＣ１００ａを操作するユーザが、セッションに参加できない下位のプロトコルバージョンのアプリを使用している他のユーザを認識できる。Ｔ５３３においてユーザからセッションを作り直す指示を受け付けた場合、ＰＣ１００ａはＴ５３４、Ｔ５３５において、ＰＪ２００ａ及びＰＣ１００ｂに対してセッションを解散する旨を通知する。この通知によりセッションは終了し、ＰＣ１００ａは処理をＴ５０１から実行することになる。
【００７６】
以上説明したように、セッション作成時に、プロトコルのバージョンをユーザに選択させることによって、より多くの機能を使用して画面転送を行うか、より下位のＰＣやＰＪが参加可能とするかを、ユーザ自身に選択させることが可能となる。
【００７７】
また、ユーザに下位のプロトコルバージョンから接続があったことを通知し、セッションを作り直すか否かを選択させるＧＵＩを表示することによって、より多くの参加者が参加できるセッションを作成することが可能となる。
【００７８】
本発明を用いた場合、様々なプロトコルバージョンが混在する環境で画面転送を行った場合に、ユーザに可能な限りより多くの機能を提供する事や、多くのユーザが参加可能なセッションを作成することが可能となる。
【００７９】
なお、本実施形態ではセッションに途中から任意のＰＣが参加可能と説明したが、途中から他のＰＣが参加できないセッションも作成可能である。これはセッション化の際もしくはセッション化後にユーザ設定などにより設定することができる。また、特定の動作モード、例えば１対１通信専用のモードなどがある場合は、途中から他のＰＣが参加できないセッションが形成されることとなる。
【００８０】
他のＰＣが参加できないセッションを作成した場合は、Ｔ５１３において表示していたプロトコルバージョンの選択ＧＵＩを表示する処理を省略し、ＰＣ１００ａで実行されているアプリケーションが、自動的に最上位のバージョンを選択する。このよう構成することによって、ユーザが自動的により上位のプロトコルバージョンを使用することが可能となるため、ユーザにより多くの機能を提供できる可能性が高くなる。
【００８１】
一方で、アプリケーションが自動的に最下位のバージョンを選択するように構成しても良い。このように構成することで、ユーザに煩雑なプロトコルバージョンの選択をさせずに済み、かつ、より多くのプロトコルバージョンの他ＰＣが参加可能なセッションを自動的に作成することが可能となる。
【００８２】
例えばユーザ設定などにより他のＰＣの途中参加が可能な設定となっている場合や、ミーティング用のモードなど、複数のＰＣまたはＰＪが参加可能であり、かつ途中参加が可能な動作モードの場合には、上述のように自動的に下位バージョンを選択するようにしてもよい。
【００８３】
［他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015225403.tif 000003
【図２】
2015225403.tif 000004
【図３】
2015225403.tif 000005
【図４】
2015225403.tif 000006
【図５】
2015225403.tif 000007