JP2006018376A - ネットワーク通信方式 - Google Patents

ネットワーク通信方式 Download PDF

Info

Publication number
JP2006018376A
JP2006018376A JP2004192901A JP2004192901A JP2006018376A JP 2006018376 A JP2006018376 A JP 2006018376A JP 2004192901 A JP2004192901 A JP 2004192901A JP 2004192901 A JP2004192901 A JP 2004192901A JP 2006018376 A JP2006018376 A JP 2006018376A
Authority
JP
Japan
Prior art keywords
soap
xml
message
packet
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.)
Withdrawn
Application number
JP2004192901A
Other languages
English (en)
Inventor
Hidenori Yokokura
秀則 横倉
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004192901A priority Critical patent/JP2006018376A/ja
Publication of JP2006018376A publication Critical patent/JP2006018376A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】 メモリを多く搭載していないデバイスにおいても、動的にサイズが増減し、かつ大きなサイズになる可能性のあるSOAP/XMLデータを効率的に送信することを可能とする。
【解決手段】 最初にSOAPメッセージを送信するデバイスが、1回の接続で送信可能な最大データ容量を受信側のサーバ側へ提示する。受信側サーバは、送信側デバイスから提示されたデータ容量内で受信可能な最大値を返信する。デバイス側は受信側サーバが指定したデータ容量に基づいて分割されたSOAPメッセージを生成・送信する。分割メッセージは結合に必要な分割識別情報し、受信側サーバは、この分割識別情報を参照し、メッセージの結合処理を行う。
【選択図】 図1

Description

