(57)【特許請求の範囲】
【請求項１】
上位レイアから通信データを受け取り、自レイアにおけるプロトコル処理により組み立てた自レイアデータを該通信データに付与して下位レイアに受渡す通信制御装置であって、
前記自レイアデータの圧縮処理を行うとともに圧縮情報を作成し、その圧縮した自レイアデータを該圧縮情報と共に前記上位レイアから受け取った通信データに付与して下位レイアに受渡す処理部を各レイアに対応して有することを特徴とする通信制御装置。
【請求項２】
下位レイアから受取った通信データのうちから自レイアで必要なデータを取り出して所定のプロトコル処理を行うとともに、該データを除く通信データを上位レイアに受渡す通信制御装置であって、
下位レイアからデータ圧縮された通信データを受け取った際、該通信データに含まれる圧縮情報に基づき該通信データから自レイアで必要なデータのみ切り離して該データの解凍処理を行い、上位レイアに自レイアデータを切り離した未解凍の通信データを受渡す処理部を各レイアに対応して有することを特徴とする通信制御装置。
【請求項３】
上位レイヤからデータ圧縮された通信データを受け取った場合、自レイアで組み立てた自レイアデータを圧縮し、圧縮した該自レイアデータと圧縮情報とを該通信データに付与すべき自レイアデータとして指示するデータ圧縮手段、および下位レイヤから圧縮された通信データを受け取った場合、該通信データから自レイアで必要なデータのみ切り離して解凍し、切り離した未解凍の通信データを次レイアに受渡す通信データとして指定するデータ解凍手段を具備する通信プロトコル処理プログラムを格納したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信制御装置の改良に関する。
近年、パーソナルコンピュータ（ＰＣ）およびサーバ技術の発展に伴い、クライアント／サーバ型のコンピュータシステムを構築するユーザが増大している。
【０００２】
クライアント・サーバ間で送受信するデータは、文字データから最近では画像，音声等のマルチメディアデータにまでわたっており、特にマルチメディアデータのような巨大容量のデータを扱う場合はクライアント・サーバ間でデータ圧縮して送受信するニーズが高まっている。
【０００３】
この圧縮／解凍処理は、従来では、複数レイアでプロトコル処理する通信制御のうちのある特定のレイアで一括処理していたため、各レイアでは、自レイアでは不使用なデータが圧縮されない状態、あるいは自レイアでは不使用なデータが解凍された状態で次のレイアに受渡しされることになり、受渡しのためのバッファメモリの容量が増大するとか、バッファメモリ間で受渡しを行うように構成された装置では受渡しに時間を要するといった課題があった。
【０００４】
このようなことはクライアント／サーバ型のコンピュータシステムに限らず一般の装置間通信においても同様であって、これらの課題を解決して高速、且つ効率的に通信できる通信制御装置が求められている。
【０００５】
【従来の技術】
図９は各レイアの製品説明図、図１０は従来例の受信データ受渡し方法（データ圧縮無し）説明図、図１１は従来例の受信データ受渡し方法（データ圧縮有り）説明図である。
【０００６】
通信プロトコル（通信規約）の国際標準の１つとして、ＯＳＩ  （Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）  がある。これは、図９に示すように、通信機能に応じて通信プロトコルを階層化（７階層）したもので、下位３層では通信網レベルのプロトコルを、上位４層では情報処理に関するプロトコルを取り扱う。
【０００７】
一般に使用されている企業もしくは業界における通信プロトコルは、このＯＳＩを基準に制定され、それぞれの階層（以下レイアと称する）に対応したプロトコル処理のためのソフトウエア製品（プログラム）が提供されている。
【０００８】
図９は、クライアント／サーバシステムを構築するための製品例を示したもので、サーバ側について説明すると、ネットワーク層，トランスポート層に対応する製品として、ＴＩＳＰ（ＴＣＰ／ＩＰ  Ｓｕｐｐｏｒｔ  Ｐａｃｋａｇｅ）  、セッション層に対応する製品としてＩＤＣＭ（Ｉｎｔｅｇｒａｔｅｄ  ｄａｔａ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｍａｎａｇｅｒ）  、プレゼンテーション層に対応する製品として、Ｐｏｗｅｒ  ＡＩＭ（Ｐｏｗｅｒ  Ａｄｖａｎｃｅｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｍａｎａｇｅｒ）等があり、これらを使用することにより、異機種間通信を可能としたサーバ側の通信制御が行われる。クライアント側も同様で、図９に示すような、各レイアに応じた製品群が用意されている。
【０００９】
各製品はそのレイアにおけるプロトコルの処理機能および隣接するレイアとのインターフェース機能を有するもので、送信の場合、上位レイアから送信データが受渡しされたとき、自レイアで必要なデータを組み立てるとともに、受け取った送信データの先頭にこの組み立てたデータを付加して下位レイアに転送し、受信の場合、下位レイアから受け取った受信データの先頭部分から自レイアに必要なデータを取り出して受信処理を行うとともに、自レイアデータを受信データから切り離して残りの受信データを上位レイアに転送する。
【００１０】
図１０は、サーバ側でクライアントから受信したデータのレイア間の受渡しの模様をトランスポート層〜セッション層〜プレゼンテーション層を例として示したもので、レイア間のデータの受渡しにはバッファが使用される。このとき、そのレイアにおける処理で必要とされるデータ以外のデータは、未着手のままバッファに転送されて、次のレイアに受渡しされる。
【００１１】
図１０の場合では、１０００００バイトのデータがトランスポート層で受信され、トランスポート層で必要な１００００バイトのデータを除く上位レイアのデータ９００００バイトがバッファ１０にそのままの状態で格納され、セッション層では、このバッファ１０から９００００バイトのデータを読みだして別領域のバッファ１１に受信し、自レイアで必要な１００００バイトのデータを除く８００００バイトのデータをバッファ１２に格納してプレゼンテーション層に渡す。
【００１２】
さて、前述したように、大量のデータを効率よく装置間で通信するために、送信側では通信データを圧縮して送信し、受信側ではこの圧縮された通信データの解凍を行うことが行われるが、従来では、通信網レベルと情報処理レベルとの境界にあたるトランスポート層（ＴＩＳＰ）で一括して圧縮または解凍が行われていた。
【００１３】
このため、図１１に示すように、受信データは、例えば１／１０に圧縮された１００００バイトであったにもかかわらず、トランスポート層（ＴＩＳＰ）  で一括解凍されるため、トランスポート層（ＴＩＳＰ）とセッション層（ＩＤＣＭ）では９００００バイトの受渡しが行われることになる。同様にしてセッション層（ＩＤＣＭ）とプレゼンテーション層（Ｐｏｗｅｒ  ＡＩＭ）との間も８００００バイトの転送が必要となり、それに必要なバッファ容量がそれぞれ必要となる。
【００１４】
送信の場合も同様で、送信データの受渡しはトランスポート層（ＴＩＳＰ）まで圧縮されない状態で行われ、トランスポート層（ＴＩＳＰ）で一括圧縮処理が行われた後、送信される。
【００１５】
【発明が解決しようとする課題】
以上示したように、従来では圧縮／解凍処理はトランスポート層（例えばＴＩＳＰ）で一括して行われていた。このため、各レイア間でのデータの受渡しに必要なバッファ容量は、圧縮／解凍をしない場合と同様であり、大量の通信データを高速に送受するデータ圧縮手法を使用するとしてもメモリ等の通信資源は削減できず、また受渡しのための時間も短縮されないといった課題がある。
【００１６】
本発明は、上記課題に鑑み、通信資源，特にメモリ資源を節減し、効率的に通信制御が行える通信制御装置を提供することを目的とする。
【００１７】
【課題を解決するための手段】
上記課題を解決するため、本発明の通信制御装置は、図１の本発明の原理図に示すように、以下のように構成される。
（１）  第１の発明
第１の発明は、上位レイアから通信データを受け取り、自レイアにおけるプロトコル処理により組み立てた自レイアデータを該通信データに付与して下位レイアに受渡す通信制御装置であって、
前記自レイアデータの圧縮処理を行うとともに圧縮情報を作成し、その圧縮した自レイアデータを該圧縮情報と共に前記上位レイアから受け取った通信データに付与して下位レイアに受渡す処理部１５を各レイアに対応して有するように構成する。
【００１８】
以上のごとく、各レイアに対応する処理部１５では、自レイアで組み立てたデータを圧縮し、その圧縮情報とともに上位レイアから受け取った通信データに付与して下位レイアに受渡すようにしたので、レイア間の受渡しは圧縮されたデータ形式のままであり、受渡しのためのバッファ容量を大幅に節減し、且つ受渡し時間を短縮することができる。
【００１９】
図２は本発明の説明図で、１例として、第１の装置（例えばサーバ）と第２の装置（例えばクライアント）との間で通信を行う場合の第１の装置側でのトランスポート層とセッション層との間の受渡しの模様を示したものである。
【００２０】
この図には、上位レイアからセッション層まで転送され圧縮された９０００バイトの通信データがバッファに格納されてトランスポート層（ＴＩＳＰ）に受渡しされ、トランスポート層では自レイアで１００００バイトのデータを組み立てるとともに、そのデータを１０００バイトにデータ圧縮し、セッション層から受け取った９０００バイトのデータに付加する模様を示している。なお、圧縮情報のフレームは図示省略している。
【００２１】
このように圧縮率に応じてレイア間の受渡しに要するバッファ容量が削減され、また異なるバッファ領域間で通信データの授受を行う装置ではバッファ間の転送時間が短縮される。
（２）  第２の発明
第２の発明は、下位レイアから受取った通信データのうちから自レイアで必要なデータを取り出して所定のプロトコル処理を行うとともに、該データを除く通信データを上位レイアに受渡す通信制御装置であって、
下位レイアからデータ圧縮された通信データを受け取った際、該通信データに含まれる圧縮情報に基づき該通信データから自レイアで必要なデータのみ切り離して該データの解凍処理を行い、上位レイアに自レイアデータを切り離した未解凍の通信データを受渡す処理部１６を各レイアに対応して有するように構成する。
【００２２】
図２は、前記第１の発明の通信制御装置における圧縮方法を示すとともに第２の発明の通信制御装置における解凍方法を同時に示したもので、例えば、下位レイアからトランスポート層で受信処理した後、セッション層にセッション層以降に必要なデータを受渡す場合、トランスポート層では１００００バイトの受信データのうち、自レイアで必要な１０００バイトのデータのみ解凍され、残る９０００バイトのデータは圧縮されたままの状態でバッファを介してセッション層に受渡される。
【００２３】
図２の例では、圧縮率が１／１０であるから、バッファ容量は１／１０に削減されている。
（３）  第３の発明
第３の発明は、上位レイヤからデータ圧縮された通信データを受け取った場合、自レイアで組み立てた自レイアデータを圧縮し、圧縮した該自レイアデータと圧縮情報とを該通信データに付与すべき自レイアデータとして指示するデータ圧縮手段、および下位レイヤから圧縮された通信データを受け取った場合、該通信データから自レイアで必要なデータのみ切り離して解凍し、切り離した未解凍の通信データを次レイアに受渡す通信データとして指定するデータ解凍手段を具備する通信プロトコル処理プログラムを格納したコンピュータ読取可能な記録媒体である。
【００２４】
本記録媒体に格納された通信プロトコル処理プログラムを使用することにより、各レイアごとに、各レイアで必要なデータのみデータ圧縮およびデータ解凍を行って通信プロトコル処理を行うことができ、受渡しに要するバッファ容量を削減し、バッファ間の受渡し時間を短縮することが可能となる。
【００２５】
【発明の実施の形態】
以下、本発明の実施の形態例を図を用いて詳細に説明する。なお、全図を通じて同一符号は同一対象物を表す。
【００２６】
図３は一実施例の構成図、図４は送信処理フローチャート図、図５は送信時のデータ形式説明図、図６は受信処理フローチャート図、図７は受信時のデータ形式説明図、図８は本発明の効果を表す図である。
【００２７】
図３は、本発明を適用するデータ処理装置、例えば、クライアント／サーバシステムのうちのサーバ側の構成例を示したものである。なお、クライアント側もサーバ側と同様の圧縮／解凍機能を図９に示した製品に付与することにより、同じ動作を行わせることができるので説明は省略する。
【００２８】
図３のサーバ１において、３は中央処理ユニットＣＰＵで、データ処理機構と内部記憶装置から構成され、通信制御部６を構成する  ＴＩＳＰ  等の通信制御プログラム，ＲＡＭ４に格納されるアプリケーションプログラム等の各ソフトウエアを実行して所望の業務を遂行する。
【００２９】
４はランダムアクセスメモリＲＡＭで、アプリケーションプログラム等が格納される。５はリードオンリメモリＲＯＭで、図示省略したファイル装置から設定情報，プログラム等をＲＡＭ４にＩＰＬするブートプログラム等が格納されている。
【００３０】
６は通信制御部で、物理層に対応するインターフェース６ａ、データリンク層に対応するＦＳＬＩＮＫ６ｂ、ネットワーク層およびトランスポート層に対応する  ＴＩＳＰ  ６ｃ、セッション層に対応する〔ＩＤＣＭ〕６ｄ、プレゼンテーション層に対応する〔Ｐｏｗｅｒ  ＡＩＭ  〕６ｅ、アプリケーション層に対応する〔アプリケーション〕６ｆ等より構成される。なお、ここでは、圧縮／解凍を行う各レイアのソフトウエア製品を、通信制御を行う従来のＴＩＳＰ，ＩＤＣＭ，Ｐｏｗｅｒ  ＡＩＭ，アプリケーションの各製品に対応させて、それぞれ、  ＴＩＳＰ  ，〔ＩＤＣＭ〕，〔Ｐｏｗｅｒ  ＡＩＭ  〕，〔アプリケーション〕としている。
【００３１】
７はバッファメモリで、Ａワーク領域，Ｂワーク領域とを有する。このＡワーク領域とＢワーク領域とは通信データのレイア間での受渡しのための領域で、通信制御を行う各製品でその大きさが設定され、ＣＰＵ３によりバッファメモリ７内の任意のアドレス空間に確保される。
【００３２】
ここではＡワーク領域を次のレイアに受渡す通信データを格納する領域、Ｂワーク領域はＡワーク領域から通信データを受け取る領域とする。通信アダプタに下位層が、本体側に上位層が存在する構成では、Ａワーク領域とＢワーク領域とは異なるメモリ機構にあり、通信データの受渡しにはメモリ間転送が行われる。
【００３３】
クライアント２も、図９に示す製品群により通信制御が行われ、サーバ１と同様に、各レイアごとに自レイアデータのみの部分圧縮／部分解凍が行われる。
以下、圧縮／解凍動作を図４〜図７を用いて説明する。
【００３４】
図５，図７は通信データのデータ形式を示したもので、データ圧縮されている場合は、各レイアごとに圧縮情報を格納する制御部と圧縮されたデータ部とから構成され、非圧縮の場合は圧縮前のデータ部から構成され、それぞれデータの先頭側が上位レイアとなるように付加されている。
（圧縮処理）図４，図５参照
図４は、あるレイアにおける送信時の圧縮処理機能例を示したもので、通信データを圧縮しない場合も扱えるようにしている。
（１）  前レイア（上位レイア）より上位レイアでそれぞれ組み立てられた（作成された）一連の通信データを受け取る。前レイアではバッファメモリ７のＡワーク領域に通信データを格納するので、この内容をＢワーク領域に格納して受け取る。なお、受取方法は、上述の２つのワーク領域を使用する方法に限るものではないことは勿論である。
（２）  自レイアで必要とするデータ（自レイアデータ）を収集する。
（３）  受け取った通信データを検索して圧縮されているか否かを判別し、圧縮されている場合は圧縮要、圧縮されていない場合は圧縮不要と判定する。圧縮要／不要は予め設定しておいてもよい。
【００３５】
上位レイアから受け取るデータが圧縮されていない場合は、図５の（１）  のデータ形式をとり、圧縮されている場合は、図５の（２）  に示すように、各レイアデータごとに制御部が付されているデータ形式をとるので、識別情報により制御部が付されていると判別した場合は、受け取った通信データは圧縮データ，付されていないと判別した場合は非圧縮データと判定する。なお、最上位レイアは圧縮要／不要が予め設定されている。
（４）  受け取った通信データが圧縮されている場合は、圧縮要として収集した自レイアデータを圧縮する。
（５）  続いて、図５の（４）  に示すように、データ部の圧縮前のデータ部長ｂ、圧縮後のデータ部長ａ、以降のデータ受渡しデータ長Ｌ（受渡しデータ長）等の圧縮情報を制御部に設定する。
（６）  受け取った通信データへ自レイアの制御部を付与する。
（７）  受取った通信データへ圧縮した自レイアデータを付与し、後レイア（下位レイア）に渡すデータを再組み立てし、Ａワーク領域に格納する。
【００３６】
なお、圧縮しない場合は、図５の（３）  に示すように、自レイアデータをそのまま受け取った通信データに付与する。
以上によりこれまで処理された通信データが圧縮された状態でＡワーク領域に格納され、次レイアのプロトコル処理部が起動されて受渡しされる。このように上位レイアから受渡しされる通信データは圧縮率に応じたデータ部長で下位レイアに転送されるのでレイア間の受渡しのためのメモリ容量が削減される。
（解凍処理）図６，図７参照
図６は、あるレイアにおける受信時の解凍処理機能例を示したもので、通信データが圧縮されていない場合も扱えるようにしている。
（１）  前レイア（下位レイア）よりＢワーク領域を介して通信データを受取り、Ａワーク領域に格納する。
（２）  受取った通信データが圧縮されているか否かを通信データに制御部が付与されているか否かにより判別する。
（３）  制御部の内容を解析する。制御部には圧縮前後のデータ部長が記載されているので、取出し範囲を特定し、圧縮率を計算する。
（４）  受渡しデータから自レイア分のデータを取り出す。
（５）  圧縮率を基に取り出したデータを解凍する。
（６）  解凍したデータの長さが圧縮前のデータ長と一致するか否かを検証する。
（７）  不一致の場合は、通信異常発生として通信異常処理を行う。
（８）  一致している場合は受取った通信データから自レイアデータを取り除き、後レイア（上位レイア）に渡すデータを組み立て、Ａワーク領域に格納して上位レイアに転送する。
【００３７】
なお、受け取ったデータが圧縮されていない場合は、そのまま自レイアデータを切り離してプロトコル処理した後、残るデータをＡワーク領域に格納して上位データに転送する。
【００３８】
以上により、各レイアごとに自レイアデータのみ解凍し、未解凍の通信データをそのまま上位レイアに転送するので、圧縮率に応じたデータ部長でレイア間の受渡しができ、メモリ容量が削減できる。
【００３９】
図８は本発明を適用した場合（圧縮）の効果を圧縮率を１／２として従来例と比較したもので、白枠のデータ部は従来比で１／２の大きさのデータに圧縮された状態でレイア間で受渡しされていることが示されている。なお、図８の（２）  の▲１▼は、非圧縮の状態でＰＣに伝送される時の状態を示したもので、圧縮された状態で転送される場合は、（２）  の▲２▼のデータが１／２に圧縮された状態で転送される。
【００４０】
以上説明した実施例では、自レイアで組み立てたデータまたは必要なデータのみ圧縮／解凍する例を示したが、２レイア分、または３レイア分一括圧縮／解凍してもよく、かくすることにより全体を圧縮／解凍する場合に比較してメモリ容量を削減することができる。
【００４１】
なお、前述した圧縮処理，解凍処理の一方または両方の機能を具備した各レイアのプロトコル処理プログラム（ＴＩＳＰ等）を記録媒体に記憶させておき、この記録媒体をクライアント／サーバシステムを構成する各装置に持たせる、またはその内容をロードすることにより、本発明の装置間通信の圧縮／解凍処理を実現することが容易となる。
【００４２】
【発明の効果】
以上説明したように、本発明は、装置間通信において、通信データの圧縮／解凍を通信制御における各レイアごとに行わせるようにしたので、レイア間の受渡しデータ量が削減され、メモリ等の通信資源の削減効果、受渡し時間の短縮効果は多大である。
【００４３】
また、クライアント／サーバ間の通信では、アプリケーションプログラムで通信データの送受信をＳＱＬ（Ｓｔｒｕｃｔｕｒｅ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）  文で記述するのが一般的であるが、ＳＱＬ文の場合はクライアント／サーバ間データだけではなく、ホスト変数名やデータ項目ごとの属性情報等も送受信されるため、プレゼンテーション層で付与されるデータが従来のダム端の送信とは比較にならない程増える。従って、データ圧縮／解凍の要請はアプリケーション層等の特定のレイアに限らず、任意のレイア間で自由に行えることが要望されており、本発明を利用することによりこれに応えることが可能となる。
【図面の簡単な説明】
【図１】本発明の原理図
【図２】本発明の説明図
【図３】一実施例の構成図
【図４】送信処理フローチャート図
【図５】送信時のデータ形式説明図
【図６】受信処理フローチャート図
【図７】受信時のデータ形式説明図
【図８】本発明の効果を表す図
【図９】各レイアの製品説明図
【図１０】従来例の受信データ受渡し方法（データ圧縮無し）説明図
【図１１】従来例の受信データ受渡し方法（データ圧縮有り）説明図
【符号の説明】
１  サーバ                                                    ２  クライアント
３  中央処理ユニットＣＰＵ                    ４  ＲＡＭ
５  ＲＯＭ                                                    ６  通信制御部
６ａ  インタフェース                                    ６ｂ    ＦＳＬＩＮＫ
６ｃ    ＴＩＳＰ                                                      ６ｄ      ＩＤＣＭ
６ｅ    Ｐｏｗｅｒ  ＡＩＭ                                            ６ｆ      アプリケーション
７  バッファメモリ                                    １０〜１２  バッファメモリ
１５，１６  処理部
【図１】
0003598722.tif 000002
【図２】
0003598722.tif 000003
【図３】
0003598722.tif 000004
【図４】
0003598722.tif 000005
【図５】
0003598722.tif 000006
【図６】
0003598722.tif 000007
【図７】
0003598722.tif 000008
【図８】
0003598722.tif 000009
【図９】
0003598722.tif 000010
【図１０】
0003598722.tif 000011
【図１１】
0003598722.tif 000012