JP2009086832A - Information system - Google Patents

Information system Download PDF

Info

Publication number
JP2009086832A
JP2009086832A JP2007253359A JP2007253359A JP2009086832A JP 2009086832 A JP2009086832 A JP 2009086832A JP 2007253359 A JP2007253359 A JP 2007253359A JP 2007253359 A JP2007253359 A JP 2007253359A JP 2009086832 A JP2009086832 A JP 2009086832A
Authority
JP
Japan
Prior art keywords
card reader
writer
application program
api
host device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007253359A
Other languages
Japanese (ja)
Inventor
Noriyuki Takagi
典之 高木
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.)
Nidec Instruments Corp
Original Assignee
Nidec Sankyo Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nidec Sankyo Corp filed Critical Nidec Sankyo Corp
Priority to JP2007253359A priority Critical patent/JP2009086832A/en
Publication of JP2009086832A publication Critical patent/JP2009086832A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information system for controlling a device by performing communication without depending on any device or interface in providing a communication function between a host device and a device. <P>SOLUTION: The information system is configured of a host device 2 equipped with an application program (S20); the devices (S22, S26) for performing communication with the host device 2, and for executing prescribed processing on the basis of the result of communication; and control software (S21, S25) for providing communication functions between the host device 2 and the devices (S22, S26). The control software (S21, S25) is provided with a common API (S24) to be called by the application program (S20) so as to be used for different devices which execute the same kind of processing, and the application (S20) includes a programming interface corresponding to the API. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、互いに接続された上位装置とデバイスとの間で通信機能を提供するに際し、デバイスやインターフェースに依存することなく通信を行うことができる情報システムに関する。   The present invention relates to an information system capable of performing communication without depending on a device or an interface when providing a communication function between a host device and a device connected to each other.

O−POS、PC/SC、XFS等の標準仕様を用いた小規模のPOSシステムに接続されたデバイス(例えば、カードリーダライタ)は、上位装置(ホストコンピュータ)とデバイスとの基本通信機能を提供する制御ソフトウェア(ドライバ、ライブラリ)によって、その機能を発揮することができる。   A device (for example, a card reader / writer) connected to a small-scale POS system using standard specifications such as O-POS, PC / SC, and XFS provides a basic communication function between the host device (host computer) and the device. The function can be exhibited by the control software (driver, library).

この際、上位装置とデバイスとの間では、インターフェース特有の処理を意識することなく、既に用意された制御ソフトウェアのAPI(Application Program Interface)を使用して、デバイスを制御する技術が一般化されている。APIとは、あるプラットフォーム(OSやミドルウェア)向けのソフトウェアを開発する際に使用できる命令や関数の集合、また、それらを利用するためのプログラム上の手続きを定めた規約の集合のことをいう。   At this time, a technology for controlling a device using an API (Application Program Interface) of control software that has already been prepared without being conscious of processing peculiar to an interface between a host device and a device is generalized. Yes. API refers to a set of instructions and functions that can be used when developing software for a certain platform (OS and middleware), and a set of rules that define a procedure in a program for using them.

APIによれば、デバイスの持つすべての機能を確立するためのプログラミングを必要とせず、多くの制御ソフトウェアが共通して利用する機能は、OSやミドルウェアなどの形でまとめて提供され、個々の開発者は規約に従ってその機能を「呼び出す」だけで、自分でプログラミングすることなくその機能を利用したソフトウェアを作成することができるという利点を有する。   The API does not require programming to establish all the functions of a device, and functions commonly used by many control software are provided together in the form of an OS, middleware, etc. One has the advantage that software that uses the function can be created by simply “calling” the function in accordance with the convention without programming it by yourself.

このソフトウェアは、個々のデバイスごとや、個々のインターフェースごとに対応して上位装置に格納されている。   This software is stored in the host device corresponding to each individual device or each individual interface.

例えば、特許文献1の第2図によれば、プリンタ、ディスプレイ、ハンドスキュー、CDといった異なる種類のデバイスごとに、それぞれのハンドラを必要とし、複数のデバイスをセレクタで切り替えて、1つのデバイスを選択的に接続する技術が開示されている。   For example, according to FIG. 2 of Patent Document 1, each type of device such as a printer, a display, a hand skew, and a CD requires a handler, and a plurality of devices are switched by a selector to select one device. A technique for automatically connecting is disclosed.

また、同じ種類のデバイスであっても、デバイスが物理的に異なれば、デバイスごとにそれぞれのハンドラを必要とする。これは、どのデバイスをどのハンドラで制御するかという、デバイスとハンドラとの関連付けがレジストリに登録されていて、物理的に異なるデバイスについては関連付けされていないことに起因するものである。   Even if the devices are of the same type, if the devices are physically different, each device requires a handler. This is because an association between a device and a handler, which device is controlled by which handler, is registered in the registry, and a physically different device is not associated.

特開平4−14158号公報(第2図)Japanese Patent Laid-Open No. 4-14158 (FIG. 2)

このように、従来の情報システムにおいては、図5に示すように、異なるデバイスごとに対応したアプリケーションプログラム及び制御ソフトウェアを必要としていた。すなわち、図5によれば、アプリケーションプログラムA(S10)にてカードリーダライタA(S12)を制御する場合、制御ソフトウェアA(S11)を使用しなければならず、他のデバイス(カードリーダライタB)を制御できない。同様に、制御ソフトウェアB(S14)は、アプリケーションプログラムB(S13)と関連してカードリーダライタB(S15)を制御するもので、他のデバイス(カードリーダライタA)を制御できない。   As described above, the conventional information system requires an application program and control software corresponding to each different device as shown in FIG. That is, according to FIG. 5, when the card reader / writer A (S12) is controlled by the application program A (S10), the control software A (S11) must be used, and another device (card reader / writer B) is used. ) Cannot be controlled. Similarly, the control software B (S14) controls the card reader / writer B (S15) in association with the application program B (S13), and cannot control other devices (card reader / writer A).

