JP2008130016A - Network card - Google Patents

Network card Download PDF

Info

Publication number
JP2008130016A
JP2008130016A JP2006317237A JP2006317237A JP2008130016A JP 2008130016 A JP2008130016 A JP 2008130016A JP 2006317237 A JP2006317237 A JP 2006317237A JP 2006317237 A JP2006317237 A JP 2006317237A JP 2008130016 A JP2008130016 A JP 2008130016A
Authority
JP
Japan
Prior art keywords
api
application program
network card
network
availability
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
JP2006317237A
Other languages
Japanese (ja)
Inventor
Takaharu Osawa
隆治 大澤
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 JP2006317237A priority Critical patent/JP2008130016A/en
Publication of JP2008130016A publication Critical patent/JP2008130016A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To make it possible to know whether or not an API (Application Program Interface) is usable for an application program in each type of a printer controller before executing the API, and to allow mounting according to a use situation of the API. <P>SOLUTION: This network card provides a means for previously knowing whether or not the API provided to the application program is usable by the type of a printer controller to be mounted. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、プリンタ装置に装着されるネットワークカードに関するものである。   The present invention relates to a network card attached to a printer apparatus.

近年、インターネットの普及により、印刷装置もネットワークで使われる形態が一般化してきた。通常、高速機やカラー機などの高価格機ではネットワークインターフェイスは内蔵される傾向にあるが、低価格なモノクロ機の場合には、ネットワークインターフェイスは本体には同梱されない。また、ネットワークカードモジュールとして別に供給される形態が一般的である。   In recent years, with the widespread use of the Internet, a form in which a printing apparatus is used in a network has become common. Usually, high-priced machines such as high-speed machines and color machines tend to have a built-in network interface. However, in the case of a low-priced monochrome machine, the network interface is not included in the main unit. In general, the network card module is supplied separately.

この場合、印刷装置本体とネットワークカードモジュールは個々にCPUを持ったインテリジェントな形態である。また、通常ネットワークカードモジュール側にネットワーク経由での各種プリントサービスの統括制御を行なうプリントサーバ機能を備えている。また、印刷装置とネットワークカードモジュールは接続インターフェイスを介して通信を行ない所望のサービスを実装している。   In this case, the printing apparatus main body and the network card module are intelligent forms each having a CPU. Further, the normal network card module side is provided with a print server function for performing overall control of various print services via the network. In addition, the printing apparatus and the network card module communicate with each other via a connection interface to implement a desired service.

このことは逆に負荷の重いネットワークサービスをネットワークカードモジュールに追い出すことが可能となり、相対的に印刷装置本体のCPUや周辺パフォーマンスを下げることが可能となり、印刷装置本体のコスト削減をもたらしている。   This, on the contrary, makes it possible to drive heavy network services to the network card module, relatively lowering the CPU and peripheral performance of the printing apparatus main body, and reducing the cost of the printing apparatus main body.

従来のネットワークインターフェイスは例えばLPR(RFC1179)に代表されるような印刷データの送信だけできればよかったが、昨今印刷装置に対する情報管理というニーズが高くなり、付加技術として各種の手段が提供されている。   The conventional network interface only needs to be able to transmit print data as typified by LPR (RFC1179), for example. Recently, there is a growing need for information management for printing apparatuses, and various means are provided as additional techniques.

最も単純な例が、印刷データを送信するポートに情報管理データ(ジョブ制御言語=Job Language)を付加する形態である。ジョブ制御言語は印刷データを送るポートを共有する形であるため、サービスポートを増加せずに済み、比較的実装が簡単である。しかし、印刷データ受信中にデータが大量に送信されるとポートを占有するため、情報管理データのやりとりが止まってしまうという問題がある。またネットワークにおけるLPRプロトコルのような片方向型コネクションの場合、そもそも情報取得ができないという欠点がある。   The simplest example is a form in which information management data (job control language = Job Language) is added to a port for transmitting print data. Since the job control language shares a port for sending print data, it is not necessary to increase the service port and is relatively easy to implement. However, if a large amount of data is transmitted during reception of print data, the port is occupied, and there is a problem that the exchange of information management data is stopped. In addition, in the case of a one-way connection such as the LPR protocol in a network, there is a disadvantage that information cannot be acquired in the first place.

次の手法としては、SNMP/MIB(RFC1157)を使った方式がある。これはデータ送受信用の専用ポートを使用し、標準規格であるSNMP(Simple Network Management Protocol)を使う方法である。しかしこの方式はSNMPを受信してUIを提供する専用クライアントプログラムの独自開発が必要である。かつこの方式では、そもそも単純な情報のやり取りを行うプロトコルであるため、数字、文字列などの単純なデータベースしか提供できない。その結果、機器の構成を示すビットマップ画像などUIを構成する情報は、前記クライアントプログラムが所有せねばならず、それに伴いクライアントプログラムを機種対応しなくてはいけないという問題点がある。   As the next method, there is a method using SNMP / MIB (RFC1157). In this method, a dedicated port for data transmission / reception is used, and the standard SNMP (Simple Network Management Protocol) is used. However, this method requires proprietary development of a dedicated client program that receives SNMP and provides a UI. In addition, since this method is a protocol for exchanging simple information in the first place, only simple databases such as numbers and character strings can be provided. As a result, there is a problem that information that constitutes the UI, such as a bitmap image indicating the configuration of the device, must be owned by the client program, and the client program must correspond to the model accordingly.

