(57)【特許請求の範囲】
【請求項１】
相互にネットワーク接続された複数のコンピュータ間でパケットデータを送受信するデータ通信方法であって、
表現実体であるデジタル情報ファイルと、前記表現実体の表示状態を特定する表示情報ファイルと、前記表現実体の表示や各種の機能を実行するプログラムを含む動作プログラムファイルと、を単一の文書としてカプセル化したカプセル化文書における前記動作プログラムファイルの前記プログラムを、コンピュータに読み取らせることにより、
パケットデータを特定多数のコンピュータに対してマルチキャスト送信するためのマルチキャスト送信手段と、
前記パケットデータを受信するためのマルチキャスト受信手段と、
特定の前記コンピュータと１対１のユニキャスト接続でデータを送受信するためのデータ送受信手段と、を前記各コンピュータに具備させ、
コンピュータ間でのデータ送信に際し、少なくとも１以上の前記コンピュータを指定してユニキャスト接続で通信を確立する通信確立ステップと、
前記通信確立ステップにより通信が確立した少なくとも１以上の前記コンピュータに対して、マルチキャスト又はユニキャストのいずれかでデータを通信するデータ通信ステップと、をコンピュータで実現させることを特徴とするデータ通信方法。
【請求項２】
相互にネットワーク接続された複数のコンピュータ間でパケットデータを送受信するデータ通信方法であって、
パケットデータを特定多数のコンピュータに対してマルチキャスト送信するためのマルチキャスト送信手段と、
前記パケットデータを受信するためのマルチキャスト受信手段と、
特定の前記コンピュータと１対１のユニキャスト接続でデータを送受信するためのデータ送受信手段と、を前記各コンピュータに具備させ、
コンピュータ間でのデータ送信に際し、少なくとも１以上の前記コンピュータを指定してユニキャスト接続で通信を確立する通信確立ステップは、
一のコンピュータの前記マルチキャスト送信手段を用いてハンドシェイク相手を特定するための前記パケットデータである要求パケットを送信する要求信号送信ステップと、
送信されてきた前記要求パケットを他のコンピュータが前記マルチキャスト受信手段を用いて受け取る要求信号受信ステップと、
前記要求パケットを受け取った前記他のコンピュータが、前記データ送受信手段を用いて前記要求パケットを送信してきた前記一のコンピュータとのコネクションを確定するコネクション確定ステップとからなり、
前記通信確立ステップにより通信が確立した少なくとも１以上の前記コンピュータに対して、マルチキャスト又はユニキャストのいずれかでデータを通信するデータ通信ステップと、をコンピュータで実現させることを特徴とするデータ通信方法。
【請求項３】
前記マルチキャスト送信手段及び前記マルチキャスト受信手段のトランスポート層プロトコルはＵＤＰ（User Datagram Protocol）で、前記データ送受信手段のトランスポート層プロトコルはＴＣＰ（Transmission Control Protocol）／ＩＰであることを特徴とする請求項１又は２記載のデータ通信方法。
【請求項４】
前記要求パケットは、当該要求パケットを送信する前記一のコンピュータに係る属性情報と前記他のコンピュータに対する処理要求を特定する処理要求ＩＤとを含むことを特徴とする請求項２又は３記載のデータ通信方法。
【請求項５】
前記一のコンピュータに係る属性情報は、少なくとも当該コンピュータのネットワークアドレスを有していることを特徴とする請求項４記載のデータ通信方法。
【請求項６】
前記要求信号受信ステップは、受け取った前記要求パケットの内容を要求パケット送信先情報として前記要求パケットを受け取った前記コンピュータの記憶部に記憶する要求パケット送信先記憶ステップを含むことを特徴とする請求項４又は５記載のデータ通信方法。
【請求項７】
前記コネクション確定ステップは、コネクションが確定した場合に、コネクションが確定した前記他のコンピュータに係る属性情報を通信相手先情報として前記要求パケットを送信した前記一のコンピュータの記憶部に記憶する通信相手先記憶ステップを含むことを特徴とする請求項２記載のデータ通信方法。
【請求項８】
前記他のコンピュータに係る属性情報は、少なくとも当該コンピュータのネットワークアドレスを有していることを特徴とする請求項４記載のデータ通信方法。
【請求項９】
前記要求パケットを送信した前記一のコンピュータの記憶部に記憶された前記通信相手先情報を報知する通信確立相手報知ステップを含むことを特徴とする請求項８記載のデータ通信方法。
【請求項１０】
意図した前記コンピュータとのコネクションが確定していない場合、コネクションが確定していない前記コンピュータに対して前記一のコンピュータの前記データ送受信手段を用いて前記要求パケットを送信してコネクションを確定する要求信号再送信ステップを含むことを特徴とする請求項９記載のデータ通信方法。
【請求項１１】
前記データ通信ステップは、
前記一のコンピュータの前記マルチキャスト送信手段を用い、通信が確立している前記他のコンピュータに対して前記データを送信するデータ送信ステップと、
送信されてきた前記データを前記他のコンピュータが前記マルチキャスト受信手段を用いて受け取るデータ受信ステップと、
前記一のコンピュータの前記データ送受信手段を用いて前記データが前記他のコンピュータに確実に送信されたか否かを判定するデータ送信判定ステップと、
を含むことを特徴とする請求項１又は２記載のデータ通信方法。
【請求項１２】
前記データ送信判定ステップは、
前記一のコンピュータの前記データ送受信手段を用い、通信が確立している前記他のコンピュータに対してデータを送信した旨を伝える送信通知パケットを送信する送信通知送信ステップと、
送信されてきた前記送信通知パケットを前記他のコンピュータが前記データ送受信手段を用いて受け取る送信通知受信ステップと、
送信されてきた前記送信通知パケットに従って前記データが前記他のコンピュータに確実に送信されたか否かをチェックする送信状況チェックステップと、
少なくとも前記チェック結果がデータ未送信であった場合には、そのチェック結果を前記他のコンピュータの前記データ送受信手段を用いて前記一のコンピュータに対して送信する結果送信ステップと、
送信されてきた前記チェック結果を前記一のコンピュータの前記データ送受信手段を用いて受信する結果受信ステップと、
を含むことを特徴とする請求項１１記載のデータ通信方法。
【請求項１３】
前記データ送信判定ステップの判定結果がデータ未送信であった前記コンピュータに対して、前記一のコンピュータの前記データ送受信手段を用い、当該コンピュータに対して前記データを再度送信する第１のデータ再送信ステップを含むことを特徴とする請求項１１記載のデータ通信方法。
【請求項１４】
前記データ送信判定ステップの判定結果がデータ未送信であった前記コンピュータに対して、前記一のコンピュータの前記マルチキャスト送信手段を用い、通信が確立している前記他のコンピュータに対して前記データを再度送信する第２のデータ再送信ステップを含むことを特徴とする請求項１１記載のデータ通信方法。
【請求項１５】
前記一のコンピュータの前記データ送受信手段を用い、通信が確立している前記他のコンピュータに対してデータを送信した旨を伝える送信通知パケットを送信する再送信通知送信ステップを含むことを特徴とする請求項１４記載のデータ通信方法。
【請求項１６】
前記通信相手先記憶ステップで前記一のコンピュータの記憶部に記憶された前記通信相手先情報には、前記カプセル化文書に含まれる前記文書タイトルを含み、
前記通信相手先情報を参照して同一の前記文書タイトルを有する前記他のコンピュータを特定し、その特定された前記他のコンピュータにのみデータを送信する第１の特定相手データ送信ステップを含むことを特徴とする請求項７記載のデータ通信方法。
【請求項１７】
前記通信相手先記憶ステップで前記一のコンピュータの記憶部に記憶された前記通信相手先情報を参照して所望の前記他のコンピュータを特定し、その特定された前記他のコンピュータに向けてデータを送信する第２の特定相手データ送信ステップを含むことを特徴とする請求項７記載のデータ通信方法。
【請求項１８】
前記第２の特定相手データ送信ステップにおける前記データの送信は、特定された前記他のコンピュータのみに前記データ送受信手段を用いて送ることを特徴とする請求項１７記載のデータ通信方法。
【請求項１９】
前記第２の特定相手データ送信ステップにおける前記データの送信は、特定された前記他のコンピュータ向けという情報を含めて前記マルチキャスト送信手段を用いて送ることを特徴とする請求項１７記載のデータ通信方法。
【請求項２０】
前記他のコンピュータが通信環境が悪いネットワーク経路に位置するか否かを判定するネットワーク環境判定ステップと、
このネットワーク環境判定ステップにより通信環境が悪いネットワーク経路に位置すると判定された前記他のコンピュータのコンピュータに対しては、前記一のコンピュータの前記データ送受信手段を用いて前記データを送信する悪環境相手データ送信ステップと、を含むことを特徴とする請求項１１記載のデータ通信方法。
【請求項２１】
前記ネットワーク環境判定ステップにおける通信環境が悪いネットワーク経路に位置するか否かの判定は、前記データ送信判定ステップにおける判定結果に基づくことを特徴とする請求項２０記載のデータ通信方法。
【請求項２２】
送信する前記データを暗号化する暗号化ステップと、
受信した暗号化された前記データを復号する復号化ステップと、
を含むことを特徴とする請求項１〜２１のいずれか一つに記載のデータ通信方法。
【請求項２３】
他のコンピュータとネットワーク接続されるコンピュータにおいて、
前記コンピュータは、表現実体であるデジタル情報ファイルと、前記表現実体の表示状態を特定する表示情報ファイルと、前記表現実体の表示や各種の機能を実行するプログラムを含む動作プログラムファイルと、を単一の文書としてカプセル化したカプセル化文書における前記動作プログラムファイルの前記プログラムを実行して、
パケットデータを特定多数のコンピュータに対してマルチキャスト送信するためのマルチキャスト送信手段と、
前記パケットデータを受信するためのマルチキャスト受信手段と、
特定の前記コンピュータと１対１のユニキャスト接続でデータを送受信するためのデータ送受信手段と、を前記コンピュータに具備させ、
コンピュータ間でのデータ送信に際し、少なくとも１以上のコンピュータを指定して前記データ送受信手段で通信を確立する通信確立ステップと、
前記通信確立ステップにより通信が確立した少なくとも１以上のコンピュータに対して、マルチキャスト送信手段、マルチキャスト受信手段又はデータ送受信手段のいずれかでデータを通信するデータ通信ステップと、を実行することを特徴とするコンピュータ。
【請求項２４】
他のコンピュータと相互にネットワーク接続されるコンピュータに実行される、表現実体であるデジタル情報ファイルと、前記表現実体の表示状態を特定する表示情報ファイルと、前記表現実体の表示や各種の機能を実行するプログラムを含む動作プログラムファイルと、を単一の文書としてカプセル化したカプセル化文書における前記動作プログラムファイル内のプログラムであって、
パケットデータを特定多数のコンピュータに対してマルチキャスト送信するためのマルチキャスト送信機能と、
前記パケットデータを受信するためのマルチキャスト受信機能と、
特定の前記コンピュータと１対１のユニキャスト接続でデータを送受信するためのデータ送受信機能と、
コンピュータ間でのデータ送信に際し、少なくとも１以上の前記コンピュータを指定してユニキャスト接続で通信を確立させる通信確立機能と、
前記通信確立機能により通信が確立した少なくとも１以上の前記コンピュータに対して、マルチキャスト又はユニキャストのいずれかでデータを通信するデータ通信機能と、を実行させることを特徴とするプログラム。
【請求項２５】
請求項２４記載のプログラムを格納したコンピュータに読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ通信方法、コンピュータ、プログラム及び記憶媒体に関する。
【０００２】
【従来の技術】
近年の情報端末の通信機能や通信網の発達により、数多くのネットワーク対応型のアプリケーション（サービス）が提案されている。このようなネットワーク対応型のアプリケーション（サービス）としては、
（１）  電子メールに代表されるような、基本的には１対１のやり取りを行い、非同期でコミュニケーションを行うもの
（２）  ホームページ閲覧に見られるような、サーバに対して多数のクライアントが不定期にアクセスして情報を得るもの、
（３）  チャットやテレビ会議、共有ホワイトボードのように基本的に多人数で同時にコミュニケーションを行うもの
などが挙げられる。
【０００３】
現時点においては、上記（１）及び（２）に示した形式が、ネットワーク対応型のアプリケーション（サービス）の主流である。しかしながら、上記（１）及び（２）に示した形式のネットワーク対応型のアプリケーション（サービス）における情報のやりとりには専用のサーバが不可欠となっている。例えば、電子メールでは、送受信用のサーバ（メールサーバ）が必要であるし、ホームページの閲覧はそもそもサーバ（Ｗｅｂサーバ）を立てて、このサーバ（Ｗｅｂサーバ）にコンテンツをおいて不特定多数のホストからのアクセスを受け付けている。このように専用のサーバを用いるということは、サーバそのもののコストの他に、セットアップや運用のためのコスト、このサーバを管理する管理者が必要になるということであり、近年においては、専用のサーバを用いなくともコミュニケーションをとれる通信形態が望まれている。
【０００４】
一方、（３）に示したような多人数（多数のホスト）で同時に情報をやりとりするようなアプリケーション（サービス）は、テキストベースで情報のやり取りを行うチャット以外は必ずしも普及しているとは言い難い。しかしながら、ブロードバンド化がより進むであろう今後は、マルチメディアチャット的なアプリケーション（サービス）や、テレビ会議システムなどのマルチメディアアプリケーション（サービス）が増えてくることが予想され、今後、（３）に示したような多人数（多数のホスト）で同時に情報をやりとりするようなアプリケーション（サービス）も普及してくると思われる。
【０００５】
ところで、このようなネットワーク対応型のアプリケーション（サービス）には、１対特定多数の通信を意味するマルチキャストや１対全員の通信を意味するブロードキャスト等の通信方式が不可欠である。マルチキャストおよびブロードキャストは、それぞれの決められたアドレス（マルチキャストアドレスもしくはブロードキャストアドレス）にパケットを１回送信するだけで所望のホストにパケットを送信することができるため、処理の面でもネットワーク帯域の使用率の面においても有益であるからである。
【０００６】
例えば、教育システムにおいて生徒たちの情報端末に先生が何らかの情報を送信する場合や、会議システムにおいて会議の出席者の情報端末に発言者がなんらかのデータを送信する場合には、マルチキャスト機能やブロードキャスト機能が利用されることになる。このような場合に、ユニキャストのような１対１の通信機能を用いると、例えば送信したいホストが１０あるとすると１０回同じデータを送信する処理を行わなければならなくなり、無駄が多く、かつ、ネットワークの帯域も多く使用してしまうことになるからである。したがって、このような用途には、一度データを送信すれば済むマルチキャストやブロードキャストの使用が有用になってくる。
【０００７】
ところで、マルチキャスト通信においては、同じデータを特定多数に送信するマルチキャストの性格上、トランスポート層プロトコルにはＵＤＰ（User Datagram Protocol）が使われる。ＵＤＰはコネクションレス型のプロトコルであり、相手に届かない場合や送信先のマシンがネットワークに接続されていないときなどには、送信先からの応答確認をすることはない。すなわち、ＵＤＰによる送信においては、パケットの欠落や到着順序の入れ替えが起こってもそのまま受信されてしまうので、信頼性が低くなってしまうという問題がある。しかし、ＵＤＰは、パケットの欠落や到着順序の入れ替えが起こってもそのまま受信されてしまうので、多少信頼性がなくても使用に耐えうる音声やビデオなどのマルチメディアの通信には適しているという面もある。このようにトランスポート層プロトコルにＵＤＰを用いる場合には、応答確認をするためにはアプリケーション層で対応しなければならない。
【０００８】
なお、ユニキャストのような１対１の通信に用いられるトランスポート層プロトコルのＴＣＰ（Transmission Control Protocol）は、コネクション型のプロトコルであり、パケットの欠落やパケットの相手先への到達順序の入れ替えが生じてもＴＣＰが解決するなど、通信の信頼性は高い。すなわち、ＴＣＰは、制御信号やデータのやりとりに適している。しかしながら、前述したように、一度に多数のホストに対してデータを送るとなると、それだけの数のコネクションを確立し、同じデータを何度も送らなければならず、ホストの処理およびネットワーク帯域の面から考えても無駄が多くなってしまう。
【０００９】
そこで、近年においては、マルチキャスト通信の信頼性の低さを補うべく、各種の提案がなされている。
【００１０】
例えば、特開平１１−１７７１３号公報では、中央制御装置を用意し、それにネットワークを介して接続された複数の従属装置がある環境において、従属装置から中央制御装置に送られる受信完了の通知の台数が、ネットワークに接続されている従属装置の台数と一致しているかを確認するマルチキャスト通信処理方式が提案されている。
【００１１】
特開平１１−１６１６２２号公報では、中央サーバを用意し、損失の多いリンクを通じて送信され失われた情報は、サーバからの情報によって回復することができる通信システムが提案されている。
【００１２】
特開２０００−２２６８７公報では、データをサーバで一括収集し、定期的もしくはイベント発生時にデータを配信することによりマルチキャストの信頼性を向上する広域監視システムが提案されている。
【００１３】
【発明が解決しようとする課題】
しかしながら、特開平１１−１７７１３号公報で提案されたマルチキャスト通信処理方式、特開平１１−１６１６２２号公報で提案された通信システム、特開２０００−２２６８７号公報で提案された広域監視システムは、基本的にはサーバを用いたものである。
【００１４】
複数のホストが接続される会議システムなどを考えた場合、システムが複雑になりがちなクライアント／サーバシステムでなく、サーバを介さないピアツーピア的なネットワーク形態を簡単に形成できる方が良い。これは、会議の開催場所の制限を与えない（サーバに接続できない場所でも会議を開催できる）という面やコストの面（サーバの導入コストや人件費、管理費など）から考えても明白である。
【００１５】
本発明の目的は、サーバを介さないピアツーピア的なネットワーク形態の下に、データ送信時のネットワークトラフィックの軽減を図ることができるとともに、マルチキャスト通信の信頼性を向上させることができるデータ通信方法、データ通信システム、データ通信プログラム及び記憶媒体を提供することである。
【００１６】
【課題を解決するための手段】
請求項１記載の発明は、相互にネットワーク接続された複数のコンピュータ間でパケ
ットデータを送受信するデータ通信方法であって、表現実体であるデジタル情報ファイルと、前記表現実体の表示状態を特定する表示情報ファイルと、前記表現実体の表示や各種の機能を実行するプログラムを含む動作プログラムファイルと、を単一の文書としてカプセル化したカプセル化文書における前記動作プログラムファイルの前記プログラムを、コンピュータに読み取らせることにより、パケットデータを特定多数のコンピュータに対してマルチキャスト送信するためのマルチキャスト送信手段と、前記パケットデータを受信するためのマルチキャスト受信手段と、特定の前記コンピュータと１対１のユニキャスト接続でデータを送受信するためのデータ送受信手段と、を前記各コンピュータに具備させ、コンピュータ間でのデータ送信に際し、少なくとも１以上の前記コンピュータを指定してユニキャスト接続で通信を確立する通信確立ステップと、前記通信確立ステップにより通信が確立した少なくとも１以上の前記コンピュータに対して、マルチキャスト又はユニキャストのいずれかでデータを通信するデータ通信ステップと、をコンピュータで実現させることを特徴とする。
【００１７】
したがって、相互にネットワーク接続された複数のコンピュータ間でのパケットデータの送受信にあたり、まず、ユニキャスト接続により通信が確立され、この通信が確立された少なくとも１以上のコンピュータに対して、マルチキャスト通信とユニキャスト通信とを必要に応じて使い分けてデータ送信が行なわれる。これにより、サーバを介さないピアツーピア的なネットワーク形態の下に、データ送信時のネットワークトラフィックの軽減を図ることが可能になるとともに、マルチキャスト通信の信頼性を向上させることが可能になる。また、デジタル情報ファイルや表示情報ファイルとともに、マルチキャスト送信手段と、マルチキャスト受信手段と、コネクション型データ送受信手段とをコンピュータに実現させるプログラムが単一の文書としてカプセル化されることにより、その取り扱いや管理が極めて容易となる。
【００１８】
請求項２記載の発明は、相互にネットワーク接続された複数のコンピュータ間でパケットデータを送受信するデータ通信方法であって、パケットデータを特定多数のコンピュータに対してマルチキャスト送信するためのマルチキャスト送信手段と、前記パケットデータを受信するためのマルチキャスト受信手段と、特定の前記コンピュータと１対１のユニキャスト接続でデータを送受信するためのデータ送受信手段と、を前記各コンピュータに具備させ、コンピュータ間でのデータ送信に際し、少なくとも１以上の前記コンピュータを指定してユニキャスト接続で通信を確立する通信確立ステップは、一のコンピュータの前記マルチキャスト送信手段を用いてハンドシェイク相手を特定するための前記パケットデータである要求パケットを送信する要求信号送信ステップと、送信されてきた前記要求パケットを他のコンピュータが前記マルチキャスト受信手段を用いて受け取る要求信号受信ステップと、前記要求パケットを受け取った前記他のコンピュータが、前記データ送受信手段を用いて前記要求パケットを送信してきた前記一のコンピュータとのコネクションを確定するコネクション確定ステップとからなり、前記通信確立ステップにより通信が確立した少なくとも１以上の前記コンピュータに対して、マルチキャスト又はユニキャストのいずれかでデータを通信するデータ通信ステップと、をコンピュータで実現させることを特徴とする。
【００１９】
したがって、相互にネットワーク接続された複数のコンピュータ間でのパケットデータの送受信にあたり、まず、ユニキャスト接続により通信が確立され、この通信が確立された少なくとも１以上のコンピュータに対して、マルチキャスト通信とユニキャスト通信とを必要に応じて使い分けてデータ送信が行なわれる。これにより、サーバを介さないピアツーピア的なネットワーク形態の下に、データ送信時のネットワークトラフィックの軽減を図ることが可能になるとともに、マルチキャスト通信の信頼性を向上させることが可能になる。また、通信確立を要求する要求パケットを特定多数のコンピュータにマルチキャスト通信した後、各コンピュータとのユニキャスト通信によりコネクションが張られる。これにより、特定多数のコンピュータとのコネクションを容易に確立することが可能になる。
【００２０】
請求項３記載の発明は、請求項１又は２記載のデータ通信方法において、前記マルチキャスト送信手段及び前記マルチキャスト受信手段のトランスポート層プロトコルはＵＤＰ（User Datagram Protocol）で、前記データ送受信手段のトランスポート層プロトコルはＴＣＰ（Transmission Control Protocol）／ＩＰであることを特徴とする。
【００２１】
したがって、マルチキャスト送信手段、マルチキャスト受信手段及びコネクション型データ送受信手段について、それぞれソフトウェア的に実現することが可能になる。
【００２２】
請求項４記載の発明は、請求項２又は３記載のデータ通信方法において、前記要求パケットは、当該要求パケットを送信する前記一のコンピュータに係る属性情報と前記他のコンピュータに対する処理要求を特定する処理要求ＩＤとを含むことを特徴とする。
【００２３】
したがって、要求パケットの送信先に対して、要求パケットを送信したコンピュータに係る各種の情報を伝達することが可能になる。
【００２４】
請求項５記載の発明は、請求項４記載のデータ通信方法において、前記一のコンピュータに係る属性情報は、少なくとも当該コンピュータのネットワークアドレスを有していることを特徴とする。
【００２５】
したがって、要求パケットの送信先に対して、確実に所定の応答を返信することが可能になる。
【００２６】
請求項６記載の発明は、請求項４又は５記載のデータ通信方法において、前記要求信号受信ステップは、受け取った前記要求パケットの内容を要求パケット送信先情報として前記要求パケットを受け取った前記コンピュータの記憶部に記憶する要求パケット送信先記憶ステップを含むことを特徴とする。
【００２７】
したがって、要求パケットを送信してきたコンピュータに係る各種の情報を記憶することにより、その情報に基づいてデータ送信の有無の確認等の各種の処理を行うことが可能になる。
【００２８】
請求項７記載の発明は、請求項２記載のデータ通信方法において、前記コネクション確定ステップは、コネクションが確定した場合に、コネクションが確定した前記他のコンピュータに係る属性情報を通信相手先情報として前記要求パケットを送信した前記一のコンピュータの記憶部に記憶する通信相手先記憶ステップを含むことを特徴とする。
【００２９】
したがって、コネクションが確定したコンピュータに係る属性情報を通信相手先情報として記憶することにより、その情報に基づいて受信応答の確認やデータ送信先の指定等の各種の処理を行うことが可能になる。
【００３０】
請求項８記載の発明は、請求項４記載のデータ通信方法において、前記他のコンピュータに係る属性情報は、少なくとも当該コンピュータのネットワークアドレスを有していることを特徴とする。
【００３１】
したがって、コネクションが確定したコンピュータに対して、確実に所定の要求を送信することが可能になる。
【００３２】
請求項９記載の発明は、請求項８記載のデータ通信方法において、前記要求パケットを送信した前記一のコンピュータの記憶部に記憶された前記通信相手先情報を報知する通信確立相手報知ステップを含むことを特徴とする。
【００３３】
したがって、マルチキャストによる要求パケット送信により通信を確立できなかったコンピュータを把握することが可能になる。
【００３４】
請求項１０記載の発明は、請求項９記載のデータ通信方法において、意図した前記コンピュータとのコネクションが確定していない場合、コネクションが確定していない前記コンピュータに対して前記一のコンピュータの前記データ送受信手段を用いて前記要求パケットを送信してコネクションを確定する要求信号再送信ステップを含むことを特徴とする。
【００３５】
したがって、マルチキャストによる要求パケット送信で通信が確立できなかった場合に、ネットワークアドレスを指定してユニキャスト通信によって要求パケットを送信することにより、マルチキャストでパケットデータが届かないような環境にあるコンピュータに対して再度通信の確立を試みることが可能になる。
【００３６】
請求項１１記載の発明は、請求項１又は２記載のデータ通信方法において、前記データ通信ステップは、前記一のコンピュータの前記マルチキャスト送信手段を用い、通信が確立している前記他のコンピュータに対して前記データを送信するデータ送信ステップと、送信されてきた前記データを前記他のコンピュータが前記マルチキャスト受信手段を用いて受け取るデータ受信ステップと、前記一のコンピュータの前記データ送受信手段を用いて前記データが前記他のコンピュータに確実に送信されたか否かを判定するデータ送信判定ステップと、を含むことを特徴とする。
【００３７】
したがって、コネクション確立後にマルチキャストによるデータの送受信が行われ、送信したデータが確実に送信されたか否かが判定される。これにより、データ送信時のネットワークトラフィックの軽減を図ることが可能になるとともに、マルチキャスト通信の信頼性を向上させることが可能になる。
【００３８】
請求項１２記載の発明は、請求項１１記載のデータ通信方法において、前記データ送信判定ステップは、前記一のコンピュータの前記データ送受信手段を用い、通信が確立している前記他のコンピュータに対してデータを送信した旨を伝える送信通知パケットを送信する送信通知送信ステップと、送信されてきた前記送信通知パケットを前記他のコンピュータが前記データ送受信手段を用いて受け取る送信通知受信ステップと、送信されてきた前記送信通知パケットに従って前記データが前記他のコンピュータに確実に送信されたか否かをチェックする送信状況チェックステップと、少なくとも前記チェック結果がデータ未送信であった場合には、そのチェック結果を前記他のコンピュータの前記データ送受信手段を用いて前記一のコンピュータに対して送信する結果送信ステップと、送信されてきた前記チェック結果を前記一のコンピュータの前記データ送受信手段を用いて受信する結果受信ステップと、を含むことを特徴とする。
【００３９】
したがって、マルチキャストによるデータの送信に対し、コネクション型データ送受信手段でデータを送信した旨を伝える送信通知パケットを送信先に送信してデータが確実に送信されたか否かをチェックさせ、少なくともチェック結果がデータ未送信であった場合にはそのチェック結果を返答させることにより、マルチキャストによるデータが届いているかどうかを確認することが可能になる。
【００４０】
請求項１３記載の発明は、請求項１１記載のデータ通信方法において、前記データ送信判定ステップの判定結果がデータ未送信であった前記コンピュータに対して、前記一のコンピュータの前記データ送受信手段を用い、当該コンピュータに対して前記データを再度送信する第１のデータ再送信ステップを含むことを特徴とする。
【００４１】
したがって、マルチキャストによるデータが届いていないコンピュータがあった場合には、当該コンピュータに対してデータをユニキャスト通信により再送信することにより、データ通信の信頼性の向上を図ることが可能になる。
【００４２】
請求項１４記載の発明は、請求項１１記載のデータ通信方法において、前記データ送信判定ステップの判定結果がデータ未送信であった前記コンピュータに対して、前記一のコンピュータの前記マルチキャスト送信手段を用い、通信が確立している前記他のコンピュータに対して前記データを再度送信する第２のデータ再送信ステップを含むことを特徴とする。
【００４３】
したがって、マルチキャストによるデータが届いていないコンピュータがあった場合には、データをマルチキャスト通信により通信が確立しているコンピュータに対して再送信することにより、データ通信の信頼性の向上を図ることが可能になる。
【００４４】
請求項１５記載の発明は、請求項１４記載のデータ通信方法において、前記一のコンピュータの前記データ送受信手段を用い、通信が確立している前記他のコンピュータに対してデータを送信した旨を伝える送信通知パケットを送信する再送信通知送信ステップを含むことを特徴とする。
【００４５】
したがって、ユニキャスト通信により再度マルチキャストした旨を通知することにより、既に受信済みの場合は、データの受信を拒否するようにすれば、データの２度受けの問題が解消される。
【００４６】
請求項１６記載の発明は、請求項７記載のデータ通信方法において、前記通信相手先記憶ステップで前記一のコンピュータの記憶部に記憶された前記通信相手先情報には、前記カプセル化文書に含まれる前記文書タイトルを含み、前記通信相手先情報を参照して同一の前記文書タイトルを有する前記他のコンピュータを特定し、その特定された前記他のコンピュータにのみデータを送信する第１の特定相手データ送信ステップを含むことを特徴とする。
【００４７】
したがって、各コンピュータが記憶保持する通信相手先情報に基づき、同一の文書タイトルを有するコンピュータにのみデータ送信を行うことが可能になる。
【００４８】
請求項１７記載の発明は、請求項７記載のデータ通信方法において、前記通信相手先記憶ステップで前記一のコンピュータの記憶部に記憶された前記通信相手先情報を参照して所望の前記他のコンピュータを特定し、その特定された前記他のコンピュータに向けてデータを送信する第２の特定相手データ送信ステップを含むことを特徴とする。
【００４９】
したがって、コンピュータの記憶部に記憶された通信相手先情報に基づき、特定のコンピュータを指定してデータを送信することが可能になる。
【００５０】
請求項１８記載の発明は、請求項１７記載のデータ通信方法において、前記第２の特定相手データ送信ステップにおける前記データの送信は、特定された前記他のコンピュータのみに前記データ送受信手段を用いて送ることを特徴とする。
【００５１】
したがって、特定多数のコンピュータの中から更に特定のコンピュータを絞り込んでその特定のコンピュータのみにデータを送信することが可能になる。
【００５２】
請求項１９記載の発明は、請求項１７記載のデータ通信方法において、前記第２の特定相手データ送信ステップにおける前記データの送信は、特定された前記他のコンピュータ向けという情報を含めて前記マルチキャスト送信手段を用いて送ることを特徴とする。
【００５３】
したがって、マルチキャストにより特定多数のコンピュータにデータを送信した場合であっても、特定多数のコンピュータの中から更に特定のコンピュータを絞り込んでその特定のコンピュータのみにデータを送信することが可能になる。
【００５４】
請求項２０記載の発明は、請求項１１記載のデータ通信方法において、前記他のコンピュータが通信環境が悪いネットワーク経路に位置するか否かを判定するネットワーク環境判定ステップと、このネットワーク環境判定ステップにより通信環境が悪いネットワーク経路に位置すると判定された前記他のコンピュータのコンピュータに対しては、前記一のコンピュータの前記データ送受信手段を用いて前記データを送信する悪環境相手データ送信ステップと、を含むことを特徴とする。
【００５５】
したがって、通信環境が悪いネットワーク経路上のコンピュータに対しては、信頼性の高いユニキャスト通信によりデータを送信することが可能になる。
【００５６】
請求項２１記載の発明は、請求項２０記載のデータ通信方法において、前記ネットワーク環境判定ステップにおける通信環境が悪いネットワーク経路に位置するか否かの判定は、前記データ送信判定ステップにおける判定結果に基づくことを特徴とする。
【００５７】
したがって、所定のコンピュータが、通信環境が悪いネットワーク経路上にあるか否かの判定を容易に行うことが可能になる。
【００５８】
請求項２２記載の発明は、請求項１〜２１のいずれか一つに記載のデータ通信方法において、送信する前記データを暗号化する暗号化ステップと、受信した暗号化された前記データを復号する復号化ステップと、を含むことを特徴とする。
【００５９】
したがって、送受信するデータを暗号化することにより、より機密性の高いデータ通信を行うことが可能になる。
【００６０】
請求項２３記載の発明は、他のコンピュータとネットワーク接続されるコンピュータにおいて、前記コンピュータは、表現実体であるデジタル情報ファイルと、前記表現実体の表示状態を特定する表示情報ファイルと、前記表現実体の表示や各種の機能を実行するプログラムを含む動作プログラムファイルと、を単一の文書としてカプセル化したカプセル化文書における前記動作プログラムファイルの前記プログラムを実行して、パケットデータを特定多数のコンピュータに対してマルチキャスト送信するためのマルチキャスト送信手段と、前記パケットデータを受信するためのマルチキャスト受信手段と、特定の前記コンピュータと１対１のユニキャスト接続でデータを送受信するためのデータ送受信手段と、を前記コンピュータに具備させ、コンピュータ間でのデータ送信に際し、少なくとも１以上のコンピュータを指定して前記データ送受信手段で通信を確立する通信確立ステップと、前記通信確立ステップにより通信が確立した少なくとも１以上のコンピュータに対して、マルチキャスト送信手段、マルチキャスト受信手段又はデータ送受信手段のいずれかでデータを通信するデータ通信ステップと、を実行することを特徴とする。
【００６１】
したがって、相互にネットワーク接続された複数のコンピュータ間でのパケットデータの送受信にあたり、まず、ユニキャスト接続により通信が確立され、この通信が確立された少なくとも１以上のコンピュータに対して、マルチキャスト通信とユニキャスト通信とを必要に応じて使い分けてデータ送信が行なわれる。これにより、サーバを介さないピアツーピア的なネットワーク形態の下に、データ送信時のネットワークトラフィックの軽減を図ることが可能になるとともに、マルチキャスト通信の信頼性を向上させることが可能になる。また、デジタル情報ファイルや表示情報ファイルとともに、マルチキャスト送信手段と、マルチキャスト受信手段と、コネクション型データ送受信手段とをコンピュータに実現させるプログラムが単一の文書としてカプセル化されることにより、その取り扱いや管理が極めて容易となる。
【００６２】
請求項２４記載の発明のデータ通信プログラムは、他のコンピュータと相互にネットワーク接続されるコンピュータに実行される、表現実体であるデジタル情報ファイルと、前記表現実体の表示状態を特定する表示情報ファイルと、前記表現実体の表示や各種の機能を実行するプログラムを含む動作プログラムファイルと、を単一の文書としてカプセル化したカプセル化文書における前記動作プログラムファイル内のプログラムであって、パケットデータを特定多数のコンピュータに対してマルチキャスト送信するためのマルチキャスト送信機能と、前記パケットデータを受信するためのマルチキャスト受信機能と、特定の前記コンピュータと１対１のユニキャスト接続でデータを送受信するためのデータ送受信機能と、コンピュータ間でのデータ送信に際し、少なくとも１以上の前記コンピュータを指定してユニキャスト接続で通信を確立させる通信確立機能と、前記通信確立機能により通信が確立した少なくとも１以上の前記コンピュータに対して、マルチキャスト又はユニキャストのいずれかでデータを通信するデータ通信機能と、を実行させることを特徴とする。
【００６３】
したがって、相互にネットワーク接続された複数のコンピュータ間でのパケットデータの送受信にあたり、まず、ユニキャスト接続により通信が確立され、この通信が確立された少なくとも１以上のコンピュータに対して、マルチキャスト通信とユニキャスト通信とを必要に応じて使い分けてデータ送信が行なわれる。これにより、サーバを介さないピアツーピア的なネットワーク形態の下に、データ送信時のネットワークトラフィックの軽減を図ることが可能になるとともに、マルチキャスト通信の信頼性を向上させることが可能になる。また、デジタル情報ファイルや表示情報ファイルとともに、マルチキャスト送信手段と、マルチキャスト受信手段と、コネクション型データ送受信手段とをコンピュータに実現させるプログラムが単一の文書としてカプセル化されることにより、その取り扱いや管理が極めて容易となる。
【００６４】
請求項２５記載の発明の記憶媒体は、請求項２４記載のプログラムを格納したコンピュータに読み取り可能な記憶媒体であることを特徴とする。
【００６５】
したがって、相互にネットワーク接続された複数のコンピュータ間でのパケットデータの送受信にあたり、まず、ユニキャスト接続により通信が確立され、この通信が確立された少なくとも１以上のコンピュータに対して、マルチキャスト通信とユニキャスト通信とを必要に応じて使い分けてデータ送信が行なわれる。これにより、サーバを介さないピアツーピア的なネットワーク形態の下に、データ送信時のネットワークトラフィックの軽減を図ることが可能になるとともに、マルチキャスト通信の信頼性を向上させることが可能になる。また、デジタル情報ファイルや表示情報ファイルとともに、マルチキャスト送信手段と、マルチキャスト受信手段と、コネクション型データ送受信手段とをコンピュータに実現させるプログラムが単一の文書としてカプセル化されることにより、その取り扱いや管理が極めて容易となる。
【００６６】
【発明の実施の形態】
［第一の実施の形態］
本発明の第一の実施の形態を、図１ないし図３５に基づいて説明する。
【００６７】
本実施の形態においては、データ通信方法の一例として、デジタル情報ファイル、表示情報ファイル、動作プログラムファイル等をカプセル化手段によって単一の文書としてカプセル化したカプセル化文書の動作プログラムファイルに含まれるデータ通信機能を適用したものである。
【００６８】
［カプセル化文書の説明］
図１は、カプセル化された文書であるカプセル化文書のデータ構造を示す模式図である。
【００６９】
カプセル化文書１０１は、図１に示すように、文書全体の構造、配置等の表示状態を表す表示情報ファイルとしての文書配置情報１０２と、文書内のテキスト内容を表すデジタル情報ファイルとしてのテキスト情報１０３と、その他の静止画像や動画画像を表すデジタル情報ファイルとしてのメディア情報１０４と、文書内容を表示したりユーザ操作を検出したりする複数の動作プログラムファイルとしてのプログラム１０５とから構築されている。これらの情報は、それぞれ一般的なパーソナル・コンピュータ（以下、単にコンピュータと呼ぶ。）のオペレーティング・システム（Operating System、以下、適宜ＯＳと呼ぶ。）が管理できる個別のファイル単位の構造となっている。
【００７０】
このようなカプセル化文書１０１は、フレキシブルディスク、ハードディスク、磁気テープ等のような磁気的な記憶媒体、ＭＯのような光磁気的な記憶媒体、ＣＤ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ等のような光学的な記憶媒体、半導体メモリ等、各種の記憶媒体に格納することができ、記憶媒体の種類によっては容易に持ち運び可能となる。また、カプセル化文書１０１は、ＬＡＮ（Local Area Network）やインターネット等の各種の通信回線を介して伝送可能である。
【００７１】
図２は書庫ファイルのデータ構造の一例を示す模式図、図３は書庫ファイルの別のデータ構造の一例を示す模式図である。
【００７２】
カプセル化文書１０１を構成する各ファイル１０２、１０３、１０４、１０５は、図２及び図３に例示するように、書庫ファイル２０１という一つのファイルに格納されている。これにより、文書配置情報１０２（表示情報ファイル）と、テキスト情報１０３（デジタル情報ファイル）と、メディア情報１０４（デジタル情報ファイル）と、プログラム１０５（動作プログラムファイル）とを単一の文書としてカプセル化するカプセル化手段が構成されている。このような書庫ファイル２０１のファイル形式としては、一般的に、ＺＩＰ形式やＬＨＡ形式等があり、これらの技術を利用しても良い。
【００７３】
ここで、書庫ファイル２０１は、複数のファイル１０２、１０３、１０４、１０５を一つのファイル（書庫ファイル２０１）として格納するファイル構造を有している。このような書庫ファイル２０１は、格納機能及び解凍機能を有するアーカイバプログラムを用いることにより、ユーザの求めに応じて複数のファイル１０２、１０３、１０４、１０５を一つのファイル（書庫ファイル２０１）として扱うことができる。
【００７４】
図２に例示する書庫ファイル２０１では、複数のファイル１０２、１０３、１０４、１０５を格納した書庫ファイル２０１に、各ファイル１０２、１０３、１０４、１０５が書庫ファイル２０１中のどの位置にあるかを示すインデックス情報が付加されている。これにより、ファイル１０２、１０３、１０４、１０５の位置検索が可能となる。また、別の実施の形態として、図３に例示する書庫ファイル２０１のように、ファイル１０２、１０３、１０４、１０５毎にヘッダ情報を付加し、その位置を指示することでファイル１０２、１０３、１０４、１０５の位置検索を可能とする手法を採用しても良い。
【００７５】
このように、カプセル化文書１０１のファイル構造は、カプセル化文書１０１を構成する図１に示すような複数のファイル１０２、１０３、１０４、１０５をインデックス（図２参照）又はヘッダ（図３参照）で管理する書庫ファイル形式である。こうして、カプセル化文書１０１は、複数のファイル１０２、１０３、１０４、１０５を一つの書庫ファイル２０１としてカプセル化しているため、見かけ上、ユーザは複数のファイル１０２、１０３、１０４、１０５を一つの文書として管理し保管することができる。
【００７６】
図４はカプセル化文書１０１に格納されているプログラムのデータ構造を示す模式図、図５はプログラムに含まれている拡張プログラムに関する情報を規定する表示情報ファイルのデータ構造を示す模式図である。
【００７７】
カプセル化文書１０１に格納されている複数の動作プログラムファイルであるプログラム１０５は、図４に示すように、基本プログラム１１１と拡張プログラム１１２とから構成されている。
【００７８】
基本プログラム１１１は、カプセル化文書１０１の起動時に呼び出すことができるプログラムであり、全てのカプセル化文書１０１に共通して一つだけ存在するプログラムである。この基本プログラム１１１は、図示しない起動プログラムを含んでおり、コンピュータでのカプセル化文書１０１のアクセスに応じて、コンピュータに解釈、実行され、起動される。
【００７９】
拡張プログラム１１２は、カプセル化文書１０１に含まれている内容に応じて付加されるプログラムであり、例えば、図５に示すように、表示メディアの種類に応じて用意される。一例として、カプセル化文書１０１に含まれているデジタル情報ファイルがテキスト情報１０３のみである場合には、基本プログラム１１１に加えて、拡張プログラム１１２のうちの"Ｔｅｘｔ  Ｐａｎｅｌ"プログラム１１２ａがカプセル化文書１０１に格納されている。また、静止画像や動画画像等を表すデジタル情報ファイルとしてのメディア情報１０４がカプセル化文書１０１に含まれている場合には、基本プログラム１１１に加えて、拡張プログラム１１２のうちの"Ｉｍａｇｅ  Ｐａｎｅｌ"プログラム１１２ｂ、"Ｍｏｖｅｉ  Ｐａｎｅｌ"プログラム１１２ｃ、"３Ｄ  Ｐａｎｅｌ"プログラム１１２ｄがカプセル化文書１０１に格納されている。この基本プログラム１１１は、図示しない起動プログラムを含んでおり、コンピュータでのカプセル化文書１０１のアクセス、あるいは必要に応じて、コンピュータに解釈、実行され、起動される。
【００８０】
ここで、図５は、拡張プログラム参照ファイル１１３の一例を示しており、この拡張プログラム参照ファイル１１３は、拡張プログラム１１２とこれに対応するタグ１１４及び動作１１５を規定している。このような拡張プログラム参照ファイル１１３は、プログラム１０５としてカプセル化文書１０１に格納されている。
【００８１】
次に、文書配置情報１０２について説明する。文書配置情報１０２は、カプセル化文書１０１の各メディアの配置、表示サイズや各メディアのファイル等を記述するファイルである。本実施の形態では、これらの情報の記述を汎用的なＸＭＬ形式により記述している。
【００８２】
図６は、ＸＭＬによって記述されたカプセル化文書１０１の一例を示す模式図である。ＸＭＬは、その一例を図６に示すように、各要素をタグというもので記述するファイル形式であり、タグという要素の集まりによって文書を記述する。この場合、タグの中にタグを記述するという入れ子構造をとることも可能であり、各タグにはタグの属性を表わすアトリビュートと呼ばれるもので属性を付加することもできる。
【００８３】
図７は、図６に示すようにＸＭＬで記述されたカプセル化文書１０１の表示例を示す模式図である。図７に表示例を示すようなカプセル化文書１０１は、図６に例示するＸＭＬの記述に基づいて表示される。まず、文書全体を表す＜Ｄｏｃｕｍｅｎｔ＞というタグが記述され、この中に文書の構造が記述されている。そして、最初に表題を記述するために、＜ＴＥＸＴ＞というタグを使用する場合の表示内容は、アトリビュートが省略されている場合にタグ内の内容を表示する。次のＴＥＸＴタグの例は、テキスト情報を"本文．ＴＸＴ"というファイルから読み込む例である。次のＩＭＡＧＥタグは、"画像．ＪＰＧ"という静止画像をＸ、Ｙ座標を起点にＷＩＤＴＨ、ＨＩＧＨＴで指示されている大きさで表示するという配置情報である。
【００８４】
このように、文書配置情報１０２は、ＸＭＬ形式によりファイルの指示や配置の指示を行う。
【００８５】
また、文書配置情報１０２は、ＸＭＬ形式を例に挙げて説明したが、その他のＨＴＭＬ形式等の記述言語を使用しても良いし、独自の記述形式を使用しても良い。
【００８６】
そして、残りの静止画像、動画画像、３Ｄ画像、音声情報等を表すメディア情報１０４は、汎用のファイルフォーマットでも良いし、特殊な仕様の場合には独自のフォーマットを使用しても良い。
【００８７】
これまでに述べてきたように、カプセル化文書１０１のファイル構造は、文書全体の構造を表す文書配置情報１０２と、これに対応して表示されるテキスト情報ファイルや画像ファイル等の複数のメディアファイル（テキスト情報１０３及びメディア情報１０４）と、複数のプログラム１０５群から構成されている。
【００８８】
［カプセル化文書１０１の閲覧等］
ここで、カプセル化文書１０１の基本的な動作である文書起動から文書閲覧までの動作について説明する。
【００８９】
図８に、コンピュータ１のハードウェアの構成図を示す。コンピュータ１は、情報処理を行うＣＰＵ（Central Processing Unit）２と、ＢＩＯＳ（Basic Input Output System）等を格納するＲＯＭ（Read Only Memory）３と、情報を処理中に一時的に格納するＲＡＭ（Random Access Memory）４等の記憶部と、処理結果等を保存するＨＤＤ（Hard Disk Drive）５等の記憶部と、情報を外部に保管又は配布し若しくは情報（カプセル化文書１０１）を外部から入手するための記憶媒体であるリムーバブルメディア６のドライブ６ａと、外部の他のコンピュータ１と通信するためのネットワーク７に接続するためのネットワークインタフェース８と、処理経過や処理結果等をユーザに表示するディスプレイ９と、操作者がコンピュータ１に命令や情報等を入力するためのキーボード１０やマウス１１等の入力装置とから構成され、これらの間のデータ通信をバスコントローラ１２が調停して動作している。
【００９０】
なお、リムーバブルメディア６としては、フレキシブルディスク、ハードディスク、磁気テープ等のような磁気的な記憶媒体、ＭＯのような光磁気的な記憶媒体、ＣＤ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ等のような光学的な記憶媒体、半導体メモリ等、各種の記憶媒体が適用できる。
【００９１】
データ送信は、コンピュータ１のネットワークインタフェース８へとデータを送ることにより、ネットワークインタフェース８がネットワーク７へと信号を出力する。また、ネットワークインタフェース８が受け取った信号については、ネットワークインタフェース８において必要かどうかの判断がなされ、必要なデータであれば取り込み、不必要であれば破棄する、というような処理が行われる。すなわち、あらゆるデータの送受信は、すべてネットワークインタフェース８を経由して行われることになる。
【００９２】
一般的に、このようなコンピュータ１ではユーザが電源を投入すると、ＣＰＵ２はＲＯＭ３内のＢＩＯＳに含まれるローダーというプログラムを起動させ、ＨＤＤ５からオペレーティング・システムという当該コンピュータ１のハードウェアとソフトウェアとを管理するプログラムをＲＡＭ４に読み込む。オペレーティング・システムは起動すると、ユーザの操作に応じてアプリケーション・プログラムの起動、情報の読み込み、保存等をサポートする。代表的なオペレーティング・システムはＷindows（Ｍicrosoft Corporationの登録商標）、ＵＮＩＸ（Ｘ/Open, Inc.の登録商標）等である。これらのオペレーティング・システム上で走るプログラムが、通常アプリケーション・プログラムと呼ばれている。
【００９３】
図９は、コンピュータ１を用いたカプセル化文書１０１の文書閲覧処理の流れを示すフローチャートである。本実施の形態では、このようなコンピュータ１とカプセル化文書１０１とによって情報処理装置を構成している。
【００９４】
カプセル化文書１０１は、テキスト情報１０３及びメディア情報１０４というその実体データに対応するアイコンをコンピュータ１のディスプレイ９上に表示するための図示しないアイコンに関するアイコンファイルを含んでいる。そこで、このアイコンファイルに従ったアイコンがコンピュータ１のディスプレイ９上に表示されることから、ユーザがマウス１１等でカプセル化文書１０１の実体データに対応するアイコンを選択起動（ダブルクリック）すると、カプセル化文書１０１内に書庫ファイル２０１として書庫形式で格納されている基本プログラム１１１が起動される（ステップＳ２０１）。基本プログラム１１１は、その起動後、文書を表示させるための表示ウィンドウを作成する（ステップＳ２０２）。そして、基本プログラム１１１は、ＸＭＬ等で記述された書庫ファイル２０１内の文書配置情報１０２を読み込む（ステップＳ２０３）。
【００９５】
基本プログラム１１１は、文書配置情報１０２の読み込み後、タグ構造を解析して（ステップＳ２０４）、図５に例示するようなタグ名に対応する拡張プログラム１１２を別スレッドで起動し、文書配置情報１０２に記述してあるアトリビュートを各拡張プログラム１１２に渡す（ステップＳ２０５）。基本プログラム１１１は、このような処理をカプセル化文書１０１に格納された文書配置情報１０２における全てのタグについて処理終了まで行い（ステップＳ２０６）、これによって、文書配置情報１０２に記述された複数の拡張プログラム１１２が別スレッドで起動する（ステップＳ２０５）。
【００９６】
各拡張プログラム１１２は、基本プログラム１１１より受け取ったアトリビュートを解析し（ステップＳ２０７）、アトリビュートの内容に応じて必要なテキスト情報１０３及びメディア情報１０４をカプセル化文書１０１内の書庫ファイル２０１から読み込む（ステップＳ２０８）。そして、各拡張プログラム１１２は、基本プログラム１１１が作成するウィンドウ内におけるアトリビュートに応じた大きさの領域にテキスト情報１０３及びメディア情報１０４を表示する（ステップＳ２０９）。このような処理を行うことで、カプセル化文書１０１は、複数のテキスト情報１０３及びメディア情報１０４を基本プログラム１１１が確保したウィンドウに表示することができる。
【００９７】
また、拡張プログラム１１２は、そのような表示後、各種のイベント発生を認識した場合は（ステップＳ２１０のＹ）、認識したイベントに応じた処理を実行する（ステップＳ２１１）。このように、カプセル化文書１０１は、従来の文書とは根本的に異なる構造で文書を表示することができる。
【００９８】
［カプセル化文書１０１に含まれているプログラム１０５の記述手法］
次に、カプセル化文書１０１に含まれているプログラム１０５の記述について説明する。
【００９９】
プログラム１０５を記述する場合、複数の手法が実施可能である。
【０１００】
第一の手法は、現在最もポピュラーな言語であるＣプログラム言語でプログラム１０５を作成し、Ｃ言語コンパイラーによりＣＰＵ２が直接実行できる形式のネイティブコードを使用する例である。この場合、基本プログラム１１１を実行形式（ＷｉｎｄｏｗｓではＥＸＥ形式）で作成し、各拡張プログラム１１２をライブラリ形式（ＷｉｎｄｏｗｓではＤＬＬ形式）で作成し、書庫構造で格納された文書配置情報１０２、デジタル情報ファイル（テキスト情報１０３及びメディア情報１０４）及びこれらのプログラム１０５をインデックスまたはヘッダによって検索し、検索されたプログラム１０５を基本プログラム１１１に指定すれば良い。しかしながら、この手法は、ＣＰＵ２のコードがＣＰＵ２の種類に限定されてしまうため、余り良い方法とはいえない。
【０１０１】
第二の手法は、Ｊａｖａ（Sun Microsystems, Inc.の登録商標）言語等のインタープリタ言語を使用する方法である。これは、実行コードを使わず抽象的な中間コードでプログラムを構成し、実行時にこの中間コードをＣＰＵ２に理解可能なネイティブコードに変換し、これをＣＰＵ２が実行するというものである。この手法を用いることで、ＣＰＵ２の種類にとらわれないマルチプラットフォームでのカプセル化文書１０１の利用が可能となる。
【０１０２】
このように、本実施の形態のカプセル化文書１０１では、まず基本プログラム１１１を起動させ、起動プログラムは文書配置情報１０２から諸情報を読み込み、それに適合する拡張プログラム１１２を動作させる、というものである。
【０１０３】
また、拡張プログラム１１２は、前述したように、ＸＭＬ等で記述された文書配置情報１０２のタグの種類に対応したプログラムを用意しておき、その拡張プログラム１１２を起動しても良いし、タグの属性情報が読み込まれる各種のデジタル情報ファイル（テキスト情報１０３、メディア情報１０４）の種類に応じて拡張プログラム１１２を起動しても良い。例えば、図１０に示すように、動画情報を表示再生する場合の動画の代表的なフォーマットは複数あるため、その複数の動画を全て表示するための一つの拡張プログラム１１２を作成すると大きなプログラムになってしまう。そこで、図１０に示すように、ファイルフォーマットに合わせて複数の拡張プログラム１１２を用意し、カプセル化文書１０１内における特定の種類のファイルフォーマットに合う拡張プログラム１１２をカプセル化すれば良い。
【０１０４】
［拡張プログラム１１２］
次いで、拡張プログラム１１２の具体的な例を説明する。
【０１０５】
まず、カプセル化文書１０１に、複数個のデジタル情報ファイル（テキスト情報１０３、メディア情報１０４）が含まれていることを前提とする拡張プログラム１１２の機能を説明する。
【０１０６】
拡張プログラム１１２は、ディスプレイ９に図示しないファイル特定用パネルを表示する。このファイル特定用パネルというのは、カプセル化文書１０１に含まれている複数個のデジタル情報ファイル（テキスト情報１０３、メディア情報１０４）を選択指示可能に列挙するパネルである。そこで、例えばマウス１１によるクリック等の手法で任意のデジタル情報ファイル（テキスト情報１０３、メディア情報１０４）が選択指示されると、拡張プログラム１１２は、図９に示すフローチャートに示すように、イベントの検出を判定し（ステップＳ２１０のＹ）、対応するイベント動作を実行する（ステップＳ２１１）。
【０１０７】
ここでのイベント動作として、拡張プログラム１１２は、選択指示されたデジタル情報ファイル（テキスト情報１０３、メディア情報１０４）をディスプレイ９に表示する動作を実行する。
【０１０８】
次に、カプセル化文書１０１に、メディア情報１０４として、動画画像ファイルが含まれていることを前提とする拡張プログラム１１２の機能を説明する。
【０１０９】
図１１に示すように、拡張プログラム１１２は、ディスプレイ９に表示される文書中に動画画像の１フレームによって規定される静止画像１４１を表示する。そして、ディスプレイ９の文書中に含まれる静止画像１４１の表示領域がマウス１１によるクリック等によって選択指示されると、拡張プログラム１１２は、図９に示すフローチャートに示すように、イベントの検出を判定し（ステップＳ２１０のＹ）、対応するイベント動作を実行する（ステップＳ２１１）。
【０１１０】
ここでのイベント動作として、拡張プログラム１１２は、静止画像１４１を拡大、縮小又はそのまま表示する画像１４２を含むポップアップフレーム１４３を表示し、このポップアップフレーム１４３に再生ボタン１４４、停止ボタン１４５及びポーズボタン１４６からなる操作ボタン１４７を出現させる。そして、マウス１１によるクリック等の手法で操作ボタン１４７に含まれるいずれかのボタン１４４、１４５、１４６が選択指示された場合、拡張プログラム１１２は、図９に示すフローチャートに示すように、イベントの検出を判定し（ステップＳ２１０のＹ）、対応するイベント動作を実行する（ステップＳ２１１）。
【０１１１】
ここでのイベント動作として、拡張プログラム１１２は、選択指示されたのが再生ボタン１４４であれば静止画像として表示されている画像１４２を本来の動画画像として再生し、選択指示されたのが停止ボタン１４５であれば動画画像の再生を停止し、選択指示されたのがポーズボタン１４６であれば動画画像の再生をその時点で静止画画像として表示する。
【０１１２】
更に、カプセル化文書１０１に、メディア情報１０４として、音声情報ファイルが含まれていることを前提とする拡張プログラム１１２の機能を説明する。
【０１１３】
図１２に示すように、拡張プログラム１１２は、ディスプレイ９に表示される文書中に機能パネル及び再生パネルとしての音声再生ボタン１５１を表示する。そして、ディスプレイ３１０の文書中に含まれる音声再生ボタン１５１の表示領域がマウス１１によるクリック等によって選択指示されると、拡張プログラム１１２は、図９に示すフローチャートに示すように、イベントの検出を判定し（ステップＳ２１０のＹ）、対応するイベント動作を実行する（ステップＳ２１１）。
【０１１４】
ここでのイベント動作として、拡張プログラム１１２は、後述する音声読み上げ情報表示領域１５２を含むポップアップフレーム１５３を表示し、このポップアップフレーム１５３に再生ボタン１５４、停止ボタン１５５及びポーズボタン１５６からなる操作ボタン１５７を出現させる。そして、マウス１１クリック等の手法で操作ボタン１５７に含まれるいずれかのボタン１５４、１５５、１５６が選択指示された場合、拡張プログラム１１２は、図９に示すフローチャートに示すように、イベントの検出を判定し（ステップＳ２１０のＹ）、対応するイベント動作を実行する（ステップＳ２１１）。
【０１１５】
ここでのイベント動作として、拡張プログラム１１２は、選択指示されたのが再生ボタン１５４であればカプセル化文書１０１に含まれている音声情報ファイル内の音声を再生し、選択指示されたのが停止ボタン１４５であれば再生中の音声情報ファイル内の音声再生を停止し、選択指示されたのがポーズボタン１４６であれば再生中の音声情報ファイル内の音声再生をその時点で一時停止する。
【０１１６】
拡張プログラム１１２は、更に別の機能として、再生ボタン１５４が選択指示されて音声情報ファイル内の音声が再生される場合、再生される音声をテキスト情報化した可視情報を音声読み上げ情報表示領域１５２に表示する機能をコンピュータ１に実行させる。このような動作は、文書を閲覧する場合に文書閲覧装置（通常はコンピュータ１）の音声再生用のスピーカがＯＦＦになっている場合や、難聴者が文書を閲覧する場合に有効である。また、このような読み上げ機能は、コンピュータ１のスピーカ等の設定や障害者補助機能の設定等に基づいて、自動的にポップアップ動作させても良い。
【０１１７】
ここで、音声情報ファイルは、音声をサンプリングしたような音声データとしてのデータ構造を有するものであっても、テキストデータであっても良い。テキストデータである場合、音声情報ファイルを再生するに際して、例えば音声合成ＬＳＩ等を用い、そのテキストデータを音声の特徴量で規定した音声データに変換するというような手法で再生可能である。また、音声情報ファイル内の音声の再生に際して実行される音声のテキスト情報化は、音声情報ファイルがテキストデータによって構成されている場合にはそのテキストデータをそのまま利用することができる。これに対して、音声情報ファイルが音声データによって構成されている場合には、音声データを解析してテキスト情報化する処理が必要となる。
【０１１８】
以上幾つかの具体例を挙げたように、表示又は再生させたい各種のデジタル情報の特性に応じて多くの種類の拡張プログラム１１２をカプセル化文書１０１に用意することが考えられる。そこで、これらの拡張プログラム１１２をマルチメディア文書の部品として用意しておくことで、柔軟に多種多様なメディアに対応する拡張プログラム１１２を実現することができる。そして、この場合、カプセル化文書１０１内には必要な拡張プログラム１１２のみを格納すれば良いので、カプセル化文書１０１の取り扱いは極めて軽快なものとなる。
【０１１９】
図１３は、カプセル化文書１０１に含ませる拡張プログラム１１２の構造を示している。本実施の形態のカプセル化文書１０１は、文書配置情報１０２を基本プログラム１１１が読み取り、文書配置情報１０２が参照しているデジタル情報ファイル（テキスト情報１０３、メディア情報１０４）に対応する拡張プログラム１１２を起動し、起動した拡張プログラム１１２はデジタル情報ファイル（テキスト情報１０３、メディア情報１０４）を表示再生する、というものである。また、各拡張プログラム１１２は、それぞれユーザ操作を検出し、ユーザ操作があったときは、対応する動作を行う。この場合、デジタル情報ファイル（テキスト情報１０３、メディア情報１０４）を参照しない拡張プログラム１１２の場合には、ただ単にユーザ操作を受け取ってそのユーザ操作に応じた動作を行う。
【０１２０】
ユーザ操作には、マウス１１のクリックやキーボード１０からの入力等が考えられる。マウス１１のクリックの場合は、マウス１１のクリック位置がそれぞれの拡張プログラム１１２の表示占有範囲内かどうかを判断し、自分の表示範囲でクリックされた場合に対応する動作を行うようにすれば良い。キーボード１０からの入力の場合は、キーボード１０によって移動可能な図示しないカーソル位置がそれぞれの拡張プログラム１１２の表示占有範囲内かどうかを判断し、自分の表示範囲で選択指示された場合に対応する動作を行うようにすれば良い。例えば、図１４に示すように、３つのデジタル情報（ＰＲＧ１、ＰＲＧ２、ＰＲＧ３）を表示している文書の場合、一例として、図中の×印の部分でユーザがマウス１１をクリックした場合、ＰＲＧ２の拡張プログラム１１２がマウス１１のクリックを検出し、対応する動作を実行する。
【０１２１】
このように、本実施の形態におけるカプセル化文書１０１の文書形式は、各メディアの種類や表示情報ファイルのタグの種類に関連した拡張プログラム１１２群からなり、最小である構成としては、基本プログラム１１１と文書配置情報１０２からなっている。そして、カプセル化文書１０１は、ユーザがカプセル化文書１０１内に格納したい情報に応じてデジタル情報ファイル（テキスト情報１０３、メディア情報１０４）を準備し、その情報を再生、表示できるような拡張プログラム１１２を追加することで成立している。そして、本実施の形態におけるカプセル化文書１０１は、そのような各種ファイルを、単一のファイルとしてアーカイブ形式を利用して格納している。
【０１２２】
［拡張プログラム１１２を利用した通信機能］
次いで、拡張プログラム１１２を利用した通信機能について説明する。
【０１２３】
この通信機能というのは、ネットワーク７を介して接続されている二台以上のコンピュータ１において起動しているカプセル化文書１０１の間で通信を実行させる機能である。
【０１２４】
ここでは、カプセル化文書１０１の通信について述べるが、通信機能を実現するには、必ずしもカプセル化文書１０１であることが不可欠というわけではない。もっとも、拡張プログラム１１２での機能追加という観点からは、カプセル化文書において実現することがより有用である。
【０１２５】
本実施の形態では、先に説明したカプセル化文書１０１に通信機能を加える。その場合、通信機能を指定するＸＭＬのタグは、一例として、＜ｃｏｍ／＞とする。例えば基本プログラム１１１は、このタグを読んだときに、通信機能を有する拡張プログラム１１２を起動し、拡張プログラム１１２は、ディスプレイ９に表示されるカプセル化文書１０１の表示中に図示しない通信ボタンを表示する。
【０１２６】
図１５は、カプセル化文書１０１が発揮する通信機能による通信処理の流れを示すフローチャートである。通信機能に係る拡張プログラム１１２は、図１５に示すように、通信相手を確立する通信確立処理（ステップＳ１）と、通信が確立した後、通信が確立したコンピュータ１間でデータを通信するデータ通信処理（ステップＳ２）と、データの通信が終了した後、各コンピュータ１間の通信を切断する通信切断処理（ステップＳ３）と、を実行する。
【０１２７】
ところで、本実施の形態においては、図１６に示すように、コンピュータ１は、マルチキャスト送信手段２０と、マルチキャスト受信手段２１と、コネクション型送受信手段２２とを具備している。
【０１２８】
マルチキャスト送信手段２０は、１対特定多数の通信を意味するマルチキャスト送信を行うものであって、あらかじめ決められたマルチキャストアドレスに対してマルチキャストパケットの送信を行うものである。また、マルチキャスト受信手段２１は、あらかじめ決められたマルチキャストグループに所属し、マルチキャストパケットが送られてきた場合にはそのマルチキャストパケットをチェックし、グループ宛てのマルチキャストパケットであればコンピュータ１で起動しているアプリケーション・プログラムにデータを渡すものである。マルチキャスト送信手段２０及びマルチキャスト受信手段２１においては、トランスポート層プロトコルにＵＤＰ（User Datagram Protocol）が使われる。
【０１２９】
一方、コネクション型送受信手段２２は、１対１の通信を意味するユニキャスト通信を行うものであって、他のコンピュータ１と１対１のコネクションを張り、データの送受信を行うものである。コネクション型送受信手段２２においては、トランスポート層プロトコルにＴＣＰ（Transmission Control Protocol）が使われる。このようなコネクション型送受信手段２２によるコネクションの確立は、ＴＣＰ／ＩＰでの通信を表す。
【０１３０】
上述したマルチキャスト送信手段２０と、マルチキャスト受信手段２１と、コネクション型送受信手段２２とは、それぞれソフトウェア的に実現することができる。
【０１３１】
例えば、Ｊａｖａにおいては、ＴＣＰ／ＩＰに対応して、データの送受信を行うためのＡＰＩ（Ａpplications Ｐrogramming Ｉnterface）が用意されている。具体的には、Ｊａｖａには、受信側のソケットとしてリクエストを受け付けるためのSeverSocketというＡＰＩと、コネクションを張るためのSocketというＡＰＩとが用意されている。SeverSocketは、ネットワークインタフェース８を介して送信されたリクエストに対してaccept（）メソッドによりコネクションのリクエストを受け入れる。これにより、Socketで双方のネットワークインタフェース８を介してコネクションが張られ、データを受け付けることが可能になる。なお、Socketが開かない場合には、データの送信が行われない（Socket errorを返す）。すなわち、Ｊａｖａを用いた場合、コネクション型送受信手段２２は、ServerSocketおよびSocketのgetOutputStream（）、getInputStream（）メソッドを使用することにより容易に実現することができる。
【０１３２】
また、Ｊａｖａには、マルチキャストで使用されるＵＤＰに対応して、DatagramSocketもしくはMulticastSocket（MulticastSocketはDatagramSocketを継承したもの）というＡＰＩが用意されている。これらのDatagramSocket、MulticastSocketにはsend（）メソッドがあり、このメソッドを使うと、受信側の状態がどのような状態であってもデータの送信がネットワークインタフェース８を介して行われる。すなわち、Ｊａｖａを用いた場合、マルチキャスト送信手段２０は、MulticastSocketのsend（）メソッドを使用することにより容易に実現することができ、マルチキャスト受信手段２１は、MulticastSocket（DatagramSocket）のreceive（）メソッドを使用することにより容易に実現することができる。
【０１３３】
すなわち、このようなマルチキャスト送信手段２０と、マルチキャスト受信手段２１と、コネクション型送受信手段２２とを実現するプログラムも、拡張プログラム１１２に含まれている。
【０１３４】
［通信確立処理（ステップＳ１）］
１対１のコンピュータ１間でのカプセル化文書１０１間における通信確立処理について図１７を参照しつつ説明する。ここでは、便宜上、二つの別のコンピュータ１であるホストＡで起動している文書ＡとホストＢで起動している文書Ｂという、二つのカプセル化文書１０１間での通信の確立について説明する。
【０１３５】
ホストＡで起動している文書Ａでは、通信ボタンをクリックしたことを拡張プログラム１１２が受け取ると、パケット送信命令が出され（命令処理）、マルチキャスト送信手段２０を用いて要求パケットの送信を行う（図１７中、（１））。
【０１３６】
ホストＢでは、マルチキャスト受信手段２１がその要求パケットを受け取ると、その要求パケットの内容は起動している文書Ｂに渡されて解析される（データ処理）。ホストＢの文書Ｂは、その要求パケットの情報をＲＡＭ４もしくはＨＤＤ５に記憶保持するとともに、解析の結果として必要であると判断した場合には、ホストＡに対してコネクション型送受信手段２２を用いてホストＡとコネクションを張る旨の命令を出す（命令処理）。ホストＢのコネクション型送受信手段２２は、命令に従ってホストＡとコネクションを確立し、受信応答パケットをホストＡに対して送信する（図１７中、（２））。
【０１３７】
ホストＡは、この受信応答パケットをコネクション型送受信手段２２において受信すると、その受信応答パケットの内容は文書Ａに渡されて解析される（データ処理）。また、ホストＡが、その受信応答パケットの内容をＲＡＭ４もしくはＨＤＤ５に記憶保持することでそれぞれの情報が通信相手ホストに渡されたことになり、ホストＡとホストＢとの通信が確立されることになる。
【０１３８】
図１８に、要求パケットおよび受信応答パケットの内容を例示的に示す。例えば、要求パケットおよび受信応答パケットは、「処理要求ＩＤ」ａと、「ネットワークアドレス（ＩＰアドレス）」ｂと、「ホスト名」ｃ、「タイトル」ｄ、「送信時刻」ｅ、「シーケンシャルナンバー」ｆ、「ユーザ名」ｇにより構成されている。「処理要求ＩＤ」ａは、例えば要求パケットであれば、「受信応答パケット送信を要求する」というあらかじめ決められたＩＤである。マルチキャスト受信手段２１もしくはコネクション型送受信手段２２は、この「処理要求ＩＤ」ａを読み込み、その「処理要求ＩＤ」ａのＩＤに相当する処理命令を各文書Ａ，Ｂに対して出力する。
【０１３９】
また、「ネットワークアドレス」ｂ及び「ホスト名」ｃは、パケット送信元（例えば、図１７においてはホストＡ）のネットワークアドレスおよびホスト名である。「タイトル」ｄは、各文書Ａ，Ｂで決められたファイル名もしくは文書であれば文書の題名である。「送信時刻」ｅは、そのパケットが送信された時刻である。「シーケンシャルナンバー」ｆは、マルチキャストパケットで送信される際に付与されるナンバーである。例えば、２回目のマルチキャストパケット送信であれば"２"がセットされる。
【０１４０】
以上、１対１のコンピュータ１間の通信確立処理について説明したが、実際には三台以上のコンピュータ１間でコネクションが張られることになる。例えば、四台のコンピュータ１を仮にホストＡ，ホストＢ，ホストＣ，ホストＤとして図１９を参照しつつ説明する。
【０１４１】
ホストＡとその他のホストＢ，ホストＣ，ホストＤとが通信を確立する場合、まず、ホストＡのマルチキャスト送信手段２０から要求パケットがホストＢ，ホストＣ，ホストＤに対して送信される。
【０１４２】
ホストＢ，ホストＣ，ホストＤのマルチキャスト受信手段２１がその要求パケットを受け取ると、ホストＢ，ホストＣ，ホストＤはその要求パケットの情報をそれぞれ文書Ｂ，Ｃ，Ｄに渡し、ＲＡＭ４もしくはＨＤＤ５に記憶保持する。さらに、ホストＢ，ホストＣ，ホストＤは、それぞれコネクション型送受信手段２２においてホストＡのコネクション型送受信手段２２とコネクションを図る。それぞれコネクションが確立されたところで、ホストＢ，ホストＣ，ホストＤは、それぞれ受信応答パケットを送信する。
【０１４３】
この受信応答パケットをコネクション型送受信手段２２において受信したホストＡは、その受信応答パケットの内容を文書Ａに渡し、ＲＡＭ４もしくはＨＤＤ５に記憶保持する。ここで、図２０はホストＡのＲＡＭ４もしくはＨＤＤ５に記憶保持されている情報を示す模式図である。図２０に示すように、ホストＡのＲＡＭ４もしくはＨＤＤ５には、この段階でホストＢ，ホストＣ，ホストＤの情報が記憶保持されている。なお、特に図示しないが、ホストＢ，ホストＣ，ホストＤのＲＡＭ４もしくはＨＤＤ５には、それぞれホストＡの情報が記憶保持されている。
【０１４４】
以上の処理により、図１９（ａ）に示すように、ホストＡ−ホストＢ間、ホストＡ−ホストＣ間、ホストＡ−ホストＤ間の通信が確立する。
【０１４５】
同様に、ホストＢ，ホストＣ，ホストＤからのマルチキャストパケットの送信により、ホストＢ−ホストＣ間、ホストＢ−ホストＤ間、ホストＣ−ホストＤ間の通信の確立も行われる。したがって、図１９（ｂ）に示すように、それぞれのホストから他のホストに対してコネクションが張られることになる。
【０１４６】
ところで、以上に述べた通信の確立方法では、まず、マルチキャスト送信手段２０によりマルチキャストパケットである要求パケットの送信を行うことが前提となっている。しかしながら、マルチキャスト送信手段２０においては、トランスポート層プロトコルにＵＤＰを用いた送信になるため、パケットの欠落や到着順序の入れ替えが起こってもそのまま受信されてしまうので、信頼性の低い通信となってしまう。つまり、この要求パケットが届かないことによって、意図したホストとの通信確立ができない場合が発生するという問題が起こり得る。そこで、本実施の形態における通信確立処理（ステップＳ１）では、上述したような問題を解決すべく、次に示す通信確立確認処理を通信確立処理に並行して実行する。
【０１４７】
図２１は、通信確立確認処理の流れを示すフローチャートである。通信機能に係る拡張プログラム１１２は、通信ボタンをクリックしたことを受け取って通信確立処理を開始した後、図２１に示すように、通信が確立したＲＡＭ４もしくはＨＤＤ５に記憶保持している相手先情報をコンピュータ１のディスプレイ９に表示させるための相手先情報表示イベントを発生させる（ステップＳ１１）。このイベントが検出されると、ディスプレイ９には相手先情報が表示される。図２２に示すように、ディスプレイ９に表示される相手先情報としては、「ユーザ名」ｇ、「ネットワークアドレス」ｂ、「ホスト名」ｃなどで良い。なお、表示させる情報は、これらに限るものではなく、事前登録しておいたユーザの画像やアイコンでも良い。
【０１４８】
なお、通信が確立したホストを報知する手法は、表示に限るものではなく、音声等であっても良い。
【０１４９】
ユーザは、ディスプレイ９に表示された通信が確立した相手先情報を確認した後、この表示の中にユーザが意図したホストが含まれない場合には、要求パケット送付先指定イベントを発生させることができる。
【０１５０】
要求パケット送付先指定イベントは、ディスプレイ９に「ネットワークアドレス」もしくは「ホスト名」を入力するためのダイアログＤを表示しておき、ユーザがこのダイアログＤに「ネットワークアドレス」もしくは「ホスト名」をこれに入力することにより、発生する。
【０１５１】
要求パケット送付先指定イベントが発生した場合には（ステップＳ１２のＹ）、前述したようなマルチキャスト送信手段２０を用いるのではなく、コネクション型送受信手段２２を用いて要求パケットの送信を行い、再度所望の相手との通信の確立を図る（ステップＳ１３）。
【０１５２】
これにより、コネクション型送受信手段２２を用いたＴＣＰ／ＩＰでの通信により相手を指定し要求パケットを送信することで、ＵＤＰではデータが届きにくい無線ＬＡＮなどによってネットワーク接続されているようなコンピュータ１に対しても、通信を確立することができる。
【０１５３】
以上により、通信確立処理（ステップＳ１）が終了する。
【０１５４】
［データ通信処理（ステップＳ２）］
データ通信処理は、基本的には、マルチキャスト送信手段２０およびマルチキャスト受信手段２１でやりとりされる。
【０１５５】
通信確立後、ホストＡで起動している文書Ａは、マルチキャスト送信手段２０を用いてデータ（マルチキャストパケット）の送信を行う。
【０１５６】
加えて、データ（マルチキャストパケット）送信後には、ホストＡのＲＡＭ４もしくはＨＤＤ５に記憶保持されている相手先情報を利用して通信が確立している各ホスト（ここでは、ホストＢ，ホストＣ，ホストＤ）に対してコネクション型送受信手段２２を用いてマルチキャストした旨を通知（送信確認通知）する。この通知内容は、例えば図２３に示すように、図中の「処理要求ＩＤ」ａには受信応答送信要求ＩＤをセットし、「シーケンシャルナンバー」ｆには何回目のマルチキャストかを表わすシーケンシャルナンバーｆ１およびその送信命令内容ｆ２をセットする。
【０１５７】
また、ホストＡで起動している文書Ａは、データ（マルチキャストパケット）送信の際には、ＲＡＭ４もしくはＨＤＤ５に、図２４に示すような各通信相手先との各マルチキャストパケット送信時の通信成否表を作成し、各ホスト（ホストＢ，ホストＣ，ホストＤ）毎のシーケンシャルナンバーｆ３と受信応答フラグｆ４を記録し、図２５に示すようなシーケンシャルナンバーｆ５とその送信命令内容ｆ６を記録しておく。
【０１５８】
一方、データ（マルチキャストパケット）を受け取った各ホスト（ここでは、ホストＢ，ホストＣ，ホストＤ）では、ＲＡＭ４もしくはＨＤＤ５に、図２６に示すような送信元のホスト毎に、シーケンシャルナンバーとその送信命令内容を記憶しておく。
【０１５９】
送信確認通知を受け取った各ホスト（ホストＢ，ホストＣ，ホストＤ）の各文書は、その送信確認通知の内容を処理し、「ホスト名」ｃ、「シーケンシャルナンバー」ｆを取得し、図２６に示した自身が記憶しているデータ（マルチキャストパケット）に係る受信データ（送信元のホスト毎のシーケンシャルナンバー及びその送信命令内容）を参照し、データ（マルチキャストパケット）を受け取っているか否かを判定する。
【０１６０】
そして、各ホスト（ホストＢ，ホストＣ，ホストＤ）の各文書は、判定結果（"ＴＲＵＥ"もしくは"ＦＡＬＳＥ"）を送信元であるホストＡに対してコネクション型送受信手段２２を用いて受信応答パケットを返信する。
【０１６１】
このデータをコネクション型送受信手段２２を用いて受け取ったデータ（マルチキャストパケット）の送信元であるホストＡは、受信応答パケットの内容が"ＴＲＵＥ"であれば図２４に示す受信応答フラグｆ４を"ＴＲＵＥ"にし、受信応答パケットの内容が"ＦＡＬＳＥ"であればそのシーケンシャルナンバーｆ５から送信命令内容ｆ６を引いてきて送信命令を取得し、データを再度送信する。
【０１６２】
データを再度送信する場合には、本実施の形態においては、受信応答パケットの内容が"ＦＡＬＳＥ"となったホストにのみコネクション型送受信手段２２を用いてデータを再送信するものとする。
【０１６３】
なお、本実施の形態においては、送信確認通知を受け取った各ホストが受信応答パケットを返すことを前提としたが、送信確認通知のみを行い、受信応答パケットは必ずしも返さなくても良い。送信確認通知を受け取った各ホストは、そのシーケンシャルナンバーのデータをきちんと受信しているかをチェックし、受信していなければそのシーケンシャルナンバーの送信内容を再送信するように、送信確認通知をしてきたホストに対して要求すれば良い。
【０１６４】
また、本実施の形態においては、マルチキャスト送信手段２０を用いてデータ（マルチキャストパケット）を送信した後、コネクション型送受信手段２２を用いてマルチキャストした旨を通知（送信確認通知）するとしたが、これからマルチキャストする旨をコネクション型送受信手段２２を用いて各ホストに通知した後、マルチキャスト送信手段２０を用いてデータ（マルチキャストパケット）を送信するようにしても良い。この場合、送信確認通知にはタイムアウトのための時間を設定しておき、送信確認通知を受けた場合はこの時間だけ待ち、それでもデータ（マルチキャストパケット）が到着しない場合には、その旨の受信応答パケットを返す等の処理を実行するようにすれば良い。
【０１６５】
さらに、このような受信応答パケットおよび受信応答パケットに係る処理は、自動的に行っても良いが、ユーザへの利便性を考えた場合、何らかの送信を行った際にはそのデータが届いたかどうかをユーザに明示的に知らせるようにしたほうが良い。例えば、会議システムなどでは、ソフトウェア的に会議参加者を上記シーケンシャルナンバーとともに表示しておき、受信応答があった場合はそのシーケンシャルナンバーをハイライトするなどによって、ユーザに対して自身の送信がきちんと伝わっているかどうかを通知することが可能である。
【０１６６】
［特殊なデータ通信処理の例１］
上述したように、基本的に通信確立後のデータの送信はマルチキャスト送信手段２０を用いてマルチキャストで行うが、通信環境が悪いと思われるネットワーク経路先にあると考えられるホストに対しては、コネクション型送受信手段２２を用いてデータを送信するようにしても良い。通信環境の悪さの判断は、図２４に示したような各通信相手先との各マルチキャストパケット送信時の通信成否表を用いる。例えば、通信ごとに通信成否表をチェックしておき、受信応答フラグｆ４の受信応答の内容がＮ回以上"ＦＡＬＳＥ"のままであるホストについては、別途設けた環境フラグｆ７を"ＦＡＬＳＥ"にする（初期値は"ＴＲＵＥ"）。そして、マルチキャスト送信命令を受けた際にこの環境フラグｆ７をチェックし、環境フラグｆ７＝"ＦＡＬＳＥ"のホストに対してはコネクション型送受信手段２２を用いてデータを送信すれば良い。図２７のホストＢは、１回の受信応答フラグｆ４の"ＦＡＬＳＥ"で、環境フラグｆ７を"ＦＡＬＳＥ"にした例である。
【０１６７】
［特殊なデータ通信処理の例２］
特定多数に対してデータ（マルチキャストパケット）を送信する場合、その特定多数の中からさらに特定の相手を絞り込んでその特定の相手のみにデータを送信したい場合がある。例えば、文書名が送信ホストと同じホストにのみ送りたい場合である。このような場合には、図２８に示すように、通信確立時に作成されたＲＡＭ４もしくはＨＤＤ５に記憶保持されている相手先情報の「タイトル」ｄを参照し（ステップＳ２１）、同一名の文書タイトルの相手先ホストを特定し（ステップＳ２２）、その相手にのみデータを送信する（ステップＳ２３）。この場合、ＵＤＰ（マルチキャスト送信手段２０）で送信してもＴＣＰ（コネクション型送受信手段２２）で送信しても良いが、ＵＤＰ（マルチキャスト送信手段２０）で送信した場合には、送信パケットには「処理要求ＩＤ」ａとして受信応答送信要求のＩＤをセットする。これにより、受信側は受信確認の応答を送信する。送信側で受信確認の応答を受け取れない場合には、再度同じデータを送信する。また、前述したように、送信通知を送信して確認をとるようにしても良い。
【０１６８】
［特殊なデータ通信処理の例３］
また、マルチキャスト送信手段２０を用いたデータ（マルチキャストパケット）の送信は、通信が確立されているすべてのホストに対してデータを送信してしまうが、通信を確立しているホストの中から特定のホストを選んでデータを送信したい場合がある。例えば、他のホストには知られたくない情報を特定のホストに対してのみ送信する場合である。このような場合には、通信確立時に作成されたＲＡＭ４もしくはＨＤＤ５に記憶保持されている相手先情報に基づき、通信を確立しているホストの中から特定のホストを決定する。すなわち、図２９に示すように、通信が確立したＲＡＭ４もしくはＨＤＤ５に記憶保持している相手先情報をコンピュータ１のディスプレイ９に表示させるための相手先情報表示イベントを発生させて通信相手先情報の一覧を表示させる（ステップＳ３１）。図３０に示すように、ディスプレイ９に表示される相手先情報としては、「ユーザ名」ｇ、「ネットワークアドレス」ｂ、「ホスト名」ｃなどで良い。なお、表示させる情報は、これらに限るものではなく、事前登録しておいたユーザの画像やアイコンでも良い。
【０１６９】
また、各相手先情報の先頭にチェックボックスＣＢを設け、このチェックボックスＣＢがチェックされている相手先を選択された送信相手先として受け付けて送信先リストを作成し（ステップＳ３２）、その相手にのみデータを送信する（ステップＳ３３）。
【０１７０】
この場合、ＵＤＰ（マルチキャスト送信手段２０）で送信してもＴＣＰ（コネクション型送受信手段２２）で送信しても良いが、ＵＤＰ（マルチキャスト送信手段２０）で送信した場合には、受信側のホストにおいては次のような処理が実行される。図３１に示すように、受信側のホストは、データを受信した後（ステップＳ４１）、送信先リストを参照する（ステップＳ４２）。そして、送信先リストに自分のデータがあれば（ステップＳ４３のＹ）、データを取り込み（ステップＳ４４）、送信先リストに自分のデータがなければ（ステップＳ４３のＮ）、そのデータは破棄する（ステップＳ４５）。これにより、ＵＤＰ（マルチキャスト送信手段２０）で送信した場合であっても、例えば会議参加者全員ではなく、会議参加者中の何人かを指定して送信することが可能になる。
【０１７１】
［特殊なデータ通信処理の例４］
データ通信にあたり、遠隔地とのデータをやりとりする場合には、データの傍受が行われる恐れがある。つまり、マルチキャストでの送信やコネクション型のデータ通信におけるデータの暗号化を行う必要がある。データの暗号化への対応を以下に示す。
【０１７２】
通信確立後に、暗号鍵要求パケットをコネクション型送受信手段２２を用いて送信する。これを受信したホストは、送信元に対して自身の公開鍵と、秘密鍵で暗号化された情報を暗号化し送信する。この情報は、例えば、通信確立の際に送信される図１８に示すような受信応答パケットのデータなどを用いると良い。これを受け取ったホストは、公開鍵を用いてこの情報を解読する。解読した結果が通信確立時に記憶保持していた情報と同じであれば、共有鍵を発行する。この共有鍵は、グループ内（例えば会議参加者）でのみ使用する暗号化キーである。したがって、データ通信を行う際に、送信側はこの共通鍵を使用して暗号化してデータを送信し、受信側はこの共通鍵を利用してデータを復号することにより、よりセキュアなデータの送受信がマルチキャストでもコネクション型の通信でも可能になる。また、それぞれのホストの公開鍵を取得しているため、ある特定のホストに対してそのホストの公開鍵で暗号化し、受信したホストは自身の秘密鍵で復号化するといった公開鍵暗号方式も利用可能である。また逆に、自身の秘密鍵で暗号化したデータを送信することにより、送信するデータに電子署名を付加することも可能である。
【０１７３】
公開鍵暗号方式や電子署名は処理に時間がかかるため、どうしても利用が必要な場合に限った方が良い。したがって、通常は前述したような共通鍵を用いることによって暗号化されたデータの通信を高速に行うことが可能である。
【０１７４】
取得した各ホストの公開鍵は、図３２に示すように、通信相手先情報に加えられる。
【０１７５】
以上により、データ通信処理（ステップＳ２）が終了する。
【０１７６】
［通信切断処理（ステップＳ３）］
通信切断処理は、「処理要求ＩＤ」ａにデータ消去ＩＤをセットし、通信確立時に作成されたＲＡＭ４もしくはＨＤＤ５に記憶保持されている相手先情報に基づき、通信を確立している全ホストに対して送信する。送信後、回線（ソケット）を閉じることにより通信を切断する。このデータを受信したホストは、ＲＡＭ４もしくはＨＤＤ５に記憶保持されている相手先情報からこのホスト情報を消去する。以上の処理により、通信の切断が完了する。なお、「処理要求ＩＤ」ａにデータ消去ＩＤをセットしたデータをマルチキャスト送信手段２０を用いてマルチキャストする際には、前述した方法により受信応答確認をとるようにしても良い。この場合、受信応答確認が全ホストから取れた場合に、回線（ソケット）を閉じるようにすれば良い。
【０１７７】
以上により、通信切断処理（ステップＳ３）が終了する。
【０１７８】
図３３は、上述したような通信確立からデータ送信についての基本的な流れを概略的に示すデータ通信シーケンスである。ここでは、便宜上、三台のコンピュータ１を仮にホストＡ，ホストＢ，ホストＣとし、これらのホストＡ，ホストＢ，ホストＣ間での流れを例に説明する。図３３においては、ホストＡがホストＢおよびホストＣに対してデータを送信する場合の例を示す。図３３に示すように、ホストＢおよびホストＣにおいては、既にアプリケーション・プログラム（カプセル化文書１０１の通信機能に係る拡張プログラム１１２）が起動し、通信可能状態になっているとする。ユーザがアプリケーション起動命令をマウス１１もしくはキーボード１０で入力することにより、ホストＡのアプリケーション・プログラム（カプセル化文書１０１の通信機能に係る拡張プログラム１１２）が起動する。通信可能状態になると、自分の情報（図１８に示す要求パケット）をＵＤＰ（マルチキャスト送信手段２０）で送信することにより、ホストＢおよびホストＣに対してホストＡの情報（要求パケット）を通知することができる。
【０１７９】
この通知を受け取ったホストＢおよびホストＣは、ホストＡの情報（要求パケット）に基づき、自分の情報（図１８に示す受信応答パケット）をＴＣＰ／ＩＰ（コネクション型送受信手段２２）で返信する。これにより、ホストＡはホストＢおよびホストＣの情報を得ることができ、この状態を通信が確立した状態とする。
【０１８０】
通信確立後、データの送受信を行う。ホストＡがデータＵＤＰ（マルチキャスト送信手段２０）で送信した後（送信する前でも良い）、マルチキャストした旨を通知する送信確認通知をホストＢおよびホストＣへＴＣＰ／ＩＰ（コネクション型送受信手段２２）にて送信する。
【０１８１】
これに対して、ホストＢおよびホストＣは、データを受け取っていれば、受信応答パケットをＴＣＰ／ＩＰ（コネクション型送受信手段２２）にて返信する。
【０１８２】
ホストＡでは、受信応答がなければ、自動的にデータを再度送信するなどの処理を実行する。
【０１８３】
ここに、相互にネットワーク接続された複数のコンピュータ１間でのパケットデータの送受信にあたり、まず、ユニキャスト接続により通信が確立され、この通信が確立された少なくとも１以上のコンピュータ１に対して、マルチキャスト通信とユニキャスト通信とを必要に応じて使い分けてデータ送信が行なわれる。これにより、サーバを介さないピアツーピア的なネットワーク形態の下に、データ送信時のネットワークトラフィックの軽減を図ることが可能になるとともに、マルチキャスト通信の信頼性を向上させることが可能になる。
【０１８４】
［実施例］
以上において説明した本実施の形態のデータ通信方法を用いたアプリケーションについて、具体例を挙げて説明する。
【０１８５】
［第一の実施例］
まず、本実施の形態のデータ通信方法を用いたアプリケーションである会議システムについて説明する。
【０１８６】
会議においては使われる資料が事前に配布されている場合がある。この資料が、通信機能を備えるカプセル化文書１０１で作成されているものとする。また、会議出席者は、このカプセル化文書１０１を事前に取得し、また、このカプセル化文書１０１を表示可能なディスプレイ９を備えたコンピュータ１を所持しており、それらはネットワーク７に繋がっているものとする。このカプセル化文書１０１を用いて会議を開催する。
【０１８７】
まず、会議の開始にあたって通信の確立を行う。カプセル化文書１０１の拡張プログラム１１２は、所定の操作に基づいて選択指示されたデジタル情報ファイル（テキスト情報１０３、メディア情報１０４）をディスプレイ９に表示する動作を実行する。図３４に、ディスプレイ９に表示されたデジタル文書Ｘを示す。図３４に示すように、ディスプレイ９に表示されたデジタル文書Ｘには通信ボタンｏを出現させ、この通信ボタンｏをマウス１１でクリックすることにより、マルチキャスト送信手段２０を用いて要求パケットが送信される。これらの操作は、会議参加者全員が自分のコンピュータ１のディスプレイ９に表示されたデジタル文書Ｘ上で同様の操作を行う。通信可能になったデジタル文書Ｘは、他のデジタル文書Ｘからの要求パケットを受け取り、そのパケットを送信してきたホストに対してコネクション型送受信手段２２を用いて受信応答パケットを送信する。こうすることにより、それぞれのデジタル文書Ｘの通信が確立し、会議内容データの送受信の準備が整う。ここで、例えば会議の主催者は、参加者全員との通信が確立されているかどうかのチェックを行う。通信状態になると、例えば図３５に示すような参加者チェックボタンｐ、データ送信ボタンｑがデジタル文書Ｘに現れる。参加者チェックボタンｐをマウス１１でクリックすると通信が確立されているホストの一覧（図２２参照）が、その「ユーザ名」ｇ、「ネットワークアドレス」ｂ、「ホスト名」ｃなどの情報に基づいてディスプレイ９に表示される。この一覧から抜けている参加者があれば、図２２中のダイアログＤに「ネットワークアドレス」もしくは「ホスト名」を入力することにより、コネクション型送受信手段２２を用いて要求パケットの送信が行われ、再度所望の相手との通信の確立が図られる。
【０１８８】
会議中は、図３５中のデータ送信ボタンｑをマウス１１でクリックすることにより、データ（マルチキャストパケット）がマルチキャスト送信手段２０を用いて送信される。ここで送るデータは、例えば文書の状態情報であるとする。例えば、動画Ｖを再生している状態でデータ送信ボタンｑが押されれば、マルチキャストした旨がコネクション型送受信手段２２を用いて通知され、それを受け取った側のデジタル文書Ｘにおいても動画Ｖが表示される。また、ある画像が表示されている状態で送信されれば、他のデジタル文書Ｘにおいてもその画像が表示される。
【０１８９】
基本的に通信確立後のデータの送信はマルチキャスト送信手段２０を用いてマルチキャストで行うが、トランスポート層プロトコルにＵＤＰを用いた送信になるために通信の信頼性が低いため、所望のホストにデータが届かない場合が発生するという問題が起こり得る。この場合は、前述したような受信応答確認機能によってそれぞれのデータ送信を常にチェックし、その受信応答があるかどうかをチェックする。受信応答がない場合にはデータの再送信を行う。以上の処理は自動的に行われる。
【０１９０】
なお、ここでは、データ送信ボタンｑを設けたが、何らかのアクション（ページ送り、画像表示／非表示、動画像表示／非表示など）が起こった場合に、自動的に状態情報データをマルチキャストするようにしても良い。
【０１９１】
また、会議システムを考えた場合には、遠隔地とのデータ通信を行う必要が出てくることが考えられる。遠隔地とのデータをやりとりする場合まず気になるのが、遠隔地とデータをやりとりする過程でデータの傍受が行われないかということである。そこで、データ通信を暗号化して行うための暗号化モードを設けるようにしても良い。例えば、暗号化モードボタン（図示せず）をマウス１１でクリックすれば、暗号鍵要求パケットを通信確立しているホストに対して送信することにより、暗号化通信の準備をはじめるようにしても良い。また、通信確立と同時に自動的に暗号鍵要求パケットを送信し、データ通信は必ず暗号化して行うようにしても良い。
【０１９２】
さらに、ルータなどのネットワーク機器によってはマルチキャストに対応していないものもあるため、遠隔地にある端末との通信には、コネクション型送受信手段２２を用いて通信を確立したほうが良い場合もある。この場合、データのやり取りもコネクション型送受信手段２２を用いることになる。
【０１９３】
［第二の実施例］
次に、本実施の形態の通信方法を用いたアプリケーションである教育システムについて説明する。
【０１９４】
教育システムにおいては、使用するテキストを通信機能を備えるカプセル化文書１０１で作成すると有用である。このテキストは、ＣＤ−Ｒなどのメディアに焼いて生徒たちに配ると良い。教室では先生、生徒のそれぞれが、このカプセル化文書１０１を表示可能なディスプレイ９を備えたコンピュータ１が用意されており、それらはＬＡＮに繋がっているものとする。
【０１９５】
第一の実施例で説明した会議システムと同様に、カプセル化文書１０１の拡張プログラム１１２は、所定の操作に基づいて選択指示されたデジタル情報ファイル（テキスト情報１０３、メディア情報１０４）をディスプレイ９に表示する動作を実行する。ディスプレイ９に表示されたテキスト中の通信ボタンをマウス１１でクリックすることにより、マルチキャスト送信手段２０を用いて要求パケットが送信される。基本的には、先生のコンピュータ１と生徒たちのコンピュータ１とのコネクションの確立が行われれば良い。また、遠隔地の生徒に対しては事前に先生のコンピュータ１のネットワークアドレスを知らせておき、生徒がそのコンピュータ１とのコネクションを図るか、または、遠隔地の生徒が事前に先生にネットワークアドレスを通知しておき、先生がコネクションを図るなどすれば良い。この際の通信確立は、コネクション型送受信手段２２で行い、その後のデータ通信も遠隔地の生徒に対してコネクション型送受信手段２２を用いて行われることになる。
【０１９６】
実際の授業においては例えば、先生が重要だと思った個所をハイライトし、送信ボタンを押すと生徒たちのテキストにそれが反映されるなどが可能である。また、生徒の発言や質問に関してもテキストに関連すること、例えば「○○ページの△△はなんですか？」といった質問をする際に、生徒がディスプレイ９に表示されたテキスト中の○○ページを開いて△△をマークして送信ボタンを押すことによりその情報がマルチキャストされ、先生や他の生徒に対して質問の内容を明示できる。また、授業中の小テストなどのようにある程度プライバシーが守られるべきものは、前述したセキュリティ技術を用いて通信を行えばよい。
【０１９７】
［第二の実施の形態］
本発明の第二の実施の形態を、図３６に基づいて説明する。なお、第一の実施の形態において説明した部分と同一部分については同一符号を用い、説明も省略する（以降の実施の形態においても同様）。第一の実施の形態では、データ通信処理において、受信応答パケットの内容が"ＦＡＬＳＥ"となったホストにのみコネクション型送受信手段２２を用いてデータを再送信するデータを再度送信するようにしたが、本実施の形態においては、マルチキャスト送信手段２０を用いてデータを再送信する点でのみ異なるものである。
【０１９８】
データ（マルチキャストパケット）を受け取っていないことを示す"ＦＡＬＳＥ"である受信応答パケットを受け取ったホスト（ここでは、ホストＡ）がデータを再送信する場合、本実施の形態においては、ホストＡはマルチキャスト送信手段２０を用いてデータを再送信する。
【０１９９】
しかしながら、このように同じデータをマルチキャストすると、すでにそのデータを受け取っているホストの文書も出てくる。そこで、このように同じデータをマルチキャストする場合は、受信側でそのデータを採用するかどうかを判断させるようにしたものである。
【０２００】
再送する場合は、先に送信したデータと同じシーケンシャルナンバーを割り振ってデータを再送信する。受信側が再送されたデータを受信すると、送信元情報やシーケンシャルナンバーと自身のデータ受信情報とを照らし合わせ、既に採用済みの場合は、データは破棄する。一方、採用されていない場合は、データを取り込む。
【０２０１】
ここで言うデータ受信情報とは、どこから送られてきたか、シーケンシャルナンバーはいくつか、内容はなにかという３点であり、受信側で記録しておくものである。例えば、ホストＣが図３６に示すような受信記録を記憶保持している場合、ホストＢの問題で、ホストＣに対しても、「ホストＡ、シーケンシャルナンバー３」のデータが再送されてきた場合には、ホストＣにおいては、そのデータは破棄する。「ホストＢ、シーケンシャルナンバー２」のデータをホストＣが受け取った場合にはそのデータは取り込む。なお、受信記録は、全部記録しておくのではなく、それぞれのホストごとの最新の記録だけとっておいても良い。また、データは記録してもしなくても良い。
【０２０２】
また、マルチキャスト送信手段２０を用いてデータ（マルチキャストパケット）を再送信する前に、コネクション型送受信手段２２を用いて再度マルチキャストした旨を通知（送信確認通知）するようにしても良い。この場合には、送信確認通知と自身のデータ受信情報とを照らし合わせ、既に採用済みの場合は、データの受信を拒否するようにすれば、データの２度受けの問題が解消される。
【０２０３】
［第三の実施の形態］
本発明の第三の実施の形態を、図３７に基づいて説明する。本実施の形態は、第一の実施の形態とは、データ通信処理（ステップＳ２）の流れが異なるものである。例えば、第一の実施の形態では、データ通信処理において、データ（マルチキャストパケット）送信後に、通信が確立している各ホストに対してコネクション型送受信手段２２を用いてマルチキャストした旨を通知（送信確認通知）するようにしたが、本実施の形態においては、このような送信確認通知は行わない点で異なるものである。
【０２０４】
［本実施の形態のデータ通信処理（ステップＳ２）］
図３７は、本実施の形態のデータ通信処理の流れを示すフローチャートである。図３７に示すように、通信確立後、データ（マルチキャストパケット）送信命令があった場合（ステップＳ５１）、ホストＡで起動している文書Ａは、ＲＡＭ４もしくはＨＤＤ５に、図２４に示すような各通信相手先との各マルチキャストパケット送信時の通信成否表を作成し、各ホスト（ホストＢ，ホストＣ，ホストＤ）毎に、何回目のマルチキャストかを表わす"ｎ"をシーケンシャルナンバーｆ３にセットし、かつ、受信応答フラグｆ４に"ＦＡＬＳＥ"をセットする（ステップＳ５２）。併せて、例えば図２５に示すようなシーケンシャルナンバーｆ５とその送信命令内容ｆ６を記録しておく。
【０２０５】
次いで、ホストＡで起動している文書Ａは、データ（マルチキャストパケット）に対して「受信応答パケット送信を要求する」というあらかじめ決められたＩＤである「処理要求ＩＤ」をセットした後、マルチキャスト送信手段２０を用いてデータ（マルチキャストパケット）の送信を行う（ステップＳ５３）。
【０２０６】
続くステップＳ５４においては、受信応答パケットを受け付けるとともに、一定時間経過するのを待つ。これは、「処理要求ＩＤ」がセットされたてデータ（マルチキャストパケット）を受信した各ホスト（ホストＢ，ホストＣ，ホストＤ）は、受信記録を確認し、受信応答パケットをコネクション型送受信手段２２を用いて送信することになるため、ホストＡは受信応答パケットを受け付けるために一定時間経過するのを待つようにしたものである。
【０２０７】
この間に、受信応答パケットを受け付けた場合には、該当するホストの通信成否表の受信応答フラグｆ４を"ＴＲＵＥ"をセットする。なお、受信応答パケットのシーケンシャルナンバーは、受信したデータ（マルチキャストパケット）のシーケンシャルナンバーと同じものとする。これにより、受信応答のないものは受信応答フラグｆ４が"ＦＡＬＳＥ"のままであるので、シーケンシャルナンバーによりどのデータがどのホストに届いたか、または届いてないかの把握ができる。すなわち、受信応答フラグｆ４が"ＦＡＬＳＥ"のままのホストは、ホストＡから送信されたデータ（マルチキャストパケット）が何らかの原因で届かないため、受信応答が帰ってこないものとみなされる。
【０２０８】
ホストＡは、タイムアウト後、各ホスト（ホストＢ，ホストＣ，ホストＤ）のシーケンシャルナンバー＝"ｎ"の受信応答フラグｆ４をチェックする（ステップＳ５５）。
【０２０９】
図２７は、３回のマルチキャストパケット送信時にホストＡが記憶保持している各通信相手先との各マルチキャストパケット送信時の通信成否表である。この例では、ホストＡから３回目にマルチキャストされたパケットに対するホストＢの応答がないことがわかる。
【０２１０】
ここで、受信応答フラグｆ４が"ＴＲＵＥ"になっているホストである場合には（ステップＳ５６のＮ）、データ（マルチキャストパケット）が確実に受信されているため問題は無いが、受信応答フラグｆ４が"ＦＡＬＳＥ"のままになっているホストである場合には（ステップＳ５６のＹ）、そのシーケンシャルナンバーｆ５から送信命令内容ｆ６を引いてきて送信命令を取得し（ステップＳ５７）、そのホストに対してコネクション型送受信手段２２を用いてデータの再送信を行う（ステップＳ５８）。
【０２１１】
ステップＳ５５〜Ｓ５８の処理は、全てのホスト（ホストＢ，ホストＣ，ホストＤ）のシーケンシャルナンバー＝"ｎ"の受信応答フラグｆ４をチェックするまで（ステップＳ５９のＮ）、繰り返される。
【０２１２】
ここに、相互にネットワーク接続された複数のコンピュータ１間でのパケットデータの送受信にあたり、まず、ユニキャスト接続により通信が確立され、この通信が確立された少なくとも１以上のコンピュータ１に対して、マルチキャスト通信とユニキャスト通信とを必要に応じて使い分けてデータ送信が行なわれる。これにより、サーバを介さないピアツーピア的なネットワーク形態の下に、データ送信時のネットワークトラフィックの軽減を図ることが可能になるとともに、マルチキャスト通信の信頼性を向上させることが可能になる。
【０２１３】
【発明の効果】
請求項１記載の発明によれば、相互にネットワーク接続された複数のコンピュータ間でパケットデータを送受信するデータ通信方法であって、表現実体であるデジタル情報ファイルと、前記表現実体の表示状態を特定する表示情報ファイルと、前記表現実体の表示や各種の機能を実行するプログラムを含む動作プログラムファイルと、を単一の文書としてカプセル化したカプセル化文書における前記動作プログラムファイルの前記プログラムを、コンピュータに読み取らせることにより、パケットデータを特定多数のコンピュータに対してマルチキャスト送信するためのマルチキャスト送信手段と、前記パケットデータを受信するためのマルチキャスト受信手段と、特定の前記コンピュータと１対１のユニキャスト接続でデータを送受信するためのデータ送受信手段と、を前記各コンピュータに具備させ、コンピュータ間でのデータ送信に際し、少なくとも１以上の前記コンピュータを指定してユニキャスト接続で通信を確立する通信確立ステップと、前記通信確立ステップにより通信が確立した少なくとも１以上の前記コンピュータに対して、マルチキャスト又はユニキャストのいずれかでデータを通信するデータ通信ステップと、をコンピュータで実現させることにより、サーバを介さないピアツーピア的なネットワーク形態の下に、データ送信時のネットワークトラフィックの軽減を図ることができるとともに、マルチキャスト通信の信頼性を向上させることができる。また、デジタル情報ファイルや表示情報ファイルとともに、マルチキャスト送信手段と、マルチキャスト受信手段と、コネクション型データ送受信手段とをコンピュータに実現させるプログラムが単一の文書としてカプセル化されるので、その取り扱いや管理を極めて容易にすることができる。
【０２１４】
請求項２記載の発明によれば、相互にネットワーク接続された複数のコンピュータ間でパケットデータを送受信するデータ通信方法であって、パケットデータを特定多数のコンピュータに対してマルチキャスト送信するためのマルチキャスト送信手段と、前記パケットデータを受信するためのマルチキャスト受信手段と、特定の前記コンピュータと１対１のユニキャスト接続でデータを送受信するためのデータ送受信手段と、を前記各コンピュータに具備させ、コンピュータ間でのデータ送信に際し、少なくとも１以上の前記コンピュータを指定してユニキャスト接続で通信を確立する通信確立ステップは、一のコンピュータの前記マルチキャスト送信手段を用いてハンドシェイク相手を特定するための前記パケットデータである要求パケットを送信する要求信号送信ステップと、送信されてきた前記要求パケットを他のコンピュータが前記マルチキャスト受信手段を用いて受け取る要求信号受信ステップと、前記要求パケットを受け取った前記他のコンピュータが、前記データ送受信手段を用いて前記要求パケットを送信してきた前記一のコンピュータとのコネクションを確定するコネクション確定ステップとからなり、前記通信確立ステップにより通信が確立した少なくとも１以上の前記コンピュータに対して、マルチキャスト又はユニキャストのいずれかでデータを通信するデータ通信ステップと、をコンピュータで実現させることにより、サーバを介さないピアツーピア的なネットワーク形態の下に、データ送信時のネットワークトラフィックの軽減を図ることができるとともに、マルチキャスト通信の信頼性を向上させることができる。また、特定多数のコンピュータとのコネクションを容易に確立することができる。
【０２１５】
請求項３記載の発明によれば、請求項１又は２記載のデータ通信方法において、前記マルチキャスト送信手段及び前記マルチキャスト受信手段のトランスポート層プロトコルはＵＤＰ（User Datagram Protocol）で、前記データ送受信手段のトランスポート層プロトコルはＴＣＰ（Transmission Control Protocol）／ＩＰであることにより、マルチキャスト送信手段、マルチキャスト受信手段及びコネクション型データ送受信手段について、それぞれソフトウェア的に実現することができる。
【０２１６】
請求項４記載の発明によれば、請求項２又は３記載のデータ通信方法において、前記要求パケットは、当該要求パケットを送信する前記一のコンピュータに係る属性情報と前記他のコンピュータに対する処理要求を特定する処理要求ＩＤとを含むことにより、要求パケットの送信先に対して、要求パケットを送信したコンピュータに係る各種の情報を伝達することができる。
【０２１７】
請求項５記載の発明によれば、請求項４記載のデータ通信方法において、前記一のコンピュータに係る属性情報は、少なくとも当該コンピュータのネットワークアドレスを有していることにより、要求パケットの送信先に対して、確実に所定の応答を返信することができる。
【０２１８】
請求項６記載の発明によれば、請求項４又は５記載のデータ通信方法において、前記要求信号受信ステップは、受け取った前記要求パケットの内容を要求パケット送信先情報として前記要求パケットを受け取った前記コンピュータの記憶部に記憶する要求パケット送信先記憶ステップを含むことにより、その情報に基づいてデータ送信の有無の確認等の各種の処理を行うことができる。
【０２１９】
請求項７記載の発明によれば、請求項２記載のデータ通信方法において、前記コネクション確定ステップは、コネクションが確定した場合に、コネクションが確定した前記他のコンピュータに係る属性情報を通信相手先情報として前記要求パケットを送信した前記一のコンピュータの記憶部に記憶する通信相手先記憶ステップを含むことことにより、その情報に基づいて受信応答の確認やデータ送信先の指定等の各種の処理を行うことができる。
【０２２０】
請求項８記載の発明によれば、請求項４記載のデータ通信方法において、前記他のコンピュータに係る属性情報は、少なくとも当該コンピュータのネットワークアドレスを有していることにより、コネクションが確定したコンピュータに対して、確実に所定の要求を送信することができる。
【０２２１】
請求項９記載の発明によれば、請求項８記載のデータ通信方法において、前記要求パケットを送信した前記一のコンピュータの記憶部に記憶された前記通信相手先情報を報知する通信確立相手報知ステップを含むことにより、マルチキャストによる要求パケット送信により通信を確立できなかったコンピュータを把握することができる。
【０２２２】
請求項１０記載の発明によれば、請求項９記載のデータ通信方法において、意図した前記コンピュータとのコネクションが確定していない場合、コネクションが確定していない前記コンピュータに対して前記一のコンピュータの前記データ送受信手段を用いて前記要求パケットを送信してコネクションを確定する要求信号再送信ステップを含み、マルチキャストによる要求パケット送信で通信が確立できなかった場合に、ネットワークアドレスを指定してユニキャスト通信によって要求パケットを送信することにより、マルチキャストでパケットデータが届かないような環境にあるコンピュータに対して再度通信の確立を試みることができる。
【０２２３】
請求項１１記載の発明によれば、請求項１又は２記載のデータ通信方法において、前記データ通信ステップは、前記一のコンピュータの前記マルチキャスト送信手段を用い、通信が確立している前記他のコンピュータに対して前記データを送信するデータ送信ステップと、送信されてきた前記データを前記他のコンピュータが前記マルチキャスト受信手段を用いて受け取るデータ受信ステップと、前記一のコンピュータの前記データ送受信手段を用いて前記データが前記他のコンピュータに確実に送信されたか否かを判定するデータ送信判定ステップと、を含み、コネクション確立後にマルチキャストによるデータの送受信を行ない、送信したデータを確実に送信したか否かを判定することにより、データ送信時のネットワークトラフィックの軽減を図ることができるとともに、マルチキャスト通信の信頼性を向上させることができる。
【０２２４】
請求項１２記載の発明によれば、請求項１１記載のデータ通信方法において、前記データ送信判定ステップは、前記一のコンピュータの前記データ送受信手段を用い、通信が確立している前記他のコンピュータに対してデータを送信した旨を伝える送信通知パケットを送信する送信通知送信ステップと、送信されてきた前記送信通知パケットを前記他のコンピュータが前記データ送受信手段を用いて受け取る送信通知受信ステップと、送信されてきた前記送信通知パケットに従って前記データが前記他のコンピュータに確実に送信されたか否かをチェックする送信状況チェックステップと、少なくとも前記チェック結果がデータ未送信であった場合には、そのチェック結果を前記他のコンピュータの前記データ送受信手段を用いて前記一のコンピュータに対して送信する結果送信ステップと、送信されてきた前記チェック結果を前記一のコンピュータの前記データ送受信手段を用いて受信する結果受信ステップと、を含み、マルチキャストによるデータの送信に対し、コネクション型データ送受信手段でデータを送信した旨を伝える送信通知パケットを送信先に送信してデータが確実に送信されたか否かをチェックさせ、少なくともチェック結果がデータ未送信であった場合にはそのチェック結果を返答させることにより、マルチキャストによるデータが届いているかどうかを確認することができる。
【０２２５】
請求項１３記載の発明によれば、請求項１１記載のデータ通信方法において、前記データ送信判定ステップの判定結果がデータ未送信であった前記コンピュータに対して、前記一のコンピュータの前記データ送受信手段を用い、当該コンピュータに対して前記データを再度送信する第１のデータ再送信ステップを含み、マルチキャストによるデータが届いていないコンピュータがあった場合には、当該コンピュータに対してデータをユニキャスト通信により再送信することにより、データ通信の信頼性の向上を図ることができる。
【０２２６】
請求項１４記載の発明によれば、請求項１１記載のデータ通信方法において、前記データ送信判定ステップの判定結果がデータ未送信であった前記コンピュータに対して、前記一のコンピュータの前記マルチキャスト送信手段を用い、通信が確立している前記他のコンピュータに対して前記データを再度送信する第２のデータ再送信ステップを含み、マルチキャストによるデータが届いていないコンピュータがあった場合には、データをマルチキャスト通信により通信が確立しているコンピュータに対して再送信することにより、データ通信の信頼性の向上を図ることができる。
【０２２７】
請求項１５記載の発明によれば、請求項１４記載のデータ通信方法において、前記一のコンピュータの前記データ送受信手段を用い、通信が確立している前記他のコンピュータに対してデータを送信した旨を伝える送信通知パケットを送信する再送信通知送信ステップを含み、ユニキャスト通信により再度マルチキャストした旨を通知することにより、既に受信済みの場合は、データの受信を拒否するようにすれば、データの２度受けの問題を解消することができる。
【０２２８】
請求項１６記載の発明は、請求項７記載のデータ通信方法において、前記通信相手先記憶ステップで前記一のコンピュータの記憶部に記憶された前記通信相手先情報には、前記カプセル化文書に含まれる前記文書タイトルを含み、前記通信相手先情報を参照して同一の前記文書タイトルを有する前記他のコンピュータを特定し、その特定された前記他のコンピュータにのみデータを送信する第１の特定相手データ送信ステップを含むことにより、各コンピュータが記憶保持する通信相手先情報に基づき、同一の文書タイトルを有するコンピュータにのみデータ送信を行うことができる。
【０２２９】
請求項１７記載の発明によれば、請求項７記載のデータ通信方法において、前記通信相手先記憶ステップで前記一のコンピュータの記憶部に記憶された前記通信相手先情報を参照して所望の前記他のコンピュータを特定し、その特定された前記他のコンピュータに向けてデータを送信する第２の特定相手データ送信ステップを含むことにより、コンピュータの記憶部に記憶された通信相手先情報に基づき、特定のコンピュータを指定してデータを送信することができる。
【０２３０】
請求項１８記載の発明によれば、請求項１７記載のデータ通信方法において、前記第２の特定相手データ送信ステップにおける前記データの送信は、特定された前記他のコンピュータのみに前記データ送受信手段を用いて送ることにより、特定多数のコンピュータの中から更に特定のコンピュータを絞り込んでその特定のコンピュータのみにデータを送信することができる。
【０２３１】
請求項１９記載の発明によれば、請求項１７記載のデータ通信方法において、前記第２の特定相手データ送信ステップにおける前記データの送信は、特定された前記他のコンピュータ向けという情報を含めて前記マルチキャスト送信手段を用いて送ることにより、マルチキャストにより特定多数のコンピュータにデータを送信した場合であっても、特定多数のコンピュータの中から更に特定のコンピュータを絞り込んでその特定のコンピュータのみにデータを送信することができる。
【０２３２】
請求項２０記載の発明によれば、請求項１１記載のデータ通信方法において、前記他のコンピュータが通信環境が悪いネットワーク経路に位置するか否かを判定するネットワーク環境判定ステップと、このネットワーク環境判定ステップにより通信環境が悪いネットワーク経路に位置すると判定された前記他のコンピュータのコンピュータに対しては、前記一のコンピュータの前記データ送受信手段を用いて前記データを送信する悪環境相手データ送信ステップと、を含むことにより、通信環境が悪いネットワーク経路上のコンピュータに対しては、信頼性の高いユニキャスト通信によりデータを送信することができる。
【０２３３】
請求項２１記載の発明によれば、請求項２０記載のデータ通信方法において、前記ネットワーク環境判定ステップにおける通信環境が悪いネットワーク経路に位置するか否かの判定は、前記データ送信判定ステップにおける判定結果に基づくことにより、所定のコンピュータが、通信環境が悪いネットワーク経路上にあるか否かの判定を容易に行うことができる。
【０２３４】
請求項２２記載の発明によれば、請求項１〜２１のいずれか一つに記載のデータ通信方法において、送信する前記データを暗号化する暗号化ステップと、受信した暗号化された前記データを復号する復号化ステップと、を含み、送受信するデータを暗号化することにより、より機密性の高いデータ通信を行うことができる。
【０２３５】
請求項２３記載の発明のコンピュータによれば、他のコンピュータとネットワーク接続されるコンピュータにおいて、前記コンピュータは、表現実体であるデジタル情報ファイルと、前記表現実体の表示状態を特定する表示情報ファイルと、前記表現実体の表示や各種の機能を実行するプログラムを含む動作プログラムファイルと、を単一の文書としてカプセル化したカプセル化文書における前記動作プログラムファイルの前記プログラムを実行して、パケットデータを特定多数のコンピュータに対してマルチキャスト送信するためのマルチキャスト送信手段と、前記パケットデータを受信するためのマルチキャスト受信手段と、特定の前記コンピュータと１対１のユニキャスト接続でデータを送受信するためのデータ送受信手段と、を前記コンピュータに具備させ、コンピュータ間でのデータ送信に際し、少なくとも１以上のコンピュータを指定して前記データ送受信手段で通信を確立する通信確立ステップと、前記通信確立ステップにより通信が確立した少なくとも１以上のコンピュータに対して、マルチキャスト送信手段、マルチキャスト受信手段又はデータ送受信手段のいずれかでデータを通信するデータ通信ステップと、を実行することにより、サーバを介さないピアツーピア的なネットワーク形態の下に、データ送信時のネットワークトラフィックの軽減を図ることができるとともに、マルチキャスト通信の信頼性を向上させることができる。また、デジタル情報ファイルや表示情報ファイルとともに、マルチキャスト送信手段と、マルチキャスト受信手段と、コネクション型データ送受信手段とをコンピュータに実現させるプログラムが単一の文書としてカプセル化されるので、その取り扱いや管理を極めて容易にすることができる。
【０２３６】
請求項２４記載の発明のプログラムによれば、他のコンピュータと相互にネットワーク接続されるコンピュータに実行される、表現実体であるデジタル情報ファイルと、前記表現実体の表示状態を特定する表示情報ファイルと、前記表現実体の表示や各種の機能を実行するプログラムを含む動作プログラムファイルと、を単一の文書としてカプセル化したカプセル化文書における前記動作プログラムファイル内のプログラムであって、パケットデータを特定多数のコンピュータに対してマルチキャスト送信するためのマルチキャスト送信機能と、前記パケットデータを受信するためのマルチキャスト受信機能と、特定の前記コンピュータと１対１のユニキャスト接続でデータを送受信するためのデータ送受信機能と、コンピュータ間でのデータ送信に際し、少なくとも１以上の前記コンピュータを指定してユニキャスト接続で通信を確立させる通信確立機能と、前記通信確立機能により通信が確立した少なくとも１以上の前記コンピュータに対して、マルチキャスト又はユニキャストのいずれかでデータを通信するデータ通信機能と、を実行させることにより、サーバを介さないピアツーピア的なネットワーク形態の下に、データ送信時のネットワークトラフィックの軽減を図ることができるとともに、マルチキャスト通信の信頼性を向上させることができる。また、デジタル情報ファイルや表示情報ファイルとともに、マルチキャスト送信手段と、マルチキャスト受信手段と、コネクション型データ送受信手段とをコンピュータに実現させるプログラムが単一の文書としてカプセル化されるので、その取り扱いや管理を極めて容易にすることができる。
【０２３７】
請求項２５記載の発明の記憶媒体によれば、請求項２４記載のプログラムをコンピュータに実行させることにより、サーバを介さないピアツーピア的なネットワーク形態の下に、データ送信時のネットワークトラフィックの軽減を図ることができるとともに、マルチキャスト通信の信頼性を向上させることができる。また、デジタル情報ファイルや表示情報ファイルとともに、マルチキャスト送信手段と、マルチキャスト受信手段と、コネクション型データ送受信手段とをコンピュータに実現させるプログラムが単一の文書としてカプセル化されるので、その取り扱いや管理を極めて容易にすることができる。
【図面の簡単な説明】
【図１】  本発明の第一の実施の形態のカプセル化文書のデータ構造を示す模式図である。
【図２】  書庫ファイルのデータ構造の一例を示す模式図である。
【図３】  書庫ファイルの別のデータ構造の一例を示す模式図である。
【図４】  カプセル化文書に格納されているプログラムのデータ構造を示す模式図である。
【図５】  プログラムに含まれている拡張プログラム参照ファイルのデータ構造を示す模式図である。
【図６】  ＸＭＬによって記述されたカプセル化文書の一例を示す模式図である。
【図７】  図６に示すようにＸＭＬで記述されたカプセル化文書の表示例を示す模式図である。
【図８】  パーソナル・コンピュータ（コンピュータ）のハードウェア構成図である。
【図９】  パーソナル・コンピュータ（コンピュータ）によるカプセル化文書の文書閲覧処理の流れを示すフローチャートである。
【図１０】  メディアの種類と拡張プログラムとの対応関係を規定するファイルのファイル構造を示す模式図である。
【図１１】  拡張プログラムによる動画画像である表示画像の静止画画像としての表示機能及びその再生機能を例示する模式図である。
【図１２】  拡張プログラムによる音声再生機能及び再生音声のテキスト情報化機能を例示する模式図である。
【図１３】  カプセル化文書に含ませる拡張プログラムの構造を示す模式図である。
【図１４】  ３つのデジタル情報（ＰＲＧ１、ＰＲＧ２、ＰＲＧ３）を表示している文書表示例を示す模式図である。
【図１５】  カプセル化文書が発揮する通信機能による通信処理の流れを示すフローチャートである。
【図１６】  カプセル化文書が発揮する通信機能に係る各種手段を示すブロック図である。
【図１７】  １対１のコンピュータ間でのカプセル化文書間における通信確立処理の流れを示すフローチャートである。
【図１８】  要求パケットおよび受信応答パケットの内容を例示的に示す模式図である。
【図１９】  四台のコンピュータ間での通信確立状態を示す模式図である。
【図２０】  ホストに記憶保持されている情報を示す模式図である。
【図２１】  通信確立確認処理の流れを示すフローチャートである。
【図２２】  ディスプレイに表示される相手先情報を示す模式図である。
【図２３】  送信確認通知の内容を示す模式図である。
【図２４】  マルチキャストパケット送信時の通信成否表を示す模式図である。
【図２５】  シーケンシャルナンバーとその送信命令内容を示す模式図である。
【図２６】  送信元のホスト毎に記憶されたシーケンシャルナンバーとその送信命令内容を示す模式図である。
【図２７】  環境フラグを加えたマルチキャストパケット送信時の通信成否表を示す模式図である。
【図２８】  特定多数の中からさらに特定の相手を絞り込んでその特定の相手のみにデータを送信する際の処理の流れを示すフローチャートである。
【図２９】  通信を確立している相手の中から特定の相手を選んでデータを送信する際の処理の流れを示すフローチャートである。
【図３０】  ディスプレイに表示されるチェックボックス付きの相手先情報を示す模式図である。
【図３１】  ＵＤＰで送信した場合における受信側のホストでの処理の流れを示すフローチャートである。
【図３２】  公開鍵を含む通信相手先情報を示す模式図である。
【図３３】  通信確立からデータ送信についての基本的な流れを概略的に示すデータ通信シーケンスである。
【図３４】  会議システムにおいてディスプレイに表示されたデジタル文書を示す模式図である。
【図３５】  通信状態になったデジタル文書を示す模式図である。
【図３６】  本発明の第二の実施の形態のデータ受信情報を示す模式図である。
【図３７】  本発明の第三の実施の形態のデータ通信処理の流れを示すフローチャートである。
【符号の説明】
１        コンピュータ
４，５    記憶部
６        記憶媒体
７        ネットワーク
２０      マルチキャスト送信手段
２１      マルチキャスト受信手段
２２      コネクション型データ送受信手段
１０１    カプセル化文書
１０２    表示情報ファイル
１０３，１０４    デジタル情報ファイル
１０５    動作プログラムファイル
【図１】
0003920675.tif 000002
【図２】
0003920675.tif 000003
【図３】
0003920675.tif 000004
【図４】
0003920675.tif 000005
【図５】
0003920675.tif 000006
【図６】
0003920675.tif 000007
【図７】
0003920675.tif 000008
【図８】
0003920675.tif 000009
【図９】
0003920675.tif 000010
【図１０】
0003920675.tif 000011
【図１１】
0003920675.tif 000012
【図１２】
0003920675.tif 000013
【図１３】
0003920675.tif 000014
【図１４】
0003920675.tif 000015
【図１５】
0003920675.tif 000016
【図１６】
0003920675.tif 000017
【図１７】
0003920675.tif 000018
【図１８】
0003920675.tif 000019
【図１９】
0003920675.tif 000020
【図２０】
0003920675.tif 000021
【図２１】
0003920675.tif 000022
【図２２】
0003920675.tif 000023
【図２３】
0003920675.tif 000024
【図２４】
0003920675.tif 000025
【図２５】
0003920675.tif 000026
【図２６】
0003920675.tif 000027
【図２７】
0003920675.tif 000028
【図２８】
0003920675.tif 000029
【図２９】
0003920675.tif 000030
【図３０】
0003920675.tif 000031
【図３１】
0003920675.tif 000032
【図３２】
0003920675.tif 000033
【図３３】
0003920675.tif 000034
【図３４】
0003920675.tif 000035
【図３５】
0003920675.tif 000036
【図３６】
0003920675.tif 000037
【図３７】
0003920675.tif 000038