JP2009086832A - Information system - Google Patents
Information system Download PDFInfo
- 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
Links
- 230000006854 communication Effects 0.000 claims abstract description 53
- 238000004891 communication Methods 0.000 claims abstract description 52
- 230000006870 function Effects 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 32
- 238000000034 method Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 8
- 230000002123 temporal effect Effects 0.000 description 3
- 101000746134 Homo sapiens DNA endonuclease RBBP8 Proteins 0.000 description 2
- 101000969031 Homo sapiens Nuclear protein 1 Proteins 0.000 description 2
- 102100021133 Nuclear protein 1 Human genes 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 2
- 230000009849 deactivation Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
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
また、同じ種類のデバイスであっても、デバイスが物理的に異なれば、デバイスごとにそれぞれのハンドラを必要とする。これは、どのデバイスをどのハンドラで制御するかという、デバイスとハンドラとの関連付けがレジストリに登録されていて、物理的に異なるデバイスについては関連付けされていないことに起因するものである。 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.
このように、従来の情報システムにおいては、図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
情報システム1は、下位に接続される各種のデバイスを制御する上位装置2と、上位装置2によって制御され、各種の機能を実現するデバイスとしてのカードリーダライタ3と、によって構成される。なお、デバイスとしてのカードリーダライタは一例であって、カードリーダライタ以外にも、プリンタやバーコードリーダ等の各種のデバイスを個別に又は複合的に構成することもできる。
The
上位装置2は、BUS(バス)を介して各種の機器が接続されており、情報システム1においては、CPU20と、ストレイジ21と、メモリ22と、インターフェース23と、が主に接続されている。なお、本実施の形態では、ストレイジ21は、ハードディスクを用いている。
Various devices are connected to the
CPU20は、ストレイジ21に記憶されているプログラムやデータをメモリ22上に読み出し、それらを用いることで上位装置2及びカードリーダライタ3の制御を行う。
The
メモリ22は、ストレイジ21から読み出された基本ソフトウェア(OS)のほか、OSの下で実行されるアプリケーションプログラムや、上位装置2とカードリーダライタ3との間で通信機能を提供する制御ソフトウェアプログラムを記憶する。また、制御ソフトウェアとカードリーダライタとを関連付けて、異なるカードリーダライタを識別する識別情報を登録する情報登録部としての機能も有している。
In addition to the basic software (OS) read from the
また、メモリ22は、APIとプログラミングインターフェースとが互いに共通する関数を記憶する。共通する関数(共通API群)としては、カードリーダライタ等のデバイスとの通信を確立する「open」処理、デバイスとの通信を切断する「close」処理等の各種関数がある。
The
RAM22は、CPU20がプログラムを実行するための作業領域も提供する。
The
インターフェース23は、CPU20からの命令に基づいて様々な処理が実行される他の機器,デバイスと上位装置2とを接続するものであり、カードリーダライタ3等とローカル接続されている。
The
かかる構成を有する情報システム1は、CPU20からの命令に従い、ストレイジ21に記憶されているプログラムやデータをメモリ22上に読み出して、それらを用いることで、インターフェース23に接続されるカードリーダライタ3をAPIを使用して制御する。
The
図2は、本発明の実施の形態に係る情報システム1のソフトウェア構成図である。
FIG. 2 is a software configuration diagram of the
アプリケーションプログラムは、異なるカードリーダライタ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
図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
次に、カード取り込みを行うために、アプリケーションプログラム(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
このようにして、カードリーダライタ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
図3に示す情報システム1'は、図2に示す情報システム1と異なり、カードリーダライタA'がRS−232CポートCOM1に、カードリーダライタB'がUSBポートに、上位装置2と異なる形態の通信方式で接続されている。このような形態を、上位装置2は「異なるデバイス」として認識することから、本発明における「異なるデバイス」と称する。
3 differs from the
情報登録部には、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
まず、カードリーダライタA'を用いて上位装置2との通信を行う場合を考えると、この場合の処理は上述したカードリーダライタAと同様である。次に、カードリーダライタA'をカードリーダライタB'に変えて通信を行う場合を考える。
First, considering the case of performing communication with the
この場合は、従来であれば異なるカードリーダライタと認識する上位装置2において、カードリーダライタB'に対応したアプリケーションプログラム及び制御ソフトウェアが必要であるが、本発明の実施の形態によれば、アプリケーションプログラムによって呼び出されたAPIをカードリーダライタB'に対応した制御ソフトウェアにて処理することができるように、制御ソフトウェアは同種の処理を実行する異なるデバイスに使用可能なAPIを有し、アプリケーションプログラムはこのAPIに対応するプログラミングインターフェースを含むようにしている。
In this case, the
従って、上位装置とカードリーダライタとの通信方式が異なる場合でも、アプリケーションプログラムによって呼び出された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
図4は、本発明の実施の形態に係る情報システム1におけるデータの流れを示す図である。アプリケーションプログラムを変更することなく、制御ソフトウェアA,A'、制御ソフトウェアB,B'を機能させて、カードリーダライタA,A'、カードリーダライタB,B'を制御するシステムについて説明する。
FIG. 4 is a diagram showing a data flow in the
図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
また、カードリーダライタ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
このような、時間的空間的多重化制御方式によれば、図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
また、図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
以上説明したように、本発明は、上位装置とデバイスとの通信機能を提供する制御ソフトウェアが異なっても、アプリケーションプログラムを変更することなくデバイスを制御して、アプリケーションの実行が可能なものとして有用である。依依田 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
1,1' 情報システム
2 上位装置
3 カードリーダライタ
1,1 '
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.
前記情報登録部には、異なるデバイスを識別する識別情報が登録されていることを特徴とする請求項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.
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)
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)
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 |
-
2007
- 2007-09-28 JP JP2007253359A patent/JP2009086832A/en active Pending
Patent Citations (3)
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)
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)
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 | |
TW514774B (en) | System and method for controlling an HVAC system using a flash mini-card | |
US20030135418A1 (en) | Point-of-sale (POS) systems that use a peripheral device for point-of-sale applications and methods of operating the same | |
CN1947099B (en) | Data processing device and method for data exchanging by computer | |
JP2007058518A (en) | Memory card | |
CN101167052A (en) | Application framework phasing model | |
JP2010506242A (en) | Communication method with multi-function memory card | |
WO2017035819A1 (en) | Method for implementing host card emulation, terminal, and data routing method and apparatus | |
CN101606136A (en) | Be embodied as light storage device or/and the computer peripheral equipment of moveable magnetic disc and its implementation by software emulation | |
US20040064829A1 (en) | Method for identifying processor affinity and improving software execution | |
TW434491B (en) | Increasing I/O performance through storage of packetized operational information in local memory | |
JP7073654B2 (en) | Information processing systems, information processing equipment and programs | |
US8327081B2 (en) | Information processing device and method for controlling the same | |
JPH07191835A (en) | Computer system | |
US20200233831A1 (en) | Self-configuring ssd multi-protocol support in host-less environment | |
CN101107591B (en) | Computer system and method for activating basic program therein | |
JP2002312210A5 (en) | ||
JP6860796B2 (en) | Information processing systems, information processing equipment and programs | |
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 | |
JP4641528B2 (en) | Data writing program and data writing method | |
CN118409712B (en) | RAID card management system, method, equipment, product and medium | |
WO2013097426A1 (en) | Wireless communication terminal and method for securely running industry software | |
US11144496B2 (en) | Self-configuring SSD multi-protocol support in host-less environment | |
JP5347408B2 (en) | Processing method and storage system |
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 |