JP2006285903A - Method of avoiding duplication of communication port - Google Patents
Method of avoiding duplication of communication port Download PDFInfo
- Publication number
- JP2006285903A JP2006285903A JP2005108573A JP2005108573A JP2006285903A JP 2006285903 A JP2006285903 A JP 2006285903A JP 2005108573 A JP2005108573 A JP 2005108573A JP 2005108573 A JP2005108573 A JP 2005108573A JP 2006285903 A JP2006285903 A JP 2006285903A
- Authority
- JP
- Japan
- Prior art keywords
- network device
- port information
- network
- transmission request
- request 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
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
Description
本発明は、第一のネットワーク装置と接続インターフェイスを介して接続可能な第二のネットワーク装置において、前記第一のネットワーク装置に備えられたプロトコルスタックと前記第二のネットワーク装置に備えられたプロトコルスタックとの間で送信時に使用する通信ポートに重複が生じていないかを判断し、重複が生じていた場合にはその重複を回避する方法に関するものである。 The present invention provides a second network device connectable to a first network device via a connection interface, a protocol stack provided in the first network device and a protocol stack provided in the second network device. It is related to a method for determining whether or not duplication has occurred in communication ports used at the time of transmission, and for avoiding duplication.
ビジネス・オフィス環境をサポートするためのネットワークなどの大規模ネットワーク環境においては、しばしば、ネットワーク機能を備えた印刷装置など、異なる機能能力を有する、異なるタイプおよび世代の多数のネットワーク・デバイスが含まれることがある。新しい技術が出現し、改善された機能性が新しいモデルまたは世代のネットワーク・デバイスにおいて実施されるにつれて、ネットワーク内で使用可能な機能は、どのネットワーク・デバイスが利用されているかに応じて大幅に変化する可能性がある。たとえば、ネットワーク環境におけるいくつかのより新しい印刷装置はセキュア・プリンティングをサポートすることができるのに対して、そのネットワーク環境に存在するより古い印刷装置はセキュア・プリンティングをサポートしていないという状態が生じ得る。 Large network environments, such as networks to support business office environments, often include a large number of different types and generations of network devices with different functional capabilities, such as printing devices with network capabilities There is. As new technologies emerge and improved functionality is implemented in new models or generations of network devices, the functionality available in the network varies significantly depending on which network device is being utilized. there's a possibility that. For example, some newer printing devices in a network environment can support secure printing, while older printing devices that exist in the network environment do not support secure printing. obtain.
新しい技術および改良をネットワーク環境全体に渡って実施し、それにより同じ機能能力のセットを、すべてのネットワーク・ユーザがすべてのネットワーク・デバイスについて使用可能にすることが、一般には望ましい。さもないと、一部のネットワーク・ユーザに割り当てられたネットワーク・デバイスが他のより新しいネットワーク・デバイスによってサポートされた新しい機能性をサポートしないような場合には、そのネットワーク・ユーザはセキュア・プリンティングおよび電子メール印刷などの新しい有用な機能を利用できなくなるであろう。 It is generally desirable to implement new technologies and improvements throughout the network environment, thereby making the same set of capabilities available to all network users for all network devices. Otherwise, if a network device assigned to some network user does not support the new functionality supported by other newer network devices, the network user may New useful features such as email printing will not be available.
この問題に対する1つの問題解決手法は、単純にすべてのレガシー・ネットワーク・デバイスを、所望の新しい機能能力を有する新しいネットワーク・デバイスで置き換えることである。しかしながら、この問題解決手法を実施する場合の労力および費用は多大であり、新しい機能能力を必要とする新しいエンタープライズ・アプリケーションが頻繁に実施されるような場合には現実的な方法ではない。 One problem-solving approach to this problem is simply to replace all legacy network devices with new network devices with the desired new functional capabilities. However, the effort and cost of implementing this problem-solving approach is tremendous and not practical when new enterprise applications that require new functional capabilities are frequently implemented.
上記問題に対するもう1つの問題解決手法は、新しいファームウェアを各レガシー・ネットワーク・デバイスにダウンロードすることによってレガシー・ネットワーク・デバイスを修正することである。しかし、この問題解決手法においても、ネットワーク・アドミニストレータまたはサービス担当者が物理的に各レガシー・ネットワーク・デバイスにアクセスし、次いで適切なバージョンのファームウェアをダウンロードして、そのレガシー・デバイスが他のネットワーク・デバイスと整合の取れた機能性をサポートするようにすることが必要であり、著しい労力が要求されてしまう。また、多くの場合、レガシー・デバイスにハードウェアおよびデザイン上の制限があるため、新しい機能性を実施するために新しいバージョンのファームウェアをレガシー・デバイスにダウンロードすることは可能ではない。 Another problem-solving approach to the above problem is to modify the legacy network device by downloading new firmware to each legacy network device. However, in this problem-solving approach, a network administrator or service representative can physically access each legacy network device, then download the appropriate version of firmware, and the legacy device can It is necessary to support functionality that is consistent with the device, which requires significant effort. Also, in many cases, because legacy devices have hardware and design limitations, it is not possible to download new versions of firmware to legacy devices to implement new functionality.
この問題に対するその他の問題解決手法として、接続インターフェイスを介してレガシー・ネットワーク・デバイスと接続可能な、レガシー・ネットワーク・デバイスのための所望の追加機能性をサポートするネットワーク・モジュールを用いるという手法が考えられる。 Another possible solution to this problem is to use a network module that supports the desired additional functionality for the legacy network device that can be connected to the legacy network device through the connection interface. It is done.
上記ネットワーク・モジュールの具体例のひとつとして、接続インターフェイスを介して印刷装置に装着可能な、インテリジェント型ネットワークカードモジュールが挙げられる(例えば、特許文献1)。 As a specific example of the network module, there is an intelligent network card module that can be attached to a printing apparatus via a connection interface (for example, Patent Document 1).
この場合、印刷装置本体とネットワークカードモジュールは個々にCPUを持ったインテリジェントな形態であり、通常ネットワークカードモジュール側にネットワーク経由での各種プリントサービスの統括制御を行うプリントサーバ機能を備えており、印刷装置とネットワークカードモジュールは接続インターフェイスを介して通信を行ない所望のサービスを実装している。 In this case, the printer main unit and network card module are intelligent forms with individual CPUs, and the network card module usually has a print server function that performs overall control of various print services via the network. The device and the network card module communicate with each other via a connection interface to implement a desired service.
このことは逆に負荷の重い機能をネットワークカードモジュールに追い出すことが可能となり、相対的に印刷装置本体のCPUや周辺パフォーマンスを下げることが可能となり、印刷装置本体のコスト削減をもたらしている。
上記ネットワークカードモジュールでは、ネットワークカードモジュールに備えられたプロトコルスタックと印刷装置に備えられたプロトコルスタックが、それぞれ非同期にネットワークカードモジュールに備えられた物理インターフェイスを介してネットワーク上に存在するホストコンピュータ等のクライアントとTCP/IPやその他の通信プロトコルを使用して通信を行う。これを可能にするためネットワークカードモジュールは、物理インターフェイスよりデータを受信した際に、その受信データをネットワークカードモジュールに備えられたプロトコルスタックと印刷装置に備えられたプロトコルスタックのいずれか適切な方に振り分ける機能を有する。前記振り分け機能は、ネットワークカードモジュールに備えられたプロトコルスタックと物理インターフェイスを制御するドライバとの間の層に位置し、具体的には以下の処理を行う。まず、物理インターフェイスのドライバより受信データを渡されると、その受信データのヘッダ情報を先読みして、送信先ネットワーク・アドレスや送信先ポート番号などの送信先ネットワーク情報を取得する。次に、ネットワークカードモジュールに備えられたプロトコルスタックがオープン中であるソケットのソケット情報を取得し、前記送信先ネットワーク情報と一致するネットワーク・アドレスやポート番号などのネットワーク情報でオープン中のソケットが存在するかどうか検索する。検索の結果、一致するソケットが存在する場合は、その受信データをネットワーク・モジュール自身に備えられているプロトコルスタックに振り分ける。一致するソケットが存在しない場合には、受信データを接続インターフェイスを介して印刷装置に転送する。 In the network card module, a protocol stack provided in the network card module and a protocol stack provided in the printing apparatus are asynchronously connected to each other via a physical interface provided in the network card module, such as a host computer. Communicate with clients using TCP / IP or other communication protocols. To enable this, when the network card module receives data from the physical interface, the received data is sent to the appropriate protocol stack provided in the network card module or the protocol stack provided in the printing device. Has a function of sorting. The distribution function is located in a layer between a protocol stack provided in the network card module and a driver that controls the physical interface, and specifically performs the following processing. First, when received data is passed from the driver of the physical interface, the header information of the received data is prefetched to acquire destination network information such as a destination network address and a destination port number. Next, the socket information of the socket in which the protocol stack provided in the network card module is open is acquired, and there is an open socket with network information such as the network address and port number that matches the destination network information. Search if you want to. If there is a matching socket as a result of the search, the received data is distributed to the protocol stack provided in the network module itself. If there is no matching socket, the received data is transferred to the printing apparatus via the connection interface.
以上の処理を行う前記振り分け機能では、ネットワークカードモジュールに備えられたプロトコルスタックと印刷装置に備えられたプロトコルスタックとの間で通信ポート番号の重複が生じている場合には、重複ポート番号に対する受信データは常にネットワークカードモジュールに備えられたプロトコルスタックに振り分ける。すなわち、受信に関して常にネットワークカードモジュールに備えられたプロトコルスタックを優先させたシステムを実現している。 In the distribution function for performing the above processing, if there is a duplication of communication port numbers between the protocol stack provided in the network card module and the protocol stack provided in the printing apparatus, reception for the duplicate port number is performed. Data is always distributed to the protocol stack provided in the network card module. That is, a system that always prioritizes the protocol stack provided in the network card module for reception is realized.
しかしながら、ネットワークカードモジュールに備えられたプロトコルスタックと印刷装置に備えられたプロトコルスタックが重複ポート番号に対して同時にデータ送信を行った場合、どちらのデータもネットワーク上に送出されてしまうという問題点が考えられる。また、印刷装置に備えられたプロトコルスタックから重複ポート番号を使用して送信されたデータに対する応答データが前記重複ポート番号に対して来た場合、この応答データは前記振り分け機能によってネットワークカードモジュールに備えられたプロトコルスタックに振り分けられる。そのため、例えばTCP/IPプロトコルにおけるユーザデータグラムプロトコル(UDP)などのコネクションレス型プロトコルを使用した通信の場合、ネットワークカードモジュールに実装されたアプリケーション・プログラムに不要な受信データが渡されることとなる。また、伝送制御プロトコル(TCP)などのコネクション型プロトコルを使用した通信の場合であっても、ネットワークカードモジュールに備えられたプロトコルスタックに不要なデータが渡されることとなる。いずれも場合であっても、ネットワークカードモジュールで不要なデータの受信処理による作業負荷が増大する可能性が考えられる。 However, when the protocol stack provided in the network card module and the protocol stack provided in the printing apparatus simultaneously transmit data to the duplicate port number, both data are transmitted over the network. Conceivable. Further, when response data for data transmitted using a duplicate port number from the protocol stack provided in the printing apparatus comes to the duplicate port number, the response data is provided in the network card module by the distribution function. Assigned to the designated protocol stack. Therefore, for example, in the case of communication using a connectionless protocol such as the user datagram protocol (UDP) in the TCP / IP protocol, unnecessary received data is passed to the application program installed in the network card module. Even in the case of communication using a connection-type protocol such as the transmission control protocol (TCP), unnecessary data is passed to the protocol stack provided in the network card module. In either case, there is a possibility that the work load due to reception processing of unnecessary data in the network card module increases.
本発明は上記問題点に鑑みてなされたものであり、
第一のネットワーク装置と接続インターフェイスを介して接続可能な第二のネットワーク装置であって、
前記第一のネットワーク装置から前記接続インターフェイスを介して転送された送信依頼データもしくは前記第二のネットワーク装置に備えられたプロトコルスタックから転送された送信依頼データを、前記第二のネットワーク装置に備えられた物理インターフェイスよりネットワークに送信する送信依頼データ送信手段と、
前記物理インターフェイスより受信した受信データを前記第一のネットワーク装置と前記第二のネットワーク装置に備えられたプロトコルスタックのいずれかもしくは両方に転送する受信データ転送手段と、
を備えることを特徴とする第二のネットワーク装置において、
前記第二のネットワーク装置に備えられたプロトコルスタックが現在使用中であるポート情報を記憶するポート情報記憶手段と、
前記第一のネットワーク装置より前記接続インターフェイスを介して送信依頼データが転送された際に、前記送信依頼データから送信元ポート情報を取得する送信元ポート情報取得手段と、
前記送信元ポート情報取得手段で得られた送信元ポート情報が前記ポート情報記憶手段で記憶しているポート情報と重複していないかどうかを判断するポート情報重複判断手段と、
前記ポート情報重複判断手段でポート情報の重複が検出された場合に、前記送信依頼データを破棄し、送信依頼元に送信エラーを通知する手段と、
から構成されるポート情報重複回避方法である。
The present invention has been made in view of the above problems,
A second network device connectable to the first network device via a connection interface,
Transmission request data transferred from the first network device via the connection interface or transmission request data transferred from a protocol stack provided in the second network device is provided in the second network device. Transmission request data transmission means for transmitting to the network from the physical interface,
Received data transfer means for transferring received data received from the physical interface to either or both of the protocol stacks provided in the first network device and the second network device;
In the second network device, comprising:
Port information storage means for storing port information currently used by the protocol stack provided in the second network device;
Source port information acquisition means for acquiring source port information from the transmission request data when transmission request data is transferred from the first network device via the connection interface;
Port information duplication judgment means for judging whether or not the transmission source port information obtained by the transmission source port information acquisition means is duplicated with the port information stored in the port information storage means;
Means for discarding the transmission request data and notifying a transmission request source of a transmission error when duplication of port information is detected by the port information duplication determination means;
Is a method for avoiding duplication of port information.
本発明によれば、前記第一のネットワーク装置より前記接続インターフェイスを介して送信依頼データが前記第二のネットワーク装置に転送された際に、前記送信依頼データの使用ポート番号が前記第二のネットワーク装置の使用するポート番号と重複していた場合には、前記送信依頼データを破棄し、送信依頼元へ送信エラーを通知することにより、前記第一のネットワーク装置に備えられたプロトコルスタックと前記第二のネットワーク装置に備えられたプロトコルスタックが重複ポート番号に対して同時にデータをネットワーク上に送出してしまうことを防ぐことができる。またそのため、前記第一のネットワーク装置に備えられたプロトコルスタックから重複ポート番号を使用して送信されたデータに対する応答データが前記重複ポート番号に対して来ることが無くなり、前記応答データが前記第二のネットワーク装置に備えられた受信データの振り分け機能によって前記第二のネットワーク装置に備えられたプロトコルスタックに振り分けられることも無くなる。結果として、前記第二のネットワーク装置における不要なデータの受信処理に要する作業負荷を軽減させることが可能となる。 According to the present invention, when transmission request data is transferred from the first network device to the second network device via the connection interface, the use port number of the transmission request data is set to the second network. If the port number used by the device is duplicated, the transmission request data is discarded, and a transmission error is notified to the transmission request source, whereby the protocol stack provided in the first network device and the first It is possible to prevent the protocol stack provided in the second network device from simultaneously sending data on the network to the duplicate port number. For this reason, response data for data transmitted using a duplicate port number from the protocol stack provided in the first network device does not come to the duplicate port number, and the response data is not sent to the second network device. The received data distribution function provided in the network device is not distributed to the protocol stack provided in the second network device. As a result, it is possible to reduce the work load required for unnecessary data reception processing in the second network device.
(実施例1)
図1は、本発明の実施形態に関わる印刷システムのハードウェア構成を説明するブロック図である。1000はプリンタで、内部で大きくネットワークプリンタサーバ1500とプリンタコントローラ1600からなる異なる制御系を司る機器で構成されている。ネットワークプリントサーバ1500において、1はネットワークプリントサーバ用CPUで、書き換え可能なFlashROM3に記憶された制御プログラムに基づいてシステムバス4に接続されるネットワークコントローラ(LANC5)を介してローカルエリアネットワーク(LAN2000)に接続されたホストコンピュータ等の複数の外部装置(不図示)と所定のネットワーク通信プロトコルを用いて、前記外部装置から送られる印刷データやプリンタ制御命令等の各種データ送受信要求を統括的に制御し、拡張インターフェイスコントローラ(EXPC7)を介して接続されるプリンタコントローラ1600に対して適切なデータ転送制御を行う。またFlashROM3には、図3,4のフローチャートで示されるようなポート情報重複判断・重複回避のプログラムも記憶されている。
Example 1
FIG. 1 is a block diagram illustrating a hardware configuration of a printing system according to an embodiment of the present invention. Reference numeral 1000 denotes a printer, which is mainly composed of devices that control different control systems, including a
RAM2はCPU1の主メモリ、ワークエリア等の一時記憶領域として用いられる。
The
LED6はネットワークプリントサーバの動作状態を示す表示部として用いられており、例えばネットワークコントローラ(LANC5)とローカルエリアネットワーク(LAN2000)の電気的な接続状態(LINK)やネットワーク通信モード(10Baseや100Base、全二重、半二重)等の各種動作状態をLEDの点滅パターンや色で示すことが可能となっている。
The
さらにネットワークプリントサーバ1500とプリンタコントローラ1600を繋ぐ拡張インターフェイス17は、図示しないコネクタで構成されておりネットワークプリントサーバ1500のみが着脱し、同じ構成を持つ別のプリンタ1000にネットワークプリントサーバ1500を装着することも可能な構成となっている。
Furthermore, the
プリンタコントローラ1600において、8はプリンタコントローラ用CPUで、ROM9に記憶された制御プログラム等あるいはディスクコントローラ(DKC15)を介して接続された外部メモリ10に記憶された制御プログラムやリソースデータ(資源情報)等に基づいてシステムバス11に接続される各種デバイスとのアクセスを統括的に制御し、拡張インターフェイスコントローラ(EXPC13)を介して接続されるネットワークプリントサーバ1500から受信される印刷データを基にラスタコントローラ12によって出力画像情報を生成し、プリントエンジン16に対して画像信号を出力する。
In the
14はCPU8の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。 Reference numeral 14 denotes a RAM that functions as a main memory, work area, and the like for the CPU 8, and is configured so that the memory capacity can be expanded by an optional RAM connected to an expansion port (not shown).
18は操作パネル(操作部)でプリンタ1000の動作モード等の設定や印刷データの取り消し等の操作を行うためのボタンおよびプリンタ1000の動作状態を示す液晶パネルやLED等の表示部が配されている。
なお、本図で示したプリンタエンジン16は既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式(レーザービーム方式)やインクジェット方式、昇華(熱転写)方式等が挙げられる。
The
図2は、本発明の実施形態に好適な印刷システムにおけるプリンタ1000内の制御機器であるネットワークプリントサーバ1500およびプリンタコントローラ1600の各記憶デバイスに記憶された制御プログラム内のソフトウェア構成を説明するブロック図である。
FIG. 2 is a block diagram illustrating a software configuration in a control program stored in each storage device of the
なお上記各制御プログラムは各制御機器のCPUによってプログラムが解析され処理される。 Each control program is analyzed and processed by the CPU of each control device.
1501はネットワークプリントサーバ1500の基本的なデータの入出力制御を統括するオペレーティングシステムである。さらに前記オペレーティングシステム1501内にはプログラム/データ記憶部1509との入出力制御を行うファイルシステム1505、プリンタコントローラ1600と拡張インターフェイス17を介して通信制御を行う拡張インターフェイスドライバ1506、ローカルエリアネットワーク(LAN2000)の通信媒体を介して不図示のホストコンピュータ等の外部装置と通信を行うネットワークインターフェイスドライバ1507、TCP/IPプロトコルでの通信制御を行うプロトコルスタック1508、中間モジュール1510を内包している。
An
中間モジュール1510は、プロトコルスタック1508と拡張インターフェイスドライバ1506、ネットワークインターフェイスドライバ1507の中間に位置し、プロトコルスタック1508から渡された送信依頼データ、もしくは、拡張インターフェイス17及び拡張インターフェイスドライバ1506を介してプリンタコントローラ1600から渡された送信依頼データを、ネットワークインターフェイスドライバ1507より送信する手段と、ネットワークインターフェイスドライバ1507より渡された受信データをプロトコルスタック1508とプリンタコントローラ1600のいずれかもしくは両方に振り分けるための振り分け先判断手段と、判断結果に基づいて受信データをプロトコルスタック1508とプリンタコントローラ1600のいずれかもしくは両方に振り分ける手段とを備える。また、中間モジュール1510は、本発明の主題である送信ポート番号の重複検出及び重複回避手段を更に備えている。
The
1502はアプリケーションプログラムインターフェイス(API)であり、ネットワークプリントサーバ1500で動作するユーザアプリケーション1503やプリンタ1000やユーザアプリケーションの登録・管理を行う管理アプリケーション等のアプリケーションプログラムに対して前記オペレーティングシステムが備える各種機能を提供する。また前記アプリケーションプログラムインターフェイス1502で提供される機能は、印刷データの送受信機能を提供するデータ転送API、ビットマップ画像や表示メッセージ等のリソースデータの入出力制御を行うリソース制御API、プリンタ1000の再起動や設定値の初期化や設定等の制御を行うプリンタ制御API、印刷ジョブの取り消しや再印刷指示などを制御するジョブ制御API、ネットワークプリントサーバ1500の再起動や設定値の初期化や設定、およびアプリケーションプログラムの起動、登録、削除を行うプリントサーバ制御APIを備える。
1601はプリンタコントローラ1600の各種処理制御を統括するオペレーティングシステムであり、内部にプリントエンジンとの通信制御を行うプリントエンジン制御部1603およびネットワークプリントサーバ1500から参照されるビットマップ画像やエラーメッセージ等の機種依存リソースおよびネットワークプリントサーバ上で動作する機種依存アプリケーションプログラム等を記憶する機種依存リソース/プログラム記憶部との入出力制御を行うファイルシステム1604、TCP/IPプロトコルでの通信制御を行うプロトコルスタック1605を内包している。
1601 is an operating system that controls various processing controls of the
1602は拡張インターフェイス制御部であり、拡張インターフェイス17を介してネットワークプリントサーバ1500との通信制御を行う。さらに前記拡張インターフェイス制御部は、制御種別毎に印刷データの入出力を制御するデータ転送論理インターフェイス、機種依存リソース/プログラム記憶部9に記憶された各種データの入出力を制御するリソース制御論理インターフェイス、プリンタ1000の再起動や設定値の初期化や設定等の制御を行うプリンタ制御論理インターフェイス、印刷ジョブの取り消しや再印刷指示などを制御するジョブ制御論理インターフェイスを備えており、各論理インターフェイスを介してネットワークプリントサーバ1500から要求された命令をオペレーティングシステム1601に対して転送し、その処理結果をネットワークプリントサーバ1500に対して返信する。
図3は、本発明に係るネットワークプリントサーバ1500上で動作する送信ポート番号の重複検出・回避処理機能の一実施形態を示すフローチャートである。なお、S301〜S310は各処理ステップを示し、ネットワークプリントサーバ1500において、ネットワークプリントサーバ1500に備えられたプロトコルスタック1508もしくはプリンタコントローラ1600のいずれかから送信依頼データが渡された場合の中間モジュール1510の処理フローに対応する。なお各ステップに対応する制御手順はネットワークプリントサーバ1500のFlashROM3に記憶されている。また、プリンタコントローラ使用ポートリストはプリンタコントローラ1600がデータ送信に使用しているポート番号を登録するためにネットワークプリントサーバ1500のRAM2上に確保された有限な領域である。
FIG. 3 is a flowchart showing an embodiment of the transmission port number duplication detection / avoidance processing function operating on the
S301において、渡された送信依頼データが、プリンタコントローラ1600から拡張インターフェイス17を介して渡されたものであるかどうかを判断する。
In S301, it is determined whether or not the transmitted transmission request data has been transmitted from the
送信依頼データがプリンタコントローラ1600から渡されたものでない場合は、ネットワークプリントサーバ1500に備えられたプロトコルスタック1508から渡されたものであると判断し、S302に進んで、送信依頼データのヘッダ情報を読み出し、送信元ポート番号を取得する。次に、S303でプリンタコントローラ使用ポートリストを検索し、取得した送信元ポート番号と同じポート番号が登録されていないかどうかを判断する。
If the transmission request data is not passed from the
同じポート番号が登録されていた場合は、そのポート番号はプリンタコントローラ1600が使用中であると判断して、S304に進み、送信依頼データは破棄し、送信依頼元であるネットワークプリントサーバ1500に備えられたプロトコルスタック1508に対して送信エラーを通知した後処理を終了する。
If the same port number is registered, the
S303において同じポート番号が登録されていない場合は、S310に進み、送信依頼データをLAN2000を介して不図示のホストコンピュータ等の外部装置に対して送信した後処理を終了する。
If the same port number is not registered in S303, the process proceeds to S310, where transmission request data is transmitted to an external device such as a host computer (not shown) via the
S301で、送信依頼データがプリンタコントローラ1600から渡されたものであった場合は、S305で送信依頼データのヘッダ情報を読み出し、送信元ポート番号を取得する。
If the transmission request data is passed from the
次にS306で、プリンタコントローラ使用ポートリストを検索し、S305で取得した送信元ポート番号と同じポート番号が登録されていないかどうかを確認する。 In step S306, the printer controller use port list is searched to check whether the same port number as the transmission source port number acquired in step S305 is registered.
同じポート番号が登録されていない場合は、S307に進み、ネットワークプリントサーバ1500に備えられたプロトコルスタック1508が使用中のソケットのソケット情報を検索して、送信元ポート番号と同じポート番号を使用中のソケットが存在していないかどうかを判断する。
If the same port number is not registered, the process proceeds to S307, and the
同じポート番号を使用中のソケットが存在していた場合は、そのポート番号はネットワークプリントサーバ1500に備えられたプロトコルスタック1508が使用中であると判断して、S308に進み、送信依頼データは破棄し、送信依頼元であるプリンタコントローラ1600に対して拡張インターフェイス17を介して送信エラーを通知した後処理を終了する。
If there is a socket using the same port number, it is determined that the
S307において同じポート番号を使用中のソケットが存在しない場合は、S309で送信元ポート番号をプリンタコントローラ使用ポートリストに登録する。次にS310に進み、送信依頼データをLAN2000を介して不図示のホストコンピュータ等の外部装置に対して送信した後処理を終了する。
If there is no socket using the same port number in S307, the source port number is registered in the printer controller use port list in S309. In step S310, transmission request data is transmitted to an external device such as a host computer (not shown) via the
S306で、取得した送信元ポート番号と同じポート番号がプリンタコントローラ使用ポートリストに登録されていた場合は、プリンタコントローラ1600が使用中のポート番号であると判断して、S310に進み、送信依頼データをLAN2000を介して不図示のホストコンピュータ等の外部装置に対して送信した後処理を終了する。
In S306, if the same port number as the acquired transmission source port number is registered in the printer controller use port list, it is determined that the
(実施例2)
図4は、本発明に係るネットワークプリントサーバ1500上で動作する送信ポートの重複検出および重複回避処理を行う機能の第二の実施形態を示すフローチャートである。なお、S401〜S412は各処理ステップを示し、ネットワークプリントサーバ1500に備えられたプロトコルスタック1508もしくはプリンタコントローラ1600のいずれかから送信依頼データが渡された場合の中間モジュール1510の処理フローに対応する。なお各ステップに対応する制御手順はネットワークプリントサーバ1500のFlashROM3に記憶されている。また、プリンタコントローラ使用ポートリストはプリンタコントローラ1600がデータ送信に使用しているポート番号を登録するためにネットワークプリントサーバ1500のRAM2上に確保された有限な領域である。
(Example 2)
FIG. 4 is a flowchart showing a second embodiment of a function for performing duplication detection and duplication avoidance processing of a transmission port operating on the
S401において、渡された送信依頼データがプリンタコントローラ1600から拡張インターフェイス17を介して渡されたものであるかどうかを判断する。
In S401, it is determined whether or not the transmitted transmission request data has been transmitted from the
送信依頼データがプリンタコントローラ1600から渡されたものでない場合は、ネットワークプリントサーバ1500に備えられたプロトコルスタック1508から渡されたものであると判断し、S402に進んで、送信依頼データのヘッダ情報を読み出し、送信元ポート番号を取得する。
If the transmission request data is not passed from the
次にS403で、プリンタコントローラ使用ポートリストを検索し、取得した送信元ポート番号と同じポート番号が登録されていないかどうかを判断する。 In step S403, the printer controller use port list is searched to determine whether the same port number as the acquired transmission source port number is registered.
同じポート番号が登録されていた場合は、S404に進み、ネットワークプリントサーバ1500に備えられたプロトコルスタック1508より代替ポート番号を取得する。次にS405に進み、送信依頼データは破棄し、送信依頼元であるネットワークプリントサーバ1500に備えられたプロトコルスタック1508に対して代替ポート番号を通知した後処理を終了する。
If the same port number is registered, the process proceeds to S404, and an alternative port number is acquired from the
S403で同じポート番号が登録されていない場合は、S412に進み、送信依頼データをLAN2000を介して不図示のホストコンピュータ等の外部装置に対して送信した後処理を終了する。
If the same port number is not registered in S403, the process proceeds to S412 and the transmission request data is transmitted to an external device such as a host computer (not shown) via the
S401で、送信依頼データがプリンタコントローラ1600から渡されたものであった場合は、S406に進み、送信依頼データのヘッダ情報を読み出し、送信元ポート番号を取得する。
If the transmission request data is passed from the
次にS407で、プリンタコントローラ使用ポートリストを検索し、取得した送信元ポート番号と同じポート番号が登録されていないかどうかを判断する。 In step S407, the printer controller use port list is searched to determine whether the same port number as the acquired transmission source port number is registered.
同じポート番号が登録されていない場合は、S408に進み、ネットワークプリントサーバ1500に備えられたプロトコルスタック1508が使用中のソケットのソケット情報を検索して、S406で取得した送信元ポート番号と同じポート番号を使用中のソケットが存在していないかどうかを判断する。同じポート番号が登録されていた場合は、S409に進み、ネットワークプリントサーバ1500に備えられたプロトコルスタック1508より代替ポート番号を取得する。次にS410に進み、送信依頼データは破棄し、送信依頼元のプリンタコントローラ1600に拡張インターフェイス17を介して代替ポート番号を通知したした後、処理を終了する。
If the same port number is not registered, the process proceeds to S408, and the
S408で同じポート番号が登録されていない場合は、S411に進み、プリンタコントローラ使用ポートリストにポート番号を登録する。次にS412で、送信依頼データをLAN2000を介して不図示のホストコンピュータ等の外部装置に対して送信した後処理を終了する。
If the same port number is not registered in S408, the process proceeds to S411, and the port number is registered in the printer controller use port list. In step S412, the transmission request data is transmitted to an external device such as a host computer (not shown) via the
S410でプリンタコントローラ使用ポートリストに同じポート番号が登録されていた場合は、直ちにS412に進み、送信依頼データをLAN2000を介して不図示のホストコンピュータ等の外部装置に対して送信した後処理を終了する。
If the same port number is registered in the printer controller port list in S410, the process immediately proceeds to S412 and the transmission request data is transmitted to an external device such as a host computer (not shown) via the
(実施例3)
実施例2において、送信依頼データにポート番号の重複が生じていた際には、ネットワークプリントサーバ1500に備えられたプロトコルスタック1508より代替ポート番号を取得し、その代替ポート番号を送信依頼データの送信元であるネットワークプリントサーバ1500に備えられたプロトコルスタック1508もしくはプリンタコントローラ1600に通知している。
(Example 3)
In the second embodiment, when there is a duplicate port number in the transmission request data, the alternative port number is acquired from the
しかしながら、ネットワークプリントサーバ1500に備えられたプロトコルスタック1508に対して代替ポートの取得を要求した場合に、空きポート番号が存在しないなどの理由で代替ポート番号が取得できない可能性も考えられる。また、代替ポート番号が取得できた場合であっても、その代替ポート番号はすでにプリンタコントローラ1600によって使用中である可能性も考えられる。
However, when the acquisition of an alternative port is requested to the
図5は、図4で示した代替ポート番号取得処理に上記問題点の対処法を追加したフローチャートである。なお、S501〜S505は各処理ステップを示し、ネットワークプリントサーバ1500において、ネットワークプリントサーバ1500に備えられたプロトコルスタック1508もしくはプリンタコントローラ1600のいずれかから渡された送信依頼データにポート番号の重複が生じていた場合の中間モジュール1510の処理フローに対応する。また、S501〜S505は図4における処理ステップS404〜S405およびS409〜S410の派生となる処理ステップである。なお各ステップに対応する制御手順はネットワークプリントサーバ1500のFlashROM3に記憶されている。また、プリンタコントローラ使用ポートリストはプリンタコントローラ1600がデータ送信に使用しているポート番号を登録するためにネットワークプリントサーバ1500のRAM2上に確保された有限な領域である。
FIG. 5 is a flowchart in which a countermeasure for the above problem is added to the alternative port number acquisition process shown in FIG. S501 to S505 indicate each processing step. In the
中間モジュール1510は、ネットワークプリントサーバ1500に備えられたプロトコルスタック1508もしくはプリンタコントローラ1600のいずれかから渡された送信依頼データにポート番号の重複が生じていた場合に、まず、S501において、ネットワークプリントサーバ1500に備えられたプロトコルスタック1508に代替ポート番号の取得要求を行い、S502で、代替ポートを取得できたかどうか判断する。空きポート番号が無いなどの理由で代替ポート番号を取得できなかった場合は、S503に進み、送信依頼データを破棄し、送信依頼データの送信元であるネットワークプリントサーバ1500に備えられたプロトコルスタック1508もしくはプリンタコントローラ1600に送信エラーを通知した後処理を終了する。
The
S502において、代替ポート番号を取得できた場合は、S504に進み、取得した代替ポート番号がプリンタコントローラ使用ポートリストに登録されているポート情報と重複しないかを判断する。重複していない場合は、S505に進み、送信依頼データを破棄し、送信依頼データの送信元であるネットワークプリントサーバ1500に備えられたプロトコルスタック1508もしくはプリンタコントローラ1600に代替ポート番号を通知して処理を終了する。
If the alternative port number can be acquired in S502, the process proceeds to S504, and it is determined whether or not the acquired alternative port number overlaps with the port information registered in the printer controller use port list. If not, proceed to S505, discard the transmission request data, notify the
S504において、取得した代替ポート番号がプリンタコントローラ使用ポートリストに登録されているポート情報と重複している場合は、S501に戻り、S501〜S505の処理を繰り返す。 In S504, if the acquired alternative port number overlaps with the port information registered in the printer controller use port list, the process returns to S501 and repeats the processes of S501 to S505.
(実施例4)
実施例1〜3において、ネットワークプリンタサーバ1500はプリンタ1000から物理的に切り離されて存在する別個の機器であって、プリンタ1000は内部にプリンタコントローラ1600からなる制御系を司る機器を備えており、ネットワークプリンタサーバ1500において、図1で示される拡張インターフェイスコントローラ(EXPC7)はシステムバス4に接続される第二のネットワークコントローラであり、図2で示される拡張インターフェイスドライバ1506はオペレーティングシステム1501が内包する第二のネットワークインターフェイスドライバであり、プリンタコントローラ1600において、図1で示される拡張インターフェイスコントローラ(EXPC13)はシステムバス11に接続されるネットワークコントローラであり、図1及び図2で示される拡張インターフェイス17は第二のローカルエリアネットワークであって、ネットワークプリントサーバ1500とプリンタコントローラ1600とは前記第二のローカルエリアネットワークにともに接続されていても良い。
Example 4
In the first to third embodiments, the
(実施例5)
実施例1〜4において、プリンタコントローラ1600から拡張インターフェイス17を介して渡された送信依頼データをLAN2000を介して不図示のホストコンピュータ等の外部装置に送信する際に、中間モジュール1510は送信依頼データが使用しているポート番号をプリンタコントローラ使用ポートリストに登録している。そして、ネットワークプリントサーバ1500に備えられたプロトコルスタック1508からの送信依頼データがあった場合には、送信依頼データの使用するポート番号がプリンタコントローラ使用ポートリストに登録済みのポート番号と重複していないかどうかを判断している。これにより、プリンタコントローラ1600が使用中のポート番号を、ネットワークプリントサーバ1500に備えられたプロトコルスタック1508が重複して使用してしまう状況を回避している。
(Example 5)
In the first to fourth embodiments, when the transmission request data passed from the
しかしながら、この手段では、一度プリンタコントローラ1600が送信に使用してプリンタコントローラ使用ポートリストに登録されたポート番号に関しては、例えその後プリンタコントローラ1600がそのポート番号を使用した通信を終了したとしても、当該ポート番号はプリンタコントローラ使用ポートリストに残ったままである。そのため、一度プリンタコントローラ使用ポートリストに登録されたポート番号は、その後ネットワークプリントサーバ1500に備えられたプロトコルスタック1508からは使用できないことになる。
However, with this means, regarding the port number once used by the
但し、ネットワークプリントサーバ1500では、プリンタコントローラ1600がどのポート番号を使用しているのかという情報は、プリンタコントローラ1600から拡張インターフェイス17を介して送信依頼データが渡された時点でしか知ることは出来ない。そのため、一度プリンタコントローラ1600が送信に使用してプリンタコントローラ使用ポートリストに登録されたポート番号に関して、プリンタコントローラ1600がそのポート番号を使用した通信を終了した時点でプリンタコントローラ使用ポートリストから削除するという方法を実現することは出来ない。
However, in the
そこでこの対処法として、プリンタコントローラ使用ポートリストにタイムアウト機能を設けるという方法が考えられる。プリンタコントローラ使用ポートリストに登録されたポート番号に関して、一定期間以内に再度プリンタコントローラ1600から拡張インターフェイス17を介して送信依頼データが無い場合には、当該ポート番号をプリンタコントローラ使用ポートリストから削除する。
Therefore, as a countermeasure, a method of providing a timeout function in the printer controller use port list can be considered. If there is no transmission request data from the
この方法によれば、一度プリンタコントローラ1600が送信に使用してプリンタコントローラ使用ポートリストに登録されたポート番号であっても、そのポートを使用した送信依頼データが一定期間以上の間プリンタコントローラ1600から拡張インターフェイス17を介して渡されない場合には、ネットワークプリントサーバ1500に備えられたプロトコルスタック1508が当該ポート番号を使用出来るようになる。
According to this method, even if the
1000 プリンタ
1500 ネットワークプリントサーバ
1600 プリンタコントローラ
2000 ローカルエリアネットワーク
1 CPU
2 RAM
3 フラッシュROM
4 システムバス
5 LANコントローラ
6 LED
7 拡張インターフェイスコントローラ
8 CPU
9 ROM
10 外部メモリ
11 システムバス
12 ラスタコントローラ
13 拡張インターフェイスコントローラ
14 RAM
15 ディスクコントローラ
16 プリントエンジン
17 拡張インターフェイスバス
18 操作パネル
1000
2 RAM
3 Flash ROM
4
7 Expansion interface controller 8 CPU
9 ROM
10 External memory 11
15
Claims (2)
前記第一のネットワーク装置から前記接続インターフェイスを介して転送された送信依頼データもしくは前記第二のネットワーク装置に備えられたプロトコルスタックから転送された送信依頼データを、前記第二のネットワーク装置に備えられた物理インターフェイスよりネットワークに送信する送信依頼データ送信手段と、
前記物理インターフェイスより受信した受信データを前記第一のネットワーク装置と前記第二のネットワーク装置に備えられたプロトコルスタックのいずれかもしくは両方に転送する受信データ転送手段と、
を備えることを特徴とする第二のネットワーク装置において、
前記第二のネットワーク装置に備えられたプロトコルスタックが現在使用中であるポート情報を記憶するポート情報記憶手段と、
前記第一のネットワーク装置より前記接続インターフェイスを介して送信依頼データが転送された際に、前記送信依頼データから送信元ポート情報を取得する送信元ポート情報取得手段と、
前記送信元ポート情報取得手段で得られた送信元ポート情報が前記ポート情報記憶手段で記憶しているポート情報と重複していないかどうかを判断するポート情報重複判断手段と、
前記ポート情報重複判断手段でポート情報の重複が検出された場合に、前記送信依頼データを破棄し、送信依頼元に送信エラーを通知する手段と、
を備えることを特徴とするポート情報重複回避方法。 A second network device connectable to the first network device via a connection interface,
Transmission request data transferred from the first network device via the connection interface or transmission request data transferred from a protocol stack provided in the second network device is provided in the second network device. Transmission request data transmission means for transmitting to the network from the physical interface,
Received data transfer means for transferring received data received from the physical interface to either or both of the protocol stacks provided in the first network device and the second network device;
In the second network device, comprising:
Port information storage means for storing port information currently used by the protocol stack provided in the second network device;
Source port information acquisition means for acquiring source port information from the transmission request data when transmission request data is transferred from the first network device via the connection interface;
Port information duplication judgment means for judging whether or not the transmission source port information obtained by the transmission source port information acquisition means is duplicated with the port information stored in the port information storage means;
Means for discarding the transmission request data and notifying a transmission request source of a transmission error when duplication of port information is detected by the port information duplication determination means;
A method for avoiding duplication of port information, comprising:
前記第一のネットワーク装置から前記接続インターフェイスを介して転送された送信依頼データもしくは前記第二のネットワーク装置に備えられたプロトコルスタックから転送された送信依頼データを、前記第二のネットワーク装置に備えられた物理インターフェイスよりネットワークに送信する送信依頼データ送信手段と、
前記物理インターフェイスより受信した受信データを前記第一のネットワーク装置と前記第二のネットワーク装置に備えられたプロトコルスタックのいずれかもしくは両方に転送する受信データ転送手段と、
を備えることを特徴とする第二のネットワーク装置において、
前記第二のネットワーク装置に備えられたプロトコルスタックが現在使用中であるポート情報を記憶するポート情報記憶手段と、
前記第一のネットワーク装置より前記接続インターフェイスを介して送信依頼データが転送された際に、前記送信依頼データから送信元ポート情報を取得する送信元ポート情報取得手段と、
前記送信元ポート情報取得手段で得られた送信元ポート情報が前記ポート情報記憶手段で記憶しているポート情報と重複していないかどうかを判断するポート情報重複判断手段と、
前記ポート情報重複判断手段でポート情報の重複が検出された場合に、前記送信依頼データを破棄し、送信依頼元に代替ポート番号を通知する手段と、
を備えることを特徴とするポート情報重複回避方法。 A second network device connectable to the first network device via a connection interface,
Transmission request data transferred from the first network device via the connection interface or transmission request data transferred from a protocol stack provided in the second network device is provided in the second network device. Transmission request data transmission means for transmitting to the network from the physical interface,
Received data transfer means for transferring received data received from the physical interface to either or both of the protocol stacks provided in the first network device and the second network device;
In the second network device, comprising:
Port information storage means for storing port information currently used by the protocol stack provided in the second network device;
Source port information acquisition means for acquiring source port information from the transmission request data when transmission request data is transferred from the first network device via the connection interface;
Port information duplication judgment means for judging whether or not the transmission source port information obtained by the transmission source port information acquisition means is duplicated with the port information stored in the port information storage means;
Means for discarding the transmission request data and notifying the transmission request source of an alternative port number when duplication of port information is detected by the port information duplication determination means;
A method for avoiding duplication of port information, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005108573A JP2006285903A (en) | 2005-04-05 | 2005-04-05 | Method of avoiding duplication of communication port |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005108573A JP2006285903A (en) | 2005-04-05 | 2005-04-05 | Method of avoiding duplication of communication port |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006285903A true JP2006285903A (en) | 2006-10-19 |
Family
ID=37407727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005108573A Withdrawn JP2006285903A (en) | 2005-04-05 | 2005-04-05 | Method of avoiding duplication of communication port |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006285903A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013242613A (en) * | 2012-05-17 | 2013-12-05 | Kyocera Document Solutions Inc | Image forming apparatus |
-
2005
- 2005-04-05 JP JP2005108573A patent/JP2006285903A/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013242613A (en) * | 2012-05-17 | 2013-12-05 | Kyocera Document Solutions Inc | Image forming apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4947913B2 (en) | Communication device and communication control method thereof | |
EP3066556B1 (en) | Mobile device for automatically delivering print jobs to printers | |
EP1860547A2 (en) | Remote stored print job retrieval | |
JP7362855B2 (en) | Image forming apparatus, image forming apparatus control method, and program | |
JP5063253B2 (en) | Network system and communication method | |
JP5879987B2 (en) | Information processing apparatus, information processing apparatus control method, control program, and image forming system | |
JP2008004010A (en) | Communication equipment and control method therefor | |
JP5031539B2 (en) | Printing system, printing apparatus and printing method | |
JP6755706B2 (en) | Information processing device, its control method, and program | |
JP2006338268A (en) | Data processor, network interface substrate and application program registering method | |
JP4892469B2 (en) | COMMUNICATION DEVICE, ITS CONTROL METHOD, PROGRAM | |
US6873425B1 (en) | Delayed printing of print jobs requiring special resources | |
JP2006285903A (en) | Method of avoiding duplication of communication port | |
CN101489008B (en) | Device setting system, device setting method | |
JP2005038011A (en) | Network system and its control method | |
JP3710789B2 (en) | Image forming apparatus having a plurality of communication protocols | |
JP5153841B2 (en) | Communication device and communication control method thereof | |
US20060268289A1 (en) | Multi image forming method and system using job retention functions | |
JP4429138B2 (en) | System and method for monitoring imaging jobs using implicit address discovery | |
JP4387710B2 (en) | Network device and control method thereof | |
JP4560313B2 (en) | Information processing apparatus, image forming system, and information processing apparatus control method | |
JP2007140663A (en) | Image processor | |
JP2006190032A (en) | Distributed printing controller, distributed printing system, method for transmitting control command, and method for canceling printing job | |
JP2007157040A (en) | Network device and service starting method | |
JP2009140068A (en) | Information processing apparatus and information processing method for information processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080701 |