そして、上述した従来技術が示すように、デバイスとの基本通信機能を提供してデバイスを制御する既存の制御ソフトウェアの制約から、いくつかの問題点があった。   As shown in the related art, there are some problems due to limitations of existing control software that provides a basic communication function with a device and controls the device.

例えば、デバイスと上位装置とのインターフェースが異なる場合や、インターフェースが同じでもデバイス自体の仕様が異なる場合などは、それぞれに対応して制御ソフトウェアを変更し、それに伴ってアプリケーションプログラムも変更しなければならず、開発コストや開発期間の負担等の面で問題点がある。   For example, if the interface between the device and the host device is different, or if the interface is the same but the specifications of the device itself are different, the control software must be changed accordingly, and the application program must be changed accordingly. However, there are problems in terms of development costs and burden of development period.

また、デバイス固有の仕様に依存した制御ソフトウェアのAPIを使用する場合は、その仕様を熟知し、かつ、その仕様を意識したものにしなければならず、同様に開発コストや開発期間の負担等の面で問題点がある。   In addition, when using the control software API that depends on the device-specific specifications, you must be familiar with the specifications and be aware of the specifications. There is a problem in terms.

また、特許文献1(特開平4−14158号公報)に記載された発明のように、セレクタによるデバイスの選択によっても、各デバイスに特有のハンドラを必要とするばかりか、ハンドラやアプリケーションプログラム自体が複雑になってしまい、システムの負荷が増大してしまうという問題点がある。   Further, as in the invention described in Patent Document 1 (Japanese Patent Application Laid-Open No. Hei 4-14158), the selection of a device by a selector not only requires a handler unique to each device, but also the handler and application program itself. There is a problem that it becomes complicated and the load on the system increases.

さらに、特開平6−243081号公報に記載された発明のように、クライアント−サーバ−デバイスというサーバ介在型のネットワーク通信においては、アプリケーションプログラムによるサーバへの要求と、サーバープロセスによるデバイスへの要求と、をサーバで管理して処理する必要があり、システム全体としてはサーバープロセスが複雑になってしまい、システムの負荷が増大してしまうという問題点がある。また、このようなネットワーク通信によってデバイスが制御されるものは、デバイスがローカルに接続されるような小規模なPOSシステムには適さない。   Further, as in the invention described in Japanese Patent Application Laid-Open No. 6-243081, in server-mediated network communication called client-server-device, a request to a server by an application program, a request to a device by a server process, , Need to be managed and processed by the server, the server process of the entire system becomes complicated, and the load on the system increases. In addition, a device whose device is controlled by such network communication is not suitable for a small-scale POS system in which the device is locally connected.

本発明は、このような点に鑑みてなされたものであり、その目的は、上位装置とデバイスとの間で通信機能を提供するに際し、デバイスやインターフェースに依存することなく通信を行い、デバイスを制御することができる情報システムを提供することにある。   The present invention has been made in view of the above points, and its purpose is to provide a communication function between a host device and a device without depending on the device or interface, It is to provide an information system that can be controlled.

以上のような課題を解決するために、本発明は、アプリケーションプログラムを備える上位装置と、上位装置との間で通信を行うとともに、該通信の結果に基づいて所定の処理を実行するデバイスと、上位装置とデバイスとの間で通信機能を提供する制御ソフトウェアと、から構成され、制御ソフトウェアは、アプリケーションプログラムによって呼び出され、同種の処理を実行する異なるデバイスに使用可能な互いに共通するAPIを有し、アプリケーションプログラムは、このAPIに対応するプログラミングインターフェースを含むことを特徴とする。   In order to solve the problems as described above, the present invention communicates between a host device provided with an application program and a host device, and executes a predetermined process based on a result of the communication, Control software that provides a communication function between a host device and a device, and the control software is called by an application program and has a common API that can be used for different devices that execute the same type of processing. The application program includes a programming interface corresponding to the API.

より具体的には、本発明は、以下のものを提供する。   More specifically, the present invention provides the following.

(1) アプリケーションプログラムを備える上位装置と、前記上位装置との間で通信を行うとともに、該通信の結果に基づいて所定の処理を実行するデバイスと、前記上位装置と前記デバイスとの間で通信機能を提供する制御ソフトウェアと、を備え、前記制御ソフトウェアは、前記アプリケーションプログラムによって呼び出され、同種の処理を実行する異なるデバイスに使用可能なAPI(Application Program Interface)を有し、前記アプリケーションプログラムは、前記APIに対応するプログラミングインターフェースを含むことを特徴とする情報システム。   (1) A device that performs communication between a host device including an application program and the host device, and that executes predetermined processing based on a result of the communication, and a communication between the host device and the device Control software that provides a function, and the control software is called by the application program and has an API (Application Program Interface) that can be used for different devices that execute the same type of processing. An information system comprising a programming interface corresponding to the API.

本発明によれば、制御ソフトウェアは、同種の処理を実行する異なるデバイスに使用可能なAPIを有し、上位装置に備えられたアプリケーションプログラムは、このAPIに対応するプログラミングインターフェースを含むことから、アプリケーション内で発生する処理がアプリケーションプログラムによって呼び出されてデバイスを制御する場合に、デバイスに依存することなく、同種の処理を実行するデバイスであれば共通したAPIによる通信機能の提供が可能となる。また、異なるデバイスによって上位装置とデバイスとの通信方式が異なる場合でも、そのデバイスに依存することなく、共通したAPIによる通信機能の提供が可能となる。   According to the present invention, the control software has an API that can be used for different devices that execute the same type of processing, and the application program provided in the host device includes a programming interface corresponding to this API. When a process that occurs in a device is called by an application program to control a device, a device that executes the same type of process can be provided with a common API communication function without depending on the device. Further, even when the communication method between the host device and the device differs depending on different devices, it is possible to provide a communication function using a common API without depending on the device.

