(57)【要約】  本技術は、複数のデータの伝送を効率的に行うことができるようにする送信端末、送信方法、情報処理端末、および情報処理方法に関する。本技術の一側面の送信端末は、ネットワークモデルの識別情報とともに、機械学習によるネットワークモデルの学習処理とネットワークモデルに基づく推論処理とのうちの少なくともいずれかの処理に用いられる複数の伝送データをペイロードに格納可能なフォーマットを有するパケットを生成し、送信する。本技術は、機械学習によるネットワークモデルの学習処理とネットワークモデルに基づく推論処理に用いられるデータを伝送する伝送システムに適用することができる。
2019031258.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークモデルの識別情報とともに、機械学習による前記ネットワークモデルの学習処理と前記ネットワークモデルに基づく推論処理とのうちの少なくともいずれかの処理に用いられる複数の伝送データをペイロードに格納可能なフォーマットを有するパケットを生成する生成部と、
前記パケットを送信する送信部と
を備える送信端末。
【請求項２】
前記生成部は、前記伝送データの種類毎に、前記伝送データの識別情報とデータ長を表す情報を前記ペイロードに格納する
請求項１に記載の送信端末。
【請求項３】
前記パケットは、RTPパケットである
請求項１に記載の送信端末。
【請求項４】
前記伝送データの受信側の端末から送信された、前記伝送データの種類毎の伝送レートを指示する制御コマンドをペイロードに含む制御パケットを受信する受信部をさらに備え、
前記送信部は、それぞれの前記伝送データを、前記制御コマンドにより指示された伝送レートに従って伝送する
請求項１に記載の送信端末。
【請求項５】
送信端末が、
ネットワークモデルの識別情報とともに、機械学習による前記ネットワークモデルの学習処理と前記ネットワークモデルに基づく推論処理とのうちの少なくともいずれかの処理に用いられる複数の伝送データをペイロードに格納可能なフォーマットを有するパケットを生成し、
前記パケットを送信する
送信方法。
【請求項６】
ネットワークモデルに基づく推論処理に用いられる伝送データの伝送に関する、前記ネットワークモデルの識別情報と制御コマンドの識別情報を含む前記制御コマンドをペイロードに格納した制御パケットを生成する生成部と、
前記制御パケットを送信する送信部と
を備える情報処理端末。
【請求項７】
前記制御パケットは、RTCPパケットである
請求項６に記載の情報処理端末。
【請求項８】
前記伝送データの送信側の端末から送信された、前記伝送データをペイロードに格納したパケットを受信する受信部と、
前記伝送データを入力として用いて前記推論処理を行う推論処理部と
をさらに備える請求項６に記載の情報処理端末。
【請求項９】
前記生成部は、前記推論処理に用いる前記ネットワークモデルの切り替えを表す前記制御コマンドを格納した前記制御パケットを生成する
請求項８に記載の情報処理端末。
【請求項１０】
前記生成部は、前記伝送データの種類毎の伝送レートを指示する前記制御コマンドを格納した前記制御パケットを生成する
請求項８に記載の情報処理端末。
【請求項１１】
前記生成部は、前記伝送データの種類毎に、前記伝送データの識別情報、伝送レートの単位を表す情報、および、伝送レートの値を含む前記制御コマンドを生成する
請求項１０に記載の情報処理端末。
【請求項１２】
伝送レートの調整が前記送信側の端末において行われることによって、前記推論処理に用いることができなくなる特定の前記伝送データを保存する制御部をさらに備え、
前記推論処理部は、伝送レートの調整が行われた後に送信されてきた前記伝送データと、保存されていた特定の前記伝送データとを入力として用いて前記推論処理を行う
請求項１０に記載の情報処理端末。
【請求項１３】
前記生成部は、前記伝送データの変化量に応じた伝送レートの調整を要求する前記制御コマンドを格納した前記パケットを生成する
請求項８に記載の情報処理端末。
【請求項１４】
前記推論処理の入力となる前記伝送データを保存する制御部をさらに備え、
前記推論処理部は、前記伝送レートの調整が前記送信側の端末において行われた後に送信されてきた前記伝送データと、保存されていた前記伝送データとを入力として用いて前記推論処理を行う
請求項１３に記載の情報処理端末。
【請求項１５】
情報処理端末が、
ネットワークモデルに基づく推論処理に用いられる伝送データの伝送に関する、前記ネットワークモデルの識別情報と制御コマンドの識別情報を含む前記制御コマンドをペイロードに格納した制御パケットを生成し、
前記制御パケットを送信する
情報処理方法。
【請求項１６】
ネットワークモデルに基づく推論処理に用いられる伝送データの伝送に関する、前記ネットワークモデルの識別情報と制御コマンドの識別情報を含む前記制御コマンドをペイロードに格納した制御パケットを受信する受信部と、
前記伝送データを前記制御コマンドに従って送信する送信部と
を備える情報処理端末。
【請求項１７】
前記制御コマンドが、前記推論処理に用いる前記ネットワークモデルの切り替えを表すコマンドである場合、
前記送信部は、前記制御コマンドに含まれる前記ネットワークモデルの識別情報により表される、切り替え後の前記ネットワークモデルの入力として用いられる種類の前記伝送データを送信する
請求項１６に記載の情報処理端末。
【請求項１８】
前記制御コマンドが、前記伝送データの種類毎の伝送レートを指示するコマンドである場合、
前記送信部は、それぞれの種類の前記伝送データを、前記制御コマンドに含まれる情報により指示された伝送レートに従って送信する
請求項１６に記載の情報処理端末。
【請求項１９】
前記制御コマンドが、前記伝送データの変化量に応じた伝送レートの調整を要求するコマンドである場合、
前記送信部は、変化量が閾値を超える種類の前記伝送データを送信する
請求項１６に記載の情報処理端末。
【請求項２０】
情報処理端末が、
ネットワークモデルに基づく推論処理に用いられる伝送データの伝送に関する、前記ネットワークモデルの識別情報と制御コマンドの識別情報を含む前記制御コマンドをペイロードに格納した制御パケットを受信し、
前記伝送データを前記制御コマンドに従って送信する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、送信端末、送信方法、情報処理端末、および情報処理方法に関し、特に、複数のデータの伝送を効率的に行うことができるようにした送信端末、送信方法、情報処理端末、および情報処理方法に関する。
【背景技術】
【０００２】
機械学習に用いるセンサデータ等のデータをUDP(User Datagram Protocol)上で非同期に伝送することを想定したプロトコルとしてMQTT(Message Queue Telemetry Transport)-SN(Sensor Network)がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】IBM developerWorks、“MQTT V3.1 Protocol Specification（英語版）”、［平成２９年７月７日検索］、<URL: http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/MQTT_V3.1_Protocol_Specific.pdf>
【非特許文献２】IBM developerWorks、“MQTT V3.1 Protocol Specification（日本語版）”、［平成２９年７月７日検索］、<URL: http://public.dhe.ibm.com/software/dw/jp/websphere/wmq/mqtt31_spec/mqtt-v3r1_ja.pdf>
【発明の概要】
【発明が解決しようとする課題】
【０００４】
MQTTは、サイズの小さなデータ(ペイロード長：最大256[Mbytes])の伝送を目指したものであり、マルチモーダルなデータなどの、複数のデータがバルクされた大容量のデータの伝送については考慮されていない。【０００５】
また、MQTTは、RTP(Real-time Transport Protocol)/RTCP(Real-time Transport Control Protocol)のように、伝送路の状況の変動を機器間で確認したり、伝送路の状況の変動に応じて伝送レートを制御したりするなどの応用機能に対応していない。【０００６】
本技術はこのような状況に鑑みてなされたものであり、複数のデータの伝送を効率的に行うことができるようにするものである。
【課題を解決するための手段】
【０００７】
本技術の第１の側面の送信端末は、ネットワークモデルの識別情報とともに、機械学習による前記ネットワークモデルの学習処理と前記ネットワークモデルに基づく推論処理とのうちの少なくともいずれかの処理に用いられる複数の伝送データをペイロードに格納可能なフォーマットを有するパケットを生成する生成部と、前記パケットを送信する送信部とを備える。【０００８】
本技術の第１の側面においては、ネットワークモデルの識別情報とともに、機械学習による前記ネットワークモデルの学習処理と前記ネットワークモデルに基づく推論処理とのうちの少なくともいずれかの処理に用いられる複数の伝送データをペイロードに格納可能なフォーマットを有するパケットが生成され、前記パケットが送信される。【０００９】
本技術の第２の側面の情報処理端末は、ネットワークモデルに基づく推論処理に用いられる伝送データの伝送に関する、前記ネットワークモデルの識別情報と制御コマンドの識別情報を含む前記制御コマンドをペイロードに格納した制御パケットを生成する生成部と、前記制御パケットを送信する送信部とを備える。【００１０】
本技術の第２の側面においては、ネットワークモデルに基づく推論処理に用いられる伝送データの伝送に関する、前記ネットワークモデルの識別情報と制御コマンドの識別情報を含む前記制御コマンドをペイロードに格納した制御パケットが生成され、前記制御パケットが送信される。【００１１】
本技術の第３の側面の情報処理端末は、ネットワークモデルに基づく推論処理に用いられる伝送データの伝送に関する、前記ネットワークモデルの識別情報と制御コマンドの識別情報を含む前記制御コマンドをペイロードに格納した制御パケットを受信する受信部と、前記伝送データを前記制御コマンドに従って送信する送信部とを備える。【００１２】
本技術の第３の側面においては、ネットワークモデルに基づく推論処理に用いられる伝送データの伝送に関する、前記ネットワークモデルの識別情報と制御コマンドの識別情報を含む前記制御コマンドをペイロードに格納した制御パケットが受信され、前記伝送データが前記制御コマンドに従って送信される。
【発明の効果】
【００１３】
本技術によれば、複数のデータの伝送を効率的に行うことができる。【００１４】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１５】
【図１】本技術の一実施形態に係る伝送システムの構成例を示すブロック図である。
【図２】ネットワークモデルの学習時の伝送データの流れを示す図である。
【図３】ネットワークモデルの例を示す図である。
【図４】ネットワークモデルを用いた推論時の伝送データの流れを示す図である。
【図５】RTPパケットとRTCPパケットの例を示す図である。
【図６】RTPパケットのペイロードのフォーマットの例を示す図である。
【図７】図６に示す各フィールドの内容を示す図である。
【図８】制御コマンド用の領域の第１のフォーマットの例を示す図である。
【図９】図８に示す各フィールドの内容を示す図である。
【図１０】制御コマンド用の領域の第２のフォーマットの例を示す図である。
【図１１】図１０に示す各フィールドの内容を示す図である。
【図１２】アップロード端末のハードウェア構成例を示すブロック図である。
【図１３】アップロード端末の機能構成例を示すブロック図である。
【図１４】クラウド端末のハードウェア構成例を示すブロック図である。
【図１５】クラウド端末の機能構成例を示すブロック図である。
【図１６】推論端末の機能構成例を示すブロック図である。
【図１７】アップロード端末とクラウド端末の間で行われる前処理について説明するフローチャートである。
【図１８】クラウド端末と推論端末の間で行われるシグナリング処理について説明するフローチャートである。
【図１９】アップロード端末とクラウド端末の間で行われるレート制御処理について説明するフローチャートである。
【図２０】データ伝送処理について説明するフローチャートである。
【図２１】クラウド端末と推論端末の間で行われるネットワークモデルの切り替え処理について説明するフローチャートである。
【図２２】クラウド端末と推論端末の間で行われる伝送レートの制御処理について説明するフローチャートである。
【図２３】クラウド端末と推論端末の間で行われる伝送制御処理について説明するフローチャートである。
【図２４】アップロード端末とクラウド端末の間で行われる伝送レート制御処理について説明するフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
１．伝送システムの構成例
２．パケットフォーマット
３．各装置の構成例
４．伝送システムの動作
５．その他の例
【００１７】
＜＜１．伝送システムの構成例＞＞
図１は、本技術の一実施形態に係る伝送システムの構成例を示すブロック図である。
【００１８】
図１の伝送システムは、アップロード端末１−１乃至１−Ｎ、クラウド端末２、および推論端末３が、インターネットなどのネットワーク４を介して接続されることによって構成される。
【００１９】
アップロード端末１−１乃至１−Ｎは、１つ、または複数のセンサを備える端末であり、測定を繰り返し行う。アップロード端末１−１乃至１−Ｎは、例えば、カメラ、マイクロフォン（マイク）、加速度センサ、角速度センサ、地磁気センサ、照度センサ、温度センサ、気圧センサ、測位センサなどの各種のセンサを備える。脈拍、発汗、脳波などの、ユーザの生体情報を検出するセンサがアップロード端末１−１乃至１−Ｎに設けられるようにしてもよい。
【００２０】
アップロード端末１−１乃至１−Ｎは、測定を行う毎に、測定結果を表すセンサデータを伝送データとしてクラウド端末２に送信する（アップロードする）。以下、適宜、アップロード端末１−１乃至１−Ｎをそれぞれ区別する必要がない場合、まとめてアップロード端末１という。
【００２１】
クラウド端末２は、アップロード端末１から送信された伝送データを受信する。クラウド端末２は、機械学習によるネットワークモデルの学習時、アップロード端末１から送信されてきた伝送データを用いて、NN(Neural Network)などのネットワークモデルの学習を行う。
【００２２】
図２は、ネットワークモデルの学習時の伝送データの流れを示す図である。
【００２３】
ネットワークモデルの学習時、矢印＃１−１乃至＃１−Ｎとして示すように、アップロード端末１−１乃至１−Ｎのそれぞれから、各種のセンサデータがクラウド端末２に送信される。クラウド端末２においては、センサデータに基づいて学習処理が行われることによって、図３に示すような各種のネットワークモデルが生成される。
【００２４】
図３の例においては、猫画像識別モデルと天気予想モデルが示されている。猫画像識別モデルは、例えば、カメラにより撮影された画像を入力として、被写体が猫であるか否かの識別に用いられるネットワークモデルである。また、天気予想モデルは、例えば、温度、湿度、風力など複数のデータを入力として、天気の予想に用いられるネットワークモデルである。
【００２５】
ネットワークモデル集合を構成するそれぞれのネットワークモデルは、異なる種類のデータを入力として、所定の推論結果を出力するネットワークモデルである。それぞれのネットワークモデルには、識別子であるNetwork Model IDが設定される。
【００２６】
学習処理によって生成されたこのようなネットワークモデル集合が、クラウド端末２から推論端末３に供給される。
【００２７】
また、クラウド端末２は、推論端末３がネットワークモデルを用いた推論時、アップロード端末１から送信されてきた伝送データを推論端末３に送信する。
【００２８】
図４は、ネットワークモデルを用いた推論時の伝送データの流れを示す図である。
【００２９】
アップロード端末１−１乃至１−Ｎのそれぞれから矢印＃１１−１乃至＃１１−Ｎとして示すように送信され、クラウド端末２により受信された伝送データは、矢印＃１２として示すように推論端末３に送信される。
【００３０】
後述するように、クラウド端末２を経由して推論端末３に送信される伝送データを格納したパケットには、パケットに格納されている伝送データが、どのネットワークモデルの入力として用いられるデータであるのかを示すNetwork Model IDが含まれている。
【００３１】
推論端末３は、クラウド端末２から送信されてきた伝送データを、Network Model IDにより識別されるネットワークモデルの入力として用いて推論処理を行う。推論処理により得られた推論結果は、推論端末３内のアプリケーションで利用することは無論、図示せぬ他の装置に送信され、各種アプリケーションが利用することもできる。
【００３２】
例えば、天気予想モデルを用いた推論処理により得られた推論結果は、天気予想を提供するサーバに送信される。スマートフォンやタブレット端末などの機器のユーザは、機器を操作してサーバにアクセスし、天気予想を確認することができる。
【００３３】
また、例えば、アップロード端末１−１が自動車に取り付けられている端末であり、走行中のコンテキストを計測するものである場合、推論端末３により得られた推論結果は、アップロード端末１−１が設置された自動車の走行を制御する制御装置に送信される。制御装置においては、推論結果に基づいて、自動運転のための走行制御などが行われる。
【００３４】
図１の伝送システムは、ネットワークモデルの学習処理とネットワークモデルを用いた推論処理を、アップロード端末１から伝送データが送信されてくる毎にリアルタイムで行うリアルタイム処理システムでもある。
【００３５】
リアルタイム性が求められるため、伝送データの送信にはRTP/RTCPが用いられる。伝送データは、RTPパケットに格納され、アップロード端末１から送信される。また、伝送路の状況に応じた伝送制御が、RTCPパケットに格納した制御コマンドを用いて行われる。
【００３６】
図５は、RTPパケットとRTCPパケットの例を示す図である。
【００３７】
図５のＡは、伝送データとしてのセンサデータを格納するRTPパケットの構成を示し、図５のＢは、制御コマンドを格納するRTCPパケットの構成を示す。
【００３８】
センサデータがペイロードに格納され、RTPヘッダが付加されることによって、図５のＡに示すようなRTPパケットが生成される。ペイロードには、複数種類のセンサデータがまとめて格納される。
【００３９】
データ伝送の制御に関する情報を含む制御コマンドは、RTCPのパケットの種類の中の１つであるアプリケーション定義を用い、RTCPヘッダが付加されることによって、図５のＢに示すようなRTCPパケットが生成される。ペイロードには、制御コマンド用の領域が確保される。RTCPパケットを用いたデータ伝送の制御は、アップロード端末１とクラウド端末２の間、クラウド端末２と推論端末３の間でそれぞれ行われる。
【００４０】
＜＜２．パケットフォーマット＞＞
ここで、図１の伝送システムにおいて用いられるRTPパケットとRTCPパケットのフォーマットについて説明する。
【００４１】
＜RTPパケットのフォーマット＞
図６は、データ伝送に用いられるRTPパケットのペイロードのフォーマットの例を示す図である。図７は、図６に示す各フィールドの内容を示す図である。
【００４２】
図６に示すように、RTPパケットのペイロードは、バージョン（Ver）、Network Model ID、Number Of Data ID、Data ID、Data Length、およびDataの各フィールドから構成される。Data ID、Data Length、Dataのセットは、Number Of Data IDにより示される数だけ格納される。
【００４３】
Network Model IDは、ネットワークモデルの識別子である。ネットワークモデルの学習時、Network Model IDは、当該ペイロードに格納される伝送データがどのネットワークモデルの学習に用いられるデータであるのかを表す。また、ネットワークモデルを用いた推論時、Network Model IDは、当該ペイロードに格納される伝送データがどのネットワークモデルの入力として用いられるデータであるのかを表す。
【００４４】
Number Of Data IDは、Data IDの数を表す。Number Of Data IDにより、当該ペイロードに格納される伝送データの数が表される。
【００４５】
Data IDは、伝送データの識別子である。Data IDにより、当該ペイロードに格納される伝送データの種類が表される。異なる種類の伝送データ毎に、異なるData IDが付加される。
【００４６】
Data Lengthは、伝送データ（Data）のデータ長を表す。
【００４７】
Dataは、実際の伝送データである。伝送データは可変長のデータとされる。
【００４８】
なお、Network Model IDとNetwork Model名の対応関係、および、Data IDとData名（Dataの種類）の対応関係は、それぞれ仕様として定義される。
【００４９】
例えば、「Network Model ID＝1」は、図３を参照して説明した「Network Model名＝猫画像識別モデル」を表すIDとして定義される。また、「Data ID＝1」は「Data名＝画像」を表すIDとして定義される。
【００５０】
この場合、猫画像識別モデルの学習や猫画像識別モデルを用いた推論に用いる画像を伝送するRTPパケットのペイロードのNetwork Model IDには「1」が設定される。また、「1」の値が設定されたData IDに続くData Lengthの次に、画像自体が配置される。
【００５１】
また、「Network Model ID＝2」は、図３を参照して説明した「Network Model名＝天気予想モデル」を表すIDとして定義される。「Data ID＝2」は「Data名＝温度」を表すIDとして定義され、「Data ID＝3」は「Data名＝湿度」を表すIDとして定義される。「Data D＝4」は「Data名＝風力」を表すIDとして定義される。
【００５２】
この場合、天気予想モデルの学習や天気予想モデルを用いた推論に用いる温度、湿度、風力の３種類のデータを伝送するRTPパケットのペイロードのNetwork Model IDには「2」の値が設定される。また、「2」の値が設定されたData ID、Data Length、温度のデータのセット、「3」の値が設定されたData ID、Data Length、湿度のデータのセット、および、「4」の値が設定されたData ID、Data Length、風力のデータのセットが順に配置される。
【００５３】
このように、図６に示すフォーマットのRTPパケットを用いることにより、あるネットワークモデルの学習やネットワークモデルを用いた推論に用いる、複数の伝送データをまとめて伝送することが可能になる。まとめて伝送するデータについては、種類が異なるマルチモーダルなデータとすることも可能であるし、同じ種類のデータとすることも可能である。
【００５４】
＜RTCPパケットのフォーマット＞
データ伝送の制御に用いられるRTCPパケットのペイロードの拡張領域に確保された制御コマンド用の領域のフォーマットとして、例えば２種類のフォーマットが定義される。
【００５５】
図８は、制御コマンド用の領域の第１のフォーマットの例を示す図である。図９は、図８に示す各フィールドの内容を示す図である。
【００５６】
図８に示すように、制御コマンド用の領域は、バージョン（Ver）、Network Model ID、およびCommand IDの各フィールドから構成される。
【００５７】
Network Model IDは、ネットワークモデルの識別子である。
【００５８】
Command IDは、制御コマンドを指定する識別子である。後述するように、制御コマンドの内容（アプリケーション）は複数種類定義される。Command IDにより、当該制御コマンドが、どの種類の制御コマンドであるのかが表される。
【００５９】
図１０は、制御コマンド用の領域の第２のフォーマットの例を示す図である。図１１は、図１０に示す各フィールドの内容を示す図である。
【００６０】
図１０に示すように、制御コマンド用の領域は、バージョン（Ver）、Network Model ID、Command ID、Number Of Data ID、Data ID、U(K=00,M=01,G=10,R=11)、およびBit Rateの各フィールドから構成される。Data ID、U(K=00,M=01,G=10,R=11)、Bit Rateのセットは、Number Of Data IDにより示される数だけ格納される。
【００６１】
Network Model IDは、ネットワークモデルの識別子である。
【００６２】
Command IDは、制御コマンドを指定する識別子である。
【００６３】
Number Of Data IDは、Data IDの数を表す。Number Of Data IDにより、伝送レートの制御の対象となる伝送データの数が表される。
【００６４】
Data IDは、伝送データの識別子である。Data IDにより、伝送レートの制御の対象となる伝送データの種類が表される。
【００６５】
U(K=00,M=01,G=10,R=11)は、伝送レート（Bit Rate）の単位を表す。U(K=00,M=01,G=10,R=11)により、Kbps，Mbps，Gbpsのうちのいずれかの単位が表される。なお、R=11はReserveとして取っておく。
【００６６】
Bit Rateは、ビットレートの値を表す。
【００６７】
以上のようなフォーマットを有する制御コマンドとして、例えば、以下の３種類の制御コマンドが定義される。
１．ネットワークモデルの制御に関する制御コマンド
２．伝送レートの制御に関する制御コマンド
３．伝送データの変化量に応じた伝送レートの制御を要求する制御コマンド
【００６８】
１つ目の制御コマンドであるネットワークモデルの制御に関する制御コマンドは、例えば、ネットワークモデルの切り替えを目的とするときに用いられる。ネットワークモデルの制御に関する制御コマンドのフォーマットとしては、例えば図８のフォーマットが用いられる。Network Model IDは、切り替え後のネットワークモデルを表す。
【００６９】
ネットワークモデルの制御に関する制御コマンドは、例えば、推論処理を行っている推論端末３が、推論処理に用いるネットワークモデルを切り替えることをクラウド端末２に指示するときに用いられる。推論処理に用いるネットワークモデルの切り替えは、例えば、伝送帯域に変化が生じたことが推論端末３により検出されたときに行われる。
【００７０】
以下、適宜、ネットワークモデルの制御に関する制御コマンドを、ネットワークモデル変更コマンドという。
【００７１】
２つ目の制御コマンドである伝送レートの制御に関する制御コマンドは、伝送レートの制御を目的とするときに用いられる。伝送レートの制御に関する制御コマンドのフォーマットとしては、例えば図１０のフォーマットが用いられる。Data ID、U(K=00,M=01,G=10,R=11)、Bit Rateのセットが、伝送レートの制御対象となるそれぞれの伝送データについて、Number Of Data IDにより示される数だけ格納される。
【００７２】
伝送レートの制御に関する制御コマンドは、例えば、推論処理を行っている推論端末３が、推論処理に用いている各伝送データの伝送レートを変更することをクラウド端末２に指示するときに用いられる。伝送レートの変更は、例えば、伝送帯域に変化が生じたことが推論端末３により検出されたときに行われる。
【００７３】
以下、適宜、伝送レートの制御に関する制御コマンドを、伝送レート変更コマンドという。
【００７４】
３つ目の制御コマンドである、伝送データの変化量に応じた伝送レートの制御を要求する制御コマンドは、伝送レートを、伝送データの変化量に応じて調整することを目的とするときに用いられる。伝送データの変化量に応じた伝送レートの制御を要求する制御コマンドのフォーマットとしては、例えば図８のフォーマットが用いられる。
【００７５】
伝送データの変化量に応じた伝送レートの制御を要求する制御コマンドは、例えば、推論処理を行っている推論端末３が、推論処理に用いている各伝送データの伝送レートを変化量に応じて調整することをクラウド端末２に指示するときに用いられる。伝送レートの調整は、例えば、伝送帯域に変化が生じたことが推論端末３により検出されたときに行われる。
【００７６】
以下、適宜、伝送データの変化量に応じた伝送レートの制御を要求する制御コマンドを、伝送レート調整要求コマンドという。
【００７７】
このように、RTP/RTCPのフォーマットを定義し、データ伝送とその制御に用いることにより、ネットワークモデルの学習やネットワークモデルを用いた推論をリアルタイム処理として行わせることが可能になる。
【００７８】
推論端末３は、データ伝送の状態が変動する環境下においても、推論処理を、継続的に、かつ、一定の精度を保ちながら行うことが可能になる。
【００７９】
TCP(RFC793)は再送やレート制御を内部的に実行するプロトコルであるため、機械学習に用いるデータをTCPにより伝送するとした場合、データ伝送の状況を、アプリケーション等の上位レイヤーから認識するのが困難となる。従って、伝送レートを制御したり再送を制御したりするといったリアルタイム伝送の制御を伝送路の状況に応じて上位レイヤーのアプリケーションに行わせるのは難しいものとなるが、以上のようにRTP/RTCPを用いることにより、そのような制御を容易に行わせることが可能になる。
【００８０】
以上のような各制御コマンドを用いてデータ伝送を制御する一連の処理については、フローチャートを参照して後述する。
【００８１】
＜＜３．各装置の構成例＞＞
ここで、各装置の構成について説明する。
【００８２】
＜アップロード端末１の構成＞
図１２は、アップロード端末１のハードウェア構成例を示すブロック図である。
【００８３】
CPU(Central Processing Unit)１１、ROM(Read Only Memory)１２、RAM(Random Access Memory)１３は、バス１４により相互に接続される。
【００８４】
バス１４には、カメラ１５、マイク１６、およびセンサ１７が接続される。カメラ１５は、周囲の状況を撮影する。マイク１６は、周囲の音を検出する。センサ１７は、加速度センサ、角速度センサ、測位センサなどの、上述したような各種のセンサにより構成される。センサ１７は、検出結果を表す情報を出力する。
【００８５】
カメラ１５、マイク１６、およびセンサ１７の各センサが全て設けられるのではなく、アップロード端末１に設けられるセンサの組み合わせについては任意に変更可能である。
【００８６】
また、バス１４には、記憶部１８と通信部１９も接続される。記憶部１８は、不揮発性のメモリなどより構成される。記憶部１８は、CPU１１が実行するプログラムの他に、センサデータなどの各種のデータを記憶する。
【００８７】
通信部１９は、ネットワークインタフェースなどより構成され、無線や有線による通信を介してネットワーク４に接続し、クラウド端末２との間で通信を行う。通信部１９は、送信部１９Ａと受信部１９Ｂにより構成される。送信部１９Ａは、図６を参照して説明したようなフォーマットを有するRTPパケットをクラウド端末２に送信する。受信部１９Ｂは、例えば、クラウド端末２から送信されてきた、伝送レート変更コマンドを格納したRTCPパケットを受信する。
【００８８】
図１３は、アップロード端末１の機能構成例を示すブロック図である。図１３に示す機能部のうちの少なくとも一部は、図１２のCPU１１により所定のプログラムが実行されることによって実現される。
【００８９】
図１３に示すように、アップロード端末１においては、制御マネージャー３１と伝送処理部３２が実現される。伝送処理部３２は、伝送マネージャー４１、伝送データベース４２、およびRTP/RTCPパケッタイザー４３から構成される。
【００９０】
制御マネージャー３１は、伝送処理部３２の伝送マネージャー４１との間で各種の情報のやり取りを行い、アップロード端末１の全体の動作を制御する。
【００９１】
伝送処理部３２の伝送マネージャー４１は、クラウド端末２に対するデータ伝送、および、クラウド端末２から送信されてきたデータの受信を制御する。
【００９２】
伝送データベース４２は、伝送レート等の、データ伝送に関する各種の設定情報を格納する。
【００９３】
RTP/RTCPパケッタイザー４３は、伝送データを格納したRTPパケットを生成する。RTP/RTCPパケッタイザー４３は、図６に示すフォーマットを有するRTPパケットを生成する生成部として機能する。RTP/RTCPパケッタイザー４３により生成されたRTPパケットは、送信部１９Ａに供給され、クラウド端末２に対して送信される。
【００９４】
また、RTP/RTCPパケッタイザー４３は、クラウド端末２から送信され、受信部１９Ｂにおいて受信されたRTCPパケットを解析し、ペイロードに格納された制御コマンドを取得する。
【００９５】
＜クラウド端末２、推論端末３の構成＞
図１４は、クラウド端末２のハードウェア構成例を示すブロック図である。
【００９６】
CPU１０１、ROM１０２、RAM１０３は、バス１０４により相互に接続される。バス１０４には、さらに、入出力インタフェース１０５が接続される。
【００９７】
入出力インタフェース１０５には、キーボード、マウスなどよりなる入力部１０６、ディスプレイ、スピーカなどよりなる出力部１０７が接続される。また、入出力インタフェース１０５には、記憶部１０８、通信部１０９、およびドライブ１１０が接続される。
【００９８】
記憶部１０８は、ハードディスクや不揮発性のメモリなどにより構成され、学習処理によって生成されたネットワークモデルを記憶する。
【００９９】
通信部１０９は、ネットワークインタフェースにより構成され、無線や有線による通信を介してネットワーク４に接続し、アップロード端末１、推論端末３との間で通信を行う。通信部１０９は、送信部１０９Ａと受信部１０９Ｂにより構成される。
【０１００】
送信部１０９Ａは、ネットワークモデルを用いた推論時、アップロード端末１から送信されてきたRTPパケットを推論端末３に送信する。受信部１０９Ｂは、アップロード端末１から送信されてきたRTPパケットを受信する。また、受信部１０９Ｂは、推論端末３から送信されてきたRTCPパケットを受信する。
【０１０１】
ドライブ１１０は、リムーバブルメディア１１１を駆動し、リムーバブルメディア１１１に記憶されたデータの読み出し、または、リムーバブルメディア１１１に対するデータの書き込みを行う。
【０１０２】
図１４に示す構成と同じ構成を推論端末３も有している。以下、適宜、図１４に示すクラウド端末２の構成を、推論端末３の構成として引用して説明する。
【０１０３】
なお、この例においては、クラウド端末２が１つの装置上で実現されるものとしているが、複数の装置により実現されるようにすることが可能である。すなわち、クラウド端末２の構成として、ネットワーク４を介して接続された複数の装置間で分担、協働してクラウド端末２の機能を実現するクラウドコンピューティングの構成をとることができる。推論端末３についても同様である。
【０１０４】
図１５は、クラウド端末２の機能構成例を示すブロック図である。図１５に示す機能部のうちの少なくとも一部は、図１４のCPU１０１により所定のプログラムが実行されることによって実現される。
【０１０５】
図１５に示すように、クラウド端末２においては、制御マネージャー１３１、機械学習処理部１３２、および伝送処理部１３３が実現される。機械学習処理部１３２は、機械学習マネージャー１４１、機械学習データベース１４２、および機械学習エンジン１４３から構成される。伝送処理部１３３は、伝送マネージャー１５１、伝送データベース１５２、およびRTP/RTCPパケッタイザー１５３から構成される。
【０１０６】
制御マネージャー１３１は、機械学習マネージャー１４１、および伝送マネージャー１５１との間で各種の情報のやり取りを行い、クラウド端末２の全体の動作を制御する。
【０１０７】
機械学習処理部１３２の機械学習マネージャー１４１は、機械学習に関連する処理を制御する。
【０１０８】
機械学習データベース１４２は、機械学習のための設定情報、機械学習によって生成したネットワークモデル等の、機械学習に関する各種の情報を格納する。
【０１０９】
機械学習エンジン１４３は、ネットワークモデルの学習時、アップロード端末１から送信されてきた伝送データに基づいて学習処理を行い、ネットワークモデルを生成する。
【０１１０】
伝送処理部１３３の伝送マネージャー１５１は、推論端末３に対するデータ伝送、および、アップロード端末１から送信されてきたデータの受信を制御する。
【０１１１】
伝送データベース１５２は、伝送レート等の、データ伝送に関する各種の設定情報を格納する。
【０１１２】
RTP/RTCPパケッタイザー１５３は、アップロード端末１から送信されてきたRTPパケットを解析し、送信部１０９Ａに供給して推論端末３に送信させる。また、RTP/RTCPパケッタイザー１５３は、推論端末３から送信され、受信部１０９Ｂにおいて受信されたRTCPパケットを解析し、ペイロードに格納された制御コマンドを取得する。
【０１１３】
図１６は、推論端末３の機能構成例を示すブロック図である。図１６に示す機能部のうちの少なくとも一部は、推論端末３を構成する、図１４のCPU１０１により所定のプログラムが実行されることによって実現される。
【０１１４】
図１６に示すように、推論端末３においては、制御マネージャー１７１、推論処理部１７２、および伝送処理部１７３が実現される。推論処理部１７２は、推論マネージャー１８１、推論データベース１８２、および推論エンジン１８３から構成される。伝送処理部１７３は、伝送マネージャー１９１、伝送データベース１９２、およびRTP/RTCPパケッタイザー１９３から構成される。
【０１１５】
制御マネージャー１７１は、推論マネージャー１８１、および伝送マネージャー１９１との間で各種の情報のやり取りを行い、推論端末３の全体の動作を制御する。
【０１１６】
推論処理部１７２の推論マネージャー１８１は、ネットワークモデルを用いた推論処理の状態等を把握し、推論処理を制御する。
【０１１７】
推論データベース１８２は、推論のための設定情報等の、推論に関する各種の情報を格納する。推論データベース１８２には、クラウド端末２から供給されたネットワークモデル集合１８２Ａが格納される。例えば、ネットワークモデル集合１８２Ａを構成するそれぞれのネットワークモデルは、クラウド端末２による学習が行われる毎に更新される。
【０１１８】
推論エンジン１８３は、推論時、クラウド端末２を経由してアップロード端末１から送信されてきた伝送データをネットワークモデルの入力として用いて推論処理を行う。
【０１１９】
伝送処理部１７３の伝送マネージャー１９１は、クラウド端末２に対するデータ伝送、および、クラウド端末２から送信されてきたデータの受信を制御する。
【０１２０】
伝送データベース１９２は、伝送レート等の、データ伝送に関する各種の設定情報を格納する。
【０１２１】
RTP/RTCPパケッタイザー１９３は、クラウド端末２を経由してアップロード端末１から送信されてきたRTPパケットを解析し、伝送データを取得する。また、RTP/RTCPパケッタイザー１９３は、制御コマンドを格納したRTCPパケットを生成し、クラウド端末２に送信する。
【０１２２】
＜＜４．伝送システムの動作＞＞
ここで、以上のような構成を有する各装置の動作について説明する。
【０１２３】
＜基本的な処理＞
はじめに、図１７のフローチャートを参照して、データの伝送を開始する前にアップロード端末１とクラウド端末２の間で行われる前処理について説明する。前処理により、伝送可能なデータなどの、アップロード端末１に関する情報がクラウド端末２に登録される。
【０１２４】
ステップＳ１において、アップロード端末１の制御マネージャー３１は、通信部１９を制御してクラウド端末２にアクセスし、情報登録開始リクエストを送信する。情報登録開始リクエストは、アップロード端末１に関する情報の登録処理を開始することを要求する情報である。
【０１２５】
なお、各装置の間で送受信されるリクエストは、一方の装置が他方の装置に対して行う要求を表す情報であり、レスポンスは、他方の装置が一方の装置に対して行う応答を表す情報である。図１７だけでなく、後述する図１８以降のフローチャートにおいても同様である。
【０１２６】
ステップＳ１１において、クラウド端末２の制御マネージャー１３１は、アップロード端末１から送信されてきた情報登録開始リクエストを受信する。ステップＳ１２において、制御マネージャー１３１は、情報登録開始レスポンスをアップロード端末１に送信する。
【０１２７】
ステップＳ２において、アップロード端末１の制御マネージャー３１は、クラウド端末２から送信されてきた情報登録開始レスポンスを受信する。ステップＳ３において、制御マネージャー３１は、情報登録リクエストをクラウド端末２に送信する。ここで送信される情報登録リクエストには、アップロード端末１への接続情報、および、アップロード端末１が伝送可能なデータの種類を表すData ID等の情報が含まれる。
【０１２８】
ステップＳ１３において、クラウド端末２の制御マネージャー１３１は、アップロード端末１から送信されてきた情報登録リクエストを受信する。ステップＳ１４において、制御マネージャー１３１は、情報登録リクエストに含まれる、アップロード端末１が伝送可能なデータの種類を表す情報を機械学習処理部１３２に出力し、機械学習データベース１４２に格納させる。また、制御マネージャー１３１は、情報登録リクエストに含まれるアップロード端末１への接続情報を伝送処理部１３３に出力し、伝送データベース１５２に格納させる。
【０１２９】
アップロード端末１に関する情報を格納した後、ステップＳ１５において、制御マネージャー１３１は、情報登録レスポンスをアップロード端末１に送信する。情報登録レスポンスは、アップロード端末１に関する情報の格納が終了したことを通知する情報である。
【０１３０】
ステップＳ４において、アップロード端末１の制御マネージャー３１は、クラウド端末２から送信されてきた情報登録レスポンスを受信する。ステップＳ５において、制御マネージャー３１は、情報登録終了リクエストをクラウド端末２に送信する。
【０１３１】
ステップＳ１６において、クラウド端末２の制御マネージャー１３１は、アップロード端末１から送信されてきた情報登録終了リクエストを受信する。ステップＳ１７において、制御マネージャー１３１は、情報登録終了レスポンスをアップロード端末１に送信する。
【０１３２】
ステップＳ６において、アップロード端末１の制御マネージャー３１は、クラウド端末２から送信されてきた情報登録終了レスポンスを受信し、前処理を終了させる。
【０１３３】
以上の処理が、それぞれのアップロード端末１とクラウド端末２との間で行われる。クラウド端末２には、それぞれのアップロード端末１が伝送可能なデータに関する情報が登録される。
【０１３４】
次に、図１８のフローチャートを参照して、クラウド端末２と推論端末３の間で行われるシグナリング処理について説明する。シグナリング処理は、図１７の前処理がアップロード端末１とクラウド端末２の間で行われた後に行われる。
【０１３５】
ステップＳ３１において、推論端末３の制御マネージャー１７１は、シグナリング開始リクエストをクラウド端末２に送信する。
【０１３６】
ステップＳ５１において、クラウド端末２の制御マネージャー１３１は、推論端末３から送信されてきたシグナリング開始リクエストを受信する。ステップＳ５２において、制御マネージャー１３１は、シグナリング開始レスポンスをアップロード端末１に送信する。
【０１３７】
ステップＳ３２において、推論端末３の制御マネージャー１７１は、クラウド端末２から送信されてきたシグナリング開始レスポンスを受信する。ステップＳ３３において、制御マネージャー１７１は、伝送情報取得リクエストをクラウド端末２に送信する。
【０１３８】
ステップＳ５３において、クラウド端末２の制御マネージャー１３１は、アップロード端末１から送信されてきた伝送情報取得リクエストを受信する。ステップＳ５４において、制御マネージャー１３１は、伝送情報取得レスポンスを推論端末３に送信する。ここで送信される伝送情報取得レスポンスには、クラウド端末２が扱うことができるネットワークモデルの一覧が含まれる。クラウド端末２自身が学習処理を行うことによって生成し、機械学習データベース１４２に格納されているネットワークモデルが、クラウド端末２が扱うことができるネットワークモデルとなる。
【０１３９】
ステップＳ３４において、推論端末３の制御マネージャー１７１は、クラウド端末２から送信されてきた伝送情報取得レスポンスを受信する。ステップＳ３５において、制御マネージャー１７１は、伝送情報取得レスポンスに含まれるネットワークモデルの一覧と、推論データベース１８２に格納されているネットワークモデルの一覧を確認し、推論処理で用いるネットワークモデルを決定する。
【０１４０】
例えば、推論データベース１８２に格納されているネットワークモデルのうち、クラウド端末２が扱うことができるネットワークモデルと同じネットワークモデルが、推論処理で用いるネットワークモデルとして決定される。クラウド端末２がネットワークモデルを扱うことができるということは、そのネットワークモデルの学習に用いられる種類の伝送データを、クラウド端末２が、アップロード端末１から取得して推論端末３に送信することが可能であることを表す。
【０１４１】
ステップＳ３５において行われるネットワークモデルの決定は、クラウド端末２が送信可能な伝送データの種類を特定し、その伝送データを用いて推論処理を行うことが可能なネットワークモデルを決定する処理となる。例えば、クラウド端末２が、温度、湿度、風力の３種類のデータを伝送することが可能であることが特定された場合、推論処理に用いるネットワークモデルとして上述した天気予想モデルが決定されることになる。
【０１４２】
ステップＳ３６において、制御マネージャー１７１は、推論処理で用いることを決定したネットワークモデルの入力となるそれぞれの伝送データの伝送レートを決定する。
【０１４３】
ステップＳ３７において、制御マネージャー１７１は、伝送情報設定リクエストをクラウド端末２に送信する。ここで送信される伝送情報設定リクエストには、推論処理に用いることが決定されたネットワークモデルの情報と、推論処理の入力として用いるそれぞれの伝送データの伝送レートの情報が含まれる。
【０１４４】
ステップＳ５５において、クラウド端末２の制御マネージャー１３１は、推論端末３から送信されてきた伝送情報設定リクエストを受信する。ステップＳ５６において、制御マネージャー１３１は、伝送情報設定リクエストに含まれる、推論処理に用いることが決定されたネットワークモデルの情報を機械学習処理部１３２に出力し、機械学習データベース１４２に格納させる。また、制御マネージャー１３１は、伝送情報設定リクエストに含まれる各伝送データの伝送レートの情報を伝送処理部１３３に出力し、伝送データベース１５２に格納させる。
【０１４５】
推論処理に関する情報を格納した後、ステップＳ５７において、制御マネージャー１３１は、伝送情報設定レスポンスを推論端末３に送信する。伝送情報設定レスポンスは、推論処理に関する情報の格納が終了したことを通知する情報である。
【０１４６】
ステップＳ３８において、推論端末３の制御マネージャー１７１は、クラウド端末２から送信されてきた伝送情報設定レスポンスを受信する。ステップＳ３９において、制御マネージャー１７１は、シグナリング終了リクエストをクラウド端末２に送信する。
【０１４７】
ステップＳ５８において、クラウド端末２の制御マネージャー１３１は、推論端末３から送信されてきたシグナリング終了リクエストを受信する。ステップＳ５９において、制御マネージャー１３１は、シグナリング終了レスポンスを推論端末３に送信する。
【０１４８】
ステップＳ４０において、推論端末３の制御マネージャー１７１は、クラウド端末２から送信されてきたシグナリング終了レスポンスを受信し、シグナリング処理を終了させる。
【０１４９】
次に、図１９のフローチャートを参照して、アップロード端末１とクラウド端末２の間で行われるレート制御処理について説明する。レート制御処理は、図１８のシグナリング処理がクラウド端末２と推論端末３の間で行われた後に行われる。
【０１５０】
ステップＳ７１において、クラウド端末２の制御マネージャー１３１は、伝送レート制御開始リクエストをアップロード端末１に送信する。
【０１５１】
ステップＳ８１において、アップロード端末１の制御マネージャー３１は、クラウド端末２から送信されてきた伝送レート制御開始リクエストを受信する。ステップＳ８２において、制御マネージャー３１は、伝送レート制御開始レスポンスをクラウド端末２に送信する。
【０１５２】
ステップＳ７２において、クラウド端末２の制御マネージャー１３１は、アップロード端末１から送信されてきた伝送レート制御開始レスポンスを受信する。ステップＳ７３において、制御マネージャー１３１は、伝送レート設定リクエストをアップロード端末１に送信する。ここで送信される伝送レート設定リクエストには、推論端末３により決定された、それぞれの伝送データの伝送レートの情報が含まれる。
【０１５３】
ステップＳ８３において、アップロード端末１の制御マネージャー３１は、クラウド端末２から送信されてきた伝送レート設定リクエストを受信する。ステップＳ８４において、制御マネージャー３１は、伝送レート設定リクエストに含まれる各伝送データの伝送レートの情報を伝送処理部３２に出力し、伝送データベース４２に格納させる。
【０１５４】
伝送レートに関する情報を格納した後、ステップＳ８５において、制御マネージャー３１は、伝送レート設定レスポンスをクラウド端末２に送信する。伝送レート設定レスポンスは、伝送レートに関する情報の格納が終了したことを通知する情報である。
【０１５５】
ステップＳ７４において、クラウド端末２の制御マネージャー１３１は、アップロード端末１から送信されてきた伝送レート設定レスポンスを受信する。ステップＳ７５において、制御マネージャー１３１は、伝送レート制御終了リクエストをアップロード端末１に送信する。
【０１５６】
ステップＳ８６において、アップロード端末１の制御マネージャー３１は、クラウド端末２から送信されてきた伝送レート制御終了リクエストを受信する。ステップＳ８７において、制御マネージャー３１は、伝送レート制御終了レスポンスをクラウド端末２に送信する。
【０１５７】
ステップＳ７６において、クラウド端末２の制御マネージャー１３１は、アップロード端末１から送信されてきた伝送レート制御終了レスポンスを受信し、レート制御処理を終了させる。
【０１５８】
以上の一連の処理により、アップロード端末１は、推論処理の入力として用いられる伝送データを、推論端末３により決定された伝送レートに従って送信することが可能になる。また、推論端末３は、アップロード端末１から送信された伝送データをクラウド端末２を経由して受信し、ネットワークモデルの入力として用いて推論処理を行うことが可能になる。
【０１５９】
次に、図２０のフローチャートを参照して、推論処理時のデータ伝送処理について説明する。推論処理時、図２０に示す処理が、アップロード端末１、クラウド端末２、推論端末３により繰り返し行われる。
【０１６０】
ステップＳ１０１において、アップロード端末１の制御マネージャー３１は、カメラ１５、マイク１６、センサ１７を制御し、センサデータの検出を行わせる。カメラ１５により撮影された画像、マイク１６により集音された音声のデータも、適宜、センサデータとして取得される。
【０１６１】
ステップＳ１０２において、伝送処理部３２のRTP/RTCPパケッタイザー４３は、推論処理の入力として用いられるセンサデータを格納した、図６のフォーマットを有するRTPパケットを生成する。アップロード端末１が送信する伝送データの入力先となるネットワークモデルが、複数種類のセンサデータを入力とするネットワークモデルである場合、複数種類のセンサデータをまとめて格納したRTPパケットが生成される。
【０１６２】
ステップＳ１０３において、伝送マネージャー４１は、RTPパケットをクラウド端末２に送信する。RTPパケットの送信が、図１９のレート制御処理で設定された伝送レートに従って行われる。
【０１６３】
ステップＳ１１１において、クラウド端末２の伝送マネージャー１５１は、アップロード端末１から送信されてきたRTPパケットを受信する。
【０１６４】
ステップＳ１１２において、RTP/RTCPパケッタイザー１５３は、RTPパケットを解析する。例えば、RTPパケットに格納されているNetwork Model IDに基づいて、伝送データの送信先が推論端末３であるとして特定される。
【０１６５】
ステップＳ１１３において、伝送マネージャー１５１は、アップロード端末１から送信されてきたRTPパケットを推論端末３に送信する。
【０１６６】
ステップＳ１２１において、推論端末３の伝送マネージャー１９１は、クラウド端末２から送信されてきたRTPパケットを受信する。
【０１６７】
ステップＳ１２２において、RTP/RTCPパケッタイザー１９３は、RTPパケットを解析する。RTPパケットに格納されていた伝送データは、Network Model IDなどの情報とともに推論処理部１７２に供給される。
【０１６８】
ステップＳ１２３において、推論エンジン１８３は、伝送データを用いて、Network Model IDにより識別されるネットワークモデルに基づく推論処理を行う。推論処理においては、伝送データがネットワークモデルの入力として用いられ、所定の推論結果が求められる。推論結果の情報は、制御マネージャー１７１により各種の処理に用いられる。
【０１６９】
なお、クラウド端末２においては、適宜、ステップＳ１１４として示すように、アップロード端末１から送信されてきたRTPパケットに格納されている伝送データを用いた学習処理が、推論端末３による推論処理と並行して行われるようにすることも可能である。
【０１７０】
このように、推論処理時にアップロード端末１から送信された伝送データは、ネットワークモデルを用いた推論の入力として用いられるだけでなく、機械学習によるネットワークモデルの学習にも用いられる。
【０１７１】
＜ネットワークモデルの切り替え処理＞
次に、図２１のフローチャートを参照して、クラウド端末２と推論端末３の間で行われるネットワークモデルの切り替え処理について説明する。
【０１７２】
図２０の処理によってクラウド端末２と推論端末３の間で伝送データの送受信が行われ、推論処理が推論端末３において行われている間にも、ダウンリンクの伝送帯域には変動が生じる。推論端末３からクラウド端末２方向のデータの通信リンクをアップリンクとすると、ダウンリンクは、クラウド端末２から推論端末３方向のデータの通信リンクである。
【０１７３】
図２１の処理は、推論端末３が推論処理で用いるネットワークモデルを、確保できる帯域内で送受信が可能なデータを用いて推論処理が行うことができるネットワークモデルに切り換える処理である。
【０１７４】
ステップＳ１５１において、推論端末３の制御マネージャー１７１は、推論マネージャー１８１と伝送マネージャー１９１から取得した情報に基づいて、伝送帯域の変化を検出する。
【０１７５】
例えば推論処理のスループットとデータ伝送の伝送レート（スループット）に閾値以上の差異があることが検出された場合、伝送帯域に変化があったものとして検出される。推論処理のスループットは推論マネージャー１８１から取得された情報に基づいて特定され、伝送レートは伝送マネージャー１９１から取得された情報に基づいて特定される。
【０１７６】
具体的には、推論処理のスループットが100Mbpsであるものとすると（推論処理の入力として１秒あたり100Mbitの伝送データが必要であるものとすると）、推論処理を継続するためには、データ伝送の伝送レートとして100Mbps以上が必要になる。100Mbps以上確保されていた伝送レートが50Mbpsになった場合、推論処理で必要とするデータが不足することになる。例えばこのような大きな差が生じることになった場合に、伝送帯域に変化があったものとして検出される。
【０１７７】
伝送帯域に変化があったことが検出された場合、ステップＳ１５２において、制御マネージャー１７１は、伝送レートに合わせたネットワークモデルを選択するため、推論マネージャー１８１に対して、ネットワークモデルの問い合わせを行う。推論マネージャー１８１に対しては、ネットワークモデルの問い合わせを表す情報とともに、各伝送データの伝送レートの情報が供給される。
【０１７８】
ステップＳ１６１において、推論マネージャー１８１は、制御マネージャー１７１からの問い合わせを受信する。
【０１７９】
ステップＳ１６２において、推論マネージャー１８１は、推論データベース１８２に記憶されている情報を参照し、最適なネットワークモデルを決定する。例えば、推論マネージャー１８１は、下式（１）の条件を満たすネットワークモデルを最適なネットワークモデルとして決定する。
【数１】
2019031258.tif 000003
【０１８０】
このように、現在の伝送レートよりスループットの条件が低いネットワークモデルが最適なネットワークモデルとして決定される。
【０１８１】
ステップＳ１６３において、推論マネージャー１８１は、決定したネットワークモデルを制御マネージャー１７１に通知する。
【０１８２】
ステップＳ１５３において、制御マネージャー１７１は、ネットワークモデルの変更を通知するため、ネットワークモデル変更コマンドをクラウド端末２に送信することを伝送マネージャー１９１に要求する。伝送マネージャー１９１に対しては、ネットワークモデル変更コマンドの送信を指示する情報とともに、推論マネージャー１８１により決定された、切り替え後のネットワークモデルを表す情報が供給される。
【０１８３】
ステップＳ１７１において、伝送マネージャー１９１は、制御マネージャー１７１からの要求を受信する。
【０１８４】
ステップＳ１７２において、RTP/RTCPパケッタイザー１９３は、伝送マネージャー１９１による制御に従って、図８に示すフォーマットを有するネットワークモデル変更コマンドを格納したRTCPパケットを生成する。ネットワークモデル変更コマンドのNetwork Model IDには、切り替え後のネットワークモデルを表す識別子が含まれる。
【０１８５】
ステップＳ１７３において、伝送マネージャー１９１は、RTP/RTCPパケッタイザー１９３により生成されたRTCPパケットをクラウド端末２に送信する。
【０１８６】
ステップＳ２０１において、クラウド端末２の伝送マネージャー１５１は、推論端末３から送信されてきたRTCPパケットを受信する。
【０１８７】
ステップＳ２０２において、RTP/RTCPパケッタイザー１５３は、RTCPパケットを解析することによってネットワークモデル変更コマンドを取得し、制御マネージャー１３１に出力する。
【０１８８】
ステップＳ２２１において、制御マネージャー１３１は、RTP/RTCPパケッタイザー１５３から供給されたネットワークモデル変更コマンドを受信する。
【０１８９】
ステップＳ２２２において、制御マネージャー１３１は、ネットワークモデルの変更を機械学習マネージャー１４１に要求する。機械学習マネージャー１４１に対しては、ネットワークモデルの変更を要求することを表す情報とともに、切り替え後のネットワークモデルを表すNetwork Model IDが出力される。
【０１９０】
ステップＳ２１１において、機械学習マネージャー１４１は、制御マネージャー１３１からの要求を受信する。
【０１９１】
ステップＳ２１２において、機械学習マネージャー１４１は、機械学習データベース１４２に記憶されている、ネットワークモデルと伝送データとの関連情報を参照し、ネットワークモデルの変更に従って、推論端末３に送信する伝送データを変更する。例えば、変更後の伝送データの種類を表すData ID等の情報が機械学習データベース１４２に登録される。
【０１９２】
ステップＳ２１３において、機械学習マネージャー１４１は、伝送データの変更が終了したことを制御マネージャー１３１に通知する。
【０１９３】
ステップＳ２２３において、制御マネージャー１３１は、機械学習マネージャー１４１からの通知を受信し、処理を終了させる。推論端末３に対しては、変更後の設定に従って、伝送データの送信が継続される。
【０１９４】
一方、推論端末３においては、クラウド端末２から送信されてきた伝送データに基づいて、切り換え後のネットワークモデルの入力として用いる伝送データと、RTPパケットに格納されている伝送データが一致するか否かの確認が行われる。
【０１９５】
切り換え後のネットワークモデルの入力として用いる伝送データと、RTPパケットに格納されている伝送データが一致することが確認された場合、ステップＳ１５５において、制御マネージャー１７１は、ネットワークモデルの変更を推論マネージャー１８１に要求する。推論マネージャー１８１に対しては、ネットワークモデルの変更を要求することを表す情報とともに、変更後のネットワークモデルを表すNetwork Model ID等の情報が出力される。
【０１９６】
ステップＳ１６４において、推論マネージャー１８１は、制御マネージャー１７１からの要求を受信する。
【０１９７】
ステップＳ１６５において、推論マネージャー１８１は、変更後のネットワークモデルをネットワークモデル集合１８２Ａから選択し、推論エンジン１８３に設定されているネットワークモデルを置き換えることによって、ネットワークモデルの変更を行う。
【０１９８】
ステップＳ１６６において、推論マネージャー１８１は、ネットワークモデルの変更が終了したことを制御マネージャー１７１に通知する。その後、変更後のネットワークモデルを用いて、推論処理が継続される。
【０１９９】
このように、ダウンリンクの伝送帯域に変動が生じ、推論処理で必要とするデータが不足する状況になった場合でも、ネットワークモデル変更コマンドをRTCPパケットを用いて送信することにより、そのような変動に容易に対応することが可能になる。
【０２００】
以上においては、伝送レートが下がり、推論処理で必要とするデータが不足することになった場合の処理について説明したが、伝送帯域が回復し、伝送レートが上がった場合も同様である。
【０２０１】
例えば、パケットロス率とラウンドトリップタイムの計測がデータ伝送中に行われ、パケットロス率とラウンドトリップタイムが閾値より小さく、伝送帯域に余裕がある場合には、より多くのデータ伝送が可能であるとして判断される。
【０２０２】
伝送帯域に余裕がある場合、現在のネットワークモデルより多くのデータを必要とするネットワークモデルが推論マネージャー１８１により選択され、推論エンジン１８３に設定される。これにより、伝送帯域が回復したときには、変更後のネットワークモデルを用いることにより、推論処理の精度を向上させることが可能になる。
【０２０３】
伝送レートが下がった場合の処理と回復した場合の処理が推論処理中に行われるようにすることにより、伝送レートの変動に応じたネットワークモデルを選択し、推論処理を継続することが可能となる。
【０２０４】
＜伝送帯域の変化に応じた伝送レートの制御処理＞
次に、図２２のフローチャートを参照して、クラウド端末２と推論端末３の間で行われる伝送レートの制御処理について説明する。
【０２０５】
図２２の処理も、クラウド端末２と推論端末３の間で伝送データの送受信が行われ、推論処理が推論端末３において行われている場合に開始される。図２２の処理は、ダウンリンクの伝送帯域の変動に応じ、推論端末３がクラウド端末２に対して、伝送レートを調整することを要求する処理である。
【０２０６】
ステップＳ２５１において、推論端末３の制御マネージャー１７１は、推論マネージャー１８１と伝送マネージャー１９１から取得した情報に基づいて、伝送帯域の変化を検出する。この処理は、図２１のステップＳ１５１の処理と同様の処理である。
【０２０７】
伝送帯域に変化があったことが検出された場合、ステップＳ２５２において、制御マネージャー１７１は、特定の種類の伝送データの伝送レートを、現在の伝送レートに合わせて変更することを推論マネージャー１８１に要求する。推論マネージャー１８１に対しては、伝送レートの変更を要求することを表す情報とともに、各伝送データの伝送レートの情報が出力される。
【０２０８】
ステップＳ２６１において、推論マネージャー１８１は、制御マネージャー１７１からの要求を受信する。
【０２０９】
ステップＳ２６２において、推論マネージャー１８１は、各伝送データの伝送レートの情報に基づいて、特定の種類の伝送データの伝送レートを決定する。例えば、推論マネージャー１８１は、推論結果への影響が少ない伝送データを特定の種類の伝送レートとして選択する。また、推論マネージャー１８１は、特定の種類の伝送データの伝送レートを下げ、全ての伝送データの伝送レートの合計が上式（１）の条件を満たすように、各伝送データの伝送レートを決定する。
【０２１０】
例えば、温度、湿度、風力の３種類のデータを上述した天気予想モデルの入力として用いて推論処理を行っている場合を考える。天気の変化が温度と湿度の２つの要因に大きく影響するような場合には、影響の少ないデータとして風力が選択され、風力の伝送レートを下げるように伝送レートが決定される。これにより、推論処理の精度、すなわち、天気の予想結果が多少悪くなったとしても天気の予想を続けることが可能になる。
【０２１１】
ステップＳ２６３において、推論マネージャー１８１は、伝送レートを変更することによって推論処理に不足することが予想される特定の種類の伝送データについては、１つ前の処理（１回前の推論処理）で用いたデータなどの、過去のデータを保存するための設定を行う。
【０２１２】
ステップＳ２６４において、推論マネージャー１８１は、各伝送データの伝送レートを制御マネージャー１７１に通知する。
【０２１３】
ステップＳ２５３において、制御マネージャー１７１は、推論マネージャー１８１からの通知を受信する。
【０２１４】
ステップＳ２５４において、制御マネージャー１７１は、特定の種類の伝送データの伝送レートの変更を要求するため、伝送レート変更コマンドをクラウド端末２に送信することを伝送マネージャー１９１に要求する。伝送マネージャー１９１に対しては、伝送レート変更コマンドの送信を指示する情報とともに、推論マネージャー１８１により決定された、変更後の伝送レートを表す情報が出力される。
【０２１５】
ステップＳ２７１において、伝送マネージャー１９１は、制御マネージャー１７１からの要求を受信する。
【０２１６】
ステップＳ２７２において、RTP/RTCPパケッタイザー１９３は、伝送マネージャー１９１による制御に従って、図１０に示すフォーマットを有する伝送レート変更コマンドを格納したRTCPパケットを生成する。伝送レート変更コマンドには、伝送レートを変更する特定の種類の伝送データの識別子と伝送レートの情報が含まれる。
【０２１７】
ステップＳ２７３において、伝送マネージャー１９１は、RTP/RTCPパケッタイザー１９３により生成されたRTCPパケットをクラウド端末２に送信する。
【０２１８】
ステップＳ３０１において、クラウド端末２の伝送マネージャー１５１は、推論端末３から送信されてきたRTCPパケットを受信する。
【０２１９】
ステップＳ３０２において、RTP/RTCPパケッタイザー１５３は、RTCPパケットを解析することによって伝送レート変更コマンドを取得し、制御マネージャー１３１に出力する。
【０２２０】
ステップＳ３２１において、制御マネージャー１３１は、RTP/RTCPパケッタイザー１５３から供給された伝送レート変更コマンドを受信する。
【０２２１】
ステップＳ３２２において、制御マネージャー１３１は、特定の種類の伝送データの伝送レートを変更することを伝送マネージャー１５１に要求する。伝送マネージャー１５１に対しては、変更後の伝送レートを表す情報が出力される。
【０２２２】
ステップＳ３０３において、伝送マネージャー１５１は、制御マネージャー１３１からの要求を受信する。
【０２２３】
ステップＳ３０４において、伝送マネージャー１５１は、伝送データベース１５２に記憶されている、各伝送データの伝送レートの情報を変更する。
【０２２４】
ステップＳ３０５において、伝送マネージャー１５１は、伝送レートの変更が終了したことを制御マネージャー１３１に通知する。
【０２２５】
ステップＳ３２３において、制御マネージャー１３１は、伝送マネージャー１５１からの通知を受信し、処理を終了させる。その後の伝送データの送信は、変更後の伝送レートに従って行われる。
【０２２６】
このように、ダウンリンクの伝送帯域に変動が生じ、伝送帯域が不足する状況になった場合でも、伝送レート変更コマンドをRTCPパケットを用いて送信することにより、そのような変動に容易に対応することが可能になる。
【０２２７】
また、以上のように、推論端末３においては、伝送レートの変更に伴って推論処理に不足することが予想される特定の種類のデータについては、１つ前のデータなどの過去のデータを保存するようになされている。
【０２２８】
上述した天気予想モデルを用いた例の場合、風力のデータが保存されることになる。伝送レートの変更後のあるタイミングの推論処理においては、伝送されてきた温度、湿度のデータと、保存されていた風力のデータを天気予想モデルの入力として用いて推論処理が行われる。
【０２２９】
このように、保存していたデータを利用して推論処理が行われるようにすることにより、推論端末３は、伝送レートが変更された場合であっても推論処理を継続することが可能になる。
【０２３０】
＜データの変化量に応じた伝送制御処理＞
次に、図２３のフローチャートを参照して、クラウド端末２と推論端末３の間で行われる伝送制御処理について説明する。
【０２３１】
図２３の処理も、クラウド端末２と推論端末３の間で伝送データの送受信が行われ、推論処理が推論端末３において行われている場合に開始される。図２３の処理は、ダウンリンクの伝送帯域の変動に応じ、推論端末３がクラウド端末２に対して、変化量の大きい伝送データのみを送信するように伝送レートの調整を要求する処理である。
【０２３２】
ステップＳ３５１において、推論端末３の制御マネージャー１７１は、推論マネージャー１８１と伝送マネージャー１９１から取得した情報に基づいて、伝送帯域の変化を検出する。この処理は、図２１のステップＳ１５１等の処理と同様の処理である。
【０２３３】
伝送帯域に変化があったことが検出された場合、ステップＳ３５２において、制御マネージャー１７１は、全ての伝送データについて、１つ前のデータなどの過去のデータを保存することを推論マネージャー１８１に要求する。図２３の処理においては、どの種類の伝送データを、どの程度の伝送レートで送信するのかの調整がクラウド端末２により行われるため、ここでは、全ての種類の伝送データが保存される。伝送レートの調整後の推論処理は、クラウド端末２から伝送されてきた伝送データと、保存していた伝送データとを適宜用いて行われる。
【０２３４】
ステップＳ３６１において、推論マネージャー１８１は、制御マネージャー１７１からの要求を受信する。
【０２３５】
ステップＳ３６２において、推論マネージャー１８１は、全ての種類の伝送データについて、過去のデータを保存するための設定を行う。
【０２３６】
ステップＳ３６３において、推論マネージャー１８１は、過去のデータを保存するための設定が完了したことを制御マネージャー１７１に通知する。
【０２３７】
ステップＳ３５３において、制御マネージャー１７１は、推論マネージャー１８１からの通知を受信する。
【０２３８】
ステップＳ３５４において、制御マネージャー１７１は、データの変化量に応じたデータ伝送を要求するため、伝送レート調整要求コマンドをクラウド端末２に送信することを伝送マネージャー１９１に要求する。
【０２３９】
ステップＳ３７１において、伝送マネージャー１９１は、制御マネージャー１７１からの要求を受信する。
【０２４０】
ステップＳ３７２において、RTP/RTCPパケッタイザー１９３は、伝送マネージャー１９１による制御に従って、図８に示すフォーマットを有する伝送レート調整要求コマンドを格納したRTCPパケットを生成する。伝送レート調整要求コマンドのNetwork Model IDには、ネットワークモデルを表す識別子が含まれる。
【０２４１】
ステップＳ３７３において、伝送マネージャー１９１は、RTP/RTCPパケッタイザー１９３により生成されたRTCPパケットをクラウド端末２に送信する。
【０２４２】
ステップＳ４０１において、クラウド端末２の伝送マネージャー１５１は、推論端末３から送信されてきたRTCPパケットを受信する。
【０２４３】
ステップＳ４０２において、RTP/RTCPパケッタイザー１５３は、RTCPパケットを解析することによって伝送レート調整要求コマンドを取得し、制御マネージャー１３１に出力する。
【０２４４】
ステップＳ４２１において、制御マネージャー１３１は、RTP/RTCPパケッタイザー１５３から送信されてきた伝送レート調整要求コマンドを受信する。
【０２４５】
ステップＳ４２２において、制御マネージャー１３１は、各伝送データの伝送レートを、データの変化量に応じて調整することを機械学習マネージャー１４１に要求する。
【０２４６】
ステップＳ４１１において、機械学習マネージャー１４１は、制御マネージャー１３１からの要求を受信する。
【０２４７】
ステップＳ４１２において、機械学習マネージャー１４１は、データ（測定値）の変化量の閾値を計算し、計算により求めた閾値の情報を機械学習データベース１４２に保存する。ここで保存される閾値は、推論端末３に送信する伝送データの種類の選択の基準となる閾値である。閾値を超えた種類の伝送データだけが、推論端末３に対して送信される。
【０２４８】
すなわち、変化量の少ない種類の伝送データについては、推論端末３において保存しておいたデータを用いて推論処理を行ったとしても、推論結果への影響が少ないものと考えられる。変化量が閾値よりも大きく、推論結果に影響が大きいと考えられる種類の伝送データのみを送信するようにすることにより、限られた伝送帯域を効率的に使って、推論処理の精度を高めることができることになる。
【０２４９】
機械学習マネージャー１４１は、例えば、下式（２）の条件を満たす種類の伝送データについては、推論結果への影響が少ないデータと判断し、推論端末３に送信しない。
【数２】
2019031258.tif 000004
【０２５０】
変化量の閾値については、例えば、伝送データの種類毎に、変化の傾向に合わせて予め決められた値が用いられる。一度設定された閾値についても、伝送帯域の変動に合わせた適切な値に適宜更新されるようにしてもよい。
【０２５１】
ステップＳ４１３において、機械学習マネージャー１４１は、変化量の閾値の保存が終了したことを制御マネージャー１３１に通知する。
【０２５２】
ステップＳ４２３において、制御マネージャー１３１は、機械学習マネージャー１４１からの通知を受信し、処理を終了させる。その後の伝送データの送信は、機械学習マネージャー１４１により設定された閾値に従って、変化量が閾値を超える種類の伝送データのみを送信するようにして行われる。
【０２５３】
データの変化量の判断方法及び各種伝送データの調整については、式（２）による方式とは別に下記のような方式を用いても良い。
【０２５４】
機械学習マネージャー１４１は、各伝送データについて、１０秒間などの単位時間あたりの分散（ばらつき）を計算する。ここで、伝送データであるデータＡ乃至Ｃの分散を以下のようにＸ，Ｙ，Ｚとする。
データＡの分散：Ｘ
データＢの分散：Ｙ
データＣの分散：Ｚ
【０２５５】
機械学習マネージャー１４１は、データＡ乃至Ｃの分散を足し合わせ、合計値SUMを求める。
【数３】
2019031258.tif 000005
【０２５６】
機械学習マネージャー１４１は、データＡ乃至Ｃのそれぞれの伝送量（伝送レート）の割合を、下式（４）乃至（６）に示すように合計値SUMに基づいて決定する。分散が大きいデータに対して、より大きな伝送レートが割り当てられることになる。
【数４】
2019031258.tif 000006
【数５】
2019031258.tif 000007
【数６】
2019031258.tif 000008
【０２５７】
以上のように、データの変化量の閾値を用いて推論結果に影響が大きいと考えられる種類のデータのみを伝送する、各種データの分散に応じて各々の伝送レートを割り当てて送信する、などの対応により、限られた伝送帯域を効率的に使って、推論処理の精度を高めることが可能になる。
【０２５８】
＜伝送レートの制御処理＞
次に、図２４のフローチャートを参照して、アップロード端末１とクラウド端末２の間で行われる伝送レート制御処理について説明する。
【０２５９】
図２４の処理は、クラウド端末２が、図２１乃至図２３の処理と並行して、各アップロード端末１との間で行う処理である。クラウド端末２から各アップロード端末１に対しては、並行して行われる処理の状況に応じて、伝送レート変更コマンドが出力される。クラウド端末２からの要求を受信したアップロード端末１は、クラウド端末２に送信するデータの伝送レートを変更することになる。
【０２６０】
ステップＳ４５１において、クラウド端末２の制御マネージャー１３１は、推論端末３に送信する伝送データの伝送レートを、図２１乃至図２３の処理によって更新したことを認識する。
【０２６１】
ステップＳ４５２において、制御マネージャー１３１は、伝送レート変更コマンドをアップロード端末１に送信することを伝送マネージャー１５１に要求する。
【０２６２】
ステップＳ４６１において、伝送マネージャー１５１は、制御マネージャー１３１からの要求を受信する。
【０２６３】
ステップＳ４６２において、RTP/RTCPパケッタイザー１５３は、伝送マネージャー１５１による制御に従って、図１０に示すフォーマットを有する伝送レート変更コマンドを格納したRTCPパケットを生成する。伝送レート変更コマンドには、伝送レートを変更する伝送データの識別子と伝送レートの情報が含まれる。伝送レート変更コマンドに含まれる情報により表される各伝送データの伝送レートは、例えば図２２、図２３の処理により決定された伝送レートに合わせた伝送レートとされる。
【０２６４】
ステップＳ４６３において、伝送マネージャー１５１は、RTP/RTCPパケッタイザー１９３により生成されたRTCPパケットをアップロード端末１に送信する。
【０２６５】
ステップＳ４８１において、アップロード端末１の伝送マネージャー４１は、クラウド端末２から送信されたRTCPパケットを受信する。
【０２６６】
ステップＳ４８２において、RTP/RTCPパケッタイザー４３は、RTCPパケットを解析することによって伝送レート変更コマンドを取得し、制御マネージャー３１に送信する。
【０２６７】
ステップＳ４９１において、制御マネージャー３１は、RTP/RTCPパケッタイザー４３から供給された伝送レート変更コマンドを受信する。
【０２６８】
ステップＳ４９２において、制御マネージャー３１は、特定の種類の伝送データの伝送レートを変更することを伝送マネージャー４１に通知する。伝送帯域が不足するときには送信周期を長くするといったように、伝送レートの変更は、例えば、送信タイミングを調整するようにして行われる。伝送マネージャー４１に対しては、変更後の伝送レート（送信周期）を表す情報が出力される。
【０２６９】
ステップＳ４８３において、伝送マネージャー４１は、制御マネージャー３１からの通知を受信する。
【０２７０】
ステップＳ４８４において、伝送マネージャー４１は、伝送データベース４２に記憶されている、各伝送データの伝送レートの情報を更新する。
【０２７１】
ステップＳ４８５において、伝送マネージャー４１は、伝送レートの変更が終了したことを制御マネージャー３１に通知する。
【０２７２】
ステップＳ４９３において、制御マネージャー３１は、伝送マネージャー４１からの通知を受信し、処理を終了させる。その後のクラウド端末２に対するデータ伝送は、変更後の伝送レートに従って行われる。
【０２７３】
＜効果＞
以上のように、RTPパケットとRTCPパケットのフォーマットを定義することにより、ネットワークモデルの学習処理と推論処理をリアルタイム処理として行うことが可能になる。
【０２７４】
また、伝送システムにおいては、伝送路の帯域変動に応じて、ネットワークモデルの切り換えや伝送レートの制御が行われる。これにより、インターネットや無線ネットワークのように伝送路の状況が常に変化する環境下においても、推論端末３は、継続して推論処理を行うことができ、その精度を安定させることができる。
【０２７５】
推論端末３においては、伝送路の帯域が逼迫してきた時点で、過去のデータを保存し、伝送レートを制御したり、データの変化量に応じた制御をクラウド端末２に要求したりする処理が行われる。これにより、推論端末３は、受け取ることができないデータについては過去のデータを用いて推論処理を行うことができ、推論処理が停止してしまうことを回避することができる。
【０２７６】
また、推論処理で実際に利用されているデータの伝送レートに従って、各アップロード端末１のデータ伝送のレートを制御する処理がクラウド端末２により行われる。これにより、アップロード端末１の無駄なデータ伝送に伴う輻輳を削減することが可能となる。通信頻度を抑えることで、アップロード端末１の省電力化にも繋がることになる。
【０２７７】
＜＜５．その他の例＞＞
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、汎用のパーソナルコンピュータなどにインストールされる。
【０２７８】
インストールされるプログラムは、光ディスク（CD-ROM(Compact Disc-Read Only Memory)，DVD(Digital Versatile Disc)等）や半導体メモリなどよりなる図１４に示されるリムーバブルメディア１１１に記録して提供される。また、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供されるようにしてもよい。プログラムは、ROM１０２や記憶部１０８に、あらかじめインストールしておくことができる。
【０２７９】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２８０】
なお、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。従って、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０２８１】
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
【０２８２】
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０２８３】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０２８４】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２８５】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２８６】
＜構成の組み合わせ例＞
本技術は、以下のような構成をとることもできる。
【０２８７】
（１）
ネットワークモデルの識別情報とともに、機械学習による前記ネットワークモデルの学習処理と前記ネットワークモデルに基づく推論処理とのうちの少なくともいずれかの処理に用いられる複数の伝送データをペイロードに格納可能なフォーマットを有するパケットを生成する生成部と、
前記パケットを送信する送信部と
を備える送信端末。
（２）
前記生成部は、前記伝送データの種類毎に、前記伝送データの識別情報とデータ長を表す情報を前記ペイロードに格納する
前記（１）に記載の送信端末。
（３）
前記パケットは、RTPパケットである
前記（１）または（２）に記載の送信端末。
（４）
前記伝送データの受信側の端末から送信された、前記伝送データの種類毎の伝送レートを指示する制御コマンドをペイロードに含む制御パケットを受信する受信部をさらに備え、
前記送信部は、それぞれの前記伝送データを、前記制御コマンドにより指示された伝送レートに従って伝送する
前記（１）乃至（３）のいずれかに記載の送信端末。
（５）
送信端末が、
ネットワークモデルの識別情報とともに、機械学習による前記ネットワークモデルの学習処理と前記ネットワークモデルに基づく推論処理とのうちの少なくともいずれかの処理に用いられる複数の伝送データをペイロードに格納可能なフォーマットを有するパケットを生成し、
前記パケットを送信する
送信方法。
（６）
ネットワークモデルに基づく推論処理に用いられる伝送データの伝送に関する、前記ネットワークモデルの識別情報と制御コマンドの識別情報を含む前記制御コマンドをペイロードに格納した制御パケットを生成する生成部と、
前記制御パケットを送信する送信部と
を備える情報処理端末。
（７）
前記制御パケットは、RTCPパケットである
前記（６）に記載の情報処理端末。
（８）
前記伝送データの送信側の端末から送信された、前記伝送データをペイロードに格納したパケットを受信する受信部と、
前記伝送データを入力として用いて前記推論処理を行う推論処理部と
をさらに備える前記（６）または（７）に記載の情報処理端末。
（９）
前記生成部は、前記推論処理に用いる前記ネットワークモデルの切り替えを表す前記制御コマンドを格納した前記制御パケットを生成する
前記（６）乃至（８）のいずれかに記載の情報処理端末。
（１０）
前記生成部は、前記伝送データの種類毎の伝送レートを指示する前記制御コマンドを格納した前記制御パケットを生成する
前記（６）乃至（８）のいずれかに記載の情報処理端末。
（１１）
前記生成部は、前記伝送データの種類毎に、前記伝送データの識別情報、伝送レートの単位を表す情報、および、伝送レートの値を含む前記制御コマンドを生成する
前記（１０）に記載の情報処理端末。
（１２）
伝送レートの調整が前記送信側の端末において行われることによって、前記推論処理に用いることができなくなる特定の前記伝送データを保存する制御部をさらに備え、
前記推論処理部は、伝送レートの調整が行われた後に送信されてきた前記伝送データと、保存されていた特定の前記伝送データとを入力として用いて前記推論処理を行う
前記（１０）または（１１）に記載の情報処理端末。
（１３）
前記生成部は、前記伝送データの変化量に応じた伝送レートの調整を要求する前記制御コマンドを格納した前記パケットを生成する
前記（６）乃至（８）のいずれかに記載の情報処理端末。
（１４）
前記推論処理の入力となる前記伝送データを保存する制御部をさらに備え、
前記推論処理部は、前記伝送レートの調整が前記送信側の端末において行われた後に送信されてきた前記伝送データと、保存されていた前記伝送データとを入力として用いて前記推論処理を行う
前記（１３）に記載の情報処理端末。
（１５）
情報処理端末が、
ネットワークモデルに基づく推論処理に用いられる伝送データの伝送に関する、前記ネットワークモデルの識別情報と制御コマンドの識別情報を含む前記制御コマンドをペイロードに格納した制御パケットを生成し、
前記制御パケットを送信する
情報処理方法。
（１６）
ネットワークモデルに基づく推論処理に用いられる伝送データの伝送に関する、前記ネットワークモデルの識別情報と制御コマンドの識別情報を含む前記制御コマンドをペイロードに格納した制御パケットを受信する受信部と、
前記伝送データを前記制御コマンドに従って送信する送信部と
を備える情報処理端末。
（１７）
前記制御コマンドが、前記推論処理に用いる前記ネットワークモデルの切り替えを表すコマンドである場合、
前記送信部は、前記制御コマンドに含まれる前記ネットワークモデルの識別情報により表される、切り替え後の前記ネットワークモデルの入力として用いられる種類の前記伝送データを送信する
前記（１６）に記載の情報処理端末。
（１８）
前記制御コマンドが、前記伝送データの種類毎の伝送レートを指示するコマンドである場合、
前記送信部は、それぞれの種類の前記伝送データを、前記制御コマンドに含まれる情報により指示された伝送レートに従って送信する
前記（１６）に記載の情報処理端末。
（１９）
前記制御コマンドが、前記伝送データの変化量に応じた伝送レートの調整を要求するコマンドである場合、
前記送信部は、変化量が閾値を超える種類の前記伝送データを送信する
前記（１６）に記載の情報処理端末。
（２０）
情報処理端末が、
ネットワークモデルに基づく推論処理に用いられる伝送データの伝送に関する、前記ネットワークモデルの識別情報と制御コマンドの識別情報を含む前記制御コマンドをペイロードに格納した制御パケットを受信し、
前記伝送データを前記制御コマンドに従って送信する
情報処理方法。
【符号の説明】
【０２８８】
１−１乃至１−Ｎ  アップロード端末，  ２  クラウド端末，  ３  推論端末，  ４  ネットワーク，  ３１  制御マネージャー，  ３２  伝送処理部，  ４１  伝送マネージャー，  ４２  伝送データベース，  ４３  RTP/RTCPパケッタイザー，  １３１  制御マネージャー，  １３２  機械学習処理部，  １３３  伝送処理部，  １４１  機械学習マネージャー，  １４２  機械学習データベース，  １４３  機械学習エンジン，  １５１  伝送マネージャー，  １５２  伝送データベース，  １５３  RTP/RTCPパケッタイザー，  １７１  制御マネージャー，  １７２  推論処理部，  １７３  伝送処理部，  １８１  推論マネージャー，  １８２  推論データベース，  １８２Ａ  ネットワークモデル集合，  １８３  推論エンジン，  １９１  伝送マネージャー，  １９２  伝送データベース，  １９３  RTP/RTCPパケッタイザー
【図１】
2019031258.tif 000009
【図２】
2019031258.tif 000010
【図３】
2019031258.tif 000011
【図４】
2019031258.tif 000012
【図５】
2019031258.tif 000013
【図６】
2019031258.tif 000014
【図７】
2019031258.tif 000015
【図８】
2019031258.tif 000016
【図９】
2019031258.tif 000017
【図１０】
2019031258.tif 000018
【図１１】
2019031258.tif 000019
【図１２】
2019031258.tif 000020
【図１３】
2019031258.tif 000021
【図１４】
2019031258.tif 000022
【図１５】
2019031258.tif 000023
【図１６】
2019031258.tif 000024
【図１７】
2019031258.tif 000025
【図１８】
2019031258.tif 000026
【図１９】
2019031258.tif 000027
【図２０】
2019031258.tif 000028
【図２１】
2019031258.tif 000029
【図２２】
2019031258.tif 000030
【図２３】
2019031258.tif 000031
【図２４】
2019031258.tif 000032
【国際調査報告】
2019031258.tif 000033
2019031258.tif 000034