本発明は、ネットワーク環境に接続されるMFP(Multi Function Peripheral)などの印刷デバイス装置に関する。
近年、ネットワークを通じてMFP等のデバイス装置に印刷できるばかりでなく、デバイス装置の管理や連携を行うシステムソリューションの開発が展開されてきている。また、こうした中で、Web技術であるSOAP/XMLを利用して、インターネット経由まで拡充され、カウンタ情報収集やエラー情報収集をホストサーバに集約し、デバイスを管理するシステムが開発されている。こうしたインターネットを利用したシステム開発は、今後ますます普及することが予想される。また、一方で、Web技術として、送信データを分割して送信することが可能であり、メモリバッファが少ないデバイス等でも対応できるしくみがチャンク機能として規定されている。
特開2004−40630号公報
しかしながら、SOAP/XMLで送信するデータは、より複雑な処理が求められつつあるがために、通信データサイズは拡大する方向にもかかわらず、通信を行う機器とサーバ間でその処理能力や記憶装置の容量は異なるため、単一のSOAP/XMLスキーマで、送信する際のバッファが不足し、送信が困難になったり、SOAP/XMLの設計時に通信データを抑えるために情報量を抑えたりする必要があった。ただし、従来の技術であるHTTPプロトコルのチャンク機能を用いれば分割送信ができるので、送信バッファの抑制は可能であるが、SOAP/XMLの特性上、スキーマを動的に生成するため、送信バッファ以外に、アプリケーションレベルでのバッファ確保を行うが、それができなくなる可能性があった。また、SOAP/XMLであるために、パケットを分割するとしても、SOAPエンベロープのタグで閉じられていないと、XMLパーサでエラーが発生してしまう問題点があった。
最初にSOAPメッセージを送信するデバイスがサーバ側へ1回の接続で送信可能な最大データ容量を提示する。受信側のサーバは、送信側デバイスから提示されたデータ容量内で受信可能な最大値をサーバ側で返信する(既に最適なデータ容量が得られている場合は省略)。サーバ側は受信側デバイスが指定したデータ容量に基づいて分割されたSOAPメッセージを生成・送信する。分割メッセージは結合に必要な分割識別情報(分割総数、結合順序、結合IDなど)を格納した要素を有する。受信側サーバは、この分割識別情報を参照し、メッセージの結合処理を行う。
最初にSOAPメッセージを送信するデバイスがサーバ側へ1回の接続で送信可能な最大データ容量を提示する。受信側のサーバは、送信側デバイスから提示されたデータ容量内で受信可能な最大値をサーバ側で返信する(既に最適なデータ容量が得られている場合は省略)。サーバ側は受信側デバイスが指定したデータ容量に基づいて分割されたSOAPメッセージを生成・送信する。分割メッセージは結合に必要な分割識別情報(分割総数、結合順序、結合IDなど)を格納した要素を有する。受信側サーバは、この分割識別情報を参照し、メッセージの結合処理を行う。以上のことから、メモリを多く搭載していないデバイスにおいても、動的にサイズが増減し、かつ大きなサイズになる可能性のあるSOAP/XMLデータを効率的に送信することが可能となる。
以下、図面を参照にして本発明の実施の形態を説明する。
図1は、本発明の一実施形態に係わるネットワークシステムの全体構成を示す図である。1−1は、デバイス装置であり、インターネットを経由して、1−7のホストサーバ装置に、カウンタ情報やエラー情報等のデバイス情報を定期、または不定期に送信するものである。1−2は、PCであり、1−4のイントラネットLANに接続されている。ネットワークを通じて、1−1のデバイス装置と通信することが可能であり、印刷ジョブを1−1のデバイス装置に送出することにより、ネットワーク印刷を行うことができる。1−3、1−6はゲートウェイ装置であり、1−5のインターネットへ接続するためのファイアーウォールの役目を果たす。1−8は、1−1のデバイス装置と同様であり、ネットワーク印刷や、ホストサーバへのデータ装置を行うことができる。1−9は、1−4と同様のイントラネットLANであり、ホストサーバ装置のあるLANである。
なお、PC、印刷デバイス装置は、同図に示す台数と異なる台数が接続されていもよい。
図2は、本発明の一実施形態に係わるネットワーク印刷デバイス装置の内部構成を示した図である。本内部構成では、1CPUにおいてネットワーク制御部とデバイス(プリンタ)制御部が動作する形態で実現されている。この印刷デバイス装置は、2−3に格納されているプログラムを実行するCPU2−1を備え、システムバス2−7に接続される各デバイスを総括的に制御する。また、2−2はRAMで、CPU1−1の主メモリ、ワークエリア等として機能する。このRAMにカウンタ情報やシステム情報を保存する。そして、システム情報を保存するバックアップRAMも構成される。2−4は、デバイスコントローラ(DVC)で、2−6のプリンタ(DV)などを制御する。2−5はネットワークインタフェースカード(NIC)で、LAN2−7を介して、他のネットワーク機器あるいは他のPCと双方向にデータをやりとりする。
また、本実施例においては、LAN3−12は図1におけるLAN1−4、LAN1−9、図2におけるLAN2−7と同じものである。
なお、カウンタ情報やシステム情報は、ハードディスク等のその他の記憶装置に保存してもよい。
図3は、本発明の一実施形態に係わるネットワークホストサーバ装置の内部構成を示した図である。本内部構成では、1CPUにおいてネットワーク制御部とデバイス(プリンタ)制御部が動作する形態で実現されている。この印刷デバイス装置は、3−3に格納されているプログラムを実行するCPU3−1を備え、システムバス3−11に接続される各デバイスを総括的に制御する。また、3−2はRAMで、CPU3−1の主メモリ、ワークエリア等として機能する。このRAMにデバイスごとの管理情報を保存する。そして、システム情報はバックアップRAMにも構成される。3−4は、キーボードコントローラ(KBC)で、3−8のキーボード(KB)からの指示入力を制御する。3−5は、CRTコントローラ(CRTC)で、CRTディスプレイ(CRT)3−9の表示を制御する。3−8のキーボードおよび3−9のCRTディスプレイを用いてユーザは、各デバイスに対する指示を要求することができる。3−6は、IOコントローラ(IOC)で、3−10のシリアルやパラレルなどを制御する。3−7はネットワークインタフェースカード(NIC)で、LAN3−12を介して、他のネットワーク機器あるいは他のPCと双方向にデータをやりとりする。
また、本実施例においては、LAN3−12は図1におけるLAN1−4、LAN1−9、図2におけるLAN2−7と同じものである。
なお、デバイスごとの管理情報や指示情報は、ハードディスク等のその他の記憶装置に保存してもよい。また、液晶パネルのタッチパネル等を用いて、仮想キーボードとし、キーボードの代わりとしても良い。
図4は、本実施例におけるHTTP上のSOAPを用いてクライアントから印刷装置に送信されるem_negotiateSizeと称されるパケットデータの一例である。このデータはXML形式で記述されている。em_negotiateSizeパケットは、デバイスの分割再送を実施する際にホストサーバに通知するコマンドであり、クライアント情報(<client>タグ)が記述されている。<client>タグには、クライアントを識別する<id>、クライアント送信サイズ<size>が含まれる。ここでは、idを100として、ホストサーバと通信している。また、最大送信パケットサイズとして、2048Kbyteを指定している。これは、SOAPエンベロープのサイズを示す。
なお、em_negotiationSizeを意味するのパケットであれば、このタグの構成には限定されない。
図5は、図4のem_negotiateSizeパケットに対する応答パケットデータの一例である。本データも図4と同様にXML形式で記述され、本実施例においてはHTTP上のSOAPを用いて送受信される。em_negotiateSize応答パケットには、em_negotiateSizeコマンド対する結果情報<として、サイズコード(<size>タグ)がある。クライアントであるデバイスが、<size>2048</size>と要求したのに対して、<size>2048</size>と返答しているので、次のパケットから1パケット最大2048Kbyteまで分割送信することができるようになる。また、ここで例えば、サーバ側の最大サイズが1024だったとすれば、<size>1024</size>と指定すれば、パケット最大1024Kbyteまで分割送信することができるようになる。
なお、em_negotiationSizeの応答を意味するのパケットであれば、このタグの構成には限定されない。
図6は、本実施例におけるHTTP上のSOAPを用いてデバイスからホストサーバに送信されるem_postGlobalClickCountと称されるパケットデータの一例である。このデータはXML形式で記述されている。em_postGlobalClickCountパケットは、デバイスのカウンタ情報をホストサーバに定期的に通知するコマンドであり、クライアント情報(<client>タグ)やアラート情報リスト(<clickCountList>タグ)等の情報が記述されている。<client>タグには、クライアントを識別する<id>、クライアントのタイプを識別する<type>、アプリケーションのバージョンを識別する<appVersion>が含まれる。また、clickCountListには、デバイスを識別する<device>、時刻を示す<timeStamp>、データの識別子<dataIdentity>、データ分割数<dataDivision>、終了パケットを示す<endFlag>とカウンター情報<clickCounts>から構成される。また、<device>には、MACアドレスの下位4バイトを識別する<mac>、IPアドレスを識別する<ip>、シリアル番号<serialNumber>、製品名<produceName>、形式<type>が記述される。
なお、em_postGlobalClickCountの要求を意味するのパケットであれば、このタグの構成には限定されない。
図7は、図6のem_postGlobalClickCountパケットに対する応答パケットデータの一例である。本データも図6と同様にXML形式で記述され、本実施例においてはHTTP上のSOAPを用いて送受信される。em_postGlobalClickCount要求パケットには、結果情報(<result>タグ)において、OKまたはNGを返信する。
なお、em_postGlobalClickCountの応答を意味するのパケットであれば、このタグの構成には限定されない。
図8は、デバイス装置から分割送信する場合における一般的なホストサーバの動作を示すフローチャートである。
以下、図8を用いて、本実施例の印刷装置の動作を説明する。
ホストサーバへ例えば、図4に示したようなem_negotiateSizeパケットがホストサーバに送信されると、ホストサーバ装置において、em_negotiateSizeに記述されたXMLデータを解析し(S8−1)、S8−2では、そこで記述されているデバイス装置の最大バッファサイズを許容し、分割再送を行うかどうかを判別する。最大バッファサイズを許容し、分割再送を行うかどうかを判別した結果、許容するのであれば、S8−3へ進み、そうでなければ、S8−7へ進む。S7−3では、相手機であるデバイス装置の最大サイズを含んだ図5で示したようなem_negotiateSzie応答パケットを生成し、デバイスに送信する。そして、デバイスから分割送信が必要な図6で示したようなpostClickCount要求を受信する。そして、受信タイムアウトやパケットデコードエラーの受信エラーかどうかをS8−4において判別する。受信エラーかどうかの判別の結果、受信エラーであれば、エラー通知をデバイス装置に送信して、S8−6へ進み、そうでなければ、S8−8へ進む。S8−8では、自機であるホストサーバの許容できる最大パケットサイズを示したタグを含めたパケットを生成し、デバイス装置に送信する。S8−8では、図6で示すようなem_postGlobalClickCountの<endFlag>タグが1であるかどうか判別する。<endFlag>タグが1であれば、em_postGlobalClickCountを送信してS8−9へ、そうでなければ、em_postGlobalClickCountを送信してS8−4へ進む。S8−9では、データの結合を行って終了する。
なお、ここでは、デバイス装置とホストサーバとの通信例を示したが、送信側のリソース状態により、本分割送信をするが、デバイス装置間で本案を適用することができる。また、本例では、em_postGlobalClickCountを例としたが、パケットデータが比較的大くなりうるSOAP関数であれば特に言及されるものではない。
図9は、分割送信する場合における一般的なデバイス装置の動作を示すフローチャートである。
以下、図9を用いて、本実施例の印刷装置の動作を説明する。
ホストサーバへ例えば、図6に示したようなem_postGlobalClickCount等のデバイス情報を送信する時間がきたとする。S9−1でパケット送信を実行しようとし、S9−2で、送信しようとするパケットは、データ分割すべきかどうかを判別する。判別の結果、データ分割可能なSOAP関数であれば、S9−3へ進み、そうでなければ、S9−12へ進む。S9−3では、negotiateSizeのSOAP関数を図4に示したような<size>タグに1パケットの最大送信データ量を記述して、ホストサーバへ送信する。S9−4では、negotiateSize応答を受信する。その中のタグ<size>にある数値を確認し、デバイスが指定したサイズと一致しているかどうかにより、送るべきデータ量が受諾されたかどうか判別(S9−5)する。サイズ受託がされたならば、S9−6へ進み、そうでなければ、S9−13へ進む。S9−6では、自機デバイスのサイズを最大として、パケットを生成する。S9−7では、パケットを送信(ここでは、em_postGlobalClickCount)する。S9−8では、そのパケットのレスポンスを受信する。S9−9では、次に送るべきデータが分割したデータを最後となるかどうかを判別する。最後であれば、S9−10へ進み、そうでなければ、S9−5へ戻る。S9−10では、em_postGlobalClickCountにおいて、<endFlag>1<endFlag>として、サーバに送信する。S9−11は、postGlobalClickCountの応答を受信する。S9−12では、通常のパケット生成をして、S9−13へ進む。S9−13では、サーバである相手機が指定したサイズでパケットを生成する。S9−13では、データ送信を終了する。
なお、em_negotiateSzieでお互いの最大サイズを交換せずに、<endFlag>を付加して送信するだけでも、デバイス装置のパケットを分割する目的は達成される。
本発明の一実施形態に係わるネットワークシステムの全体構成を示す図。 本発明の一実施形態に係わるネットワーク印刷デバイス装置の内部構成を示した図。 本発明の一実施形態に係わるネットワークホストサーバ装置の内部構成を示した図。 本実施例におけるHTTP上のSOAPを用いてクライアントから印刷装置に送信されるem_negotiateSizeと称されるパケットデータの一例。 図4のem_negotiateSizeパケットに対する応答パケットデータの一例。 本実施例におけるHTTP上のSOAPを用いてデバイスからホストサーバに送信されるem_postGlobalClickCountと称されるパケットデータの一例。 図6のem_postGlobalClickCountパケットに対する応答パケットデータの一例。 デバイス装置から分割送信する場合における一般的なホストサーバの動作を示すフローチャート。 分割送信する場合における一般的なデバイス装置の動作を示すフローチャート。
符号の説明
2−5、3−7 ネットワーク
1―4、1−9、2−7、3−12 ネットワーク通信制御部