(2) 前記APIと前記プログラミングインターフェースとは、互いに共通する関数であることを特徴とする情報システム。   (2) The information system, wherein the API and the programming interface are functions common to each other.

本発明によれば、APIとプログラミングインターフェースとが互いに共通する関数を持つことにより、アプリケーションプログラムによって適当なパラメータ(引数)を指定して呼び出されたAPIの関数をプログラミングインターフェース上で処理することができ、デバイスやインターフェースに依存することなく、共通したAPIによる通信機能の提供が可能となる。   According to the present invention, since the API and the programming interface have a common function, an API function called by an application program with an appropriate parameter (argument) specified can be processed on the programming interface. It is possible to provide a communication function using a common API without depending on a device or an interface.

(3) 前記上位装置は、前記APIに使用する情報を記録する情報登録部を備え、前記情報登録部には、異なるデバイスを識別する識別情報が登録されていることを特徴とする情報システム。   (3) The information system characterized in that the host device includes an information registration unit for recording information used for the API, and identification information for identifying different devices is registered in the information registration unit.

本発明によれば、情報登録部に登録された識別情報によって異なるデバイスを各々識別することができることから、異なるデバイスによっても共通したAPIによる上位装置とデバイスとの通信機能の提供が可能となる。   According to the present invention, since different devices can be identified by the identification information registered in the information registration unit, it is possible to provide a communication function between a host device and a device using a common API even for different devices.

(4) 前記デバイスは、カードリーダライタであることを特徴とする情報システム。   (4) The information system, wherein the device is a card reader / writer.

本発明によれば、デバイスとしてのカードリーダの仕様や通信方式に依存することなく、共通したAPIによる通信機能の提供が可能となる。   According to the present invention, it is possible to provide a communication function using a common API without depending on the specifications and communication method of a card reader as a device.

以上説明したように、本発明によれば、デバイス自体や上位装置とデバイスとの通信方式が異なる場合でも、共通したAPIによる通信機能の提供が可能となり、それらに依存することなくデバイスの制御が可能となる。   As described above, according to the present invention, it is possible to provide a communication function using a common API even when the communication method between the device itself or the host device and the device is different, and the device can be controlled without depending on them. It becomes possible.

以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。   The best mode for carrying out the present invention will be described below with reference to the drawings.

図1は、本発明の実施の形態に係る情報システム1のハードウェア構成図である。   FIG. 1 is a hardware configuration diagram of an information system 1 according to an embodiment of the present invention.

情報システム1は、下位に接続される各種のデバイスを制御する上位装置2と、上位装置2によって制御され、各種の機能を実現するデバイスとしてのカードリーダライタ3と、によって構成される。なお、デバイスとしてのカードリーダライタは一例であって、カードリーダライタ以外にも、プリンタやバーコードリーダ等の各種のデバイスを個別に又は複合的に構成することもできる。   The information system 1 includes a host device 2 that controls various devices connected to a lower level, and a card reader / writer 3 that is controlled by the host device 2 and implements various functions. Note that the card reader / writer as a device is an example, and various devices such as a printer and a barcode reader can be configured individually or in combination in addition to the card reader / writer.

上位装置2は、BUS(バス)を介して各種の機器が接続されており、情報システム1においては、CPU20と、ストレイジ21と、メモリ22と、インターフェース23と、が主に接続されている。なお、本実施の形態では、ストレイジ21は、ハードディスクを用いている。   Various devices are connected to the host device 2 via a BUS (bus), and in the information system 1, a CPU 20, a storage 21, a memory 22, and an interface 23 are mainly connected. In the present embodiment, the storage 21 uses a hard disk.

CPU20は、ストレイジ21に記憶されているプログラムやデータをメモリ22上に読み出し、それらを用いることで上位装置2及びカードリーダライタ3の制御を行う。   The CPU 20 reads programs and data stored in the storage 21 onto the memory 22 and uses them to control the host device 2 and the card reader / writer 3.

メモリ22は、ストレイジ21から読み出された基本ソフトウェア(OS)のほか、OSの下で実行されるアプリケーションプログラムや、上位装置2とカードリーダライタ3との間で通信機能を提供する制御ソフトウェアプログラムを記憶する。また、制御ソフトウェアとカードリーダライタとを関連付けて、異なるカードリーダライタを識別する識別情報を登録する情報登録部としての機能も有している。   In addition to the basic software (OS) read from the storage 21, the memory 22 is an application program executed under the OS and a control software program that provides a communication function between the host device 2 and the card reader / writer 3. Remember. In addition, it also has a function as an information registration unit that registers control information and a card reader / writer, and registers identification information for identifying different card reader / writers.

また、メモリ22は、APIとプログラミングインターフェースとが互いに共通する関数を記憶する。共通する関数(共通API群)としては、カードリーダライタ等のデバイスとの通信を確立する「open」処理、デバイスとの通信を切断する「close」処理等の各種関数がある。   The memory 22 stores a function in which the API and the programming interface are common to each other. The common function (common API group) includes various functions such as “open” processing for establishing communication with a device such as a card reader / writer and “close” processing for disconnecting communication with a device.

RAM22は、CPU20がプログラムを実行するための作業領域も提供する。   The RAM 22 also provides a work area for the CPU 20 to execute the program.

インターフェース23は、CPU20からの命令に基づいて様々な処理が実行される他の機器,デバイスと上位装置2とを接続するものであり、カードリーダライタ3等とローカル接続されている。   The interface 23 connects other devices and devices that execute various processes based on commands from the CPU 20 and the host device 2 and is locally connected to the card reader / writer 3 and the like.

かかる構成を有する情報システム1は、CPU20からの命令に従い、ストレイジ21に記憶されているプログラムやデータをメモリ22上に読み出して、それらを用いることで、インターフェース23に接続されるカードリーダライタ3をAPIを使用して制御する。   The information system 1 having such a configuration reads out the program and data stored in the storage 21 onto the memory 22 in accordance with a command from the CPU 20 and uses them to use the card reader / writer 3 connected to the interface 23. Control using API.

図2は、本発明の実施の形態に係る情報システム1のソフトウェア構成図である。   FIG. 2 is a software configuration diagram of the information system 1 according to the embodiment of the present invention.

アプリケーションプログラムは、異なるカードリーダライタA,カードリーダライタBを制御するのに共通に使用可能なAPIに対応するプログラミングインターフェースを含み、制御ソフトウェアA,制御ソフトウェアBが有するAPIを呼び出すことができる。   The application program includes a programming interface corresponding to an API that can be used in common to control different card reader / writer A and card reader / writer B, and can call APIs that the control software A and control software B have.

制御ソフトウェアA及び制御ソフトウェアBは、上位装置2とカードリーダライタA及びカードリーダライタBとの間でそれぞれ通信機能を提供してカードリーダライタA,カードリーダライタBを制御する。   The control software A and the control software B provide a communication function between the host device 2 and the card reader / writer A and the card reader / writer B to control the card reader / writer A and the card reader / writer B, respectively.

図2によれば、カードの磁気情報を読み取る、或いは、カードのICチップに記憶された情報を読み取るという同種の処理を実行する異なるカードリーダライタA,カードリーダライタBを、互いに共通のAPIを用意しておくことで個別に制御するものである。具体的には、アプリケーションプログラム(S20)でカードリーダライタA(S22)を制御する場合、情報登録部(S23)に登録された情報を下に、アプリケーションプログラムのプログラミングインターフェイスを介して共通のAPI(S24)を使用することにより、カードリーダライタA(S22)の主な動作の実現が可能となる。共通のAPI(S24)がアプリケーションプログラム(S20)によってコールされた際の各処理は、基本通信機能を提供する制御ソフトウェアA(S21)によって行うことで、アプリケーションプログラム(S20)に依存しない形でカードリーダライタA(S22)特有の処理を行うことができる。同様に、アプリケーションプログラム(S20)に依存しない形でカードリーダライタB(S26)特有の処理を行うことができる。   According to FIG. 2, different card reader / writer A and card reader / writer B that execute the same kind of processing of reading the magnetic information of the card or reading the information stored in the IC chip of the card, By preparing it, it controls individually. Specifically, when the card reader / writer A (S22) is controlled by the application program (S20), the information registered in the information registration unit (S23) is used as a common API (via a programming interface of the application program). By using S24), the main operation of the card reader / writer A (S22) can be realized. Each process when the common API (S24) is called by the application program (S20) is performed by the control software A (S21) that provides the basic communication function, so that the card does not depend on the application program (S20). Processing unique to the reader / writer A (S22) can be performed. Similarly, processing unique to the card reader / writer B (S26) can be performed without depending on the application program (S20).

例として、カードリーダライタA(S22)を使用してICカードと通信を行う場合の処理について説明する。なお、各種処理の実行に先立ち、情報登録部(S23)に、カードリーダライタA(S22)のデバイス名やデバイス情報を登録しておく。   As an example, a process when communicating with an IC card using the card reader / writer A (S22) will be described. Prior to the execution of various processes, the device name and device information of the card reader / writer A (S22) are registered in the information registration unit (S23).

まず、上位装置2とカードリーダライタA(S22)との通信を確立するために、アプリケーションプログラム(S20)によって「open」が呼び出され、制御ソフトウェアA(S21)によって「open」処理が実行される。この際に、上位装置2はカードリーダライタA(S22)を使用するハンドルを取得する。このハンドルは、以後のAPIコール時にも使用する。   First, in order to establish communication between the host device 2 and the card reader / writer A (S22), “open” is called by the application program (S20), and “open” processing is executed by the control software A (S21). . At this time, the host device 2 acquires a handle using the card reader / writer A (S22). This handle is also used for subsequent API calls.

次に、カード取り込みを行うために、アプリケーションプログラム(S20)によって「entry」が呼び出され、制御ソフトウェアA(S21)によって「entry」処理が実行されて、ICカードの挿入を待つ。ICカードが挿入されると、制御ソフトウェアA(S21)からアプリケーションプログラム(S20)に「entry」の結果が返される。   Next, in order to take in the card, “entry” is called by the application program (S20), “entry” processing is executed by the control software A (S21), and the insertion of the IC card is awaited. When the IC card is inserted, the result of “entry” is returned from the control software A (S21) to the application program (S20).

次に、ICカードの活性化を行うために、アプリケーションプログラム(S20)によって「activate」が活性化指定で呼び出され、制御ソフトウェアA(S21)によって「activate」活性化処理が実行されて、ICカードの活性化が行われる。   Next, in order to activate the IC card, “activate” is called by the application program (S20) with activation designation, and “activate” activation processing is executed by the control software A (S21). Is activated.

次に、ICカードとのデータ送受信を行うために、アプリケーションプログラム(S20)によって「iccommunication」が呼び出され、制御ソフトウェアA(S21)によって「iccommunication」処理が実行されて、ICカードとの通信を行い、必要なデータの送受信を行う。   Next, in order to exchange data with the IC card, “iccommunication” is called by the application program (S20), and “iccommunication” processing is executed by the control software A (S21) to perform communication with the IC card. Send and receive the necessary data.

通信処理終了後、ICカードの非活性化を行うために、アプリケーションプログラム(S20)によって「activate」が非活性化指定で呼び出され、制御ソフトウェアA(S21)によって「activate」非活性化処理が実行されて、ICカードの非活性化が行われる。   After the communication process is completed, in order to deactivate the IC card, “activate” is called by the application program (S20) with deactivation designation, and “activate” deactivation process is executed by the control software A (S21). Then, the IC card is deactivated.