さらに最近ではHTTPプロトコル(RFC1945,RFC2616)を用いた方式が主流となりつつある。この方式によれば、ネットワークカードモジュールの中にHTTPサービスを提供して、機器情報に関するHTMLデータやビットマップ画像といったWEBコンテンツを提供する。さらにクライアントは一般的なWEBブラウザを使用して前記WEBコンテンツをGUI上に表示し、操作を可能とすれば、クライアントプログラムを提供しなくても同様の効果を得ることが可能である。従来の方式ではクライアントプログラムが多種多様な機器に固有な情報(メッセージ文字列、ビットマップ画像)を管理する必要があっため、機器が自分の機種情報だけ持てばよい上記方式は短期間で製品を提供するためにはもっとも適する方法である。   More recently, methods using the HTTP protocol (RFC1945, RFC2616) are becoming mainstream. According to this method, an HTTP service is provided in the network card module, and WEB contents such as HTML data related to device information and bitmap images are provided. Further, if the client displays the WEB content on the GUI using a general WEB browser and enables the operation, the same effect can be obtained without providing a client program. In the conventional method, the client program needs to manage information (message character strings, bitmap images) unique to a wide variety of devices. It is the most suitable way to provide.

しかしならが、上記述べたいずれの手段もネットワークカードモジュールに予め組み込まれた静的な機能の提供手段であって、後から機能そのものを追加するあるいは、組み込まれた機能による制御方法を変更するといった動的なサービスの追加ができなかった。   However, any of the above-mentioned means is a means for providing a static function incorporated in the network card module in advance, and the function itself is added later, or the control method by the incorporated function is changed. A dynamic service could not be added.

そこで最近になってJava(登録商標)言語を用いて作成されたアプリケーションプログラムモジュールを、組み込み機器上に実装するJava(登録商標)仮想マシン上で動作可能とするプラットフォーム技術が提案されている(Java(登録商標):米国Sun Microsystems, Inc.の商標)。この技術を用いることで従来印刷装置等の組み込み機器に後から新たな機能を機器に追加することが可能となってきている。   Therefore, recently, a platform technology has been proposed that enables an application program module created using the Java (registered trademark) language to operate on a Java (registered trademark) virtual machine mounted on an embedded device (Java (Registered trademark): Trademark of Sun Microsystems, Inc., USA). By using this technology, it has become possible to add new functions to a device afterwards in an embedded device such as a conventional printing apparatus.

上記述べたJava(登録商標)仮想マシンにはネットワーク通信機能を始め、組み込み機器を制御するために必要な各種機能を提供するためにアプリケーションプログラムインタフェース(API)が備わっておいる。そこで、上記Java(登録商標)言語で作成されたアプリケーションプログラムモジュールはこれらのAPIを呼び出して組み込み機器に対する制御やネットワークで接続されたホストコンピュータからの要求を処理する。   The Java (registered trademark) virtual machine described above has an application program interface (API) for providing various functions necessary for controlling an embedded device, including a network communication function. Therefore, application program modules created in the Java (registered trademark) language call these APIs to control embedded devices and process requests from host computers connected via a network.

また、従来の技術でも、よりJava(登録商標)アプリケーションを効率的に開発可能にする環境を提供するために、PC上で動作するJava(登録商標)開発環境を提供するものも存在している。(例えば、特許文献1参照。)
特開2005-038010号公報
Also, some conventional technologies provide a Java (registered trademark) development environment that runs on a PC in order to provide an environment that enables more efficient development of Java (registered trademark) applications. . (For example, refer to Patent Document 1.)
JP 2005-038010 A

上記Java(登録商標)仮想マシン上で提供されるAPIは、ネットワーク通信に必要な機能を含んでおり、ネットワーク通信プロトコルの処理を行う基本モジュールを共有するため、通常ネットワークカードモジュール上に実装される機能である。   The API provided on the Java (registered trademark) virtual machine includes functions necessary for network communication, and is usually implemented on a network card module in order to share a basic module for processing a network communication protocol. It is a function.

しかしながらそれらのAPIについては、ネットワークカードモジュールが装着される印刷装置本体の機能に依存して、取得可能な情報が異なっていたり、印刷装置本体の機能によっては、情報自体が取得できないものもあった。このためJava(登録商標)言語でアプリケーションプログラムを作成しようとする場合には、装着される印刷装置の機能を意識して作成する必要があり、複数の印刷装置で動作する共通アプリケーションプログラムの開発を妨げていた。   However, for these APIs, the information that can be acquired differs depending on the function of the printing apparatus main body in which the network card module is installed, or there are some that cannot be acquired depending on the function of the printing apparatus main body. . For this reason, when trying to create an application program in the Java (registered trademark) language, it is necessary to create it in consideration of the functions of the installed printing device, and it is necessary to develop a common application program that runs on multiple printing devices. It was hindering.

