JP5566126B2 - 送信モジュール、受信モジュール、送信方法、受信方法および通信システム - Google Patents

送信モジュール、受信モジュール、送信方法、受信方法および通信システム Download PDF

Info

Publication number
JP5566126B2
JP5566126B2 JP2010022225A JP2010022225A JP5566126B2 JP 5566126 B2 JP5566126 B2 JP 5566126B2 JP 2010022225 A JP2010022225 A JP 2010022225A JP 2010022225 A JP2010022225 A JP 2010022225A JP 5566126 B2 JP5566126 B2 JP 5566126B2
Authority
JP
Japan
Prior art keywords
transmission
data
target data
responder
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010022225A
Other languages
English (en)
Other versions
JP2011160336A (ja
Inventor
圭都 福島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olympus Corp
Original Assignee
Olympus Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olympus Corp filed Critical Olympus Corp
Priority to JP2010022225A priority Critical patent/JP5566126B2/ja
Priority to US13/019,455 priority patent/US8831037B2/en
Publication of JP2011160336A publication Critical patent/JP2011160336A/ja
Application granted granted Critical
Publication of JP5566126B2 publication Critical patent/JP5566126B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/22Time-division multiplex systems in which the sources have different rates or codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)

Description

本発明は、送信モジュール、受信モジュール、送信方法、受信方法および通信システムに関する。
画像転送プロトコルであるPicture Transfer Protocol:ISO/DIS 15740(以下、PTPと記載する)は、トランスポート層に非依存で適用可能なため、これまでUSB(Universal Serial Bus)では、USB Still Image Capture Device Class(以下、SICDと記載する)が規格化されており、IP networkでは、CIPA DC−005 “Picture Transfer Protocol“ over TCP/IP networks(以下、PTP−IPと記載する)が規格化されている。また、近年、有線無線を問わず様々な通信手段が開発されており、今後PTPの適用範囲はさらに広くなるものと思われる。
PTPを各トランスポート層に適用する場合、各トランスポート層の特性に応じた実装をしなければならず、特にPTPオペレーションのキャンセルは、データ転送の中断を伴うものがあるため、トランスポート毎に実装が異なっている。トランスポート層がUSBの場合(SICD)のPTPオペレーションのキャンセル方法は、以下の通りである。
・Initiatorがキャンセルする場合
Step1:Initiatorは、USB Token(IN/OUT Token)の発行を停止することにより、データ転送(送信/受信)を停止する。
Step2:Initiatorは、USB class−specific Cancel Requestを発行し、PTPオペレーションのキャンセルを要求する。
Step3:Responderは、実行中のPTPオペレーションをキャンセルする。
・Responderがキャンセルする場合
Step1:Responderは、BULK−IN/OUT endpointをSTALLし、データ転送を停止する。
Step2:Initiatorは、PTPオペレーションをキャンセルする。
USBでは、InitiatorであるUSB Hostがすべてのデータ転送の制御権を有していて、USB Token(IN/OUT Token等)を用いResponderであるUSB Deviceに対しデータ転送可能か否かをポーリングすることにより、データの送受信を行っている。また、Responder(USB Device)は、Initiator (USB Host)が発行するUSB Tokenに対しSTALLを返すことにより現在転送中のデータを停止する、Halt機能を有している。なお、USBについての仕様は非特許文献1に開示されている。
Universal Serial Bus Specification Revision 2.0、[online]、April 27, 2000、[平成22年1月25日検索]、インターネット<URL:http://www.usb.org/developers/docs/>
しかしながら、通信中の装置の一方がデータ転送の制御権を有するという既存の機能がないトランスポート層プロトコルを用いて、通信装置が通信を行う場合、一方の通信装置がデータ転送を中断しても相手側の通信装置がデータ転送の中断を認識することができないという問題がある。
本発明は、上記事情に鑑みてなされたものであり、通信中の装置の一方がデータ転送の制御権を有するという既存の機能がないトランスポート層プロトコルを用いて、通信装置が通信を行う場合において、一方の通信装置がデータ転送を中断した場合においても、相手側の通信装置がデータ転送の中断を認識することができる送信モジュール、受信モジュール、送信方法、受信方法および通信システムを提供することを目的とする。
本発明は、送信対象データおよび前記送信対象データの送信のキャンセルに関係するトリガを、上位層の通信プロトコルに従った処理を行う処理部から入力する第1インタフェース部と、前記送信対象データに対応し、前記上位層のデータ種別を識別することが可能な情報を含まないトランスポート層レベルの通信フレームを一つ、または複数生成する生成部と、前記生成した通信フレームを送信する第2インタフェース部と、前記送信対象データに対応する通信フレームを順次送信している間に前記トリガが入力された場合、前記送信する通信フレームのうち前記送信対象データの最後尾に対応する通信フレーム以外の通信フレームに、前記送信対象データの送信終了を示すフラグを付与する付与部と、を有することを特徴とする送信モジュールである。
また、本発明は、前記第1インタフェース部が入力する前記トリガを前記トランスポート層レベルの情報に変換する変換部を更に有し、前記付与部は、前記変換された情報に基づいて、前記フラグを付与することを特徴とする送信モジュールである。
また、本発明は、前記第1インタフェース部が入力する前記送信対象データを前記トランスポート層レベルの情報に変換する変換部と、前記変換された情報を複数に分割する分割部と、を更に有し、前記生成部は、前記分割された情報に基づいた前記通信フレームを複数生成し、前記付与部は、前記分割された情報のうち最後尾に対応する情報以外の情報に対応する通信フレームに前記フラグを付与することを特徴とする送信モジュールである。
また、本発明の送信モジュールにおいて、前記第2インタフェース部は、前記送信対象データに対応する通信フレームを順次出力している間に前記トリガが入力された場合、前記フラグが付与された通信フレームの送信後に、前記トリガに対応する情報を送信することを特徴とする。
また、本発明の送信モジュールにおいて、前記第2インタフェース部は、前記送信対象データの送信のキャンセル要求に関係する第2トリガを受信し、前記第1インタフェース部は、前記第2トリガに対応する情報を前記処理部に出力し、当該出力後に前記トリガを入力することを特徴とする。
また、本発明は、送信対象データを受信する受信モジュールであって、前記送信対象データに対応し、前記上位層のデータ種別を識別することが可能な情報を含まない複数の通信フレームのうち前記送信対象データの最後尾に対応する通信フレーム以外の通信フレームであって、前記送信対象データの送信終了を示すフラグが付与された通信フレームを受信する第2インタフェース部と、前記フラグが付与された通信フレームを前記第2インタフェース部が受信した場合、前記送信対象データの送信終了を示す情報を、上位層の通信プロトコルに従った処理を行う処理部に出力する第1インタフェース部と、を有することを特徴とする受信モジュールである。
また、本発明の受信モジュールにおいて、前記第2インタフェース部は、前記フラグが付与された通信フレームを受信したあとに、前記送信対象データの送信のキャンセルを通知する通信フレームを受信し、前記第1インタフェース部は、前記通知に対応する情報を前記処理部に出力することを特徴とする。
また、本発明の受信モジュールにおいて、前記第1インタフェース部は、前記送信対象データの送信のキャンセル要求に関係する第3トリガを入力し、前記第2インタフェース部は、前記送信対象データを順次受信している間に、前記第3トリガに対応する情報を送信することを特徴とする。
また、本発明は、第1インタフェース部が、送信対象データおよび前記送信対象データの送信のキャンセルに関係するトリガを、上位層の通信プロトコルに従った処理を行う処理部から入力するステップと、生成部が、前記送信対象データに対応し、前記上位層のデータ種別を識別することが可能な情報を含まないトランスポート層レベルの通信フレームを複数生成するステップと、第2インタフェース部が、前記生成した通信フレームを送信するステップと、前記送信対象データに対応する通信フレームを順次送信している間に前記トリガが入力された場合、付与部が、前記送信する通信フレームのうち前記送信対象データの最後尾に対応する通信フレーム以外の通信フレームに、前記送信対象データの送信終了を示すフラグを付与するステップと、を有することを特徴とする送信方法である。
また、本発明は、送信対象データを受信する受信方法であって、第2インタフェース部が、前記送信対象データに対応し、前記上位層のデータ種別を識別することが可能な情報を含まない複数の通信フレームのうち前記送信対象データの最後尾に対応する通信フレーム以外の通信フレームであって、前記送信対象データの送信終了を示すフラグが付与された通信フレームを受信するステップと、前記フラグが付与された通信フレームを前記第2インタフェース部が受信した場合、第1インタフェース部が、前記送信対象データの送信終了を示す情報を、上位層の通信プロトコルに従った処理を行う処理部に出力するステップと、を有することを特徴とする受信方法である。
また、本発明は、送信対象データおよび前記送信対象データの送信のキャンセルに関係するトリガを、上位層の通信プロトコルに従った処理を行う第1の処理部から入力する送信側第1インタフェース部と、前記送信対象データに対応し、前記上位層のデータ種別を識別することが可能な情報を含まないトランスポート層レベルの通信フレームを一つ、または複数生成する生成部と、前記生成した通信フレームを送信する送信側第2インタフェース部と、前記送信対象データに対応する通信フレームを順次送信している間に前記トリガが入力された場合、前記送信する通信フレームのうち前記送信対象データの最後尾に対応する通信フレーム以外の通信フレームに、前記送信対象データの送信終了を示すフラグを付与する付与部と、を有する送信モジュールと、前記送信対象データに対応し、前記上位層のデータ種別を識別することが可能な情報を含まない複数の通信フレームのうち前記送信対象データの最後尾に対応する通信フレーム以外の通信フレームであって、前記送信対象データの送信終了を示すフラグが付与された通信フレームを受信する受信側第2インタフェース部と、前記フラグが付与された通信フレームを前記受信側第2インタフェース部が受信した場合、前記送信対象データの送信終了を示す情報を、上位層の通信プロトコルに従って処理を行う第2の処理部に出力する受信側第1インタフェース部と、を有する受信モジュールと、を備えたことを特徴とする通信システムである。
本発明によれば、生成部は、第1インタフェース部が上位層の通信プロトコルに従った処理を行う処理部から入力する送信対象のデータから、上位層のデータ種別を識別することが可能な情報を含まないトランスポート層レベルの通信フレームを生成し、第2インタフェース部は、生成部が生成した通信フレームを出力する。このときに、第1インタフェース部は、送信対象データの送信のキャンセルに関するトリガを、上位層の通信プロトコルに従った処理を行う処理部から入力すると、付与部は、第2インタフェース部が送信する送信対象データの最後尾に対応する通信フレーム以外の通信フレームに、送信対象データの送信終了を示すフラグを付与する。そして、第2インタフェース部は、付与部が送信対象データの送信終了を示すフラグを付与したトランスポート層レベルの通信フレームを出力する。
従って、データ転送の制御権を有するという既存の機能がないトランスポート層プロトコルを用いて、送信モジュールが通信を行う場合においても、送信モジュールがデータ送信を中断した場合、相手側の通信装置はデータ転送の中断を認識することができる。
本発明の一実施形態における電子カメラの構成を示したブロック図である。 本実施形態におけるPCの構成を示したブロック図である。 本実施形態における通信制御部が用いる通信プロトコルの階層を示した階層図である。 本実施形態における通信制御部の構成を示したブロック図である。 本実施形態におけるデータフレームの構成を示した概略図である 本実施形態におけるACKフレームの構成を示した概略図である。 本実施形態におけるPTP Dataの分割例を示した概略図である。 本実施形態において、InitiatorからResponderへPDUを送信する際のデータの送信順を示したシーケンス図である。 本実施形態において、ResponderからInitiatorへPDUを送信する際のデータの送信順を示したシーケンス図である。 本実施形態において、PTP Dataを送信中に、PTP Dataの送信を停止させる方法を示した概略図である。 本実施形態におけるOperation Request Containerのデータ構造を示した概略図である。 本実施形態におけるData Containerのデータ構造を示した概略図である。 本実施形態におけるResponse Containerのデータ構造を示した概略図である。 本実施形態におけるEvent Containerのデータ構造を示した概略図である。 本実施形態におけるOperationのTransaction Stateを示した遷移図である。 本実施形態において、Operation Requestと、Dataと、Responseと、Eventとの送信タイミングを示したシーケンス図である。 本実施形態におけるCancel Requestのデータ構造を示した概略図である。 本実施形態におけるReset Requestのデータ構造を示した概略図である。 本実施形態において、Cancel RequestとReset Requestとの送信タイミングを示したシーケンス図である。 本実施形態において、オペレーションをキャンセルすることが可能なタイミングを示した概略図である。 本実施形態のCase1、Case2、Case5において、Cancel Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。 本実施形態のCase3において、Cancel Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。 本実施形態のCase4において、Cancel Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。 本実施形態のCase6において、Cancel Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。 本実施形態のCase7において、Cancel Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。 本実施形態のCase1、Case2において、CancelTransactionを使用した場合の、Responderによるオペレーションのキャンセル手順を示したシーケンス図である。 本実施形態のCase3において、CancelTransactionを使用した場合の、Responderによるオペレーションのキャンセル手順を示したシーケンス図である。 本実施形態のCase4において、CancelTransactionを使用した場合の、Responderによるオペレーションのキャンセル手順を示したシーケンス図である。 本実施形態のCase5において、CancelTransactionを使用した場合の、Responderによるオペレーションのキャンセル手順を示したシーケンス図である。 本実施形態のCase6において、CancelTransactionを使用した場合の、Responderによるオペレーションのキャンセル手順を示したシーケンス図である。 本実施形態のCase7において、CancelTransactionを使用した場合の、Responderによるオペレーションのキャンセル手順を示したシーケンス図である。 本実施形態のCase1、Case2およびCase5において、Reset Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。 本実施形態のCase3において、Reset Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。 本実施形態のCase4において、Reset Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。 本実施形態のCase6において、Reset Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。 本実施形態のCase7において、Reset Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。
以下、本発明の一実施形態について図面を参照して説明する。本実施形態は、電子カメラとPC(パーソナルコンピュータ)との間でデータの送受信を行っている際に、データの送受信を停止する例について説明する。
図1は、本実施形態における電子カメラの構成を示したブロック図である。図示する例では、電子カメラ1は、撮像部11と、記録媒体12と、CPU13と、通信制御部14(送信モジュール、受信モジュール)と、操作部15と、表示部16と、RAM17と、フラッシュメモリ18とを備えている。
CPU13は、フラッシュメモリ18に記録されている制御プログラムを読み出して実行し、RAM17に種々のデータを読み書きすることにより、電子カメラ1が備える各部の動作を統括的に制御する。フラッシュメモリ18には、制御プログラムの他に、撮影パラメータや通信パラメータ(データ通信プロトコル情報等)等が記録されている。
撮像部11は、被写体を撮影して撮像信号を生成するとともに、種々の画像処理を行って画像データを作成する。撮像部11に作成された画像データは、記録媒体12に記録される。例えば、記録媒体12として、電子カメラ1に着脱可能なメモリカードや、電子カメラ1に固定されたハードディスクなどが用いられる。
操作部15は、電子カメラ1の動作に関する指示を入力するための操作スイッチなどを備える。表示部16は、記録媒体12から読み出された画像データや、ユーザインタフェース画面等を表示する。通信制御部14は、PCや、プリンタや、外部記録装置等の外部機器との間で撮影画像等のデータの授受を行う通信インタフェースである。通信インタフェースとは広く情報の送受信に用いられるインタフェースのことで、有線通信に限らず、WLAN(Wireless LAN、無線LAN)、Blutooth(登録商標)、IrDA(登録商標)、TransferJET(登録商標)、WiMedia(登録商標)などの無線通信も含まれる。
次に、PCの構成について説明する。図2は、本実施形態におけるPCの構成を示したブロック図である。図示する例では、PC2は、CPU21と、記録媒体22と、通信制御部23(送信モジュール、受信モジュール)と、操作部24と、表示部25と、RAM26とを備えている。
CPU21は、記録媒体22に記録されている制御プログラムを読み出し実行し、RAM26に種々のデータを読み書きすることにより、PC2が備える各部の動作を統括的に制御する。例えば、記録媒体22として、ハードディスクやフラッシュメモリなどが用いられる。記録媒体22には、制御プログラムの他に、文書データや画像データ等の種々のデータが記録される。
操作部24は、PC2の動作に関する指示を入力するためのキーボードやマウスなどを備える。表示部25は、ユーザインタフェース画面や、記録媒体から読み出された文書データや画像データ等を表示する。通信制御部23は、電子カメラ1やプリンタ等の機器との間で種々のデータの授受を行う通信インタフェースである。通信インタフェースとは広く情報の送受信に用いられるインタフェースのことで、有線通信に限らず、WLAN、Blutooth(登録商標)、IrDA(登録商標)、TransferJET(登録商標)、WiMedia(登録商標)などの無線通信も含まれる。
次に、電子カメラ1の通信制御部14と、PC2の通信制御部23とが用いる通信プロトコルについて説明する。図3は、本実施形態における電子カメラ1の通信制御部14と、PC2の通信制御部23とが用いる通信プロトコルの階層を示した階層図である。PTP機器の役割にはInitiator(イニシエータ)とResponder(レスポンダ)があり、Initiatorからのオペレーション要求にResponderが応答することで画像転送や機器制御を行っている。本実施形態では、PC2がInitiatorの役割で動作し、電子カメラ1がResponderの役割で動作する。
本実施形態の通信プロトコル層は、上位層から順に、PTP Layer、Transport Layer、PTP Conversion Layerである。PTP Layerは、PTPを実現するレイヤである。PTP Conversion Layerは、ISO15740に記載のOperation/Data/Response/Event等のデータをPTP LayerとTransport Layerとの間で利用できるよう相互に変換するレイヤである。Transport LayerをUSBとした場合は、PTP Conversion LayerはSICDのことを示す。
Transport Layerは、物理的なデータ転送を行う通信手段(トランスポート)である。Transport Layerは、USBやEthernet(登録商標)のような有線通信に限らず、WLANやIrDA(登録商標)、TransferJET(登録商標)等の無線通信も含まれる。
次に、電子カメラ1の通信制御部14とPC2の通信制御部23とについて説明する。通信制御部14の構成と通信制御部23の構成とは同一の構成である。図4は、本実施形態における電子カメラ1の通信制御部14とPC2の通信制御部23との構成を示したブロック図である。
図示する例では、通信制御部14,23は、上位層の通信プロトコル(PTP Layer)に従った処理を行う処理部30と、処理部30からのデータ送信やデータ送信キャンセル等の要求を入力する第1インタフェース部31(送信側第1インタフェース部、受信側第1インタフェース部)と、トランスポート層レベルの通信フレーム(後述する図5、図6などに示す通信フレーム)を生成する生成部32と、生成部32が生成した通信フレームを下位層の通信プロトコルに出力する第2インタフェース部33(送信側第2インタフェース部、受信側第2インタフェース部)と、送信対象データの送信終了を示すフラグを通信フレームに付与する付与部34とを備える。生成部32は、送信対象データや、送信対象データの送信のキャンセルに関するトリガをトランスポート層レベルの情報に変換する変換部321と、変換部321がトランスポート層レベルの情報に変換した送信対象データを、トランスポート層レベルの通信フレームの大きさに応じて分割する分割部322とを備える。本実施形態では、送信対象データの送信終了を示すフラグとしてMF(More Fragment)を用いる。
なお、通信制御部14,23が備える処理部30はPTP Layerで規定された処理を行い、第1インタフェース部31はPTP Conversion Layerで規定された処理を行い、第2インタフェース部33はTransport Layerで規定された処理を行う。また、通信制御部14,23が備える生成部32と付与部34は、PTP Conversion Layerと、Transport Layerとのいずれかまたは両方で動作する。例えば、生成部32が備える変換部321はPTP Conversion Layerで動作し、分割部322はTransport Layerで動作するようにしてもよい。
次に、本実施形態におけるデータフレームの構成について説明する。図5は、本実施形態におけるデータフレームの構成を示した概略図である。データフレームは、上位層の通信プロトコルから送信要求されたデータを相手機器に送信するために使用される通信フレームである。データフレームは、送信先IDと、送信元IDと、コントロールデータと、SDU(Service Data Unit)と、CRC(Cyclic Redundancy Check)とを含む。
送信先IDには、メッセージを送信する相手の識別子(ID)が設定される。但し、接続要求メッセージ時など相手機器が特定されていない場合は、FF−FF−FF−FF−FF−FF−FF−FF等の特殊な識別子が設定される。送信元IDには自機器の識別子が設定される。コントロールデータにはフレーム種別(本データフレームの場合は‘Data’)やMF(More Frame)フラグ等が設定される。MFフラグはデータを分割送信送するときに使用し、MF=1の場合は後続のデータフレームがあることを示し、MF=0の場合は後続のデータフレームがないことを示す。SDUには送信を行う上位層の通信プロトコルから送信要求されたデータが設定される。また、本データフレームをPDU(Protocol Data Unit)とも呼ぶ。CRCにはデータフレームに設定されている値に誤りがないことを検出するための値が設定される。
次に、本実施形態におけるACK(Acknowledgment)フレームの構成について説明する。図6は、本実施形態におけるACKフレームの構成を示した概略図である。ACKフレームは、相手機器から送信されたフレームを受信したことを通知するために使用される通信フレームである。ACKフレームは、送信先IDと、送信元IDと、コントロールデータと、CRCとを含む。送信先IDと、送信元IDと、CRCとはデータフレームと同様である。ACKフレームに含まれるコントロールデータのフレーム種別には‘ACK’が設定される。
次に、PTP Dataの分割方法について説明する。図7は、本実施形態におけるPTP Dataの分割例を示した概略図である。Transport Layerは、PTP Conversion Layerから送信要求されたPTP DataのサイズがTransport Layerの最大SDUサイズよりも大きい場合は、MFフラグを利用してデータを分割して転送する。図示する例では、PTP DataをPDU1〜PDU5に分割している。また、PDU1〜PDU4のコントロールデータのMFは1(MF=1)であるため後続データフレームが存在することを示しており、PDU5のコントロールデータのMFは0(MF=0)であるためPDU5は最終データフレームであることを示している。
次に、InitiatorからResponderへデータ(PDU)を送信する際の送信順について説明する。図8は、本実施形態において、InitiatorからResponderへPDUを送信する際のデータの送信順を示したシーケンス図である。図示する例は、InitiatorがPDU1〜PDU5をResponderに送信する例を示している。
Initiatorは、PDU1(MF=1)をResponderに送信する。PDU1(MF=1)を受信したResponderは、PDU1(MF=1)を受信したことを通知するACKをInitiatorに送信する。また、Responderは、受信したPDU1のMFは1であるため、PDU1(MF=1)の後続データフレームがInitiatorから送信されるまで待機する。
Initiatorは、ResponderからPDU1(MF=1)に対するACKを受信すると、PDU1(MF=1)の後続データフレームであるPDU2(MF=1)をResponderに送信する。PDU2(MF=2)を受信したResponderは、PDU1(MF=1)を受信した際と同様に、PDU1(MF=1)を受信したことを通知するACKをInitiatorに送信し、PDU2(MF=1)の後続データフレームがInitiatorから送信されるまで待機する。InitiatorとResponderとは、PDU3(MF=1)とPDU4(MF=1)についてもPDU2(MF=1)と同様に送受信する。
Initiatorは、ResponderからPDU4(MF=1)に対するACKを受信すると、PDU4(MF=1)の後続データフレームであるPDU5(MF=0)をResponderに送信する。PDU5(MF=0)を受信したResponderは、PDU5(MF=0)を受信したことを通知するACKをInitiatorに送信する。また、受信したPDU5のMFは0である、すなわちPDU5(MF=0)の後続データフレームは無いため、Responderは受信処理を終了する。Initiatorは、ResponderからPDU5(MF=0)に対するACKを受信すると、送信処理を終了する。このように、データを受信するResponderは、MF=0のPDUを受信すると受信処理を終了する
次に、ResponderからInitiatorへデータ(PDU)を送信する際の送信順について説明する。図9は、本実施形態において、ResponderからInitiatorへPDUを送信する際のデータの送信順を示したシーケンス図である。図示する例は、ResponderがPDU1〜PDU5をInitiatorに送信する例を示している。図示する例は、ResponderがPDU1〜PDU5をInitiatorに送信する例を示している。
Responderは、PDU1(MF=1)をInitiatorに送信する。PDU1(MF=1)を受信したInitiatorは、PDU1(MF=1)を受信したことを通知するACKをResponderに送信する。また、Initiatorは、受信したPDU1のMFは1であるため、PDU1(MF=1)の後続データフレームがResponderから送信されるまで待機する。
Responderは、InitiatorからPDU1(MF=1)に対するACKを受信すると、PDU1(MF=1)の後続データフレームであるPDU2(MF=1)をInitiatorに送信する。PDU2(MF=2)を受信したInitiatorは、PDU1(MF=1)を受信した際と同様に、PDU1(MF=1)を受信したことを通知するACKをResponderに送信し、PDU2(MF=1)の後続データフレームがResponderから送信されるまで待機する。ResponderとInitiatorとは、PDU3(MF=1)とPDU4(MF=1)についてもPDU2(MF=1)と同様に送受信する。
Responderは、InitiatorからPDU4(MF=1)に対するACKを受信すると、PDU4(MF=1)の後続データフレームであるPDU5(MF=0)をInitiatorに送信する。PDU5(MF=0)を受信したInitiatorは、PDU5(MF=0)を受信したことを通知するACKをResponderに送信する。また、受信したPDU5のMFは0である、すなわちPDU5(MF=0)の後続データフレームは無いため、Initiatorは受信処理を終了する。Responderは、InitiatorからPDU5(MF=0)に対するACKを受信すると、送信処理を終了する。このように、データを受信するInitiatorは、MF=0のPDUを受信すると受信処理を終了する。
次に、通信制御部14,23が、PTP Dataを送信中に、PTP Dataの送信を停止させる方法について説明する。図10は、本実施形態において、PTP Dataを送信中に、PTP Dataの送信を停止させる方法を示した概略図である。図示する例は、PTP DataをPDUに分割してPDU2を送信している間に、PTP Dataの送信を停止される場合の例を示している。
図8および図9で説明したとおり、データを受信するInitiatorおよびResponderは、MF=0のPDUを受信すると受信処理を終了する。これを利用して、通信制御部14,23は、PTP Dataの送信を停止したい場合、現在送信中のデータフレームの次のデータフレームのMFに0をセットして送信することにより、データ送信を停止させることを送信先に通知する。そして、通信制御部14,23は、その後に送信する予定のPDUを送信することなく送信処理を終了する。
より詳細には、通信制御部14,23の生成部32は、上位層の通信プロトコル(例えば、PTP Layer)に従って処理を行う処理部30から第1インタフェース部31に入力される送信対象のデータを変換および分割してトランスポート層レベルの通信フレーム(例えばPDU)を生成し、第2インタフェース部33は、生成部32が生成した通信フレームを出力する。
このときに、通信制御部14,23の処理部30から、送信対象データの送信のキャンセルに関するトリガ(例えば、Cancel Requestや、Reset Request)が第1インタフェース部31に入力されると、生成部32は、送信対象データの送信のキャンセルに関するトリガをトランスポート層レベルの情報に変換する。そして、通信制御部14,23の付与部34は、生成部32が変換した情報に基づいて、第2インタフェース部33が次に送信するトランスポート層レベルの通信フレームに、送信終了を示すフラグ(例えば、MF=0)を付与する。そして、第2インタフェース部33は、付与部34が送信終了を示すフラグを付与したトランスポート層レベルの通信フレームを送信する。
また、通信制御部14,23の第2インタフェース部33が、送信終了を示すフラグが付与されたトランスポート層レベルの通信フレームを受信した場合、第1インタフェース部31は通信相手から送信されていた送信対象データの送信が停止されることを示す情報を上位層の通信プロトコルに従って処理を行う処理部30に出力する。これにより、通信制御部14,23は、データの送信を停止させることを通知および認識することができる。
図示する例では、通信制御部14,23は、現在送信中のPDU2(MF=1)の次のPDU3のMFに0をセットし、PDU3(MF=0)を送信している。そして、通信制御部14,23は、その後に送信する予定のPDUを送信することなく送信処理を終了している。
なお、通信制御部14,23は、送信対象データの送信を停止した後、トリガに関する上位層の情報(例えば、Cancel Requestや、CancelTransactionや、Reset Requestや、Responseなど)を送受信するようにしてもよい。
また、通信制御部14,23の第2インタフェース部33が、送信対象データを送信している通信相手から送信対象データの送信をキャンセルする要求に関連する第2トリガ(例えば、Event(CancelTransaction))を受信した場合、第1インタフェース部31は、第2トリガに対応する情報を上位層の通信プロトコルに従って処理を行う処理部30に出力し、その後、送信対象データの送信のキャンセルに関するトリガの入力を受け付ける。これにより、データを受信している通信制御部14,23から、データを送信している通信制御部14,23に対して、データの送信を停止させることを通知することができる。
次に、PTP Dataについて説明する。PTP Conversion Layerは、PTP Layerから送信要求されるOperation Requestと、Dataと、Responseと、Eventとを各々に対応するコンテナに変換し、このコンテナをPTP DataとしてTransport Layerにより送受信する。
図11は、Operation Requestを変換したコンテナであるOperation Request Containerのデータ構造を示した概略図である。図示する例では、Operation Request Containerは、Container Lengthと、Container Typeと、Codeと、TransactionIDと、PayloadとのField(フィールド)を有している。
Container Lengthは、Containerのサイズを格納する。Container Typeは、Containerタイプ(Operation Request)を格納する。Codeは、PTPに定義されているオペレーションコードを格納する。TransactionIDは、トランザクションを一意に特定する識別子であるTransaction IDを格納する。Payloadは、オペレーションパラメータを格納する。図示する例では、Payloadは、Parameter 1〜5の5つのオペレーションパラメータを格納している。
図12は、Dataを変換したコンテナであるData Containerのデータ構造を示した概略図である。図示する例では、Data Containerは、Container Lengthと、Container Typeと、Codeと、TransactionIDと、PayloadとのFieldを有している。
Container Lengthは、Containerのサイズを格納する。Container Typeは、Containerタイプ(Data)を格納する。Codeは、Operation Request時にセットされていたCode(オペレーションコード)を格納する。TransactionIDは、トランザクションを一意に特定する識別子であるTransaction IDを格納する。Payloadは、オペレーション毎に定義されたデータを格納する。
図13は、Responseを変換したコンテナであるResponse Containerのデータ構造を示した概略図である。図示する例では、Response Containerは、Container Lengthと、Container Typeと、Codeと、TransactionIDと、PayloadとのFieldを有している。
Container Lengthは、Containerのサイズを格納する。Container Typeは、Containerタイプ(Response)を格納する。Codeは、PTPに定義されているレスポンスコードを格納する。TransactionIDは、トランザクションを一意に特定する識別子であるTransaction IDを格納する。Payloadは、レスポンスパラメータを格納する。図示する例では、Payloadは、Parameter 1〜5の5つのレスポンスパラメータを格納している。
図14は、Eventを変換したコンテナであるEvent Containerのデータ構造を示した概略図である。図示する例では、Event Containerは、Container Lengthと、Container Typeと、Codeと、TransactionIDと、PayloadとのFieldを有している。
Container Lengthは、Containerのサイズを格納する。Container Typeは、Containerタイプ(Event)を格納する。Codeは、PTPに定義されているイベントコードを格納する。TransactionIDは、トランザクションを一意に特定する識別子であるTransaction IDを格納する。Payloadは、イベントパラメータを格納する。図示する例では、Payloadは、Parameter 1〜3の3つのイベントパラメータを格納している。
次に、OperationのTransaction Stateについて説明する。図15は、本実施形態におけるOperationのTransaction Stateを示した遷移図である。Operationは、Idle State、Operation Request Phase、Data Phase、Response PhaseのTransaction Stateの各状態を遷移することにより実行される。
Idle StateはOperationが実行されておらず、Responderは、Operation Requestを待っている状態である。Operation Request Phaseは、Operation Requestを送信するフェーズである。Data Phaseは、Operation毎に定義されているデータを送受信するフェーズである。Operationによっては、データ転送を伴わないものもあるため、Data Phaseが無い場合もある。Response Phaseは、Operationの結果を応答するフェーズである。
次に、Operation Requestと、Dataと、Responseと、Eventとの送信タイミングについて説明する。図16は、本実施形態において、Operation Requestと、Dataと、Responseと、Eventとの送信タイミングを示したシーケンス図である。
Operation Requestは、InitiatorがResponderにオペレーション要求をする際に送信される。Dataは要求されたオペレーションに応じたデータが送信され、オペレーションによりInitiatorからResponderへ送信される場合とResponderからInitiatorに送信される場合、あるいはData送信が無いものもある。EventはResponderからInitiatorにイベントを通知する際に送信され、Transaction Stateに依存せず非同期に送信可能である。
次に、Cancel RequestとReset Requestとについて説明する。Cancel Requestは、InitiatorによるOperationキャンセル時に使用され、Cancel Requestを受け取ったResponderは、実行中のOperationをキャンセルする。Reset Requestは、InitiatorによるDevice Reset時に使用され、Reset Requestを受け取ったResponderは、実行中のOperationがあれば、これをキャンセルし、Transaction StateをIdle Stateに遷移させる。
Cancel RequestとReset RequestとはPTP仕様に定義されていないトランスポート特有のControl Requestである。Control Requestは、InitiatorからResponderに発行される。PTP Conversion Layerは、PTP Layerから送信要求されるControl Request(Cancel Request、Reset Request)をPTP DataとしてTransport Layerにより送受信する。
図17は、Cancel Requestのデータ構造を示した概略図である。図示する例では、Cancel Requestは、Container Lengthと、Container Typeと、Codeと、TransactionIDと、PayloadとのFieldを有している。
Container Lengthは、Containerのサイズを格納する。Container Typeは、Containerタイプ(Control Request)を格納する。Codeは、Cancel Requestを格納する。TransactionIDは、キャンセルしたいOperationのTransactionIDを格納する。Payloadには格納する情報がないため省略してもよい。
図18は、Reset Requestのデータ構造を示した概略図である。図示する例では、Reset Requestは、Container Lengthと、Container Typeと、Codeと、TransactionIDと、PayloadとのFieldを有している。
Container Lengthは、Containerのサイズを格納する。Container Typeは、Containerタイプ(Control Request)を格納する。Codeは、Reset Requestを格納する。TransactionIDは、0x00000000を格納する。Payloadには格納する情報がないため省略してもよい。
次に、Cancel RequestとReset Requestとの送信タイミングについて説明する。図19は、本実施形態において、Cancel RequestとReset Requestとの送信タイミングを示したシーケンス図である。Cancel RequestおよびReset Requestは、InitiatorからResponderに送信され、Transaction Stateに依存せず非同期に送信可能である。
次に、オペレーションをキャンセルすることが可能なタイミングについて説明する。図20は、本実施形態においてオペレーションをキャンセルすることが可能なタイミングを示した概略図である。図示する例では、キャンセルするタイミングとしてCase1からCase7が示されている。
Case1は、データ送受信無しのOperation Requestを送信した直後にオペレーションをキャンセルするタイミングを示す。Case2は、データ受信ありのOperation Requestを送信した直後にオペレーションをキャンセルするタイミングを示す。Case3は、データを受信中にオペレーションをキャンセルするタイミングを示す。Case4は、データの受信を終了した直後にオペレーションをキャンセルするタイミングを示す。Case5は、データ送信ありのOperation Requestを送信した直後にオペレーションをキャンセルするタイミングを示す。Case6は、データを送信中にオペレーションをキャンセルするタイミングを示す。Case7は、データの送信を完了した直後にオペレーションをキャンセルするタイミングを示す。
次に、Case1からCase7において、Cancel Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順について説明する。図21は、本実施形態のCase1、Case2、Case5において、Cancel Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。
(ステップS2101)InitiatorのPTP Layerは、InitiatorのPTP Conversion Layerに対して、Operation Requestの送信要求を行う。
(ステップS2102)InitiatorのPTP Conversion Layerは、Operation RequestをOperation Request Containerに変換する。
(ステップS2103)InitiatorのTransport Layerは、Operation Request ContainerをPDU(MF=0)に変換し、Responderに送信する。
(ステップS2104)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信し、Operation Request Containerに変換する。
(ステップS2105)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Operation Requestの受信通知を行う。
(ステップS2106)ResponderのPTP Layerは、Operationを実行する。
(ステップS2107)InitiatorのPTP Layerは、オペレーションを停止させるために、InitiatorのPTP Conversion Layerに対して、Cancel Requestの送信要求を行う。
(ステップS2108)InitiatorのPTP Conversion Layerは、Cancel RequestをControl Request Container(Cancel Request)に変換する。
(ステップS2109)InitiatorのTransport Layerは、Control Request Container(Cancel Request)をPDU(MF=0)に変換し、Responderに送信する。
(ステップS2110)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信し、Control Request Container(Cancel Request)に変換する。
(ステップS2111)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Cancel Requestの受信通知を行う。
(ステップS2112)ResponderのPTP Layerは、Operationをキャンセルする。
(ステップS2113)ResponderのPTP Layerは、オペレーションを停止させたことを通知するために、ResponderのPTP Conversion Layerに対して、Codeにレスポンスコード“Transaction Cancelled”をセットしResponseの送信要求を行う。
(ステップS2114)ResponderのPTP Conversion Layerは、ResponseをResponse Containerに変換する。
(ステップS2115)ResponderのTransport Layerは、Response ContainerをPDU(MF=0)に変換し、Initiatorに送信する。
(ステップS2116)InitiatorrのTransport Layerは、送信されたPDU(MF=0)を受信し、Response Containerに変換する。
(ステップS2117)InitiatorのPTP Conversion Layerは、InitiatorのPTP Layerに対して、Responseの受信通知を行う。
上述したとおり、
1.Initiatorは、Cancel Requestを送信する。
2.Responderは、Operationをキャンセルする。
3.Responderは、Codeにレスポンスコード“Transaction Cancelled”をセットし、Responseを送信する。
を実施することで、Case1、Case2およびCase5において、オペレーションをキャンセルすることができる。なお、Case2の場合、ResponderはResponse送信前にMore Frameに0をセットしたデータ(PDU)を送信してもよい。
図22は、本実施形態のCase3において、Cancel Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。
ステップS2201〜ステップS2206の処理は、図21のステップS2101〜ステップS2106の処理と同様の処理である。
(ステップS2207)ResponderのPTP Layerは、Dataの送信要求を行う。
(ステップS2208)ResponderのPTP Conversion Layerは、DataをData Containerに変換する。
(ステップS2209)ResponderのTransport Layerは、Dataを複数のPDU(MF=1)に変換し、Initiatorに送信する。
(ステップS2210)InitiatorのPTP Layerは、オペレーションを停止させるために、InitiatorのPTP Conversion Layerに対して、Cancel Requestの送信要求を行う。
(ステップS2211)InitiatorのPTP Conversion Layerは、Cancel RequestをControl Request Container(Cancel Request)に変換する。
(ステップS2212)InitiatorのTransport Layerは、Control Request Container(Cancel Request)をPDU(MF=0)に変換し、Responderに送信する。
(ステップS2213)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信し、Control Request Container(Cancel Request)に変換する。
(ステップS2214)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Cancel Requestの受信通知を行う。
(ステップS2215)ResponderのPTP Layerは、送信中断要求を行う。
(ステップS2216)ResponderのPTP Conversion Layerは、Transport Layerに送信中断の指示を行う。
(ステップS2217)ResponderのTransport Layerは、次に送信するPDUのMore Frameに0を設定し、Initiatorに送信する。
(ステップS2218)InitiatorrのTransport Layerは、送信されたPDU(MF=0)を受信したため、これまで受信したPDU(MF=1)とPDU(MF=0)とをData Containerに変換する。
(ステップS2219)InitiatorのPTP Conversion Layerは、InitiatorのPTP Layerに対して、Dataの受信通知を行う。
ステップS2220〜ステップS2225の処理は、図21のステップS2112〜ステップS2117の処理と同様の処理である。
上述したとおり、
1.Initiatorは、Cancel Requestを送信する。
2.Responderは、More Frameに0をセットしたデータ(PDU)を送信する。Initiatorは受信したデータを無視する。
3.Responderは、Operationをキャンセルする。
4.Responderは、Codeにレスポンスコード“Transaction Cancelled”をセットし、Responseを送信する。
を実施することで、Case3において、オペレーションをキャンセルすることができる。
図23は、本実施形態のCase4において、Cancel Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。
ステップS2301〜ステップS2306の処理は、図21のステップS2101〜ステップS2106の処理と同様の処理である。
(ステップS2307)ResponderのPTP Layerは、Dataの送信要求を行う。
(ステップS2308)ResponderのPTP Conversion Layerは、DataをData Containerに変換する。
(ステップS2309)ResponderのTransport Layerは、Dataを複数のPDU(MF=1)とPDU(MF=0)に変換し、Initiatorに送信する。
(ステップS2310)InitiatorrのTransport Layerは、送信されたPDU(MF=0)を受信したため、これまで受信したPDU(MF=1)とPDU(MF=0)とをData Containerに変換する。
(ステップS2311)InitiatorのPTP Conversion Layerは、InitiatorのPTP Layerに対して、Dataの受信通知を行う。
(ステップS2312)InitiatorのPTP Layerは、オペレーションを停止させるために、InitiatorのPTP Conversion Layerに対して、Cancel Requestの送信要求を行う。
(ステップS2313)InitiatorのPTP Conversion Layerは、Cancel RequestをControl Request Container(Cancel Request)に変換する。
(ステップS2314)InitiatorのTransport Layerは、Control Request Container(Cancel Request)をPDU(MF=0)に変換し、Responderに送信する。
(ステップS2315)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信し、Control Request Container(Cancel Request)に変換する。
(ステップS2316)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Cancel Requestの受信通知を行う。
ステップS2317〜ステップS2322の処理は、図21のステップS2112〜ステップS2117の処理と同様の処理である。
上述したとおり、
1.Initiatorは、Cancel Requestを送信する。
2.Responderは、Operationをキャンセルする。
3.Responderは、Codeにレスポンスコード“Transaction Cancelled”をセットし、Responseを送信する。
を実施することで、Case4において、オペレーションをキャンセルすることができる。
図24は、本実施形態のCase6において、Cancel Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。
ステップS2401〜ステップS2406の処理は、図21のステップS2101〜ステップS2106の処理と同様の処理である。
(ステップS2407)InitiatorのPTP Layerは、Dataの送信要求を行う。
(ステップS2408)InitiatorのPTP Conversion Layerは、DataをData Containerに変換する。
(ステップS2409)InitiatorのTransport Layerは、Dataを複数のPDU(MF=1)に変換し、Responderに送信する。
(ステップS2410)InitiatorのPTP Layerは、Dataの送信を停止させるために、InitiatorのPTP Conversion Layerに対して、送信中断要求を行う。
(ステップS2411)InitiatorのPTP Conversion Layerは、InitiatorのTransport Layerに送信中断の指示を行う。
(ステップS2412)InitiatorのTransport Layerは、次に送信するPDUのMore Frameに0を設定し、Responderに送信する。
(ステップS2413)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信したため、これまで受信したPDU(MF=1)とPDU(MF=0)とをData Containerに変換する。
(ステップS2414)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Dataの受信通知を行う。
(ステップS2415)InitiatorのPTP Layerは、オペレーションを停止させるために、InitiatorのPTP Conversion Layerに対して、Cancel Requestの送信要求を行う。
(ステップS2416)InitiatorのPTP Conversion Layerは、Cancel RequestをControl Request Container(Cancel Request)に変換する。
(ステップS2417)InitiatorのTransport Layerは、Control Request Container(Cancel Request)をPDU(MF=0)に変換し、Responderに送信する。
(ステップS2418)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信し、Control Request Container(Cancel Request)に変換する。
(ステップS2419)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Cancel Requestの受信通知を行う。
ステップS2420〜ステップS2425の処理は、図21のステップS2112〜ステップS2117の処理と同様の処理である。
上述したとおり、
1.Initiatorは、More Frameに0をセットしたデータ(PDU)を送信する。Responderは受信したデータを無視する。
2.Initiatorは、Cancel Requestを送信する。
3.Responderは、Operationをキャンセルする。
4.Responderは、Codeにレスポンスコード“Transaction Cancelled”をセットし、Responseを送信する。
を実施することで、Case6において、オペレーションをキャンセルすることができる。
図25は、本実施形態のCase7において、Cancel Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。
ステップS2501〜ステップS2506の処理は、図21のステップS2101〜ステップS2106の処理と同様の処理である。
(ステップS2507)InitiatorのPTP Layerは、Dataの送信要求を行う。
(ステップS2508)InitiatorのPTP Conversion Layerは、DataをData Containerに変換する。
(ステップS2509)InitiatorのTransport Layerは、Dataを複数のPDU(MF=1)とPDU(MF=0)に変換し、Responderに送信する。
(ステップS2510)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信したため、これまで受信したPDU(MF=1)とPDU(MF=0)とをData Containerに変換する。
(ステップS2511)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Dataの受信通知を行う。
(ステップS2512)InitiatorのPTP Layerは、オペレーションを停止させるために、InitiatorのPTP Conversion Layerに対して、Cancel Requestの送信要求を行う。
(ステップS2513)InitiatorのPTP Conversion Layerは、Cancel RequestをControl Request Container(Cancel Request)に変換する。
(ステップS2514)InitiatorのTransport Layerは、Control Request Container(Cancel Request)をPDU(MF=0)に変換し、Responderに送信する。
(ステップS2515)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信し、Control Request Container(Cancel Request)に変換する。
(ステップS2516)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Cancel Requestの受信通知を行う。
ステップS2517〜ステップS2522の処理は、図21のステップS2112〜ステップS2117の処理と同様の処理である。
上述したとおり、
1.Initiatorは、Cancel Requestを送信する。
2.Responderは、Operationをキャンセルする。
3.Responderは、Codeにレスポンスコード“Transaction Cancelled”をセットし、Responseを送信する。
を実施することで、Case7において、オペレーションをキャンセルすることができる。
次に、Case1からCase7において、CancelTransaction Eventを使用した場合の、Responderによるオペレーションのキャンセル手順について説明する。図26は、本実施形態のCase1、Case2において、CancelTransaction Eventを使用した場合の、Responderによるオペレーションのキャンセル手順を示したシーケンス図である。
ステップS2601〜ステップS2606の処理は、図21のステップS2101〜ステップS2106の処理と同様の処理である。
(ステップS2607)ResponderのPTP Layerは、オペレーションを停止させるために、ResponderのPTP Conversion Layerに対して、Event(CancelTransaction)の送信要求を行う。
(ステップS2608)ResponderのPTP Conversion Layerは、Event(CancelTransaction)をEvent Container(CancelTransaction)に変換する。
(ステップS2609)ResponderのTransport Layerは、Event Container(CancelTransaction)をPDU(MF=0)に変換し、Initiatorに送信する。
(ステップS2610)InitiatorのTransport Layerは、送信されたPDU(MF=0)を受信し、Event Container(CancelTransaction)に変換する。
(ステップS2611)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Event(CancelTransaction)の受信通知を行う。
(ステップS2612)InitiatorのPTP Layerは、Operationをキャンセルする。
ステップS2613〜ステップS2617の処理は、図21のステップS2113〜ステップS2117の処理と同様の処理である。
上述したとおり、
1.Responderは、Codeにイベントコード”CancelTransaction“をセットし、Eventを送信する。
2.Initiatorは、Operationをキャンセルする。
3.Responderは、Codeにレスポンスコード“Transaction Cancelled” をセットし、Responseを送信する。
を実施することで、Case1およびCase2において、オペレーションをキャンセルすることができる。
図27は、本実施形態のCase3において、CancelTransaction Eventを使用した場合の、Responderによるオペレーションのキャンセル手順を示したシーケンス図である。
ステップS2701〜ステップS2706の処理は、図21のステップS2101〜ステップS2106の処理と同様の処理である。
(ステップS2707)ResponderのPTP Layerは、Dataの送信要求を行う。
(ステップS2708)ResponderのPTP Conversion Layerは、DataをData Containerに変換する。
(ステップS2709)ResponderのTransport Layerは、Dataを複数のPDU(MF=1)に変換し、Initiatorに送信する。
(ステップS2710)ResponderのPTP Layerは、Dataの送信を停止させるために、ResponderのPTP Conversion Layerに対して、送信中断要求を行う。
(ステップS2711)ResponderのPTP Conversion Layerは、ResponderのTransport Layerに送信中断の指示を行う。
(ステップS2712)ResponderのTransport Layerは、次に送信するPDUのMore Frameに0を設定し、Initiatorに送信する。
(ステップS2713)InitiatorのTransport Layerは、送信されたPDU(MF=0)を受信したため、これまで受信したPDU(MF=1)とPDU(MF=0)とをData Containerに変換する。
(ステップS2714)InitiatorのPTP Conversion Layerは、InitiatorのPTP Layerに対して、Dataの受信通知を行う。
(ステップS2715)ResponderのPTP Layerは、オペレーションを停止させるために、ResponderのPTP Conversion Layerに対して、Event(CancelTransaction)の送信要求を行う。
(ステップS2716)ResponderのPTP Conversion Layerは、Event(CancelTransaction)をEvent Container(CancelTransaction)に変換する。
(ステップS2717)ResponderのTransport Layerは、Event Container(CancelTransaction)をPDU(MF=0)に変換し、Initiatorに送信する。
(ステップS2718)InitiatorのTransport Layerは、送信されたPDU(MF=0)を受信し、Event Container(CancelTransaction)に変換する。
(ステップS2719)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Event(CancelTransaction)の受信通知を行う。
(ステップS2720)InitiatorのPTP Layerは、Operationをキャンセルする。
ステップS2721〜ステップS2725の処理は、図21のステップS2113〜ステップS2117の処理と同様の処理である。
上述したとおり、
1.Responderは、More Frameに0をセットしたデータ(PDU)を送信する。Initiatorは受信したデータを無視する。
2.Responderは、Codeにイベントコード”CancelTransaction“をセットし、Eventを送信する。
3.Initiatorは、Operationをキャンセルする。
4.Responderは、Codeにレスポンスコード“Transaction Cancelled”をセットし、Responseを送信する。
を実施することで、Case3において、オペレーションをキャンセルすることができる。
図28は、本実施形態のCase4において、CancelTransaction Eventを使用した場合の、Responderによるオペレーションのキャンセル手順を示したシーケンス図である。
ステップS2801〜ステップS2806の処理は、図21のステップS2101〜ステップS2106の処理と同様の処理である。
(ステップS2807)ResponderのPTP Layerは、Dataの送信要求を行う。
(ステップS2808)ResponderのPTP Conversion Layerは、DataをData Containerに変換する。
(ステップS2809)ResponderのTransport Layerは、Dataを複数のPDU(MF=1)とPDU(MF=0)に変換し、Initiatorに送信する。
(ステップS2810)InitiatorrのTransport Layerは、送信されたPDU(MF=0)を受信したため、これまで受信したPDU(MF=1)とPDU(MF=0)とをData Containerに変換する。
(ステップS2811)InitiatorのPTP Conversion Layerは、InitiatorのPTP Layerに対して、Dataの受信通知を行う。
(ステップS2812)ResponderのPTP Layerは、オペレーションを停止させるために、ResponderのPTP Conversion Layerに対して、Event(CancelTransaction)の送信要求を行う。
(ステップS2813)ResponderのPTP Conversion Layerは、Event(CancelTransaction)をEvent Container(CancelTransaction)に変換する。
(ステップS2814)ResponderのTransport Layerは、Event Container(CancelTransaction)をPDU(MF=0)に変換し、Initiatorに送信する。
(ステップS2815)InitiatorのTransport Layerは、送信されたPDU(MF=0)を受信し、Event Container(CancelTransaction)に変換する。
(ステップS2816)InitiatorのPTP Conversion Layerは、ResponderのPTP Layerに対して、Event(CancelTransaction)の受信通知を行う。
(ステップS2817)InitiatorのPTP Layerは、Operationをキャンセルする。
ステップS2818〜ステップS2822の処理は、図21のステップS2113〜ステップS2117の処理と同様の処理である。
上述したとおり、
1.Responderは、Codeにイベントコード”CancelTransaction“をセットし、Eventを送信する。
2.Initiatorは、Operationをキャンセルする。
3.Responderは、Codeにレスポンスコード“Transaction Cancelled”をセットし、Responseを送信する。
を実施することで、Case4において、オペレーションをキャンセルすることができる。
図29は、本実施形態のCase5において、CancelTransaction Eventを使用した場合の、Responderによるオペレーションのキャンセル手順を示したシーケンス図である。
ステップS2901〜ステップS2906の処理は、図21のステップS2101〜ステップS2106の処理と同様の処理である。
(ステップS2907)ResponderのPTP Layerは、オペレーションを停止させるために、ResponderのPTP Conversion Layerに対して、Event(CancelTransaction)の送信要求を行う。
(ステップS2908)ResponderのPTP Conversion Layerは、Event(CancelTransaction)をEvent Container(CancelTransaction)に変換する。
(ステップS2909)ResponderのTransport Layerは、Event Container(CancelTransaction)をPDU(MF=0)に変換し、Initiatorに送信する。
(ステップS2910)InitiatorのTransport Layerは、送信されたPDU(MF=0)を受信し、Event Container(CancelTransaction)に変換する。
(ステップS2911)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Event(CancelTransaction)の受信通知を行う。
(ステップS2912)InitiatorのPTP Layerは、Data Phase終了用のダミーデータであるDataの送信要求を行う。
(ステップS2913)InitiatorのPTP Conversion Layerは、DataをData Containerに変換する。
(ステップS2914)InitiatorのTransport Layerは、DataをPDU(MF=0)に変換し、Responderに送信する。
(ステップS2915)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信したため、PDU(MF=0)をData Containerに変換する。
(ステップS2916)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Dataの受信通知を行う。
ステップS2917〜ステップS2921の処理は、図21のステップS2113〜ステップS2117の処理と同様の処理である。
上述したとおり、
1.Responderは、Codeにイベントコード”CancelTransaction“をセットし、Eventを送信する。
2.Initiatorは、Operationをキャンセルする。
3.Initiatorは、More Frameに0をセットしたデータ(PDU)を送信する。Responderは受信したデータを無視する。
4.Responderは、Codeにレスポンスコード“Transaction Cancelled”をセットし、Responseを送信する。
を実施することで、Case5において、オペレーションをキャンセルすることができる。
図30は、本実施形態のCase6において、CancelTransaction Eventを使用した場合の、Responderによるオペレーションのキャンセル手順を示したシーケンス図である。
ステップS3001〜ステップS3006の処理は、図21のステップS2101〜ステップS2106の処理と同様の処理である。
(ステップS3007)InitiatorのPTP Layerは、Dataの送信要求を行う。
(ステップS3008)InitiatorのPTP Conversion Layerは、DataをData Containerに変換する。
(ステップS3009)InitiatorのTransport Layerは、Dataを複数のPDU(MF=1)に変換し、Responderに送信する。
(ステップS3010)ResponderのPTP Layerは、オペレーションを停止させるために、ResponderのPTP Conversion Layerに対して、Event(CancelTransaction)の送信要求を行う。
(ステップS3011)ResponderのPTP Conversion Layerは、Event(CancelTransaction)をEvent Container(CancelTransaction)に変換する。
(ステップS3012)ResponderのTransport Layerは、Event Container(CancelTransaction)をPDU(MF=0)に変換し、Initiatorに送信する。
(ステップS3013)InitiatorのTransport Layerは、送信されたPDU(MF=0)を受信し、Event Container(CancelTransaction)に変換する。
(ステップS3014)InitiatorのPTP Conversion Layerは、ResponderのPTP Layerに対して、Event(CancelTransaction)の受信通知を行う。
(ステップS3015)InitiatorのPTP Layerは、Operationをキャンセルする。
(ステップS3016)InitiatorのPTP Layerは、Dataの送信を停止させるために、InitiatorのPTP Conversion Layerに対して、送信中断要求を行う。
(ステップS3017)InitiatorのPTP Conversion Layerは、InitiatorのTransport Layerに送信中断の指示を行う。
(ステップS3018)InitiatorのTransport Layerは、次に送信するPDUのMore Frameに0を設定し、Responderに送信する。
(ステップS3019)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信したため、これまで受信したPDU(MF=1)とPDU(MF=0)とをData Containerに変換する。
(ステップS3020)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Dataの受信通知を行う。
ステップS3021〜ステップS3025の処理は、図21のステップS2113〜ステップS2117の処理と同様の処理である。
上述したとおり、
1.Responderは、Codeにイベントコード”CancelTransaction“をセットし、Eventを送信する。
2.Initiatorは、Operationをキャンセルする。
3.Initiatorは、More Frameに0をセットしたデータ(PDU)を送信する。Responderは受信したデータを無視する。
4.Responderは、Codeにレスポンスコード“Transaction Cancelled”をセットし、Responseを送信する。
を実施することで、Case6において、オペレーションをキャンセルすることができる。
図31は、本実施形態のCase7において、CancelTransaction Eventを使用した場合の、Responderによるオペレーションのキャンセル手順を示したシーケンス図である。
ステップS3101〜ステップS3106の処理は、図21のステップS2101〜ステップS2106の処理と同様の処理である。
(ステップS3107)InitiatorのPTP Layerは、Dataの送信要求を行う。
(ステップS3108)InitiatorのPTP Conversion Layerは、DataをData Containerに変換する。
(ステップS3109)InitiatorのTransport Layerは、Dataを複数のPDU(MF=1)とPDU(MF=0)に変換し、Responderに送信する。
(ステップS3110)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信したため、これまで受信したPDU(MF=1)とPDU(MF=0)とをData Containerに変換する。
(ステップS3111)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Dataの受信通知を行う。
(ステップS3112)ResponderのPTP Layerは、オペレーションを停止させるために、ResponderのPTP Conversion Layerに対して、Event(CancelTransaction)の送信要求を行う。
(ステップS3113)ResponderのPTP Conversion Layerは、Event(CancelTransaction)をEvent Container(CancelTransaction)に変換する。
(ステップS3114)ResponderのTransport Layerは、Event Container(CancelTransaction)をPDU(MF=0)に変換し、Initiatorに送信する。
(ステップS3115)InitiatorのTransport Layerは、送信されたPDU(MF=0)を受信し、Event Container(CancelTransaction)に変換する。
(ステップS3116)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Event(CancelTransaction)の受信通知を行う。
(ステップS3117)InitiatorのPTP Layerは、Operationをキャンセルする。
ステップS3118〜ステップS3122の処理は、図21のステップS2113〜ステップS2117の処理と同様の処理である。
上述したとおり、
1.Responderは、Codeにイベントコード”CancelTransaction“をセットし、Eventを送信する。
2.Initiatorは、Operationをキャンセルする。
3.Responderは、Codeにレスポンスコード“Transaction Cancelled”をセットし、Responseを送信する。
を実施することで、Case6において、オペレーションをキャンセルすることができる。
次に、Case1からCase7において、Reset Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順について説明する。図32は、本実施形態のCase1、Case2およびCase5において、Reset Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。
ステップS3201〜ステップS3206の処理は、図21のステップS2101〜ステップS2106の処理と同様の処理である。
(ステップS3207)InitiatorのPTP Layerは、オペレーションを停止させるために、InitiatorのPTP Conversion Layerに対して、Reset Requestの送信要求を行う。
(ステップS3208)InitiatorのPTP Conversion Layerは、Reset RequestをControl Request Container(Reset Request)に変換する。
(ステップS3209)InitiatorのTransport Layerは、Control Request Container(Reset Request)をPDU(MF=0)に変換し、Responderに送信する。
(ステップS3210)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信し、Control Request Container(Reset Request)に変換する。
(ステップS3211)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Reset Requestの受信通知を行う。
(ステップS3212)ResponderのPTP Layerは、処理をReset(Operationをキャンセル)する。
(ステップS3213)ResponderのPTP Layerは、ダミーデータであるDataの送信要求を行う。
(ステップS3214)InitiatorのPTP Conversion Layerは、DataをData Containerに変換する。
(ステップS3215)InitiatorのTransport Layerは、DataをPDU(MF=0)に変換し、Responderに送信する。
(ステップS3216)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信したため、PDU(MF=0)をData Containerに変換する。
(ステップS3217)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Dataの受信通知を行う。
上述したとおり、
1.Initiatorは、Reset Requestを送信する。
2.Responderは、Operationをキャンセルする。
3.Responderは、More Frameに0をセットしたダミーデータを送信する。Initiatorは受信したデータを無視する。
4.Operation Phase StateをIdle Stateに遷移させる。
を実施することで、Case1、Case2およびCase5において、オペレーションをキャンセルすることができる。
図33は、本実施形態のCase3において、Reset Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。
ステップS3301〜ステップS3306の処理は、図21のステップS2101〜ステップS2106の処理と同様の処理である。
(ステップS3307)ResponderのPTP Layerは、Dataの送信要求を行う。
(ステップS3308)ResponderのPTP Conversion Layerは、DataをData Containerに変換する。
(ステップS3309)ResponderのTransport Layerは、Dataを複数のPDU(MF=1)に変換し、Initiatorに送信する。
(ステップS3310)InitiatorのPTP Layerは、オペレーションを停止させるために、InitiatorのPTP Conversion Layerに対して、Reset Requestの送信要求を行う。
(ステップS3311)InitiatorのPTP Conversion Layerは、Reset RequestをControl Request Container(Reset Request)に変換する。
(ステップS3312)InitiatorのTransport Layerは、Control Request Container(Reset Request)をPDU(MF=0)に変換し、Responderに送信する。
(ステップS3313)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信し、Control Request Container(Reset Request)に変換する。
(ステップS3314)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Reset Requestの受信通知を行う。
(ステップS3315)ResponderのPTP Layerは、送信中断要求を行う。
(ステップS3316)ResponderのPTP Conversion Layerは、Transport Layerに送信中断の指示を行う。
(ステップS3317)ResponderのTransport Layerは、次に送信するPDUのMore Frameに0を設定し、Initiatorに送信する。
(ステップS3318)InitiatorrのTransport Layerは、送信されたPDU(MF=0)を受信したため、これまで受信したPDU(MF=1)とPDU(MF=0)とをData Containerに変換する。
(ステップS3319)InitiatorのPTP Conversion Layerは、InitiatorのPTP Layerに対して、Dataの受信通知を行う。
ステップS3320〜ステップS3325の処理は、図32のステップS3212〜ステップS3217の処理と同様の処理である。
上述したとおり、
1.Initiatorは、Reset Requestを送信する。
2.Responderは、More Frameに0をセットしたデータを送信する。Initiatorは受信したデータを無視する。
3.Responderは、Operation.をキャンセルする。
4.Responderは、More Frameに0をセットしたダミーデータを送信する。Initiatorは受信したデータを無視する。
5.Operation Phase StateをIdle Stateに遷移させる。
を実施することで、Case3において、オペレーションをキャンセルすることができる。
図34は、本実施形態のCase4において、Reset Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。
ステップS3401〜ステップS3406の処理は、図21のステップS2101〜ステップS2106の処理と同様の処理である。
(ステップS3407)ResponderのPTP Layerは、Dataの送信要求を行う。
(ステップS3408)ResponderのPTP Conversion Layerは、DataをData Containerに変換する。
(ステップS3409)ResponderのTransport Layerは、Dataを複数のPDU(MF=1)とPDU(MF=0)に変換し、Initiatorに送信する。
(ステップS3410)InitiatorrのTransport Layerは、送信されたPDU(MF=0)を受信したため、これまで受信したPDU(MF=1)とPDU(MF=0)とをData Containerに変換する。
(ステップS3411)InitiatorのPTP Conversion Layerは、InitiatorのPTP Layerに対して、Dataの受信通知を行う。
(ステップS3412)InitiatorのPTP Layerは、オペレーションを停止させるために、InitiatorのPTP Conversion Layerに対して、Reset Requestの送信要求を行う。
(ステップS3413)InitiatorのPTP Conversion Layerは、Reset RequestをControl Request Container(Reset Request)に変換する。
(ステップS3414)InitiatorのTransport Layerは、Control Request Container(Reset Request)をPDU(MF=0)に変換し、Responderに送信する。
(ステップS3415)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信し、Control Request Container(Reset Request)に変換する。
(ステップS3416)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Reset Requestの受信通知を行う。
ステップS3417〜ステップS3422の処理は、図32のステップS3212〜ステップS3217の処理と同様の処理である。
上述したとおり、
1.Initiatorは、Reset Requestを送信する。
2.Responderは、Operation.をキャンセルする。
3.Responderは、More Frameに0をセットしたダミーデータを送信する。Initiatorは受信したデータを無視する。
4.Operation Phase StateをIdle Stateに遷移させる。
を実施することで、Case4において、オペレーションをキャンセルすることができる。
図35は、本実施形態のCase6において、Reset Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。
ステップS3501〜ステップS3506の処理は、図21のステップS2101〜ステップS2106の処理と同様の処理である。
(ステップS3507)InitiatorのPTP Layerは、Dataの送信要求を行う。
(ステップS3508)InitiatorのPTP Conversion Layerは、DataをData Containerに変換する。
(ステップS3509)InitiatorのTransport Layerは、Dataを複数のPDU(MF=1)に変換し、Responderに送信する。
(ステップS3510)InitiatorのPTP Layerは、Dataの送信を停止させるために、InitiatorのPTP Conversion Layerに対して、送信中断要求を行う。
(ステップS3511)InitiatorのPTP Conversion Layerは、InitiatorのTransport Layerに送信中断の指示を行う。
(ステップS3512)InitiatorのTransport Layerは、次に送信するPDUのMore Frameに0を設定し、Responderに送信する。
(ステップS3513)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信したため、これまで受信したPDU(MF=1)とPDU(MF=0)とをData Containerに変換する。
(ステップS3514)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Dataの受信通知を行う。
(ステップS3515)InitiatorのPTP Layerは、オペレーションを停止させるために、InitiatorのPTP Conversion Layerに対して、Reset Requestの送信要求を行う。
(ステップS3516)InitiatorのPTP Conversion Layerは、Reset RequestをControl Request Container(Reset Request)に変換する。
(ステップS3517)InitiatorのTransport Layerは、Control Request Container(Reset Request)をPDU(MF=0)に変換し、Responderに送信する。
(ステップS3518)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信し、Control Request Container(Reset Request)に変換する。
(ステップS3519)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Reset Requestの受信通知を行う。
ステップS3520〜ステップS3525の処理は、図32のステップS3212〜ステップS3217の処理と同様の処理である。
上述したとおり、
1.Initiatorは、More Frameに0をセットしたデータを送信する。Responderは受信したデータを無視する。
2.Initiatorは、Reset Requestを送信する。
3.Responderは、Operation.をキャンセルする。
4.Responderは、More Frameに0をセットしたダミーデータを送信する。Initiatorは受信したデータを無視する。
5.Operation Phase StateをIdle Stateに遷移させる。
を実施することで、Case6において、オペレーションをキャンセルすることができる。
図36は、本実施形態のCase7において、Reset Requestを使用した場合の、Initiatorによるオペレーションのキャンセル手順を示したシーケンス図である。
ステップS3601〜ステップS3606の処理は、図21のステップS2101〜ステップS2106の処理と同様の処理である。
(ステップS3607)InitiatorのPTP Layerは、Dataの送信要求を行う。
(ステップS3608)InitiatorのPTP Conversion Layerは、DataをData Containerに変換する。
(ステップS3609)InitiatorのTransport Layerは、Dataを複数のPDU(MF=1)とPDU(MF=0)に変換し、Responderに送信する。
(ステップS3610)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信したため、これまで受信したPDU(MF=1)とPDU(MF=0)とをData Containerに変換する。
(ステップS3611)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Dataの受信通知を行う。
(ステップS3612)InitiatorのPTP Layerは、オペレーションを停止させるために、InitiatorのPTP Conversion Layerに対して、Reset Requestの送信要求を行う。
(ステップS3613)InitiatorのPTP Conversion Layerは、Reset RequestをControl Request Container(Reset Request)に変換する。
(ステップS3614)InitiatorのTransport Layerは、Control Request Container(Reset Request)をPDU(MF=0)に変換し、Responderに送信する。
(ステップS3615)ResponderのTransport Layerは、送信されたPDU(MF=0)を受信し、Control Request Container(Reset Request)に変換する。
(ステップS3616)ResponderのPTP Conversion Layerは、ResponderのPTP Layerに対して、Reset Requestの受信通知を行う。
ステップS3617〜ステップS36225の処理は、図32のステップS3212〜ステップS3217の処理と同様の処理である。
上述したとおり、
1.Initiatorは、Reset Requestを送信する。
2.Responderは、Operation.をキャンセルする。
3.Responderは、More Frameに0をセットしたダミーデータを送信する。Initiatorは受信したデータを無視する。
4.Operation Phase StateをIdle Stateに遷移させる。
を実施することで、Case7において、オペレーションをキャンセルすることができる。
なお、Reset Requestを使用した場合の、Initiatorによるオペレーションのキャンセルの際に、InitiatorがResponderのリセット処理が終了したことを知る必要が無い場合等は、「Responderは、More Frameに0をセットしたダミーデータを送信する」は行わなくてもよい。
上述したとおり、本実施形態では、通信制御部14,23の生成部32は、上位層の通信プロトコルに従って処理を行う処理部30から第1インタフェース部31に入力される送信対象のデータを変換および分割してトランスポート層レベルの通信フレームを生成し、第2インタフェース部33は、生成部32が生成した通信フレームを出力する。
このときに、通信制御部14,23の処理部30から、送信対象データの送信のキャンセルに関するトリガが第1インタフェース部31に入力されると、生成部32は、送信対象データの送信のキャンセルに関するトリガをトランスポート層レベルの情報に変換する。そして、通信制御部14,23の付与部34は、生成部32が変換した情報に基づいて、第2インタフェース部33が次に送信するトランスポート層レベルの通信フレームに、送信終了を示すフラグを付与する。そして、第2インタフェース部33は、付与部34が送信終了を示すフラグを付与したトランスポート層レベルの通信フレームを送信する。これにより、通信制御部14,23は、データの送信を停止させることを送信先に通知する。
また、通信制御部14,23の第2インタフェース部33が、送信終了を示すフラグが付与されたトランスポート層レベルの通信フレームを受信した場合、第1インタフェース部31は通信相手から送信されていた送信対象データの送信が停止されることを示す情報を上位層の通信プロトコルに従って処理を行う処理部30に出力する。
従って、通信制御部14,23の一方がデータ転送の制御権を有するという既存の機能がないトランスポート層プロトコルを用いて、通信中の通信制御部14,23が通信を行う場合においても、一方の通信制御部14,23がデータ転送を中断した場合、通信中の通信制御部14,23は中断を認識することができる。
また、通信制御部14,23の第2インタフェース部33が、送信対象データを送信している通信相手から送信のキャンセル要求に関連する第2トリガを入力した場合、第1インタフェース部31は、第2トリガに対応する情報を上位層の通信プロトコルに従って処理を行う処理部30に出力し、その後、送信対象データの送信のキャンセルに関するトリガの入力を受け付ける。これにより、データを受信している通信制御部14,23から、データを送信している通信制御部14,23に対して、データの送信を停止させることを通知することができる。
以上、この発明の一実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
1・・・電子カメラ、2・・・PC、11・・・撮像部、12・・・記録媒体、13,21・・・CPU、14,23・・・通信制御部、15,24・・・操作部、16,25・・・表示部、17,26・・・RAM、18・・・フラッシュメモリ、22・・・記録媒体、30・・・処理部、31・・・第1インタフェース部、32・・・第2インタフェース部、33・・・生成部、34・・・付与部

