JP4456556B2 - ネットワーク装置 - Google Patents
ネットワーク装置 Download PDFInfo
- Publication number
- JP4456556B2 JP4456556B2 JP2005333692A JP2005333692A JP4456556B2 JP 4456556 B2 JP4456556 B2 JP 4456556B2 JP 2005333692 A JP2005333692 A JP 2005333692A JP 2005333692 A JP2005333692 A JP 2005333692A JP 4456556 B2 JP4456556 B2 JP 4456556B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- confirmed
- offset value
- message
- data
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Description
この種の、携帯型の電子機器や小型の家電機器やセンサをネットワークに接続するためのネットワーク装置には、小型化、低消費電力であることが求められる。また、白物家電や設備系の機器に対しては、ネットワーク装置が低コストであることが重要である。
また、一例では、このネットワーク装置は、更に、家電機器又は住宅設備機器の入出力装置、メモリ装置、各種センサ、スイッチ、制御器のいずれかを含む制御対象機器と、制御対象機器を制御する制御部を有し、制御対象機器から得られたデータに関する処理データから所定のブロックサイズ単位のデータを生成する。
好ましくは、この要求処理と送信処理とを並行して実行するメッセージの処理方法である。
本発明はまた、上記データ送信方法又はメッセージの処理方法をプロセッサで実行するためのプログラムとしても把握され得る。
〔発明の効果〕
図1は、ネットワークシステム及びネットワーク装置の例を示す。
図において、ネットワーク101に、コントロール装置102及びネットワーク装置109が接続され、これらの装置間でデータの通信が行なわれる。なお、図1の例では、便宜上1台のコントロール装置102と1台のネットワーク装置109が示されているが、実際にはこれらの複数の装置がネットワークに接続され、それら複数の装置間でデータ通信が行なわれることは容易に想像できるであろう。
ネットワーク101は電波、光、音、電気信号など通信手段を用いて互いの装置間でメッセージやパケットを交換するものであり、ルータやケーブルなども含むものとする。コントロール装置102はネットワーク装置109に対して制御信号を与えたり、応答を受け取ったりする、例えばPC(パーソナルコンピュータ)の如き情報処理装置である。
通信部103はネットワーク101及びCPU104と接続され、ネットワーク101を介してパケットを通信するためのユニットである。CPU(Central Processing Unit)104は中央演算装置(プロセッサ)であり、プログラムを実行して所定の処理機能を実現する。実行されるプログラムはROM105やRAM106に記憶されているか、又は予めROM105や外部の記憶装置(図示せず)からRAM106にロードされて実行される。ROM(Read Only Memory)105はデータやプログラムを記憶する。RAM(Random Access Memory)106は、プログラムやデータを一時的に記憶する。
制御部107は、CPU104からの命令に従い、制御対象機器108を適切に制御したり、操作する。制御対象機器108は、制御部107の制御対象となる、家電機器や住宅設備機器における入出力装置やメモリ装置、各種センサやスイッチ、制御器などである。
ここで、本発明による処理の特徴を明確にするため、従来のプロトコルスタックとの対比において説明しておきたい。そこで、まず、図2を参照して、ネットワーク装置における従来のプロトコルスタックの処理の例について、説明する。
プロトコルスタック203はこれを送信バッファに追加処理209を行う。そして、その後送信バッファの先頭から、応答メッセージを構成し、応答メッセージのコピー207をコントロール装置202に送信する。ここで、コントロール装置202が、NAK211すなわちこのメッセージの受け取りに失敗したことを表す不可応答を返答したとすると、再び、送信バッファの先頭から、応答メッセージを構成し、応答メッセージのコピー210をコントロール装置202に送信する。ここで、コントロール装置202がACK212すなわち、このメッセージの受け取りに成功したことを表す肯定応答を返答したとすると、送信バッファからACK分を削除する処理213を行う。
しかし、1パケットに格納するバイト数を小さくすると、ある送信すべきデータ量に対して、送信しなければならないパケット数が増大し、その結果、データ転送に時間がかかるようになる。また同時に通信可能な回線数を少なくすると、複数のコントローラからの操作が不可能になり、ネットワークの使用者にとって不便なシステムとなってしまう。
つまり、プロトコルスタックは、アプリケーションに対して、確認済みのオフセット値、即ちストリームでの位置を渡し、これに対して一定サイズ(例えば1バイト)のデータを返す処理を行い、実際のデータ転送の時点で、データ転送すべき1バイトのデータが必要になった時点でアプリケーションに要求することによって、送信バッファを無くすことができる。
この処理は、ROM105に記憶されたプロトコルスタックの処理プログラムがCPU104で実行されることにより行なわれる。この図において、301はコントロール装置、302はネットワーク装置、303はプロトコルスタック、304はアプリケーション、305はある要求メッセージ、306は確認済みオフセット=0、307はメッセージのコピー、308は応答メッセージ要求、309は応答の生成、310は応答メッセージ、311は応答メッセージのコピー、312はNAK、313は確認済みオフセットはそのまま、314は応答メッセージ要求、315は応答の生成、316は応答メッセージ、317は応答メッセージのコピー、318はACK、319は確認済みオフセットをACK分だけ加算である。
ここで、確認済みオフセットにおける確認とは、送信メッセージに対してネットワーク装置302がACKを受信したことを意味し、オスセットとは、データストリームの位置を指す。
一方、コントロール装置301がACK318すなわち、このメッセージの受け取りに成功したことを表す肯定応答を返答したとすると、確認済みオフセットをACK分だけ加算する処理319を行う。
図示の例は、アプリケーションとしてHTTP(Hyper Text Transfer Protocol)を実装した場合の例である。ネットワーク装置109の構成は図1と同様であり、また基本的なソフトウエアによる処理動作は図3に示したものと同様である。
ネットワーク装置109が、HTTPに応答するためには、HTTPで規定されているいくつかのメッセージを生成し、そのメッセージを適当なパケットサイズに分割して要求元に送信する。
まず、送信データに残りありかどうか調べる(501)。その結果、もし送信データに残りが有れば、ステップ502へ進む。一方、送信データに残りが無ければ、終了する。
送信データに残りが有る場合、パケットの送信開始する(502)。以降、パケットの送信終了までに出力したデータを連結したものを1パケットとする。ステップ503ではi=0にする。次に、i<送信サイズnかどうか調べる処理である。もしi<送信サイズnであれば、ステップ505へ進み、i<送信サイズnでなければ、ステップ509へ進む。
尚、上記ステップ506の処理の詳細については図7を参照して後述する。
このステップにおいて、ただし、ACKパケットに確認したデータ量が含まれる場合はkの替わりにその値を用いる。一方、ACKを受信していない場合は、ステップ501へ戻り、処理を続ける。
図6は通信状態管理テーブル600の例を示す。このテーブルは、ネットワーク装置109における通信を管理するためのものであり、RAM106に保持される。
通信識別情報603は複数の通信を識別するための情報であり、通信先のIPアドレスと通信先が決定した通信ポート番号の組などである。列601は通信識別情報が「192.168.1.1:1024」であることを示し、列602は通信識別情報が「192.168.1.2:1025」であることを示す。
確認済みオフセット値604は、ネットワーク装置がこの通信において送信し、ACKによって確認されたデータサイズを記憶する。例えば、通信識別情報が「192.168.1.1:1024」、確認済みオフセット値が「123」の例において、「123」はネットワーク装置から相手の装置に123バイト送信し、それに対するACKを受け取ったことを意味する。同じく、通信識別情報が「192.168.1.2:1025」の例では、確認済みオフセット値が245バイトであることを示す。
尚、通信先が増えた場合、それに応じてテーブル600内の通信識別情報の組が、更に追加されることが理解される。
この処理は、ネットワークを介して長いメッセージを送るROM105に格納されているプログラムにより実行される。
例えばパスワードの照合による不一致の結果、認証に成功したかどうか調べる(701)。もし認証に成功した場合は、ステップ702へ進む。もし認証に成功していない場合は、ステップ704へ進む。
ステップ702では、k<84かどうか調べる。ここで、「84」は認証成功メッセージの長さである。この比較の結果、もしk<84であれば、ステップ703へ進み、k<84で無ければ、ステップ714へ進む。ステップ703では認証成功メッセージのk番目(0を先頭として)の文字を返す処理をする。
ステップ713では、ファイル存在メッセージヘッダー404のk番目(0を先頭として)の文字を返す処理を行なう。
また、ステップ714ではデータの終了を示す特別な文字を返す処理を行なう。
また、上記した1バイトずつのデータの生成処理と、ネットワークへのパケットデータの送信と並行同時的に動作させることにより、低速なプロセッサにおいても高速な応答を行うことが可能であり、これにより、低消費電力かつ低コストなネットワーク装置を実現することができる。
上述した実施例においては、単純な構成のネットワーク装置を例にして説明したが、例えばヘッドセットや携帯型ゲーム機などのその他の携帯型電子機器にも適用可能であることは勿論である。また、制御対象機器としては、小型の機器に限らず、据え置き型の電子機器、例えば、計算機、パーソナルコンピュータ、携帯型情報機器、携帯電話、AV(Audio Visual)家電機器、白物家電機器、センサ、設備機器などの家庭内、ビル内、街に設置される様々な機器にも適用できる。
また、ネットワーク装置には、例えば人感センサ、温度センサ、湿度センサ、ガス漏れセンサなどのセンサが直接組み込まれていてもよいし、また、LEDやブザーや液晶ディスプレイなどの出力機器が直接組み込まれていても良い。
301:コントロール装置 302:ネットワーク装置 303:プロトコルスタック 304:アプリケーション 600:通信状態管理テーブル。
Claims (6)
- 物理的な伝送処理によりネットワークに可変のパケットデータを送信するネットワーク装置において、
一定のブロックサイズ単位で、ある通信回線で送信した確認済のオフセット値である確認済みオフセット値を保持するメモリと、
該確認済みオフセット値の位置でパケットデータに格納すべき所定のブロックサイズ単位のデータを生成する第1の処理、及び該パケットデータを送信する際に、パケットで必要となるブロックサイズ単位の回数に応じた分、該第1の処理を繰り返して行う第2の処理と、を実行するプロセッサと、を有し、
前記メモリは、複数の通信先を識別する識別情報と、該識別情報に対応付けられて、送信されたパケットデータに対して受信したACKによって確認された前記確認済みオフセット値と、承認の成否を示す情報と、要求されたファイルの情報とを登録する通信状態管理テーブルを記憶し、
前記プロセッサは、前記第1の処理において、前記パケットデータの送信前に該所定のブロックサイズの単位として応答すべきデータを1バイト単位で作成し、作成した前記データを前記通信先に送信するとともに前記データの送信確認を1バイト単位で行い、前記パケットデータの送信に対してNAKを受信した場合、該プロセッサは該確認済みオフセット値を維持した状態で、前記第1の処理と前記第2の処理を繰り返して行ない、ACKを受信した場合、該プロセッサは該受信したACK分だけ該確認済みオフセット値を更新する、ことを特徴とするネットワーク装置。 - 該ネットワーク装置は、更に、家電機器又は住宅設備機器の入出力装置、メモリ装置、各種センサ、スイッチ、制御器のいずれかを含む制御対象機器と、該制御対象機器を制御する制御部を有し、該制御対象機器から得られたデータに関する処理データから所定のブロックサイズ単位のデータを生成することを特徴とする請求項1に記載のネットワーク装置。
- 物理的な伝送処理によりネットワークに可変のパケットデータを送信するネットワーク装置におけるデータ送信方法において、
一定のブロックサイズ単位で、通信回線に送信した確認済のオフセット値である確認済みオフセット値をメモリに保持する第1の処理ステップと、
該確認済みオフセット値の位置でパケットデータに格納すべき1ブロックサイズ単位のデータを返す第2の処理ステップと、
該パケットデータを送信する際に、パケットで必要となるブロックサイズ単位の回数に応じた数だけ該第1及び該第2の処理を繰り返して行う第3の処理ステップと、
該第3の処理の期間にパケットデータの送信を行う第4の処理ステップと、を有し、
前記第1の処理ステップにおいて、複数の通信先を識別する識別情報と、該識別情報に対応付けられて、送信されたパケットデータに対して受信したACKによって確認された前記確認済みオフセット値と、承認の成否を示す情報と、要求されたファイルの情報とを登録する通信状態管理テーブルを記憶し、
前記第2の処理ステップにおいて、前記パケットデータの送信前に該所定のブロックサイズの単位として応答すべきデータを1バイト単位で作成し、作成した前記データを前記通信先に送信するとともに前記データの送信確認を1バイト単位で行い、
前記第3の処理ステップにおいて、前記パケットデータの送信に対してNAKを受信した場合、該プロセッサは該確認済みオフセット値を維持した状態で、前記第1の処理と前記第2の処理を繰り返して行ない、ACKを受信した場合、該プロセッサは該受信したACK分だけ該確認済みオフセット値を更新する、ことを特徴とするデータ送信方法。 - ネットワークを通して他の装置から要求メッセージを受け、応答メッセージを他の装置に送信するネットワーク装置におけるメッセージの処理方法であって、ネットワークに対するプロトコルを管理し、あるプロトコルの下に、該要求メッセージ及び該応答メッセージを処理するプロトコルスタックと、該プロトコルスタックで受信された該要求メッセージに対して応答を生成し、作成された応答メッセージを該プロトコルスタックに渡すアプリケーションとを含み、
複数の通信先を識別する識別情報と、他の装置へのメッセージの送信を確認した確認済みのストリームの位置を示すオフセット値であって、該識別情報に対応付けられて、送信されたメッセージに対して受信したACKによって確認された確認済みオフセット値と、承認の成否を示す情報と、要求されたファイルの情報とを登録する通信状態管理テーブルをメモリに保持し、
該プロトコルスタックは、該要求メッセージを受信すると、該アプリケーションに対して、該確認済みオフセット値を渡して応答メッセージの送信前に該所定のブロックサイズの単位として前記応答メッセージを1バイト単位で生成することを要求し(要求処理)、
かつ該プロトコルスタックは、該アプリケーションで生成された前記応答メッセージを前記通信先に送信するとともに前記応答メッセージの送信確認を1バイト単位で行い(送信処理)、
該要求処理と該送信処理を、前記応答メッセージの送信に対してNAKを受信した場合、該プロトコルスタックは該確認済みオフセット値を維持した状態で、該送信すべきメッセージのデータサイズに至るまで繰り返して行ない、ACKを受信した場合、該プロセッサは該受信したACK分だけ該確認済みオフセット値を更新する、ことを特徴とするメッセージの処理方法。 - 該要求処理と該送信処理とを並行して実行することを特徴とする請求項4の処理方法。
- ネットワークを通して他の装置から要求メッセージを受け、応答メッセージを他の装置に送信するネットワーク装置においてメッセージを処理するプログラムであって、ネットワークに対するプロトコルを管理し、あるプロトコルの下に、該要求メッセージ及び該応答メッセージを処理するプロトコルスタックと、該プロトコルスタックで受信された該要求メッセージに対して応答を生成し、作成された応答メッセージを該プロトコルスタックに渡すアプリケーションとを含み、
該プロトコルスタックは、複数の通信先を識別する識別情報と、他の装置へのメッセージの送信を確認した確認済みのストリームの位置を示すオフセット値であって、該識別情報に対応付けられて、送信されたメッセージに対して受信したACKによって確認された確認済みオフセット値と、承認の成否を示す情報と、要求されたファイルの情報とを管理し、
該要求メッセージを受信すると、該アプリケーションに対して、該確認済みオフセット値を渡して応答メッセージの送信前に該所定のブロックサイズの単位として前記応答メッセージを1バイト単位で生成することを要求し(要求処理)、
かつ、該アプリケーションで生成された前記応答メッセージを前記通信先に送信するとともに前記応答メッセージの送信確認を1バイト単位で行い(送信処理)、
該要求処理と該送信処理を、前記応答メッセージの送信に対してNAKを受信した場合、該プロトコルスタックは該確認済みオフセット値を維持した状態で、該送信すべきメッセージのデータサイズに至るまで繰り返して行ない、ACKを受信した場合、該プロセッサは該受信したACK分だけ該確認済みオフセット値を更新する、ことを特徴とするメッセージの処理のためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005333692A JP4456556B2 (ja) | 2005-11-18 | 2005-11-18 | ネットワーク装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005333692A JP4456556B2 (ja) | 2005-11-18 | 2005-11-18 | ネットワーク装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007140899A JP2007140899A (ja) | 2007-06-07 |
JP4456556B2 true JP4456556B2 (ja) | 2010-04-28 |
Family
ID=38203676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005333692A Expired - Fee Related JP4456556B2 (ja) | 2005-11-18 | 2005-11-18 | ネットワーク装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4456556B2 (ja) |
-
2005
- 2005-11-18 JP JP2005333692A patent/JP4456556B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007140899A (ja) | 2007-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100605177B1 (ko) | 홈 네트워크 관리 시스템의 커넥션 핸들링 장치 | |
EP3014852B1 (en) | Methods for dynamically binding header field identifiers in a network control protocol | |
US7428690B2 (en) | Packet communication apparatus | |
WO2009014875A1 (en) | Data stream control for network devices | |
EP1564959A1 (en) | System and method for trivial file transfer protocol including broadcasting function | |
JP4401864B2 (ja) | パケット生成方法、通信方法、パケット処理方法及びデータ構造 | |
CN108737259A (zh) | 网关设备、数据传输方法及存储介质 | |
TW200807966A (en) | Scaling egress network traffic | |
WO2011076146A1 (zh) | 下载应用数据的方法、数字电视接收终端及系统 | |
WO2012075885A1 (zh) | 一种数据传输方法及装置 | |
CN112383612B (zh) | 一种文件传输方法、装置、设备及可读存储介质 | |
CN101605128A (zh) | Linux主从设备通过以太网接口进行通信的方法 | |
JP4456556B2 (ja) | ネットワーク装置 | |
CN111262798B (zh) | 一种信息处理方法、设备及计算机存储介质 | |
US7907556B2 (en) | Apparatus and method for controlling mobile terminal in data communication system | |
CN110798355A (zh) | 一种智能插座的配网方法、装置及智能插座和存储介质 | |
JP4019012B2 (ja) | Fpgaを具備するcpu装置とその初期化方法 | |
CN113301535B (zh) | 一种数据传输方法、装置及系统 | |
US20210014006A1 (en) | System and method for implementing a hybrid automatic repeat request process | |
US7269660B1 (en) | Limited TCP/IP implementation using minimal resources | |
JP4413121B2 (ja) | Tcp/ipソケットを用いたデータ通信装置及びデータ通信方法 | |
WO2022116015A1 (zh) | 数据处理方法、装置、电子设备及存储介质 | |
KR100366824B1 (ko) | 실시간 원격제어 방법 | |
WO2005004399A1 (en) | Reservation information processing apparatus for mobile home network system | |
JP4456553B2 (ja) | ネットワークシステム及びコマンドデータの処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070803 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090915 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090929 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091127 |
|
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: 20100119 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100205 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130212 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |