JP2016151895A - 通信処理装置、データ転送方法およびそのためのプログラム - Google Patents

通信処理装置、データ転送方法およびそのためのプログラム Download PDF

Info

Publication number
JP2016151895A
JP2016151895A JP2015028907A JP2015028907A JP2016151895A JP 2016151895 A JP2016151895 A JP 2016151895A JP 2015028907 A JP2015028907 A JP 2015028907A JP 2015028907 A JP2015028907 A JP 2015028907A JP 2016151895 A JP2016151895 A JP 2016151895A
Authority
JP
Japan
Prior art keywords
flag
information processing
data
processing device
control
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.)
Pending
Application number
JP2015028907A
Other languages
English (en)
Inventor
大比良 敏男
Toshio Ohira
敏男 大比良
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2015028907A priority Critical patent/JP2016151895A/ja
Publication of JP2016151895A publication Critical patent/JP2016151895A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

【課題】 上位装置であるデータ転送先の情報処理装置が、自らの状況に応じてデータの転送タイミングを制御できる通信処理装置を提供する。【解決手段】 転送先の情報処理装置による制御に基づいてフラグを変更するフラグ管理部と、転送元の端末装置から転送先の情報処理装置へ転送する受信データを逐次記憶する記憶部と、フラグ管理部のフラグに基づき、記憶部の受信データを情報処理端末へ転送するタイミングを制御する制御部とを備える通信処理装置。【選択図】 図2

Description