Claims (2)

  1. 種々のネットワークデバイスと種々のコンピュータが接続されたネットワークシステムにおいて、
    SOAP/XMLメッセージを送受信する手段と、
    送信側デバイスが、送信側のXMLに対する最大送信サイズに応じて、SOAP/XMLメッセージを分割・送信する手段と、
    送信側デバイスが、送信するSOAP/XMLメッセージに最終メッセージかどうかを識別する識別子をスキーマとして付加する手段と、
    受信側サーバまたは、受信側デバイスが、分割されたSOAP/XMLメッセージを受信する手段と、
    受信側サーバまたは、受信側デバイスが、最終メッセージであることを示す識別子が付加されているSOAP/XMLメッセージを受信した際に、一連のSOAP/XMLデータを、1つのXMLデータとして結合することを特徴とするネットワーク通信方式。
  2. 上記請求項1のネットワーク通信方式であって、
    送信側デバイスが、SOAP/XMLメッセージを分割・送信する前に、
    送信側の最大送信サイズを通知するためのSOAP/XMLメッセージを送信する手段と、
    受信側サーバまたは、受信側デバイスは、前記最大送信サイズを通知するためのSOAP/XMLメッセージを受信する手段と、
    受信側サーバまたは、受信側デバイスが、前記最大送信サイズを許容できる場合、許容できることを示すSOAP/XMLメッセージで応答し、記最大送信サイズを許容できない場合、自装置が許容する最大受信サイズを、送信側デバイスに通知する手段と、
    送信側・受信側のSOAP/XMLメッセージ交換により、分割されたSOAP/XMLメッセージの最大送信サイズを決定することを特徴とするネットワーク通信方式。