次に、ICカードの排出を行うために、アプリケーションプログラム(S20)によって「eject」が呼び出され、制御ソフトウェアA(S21)によって「eject」処理が実行されて、ICカードの排出を待つ。ICカードが排出されて取り除かれたら、制御ソフトウェアA(S21)からアプリケーションプログラム(S20)に「eject」の結果が返される。   Next, in order to eject the IC card, “eject” is called by the application program (S20), “eject” processing is executed by the control software A (S21), and the IC card is ejected. When the IC card is ejected and removed, the result of “eject” is returned from the control software A (S21) to the application program (S20).

最後に、上位装置2とカードリーダライタA(S22)との通信を切断するために、アプリケーションプログラム(S20)によって「close」が呼び出され、制御ソフトウェアA(S21)によって「close」処理が実行されて、デバイスとの通信が切断される。この際、取得したハンドルもクローズされる。   Finally, in order to cut off communication between the host device 2 and the card reader / writer A (S22), “close” is called by the application program (S20), and “close” processing is executed by the control software A (S21). Communication with the device is disconnected. At this time, the acquired handle is also closed.

このようにして、カードリーダライタA(S22)の主な動作の実現が可能となる。また、カードリーダライタB(S26)の主な動作の実現にあたっては、アプリケーションプログラム(S20)によってAPIが呼び出され、制御ソフトウェアB(S25)によってAPIが要求する処理が実行される。   In this way, the main operation of the card reader / writer A (S22) can be realized. In realizing the main operation of the card reader / writer B (S26), the API is called by the application program (S20), and the processing requested by the API is executed by the control software B (S25).

すなわち、同種の処理を実行する異なるカードリーダライタに使用可能な共通のAPIを使用し、呼び出されたAPIの処理を制御ソフトウェアによって実行することで、カードリーダライタに依存することなく、上位装置とカードリーダライタとの通信機能の提供が可能となる。この場合、物理的に異なるカードリーダライタA,カードリーダライタBを用いるとき、換言すれば、搭載されるチップ(ファームウェア等)によって上位装置が別媒体と認識するときでも、アプリケーションプログラムによって呼び出されたAPIに使用する情報をカードリーダライタごとに情報登録部に登録しておくことで、上位装置とカードリーダライタとの通信機能の提供が可能となる。   That is, by using a common API that can be used for different card readers / writers that execute the same type of processing, and by executing the called API processing by the control software, it is possible to connect the host device without depending on the card reader / writer. It is possible to provide a communication function with the card reader / writer. In this case, when the physically different card reader / writer A and card reader / writer B are used, in other words, even when the host device recognizes a different medium by the mounted chip (firmware or the like), it is called by the application program. By registering information used for the API in the information registration unit for each card reader / writer, it is possible to provide a communication function between the host device and the card reader / writer.

図3は、本発明の他の実施の形態に係る情報システム1'のソフトウェア構成図である。   FIG. 3 is a software configuration diagram of an information system 1 ′ according to another embodiment of the present invention.

図3に示す情報システム1'は、図2に示す情報システム1と異なり、カードリーダライタA'がRS−232CポートCOM1に、カードリーダライタB'がUSBポートに、上位装置2と異なる形態の通信方式で接続されている。このような形態を、上位装置2は「異なるデバイス」として認識することから、本発明における「異なるデバイス」と称する。   3 differs from the information system 1 shown in FIG. 2 in that the card reader / writer A ′ is an RS-232C port COM1, the card reader / writer B ′ is a USB port, and the host system 2 is different. Connected by communication method. Such a form is referred to as a “different device” in the present invention because the host apparatus 2 recognizes it as a “different device”.

情報登録部には、RS−232CポートCOM1に接続されたカードリーダライタA'と通信するための情報(接続ポート(COM)、通信速度(Baudrate))が登録され、また、USBポートに接続されたカードリーダライタB'と通信するための情報(ProductID、Serial Number)が登録されており、上位装置2は、カードリーダライタA',カードリーダライタB'を識別することができる。   Information (communication port (COM), communication speed (Baudrate)) for communicating with the card reader / writer A ′ connected to the RS-232C port COM1 is registered in the information registration unit, and also connected to the USB port. Information (ProductID, Serial Number) for communicating with the card reader / writer B ′ is registered, and the host device 2 can identify the card reader / writer A ′ and the card reader / writer B ′.

まず、カードリーダライタA'を用いて上位装置2との通信を行う場合を考えると、この場合の処理は上述したカードリーダライタAと同様である。次に、カードリーダライタA'をカードリーダライタB'に変えて通信を行う場合を考える。   First, considering the case of performing communication with the host device 2 using the card reader / writer A ′, the processing in this case is the same as that of the card reader / writer A described above. Next, consider a case where communication is performed by changing the card reader / writer A ′ to the card reader / writer B ′.

この場合は、従来であれば異なるカードリーダライタと認識する上位装置2において、カードリーダライタB'に対応したアプリケーションプログラム及び制御ソフトウェアが必要であるが、本発明の実施の形態によれば、アプリケーションプログラムによって呼び出されたAPIをカードリーダライタB'に対応した制御ソフトウェアにて処理することができるように、制御ソフトウェアは同種の処理を実行する異なるデバイスに使用可能なAPIを有し、アプリケーションプログラムはこのAPIに対応するプログラミングインターフェースを含むようにしている。   In this case, the host device 2 that is conventionally recognized as a different card reader / writer needs an application program and control software corresponding to the card reader / writer B ′, but according to the embodiment of the present invention, The control software has an API that can be used for different devices that execute the same type of processing so that the API called by the program can be processed by the control software corresponding to the card reader / writer B ′. A programming interface corresponding to this API is included.

従って、上位装置とカードリーダライタとの通信方式が異なる場合でも、アプリケーションプログラムによって呼び出されたAPIに使用する情報をカードリーダライタごとに情報登録部に登録しておくことで、上位装置とカードリーダライタとの通信機能の提供が可能となることから、アプリケーションプログラムを変更することなく異なるカードリーダライタを使用することができる。   Therefore, even when the communication method between the host device and the card reader / writer is different, the information used for the API called by the application program is registered in the information registration unit for each card reader / writer, so that the host device and the card reader can be registered. Since the communication function with the writer can be provided, a different card reader / writer can be used without changing the application program.

