(57)【特許請求の範囲】
【請求項１】
受信したコンテンツデータをクライアント装置に送信する通信装置であって、
コンテンツデータを受信するコンテンツ取得部と、
当該コンテンツデータから前記通信装置で実行すべきスクリプトを示す予め設定された第１のタグで記述された部分を抽出するスクリプト抽出部と、
前記抽出された部分に含まれるスクリプト又は当該部分に含まれるＵＲＩにより得たスクリプトを実行するスクリプト実行部と、
前記スクリプトの実行結果を前記コンテンツデータに反映させるＤＯＭ記憶部と、
前記コンテンツデータから前記第１のタグで記述された部分を削除し、前記クライアント装置で実行されるクライアントスクリプトを示す予め設定された第２のタグを、前記第１のタグに変換するデータ変換部と、
前記データ変換部による処理後のコンテンツデータを前記クライアント装置に送信するデータ通信部と
を備えることを特徴とする通信装置。
【請求項２】
前記データ変換部は、前記第２のタグで記述された部分に複数のクライアント装置の１つを示す値が含まれる場合、当該値に対応するクライアント装置に送信するコンテンツデータについては、受信されたコンテンツデータから前記第１のタグで記述された部分を削除し、前記第２のタグを前記第１のタグに変換し、前記データ通信部は、当該変換後のコンテンツデータを当該値に対応するクライアント装置に送信する一方、
前記データ変換部は、当該値に対応するクライアント装置以外のクライアント装置に送信するコンテンツデータについては、受信されたコンテンツデータから前記第１のタグで記述された部分と前記第２のタグで記述された部分を削除し、前記データ通信部は、当該削除後のコンテンツデータを当該値に対応するクライアント装置以外のクライアント装置に送信する
ことを特徴とする請求項１記載の通信装置。
【請求項３】
受信したコンテンツデータをクライアント装置に送信する通信装置の動作方法であって、
前記通信装置のコンテンツ取得部が、コンテンツデータを受信し、
前記通信装置のスクリプト抽出部が、当該コンテンツデータから前記通信装置で実行すべきスクリプトを示す予め設定された第１のタグで記述された部分を抽出し、
前記通信装置のスクリプト実行部が、前記抽出された部分に含まれるスクリプト又は当該部分に含まれるＵＲＩにより得たスクリプトを実行し、
前記通信装置のＤＯＭ記憶部が、前記スクリプトの実行結果を前記コンテンツデータに反映させ、
前記通信装置のデータ変換部が、前記コンテンツデータから前記第１のタグで記述された部分を削除し、前記クライアント装置で実行されるクライアントスクリプトを示す予め設定された第２のタグを、前記第１のタグに変換し、
前記通信装置のデータ通信部が、前記データ変換部による処理後のコンテンツデータを前記クライアント装置に送信する
ことを特徴とする通信装置の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置およびその動作方法、クライアント装置およびその動作方法、ならびにコンテンツデータに関する。
【背景技術】
【０００２】
Ｗｅｂコンテンツ（以下、コンテンツデータ）をよりダイナミックにするために、コンテンツデータにＪａｖａＳｃｒｉｐｔ（登録商標）と呼ばれるスクリプトを記述することが知られている。コンテンツデータに記述されたＪａｖａＳｃｒｉｐｔコードは、コンテンツデータを取得して表示するＷｅｂブラウザに内蔵されたＪａｖａＳｃｒｉｐｔ実行部によって実行される。
【０００３】
非特許文献１では、コンテンツデータの一部を複数のデバイス（以下、クライアント装置）のブラウザに表示させることが提案されている。非特許文献１では、Ｗｅｂサーバとクライアント装置の間に中間ブラウザ（以下、中間ブラウザサーバ装置）を配置し、中間ブラウザサーバ装置がクライアント装置間の通信やＪａｖａＳｃｒｉｐｔコードを実行することで、複数のクライアント装置を連携させている。コンテンツデータの一部を複数のクライアント装置のブラウザに表示させることで、例えば、コンテンツデータ中に動画を表示する部分と動画を操作する部分が含まれる場合、動画の表示をテレビのブラウザで行い、動画の操作をスマートフォンのブラウザで行うことが可能となる。この場合、スマートフォン上の操作が中間ブラウザサーバ装置に送られて、中間ブラウザサーバ装置がテレビにその操作結果を表示させる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】中茂睦裕、他４名、“中間ブラウザによるマルチデバイス連携技術の提案”、第８７回ＧＮ研究発表会、情報処理学会、２０１３年３月、第2013-GN-87巻、第6号、p.1-6
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１の技術では、中間ブラウザサーバ装置がコンテンツデータに含まれるＪａｖａＳｃｒｉｐｔコードを実行し、その結果をコンテンツデータに反映し、そのコンテンツデータの一部あるいは全部が各クライアント装置のブラウザで表示される。クライアント装置のブラウザにはＪａｖａＳｃｒｉｐｔコードが配置されないため、クライアント装置のブラウザでＪａｖａＳｃｒｉｐｔコードを実行することはできない。
【０００６】
しかし、同じＪａｖａＳｃｒｉｐｔコードであっても、実行する環境に応じて実行結果が異なることがある。
【０００７】
例えば、ｇｅｔＣｕｒｒｅｎｔＰｏｓｉｔｉｏｎというメソッドでＪａｖａＳｃｒｉｐｔコードが動作している端末の現在位置を取得できる場合、利用者の端末で実行すると利用者の現在位置が取得されるが、非特許文献１の技術を用いてＪａｖａＳｃｒｉｐｔコードを中間ブラウザサーバ装置で実行すると、中間ブラウザサーバ装置の設置位置が取得される。クライアント装置でＪａｖａＳｃｒｉｐｔコードを実行することができないと利用者の現在位置を取得することができない。
【０００８】
また、例えば、ｇｅｔＵｓｅｒＭｅｄｉａというメソッドでＪａｖａＳｃｒｉｐｔが動作している端末のマイクから音声取得や、カメラからの映像取得ができる場合、利用者の端末で実行すると利用者の付近の音声や映像が取得されるが、非特許文献１の技術を用いてＪａｖａＳｃｒｉｐｔコードを中間ブラウザサーバ装置で実行すると、中間ブラウザサーバ装置の設置されている場所の音声や映像が取得される。クライアント装置でＪａｖａＳｃｒｉｐｔコードを実行することができないと利用者の付近の音声や映像を取得することができない。
【０００９】
本発明は、上記に鑑みてなされたものであり、サーバに配置された１つのコンテンツデータおよびコンテンツデータに含まれるスクリプトを、サーバからコンテンツデータおよびスクリプトを取得した中間ブラウザサーバ装置が自身で実行するだけでなく、中間ブラウザサーバ装置がコンテンツデータを表示させるクライアント装置においてもスクリプトを実行させることを目的とする。
【課題を解決するための手段】
【００１０】
第１の本発明は、受信したコンテンツデータをクライアント装置に送信する通信装置であって、コンテンツデータを受信するコンテンツ取得部と、当該コンテンツデータから前記通信装置で実行すべきスクリプトを示す予め設定された第１のタグで記述された部分を抽出するスクリプト抽出部と、前記抽出された部分に含まれるスクリプト又は当該部分に含まれるＵＲＩにより得たスクリプトを実行するスクリプト実行部と、前記スクリプトの実行結果を前記コンテンツデータに反映させるＤＯＭ記憶部と、前記コンテンツデータから前記第１のタグで記述された部分を削除し、前記クライアント装置で実行されるクライアントスクリプトを示す予め設定された第２のタグを、前記第１のタグに変換するデータ変換部と、前記データ変換部による処理後のコンテンツデータを前記クライアント装置に送信するデータ通信部とを備えることを特徴とする。
【００１１】
例えば、前記データ変換部は、前記第２のタグで記述された部分に複数のクライアント装置の１つを示す値が含まれる場合、当該値に対応するクライアント装置に送信するコンテンツデータについては、受信されたコンテンツデータから前記第１のタグで記述された部分を削除し、前記第２のタグを前記第１のタグに変換し、前記データ通信部は、当該変換後のコンテンツデータを当該値に対応するクライアント装置に送信する一方、前記データ変換部は、当該値に対応するクライアント装置以外のクライアント装置に送信するコンテンツデータについては、受信されたコンテンツデータから前記第１のタグで記述された部分と前記第２のタグで記述された部分を削除し、前記データ通信部は、当該削除後のコンテンツデータを当該値に対応するクライアント装置以外のクライアント装置に送信する。
【００１６】
第２の本発明は、受信したコンテンツデータをクライアント装置に送信する通信装置の動作方法であって、前記通信装置のコンテンツ取得部が、コンテンツデータを受信し、前記通信装置のスクリプト抽出部が、当該コンテンツデータから前記通信装置で実行すべきスクリプトを示す予め設定された第１のタグで記述された部分を抽出し、前記通信装置のスクリプト実行部が、前記抽出された部分に含まれるスクリプト又は当該部分に含まれるＵＲＩにより得たスクリプトを実行し、前記通信装置のＤＯＭ記憶部が、前記スクリプトの実行結果を前記コンテンツデータに反映させ、前記通信装置のデータ変換部が、前記コンテンツデータから前記第１のタグで記述された部分を削除し、前記クライアント装置で実行されるクライアントスクリプトを示す予め設定された第２のタグを、前記第１のタグに変換し、前記通信装置のデータ通信部が、前記データ変換部による処理後のコンテンツデータを前記クライアント装置に送信することを特徴とする。
【００１７】
第５の本発明は、クライアント装置の動作方法であって、前記クライアント装置のデータ通信部が、コンテンツデータを受信し、前記クライアント装置のデータ変換部が、前記コンテンツデータに含まれる予め設定されたタグを、スクリプトを示すタグに変換し、前記クライアント装置のスクリプト抽出部が、前記変換後のタグで記述された部分を抽出し、前記クライアント装置のスクリプト実行部が、前記抽出された部分に含まれるスクリプト又は当該部分に含まれるＵＲＩにより得たスクリプトを実行し、前記クライアント装置のＤＯＭ記憶部が、前記スクリプトの実行結果を前記コンテンツデータに反映させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、サーバに配置された１つのコンテンツデータおよびコンテンツデータに含まれるスクリプトを、サーバからコンテンツデータおよびスクリプトを取得した中間ブラウザサーバ装置が自身で実行するだけでなく、中間ブラウザサーバ装置がコンテンツデータを表示させるクライアント装置においてもスクリプトを実行させることができる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施形態における全体構成図
【図２】第１の実施形態におけるコンテンツデータの例
【図３】第１の実施形態におけるＪａｖａＳｃｒｉｐｔコードの例
【図４】図４（ａ）は、第１の実施形態におけるクライアント装置２Ａ用に変換後のコンテンツデータの例、図４（ｂ）は、第１の実施形態におけるクライアント装置２Ｂ用に変換後のコンテンツデータの例
【図５】第１の実施形態におけるクライアントスクリプトのＪａｖａＳｃｒｉｐｔコードの例
【図６】第１の実施形態における中間ブラウザサーバ装置が表示部を備える場合の全体構成図
【図７】第２の実施形態における全体構成図
【図８】第３の実施形態における全体構成図
【図９】第３の実施形態におけるＪａｖａＳｃｒｉｐｔコードの例
【図１０】第３の実施形態におけるクライアントスクリプトのＪａｖａＳｃｒｉｐｔコードの例
【図１１】第４の実施形態における全体構成図
【図１２】第５の実施形態における全体構成図
【図１３】第５の実施形態におけるコンテンツデータの例
【図１４】第５の実施形態におけるクライアント装置２Ｃが受け取るコンテンツデータの例
【図１５】第６の実施形態における全体構成図
【図１６】ブラウザグループルールの例
【図１７】グループ毎要素選択ルールの例
【図１８】第７の実施形態における全体構成図
【発明を実施するための形態】
【００２０】
［第１の実施形態］
以下、第１の実施形態について図面を用いて説明する。
【００２１】
図１は、第１の実施形態における中間ブラウザサーバ装置およびクライアント装置を含む全体構成図である。
【００２２】
中間ブラウザサーバ装置１（通信装置）は、コンテンツ配信装置３からコンテンツデータを取得し、取得したコンテンツデータからスクリプトを抽出および実行し、その結果をＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）に反映し、ＤＯＭからクライアント装置で実行するスクリプト（以下、クライアントスクリプトと呼ぶ）を抽出および変換し、クライアント装置に送信する。クライアント装置２は受信したＤＯＭからスクリプトを抽出および実行し、その結果をＤＯＭに反映し、ＤＯＭを表示する。
【００２３】
同図に示す中間ブラウザサーバ装置１は、コンテンツ取得部１１、スクリプト抽出部１２、スクリプト実行部１３、ＤＯＭ記憶部１４、データ変換部１５、データ通信部１６を備える。
【００２４】
以下、中間ブラウザサーバ装置１の各部について説明する。
【００２５】
コンテンツ取得部１１は、コンテンツ配信装置３に接続し、ＨＴＴＰ等の公知のプロトコルによって、コンテンツデータをダウンロードする。コンテンツ取得部１１により取得されたコンテンツデータはスクリプト抽出部１２に送られる。
【００２６】
図２にクライアントスクリプトを含むコンテンツデータの例を示す。この例では、クライアントスクリプトはｃｓｃｒｉｐｔ要素で指定されているファイル内に記述されている。
【００２７】
スクリプト抽出部１２は、コンテンツデータをＤＯＭ記憶部１４に送信する一方、コンテンツデータを解析して、ＪａｖａＳｃｒｉｐｔコードを抽出する。ＪａｖａＳｃｒｉｐｔコードを取得する際には、ＨＴＭＬのｓｃｒｉｐｔ要素の属性として記述されているＪａｖａＳｃｒｉｐｔファイルのＵＲＩを取得し、ＵＲＩに示されるロケーションのＪａｖａＳｃｒｉｐｔファイルを取得する方法と、ＨＴＭＬのｓｃｒｉｐｔ要素の内容として記述されているＪａｖａＳｃｒｉｐｔコードを読み取る方法がある。別のファイルが指定されている場合はコンテンツ取得部１１に指定ファイルの取得を指示し、抽出する。抽出されたＪａｖａＳｃｒｉｐｔコードはスクリプト実行部１３へ送られ、コンテンツデータはＤＯＭ記憶部１４に送られる。
【００２８】
図３にＪａｖａＳｃｒｉｐｔコードの例を示す。
【００２９】
スクリプト実行部１３はＪａｖａＳｃｒｉｐｔコードを解釈して実行する。これは、一般にはＪａｖａＳｃｒｉｐｔエンジンと呼ばれる公知の技術であり、オープンソースソフトウェアとして広く利用可能なＪａｖａＳｃｒｉｐｔエンジンも存在する（例えば、http://code.google.com/p/v8/）。スクリプト実行部１３は、ＪａｖａＳｃｒｉｐｔコードの実行結果をＤＯＭ記憶部１４に送信する。
【００３０】
ＤＯＭ記憶部１４は、スクリプト抽出部１２から受信したコンテンツデータを解析して、ツリー状のデータ構造であるＤＯＭに展開して記憶する。また、ＤＯＭ記憶部１４は、ＪａｖａＳｃｒｉｐｔコードの実行結果をＤＯＭに反映し、ＤＯＭをデータ変換部１５に送信する。
【００３１】
データ変換部１５は、ＤＯＭ記憶部１４から受信したＤＯＭからクライアントスクリプトを示す記述部分を抽出し、その記述部分を、ＨＴＭＬにＪａｖａＳｃｒｉｐｔコードを記載する際と同様の書式に変換する。また、データ変換部１５は、ＤＯＭから、スクリプト抽出部１２で抽出されるｓｃｒｉｐｔ要素を削除する。データ変換部１５は、書式変換、ｓｃｒｉｐｔ要素削除後のＤＯＭ（以下、コンテンツデータ）をデータ通信部１６に送信する。
【００３２】
データ通信部１６は、データ変換部１５から受信したコンテンツデータをクライアント装置２（２Ａ、２Ｂ）に送信する。
【００３３】
図４にデータ通信部１６がクライアント装置２に送信するコンテンツデータの例を示す。
【００３４】
図４（ａ）は、クライアント装置２Ａに送信されるコンテンツデータの例であり、図４（ｂ）は、クライアント装置２Ｂに送信されるコンテンツデータの例である。
【００３５】
図１に示す中間ブラウザサーバ装置１の各部は一般的なＷｅｂブラウザを用いて構成できる。データ変換部１５についてはＪａｖａＳｃｒｉｐｔで実装して構成することができる。例えば、ｃｓｃｒｉｐｔという新たなＨＴＭＬ要素を定義する処理と、ＨＴＭＬ内のｃｓｃｒｉｐｔ要素を取得して、その要素それぞれに対してｓｃｒｉｐｔ要素を作成し、各ｓｃｒｉｐｔ要素の属性値に対応するｃｓｃｒｉｐｔ要素の属性値を代入し、代入が終わったらｃｓｃｒｉｐｔ要素を削除する処理と、ｓｃｒｉｐｔ要素を削除する処理を記載したＪａｖａＳｃｒｉｐｔコードを中間ブラウザサーバ装置１のスクリプト実行部１３が実行することで、データ変換部１５を機能させることができる。
【００３６】
データ通信部１６についてはＷｅｂＳｏｃｋｅｔサーバを作成して、複数のＷｅｂＳｏｃｋｅｔクライアント装置から接続を受け付ける処理と、クライアント識別子等で指定されたＷｅｂＳｏｃｋｅｔクライアント装置へのデータ送信処理を記載したＪａｖａＳｃｒｉｐｔコードを中間ブラウザサーバ装置１のスクリプト実行部１３が実行することで、データ通信部１６を機能させることができる。
【００３７】
次に、クライアント装置２について説明する。クライアント装置２Ａとクライアント装置２Ｂは同じ構成である。
【００３８】
クライアント装置２は、データ通信部２１、スクリプト抽出部２２、スクリプト実行部２３、ＤＯＭ記憶部２４、表示部２５、コンテンツ取得部２６を備える。
【００３９】
データ通信部２１は、中間ブラウザサーバ装置１のデータ通信部１６から送信されるコンテンツデータを受信し、コンテンツデータをスクリプト抽出部２２に送信する。
【００４０】
スクリプト抽出部２２は、コンテンツデータをＤＯＭ記憶部１４に送信する一方、コンテンツデータを解析して、クライアントスクリプトであるＪａｖａＳｃｒｉｐｔコードを抽出する。ＪａｖａＳｃｒｉｐｔを取得する際には、ＨＴＭＬのｓｃｒｉｐｔ要素の属性として記述されているＪａｖａＳｃｒｉｐｔファイルのＵＲＩを取得し、ＵＲＩに示されるロケーションのＪａｖａＳｃｒｉｐｔファイルを取得する方法と、ＨＴＭＬのｓｃｒｉｐｔ要素の内容として記述されているＪａｖａＳｃｒｉｐｔのコードを読み取る方法がある。別のファイルが指定されている場合はコンテンツ取得部２６に指定ファイルの取得を指示し、抽出する。抽出されたＪａｖａＳｃｒｉｐｔコードはスクリプト実行部２３へ送られ、コンテンツデータはＤＯＭ記憶部２４に送られる。
【００４１】
図５にクライアントスクリプトであるＪａｖａＳｃｒｉｐｔコードの例を示す。
【００４２】
スクリプト実行部２３はクライアントスクリプト（ＪａｖａＳｃｒｉｐｔコード）を解釈して実行する。これは、一般にはＪａｖａＳｃｒｉｐｔエンジンと呼ばれる公知の技術である。スクリプト実行部２３は、クライアントスクリプト（ＪａｖａＳｃｒｉｐｔコード）の実行結果をＤＯＭ記憶部２４に送信する。
【００４３】
ＤＯＭ記憶部２４は、スクリプト抽出部２２から受信したコンテンツデータを解析して、ツリー状のデータ構造であるＤＯＭに展開して記憶する。また、ＤＯＭ記憶部２４は、クライアントスクリプト（ＪａｖａＳｃｒｉｐｔコード）の実行結果をＤＯＭに反映する。
【００４４】
表示部２５は、ＤＯＭ記憶部２４に記憶されているＤＯＭを描画してクライアント装置の表示機能に表示する。この表示機能はクライアント装置内にディスプレイがあってもよいし、有線無線を問わず接続された別の表示専用装置であってもよい。
【００４５】
コンテンツ取得部２６は、スクリプト抽出部２２よりファイル取得の指示を受け、ファイルを取得しスクリプト抽出部２２にわたす。
【００４６】
これらクライアント装置２の各部は一般的なＷｅｂブラウザを用いて構成できる。データ通信部２１についてはＪａｖａＳｃｒｉｐｔで実装して構成することができる。例えば、ＷｅｂＳｏｃｋｅｔクライアント装置を作成して中間ブラウザサーバ装置１のＷｅｂＳｏｃｋｅｔサーバへ接続する処理と、ＷｅｂＳｏｃｋｅｔサーバからのデータ受信時の処理としてｏｎ＿ｒｅｃｅｉｖｅ関数を登録する処理を記載したＪａｖａＳｃｒｉｐｔコードをクライアント装置２のスクリプト実行部２３が実行することで、データ通信部２１を機能させることができる。
【００４７】
次に、第１の実施形態における中間ブラウザサーバ装置１の動作について説明する。
【００４８】
まず、図２に示すコンテンツデータを取得した時の動作について説明する。
【００４９】
コンテンツ取得部１１は、図２のコンテンツデータをＨＴＴＰによりコンテンツ配信装置３から取得し、スクリプト抽出部１２へコンテンツデータをわたす。
【００５０】
スクリプト抽出部１２は、受け取ったコンテンツデータのＨＴＭＬに含まれている、＜script type="text/javascript" src="sample.js"＞というタグがスクリプトを示すことを認識し、コンテンツ取得部１１に対してｓｃｒｉｐｔ要素のｓｒｃ属性が示すＵＲＩのsample.jsを取得するよう指示する。取得されたsample.js（図３）はスクリプト実行部１３にわたされる。一方、＜cscript type=“text/javascript” src=“sample-client.js” clientid=“Ａ2”＞というタグがあるが、ＨＴＭＬタグとして標準ではないｃｓｃｒｉｐｔ要素に対しては何も行わない。スクリプト抽出後に、コンテンツデータはＤＯＭ記憶部１４にわたされる。
【００５１】
スクリプト実行部１３は、受け取ったsample.jsである図３のＪａｖａＳｃｒｉｐｔコードを実行し、実行結果をＤＯＭ記憶部１４に反映させる。
【００５２】
ＤＯＭ記憶部１４は、スクリプト抽出部１２から受信したコンテンツデータを解析して、ツリー状のデータ構造であるＤＯＭに展開して記憶する。また、ＤＯＭ記憶部１４は、ＪａｖａＳｃｒｉｐｔコードの実行結果をＤＯＭに反映する。
【００５３】
ここで、コンテンツ取得部１１がＤＯＭ記憶部１４へコンテンツデータをわたしＤＯＭとして保持し、ＤＯＭ記憶部１４からスクリプト抽出部１２がスクリプトを抽出し、スクリプト実行部１３がスクリプトを実行し結果をＤＯＭ記憶部１４に反映するという処理の順番としてもよい。
【００５４】
データ変換部１５は、ＤＯＭ記憶部１４に保持されているＤＯＭに、（Ａ）共通的な処理と、（Ｂ）各クライアント装置に合わせて変換する処理を行う。
【００５５】
（Ａ）共通的な処理としては、（Ａ１）ｃｓｃｒｉｐｔという新たなＨＴＭＬ要素を定義する処理、（Ａ２）ｓｃｒｉｐｔ要素を削除する処理を行う。
【００５６】
ｃｓｃｒｉｐｔ要素を定義する処理により、ＨＴＭＬタグとして標準ではないｃｓｃｒｉｐｔ要素をＨＴＭＬの要素と同等に取り扱うことができる。ｃｓｃｒｉｐｔ要素が持つ属性はｓｃｒｉｐｔ要素と同じ属性を少なくとも持つように定義する。ｓｃｒｉｐｔ要素を削除する処理により、中間ブラウザサーバ装置で実行されるスクリプトは削除される。
【００５７】
（Ｂ）各クライアント装置に合わせて変換する処理は、データ通信部１６で保持するクライアント識別子に応じて行う。共通的な処理を先に実行することで、ｃｓｃｒｉｐｔ要素はＨＴＭＬ要素と同等に取り扱うことができるようになっている。図２のコンテンツデータのｃｌｉｅｎｔｉｄ属性に２Ａという値が指定されている。この場合、クライアント装置２Ａに対して、このｃｓｃｒｉｐｔ要素がクライアントスクリプトとして有効となり、他のクライアント装置に対しては無効となる。
【００５８】
（Ｂ１）有効なクライアント装置に向けてのデータ変換では、ｃｓｃｒｉｐｔ要素に対応してｓｃｒｉｐｔ要素を作成し、そのｓｃｒｉｐｔ要素の各属性には対応するｃｓｃｒｉｐｔ要素の属性値を設定する。ｓｃｒｉｐｔ要素に対応する属性がないｃｓｃｒｉｐｔ要素の属性は特に処理を行なわない。属性値の設定が終わったら元のｃｓｃｒｉｐｔ要素を削除する。
【００５９】
このデータ変換処理の実行結果を、図４（ａ）に示す。コンテンツ取得部１１が取得した時点でのｓｃｒｉｐｔ要素の内容であるＪａｖａＳｃｒｉｐｔコードは実行され、その結果が反映され、ｉｄ属性がｇｒｅｅｔｉｎｇのｄｉｖ要素に、Ｈｅｌｌｏ  ｗｏｒｌｄという文字列が挿入されている。また、コンテンツ取得部１１が取得した時点ではｃｓｃｒｉｐｔ要素であったものがｓｃｒｉｐｔ要素となっており、もともとあったｓｃｒｉｐｔ要素は削除されている。このコンテンツデータがクライアント装置２Ａに送信されるものとなる。
【００６０】
（Ｂ２）無効なクライアント装置に向けてのデータ変換では、ｃｓｃｒｉｐｔ要素を削除する処理を行う。
【００６１】
このデータ変換処理の実行結果を、図４（ｂ）に示す。コンテンツ取得部１１が取得した時点でのｓｃｒｉｐｔ要素の内容であるＪａｖａＳｃｒｉｐｔコードは実行され、その結果が反映されている。もともとあったｓｃｒｉｐｔ要素とｃｓｃｒｉｐｔ要素は削除されている。このコンテンツデータがクライアント装置２Ｂに送信されるものとなる。
【００６２】
データ変換部１５は、ＤＯＭ記憶部１４がＤＯＭを保持するとすぐにＤＯＭを取得し、処理を開始してもよいし、ＤＯＭ記憶部１４はＤＯＭを保持した状況で、データ通信部１６とクライアント装置２Ａまたは２Ｂのデータ通信部２１が通信可能となることを契機として、ＤＯＭ記憶部１４からＤＯＭを取得し、処理を開始してもよい。
【００６３】
データ通信部１６はデータ変換部１５から受け取ったコンテンツデータを対応するクライアント装置に送信する。すなわち、クライアント装置２Ａ用のコンテンツデータをクライアント装置２Ａに送信し、クライアント装置２Ｂ用のコンテンツデータをクライアント装置２Ｂに送信する。
【００６４】
次にクライアント装置２Ａ、２Ｂの動作について説明する。
【００６５】
データ通信部２１が図４ＡのコンテンツデータをＷｅｂＳｏｃｋｅｔにより中間ブラウザサーバ装置１から受信し、スクリプト抽出部２２へコンテンツデータをわたす。
【００６６】
クライアント装置２Ａにおいては、スクリプト抽出部２２は、受け取ったコンテンツデータのＨＴＭＬに含まれている、＜script type="text/javascript" src="sample-client.js"＞というタグがスクリプトを示すことを認識し、コンテンツ取得部２６に対してｓｃｒｉｐｔ要素のｓｒｃ属性が示すＵＲＩのｓａｍｐｌｅ‐ｃｌｉｅｎｔ．ｊｓを取得するよう指示する。取得されたｓａｍｐｌｅ‐ｃｌｉｅｎｔ．ｊｓ（図５）はスクリプト実行部２３にわたされる。スクリプト抽出後に、コンテンツデータはＤＯＭ記憶部２４にわたされる。
【００６７】
クライアント装置２Ｂにおいては、スクリプト抽出部２２は、受け取ったコンテンツデータのＨＴＭＬにスクリプトを示すタグが含まれていないため、そのままコンテンツデータをＤＯＭ記憶部２４にわたす。
【００６８】
スクリプト実行部２３は、受け取ったｓａｍｐｌｅ‐ｃｌｉｅｎｔ．ｊｓである図５のＪａｖａＳｃｒｉｐｔコードを実行し、実行結果をＤＯＭ記憶部２４に反映させる。
【００６９】
ＤＯＭ記憶部２４は、スクリプト抽出部２２より受け取ったコンテンツデータを解析して、ツリー状のデータ構造であるＤＯＭに展開して記憶する。また、スクリプト抽出部２２で抽出されたＪａｖａＳｃｒｉｐｔがスクリプト実行部２３で実行された結果も反映する。
【００７０】
ここで、データ通信部２１がＤＯＭ記憶部２４へコンテンツデータをわたしＤＯＭツリーとして保持し、ＤＯＭ記憶部２４からスクリプト抽出部２２がスクリプトを抽出し、スクリプト実行部２３がスクリプトを実行し結果をＤＯＭ記憶部２４に反映するという処理の順番としてもよい。
【００７１】
表示部２５は、ＤＯＭ記憶部２４に記憶されているＤＯＭを描画してクライアント装置の表示機能に表示する。
【００７２】
以上、中間ブラウザサーバ装置１がコンテンツデータ内のスクリプトを実行し、クライアント装置２がコンテンツデータ内のクライアントスクリプトを実行する実施例について説明したが、これは一例である。
【００７３】
図６に示すように、中間ブラウザサーバ装置１が表示部１７を備えてＤＯＭ記憶部１４に記憶されているＤＯＭを描画して表示してもよい。
【００７４】
クライアントスクリプトを示す要素において、ｃｌｉｅｎｔｉｄ属性などによってクライアント識別子を直接記述せずに、クライアント装置の有する特徴や情報と適合するか否かで、クライアントスクリプトの有効性を制御してもよい。例えば、ｃｌｉｅｎｔ＿ｕｓｅｒａｇｅｎｔ＝”Ａｎｄｒｏｉｄ”という記述がある場合、クライアント装置のＵｓｅｒＡｇｅｎｔ情報にＡｎｄｒｏｉｄという文字列が含まれるクライアント装置についてはクライアントスクリプトが有効となるようにしてもよい。
【００７５】
クライアントスクリプトを示す要素において、ｃｌｉｅｎｔｉｄ属性の指定がない場合は、クライアント装置を識別せずに、すべてのクライアント装置に対してクライアントスクリプトを有効となるようにしてもよい。
【００７６】
以上、第１の実施形態によれば、中間ブラウザサーバ装置１のコンテンツ取得部１１が取得したコンテンツデータからスクリプト抽出部１２がｓｃｒｉｐｔ要素のスクリプトを抽出し、スクリプト実行部１３がそのスクリプトを実行し、その結果のコンテンツデータがＤＯＭ記憶部１４に保存され、データ変換部１５がＤＯＭ記憶部１４に保存されているコンテンツデータのｓｃｒｉｐｔ要素を削除し、クライアント装置に応じて、ｃｓｃｒｉｐｔ要素の属性の記述で該当するクライアント装置に対しては、ｃｓｃｒｉｐｔ要素をｓｃｒｉｐｔ要素に変換する処理を行い、ｃｓｃｒｉｐｔ要素の属性の記述で該当しないクライアント装置に対しては、ｃｓｃｒｉｐｔ要素を削除する処理を行い、データ通信部１６からデータ通信部２１にコンテンツデータがわたされ、スクリプト抽出部２２がｓｃｒｉｐｔ要素のスクリプトを抽出し、スクリプト実行部２３がそのスクリプトを実行することにより、１つのコンテンツデータに含まれるスクリプトを中間ブラウザサーバ装置で実行するだけでなく、クライアント装置でも実行させることができる。
【００７７】
これにより、ＷｅｂサーバからコンテンツデータおよびＪａｖａＳｃｒｉｐｔを取得した中間ブラウザサーバ装置１がＪａｖａＳｃｒｉｐｔを自身で実行するだけでなく、中間ブラウザサーバ装置１がコンテンツデータを表示させるクライアント装置においてもＪａｖａＳｃｒｉｐｔを実行させることができる。
【００７８】
そのためには、一次クライアント装置に配信するのと同等のコンテンツデータを用意し、コンテンツデータのＨＴＭＬデータ内にクライアント装置で実行させたいスクリプトをｃｓｃｒｉｐｔ要素として記述することで、サーバに配置された１つのコンテンツデータに含まれるスクリプトを中間ブラウザサーバ装置で実行するだけでなく、クライアント装置でも実行させることができる。
【００７９】
なお、第１の実施形態では、中間ブラウザサーバ装置で実行するスクリプトの抽出、実行、ＤＯＭへの反映は必要時に行えばよく、そうでない場合は、これらの処理を実行しなくてよい。その場合、スクリプト抽出部１２、スクリプト実行部１３も不要となる。
［第２の実施形態］
以下、第２の実施形態について図面を用いて説明する。
【００８０】
図７は、第２の実施形態における中間ブラウザサーバ装置およびクライアント装置を含む全体構成図である。中間ブラウザサーバ装置１、クライアント装置２Ａ、２Ｂの各部について、第１の実施形態との差分のみ説明する。
【００８１】
中間ブラウザサーバ装置１のデータ通信部１６は、データ変換部１５より受け取ったコンテンツデータをクライアント装置２Ａ、２Ｂに送信する。また、データ通信部１６は、クライアント装置２Ａ、２ＢからコンテンツデータのＵＲＩを受信し、コンテンツ取得部１１に受信したＵＲＩのコンテンツデータを取得するよう指示する。
【００８２】
クライアント装置２Ａ、２Ｂのデータ通信部２１は、中間ブラウザサーバ装置１のデータ通信部１６からコンテンツデータを受信する。コンテンツデータはスクリプト抽出部２２に送られる。また、クライアント装置２Ａ、２Ｂの操作者あるいはスクリプト実行部２３からの指示あるいはコンテンツ取得部２６より取得したいコンテンツデータのＵＲＩを受け取り中間ブラウザサーバ装置１に送信する。
【００８３】
このクライアント装置２のデータ通信部２１は一般的なＷｅｂブラウザを用いて構成できる。データ通信部２１についてはＪａｖａＳｃｒｉｐｔで実装して構成することができる。
【００８４】
例えば、ＷｅｂＳｏｃｋｅｔクライアント装置を作成して中間ブラウザサーバ装置１のＷｅｂＳｏｃｋｅｔサーバへ接続する処理と、ＷｅｂＳｏｃｋｅｔサーバからのデータ受信時の処理としてｏｎ＿ｒｅｃｅｉｖｅ関数を登録する処理に加えて、ＷｅｂＳｏｃｋｅｔサーバへのデータ送信時の処理としてｓｅｎｄ関数を登録する処理を記載したＪａｖａＳｃｒｉｐｔコードをクライアント装置２のスクリプト実行部２３が実行することで、データ通信部２１を機能させることができる。
【００８５】
次に、第２の実施形態における、クライアント装置２から中間ブラウザサーバ装置１に対してコンテンツ配信装置３のコンテンツデータの取得を要求する際の動作について、第１の実施形態との差分のみ説明する。
【００８６】
クライアント装置２Ａ、２Ｂのデータ通信部２１に、クライアント装置２の操作者あるいはスクリプト実行部２３からの指示あるいはコンテンツ取得部２６により、取得したいコンテンツデータのＵＲＩが渡される。
【００８７】
データ通信部２１は取得したい旨とＵＲＩをデータ通信部１６へ送信する。データ通信部１６はコンテンツ取得部１１に取得したいＵＲＩをわたす。
【００８８】
コンテンツ取得部１１がコンテンツデータをＨＴＴＰによりコンテンツ配信装置３から取得し、スクリプト抽出部１２へコンテンツデータをわたすところからは第１の実施形態と同様である。
【００８９】
以上、第２の実施形態によれば、サーバに配置された１つのコンテンツデータに含まれるスクリプトを中間ブラウザサーバ装置で実行するだけでなく、クライアント装置でも実行させることができる場合において、ライアント装置のコンテンツ取得部２６あるいはスクリプト実行部２３より、データ通信部２１に、取得するコンテンツデータのＵＲＩが渡され、データ通信部２１は、そのＵＲＩを中間ブラウザサーバ装置のデータ通信部１６へ送信し、データ通信部１６はコンテンツ取得部１１にＵＲＩをわたすことにより、クライアント装置から中間ブラウザサーバ装置へＵＲＩをわたすことができる。
【００９０】
これにより、クライアント装置が、コンテンツデータのＵＲＩを指定するために、操作者の操作による指示あるいはスクリプトの実行結果による指示によって、クライアント装置の操作者またはクライアントスクリプトの実行結果によって、取得するコンテンツデータのＵＲＩを中間ブラウザサーバ装置に指定することができる。
［第３の実施形態］
以下、第３の実施形態について図面を用いて説明する。
【００９１】
図８は、第３の実施形態における中間ブラウザサーバ装置およびクライアント装置を含む全体構成図である。中間ブラウザサーバ装置１、クライアント装置２Ａ、２Ｂの各部について、第２の実施形態との差分のみ説明する。
【００９２】
中間ブラウザサーバ装置１のスクリプト実行部１３は、実行するＪａｖａＳｃｒｉｐｔコード内にクライアント装置のＪａｖａＳｃｒｉｐｔへデータを送信する旨が記述されている場合、スクリプト間通信受付部１８に、送信内容と送信宛先のクライアント識別子をわたす。また、スクリプト間通信受付部１８からの受信内容を実行中のＪａｖａＳｃｒｉｐｔコードに適用する。
【００９３】
スクリプト間通信受付部１８は、スクリプト実行部１３より受け取った送信内容と送信宛先のクライアント識別子より通信文を生成し、データ通信部１６に指定のクライアント識別子宛てに通信文を送信するように指示する。また、データ通信部１６から受け取った通信文から受信内容を抽出して、スクリプト実行部１３にわたす。
【００９４】
データ通信部１６は、スクリプト間通信受付部１８からわたされた通信文を、該当クライアント識別子のクライアント装置に送信する。また、受信した通信文がスクリプト実行部への通信文である場合、スクリプト間通信受付部１８に通信文をわたす。
【００９５】
これら中間ブラウザサーバ装置１のデータ通信部１６を除く各部は一般的なＷｅｂブラウザを用いて構成できる。第２の実施形態との差分であるスクリプト間通信受付部１８についてはＪａｖａＳｃｒｉｐｔで実装して構成することができる。
【００９６】
例えば、送信内容とクライアント装置の宛先とを組み合わせ通信オブジェクトを生成し、データ通信部１６が確保しているＷｅｂＳｏｃｋｅｔ通信路を経由して、クライアント装置に送信する処理と、受け取った通信オブジェクトから送信元と受信内容を抽出する処理とを記載したＪａｖａＳｃｒｉｐｔコードを中間ブラウザサーバ装置１のスクリプト実行部１３が実行することで、スクリプト間通信受付部１８を機能させることができる。
【００９７】
クライアント装置のデータ通信部２１は、受信した通信文がスクリプト実行部２３への通信文である場合、スクリプト間通信受付部２７に通信文をわたす。また、スクリプト間通信受付部２７からわたされた通信文を、中間ブラウザサーバ装置に送信する。
【００９８】
スクリプト間通信受付部２７は、データ通信部２１から受け取った通信文から受信内容を抽出して、スクリプト実行部２３にわたす。また、スクリプト実行部２３より受け取った送信内容と送信宛先より通信文を生成し、データ通信部２１に中間ブラウザサーバ装置宛てに通信文を送信するように指示する。
【００９９】
スクリプト実行部２３は、スクリプト間通信受付部２７からの受信内容を実行中のＪａｖａＳｃｒｉｐｔコードに適用する。また、実行するＪａｖａＳｃｒｉｐｔコード内に中間ブラウザサーバ装置１のＪａｖａＳｃｒｉｐｔへデータを送信する旨が記述されている場合、スクリプト間通信受付部２７に、送信内容と送信宛先をわたす。
【０１００】
これらクライアント装置２の各部は一般的なＷｅｂブラウザを用いて構成できる。第２の実施形態との差分であるスクリプト間通信受付部２７についてはＪａｖａＳｃｒｉｐｔで実装して構成することができる。
【０１０１】
例えば、送信内容と、クライアント装置の宛先とを組み合わせ通信オブジェクトを生成し、データ通信部２１が確保しているＷｅｂＳｏｃｋｅｔ通信路を経由して、クライアント装置に送信する処理と、受け取った通信オブジェクトから送信元と受信内容を抽出する処理とを記載したＪａｖａＳｃｒｉｐｔコードをクライアント装置２Ａ、２Ｂのスクリプト実行部２３が実行することで、スクリプト間通信受付部２７を機能させることができる。
【０１０２】
次に、第３の実施形態における第２の実施形態との差分である、中間ブラウザサーバ装置１のスクリプト実行部１３で実行されるスクリプトからクライアント装置２Ａ、２Ｂのスクリプト実行部２３で実行されるスクリプトに送信する動作、および、クライアント装置２Ａ、２Ｂのスクリプト実行部２３で実行されるスクリプトから中間ブラウザサーバ装置１のスクリプト実行部１３で実行されるスクリプトに送信する動作について具体例を用いて説明する。
【０１０３】
図９にスクリプト実行部１３で実行されるＪａｖａＳｃｒｉｐｔコード例を示す。このコードが実行されると、クライアント装置２Ａから通信文を受信した場合にｉｄ属性がｇｒｅｅｔｉｎｇの要素の内容に受信内容を表示するように登録し、クライアント装置２Ａに対して「ｈｅｌｌｏ  ｆｒｏｍ  １  ｔｏ  ２Ａ」という文字列を送信する。
【０１０４】
図１０にスクリプト実行部２３で実行されるＪａｖａＳｃｒｉｐｔコード例を示す。このコードが実行されると、中間ブラウザサーバ装置１から通信文を受信した場合にｉｄ属性がｇｒｅｅｔｉｎｇの要素の内容に受信内容を表示するように登録し、中間ブラウザサーバ装置１に対して「ｈｅｌｌｏ  ｆｒｏｍ  ２Ａ  ｔｏ  １」という文字列を送信する。
【０１０５】
中間ブラウザサーバ装置１のスクリプト実行部１３が図９に示すＪａｖａＳｃｒｉｐｔコードを実行し、クライアント装置２Ａに「ｈｅｌｌｏ  ｆｒｏｍ  １  ｔｏ  ２Ａ」の文字列を送信する際には、スクリプト間通信受付部１８は受け取った送信内容と送信宛先のクライアント識別子より通信文を生成し、データ通信部１６に指定のクライアント識別子宛てに通信文を送信するように指示する。
【０１０６】
データ通信部１６は、スクリプト間通信受付部１８からわたされた通信文を、該当クライアント識別子のクライアント装置に送信する。
【０１０７】
クライアント装置のデータ通信部２１は、受信した通信文がスクリプト実行部２３への通信文である場合、スクリプト間通信受付部２７に通信文をわたす。
【０１０８】
スクリプト間通信受付部２７は、データ通信部２１から受け取った通信文から受信内容を抽出して、スクリプト実行部２３にわたす。
【０１０９】
スクリプト実行部２３は、スクリプト間通信受付部２７からの受信内容を実行中のＪａｖａＳｃｒｉｐｔコードに適用する。図１０のＪａｖａＳｃｒｉｐｔコード例においては、ｉｄ属性がｇｒｅｅｔｉｎｇの要素の内容に、受信内容「ｈｅｌｌｏ  ｆｒｏｍ  １  ｔｏ  ２Ａ」の文字列を挿入しＤＯＭ記憶部２４に保存する。
【０１１０】
また、クライアント装置２Ａのスクリプト実行部２３が図１０に示すＪａｖａＳｃｒｉｐｔコードを実行し、中間ブラウザサーバ装置１に「ｈｅｌｌｏ  ｆｒｏｍ  ２Ａ  ｔｏ  １」の文字列を送信する際には、スクリプト間通信受付部２７は、スクリプト実行部２３より受け取った送信内容と送信宛先のクライアント識別子より通信文を生成し、データ通信部２１に指定のクライアント識別子宛てに通信文を送信するように指示する。
【０１１１】
データ通信部２１は、スクリプト間通信受付部２７からわたされた通信文を、該当クライアント識別子のクライアント装置に送信する。
【０１１２】
中間ブラウザサーバ装置１のデータ通信部１６は、受信した通信文がスクリプト実行部への通信文である場合、スクリプト間通信受付部１８に通信文をわたす。
【０１１３】
スクリプト間通信受付部１８は、データ通信部１６から受け取った通信文から受信内容を抽出して、スクリプト実行部１３にわたす。
【０１１４】
スクリプト実行部１３は、スクリプト間通信受付部１８からの受信内容を実行中のＪａｖａＳｃｒｉｐｔコードに適用する。図９のＪａｖａＳｃｒｉｐｔコード例においては、ｉｄ属性がｇｒｅｅｔｉｎｇの要素の内容に、受信内容「ｈｅｌｌｏ  ｆｒｏｍ  ２Ａ  ｔｏ  １」の文字列を挿入しＤＯＭ記憶部１４に保存する。
【０１１５】
以上、第２の実施形態との差分として説明したが、第１の実施形態に本差分を加えることで構成することもできる。
【０１１６】
以上、第３の実施形態によれば、サーバに配置された１つのコンテンツデータに含まれるスクリプトを中間ブラウザサーバ装置で実行するだけでなく、クライアント装置でも実行させることができる場合において、中間ブラウザサーバ装置１のスクリプト実行部１３で実行されるスクリプトにクライアント装置のスクリプトへデータを渡す指示がある場合、スクリプト実行部１３はスクリプト間通信受付部１８に宛先と送信内容をわたし、スクリプト間通信受付部１８はデータ通信部１６に宛先と送信内容からなる通信文をわたし、データ通信部１６はクライアント装置のデータ通信部２１に通信文を送信し、データ通信部２１はスクリプト間通信受付部２７に通信文をわたし、スクリプト間通信受付部２７はスクリプト実行部２３に受信内容をわたし、スクリプト実行部２３は受信内容を実行中のスクリプトに適用することと、クライアント装置のスクリプト実行部２３で実行されるスクリプトに中間ブラウザサーバ装置１のスクリプトへデータを渡す指示がある場合、スクリプト実行部２３はスクリプト間通信受付部２７に宛先と送信内容をわたし、スクリプト間通信受付部２７はデータ通信部２１に宛先と送信内容からなる通信文をわたし、データ通信部２１は中間ブラウザサーバ装置のデータ通信部１６に通信文を送信し、データ通信部１６はスクリプト間通信受付部１８に通信文をわたし、スクリプト間通信受付部１８はスクリプト実行部１３に受信内容をわたし、スクリプト実行部１３は受信内容を実行中のスクリプトに適用することにより、中間ブラウザサーバ装置１のスクリプト実行部１３とクライアント装置２のスクリプト実行部２３の間で相互にメッセージを送ることができる。
【０１１７】
これにより、中間ブラウザサーバ装置１のスクリプト実行部とクライアント装置のスクリプト実行部が連携して動作するために、中間ブラウザサーバ装置１のスクリプト実行部で実行されるスクリプトにクライアント装置のスクリプトと通信する旨を記述すること、クライアント装置のスクリプト実行部で実行されるスクリプトに中間ブラウザサーバ装置１のスクリプトと通信する旨を記述することで、中間ブラウザサーバ装置１のスクリプト実行部とクライアント装置のスクリプト実行部が連携して動作することができる。
［第４の実施形態］
以下、第４の実施形態について図面を用いて説明する。
【０１１８】
図１１は、第４の実施形態における中間ブラウザサーバ装置およびクライアント装置を含む全体構成図である。中間ブラウザサーバ装置１、クライアント装置２Ａ、２Ｂの各部について、第１の実施形態との差分のみ説明する。
【０１１９】
中間ブラウザサーバ装置１の、ＤＯＭ記憶部１４は、スクリプト抽出部１２より受け取ったコンテンツデータを解析して、ツリー状のデータ構造であるＤＯＭに展開して記憶する。また、スクリプト実行部１３の結果も反映する。
【０１２０】
データ通信部１６は、ＤＯＭ記憶部１４より受け取ったデータをクライアント装置２Ａ、２Ｂに送信する。
【０１２１】
クライアント装置２Ａ、２Ｂの、データ変換部２８は、データ通信部２１より受け取ったコンテンツデータからスクリプト抽出部２２で抽出されるｓｃｒｉｐｔ要素を削除する。続いてクライアントスクリプトを示す記述部分を抽出し、その記述部分をＨＴＭＬにＪａｖａＳｃｒｉｐｔコードを記載する際と同様の書式に変換する。変換後のコンテンツデータはスクリプト抽出部２２に送られる。
【０１２２】
これらクライアント装置２Ａ、２Ｂの各部は一般的なＷｅｂブラウザを用いて構成できる。データ変換部２８についてはＪａｖａＳｃｒｉｐｔで実装して構成することができる。例えば、ｃｓｃｒｉｐｔという新たなＤＯＭ要素を定義する処理と、ＤＯＭ内のｃｓｃｒｉｐｔ要素を取得して、その要素それぞれに対してｓｃｒｉｐｔ要素を作成し、各ｓｃｒｉｐｔ要素の属性値に対応するｃｓｃｒｉｐｔ要素の属性値を代入し、代入が終わったらｃｓｃｒｉｐｔ要素を削除する処理と、ｓｃｒｉｐｔ要素を削除する処理を記載したＪａｖａＳｃｒｉｐｔコードをクライアント装置２Ａ、２Ｂのスクリプト実行部２３が実行することで、データ変換部２８を機能させることができる。
【０１２３】
次に、第４の実施形態における、中間ブラウザサーバ装置１とクライアント装置２Ａ、２Ｂの動作について、第１の実施形態との差分のみ説明する。
【０１２４】
中間ブラウザサーバ装置１のＤＯＭ記憶部１４は第１の実施形態と同様にＤＯＭを保持する。
【０１２５】
中間ブラウザサーバ装置１のデータ通信部１６は第１の実施形態と同様にＤＯＭ記憶部１４から受け取ったコンテンツデータをクライアント装置２Ａ、２Ｂに送信する。
【０１２６】
次にクライアント装置２Ａ、２Ｂの動作について説明する。
【０１２７】
クライアント装置２Ａ、２Ｂの、データ通信部２１は中間ブラウザサーバ装置１から受け取ったコンテンツデータをデータ変換部２８にわたす。
【０１２８】
データ変換部２８は、データ通信部２１から受け取ったコンテンツデータを変換する処理を行う。
【０１２９】
データ変換部２８は、データ通信部２１から受け取ったデータを、（Ａ）共通的に変換する処理と、（Ｂ）各クライアント装置に合わせて変換する処理を行う。
【０１３０】
（Ａ）共通的に変換する処理としては、（Ａ１）ｃｓｃｒｉｐｔという新たなＤＯＭ要素を定義する処理、（Ａ２）ｓｃｒｉｐｔ要素を削除する処理を行う。これにより、ＨＴＭＬタグとして標準ではないｃｓｃｒｉｐｔ要素をＤＯＭの要素として取り扱うことができ、ｃｓｃｒｉｐｔ要素の定義ではｓｃｒｉｐｔ要素と同じ属性を少なくともｃｓｃｒｉｐｔ要素が持つように定義する。
【０１３１】
（Ｂ）各クライアント装置に合わせて変換する処理は、データ通信部２１で保持するクライアント識別子に応じて行う。共通的に変換する処理を先に実行することで、ｃｓｃｒｉｐｔ要素はＤＯＭ要素として取り扱うことができるようになっている。図２のコンテンツデータのｃｌｉｅｎｔｉｄ属性に２Ａという値が指定されている。この場合、クライアント装置２Ａに対して、このｃｓｃｒｉｐｔ要素がクライアントスクリプトとして有効となり、他のクライアント装置に対しては無効となる。
【０１３２】
（Ｂ１）有効なクライアント装置でのデータ変換では、ｃｓｃｒｉｐｔ要素に対応してｓｃｒｉｐｔ要素を作成し、その属性には対応するｃｓｃｒｉｐｔ要素の属性値を代入する。ｓｃｒｉｐｔ要素に対応する属性がないものは特に代入処理を行なわず、属性値の代入が終わったらｃｓｃｒｉｐｔ要素を削除する処理を行う。
【０１３３】
（Ｂ２）無効なクライアント装置でのデータ変換では、ｃｓｃｒｉｐｔ要素を削除する処理を行う。
【０１３４】
変換後のコンテンツデータはスクリプト抽出部２２に送られる。スクリプト抽出部２２の処理以降は第１の実施形態と同様である。
【０１３５】
以上、第１の実施形態との差分として説明したが、第２の実施形態および第３の実施形態に本差分を加えることで構成することもできる。
【０１３６】
以上、第４の実施形態によれば、中間ブラウザサーバ装置１のコンテンツ取得部１１が取得したコンテンツデータからスクリプト抽出部１２がｓｃｒｉｐｔ要素のスクリプトを抽出し、スクリプト実行部１３がそのスクリプトを実行し、その結果のコンテンツデータがＤＯＭ記憶部１４に保存され、データ通信部１６からデータ通信部２１にコンテンツデータがわたされ、データ変換部２８がＤＯＭ記憶部１４に保存されているコンテンツデータのｓｃｒｉｐｔ要素を削除し、自クライアント装置がｃｓｃｒｉｐｔ要素の属性の記述で該当する場合は、ｃｓｃｒｉｐｔ要素をｓｃｒｉｐｔ要素に変換する処理を行い、自クライアント装置がｃｓｃｒｉｐｔ要素の属性の記述で該当しない場合は、ｃｓｃｒｉｐｔ要素を削除する処理を行い、スクリプト抽出部２２がｓｃｒｉｐｔ要素のスクリプトを抽出し、スクリプト実行部２３がそのスクリプトを実行することにより、１つのコンテンツデータに含まれるスクリプトを中間ブラウザサーバ装置で実行するだけでなく、クライアント装置でも実行させることができる。
【０１３７】
これにより、ＷｅｂサーバからコンテンツデータおよびＪａｖａＳｃｒｉｐｔを取得した中間ブラウザサーバ装置１がＪａｖａＳｃｒｉｐｔを自身で実行するだけでなく、中間ブラウザサーバ装置１がコンテンツデータを表示させるクライアント装置においてもＪａｖａＳｃｒｉｐｔを実行させるために、
一次クライアント装置に配信するのと同等のコンテンツデータを用意し、コンテンツデータのＨＴＭＬデータ内にクライアント装置で実行させたいスクリプトをｃｓｃｒｉｐｔ要素として記述することで、
サーバに配置された１つのコンテンツデータに含まれるスクリプトを中間ブラウザサーバ装置で実行するだけでなく、クライアント装置でも実行させることができる。
［第５の実施形態］
以下、第５の実施形態について図面を用いて説明する。
【０１３８】
図１２は、第５の実施形態における中間ブラウザサーバ装置、一次のクライアント装置および二次のクライアント装置を含む全体構成図である。中間ブラウザサーバ装置１、一次のクライアント装置２Ａ、二次のクライアント装置２Ｃの各部について、第４の実施形態との差分のみ説明する。
【０１３９】
クライアント装置２Ａ、クライアント装置２Ｂの有する各部は第４の実施形態のクライアント装置２Ａと同様である。
【０１４０】
クライアント装置２ＡのＤＯＭ記憶部２４はスクリプト抽出部２２より受け取ったデータを解析して、ツリー状のデータ構造であるＤＯＭに展開して記憶する。また、スクリプト抽出部２２で抽出されたＪａｖａＳｃｒｉｐｔがスクリプト実行部２３で実行された結果も反映する。
【０１４１】
クライアント装置２Ａのデータ通信部２９は、ＤＯＭ記憶部２４から受け取ったコンテンツデータを対応する二次クライアント装置に送信する。
【０１４２】
クライアント装置２Ｃのデータ通信部２１は、一時クライアント装置２Ａのデータ通信部２９から送信されるデータを受信する。受信したデータはデータ変換部２８に送られる。
【０１４３】
次に、第５の実施形態における、クライアント装置２Ａ、クライアント装置２Ｃの動作について具体例を用いて説明する。第４の実施形態との差分のみ説明する。
【０１４４】
図１３に示すコンテンツデータを、第４の実施形態と同様に、クライアント装置２Ａのデータ通信部２１が取得し、データ変換部２８でデータが変換され、クライアントスクリプトを実行され、実行結果がＤＯＭ記憶部２４に反映される。
【０１４５】
データ変換部２８は、データ通信部２１から受け取ったデータを変換する処理を行う。
【０１４６】
データ変換部２８は、データ通信部２１から受け取ったデータを、共通的に変換する処理と、各クライアント装置に合わせて変換する処理を行う。
【０１４７】
（Ａ）共通的に変換する処理としては、（Ａ１）ｃｓｃｒｉｐｔという新たなＤＯＭ要素を定義する処理、（Ａ２）ｓｃｒｉｐｔ要素を削除する処理、を行う。これにより、ＨＴＭＬタグとして標準ではないｃｓｃｒｉｐｔ要素をＤＯＭの要素として取り扱うことができ、ｃｓｃｒｉｐｔ要素の定義ではｓｃｒｉｐｔ要素と同じ属性を少なくともｃｓｃｒｉｐｔ要素が持つように定義する。
【０１４８】
（Ｂ）各クライアント装置に合わせて変換する処理は、データ通信部２１で保持するクライアント識別子に応じて行う。共通的に変換する処理を先に実行することで、ｃｓｃｒｉｐｔ要素はＤＯＭ要素として取り扱うことができるようになっている。図１３のコンテンツデータには、ｃｓｃｒｉｐｔ要素が２つあり、ｃｌｉｅｎｔｉｄ属性が２Ａ、２Ｃという値が指定されている。この場合、クライアント装置２Ａに対しては、ｃｌｉｅｎｔｉｄ属性が２Ａとなっているｃｓｃｒｉｐｔ要素がクライアントスクリプトとして有効となる。
【０１４９】
（Ｂ１）有効なｃｓｃｒｉｐｔ要素のデータ変換では、ｃｓｃｒｉｐｔ要素に対応してｓｃｒｉｐｔ要素を作成し、その属性には対応するｃｓｃｒｉｐｔ要素の属性値を代入する。ｓｃｒｉｐｔ要素に対応する属性がないものは特に代入処理を行なわない。
【０１５０】
（Ｂ２）有効ではないｃｓｃｒｉｐｔ要素は、データ変換を行わない。
【０１５１】
データ通信部２９は、ＤＯＭ記憶部２４からコンテンツデータを受け取り、クライアント装置２Ｃに送信する。
【０１５２】
クライアント装置２Ｃのデータ変換部２８が受け取るコンテンツデータを図１４に示す。クライアント装置２Ｃのデータ変換部２８も、クライアント装置２Ｂのデータ変換部２８と同様に動作する。
【０１５３】
すなわち、（Ａ１）ｃｓｃｒｉｐｔという新たなＤＯＭ要素を定義する処理、（Ａ２）ｓｃｒｉｐｔ要素を削除する処理を行い、ｃｓｃｒｉｐｔ要素のｃｌｉｅｎｔｉｄ属性と自装置のクライアント識別子を比較、判別し、有効なｃｓｃｒｉｐｔ要素であれば、ｃｓｃｒｉｐｔ要素に対応するｓｃｒｉｐｔ要素を作成し、そのｓｃｒｉｐｔ要素の属性に、対応するｃｓｃｒｉｐｔ要素の属性値を代入する。
【０１５４】
ここまで、中間ブラウザサーバ装置、一次のクライアント装置、二次のクライアント装置の構成で説明したが、本手法により、より多段構成であっても、スクリプトを指定の装置のみで実行させることが可能となる。また、各段階でのクライアント装置の数が複数であっても、本手法によりスクリプトを指定の装置で実行させることが可能となる。
【０１５５】
以上、第５の実施形態によれば、中間ブラウザサーバ装置１のコンテンツ取得部１１が取得したコンテンツデータからスクリプト抽出部１２がｓｃｒｉｐｔ要素のスクリプトを抽出し、スクリプト実行部１３がそのスクリプトを実行し、その結果のコンテンツデータがＤＯＭ記憶部１４に保存され、データ通信部１６からデータ通信部２１にコンテンツデータがわたされ、データ変換部２８がＤＯＭ記憶部１４に保存されているコンテンツデータのｓｃｒｉｐｔ要素を削除し、自クライアント装置がｃｓｃｒｉｐｔ要素の属性の記述で該当する場合は、ｃｓｃｒｉｐｔ要素をｓｃｒｉｐｔ要素に変換する処理を行い、自クライアント装置がｃｓｃｒｉｐｔ要素の属性の記述で該当しない場合は、ｃｓｃｒｉｐｔ要素を削除する処理を行い、スクリプト抽出部２２がｓｃｒｉｐｔ要素のスクリプトを抽出し、スクリプト実行部２３がそのスクリプトを実行することにより、１つのコンテンツデータに含まれるスクリプトを中間ブラウザサーバ装置で実行するだけでなく、クライアント装置でも実行させることができる。
【０１５６】
これにより、ＷｅｂサーバからコンテンツデータおよびＪａｖａＳｃｒｉｐｔを取得した中間ブラウザサーバ装置（中間ブラウザサーバ装置）がＪａｖａＳｃｒｉｐｔを自身で実行するだけでなく、中間ブラウザサーバ装置（中間ブラウザサーバ装置）がコンテンツデータを表示させるクライアント装置においてもＪａｖａＳｃｒｉｐｔを実行させるために、
一次のクライアント装置に配信するのと同等のコンテンツデータを用意し、コンテンツデータのＨＴＭＬデータ内にクライアント装置で実行させたいスクリプトをｃｓｃｒｉｐｔ要素として記述することで、
サーバに配置された１つのコンテンツデータに含まれるスクリプトを中間ブラウザサーバ装置で実行するだけでなく、一次のクライアント装置、二次のクライアント装置といった多段階のクライアント装置でも実行させることができる。
［第６の実施形態］
以下、第６の実施形態について図面を用いて説明する。
【０１５７】
図１５は、第６の実施形態における中間ブラウザサーバ装置およびクライアント装置を含む全体構成図である。中間ブラウザサーバ装置１、クライアント装置２Ａ、２Ｂの各部について、第１の実施形態との差分のみ説明する。
【０１５８】
中間ブラウザサーバ装置１のデータ通信部１６は、データ変換部１５より受け取ったデータをクライアント装置２Ａ、２Ｂに送信する。その際、配信ルール記憶部１９にクライアント装置の情報をわたす。データ通信部１６は、配信ルール記憶部１９から返却されてきたコンテンツデータの要素の情報とデータ変換部１５より受け取ったデータを照らし合わせて合致するものをクライアント装置２Ａ、２Ｂへ送信する。
【０１５９】
配信ルール記憶部１９は、データ通信部１６からクライアント装置の情報を受け取ると、そのクライアント装置の情報に合わせて配信するコンテンツデータの要素の情報をデータ通信部１６に返却する。
【０１６０】
次に、第６の実施形態における中間ブラウザサーバ装置の動作について、第１の実施形態との差分のみ説明する。
【０１６１】
データ通信部１６は、データ変換部１５から受け取ったコンテンツデータを対応するクライアント装置に送信する。ここで、どのコンテンツデータをどのクライアント装置に送信すべきかを判別するために、配信ルール記憶部１９にクライアント装置の情報を送る。
【０１６２】
配信ルール記憶部１９は、あらかじめルールが定義されている。配信ルール記憶部１９は、クライアント装置の情報を受け取ると、このルールに従ってそのクライアント装置を特定するコンテンツデータ特定情報を返却する。
【０１６３】
図１６に１つめのルールであるブラウザグループルールの例を示す。クライアント装置の情報に応じて必ずどれか１つのグループに属するようにルールを定義する。例えば、画面の横幅が５００ピクセル以下の場合「小型端末グループ」とし、５００ピクセルより大きい場合「大型端末グループ」とするようにルールを定義する。
【０１６４】
図１７に２つめのルールであるグループ毎要素選択ルールの例を示す。クライアント装置の属するグループに応じた、送信すべきコンテンツデータ特定情報のルールを定義する。例えば、小型端末グループにはｃｌａｓｓ属性の値がｓｍａｌｌとなっている要素を送信し、大型端末グループにはｃｌａｓｓ属性の値がｌａｒｇｅとなっている要素を送信するようにルールを定義する。
【０１６５】
この例の場合、配信ルール記憶部１９は、データ通信部１６より受け取ったクライアント装置の情報から画面の横幅の情報を用いて、各クライアント装置に送信するコンテンツデータを特定するためにｃｌａｓｓ属性の条件を返却する。
【０１６６】
データ通信部１６は、送信するコンテンツデータ特定情報を受け取り、そのコンテンツデータ特定情報にある方法をコンテンツデータに適用する。例えば、ｃｌａｓｓ属性の値を比較しコンテンツデータ特定情報と一致する要素をクライアント装置に送信する。
【０１６７】
ここでのコンテンツデータは、データ変換部１５にて、ｃｓｃｒｉｐｔという新たなＨＴＭＬ要素を定義する処理、ｓｃｒｉｐｔ要素を削除する処理を行っており、ｃｓｃｒｉｐｔ要素を定義する処理により、ＨＴＭＬタグとして標準ではないｃｓｃｒｉｐｔ要素をＨＴＭＬの要素と同等に取り扱うことができるため、ｃｓｃｒｉｐｔ要素にｃｌａｓｓ属性が設定されている場合、他の要素と同様に、コンテンツデータ特定情報と一致するｃｓｃｒｉｐｔ要素をクライアント装置に送信する。
【０１６８】
以上、第１の実施形態との差分として説明したが、第２乃至第５の実施形態に本差分を加えることで構成することもできる。
【０１６９】
以上、中間ブラウザサーバ装置１が配信ルール記憶部１９を用いて、クライアント装置に応じたコンテンツデータを送信する実施例について説明したが、これは一例である。
【０１７０】
クライアント装置の情報を配信ルール記憶部１９はデータ通信部１６より受け取るとしたが、外部のクライアント装置の認証システムから受け取るとしてもよいし、利用者の操作から情報を受け取るとしてもよい。
【０１７１】
配信ルール記憶部１９を、ファイル参照で実施してもよいし、メモリ参照で実施してもよいし、データベース参照で実施してもよい。
【０１７２】
以上、第６の実施形態によれば、中間ブラウザサーバ装置１のコンテンツ取得部１１が取得したコンテンツデータからスクリプト抽出部１２がｓｃｒｉｐｔ要素のスクリプトを抽出し、スクリプト実行部１３がそのスクリプトを実行し、その結果のコンテンツデータがＤＯＭ記憶部１４に保存され、データ変換部１５がＤＯＭ記憶部１４に保存されているコンテンツデータを変換し、データ通信部１６が、通信相手のクライアント装置の情報を配信ルール記憶部１９にわたし、配信ルール記憶部１９は、記憶しているルールに従って、クライアント装置に応じたコンテンツデータの送信範囲を決定し、コンテンツデータの送信範囲をデータ通信部１６に返却し、データ通信部１６からデータ通信部２１に配信ルール記憶部１９で決められた範囲のコンテンツデータがわたされ、スクリプト抽出部２２がｓｃｒｉｐｔ要素のスクリプトを抽出し、スクリプト実行部２３がそのスクリプトを実行することにより、１つのコンテンツデータに含まれるスクリプトを中間ブラウザサーバ装置で実行するだけでなく、クライアント装置でも実行させることができる。
【０１７３】
これにより、中間ブラウザサーバ装置が、どのクライアント装置にコンテンツデータのどこを送信するかを判別する際に、クライアント識別子やクライアント適合性以上の自由度をもたせるために、クライアント装置の情報とコンテンツデータの配信範囲の決定ルールを、コンテンツデータ以外の場所で記述し、それを記憶し、ルールを適用する手段をもつことで、
サーバに配置された１つのコンテンツデータに含まれるスクリプトを中間ブラウザサーバ装置で実行するだけでなく、クライアント識別子やクライアント適合性以上の自由度をもった指定方法でクライアント装置を指定し、クライアント装置でも実行させることができる。
［第７の実施形態］
以下、第７の実施形態について図面を用いて説明する。
【０１７４】
図１８は、第７の実施形態における中間ブラウザサーバ装置およびクライアント装置を含む全体構成図である。中間ブラウザサーバ装置１、クライアント装置２Ａ、２Ｂの各部について、第１の実施形態との差分のみ説明する。
【０１７５】
中間ブラウザサーバ装置１のデータ通信部１６は、クライアント装置権限管理部１０１にクライアント装置２Ａ、２Ｂとの通信状況の情報をわたし、クライアント装置権限管理部１０１は、データ通信部１６より中間ブラウザサーバ装置１と通信しているクライアント装置の情報を受け取り、通信状況情報を保存する。
【０１７６】
次に、第７の実施形態における中間ブラウザサーバ装置の動作について、第１の実施形態との差分のみ説明する。
【０１７７】
クライアント装置２Ａが中間ブラウザサーバ装置１と通信を開始すると、データ通信部１６はクライアント装置権限管理部１０１に、クライアント装置２Ａとの通信開始の旨の情報をわたし、クライアント装置権限管理部１０１はその情報を保存する。この情報の中には、クライアント装置２Ａがこの接続空間の代表権を持つ旨が含まれている。
【０１７８】
クライアント装置２Ｂが中間ブラウザサーバ装置１と通信を開始し、クライアント装置２Ａの接続空間に参加すると、データ通信部１６はクライアント装置権限管理部１０１に、クライアント装置２Ｂとの通信開始およびクライアント装置２Ａ接続空間への参加の旨の情報をわたし、クライアント装置権限管理部１０１はその情報を保存する。
【０１７９】
同一の接続空間に参加するクライアント装置は、１つのコンテンツデータを中間ブラウザサーバ装置で展開したものを共有することができる。したがって、いずれかのクライアント装置の表示部２５内の操作がすべてのクライアント装置の表示に反映される。
【０１８０】
ここで代表権の有無による違いを説明する。代表権を持つクライアント装置２Ａが利用を終了すると、接続空間の利用が終了となり、そこに参加しているクライアント装置２Ｂの利用も強制的に終了となる。代表権を持たないクライアント装置２Ｂが利用を終了しても接続空間の利用は終了とならず、代表権を持つクライアント装置２Ａの利用は終了しない。
【０１８１】
以上、第１の実施形態との差分として説明したが、第２乃至第５の実施形態に本差分を加えることで構成することもできる。
【０１８２】
以上、中間ブラウザサーバ装置１がクライアント装置権限管理部１０１を用いて、クライアント装置に応じたクライアント装置の接続状態を制御する実施例について説明したが、これは一例である。
【０１８３】
代表権の有無によって、他の制御を行ってもよい。
【０１８４】
以上、第７の実施形態によれば、中間ブラウザサーバ装置１のコンテンツ取得部１１が取得したコンテンツデータからスクリプト抽出部１２がｓｃｒｉｐｔ要素のスクリプトを抽出し、スクリプト実行部１３がそのスクリプトを実行し、その結果のコンテンツデータがＤＯＭ記憶部１４に保存され、データ変換部１５がＤＯＭ記憶部１４に保存されているコンテンツデータを変換し、データ通信部１６は、クライアント装置権限管理部１０１にクライアント装置との通信状況の情報をわたし、クライアント装置権限管理部１０１はクライアント装置の通信状況の情報を保存し、データ通信部１６はクライアント装置が切断した時には。代表権の有無をクライアント装置権限管理部１０１の情報を参照して、代表権がある場合はすべてのクライアント装置を切断し、代表権がない場合は特に処理をおこなわず、データ通信部１６からデータ通信部２１にコンテンツデータをわたし、スクリプト抽出部２２がｓｃｒｉｐｔ要素のスクリプトを抽出し、スクリプト実行部２３がそのスクリプトを実行することにより、１つのコンテンツデータに含まれるスクリプトを中間ブラウザサーバ装置で実行するだけでなく、クライアント装置でも実行させることができる。
【０１８５】
これにより、同じ接続空間に接続しているクライアント装置の利用者が異なる場合に、利用を開始した者が利用していない状況で、別の利用者が継続利用することを防ぐために、クライアント装置に代表権という属性をもたせることで、サーバに配置された１つのコンテンツデータに含まれるスクリプトを中間ブラウザサーバ装置で実行するだけでなく、クライアント装置でも実行させることができ、クライアント装置の利用者が異なる場合でも、クライアント装置の権限に応じた制御ができる。
【０１８６】
なお、各実施の形態の中間ブラウザサーバ装置やクライアント装置としてコンピュータを機能させるためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に記録でき、また、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
【符号の説明】
【０１８７】
１…中間ブラウザサーバ装置
３…コンテンツ配信装置
２Ａ、２Ｂ、２Ｃ…クライアント装置
１１…コンテンツ取得部
１２…スクリプト抽出部
１３…スクリプト実行部
１４…ＤＯＭ記憶部
１５…データ変換部
１６…データ通信部
１７…表示部
１８…スクリプト間通信受付部
１９…配信ルール記憶部
２１…データ通信部
２２…スクリプト抽出部
２３…スクリプト実行部
２４…ＤＯＭ記憶部
２５…表示部
２６…コンテンツ取得部
２７…スクリプト間通信受付部
２８…データ変換部
２９…データ通信部
１０１…クライアント装置権限管理部
【図１】
0005914594.tif 000002
【図２】
0005914594.tif 000003
【図３】
0005914594.tif 000004
【図４】
0005914594.tif 000005
【図５】
0005914594.tif 000006
【図６】
0005914594.tif 000007
【図７】
0005914594.tif 000008
【図８】
0005914594.tif 000009
【図９】
0005914594.tif 000010
【図１０】
0005914594.tif 000011
【図１１】
0005914594.tif 000012
【図１２】
0005914594.tif 000013
【図１３】
0005914594.tif 000014
【図１４】
0005914594.tif 000015
【図１５】
0005914594.tif 000016
【図１６】
0005914594.tif 000017
【図１７】
0005914594.tif 000018
【図１８】
0005914594.tif 000019