(57)【特許請求の範囲】
【請求項１】
送信対象の注文データが登録される注文情報を記憶部に記憶するコンピュータに、
前記注文情報に含まれる前記注文データの件数が、所定の閾値以下のときは第１の方式を、前記閾値より多いときは第２の方式を選択して、前記注文情報から第１の注文データを取り出し、
前記第１の方式を選択したときは、通信制御部に前記第１の注文データの送信を要求し、前記通信制御部が前記第１の注文データの送信完了時に発行する送信完了通知を取得した後に第２の注文データの送信要求を可とし、
前記第２の方式を選択したときは、前記通信制御部に前記第１の注文データの送信を要求し、前記通信制御部が前記第１の注文データの送信要求の受付完了時に発行する受付完了通知を取得した後に前記第２の注文データの送信要求を可とし、
前記第２の方式を選択して前記通信制御部に対して前記第１の注文データの送信を要求する際に、前記送信要求を識別する要求識別情報を前記第１の注文データに付加して前記要求識別情報を前記記憶部に記憶し、
前記第１の注文データの送信完了時に前記通信制御部が前記要求識別情報を付加して発行する前記送信完了通知を取得し、前記送信完了通知に付加された前記要求識別情報と前記記憶部に記憶された前記要求識別情報とを照合して、送信処理が終了した前記第１の注文データを特定する、
処理を実行させる注文処理プログラム。
【請求項２】
前記コンピュータに、
前記注文データが前記注文情報に登録されたことを検出してインクリメントし、前記第２の注文データの送信要求を可としたときにディクリメントするカウンタを設け、前記カウンタによって前記注文情報に含まれる前記注文データの件数を計数する、
処理を実行させる請求項１に記載の注文処理プログラム。
【請求項３】
前記コンピュータに、
前記注文データに対応付けて前記注文データの送信処理の進行状態を示す情報を注文管理情報として前記記憶部に記憶し、
外部からの要求に応じて、前記注文管理情報に基づく前記注文データの送信処理の進行状態を表示装置に表示する、
処理を実行させる請求項１または２に記載の注文処理プログラム。
【請求項４】
送信対象の注文データが登録される注文情報を記憶する記憶部と、
前記注文データを、前記注文データに基づく接続先の取引装置に送信する通信制御部と、
前記注文情報に含まれる前記注文データの件数が、所定の閾値以下のときは第１の方式を、前記閾値より多いときは第２の方式を選択して、前記注文情報から第１の注文データを取り出し、前記第１の方式を選択したときは、前記通信制御部に前記第１の注文データの送信を要求し、前記通信制御部が前記第１の注文データの送信完了時に発行する送信完了通知を取得した後に第２の注文データの送信要求を可とし、前記第２の方式を選択したときは、前記通信制御部に前記第１の注文データの送信を要求し、前記通信制御部が前記第１の注文データの送信要求の受付完了時に発行する受付完了通知を取得した後に前記第２の注文データの送信要求を可とする注文処理部と、
を有し、
前記注文処理部は、前記第２の方式を選択して前記通信制御部に対して前記第１の注文データの送信を要求する際に、前記送信要求を識別する要求識別情報を前記第１の注文データに付加して前記要求識別情報を前記記憶部に記憶し、前記第１の注文データの送信完了時に前記通信制御部が前記要求識別情報を付加して発行する前記送信完了通知を取得し、前記送信完了通知に付加された前記要求識別情報と前記記憶部に記憶された前記要求識別情報とを照合して、送信処理が終了した前記第１の注文データを特定する、
注文処理装置。
【請求項５】
コンピュータが、
送信対象の注文データが登録され、記憶部に記憶される注文情報を読み出し、
前記注文情報に含まれる前記注文データの件数が、所定の閾値以下のときは第１の方式を、前記閾値より多いときは第２の方式を選択して、前記注文情報から第１の注文データを取り出し、
前記第１の方式を選択したときは、通信制御部に前記第１の注文データの送信を要求し、前記通信制御部が前記第１の注文データの送信完了時に発行する送信完了通知を取得した後に第２の注文データの送信要求を可とし、
前記第２の方式を選択したときは、前記通信制御部に前記第１の注文データの送信を要求し、前記通信制御部が前記第１の注文データの送信要求の受付完了時に発行する受付完了通知を取得した後に前記第２の注文データの送信要求を可とし、
前記第２の方式を選択して前記通信制御部に対して前記第１の注文データの送信を要求する際に、前記送信要求を識別する要求識別情報を前記第１の注文データに付加して前記要求識別情報を前記記憶部に記憶し、
前記第１の注文データの送信完了時に前記通信制御部が前記要求識別情報を付加して発行する前記送信完了通知を取得し、前記送信完了通知に付加された前記要求識別情報と前記記憶部に記憶された前記要求識別情報とを照合して、送信処理が終了した前記第１の注文データを特定する、
注文処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、注文処理プログラム、注文処理装置及び注文処理方法に関する。
【背景技術】
【０００２】
顧客から注文を受け付け、受け付けた注文を取引先のサーバへ送信する注文処理装置がある。このような注文処理装置は、例えば、通信を制御する通信制御プログラムと、通信制御プログラムを利用して注文を順次処理する注文処理プログラムと、を有する。
【０００３】
注文処理プログラムは、注文の送信処理を行う際の態様として、例えば、以下の２つの注文処理方式をとる。第１の注文処理方式として、注文処理プログラムが、通信制御プログラムに対して注文の送信要求を行い、通信制御プログラムの送信処理がすべて完了した後に次の注文の送信要求を行うという態様がある。第２の注文処理方式として、注文処理プログラムが、通信制御プログラムに対して注文の送信要求を行い、通信制御プログラムが送信要求を受け付けた時点で次の注文の送信要求を行うという態様がある。第１の注文処理方式では、注文処理プログラムは１件ずつ送信処理を行うので、注文処理を確実に履行することができるという利点がある。しかし、前の注文の送信処理が完了するまでの間は次の注文の送信要求を出すことができないため、注文が滞留するという問題が生じる。
【０００４】
そこで、通信の接続先の状態に応じて、処理方式を切替える方法が提案されている。また、バスのトラフィックを監視し、バスの状態に応じて２種類の通信方式のいずれかを選択する方法も提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１９４６７号公報
【特許文献２】特開２０１０−１６０５４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、注文処理装置に注文が滞留する要因は、接続先の状態やバスの渋滞によるものばかりではない。例えば、金融取引においては、寄り付きや引けといった時間帯に大量の新規注文が殺到することが知られている。金融取引に用いられる注文処理装置では、取引を確実に履行するために、第１の注文処理方法を採用する場合が多い。しかし、この方法では１件ずつ処理を行うため、ある時間帯に注文処理装置に大量の注文が殺到すると、処理が追いつかず注文が滞留するおそれがある。顧客からは、指定時間内に注文を送信することが求められており、注文処理装置内での注文の滞留は、顧客のビジネス機会の損失、及びシステム運用者の信用低下という問題に繋がる。
【０００７】
一つの側面では、本発明は、注文の滞留を抑制することが可能な注文処理プログラム、注文処理装置及び注文処理方法を提供する。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、注文処理プログラムが提供される。注文処理プログラムは、送信対象の注文データが登録される注文情報を記憶部に記憶するコンピュータに、注文情報に含まれる注文データの件数が、所定の閾値以下のときは第１の方式を、閾値より多いときは第２の方式を選択して、注文情報から第１の注文データを取り出す。第１の方式を選択したときは、通信制御部に第１の注文データの送信を要求し、通信制御部が第１の注文データの送信完了時に発行する送信完了通知を取得した後に第２の注文データの送信要求を可とする。第２の方式を選択したときは、通信制御部に第１の注文データの送信を要求し、通信制御部が第１の注文データの送信要求の受付完了時に発行する受付完了通知を取得した後に第２の注文データの送信要求を可とし、第２の方式を選択して通信制御部に対して第１の注文データの送信を要求する際に、送信要求を識別する要求識別情報を第１の注文データに付加して要求識別情報を記憶部に記憶し、第１の注文データの送信完了時に通信制御部が要求識別情報を付加して発行する送信完了通知を取得し、送信完了通知に付加された要求識別情報と記憶部に記憶された要求識別情報とを照合して、送信処理が終了した第１の注文データを特定する、処理を実行させる。
【発明の効果】
【０００９】
一態様によれば、本発明は、注文情報に登録される注文データの件数が閾値より多いときは、注文データの送信要求が通信制御部に受け付けられた時点で次の注文データの送信要求を行うことができるので、注文の滞留を抑制することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態の注文処理装置を示す図である。
【図２】第２の実施形態のシステム構成例を示す図である。
【図３】第２の実施形態の注文処理装置のハードウェア構成例を示す図である。
【図４】第２の実施形態の注文処理装置の機能構成例を示す図である。
【図５】注文管理情報の一例を示す図である。
【図６】要求処理部の要求発行処理の手順を示すフローチャートである。
【図７】要求制御部の要求制御処理の手順を示すフローチャートである。
【図８】通知制御部の通知制御処理の手順を示すフローチャートである。
【図９】同期型の要求制御処理の例を示すシーケンス図である。
【図１０】非同期型の要求制御処理の例を示すシーケンス図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について図面を参照して説明する。
［第１の実施形態］
図１は、第１の実施形態の注文処理装置を示す図である。第１の実施形態の注文処理装置は、記憶部１と、注文処理部２と、通信制御部３と、を有する。注文処理装置は、例えば、コンピュータである。
【００１２】
記憶部１は、例えば、メモリあるいはディスク装置であり、注文情報１ａを記憶する。注文情報１ａには、顧客などから受け付けた注文データが登録されている。例えば、１件の注文に対し、１つの注文データが設定されている。
【００１３】
注文処理部２は、注文情報１ａから注文データを１件ずつ取り出し、通信制御部３に対して送信を要求する。注文データは、例えば、注文情報１ａに先に登録されたものから順に取り出す。また、予め決められた優先順にしたがって取り出すとしてもよい。注文処理部２は、注文情報１ａに含まれる注文データの件数が閾値以下のときは、通信制御部３による先に送信要求を行った第１の注文データの送信処理が完了してから次の第２の注文データの送信要求を行う第１の方式を選択する。また、注文処理部２は、注文情報１ａに含まれる注文データの件数が閾値を超えるときは、通信制御部３による第１の注文データの受け付けが完了した時点で、第２の注文データの送信要求を行う第２の方式を選択する。
【００１４】
通信制御部３は、注文処理部２から入力する注文データの送信要求５ａ，６ａを受け付け、受け付けた注文データの送信処理を選択された方式に応じて実行する。通信制御部３は、選択が第１の方式の場合、注文データの送信要求５ａを受け付け、送信処理が終了した後、送信完了通知５ｂを注文処理部２に発行する。通信制御部３は、選択が第２の方式の場合、注文データの送信要求６ａを受け付け、受付処理が終了した後、受付完了通知６ｂを注文処理部２に発行する。なお、通信制御部３は、受付完了通知６ｂを発行後に注文データの送信処理を行い、終了した後、送信完了通知を発行する。
【００１５】
注文処理部２が実行する注文処理手順について説明する。注文処理部２による注文処理は、コンピュータが注文処理プログラムを実行することによって、その機能を実現する。以下の説明では、先に送信される注文データを第１の注文データ、第１の注文データの後に送信される注文データを第２の注文データとする。図１に示す処理をステップ番号に沿って説明する。
【００１６】
［ステップＳ０１］注文処理部２は、注文情報１ａに含まれる注文データの件数に基づいて、送信処理の要求方式を決定する。注文処理部２は、注文情報１ａに登録される注文データの件数が所定の閾値以下のときは第１の方式を選択し、注文データの件数が閾値よりも多いときは第２の方式を選択する。また、注文情報１ａから第１の注文データを取り出す。第１の注文データは、例えば、注文情報１ａに含まれる注文データのうち、最も早くに登録された注文データである。
【００１７】
［ステップＳ０２］注文処理部２は、ステップＳ０１において第１の方式を選択したか否かを判定する。第１の方式を選択したときは処理をステップＳ０３に進め、第２の方式を選択したときは処理をステップＳ０４に進める。
【００１８】
［ステップＳ０３］注文処理部２は、第１の方式を選択したときは、第１の方式を指定して第１の注文データの送信要求５ａを通信制御部３へ出力する第１の方式による要求処理を行う。通信制御部３では、送信要求５ａを受け付け、送信処理を終了した後、注文処理部２に対して送信完了通知５ｂを発行する。注文処理部２は、送信完了通知５ｂを取得したときに、第２の注文データの送信要求を可とし、処理をステップＳ０１に進める。第２の注文データは、例えば、注文情報１ａに含まれる注文データのうち、第１の注文データの次に登録された注文データである。
【００１９】
［ステップＳ０４］注文処理部２は、第２の方式を選択したときは、第２の方式を指定して第１の注文データの送信要求６ａを通信制御部３へ出力する第２の方式による要求処理を行う。通信制御部３では、送信要求６ａを受け付けた後、注文処理部２に対して受付完了通知６ｂを発行する。注文処理部２は、受付完了通知６ｂを取得したときに、第２の注文データの送信要求を可とし、処理をステップＳ０１に進める。
【００２０】
注文処理部２は、第２の注文データについてステップＳ０１からの手順を繰り返す。
以上の手順にしたがって、注文処理部２は、通信制御部３に対して注文データの送信要求を行う際、注文情報１ａに登録されている注文データの件数を閾値と比較し、比較の結果に応じて第１の方式または第２の方式を選択する。注文処理部２は、注文情報１ａに登録される注文データの件数が閾値以下で、注文の滞留が発生しにくいときは、第１の方式を選択する。第１の方式では、通信制御部３が注文データの送信を完了してから次の注文データの送信要求を可とするため、注文データを確実に処理することができる。一方、注文処理部２は、注文情報１ａに登録される注文データの件数が閾値を超えており、注文データの滞留が発生しやすいときは、第２の方式を選択する。第２の方式では、通信制御部３が注文データの受付を完了した時点で次の注文データの送信要求を可とするため、同じ時間で第１の方式より多くの注文データを処理することができる。これにより、注文の滞留を防ぐことができる。
【００２１】
このように、第１の実施形態の注文処理装置では、注文データの件数が少ないときは第１の方法を選択して注文処理を１件ずつ確実に履行し、注文データの件数が多いときは第２の方法を選択して注文の滞留を防ぐ。
【００２２】
［第２の実施形態］
次に、第２の実施形態として、第１の実施形態の注文処理装置を金融取引処理に適用した場合について説明する。
【００２３】
図２は、第２の実施形態のシステム構成例を示す図である。注文処理装置１００は、ネットワーク２００を介して、利用者装置３０１，３０２，３０３と、取引装置４０１，４０２と、に接続する。利用者装置３０１，３０２，３０３は、注文処理装置１００に対して注文データの送信を依頼する顧客が利用するコンピュータである。取引装置４０１，４０２は、注文データを送信する取引先のコンピュータである。
【００２４】
注文処理装置１００は、ネットワーク２００を介して利用者装置３０１，３０２，３０３から送られてきた注文データを取引装置４０１，４０２に送信する。なお、注文処理装置１００は、利用者装置３０１，３０２，３０３から入力した注文データを入力順に順次送信するとしてもよい。また、注文処理装置１００は、注文データを一旦記憶部に格納しておき、注文データごとに設定されている送信の指定日時などにしたがって、注文データを取引装置４０１，４０２に送信するとしてもよい。
【００２５】
図３は、第２の実施形態の注文処理装置のハードウェア構成例を示す図である。注文処理装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０８を介してＲＡＭ（Random Access Memory）１０２と複数の周辺機器が接続されている。
【００２６】
ＲＡＭ１０２は、注文処理装置１００の主記憶装置として使用される。ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。
【００２７】
バス１０８に接続されている周辺機器としては、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、及び通信インタフェース１０７がある。
【００２８】
ＨＤＤ１０３は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。ＨＤＤ１０３は、注文処理装置１００の二次記憶装置として使用される。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、及び各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【００２９】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令にしたがって、画像をモニタ１１の画面に表示させる。モニタ１１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００３０】
入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号をＣＰＵ１０１に送信する。なお、マウス１３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３１】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク１４に記録されたデータの読み取りを行う。光ディスク１４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク１４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００３２】
通信インタフェース１０７は、ネットワーク２００に接続されている。通信インタフェース１０７は、ネットワーク２００を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００３３】
以上のようなハードウェア構成によって、本実施形態の処理機能を実現することができる。なお、図３には注文処理装置１００のハードウェア構成を示したが、利用者装置３０１，３０２，３０３及び取引装置４０１，４０２も同様のハードウェア構成を有する。
【００３４】
図４は、第２の実施形態の注文処理装置の機能構成例を示す図である。注文処理装置１００は、注文処理部１１０と、入力部１２０と、表示部１３０と、通信制御部１４０と、要求パス１５０と、通知パス１６０と、を有する。
【００３５】
注文処理部１１０は、記憶部１１１と、要求処理部１１２と、状態管理部１１３と、要求制御部１１４と、通知制御部１１５と、を有する。注文処理部１１０では、記憶部１１１に格納された注文データを、通信制御部１４０を利用して取引装置４０１に送信する処理を行う。注文処理部１１０は、ＣＰＵ１０１が注文処理プログラムを実行することによりその処理機能が実現される。
【００３６】
記憶部１１１は、注文キュー１１１ａと、注文管理情報１１１ｂと、を記憶する。記憶部１１１には、例えば、ＲＡＭ１０２の一部の記憶領域が割り当てられる。注文キュー１１１ａは、顧客から取得した注文データを一時的に保持するＦＩＦＯ（First In First Out）型のキューである。注文データは、入力部１２０を介して順次登録され、要求処理部１１２から順次取り出される。なお、注文キュー１１１ａでは、登録によって注文データが記憶領域に書き込まれ、取り出しによって記憶領域から削除されるとする。入力部１２０を介して登録される注文データの登録間隔が注文データの１件当たりの処理時間より短くなると、注文キュー１１１ａには注文データが滞留していく。注文管理情報１１１ｂには、注文処理の進行状態を示す情報が、注文データごとに登録される。
【００３７】
要求処理部１１２は、注文キュー１１１ａから１件ずつ注文データを取り出し、要求制御部１１４に対して送信要求を行う。このとき、注文キュー１１１ａに含まれる注文データの件数を算出し、取り出した注文データとともに要求制御部１１４へ通知する。注文データの件数は、記憶部１１１の記憶領域の注文データを数えるとしてもよいが、対象の注文データの数が多い場合にはＣＰＵ１０１に負荷がかかる。例えば、注文データの計数用のカウンタを設けるとともに、入力部１２０が注文キュー１１１ａに注文データを登録するごとに要求処理部１１２に通知が入力されるように構成する。要求処理部１１２は、入力部１２０から通知を受けるごとにカウンタをインクリメントし、要求制御部１１４から復帰の指示を受けるごとにカウンタをディクリメントするとしてもよい。この場合、カウンタの値が注文データの登録件数になる。また、要求処理部１１２は、要求制御部１１４に対して送信要求を行う際に、状態管理部１１３に対し、取り出した注文データを注文管理情報１１１ｂに新規登録するように依頼する。なお、要求処理部１１２は、上記の処理が終了した時点で処理を停止し、要求制御部１１４からの復帰指示を待つ。要求処理部１１２では、要求制御部１１４に対する送信要求は１件ずつ行われ、仕掛中の送信要求が復帰しない限り次の注文データの送信要求は出力されない。
【００３８】
状態管理部１１３は、注文データの送信処理の進行状態に応じて、注文管理情報１１１ｂを更新する。状態管理部１１３は、注文キュー１１１ａから取り出した注文データの新規登録依頼を要求処理部１１２から取得し、注文データを注文管理情報１１１ｂに新規登録する。状態管理部１１３は、要求を受けた注文データの識別情報に対応付けて注文処理の進行状態（新規）を含むレコードを作成し、注文管理情報１１１ｂに登録する。また、状態管理部１１３は、要求制御部１１４から送信処理の進行状態を受付に更新する更新依頼を受けて注文管理情報１１１ｂの対応する注文データの情報を更新する。また、状態管理部１１３は、通知制御部１１５から送信処理の進行状態を完了に更新する更新依頼を受けて注文管理情報１１１ｂの対応する注文データの情報を更新する。
【００３９】
要求制御部１１４は、要求処理部１１２からの要求を受け、送信要求の方式を判定する。第１の方式は、通信制御部１４０による先の注文データの送信が完了した後、次の注文データの送信要求を行うというものである。注文を１件ずつ確実に処理することができるため、注文データの件数が少ないときの送信処理に適している。第１の方式では、注文処理部１１０は通信制御部１４０の送信処理と同期して動作することから、以下の説明では同期型と表記する。第２の方式は、通信制御部１４０による先の注文データの受け付けが終了したら、送信完了を待たずに次の注文データの送信要求を行うというものである。第１の方式より次の注文データの送信要求を行うまでの期間が短くなるため、注文の滞留を抑制することができる。第２の方式では、注文処理部１１０は通信制御部１４０の送信処理と同期して動作しないことから、非同期型と表記する。要求制御部１１４は、要求処理部１１２から注文データとともに取得した注文キュー１１１ａに登録される注文データの登録件数を所定の閾値と比較し、登録件数が閾値以下のときは同期型を選択し、多いときは非同期型を選択する。要求制御部１１４は、同期型を選択したときは、同期型を指定して通信制御部１４０に対して送信要求を行う。そして、要求制御部１１４は、通知制御部１１５を介して通信制御部１４０から送信完了通知を受けたことを検出したときは、要求処理部１１２に処理の復帰を通知する。また、要求制御部１１４は、非同期型を選択したときは、非同期型を指定して通信制御部１４０に対して送信要求を行う。そして、要求制御部１１４は、通信制御部１４０からの受付完了通知を取得し、要求処理部１１２に処理の復帰を通知する。さらに、状態管理部１１３に対し、注文管理情報１１１ｂの対応する注文データの注文処理の進行状態を、受付完了に更新するように依頼する。
【００４０】
通知制御部１１５は、通信制御部１４０から送信完了通知を取得し、同期型を選択しているときは、要求制御部１１４に対し連携完了を通知する。連携完了通知は、連携して注文データの送信処理を行う要求制御部１１４に送信の完了を通知するものである。また、通知制御部１１５は、状態管理部１１３に対し、注文管理情報１１１ｂの対応する注文データの注文処理の状態を、送信の完了に更新するように依頼する。
【００４１】
入力部１２０は、利用者装置３０１、キーボード１２などに接続し、注文データを入力する。利用者装置３０１からは、顧客の新規注文データが適宜入力する。新規注文データは、例えば、寄り付きや引けの時間帯には大量に入力し、寄り付きと引けの間のザラ場では少なくなる傾向がある。キーボード１２からは、例えば、オペレータがキーボード１２を操作して入力した新規注文データが入力する。入力部１２０は、利用者装置３０１及びキーボード１２などから入力した新規注文データを記憶部１１１の注文キュー１１１ａに受け付けた順に登録する。このとき、登録したことを要求処理部１１２に通知するとしてもよい。なお、注文データに送信日時の指定があるような場合には、一旦入力部１２０が管理する記憶領域に注文データを記憶しておき、指定日時に到達したときに注文キュー１１１ａに登録するようにしてもよい。また、入力部１２０は、キーボード１２を操作してオペレータが入力した指示を表示部１３０などに通知する。
【００４２】
表示部１３０は、入力部１２０を介して注文処理の進行状態の表示要求を受けたときは、注文管理情報１１１ｂに基づいて注文処理の進行状態をモニタ１１に表示する。例えば、注文処理部１１０が受け付けた注文データと、その注文データの注文処理の進行状態とを対応付けた一覧情報を表示する。
【００４３】
通信制御部１４０は、要求制御部１１４から要求された注文データを電文に変換し、取引装置４０１に対して送信する処理を行う。同期型処理と非同期型処理を実装し、要求制御部１１４からの指定により切り替えて動作する。同期型処理では、通信制御部１４０は、要求制御部１１４から注文データの送信要求を入力し、送信要求を受け付けた後、取引装置４０１に向けて送信する。送信完了後、通信制御部１４０は、通知制御部１１５に対し、送信完了を通知する。非同期型処理では、通信制御部１４０は、要求制御部１１４から注文データの送信要求を入力し、送信要求を受け付けた後、受付完了通知を要求制御部１１４へ通知する。その後、通信制御部１４０は、注文データを取引装置４０１に向けて送信し、送信終了後に通知制御部１１５に対し、送信完了を通知する。通信制御部１４０は、ＣＰＵ１０１が通信制御プログラムを実行することによりその処理機能が実現される。
【００４４】
要求パス１５０は、注文処理部１１０と、通信制御部１４０とを繋ぐ通信経路であり、主として要求制御部１１４が通信制御部１４０に出力する送信要求を伝達する。また、非同期型の場合に通信制御部１４０が要求制御部１１４に通知する受付完了通知も伝達する。
【００４５】
通知パス１６０は、注文処理部１１０と、通信制御部１４０とを繋ぐ通信経路であり、主として通知制御部１１５に通知する送信完了通知を伝達する。
図５は、注文管理情報の一例を示す図である。注文管理情報１１１１は、注文ＩＤ、状態、要求ＩＤ及び注文詳細の情報項目を含む。
【００４６】
注文ＩＤの項目には、注文データを識別するための識別情報が登録される。
状態の項目には、注文データの注文処理の進行状態を示す情報が登録される。「新規」は、要求処理部１１２が取り出した注文データを注文管理情報１１１１に新たに登録したことを示す。「受付」は、通信制御部１４０が、要求制御部１１４から受けた注文データの送信要求を受け付けたことを示す。「完了」は、通信制御部１４０による送信処理が終了したことを示す。同期型が選択された注文データは、登録時に状態の項目が「新規」になり、通信制御部１４０の送信完了通知を受けて「完了」となる。非同期型が選択された注文データは、状態の項目は、登録時に「新規」になり、通信制御部１４０の受付完了通知で「受付」の状態になり、通信制御部１４０の送信完了通知を受けて「完了」となる。
【００４７】
要求ＩＤの項目は、非同期型処理の場合に、要求制御部１１４が送信要求を行った注文データと、通信制御部１４０が受付完了及び送信完了の通知を発行した注文データとを紐付けする情報である。要求制御部１１４は、送信要求時に付与した要求ＩＤを注文管理情報１１１１に記憶しておく。要求制御部１１４及び通知制御部１１５は、通信制御部１４０からの通知に含まれる要求ＩＤと、注文管理情報１１１１の要求ＩＤとを照合し、通知を受けた注文データを特定する。なお、要求ＩＤは、要求制御部１１４による非同期型の送信要求を受け付けた通信制御部１４０が付与し、受付完了の通知と共に要求制御部１１４へ通知するとしてもよい。
【００４８】
注文詳細の情報項目は、注文データの詳しい内容を示す情報である。注文管理情報１１１１の例では、「注文種別」と「注文数量」などが登録されている。
なお、注文管理情報１１１１を構成する項目は一例であり、項目は必要に応じて適宜設定される。
【００４９】
次に、要求処理部１１２、要求制御部１１４及び通知制御部１１５の各処理部が行う処理についてフローチャートを用いて説明する。
図６は、要求処理部の要求発行処理の手順を示すフローチャートである。以下、図６に示す処理をステップ番号に沿って説明する。
【００５０】
［ステップＳ１０］要求処理部１１２は、注文キュー１１１ａに登録される注文データの登録件数を算出する。また、注文キュー１１１ａから注文データを１件取り出す。
［ステップＳ１１］要求処理部１１２は、送信処理の進行状態を示す状態の項目を「新規」として、取り出した注文データを注文管理情報１１１ｂに登録するように状態管理部１１３に依頼する。
【００５１】
状態管理部１１３は、依頼を受け、その注文データのレコードを新たに生成し、注文管理情報１１１ｂに登録する。注文管理情報１１１ｂの対応する注文データの状態の項目には、「新規」を登録する。
【００５２】
［ステップＳ１２］要求処理部１１２は、注文データと、登録件数と、を要求制御部１１４に引き渡し、送信要求を発行する。
［ステップＳ１３］要求処理部１１２は、送信要求を発行した仕掛中の要求処理を停止し、要求制御部１１４からの復帰指示を待つ。要求処理部１１２は、要求制御部１１４から復帰指示を取得したか否かを判定し、復帰指示を取得していなければ、仕掛中の要求処理の停止を継続する。復帰指示を取得していれば、処理をステップＳ１０に進め、次の注文データの処理を行う。
【００５３】
以上の処理手順が実行されることにより、要求処理部１１２は、注文キュー１１１ａに登録される注文データを１件ずつ取り出し、要求制御部１１４に対して送信要求を行い、復帰が指示されるまで処理を停止する。要求処理部１１２は、復帰が指示されたときは、この注文データの処理を終了し、次の注文データの処理を開始する。
【００５４】
図７は、要求制御部の要求制御処理の手順を示すフローチャートである。以下、図７に示す処理をステップ番号に沿って説明する。
［ステップＳ２１］要求制御部１１４は、要求処理部１１２から発行された送信要求を受け付ける。送信要求には、送信する注文データと、注文キュー１１１ａに登録されている注文データの登録件数が含まれている。
【００５５】
［ステップＳ２２］要求制御部１１４は、注文データの登録件数と閾値とを比較し、注文データの登録件数が閾値以下であるか否かを判定する。注文データの登録件数が閾値以下である時は、処理をステップＳ２３に進める。登録件数が閾値を超えているときは、処理をステップＳ２５に進める。
【００５６】
［ステップＳ２３］要求制御部１１４は、注文データの登録件数が閾値以下であるので、注文データは滞留していないと判断し、同期型を指定して通信制御部１４０に送信要求を出力する。具体的には、要求制御部１１４は、通信制御部１４０の同期型処理を呼び出す。
【００５７】
［ステップＳ２４］要求制御部１１４は、通知制御部１１５から連携完了通知を取得するまで待つ。連携完了通知は、通知制御部１１５が通信制御部１４０から送信完了通知を受け取ったときに、要求制御部１１４に対して発行する通知である。連携完了通知を取得したときは、処理をステップＳ２８に進める。
【００５８】
［ステップＳ２５］要求制御部１１４は、注文データの登録件数が閾値より多いので、注文の滞留が発生するおそれがあると判断し、非同期型を指定して通信制御部１４０に送信要求を出力する。具体的には、要求制御部１１４は、通信制御部１４０の非同期型処理を呼び出す。非同期型処理を呼び出す場合には、１件の注文データの送信処理が終了する前に次の注文データを送信することができるので、注文データを識別するため、送信要求ごとに要求ＩＤを付与する。通信制御部１４０は、非同期型処理を呼び出されたときは、完了通知に要求ＩＤを付与する。要求制御部１１４は、通信制御部１４０から取得した完了通知がどの注文データに対応するものであるかを要求ＩＤで識別する。
【００５９】
［ステップＳ２６］要求制御部１１４は、通信制御部１４０から受付完了通知を取得するまで待つ。受付完了通知は、通信制御部１４０が要求制御部１１４の送信要求の受付処理を完了したときに、要求制御部１１４に対して発行する通知である。受付完了通知を取得したときは、処理をステップＳ２７に進める。
【００６０】
［ステップＳ２７］要求制御部１１４は、対応する注文データに関する注文管理情報１１１ｂの状態の項目を「受付」に更新するように状態管理部１１３に対して依頼する。状態管理部１１３は、依頼に応じて、対応する注文データに関する注文管理情報１１１ｂの状態の項目を「受付」に更新する。
【００６１】
［ステップＳ２８］要求制御部１１４は、要求処理部１１２より受け付けた送信要求の仕掛けを復帰するように復帰指示を要求処理部１１２に出力する。
以上の処理手順が実行されることにより、要求制御部１１４は、注文キュー１１１ａの登録件数が閾値以下であれば、同期型処理を呼び出し、送信処理の完了後に要求処理部１１２を復帰させる。注文キュー１１１ａの登録件数が閾値を超えていれば、非同期型処理を呼び出し、注文データの送信要求の受付完了後に要求処理部１１２を復帰させる。
【００６２】
図８は、通知制御部の通知制御処理の手順を示すフローチャートである。以下、図８に示す処理をステップ番号に沿って説明する。
［ステップＳ３１］通知制御部１１５は、通信制御部１４０が発行する送信完了通知を取得するのを待つ。通信制御部１４０は、送信完了通知を取得したときは、処理をステップＳ３２に進める。
【００６３】
［ステップＳ３２］通知制御部１１５は、送信完了通知を取得した注文データに対応する注文データを特定し、注文管理情報１１１ｂの該当する注文データの状態の項目を「完了」に更新するように状態管理部１１３に依頼する。状態管理部１１３は、注文管理情報１１１ｂの該当する注文データの状態の項目を「完了」に更新する。同期型処理が行われているときは、送信処理を行っている注文データは１件であるので、通知制御部１１５は、対応する注文データを容易に特定できる。非同期型処理が行われているときは、通知制御部１１５は、要求ＩＤに基づいて対応する注文データを特定する。
【００６４】
［ステップＳ３３］通知制御部１１５は、送信処理が同期型で行われたか否かを判定する。同期型処理であるか、非同期型処理であるかは、通信制御部１４０から通知されるとする。また、例えば、要求ＩＤの有無で判定するとしてもよい。通知制御部１１５は、同期型であれば処理をステップＳ３４に進め、非同期型であれば、処理をステップＳ３１に進める。
【００６５】
［ステップＳ３４］通知制御部１１５は、同期型で行われているときは、要求制御部１１４に対し、連携完了通知を送り、処理をステップＳ３１に進める。
このように、通知制御部１１５は、通信制御部１４０の送信完了通知を検出し、該当する注文データの注文管理情報１１１ｂの状態を更新する。また、同期型であれば、連携完了通知を要求制御部１１４へ通知する。
【００６６】
次に、同期型で要求制御処理が行われる場合の処理の流れについて説明する。図９は、同期型の要求制御処理の例を示すシーケンス図である。以下、図９に示す処理をステップ番号に沿って説明する。
【００６７】
［ステップＳＴ０１］要求処理部１１２は、注文キュー１１１ａから注文データを１件取り出す。このとき、注文キュー１１１ａに登録される注文データの登録件数も算出する。
【００６８】
［ステップＳＴ０２］要求処理部１１２は、状態管理部１１３に対し、取り出した注文データを注文管理情報１１１ｂに新たに登録するように、新規登録の依頼を行う。
［ステップＳＴ０３］状態管理部１１３は、新規登録の依頼を受けた注文データのレコードを新たに作成し、注文管理情報１１１ｂに登録する。
【００６９】
［ステップＳＴ０４］要求処理部１１２は、取り出した注文データの送信要求を要求制御部１１４に対して発行する。要求処理部１１２は、送信要求とともに登録件数と注文データとを要求制御部１１４に出力する。要求処理部１１２は、その後、待機６０１の状態に移行する。
【００７０】
［ステップＳＴ０５］要求制御部１１４は、要求処理部１１２から送信要求の注文データと、注文キュー１１１ａの注文データの登録件数とを取得し、注文データの登録件数と閾値とを比較する。図９に示す要求制御部１１４の場合は、注文データの登録件数が閾値以下であるので、通信制御部１４０に対して同期型処理の呼び出しを行う。
【００７１】
［ステップＳＴ０６］通信制御部１４０は、同期型処理の呼び出しを受け、注文データの送信要求の受付処理を行う。同期型処理であるので、受付完了時に通知は行わない。通信制御部１４０は、受け付けた注文データを電文に変換し、取引装置４０１に送信する。
【００７２】
［ステップＳＴ０７］通信制御部１４０は、送信が完了したので、送信完了通知を通知制御部１１５に対して発行する。
［ステップＳＴ０８］通知制御部１１５は、通信制御部１４０の発行した送信完了通知を取得し、連携完了通知を要求制御部１１４に対して発行する。
【００７３】
［ステップＳＴ０９］要求制御部１１４は、連携完了通知を取得したことによって送信が完了したことを検出し、要求処理部１１２に対して復帰指示を行う。要求処理部１１２は、待機６０１の状態から復帰し、次の注文データの取り出しが可能な状態になる。
【００７４】
［ステップＳＴ１０］通知制御部１１５は、注文管理情報１１１ｂの送信完了通知を受けた注文データに該当する状態の項目を「完了」に更新するように、状態管理部１１３に対して依頼する。
【００７５】
［ステップＳＴ１１］状態管理部１１３は、注文管理情報１１１ｂの該当する注文データの状態の項目を更新する。
このように同期型の処理手順が行われる。
【００７６】
次に、非同期型で要求制御処理が行われる場合の処理の流れについて説明する。図１０は、非同期型の要求制御処理の例を示すシーケンス図である。以下、図１０に示す処理をステップ番号に沿って説明する。
【００７７】
［ステップＳＴ２１］要求処理部１１２は、注文キュー１１１ａから注文データを１件取り出す。このとき、注文キュー１１１ａに登録される注文データの登録件数も算出する。
【００７８】
［ステップＳＴ２２］要求処理部１１２は、状態管理部１１３に対し、取り出した注文データを注文管理情報１１１ｂに新たに登録するように、新規登録の依頼を行う。
［ステップＳＴ２３］状態管理部１１３は、新規登録の依頼を受けた注文データを新たに注文管理情報１１１ｂに登録する。
【００７９】
［ステップＳＴ２４］要求処理部１１２は、取り出した注文データの送信要求を要求制御部１１４に対して発行する。要求処理部１１２は、送信要求とともに注文データの登録件数と注文データとを要求制御部１１４に出力する。要求処理部１１２は、その後、待機６０２の状態に移行する。
【００８０】
［ステップＳＴ２５］要求制御部１１４は、注文キュー１１１ａに登録される注文データの登録件数と閾値とを比較し、注文データの登録件数が閾値を超えているので、通信制御部１４０に対して非同期型処理の呼び出しを行う。非同期型処理の呼び出しの際、要求ＩＤも付加する。
【００８１】
［ステップＳＴ２６］通信制御部１４０は、非同期型処理の呼び出しを受け、注文データの送信要求の受付処理を行う。通信制御部１４０は、受付処理終了後、受付完了通知を要求制御部１１４に対して発行する。
【００８２】
［ステップＳＴ２７］通信制御部１４０は、受け付けが完了した注文データを電文に変換し、取引装置４０１に送信する。
［ステップＳＴ２８］要求制御部１１４は、受付完了通知を取得し、状態管理部１１３に対し、受付完了通知を受けた注文データに対応する注文管理情報１１１ｂの状態の項目を、受付完了を示す「受付」に更新するように依頼を行う。
【００８３】
［ステップＳＴ２９］状態管理部１１３は、要求制御部１１４の依頼を受け、受付完了通知に対応する注文データの状態の項目を「受付」に更新する。
［ステップＳＴ３０］要求制御部１１４は、受付完了通知を取得したので、要求処理部１１２に対して復帰指示を発行する。要求処理部１１２は、待機６０２の状態から復帰し、次の注文データの取り出しが可能な状態になる。
【００８４】
［ステップＳＴ３１］要求処理部１１２は、復帰指示に応じて待機６０２の状態から復帰したので、次の注文データの処理を開始する。要求処理部１１２は、注文キュー１１１ａから注文データを１件取り出す。このとき、注文キュー１１１ａに登録される注文データの登録件数も算出する。また、図１０では省略しているが、状態管理部１１３に対し、取り出した注文データを注文管理情報１１１ｂに新規登録するように依頼する。
【００８５】
［ステップＳＴ３２］要求処理部１１２は、取り出した注文データの送信要求を要求制御部１１４に対して発行する。要求処理部１１２は、送信要求とともに登録件数と注文データとを要求制御部１１４に出力する。図示はしていないが、要求処理部１１２は、その後、待機状態に移行する。
【００８６】
［ステップＳＴ３３］要求制御部１１４は、注文キュー１１１ａに登録される注文データの登録件数と閾値とを比較し、注文データの登録件数が閾値を超えているので、通信制御部１４０に対して非同期型処理の呼び出しを行う。非同期型処理の呼び出しの際、要求ＩＤも付加する。なお、このとき、注文データの登録件数が閾値を超えていないときは、同期型処理の呼び出しを行う。
【００８７】
［ステップＳＴ３４］通信制御部１４０は、ステップＳＴ２７で送信処理を行った注文データの送信が完了したので、送信完了通知を通知制御部１１５に対し発行する。通信制御部１４０は、送信完了通知に送信した注文データの要求ＩＤを付加する。
【００８８】
［ステップＳＴ３５］通知制御部１１５は、通信制御部１４０の発行した送信完了通知を取得し、要求ＩＤに基づいて対応する注文データを特定する。通知制御部１１５は、送信完了通知を受けた注文データに対応する注文管理情報１１１ｂの状態の項目を「完了」に更新するように、状態管理部１１３に対して依頼する。
【００８９】
［ステップＳＴ３６］状態管理部１１３は、注文管理情報１１１ｂの該当する注文データの状態の項目を更新する。
このように非同期型の処理手順が行われる。
【００９０】
注文処理装置１００によれば、送信要求を受けた注文データの登録件数に応じて自動的に同期型または非同期型を選択して送信処理を行うので、注文の滞留を抑制することができる。なお、注文処理装置１００では、注文データの登録件数を算出し、同期型と非同期型の選択を行っている。これによれば、正確に注文の滞留の可能性を予測することができるが、注文の滞留の可能性を推測できる指標であれば他の指標を用いるとしてもよい。例えば、一定時間に入力する注文データの頻度を算出し、基準値以上の頻度で注文データが入力することを検出した場合に送信処理を同期型から非同期型に切り替えるとしてもよい。また、予め、注文が殺到する時間帯が予測できれば、時間で送信処理を同期型から非同期型に切り替えるとしてもよい。また、これらの指標を組み合わせるとしてもよい。
【００９１】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、注文処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【００９２】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００９３】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００９４】
また、上記の処理機能の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現することもできる。
【００９５】
本発明は上記の実施形態そのままに限定されるものではなく、実施段階でのその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素を適宜組み合わせてもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。このような、発明の趣旨を逸脱しない範囲内において種々の変形や応用が可能である。
【符号の説明】
【００９６】
１  記憶部
１ａ  注文情報
２  注文処理部
３  通信制御部
１００  注文処理装置
１１０  注文処理部
１１１  記憶部
１１１ａ  注文キュー
１１１ｂ  注文管理情報
１１２  要求処理部
１１３  状態管理部
１１４  要求制御部
１１５  通知制御部
１２０  入力部
１３０  表示部
１４０  通信制御部
１５０  要求パス
１６０  通知パス
【図１】
0006558950.tif 000002
【図２】
0006558950.tif 000003
【図３】
0006558950.tif 000004
【図４】
0006558950.tif 000005
【図５】
0006558950.tif 000006
【図６】
0006558950.tif 000007
【図７】
0006558950.tif 000008
【図８】
0006558950.tif 000009
【図９】
0006558950.tif 000010
【図１０】
0006558950.tif 000011