JP6019586B2 - ネットワーク通信装置 - Google Patents

ネットワーク通信装置 Download PDF

Info

Publication number
JP6019586B2
JP6019586B2 JP2012002385A JP2012002385A JP6019586B2 JP 6019586 B2 JP6019586 B2 JP 6019586B2 JP 2012002385 A JP2012002385 A JP 2012002385A JP 2012002385 A JP2012002385 A JP 2012002385A JP 6019586 B2 JP6019586 B2 JP 6019586B2
Authority
JP
Japan
Prior art keywords
data
network system
network
application
network 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
JP2012002385A
Other languages
English (en)
Other versions
JP2013143641A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2012002385A priority Critical patent/JP6019586B2/ja
Priority to US13/724,514 priority patent/US20130179531A1/en
Priority to CN201310008268.5A priority patent/CN103200054B/zh
Publication of JP2013143641A publication Critical patent/JP2013143641A/ja
Application granted granted Critical
Publication of JP6019586B2 publication Critical patent/JP6019586B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/1735Network adapters, e.g. SCI, Myrinet
    • 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/12Protocol engines
    • 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/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、ネットワーク通信装置に関する。
特定の機能を実現するために家電製品や機械等に組み込まれるコンピュータシステム(以下、組み込みシステムと表記)では、省エネ要件を達成するために限定されたリソースしか使用できない。
ここで、リソースとは、何らかのソフトウェアやハードウェアを動作させるのに必要なメモリ容量やCPU(Central Processing Unit)などの処理速度、ハードディスクの容量を意味する。
ところで、組み込みシステムも多機能化してきており、ネットワークで複数の種類のデータを扱い、かつ、性能とリアルタイム性とが同時に求められるようになってきている。ネットワーク通信部とアプリケーション部とを構成上分離し、ネットワーク通信部を共通化することでリソース削減する技術は既に知られている(例えば、特許文献1参照。)。
特許文献1に記載の発明は、Webサービスを提供するアプリケーションの開発及び追加を容易とする画像形成処理装置を提供することを目的とするものである。具体的には、メソッドに従った所定の処理を行う複数のメソッド処理手段と、処理要求に応じて、処理要求で指定されるメソッドに対応するメソッド処理手段に該処理要求を振り分けることによってWebサービスを実行するWebサービス実行手段を有するように構成される。
しかし、通信部を共通化するだけでは、ネットワークを使い送受信する異なった種類のデータ毎に最適なリソースを割り当てて転送制御することができない。そのため、複数の種類のデータを同様に扱うと限定されたリソースを無駄に使用することになり、転送速度やリアルタイム性が必要なデータに対して十分な性能が出せないという問題があった。
そこで、本発明の目的は、組み込みシステムにおけるネットワーク通信性能とリアルタイム性を向上させたネットワーク通信装置を提供することにある。
本発明に係るネットワーク通信装置は、ネットワークでデータを送受信するための通信部と、前記通信部で受信したデータをアプリケーションへ転送するためのバッファと、送受信するデータを制御部分とコンテンツ部分とに分けて前記制御部分を解析する解析手段と、前記送受信するデータに基づいて使用リソースと転送制御方式とを決めるためのルールを記憶した記憶手段と、前記送受信するデータの制御部分を解析し、前記ルールを適用した結果から、前記アプリケーションへコンテンツデータを転送する制御手段とを備え、前記制御手段は、前記アプリケーションへ前記コンテンツデータを転送する前に、制御部分を転送することを特徴とする
本発明によれば、組み込みシステムにおけるネットワーク通信性能とリアルタイム性を向上させたネットワーク通信装置の提供を実現することができる。
本発明に係るネットワーク通信装置の一実施の形態を示す概念図である。 図1に示したネットワーク通信装置の説明図である。 図2に示した画像処理装置の動作を説明するためのシーケンス図である。 本発明に係るネットワーク通信装置のモジュール、タスク構成図の一例である。 TRANSモジュール203の内部構造を示す図である。 ネットワーク通信装置の動作を説明するためのフローチャートの一例である。 図1に示したネットワーク通信装置の動作を説明するためのフローチャートの一例の一部である。 図7に示したフローチャートの続きである (a)は、平文通信における、ペイロード部分のメモリコピーの送信時の説明図であり、(b)は、ペイロード部分のメモリコピーの受信時の説明図である。 (a)は、暗号通信における送信時の説明図であり、(b)は、暗号通信の受信時の説明図である。 (a)は、平文通信における送信時の説明図であり、(b)は、受信時の説明図である。 (a)は、暗号通信における送信時の説明図であり、(b)は受信時の説明図である。
本発明の実施の形態について図面を参照して説明する。
図1は、本発明に係るネットワーク通信装置の一実施の形態を示す概念図である。
ネットワーク通信装置としてのプロジェクタ装置1は、ネットワークにLAN(Local Area Network)で接続された通信部2と、通信部2にUSB(Universal Serial Bus)で接続されたアプリケーション部3と、を有する。
プロジェクタ装置1は、通信部2で受信したデータの一部である制御部だけを解析し「コンテンツデータの特徴」を認識することで、表1に基づき「使用リソースと転送制御方式」を決定する。
本発明に係るネットワーク通信装置のポイントとなる使用リソースは以下のとおりである。
SRAM DATAは通信部の汎用処理で使うメモリである。
SRAM TOE、SRAM LANは、LANインターフェースでデータを送受信するために使うメモリである。
SRAM WHIOはアプリケーション部へデータ転送するときに使うメモリである。ここではこのメモリを論理的に分割し、サイズ小(2KB)とサイズ大(16KB)としている。
Figure 0006019586
表1は、コンテンツデータの特徴、使用リソースと転送制御方式とが記載されている。
コンテンツデータの特徴としては、操作対象、操作方法、MIMEタイプ、及び操作対象が存在するサブシステム名が挙げられる。使用リソースと転送制御方式としては、データ転送時に制御情報を含めるか否か、使用するバッファ、転送単位、及びデータフローのパターンが挙げられる。
表1の「操作対象」の「/service/projection」、「/state」、「property」はURL(Uniform Resource Locator)を示す。
また、表1の静止画はJPEG画像を意味し、PC画面は動画を意味する。
表1のデータの内容の「投影ジョブ状態取得」とは、プロジェクタの投影ジョブの状態を取得するためのコマンドである。プロジェクタの管理機能にリモートから投影ジョブの状態を取得する機能がある。具体的には、投影ジョブが開始しているか、割り込み可能かという情報が取得できる。
表1のデータの内容の「機器状態取得」とは、プロジェクタの機器状態を取得するためのコマンドである。プロジェクタの管理機能にリモートから機器状態を取得する機能がある。具体的には、電源の状態、入力信号の状態、AV(Audio Visual)ミュートの状態が取得できる。
表1のデータの内容の「機器情報取得」とは、プロジェクタの機器情報を取得するためのコマンドである。プロジェクタの管理機能にリモートから機器情報を取得する機能がある。具体的には、機器のスペックや設定値が取得できる。
表1の操作方法における「POST」、「PUT」、「GET」とは、データの操作方法の一例である。本実施形態では、HTTPのメソッドを対応づけている。
表1のMIMEタイプとは、データの中身を示す情報である。本実施形態では、データの中身を示す情報とMIMEタイプとを対応づけている。
表1の「使用するバッファのサイズ」の大小は、あくまで一例であり、もっと細かく分けても良い。ポイントは、データの内容によって適切なバッファを使用するという点である。たとえば、2,3など投影データを扱う場合は16KB、1,4,5,6などコマンドは2KBのバッファを使用することで並行に行える処理を多くする。全部16KBのバッファを使用すると、メモリの制約で並行に行える処理が少なくなる。
データの内容としては、投影ジョブ生成、投影データ(静止画、PC画面)、投影ジョブ更新、投影ジョブ状態取得、投影ジョブ削除、機器状態取得、機器状態変更、機器情報取得、機器情報変更が挙げられる。尚、データフローのパターンについては後述する。
通信部及びネットワークシステム>
図2は、図1に示したネットワーク通信装置の説明図である。
図2に示したネットワーク通信装置は、ネットワークボード100と、メイン投影部109と、を備えた装置である。
図2に示す画像処理装置は、ネットワークボード100と、メイン投影部109とを有する。
ネットワークボード100は、通信部2と、ネットワークシステム3とを有する。
通信部2は、プロトコル制御やパケット制御を行うハードウェアであり、一部、受信したデータの解析を行う。USBデバイスとして動作し、ネットワークシステム3にデータを転送する。
ネットワークシステム3は、通信モジュール104、コンテンツモジュール106、USBホスト103、グラフィックドライバ108を動作させるハードウェアである。
通信モジュール104は、受信したデータの詳細を解析し、データの内容に応じたアプリケーションソフトウェア(以下、アプリと表記)を動作させるソフトウェアである。通信モジュール104は、アプリの動作の際、必要に応じて他のモジュールを利用する。
コンテンツモジュール106は、投影用バッファ107に書き込まれた画像データ(コンテンツのデータ)を、グラフィックドライバ108を利用して出力するソフトウェアである。
USB(Universal Serial Bus)ホスト(図ではUSB Hostと表記)103は、USBデバイスを制御するソフトウェアである。
グラフィックドライバ108は、グラフィックデバイスを制御するソフトウェアである。
メイン投影部109は、グラフィックデバイスであり、画像データを光の可視画像として映し出すデバイスである。
通信部2には、図には示されないパーソナルコンピュータ(Personal Computer:以下PCと表記)200が接続されている。
図3は、図2に示した画像処理装置の動作を説明するためのシーケンス図である。
PC200から通信部2にHTTP(Hyper Text Transfer Protocol)ヘッダとHTTPボディ(静止画、動画)とを含むデータ(受信データ)が送られると(S201)、通信部2は、ネットワークシステム3のUSBホスト103に受信データ、ペイロード(デバイスデータ)、及びNULLを送る(S202、S203、S204)。
USBホスト103は、ネットワークシステム3の通信モジュール104に着信通知を行う(S205)。ネットワークシステム3の通信モジュール104は通信領域でバッファを用意し、その旨をUSBホスト103に通知する(S206)。USBホスト103は、用意されたバッファ105、107にデバイスデータのヘッダやボディ等を書き込み、通信モジュール104に書き込み通知を行う(S207)。
<モジュール及びタスク構成>
図4は、本発明に係るネットワーク通信装置のモジュール、タスク構成図の一例である。
ネットワーク通信装置は、機器モジュール202、通信モジュール104、USER通信モジュール204、SocketI/Fモジュール205、暗号・証明書モジュール206、通信ドライバ207、及び暗号エンジン208、を備える。
ここで、タスクとは、OSから見た処理の実行単位であり、通常はスレッドが実行単位となるが、OSによってはプロセス(複数のスレッドを含むプログラム全体)を一つの実行単位として見る場合もある。
<モジュール間の依存関係>
これらのモジュールのうち、機器モジュール202はUSER通信モジュール204に依存され、暗号・証明書モジュール206とは互いに依存しあっている。
通信モジュール104は、機器モジュール202と互いに依存しあい、SocketI/Fモジュール205、USER通信モジュール204、暗号・証明書モジュール206に依存されている。
SocketI/F205は、通信ドライバ207に依存されている。
暗号・証明書モジュール206は、暗号エンジン208に依存されている。
次に各モジュールの責務について表2及び表3を参照して述べる。
Figure 0006019586
Figure 0006019586
Figure 0006019586
Figure 0006019586
表4は通信部とアプリケーション部のデータ転送における「使用リソースと転送制御方式」を決めるためにルール表である。表4中のコンテンツデータの特徴は、HTPPなどのアプリケーションプロトコルのヘッダ情報(制御情報)から得ることができる。たとえば、操作対象はHTTPヘッダのURLに含まれる。操作方法はHTTPヘッダのリクエストラインに含まれる。MIMEタイプはHTTPヘッダの属性に含まれる。操作対象が存在するサブシステム名に登録する情報はシステム構成によって決め、データ転送するときに使うメモリを転送先の場所毎に決めるための情報として用いる。
起動モジュール210は、起動時にハードウェア及びソフトウェアを初期化し、各タスクを起動する機能を有する。
通信領域モジュール203は、ネットワークシステムに対してネットワーク通信機能を提供するため、表2に示した機能(1)〜(3)を有し、ネットワークシステムの通常動作時及び省エネ状態時に、ネットワークシステムの代わりにネットワークサブシステムが自律的に実行するネットワーク通信機能を有する。また、通信領域モジュール203は、SSLプロトコル/IEEE802.1xプロトコル機能を有し、SRAM DATA、SRAM SEC上のバッファを管理する機能を有し、プロトコルで行うユーザー認証機能を有する。
サプリカントモジュールは、レイヤー2レベルの接続(セキュリティを含む)を行う機能を有する。
機器モジュール202は、ネットワークシステムから[USER]経由で受け取った機器固有情報をFLASHメモリに保存し、ネットワークシステムまたは[TRANS]の要求により機器固有情報を提供する機能を有する。機器モジュール202は、ネットワークシステムから[USER]経由で受け取ったファームウェア更新データをFLASHメモリへ書き込む機能を有する。機器モジュール202は、通信部の状態制御を行う機能を有する。
USER通信モジュール204は、USB経由での[ネットワークシステム]との通信制御のため、(1)、(2)の機能を有し、SRAM WHIO上のバッファを管理する機能を有する。
SocketI/Fモジュール205は、[TRANS]に対してネットワーク機能を提供するため、(1)、(2)の機能を有し、ネットワーク通信のためToEを制御する機能を有し、MACを制御する機能を有する。
図5は、TRANSモジュール203の内部構造を示す図である。
同図はデータ転送のみを示す。
同図に示すTRANSモジュール203は、アプリケーション層の手順301、リソース情報一覧302、アプリケーソン層のパケット303、アプリケーション層のペイロード304、及びアプリケーション層のヘッダ305を有する。
アプリケーション層の手順301としては、アプリケーション層のパケット送受信の全体の進捗を管理し、接続、切断を行う。
アプリケーション層のパケット303としては、アプリケーション層のパケットがヘッダとペイロードから構成されることを知っている。上位層から受け取ったデータからアプリケーション層のパケットを作成し、次の処理を行う下位層に渡す。下位層から受け取ったデータからアプリケーション層のパケットを解析し、次の処理を行う上位層に渡す。チャンクのエンコード/デコードを行う。
アプリケーション層のパケット303が利用するリソース情報一覧302は、使用リソースとデータ転送方式の決定ルール表である。
アプリケーション層のペイロードは、アプリケーション層のペイロードの構造を知っている。
アプリケーション層のヘッダは、アプリケーション層のヘッダの構造を知っている。
図6は、ネットワーク通信装置の動作を説明するためのフローチャートの一例である。
転送プロトコルがTCPかUDかを判断する。(本実施形態ではアプリケーション部でUDPプロトコルを使う機能がないため別フローとしたが、TCPプロトコルと同じフローとすることもできる)。
プロトコルのヘッダだけ先にSRAM DATAへコピーし解析する。ヘッダを解析した結果からルール表(表1〜表3)に基づいて使用するリソースと転送制御方式とを決める。
次にデータを処理すべき転送先が別サブシステム(アプリケーション部)か否かを判断する。転送先がアプリケーション部である場合は、コンテンツデータの特徴に応じて使用するバッファサイズを決めてデータ転送を行う。たとえば、データの中身がジョブ生成コマンドなどのときはサイズ小、投影する画像データのときはサイズ大などとする。一回のデータ転送で処理しきれないサイズの場合は、同じ種類のバッファを使いアプリケーションへのデータ転送を繰り返すことですべてのデータを処理する。
以下、図6に示したフローチャートについて詳述する。
動作の主体は、ネットワークシステム3である。
ネットワークシステム3は、プロトコルがTCPか否かを判断し(S301)、プロトコルがTCPであると判断した場合(S301/Yes)、SRAM DATAにヘッダデータを受信してステップS303へ進む。OMP3は、プロトコルがTCPではないと判断した場合(S301/No)、SRAM ToEバッファポインタをアプリケーションへ渡して処理した後終了する(S310)。
ネットワークシステム3は、ステップS303で、ヘッダを継続し、「コンテンツデータの特徴」を取り出し、「使用リソースと転送制御装置」を決定する(S304)。
ネットワークシステム3は、転送先がネットワークシステム3か否かを判断し(S305)、転送先がネットワークシステム3であると判断した場合(S305/Yes)、データサイズが所定値より大きいか否かを判断する(S306)。
ネットワークシステム3は、転送先がネットワークシステム3ではないと判断した場合(S305/No)、SRAM DATAを使いアプリケーションへデータ転送して終了する(S308)。
ネットワークシステム3は、データサイズが所定値より大きいと判断した場合(S306/Yes)、SRAM WHIO(サイズ大)を使いアプリケーションへデータを転送して終了する(S307)。
ネットワークシステム3は、データサイズが所定値より大きくないと判断した場合(S306/No)、SRAM WHIO(サイズ小)を使いアプリケーションへデータ転送して終了する(S309)。
図7は、図1に示したネットワーク通信装置の動作を説明するためのフローチャートの一例の一部であり、図8は、図7に示したフローチャートの残りである。
動作の主体は、ネットワークシステム3である。
図7において、ネットワークシステム3がエントリー(図ではentry)アクションを開始すると(S101)、ヘッダが有るか否かを判断し(S102)、ヘッダが有ると判断した場合、ソケットからデータを読み込みステップS104へ進む(図ではIsocketInterface:reaySocket:S108)。
ネットワークシステム3がヘッダが無いと判断した場合、状態/DECONPOSING HEADERパケット作成結果/E PACKET RESULT COMPLETE エラー理由/E PACKET ERROR REASON NO ERRORし、丸2へ進む(S115)。
ネットワークシステム3は、エラーが有ると判断した場合(S104)、状態/END パケット解析結果/E PACKET RELULT COMPLETE エラー理由/E PACKET ERROR REASON SOCKET E PACKET ERROR REASON TIMEOUTとなる(S114)。
ネットワークシステム3は、エラーが無いと判断した場合(S104)、ヘッダを解析し(図ではAAppLayerHeadcredecompos:S105)、ヘッダ解析が完了したか否か判断し(S106)、解析完了(失敗)した場合(S106)にはステップS114に進み、解析未完了の場合にはステップS108に戻る。
ネットワークシステム3は、ヘッダ解析が完了(成功)した場合(S106)には、サーバかクライアントかを判断し(S107)、クライアントの場合にはステップS115に進み、サーバの場合には、リソース情報を検索する(Resource Info Table:get Resource Info :S108)。
ネットワークシステム3は、リソース情報が有るか否かを判断し(S109)、リソース情報が無いと判断した場合(S109)、ステップS114に進み、リソース情報が有ると判断した場合(S109)、転送先がネットワークシステム3か否か判断する(S110)。
ネットワークシステム3は、転送先が通信部であると判断した場合はステップS115に進み、転送先がネットワークシステムであると判断した場合(S110)、ネットワークシステムへの転送可否をチェックし(INFO CanExecute:S111)、転送可能か否か判断する(S112)。
ネットワークシステム3は、転送不可であると判断した場合(S112)、状態/END パケット解析結果/END パケット解析結果/E PACKET ERROR REASON NO ERROR(S113)となり、転送可能であると判断すると転送する。
図8において、ステップS201〜S208、S210〜S214、S216〜S220、S223は、コンテンツバッファを使用する場合のみ実行する。

図8において、エントリアクション(図ではentryアクション)が開始すると(S201)、ネットワークシステム3は、ペイロードが有るか否かを判断し、ペイロードが無いと判断した場合(S202)、ステップS214にて、状態/END パケット解析結果/E PACKETE RESULT COMPLETE エラー理由 /E PACETE ERROR REASON NO ERROR となる。
ネットワークシステム3は、ペイロードが有ると判断した場合(S202)、転送先がネットワークシステム3か否か判断し(S204)、転送先がネットワークシステムであると判断した場合(S204)、コンテンツバッファの排他を行う(twai sxm(SEM TRANS CNTLT EX):S205)。
このとき、
1.サーバの場合
排他が獲得できるまで、例えば1秒待つ。1秒以内に排他が獲得できなかった場合、パケット内部にエラー(404)として、ペイロード完了とする。
2.クライアントの場合
<ロケーションフリー(ロケフリとも言う)の場合>
排他が獲得できるまで、無制限に待つ。
<@Remoteの場合>
排他が獲得できるまで、例えば1秒待つ。1秒以内に排他が獲得できなかった場合、受信データを読み捨てる。その後、排他が獲得できるまで、無制限に待ち、排他できた段階でEOL=1,データサイズ=0の応答を返す。
ネットワークシステム3は、ペイロードの転送先が通信部であると判断した場合(S204)、SAM DATAを読み出し(S215)、ソケットからデータを読み込む(S207)。
ネットワークシステム3は、SRAM WHIOのバッファを取得し(S206)、ステップS07に進んで前述したソケットからデータを読み込み、エラーが有るか否かを判断する(S208)。
このとき、
<コンテンツバッファを使用する場合>
ソケットからデータを読み込む前にヘッダのみを先にネットワークシステム3に送信する。
<ペイロードサイズが0の場合>
ソケットからデータを読み込まずにヘッダのみをネットワークシステム3に送信してペイロード解析が完了する。
ネットワークシステム3は、エラーが有ると判断した場合には(S208)、ネットワークシステム3へネットワーク受信データ共有の要求送信を行い(S216)、ステップS217へ進む。
こんとき、一度もUSER DhBulStar DhcomBulStart dhComBulStartを行っていなくても、USER GelDhBul/USER GetComDhBufで確保したバッファを開放するため、必ずEOF/Iのネットワーク受信データ共有の要求を送信する。
ネットワークシステム3は、ステップS217において、コンテンツバッファの排他解除を行い(SIG SEM(SEM TRANS CNTNT EX))、状態/ENDとなる(パケット解析結果/E PACKET RESULT COMPLETE エラー理由/E PACKET ERROR RESSON SOCKET E PACKET ERROR REASON TIMEOUT:S218)。
ネットワークシステム3は、エラーが無いと判断した場合には(S208)、ペイロードを解放し(AppLayerPeyload::deconpose:S209)、ペイロード解析が完了したか否かを判断し(S210)、解析未完了であると判断した場合(S210)、転送先がネットワークシステム3か否かを判断する(S223)。
ネットワークシステム3は、転送先がネットワークシステム3ではなく通信部であると判断した場合(S223)にはステップS207に戻り、転送先がネットワークシステム3であると判断した場合(S223)、SRAM WHIOのバッファフルか否かを判断する(S220)。
ネットワークシステム3は、SRAM WHIOのバッファフルではないと判断した場合はステップS207に戻り、SRAM WHIOのバッファフルであると判断した場合はネットワークシステム3へネットワーク受信データ共有の要求送信を行い(USER DhBusStart/USER DhComBufStrat:S219)、ステップS206に戻る。
ネットワークシステム3は、ステップS210にてペイロード解析が完了したと判断した場合、転送先がネットワークシステム3であるか否かを判断し(S211)、転送先がネットワークシステム3であると判断した場合(S211)、ネットワークシステム3へネットワーク受信データ共有の要求送信を行う(USER DhBufStart/USER DhComBufstart:S212)。
ネットワークシステム3は、コンテンツバッファの排他解除を行う(sig sem(SEM TRANS CNTNT EX):S213)、状態/ENDとなり、パケット解析結果/E PACET RESULT COMPLETE エラー理由/E PACKET ERROR REASON NO ERROR:S214)。
ネットワークシステム3は、ステップS211にて転送先が通信部の場合にはステップS214に進む。
ネットワークシステム3は、ステップS202にてペイロードが無いと判断した場合、ステップS214に進む。
<データフローパターン>
データ転送には、以下の3つのメモリコピーのパターンがある。以下、それぞれのパターンについて、メモリコピーの設計を示す。
(PA)ネットワークシステムへの転送が必要なTCPのデータ転送
例)HTTP(S)サーバ、HTTP(S)クライアント
〔平文通信の場合〕
図9(a)は、平文通信における、ペイロード部分のメモリコピーの送信時の説明図であり、図9(b)は、ペイロード部分のメモリコピーの受信時の説明図である。
TRANSモジュールは、図4(a)、(b)に示すようにヘッダ部分のみSRAM WHIOからSRAM DATAにコピーし、SOCKモジュールを使用して、SRAM DATAにコピーしたヘッダ部分と、SRAM WHIOに残っているペイロード部分をLRAM LANにコピーする。ヘッダ部分をSRAM DATAにコピーするのは、通信部側でヘッダを追加する処理が必要なためである。ヘッダ部分のメモリコピーは2回、ペイロード部分のメモリコピーは1回となる。
〔暗号通信の場合〕
図10(a)は、暗号通信における送信時の説明図であり、図10(b)は、暗号通信の受信時の説明図である。
TRANSモジュールは、図10(a)、(b)に示すように、ヘッダ部分とペイロード部分との両方を、暗号変換の入力データとしてSRAM SEC(IN DATA)にコピーする。暗号変換後、SOCKモジュールを使用して、暗号変換の出力データとなるSRAM SEC(OUT DATA)をSRAM LANにコピーする。メモリコピーの回数は3回となる。
(PB) 通信部内で閉じるTCPのデータ転送
図11(a)は、平文通信における送信時の説明図であり、図11(b)は、受信時の説明図である。
〔平文通信の場合〕
TRANSモジュールは、図11(a)、(b)に示すように、送信するデータおよび受信するデータをSRAM DATAに読み書きし、SOCKモジュールを使用してSRAM DATAからSRAM LANに1回コピーする。SOCKモジュールでTCPのリングバッファの操作を隠ぺいするため、メモリコピーが1回必要になる。
〔暗号通信の場合〕
図12(a)は、暗号通信における送信時の説明図であり、図12(b)は受信時の説明図である。
TRANSモジュールは、図12(a)、(b)に示すように、送信するデータおよび受信するデータを暗号変換の入力データとしてSRAM SEC(IN DATA)に読み書きし、SOCKモジュールを使用して、暗号変換の出力データとなるSRAM SEC(OUT DATA)をSRAM LANにコピーする。メモリコピーの回数は2回となる。
(PC) 通信部内で閉じるUDPのデータ転送
TRANSモジュールは、送信するデータおよび受信するデータをSRAM ToEに直接読み書きし、メモリコピーを発生させない。
<作用効果>
以上において、本実施形態によれば、装置内で扱う転送データの「制御部分」を解析することで,データの「コンテンツ部分」の特徴を認識する。その特徴に最も適したリソースの割り当てと転送制御をルールに基づいて決定する制御を行うため、ネットワーク機能を搭載した省エネ組み込みシステムで、ネットワーク通信性能とリアルタイム性を高めることができる。
同じ特徴を持つデータを複数同時に処理できる。
最も性能を出したい機能に関するデータ転送に優先的にバッファを割り当てられる。 リアルタイム性を要求するデータ転送で、バッファサイズがフルになる前にアプリケーションへデータを渡すことができる。
プロトコルによって決められた最大データサイズに合わせてバッファサイズを確保できるため、リソースの使用効率を上げられる⇒無駄なデータ転送を排除でき、リソース使用効率を上げられる⇒アプリケーションの変更に柔軟に対応できる。
すなわち、本実施形態によれば、装置内で扱う転送データの内容によって、使用するリソースとデータ転送制御方法をルールに基づいて決定することで、組み込みシステムにおけるネットワーク通信性能とリアルタイム性を向上させたネットワーク通信装置の提供を実現することができる。
なお、上述した実施の形態は、本発明の好適な実施の形態の一例を示すものであり、本発明はそれに限定されることなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。
1 プロジェクタ装置
2 通信
ットワークシステ
100 ネットワークオード
103 USBHost
104 通信モジュール
105 通信用バッファ
106 コンテンツモジュール
107 投影用バッファ
108 グラフィックドライバ
109 メイン投影部
200 PC
特開2004−5503号公報

