(57)【要約】      （修正有）【課題】簡単に複数の装置間をネットワークで接続し、端子間通信可能にする通信装置を提供する。【解決手段】装置１００のソフトウェア１１０は、ネットワークを介して通信を開始する通信クライアント手段、通信の開始に応答する通信サーバ手段及び第１の仮想端子の識別情報とアドレスを有する自己のプロファイル情報とを記憶するメモリを有する。通信サーバ手段は、第１の装置から送信される第１のコマンドに応答して、自己のプロファイル情報を第１の装置に返信し、第１の装置から送信される第２のコマンドに応答して、第２のコマンドが有する第２の仮想端子のアドレスを、自己のプロファイル情報内の第１の仮想端子のリンク情報に設定する。通信クライアント手段は、第１の仮想端子に対応付けられた所定のイベントに応答して、設定された第２の仮想端子のアドレスに基づいて、第１の仮想端子から第２の仮想端子にネットワークを介する通信接続を行う。【選択図】図５
2020194556.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して通信を開始する通信クライアント手段と、
前記通信の開始に応答する通信サーバ手段と、
第１の仮想端子の識別情報とアドレスを有する自己のプロファイル情報を記憶するメモリとを有し、
前記通信サーバ手段は、
第1の装置からネットワークを経由して送信される第1のコマンドに応答して、前記自己のプロファイル情報を、前記第1の装置に返信し、さらに、前記第1の装置から前記ネットワークを経由して送信される第２のコマンドに応答して、前記第２のコマンドが有する第２の仮想端子のアドレスを、前記自己のプロファイル情報内の前記第１の仮想端子のリンク情報に設定し、
前記通信クライアント手段は、
前記第1の仮想端子に対応付けられた所定のイベントに応答して、前記第1の仮想端子のリンク情報に設定された前記第２の仮想端子のアドレスに基づいて、前記第１の仮想端子から前記第２の仮想端子に前記ネットワークを介する通信接続を行う、通信装置。
【請求項２】
前記通信クライアント手段は、前記通信接続を介して前記第１の仮想端子から前記第２の仮想端子に第３のコマンドを送信する、請求項１に記載の通信装置。
【請求項３】
前記通信サーバ手段は、前記第２の仮想端子から前記第１の仮想端子に送信される第３のコマンドに応答して、前記第１の仮想端子に対応する所定の処理を実行する、請求項１に記載の通信装置。
【請求項４】
前記第１の仮想端子に対応する所定の処理は、前記第３のコマンドに添付された送信データにも対応する処理を有する、請求項３に記載の通信装置。
【請求項５】
前記第１の仮想端子に対応する所定の処理は、前記第３のコマンドに添付された送信データに対応する受信データを生成し、前記第２の仮想端子に前記受信データを返信する処理を有する、請求項３に記載の通信装置。
【請求項６】
第1の装置からネットワークを経由して送信される第1のコマンドに応答して、第１の仮想端子の識別情報とアドレスとを有する自己のプロファイル情報を、前記第1の装置に返信し、
前記第1の装置から前記ネットワークを経由して送信される第２のコマンドに応答して、前記第２のコマンドが有する第２の仮想端子のアドレスを、前記自己のプロファイル情報内の前記第１の仮想端子のリンク情報に設定し、
前記第1の仮想端子に対応付けられた所定のイベントに応答して、前記第1の仮想端子のリンク情報に設定された前記第２の仮想端子のアドレスに基づいて、前記第１の仮想端子から前記第２の仮想端子に前記ネットワークを介する通信接続を行う、処理をコンピュータに実行させる通信プログラム。
【請求項７】
前記処理は、さらに、
前記通信接続を介して前記第１の仮想端子から前記第２の仮想端子に第３のコマンドを送信することを有する、請求項６に記載の通信プログラム。
【請求項８】
前記処理は、さらに、
前記第２の仮想端子から前記第１の仮想端子に送信される第３のコマンドに応答して、前記第１の仮想端子に対応する所定の処理を実行する、請求項６に記載の通信プログラム。
【請求項９】
第1の装置からネットワークを経由して送信される第1のコマンドに応答して、第１の仮想端子の識別情報とアドレスとを有する自己のプロファイル情報を、前記第1の装置に返信し、
前記第1の装置から前記ネットワークを経由して送信される第２のコマンドに応答して、前記第２のコマンドが有する第２の仮想端子のアドレスを、前記自己のプロファイル情報内の前記第１の仮想端子のリンク情報に設定し、
前記第1の仮想端子に対応付けられた所定のイベントに応答して、前記第1の仮想端子のリンク情報に設定された前記第２の仮想端子のアドレスに基づいて、前記第１の仮想端子から前記第２の仮想端子に前記ネットワークを介する通信接続を行う、処理を有する通信方法。
【請求項１０】
前記処理は、さらに、
前記通信接続を介して前記第１の仮想端子から前記第２の仮想端子に第３のコマンドを送信することを有する、請求項９に記載の通信方法。
【請求項１１】
前記処理は、さらに、
前記第２の仮想端子から前記第１の仮想端子に送信される第３のコマンドに応答して、前記第１の仮想端子に対応する所定の処理を実行する、請求項９に記載の通信方法。
【請求項１２】
第１の装置及び第２の装置に第１のコマンドを送信し、
前記第１のコマンドに応答して返信される、前記第１の装置の第１の仮想端子の識別情報とアドレスを有する第１のプロファイル情報と、前記第２の装置の第２の仮想端子の識別情報とアドレスを有する第２のプロファイル情報に基づいて、前記第１の仮想端子の画像を有する前記第１の装置の第１のアイコンと、前記第２の仮想端子の画像を有する前記第２の装置の第２のアイコンとを表示し、
前記第１のアイコンの第１の仮想端子の画像と前記第２のアイコンの第２の仮想端子の画像とを互いに接続する入力操作に応答して、前記第１の装置の前記第１の仮想端子に前記第２の仮想端子のアドレスを設定させる第２のコマンドを前記第１の装置に送信し、前記第２の装置に前記第２の仮想端子に前記第１の仮想端子のアドレスを設定させる第３のコマンドを前記第２の装置に送信する、
処理をコンピュータに実行させる通信プログラム。
【請求項１３】
前記第１のプロファイル情報は、前記第１の装置と第１の仮想端子の画像情報を有し、
前記第２のプロファイル情報は、前記第２の装置と第２の仮想端子の画像情報を有し、
前記第１のアイコンと前記第２のアイコンが、前記画像情報に基づいて表示される、請求項１２に記載の通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，通信装置、通信方法及び通信プログラムに関する。
【背景技術】
【０００２】
一般に装置間、例えばビデオ装置とビデオを表示する表示装置の間は、専用の接続ケーブルを介して接続される。そして、ビデオ装置でコンテンツを選択した後ビデオ再生ボタンを操作すると、ビデオ装置から接続ケーブルを介して再生制御信号が送信され、表示装置にコンテンツが再生される。このように、複数の装置を互いに接続して動作させる場合、一般に専用のコネクタやケーブルにより接続させる。
【０００３】
一方で、近年、ホームネットワークなど複数の家電を通信ネットワークで接続して動作させることが提案されている。例えば、以下の特許文献１には、装置間の通信を制御する技術が記載されている。また、以下の特許文献２には、ネットワーク端末が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１０６０８号公報
【特許文献２】特開２００３−６７２６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、装置毎にネットワークの通信規格が異なっていたり、装置間ネットワークの管理や通信処理を行うための専用のサーバ装置が必要であるなど、様々な問題が未解決である。そのため、様々な種類の装置をネットワークで接続して動作させることは、一定の専門知識を有する専門家でしか実現することができず、一般ユーザが簡単に実現することは困難である。
【０００６】
そこで，本開示の第１の側面の目的は，簡単に複数の装置間をネットワーク接続し、端子間通信することができる通信装置、通信方法及び通信プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本開示の第１の側面は，ネットワークを介して通信を開始する通信クライアント手段と、前記通信の開始に応答する通信サーバ手段と、第１の仮想端子の識別情報とアドレスを有する自己のプロファイル情報を記憶するメモリとを有し、
前記通信サーバ手段は、
第1の装置からネットワークを経由して送信される第1のコマンドに応答して、前記自己のプロファイル情報を、前記第1の装置に返信し、さらに、前記第1の装置から前記ネットワークを経由して送信される第２のコマンドに応答して、前記第２のコマンドが有する第２の仮想端子のアドレスを、前記自己のプロファイル情報内の前記第１の仮想端子のリンク情報に設定し、
前記通信クライアント手段は、
前記第1の仮想端子に対応付けられた所定のイベントに応答して、前記第1の仮想端子のリンク情報に設定された前記第２の仮想端子のアドレスに基づいて、前記第１の仮想端子から前記第２の仮想端子に前記ネットワークを介する通信接続を行う通信装置、である。
【発明の効果】
【０００８】
第１の側面によれば，簡単に複数の装置間をネットワークで接続し、端子間通信することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態における第１、第２の装置間が通信可能になるまでの処理を示す図である。
【図２】本実施の形態における第１、第２の装置間が通信可能になるまでの処理を示す図である。
【図３】本実施の形態における第1、第２の装置間が通信を行う処理を示す図である。
【図４】第１装置、第２装置などの端子間通信を行う装置の構成とプログラム群を示す図である。
【図５】第１装置、第２装置などの端子間通信を行う装置の構成とプログラム群を示す図である。
【図６】第１装置、第２装置などの端子間通信を行う装置の構成とプログラム群を示す図である。
【図７】端末などの機器の構成とプログラム群を示す図である。
【図８】ＷＥＢアプリケーションの処理内容と説明を示す図である。
【図９】端末と第1装置と第２装置間の通信と通信を処理するプログラム及びハードウエアを示す図である。
【図１０】端末がＷＥＢアプリケーション１１１を取得、実行する処理を示す図である。
【図１１】端末によるプロファイルコマンド（ＰＲＯＦコマンド）の処理を示す図である。
【図１２】端末によるリンクコマンド（ＬＩＮＫコマンド）の処理を示す図である。
【図１３】リンク状態にある第1装置の端子と第２装置の端子間のセンドコマンド（ＳＥＮＤコマンド）の通信処理を示す図である。
【図１４】一具体例におけるセンドコマンド（ＳＥＮＤコマンド）の通信処理を示す図である。
【図１５】リンク状態にある第1装置の端子と第２装置の端子間のレシーブコマンド（ＲＥＣＶコマンド）の通信処理を示す図である。
【図１６】一具体例におけるレシーブコマンド（ＲＥＣＶコマンド）の通信処理を示す図である。
【図１７】プロファイルデータの構成を示す図である。
【図１８】端子の属性情報である端子が処理可能なデータの情報の例を示す図である。
【図１９】一具体例での第１装置のプロファイルデータの例を示す図である。
【図２０】一具体例での第２装置のプロファイルデータの例を示す図である。
【図２１】第２の実施の形態を示す図である。
【発明を実施するための形態】
【００１０】
［本実施の形態における第１、第２の装置間の接続処理］
図１、図２は、本実施の形態における第１、第２の装置間が通信可能になるまでの処理を示す図である。また、図３は、本実施の形態における第1、第２の装置間が通信を行う処理を示す図である。以下、端末９００により、第１装置１００ａと第２装置１００ｂとが互いに接続可能になるまでの処理と、その後第１装置と第２装置の仮想端子間で行われる通信処理の例を説明する。
【００１１】
本実施の形態では、第１装置１００ａは例えばタッチパネル付き表示装置であり、第２装置１００ｂは例えばビデオカメラ装置である。表示装置は、各種の操作ボタンや、表示画面に表示される操作対象画像（文字列やアイコン）などの物理的な操作エレメントと、物理的なケーブルが接続される接続端子などを有する。また、ビデオカメラ装置にも、各種の操作ボタン（録画ボタン、再生ボタン、停止ボタンなど）である物理的な操作エレメントと、物理的なケーブルが接続される接続端子などを有する。その場合、第１装置１００ａと第２装置１００ｂには、上記の操作エレメントや接続端子に対応して、仮想端子が設定される。具体的には、第１装置と第２装置それぞれのプロファイル情報に仮想端子が定義され、第１装置の仮想端子と第２装置の仮想端子間で通信ネットワークを介して通信が行われる。したがって、仮想端子は、物理的な端子ではなく、プロファイル情報に設定された仮想的な通信端子（通信ノード）である。また、仮想端子は、前述の物理的な操作エレメントや物理的な接続端子に対応付けられることがあり、さらに操作エレメントや接続端子以外の仮想的な機能に対応付けられる場合もある。
【００１２】
本実施の形態では、このような仮想端子を、単に端子と呼ぶ。但し、特に物理的な端子と区別する場合は仮想端子と呼ぶ。
【００１３】
図１において、端末９００は、例えば、スマートフォンやパッド端末、パーソナルコンピュータなどである。端末９００にはＷＥＢブラウザ（通信クライアント）（ＷＥＢ：ウェブ）が動作可能であり、端末は、インターネットやイントラネットなどの通信ネットワークを介して、通信ネットワーク上のノードと接続可能である。また、第１装置１００ａと第２装置１００ｂは、前述の表示装置やビデオカメラ装置などであるが、基盤プログラムであるＯＳ（Operating System）と、通信クライアント（プログラム）と、通信サーバ（プログラム）などがインストールされる。通信クライアントと通信サーバは、例えばＨＴＴＰ(Hypertext Transfer Protocol)で送信処理を行うプログラムである。
【００１４】
図１に示されるとおり、最初に利用者が端末９００を使用して、第１装置のURI(Uniform Resource Identifier)情報を取得する（S1）。図１の例ではマトリックス型バーコードでURIを取得しているが、他の方法でも取得できる。そして、端末９００は、ＷＥＢブラウザの通信クライアントにより、取得したURIにアクセスを行い（S2）、第１装置１００ａは、通信サーバにより、端末からのアクセスに応答して内部の記憶装置に記憶しているＷＥＢアプリケーション（プログラム）１１１を応答する(S3)。この結果、端末９００のブラウザがダウンロードしたＷＥＢアプリケーションを実行し、表示装置にＷＥＢアプリケーションの表示画像１２１Ｄを表示する。ＷＥＢアプリケーションは、例えばＨＴＭＬ５データである。
【００１５】
また、表示画像１２１Ｄ内のメニューから接続ＧＵＩ（ＷＥＢアプリケーションが有する一つの処理）（ＧＵＩ：Graphical User Interface）の項目を選択する操作が行われると、接続ＧＵＩが実行され、第１装置１００ａの任意の端子にプロファイルコマンド（以下ＰＲＯＦコマンド）３１０を送信する(S4)。ＷＥＢアプリケーション１１１は第１装置のアプリであるので、ＰＲＯＦコマンドの送信先情報を有している。
【００１６】
そして、第１装置では、通信サーバがＰＲＯＦコマンドに応答して、内部の記憶装置に記憶しているプロファイルデータ１２７ａを応答する(S5)。プロファイルデータは、第1装置の名称、装置のアイコン情報、URIに加えて、第1装置が有する複数の仮想端子の情報、例えば端子の名称、URI、リンク情報などを有する。具体例は後述する。
【００１７】
その結果、端末９００の接続ＧＵＩは、取得したプロファイルデータに基づいて、表示画像１２１Ｄ内に第１装置１００ａのアイコン２１１ａと、別の装置の追加要求アイコン１２１Ｄ−Ｂを有する接続ＧＵＩの画像を表示する。アイコン２１１ａには、仮想端子のアイコン２１２も含まれる。
【００１８】
次に、装置の追加要求アイコンが操作され第２装置のＵＲＩが入力または取得されると、端末の接続ＧＵＩは、第２装置１００ｂの任意の端子にＰＲＯＦコマンド３１０を送信する(S6)。それに応答して、第２装置の通信サーバが内部に記憶しているプロファイルデータ１２７ｂを応答する(S7)。その結果、端末９００の接続ＧＵＩは、取得したプロファイルデータに基づいて、表示画像１２１Ｄ内に第２装置１００ｂのアイコン２１１ｂを追加表示する。このアイコンにも仮想端子のアイコンが含まれる。
【００１９】
前述の装置の追加要求アイコンが表示されなくても、利用者が表示画像１２１Ｄの余白領域をタッチして第２装置のＵＲＩを入力または取得することで、端末の接続ＧＵＩが第２装置にＰＲＯＦコマンド３１０を送信するようにしてもよい。または、装置の追加要求アイコンに代えて、ブックマーク内から第２装置を選択するようにしてもよい。さらに、接続ＧＵＩの処理を行うＷＥＢアプリケーションは、第１装置または第２装置のいずれかに記憶されているものでよい。
【００２０】
図２に移り、利用者が、端末９００の表示画面１２１Ｄに表示されている第１装置と第２装置のアイコンの任意の端子２１２間を接続するようにドラッグ操作する。例えば、第１装置のアイコン２１１ａの端子２１２ａから接続操作を開始すると、第２装置のアイコン２１１ｂの端子のうち第１装置の端子２１２ａと通信可能な端子２１２ｂがハイライト表示される。プロファイルデータには、端子の情報として、端子の処理可能なデータの情報と接続数の上限が含まれているので、それに基づいて、接続ＧＵＩは、端子２１２ａと通信可能な端子２１２ｂを検出できる。また、プロファイルデータには各端子の名称や説明文が含まれ、表示画面に名称や説明文が表示されてもよい。その場合、利用者はどの端子からドラッグ操作すればよいか容易に判別できる。
【００２１】
そして、利用者が端子２１２ａと端子２１２ｂとの間をドラッグ操作すると、端末の接続ＧＵＩが、第１装置の端子２１２ａにリンクコマンド（以下ＬＩＮＫコマンド）３２０ａを、第２装置の端子２１２ｂにＬＩＮＫコマンド３２０ｂをそれぞれ送信する(S8,S10)。第１装置に送信するＬＩＮＫコマンド３２０ａには、第２装置の端子２１２ｂのＵＲＩと接続指示が含まれる。一方、第２装置に送信するＬＩＮＫコマンド３２０ｂには、第１装置の端子２１２ａのＵＲＩと接続指示が含まれる。その結果、第１装置１００ａの通信サーバは、プロファイルデータ内の端子２１２ａのリンク情報にリンク先端子２１２ｂのＵＲＩを設定する(S9)。同様に、第２装置１００ｂの通信サーバは、プロファイルデータ内の端子２１２ｂのリンク情報にリンク先端子２１２ａのＵＲＩを設定する(S10)。これらのリンク先端子のＵＲＩの設定は、後述するＬＩＮＫコマンド処理（プログラム）により行われる。そして、端末の接続ＧＵＩが、第１装置接続アイコン２１３を表示する。
【００２２】
上記のプロファイルデータのリンク情報に互いのリンク先端子のＵＲＩを設定することで、第1装置の端子２１２ａと第２装置の端子２１２ｂとの間は、リンク状態にされ、互いに通信できる状態になる。具体的な通信処理は後で詳述する。
【００２３】
図３に移り、第１装置と第２装置間の通信処理について説明する。前述のとおり、ＬＩＮＫコマンドに対するリンク先端子の設定により、第1装置の端子２１２ａと第２装置の端子２１２ｂとは、リンク状態にされ、互いに通信できる状態にされている。したがって、各端子２１２ａ、２１２ｂに対応付けられている所定のイベントの発生に応答して、イベントが発生した装置の通信クライアントが起動する。所定のイベントは、例えば利用者による物理的な操作エレメントの操作や、電源起動などが含まれる。そして、起動した通信クライアントが、プロファイルデータに設定されたリンク先端子のＵＲＩ宛てに、所定のイベントに対応付けられた端子の処理、例えばデータ送信やデータ要求のためのコマンド及びデータを送信する。さらに、リンク先端子の装置の通信サーバが、受信したコマンド及びデータに対応する処理を実行する。
【００２４】
このような端子間の通信を端子間通信と称する。端子間通信は、通信クライアントと通信サーバ間のＨＴＴＰによる通信である。したがって、所定のイベントに対応付けられた端子のＵＲＩとそれとリンク状態にある端子のＵＲＩの情報があれば、通信クライアントと通信サーバは、ＨＴＴＰにより通信することができる。
【００２５】
図３の処理Ｓ１２−Ｓ１４は、第１装置１００ａの表示画面のタッチパネルに触れると、第２装置１００ｂが録画を開始する例である。まず、利用者は、第１装置のタッチパネルの任意の位置または所定の位置に触れる操作を行うと(S12)、第1装置のＯＳが通信クライアントを起動し、タッチパネルに対応付けられている端子２１２ａから第２装置１００ｂの端子２１２ｂにセンドコマンド（以下ＳＥＮＤコマンド）３３０と送信データ３３１を送信する(S13)。送信データ３３１には、データ型「Boolean」と値「true」が含まれ、値「true」は録画開始の指示を意味する。第１装置のプロファイルデータ内に端子２１２ａのリンク先端子として設定されている他の装置の端子すべてに、ＳＥＮＤコマンドと送信データが送信される。
【００２６】
そして、第２装置１００ｂの通信サーバが、受信したＳＥＮＤコマンドを処理するプログラムを起動して、端子２１２ｂである録画端子と送信データの値「true」に対応付けられた録画動作を開始する(S14)。
【００２７】
図３の処理Ｓ１５−Ｓ１８は、第１装置の映像入力ボタンの操作が行われると第２装置が映像配信データのＵＲＩを応答する例である。利用者が、第１装置の映像入力ボタンを操作すると(S15)、表示装置を制御するプレーヤ制御プログラムが起動する。プレーヤ制御プログラムは、プロファイルデータ内に映像入力端子のリンク先端子として設定されている第２装置の映像配信端子のＵＲＩと、レシーブコマンド（以下ＲＥＣＶコマンド）及び送信データとをパラメータにして、通信クライアントを実行する。その結果、通信クライアントはＲＥＣＶコマンド３４０と送信データ３３１を第２装置の映像配信端子に送信する(S16)。
【００２８】
さらに、第２装置の通信サーバが、受信したＲＥＣＶコマンドを処理するプログラムを起動し、端子２１２ｂである映像入力端子と送信データのデータ型である「application/dash+xml」（映像配信データを示すＭＩＭＥ型）に対応した処理を実行させる。その結果、通信サーバは、ＲＥＣＶコマンドを処理するプログラムが取得した映像配信データのＵＲＩ「https://[1234:5678::90ab]/video.mpd」を値とする受信データ３４１を、第１装置の映像入力端子に応答する(S17)。そして、第1装置の通信クライアントは、映像配信データのＵＲＩに基づいて映像コンテンツを取得して、表示装置にコンテンツを再生させる(S18)。
【００２９】
第１装置の所定のイベントは、映像入力ボタンの操作に代えて、第１装置の電源起動などでもよい。
【００３０】
上記の例では、端末９００で接続ＧＵＩを実行したが、それに代えて、第1装置または第２装置が端末９００のＷＥＢアプリケーションの接続ＧＵＩを実行して、ＰＲＯＦコマンドとＬＩＮＫコマンドの送信と対応する処理を行うようにしてもよい。
【００３１】
以下、図１、図２、図３の動作を可能にする各装置と端末の構成及びそのプログラム群について説明し、各コマンドに対する動作を詳述する。
【００３２】
［第１装置、第２装置、端末の構成及びプログラム群］
図４、図５、図６は、第１装置、第２装置などの端子間通信を行う装置の構成とプログラム群を示す図である。
【００３３】
図４に示されるとおり、装置１００は、中央処理装置であるＣＰＵ（Central Processing Unit）１０１、不揮発性記憶装置を含む記憶装置１０２、及び通信を行うための通信装置１０３を有する。さらに、装置１００は、これら以外に、その装置固有の機能（例えば表示や録画、再生など）のために必要な固有の装置１０４も含む。固有の機能には、所定のイベントに応答してそれに対応付けられた端子とそのリンク先端子間の通信を開始する処理も含まれる。さらに、記憶装置１０２には、ソフトウェア１１０が記憶または組み込まれている。
【００３４】
ソフトウェア１１０は、複数のプログラムとデータを有する。通信サーバ（プログラム）１１４は、ＨＴＴＰ(Hypertext Transfer Protocol)という通信規格（ＨＴＴＰＳという暗号通信規格を含む）に従って受信ならびに応答の処理を行うプログラムであり、一般にＨＴＴＰサーバと呼ばれる。通信クライアント（プログラム）１１５は、通信サーバに対してＨＴＴＰに従って送信の処理を行うプログラムであり、一般にＨＴＴＰクライアントと呼ばれる。カーネル１１６は、オペレーティングシステムであり、装置の基本動作に必要なプログラムの集合である。また、プレーヤプログラム、それを制御するプレーヤ制御プログラム１１７は、固有の装置１０４の制御を行う。
【００３５】
ＷＥＢアプリケーション１１１は、装置１００にアクセス（ＨＴＴＰによる通信）してきた端末などに対して、通信サーバ１１４が応答するプログラムであり、端末などが実行するプログラムのデータである。ＷＥＢアプリケーションに後述する接続ＧＵＩ（プログラム機能）１２１が含まれている。
【００３６】
装置間通信プログラム１１２は、前述の数種類のコマンドにより行われる装置間の通信を制御し、それらコマンドを処理するためのコマンド処理（プログラム）１２２〜１２６で構成される。コマンド処理群は、主に、装置１００の通信サーバにより起動されてそれぞれのコマンド処理を行う。コマンド処理群には、ＰＲＯＦコマンド処理１２２、ＬＩＮＫコマンド処理１２３、ＳＥＮＤコマンド処理１２４、ＲＥＣＶコマンド処理１２５、ＮＵＬＬコマンド処理１２６を有する。
【００３７】
装置間通信データ１１３は、装置間の通信で参照されるまたは設定されるデータである。主に、装置１００の固有の情報（装置の名称、アイコン情報、位置情報（ＧＰＳ（Global Positioning System）等による装置の測位情報など）、複数の仮想端子の情報、例えば端子の名称、端子のURI、リンク情報などを有する）を記述しているプロファイルデータ１２７を有する。また、装置間の通信で認証を必要する場合は、認証データ１２８を含んでもよい。
【００３８】
図５に示されるとおり、装置１００の通信サーバ１１４は、少なくとも、ＨＴＴＰに従った受信処理を行うＨＴＴＰ受信処理１１４−１と、その結果をＨＴＴＰに従って応答するＨＴＴＰ応答処理１１４−２を有するプログラムである。また、必要に応じて、暗号通信（ＨＴＴＰＳ）を行うための暗号通信処理１１４−３や、認証および承認を処理する受信時の認証処理１１４−４を有する。また、その他、その装置に必要な処理１１４−１０を有する場合がある。処理１１４−１０は、ログ記録処理、負荷分散処理、プロクシ処理、その他の拡張処理などである。
【００３９】
図６に示されるとおり、通信クライアント１１５は、少なくとも、ＨＴＴＰに従った送信処理を行うＨＴＴＰ送信処理１１５−１を有するプログラムである。また、必要に応じて、暗号通信（ＨＴＴＰＳ）を行うための暗号通信処理１１５−２や、認証に必要なデータ送信を処理する送信時の認証処理１１５−３を有する。また、その他、その装置に必要な処理１１５−１０を有する場合がある。
【００４０】
図７は、端末などの機器の構成とプログラム群を示す図である。端末とは、ＷＥＢブラウザを有するＰＣ、パッド端末やスマートフォン等の機器である。端末９００は、ＣＰＵ９０１、不揮発性記憶装置を含む記憶装置９０２及び通信を行うための通信装置９０３を有する。これ以外に、その装置固有の機能のために必要な固有の装置９０４も構成に含む場合がある。記憶装置９０２には、端末のソフトウェア９１０が記憶または組み込まれている。
【００４１】
端末のソフトウェア９１０は、複数のプログラムとデータを有する。ＷＥＢブラウザ９１５は、通信サーバに対してＨＴＴＰに従って送信の処理を行う通信クライアントである。カーネル９１６はオペレーティングシステムである。
【００４２】
そして、ＷＥＢブラウザ９１５は、少なくとも、ＨＴＴＰに従った送信処理を行うＨＴＴＰ送信処理９１５−１と、その応答を実行する描画エンジン９１５−４を有するプログラムである。また、必要に応じて、暗号通信を行うための暗号通信処理９１５−２や、認証に必要なデータ送信を処理する認証処理９１５−３を有する。また、その他、その装置に必要な処理９１５−１０を有する場合がある。
【００４３】
図８は、ＷＥＢアプリケーションの処理内容と説明を示す図である。ＷＥＢアプリケーション１１１は、接続ＧＵＩ（処理）１２１を含む。ＷＥＢアプリケーション１１１は、他に、必要に応じて、その他の処理１２９（装置および固有の装置の制御ＧＵＩ、装置および固有の装置の設定ＧＵＩ、装置のブックマークＧＵＩ、装置の取扱説明を表示するＧＵＩ、初期画面の表示、各ＧＵＩを呼び出すＭＥＮＵの表示など）を含んでも良い。
【００４４】
接続ＧＵＩ１２１の、任意の装置を呼び出してその装置を図柄（アイコン）で表示する機能１２１−１は、マウスやタッチパネルなどのイベント制御、ＵＲＩの入力（取得）、ＰＲＯＦコマンドの送信、プロファイルデータの記憶、アイコンや端子の図柄描画などの機能を有する。
【００４５】
また、接続ＧＵＩ１２１の、呼び出した装置の間を接続する操作のための機能１２１−２は、マウスやタッチパネルなどのイベント制御、線の描画、ＬＩＮＫコマンドの送信などの機能を有する。
【００４６】
図９は、端末と第1装置と第２装置間の通信と通信を処理するプログラム及びハードウエアを示す図である。まず、端末９００が第1装置１００ａにアクセスしてＷＥＢアプリケーションを取得し、ＰＲＯＦコマンドとＬＩＮＫコマンドを送信する処理について説明する。
【００４７】
端末９００は、前述の利用者の操作に基づいて、ブラウザ９１５が、カーネル９１６のデバイスドライバやネットワークのプロトコルスタックを利用し、通信装置９０３から第１装置１００ａにアクセスまたはコマンドを送信する。この通信は、端末と第１装置が接続可能なネットワークＮＷを介して、ＨＴＴＰによるアクセスと、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）によるＩＰパケットの送信と、通信装置による物理的な通信とで行われる。
【００４８】
第１装置１００ａでは、通信装置１０３がＩＰパケットを受信し、カーネルのプロトコルスタックによりＩＰパケット内のデータが通信サーバ１１４に渡される。通信サーバ１１４は、アクセスに応答してＷＥＢアプリケーションを応答するか、コマンドに応答してコマンドとデータを装置間通信プログラム１１１に処理させる。
【００４９】
装置間通信プログラム１１１のコマンド処理が、コマンドに対応する処理を実行し、ＰＲＯＦコマンドであれば、プロファイルデータを通信サーバ１１４に応答させ、ＬＩＮＫコマンドであればリンク先ＵＲＩをプロファイルデータ内の端末情報に設定する。
【００５０】
次に、第１装置と第２装置間の端末間通信について説明する。第１装置１００ａで物理的な操作エレメント（表示画面のタッチパネルや映像入力ボタン）を操作したり、電源起動されるなどの所定のイベントが発生すると、カーネルまたはそれ以外の制御プログラム等が通信クライアント１１５を起動する。そして、通信クライアントが、所定のイベントに対応するコマンドと送信データを、所定のイベントに対応付けられた仮想端子のリンク先ＵＲＩにＨＴＴＰにより送信する。一方、第２装置１００ｂでは、通信サーバ１１４がコマンドと送信データを受信し、前述と同様に、装置間通信プログラム１１１の対応するコマンド処理にコマンドの処理を実行させる。
【００５１】
［ＷＥＢアプリケーションの接続ＧＵＩの処理］
図１０は、端末がＷＥＢアプリケーション１１１を取得、実行する処理を示す図である。装置１００のネットワークにおける位置であるＵＲＩが、その装置の説明書や本体などに記載されている。最初に、端末９００が、装置１００のＵＲＩを取得し(S1)、端末のＷＥＢブラウザである通信クライアントを実行して、取得したＵＲＩへアクセスを行う（S2）。装置１００の通信サーバ１１４が、このアクセスに応答して（S3_1）、端末９００にＷＥＢアプリケーション１１１を応答する（S3_2）。端末９００は、ＷＥＢアプリケーション１１１を受信し（S3_3）、ＷＥＢブラウザがこれを実行する(S3_4)。ＷＥＢアプリケーション１１１は、例えばＨＴＭＬ５(Hypertext Markup Language 5)によって作成されている。ＷＥＢアプリケーションを実行することで、装置１００の設定や動作などの様々な処理を、端末９００の表示画面からグラフィカルなインターフェースで容易に操作することができる。
【００５２】
ＷＥＢアプリケーション１１１は、様々な処理機能のひとつに接続ＧＵＩ１２１がある。接続ＧＵＩ１２１は、任意の装置を呼び出してその装置を図柄（アイコン）で表示するという機能や、呼び出した装置の間を接続する操作のための機能を持つ。装置のアイコンについては、図１、図２で示したように、装置のアイコンに論理的な端子（仮想端子）のアイコンが含まれる。装置と端子のアイコンは、平面的であってもよく、立体的であってもよい。
【００５３】
端子との通信で使用されるデータを、コマンドと呼ぶ。端子のＵＲＩによってアクセスされる実体は、ＣＧＩ(Common Gateway Interface)である。端子のＣＧＩはアクセスされると、所定のプログラムを実行する。したがって、装置の端子にコマンドを送信することで、装置の装置間通信プログラム１１２が実行され、そのコマンドの種類に応じたコマンド処理が実行される。コマンドの種類には、前述したとおり、プロファイルＰＲＯＦ、リンクＬＩＮＫ、センドＳＥＮＤ、レシーブＲＥＣＶ、ヌルＮＵＬＬなどがある。
【００５４】
図１１は、端末によるプロファイルコマンド（ＰＲＯＦコマンド）の処理を示す図である。ＰＲＯＦコマンドは、装置１００にそのプロファイルデータを応答するように要求するコマンドである。端末９００で実行されている接続ＧＵＩ１２１が、装置１００の任意の端子に対して、ＰＲＯＦコマンド３１０を送信する(S4)。ＷＥＢアプリケーションが装置１００からの応答により取得されている場合、そのＷＥＢアプリケーションは装置１００のＰＲＯＦコマンドの送信先ＵＲＩの情報を有する。したがって、接続ＧＵＩによるＰＲＯＦコマンドの装置１００への送信は、例えばＷＥＢアプリケーションの実行開始時に自動的に行われる。または、端末で利用者が所望の装置のＵＲＩを入力して送信指示の操作をすることで、接続ＧＵＩ１２１がその装置にＰＲＯＦコマンドを送信することもできる。
【００５５】
装置１００の通信サーバ１１４は、ＰＲＯＦコマンドを受信すると(S5_1)、ＰＲＯＦコマンド処理１２２を実行する（S5_2）。ＰＲＯＦコマンド処理１２２は、装置内の記憶装置からプロファイルデータ１２７を取り出し、これを通信サーバに渡す（S5_3）。通信サーバは、プロファイルデータ１２７を端末９００に応答する（S5_4）。端末の接続ＧＵＩは、プロファイルデータを処理して、例えば、プロファイルデータに基づいて、装置とその端子のアイコンを表示する(S5_5)。アイコンは、図１に示したとおりである。
【００５６】
装置１００は、悪意のある第三者からの保護を目的に、ＰＲＯＦコマンド３１０を受信して応答するか否かを、ネットワークの標準的な認証機能などによって確認してもよい。
【００５７】
図１７は、プロファイルデータの構成を示す図である。装置１００は、装置および端子（仮想端子）の特徴や現在の状態を、プロファイルデータ１２７に記憶する。プロファイルデータは、装置に関するデータ１２７＿１と、複数の端子に関するデータ１２７＿２を有する。装置に関するデータ１２７＿１は、装置名称、装置の説明文、装置のアイコン情報、装置の位置情報、装置の端子情報を有する。端子に関するデータ１２７＿２は、端子の名称、端子の説明文、端子のＵＲＩ、端子の属性情報、端子の最大接続可能数、端子のリンク情報を有する。
【００５８】
端子の属性情報１２７＿３は、その端子が処理可能なデータの情報を複数有する。また、端子のリンク情報１２７＿４は、その端子に対して送信されたＬＩＮＫコマンドで設定されるリンク先端子のＵＲＩを複数有する。
【００５９】
図１８は、端子の属性情報である端子が処理可能なデータの情報の例を示す図である。端子が処理可能なデータの情報は、その端子が扱うことのできるデータの種類（データ型）と、その端子がデータをどのように処理できるかを表した端子属性とを有する。送信データや受信データは、データ型と値の組により構成される。
【００６０】
図示されるとおり、データ型には、真偽値（値は真と偽）、数値（値は数字）、文字（値は文字）、ＭＩＭＥ型（値はＵＲＩ）がある。また、端子属性とは、ＳＥＮＤコマンド、ＲＥＣＶコマンド、およびその送受信方向の組み合わせで、４種類（ＩＮ、ＯＵＴ、ＲＥＱ、ＡＣＫ）を有する。端子属性それぞれについての説明は、図１８に示されるとおりである。したがって、端子属性ＯＵＴの端子のリンク先端子は端子属性ＩＮであり、端子属性ＩＮの端子のリンク先端子は端子属性ＯＵＴでもある。同様に、端子属性ＲＥＱの端子のリンク先端子は端子属性ＡＣＫであり、端子属性ＡＣＫの端子のリンク先端子は端子属性ＲＥＱである。このような端子属性とデータ型に基づいて、前述の図２で説明した表示画像１２１Ｄでの接続先候補の端子のハイライト化が行われる。
【００６１】
それぞれの装置がプロファイルデータを保持することで、独立・分散型のネットワーク形態を構成する。このようなネットワーク形態であれば、ネットワークにおいてある装置が故障しても、他の装置はその影響を受けずに動作し続けることができる。また、中央サーバのような、情報を集積する装置との通信も必要なくなり、簡便で低コストである装置の端子間通信を実現できる。また、装置の利用者のプライバシーが尊重される。
【００６２】
図１２は、端末によるリンクコマンド（ＬＩＮＫコマンド）の処理を示す図である。本実施の形態では、リンクとは、異なる端子が論理的に接続されて互いの通信が可能な状態のこと、またはそのような状態にする行為をいう。異なる端子は、それぞれ異なる装置の端子でもよいし、同一装置内の異なる端子でもよい。また、１つの端子が、異なる複数の端子とリンクしてもよい。ＬＩＮＫコマンドは、リンクする、または、リンクを解除するためのコマンドである。
【００６３】
図２で説明したとおり、端末９００の接続ＧＵＩ１２１による表示画面上で、利用者が異なる端子間を接続するようにドラッグ操作をすると、接続ＧＵＩが有する端子間を接続する操作のための機能１２１−２(図８)により、装置１００の接続するようドラッグ操作された端子のＵＲＩに対して、ＬＩＮＫコマンド３２０が送信される(S8)。図１２には、端末９００から装置１００だけにＬＩＮＫコマンドが送信されているが、図２で説明したとおり、リンク状態にしたい異なる端子が異なる装置の場合、それぞれの装置の端子のＵＲＩにＬＩＮＫコマンドが送信される。ＬＩＮＫコマンドの送信そのものは、ＷＥＢブラウザの通信クライアントにより行われる。
【００６４】
ＬＩＮＫコマンド３２０は、リンクをするか解除するかの情報、および、リンク先の相手端子のＵＲＩの情報を含んでいる。これに加えて、認証データ１２８を含んでもよい。
【００６５】
装置１００の通信サーバ１１４は、ＬＩＮＫコマンド３２０を受信すると(S9_1)、ＬＩＮＫコマンド処理１２３を実行する（S9_2）。ＬＩＮＫコマンド処理１２３は、装置内の記憶装置１０２に記憶されているプロファイルデータ１２７のうち、ＬＩＮＫコマンドの送信先ＵＲＩの端子のリンク情報に、ＬＩＮＫコマンドに含められた相手端子のＵＲＩを書き込み、設定する。その後、ＬＩＮＫコマンド処理１２３は、通信サーバ１１４に処理が成功したか失敗したかの情報を端末９００に応答してもよい(S9_4)。
【００６６】
このようにプロファイルデータ１２７内のリンク情報にリンク先端子のＵＲＩが設定されることで、異なる端子間がリンク状態にされる。そして、利用者が一方の端子に関連付けられた物理的な操作エレメントを操作するなど所定のイベントが発生すると、イベントに応答して起動された通信クライアントが、そのイベントに関連付けられた端子のＵＲＩからリンク先端子のＵＲＩに、後述するＳＥＮＤコマンドまたはＲＥＣＶコマンドを送信する。コマンドの種類とコマンドに添付される送信データは、イベントに関連付けられた端子にあらかじめ対応付けられている。
【００６７】
なお、装置１００は、悪意のある第三者からの保護を目的に、ＬＩＮＫコマンド３２０を受信して処理するか否かを、ネットワークの標準的な認証機能などによって制限してもよい。
【００６８】
［端子間通信の処理］
次に、ＬＩＮＫコマンドによりリンク状態に設定された端子間の通信の処理について説明する。端子間の通信では、例えば、データの送信を行うＳＥＮＤコマンドと、データの受信を依頼するＲＥＣＶコマンドと、応答用などに使用されるＮＵＬＬコマンドが送信される。ＮＵＬＬコマンドは、例えば、通信中に何らかの異常により正しい応答ができない場合、受信したコマンドを受理できない場合などに使用される。ＮＵＬＬコマンドを受信した場合、装置は特に何も実行しない。
【００６９】
［ＳＥＮＤコマンド］
図１３は、リンク状態にある第1装置の端子と第２装置の端子間のＳＥＮＤコマンドの通信処理を示す図である。第1装置１００ａの端子に対応する所定のイベントが発生すると、通信クライアント１１５が起動する。そして、通信クライアント１１５が、第２装置１００ｂの所定のイベントに対応付けられた端子のリンク先の端子に対し、ＳＥＮＤコマンド３３０を送信する(S12)。ＳＥＮＤコマンド３３０には送信データ３３１が添付されて送信される。送信データ３３１は、図３に示したとおり、データ型が真偽値（boolean）で、値が真（true）または偽（false）である。ＳＥＮＤコマンドと送信データは、所定イベントに対応付けられた端子に対応付けされている。
【００７０】
第２装置１００ｂの通信サーバ１１４は、ＳＥＮＤコマンド３３０を受信すると(S14_1)、ＳＥＮＤコマンド処理１２４を実行する（S14_2）。ＳＥＮＤコマンド処理１２４は、送信データ３３１をリンク先端子への入力データとして処理する（S14_3）。その結果、第２装置のリンク先端子に対応付けられた処理であって、送信データの値に対応する処理が実行される。その後、ＳＥＮＤコマンド処理１２４は、通信サーバ１１４に書き換えが成功したか失敗したかの情報を第1装置１００ａに応答してもよい(S14_4)。
【００７１】
第２装置１００ｂは、悪意のある第三者の装置などからの保護を目的に、リンク時に入手した認証データ１２８を利用して認証した後、ＳＥＮＤコマンド３３０の受信と処理をおこなってもよい。
【００７２】
上記の第１装置での端子に対応する所定のイベントは、様々なイベントが含まれる。例えば、第１装置の物理的な操作エレメントへの利用者による操作のイベントや、第１装置の電源起動のイベントや、第１装置のある端子が他の装置の端子からＳＥＮＤコマンドを受信するイベントや、第１装置内のセンサが人間を感知したイベントなどがある。
【００７３】
図１４は、一具体例におけるＳＥＮＤコマンドの通信処理を示す図である。一具体例では、第１装置のタッチパネルを操作したことに応答して、通信クライアントが起動し、タッチパネルに対応付けられた端子からリンク先の第２装置の端子にＳＥＮＤコマンドを送信し、第２装置の通信サーバがＳＥＮＤコマンド処理に録画制御処理を実行させる。
【００７４】
図１９は、一具体例での第１装置のプロファイルデータの例を示す図である。また、図２０は、一具体例での第２装置のプロファイルデータの例を示す図である。
【００７５】
図１９の第１装置のプロファイルデータ１２７ａは、装置の名称「モニタ」、装置の画像情報などと、装置の端子情報として、端子１の名称「タッチパネル」、端子１のＵＲＩ１＿１、端子１の属性情報として「OUT, Boolean」「ACK, Boolean」、端子１のリンク情報（「なし」から「リンクしている端子のＵＲＩ２＿１」に設定されている。）などを有する。また、端子２の名称「映像入力」、端子２のＵＲＩ１＿２、端子２の属性情報として「REQ, application/dash+xml」、端子２のリンク情報（「なし」から「リンクしている端子のＵＲＩ２＿２」に設定されている。）などを有する。
【００７６】
図２０の第２装置のプロファイルデータ１２７ｂは、装置の名称「ビデオカメラ」、装置の画像情報などと、装置の端子情報として、端子１の名称「録画」、端子１のＵＲＩ２＿１、端子１の属性情報として「IN, Boolean」「ACK, Boolean」、端子１のリンク情報（「なし」から「リンクしている端子のＵＲＩ１＿１」に設定されている。）などを有する。また、端子２の名称「映像配信」、端子２のＵＲＩ２＿２、端子２の属性情報として「ACK, application/dash+xml」、端子２のリンク情報（「なし」から「リンクしている端子のＵＲＩ１＿２」に設定されている。）などを有する。
【００７７】
したがって、第１装置の端子１「タッチパネル」と第２装置の端子２「録画」はリンク状態に設定され、ＳＥＮＤコマンドの送信（ＯＵＴ）と受信（ＩＮ）がそれぞれ可能である。また、第１装置の端子２「映像入力」と第２装置の端子２「映像配信」もリンク状態に設定され、ＲＥＣＶコマンドの送信（ＲＥＱ）と応答（ＡＣＫ）がそれぞれ可能である。
【００７８】
図１４において、利用者が第１装置のタッチパネルに触れる(S12_1)。タッチパネルに触れると、カーネルの機能によりイベントが発生する（S12_2）。イベントを待ち受ける常駐プログラム（デーモン）が、タッチパネルを触れたイベントに応答して、イベントに対応するＳＥＮＤコマンド＋送信データ（Boolean, true）と、送信先ＵＲＩと、認証情報を所定のテーブルやプロファイルデータから取得して、それらの情報とともに通信クライアントを実行する(S12_3)。上記の処理S12_1―S12_3は、第1装置に固有の構成により実現される。
【００７９】
そして、第１装置の通信クライアントが、タッチパネルの端子から第２装置の録画端子に対応する端子のURI2_1に、ＳＥＮＤコマンドと送信データを送信する(S12_4)。
【００８０】
一方、第２装置の通信サーバが、ＳＥＮＤコマンドと送信データを受信し(S14_1)、ＳＥＮＤコマンド処理を実行する(S14_2)。そして、ＳＥＮＤコマンド処理は、録画端子に対応する端子(URI2_1)に送信された送信データの真偽値をパラメータとして、録画制御処理を実行する(S14_3)。具体的には、録画制御処理は、パラメータ値（true, false）と、第２装置の端子の設定に基づき、録画を開始する（true）または録画を停止する(false)のいずれかである。この処理S14_3も、第２装置に固有の構成で実現される。
【００８１】
［ＲＥＣＶコマンド］
図１５は、リンク状態にある第1装置の端子と第２装置の端子間のＲＥＣＶコマンドの通信処理を示す図である。第１装置１００ａでの所定のイベントに応答して通信クライアント１１５が起動し、通信クライアント１１５が、所定イベントに対応付けられた端子のリンク先である第２装置１００ｂの端子に、ＲＥＣＶコマンド３４０を送信データ３３１と共に送信する(S16)。送信データ３３１には、図３に示したような要求するデータの種類（データ型）が含まれている。
【００８２】
第２装置１００ｂの通信サーバ１１４は、ＲＥＣＶコマンド３４０を受信すると(S17_1)、ＲＥＣＶコマンド処理１２５を実行する(S17_2)。ＲＥＣＶコマンド処理１２５は、リンク先の端子に対して要求されたデータの種類（データ型）を送信データから取得し、種類に対応する受信データ３４１を生成し(S17_3)、受信データ３４１を通信サーバ１１４に渡す(S17_4)。そして、通信サーバ１１４は、受信データを第1装置１００ａに応答する(S17_5)。
【００８３】
第２装置は、悪意のある第三者の別の装置などからの保護を目的に、認証データ１２８を利用して認証した場合に、ＲＥＣＶコマンド３４０の受信と処理を実行してもよい。
【００８４】
そして、受信データを受信した第１装置の通信クライアントが受信データを処理する(S18)。たとえば、受信データに従って第1装置を制御する。
【００８５】
図１６は、一具体例におけるＲＥＣＶコマンドの通信処理を示す図である。一具体例では、第１装置の電源起動イベントに応答して、通信クライアントが、電源起動イベントに対応付けられた端子からそのリンク先の第２装置の端子にＲＥＣＶコマンドを送信し、第２装置の通信サーバによって起動されたＲＥＣＶコマンド処理が、要求されている受信データを第1装置の端子に応答する。
【００８６】
まず、利用者が第1装置の電源を起動する(S16_1)。電源起動に伴いカーネルが第1装置を制御するプレーヤ（プログラム）とそのプレーヤを制御するプレーヤ制御(プログラム)を実行する(S16_2)。プレーヤは、例えば、プレーヤ制御からの指示により再生や停止を行う機能と、映像配信データをダウンロードし、解析し、再生する機能を有する(S16_3)。一方、起動したプレーヤ制御は、電源起動イベントに対応付けられた映像配信端子に対応するＲＥＣＶコマンド＋送信データ（データ型：application/dash+xml,値：なし（固有値））と、その端子のリンク先端子のURI（第２装置の映像配信端子）と、認証情報を、所定のテーブル及びプロファイルデータから取得し、取得情報をパラメータとして通信クライアントを起動する（S16_4）。ＲＥＣＶコマンド＋送信データは、電源起動に対応付けられた映像入力端子の固有値である。上記の処理S16_1〜S16_4は、第1装置に固有の構成により実現される。
【００８７】
そして、通信クライアントが、第２装置の映像配信端子のＵＲＩに、ＲＥＣＶコマンドと送信データを送信する(S16_5)。
【００８８】
一方、第２装置の通信サーバが、ＲＥＣＶコマンドと送信データを受信する(S17_1)。そして、通信サーバがＲＥＣＶコマンド処理を実行する(S17_2)。ＲＥＣＶコマンド処理は、映像配信端子(URI2_2)に送信された送信データの種類に応じた受信データとして、第２装置の映像配信データの保存場所のURIを含む受信データ３４１を生成する(S17_3)。この処理S17_3は、第２装置に固有の構成により実現される。
【００８９】
そして、ＲＥＣＶコマンド処理は、生成した受信データを通信サーバに渡す(S17_4)。これに応答して、通信サーバが受信データを第1装置の映像入力端子に応答する(S17_5)。
【００９０】
さらに、第１装置の通信クライアントが受信データを受信し、プレーヤ制御に渡す(S18_1)。プレーヤ制御は、映像配信データのURIとともに、プレーヤに再生を指示する(S18_2)。この処理S18_2は第1装置に固有の構成により実現される。
【００９１】
その後、プレーヤは、映像配信データのURIにアクセスして映像コンテンツを取得して再生する。図１６の例では、映像配信データのURIは、第２装置内の映像コンテンツを保存する記憶領域の位置である。
【００９２】
［第２の実施の形態］
図２１は、第２の実施の形態を示す図である。図２１の実施の形態では、第１装置（モニタ装置）１００ａ、第２装置（ビデオカメラ）１００ｂ、第３装置（ランプ）１００ｃ、第４装置（エアコン）１００ｄが、端末９００の接続ＧＵＩの表示画像１２１Ｄに示すようにリンク状態に設定されている。このようなリンク状態は、利用者が、接続ＧＵＩの表示画面１２１Ｄで各装置のアイコン２１１ａ〜２１１ｄの端子間を接続するようにドラッグ操作することに応答して、接続ＧＵＩがＬＩＮＫコマンドを各装置の端子に送信し、端子それぞれにリンク先端子のＵＲＩを設定することにより実現される。
【００９３】
第１装置１００ａは、モニタ装置であり、一例として、そのモニタ画面に第２〜第４装置を制御するためのメニューが表示可能にされている。そして、各メニュー項目が、第１装置１００ａの端子に対応付けられている。
【００９４】
たとえば、第１装置１００ａのモニタ画面の第１のメニュー項目をタッチするイベントに応答して、第１装置１００ａの端子２１２ａ＿１からＳＥＮＤコマンドまたはＲＥＣＶコマンドが第２装置１００ｂの端子２１２ｂに送信される。端子間通信は前述のとおりである。
【００９５】
また、第１装置１００ａのモニタ画面の第２のメニュー項目をタッチするイベントに応答して、第１装置の端子２１２ａ＿２から第３装置１００ｃの端子２１２ｃ＿１にＳＥＮＤコマンドが送信される。この第２のメニュー項目は、例えば運転開始である。そこで、第３装置１００ｃのＳＥＮＤコマンド処理は、ＳＥＮＤコマンドの送信データの運転開始を示す「true」に対応する第３装置１００ｃを点灯する処理を実行する。
【００９６】
さらに、第３装置１００ｃのＳＥＮＤコマンド処理は、端子２１２ｃ＿１で受信したＳＥＮＤコマンドを、端子２１２ｃ＿２から第４装置１００ｄの端子２１２ｄに転送する。そこで、第４装置１００ｄのＳＥＮＤコマンド処理は、空調を開始する。このような転送処理は、例えば、第３装置１００ｃのプレーヤ制御などが処理できるように第３装置１００ｃに固有な構成で実現される。
【００９７】
図２１の第２の実施の形態に示されるとおり、本実施の形態の装置の仮想端子間の通信制御を利用して、家庭内のまたは職場内の複数の製品をネットワーク化することができる。各家電製品に必要な構成は、図４，５，６に示したとおり、通信サーバ１１４、通信クライアント１１５、装置間通信プログラム１１２、装置間通信データ１１３などのプログラムやデータと、ＣＰＵ１０１、記憶装置１０２、通信装置１０３などのハードウエアである。ＷＥＢアプリケーション１１１は、必ずしも装置内の記憶装置に記憶されている必要はなく、所定のＷＥＢアプリケーション配信サーバから端末にダウンロードされインストールされても良い。
【００９８】
以上の通り、本実施の形態によれば、ＷＥＢアプリケーションの接続ＧＵＩの機能により、利用者は端末またはある装置の画面上で装置アイコンの端子間を接続するドラッグ操作をすることで、各装置の仮想端子間を仮想の接続ケーブルで接続して（リンク状態にして）、端子間通信可能な状態にすることができる。したがって、煩雑な物理的な接続ケーブルを使用せずに複数の装置間をネットワーク接続することができる。このネットワーク接続は、中央サーバ装置などの大規模な装置を必要としない。
【産業上の利用可能性】
【００９９】
複数の装置のネットワーク接続可能状態を簡便な方法で構築することができ、複数の装置の端子間通信を行うことができる通信装置、通信方法及び通信プログラムを提供する。
【符号の説明】
【０１００】
１００ａ：第１装置
１００ｂ：第２装置
２１２：端子、仮想端子
９００：端末
１１１：ＷＥＢアプリケーション
１１２：装置間通信プログラム
１１３：装置間通信データ
１１４：通信サーバ（プログラム）
１１５：通信クライアント（プログラム）
１１６：カーネル
１１７：プレーヤ（プログラム）、プレーヤ制御(プログラム)
１２７：プロファイルデータ
【図１】
2020194556.tif 000003
【図２】
2020194556.tif 000004
【図３】
2020194556.tif 000005
【図４】
2020194556.tif 000006
【図５】
2020194556.tif 000007
【図６】
2020194556.tif 000008
【図７】
2020194556.tif 000009
【図８】
2020194556.tif 000010
【図９】
2020194556.tif 000011
【図１０】
2020194556.tif 000012
【図１１】
2020194556.tif 000013
【図１２】
2020194556.tif 000014
【図１３】
2020194556.tif 000015
【図１４】
2020194556.tif 000016
【図１５】
2020194556.tif 000017
【図１６】
2020194556.tif 000018
【図１７】
2020194556.tif 000019
【図１８】
2020194556.tif 000020
【図１９】
2020194556.tif 000021
【図２０】
2020194556.tif 000022
【図２１】
2020194556.tif 000023
【手続補正書】
【提出日】令和2年7月22日(2020.7.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１の装置に第１のコマンドを送信し、
前記第１のコマンドに応答して返信される、前記第１の装置の第１の仮想端子の識別情報と接続情報を有する第１のプロファイル情報とに基づいて、前記第１の仮想端子の画像を有する前記第１の装置の第１のアイコンを表示装置に表示し、
第２の装置に第２のコマンドを送信し、
前記第２のコマンドに応答して返信される、前記第２の装置の第２の仮想端子の識別情報と接続情報を有する第２のプロファイル情報に基づいて、前記第２の仮想端子の画像を有する前記第２の装置の第２のアイコンを前記表示装置に表示し、
前記第１のアイコンの第１の仮想端子の画像と前記第２のアイコンの第２の仮想端子の画像とを互いに接続する入力操作に応答して、前記第１の装置に前記第１の仮想端子に前記第２の仮想端子の接続情報を設定させる第３のコマンドを前記第１の装置に送信し、前記第２の装置に前記第２の仮想端子に前記第１の仮想端子の接続情報を設定させる第４のコマンドを前記第２の装置に送信する、
処理を行う端末装置。
【請求項２】
前記第１のプロファイル情報は、前記第１の装置と第１の仮想端子の画像情報を有し、
前記第２のプロファイル情報は、前記第２の装置と第２の仮想端子の画像情報を有し、
前記第１のアイコンと前記第２のアイコンが、前記画像情報に基づいて表示される、請求項１に記載の端末装置。
【請求項３】
第１の装置に第１のコマンドを送信し、
前記第１のコマンドに応答して返信される、前記第１の装置の第１の仮想端子の識別情報と接続情報を有する第１のプロファイル情報とに基づいて、前記第１の仮想端子の画像を有する前記第１の装置の第１のアイコンを表示装置に表示し、
第２の装置に第２のコマンドを送信し、
前記第２のコマンドに応答して返信される、前記第２の装置の第２の仮想端子の識別情報と接続情報を有する第２のプロファイル情報に基づいて、前記第２の仮想端子の画像を有する前記第２の装置の第２のアイコンを前記表示装置に表示し、
前記第１のアイコンの第１の仮想端子の画像と前記第２のアイコンの第２の仮想端子の画像とを互いに接続する入力操作に応答して、前記第１の装置に前記第１の仮想端子に前記第２の仮想端子の接続情報を設定させる第３のコマンドを前記第１の装置に送信し、前記第２の装置に前記第２の仮想端子に前記第１の仮想端子の接続情報を設定させる第４のコマンドを前記第２の装置に送信する、
処理を有する通信方法。
【請求項４】
前記第１のプロファイル情報は、前記第１の装置と第１の仮想端子の画像情報を有し、
前記第２のプロファイル情報は、前記第２の装置と第２の仮想端子の画像情報を有し、
前記第１のアイコンと前記第２のアイコンが、前記画像情報に基づいて表示される、請求項３に記載の通信方法。
【請求項５】
第１の装置から第１のプログラムを受信し、
前記第１のプログラムに応じて、第１の装置及び第２の装置に第１のコマンドを送信し、
前記第１のコマンドに応答して返信される、前記第１の装置の第１の仮想端子の識別情報と接続情報を有する第１のプロファイル情報と、前記第２の装置の第２の仮想端子の識別情報と接続情報を有する第２のプロファイル情報に基づいて、前記第１の仮想端子の画像を有する前記第１の装置の第１のアイコンと、前記第２の仮想端子の画像を有する前記第２の装置の第２のアイコンとを表示装置に表示し、
前記第１のアイコンの第１の仮想端子の画像と前記第２のアイコンの第２の仮想端子の画像とを互いに接続する入力操作に応答して、前記第１の装置に前記第１の仮想端子に前記第２の仮想端子の接続情報を設定させる第２のコマンドを前記第１の装置に送信し、前記第２の装置に前記第２の仮想端子に前記第１の仮想端子の接続情報を設定させる第３のコマンドを前記第２の装置に送信する、
処理を行う端末装置。
【請求項６】
前記第１のプロファイル情報は、前記第１の装置と第１の仮想端子の画像情報を有し、
前記第２のプロファイル情報は、前記第２の装置と第２の仮想端子の画像情報を有し、
前記第１のアイコンと前記第２のアイコンが、前記画像情報に基づいて表示される、請求項５に記載の端末装置。