以下に本発明の実施形態について、図面を参照して説明する。図1は、本発明のマルチメディア通信システムの一実施形態を説明するための図である。本実施形態では、本発明をマルチメディアコンテント転送システム1に適用している。図2は、本実施形態のマルチメディアコンテント転送システムを説明するための図である。図1及び図2に示すように、マルチメディアコンテント転送システム1(マルチメディア通信システム)は、後述するXMPP(eXtensible Messaging and Presence Protocol)を利用して構築されたマルチメディア通信システムであり、XMPPサーバ3(通信サーバ)と、複数のXMPPクライアント装置2(クライアント装置)と、を備える。図1及び図2では、各XMPPクライアント装置2は、インターネット機能付きテレビジョン2aや携帯端末2bとなっている。
ここで、XMPPとは、IETF(Internet Engineering Task Force)のXMPPワーキンググループから独立したXSF(XMPP Standards Foundation)により規格・標準化が進められているXML(eXtensible Markup Language)ベースのプロトコル(通信規約)である。XMPPは、インスタントメッセージ、プレゼンス(「相手が今どういう状態にあるのか」)、多人数チャット、音声またはテレビ電話、協調作業、コンテンツ・シンジケーション、XMLデータの一般化ルーティングなどを含む広範囲のアプリケーションを動的に制御し、インターネットなどの通信システムにおいてリアルタイムなコミュニケーションを行うために、それぞれの目的に応じて規格化された複数の拡張プロトコル(XEP:XMPP Extension Protocol)からなっている。
マルチメディアコンテント転送システム1は、このXMPPに規定されているプロトコル(通信規約)を利用して、各XMPPクライアント装置2間に、マルチメディアコンテントが転送される直通のコンテント転送経路5を開設する。
ここで、マルチメディアコンテント転送システム1を理解する上で重要なXMPPのプロトコルであるXEP−0166(Jingle)について説明しておく。XEP−0166(Jingle)は、2つの通信可能な端末装置の間にデータを送受信する通信経路を確立する機能を規定したプロトコル(通信規約)である。
このXEP−0166(Jingle)では、Webシステムにおけるhttpのようなトランスポートに関する方法を規定している。しかしながら、転送されるコンテントの表示属性に関する方法は規定していない。すなわち、htmlやCSSなどで記述された表示属性で、転送したコンテントを柔軟にプレゼンテーションするための表示に関する方法は規定していない。また、XEP−0166(Jingle)では、任意の数のコンテントを転送できる通信経路を確立するように規定されている。しかしながら、動的に増減する複数のコンテントを、各端末装置にて、適切且つリアルタイムに表示させる汎用的な方法を規定していない。
マルチメディアコンテント転送システム1は、コンテントを転送するためのトランスポートに関する方法としてXEP−0166(Jingle)を利用し、転送するコンテントのプレゼンテーションに関する方法としてhtml(Hyper Text Markup Language)やカスケーディングスタイルシート(CSS:Cascading Style Sheets)などを利用する。これらによって、マルチメディアコンテント転送システム1は、XMPPクライアント装置2の間にコンテント転送経路5を動的に開設するとともに、このコンテント転送経路5を介して転送されるマルチメディアコンテントを柔軟にプレゼンテーションするための汎用的な通信手段を提供する。以下では、この通信手段を、MC−Jingle(Multimedia-Contents Jingle)と呼ぶ。MC−Jingleでは、クライアント装置の表示機能の規格がそれぞれ異なっていたとしても、それらの間で転送される任意の数のマルチメディアコンテントを統合的に扱うことができる。
また、マルチメディアコンテント転送システム1では、XMPPクライアント装置2が、任意のタイミングで、ネットワーク4を介してXMPPサーバ3と接続される。図1及び図2では、インターネット機能付きテレビジョン2aは任意のタイミングで、第1ネットワーク41を介してXMPPサーバ3に接続される。携帯端末2bも、同様に、任意のタイミングで、第2ネットワーク42を介してXMPPサーバ3に接続される。これらのXMPPクライアント装置2は、ネットワーク4及びXMPPサーバ3を経由して、XMPPサーバ3に接続されている他のXMPPクライアント装置2や他のサーバと通信を行うことができる。
また、これらのXMPPクライアント装置2には、XMPPサーバ3から、XMPPに規定された応用プロトコル(通信規約)に準拠する通信機能が提供される。XMPPサーバ3から提供されるこの通信機能によって、携帯端末2bとインターネット機能付きテレビジョン2aとの間には、後述するように、マルチメディアコンテントが直接に転送される直通の通信経路であるコンテント転送経路5が開設される。そして、開設されたコンテント転送経路5を介して転送されるマルチメディアコンテントは、対応するhtml表示属性情報に基づいて表示される。
次に、インターネット機能付きテレビジョン2aと携帯端末2bとの間に開設されるコンテント転送経路5について説明する。コンテント転送経路5では、後述するように、インターネット機能付きテレビジョン2aや携帯端末2bの表示部23の各表示要素に対応するコンテントが転送される。また、コンテント転送経路5は、1又は複数の転送回線から構成される。
コンテント転送経路5を構成する転送回線としては、たとえば、図1及び図2に示すようなビデオコンテント転送回線、イメージコンテント転送回線、テキストコンテント転送回線、オーディオコンテント転送回線などを挙げることができる。ビデオコンテント転送回線は、各クライアント装置の間でビデオコンテントをどちらか一方向に転送することができる。また、イメージコンテント転送回線では、各クライアント装置の間でテキストコンテントをどちらか一方向に転送することができる。また、テキストコンテント転送回線は、各クライアント装置の間でテキストコンテントを双方向に転送することができる。なお、これに限定されず、どちらか一方向に転送するものであってもよい。また、オーディオコンテント転送回線では、各クライアント装置の間でオーディオコンテントを双方向に転送することができる。なお、これに限定されず、どちらか一方向に転送するものであってもよい。
なお、コンテント転送経路5は、図1や図2に示す構成に限定されない。後述するように、複数の転送回線を任意に組み合わせて構成することができる。さらに、転送回線の追加や、各転送回線の接続の切断も動的に行うことができる。また、各転送回線を介して転送されるコンテントは、その識別子であるコンテントIDにより管理される。
また、各XMPPクライアント装置2は、コンテントを表示するためのhtml表示要素情報からなる構造化表示情報を有している。この構造化表示情報を構成する各html表示要素情報の構造は特に限定しない。図2に示すように並列的な構造を持つものであってもよいし、木構造であってもよい。各html表示要素情報には、表示するコンテントを格納するとともに、そのコンテントをどのように表示するかを示すhtml表示属性情報が記述されている。また、各html表示要素情報は、その識別子である表示要素IDにより管理されている。
マルチメディアコンテント転送システム1では、コンテント転送経路5を開設するとき、各転送回線に対して、転送されるコンテントのコンテントIDと、そのコンテントが格納されるhtml表示要素情報の表示要素IDとを対応付ける。そのため、コンテント転送経路5を介して転送されるコンテントと、表示画面上の表示要素と対応付けることができる。
また、マルチメディアコンテント転送システム1では、コンテント転送経路5を開設するとき、各転送回線に対して、転送されるコンテントのコンテントIDに対応する表示要素IDのhtml表示要素情報に、転送されるコンテントのhtml表示属性情報が上書きして記述される。そのため、転送されるコンテントは、対応するhtml表示属性情報が示す表示属性で表示される。
このhtml表示属性情報は、たとえば、コンテントがXMPPクライアント装置2の表示部23で表示される位置を示す表示位置情報と、コンテントが表示部23の表示画面上で表示されるサイズを示す表示サイズ情報と、を有する。なお、これに限定されず、html表示属性情報は、htmlを利用した描画機構にて指定できる表示属性であればよい。たとえば、表示画面上での表示位置や表示画面上でのテキストの表示領域のサイズのほか、表示するテキストの書式(文字の大きさや色、フォント、文字の修飾(太字、イタリック、影付きなど)、文字間隔など)などを設定することができる。また、オーディオコンテントであれば、表示位置や表示サイズのほか、クロックレートなどを設定することができる。
ここで、コンテント転送経路5及びこれを構成する各転送回線は論理的な通信経路である。論理的な通信経路とは、物理的に見た通信回線が有する論理的に見た仮想の通信回線(論理回線)である。たとえば、物理的には通信回線が1本であっても、複数の論理回線を設定することができる。各論理回線では異なったデータ通信を行うことができる。従って、各XMPPクライアント装置2の間にデータが直接に転送される直通のコンテント転送経路5を開設するとき、XMPPサーバ3とXMPPクライアント装置2とを接続するネットワーク4とは別の物理的な通信回線を設ける必要がない。すなわち、ネットワーク4が通じている物理的な通信回線を利用して、コンテント転送経路5を開設することができる。
また、コンテント転送経路5及び各転送回線には、暗号化された回線を利用できる。暗号化された回線を利用することにより、コンテント転送経路5を介して転送されるデータは、暗号化で厳重に保護・管理することができるので、安全且つ確実にデータを転送する事ができるとともに、データのセキュリティ性をより向上させることができる。なお、コンテント転送経路5を介して転送されるデータが、暗号化されていてもよい。データの暗号化には、例えば、SSLなどが利用できる。
また、コンテント転送経路5及び各転送回線には、VPN(Virtual Private Network)を利用した通信経路(VPN回線)を利用してもよい。VPN回線を利用することにより、一般に共用されている通信網を利用して、セキュリティ性の高い論理回線を開設することができる。
次に、本実施形態のマルチメディアコンテント転送システム1におけるXMPPクライアント装置2の構成について説明する。マルチメディアコンテント転送システム1が備えるXMPPクライアント装置2は、共通するhtml描画機構を有している。図3は、本実施形態におけるXMPPクライアント装置の構成図である。図3に示すように、XMPPクライアント装置2は、通信部21と、制御部22と、表示部23と、記憶部24と、入力部25とを備えている。
通信部21は、任意のタイミングで、XMPPサーバ3にネットワーク4を介して接続される。通信部21は、接続されたXMPPサーバ3や他のXMPPクライアント装置2に対して、XMPPに規定された応用プロトコル(通信規約)に準拠する通信を行うことができる。また、通信部21と他のXMPPクライアント装置2との間には、マルチメディアコンテントが転送される直通のコンテント転送経路5が開設される。また、このとき、通信部21は、開設されたコンテント転送経路5を介したコンテント転送の通信インターフェースとして機能する。
表示部23は、構造化表示情報に基づいて、html表示要素情報に格納されたコンテントを表示する。入力部25は、ユーザによって操作入力され、XMPPクライアント装置2に与えられる様々な指示を受け付ける。記憶部24は、html表示要素情報や、格納された各コンテントを記憶する。また、通信部21が送受信する様々なデータや、ユーザの入力操作によって入力部25に入力されるデータなども記憶する。
制御部22は、通信部21、表示部23、入力部25、及び記憶部24を制御している。また、制御部22は、html表示要素制御部222と、XMPPクライアント制御部221と、表示仕様制御部223と、を有している。
html表示要素制御部222は、表示部23の表示画面上の表示要素(コンテント)に関する制御を行う。たとえば、コンテント転送経路5を開設する際に、コンテント転送経路5の識別子である転送経路IDと、html表示要素情報の識別子である表示要素ID、及びコンテントがどのように表示されるかを示すhtml表示属性情報を有するhtml表示仕様情報7を作成する。また、通信部21からコンテント転送経路5を介して他のクライアント装置にコンテントを転送する。
また、html表示要素制御部222は、通信部21が他のクライアント装置からコンテント転送経路5を介して転送されるコンテントを受け取ったとき、そのコンテントのコンテントIDに対応する表示要素IDによってhtml表示要素情報を特定する。さらに、html表示要素制御部222は、受け取ったコンテントをそのhtml表示要素情報に格納するとともに、受け取ったコンテントのhtml表示属性情報をそのhtml表示要素情報に上書きして記述する。
また、XMPPクライアント制御部221は、任意のタイミングで、ネットワーク4を介して通信部21をXMPPサーバ3に接続し、ネットワーク4を通じてXMPPサーバ3と通信を行う公開セッションを開設する。なお、このタイミングは、特に限定しない。例えば、XMPPクライアント制御部221は、入力部25がユーザからXMPPサーバ3との接続を指示する旨の操作入力を受け付けたとき、ネットワーク4を介してXMPPサーバ3に接続されてもよい。
また、XMPPクライアント制御部221は、ネットワーク4を介して、XMPPサーバ3からXMPPに規定された通信規約に準拠する通信機能の提供を受けことによって、XMPPに規定された様々な応用プロトコル(通信規約)を利用することができる。XMPPクライアント制御部221は、コンテント転送経路5を開設するための転送経路設定情報m1を作成し、通信部21からネットワーク4及びXMPPサーバ3を介して他のXMPPクライアント装置2に、転送経路設定情報m1を送信する。そして、XMPPクライアント制御部221は、XMPPサーバ3から提供される通信機能により、転送経路設定情報m1に基づいて、通信部21と他のXMPPクライアント装置2との間にコンテント転送経路5を開設する。
ここで、転送経路設定情報m1は、XMPPに規定された通信規約であるXEP−0166(Jingle)を利用して作成される。また、転送経路設定情報m1については、後述する。
表示仕様制御部223は、表示部23の表示画面231上の表示要素(コンテント)の表示仕様(どのように表示するか)に関する制御を行う。たとえば、表示仕様制御部223は、html表示要素情報に格納されたコンテントを、html表示要素情報に記述されたhtml表示属性情報に基づいて表示部23に表示する。
このXMPPクライアント装置2としては、たとえば、インターネット機能付きテレビジョン、携帯電話機やPDAといった携帯型情報端末装置、パーソナルコンピュータなどを挙げることができるが、これらに限定するものではない。
ここで、コンテント転送経路5を開設するための転送経路設定情報m1について、説明する。転送経路設定情報m1は、第1XMPPクライアント装置2aが、コンテント転送経路5の開設を第2XMPPクライアント装置2bに提案するための情報である。
図4は、本実施形態における転送経路設定情報の一例である。図4に示す転送経路設定情報m1には、<iq>タグに、送信元である第1XMPPクライアント装置2aの識別子であるJID(Jabber ID)、転送経路設定情報m1の識別子("12345")、送信先である第2XMPPクライアント装置2bのJID、転送経路設定情報m1のtype属性("set")が記述されている。
また、<mc-jingle>タグに、転送経路設定情報m1の内容の種類を示すaction属性("session-initiate")、コンテント転送経路5の開設を提案するXMPPクライアント装置2であるイニシエータのJID、転送経路設定情報m1にて開設を提案するコンテント転送経路5を識別するための転送経路ID("98765")、ストリーム仕様情報6、及びhtml表示仕様情報7が記述されている。なお、転送経路IDに換えて、このコンテント転送経路5を通じて行われるセッションを識別するためのセッションID(sid:session id)が記述されていてもよい。
<mc-jingle>タグ内のストリーム仕様情報6には、コンテント転送経路5を構成する各転送回線のストリーム属性を示すストリーム属性情報60a〜60dが記述されている。ストリーム属性情報60a〜60dには、それぞれ、対応するそれぞれの転送回線毎に、転送されるコンテントの作成者を示す情報、そのコンテントの種類、そのコンテントのコンテントID、転送されるコンテントのアプリケーションの種類、接続する第2XMPPクライアント装置2bのトランスポートのパラメータ(たとえば、ipアドレスなど)が記述される。
また、<mc-jingle>タグ内のhtml表示仕様情報7には、転送経路ID("98765")(又は、セッションID)、及び転送される各コンテントのhtml表示属性情報70a〜70dが記述されている。html表示属性情報70a〜70dには、それぞれ、対応するそれぞれのコンテント毎に、転送されるコンテントが格納されるhtml表示要素情報の識別子である表示要素ID、そのコンテントの種類、そのコンテントの表示属性(表示位置情報、表示サイズ情報など)がhtmlを用いて記述されている。
このように、転送経路設定情報m1は、転送経路IDと、コンテントIDを有するストリーム仕様情報6と、html表示仕様情報7とを有している。さらに、転送経路設定情報m1では、コンテントIDと表示要素IDとが対応付けられている。
また、本実施形態では、html表示属性情報70a〜70dは、それぞれコンテントが表示部23の表示画面231上で表示される位置を示す表示位置情報と、コンテントが表示画面231上で表示されるサイズを示す表示サイズ情報と、を有している。なお、表示サイズ情報は、コンテントの表示サイズとして、表示画面231の解像度に対する相対的な表示サイズを示すものとしてもよい。
このようにすることによって、送信側のXMPPクライアント装置2のユーザは、表示属性として指定した表示位置及び表示サイズで、転送したコンテントを、受信側のXMPPクライアント装置2の表示部23に表示させることができる。また、送信側のXMPPクライアント装置2と受信側のXMPPクライアント装置2とで、表示部23の表示解像度が異なっている場合であっても、送信側のユーザが指定する表示属性で、受信側のXMPPクライアント装置2の表示部23に、コンテントを適切な表示構造で表示することができる。たとえば、送信側と受信側とで表示部23の表示解像度が異なっている場合であっても、コンテントの表示サイズが大きすぎたり小さすぎたりすることがなく、また、いわゆる「画面切れ」して表示されるおそれがない。そのため、各XMPPクライアント装置2のユーザは、表示部23の表示画面231から得られる視覚的な情報を積極的に活用することができる。
また、本実施形態では、html表示属性情報70a〜70d、html表示要素情報は、htmlファイルである。ここで、htmlファイルとは、XMPPに準拠した通信に適合するhtml(Hyper Text Markup Language)にて表現し得る形式のデータである。このようにすることによって、html表示属性情報70a〜70d、及びhtml表示要素情報を、Webブラウザで利用されているhtml形式での記述で表現することができる。すなわち、これらの情報とhtmlの表示要素とを対応付けることができるので、XMPPによるメッセージングとWebやhtmlとを結びつけることができる。
また、html表示仕様情報7は、htmlで記述されたカスケーディングスタイルシート(CSS:Cascading Style Sheets)であってもよい。カスケーディングスタイルシートを利用することにより、送信側のXMPPクライアント装置2のユーザは、転送するコンテントの表示属性を、htmlで表現可能な表示属性を指定することができる。従って、発信側のXMPPクライアント装置2のユーザは、転送するコンテントの表示属性を、より簡便且つ明確に指定することができる。
なお、図4では、対応するコンテントIDと表示要素IDとが同じとなっているが、これに限定されない。コンテントのコンテントIDと、そのコンテントを格納するhtml表示要素情報の表示要素IDとが明確に対応付けられていれば、両者が異なっていてもよい。たとえば、各XMPPクライアント装置2が、コンテントIDと表示要素IDとの対応関係を示すデータ(対応表など)を有していてもよい。
次に、本実施形態のマルチメディアコンテント転送システム1の具体的な動作について説明する。図5は、本実施形態において、XMPPクライアント装置間でコンテント転送経路を開設するための初期設定を行う手順を説明するための動作図である。
先ず、任意のタイミングで、第1XMPPクライアント装置2aが、第1ネットワーク41を介して、クラウド31にあるXMPPサーバ3に接続される。(ステップS101)こうして、第1XMPPクライアント装置2aとXMPPサーバ3との間に、XMPPに準拠した通信が可能な第1セッションが確立される。
次に、任意のタイミングで、第2XMPPクライアント装置2bが、第2ネットワーク42を介して、クラウド31にあるXMPPサーバ3に接続される。(ステップS102)こうして、第2XMPPクライアント装置2bとXMPPサーバ3との間に、XMPPに準拠した通信が可能な第2セッションが確立される。
XMPPサーバ3が、第1セッションを通じて第1XMPPクライアント装置2aにプレゼンスリストを送信する。(ステップS103)また、XMPPサーバ3は、第2セッションを通じて第2XMPPクライアント装置2bにプレゼンスリストを送信する。なお、両者に送信されるプレゼンスリストは、XMPPサーバ3に接続されているXMPPクライアント装置2(第1XMPPクライアント装置2a、第2XMPPクライアント装置2bを含む)の一覧を示すとともに、それらのXMPPクライアント装置2の現在の状態を示すプレゼンス情報を有している。このプレゼンス情報には、各XMPPクライアント装置2の現在の通信状態(たとえば、通信できる状態であるか否かなど)やアドレスなどの情報が含まれる。
ここで、第1XMPPクライアント装置2a、第2XMPPクライアント装置2bは、このプレゼンスリストを受信することにより、第1ネットワーク41、XMPPサーバ3、第2ネットワーク42を経由して、互いに通信可能となったことを認識する。なお、以下では、第1XMPPクライアント装置2aと、第2XMPPクライアント装置2bとが、第1ネットワーク41及び第2ネットワーク42を有するネットワーク4、XMPPサーバ3、を経由して通信する通信経路を公開データ回線と呼ぶ。
第1XMPPクライアント装置2aのhtml表示要素制御部222aは、コンテント転送経路5の識別子である転送経路IDと、転送されるコンテントが格納されるhtml表示要素情報の識別子である表示要素ID、及びそのコンテントがどのように表示されるかを示すhtml表示属性情報70を有するhtml表示仕様情報7を作成する。(ステップS104)
そして、作成されたhtml表示仕様情報7が、第1XMPPクライアント装置2aのhtml表示要素制御部222aからXMPPクライアント制御部221aに通知される。(ステップS105)
第1XMPPクライアント装置2aのXMPPクライアント制御部221aは、第2XMPPクライアント装置2bとの間に開設するコンテント転送経路5のストリーム属性を設定するためのストリーム仕様情報6を作成する。(ステップS106)このストリーム仕様情報6には、転送される各コンテントの識別子であるコンテントIDが含まれる。さらに、第1XMPPクライアント装置2aのXMPPクライアント制御部221aは、図4に示すような転送経路設定情報m1を作成する。この転送経路設定情報m1は、転送経路IDと、転送される各コンテントIDを含むストリーム仕様情報6と、html表示要素制御部222aが作成したhtml表示仕様情報7と、を有する。この転送経路設定情報m1では、転送するコンテント毎に、コンテントIDと表示要素IDとが対応付けられている。
次に、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bとの間で、必要に応じて、マルチメディアコンテントが直接に転送される直通のコンテント転送経路5を開設するための設定が開始される。なお、このコンテント転送経路5の設定及び開設は、XMPPの応用プロトコルであるXEP−0166(Jingle)に規定された手順と同様の手順で行うことができる。ここで、第1XMPPクライアント装置2aは、コンテント転送経路5の開設を提案する側、すなわち、MC−Jingleのイニシエータとなる。また、第2XMPPクライアント装置2bは、コンテント転送経路5の開設の提案に対して同意又は拒否する側、すなわち、MC−Jingleのレスポンダとなる。
第1XMPPクライアント装置2aのXMPPクライアント制御部221aは、XMPPの通信規約であるXEP−0166(Jingle)を利用して、公開データ回線を介して第2XMPPクライアント装置2bに、転送経路設定情報m1を送信する。(ステップS107)この転送経路設定情報m1は、コンテントのコンテントIDと、転送されたコンテントが格納される表示要素情報の表示要素IDと、コンテントの表示属性を示す表示属性情報70とを有している。また、転送経路設定情報m1では、コンテントIDと表示要素IDとが対応付けられている。なお、転送経路設定情報m1が送信されるタイミングは特に限定しない。この転送経路設定情報m1は、動的に送信される。
第2XMPPクライアント装置2bのXMPPクライアント制御部221bは、その提案を確認したことを示す提案確認情報m2を、公開データ回線を介して第1XMPPクライアント装置2aに送信する。(ステップS108)
図6は、本実施形態における提案確認情報の一例である。図6では、提案確認情報m2は、<iq>タグに、送信元である第2XMPPクライアント装置2bのJID(Jabber ID)、第2XMPPクライアント装置2bが確認した転送経路設定情報m1の識別子("12345")、送信先である第1XMPPクライアント装置2aのJID、提案確認情報m2のtype属性("result")が記述されている。
そして、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bとの間で、公開データ回線を介して、コンテント転送経路5を開設するための設定内容についての交渉(ストリーム仕様ネゴシエーション)が行われる。(ステップS109及びS110)このストリーム仕様ネゴシエーションにより、たとえば、両者の間での通信可能なトランスポートの設定(例えば、IPアドレスセット)などが検出される。このストリーム仕様ネゴシエーションの結果に応じて、レスポンダである第2XMPPクライアント装置2bは、コンテント転送経路5の開設の提案に対して、同意するか拒否するかを判断する。
また、第1XMPPクライアント装置2aにおいて、XMPPクライアント制御部221aとhtml表示要素制御部222aとの間で、コンテント転送経路5を通じて転送される各コンテントの表示に関する表示パラメータ(表示属性)についての表示仕様ネゴシエーションが、転送経路設定情報m1の各html表示属性情報70に基づいて、行われる。(ステップS111)この表示仕様ネゴシエーションによって、コンテント転送経路5を構成する各転送回線に対応する各表示パラメータの第1XMPPクライアント装置2aでの設定が決定される。また、html表示要素制御部222aは、表示仕様ネゴシエーションにて設定された各表示パラメータを、コンテントIDと対応する表示要素IDにより特定されるhtml表示要素情報に上書きして記述する。
同様に、第2XMPPクライアント装置2bにおいて、XMPPクライアント制御部221bとhtml表示要素制御部222bとの間で、転送経路設定情報m1の各html表示属性情報70に基づいて、コンテント転送経路5を通じて転送される各コンテントの表示に関する表示パラメータ(表示属性)についての表示仕様ネゴシエーションが行われる。(ステップS112)この表示仕様ネゴシエーションによって、コンテント転送経路5を構成する各転送回線に対応する各表示パラメータの第2XMPPクライアント装置2bでの設定が決定される。また、html表示要素制御部222bは、html表示属性情報70に基づいて設定された各表示パラメータを、コンテントIDと対応する表示要素IDにより特定されるhtml表示要素情報に上書きして記述する。すなわち、表示仕様ネゴシエーションにて設定された各表示パラメータを、html表示要素情報に上書きして記述する。
第2XMPPクライアント装置2bのhtml表示要素制御部222bは、転送経路設定情報m1の各html表示属性情報70に基づく各表示パラメータの設定に同意すると(ステップS113)、転送経路設定情報m1の各html表示属性情報70に基づく各表示パラメータの設定に同意したことを、XMPPクライアント制御部221bに通知する。(ステップS114)
そして、第2XMPPクライアント装置2bのXMPPクライアント制御部221bが、転送経路設定情報m1の各ストリーム属性情報60に基づく各転送回線のストリームパラメータ(ストリーム属性)の設定に同意すると(ステップS115)、XMPPクライアント制御部221bは、コンテント転送経路5の設定の提案に同意する旨を示す提案同意情報m3を、公開データ回線を介して第1XMPPクライアント装置2aに送信する。(ステップS116)
図7は、本実施形態における提案同意情報の一例である。図7に示す提案同意情報m3では、<iq>タグに、送信元である第2XMPPクライアント装置2bのJID(Jabber ID)、提案同意情報m3の識別子("12346")、送信先である第1XMPPクライアント装置2aのJID、転送経路設定情報m1のtype属性("set")が記述されている。
また、<mc-jingle>タグには、転送経路設定情報m1の提案(すなわち、コンテント転送経路5の開設に同意したこと)を示すaction属性("session-accept")、コンテント転送経路5の開設を提案する側のXMPPクライアント装置であるイニシエータのJID、開設するコンテント転送経路5の転送経路ID("98765")、ストリーム仕様設定情報8、及びhtml表示仕様設定情報9が記述されている。
また、<mc-jingle>タグ内のストリーム仕様設定情報8には、ストリーム仕様ネゴシエーションにて決定された各転送回線のストリーム属性を示すストリーム属性設定情報80a〜80dが記述されている。ストリーム属性設定情報80a〜80dには、それぞれ、対応するそれぞれの転送回線毎に、転送されるコンテントの作成者を示す情報、そのコンテントの種類、そのコンテントのコンテントID、転送されるコンテントのアプリケーションの種類のほかに、接続する第2XMPPクライアント装置2aのトランスポートのパラメータ(たとえば、ipアドレスなど)が記述される。
また、<mc-jingle>タグ内のhtml表示仕様設定情報9には、転送経路ID("98765")(又は、セッションID)、及び各コンテントのhtml表示属性設定情報90a〜90dが記述されている。html表示属性設定情報90a〜90dには、それぞれ、対応するそれぞれのコンテント毎に、対応する表示要素IDやコンテントの種類のほかに、表示仕様ネゴシエーションにて決定された各表示属性(表示位置情報、表示サイズ情報など)のパラメータの設定がhtmlを用いて記述されている。
次に、第1XMPPクライアント装置2aのXMPPクライアント制御部221aが、第2XMPPクライアント装置2bが同意した各転送回線のストリームパラメータ(ストリーム属性)の設定を確認する。(ステップS117)
また、第1XMPPクライアント装置2aのXMPPクライアント制御部221aは、転送経路設定情報m1の各html表示属性情報70に基づく各表示パラメータの設定が第2XMPPクライアント装置2bにて同意された旨を、html表示要素制御部222aに通知する。(ステップS118)
第1XMPPクライアント装置2aのhtml表示要素制御部222aが、第2XMPPクライアント装置2bにて転送経路設定情報m1の各html表示属性情報70に基づく各表示パラメータの設定が同意されたことを確認する。(ステップS119)そして、第1XMPPクライアント装置2aのhtml表示要素制御部222aが、各表示パラメータの設定が同意されたことを確認した旨を、XMPPクライアント制御部221aに通知する。(ステップS120)
第1XMPPクライアント装置2aのXMPPクライアント制御部221aは、提案同意情報m3が示す同意の内容を確認したことを示す同意確認情報m4を、公開データ回線を通じて第2XMPPクライアント装置2bに送信する。(ステップS121)
図8は、本実施形態における同意確認情報の一例である。図8に示す同意確認情報m4では、<iq>タグに、送信元である第1XMPPクライアント装置2aのJID(Jabber ID)、第1XMPPクライアント装置2aが確認した提案同意情報m3の識別子("12346")、送信先である第2XMPPクライアント装置2bのJID、同意確認情報m4がメッセージングする情報のtype属性("result")が記述されている。
以上によって、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bとの間でデータが直接に転送される直通のコンテント転送経路5を開設するための初期設定が完了する。
次に、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bとの間で、コンテント転送経路5を通じて、複数のマルチメディアコンテントを転送する手順について説明する。図9は、本実施形態において、開設されるコンテント転送経路を介して、マルチメディアコンテントが転送される手順を説明するための動作図である。図9では、コンテント転送経路5を通じたデータ転送の一例として、第1XMPPクライアント装置2aから第2XMPPクライアント装置2bに複数のコンテントを転送する手順について説明する。なお、ここでは、図5にて説明したコンテント転送経路5を開設するための初期設定は既に完了しているものとする。
第1XMPPクライアント装置2aのhtml表示要素制御部222aが、第2XMPPクライアント装置2bへのコンテントの転送の指示を受け付ける。(ステップS201)
html表示要素制御部222aが、XMPPクライアント制御部221aに、コンテントを第2XMPPクライアント装置2bに転送することを通知する。(ステップS202)
第1XMPPクライアント装置2aのXMPPクライアント制御部221a、及び第2XMPPクライアント装置2bのXMPPクライアント制御部221bが、XMPPサーバから提供されるXMPPの通信規約であるXEP−0166(Jingle)を利用した通信機能により、初期設定にて設定したパラメータを用いて、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bとの間に、コンテント転送経路5を開設する。(ステップS203及びS204)このように、XMPPサーバから提供される通信機能により、第1クライアント装置2a及び第2クライアント装置2bの間に、転送経路設定情報m1に基づいて、コンテント転送経路5が開設される。なお、このとき、第1XMPPクライアント装置2aのXMPPクライアント制御部221aから公開データ回線を介して第2XMPPクライアント装置2bに、コンテント転送経路5を開設する旨が送信された後、コンテント転送経路5が開設されるものであってもよい。
開設したコンテント転送経路5を通じて、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bはチャットを開始する。(ステップS205及びS206)そして、任意のタイミングで、第1クライアント装置2aと第2クライアント装置2bとの間で、コンテント転送経路5介してコンテントが動的に転送される。(ステップS207)
たとえば、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bとの間で送受信されるテキストメッセージデータは、テキストコンテントとして、テキストコンテント転送回線50dを介して送受信される。また、第1XMPPクライアント装置2aから第2XMPPクライアント装置2bへ転送される動画コンテントは、ビデオコンテント転送回線50aを介して転送される。また、第2XMPPクライアント装置2bから第1XMPPクライアント装置2aへ転送される動画コンテントは、ビデオコンテント転送回線50bを介して転送される。また、第1XMPPクライアント装置2aから第2XMPPクライアント装置2bへ転送される画像データは、イメージコンテント転送回線50cを介して転送される。
各コンテントは、初期設定されたストリーム属性のパラメータに従って、コンテント転送経路5を通じて第1XMPPクライアント装置2aから第2XMPPクライアント装置2bに、又は第1XMPPクライアント装置2aから第2XMPPクライアント装置2bに転送される。さらに、初期設定された表示属性のパラメータに従って、第1XMPPクライアント装置2aのhtml表示要素制御部222a又は第2XMPPクライアント装置2bのhtml表示要素制御部222bによって、コンテントIDに対応する表示要素IDのhtml表示要素情報に格納される。
第1XMPPクライアント装置2aのhtml表示要素制御部222aは、第2XMPPクライアント装置2bから転送されるコンテントを、そのコンテントIDに対応する表示要素IDのhtml表示要素情報に格納する。(ステップS208)そして、表示仕様制御部223aに、コンテントを転送する。
第1XMPPクライアント装置2aの表示仕様制御部223aは、html表示要素情報に記述されたhtml表示属性情報70に基づいて、コンテントを表示画面231aに再配置し(ステップ209)、表示部23aに表示する。(ステップS210)たとえば、コンテントIDが”12”の動画コンテントが転送された場合、対応する表示要素ID”12”のhtml表示要素情報に格納され、表示画面231aの第2レイヤーの(10px,10px)の位置に、横480px×縦640pxのサイズで表示される。
同様に、第2XMPPクライアント装置2bのhtml表示要素制御部222bは、第1XMPPクライアント装置2aから転送されるコンテントを、そのコンテントIDに対応する表示要素IDのhtml表示要素情報に格納する。(ステップS211)そして、表示仕様制御部223bに転送されたコンテントが対応するhtml表示要素情報に格納されたことを通知する。
第2XMPPクライアント装置2bの表示仕様制御部223bは、html表示要素情報に記述されたhtml表示属性設定情報90に基づいて、コンテントを表示画面231bに再配置し(ステップ212)、表示部23bに表示する。(ステップS213)たとえば、コンテントIDが”11”の動画コンテントが転送された場合、対応する表示要素ID”11”のhtml表示要素に格納され、表示画面231bの第3レイヤーの(10px,800px)の位置に、横768px×縦1024pxのサイズで表示される。
なお、本実施形態では、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bとの間で転送される動画コンテントの表示サイズが設定される例を説明したが、これに限定されず、htmlやカスケーディングスタイルシート(CSS:cascade style check sheet)にて表現できる表示属性であれば設定することができる。また、図4に示すhtml表示属性情報70や、図7に示すhtml表示属性設定情報90では、コンテントの表示位置情報や表示サイズ情報を絶対指定で設定したが、相対指定することもできる。特に、表示位置情報や表示サイズ情報を相対指定で設定することによって、例えば、受信側のXMPPクライアント装置2の表示部23の表示画面231の解像度に比例したサイズでコンテントを表示することができるので、表示画面231からコンテントがはみ出していわゆる「画面切れ」したり、表示画面231に対してコンテントの表示サイズが大きすぎたり小さすぎたりすることがない。
以上では、XMPPサーバ3にネットワーク4を介して接続される複数のXMPPクライアント装置2の間に、コンテントが転送される直通のコンテント転送経路5を開設し、第1XMPPクライアント装置2aから前記コンテント転送経路5を介して第2XMPPクライアント装置2bに転送するコンテントを、前記第2XMPPクライアント装置2bの表示部23bに表示する手順について説明した。
すなわち、本実施形態のマルチメディアコンテント転送システム1では、XMPPサーバ3にネットワーク4を介して接続される複数のXMPPクライアント装置2間に、コンテントが転送されるコンテント転送経路5が開設される。さらに、前記コンテント転送経路5を介して転送される前記コンテントがXMPPクライアント装置2の表示部23に表示される。特に、前記コンテントのコンテントIDと、転送された前記コンテントが格納されるhtml表示要素情報の表示要素IDと、前記コンテントの表示属性を示すhtml表示属性情報70とを有するとともに、前記コンテントIDと前記表示要素IDとが対応付けられた転送経路設定情報m1が、第1XMPPクライアント装置2aから前記ネットワーク4及び前記XMPPサーバ3を介して、第2XMPPクライアント装置2bに送信され、前記XMPPサーバ3から提供される通信機能により、前記第1XMPPクライアント装置2a及び前記第2XMPPクライアント装置2bの間に、前記転送経路設定情報m1に基づいて、前記コンテント転送経路5が開設され、前記第1XMPPクライアント装置2aから、前記コンテント転送経路5を介して前記第2XMPPクライアント装置2bに、前記コンテントが転送される。
よって、本実施形態のマルチメディアコンテント転送システム1では、コンテント転送経路5を介して転送されるコンテントの識別子であるコンテントIDと、転送されたコンテントが格納されるhtml表示要素情報の識別子である表示要素IDと、コンテントの表示属性を示すhtml表示属性情報70とを有するとともに、コンテントIDと表示要素IDとが対応付けられた転送経路設定情報m1が、第1XMPPクライアント装置2aからネットワーク及びXMPPサーバ3を介して、第2XMPPクライアント装置2bに送信される。そして、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bとの間に、転送経路設定情報m1に基づいて、コンテント転送経路5が開設される。転送経路設定情報m1では、コンテントIDとコンテントを格納するhtml表示要素情報の表示要素IDとが対応付けられている。そのため、コンテント転送経路5を介して転送されるコンテント及びそのhtml表示属性情報70を、表示画面上の表示要素に対応付けることができる。従って、転送されるコンテントを、html表示属性情報70が示す表示属性で、第2XMPPクライアント装置2bの表示部に表示することができる。よって、送信側のXMPPクライアント装置2aのユーザは、指定する表示属性で、受信側のXMPPクライアント装置2bの表示部23bに、転送したコンテントを表示させることができる。そのため、各XMPPクライアント装置2のユーザは、表示部23の表示画面231から得られる視覚的な情報を積極的に活用することができる。
また、マルチメディアコンテント転送システム1では、前記第2XMPPクライアント装置2bにおいて、前記コンテントIDと対応する前記表示要素IDにより特定される前記html表示要素情報に、前記html表示属性情報70が上書きされるステップをさらに備える。
こうすることによって、各XMPPクライアント装置2において、コンテントと表示画面231上の表示要素との対応関係を保ったまま、個別に、表示画面231上の表示要素の表示属性を管理することができる。
また、マルチメディアコンテント転送システム1では、前記コンテントは複数であって、前記コンテント転送経路5は、それぞれの前記コンテントが転送される複数の転送回線50からなり、それぞれの前記コンテント毎に、対応する前記コンテントID、前記表示要素ID、及び前記html表示属性情報70が設定される。
このようにすることによって、複数のコンテントを転送する場合であっても、送信側のXMPPクライアント装置2aのユーザは、コンテント毎に別々の転送回線50を介して、各コンテントを転送することができる。さらに、送信側のXMPPクライアント装置2aのユーザは、それぞれのコンテントの表示属性を個別に指定することができる。従って、受信側のXMPPクライアント装置2bの表示部23bに、各コンテントを個別に設定された表示属性で表示させることができる。
また、マルチメディアコンテント転送システム1では、前記XMPPサーバ3は、前記複数のXMPPクライアント装置にXMPPに準拠する通信機能を提供するXMPPサーバであり、前記転送経路設定情報m1が送信されるステップ、及び前記コンテント転送経路5が開設されるステップが、XMPPの通信規約であるXEP−0166(Jingle)を利用して行われる。
このようにすることによって、各XMPPクライアント装置2は、XMPPサーバ3からXMPPに準拠した通信機能の提供を受けることができるので、コンテント転送経路5の開設、及びコンテントの転送を動的且つリアルタイムに行うことができる。また、XMPPのプロトコル(通信規約)であるXEP−0166(Jingle)を利用してコンテント転送経路5を開設することにより、任意の種類のマルチメディアコンテント(テキストや動画、音声、画像など)を転送する転送回線50を、同一の手順で簡便に開設することができる。
次に、マルチメディアコンテント転送システム1では、コンテント転送経路5を通じて転送するマルチメディアコンテントを動的に追加することができる。よって、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bとの間で、コンテント転送経路5を通じて転送するマルチメディアコンテントを追加する手順について説明する。図10は、本実施形態において、コンテント転送経路を介して転送するマルチメディアコンテントを追加する手順を説明するための動作図である。
まず、第1XMPPクライアント装置2aにおいて、html表示要素制御部222aが、チャットの表示処理を中断し(ステップS301)、XMPPクライアント制御部221aにチャットを中断する旨を通知する。(ステップS302)
第2XMPPクライアント装置2bにおいても同様に、html表示要素制御部222bが、チャットの表示処理を中断し(ステップS303)、XMPPクライアント制御部221bにチャットを中断する旨を通知する。(ステップS304)
次に、第1XMPPクライアント装置2aでは、html表示要素制御部222aが、転送する追加コンテント(第1コンテント)の表示属性を示すhtml表示属性情報70e(第1表示属性情報)を新たに作成する。そして、コンテント転送経路5を介してさらに転送される追加コンテントのhtml表示属性情報70e、及び追加コンテントが格納されるhtml追加表示要素情報の識別子である追加表示要素IDが、従来のhtml表示仕様情報7に、さらに加えられた追加html表示仕様情報7a(第1html表示仕様情報)を作成する。(ステップS305)そして、html表示要素制御部222aは、XMPPクライアント制御部221aに、改訂した追加html表示仕様情報7aを通知する。(ステップS306)
第1XMPPクライアント装置2aのXMPPクライアント制御部221aは、追加コンテントをさらに転送するための追加転送回線50e(第1転送回線)を開設してコンテント転送経路5に加えるための追加転送経路設定情報m5(第1転送経路設定情報)を作成する。(ステップS307)ここでは、追加転送回線50eを開設するためのストリーム属性を示す追加ストリーム属性情報6aを新たに作成する。また、追加コンテントの識別子である追加コンテントIDを有する追加ストリーム属性情報60eが、従来のストリーム仕様情報6にさらに加えられた追加ストリーム仕様情報6aが作成される。そして、転送経路IDと、改訂した追加ストリーム仕様情報6aと、追加html表示仕様情報7aとを有する追加転送経路設定情報m5を作成する。この追加転送経路設定情報m5は、コンテント転送経路5を介してさらに転送される追加コンテントの追加コンテントIDと、追加コンテントIDと対応付けられる追加表示要素IDと、追加コンテントのhtml表示属性情報60eとがさらに加えられている。
そして、第1XMPPクライアント装置2aのXMPPクライアント制御部221aは、XMPPの通信規約であるXEP−0166(Jingle)を利用して、コンテント転送経路5に追加転送回線50eを追加することを提案する旨の追加転送経路設定情報m5を、公開データ回線を通じて第2XMPPクライアント装置2bに送信する。(ステップS308)
図11は、本実施形態における追加転送経路設定情報の一例を示す図である。図11のように、追加転送経路設定情報m5は、追加コンテントIDをさらに有する追加ストリーム仕様情報6aと、追加表示要素ID及びhtml表示属性情報70eをさらに有する追加html表示仕様情報7aとを含んでいる。
第2XMPPクライアント装置2bのXMPPクライアント制御部221bは、新たなコンテント転送経路5を追加することを提案する旨の追加転送経路設定情報m5を確認した旨を、公開データ回線を通じて第1XMPPクライアント装置2aに送信する。(ステップS309)
そして、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bとの間で、公開データ回線を介して、コンテント転送経路5を開設するための設定内容についての交渉(ストリーム仕様ネゴシエーション)が行われる。(ステップS310及びS311)このストリーム仕様ネゴシエーションの結果に応じて、MC−Jingleのレスポンダである第2XMPPクライアント装置2bは、新たなコンテント転送経路5の追加の提案に対して、同意するか拒否するかを判断する。
また、第1XMPPクライアント装置2aにおいて、XMPPクライアント制御部221aとhtml表示要素制御部222aとの間で、追加転送経路設定情報m5の追加html表示仕様情報7aのhtml表示属性情報70eに基づいて、追加コンテントの表示に関する表示パラメータ(表示属性)についての表示仕様ネゴシエーションが行われる。(ステップS312)この表示仕様ネゴシエーションによって、追加転送回線50eに対応する表示パラメータの第1XMPPクライアント装置2aでの設定が決定される。また、html表示要素制御部222aは、表示仕様ネゴシエーションにて設定された各表示パラメータを、追加コンテントIDと対応する追加表示要素IDにより特定されるhtml追加表示要素情報に上書きして記述する。
同様に、第2XMPPクライアント装置2bにおいて、XMPPクライアント制御部221bとhtml表示要素制御部222bとの間で、追加転送経路設定情報m5の追加html表示仕様情報7aのhtml表示属性情報70eに基づいて、追加コンテントの表示に関する表示パラメータ(表示属性)についての表示仕様ネゴシエーションが行われる。(ステップS313)この表示仕様ネゴシエーションによって、追加転送回線50eに対応する表示パラメータの第2XMPPクライアント装置2bでの設定が決定される。また、html表示要素制御部222bは、html表示属性情報70eに基づいて設定された各表示パラメータを、追加コンテントIDと対応する追加表示要素IDにより特定されるhtml追加表示要素情報に上書きして記述する。すなわち、表示仕様ネゴシエーションにて設定された各表示パラメータを、html追加表示要素情報に上書きして記述する。
第2XMPPクライアント装置2bのhtml表示要素制御部222が、追加転送経路設定情報m5のhtml表示属性情報70eに基づく表示パラメータの設定に同意すると(ステップS314)、html表示要素制御部222は、XMPPクライアント制御部221に、追加転送経路設定情報m5のhtml表示属性情報70eに基づく表示パラメータの設定に同意したことを通知する。(ステップS315)
そして、第2XMPPクライアント装置2bのXMPPクライアント制御部221bが、追加転送経路設定情報m5の追加ストリーム属性情報6aに基づく追加転送回線50eのストリームパラメータ(ストリーム属性)の設定に同意すると(ステップS316)、XMPPクライアント制御部221bは、コンテント転送経路5の設定の提案に同意する旨を示す追加提案同意情報m6を、公開データ回線を介して第1XMPPクライアント装置2aに送信する。(ステップS317)図12は、本実施形態における追加提案同意情報の一例を示す図である。図12のように、追加提案同意情報m6は、追加コンテントIDをさらに有する追加ストリーム仕様設定情報8aと、追加表示要素ID及びhtml追加表示属性設定情報90eをさらに有するhtml追加表示仕様設定情報9aを含んでいる。
第1XMPPクライアント装置2aのXMPPクライアント制御部221aは、第2XMPPクライアント装置2bが同意した追加転送回線50eのストリームパラメータ(ストリーム属性)の設定を確認する。(ステップS318)また、第1XMPPクライアント装置2aのXMPPクライアント制御部221aは、追加転送経路設定情報m5のhtml表示属性情報70eに基づく表示パラメータの設定が第2XMPPクライアント装置2bにて同意された旨を、html表示要素制御部222aに通知する。(ステップS319)
第1XMPPクライアント装置2aのhtml表示要素制御部222aが、第2XMPPクライアント装置2bにてhtml表示属性情報70eに基づく表示パラメータの設定が同意されたことを確認する。(ステップS320)そして、第1XMPPクライアント装置2aのhtml表示要素制御部222aが、追加コンテントの表示パラメータの設定が同意されたことを確認したことを、XMPPクライアント制御部221aに通知する。(ステップS321)
第1XMPPクライアント装置2aのXMPPクライアント制御部221aは、追加提案同意情報m6が示す同意を確認した旨を、公開データ回線を通じて第2XMPPクライアント装置2bに送信する。(ステップS322)
そして、第1XMPPクライアント装置2aのXMPPクライアント制御部221a、及び第2XMPPクライアント装置2bのXMPPクライアント制御部221bは、XMPPサーバ3から提供されるXMPPの通信規約であるXEP−0166(Jingle)を利用した通信機能により、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bとの間に追加転送回線50eを開設してコンテント転送経路5に加える。(ステップS323及びS324)なお、ここでは、追加転送回線50eとして、画像コンテントを転送するためのイメージコンテント転送回線がさらに開設され、コンテント転送経路5に加えられている。
そして、第1XMPPクライアント装置2aのhtml表示要素制御部222a、及び第2XMPPクライアント装置2bのhtml表示要素制御部222bは、チャットの表示処理を再開する。(ステップS325及びS326)
以上によって、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bとの間でコンテント転送経路5を介して、さらに転送するマルチメディアコンテントを追加することができる。
すなわち、本実施形態のマルチメディアコンテント転送システム1では、コンテント転送経路5を介してさらに転送される追加コンテントの追加コンテントIDと、追加コンテントIDと対応付けられる追加表示要素IDと、追加コンテントの追加表示属性情報と、がさらに加えられる追加転送経路設定情報m5が、第1XMPPクライアント装置2aからネットワーク4及びXMPPサーバ3を介して、第2XMPPクライアント装置2bに送信されるステップと、XMPPサーバ3から提供される通信機能により、第1XMPPクライアント装置2a及び第2XMPPクライアント装置2bの間に、追加コンテントを転送する追加転送回線50eが、追加転送経路設定情報m5に基づいて開設されるステップと、をさらに備えることによって、さらに転送するマルチメディアコンテントを追加することができる。
このようにすることによって、各XMPPクライアント装置2の間に追加転送回線50eを動的にさらに開設して、コンテント転送経路5に追加することができる。従って、送信側のXMPPクライアント装置2aのユーザは、コンテント転送経路5を介して転送するコンテントを任意に追加して、動的に転送することができる。さらに、送信側のXMPPクライアント装置2bのユーザは、追加したコンテントを、指定する表示属性で、受信側のXMPPクライアント装置2bの表示部23bに表示させることができる。
また、本実施形態のマルチコンテント転送システム1では、第2XMPPクライアント装置2bにおいて、追加コンテントIDと対応する追加表示要素IDにより特定される追加表示要素情報に、追加表示属性情報70eが上書きされるステップをさらに備えている。
このようにすることによって、コンテント転送経路5を介して転送されるコンテントが任意に追加されても、各XMPPクライアント装置2において、コンテントと表示画面231上の表示要素との対応関係を保ったまま、個別に、表示画面231上の表示要素の表示属性を管理することができる。
さらに、前記追加転送経路設定情報m5が送信されるステップ、及び前記追加転送回線50eが開設されるステップが、XMPPの通信規約であるXEP−0166(Jingle)を利用して行われている。
このようにすることによって、各XMPPクライアント装置2は、XMPPサーバ3からXMPPに準拠した通信機能の提供を受けることができるので、追加されたコンテントを転送するための追加転送回線50eの開設、及びそのコンテントの転送を動的且つリアルタイムに行うことができる。また、XMPPのプロトコル(通信規約)であるXEP−0166(Jingle)を利用することができるので、任意の種類のマルチメディアコンテント(テキストや動画、音声、画像など)を転送する追加転送回線50eを同一の手順で簡便且つ動的に、追加して開設することができる。
また、マルチメディアコンテント転送システム1では、コンテント転送経路5を構成する任意の転送回線(第2転送回線)の接続を動的に切断することができる。次に、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bとの間で、コンテント転送経路5のうちの少なくとも1つの任意の転送回線(第2転送回線)の接続が切断される手順について説明する。図13は、本実施形態において、コンテント転送経路を介して転送するマルチメディアコンテントを削減する手順を説明するための動作図である。図13では、イメージコンテント転送回線50cの接続を切断している。
まず、第1XMPPクライアント装置2aにおいて、html表示要素制御部222aが、チャットの表示処理を中断し(ステップS401)、XMPPクライアント制御部221aにチャットを中断する旨を通知する。(ステップS402)
第2XMPPクライアント装置2bにおいても同様に、html表示要素制御部222bが、チャットの表示処理を中断し(ステップS403)、XMPPクライアント制御部221bにチャットを中断する旨を通知する。(ステップS404)
次に、第1XMPPクライアント装置2aでは、html表示要素制御部222aが、接続が切断されるイメージコンテント転送回線50cにより転送される画像コンテント(第2コンテント)の表示属性を示すhtml表示属性情報70c(第2html表示属性情報)、及びその画像コンテントの識別子である削減コンテントIDと対応付けられた削減表示要素ID(第2表示要素ID)が、それまでのhtml表示仕様情報7から削除された削減html表示仕様情報7b(第2html表示仕様情報)を作成する。(ステップS405)そして、html表示要素制御部222aは、改訂した削減html表示仕様情報7bを、XMPPクライアント制御部221aに通知する。(ステップS406)
第1XMPPクライアント装置2aのXMPPクライアント制御部221aは、イメージコンテント転送回線5おc(第2転送回線)の接続を切断してコンテント転送経路5から除外するための削減転送経路設定情報m7(第2転送経路設定情報)を作成する。(ステップS407)ここでは、接続が切断されるイメージコンテント転送回線50cを介して転送されるコンテントの識別子である削減コンテントIDと、削減ストリーム属性情報60cが、それまでのストリーム仕様情報6から除外された削減ストリーム仕様情報6bが作成される。そして、転送経路IDと、改訂した削減ストリーム仕様情報6bと、削減html表示仕様情報7bとを有する削減転送経路設定情報m7を作成する。
そして、第1XMPPクライアント装置2aのXMPPクライアント制御部221aは、XMPPの通信規約であるXEP−0166(Jingle)を利用して、削減転送経路設定情報m7を、公開データ回線を通じて第2XMPPクライアント装置2bに送信する。(ステップS408)これにより、コンテント転送経路5のイメージコンテント転送回線50cの接続を切断することを提案する旨を第2XMPPクライアント装置2bに通知する。図14は、本実施形態における削減転送経路設定情報の一例を示す図である。図14のように、削減転送経路設定情報m7では、それまでのストリーム仕様情報6及びhtml表示仕様情報7から、接続が切断されるイメージコンテント転送回線50cを介して転送されるコンテントのストリーム属性情報60c及びhtml表示属性情報70cが削除されている。
第2XMPPクライアント装置2bのXMPPクライアント制御部221bは、削減転送経路設定情報m7を確認した旨を、公開データ回線を通じて第1XMPPクライアント装置2aに送信する。(ステップS409)
そして、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bとの間で、公開データ回線を介して、イメージコンテント転送回線50cの接続を切断するための設定内容についての交渉(ストリーム仕様ネゴシエーション)が行われる。(ステップS410及びS411)このストリーム仕様ネゴシエーションの結果に応じて、MC−Jingleのレスポンダである第2XMPPクライアント装置2bは、イメージコンテント転送回線50cの接続の切断の提案に対して、同意するか拒否するかを判断する。
また、第1XMPPクライアント装置2aにおいて、XMPPクライアント制御部221aとhtml表示要素制御部222aとの間で、削減転送経路設定情報m7の削減html表示仕様情報7bに基づいて、削減コンテントの表示に関する表示パラメータ(表示属性)の削除設定についての表示仕様ネゴシエーションが行われる。(ステップS411)この表示仕様ネゴシエーションによって、接続が切断されるイメージコンテント転送回線50cに対応する表示属性のパラメータの削除設定が第1XMPPクライアント装置2aで決定される。
同様に、第2XMPPクライアント装置2bにおいて、XMPPクライアント制御部221bとhtml表示要素制御部222bとの間で、削減転送経路設定情報m7の削減html表示仕様情報7bに基づいて、転送回線50cを介して転送されるコンテントの表示に関する表示パラメータ(表示属性)の削除設定についての表示仕様ネゴシエーションが行われる。(ステップS413)この表示仕様ネゴシエーションによって、接続が切断されるイメージコンテント転送回線50cに対応する表示属性のパラメータの削除設定が第2XMPPクライアント装置2bで決定される。
第2XMPPクライアント装置2bのhtml表示要素制御部222bが、削除転送経路設定情報m1m7の削除html表示仕様情報7bに基づく表示パラメータの削除設定に同意すると(ステップS414)、html表示要素制御部222bは、XMPPクライアント制御部221bに、その削除設定に同意したことを通知する。(ステップS415)
そして、第2XMPPクライアント装置2bのXMPPクライアント制御部221bが、削除転送経路設定情報m7の削除ストリーム属性情報6bに基づくイメージコンテント転送回線50cの接続の削除設定に同意すると(ステップS416)、XMPPクライアント制御部221bは、その削除設定の提案に同意する旨を示す削除提案同意情報m8を、公開データ回線を介して第1XMPPクライアント装置2aに送信する。(ステップS417)
図15は、本実施形態における削除提案同意情報の一例を示す図である。図15のように、削除提案同意情報m8では、それまでのストリーム仕様情報8及びhtml表示仕様情報9から、接続が切断されるイメージコンテント転送回線50cを介して転送されるコンテントのストリーム属性設定情報80c及びhtml表示属性設定情報90cが削除されている。
第1XMPPクライアント装置2aのXMPPクライアント制御部221aは、第2XMPPクライアント装置2bが同意した削除転送経路設定情報m7の削除ストリーム属性情報8bの設定を確認する。(ステップS418)また、第1XMPPクライアント装置2aのXMPPクライアント制御部221aは、削除転送経路設定情報m7の削除html表示仕様情報7bに基づく表示パラメータの削除設定が第2XMPPクライアント装置2bにて同意された旨を、html表示要素制御部222aに通知する。(ステップS419)
第1XMPPクライアント装置2aのhtml表示要素制御部222aが、第2XMPPクライアント装置2bにて削除html表示仕様情報7bに基づく表示パラメータの削除設定が同意されたことを確認する。(ステップS420)そして、第1XMPPクライアント装置2aのhtml表示要素制御部222aが、その削除設定の同意を確認した旨を、XMPPクライアント制御部221aに通知する。(ステップS421)
第1XMPPクライアント装置2aのXMPPクライアント制御部221aは、削除提案同意情報m8が示す同意を確認した旨を、公開データ回線を通じて第2XMPPクライアント装置2bに送信する。(ステップS422)
そして、第1XMPPクライアント装置2aのXMPPクライアント制御部221a、及び第2XMPPクライアント装置2bのXMPPクライアント制御部221bは、XMPPサーバ3から提供されるXMPPの通信規約であるXEP−0166(Jingle)を利用した通信機能により、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bとの間に開設されたイメージコンテント転送回線52の接続を切断してコンテント転送経路5から除外する。(ステップS423,S424)
そして、第1XMPPクライアント装置2aのhtml表示要素制御部222a、及び第2XMPPクライアント装置2bのhtml表示要素制御部222bは、チャットの表示処理を再開する。(ステップS425,S426)
このように、本実施形態のマルチメディアコンテント転送システム1では、XMPPサーバ3から提供される通信機能により、コンテント転送経路5のうちの少なくとも1つの削減転送回線(第2転送回線)の接続を動的に切断することができる。
すなわち、本実施形態のマルチメディアコンテント転送システム1では、前記コンテント転送経路5のうちの少なくとも1つの削減転送回線の接続が切断されるステップをさらに備え、前記削減転送回線の接続が切断されるステップは、前記削減転送回線により転送される削減コンテントの削減コンテントIDと、前記削減コンテントIDと対応付けられた削減表示要素IDと、前記削減コンテントのhtml表示属性情報とが削除された削減転送経路設定情報m7が、前記第1XMPPクライアント装置2aから前記ネットワーク4及び前記XMPPサーバ3を介して、前記第2XMPPクライアント装置2bに送信されるステップと、前記XMPPサーバ3から提供される前記通信機能により、前記削減転送経路設定情報m7に基づいて、前記削減転送回線の接続が切断されるステップと、を有することによって、コンテント転送経路5のうちの少なくとも1つの削減転送回線の接続を動的に切断することができる。
このようにすることによって、各XMPPクライアント装置2の間に開設されたコンテント転送経路5を構成する転送回線のうちの少なくとも1つの接続を動的に切断することができる。従って、各XMPPクライアント装置2の間で転送されるコンテントの数を任意に削減することができる。
また、本実施形態のマルチメディアコンテント転送システム1では、前記削減転送経路設定情報m7が送信されるステップ、及び前記削減転送回線の接続が切断されるステップが、XMPPの通信規約であるXEP−0166(Jingle)を利用して行われる。
このようにすることによって、各XMPPクライアント装置2は、XMPPサーバ3からXMPPに準拠した通信機能の提供を受けて、XMPPのプロトコル(通信規約)であるXEP−0166(Jingle)を利用することができる。よって、任意の種類のマルチメディアコンテント(テキストや動画、音声、画像など)を転送する転送回線の接続を、同一の手順で簡便且つ動的に、切断することができる。
次に、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bとの間に接続されたコンテント転送経路5を切断する手順について説明する。図17は、本実施形態において、コンテント転送経路を切断する手順を説明するための動作図である。
チャットが終了すると、第1XMPPクライアント装置2aのhtml表示要素制御部222a、及び第2XMPPクライアント装置2bのhtml表示要素制御部222bが、チャット画面の表示処理を終了する。(ステップS501、S502)
そして、第1XMPPクライアント装置2aのhtml表示要素制御部222aが、コンテント転送経路5の接続を切断する旨を、XMPPクライアント制御部221aに指示する。(ステップS503)
第1XMPPクライアント装置2aのXMPPクライアント制御部221aは、コンテント転送経路5の接続を切断するための転送経路切断情報m9を作成し(ステップS504)、公開データ回線を通じて第2XMPPクライアント装置2bに送信する。(ステップS505)
図17は、本実施形態における転送経路切断情報の一例である。図17では、転送経路切断情報m9は、<iq>タグに、送信元である第1XMPPクライアント装置2aのJID(Jabber ID)、転送経路切断情報m9の識別子("12351")、送信先である第2XMPPクライアント装置2bのJID、転送経路切断情報m9がメッセージングする情報のtype属性("set")が記述されている。また、<mc-jingle>タグには、転送経路切断情報m9がコンテント転送経路5の接続の切断を提案していることを示すaction属性("session-terminate")、イニシエータである第1XMPPクライアント装置2aのJID、レスポンダである第2XMPPクライアント装置2bのJID、コンテント転送経路5の転送経路ID("98765")が記述されている。なお、転送経路IDに換えて、このコンテント転送経路5を通じて行われるセッションを識別するためのセッションID(sid:session id)が記述されていてもよい。
第2XMPPクライアント装置2bのXMPPクライアント制御部221bは、コンテント転送経路5の接続を切断することの提案を確認した旨を、公開データ回線を通じて第1XMPPクライアント装置2aに送信する。(ステップS506)
そして、第1XMPPクライアント装置2aのXMPPクライアント制御部221a、及び第2XMPPクライアント装置2bのXMPPクライアント制御部221bは、コンテント転送経路5の接続を切断する。(ステップS507,S508)
以上により、第1XMPPクライアント装置2aと第2XMPPクライアント装置2bとの間に接続されたコンテント転送経路5の接続が切断される。
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、その各構成要素や各処理の組み合わせに色々な変形例は可能であることは、本発明の範囲にあることは当業者に理解されるところである。
たとえば、上述の実施形態において、コンテント転送経路5の設定・開設などは、XMPPの応用プロトコルであるJingle(XEP−0166)を利用するものとしたが、これに限定するものではない。2つの通信可能な端末装置の間にデータを送受信する通信経路を確立するためのプロトコル(通信規約)であれば利用できる。