Claims (11)

  1. 送信対象データおよび前記送信対象データの送信のキャンセルに関係するトリガを、上位層の通信プロトコルに従った処理を行う処理部から入力する第1インタフェース部と、
    前記送信対象データに対応し、前記上位層のデータ種別を識別することが可能な情報を含まないトランスポート層レベルの通信フレームを一つ、または複数生成する生成部と、
    前記生成した通信フレームを送信する第2インタフェース部と、
    前記送信対象データに対応する通信フレームを順次送信している間に前記トリガが入力された場合、前記送信する通信フレームのうち前記送信対象データの最後尾に対応する通信フレーム以外の通信フレームに、前記送信対象データの送信終了を示すフラグを付与する付与部と、
    を有することを特徴とする送信モジュール。
  2. 前記第1インタフェース部が入力する前記トリガを前記トランスポート層レベルの情報に変換する変換部を更に有し、
    前記付与部は、前記変換された情報に基づいて、前記フラグを付与する
    ことを特徴とする請求項1に記載の送信モジュール。
  3. 前記第1インタフェース部が入力する前記送信対象データを前記トランスポート層レベルの情報に変換する変換部と、
    前記変換された情報を複数に分割する分割部と、
    を更に有し、
    前記生成部は、前記分割された情報に基づいた前記通信フレームを複数生成し、
    前記付与部は、前記分割された情報のうち最後尾に対応する情報以外の情報に対応する通信フレームに前記フラグを付与する
    ことを特徴とする請求項1に記載の送信モジュール。
  4. 前記第2インタフェース部は、前記送信対象データに対応する通信フレームを順次出力している間に前記トリガが入力された場合、前記フラグが付与された通信フレームの送信後に、前記トリガに対応する情報を送信する
    ことを特徴とする請求項1に記載の送信モジュール。
  5. 前記第2インタフェース部は、前記送信対象データの送信のキャンセル要求に関係する第2トリガを受信し、
    前記第1インタフェース部は、前記第2トリガに対応する情報を前記処理部に出力し、当該出力後に前記トリガを入力する
    ことを特徴とする請求項1に記載の送信モジュール。
  6. 送信対象データを受信する受信モジュールであって、
    前記送信対象データに対応し、前記上位層のデータ種別を識別することが可能な情報を含まない複数の通信フレームのうち前記送信対象データの最後尾に対応する通信フレーム以外の通信フレームであって、前記送信対象データの送信終了を示すフラグが付与された通信フレームを受信する第2インタフェース部と、
    前記フラグが付与された通信フレームを前記第2インタフェース部が受信した場合、前記送信対象データの送信終了を示す情報を、上位層の通信プロトコルに従った処理を行う処理部に出力する第1インタフェース部と、
    を有することを特徴とする受信モジュール。
  7. 前記第2インタフェース部は、前記フラグが付与された通信フレームを受信したあとに、前記送信対象データの送信のキャンセルを通知する通信フレームを受信し、
    前記第1インタフェース部は、前記通知に対応する情報を前記処理部に出力する
    ことを特徴とする請求項6に記載の受信モジュール。
  8. 前記第1インタフェース部は、前記送信対象データの送信のキャンセル要求に関係する第3トリガを入力し、
    前記第2インタフェース部は、前記送信対象データを順次受信している間に、前記第3トリガに対応する情報を送信する
    ことを特徴とする請求項6に記載の受信モジュール。
  9. 第1インタフェース部が、送信対象データおよび前記送信対象データの送信のキャンセルに関係するトリガを、上位層の通信プロトコルに従った処理を行う処理部から入力するステップと、
    生成部が、前記送信対象データに対応し、前記上位層のデータ種別を識別することが可能な情報を含まないトランスポート層レベルの通信フレームを一つ、または複数生成するステップと、
    第2インタフェース部が、前記生成した通信フレームを送信するステップと、
    前記送信対象データに対応する通信フレームを順次送信している間に前記トリガが入力された場合、付与部が、前記送信する通信フレームのうち前記送信対象データの最後尾に対応する通信フレーム以外の通信フレームに、前記送信対象データの送信終了を示すフラグを付与するステップと、
    を有することを特徴とする送信方法。
  10. 送信対象データを受信する受信方法であって、
    第2インタフェース部が、前記送信対象データに対応し、前記上位層のデータ種別を識別することが可能な情報を含まない複数の通信フレームのうち前記送信対象データの最後尾に対応する通信フレーム以外の通信フレームであって、前記送信対象データの送信終了を示すフラグが付与された通信フレームを受信するステップと、
    前記フラグが付与された通信フレームを前記第2インタフェース部が受信した場合、第1インタフェース部が、前記送信対象データの送信終了を示す情報を、上位層の通信プロトコルに従った処理を行う処理部に出力するステップと、
    を有することを特徴とする受信方法。
  11. 送信対象データおよび前記送信対象データの送信のキャンセルに関係するトリガを、上位層の通信プロトコルに従った処理を行う第1の処理部から入力する送信側第1インタフェース部と、
    前記送信対象データに対応し、前記上位層のデータ種別を識別することが可能な情報を含まないトランスポート層レベルの通信フレームを一つ、または複数生成する生成部と、
    前記生成した通信フレームを送信する送信側第2インタフェース部と、
    前記送信対象データに対応する通信フレームを順次送信している間に前記トリガが入力された場合、前記送信する通信フレームのうち前記送信対象データの最後尾に対応する通信フレーム以外の通信フレームに、前記送信対象データの送信終了を示すフラグを付与する付与部と、
    を有する送信モジュールと、
    前記送信対象データに対応し、前記上位層のデータ種別を識別することが可能な情報を含まない複数の通信フレームのうち前記送信対象データの最後尾に対応する通信フレーム以外の通信フレームであって、前記送信対象データの送信終了を示すフラグが付与された通信フレームを受信する受信側第2インタフェース部と、
    前記フラグが付与された通信フレームを前記受信側第2インタフェース部が受信した場合、前記送信対象データの送信終了を示す情報を、上位層の通信プロトコルに従って処理を行う第2の処理部に出力する受信側第1インタフェース部と、
    を有する受信モジュールと、
    を備えたことを特徴とする通信システム。
