JP2020009015A - 情報処理システム、情報処理装置、及び情報処理方法 - Google Patents

情報処理システム、情報処理装置、及び情報処理方法 Download PDF

Info

Publication number
JP2020009015A
JP2020009015A JP2018127720A JP2018127720A JP2020009015A JP 2020009015 A JP2020009015 A JP 2020009015A JP 2018127720 A JP2018127720 A JP 2018127720A JP 2018127720 A JP2018127720 A JP 2018127720A JP 2020009015 A JP2020009015 A JP 2020009015A
Authority
JP
Japan
Prior art keywords
service
information processing
execution unit
unique identifier
control
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
JP2018127720A
Other languages
English (en)
Inventor
洋介 小口
Yosuke Oguchi
洋介 小口
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 Sankyo 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 JP2018127720A priority Critical patent/JP2020009015A/ja
Priority to PCT/JP2019/022535 priority patent/WO2020008797A1/ja
Publication of JP2020009015A publication Critical patent/JP2020009015A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】共有メモリを介さずに、異なるセッションのプロセス間で接続可能な情報処理システムを提供する。【解決手段】サービス実行部100は、デバイスと接続し、コマンドに対応した制御及び監視を行うサービスを実行する。プロセス実行部110は、サービス実行部100により実行されるサービスを介して、デバイスに対する各種処理を行うプロセスを実行する。プロセス実行部110は、プロセスの実行時にユニークな識別子を生成して、サービスに出力する。サービス実行部100は、ユニークな識別子を入力し、当該ユニークな識別子に対応するプロセスとの通信用パイプを設定して、プロセスを区別して通信する。【選択図】図2

Description

本発明は、情報処理システム、情報処理装置、及び情報処理方法に係り、特に複数のプロセスによる処理を実行する情報処理システム、情報処理装置、及び情報処理方法に関する。
従来から、カードリーダ等のデバイスをRS−232C(シリアル)等の信号線で接続して、複数のプロセスにより処理する情報処理システムが存在する。
たとえば、特許文献1に記載の情報処理システムは、上位装置(情報処理装置)において、RS−232Cに対して、通信制御を行うプロセスをローカルサーバ(ローカルサーバアプリケーションプログラム)として設けるように構成している。
この特許文献1の情報処理システムでは、上位装置で実行される、他のアプリケーションプログラム(Application Program、以下、単に「アプリ」という。)を変更することなく、デバイスを制御する制御用プロセス間で、プロセス間通信を行うことができる。
特開2014−199484号公報
ここで、セキュリティ上の観点から、ATMやKIOSK端末等の取引画面のプロセスをユーザ権限のアカウント(以下、「ユーザアカウント」という。)で実行し、カード等の取引を行わせたいという技術的な要求があった。一方、デバイス監視用のプロセスは管理者権限のアカウント(以下、「管理者アカウント」という。)で実行することが好適であった。
しかしながら、特許文献1に記載されたようなローカルサーバは、通常、異なるアカウントで実行された場合、すなわちセッションが異なる場合、プロセス間通信による接続ができないという問題があった。このためにセッション間でデータを共有するための共有メモリを設定することは、セキュリティ上できなかった。
本発明は、このような状況に鑑みてなされたものであり、上述の問題を解消し、共有メモリを介さずに、異なるセッションのプロセス間で接続可能な情報処理システムを提供することを目的とする。
本発明の情報処理システムは、上位装置と、該上位装置からの指示に従って処理を実行するデバイスとを含む情報処理システムであって、前記上位装置は、前記デバイスと接続し、コマンドに対応した制御及び監視を行うサービスを実行するサービス実行部と、前記サービス実行部により実行される前記サービスを介して、前記デバイスに対する各種処理を行うプロセスを実行するプロセス実行部とを備え、前記プロセス実行部は、前記プロセスの実行時にユニークな識別子を生成して、前記サービスに出力し、前記サービス実行部は、前記ユニークな識別子を入力し、当該ユニークな識別子に対応する前記プロセスとの通信用パイプを設定して、前記プロセスを区別して通信することを特徴とする。
このように構成することで、共有メモリを介さずに、異なるセッションのプロセス間で接続可能となる。
本発明の情報処理システムは、前記プロセスは、複数であり、前記デバイスに対する制御を行う制御用プロセスと、前記デバイスの状態を監視する状態監視用プロセスとを含み、前記プロセス実行部は、前記状態監視用プロセスを、前記制御用プロセスよりも上位権限のアカウントで実行することを特徴とする。
このように構成することで、デバイスの動作不具合等があった場合でも、アカウントを切り換えて対応等する必要がなくなる。
本発明の情報処理システムは、前記サービス実行部は、前記制御用プロセスから発行される動作コマンドを格納する制御用FIFOと、前記状態監視用プロセスから発行される状態通知コマンドを格納する状態通知用FIFOとを含み、前記状態通知用FIFOに格納された前記状態通知コマンドより、前記制御用FIFOに格納された前記動作コマンドを優先して前記デバイスに送信することを特徴とする。
このように構成することで、システムをスムーズに稼働できる。
本発明の情報処理システムは、前記プロセス実行部は、前記状態監視用プロセスについて、外部ネットワークからのアクセスを受け付けて、前記アクセスに対応した処理を実行することを特徴とする。
このように構成することで、遠隔環境から状態を把握することができる。
本発明の情報処理システムは、前記サービス及び前記プロセスは、共通で使用される共通識別子を含み、前記プロセス実行部は、前記共通識別子を用いてユニークな識別子を出力することを特徴とする。
このように構成することで、セキュリティ性を高めることができる。
本発明の情報処理システムは、前記デバイスは、非接触式カードリーダを含むことを特徴とする。
このように構成することで、セキュリティ性の高いサービスを提供できる。
本発明の情報処理装置は、デバイスに指示して処理を実行させる情報処理装置であって、前記デバイスと接続し、コマンドに対応した制御及び監視を行うサービスを実行するサービス実行部と、前記サービス実行部により実行される前記サービスを介して、前記サービスとアカウントが異なっていてもよいプロセスであって、前記デバイスに対する各種処理を行う前記プロセスを実行するプロセス実行部とを備え、前記プロセス実行部は、前記プロセスの実行時にユニークな識別子を生成して、前記サービスに出力し、前記サービス実行部は、前記ユニークな識別子を入力し、当該ユニークな識別子に対応する前記プロセスとの通信用パイプを設定して、前記プロセスを区別して通信することを特徴とする。
このように構成することで、共有メモリを介さずに、異なるセッションのプロセス間で接続可能となる。
本発明の情報処理方法は、デバイスに指示して処理を実行させる情報処理装置により実行される情報処理方法であって、前記デバイスと接続し、コマンドに対応した制御及び監視を行うサービスを実行し、実行される前記サービスを介して、前記サービスとアカウントが異なっていてもよいプロセスであって、前記デバイスに対する各種処理を行う前記プロセスを実行し、前記プロセスの実行時にユニークな識別子を生成して、前記サービスに出力し、前記サービスにより、前記ユニークな識別子を入力し、当該ユニークな識別子に対応する前記プロセスとの通信用パイプを設定して、前記プロセスを区別して通信することを特徴とする。
このように構成することで、共有メモリを介さずに、異なるセッションのプロセス間で接続可能となる。
本発明によれば、プロセスの実行時にユニークな識別子を生成して、サービスに出力し、サービスにおいて、当該ユニークな識別子に対応するプロセスとの通信用パイプを設定して、プロセスを区別して通信することで、共有メモリを介さずに、異なるセッションのプロセス間で接続可能な情報処理システムを提供することができる。
本発明の実施の形態に係る情報処理システムのシステム構成図である。 本発明の実施の形態に係る機能構成の一例を示すブロック図である。 本発明の実施の形態に係るサービス接続処理のフローチャートである。 本発明の実施の形態に係るコマンド実行処理のフローチャートである。 本発明の実施の形態に係るプロセス間の接続及びコマンドの処理を説明するための概念図である。 従来の情報処理システムにおけるプロセス間の接続について説明するための概念図である。
<実施の形態>
〔情報処理システムXのシステム構成〕
図1を参照して、本発明の実施の形態に係る情報処理システムXの構成について説明する。情報処理システムXは、本実施形態においては、カード発行機能を備えたATM(Automated Teller Machine)、キオスク(Kiosk)端末、交通機関のチケット発行システム、コンビニエンスストア等のポイントカード発行システム、小売店のメンバーカード発行システム、遊技機のカード発行/支払システム、入退場管理システム等(以下、単に「ATM等」と省略して記載する。)である。
情報処理システムXは、上位装置1、カードリーダ2、及びサーバ3を含んでいる。
上位装置1とカードリーダ2とは、USB(Universal Serial Bus)等により接続されている。上位装置1とサーバ3とは、ネットワーク5を介して接続されている。
上位装置1は、本実施形態においては、ATM等の各機能を実現するための情報処理装置である。具体的には、上位装置1は、例えば、ATM等の本体装置であり制御用のPC(Personal Computer)、タブレット端末、携帯電話等の制御演算装置を含み、情報処理システムXの機能を実現するためのアプリを実行する。本実施形態において、上位装置1は、制御対象のデバイスとしてカードリーダ2と接続される。これに加え、上位装置1は、ネットワーク5、各種の周辺機器等とも接続可能である。
カードリーダ2は、上位装置1の制御対象であり、カード媒体4を読み込み(リード)又は書き込み(ライト)可能なデバイスの一例である。本実施形態においては、カードリーダ2は、例えば、非接触式カードリーダである。この非接触式カードリーダは、カード媒体4をアンテナの箇所でかざすことにより、相互の通信が可能である。
このため、カードリーダ2は、例えば、NFC(Near Field Communication)のRF(Radio Frequency)アンテナ、制御IC、LED(Light Emitting Diode)、ブザー等を含む。さらに、カードリーダ2は、カード媒体4のリードライトの暗号化、復号化等に用いるSAM(Secure Application Module)カードも内蔵可能である。本実施形態において、カードリーダ2と上位装置1との通信は、例えば、接続されているUSBケーブルにて行われる。この通信により、カード媒体4の情報の送受信、及びSAMカードの情報の送受信、カードリーダ2の状態の監視等が可能である。
サーバ3は、いわゆる「クラウド」上のPCサーバ(Server)、イントラネット上のサーバ等である。サーバ3は、上位装置1を介してカードリーダ2の保守管理を行うことが可能である。このため、サーバ3は、後述するようにカードリーダ2の状態の監視を行う。
カード媒体4は、本実施形態においては、非接触型のICカードである。このカード媒体は、例えば、電磁誘導アンテナと、ROM(Read Only Memory)及びMPU(Micro Processing Unit)を含むICチップとを含んでいてもよい。
ネットワーク5は、インターネットや携帯電話網等のWAN(Wide Area Network)、LAN(Local Area Network)のIPネットワーク等である。
より具体的に説明すると、上位装置1は、制御部10、記憶部20、I/F部30、表示部40、及び入力部50を含んで構成される。
制御部10は、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)等を含む制御演算手段である。
記憶部20は、RAM(Random Access Memory )、フラッシュメモリ(Flash Memory)等を含むROM、SSD(Solid State Drive)、HDD(Hard Disk Drive)等の一時的でない記録媒体である。
I/F部30は、外部の機器と接続するためのチップセット(Chipset)、I/O(Input / Output)等の回路及びインターフェイスである。I/F部30は、例えば、デバイスや周辺機器と接続するためのUSB等の汎用シリアルインターフェイス、パラレルインターフェイス、デジタルビデオインターフェイス等を含んでいる。加えて、I/F部30は、ネットワーク5に接続するためのネットワークインターフェイスも含んでいる。
表示部40は、LCD(Liquid Crystal Display)パネルや有機ELパネル等のディスプレイである。表示部40には、ATM等の画面が表示される。これに加えて、本実施形態においては、表示部40に、別途、管理者用の管理画面を表示させることも可能である。
入力部50は、タッチパネル及び各種ボタン等である。このタッチパネルは、表示部40と一体的に形成されていてもよい。
入力部50は、ATM等のユーザにより入力された情報を取得する。これに加え、本実施形態においては、入力部50は、別途、管理者による保守管理の指示の情報を取得することも可能である。
〔情報処理システムXの機能構成〕
次に、図2により、情報処理システムXの機能構成について説明する。
本実施形態の情報処理システムXの上位装置1は、カードリーダ2を制御及び監視し、サーバ3との接続を行うための機能構成として、サービス実行部100及びプロセス実行部110を備えている。
サービス実行部100は、デバイスと接続し、コマンドに対応した制御及び監視を行うサービスを実行する。このサービスは、実際のカードリーダ2との通信の送受信を行う。
加えて、本実施形態においては、サービス実行部100は、ユニークな識別子を入力し、当該ユニークな識別子に対応するプロセスとの通信用パイプを設定して、プロセスを区別して通信する。
具体的には、本実施形態のサービスは、例えば、Windows(登録商標)OS(Operating System)のサービスとして構成されたローカルサーバである。このため、サービス実行部100は、OSのサービス用の特殊なアカウントであるシステムアカウントでサービスのプロセスを実行する。これにより、サービスは、OS起動時に通常のアプリよりも先行して起動され、実行される。このため、管理者やゲストアカウントのセッション等で起動されるアプリのプロセスから、任意のタイミングで常時アクセス可能となる。
図2の具体例によれば、サービス実行部100は、サービスSを実行する。このサービスSは、例えば、カードリーダ2のデバイスドライバとしてインストールされ、サービスアプリと、通信用ミドルウェアとを含んでいる。サービスアプリは、サービスとして、API(Application Programming Interface)を提供し、各プロセスとの間での通信を行う。通信用ミドルウェアは、APIに対応したカードリーダ2との実際の制御を行う。
プロセス実行部110は、サービス実行部100により実行されるサービスを介して、デバイスに対する各種処理を行うプロセスを実行する。本実施形態において、このプロセスは、複数であり、制御用プロセスと、状態監視用プロセスとを含む。制御用プロセスは、デバイスに対する制御を行い、例えば、ATM等の取引画面を介してデバイスを制御するプロセスである。状態監視用プロセスは、状態通知コマンド等を介して、デバイスの状態を監視する。ここで、プロセス実行部110は、状態監視用プロセスについては、制御用プロセスよりも上位権限のアカウントで実行する。本実施形態では、プロセス実行部110は、この状態監視用プロセスを、管理者アカウントで実行する。
加えて、本実施形態においては、プロセス実行部110は、プロセスの実行時にユニークな識別子を生成して、サービスに出力する。このユニークな識別子は、共通で使用される共通識別子を含む。この共通識別子は、カードリーダ2に関連するプロセスであることを認識させ得る文字列等を含む。プロセス実行部110は、この共通識別子を用いて、上述のユニークな識別子を出力する。
図2の具体例によれば、プロセス実行部110は、制御用プロセスP1、制御用プロセスP2、状態監視用プロセスPWをそれぞれ実行する。
制御用プロセスP1は、非接触カード制御用アプリと、通信用ミドルウェアとを含んでいる。非接触カード制御用アプリは、ATM等の機能に対応して、通信用ミドルウェアを介して、コマンドをサービスSに送信し、コマンドの実行結果を取得する。このコマンドは、カードリーダ2に対し、カード媒体4のリードライトの待機、LEDの点灯、ブザー制御等である。通信用ミドルウェアは、この上述のサービスS用のAPIに対応したコマンドを送信し、サービスから実行結果通知等のデータを受信する。
制御用プロセスP2は、SAMカードアプリと、通信用ミドルウェアとを含んでいる。SAMカードアプリは、SAMカード通信コマンド等について、通信用ミドルウェアを介して送受信する。
ここで、プロセス実行部110は、制御用プロセスP1、制御用プロセスP2を、ゲスト用のユーザアカウントであるゲストアカウントにて実行する。
さらに、状態監視用プロセスPWは、状態監視用アプリと、通信用ミドルウェアとを含んでいる。状態監視用アプリは、通信用ミドルウェアを介してサービスSと接続し、USBとの通信状況、カードリーダ2の状態の監視等を行う。加えて、状態監視用アプリは、上位装置1に接続された周辺機器の状態も監視可能である。さらに、状態監視用アプリは、サーバ3と接続する通信機能を含んでいる。
ここで、プロセス実行部110は、状態監視用プロセスPWについては、管理者アカウントで実行する。
ここで、制御部10は、記憶部20に格納された制御プログラムを実行することで、サービス実行部100及びプロセス実行部110として機能させられる。
また、上述の上位装置1の各部は、本発明の制御プログラム及び情報処理方法を実行するハードウェア資源となる。
なお、上述の機能構成の一部又は任意の組み合わせをICやプログラマブルロジックやFPGA(Field-Programmable Gate Array)等でハードウェア的に構成してもよい。
〔サービス接続処理及びコマンド実行処理〕
次に、図3〜図5により、本発明の実施の形態に係るサービス接続処理及びコマンド実行処理について説明する。
本実施形態のサービス接続処理及びコマンド実行処理では、デバイスと接続し、コマンドに対応した制御及び監視を行うサービスを実行する。この上で、実行されるサービスを介して、サービスとアカウントが異なっていてもよいプロセスであって、デバイスに対する各種処理を行うプロセスを実行する。この際、プロセスの実行時にユニークな識別子を生成して、サービスに出力する。そして、サービスにより、ユニークな識別子を入力し、当該ユニークな識別子に対応するプロセスとの通信用パイプを設定して、プロセスを区別して通信する。
本実施形態のこれらの処理は、主に制御部10が、記憶部20に記憶された制御プログラム(図示せず)を、各部と協働し、ハードウェア資源を用いて実行する。
まず、図3により、本実施形態のサービス接続処理をステップ毎に説明する。
(ステップS101)
プロセス実行部110が、識別子生成処理を行う。
プロセス実行部110は、例えば、実行開始の際やサービスに接続する際、すなわちアプリのプロセスの実行時に、ユニークな識別子を生成する。本実施形態においては、この識別子は、各プロセスを区別可能となるユニークな(固有)ID(Identification)を含むセキュリティ識別子として生成される。具体的には、例えば、カードリーダ2を示す文字列である共通識別子と、ランダムに選択されたIDの文字列とを含む数文字〜数百文字程度の文字列が、セキュリティ識別子として設定される。
加えて、このセキュリティ識別子は、例えば、制御用プロセスと状態監視用プロセスとを区別する文字列を含んでいる。このセキュリティ識別子は、OSが提供するGUID(Globally Unique Identifier)とは異なる値を基に設定可能である。
(ステップS102)
次に、プロセス実行部110が、識別子引き渡し処理を行う。
本実施形態においては、プロセス実行部110は、通信用ミドルウェアを介して、セキュリティ識別子を、サービス実行部100が実行するサービスに出力して引き渡す。
(ステップS103)
次に、サービス実行部100が、プロセス間通信パイプ確立処理を行う。
サービス実行部100は、サービスのサービスアプリにより提供されるCOMインターフェイスのAPIで、引き渡されたセキュリティ識別子を入力する。この際、サービス実行部100は、セキュリティ識別子に含まれるIDを基に、プロセス間通信用パイプを設定(確立)する。
(ステップS104)
次に、サービス実行部100が、通信パイプデータ送受信処理を行う。
サービス実行部100は、プロセス間通信パイプにてデータの送受信を開始する。サービス実行部100は、セキュリティ識別子に対応する通信用パイプにより、プロセスを区別して通信する。これにより、セッションが異なっていても、プロセス間通信により、プロセスとサービスとの間、制御用プロセスと状態監視用プロセスとの間でコマンド及びデータを送受信可能となる。
以上により、本発明の実施の形態に係るサービス接続処理を終了する。
次に、図4により、本実施形態のコマンド実行処理をステップ毎に説明する。
(ステップS111)
まず、プロセス実行部110が、識別子コマンド送信処理を行う。
プロセス実行部110は、アプリのプロセスを実行してサービスにコマンドを送信する。この際、プロセス実行部110は、コマンドとセキュリティ識別子とを、通信用ミドルウェアを介して送信する。
(ステップS112)
次に、サービス実行部100が、識別子パイプ返答処理を行う。
サービス実行部100は、サービスアプリ及び通信用ミドルウェアのCOMインターフェイスのAPIにより、プロセスからコマンド及びセキュリティ識別子を受信する。図5の例では、サービスSのサービスアプリ及び通信用ミドルウェアにおいて、制御用プロセスからのコマンド及びセキュリティ識別子は、制御用コマンド受付APIにて受信する。状態監視用プロセスからのコマンド及びセキュリティ識別子は、状態監視用コマンド受付APIにて受信する。
サービス実行部100は、コマンドの処理を実行して、通信用ミドルウェアにより、I/F部30を介してカードリーダ2にコマンドを送信し、返答を受信する。
その後、サービス実行部100は、コマンドに含まれる識別子のプロセス間通信用パイプに、返答データとして実行結果通知を送信する。
このように、サービス実行部100は、各プロセスにユニークな識別子のプロセス間通信用パイプを確立しているため、特定のプロセスから受け取ったコマンドの処理を実行した実行結果通知を、どのプロセスに処理を返却するかを判断することができる。
さらに、プロセスとサービスとの通信を確立させる際、ユニークな識別子を生成しているため、同じアプリのプロセスが複数起動されたとしても、サービス実行部100は、どのアプリと通信をすべきか判断して、実行結果通知を送信可能となる。
以上により、本発明の実施の形態に係るコマンド実行処理を終了する。
〔プロセス間の接続及びコマンドの処理〕
次に、図5により、本発明の実施の形態に係るプロセス間の接続及びコマンドの処理の具体例について説明する。
図5の具体例により、プロセス間の接続及びコマンドの処理について説明する。
本実施形態のサービス実行部100は、サービスSについて、制御用スレッドと、状態監視用スレッドとに分けて実行する。上述したように、各プロセスからのコマンドは、サービスSが提供するCOMインターフェイスで実装されている各APIにて引き渡される。
この上で、このサービスSのスレッド毎にFIFO(First-In First Out Buffer)が記憶部20に確保され、コマンドが蓄積される。具体的には、制御用プロセスから発行される動作コマンドを格納する制御用FIFOと、状態監視用プロセスから発行される状態通知コマンドを格納する状態通知用FIFOとが確保される。
制御用FIFOには、例えば、カード媒体4のIC非活性化コマンド、カードリーダ2のSAMカードを非活性化するSAM非活性化コマンド、SAMカードとの通信を行うSAM通信コマンド、SAMカードを活性化するSAM活性化コマンド、IC通信コマンド、IC活性化コマンド等を格納する。
状態通知用FIFOには、主にカードリーダ2の状態監視を行うため、カードリーダ2に状態を通知させる状態通知コマンドが格納される。
制御用FIFOに格納された制御用コマンドは、制御用電文変換部により、カードリーダ2へ送信されるコマンドに変換される。同様に、状態通知用FIFOに格納された状態通知コマンドは、状態監視用電文変換部により、カードリーダ2へ送信されるコマンドに変換される。
この上で、同時にこれらのコマンドが送信されないように、セマフォ(mutex)等を含む排他権記録用オブジェクトが用意され、送信制御部により、コマンドがタイミングを設定されて、I/F部30を介して、カードリーダ2に送信される。この際、送信制御部により、状態(状態通知用)FIFOに格納された状態通知コマンドより、動作(制御用)FIFOに格納された動作コマンドが、優先してデバイスに送信されるように制御される。
カードリーダからのコマンド実行のレスポンス(返答)は、I/F部30を介して、送信制御部により取得される。この上で、制御用電文変換部及び状態監視用電文変換部により、各プロセスにユニークな識別子のプロセス間通信用パイプを介して、対応するプロセスへ実行結果通知が送信される。
〔本実施形態の主な効果〕
以上のように構成することで、以下のような効果を得ることができる。
従来、特許文献1に記載されたような情報処理システムでは、異なるアカウントで実行された、すなわちセッションが異なる場合、プロセス間通信によるプロセス同士のパイプ等の接続ができなかった。
具体的に、図6を参照して説明すると、従来の情報処理システムZの上位装置では、各プロセスとローカルサーバとは、例えば、管理者アカウントのような単一のアカウントで実行されていた。図6(a)には、制御用プロセスとして、磁気・ICカードリーダライタ制御用アプリのプロセス、カード発行機能制御用アプリのプロセス、及びローカルサーバのプロセスが実行されている例を示す。すなわち、単一のRS−232C通信ケーブルに対して、通信制御を行うプロセスをローカルサーバとして設けることにより、このローカルサーバと、磁気・ICカードリーダライタ制御用プロセス、及びカード発行機能制御用プロセスとのプロセス間通信を行う構成となっている。複数のプロセスがローカルサーバと同一のセッション内にある場合、このローカルサーバを介して、複数のプロセスが同時に一つのデバイスに対して制御を行うことができる。
しかしながら、ローカルサーバが属するセッション以外で起動されたプロセスは、ローカルサーバにセッションを超えてアクセスするための権限がなく、結果的に複数のプロセスから制御をすることができなかった。
図6(b)によると、例えば、制御用プロセスがゲストアカウントでログインされ、ユーザ権限のセッションで実行され、カード等の取引を行いたいという技術的要求があった。しかしながら、デバイス監視用プロセス及びローカルサーバを管理者アカウントで起動すると、通常のプロセス間通信では接続不可能となっていた。この際、セッションが異なっても情報を共有可能な共有メモリを用いる手法については、セキュリティ上、用いることができなかった。
これに対して、本発明の実施の形態に係る情報処理システムXは、上位装置1と、上位装置1からの指示に従って処理を実行するデバイスの一例であるカードリーダ2とを含む情報処理システムであって、上位装置1は、デバイスと接続し、コマンドに対応した制御及び監視を行うサービスを実行するサービス実行部100と、サービス実行部100により実行されるサービスを介して、デバイスに対する各種処理を行うプロセスを実行するプロセス実行部110とを備え、プロセス実行部110は、プロセスの実行時にユニークな識別子を生成して、サービスに出力し、サービス実行部100は、ユニークな識別子を入力し、当該ユニークな識別子に対応するプロセスとの通信用パイプを設定して、プロセスを区別して通信することを特徴とする。
このように構成し、プロセス毎にユニークな識別子を生成し、サービスとのプロセス間通信パイプを確立させてプロセス間通信を行うことで、共有メモリを介さずに、異なるセッションのプロセス間でも接続可能となる。これにより、複数のセッションから一つのデバイスを制御することが可能となる。各プロセスに対応したアカウントで各プロセスを実行することで、システムのセキュリティ性を向上できるとともにアカウントの異なる各プロセスとサービスのプロセスとの接続を確保できる。
さらに、アプリとサービスとの通信を確立させる際、その都度、ユニークな識別子を生成するため、同一プロセスが複数起動されたとしても、サービスが各プロセスを識別できる。これにより、サービスが、どのプロセスと通信をすべきか、容易に判断することができる。
本発明の実施の形態に係る上位装置1は、プロセスは、複数であり、デバイスに対する制御を行う制御用プロセスと、デバイスの状態を監視する状態監視用プロセスとを含み、プロセス実行部110は、状態監視用プロセスを、制御用プロセスよりも上位権限のアカウントで実行することを特徴とする。
このように構成し、複数のプロセスについて、制御用プロセスと状態監視用プロセスとでは異なるアカウントで実行することで、デバイスの動作不具合等があった場合でも、アカウントを切り換えて対応等する必要がなくなる。すなわち、ATM等の不具合をユーザから通知された場合、ゲストアカウントのセッションをログアウトしてATM等の取引を停止し、管理者権限でデバイスの監視処理等を行うアプリを起動するという手順を行う必要がなくなる。これにより、管理コストを低減できる。
また、状態監視用プロセスを、制御用プロセスよりも上位権限のアカウントで実行することで、制御用プロセスの脆弱性等により状態監視用プロセスをハッキング等されることがなくなり、セキュリティを向上させられる。
本発明の実施の形態に係る上位装置1は、サービス実行部100は、制御用プロセスから発行される動作コマンドを格納する制御用FIFOと、状態監視用プロセスから発行される状態通知コマンドを格納する状態通知用FIFOとを含み、状態通知用FIFOに格納された状態通知コマンドより、制御用FIFOに格納された動作コマンドを優先してデバイスに送信することを特徴とする。
このように構成することで、情報処理システムXをスムーズに稼働できる。すなわち、制御を停滞させずに、状態監視を行うことが可能となる。また、状態監視の負担により、ATM等の取引が誤動作したり、セキュリティリスクが生じたりすることを防ぐことができる。
本発明の実施の形態に係る上位装置1は、プロセス実行部110は、状態監視用プロセスについて、外部ネットワークからのアクセスを受け付けて、アクセスに対応した処理を実行することを特徴とする。
このように構成することで、状態監視用プロセスに対して、インターネット等のネットワーク5を介して常時管理している外部のサーバ3からアクセス可能となる。これにより、遠隔環境から情報処理システムXの状態を把握できる。
このため、例えば、ログ等を取得している間にも、ゲストアカウントでATM等を稼働させ続けることができ、ATM等の稼働率を向上させてコストを低減できる。
また、ユーザがカードリーダ2に置かれたカード媒体4を取り忘れた場合に、状態通知コマンドの実行通知結果により、その旨の警告を状態監視用アプリが取得し、サーバ3に報知するといった構成も可能となる。これにより、サーバ3の管理者が、遠隔操作で、取り忘れの旨をユーザに報知することができる。結果として、セキュリティ性を向上させることができる。
加えて、状態監視用プロセスに外部のネットワーク5から遠隔操作可能とすることで、例えば、ATM等の紙詰まり、紙幣の詰まり等が生じた場合、サービスパーソンが取り除いて状態を確認しつつ、そのままカード媒体4による取引を継続することができる。これにより、ユーザの不便を低減させることができる。
本発明の実施の形態に係る上位装置1は、サービス及びプロセスは、共通で使用される共通識別子を含み、プロセス実行部110は、共通識別子を用いてユニークな識別子を出力することを特徴とする。
このように構成することで、共通識別子を用いてセキュリティ性をさらに高めることができる。
本発明の実施の形態に係る情報処理システムXは、デバイスの一例は、非接触式カードリーダであるカードリーダ2を含むことを特徴とする。
このように構成することで、カード媒体4に関するセキュリティ性の高いサービスを提供できる。
〔他の実施の形態〕
なお、上述の実施の形態においては、情報処理システムXの制御対象として、非接触カードリーダであるカードリーダ2へ適用する例について説明した。しかしながら、接触型のICカード及び/又は磁気ストライプを備えた磁気カードのカードリーダ、カード媒体の表面に印刷や刻印を行うプリンタ等についても適用可能である。加えて、カード発行機のように、複数のデバイスがコンパウンドデバイスとして実装されている複合ユニット等にも適用可能である。
このように様々な構成に対応して、共有メモリを介さずに、異なるセッションのプロセス間で接続可能した情報処理システムを提供することが可能である。
また、上述の実施の形態においては、カードリーダ2との通信方式がUSBである例について説明した。しかしながら、RS−232C、WiFi、Blutooth(登録商標)等、様々な通信方式でデバイスと通信するように構成してもよい。
このように構成することで、任意の通信方式に対応したデバイスの制御を行う際に、共有メモリを介さずに、異なるセッションのプロセス間で接続可能とすることができる。
また、上述の実施の形態においては、主にATMの制御を行う例について説明しているものの、KIOSK端末等に適用することも可能である。
このように構成することで、柔軟な構成に適用可能となる。
また、上述の実施の形態においては、主にWindows(登録商標)OSのプロセス間通信、サービス等に適用する例について説明した。しかしながら、Linux(登録商標)等のOSにおけるセッションの異なるプロセス間通信、デーモン(Daemon)との接続等についても、同様に適用可能である。
このように構成することで、様々なOSに対して適用可能となる。
また、上述の実施の形態においては、セキュリティ識別子をそのままプロセス間通信で用いる例について説明した。しかしながら、識別子を、例えば、通信用ミドルウェアに含まれる公開鍵で暗号化(ハッシュ化)して用いてもよい。この場合、この暗号化されたセキュリティ識別子を、サービスにおいて、通信用ミドルウェアに含まれる秘密鍵で復号化して、プロセスを識別することも可能である。
加えて、共通識別子として、上述の実施形態で説明したカードリーダ2を示す文字列以外にも、共通鍵等の鍵データを用いることも可能である。
このように構成することで、上位装置1に不正なプログラムがインストールされたり、ハッキングされたりしても、サービスを介したデバイスの制御を防ぐことができ、セキュリティ性を高めることができる。
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
1 上位装置
2 カードリーダ
3 サーバ
4 カード媒体
5 ネットワーク
10 制御部
20 記憶部
30 I/F部
40 表示部
50 入力部
100 サービス実行部
110 プロセス実行部
P1、P2 制御用プロセス
PW 状態監視用プロセス
S サービス
X、Z 情報処理システム

