(57)【要約】【課題】アプリケーションを変更することなしに、アプリケーション間通信のセキュリティ確保、通信効率を向上させる。【解決手段】符号化すべき通信メッセージ種やデータタイプを登録する符号化対象管理部５０４と、符号化対象管理部５０４に登録された通信メッセージ種やデータタイプに基づいて、送信するメッセージを暗号化する符号化手段５０７と、受信したメッセージを複号する復号化手段５１１とを備えることで、暗号化や圧縮処理を選択的に行うことができるようにした。【選択図】  図５
2008245039.tif 000002
【特許請求の範囲】
【請求項１】
複数のマシンを含み、前記マシンの間でデータ通信を行うデータ通信システムであって、
前記複数のマシンのマシン構成を管理するマシン構成管理手段と、
アプリケーションの状態を管理するアプリケーション管理手段と、
前記アプリケーション管理手段の保持情報を基に、通信先アプリケーションを検索するアプリケーション検索手段と、
符号化すべき通信メッセージ種やデータタイプを登録する符号化対象登録手段と、
前記アプリケーション検索手段の出力結果に基づいて、送信するメッセージを暗号化する符号化手段と、
受信したメッセージを複号する復号化手段と、
符号化と復号化に用いるキーを管理するキー管理手段と、
アプリケーション間の通信を通信ミドルウェアにより行う通信手段とを備えたことを特徴とするデータ通信システム。
【請求項２】
送信するメッセージを暗号化または圧縮する符号化手段と、受信したメッセージを複号または伸張する復号化手段とを更に備え、
暗号化処理または圧縮処理を前記通信ミドルウェアの内部で行うことを特徴とする請求項１に記載のデータ通信システム。
【請求項３】
送信するメッセージを圧縮する符号化手段と、受信したメッセージを伸張する復号化手段とを更に備え、
圧縮処理を前記通信ミドルウェアの内部で行うことを特徴とする請求項１に記載のデータ通信システム。
【請求項４】
送信するメッセージを圧縮して更に暗号化する符号化手段と、受信したメッセージを複号して更に伸張する復号化手段とを更に備え、
暗号化処理と圧縮処理を前記通信ミドルウェアの内部で行うことを特徴とする請求項１に記載のデータ通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続された複数のコンピュータ間でデータを通信する際に、アプリケーションプログラムに変更を加えることなく、暗号化や圧縮を行うデータ通信システムに関するものである。
【背景技術】
【０００２】
コンピュータ性能の向上、ネットワークへの接続が進むにつれ、情報を複数のコンピュータに分散させて保存し、ネットワークに接続している別のコンピュータから参照するという分散コンピューティングが行われてきている。
【０００３】
このような環境下では、ネットワーク上には情報がそのまま流れるため、傍受される危険や改竄される可能性があり、セキュリティ上問題がある。そのため、データを暗号化して通信を行っている。また、通信効率を上げるためにデータを圧縮することも行われている。
【０００４】
暗号化については、従来は、下記のようなものが用いられてきた。
（１）アプリケーションプログラム毎に暗号化処理を行い、暗号化したデータを通信する。
（２）ＮｅｔＳｃａｐｅ社が開発したＳＳＬ（ＳｅｃｕｒｅＳｏｃｋｅｔｓＬａｙｅｒ)等の暗号化プロトコルを使用するようにアプリケーションプログラムを変更する。
（３）セキュリティルータに代表される暗号化機能を持ったハードウェアを利用し、ルータ間で暗号化した情報を転送する。
（４）通信データを暗号化する中継サービスを駆動し、中継プログラムが稼動状態ならば通信データを暗号化する方法（特許文献１）。
【０００５】
圧縮については、従来、下記のようなものがある。
（５）通信アダプタあるいは通信アダプタを制御するドライバプログラムにおいてデータを圧縮する。データの圧縮を通信アダプタのドライバプログラムで行う例としてＰＰＰ（ＰｏｉｎｔＴｏＰｏｉｎｔＰｒｏｔｏｃｏｌ)がある。
【０００６】
【特許文献１】特開平９−１３９７３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記（１）、（２）の方法はアプリケーションプログラムに変更を加えなくてはならず、既存のアプリケーションをそのまま使用できない。アプリケーションを改変する場合、暗号化プログラムを呼び出す処理の追加や、プログラム内に暗号化機能を組み込む等の開発負荷がかかる。そして、一般ユーザにおいては実現不可能である。
【０００８】
上記（３）の方法はルータ間のセキュリティは確保されているが、ルータ内のネットワークでは通信のセキュリティを確保することはできない。
【０００９】
上記（４）の方法は中継プログラムの稼動状態において、全ての通信データが暗号化されるため、暗号化が不要なデータ通信についても暗号化／複号化処理が施される。従って、処理スピードが要求される場合はオーバーヘッドが問題になる。
【００１０】
上記（５）も（４）と同様に、圧縮が不要なデータ通信についても圧縮／伸張処理が施されるため、オーバーヘッドが問題になる。
【００１１】
ところで、複数のアプリケーションから構成される分散オブジェクトシステムは、マシン構成やアプリケーション配置の自由度が高く、負荷分散やユーザビリティの観点で配置を変更できる。アプリケーションの配置が可変であるため、配置に依存して通信データの暗号化や圧縮処理の必要性が変化する。従って、通信データの暗号化や圧縮処理を固定的に指定することができない。
【００１２】
例えば、異なるマシンに配置されたアプリケーション間の通信では、通信データ改ざんの可能性があるため暗号化は必要である。
【００１３】
しかし、同一マシンに配置されたアプリケーション間の通信では、通信データ改ざんの可能性が極めて低いため暗号化処理自体が必要とされない。また別の例では、異なるドメインに配置されたアプリケーション間の通信では、通信データ改ざんの可能性があるため暗号化は必要である。
【００１４】
しかし、同一ドメインに配置されたアプリケーション間の通信では、通信データ改ざんの可能性が極めて低いため暗号化処理自体が必要とされない。
【００１５】
そこで本発明は、既存のアプリケーションプログラムを変更することなしに、暗号化データを送受信する通信システムとその制御方式を提供し、セキュリティを確保することを目的とする。加えて、既存のアプリケーションプログラムを変更することなしに、圧縮データを送受信できる通信システムとその制御方式を提供し、通信を効率化することを目的とする。上記のようなシステムでは、アプリケーションの配置情報や通信データの性質に基づいて暗号や圧縮の対象を選択可能とする。これにより、必要最低限の通信データを暗号化や圧縮処理の対象とし、処理効率の高いシステムが構築可能となる。
【課題を解決するための手段】
【００１６】
本発明のデータ通信システムは、複数のマシンを含み、前記マシンの間でデータ通信を行うデータ通信システムであって、前記複数のマシンのマシン構成を管理するマシン構成管理手段と、アプリケーションの状態を管理するアプリケーション管理手段と、前記アプリケーション管理手段の保持情報を基に、通信先アプリケーションを検索するアプリケーション検索手段と、符号化すべき通信メッセージ種やデータタイプを登録する符号化対象登録手段と、前記アプリケーション検索手段の出力結果に基づいて、送信するメッセージを暗号化する符号化手段と、受信したメッセージを複号する復号化手段と、符号化と復号化に用いるキーを管理するキー管理手段と、アプリケーション間の通信を通信ミドルウェアにより行う通信手段とを備えたことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、既存のアプリケーションプログラムを変更することなしに、暗号化データや圧縮データを送受信する通信システムとその制御方法を提供することが可能である。具体的には、アプリケーションの配置情報や通信データの性質に基づいて暗号や圧縮の対象を選択可能とし、必要最小限の暗号化処理、圧縮処理を施すようにした。これにより、分散オブジェクトシステムにおける暗号化処理や圧縮処理のオーバーヘッドを必要最小限に抑え、且つセキュリティの確保や通信効率の向上を達成できる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を図を用いて説明する。図９は、本発明の実施形態に係るデータ通信システムが動作する装置の基本構成の一例を示す図である。
【００１９】
当該装置では、ＣＰＵ９００が、ＲＯＭ９０１に格納されたプログラムを読み出して実行する。プログラム実行の際には一次記憶装置としてＲＡＭ９０２や二次記憶装置として
ハードディスク９０３を使用する。
【００２０】
また、ハードディスク９０３はプログラムを格納する手段としても利用される。そして他の装置との通信をする際には、ネットワークＩ／Ｆ９０４を使用する。当該装置の操作をしたり、状態を表示したりする際には、ＵＩデバイス９０５を使用する。また、各デバイスはバス９０６でそれぞれ接続されている。
【００２１】
図１は、本発明を適用した選択的に符号化を行うデータ通信システムの構成図である。同一マシン上にアプリケーションを配置した場合と、複数マシンにアプリケーションを配置した場合の２通りを示す。
【００２２】
図１（ａ）は、アプリケーションＡ、Ｂ、Ｃ（１０１）を同一マシン上に配置し、通信ミドルウェア（１０２）を使用して通信する例である。この場合、アプリケーション間の通信はＯＳのＳｙｓｙｔｅｍコール（１０３）を用いて行われる。
【００２３】
図１（ｂ）は、アプリケーションＡ、Ｂ（１０４）を一つのマシンに、アプリケーションＣ（１０５）を異なるマシンに配置し、通信ミドルウェア（１０６）を使用した例である。この場合、アプリケーションＢとアプリケーションＣの通信は通信ミドルウェア経由でＴＣＰ／ＩＰのソケット通信（１０７)で行われる。同一マシン上に配置されたアプリケーションＡ、Ｂの通信は、ＯＳのＳｙｓｔｅｍコール（１０８）を用いて行われる。この様に通信ミドルウェアはアプリケーション配置を考慮して、最適な通信方法を選択する。アプリケーション間の通信を行う複数のアプリケーションは、バンドルという単位でシステムにインストール可能である。
【００２４】
図２はバンドルの一例である。バンドル（２０１）には、アプリケーションの実行オブジェクト実体（２０２）とマニュフェストファイル（２０３）とが含まれる。
【００２５】
マニュフェストファイルには、アプリケーション名（２０４）やアプリケーションを実行する際に最初に参照するクラス名（２０５）、暗号化が必要なサービス（２０６）、暗号化が必要なデータタイプ（２０７）が記載される。
【００２６】
サービスとは、アプリケーションが他のアプリケーションに提供する機能を示す。サービスはインプットデータを受信し、機能を実行してアウトプットデータを送信する。なお、１つのアプリケーションが複数のサービスを提供しても良い。
【００２７】
暗号化が必要なサービスについては、サービス名、符号化方式、サービスのインプット／アウトプット別の暗号化指定を記述する（２０６）。
【００２８】
インプット／アウトプット別の暗号化指定は、サービスを利用する側がサービスに渡すインプットデータを暗号化したい場合は「ｉｎ」と記述する。また、サービスの処理結果のアプトプットデータを暗号化したい場合は「ｏｕｔ」、両方を暗号化したい場合は「ｉｎ／ｏｕｔ」と記述する。
【００２９】
アプリケーションが送信するデータのうち、暗号化が必要なデータタイプについては、暗号化すべきデータの型と符号化方式を指定する（２０７）。
【００３０】
また、圧縮が必要なサービスについては、図２の（２０８）、（２０９）のようにマニュフェストファイルに記述することができる。圧縮が必要なサービスについては、サービス名、符号化方式、サービスのインプット／アウトプット別の暗号化指定を記述する（２０８）。アプリケーションが送信するデータのうち、圧縮が必要なデータタイプについては、圧縮すべきデータの型と符号化方式を指定する（２０９）。
【００３１】
図３は、アプリケーションＡがユーザ名のリストを取得するサービス「ＧＥＴ＿ＵＳＥＲ＿ＮＡＭＥ」を他アプリケーションから利用可能にする際の構成を示す。
【００３２】
通信ミドルウェアはアプリケーションＡの提供サービスに対応するサービス提供ポート（３０１）を作成する。
【００３３】
通信ミドルウェアはアプリケーション名（マニュフェストで定義）、提供サービス名、ポートを関連付けて保持する（３０２）。
【００３４】
アプリケーションＢから「ＧＥＴ＿ＵＳＥＲ＿ＮＡＭＥ」サービスを利用する場合、通信ミドルウェアはアプリケーションＢがサービスのアウトプットデータを受信するためのポート（３０３）を作成する。その際、通信ミドルウェアはアプリケーションと利用サービス、リプライ用ポートを関連付けて保持する（３０４）。サービス提供ポートにはインプットデータが送信され、サービス利用側のリプライ用ポートにはアウトプットデータが送信される。
【００３５】
図４は、図３の構成を用いたアプリケーション間の通信制御手順を説明する図である。
【００３６】
まずアプリケーションＡはサービスを識別するサービス名を通信ミドルウェアに登録する。通信ミドルウェアは本サービス用のポートを作成する（４０１、４０１'）。そしてアプリケーションＡはインプットデータの受信待ち状態に移行する（４０２）。
【００３７】
アプリケーションＢがサービスを利用する場合、サービス名（ＧＥＴ＿ＵＳＥＲ＿ＮＡＭＥ）を指定して、接続ポートを取得する（４０３、４０３'）。そしてアプリケーションＢはサービスの処理結果であるアウトプットデータを受信するためのリプライポートを作成する（４０４、４０４'）。その後、利用したいサービスポートに対してインプットデータを送信し（４０５、４０５'）、アウトプットデータの受信待ちを行う（４０６）。
【００３８】
アプリケーションＡはアウトプットデータを送信するための利用者側のリプライポートを取得し（４０７、４０７'）、通信ミドルウェアを介して、ユーザ名のリストを送信する（４０８、４０８'）。
【００３９】
図５は選択的に通信データの暗号化を行う通信ミドルウェアの詳細構成を示す図である。複数マシンを備えてシステムが構成される場合、マシン毎に図５の通信ミドルウェアが存在する。
【００４０】
マシン構成管理部（５０１）はシステム全体のマシン構成を管理する。マシン構成管理部（５０１）は、システムを構成する複数台のマシンのＩＰアドレスやマシン名を外部ファイルにより取得し、内部にマシン構成情報（５１２）を保持する。なお、マシン構成管理部（５０１）は、本発明でいう、マシン構成を管理するマシン構成管理手段に相当する。
【００４１】
アプリケーション管理部（５０２）は、自己のマシンの通信ミドルウェアにインストールされたバンドルを管理する。バンドルとしてインストールされたアプリケーションとそのライフサイクルをアプリケーション情報（５１３）として持つ。バンドルが新たに追加されるとアプリケーション情報を加え、バンドルがアンインストールされるとアプリケーション情報から該当する情報を削除する。
【００４２】
サービス管理部（５０３）は、アプリケーションが提供するサービスを管理する。アプリケーション名（マニュフェストで定義）と提供するサービス名称、サービスポートの３つから成るサービス情報（５１４）を保持する。アプリケーションが通信ミドルウェアに対してサービスを登録すると、サービス情報が追加される。アプリケーションがサービスの登録を抹消すると、該当するサービス情報を削除する。また、アプリケーションがアンインストールされた場合は、関連するサービス情報を抹消する。なお、アプリケーション管理部（５０２）及びサービス管理部（５０３）は、本発明でいう、アプリケーションの状態を管理するアプリケーション管理手段に相当する。
【００４３】
符号化対象管理部（５０４）は、アプリケーションのマニュフェストファイル記載の暗号化対象のサービスやデータタイプを取得して、符号化対象情報（５１５）を保持する。符号化対象情報は、以下の２種類ある。
【００４４】
（１）サービス符号化対象情報：アプリケーション名、サービス名、符号化方式、インプットデータ/アウトプットデータの指定
（２）データタイプ符号化対象情報：アプリケーション名、データタイプ、符号化方式
【００４５】
符号化対象情報は、アプリケーションのインストール時点で登録され、アプリケーションがアンインストールされると削除される。なお、符号化対象管理部（５０４）は、本発明でいう、符号化すべき通信メッセージ種やデータタイプを登録する符号化対象登録手段に相当する。
【００４６】
サービス検索部（５０５）は、サービスを利用するアプリケーションがサービス提供アプリケーションへインプットデータを送信する際、サービスの配置場所を検索する。なお、サービス検索部（５０５）は、本発明でいう、アプリケーション管理手段の保持情報を基に、通信先アプリケーションを検索するアプリケーション検索手段に相当する。
【００４７】
符号化判断部（５０６）は、サービス検索部（５０５）、符号化対象管理部（５０４）を用いて通信データの符号化を判断する。
【００４８】
符号化処理部（５０７）は、符号化対象管理部（５０４）で保持されている符号化対象情報から符号化方式を取得し、指定方式で符号化処理を行う。なお、符号化判断部（５０６）及び符号化処理部（５０７）は、本発明でいう、アプリケーション検索手段の出力結果に基づいて、送信するメッセージを暗号化する符号化手段に相当する。
【００４９】
暗号化キー管理部（５０８）は、符号化と復号化時に使用するキーを保持している。キーは通信ミドルウェア構築時に実装されるものとする。なお、暗号化キー管理部（５０８）は、符号化と復号化に用いるキーを管理するキー管理手段に相当する。
【００５０】
通信制御部（５０９）は、アプリケーションの配置によって通信方法を選択する。ローカルマシン内のアプリケーション間通信の場合はＯＳのシステムコールを用いた通信を行う。リモートマシン間のアプリケーション通信の場合はＴＣＰ／ＩＰのパケット通信を行う。パケット通信を行う際、通信ミドルウェア独自のヘッダ（５１６）を付与して通信を行う。ヘッダには、暗号化処理の形式を示す情報、圧縮処理の形式を示す情報を入れる。なお、通信制御部（５０９）は、本発明でいう、アプリケーション間の通信を通信ミドルウェアにより行う通信手段に相当する。
【００５１】
データ種別判断部（５１０）は、通信制御部（５０９）によって通信されたデータのヘッダを解析し、受信データが符号化されているか否かを判断し、符号化されている場合は符号化方式を抽出する。
【００５２】
復号化処理部（５１１）は、符号化されているデータを復号処理する。復号処理する際には暗号化キー管理部（５０８）の保持しているキーを用いる。復号化処理部（５１１）は、本発明でいう、受信したメッセージを復号（又は伸張）する復号化手段に相当する。
【００５３】
アプリケーションがサービスを利用する際の通信ミドルウェアの処理フローを図６に示す。アプリケーションがポートを指定してインプットデータを送信すると、通信ミドルウェアはインプットデータの送信処理を行う。
【００５４】
ローカルマシンのサービス管理部で保持しているサービス情報から利用サービスを検索し（ステップＳ６０１）、利用サービスが情報に含まれているか判断する（ステップＳ６０２）。含まれていた場合は、インプットデータをそのまま送信し（ステップＳ６１８）、送信指示したアプリケーションに対し正常に送信処理した旨を通知する（ステップＳ６１９）。サービスがローカルマシン内に見つからなかった場合は、送信するインプットデータの型を、ローカルマシンの符号化対象管理部で保持しているデータタイプ符号化対象情報から検索する（ステップＳ６０３）。
【００５５】
インプットデータタイプが符号化対象情報に含まれているか判断し（ステップＳ６０４）、含まれていた場合はローカルマシンの符号化処理部にてインプットデータを暗号化処理する（ステップＳ６１４〜Ｓ６１７）。そして、指定されたポートにデータ送信する（ステップＳ６１８、Ｓ６１９）。
【００５６】
含まれていない場合は、マシン構成管理部で保持しているマシン情報からリモートマシンのＩＰアドレスまたはマシン名を取得する（ステップＳ６０５）。リモートマシンに接続して、そのマシンのサービス管理部に利用サービスの有無を問い合わせる（ステップＳ６０６）。
【００５７】
リモートマシンのサービス管理部では、利用サービスが存在するか判断する（ステップＳ６０７）。存在していない場合は次のリモートマシンのサービス管理部に利用サービスの有無を問い合わせる（ステップＳ６０５〜Ｓ６０７）。全てのリモートマシンに問い合わせても利用サービスが見つからなかった場合は（ステップＳ６０８）、送信指示したアプリケーションに対し、該当サービスが見つからなかったことを示すエラー情報を渡す（ステップＳ６０９）。
【００５８】
リモートマシンで利用サービスを見つけた場合、リモートマシンの符号化対象管理部のサービス符号化対象情報から利用サービスを検索する（ステップＳ６１０）。サービス符号化対象情報に利用するサービスが含まれているか判断する（ステップＳ６１１）。含まれていた場合はサービス符号化対象情報からインプットデータの暗号化指定の有無を取得する(ステップＳ６１２)。
【００５９】
インプットデータの暗号化指定があった場合は（ステップＳ６１３）、ローカルマシンの符号化処理部にてインプットデータを暗号化処理し（ステップＳ６１４〜Ｓ６１７）、指定されたポートにデータ送信する（ステップＳ６１８、Ｓ６１９）。
【００６０】
符号化処理部は、符号化対象情報から利用サービスやインプットデータタイプ毎に設定されている暗号化方式を取得し（ステップＳ６１４）、指定された方式で暗号化する（Ｓ６１６）。
【００６１】
また、暗号化キーは暗号化キー管理部が保持するキーを用いる（ステップＳ６１５）。そして暗号化したデータを送信する際は、送信ヘッダへ暗号化方式を代入し（ステップＳ６１７）、ヘッダと暗号化されたインプットデータをデータ送信する（ステップＳ６１８）。
【００６２】
通信データを受信する際の通信ミドルウェアの処理フローを図７に示す。
【００６３】
通信ミドルウェアがデータを受信する（ステップＳ７０１）。受信したデータのヘッダ部から暗号化方式の情報を抽出する（ステップＳ７０２）。
【００６４】
次に抽出したデータから暗号化されたものか否かを判断する（ステップＳ７０３）。暗号化されたデータだった場合、受信したデータを復号化し（ステップＳ７０４）、アプリケーションにデータを渡す（ステップＳ７０５）。暗号化がなされていないデータだった場合、そのままアプリケーションにデータを渡す（ステップＳ７０５）。
【００６５】
サービスを提供するアプリケーションがアウトプットデータを送信する際の通信ミドルウェアの処理フローを図８に示す。アプリケーションが提供サービスの処理を完了し、リプライポートを指定してアウトプットデータを送信すると、通信ミドルウェアはアウトプットデータの送信処理を行う。
【００６６】
まずアウトプットデータの通信先リプライポートがリモートマシンかどうかを判断する（ステップＳ８０１）。
【００６７】
ローカルマシン内のポートだった場合、アウトプットデータをそのまま送信し（ステップＳ８１２）、送信指示したアプリケーションに対し正常に送信処理した旨を通知する（ステップＳ８１３）。
【００６８】
リプライポートがリモートマシンだった場合は、ローカルマシンの符号化対象管理部で保持しているデータタイプ符号化対象情報から送信するアウトプットデータの型を検索する（ステップＳ８０２）。そして、アウトプットデータタイプが符号化対象情報に含まれているか判断する（ステップＳ８０３）。含まれていた場合は、ローカルマシンの符号化処理部にてアウトプットデータを暗号化処理し（ステップＳ８０８〜Ｓ８１１）、指定されたリプライポートにデータ送信する（ステップＳ８１２、Ｓ８１３）。
【００６９】
ローカルマシンの符号化対象管理部で保持しているサービス符号化対象情報に当該サービスを検索し（ステップＳ８０４）、サービスが符号化対象情報に含まれているか判断する（ステップＳ８０５）。含まれていた場合は、更にアウトプットデータの暗号化指定を取得して（ステップＳ８０６）、アウトプットデータの暗号化を判断する（ステップＳ８０７）。暗号化指定があった場合は、ローカルマシンの符号化処理部にてアウトプットデータを暗号化処理し（ステップＳ８０８〜Ｓ８１１）、指定されたリプライポートにデータ送信する（ステップＳ８１２、Ｓ８１３）。
【００７０】
暗号化指定がなかった場合は、アウトプットデータをそのまま送信し（ステップＳ８１２）、送信指示したアプリケーションに対し正常に送信処理した旨を通知する（ステップＳ８１３）。
【００７１】
符号化処理部は、符号化対象情報から利用サービスやアウトプットデータタイプ毎に設定されている暗号化方式を取得し（ステップＳ８０８）、指定された方式で暗号化する（ステップＳ８１０）。また、暗号化キーは暗号化キー管理部が保持するキーを用いる（ステップＳ８０９）。そして暗号化したデータを送信する際は、送信ヘッダへ暗号化方式を代入し（ステップＳ８１１）、ヘッダと暗号化されたアウトプットデータをデータ送信する（ステップＳ８１２）。
【００７２】
ところで、図５の通信ミドルウェア構成の符号化対象管理部は、暗号化対象のデータタイプやサービスを管理しているが、圧縮対象のデータタイプやサービスを含めて管理してもよい。圧縮対象情報を含めて管理することにより、暗号化または圧縮処理を通信ミドルウェア内で行うことができる。
【００７３】
更に、マニュフェストにデータタイプやサービスの圧縮指定を追加記載することにより、圧縮処理も可能になる。マニュフェストの記載において、１つのデータタイプや１つのサービスに対して暗号化と圧縮の両方を指定することにより、圧縮処理を施したデータに対して更に暗号化することが可能になる。
【００７４】
また、マニュフェストの記述において圧縮のみを符号化対象として指定することにより圧縮処理を通信ミドルウェア内で行うことができる。
【００７５】
図６のサービスのインプットデータ送信処理フローにおいて、ローカルマシンとリモートマシンの違いによって符号化を施す判断を行っている（ステップＳ６０７、Ｓ６１１）。本判断を同一ドメインか他ドメインかの区別を行うように変更することにより、ドメインが異なった場合に暗号化や圧縮することができる。
【図面の簡単な説明】
【００７６】
【図１】本発明を適用した選択的に符号化を行うデータ通信システムの構成図である。
【図２】本発明の実施の形態に係るバンドルを説明するための図である。
【図３】本発明の実施の形態に係る通信ミドルウェアの構成を示す図である。
【図４】本発明の実施の形態に係るデータ通信システムにおける通信制御手順を説明するための図である。
【図５】本発明の実施の形態に係る通信ミドルウェアの詳細構成及び管理する管理情報を説明するための図である。
【図６】本発明の実施の形態におけるサービスのインプットデータ送信処理を説明するためのフローチャートである。
【図７】本発明の実施の形態における受信データの処理を説明するためのフローチャートである。
【図８】本発明の実施の形態に係るサービスのアウトプットデータ送信処理を説明するためのフローチャートである。
【図９】本発明の実施の形態が動作する装置の構成を示す図である。
【符号の説明】
【００７７】
１０１、１０４、１０５  通信ミドルウェアを利用するアプリケーション（アプリケーション）
１０２、１０６  通信ミドルウェア
３０１  サービスポート
３０２  サービス管理テーブル
３０３  リプライポート
３０４  サービス利用管理テーブル
５０１  マシン構成管理部
５０２  アプリケーション管理部
５０３  サービス管理部
５０４  符号化対象管理部
５０５  サービス検索部
５０６  符号化判断部
５０７  符号化処理部
５０８  暗号化キー管理部
５０９  通信制御部
５１０  データ種別判断部
５１１  復号化処理部
【図１】
2008245039.tif 000003
【図２】
2008245039.tif 000004
【図３】
2008245039.tif 000005
【図４】
2008245039.tif 000006
【図５】
2008245039.tif 000007
【図６】
2008245039.tif 000008
【図７】
2008245039.tif 000009
【図８】
2008245039.tif 000010
【図９】
2008245039.tif 000011