(57)【特許請求の範囲】
【請求項１】
コード変換対象のデータ群に対し、当該データ群を構成する各データ列の長さの平均値に対応した所定値以上の長さを持つデータ列の部分を分割して、当該各データ列の長さを最適化し、
この最適化で得られた新たなデータ列を並列処理によりコード変換し、
このコード変換後の各データ列を元のデータ順序に組み立てる、
ことを特徴とするコード体系が異なる間でのコード変換方法。
【請求項２】
前記最適化の際の基準値として、最適化対象外の各データ列の長さの平均値に対応した値を用いる、
ことを特徴とする請求項１記載のコード体系が異なる間でのコード変換方法。
【請求項３】
前記最適化後の新たな各データ列および最適化対象外の各データ列のパケットを個々に作成し、このときのパケット番号に基づいて前記データ順序を特定する、
ことを特徴とする請求項１又は２記載のコード体系が異なる間でのコード変換方法。
【請求項４】
コード変換対象のデータ群に対し、当該データ群を構成する各データ列の長さの平均値に対応した所定値以上の長さを持つデータ列の部分を分割して、当該各データ列の長さを最適化するための最適化手段と、
この最適化で得られた新たなデータ列を並列処理によりコード変換するためのコード変換手段と、
このコード変換後の各データ列を元のデータ順序に組み立てるための変換後データ列組立手段と、
を備えたことを特徴とするコード体系が異なる間でのコード変換装置。
【請求項５】
前記最適化手段は、前記最適化の際の基準値として、最適化対象外の各データ列の長さの平均値に対応した値を用いる、
ことを特徴とする請求項４記載のコード体系が異なる間でのコード変換装置。
【請求項６】
前記変換後データ列組立手段は、前記最適化後の新たな各データ列および最適化対象外の各データ列についての個々のパケットのパケット番号に基づいて前記データ順序を特定する、
ことを特徴とする請求項４又は５記載のコード体系が異なる間でのコード変換装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、コード体系が異なる間でのコード変換方法およびそのための装置に関し、特にコード変換対象のデ−タ列群の内で長いデ−タ列の部分を最適化してから並列処理によりコード変換し、続いて元のデ−タ順序に組み立てるようにしたコード変換方式に関する。
【０００２】
送り手側の使用コードと受け手側のそれとが異なっている場合には両者間でコード体系の違いを変換する処理が必要となるが、従来、このコード変換処理を高速かつ効率的におこなうことが要請されており、本発明はこのような要請に応えるものである。
【０００３】
なお、以下の本明細書では、説明の便宜上、パーソナルコンピュータおよびサーバ技術の発展にともない積極的に利用されるようになったクライアント／サーバ型のコンピュータシステムを、コード体系が異なる装置間の一例として用いることにする。
【０００４】
【従来の技術】
図１１は、従来の、コード体系が異なる間でのコード変換の概要を示す説明図であり、ここではクライアントまたはサーバから渡されたデ−タを、それが１バイト系のデ−タであるか２バイト系のデ−タであるかなどのデ−タ属性とは無関係に、先頭から順番に１文字ずつ変換処理している。
【０００５】
図示の場合、送り手のコード体系であるＡＳＣＩＩコードで表現された「１」、「２」、「６」、「Ｗ」、「Ｅ」、「Ｄ」、「Ｐ」、「Ｊ」、「検」の各デ−タを、送り順にしたがって、受け手のコード体系であるＥＢＣＤＩＣコードに順次変換している。
【０００６】
ここで、「１」、「２」、「６」、「Ｗ」、「Ｅ」、「Ｄ」のそれぞれは１バイト系デ−タ、「Ｐ」、「Ｊ」、「検」のそれぞれは２バイト系デ−タであり、両者の判別は、ＡＳＣＩＩコードの場合は各デ−タの先頭ビットのオン／オフにより、またＥＢＣＤＩＣコードの場合は「ＳＦ」のシフトコードの有無により行っている。
【０００７】
すなわち、
・ＡＳＣＩＩコードの場合、先頭ビットがオンのときは全角文字（２バイト系のデ−タ）とみなし、先頭ビットがオフのときは半角文字（１バイト系のデ−タ）とみなし、
・ＥＢＣＤＩＣコードの場合、シフトコードで挟まれたデ−タ列の部分は全角文字（２バイト系のデ−タ）とみなし、その他の部分は半角文字（１バイト系のデ−タ）とみなしている。
【０００８】
１バイト系のデ−タとは英字（２６文字）、数字（１０文字）、カタカナ（５５  文字）、記号（数文字）等であり、それぞれのコード変換表の大きさはメモリに展開できる程度であってコード変換時間も短い。
【０００９】
２バイト系のデ−タとは漢字等のように文字数が非常に多い各国語文字であり、それぞれのコード変換の際には辞書を参照することが頻繁に発生してコード変換時間が長いものとなる。
【００１０】
【発明が解決しようとする課題】
このように、従来の、コード体系が異なる間でのコード変換の手法ではその対象デ−タ群を最初から順に処理しているので、変換デ−タ全体の長さに比例して処理時間も増加し、特に２バイト系のデ−タを含んでいる場合にはこの増加傾向が顕著になるという問題点があった。
【００１１】
そこで、本発明では、コード変換の対象デ−タの中で所定値以上の長さを持つデ−タ列についてはその長さを最適化、すなわち複数の新たなデ−タ列に分割してからそれらのコード変換を並列処理することにより、コード変換を効率的におこなうことを目的とする。
【００１２】
【課題を解決するための手段】
図１は本発明の原理説明図である。
図において、
１は、コード変換対象のデ−タ群であり、各デ−タ例えばＡＳＣＩＩコードにより表現されている。
２は、最適化手段であり、所定値以上の長さからなるデ−タ列１ａを分割することにより、コード変換単位としての各デ−タ列の長さの最適化を図っている。
３は、コード変換手段であり、最適化後の新たなデ−タ列や最適化対象外のデ−タ列のコード変換を並列処理している。
４は、変換後デ−タ列組立手段であり、コード変換後の各デ−タ列を元のデ−タ順序に組み立てている。
５は、コード変換後のデ−タ群であり、例えばＡＳＣＩＩコードによる表現からＥＢＣＤＩＣコードのそれに変換されたものである。
【００１３】
なお、本発明の基本的な対象はデ−タ群１の内でその長さが所定値以上となっているデ−タ列１ａであり、当該デ−タ列を最適化してから並列処理によりコード変換し、続いてコード変換後の各デ−タ列を組み立てることが本発明の骨子となる。
【００１４】
最適化手段２における所定値としては例えばデ−タ群１を構成する各データ列の長さの平均値に対応した値を用い、また、最適化するときの基準値としては例えば最適化対象外の各デ−タ列の長さの平均値に対応した値を用いている。
【００１５】
変換後デ−タ列組立手段４でのデ−タ順序の特定に際しては、例えば最適化後の新たな各デ−タ列および最適化対象外の各デ−タ列のパケットを個々に作成したときのパケット番号を用いている。
【００１６】
本発明の、コード変換方法としての基本構成は、
「コード変換対象のデータ群に対し、当該データ群を構成する各データ列の長さの平均値に対応した所定値以上の長さを持つデータ列の部分を分割して、当該各データ列の長さを最適化し、この最適化で得られた新たなデータ列を並列処理によりコード変換し、このコード変換後の各データ列を元のデータ順序に組み立てる」
ことである。
【００１７】
本発明の、コード変換装置としての基本構成は、
「コード変換対象のデータ群に対し、当該データ群を構成する各データ列の長さの平均値に対応した所定値以上の長さを持つデータ列の部分を分割して、当該各データ列の長さを最適化するための最適化手段と、この最適化で得られた新たなデータ列を並列処理によりコード変換するためのコード変換手段と、このコード変換後の各データ列を元のデータ順序に組み立てるための変換後データ列組立手段とを備えた」
ことである。
【００１８】
【作用】
本発明は、このように、コード変換対象のデ−タ群の中、所定値以上の長さを持つデ−タ列についてはその長さを分割してからそれぞれのコード変換を並列処理するようにしたものである。
【００１９】
このコード変換の並列処理により、コード変換時間が従来のようにコード変換対象のデ−タ群の全体長に直接左右されることはなく、効率的なコード変換がおこなわれる。
【００２０】
なお、本発明の並列処理はいわゆるマルチタスク処理を対象にしているが、各デ−タ列のコード変換を複数のプロセッサを用いて実行するような方式も本発明に含まれることは勿論である。
【００２１】
【実施例】
図２〜図１０を参照して本発明の実施例を説明する。
図２は、本発明のコード変換システムの全体構成を示す説明図であり、１１はクライアント（パーソナルコンピュータ）、１２は通信制御部、１３はサーバ、１４はプロトコル制御部、１５は通信デ−タ送受信処理部、１６はコード変換処理部、１７は通信デ−タ振分け処理部、１８はコード変換処理プログラム、１９はサーバアプリケーションを示している。
【００２２】
ここで、通信制御部１２はクライアント１１とサーバ１３との間の通信プロトコルＴＣＰ／ＩＰの制御を実行し、通信デ−タ送受信処理部１５はこれら両者間で用いられるより上位の通信プロトコルＲＤＡプロトコルの制御を実行し、通信デ−タ振分け処理部１７はコード変換後のデータをサーバアプリケーション１９に転送している。
【００２３】
図３〜図８は、コード変換処理部１６での処理の様子を示す説明図であり、
・図３は１バイト系のデ−タと２バイト系のデ−タとの分類、
・図４は平均法による最適化対象のデ−タ列の選別、
・図５は最適化のための平均値Ａ２  の算出、
・図６はこの平均値Ａ２  以上の長さを持つデ−タ列の均等化（分割）
・図７はコード変換の並列処理、
・図８は変換後デ−タ列の組み立て、
をそれぞれ示している。
【００２４】
先ず、コード変換対象のデ−タ群１（ＡＳＣＩＩコード）は先ず各デ−タの先頭ビットのオン／オフにより１バイト系のデ−タと２バイト系のデ−タとに分類される。
【００２５】
図３の場合は、
・６バイトのデ−タ列２１（１バイト系のデ−タ列）
・６バイトのデ−タ列２２（２バイト系のデ−タ列）
・４バイトのデ−タ列２３（１バイト系のデ−タ列）
・１６バイトのデ−タ列２４（２バイト系のデ−タ列）
に分類される。
【００２６】
次に、これらのデ−タ列２１〜２４の平均値Ａ１  （８バイト）を算出してこれよりも例えば「＋３０％」以上の長さを持つデ−タ列２４を最適化対象のデ−タ列として選別する（図４参照）。
【００２７】
次に、最適化対象外のデ−タ列２１〜２３の平均値Ａ２  （６バイト：算術平均値の  ５．３バイトを切り上げた値）を算出し、このＡ２  でデ−タ列２４を最適化（分割）して新たなデ−タ列２５〜２７を作成する（図５および図６参照）。
【００２８】
次に、デ−タ列２１〜２３および分割後の新たなデ−タ列２５〜２７のコード変換を並列処理するため、それぞれのデ−タ列を単一の依頼パケット２８〜３３としたタスクごとの変換処理をコード変換処理プログラム１８に依頼する。なお、依頼パケットのそれぞれにはパケット番号が付されており、これが変換後デ−タ列の組み立ての際に利用される。
【００２９】
コード変換処理プログラム１８は、コード変換表や辞書を参照してＡＳＣＩＩコードのデ−タ列２１〜２３および２５〜２７をＥＢＣＤＩＣコードのデータ列２１′〜２３′および２５′〜２７′に変換する（図７及び図８参照）。
【００３０】
次に、すべてのデ−タ列のコード変換が完了したことを確認した後で、依頼パケット２８〜３３のそれぞれのパケット番号に基づいてコード変換後のデータ列２１′〜２３′および２５′〜２７′をデ−タ群１の順序に組み立てる（図８参照）。
【００３１】
図９および図１０は、本発明の全体の処理手順を示す説明図であり、その内容は次のようになっている。
（１）  次のコード変換対象デ−タが「１バイト系コード」のものであるかどうかを順に判断し、「ＹＥＳ  」の場合はステップ（３）  に進み、「ＮＯ」の場合は次のステップに進む。
（２）  「２バイト系コード」のデ−タとして分類し、ステップ（４）  に進む。
（３）  「１バイト系コード」のデータとして分類し、次のステップに進む。
（４）  コード変換対象デ−タの分類がすべて終了したかどうかを判断し、「ＹＥＳ  」の場合は次のステップに進み、「ＮＯ」の場合はステップ（１）  に戻る。
（５）  分類後の各デ−タ列、すなわち同種のコードが連続するデ−タ列２１〜２４の長さの平均値Ａ１  を求めて、次のステップに進む。
（６）  次のコード変換対象デ−タ列の長さが平均値Ａ１  よりも３０％以上長いものになっているかどうかを判断し、「ＹＥＳ  」の場合はステップ（８）  に進み、「ＮＯ」の場合は次のステップに進む。
（７）  このデ−タ列を最適化対象外に分類して、ステップ（９）  に進む。
（８）  このデ−タ列を最適化対象に分類して、次のステップに進む。
（９）  すべてのデ−タ列の分類が終了したかどうかを判断し、「ＹＥＳ  」の場合は次のステップに進み、「ＮＯ」の場合はステップ（６）  に戻る。
（１０）最適化対象外として分類されたデ−タ列２１〜２３の長さの平均値Ａ２  を求め、次のステップに進む。
（１１）最適化対象として分類されたデ−タ列をこの平均値Ａ２  で最適化（均等化）することにより、当該データ列を新たなデ−タ列２５、２６、２７の三個に分ける。
【００３２】
以上の処理の中、ステップ（１）  〜（４）  では変換対象デ−タのそれぞれを「１バイト系コード」のものと「２バイト系コード」のものとに分類し、ステップ（５）  〜（１１）ではデ−タ列２１〜２４の最適化を実行しており、続いてコード変換処理へと移行する。
【００３３】
（１２）最適化対象外のデ−タ列２１〜２３および最適化処理後のデ−タ列２５〜２７を依頼キューに接続して、次のステップに進む。
（１３）依頼キューから順次取り出した各データ列のコード変換依頼用パケット２８〜３３を個々に作成して、次のステップに進む。
（１４）この依頼パケットのそれぞれを単位としてコード変換処理プログラム１８にコード変換を順次依頼し、次のステップに進む。
（１５）依頼キューに接続されていたすべてのデータ列についてのコード変換依頼が終了したかどうかを判断し、「ＹＥＳ」の場合は次のステップに進み、「ＮＯ」の場合はステップ（１３）に戻る。
（１６）コード変換処理の完了通知があったかどうかを判断し、「ＹＥＳ  」の場合は次のステップに進み、「ＮＯ」の場合はこの判断を繰り返す。なお、この完了通知はデ−タ列単位である。
（１７）コード変換後のデ−タ列をコード変換完了キューに接続して、次のステップに進む。
（１８）コード変換依頼の対象となったすべてのデ−タ列２１〜２３およびデ−タ列２５〜２７のコード変換が完了したかどうかを判断し、「ＹＥＳ  」の場合は次のステップに進み、「ＮＯ」の場合はステップ（１６）に戻る。
（１９）コード変換完了キューのデ−タ列を依頼パケット２８〜３３の番号順にソートして元のデータ順序に組み立てる。
【００３４】
なお、デ−タ列２４の最適化処理の際にこれと並行して最適化対象外のデ−タ列２１〜２３のコード変換依頼をコード変換処理プログラム１８に順次送るようにしてもよい。
【００３５】
また、以上の説明ではサーバ側で本発明のコード変換を実行するようにしているが、クライアントおよびサーバのいずれの側でコード変換を担当するかは任意である。
【００３６】
【発明の効果】
本発明は、このように、コード変換の対象デ−タの中で所定値以上の長さを持つデ−タ列についてはその長さを均等化、すなわち複数の新たなデ−タ列に分割した後でそれらのコード変換を並列処理するようにしているので、コード変換を効率的におこなってその処理時間の短縮化を図ることができる。
【００３７】
また、最適化の際の基準値として、最適化対象外の各デ−タ列の長さの平均値に対応した値を用いているので、コード変換対象の各デ−タ列の長さを均等化することができる。
【図面の簡単な説明】
【図１】本発明の、原理説明図である。
【図２】本発明の、コード変換システムの全体構成を示す説明図である。
【図３】本発明の、１バイト系のデ−タと２バイト系のデ−タとの分類処理を示す説明図である。
【図４】本発明の、平均法による、最適化対象のデ−タ列の選別処理を示す説明図である。
【図５】本発明の、最適化のための平均値の算出処理を示す説明図である。
【図６】本発明の、デ−タ列の最適化処理を示す説明図である。
【図７】本発明の、コード変換の並列処理を示す説明図である。
【図８】本発明の、変換後デ−タ列の組立処理を示す説明図である。
【図９】本発明の、全体の処理手順を示す説明図（その１）である。
【図１０】本発明の、全体の処理手順を示す説明図（その２）である。
【図１１】従来の、コード体系が異なる間でのコード変換の概要を示す説明図である。
【符号の説明】
図１において、
１・・・コード変換対象のデ−タ群
１ａ・・最適化対象のデ−タ列
２・・・最適化手段
３・・・コード変換手段
４・・・変換後デ−タ列組立手段
５・・・コード変換後のデ−タ群
【図１】
0003593584.tif 000002
【図２】
0003593584.tif 000003
【図３】
0003593584.tif 000004
【図４】
0003593584.tif 000005
【図５】
0003593584.tif 000006
【図６】
0003593584.tif 000007
【図７】
0003593584.tif 000008
【図８】
0003593584.tif 000009
【図９】
0003593584.tif 000010
【図１０】
0003593584.tif 000011
【図１１】
0003593584.tif 000012