本発明は上記問題点に鑑みてなされたものであり、
印刷装置本体に装着可能な、前記印刷装置と別個のCPUを備えるインテリジェント型ネットワークカードモジュールにあって、
ホストコンピュータ等のクライアントから前記ネットワークカードモジュールに具備しているJava(登録商標)仮想マシン上で動作可能なアプリケーションプログラムモジュールを前記ネットワークカードモジュールに追加可能とする手段を有し、
印刷装置の制御およびホストコンピュータ等のクライアントと通信制御を行なうアプリケーションプログラムが動作可能なJava(登録商標)仮想マシンを備え、
アプリケーションプログラムから利用可能なアプリケーションプログラムインタフェース(API)を実行したときに、ネットワークカードモジュールが装着される印刷装置に応じて機種を判断し、機種に応じた処理を行う機種差分吸収手段と、
機種差分吸収手段によって取得した情報を、アプリケーションプログラムインタフェース(API)に応じた情報に変更する情報変更手段、
さらに、各前記APIが、機種別に利用可能状態かどうか判断する利用可否判断手段と、前記利用可否判断手段にて利用可能かどうかの判断の結果をアプリケーションプログラムに対して通知する利用可否通知手段とから構成される。
The present invention has been made in view of the above problems,
In an intelligent network card module having a CPU separate from the printing device, which can be attached to the printing device body,
A means for enabling an application program module operable on a Java (registered trademark) virtual machine included in the network card module to be added to the network card module from a client such as a host computer;
A Java (registered trademark) virtual machine capable of operating an application program for controlling a printing apparatus and controlling communication with a client such as a host computer is provided.
When executing an application program interface (API) that can be used from an application program, a model difference absorption unit that determines a model according to a printing apparatus in which a network card module is mounted and performs processing according to the model,
Information changing means for changing the information acquired by the model difference absorbing means to information corresponding to the application program interface (API),
Furthermore, an availability determination unit that determines whether each API is available for each model, and an availability notification unit that notifies the application program of the result of the determination as to whether the API can be used. Consists of

さらに、前記ネットワークカードモジュールにあって、アプリケーションプログラムがアプリケーションプログラムインタフェース(API)の利用可否を知るために、APIに対応したIDを指定した利用可否判断用API手段とから構成される。   Further, the network card module includes an availability determination API means that designates an ID corresponding to the API so that the application program knows whether or not the application program interface (API) can be used.

さらに、前記ネットワークカードモジュールにあって、アプリケーションプログラムがアプリケーションプログラムインタフェース(API)の利用可否を知るために、各APIに対応した利用可否判断API手段とから構成される。   Further, in the network card module, in order for the application program to know whether or not the application program interface (API) can be used, the network card module is configured by an availability determination API unit corresponding to each API.

さらに、前記ネットワークカードモジュールにあって、
電源投入時に、印刷装置本体の機種を特定する手段、とから構成される。
Furthermore, in the network card module,
And means for specifying the model of the printing apparatus main body when the power is turned on.

さらに、前記ネットワークカードモジュールにあって、
印刷装置本体の機種が未知のものであった場合に、未知な機種と特定された場合の処理を行う機種差分吸収手段、とから構成される。
Furthermore, in the network card module,
When the model of the printing apparatus main body is unknown, it is composed of model difference absorbing means for performing processing when it is identified as an unknown model.

本発明により、アプリケーションプログラムに対して提供するAPIについては、装着されるプリンタコントローラの機種によって利用可能かどうかをあらかじめ知る手段を提供する。このことによりアプリケーションプログラムでは、APIを実行する前に、プリンタコントローラの機種ごとに利用可能かどうかを知ることができ、APIの利用状況に応じた実装を可能とする。   According to the present invention, the API provided to the application program provides a means for knowing in advance whether the API can be used depending on the model of the printer controller to be mounted. As a result, the application program can know whether it can be used for each model of the printer controller before executing the API, and can be implemented according to the usage status of the API.