このように、あるクラス群に対してアクセスするプログラミングインターフェースを統一し、同種の処理を実行する異なるデバイスに使用可能なAPIを共通にすることで、外からは同じインターフェースでアクセスすればよくなる。この場合に、通信方式の違いによって全く同一の処理ができなくても、要求される処理が共通して同種の処理を実行するように制御ソフトウェアを構成しておけばよい。例えば、上位装置2とカードリーダライタとの通信を確立するためのプログラミングインターフェイス及びAPI「open」につき、メソッド名を「open()」としてインターフェースを統一させることもできる。この場合、アプリケーションプログラムからは、プログラミングインターフェイスに適当なパラメータ(引数)iを指定して、カードリーダライタのAPI「open(i)」の関数を呼び出す。また、関数を呼び出したときに実際に何が行われるかは、デバイスごとに異なることもあり、デバイスの制御は制御ソフトウェアによる。例えば、プリンタに対して「write」を行うと印字されるが、サウンドデバイスに対して「write」を行うと、音が鳴る。   In this way, by unifying the programming interface for accessing a certain class group and sharing the API that can be used for different devices that execute the same kind of processing, the same interface can be accessed from the outside. In this case, even if the same processing cannot be performed due to a difference in the communication method, the control software may be configured so that the required processing is performed in common and the same type of processing is executed. For example, for the programming interface and API “open” for establishing communication between the host device 2 and the card reader / writer, the interface can be unified with the method name “open ()”. In this case, an appropriate parameter (argument) i is designated in the programming interface from the application program, and the function of the API “open (i)” of the card reader / writer is called. In addition, what is actually performed when a function is called may vary from device to device, and control of the device depends on the control software. For example, printing is performed when “write” is performed on the printer, but a sound is generated when “write” is performed on the sound device.

図4は、本発明の実施の形態に係る情報システム1におけるデータの流れを示す図である。アプリケーションプログラムを変更することなく、制御ソフトウェアA,A'、制御ソフトウェアB,B'を機能させて、カードリーダライタA,A'、カードリーダライタB,B'を制御するシステムについて説明する。   FIG. 4 is a diagram showing a data flow in the information system 1 according to the embodiment of the present invention. A system for controlling the card reader / writers A and A ′ and the card reader / writers B and B ′ by causing the control software A and A ′ and the control software B and B ′ to function without changing the application program will be described.

図4(a)を参照して、カードリーダライタA,A'を制御する制御ソフトウェアA,A'は、CPU20の制御によって、直接、カードリーダライタA,A'の領域であるカードリーダライタA,A'セグメントに処理内容が書き込まれる。一方、カードリーダライタB,B'を制御する制御ソフトウェアB,B'は、CPU20の制御によって、直接、カードリーダライタB,B'の領域であるカードリーダライタB,B'セグメントに処理内容が書き込まれる。   Referring to FIG. 4A, the control software A, A ′ for controlling the card reader / writers A, A ′ is directly controlled by the CPU 20, and the card reader / writer A, which is the area of the card reader / writers A, A ′. , A ′ segment, the processing contents are written. On the other hand, the control software B and B ′ for controlling the card reader / writers B and B ′ has the processing contents directly in the card reader / writers B and B ′ segments which are areas of the card reader / writers B and B ′ under the control of the CPU 20. Written.

また、カードリーダライタA,A'及びカードリーダライタB,B'を同時に使用する場合は、時間的空間的多重化制御方式を導入することができる。   Further, when the card reader / writers A and A ′ and the card reader / writers B and B ′ are used at the same time, a temporal and spatial multiplexing control method can be introduced.

CPU20は、その内部が複数のユニットに区分けされており、それぞれのユニットが異なる役割(命令の読み込み動作であるフェッチ、命令の解析動作であるデコード、命令の実行等)を有することから、これを上手く利用したパイプライン処理方式を採用し、時間的空間的多重化制御方式を導入することによって、異なるカードリーダライタの複数同時制御が可能となる。具体的には、工程1のフェッチを完了した段階で、工程1のデコードを開始するとともに、待ち状態になったフェッチユニットに対して、工程2のフェッチを実行させるといったものである。   The inside of the CPU 20 is divided into a plurality of units, and each unit has a different role (fetching that is an instruction reading operation, decoding that is an instruction analysis operation, instruction execution, etc.). By adopting a well-utilized pipeline processing method and introducing a temporal and spatial multiplexing control method, it becomes possible to simultaneously control a plurality of different card reader / writers. Specifically, when the fetch of the process 1 is completed, the decoding of the process 1 is started, and the fetch unit in the waiting state is caused to execute the fetch of the process 2.

このような、時間的空間的多重化制御方式によれば、図1に示すメモリ22に、基本ソフトウェア(OS)の下で実行されるアプリケーションプログラムや、上位装置2とカードリーダライタとの間で通信機能を提供する個々の制御ソフトウェアプログラムを格納しておき、それぞれの制御ソフトウェアプログラムを同一のアプリケーションプログラムで実行することができる。   According to such a temporal and spatial multiplexing control method, an application program executed under the basic software (OS) or between the host device 2 and the card reader / writer is stored in the memory 22 shown in FIG. Each control software program that provides a communication function is stored, and each control software program can be executed by the same application program.

また、図4(b)を参照して、ディスクリプタテーブルの管理によっても、異なるカードリーダライタの複数同時制御が可能となる。   In addition, referring to FIG. 4B, a plurality of different card reader / writers can be simultaneously controlled by managing the descriptor table.