本発明は、上位装置と下位装置とのデータ転送を制御する通信処理装置及び通信処理装置のデータ転送方法およびそのためのプログラムに関する。
通信処理装置において、データの転送を制御する技術が知られている。この技術は、通信またはデータ処理の状況に基づき上位装置へデータを転送するタイミングまたはデータ量を制御する。
この種の通信処理装置の一例が特許文献1及び特許文献2に記載されている。特許文献1に記載された技術において、状況に応じて送信装置が送信データをプリンタへファイル単位で転送するかページ単位で転送するかのどちらかに切り替える。これにより、スループットの低下及び最初のプリント出力が得られるまでの時間の遅延を低減することができる。
また、特許文献2に記載された技術において、各ノードが送信情報を含むデータを受信した際、送信情報に即時送信フラグあるいは即時送信を示す優先度を検出する。この場合、各ノードは、即時送信フラグあるいは優先度を含む即時データの送信先サーバと接続を行う。
特開平09−222966号公報 特開2003−92592号公報
しかしながら、上述した特許文献1に記載された技術は、印刷のためのデータを送信する送信装置が送信単位を手動で切り替える。もしくは送信装置が共通回線の状況を確認し、自動で転送データの単位を切り替える。共通回線とは、複数のプリンタと接続するネットワークである。共通回線が使用状態である場合、共通回線に接続するいずれかのプリンタ(上位装置)は、ネットワークに接続するいずれかのクライアントマシンから送信データを受信している。したがって、特許文献1に記載された技術は、共通回線の状況、すなわち共通回線に接続するいずれかのプリンタの送信データの受信以外の理由で、たとえば自身のプリンタのビジー状態、プリンタの故障、あるいは使用者や保守作業者の作業中など、上位装置であるプリンタの状況に基づいたデータの転送制御はできないし、そのような制御についての記載がない。
また、特許文献2に記載された技術は、フラグは送信情報ごとに設定され、端末装置からノードに対する通信全体に適用されるものではない。したがって、特許文献2に記載された技術からは、上位装置の状況に基づいたデータの転送制御を想定することができない。
本発明の目的の一例は、上位装置であるデータ転送先の情報処理装置が、自らの状況に応じてデータの転送タイミングを制御できる通信処理装置及びデータ転送方法およびそのためのプログラムを提供することにある。
本発明の一形態における第1の通信処理装置は、転送先の情報処理装置による制御に基づいてフラグを変更するフラグ管理部と、転送元の端末装置から転送先の情報処理装置へ転送する受信データを逐次記憶する記憶部と、フラグ管理部のフラグに基づき、記憶部の受信データを情報処理端末へ転送するタイミングを制御する制御部とを備える。
本発明の一形態における第1の通信処理装置のデータ転送方法は、フラグ管理部が転送先の情報処理装置による制御に基づいてフラグを変更し、記憶部が転送元の端末装置から転送先の情報処理装置へ転送する受信データを逐次記憶し、制御部がフラグ管理部のフラグに基づき、記憶部の受信データを情報処理端末へ転送するタイミングを制御する。
本発明の一形態における第1のプログラムは、コンピュータに、転送先の情報処理装置による制御に基づいてフラグを変更する処理と、転送元の端末装置から転送先の前記情報処理装置へ転送する受信データを逐次、記憶部に記憶する処理と、前記フラグに基づき、前記受信データを前記情報処理装置へ転送するタイミングを制御する処理を実行させる。
本発明によれば、上位装置であるデータ転送先の情報処理装置が、自らの状況に応じてデータの転送タイミングを制御できるという効果が得られる。
図1は、本発明の第1の実施の形態における通信処理装置1000の構成を示すブロック図である。 図2は、第1の実施の形態における通信処理装置1000と上位装置である情報処理装置2000と下位装置である端末装置3000、3100との接続の一例を示すブロック図である。 図3は、第1の実施の形態における通信処理装置1000をコンピュータ装置で実現した場合のハードウェア構成例を示す図である。 図4は、第1の実施の形態における通信処理装置1000でのデータ転送制御の動作を示すフローチャートである。 図5は、第2の実施の形態における通信処理装置1001と情報処理装置2001のハードウェアの構成の一例と、それぞれと端末装置3001、3101との接続の一例を示すブロック図である。 図6は、第2の実施の形態に係る通信処理装置1001および情報処理装置2001のソフトウェアおよびファームウェア構成の一例を示すブロック図である。 図7は、第2の実施の形態に係るIOドライバ10211の構成の一例を示すブロック図である。 図8は、第2の実施の形態に係る通信処理装置1001での、通信エンドポイントへフラグの設定を“ON”にする動作の概要を示すフローチャートである。 図9は、第2の実施の形態に係る通信処理装置1001でのデータ転送制御の動作の概要を示すフローチャートである。
次に、本発明の実施形態について図面を参照して詳細に説明する。
[第1の実施の形態]
図1は、本発明の第1の実施の形態における通信処理装置1000の構成を示すブロック図である。図1を参照すると、通信処理装置1000は、フラグ管理部101と記憶部102と制御部103と、を備える。また、図2は、本発明の第1の実施の形態における通信処理装置1000と上位装置である情報処理装置2000と下位装置である端末装置3000、3100とを接続したシステムの一例を示すブロック図である。なお、通信処理装置1000と接続する下位装置である端末装置の台数は、図2のように2台のみに限らず、何台でもよい。
次に、第1の実施の形態における通信処理装置1000の構成について説明する。
フラグ管理部101は、転送先の情報処理装置2000による制御に基づいて、データ転送制御のためのフラグの”ON”と”OFF”を管理する。情報処理装置2000は、自らの通信の状況、プロセッサやメモリ使用量などの負荷の状況に応じて、フラグ管理部101のフラグ設定を制御できればよい。
転送データ管理部102は、転送元の端末装置3000、3100から送信され転送先の情報処理装置2000へ転送する受信データを逐次記憶し管理する。
フラグ管理部101で生成されるフラグが”OFF”の場合、転送データ管理部102が記憶する受信データの合計データサイズが所定のデータサイズに到達した場合、もしくは前回受信データを転送してから所定の時間が経過した場合、制御部103は、転送データ管理部102が記憶する全ての受信データを情報処理装置2000へ転送する。また、フラグ管理部101のフラグが”ON”の場合、制御部103は、転送データ管理部102が受信データを記憶するごとに、受信データを情報処理装置2000へ転送する。
図3は、本発明の第1の実施の形態における通信処理装置1000をコンピュータ装置で実現した場合のハードウェア構成例を示す図である。図3に示されるように、通信処理装置1000は、それぞれ通信インタフェース10、CPU(Central Processing Unit)11、出力装置12、入力装置13、主記憶装置14、および二次記憶装置15を含む。
通信インタフェース10は、情報処理装置2000、端末装置3000、3100および周辺端末との通信のための入出力インタフェースを構成する。また通信インタフェース10は、通信処理装置1000に接続する図示しないネットワークとの接続制御のためのインタフェースも含む。
CPU11は、オペレーティングシステムを動作させて本発明の第1の実施の形態に係る通信処理装置1000の全体を制御する。また、CPU11は、例えば二次記憶装置15から主記憶装置14にプログラムまたはデータを読み出す。具体的には、通信処理装置1000のCPU11は、第1の実施の形態におけるフラグ管理部101と転送データ管理部102と制御部103として動作し、それぞれプログラム制御に基づいて各種の処理を実行する。また、通信処理装置1000のCPU11は、1つに限らず2つ以上備えていてもよい。
出力装置12は、例えばディスプレイ、表示器で実現され、出力を確認するために用いられる。
入力装置13は、例えばマウスやキーボード、内蔵のキーボタン等で実現され、入力操作に用いられる。入力装置13は、マウスやキーボード、内蔵のキーボタンに限らず、例えばタッチパネルでもよい。
主記憶装置14は、CPU11の制御に基づく作業用メモリである。
二次記憶装置15は、例えば光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、または半導体メモリ等であって、コンピュータプログラムをコンピュータ読み取り可能に記録する。二次記憶装置15は、通信処理装置1000が実行するためのコンピュータプログラムを一時的に記憶するまたは非一時的に記憶する。したがって、CPU11は、二次記憶装置15に記録されているコンピュータプログラムを読み込み、そのプログラムにしたがって、フラグ管理部101と転送データ管理部102と制御部103として機能するよう動作してもよい。
また、コンピュータプログラムは、通信網に接続されている図示しない外部コンピュータからダウンロードされてもよい。
なお、第1の実施の形態の説明において利用されるブロック図(図1)には、機能単位のブロックが示されている。これらの機能ブロックは、図3に示すコンピュータ装置に限らず、各部がハードウェア回路によって実現されてもよい。ただし、通信処理装置1000が備える各部の実現手段は特に限定されない。すなわち、通信処理装置1000は、物理的に結合した1つの装置により実現されてもよいし、物理的に分離した2つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
以上のように構成された通信処理装置1000の動作について、図4、図5のフローチャートを参照して説明する。
図4は、第1の実施の形態における通信処理装置1000でのデータ転送制御の動作の概要を示すフローチャートである。尚、このフローチャートによる処理は、前述したCPUによるプログラム制御に基づいて、実行されても良い。
図4に示すように、まず、フラグ管理部101は、転送先の情報処理装置2000の制御に基づき、フラグの“ON”と“OFF”を管理する(ステップS101)。具体的には、情報処理装置2000よりフラグを“ON”にするような制御信号を受信した場合、フラグ管理部101は、管理するフラグを“ON”に設定し、情報処理装置2000よりフラグを“OFF”にするような制御信号を受信した場合、フラグ管理部101は、管理するフラグを“OFF”に設定する。
次に、転送データ管理部102は、転送元の端末装置3000、3100から転送先の情報処理装置2000へ転送する受信データを監視する(ステップS102)。転送データ管理部102が転送元の端末装置3000、3100から転送先の情報処理装置2000へ転送する受信データを検知した場合(ステップS102でYES)、受信データを転送データ管理部102の記憶装置(たとえば、主記憶装置14)に記憶し、データを受信したことを制御部103に通知する(ステップS103)。受信データを検知しない場合(ステップS102でNO)、ステップS101に戻る。
次に、制御部103は、フラグ管理部101が管理するフラグを確認する(ステップS104)。フラグが“OFF”の場合(ステップS104でNO)、制御部103は、転送データ管理部102が記憶している受信データの合計サイズを確認する(ステップS105)。転送データ管理部102が記憶している受信データの合計サイズが所定のサイズを超えている場合、もしくは前回受信されたデータを情報処理装置2000に転送してから所定の時間が経過した場合(ステップS105でYES)、制御部103は、転送データ管理部102(主記憶装置14)が記憶した全ての受信データを情報処理装置2000へ転送する(ステップS106)。転送データ管理部102が記憶している受信データの合計サイズが所定のサイズを超えておらず、かつ前回受信データを転送してから所定の時間が経過していない場合(ステップS105でNO)、ステップS101に戻る。ステップS104でフラグが“ON”の場合(ステップS104でYES)、すみやかに制御部103は、転送データ管理部102がステップS103において記憶した全ての受信データを情報処理装置2000へ転送する(ステップS106)。
以上で、通信処理装置1000は、データ転送制御の動作を終了する。
次に、本発明の第1の実施の形態の効果について説明する。
上述した本実施形態における通信処理装置1000は、上位装置であるデータ転送先の情報処理装置が、自らの状況に応じてデータの転送タイミングを制御できる。
その理由は、以下のような構成を含むからである。即ち、第1にフラグ管理部101は、転送先の情報処理装置2000の制御に基づき、フラグ管理部101が管理するフラグの“ON”と“OFF”を管理する。第2に、フラグが“ON”の場合、制御部103は、転送データ管理部102が記憶した全ての受信データを情報処理装置2000へ転送する。第3に、フラグが“OFF”の場合、転送データ管理部102が記憶している受信データの合計サイズが所定のサイズを超えるまで、あるいは前回受信データを転送してから所定の時間が経過するまでは受信データを転送データ管理部102に記憶し続ける。これにより、制御部103は、情報処理装置2000の制御の下にフラグ管理部101がフラグを管理し、そのフラグに基づいて、受信データの転送タイミングを決定するので、上位装置であるデータ転送先の情報処理装置が、自らの状況に応じてデータの転送タイミングを制御できるという効果が得られる。
[第2の実施形態]
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
図5は、本発明の第2の実施形態に係る通信処理装置1001と情報処理装置2001のハードウェアの構成の一例と、それぞれと端末装置3001、3101とを接続したシステムの一例を示すブロック図である。
図5を参照すると、本実施形態における通信処理装置1001は、IO(Input Output)コントローラ1011、IOプロセッサ1021、ローカルメモリ1031、スイッチ1041、ネットワークカード1051を備える。また、情報処理装置2001は、CPU2011、記憶装置2021、メモリコントローラ2031を備える。
IOコントローラ1011は、情報処理装置2001のメモリコントローラ2031とのインタフェースであり、IOプロセッサ1021やスイッチ1041を経由して、ネットワークカード1051とメモリコントローラ2031とのトランザクション送受信を行う機能を有する。
IOプロセッサ1021は、通信処理装置1001を制御するファームウエア(FW)を動作させるプロセッサであり、ローカルメモリ1031へのアクセス、IOコントローラ1011の制御、ネットワークカード1051の制御を行う機能を有する。IOプロセッサ1021は、第1の実施形態におけるフラグ管理部101、制御部103に相当する。
ローカルメモリ1031は、通信処理装置1001の各種制御情報や、ネットワーク端末3001、3101からの受信データや、記憶装置2021からの読出しデータなどを記憶・格納する機能を有する。これは、第1の実施形態における転送データ管理部102に相当する。
スイッチ1041は、IOコントローラ1011とIOプロセッサ1021とネットワークカード1051を接続する機能を有しており、IOコントローラ1011とIOプロセッサ1021とネットワークカード1051からのトランザクションを、目的の宛先にスイッチする(切替える)機能を有する。
ネットワークカード1051は、通信処理装置1001と端末装置3001、3101との通信インタフェースである。
図6は、本発明の第2の実施形態に係る通信処理装置1001および情報処理装置2001のソフトウェアおよびファームウェア構成の一例を示すブロック図である。
まず、情報処理装置2001のCPU2011で動作するソフトウェアは、基本OS(Operating System)20111と通信管理ソフトウェア20112とアプリケーション20113、20114で構成されており、通信処理装置1001に対してチャネルプログラム20115を生成することにより、通信処理装置1001のIOプロセッサ1021で動作するファームウェアを実効的に指示する。
基本OS20111は、CPU2011を制御する機能を有する基本OSである。
通信管理ソフトウェア20112は、コンピュータシステム上で動作するアプリケーション20113、20114からのネットワークAPI(Application Programming Interface)コマンドを解析・実行する機能を有する。ネットワークAPIコマンドの解析結果に応じて、通信管理ソフトウェア20112は、通信用のエンドポイント作成とそれに伴うバッファ領域を記憶装置2021上に確保する機能や、基本OS20111に対して、チャネルプログラム20115の作成を指示する機能を有する。また、通信管理ソフトウェア20112は、チャネルプログラム20115の基となる雛形から、エンドポイント毎のバッファ管理データを反映したチャネルプログラム20115を生成する機能を有する。
アプリケーション20113、20114は、コンピュータシステム上で動作するユーザアプリケーションである。例えばFTP(File Transfer Protocol)やサーバ・クライアントといったアプリケーションである。図6ではアプリケーションは20113と20114の2つを図示しているが、2つに限らず幾つでもよい。
次に、IOプロセッサ1021で動作するファームウェアは、IOドライバ10211、ネットワークドライバ10212、ネットワークスタック10213、基本OS10215で構成される。
IOドライバ10211は、情報処理装置2001が作成したチャネルプログラム20115を取得・解析し、解析結果に応じて通信処理装置1001の制御する機能と、端末装置3001、3101との通信エンドポイントの生成を指示する機能と、通信エンドポイント毎のデータの受信状態等を管理する機能と、記憶装置2021に格納されているデータを取出し、ローカルメモリ1031に格納する機能と、ローカルメモリ1031に格納されているデータを記憶装置2021に格納する機能を有する。
また、IOドライバ10211は、チャネルプログラム20115の基となる制御フラグを、通信エンドポイント毎に設定する機能と、制御フラグに応じてローカルメモリ1031に格納されているデータを記憶装置2021に格納するタイミングを制御する機能を有する。制御フラグは、第1の実施の形態のフラグ管理部101で管理されるフラグに相当する。
ネットワークドライバ10212は、ネットワークカード1051を制御する機能を有する。
ネットワークスタック10213は、TCP(Transmission Control Protocol)やIP(Internet Protocol)、UDP(User Datagram Protocol)、その他ネットワークプロトコルを実現する機能を有しており、IOドライバ10211の指示に応じて、通信エンド端末を生成し、端末装置3001、3101とのコネクションを確立し、データ通信を行う機能を有している。
基本OS10215は、IOプロセッサ1021を制御する機能を有する基本OSである。
図7は、本発明の第2の実施形態に係るIOドライバ10211の構成の一例を示すブロック図である。
IOドライバ10211は、複数の通信制御プロセス102111と、データブロック生成プロセス102112と、チャネルプログラム実行プロセス102113と、受信データキュー102114と、データブロックキュー102115で構成される。
通信制御プロセス102111は、通信エンドポイントと1対1に対応している。通信制御プロセス102111は、ネットワークスタック10213からの通知を受けてローカルメモリ1031に格納されている端末装置3001、3101からの受信データの情報を取得して受信データキュー102114に登録する機能と、受信データキュー102114に登録されているデータの総長を確認してデータブロックを生成するかを判断する機能と、フラグの設定を制御する機能と、データブロック生成プロセス102112にデータブロック生成要求を通知し、データブロックの生成を指示する機能を有する。
データブロック生成プロセス102112は、受信データの受信データキュー102114への溜め込み時間を監視する機能と、データブロック生成要求に応じて受信データキュー102114から受信データを取得してデータブロックを生成してデータブロックキュー102115に登録する機能を有する。
チャネルプログラム実行プロセス102113は、情報処理装置2001が作成したチャネルプログラム20115を取得・解読し、解読結果に応じて通信処理装置1001を制御する機能を有する。チャネルプログラム20115の解読結果に応じて通信処理装置1001を制御する機能は、端末装置3001、3101との通信エンドポイントとなる通信制御プロセス102111を割り当てる機能や、通信制御プロセス102111にフラグの設定を通知する機能や、記憶装置2021に格納されているデータを取出しローカルメモリ1031に格納する機能や、データブロックキュー102115からデータを取得して記憶装置2021に格納する機能がある。
受信データキュー102114は、通信制御プロセス102111から登録される受信データ情報の登録順序を管理する機能と、登録された受信データサイズを記憶する機能と、データブロック生成プロセス102112からの取得要求に応じて管理している受信データを通知する機能を有している。
データブロックキュー102115は、データブロック生成プロセス102112から登録されるデータブロックの登録順序を管理する機能と、チャネルプログラム実行プロセス102113からの取得要求に応じて管理しているデータブロックを通知する機能を有している。
次に、通信処理装置1001の動作について図8、9に示すフローチャートを参照して説明する。なお、情報処理装置2001からのチャネルプログラムを用いた通信処理装置1001における通信エンドポイントの生成と、端末装置3001、3101との通信コネクションの確立は完了しているものとする。
図8は、第2の実施の形態における通信処理装置1001での、通信エンドポイントへフラグの設定を“ON”にする動作の概要を示すフローチャートである。尚、一例としてTCPオプションのTCP_NODELAYの設定をアプリケーション20113が行う際の動作として説明する。TCPオプションのTCP_NODELAYの動作、効果に関しては一般的周知の動作なので説明は割愛する。また、このフローチャートによる処理は、前述したCPUによるプログラム制御に基づいて、実行されても良い。
図8に示すように、まず、アプリケーション20113は、通信エンドポイントに対してTCP_NODELAYの設定をネットワークAPIコマンドで行う(ステップS201)。
次に、通信管理ソフトウェア20112および基本OS20111は、チャネルプログラム20115を生成し、IOドライバ10211に通知する(ステップS202)。
次に、チャネルプログラム実行プロセス102113は、チャネルプログラム20115を取得し内容を確認する(ステップS203)。チャネルプログラム20115の内容がTCPオプションのTCP_NODELAYを設定するコマンドの場合(ステップS203でYES)、チャネルプログラム実行プロセス102113は、指定された通信エンドポイントにTCP_NODELAYの設定を行い、フラグの設定を通信制御プロセス102111に通知する(ステップS204)。チャネルプログラム20115の内容がTCPオプションのTCP_NODELAYを設定するコマンドではない場合(ステップS203でNO)、チャネルプログラム実行プロセス102113は、何もせず終了する。
以上で、通信処理装置1001は、通信エンドポイントへフラグの設定を“ON”にする動作を終了する。
図9は、第2の実施の形態における通信処理装置1001でのデータ転送制御の動作の概要を示すフローチャートである。尚、このフローチャートによる処理は、前述したCPUによるプログラム制御に基づいて、実行されても良い。
図9に示すように、まず、ネットワークカード1051は、ネットワークを介して端末装置3001からデータを受信する(ステップS301)。
次に、ネットワークカード1051は、受信したデータをローカルメモリ1031に格納し、同時にネットワークカード1051は、データの受信をネットワークドライバ10212に割り込みにより通知する(ステップS302)。
次に、ネットワークドライバ10212は、ネットワークカード1051がローカルメモリ1031に格納した受信データをネットワークスタック10213に受け渡す(ステップS303)。
次に、ネットワークスタック10213は、TCP/IPのプロトコルに従って受信データを処理し、データ受信を通信制御プロセス102111に通知する(ステップS304)。ここで通信制御プロセス102111は、端末装置3001に対応した通信エンドポイントを処理するプロセスとする。
次に、通信制御プロセス102111は、ローカルメモリ1031に格納されている受信データの情報を取得し、受信データキュー102114に順番に登録する(ステップS305)。ここで受信データの情報とは、ローカルメモリ320内でのアドレスとサイズの情報とする。
次に、通信制御プロセス102111は、受信データキュー102114に記憶されている受信データのデータサイズを取得し、登録する受信データのサイズを加算し、受信データキュー102114に登録し直す(ステップS306)。
次に、通信制御プロセス102111は、フラグの設定が“ON”か否かを確認する(ステップS307)。もしフラグの設定が“OFF”の場合(ステップS307でNO)、通信制御プロセス102111は、ステップS206で登録する受信データのサイズを加算した結果が、所定の閾値を超えるかどうか確認する(ステップS308)。もし所定の閾値を超える場合もしくは前回受信データを転送してから所定の時間が経過した場合(ステップS308でYES)、通信制御プロセス102111は、データブロック生成要求をデータブロック生成プロセス102112に通知する(ステップS309)。所定の閾値を超えておらず、かつ前回受信データを転送してから所定の時間が経過していない場合(ステップS308でNO)、ステップS301に戻る。ステップS307で、もしフラグの設定が“ON”の場合(ステップS307でYES)、通信制御プロセス102111は、データブロック生成要求をデータブロック生成プロセス102112に通知する(ステップS309)。
次に、データブロック生成プロセス102112は、受信データキュー102114から受信データを順番に取り出し、データブロックを生成し、データブロックキュー102115に生成したデータブロックを登録する(ステップS310)。
次に、チャネルプログラム実行プロセス102113は、情報処理装置2001の基本OS20111が通知する記憶装置2021へのデータの格納を指示する内容のチャネルプログラムに従い、データブロックキュー102115に登録されているデータブロックを取り出し、記憶装置2021に格納する(ステップS311)。
以上で、通信処理装置1001は、データ転送制御の動作を終了する。
上述した本実施形態における通信処理装置1001は、第1の実施形態と同様、上位装置であるデータ転送先の情報処理装置が、自らの状況に応じてデータの転送タイミングを制御できる。
その理由は、以下のような構成を含むからである。即ち、第1に通信管理ソフトウェア20112および基本OS20111はフラグの設定情報を含んだチャネルプログラム20115を生成し、IOドライバ10211に通知する。第2に、チャネルプログラム実行プロセス102113がチャネルプログラム20115を取得し内容を確認し、内容に応じて指定された通信エンドポイントに例えばTCP_NODELAYの設定を行い、フラグの設定を通信制御プロセス102111に通知する。第3に通信制御プロセス102111は、フラグの設定が“ON”か否かを確認し、フラグが“ON”の場合、通信制御プロセス102111は、データブロック生成要求をデータブロック生成プロセス102112に通知する。第3に、フラグが“OFF”の場合、所定の閾値を超える場合もしくは前回受信データを転送してから所定の時間が経過した場合、通信制御プロセス102111は、データブロック生成要求をデータブロック生成プロセス102112に通知する。これにより、通信制御プロセス102111は、情報処理装置2001が通知するチャネルプログラム20115に含まれたフラグの設定情報に基づいて受信データの転送タイミングを決定するので、上位装置であるデータ転送先の情報処理装置が、自らの状況に応じてデータの転送タイミングを制御できるという効果が得られる。
また、フラグの設定は“ON”の場合と“OFF”の場合の2種類として説明したが、フラグの種類は“ON”、“OFF”に限らない。すなわち、フラグが第1の状態か否かを判断し、第1の状態であれば、通信制御プロセス102111は、データブロック生成要求をデータブロック生成プロセス102112に通知する。フラグが第1の状態でなければ(第2の状態であれば)、所定の閾値を超える場合もしくは前回受信データを転送してから所定の時間が経過した場合、通信制御プロセス102111は、データブロック生成要求をデータブロック生成プロセス102112に通知する、としても構わない。
以上説明した、本発明の各実施形態における各構成要素は、その機能をハードウェア的に実現することはもちろん、プログラム制御に基づくコンピュータ装置、ファームウェアで実現することができる。プログラムは、磁気ディスクや半導体メモリなどのコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態における構成要素として機能させる。
以上、各実施の形態を参照して本発明を説明したが、本発明は上記実施の形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえる様々な変更をすることができる。
たとえば、以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、各構成要素は、複数の構成要素が1個のモジュールとして実現されたり、一つの構成要素が複数のモジュールで実現されたりしてもよい。また、各構成要素は、ある構成要素が他の構成要素の一部であったり、ある構成要素の一部と他の構成要素の一部とが重複していたり、といったような構成であってもよい。
また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障しない範囲で変更することができる。
また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更されて良い。
10 通信インタフェース
11、2011 CPU
12 出力装置
13 入力装置
14 主記憶装置
15 二次記憶装置
101 フラグ管理部
102 記憶部
103 制御部
1000、1001 通信処理装置
1011 IOコントローラ
1021 IOプロセッサ
1031 ローカルメモリ
1041 スイッチ
1051 ネットワークカード
2000、2001 情報処理装置
2021 記憶装置
2031 メモリコントローラ
3000、3001、3100、3101 端末装置
10211 IOドライバ
10212 ネットワークドライバ
10213 ネットワークスタック
10215、20111 基本OS
20112 通信管理ソフトウェア
20113、20114 アプリケーション
20115 チャネルプログラム
102111 通信制御プロセス
102112 データブロック生成プロセス
102113 チャネルプログラム実行プロセス
102114 受信データキュー
102115 データブロックキュー

