(57)【要約】【課題】コンピュータによってネットワーク通信機能を実現化するための最適な方法を提案することで、より良い文書コミュニケーションを可能にする。【解決手段】文書の内容を表すコンテンツと共にプログラムコードを有するカプセル化文書ファイル構造において、プログラムコードの一つとして転送用プログラムコードと送受信用プログラムコードがある。転送用プログラムコードはコンピュータによって解釈、実行され転送用プロセスとして動作し、また送受信用プログラムコードはコンピュータによって解釈、実行され送受信用プロセスとして動作する。転送用プロセスは、送受信用プロセスから受信した情報を他の転送用プロセスに送信すると共に、他の転送プロセスから送信された情報を受信し、送受信用プロセスに送信するような送受信した情報を転送する動作を行う。【選択図】図１
2007114879.tif 000002
【特許請求の範囲】
【請求項１】
予め特定されたポート番号でソケットの接続を待ち受けるソケット待ち受け手段と、前記特定のポート番号でソケットを接続するソケット接続手段とを備えたネットワーク機能を有する端末装置に用いられる構造化文書であって、
構造内にプログラム部とコンテンツ部が設けられ、
前記プログラム部に設けられるプログラムには、
前記ソケット待ち受け手段により接続されたソケットや前記ソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を前記複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、
前記情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードと
を少なくとも有することを特徴とする構造化文書。
【請求項２】
予め特定されたポート番号でソケットの接続を待ち受けるソケット待ち受け手段と、前記特定のポート番号でソケットを接続するソケット接続手段とを備えたネットワーク機能を有する端末装置に用いられる構造化文書であって、
構造内にプログラム部とコンテンツ部が設けられ、
前記プログラム部に設けられるプログラムには、
前記ソケット待ち受け手段により接続されたソケットや前記ソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報の中の任意のプログラムコードに処理を行わせる受信プログラム配置手段を実現するプログラムコードと、
前記ソケット待ち受け手段により接続されたソケットや前記ソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を前記複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、
前記情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードと
を少なくとも有することを特徴とする構造化文書。
【請求項３】
前記プログラム部に設けられるプログラムには、前記情報配信手段を実現するプログラムコードが現在動作しているか否かを検出する情報配信手段動作検出手段を実現するプログラムコードをさらに有することを特徴とする請求項１または２に記載の構造化文書。
【請求項４】
前記プログラム部に設けられるプログラムには、前記情報配信手段動作検出手段の検出結果に基づいて前記情報配信手段の実行を決定する前記情報配信手段実行手段を実現するプログラムコードをさらに有することを特徴とする請求項３記載の構造化文書。
【請求項５】
前記プログラム部に設けられるプログラムには、前記予め特定されたポート番号設定情報を保持し、前記特定のポート番号を設定するポート番号設定手段を実現するプログラムコードを有することを特徴とする請求項１〜４のいずれかに記載の構造化文書。
【請求項６】
前記プログラム部に設けられるプログラムには、前記ネットワーク通信機能を有する端末装置によって前記特定のポート番号を取得するポート番号取得手段を実現するプログラムコードを有することを特徴とする請求項１〜４のいずれかに記載の構造化文書。
【請求項７】
前記情報送受信手段が送受信する情報には前記情報配信手段の配信方法を決定する配信方法決定情報が設けられ、
前記プログラム部に設けられるプログラムには、前記情報配信手段は前記配信方法決定情報に基づいて配信方法を決定するプログラムコードを有することを特徴とする請求項１〜６のいずれかに記載の構造化文書。
【請求項８】
前記プログラム部に設けられるプログラムには、前記接続済みソケットから受信した受信情報を元に前記情報送受信手段のソケット接続手段の接続先を決定し新たな接続を行うプログラムコードを有することを特徴とする請求項１〜７のいずれかに記載の構造化文書。
【請求項９】
予め特定されたポート番号でソケットの接続を待ち受けるソケット待ち受け手段と、前記特定のポート番号でソケットを接続するソケット接続手段とを備えたネットワーク機能を有する端末装置であって、
前記ソケット待ち受け手段により接続されたソケットや前記ソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を前記複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、前記情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとを少なくとも有する構造化文書が設けられ、
起動プログラム中に前記構造化文書内のプログラムコードを実行する手段が設けられることを特徴とする端末装置。
【請求項１０】
予め特定されたポート番号でソケットの接続を待ち受けるソケット待ち受け手段と、前記特定のポート番号でソケットを接続するソケット接続手段とを備えたネットワーク機能を有する端末装置であって、
前記ソケット待ち受け手段により接続されたソケットや前記ソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報の中の任意のプログラムコードに処理を行わせる受信プログラム配置手段を実現するプログラムコードと、前記ソケット待ち受け手段により接続されたソケットや前記ソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を前記複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、前記情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとを少なくとも有する構造化文書が設けられ、
起動プログラム中に前記構造化文書内のプログラムコードを実行する手段が設けられることを特徴とする端末装置。
【請求項１１】
構造化文書の構造内にプログラム部とコンテンツ部を形成し、
端末装置のソケット待ち受け手段により接続されたソケットや前記端末装置のソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を前記複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、前記情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとを前記プログラム部に設ける手段を実現する構造化文書の作成プログラム。
【請求項１２】
構造化文書の構造内にプログラム部とコンテンツ部を形成し、
端末装置のソケット待ち受け手段により接続されたソケットや前記端末装置のソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報の中の任意のプログラムコードに処理を行わせる受信プログラム配置手段を実現するプログラムコードと、前記ソケット待ち受け手段により接続されたソケットや前記ソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を前記複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、前記情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとを前記プログラム部に設ける手段を実現する構造化文書の作成プログラム。
【請求項１３】
構造化文書の構造内にプログラム部とコンテンツ部を形成し、
端末装置のソケット待ち受け手段により接続されたソケットや前記端末装置のソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を前記複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、前記情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとを前記プログラム部に設ける
ことを特徴とする構造化文書の作成装置。
【請求項１４】
構造化文書の構造内にプログラム部とコンテンツ部を形成し、
前記プログラム部に、端末装置のソケット待ち受け手段により接続されたソケットや前記端末装置のソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報の中の任意のプログラムコードに処理を行わせる受信プログラム配置手段を実現するプログラムコードと、前記ソケット待ち受け手段により接続されたソケットや前記ソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を前記複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、前記情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとを設ける
ことを特徴とする構造化文書の作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばコンピュータネットワーク上で文書間のコミュニケーションを行う際に利用して好適な構造化文書、端末装置、構造化文書の作成プログラム及び構造化文書の作成装置に関する。詳しくは、サーバ、クライアント方式を用いることなく、文書間における表示、作成、編集等のコミュニケーションが良好に行われるようにしたものである。
【背景技術】
【０００２】
従来のコンピュータネットワーク上でのコミュニケーション手段では、サーバ、クライアント方式が一般的に用いられている（例えば、特許文献１及び２参照。）。
【０００３】
また、本願出願人は、先にプログラムを付加した文書構造として構造化文書（カプセル化文書）を提案しているものである（例えば、特許文献３及び４参照。）。
【０００４】
すなわち、従来は、コンピュータネットワーク上でのコミュニケーション手段として、サーバ、クライアント方式が一般的に用いられる。一方、本願出願人は、プログラムを付加した文書構造として構造化文書（カプセル化文書）を提案しているものである。
【特許文献１】特開２００４−２５２８７７号公報
【特許文献２】特開２００４−２３５６９６号公報
【特許文献３】特開２００３−１５９４１号公報
【特許文献４】特開２００４−１９３７８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
現在インターネット等のコンピュータ間の通信技術が発達し、多くの情報がデジタル情報として伝送され、利用されている。その中でもＩＰ（Internet Protocol）やその上位プロトコルであるＴＣＰ（Transmission Control Protocol）の発達が目覚しく、多くのコンピュータ間の通信はＴＣＰ／ＩＰで行われている。このＴＣＰ／ＩＰはネットワーク上の相手をＩＰアドレスとポート番号で指定することで仮想的に通信経路を決定し、通信を行うものである。
【０００６】
通常コンピュータ間で通信を行う場合には、接続を待ち受けるサーバとそれに接続するクライアントがあり、現在インターネット上のＷＷＷ（World-Wide Web）サーバは、８０ポートを常に見張って接続を待っている。これに対してクライアントである一般的なパーソナルコンピュータは、ウェブブラウザと呼ぶアプリケーションプログラムにより相手先サーバに８０ポートで接続を行い、ウェブページの取得、表示等を行っている。このような方式は通常サーバ、クライアント方式と呼ばれている。
【０００７】
またサーバ、クライアント方式以外では、パーソナルコンピュータ間で相互に接続するＰ２Ｐ方式も使われている。しかしながら、これらの方式はいずれもＩＰアドレスとポート番号の組み合わせを元に通信を確立しているものであり、通信が特定ポートで確立しているために、第三者にこの番号が漏洩した場合には不正アクセスの恐れが生じる。そこでこのような技術基盤に対して、上述の特許文献１に記載の技術では、定期的にポート番号を変えることで不正アクセスを防止する技術が開示されている。
【０００８】
さらに、特許文献２に記載の技術では、通信を行う通信端末の両端の同一ポート番号を指定して、そのポート番号経由の通信は優先制御、帯域保証をするファイル転送通信サービスについて記載されている。
【０００９】
ところで、本発明の最適な応用例は、文書によるネットワークコミュニケーションである。ここで、通常のコンピュータで扱われる文書は規定のファイルフォーマットに則ったデジタル情報ファイルであり、例えば図４８に示すように、通常は特定の文書ファイルを読み込み、表示、作成、編集等を行うためのアプリケーションプログラムを用いることにより、文書として取り扱うことが可能となるものである。
【００１０】
すなわち、多くの文書ファイルはこのようなアプリケーションプログラムを用いることによって利用可能となるものであり、文書ファイルそのものは単なる文書の内容（コンテンツ）を表すデジタルデータに過ぎない。そしてこのような文書ファイルは、上述のようなアプリケーションプログラムがあって初めて、表示や作成、編集等が行うことが可能になるものである。
【００１１】
これに対して本出願人は、上述の特許文献３において文書ファイルに、文書を表示、動作させるプログラムを付加したカプセル化文書を提案している。これは大まかに言うと、図４９に示すような構造の文書ファイルである。そして、このようなカプセル化文書を利用したネットワークコミュニケーションに関しても幾つかの技術を開示しており、その代表的なものとして特許文献４に記載の技術を提案している。
【００１２】
すなわち、従来ネットワークを使ったコミュニケーションは、例えば図５０に示すように特定のネットワークコミュニケーションアプリケーションによってコミュニケーションを行っていたものである。これに対し、カプセル化文書にネットワーク通信機能を付加することによって、図５１に示すように文書間でのネットワークコミュニケーションを可能にすることができるようになる。
【００１３】
この発明はこのような問題点に鑑みて成されたものであって、本発明の目的は、コンピュータによってこのカプセル化文書（構造化文書）のネットワーク通信機能を実現化するための最適な方法を提案することで、より良い文書コミュニケーションを可能にするものである。
【課題を解決するための手段】
【００１４】
上記の課題を解決し、本発明の目的を達成するため、請求項１に記載された発明は、予め特定されたポート番号でソケットの接続を待ち受けるソケット待ち受け手段と、特定のポート番号でソケットを接続するソケット接続手段とを備えたネットワーク機能を有する端末装置に用いられる構造化文書であって、構造内にプログラム部とコンテンツ部が設けられ、プログラム部に設けられるプログラムには、ソケット待ち受け手段により接続されたソケットやソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとを少なくとも有することを特徴とする構造化文書である。
【００１５】
また、本発明の目的を達成するため、請求項２に記載された発明は、予め特定されたポート番号でソケットの接続を待ち受けるソケット待ち受け手段と、特定のポート番号でソケットを接続するソケット接続手段とを備えたネットワーク機能を有する端末装置に用いられる構造化文書であって、構造内にプログラム部とコンテンツ部が設けられ、プログラム部に設けられるプログラムには、ソケット待ち受け手段により接続されたソケットやソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報の中の任意のプログラムコードに処理を行わせる受信プログラム配置手段を実現するプログラムコードと、ソケット待ち受け手段により接続されたソケットやソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとを少なくとも有することを特徴とする構造化文書である。
【００１６】
さらに、請求項３に記載の構造化文書においては、プログラム部に設けられるプログラムには、情報配信手段を実現するプログラムコードが現在動作しているか否かを検出する情報配信手段動作検出手段を実現するプログラムコードをさらに有することを特徴とするものである。
【００１７】
請求項４に記載の構造化文書においては、プログラム部に設けられるプログラムには、情報配信手段動作検出手段の検出結果に基づいて情報配信手段の実行を決定する情報配信手段実行手段を実現するプログラムコードをさらに有することを特徴とするものである。
【００１８】
請求項５に記載の構造化文書においては、プログラム部に設けられるプログラムには、予め特定されたポート番号設定情報を保持し、特定のポート番号を設定するポート番号設定手段を実現するプログラムコードを有することを特徴とするものである。
【００１９】
請求項６に記載の構造化文書においては、プログラム部に設けられるプログラムには、ネットワーク通信機能を有する端末装置によって特定のポート番号を取得するポート番号取得手段を実現するプログラムコードを有することを特徴とするものである。
【００２０】
請求項７に記載の構造化文書においては、情報送受信手段が送受信する情報には情報配信手段の配信方法を決定する配信方法決定情報が設けられ、プログラム部に設けられるプログラムには、情報配信手段は配信方法決定情報に基づいて配信方法を決定するプログラムコードを有することを特徴とするものである。
【００２１】
請求項８に記載の構造化文書においては、プログラム部に設けられるプログラムには、接続済みソケットから受信した受信情報を元に情報送受信手段のソケット接続手段の接続先を決定し新たな接続を行うプログラムコードを有することを特徴とするものである。
【００２２】
さらに、本発明の目的を達成するため、請求項９に記載された発明は、予め特定されたポート番号でソケットの接続を待ち受けるソケット待ち受け手段と、特定のポート番号でソケットを接続するソケット接続手段とを備えたネットワーク機能を有する端末装置であって、ソケット待ち受け手段により接続されたソケットやソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとを少なくとも有する構造化文書が設けられ、起動プログラム中に構造化文書内のプログラムコードを実行する手段が設けられることを特徴とする端末装置である。
【００２３】
また、本発明の目的を達成するため、請求項１０に記載された発明は、予め特定されたポート番号でソケットの接続を待ち受けるソケット待ち受け手段と、特定のポート番号でソケットを接続するソケット接続手段とを備えたネットワーク機能を有する端末装置であって、ソケット待ち受け手段により接続されたソケットやソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報の中の任意のプログラムコードに処理を行わせる受信プログラム配置手段を実現するプログラムコードと、ソケット待ち受け手段により接続されたソケットやソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとを少なくとも有する構造化文書が設けられ、起動プログラム中に構造化文書内のプログラムコードを実行する手段が設けられることを特徴とする端末装置である。
【００２４】
さらに、本発明の目的を達成するため、請求項１１に記載された発明は、構造化文書の構造内にプログラム部とコンテンツ部を形成し、端末装置のソケット待ち受け手段により接続されたソケットや端末装置のソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとをプログラム部に設ける手段を実現する構造化文書の作成プログラムである。
【００２５】
また、本発明の目的を達成するため、請求項１２に記載された発明は、構造化文書の構造内にプログラム部とコンテンツ部を形成し、端末装置のソケット待ち受け手段により接続されたソケットや端末装置のソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報の中の任意のプログラムコードに処理を行わせる受信プログラム配置手段を実現するプログラムコードと、ソケット待ち受け手段により接続されたソケットやソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとをプログラム部に設ける手段を実現する構造化文書の作成プログラムである。
【００２６】
さらに、本発明の目的を達成するため、請求項１３に記載された発明は、構造化文書の構造内にプログラム部とコンテンツ部を形成し、端末装置のソケット待ち受け手段により接続されたソケットや端末装置のソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとをプログラム部に設けることを特徴とする構造化文書の作成装置である。
【００２７】
また、本発明の目的を達成するため、請求項１４に記載された発明は、構造化文書の構造内にプログラム部とコンテンツ部を形成し、プログラム部に、端末装置のソケット待ち受け手段により接続されたソケットや端末装置のソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報の中の任意のプログラムコードに処理を行わせる受信プログラム配置手段を実現するプログラムコードと、ソケット待ち受け手段により接続されたソケットやソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとを設けることを特徴とする構造化文書の作成装置である。
【発明の効果】
【００２８】
したがって、上述した各請求項に記載の本発明の構造化文書、端末装置、構造化文書の作成プログラム及び構造化文書の作成装置によれば、コンピュータによってこのカプセル化文書（構造化文書）のネットワーク通信機能を実現化するための最適な方法を提案することで、より良い文書コミュニケーションを可能にすることができる。
【発明を実施するための最良の形態】
【００２９】
図４９のような文書の内容を表すコンテンツとともにプログラムコードを有するカプセル化文書ファイル構造において、幾つかのプログラムコードの一つとして転送用プログラムコードと送受信用プログラムコードがある。ここで転送用プログラムコードはコンピュータによって解釈、実行され転送用プロセスとして動作するものであり、また送受信用プログラムコードはコンピュータによって解釈、実行され送受信用プロセスとして動作するものである。
【００３０】
すなわち、転送用プロセスは、図１に示すように送受信用プロセスから受信した情報を他の転送用プロセスに送信すると共に、他の転送プロセスから送信された情報を受信し、送受信用プロセスに送信するような送受信した情報を転送する動作を行う。さらに送受信用プロセスは取得した情報を転送プロセスに送信することと転送プロセスから情報を受信する。また図２に示すように転送プロセスは複数の送受信プロセスからの情報を受信し、転送したり、他の転送プロセスからの情報を複数の送受信プロセスに配信したりする。
【００３１】
また、図３に示すように文書Ａの転送プロセスと送受信プロセスがあった場合には、文書Ａの転送プロセスは文書Ａの送受信プロセスに情報を取得、配信すると共に、文書Ｂの送受信プロセスの情報を取得、配信する機能も備える。つまり、図４に示すようにＰＣ上では一つの転送プロセスが動作し、複数文書の送受信プロセスからの情報を取得して他のＰＣの転送プロセスに転送すると共に他のＰＣで稼動している転送プロセスから転送されてきた情報をＰＣ上で稼動している送受信プロセスに配信する。
【００３２】
これに対して、このような転送プロセスを介さずに送受信プロセスが直接ネットワークを通じて情報を送受信することもできるが、その場合には、図５に示すようになって、より多くの接続が必要になるものである。またこの場合には、文書Ａ、文書Ｂはそれぞれ異なるポートで接続を待ち受ける必要が生じる。
【００３３】
次にこのような転送プロセスと送受信プロセス動作について述べる。転送プロセスは、図６に示すようにソケット接続を待受けるソケット待受け手段と、他のコンピュータの転送プロセスのソケット待受け手段に接続するソケット接続手段と、接続されたソケットを通じて受信した情報を他のソケットを通じて情報を送信する情報配信手段とからなる。また送受信プロセスは、図７に示すように転送プロセスのソケット待受け手段に接続するソケット接続手段と、接続されたソケットを通じ情報を送受信する情報送受信手段とからなる。
【００３４】
そこでまず文書が起動されると、後述する起動プログラムが図８に示すように文書内の転送用プログラムコードを読みだし、転送プロセスを起動し、転送プロセスがコンピュータ上で稼動する。次に送受信プロセスを起動し、送受信プロセスが稼動し、メインとなるルーチンが終了する。次に起動された転送プロセスの概要に付いて述べると、図９に示すように転送プロセスはコンピュータ上に他の転送プロセスが動作しているかをチェックする。
【００３５】
このチェックはオペレーティングシステムにプロセスの稼動状態を問い合わせても良いし、他の転送プロセスが動作している場合は後述するようにソケット待受けスレッドが特定のポートでソケットを待受けているのでこれを検出しても良い。通常同一のコンピュータ上では同一のポートでソケットを待受けることが出来ない。何故ならば同一のポートで異なるプログラムが接続すると送受信する情報が混合してしまうためである。
【００３６】
このようにして転送プロセスの動作を検出し他の転送プロセスが動作している場合にはその他の処理を取りやめて終了する。つまり転送プロセスを終了させる。また、他の転送プロセスが動作していない場合にはソケット接続を待受けるソケット待受けスレッドを開始すると共にソケットによって受信した情報を配信する情報配信スレッドを開始し、転送プロセスの起動動作が終了する。
【００３７】
ここまでプロセスとスレッドと言う言葉を使ったが、双方とも一般的なＯＳ等のマルチタスク機能に基づく並列動作を表し、プロセスは独立して動作し、通常他のプロセスとはメモリを共有しないもので、スレッドはプロセス内で並列に複数稼動しているもので、スレッド間ではメモリを共有するものである。つまり図式的には図１０に示すような関係になるものである。
【００３８】
次に送受信プロセスに付いて説明する。ここでは、図１１に示すように送受信プロセスが開始されると最初に転送プロセスのソケット待受けスレッドが監視しているポートに接続する。接続後、接続されたソケットからの情報を受信する受信スレッドと接続したソケットへ情報を送信する送信スレッドを起動し、開始させ、その他の処理に移る。
【００３９】
次にソケット待ちうけスレッド、情報配信スレッド、受信スレッド、送信スレッドに付いて説明する。ソケット待受けスレッドの動作は図１２に示すようにまず接続を待受けるポート番号を取得する。これに付いては予め監視するポートが固定値の場合はプログラム内に固定値を記述し、保持しても良いし、ネットワーク文書内に設定値を保持させても良い。また文書起動時に閲覧者に監視するポート番号を入力することを促すダイアログを表示しても良い。
【００４０】
次に取得したポート番号に対する接続要求を監視し、接続要求が発生するまで監視し、接続された場合には図１２のＡのような受信スレッドと、図１２のＢのような送信スレッドを起動させ、再びポート監視を繰り返す。ここで受信スレッドは図示に示すように接続されたソケットから情報を受信すると受信した情報を送信バッファに伝達するループを繰り返す。また送信スレッドは図示に示すように送信情報を取得し、取得した情報を接続したソケットに送信するループを繰り返す。
【００４１】
さらに情報配信スレッドは、図１３に示すように送信バッファから情報を取得し、各送信スレッドに送信情報を伝達し、送信バッファから送信情報を削除するループを繰り返す。つまりソケット待受けスレッドがソケットを接続されると図１４に示すように接続された幾つかのソケットの受信スレッドがそれぞれ受信情報を送信バッファに伝達すると共に情報配信スレッドが送信バッファから受信情報を取り出し幾つかの送信スレッドに伝達することで送信スレッドが情報を伝達する。このようにすることで接続されたソケットからの受信情報を接続されたソケットに送信することで転送プロセスは情報を配信できる。
【００４２】
次に図１１の送受信プロセスの受信スレッドと送信スレッドの動作について説明する。送受信プロセスの受信スレッドは図１５に示すようにソケットからの情報を受信し、受信した情報を何らかの形で出力する動作を繰り返す。また送信スレッドは図１６に示すように送信情報を取得し、ソケットに情報を送信する動作を繰り返す。
【００４３】
そして、例えば文書が図１７のような加筆情報を表示するパネルの場合には、図１８に示すように送受信プロセスは図１１のソケット接続、スレッド開始と共に表示パネルの表示や、加筆座標の取得の機能を持つ表示パネルコンポーネントを動作させる。つまり表示パネルコンポーネントは表示領域内でのマウス操作を検出し、その座標値を送信スレッドに送信するまた受信スレッドから座標値を取得し、その座標値に基づいて線分を表示することでマウスの移動に伴った表示を行う。
【００４４】
これにより、図１９に示すように表示パネルを表示している表示パネルコンポーネントはマウス座標を取得し、送受信プロセスの送信スレッドに伝達し、送信スレッドは伝達された情報をソケットを通じて転送プロセスに送信し、転送プロセスのソケットを通し受信スレッドは情報を受信すると共に送信バッファに伝達する。さらに伝達された受信情報を情報配信スレッドは送信バッファから取得し、送信スレッドに伝達し、送信スレッドはソケットを通じて送受信プロセスの受信スレッドに送信する。
【００４５】
また、送受信プロセスの受信スレッドは受信した受信情報を表示パネルに伝達し、表示パネルは伝達された座標情報を線分として表示する。そして転送プロセスのソケット待受け手段は複数の送受信プロセスからの接続要求に対し接続を行い、ここでは例えば図３に示すように接続されているので文書Ａでの情報は文書Ｂ等に同時に配信される。
【００４６】
このようにして、一つの表示コンポーネントで加筆のためマウスを動かすと同時に複数のコンポーネントで線分表示がなされる。つまり図２０に示すように一つの表示コンポーネントの加筆動作が転送プロセスを通じて他の表示コンポーネントに伝達される。
【００４７】
ここまでは情報伝達が転送プロセスと送受信プロセス間の情報伝達に付いて説明した。次に転送プロセス間の通信に付いて述べる。すなわちここまでは転送プロセスは送受信プロセスのソケット接続手段の接続要求によって、転送プロセスと送受信プロセスがソケット接続され、この接続を通し、送受信プロセスが転送プロセスを通じ他の送受信プロセスに情報を送受信してきた。
【００４８】
これに対して、後述する送受信プロセスからの接続要求に対し転送プロセスのソケット接続手段が他の転送プロセスのソケット待受け手段にソケットを接続する。つまり図２１に示すように既に転送プロセスとソケット接続された情報送受信手段を経由して転送プロセスの情報配信手段に接続要求を送信し、転送プロセスは接続要求によって他の転送プロセスのソケット待受け手段に接続を行うことで転送プロセス間のソケット接続を行う。
【００４９】
つまりソケット接続手段は図２２のＡに示すように接続要求があった場合には指定ＩＰ、指定ポートで相手先の転送プロセスに接続する接続後、図１２の接続待受けスレッドと同様に受信スレッドと送信スレッドを起動する。図２２のＢ、図２２のＣの受信スレッドと送信スレッドは図１２のＢ、図１２のＣと同様に受信情報を送信バッファに伝達すると共に情報配信スレッドを通じて受信情報を取得し、送信スレッドが情報を送信する。
【００５０】
この場合に、ソケット接続待受け手段で接続されたソケットを用いて送受信を行う送信スレッド、受信スレッドとソケット接続手段で接続したソケットを用いて送受信を行う送信スレッド、受信スレッドの違いはなく、単にソケット待受け手段で受動的にソケット接続されたか、ソケット接続手段で能動的にソケット接続されたかの接続時点での違いのみである。
【００５１】
また転送プロセスの送信スレッド、受信スレッドは転送プロセス間の接続と転送プロセスと送受信プロセスとの送信スレッド、受信スレッドとの差異もない。つまり転送プロセスで動作している各スレッド間は同じ動作を行う。
【００５２】
次に前述の接続要求を含めた情報伝達方法に付いて説明する。まず転送プロセス、送受信プロセスは図２３のようなフォーマットで情報を伝達する。メッセージ番号は送受信する情報の種類を表す番号である。これによって送信されてきた情報がどのようなメッセージであるかが分かる。次が文書ＩＤである。これは文書固有のＩＤでこれによって文書を判別出来る具体的には異なる種類の文書からの送信情報を適切に同じ種類の文書に送信するために使用できる。
【００５３】
次が送信元ＩＤで送信元を判断でき、不要な情報を破棄する等に使用する。次が送信先ＩＤでこれによって特定の相手に送信する場合に使用する。次は送信Ｎｏでこれは送信した情報の通し番号でこれによって未受信の情報を検出できる。次が送信情報サイズでこれによって送信情報のサイズが特定できる。
【００５４】
このような送受信を行う情報のフォーマットを使用することで送受信される情報の内容が不明でも、上記フォーマットで規定されている部分を調べることで、どのような情報が送信されてきたかが把握できる。またこのようなフォーマットは説明のための例であり、異なる形式でも良い。
【００５５】
次に情報の種類を表すメッセージ番号に付いて述べると、図２４に示すように番号１は通常の情報送信で番号２は他の転送プロセスに接続要求を行う接続要求を表す。番号３は参加要求を表し、番号４は退席要求を表す。これは図２５に示すように送受信プロセスからの接続要求に対し転送プロセスはソケットを接続する。また参加要求に対しこれ以降、要求された送受信プロセスに番号1の通常情報を伝達する退席要求がなされると通常情報は伝達されない。
【００５６】
このようにすることで送受信手段から任意の転送プロセスに接続すると共に通常の情報を受けたり遮断したりできる。つまり図２６のようなフォーマットの情報を送受信プロセスが送信することで指定のＩＰアドレスで接続したコンピュータ上の転送プロセスの待受け手段に接続できる。またポート番号は通常固定のポートにすることが望ましいのであえて送信する必要はない。
【００５７】
つまり転送プロセスは特定のポートで接続を待受けると共に、送受信手段からの番号２のメッセージを元にソケット接続を行う接続手段によって任意の転送プロセス間の接続が可能であると共に、接続後はこれらのメッセージのフォーマットに従って情報を適切に配信できる。
【００５８】
次にこのようなメッセージによる動作を決める部分に付いて説明する。これは図１２のＣで説明した情報配信スレッド部分を図２７に示すようにすることで良い。つまり転送プロセスの受信スレッドが受信し、送信バッファに伝達した情報を情報配信スレッドが送信バッファから取得し、取得した情報は図２３のようなフォーマットのメッセージになっているので、メッセージ番号を調べメッセージ番号に基づいて動作し、その後送信バッファから送信情報を削除すれば良い。
【００５９】
具体的には図２８に示すように番号１の場合は通常の情報伝達であるので各送信スレッドに送信情報を伝達し、送信スレッドに情報を送信させる。また番号２の場合は接続要求なので図２２に示すようにソケット接続を行えばよい。
【００６０】
このようにすることで、送受信プロセスで伝達する情報の種類に応じて図２３のようなフォーマットのメッセージの形で送信情報を作成し、送受信プロセスの送信スレッドでメッセージを転送プロセスの受信スレッドにメッセージを送信し、転送プロセスは受信したメッセージの種類に応じて動作を決定することで適当な動作を行うことが出来る。つまりメッセージの種類を表すメッセージ番号を定義すると共にメッセージに対応した動作を図２７の部分で行うことで転送プロセスは送受信プロセスの指示通りに動作できる。
【００６１】
ここまではメッセージの種類に対する動作を固定的な例で説明したが、以下には拡張可能な例に付いて説明する。ここで転送手段は図２９に示すように新たに受信プログラム配置手段を有し、受信プログラム配置手段は図３０に示すように図２３の受信メッセージの送信情報から実行プログラムコードを取得する。そして次にコードを現在動作中のプログラムにリンクする。
【００６２】
具体的にはプログラムコードがバイナリコードのダイナミックライブラリの場合にはメモリ上にロードし、リンクし、必要なときにロードすればよい、また前記プログラムコードがＪＡＶＡ等の中間コードの場合には中間コードをクラスローダでメモリ上にロードすればよい。このような拡張プログラム配置を含む場合のメッセージの種類に基づく動作は図３１に示すようになる。
【００６３】
ここではメッセージ番号１０は拡張プログラムメッセージを表すと定義されているとすると、番号１０のメッセージを情報配信手段が送信バッファから取得した場合は図３０に示すようにメッセージからコードを取得し、メモリ上にコードをリンクする拡張プログラム配置を行う。またこの拡張プログラムは引数としてメッセージを受け付けるインターフェースを持つサブルーチンを持っており、メッセージ番号１１から１００の範囲のメッセージに対して動作するとする。
【００６４】
すなわち、メッセージ番号１１から１００の範囲のメッセージを情報配信手段が受け取ると拡張プログラムの上記関数に処理を引き渡す。このようにすることで送受信プロセスは必要に応じて特殊な処理を転送プロセスに行わせることが出来る。
【００６５】
また図３２に示すように拡張プログラムコードを送信し、その拡張プログラムに処理を依頼するメッセージを送信後、再度別の拡張プログラムコードを送信し、拡張プログラムに処理を依頼するメッセージを送信できる。つまりこのような形式を採ることで最低限の機能を有する情報配信手段を行うプログラムを用意し、必要に応じて処理を変更できる。
【００６６】
このような拡張プログラムコードは、例えば必要に応じて送信メッセージを暗号化するような処理を行っても良いし、前述の転送プロセスの送信スレッド、受信スレッド、ソケット待受けスレッド、ソケット接続スレッド等を別の方式に変更するようにしても良い。このようにすることで転送プロセスのネットワーク通信に用いるプロトコルを動的に変更できる。
【００６７】
さらに、例えば必要に応じてポート番号を変更したり、優先度に応じて送信順序を変更してり、情報の種類に応じてＴＣＰ（Transmission Control Protocol）のようなコネクション型の送信方式からＵＤＰ（User Datagram Protocol）のような非コネクション型の通信に切り替えたりしても良い。またここでの拡張プログラムは通信関連の機能以外に利用しても良い。
【００６８】
また、例えば図３３に示すように送受信プロセスは、コンピュータによって種種の処理を行う処理コンポーネントの動作を行う処理コンポーネントプログラムコードや、表示動作を行う表示コンポーネントの表示コンポーネントプログラムコードや、ＩＯアクセスを行うＩＯコンポーネントのＩＯコンポーネントプログラムコードなどを転送プロセスに送信し、転送プロセスはこれらのコードをメモリ上に配置、実行するようにしても良い。
【００６９】
このようにすることで、より多くの送受信プロセスと共通したコンポーネントを共有できる。また共有することでメモリの消費が削減できる。またＩＯアクセスを転送プロセスに委譲することで送受信プロセスのアクセス権を厳しくし、転送プロセスのみがＩＯアクセスを許可することで不正なプログラムを送受信プロセスに混入することが防げる。
【００７０】
さらに本発明の実施形態を、転送用プログラムコードと送受信用プログラムコードを有するカプセル化文書を例にとって説明する。これは図４９あるいは図１のようなカプセル化文書であるが、より詳細には図３４のような構造のカプセル化文書である。具体的には全ての動作に先立って開始される開始用プログラムコードと、上述の転送用プログラムコードと送受信プログラムコードと拡張プログラムコードと全体の動作等を定義する定義情報と文書の内容であるコンテンツ情報からなる。
【００７１】
それぞれのプログラムコードは汎用性から考えるとＪＡＶＡ等の中間言語等で記述されていることが望ましい。また定義情報は通常メタ情報記述言語であるＸＭＬ（eXtensible Mark-up Language）で記述されていることが望ましい。コンテンツ情報は文書の内容を表すものでＸＭＬ、ＳＧＭＬ（Standard Generalized Markup Language）、ＨＴＭＬ（HyperText Markup Language）、ＳＶＧ等で文書レイアウトを記述すると共に、静止画等はＪＰＥＧ、ＴＩＦＦ等の画像フォーマットで保持したり、動画等はＭＰＥＧ等で保持し、各コンテンツはバラバラに汎用的なフォーマットで保持されることが望ましい。
【００７２】
これらの情報を適当なカプセル化手段で一つのファイルに統合してものがカプセル化文書である。カプセル化手段はＺＩＰ等の汎用的なアーカイブ構造を用いることが望ましい。このようにすることでカプセル化文書は簡単に加工編集ができる。従来の電子文書の場合文書中の画像を編集するのは文書編集アプリを利用したが、カプセル化文書の場合には汎用的なフォーマットを利用しているので画像編集専用のアプリが利用でき、高度な編集が可能である。
【００７３】
このようなカプセル化文書を起動するために図３５に示すように起動用プログラムが必要である。これは通常カプセル化文書の拡張子等に関連付けＯＳのＳＨＥＬＬシステムに登録し、カプセル化文書自身をマウス等で閲覧指示した場合にファイルの関連付けに基づいて起動プログラムが起動すると共にカプセル化文書を起動する。また最適な例としてはこのようなカプセル化文書を起動する起動用プログラムがＳＨＥＬＬシステムの一部になっていることが最適である。
【００７４】
まずユーザが閲覧したいカプセル化文書をマウス等でクリックし、閲覧を指示するとＯＳのＳＨＥＬＬシステムはこの文書ファイルに関連付けられた起動プログラムを起動し、起動プログラムは図３６に示すようにカプセル化文書の開始用プログラムを独立したプロセスとして起動し、動作を委譲して終了する。
【００７５】
次に開始用プログラムは図３７に示すようにカプセル化文書内の定義情報を読み込み、転送用プログラムを独立したプロセスとして起動し、転送用プログラムに情報を送受信するために送受信スレッドを起動する。その後は定義情報に基づいて文書の表示等を行う。つまり図３８に示すようにユーザの指示のもと起動プログラムのプロセスが起動し、開始用プログラムの開始から始まるカプセル化文書プロセスを開始させ、起動プロセスは終了する。
【００７６】
以上のようにして、カプセル化文書プロセスは転送用プロセスを起動すると共に定義情報に基づいて送受信プログラムを介して転送プロセスに情報を送受信し、転送用プロセスは送られてきた情報を他のコンピュータの転送プロセスに情報を送信したり、送られてきた拡張プログラムコードを実行したりする。また拡張プログラムは転送用プロセスで実行するものとカプセル化文書プロセスで実行するものと両方あっても良い。
【００７７】
さらに、このような転送プロセスとそれに対しアクセスする送受信プログラムのコードをカプセル化文書に格納した構造にすることで、柔軟に情報を送受信したり、プログラムを複数の文書で共有したりできる。また必要に応じて拡張プログラムを転送プロセスが他のコンピュータに転送することでネットワーク全体に渡ったプログラム共有が簡単に行える。
【００７８】
なお以上の説明では本発明の特徴を示すためにフローを通じて述べたが、各プロセス、スレッドの終了や、エラー処理は本発明の骨子に関係無いので割愛した。またメッセージの種類等もここで説明した例以外にも幾つか考えられるが必要に応じて追加すればよい。
【００７９】
また転送プロセスの受信スレッドによって受信した受信情報を送信情報として転送する場合にも受信した受信スレッドとペアとなる送信スレッドには送る必要がなく、情報を転送する場合には最適に送信する必要があるがこれらはメッセージの送信元情報等を利用することで適切に処理できる。これらについてもアプリケーションによって色々なバラエティが考えられるが発明の骨子とは関係ないので記載していない。
【００８０】
また文書での利用方法についても加筆を例にとって説明したが、その他の使い方として、テキスト編集や、ページ切り替え、画像の拡大縮小等のあらゆるユーザ操作を送受信プログラムは転送プロセスに送受信できるのでコンピュータに入力されるあらゆる情報を各カプセル化文書間で共有でき、説明のための加筆機能に限定されないのは言うまでもない。
【００８１】
つまり本発明は、従来は電子文書はローカルなコンピュータ上で扱われ、必要に応じてネットワークを通じて配信されているものに対し、転送プロセスを介しダイナミックにネットワークを通じ文書間で情報をやり取りするものである。
【００８２】
さらに以下には、文書間コミュニケーションの構成を用いた具体的な実施例について説明する。ここでは図５１、または図５の様に文書を使ったコミュニケーションの実施例を述べるとする。
【００８３】
まずネットワーク越しにコミュニケーションを行う文書を各ユーザが起動する。具体的にはユーザＡがコンピュータＡ上で文書Ａを起動する。またユーザＢがコンピュータＢ上で文書Ｂを起動する。各文書は起動時に図３９に示すように転送プロセス、送受信プロセスを起動すると共に、ユーザ操作を待受けるアイドル状態に移行する。この時には各コンピュータ上では図４０に示すように転送プロセスと、送受信プロセスが独立して動作している。
【００８４】
そこで図２４に示すようなメッセージを図２５に示すように送信することでコミュニケーションに参加したり退席したりすることで文書間のネットワークコミュニケーションが行われる。この時には図４１に示すように転送プロセスを通じてコンピュータＡ上の文書ＡとコンピュータＢ上の文書Ｂが相互に接続される。また図３９に示すようにユーザが文書に対し終了操作を行うことで文書が閉じられる。
【００８５】
具体例としては文書を起動すると図４２に示すような外観の文書が表示される。上部にはコミュニケーションの状態を変える接続ボタンと、退席ボタンや文書のページを変えるページ操作ボタン、文書に加筆して相互にコミュニケーションを行う加筆操作ボタン等、左側には通信相手を表示する領域、中央には文書の内容を表示する領域がある。
【００８６】
そこでまずユーザが接続ボタンを押すと図４３に示すような入力フレームが表示され、通信相手を入力する。具体的には相手のＩＰアドレスや、コンピュータ名、ユーザネーム等が考えられる。ＩＰアドレス以外は最終的にＩＰアドレスが得るためのサービスがネットワーク上に存在する必要がある。コンピュータ名の場合には通常のＤＮＳサービス、ユーザ名の場合にもディレクトリィサービスによりＩＰアドレスが取得できる。これ等に付いては本発明の骨子とは関連しないので度のような方法を用いても良い。
【００８７】
このように接続相手を決定すると後述する流れで通信相手に接続要求が送信され、接続先である文書Ｂでは図４４に示すような接続許可を入力するフレームが表示され必要に応じてユーザＢが接続を許可する。ここでは簡単な例として、接続することでコミュニケーションに参加するような例で説明するが、接続と参加を分けて行っても良い。このようにすることで文書Ａと文書Ｂが互いに相互接続されるので、図１９に示すように表示パネルの座標情報を送信することで図４５に示すように相互に加筆表示が行える。
【００８８】
これらの動作を図２４に示すようなメッセージを送信、転送することで行うことができる。具体的には図４６に示すようになる。まず文書Ａで接続ボタンが押され、相手先を入力すると送受信プロセスはそれらの情報を元に、接続を表す接続メッセージを生成し、転送プロセスに送信する。転送プロセスは送信されてきたメッセージの送信先情報から送信先の転送プロセスにメッセージを転送する。転送されてきたメッセージを受けた文書Ｂの転送プロセスはメッセージを送受信プロセスに転送する。
【００８９】
送受信プロセスは接続要求メッセージを受けることで図４４に示すような許可要求フレームを表示し、その入力情報に基づいて許可メッセージを送信元情報に基づいて送信する転送プロセスは送信先にメッセージを転送し、文書Ａの転送プロセスはメッセージを送受信プロセスに転送する。送受信プロセスは許可メッセージに基づいて接続表示を行う。
【００９０】
つまり、図２４に示すようなメッセージを送受信プロセスは作成し、転送プロセスは送られてきたメッセージの送信先情報に基づいて転送することでメッセージを転送できる。また送信先情報と共に送信元情報が共にメッセージに格納されているので受信したメッセージに対し、返答先を特定できる。このように文書Ａ，Ｂが相互に接続されると様々な情報を送信することで、文書間でコミュニケーションが可能となる。
【００９１】
なお具体的な例としてマウス操作による加筆表示を例にとると、加筆操作を行うとそれによって生成できるメッセージを送受信プロセスが転送プロセスに送信し、転送プロセスはメッセージを相手先の転送プロセスに転送し、相手先の転送プロセスは送受信プロセスにメッセージを転送することで加筆情報の伝達が行えるので、この情報を表示することで双方の文書に加筆情報が表示される。ここまでは２つの文書間で説明してきたが、３つ以上の文書でも同様にコミュニケーションがはかれる。
【００９２】
さらに、図４７を用いて、カプセル化文書を作成する文書作成編集プログラムについて簡単に述べる。文書作成編集プログラムは大きく分けて文書のコンテンツ情報を作成するエディタプログラムとカプセル化文書に内包されるプログラムコードをカプセル化文書に付加するコード追加プログラムから構成される。
【００９３】
この図４７において、エディタプログラムは通常ＧＵＩを使いコンテンツ情報を構築していくもので通常のワープロプログラムにあたる。またコード追加プログラムは単に予め用意されているプログラムコードをカプセル化文書のファイルフォーマットに基づいて追加するものである。
【００９４】
なお、これらの技術に付いては、特許文献３及び４において本願出願人により詳しく述べており、またここでは発明の骨子とは関係ないので詳しくは述べない。ただし、このようにしてユーザの操作によりプログラムコードが付加されたカプセル化文書が作成できるものである。
【００９５】
従って本発明において、コンピュータによってこのカプセル化文書（構造化文書）のネットワーク通信機能を実現化するための最適な方法を提案することで、より良い文書コミュニケーションを可能にすることができるものである。
【００９６】
こうして本発明の構造化文書によれば、予め特定されたポート番号でソケットの接続を待ち受けるソケット待ち受け手段と、特定のポート番号でソケットを接続するソケット接続手段とを備えたネットワーク機能を有する端末装置に用いられる構造化文書であって、構造内にプログラム部とコンテンツ部が設けられ、プログラム部に設けられるプログラムには、ソケット待ち受け手段により接続されたソケットやソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとを少なくとも有することにより、コンピュータによってこのカプセル化文書（構造化文書）のネットワーク通信機能を実現化するための最適な方法を提案することで、より良い文書コミュニケーションを可能にすることができる。
【００９７】
また、本発明の構造化文書によれば、予め特定されたポート番号でソケットの接続を待ち受けるソケット待ち受け手段と、特定のポート番号でソケットを接続するソケット接続手段とを備えたネットワーク機能を有する端末装置に用いられる構造化文書であって、構造内にプログラム部とコンテンツ部が設けられ、プログラム部に設けられるプログラムには、ソケット待ち受け手段により接続されたソケットやソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報の中の任意のプログラムコードに処理を行わせる受信プログラム配置手段を実現するプログラムコードと、ソケット待ち受け手段により接続されたソケットやソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとを少なくとも有することにより、コンピュータによってこのカプセル化文書（構造化文書）のネットワーク通信機能を実現化するための最適な方法を提案することで、より良い文書コミュニケーションを可能にすることができる。
【００９８】
さらに、本発明の端末装置によれば、予め特定されたポート番号でソケットの接続を待ち受けるソケット待ち受け手段と、特定のポート番号でソケットを接続するソケット接続手段とを備えたネットワーク機能を有する端末装置であって、ソケット待ち受け手段により接続されたソケットやソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとを少なくとも有する構造化文書が設けられ、起動プログラム中に構造化文書内のプログラムコードを実行する手段が設けられることにより、コンピュータによってこのカプセル化文書（構造化文書）のネットワーク通信機能を実現化するための最適な方法を提案することで、より良い文書コミュニケーションを可能にすることができる。
【００９９】
また、本発明の端末装置によれば、予め特定されたポート番号でソケットの接続を待ち受けるソケット待ち受け手段と、特定のポート番号でソケットを接続するソケット接続手段とを備えたネットワーク機能を有する端末装置であって、ソケット待ち受け手段により接続されたソケットやソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報の中の任意のプログラムコードに処理を行わせる受信プログラム配置手段を実現するプログラムコードと、ソケット待ち受け手段により接続されたソケットやソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとを少なくとも有する構造化文書が設けられ、起動プログラム中に構造化文書内のプログラムコードを実行する手段が設けられることにより、コンピュータによってこのカプセル化文書（構造化文書）のネットワーク通信機能を実現化するための最適な方法を提案することで、より良い文書コミュニケーションを可能にすることができる。
【０１００】
さらに、本発明の構造化文書の作成プログラムによれば、構造化文書の構造内にプログラム部とコンテンツ部を形成し、端末装置のソケット待ち受け手段により接続されたソケットや端末装置のソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとをプログラム部に設ける手段を実現することにより、コンピュータによってこのカプセル化文書（構造化文書）のネットワーク通信機能を実現化するための最適な方法を提案することで、より良い文書コミュニケーションを可能にすることができる。
【０１０１】
また、本発明の構造化文書の作成プログラムによれば、構造化文書の構造内にプログラム部とコンテンツ部を形成し、端末装置のソケット待ち受け手段により接続されたソケットや端末装置のソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報の中の任意のプログラムコードに処理を行わせる受信プログラム配置手段を実現するプログラムコードと、ソケット待ち受け手段により接続されたソケットやソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとをプログラム部に設ける手段を実現することにより、コンピュータによってこのカプセル化文書（構造化文書）のネットワーク通信機能を実現化するための最適な方法を提案することで、より良い文書コミュニケーションを可能にすることができる。
【０１０２】
さらに、本発明の構造化文書の作成装置によれば、構造化文書の構造内にプログラム部とコンテンツ部を形成し、端末装置のソケット待ち受け手段により接続されたソケットや端末装置のソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとをプログラム部に設けることにより、コンピュータによってこのカプセル化文書（構造化文書）のネットワーク通信機能を実現化するための最適な方法を提案することで、より良い文書コミュニケーションを可能にすることができる。
【０１０３】
また、本発明の構造化文書の作成装置によれば、構造化文書の構造内にプログラム部とコンテンツ部を形成し、プログラム部に、端末装置のソケット待ち受け手段により接続されたソケットや端末装置のソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報の中の任意のプログラムコードに処理を行わせる受信プログラム配置手段を実現するプログラムコードと、ソケット待ち受け手段により接続されたソケットやソケット接続手段で接続したソケットである複数の接続済みソケットから受信した受信情報を複数の接続済みソケットに送信する転送手段を有する情報配信手段を実現するプログラムコードと、情報配信手段のソケット待ち受け手段に接続して情報を送受信する情報送受信手段を実現するプログラムコードとを設けることにより、コンピュータによってこのカプセル化文書（構造化文書）のネットワーク通信機能を実現化するための最適な方法を提案することで、より良い文書コミュニケーションを可能にすることができる。
【０１０４】
なお本発明は、上述の説明した実施形態に限定されるものではなく、特許請求の範囲の記載を逸脱しない範囲において、種々の変形が可能とされるものである。
【図面の簡単な説明】
【０１０５】
【図１】本発明の適用される構造化文書の動作を説明するための図である。
【図２】その説明のための図である。
【図３】その説明のための図である。
【図４】その説明のための図である。
【図５】その説明のための図である。
【図６】その説明のための図である。
【図７】その説明のための図である。
【図８】その説明のための図である。
【図９】その説明のための図である。
【図１０】その説明のための図である。
【図１１】その説明のための図である。
【図１２】その説明のための図である。
【図１３】その説明のための図である。
【図１４】その説明のための図である。
【図１５】その説明のための図である。
【図１６】その説明のための図である。
【図１７】その説明のための図である。
【図１８】その説明のための図である。
【図１９】その説明のための図である。
【図２０】その説明のための図である。
【図２１】その説明のための図である。
【図２２】その説明のための図である。
【図２３】その説明のための図である。
【図２４】その説明のための図である。
【図２５】その説明のための図である。
【図２６】その説明のための図である。
【図２７】その説明のための図である。
【図２８】その説明のための図である。
【図２９】その説明のための図である。
【図３０】その説明のための図である。
【図３１】その説明のための図である。
【図３２】その説明のための図である。
【図３３】その説明のための図である。
【図３４】その説明のための図である。
【図３５】その説明のための図である。
【図３６】その説明のための図である。
【図３７】その説明のための図である。
【図３８】その説明のための図である。
【図３９】その説明のための図である。
【図４０】その説明のための図である。
【図４１】その説明のための図である。
【図４２】その説明のための図である。
【図４３】その説明のための図である。
【図４４】その説明のための図である。
【図４５】その説明のための図である。
【図４６】その説明のための図である。
【図４７】その説明のための図である。
【図４８】従来の技術の説明のための図である。
【図４９】従来の技術の説明のための図である。
【図５０】従来の技術の説明のための図である。
【図５１】従来の技術の説明のための図である。
【符号の説明】
【０１０６】
Ａ，Ｂ…文書
【図１】
2007114879.tif 000003
【図２】
2007114879.tif 000004
【図３】
2007114879.tif 000005
【図４】
2007114879.tif 000006
【図５】
2007114879.tif 000007
【図６】
2007114879.tif 000008
【図７】
2007114879.tif 000009
【図８】
2007114879.tif 000010
【図９】
2007114879.tif 000011
【図１０】
2007114879.tif 000012
【図１１】
2007114879.tif 000013
【図１２】
2007114879.tif 000014
【図１３】
2007114879.tif 000015
【図１４】
2007114879.tif 000016
【図１５】
2007114879.tif 000017
【図１６】
2007114879.tif 000018
【図１７】
2007114879.tif 000019
【図１８】
2007114879.tif 000020
【図１９】
2007114879.tif 000021
【図２０】
2007114879.tif 000022
【図２１】
2007114879.tif 000023
【図２２】
2007114879.tif 000024
【図２３】
2007114879.tif 000025
【図２４】
2007114879.tif 000026
【図２５】
2007114879.tif 000027
【図２６】
2007114879.tif 000028
【図２７】
2007114879.tif 000029
【図２８】
2007114879.tif 000030
【図２９】
2007114879.tif 000031
【図３０】
2007114879.tif 000032
【図３１】
2007114879.tif 000033
【図３２】
2007114879.tif 000034
【図３３】
2007114879.tif 000035
【図３４】
2007114879.tif 000036
【図３５】
2007114879.tif 000037
【図３６】
2007114879.tif 000038
【図３７】
2007114879.tif 000039
【図３８】
2007114879.tif 000040
【図３９】
2007114879.tif 000041
【図４０】
2007114879.tif 000042
【図４１】
2007114879.tif 000043
【図４２】
2007114879.tif 000044
【図４３】
2007114879.tif 000045
【図４４】
2007114879.tif 000046
【図４５】
2007114879.tif 000047
【図４６】
2007114879.tif 000048
【図４７】
2007114879.tif 000049
【図４８】
2007114879.tif 000050
【図４９】
2007114879.tif 000051
【図５０】
2007114879.tif 000052
【図５１】
2007114879.tif 000053