(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-08
(45)【発行日】2024-10-17
(54)【発明の名称】情報処理装置、情報処理方法、プログラム、及び情報処理システム
(51)【国際特許分類】
G06Q 50/40 20240101AFI20241009BHJP
G07B 15/00 20110101ALI20241009BHJP
【FI】
G06Q50/40
G07B15/00 B
(21)【出願番号】P 2020169725
(22)【出願日】2020-10-07
【審査請求日】2023-09-28
(73)【特許権者】
【識別番号】593092482
【氏名又は名称】JR東日本メカトロニクス株式会社
(73)【特許権者】
【識別番号】000221616
【氏名又は名称】東日本旅客鉄道株式会社
(74)【代理人】
【識別番号】100090273
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】佐藤 公信
(72)【発明者】
【氏名】北川 貴規
【審査官】酒井 優一
(56)【参考文献】
【文献】特開2015-018501(JP,A)
【文献】特開2007-233559(JP,A)
【文献】特開2018-046404(JP,A)
【文献】特開2018-045442(JP,A)
【文献】特開平09-274583(JP,A)
【文献】特開2015-118431(JP,A)
【文献】特開2005-326913(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G07B 15/00
(57)【特許請求の範囲】
【請求項1】
1以上の
駅務機器それぞれからネットワークを介して
、コネクションレス型のプロトコルを使用して送信されるリクエストを取得する取得部と、
前記
駅務機器で実行されるトランザクションに関する前記リクエストのうち、より優先して処理の対象とする前記リクエストを、前記トランザクションの進行度に応じて決定する決定部と、
を備え
、
前記トランザクションは、順次実行される複数の処理を含み、
前記決定部は、前記複数の処理のうち所定の処理が完了しているか否かに応じて、処理の対象とする前記リクエストを決定し、
前記所定の処理は、当該処理以降の他の処理でのエラーの発生に伴う再実行の起点となる処理である、
情報処理装置。
【請求項2】
前記決定部は、前記所定の処理が完了している前記トランザクションに関する前記リクエストの処理がより優先されるように、処理の対象とする前記リクエストを決定する、請求項
1に記載の情報処理装置。
【請求項3】
前記所定の処理は、当該処理よりも後の他の処理を実行するための認証に係る処理である、請求項
1または2に記載の情報処理装置。
【請求項4】
前記決定部は、前記進行度がより進んでいる前記トランザクションに関する前記リクエストの処理がより優先されるように、処理の対象とする前記リクエストを決定する、請求項1~
3のいずれか一項に記載の情報処理装置。
【請求項5】
前記決定部は、エラーに伴い少なくとも一部の処理が再実行された前記トランザクションに関する前記リクエストの処理がより優先されるように、処理の対象とする前記リクエストを決定する、請求項1~
4のいずれか一項に記載の情報処理装置。
【請求項6】
前記決定部は、前記トランザクションの種別に応じて、処理の対象とする前記リクエストを決定する、請求項1~
5のいずれか一項に記載の情報処理装置。
【請求項7】
前記決定部は、前記
駅務機器の種別に応じて、処理の対象とする前記リクエストを決定する、請求項1~
6のいずれか一項に記載の情報処理装置。
【請求項8】
前記決定部は、前記リクエストの伝送に係る通信の速度に応じて、処理の対象とする前記リクエストを決定する、請求項1~
7のいずれか一項に記載の情報処理装置。
【請求項9】
前記決定部は、前記
駅務機器の設置位置に応じて、処理の対象とする前記リクエストを決定する、請求項1~
8のいずれか一項に記載の情報処理装置。
【請求項10】
前記駅務機器は、自動改札機であり、
前記トランザクションは、前記自動改札機の接客処理に係るトランザクションである、
請求項
1~9のいずれか一項に記載の情報処理装置。
【請求項11】
コンピュータが、
1以上の
駅務機器それぞれからネットワークを介して
、コネクションレス型のプロトコルを使用して送信されるリクエストを取得することと、
前記
駅務機器で実行されるトランザクションに関する前記リクエストのうち、より優先して処理の対象とする前記リクエストを、前記トランザクションの進行度に応じて決定することと、
を含
み、
前記トランザクションは、順次実行される複数の処理を含み、
前記複数の処理のうち所定の処理が完了しているか否かに応じて、処理の対象とする前記リクエストが決定され、
前記所定の処理は、当該処理以降の他の処理でのエラーの発生に伴う再実行の起点となる処理である、
情報処理方法。
【請求項12】
コンピュータに、
1以上の
駅務機器それぞれからネットワークを介して
、コネクションレス型のプロトコルを使用して送信されるリクエストを取得することと、
前記
駅務機器で実行されるトランザクションに関する前記リクエストのうち、より優先して処理の対象とする前記リクエストを、前記トランザクションの進行度に応じて決定することと、
を実行させ
、
前記トランザクションは、順次実行される複数の処理を含み、
前記複数の処理のうち所定の処理が完了しているか否かに応じて、処理の対象とする前記リクエストが決定され、
前記所定の処理は、当該処理以降の他の処理でのエラーの発生に伴う再実行の起点となる処理である、
プログラム。
【請求項13】
1以上の
駅務機器と、
情報処理装置と、
を含み、
前記情報処理装置は、
1以上の前記
駅務機器それぞれからネットワークを介して
、コネクションレス型のプロトコルを使用して送信されるリクエストを取得する取得部と、
前記
駅務機器で実行されるトランザクションに関する前記リクエストのうち、より優先して処理の対象とする前記リクエストを、前記トランザクションの進行度に応じて決定する決定部と、
を備え
、
前記トランザクションは、順次実行される複数の処理を含み、
前記決定部は、前記複数の処理のうち所定の処理が完了しているか否かに応じて、処理の対象とする前記リクエストを決定し、
前記所定の処理は、当該処理以降の他の処理でのエラーの発生に伴う再実行の起点となる処理である、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
情報処理装置、情報処理方法、プログラム、及び情報処理システムに関する。
【背景技術】
【0002】
複数の駅務機器(例えば、自動改札機等)におけるICカードの判定処理をサーバ装置(すなわち、情報処理装置)で一元管理するシンクライアント型駅務システムが知られている。例えば、特許文献1には、シンクライアント型駅務システムの一例が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述したシンクライアント型駅務システムのように、駅務機器等の端末装置側での処理の実行に際し、サーバ装置との間で通信が発生するシステムの中には、極めて短い期間での当該処理の完了が求められるものがある。具体的な一例として、端末装置として自動改札機が適用される場合には、ICカードからの情報の読み取り結果に応じて自動改札機とサーバ装置との間で通信が発生し、その通信の結果に応じて自動改札機の扉の開閉等が制御される。自動改札機の運用シーンを想定した場合には、特に、利用者の多い駅においては、上述した一連の処理を、1秒にも満たない期間で完了させることが要求される場合もある。そのため、このようなシステムにおいては、ネットワークの輻輳の影響をより低減可能とする技術の実現が求められている。
【0005】
本発明は、上記問題を鑑みてなされたものであり、ネットワークやサーバで輻輳が発生した場合でも、トランザクションを確実に実行させることを目的とする。
【課題を解決するための手段】
【0006】
本発明の情報処理装置は、1以上の駅務機器それぞれからネットワークを介して、コネクションレス型のプロトコルを使用して送信されるリクエストを取得する取得部と、前記駅務機器で実行されるトランザクションに関する前記リクエストのうち、より優先して処理の対象とする前記リクエストを、前記トランザクションの進行度に応じて決定する決定部と、を備え、前記トランザクションは、順次実行される複数の処理を含み、前記決定部は、前記複数の処理のうち所定の処理が完了しているか否かに応じて、処理の対象とする前記リクエストを決定し、前記所定の処理は、当該処理以降の他の処理でのエラーの発生に伴う再実行の起点となる処理である。
【0007】
また、本発明の情報処理システムは、1以上の端末装置と、情報処理装置と、を含み、前記情報処理装置は、1以上の前記端末装置それぞれからネットワークを介してリクエストを取得する取得部と、前記端末装置で実行されるトランザクションに関する前記リクエストのうち、より優先して処理の対象とする前記リクエストを、前記トランザクションの進行度に応じて決定する決定部と、を備える。
【発明の効果】
【0008】
本発明に依れば、ネットワークやサーバで輻輳が発生した場合でも、トランザクションを確実に実行させることが可能となる。
【図面の簡単な説明】
【0009】
【
図1】情報処理システムのシステム構成の一例を示した図である。
【
図2】情報処理装置のハードウェア構成の一例を示した図である。
【
図3】端末装置のハードウェア構成の一例を示した図である。
【
図4】運賃の精算に係る一連の処理の一例について示した図である。
【
図5】情報処理システムの機能の概要について説明するための説明図である。
【
図6】情報処理システムの機能構成の一例について示したブロック図である。
【
図7】情報処理システムの処理の一例について示したシーケンス図である。
【発明を実施するための形態】
【0010】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0011】
<システム構成>
まず、
図1を参照して、本実施形態に係る情報処理システム1のシステム構成の一例について説明する。
本実施形態に係る情報処理システム1は、情報処理装置100と、複数の端末装置200とを含む。端末装置200は、例えば、券売機、精算機、窓口処理機、または自動改札機等のような駅務機器として構成され得る。なお、本実施形態では、便宜上、端末装置200は、自動改札機として構成されるものとする。また、
図1に示す例では、便宜上、情報処理システム1は、端末装置200a~200dを含むものとするが、必ずしも端末装置200の数を限定するものではない。また、情報処理装置100の設置単位についても限定されない。具体的な一例として、情報処理装置100は、複数の駅の端末装置200(ひいては、すべての駅の端末装置200)を一元管理する装置(例えば、サーバ装置)であってもよい。また、他の一例として、情報処理装置100は、駅ごとに設置され、当該駅ごとに設置された端末装置200を管理する装置であってもよい。
【0012】
情報処理装置100と、複数の端末装置200のそれぞれと、の間は、ネットワークN1を介して互いに情報を送受信可能に接続されている。なお、ネットワークN1の種別は特に限定されない。具体的な一例として、ネットワークN1は、インターネット、専用線、LAN(Local Area Network)、または、WAN(Wide Area Network)等により構成されていてもよい。また、ネットワークN1は、有線のネットワークにより構成されていてもよいし、LTE(Long Term Evolution)やWi-Fi(登録商標)等の規格に基づくネットワークのような無線のネットワークにより構成されていてもよい。また、ネットワークN1は、複数のネットワークを含んでもよく、一部のネットワークとして、他のネットワークと異なる種別のネットワークが適用されてもよい。また、情報処理装置100と端末装置200との間の通信が論理的に確立されていればよく、物理的には情報処理装置100と端末装置200との間が他の通信装置等により中継されてもよい。
【0013】
情報処理装置100は、複数の端末装置200のうち少なくとも1以上の端末装置200それぞれからのリクエストを受け付け、当該リクエストに応じた処理を実行する。例えば、情報処理装置100は、各端末装置200がトランザクションとして関連付けられた一連の処理を順次実行する際に、当該端末装置200から当該処理の実行に際して送信されるリクエストに応じた処理を実行する。また、情報処理装置100は、端末装置200からのリクエストを受けて実行した処理の結果に応じたレスポンスを、当該リクエストの送信元である端末装置200に返送する。
また、本実施形態に係る情報処理装置100は、複数の端末装置200のそれぞれからリクエストを受信した場合に、いずれのリクエストを優先して処理の対象とするかを、所定の条件に基づき決定する。なお、同処理の一例については、本実施形態に係る情報処理システム1の機能の説明とあわせて詳細を別途後述する。
【0014】
端末装置200は、各種処理の実行に際し、必要に応じて情報処理装置100に所望の処理を実行させるためにリクエストを送信する。また、端末装置200は、当該リクエストに対するレスポンスとして、情報処理装置100から当該処理の実行結果に応じた情報を取得する。
【0015】
具体的な一例として、端末装置200は、ユーザ(旅客等)が所有するICカードに記録された情報を読み取り、当該情報の読み取り結果に応じたリクエストを情報処理装置100に送信する。端末装置200は、送信したリクエストに対して情報処理装置100が実行した処理の結果に応じたレスポンスを受信し、受信した当該レスポンスに基づいて、ICカードからの情報の読み取りや、当該ICカードへの情報の書き込み等を行う。なお、端末装置200が実行する処理の一例については、本実施形態に係る情報処理システム1の機能の説明とあわせて詳細を別途後述する。
また、端末装置200は、ユーザに対する接客処理を行う。本実施形態において接客処理とは、例えば、端末装置200が自動改札機の場合には、自動改札機に進入する人を検知してドアの開閉をしたり、音声案内をしたり、画面表示案内をしたり、ランプの点灯又は消灯をしたりする等の処理に相当する。このように、接客処理とは、端末装置200がユーザに対してサービスを提供するための処理に相当する。なお、端末装置200の種別に応じて、当該端末装置200により実行される接客処理の内容が適宜変更されてもよい。
【0016】
<情報処理装置のハードウェア構成>
続いて、
図2を参照して情報処理装置100のハードウェア構成の一例について説明する。情報処理装置100は、CPU(Central Processing Unit)101と、インターフェース装置102と、HD(Hard Disk)103と、ROM(Read Only Memory)108と、RAM(Random Access Memory)109とを備える。また、情報処理装置100は、入力装置104と、出力装置105と、のうちの少なくともいずれかを備えてもよい。また、情報処理装置100は、記録媒体ドライブ装置106を備えてもよい。
【0017】
CPU101は、情報処理装置100の各種動作を制御する。ROM108は、CPU101で実行可能な制御プログラムやブートプログラム等を記憶する。RAM109は、CPU101の主記憶メモリであり、ワークエリアまたは各種プログラムを展開するための一時記憶領域として用いられる。HD103は、各種データや各種プログラムを記憶する。
CPU101は、HD103に記憶されているプログラムを読み出してRAM109に展開し、当該プログラムを実行する。これにより、
図5及び
図6を参照して後述する各機能や、
図7を参照して後述する処理が実現される。
なお、HD103に替えて、またはHD103とともに、SSD(Solid State Drive)に代表される不揮発性メモリ等のような、HD103以外の他の記憶装置が利用されてもよい。
【0018】
インターフェース装置102は、情報処理装置100をネットワークN1等のような各種ネットワークに接続するインターフェースである。インターフェース装置102として適用されるデバイスは、ネットワークN1の種別や適用される通信方式に応じて適宜変更されてもよい。具体的な一例として、ネットワークN1が有線のネットワークの場合には、インターフェース装置102は、伝送路として利用されるケーブルを接続するコネクタ、当該ケーブルを介したデータの受信に係るデバイス、及び当該ケーブルを介したデータの送信に係るデバイス等を含み得る。また、他の一例として、ネットワークN1が無線のネットワークの場合には、インターフェース装置102は、アンテナ装置やRF回路等のような無線通信を実現するための各種デバイスを含み得る。
【0019】
入力装置104は、情報処理装置100の管理者からの指示を受け付けるための装置である。入力装置104は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバー、及びペダル等の操作デバイスにより実現され得る。また、入力装置104として適用されるデバイスは、情報処理装置100に対して管理者が指示を行う方法(換言すると、情報処理装置100の操作方法)に応じて適宜変更されてもよい。例えば、情報処理装置100が、音声入力により管理者からの指示を受け付ける場合には、入力装置104は、マイクロフォン等のような音声の入力を受け付ける集音デバイスにより実現され得る。
【0020】
出力装置105は、情報処理装置100の管理者に対して各種情報を提示するための装置である。出力装置105は、例えば、ディスプレイ等のように、各種表示情報や画面等を表示することでユーザに情報を提示する表示デバイスにより実現され得る。また、出力装置105として適用されるデバイスは、管理者に対して情報を提示する方法に応じて適宜変更されてもよい。例えば、音声や電子音等の音響により管理者に対する情報の提示が行われる場合には、出力装置105は、スピーカ等のような音響を出力する音響出力デバイスにより実現され得る。
【0021】
情報処理装置100のプログラムは、例えば、CD-ROM等の記録媒体107によって情報処理装置100に提供されるか、またはネットワーク等を通じてダウンロードされる。記録媒体107は、記録媒体ドライブ装置106にセットされ、プログラムが記録媒体107から記録媒体ドライブ装置106を介してHD103にインストールされる。
【0022】
<端末装置のハードウェア構成>
続いて、
図3を参照して、端末装置200のハードウェア構成の一例について、特に、端末装置200を自動改札機として構成した場合に着目して説明する。なお、自動改札機は、ユーザの進入を検知してドアを開閉したり、ドアの開閉に関する音声案内をしたり、ユーザのICカードの情報の一部を表示したりする駅務機器の一例である。
【0023】
端末装置200は、CPU(Central Processingu Unit)201と、インターフェース装置202と、HD(Hard Disk)203と、ROM(Read Only Memory)204と、RAM(Random Access Memory)205とを備える。また、端末装置200は、案内装置206と、乗車券処理装置207と、人間検知装置208と、ドア開閉装置209と、のうち少なくともいずれかを含んでもよい。
【0024】
CPU201は、端末装置200の各種動作を制御する。ROM204は、CPU201で実行可能な制御プログラムやブートプログラム等を記憶する。RAM205は、CPU201の主記憶メモリであり、ワークエリアまたは各種プログラムを展開するための一時記憶領域として用いられる。HD203は、各種データや各種プログラムを記憶する。
CPU201は、HD203に記憶されているプログラムを読み出してRAM205に展開し、当該プログラムを実行する。これにより、
図5及び
図6を参照して後述する各機能や、
図7を参照して後述する処理が実現される。
なお、HD203に替えて、またはHD203とともに、SSD(Solid State Drive)に代表される不揮発性メモリなどのような、HDD103以外の他の記憶装置が利用されてもよい。
【0025】
インターフェース装置202は、端末装置200をネットワークN1等のような各種ネットワークに接続するインターフェースである。インターフェース装置202として適用されるデバイスは、ネットワークN1の種別や通信方法に応じて適宜変更されてもよい。具体的な一例として、ネットワークN1が無線のネットワークの場合には、インターフェース装置202は、アンテナ装置やRF回路等のような無線通信を実現するための各種デバイスを含み得る。
【0026】
案内装置206は、自動改札機を利用するユーザに対して、利用金額、残額、入場処理結果、出場処理結果、及び自動改札機の動作状況等に関する情報を案内する。なお、案内装置206は、上記案内を画面表示にて行う表示装置、音声案内にて行う音響出力装置、及びランプの点灯にて行う点灯装置等を有する。
【0027】
乗車券処理装置207は、乗車媒体に対して読み取りや、書き込み等の処理を行う。なお、乗車券処理装置207は、ICカード等の記録媒体に対して読み取りや、書き込み等の処理を行うことが可能なICタッチ部を有するICリーダライタ等を有していてもよい。ここで、CPU201は、情報処理装置100から受信した指示に基づき、ICカードのタッチ受付が可能であることを示すように乗車券処理装置207のICカードタッチ部を点灯させることが可能である。同様に、CPU201は、情報処理装置100から受信した指示に基づき、ICカードのタッチ受付が不可能であることを示すように消灯させたりすることが可能である。
【0028】
例えば、駅係員が自動改札機をリセットしたとする。その場合には、CPU201は、乗車券処理装置207を制御することにより切符投入口を閉じるとともに、リセット操作を検知した旨を情報処理装置100に送信する。そして、情報処理装置100は、自動改札機にICタッチ部を消灯させる旨の指示を送信する。また、CPU201は、リセット処理の終了を検知すると、乗車券処理装置207を制御することにより切符投入口を開くとともに、リセット処理が終了した旨を情報処理装置100に送信する。そして、情報処理装置100は、自動改札機にICタッチ部を点灯させる旨の指示を送信する。ここでは、駅係員が自動改札機をリセットする場合を例に説明したが、これに限る必要はない。例えば、保守員が自動改札機のパラメータの変更操作をする際にパラメータの変更が反映されるまでICカードのタッチが無効となる場合や、ユーザが切符投入口に切符を投入したためICカードのタッチが無効となる場合等があげられる。
【0029】
人間検知装置208は、自動改札機に進入するユーザを検知する。
ドア開閉装置209は、自動改札機のドアの開閉を行う。
【0030】
<機能概要>
続いて、本実施形態に係る情報処理システム1の機能の概要について説明する。本項では、本実施形態に係る情報処理システム1の特徴をより分かりやすくするために、まず、
図4を参照して、自動改札機等の駅務機器を含む情報処理システム1の技術的課題について説明する。
図4は、自動改札機として構成された端末装置200が、ユーザが所有するICカードに記録された情報を読み取り、当該情報の読み取り結果に応じて運賃の精算を行ったうえで、当該精算の結果をICカードに書き込むといった一連の処理の一例を示している。なお、以降の説明では、
図4に示す例を、便宜上「比較例」とも称する。
【0031】
端末装置200は、ICカードからの情報の読み取り、運賃の精算、及びICカードへの書き込みに係る一連の処理を、接客に係る1つのトランザクションとして実行する。具体的な一例として、端末装置200は、当該トランザクションとして、ポーリング(Polling)処理S101、相互認証処理S102、読み取り(Read)処理S103、及び書き込み(Write)処理S104をこの順序で順次実行する。
【0032】
ポーリング処理S101は、他の端末装置200とのリクエストの送信に係る競合を回避するために、情報処理装置100に対してリクエストの送信が可能か否かを問い合わせる処理である。なお、詳細は後述するが、本実施形態に係る情報処理システム1では、トランザクションとして実行される一連の処理を、より短い期間(例えば、0.2秒以下)で実行可能とすることが求められている。このような背景から、当該情報処理システム1では、情報処理装置100と端末装置200との間の通信に、UDP(User Datagram Protocol)等のような輻輳制御を伴わない所謂コネクションレス型のプロトコルが利用される。そのため、端末装置200は、情報処理装置100に対してポーリングを行うことで、情報処理装置100に対してリクエストを送信可能か否かについて確認を行い、当該確認の結果に応じて情報処理装置100にリクエストを送信する。
相互認証処理S102は、当該相互認証処理S102よりも後の他の処理(すなわち、読み取り処理S103及び書き込み処理S104)を端末装置200が実行するために、端末装置200と情報処理装置100との間で行われる認証処理である。
読み取り処理S103は、ICカードからの所定の情報の読み取りに係る処理である。例えば、読み取り処理S103で読み取られた情報が、運賃の精算に利用される。
書き込み処理S104は、ICカードへの情報の書き込みに係る処理である。例えば、運賃の精算結果に応じた情報が、書き込み処理S104によりICカードに書き込まれる。
【0033】
端末装置200は、処理S101~S104の一連の処理の実行に際し、各処理において必要に応じて情報処理装置100に対してリクエストを送信する。この場合には、端末装置200は、当該リクエストに対するレスポンスを確認した後に、次の処理の実行に遷移する。
一方で、端末装置200は、情報処理装置100にリクエストを送信してから所定の期間が経過した後もレスポンスが返送されない場合(すなわち、通信がタイムアウトした場合)には、当該リクエストに対応する処理においてエラーが発生したものとみなす。この場合には、端末装置200は、エラーとなった処理に応じて、トランザクションとして実行される一連の処理S101~S104を、基準となる処理から再度実行する。
具体的には、端末装置200は、相互認証処理S102よりも前のポーリング処理S101においてエラーが発生した場合には、一連の処理S101~S104をポーリング処理S101から再度実行する。一方で、端末装置200は、相互認証処理S102以降の処理においてエラーが発生した場合には、一連の処理S101~S104のうち少なくとも相互認証処理S102以降の処理を再度実行する。すなわち、この場合には、端末装置200は、一連の処理S101~S104の実行を、相互認証処理S102までロールバックさせることとなる。
【0034】
情報処理装置100は、端末装置200からリクエストを受信すると、当該リクエストに応じた処理を実行し、当該処理の実行結果に応じたレスポンスを当該端末装置200に返送する。
【0035】
比較例に係る情報処理装置100は、複数の端末装置200のそれぞれからリクエストを受信した場合には、受信した順に各リクエストを処理の対象とする。例えば、
図4に示す例では、情報処理装置100は、各端末装置200から受信したリクエストをキュー(受信キュー)に関連付けて管理し、当該キューに関連付けられた順に各リクエストを処理の対象としている。このような特性から、複数の端末装置200のそれぞれからのリクエストのうち、少なくとも一部のリクエストに対応する処理の実行が遅延し、当該リクエストに対するレスポンスの返送がタイムアウトする場合がある。このようなタイムアウトが生じると、通信のタイムアウトが生じたトランザクションが再度実行されることとなるため、当該トランザクションが滞留することとなる。そして、このようなトランザクションの滞留が重なることで、情報処理装置100と複数の端末装置200それぞれとの間の通信に輻輳が生じる場合がある。
【0036】
具体的な一例として、
図4に示す例では、端末装置200aが、ポーリング処理S101の実行に際し、情報処理装置100に対してリクエストS111aを送信している。また、端末装置200aがリクエストS111aを情報処理装置100に送信した後に、端末装置200bが、書き込み処理S104の実行に際し、情報処理装置100に対してリクエストS117bを送信している。この場合には、比較例に係る情報処理装置100は、リクエストS111aに応じた処理を実行し、当該処理の実行結果に応じたレスポンスS112aを端末装置200aに返送した後に、リクエストS117bに応じた処理を実行することとなる。
この際に、リクエストS111aに応じた処理の実行に伴い、リクエストS117bに応じた処理の実行タイミングが遅延し、この遅延がより大きくなることで、リクエストS117bに対するレスポンスS118bの返送がタイムアウトする場合がある。この場合には、端末装置200bは、接客に係るトランザクションのうち書き込み処理S104がエラーとなったものとみなし、一連の処理S101~S104のうち認証処理S102から、当該認証処理S102以降の各処理を再度実行することとなる。
【0037】
以上のように、上記通信のタイムアウトに伴い端末装置200において一連の処理S101~S104が再度実行されることで、当該端末装置200でのトランザクションが完了せずに滞留することとなる。また、既に発生したトランザクションが滞留している状況下においても、他の端末装置200において新たなトランザクションが発生する場合がある。これにより、各端末装置200で実行中のトランザクションの数が増大し、各端末装置200から情報処理装置100に送信されるリクエストの数も比例して増大することとなる。このような状況下では、各端末装置200からのリクエストの処理に伴う情報処理装置100の負荷がより増大することとなるため、状況が改善できないどころか、さらに状況が悪化する場合もある。
【0038】
以上のような状況を鑑み、本実施形態に係る情報処理システム1では、情報処理装置100と複数の端末装置200それぞれとの間の通信における輻輳が発生した場合でも、トランザクションを確実に実行可能とする技術を提案する。
【0039】
例えば、
図5は、本実施形態に係る情報処理システム1の機能の概要について説明するための説明図である。本実施形態に係る情報処理システム1では、情報処理装置100は、各端末装置200から送信されるリクエストに対して所定の条件に基づき優先度を設定し、より高い優先度が設定されたリクエストを、より優先して処理の対象とする。
【0040】
具体的には、
図5に示す例では、端末装置200aが、ポーリング処理S101の実行に際し、情報処理装置100に対してリクエストS211aを送信している。また、端末装置200aがリクエストS211aを情報処理装置100に送信した後に、端末装置200bが、書き込み処理S104の実行に際し、情報処理装置100に対してリクエストS217bを送信している。
情報処理装置100は、リクエストS211a及びS217bのうち、より優先して処理の対象とするリクエストを、端末装置200a及び200bそれぞれにおけるトランザクション(すなわち、一連の処理S101~S104)の進行度に応じて決定する。
【0041】
例えば、
図5に示す例では、端末装置200aは、一連の処理S101~S104のうち、より前の段階に位置するポーリング処理S101を実行している。また、端末装置200bは、一連の処理S101~S104のうち、より後の段階に位置する書き込み処理S104を実行している。
図5に示す例の場合には、端末装置200aは、実行中のポーリング処理S101がエラーとなった場合には、再度ポーリング処理S101を行えばよい。これに対して、端末装置200bは、実行中の書き込み処理S104がエラーとなった場合には、トランザクションとして実行される一連の処理を相互認証処理S102までロールバックさせ、相互認証処理S102から一連の処理を再度実行することとなる。そのため、端末装置200aで実行される処理S101がエラーとなる場合に比べて、端末装置200bで実行される処理S104がエラーとなる場合の方が、トランザクションの再実行に伴い増大する処理負荷がより大きくなる。すなわち、端末装置200aで実行される処理S101がエラーとなる場合に比べて、端末装置200bで実行される処理S104がエラーとなる場合の方が、システム全体として未了に伴い滞留するトランザクションの数がより増加しやすい傾向にある。
【0042】
このような背景から、本実施形態に係る情報処理装置100は、各端末装置200で実行されるトランザクションの進行度に応じて、いずれの端末装置200からのリクエストをより優先して処理するかを決定する。具体的な一例として、情報処理装置100は、一連の処理S101~S104のうち、エラーが発生した場合に再実行の起点となる相互認証処理S102よりも後の処理を実行中の端末装置200からのリクエストを、より優先して処理の対象とする。また、情報処理装置100は、トランザクションの進行度がより進んでいる端末装置200からのリクエストを、より優先して処理の対象としてもよい。
すなわち、
図5に示す例では、情報処理装置100は、端末装置200aからのポーリング処理S101の実行に伴うリクエストS211aよりも、端末装置200bからの書き込み処理S104の実行に伴うリクエストS217bをより優先して処理の対象とする。
このような管理を実現するための構成として、例えば、
図5に示す例では、情報処理装置100は、受信した通常のリクエストを関連付ける受信キューに加えて、より優先して処理の対象とするリクエストを関連付ける受信キューを別途設けている。これにより、情報処理装置100は、通常のリクエストを関連付ける受信キューにリクエストが残存しているか否かに関わらず、トランザクションの進行度がより進んでいる端末装置200からのリクエストを、より優先して処理の対象とすることが可能となる。
そして、情報処理装置100は、リクエストS217bに応じた処理を実行し、当該処理の実行結果に応じたレスポンスS218bを端末装置200bに返送する。その後、情報処理装置100は、リクエスト211aに応じた処理を実行し、当該処理の実行結果に応じたレスポンス212aを端末装置200aに返送する。
【0043】
以上のような制御が適用されることで、複数の端末装置200のそれぞれで実行されるトランザクションのうち、より完了に近いトランザクションに対応するリクエストがより優先して処理される。すなわち、より完了に近いトランザクションが、リクエストに対するレスポンスの返送のタイムアウトに伴うエラーにより再実行される頻度がより低減される。これにより、未了による滞留するトランザクションの数をより低減することが可能となり、その時々でトランザクションの実行に伴い端末装置200から情報処理装置100に送信されるリクエストの数を低減させることが可能となる。そのため、情報処理装置100と複数の端末装置200それぞれとの間の通信における輻輳が発生した場合でも、トランザクションを確実に実行することが可能となる。
【0044】
<機能構成>
続いて、
図6を参照して、本実施形態に係る情報処理システム1の機能構成の一例について説明する。なお、
図6では、説明をより分かりやすくするために、情報処理装置100に対して、1つの端末装置200がネットワークN1を介して接続されている場合の一例について示している。一方で、前述したように、情報処理装置100には、ネットワークN1を介して複数の端末装置200が接続され得る。この場合には、各端末装置200は、
図6に示す端末装置200と実質的に同様の機能構成を有し得る。
【0045】
(端末装置200)
まず、端末装置200の機能構成の一例について説明する。端末装置200は、読み書き処理部221と、通信部222と、検知部223と、ドア開閉部224と、案内部225と、処理実行部226とを含む。詳細を後述する端末装置200の各機能は、CPU201が、HD203に記憶されたプログラムをRAM205に展開して実行することで実現される。
【0046】
読み書き処理部221は、乗車券処理装置207の動作を制御することで、ユーザが所有するICカード等の記録媒体から所定の情報の読み取り、読み取った当該情報を処理実行部226に出力する。
記録媒体から読み取られる情報としては、当該記録媒体の識別情報、自動改札機における入出場処理等に関する乗車情報、記録媒体にチャージされた金額に関する情報、定期券での利用が許可されている区間に関する情報等が挙げられる。また、端末装置200と情報処理装置100との間の認証に鍵情報を使用する場合には、当該鍵情報が記録媒体に記憶されていてもよく、当該鍵情報が当該記録媒体から読み取られてもよい。なお、以降の説明では、便宜上、端末装置200と情報処理装置100との間の認証(すなわち、
図5に示す相互認証処理S102)には、記録媒体に記憶された識別情報及び鍵情報が使用されるものとする。
また、読み書き処理部221は、処理実行部226からの指示に応じて、ICカード等の記録媒体に対する情報の書き込みを行う。ICカード等の記録媒体に書き込まれる情報の一例としては、記録媒体にチャージされた金額から乗車料金を減額した後の金額に関する情報や、自動改札機における入出場処理の結果に応じた乗車情報等が挙げられる。
【0047】
通信部222は、端末装置200内の各部が、端末装置200とは異なる他の装置(例えば、情報処理装置100)と、ネットワークN1を介して情報を送受信するためのインターフェースである。通信部222は、例えば、インターフェース装置202により実現される通信機能に相当する。なお、以降の説明では、端末装置200内の各部が、他の装置との間で情報の送受信を行う場合には、特に説明がない限りは、通信部222を介して当該情報の送受信が行われるものとする。
【0048】
検知部223は、人間検知装置208の動作を制御することで、ユーザによる自動改札機への進入や、自動改札機の通過を検知する。
ドア開閉部224は、ドア開閉装置209の動作を制御することで、自動改札機のドアの開閉を行う。
案内部225は、案内装置206の動作を制御することで、ユーザに対して各種情報を提示することで案内を行う。例えば、案内部225は、案内装置206が有する表示装置に案内に係る情報が提示された画面を表示させることで案内を行ってもよい。また、案内部225は、案内装置206が有する音響出力装置に案内に係る音声を出力させることで案内を行ってもよい。また、案内部225は、案内装置206が有する点灯装置にランプを点灯または消灯させることで案内を行ってもよい。
【0049】
処理実行部226は、端末装置200が提供する機能を実現するための各種処理を実行する。
例えば、処理実行部226は、
図5を参照して説明したように、接客に係る1つのトランザクションとして、一連の処理S101~S104のそれぞれをこの順序で逐次実行する。また、処理実行部226は、一連の処理S101~S104それぞれの実行に際し、必要に応じて情報処理装置100にリクエストを送信することで、情報処理装置100に対して所望の処理の実行を依頼する。
【0050】
具体的な一例として、処理実行部226は、読み書き処理部221により記録媒体が認識され、当該記録媒体から読み取られた情報を読み書き処理部221から取得すると、接客に係るトランザクションとして、一連の処理S101~S104の実行を開始する。
【0051】
まず、処理実行部226は、ポーリング処理S101として、情報処理装置100に対してポーリングに係るリクエストを送信することで、情報処理装置100に対して以降の処理S102~S104に係るリクエストの送信が可能か否かを確認する。
【0052】
処理実行部226は、ポーリング処理S101において情報処理装置100から返送されるレスポンスに基づき、情報処理装置100の通信が可能であることを認識すると、相互認証処理S102を実行する。具体的には、処理実行部226は、記録媒体から読み取られた情報のうち、識別情報や鍵情報等の認証に使用される情報に基づきリクエストを生成し、当該リクエストを情報処理装置100に送信する。そして、処理実行部226は、情報処理装置100から返送されるレスポンスに基づき、認証が成功したか否かを確認する。また、処理実行部226は、情報処理装置100から識別情報や鍵情報を取得して、これらの情報に基づき、通信の相手である情報処理装置100の正当性の確認を行ってもよい。
【0053】
処理実行部226は、情報処理装置100との認証に成功すると、読み取り処理S103を実行する。具体的には、処理実行部226は、記録媒体にチャージされた金額に関する情報や、入退場が行われた駅に関する情報(例えば、乗車情報)等の、運賃の精算に使用される情報に基づきリクエストを生成し、当該リクエストを情報処理装置100に送信する。
そして、処理実行部226は、情報処理装置100から上記リクエストに対するレスポンスの返送を受けると、当該レスポンスに基づき書き込み処理S104を実行する。具体的には、処理実行部226は、返送されたレスポンスに基づき、運賃の精算結果に応じた情報(例えば、チャージ金額の残高)の記録媒体への書き込みを、読み書き処理部221に指示する。また、この際に処理実行部226は、自動改札機を介して入退場が行われた駅に関する情報の記録媒体への書き込みを、読み書き処理部221に指示してもよい。
また、処理実行部226は、書き込み処理S104の結果を情報処理装置100に通知してもよい。これにより、情報処理装置100は、端末装置200において記録媒体への情報の書き込みが正常に完了したか否かを認識することが可能となる。
【0054】
なお、上記は運賃の精算が行われる場合の処理の一例について説明したが、定期券の有効区間における利用の場合のように、運賃の精算後のチャージ金額の演算等が行われない場合もある。このような場合には、読み取り処理S103及び書き込み処理S104において端末装置200と情報処理装置100との間で送受信される情報が、利用シーンに応じて適宜変更されてもよい。
【0055】
また、処理実行部226は、情報処理装置100へのリクエストの送信後から所定の期間が経過した後も、当該リクエストに対するレスポンスが当該情報処理装置100から返送されない場合には、当該リクエストに対応する処理をエラーとする。この場合には、処理実行部226は、当該処理を含むトランザクションの再実行を試みる。なお、トランザクションの再実行については、
図5を参照して説明したとおりである。すなわち、処理実行部226は、相互認証処理S102よりも前の処理でエラーが発生した場合には、トランザクションとして実行される一連の処理S101~S104を、ポーリング処理S101から再度実行する。また、処理実行部226は、相互認証処理S102以降の処理でエラーが発生した場合には、トランザクションとして実行される一連の処理S101~S104を、相互認証処理S102から再度実行する。
【0056】
また、処理実行部226は、検知部223から検知結果に応じた情報を取得することで、ユーザによる自動改札機への進入や、自動改札機の通過を認識し、当該認識の結果に応じて各種処理を実行してもよい。具体的な一例として、処理実行部226は、読み書き処理部221により記録媒体が検出されていないにも関わらず、自動改札機へのユーザの進入が検知された場合には、ドア開閉部224にドアを閉じさせてもよい。また、この際に、処理実行部226は、案内部225に、記録媒体が認識されていない旨を示す報知情報を報知させてもよい。
【0057】
(情報処理装置100)
続いて、情報処理装置100の機能構成の一例について説明する。情報処理装置100は、通信部121と、リクエスト処理部122と、処理実行部123とを含む。また、情報処理装置100は、記憶部124を含んでもよい。詳細を後述する情報処理装置100の各機能は、CPU101がHD103に記憶されたプログラムをRAM109に展開して実行することで実現される。
【0058】
通信部121は、情報処理装置100内の各部が、情報処理装置100とは異なる他の装置(例えば、端末装置200)と、ネットワークN1を介して情報を送受信するためのインターフェースである。通信部121は、例えば、インターフェース装置102により実現される通信機能に相当する。なお、以降の説明では、情報処理装置100内の各部が、他の装置との間で情報の送受信を行う場合には、特に説明がない限りは、通信部121を介して当該情報の送受信が行われるものとする。
【0059】
記憶部124は、情報処理装置100内の各部が処理を実行するためのデータやプログラムを記憶する記憶領域である。また、記憶部124には、各端末装置200に関する情報や、各ユーザが保持する記憶媒体に関する情報等が記憶されていてもよい。
なお、記憶部124は、例えば、情報処理装置100に内蔵された記憶装置により実現されてもよい。また、他の一例として、記憶部124は、情報処理装置100とは異なる外部の記憶装置により実現されてもよい。具体的には、記憶部124は、情報処理装置100に対して外付けされた記憶装置により実現されてもよいし、情報処理装置100とネットワークを介して接続された記憶装置により実現されてもよい。
【0060】
リクエスト処理部122は、端末装置200からポーリング処理S101に対応するリクエストを受け付けると、当該端末装置200に対して当該リクエストに対するレスポンスを送信する。この際に、リクエスト処理部122は、上記端末装置200からの各種処理に関するリクエストを受け付けることが可能か否かを確認し、当該確認の結果に応じて当該端末装置200にレスポンスを返送してもよい。
【0061】
また、リクエスト処理部122は、各端末装置200から送信される各種処理(例えば、相互認証処理S102及び読み取り処理S103に関する処理)の実行に関するリクエストを受け付け、当該リクエストにより要求される処理を処理実行部123に実行させる。この際に、リクエスト処理部122は、
図5を参照して説明したように、リクエストを受け付けた各端末装置200で実行されるトランザクションの進行度に応じて、いずれの端末装置200からのリクエストをより優先して処理の対象とするかを決定する。
なお、リクエスト処理部122が、各端末装置200で実行されるトランザクションの進行度を認識することが可能であれば、その方法は特に限定されない。具体的な一例として、リクエスト処理部122は、端末装置200から送信されるリクエストの種別(例えば、処理S101~S103のいずれで送信されるリクエストか)に応じて、当該端末装置200で実行されるトランザクションの進行度を認識してもよい。また、他の一例として、リクエスト処理部122は、端末装置200から送信されるリクエストに含まれる情報に応じて、当該端末装置200で実行されるトランザクションの進行度を認識してもよい。また、他の一例として、リクエスト処理部122は、端末装置200から送信されるリクエストにより依頼された処理に応じて、当該端末装置200で実行されるトランザクションの進行度を認識してもよい。
【0062】
また、リクエスト処理部122は、端末装置200からのリクエストに応じて処理実行部123に依頼した処理の結果を当該処理実行部123から取得すると、当該処理の結果に応じたレスポンスを当該端末装置200に返送する。
【0063】
処理実行部123は、リクエスト処理部122からの指示に応じて各種処理を実行し、当該処理の実行結果をリクエスト処理部122に通知する。
【0064】
具体的な一例として、処理実行部123は、端末装置200からのリクエストに応じて、当該端末装置200から送信される識別情報や鍵情報に基づき、当該端末装置200において情報が読み取られた記録媒体について認証に係る処理を実行してもよい。なお、処理実行部123が当該認証に係る処理の実行時に照合する情報については、当該処理実行部123が参照可能な記憶領域(例えば、記憶部124)に記憶させておけばよい。
【0065】
また、他の一例として、処理実行部123は、端末装置200からのリクエストに応じて、当該端末装置200から送信されるチャージ金額の残高に関する情報や、入退場が行われた駅に関する情報等に基づき、運賃の精算に係る処理を実行してもよい。また、処理実行部123は、チャージ金額の残高等のような各記録媒体に関する情報を、データベース等を利用して管理してもよい。この場合には、処理実行部123は、運賃の精算結果に応じて、データベースで管理している情報(すなわち、運賃の精算が行われた記録媒体に関する情報)を更新してもよい。なお、当該データベースを実現するためのプログラムや、当該データベースに記録されるデータについては、処理実行部123が参照可能な記憶領域(例えば、記憶部124)に記憶させておけばよい。
【0066】
なお、上記はあくまで一例であり、処理実行部123により実行される処理を限定するものではない。具体的な一例として、リクエストの送信元となる端末装置200の種別や、端末装置200で実行されるトランザクションの種別に応じて、端末装置200から要求される処理の内容が異なる場合もある。すなわち、処理実行部123は、端末装置200から要求され得る処理を適宜実行することが可能である。また、処理実行部123が各種処理を実行するためのプログラムやデータについては、処理実行部123が参照可能な記憶領域(例えば、記憶部124)にあらかじめ記憶させておけばよい。
【0067】
<処理>
続いて、
図7を参照して、本実施形態に係る情報処理システム1の処理の一例について、特に、端末装置200と情報処理装置100との間での情報の送受信に着目して説明する。具体的には、
図7は、
図5に示すポーリング処理S101、相互認証処理S102、及び読み取り処理S103のそれぞれにおいて実行される、端末装置200と情報処理装置100との間で実行される情報の送受信に係る処理の流れの一例を示している。
【0068】
S101において、端末装置200の処理実行部226は、情報処理装置100へのリクエストの送信に際し、必要に応じて所定の前処理を実行する。
具体的な一例として、処理実行部226は、相互認証処理S102の実行時には、前処理S201として、記録媒体に記録された識別情報や鍵情報等のような認証に使用される情報の取得を行う。
また、他の一例として、処理実行部226は、読み取り処理S103の実行時には、前処理S201として、記録媒体に記録されたチャージ金額の残高に関する情報や、入退場が行われた駅に関する情報等のような、運賃の精算に使用される情報の取得を行う。
そして、S202において、処理実行部226は、S201の前処理の実行結果に基づき、情報処理装置100に対してリクエストの送信を行う。
なお、処理実行部226は、リクエストの送信に際し事前に実行を要する処理が存在しない場合には、S201に示す前処理の実行をスキップしてもよい。
【0069】
S203において、情報処理装置100のリクエスト処理部122は、各端末装置200からリクエストを受け付けると、各端末装置200で実行されるトランザクションの進行度に応じて、優先して処理の対象とするリクエストを決定する。
S204において、リクエスト処理部122は、優先して処理の対象とすることを決定したリクエストで要求された処理の実行を処理実行部123に指示し、当該処理の結果に応じた情報を処理実行部123から取得する。
そして、S205において、リクエスト処理部122は、処理実行部123から取得した処理の結果に応じた情報に基づくレスポンスを、対応するリクエストの送信元である端末装置200に返送する。
【0070】
S206において、端末装置200の処理実行部226は、S202で送信したリクエストに対するレスポンスの返送を情報処理装置100から受けると、当該レスポンスに応じて後処理を実行する。
具体的な一例として、処理実行部226は、読み取り処理S103の実行に伴い情報処理装置100に送信したリクエストに対して、当該情報処理装置100からレスポンスの返送を受けた場合には、S206において書き込み処理S104を後処理として実行する。
なお、処理実行部226は、レスポンスの受信後に実行を要する処理が存在しない場合には、S206に示す後処理の実行をスキップしてもよい。
【0071】
このように、処理実行部226は、1つのトランザクションとして一連の処理S101~S104を順次実行する際に、各処理において情報処理装置100に対してリクエストを送信し、当該リクエストに対するレスポンスの返送を受けて、次の処理に遷移する。
一方で、処理実行部226は、S202において情報処理装置100にリクエストを送信してから許容される応答期間Tが経過しても情報処理装置100からのレスポンスの返送がない場合には、当該リクエストに対応する処理がエラーとなったものと認識する。この場合には、処理実行部226は、
図5を参照して説明したように、トランザクションとして実行される一連の処理S101~S104を、エラーとなった処理に応じてロールバックさせたうえで、当該一連の処理を再度実行する。
【0072】
<変形例>
続いて、本実施形態に係る情報処理システム1の変形例について説明する。本変形例では、情報処理装置100(リクエスト処理部122)が、各端末装置200から送信されるリクエストのうち、いずれを優先して処理の対象とするかを決定するための条件の一例について説明する。
【0073】
(再実行された処理か否か)
リクエスト処理部122は、タイムアウト等のエラーに伴いトランザクション実行される一連の処理のうち少なくとも一部の処理の再実行に応じて端末装置200から送信されたリクエストについては、他のリクエストよりも優先して処理の対象としてもよい。このような制御が適用されることで、一部の端末装置200からのリクエストが処理されない状態が継続し、当該端末装置200においていつまでも処理が完了しないような事態の発生を防止することが可能となる。
【0074】
(トランザクションの種別)
リクエスト処理部122は、端末装置200において実行されるトランザクションの種別に応じて、当該端末装置200から送信されるリクエストの優先度を決定してもよい。
【0075】
例えば、運賃の精算が発生する場合と、定期券が使用された場合等のように運賃の精算が発生しない場合と、では、それぞれで要求される処理の内容が異なるため、端末装置200が実行するトランザクションの種別が異なる。また、記録媒体の種別としても、ICカードや磁気カード等のように情報の記録方式が異なるものがあり、記録方式に応じて要求される処理が異なるため、端末装置200が実行するトランザクションの種別が異なる。このような特性を鑑み、リクエスト処理部122は、端末装置200側で実行されるトランザクションの種別の違いに応じて、システム全体としてより効率的にリクエストが処理されるように、より優先して処理の対象とするリクエストを決定してもよい。
【0076】
具体的な一例として、定期券が使用された場合等のように運賃の精算が発生しない場合には、当該運賃の発生に伴う残額の演算を実行する必要がなく、記録媒体へ書き込まれる情報も少ないため、当該演算を伴う場合に比べて発生する処理負荷が小さい。そのため、リクエスト処理部122は、運賃の精算が発生しない条件で端末装置200から送信されるリクエストを、他のリクエストよりも優先して処理の対象としてもよい。これにより、単位時間あたりにより多くのリクエストを処理することが可能となるため、未了により滞留するトランザクションの数がより少なくなるように制御することが可能となる。
【0077】
また、他の一例として、記録媒体かICカードと磁気カードとのいずれかに応じて情報の記録方式が異なり、1つのトランザクションとして実行される処理が異なる場合がある。このような場合には、リクエスト処理部122は、記録媒体がICカードと磁気カードとのいずれかに応じて、優先して処理するトランザクションを決定してもよい。
より具体的な一例として、リクエスト処理部122は、より利用者数の多い記録媒体に対応したリクエストを、より優先して処理の対象としてもよい。
また、他の一例として、リクエスト処理部122は、記録媒体の種別の違いに応じて各処理を完了させるまでの期間が異なる場合には、当該期間がより短い記録媒体に対応したリクエストを、より優先して処理の対象としてもよい。
また、他の一例として、リクエスト処理部122は、記録媒体の種別の違いに応じてタイムアウトとして認識されるまでの期間の長さが異なる場合には、当該期間がより短い記録媒体に対応したリクエストを、より優先して処理の対象としてもよい。
また、他の一例として、リクエスト処理部122は、記録媒体の種別の違いに応じて通信の回数が異なる場合には、当該回数がより少ない記録媒体に対応したリクエストを、より優先して処理の対象としてもよい。
【0078】
また、前述したように、駅務機器の中には、自動改札機のみに限らず、券売機、精算機、及び窓口処理機等が存在し、実行される処理の内容も異なる。特に、券売機、精算機、及び窓口処理機等で実行されるトランザクションについては、自動改札機で実行されるトランザクションに比べて、一連の処理が完了するまでの期間に関して要求される条件が厳しくない場合がある。このような特性から、リクエスト処理部122は、自動改札機で実行されるトランザクションに対応したリクエストを、他の駅務機器で実行されるトランザクションに対応したリクエストよりも優先して処理の対象としてもよい。
【0079】
(判定の結果)
リクエスト処理部122は、端末装置200からのリクエストに応じて実行される各種判定の結果に応じて、優先して処理の対象とするリクエスト(換言すると、優先してレスポンスを返送するリクエスト)を決定してもよい。
具体的な一例として、記録媒体へのチャージ金額が不足している場合には、結果として端末装置200(自動改札機)はエラーとして扉を閉じる処理を実行することとなる。このような場合には、例えば、タイムアウトにより端末装置200がエラーと認識したとしても、結果として同様に扉が閉じられることとなる。そのため、リクエスト処理部122は、端末装置200側においてタイムアウトが発生した場合と同様の処理が当該端末装置200において実行される結果が得られた場合には、対応するリクエストの優先度を、他のリクエストよりも低く設定してもよい。
【0080】
(端末装置の種別)
リクエスト処理部122は、端末装置200の種別に応じて、優先して処理の対象とするリクエストを決定してもよい。
例えば、リクエスト処理部122は、各端末装置200のトランザクションの処理に係る性能に応じて、優先して処理の対象とするリクエストを決定してもよい。より具体的な一例として、トランザクションの処理に係る性能がより高い端末装置200からのリクエストが優先して処理されることで、その時々で未了により滞留するトランザクションの数がより少なくなるように制御することが可能である。
また、他の一例として、リクエスト処理部122は、各端末装置200がタイムアウトとして認識するまでの期間の違いに応じて、優先して処理の対象とするリクエストを決定してもよい。より具体的な一例として、タイムアウトまでの期間がより短い端末装置200からのリクエストがより優先して処理されることで、タイムアウトが発生する機会が減少するため、当該タイムアウトに伴いトランザクションが再実行される機会も比例して減少する。これにより、未了により滞留するトランザクションの数がより少なくなるように制御することが可能となる。
【0081】
(端末装置との間の通信の速度)
リクエスト処理部122は、端末装置200との間の通信の速度(すなわち、リクエストの伝送に係る通信の速度)に応じて、優先して処理の対象とするリクエストを決定してもよい。
具体的な一例として、通信の速度がより速い端末装置200からのリクエストが優先して処理されることで、その時々で未了により滞留するトランザクションの数がより少なくなるように制御することが可能である。
【0082】
(端末装置の設置位置)
リクエスト処理部122は、端末装置200の設置位置(例えば、端末装置200の設置地域)に応じて、優先して処理の対象とするリクエストを決定してもよい。
具体的な一例として、利用者のより多い地域に設置された端末装置200からのリクエストが優先して処理されることで、その地域に設置された端末装置200について、タイムアウトに伴いトランザクションが再実行される頻度をより低減することが可能となる。これにより、情報処理装置100と上記地域に設置された端末装置200との間のネットワーク(伝送路)で送受信される情報の量の増加を抑制することが可能となり、ネットワークの輻輳が発生した場合でも、トランザクションを確実に実行させることが可能となる。
【0083】
(補足)
なお、上記はあくまで一例であり、必ずしも本実施形態に係る情報処理システム1の構成や処理を限定するものではない。例えば、どのような条件を適用すればより効率的にリクエストを処理可能となるかについては、ユースケースに応じて異なる場合がある。そのため、優先して処理するリクエストの決定に際し、どのような条件を適用するかについては、ユースケースに応じて適宜変更されてもよい。
具体的には、実施形態として上述したトランザクションの進行度に関する条件と、変形例として上記に例示した各条件のうちの1以上の条件と、の組み合わせに基づき、優先して処理するリクエストが決定されてもよい。また、実施形態として上述したトランザクションの進行度に関する条件に替えて、変形例として上記に例示した各条件のうちの1以上の条件が、優先して処理するリクエストの決定に適用されてもよい。また、優先して処理するリクエストの決定に際し、複数の条件が適用される場合には、いずれの条件をより優先するかについても適宜変更されてもよい。
【0084】
<むすび>
以上説明したように、本実施形態に係る情報処理システムにおいて、情報処理装置100は、1以上の端末装置200それぞれからネットワークを介してリクエストを取得する。情報処理装置100は、上記端末装置200で実行されるトランザクションに関する上記リクエストのうち、より優先して処理の対象とするリクエストを、上記トランザクションの進行度に応じて決定する。
以上のような構成により、システム全体として、未了に伴い滞留するトランザクションの数をより低減することが可能となるため、当該トランザクションの実行に伴い送信されるリクエストの数もトランザクションの数に比例して低減することが可能となる。そのため、本実施形態に係る情報処理システム1に依れば、ネットワークの輻輳が発生した場合でも、トランザクションを確実に実行させる効果を期待することが可能となる。
【0085】
なお、上述では、本開示に係る技術を、主に、端末装置として駅務機器を含む情報処理システム1(すなわち、駅務機器システム)に適用する場合の一例に着目して説明した。一方で、各端末装置で実行されるトランザクションの進行度の概念があるシステム(換言すると、1つのトランザクションとして時系列に沿って所定の処理が順次実行されるシステム)であれば、本開示に係る技術を適用することが可能である。特に、本開示に係る技術は、認証等のような各処理の起点となる処理(例えば、再実行に時に起点となる処理)が含まれる一連の処理が1つのトランザクションとして実行されるようなシステムとの親和性が高い。
また、本開示に係る技術は、上述したように未了に伴い滞留するトランザクションの数をより低減することで、当該トランザクションの実行に伴い送信されるリクエストの数をより低減する。このような特性から、本開示に係る技術は、特に、装置間の通信にUDP等のような輻輳制御を伴わないコネクションレス型のプロトコルを適用しているシステムとの親和性が高い。もちろん、コネクションレス型のプロトコルに限らず、他のプロトコルが使用される場合についても、本開示に係る技術を適用することで、トランザクションの実行に伴い送信されるリクエストの数をより低減する作用効果を奏することも可能である。
【符号の説明】
【0086】
1 情報処理システム、100 情報処理装置、121 通信部、122 リクエスト処理部、123 処理実行部、124 記憶部、200 端末装置、221 読み書き処理部、222 通信部、223 検知部、224 ドア開閉部、225 案内部、226 処理実行部