Claims (9)

  1. 転送先の情報処理装置による制御に基づいてフラグを変更するフラグ管理部と、
    転送元の端末装置から転送先の情報処理装置へ転送する受信データを逐次記憶する記憶部と、
    前記フラグ管理部のフラグに基づき、前記記憶部の受信データを前記情報処理端末へ転送するタイミングを制御する制御部と
    を備える通信処理装置。
  2. 前記フラグ管理部が転送先の情報処理装置の制御によりフラグの設定を変更し、
    前記制御部が、前記フラグ管理部のフラグが第1の状態の場合、前記記憶部が記憶する受信データの合計データサイズが所定のデータサイズに到達した場合、もしくは前回受信データを転送してから所定の時間が経過した場合、前記記憶部が記憶する全ての受信データを前記情報処理端末へ転送し、また、前記フラグ管理部のフラグが第2の状態の場合、前記記憶部が受信データを記憶するごとに、受信データを前記情報処理端末へ転送する請求項1に記載の通信処理装置。
  3. 前記フラグ管理部のフラグが第2の状態の場合、前記制御部の”TCP_NODELAY”オプション機能が転送先の情報処理装置の制御により有効に設定される請求項2に記載の通信処理装置。
  4. フラグ管理部が転送先の情報処理装置による制御に基づいてフラグを変更し、
    記憶部が転送元の端末装置から転送先の情報処理装置へ転送する受信データを逐次記憶し、
    制御部が前記フラグ管理部のフラグに基づき、前記記憶部の受信データを前記情報処理端末へ転送するタイミングを制御する
    通信処理装置のデータ転送方法。
  5. 前記フラグ管理部が転送先の情報処理装置の制御によりフラグの設定を変更し、
    前記制御部が、前記フラグ管理部のフラグが第1の状態の場合、前記記憶部が記憶する受信データの合計データサイズが所定のデータサイズに到達した場合、もしくは前回受信データを転送してから所定の時間が経過した場合、前記記憶部が記憶する全ての受信データを前記情報処理端末へ転送し、また、前記フラグ管理部のフラグが第2の状態の場合、前記記憶部が受信データを記憶するごとに、受信データを前記情報処理端末へ転送する請求項4に記載の通信処理装置のデータ転送方法。
  6. 前記フラグ管理部のフラグが第2の状態の場合、前記制御部の”TCP_NODELAY”オプション機能が転送先の情報処理装置の制御により有効に設定される請求項5に記載の通信処理装置のデータ転送方法。
  7. 転送先の情報処理装置による制御に基づいてフラグを変更する処理と、
    転送元の端末装置から転送先の前記情報処理装置へ転送する受信データを逐次、記憶部に記憶する処理と、
    前記フラグに基づき、前記受信データを前記情報処理装置へ転送するタイミングを制御する処理と
    をコンピュータに実行させるプログラム。
  8. 前記フラグが第1の状態の場合、前記記憶部が記憶する受信データの合計データサイズが所定のデータサイズに到達した場合、もしくは前回受信データを転送してから所定の時間が経過した場合、前記記憶部が記憶する全ての受信データを前記情報処理装置へ転送し、また、前記フラグが第2の状態の場合、前記記憶部が受信データを記憶するごとに、受信データを前記情報処理装置へ転送する処理をコンピュータに実行させる請求項7に記載のプログラム。
  9. 前記フラグが第2の状態の場合、”TCP_NODELAY”オプション機能が前記情報処理装置の制御に基づいて有効に設定される請求項8に記載のプログラム。
