(57)【特許請求の範囲】
【請求項１】
ホームネットワークにおいて、データをデータ受信機器に送信するデータ送信機器であって、
前記データ受信機器は、前記データ送信機器から自発的に送信された前記データを受信するプッシュ受信に関連するプッシュ受信情報を含むデータ受信オブジェクトを記憶し、
前記プッシュ受信情報は、前記プッシュ受信が可能な組み立て後の前記データの最大サイズを示す最大サイズ情報と、前記データの格納に関連するデータ格納情報と、を含み、
前記データ送信機器は、自発的に前記データを送信する場合、前記データ受信機器に前記プッシュ受信情報を要求するプッシュ受信情報要求手段を具備することを特徴とするデータ送信機器。
【請求項２】
前記データは、ホームネットワーク上の機器に関する情報を規定する機器オブジェクトのプロパティに対応するものであって、
前記データ格納情報は、前記プッシュ受信が可能な前記データを格納するための前記機器オブジェクトの前記プロパティを特定するための情報を含むことを特徴とする請求項１に記載のデータ送信機器。
【請求項３】
前記データ受信オブジェクトは、データ受信を行うためのデータ受信サービス機能の動作がオンであるかオフであるかを示す動作状態情報を含み、
前記データ送信機器は、
前記データ送信機器が立ち上がったときに、前記データ受信機器に通知データを送信する通知データ送信手段と、
前記データ受信機器が前記プッシュ受信可能な場合、前記通知データを受信した前記データ受信機器からの前記動作状態情報を受信する動作状態情報受信手段と、
を具備することを特徴とする請求項１または２に記載のデータ送信機器。
【請求項４】
ホームネットワークにおいて、データ送信機器からのデータを受信するデータ受信機器であって、
前記データ送信機器から自発的に送信された前記データを受信するプッシュ受信に関連するプッシュ受信情報を含むデータ受信オブジェクトを記憶するデータ受信オブジェクト記憶手段と、
前記データ送信機器からの前記プッシュ受信情報の要求を受信する要求受信手段と、
前記プッシュ受信情報の要求を受信した場合、前記プッシュ受信情報を前記データ送信機器に送信するプッシュ受信情報送信手段と
を具備し、
前記プッシュ受信情報は、前記プッシュ受信が可能な組み立て後の前記データの最大サイズを示す最大サイズ情報と、前記データの格納に関連するデータ格納情報と、を含むことを特徴とするデータ受信機器。
【請求項５】
前記データは、ホームネットワーク上の機器に関する情報を規定する機器オブジェクトのプロパティに対応するものであって、
前記データ格納情報は、プッシュ受信が可能な前記データに対応する前記機器オブジェクトの前記プロパティを特定するための情報を含むことを特徴とする請求項４に記載のデータ受信機器。
【請求項６】
前記データ受信オブジェクトは、データ受信を行うためのデータ受信サービス機能の動作がオンであるかオフであるかを示す動作状態情報を含み、
前記データ受信機器は、
前記データ送信機器が立ち上がったときに、前記データ送信機器からの通知データを受信する通知データ受信手段と、
前記プッシュ受信が可能であって前記通知データを受信したときは、前記データ送信機器に前記動作状態情報を送信する動作状態情報送信手段と、
を具備することを特徴とする請求項４または５に記載のデータ受信機器。
【請求項７】
ホームネットワークにおいて、データをデータ受信機器に送信するデータ送信機器のデータ送信方法であって、
前記データ受信機器は、前記データ送信機器から自発的に送信された前記データを受信するプッシュ受信に関連するプッシュ受信情報を含むデータ受信オブジェクトを記憶し、
前記プッシュ受信情報は、前記プッシュ受信が可能な組み立て後の前記データの最大サイズを示す最大サイズ情報と、前記データの格納に関連するデータ格納情報と、を含み、
前記データ送信方法は、自発的に前記データを送信する場合、前記データ受信機器に前記プッシュ受信情報を要求するプッシュ受信情報要求工程を含むことを特徴とするデータ送信方法。
【請求項８】
前記データは、ホームネットワーク上の機器に関する情報を規定する機器オブジェクトのプロパティに対応するものであって、
前記データ格納情報は、前記プッシュ受信が可能な前記データを格納するための前記機器オブジェクトの前記プロパティを特定するための情報を含むことを特徴とする請求項７に記載のデータ送信方法。
【請求項９】
前記データ受信オブジェクトは、データ受信を行うためのデータ受信サービス機能の動作がオンであるかオフであるかを示す動作状態情報を含み、
前記データ送信方法は、
前記データ送信機器が立ち上がったときに、前記データ受信機器に通知データを送信する通知データ送信工程と、
前記データ受信機器が前記プッシュ受信可能な場合、前記通知データを受信した前記データ受信機器からの前記動作状態情報を受信する動作状態情報受信工程と、
を含むことを特徴とする請求項７または８に記載のデータ送信方法。
【請求項１０】
ホームネットワークにおいて、データ送信機器からのデータを受信するデータ受信機器のデータ受信方法であって、
前記データ送信機器から自発的に送信された前記データを受信するプッシュ受信に関連するプッシュ受信情報を含むデータ受信オブジェクトを記憶するデータ受信オブジェクト記憶工程と、
前記データ送信機器からの前記プッシュ受信情報の要求を受信する要求受信工程と、
前記プッシュ受信情報の要求を受信した場合、前記プッシュ受信情報を前記データ送信機器に送信するプッシュ受信情報送信工程と
を含み、
前記プッシュ受信情報は、前記プッシュ受信が可能な組み立て後の前記データの最大サイズを示す最大サイズ情報と、前記データの格納に関連するデータ格納情報と、を含むことを特徴とするデータ受信方法。
【請求項１１】
前記データは、ホームネットワーク上の機器に関する情報を規定する機器オブジェクトのプロパティに対応するものであって、
前記データ格納情報は、プッシュ受信が可能な前記データに対応する前記機器オブジェクトの前記プロパティを特定するための情報を含むことを特徴とする請求項１０に記載のデータ受信方法。
【請求項１２】
前記データ受信オブジェクトは、データ受信を行うためのデータ受信サービス機能の動作がオンであるかオフであるかを示す動作状態情報を含み、
前記データ受信方法は、
前記データ送信機器が立ち上がったときに、前記データ送信機器からの通知データを受信する通知データ受信工程と、
前記プッシュ受信が可能であって前記通知データを受信したときは、前記データ送信機器に前記動作状態情報を送信する動作状態情報送信工程と、
を含むことを特徴とする請求項１０または１１に記載のデータ受信方法。
【請求項１３】
請求項７から１２のいずれか一項に記載の方法をコンピュータに実行させるためのプログラム。
【請求項１４】
請求項１３に記載のプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項１５】
ホームネットワークにおいて、データ受信機器と、データをデータ受信機器に送信するデータ送信機器と、を具備するデータ通信システムであって、
前記データ受信機器は、
前記データ送信機器から自発的に送信された前記データを受信するプッシュ受信に関連するプッシュ受信情報を含むデータ受信オブジェクトを記憶するデータ受信オブジェクト記憶手段と、
前記データ送信機器からの前記プッシュ受信情報の要求を受信する要求受信手段と、
前記プッシュ受信情報の要求を受信した場合、前記プッシュ受信情報を前記データ送信機器に送信するプッシュ受信情報送信手段と
を具備し、
前記データ送信機器は、自発的に前記データを送信する場合、前記データ受信機器に前記プッシュ受信情報を要求するプッシュ受信情報要求手段を具備し、
前記プッシュ受信情報は、前記プッシュ受信が可能な組み立て後の前記データの最大サイズを示す最大サイズ情報と、前記データの格納に関連するデータ格納情報と、を含む、データ通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク接続の確立した２つの通信機器間においてデータ転送を行う際の通信方法に関する。
【０００２】
【従来の技術】
２つの通信機器間でデータ通信を行う場合、それらの通信機器間でネットワーク接続が確立していても、データの送受信が可能になっており、かつ、所望のデータの種別、データ形式、データサイズ等が、双方の通信機器で扱えなければ、実際にデータ通信が行えないか、通信したデータが無効となる。従来は、機器メーカーが独自で定めた通信方法に基づいて通信を行っていた。通信方法の例として、データ送信側機器がデータを送信できるか否かを判断し、または要求されたデータを送信できるか否かを判断する方法、データ送信側機器が送信可能なデータの種別と、データ受信側機器で有効なデータの種別とを比較して通信対象機器とデータの種別とを判断する方法、データ送信側機器が送信可能なデータの種別やデータの数、データの識別情報を取得して通信する方法等がある。さらに、これらの手順の一部を省略したり、複数の方法を組み合わせて、一定の通信シーケンスを実行する方法が採られている。例えば、特許文献１を参照されたい。
【０００３】
【特許文献１】
特開平９−２４４９４２号公報
【０００４】
【発明が解決しようとする課題】
従って、種々のデータ種別、データ形式、データサイズからなる様々な組み合わせによるデータ通信を行おうとすると、無効なデータの通信や通信形態の通知や確認のために通信機器間で通信情報量が増加し、通信トラフィックの増大と、トラフィックの増大によるデータ転送速度の低下を引き起こしていた。また、特定の通信シーケンスでデータ転送を行うことにより、同じ通信機器間での複数回のデータ転送の際にも、毎回重複する情報をやり取りしなければならず、通信情報量の増加とデータ転送速度の低下が起こるという問題があった。
【０００５】
これでは、例えば大きなファイルを分割して送受信しなければならない通信環境において、分割の手順、分割データのサイズ等の設定が各アプリケーションのベンダーにより独自に記述されることとなり、アプリケーションが異なる機器間では通信がとれない。
【０００６】
本発明の目的は、少ない情報交換で効率よく通信形態や通信データの通知・確認を行い、データ通信の対象となる機器および有効データを判断して、データ通信を行う際の通信トラフィックの減少とデータ通信速度の向上を実現することである。
【０００７】
【課題を解決するための手段】
本発明のデータ通信方法は、ネットワークに接続している２つ以上の通信機器が相互にデータ通信を行う際に有用である。このデータ通信方法は、前記通信機器のメモリ上に設けたデータ通信に関する機能を保持するデータ通信機能テーブルと、データ通信制御部を備え、前記データ通信機能テーブルへの書込み、読み出しを、データ通信制御部が行うことにより前記通信機器の相互のデータ通信を行う。この方法によれば、同じデータの送信を行う必要がないのでネットワークトラフィックが減少するという効果を有する。データ通信時間が短くてすむため、各通信機器にとっては、データ通信速度の向上と同様の効果を得ることができる。
【０００８】
データ通信機能テーブルは、送信可能なデータの種類、または受信可能なデータの種類を表すコードを含んでいてもよい。送信不可能なデータの要求、受信不可能または無効なデータの送信がなくなることによりネットワークトラフィックを減少させることができる。
【０００９】
また、データ通信機能テーブルは、自発通信機能または要求応答通信の有無を表す項目を含んでいてもよい。自発通信データの取得を行える通信機器に対してのみデータ通信を行うか、要求応答通信の要求に応答可能な通信機器に対してのみ通信の要求を行うことによりネットワークトラフィックを減少させることができる。
【００１０】
データ通信機能テーブルはデータ通信に最も効率よいデータの分割サイズを表す項目を含んでいてもよい。任意の通信メディアで構成されたネットワークに対して、通信速度が最も効率のよいデータ通信を行うことが可能となる。
【００１１】
通信装置は、メモリ上にデータ通信に関する機能を保持するデータ通信機能テーブルを設け、前記データ通信機能テーブルへの書込み、読み出しを行うことにより前記通信機器の相互のデータ通信を行うデータ通信制御部を備えている。データ通信機能テーブルは、自発送信データ種別、自発受信データ種別、応答送信データ種別、要求受信データ種別の内の少なくともひとつを有する。またデータ通信機能テーブルは、送信データ情報、データ転送状態、種別毎データ数、データ分割数、転送データの内の少なくともひとつを保持している。一方、通信相手のデータ通信機能テーブルは、自発送信データ種別、自発受信データ種別、応答送信データ種別、要求受信データ種別、送信データ情報、データ転送状態、種別毎データ数、データ分割数、転送データの内の少なくともひとつの情報を有する。そして送信側と受信側とがその情報を互いに共通化してもよい。これによれば、同じデータの送信を行う必要がないのでネットワークトラフィックが減少するという効果を有する。データ通信時間が短くてすむため、各通信機器にとっては、データ通信速度の向上と同様の効果を得ることができる。
【００１２】
通信装置は、メモリ上にデータ通信に関する機能を保持するデータ通信機能テーブルを設け、前記データ通信機能テーブルへの書込み、読み出しを行うことにより前記通信機器の相互のデータ通信を行うデータ通信制御部を備えている。データ通信機能テーブルは、自発送信データ種別、自発受信データ種別、応答送信データ種別、要求受信データ種別の内の少なくともひとつを保持する。一方、通信相手のデータ通信機能テーブルは、自発送信データ種別、自発受信データ種別、応答送信データ種別、要求受信データ種別の内の少なくともひとつの情報を有する。そして送信側と受信側とがその情報を互いに共通化してもよい。これによれば、同じデータの送信を行う必要がないのでネットワークトラフィックが減少するという効果を有する。データ通信時間が短くてすむため、各通信機器にとっては、データ通信速度の向上と同様の効果を得ることができる。
【００１３】
本発明によれば、上述のデータ通信方法をコンピュータに機能させるためのプログラムを記録したデータ通信方法の記録媒体が提供される。このようなプログラムは、記録媒体に記録されてもよい。
【００１４】
また本発明によれば、上述のデータ通信方法はコンピュータに機能させるためのプログラムとしても提供される。
【００１５】
通信装置は、メモリ上にデータ通信に関する機能を保持するデータ通信機能テーブルを設け、前記データ通信機能テーブルへの書込み、読み出しを行うことにより前記通信機器の相互のデータ通信を行うデータ通信制御部を備えている。データ通信機能テーブルは、自発送信データ種別、自発受信データ種別、応答送信データ種別、要求受信データ種別の内の少なくともひとつを有する。またデータ通信機能テーブルは、送信データ情報、データ転送状態、種別毎データ数、データ分割数、転送データの内の少なくともひとつを保持する。通信相手のデータ通信機能テーブルは、自発送信データ種別、自発受信データ種別、応答送信データ種別、要求受信データ種別、送信データ情報、データ転送状態、種別毎データ数、データ分割数、転送データの内の少なくともひとつの情報を有する。そして送信側と受信側とがその情報を互いに共通化してもよい。
【００１６】
通信装置は、メモリ上にデータ通信に関する機能を保持するデータ通信機能テーブルを設け、前記データ通信機能テーブルへの書込み、読み出しを行うことにより前記通信機器の相互のデータ通信を行うデータ通信制御部を備えている。データ通信機能テーブルは、自発送信データ種別、自発受信データ種別、応答送信データ種別、要求受信データ種別の内の少なくともひとつを保持する。通信相手のデータ通信機能テーブルは、自発送信データ種別、自発受信データ種別、応答送信データ種別、要求受信データ種別の内の少なくともひとつの情報を有する。そして送信側と受信側とがその情報を互いに共通化してもよい。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。まず各実施の形態を説明するに先立って、本発明の概念を説明する。
【００１８】
図５０は、本発明による通信方法に基づいてデータを送受信する通信システム１００の構成を示す図である。通信システム１００は、２つの通信機器１、２と、これらを接続するネットワーク３とから構成されている。
【００１９】
本明細書で想定する通信システム１００の例は、通信可能な状態で家電機器を相互に接続した家庭内ＬＡＮである。通信機器１、２は、基本的には同様の通信機能および構成を有する家電機器、例えば空調機器（エアコン）、冷蔵庫、電子レンジ、室外カメラである。ネットワーク３は、家電機器に電力を供給する電灯線である。ネットワーク３は電灯線であることから、例えば最大９６００ｂｐｓという比較的低速な通信速度の通信媒体であるとする。ネットワーク３として、家庭内ＬＡＮに代えて、より低速な通信速度（例えば最大２４００ｂｐｓ）の無線で通信を行う無線ネットワークを採用することもできる。いずれの場合でも、新規な配線の敷設は不要である。なおネットワーク３は一般の通信ネットワークであってもよい。
【００２０】
以下の説明では、通信機器１が通信機器２に対してデータファイルを送信し、通信機器２がそのデータファイルを処理するとして説明する。例えば通信機器１を来訪者用の室外カメラ、通信機器２をモニタを有する制御機器（コントローラ）とし、室外カメラが撮影した画像データファイルを、ネットワーク３を介してコントローラのモニタに表示するとする。なおデータファイルには、ファイルとして名称等が付加されていない単なるデータも含むとする。
【００２１】
通信機器１の構成は以下のとおりである。すなわち通信機器１は、アプリケーションソフトウェア１０１と、サービスミドルウェア１０２と、サービスＡＰＩ（Application Program Interface）１０３と、基本ＡＰＩ１０４−１、１０４−２と、通信処理部（通信ミドルウェア）１０５と、サービスオブジェクト１０７と、下位通信ソフトウェア１０８と、共通下位通信インターフェース１０９とを備えている。「ソフトウェア」と記載されていることから明らかなように、図５０に示す通信機器１の構成は、通信機器１の通信機能に関するレイヤの概念モデルである。物理的な構成に基づくブロック図は、例えば後述の図１等に記載されているとおりである。
【００２２】
本発明の主要な特徴の１つは、通信システム１００の通信機器１および２のいずれにも、サービスミドルウェア１０２およびサービスオブジェクト１０７を設け、通信の際の処理手順を統一したことにある。データファイル送信側の通信機器１とデータファイル受信側の通信機器２とにおいて必要な機能は異なるため、サービスミドルウェア１０２およびサービスオブジェクト１０７の具体的な内容は異なる。しかし以下に説明するように、データファイルの授受に必要な情報を予め規定して所定の手順で通信することにより、効率のよい通信形態や通信データの通知・確認が可能となり、それにより容易にデータ通信の対象となる機器および有効データを判断できる。その結果、比較的低速な伝送速度のネットワーク３において十分な実用性を確保している。
【００２３】
アプリケーションソフトウェア１０１は、通信機器１の主要な処理を実行するソフトウェアである。例えば、通信機器１においては、室外カメラによる撮影、符号化等を行うソフトウェアである。通信機器２においては、受信した画像を復号等して表示処理を行うソフトウェアが該当する。アプリケーションソフトウェア１０１は単独で存在してもよいし、特定の処理を行う複数のソフトウェアの集合であってもよい。
【００２４】
サービスミドルウェア１０２は、アプリケーションソフトウェア１０１の共通的、基本的な処理を規定するプログラムである。より具体的には、サービスミドルウェア１０２は、比較的大きなデータファイルを送受信するための処理（データファイルの転送シーケンスの管理、分割されて受信したデータファイルの組み立て（復元）処理）を行う。サービスミドルウェア１０２は、特定のアプリケーションソフトウェアの一部に位置付けられる。したがって、サービスミドルウェア１０２は、内部処理において、通信ミドルウェア１０５の機能を利用する際には、基本ＡＰＩ１０４−２を利用する。そのため通信ミドルウェア１０５からすれば、サービスミドルウェア１０２はアプリケーションソフトウェア１０１の１つとして扱われる。サービスミドルウェア１０２によって共通処理機能を定義することにより、アプリケーションソフトウェアの開発負担を軽減することができ、またソフトウェアベンダーが、より本質的な機能、性能でのシステム、機器開発に集中できるようになり、ユーザにとって有益なシステム関連製品の提供が可能になる。サービスミドルウェア１０２については、後に詳述する。
【００２５】
サービスＡＰＩ１０３は、サービスミドルウェア１０２をアプリケーションソフトウェア１０１からアクセスするためのＡＰＩである。サービスＡＰＩ１０３は、サービスミドルウェア１０２により提供される。サービスＡＰＩ１０３を利用することにより、アプリケーションソフトウェア１０１はサービスミドルウェア１０２に要求を渡すことができ、また、アプリケーションソフトウェア１０１はサービスミドルウェア１０２から処理の結果を受け取ることができる。
【００２６】
一般に、ＡＰＩとは、アプリケーションからＯＳの用意した各機能を呼び出すためのインターフェースをいう。一般にＡＰＩは広く公開されているため、ＡＰＩを利用すればアプリケーションを効率的に開発できる。
【００２７】
次に基本ＡＰＩ１０４−１および１０４−２は、アプリケーションソフトウェアが通信ミドルウェア１０５とデータファイルを授受する際に利用するインターフェースである。上述のように、通信ミドルウェア１０５からみればサービスミドルウェア１０２はアプリケーションソフトウェアの一部であるから、基本ＡＰＩは共通化されている。しかし理解の容易のため、便宜的に、アプリケーションソフトウェア１０１に対しては基本ＡＰＩ１０４−１が利用され、サービスミドルウェア１０２に対しては基本ＡＰＩ１０４−２が利用されることを明示している。
【００２８】
通信ミドルウェア１０５は、機器オブジェクト１０６およびサービスオブジェクト１０７を利用して、データファイルの送受信に関する通信処理を行う。具体的には、ネットワーク３を介して受信した電文の解析等のフレーム処理、サービスオブジェクト１０７のプロパティに従った処理、サービスオブジェクト１０７への書き込み、読み出し処理である。データファイルは、アプリケーションソフトウェア１０１および／またはサービスミドルウェア１０２から受け取ったファイル、および、ネットワーク３から受信したファイルのいずれをも含む。
【００２９】
通信ミドルウェア１０５に備えられた機器オブジェクト１０６を説明する。機器オブジェクト１０６は、機器に関する種々の情報を規定するオブジェクトである。通信機器１の機器オブジェクト１０６は、ネットワーク内のクラス、インスタンス、プロパティ、プロパティ値等を含む。これらにより規定される情報として、例えばカメラを特定するＩＤ番号、外部カメラの動作状態を示すフラグ、シャッター速度、シャッター絞り等のシャッター設定、取得画像の格納位置等があげられる。クラスとインスタンスにより、機器オブジェクトのメモリ領域を指定し、検索できる。
【００３０】
サービスオブジェクト１０７は、ネットワークに公開されたサービスミドルウェア１０２の機能や設定情報であり、より詳しくは、機能、サービス、プロパティを規定したクラス仕様のオブジェクトモデルである。サービスオブジェクト１０７を定義した目的は、サービスミドルウェア１０２をネットワーク３からアクセスすることにより効率的にシステムを構築できるようにするためである。サービスオブジェクト１０７は、送信／受信可能なデータファイルの種類を表すコード、自発通信機能または要求応答通信機能を表す項目等を含む。サービスオブジェクト１０７の具体的な構成の例は、図２〜８、図１７〜１９等に記載の「機能テーブル」に示すとおりである。これらの詳細は各実施の形態において説明する。
【００３１】
下位通信ソフトウェア１０８は、ネットワーク３へのアクセスを可能にするための処理を行う。具体的には下位通信ソフトウェア１０８は、異なる通信媒体のプロトコルの差異を吸収して、共通定義の共通下位通信インターフェース１０９とのデータの受け渡しを行う。共通下位通信インターフェース１０９は、そのデータファイルを媒介する。逆に通信ミドルウェア１０５からネットワーク３に送信すべきデータファイルを受け取ると、下位通信ソフトウェア１０８は、共通下位通信インターフェース１０９を介してそのデータファイルを受け取り、そのデータファイルを所定のプロトコルでネットワーク３へ送出する。
【００３２】
以上、通信機器１の通信機能に関する構成を説明した。なお通信機器２の基本的な構成は、実質的に通信機器１と同じである。ただし通信機器２はコントローラとして機能するため、通信機器１以外の機器との通信を行う必要がある。そのため通信機器２のサービスオブジェクト１１７については、通信の対象となる各機器に対して１つづつ設けてもよい。
【００３３】
ここで本発明の主要な特徴であるサービスミドルウェア１０２をより詳細に説明する。サービスミドルウェア１０２は、比較的小さな伝送容量のネットワーク３でデータファイルを送受信する場合のファイル転送をサポートする。このファイル転送処理をファイル転送サービスと称する。
【００３４】
サービスミドルウェア１０２が管理するデータファイルの転送シーケンスは、大きく２つに分類できる。第１は、通信機器１が自発的にデータファイルを送信する場合の一連の通信シーケンスである。この形態の通信を、「自発通信」または「ＰＵＳＨ型データ通信」と称する。具体的には、カメラ（通信機器１）からコントローラ（通信機器２）に自発的に撮影データファイルを送信する場合の通信シーケンスである。第２は、通信機器２が通信機器１に対してデータファイルの転送を要求し、その要求に応答して通信機器１がそのデータファイルを送信する際の一連のシーケンスである。この形態の通信を、「要求応答通信」または「ＰＵＬＬ型データ通信」と称する。具体的には、ユーザがカメラ（通信機器１）の画像を見たい場合等に、コントローラ（通信機器２）がカメラ（通信機器１）に撮影データファイルを要求して、その要求を受けたカメラ（通信機器１）が撮影を行い、撮影データファイルをコントローラに送信する場合の通信シーケンスである。いずれの通信シーケンスも、後の実施の形態で詳しく説明する。
【００３５】
サービスミドルウェア１０２により行われるデータファイルの分割は、ネットワーク３の伝送容量や、送信先の通信機器２が通信で一度に扱うことのできるデータサイズに基づいて決定される。カメラ（通信機器１）のサービスミドルウェア１０２は、電源投入時等において、下位通信ソフトウェア１０８からの情報に基づいて現在のネットワーク３の伝送容量を認識してもよい。また、送信先の通信機器２が特定されたときに、通信機器２のサービスオブジェクト１１７等を参照して、通信機器２が通信で一度に扱うことのできるデータサイズを取得する。そして送信したいデータファイルがその大きさよりも大きい場合には、伝送容量以下のサイズになるようにデータファイルを分割して送信する。
【００３６】
いま、ネットワーク３において一度に送受信できるデータ長を、最大１３１バイトであるとする。例えばカメラが撮影した画像データのデータサイズが５ｋバイト（約５０００バイト）である場合には、カメラのサービスミドルウェア１０２は、コントローラ（通信機器２）が通信で一度に扱うことのできるデータサイズを考慮して、１３１バイトごとにその画像データを分割してコントローラ（通信機器２）に送信する。分割に関連して、サービスミドルウェア１０２は、送信するデータに関する情報（データ分割情報）をサービスオブジェクト１０７に設定する。データ分割情報は、データ送信側のカメラが通信で一度に扱うことのできるデータサイズである。さらにサービスオブジェクト１０７には、分割された個々の画像データを特定するＩＤ、順番、個数等を含んでもよい。
【００３７】
受信側のコントローラ（通信機器２）は、分割された個々の画像データを受信する。そして通信機器２のサービスミドルウェア１１２は、カメラ（通信機器１）のサービスオブジェクト１０７を参照して、受信したデータが、すべての分割されたデータであるかを確認する。揃っていなかった場合には、カメラ（通信機器１）に不足しているデータの再送信を要求する。すべての分割されたデータが揃った場合には、サービスミドルウェア１１２は、カメラ（通信機器１）のサービスオブジェクト１０７に設定されたデータ分割情報に基づいて分割されたデータを組み立て、もとの画像データファイルを得る。サービスミドルウェア１１２は、アプリケーションソフトウェア１１１からの要求に応じて、サービスＡＰＩ１１３を介して画像データファイルを提供する。
【００３８】
次に上述のデータ転送サービスに関連して、サービスオブジェクト１０７、１１７をより詳しく説明する。データファイルの転送に関連して、送信側の通信機器１にはファイル送信に関するサービスオブジェクト１０７（ファイル送信サービスオブジェクト１０７）が搭載されている。また受信側の通信機器２にはファイル受信に関するサービスオブジェクト１１７（ファイル受信サービスオブジェクト１１７）が搭載されている。いずれのファイル送信／受信サービスオブジェクトも、ファイル転送方式（ＰＵＳＨ型、ＰＵＬＬ型）に応じて、必須のプロパティを実装している。「プロパティ」とは、本ファイル転送サービスの稼動状態、送信状態、送信内容等のサービスそのものの属性や機能を個々に表現したものである。
【００３９】
ファイル送信サービスオブジェクト１０７は、送信設定、送信状態、送信内容等を公開するオブジェクトである。具体的な内容は、図２１、図２２、図３５、図３６に記載されている。一方ファイル受信サービスオブジェクト１１７は、データファイルを受信する窓口として公開されるオブジェクトである。具体的な内容は、図２０、図３４に記載されている。なおＰＵＳＨ送信／受信用取扱オブジェクト情報は、それぞれＰＵＳＨ送信／受信が可能なデータの種別等を表し、ＰＵＬＬ送信／受信用取扱オブジェクト情報は、それぞれＰＵＬＬ送信／受信が可能なデータの種別等を表す。
【００４０】
（実施の形態１）
図１は、本発明による通信方法に基づいてデータを送受信する通信システム１００の構成を示す図である。図５０と同様、通信システム１００は、ネットワーク３を介して接続された通信機器１と通信機器２とから構成されている。
【００４１】
通信機器１は、中央処理部（ＣＰＵ）（１０）、メモリ１１、データ通信制御部１２、メモリ管理部１３、ネットワーク制御部１４を有する。ＣＰＵ１０は、通信機器１の動作を総合的に制御する。ＣＰＵ１０の制御により、他の構成要素（メモリ１１、データ通信制御部１２、メモリ管理部１３、ネットワーク制御部１４）が適切なタイミングで動作し、適切な処理を行う。メモリ１１は、データ通信機能テーブル１５を有する。データ通信機能テーブル１５は、データ通信の機能を規定する情報や通信の処理手順に関する情報を保持している。メモリ１１は、通信機器１において実行されるソフトウェアを格納する。すなわち、アプリケーションソフトウェア１０１およびサービスミドルウェア１０２である。さらにメモリは、通信ミドルウェア１０５を動作させるためのミドルウェア（図示せず）も格納している。データ通信制御部１２は、テーブル共通化制御部１６を有し、後述するテーブル共通化処理に関する制御を行う。メモリ管理部１３は、テーブル値読出し部１７、テーブル値書込み部１８、テーブル共通化処理部１９を有し、データ通信機能テーブル１５の内容について、他の通信機器２との共通化処理を行う。ネットワーク制御部１４は、他の通信機器との間で通信処理を行う。
【００４２】
一方、通信機器２も通信機器１と同様の構成でよい。通信機器２は、ＣＰＵ２０、メモリ２１、データ通信制御部２２、メモリ管理部２３、ネットワーク制御部２４を有する。メモリ２１には、データ通信機能テーブル２５、アプリケーションソフトウェア１１１およびサービスミドルウェア１１２が格納されている。通信機器２の各構成要素には、通信機器１の構成要素と異なる参照符号を付しているが、同名の構成要素は同じ構成および機能を有する。したがって通信機器２の各構成要素については、個別の説明は省略する。
【００４３】
次に再び図５０を参照して、図５０に示す通信機器１のモデル構造が、図１のいずれの構成要素に相当するかを説明する。
【００４４】
まずアプリケーションソフトウェア１０１およびサービスミドルウェア１０２は、図１に示すようにメモリ１１（図１）に格納されている。サービスミドルウェア１０２は、メモリ１１（図１）から読み出されてＣＰＵ１０（図１）により実行される。ＣＰＵ１０は、サービスミドルウェア１０２の命令に基づいて、メモリ１１（図１）に格納された機器オブジェクト１０６およびサービスオブジェクト１０７に適宜アクセスして処理を行う。アプリケーションソフトウェア１０１もまた、メモリ１１（図１）から読み出されてＣＰＵ１０（図１）により実行される。その処理に際し、ＣＰＵ１０は、アプリケーションソフトウェア１０１の命令に基づいて、サービスＡＰＩ１０３を利用してサービスミドルウェア１０２の処理結果を利用し、またはサービスミドルウェア１０２に要求を送る。
【００４５】
機器オブジェクト１０６およびサービスオブジェクト１０７は、データ通信機能テーブル１５（図１）に相当する。いずれもテーブル形式で格納されている。
【００４６】
通信ミドルウェア１０５は、メモリ１１（図１）に格納されている。ＣＰＵ１０は、通信機器１の通信を管理するミドルウェア（図示せず）に基づいて、適宜メモリ１１のデータ通信機能テーブル１５（図１）にアクセスしながらデータ通信制御部１２（図１）およびメモリ管理部１３（図１）を動作させる。
【００４７】
下位通信ソフトウェア１０８および共通下位通信インターフェース１０９は、ネットワーク制御部１４（図１）に相当する。ネットワーク制御部１４（図１）は、シリアルインターフェース（例えばＲＳ−２３２Ｃ）を備えたインターフェースカード、ボード等の通信モジュールとして実現される。下位通信ソフトウェア１０８は、そのような通信モジュール内に設けられたメモリ（例えばＥＥＰＲＯＭ）に格納され、同様に設けられた別個のＣＰＵにより実行され、所定のプロトコルに従った通信を実現する。
【００４８】
通信機器２についても、図１と図５０との対応関係は原則として通信機器１と同じである。したがって、通信機器２の機器オブジェクトおよびサービスオブジェクトは、データ通信機能テーブル２５（図１）に対応する。ただし、通信機器１のデータ通信機能テーブル１５と、通信機器２のデータ通信機能テーブル２５とは、備えているべき機器オブジェクトおよびサービスオブジェクトは異なる。通信機器１がデータ送信側のノードで、通信機器２がデータ送信側のノードの場合には、通信機器１のサービスオブジェクト１０７（図５０）はファイル送信サービスオブジェクトを備え、通信機器２のサービスオブジェクト１１７（図５０）はファイル受信サービスオブジェクトを備えている必要がある。
【００４９】
以下、本実施の形態のデータ通信の動作について説明する。まず、端末機器からコントローラへ、転送データを自発的に送信する場合について、説明する。ネットワーク接続している通信機器１は、自発送信機能を持つエアコンであり、通信機器２は、自発送信に対する受信機能、即ち自発受信機能を持つエアコンなどを集中制御するコントローラとする。自発送信と自発受信による通信を自発通信と呼ぶことにする。
【００５０】
最初に、エアコン１のデータ通信制御部１２からの指令によって、ネットワーク接続確立時またはデータ通信を行う時点で、相手通信機器がデータ通信機能テーブルを有する機器かどうかの確認を行っておくものとする。この確認には、そのための通信電文を予め決めておき、相手の通信機器に問い合せ、返信を得ることにより、行える。さらに、データ通信機能テーブルを有する機器かどうかの確認を行うと同時に、データ通信機能テーブルに格納されている各情報の存在を問い合わせ、返信を得ることにより、自発受信機能をもつ機器かどうかの確認を行ってもよい。なお、この確認は、コントローラ２が、接続されている各機器との間で、データ通信の前に、或いは、定期的に行ってもよい。また、コントローラ２が相手の通信機器に対してデータ通信機能テーブルに格納されている情報の存在を問い合わせを行うことにより、自発送信機能をもつ機器かどうかの確認を行ってもよい。
【００５１】
図２は、エアコン１のデータ通信機能テーブル１５とコントローラ２のデータ通信機能テーブルのデータ通信前状態を示す図である。図３は、送信データ情報の一例を示す図である。図４は、エアコン１とコントローラ２のデータ通信機能テーブル１５、２５のデータ通信終了直前の状態を示す図である。
【００５２】
図２に示すエアコン１の初期状態のデータ通信機能テーブル２０１には、以下の情報が、格納されている。自発送信データ種別２１１は、エアコン１が、テーブル形式のデータを意味する“ＣＳＶ”形式と、テキスト形式のデータを意味する“ＴＸＴ”形式の２種類を、自発的に送信することができる状態を意味する値になっている。自発受信側データ種別２１４は、自発送信を受信する相手側が扱えるデータ種別を意味するが、相手の状態が分からないので、未設定になっている。送信データ情報２１２は、エアコン１が、データを自発送信する際のデータの形式、例えば、データ種別、データ名称、データの作成日付、データのサイズで、図３に示したものである。初期状態では、値は未設定である。データ転送状態２１３は、送信中かどうかを示すもので、当初は“未送信”である。データ分割情報２１５は、自発受信先が扱えるデータ分割サイズであって、当初は分からないので未設定である。転送データ２１６は、転送するデータそのものであり、当初は未設定である。
【００５３】
コントローラ２の初期状態のデータ通信機能テーブル２０２には、以下の情報が、格納されている。自発受信側データ種別２２４は、自発送信を受信するコントローラ２が扱えるデータ種別を意味し、“ＴＸＴ”を扱うことが出来る状態であることを示している。送信データ情報２２２は、自発送信元のエアコン１が自発送信する際のデータの形式、例えば、データ種別、データ名称、データの作成日付、データのサイズで、図３に示すフォーマットの情報である。初期状態では、どんな形式の電文が来るのか分からないので、未設定である。データ転送状態２２３は、送信中かどうかを示すもので、当初は“未送信”である。データ分割情報２２５は、自発受信先、即ちコントローラ２自身が扱えるデータ分割サイズであって、１０２４になっている。転送データ２２６は、受信するデータであり、送信前であるので、当初は未設定である。
【００５４】
次に、エアコン１は、コントローラ２が自発送信相手先となりうる通信機器であるかどうかの確認を以下のようにして行う。エアコン１のテーブル共通化制御部１６はテーブル共通化処理部１９に対して、自発受信側データ種別２１４のデータを共通化する指令を送る。指令を受けたテーブル共通化処理部１９はネットワーク制御部１４に指示して、自発受信側データ種別の共通化を行うための電文を、予めデータ通信機能テーブルを有する構成となっていることを確認済みの通信機器、この例では、コントローラ２に対して送らせる。
【００５５】
電文を受信したコントローラ２は、ネットワーク制御部２４からテーブル共通化処理部２９に受信情報を送り、テーブル共通化処理部２９はテーブル値読出し部２７によりデータ通信機能テーブル２５、即ち、図２のデータ通信機能テーブル２０２内の自発受信側データ種別２２４の値“ＴＸＴ”の読出しを行い、テーブル共通化処理部手段２９に返す。テーブル共通化処理部２９はネットワーク制御部２４に指示して、この読出した値を、電文を送ってきた機器に対して送出、返信させる。この値を受けたエアコン１は、ネットワーク制御部１４からテーブル共通化処理部１９にこの情報を送り、テーブル共通化処理部１９はテーブル値書込み部１８に指示して、取得した値をデータ通信機能テーブル１５に書き込ませる。このようにして、エアコン１のデータ通信機能テーブル１５の自発受信側データ種別に“ＴＸＴ”の値が、図４の４１４に示すように、書き込まれ、データ通信機能テーブルのひとつの項目の共通化が行われる。
【００５６】
次に、エアコン１のテーブル共通化処理部１９は、自発受信側データ種別２１４が自発受信相手先の自発受信側データ種別２２４と共通化されたことをデータ通信制御部１２に通知し、データ通信制御部１２は書き込まれた自発受信側データ種別２１４の値“ＴＸＴ”と自発送信データ種別２１１の値“ＣＳＶ”、“ＴＸＴ”とを比較し、一致するデータ種別が存在するので、送信可能と判断する。一致する種別のデータがない場合には自発送信をできない相手先と判断される。また、コントローラ２のデータ通信機能テーブル２５の自発受信側データ種別２２４に“全て”を表す値が入っていた場合は、エアコン１側の自発送信データ種別２１１に含まれる全てのデータが送信できると判断される。
【００５７】
次に、エアコン１のデータ通信制御部１２はデータの自発送信を行うために、テーブル値書込み部１７に指令を出すことによってデータ通信機能テーブル１５のデータ転送状態２１３の値を、図４の４１３のように“転送中”状態に設定した後、同じくテーブル値書込み部１７に指令を出すことによって、データ通信機能テーブル１５の送信データ情報２１２として、最新の情報である、図３に示したデータ種別３０１、データ名称３０２、日付情報３０３、データバイト数３０４を設定する。この送信データ情報２１２は、今回転送しようとしている転送データの形式を自発受信先に通知するためものである。また同時に、転送データの本体である転送データ２１６として最新のデータを設定する。この状態を、図４の４１２、４１６に示す。
【００５８】
次に、データ通信制御部１２はテーブル共通化制御部１６を用いて、送信データ情報の共通化を行う。即ち、テーブル共通化処理部１９は、設定された送信データ情報４１２を、テーブル値読出し部１７に読み出させ、ネットワーク制御部１４に渡して、コントローラ２に送信させる。送信データ情報４１２を受信したコントローラ２側のテーブル共通化処理部２９は、テーブル値書込み部２８を介して、データ通信機能テーブル２５内の送信データ情報４２２に対して送信データ情報４１２を書き込ませる。
【００５９】
そして、送信データ情報の共通化が行われたことをデータ通信制御部２２に通知し、データ通信制御部２２は送信データ情報により通知されたデータ種別とデータサイズなどから受信可能なデータであるかどうかを判断し、受信可能である場合には、テーブル値書込み部２８により、データ通信機能テーブル２５のデータ転送状態４２３を“転送中”に設定する。その後にデータ通信制御部２２のテーブル共通化制御部２６は、テーブル共通化処理部２９に指示して、データ通信機能テーブル２５のデータ分割情報４２５の値“１０２４”を読み出させ、ネットワーク制御部２４よりエアコン１に通知させる。
【００６０】
エアコン１は、受信したデータ分割情報４２５の値“１０２４”をエアコン１のデータ通信機能テーブル１５にデータ分割情報４１５として格納し、コントローラ２と共通化する。これで、転送データの転送準備が出来たことになる。そこで、データ通信制御部１２がテーブル共通化制御部１６により、データ通信機能テーブル１５の転送データ４１６の値の共通化を指令する。即ち、転送データ４１６のデータ分割を１０２４バイト単位として作成し、エアコン１からコントローラ２へのデータの自発送信を実行する。これによりコントローラ２側のデータ通信機能テーブル２５の転送データ２２６に転送データが４２６として書き込まれ、エアコンからコントローラにデータが転送される。
【００６１】
最後に、エアコン１とコントローラ２のそれぞれのデータ通信制御部１２、２２が転送データの共通化が完了したと判断した時点で、データ転送状態４１３、４２３は、待機中、未送信、又は未設定に書き換えられ２１３、２２３の状態となる。データ転送状態以外の項目については共通化した値が保持される。従って、これ以降は、同じ情報を共通化するためのデータ通信は不要となる。
【００６２】
なお、自発受信側データ種別２２４を伝送する際に、データ分割情報２２５を、同時に、或いは、続けて、伝送してもよい。
【００６３】
（実施の形態２）
次に、コントローラから端末機器に、転送データを要求する要求応答通信の例について説明する。その一例として、照明機器と、照明機器などを集中制御するコントローラとの間のデータ通信について説明する。構成は図１と同様の図で表すことができる。この実施の形態では、図１において、通信機器１は照明機器１、通信機器２はコントローラ２とする。コントローラ２が照明機器１に対してデータ転送を要求し、照明機器１が応答送信し、コントローラ２が、要求受信する場合であり、このようなデータ通信を要求応答通信と呼ぶことにする。
【００６４】
図５は照明機器１とコントローラ２のデータ通信機能テーブル１５、２５のデータ通信前状態を示す図であり、図６は照明機器１とコントローラ２のデータ通信機能テーブル１５、２５のデータ通信終了直前の状態を示す図である。
【００６５】
照明機器１のデータ通信機能テーブル１５には、図５の５０１に示すように、初期状態として、以下の情報が、格納されている。応答送信データ種別５１１は、照明機器１が、テーブル形式のデータを意味する“ＣＳＶ”形式のデータを送信することが出来る状態を意味する値である。送信データ情報５１２は、照明機器１が、データを応答送信する際のデータの形式、例えば、データ種別、データ名称、データの作成日付、データのサイズで、図３に示したものであるが、初期状態では、未設定である。データ転送状態５１３は、送信中かどうかを示すもので、当初は“未送信”である。データ分割情報５１５は、要求受信先が扱えるデータ分割サイズであって、当初は分からないので未設定である。転送データ５１６は、転送するデータそのものであり、当初は未設定である。種別毎データ数５１７は、“ＣＳＶ”、“ＴＸＴ”などのデータ形式毎に、何個のファイルなどの単位でのデータを送信するかを示す情報であり、この実施の形態では、当初は、５１１に示す“ＣＳＶ”であり、１個に設定されている。
【００６６】
コントローラ２のデータ通信機能テーブル２５には、図５の５０２に示すように、初期状態として、以下の情報が、格納されている。応答送信データ種別５２１は、応答送信元が、応答送信するデータの種別を示すもので、当初は分からないので未設定である。送信データ情報５２２は、応答送信元の照明機器１が、データを応答送信する際のデータの形式、例えば、データ種別、データ名称、データの作成日付、データのサイズで、図３に示したものであるが、初期状態では、未だ分からないので未設定である。データ転送状態５２３は、送信中かどうかを示すもので、当初は“未送信”である。データ分割情報５２５は、要求受信先であるコントローラ２自身が扱えるデータ分割サイズであって、１０２４に設定されている。転送データ５２６は、要求受信するデータそのものであり、当初は未設定である。種別毎データ数５２７は、“ＣＳＶ”、“ＴＸＴ”などのデータ形式毎に、何個のファイルなどの単位でのデータを送信してくるかを示す情報であり、当初は未設定である。要求受信側データ種別５２４は、コントローラ２が扱えるデータ種別であり、“ＣＳＶ”、“ＴＸＴ”の２種類を要求受信可能になっている。
【００６７】
以下、本実施の形態のデータ通信の動作について説明する。最初に、コントローラ２のデータ通信制御部１２からの指令によって、ネットワーク接続確立時またはデータ通信を行う時点で、相手通信機器がデータ通信機能テーブルを有する機器かどうかの確認を行っておくものとする。この確認には、そのための通信電文を予め決めておき、相手の通信機器に問い合せ、返信を得ることにより、行える。さらに、データ通信機能テーブルを有する機器かどうかの確認を行うと同時に、データ通信機能テーブルに格納されている各情報の存在を問い合わせ、返信を得ることにより、応答送信機能をもつ機器かどうかの確認を行ってもよい。なお、この確認は、照明機器１が、接続されている各機器との間で、データ通信の前に、或いは、定期的に行ってもよい。また、照明機器１が相手の通信機器に対してデータ通信機能テーブルに格納されている情報の存在を問い合わせを行うことにより、要求受信機能をもつ機器かどうかの確認を行ってもよい。
【００６８】
次に、送信要求機能を持つコントローラ２は、データ通信制御部２２からの指令によって、ネットワーク接続確立時またはデータ通信を行う時点で、送信要求先となり得る通信機器であるかどうかの確認を以下のように行う。コントローラ２はデータ通信制御部２２のテーブル共通化制御部２６によって、照明機器１のデータ通信機能テーブル１５内の、図５に示したテーブル５０１の応答送信データ種別５１１の値である“ＣＳＶ”をコントローラ２の機能テーブル２５の応答送信データ種別５２１に取り込む。このために、テーブル共通化処理部２９は、ネットワーク制御部２４に、応答送信種別データを要求する電文を作成させ、照明機器１に送信する。
【００６９】
照明機器１は、受信した電文をネットワーク制御部１４において解析して、要求内容をテーブル共通化処理部１９に渡し、テーブル共通化処理部１９は、テーブル値読出し部１７を介して、応答送信データ種別５１１の値“ＣＳＶ”を取り出し、返信電文に格納して、ネットワーク制御部１４より、コントローラ２に返信、即ち、要求送信する。コントローラ２は、要求受信した電文から応答送信データ種別５１１の値“ＣＳＶ”を取り出し、図６の応答送信データ種別６２１として、データ通信機能テーブル２５に書き込む。次にコントローラ２のデータ通信制御部２６は書き込まれた応答送信データ種別“ＣＳＶ”と要求受信側データ種別５２４の値である“ＣＳＶ”と“ＴＸＴ”を比較する。一致する種別のデータが存在するので、応答送信を要求受信することが可能であると判断する。この時、一致する種別のデータがない場合は要求受信できないと判断される。
【００７０】
次に、コントローラ２のデータ通信制御部２６は要求可能なデータの情報を取得するために種別毎データ数５１７の共通化を要求することにより、コントローラ２の種別毎データ数５２７に、種別毎データ数５１７の値１が、種別毎データ数５２７として設定される。この共通化も、上記応答送信データ種別５１１、５２１の６１１、６２１への共通化と類似の手順で電文をやり取りすることにより行える。この場合データ数が１つのため、要求できるデータ数は、１個となる。
【００７１】
次に、コントローラ２のデータ通信制御部２６はデータの要求を行うために、データ通信機能テーブル２５のデータ転送状態５２３の値を、図６の６２３に示すように、“転送中”に設定した後、テーブル共通化制御部２６を用いて、照明機器１のデータ転送状態６１３の値を“転送中”に設定する。この共通化も、上記と類似の手順により行える。これにより、照明機器１のデータ通信機能テーブル１５には、転送データ５１６と送信データ情報５１２として最新のデータ情報６１６、６１２を設定するために必要な情報が揃ったことになる。
【００７２】
以降は、実施の形態１と同じ制御手順により照明機器１からコントローラ２にデータが転送される。
【００７３】
最後に、照明機器１とコントローラ２のそれぞれのデータ通信制御部１２、２２が転送データ６１６、６２６の共通化が完了したと判断した時点で、データ転送状態６１３、６２３は“完了”に設定され、データ転送状態６１３、６２６以外の項目については共通化した値が保持される。従って、同じ情報を共通化するためのデータ通信は、以降不要となる。
【００７４】
（実施の形態３）
次に、端末機器からコントローラに対して、転送データの送信を要求する要求応答通信の場合について説明する。図１において、通信機器１は、端末機器群を集中制御するコントローラ１、通信機器２は、電子レンジ２とする。
【００７５】
図７はコントローラ１と電子レンジ２のデータ通信機能テーブル１５、２５のデータ通信前状態を示す図であり、図８はコントローラ１と電子レンジ２のデータ通信機能テーブル１５、２５のデータ通信終了直前状態を示す図である。
【００７６】
コントローラ１のデータ通信機能テーブル１５には、図７の７０１に示すように、初期状態として、以下の情報が、格納されている。応答送信データ種別７１１は、コントローラ１が、ハイパーテキストマークアップ言語形式のデータを意味する“ＨＴＭ”とテキスト形式のデータを意味する“ＴＸＴ”形式のデータを送信することが出来る状態にあることを意味する。送信データ情報７１２は、コントローラ１が、データを応答送信する際のデータの形式、例えば、データ種別、データ名称、データの作成日付、データのサイズで、図３に示したものであり、応答送信可能なデータ種別、“ＨＴＭ”、“ＴＸＴ”毎に、図３の形式の送信データ情報を格納している。データ転送状態７１３は、送信中かどうかを示すもので、当初は“未送信”である。データ分割情報７１５は、要求受信先が扱えるデータ分割サイズであって、当初は分からないので未設定である。転送データ７１６は、転送するデータそのものであり、当初は未設定である。種別毎データ数７１７は、“ＨＴＭ”、“ＴＸＴ”などのデータ形式毎に、ファイルなどの単位で何個のデータを送信するかを示す情報であり、この実施の形態では、当初は、“ＨＴＭ”形式で１０個、“ＴＸＴ”形式で５個に設定されている。
【００７７】
電子レンジ２のデータ通信機能テーブル２５には、図７の７０２に示すように、初期状態として、以下の情報が、格納されている。応答送信データ種別７２１は、応答送信元が、応答送信できるデータの種別を示すもので、当初は分からないので未設定である。送信データ情報７２２は、コントローラ１が、データを応答送信する際のデータの形式、例えば、データ種別、データ名称、データの作成日付、データのサイズで、図３に示したものであるが、初期状態では、未だ分からないで未設定である。データ転送状態７２３は、送信中かどうかを示すもので、当初は“未送信”である。データ分割情報７２５は、要求受信先である電子レンジ２が扱えるデータ分割サイズであって、１０２４に設定されている。転送データ７２６は、要求受信するデータを格納する場所であり、当初は、空、即ち未設定である。種別毎データ数７２７は、“ＨＴＭ”、“ＴＸＴ”などのデータ形式毎に、何個のファイルなどの単位でのデータを送信してくるかを示す情報であり、当初は未設定である。要求受信側データ種別７２４は、電子レンジ２が扱えるデータ種別であり、“ＨＴＭ”１種類を要求受信可能になっている。
【００７８】
以下、本実施の形態のデータ通信の動作について説明する。まず、送信要求機能を持つ電子レンジ２は、ネットワーク接続確立時またはデータ通信を行う時点で、送信要求先となり得る通信機器であるかどうかの確認を以下のように行う。つまり、電子レンジ２はテーブル共通化処理部２９を用いて、コントローラ１のデータ通信機能テーブル１５内から応答送信データ種別７１１の値“ＨＴＭ”、“ＴＸＴ”を取得して８２１に格納し、要求受信側データ種別７２４の値“ＨＴＭ”と比較して、コントローラ１からデータ種別が“ＨＴＭ”の場合のデータ受信が可能であると判断する。
【００７９】
次に、電子レンジ２はテーブル共通化処理部２９を用いて、コントローラ１のデータ通信機能テーブル１５から、種別毎データ数７１７の値１０と５を取得し８２７に格納する。電子レンジ２はこの対象となるデータの中から取得するデータの選択を行うために、テーブル共通化処理部２９を用いてコントローラ１のデータ通信機能テーブルの送信データ情報７１２とのテーブル共通化を行う。この時コントローラ１は、７１２に示すように、送信対象となる全データの送信データ情報を保持しているため、電子レンジ２は対象データ全ての送信データ情報７１２を取得して、送信データ情報８２２としてデータ通信機能テーブル２５に格納することができる。複数種類ある送信データ情報の中から要求するデータの選択をすることが可能となる。しかし、この実施の形態では、受信可能なものは、“ＨＴＭ”１種類であるので、“ＨＴＭ”種別を選択することができるのみである。
【００８０】
次に、電子レンジ２のデータ通信制御部２２は送信データ情報８２２で取得したデータ種別のうち“ＨＴＭ”データの内の３番目のデータ要求を行うために、データ通信機能テーブル２５のデータ転送状態７２３を、図８の８２３に示すように“３番転送中”に設定した後、テーブル共通化制御部２６を用いて、コントローラ１のデータ転送状態７１３の値を、図８の８１３に示すように“３番転送中”に設定する。これにより、コントローラ１のデータ通信制御部１２は、転送データ７１６と送信データ情報７１２に最新のデータ情報を設定することができる。
【００８１】
以降は（実施の形態１）と同じ制御によりコントローラから電子レンジに指定のデータが転送される。
【００８２】
また、コントローラ内のデータが可変の場合つまり種別毎データ数、各データの送信データ情報、転送データの値が可変の場合、データ転送状態が“転送中”の場合は書込み不可の状態となる。また、データ転送状態を“転送中”とは別に“書込み不可”状態に設定することが可能となり、この状態の時には種別毎データ数、各送信データ情報、各データ情報の各値を不変とすることが可能となる。
【００８３】
最後に、コントローラ１と電子レンジ２のそれぞれのデータ通信制御部１２、２２が転送データの共通化が完了したと判断した時点で、データ転送状態は“完了”に設定され、データ転送状態以外の項目については共通化した値が保持される。従って、同じ情報を共通化するためのデータ通信は、以降は不要となる。
【００８４】
上記３つの実施の形態において、データの伝送が必要になった起動側（トリガ側）の通信機器と、その相手の通信機器の各データ通信機能テーブルの情報を共通化するための機器の構成、機器の動作、処理手順を説明した。実施の形態１では、自発通信の自発送信側が、自発受信側のデータ種別に合わせた。実施の形態２、３では、要求応答通信の要求受信側が、応答送信側のデータ種別に合わせた。
【００８５】
両者に共通するデータ種別がなければ、データ転送を行うことができないので、データ転送不可能であることを、通信機器の一方又は両方が、表示するようにしてもよい。
【００８６】
或いは、データ種別を変換する機能を持った別の通信機器をネットワークに接続、設けておいて、この変換器を介して、データ転送を行うようにしてもよい。このような変換機能を通信機器内に備えておけば、データ種別が不一致の場合も、どちらかの有するデータ種別に合わせて変換したデータを送信、受信することができる。
【００８７】
また、所望のデータ種別の受信ができる別の通信機器が、代わりに、転送データを受取っておき、後で届けるようにしてもよい。
【００８８】
また、データ種別が互いに不一致の場合、送信したいデータ種別に合わせた、転送シーケンスや、データ種別の転送データを処理できるプログラムを、別の通信機器に問い合わせ、その通信機器から通信機器１、通信機器２のうち、対応できない機器にダウンロードして、所望のデータ種別を、所望の種別データ数、データ分割により、扱えるようにしてもよい。
【００８９】
一方、２つの通信機器に共通のデータ種別が、複数種類存在する場合は、そのどのデータ種別によっても、データ転送ができる。通常転送データは、その種別が、“ＴＸＴ”、“ＣＳＶ”、“ＨＴＭ”など予め決まっているので、転送を所望するデータファイルにあわせたデータ種別を設定する必要がある。必要とするファイルのデータ種別を調べてから、複数あるデータ種別情報から選択して、共通化するようにしてもよい。
【００９０】
本発明で用いているデータ通信機能テーブルは、データ通信に関わる一連の手順、即ちオブジェクトを規定する働きを持っており、テーブル自身がひとつのオブジェクトとみなせる。データ送信に関わる情報を各情報毎に共通化することだけでなく、転送タスクというオブジェクトとして、即ち、オブジェクトを共通化することにより、データ通信の開始に伴う両通信機器間のネゴシエーションを円滑化し、不要な通信輻輳を逓減できる。
【００９１】
先に説明した自発送信データ種別、送信データ情報、データ転送状態、転送データ、自発受信側データ種別、応答送信データ種別、要求受信データ種別、データ分割数、種別毎データ数は、データ通信のサービスの形態を決めるためのプロパティと呼ぶパラメータである。これらのパラメータの決め方には種々あるが、その具体例を図９、図１０、図１１に示す。図９と図１０は、［Ａ］データ送信サービスに関連するプロパティである。
【００９２】
（１）ＰＵＳＨ送信用取扱タイプ情報（自発送信データ種別）
＜値の詳細＞
・ＰＵＳＨ型でデータ送信を行う場合の扱うデータのＭＡＸバイト数、タイプ数、各データタイプとＭＡＸデータ数を表すプロパティ。
・取扱データＭＡＸバイト数：送信可能な１データの最大バイト数を表す。
・タイプ数：取扱うデータタイプの数。この値が０の場合は全データ種類が対象となりえることを示す。
・ＭＡＸデータ数：タイプ毎の扱うデータのＭＡＸ数。
【００９３】
＜読出し・書込み・通知のタイミングなど＞
・データ転送状態に関わらず、この値の読出しは常に可能である。
【００９４】
（２）ＰＵＬＬ送信用取扱タイプ情報（応答送信データ種別）
＜値の詳細＞
・ＰＵＬＬ型でデータ送信を行う場合の扱うデータのＭＡＸバイト数、タイプ数、各データタイプとＭＡＸデータ数を表すプロパティ。
・取扱データＭＡＸバイト数：送信可能な１データの最大バイト数を表す。
・タイプ数：取扱うデータタイプの数。この値が０の場合は全データ種類が対象となりえることを示す。
・ＭＡＸデータ数：タイプ毎の扱うデータのＭＡＸ数。
【００９５】
＜読出し・書込み・通知のタイミングなど＞
・データ転送状態に関わらず、この値の読出しは常に可能である。
【００９６】
（３）ＰＵＬＬ送信用タイプ別データ数（種別毎データ数）
＜値の詳細＞
・タイプ毎の現在のデータ数。
・タイプの並び順はＰＵＬＬ送信用取扱タイプ情報と同じとするが、データ数０のタイプを省略することも可能。
・データ転送状態に指定するデータＮｏ．も、このタイプの順に並んでいる。
【００９７】
＜読出し・書込み・通知のタイミングなど＞
・データ転送状態が転送中、書込ロック中の場合には、データ数が変更されることはない。
・データ転送状態に関わらず、この値の読出しは常に可能である。
【００９８】
（４）送信データ情報
＜値の詳細＞
・送信対象となる各データのタイプや名称、日付、バイト数などの情報。
・１送信データの情報が１配列の配列扱いのプロパティであり、配列要素Ｎｏ．はデータＮｏ．となる。また、データＮｏ．順はＰＵＬＬ送信用取扱タイプ情報で指定されたタイプ順に並んでいる。
・日付情報：データの日付をＸＸ：ＹＹ：ＭＮ：ＤＤ：ＨＨ：ＭＭ：ＳＳで表す。
（２０〜９９）：（０〜９９）：（１〜１２）：（１〜３１）：（０〜２３）：
（０〜５９）：（０〜５９）
オブジェクトが日付情報をもたない場合は各バイトデータを０に設定。
・データバイト数：送信データ全体のバイト数。
・チェックコード：送信データ全体の各バイトデータを合計しその２の補数。
【００９９】
＜読出し・書込み・通知のタイミングなど＞
・データ転送状態が転送中、書込ロック中の場合には、この情報が変更されることはない。
・要素指定による送信データ情報の読出しは常に可能である。
【０１００】
（５）データ転送状態
＜値の詳細＞
・現在のデータ転送状態を表し、転送中の場合はデータＮｏ．を表す。
・送信タイプ情報、指定タイプのデータ数と各データ情報の値を変更させないための書込ロック状態に設定することも可能。
【０１０１】
＜読出し・書込み・通知のタイミングなど＞
・データ転送状態が書込みロックまたは転送中の場合は、再度データＮｏ．の書込みを行ってデータ転送を開始するか、正常終了または異常終了の終了状態に戻す必要がある。
・データ転送後一定時間を経過しても欠損データの要求またはデータ転送状態の設定がない場合は、自端末がデータ転送状態を異常終了に設定する。
・データ転送状態が書込みロック中または転送中の場合には、転送処理を行っている端末以外の端末からのこの値の書込みはできない。
・この値の読出しは常に可能である。
【０１０２】
（６）データ転送
＜値の詳細＞
・データ転送状態にデータＮｏ．が指定された場合に、そのデータを、データ分割情報から求められた分割サイズに分割し、配列型として連続送信する。
・全配列数：分割送信する全配列の数。
・分割データサイズ：このフレームの分割データバイト数。
【０１０３】
＜読出し・書込み・通知のタイミングなど＞
・データ分割情報通知を受信後に、送信側から転送データ本体を通知送信する。
【０１０４】
図１１は、［Ｂ］データ受信サービスに関するプロパティである。
【０１０５】
（１）ＰＵＳＨ受信用取扱タイプ情報（自発受信側データ種別）
＜値の詳細＞
・ＰＵＳＨ型でデータ受信を行う場合の扱うデータのＭＡＸバイト数、タイプ数、各データタイプを表すプロパティ。
・取扱データＭＡＸバイト数：受信可能な１データの最大バイト数を表す。
・タイプ数：取扱うデータタイプの数。この値が０の場合は全データ種類が受信可能であることを示す。
【０１０６】
＜読出し・書込み・通知のタイミングなど＞
・データ転送状態に関わらず、この値の読出しは常に可能である。
【０１０７】
（２）ＰＵＬＬ受信用取扱タイプ情報（要求受信側データ種別）
＜値の詳細＞
・ＰＵＬＬ型でデータ受信を行う場合の扱うデータのＭＡＸバイト数、タイプ数、各データタイプを表すプロパティ。
・取扱データＭＡＸバイト数：受信可能な１データの最大バイト数を表す。
・タイプ数：取扱うデータタイプの数。この値が０の場合は全データ種類が受信可能であることを示す。
【０１０８】
＜読出し・書込み・通知のタイミングなど＞
・データ転送状態に関わらず、この値の読出しは常に可能である。
【０１０９】
（３）データ分割情報
＜値の詳細＞
・受信側が受信に最適な搭載データの最大バイト数。
・セットされた搭載データ最大バイト数、自端末が一度に送信可能な搭載データ最大バイト数。
・搭載データ最大バイト数の中の最小バイト数で、データ転送の搭載データを構成できるように、送信データを分割してデータ転送処理を行う。
【０１１０】
＜読出し・書込み・通知のタイミングなど＞
・データ転送状態が転送中の場合には、値の書込みはできない。
【０１１１】
次に、上記３つの実施の形態において説明したデータ通信の方法、手順を実行するために、図９、図１０、図１１の各プロパティを使用した電文の例について、説明する。
【０１１２】
自発通信（ＰＵＳＨ型データ通信）の処理では、送信側から自動発信によりデータ転送を行う場合、受信側のＰＵＳＨ受信用取扱タイプを要求して転送データ種類の確認を行った後、送信データ情報の通知を行い、受信側からの応答であるデータ転送確定に続いて、送信側からの分割データ転送を行うことによりデータ転送を行う。自発通信（ＰＵＳＨ型データ通信）の代表的な通信シーケンスを図１２に示す。これは、送信側が内部のトリガによりデータを自動送信する処理である。
【０１１３】
＜事前処理＞
▲１▼取扱タイプ情報要求（送信側→受信側）
送信側が受信側に対して、ＰＵＳＨ受信用取扱タイプ情報を読出し要求する。
▲２▼取扱タイプ情報応答（受信側→送信側）
要求を受けて、受信側はＰＵＳＨ受信用取扱タイプ情報を応答送信する。
【０１１４】
＜データ送信処理＞
▲３▼送信データ情報通知（送信側→受信側）
送信側は「データ転送状態」に送信データＮｏ．を書込み転送中にセットした後、受信側に対して転送データのサイズ、チェックサムなどの送信データ情報を通知する。受信側は、送信データ情報からデータ受信可能かを判定し、受信できない場合はデータ転送完了設定で異常終了を設定する。
【０１１５】
▲４▼分割データ情報通知（受信側→送信側）
受信側は、受信可能であると判定した場合は、自端末の受信可能な搭載最大バイト数を送信する。
▲５▼分割データ転送（送信側→受信側）
送信側は受信側に対して、データを分割して連続送信する。
【０１１６】
▲６▼指定分割データ要求（受信側→送信側）
受信側は最終分割データを受信した後、または分割データ受信待ちのタイムアウトが発生した時点で、正しく受信できなかった分割データがある場合は、分割データの配列要素番号を指定して送信要求を行う。
▲７▼指定分割データ転送（送信側→受信側）
送信側は、受信側から指定分割データの要求があった場合に、指定された配列要素の分割データを送信する。
▲８▼データ転送完了設定（受信側→送信側）
受信側は送信側に対して、データが正しく受信できた場合または何らかの理由によりデータ転送処理を終了する場合に、データ転送状態を完了にするデータを送信する。
【０１１７】
※但し、このフレームが送信されない場合もある。従って、データ送信側は指定分割データの要求とデータ転送完了設定のフレーム受信待ちの処理においてタイムアウトを設け、データ転送状態を処理中から完了に変更する処理を行う。
【０１１８】
図１３の▲１▼〜▲８▼は、上記各シーケンスに用いる電文の一例である。図１３において、ＯＨＤはオブジェクトヘッダ、ＳＥＯＪは送信元オブジェクト、ＤＥＯＪは受信先オブジェクト、ＥＰＣはプロパティ名称コード、ＥＳＶはプロパティサービス内容である。その後に、必要に応じて各種データを搭載する。これらの電文は、通信機器１と２のアドレスを、送信元アドレス、受信先アドレスの何れかとして、付加することにより、ネットワーク制御部１４と１５の間で、送受信される。
【０１１９】
要求応答通信（ＰＵＬＬ型データ通信）の処理では、受信側からデータ転送の要求を行う場合、送信側のＰＵＳＨ送信用取扱タイプを要求して転送データの確認を行った後、必要に応じてデータ情報収集処理を行い、次に、受信側がデータ転送開始トリガを送信する。このトリガを受けてデータ送信側が指定データの送信データ情報を通知し、以降はＰＵＳＨ型と同じデータ転送処理を行う。
【０１２０】
図１４に、要求応答通信（ＰＵＬＬ型データ通信）の代表的な通信シーケンスを示す。各電文について簡単に説明する。
【０１２１】
＜事前処理＞
（１）取扱タイプ情報要求（受信側→送信側）
送信側が受信側に対して、ＰＵＬＬ送信用取扱タイプ情報を読出し要求する。
（２）取扱タイプ情報応答（送信側→受信側）
要求を受けて、受信側はＰＵＬＬ送信用取扱タイプ情報を応答送信する。
【０１２２】
＜対象データ情報収集処理＞
データ選択処理は以下の通り。但し、これらの各処理は必要に応じて行う。また、データ転送を行わずに、各処理を単独で行うことができる。
（３）データ転送状態要求（受信側→送信側）
受信側が送信側に対して、データ転送状態を要求する。この要求を受けて、送信側はデータ転送状態を応答する。
（４）データ転送状態応答（送信側→受信側）
送信側が受信側に対して、データ転送状態応答を送信する。受信側は、データ転送状態が未処理または終了状態の場合は、書込みロックまたはデータ転送開始トリガを送信する。
【０１２３】
（５）書込みロック（受信側→送信側）
カレントデータ種別やデータ情報の書き換えを送信側が行わないようにロックするために、データ転送状態を書込みロックにする。この書込みロックは必要に応じて行う。このロックを行った後には必ず、データ転送状態にデータＮｏ．をセットしてデータ転送を開始するか、終了状態に設定する必要がある。
（６）タイプ別データ数要求（受信側→送信側）
必要に応じてデータ転送開始直前の情報を収集するために、送信タイプ毎のデータ数を要求する。
（７）タイプ別データ数応答（送信側→受信側）
要求に応じて、タイプ毎のデータ数を応答する。
【０１２４】
（８）指定送信データ情報要求（受信側→送信側）
データ転送処理前に、データ送信の対象となるデータ情報を取得したい場合は、データ番号を指定することにより、送信データ情報を要求する。
（９）指定送信データ情報応答（送信側→受信側）
送信側は要求に応じて、指定の送信データ情報を応答する。
【０１２５】
＜送信処理＞
（１０）データ転送開始トリガ（受信側→送信側）
受信側が送信側に対して、データ転送状態を処理中にするフレームを送信することにより、データ転送開始のトリガを送信する。このトリガを受けて、送信側は次の処理を行う。
【０１２６】
※以降は「ＰＵＳＨ型データ転送」に同じである。
図１５、図１６は、上記ＰＵＬＬ型シーケンスの通信電文の例である。
【０１２７】
次に、データ通信機能テーブルの別の実施の形態を、図１７、図１８に示す。図１７、図１８において、通信機器１のデータ通信機能テーブル９０１は、自発送信データ種別９１１、自発受信データ種別９１２、応答送信データ種別９１３、要求受信データ種別９１４、送信データ情報９１５、データ転送状態９１６、種別毎データ数９１７、データ分割数９１８、転送データ９１９を備えている。通信機器２のデータ通信機能テーブル９０２も、自発送信データ種別９２１、自発受信データ種別９２２、応答送信データ種別９２３、要求受信データ種別９２４、送信データ情報９２５、データ転送状態９２６、種別毎データ数９２７、データ分割数９２８、転送データ９２９を備えている。
【０１２８】
各データエリアは、（ａ）と（ｂ）に分かれており、（ａ）には自己のデータが格納され、（ｂ）には相手のデータが格納される。自己データ（ａ）の内、自発送信データ種別９１１、９２１、自発受信データ種別９１２、９２２、応答送信データ種別９１３、９２３、要求受信データ種別９１４、９２４、種別毎データ数９１７、９２７、データ分割数９１８、９２８には、通信機器自身が扱うことが出来るデータの種別やデー多数データ分割数が格納されている。送信データ情報９１５、９２５、データ転送状態９１６、９２６は、データ通信の実行過程で決まる値であり、初期状態では、未設定である。データ転送状態９１６、９２６の未設定は、“未送信”の意味である。各データの内、（ｂ）は、初期状態では、相手の状態が分からないので、これらも未設定である。
【０１２９】
通信機器１が自発送信をする場合について説明する。通信機器１は、通信機器２に対して、自発受信データ種別９２２（ａ）とデータ分割情報９２８（ａ）を送るように電文を発信し、通信機器２は、これに応答してデータを送る。通信機器１は、受信した自発受信データ種別９２２（ａ）とデータ分割情報９２８（ａ）を、９１２（ｂ）と９１８（ｂ）に、それぞれ格納し、９１１（ａ）、９１８（ａ）と比較し、共通するものがあることを確認し、共通するものの中から所望のデータ種別を選んで、送信データ情報９１５（ａ）に書き込む。図１８の場合は、“ＨＴＭ”が９１１（ａ）と９１２（ｂ）の中で共通し、１０２４が９１８（ａ）と９１８（ｂ）の中で共通している。
【０１３０】
通信機器１は、“ＨＴＭ”形式のファイルＡを自発送信することにし、送信データ情報９１５（ａ）を、図３のフォーマットに従って、データ種別“ＨＴＭ”、データ名称ファイルＡ、日付２００２／３／１０、データバイト数５５００と設定し、このデータを通信機器２に送る。通信機器２は、受信したデータを送信データ情報９２５（ｂ）に格納する。そして、通信機器１は、ファイルＡを転送データ９１９（ａ）に準備する。データ転送状態９１６（ａ）を“転送中”に設定し、設定したデータを送信して、通信機器２に対して、転送を実行することを知らせる。通信機器２は、受信したデータ転送状態９１６（ａ）を９２６（ｂ）に格納し、ファイルの受信準備をする。
【０１３１】
次に、通信機器１は、転送データ９１９（ａ）のファイルＡを、１０２４バイト毎に分割して転送する。通信機器２は、分割受信したファイルＡを、転送データ９２９（ｂ）に受信順に格納する。ファイルＡが、複数のサブファイルからなっている場合は、サブファイルの番号に従って、“３番転送中”のように、データ転送状態９１６（ａ）を、サブファイル番号に従って変えてゆけば、転送状態とサブファイルの番号管理が行える。また、通信機器２の方でも、９２６（ｂ）により、転送状態とサブファイルの番号管理が行える。送信データ情報９１５（ａ）を送信する際に、種別毎データ数９１７（ａ）を、同時に、または、別途に送信しておけば、通信機器２は、転送実行において送られてくるファイルの数が、予め分かり、受信が完了したかどうかの判断ができる。
【０１３２】
このように、通信機器１と２のそれぞれが扱えるデータ種別、データ分割数、種別毎データ数などを、どちらかが入手して、自己の処理能力と比較して、お互いの処理能力を共通化しておく。また、ファイルなどの転送データを選んで転送する際には、その転送データのデータ種別、データ名称などをお互いに共通化しておく。その次に、転送データを転送実行によりお互いに共通化する。このようにデータ通信機能テーブルを使用して、お互いを共通化することにより、通信機器１、２間での通信の調停が確実に、少ない通信量で行うことができる。
【０１３３】
図１７、図１８のデータ通信機能テーブルでは、通信機器１、２共に、自発送信、自発受信、応答送信、要求受信ができる場合としたが、その一部だけを行う機器では、不要なデータエリア、そのうちの（ａ）、（ｂ）の一方、又は、両方を省略してもよい。実施の形態１、２、３は、そのような場合に相当するものである。共通化のためには、転送データの送信側になる通信機器の方で、扱えるデータ種別、データ分割情報、種別毎データ数などを共通化するのが、好ましいが、受信側において、共通化に対応して受信準備をするようにしてもよい。とくに、受信側が、受信する転送データの属性、状況に合わせて対応を変えられる場合は、このようにしても差し支えない。
【０１３４】
図１７、図１８のデータ通信機能テーブルにおいて、自発送信データ種別９１１と応答送信データ種別９１３をまとめて、ひとつの送信データ種別９１１とし、自発受信データ種別９１２と要求受信データ種別９１４をまとめて、ひとつの受信データ種別９１２とし、９１３、９１４を削除してもよい。この場合は、自発通信では、相手の受信データ種別を取り寄せて、自己の送信データ種別と相手の受信データ種別を比較することになる。また、要求応答通信では、相手の送信データ種別を取り寄せて、自己の受信データ種別と相手の送信データ種別を比較することになる。
【０１３５】
上記説明したように、個々のプロパティを、手順を追って転送して共通化する代わりに、データ通信機能テーブルの形で転送することにより、共通化を行ってもよい。この場合、データ通信機能テーブルの中身は、必要なものの未設定して送ることになる。一回の転送で済ます場合もあるが、一般的には、通信機器１、２の双方の間で、数回の転送を行うことになる。
【０１３６】
（実施の形態４）
図１の構成を持つ端末機器とコントローラについて、端末機器からコントローラへデータを自発的に送信する場合について説明する。一例として、データを自発送信する端末機器をエアコン１、受信側をコントローラ２とし、エアコン１がメンテナンスデータを一定期間蓄積すると自発的にコントローラ２に送信する場合の説明を行う。
【０１３７】
図１９に示すように、エアコン１には送信機能テーブル１００１、コントローラ２には受信機能テーブル１００２が用意されており、両者は通信ネットワークを介して通信相手のテーブルに対して参照や、書き込みを行うことでデータの送受信を行う。以下、送信機能テーブルと受信機能テーブルを総称して通信機能テーブルと呼ぶ。
【０１３８】
送信機能テーブル１００１には以下の情報を格納する。動作状態１０１１は、送信機能テーブル１００１全体の動作が有効かどうかを示し、例えばＯＮ＝０ｘ３０、ＯＦＦ＝０ｘ３１の2値で表現する。１０１２はデータ提供機器・機能情報で、送信データを提供する機器種別およびその機能を表すコードを格納する。エアコンの一定期間のメンテナンスデータを送信する場合には、エアコンを表すコード０ｘ０１３００１とメンテナンスデータを表すコード０ｘＦ０を組み合わせた０ｘ０１３００１Ｆ０を１０１２に格納する（コードは例である）。機器と機能によってこのコードはユニークとする。１０１３は送信データ情報で、例えば図３に示すように、データ種別（ビットマップ形式、テキスト形式など）、データ名称、データの作成日付、送信データのサイズで構成する。１０１４はデータ送信状態で、送信中か否かを示す。１０１５はデータ分割情報で、受信側のコントローラ２が扱えるデータサイズである。また、１０１６は送信データそのものである。
【０１３９】
一方、受信機能テーブル１００２には以下の情報を格納する。動作状態１０２１は、受信機能テーブル１００２全体の動作が有効かどうかを示し、例えばＯＮ＝０ｘ３０、ＯＦＦ＝０ｘ３１の2値で表現する。１０２２は１０１２と同じくデータ提供機器・機能情報で、送信データを提供する機器種別およびその機能を表すコードを格納する。１０２４はデータ受信状態で、受信中か否かを示す。１０２５はデータ分割情報で、受信側が扱えるデータサイズである。
【０１４０】
以下に、本実施の形態の動作について説明する。まず、エアコン１とコントローラ２はお互いに通信相手を認識する必要がある。特に、送信側であるエアコン１は、送信先であるコントローラ２の存在を確認して初めてコントローラ２に対してデータ送信が可能となるため、この確認シーケンスは必須である。これは以下の通信手順によって行う。
【０１４１】
エアコン１およびコントローラ２は電源が入った直後に、自身が持つ通信機能テーブルの情報をネットワーク上に通知する仕様となっている。エアコン１の電源がコントローラ２より後に入った場合、コントローラ２は、エアコン１の送信機能テーブル１００１搭載の通知を受けた後、エアコン１の送信機能テーブル１００１の動作状態１０１１に対してＯＮの書き込み電文を送る。このエアコン１に対する書き込み電文には、コントローラ２のアドレスや受信機能テーブル１００２を搭載することを示す情報が入っている。エアコン１は、該電文を受けることにより、受信機能テーブルを持つ機器の存在を知る。
【０１４２】
一方、コントローラ２の方が後に電源が入った場合、エアコン１は、コントローラ２の受信機能テーブル１００２搭載の通知を受けることができるので、送信相手先を認識することは可能であるが、コントローラ２の受信機能テーブル１００２搭載の通知を受けた後、コントローラ２の受信機能テーブル１００２の動作状態１０２１に対してＯＮの書き込み電文を送って、コントローラ２にエアコン１の存在を認識させても良い。
【０１４３】
なお、上記の通信手順の代わりに、エアコン１およびコントローラ２は、電源が入って自身が持つ通信機能テーブルの情報をネットワーク上に通知した後、相手の通信機能テーブルに動作状態の参照／通知要求電文を送り、該電文に対する応答によって通信相手の確認を行っても良い。例えば、送信機能テーブルを持つエアコン１が起動した時は、ネットワーク上の受信機能テーブルを持つすべての機器に対して動作状態の参照／通知要求電文を送る。この電文を受けたコントローラ２が受信機能テーブル１００２の動作状態１０２１を読み出して応答電文を作成してエアコン１に送れば、エアコン１はコントローラ２の受信機能テーブル１００２の存在を確認することができる。
【０１４４】
以上により、データ送信を行う事前処理として、エアコン１は自発送信の相手先であるコントローラ２を認識することが可能となる。
【０１４５】
次にエアコン１とコントローラ２とのデータの送受信について述べる。エアコン１は、例えばある一定期間のメンテナンスデータが蓄積されると、データ提供機器・機能情報を作成し、コントローラ２に送信する。コントローラ２は、エアコン１のデータ提供機器・機能情報を受け取ると該情報の中身を吟味し、メンテナンスデータの取得を行う場合には、エアコン１の送信機能テーブル１００１のデータ送信状態１０１４に対して“送信中”を表すコードを書き込む電文をエアコン１に送る。また同時にコントローラ２は自身の受信機能テーブル１００２のデータ受信状態１０２４に“受信中”を表すコードを書き込む。なお、コントローラ２がメンテナンスデータの取得を行わない場合には、エアコン１の送信機能テーブル１００１のデータ送信状態１０１４に対して“異常終了”を表すコードを書き込む電文をエアコン１に送る。この場合、コントローラ２は自身の受信機能テーブル１００２のデータ受信状態１０２４には何も書き込まない。
【０１４６】
エアコン１はコントローラ２による“送信中”書き込み電文受信をトリガにして、まず送信機能テーブル１００１より送信データ情報１０１３を読み出し、コントローラ２に送信する。しかる後に、送信データ１０１６を読み出し、データ分割情報１０１５に格納されたデータサイズに送信データを分割してコントローラ２への自発送信を実行する。コントローラ２は、分割された送信データを全て受信すると、データを組み立てて、先に受信した送信データ情報とリンクして保存する。
【０１４７】
なお、エアコン１がコントローラ２にデータ提供機器・機能情報を送信する際、送信データ情報１０１３を付加してもよい。この場合、エアコン１はコントローラ２からの“送信中”書き込み電文を受信すると、即座に分割した送信データをコントローラ２に送ることになる。
【０１４８】
以上により、本実施の形態４では、データを自発送信する機能を持った端末機器と、それを受信するコントローラにおいて、端末機器がデータを送信する前に、端末機器の機器・機能情報を含めたデータに関する情報をコントローラに送るので、コントローラはデータを提供する機器・機能情報を明確に把握した上でデータを取得することができる。
【０１４９】
（実施の形態５）
図１の構成を持つ端末機器とコントローラについて、コントローラから端末機器にデータを要求する場合について説明する。一例として、端末機器を静止画像を取るカメラ１、受信側をコントローラ２とし、コントローラ２がカメラ１の静止画像データを要求する場合の、データ送受信の方法を説明する。
【０１５０】
カメラ１とコントローラ２は、それぞれ図１９に示す送信機能テーブル１００１、受信機能テーブル１００２を持つ。各テーブルの構成は実施の形態４と同様なので、その説明は省略する。なお、送信機能テーブル１００１のデータ提供機器・機能情報１０１２には、カメラ１を表すコード０ｘ０６Ｃ００１と静止画像データを表すコード０ｘＦ１を組み合わせた０ｘ０６Ｃ００１Ｆ１が格納されている（コードは例である）。
【０１５１】
以下に、本実施の形態の動作について説明する。まず、コントローラ２はカメラ１の存在を認識しなければならない。これは以下の通信手順によって行う。
【０１５２】
実施の形態４と同じく、カメラ１およびコントローラ２は電源が入った直後に、自身が持つ通信機能テーブルの情報をネットワーク上に通知する仕様となっている。コントローラ２の電源がカメラ１より後に入った場合、カメラ１はコントローラ２の受信機能テーブル１００２搭載の通知を受けると、コントローラ２の受信機能テーブル１００２の動作状態１０２１に対してＯＮの書き込みを行う。このコントローラ２に対する書き込み電文には、カメラ１のアドレスや送信機能テーブル１００１を搭載することを示す情報が入っている。コントローラ２は、該電文を受けることにより、送信機能テーブルを持つ機器の存在を知る。
【０１５３】
逆に、カメラ１の方が後に電源が入った場合、コントローラ２は、カメラ１の送信機能テーブル１００１搭載の通知を受けることができるので、データ要求先を認識することは可能であるが、カメラ１の送信機能テーブル１００１搭載の通知を受けた後、カメラ１の送信機能テーブル１００１の動作状態１０１１に対してＯＮの書き込み電文を送って、カメラ１にコントローラ２の存在を認識させても良い。
【０１５４】
なお、上記の通信手順の代わりに、実施の形態４と同じく、カメラ１およびコントローラ２は、電源が入って自身が持つ通信機能テーブルの情報をネットワーク上に通知した後、相手の通信機能テーブルに動作状態の参照／通知要求電文を送り、該電文に対する応答によって通信相手の確認を行っても良い。
【０１５５】
以上により、データ送信を行う事前処理として、コントローラ２はデータ要求先であるカメラ１を認識することが可能となる。
【０１５６】
次にカメラ１とコントローラ２とのデータの送受信について述べる。コントローラ２はカメラ１の送信機能テーブル１００１のデータ提供機器・機能情報１０１２に対しデータ供給元の機器および機能の情報を取得するための参照要求電文をカメラ１に送信する。コントローラ２はカメラ１の応答電文より、カメラ１のデータ供給元の機器および機能の情報（本実施の形態では「カメラの静止画像」という情報）を取得し、カメラ１からデータを取得するかどうかを判断する。コントローラ２がカメラ１からデータを取得する場合、まずカメラ１の送信機能テーブル１００１のデータ送信状態１０１４の参照要求電文をカメラ１に送信する。コントローラ２はカメラ１からの応答電文を受けてカメラ１の送信状態を確認し、送信状態が“ＲＥＡＤＹ”であれば、カメラ１の送信機能テーブル１００１のデータ送信状態１０１４に“送信中”コードの書き込み要求電文をカメラ１に送信する。またコントローラ２は自身の受信機能テーブル１００２のデータ受信状態１０２４に“受信中”を表すコードを書き込む。
【０１５７】
カメラ１はコントローラ２より送信機能テーブル１００１のデータ送信状態１０１４に“送信中”コードを書き込まれると、送信データ情報１０１３を作成し、コントローラ２に送信する。その後、送信データ１０１６を読み出し、データ分割情報１０１５に格納されたデータサイズに送信データを分割してコントローラ２への自発送信を実行する。コントローラ２は、分割された送信データを全て受信すると、データを組み立てて、先に受信した送信データ情報とリンクして保存する。
【０１５８】
以上により、本実施の形態５では、データを保持する端末機器と、それを要求するコントローラにおいて、コントローラは端末機器にデータを要求する前に、端末機器の機器・機能情報を含めたデータに関する情報を取得するので、コントローラはデータを提供する機器・機能情報を明確に把握した上で端末機器のデータを取得することができる。
【０１５９】
（実施の形態６）
上記実施の形態４と実施の形態５で説明したデータ通信の方法、手順を実現するためのプロパティの具体例を図２０、図２１、図２２に示す。
【０１６０】
図２０は、データ受信サービスに関連するプロパティである。
【０１６１】
（１）ＰＵＳＨ受信用取扱オブジェクト情報
＜値の詳細＞
・        取扱ファイルMAXバイト数：PUSH受信可能な組み立て後のファイルのMAXバイト数。
・        ファイル提供機器オブジェクト／プロパティ数：PUSH受信可能なファイルを提供する自ノードまたは他ノード機器のプロパティ数。最大値は４０。
・        ファイル提供機器オブジェクト／プロパティ：PUSH受信可能なファイルを提供する自ノードまたは他ノード機器のオブジェクトコードとプロパティコードを組み合わせたもの。
・        ファイル数：受信し保持することが可能な機器オブジェクト・プロパティ毎のファイル数を表す。
・        0〜0xFFFE=ファイル数。0xFFFF＝特に制限がないことを表す。
【０１６２】
＜読出し・書込み・通知のタイミングなど＞
・        本プロパティ値の読み出しは、常に可能である。
【０１６３】
（２）ＰＵＬＬ受信用取扱オブジェクト情報
＜値の詳細＞
・        取扱ファイルMAXバイト数：PULL受信可能な組み立て後のファイルのMAXバイト数。
・        ファイル提供機器オブジェクト／プロパティ数：PULL受信可能なファイルを提供する自ノードまたは他ノード機器のプロパティ数。最大値は４０。
・        ファイル提供機器オブジェクト／プロパティ：PULL受信可能なファイルを提供する自ノードまたは他ノード機器のオブジェクトコードとプロパティコードを組み合わせたもの。
・        ファイル数：受信し保持することが可能な機器オブジェクト毎のファイル数を表す。0〜0xFFFE=ファイル数。0xFFFF＝特に制限がないことを表す。
【０１６４】
＜読出し・書込み・通知のタイミングなど＞
・        本プロパティ値の読み出しは、常に可能である。
【０１６５】
（３）データ分割情報
＜値の詳細＞
・        受信に最適なEDT最大バイト数を表す。
【０１６６】
＜読出し・書込み・通知のタイミングなど＞
・        送信側が送信データ通知を行なう前に、読出しを行なう。
・        本プロパティ値の読み出しは、常に可能である。
【０１６７】
図２１は、データ送信サービスに関連するプロパティの一部である。
【０１６８】
（１） ＰＵＳＨ送信用取扱オブジェクト情報
＜値の詳細＞
・        取扱ファイルMAXバイト数：PUSH送信可能な分割前のファイルのMAXバイト数。
・        ファイル提供機器オブジェクト／プロパティ数：PUSH送信可能なファイルを提供する自ノードまたは他ノード機器のプロパティ数。最大値は４０。
・        ファイル提供機器オブジェクト／プロパティ：PUSH受信可能なファイルを提供する自ノードまたは他ノード機器のオブジェクトコードとプロパティコードを組み合わせたもの。
・        ファイル数：機器オブジェクト・プロパティ毎に保持しているファイル数を表す。
【０１６９】
＜読出し・書込み・通知のタイミングなど＞
・        本プロパティ値の読み出しは、送信状態に関わらず可能である。
・        本プロパティ値のファイル数は、送信状態が送信中または書込みロック中の場合には変更されない。
【０１７０】
（２）ＰＵＬＬ送信用取扱オブジェクト情報
＜値の詳細＞
・        取扱ファイルMAXバイト数：PULL送信可能な分割前のファイルのMAXバイト数。
・        ファイル提供機器オブジェクト／プロパティ数：PULL送信可能なファイルを提供する自ノードまたは他ノード機器のプロパティ数。最大値は４０。
・        ファイル提供機器オブジェクト／プロパティ：PULL受信可能なファイルを提供する自ノードまたは他ノード機器のオブジェクトコードとプロパティコードを組み合わせたもの。
・        ファイル数：機器オブジェクト・プロパティ毎に保持しているファイル数を表す。
【０１７１】
＜読出し・書込み・通知のタイミングなど＞
・        本プロパティ値の読み出しは、送信状態に関わらず可能である。
・        本プロパティ値のファイル数は、送信状態が送信中または書込みロック中の場合には変更されない。
【０１７２】
図２２は、データ送信サービスに関連するプロパティの一部である。
【０１７３】
（３）送信状態
＜値の詳細＞
・        READY/前回正常終了=0：処理待機中で、送信実行前または前回正常終了した。
・        送信開始=0x01：送信処理開始（送信処理中）
・        書込みロック中=0x10：送信対象情報、送信ファイル情報、送信データの各値を変更させないためのモード
・        前回異常終了=0xFF：処理待機中で、前回異常終了した。
【０１７４】
＜読出し・書込み・通知のタイミングなど＞
・        本プロパティ値の読み出しは常に可能である。
・        送信状態が送信中または書込みロック中の場合には、送信状態の書込みを行なったファイル受信側ノード以外から本プロパティ値の書込みはできない。
・        データ送信中に本プロパティへの正常終了、または異常終了の書込みにより、送信処理の中断が可能。
・        送信状態が送信中または書込みロック中の場合には、正常終了または異常終了の終了状態に戻すか、再度「送信開始」の書込みを行なって送信を開始する必要がある。
【０１７５】
（４）送信対象情報
＜値の詳細＞
・        ファイル提供機器オブジェクト／プロパティ：取扱オブジェクト情報の中で、送信対象となる機器オブジェクト／プロパティ情報
・        ファイル番号：複数のファイルを扱える場合の、ファイル番号。
【０１７６】
＜読出し・書込み・通知のタイミングなど＞
・        PUSH型送信の場合は、送信側ノードから受信側ノードに対して通知を行なう。
・        PULL型送信の場合は、受信側ノードから送信側ノードに対して、書込みを行なう。
・        本プロパティ値は、送信状態が送信中または書込みロック中の場合には変更されない。
・        本プロパティ値は、送信状態が送信中または書込みロック中の場合には、常に読出し可能である。
【０１７７】
（５）送信ファイル情報
＜値の詳細＞
・        送信ファイルの名称、日付情報、ファイルバイト数、チェックコードを示す。
・        名称：ASCII８文字で表現されるファイル名称。
・        属性：ASCII３文字で表現されるファイル属性。
【０１７８】
・        日付情報：ファイル日付を Y1Y2/MN/DD HH：MM：SSの形式で表す。
Y1=0x13〜0x63(19〜99), Y2=0x00〜0x63(00〜99), MN=0x01〜0x0C(1〜12),
DD=0x01〜0x1F(1〜31), HH=0x00〜0x17(0〜23), MM=0x00〜0x3B(0〜59),
SS=0x00〜0x3B(0〜59)
ファイルが日付情報を持たない場合は各バイトデータは０に設定される。
【０１７９】
・        ファイルバイト数：送信ファイル全体のバイト数。
・        チェックコード：送信ファイル全体の各バイトを合計しその２の補数。
【０１８０】
＜読出し・書込み・通知のタイミングなど＞
・        PULL型送信の場合は、送信側ノードは、受信側ノードから送信状態プロパティに「送信中」の書込みが行なわれた後、本プロパティ値を受信側ノードに通知する。
・        PUSH型送信の場合は、送信側ノードは、送信状態プロパティを「送信中」に変更した後に、本プロパティ値を受信側ノードに通知する。
【０１８１】
・        本プロパティ値は、送信状態が送信中または書込みロック中の場合には変更されない。
・        本プロパティ値は、送信状態が送信中または書込みロック中の場合には、常に読出し可能である。
【０１８２】
（６）送信データ
＜値の詳細＞
・        全配列数：分割送信する全配列の数。
・        分割データサイズ：分割データのバイト数。全配列数が２以上の最終配列要素以外は、分割データサイズは等しく、また、（分割データサイズ＋６）がEDTサイズと等しいものとする。
・        分割データ：分割したデータ本体。最終配列要素は、他の配列とEDTサイズを等しくし、分割データサイズ以降のデータは０パディングする。
【０１８３】
＜読出し・書込み・通知のタイミングなど＞
・        受信側のデータ分割情報を受信後に、送信側ノードから送信データの通知を行なう。
・        送信状態が送信中でない場合は、本プロパティ値の通知や読み出しはできない。
【０１８４】
つぎに、上記実施の形態４と実施の形態５で説明したデータ通信の方法、手順を実現するために、図２０、２１、２２の各プロパティを使用したシーケンスの例について、説明する。
【０１８５】
機器立ち上げ時の処理は、各ノードの立ち上がりシーケンスでインスタンス変化クラス通知を行なうことを利用し、PUSH型ファイル転送を行なう場合は、送信側が受信側ノードのEAを、PULL型ファイル転送を行なう場合は、受信側が送信側ノードのEAを取得する。
【０１８６】
図２３は、受信側が送信側より先に立ち上がる場合のシーケンスである。
＜受信側ノードが先に立ち上がり、送信側ノードが後で立ち上がったときの処理＞
【０１８７】
（１）インスタンス変化クラス通知（送信側→受信側）
立ち上げシーケンスに従い、受信側に対してインスタンス変化クラスの通知を行なう。この通知を受けた受信側は、送信サービスオブジェクトを搭載している機器のＥＡを取得することが可能となる。
【０１８８】
（２）動作状態ＯＮ書込要求（受信側→送信側）
受信側がPUSH型でファイル受信が可能な場合、インスタンス変化クラスの通知を受けて受信側は送信サービスオブジェクトの動作状態をONにする書込み要求を行なう。この要求を受けた送信側は、受信サービスオブジェクトを搭載している機器のEAを取得することが可能となる。
【０１８９】
図２４は、送信側が受信側より先に立ち上がる場合のシーケンスである。
＜送信側ノードが先に立ち上がり、受信側ノードが後で立ち上がったときの処理＞
【０１９０】
（１）インスタンス変化クラス通知（受信側→送信側）
立ち上げシーケンスに従い、送信側に対してインスタンス変化クラスの通知を行なう。この通知を受けた送信側は、受信サービスオブジェクトを搭載している機器のEAを取得することが可能となる。
【０１９１】
（２）動作状態ON書込要求（送信側→受信側）
送信側がPULL型でファイル送信が可能な場合、インスタンス変化クラスの通知を受けて送信側は受信サービスオブジェクトの動作状態をONにする書込み要求を行なう。この要求を受けた受信側は、送信サービスオブジェクトを搭載している機器のEAを取得することが可能となる。
【０１９２】
自発通信（PUSH型データ通信）の処理では、送信側から自動発信によりファイル転送を行う場合、受信側のPUSH受信用取扱オブジェクト情報を要求し、必要に応じて送信対象情報の通知を行った後、送信ファイル情報の通知に続いて、送信側からの分割データ送信を行うことによりファイル送信を行う。
【０１９３】
図２５は、自発通信の代表的な通信シーケンスである。
【０１９４】
＜事前処理＞
（１）取扱オブジェクト情報要求（送信側→受信側）
送信側が受信側に対して、PUSH受信用取扱オブジェクト情報を読出し要求する。
【０１９５】
（２）取扱オブジェクト情報応答（受信側→送信側）
要求を受けて、受信側はPUSH受信用取扱オブジェクト情報を応答送信する。
なお上述の（１）、（２）は省略することができる。
【０１９６】
＜送信処理＞
【０１９７】
（３）送信対象情報通知（送信側→受信側）
送信側は、受信側の受信取扱オブジェクト情報が複数ある場合、どの機器オブジェクトに対してデータを送信するかを指定するために、送信対象情報を送信する。
【０１９８】
（４）送信状態書込要求（受信側→送信側）
受信側は送信対象情報通知を受けて、送信対象となるデータを受信可能な場合には送信サービスオブジェクトの送信状態を「送信開始」にする書込み要求を行なう。送信対象となるデータを取得できない場合は、送信状態を「前回異常終了」とする書込み要求を行なう。
【０１９９】
（５）送信ファイル情報通知（送信側→受信側）
送信側は「送信状態」に「送信開始」をセットした後、受信側に対して送信ファイルのサイズ、チェックサムなどの送信ファイル情報を通知する。受信側は、送信ファイル情報から受信可能かを判定し、受信できない場合は送信完了設定で異常終了を設定する。
【０２００】
（６）送信ファイル情報通知応答（受信側→送信側）
受信側は、通知応答を返す。
（７）分割データ送信（送信側→受信側）
送信側は受信側に対して、ファイルを分割して連続送信する。
【０２０１】
（８）指定分割データ要求（受信側→送信側）
受信側は最終分割データを受信した後、または分割データ受信待ちのタイムアウトが発生した時点で、正しく受信できなかった分割データがある場合は、分割データの配列要素番号を指定して送信要求を行う。
【０２０２】
（９）指定分割データ送信（送信側→受信側）
送信側は、受信側から指定分割データの要求があった場合に、指定された配列要素の分割データを送信する。
なお上述の（８）、（９）は省略することができる。
（１０）送信完了設定（受信側→送信側）
【０２０３】
受信側は送信側に対して、ファイルが正しく受信できた場合または何らかの理由により送信処理を終了する場合に、送信状態を終了状態に設定する。ただし、送信完了設定が行なわれない場合もある。したがって、送信側は指定分割データの要求と送信完了設定のフレーム受信待ちの処理においてタイムアウトを設け、送信状態を送信中から前回正常終了に変更する処理を行う。
【０２０４】
要求応答通信（PULL型データ通信）の処理では、受信側からファイル送信の要求を行う場合、送信側のPUSH送信用取扱オブジェクト情報を要求して送信ファイルの確認を行った後、必要に応じて送信ファイル情報収集を行った後、受信側が送信開始トリガーを送信する。このトリガーを受けて送信側が指定対象オブジェクトの送信ファイル情報を通知し、以降はPUSH型と同じ送信処理を行う。
【０２０５】
図２６は、要求応答通信の代表的な通信シーケンスである。
＜事前処理＞
（１）取扱オブジェクト情報要求（受信側→送信側）
送信側が受信側に対して、PULL送信用取扱オブジェクト情報を読出し要求する。
【０２０６】
（２）取扱オブジェクト情報応答（送信側→受信側）
要求を受けて、受信側はPULL送信用取扱オブジェクト情報を応答送信する。
【０２０７】
＜ファイル情報収集処理＞
（３）送信状態要求 （受信側→送信側）
受信側が送信側に対して、送信状態を要求する。この要求を受けて、送信側は送信状態を応答する。
【０２０８】
（４）送信状態応答 （送信側→受信側）
送信側が受信側に対して、送信状態応答を送信する。受信側は、送信状態が未処理または終了状態の場合は、書込みロックまたは送信開始トリガーを送信する。
【０２０９】
（５）書込みロック （受信側→送信側）
送信ファイル情報の書き換えを送信側が行わないようにロックするために、送信状態に「書込みロック」の書込み要求をする。送信側は書込み要求に応じて、送信状態を「書込みロック」に設定する。この書込みロックは必要に応じて行う。なお、送信状態を「書込みロック」にセットた後には必ず、送信状態に「送信開始」.をセットして送信を開始するか、終了状態に設定する必要がある。
【０２１０】
（６）送信状態書込み応答 （送信側→受信側）
書込み要求に対する応答を行なう。
（７）送信対象情報書込み要求（受信側→送信側）
必要に応じて各種ファイル情報を収集するために、送信対象情報の書込み要求をする。
（８）送信対象情報書込み応答（送信側→受信側）
書込み要求に対する応答を行なう。
【０２１１】
（９）指定送信ファイル情報要求（受信側→送信側）
送信処理前に、送信対象となる送信ファイル情報を取得したい場合は、送信ファイル情報を要求する。
（１０）指定送信ファイル情報応答（送信側→受信側）
送信側は要求に応じて、指定の送信ファイル情報を応答する。
【０２１２】
＜送信処理＞
（１１）送信開始トリガー（受信側→送信側）
受信側が送信側に対して、送信状態を処理中にする書込み要求を行なうことにより、送信開始のトリガーを送信する。このトリガーを受けて、送信側は次の処理を行う。送信ファイル情報通知以降は「PUSH型ファイル転送」に同じである。
なお上述の（５）〜（１１）は省略することができる。
【０２１３】
（実施の形態７）
実施の形態４と５で説明したデータ通信の方法、手順を実現するためのプロパティの具体例を図２７、図２８、図２９に示す。
【０２１４】
図２７は、データ受信サービスに関連するプロパティである。
（１）動作状態
ファイル受信サービス機能の動作状態を示す。停止中の場合は0x31、通常動作中の場合は0x30となる。
（２）ＰＵＳＨ受信用取扱オブジェクト情報
PUSH型で受信を行なう場合に取扱ファイルMAXバイト数やファイル提供機器オブジェクトとプロパティなどの情報を表すプロパティ。本プロパティの存在がPUSH型でファイル受信が可能であることを表す。PUSH型でファイル受信を行なう場合は、本プロパティは必須である。なお、受信側ノードに本サービスオブジェクトを複数インスタンス搭載する場合、各インスタンスの本プロパティ値は重複しないように実装する。
【０２１５】
＜値の詳細＞
・        取扱ファイルMAXバイト数：PUSH受信可能な組み立て後のファイルのMAXバイト数。
・        ファイル格納機器クラス／プロパティ数：PUSH受信可能なファイルを格納するクラスとプロパティの組み合わせ数。最大値は４０。
・        ファイル格納機器クラス／プロパティ：PUSH受信可能なファイルを格納する自ノードまたは他ノード機器のクラスグループコードとクラスコードとプロパティコードを組み合わせたもの。
・        ファイル数：受信し保持することが可能な機器クラス・プロパティ毎のファイル数を表す。0〜0xFFFE=ファイル数。0xFFFF＝特に制限がないことを表す。
【０２１６】
＜読出し・書込み・通知のタイミングなど＞
・        本プロパティ値の読み出しは、常に可能である。
【０２１７】
（３）データ分割情報
受信可能なデータの最大分割サイズを表すプロパティ。送信側ノードは、通知された本プロパティ値と自ノードが送信可能な分割サイズを比較して、小さい方のサイズにファイルを分割して送信するために、読出すためのプロパティ。
【０２１８】
＜値の詳細＞
・        受信可能なEDT最大バイト数を表す。
＜読出し・書込み・通知のタイミングなど＞
・        送信側が送信データ通知を行なう前に、読出しを行なう。
・        本プロパティ値の読み出しは、常に可能である。
【０２１９】
図２８は、データ送信サービスに関連するプロパティである。
【０２２０】
（１）動作状態
ファイル送信サービス機能の動作状態を示す。停止中の場合は0x31、通常動作中の場合は0x30となる。
【０２２１】
（２）ＰＵＬＬ送信用取扱オブジェクト情報
PULL型でファイル送信を行なう場合に取扱ファイルMAXバイト数やファイル提供機器オブジェクトとプロパティなどを表すプロパティ。本プロパティの存在がPULL型でファイル送信が可能であることを表す。なお、受信側ノードに本サービスオブジェクトを複数インスタンス搭載する場合、各インスタンスの本プロパティ値は重複しないように実装する。
PULL型でファイル送信を行なう場合は、本プロパティは必須である。
【０２２２】
＜値の詳細＞
・        取扱ファイルMAXバイト数：PULL送信可能な分割前のファイルのMAXバイト数。
・        ファイル提供機器オブジェクト／プロパティ数：PULL送信可能なファイルを提供する自ノードまたは他ノード機器オブジェクトとプロパティ組合わせの数。最大値は４０。
・        ファイル提供機器オブジェクト／プロパティ：PULL受信可能なファイルを提供する自ノードまたは他ノード機器のクラスグループコード、クラスコード、インスタンスコードで示される機器オブジェクトとプロパティコードを組み合わせたもの。
・        ファイル数：機器オブジェクト・プロパティ毎に保持しているファイル数を表す。
【０２２３】
＜読出し・書込み・通知のタイミングなど＞
・        本プロパティ値の読み出しは、送信状態に関わらず可能である。
・        本プロパティ値のファイル数は、送信状態が送信中または書込みロック中の場合には変更されない。
【０２２４】
図２９は、データ送信サービスに関連するプロパティである。
【０２２５】
（３）送受信設定
受信ノードから送信トリガや送受信結果を書き込むためのプロパティ。本プロパティ値は、書込みと同時に「送信状態」プロパティに反映される。
＜値の詳細＞
・                正常終了=0x00：送信は正常終了
・        強制終了=0x01：受信側ノードによる強制終了。
・                書込みロック設定=0x10：本プロパティの書込みを行った受信側ノード以外から本プロパティ値の書込みを許可しない設定。この設定により本プロパティの書込みを行った受信側ノード以外へのファイル送信はしない。
・        送信開始=0x20：送信処理開始
【０２２６】
＜読出し・書込み・通知のタイミングなど＞
・                本プロパティへの値の書込みは、書込み直後に「送信状態」プロパティに反映され、本プロパティ値に「送信開始」を書き込んだ場合は送信状態は「送信中」に、「書込みロック」の場合は「書込みロック中」に、その他の場合は「READY」に設定される。「送信状態」プロパティが送信中または書込みロック中の場合には、本プロパティへの書込みを行なった受信側ノード以外から本プロパティ値の書込みはできない。
・        データ送信中に本プロパティへの正常終了、または異常終了の書込みにより、送信処理の中断が可能。
【０２２７】
（３）送信状態
自インスタンスが送信処理中か否かの送信状態を表すプロパティ。本プロパティ値が送信中の場合は、送信対象情報、送信ファイル情報、送信データは変更しない。
【０２２８】
＜値の詳細＞
・        READY=0：待機中。
・        書込みロック中=0x10：送受信設定プロパティに書込みを行った受信側ノード以外へのファイル送信をプロテクトするモード。
・        送信中=0x20：送信処理中。
＜読出し・書込み・通知のタイミングなど＞
・        本プロパティ値の読み出しは常に可能である。
「送受信設定」プロパティに書き込まれた値は、本プロパティに反映される。
【０２２９】
（４）送信対象情報
送信対象となる取扱オブジェクト情報の中から、実際に送信するファイルを特定するためのプロパティ。取扱オブジェクト情報のファイル提供機器オブジェクト／プロパティ数が１つで、そのファイル数も１つの場合は、このプロパティによるファイルの特定は必要ない。
【０２３０】
＜値の詳細＞
・        ファイル提供機器オブジェクト／プロパティ：取扱オブジェクト情報の中で、送信対象となる機器オブジェクト／プロパティ情報
・        ファイル番号：複数のファイルを扱える場合の、ファイル番号。
＜読出し・書込み・通知のタイミングなど＞
・        PUSH型送信の場合は、送信側ノードから受信側ノードに対して通知を行なう。
・        PULL型送信の場合は、受信側ノードから送信側ノードに対して、書込みを行なう。
・        本プロパティ値は、送信状態が送信中の場合には変更できない。
・                本プロパティ値は、送信状態が送信中または書込みロック中の場合には、常に読出し可能である。
・        本プロパティ値は、送信状態が送信中または書込みロック中でない場合は、各値に０パディングしたデータを読み出すこととなる。
【０２３１】
（５）送信ファイル情報
送信対象となるファイルの名称や属性、日付情報、バイト数などの情報を表すプロパティ。本プロパティにより、PULL型での送受信の際、送受信するファイルを選択するための情報を取得が可能となる。
【０２３２】
＜値の詳細＞
・        送信ファイルの名称、日付情報、ファイルバイト数、チェックコードを示す。
・        名称：ASCII８文字で表現されるファイル名称。
・        属性：ASCII３文字で表現されるファイル属性。
【０２３３】
・        日付情報：ファイル日付を Y1Y2/MN/DD HH:MM：SSの形式で表す。
Y1=0x13〜0x63(19〜99), Y2=0x00〜0x63(00〜99), MN=0x01〜0x0C(1〜12),
DD=0x01〜0x1F(1〜31), HH=0x00〜0x17(0〜23), MM=0x00〜0x3B(0〜59),
SS=0x00〜0x3B(0〜59)
ファイルが日付情報を持たない場合は各バイトデータは０に設定される。
【０２３４】
・        ファイルバイト数：送信ファイル全体のバイト数。
・        チェックコード：送信ファイル全体の各バイトを合計しその２の補数。
【０２３５】
＜読出し・書込み・通知のタイミングなど＞
・        PULL型送信の場合は、送信側ノードは、受信側ノードから送信状態プロパティに「送信中」の書込みが行なわれた後、本プロパティ値を受信側ノードに通知する。
・        PUSH型送信の場合は、送信側ノードは、送信状態プロパティを「送信中」に変更した後に、本プロパティ値を受信側ノードに通知する。
・        本プロパティ値は、送信状態が送信中の場合には変更されない。
・        本プロパティ値は、送信状態が送信中または書込みロック中の場合には、常に読出し可能である。
・        本プロパティ値は、送信状態が送信中または書込みロック中でない場合は、各値に０パディングしたデータを読み出すこととなる。
【０２３６】
（６）送信データ
送信ファイルデータを配列として示すプロパティ。
＜値の詳細＞
・        全配列数：分割送信する全配列の数。
・        分割データサイズ：分割データのバイト数。全配列数が２以上の最終配列要素以外は、分割データサイズは等しく、また、（分割データサイズ＋６）がEDTサイズと等しいものとする。
・        分割データ：分割したデータ本体。最終配列要素は、他の配列とEDTサイズを等しくし、分割データサイズ以降のデータは０パディングする。
【０２３７】
＜読出し・書込み・通知のタイミングなど＞
・        受信側ノードの送信ファイル情報通知応答を受信後に、送信側ノードから送信データの通知を行なう。
・        送信状態が送信中でない場合は、本プロパティ値の通知や読み出しはできない。
【０２３８】
つぎに、実施の形態４と５で説明したデータ通信の方法、手順を実現するために、図２７、２８、２９の各プロパティを使用したシーケンスの例について、説明する。
【０２３９】
機器立ち上げ時の処理は、各ノードの立ち上がりシーケンスでインスタンス変化クラス通知を行なうことを利用し、PUSH型ファイル転送を行なう場合は、送信側が受信側ノードのEAを、PULL型ファイル転送を行なう場合は、受信側が送信側ノードのEAを取得する。
【０２４０】
図３０は、受信側が送信側より先に立ち上がる場合のシーケンスである。
＜受信側ノードが先に立ち上がり、送信側ノードが後で立ち上がったときの処理＞
【０２４１】
（１）インスタンス変化クラス通知（送信側→受信側）
立ち上げシーケンスに従い、受信側ノードに対してインスタンス変化クラスの通知を行なう。この通知を受けた受信側ノードのアプリケーションは、ファイル送信サービスオブジェクトを搭載している送信側ノードのEAを取得することが可能となる。（送信側ノード通知サービス）
【０２４２】
（２）動作状態通知（受信側→送信側）
受信側ノードがPUSH型でファイル受信が可能な場合、インスタンス変化クラスの通知を受けてファイル受信サービスオブジェクトの動作状態通知を行なう。この通知を受けた送信側ノードのアプリケーションは、ファイル受信サービスオブジェクトを搭載している受信側ノードのEAを取得することが可能となる。（受信側ノード通知サービス）
【０２４３】
図３１は、送信側が受信側より先に立ち上がる場合のシーケンスである。
＜送信側ノードが先に立ち上がり、受信側ノードが後で立ち上がったときの処理＞
【０２４４】
（１）インスタンス変化クラス通知（受信側→送信側）
立ち上げシーケンスに従い、送信側ノードに対してインスタンス変化クラスの通知を行なう。この通知を受けた送信側ノードのアプリケーションは、ファイル受信サービスオブジェクトを搭載している受信側ノードのEAを取得することが可能となる。（受信側ノード通知サービス）
【０２４５】
（２）動作状態通知（送信側→受信側）
送信側がPULL型でファイル送信が可能な場合、インスタンス変化クラスの通知を受けて送信側ノードはファイル送信サービスオブジェクトの動作状態通知を行なう。この通知を受けた受信側のアプリケーションは、ファイル送信サービスオブジェクトを搭載している送信側ノードのEAを取得することが可能となる。（送信側ノード通知サービス）
【０２４６】
自発通信（PUSH型データ通信）の処理では、送信側ノードから受信側ノードのPUSH受信用取扱オブジェクト情報を要求し、必要に応じて送信対象情報の通知を行った後、送信ファイル情報の通知に続いて、送信側ノードからの分割データ送信を行うことによりファイル送信を行う。
【０２４７】
図３２は、自発通信の代表的な通信シーケンスである。
＜事前処理＞
【０２４８】
（１）取扱オブジェクト情報要求（送信側→受信側）
送信側ノードのアプリケーションが受信側ノードの受信サービスオブジェクトに対して、PUSH受信用取扱オブジェクト情報を読出し要求する。（取扱オブジェクト情報要求サービス）送信側ノードのファイル転送サービスミドルウェアは、受信側ノードに受信サービスオブジェクトが複数搭載されていることを想定し、インスタンス全体への一斉同報を行っても良い。
【０２４９】
（２）取扱オブジェクト情報応答（受信側→送信側）
要求を受けて、受信側ノードはPUSH受信用取扱オブジェクト情報を応答送信する。
なお上述の（１）、（２）は省略することができる。
【０２５０】
＜送信処理＞
（３）送信対象情報通知（送信側→受信側）
送信側ノードのアプリケーションは、受信側ノードの受信取扱オブジェクト情報が複数ある場合、どの機器オブジェクトに対してデータを送信するかを指定するために、送信対象情報を送信する。この通知は、アプリケーションからファイル転送サービスミドルウェアに対する要求がトリガとなる。（ファイル送信要求サービス）
【０２５１】
（４）送受信設定書込要求（受信側→送信側）
受信側ノードのアプリケーションは送信対象情報通知を受けて、送信対象となるデータを受信可能な場合には送信サービスオブジェクトの送受信設定を「送信開始」にする書込み要求を行なう。送信対象となるデータを取得できない場合、あるいは取得しない場合は、送受信設定を0x01：強制終了とする書込み要求を行なう。（送信設定書込みサービス）
【０２５２】
（５）送信ファイル情報通知（送信側→受信側）
送信側ノードのファイル転送サービスミドルウェアは、送受信設定書込要求(4)において「送信開始」を受信後、受信側ノードに対して送信ファイルのサイズ、チェックサムなどの送信ファイル情報を通知する。また、ファイル送信で使用する送信サービスオブジェクトの「送信状態」プロパティを0x20：送信中とする。
【０２５３】
（６）送信ファイル情報通知応答（受信側→送信側）
受信側ノードは、送信側ノードに通知応答を返す。
【０２５４】
（７）分割データ送信（送信側→受信側）
送信側ノードは受信側ノードに対して、ファイルを分割して連続送信する。
【０２５５】
（８）指定分割データ要求（受信側→送信側）
受信側ノードは最終分割データを受信した後、または分割データ受信待ちのタイムアウト（＝1分）が発生した時点で、正しく受信できなかった分割データがある場合は、分割データの配列要素番号を指定して送信要求を行う。
【０２５６】
（９）指定分割データ送信（送信側→受信側）
送信側ノードは、受信側ノードから指定分割データの要求があった場合には必ず、指定された配列要素の分割データを送信する。
なお上述の（８）、（９）は省略することができる。
【０２５７】
（１０）送信完了設定（受信側→送信側）
受信側ノードのファイル転送サービスミドルウェアは送信側ノードに対して、ファイルが正しく受信できた場合または何らかの理由により送信処理を終了する場合に、送受信設定を0x00：正常終了、もしくは0x01：強制終了に設定する。
【０２５８】
ただし、送信完了設定が行なわれない場合もある。したがって、送信側ノードは指定分割データの要求と送信完了設定のフレーム受信待ちの処理においてタイムアウト１分を設け、「送信状態」プロパティを0x00：READYに設定する。
【０２５９】
なお、受信側ノードのファイル転送サービスミドルウェアは、分割データ送信で得た複数のデータを１つのファイルに組み立てて、送信ファイル情報通知で得たファイル情報と併せてアプリケーションに通知する。（ファイル受信通知サービス）
【０２６０】
要求応答通信（PULL型データ通信）の処理では、受信側ノードから送信側ノードのPUSH送信用取扱オブジェクト情報を要求して送信ファイルの確認を行った後、必要に応じて送信ファイル情報収集を行い、受信側ノードが送信開始トリガーを送信する。このトリガーを受けて送信側ノードが指定対象オブジェクトの送信ファイル情報を通知し、以降はPUSH型と同じ送信処理を行う。
【０２６１】
図３３は、要求応答通信の代表的な通信シーケンスである。
＜事前処理＞
【０２６２】
（１）取扱オブジェクト情報要求（受信側→送信側）
受信側ノードのアプリケーションが送信側ノードに対して、PULL送信用取扱オブジェクト情報を読出し要求する。（取扱オブジェクト情報要求サービス）受信側ノードのファイル転送サービスミドルウェアは、送信側ノードに送信サービスオブジェクトが複数搭載されていることを想定し、インスタンス全体への一斉同報を行っても良い。
【０２６３】
（２）取扱オブジェクト情報応答（送信側→受信側）
要求を受けて、送信側ノードはPULL送信用取扱オブジェクト情報を応答送信する。
【０２６４】
＜ファイル情報収集処理＞
（３）送信状態要求 （受信側→送信側）
受信側ノードのファイル転送ミドルウェアが、取扱オブジェクト情報要求(1)で得た送信側ノードの送信サービスオブジェクトに対して、送信状態を要求する。
【０２６５】
（４）送信状態応答 （送信側→受信側）
送信側ノードが受信側ノードに対して、送信状態応答を送信する。受信側ノードは、送信状態が「READY」の場合は、書込みロックまたは送信開始トリガーを送信する。
【０２６６】
（５）書込みロック （受信側→送信側）
他のノードが受信要求をプロテクトするために、「送受信設定」プロパティに0x02：書込みロックの書込み要求をする。送信側ノードは書込み要求に応じて、「送信状態」プロパティを0x02：書込みロックに設定する。この書込みロックは必要に応じて行う。
【０２６７】
なお、「送受信設定」プロパティを0x02：書込みロックにセットした後には必ず、該プロパティに0x20：送信開始をセットして送信を開始するか、終了状態に設定する必要がある。
【０２６８】
書込みロック要求の後、受信側からの何らかの書込み要求に対してタイムアウト１分を設け、送信状態を0x00：READYに設定する。
【０２６９】
（６）送受信設定書込み応答 （送信側→受信側）
書込み要求に対する応答を行なう。
【０２７０】
（７）送信対象情報書込み要求（受信側→送信側）
必要に応じて、送信対象情報の書込み要求をする。
【０２７１】
（８）送信対象情報書込み応答（送信側→受信側）
書込み要求に対する応答を行なう。
なお上述の（３）〜（８）は省略することができる。
【０２７２】
（９）送信開始トリガー（受信側→送信側）
受信側ノードのファイル転送サービスミドルウェアが送信側ノードに対して、送受信設定を0x20：送信開始にする書込み要求を行なうことにより、送信開始のトリガーを送信する。このトリガーを受けて、送信側ノードのファイル転送サービスミドルウェアは「送信状態」プロパティを0x20：送信中に設定する。
【０２７３】
送信ファイル情報通知以降のシーケンスは自発通信の送信ファイル情報通知以降のシーケンスと同様となる。
【０２７４】
図３２に示す送信側ノードのサービスである、ＰＵＳＨ型ファイル送信関連サービスを以下に示す。
【０２７５】
（１）受信側ノード通知サービス
ＰＵＳＨ型でファイルを送信する送信先となる受信側ノードのＥＣＨＯＮＥＴアドレスをアプリケーションに通知するサービス。入力データはなし、応答データは受信側ノードのＥＣＨＯＮＥＴアドレスとなる。
【０２７６】
（２）取扱オブジェクト情報要求サービス
受信側ノードに対してPUSH受信用取扱オブジェクト情報の取得を行うサービス。入力データは受信側ノードのＥＣＨＯＮＥＴアドレス。応答データはＰＵＳＨ受信用取扱取扱オブジェクト情報となる。
【０２７７】
（３）ファイル送信要求サービス
自ノードのファイル送信オブジェクトに対してデータをセットし、ＰＵＳＨ型でファイル送信を行うサービス。入力データは送信対象情報、送信ファイル名称、送信ファイル属性、送信ファイル日付、送信データである送信ファイル本体へのポインタ。応答データは、送信完了または送信失敗を示す送信結果となる。
【０２７８】
図３３に示す送信側ノードのサービスである、ＰＵＬＬ型ファイル送信関連サービスを以下に示す。
【０２７９】
（１）書込みロック通知サービス
受信側ノードから送信側ノードの送受信設定に対して書込みロックの書込みが行われた場合、その旨をアプリケーションに通知するサービス。入力データ、応答データはない。
【０２８０】
（２）送信対象情報通知サービス
受信側ノードから送信側ノードの送信対象情報に対して書込みが行われた場合、書き込まれた送信対象情報をアプリケーションに通知する。入力データはなし、応答データは送信対象情報となる。
【０２８１】
（３）ファイル更新要求サービス
自ノードのファイル送信オブジェクトに対してデータをセットするサービス。ファイル送信オブジェクトの送信状態が書込みロック中または送信中の場合は、更新不可である。入力データは送信対象情報、送信ファイル名称、送信ファイル属性、送信ファイル日付、送信データである送信ファイル本体へのポインタ。応答データは更新完了または更新失敗の送信結果となる。
【０２８２】
図３２に示す受信側ノードのサービスである、ＰＵＳＨ型ファイル受信関連サービスを以下に示す。
【０２８３】
（１）送信対象情報通知サービス
PUSH型ファイル送信を行う送信側ノードから送信対象情報の通知を受信した場合、受信した情報をアプリケーションに通知するサービス。入力データはなし。応答データは送信側ノードのＥＣＨＯＮＥＴアドレス、送信対象情報となる。
【０２８４】
（２）送受信設定書込み要求サービス
送信対象情報通知サービスにより受け取った送信対象情報が受信可能である場合、送信側ノードのファイル送信サービスオブジェクトの送受信設定プロパティに「送信開始」書込み要求を行うサービス。入力データ、応答データはない。
【０２８５】
（３）ファイル受信通知サービス
送信側ノードからＰＵＳＨ型で送信されるファイルを受信完了した時、受信ファイルの情報をアプリケーションに対して通知するサービス。入力データはなし、応答データは送信ファイル名称、送信ファイル属性、送信ファイル日付、送信データである送信ファイル本体へのポインタとなる。
【０２８６】
図３３に示す受信側ノードのサービスである、ＰＵＬＬ型ファイル受信関連サービスを以下に示す。
【０２８７】
（１）送信側ノード通知サービス
ＰＵＳＨ型でファイルを送信する送信元となる送信側ノードのＥＣＨＯＮＥＴアドレスをアプリケーションに通知するサービス。入力データはなし、応答データは送信側ノードのＥＣＨＯＮＥＴアドレスとなる。
【０２８８】
（２）取扱オブジェクト情報要求サービス
送信側ノードのファイル送信オブジェクトに対してＰＵＬＬ送信用取扱オブジェクト情報の要求を行うサービス。入力データは送信側のＥＣＨＯＮＥＴアドレス、応答データはＰＵＬＬ送信用取扱オブジェクト情報となる。
【０２８９】
（３）ファイル受信要求サービス
送信側ノードのファイル送信サービスオブジェクトに対して、指定したファイル提供機器オブジェクト、プロパティ、ファイル番号のファイルを送信するよう要求する。ファイル転送サービスミドルウェアは、送信側ノードの送信状態の確認、送信開始トリガーの送信、ファイルの受信、受信完了設定までの一連のシーケンスを制御し、ファイルを受信完了すると「受信完了」を返すサービス。入力データは送信元となるＥＣＨＯＮＥＴアドレス、送信対象情報、受信処理の最初に送信ファイルサービスオブジェクトの送受信設定を書込みロックにするか否かのフラグである書込みロック設定。応答データは受信完了または受信失敗を示す受信結果となる。
【０２９０】
（実施の形態８）
図１の構成を持つ２つの端末間でファイルの転送を行う場合のデータ通信の方法、手順を実現するためのプロパティの具体例を図３４、図３５、図３６に示す。
【０２９１】
図３４は、データ受信サービスに関連するプロパティである。
【０２９２】
（１）動作状態
ファイル受信サービス機能の動作（ＯＮ／ＯＦＦ）を設定し、動作状態を取得する。動作ＯＮ（サービス提供）の場合は0x30、動作ＯＦＦ（サービス停止）の場合は0x31となる。なお、動作ＯＦＦ時は、その他のプロパティへのアクセスは保証されるものではない。
【０２９３】
図４５は、ＰＵＳＨ受信取扱オブジェクト情報の構成図である。
（２）ＰＵＳＨ受信用取扱オブジェクト情報
ＰＵＳＨ型で受信を行なう場合に取扱ファイルMAXバイト数やファイル提供機器オブジェクトとプロパティなどの情報を表すプロパティ。ＰＵＳＨ型でファイル受信を行なう場合は、本プロパティは必須である。各インスタンスにおいて本プロパティのファイル格納機器情報の値は重複してはならない。
【０２９４】
＜値の詳細＞
・        取扱ファイルMAXバイト数：ＰＵＳＨ受信可能な組み立て後のファイルのMAXバイト数。
・        ファイル情報数：ＰＵＳＨ受信可能なファイルを格納するファイル格納情報の数。最大値は４０。
・        ファイル格納情報：ＰＵＳＨ受信可能なファイルを格納する機器の情報であるファイル格納機器情報とファイル格納機器毎に受信することが可能なファイル数を組み合わせたもの。
・        ファイル格納機器情報：ファイルを格納する機器のクラスグループコードとクラスコードとプロパティコード。
・        ファイル数：受信し保持することが可能なファイル格納機器情報毎のファイル数を表す。0〜0xFFFE=ファイル数。0xFFFF＝特に制限がないことを表す。
【０２９５】
（３）データ分割情報
受信可能なデータの最大分割サイズを表すプロパティ。送信側ノードは、通知された本プロパティ値と自ノードが送信可能な分割サイズを比較して、小さい方のサイズにファイルを分割して送信するために、読出すためのプロパティ。
【０２９６】
＜値の詳細＞
・        受信可能なEDT最大バイト数を表す。
【０２９７】
＜読出し・書込み・通知のタイミングなど＞
・        送信側が送信データ通知を行なう前に、読出しを行なう。
【０２９８】
図３５は、データ送信サービスに関連するプロパティである。
【０２９９】
（１）動作状態
ファイル送信サービス機能の動作（ＯＮ／ＯＦＦ）を設定し、動作状態を取得する。動作ＯＮ（サービス提供）の場合は0x30、動作OFF（サービス停止）の場合は0x31となる。なお、動作OFF時は、その他のプロパティへのアクセスは保証されるものではない。
【０３００】
図４６は、ＰＵＬＬ送信取扱オブジェクト情報の構成図である。
（２）ＰＵＬＬ送信用取扱オブジェクト情報
ＰＵＬＬ型でファイル送信を行なう場合に取扱ファイルMAXバイト数やファイル提供機器オブジェクトとプロパティなどを表すプロパティ。各インスタンスにおいて本プロパティのファイル提供機器情報の値は重複してはならない。
ＰＵＬＬ型でファイル送信を行なう場合は、本プロパティは必須である。
【０３０１】
＜値の詳細＞
・        取扱ファイルMAXバイト数：ＰＵＬＬ送信可能な分割前のファイルのMAXバイト数。
・        ファイル提供情報数：ＰＵＬＬ送信可能なファイルを提供するファイル提供情報の数。最大値は４０。
・        ファイル提供情報：ＰＵＬＬ送信可能なファイルを提供するファイル提供機器情報とファイル提供機器情報毎に保持しているファイル数を表す。
・        ファイル提供機器情報：ＰＵＬＬ送信可能なファイルを提供する機器のクラスグループコード、クラスコード、インスタンスコードで示される機器オブジェクトとプロパティコードを組み合わせたもの。
・        ファイル数：機器オブジェクト・プロパティ毎に保持しているファイル数を表す。
【０３０２】
＜読出し・書込み・通知のタイミングなど＞
・        本プロパティ値のファイル数は、「送信状態」プロパティが送信中の場合には変更されない。
【０３０３】
図３６は、データ送信サービスに関連するプロパティである。
【０３０４】
（３）送受信設定
受信側ノードから送信トリガや送受信結果を書き込むためのプロパティ。本プロパティ値は、書込みと同時に「送信状態」プロパティに反映される。
【０３０５】
＜値の詳細＞
・        正常終了=0x00：送信は正常終了
・        強制終了=0x01：受信側ノードによる強制終了。
・        送信開始=0x20：送信処理開始
【０３０６】
＜読出し・書込み・通知のタイミングなど＞
・        本プロパティへの値の書込みは、書込み直後に「送信状態」プロパティに反映され、本プロパティ値に送信開始を書き込んだ場合は「送信状態」プロパティは送信中に、その他の場合はREADYに設定される。「送信状態」プロパティが送信中の場合には、本プロパティへの書込みを行なった受信側ノード以外から本プロパティ値の書込みはできない。
・        データ送信中に本プロパティへの正常終了、または強制終了の書込みにより、送信処理の中断が可能。
【０３０７】
（４）送信状態
自インスタンスが送信処理中か否かの送信状態を表すプロパティ。本プロパティ値が送信中の場合は、「送信ファイル情報」プロパティと「送信データ」プロパティは変更してはならない。
【０３０８】
＜値の詳細＞
・        READY=0：待機中。
・        送信中=0x20：送信処理中。
【０３０９】
＜読出し・書込み・通知のタイミングなど＞
・  「送受信設定」プロパティに書き込まれた値は、本プロパティに反映される。
・        「送信状態」プロパティがREADYに遷移するタイミングは、１．ノード起動直後、２．「送受信設定」プロパティに0x00正常終了、0x01：強制終了Set直後、３．タイムアウト経過後、３つのタイミングである。
・        「送信状態」プロパティが送信中に遷移するタイミングは、１．「送受信設定」プロパティに0x20：送信開始Set直後、のタイミングである。
【０３１０】
図４７は、送信対象情報の構成図である。
（５）送信対象情報
送信処理の対象となるファイル提供機器情報を特定するためのプロパティ。ＰＵＳＨ型では、送信側ノードは受信側ノードに本プロパティ値を通知することにより、本プロパティ値が示すファイル提供機器のファイルを送信する意思を示す。一方、ＰＵＬＬ型では、受信側ノードは送信側ノードの本プロパティに書き込むことにより、送信側ノードでファイル提供機器のファイルを確保するように依頼する。これを受けて送信側ノードは、ファイル確保の成功，失敗に関わらず、本プロパテイ値を受信側ノードに通知する。
【０３１１】
＜値の詳細＞
・        ファイル提供機器情報：取扱オブジェクト情報の中で、送信対象となるファイル提供機器情報
・        ファイル番号：ファイル提供機器情報のファイル番号。ファイル番号の付け方は、送信側ノードにおいて実装依存とする。ただし、ファイル提供機器オブジェクト／プロパティが配列扱いの場合には、ファイル番号は配列要素No.と等しくする。
【０３１２】
＜読出し・書込み・通知のタイミングなど＞
・        ＰＵＳＨ型送信の場合は、受信側ノードのファイル受信サービスオブジェクトに対して本プロパティの通知を行なう。
・        ＰＵＬＬ型送信の場合は、受信側ノードから本プロパティに書込みが行われる
【０３１３】
この書き込み要求電文を受けると、送信対象情報を受信側ノードのファイル受信サービスオブジェクトに折り返し通知する。ただし、正しく書き込みが行われなかった場合はファイル番号を0xFFFFとした送信対象情報を通知する。
【０３１４】
図４８は、送信ファイル情報の構成図である。
（６）送信ファイル情報
送信対象となるファイルの名称や属性、日付情報、バイト数などの情報を表すプロパティ。本プロパティにより、ＰＵＬＬ型での送受信の際、送受信するファイルを選択するための情報の取得が可能となる。
【０３１５】
＜値の詳細＞
・        送信ファイルの名称、日付情報、ファイルバイト数、チェックコードを示す。
・        名称：ASCII８文字で表現されるファイル名称。ファイル名称は前詰めし、空き領域は0x00埋めする。
・        属性：ASCII３文字で表現されるファイル属性。ファイル名称は前詰めし、空き領域は0x00埋めする。
【０３１６】
・        日付情報：ファイル日付を Y1Y2/MN/DD HH:MM：SSの形式で表す。
Y1=0x13〜0x63(19〜99), Y2=0x00〜0x63(00〜99), MN=0x01〜0x0C(1〜12),
DD=0x01〜0x1F(1〜31), HH=0x00〜0x17(0〜23), MM=0x00〜0x3B(0〜59),
SS=0x00〜0x3B(0〜59)
ファイルが日付情報を持たない場合は各バイトデータは０に設定される。また、Y1が0x00のときは、日付データは無効とする。
【０３１７】
・        ファイルバイト数：送信ファイル全体のバイト数。
・        チェックコード：送信ファイル全体の各バイトを合計しその２の補数。
【０３１８】
＜読出し・書込み・通知のタイミングなど＞
・        送信側ノードは、「送受信設定」プロパティに書込みが行われ、「送信状態」プロパティが送信中に変更された場合、受信側ノードに本プロパティを通知する。
・        本プロパティは、「送信対象情報」プロパティ値が「ＰＵＬＬ送信用取扱オブジェクト情報」プロパティのファイル提供機器オブジェクト／プロパティに含まれていない（送信対象情報が妥当でない）場合は、本プロパティのファイルバイト数に０をセットして通知する。
【０３１９】
図４９は、送信データの構成図である。
（７）送信データ
送信ファイルデータを分割データサイズ毎に分割したデータを配列として示すプロパティ。この配列要素は連続でなければならない。
＜値の詳細＞
・        配列要素No.：送信ファイルを分割データサイズごとに分割し、それぞれの分割データを送信ファイルの先頭から順に番号付けを行った番号を配列要素No.とする。
・        全配列数：分割送信する全配列の数。
・        分割データサイズ：分割データのバイト数。全配列数が２以上の最終配列要素以外は、分割データサイズは等しく、また、（分割データサイズ＋６）がEDTサイズと等しいものとする。
・        分割データ：送信ファイルを分割した個々のデータ。最終配列要素は、他の配列とEDTサイズを等しくし、分割データサイズ以降のデータは０パディングする。
【０３２０】
＜読出し・書込み・通知のタイミングなど＞
・        受信側ノードの送信ファイル情報通知応答を受信後に、送信側ノードから送信データの通知を行なう。
・        「送信状態」プロパティが送信中でない場合は、不可応答を返す。
【０３２１】
つぎに、図１の構成を持つ２つの端末間でファイルの転送を行う場合のデータ通信の方法、手順を実現するために、図３４、３５、３６の各プロパティを使用したシーケンスの例について、説明する。なお、本実施例においては、自発通信によりファイルを転送する方式をＰＵＳＨ型、要求応答通信によりファイルを転送する方式をＰＵＬＬ型とし、それぞれの方式のファイル転送をＰＵＳＨ型ファイル転送、ＰＵＬＬ型ファイル転送とする。
【０３２２】
機器立ち上げ時の処理は、各ノードの立ち上がりシーケンスでインスタンス変化クラス通知を行なうことを利用し、ＰＵＳＨ型ファイル転送を行なう場合は、送信側が受信側ノードのEAを、ＰＵＬＬ型ファイル転送を行なう場合は、受信側が送信側ノードのEAを取得する。
【０３２３】
図３７は、受信側が送信側より先に立ち上がる場合のシーケンスである。
＜受信側ノードが先に立ち上がり、送信側ノードが後で立ち上がったときの処理＞
【０３２４】
（１）インスタンス変化クラス通知（送信側→受信側）
［送信側ノード処理］
立ち上げシーケンスに従い、受信側ノードに対してインスタンス変化クラスの通知を行なう。
［受信側ノード処理］
受信側ノードのファイル転送サービスミドルウエアは、この通知電文を受けると、アプリケーションにファイル送信サービスオブジェクトを搭載している送信側ノードのEAを通知する。（送信側ノード通知サービス）。受信側ノードのアプリケーションは、送信側ノードのEAを管理する。
【０３２５】
（２）動作状態通知（受信側→送信側）
［受信側ノード処理］  受信側ノードのファイル転送サービスミドルウエアは、（１）インスタンス変化クラス通知を受けると、ＰＵＳＨ型でファイル受信が可能な全てのファイル受信サービスオブジェクトの動作状態通知を送信側ノードに通知しなければならない（必須）。
［送信側ノード処理］
送信側ノードのファイル転送サービスミドルウエアは、この通知電文を受け取ると、アプリケーションにファイル受信サービスオブジェクトを搭載している受信側ノードのEAを通知する（受信側ノード通知サービス）。送信側ノードのアプリケーションは、受信側ノードのEAを管理する。
【０３２６】
図３８は、送信側が受信側より先に立ち上がる場合のシーケンスである。
＜送信側ノードが先に立ち上がり、受信側ノードが後で立ち上がったときの処理＞
【０３２７】
（１）インスタンス変化クラス通知（受信側→送信側）
［受信側ノード処理］
立ち上げシーケンスに従い、送信側ノードに対してインスタンス変化クラスの通知を行なう。
［送信側ノード処理］
送信側ノードのファイル転送サービスミドルウエアは、この通知電文を受けるとアプリケーションにファイル受信サービスオブジェクトを搭載している受信側ノードのEAを通知する（受信側ノード通知サービス）。送信側ノードのアプリケーションは、受信側ノードのEAを管理する。
【０３２８】
（２）動作状態通知（送信側→受信側）
［送信側ノード処理］
送信側ノードのファイル転送サービスミドルウエアは、（１）インスタンス変化クラス通知を受けると、ＰＵＬＬ型でファイル送信が可能な全てのファイル送信サービスオブジェクトの動作状態を受信側ノードに通知しなければならない（必須）。
［受信側ノード処理］
受信側のファイル転送サービスミドルウエアは、この通知電文を受け取ると、アプリケーションにファイル送信サービスオブジェクトを搭載している送信側ノードのEAを通知する（送信側ノード通知サービス）。受信側ノードのアプリケーションは送信側ノードのEAを管理する。
【０３２９】
送信側ノードから自動発信によりファイル転送を行う場合、受信側ノードの「ＰＵＳＨ受信用取扱オブジェクト情報」プロパティを要求し、必要に応じて「送信対象情報」プロパティの通知を行った後、「送信ファイル情報」プロパティの通知に続いて、対象データを分割して送信を行うことによりファイル送信を行う。
【０３３０】
図３９は自発通信の代表的な通信シーケンスでであり、図４１、図４２は自発通信の通信シーケンスに用いる電文の例を示す図である。
【０３３１】
＜事前処理＞
（１）取扱オブジェクト情報要求（送信側→受信側）
［送信側ノード処理］
送信側ノードのアプリケーションが受信側ノードの受信サービス
オブジェクトに対して、「ＰＵＳＨ受信用取扱オブジェクト情報」プロパティを読出し要求する。（取扱オブジェクト情報要求サービス）送信側ノードのファイル転送サービスミドルウェアは、受信側ノードに受信サービスオブジェクトが複数搭載されていることを想定し、インスタンス全体への一斉同報を行っても良い。
【０３３２】
（２）取扱オブジェクト情報応答（受信側→送信側）
［受信側ノード処理］
（１）取扱オブジェクト情報要求を受けて、受信側ノードの全ての受信サービスオブジェクトは「ＰＵＳＨ受信用取扱オブジェクト情報」プロパティを応答送信する。
［送信側ノード処理］
送信側ノードのファイル転送サービスミドルウェアは、この応答電文を受けると、該電文中のSEOJを、受信側ノードのファイル送信サービスオブジェクトとして取扱オブジェクト情報とリンクして記憶し、アプリケーションに対して取扱オブジェクト情報要求サービスの応答を返す。
【０３３３】
＜送信処理＞
（３）送信対象情報通知（送信側→受信側）
［送信側ノード処理］
送信側ノードのアプリケーションはファイル転送サービスミドルウェアに送信対象情報を設定する（ファイル取得通知サービス）。これを受けたファイル転送サービスミドルウエアは、送信側ノードは受信側ノードに対し送信対象情報通知を行う。（必須）このとき、ファイル転送サービスミドルウェアは、通知電文のSEOJおよびDEOJを以下のように決定する。SEOJは、送信窓口としてのファイル送信サービスオブジェクトを任意に選択する。DEOJは、受信側ノードのファイル受信サービスオブジェクト（シーケンス▲２▼で取得）のうち、ファイル取得通知サービスで受けたファイル提供機器情報を扱えるものを選択する。
［受信側ノード処理］
受信側ノードのファイル転送サービスミドルウェアは、この通知電文中のSEOJを送信側ノードのファイル送信サービスオブジェクトとして記憶する（送信対象情報通知サービス）。
【０３３４】
（４）送信開始トリガー（受信側→送信側）
［受信側ノード処理］
受信側ノードのアプリケーションは（３）送信対象情報通知を受けて、ファイル転送サービスミドルウエアに対してファイル受信可能かを判断した結果を設定する（ファイル受信設定サービス）。受信側ノードのファイル転送サービスミドルウエアはファイル受信する場合には、送信対象情報通知の送信元のファイル送信サービスオブジェクトに対し「送受信設定」プロパティを0x20：送信開始に設定する送信開始トリガーを送信する。送信対象情報で指定されたファイルが取得できない場合、あるいは取得しない場合は、「送受信設定」プロパティを0x01：強制終了とする書込み要求を行なう（必須）。
［送信側ノード処理］
送信側ノードのファイル転送サービスミドルウェアは、受信側ノードの「送受信設定」プロパティに対する書込み結果をアプリケーションに通知する（ファイル送信設定通知サービス）。なお、送信側ノードのファイル転送サービスミドルウェアは、「送受信設定」プロパティへの書込みデータに応じて、「送信状態」プロパティに書込みを行う（必須）。
【０３３５】
（５）送信ファイル情報通知（送信側→受信側）
［送信側ノード処理］
送信側ノードのアプリケーションは、ファイル送信設定サービスを受けて、ファイル転送サービスミドルウェアに送信ファイルと、送信ファイル情報を設定する（ファイル送信要求サービス）。これを受けてファイル転送サービスミドルウェアは、受信側ノードのファイル受信サービスオブジェクトに対し、送信ファイル情報を通知する（必須）。
【０３３６】
（６）送信ファイル情報通知応答（受信側→送信側）
［受信側ノード処理］
受信側ノードは、送信側ノードに通知応答を返す。
【０３３７】
（７）分割データ送信（送信側→受信側）
［送信側ノード処理］
（６）送信ファイル情報通知応答を受けて、送信側ノードのファイル転送サービスミドルウエアは、送信ファイルを分割データサイズ毎に分割して、受信側ノードのEAとファイル受信サービスオブジェクトを指定して配列要素NO.の小さい順に連続送信する（必須）。
【０３３８】
（８）指定分割データ要求（受信側→送信側）
［受信側ノード処理］
受信側ノードのファイル転送サービスミドルウエアは、正しく受信できなかった分割データがある場合は、分割データの配列要素Ｎｏ．を指定して送信要求を送信側ノードに対して行う。
【０３３９】
（９）指定分割データ送信（送信側→受信側）
［送信側ノード処理］
送信側ノードのミドルウェアは、受信側ノードから（８）指定分割データ要求を受けると、指定された配列要素の分割データを受信側ノードに送信する。
【０３４０】
（１０）                        送信完了設定（受信側→送信側）
［受信側ノード処理］
受信側ノードのファイル転送サービスミドルウェアは、送信側ノードのファイル送信サービスオブジェクトの「送受信設定」プロパティに、ファイルが正しく受信できた場合は0x00：正常終了、何らかの理由により送信処理を終了する場合に0x01：強制終了に設定する（必須）。
【０３４１】
なお、受信側ノードのファイル転送サービスミドルウェアは、（７）分割データ送信で得た複数のデータを１つのファイルに組み立てて、送信ファイル情報通知（５）で得たファイル情報と併せてアプリケーションに通知する（ファイル受信設定サービスの応答）。一方、送信側ノードのファイル転送サービスミドルウェアは、受信側ノードから（１０）送信完了設定やファイル送信の強制終了設定を受けるとアプリケーションに通知する。ファイル受信に失敗した場合は、その旨をアプリケーションに通知する。（ファイル送信サービスの応答）。
【０３４２】
［送信側ノード処理］
送信側ノードは、受信側ノードからの送信完了設定を受けて、「送信状態」プロパティを0x00：READYに設定する。送信完了設定が行なわれない場合に備えて、送信側ノードは指定分割データの要求と送信完了設定のフレーム受信待ちの処理においてタイムアウト１分以上を設け、タイムアウト時間経過後に「送信状態」プロパティを0x00：READYに設定する。なお、送信側ノードは該タイムアウト１分以内は、受信側ノードからの再送要求を受け付けられるようにする(必須)。また、また、送信側ノードのファイル転送サービスミドルウェアは、（１０）受信側ノードから（１０）送信完了設定やファイル送信の強制終了設定を受けるとアプリケーションに通知する。（ファイル送信サービスの応答）。
要求応答通信（ＰＵＬＬ型データ通信）の処理では、受信側ノードからファイル送信の要求を行う場合、送信側ノードの「ＰＵＳＨ送信用取扱オブジェクト情報」プロパティを要求して送信ファイルの確認を行った後、必要に応じて送信ファイル情報収集を行い、受信側ノードが送信開始トリガーを送信する。このトリガーを受けて送信側ノードが指定対象オブジェクトの送信ファイル情報を通知し、以降はＰＵＳＨ型と同じ送信処理を行う。
【０３４３】
図４０は、要求応答通信の代表的な通信シーケンスであり、図４３、図４４は要求応答通信の通信シーケンスに用いる電文の例を示す図である。
【０３４４】
＜事前処理＞
（１）取扱オブジェクト情報要求（受信側→送信側）
［受信側ノード処理］
受信側ノードのアプリケーションが送信側ノードに対して、「ＰＵＬＬ送信用取扱オブジェクト情報」プロパティを読出し要求する（取扱オブジェクト情報要求サービス）。受信側ノードのファイル転送サービスミドルウェアは、送信側ノードに送信サービスオブジェクトが複数搭載されていることを想定し、インスタンス全体への一斉同報を行っても良い。
【０３４５】
（２）取扱オブジェクト情報応答（送信側→受信側）
［送信側ノード処理］
取扱オブジェクト情報要求（１）を受けて、送信側ノードの全ての送信サービスオブジェクトは「ＰＵＬＬ送信用取扱オブジェクト情報」プロパティを応答送信する。
［受信側ノード処理］
受信側ノードのファイル転送サービスミドルウェアは、この応答電文を受けると、該電文中のSEOJを、送信側ノードのファイル送信サービスオブジェクトとして取扱オブジェクト情報とリンクして記憶し、アプリケーションに対して取扱オブジェクト情報要求サービスの応答を返す。
【０３４６】
＜送信処理＞
【０３４７】
受信側ノードのアプリケーションが、ファイル転送サービスミドルウェアにファイル受信要求を出すことにより、以下のシーケンスによりファイル転送を行う。
【０３４８】
（３）送信対象情報書込要求（受信側→送信側）
［受信側ノード処理］
受信側ノードのアプリケーションは、送信側ノードのファイル提供機器からファイル確保を要求するときは、ファイル転送サービスミドルウェアに対しファイル確保したい送信側ノードのEAと送信対象情報を設定する（ファイル予約サービス）。これを受けて、ファイル転送サービスミドルウェアは送信側ノードのファイル送信サービスオブジェクトに対して「送信対象情報」プロパティの書込み要求をする（必須）。
【０３４９】
このとき、ファイル転送サービスミドルウェアは、書込要求電文のSEOJおよびDEOJを以下のように決定する。SEOJは、受信窓口としてのファイル受信サービスオブジェクトを任意に選択する。DEOJは、送信側ノードのファイル送信サービスオブジェクト（シーケンス▲２▼で取得）のうち、ファイル予約サービスで受けたファイル提供機器情報を扱えるものを選択する。
[送信側ノード処理]
送信側ノードにおいて、ファイル転送サービスミドルウェアは、送信対象情報書込み要求電文を受け取ると該電文中のSEA、SEOJ、DEOJを、それぞれ受信側ノードのEA、ファイル受信サービスオブジェクト、自ノードのファイル送信サービスオブジェクトとして記憶する。さらに、ファイルの予約Noを発行して、送信対象情報と共にアプリケーションに通知する（送信対象情報通知サービス）。このとき、予約NoはSEA、SEOJ、DEOJの組み合わせ毎にユニークに割り振る。送信側ノードのアプリケーションは、送信対象情報通知サービスを受け、送信対象情報で指定された機器オブジェクトとプロパティで決まるファイルを確保し、送信対象情報通知サービスで受けた予約Noと共に管理する。同じ予約Noを持つ送信対象情報通知サービスを連続して受けると、最後に受けたサービスのみが有効となる。確保したファイルは、タイムアウト時間経過後、破棄される。なお、タイムアウトはアプリケーションの実装依存となる。
【０３５０】
（４）送信対象情報通知（送信側→受信側）
［送信側ノード処理］
送信側ノードのファイル転送サービスミドルウェアは、（３）送信対象情報書込要求により書き込まれた送信対象情報が、ファイル送信サービスオブジェクトの「ＰＵＬＬ送信用取扱オブジェクト情報」プロパティのファイル提供機器情報に含まれているか検査し、含まれている（送信対象情報が妥当な）場合は送信対象情報を折り返し通知し、含まれていない（送信対象情報が妥当でない）場合、あるいは含まれている（送信対象情報が妥当である）がファイルが確保できない場合はファイル番号を0xFFFFとした送信対象情報を通知する（必須）。
［受信側ノード処理］
受信側ノードのファイル転送サービスミドルウェアはこの通知を受け、アプリケーションに応答を返す（ファイル予約サービスの応答）。
【０３５１】
（５）送信状態要求 （受信側→送信側）
［受信側ノード処理］
受信側ノードのアプリケーションは、ファイル予約サービスの応答により送信側ノードがファイル確保できたと判明した場合には、ファイル受信する旨をファイル転送サービスミドルウェアに設定する（ファイル受信設定サービス）。
受信側ノードのファイル転送ミドルウェアは、（１）取扱オブジェクト情報要求で得た送信側ノードの送信サービスオブジェクトに対して、「送信状態」プロパティを要求する。
【０３５２】
（６）送信状態応答 （送信側→受信側）
［送信側ノード処理］
読出要求に対して、応答を送信する。
【０３５３】
（７）送信開始トリガー（受信側→送信側）
［受信側ノード処理］
ファイル受信サービス、もしくは送信状態応答のREADYを受けて、ファイル転送サービスミドルウェアは送信側ノードのファイル送信サービスオブジェクトに対して、「送受信設定」プロパティに0x20：送信開始を書き込む送信開始トリガーを送信する（必須）。
【０３５４】
［送信側ノード処理］
送信側ノードのファイル転送サービスミドルウェアは、受信側ノードからの送信開始トリガーを受けて、「送信状態」プロパティを0x20：送信中に変更する（必須）。また、送信開始トリガー電文中のSEA、SEOJ、DEOJからファイルの予約No.を検索し、この予約No.をアプリケーションに通知する（ファイル送信設定通知サービス）。
【０３５５】
送信ファイル情報通知以降のシーケンスは自発通信の送信ファイル情報通知以降のシーケンスと同様となる。
【０３５６】
図３９に示す送信側ノードのサービスである、ＰＵＳＨ型ファイル送信関連サービスを以下に示す。
【０３５７】
（１）受信側ノード通知サービス
ＰＵＳＨ型でファイルを送信する送信先となる受信側ノードのＥＣＨＯＮＥＴアドレスをアプリケーションに通知するサービス。
入力データは受信側ノードのＥＣＨＯＮＥＴアドレス、応答データはなしとなる。
【０３５８】
（２）取扱オブジェクト情報要求サービス
受信側ノードに対して「ＰＵＳＨ受信用取扱オブジェクト情報」プロパティの取得を行う。入力データは受信側ノードのＥＣＨＯＮＥＴアドレス。応答データはＰＵＳＨ受信用取扱オブジェクト情報となる。
【０３５９】
（３）ファイル取得通知サービス
受信側ノードに対して「送信対象情報」プロパティを通知することを要求する。入力データは送信対象情報。応答データはなし。
【０３６０】
（４）ファイル送信設定通知サービス
受信側ノードからの送受信設定の書込み要求があったことを、アプリケーションに対して通知する。入力データは送信開始、または強制終了を示す送受信設定情報、応答データはなしとなる。
【０３６１】
（５）ファイル送信要求サービス
自ノードのファイル送信サービスオブジェクトに対してデータをセットし、ファイル送信を行う。入力データは、送信ファイル名称、属性、日付、ファイルバイト数、送信ファイルへのポインタ。応答データは、送信完了または送信失敗を示す送信結果となる。
【０３６２】
図３９に示す受信側ノードのサービスである、ＰＵＳＨ型ファイル受信関連サービスを以下に示す。
【０３６３】
（１）送信対象情報通知サービス
ＰＵＳＨ型ファイル送信を行う送信側ノードから「送信対象情報」プロパティの通知を受信した場合、受信した情報をアプリケーションに通知する。入力データは送信側ノードのＥＣＨＯＮＥＴアドレス、送信対象情報、応答データはなしとなる。
【０３６４】
（２）ファイル受信設定サービス
送信対象情報通知サービスにより受け取った送信対象情報が受信可能である場合、送信側ノードのファイル送信サービスオブジェクトの「送受信設定」プロパティに送信開始の書込み要求を行、ファイルを受信する。入力データは送受信設定、送信元EA、ファイル提供機器情報、ファイル番号となる。応答データは受信結果、ファイル名称、属性、日付、ファイルバイト数、受信ファイルへのポインタとなる。
【０３６５】
図４０に示す送信側ノードのサービスである、ＰＵＬＬ型ファイル送信関連サービスを以下に示す。
【０３６６】
（１）送信対象情報通知サービス（ファイル予約）
受信側ノードから送信側ノードの「送信対象情報」プロパティに対して書込みが行われた場合、書き込まれた「送信対象情報」プロパティの値をアプリケーションに通知する。入力データは登録された送信対象情報の予約Ｎｏ．と送信対象情報、応答データはなしとなる。
【０３６７】
（２）ファイル送信設定通知サービス
受信側ノードからの送信開始トリガーを受信したことを、アプリケーションに対して通知するサービス。入力データは予約Ｎｏと送信開始または強制終了を表す送受信設定、応答データはなしとなる。
【０３６８】
（３）ファイル送信要求サービス
自ノードのファイル送信オブジェクトに対してデータをセットし、ファイル送信を行うサービス。入力データは予約Ｎｏ、送信ファイル名称、属性、日付、ファイルバイト数、送信ファイルへのポインタ。応答データは送信完了または送信失敗の送信結果となる。
【０３６９】
図４０に示す受信側ノードのサービスである、ＰＵＬＬ型ファイル受信関連サービスを以下に示す。
【０３７０】
（１）送信側ノード通知サービス
ＰＵＳＨ型でファイルを送信する送信元となる送信側ノードのＥＣＨＯＮＥＴアドレスをアプリケーションに通知する。入力データはは送信側ノードのＥＣＨＯＮＥＴアドレス、応答データはなしとなる。
【０３７１】
（２）取扱オブジェクト情報要求サービス
送信側ノードのファイル送信オブジェクトに対して「ＰＵＬＬ送信用取扱オブジェクト情報」プロパティの要求を行う。入力データは送信側のＥＣＨＯＮＥＴアドレス、応答データはＰＵＬＬ送信用取扱オブジェクト情報となる。
【０３７２】
（３）ファイル予約サービス
送信側ノードのファイル送信サービスオブジェクトに対して、指定したファイル提供機器オブジェクト、プロパティ、ファイル番号のファイルを送信させるための予約を行う。ファイル転送サービスミドルウェアは、指定された情報を送信対象情報書込要求により送信側ノードに対して書込みを行い、送信側ノードからの送信対象情報通知を受ける。入力データは送信側ノードのＥＣＨＯＮＥＴアドレスと送信対象情報。応答データは予約完了または予約失敗を表す予約結果となる。
【０３７３】
（４）ファイル受信設定サービス
送信側ノードのファイル送信サービスオブジェクトに対して、ファイル予約サービスにより予約したファイルを送信するよう要求する。ファイル転送サービスミドルウエアは、送信側ノードの送信状態の確認、送信開始トリガーの送信、ファイルの受信、受信完了設定までの一連のシーケンスを制御し、ファイルを受信完了すると「受信完了」を返す。入力データは受信許可または受信不可を表す送受信設定、送信元となるＥＣＨＯＮＥＴアドレス、送信対象情報。応答データは受信完了または受信失敗を示す受信結果、受信ファイル名称、属性、日付、ファイルバイト数、受信ファイル本体へポインタとなる。
【０３７４】
なお、本発明において、コントローラのように、複数の種々の端末機器と通信を行う通信機器の場合は、データ通信機能テーブルを複数個備え、一旦共通化したテーブルを保存できるようにして、次回のデータ通信に使うようにしてもよい。
【０３７５】
なお、本発明のデータ通信方法のプログラムを記録した記録媒体は、プログラムを記録したＲＯＭ、ＲＡＭ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ、メモリカード、ハードディスクなどの記録媒体をいう。また、電話回線、搬送路などの通信媒体も含む概念である。
【０３７６】
【発明の効果】
以上説明したように本発明のデータ通信方法によれば、通信に関する機能テーブルの共通化を行うことで、自発通信または要求応答通信によるデータ通信を行うことが可能な通信機器の判断、送信データ種別の判定、データ数、各データ識別情報の取得、最適サイズにデータを分割してデータ通信を行うことが可能となり、データ通信において、通信トラフィックの削減と通信の高速化を実現することが可能となる。
【図面の簡単な説明】
【図１】  本発明のデータ通信を行う通信機器の構成図の一例を示す図である。
【図２】  エアコンとコントローラのデータ通信機能テーブルのデータ通信前状態を示す図である。
【図３】  送信データ情報の一例を示す図である。
【図４】  エアコンとコントローラのデータ通信機能テーブルのデータ通信後状態を示す図である。
【図５】  照明とコントローラのデータ通信機能テーブルのデータ通信前状態を示す図である。
【図６】  照明とコントローラのデータ通信機能テーブルのデータ通信後状態を示す図である。
【図７】  コントローラと電子レンジのデータ通信機能テーブルのデータ通信前状態を示す図である。
【図８】  コントローラと電子レンジのデータ通信機能テーブルのデータ通信後状態を示す図である。
【図９】  データ送信サービスに関連するプロパティの例を示す図である。
【図１０】  データ送信サービスに関連するプロパティの例を示す図である。
【図１１】  データ受信サービスに関連するプロパティの例を示す図である。
【図１２】  自発通信の通信シーケンスの例を示す図である。
【図１３】  自発通信の通信シーケンスに用いる電文の例を示す図である。
【図１４】  要求応答通信の通信シーケンスの例を示す図である。
【図１５】  要求応答通信の通信シーケンスに用いる電文の例を示す図である。
【図１６】  要求応答通信の通信シーケンスに用いる電文の例を示す図である。
【図１７】  別のデータ通信機能テーブルのデータ通信前状態を示す図である。
【図１８】  別のデータ通信機能テーブルのデータ通信後状態を示す図である。
【図１９】  端末機器の送信機能テーブルと、コントローラの受信機能テーブルを示す図である。
【図２０】  データ受信サービスに関連するプロパティの例を示す図である。
【図２１】  データ送信サービスに関連するプロパティの例を示す図である。
【図２２】  データ送信サービスに関連するプロパティの例を示す図である。
【図２３】  データ通信に関するノード立ち上げシーケンスの例を示す図である。
【図２４】  データ通信に関するノード立ち上げシーケンスの例を示す図である。
【図２５】  自発通信の通信シーケンスの例を示す図である。
【図２６】  要求応答通信の通信シーケンスの例を示す図である。
【図２７】  データ受信サービスに関連するプロパティの例を示す図である。
【図２８】  データ送信サービスに関連するプロパティの例を示す図である。
【図２９】  データ送信サービスに関連するプロパティの例を示す図である。
【図３０】  データ通信に関するノード立ち上げシーケンスの例を示す図である。
【図３１】  データ通信に関するノード立ち上げシーケンスの例を示す図である。
【図３２】  自発通信の通信シーケンスの例を示す図である。
【図３３】  要求応答通信の通信シーケンスの例を示す図である。
【図３４】  データ受信サービスに関連するプロパティの例を示す図である。
【図３５】  データ送信サービスに関連するプロパティの例を示す図である。
【図３６】  データ送信サービスに関連するプロパティの例を示す図である。
【図３７】  データ通信に関するノード立ち上げシーケンスの例を示す図である。
【図３８】  データ通信に関するノード立ち上げシーケンスの例を示す図である。
【図３９】  自発通信の通信シーケンスの例を示す図である。
【図４０】  要求応答通信の通信シーケンスの例を示す図である。
【図４１】  自発通信の通信シーケンスに用いる電文の例を示す図である。
【図４２】  自発通信の通信シーケンスに用いる電文の例を示す図である。
【図４３】  要求応答通信の通信シーケンスに用いる電文の例を示す図である。
【図４４】  要求応答通信の通信シーケンスに用いる電文の例を示す図である。
【図４５】  ＰＵＳＨ受信取扱オブジェクト情報の構成図である。
【図４６】  ＰＵＬＬ送信取扱オブジェクト情報の構成図である。
【図４７】  送信対象情報の構成図である。
【図４８】  送信ファイル情報の構成図である。
【図４９】  送信データの構成図である。
【図５０】  本発明による通信方法に基づいてデータを送受信する通信システム１００の構成を示す図である。
【符号の説明】
１、２  通信機器
３  ネットワーク
１０、２０  ＣＰＵ
１１、２１  メモリ
１２、２２  データ通信制御部
１３、２３  メモリ管理部
１４、２４  ネットワーク制御部
１５、２５  データ通信機能テーブル
１６、２６  テーブル共通化制御部
１７、２７  テーブル値読出し部
１８、２８  テーブル値書込み部
１９、２９  テーブル共通化処理部
１００  通信システム
１０１、１１１  アプリケーションソフトウェア
１０２、１１２  サービスミドルウェア
１０３、１１３  サービスＡＰＩ
１０４−１、１０４−２  基本ＡＰＩ
１０５  通信ミドルウェア
１０６  機器オブジェクト
１０７、１１７  サービスオブジェクト
１０８  下位通信ソフトウェア
１０９  共通下位通信インターフェース
【図１】
0003667322.tif 000002
【図２】
0003667322.tif 000003
【図３】
0003667322.tif 000004
【図４】
0003667322.tif 000005
【図５】
0003667322.tif 000006
【図６】
0003667322.tif 000007
【図７】
0003667322.tif 000008
【図８】
0003667322.tif 000009
【図９】
0003667322.tif 000010
【図１０】
0003667322.tif 000011
【図１１】
0003667322.tif 000012
【図１２】
0003667322.tif 000013
【図１３】
0003667322.tif 000014
【図１４】
0003667322.tif 000015
【図１５】
0003667322.tif 000016
【図１６】
0003667322.tif 000017
【図１７】
0003667322.tif 000018
【図１８】
0003667322.tif 000019
【図１９】
0003667322.tif 000020
【図２０】
0003667322.tif 000021
【図２１】
0003667322.tif 000022
【図２２】
0003667322.tif 000023
【図２３】
0003667322.tif 000024
【図２４】
0003667322.tif 000025
【図２５】
0003667322.tif 000026
【図２６】
0003667322.tif 000027
【図２７】
0003667322.tif 000028
【図２８】
0003667322.tif 000029
【図２９】
0003667322.tif 000030
【図３０】
0003667322.tif 000031
【図３１】
0003667322.tif 000032
【図３２】
0003667322.tif 000033
【図３３】
0003667322.tif 000034
【図３４】
0003667322.tif 000035
【図３５】
0003667322.tif 000036
【図３６】
0003667322.tif 000037
【図３７】
0003667322.tif 000038
【図３８】
0003667322.tif 000039
【図３９】
0003667322.tif 000040
【図４０】
0003667322.tif 000041
【図４１】
0003667322.tif 000042
【図４２】
0003667322.tif 000043
【図４３】
0003667322.tif 000044
【図４４】
0003667322.tif 000045
【図４５】
0003667322.tif 000046
【図４６】
0003667322.tif 000047
【図４７】
0003667322.tif 000048
【図４８】
0003667322.tif 000049
【図４９】
0003667322.tif 000050
【図５０】
0003667322.tif 000051