(実施例1)
図1は、本発明の実施形態に関わる印刷システムのハードウェア構成を説明するブロック図である。1000はプリンタで、内部で大きくネットワークプリンタサーバ1500とプリンタコントローラ1600からなる異なる制御系を司る機器で構成されている。ネットワークプリントサーバ1500において、1はネットワークプリントサーバ用CPUである。ネットワークプリントサーバ用CPUは、書き換え可能なFlashROM3に記憶された制御プログラムに基づいて動作する。また、システムバス4に接続されるネットワークコントローラ(LANC5)を介してローカルエリアネットワーク(LAN2000)に接続されたホストコンピュータ等の複数の外部装置(不図示)と通信を行う。通信には、所定のネットワーク通信プロトコルを用いて、前記外部装置から送られる印刷データやプリンタ制御命令等の各種データ送受信要求を統括的に制御する。そして拡張インタフェースコントローラ(EXPC7)を介して接続されるプリンタコントローラ1501に対して適切なデータ転送制御を行なう。
(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 network printer server 1500 and a printer controller 1600. In the network print server 1500, reference numeral 1 denotes a network print server CPU. The network print server CPU operates based on a control program stored in the rewritable Flash ROM 3. Further, it communicates with a plurality of external devices (not shown) such as a host computer connected to a local area network (LAN2000) via a network controller (LANC5) connected to the system bus 4. For communication, a predetermined network communication protocol is used to comprehensively control various data transmission / reception requests such as print data and printer control commands sent from the external device. Then, appropriate data transfer control is performed for the printer controller 1501 connected via the expansion interface controller (EXPC7).

RAM2はCPU1の主メモリ、ワークエリア等の一時記憶領域をして用いられる。   The RAM 2 is used as a temporary storage area such as the main memory and work area of the CPU 1.

LED6はネットワークプリントサーバの動作状態を示す表示部として用いられている。例えば、ネットワークコントローラ(LANC5)とローカルエリアネットワーク(LAN2000)の電気的な接続状態(LINK)を表示する。あるいは、ネットワーク通信モード(10Baseや100Base、全二重、半二重)等の各種動作状態をLEDの点滅パターンや色で示すこと可能となっている。   The LED 6 is used as a display unit indicating the operation state of the network print server. For example, the electrical connection state (LINK) between the network controller (LANC5) and the local area network (LAN2000) is displayed. Alternatively, various operation states such as the network communication mode (10Base, 100Base, full duplex, half duplex) can be indicated by the blinking pattern and color of the LED.

さらにネットワークプリントサーバ1500とプリンタコントローラ1501を繋ぐ拡張インタフェース17は、図示しないコネクタで構成されている。そのため、ネットワークプリントサーバ1500のみが着脱し、同じ構成を持つ別のプリンタ1000にネットワークプリントサーバ1500を装着することも可能な構成となっている。   Further, the expansion interface 17 that connects the network print server 1500 and the printer controller 1501 is configured by a connector (not shown). Therefore, only the network print server 1500 can be attached and detached, and the network print server 1500 can be attached to another printer 1000 having the same configuration.

プリンタコントローラ1600において、8はプリンタコントローラ用CPUである。プリンタコントローラ用CPUは、ROM9に記憶された制御プログラム等あるいはディスクコントローラ(DKC15)を介して接続された外部メモリ10に記憶された制御プログラムやリソースデータ(資源情報)等に基づいて動作する。また、システムバス11に接続される各種デバイスとのアクセスを統括的に制御する。さらに、拡張インタフェースコントローラ(EXPC13)を介して接続されるネットワークプリントサーバ1500から受信される印刷データを基にラスタコントローラ12によって出力画像情報を生成し、プリントエンジン16に対して画像信号を出力する。   In the printer controller 1600, reference numeral 8 denotes a printer controller CPU. The printer controller CPU operates based on a control program or the like stored in the ROM 9 or a control program or resource data (resource information) stored in the external memory 10 connected via the disk controller (DKC 15). Further, it comprehensively controls access to various devices connected to the system bus 11. Further, output image information is generated by the raster controller 12 based on print data received from the network print server 1500 connected via the expansion interface controller (EXPC 13), and an image signal is output to the print engine 16.

14はCPU8の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。   Reference numeral 14 denotes a RAM that functions as a main memory, a work area, and the like of 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等の表示部が配されている。   Reference numeral 18 denotes an operation panel (operation unit) which is provided with buttons for performing operations such as setting the operation mode of the printer 1000 and canceling print data, and a display unit such as a liquid crystal panel and an LED indicating the operation state of the printer 1000. Yes.

なお、本図で示したプリンタエンジン16は既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式(レーザービーム方式)やインクジェット方式、昇華方(熱転写)方式等が挙げられる。   The printer engine 16 shown in the figure uses a known printing technology, and examples of suitable implementation systems include an electrophotographic system (laser beam system), an ink jet system, and a sublimation method (thermal transfer) system. .

図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 network print server 1500 / printer controller 1600, which is a control device in the printer 1000 in the printing system suitable for the embodiment of the present invention. It is.

なお上記各制御プログラムは各制御機器のCPUによってプログラムが解析され処理される。   Each control program is analyzed and processed by the CPU of each control device.

1501はネットワークプリントサーバ1500の基本的なデータの入出力制御を統括するオペレーティングシステムである。さらに前記オペレーティングシステム1501内では、ファイルシステム1505、拡張インタフェースドライバ1506、およびネットワークインタフェースドライバ1507を内包する。   An operating system 1501 controls basic data input / output control of the network print server 1500. Further, the operating system 1501 includes a file system 1505, an extended interface driver 1506, and a network interface driver 1507.

ファイルシステム1505では、プログラム/データ記憶部9との入出力制御を行なう。拡張インタフェースドライバ1506では、プリンタコントローラ1600と拡張インタフェース17を介して通信制御を行なう。ネットワークインタフェースドライバ1507では、ローカルエリアネットワーク(LAN2000)の通信媒体を介して不図示のホストコンピュータ等の外部装置と通信を行なう。   The file system 1505 performs input / output control with the program / data storage unit 9. The extension interface driver 1506 performs communication control via the printer controller 1600 and the extension interface 17. The network interface driver 1507 communicates with an external device such as a host computer (not shown) via a local area network (LAN2000) communication medium.

1502はアプリケーションプログラムインタフェース(API)である。APIでは、ネットワークプリントサーバ1500で動作するユーザアプリケーション1503を提供する。さらに、プリンタ1000やユーザアプリケーションの登録・管理を行う管理アプリケーション等のアプリケーションプログラムに対して前記オペレーティングシステムが備える各種機能を提供する。   Reference numeral 1502 denotes an application program interface (API). The API provides a user application 1503 that runs on the network print server 1500. Furthermore, various functions of the operating system are provided to application programs such as a management application for registering and managing the printer 1000 and user applications.

また前記アプリケーションプログラムインタフェース1502で提供される機能は、以下のAPIを備える。   The functions provided by the application program interface 1502 include the following APIs.

印刷データの送受信機能を提供するデータ転送API、ビットマップ画像や表示メッセージ等のリソースデータの入出力制御を行なうリソース制御API。   A data transfer API that provides a print data transmission / reception function, and a resource control API that controls input / output of resource data such as bitmap images and display messages.

プリンタ1000の再起動や設定値の初期化や設定等の制御を行なうプリンタ制御API。印刷ジョブの取り消しや再印刷指示などを制御するジョブ制御API。ネットワークプリントサーバ1500の再起動や設定値の初期化や設定、およびアプリケーションプログラムの起動、登録、削除を行なうプリントサーバ制御API。ハードディスクドライブへの書き込み・読み出しなどを制御するハードディスク制御API、前記印刷装置の操作パネルの表示の切り替えなどを制御するパネルAPIなどである。これらのAPIは、ネットワークプリントサーバ1500と接続されるプリンタコントローラ1600の機能に応じて、取得可否や取得可能な情報の内容が異なるものも含んでいる。   A printer control API that controls the restart of the printer 1000, initialization of setting values, and settings. A job control API that controls cancellation of print jobs and reprint instructions. Print server control API for restarting the network print server 1500, initializing and setting values, and starting, registering, and deleting application programs. A hard disk control API for controlling writing / reading to / from the hard disk drive, a panel API for controlling switching of the operation panel display of the printing apparatus, and the like. These APIs include those having different availability and information that can be acquired depending on the function of the printer controller 1600 connected to the network print server 1500.

また、1512は、上記各種APIの上位に位置する機種差分API吸収層であり、ネットワークプリントサーバ1500と接続されるプリンタコントローラ1600の機能差分によって生じる各種APIの機能差を吸収するためのミドルウェア層である。   Reference numeral 1512 denotes a model difference API absorption layer positioned above the above-mentioned various APIs, which is a middleware layer for absorbing functional differences between various APIs caused by functional differences between the printer controller 1600 connected to the network print server 1500. is there.

1601はプリンタコントローラ1600の各種処理制御を統括するオペレーティングシステムである。そこでは内部にプリントエンジンとの通信制御を行なうプリントエンジン制御部1603およびネットワークプリントサーバ1500から参照されるビットマップ画像やエラーメッセージ等の機種依存リソースを内包している。さらにネットワークプリントサーバ上で動作する機種依存アプリケーションプログラム等を記憶する機種依存リソース/プログラム記憶部との入出力制御を行なうファイルシステム1604を内包している。   Reference numeral 1601 denotes an operating system that controls various processing controls of the printer controller 1600. There, the printer engine control unit 1603 for controlling communication with the print engine and model-dependent resources such as bitmap images and error messages referenced from the network print server 1500 are included. Furthermore, a file system 1604 for controlling input / output with a model-dependent resource / program storage unit that stores a model-dependent application program or the like operating on the network print server is included.

1602は拡張インタフェース制御部であり、拡張インタフェース17を介してネットワークプリントサーバ1500との通信制御を行なう。さらに前記拡張インタフェース制御部は、制御種別毎に印刷データの入出力を制御するデータ転送論理インタフェースを備える。さらに機種依存リソース/プログラム記憶部9に記憶された各種データの入出力を制御するリソース制御論理インタフェース、プリンタ1000の再起動や設定値の初期化や設定等の制御を行なうプリンタ制御論理インタフェースを備える。また、印刷ジョブの取り消しや再印刷指示などを制御するジョブ制御論理インタフェースを備えている。さらに、各論理インタフェースを介してネットワークプリントサーバ1500から要求された命令をオペレーティングシステム1601に対して転送し、その処理結果をネットワークプリントサーバ1500に対して返信する。   Reference numeral 1602 denotes an expansion interface control unit, which controls communication with the network print server 1500 via the expansion interface 17. The extended interface control unit further includes a data transfer logical interface that controls input / output of print data for each control type. Further, a resource control logic interface for controlling input / output of various data stored in the model-dependent resource / program storage unit 9 and a printer control logic interface for controlling restart of the printer 1000, initialization of setting values, setting, and the like are provided. . In addition, a job control logical interface for controlling cancellation of a print job, reprint instruction, and the like is provided. Further, the command requested from the network print server 1500 is transferred to the operating system 1601 via each logical interface, and the processing result is returned to the network print server 1500.

図3は、ネットワークプリントサーバ1500で動作するアプリケーションプログラムの記述例であり、本発明の好適な一例としてJava(登録商標)言語による記述例を示している。図3の301に示される行は図2で説明したデータ転送APIを呼び出す例である。図中では、"printer.outdata("Test")"がデータ転送APIでここでは"Test"というテキストデータを印字データとしてプリンタコントローラを介してプリントエンジンから印刷せよという命令である。処理結果は"result"に数値型として格納される。   FIG. 3 is a description example of an application program operating on the network print server 1500, and shows a description example in Java (registered trademark) language as a preferred example of the present invention. A line indicated by 301 in FIG. 3 is an example of calling the data transfer API described in FIG. In the figure, “printer.outdata (“ Test ”)” is a data transfer API, and here is a command to print text data “Test” as print data from the print engine via the printer controller. The processing result is stored in "result" as a numeric type.

図3の302に示される行は前記301の行で指示された処理結果を出力する標準出力先を示す。例えば、プリンタ1000の操作パネル17のLCD表示部やアプリケーションを呼び出し元であるホストコンピュータのブラウザ表示部にテキストメッセージ変換して表示する命令の記述例である。   A line indicated by 302 in FIG. 3 indicates a standard output destination for outputting the processing result indicated by the line 301. For example, it is a description example of a command for converting a text message into an LCD display part of the operation panel 17 of the printer 1000 or an application and displaying it on a browser display part of a host computer that is a caller.

図4は、本発明に係る印刷装置毎のAPIの利用可否状態を静的に記憶しておく記憶テーブルの例である。4−aでは、DeviceAのAPI利用可否を表しており、APIaとdに関しては利用可能であるが、bとcに関しては不可であることを表している。同様に4−bでは、DeviceBにおいて、APIaとbが利用可能であることを表している。   FIG. 4 is an example of a storage table that statically stores the API availability status for each printing apparatus according to the present invention. 4-a indicates whether the API of Device A can be used, and API a and d can be used, but b and c cannot. Similarly, 4-b indicates that APIa and b can be used in DeviceB.

図5は、本発明に係る、ユーザアプリケーションが、API利用可否判断用のAPIを利用し、利用可否を判断したいAPIのIDを指定してAPIを実行したときのフロー図である。   FIG. 5 is a flowchart when the user application uses an API for determining whether or not an API can be used according to the present invention, and specifies the ID of the API that the user wants to determine whether to use the API.

S501において、アプリケーションが利用可否を判断するAPIに、利用可否を判断したいAPIのIDを指定して、APIを実行する。APIが実行されると、S502において機種差分API吸収層がプリンタコントローラ1501の機種を特定し、S503に進む。S503では、プリンタ毎のAPIの利用可否を判断する静的テーブルから利用可否を判断しS504に進む。S504で、利用可能であると判断された場合には、S505に進み、アプリケーションに対して利用可能であることを通知して処理を終了する。S504で利用不可と判断された場合には、S506に進み、アプリケーションに対して利用不可であることを通知して処理を終了する。   In S501, the API for executing the API is specified by specifying the ID of the API for which it is desired to determine whether the application can be used. When the API is executed, the model difference API absorption layer identifies the model of the printer controller 1501 in S502, and the process proceeds to S503. In S503, it is determined whether or not the API can be used from the static table that determines whether or not the API is used for each printer, and the process proceeds to S504. If it is determined in step S504 that the application is available, the process advances to step S505 to notify the application that the application can be used, and the process ends. If it is determined in step S504 that the application cannot be used, the process advances to step S506 to notify the application that the application cannot be used, and the process ends.

(実施例2)
図6は、本発明に係る、ユーザアプリケーションが、API利用可否判断用のAPIを利用し、利用可否を判断したいAPIのIDを指定してAPIを実行したときのフロー図である。
(Example 2)
FIG. 6 is a flowchart when the user application according to the present invention uses an API for determining whether or not an API can be used, and executes the API by specifying the ID of the API that the user wants to determine whether or not the API can be used.

実施例2では、実施例1とは異なり、利用可否を判断するための静的テーブルを保持するのではなく、ユーザアプリケーションから、API利用可否判断用のAPIを実行された時点で、そのAPIが利用可能かをプリンタコントローラに問い合わせを行う。   In the second embodiment, unlike the first embodiment, instead of holding a static table for determining availability, when the API for determining API availability is executed from the user application, the API is displayed. An inquiry is made to the printer controller as to whether it can be used.

そしてその結果から利用可否の結果をアプリケーションに通知する方式である。これは、オプション装置を装着することによって提供される機能(ファクスやハードディスクなど)が、装着されているかどうかを判断する場合などには、実施例2のような構成となる。   Then, from this result, the application is notified of the availability result. This is configured as in the second embodiment when it is determined whether a function (fax, hard disk, etc.) provided by installing the optional device is installed.

S601において、アプリケーションが利用可否を判断するAPIに、利用可否を判断したいAPIのIDを指定して、APIを実行する。APIが実行されると、S602において機種差分API吸収層がプリンタコントローラ1501の機種を特定し、S603に進む。S603では、プリンタ毎のAPIの利用可否を判断するためにプリンタコントローラ1501に問い合わせを行い利用可否を判断する。S604で、利用可能であると判断された場合には、S605に進み、アプリケーションに対して利用可能であることを通知して処理を終了する。S604で利用不可と判断された場合には、S606に進み、アプリケーションに対して利用不可であることを通知して処理を終了する。   In step S601, the API for executing the API is specified by specifying the ID of the API for which it is desired to determine whether the application can be used. When the API is executed, the model difference API absorption layer identifies the model of the printer controller 1501 in S602, and the process proceeds to S603. In step S603, an inquiry is made to the printer controller 1501 to determine whether or not the API can be used for each printer. If it is determined in S604 that the service can be used, the process proceeds to S605 to notify the application that the service can be used, and the process ends. If it is determined in step S604 that the application cannot be used, the process advances to step S606 to notify the application that the application cannot be used, and the process ends.

(実施例3)
実施例1の実施例では、利用可否を判断するために、静的テーブルを保持し、実施例2では、動的に利用可否を判断するためにプリンタコントローラに問い合わせを実行している。実施例3では、この組み合わせによって、静的テーブルを利用しながら、動的に判断すべきAPIに関しては動的に問い合わせを行う例を示す。
(Example 3)
In the embodiment of the first embodiment, a static table is held in order to determine availability, and in the embodiment 2, an inquiry is executed to the printer controller to dynamically determine availability. In the third embodiment, an example is shown in which a query is dynamically made regarding an API that should be determined dynamically while using a static table.

図7は、本発明に係る印刷装置毎のAPIの利用可否状態を記憶しておく記憶テーブルの例である。7−aでは、DeviceAのAPI利用可否を表しており、APIaとdに関しては利用可能であるが、bに関しては不可であり、cに関しては動的に問い合わせを行なうことを表している。同様に7−bでは、DeviceBにおいて、APIaとbが利用可能であることを表している。   FIG. 7 is an example of a storage table that stores the API availability status for each printing apparatus according to the present invention. 7-a indicates whether or not the API of Device A can be used, and API a and d can be used, but b cannot be used, and c is dynamically inquired. Similarly, 7-b indicates that APIa and b can be used in DeviceB.

図8は、本発明に係る、ユーザアプリケーションが、API利用可否判断用のAPIを利用し、利用可否を判断したいAPIのIDを指定してAPIを実行したときのフロー図である。   FIG. 8 is a flowchart when the user application uses an API for determining whether or not an API can be used according to the present invention, and executes the API by specifying the ID of the API that the user wants to determine.

実施例3では、実施例1、2とは異なり、利用可否を判断するための静的テーブルを保持するものと、ユーザアプリケーションから、API利用可否判断用のAPIを実行された時点で、そのAPIが利用可能かをプリンタコントローラに問い合わせを行う。そして、その結果から利用可否の結果をアプリケーションに通知する方式の両方を備えている。   In the third embodiment, unlike the first and second embodiments, when the API for determining whether to use an API is executed from a user application that holds a static table for determining whether or not the API can be used, the API is used. The printer controller is inquired about whether it is available. Then, both methods for notifying the application of the availability result from the result are provided.

これは、静的に利用可否が固定になるものと、オプション装置などを装着することによって提供される機能(ファクスやハードディスクなど)などが混在する場合には、実施例3のような構成となる。   This configuration is the same as that of the third embodiment when there is a mixture of statically fixed availability and functions (fax, hard disk, etc.) provided by installing optional devices. .

S801において、アプリケーションが利用可否を判断するAPIに、利用可否を判断したいAPIのIDを指定して、APIを実行する。APIが実行されると、S802において機種差分API吸収層がプリンタコントローラ1501の機種を特定し、S803に進む。S803では、プリンタ毎の性的テーブルから指定されたIDの利用可否状況を参照し、S804に進む。S804では、静的テーブルから静的に判断可能かを判断し、静的に判断可能な場合はS806に進む。S805において、静的テーブルから利用可のと判断された場合には、S806に進み、アプリケーションに対して利用可能であることを通知して処理を終了する。S805で利用不可と判断された場合には、S807に進み、アプリケーションに対して利用不可であることを通知して処理を終了する。また、S804で静的に判断できないと判断された場合には、S808に進む。S808では、プリンタ毎のAPIの利用可否を判断するためにプリンタコントローラ1501に問い合わせを行い利用可否を判断する。S809で、利用可能であると判断された場合には、S810に進み、アプリケーションに対して利用可能であることを通知して処理を終了する。S809で利用不可と判断された場合には、S811において、アプリケーションに対して利用不可であることを通知して処理を終了する。   In step S801, the API of the API for which the application is to be used is specified as the API for determining whether the application is to be used, and the API is executed. When the API is executed, the model difference API absorption layer identifies the model of the printer controller 1501 in S802, and the process proceeds to S803. In S803, referring to the availability status of the ID specified from the sexual table for each printer, the process proceeds to S804. In S804, it is determined whether static determination is possible from the static table. If static determination is possible, the process proceeds to S806. If it is determined in S805 that the static table can be used, the process advances to S806 to notify the application that it can be used, and the process ends. If it is determined in step S805 that use is not possible, the process advances to step S807 to notify the application that use is not possible, and the process ends. If it is determined in S804 that the determination cannot be made statically, the process proceeds to S808. In step S808, an inquiry is made to the printer controller 1501 to determine whether or not the API can be used for each printer. If it is determined in step S809 that the application can be used, the process advances to step S810 to notify the application that the application can be used, and the process ends. If it is determined in S809 that it cannot be used, in S811, the application is notified that it cannot be used, and the process ends.

(実施例4)
実施例1から3では、アプリケーションがAPIの利用可否を知るためには、IDを指定した利用可否判断用のAPIを実行する例を示したが、実施形態はそれに縛られるものではない。実施例4では、アプリケーションがAPIの利用可否を知るために、そのAPIに1対1に対応した利用可否確認APIを用意するものである。
Example 4
In the first to third embodiments, an example is shown in which an API for determining whether or not an API can be used is executed in order for an application to know whether or not an API can be used. However, the embodiment is not limited thereto. In the fourth embodiment, in order for an application to know whether or not an API can be used, a use availability confirmation API corresponding to the API is prepared one-on-one.

図9は、利用可否確認APIの実施例である。getDeviceName()の利用可否を確認する場合には、対で用意されている、isAvailable_getDeviceName()を実行することにより、利用可否の判断を行うことが可能となる。isAvailable_getDeviceName()は、利用可能な場合にはtrue、利用不可の場合はfalseを返すことにより、アプリケーションは利用可否を知ることが可能となる。   FIG. 9 shows an example of the availability confirmation API. When confirming the availability of getDeviceName (), it is possible to determine the availability by executing isAvailable_getDeviceName () prepared in pairs. isAvailable_getDeviceName () returns true if it can be used, and false if it cannot be used, so that the application can know whether it can be used.

本発明の実施形態に関わる印刷システムのハードウェア構成ブロック図。1 is a block diagram of a hardware configuration of a printing system according to an embodiment of the present invention. 本発明の実施形態に関わる印刷システムソフトウェア構成ブロック図。FIG. 2 is a block diagram of a printing system software configuration according to the embodiment of the present invention. 本発明におけるアプリケーションプログラムのソースコード記述例。The example of a source code description of the application program in this invention. 本発明に係る印刷装置毎のAPIの利用可否状態を静的に記憶しておく記憶テーブル。The storage table which memorize | stores statically the availability state of API for every printing apparatus which concerns on this invention. 本発明に係る、ユーザアプリケーションが、API利用可否判断用のAPIを利用し、利用可否を判断したいAPIのIDを指定してAPIを実行したときのフロー図。FIG. 6 is a flowchart when the user application uses an API for determining whether or not an API can be used according to the present invention, and executes an API by specifying an ID of an API that is to be used for determining whether or not to use the API. 本発明に係る、ユーザアプリケーションが、API利用可否判断用のAPIを利用し、利用可否を判断したいAPIのIDを指定してAPIを実行したときのフロー図。FIG. 6 is a flowchart when the user application uses an API for determining whether or not an API can be used according to the present invention, and executes an API by specifying an ID of an API that is to be used for determining whether or not to use the API. 本発明に係る印刷装置毎のAPIの利用可否状態を記憶しておく記憶テーブル。The storage table which memorize | stores the availability state of API for every printing apparatus which concerns on this invention. 本発明に係る、ユーザアプリケーションが、API利用可否判断用のAPIを利用し、利用可否を判断したいAPIのIDを指定してAPIを実行したときのフロー図。FIG. 6 is a flowchart when the user application uses an API for determining whether or not an API can be used according to the present invention, and executes an API by specifying an ID of an API that is to be used for determining whether or not to use the API. 利用可否確認API例。API example of availability confirmation.

符号の説明Explanation of symbols

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 Printer 1500 Network Print Server 1600 Printer Controller 2000 Local Area Network 1 CPU
2 RAM
3 Flash ROM
4 System bus 5 LAN controller 6 LED
7 Expansion interface controller 8 CPU
9 ROM
10 External memory 11 System bus 12 Raster controller 13 Extended interface controller 14 RAM
15 Disk Controller 16 Print Engine 17 Expansion Interface Bus 18 Operation Panel

Claims (3)

印刷装置本体に装着可能な、前記印刷装置と別個のCPUを備えるネットワークカードにあって、
クライアントから前記ネットワークカードに具備している仮想マシン上で動作可能なアプリケーションプログラムを前記ネットワークカードに追加可能とする手段と、
印刷装置の制御およびクライアントとの通信制御を行なうアプリケーションプログラムが動作可能な仮想マシンと、
アプリケーションプログラムから利用可能なアプリケーションプログラムインタフェース(API)を実行したときに、ネットワークカードが装着される印刷装置に応じて機種を判断し、機種に応じた処理を行う機種差分吸収手段と、
機種差分吸収手段によって取得した情報を、アプリケーションプログラムインタフェース(API)に応じた情報に変更する情報変更手段と、
さらに、各前記APIが、機種別に利用可能状態かどうか判断する利用可否判断手段と、
前記利用可否判断手段にて利用可能かどうかの判断の結果をアプリケーションプログラムに対して通知する利用可否通知手段と
を備えることを特徴とするネットワークカード。
In a network card having a CPU separate from the printing device, which can be attached to the printing device main body,
Means for allowing an application program operable on a virtual machine included in the network card to be added from the client to the network card;
A virtual machine capable of operating an application program for controlling a printing apparatus and communication with a client;
When executing an application program interface (API) that can be used from an application program, a model difference absorbing unit that determines a model according to a printing device to which a network card is mounted and performs processing according to the model,
Information changing means for changing the information acquired by the model difference absorbing means to information corresponding to the application program interface (API);
In addition, the availability determination means for determining whether each API is available for each model,
A network card comprising: an availability determining unit that notifies an application program of a result of determination as to whether or not the availability is possible by the availability determining unit.
前記請求項1に記載のネットワークカードにおいて、アプリケーションプログラムがアプリケーションプログラムインタフェース(API)の利用可否を知るために、APIに対応したIDを指定した利用可否判断用APIを備える
ことを特徴とするネットワークカード。
2. The network card according to claim 1, further comprising an API for determining whether or not an application program interface (API) can be used so that an application program can determine whether or not an application program interface (API) can be used. .
前記請求項1に記載のネットワークカードにおいて、アプリケーションプログラムがアプリケーションプログラムインタフェース(API)の利用可否を知るために、各APIに対応した利用可否判断APIを備える
ことを特徴とするネットワークカード。
The network card according to claim 1, further comprising an availability determination API corresponding to each API so that the application program knows whether or not the application program interface (API) can be used.
JP2006317237A 2006-11-24 2006-11-24 Network card Withdrawn JP2008130016A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006317237A JP2008130016A (en) 2006-11-24 2006-11-24 Network card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006317237A JP2008130016A (en) 2006-11-24 2006-11-24 Network card

Publications (1)

Publication Number Publication Date
JP2008130016A true JP2008130016A (en) 2008-06-05

Family

ID=39555736

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006317237A Withdrawn JP2008130016A (en) 2006-11-24 2006-11-24 Network card

Country Status (1)

Country Link
JP (1) JP2008130016A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010072997A (en) * 2008-09-19 2010-04-02 Kyocera Mita Corp Electronic device and application execution method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010072997A (en) * 2008-09-19 2010-04-02 Kyocera Mita Corp Electronic device and application execution method

Similar Documents

Publication Publication Date Title
US9100527B2 (en) Communication apparatus, control method therefor, and storage medium
US8121954B2 (en) Information processor, method for controlling the same, and image forming system
JP4667281B2 (en) Peripheral device control method, information processing apparatus and control program therefor
US8749815B2 (en) Job processing method, image processing system and image processing apparatus
US20120062936A1 (en) Printer, computer readable medium, and method
JP2008165291A (en) Information processing device and program
JP2005309982A (en) Port setting changing device and method, and port setting changing control program
JP2006338268A (en) Data processor, network interface substrate and application program registering method
JP2008130016A (en) Network card
JP2005038011A (en) Network system and its control method
JP6213144B2 (en) Function sharing system, share management server, function sharing method, and program
JP2008134933A (en) Network card
JP4560313B2 (en) Information processing apparatus, image forming system, and information processing apparatus control method
JP5353833B2 (en) Server, print setting file storage control method, and storage control program
JP4262007B2 (en) Network device and data processing system control method
JP2006209507A (en) Print mode management system, method and apparatus, and printer driver
JP4387710B2 (en) Network device and control method thereof
JP4498460B2 (en) Network device and control method thereof
JP2009134584A (en) Information processor management system, information processor management method, program, and storage medium
JP2010074432A (en) Image processing device, method, and system
JP2009122745A (en) Printing instruction device, printing system, and program
JP2005149087A (en) Printer server, method for executing program, storage medium with computer-readable program stored, and the program
JP6299310B2 (en) Control device, information processing device, information processing system, and program
JP2007157040A (en) Network device and service starting method
JP2008102848A (en) Information processor, its control method, and program

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