(57)【要約】【課題】  障害が発生しシステム切り替えが行われた場合にも障害発生前の状況を引き継いで伝票を印刷する注文情報管理システムを提供する。【解決手段】  注文識別情報と、出力装置ごとに出力済みか否かの出力経過情報とを対応付けて注文情報として記憶する注文情報記憶手段と、出力経過情報に基づいて出力装置に伝票出力命令を送信する伝票出力手段と、出力装置から伝票出力完了情報を受信した場合、出力経過情報を出力済みの状態に更新する出力済情報更新手段と、自装置が待機系装置である場合、稼動系装置に障害が発生したことを検知すると、注文情報記憶手段から出力済みでない出力経過情報を含む注文情報を未出力伝票情報として検出し、出力装置に未出力伝票情報の伝票出力命令を送信する障害時伝票出力手段とを備えることを特徴とする注文情報管理装置。【選択図】  図１
2008197958.tif 000002
【特許請求の範囲】
【請求項１】
稼動系装置に異常を検知すると待機系装置が稼動するように二重化して用いられる注文情報管理装置であって、
注文識別情報と、出力装置ごとに出力済みか否かの出力経過情報とを対応付けて注文情報として記憶する注文情報記憶手段と、
前記出力経過情報に基づいて前記出力装置に伝票出力命令を送信する伝票出力手段と、
前記出力装置から伝票出力完了情報を受信した場合、前記出力経過情報を出力済みの状態に更新する出力済情報更新手段と、
自装置が待機系装置である場合、稼動系装置に障害が発生したことを検知すると、前記注文情報記憶手段から出力済みでない出力経過情報を含む注文情報を未出力伝票情報として検出し、出力装置に前記未出力伝票情報の伝票出力命令を送信する障害時伝票出力手段と
を備えることを特徴とする注文情報管理装置。
【請求項２】
前記注文情報は、前記出力装置ごとに前記出力経過情報に対応して設けられ、前記出力装置に出力する必要があるか否かを示す出力先情報を含む
ことをさらに特徴とする請求項１に記載の注文情報管理装置。
【請求項３】
前記出力経過情報と前記出力先情報とは、前記出力装置ごとの情報をそれぞれ最低１ビットで示す情報であること
をさらに特徴とする請求項１または請求項２に記載の注文情報管理装置。
【請求項４】
注文入力端末と、出力装置と、稼動系装置に異常を検知すると待機系装置が稼動するように二重化された注文情報管理装置とを備える注文情報管理システムであって、
前記注文入力端末は、
品目情報の入力を受付け、注文情報管理装置へ送信し、
前記出力装置は、
前記注文管理装置から受信する伝票情報を出力し、
前記注文管理装置は、
注文識別情報と、前記品目情報と、前記出力装置ごとに出力済みか否かの出力経過情報とを対応付けて注文情報として記憶する注文情報記憶手段と、
前記出力経過情報に基づいて前記出力装置に伝票出力命令を送信する伝票出力手段と、
前記出力装置から伝票出力完了情報を受信した場合、前記出力経過情報を出力済みの状態に更新する出力済情報更新手段と、
自装置が待機系装置である場合、稼動系装置に障害が発生したことを検知すると、前記注文情報記憶手段から出力済みでない出力経過情報を含む注文情報を未出力伝票情報として検出し、出力装置に前記未出力伝票情報の伝票出力命令を送信する障害時伝票出力手段と、を備える
ことを特徴とする注文情報管理装置システム。
【請求項５】
稼動系装置に異常を検知すると待機系装置が稼動するように二重化された注文情報管理方法であって、
注文情報記憶手段が、注文識別情報と、出力装置ごとに出力済みか否かの出力経過情報とを対応付けて注文情報として記憶する工程と、
伝票出力手段が、前記出力経過情報に基づいて前記出力装置に伝票出力命令を送信する工程と、
出力済情報更新手段が、前記出力装置から伝票出力完了情報を受信した場合、前記出力経過情報を出力済みの状態に更新する工程と、
障害時伝票出力手段が、自装置が待機系装置である場合、稼動系装置に障害が発生したことを検知すると、前記注文情報記憶手段から出力済みでない出力経過情報を含む注文情報を未出力伝票情報として検出し、出力装置に前記未出力伝票情報の伝票出力命令を送信する工程と
を備えることを特徴とする注文情報管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レストラン等で利用する注文情報管理装置、システム、および方法に関する。
【背景技術】
【０００２】
従来、フロアスタッフ（ウェイター／ウェイトレス）が来店客に注文を受けて料理を提供するレストラン等において、注文情報を電子データで管理する注文情報管理システムが実施されている。このような注文情報管理システムでは、フロアスタッフが来店客に注文品を聞き、専用の注文入力端末に注文を入力すると、注文情報がコントローラ（サーバ）に送信され、蓄積される。また、このようにコントローラに蓄積された注文情報を損失しないために、稼動系／待機系の複数のコントローラを用意してアクティブスタンバイを構成するシステムが提案されている（例えば、特許文献１参照）。複数のコントローラにリアルタイムでデータバックアップを行い、障害発生時には待機系のコントローラを動作させることで、データの保護とシステム停止の回避を行っている。
【特許文献１】特開２０００−２０７４６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このような多重化された注文情報管理システムにおいて、コントローラが有線もしくは無線ネットワークを介して接続された各プリンタに、用途に合わせた伝票形式で注文内容を印刷することが考えられる。例えば、調理指示用のプリンタには調理の必要な注文品名とその個数を、ドリンク用のプリンタには注文されたドリンク名とその個数を、ゲスト用のプリンタには注文品名と個数と値段と注文品の値段合計とを印刷するような構成である。
【０００４】
一般的に、このような注文情報管理システムのコントローラでは、処理効率を上げるため、注文入力端末からの注文情報を処理する注文入力処理機能とプリンタへの印刷処理を行う印刷処理機能とが別プロセスにて構成されている。このため、注文入力処理機能は記憶部へ注文情報を記憶させ、印刷処理機能は記憶部から注文情報を読み込んで出力する。そのため、突然障害が発生してコントローラがダウンした場合には、どこまで印刷が完了しているかわからなくなってしまっていた。
【０００５】
また、障害時に稼動系装置から待機系装置に稼動が切り替わった場合、オーダー情報の転送漏れや、伝票出力漏れが発生することが考えられる。注文入力端末からコントローラへのオーダー情報の転送漏れは、注文入力端末から再送することで確認ができるが、伝票の出力漏れは、プリンタの設置場所が店舗フロア内の広範囲にわたる場合があること、メニューや伝票の用途によって伝票形式が異なることなどから、確認の作業が行いづらい。そのため、従来は、直近に登録されたオーダー情報の一覧を出力し、人間が各プリンタの設置場所を巡って、出力された伝票を拾い集めてつき合わせ、伝票出力漏れの有無を確認し、伝票出力漏れがある場合は、プリンタ等を直接操作し、伝票の発行をおこなっていた。
【０００６】
このような場合、システムの切り替えによる起動処理等に時間がかかる場合がある上、フロアスタッフにとっても伝票出力の確認や再発行など、通常は必要のない作業が必要となり、店舗のオペレーションを混乱させてしまうことがあった。また、ほとんど発生しない障害のため、たまに発生した場合には復旧の確認方法が忘れさられてしまっていることが多く、料理の調理漏れや提供忘れが発生してしまっていた。
すなわち、従来の多重化された注文情報管理システムでは障害発生時に注文情報を損失することは回避できるものの、各プリンタからの伝票印刷状況が把握できないという欠点があり、本発明は、このような状況に鑑みてなされたもので、障害が発生してコントローラがダウンした場合にも障害発生前の状況を引き継いで伝票を印刷する注文情報管理システムを提供するものである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、稼動系装置に異常を検知すると待機系装置が稼動するように二重化して用いられる注文情報管理装置であって、注文識別情報と、出力装置ごとに出力済みか否かの出力経過情報とを対応付けて注文情報として記憶する注文情報記憶手段と、出力経過情報に基づいて出力装置に伝票出力命令を送信する伝票出力手段と、出力装置から伝票出力完了情報を受信した場合、出力経過情報を出力済みの状態に更新する出力済情報更新手段と、自装置が待機系装置である場合、稼動系装置に障害が発生したことを検知すると、注文情報記憶手段から出力済みでない出力経過情報を含む注文情報を未出力伝票情報として検出し、出力装置に未出力伝票情報の伝票出力命令を送信する障害時出力手段とを備えることを特徴とする注文情報管理装置である。
【０００８】
本発明は、注文情報は、出力装置ごとに出力経過情報に対応して設けられ出力装置に出力する必要があるか否かを示す出力先情報を含むことをさらに特徴とする請求項１に記載の注文情報管理装置である。
【０００９】
本発明は、出力経過情報と出力先情報とは、出力装置ごとの情報をそれぞれ最低１ビットで示す情報であることをさらに特徴とする請求項１または請求項２に記載の注文情報管理装置である。
【００１０】
本発明は、注文入力端末と、出力装置と、稼動系装置に異常を検知すると待機系装置が稼動するように二重化された注文情報管理装置とを備える注文情報管理システムであって、注文入力端末は、品目情報の入力を受付け、注文情報管理装置へ送信し、出力装置は、注文管理装置から受信する出力情報を出力し、注文管理装置は、注文識別情報と、品目情報と、出力装置ごとに出力済みか否かの出力経過情報とを対応付けて注文情報として記憶する注文情報記憶手段と、出力経過情報に基づいて出力装置に伝票出力命令を送信する伝票出力手段と、出力装置から伝票出力完了情報を受信した場合、出力経過情報を出力済みの状態に更新する出力済情報更新手段と、自装置が待機系装置である場合、稼動系装置に障害が発生したことを検知すると、注文情報記憶手段から出力済みでない出力経過情報を含む注文情報を未出力伝票情報として検出し、出力装置に未出力伝票情報の伝票出力命令を送信する障害時伝票出力手段と、を備えることを特徴とする注文情報管理装置システムである。
【００１１】
本発明は、稼動系装置に異常を検知すると待機系装置が稼動するように二重化された注文情報管理方法であって、注文情報記憶手段が、注文識別情報と、出力装置ごとに出力済みか否かの出力経過情報とを対応付けて注文情報として記憶する工程と、伝票出力手段が、出力経過情報に基づいて出力装置に伝票出力命令を送信する工程と、出力済情報更新手段が、出力装置から伝票出力完了情報を受信した場合、出力経過情報を出力済みの状態に更新する工程と、障害時伝票出力手段が、自装置が待機系装置である場合、稼動系装置に障害が発生したことを検知すると、注文情報記憶手段から出力済みでない出力経過情報を含む注文情報を未出力伝票情報として検出し、出力装置に未出力伝票情報の伝票出力命令を送信する工程とを備えることを特徴とする注文情報管理方法である。
【発明の効果】
【００１２】
以上説明したように、本発明によれば、多重化したシステムに互いに出力情報を記憶させ、障害発生時には未出力の伝票を判定して出力するようにしたので、障害発生時にも混乱することなく料理提供サービスを行える注文情報管理システムを提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施形態について、図面を参照して説明する。
本実施形態例の説明中で、データを更新するといったときは、記憶部に既に記憶されたデータを、別のデータで上書きし、記憶させて更新することをいう。
また、ビットをたてるといったときは、０か１かで表されるビット情報を１に更新することを示す。また、ビットをおろすといったときは、ビット情報を０に更新することを示す。
【００１４】
図１は、本実施形態による注文情報管理システムの構成を示すブロック図である。
注文情報管理システムは、レストラン等での注文情報を管理するシステムであり、メインコントローラ１と、サブコントローラ１＿２と、ハンディターミナル群（ハンディターミナル５〜）と、プリンタ群（プリンタＰ０１〜）とを備えている。
【００１５】
メインコントローラ１は、注文情報を管理するサーバであり、制御部２と、記憶部３と、通信部４とを備えている。
制御部２は、伝票印刷部２１と、オーダー情報更新部２２とを備えている。
伝票印刷部２１は、記憶部３からオーダー情報を読み出して、伝票形式定義情報記憶部３３に記憶された伝票形式に基づいて伝票情報を生成し、プリンタ群のいずれかのプリンタに送信し、印刷させる。
【００１６】
また、上記伝票印刷部２１は、障害時伝票印刷部２１１を有しており、障害時伝票印刷部２１１は、障害時の伝票印刷処理を行う。
オーダー情報更新部２２は、ハンディターミナル５から送信されてくる品目名情報とメニューマスタテーブル３１に記憶された情報に基づいてオーダー情報を生成し、オーダーテーブル３２に記憶させる。また、オーダー情報更新部２２は、伝票出力ビット列更新部２２１を備えている。この伝票出力ビット列更新部２２１は、オーダーテーブル３２に記憶された品目名情報と伝票形式定義情報記憶部３３とに基づいて伝票出力ビット列情報を生成し、オーダーテーブル３２に記憶させる。
【００１７】
記憶部３は、システムの稼動に必要な情報を記憶し、オーダーテーブル３２とメニューマスタテーブル３１と伝票形式定義情報記憶部３３とを有する。
メニューマスタテーブル３１は、図２に示すように、例えば、識別情報であるメニューＩＤに対応付けて属性情報を記憶するテーブルであり、属性情報として、品目名と、料金と、印刷伝票出力ビットとを記憶する。メニューＩＤは、メニュー情報を一意に特定する数値情報であり、１から始まる連番値であることとする。品目名とは、例えば、「コーヒー」、「ステーキ」、「紅茶」などの文字列情報である。料金は、例えば、「５００」、「１０００」、「４００」などの単位を円とした料金情報である。
【００１８】
上記印刷伝票ビットは、伝票を印刷するか否かのビット情報であり、０であれば印刷の必要がないことを、１であれば印刷が必要であることを示すこととする。本実施形態例では、印刷伝票出力ビットとして、ゲスト用伝票出力ビットとドリンク用伝票出力ビットと調理指示用伝票出力ビットとの情報を記憶することとする。本実施形態では、これら３種類の伝票を使用するが、伝票は任意の複数の種類を扱うこととして良い。
【００１９】
伝票形式定義情報記憶部３３は、システム管理者が予め設定する上記印刷伝票の形式の定義を記憶する。伝票形式とは、例えば、伝票に印字する情報項目と、出力先プリンタとの定義である。例えば、本実施形態では、ゲスト用伝票の定義を、品目名と、料金と、個数と、合計金額を表示する伝票であり、出力先はプリンタＰ０１であるとする。ゲスト用伝票には、日付、人数、テーブル番号、伝票番号などのヘッダ情報や、フッタ情報としてバーコードやアンケートなどを表示するようにしても良い。
また、本実施形態例では、ドリンク用伝票の定義を、ドリンクの品目名と、個数とを表示し、出力先はプリンタＰ０２であるとする。そして、調理指示用伝票の定義を、調理の必要な品目名と、個数とを表示し、出力先はプリンタＰ０３であるとする。
【００２０】
オーダーテーブル３２は、図３に示すように、識別情報であるオーダーＩＤと対応付けて、品目名と、料金と、ゲスト用伝票出力済ビットと、ドリンク用伝票出力済ビットと、調理指示用伝票出力済ビットと、ゲスト用伝票出力先ビットと、ドリンク用伝票出力先ビットと、調理指示用伝票出力先ビットとを記憶する。オーダーＩＤは、オーダー情報を一意に特定する数値情報であり、１から始まる連番値であることとする。品目名と料金とは、ひとつのオーダーにつき複数の情報を有しても良い。
なお、記憶部３に構成する各テーブルは必ずしも上記のようである必要はなく、ハードウェア環境やソフトウェア環境に合わせて適度に正規化された構成としても良い。
【００２１】
上記ゲスト用伝票出力済ビットと、ドリンク用伝票出力済ビットと、調理指示用伝票出力済ビットとは、それら伝票が印刷済みであるか否かを示すビット情報である。例えば、値が０であれば未印刷であることを示し、値が１であれば印刷済であることを示す。ゲスト用伝票出力先ビットと、ドリンク用伝票出力先ビットと、調理指示用伝票出力先ビットとは、それら伝票を出力する必要があるか否かを示し、例えば、値が０であれば印刷の必要がないことを、値が１であれば印刷の必要があることを示す。これらのビット列は、オーダー情報ごとに出力済ビットと出力先ビットとにそれぞれの領域を確保する。
【００２２】
すなわち、伝票名の対応する出力済ビットと出力先ビットとの値が同一の値になっていれば、全ての伝票が出力されたことを示す。一方、伝票名の対応する出力済ビットと出力先ビットとの値が異なっていれば、出力されるべき伝票が出力されていないことを示す。なお、出力済ビットと出力先ビットとを分けずに、出力済ビットのみを設けて予め出力ビットを立て、印刷が完了したら出力ビットをおろすこととしても良い。このようにすれば、ビット列は一列で済む。ただし、本実施形態では、障害状況の解析や、伝票の印字状況のデータ分析を行うことを可能とするため、出力済ビットと出力先ビットを分けて記憶している。
【００２３】
通信部４は、ハンディターミナル５と、プリンタ群と、サブコントローラ１＿２が有する通信部４との情報通信処理を行う。
ハンディターミナル５は、図９に示すような、フロアスタッフが来店客の注文を入力する注文入力端末である。ハンディターミナル５は、例えば提供する各品目に対応するボタンを有している。フロアスタッフはこれを押下することで注文を入力し、注文が確定すると送信ボタンを押下する。ハンディターミナル５は、入力を確認するためのディスプレイを備えることとしても良い。また、ハンディターミナル５は、複数台であって良い。また、ハンディターミナル５はそれぞれの端末に固有の識別情報であるハンディターミナル識別情報を記憶していることとする。
プリンタＰ０１、プリンタＰ０２、プリンタＰ０３等のプリンタは、通信部４から送信される伝票情報を印刷し、紙伝票を出力する。本実施形態例では、３台のプリンタを明示して説明するが、プリンタは何台でも良く、任意の台数で良い。
【００２４】
次に、図６を参照して、本発明による注文情報管理システムの動作例を説明する。
まず、フロアスタッフが、ハンディターミナル５を利用して注文された品目名情報を入力する。ハンディターミナル５は、入力された品目名情報を記憶する（ステップＳ１）。以下、ここで、コーヒーと、ステーキとが注文され品目名情報として入力されたこととして説明する。注文が確定すると、フロアスタッフは、ハンディターミナル５の送信ボタンを押下する。送信ボタンが押下されると、ハンディターミナル５は、入力された品目名情報と、ハンディターミナル識別情報とを注文情報としてメインコントローラ１の通信部４に送信する（ステップＳ２）。この時点では、ハンディターミナル５は、品目名情報を記憶したままとする。
【００２５】
通信部４は、ハンディターミナル５から注文情報を受信すると、注文情報から品目名情報を読み出す。オーダー情報更新部２２は、メニューマスタテーブル３１を参照して、それぞれの品目名情報の属性情報を読み出し、生成したオーダー識別情報に対応させたオーダーテーブル３２に記憶させる。本実施形態例では、品目名としてコーヒーとステーキを、料金として５００と１０００とをオーダー情報として記憶させる。
【００２６】
次に、伝票出力ビット列更新部２２１が、上記オーダー情報に対する出力先ビット情報をメニューマスタテーブル３１に基づいて生成する。すなわち、伝票出力ビット列更新部２２１は、メニューマスタテーブル３１から、まずコーヒーに対応するメニュー情報を読み出す。本実施形態例では、コーヒーに対応するメニュー情報は、ゲスト用伝票が１、ドリンク用伝票が１、調理指示用伝票が０となっている（図２）。伝票出力ビット列更新部２２１は、まず、これらの情報を伝票出力先ビット列の候補として記憶する。
【００２７】
次に、伝票出力ビット列更新部２２１は、メニューマスタテーブル３１からステーキに対応するメニュー情報を読み出す。ステーキに対応するメニュー情報は、ゲスト用伝票が１、ドリンク用伝票が０、調理指示用伝票が１となっている（図２）ので、伝票出力ビット列更新部２２１は、１となっている情報のみ、伝票出力ビット列候補の値を更新する。すなわち、ここではゲスト用伝票は既に１なので変更なし、ドリンク用伝票も既に１であり変更なし、調理指示用伝票は１に更新される。伝票出力ビット列更新部２２１は、この情報を出力先ビット列としてオーダーテーブル３２に記憶させる。出力済ビット列には、初期時点ではすべて０が記憶される（ステップＳ３）。図３に、さらに別の注文として紅茶が注文情報として送信されオーダーテーブル３２に情報が記憶された場合のデータ例を示す。紅茶は、メニューマスタテーブル３１を参照するとゲスト用伝票が１、ドリンク用伝票が１、調理指示用伝票が０となっているので、この情報がそのままオーダーテーブル３２に記憶される。
【００２８】
オーダーテーブル３２へのデータ登録が完了すると、メインコントローラ１は、サブコントローラ１＿２にオーダーテーブル３２に記憶されたオーダー情報を送信する。サブコントローラ１＿２は、オーダー情報を受信すると、オーダーテーブル３２＿２にデータを登録し、データ登録が完了すると、メインコントローラ１にデータ登録完了通知を送信する（ステップＳ５）。メインコントローラ１は、データ登録完了通知を受信すると、ハンディターミナル５に登録完了通知とオーダー識別情報とを送信する（ステップＳ６）。オーダー識別番号は、ハンディターミナル５では伝票番号として扱っても良い。ハンディターミナル５は、データ識別情報を受信すると、ステップＳ１で記憶した注文情報を削除し、データ削除完了通知をメインコントローラ１に送信する（ステップＳ７）。
【００２９】
ハンディターミナル５からデータ削除完了通知を受信すると、メインコントローラ１は、伝票作成処理を開始する（ステップＳ８）。伝票印刷部２１は、まず、オーダーテーブル３２とメニューマスタテーブル３１と伝票形式定義情報記憶部３３とを参照して、ゲスト用伝票情報を生成する。すなわち、伝票印刷部２１は、オーダーテーブル３２から、オーダーＩＤと、品目名と、料金とを読み出し、品目名ごとに個数を算出して、ゲスト用伝票情報とする。伝票印刷部２１は、伝票形式定義情報記憶部３３を参照してゲスト用伝票情報の出力先はプリンタＰ０１であることを読み出すと、プリンタＰ０１にゲスト用伝票情報を送信する（ステップＳ９）。プリンタＰ０１は、受信したゲスト用伝票を出力すると、メインコントローラ１に出力完了通知を送信する（ステップＳ１０）。
【００３０】
そして、伝票出力ビット列更新部２２１は、出力完了通知を受信すると、オーダーテーブル３２のゲスト用伝票出力済ビットの情報を１に更新する（ステップＳ１１）。そして、メインコントローラ１の通信部４は、出力済ビット情報をサブコントローラ１＿２に送信する。サブコントローラ１＿２の通信部４＿２は、出力済ビット情報を受信し、伝票出力ビット列更新部２２１＿２が、オーダーテーブル３２＿２に記憶された情報をメインコントローラ１から受信した出力済ビット情報で更新する。サブコントローラ１＿２の通信部４＿２は、更新完了通知をメインコントローラ１に送信する。
【００３１】
メインコントローラ１は、更新完了通知を受信すると、さらに伝票情報を上記に説明した手順と同様に生成する。すなわち、伝票印刷部２１は、ドリンク用伝票情報を生成し（ステップＳ１４）、プリンタＰ０２に印刷し（ステップＳ１５）、プリンタＰ０２は印刷完了通知を送信する（ステップＳ１６）。メインコントローラ１がオーダーテーブル３２を更新し（ステップＳ１７）、サブコントローラ１＿２にデータをコピーする（ステップＳ１８、ステップＳ１９）。以下、同様に調理指示用伝票を生成、出力する。図４は、障害なく全ての帳票を出力した後のオーダーテーブル３２のデータ例である。
以上が、正常動作時の本実施形態の動作例である。
【００３２】
次に、メインコントローラ１に障害が発生した場合の伝票出力リカバリー方法について説明する。
まず、ステップＳ１からステップＳ６の間で障害が発生した場合、メインコントローラ１はハンディターミナル５に応答を返せない。そのため、ハンディターミナル５は、伝票番号がメインコントローラから応答されないことによってコントローラのなんらかの障害を検出し、ステップＳ１で記憶した注文情報をメインコントローラ１に再送する。
詳細は後述するが、メインコントローラ１に障害が発生した場合にはサブコントローラ１＿２が起動する。これにより、ハンディターミナルから再送される注文情報は、サブコントローラ１＿２によって、通常通りに処理される。
【００３３】
次に、図７と図８とを参照して、ステップＳ６以降で障害が発生した場合の伝票印刷リカバリー方法を説明する。
まず、サブコントローラ１＿２は、メインコントローラ１の障害を検知する（ステップＳ１１０）。例えば、サブコントローラ１＿２が定期的にメインコントローラ１に通信を行い返信がなければ、メインコントローラ１を待機させてサブコントローラ１＿２が稼動する（ステップＳ１２０）。これらの稼動系／待機系のシステム切り替え動作は、稼動系装置が自装置のシステム障害を検知して待機系に通知する構成としても良いし、待機系装置が稼動系装置に定期的に通信を行い、その返信情報を分析することによって異常を検知する構成としても良いし、いわゆるアクティブ／スタンバイ、デュアルシステム、ホットスタンバイ等の技術を用いて良い。
【００３４】
そして、障害時伝票印刷部２１１＿２は、例えば、変数（Ｎ）を生成し、数値情報である５０を代入する（ステップＳ１３０）。そして、障害時伝票印刷部２１１＿２は、オーダーテーブル３２＿２を参照し、直近のオーダー識別情報から５０を引いた値をオーダー識別情報とし、これに対応するオーダー情報を読み出す。すなわち、障害時伝票印刷部２１１＿２は、最新から５０件遡ったオーダー情報を読み出す（ステップＳ１４０）。ここで、障害時伝票印刷部２１１＿２は、伝票の出力処理を、注文を受けた順に料理提供するために古いデータから行う。また、本実施形態では遡るオーナー情報を５０件としたが、故障期間、混雑状況等により適当な値を設定して良く、全件でも良い。また、直近のオーダー情報から１件ずつ遡りながらオーダー情報を読み込んで出力済ビットと出力先ビットとを比較し、値が一致したオーダー情報からステップＳ１４０の処理を開始しても良い。
【００３５】
そして、障害時伝票印刷部２１１＿２は、伝票を再出力するか否かを判定し、再出力すると判定すれば出力する（ステップＳ１５０）。ステップＳ１５０の処理は後述する。そして、変数（Ｎ）をディクリメントする（ステップＳ１６０）。障害時伝票印刷部２１１＿２は、変数（Ｎ）が０より小さいかどうかを判定し（ステップＳ１７０）、小さければ処理を終了する。小さくなければ、ステップＳ１４０から再処理を行う。
【００３６】
次に、ステップＳ１５０にて障害時伝票印刷部２１１＿２が伝票を印刷する処理動作例について説明する。
まず、障害時伝票印刷部２１１＿２は、例えば、変数（Ｍ）を生成し、数値情報である１を代入する（ステップＳ１５１）。そして、障害時伝票印刷部２１１＿２は、ステップＳ１４０にて読み出したオーダー情報の出力先ビット情報を参照する。この際、出力先ビット情報を順番に（ゲスト用伝票出力先ビット、ドリンク用伝票出力先ビット、調理指示用伝票出力先ビットの順）に参照する。すなわち、変数（Ｍ）が表す数値が１であれば、ゲスト用伝票出力先ビットについて、出力先ビット情報が０であるか１であるかを判定する（ステップＳ１５２）。
【００３７】
上記ステップＳ１５２の判定で、出力先ビット情報が０であれば、ステップＳ１５６に遷移する。一方、出力先ビット情報が１であれば、出力済ビット情報を参照し、０であるか１であるかを判定する（ステップＳ１５３）。出力済ビット情報が１であれば、ステップＳ１５６に遷移する。一方、出力済ビットが０であれば、ステップＳ８と同様の手順でゲスト用伝票情報を生成し、プリンタＰ０１に送信して出力させる（ステップＳ１５４）。
【００３８】
印刷が完了すると、オーダーテーブル３２＿２に記憶された出力済ビットをメインコントローラ１のオーダーテーブル３２に更新する（ステップＳ１５５）。そして、変数（Ｍ）をインクリメントした（ステップＳ１５６）後、変数（Ｍ）が伝票設定数より小さいか否かを判定する。伝票設定数とは、システム管理者が予め設定する出力伝票の数であり、本実施形態では、出力する伝票はゲスト用伝票、ドリンク用伝票、調理指示用伝票の３形態であるので、伝票設定数は３である。
障害時伝票印刷部２１１＿２は、変数（Ｍ）が伝票設定数より小さければ、処理を終了してＳ１６０へ返す。一方、変数（Ｍ）が伝票設定数より小さくなければ、ステップＳ１５２の処理から再処理を行う。
【００３９】
すなわち、メインコントローラ１は、オーダー情報に出力済ビット情報と出力先ビット情報を設け、予め、出力すべき伝票形式の出力先ビットを立て、伝票出力をすれば出力済ビットをたてるようにしたので、途中で障害が発生したときでも、出力済ビット情報と出力先ビット情報を読み出し、比較することでいずれの伝票が出力済みか否かが判別可能となる。図５は、オーダーＩＤが２であるオーダー情報の、ゲスト用伝票までが正常に出力され、ドリンク用伝票が出力されていない場合のオーダーテーブル３２のデータ例である。オーダーＩＤが２であるオーダー情報について、ドリンク用伝票出力済ビットが０であるが、ドリンク用伝票出力先ビットが１であることから、ドリンク用伝票の出力が正常に完了しなかったと判定できる。
【００４０】
なお、ステップＳ９からステップＳ１２の間にメインコントローラ１で障害が発生し、稼動系装置がサブコントローラ１＿２に切り替わり、ステップＳ９で送信した伝票情報がプリンタＰ０１で出力されていた場合は、サブコントローラ１＿２に切り替わってからもう一度同じ伝票を出力することになるが、料理の提供漏れが起きるよりは、二重に料理をつくり、提供する方が望ましいと考えられる。
また、本実施形態では、障害が発生した場合の伝票印刷リカバリー方法として、伝票単位で未印刷の伝票を印刷、出力することとしたが、オーダー情報ごとに再印刷するように構成しても良い。
【００４１】
以上説明したように、本実施形態例では、稼動系装置に異常を検知すると待機系装置が稼動するように二重化された注文情報管理装置を、オーダーＩＤと、伝票を印刷済みであるか否かの情報である出力済ビット列とを対応付けたオーダー情報を記憶するオーダーテーブル３２と、この出力済ビット列を参照してプリンタに伝票印刷命令を送信する伝票印刷部２１と、この伝票印刷命令により伝票出力が完了した場合にプリンタから出力完了通知を受信すると、出力済ビット列の対応する伝票のビットを立てる伝票出力ビット列更新部２２１と、障害発生時には、この出力済ビット列を参照して未出力の伝票を検出し、プリンタに伝票印刷命令を送信する障害時伝票印刷部２１１とを備える構成とした。
【００４２】
これにより、伝票印刷中にシステム障害が発生し、稼動系装置から待機系装置への稼動切り替えが起こった場合でも、漏れなく、または重複なく、かつ自動的に伝票の出力が行われるので、障害発生時にデータが損失しないだけでなく、調理や料理提供などの業務オペレーションを円滑に行うことができる。
また、印刷済みか否かの情報をビット列で記憶するようにしたので、情報変更や待機系システムへのコピーなどの処理をすばやく効率的に行うことができ、また過剰なハードウェア資源を必要とすることもない。
【００４３】
さらに、本実施形態例では、出力済ビット列とともに出力先ビット列を設け、伝票出力ビット列更新部２２１は、プリンタから出力完了通知を受信した際には、出力済みビット列の対応するビットを立て、出力先ビット列は初期状態のまま更新しない構成とした。
これにより、出力済ビット列と出力先ビット列の情報を事後的に確認し、障害の解析や伝票印字状況の分析を円滑に行うことができる。
すなわち、伝票出力中にメインコントローラ１が障害を起こし、稼動装置がサブコントローラ１＿２に切り替わった場合でも、サブコントローラ１＿２の起動時にサブコントローラ１＿２が未印刷伝票を自動認識して伝票出力するため、店舗のフロアスタッフは、システム切り替えを意識することなく、出力された伝票に従ってオペレーションを行えば良い。
本実施形態例では、出力装置をプリンタとして、オーダー情報の出力方法として伝票を印刷することを例示したが、出力装置をディスプレイ装置として、オーダー情報を画面に表示することも可能である。
【００４４】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより注文情報管理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００４５】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施形態例によるシステム構成を示すブロック図である。
【図２】本発明によるメニューマスタテーブルのデータ例である。
【図３】本発明によるオーダーテーブルの伝票出力前のデータ例である。
【図４】本発明によるオーダーテーブルの伝票出力後のデータ例である。
【図５】本発明によるオーダーテーブルの伝票出力中に障害が発生した場合のデータ例である。
【図６】本発明の実施形態の動作例を示すシーケンス図である。
【図７】本発明の第１の実施形態による障害復旧時の伝票再出力の動作例を示すフローチャートである。
【図８】本発明の第１の実施形態による障害復旧時の伝票再出力の動作例を示すフローチャートである。
【図９】本発明の実施形態例によるハンディターミナル５の例を示す図である。
【符号の説明】
【００４７】
１  メインコントローラ
２  制御部
３  記憶部
４  通信部
５  ハンディターミナル
２１  伝票印刷部
２２  オーダー情報更新部
３１  メニューマスタテーブル
３２  オーダーテーブル
３３  伝票形式定義情報記憶部
２１１  障害時伝票印刷部
２２１  伝票出力ビット列更新部
１＿２  サブコントローラ
２＿２  制御部
３＿２  記憶部
４＿２  通信部
２１＿２  伝票印刷部
２２＿２  オーダー情報更新部
３１＿２  メニューマスタテーブル
３２＿２  オーダーテーブル
３３＿２  伝票形式定義情報記憶部
２１１＿２  障害時伝票印刷部
２２１＿２  伝票出力ビット列更新部
Ｐ０１  プリンタ
Ｐ０２  プリンタ
Ｐ０３  プリンタ
【図１】
2008197958.tif 000003
【図２】
2008197958.tif 000004
【図３】
2008197958.tif 000005
【図４】
2008197958.tif 000006
【図５】
2008197958.tif 000007
【図６】
2008197958.tif 000008
【図７】
2008197958.tif 000009
【図８】
2008197958.tif 000010
【図９】
2008197958.tif 000011