(57)【要約】      （修正有）【課題】電子商取引きを行うＥＤＩ通信に用いられるデータのフォーマット変換時に必要となるメモリサイズを、最適なメモリサイズに設定する技術を提供する。【解決手段】通信データのサイズに対応させて、データ形式の変換処理に使用するメモリ割当量を記憶手段に記憶しておき、当該メモリ割当量と受信または送信する通信データのサイズとに基づいて、当該受信または送信する通信データの変換処理に用いるメモリ割当量を決定し、決定されたメモリ割当量を用いて、受信または送信する通信データの変換処理を行う。その後、当該メモリ割当量で変換処理が正常に終了したか判断し、変換処理が正常に終了しなかったと判断された場合に、変換処理に用いるメモリ割当量をより大きいメモリ割当量に変更する。また、受信または送信する通信データのサイズに対応するように変換処理が正常に終了した際には使用したメモリ割当量に記憶手段を更新する。【選択図】図４
2017228212.tif 000002
【特許請求の範囲】
【請求項１】
ＥＤＩ通信に用いられる通信データのサイズに対応させて、データ形式の変換処理に使用するメモリ割当量を記憶する記憶手段と、
前記記憶手段に記憶されるメモリ割当量と受信または送信する通信データのサイズとに基づいて、当該受信または送信する通信データの変換処理に用いるメモリ割当量を決定する決定手段と、
前記決定手段で決定されたメモリ割当量を用いて、前記受信または送信する通信データの変換処理を行う変換処理手段と、
前記決定手段で決定されたメモリ割当量で前記変換処理手段による変換処理が正常に終了したか判断する判断手段と、
前記判断手段で変換処理が正常に終了しなかったと判断された場合に、前記変換処理手段で変換処理に用いるメモリ割当量を、より大きいメモリ割当量に変更する変更手段と、
前記受信または送信する通信データのサイズに対応するように、前記変換処理手段で変換処理が正常に終了した際に使用したメモリ割当量が記憶されるように前記記憶手段を更新する更新手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記受信または送信する通信データのサイズが、前記記憶手段に記憶されているか判断するサイズ判断手段を更に有し、
前記更新手段は、前記サイズ判断手段で記憶されていないと判断された場合に、当該通信データのサイズと当該サイズに対応させて前記変換処理で変換処理が正常に終了した際に使用されたメモリ割当量とが記憶されるように前記記憶手段を更新することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記更新手段は、前記サイズ判断手段で記憶されていると判断された場合に、当該受信または送信する通信データのサイズに対応するメモリ割当量を、前記変換処理で変換処理が正常に終了した際に使用したメモリ割当量となるように前記記憶手段を更新することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記更新手段は、更新した前記メモリ割当量の値と当該メモリ割当量に対応する通信データのサイズとに応じて、前記記憶手段に記憶される他の通信データも更新することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記判断手段は、前記変換処理手段による変換処理が１回目で正常に終了したかも判断し、
前記更新手段は、前記判断手段において１回目で正常に終了したと判断した場合には、前記変換処理手段で変換処理が正常に終了した際に使用したメモリ割当量より１段階少ないメモリ割当量が記憶されるように前記記憶手段を更新することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記記憶手段は、メモリ割当量を段階的に記憶するメモリサイズ設定テーブルも記憶しており、
前記変更手段は、当該メモリサイズ設定テーブルに基づいて変更するメモリ割当量を特定し、前記変換処理手段で変換処理に用いるメモリ割当量を変更することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記記憶手段は、通信データを受信する相手先ごとに、通信データのサイズに対応させてメモリ割当量を記憶していることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
ＥＤＩ通信に用いられる通信データのサイズに対応させて、データ形式の変換処理に使用するメモリ割当量を記憶する記憶手段を備える情報処理装置の制御方法であって、
前記記憶手段に記憶されるメモリ割当量と受信または送信する通信データのサイズとに基づいて、当該受信または送信する通信データの変換処理に用いるメモリ割当量を決定する決定工程と、
前記決定工程で決定されたメモリ割当量を用いて、前記受信または送信する通信データの変換処理を行う変換処理工程と、
前記決定工程で決定されたメモリ割当量で前記変換処理工程による変換処理が正常に終了したか判断する判断工程と、
前記判断工程で変換処理が正常に終了しなかったと判断された場合に、前記変換処理工程で変換処理に用いるメモリ割当量を、より大きいメモリ割当量に変更する変更工程と、
前記受信または送信する通信データのサイズに対応するように、前記変換処理工程で変換処理が正常に終了した際に使用したメモリ割当量が記憶されるように前記記憶手段を更新する更新工程と、
を備えることを特徴とする制御方法。
【請求項９】
ＥＤＩ通信に用いられる通信データのサイズに対応させて、データ形式の変換処理に使用するメモリ割当量を記憶する記憶手段を備える情報処理装置に搭載可能なプログラムであって、
前記情報処理装置を、
前記記憶手段に記憶されるメモリ割当量と受信または送信する通信データのサイズとに基づいて、当該受信または送信する通信データの変換処理に用いるメモリ割当量を決定する決定手段、
前記決定手段で決定されたメモリ割当量を用いて、前記受信または送信する通信データの変換処理を行う変換処理手段、
前記決定手段で決定されたメモリ割当量で前記変換処理手段による変換処理が正常に終了したか判断する判断手段、
前記判断手段で変換処理が正常に終了しなかったと判断された場合に、前記変換処理手段で変換処理に用いるメモリ割当量を、より大きいメモリ割当量に変更する変更手段、
前記受信または送信する通信データのサイズに対応するように、前記変換処理手段で変換処理が正常に終了した際に使用したメモリ割当量が記憶されるように前記記憶手段を更新する更新手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＥＤＩ通信に用いられる情報処理装置、情報処理装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
企業における受発注業務においては業務効率化のために、インターネット回線等を利用したデータ通信で電子商取引を行うＥＤＩ（Ｅｌｅｃｔｒｏｎｉｃ  Ｄａｔａ  Ｉｎｔｅｒｃｈａｎｇｅ）方式が広く導入されている。この方式を用いることにより、注文書や請求書などの商取引データを、電話やＦＡＸや郵送物といった方法でやり取りするのではなく、取引先と自社のコンピュータをつないだネットワークを介して、電子データの形でやり取りすることができる。例えば、注文の発注者が通信を受け付ける着信側となり、注文の受注者が発信する発信側となり電子データのやり取りを行うことができ、受注者（発信者）が所定のタイミングで通信を実行し、発注側（着信者）が用意した注文データを受注側（発信者）が指定時間内に受信するという運用がなされている。すなわち、取引先とのデータ交換を予め定められた日次・月次等のサイクルで行うという運用がなされている。
【０００３】
このようなＥＤＩ通信に用いられるデータ形式を企業ごとに固有の形式としてしまうと、取引先ごとにデータ形式が異なるという事態が生じるため、業界内で標準規格を設けて標準化された規格に則ったデータ形式でデータ交換がなされるのが一般的である。
【０００４】
一方、各企業においては、受発注業務を管理するための自社システム（基幹システム）を持っているが、このような自社システムで用いられるデータ形式は、ＥＤＩ規格の形式と異なることが多い。
【０００５】
そのため、各企業においては、トランスレータと呼ばれるシステムやソフトウェアを用いて「自社システムで利用されるデータ形式をＥＤＩ通信に用いられるデータ形式」に又は、「ＥＤＩ通信に用いられるデータ形式を自社システムで利用されるデータ形式」に変換するフォーマット変換処理が適宜行われている。このようなＥＤＩ通信におけるトランスレータに関する技術は、例えば特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１８２５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、このようなフォーマット変換を行う端末には、フォーマット変換機能のみならず、ＥＤＩ通信のデータ送受信を行う通信機能やデータ通信のスケジュール実行機能等種々の機能が必要とされている。このような各機能を効率よく動作させるためには、各機能に割り当て可能な最大メモリ使用量を予め定めておくことが好ましい。
【０００８】
しかしながら、ＥＤＩ通信に用いられるデータサイズは、企業や通信するファイルの種別、時期などに大きく影響するため、フォーマット変換時に必要となるメモリサイズは、データごとに異なることなる。
【０００９】
予め割り当てられた最大メモリ使用量が不足していると、変換エラーが生じてしまい、そのたびに手動で最大メモリ使用量を変更して再度変換処理をしなければならず、手間が生じることになる。また、最大メモリ使用量をユーザが手動で変更したとしても、十分でなく再度変換エラーが発生してしまう可能性もある。
【００１０】
一方で、予め最大メモリ使用量を必要以上に大きく設定してしまうと、変換エラーは発生しないものの、端末内の他の機能に割当てられるメモリ容量が少なくなってしまい、非効率が生じることになってしまう。
【００１１】
本発明は、上記課題を鑑みてなされたものであり、ＥＤＩ通信に用いるデータの変換処理に、最適なメモリ容量を割り当てることが出来る仕組みを提供することを目的としている。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本願発明の情報処理装置は、ＥＤＩ通信に用いられる通信データのサイズに対応させて、データ形式の変換処理に使用するメモリ割当量を記憶する記憶手段と、前記記憶手段に記憶されるメモリ割当量と受信または送信する通信データのサイズとに基づいて、当該受信または送信する通信データの変換処理に用いるメモリ割当量を決定する決定手段と、前記決定手段で決定されたメモリ割当量を用いて、前記受信または送信する通信データの変換処理を行う変換処理手段と、前記決定手段で決定されたメモリ割当量で前記変換処理手段による変換処理が正常に終了したか判断する判断手段と、前記判断手段で変換処理が正常に終了しなかったと判断された場合に、前記変換処理手段で変換処理に用いるメモリ割当量を、より大きいメモリ割当量に変更する変更手段と、前記受信または送信する通信データのサイズに対応するように、前記変換処理手段で変換処理が正常に終了した際に使用したメモリ割当量が記憶されるように前記記憶手段を更新する更新手段を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、過去の変換処理で使用されたメモリ割当量をもとに、最適なメモリ割当量を決定することにより、ＥＤＩ通信に用いるデータの変換処理に、最適なメモリ容量を割り当てることが出来る仕組みを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】ＥＤＩシステムのシステム構成の一例を示す図である。
【図２】基幹システム１００、運用管理サーバ１０２のハードウェア構成の一例を示す図である。
【図３】（ａ）取引先ＥＤＩシステム１０５から発注データを受信し、運用管理サーバ１０２が自社の基幹システム１００にデータを格納する際の流れを示す図である。（ｂ）基幹システム１００からの出荷データを運用管理サーバ１０２で変換し、取引先ＥＤＩシステム１０５に送信する際の流れを示す図である。
【図４】本発明の実施形態における、データ受信時のデータ変換処理の流れを説明するフローチャートである。
【図５】変換メモリサイズ設定テーブルの一例である。
【図６】変換メモリ割当テーブルの一例である。
【図７】データ受信時のデータ変換処理の状況に応じて変換メモリ割当テーブルを更新する様子を説明する図である。
【図８】ＸＭＬ形式の受注データの一例である。
【図９】（ａ）図８のＸＭＬ形式をフォーマット変換して得られる固定長形式の受注データの一例である。（ｂ）図８のＸＭＬ形式をフォーマット変換して得られるＣＳＶ形式の受注データ（ｂ）の一例である。
【図１０】本発明の実施形態における、データ送信時のデータ変換処理の流れを説明するフローチャートである。
【図１１】データ送信時のデータ変換処理の状況に応じて変換メモリ割当テーブルを更新する様子を説明する図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１６】
図１は、本実施形態におけるＥＤＩ通信システムのシステム構成を示す図である。
【００１７】
図１に示すように本発明は、自社のＥＤＩシステム１０１と、取引先のＥＤＩシステムとが公衆回線や専用線やインターネット回線等のネットワーク１０３を介して通信可能に構成されている。このネットワーク１０３を介して、企業間の電子商取引に関する電子情報であるＥＤＩデータを相互に交換することができる。具体的には注文書や請求書などの商取引データの送受信が行われる。
【００１８】
自社のＥＤＩシステム１０１は、社内の受発注業務を管理するための基幹システム１００と、ＥＤＩ通信を行うための運用管理サーバ１０２がＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワーク１０７を介して相互にデータ通信可能に接続されている。このような仕組みは取引先のＥＤＩシステム１０５においても同様である。
【００１９】
このようなＥＤＩ通信に用いられるデータ形式は、企業ごとに固有の形式であると取引先ごとにデータ形式が異なるという事態が生じるため、業界内で標準規格（以下業界標準とも称する）を設け、この標準規格に則ったデータ形式でデータ交換がなされるというのが一般的である。
【００２０】
一方基幹システム１００においては、ＥＤＩ通信を行うためのデータ形式と異なる形式のデータで受発注業務の管理が行われている。そのため、運用管理サーバ１０２は、トランスレータとして機能し、ＥＤＩ通信を用いて取引先にデータを送信する際には、基幹システム１００で管理される形式のデータを、運用管理サーバ１０２がＥＤＩ通信のデータ形式に変換を行う。さらに、ＥＤＩ通信でデータを受信した際にも、運用管理サーバ１０２がトランスレータとして機能し、運用管理サーバ１０２がＥＤＩ通信のデータ形式を、基幹システム１００で管理する形式のデータに変換する。すなわち、運用管理サーバ１０２は、通信可能なプロトコルで送受信することで、自社の基幹システム１００と、取引先のＥＤＩシステム１０５との間のデータ交換の仲介を行う。
【００２１】
図２は、各種情報処理装置（基幹システム１００、運用管理サーバ１０２）のハードウェア構成の一例を示す図である。
【００２２】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２３】
また、ＲＯＭ２０２あるいは外部メモリ２１１（記憶手段）には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／ＯｕｔｐｕｔＳｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、基幹システム１００、運用管理サーバ１０２の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００２４】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２５】
また、入力コントローラ（入力Ｃ）２０５は、キーボードや不図示のマウス等のポインティングデバイス等の入力デバイス２０９からの入力を制御する。
【００２６】
ビデオコントローラ（ＶＣ）２０６は、ディスプレイ２１０等の表示器への表示を制御する。表示器の種類はＣＲＴや、液晶ディスプレイを想定するが、これに限らない。
【００２７】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２８】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２９】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上での表示を可能としている。
【００３０】
また、ＣＰＵ２０１は、ディスプレイ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３１】
本発明の基幹システム１００が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルも外部メモリ２１１に格納されている。
【００３２】
本実施形態では、図３（ａ）に示すような自社（１２３食品  東京事業所）のＥＤＩシステム１０１の運用管理サーバ１０２が、注文の発注を受注する受注側のシステムとして機能し、取引先（スーパーＡＢＣ等）の取引先ＥＤＩシステム１０５が、注文の発注を行う発注側の端末として機能する例を用いて説明を行う。このような例においては、受注側（自社）が任意のタイミングでＥＤＩ通信を実行し、発注側（取引先ＥＤＩシステム１０５）が用意した注文データを、受注側（ＥＤＩシステム１０１の運用管理サーバ１０２）が指定時間内に受信するというように、予め定めたスケジュールに則って運用がなされる。そして、受信したデータを基幹システム１００で管理できる形式に変換し、その後基幹システム１００で管理がなされることになる。
【００３３】
本実施形態ではＥＤＩ通信で用いられるデータ形式にＸＭＬ形式のようなデータを用い、基幹システム１００で管理することができるデータは固定長形式のデータ、若しくは、ＣＳＶ形式のデータとして説明を行う。すなわちＸＭＬ形式のデータを固定長形式のデータやＣＳＶ形式のデータに形式変換し、その後基幹システム１００において管理される例である。
【００３４】
運用管理サーバ１０２には、インターネット回線等を通じたＥＤＩ通信を制御する通信機能３０１、予め定めたスケジュールに則ってＥＤＩ通信やフォーマット変換処理を実行するスケジュール実行機能３０２、通信により取得したＸＭＬ形式のデータを基幹システム１００で管理することができる固定長形式のデータやＣＳＶ形式のデータに変換処理するフォーマット変換機能３０３等が設けられている。
【００３５】
このような運用管理サーバ１０２に設けられた各機能を効率よく動作させるためには、各機能に割当てる最大メモリ使用量を予め定めておくことが好ましいが、ＥＤＩ通信に用いられるデータサイズは、企業や通信するファイルの種別、時期などに大きく影響するため、フォーマット変換時に必要となるメモリサイズは、データごとに様々異なることなる。
【００３６】
そのため、予めフォーマット変換機能に割り当てられた最大メモリ使用量が不足していると変換エラーが生じてしまい、エラーが発生するたびに手動で最大メモリ使用量を変更して再度変換処理をしなければならず手間が生じることになる。また、最大メモリ使用量をユーザが手動で変更したとしても、変更後のメモリ量も十分でなく再度変換エラーが発生してしまう可能性もある。一方、予め最大メモリ使用量を必要以上に大きく設定している場合には変換エラーは発生しないものの、端末内の他の機能に割当てられるメモリ容量が少なくなってしまい、非効率が生じることになってしまう。本実施形態においては、このようなＥＤＩ通信に用いるデータのフォーマット変換機能に、最適なメモリ容量を割り当てることが出来る仕組みを、フローチャート等を用いて以下で詳細に説明する。
【００３７】
また、本実施形態においては、図３（ｂ）に示すように、図３（ａ）で示した受注に応じて出荷が行われた場合に、自社のＥＤＩシステム１０１の運用管理サーバ１０２が出荷データを取引先ＥＤＩシステムに送信する場合の例も併せて説明する。この場合には、基幹システム１００が、スケジュール実行機能３０２で定められたスケジュールに基づいて、管理する出荷データをフォーマット変換機能３０３が固定長形式のデータやＣＳＶ形式のデータからＥＤＩ通信に用いられるＸＭＬ形式のデータにフォーマット変換処理し、通信機能３０１が取引先ＥＤＩシステム１０５にデータを送信することになる。
【００３８】
（データ受信時のフォーマット変換処理について）
まず、図３（ａ）に示す、データ受信時のフォーマット変換処理について図４乃至７を用いて説明する。図４は、運用管理サーバ１０２のフォーマット変換機能３０３が、データ受信時のデータ変換処理を行う際の流れを説明するフローチャートである。図４のフローチャートに示す処理は、運用管理サーバ１０２のＣＰＵ２０１が記憶されている制御プログラムを読み出して実行することにより実現される。図５は、データ変換処理が正常に終了せず、メモリ割当量を変更する際に用いる変換メモリサイズ設定テーブルの一例である。図６は、通信データサイズ数に対応したメモリ割当量を管理する変換メモリ割当テーブルの一例である。このテーブルは、通信が成功するごとに必要に応じて管理データを更新することで、常に最適な通信データのサイズ数に対応したメモリ割当量を管理している。図７は、データ受信時のデータ変換処理の状況に応じて変換メモリ割当テーブルを更新する際の様子を説明する図である。
【００３９】
図４のＳ４０１では、運用管理サーバ１０２のＣＰＵ２０１は、取引先ＥＤＩシステム１０５からネットワーク１０３を介して通信データの受信を行う。
【００４０】
Ｓ４０２では、運用管理サーバ１０２のＣＰＵ２０１は、通信データの内容をもとに、受信した相手先と、ファイル種別と、送受信区分と、通信データサイズを特定し、特定されたこれらの情報に基づいて、図６に示す変換メモリ割当テーブルから対応するレコードを特定する。変換メモリテーブルには、レコードを特定可能なＩＤ６０１、相手先の名称６０２、ファイル種別６０３、通信データサイズ６０４、送受信区分６０５、予め定められたメモリ割当量６０６が管理されている。受信された通信データのサイズが１８ＭＢの場合には、ＩＤ６０１が「２」の通信データサイズ６０４より小さいため、このリスト中のＩＤ６０１が「１」のレコードが特定される。
【００４１】
Ｓ４０３では、運用管理サーバ１０２のＣＰＵ２０１は、Ｓ４０２で特定されたレコードからメモリ割当量６０６を取得する。
【００４２】
図８は、このようなＳ４０１で受信される通信データの一例であり、この例を用いて特定されるレコードの特定とメモリ割当量の取得について具体的に説明する。図８の受信データからは、「相手先：スーパーＡＢＣ」「ファイル種別：発注」「送受信区分：受信」、さらに「通信データサイズ：３５ＭＢ」が特定される。そして「相手先」「ファイル種別」「送受信区分」が一致し、かつ通信データサイズ３５ＭＢが対応するＩＤ６０１が「２」のレコードが特定されることになる。そして、Ｓ４０３では当該レコードのメモリ割当量６０６「２５６ＭＢ」が取得される。
【００４３】
Ｓ４０４では、運用管理サーバ１０２のＣＰＵ２０１は、Ｓ４０３で取得したメモリ割当量６０６を変換用メモリ割当量と決定して、Ｓ４０１で受信した通信データの変換処理を行う。図９（ａ）は、図８のＸＭＬ形式の通信データが固定長形式のデータに変換された場合の一例を示しており、図９（ｂ）は、図８のＸＭＬ形式の通信データがＣＳＶ形式のデータに変化された場合の一例を示している。
【００４４】
Ｓ４０５では、運用管理サーバ１０２のＣＰＵ２０１は、Ｓ４０４のデータ変換処理が正常終了したかどうかを判断する。Ｓ４０５で正常終了しなかったと判断された場合には、Ｓ４０６に進み、Ｓ４０４で変換時に使用されたメモリ割当量が使用可能な変換メモリサイズの最大値であるかを判断する。具体的には、図５の変換メモリサイズ設定テーブルに設定された最大メモリであるかを比較することで、変換メモリサイズの最大値であるかを判断することができる。Ｓ４０６で変換メモリ割当量が変換メモリサイズの最大値であると判断された場合には、これ以上のメモリを割当ることはできないため、エラーとして終了する。
【００４５】
Ｓ４０６で変換メモリ割当量が変換メモリサイズの最大値ではないと判断された場合には、Ｓ４０７に進み、運用管理サーバ１０２のＣＰＵ２０１は、Ｓ４０４のデータ変換処理で使用したメモリ割当量より、少なくとも１段階多いメモリ割当量を図５の変換メモリサイズ設定テーブルより取得する。そしてＳ４０４に戻り、データ変換処理をＳ４０７で取得したメモリ割当量を用いて、Ｓ４０１で受信した通信データの変換処理を再度行う。
【００４６】
一方、Ｓ４０５で、データの変換処理が正常終了したと判断された場合には、Ｓ４０６に進み、運用管理サーバ１０２のＣＰＵ２０１は、データ変換処理が１回目で正常終了したかどうかを判断する。そして、データ変換処理が１回目で正常終了したと判断された場合には、データ変換処理に使用したメモリ割当量が必要以上に多かった可能性があるといえるため、Ｓ４０９に進み、データ変換処理で使用したメモリ割当量より、少なくとも１段階少ないメモリ割当量を、図５の変換メモリサイズ設定テーブルより取得する。
【００４７】
Ｓ４１０では、運用管理サーバ１０２のＣＰＵ２０１は、Ｓ４０１で受信した通信データの相手先・ファイル種別・通信データサイズ・送受信区分のいずれもが同じレコードが、図６の変換メモリ割当テーブルに存在しているかを判断する（サイズ判断手段）。
【００４８】
Ｓ４１０で存在すると判断された場合には、データ変換処理で実際に用いられたメモリ割当量、若しくは、Ｓ４０９で取得したメモリ割当量となるように、変換メモリ割当テーブルのメモリ割当量を更新する。図７（ａ）のＩＤ６０１が「４」のレコードは、Ｓ４１１において１回目で正常終了したとしてメモリ割当量が、少なくとも１段階小さいメモリサイズに変更された前後の一例である。
【００４９】
一方、Ｓ４１０において存在しないと判断された場合には、Ｓ４１２において変換メモリ割当テーブルに、Ｓ４０１で受信した通信データのレコードを追加し、変換処理が成功した際に使用したメモリ割当量を記録する。図７（ａ）のＩＤ６０１が「１１０」のレコードは、Ｓ４１２で追加されたレコードの一例である。
【００５０】
Ｓ４１３では、運用管理サーバ１０２のＣＰＵ２０１は、Ｓ４１１もしくはＳ４１２で更新または追加したレコードより、通信データサイズが大きい、かつ、メモリ割当量が少ないレコードが存在するか否かを判断する。
【００５１】
Ｓ４１３で少ないデータが存在すると判断された場合には、Ｓ４１４において通信データサイズが大きい、かつ、メモリ割当量が少ないレコードを削除する処理を行う。図７（ｂ）のＩＤ６０１が「５５」のレコードと「５６」のレコードは、は、追加されたＩＤ６０１が「１１２」のレコードより、通信データサイズが大きい、かつ、メモリ割当量が少ないレコードであるため、削除される。
【００５２】
Ｓ４１３で少ないデータが存在しないと判断された場合には、Ｓ４１５に進み、運用管理サーバ１０２のＣＰＵ２０１は、Ｓ４１１もしくはＳ４１２で更新または追加したレコードより、通信データサイズが小さい、かつ、メモリ割当量が多いレコードが存在するか否かを判断する。Ｓ４１５において、存在しないと判断された場合には処理を終了する。
【００５３】
Ｓ４１５において、存在すると判断された場合には、Ｓ４１６において通信データサイズが小さい、かつ、メモリ割当量が多いレコードのメモリ割当量を変更する。具体的には、Ｓ４１１またはＳ４１２で更新または追加したメモリ割当量となるように更新することができるが、変更するメモリ割当量は、更新または追加したメモリ割当量と同一にしなくともよく、段階的になるように変更してもよい。
【００５４】
以上説明したように、通信処理がなされるたびに、常に変換メモリ割当テーブルのメモリ割当量が妥当であるかを見直すことにより、次の変換処理の際に最適なメモリ割当量で変換処理を行うことができ、ＥＤＩ通信に用いるデータのフォーマット変換機能に、最適なメモリ容量を割り当てることが出来る仕組みを提供することができる。
【００５５】
（データ送信時のフォーマット変換処理について）
次に、図３（ｂ）に示す、データ送信時のフォーマット変換処理について図５、図６、図１０、図１１を用いて説明する。図５は、データ変換処理が正常に終了せず、メモリ割当量を変更する際に用いる変換メモリサイズ設定テーブルの一例である。図６は、通信データサイズ数に対応したメモリ割当量を管理する変換メモリ割当テーブルの一例である。本実施形態では図５及び図６のテーブルを、データ受信時に用いるデータテーブルと共通とした例を用いて説明するが、受信時と送信時とで別々のテーブルとしてもよい。
【００５６】
図１０は、運用管理サーバ１０２のフォーマット変換機能３０３が、データ送信時のデータ変換処理を行う際の流れを説明するフローチャートである。図１０のフローチャートに示す処理は、運用管理サーバ１０２のＣＰＵ２０１が記憶されている制御プログラムを読み出して実行することにより実現される。図１１は、データ送信時のデータ変換処理の状況に応じて変換メモリ割当テーブルを更新する際の様子を説明する図である。
【００５７】
図１０のＳ１００１では、運用管理サーバ１０２のＣＰＵ２０１は、通信データの内容をもとに、送信する相手先と、ファイル種別と、送受信区分と、通信データサイズを特定し、特定されたこれらの情報に基づいて、図６に示す変換メモリ割当テーブルから対応するレコードを特定する。Ｓ１００２では、運用管理サーバ１０２のＣＰＵ２０１は、Ｓ１００１で特定されたレコードからメモリ割当量６０６を取得する。
【００５８】
Ｓ１００３では、運用管理サーバ１０２のＣＰＵ２０１は、Ｓ１００２で取得したメモリ割当量６０６を変換処理に用いるメモリ割当量と決定して、送信する通信データの変換処理を行う。
【００５９】
Ｓ１００４では、運用管理サーバ１０２のＣＰＵ２０１は、Ｓ１００３のデータ変換処理が正常終了したかどうかを判断する。Ｓ１００４で正常終了しなかったと判断された場合には、Ｓ１００５に進み、Ｓ１００３で変換時に使用されたメモリ割当量が使用可能な変換メモリサイズの最大値であるかを判断する。具体的には、図５の変換メモリサイズ設定テーブルに設定された最大メモリであるかを比較することで、変換メモリサイズの最大値であるかを判断することができる。Ｓ１００５で変換メモリ割当量が変換メモリサイズの最大値であると判断された場合には、これ以上のメモリを割当ることはできないため、エラーとして終了する。
【００６０】
Ｓ１００５で変換メモリ割当量が変換メモリサイズの最大値ではないと判断された場合には、Ｓ１００６に進み、運用管理サーバ１０２のＣＰＵ２０１は、Ｓ１００３のデータ変換処理で使用したメモリ割当量より、少なくとも１段階多いメモリ割当量を図５の変換メモリサイズ設定テーブルより取得する。そしてＳ１００３に戻り、データ変換処理をＳ１００６で取得したメモリ割当量を用いて、送信する通信データの変換処理を再度行う。
【００６１】
一方、Ｓ１００４で、データの変換処理が正常終了したと判断された場合には、Ｓ１００５に進み、運用管理サーバ１０２のＣＰＵ２０１は、データ変換処理が１回目で正常終了したかどうかを判断する。そして、データ変換処理が１回目で正常終了したと判断された場合には、データ変換処理に使用したメモリ割当量が必要以上に多かった可能性があるといえるため、Ｓ１００８に進み、データ変換処理で使用したメモリ割当量より、少なくとも１段階少ないメモリ割当量を、図５の変換メモリサイズ設定テーブルより取得する。
【００６２】
Ｓ１００９では、運用管理サーバ１０２のＣＰＵ２０１は、送信する通信データの相手先・ファイル種別・通信データサイズ・送受信区分のいずれもが同じレコードが、図６の変換メモリ割当テーブルに存在しているかを判断する。
【００６３】
Ｓ１００９で存在すると判断された場合には、データ変換処理で実際に用いられたメモリ割当量、若しくは、Ｓ１００８で取得したメモリ割当量となるように、変換メモリ割当テーブルのメモリ割当量を更新する。図１１のＩＤ６０１が「１０３」のレコードは、Ｓ１０１０において１回目で正常終了したとしてメモリ割当量が、少なくとも１段階小さいメモリサイズに変更された前後の一例である。
【００６４】
一方、Ｓ１００９において存在しないと判断された場合には、Ｓ１０１１において変換メモリ割当テーブルに、送信する通信データのレコードを追加し、変換処理が成功した際に使用したメモリ割当量を記録する。図１１のＩＤ６０１が「１１４」のレコードは、Ｓ１０１１で追加されたレコードの一例である。
【００６５】
Ｓ１０１２では、運用管理サーバ１０２のＣＰＵ２０１は、Ｓ１０１０もしくはＳ１０１１で更新または追加したレコードより、通信データサイズが大きい、かつ、メモリ割当量が少ないレコードが存在するか否かを判断する。
【００６６】
Ｓ１０１２で少ないデータが存在すると判断された場合には、Ｓ１０１３において、運用管理サーバ１０２のＣＰＵ２０１は、Ｓ１０１０もしくはＳ１０１１で更新または追加したレコードより通信データサイズが大きい、かつ、メモリ割当量が少ないレコードを削除する処理を行う。図１１のＩＤ６０１が「１０５」のレコード乃至「１０７」のレコードは、追加したＩＤ６０１の「１１４」のレコードより、通信データサイズが大きい、かつ、メモリ割当量が少ないレコードであるため、削除される。
【００６７】
Ｓ１０１２で少ないデータが存在しないと判断された場合には、Ｓ１０１４に進み、運用管理サーバ１０２のＣＰＵ２０１は、Ｓ１０１０もしくはＳ１０１１で更新または追加したレコードより、通信データサイズが小さい、かつ、メモリ割当量が多いレコードが存在するか否かを判断する。Ｓ１０１４において、存在しないと判断された場合には処理を終了する。
【００６８】
Ｓ１０１４において、存在すると判断された場合には、Ｓ１０１５において通信データサイズが小さい、かつ、メモリ割当量が多いレコードのメモリ割当量を変更する。具体的には、Ｓ１０１０またはＳ１０１１で更新または追加したメモリ割当量となるように更新することができるが、変更するメモリ割当量は、更新または追加したメモリ割当量と同一にしなくともよく、段階的になるように変更してもよい。
【００６９】
Ｓ１０１６では、運用管理サーバ１０２のＣＰＵ２０１は、取引先ＥＤＩシステム１０５に対してネットワーク１０３を介して通信データの送信を行う。
【００７０】
以上説明したように、通信処理がなされるたびに、常に変換メモリ割当テーブルのメモリ割当量が妥当であるかを見直すことにより、次の変換処理の際に最適なメモリ割当量で変換処理を行うことができ、ＥＤＩ通信に用いるデータのフォーマット変換機能に、最適なメモリ容量を割り当てることが出来る仕組みを提供することができる。
【００７１】
なお、本実施形態においては、変換メモリ割当テーブルには取引先の相手ごとに管理している例を用いて説明したが、いずれの取引先にも変換メモリ割当テーブルの共通のレコードとして管理されるようにしてもよい。この場合変換メモリ割当テーブルのレコード特定や更新の際には、相手先を用いずに特定されることになる。
【００７２】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【００７３】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置の情報処理装置が前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【００７４】
したがって、本発明の機能処理を情報処理装置で実現するために、前記情報処理装置にインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００７５】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００７６】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００７７】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００７８】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理を情報処理装置で実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００７９】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行して情報処理装置にインストールさせて実現することも可能である。
【００８０】
また、情報処理装置が、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、情報処理装置上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００８１】
さらに、記録媒体から読み出されたプログラムが、情報処理装置に挿入された機能拡張ボードや情報処理装置に接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【００８２】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００８３】
１００  基幹システム
１０１  ＥＤＩシステム
１０２  運用管理サーバ
３０３  フォーマット変換機能
【図１】
2017228212.tif 000003
【図２】
2017228212.tif 000004
【図３】
2017228212.tif 000005
【図４】
2017228212.tif 000006
【図５】
2017228212.tif 000007
【図６】
2017228212.tif 000008
【図７】
2017228212.tif 000009
【図８】
2017228212.tif 000010
【図９】
2017228212.tif 000011
【図１０】
2017228212.tif 000012
【図１１】
2017228212.tif 000013