JP2004192901A 2004-06-30 2004-06-30 ネットワーク通信方式 Withdrawn JP2006018376A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004192901A JP2006018376A (ja) 2004-06-30 2004-06-30 ネットワーク通信方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004192901A JP2006018376A (ja) 2004-06-30 2004-06-30 ネットワーク通信方式

Publications (1)

Publication Number Publication Date
JP2006018376A true JP2006018376A (ja) 2006-01-19

Family

ID=35792629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004192901A Withdrawn JP2006018376A (ja) 2004-06-30 2004-06-30 ネットワーク通信方式

Country Status (1)

Country Link
JP (1) JP2006018376A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006216024A (ja) * 2005-02-02 2006-08-17 Microsoft Corp 交換フォーマットメッセージの効率的な変換
JP2009044232A (ja) * 2007-08-06 2009-02-26 Ricoh Co Ltd 画像処理装置、スキャンデータ分割送信方法及びスキャンデータ分割送信プログラム
JP2010026846A (ja) * 2008-07-22 2010-02-04 Kyocera Mita Corp 画像形成システム
JP2011044463A (ja) * 2009-08-19 2011-03-03 Nuflare Technology Inc 荷電粒子ビーム描画装置、荷電粒子ビーム描画方法、および、荷電粒子ビーム描画用データの処理装置
JP2013109501A (ja) * 2011-11-18 2013-06-06 Canon Inc 情報処理装置、情報処理装置の制御方法、プログラム
CN103354884A (zh) * 2010-05-04 2013-10-16 诺玛美国控股有限责任公司 快速连接器组件
JP2016215549A (ja) * 2015-05-22 2016-12-22 京セラドキュメントソリューションズ株式会社 画像形成システムおよび画像形成装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006216024A (ja) * 2005-02-02 2006-08-17 Microsoft Corp 交換フォーマットメッセージの効率的な変換
JP2009044232A (ja) * 2007-08-06 2009-02-26 Ricoh Co Ltd 画像処理装置、スキャンデータ分割送信方法及びスキャンデータ分割送信プログラム
JP2010026846A (ja) * 2008-07-22 2010-02-04 Kyocera Mita Corp 画像形成システム
US8345288B2 (en) 2008-07-22 2013-01-01 Kyocera Document Solutions Inc. Image forming system and image forming apparatus
JP2011044463A (ja) * 2009-08-19 2011-03-03 Nuflare Technology Inc 荷電粒子ビーム描画装置、荷電粒子ビーム描画方法、および、荷電粒子ビーム描画用データの処理装置
CN103354884A (zh) * 2010-05-04 2013-10-16 诺玛美国控股有限责任公司 快速连接器组件
JP2013109501A (ja) * 2011-11-18 2013-06-06 Canon Inc 情報処理装置、情報処理装置の制御方法、プログラム
JP2016215549A (ja) * 2015-05-22 2016-12-22 京セラドキュメントソリューションズ株式会社 画像形成システムおよび画像形成装置