JP2010022225A 2010-02-03 2010-02-03 送信モジュール、受信モジュール、送信方法、受信方法および通信システム Active JP5566126B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010022225A JP5566126B2 (ja) 2010-02-03 2010-02-03 送信モジュール、受信モジュール、送信方法、受信方法および通信システム
US13/019,455 US8831037B2 (en) 2010-02-03 2011-02-02 Transmission module, reception module, transmission method, reception method, and communications system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010022225A JP5566126B2 (ja) 2010-02-03 2010-02-03 送信モジュール、受信モジュール、送信方法、受信方法および通信システム

Publications (2)

Publication Number Publication Date
JP2011160336A JP2011160336A (ja) 2011-08-18
JP5566126B2 true JP5566126B2 (ja) 2014-08-06

Family

ID=44341615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010022225A Active JP5566126B2 (ja) 2010-02-03 2010-02-03 送信モジュール、受信モジュール、送信方法、受信方法および通信システム

Country Status (2)

Country Link
US (1) US8831037B2 (ja)
JP (1) JP5566126B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10141092A1 (de) * 2001-08-22 2003-03-06 Siemens Ag Verfahren zur Übertragung von Datenpaketen in einem Funk-Kommunikationssystem
DE60205923T2 (de) * 2001-09-27 2006-05-18 Matsushita Electric Industrial Co., Ltd., Kadoma Übertragungsverfahren, sendegerät und empfangsgerät
US6829663B1 (en) * 2002-08-21 2004-12-07 Adaptec, Inc. Method and apparatus for the synchronous control of a serial interface
JP4953603B2 (ja) * 2005-09-09 2012-06-13 キヤノン株式会社 撮像装置及びその制御方法
US8687489B2 (en) 2007-06-15 2014-04-01 Qualcomm Incorporated Aborting a packetized wireless communication

