(57)【要約】【課題】送信側、受信側双方でプログラムを変更することなく、かつ完全な誤り訂正を可能にする。【解決手段】受信側コンピュータ１がプログラムであらかじめ設定された回数ｎだけ送信側コンピュータ２からデータを取得する過程（Ｓ１〜Ｓ６）と、取得したｎ個のデータをそれぞれバイナリデータに変換する過程（Ｓ７〜Ｓ８）と、これらをバイナリデータ列として格納する過程とｎ個のバイナリデータ列を対応したビットごとに値を多数決する過程（Ｓ９）と、１または０の値のうち多いほうの値を当該ビットの値とする過程と多数決する過程とビット値とする過程をビット列数回数だけ繰り返し、誤り修正済みバイナリデータ列を生成する過程（Ｓ１０）とを有する。【選択図】            図２
2004289261.tif 000002
【特許請求の範囲】
【請求項１】
送信側コンピュータ及び受信側コンピュータ間のデータ通信におけるデータ誤りを自動修正するデータ誤り自動修正方法であって、
受信側コンピュータが、
あらかじめ設定された回数ｎだけ送信側コンピュータからデータを取得する過程と、
取得したｎ個のデータをそれぞれバイナリデータに変換する過程と、
これらをバイナリデータ列として格納する過程と、
ｎ個のバイナリデータ列を対応したビットごとに値を多数決する過程と、
１または０の値のうち多いほうの値を当該ビットの値とする過程と、
上記多数決する過程とビット値とする過程をビット列数回数だけ繰り返し、誤り修正済みバイナリデータ列を生成する過程とを有する
ことを特徴とするデータ誤り自動修正方法。
【請求項２】
送信側コンピュータ及び受信側コンピュータ間のデータ通信におけるデータ誤りを自動修正するデータ誤り自動修正方法であって、
受信側コンピュータが、
あらかじめ設定された回数ｎだけ送信側コンピュータからデータを取得する過程と、
取得したｎ個のデータをそれぞれバイナリデータに変換する過程と、
これらをバイナリデータ列として格納する過程と、
ｎ個のバイナリデータ列を対応したビットごとに値を加算平均する過程と、
加算平均した値を小数点第１位で四捨五入して１または０の整数を取得する過程と、
得られた１または０の整数を前記ビットの値に代入する過程と、
上記加算平均する過程から代入する過程までをビット列数回数だけ繰り返し、誤り修正済みバイナリデータ列を生成する過程とを有する
ことを特徴とするデータ誤り自動修正方法。
【請求項３】
請求項１または２に記載のデータ誤り自動修正方法において、
誤り修正済みバイナリデータ列を生成したのち、同様の動作を繰り返して再度誤り修正済みバイナリデータ列を生成する過程と、
生成された２つの誤り修正済みバイナリデータ列を対応するビットごとに値を比較し、全てが同値であるか否かにより、正しいバイナリデータ列か否かを判断する過程とを有する
ことを特徴とするデータ誤り自動修正方法。
【請求項４】
請求項３に記載のデータ誤り自動修正方法において、
データ誤り発生の状況に応じて、上記生成された２つの誤り修正済みバイナリデータ列を対応するビットごとに値を比較し、全てが同値であるか否かにより、正しいバイナリデータ列か否かを判断する過程を含むか否かを変更することが可能な過程を含む
ことを特徴とするデータ誤り自動修正方法。
【請求項５】
請求項１乃至４のいずれかに記載のデータ誤り自動修正方法において、
データ誤り発生の状況に応じて、データの取得回数ｎを変更することが可能な過程を含む
ことを特徴とするデータ誤り自動修正方法。
【請求項６】
請求項１乃至５のいずれかに記載のデータ誤り自動修正方法において、
誤り修正済みバイナリデータ列を生成した際に修正されたビット数をカウントする過程と、
カウントされたビット数があらかじめ設定されたしきい値ｍを超えたか否かにより、自動的に取得回数ｎの値を増減する過程とを含む
ことを特徴とするデータ誤り自動修正方法。
【請求項７】
請求項１乃至６のいずれかに記載のデータ誤り自動修正方法において、
２回だけ送信側コンピュータからデータを取得する過程と、
取得した２個のデータをそれぞれバイナリデータに変換する過程と、
これらをバイナリデータ列として格納する過程と、
２個のバイナリデータ列を対応するビットごとに値を比較して、全てが同値であるか否かにより、上記のデータ誤り自動修正を実行するか否かを判断する過程とを含む
ことを特徴とするデータ誤り自動修正方法。
【請求項８】
請求項１乃至６のいずれかに記載のデータ誤り自動修正方法において、
送受信するデータ形式がＸＭＬなどの文字列である場合に、
２回だけ送信側コンピュータからデータを取得する過程と、
取得した２個のデータを文字コード列として格納する過程と、
２個の文字コード列を対応する文字コード単位で比較し、全てが同値であるか否かにより、上記のデータ誤り自動修正を実行するか否かを判断する過程とを含む
ことを特徴とするデータ誤り自動修正方法。
【請求項９】
車両内に固定された送信側コンピュータ及び持ち運び可能な受信側コンピュータ間のシリアルケーブルを経由したデータ通信におけるデータ誤りを自動修正するデータ誤り自動修正方法であって、
受信側コンピュータが、
データ誤りの発生の状況に応じてデータの取得回数ｎがあらかじめ設定する過程と、
２回だけシリアルケーブルを経由して送信側コンピュータからデータを取得する過程と、
取得した２個のデータをそれぞれバイナリデータに変換する過程と、
これらをバイナリデータ列として格納する過程と、
２個のバイナリデータ列を対応するビットごとに値を比較し、全てが同値であれば処理を終了する過程と、
全てが同値でなければ、ｎ−２回だけシリアルケーブルを経由して送信側コンピュータからデータを取得する過程と、
取得したｎ−２個のデータをそれぞれバイナリデータに変換する過程と、
これらをバイナリデータ列として格納する過程と、
合計でｎ個のバイナリデータ列を対応したビットごとに値を加算平均する過程と、
加算平均した値を小数点第１位で四捨五入して１または０の整数を取得する過程と、
得られた１または０の整数を上記ビットの値に代入する過程と、
この代入過程をビット列数回数だけ繰り返し、誤り修正済みバイナリデータ列を生成する過程とを有する
ことを特徴とするデータ誤り自動修正方法。
【請求項１０】
送信側コンピュータ及び受信側コンピュータ間のデータ通信におけるデータ誤りを自動修正するデータ誤り自動修正プログラムであって、
該プログラムは、受信側コンピュータに、
あらかじめ設定された回数ｎだけ送信側コンピュータからデータを取得する過程と、
取得したｎ個のデータをそれぞれバイナリデータに変換する過程と、
これらをバイナリデータ列として格納する過程と、
ｎ個のバイナリデータ列を対応したビットごとに値を多数決する過程と、
１または０の値のうち多いほうの値を当該ビットの値とする過程と、
上記多数決する過程とビット値とする過程をビット列数回数だけ繰り返し、誤り修正済みバイナリデータ列を生成する過程とを実行させる
ことを特徴とするデータ誤り自動修正プログラム。
【請求項１１】
送信側コンピュータ及び受信側コンピュータ間のデータ通信におけるデータ誤りを自動修正するデータ誤り自動修正プログラムであって、
該プログラムは、受信側コンピュータに、
あらかじめ設定された回数ｎだけ送信側コンピュータからデータを取得する過程と、
取得したｎ個のデータをそれぞれバイナリデータに変換する過程と、
これらをバイナリデータ列として格納する過程と、
ｎ個のバイナリデータ列を対応したビットごとに値を加算平均する過程と、
加算平均した値を小数点第１位で四捨五入して１または０の整数を取得する過程と、
得られた１または０の整数を前記ビットの値に代入する過程と、
上記加算平均する過程から代入する過程までをビット列数回数だけ繰り返し、誤り修正済みバイナリデータ列を生成する過程とを実行させる
ことを特徴とするデータ誤り自動修正プログラム。
【請求項１２】
請求項１０または１１に記載のデータ誤り自動修正プログラムにおいて、
誤り修正済みバイナリデータ列を生成したのち、同様の動作を繰り返して再度誤り修正済みバイナリデータ列を生成する過程と、
生成された２つの誤り修正済みバイナリデータ列を対応するビットごとに値を比較し、全てが同値であるか否かにより、正しいバイナリデータ列か否かを判断する過程とを有する
ことを特徴とするデータ誤り自動修正プログラム。
【請求項１３】
請求項１２に記載のデータ誤り自動修正プログラムにおいて、
データ誤り発生の状況に応じて、上記生成された２つの誤り修正済みバイナリデータ列を対応するビットごとに値を比較し、全てが同値であるか否かにより、正しいバイナリデータ列か否かを判断する過程を含むか否かを変更することが可能な過程を含む
ことを特徴とするデータ誤り自動修正プログラム。
【請求項１４】
請求項１０乃至１３のいずれかに記載のデータ誤り自動修正プログラムにおいて、
データ誤り発生の状況に応じて、データの取得回数ｎを変更することが可能な過程を含む
ことを特徴とするデータ誤り自動修正プログラム。
【請求項１５】
請求項１０乃至１４のいずれかに記載のデータ誤り自動修正プログラムにおいて、
誤り修正済みバイナリデータ列を生成した際に修正されたビット数をカウントする過程と、
カウントされたビット数があらかじめ設定されたしきい値ｍを超えたか否かにより、自動的に取得回数ｎの値を増減する過程とを含む
ことを特徴とするデータ誤り自動修正プログラム。
【請求項１６】
請求項１０乃至１５のいずれかに記載のデータ誤り自動修正プログラムにおいて、
２回だけ送信側コンピュータからデータを取得する過程と、
取得した２個のデータをそれぞれバイナリデータに変換する過程と、
これらをバイナリデータ列として格納する過程と、
２個のバイナリデータ列を対応するビットごとに値を比較して、全てが同値であるか否かにより、上記のデータ誤り自動修正を実行するか否かを判断する過程とを含む
ことを特徴とするデータ誤り自動修正プログラム。
【請求項１７】
請求項１０乃至１５のいずれかに記載のデータ誤り自動修正プログラムにおいて、
送受信するデータ形式がＸＭＬなどの文字列である場合に、
２回だけ送信側コンピュータからデータを取得する過程と、
取得した２個のデータを文字コード列として格納する過程と、
２個の文字コード列を対応する文字コード単位で比較し、全てが同値であるか否かにより、上記のデータ誤り自動修正を実行するか否かを判断する過程とを含む
ことを特徴とするデータ誤り自動修正プログラム。
【請求項１８】
車両内に固定された送信側コンピュータ及び持ち運び可能な受信側コンピュータ間のシリアルケーブルを経由したデータ通信におけるデータ誤りを自動修正するデータ誤り自動修正プログラムであって、
該プログラムは、受信側コンピュータに、
データ誤りの発生の状況に応じてデータの取得回数ｎがあらかじめ設定する過程と、
２回だけシリアルケーブルを経由して送信側コンピュータからデータを取得する過程と、
取得した２個のデータをそれぞれバイナリデータに変換する過程と、
これらをバイナリデータ列として格納する過程と、
２個のバイナリデータ列を対応するビットごとに値を比較し、全てが同値であれば処理を終了する過程と、
全てが同値でなければ、ｎ−２回だけシリアルケーブルを経由して送信側コンピュータからデータを取得する過程と、
取得したｎ−２個のデータをそれぞれバイナリデータに変換する過程と、
これらをバイナリデータ列として格納する過程と、
合計でｎ個のバイナリデータ列を対応したビットごとに値を加算平均する過程と、
加算平均した値を小数点第１位で四捨五入して１または０の整数を取得する過程と、
得られた１または０の整数を上記ビットの値に代入する過程と、
この代入過程をビット列数回数だけ繰り返し、誤り修正済みバイナリデータ列を生成する過程とを実行させる
ことを特徴とするデータ誤り自動修正プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ通信におけるデータ誤り修正方法およびデータ誤り修正プログラムに関する。
【０００２】
【従来の技術】
従来、通信回線等を使ったコンピュータ同士のデータ通信において、転送データの誤りを検出して修正するのに、送信するデータにパリティビットやチェックサムなどの誤り訂正符号をあらかじめ付加して送信し、受信側でこの誤り訂正符号にもとづいて誤りを検出し、誤りがあれば元のデータを再現する、もしくはデータの再送手続きをとる、という方法がある。
【０００３】
しかしながら、外界雑音などにより多数のビットエラーが発生した場合、ビット変化の増減が一致するエラーやパリティチェック変化のないエラーについてはパリティビットやチェックサムなどの誤り訂正符号の付加によっては、データ誤りを検出できないことがある。
【０００４】
そこで、誤り訂正精度を向上させるために、同一データを複数回送信して多数決判定をさせる方法（例えば、特許文献１参照）や、あらかじめ誤り訂正符号化されたデータを繰り返し送信した後、受信側で２段階の誤り訂正を実施する方法（例えば、特許文献２参照）や、さらにその精度を高めるために様々な復号演算を実施する方法（例えば、特許文献３参照）などが提案されている。
【０００５】
一方、企業内で使用される各種の情報システム等におけるコンピュータ同士のデータ通信では、データを完全に伝送できなかった場合には、データ不整合からシステム運用に支障をきたす可能性があることから、通信プロトコルとしてあらかじめデータ形式やサイズなどを規定しておき、データを送受信する方法がとられる。
【０００６】
【特許文献１】
特開２００２−３５３９４５号公報
【特許文献２】
特開平１０−２９０２１６号公報
【特許文献３】
特開平１０−１３５９３４号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、特許文献１〜３に記載の技術はいずれも、映像や音声といった比較的大量のデータを短時間に処理する伝送システムへの適用を主目的としているものであるため、その代数的な手法による誤り訂正では、完全なデータ訂正を保証することはできないという不都合があった。
【０００８】
また、上記企業内ネットワークで使用される情報システムの上記データ送受信技術では、いずれも、繰り返し送信回数や誤り訂正符号の付加形式、データ形式やサイズといった何らかの規定をあらかじめ送信−受信間にてプロトコルとして規定し、この規定に沿って送信側および受信側の双方のプログラムあるいは処理回路を作成する必要があった。また、プロトコルに変更が生じた場合には、データ送信側、受信側双方のプログラムあるいは処理回路を変更する必要があった。
【０００９】
さらに、情報システムのデータ通信部分において、プログラム作成時には予期できなかった原因により、システム導入後に初めてデータ誤りが発生する部分が判明した場合、当然データ誤り修正ロジックの追加が必要となる。この際、上記の従来技術では、データ送信側、受信側双方でプログラムを変更し、再度システム導入作業を実施しなければならなかった。
【００１０】
このため、
（１）プログラム変更の規模が大きくなり、コストが増大する、
（２）プログラム変更が送信側、受信側双方にまたがるため、システムに手を入れる部分が大きくなり、他の正常稼働している部分の動作安定性を損なう危険性がある、
（３）企業間通信等で送信側と受信側のプログラムの管理組織が異なる場合など、プログラム改変権の関係上、変更が困難、あるいは不可能な場合がある、
という問題を生じることがあった。
【００１１】
また、受信側における誤り訂正方法も、従来の代数的手法による誤り修正方法では、完全な誤り訂正を保証しうるものではないという問題があった。
【００１２】
本発明の目的は、上記のような問題を解決するものであり、送信側、受信側双方でプログラムを変更することなく、かつ完全な誤り訂正を行うことができる、データ誤り自動修正方法およびデータ誤り自動修正プログラムを提供することにある。
【００１３】
【課題を解決するための手段】
上記目的達成のために、請求項１の発明では、送信側コンピュータ及び受信側コンピュータ間のデータ通信におけるデータ誤りを自動修正するデータ誤り自動修正方法であって、受信側コンピュータが、あらかじめ設定された回数ｎだけ送信側コンピュータからデータを取得する過程と、取得したｎ個のデータをそれぞれバイナリデータに変換する過程と、これらをバイナリデータ列として格納する過程と、ｎ個のバイナリデータ列を対応したビットごとに値を多数決する過程と、１または０の値のうち多いほうの値を当該ビットの値とする過程と、上記多数決する過程とビット値とする過程をビット列数回数だけ繰り返し、誤り修正済みバイナリデータ列を生成する過程とを有することを特徴とする。
【００１４】
また、請求項２の発明では、送信側コンピュータ及び受信側コンピュータ間のデータ通信におけるデータ誤りを自動修正するデータ誤り自動修正方法であって、受信側コンピュータが、あらかじめ設定された回数ｎだけ送信側コンピュータからデータを取得する過程と、取得したｎ個のデータをそれぞれバイナリデータに変換する過程と、これらをバイナリデータ列として格納する過程と、ｎ個のバイナリデータ列を対応したビットごとに値を加算平均する過程と、加算平均した値を小数点第１位で四捨五入して１または０の整数を取得する過程と、得られた１または０の整数を前記ビットの値に代入する過程と、上記加算平均する過程から代入する過程までをビット列数回数だけ繰り返し、誤り修正済みバイナリデータ列を生成する過程とを有することを特徴とする。
【００１５】
これにより、受信側から送信側に対して、同一データを複数回要求して取得し、多数決または加算平均によりデータ誤りを修正できる。この際、多数決または加算平均のサンプル数となるデータの取得回数を受信側にて変更可能とし、劣悪な通信環境においては受信回数を大きく設定することで完全なデータ修正を実施でき、送信側、受信側相互でプログラムの統一や変更を行うことなく、受信側コンピュータのみでデータ誤りの自動修正をすることができる。
【００１６】
また、請求項３の発明では、請求項１または２に記載のデータ誤り自動修正方法において、誤り修正済みバイナリデータ列を生成したのち、同様の動作を繰り返して再度誤り修正済みバイナリデータ列を生成する過程と、生成された２つの誤り修正済みバイナリデータ列を対応するビットごとに値を比較し、全てが同値であるか否かにより、正しいバイナリデータ列か否かを判断する過程とを有することを特徴とする。
【００１７】
これにより、バイナリデータ列が誤り修正された正しいバイナリデータか否かを容易に判定できる。
【００１８】
また、請求項４の発明では、請求項３に記載のデータ誤り自動修正方法において、データ誤り発生の状況に応じて、上記生成された２つの誤り修正済みバイナリデータ列を対応するビットごとに値を比較し、全てが同値であるか否かにより、正しいバイナリデータ列か否かを判断する過程を含むか否かを変更することが可能な過程を含むことを特徴とする。
【００１９】
これにより、通信環境の劣悪さに応じて、バイナリデータ列が誤り修正された正しいバイナリデータ列か否かを判定し、データの正確性をより完全にチェックする機能を付加するかスキップするかを切り替えることができる。
【００２０】
また、請求項５の発明では、請求項１乃至４のいずれかに記載のデータ誤り自動修正方法において、データ誤り発生の状況に応じて、データの取得回数ｎを変更することが可能な過程を含むことを特徴とする。
【００２１】
これにより多数決のサンプル数を増加して、より完全なデータ修正を実現できる。
【００２２】
また、請求項６の発明では、請求項１乃至５のいずれかに記載のデータ誤り自動修正方法において、誤り修正済みバイナリデータ列を生成した際に修正されたビット数をカウントする過程と、カウントされたビット数があらかじめ設定されたしきい値ｍを超えたか否かにより、自動的に取得回数ｎの値を増減する過程とを含むことを特徴とする。
【００２３】
これにより、バイナリデータ列の修正されたビット数に対応してデータの取得回数を増減することができる。
【００２４】
また、請求項７の発明では、請求項１乃至６のいずれかに記載のデータ誤り自動修正方法において、２回だけ送信側コンピュータからデータを取得する過程と、取得した２個のデータをそれぞれバイナリデータに変換する過程と、これらをバイナリデータ列として格納する過程と、２個のバイナリデータ列を対応するビットごとに値を比較して、全てが同値であるか否かにより、上記のデータ誤り自動修正を実行するか否かを判断する過程とを含むことを特徴とする。
【００２５】
これにより、データ誤りがない場合は２回のデータ取得で処理を完了し、データ誤りが検出された場合のみｎ回データを取得し、データ修正を実施することができる。
【００２６】
また、請求項８の発明では、請求項１乃至６のいずれかに記載のデータ誤り自動修正方法において、送受信するデータ形式がＸＭＬなどの文字列である場合に、２回だけ送信側コンピュータからデータを取得する過程と、取得した２個のデータを文字コード列として格納する過程と、２個の文字コード列を対応する文字コード単位で比較し、全てが同値であるか否かにより、上記のデータ誤り自動修正を実行するか否かを判断する過程とを含むことを特徴とする。
【００２７】
これにより、文字データ誤りの自動修正を高精度に実施できる。
【００２８】
また、請求項９の発明では、車両内に固定された送信側コンピュータ及び持ち運び可能な受信側コンピュータ間のシリアルケーブルを経由したデータ通信におけるデータ誤りを自動修正するデータ誤り自動修正方法であって、受信側コンピュータが、データ誤りの発生の状況に応じてデータの取得回数ｎがあらかじめ設定する過程と、２回だけシリアルケーブルを経由して送信側コンピュータからデータを取得する過程と、取得した２個のデータをそれぞれバイナリデータに変換する過程と、これらをバイナリデータ列として格納する過程と、２個のバイナリデータ列を対応するビットごとに値を比較し、全てが同値であれば処理を終了する過程と、全てが同値でなければ、ｎ−２回だけシリアルケーブルを経由して送信側コンピュータからデータを取得する過程と、取得したｎ−２個のデータをそれぞれバイナリデータに変換する過程と、これらをバイナリデータ列として格納する過程と、合計でｎ個のバイナリデータ列を対応したビットごとに値を加算平均する過程と、加算平均した値を小数点第１位で四捨五入して１または０の整数を取得する過程と、得られた１または０の整数を上記ビットの値に代入する過程と、この代入過程をビット列数回数だけ繰り返し、誤り修正済みバイナリデータ列を生成する過程とを有することを特徴とする。
【００２９】
これにより車載コンピュータ及びポータブルコンピュータ間でのデータ通信におけるデータ誤りの自動修正をより高精度に実施できる。
【００３０】
なお、請求項１０乃至１８の発明では、媒体もしくは通信回線を介してインストールすることによって、周知のコンピュータに前述した手順を実行させるプログラムを提供する。
【００３１】
【発明の実施の形態】
以下に、本発明の第１の実施の形態を図について説明する。
【００３２】
図１は本発明にかかるデータ誤り自動修正方法を実施するデータ誤り自動修正装置を示すブロック図である。本実施の形態は受信側コンピュータ１および送信側コンピュータ２とこれらを接続する通信ケーブル３とから構成されている。受信側コンピュータ１には受信側プログラム４と通信装置５が搭載され、送信側コンピュータ２には通信装置６と送信側プログラム７、送信データ８が搭載されている。
【００３３】
そして、このデータ誤り自動修正装置では、受信側プログラム４が送信側プログラム７に対しデータ送信を要求し、要求命令が通信装置５、通信ケーブル３、通信装置６を介して送信側プログラム７へ送られる。送信側プログラム７は要求のあった送信データ８を取得し、これを受信側プログラム４へ返信する。上記においては、通信媒体として通信ケーブルを用いたが、通信手段は特にこれに限定されない。
【００３４】
次に、本実施形態での受信側プログラム４および送信側プログラム７の実行内容を図２に示す。使用者はまず、データの取得回数ｎを通信環境などの条件に応じて設定する（ただし、ｎは３以上の奇整数）（ステップＳ１）。このデータの取得回数ｎを、変更せずにデフォルトの値または前回データ取得したときの値をそのまま使うことも可能である。受信側プログラム４は送信側プログラム７へデータ送信を要求し（ステップＳ２）、送信側プログラム７は要求されたデータを取得して（ステップＳ３、ステップＳ４）、受信側プログラム４へ返信する（ステップＳ５）。これを設定されたデータの取得回数ｎだけ繰り返し、ｎ個のデータを取得する（ステップＳ６）。
【００３５】
また、こうして取得したｎ個のデータをバイナリデータに変換し（ステップＳ７）、バイナリデータ列ｂｊ（Ｎ）（１≦ｊ≦ｎ）としてバイナリファイルに格納する（ステップＳ８）。ただし、ｂｊ（Ｎ）＝［ｂｊ０，ｂｊ１，ｂｊ２・・・ｂｊＮ−１］、Ｎはデータのサイズをビット数で表した数、ｂｊｋ（１≦ｊ≦ｎ，０≦ｋ≦Ｎ−１）は１または０を格納した変数である。
【００３６】
バイナリデータ列ｂｊ（Ｎ）については、対応するビットごとに１または０の値の多数決を行い、つまり、０と１のどちらが多いかの判断を行い（ステップＳ９）、多いほうの値を正値と判断して、バイナリデータ列Ｓ（Ｎ）の対応するビットに代入する（ステップＳ１０）。ただし、Ｓ（Ｎ）＝［Ｓ０，Ｓ１，Ｓ２・・・ＳＮ−１］、Ｎはデータのサイズをビット数で表した数、Ｓｋ（０≦ｋ≦Ｎ−１））は１または０を格納した変数である。そして、この多数決をＮ回繰り返して、誤り修済みバイナリデータ列Ｓ（Ｎ）を生成し、処理を終了する。
【００３７】
従って、上記各プログラム４、７の実行手順によれば、受信側コンピュータが送信側コンピュータからデータを例えば２回だけ取得する過程と、取得した２個のデータをそれぞれバイナリデータに変換する過程と、これらをバイナリデータ列として格納する過程と、２個のバイナリデータ列を対応するビットごとに値を比較し、全てが同値であるか否かにより、上記のデータ誤り自動修正を実行するか否かを判断する過程とを実行することにより、データ誤りの自動修正を行うことができる。
【００３８】
また、送受信するデータ形式が例えばＸＭＬなどの文字列である場合には、まず、受信側コンピュータ１が送信側コンピュータ２からデータを２回だけ取得する過程と、取得した２個のデータを文字コード列として格納する過程と、２個の文字コード列を対応する文字コード単位で比較し、全てが同値であるか否かにより、上記のデータ誤り自動修正を実行するか否かを判断する過程とを実行することにより、文字データ誤りの自動修正を行うことができる。
【００３９】
さらに、業務用車両内に固定された送信側の車載コンピュータと、持ち運び可能な受信コンピュータ、および２つのコンピュータを接続するデータ通信用のシリアルケーブルとがあって、持ち運び可能な受信側コンピュータがプログラムでデータ誤りの発生の状況に応じてデータの取得回数ｎがあらかじめ設定する過程と、受信側コンピュータが、２回だけシリアルケーブルを経由して送信側コンピュータからデータを取得する過程と、取得した２個のデータをそれぞれバイナリデータに変換する過程と、これらをバイナリデータ列として格納する過程と、２個のバイナリデータ列を対応するビットごとに値を比較し、全てが同値であれば処理を終了する過程と、全てが同値でなければ受信側コンピュータが、ｎ−２回だけシリアルケーブルを経由して送信側コンピュータからデータを取得する過程と、取得したｎ−２個のデータをそれぞれバイナリデータに変換する過程と、これらをバイナリデータ列として格納する過程と、合計ｎ個のバイナリデータ列を対応したビットごとに値を加算平均する過程と、加算平均した値を小数点第１位で四捨五入して１または０の整数を取得する過程と、得られた１または０の整数を上記ビットの値に代入する過程と、これをビット列数回だけ繰り返し、誤り修正済みバイナリデータ列を生成する過程とを実行することにより、加算平均処理および処理値の四捨五入により得られた整数値をビット値に代入することで、データ誤りの自動修正を行うことができる。
【００４０】
また、上記ステップＳ９、ステップＳ１０に代え、ステップＳ８に続いて、ｎ個のバイナリデータ列ｂｊ（Ｎ）を対応したビットごとに値を加算平均し、この加算平均した値を小数点第１位で四捨五入して、１または０を取得し、さらにこれらの１または０の整数を上記ビットの値に代入してもよい。また、これをビット列数回数だけ繰り返して、誤り修正済みバイナリデータ列を生成する（ステップＳ１０）。これにより、通信環境に応じた回数のデータ取得とこのようなデータの加算平均処理によって、送信側、受信側相互でのプログラムの統一や変更をすることなくデータ誤りを自動修正することができる。
【００４１】
また、上記のように誤り修正済みバイナリデータ列を生成したのち、同様の動作を繰り返して再度誤り修正済みバイナリデータ列を生成し、生成されたこれら２つの誤り修正済みバイナリデータ列を対応するビットごとに値を比較し、全てが同値であるか否かに応じて、バイナリデータ列が正しいか否かを判断することにより、データ誤りの修正精度を上げることができる。さらに、データ誤り発生の状況に応じて、上記生成された２つの誤り修正済みバイナリデータ列を対応するビットごとに値を比較し、全てが同値であるか否かにより、正しいバイナリデータ列か否かを判断する過程を含むか否かを変更することを可能にすることもできる。また、データ誤り発生の状況に応じて受信側コンピュータがプログラムでデータの取得回数を変更できるようにしたので、例えば劣悪な通信環境でも完全なデータ修正を実現することができる。
【００４２】
本発明の第２の実施形態を、図３に示す受信側プログラム４および送信側プログラム７の実行手順に従って説明する。なお、装置構成は図１と同様である。本実施形態では、データ誤り発生の頻度に応じて、多数決におけるサンプルとなるデータ数ｎを自動的に増減させることにより、誤り訂正精度と処理時間の最適化が図れることを特徴としている。
【００４３】
第１の実施形態と同様な動作により、生成したバイナリデータ列ｂｊ（Ｎ）について多数決を実施した際に（ステップＳ９）、当該ビットの値が全て１または０でなかった場合について（ステップＳ１１）、誤り発生ビット数ｍに１を加算する（ステップＳ１２）。これをＮ回繰り返した後、カウントした誤り発生ビット数ｍの値があらかじめ設定した値を（しきい値）を超えたか否かを調べ（ステップＳ１３）、超えた場合は取得回数ｎを２だけ増加し（ステップＳ１４）、下回った場合は２だけ減少させる（ステップＳ１５）。ただし、取得回数ｎは３以下にならないようにする。最後に誤り発生ビット数ｍの値を０に戻す（ステップＳ１６）。
【００４４】
本実施形態では誤り発生ビットｍがしきい値を超えたか否かにより、取得回数ｎを２ずつ増減させているが、しきい値を複数設定することでｎの値を柔軟に設定変更させることも可能である。本実施形態では、例えば車内に装置を搭載して使用するような、通信に影響を及ぼす外界雑音が時々刻々と変化する環境において、誤り発生状況をデータ取得回数にフィードバックし、誤り発生が多いときはデータ取得回数を多くして誤り修正精度を維持し、逆に少ないときはデータ取得回数を少なくしてデータ送受信時間を短縮することで、システム運用におけるデータ精度と処理時間の最適化が図れるという効果がある。
【００４５】
【発明の効果】
以上説明したように、本発明によれば、データ通信をする際にデータの誤り自動修正をデータ受信側のプログラムにて単独で行うことができ、ソフトウェア変更範囲を小さくして開発コストを抑えつつ、データ誤りを修正することができるという効果がある。
【００４６】
近年の業務システムでは、業務効率化や業務管理を図るため、業務車両にパーソナルコンピュータを搭載するような使用形態が多く導入されており、車内で無線あるいは有線でのデータ通信が行う機会が増えている。このような車載環境では、通常環境で考える必要の無かった様々な電気的ノイズが発生し、混入する恐れがあり、システムにデータ誤り修正機能を付加する必要性が突発的に発生しうる。本発明によれば、通信環境に応じた回数のデータ取得によりデータ誤りを自動修正することができる。
【００４７】
また、最近ではＷｅｂサービスと呼ばれる技術を活用して、ネットワーク上に散在するＷｅｂサービスオブジェクトを必要に応じて呼び出し、様々な処理を実現するようなシステムを構築する例があるが、この場合プログラムの所有権やライセンスの関係により、相手方のＷｅｂサービスオブジェクトプログラムを容易に変更することができないような事態も発生しうる。本発明によれば、送信側、受信側相互間でのプログラムの統一や変更をすることなく、Ｗｅｂサービスにおいて取得したデータの誤り修正を受信側コンピュータのみで行うことができる。
【００４８】
さらに、車載環境では、データ誤りが一律的に発生するものではなく、車両ごとに発生状況や頻度が異なるが、この場合、誤り修正の精度を上げるために、むやみにデータ取得回数を大きく設定すると、システムの処理効率が低下してしまう。よって、誤り発生状況に応じてより最適な取得回数を選択あるいは自動補正することで、個別に使い勝手の最適化が図れるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態によるデータ誤り自動修正方法を実施するためのデータ誤り自動修正装置を示すブロック図
【図２】本発明の実施の形態によるデータ誤り自動修正方法を示すフローチャート
【図３】本発明の他の実施の形態によるデータ誤り自動修正方法を示すフローチャート
【符号の説明】
１：受信側コンピュータ、２：送信側コンピュータ、３：通信ケーブル、４：受信側プログラム、５，６：通信装置、７：送信側プログラム、８：送信データ。
【図１】
2004289261.tif 000003
【図２】
2004289261.tif 000004
【図３】
2004289261.tif 000005