Claims (6)

  1. ネットワークでデータを送受信するための通信部と、
    前記通信部で受信したデータをアプリケーションへ転送するためのバッファと、
    送受信するデータを制御部分とコンテンツ部分とに分けて前記制御部分を解析する解析手段と、
    前記送受信するデータに基づいて使用リソースと転送制御方式とを決めるためのルールを記憶した記憶手段と、
    前記送受信するデータの制御部分を解析し、前記ルールを適用した結果から、前記アプリケーションへコンテンツデータを転送する制御手段とを備え、
    前記制御手段は、前記アプリケーションへ前記コンテンツデータを転送する前に、制御部分を転送することを特徴するネットワーク通信装置。
  2. 前記制御手段は、前記コンテンツデータの特徴に対して決まったバッファをさらに複数に分割して使用するようにしたことを特徴とする請求項1に記載のネットワーク通信装置。
  3. 前記制御手段は、前記送受信するデータの制御部分を解析し、前記ルールを適用した結果、使用できるバッファが複数あった場合に前記バッファを占有するようにしたことを特徴とする請求項1に記載のネットワーク通信装置。
  4. 前記制御手段は、前記アプリケーションへのデータの転送単位を、通信プロトコルの転送単位と関連付けるようにしたことを特徴とする請求項1に記載のネットワーク通信装置。
  5. 前記制御手段は、前記コンテンツデータの特徴に加えプロトコル種別を確認して使用リソースと転送制御方式とを決めるようにしたことを特徴とする請求項1に記載のネットワーク通信装置。
  6. 前記制御手段は、前記アプリケーションへデータ転送する前に、前記アプリケーションが処理可能か否かを確認するようにしたことを特徴とする請求項1に記載のネットワーク通信装置。