具体的には、制御ソフトウェアA,A'はCPU20による制御によって、バスインターフェースを介して、カードリーダライタA,A'セグメントに処理内容が書き込まれる。一方、制御ソフトウェアB,B'も同様に、CPU20による制御によって、バスインターフェースを介して、カードリーダライタB,B'セグメントに処理内容が書き込まれる。このとき、メモリ領域を管理するディスクリプタテーブルによる各プロセスごとに確保した領域やアドレス、通信ポート等の管理によって、制御ソフトウェアA,A'による情報は、カードリーダライタA,A'セグメントとして割り当てられた領域(0500〜05FF番地)に書き込まれ、制御ソフトウェアB,B'による情報は、カードリーダライタB,B'セグメントとして割り当てられた領域(0A00〜0AFF番地)に書き込まれる。   Specifically, the control software A, A ′ writes the processing contents to the card reader / writer A, A ′ segment via the bus interface under the control of the CPU 20. On the other hand, the control software B and B ′ similarly writes the processing contents into the card reader / writer B and B ′ segments through the bus interface under the control of the CPU 20. At this time, the information by the control software A, A ′ is allocated as the card reader / writer A, A ′ segment by managing the area, address, communication port, etc. secured for each process by the descriptor table for managing the memory area. It is written in the area (addresses 0500 to 05FF), and the information by the control software B and B ′ is written in the area (addresses 0A00 to 0AFF) assigned as the card reader / writer B and B ′ segment.

以上説明したように、本発明は、上位装置とデバイスとの通信機能を提供する制御ソフトウェアが異なっても、アプリケーションプログラムを変更することなくデバイスを制御して、アプリケーションの実行が可能なものとして有用である。依依田   As described above, the present invention is useful as a device capable of executing an application by controlling the device without changing the application program even if the control software providing the communication function between the host device and the device is different. It is. Yorida

本発明の実施の形態に係る情報システムのハードウェア構成図である。It is a hardware block diagram of the information system which concerns on embodiment of this invention. 本発明の実施の形態に係る情報システムのソフトウェア構成図である。It is a software block diagram of the information system which concerns on embodiment of this invention. 本発明の他の実施の形態に係る情報システムのソフトウェア構成図である。It is a software block diagram of the information system which concerns on other embodiment of this invention. 本発明の実施の形態に係る情報システムにおけるデータの流れを示す図である。It is a figure which shows the flow of the data in the information system which concerns on embodiment of this invention. 従来の情報システムのソフトウェア構成図である。It is a software block diagram of the conventional information system.

符号の説明Explanation of symbols

1,1' 情報システム
2 上位装置
3 カードリーダライタ
1,1 'information system 2 host device 3 card reader / writer

Claims (4)

アプリケーションプログラムを備える上位装置と、
前記上位装置との間で通信を行うとともに、該通信の結果に基づいて所定の処理を実行するデバイスと、
前記上位装置と前記デバイスとの間で通信機能を提供する制御ソフトウェアと、を備え、
前記制御ソフトウェアは、前記アプリケーションプログラムによって呼び出され、同種の処理を実行する異なるデバイスに使用可能なAPI(Application Program Interface)を有し、
前記アプリケーションプログラムは、前記APIに対応するプログラミングインターフェースを含むことを特徴とする情報システム。
A host device comprising an application program;
A device that performs communication with the host device and executes a predetermined process based on a result of the communication;
Control software that provides a communication function between the host device and the device,
The control software has an API (Application Program Interface) that can be used by different devices that are called by the application program and execute the same type of processing.
The information system, wherein the application program includes a programming interface corresponding to the API.
前記APIと前記プログラミングインターフェースとは、互いに共通する関数であることを特徴とする請求項1記載の情報システム。   The information system according to claim 1, wherein the API and the programming interface are functions common to each other. 前記上位装置は、前記APIに使用する情報を記録する情報登録部を備え、
前記情報登録部には、異なるデバイスを識別する識別情報が登録されていることを特徴とする請求項1又は2記載の情報システム。
The host device includes an information registration unit that records information used for the API,
The information system according to claim 1 or 2, wherein identification information for identifying different devices is registered in the information registration unit.
前記デバイスは、カードリーダライタであることを特徴とする請求項1から3のいずれか記載の情報システム。   The information system according to claim 1, wherein the device is a card reader / writer.
JP2007253359A 2007-09-28 2007-09-28 Information system Pending JP2009086832A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007253359A JP2009086832A (en) 2007-09-28 2007-09-28 Information system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007253359A JP2009086832A (en) 2007-09-28 2007-09-28 Information system

Publications (1)

Publication Number Publication Date
JP2009086832A true JP2009086832A (en) 2009-04-23

Family

ID=40660209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007253359A Pending JP2009086832A (en) 2007-09-28 2007-09-28 Information system

Country Status (1)

