(57)【要約】【課題】  電子商取引などを行うための伝送システムにおいて、一方の当事者から受信したメッセージを分散して処理を行いながら、他方の当事者への伝送順序を必要に応じて簡便に保証する。【解決手段】  メッセージを受信すると、そのメッセージの送信元を特定する。また、そのメッセージを処理するラインを選択するための制御情報を取得する。その制御情報を用いて、メッセージの処理ラインを受信順に選択するか否かを判断する。そして、メッセージの処理ラインを受信順に選択しないと判断した場合、送信元が同じメッセージには同じラインを選択する処理を受信したメッセージの送信元に基づいて行う。【選択図】  図１
2005198264.tif 000002
【特許請求の範囲】
【請求項１】
受信したメッセージを複数の処理ラインのうちから選択したラインで処理してからその送信先へ出力する伝送システムであって、
受信したメッセージの送信元を特定する手段、
そのメッセージを処理するラインを選択するための制御情報を取得する手段、
メッセージの処理ラインを受信順に選択するか否かを前記制御情報に基づいて判断する手段、及び
メッセージの処理ラインを受信順に選択しないと判断した場合に、送信元が同じメッセージには同じラインを選択する処理を受信したメッセージの送信元に基づいて行う選択手段
を備えた伝送システム。
【請求項２】
前記選択手段は、送信元を表す符号を数値に変換し、変換した結果をライン数で割ったときの余りに基づいて、送信元が同じメッセージには同じラインを選択する処理を行う請求項１記載の伝送システム。
【請求項３】
受信したＥＤＩメッセージを複数の処理ラインのうちから選択したラインで処理してからその送信先へ出力する伝送システムであって、
企業コードと、ＥＤＩメッセージの種別を表すポストＩＤと、取り扱う業務の種類及び伝送されるデータの種類を示す業務コードと、テスト区分とを関連付ける第１のテーブル、
業務コードと、テスト区分と、ＥＤＩメッセージを処理するプログラムのＩＤと、ラインの振り分け方式とを関連付ける第２のテーブル、
受信したＥＤＩメッセージの送信元の企業コードを特定する手段、
受信したＥＤＩメッセージについてのポストＩＤ、及び特定した企業コードに対応する業務コード及びテスト区分を第１のテーブルから取得する手段、
取得した業務コード及びテスト区分を含む制御情報に対応するライン振り分け方式を第２のテーブルを参照することで特定し、その特定したライン振り分け方式に従って、受信したＥＤＩメッセージの処理ラインをラウンドロビン方式で選択するか否かを判断する手段、そして
ＥＤＩメッセージの処理ラインをラウンドロビン方式で選択しないと判断した場合に、送信元が同じメッセージには同じラインを選択する処理をＥＤＩメッセージの送信元に基づいて行う手段
を備えた伝送システム。
【請求項４】
受信したメッセージを複数の処理ラインのうちから選択したラインで処理してからその送信先へ出力する伝送方法であって、
受信したメッセージの送信元を特定する手順、
そのメッセージを処理するラインを選択するための制御情報を取得する手順、
メッセージの処理ラインを受信順に選択するか否かを前記制御情報に基づいて判断する手順、及び
メッセージの処理ラインを受信順に選択しないと判断した場合に、送信元が同じメッセージには同じラインを選択する処理を受信したメッセージの送信元に基づいて行う手順
を備えた伝送方法。
【請求項５】
請求項４記載の伝送方法の手順をコンピュータに実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項６】
請求項４記載の伝送方法の手順をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば企業間で商取引を行うためのメッセージを受信すると、受信したメッセージを分散して処理し、処理したメッセージを逐次送信先へ出力する伝送システム及び方法に関するものである。
【背景技術】
【０００２】
近年企業間での商取引は、Ｅｌｅｃｔｒｏｎｉｃ  Ｄａｔａ  Ｉｎｔｅｒｃｈａｎｇｅにより行われることが多くなった。通信回線にインターネットを利用し、ＦＴＰやＨＴＴＰなどのアプリケーションプロトコルでメッセージを交換するインターネットＥＤＩが登場したこともあって、以前よりＥＤＩシステムを企業が導入し易くなっている。ＥＤＩにより取引を行う取引先が増えると、取引当事者の組み合わせが乗数的に増加し、その間でメッセージ交換を実現するための伝送システムで大量の伝送処理が発生する。このような場合にメッセージ伝送の遅延による障害発生を防止するため、複数の処理ラインを設け、負荷状況に応じて各ラインに処理を分散させることが従来から行われてきた。例えばメッセージを連続して送信した場合、ラウンドロビン方式で各メッセージの処理を各ラインに分散させる。図１６は受信した全てのメッセージについてラウンドロビン方式で処理ラインを選択する装置の一例を説明するための機能ブロック図である。この例における装置１５１は、発注側のシステム１０１乃至１０３と受注側のシステム２０１乃至２０３との間でメッセージを交換する。装置１５１の通信手段１５２は通信回線３０１を介して発注側のシステム１０１乃至１０３と通信し、通信回線３０２を介して受注側のシステム２０１乃至２０３と通信する。例えば発注側のシステム１０１乃至１０３から注文情報のようなメッセージを複数受信すると、その装置１５１の振り分け手段１５３は、各メッセージを振り分ける処理ラインを各メッセージの受信順に変更する。振り分けるラインが一巡すれば、次に受信したメッセージを処理するラインには、振り分けを開始したときのラインが選択される。このようにラウンドロビン方式で選択された処理ラインで処理したメッセージについてはライン後段の手段１５４で後続処理がされる。
【０００３】
ところで、電子商取引では、その整合性を保つために、メッセージの伝送順序が重要になるときがある。例えば注文情報を送信してからその注文を取り消す情報を送信するような場合、注文情報の次に取消情報が受信される必要がある。注文情報より先に取消情報を受けても、存在しない注文を取り消すことになり、受信側は正常に処理を行うことができない。
【０００４】
しかしながら、複数のラインに処理を分散させると、メッセージの受信順に処理ラインを変更しても、トランザクションが多くなり、異なるサイズのデータが増えるのに連れて、各ラインにおける負荷状況は均等でなくなる。各ラインにおける処理時間がメッセージの送信間隔より大きくなれば、メッセージの伝送順序が変わってしまうかもしれない。
【０００５】
このように分散処理を行う場合でも、例えば特許文献１に記載されているように、送出順序を表す連番や日時をデータに付せば、付加された情報に基づいて伝送順序を受信側で復元することができる。
【特許文献１】特開平６−８３７４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のように送出順序を表す連番や日時を利用する場合、分散処理のために順序が保証されなければ、それらに基づいて受信側でメッセージの送出順序を確認し、復元しなければならない。全てのメッセージについて復元を行っていると、その処理に必要な負荷は大きくなり時間は長くなる。このため分散処理をする場合でも、電子商取引に支障のない範囲で簡便に伝送順序を保証することのできるシステムが望まれる。
【０００７】
本発明は、このような従来の技術における課題を解決するために、分散処理を行いながら、必要に応じて簡便にメッセージの伝送順序を保証することの可能な伝送システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の提供する伝送システムは、受信したメッセージを複数の処理ラインのうちから選択したラインで処理してからそのメッセージの送信先へ出力するシステムであって、上述の目的を達成するために、次の手段を採用している。
【０００９】
この伝送システムは、メッセージを交換する一方の当事者からメッセージを受信すると、特定手段がそのメッセージの送信元を特定する。また、取得手段がそのメッセージを処理するラインを選択するための制御情報を取得する。判断手段は、その制御情報を用いて、メッセージの処理ラインを受信順に選択するか否かを判断する。そして、メッセージの処理ラインを受信順に選択しないと判断した場合、選択手段は、送信元が同じメッセージには同じラインを選択する処理を受信したメッセージの送信元に基づいて行う。例えば送信元を表す符号を数値に変換し、変換した結果をライン数で割ったときの余りに基づいて処理を行うことで、送信元が同じメッセージには同じラインを選択することができる。各ラインでは複数のメッセージが逐次処理されるので、この場合、他方の当事者へその順序で処理されたメッセージをすれば、送信元が同じメッセージの伝送順序を保証することができる。また、メッセージの伝送順序を保証する必要がない場合には、メッセージの処理ラインを受信順に選択するので、メッセージの処理が各ラインに分散する。
【００１０】
別の観点では、本発明は、上述の伝送システムに対応する伝送方法を提供する。この伝送方法は、受信したメッセージを複数の処理ラインのうちから選択したラインで処理してからその送信先へ出力するものであって、受信したメッセージの送信元を特定する手順、そのメッセージを処理するラインを選択するための制御情報を取得する手順、メッセージの処理ラインを受信順に選択するか否かを前記制御情報に基づいて判断する手順、及びメッセージの処理ラインを受信順に選択しないと判断した場合に、送信元が同じメッセージには同じラインを選択する処理を受信したメッセージの送信元に基づいて行う手順を備える。
【００１１】
さらに別の観点では本発明はこのような手順をコンピュータに実行させるためのプログラム、およびそのプログラムを記録したコンピュータ読取可能な媒体を提供する。
【発明の効果】
【００１２】
このような構成を採用することにより本発明では、メッセージの分散処理を行いながら、必要に応じて簡便にメッセージの伝送順序を保証することができる。その結果、電子商取引を迅速かつ円滑に行うことが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、添付図面を参照して、本発明の実施の形態について説明する。この実施の形態において、本発明は、発注側と受注側との間でメッセージを交換するための伝送システムとして具体化される。
【００１４】
図１に示すように、この伝送システムでは、発注側のシステム１０１、１０２及び１０３と受注側のシステム２０１、２０２及び２０３との間に、メッセージを処理するための処理装置１が配置されている。この処理装置１は、発注側の複数のシステム１０１、１０２及び１０３と通信回線３０１を介して接続されている。また、この処理装置１は、受注側の複数のシステム２０１、２０２及び２０３と通信回線３０２を介して接続されている。発注側の各システム１０１、１０２又は１０３も受注側の各システム２０１、２０２又は２０３も、同一企業又は組織のものであってもよいし、異なる企業又は組織のものであってもよい。また便宜上、図１では、システムを発注側か受注側かに分類し、通信回線も２つに分けて示しているが、これは、各システムを固定的にいずれかに分類したり、通信回線を２つに分けたりする必要性を示しているわけではない。
【００１５】
発注側のシステム１０１、１０２又は１０３及び受注側のシステム２０１、２０２又は２０３と処理装置１とを接続する通信回線３０１及び３０２には、インターネットやイントラネットを利用することができる。ここでは、ＴＣＰ／ＩＰネットワークを利用することを前提とし、メッセージを伝送するためのアプリケーションプロトコルとしてＦＴＰを用いる。ＥＤＩのメッセージは例えば複数まとめて一つのファイルに記述し、そのファイルを伝送する。
【００１６】
処理装置１は、一台又は複数台の汎用コンピュータで実現することができる。図２は一台のコンピュータで処理装置を実現した例を示す。ＦＴＰを用いた通信を行うため、そのコンピュータ４０１上でＦＴＰサーバプログラムやＦＴＰクライアントプログラムのような通信プログラム２が動作する。ここでは、通信プログラム２をＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）４０２に格納している。ＨＤＤ４０２はバス４０３を通じてＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０４に接続されている。バス４０３にはＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０５やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０６、通信インターフェイス４０７、通信インターフェイス４０８も接続されている。ＲＯＭ４０５に記憶したプログラムの指令に従ってコンピュータ４０１が起動すると、ＣＰＵ４０４はＨＤＤ４０２から通信プログラム２のファイルを読み出し、ＲＡＭ４０６上でその通信プログラム２を動作させる。ＣＰＵ４０４は通信プログラム２の指令に従い外部のネットワーク機器と通信する。その通信に通信インターフェイス４０７または４０８を用いる。通信インターフェイス４０７および４０８は通信回線３０１および３０２にそれぞれ接続されており、発注側システム１０１乃至１０３との通信には通信インターフェイス４０７を用い、受注側システム２０１乃至２０３との通信には通信インターフェイス４０８を用いる。
【００１７】
処理装置１は、発注側のシステム１０１、１０２若しくは１０３又は受注側のシステム２０１、２０２若しくは２０３からメッセージを受信すると、そのメッセージに対応する処理を行ってからその送信先に受信メッセージを出力する。
【００１８】
メッセージ伝送の遅延による障害を発生させないため、図１に模擬的に示す通り処理装置１には複数の処理ラインＬが設けられる。処理装置１は、受信したメッセージを選択した処理ラインＬに振り分けることで処理を分散し、その処理ラインＬの後段に設けた手段４で後続処理を行ってから、送信先に受信したメッセージを出力する。例えば後続処理として、メッセージを送信先毎に振り分けたり、複数のメッセージを一つに統合したりする。
【００１９】
メッセージを処理する処理ラインＬは、ソフトウェア的又はハードウェア的に用意することができる。処理装置１を一台のコンピュータで実現する場合には、ＣＰＵの処理時間やメモリなどのリソースをプログラムが適当に分配することにより、ソフトウェア的に複数の処理ラインＬを用意することができる。また、処理装置１を複数のコンピュータで実現する場合、いずれかのコンピュータを一つの処理ラインとして利用すれば、ハードウェア的に複数の処理ラインを用意することができる。さらに、両者を組み合わせて、複数台のコンピュータそれぞれでソフトウェア的に処理ラインを用意することにより、台数以上の処理ラインを確保するようにしてもよい。
【００２０】
発注側のシステムと受注側のシステムは、このような通信回線及び処理装置を介して、見積依頼や見積回答、注文情報、注文請け情報、納期確認情報、納期回答情報など様々なメッセージを交換する。メッセージには、これらの商取引に直接関係するものの他、実績やニュースを通知するものも含まれる。
【００２１】
担当者は、発注側のシステム１０１、１０２及び１０３や受注側のシステム２０１、２０２及び２０３に接続された端末から、これらのメッセージに必要な情報を入力したり、その端末でメッセージの内容を確認したりする。例えば発注側のシステム１０１に接続された端末１０１Ａから担当者が注文情報を入力することで、発注側のシステム１０１は、そのメッセージを送信する。このような発注側のシステム１０１乃至１０３もコンピュータを用いて実現することができる。図３は汎用のコンピュータで発注側のシステムを実現した例を示す。コンピュータ５０１はバス５０２を備えており、このバス５０２を介してＣＰＵ５０３やＲＡＭ５０４、ＲＯＭ５０５、ＨＤＤ５０６などが接続されている。またこれらのデバイスの他、外部機器との通信のためバス５０２には通信インターフェイス５０７および５０８も接続されている。担当者の端末１０１Ａはその企業のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）５０９を介してその通信インターフェイス５０７に接続される。ＨＤＤ５０６には、業務データベース５１０が配置されるとともに、業務アプリケーション５１１を格納している。業務データベース５１０は見積や注文などについて業務データを格納している。ＣＰＵ５０３はＨＤＤ５０６から業務アプリケーション５１１を読み出し、ＲＡＭ５０４上で動作させる。ＣＰＵ５０３は業務アプリケーション５１１の指令に従って、業務データベース５１０に格納された業務データにアクセスする。業務データはその企業特有のフォーマットで作成されることが少なくない。ＥＤＩのメッセージ伝送に標準フォーマットを利用する場合、特有フォーマットから標準フォーマットへの変換が必要である。そのために、ＨＤＤ５０６にはトランスレータプログラム５１２も格納されている。ＣＰＵ５０３はＨＤＤ５０６からそのプログラム５１２を読み出し、ＲＡＭ５０４上で動作させる。ＣＰＵ５０３は業務データベース５１１から業務データを読み出し、トランスレータプログラム５１２の指令に従ってそのデータの形式を標準フォーマットに変更することでＥＤＩのメッセージを作成する。一方、受注側のシステム２０１乃至２０３では、トランスレータプログラムによって標準フォーマットからその企業特有の形式に変換する。
【００２２】
作成されたＥＤＩのメッセージを送信する必要が生じると、発注側のシステム１０１は即座に又は適当な時期に、処理装置１上の通信プログラム２にアクセスする。その通信プログラム２、ここではＦＴＰサーバの指令に従ってコンピュータ４０１が動作することで、図１に示すように処理装置１はプロトコル解釈手段３１およびデータ転送手段３２を備える。プロトコル解釈手段３１は、アクセス元からの指示に従いデータ転送手段３２によるデータ転送を管理する。処理装置１上の通信プログラム２にアクセスする際、発注側のシステム１０１は、コントロールコネクションに接続するため、ユーザ名及びパスワードを含む認証情報をＦＴＰサーバへ送信する。認証が正常に行われると、プロトコル解釈手段３１は発注側のシステム１０１との間でデータコネクションを確立する。そのデータコネクションを通じて発注側のシステム１０１はメッセージを送信し、そのメッセージをデータ転送手段３２が受信する。この実施の形態では、複数のＥＤＩメッセージを格納したファイルを送信することで、メッセージが処理装置１に送信される。発注側システム１０１からファイルを送信する際、そのファイルは複数のパケットに分割される。各パケットには、ＴＣＰ／ＩＰのプロトコルスタックに従ってヘッダが付加される。コンピュータ４０１は、そのヘッダを使ってそれらのパケットからファイルを復元する。そしてコンピュータ４０１のＣＰＵ４０５はそのファイルからメッセージを取得する。
【００２３】
ＥＤＩのメッセージを受信すると、図４に示すような手順で、処理装置１は、そのメッセージに対応する処理を行い、そのメッセージで指定された送信先に処理されたメッセージを送信するため、処理ラインＬを選択する。処理装置１をコンピュータで実現するとき、処理ラインＬの選択の制御にプログラム５を利用する。図２の例ではそのプログラム５もＨＤＤ４０２に格納している。プログラム５は、コンピュータ４０１のＣＰＵ４０４やメモリなどのハードウェアと協働し、メッセージが受信された後（Ｓ１）、手順Ｓ２からＳ６を含む方法をコンピュータ４０１に実行させる。このとき、コンピュータ４０１は、図１の特定手段６、取得手段７、判断手段８及び選択手段９として機能する。
【００２４】
まず、特定手段６が認証情報に基づいて受信したメッセージの送信元を特定する（Ｓ２）。送信元は、例えばログインユーザが属する企業である。ここでは、図５に示すようにユーザと企業コードがテーブルにより予め関連付けられている。そのテーブルは、コンピュータ４０１の記憶手段に格納される。例えば図２に示すようにそのテーブルを相手先マスタテーブル４０９としてＨＤＤ４０２に格納しておけばよい。特定手段６は、これを参照することで、ログインユーザに対応する企業コードを特定する。
【００２５】
企業コードを特定すると、特定手段６は、受信したメッセージからその種別を表すポストＩＤを取得する。種別は、発注元の担当者が指定するものであり、そこには、そのメッセージを使用する業種などが含まれる。図６ＡはＥＤＩメッセージのフォーマットの一例を示す。この例では、ポストＩＤの他にレコード区分や送信元コード、送信先コードなどをメッセージが含んでいる。メッセージはヘッダレコードとデータレコードに分けることができ、レコード区分はそのレコードがヘッダであるかデータであるかを示す。送信元コードおよび送信先コードは、そのメッセージの送信元および送信先に固有のコードをそれぞれ表す。そのメッセージは送信先コードに対応する受注側のシステムに送信される。
【００２６】
ポストＩＤを取得すると、特定手段６は図６Ｂに示すように、受信したメッセージのヘッダ６０１を編集し、その企業コード、ポストＩＤ及び処理日時からなるデータ処理の管理情報６０２を付加する。
【００２７】
受信したメッセージのヘッダ６０１に管理情報６０２が付加されると、取得手段７は、そのメッセージを処理するラインを選択するための制御情報を取得する（Ｓ３）。そのために取得手段７は、その管理情報６０２から企業コード及びポストＩＤを抽出し、図７に示すように企業コード、ポストＩＤ、業務コード及びテスト区分を関連付けるテーブルを参照する。このテーブルは、図２に示すように情報管理マスタテーブル４１０としてコンピュータ４０１のＨＤＤ４０２に格納しておくことができる。業務コードは、取り扱う業務の種類及び伝送されるデータの種類を示すコードである。例えば注文、注文変更、注文キャンセル、実績レポート、ニュースといった事項を業務コードは表す。図７の例では、業務コード「Ｘ」が注文、注文変更、注文キャンセルに対応し、「Ｙ」が実績レポート、ニュースに対応する。テスト区分は、受信したメッセージがテスト伝送のものであるか、本番伝送のものであるか、並行本番伝送のものであるかのいずれかを表す。
【００２８】
この実施の形態では、テーブル４１０を参照することにより、取得手段７は、企業コード及びポストＩＤと対応する業務コード及びテスト区分を制御情報として取得する。そして、取得手段７は図６Ｃに示すように、受信したメッセージのヘッダ６０１を編集し、その制御情報６０３を付加する。
【００２９】
受信したメッセージのヘッダ６０１に制御情報６０３が付加されると、判断手段８は、メッセージの処理ラインを受信順に選択するか否かをその制御情報に基づいて判断する（Ｓ４）。そのために、判断手段８は、図８に示すようにプログラムＩＤ、業務コード、テスト区分、開始ライン番号、終了ライン番号及びライン振り分け方式を関連付けるテーブルを参照する。このテーブルは、図２に示すように振り分けマスタテーブル４１１としてコンピュータ４０１のＨＤＤ４０２に格納しておくことができる。プログラムＩＤは、メッセージを処理するプログラムを識別するためのＩＤである。このプログラムＩＤで識別されるプログラムにより、そのメッセージは処理される。開始ライン番号は、そのメッセージの振り分けを開始するラインの番号である。終了ライン番号は、そのメッセージの振り分けを終了するラインの番号である。ライン振り分け方式は、そのメッセージに対するラインの振り分けにラウンドロビン方式を用いるか否かを表し、例えば２値で与えられる。図８の例では、「０」がラウンドロビン方式を用いることを示し、「１」がラウンドロビン方式を用いないことを示す。ラウンドロビン方式を用いてラインの振り分けが行われる場合、メッセージの処理ラインＬは受信順に選択される。判断手段８は、コンピュータの記憶手段に格納されるこのようなテーブルを参照することにより、受信したメッセージに対応するライン振り分け方式を特定し、ラウンドロビン方式を用いるか否かを決定する。さらに、そのメッセージに対応するプログラム、開始ライン番号及び終了ライン番号を特定する。
【００３０】
ラウンドロビン方式を用いると判断された場合、選択手段９は、メッセージを処理するラインＬを受信順に選択する（Ｓ５）。複数のメッセージを記述した一つのファイルを受信することによって複数のメッセージを受信している場合、それらのメッセージについては、その受信順はファイルの記述で定められた順序に従えばよい。
【００３１】
例えば開始ライン番号が１であり、終了ライン番号が３であれば、順次受信された複数のメッセージに対して、各メッセージを処理するラインＬは、１つ目、２つ目、３つ目の順に選択される。３つ目が選択された後、さらにラウンドロビン方式が用いられる場合には、受信したメッセージに対して１つ目のラインが選択され、以降同様の選択が繰り返される。開始ライン番号が２であり、終了ライン番号が４であれば、２つ目、３つ目、４つ目の順に選択される。
【００３２】
これに対し、ラウンドロビン方式を用いないと判断された場合、選択手段９は、送信元が同じメッセージには同じラインを選択する処理を受信したメッセージの受信元に基づいて行う（Ｓ６）。そのために、選択手段９は、送信元を表す企業コードを数値に変換し、変換した結果をライン数で割ったときの余りに基づいて処理ラインＬを選択することができる。例えばライン数が２であり、３つのメッセージの企業コードがそれぞれ「０００２００００」、「０００２０００１」、「０００２０００Ａ」であれば、選択手段９は、各企業コードのうち最小位の「０」、「１」、「Ａ」を抽出する。「０」を文字コードで表せば０ｘ３０［４８］、「１」は０ｘ３１［４９］、「Ａ」は０ｘ４１［６５］であるので、これらをライン数で割ったときの余りを求める。１つ目の場合、その計算は４８÷２であるので、余りが０となる。２つ目の場合、その計算は４９÷２であるので、余りが１となる。３つ目の場合、その計算は６５÷２であるので、余りが１となる。余りが０であれば、選択手段９は、そのメッセージを処理するラインＬとして、１つ目のラインを選択する。余りが１であれば、そのメッセージを処理するラインＬとして、２つ目のラインを選択する。このような計算であれば、企業コードが同じとき、余りは常に同じ値になるので、同じ送信元からのメッセージには同じラインが選択される。
【００３３】
例えば処理に必要な時間の異なる４つのメッセージＡ１、Ａ２、Ｂ１及びＢ２が発注側のシステム１０１及び１０２から送信され、この順で処理装置１により受信されたとする。メッセージＡ１及びＡ２はシステム１０１から受注側のシステム２０１へのメッセージであり、メッセージＢ１及びＢ１はシステム１０２から受注側のシステム２０２へのメッセージである。図９では、各メッセージＡ１、Ａ２、Ｂ１又はＢ２の処理に必要な時間が矢印の長さで表されており、それらの受信時が矢筈で表されている。
【００３４】
図１０はこれらの全てのメッセージに対して処理ラインがラウンドロビン方式で選択される場合について、また図１１は本発明に従って処理ラインが選択される場合について処理の時間的経過を示す。図１０及び図１１ではそれらのメッセージを処理する４つのラインのうちいずれかの番号が１から４の数字で、各メッセージの処理時間が矢印の長さで表されている。さらに、それらの処理開始時が矢筈で処理終了時が矢尻で表されている。
【００３５】
図１０の例では、メッセージＡ１、Ａ２、Ｂ１及びＢ２は、それぞれ１つ目、２つ目、３つ目及び４つ目のラインで並列に処理され、メッセージＡ２、Ｂ１、Ａ１及びＢ２の順で処理が終了している。これらのメッセージは、後続手段４での処理が行われてから、その順で処理装置１からシステム２０１及び２０２へ送信される。システム２０２では、メッセージがメッセージＢ１及びＢ２の順で受信されるため、仮にそれらのメッセージが注文及び注文キャンセルに対応するものであっても、取引に支障はない。しかしながら、システム２０１では、メッセージは、メッセージＡ２及びＡ１の順で受信され、システム１０１からの送信順序と受信順序が異なってしまう。このメッセージが実績レポートやニュースに対応するものではなく、注文及び注文キャンセルに対応するものであれば、その取引に支障が生じてしまう。
【００３６】
一方、図１１の例では、メッセージＡ１、Ａ２、Ｂ１及びＢ２は、それぞれ１つ目、１つ目、３つ目及び４つ目で処理されている。例えばメッセージＡ１及びＡ２は注文及び注文キャンセルに対応するもので、これらのメッセージに対してはラウンドロビン方式で処理ラインを選択しないと判断されている。また、メッセージＢ１及びＢ２は実績レポートやニュースに対応するもので、これらのメッセージに対してはラウンドロビン方式で処理ラインを選択すると判断されている。その結果、送信元が同じメッセージＡ１及びＡ２は、同じ処理ラインで逐次処理され、メッセージＢ１及びＢ２は、異なる処理ラインで並列に処理されている。このため、４つのメッセージの処理は、メッセージＢ１、Ａ１、Ｂ２及びＡ２の順で終了している。この場合、処理は分散されていても、システム１０１からの送信順序とシステム２０１での受信順序が同じになる。電子商取引を行うような場合、取引情報の発生順序がその性質上時系列的に定まるため、通常送信元が同じメッセージに同じラインを選択すれば、その取引に支障は生じない。また、送信元であれば、処理装置１の受信時点で取得できるので、他の情報を用いるよりも迅速で簡便な処理を行うことが可能となる。
【００３７】
このように、本実施の形態における伝送システム及び方法では、分散処理を行って大量のトランザクションに対する待ち行列を解消しながら、必要に応じて簡便にメッセージの伝送順序を保証することができる。その結果、電子商取引を迅速かつ円滑にすることができる。
【００３８】
なお、メッセージの順序保証をするため、ある送信元に対して選択した処理ラインＬで他の送信元のメッセージを処理してもよい。またその処理ラインをラウンドロビン方式で選択する処理ラインに含めていてもよい。他の送信元のメッセージや順序保証の必要がないメッセージがその処理ラインで処理されても、対象となるメッセージの順序が変わらなければよい。ただし、処理ラインに与えられる負担が処理ライン間で不均等になる可能性がある。例えば多数のメッセージを同じ送信元から短時間で受信したときのように一部の処理ラインの負担が著しく大きくなるような場合には、その処理ラインをラウンドロビン方式で選択する処理ラインから一時的に外すようにしてもよい。
【００３９】
このような場合、図１２に示すように、処理装置１に処理ライン管理手段１０をさらに備えることができる。処理ライン管理手段１０は、メッセージの処理ラインを受信順に選択すると判断された場合に選択される処理ラインを選択手段９の選択結果に基づいて管理する。
処理ライン管理手段１０としてコンピュータ４０１を機能させる場合、図１３に示すようにコンピュータ４０１のＨＤＤ４０２にはライン管理テーブル４１２も配置される。ライン管理テーブル４１２はラウンドロビン方式で選択する対象のラインを管理するためのテーブルである。図１４はライン管理テーブルの一例を示す。この例では、実ライン番号と割り当て番号とを関連付けている。ここでは、実ライン番号は全ての処理ラインに対して付された各ライン固有の番号である。割り当て番号はラウンドロビン方式で選択する対象のラインに付された識別番号である。ラウンドロビン方式で選択するとき、選択手段９はこの割り当て番号を用いて処理ラインを識別する。ラウンドロビン方式の場合、割り当て番号が付されていない処理ラインは選択されない。一部の処理ラインをラウンドロビン方式で選択する処理ラインから外すためには、このライン管理テーブル４１２を編集すればよい。
【００４０】
この編集は、図１５に示すように例えば手順Ｓ６をした後にすることができる。手順Ｓ６の後、処理プログラム２の指令に従ってコンピュータ４０１のＣＰＵ４０４は、選択された処理ラインの負担を推定する（Ｓ７）。この推定は、その処理ラインに対するそれまでの選択結果に基づいてすることができる。例えばその選択結果から、その処理ラインで処理しているメッセージの数やデータ長の合計を見積もり、その見積もりから負担を定めればよい。ＣＰＵ４０４は処理ラインの負担を計算すると、その計算した値と予め定めたしきい値とを比較する（Ｓ８）。その処理ラインの負担がそのしきい値以下であれば、処理を終了する。その処理ラインの負担がそのしきい値より大きければ、その処理ラインをラウンドロビン方式で選択する対象のラインから外すためライン管理テーブルを編集する（Ｓ９）。例えばその処理ラインについて付された割り当て番号を削除し、必要に応じて、その他の割り当て番号を変更する。このようにすることで、一部の処理ラインに負担が集中する可能性を軽減することができる。
【００４１】
また順序保証の必要のある大量のメッセージを同じ送信元が常時送信することが予定されているときには、それらのメッセージを処理するための処理ラインを予めラウンドロビン方式で選択する処理ラインから外しておくようにしてもよい。このように一部のメッセージを処理するために予め処理ラインを確保している場合、処理ライン管理手段１０は、その処理ラインの負担に応じて、ラウンドロビン方式で選択する処理ラインを管理するのが好ましい。順序保証の必要のある大量のメッセージを同じ送信元から常時受信することが予定されていても、実際には、その送信元から受信するメッセージの数が一時的に減少することも考えられる。このような場合、処理ラインの利用効率が全体として低下してしまう。このため、その処理ラインの負担を見積もる。その負担の見積もりは、その送信元からメッセージを受信する毎や定期的にすればよい。その処理ラインの負担が予め定めたしきい値より小さければ、処理ライン管理手段１０は、その処理ラインをラウンドロビン方式で選択する処理ラインに含める。例えばその処理ラインについてライン管理テーブル４１２で割り当て番号を付与する。これによって、処理ラインの全体としての利用効率が低下するのを防ぐことができる。処理ラインの負担がしきい値以上であれば、予定した通りであるので、予め確保した処理ラインをラウンドロビン方式で選択する処理ラインに含める処理を行わない。予め確保した処理ラインをラウンドロビン方式で選択する処理ラインに含めた処理をした場合でも、その処理は一時的に有効なものである。例えば予め確保した処理ラインに対し割り当て番号を与えた後にその処理ラインの負担を見積もったとき、その見積もった値がしきい値以上であれば、処理ライン管理手段１０は、その処理ラインをラウンドロビン方式で選択する処理ラインから外す。予め確保した処理ラインをラウンドロビン方式で選択する処理ラインから外すときに利用するしきい値は、その処理ラインをラウンドロビン方式で選択する処理ラインに含めるときに利用するしきい値と異ならせてもよい。
【００４２】
また、上述の実施の形態では、メッセージの交換にアプリケーションプロトコルとしてＦＴＰを用いたが、これに限られるものではない。
【００４３】
また、ＦＴＰサーバプログラムなどの通信プログラムと処理ラインの選択を制御するためのプログラムとを別個にする必要もない。両方の機能を備えた一つのプログラムを利用するようにしてもよい。
【００４４】
また、処理ラインの選択を制御するためのプログラムを提供したり流通させたりする場合、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体にそのプログラムを格納したり、インターネットなどの電気通信回線を通じて伝送すればよい。
【産業上の利用可能性】
【００４５】
本発明に係る伝送システム及び方法は、取引当事者の一方から受信したメッセージを分散して処理しながら、取引当事者の他方へのメッセージの伝送順序を必要に応じて簡便に保証することができるという効果を奏し、企業間の電子商取引のための伝送システムなどで有用である。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施の形態における伝送システムの概略構成を示す図
【図２】処理装置のハードウェア構成を示す図
【図３】発注側のシステムのハードウェア構成を説明するための図
【図４】本発明の伝送方法を説明するためのフローチャート
【図５】ユーザコード及び企業コードを関連付けるテーブルを示す図
【図６】ＥＤＩメッセージのフォーマットの一例を示す図
【図７】企業コード、ポストＩＤ、業務コード及びテスト区分を関連付けるテーブルを示す図
【図８】プログラムＩＤ、業務コード、テスト区分、開始ライン番号、終了ライン番号及びライン振り分け方式を関連付けるテーブルを示す図
【図９】メッセージの受信時及び処理に必要な時間の長さを示す図
【図１０】全てのメッセージに対してラウンドロビン方式で処理ラインを選択する場合の処理の時間的経過を示す図
【図１１】複数のメッセージに対して本発明に従って処理ラインを選択する場合の処理の時間的経過を示す図
【図１２】伝送システムの別の構成例を説明するための機能ブロック図
【図１３】別の構成例に係る処理装置のハードウェア構成を示す図
【図１４】ライン管理テーブルの一例を示す図
【図１５】別の構成例に係る伝送方法の手順を説明するためのフローチャート
【図１６】全てのメッセージに対してラウンドロビン方式で処理ラインを選択する伝送システムの概略構成を示す機能ブロック図
【符号の説明】
【００４７】
１    処理装置
２    通信プログラム
４    後続手段
５    制御プログラム
６    特定手段
７    取得手段
８    判断手段
９    選択手段
１０  処理ライン管理手段
３１  プロトコル解釈手段
３２  データ転送手段
１０１、１０２、１０３    発注側のシステム
２０１、２０２、２０３    受注側のシステム
３０１、３０２    通信回線
Ｌ    処理ライン
【図１】
2005198264.tif 000003
【図２】
2005198264.tif 000004
【図３】
2005198264.tif 000005
【図４】
2005198264.tif 000006
【図５】
2005198264.tif 000007
【図６】
2005198264.tif 000008
【図７】
2005198264.tif 000009
【図８】
2005198264.tif 000010
【図９】
2005198264.tif 000011
【図１０】
2005198264.tif 000012
【図１１】
2005198264.tif 000013
【図１２】
2005198264.tif 000014
【図１３】
2005198264.tif 000015
【図１４】
2005198264.tif 000016
【図１５】
2005198264.tif 000017
【図１６】
2005198264.tif 000018