JP2012002385A 2012-01-10 2012-01-10 ネットワーク通信装置 Active JP6019586B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012002385A JP6019586B2 (ja) 2012-01-10 2012-01-10 ネットワーク通信装置
US13/724,514 US20130179531A1 (en) 2012-01-10 2012-12-21 Network communications apparatus, method, and medium
CN201310008268.5A CN103200054B (zh) 2012-01-10 2013-01-09 网络通讯设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012002385A JP6019586B2 (ja) 2012-01-10 2012-01-10 ネットワーク通信装置

Publications (2)

Publication Number Publication Date
JP2013143641A JP2013143641A (ja) 2013-07-22
JP6019586B2 true JP6019586B2 (ja) 2016-11-02

Family

ID=48722420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012002385A Active JP6019586B2 (ja) 2012-01-10 2012-01-10 ネットワーク通信装置

Country Status (3)

Country Link
US (1) US20130179531A1 (ja)
JP (1) JP6019586B2 (ja)
CN (1) CN103200054B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7289709B2 (ja) * 2019-04-15 2023-06-12 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991102A (ja) * 1995-09-26 1997-04-04 Ricoh Co Ltd ネットワーク・システムにおけるプリント・ジョブ実行結果の通知方法,ネットワーク・システムにおけるスキャン条件の設定方法およびネットワーク・プリンティング/スキャニング・システム
JP3847882B2 (ja) * 1996-02-09 2006-11-22 キヤノン株式会社 通信装置およびその処理方法
US6392996B1 (en) * 1998-04-13 2002-05-21 At&T Corp. Method and apparatus for frame peeking
US20070192863A1 (en) * 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows
JP2004005503A (ja) * 2002-03-25 2004-01-08 Ricoh Co Ltd Webサービス機能を有する画像形成装置
US7305708B2 (en) * 2003-04-14 2007-12-04 Sourcefire, Inc. Methods and systems for intrusion detection
US7436836B2 (en) * 2004-06-30 2008-10-14 Cisco Technology, Inc. Method and apparatus for detecting support for a protocol defining supplemental headers
US7987272B2 (en) * 2004-12-06 2011-07-26 Cisco Technology, Inc. Performing message payload processing functions in a network element on behalf of an application
US8082304B2 (en) * 2004-12-10 2011-12-20 Cisco Technology, Inc. Guaranteed delivery of application layer messages by a network element
US8499028B2 (en) * 2005-02-23 2013-07-30 International Business Machines Corporation Dynamic extensible lightweight access to web services for pervasive devices
US8028160B1 (en) * 2005-05-27 2011-09-27 Marvell International Ltd. Data link layer switch with protection against internet protocol spoofing attacks
CN101282467B (zh) * 2008-05-15 2010-06-16 中兴通讯股份有限公司 一种慢速播放媒体时缓存数据的方法及装置
CN101777031B (zh) * 2009-01-14 2012-02-08 中兴通讯股份有限公司 直接存储器存取控制器以及数据传输方法
JP5054716B2 (ja) * 2009-02-20 2012-10-24 株式会社日立製作所 通信プロトコル処理回路、情報処理装置及び通信プロトコル処理方法
CN101835215B (zh) * 2009-03-12 2014-03-05 中兴通讯股份有限公司 一种实时业务域内切换方法、***及装置

