(57)【要約】【課題】  情報処理システムを、低能力なサーバ装置を用いて構築可能とする。【解決手段】  サーバ装置２００は、トランザクション処理を実行する実行手段３１を備える。クライアント端末装置１００は、トランザクション処理の実行が可能であるか否かをサーバ装置２００に問い合わせる問い合わせ手段１を備える。サーバ装置２００は、実行手段１が処理可能な処理能力を測定する測定手段３１と、問い合わせに応じて、実行手段１によりトランザクション処理を実行可能か否かを測定結果に基づき判定する判定手段３１と、判定結果を問い合わせの応答としてクライアント端末装置１００に通知する通知手段３１とを備える。クライアント端末装置１００は、処理が実行可能である旨が通知されたら当該処理をサーバ装置２００に対して要求する要求手段１を備える。【選択図】      図１
2012003341.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置に備えられ、トランザクション処理を実行する実行手段と、
クライアント端末装置に備えられ、前記実行手段で実行すべき前記トランザクション処理が発生したことに応じて当該トランザクション処理が実行可能か否かを前記サーバ装置に問い合わせる問い合わせ手段と、
前記サーバ装置に備えられ、前記実行手段が処理可能な処理能力を測定する測定手段と、
前記サーバ装置に備えられ、前記問い合わせ手段による問い合わせに応じて、前記実行手段により前記トランザクション処理を実行可能であるか否かを前記測定手段による測定結果に基づいて判定する判定手段と、
前記サーバ装置に備えられ、前記判定手段による判定結果を前記問い合わせ手段による問い合わせの応答として前記クライアント端末装置に通知する通知手段と、
前記クライアント端末装置に備えられ、前記通知手段により前記トランザクション処理が実行可能であることが通知されたことに応じて前記トランザクション処理の実行を前記サーバ装置に対して要求する要求手段とを具備した情報処理システム。
【請求項２】
サーバ装置が実行すべきトランザクション処理が発生したことに応じて当該トランザクション処理が実行可能か否かを前記サーバ装置に問い合わせる問い合わせ手段と、
前記サーバ装置から前記問い合わせ手段による問い合わせの応答として前記トランザクション処理が実行可能であることが通知されたことに応じて前記トランザクション処理の実行を前記サーバ装置に対して要求する要求手段とを具備したクライアント端末装置。
【請求項３】
前記サーバ装置から前記問い合わせ手段による問い合わせの応答として前記トランザクション処理が実行不能であることが通知されたことに応じて所定の条件に従って前記トランザクション処理をエラートランザクション処理として管理する管理手段と、
前記エラートランザクション処理とは別のトランザクション処理が実行可能であることが前記サーバ装置から通知された後に、前記エラートランザクション処理の実行が可能であるか否かの問い合わせを行うように前記問い合わせ手段を制御する手段とをさらに具備したクライアント端末装置。
【請求項４】
トランザクション処理を実行する実行手段と、
前記実行手段が処理可能な処理能力を測定する測定手段と、
クライアント端末装置からのトランザクション処理の実行が可能であるか否かの問い合わせに応じて、前記実行手段により前記トランザクション処理を実行可能であるか否かを前記測定手段による測定結果に基づいて判定する判定手段と、
前記判定手段による判定結果を前記問い合わせの応答として前記クライアント端末装置に通知する通知手段とを具備したサーバ装置。
【請求項５】
コンピュータを、
サーバ装置が実行すべきトランザクション処理が発生したことに応じて当該トランザクション処理が実行可能であるか否かを前記サーバ装置に問い合わせる問い合わせ手段と、
前記サーバ装置から前記問い合わせ手段による問い合わせの応答として前記トランザクション処理が実行可能であることが通知されたことに応じて前記トランザクション処理の実行を前記サーバ装置に対して要求する要求手段として機能させるクライアント端末プログラム。
【請求項６】
コンピュータを、
トランザクション処理を実行する実行手段と、
前記実行手段が処理可能な処理能力を測定する測定手段と、
クライアント端末装置からのトランザクション処理の実行が可能であるか否かの問い合わせに応じて、前記実行手段により前記トランザクション処理を実行可能であるか否かを前記測定手段による測定結果に基づいて判定する判定手段と、
前記判定手段による判定結果を前記問い合わせの応答として前記クライアント端末装置に通知する通知手段として機能させるサーバプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、トランザクションの処理に関する。
【背景技術】
【０００２】
ＰＯＳ（point-of-sale）システムは一般に、クライアント端末装置であるＰＯＳ端末装置とサーバ装置とによって構成される。そしてＰＯＳ端末装置からサーバ装置へは、例えば１回分の商取引が締められたタイミングなどのような予め定められたイベントが生じる毎に、例えば１取引に関するものなどのトランザクションが送られる。サーバ装置では、クライアント端末装置から送られたトランザクションを受けると、そのトランザクションを処理する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平２−２８７７９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
サーバ装置には、クライアント端末装置から送られてくるトランザクションを遅滞なく処理できる能力を持たせることが必要であった。
【０００５】
このような事情から、ＰＯＳシステムのような情報処理システムを、低能力なサーバ装置を用いて構築できることが望まれていた。
【課題を解決するための手段】
【０００６】
実施形態の情報処理システムは、サーバ装置に備えられ、トランザクション処理を実行する実行手段と、クライアント端末装置に備えられ、前記実行手段で実行すべきトランザクション処理が発生したことに応じて当該トランザクション処理が実行可能か否かを前記サーバ装置に問い合わせる問い合わせ手段と、前記サーバ装置に備えられ、前記実行手段が処理可能な処理能力を測定する測定手段と、前記サーバ装置に備えられ、前記問い合わせ手段による問い合わせに応じて、前記実行手段により前記トランザクション処理を実行可能であるか否かを前記測定手段による測定結果に基づいて判定する判定手段と、前記サーバ装置に備えられ、前記判定手段による判定結果を前記問い合わせ手段による問い合わせの応答として前記クライアント端末装置に通知する通知手段と、前記クライアント端末装置に備えられ、前記通知手段により前記トランザクション処理が実行可能であることが通知されたことに応じて前記トランザクション処理の実行を前記サーバ装置に対して要求する要求手段とを備える。
【図面の簡単な説明】
【０００７】
【図１】一実施形態に係るＰＯＳシステムの全体行成を示すブロック図。
【図２】図１中のＰＯＳ端末装置およびストアサーバ装置の要部構成を示すブロック図。
【図３】図１中のＲＡＭ中に設定される商品リストエリアの構造例を模式的に示す図。
【図４】図１中の補助記憶ユニットに記憶されるＰＬＵファイルの一例を模式的に示す図。
【図５】図１中の補助記憶ユニット中に設定される管理テーブルの構造例を模式的に示す図。
【図６】ＰＯＳ端末装置に備えられた図２中のＣＰＵの登録モードが設定されているときにおけるフローチャート。
【図７】ＰＯＳ端末装置に備えられた図２中のＣＰＵのトランザクション要求処理におけるフローチャート。
【図８】更新後の管理テーブルの一例を模式的に示す図。
【図９】ストアサーバ装置に備えられた図２中のＣＰＵのトランザクション実行制御におけるフローチャート。
【図１０】ＰＯＳ端末装置に備えられた図２中のＣＰＵのリトライ処理におけるフローチャート。
【図１１】ＰＯＳ端末装置に備えられた図２中のＣＰＵのエラーファイル処理におけるフローチャート。
【発明を実施するための形態】
【０００８】
以下実施の形態の一例を図面を用いて説明する。なお、本実施の形態では、クライアント端末装置としてＰＯＳ端末装置とサーバ装置としてのストアサーバ装置とを含んだ情報処理システムとしてのＰＯＳシステムを例に説明する。
【０００９】
図１は本実施形態に係るＰＯＳシステムの全体行成を示すブロック図である。
【００１０】
このＰＯＳシステムは、複数のＰＯＳ端末装置１００およびストアサーバ装置２００をＬＡＮ（local area network）などの通信ネットワーク３００を介して接続して構成されている。
【００１１】
図２はＰＯＳ端末装置１００およびストアサーバ装置２００の要部構成を示すブロック図である。
【００１２】
ＰＯＳ端末装置１００は、ＣＰＵ（central processing unit）１、ＲＯＭ（read-only memory）２、ＲＡＭ（random-access memory）３、補助記憶ユニット４、時計ユニット５、モードスイッチ６、ドロワ開放ユニット７、入出力ポート（Ｉ／Ｏ）８、スキャナ９、スキャナコントローラ１０、キーボード１１、キーボードコントローラ１２、オペレータ用表示器１３、表示コントローラ１４、客面表示器１５、表示コントローラ１６、カードリーダ１７、カードリーダコントローラ１８、プリンタ１９、プリンタコントローラ２０および通信デバイス２１を含む。これらの各部は、システムバス２２にそれぞれ接続されている。
【００１３】
ＣＰＵ１は、ＲＯＭ２、ＲＡＭ３および補助記憶ユニット４に記憶されたオペレーティングシステム、ミドルウェアおよびアプリケーションプログラムに基づいて、ＰＯＳ端末装置１００としての各種の動作を実現するべく各部を制御する。
【００１４】
ＲＯＭ２は、上記のオペレーティングシステムを記憶する。ＲＯＭ２は、上記のミドルウェアやアプリケーションプログラムを記憶する場合もある。またＲＯＭ２は、ＣＰＵ１が各種の処理を行う上で参照するデータを記憶する場合も有る。
【００１５】
ＲＡＭ３は、ＣＰＵ１が各種の処理を行う上で参照するデータを記憶する。さらにＲＡＭ３は、ＣＰＵ１が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアとして利用される。ＲＡＭ３の記憶領域の一部は、商品リストエリアとして使用される。ＲＡＭ３は、上記のミドルウェアやアプリケーションプログラムを記憶する場合もある。
【００１６】
図３は商品リストエリアの構造例を模式的に示す図である。
【００１７】
図３に示すように商品リストエリアには、ＰＬＵ（price look up）コード、部門、品名、価格および数量の各情報を互いに関連付けて記憶するためのデータフィールドがそれぞれ複数づつ設けられる。かくして商品リストエリアには、ＰＬＵコードに対応して少なくとも部門、品名、価格および数量の各情報を記憶することができる。
【００１８】
補助記憶ユニット４は、例えばハードディスクドライブやＳＳＤ（solid state drive）などであり、ＣＰＵ１が各種の処理を行う上で使用するデータや、ＣＰＵ１での処理によって生成されたデータを保存する。補助記憶ユニット４に記憶されるデータには、ＰＬＵファイルおよび設定ファイルを含む。ＰＬＵファイルは、ＰＯＳ端末装置１００が使用される店舗で販売または提供される商品（物品またはサービス）についての情報が記述されている。設定ファイルは、トランザクション処理の実行要求（以下、トランザクション要求と称する）をリトライする場合のリトライ間隔やトランザクション要求の繰り返しの制限回数が記述される。この設定ファイルは、固定的であっても良いし、ユーザまたはサービスマンによる指定に応じてＣＰＵ１により任意に書き換えられても良い。補助記憶ユニット４の記憶領域の一部は、管理テーブルとして使用される。補助記憶ユニット４は、上記のミドルウェアやアプリケーションプログラムを記憶する場合もある。
【００１９】
図４はＰＬＵファイルの一例を模式的に示す図である。
【００２０】
図４に示すＰＬＵファイルは、ＰＬＵコードに対応して少なくとも部門、品名および価格の各情報を含む。ＰＬＵコードは、商品のそれぞれに、それらを一意に識別可能なように付与されたコードである。部門は、関連付けられたＰＬＵコードで識別される商品が属する部門の名称またはコードである。品名は、関連付けられたＰＬＵコードで識別される商品の名称である。価格は、関連付けられたＰＬＵコードで識別される商品の価格である。ＰＬＵファイルには、他の任意の情報を含むこともある。
【００２１】
図５は管理テーブルの構造例を模式的に示す図である。
【００２２】
図５に示すように管理テーブルは、トランザクション番号、アドレス、最新問い合わせ時刻、問い合わせ回数およびエラーフラグの各情報を互いに関連付けて記憶するためのデータフィールドがそれぞれ複数ずつ設けられている。かくして管理テーブルには、複数のトランザクションに関して、そのトランザクションに関するトランザクション番号、アドレス、最新問い合わせ時刻、問い合わせ回数およびエラーフラグなどを含んだ管理情報をそれぞれ記憶することができる。なお、本実施形態においてトランザクションとは、トランザクション処理の対象となる情報群を指すこととする。
【００２３】
ＲＯＭ２、ＲＡＭ３または補助記憶ユニット４に記憶されるアプリケーションプログラムには、後述する商取引処理、トランザクション要求処理、リトライ処理およびエラーファイル処理に関してそれぞれ記述したＰＯＳプログラムを含む。このＰＯＳプログラムがＲＡＭ３または補助記憶ユニット４に記憶される場合、ＰＯＳ端末装置１００の譲渡は、一般的にＰＯＳプログラムがＲＡＭ３または補助記憶ユニット４に記憶された状態にて行われる。しかし、ＰＯＳ端末装置１００をＰＯＳプログラムがＲＡＭ３に記憶されない状態で譲渡されるとともに、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介して上記のＰＯＳプログラムを譲渡され、このＰＯＳプログラムが上記の別途に譲渡されたＰＯＳ端末装置１００のＲＡＭ３または補助記憶ユニット４に書き込まれても良い。なお、商取引処理、トランザクション要求処理、リトライ処理およびエラーファイル処理は、いずれも単一のプログラム中に記述されていても良いし、これらの処理の少なくとも一部が別々のプログラムとして記述されていても良い。
【００２４】
上記のようなアプリケーションプログラムに基づいた処理を実行することによってＣＰＵ１は、次のような各種の処理手段として機能する。上記の処理手段の１つは、ストアサーバ装置２００にトランザクション処理を実行させる必要が発生したことに応じて当該トランザクション処理の実行の可否をストアサーバ装置２００に問い合わせる。上記の処理手段の１つは、上記の問い合わせへの応答としてストアサーバ装置２００からトランザクション処理が開始可能であることが通知されたことに応じてトランザクション要求をストアサーバ装置２００に対して行う。上記の処理手段の１つは、上記の問い合わせの応答としてストアサーバ装置２００からトランザクション処理が開始不能であることが通知されたことに応じて所定の条件に従って該当するトランザクションをエラートランザクションとして補助記憶ユニット４に記憶させる。上記の処理手段の１つは、エラートランザクションとして補助記憶ユニット４に記憶されたトランザクションとは別のトランザクションについての処理が開始可能であることがストアサーバ装置２００から通知された後に、上記のエラートランザクションとして保存されたトランザクションの処理の実行の可否をストアサーバ装置２００に対して問い合わせる。
【００２５】
時計ユニット５は、定常的に計時動作を行い、日付および時刻を表した日時情報を生成する。
【００２６】
モードスイッチ６は、特定の鍵によって回転可能な鍵穴の向きを検出し、その検出結果をモード信号として出力する。鍵穴の向きには業務モードがそれぞれ割り付けられており、モード信号はこれらの動作モードのいずれが選択されているかを示す信号となる。業務モードは、登録、点検および精算などの各モードを含む。ちなみに登録モードは、スキャナ９またはキーボード１１によりＰＬＵコードが入力されると、このＰＬＵコードで識別される商品の販売または提供に係るデータ処理を行う。点検モードは、登録モードでの処理により生成された商品販売データから得られた売上集計データをレポート出力する。精算モードは、点検モードと同様に売上集計データをレポート出力した後に、この売上集計データをクリアする。
【００２７】
ドロワ開放ユニット７は、ドロワを自動的に開放する。
【００２８】
入出力ポート８は、モードスイッチ６が出力するモード信号をモードデータに変換してＲＡＭ３に書き込んだり、ＣＰＵ１からドロワ開放が指示されたことに応じてドロワ開放ユニット７を駆動するための駆動信号をドロワ開放ユニット７に対して出力する。
【００２９】
スキャナ９は、商品に印刷されたバーコードを読み取る。スキャナ９には、固定タイプおよびハンディタイプのいずれか、またはその双方を含み得る。
【００３０】
スキャナコントローラ１０は、ＣＰＵ１の制御の下にスキャナ９の動作を制御するとともに、スキャナ９で生成されたスキャンデータをＲＡＭ３に書き込む。
【００３１】
キーボード１１は、数値入力キー、商品指定キー（ＰＬＵキー）および機能キーなどの多数のキーと、これら多数のキーの押下をそれぞれ検出するスイッチとを含む。キーボード１１は、キーが押下されたことに応じて、そのキーに応じたコマンドを出力する。
【００３２】
キーボードコントローラ１２は、ＣＰＵ１の制御の下にキーボード１１の動作を制御するとともに、キーボード１１が出力したコマンドをＲＡＭ３に書き込む。
【００３３】
オペレータ用表示器１３は、例えばＬＣＤ（liquid crystal display）であり、ＣＰＵ１の制御の下に任意の画像を表示可能である。オペレータ用表示器１３は、オペレータに対して提示するべき各種の情報を表した画像を表示するために利用される。
【００３４】
表示コントローラ１４は、ＣＰＵ１の制御の下にオペレータ用表示器１３の動作を制御する。
【００３５】
客面表示器１５は、例えばＬＣＤや蛍光表示装置であり、ＣＰＵ１の制御の下に任意の画像を表示可能である。客面表示器１５は、客に対して提示するべき各種の情報を表した画像を表示するために利用される。
【００３６】
表示コントローラ１６は、ＣＰＵ１の制御の下に客面表示器１５の動作を制御する。
【００３７】
カードリーダ１７は、決済カードに記録されたカード情報を読み取る。なお、決済カードとは、現金によらずに決済を行うためのカードのことであり、クレジットカード、デビットカード、プリペイドカードおよび銀聯カードなどが含まれ得る。
【００３８】
カードリーダコントローラ１８は、ＣＰＵ１の制御の下にカードリーダ１７の動作を制御するとともに、カードリーダ１７から出力されたカード情報をＲＡＭ３に書き込む。
【００３９】
プリンタ１９は、例えばサーマルプリンタやドットインパクトプリンタなどであり、レシートを印刷する。
【００４０】
プリンタコントローラ２０は、ＣＰＵ１の制御の下にプリンタ１９の動作を制御する。
【００４１】
通信デバイス２１は、通信ネットワーク３００を介してストアサーバ装置２００と通信する。
【００４２】
ストアサーバ装置２００は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、補助記憶ユニット３４および通信デバイス３５を含む。これらの各部は、システムバス３６にそれぞれ接続されている。ストアサーバ装置２００には、キーボード、ディスプレイ、カードリーダ、あるいはプリンタなどが内蔵または外付け接続される場合もある。
【００４３】
ＣＰＵ３１は、ＲＯＭ３２、ＲＡＭ３３および補助記憶ユニット３４に記憶されたオペレーティングシステム、ミドルウェアおよびアプリケーションプログラムに基づいて、ストアサーバ装置２００としての各種の動作を実現するべく各部を制御する。
【００４４】
ＲＯＭ３２は、上記のオペレーティングシステムを記憶する。ＲＯＭ３２は、上記のミドルウェアやアプリケーションプログラムを記憶する場合もある。またＲＯＭ３２は、ＣＰＵ３１が各種の処理を行う上で参照するデータを記憶する場合も有る。
【００４５】
ＲＡＭ３３は、ＣＰＵ３１が各種の処理を行う上で参照するデータを記憶する。さらにＲＡＭ３３は、ＣＰＵ３１が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアとして利用される。ＲＡＭ３３は、上記のミドルウェアやアプリケーションプログラムを記憶する場合もある。
【００４６】
補助記憶ユニット３４は、例えばハードディスクドライブやＳＳＤなどであり、ＣＰＵ３１が各種の処理を行う上で使用するデータや、ＣＰＵ３１での処理によって生成されたデータを保存する。補助記憶ユニット３４に記憶されるデータには、マスタＰＬＵファイルおよび設定ファイルを含む。マスタＰＬＵファイルは、ＰＯＳ端末装置１００の補助記憶ユニット４に記憶されるＰＬＵファイルと同様なデータである。設定ファイルは、新たなトランザクション処理の要求を受け入れる条件を示すしきい値が記述される。この設定ファイルは、固定的であっても良いし、ユーザまたはサービスマンによる指定に応じてＣＰＵ３１により任意に書き換えられても良い。また補助記憶ユニット３４の記憶領域の一部は、複数のＰＯＳ端待つ装置１００で入力された商取引に関するデータを集約して保存するデータベースとして利用される。補助記憶ユニット３４は、上記のミドルウェアやアプリケーションプログラムを記憶する場合もある。
【００４７】
ＲＯＭ３２、ＲＡＭ３３または補助記憶ユニット３４に記憶されるアプリケーションプログラムには、複数のＰＯＳ端末装置１００のそれぞれで入力された商取引に関するデータを集計するなどのようなＰＯＳ管理処理に関して記述したＰＯＳ管理プログラムや、リソース使用量の測定処理に関して記述した測定プログラムおよび後述するトランザクション実行制御に関して記述した制御プログラムを含む。これらのＰＯＳ管理プログラム、測定プログラムおよび制御プログラムがＲＡＭ３３または補助記憶ユニット３４に記憶される場合、ストアサーバ装置２００の譲渡は、一般的にＰＯＳ管理プログラム、測定プログラムおよび制御プログラムがＲＡＭ３３または補助記憶ユニット３４に記憶された状態にて行われる。しかし、ストアサーバ装置２００をＰＯＳ管理プログラム、測定プログラムおよび制御プログラムがＲＡＭ３３に記憶されない状態で譲渡されるとともに、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介して上記のＰＯＳ管理プログラム、測定プログラムおよび制御プログラムを譲渡され、このＰＯＳ管理プログラム、測定プログラムおよび制御プログラムが上記の別途に譲渡されたストアサーバ装置２００のＲＡＭ３３または補助記憶ユニット３４に書き込まれても良い。なお、ストアサーバ装置２００のハードウェアとしては、例えば汎用のコンピュータ装置をそのまま使用できる。
【００４８】
上記のようなアプリケーションプログラムに基づいた処理を実行することによってＣＰＵ３１は、次のような各種の処理手段として機能する。上記の処理手段の１つは、トランザクション処理に使用されるリソースの使用量として、ＣＰＵ３１の稼働率、ＲＡＭ３３の使用量および補助記憶ユニット３４の空き容量を測定する。上記の処理手段の１つは、ＰＯＳ端末装置１００からの問い合わせに応じて、トランザクション処理の上記リソースを用いて開始することが可能であるか否かをリソースの使用量に基づいて判定する。上記の処理手段の１つは、上記の判定の結果を問い合わせの応答としてＰＯＳ端末装置１００に通知する。上記の処理手段の１つは、ＰＯＳ端待つ１００からの要求に応じてトランザクション処理を実行するようリソースを制御する。
【００４９】
通信デバイス３５は、通信ネットワーク３００を介してＰＯＳ端末装置１００と通信する。
【００５０】
次に以上のように構成されたＰＯＳシステムの動作について説明する。
【００５１】
図６は登録モードが設定されているときにおけるＣＰＵ１のフローチャートである。鍵によって業務モードが登録モードに設定されたことがモードスイッチ６により検出されたことに応じて、ＣＰＵ１は図６に示す処理を開始する。
【００５２】
さて、商品のバーコードがスキャナ９により読み取られるか、あるいはキーボード１１にてＰＬＵキーが押下されるなどの操作によってＰＬＵコードが入力されたならば、その入力されたＰＬＵコードはスキャナコントローラ１０またはキーボードコントローラ１２によってＲＡＭ３に書き込まれる。そこでステップＳａ１においてＣＰＵ１は、例えば上記のようにして書き込まれたＰＬＵコードがＲＡＭ３に書き込まれているか否かを確認することにより、ＰＬＵコードが入力されたか否かを判断する。そしてＰＬＵコードの入力がなされたことを確認できなければ（ステップＳａ１のＮＯ）、ＣＰＵ１はステップＳａ１を繰り返す。そしてＰＬＵコードの入力がなされたことを確認できたならば（ステップＳａ１のＹＥＳ）ＣＰＵ１は、ステップＳａ１からステップＳａ２へ進む。
【００５３】
ステップＳａ２においてＣＰＵ１は、上記のようにＲＡＭ３に書き込まれたＰＬＵコードおよびそれに対応付けられた情報を補助記憶ユニット４に記憶されたＰＬＵファイルの中から取得する。そしてＣＰＵ１は、ここで取得したＰＬＵコード、部門、品名および価格の各情報をＲＡＭ２の商品リストエリアに追加保存する。またこのときにＣＰＵ１は、同一データレコードの数量としては「１」を保存する。
【００５４】
ステップＳａ３乃至ステップＳａ５においてＣＰＵ１は、ユーザ操作を待ち受ける。具体的にはＣＰＵ１は、ステップＳａ３において新たにＰＬＵコードが入力されたか否かを、ステップＳａ４において前回入力されたＰＬＵコードに関しての数量が指定されたか否かを、ステップＳａ５においてキーボード１１に設けられた機能キーの１つである小計キーが押下されたか否かをそれぞれ判断する。そしてＣＰＵ１は、ステップＳａ３乃至ステップＳａ５のいずれもがＮＯである場合には、ステップＳａ３乃至ステップＳａ５を繰り返す。
【００５５】
ここで新たなＰＬＵコードが入力されたならば（ステップＳａ３のＹＥＳ）、ＣＰＵ１はステップＳａ２に移行し、その新たに入力されたＰＬＵコードと、それに関連付けられた部門、品名および価格の各情報をＲＡＭ２の商品リストエリアに追加保存する。ただし、同一のＰＬＵコードが既に商品リストエリアに保存されているならば、そのＰＬＵコードに対応付けられた数量を１つ増加させる。そしてこの後にＣＰＵ１は、ステップＳａ３乃至ステップＳａ５の待ち受け状態に戻る。
【００５６】
ところで、ＰＬＵコードを既に入力した商品を複数登録するために、オペレータがキーボード１１の数値入力キーなどの操作によって数量を指定すると（ステップＳａ４のＹＥＳ）、ＣＰＵ１はこれに応じてステップＳａ６へ移行し、直前に入力されたＰＬＵコードに対応付けられた数量を指定された数量に従って変更する。具体的には、直前に入力されたＰＬＵコードに対応付けられた数量を、指定された数量から１つ減じた値を加算した値に変更する。そしてこののちにＣＰＵ１は、ステップＳａ３乃至ステップＳａ５の待ち受け状態に戻る。
【００５７】
小計キーが押下されたならば（ステップＳａ５のＹＥＳ）、ＣＰＵ１はステップＳａ７へ移行する。ステップＳａ７においてＣＰＵ１は、決済処理を実行する。すなわち例えばＣＰＵ１は、商品リストエリアに記憶されているＰＬＵコードのそれぞれについて、そのＰＬＵコードに対応付けられた価格および数量を乗算することによって商品毎の金額を求め、さらにこのように求めた商品毎の金額の総和として買上金額を算出する。そして、現金またはカードによる決済のための処理や、レシートの印刷のための処理などを行う。
【００５８】
そしてステップＳａ７の処理を終えたならばＣＰＵ１は、これをもって１取引分の商取引を締め、次の商取引の開始に備えるためにステップＳａ１の待ち受け状態に戻る。
【００５９】
さて、以上のような商取引処理により１取引分の商取引が締められる毎に、ＣＰＵ１はトランザクション要求処理を開始する。このトランザクション要求処理は、商取引処理とは別のタスクにより並列的に実行される。
【００６０】
図７はトランザクション要求処理におけるＣＰＵ１のフローチャートである。
【００６１】
ステップＳｂ１においてＣＰＵ１は、上記のように締められた１取引分の商取引に関して商品リストエリアに記憶された情報、ＰＯＳ端末装置１００の識別情報、商取引が行われた日時、さらには預かり金額などの金銭情報などを含んだトランザクションを生成し、補助記憶ユニット４中の管理テーブルに保存する。
【００６２】
ステップＳｂ２においてＣＰＵ１は、ステップＳｂ１で保存したトランザクションに関する管理情報を含むように管理テーブルを交信する。具体的には、ＣＰＵ１は、他のトランザクションに付与済みのトランザクション番号とは異なるトランザクション番号をステップＳｂ１で保存したトランザクションに対して付与する。そしてＣＰＵ１は、上記のトランザクション番号と、ステップＳｂ１でトランザクションを保存した領域のアドレスと互いに関連付けて示した管理情報が含まれるように管理テーブルを更新する。なおこのときにＣＰＵ１は、当該管理情報のうちの最新問合わせ時刻はNull値とし、かつ問い合わせ回数は「０」とするとともに、エラーフラグはリセット状態としておく。なおこのときにＣＰＵ１は、当該管理情報のうちの最新問い合わせ時刻を時計ユニット５が出力する日時情報が表す時刻とするとともに、問い合わせ回数を「１」とする。さらにＣＰＵ１は、当該管理情報のうちのエラーフラグをリセット状態とする。
【００６３】
図８は更新後の管理テーブルの一例を模式的に示す図である。
【００６４】
ステップＳｂ３においてＣＰＵ１は、ステップＳｂ１で生成したトランザクションの処理の可否をストアサーバ装置２００に対して問い合わせる。この問い合わせは例えば、そのために定められたフォーマットを有した問い合わせコマンドを、通信デバイス２１から通信ネットワーク３００を介してストアサーバ装置２００に送信することにより実現できる。なお、問い合わせコマンドには、トランザクション量も記述される。
【００６５】
こののちにステップＳｂ４およびステップＳｂ５においてＣＰＵ１は、規定の待ち時間がタイムアウトするまでの間に応答がなされるか否かを確認する。具体的には、ステップＳｂ４においてＣＰＵ１は、上記の問い合わせに対してストアサーバ装置２００から応答がなされたか否かを判断し、応答がなされていないならば（ステップＳｂ４のＮＯ）、ステップＳｂ５へ移行する。ステップＳｂ５においてＣＰＵ１は、このような応答がなされないままに規定の待ち時間がタイムアウトしたか否かを判断し、タイムアウトしていないならば（ステップＳｂ４のＮＯ）、ステップＳｂ５からステップＳｂ４へ戻る。そしてＣＰＵ１は、ステップＳｂ４およびステップＳｂ５のいずれもがＮＯである限りは、ステップＳｂ４およびステップＳｂ５を繰り返す。
【００６６】
さて、ストアサーバ装置２００においてＣＰＵ３１は、リソースの使用量を測定するための処理を定常的に行っている。この処理においてＣＰＵ３１は、ＣＰＵ３１の稼働率、ＲＡＭ３３の使用量および補助記憶ユニット３４の空き容量をそれぞれ測定する。そしてＣＰＵ３１は、算出したＣＰＵ３１の稼働率、ＲＡＭ３３の使用量および補助記憶ユニット３４の空き容量をそれぞれ表した使用量情報をＲＡＭ３３に保存する。
【００６７】
またＣＰＵ３１は、トランザクション実行制御を定常的に行っている。
【００６８】
図９はトランザクション実行制御におけるＣＰＵ３１のフローチャートである。
【００６９】
ステップＳｃ１およびステップＳｃ２においてＣＰＵ３１は、ＰＯＳ端末装置１００からトランザクションの処理の可否の問い合わせがなされるか、あるいは実行開始済みのトランザクション処理が完了するのを待ち受ける。具体的には、ステップＳｃ１においてＣＰＵ１は、ＰＯＳ端末装置１００から前述のように問い合わせが行われたか否かを判断し、問い合わせが行われていないならば（ステップＳｃ１のＮＯ）、ステップＳｃ２へ移行する。
【００７０】
ステップＳｃ２においてＣＰＵ１は、既に実行を開始しているトランザクション処理が完了したか否かを判断し、実行中のトランザクション処理のいずれもが完了していないならば（ステップＳｃ２のＮＯ）、ステップＳｃ２からステップＳｃ１へ戻る。そしてＣＰＵ１は、ステップＳｃ１およびステップＳｃ２のいずれもがＮＯである限りは、ステップＳｃ１およびステップＳｃ２を繰り返す。
【００７１】
そして前述したようにＰＯＳ端末装置１００からの問い合わせがなされたならば（ステップＳｃ１のＹＥＳ）、ＣＰＵ３１はステップＳｃ３へ移行する。
【００７２】
ステップＳｃ３においてＣＰＵ３１は、前述のように別処理によって算出されてＲＡＭ３３に記憶された使用量情報を取得する。
【００７３】
ステップＳｃ４においてＣＰＵ３１は、使用量情報に示されたＣＰＵ３１の稼働率、ＲＡＭ３３の使用量および補助記憶ユニット３４の空き容量と、処理の可否が問い合わせられているトランザクションのトランザクション量とに基づいて、当該トランザクションの処理を開始することが可能であるか否かを判定する。
【００７４】
問い合わせされたトランザクションの処理が開始可能であるならば（ステップＳｃ４のＹＥＳ）、ＣＰＵ３１はステップＳｃ５へ移行する。ステップＳｃ５においてＣＰＵ３１は、今回の問い合わせを行ったＰＯＳ端末１００に対して、処理開始が可能であることを通知する。この通知は例えば、そのために定められたフォーマットを有した応答コマンドを、通信デバイス３５から通信ネットワーク３００を介してＰＯＳ端末１００に送信することにより実現できる。
【００７５】
一方、問い合わせされたトランザクションの処理が開始不可能であるならば（ステップＳｃ４のＮＯ）、ＣＰＵ３１はステップＳｃ６へ移行する。ステップＳｃ６においてＣＰＵ３１は、今回の問い合わせを行ったＰＯＳ端末１００に対して、処理開始が不可能であることを通知する。この通知は例えば、そのために定められたフォーマットを有した応答コマンドを、通信デバイス３５から通信ネットワーク３００を介してＰＯＳ端末１００に送信することにより実現できる。
【００７６】
さて、以上のようにしてトランザクションの処理開始の可否を通知する応答がストアサーバ装置２００からＰＯＳ端末装置１００に対して行われたならば（ステップＳｂ４のＹＥＳ）、当該ＰＯＳ端末装置１００のＣＰＵ１は図７のステップＳｂ４からステップＳｂ６へ移行する。
【００７７】
ステップＳｂ６においてＣＰＵ１は、トランザクションの処理開始が可能であるか否かを前述のようなストアサーバ装置２００からの通知に基づいて判定する。そして処理開始が可能であるならば（ステップＳｂ６のＹＥＳ）、ＣＰＵ１はステップＳｂ７へ移行する。
【００７８】
ステップＳｂ７においてＣＰＵ１は、トランザクションをストアサーバ装置２００に対して送信し、その処理を要求する。
【００７９】
ステップＳｂ８においてＣＰＵ１は、上記のように処理を要求したトランザクションの処理を完了したことがストアサーバ装置２００から通知されたか否かを判定する。そして該当する通知がなされていなければ（ステップＳｂ８のＮＯ）、ＣＰＵ１はステップＳｂ８を繰り返す。
【００８０】
ストアサーバ装置２００においてＣＰＵ３１は、ステップＳｃ５にて処理可能であることの通知を行ったのちには、ステップＳｃ７へ移行する。そしてステップＳｃ７においてＣＰＵ３１は、前述のようにしてＰＯＳ端末装置１００からなされた処理要求を受信させる。すなわちＣＰＵ３１は、ＰＯＳ端末装置１００から送信されたトランザクションを通信デバイス３５に受信させる。通信デバイス３５は、トランザクションを受信すると、これをＲＡＭ３３に一時的に保存する。
【００８１】
このようなトランザクションの受信が完了したならばＣＰＵ３１はステップＳｃ８において、そのトランザクションを処理対象としたトランザクション処理を起動する。そしてこののちにＣＰＵ３１は、ステップＳｃ１およびステップＳｃ２の待ち受け状態に戻る。
【００８２】
トランザクション処理は、別タスクの処理としてＣＰＵ３１が上記の処理と並列的に実行する。トランザクション処理は、トランザクションに含まれたデータに基づいて補助記憶ユニット４に設けられた集計データベースを更新するなどの周知の処理である。ＣＰＵ３１は、このトランザクション処理をそれぞれ異なるトランザクションを対象として並列的に処理することもできる。
【００８３】
上記のように開始されたトランザクション処理が完了したことを確認したならば（ステップＳｃ２のＹＥＳ）、ＣＰＵ３１はステップＳｃ９へ移行する。
【００８４】
ステップＳｃ９においてＣＰＵ３１は、完了したトランザクション処理を要求したＰＯＳ端末装置１００に対してトランザクションの処理が完了したことを通知する。この通知は例えば、そのために定められたフォーマットを有した通知コマンドを、通信デバイス３５から通信ネットワーク３００を介してＰＯＳ端末１００に送信することにより実現できる。そしてこの通知を完了したら、ＣＰＵ３１はステップＳｃ１およびステップＳｃ２の待ち受け状態に戻る。
【００８５】
さて、ＰＯＳ端末装置１００のＣＰＵ１は前述したように、図７のステップＳｂ７でトランザクションの処理を要求したのちには、ステップＳｂ８にて完了通知がなされるのを待ち受けている。そこで上記のようにしてストアサーバ装置２００から完了通知がなされたならば（ステップＳｂ８のＹＥＳ）、ＣＰＵ１はステップＳｂ９へ移行する。
【００８６】
ステップＳｂ９においてＣＰＵ１は、処理が完了したトランザクションを補助記憶ユニット４から削除するとともに、その管理情報を管理テーブルから削除する。
【００８７】
ステップＳｂ１０においてＣＰＵ１は、ＲＡＭ３中に設定された待ちフラグをリセットした上で、図７に示すトランザクション要求処理を終了する。
【００８８】
ところで、ステップＳｂ３で行った問い合わせに対する応答がなされることなくタイムアウトした場合（ステップＳｂ３のＹＥＳ）や、応答がなされたもののトランザクションの処理開始が不可能であることが通知された場合（ステップＳｂ４のＮＯ）には、ＣＰＵ１はステップＳｂ１１に移行する。
【００８９】
ステップＳｂ１１においてＣＰＵ１は、上記の待ちフラグをセットした上で、図７に示すトランザクション要求処理を終了する。
【００９０】
かくして待ちフラグは、トランザクションの処理の要求がストアサーバ装置２００により受け入れられなかった場合に、その次に１つのトランザクションの処理が完了するまでの期間にセット状態とされ、それ以外の期間にリセット状態とされる。
【００９１】
以上のような処理により、トランザクションの処理の要求は、ストアサーバ装置２００のリソースの負荷が小さく、当該トランザクションの処理を開始できる状況においてのみ行われる。従って、ストアサーバ装置２００に、ＰＯＳ端末装置１００で発生する全てのトランザクションを即時的に処理できる能力を備える必要がない。
【００９２】
トランザクション要求処理を実行していないときにＣＰＵ１は、例えば所定の時間間隔毎などのような規定タイミング毎にリトライ処理を開始する。
【００９３】
図１０はリトライ処理におけるＣＰＵ１のフローチャートである。
【００９４】
ステップＳｄ１においてＣＰＵ１は、待ち時間がリトライ間隔を超え、かつエラーフラグがリセット状態であるトランザクションを管理テーブルを参照して１つ検索する。待ち時間は、時計ユニット５が出力する日時情報が表す時刻と、管理テーブルに記憶されている最新問い合わせ時刻との差分として算出できる。またリトライ間隔は、補助記憶ユニット４に記憶された設定ファイルに記述されている。
【００９５】
ステップＳｄ２においてＣＰＵ１は、上記の検索で該当するトランザクション（以下、リトライ対象トランザクションと称する）が見つかったか否かを判断する。もし、リトライ対象トランザクションが見つからなかったならば（ステップＳｄ２のＮＯ）、ＣＰＵ１はリトライ処理を終了する。しかしながら、リトライ対象トランザクションが見つかったならば（ステップＳｄ２のＹＥＳ）、ＣＰＵ１はステップＳｄ３へ移行する。
【００９６】
ステップＳｄ３においてＣＰＵ１は、リトライ対象トランザクションの処理の可否をストアサーバ装置２００に対して問い合わせる。この問い合わせは図７のステップＳｂ３と同様に行われる。こののちにＣＰＵ１は、ステップＳｄ４乃至ステップＳｄ１１の処理を、図７のステップＳｂ４乃至ステップＳｂ１１と同様にして実行する。この際、ストアサーバ装置２００においても、前述と同様にトランザクション実行制御が行われる。
【００９７】
そしてリトライ対象トランザクションの処理が完了したことに応じてステップＳｄ１０において待ちフラグをリセットしたのちには、ＣＰＵ１はリトライ処理を終了する。
【００９８】
これに対してリトライ対象トランザクションの処理をストアサーバ装置２００に対して要求することができずにステップＳｄ１１において待ちフラグをセットしたのちには、ＣＰＵ１はステップＳｄ１２へ移行する。
【００９９】
ステップＳｄ１２においてＣＰＵ１は、リトライ対象トランザクションに関連付けて管理テーブルに記憶されている最新問い合わせ時刻を時計ユニット５が出力する日時情報が表す時刻に更新するとともに、問い合わせ回数を１つ増加する。
【０１００】
ステップＳｄ１３においてＣＰＵ１は、リトライ対象トランザクションに関連付けて管理テーブルに記憶されている問い合わせ回数が制限回数を超えているか否かを判断する。なお、制限回数は、補助記憶ユニット４に記憶された設定ファイルに記述されている。
【０１０１】
問い合わせ回数が制限回数を超えていなければ（ステップＳｄ１３のＮＯ）、ＣＰＵ１はそのままリトライ処理を終了する。すなわちこの場合には、今回のリトライ処理でリトライ対象トランザクションとされたトランザクションは補助記憶ユニット４に残される。これに対して問い合わせ回数が制限回数を超えていたならば（ステップＳｄ１３のＹＥＳ）、ＣＰＵ１はステップＳｄ１４へ移行する。
【０１０２】
ステップＳｄ１４においてＣＰＵ１は、リトライ対象トランザクションに関する管理情報に含まれたエラーフラグをセットする。そしてこののちにＣＰＵ１はリトライ処理を終了する。
【０１０３】
以上のようなリトライ処理により、制限回数までは１つのトランザクションについての処理可否の問い合わせがリトライ間隔以上の時間間隔で繰り返し試みられる。そして、制限回数まで問い合わせを試みても処理が可能であることがストアサーバ装置２００から通知されなかったトランザクションについては、エラーフラグがセットされて、それ以降のリトライ処理でのリトライの対象からは省かれる。
【０１０４】
以上のようなトランザクション要求処理およびリトライ処理を実行していないときにＣＰＵ１は、例えば所定の時間間隔毎などのような規定タイミング毎にエラーファイル処理を開始する。
【０１０５】
図１１はエラートランザクション処理におけるＣＰＵ１のフローチャートである。
【０１０６】
ステップＳｅ１においてＣＰＵ１は、セット状態であるエラーフラグを含んだ管理情報に関連付けられているトランザクション（以下、エラートランザクションと称する）が補助記憶ユニット４に記憶されているか否かを判断する。そしてエラートランザクションが記憶されているならば（ステップＳｅ１のＹＥＳ）、ＣＰＵ１はステップＳｅ２に移行し、待ちフラグがリセット状態であるか否かを判断する。そして待ちフラグがリセット状態であるならば（ステップＳｅ２のＹＥＳ）、ＣＰＵ１はステップＳｅ３へ移行する。
【０１０７】
ステップＳｅ３においてＣＰＵ１は、補助記憶ユニット４に記憶されているエラートランザクションの１つを読み出し、このエラートランザクションの処理の可否をストアサーバ装置２００に対して問い合わせる。この問い合わせは図７のステップＳｂ３と同様に行われる。こののちにＣＰＵ１は、ステップＳｅ４乃至ステップＳｅ１１の処理を、図７のステップＳｂ４乃至ステップＳｂ１１と同様にして実行する。この際、ストアサーバ装置２００においても、前述と同様にトランザクション実行制御が行われる。
【０１０８】
そして、ステップＳｅ１０において待ちフラグをリセットしたのちや、ステップＳｅ１１において待ちフラグをセットしたのちには、ＣＰＵ１はエラートランザクション処理を終了する。
【０１０９】
また、エラートランザクションが記憶されていない場合（ステップＳｅ１のＮＯ）や、待ちフラグがセット状態である場合（ステップＳｅ２のＮＯ）には、ＣＰＵ１はエラートランザクションに関する問い合わせを行うことなしに、エラートランザクション処理を終了する。
【０１１０】
以上のようなエラートランザクション処理により、リトライ処理によってもストアサーバ装置２００での処理が受け入れられなかったトランザクションは、待ちフラグがリセット状態であるときに限ってその処理の要求が改めて試みられる。すなわち、待ちフラグがセット状態であるときには、エラートランザクションの処理の可否の問い合わせは行われない。待ちフラグがセット状態であるときは、１つ前の問い合わせに際してストアサーバ装置２００がトランザクションの処理を開始できなかったのであり、現状も同様である可能性がある。これに対して、待ちフラグがリセット状態であるときには、１つ前の問い合わせに際してストアサーバ装置２００がトランザクションの処理を完了できているのであり、現状も同様である可能性がある。かくして、エラートランザクションに関する問い合わせは、ストアサーバ装置２００の負荷が低い可能性が高い状況に限って合理的に行われる。
【０１１１】
この実施形態は、次のような種々の変形実施が可能である。
【０１１２】
上記実施形態に示されるのとは異なる如何なるトランザクションの処理においても上記実施形態と同様にして実施が可能である。ただし、実行の即時性が求められるトランザクションに関しては、上記実施形態を適用しないことが望ましい。例えば、ストアサーバ装置２００の補助記憶ユニット３４に記憶されたマスタＰＬＵファイルに記述されている価格をＰＯＳ端末装置１００でのユーザ操作に応じて変更する場合に生じるトランザクションは、即時に実行されるべきであるので、そのようなトランザクションが生じたＰＯＳ端末装置１００は、上記実施形態のような問い合わせを行うことなしに、即座に当該トランザクションの処理をストアサーバ装置２００に対して要求することが望ましい。複数種のトランザクションを、即時性が必要とされるか否かに応じて分類するテーブルを用意しておき、即時性が必要とされないトランザクションに関しては上記実施形態を適用し、即時性が必要とされるトランザクションに関しては上記実施形態のような問い合わせを行うことなしに、即座に当該トランザクションの処理をストアサーバ装置２００に対して要求するようにすれば、より合理的な動作が可能である。
【０１１３】
ＰＯＳシステムで生じるトランザクション以外のトランザクションの処理においても上記実施形態と同様にして実施が可能である。すなわち、ＰＯＳ端末装置１００以外のクライアント端末装置およびストアサーバ装置２００以外のサーバ装置とにより構成されたさまざまな情報処理システムにおいて上記実施形態と同様に実施が可能である。
【０１１４】
補助記憶ユニット４，３４は、ＰＯＳ端末装置１００およびストアサーバ装置２００に内蔵されずに、別体のものがＰＯＳ端末装置１００およびストアサーバ装置２００に外付けされても良い。
【０１１５】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【符号の説明】
【０１１６】
１，３１…ＣＰＵ、２，３２…ＲＯＭ、３，３３…ＲＡＭ、４，３４…補助記憶ユニット、５…時計ユニット、６…モードスイッチ、７…ドロワ開放ユニット、８…入出力ポート、９…スキャナ、１０…スキャナコントローラ、１１…キーボード、１２…キーボードコントローラ、１３…オペレータ用表示器、１４…表示コントローラ、１５…客面表示器、１６…表示コントローラ、１７…カードリーダ、１８…カードリーダコントローラ、１９…プリンタ、２０…プリンタコントローラ、２１，３５…通信デバイス、１００…ＰＯＳ端末装置、２００…ストアサーバ装置、３００…通信ネットワーク。
【図１】
2012003341.tif 000003
【図２】
2012003341.tif 000004
【図３】
2012003341.tif 000005
【図４】
2012003341.tif 000006
【図５】
2012003341.tif 000007
【図６】
2012003341.tif 000008
【図７】
2012003341.tif 000009
【図８】
2012003341.tif 000010
【図９】
2012003341.tif 000011
【図１０】
2012003341.tif 000012
【図１１】
2012003341.tif 000013