JP2015028907A 2015-02-17 2015-02-17 通信処理装置、データ転送方法およびそのためのプログラム Pending JP2016151895A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015028907A JP2016151895A (ja) 2015-02-17 2015-02-17 通信処理装置、データ転送方法およびそのためのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015028907A JP2016151895A (ja) 2015-02-17 2015-02-17 通信処理装置、データ転送方法およびそのためのプログラム

Publications (1)

Publication Number Publication Date
JP2016151895A true JP2016151895A (ja) 2016-08-22

Family

ID=56695372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015028907A Pending JP2016151895A (ja) 2015-02-17 2015-02-17 通信処理装置、データ転送方法およびそのためのプログラム

Country Status (1)

Country Link
JP (1) JP2016151895A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007079865A (ja) * 2005-09-13 2007-03-29 Ricoh Co Ltd 情報送信装置、情報送信方法、情報送信プログラム、コンピュータに読み取り可能な記録媒体及び情報送信システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007079865A (ja) * 2005-09-13 2007-03-29 Ricoh Co Ltd 情報送信装置、情報送信方法、情報送信プログラム、コンピュータに読み取り可能な記録媒体及び情報送信システム

Similar Documents

Publication Publication Date Title
US10042905B2 (en) Information processing apparatus, information processing system, and data conversion method
JP6140937B2 (ja) ネットワークデバイス、プログラム、システムおよび方法
US9323482B2 (en) Print control system, method of controlling printing, and recording medium
JP2007114938A (ja) 管理装置、ネットワークシステム、管理装置の制御プログラム
JP2020140254A (ja) 画像形成装置及びその制御方法
US11079983B2 (en) Information processing apparatus that saves, in a shared memory, information for accessing a device using a URL via a USB, and method of controlling same
JP6172262B2 (ja) 情報処理装置
JP5609308B2 (ja) 画像処理システム、画像処理装置、情報処理装置、及び画像処理方法
US8380888B2 (en) System and method for determining printer health
JP2007257481A (ja) 印刷デバイス
JP6876235B2 (ja) 電子装置及び画像処理装置
JP6269751B2 (ja) Snmp要求を提供するプリンタの適応型ポーリング
US10466940B2 (en) Redirecting transmission of content from first HTTPS address to second HTTPS address
US9691010B2 (en) Information processing apparatus, distributed printing system, and method of controlling printing
JP2014032652A (ja) 印刷処理システム
JP6768544B2 (ja) 情報処理装置、制御方法およびプログラム
JP5817545B2 (ja) 印刷試行装置、印刷試行プログラム、印刷試行方法、印刷制御サーバー
JP2016151895A (ja) 通信処理装置、データ転送方法およびそのためのプログラム
JP2023130667A (ja) 監視装置、ネットワークデバイス、監視装置の制御方法、ネットワークデバイスの制御方法およびプログラム
JP6460905B2 (ja) 通信装置、制御方法、プログラム
JP2007307779A (ja) 組込機器、電子機器、組込機器の制御方法、プログラム及び記録媒体
JP5998343B2 (ja) デバイスサーバシステム、デバイスサーバおよびプログラム
JP6115253B2 (ja) プリントシステム、スプールサーバ、スプール方法、及びプログラム
WO2017159258A1 (ja) 情報処理装置及び環境設定方法
JP2010009147A (ja) 情報処理装置および情報処理方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170314

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170912