Also Published As

Publication number Publication date
US20130179531A1 (en) 2013-07-11
CN103200054B (zh) 2017-03-01
CN103200054A (zh) 2013-07-10
JP2013143641A (ja) 2013-07-22

Similar Documents

Publication Publication Date Title
US10698717B2 (en) Accelerator virtualization method and apparatus, and centralized resource manager
CN107634984B (zh) 一种基于单向传输通道的文件同步方法
US9753783B2 (en) System and method for accelerating mapreduce operation
TWI344090B (en) Management of a scalable computer system
JP5960186B2 (ja) 仮想通信路構築システム、仮想通信路構築方法、及び仮想通信路構築プログラム
CN108028833A (zh) 一种nas数据访问的方法、***及相关设备
CN101452411A (zh) 用于管理向远程备份服务器进行备份的***和方法
US11463330B2 (en) System and methods for scalable cloud-based platform and related applications
US9118621B2 (en) Network controller, method, and medium
JP5581470B2 (ja) デバイス共有システム、デバイス共有サーバ、デバイス共有クライアント、およびデバイス共有方法
JP6177001B2 (ja) 情報処理装置、管理装置、情報処理方法、管理装置の制御方法、及び、プログラム
TWI840288B (zh) 設備接入方法及其裝置、資料交換方法及其裝置、聯網設備、服務端及存儲介質
JP6019586B2 (ja) ネットワーク通信装置
US20070050829A1 (en) Data transmitter and receiver, data transmitting/receiving system and method, and terminal device
US8442939B2 (en) File sharing method, computer system, and job scheduler
JP5348576B2 (ja) デバイス共有クライアント及びデバイス共有方法
JP2009098977A (ja) 周辺機器接続システム
JP5993835B2 (ja) マルチノードを用いるスマート端末ファジング装置およびその方法
CN114327757B (zh) 网络靶场工具投递方法、装置、设备及可读存储介质
US11221807B2 (en) Non-transitory computer-readable medium and device management system
CN113542282A (zh) 一种跨计算中心文件传输方法、装置、设备及存储介质
CN104580328A (zh) 虚拟机迁移方法、装置及***
JP4497820B2 (ja) 情報処理方法、情報処理装置並びに分散処理システム
US20170322892A1 (en) Information processing system, information processing method and information processing device
WO2015067052A1 (zh) 测试命令发送方法、装置及***

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160303

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: 20160906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160919

R151 Written notification of patent or utility model registration

Ref document number: 6019586

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151