Claims (8)

  1. 上位装置と、該上位装置からの指示に従って処理を実行するデバイスとを含む情報処理システムであって、
    前記上位装置は、
    前記デバイスと接続し、コマンドに対応した制御及び監視を行うサービスを実行するサービス実行部と、
    前記サービス実行部により実行される前記サービスを介して、前記デバイスに対する各種処理を行うプロセスを実行するプロセス実行部とを備え、
    前記プロセス実行部は、前記プロセスの実行時にユニークな識別子を生成して、前記サービスに出力し、
    前記サービス実行部は、前記ユニークな識別子を入力し、当該ユニークな識別子に対応する前記プロセスとの通信用パイプを設定して、前記プロセスを区別して通信する
    ことを特徴とする情報処理システム。
  2. 前記プロセスは、複数であり、前記デバイスに対する制御を行う制御用プロセスと、前記デバイスの状態を監視する状態監視用プロセスとを含み、
    前記プロセス実行部は、前記状態監視用プロセスを、前記制御用プロセスよりも上位権限のアカウントで実行する
    ことを特徴とする請求項1に記載の情報処理システム。
  3. 前記サービス実行部は、
    前記制御用プロセスから発行される動作コマンドを格納する制御用FIFOと、
    前記状態監視用プロセスから発行される状態通知コマンドを格納する状態通知用FIFOとを含み、
    前記状態通知用FIFOに格納された前記状態通知コマンドより、前記制御用FIFOに格納された前記動作コマンドを優先して前記デバイスに送信する
    ことを特徴とする請求項2に記載の情報処理システム。
  4. 前記プロセス実行部は、前記状態監視用プロセスについて、外部ネットワークからのアクセスを受け付けて、前記アクセスに対応した処理を実行する
    ことを特徴とする請求項2又は3に記載の情報処理システム。
  5. 前記サービス及び前記プロセスは、共通で使用される共通識別子を含み、
    前記プロセス実行部は、前記共通識別子を用いてユニークな識別子を出力する
    ことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理システム。
  6. 前記デバイスは、非接触式カードリーダを含む
    ことを特徴とする請求項1乃至5のいずれか1項に記載の情報処理システム。
  7. デバイスに指示して処理を実行させる情報処理装置であって、
    前記デバイスと接続し、コマンドに対応した制御及び監視を行うサービスを実行するサービス実行部と、
    前記サービス実行部により実行される前記サービスを介して、前記サービスとアカウントが異なっていてもよいプロセスであって、前記デバイスに対する各種処理を行う前記プロセスを実行するプロセス実行部とを備え、
    前記プロセス実行部は、前記プロセスの実行時にユニークな識別子を生成して、前記サービスに出力し、
    前記サービス実行部は、前記ユニークな識別子を入力し、当該ユニークな識別子に対応する前記プロセスとの通信用パイプを設定して、前記プロセスを区別して通信する
    ことを特徴とする情報処理装置。
  8. デバイスに指示して処理を実行させる情報処理装置により実行される情報処理方法であって、
    前記デバイスと接続し、コマンドに対応した制御及び監視を行うサービスを実行し、
    実行される前記サービスを介して、前記サービスとアカウントが異なっていてもよいプロセスであって、前記デバイスに対する各種処理を行う前記プロセスを実行し、
    前記プロセスの実行時にユニークな識別子を生成して、前記サービスに出力し、
    前記サービスにより、前記ユニークな識別子を入力し、当該ユニークな識別子に対応する前記プロセスとの通信用パイプを設定して、前記プロセスを区別して通信する
    ことを特徴とする情報処理方法。
