JP7569192B2 - Information processing device, information processing method, program, and information processing system - Google Patents
Information processing device, information processing method, program, and information processing system Download PDFInfo
- Publication number
- JP7569192B2 JP7569192B2 JP2020169725A JP2020169725A JP7569192B2 JP 7569192 B2 JP7569192 B2 JP 7569192B2 JP 2020169725 A JP2020169725 A JP 2020169725A JP 2020169725 A JP2020169725 A JP 2020169725A JP 7569192 B2 JP7569192 B2 JP 7569192B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- information processing
- transaction
- processing device
- terminal 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.)
- Active
Links
Images
Landscapes
- Devices For Checking Fares Or Tickets At Control Points (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
情報処理装置、情報処理方法、プログラム、及び情報処理システムに関する。 Related to information processing devices, information processing methods, programs, and information processing systems.
複数の駅務機器(例えば、自動改札機等)におけるICカードの判定処理をサーバ装置(すなわち、情報処理装置)で一元管理するシンクライアント型駅務システムが知られている。例えば、特許文献1には、シンクライアント型駅務システムの一例が開示されている。
A thin-client station service system is known in which a server device (i.e., an information processing device) centrally manages the IC card determination process in multiple station service devices (e.g., automatic ticket gates, etc.). For example,
上述したシンクライアント型駅務システムのように、駅務機器等の端末装置側での処理の実行に際し、サーバ装置との間で通信が発生するシステムの中には、極めて短い期間での当該処理の完了が求められるものがある。具体的な一例として、端末装置として自動改札機が適用される場合には、ICカードからの情報の読み取り結果に応じて自動改札機とサーバ装置との間で通信が発生し、その通信の結果に応じて自動改札機の扉の開閉等が制御される。自動改札機の運用シーンを想定した場合には、特に、利用者の多い駅においては、上述した一連の処理を、1秒にも満たない期間で完了させることが要求される場合もある。そのため、このようなシステムにおいては、ネットワークの輻輳の影響をより低減可能とする技術の実現が求められている。 Some systems, such as the thin-client station service system described above, require that communication between a server device and a terminal device, such as station service equipment, is performed when processing is performed on that device, and that processing must be completed in an extremely short period of time. As a specific example, when an automatic ticket gate is used as the terminal device, communication occurs between the automatic ticket gate and a server device depending on the results of reading information from an IC card, and the opening and closing of the automatic ticket gate doors is controlled depending on the results of that communication. When considering an operation scenario for an automatic ticket gate, it may be required to complete the above-mentioned series of processes in less than one second, particularly at stations with a large number of users. Therefore, in such systems, there is a demand for technology that can further reduce the impact of network congestion.
本発明は、上記問題を鑑みてなされたものであり、ネットワークやサーバで輻輳が発生した場合でも、トランザクションを確実に実行させることを目的とする。 The present invention was made in consideration of the above problems, and aims to ensure that transactions are executed reliably even when congestion occurs in the network or server.
本発明の情報処理装置は、1以上の駅務機器それぞれからネットワークを介して、コネクションレス型のプロトコルを使用して送信されるリクエストを取得する取得部と、前記駅務機器で実行されるトランザクションに関する前記リクエストのうち、より優先して処理の対象とする前記リクエストを、前記トランザクションの進行度に応じて決定する決定部と、を備え、前記トランザクションは、順次実行される複数の処理を含み、前記決定部は、前記複数の処理のうち所定の処理が完了しているか否かに応じて、処理の対象とする前記リクエストを決定し、前記所定の処理は、当該処理以降の他の処理でのエラーの発生に伴う再実行の起点となる処理である。 The information processing device of the present invention comprises an acquisition unit that acquires requests transmitted from each of one or more station service equipment via a network using a connectionless protocol , and a determination unit that determines which of the requests related to a transaction executed by the station service equipment is to be given priority for processing depending on the progress of the transaction, wherein the transaction includes a number of processes that are executed sequentially, and the determination unit determines the request to be processed depending on whether a specific process among the multiple processes has been completed, and the specific process is a process that serves as the starting point for re-execution when an error occurs in other processes following the specific process .
また、本発明の情報処理システムは、1以上の端末装置と、情報処理装置と、を含み、前記情報処理装置は、1以上の前記端末装置それぞれからネットワークを介してリクエストを取得する取得部と、前記端末装置で実行されるトランザクションに関する前記リクエストのうち、より優先して処理の対象とする前記リクエストを、前記トランザクションの進行度に応じて決定する決定部と、を備える。 The information processing system of the present invention includes one or more terminal devices and an information processing device, and the information processing device includes an acquisition unit that acquires requests from each of the one or more terminal devices via a network, and a determination unit that determines, among the requests related to a transaction executed on the terminal device, which request is to be given priority for processing in accordance with the progress of the transaction.
本発明に依れば、ネットワークやサーバで輻輳が発生した場合でも、トランザクションを確実に実行させることが可能となる。 The present invention makes it possible to ensure that transactions are executed even when congestion occurs on the network or server.
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。 A preferred embodiment of the present disclosure will be described in detail below with reference to the accompanying drawings. Note that in this specification and drawings, components having substantially the same functional configuration are designated by the same reference numerals to avoid redundant description.
<システム構成>
まず、図1を参照して、本実施形態に係る情報処理システム1のシステム構成の一例について説明する。
本実施形態に係る情報処理システム1は、情報処理装置100と、複数の端末装置200とを含む。端末装置200は、例えば、券売機、精算機、窓口処理機、または自動改札機等のような駅務機器として構成され得る。なお、本実施形態では、便宜上、端末装置200は、自動改札機として構成されるものとする。また、図1に示す例では、便宜上、情報処理システム1は、端末装置200a~200dを含むものとするが、必ずしも端末装置200の数を限定するものではない。また、情報処理装置100の設置単位についても限定されない。具体的な一例として、情報処理装置100は、複数の駅の端末装置200(ひいては、すべての駅の端末装置200)を一元管理する装置(例えば、サーバ装置)であってもよい。また、他の一例として、情報処理装置100は、駅ごとに設置され、当該駅ごとに設置された端末装置200を管理する装置であってもよい。
<System Configuration>
First, an example of a system configuration of an
The
情報処理装置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との間が他の通信装置等により中継されてもよい。
The
情報処理装置100は、複数の端末装置200のうち少なくとも1以上の端末装置200それぞれからのリクエストを受け付け、当該リクエストに応じた処理を実行する。例えば、情報処理装置100は、各端末装置200がトランザクションとして関連付けられた一連の処理を順次実行する際に、当該端末装置200から当該処理の実行に際して送信されるリクエストに応じた処理を実行する。また、情報処理装置100は、端末装置200からのリクエストを受けて実行した処理の結果に応じたレスポンスを、当該リクエストの送信元である端末装置200に返送する。
また、本実施形態に係る情報処理装置100は、複数の端末装置200のそれぞれからリクエストを受信した場合に、いずれのリクエストを優先して処理の対象とするかを、所定の条件に基づき決定する。なお、同処理の一例については、本実施形態に係る情報処理システム1の機能の説明とあわせて詳細を別途後述する。
The
Furthermore, when the
端末装置200は、各種処理の実行に際し、必要に応じて情報処理装置100に所望の処理を実行させるためにリクエストを送信する。また、端末装置200は、当該リクエストに対するレスポンスとして、情報処理装置100から当該処理の実行結果に応じた情報を取得する。
When executing various processes, the
具体的な一例として、端末装置200は、ユーザ(旅客等)が所有するICカードに記録された情報を読み取り、当該情報の読み取り結果に応じたリクエストを情報処理装置100に送信する。端末装置200は、送信したリクエストに対して情報処理装置100が実行した処理の結果に応じたレスポンスを受信し、受信した当該レスポンスに基づいて、ICカードからの情報の読み取りや、当該ICカードへの情報の書き込み等を行う。なお、端末装置200が実行する処理の一例については、本実施形態に係る情報処理システム1の機能の説明とあわせて詳細を別途後述する。
また、端末装置200は、ユーザに対する接客処理を行う。本実施形態において接客処理とは、例えば、端末装置200が自動改札機の場合には、自動改札機に進入する人を検知してドアの開閉をしたり、音声案内をしたり、画面表示案内をしたり、ランプの点灯又は消灯をしたりする等の処理に相当する。このように、接客処理とは、端末装置200がユーザに対してサービスを提供するための処理に相当する。なお、端末装置200の種別に応じて、当該端末装置200により実行される接客処理の内容が適宜変更されてもよい。
As a specific example, the
Furthermore, the
<情報処理装置のハードウェア構成>
続いて、図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を備えてもよい。
<Hardware configuration of information processing device>
Next, an example of a hardware configuration of the
CPU101は、情報処理装置100の各種動作を制御する。ROM108は、CPU101で実行可能な制御プログラムやブートプログラム等を記憶する。RAM109は、CPU101の主記憶メモリであり、ワークエリアまたは各種プログラムを展開するための一時記憶領域として用いられる。HD103は、各種データや各種プログラムを記憶する。
CPU101は、HD103に記憶されているプログラムを読み出してRAM109に展開し、当該プログラムを実行する。これにより、図5及び図6を参照して後述する各機能や、図7を参照して後述する処理が実現される。
なお、HD103に替えて、またはHD103とともに、SSD(Solid State Drive)に代表される不揮発性メモリ等のような、HD103以外の他の記憶装置が利用されてもよい。
The
The
Instead of the
インターフェース装置102は、情報処理装置100をネットワークN1等のような各種ネットワークに接続するインターフェースである。インターフェース装置102として適用されるデバイスは、ネットワークN1の種別や適用される通信方式に応じて適宜変更されてもよい。具体的な一例として、ネットワークN1が有線のネットワークの場合には、インターフェース装置102は、伝送路として利用されるケーブルを接続するコネクタ、当該ケーブルを介したデータの受信に係るデバイス、及び当該ケーブルを介したデータの送信に係るデバイス等を含み得る。また、他の一例として、ネットワークN1が無線のネットワークの場合には、インターフェース装置102は、アンテナ装置やRF回路等のような無線通信を実現するための各種デバイスを含み得る。
The
入力装置104は、情報処理装置100の管理者からの指示を受け付けるための装置である。入力装置104は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバー、及びペダル等の操作デバイスにより実現され得る。また、入力装置104として適用されるデバイスは、情報処理装置100に対して管理者が指示を行う方法(換言すると、情報処理装置100の操作方法)に応じて適宜変更されてもよい。例えば、情報処理装置100が、音声入力により管理者からの指示を受け付ける場合には、入力装置104は、マイクロフォン等のような音声の入力を受け付ける集音デバイスにより実現され得る。
The
出力装置105は、情報処理装置100の管理者に対して各種情報を提示するための装置である。出力装置105は、例えば、ディスプレイ等のように、各種表示情報や画面等を表示することでユーザに情報を提示する表示デバイスにより実現され得る。また、出力装置105として適用されるデバイスは、管理者に対して情報を提示する方法に応じて適宜変更されてもよい。例えば、音声や電子音等の音響により管理者に対する情報の提示が行われる場合には、出力装置105は、スピーカ等のような音響を出力する音響出力デバイスにより実現され得る。
The
情報処理装置100のプログラムは、例えば、CD-ROM等の記録媒体107によって情報処理装置100に提供されるか、またはネットワーク等を通じてダウンロードされる。記録媒体107は、記録媒体ドライブ装置106にセットされ、プログラムが記録媒体107から記録媒体ドライブ装置106を介してHD103にインストールされる。
The program for the
<端末装置のハードウェア構成>
続いて、図3を参照して、端末装置200のハードウェア構成の一例について、特に、端末装置200を自動改札機として構成した場合に着目して説明する。なお、自動改札機は、ユーザの進入を検知してドアを開閉したり、ドアの開閉に関する音声案内をしたり、ユーザのICカードの情報の一部を表示したりする駅務機器の一例である。
<Hardware configuration of terminal device>
Next, an example of the hardware configuration of the
端末装置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と、のうち少なくともいずれかを含んでもよい。
The
CPU201は、端末装置200の各種動作を制御する。ROM204は、CPU201で実行可能な制御プログラムやブートプログラム等を記憶する。RAM205は、CPU201の主記憶メモリであり、ワークエリアまたは各種プログラムを展開するための一時記憶領域として用いられる。HD203は、各種データや各種プログラムを記憶する。
CPU201は、HD203に記憶されているプログラムを読み出してRAM205に展開し、当該プログラムを実行する。これにより、図5及び図6を参照して後述する各機能や、図7を参照して後述する処理が実現される。
なお、HD203に替えて、またはHD203とともに、SSD(Solid State Drive)に代表される不揮発性メモリなどのような、HDD103以外の他の記憶装置が利用されてもよい。
The
The
Instead of the
インターフェース装置202は、端末装置200をネットワークN1等のような各種ネットワークに接続するインターフェースである。インターフェース装置202として適用されるデバイスは、ネットワークN1の種別や通信方法に応じて適宜変更されてもよい。具体的な一例として、ネットワークN1が無線のネットワークの場合には、インターフェース装置202は、アンテナ装置やRF回路等のような無線通信を実現するための各種デバイスを含み得る。
The
案内装置206は、自動改札機を利用するユーザに対して、利用金額、残額、入場処理結果、出場処理結果、及び自動改札機の動作状況等に関する情報を案内する。なお、案内装置206は、上記案内を画面表示にて行う表示装置、音声案内にて行う音響出力装置、及びランプの点灯にて行う点灯装置等を有する。
The
乗車券処理装置207は、乗車媒体に対して読み取りや、書き込み等の処理を行う。なお、乗車券処理装置207は、ICカード等の記録媒体に対して読み取りや、書き込み等の処理を行うことが可能なICタッチ部を有するICリーダライタ等を有していてもよい。ここで、CPU201は、情報処理装置100から受信した指示に基づき、ICカードのタッチ受付が可能であることを示すように乗車券処理装置207のICカードタッチ部を点灯させることが可能である。同様に、CPU201は、情報処理装置100から受信した指示に基づき、ICカードのタッチ受付が不可能であることを示すように消灯させたりすることが可能である。
The
例えば、駅係員が自動改札機をリセットしたとする。その場合には、CPU201は、乗車券処理装置207を制御することにより切符投入口を閉じるとともに、リセット操作を検知した旨を情報処理装置100に送信する。そして、情報処理装置100は、自動改札機にICタッチ部を消灯させる旨の指示を送信する。また、CPU201は、リセット処理の終了を検知すると、乗車券処理装置207を制御することにより切符投入口を開くとともに、リセット処理が終了した旨を情報処理装置100に送信する。そして、情報処理装置100は、自動改札機にICタッチ部を点灯させる旨の指示を送信する。ここでは、駅係員が自動改札機をリセットする場合を例に説明したが、これに限る必要はない。例えば、保守員が自動改札機のパラメータの変更操作をする際にパラメータの変更が反映されるまでICカードのタッチが無効となる場合や、ユーザが切符投入口に切符を投入したためICカードのタッチが無効となる場合等があげられる。
For example, suppose that a station attendant resets the automatic ticket gate. In that case, the
人間検知装置208は、自動改札機に進入するユーザを検知する。
ドア開閉装置209は、自動改札機のドアの開閉を行う。
The
The door opening/
<機能概要>
続いて、本実施形態に係る情報処理システム1の機能の概要について説明する。本項では、本実施形態に係る情報処理システム1の特徴をより分かりやすくするために、まず、図4を参照して、自動改札機等の駅務機器を含む情報処理システム1の技術的課題について説明する。図4は、自動改札機として構成された端末装置200が、ユーザが所有するICカードに記録された情報を読み取り、当該情報の読み取り結果に応じて運賃の精算を行ったうえで、当該精算の結果をICカードに書き込むといった一連の処理の一例を示している。なお、以降の説明では、図4に示す例を、便宜上「比較例」とも称する。
<Function Overview>
Next, an overview of the functions of the
端末装置200は、ICカードからの情報の読み取り、運賃の精算、及びICカードへの書き込みに係る一連の処理を、接客に係る1つのトランザクションとして実行する。具体的な一例として、端末装置200は、当該トランザクションとして、ポーリング(Polling)処理S101、相互認証処理S102、読み取り(Read)処理S103、及び書き込み(Write)処理S104をこの順序で順次実行する。
The
ポーリング処理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カードに書き込まれる。
The polling process S101 is a process for inquiring of the
The mutual authentication process S102 is an authentication process performed between the
The reading process S103 is a process for reading predetermined information from the IC card. For example, the information read in the reading process S103 is used for fare adjustment.
The write process S104 is a process related to writing information to the IC card. For example, information according to the result of the fare settlement is written to the IC card by the write process S104.
端末装置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までロールバックさせることとなる。
When executing a series of processes from S101 to S104, the
On the other hand, if the
Specifically, if an error occurs in the polling process S101 prior to the mutual authentication process S102, the
情報処理装置100は、端末装置200からリクエストを受信すると、当該リクエストに応じた処理を実行し、当該処理の実行結果に応じたレスポンスを当該端末装置200に返送する。
When the
比較例に係る情報処理装置100は、複数の端末装置200のそれぞれからリクエストを受信した場合には、受信した順に各リクエストを処理の対象とする。例えば、図4に示す例では、情報処理装置100は、各端末装置200から受信したリクエストをキュー(受信キュー)に関連付けて管理し、当該キューに関連付けられた順に各リクエストを処理の対象としている。このような特性から、複数の端末装置200のそれぞれからのリクエストのうち、少なくとも一部のリクエストに対応する処理の実行が遅延し、当該リクエストに対するレスポンスの返送がタイムアウトする場合がある。このようなタイムアウトが生じると、通信のタイムアウトが生じたトランザクションが再度実行されることとなるため、当該トランザクションが滞留することとなる。そして、このようなトランザクションの滞留が重なることで、情報処理装置100と複数の端末装置200それぞれとの間の通信に輻輳が生じる場合がある。
When the
具体的な一例として、図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以降の各処理を再度実行することとなる。
4, the
At this time, the execution timing of the process in response to the request S111a is delayed due to the execution of the process in response to the request S117b, and as this delay becomes greater, the return of the response S118b to the request S117b may time out. In this case, the
以上のように、上記通信のタイムアウトに伴い端末装置200において一連の処理S101~S104が再度実行されることで、当該端末装置200でのトランザクションが完了せずに滞留することとなる。また、既に発生したトランザクションが滞留している状況下においても、他の端末装置200において新たなトランザクションが発生する場合がある。これにより、各端末装置200で実行中のトランザクションの数が増大し、各端末装置200から情報処理装置100に送信されるリクエストの数も比例して増大することとなる。このような状況下では、各端末装置200からのリクエストの処理に伴う情報処理装置100の負荷がより増大することとなるため、状況が改善できないどころか、さらに状況が悪化する場合もある。
As described above, when the communication times out, the series of processes S101 to S104 are executed again in the
以上のような状況を鑑み、本実施形態に係る情報処理システム1では、情報処理装置100と複数の端末装置200それぞれとの間の通信における輻輳が発生した場合でも、トランザクションを確実に実行可能とする技術を提案する。
In consideration of the above situation, the
例えば、図5は、本実施形態に係る情報処理システム1の機能の概要について説明するための説明図である。本実施形態に係る情報処理システム1では、情報処理装置100は、各端末装置200から送信されるリクエストに対して所定の条件に基づき優先度を設定し、より高い優先度が設定されたリクエストを、より優先して処理の対象とする。
For example, FIG. 5 is an explanatory diagram for explaining an overview of the functions of the
具体的には、図5に示す例では、端末装置200aが、ポーリング処理S101の実行に際し、情報処理装置100に対してリクエストS211aを送信している。また、端末装置200aがリクエストS211aを情報処理装置100に送信した後に、端末装置200bが、書き込み処理S104の実行に際し、情報処理装置100に対してリクエストS217bを送信している。
情報処理装置100は、リクエストS211a及びS217bのうち、より優先して処理の対象とするリクエストを、端末装置200a及び200bそれぞれにおけるトランザクション(すなわち、一連の処理S101~S104)の進行度に応じて決定する。
5, the
The
例えば、図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がエラーとなる場合の方が、システム全体として未了に伴い滞留するトランザクションの数がより増加しやすい傾向にある。
5, the
In the example shown in Fig. 5, when the polling process S101 being executed causes an error, the
このような背景から、本実施形態に係る情報処理装置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に返送する。
In light of this background, the
That is, in the example shown in FIG. 5, the
5, the
The
以上のような制御が適用されることで、複数の端末装置200のそれぞれで実行されるトランザクションのうち、より完了に近いトランザクションに対応するリクエストがより優先して処理される。すなわち、より完了に近いトランザクションが、リクエストに対するレスポンスの返送のタイムアウトに伴うエラーにより再実行される頻度がより低減される。これにより、未了による滞留するトランザクションの数をより低減することが可能となり、その時々でトランザクションの実行に伴い端末装置200から情報処理装置100に送信されるリクエストの数を低減させることが可能となる。そのため、情報処理装置100と複数の端末装置200それぞれとの間の通信における輻輳が発生した場合でも、トランザクションを確実に実行することが可能となる。
By applying the above control, requests corresponding to transactions that are closer to completion among the transactions executed by each of the multiple
<機能構成>
続いて、図6を参照して、本実施形態に係る情報処理システム1の機能構成の一例について説明する。なお、図6では、説明をより分かりやすくするために、情報処理装置100に対して、1つの端末装置200がネットワークN1を介して接続されている場合の一例について示している。一方で、前述したように、情報処理装置100には、ネットワークN1を介して複数の端末装置200が接続され得る。この場合には、各端末装置200は、図6に示す端末装置200と実質的に同様の機能構成を有し得る。
<Functional configuration>
Next, an example of the functional configuration of the
(端末装置200)
まず、端末装置200の機能構成の一例について説明する。端末装置200は、読み書き処理部221と、通信部222と、検知部223と、ドア開閉部224と、案内部225と、処理実行部226とを含む。詳細を後述する端末装置200の各機能は、CPU201が、HD203に記憶されたプログラムをRAM205に展開して実行することで実現される。
(Terminal device 200)
First, an example of the functional configuration of the
読み書き処理部221は、乗車券処理装置207の動作を制御することで、ユーザが所有するICカード等の記録媒体から所定の情報の読み取り、読み取った当該情報を処理実行部226に出力する。
記録媒体から読み取られる情報としては、当該記録媒体の識別情報、自動改札機における入出場処理等に関する乗車情報、記録媒体にチャージされた金額に関する情報、定期券での利用が許可されている区間に関する情報等が挙げられる。また、端末装置200と情報処理装置100との間の認証に鍵情報を使用する場合には、当該鍵情報が記録媒体に記憶されていてもよく、当該鍵情報が当該記録媒体から読み取られてもよい。なお、以降の説明では、便宜上、端末装置200と情報処理装置100との間の認証(すなわち、図5に示す相互認証処理S102)には、記録媒体に記憶された識別情報及び鍵情報が使用されるものとする。
また、読み書き処理部221は、処理実行部226からの指示に応じて、ICカード等の記録媒体に対する情報の書き込みを行う。ICカード等の記録媒体に書き込まれる情報の一例としては、記録媒体にチャージされた金額から乗車料金を減額した後の金額に関する情報や、自動改札機における入出場処理の結果に応じた乗車情報等が挙げられる。
The read/
The information read from the recording medium includes identification information of the recording medium, boarding information related to the entry/exit process at the automatic ticket gate, information related to the amount charged to the recording medium, information related to the section in which the use of the commuter pass is permitted, etc. Furthermore, when key information is used for authentication between the
Furthermore, the read/
通信部222は、端末装置200内の各部が、端末装置200とは異なる他の装置(例えば、情報処理装置100)と、ネットワークN1を介して情報を送受信するためのインターフェースである。通信部222は、例えば、インターフェース装置202により実現される通信機能に相当する。なお、以降の説明では、端末装置200内の各部が、他の装置との間で情報の送受信を行う場合には、特に説明がない限りは、通信部222を介して当該情報の送受信が行われるものとする。
The
検知部223は、人間検知装置208の動作を制御することで、ユーザによる自動改札機への進入や、自動改札機の通過を検知する。
ドア開閉部224は、ドア開閉装置209の動作を制御することで、自動改札機のドアの開閉を行う。
案内部225は、案内装置206の動作を制御することで、ユーザに対して各種情報を提示することで案内を行う。例えば、案内部225は、案内装置206が有する表示装置に案内に係る情報が提示された画面を表示させることで案内を行ってもよい。また、案内部225は、案内装置206が有する音響出力装置に案内に係る音声を出力させることで案内を行ってもよい。また、案内部225は、案内装置206が有する点灯装置にランプを点灯または消灯させることで案内を行ってもよい。
The
The door opening/
The
処理実行部226は、端末装置200が提供する機能を実現するための各種処理を実行する。
例えば、処理実行部226は、図5を参照して説明したように、接客に係る1つのトランザクションとして、一連の処理S101~S104のそれぞれをこの順序で逐次実行する。また、処理実行部226は、一連の処理S101~S104それぞれの実行に際し、必要に応じて情報処理装置100にリクエストを送信することで、情報処理装置100に対して所望の処理の実行を依頼する。
The
For example, the
具体的な一例として、処理実行部226は、読み書き処理部221により記録媒体が認識され、当該記録媒体から読み取られた情報を読み書き処理部221から取得すると、接客に係るトランザクションとして、一連の処理S101~S104の実行を開始する。
As a specific example, when the read/
まず、処理実行部226は、ポーリング処理S101として、情報処理装置100に対してポーリングに係るリクエストを送信することで、情報処理装置100に対して以降の処理S102~S104に係るリクエストの送信が可能か否かを確認する。
First, as a polling process S101, the
処理実行部226は、ポーリング処理S101において情報処理装置100から返送されるレスポンスに基づき、情報処理装置100の通信が可能であることを認識すると、相互認証処理S102を実行する。具体的には、処理実行部226は、記録媒体から読み取られた情報のうち、識別情報や鍵情報等の認証に使用される情報に基づきリクエストを生成し、当該リクエストを情報処理装置100に送信する。そして、処理実行部226は、情報処理装置100から返送されるレスポンスに基づき、認証が成功したか否かを確認する。また、処理実行部226は、情報処理装置100から識別情報や鍵情報を取得して、これらの情報に基づき、通信の相手である情報処理装置100の正当性の確認を行ってもよい。
When the
処理実行部226は、情報処理装置100との認証に成功すると、読み取り処理S103を実行する。具体的には、処理実行部226は、記録媒体にチャージされた金額に関する情報や、入退場が行われた駅に関する情報(例えば、乗車情報)等の、運賃の精算に使用される情報に基づきリクエストを生成し、当該リクエストを情報処理装置100に送信する。
そして、処理実行部226は、情報処理装置100から上記リクエストに対するレスポンスの返送を受けると、当該レスポンスに基づき書き込み処理S104を実行する。具体的には、処理実行部226は、返送されたレスポンスに基づき、運賃の精算結果に応じた情報(例えば、チャージ金額の残高)の記録媒体への書き込みを、読み書き処理部221に指示する。また、この際に処理実行部226は、自動改札機を介して入退場が行われた駅に関する情報の記録媒体への書き込みを、読み書き処理部221に指示してもよい。
また、処理実行部226は、書き込み処理S104の結果を情報処理装置100に通知してもよい。これにより、情報処理装置100は、端末装置200において記録媒体への情報の書き込みが正常に完了したか否かを認識することが可能となる。
When the
Then, when the
Furthermore, the
なお、上記は運賃の精算が行われる場合の処理の一例について説明したが、定期券の有効区間における利用の場合のように、運賃の精算後のチャージ金額の演算等が行われない場合もある。このような場合には、読み取り処理S103及び書き込み処理S104において端末装置200と情報処理装置100との間で送受信される情報が、利用シーンに応じて適宜変更されてもよい。
Note that, although the above describes an example of the process when the fare is settled, there are cases where the charge amount is not calculated after the fare is settled, such as when using a commuter pass within the valid area. In such cases, the information transmitted and received between the
また、処理実行部226は、情報処理装置100へのリクエストの送信後から所定の期間が経過した後も、当該リクエストに対するレスポンスが当該情報処理装置100から返送されない場合には、当該リクエストに対応する処理をエラーとする。この場合には、処理実行部226は、当該処理を含むトランザクションの再実行を試みる。なお、トランザクションの再実行については、図5を参照して説明したとおりである。すなわち、処理実行部226は、相互認証処理S102よりも前の処理でエラーが発生した場合には、トランザクションとして実行される一連の処理S101~S104を、ポーリング処理S101から再度実行する。また、処理実行部226は、相互認証処理S102以降の処理でエラーが発生した場合には、トランザクションとして実行される一連の処理S101~S104を、相互認証処理S102から再度実行する。
Furthermore, if a response to a request is not returned from the
また、処理実行部226は、検知部223から検知結果に応じた情報を取得することで、ユーザによる自動改札機への進入や、自動改札機の通過を認識し、当該認識の結果に応じて各種処理を実行してもよい。具体的な一例として、処理実行部226は、読み書き処理部221により記録媒体が検出されていないにも関わらず、自動改札機へのユーザの進入が検知された場合には、ドア開閉部224にドアを閉じさせてもよい。また、この際に、処理実行部226は、案内部225に、記録媒体が認識されていない旨を示す報知情報を報知させてもよい。
The
(情報処理装置100)
続いて、情報処理装置100の機能構成の一例について説明する。情報処理装置100は、通信部121と、リクエスト処理部122と、処理実行部123とを含む。また、情報処理装置100は、記憶部124を含んでもよい。詳細を後述する情報処理装置100の各機能は、CPU101がHD103に記憶されたプログラムをRAM109に展開して実行することで実現される。
(Information processing device 100)
Next, an example of the functional configuration of the
通信部121は、情報処理装置100内の各部が、情報処理装置100とは異なる他の装置(例えば、端末装置200)と、ネットワークN1を介して情報を送受信するためのインターフェースである。通信部121は、例えば、インターフェース装置102により実現される通信機能に相当する。なお、以降の説明では、情報処理装置100内の各部が、他の装置との間で情報の送受信を行う場合には、特に説明がない限りは、通信部121を介して当該情報の送受信が行われるものとする。
The
記憶部124は、情報処理装置100内の各部が処理を実行するためのデータやプログラムを記憶する記憶領域である。また、記憶部124には、各端末装置200に関する情報や、各ユーザが保持する記憶媒体に関する情報等が記憶されていてもよい。
なお、記憶部124は、例えば、情報処理装置100に内蔵された記憶装置により実現されてもよい。また、他の一例として、記憶部124は、情報処理装置100とは異なる外部の記憶装置により実現されてもよい。具体的には、記憶部124は、情報処理装置100に対して外付けされた記憶装置により実現されてもよいし、情報処理装置100とネットワークを介して接続された記憶装置により実現されてもよい。
The
The
リクエスト処理部122は、端末装置200からポーリング処理S101に対応するリクエストを受け付けると、当該端末装置200に対して当該リクエストに対するレスポンスを送信する。この際に、リクエスト処理部122は、上記端末装置200からの各種処理に関するリクエストを受け付けることが可能か否かを確認し、当該確認の結果に応じて当該端末装置200にレスポンスを返送してもよい。
When the
また、リクエスト処理部122は、各端末装置200から送信される各種処理(例えば、相互認証処理S102及び読み取り処理S103に関する処理)の実行に関するリクエストを受け付け、当該リクエストにより要求される処理を処理実行部123に実行させる。この際に、リクエスト処理部122は、図5を参照して説明したように、リクエストを受け付けた各端末装置200で実行されるトランザクションの進行度に応じて、いずれの端末装置200からのリクエストをより優先して処理の対象とするかを決定する。
なお、リクエスト処理部122が、各端末装置200で実行されるトランザクションの進行度を認識することが可能であれば、その方法は特に限定されない。具体的な一例として、リクエスト処理部122は、端末装置200から送信されるリクエストの種別(例えば、処理S101~S103のいずれで送信されるリクエストか)に応じて、当該端末装置200で実行されるトランザクションの進行度を認識してもよい。また、他の一例として、リクエスト処理部122は、端末装置200から送信されるリクエストに含まれる情報に応じて、当該端末装置200で実行されるトランザクションの進行度を認識してもよい。また、他の一例として、リクエスト処理部122は、端末装置200から送信されるリクエストにより依頼された処理に応じて、当該端末装置200で実行されるトランザクションの進行度を認識してもよい。
Furthermore, the
As long as the
また、リクエスト処理部122は、端末装置200からのリクエストに応じて処理実行部123に依頼した処理の結果を当該処理実行部123から取得すると、当該処理の結果に応じたレスポンスを当該端末装置200に返送する。
In addition, when the
処理実行部123は、リクエスト処理部122からの指示に応じて各種処理を実行し、当該処理の実行結果をリクエスト処理部122に通知する。
The
具体的な一例として、処理実行部123は、端末装置200からのリクエストに応じて、当該端末装置200から送信される識別情報や鍵情報に基づき、当該端末装置200において情報が読み取られた記録媒体について認証に係る処理を実行してもよい。なお、処理実行部123が当該認証に係る処理の実行時に照合する情報については、当該処理実行部123が参照可能な記憶領域(例えば、記憶部124)に記憶させておけばよい。
As a specific example, the
また、他の一例として、処理実行部123は、端末装置200からのリクエストに応じて、当該端末装置200から送信されるチャージ金額の残高に関する情報や、入退場が行われた駅に関する情報等に基づき、運賃の精算に係る処理を実行してもよい。また、処理実行部123は、チャージ金額の残高等のような各記録媒体に関する情報を、データベース等を利用して管理してもよい。この場合には、処理実行部123は、運賃の精算結果に応じて、データベースで管理している情報(すなわち、運賃の精算が行われた記録媒体に関する情報)を更新してもよい。なお、当該データベースを実現するためのプログラムや、当該データベースに記録されるデータについては、処理実行部123が参照可能な記憶領域(例えば、記憶部124)に記憶させておけばよい。
As another example, the
なお、上記はあくまで一例であり、処理実行部123により実行される処理を限定するものではない。具体的な一例として、リクエストの送信元となる端末装置200の種別や、端末装置200で実行されるトランザクションの種別に応じて、端末装置200から要求される処理の内容が異なる場合もある。すなわち、処理実行部123は、端末装置200から要求され得る処理を適宜実行することが可能である。また、処理実行部123が各種処理を実行するためのプログラムやデータについては、処理実行部123が参照可能な記憶領域(例えば、記憶部124)にあらかじめ記憶させておけばよい。
Note that the above is merely an example and does not limit the processing executed by the
<処理>
続いて、図7を参照して、本実施形態に係る情報処理システム1の処理の一例について、特に、端末装置200と情報処理装置100との間での情報の送受信に着目して説明する。具体的には、図7は、図5に示すポーリング処理S101、相互認証処理S102、及び読み取り処理S103のそれぞれにおいて実行される、端末装置200と情報処理装置100との間で実行される情報の送受信に係る処理の流れの一例を示している。
<Processing>
Next, with reference to Fig. 7, an example of the processing of the
S101において、端末装置200の処理実行部226は、情報処理装置100へのリクエストの送信に際し、必要に応じて所定の前処理を実行する。
具体的な一例として、処理実行部226は、相互認証処理S102の実行時には、前処理S201として、記録媒体に記録された識別情報や鍵情報等のような認証に使用される情報の取得を行う。
また、他の一例として、処理実行部226は、読み取り処理S103の実行時には、前処理S201として、記録媒体に記録されたチャージ金額の残高に関する情報や、入退場が行われた駅に関する情報等のような、運賃の精算に使用される情報の取得を行う。
そして、S202において、処理実行部226は、S201の前処理の実行結果に基づき、情報処理装置100に対してリクエストの送信を行う。
なお、処理実行部226は、リクエストの送信に際し事前に実行を要する処理が存在しない場合には、S201に示す前処理の実行をスキップしてもよい。
In S<b>101 , the
As a specific example, when executing the mutual authentication process S102, the
As another example, when executing the reading process S103, the
Then, in S202, the
If there is no process that needs to be executed before transmitting the request, the
S203において、情報処理装置100のリクエスト処理部122は、各端末装置200からリクエストを受け付けると、各端末装置200で実行されるトランザクションの進行度に応じて、優先して処理の対象とするリクエストを決定する。
S204において、リクエスト処理部122は、優先して処理の対象とすることを決定したリクエストで要求された処理の実行を処理実行部123に指示し、当該処理の結果に応じた情報を処理実行部123から取得する。
そして、S205において、リクエスト処理部122は、処理実行部123から取得した処理の結果に応じた情報に基づくレスポンスを、対応するリクエストの送信元である端末装置200に返送する。
In S203, when the
In S204, the
Then, in S205, the
S206において、端末装置200の処理実行部226は、S202で送信したリクエストに対するレスポンスの返送を情報処理装置100から受けると、当該レスポンスに応じて後処理を実行する。
具体的な一例として、処理実行部226は、読み取り処理S103の実行に伴い情報処理装置100に送信したリクエストに対して、当該情報処理装置100からレスポンスの返送を受けた場合には、S206において書き込み処理S104を後処理として実行する。
なお、処理実行部226は、レスポンスの受信後に実行を要する処理が存在しない場合には、S206に示す後処理の実行をスキップしてもよい。
In S206, when the
As a specific example, when the
If there is no process that needs to be executed after receiving the response, the
このように、処理実行部226は、1つのトランザクションとして一連の処理S101~S104を順次実行する際に、各処理において情報処理装置100に対してリクエストを送信し、当該リクエストに対するレスポンスの返送を受けて、次の処理に遷移する。
一方で、処理実行部226は、S202において情報処理装置100にリクエストを送信してから許容される応答期間Tが経過しても情報処理装置100からのレスポンスの返送がない場合には、当該リクエストに対応する処理がエラーとなったものと認識する。この場合には、処理実行部226は、図5を参照して説明したように、トランザクションとして実行される一連の処理S101~S104を、エラーとなった処理に応じてロールバックさせたうえで、当該一連の処理を再度実行する。
In this way, when the
On the other hand, if the
<変形例>
続いて、本実施形態に係る情報処理システム1の変形例について説明する。本変形例では、情報処理装置100(リクエスト処理部122)が、各端末装置200から送信されるリクエストのうち、いずれを優先して処理の対象とするかを決定するための条件の一例について説明する。
<Modification>
Next, a modified example of the
(再実行された処理か否か)
リクエスト処理部122は、タイムアウト等のエラーに伴いトランザクション実行される一連の処理のうち少なくとも一部の処理の再実行に応じて端末装置200から送信されたリクエストについては、他のリクエストよりも優先して処理の対象としてもよい。このような制御が適用されることで、一部の端末装置200からのリクエストが処理されない状態が継続し、当該端末装置200においていつまでも処理が完了しないような事態の発生を防止することが可能となる。
(Whether the process was re-executed or not)
The
(トランザクションの種別)
リクエスト処理部122は、端末装置200において実行されるトランザクションの種別に応じて、当該端末装置200から送信されるリクエストの優先度を決定してもよい。
(Transaction type)
The
例えば、運賃の精算が発生する場合と、定期券が使用された場合等のように運賃の精算が発生しない場合と、では、それぞれで要求される処理の内容が異なるため、端末装置200が実行するトランザクションの種別が異なる。また、記録媒体の種別としても、ICカードや磁気カード等のように情報の記録方式が異なるものがあり、記録方式に応じて要求される処理が異なるため、端末装置200が実行するトランザクションの種別が異なる。このような特性を鑑み、リクエスト処理部122は、端末装置200側で実行されるトランザクションの種別の違いに応じて、システム全体としてより効率的にリクエストが処理されるように、より優先して処理の対象とするリクエストを決定してもよい。
For example, the type of transaction executed by the
具体的な一例として、定期券が使用された場合等のように運賃の精算が発生しない場合には、当該運賃の発生に伴う残額の演算を実行する必要がなく、記録媒体へ書き込まれる情報も少ないため、当該演算を伴う場合に比べて発生する処理負荷が小さい。そのため、リクエスト処理部122は、運賃の精算が発生しない条件で端末装置200から送信されるリクエストを、他のリクエストよりも優先して処理の対象としてもよい。これにより、単位時間あたりにより多くのリクエストを処理することが可能となるため、未了により滞留するトランザクションの数がより少なくなるように制御することが可能となる。
As a specific example, when no fare settlement occurs, such as when a commuter pass is used, there is no need to perform calculations of the remaining amount associated with the occurrence of the fare, and less information is written to the recording medium, resulting in a smaller processing load than when such calculations are involved. Therefore, the
また、他の一例として、記録媒体かICカードと磁気カードとのいずれかに応じて情報の記録方式が異なり、1つのトランザクションとして実行される処理が異なる場合がある。このような場合には、リクエスト処理部122は、記録媒体がICカードと磁気カードとのいずれかに応じて、優先して処理するトランザクションを決定してもよい。
より具体的な一例として、リクエスト処理部122は、より利用者数の多い記録媒体に対応したリクエストを、より優先して処理の対象としてもよい。
また、他の一例として、リクエスト処理部122は、記録媒体の種別の違いに応じて各処理を完了させるまでの期間が異なる場合には、当該期間がより短い記録媒体に対応したリクエストを、より優先して処理の対象としてもよい。
また、他の一例として、リクエスト処理部122は、記録媒体の種別の違いに応じてタイムアウトとして認識されるまでの期間の長さが異なる場合には、当該期間がより短い記録媒体に対応したリクエストを、より優先して処理の対象としてもよい。
また、他の一例として、リクエスト処理部122は、記録媒体の種別の違いに応じて通信の回数が異なる場合には、当該回数がより少ない記録媒体に対応したリクエストを、より優先して処理の対象としてもよい。
As another example, the information recording method may differ depending on whether the recording medium is a recording medium, an IC card, or a magnetic card, and the processing executed as one transaction may differ. In such a case, the
As a more specific example, the
As another example, when the time required to complete each process differs depending on the type of recording medium, the
As another example, when the length of time until a timeout is recognized varies depending on the type of recording medium, the
As another example, when the number of communications varies depending on the type of recording medium, the
また、前述したように、駅務機器の中には、自動改札機のみに限らず、券売機、精算機、及び窓口処理機等が存在し、実行される処理の内容も異なる。特に、券売機、精算機、及び窓口処理機等で実行されるトランザクションについては、自動改札機で実行されるトランザクションに比べて、一連の処理が完了するまでの期間に関して要求される条件が厳しくない場合がある。このような特性から、リクエスト処理部122は、自動改札機で実行されるトランザクションに対応したリクエストを、他の駅務機器で実行されるトランザクションに対応したリクエストよりも優先して処理の対象としてもよい。
As mentioned above, station service equipment is not limited to automated ticket gates; it also includes ticket vending machines, fare adjustment machines, and counter processing machines, and the content of the processing performed differs. In particular, transactions performed by ticket vending machines, fare adjustment machines, and counter processing machines may not have stricter requirements regarding the time required for a series of processes to be completed than transactions performed by automated ticket gates. Due to these characteristics, the
(判定の結果)
リクエスト処理部122は、端末装置200からのリクエストに応じて実行される各種判定の結果に応じて、優先して処理の対象とするリクエスト(換言すると、優先してレスポンスを返送するリクエスト)を決定してもよい。
具体的な一例として、記録媒体へのチャージ金額が不足している場合には、結果として端末装置200(自動改札機)はエラーとして扉を閉じる処理を実行することとなる。このような場合には、例えば、タイムアウトにより端末装置200がエラーと認識したとしても、結果として同様に扉が閉じられることとなる。そのため、リクエスト処理部122は、端末装置200側においてタイムアウトが発生した場合と同様の処理が当該端末装置200において実行される結果が得られた場合には、対応するリクエストの優先度を、他のリクエストよりも低く設定してもよい。
(Results of the Judgment)
The
As a specific example, if the charge amount to the recording medium is insufficient, the terminal device 200 (automated ticket gate) will end up treating this as an error and closing the door. In such a case, even if the
(端末装置の種別)
リクエスト処理部122は、端末装置200の種別に応じて、優先して処理の対象とするリクエストを決定してもよい。
例えば、リクエスト処理部122は、各端末装置200のトランザクションの処理に係る性能に応じて、優先して処理の対象とするリクエストを決定してもよい。より具体的な一例として、トランザクションの処理に係る性能がより高い端末装置200からのリクエストが優先して処理されることで、その時々で未了により滞留するトランザクションの数がより少なくなるように制御することが可能である。
また、他の一例として、リクエスト処理部122は、各端末装置200がタイムアウトとして認識するまでの期間の違いに応じて、優先して処理の対象とするリクエストを決定してもよい。より具体的な一例として、タイムアウトまでの期間がより短い端末装置200からのリクエストがより優先して処理されることで、タイムアウトが発生する機会が減少するため、当該タイムアウトに伴いトランザクションが再実行される機会も比例して減少する。これにより、未了により滞留するトランザクションの数がより少なくなるように制御することが可能となる。
(Type of terminal device)
The
For example, the
As another example, the
(端末装置との間の通信の速度)
リクエスト処理部122は、端末装置200との間の通信の速度(すなわち、リクエストの伝送に係る通信の速度)に応じて、優先して処理の対象とするリクエストを決定してもよい。
具体的な一例として、通信の速度がより速い端末装置200からのリクエストが優先して処理されることで、その時々で未了により滞留するトランザクションの数がより少なくなるように制御することが可能である。
(Speed of communication between terminal devices)
The
As a specific example, it is possible to control the number of pending transactions to be reduced by giving priority to requests from
(端末装置の設置位置)
リクエスト処理部122は、端末装置200の設置位置(例えば、端末装置200の設置地域)に応じて、優先して処理の対象とするリクエストを決定してもよい。
具体的な一例として、利用者のより多い地域に設置された端末装置200からのリクエストが優先して処理されることで、その地域に設置された端末装置200について、タイムアウトに伴いトランザクションが再実行される頻度をより低減することが可能となる。これにより、情報処理装置100と上記地域に設置された端末装置200との間のネットワーク(伝送路)で送受信される情報の量の増加を抑制することが可能となり、ネットワークの輻輳が発生した場合でも、トランザクションを確実に実行させることが可能となる。
(Location of terminal equipment)
The
As a specific example, by giving priority to processing requests from
(補足)
なお、上記はあくまで一例であり、必ずしも本実施形態に係る情報処理システム1の構成や処理を限定するものではない。例えば、どのような条件を適用すればより効率的にリクエストを処理可能となるかについては、ユースケースに応じて異なる場合がある。そのため、優先して処理するリクエストの決定に際し、どのような条件を適用するかについては、ユースケースに応じて適宜変更されてもよい。
具体的には、実施形態として上述したトランザクションの進行度に関する条件と、変形例として上記に例示した各条件のうちの1以上の条件と、の組み合わせに基づき、優先して処理するリクエストが決定されてもよい。また、実施形態として上述したトランザクションの進行度に関する条件に替えて、変形例として上記に例示した各条件のうちの1以上の条件が、優先して処理するリクエストの決定に適用されてもよい。また、優先して処理するリクエストの決定に際し、複数の条件が適用される場合には、いずれの条件をより優先するかについても適宜変更されてもよい。
(supplement)
Note that the above is merely an example, and does not necessarily limit the configuration or processing of the
Specifically, a request to be preferentially processed may be determined based on a combination of the condition related to the transaction progress described above as an embodiment and one or more of the conditions exemplified above as a modified example. Also, instead of the condition related to the transaction progress described above as an embodiment, one or more of the conditions exemplified above as a modified example may be applied to determine a request to be preferentially processed. Also, when multiple conditions are applied when determining a request to be preferentially processed, the condition to be given priority may be appropriately changed.
<むすび>
以上説明したように、本実施形態に係る情報処理システムにおいて、情報処理装置100は、1以上の端末装置200それぞれからネットワークを介してリクエストを取得する。情報処理装置100は、上記端末装置200で実行されるトランザクションに関する上記リクエストのうち、より優先して処理の対象とするリクエストを、上記トランザクションの進行度に応じて決定する。
以上のような構成により、システム全体として、未了に伴い滞留するトランザクションの数をより低減することが可能となるため、当該トランザクションの実行に伴い送信されるリクエストの数もトランザクションの数に比例して低減することが可能となる。そのため、本実施形態に係る情報処理システム1に依れば、ネットワークの輻輳が発生した場合でも、トランザクションを確実に実行させる効果を期待することが可能となる。
<Conclusion>
As described above, in the information processing system according to this embodiment, the
With the above configuration, it is possible to reduce the number of pending transactions in the system as a whole, and therefore the number of requests sent in association with the execution of those transactions can be reduced in proportion to the number of transactions. Therefore, with the
なお、上述では、本開示に係る技術を、主に、端末装置として駅務機器を含む情報処理システム1(すなわち、駅務機器システム)に適用する場合の一例に着目して説明した。一方で、各端末装置で実行されるトランザクションの進行度の概念があるシステム(換言すると、1つのトランザクションとして時系列に沿って所定の処理が順次実行されるシステム)であれば、本開示に係る技術を適用することが可能である。特に、本開示に係る技術は、認証等のような各処理の起点となる処理(例えば、再実行に時に起点となる処理)が含まれる一連の処理が1つのトランザクションとして実行されるようなシステムとの親和性が高い。
また、本開示に係る技術は、上述したように未了に伴い滞留するトランザクションの数をより低減することで、当該トランザクションの実行に伴い送信されるリクエストの数をより低減する。このような特性から、本開示に係る技術は、特に、装置間の通信にUDP等のような輻輳制御を伴わないコネクションレス型のプロトコルを適用しているシステムとの親和性が高い。もちろん、コネクションレス型のプロトコルに限らず、他のプロトコルが使用される場合についても、本開示に係る技術を適用することで、トランザクションの実行に伴い送信されるリクエストの数をより低減する作用効果を奏することも可能である。
In the above, the technology according to the present disclosure has been described focusing mainly on an example of application to an information processing system 1 (i.e., a station service equipment system) including station service equipment as a terminal device. On the other hand, the technology according to the present disclosure can be applied to a system that has a concept of the progress of a transaction executed by each terminal device (in other words, a system in which predetermined processes are executed sequentially in a time series as one transaction). In particular, the technology according to the present disclosure has a high affinity with a system in which a series of processes including processes that are the starting point of each process such as authentication (for example, a process that is the starting point when re-executing) are executed as one transaction.
Furthermore, as described above, the technology disclosed herein reduces the number of pending transactions, thereby reducing the number of requests sent with the execution of the transactions. Due to these characteristics, the technology disclosed herein is particularly compatible with systems that use connectionless protocols that do not involve congestion control, such as UDP, for communication between devices. Of course, the technology disclosed herein can be applied to other protocols, not just connectionless protocols, and can also provide the effect of reducing the number of requests sent with the execution of transactions.
1 情報処理システム、100 情報処理装置、121 通信部、122 リクエスト処理部、123 処理実行部、124 記憶部、200 端末装置、221 読み書き処理部、222 通信部、223 検知部、224 ドア開閉部、225 案内部、226 処理実行部 1 Information processing system, 100 Information processing device, 121 Communication unit, 122 Request processing unit, 123 Processing execution unit, 124 Storage unit, 200 Terminal device, 221 Read/write processing unit, 222 Communication unit, 223 Detection unit, 224 Door opening/closing unit, 225 Guidance unit, 226 Processing execution unit
Claims (13)
前記駅務機器で実行されるトランザクションに関する前記リクエストのうち、より優先して処理の対象とする前記リクエストを、前記トランザクションの進行度に応じて決定する決定部と、
を備え、
前記トランザクションは、順次実行される複数の処理を含み、
前記決定部は、前記複数の処理のうち所定の処理が完了しているか否かに応じて、処理の対象とする前記リクエストを決定し、
前記所定の処理は、当該処理以降の他の処理でのエラーの発生に伴う再実行の起点となる処理である、
情報処理装置。 an acquisition unit that acquires requests transmitted from each of one or more station service devices via a network using a connectionless protocol ;
a determination unit that determines, among the requests related to the transaction executed by the station service equipment , a request to be processed with higher priority in accordance with a progress of the transaction;
Equipped with
The transaction includes a plurality of operations that are executed sequentially,
the determination unit determines the request to be processed depending on whether a predetermined process among the plurality of processes has been completed;
The predetermined process is a process that is a starting point for re-execution in response to an error occurring in another process subsequent to the predetermined process.
Information processing device.
前記トランザクションは、前記自動改札機の接客処理に係るトランザクションである、
請求項1~9のいずれか一項に記載の情報処理装置。 The station service equipment is an automatic ticket gate,
The transaction is a transaction related to a customer service process of the automated ticket gate.
The information processing device according to any one of claims 1 to 9 .
1以上の駅務機器それぞれからネットワークを介して、コネクションレス型のプロトコルを使用して送信されるリクエストを取得することと、
前記駅務機器で実行されるトランザクションに関する前記リクエストのうち、より優先して処理の対象とする前記リクエストを、前記トランザクションの進行度に応じて決定することと、
を含み、
前記トランザクションは、順次実行される複数の処理を含み、
前記複数の処理のうち所定の処理が完了しているか否かに応じて、処理の対象とする前記リクエストが決定され、
前記所定の処理は、当該処理以降の他の処理でのエラーの発生に伴う再実行の起点となる処理である、
情報処理方法。 The computer
receiving a request transmitted from each of one or more station equipment via a network using a connectionless protocol ;
determining a request to be processed with higher priority among the requests related to a transaction executed by the station service equipment in accordance with a progress of the transaction;
Including,
The transaction includes a plurality of operations that are executed sequentially,
determining the request to be processed depending on whether a predetermined process among the plurality of processes has been completed;
The predetermined process is a process that is a starting point for re-execution in response to an error occurring in another process subsequent to the predetermined process.
Information processing methods.
1以上の駅務機器それぞれからネットワークを介して、コネクションレス型のプロトコルを使用して送信されるリクエストを取得することと、
前記駅務機器で実行されるトランザクションに関する前記リクエストのうち、より優先して処理の対象とする前記リクエストを、前記トランザクションの進行度に応じて決定することと、
を実行させ、
前記トランザクションは、順次実行される複数の処理を含み、
前記複数の処理のうち所定の処理が完了しているか否かに応じて、処理の対象とする前記リクエストが決定され、
前記所定の処理は、当該処理以降の他の処理でのエラーの発生に伴う再実行の起点となる処理である、
プログラム。 On the computer,
receiving a request transmitted from each of one or more station equipment via a network using a connectionless protocol ;
determining a request to be processed with higher priority among the requests related to a transaction executed by the station service equipment in accordance with a progress of the transaction;
Run the command ,
The transaction includes a plurality of operations that are executed sequentially,
determining the request to be processed depending on whether a predetermined process among the plurality of processes has been completed;
The predetermined process is a process that is a starting point for re-execution in response to an error occurring in another process subsequent to the predetermined process.
program.
情報処理装置と、
を含み、
前記情報処理装置は、
1以上の前記駅務機器それぞれからネットワークを介して、コネクションレス型のプロトコルを使用して送信されるリクエストを取得する取得部と、
前記駅務機器で実行されるトランザクションに関する前記リクエストのうち、より優先して処理の対象とする前記リクエストを、前記トランザクションの進行度に応じて決定する決定部と、
を備え、
前記トランザクションは、順次実行される複数の処理を含み、
前記決定部は、前記複数の処理のうち所定の処理が完了しているか否かに応じて、処理の対象とする前記リクエストを決定し、
前記所定の処理は、当該処理以降の他の処理でのエラーの発生に伴う再実行の起点となる処理である、
情報処理システム。 One or more station service devices ;
An information processing device;
Including,
The information processing device includes:
an acquisition unit that acquires requests transmitted from each of the one or more station service devices via a network using a connectionless protocol ;
a determination unit that determines, among the requests related to the transaction executed by the station service equipment , a request to be processed with higher priority in accordance with a progress of the transaction;
Equipped with
The transaction includes a plurality of operations that are executed sequentially,
the determination unit determines the request to be processed depending on whether a predetermined process among the plurality of processes has been completed;
The predetermined process is a process that is a starting point for re-execution in response to an error occurring in another process subsequent to the predetermined process.
Information processing system.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020169725A JP7569192B2 (en) | 2020-10-07 | 2020-10-07 | Information processing device, information processing method, program, and information processing system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020169725A JP7569192B2 (en) | 2020-10-07 | 2020-10-07 | Information processing device, information processing method, program, and information processing system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022061661A JP2022061661A (en) | 2022-04-19 |
| JP7569192B2 true JP7569192B2 (en) | 2024-10-17 |
Family
ID=81210592
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020169725A Active JP7569192B2 (en) | 2020-10-07 | 2020-10-07 | Information processing device, information processing method, program, and information processing system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7569192B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2023151829A (en) | 2022-04-01 | 2023-10-16 | セイコーエプソン株式会社 | recording device |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005326913A (en) | 2004-05-12 | 2005-11-24 | Fujitsu Ltd | Information processing system and optimization recovery method |
| JP2007233559A (en) | 2006-02-28 | 2007-09-13 | Nippon Telegr & Teleph Corp <Ntt> | Execution control apparatus and method |
| JP2015018501A (en) | 2013-07-12 | 2015-01-29 | Jr東日本メカトロニクス株式会社 | System, information processing method |
| JP2015118431A (en) | 2013-12-17 | 2015-06-25 | 日本電気株式会社 | Transaction processing system |
| JP2018046404A (en) | 2016-09-14 | 2018-03-22 | 株式会社東芝 | Relay device, relay system, relay program, and relay method |
| JP2018045442A (en) | 2016-09-14 | 2018-03-22 | 株式会社東芝 | Relay device, relay system, relay program, and relay method |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2933005B2 (en) * | 1996-04-05 | 1999-08-09 | 日本電気株式会社 | Management information storage device |
-
2020
- 2020-10-07 JP JP2020169725A patent/JP7569192B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005326913A (en) | 2004-05-12 | 2005-11-24 | Fujitsu Ltd | Information processing system and optimization recovery method |
| JP2007233559A (en) | 2006-02-28 | 2007-09-13 | Nippon Telegr & Teleph Corp <Ntt> | Execution control apparatus and method |
| JP2015018501A (en) | 2013-07-12 | 2015-01-29 | Jr東日本メカトロニクス株式会社 | System, information processing method |
| JP2015118431A (en) | 2013-12-17 | 2015-06-25 | 日本電気株式会社 | Transaction processing system |
| JP2018046404A (en) | 2016-09-14 | 2018-03-22 | 株式会社東芝 | Relay device, relay system, relay program, and relay method |
| JP2018045442A (en) | 2016-09-14 | 2018-03-22 | 株式会社東芝 | Relay device, relay system, relay program, and relay method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022061661A (en) | 2022-04-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9280365B2 (en) | Systems and methods for managing configuration data at disconnected remote devices | |
| US20130041945A1 (en) | Method and apparatus for managing an interactive network session | |
| KR102340474B1 (en) | System, method and computer program for data scrapping using script engine | |
| US10635488B2 (en) | System, method and computer program for data scraping using script engine | |
| JP2026050378A (en) | Verification device, verification system, and verification method | |
| CN111191925A (en) | Data processing method, device, equipment and storage medium | |
| WO2014067425A1 (en) | Processing method for failing to read data from non-contact ic card and device for implementing the method | |
| JP7569192B2 (en) | Information processing device, information processing method, program, and information processing system | |
| US6865592B1 (en) | Automatic transaction system | |
| CN111582878A (en) | A transaction risk prediction method, device and system | |
| CN112261647A (en) | ETC bidirectional encryption communication system and method based on Netty | |
| RU2677384C1 (en) | Way of automatic calculation of the included money in case of failures | |
| US11500989B2 (en) | Method of managing priority in the context of a secure element domain with multiple interfaces, electronic device and communication system | |
| US20180298690A1 (en) | Rotary gate | |
| CN1286114C (en) | Secure real time writing for volatile storage | |
| TW202141397A (en) | Caring trust system based on blockchain and method thereof | |
| CN113556349A (en) | A gateway authentication method and device, and electronic equipment | |
| JP7556338B2 (en) | Admission management device, admission management method, and computer program | |
| EP4411618A1 (en) | Off-line distributed transaction validation method | |
| CN115543837B (en) | Software testing method and device, electronic equipment and storage medium | |
| EP4386536A1 (en) | Data processing method and apparatus | |
| US20150066604A1 (en) | Fare payment method and apparatus thereof | |
| JP7297533B2 (en) | Station service equipment and control method for station service equipment | |
| JP2026011342A (en) | Automatic ticket gate system, automatic ticket gate, judgment server, automatic ticket gate method, and automatic ticket gate program | |
| JP7582499B2 (en) | Reception processing system, reception processing method and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230928 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240626 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240709 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240904 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240910 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241004 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7569192 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |