(57)【特許請求の範囲】
【請求項１】
第１注文データ管理装置と第２注文データ管理装置とを有し、客からの注文に基づく注文データを注文入力端末から受信して記憶する注文データ管理装置であって、
前記第１注文データ管理装置は、前記注文入力端末から受信した注文データに伝票番号を付与し、オーダーデータとして自装置の記憶部に記憶する第１データ記憶手段と、記憶した前記オーダーデータを前記第２注文データ管理装置に送信して記憶させるオーダーデータ通信手段とを有し、
前記第２注文データ管理装置は、前記第１注文データ管理装置が前記注文入力端末からの注文データを記憶できない場合に前記注文入力端末からの注文データを受信して伝票番号を付与し、オーダーデータとして自装置の記憶部に記憶する第２データ記憶手段を有し、
前記第１注文データ管理装置は、
前記第２注文データ管理装置の記憶部に記憶されたオーダーデータを前記第１注文データ管理装置にサブ参照データとしてコピーするサブ参照データ生成部と、
前記第１注文データ管理装置の記憶部に記憶されたオーダーデータとコピーした前記サブ参照データとをマージして、マージデータを生成するマージデータ生成部と、
前記マージデータを前記第１注文データ管理装置の記憶部にあるオーダーデータと置き換えて記憶するとともに、前記マージデータを前記第２注文データ管理装置に送信して、前記第２注文データ管理装置の記憶部にあるオーダーデータと置き換えて記憶させるデータ整合部と、
を有することを特徴とする注文データ管理装置。
【請求項２】
前記注文データは、前記注文を受け付けた注文入力端末と当該注文とを一意に識別する情報であるオーダー登録機器情報を含み、
前記マージデータ生成部は、前記第１注文データ管理装置の記憶部にあるオーダーデータのうち、前記サブ参照データ内に存在しないオーダー登録機器情報を有するオーダーデータを、サブ参照データに加えてマージデータを生成する
ことを特徴とする請求項１記載の注文データ管理装置。
【請求項３】
さらに伝票番号確認部を有し、
前記第１データ記憶手段は、受信した注文データに対して前記第１注文データ管理装置が受信したことを識別可能とする伝票番号を付与し、前記第１注文データ管理装置の記憶部にオーダーデータとして記憶し、
前記第２データ記憶手段は、受信した注文データに対して前記第２注文データ管理装置が受信したことを識別可能とする伝票番号を付与し、前記第２注文データ管理装置の記憶部にオーダーデータとして記憶し、
前記伝票番号確認部は、前記第１注文データ管理装置の記憶部または前記第２注文データ管理装置の記憶部に、前記第２注文データ管理装置において付与された伝票番号を有するオーダーデータが存在するか否かを確認する、
請求項１または請求項２に記載の注文データ管理装置。
【請求項４】
前記伝票番号確認部が前記第１注文データ管理装置の記憶部および前記第２注文データ管理装置の記憶部のどちらにも、前記第２注文データ管理装置において付与された伝票番号を有するオーダーデータの存在を確認できない場合、前記データ整合部は、前記第１注文データ管理装置の記憶部に記憶されたオーダーデータを前記第２注文データ管理装置に送信して、前記第２注文データ管理装置の記憶部にあるオーダーデータと置き換えて記憶させる、請求項３に記載の注文データ管理装置。
【請求項５】
前記伝票番号確認部が前記第１注文データ管理装置の記憶部または前記第２注文データ管理装置の記憶部に前記第２注文データ管理装置において付与された伝票番号を有するオーダーデータの存在を確認した場合、前記マージデータ生成部は、前記マージデータを作成する、請求項３に記載の注文データ管理装置。
【請求項６】
さらに、前回の稼動状態が、注文入力端末からの注文データを直接受信してオーダーデータとして記憶する状態である運転状態であったのか、または、他方の注文データ管理装置が受信した注文データに基づくオーダーデータを前記他方の注文データ管理装置から取得して記憶する状態である待機状態であったのか、を判断する稼動状態判断部と、
前記第１注文データ管理装置と前記第２注文データ管理装置とで前回の稼動状態が同一であると前記稼動状態判断部が判断した場合に、前記第１注文データ管理装置の記憶部に記憶されているオーダーデータと前記第２注文データ管理装置の記憶部に記憶されているオーダーデータとが一致するか不一致であるかを判断するデータ一致判断部と  を有し、
前記伝票番号確認部は、前記データ一致判断部が前記第１注文データ管理装置の記憶部に記憶されているオーダーデータと前記第２注文データ管理装置の記憶部に記憶されているオーダーデータとが不一致であると判断した場合に伝票番号の確認を実施する、請求項３から５のいずれかに記載の注文データ管理装置。
【請求項７】
前記オーダー登録機器情報は、前記注文入力端末が、客からの注文に基づく注文データを作成するときに、当該注文入力端末を識別する情報と当該注文に対して前記注文入力端末が付与する識別情報とを用いて作成し、前記注文データと共に前記注文データ管理装置に送信する情報である、請求項２に記載の注文データ管理装置。
【請求項８】
前記第１注文データ管理装置が、注文入力端末からの注文データを直接受信してオーダーデータとして記憶する運転状態にあり、
前記第２注文データ管理装置が、前記第１注文データ管理装置から前記オーダーデータを取得して記憶する待機状態にあり、
前記第１注文データ管理装置と前記第２注文データ管理装置とが、集線装置を介した有線接続と、無線接続とによって、互いに通信可能に配置された状態において、
前記有線接続による通信に異常が生じた場合、前記第１注文データ管理装置と前記第２注文データ管理装置とのうち、前記集線装置との通信が可能な注文データ管理装置を運転状態にさせ、前記接続機器と通信が不可能な注文データ管理装置を待機状態とさせる、稼動状態変更手段をさらに有する、
請求項１から請求項７のいずれかに記載の注文データ管理装置。
【請求項９】
第１注文データ管理装置と第２注文データ管理装置とを有し、客からの注文に基づく注文データを注文入力端末から受信して記憶する注文データ管理装置に用いられる注文データ管理方法であって、
前記第１注文データ管理装置は、第１データ記憶手段と、オーダーデータ通信手段と、サブ参照データ生成部と、マージデータ生成部と、データ整合部とを有し、
前記第２注文データ管理装置は、第２データ記憶手段を有し、
前記第１注文データ管理装置の第１データ記憶手段が、前記注文入力端末から受信した注文データに伝票番号を付与し、オーダーデータとして自装置の記憶部に記憶するステップと、
前記第１注文データ管理装置のオーダーデータ通信手段が、記憶した前記オーダーデータを前記第２注文データ管理装置に送信して記憶させるステップと、
前記第２注文データ管理装置の第２データ記憶手段が、前記第１注文データ管理装置が前記注文入力端末からの注文データを記憶できない場合に前記注文入力端末からの注文データを受信して伝票番号を付与し、オーダーデータとして自装置の記憶部に記憶するステップと、
前記第１注文データ管理装置のサブ参照データ生成部が、前記第２注文データ管理装置の記憶部に記憶されたオーダーデータを前記第１注文データ管理装置にサブ参照データとしてコピーするステップと、
前記第１注文データ管理装置のマージデータ生成部が、前記第１注文データ管理装置の記憶部に記憶されたオーダーデータとコピーした前記サブ参照データとをマージして、マージデータを生成するステップと、
前記第１注文データ管理装置のデータ整合部が、前記マージデータを前記第１注文データ管理装置の記憶部にあるオーダーデータと置き換えて記憶するとともに、前記マージデータを前記第２注文データ管理装置に送信して、前記第２注文データ管理装置の記憶部にあるオーダーデータと置き換えて記憶させるデータ整合部と、
を有することを特徴とする注文データ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メイン管理装置とサブ管理装置で構成される注文データ管理装置において、メイン管理装置とサブ管理装置がそれぞれ保存するデータの完全一致を維持する注文データ管理装置および注文データ管理方法に関する。
【背景技術】
【０００２】
レストラン、居酒屋あるいはホテル等の飲食店では、オーダーエントリシステムが使用されている。このオーダーエントリシステムでは、例えば、客から料理の注文を受けた場合、接客担当者は、携帯しているハンディターミナル（注文入力端末）にテーブル番号等と注文を受けた注文メニューを入力し、注文データを作成する。ハンディターミナルには、飲食店で提供するメニューリストが予め記憶されており、接客担当者は、注文メニューを入力する際、記憶されているメニューリストの中から選択入力する。また、同様のメニューリストは、注文データ管理装置にも記憶されている。ハンディターミナルで作成された注文データは、ハンディターミナルから無線送信される。
【０００３】
無線送信された注文データは、飲食店内の各コーナー等に設置された無線制御装置、メイン管理装置またはサブ管理装置によって受信され、各種データの処理や一元管理等を行う注文データ管理装置に送信される。注文データ管理装置は、注文データを受信すると、受信した注文データに注文データを受信した時刻、接客担当者を識別する番号等の情報を含めたデータを付加したオーダーデータを記憶装置に記憶する。
【０００４】
注文データ管理装置は、厨房に設置されたプリンタに調理指示用の伝票データを送信する。調理担当者は、プリンタより印刷出力された調理指示用の伝票を受け取り、受け取った調理指示用の伝票に従って調理を開始し、調理完了するとその旨を接客担当者に通知する。接客担当者は調理完了通知に従い、客から注文を受けた料理を提供する。一方、注文データ管理装置は、プリンタに会計用伝票データを送信する。接客担当者は、プリンタより印刷出力された会計用伝票を客に手渡し、客は会計時にこの会計用伝票を利用し、会計時に会計処理を行う。このようなオーダーエントリシステムについて、例えば、下記の特許文献１に提案されている。
【０００５】
図１５は、上述のオーダーエントリシステムの構成の一例を表す図である。
この図に示すように、オーダーエントリシステムは、メイン管理装置１およびサブ管理装置２がハブ（ＨＵＢ）３を介して接続されるとともに、このＨＵＢ３に会計装置であるＰＯＳ（Ｐｏｉｎｔ−Ｏｆ−Ｓａｌｅ）４が接続される。ハンディターミナル５は、複数台がメイン管理装置１またはサブ管理装置２に対し無線によって接続される。プリンタ６は、無線によってメイン管理装置１またはサブ管理装置２に接続される。
【０００６】
このメイン管理装置１またはサブ管理装置２は、ハンディターミナル５等から注文データを受信し、プリンタ等の各出力機器に対しデータを送信する機能や、ＰＯＳ４との間で会計データの送受信を行う機能、オーダーエントリシステム内で用いられるデータを記憶する機能、個別の各機器（ハンディターミナル、プリンタ等）を制御する機能を有している。そのため、メイン管理装置１またはサブ管理装置２そのものが故障したとしても、オーダーエントリシステム全体の動作が停止してしまわないように、二重化を図っており、メイン管理装置１またはサブ管理装置２のいずれか一方が稼働することによって、システム全体をバックアップする機能がある。
【０００７】
バックアップ機能は、例えば、以下のようにして行われる。すなわち、注文データ管理装置として、メイン管理装置１、サブ管理装置２の二台が設けられ、メイン管理装置１、サブ管理装置２の両方が正常に動作している場合には、メイン管理装置１がシステム内でのデータ受信、データ管理およびデータ制御を主体的に実行する。このような主体的な動作を行うこと「運転状態」と定義する。そして、メイン管理装置１がハンディターミナル１０等から注文データを受信しオーダーデータとしてメイン管理装置１の記憶装置に記憶した後、サブ管理装置２にオーダーデータを転送し、サブ管理装置２の記憶装置に記憶させることでバックアップをする。このサブ管理装置２のように、運転状態のメイン管理装置１からオーダーデータを受信して記憶装置に記憶する、いわゆるバックアップ動作を行うことを「待機状態」と定義する。またメイン管理装置１またはサブ管理装置２に障害が発生し、運転状態または待機状態として動作できない状態を「障害状態」と定義する。またメイン管理装置１とサブ管理装置２が相互のそれぞれの記憶装置に記憶するオーダーデータの相互チェックを行う状態を「確認状態」と定義し、メイン管理装置とサブ管理装置間でデータの完全一致を確認し保つ処理を同期処理と定義する。
メイン管理装置１が正常に動作し、サブ管理装置２に障害が発生し障害状態になった場合、メイン管理装置１は、サブ管理装置２にメイン管理装置１のオーダーデータをバックアップすることができないため、メイン管理装置１のみが運転状態として稼動する。一方、サブ管理装置２が正常に動作し、メイン管理装置１に障害が発生して障害状態になった場合、サブ管理装置２が運転状態として稼動する。
【０００８】
メイン管理装置１が運転状態で、サブ管理装置２が待機状態でいずれも正常に動作している状態を注文データ管理装置の「二重化運転状態」と定義する。二重化運転状態において、メイン管理装置１からサブ管理装置２へオーダーデータの転送が失敗、またはサブ管理装置２でオーダーデータの記憶装置への記憶に失敗した場合には、メイン管理装置１とサブ管理装置２の接続性が失われた（二重化通信をする相手の装置と通信ができなくなった）として、メイン管理装置１は運転状態を停止し確認状態になり、サブ管理装置２は待機状態から確認状態に移行し、メイン管理装置１とサブ管理装置２とが記憶するデータの相互チェックを行う。この相互チェックにおいて、メイン管理装置１は、サブ管理装置２との記憶するデータの差分を確認し、差分となるデータを発見した場合にはその差分データを記憶している注文データ管理装置から他方の注文データ管理装置へコピーして、メイン管理装置１とサブ管理装置２のオーダーデータが完全一致状態になるようにする。オーダーデータが完全一致状態になった場合、再度メイン管理装置１は運転状態になりサブ管理装置２は待機状態に戻る。二重化運転状態にあった注文データ管理装置内のメイン管理装置１またはサブ管理装置２が運転状態または待機状態を停止して確認状態に移行し、オーダーデータの相互チェックを行い、注文データ管理装置間でのオーダーデータの差分を考慮したデータコピー等を行うことで、メイン管理装置１、サブ管理２間のオーダーデータの完全一致を図る処理を二重化遷移処理といい、二重化遷移処理を行っている状態を二重化遷移状態という。またメイン管理装置１またはサブ管理装置２のいずれかが障害状態になり二重化運転状態で稼動できない場合を「単独運転状態」と定義する。
以降、メイン管理装置１を、主体的な動作を行う（運転状態として動作する）装置として事前設定したものとし、サブ管理装置２を、バックアップ動作を行う（待機状態として動作する）装置として事前設定したものとして説明する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００１−７６２５８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した技術においては、メイン管理装置１とサブ管理装置２とで、保存されたデータの一致状態を保つことが必要であるが、保存されていたオーダーデータが失われる場合として、下記の３通りが考えられる。
【００１１】
（１）
メイン管理装置１とサブ管理装置２が二重化運転状態で正常に動作している際に、メイン管理装置１がハードウェア等の問題でハングアップ状態となり、ある期間停止し、その間、サブ管理装置２がメイン管理装置１の代わりに運転状態となり、ハンディターミナル５から注文データを受信してオーダーデータを保存したとする。ある期間が経過した後に、メイン管理装置１が復帰したとすると、この状態は、メイン管理装置１、サブ管理装置２の両方の注文データ管理装置がオーダーデータを受信保存できる動作状態（運転状態）であり、このような場合、メイン管理装置１が運転状態として事前設定されているため、メイン管理装置１のオーダーデータが優先される。よって、ここで二重化遷移処理を行うと、メイン管理装置１が記憶装置に記憶している、ある期間分欠如したオーダーデータがサブ管理装置２にコピーされ上書きされてしまう。よって、メイン管理装置１が停止中にサブ管理装置２で保存されたデータが失われる場合がある。
【００１２】
（２）
メイン管理装置１とサブ管理装置２との、二重化運転状態を維持するための両者間での通信が不安定になると、サブ管理装置２が、メイン管理装置１が動作していないものと勘違いし、確認状態を経て単独運転状態になる。その結果、上記（１）と同様に、メイン管理装置１、サブ管理装置２がいずれも単独運転状態でそれぞれ別々に注文データを受信し、互いに異なるオーダーデータを保持することになる。通信の不安定が解消し、二重化遷移状態に移行し二重化遷移処理が行われると、メイン管理装置１のデータがサブ管理装置２に上書きされることでメインのメイン管理装置１で受信しなかった注文データのオーダーデータが記憶されず、該オーダーデータが失われる場合がある。
【００１３】
（３）
メイン管理装置１が故障等して動作しなった場合、メイン管理装置１内のハードウェア部品を交換する等のメンテナンスを行うことがある。このような場合、サブ管理装置２には、メイン管理装置１が障害状態中に受信しオーダーデータとして記憶したオーダーデータが保存されているため、部品交換後には、サブ管理装置２から必要なオーダーデータをメイン管理装置１にコピーさせる必要がある。しかし、メイン管理装置１およびサブ管理装置２を停止状態にして部品交換を実施した後、メイン管理装置１を先に起動させサブ管理装置２を後から起動させると、メイン管理装置１に記憶された、あるオーダーデータが欠如した状態のオーダーデータがサブ管理装置２に上書きされ、サブ管理装置２に記憶されていたオーダーデータが失われることがある。
【００１４】
このように、運転状態を一旦停止し、メイン管理装置１とサブ管理装置２のオーダーデータの相互チェックを行い、差分データのコピーを行う、という二重化遷移処理の際、メイン管理装置１を優先して差分コピーを行うと、サブ管理装置２に新しいデータ（メイン管理装置１にはないオーダーデータ）があってもそのデータが上書きされて消えてしまうケースがあるという問題がある。
また、一般に、メイン管理装置１とサブ管理装置２との間で行うデータの相互チェックや差分データのコピーは、記憶する１つ１つのデータ同士の確認を行うため、長い時間を要する。よって、データの完全一致やシステムとしての信頼性を確保するための重要な処理とはいえ、メイン管理装置１とサブ管理装置２との間で頻繁にデータの相互チェックや差分データのコピーを行うことは、注文データ管理装置を使用し運用するユーザを、その都度、その時間だけ待たせることになる。よって、このような、データの完全一致を確保する二重化遷移処理は、できるだけ短時間で完了することが望まれている。
【００１５】
本発明は、このような事情に鑑みてなされたもので、その目的は、複数の機器間においてデータの完全一致状態を維持することができる注文データ管理装置、注文データ管理方法を提供することにある。
また、本願発明は、データの完全一致を維持するための処理に要する時間の短縮を図った注文データ管理装置、注文データ管理方法を提供することにある。
【課題を解決するための手段】
【００１６】
上述した課題を解決するために、本発明は、第１注文データ管理装置と第２注文データ管理装置とを有し、客からの注文に基づく注文データを注文入力端末から受信して記憶する注文データ管理装置であって、前記第１注文データ管理装置は、前記注文入力端末から受信した注文データに伝票番号を付与し、オーダーデータとして自装置の記憶部に記憶する第１データ記憶手段と、記憶した前記オーダーデータを前記第２注文データ管理装置に送信して記憶させるオーダーデータ通信手段とを有し、前記第２注文データ管理装置は、前記第１注文データ管理装置が前記注文入力端末からの注文データを記憶できない場合に前記注文入力端末からの注文データを受信して伝票番号を付与し、オーダーデータとして自装置の記憶部に記憶する第２データ記憶手段を有し、前記第１注文データ管理装置は、前記第２注文データ管理装置の記憶部に記憶されたオーダーデータを前記第１注文データ管理装置にサブ参照データとしてコピーするサブ参照データ生成部と、前記第１注文データ管理装置の記憶部に記憶されたオーダーデータとコピーした前記サブ参照データとをマージして、マージデータを生成するマージデータ生成部と、前記マージデータを前記第１注文データ管理装置の記憶部にあるオーダーデータと置き換えて記憶するとともに、前記マージデータを前記第２注文データ管理装置に送信して、前記第２注文データ管理装置の記憶部にあるオーダーデータと置き換えて記憶させるデータ整合部と、を有することを特徴とする。
これにより、必ず、第１または第２のどちらかの注文データ管理装置が、注文入力端末からの注文データを取得してオーダーデータとして記憶し、整合性が保たれて、完全一致が維持されたオーダーデータを両注文データ管理装置が保持することができる。
【００１７】
また、本願発明において、前記注文データは、前記注文を受け付けた注文入力端末と当該注文とを一意に識別する情報であるオーダー登録機器情報を含み、前記マージデータ生成部は、前記第１注文データ管理装置の記憶部にあるオーダーデータのうち、前記サブ参照データ内に存在しないオーダー登録機器情報を有するオーダーデータを、サブ参照データに加えてマージデータを生成することを特徴とする。
これにより、第１および第２の注文データ管理装置が記憶するオーダーデータに基づき、整合性が保たれて、完全一致が維持されたマージデータを作成することができる。
【００１８】
また、本発明の注文データ管理装置は、さらに伝票番号確認部を有し、前記第１データ記憶手段は、受信した注文データに対して前記第１注文データ管理装置が受信したことを識別可能とする伝票番号を付与し、前記第１注文データ管理装置の記憶部にオーダーデータとして記憶し、前記第２データ記憶手段は、受信した注文データに対して前記第２注文データ管理装置が受信したことを識別可能とする伝票番号を付与し、前記第２注文データ管理装置の記憶部にオーダーデータとして記憶し、前記伝票番号確認部は、前記第１注文データ管理装置の記憶部または前記第２注文データ管理装置の記憶部に、前記第２注文データ管理装置において付与された伝票番号を有するオーダーデータが存在するか否かを確認するものとする。
通常、第１注文データ管理装置に異常が発生しない限り、第１注文データ管理装置が注文入力端末機から注文データを受信して伝票番号を付与する。よって、伝票番号確認部の機能により、第１注文データ管理装置が伝票番号を付与しない状態（第２注文データ管理装置が注文データを受信して伝票番号を付与する状態）が発生した事実を、容易に認識することができ、全体として、データの完全一致を維持するための処理に要する時間の短縮化を図ることができる。
【００１９】
また、本発明は、前記伝票番号確認部が前記第１注文データ管理装置の記憶部および前記第２注文データ管理装置の記憶部のどちらにも、前記第２注文データ管理装置において付与された伝票番号を有するオーダーデータの存在を確認できない場合、前記データ整合部が、前記第１注文データ管理装置の記憶部に記憶されたオーダーデータを前記第２注文データ管理装置に送信して、前記第２注文データ管理装置の記憶部にあるオーダーデータと置き換えて記憶させるものとする。
これにより、伝票番号確認部による伝票番号の確認という単純な処理のみで、データの完全一致を維持するための処理の実施を迅速に決定することができる。
【００２０】
また、本発明は、前記伝票番号確認部が前記第１注文データ管理装置の記憶部または前記第２注文データ管理装置の記憶部に前記第２注文データ管理装置において付与された伝票番号を有するオーダーデータの存在を確認した場合、前記マージデータ生成部が、前記マージデータを作成するものとする。
これにより、伝票番号確認部による伝票番号の確認という単純な処理のみで、データのマージ処理の実施を迅速に決定することができ、オーダーデータの整合性を保ち、完全一致を維持することができる。
【００２１】
また本発明は、さらに、前回の稼動状態が、注文入力端末からの注文データを直接受信してオーダーデータとして記憶する状態である運転状態であったのか、または、他方の注文データ管理装置が受信した注文データに基づくオーダーデータを前記他方の注文データ管理装置から取得して記憶する状態である待機状態であったのか、を判断する稼動状態判断部と、前記第１注文データ管理装置と前記第２注文データ管理装置とで前回の稼動状態が同一であると前記稼動状態判断部が判断した場合に、前記第１注文データ管理装置の記憶部に記憶されているオーダーデータと前記第２注文データ管理装置の記憶部に記憶されているオーダーデータとが一致するか不一致であるかを判断するデータ一致判断部とを有し、前記伝票番号確認部が、前記データ一致判断部が前記第１注文データ管理装置の記憶部に記憶されているオーダーデータと前記第２注文データ管理装置の記憶部に記憶されているオーダーデータとが不一致であると判断した場合に伝票番号の確認を実施するものとする。
これにより、伝票番号の確認を実施するか否かを、前回の稼動状態の確認という簡単な処理のみで決定することができ、データの完全一致を維持するための処理の高速化を図ることができる。
【００２２】
また、本発明において、前記オーダー登録機器情報は、前記注文入力端末が、客からの注文に基づく注文データを作成するときに、当該注文入力端末を識別する情報と当該注文に対して前記注文入力端末が付与する識別情報とを用いて作成し、前記注文データと共に前記注文データ管理装置に送信する情報であるものとする。
このように、オーダー登録機器情報の一意性は極めて高く、データの完全一致を維持するための処理を実施する際に、オーダーデータの重複などを正確に把握することができる。
【００２３】
また、本発明は、前記第１注文データ管理装置が、注文入力端末からの注文データを直接受信してオーダーデータとして記憶する運転状態にあり、前記第２注文データ管理装置が、前記第１注文データ管理装置から前記オーダーデータを取得して記憶する待機状態にあり、前記第１注文データ管理装置と前記第２注文データ管理装置とが、集線装置を介した有線接続と、無線接続とによって、互いに通信可能に配置された状態において、前記有線接続による通信に異常が生じた場合、前記第１注文データ管理装置と前記第２注文データ管理装置とのうち、前記集線装置との通信が可能な注文データ管理装置を運転状態にさせ、前記接続機器と通信が不可能な注文データ管理装置を待機状態とさせる、稼動状態変更手段をさらに有するものとする。
これにより、集線装置との有線接続が確実に確立している注文データ管理装置を運転状態とすることができるため、通信不良等が原因となり得るデータ不整合の発生を低減することができる。
【００２４】
また、本発明は、第１注文データ管理装置と第２注文データ管理装置とを有し、客からの注文に基づく注文データを注文入力端末から受信して記憶する注文データ管理装置に用いられる注文データ管理方法であって、前記第１注文データ管理装置は、第１データ記憶手段と、オーダーデータ通信手段と、サブ参照データ生成部と、マージデータ生成部と、データ整合部とを有し、前記第２注文データ管理装置は、第２データ記憶手段を有し、前記第１注文データ管理装置の第１データ記憶手段が、前記注文入力端末から受信した注文データに伝票番号を付与し、オーダーデータとして自装置の記憶部に記憶するステップと、前記第１注文データ管理装置のオーダーデータ通信手段が、記憶した前記オーダーデータを前記第２注文データ管理装置に送信して記憶させるステップと、前記第２注文データ管理装置の第２データ記憶手段が、前記第１注文データ管理装置が前記注文入力端末からの注文データを記憶できない場合に前記注文入力端末からの注文データを受信して伝票番号を付与し、オーダーデータとして自装置の記憶部に記憶するステップと、前記第１注文データ管理装置のサブ参照データ生成部が、前記第２注文データ管理装置の記憶部に記憶されたオーダーデータを前記第１注文データ管理装置にサブ参照データとしてコピーするステップと、前記第１注文データ管理装置のマージデータ生成部が、前記第１注文データ管理装置の記憶部に記憶されたオーダーデータとコピーした前記サブ参照データとをマージして、マージデータを生成するステップと、前記第１注文データ管理装置のデータ整合部が、前記マージデータを前記第１注文データ管理装置の記憶部にあるオーダーデータと置き換えて記憶するとともに、前記マージデータを前記第２注文データ管理装置に送信して、前記第２注文データ管理装置の記憶部にあるオーダーデータと置き換えて記憶させるデータ整合部と、を有することを特徴とする注文データ管理方法である。
【発明の効果】
【００２５】
以上説明したように、この発明によれば、サブ管理装置に記憶されたオーダーデータをメイン管理装置にサブ参照データとしてコピーし、メイン管理装置に記憶されたオーダーデータとサブ参照データ内に存在しメイン管理装置内のオーダーデータに存在しないオーダーデータを抽出してマージデータを生成し、メイン管理装置に記憶されたマージデータをサブ管理装置にコピーし、メイン管理装置のマージデータをメイン管理装置のオーダーデータとしてコピーするようにしたので、双方に記憶されたデータからマージデータを生成する際に、データが欠落してしまうことを防止することができる。
また、オーダーデータに含まれるオーダー登録機器情報に基づいて、記憶されたオーダーデータのうち前記サブ参照データに存在しないオーダー登録機器情報を有するオーダーデータをサブ参照データに加えてマージデータを生成するようにしたので、データが二重登録されてしまうことを防止することができる。
また、伝票番号の番号体系を、伝票番号を付与する注文データ管理装置毎に異ならせたことによって、オーダーデータのマージ処理が必要な状態、すなわち、サブとして事前設定され「待機状態」であるはずの注文データ管理装置が「運転状態」になった、というイレギュラー状態を容易に確認することができる。メイン管理装置とサブ管理装置は、起動時に、両注文データ管理装置間で同期処理（二重化通信をする相手のメイン管理装置またはサブ管理装置と、データの完全一致を確認し保つ処理）を行うのだが、このときに伝票番号の番号体系の確認を行うことで前回の動作がイレギュラー状態であったか否かを容易に確認することができる。したがって、起動の際の同期処理において、前回の動作がイレギュラー状態であったときにのみデータ同期を実施すればよく、起動の度に長い時間をかけてデータ同期を行う頻度を減らすことができ、結果的に同期処理に要する時間を短縮することができる。これは特に、注文データ管理装置に特段の異常があったわけではなく、通常起動をするために注文データ管理装置に電源を投入した際、すばやく起動できるという点から、非常に有効である。
【図面の簡単な説明】
【００２６】
【図１】この発明の一実施形態によるオーダーエントリシステム１００の構成を示す概略ブロック図である。
【図２】メイン管理装置４０の構成を表すブロック図である。
【図３】オーダーエントリシステム１００の動作の概略を説明する図である。
【図４】注文データ管理装置間で同期をとる場合を表す図である。
【図５】ハンディターミナル１０から注文データ管理装置に送信される注文データの一例を表す図である。
【図６】メイン管理装置４０の動作を示すフローチャートである。
【図７】オーダーデータ受信処理を説明するフローチャートである。
【図８】オーダーデータの登録の手順を表す図である。
【図９】受信したオーダー登録機器情報と記憶部に記憶されたオーダー登録機器情報について説明する図である。
【図１０】同期処理について説明するフローチャートである。
【図１１】同期処理について説明するフローチャートである。
【図１２】同期処理について説明するフローチャートである。
【図１３】印字フラグのデータの一例を表す図である。
【図１４】印字完了フラグのデータの一例を表す図である。
【図１５】オーダーエントリシステムの構成を表す図である。
【発明を実施するための形態】
【００２７】
以下、本発明の一実施形態によるオーダーエントリシステムについて図面を参照して説明する。図１は、この発明の一実施形態によるオーダーエントリシステム１００の構成を示す概略ブロック図である。
オーダーエントリシステム１００は、複数のハンディターミナル１０、据置ターミナル２０、無線制御装置３０、メイン管理装置４０、サブ管理装置５０、無線プリンタ６０、有線プリンタ６１、ＨＵＢ６３、バーコードリーダ８０、表示装置９０を備えている。
【００２８】
ハンディターミナル１０は、飲食店内の店員に携帯され、顧客からの注文に応じて入力された注文メニューの内容を注文データとして生成し、前記注文データをメイン管理装置４０またはサブ管理装置５０に、無線または無線制御装置３０を介して有線で送信する。
据置ターミナル２０は、飲食店内のテーブルにまたは料理置き場に設置され、顧客または店員が操作して入力された注文メニューの内容を注文データとして生成し、メイン管理装置４０またはサブ管理装置５０に、無線または無線制御装置３０を介して有線で送信する。
なお、ハンディターミナル１０および据置ターミナル２０が、注文入力端末に相当する。
無線制御装置３０は、ハンディターミナル１０や据置ターミナル２０などの無線通信をする装置から送信される注文データを受信して、その注文データを有線通信に変換してメイン管理装置４０またはサブ管理装置５０に転送するための中継を行う。図１において、ハンディターミナル１０と据置ターミナル２０は無線で注文データを送信する一例を示しているが、有線で送信しても良い。
メイン管理装置４０（第１注文データ管理装置に相当する）およびサブ管理装置５０（第２注文データ管理装置に相当する）は、ハンディターミナル１０から送信される注文データを受信し、プリンタ等の各出力機器に対し伝票データを送信する機能や、ＰＯＳとの間で会計データの送受信を行う機能、オーダーエントリシステム内で用いられるオーダーデータを記憶する機能、個別の各機器（ハンディターミナル、プリンタ等）を制御する機能を有している。このように、メイン管理装置４０およびサブ管理装置５０はオーダーエントリシステムを実質的に管理し、制御する装置であるため、メイン管理装置４０またはサブ管理装置５０の一方が故障したとしても、オーダーエントリシステム全体の動作が停止してしまわないように、メイン管理装置４０またはサブ管理装置５０のいずれか一方が稼働することによって、システム全体をバックアップする機能がある。なお、以後、メイン管理装置４０およびサブ管理装置５０を総称して指す場合には、符号のない「注文データ管理装置」と記載する。
【００２９】
システム全体をバックアップするために、メイン管理装置４０またはサブ管理装置５０は、どちらが主体的に動作（運転）するか、事前に設定されている。
本実施形態では、メイン管理装置４０とサブ管理装置５０は、同じ装置を使用し、事前設定でメイン管理装置４０またはサブ管理装置５０としているが、異なる装置を使用しても良い。ここでは、メイン管理装置４０が主体的な動作を行う装置として事前設定されているものとし、サブ管理装置５０がバックアップ動作を行う装置として事前設定されているものとする。
両注文データ管理装置が正常に動作している場合には、メイン管理装置４０がシステム内でのデータ受信、データ管理およびデータ制御を主体的に実行する「運転状態」にある。そして、メイン管理装置４０がハンディターミナル１０等から注文データを受信して自身に記憶した後、「待機状態」であるサブ管理装置５０にデータを送信して記憶（コピーという）させる。
メイン管理装置４０とサブ管理装置５０の間でのデータ送受信の信頼性を向上するために、メイン管理装置４０およびサブ管理装置５０は、ＨＵＢ６３を介して互いに有線通信し、また、互いに無線通信できるようになっており、一方の通信手段に障害等が発生しても他方の通信手段を用いて通信ができるような仕組みを採用している。
【００３０】
無線プリンタ６０は、メイン管理装置４０、サブ管理装置５０に無線によって接続され、各種伝票データを印刷して伝票として出力する。有線プリンタ６１は、メイン管理装置４０、サブ管理装置５０に有線によって接続され、各種伝票データを印刷して伝票として出力する。バーコードリーダ８０は、例えば、会計用伝票に印刷されたバーコードを読み取る。表示装置９０は、バーコードリーダ８０によって読み取られたバーコードに基づくデータを表示する他、各種データを表示する。
【００３１】
図２は、メイン管理装置４０の構成を表すブロック図である。なお、サブ管理装置５０も同等の構成を有する。
この図において、メイン管理装置４０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４１、メモリ４２、記憶部４３、無線通信部４４、有線通信部４５、表示部４６を有する。
また、メイン管理装置４０またはサブ管理装置５０は、ＣＰＵ４１、メモリ４２、記憶部４３、無線通信部４４、有線通信部４５と同等の機能があれば、異なる装置に搭載されて実現されても良い。
ＣＰＵ４１は、メイン管理装置４０内の各部を制御する（詳細は後述する）。
メモリ４２は、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ−Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄｏｍ−Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等であり、メイン管理装置４０内において利用されるデータの一時記憶する、プログラムを記憶する等を行う。
記憶部４３は、例えばハードディスクであり、オーダーエントリシステム１００内において利用されるデータを記憶する。
無線通信部４４は、ハンディターミナル１０や無線プリンタ６０、サブ管理装置５０等の各種機器と、例えばＷＬＡＮ（Ｗｉｒｅｌｅｓｓ  ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ））によって通信を行う。
有線通信部４５は、ハンディターミナル１０や有線プリンタ６１、サブ管理装置５０等の各種機器と、例えばＬＡＮによってＨＵＢ６３を介して通信を行う。
表示部４６は、例えば、液晶表示装置であり、各種データを表示する。
【００３２】
またＣＰＵ４１は、メモリ４２にあるプログラムを実行することで、メイン管理装置４０に発生する様々なイベントを監視するイベント監視手段、ハンディターミナル１０からデータを受信し、記憶するまでの処理を行う受信処理手段、サブ管理装置５０との同期処理を実施する同期処理手段、未印字のデータについて印字させる印字処理手段として機能する。
ここでＣＰＵ４１は、発生したイベントが注文データの受信に関するものであり、受信処理手段として機能する場合には、ハンディターミナル１０から受信した注文データに含まれる、後述するオーダー登録機器情報が、記憶部に記憶済みのオーダーデータに含まれるオーダー登録機器情報にあるか否かを判断する機能と、自注文データ管理装置の事前設定がメインであるか否かに応じて伝票番号を付与する機能と、自注文データ管理装置の実際の稼動状態が「運転状態」か「待機状態」かに応じてオーダーデータを記憶部に記憶させる機能と、オーダーデータを記憶できたか否かを示す応答をハンディターミナル１０に送信する機能と、を実現する。
この伝票番号を付与する機能やオーダーデータを記憶させる機能が、第１データ記憶手段（自装置がメイン管理装置の場合）および第２データ記憶手段（自装置がサブ管理装置の場合）の機能に相当する。
【００３３】
またＣＰＵ４１は、発生したイベントが同期処理（二重化通信をする相手の注文データ管理装置と、データの完全一致を確認し保つ処理。二重化遷移処理ともいう。）の実施に関するものであり、同期処理手段として機能する場合には、自注文データ管理装置の事前設定がメイン管理装置であるか否かを判断する機能と、現在、二重化状態であるか否かを判断する機能と、自注文データ管理装置と二重化通信をする相手の注文データ管理装置との前回の稼動状態を判断する機能（稼動状態判断部の機能に相当する）と、自注文データ管理装置と相手の注文データ管理装置について、前回の稼動状態が互いに異なる（一方が「運転状態」、他方が「待機状態」）状態であった場合に、「運転状態」であった注文データ管理装置のオーダーデータを「待機状態」であった注文データ管理装置へコピーする機能と、自注文データ管理装置と相手の注文データ管理装置について、前回の稼動状態が同一（両方とも「運転状態」、または両方とも「待機状態」）状態であった場合、に（１）両注文データ管理装置が記憶するオーダーデータのファイル日付とサイズの差異を判断する機能（データ一致判断部の機能に相当する）と、（２）サブ管理装置による伝票番号の付与があったか否かを判断する機能（伝票番号確認部の機能に相当する）と、（３）両注文データ管理装置のオーダーデータについてデータ同期処理を行う機能と、両注文データ管理装置の今回の稼動状態を決定する機能と、を実現する。
【００３４】
ここでデータ同期処理（二重化遷移処理）の機能とは、サブ管理装置に記憶されたオーダーデータを、メイン管理装置にコピーしてサブ参照データを生成する機能（サブ参照データ生成部の機能に相当する）と、メイン管理装置４０のオーダーデータと生成したサブ参照データとを比較しサブ参照データに存在してメイン管理装置４０のオーダーデータに存在しないデータを抽出しマージ（重複がないように統合）してマージデータを生成する機能（マージデータ作成部の機能に相当する）と、メイン管理装置４０で生成されたマージデータをオーダーデータとしてサブ管理装置５０にコピーし、メイン管理装置４０のマージデータをオーダーデータとして、メイン管理装置４０にコピーすることでデータの完全一致をとる機能（データ整合部の機能に相当する）とからなる。
なお、このデータ同期処理（二重化遷移処理）は、同期処理の実施に関するイベントの発生時以外にも、注文データ管理装置の起動時には必ず実施する処理である。
またＣＰＵ４１は、発生したイベントが印字処理に関するものであり、印字処理手段として機能する場合には、伝票データをどのプリンタに印字すべきか判断する機能と、伝票データがどのプリンタから印字済みであるかを判断する機能と、印字すべきプリンタから印字済みでない伝票データがある場合に、当該プリンタに当該伝票データを印字させる機能とからなる。
【００３５】
次に、上述したオーダーエントリシステム１００において、メイン管理装置４０とサブ管理装置５０のオーダーデータの完全一致を実現する処理（二重化遷移処理）の流れを模式的に説明する。
図３は、オーダーエントリシステム１００において、メイン管理装置４０とサブ管理装置５０で障害発生によってオーダーデータの不一致が発生する状況の概略を説明する図である。メイン管理装置４０とサブ管理装置５０は、ＬＡＮおよびＷＬＡＮによって通信し、互いの存在を確認している。サブ管理装置５０は、メイン管理装置４０との通信が途絶えると、メイン管理装置４０が動作を停止したものと誤判断し、「運転状態」としての動作を開始する場合がある。そのような誤動作を防止するため、複数の通信手段を用意する。すなわち、ＬＡＮまたはＷＬＡＮのどちらかの通信が切断されても、残りの一方で接続できれば、サブ管理装置５０が「運転状態」にならないように制御される。
図３（ａ）は、メイン管理装置４０とサブ管理装置５０がいずれもデータＡを記憶しており、データが一致状態であることを示している。ここでは、データＡは、ヘッダ情報とオーダーデータＸを含むデータである。オーダーデータＸは、伝票番号が「０００１」、「０００２」、「０００３」の注文データを含むデータである。
【００３６】
図３（ｂ）は、メイン管理装置４０が電源停止となった場合を示す図である。メイン管理装置４０が電源停止となった場合、サブ管理装置５０が「運転状態」となって動作を開始し、サブ管理装置５０が、ハンディターミナル１０から送信される注文データを受信する。サブ管理装置５０が新しい注文データを受信した場合、記憶部内のデータが、メイン管理装置４０のデータＡとは異なり、サブ管理装置５０がデータＡにオーダーデータＹを追加したデータＢとなる。データＢは、ヘッダ情報とオーダーデータＸとオーダーデータＹを含むデータである。オーダーデータＹは、伝票番号が「３００４」の注文データを含むデータである。
【００３７】
図３（ｃ）は、サブ管理装置５０の電源が停止し、メイン管理装置４０が起動して、通常通り、注文データを受け付ける場合を示す図である。ここでは、メイン管理装置４０が新たに注文データを受信することにより、メイン管理装置４０の記憶部には、データＣが記憶される。このデータＣは、ヘッダ情報とオーダーデータＸとオーダーデータＺとを含むデータである。オーダーデータＺは、伝票番号が「０００４」の注文データを含むデータである。
このように、メイン管理装置４０とサブ管理装置５０とが異なるタイミングで電源停止状態となると、それぞれが記憶するデータに相違が生じる。
【００３８】
図４は、メイン管理装置４０とサブ管理装置５０とで実施する同期処理を示す概略図であり、図３（ｃ）の状態の後に、注文データ管理装置のメイン管理装置４０とサブ管理装置５０間で同期処理を行う場合を表す図である。ここでは、メイン管理装置４０にデータＣ、サブ管理装置５０にデータＢが記憶されている（図４（ａ））。
なお、この同期処理は、後述するように、メイン管理装置４０の動作の中で優先度が最も高い処理であり、データの完全一致を保つ処理に関するイベントが発生すると、メイン管理装置４０は即座に確認状態に移行し、同期処理を行う。
同期処理では、メイン管理装置４０が、前回「運転状態」で動作していたか否かの判定処理を行う。運転状態であると判定された場合には、オーダーエントリシステムとしての運用に基づき、オーダーデータの登録処理や、プリンタに伝票データを出力する処理等が実施され、それによってデータの変更が行われている可能性がある。
また、同期処理では、メイン管理装置４０が、自身に記憶されたオーダーデータとサブ管理装置５０に記憶されメイン管理装置４０にコピーしたサブ参照データを比較し、ファイルデータの更新日付とファイル内容や容量が一致するか否かを判定する。なお、オーダーデータが含む具体的な内容については、後述する。一致していると判定された場合、両注文データ管理装置が記憶するデータは同一である（完全に一致している）とみなし、同期処理を終了する。
【００３９】
一方、一致しないと判定された場合には、サブ管理装置５０のみで記憶されたオーダーデータがあるか否かを判断し、それが存在した場合、自身に記憶されたデータＣとサブ管理装置５０に記憶されたデータＢのマージ処理を行う。
ここでは、メイン管理装置４０にマージ領域を作成して、その中でデータのマージ処理を実施する。メイン管理装置４０には、図４（ｂ）に示すように、データＣの他に、マージデータ領域とサブ参照データ領域が確保され、サブ管理装置５０からデータＢがサブ参照データとしてコピーされ記憶される。マージデータＤは、データＣとサブ参照データから作成されるデータであり、ヘッダ情報と、データＣに含まれるオーダーデータＸと、オーダーデータＹと、サブ参照データに存在しデータＣに存在しないオーダーデータＺとを含むデータである。
【００４０】
メイン管理装置４０とサブ管理装置５０との間でマージ処理されたマージデータＤはメイン管理装置４０に記憶されたのち、マージデータＤがメイン管理装置４０からサブ管理装置５０へコピーされる（図４（ｃ））。よって、サブ管理装置５０には、データＢに加え、マージデータＤが記憶されることになる。そして、メイン管理装置４０からサブ管理装置５０に全てのマージデータＤが送信されると、データの入れ替え処理を実行する（図４（ｄ））。すなわち、メイン管理装置４０は、マージデータＤを残してデータＣを削除し、マージデータＤを今後利用するオーダーデータとし、サブ管理装置５０は、マージデータＤを残してデータＢを削除し、マージデータＤを今後利用するデータとする。
このマージデータは、今後利用するオーダーデータとして自注文データ管理装置のデータに上書きされて、データの入れ替え処理が実行されない限り、自注文データ管理装置内に残るようになっている。したがって、マージデータを作成したが、自注文データ管理装置のデータと入れ替えをする前に電源が停止した場合であっても、次回の電源投入時に、この残っているマージデータを自注文データ管理装置のオーダーデータと入れ替えることで、両注文データ管理装置間でのデータの完全一致を保ち、且つ、必要なデータの損失を防止することが可能である。
【００４１】
図５は、ハンディターミナル１０からメイン管理装置４０に送信される注文データに基づきメイン管理装置４０が記憶するオーダーデータの一例を表す図である。
メイン管理装置４０は、ヘッダ情報とオーダーデータを含むデータを記憶する。ヘッダ情報は、１つのオーダーデータに１つ対応付けられる情報であり、当該オーダーデータに含まれる注文データの数を表すデータ数と、当該オーダーデータのサイズを表すデータサイズと、最新の注文データに付与されている伝票番号シーケンシャルナンバーとを含む情報である。
オーダーデータは、伝票番号で識別される注文情報を１伝票番号分としたデータが、１つ以上の伝票番号分のデータから構成されるデータである。このオーダーデータ内の１伝票番号分のデータは、伝票番号、オーダー登録機器情報、テーブル番号、人数情報、登録日付情報、更新日付情報、会計済みフラグ、印字フラグ（図１３を参照）、印字完了フラグ（図１４を参照）、データサイズ、データ件数、チェック用データ、次データ番地、注文内容を含むデータである。
伝票番号は、利用可能な番号がメイン管理装置４０、サブ管理装置５０それぞれに予め割り当てられており、この割り当てられた範囲の番号のいずれかを伝票を発行する毎に用いられる。例えば、メイン管理装置４０は、１〜３０００までの番号を割り当て、サブ管理装置５０は、３００１以降の番号を割り当てる。この伝票番号は、例えば、来客した顧客のグループ（１人または複数人）に１つ割り当てられる。
【００４２】
オーダー登録機器情報は、注文データを送信したハンディターミナル１０を識別する端末識別情報と、ハンディターミナル１０が生成する伝票番号シーケンシャルナンバーを含むデータである。端末識別情報は、例えば、ハンディターミナル１０の機器名称とハンディターミナル１０のシリアルナンバーとの組み合わせのデータである。伝票番号シーケンシャルナンバーは、ハンディターミナル１０がオーダー処理毎にインクリメント処理をすることによって生成される。例えば、複数の商品を１回の注文にて受け付けた場合には、１つのシーケンシャルナンバーが発行される。このオーダー登録機器情報は、ハンディターミナル１０を識別するとともに注文をそれぞれ識別することができるものであり、固有の情報である。
テーブル番号は、注文をした顧客が利用しているテーブルを識別する番号である。
人数情報は、注文をした顧客のグループの入店人数であり、１人または複数人の人数が登録される。
登録日付情報は、オーダーデータが注文データ管理装置に登録された日を示す情報である。
更新日付情報は、オーダーデータを更新した日付を示す情報である。
会計済みフラグは、オーダーデータが示す注文内容に対する会計がＰＯＳによって終了したか否かを示す情報である。
印字フラグは、印字を行う対象であるか否かを示す情報である。
印字完了フラグは、印字が完了したか否かを示す情報である。
データサイズは同一伝票番号内でのデータ量を示す情報である。
データ件数は、オーダーデータ内に含まれる注文内容の数を示す情報である。
チェック用データは、オーダーデータに誤りがあるか否かを判定するために用いる情報である。
次データ番地は、次の番地を示す情報である。
注文内容は、店員が顧客から受け付けた注文の内容を示す情報である。この注文内容には、必要に応じて付加情報が付加される。この付加情報は、例えば、注文内容をどの場所に設置されたプリンタで印字するかを指定する情報が含まれる。
【００４３】
図６は、注文データ管理装置の動作を示すフローチャートである。
まず、注文データ管理装置に電源が投入されると、注文データ管理装置は、起動し（ステップＳ１０１）、二重化通信を行う相手の注文データ管理装置と後述する同期処理を行い（ステップＳ１０２）、イベント（同期状態の変更、未印字のデータの存在の有無の判定、注文データの受信、等）が発生したか否かを監視し、イベント待ちをする（ステップＳ１０３）。
イベントが発生すると、注文データ管理装置は、そのイベントが同期状態の変更（二重化状態から単独状態への変更が生じたのか、または、単独状態から二重化状態への変更が生じたのか）のイベントであるか否かを判定する（ステップＳ１０４）。同期状態変更のイベントである場合には、ステップＳ１０２に移行し、同期状態変更のイベントではない場合には、自身が運転状態であるか待機状態であるかを判定する（ステップＳ１０５）。
【００４４】
待機状態である場合、注文データ管理装置は、ステップＳ１０３に移行する。一方、運転状態である場合、注文データ管理装置は、オーダーデータの印字完了フラグを参照し、未印字データがあるか否かを確認する（ステップＳ１０６）。
未印字データがある場合（ステップＳ１０８、”未印字データあり”）、注文データ管理装置は、後述する印字処理を行い（ステップＳ１０８）、ステップＳ１０３に移行し、未印字データがない場合（ステップＳ１０７、”Ｅｌｓｅ”）には、ハンディターミナル１０からデータを受信したか否かを確認し（ステップＳ１０９）、注文データに関する受信データがあるか否かを判定する（ステップＳ１１０）。
受信データがない場合、注文データ管理装置は、ステップＳ１０３に移行し、受信データがある場合には、後述する、ハンディターミナル１０から送信される注文内容の受信処理を行い（ステップＳ１１１）、ステップＳ１０３に移行する。
このようにデータ注文データ管理装置は、二重化通信を行う相手の注文データ管理装置との、同期処理を優先した動作を実施する。
【００４５】
次に、上述したステップＳ１１３の注文データ受信処理、ステップＳ１０２の同期処理、ステップＳ１０９の印字処理について、順次説明する。
【００４６】
（Ａ）注文データ受信処理
図７は、注文データ受信処理を説明するフローチャート、図８は、オーダーデータの登録の手順を表す図である。
注文データ管理装置は、受信処理（図７ステップＳ１１１）が開始され、ハンディターミナル１０から注文データを受信すると（図７ステップＳ２０２、図８ステップＳ４０１）、受信した注文データに含まれるオーダー登録機器情報と、注文データ管理装置の記憶部４３に記憶されたオーダーデータを参照して確認し（図７ステップＳ２０３）、同じオーダー登録機器情報が記憶され登録されているか否かを判定する（図７ステップＳ２０４）。
既に登録がされている場合（図７ステップＳ２０４、”登録済み”）、注文データ管理装置は、同じ注文データを受信したと判定し、既に受信していることを示す応答をハンディターミナル１０へ送信し（図７ステップＳ２１６）、受信処理を終了し（図７ステップＳ２１７）、図６ステップＳ１０３へ移行する。
【００４７】
一方、オーダー登録機器情報がまだ登録されていない場合、注文データ管理装置は、自身がメイン管理装置４０であるかサブ管理装置５０であるかを判定する（図７ステップＳ２０５）。注文データ管理装置は、前述のように、メイン管理装置４０であるかサブ管理装置５０であるかが事前設定されており、それを表すフラグを記憶している。その一例として、フラグが「１」である注文データ管理装置がメイン管理装置４０、フラグが「０」である注文データ管理装置がサブ管理装置５０を示す。このフラグを参照することで、メイン管理装置４０であるかサブ管理装置５０であるかを判断することができる。
自注文データ管理装置がメイン管理装置４０である場合（図７ステップＳ２０６、”メイン”）、自注文データ管理装置に割り当てられた伝票番号の範囲のうちいずれかの伝票番号（ここでは、１〜３０００のうち、まだ発行していない番号）をオーダーデータに追加し（図７ステップＳ２０７）、メイン管理装置４０の記憶部４３に記憶する（図７ステップＳ２０８、図８ステップＳ４０２）。
一方、自注文データ管理装置がサブ管理装置５０である場合（図７ステップＳ２０６、”サブ”）には、自注文データ管理装置に割り当てられた伝票番号の範囲のうちいずれかの伝票番号（ここでは、３００１〜６０００のうち、まだ発行していない番号）をオーダーデータに追加し（図７ステップＳ２０９）、サブ管理装置５０の記憶部４３に記憶する（図７ステップＳ２０８）。なお、オーダーデータは、図５に示したように、ハンディターミナル１０から受信した注文データの他に種々の情報を含んでいる。
【００４８】
次に、注文データ管理装置は、オーダーデータの記憶が成功したか否かを判定し、失敗した場合（図７ステップＳ２１０、”失敗”）は、エラー処理を行い（図７ステップＳ２１１）、成功した場合（図７ステップＳ２１０、”成功”）には、二重化通信をする相手の注文データ管理装置と通信することができるか否かおよび自注文データ管理装置がメインであるか否かに基づいて、現在の二重化の状態を判定する（図７ステップＳ２１２）。
二重化通信をする相手の注文データ管理装置と通信することができない場合、または自注文データ管理装置がサブ管理装置５０である場合（図７ステップＳ２１３、”二重化メインではない”）、注文データ管理装置は、ステップＳ２１６に移行してハンディターミナル１０に応答を送信する。
一方、二重化通信をする相手の注文データ管理装置と通信することができ、かつ、自注文データ管理装置がメイン管理装置４０である場合（図７ステップＳ２１３、”二重化状態でメイン”）、自注文データ管理装置が記憶したオーダーデータと同じデータをサブ管理装置５０に送信して記憶させる（図７ステップＳ２１４、図８ステップＳ４０３）。
【００４９】
ステップＳ２１４においてオーダーデータをサブ管理装置５０に追加した後、メイン管理装置４０は、サブ管理装置５０でオーダーデータの追加を行うことができたかを判定し、サブ管理装置５０からオーダーデータ追加成功の応答があった場合（図７ステップＳ２１５、”成功”）には、追加成功と判定し、ハンディターミナル１０へ応答を送信する（図７ステップＳ２１６、図８ステップＳ４０４）。
一方、サブ管理装置５０でオーダーデータ追加が失敗した場合（図７ステップＳ２１５、”失敗”）、メイン管理装置４０は、再度同期処理を行うことを決定し（図７ステップＳ２１８）、ハンディターミナル１０へ登録失敗が失敗したことを示す応答を送信する（図７ステップＳ２１９）。
【００５０】
ここで、図８ステップＳ４０１〜Ｓ４０４の途中で、通信が途切れた場合には、下記のような手順にてオーダーデータを処理する。
ステップＳ４０１、４０２、４０４において通信が切断された場合、ハンディターミナル１０への注文データ登録完了応答（ステップＳ４０４）が行われないことから、ハンディターミナル１０は、何らかの原因で注文データ管理装置へのオーダーデータの登録に失敗したと判断し、注文データの再送信を実施する。
これにより、メイン管理装置４０は、通信状況によっては、注文データを再度受信し、再度、オーダーデータの記憶（登録）処理を実施する。よって、メイン管理装置４０またはサブ管理装置５０に対し、オーダーデータが二重に登録されてしまう可能性がある。しかし、ハンディターミナル１０から注文データを再度受信した際、受信したオーダー登録機器情報と記憶部に記憶されたオーダーデータのオーダー登録機器情報を比較し（図７ステップＳ２０３）、同じオーダー登録機器情報が存在する場合（図７ステップＳ２０４、”登録済み”）には、オーダーデータの登録を行わないで、ハンディターミナル１０へ、完了通知を送信する（図７ステップＳ２１６）。
なお、ステップＳ４０３のサブ管理装置５０へのデータ送信と記憶の処理に失敗した場合には、再度、同期処理を行うことを決定する。これは図７のステップＳ２１５、Ｓ２１８に相当する。その後、図６のフローにおけるステップＳ１１３の受信処理を完了し、同期状態変更イベントが発生した、ということで、ステップＳ１０２において同期処理を実行する。
このようにして、オーダーデータが二重に登録されることを回避する。
【００５１】
図９は、受信したオーダー登録機器情報と記憶部に記憶されるオーダー登録機器情報について説明する図である。ここでは、ハンディターミナル１０ａとハンディターミナル１０ｂとがメイン管理装置４０に接続され、メイン管理装置４０とサブ管理装置５０とが接続されている場合について説明する。また、ここでは、ハンディターミナル１０ａの端末識別情報が「８８５５８１２」であり、ハンディターミナル１０ｂ端末識別情報が「０９０１３５」である場合を一例として説明する。
ハンディターミナル１０ａは、店員によって注文に応じた内容が入力されると、注文内容を含む注文データをメイン管理装置４０に送信する（ステップＳ５０１）。この注文データの伝票番号シーケンシャルナンバーは「１２３４」であるものとする。
メイン管理装置４０は、この注文データをハンディターミナル１０ａから受信すると、受信した注文データに含まれるオーダー登録機器情報と一致するオーダー登録機器情報が記憶部４３に記憶されているか否かを判定する。ここでは記憶されていないので、記憶部４３にメイン管理装置のオーダーデータとして追加して記憶し（ステップＳ５０２）、応答信号をハンディターミナル１０ａへ送信し（ステップＳ５０３）、バックアップ用オーダーデータ書込み処理を行う。ここでは、伝票番号「０００１」であって、オーダー登録機器情報が「ＨＴ８８５５１２−１２３４」である注文データが、メイン管理装置４０からサブ管理装置５０へサブ管理装置のオーダーデータとしてコピーされる（符号Ａ）。
【００５２】
次に、ハンディターミナル１０ｂは、店員によって注文に応じた内容が入力されると、注文内容を含む注文データをメイン管理装置４０に送信する（ステップＳ５０４）。この注文データの伝票番号シーケンシャルナンバーは「９８７６」であるものとする。
メイン管理装置４０は、この注文データをハンディターミナル１０ｂから受信すると、受信した注文データに含まれるオーダー登録機器情報と一致するオーダー登録機器情報が記憶部４３に記憶されているか否かを判定する。ここでは記憶されていないので、記憶部４３に記憶し（ステップＳ５０５）、応答信号をハンディターミナル１０ｂへ送信し、バックアップ用オーダーデータ書込み処理を行う。ここでは、伝票番号「０００２」であって、オーダー登録機器情報が「ＨＴ０９０１３５−９８７６」である注文データが、メイン管理装置４０からサブ管理装置５０へコピーされ追加登録される（符号Ｂ）。なお、メイン管理装置４０とハンディターミナル１０ｂとの間で通信不良が発生すると、応答信号が、正常にハンディターミナル１０ｂに受信されない（ステップＳ５０６）。
次に、ハンディターミナル１０ａは、店員によって注文に応じた内容が入力されると、注文内容を含む注文データをメイン管理装置４０に送信する（ステップＳ５０７）。この注文データの伝票番号シーケンシャルナンバーは「１２３５」であるものとする。
メイン管理装置４０は、この注文データをハンディターミナル１０ａから受信すると、記憶部４３に記憶し（ステップＳ５０８）、応答信号をハンディターミナル１０ａへ送信し（ステップＳ５０９）、バックアップ用オーダーデータ書込み処理を行う。ここでは、伝票番号「０００３」であって、オーダー登録機器情報が「ＨＴ８８５５１２−１２３５」である注文データが、メイン管理装置４０からサブ管理装置５０へコピーされ追加登録される（符号Ｃ）。
【００５３】
次に、ハンディターミナル１０ａは、店員によって注文に応じた内容が入力されると、注文内容を含む注文データをメイン管理装置４０に送信する（ステップＳ５１０）。この注文データの伝票番号シーケンシャルナンバーは「１２３６」であるものとする。
メイン管理装置４０は、この注文データをハンディターミナル１０ａから受信すると、記憶部４３に記憶し（ステップＳ５１１）、応答信号をハンディターミナル１０ａへ送信し（ステップＳ５１２）、バックアップ用オーダーデータ書込み処理を行う。ここでは、伝票番号「０００４」であって、オーダー登録機器情報が「ＨＴ８８５５１２−１２３６」である注文データが、メイン管理装置４０からサブ管理装置５０へコピーされ追加登録される（符号Ｄ）。
一方、ハンディターミナル１０ｂは、ステップＳ５０４において送信した注文データに対する応答信号を受信したか否かを監視しており、一定時間が経過しても受信できない場合には、タイムアウトが発生したことを検出する。そして、ステップＳ５０４において送信した注文データを再度、メイン管理装置４０に送信する（ステップＳ５１３）。メイン管理装置４０は、受信した注文データに含まれるオーダー登録機器情報と一致するオーダー登録機器情報が記憶部４３に記憶されているか否かを判定する。ここでは、既に記憶されているため、記憶部４３の書き換えを行わず、応答信号をハンディターミナル１０ｂへ送信する。ハンディターミナル１０ｂは、この応答信号を受信する。
このように、メイン管理装置４０は、未登録である注文データを受信した場合に、自身の記憶部４３に記憶するとともに、バックアップ用オーダーデータ書込み処理を行い、サブ管理装置５０とオーダーデータの完全一致を図ることができる。
【００５４】
（Ｂ）同期処理
次に、同期処理（図６ステップＳ１０２）について説明する。
同期処理（二重化状態においてメイン管理装置４０とサブ管理装置５０のデータの完全一致を確認し維持する処理）は、図６のステップＳ１０２〜Ｓ１０４にあるように、注文データ管理装置の動作の中で優先度が最も高い。注文データ管理装置は、相手の注文データ管理装置と通信ができないなどの二重化状態から単独状態への状態遷移または、単独状態から二重化状態への状態遷移するイベントが発生すると、即座に同期処理に移行する。注文データ管理装置は起動後、メイン管理装置とサブ管理装置間での通信障害の発生や、オーダーデータの不整合が生じたことを常に監視していて、通信障害やオーダーデータの不整合が生じた場合に、同期イベントを発生させ、同期処理が実行されることにより、データの完全一致が確保され、不整合を解消し、同じデータをお互いに記憶することができる。
【００５５】
図１０および図１１は、同期処理について説明するフローチャートである。
同期処理（図１０ステップＳ１０２）が開始されると、注文データ管理装置は、自注文データ管理装置がメイン管理装置４０であるかサブ管理装置５０であるかを判定する（図１０ステップＳ６０２）。この判定の仕方は、図７の受信処理のステップＳ２０５の処理と同等である。
【００５６】
メインとサブの判定が行われ自注文データ管理装置がメイン管理装置４０であると判定すると（図１０ステップＳ６０３”ＹＥＳ”）、注文データ管理装置は、マージデータが自身の記憶部４３に存在するか否かを判定する（図１０ステップＳ６０４、Ｓ６０５）。これは、前回の同期処理におけるデータ同期においてマージデータが作成され、それが自注文データ管理装置のオーダーデータにコピーされる前に電源が落とされた場合を想定している。注文データ管理装置は電源が落とされても作成したマージデータを保持しつづけ、次の同期処理においてそのマージデータを自注文データ管理装置のオーダーデータにコピーする仕組みとなっている。よって、マージデータが存在する場合（ステップＳ６０５、”あり”）、注文データ管理装置は、マージデータを自注文データ管理装置のオーダーデータにコピー（上書き）をする（図１０ステップＳ６０６）。マージデータが存在しない場合（ステップＳ６０５、”なし”）図１０ステップＳ６０７へ処理を進める。
【００５７】
注文データ管理装置は、二重化通信をする相手の注文データ管理装置と通信できるか否かを判定し（図１０ステップＳ６０７、図１１ステップＳ６０８）、二重化通信をする相手の注文データ管理装置と通信できない、または、相手となる注文データ管理装置がいない場合（ステップＳ６０８、”なし”）には、自注文データ管理装置の稼動フラグをＯＮにし、「運転状態」かつ「単独運転状態」にする（図１１ステップＳ６３０）。
ここで、稼動フラグに関して、オーダーエントリシステム内でのデータ受信、データ管理およびデータ制御を主体的に実行する、「運転状態」にある場合を稼動フラグ「ＯＮ（稼動）」とする。一方、稼動フラグが「ＯＮ」の装置からデータを受信して記憶する、いわゆるバックアップ動作を行う「待機状態」にある場合や、何らかの理由により装置が動作せず「障害状態」にある場合を、稼動フラグ「ＯＦＦ（非稼動）」とする。
注文データ管理装置は、図１１ステップＳ６３０において稼動フラグがＯＮになることにより、二重化通信をする相手の注文データ管理装置がいない（稼動していない）のだが、自注文データ管理装置が稼動できるので、「運転状態」でかつ「単独運転状態」になる。
【００５８】
一方、二重化通信をする相手の注文データ管理装置と通信できた場合（図１１ステップＳ６０８、”あり”）、注文データ管理装置は、メイン管理装置４０とサブ管理装置５０との間の有線通信の状況を検出する（図１１ステップＳ６０９）。
注文データ管理装置は、無線通信や有線通信などの複数の通信手段によって相互接続性を維持している。複数ある通信手段の全てで相互接続性が保たれている場合はよいが、例えば、一方の注文データ管理装置の有線通信手段に障害（故障またはケーブル抜けなど）があり、他方の注文データ管理装置の有線通信手段に障害がなくＨＵＢ６３との良好に通信できる場合、メイン管理装置４０とサブ管理装置５０との間の通信は、無線通信でのみ相互接続が保たれていることになる。一般に、無線通信による接続は、有線通信と比較して不安定である。また、オーダーエントリシステム内の装置は、ＨＵＢ６３を介して注文データ管理装置とデータ送受信することがある。よって、ここでは、メイン管理装置４０（自身）とサブ管理装置５０との間の有線通信の状況（通信可であるか、通信不可であるか）を検出し、システム全体を考えたときにどちらの注文データ管理装置を稼動状態とするべきかを決定する。
メイン管理装置４０とサブ管理装置５０との間の有線通信が可である場合（図１１ステップＳ６０９、”可”）、ステップＳ６１３に進む。
【００５９】
一方、メイン管理装置４０とサブ管理装置５０との間の有線通信が不可である場合（図１１ステップＳ６０９、”不可”）、図１１ステップＳ６１０に進む。ステップＳ６１０、Ｓ６１１、Ｓ６１２では、有線通信の状況を加味してそれぞれの装置の稼動フラグや稼動状態を変更する（稼動状態変更手段の機能に相当する）。
図１１ステップＳ６１０において、有線通信が不可となっているのがどちらの注文データ管理装置であるかを判定する。メイン管理装置４０とＨＵＢ６３まで有線通信の状況に関わらず、サブ管理装置５０とＨＵＢ６３まで有線通信が不可の場合（図１１ステップＳ６１０、”サブ：有線不可”）、サブ管理装置５０の稼動フラグを「ＯＦＦ」とし、状態を「障害状態」とする。そして、メイン管理装置４０の稼動フラグを「ＯＮ」にし、状態を「単独運転状態」とする（ステップＳ６１２）。その後、図１１ステップＳ６２０に進み、同期処理を終了し、図６ステップＳ１０３に移行する。
一方、サブ管理装置５０のＨＵＢ６３まで有線通信が可の場合（図１１ステップＳ６１０、”サブ：有線可”）、メイン管理装置４０とＨＵＢ６３まで有線通信の状況は不可であることになる。よって、サブ管理装置５０の稼動フラグを「ＯＮ」にし、状態を「単独運転状態」とする。そして、メイン管理装置４０の稼動フラグを「ＯＦＦ」にし、状態を「障害状態」とする（図１１ステップＳ６１１）。その後、図１１ステップＳ６２３に進み、同期処理を終了する。
図１１ステップＳ６０９に戻り、メイン管理装置４０とサブ管理装置５０との間の有線通信が可である場合（図１１ステップＳ６０９、”可”）、注文データ管理装置は、自注文データ管理装置の前回の稼動フラグを読み出し、二重化通信をする相手の注文データ管理装置からは、通信によって前回の稼動フラグを取得する（図１１ステップＳ６１３）。
【００６０】
そして、メイン管理装置４０が非稼動（ＯＦＦ）でありサブ管理装置５０が稼動（ＯＮ）である場合（図１１ステップＳ６１４”メイン：非稼動、サブ：稼動”）、メイン管理装置４０は、サブ管理装置５０のデータを自注文データ管理装置にコピーし（図１１ステップＳ６２５）、メイン管理装置４０の稼動フラグをＯＮにし「二重化運転状態」、サブ管理装置５０の稼動フラグをＯＦＦ「待機状態」にする（図１１ステップＳ６２１）。前回、メイン管理装置４０が非稼動でありサブ管理装置５０が稼動である場合とは、例えば、サブ管理装置５０が継続して動作状態にあり、メイン管理装置４０が「異常状態」またはメイン管理装置４０の電源が切断されていた場合、あるいはメイン管理装置４０とＨＵＢ６３まで有線通信の状況が不可であったことである。
一方、メイン管理装置４０の稼動フラグが稼動（ＯＮ）であり、サブ管理装置５０が非稼動（ＯＦＦ）である場合（図１１ステップＳ６１４、”メイン：稼動、サブ：非稼動）、メイン管理装置４０は、自注文データ管理装置のデータをサブ管理装置５０にコピーし（ステップＳ６１５）、メイン管理装置４０の稼動フラグをＯＮ「二重化運転状態」にし、サブ管理装置５０の稼動フラグをＯＦＦ「待機状態」にする（ステップＳ６２１）。前回、メイン管理装置４０の稼動フラグが稼動（ＯＮ）であり、サブ管理装置５０が非稼動（ＯＦＦ）である場合とは、例えば、メイン管理装置４０が「単独稼動状態」にあり、サブ管理装置５０が「異常状態」または電源が切断されていた場合、あるいはサブ管理装置５０とＨＵＢ６３まで有線通信の状況が不可の場合である。
【００６１】
他方、メイン管理装置４０とサブ管理装置５０の稼動フラグが共に同じであり、ともに停止状態または運転状態である場合、メイン管理装置４０は、自注文データ管理装置の記憶部４３に記憶されたオーダーデータの更新日付情報とデータサイズと、二重化通信をする相手のサブ管理装置５０に記憶されたオーダーデータの更新日付情報とデータサイズとを比較する（図１１ステップＳ６１６）。いずれも一致する場合（図１１ステップＳ６１７、”一致”）、メイン管理装置４０は、オーダーデータがメイン管理装置４０とサブ管理装置５０とで完全一致が保たれていると判断し、図１１ステップＳ６２１に移行する。いずれか１つでも一致しない場合（図１１ステップＳ６１７，”不一致”）、３００１以上の伝票番号のオーダーデータがサブ管理装置５０の記憶部に記憶されているか否かを判定する（図１１ステップＳ６１８）。３００１以上の伝票番号のデータがある場合には（図１１ステップＳ６１９、”あり”）、データの完全一致を図るためにデータ同期処理（図１１ステップＳ６２０）を行い、図１１ステップＳ６２１に移行する。サブ管理装置５０が運転状態をとり、ハンディターミナル１０から注文データを受信して伝票番号を付与した実績がある場合、メイン管理装置４０にはそのオーダーデータが記憶されていない可能性もあるため、データ同期の処理が必要となる。
【００６２】
一方、３００１以上の伝票番号のデータがない場合（図１１ステップＳ６１９，”なし”）、メイン管理装置４０は、サブ管理装置５０にしかないオーダーデータが存在しないと判断し、メイン管理装置４０のデータをサブ管理装置５０へコピーし（図１１ステップＳ６１５）、メイン管理装置４０の稼動フラグをＯＮ「運転状態」にし、サブ管理装置５０の稼動フラグをＯＦＦ「待機状態」にし（ステップＳ６２１）、同期処理を終了し（図１１ステップＳ６２３）、図６ステップＳ１０３に移行する。
【００６３】
次に、図１１ステップＳ６２０のデータの同期処理についてさらに説明する。データ同期処理は、注文データ管理装置間のデータに相違があり、且つ、サブ管理装置５０が「運転状態」たった形跡がある場合に行う、データの完全一致を図る処理である。
図１２は、図ステップＳ６２０におけるデータ同期処理について説明するフローチャートである。
このデータ同期処理が開始されると（ステップＳ６２０）、メイン管理装置４０は、サブ管理装置５０のデータをサブ参照データとしてコピーをする（ステップＳ７１）。
次に、メイン管理装置４０は、自注文データ管理装置のオーダーデータについて、自注文データ管理装置に記憶されたサブ参照データを比較し、メイン管理装置４０に存在せずサブ参照データに存在するオーダーデータを抽出し、マージ（統合）してマージデータを生成する（ステップＳ７２）。具体的には、メイン管理装置４０に記憶されているオーダーデータと、サブ管理装置５０に記憶されているオーダーデータ（サブ参照データ）とを合わせ、その中から、同じオーダー登録機器情報を有するオーダーデータを削除することで、重複データのない統合データ（マージデータ）を作成する。
【００６４】
次に、注文データ管理装置は、自注文データ管理装置が記憶するオーダーデータについて、オーダー登録機器情報が重複するか否かを判定し（ステップＳ７３）。そして、重複がない場合には（ステップＳ７４、”重複なし”）、ステップＳ７６に移行し、重複がある場合には（ステップＳ７４、”重複あり”）、確認データリストを作成するとともに、このリストを伝票データとして無線プリンタ６０または有線プリンタ６１に印字させる（ステップＳ７５）。
次いで、マージされ生成されたマージデータから、例えば、未会計状態のオーダーデータ抽出し、未会計オーダー情報をアラート用の伝票データとして作成し、このアラート用の伝票データを無線プリンタ６０または有線プリンタ６１に印字させる（ステップＳ７６）。そして、メイン管理装置４０は、自注文データ管理装置の、マージデータをサブ管理装置５０に送信してコピーをし（ステップＳ７７）、自注文データ管理装置の、マージデータを自注文データ管理装置のオーダーデータにコピーし（ステップＳ７８）、データ同期処理を終了し（ステップＳ７９）、図１１ステップＳ６２１に移行する。
【００６５】
以上説明したデータ同期処理においては、ステップＳ７２においてマージ処理をすることで作成されたマージデータが、ステップＳ７８において新たなオーダーデータとなるため、少なくともそれまでのオーダーデータよりもデータ量が大きくなる。よって、ヘッダ情報に含まれる（全オーダーデータに関する）データサイズやデータ数等が、今回の処理によって増加したオーダーデータの内容に応じて変更される。
オーダーデータの、伝票番号、およびオーダー登録機器情報は、上述したように必ずユニークなデータである。このため、メイン管理装置４０のデータと、サブ管理装置５０のデータとのマージ処理時に同じ伝票番号があった場合には、メイン管理装置４０は、更新日付が同じであるかを判定する。注文データ管理装置が無線プリンタ６０または有線プリンタ６１に印字させる命令を送信する際に通信不良等で送信ミスが生じると、データ再送が行われ、これにより同一伝票番号のデータが複数存在する場合がある。よって、更新日付が異なり、かつ両方の伝票とも会計完了がされていない場合には、未会計処理（レジにて支払いを済ませていない）オーダーデータになり、これらの伝票一覧をステップＳ７６において伝票データを生成して、無線プリンタ６０または有線プリンタ６１によって印刷をし、このシステムを使用するユーザ（店員）に未会計オーダーアラートを通知する。これは、データが変更されていることを示しているため、無線プリンタ６０または有線プリンタ６１等に伝票データが送られて印刷されることにより、データ変更が発生していることをユーザ（店員）に明示することができる。ここでは、伝票データに基づいて、表示装置９０に表示することにより、アラートを行ってもよい。
なお、オーダーデータは、更新日付の新しいものを採用し、１つのマージデータとして登録する。
【００６６】
以上説明した実施形態によれば、ハンディターミナル１０が注文データにユニークなオーダー登録機器情報を付与して送信し、メイン管理装置４０が、受信した注文データについて、自注文データ管理装置が事前設定でメインとして設定されているか否かで、伝票番号の数値範囲を異ならせて付与する。そして、メイン管理装置４０とサブ管理装置５０との間でデータの完全一致を判定し維持するために同期処理が必要となり、同期処理を実施する際、（１）前回のそれぞれの動作状態を判断し、どちらも同じ運転状態であれば、（２）オーダーデータのファイルの日付や容量を検出し、両注文データ管理装置間でオーダーデータの不一致がある場合には、（３）オーダーデータにサブ管理装置５０が付与した伝票番号のオーダーデータが存在するか否かを判断し、そのようなオーダーデータがある場合にのみ、データ同期処理を実行して、注文データ管理装置間のオーダーデータについて重複なく統合するマージ処理を行い、両注文データ管理装置にマージしたオーダーデータをコピーする。
これにより、既に記憶されたオーダーデータを欠落させることなく、注文データ管理装置間でお互いにオーダーデータを補完しつつ、記憶することができ、データの同期をとることができる。
【００６７】
また、メイン管理装置４０が付与する伝票番号とサブ管理装置５０が付与する伝票番号について、付与する範囲を分けるようにしたので、メイン管理装置４０が「運転状態」で稼動した場合とサブ管理装置５０が「運転状態」で稼動した場合とを伝票番号を確認することで識別することができる。
注文データ管理装置は、起動時や、注文データ管理装置間で何らかの原因によってデータの完全一致が乱れた場合、二重化通信をする相手の注文データ管理装置との通信に障害が発生した際などに、注文データ管理装置間の通信状態の検出とオーダーデータの欠落を防ぎデータの完全一致を保つため、同期処理を行う。しかし同期処理の、データの完全一致を保つ処理（データ同期処理）に関して、従来は、オーダーデータの差分を確認して両注文データ管理装置にコピーする処理が必要であった。これは、注文データ管理装置間のオーダーデータの１つ１つについて整合性を確認する処置であるため、かなり長い時間を要する処理である。
【００６８】
しかし、本実施形態のように、伝票番号の番号体系を、伝票番号を付与する注文データ管理装置間で異ならせたことによって、データ同期処理が必要な状態、すなわち、以前、サブ管理装置５０が稼動したイレギュラーな運転状態が存在したことを容易に確認することができる。これにより、注文データ管理装置が同期処理を行う際、毎回、従来のように、長い時間をかけてデータ１つ１つの整合性を確認しながら差分をコピーするというデータ同期処理を実施する頻度を減らすことができ、結果的に同期処理に要する時間を短縮することができる。これは特に、（注文データ管理装置の同期処理について特段の異常があったわけではなく）通常の起動をするために注文データ管理装置に電源を投入した際、不必要なデータ同期処理を行わなくてすむにようになったことにより、従来と比較してすばやく起動できる、という点から、非常に有効な効果である。
【００６９】
また、上述した図１２のマージ処理において、マージするオーダーデータの伝票番号は、マージ処理によって変更しないため、メイン管理装置４０かサブ管理装置５０のどちらで登録されたオーダーデータなのかを、注文データ管理装置の次の起動時に容易に判別することができる。これにより、注文データ管理装置の起動時の同期処理において、サブ管理装置５０に記憶されたオーダーデータから伝票番号を確認し、伝票番号が３００１以上の情報がないことが確認できれば（ステップＳ６１７、Ｓ６１８）、オーダー登録機器情報やファイル日付や容量の一致が確認できなくても、サブ管理装置５０でオーダーデータを受けた形跡はないということになり、メイン管理装置４０のデータをそのままサブ管理装置５０へオーダーデータとしてコピーすればよいこととなる（ステップＳ６１５）。これにより、時間を要するデータ同期処理を行わなくてすむため、同期処理にかかる時間を短縮し、高速化を図ることができる。
【００７０】
（Ｃ）印字処理
次に、図６のステップＳ１０９の印字処理について説明をする。
注文データ管理装置がハンディターミナル１０から注文データを受信し、注文データ管理装置上に、このデータを記憶する場合、どのプリンタに対して伝票データを出力するかを決定する。この際、図５のオーダーデータの印字フラグのデータが確定する。
図１３は、印字フラグのデータの一例を表す図である。印字フラグには、無線プリンタ６０または有線プリンタ６１を表す印字先１〜Ｎのそれぞれについて、フラグが設定されている。このフラグが例えば「１」である印字先が印字を行うことを表し、「０」である印字先が印字を行わないことを表す。
注文データ管理装置は、この印字フラグを参照し、印字することが指定されている印字先のプリンタに対し、処理対象となっている伝票データを送信する。そして、送信が完了した場合には、その送信を行った印字先の印字完了フラグの印字済であることを表すフラグに書き換える。
【００７１】
図１４は、印字完了フラグのデータの一例を表す図である。印字完了フラグには、無線プリンタ６０または有線プリンタ６１を表す印字先１〜Ｎのそれぞれについて、フラグが設定されている。このフラグが例えば「１」である印字先については、伝票データを送信済であることを表し、「０」である印字先については、伝票データの送信が完了していないことを表す。
図１３、図１４においては、印字先１、印字先２に対して伝票データの出力が行われ、既に印字出力先１には伝票データが出力済みであることを示している。二重化の同期後に上記フラグを読み込み、印字フラグが印字を表すフラグであるにも関わらず、印字完了フラグが印字完了を表すフラグではない場合には、伝票データ出力処理を行って印字を行わせ、印字完了フラグを印字済に書き換える。
【００７２】
以上説明した実施形態によれば、注文データ管理装置に予期せぬハードウェアの故障や、通信障害などが生じ、いかなるタイミングで電源断となっても、ハンディターミナルが送信する注文データにユニークなオーダー登録機器情報が付与され、その注文データに基づき注文データ管理装置が記憶するオーダーデータに注文データ管理装置毎に番号体系が異なる伝票番号が付与されて、上記図１０から図１２で説明した同期処理を実施することにより、注文データ管理装置間においてデータの完全一致性が保たれる。これは、注文データ管理装置の記憶部にあるデータは電源断では消失せず、注文データ管理装置間で同期処理を実施中に電源断となっても、次回の起動時に、記憶部にあるデータによって再度同期処理を実施することができ、同期処理によって作成したマージデータを両注文データ管理装置に上書きする前に電源断となっても、マージデータは消失せず、次回の起動時に自注文データ管理装置に上書き処理をすることができる、という仕組みによる。
【００７３】
また、同期処理において、メイン・サブの両方の注文データ管理装置の前回の稼動フラグが、互いに異なる場合は、データのファイル日付やサイズ確認、サブ管理装置５０が付与した伝票番号があるかの確認、そしてそのような伝票番号がある場合のデータ同期処理を実施する、といった一連の確認や処理を実施する必要ない。メイン・サブの両方の注文データ管理装置の前回の稼動フラグが、互いに異なる場合には一方の注文データ管理装置のデータを他方の注文データ管理装置へと単純にコピーするだけでよく、処理時間を短くすることが可能である。
【００７４】
また、図１における注文データ管理装置（メイン管理装置４０またはサブ管理装置５０）の機能を実現するためのプログラムをコンピュータが読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりデータ管理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００７５】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合におけるサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるものであってもよい。
【００７６】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００７７】
１０  ハンディターミナル
２０  据置ターミナル
３０  無線制御装置
４０  メイン管理装置（注文データ管理装置）
５０  サブ管理装置（注文データ管理装置）
６０  無線プリンタ
６１  有線プリンタ
８０  バーコードリーダ
９０  表示装置
【図１】
0005634792.tif 000002
【図２】
0005634792.tif 000003
【図３】
0005634792.tif 000004
【図４】
0005634792.tif 000005
【図５】
0005634792.tif 000006
【図６】
0005634792.tif 000007
【図７】
0005634792.tif 000008
【図８】
0005634792.tif 000009
【図９】
0005634792.tif 000010
【図１０】
0005634792.tif 000011
【図１１】
0005634792.tif 000012
【図１２】
0005634792.tif 000013
【図１３】
0005634792.tif 000014
【図１４】
0005634792.tif 000015
【図１５】
0005634792.tif 000016