JP2018127720A 2018-07-04 2018-07-04 情報処理システム、情報処理装置、及び情報処理方法 Pending JP2020009015A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018127720A JP2020009015A (ja) 2018-07-04 2018-07-04 情報処理システム、情報処理装置、及び情報処理方法
PCT/JP2019/022535 WO2020008797A1 (ja) 2018-07-04 2019-06-06 情報処理システム、情報処理装置、及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018127720A JP2020009015A (ja) 2018-07-04 2018-07-04 情報処理システム、情報処理装置、及び情報処理方法

Publications (1)

Publication Number Publication Date
JP2020009015A true JP2020009015A (ja) 2020-01-16

Family

ID=69059403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018127720A Pending JP2020009015A (ja) 2018-07-04 2018-07-04 情報処理システム、情報処理装置、及び情報処理方法

Country Status (2)

Country Link
JP (1) JP2020009015A (ja)
WO (1) WO2020008797A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012046302A1 (ja) * 2010-10-05 2012-04-12 富士通株式会社 マルチコアプロセッサシステム、監視制御方法、および監視制御プログラム
JP2014072973A (ja) * 2012-09-28 2014-04-21 Denso Corp 交流電動機の制御装置
JP2014199484A (ja) * 2013-03-29 2014-10-23 日本電産サンキョー株式会社 情報処理システム及び情報処理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012046302A1 (ja) * 2010-10-05 2012-04-12 富士通株式会社 マルチコアプロセッサシステム、監視制御方法、および監視制御プログラム
JP2014072973A (ja) * 2012-09-28 2014-04-21 Denso Corp 交流電動機の制御装置
JP2014199484A (ja) * 2013-03-29 2014-10-23 日本電産サンキョー株式会社 情報処理システム及び情報処理方法

Also Published As

Publication number Publication date
WO2020008797A1 (ja) 2020-01-09

Similar Documents

Publication Publication Date Title
US10264433B2 (en) System and method for using an electronic lock with a smartphone
US10089028B2 (en) Remote secure drive discovery and access
JP4397883B2 (ja) 情報処理システム、管理サーバ、および端末
JP4926636B2 (ja) 情報処理システムおよび端末
US9552246B2 (en) Out-of-band monitoring and managing of self-service terminals (SSTs)
US8321657B2 (en) System and method for BIOS and controller communication
US9459937B2 (en) Method for using shared device in apparatus capable of operating two operating systems
KR20130142961A (ko) 자동 애플리케이션 업데이트
JP2007133666A (ja) 情報処理システムおよび情報処理装置の割当て方法
US20180189464A1 (en) Trusted timer service
TWI596545B (zh) Multiple operating system equipment and notification devices, methods, computer program products
US11381561B2 (en) Operation authentication relay apparatus, method, and program
US10909516B2 (en) Basic input/output system (BIOS) credential management
JPWO2010113248A1 (ja) 仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法
WO2020008797A1 (ja) 情報処理システム、情報処理装置、及び情報処理方法
US20200184116A1 (en) Computer lock system
JP7085918B2 (ja) 情報処理装置及び情報処理方法
JP2016186744A (ja) 情報処理装置及び情報処理方法
US20160103998A1 (en) Methods and systems of securely storing documents on a mobile device
US10635840B2 (en) Banner notification in locked host monitor
KR101440419B1 (ko) 전자금융서비스 상호 모니터링 시스템 및 방법
JP7305047B1 (ja) 通信システム、ライセンス管理システム、携帯端末、通信方法、携帯端末用通信プログラム及び制御装置
US20230039612A1 (en) Systems and methods for use of peripheral hardware by modern workspaces
JP6032092B2 (ja) ネットワークシステム
EP2916226A2 (en) Self-service terminal (SST) device driver

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220823

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230307