(57)【要約】【課題】データ種類や情報共有に関する品質要求に応じて、他の装置との間でデータを共有することを可能にする。【解決手段】グループマネジメントサービス部１７は、データ種類と情報共有に関する品質要求を示すデータを含む共有グループ情報を共有グループ情報記憶部１８に記憶し、この共有グループ情報に該当するデータを共有する情報共有グループを管理する。情報共有ミドルウェア１６は、他のクライアント１０との間で、相互に更新情報を送受信して共有グループ別にデータを更新する。【選択図】      図２
2007207013.tif 000002
【特許請求の範囲】
【請求項１】
通信網を介した通信を制御する通信制御手段と、
前記通信制御手段の制御によって通信可能な他の装置の間で、データ種類と情報共有に関する品質要求を示すデータを含む共有グループ情報に基づいて、前記共有グループ情報に該当するデータを共有する共有グループを管理する共有グループ管理手段と、
データを入力する入力手段と、
前記入力手段により入力されたデータを前記共有グループ管理手段により管理されたグループ別に記憶する記憶手段と、
前記記憶手段に記憶されたデータに対する更新による更新情報を、前記共有グループ別に記憶する更新情報記憶手段と、
前記更新情報記憶手段により記憶された更新情報を、前記通信制御手段の制御により、前記共有グループに含まれる他の装置に送信する更新情報送信手段と、
前記通信制御手段の制御により他の装置から更新情報を受信する更新情報受信手段と、
前記更新情報受信手段により受信された更新情報をもとに前記記憶手段により記憶された前記他の装置が含まれる共有グループに対応するデータを更新する更新手段と
を具備したことを特徴とする情報処理装置。
【請求項２】
前記情報共有に関する品質要求には、緊急度、優先度、確実性、受領確認要求の有無、または整合の要否のデータの何れかを選択的に含むことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記共有グループ情報の前記情報共有に関する品質要求に受領確認要求があった場合、前記更新情報受信手段による更新情報の受信に対して、前記他の装置に受領確認通知を送信することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記更新情報送信手段は、前記共有グループ情報の前記情報共有に関する品質要求に確実性の整合要求があった場合に、定期的に前記更新情報記憶手段に記憶された更新情報についての一定時間内における更新状況を示すデータを送信し、
前記更新情報受信手段は、前記更新情報送信手段によって送信された更新状況を示すデータに対して、前記他の装置から送信された更新情報を受信し、
前記更新手段は、前記更新情報受信手段により受信された更新情報をもとに、前記記憶手段により記憶されたデータを更新することを特徴とする請求項１記載の情報処理装置。
【請求項５】
コンピュータを、
通信網を介した通信を制御する通信制御手段と、
前記通信制御手段の制御によって通信可能な他の装置の間で、データ種類と情報共有に関する品質要求を示すデータを含む共有グループ情報に基づいて、前記共有グループ情報に該当するデータを共有する共有グループを管理する共有グループ管理手段と、
データを入力する入力手段と、
前記入力手段により入力されたデータを前記共有グループ管理手段により管理されたグループ別に記憶する記憶手段と、
前記記憶手段に記憶されたデータに対する更新による更新情報を、前記共有グループ別に記憶する更新情報記憶手段と、
前記更新情報記憶手段により記憶された更新情報を、前記通信制御手段の制御により、前記共有グループに含まれる他の装置に送信する更新情報送信手段と、
前記通信制御手段の制御により他の装置から更新情報を受信する更新情報受信手段と、
前記更新情報受信手段により受信された更新情報をもとに前記記憶手段により記憶された前記他の装置が含まれる共有グループに対応するデータを更新する更新手段として機能させるための情報共有プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、他の装置と情報を共有する情報処理装置、情報共有プログラムに関する。
【背景技術】
【０００２】
従来、ネットワークを介して接続された複数の装置間で情報を共有するシステムが考えられている（例えば、特許文献１参照）。
【０００３】
特許文献１に記載されたシステムでは、ネットワークを介して情報を送受できる複数のコンピュータを有するグループがあって、各コンピュータは、特定ディレクトリ内のファイルに関する情報を指示されたＩＰアドレスに送るプログラム、受信したディレクトリ内ファイル情報と自分の特定ディレクトリにあるファイルに関する情報から不足しているファイルを抽出し、「受信したディレクトリ内ファイル情報」の送信元コンピュータに不足ファイル情報を回答するプログラム、受信した不足ファイル情報を読みこみ、特定ディレクトリにあり不足ファイルとして指定されたファイルをコピーし、指示されたＩＰアドレスのコンピュータの特定ディレクトリに自動的に送るプログラムを有している。
【０００４】
特許文献１に記載されたシステムでは、各コンピュータは、他のコンピュータから特定ディレクトリ内のファイルに関する情報を受信すると、この情報をもとに不足している情報を抽出して不足ファイル情報を送信元のコンピュータに回答する。そして、送信元のコンピュータから不足ファイルを受信して記憶する。これにより、複数のコンピュータにおいて同じ情報を記憶することができる。
【特許文献１】特開２００３−１４１００８公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このように従来の特許文献１に記載されたシステムでは、ネットワークを介して接続された他のコンピュータと情報を共有することができるが、データ種類や情報共有に関する品質要求に基づいてデータを共有することができなかった。
【０００６】
本発明の課題は、データ種類や情報共有に関する品質要求に応じて、他の装置との間でデータを共有することが可能な情報処理装置、情報共有プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、通信網を介した通信を制御する通信制御手段と、前記通信制御手段の制御によって通信可能な他の装置の間で、データ種類と情報共有に関する品質要求を示すデータを含む共有グループ情報に基づいて、前記共有グループ情報に該当するデータを共有する共有グループを管理する共有グループ管理手段と、データを入力する入力手段と、前記入力手段により入力されたデータを前記共有グループ管理手段により管理されたグループ別に記憶する記憶手段と、前記記憶手段に記憶されたデータに対する更新による更新情報を、前記共有グループ別に記憶する更新情報記憶手段と、前記更新情報記憶手段により記憶された更新情報を、前記通信制御手段の制御により、前記共有グループに含まれる他の装置に送信する更新情報送信手段と、前記通信制御手段の制御により他の装置から更新情報を受信する更新情報受信手段と、前記更新情報受信手段により受信された更新情報をもとに前記記憶手段により記憶された前記他の装置が含まれる共有グループに対応するデータを更新する更新手段とを具備したことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、データ種類と情報共有に関する品質要求を示すデータを含む共有グループ情報に基づいて、この共有グループ情報に該当するデータを共有する共有グループを管理し、他の装置との間で更新情報を送受信して共有グループ別にデータを更新するので、データ種類や情報共有に関する品質要求に応じて、他の装置との間でデータを共有することが可能となるものである。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の実施の形態について説明する。
【００１０】
図１は、本実施形態におけるネットワークシステムの構成を示す図である。
【００１１】
本実施形態におけるネットワークシステムでは、データベース等のサーバ装置を介さず、クライアント１０間で直接、通信網１４を介して通信することにより、同じデータを記憶（データ共有）する。本実施形態では、各クライアント１０において情報共有ミドルウェアを機能させることにより、情報共有サービス１２が提供される。
【００１２】
本発明はプラットホームに依存するものではなく、クライアント１０は、ＰＣ端末、ＰＤＡ（personal digital assistant）端末、ネットワークシステム中のＰＣ端末、ＧＰＳ（Global Positioning System）用センサ、データベースサーバなど、どのような種類の情報処理装置であっても良い。各種プラットフォームに対応した情報共有ミドルウェア（プログラム）を用意することにより、クライアント１０のアプリケーションは、プラットフォームによらず同一のインターフェースを用いて情報共有を行うことができる。
【００１３】
本実施形態における情報共有サービス１２とは、（Ａ）データ共有するクライアント１０の範囲（グループ）、（Ｂ）共有するデータ種類、（Ｃ）緊急度及び確実性など情報共有に関する品質の３つの指定に従って、情報共有ミドルウェアが自動的に各クライアント１０の持つデータを互いに送受信することにより、自動的にクライアント１０間でデータが共有されるサービスである。
【００１４】
情報共有ミドルウェアは、物理的には各クライアント１０内に存在しているが、各クライアント１０内の情報共有ミドルウェアが互いに連携して動作することにより、情報共有サービスをクライアント１０に提供する。
【００１５】
これにより、クライアント１０を利用するユーザは、どこにデータを送ればよいか、どこからデータを入手すればよいかなどを意識することなく、必要な情報を必要な品質で自動的に共有することができる。
【００１６】
本実施形態におけるネットワークシステムでは、複数のクライアント１０が通信網１４を介して相互に接続される。通信網１４は、無線及び有線、移動体及び固定の既存の各種通信回線を含む。本実施形態では、例えば無線機を使用したデータ通信、銅線を介して接続された２点間をＡＤＳＬ（Asymmetric Digital Subscriber Line）或いはＳＤＳＬ（Symmetric Digital Subscriber Line）モデムを用いて接続した通信、携帯電話機或いは固定電機話を使用した２点間の回線交換或いはパケット通信、通信衛星を使用した２点間のパケット通信、無線及び有線ＬＡＮによる通信、インターネットやイントラネット、イーサネット（登録商標）などを介した通信を行う通信網１４を対象とすることができる。
【００１７】
クライアント１０は、情報共有ミドルウェアにより、情報共有グループに属することができる。また、各クライアント１０は、１つの情報共有グループだけでなく、共有しようとするデータのデータ種類や情報共有に関する品質要求に応じた複数の情報共有グループに属することができる。
【００１８】
図２は、本実施形態におけるクライアント１０の機能構成を示すブロック図である。
【００１９】
クライアント１０には、情報共有ミドルウェア１６（グループマネジメントサービス部１７、共有グループ情報記憶部１８、データマネージャ部２０、メモリ２２、通信クラス部２４、ＣＯＲＢＡ（Common Object Request Broker Architecture）部２６（ネーミングサービス部２７）、ネットワーク情報記憶部２８）、ＴＣＰ（transmission control protocol）／ＩＰ（internet protocol）部３０、及びインタフェース３２が設けられている。
【００２０】
情報共有ミドルウェア１６は、クライアント１０において情報共有ミドルウェアプログラムを実行することにより実現される機能であり、他の情報処理装置との通信により情報共有サービス１２を提供する。
【００２１】
グループマネジメントサービス部１７は、グループ管理アプリケーションからの要求に応じて、情報共有グループを管理するための共有グループ情報の更新処理を実行する。共有グループ情報の詳細については後述する（図３参照）。なお、グループ管理アプリケーションは、ユーザインターフェースを提供するもので、ユーザからの各種指示やデータの入力等を行う。
【００２２】
共有グループ情報記憶部１８は、グループマネジメントサービス部１７により管理される共有グループ情報が記憶される。
【００２３】
データマネージャ部２０は、ＯＳＩ基本参照モデル（OSI Basic Reference Model）（以下、ＯＳＩモデルと称する）のプレゼンテーション層に該当する機能であり、他の装置との間で送受信されるデータを処理する。データマネージャ部２０は、他の装置との間で共有されるデータを、データの種類を表すデータ（番号）を含む共通の形式、すなわちデータオブジェクトとしてメモリ２２に記憶させる。データマネージャ部２０は、更新情報記憶部２０ａにおいて、メモリ２２に記憶されたデータが変更されることによる更新情報（差分情報）を記憶する。更新情報（差分情報）は、所定のデータ構造（例えば配列構造）によって更新情報記憶部２０ａに記憶される。
【００２４】
通信クラス部２４とＣＯＲＢＡ部２６は、ＯＳＩモデルのセッション層に相当する機能であり、下位層のインタフェースによって接続される複数の異なる通信網を介した通信を制御する。すなわち、上位からのＱｏＳ（quality of service）要求と下位で使用する通信網の特性の組み合わせにより最適な通信網、プロトコルを判断し、バケツリレー方式でデータを送受信することで経路制御を実現する。通信クラス部２４は、情報の構造変換や通信時間の削減を目的としたデータ圧縮／伸張（復号）などを実行する。ＣＯＲＢＡ部２６は、ネットワーク上の他の装置で動作しているオブジェクト間で情報を送受信するための制御をする。ＣＯＲＢＡ部２６は、ネーミングサービス部２７に対して、データの送信対象とする情報共通グループに応じた宛先ＩＰアドレスを問い合わせ、この宛先ＩＰアドレスに応じたイベントチャンネルを使用してデータを配布する。
【００２５】
ネーミングサービス部２７は、ＣＯＲＢＡ部２６の問い合わせに応じて、ネットワーク情報記憶部２８に記憶されたネットワーク情報と予め与えられたルールに基づいて、情報の送信先とする最適な宛先ＩＰアドレスの組み合わせを選択する。
【００２６】
ネットワーク情報記憶部２８は、ネーミングサービス部２７により、データの送信対象とする情報共通グループに応じた宛先ＩＰアドレスを決定するために参照される各種ネットワークに関するデータが記憶される（詳細については後述する（図４参照））。
【００２７】
ＴＣＰ／ＩＰ部３０は、ＯＳＩモデルのトランスポート層及びネットワーク層に相当する機能であり、各装置に割り当てられた固有のＩＰアドレスをもとに、ＩＰを使って構築されたネットワーク上で他の装置との通信を制御する。ＴＣＰ／ＩＰ部３０のトランスポート層（ＴＣＰ）のプロトコルとして、ＵＤＰ（User Datagram Protocol）を使用する。  インタフェース３２は、ＴＣＰ／ＩＰ部３０と通信網１４とを接続する。
【００２８】
図３は、共有グループ情報記憶部１８に記憶される共有グループ情報１８ａの一例を示す図である。  
共有グループ情報１８ａには、情報共有グループ毎のグループ名と共有グループに参加するクライアントのホスト名あるいはユーザ名の対応を示すデータが含まれる。各情報共有グループに対しては、データ種類（共有するデータの詳細レベル（概要のみか詳細まで必要か）を含む）を示すデータ、情報共有に関する品質要求を示すデータ、該当する情報共有グループが共有するデータをメモリ２２に記憶するためのデータオブジェクトを示すデータとが対応付けられている。情報共有に関する品質要求には、例えば（ａ）緊急度（一定時間内に届けることを保障するか否か）、（ｂ）優先度（どのデータを優先して届けるか）、（ｃ）確実性（時間がかかっても必ず届けるか時間がたったら捨てるかなど）、（ｄ）受領確認（相手に届いたことの確認が必要か否か）、（ｅ）整合の要否などを示すデータが含まれる。情報共有に関する品質要求は、前述した（ａ）〜（ｅ）の全てが含まれている必要はなく、これらの中から選択的に適用するようにしても良い。また、前述した（ａ）〜（ｅ）以外の品質要求を対象とすることも可能である。
【００２９】
グループマネジメントサービス部１７は、共有グループ情報記憶部１８に複数の情報共有グループに関する共有グループ情報１８ａを記憶することにより、複数の情報共有グループを管理することができる。また、共有グループ情報１８ａを更新することによって動的に情報共有グループを変更することができる。
【００３０】
図４は、ネットワーク情報記憶部２８において記憶されるネットワーク情報２８ａの一例を示す図である。  
ネットワーク情報２８ａでは、情報共有グループ毎に、クライアント１０に割り当てられたＩＰアドレス（ユニキャストアドレス、作成済みのマルチキャストアドレス）、接続している通信網の種類、通信網に接続しているノード数、網構成などのデータが記憶されている。
【００３１】
次に、本実施形態におけるクライアント１０の動作について説明する。  
本実施形態におけるクライアント１０は、例えば次のような場面（１）（２）で使用することができる。
【００３２】
（１）端末をクライアント１０として情報共有を行う。
【００３３】
ＰＣ等の端末に情報共有ミドルウェア１６を導入し、キーボード等の入力装置を用いて入力された情報を、同一の情報共有グループに属するクライアント１０に配信する、あるいは配信され共有されたデータをディスプレイ等に出力する。
【００３４】
（２）センサなどの入出力装置をクライアント１０として情報共有を行う。
【００３５】
センサなどの各種入出力装置に情報共有ミドルウェアを導入し、入出力装置間で情報を共有することができる。また、この情報共有グループにＰＣ等の端末を参加させることにより、共有された情報を参照、処理することができる。
【００３６】
なお、前述した（１）（２）以外の場面においても使用することが可能である。
【００３７】
次に、本実施形態におけるクライアント１０の情報共有サービスを提供するための動作について説明する。
【００３８】
（１）共有グループ管理  
ユーザインターフェースを提供するグループ管理アプリケーションからの要求により、グループマネジメントサービス部１７が共有グループ情報記憶部１８に記憶された共有グループ情報に対する更新処理を行う。共有グループ情報には、次の３つのデータが管理されており、これらの条件が１つでも異なれば別のグループとして認識される。１つのクライアント１０は複数のグループに参加が可能である。
【００３９】
（Ａ）グループ名と共有グループに参加するクライアントのホスト名あるいはユーザ名の対応を含む情報共有グループ名（論理的な名称であるグループ名、ホスト名やユーザ名と物理的実体を示すＩＰアドレスとの対応付けはネーミングサービス部２７が実施する）。
【００４０】
（Ｂ）共有するデータの種類やレベル（概要のみか詳細まで必要か）。
【００４１】
（Ｃ）緊急度（一定時間内に届けることを保障するか否か）、優先度（どのデータを優先して届けるか）、確実性（時間がかかっても必ず届けるか時間がたったら捨てるか）、受領確認（相手に届いたことの確認が必要か否か）、整合の要否など情報共有に関する品質要求。
【００４２】
共有グループ管理には、新たにクライアントが情報共有グループに参加するなど既にあるグループに対して、前述した（Ａ）（Ｂ）（Ｃ）のデータの何れかを更新する場合、新たに情報共有グループを作成するため（Ａ）（Ｂ）（Ｃ）を新規に登録する場合、共有グループを削除する場合の３つがある。
【００４３】
なお、本実施形態では、各クライアント１０において、グループ管理アプリケーションを動作させ、各クライアント１０がグループ管理を行うとしているが、特定のクライアントのみで動作させ共有グループ管理を集中的に実施するようにしても良い。
【００４４】
（２）グループマネジメントサービス処理  
次に、情報共有グループを管理するためのグループマネジメント処理について、図５に示すフローチャートを参照しながら説明する。
【００４５】
グループマネジメントサービス部１７は、共有グループ管理の要求をグループ管理アプリケーション、あるいはＣＯＲＢＡ部２６を通じて受信される他のクライアント１０から受信すると（ステップＡ１）、その要求が情報共有グループの更新、新規登録、削除の何れであるかを判別する。
【００４６】
ここで受信された要求が情報共有グループの更新である場合（ステップＡ２、Ｙｅｓ）、グループマネジメントサービス部１７は、共有グループ情報を更新するために入力される（Ａ）（Ｂ）（Ｃ）の何れかのデータを、共有グループ情報記憶部１８に記憶された自身の共有グループ情報に登録（更新）する（ステップＡ１０）。
【００４７】
グループマネジメントサービス部１７は、データマネージャ部２０に対して、更新された共有グループ情報に対応する情報共有グループで共有されるデータを記憶するためのデータオブジェクトの生成を要求する（ステップＡ１１）。データマネージャ部２０は、この要求に対してデータオブジェクトを生成してメモリ２２に記憶させる。
【００４８】
また、受信された要求が情報共有グループの新規作成である場合（ステップＡ３、Ｙｅｓ）、グループマネジメントサービス部１７は、データマネージャ部２０に対して、新規登録された共有グループ情報に対応する情報共有グループで共有されるデータを記憶するためのデータオブジェクトの生成を要求する（ステップＡ７）。データマネージャ部２０は、この要求に対してデータオブジェクトを生成してメモリ２２に記憶させる（ステップＡ８）。
【００４９】
また、グループマネジメントサービス部１７は、共有グループ情報の新規作成のために入力される（Ａ）（Ｂ）（Ｃ）のデータを、共有グループ情報記憶部１８に新規登録する（ステップＡ９）。
【００５０】
一方、受信された要求が情報共有グループの削除である場合（ステップＡ３、Ｎｏ）、グループマネジメントサービス部１７は、データマネージャ部２０に対して、削除要求された情報共有グループに対応するデータオブジェクトの削除を要求する（ステップＡ４）。データマネージャ部２０は、この要求に対してデータオブジェクトをメモリ２２から削除する（ステップＡ５）。
【００５１】
また、グループマネジメントサービス部１７は、共有グループ情報記憶部１８から削除される情報共有グループに対応する共有グループ情報１８ａを削除する（ステップＡ６）。
【００５２】
なお、グループマネジメント処理によって共有グループ情報が変更（更新、新規、削除）されることで、情報共有グループが変更されると、グループマネジメントサービス部１７は、ＣＯＲＢＡ部２６を通じて、全クライアントにブロードキャストし、お互いの共有グループ情報の同期を行う。
【００５３】
このようして、前述した（Ａ）（Ｂ）（Ｃ）を含む共有グループ情報１８ａを変更することにより、情報共有グループを管理することが可能となる。
【００５４】
（３）送信処理  
次に、データを他のクライアントに送信するための送信処理について、図６に示すフローチャートを参照しながら説明する。
【００５５】
まず、クライアント１０に接続されたＩＯ装置１２から（例えばＰＣのキーボードが操作されることにより）データが入力されると、データマネージャ部２０は、データを入力したアプリケーションに応じて、メモリ２２に記憶されたデータオブジェクト（データ保存領域）に、入力されたデータを記憶させる。例えば、アプリケーションＡによりデータが入力された場合、データオブジェクトＡにデータが入力される。
【００５６】
データマネージャ部２０は、データオブジェクトの状態を常に監視しており（ステップＢ１）、データが変更されることによる更新情報があればデータオブジェクトから取得し、更新情報を更新情報記憶部２０ａに記憶させる（ステップＢ３）。
【００５７】
また、データマネージャ部２０は、データが入力されたデータオブジェクトに対応する共有グループ情報に基づいたヘッダ（情報共有グループ名、データ種類、情報共有に関する品質要求）を、更新情報に付加して通信クラス部２４にデータを渡す（ステップＢ４）。
【００５８】
通信クラス部２４は、配列等の構造を持つ更新情報を直列化して通信情報に変換した後、通信データ量を削減するためデータ圧縮し、さらに暗号化などの処理を実施する（ステップＢ５）。そして、ＣＯＲＢＡ部２６が理解するデータ形式に変換すると同時に、情報共有に関する品質を通信に対するＱｏＳ要求に変換してヘッダとして付加し（ステップＢ６）、ＣＯＲＢＡ部２６にデータを渡す。
【００５９】
ＣＯＲＢＡ部２６は、更新情報に付加された情報共有グループ名をもとに、データの送信先を示す宛先ＩＰアドレスを求めるため、ネーミングサービス部２７に問い合わせを行う。
【００６０】
ネーミングサービス部２７は、情報共有グループ名（クライアントのホスト名あるいはユーザ名）と、ネットワーク情報記憶部２８に記憶されたネットワーク情報（ノードのユニキャストアドレス、作成済みのマルチキャストアドレス、接続している通信網の種類、ノード数、網構成等）と、予め与えられたルールに基づいて、最適な宛先ＩＰアドレス（ユニキャスト、マルチキャスト）の組み合わせを選択する。
【００６１】
例えば、無線機通信網と比較して安定した高速データ通信が可能な電話回線網や無線ＬＡＮ通信網に含まれる複数のクライアント１０に対してはマルチキャストにより送信し、不安定な無線機通信網に含まれるクライアント１０に対してはユニキャストにより個別に送信する。基本的には、データ送信数が少なくなるように宛先ＩＰアドレスの組み合わせを選択するルールが設定されているものとする。
【００６２】
無線機通信網に含まれるクライアント１０に対しては、送信したデータが通信経路中で消失するおそれがあるが、この場合にはデータ整合処理により回復されるので問題がない（詳細については後述する）。
【００６３】
ＣＯＲＢＡ部２６は、ネーミングサービス部２７によって選択された宛先ＩＰアドレス（ユニキャスアドレス、マルチキャストアドレス）をＱｏＳ要求とともにヘッダに付加して、ＴＣＰ／ＩＰ部３０にデータを渡す（ステップＢ８）。
【００６４】
ＴＣＰ／ＩＰ部３０及びインタフェース３２では、この宛先ＩＰアドレスに基づきＩＰパケットとして、このデータを送信先の各種通信網に送信する（ステップＢ９）。
【００６５】
なお、ヘッダとしてデータに付加した情報共有に関する品質要求に、（ｄ）受領確認（相手に届いたことの確認が必要か否か）が含まれている場合、送信先のクライアント１０から受信確認通知が送信される。
【００６６】
クライアント１０は、ＣＯＲＢＡ部２６、通信クラス部２４、データマネージャ部２０を通じて受領確認通知を取得し、データマネージャ部２０によりデータオブジェクト内にある受領確認領域に受け取った受領確認通知の送信元のホスト名あるいはユーザ名を記述しておく（ステップＢ１１）。
【００６７】
次に、他のクライアントからデータを受信するための受信処理について、図７に示すフローチャートを参照しながら説明する。
【００６８】
クライアント１０は、通信網１４と接続されたインタフェース３２、ＴＣＰ／ＩＰ部３０を通じて、ヘッダの宛先ＩＰアドレスが自装置を示すデータを受信する（ステップＣ１，Ｃ２）。ＣＯＲＢＡ部２６は、ＴＣＰ／ＩＰ部３０を通じてデータを受信する。
【００６９】
ＣＯＲＢＡ部２６は、受信したデータから上位層の処理で不要な通信用のヘッダ部分を削除し、通信クラス部２４に出力する（ステップＣ３）。
【００７０】
通信クラス部２４は、受信したデータを圧縮状態から復元し、直列化されたデータを構造化された元の更新情報に戻し、データマネージャ部２０に出力する（ステップＣ４，Ｃ５）。
【００７１】
データマネージャ部２０は、更新情報に付加された情報共有グループ名とデータ種類、及び情報共有に関する品質をもとにデータを記憶させるべきデータオブジェクト（記憶領域）を選択し、この選択したデータオブジェクトにデータを記憶させる（ステップＣ７）。これと同時にデータマネージャ部２０は、更新情報記憶部２０ａに更新情報を記録しておく（ステップＣ７）。
【００７２】
また、情報共有に関する品質要求に（ｄ）受領確認が含まれている場合（ステップＣ８、Ｙｅｓ）、データマネージャ部２０は、データオブジェクトの更新と共に、受領確認通知を送信元のクライアント１０に通信クラス部２４、ＣＯＲＢＡ部２６を経由して送信する（ステップＣ９）。
【００７３】
（４）データ整合処理  
本実施形態におけるクライアント１０（情報共有ミドルウェア１６）は、共有グループ情報の情報共有に関する品質要求に、（ｃ）確実性の整合要求があった場合にデータ整合処理を実施する。
【００７４】
データ整合処理では、各クライアント１０がそれぞれの更新情報記憶部２０ａに記憶された更新情報の一覧（例えば、更新時刻一覧）を同一情報共有グループ内の各クライアント１０に対して送信する（データ整合要求側）。更新情報の一覧を受信した同一情報共有グループ内のクライアント１０（データ提供側）は、自身が持つ更新情報の時刻と受け取った時刻一覧を比較し、時刻一覧にないデータを自分が持っている場合は、不整合データを同じ情報共有グループ内の他のクライアント１０に送信して、更新させることでデータ整合を図る。
【００７５】
図８は、クライアント１０（データ整合要求側）により実行されるデータ整合処理、図９は、クライアント１０（データ提供側）により実行されるデータ整合処理を説明するためのフローチャートを示している。
【００７６】
データ整合要求側のデータマネージャ部２０−１は、一定時間が経過する毎（例えば１０分毎（任意に設定可能とする））に（ステップＤ１、Ｙｅｓ）、現在時刻から過去一定時間（例えば６０分（任意に変更可能とする））の更新情報の更新時刻一覧を更新情報記憶部２０ａに記録された更新情報をもとに作成する。
【００７７】
そして、データマネージャ部２０−１は、同一情報共有グループ名を示すヘッダを更新時刻一覧のデータに付与して通信クラス部２４−１に出力する。通信クラス部２４−１から下位層の各部は、データに付与されたヘッダに応じて情報共有グループに属する他のクライアント１０に対して更新時刻一覧のデータを配信する（ステップＤ２）。
【００７８】
一方、データ提供側のクライアント１０により更新時刻一覧のデータが受信されると（ステップＥ１）、データマネージャ部２０−２は、その更新時刻一覧と自身の更新情報記憶部２０ａ−２に記憶された更新情報とを比較する（ステップＥ２）。
【００７９】
この比較の結果、データマネージャ部２０−２は、更新時刻一覧に該当しない更新情報を自身が記憶していた場合には（ステップＥ３、Ｙｅｓ）、同一の情報共有グループ名のヘッダを、更新情報記憶部２０ａに記憶されていた該当する更新情報に付与して通信クラス部２４−２に出力する。
【００８０】
通信クラス部２４−２から下位層の各部は、更新情報に付与されたヘッダに応じて情報共有グループに属する他のクライアント１０に対して更新情報のデータを送信する（ステップＥ４）。
【００８１】
データ整合要求側のクライアント１０では他のクライアント１０から更新情報のデータを受信すると（ステップＤ３、Ｙｅｓ）、データマネージャ部２０−１は、その更新情報と更新情報記憶部２０ａ−１に記憶された更新情報とを比較し、受信した更新情報を記憶していなければ（ステップＤ４、Ｙｅｓ）、この更新情報と受信した更新情報とをマージしてメモリ２２の該当するデータオブジェクトに記憶する（ステップＤ５）。
【００８２】
以上の処理を同一情報共有グループ内に属するクライアント１０の間で相互に実行することにより、相互に不足する更新情報が他のクライアント１０から補完されることにより、他のクライアント１０との間で通信が可能となった時点でデータの整合性を確保することが可能となる。
【００８３】
このようにして、本実施形態におけるシステムでは、各クライアント１０で実行される情報共有ミドルウェアを導入し、情報共有サービス１２を実現することによって、共有グループ情報で管理される３つのデータ（図３に示す情報共有グループ名、データ種類、情報共有に関する品質要求の指定）に従って、クライアント１０間で自動的に通信が行なわれ情報が共有されるため、クライアント１０を使用するユーザは、送受信の操作又は処理を意識する必要がなく、多種多様なデータが大量に発生した場合も本来の業務に専念することができる。
【００８４】
また、複数の情報共有グループを持つことが可能であり、情報共有グループの動的変更も可能となっている。また、情報共有グループ内のクライアント１０においてデータが更新された場合、そのデータが更新されたクライアント１０から直接、同一情報共有グループ内の他のクライアント１０に送信されるため、受信側でも即時にデータが更新される。
【００８５】
また、クライアント１０同士の通信によりデータ共有を実現しているので、データベースサーバ等が不要である。データベースサーバを使用したデータ共有の場合、サーバが故障するとデータ共有ができなくなるが、本実施形態における情報共有サービス１２であれば、１台のクライアント１０が故障したとしても他のクライアント１０には影響しない。
【００８６】
また、従来のデータベースサーバをクライアント１０の一つとして利用し、データベースサーバにデータを送信して蓄積しておくことにより、共有されているデータ以外に必要なデータが発生した場合は、データベースを検索することによりデータを取得することも可能である。
【００８７】
さらに、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組み合わせにより種々の発明が抽出され得る。例えば、実施の形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題の少なくとも１つが解決でき、発明の効果の欄で述べられている効果の少なくとも１つが得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００８８】
また、前述した各実施形態において記載した処理は、コンピュータに実行させることのできるプログラムとして、例えば磁気ディスク（フレキシブルディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリなどの記録媒体に書き込んで各種装置に提供することができる。また、通信媒体により伝送して各種装置に提供することも可能である。前述した各クライアントは、記録媒体に記録された情報取得プログラムを読み込み、または通信媒体を介して情報取得プログラムを受信し、このプログラムによって動作が制御されることにより、上述した処理を実行する。
【図面の簡単な説明】
【００８９】
【図１】本実施形態におけるネットワークシステムの構成を示す図。
【図２】本実施形態におけるクライアント１０の機能構成を示すブロック図。
【図３】共有グループ情報記憶部１８に記憶される共有グループ情報１８ａの一例を示す図。
【図４】ネットワーク情報記憶部２８において記憶されるネットワーク情報２８ａの一例を示す図。
【図５】本実施形態における情報共有グループを管理するためのグループマネジメント処理について説明するためのフローチャート。
【図６】本実施形態におけるデータを他のクライアントに送信するための送信処理について説明するためのフローチャート。
【図７】本実施形態における他のクライアントからデータを受信するための受信処理について説明するためのフローチャート。
【図８】本実施形態におけるクライアント１０（データ整合要求側）により実行されるデータ整合処理について説明するためのフローチャート。
【図９】本実施形態におけるクライアント１０（データ提供側）により実行されるデータ整合処理を説明するためのフローチャート。
【符号の説明】
【００９０】
１０…クライアント、１２…情報共有サービス、１４…通信網、１６…情報共有ミドルウェア、１７…グループマネジメントサービス部、１８…共有グループ情報記憶部、２０…データマネージャ部、２０ａ…更新情報記憶部、２２…メモリ、２４…通信クラス部、２６…ＣＯＲＢＡ部、２７…ネーミングサービス部、２８…ネットワーク情報記憶部、３０…ＴＣＰ／ＩＰ部、３２…インタフェース、Ａ，Ｂ…データオブジェクト。
【図１】
2007207013.tif 000003
【図２】
2007207013.tif 000004
【図３】
2007207013.tif 000005
【図４】
2007207013.tif 000006
【図５】
2007207013.tif 000007
【図６】
2007207013.tif 000008
【図７】
2007207013.tif 000009
【図８】
2007207013.tif 000010
【図９】
2007207013.tif 000011