Also Published As

Publication number Publication date
US20110188515A1 (en) 2011-08-04
US8831037B2 (en) 2014-09-09
JP2011160336A (ja) 2011-08-18

Similar Documents

Publication Publication Date Title
AU2013287623B2 (en) System including operation device and information storing apparatus, method performed by the system, and the information storing apparatus
CN103748833B (zh) 对于网络接入控制的方法和系统
KR101923368B1 (ko) 리모트 지원장치, 전자장치, 리모트 지원방법 및 기억매체
JP6159897B1 (ja) 受付装置、受付システム、及び受付プログラム
JP5566126B2 (ja) 送信モジュール、受信モジュール、送信方法、受信方法および通信システム
JP2002160430A (ja) 画像出力装置、画像出力装置の制御方法、画像出力システム、及び記憶媒体
JP4894680B2 (ja) 電子機器、外部機器、機器システム、状態情報送信方法
JP7218103B2 (ja) サーバシステム、通信装置、制御方法、及び通信システム
JP4640278B2 (ja) デジタルカメラおよびデジタルカメラシステム
JP2005269571A (ja) 端末登録システム、端末登録方法および端末登録用サーバ
JP5853974B2 (ja) サーバ装置、出力システムおよびプログラム
JP6212367B2 (ja) 情報処理装置、携帯端末、デバイス制御システム、およびその制御方法
JP2012103897A (ja) 送信モジュール
JP6572488B2 (ja) 変換装置、及び、変換装置の制御方法
JP5046818B2 (ja) 画像形成装置、画像形成装置内のデータ処理方法、及びデータ処理プログラム
WO2019178820A1 (zh) 物质检测信息的上传及上传权限的确定方法、系统及装置
JP5994449B2 (ja) 情報送信装置、情報送信方法及び情報送信システム
JP2018085558A (ja) 保護ケース
JP2003015846A (ja) 画像印刷システム、印刷制御端末装置、接続メディア変換装置、印刷制御方法、印刷制御プログラムおよび接続メディア変換プログラム
JP2023137079A (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
WO2011099590A1 (ja) アドホックサービス提供システム
US8977732B2 (en) Service usage terminal, service providing terminal, control method of service providing terminal, control method of service providing terminal and service providing system
JP2009059051A (ja) 画像形成装置、情報処理方法、及び、画像形成システム
JP2008052379A (ja) 利用に際してユーザ認証の実行を要する機器及び端末装置
TWI245209B (en) Method and device for transforming printing image

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140603

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140617

R151 Written notification of patent or utility model registration

Ref document number: 5566126

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250