Country Link
JP (1) JP2009086832A (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011008402A (en) * 2009-06-24 2011-01-13 Canon Inc Information processing apparatus, method for controlling the same, and program
JP2011073343A (en) * 2009-09-30 2011-04-14 Canon Inc Image forming apparatus, image formation control method, and program
JP2011243074A (en) * 2010-05-20 2011-12-01 Kyocera Mita Corp Ic card authentication method, apparatus and program
CN106339727A (en) * 2015-07-10 2017-01-18 日本电产三协株式会社 Card conveyance system and card conveyance control method
JP2017510903A (en) * 2013-12-27 2017-04-13 スクエア, インコーポレイテッド Card reader emulation for cardless transactions
US10438202B2 (en) 2013-03-14 2019-10-08 Square, Inc. Mobile device payments
US10740748B2 (en) 2016-11-30 2020-08-11 Square, Inc. System for improving card on file transactions
US10878402B1 (en) 2018-08-31 2020-12-29 Square, Inc. Temporarily provisioning payment functionality to alternate payment instrument
US10931834B2 (en) 2017-08-17 2021-02-23 Fuji Xerox Co., Ltd. Information processing apparatus
US10997583B1 (en) 2018-08-31 2021-05-04 Square, Inc. Temporarily provisioning card on file payment functionality to proximate merchants
US11107056B2 (en) 2013-11-26 2021-08-31 Square, Inc. Card data output for cardless transactions
US11270304B2 (en) 2015-09-16 2022-03-08 Square, Inc. Biometric payment technology
US11348083B1 (en) 2014-09-30 2022-05-31 Block, Inc. Payment by use of identifier

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11237981A (en) * 1998-02-23 1999-08-31 Sony Corp Reception equipment
JP2003140852A (en) * 2001-10-31 2003-05-16 Canon Inc Network system, information processing device, information processing method and control program
JP2005099932A (en) * 2003-09-22 2005-04-14 Ricoh Co Ltd Spooling method, program making the same method executed with computer, image forming apparatus, and information processing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11237981A (en) * 1998-02-23 1999-08-31 Sony Corp Reception equipment
JP2003140852A (en) * 2001-10-31 2003-05-16 Canon Inc Network system, information processing device, information processing method and control program
JP2005099932A (en) * 2003-09-22 2005-04-14 Ricoh Co Ltd Spooling method, program making the same method executed with computer, image forming apparatus, and information processing device

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSND200000837002; 'マイクロソフトにおけるスマートカードへの取り組み' CardWave 第12巻  第7号, 19990610, 第16-19頁, 株式会社シーメディア *
CSND200400120011; 'お友達から政府調達まで通信プライバシーはこれで安心!  使って覚えるPKI' NETWORK  WORLD Vol.8  No.2, 20030201, 第122-125頁, (株)IDGジャパン *
JPN6012033197; 'マイクロソフトにおけるスマートカードへの取り組み' CardWave 第12巻  第7号, 19990610, 第16-19頁, 株式会社シーメディア *
JPN6012033200; 'お友達から政府調達まで通信プライバシーはこれで安心!  使って覚えるPKI' NETWORK  WORLD Vol.8  No.2, 20030201, 第122-125頁, (株)IDGジャパン *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9179014B2 (en) 2009-06-24 2015-11-03 Canon Kabushiki Kaisha Information processing apparatus, and method for controlling the same
JP2011008402A (en) * 2009-06-24 2011-01-13 Canon Inc Information processing apparatus, method for controlling the same, and program
JP2011073343A (en) * 2009-09-30 2011-04-14 Canon Inc Image forming apparatus, image formation control method, and program
JP2011243074A (en) * 2010-05-20 2011-12-01 Kyocera Mita Corp Ic card authentication method, apparatus and program
US11562360B2 (en) 2013-03-14 2023-01-24 Block, Inc. Mobile device payments
US11455633B2 (en) 2013-03-14 2022-09-27 Block, Inc. Mobile device payments
US10438202B2 (en) 2013-03-14 2019-10-08 Square, Inc. Mobile device payments
US11107056B2 (en) 2013-11-26 2021-08-31 Square, Inc. Card data output for cardless transactions
JP2017510903A (en) * 2013-12-27 2017-04-13 スクエア, インコーポレイテッド Card reader emulation for cardless transactions
US11348083B1 (en) 2014-09-30 2022-05-31 Block, Inc. Payment by use of identifier
CN106339727A (en) * 2015-07-10 2017-01-18 日本电产三协株式会社 Card conveyance system and card conveyance control method
CN106339727B (en) * 2015-07-10 2019-03-12 日本电产三协株式会社 Card handling system and card carry control method
US10053319B2 (en) 2015-07-10 2018-08-21 Nidec Sankyo Corporation Card conveyance system and card conveyance control method
US11270304B2 (en) 2015-09-16 2022-03-08 Square, Inc. Biometric payment technology
US10740748B2 (en) 2016-11-30 2020-08-11 Square, Inc. System for improving card on file transactions
US10931834B2 (en) 2017-08-17 2021-02-23 Fuji Xerox Co., Ltd. Information processing apparatus
US10997583B1 (en) 2018-08-31 2021-05-04 Square, Inc. Temporarily provisioning card on file payment functionality to proximate merchants
US10878402B1 (en) 2018-08-31 2020-12-29 Square, Inc. Temporarily provisioning payment functionality to alternate payment instrument

Similar Documents

Publication Publication Date Title
JP2009086832A (en) Information system
TW299424B (en) Methods and apparatus for booting a computer having a removable media disk drive
TW514774B (en) System and method for controlling an HVAC system using a flash mini-card
CN1947099B (en) Data processing device and method for data exchanging by computer
US20030135418A1 (en) Point-of-sale (POS) systems that use a peripheral device for point-of-sale applications and methods of operating the same
JP2007058518A (en) Memory card
JPH1063437A (en) Method for integrating storage array control function, and program storag device
CN101167052A (en) Application framework phasing model
CN101606136A (en) Be embodied as light storage device or/and the computer peripheral equipment of moveable magnetic disc and its implementation by software emulation
CN106663017A (en) Method for implementing host card emulation, terminal, and data routing method and apparatus
US20040064829A1 (en) Method for identifying processor affinity and improving software execution
US8327081B2 (en) Information processing device and method for controlling the same
TW434491B (en) Increasing I/O performance through storage of packetized operational information in local memory
JPH07191835A (en) Computer system
JP7073654B2 (en) Information processing systems, information processing equipment and programs
JP4597032B2 (en) Computer system, basic program startup method, and loader program
JP2002312210A5 (en)
JP5334904B2 (en) Information processing apparatus, information processing apparatus identification method, information processing apparatus identification program, and motherboard
US8667188B2 (en) Communication between a computer and a data storage device
JP2021026651A (en) Information processing system, information processor, and program
US11144496B2 (en) Self-configuring SSD multi-protocol support in host-less environment
JP2005301666A (en) Information processor
JP5347408B2 (en) Processing method and storage system
JPH11175667A (en) Information card processor
CN107368301B (en) Serial port frame protocol implementation method, storage medium and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100427

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120321

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120903

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121023