Similar Documents

Publication Publication Date Title
US10698717B2 (en) Accelerator virtualization method and apparatus, and centralized resource manager
US8516509B2 (en) Methods and computer program products for monitoring system calls using safely removable system function table chaining
EP2321937B1 (en) Load balancing for services
JP2004534311A (ja) 共有属性に基づいて圧縮キューペアから複数の仮想キューペアを作成する構成
US20110194133A1 (en) Image forming apparatus, control method for the same, and storage medium for program
EP3149921B1 (en) Providing router information according to a programmatic interface
WO2019090997A1 (zh) 一种数据获取方法、装置、计算机设备及存储介质
US8539089B2 (en) System and method for vertical perimeter protection
EP2011029B1 (en) Managing network response buffering behavior
CN106569789B (zh) 任务提交的方法和装置
JP2006018376A (ja) ネットワーク通信方式
US11444882B2 (en) Methods for dynamically controlling transmission control protocol push functionality and devices thereof
CN116150054B (zh) 一种基于pcie的中断信息处理方法
JP4566148B2 (ja) ネットワーク疎通監視システム、ネットワーク疎通監視方法、中央装置、中継装置及びコンピュータプログラム
WO2024040846A1 (zh) 数据处理方法、装置、电子设备及存储介质
US7363383B2 (en) Running a communication protocol state machine through a packet classifier
JP5082111B2 (ja) コンピュータシステム、サービス利用装置、制御方法、及びプログラム
CN113590333B (zh) 针对业务引擎的系统资源调度方法及电子设备
JP5529596B2 (ja) 処理方法、処理装置、通信装置及びプログラム
CN111210505A (zh) 3d模型加载方法、服务器、存储介质、处理器
US20230179545A1 (en) Packet forwarding apparatus with buffer recycling and associated packet forwarding method
JP4483633B2 (ja) ハードウェアリソースの状態を管理するための情報処理装置、方法及びプログラム
JP2007140831A (ja) 企業間業務データ交換装置、方法及びプログラム並びに企業間業務データ送受信システム
CN117806866A (zh) Rdma缺页异常处理方法、装置、电子设备及存储介质
CN113157456A (zh) 一种适用于云环境的分布式无状态半开扫描方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070904