(57)【要約】【課題】任意のコンポーネントが、コンポーネント間のデータ送信等、通信のひとつまたは複数の面を、モバイルコードを含む制御オブジェクトを利用して制御する。【解決手段】通信制御システムは、複数のコンポーネントが関わるデータ伝送等、通信のためのコントローラオブジェクトを創出するコンポーネントを含む。さらに、コンポーネントは、データ伝送セッションオブジェクト等、コントローラオブジェクトをデータ伝送の通信セッションオブジェクトと関連付ける。データ伝送に関わるコンポーネントのひとつまたは複数が、データ伝送セッションオブジェクトを通じてコントローラオブジェクトを取得し、取得したコントローラオブジェクトに含まれる発行元に固有の命令を実行し、ユーザインタフェースを生成する。このユーザインタフェースは、コンポーネントがデータ伝送等の通信の一面を制御できるようにする。【選択図】図２
2004070956.tif 000002
【特許請求の範囲】
【請求項１】
　第一のコンポーネントにおいて、通信に関わる少なくとも２つのコンポーネントの少なくとも１つから少なくともひとつのコントローラオブジェクトを取得するステップと、
　前記第一のコンポーネントにおいて、少なくともひとつの取得したコントローラオブジェクトに関連する少なくともひとつの命令を実行するステップと、
　前記第一のコンポーネントにおいて、前記実行された命令に基づき、前記少なくとも２つのコンポーネントの間の通信を制御するステップと、
を含むことを特徴とする方法。
【請求項２】
　請求項１に記載の方法であって、
　少なくともひとつの命令を実行するステップはさらに、ユーザインタフェースを生成し、表示するために、少なくともひとつのモバイルコード命令を実行するステップを含むことを特徴とする方法。
【請求項３】
　複数のコンポーネントにおける第一のコンポーネントを備え、前記第一のコンポーネントは少なくともひとつのコントローラオブジェクトを有し、少なくともひとつのコントローラオブジェクトはそれぞれ前記複数のコンポーネントの少なくともひとつと関連し、少なくともひとつのコントローラオブジェクトは、前記第一のコンポーネントによって実行されると、前記第一のコンポーネントが前記複数のコンポーネントのうち少なくとも２つの間の通信を制御できるようにする少なくともひとつの命令と関連することを特徴とするシステム。
【請求項４】
　請求項３に記載のシステムであって、
　さらに、少なくともひとつのコントローラオブジェクトのコピーを有する第二のコンポーネントを備え、前記コピーは、前記第二のコンポーネントによって実行されると、前記第二のコンポーネントが前記通信を制御できるようにする少なくともひとつの命令に関連することを特徴とするシステム。
【請求項５】
　請求項３に記載のシステムであって、
　前記複数のコンポーネントは、前記第一のコンポーネントと第二のコンポーネント、または第二のコンポーネントと第三のコンポーネントであることを特徴とするシステム。
【請求項６】
　請求項３に記載のシステムであって、
　前記少なくともひとつの命令はさらに、ユーザインタフェースを生成し、表示する少なくともひとつのモバイルコード命令であり、前記少なくともひとつのモバイルコード命令は、少なくともひとつのコントローラオブジェクトの作成元に固有のものであることを特徴とするシステム。
【請求項７】
　請求項３に記載のシステムであって、
　前記複数のコンポーネントの少なくともひとつは、少なくともひとつのコントローラオブジェクトがコンポーネントの少なくとも別のもうひとつによって取得されたことを示す非同期通知を有する、あるいは前記複数のコンポーネントの少なくともひとつが、少なくともひとつのコントローラオブジェクトの状態における変化を示す非同期通知を有することを特徴とするシステム。
【請求項８】
　第一のコンポーネントにおいて、少なくとも２つのコンポーネントが関わる通信のための少なくともひとつのコントローラオブジェクトを作るステップと、
　前記少なくともひとつのコントローラオブジェクトを前記第一のコンポーネントから前記２つのコンポーネントのうち少なくとも一方に送信するステップと、
　前記第一のコンポーネントにおいて、前記２つのコンポーネントの前記少なくとも一方から、少なくともひとつの送信されたコントローラオブジェクトに関連する少なくともひとつの命令を実行する少なくともひとつのコマンドを受け取るステップと、
　前記第一のコンポーネントにおいて、前記２つのコンポーネントの間の通信を、前記少なくともひとつのコマンドに基づいて制御するステップと、
を含むことを特徴とする方法。
【請求項９】
　第一のコンポーネントを備え、前記第一のコンポーネントは、少なくともひとつの別のコンポーネントにアクセス可能な少なくともひとつのコントローラオブジェクトを有し、前記少なくともひとつのコントローラオブジェクトは、前記少なくともひとつの別のコンポーネントが実行すると、少なくともひとつの別のコンポーネントが前記少なくともひとつの別のコンポーネントが関わる通信を制御できるようにする少なくともひとつの命令と関連していることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は一般に、通信システムと方法、より詳しくは、任意のコンポーネントが、コンポーネント間のデータ送信等、通信のひとつまたは複数の面を、モバイルコードを含む制御オブジェクトを利用して制御することができるようにするためのシステムと方法に関する。
【背景技術】
【０００２】
　データ通信環境において、多くのベンダが特定のサービスのための多数の製品を提供している。あるベンダが開発したマシン、マシン上で動作するアプリケーションまたはマシン上にあるファイルシステム（以下、「コンポーネント」とする）には、別のベンダが開発したコンポーネントと通信する上で問題がある場合がある。コンポーネントが共通の言語を使って相互に通信可能にすることにより、この問題にある程度対処するための特定領域プロトコルが開発された。しかし、新しいコンポーネントが常に通信環境に出入りしているため、その領域に特定されず、しかも未知で任意のコンポーネントが通信環境に入り、事前に明確にプログラムすることなく相互通信を可能にするのに十分堅牢なシステムやプロトコルは開発されていない。
【０００３】
　たとえば、新しいタイプのプリンタをコンピュータに接続した場合、そのコンピュータは、接続したプリンタ専用のドライバをインストールすることにより、新しいプリンタと通信できるよう、明確にプログラムする必要がある。たとえば、携帯情報端末（ＰＤＡ）がプリンタと通信できるようにするためには、ＰＤＡにそのプリンタのプログラム上のインタフェースのセマンティックスの事前情報がなければならない。さらに、プリンタ等、印刷方法を知っているコンポーネントでも、たとえば、ＰＤＡのファイルシステムプログラマティックインタフェースと通信するよう明確にプログラムされないかぎり、ＰＤＡ機器上で動作するファイルシステムにアクセスする方法がわからないかもしれない。
【０００４】
　そのほかにも、特定領域専用プロトコルを使ってコンポーネント間の通信が可能になったところで発生する問題がある。コンピュータ等のコンポーネントは通常、フィードバックを提供する、あるいはユーザにデータ通信およびその他の動作中のコンポーネントの挙動のうちいくつかの面を制御できるようにするために、さまざまなメカニズムを使用している。たとえば、プリンタの設定を変更するためのプリンタコントロールパネル、印刷する特定のファイルを選択するためのダイアログボックス、あるいはネットワークファイルサーバからのファイルをコンピュータにコピーする際、プログレスバーウィンドウを表示するコンピュータ等がある。残念ながら、これらのメカニズムは、コンピュータそのものに本来的なものか、あるいはユーザのタスクをサポートする事前インストールされたアプリケーションの一部である。いずれの場合も、特定領域専用プロトコルに関する先の説明と同じよう、コンピュータ等のコンポーネントがこれらのメカニズムに関する具体的な命令を知っていなければならず、その結果、アプリケーションがそれを使用するよう明確にプログラムされていないコンポーネントとケースバイケースで相互作用する可能性が限定される。
【０００５】
【特許文献１】米国特許出願第０９／８３８，９３３号
【特許文献２】米国特許出願第１０／０５２，５８５号
【特許文献３】米国特許出願第１０／０５８，２６８号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
　本発明は、上記課題を鑑みてなされたものであり、任意のコンポーネントが、コンポーネント間のデータ送信等、通信のひとつまたは複数の面を、モバイルコードを含む制御オブジェクトを利用して制御することを目的とする。
【課題を解決するための手段】
【０００７】
　本発明に係る方法は、第一のコンポーネントにおいて、通信に関わる少なくとも２つのコンポーネントの少なくとも１つから少なくともひとつのコントローラオブジェクトを取得するステップと、前記第一のコンポーネントにおいて、少なくともひとつの取得したコントローラオブジェクトに関連する少なくともひとつの命令を実行するステップと、前記第一のコンポーネントにおいて、前記実行された命令に基づき、前記少なくとも２つのコンポーネントの間の通信を制御するステップと、を含むことを特徴とする。
【発明を実施するための最良の形態】
【０００８】
　本発明の実施形態により、任意のコンポーネントに通信を制御させるためのシステム１０が図１に示されている。本発明の実施形態において、システム１０はサーバ１２、携帯情報端末（ＰＤＡ）１４（１）−１４（ｎ）およびプロジェクタ１６を有し、これらは相互にネットワーク１８によって接続されている。ただし、システム１０は別の種類のコンポーネントをいくつ備えていてもよい。本発明は、ＰＤＡ　１４（１）等の任意のコンポーネントが、データ転送等の通信のある面を、サーバ１２およびプロジェクタ１６等、データ転送にかかわるその他のコンポーネントに関する事前知識を持たずに制御するようなシステム１０を提供する。さらに、システム１０により、インタフェースを構築または提供するコンポーネントに関する事前知識を持つことなく、データ通信等の通信を、これを受け取るものが制御する上での必要に応じて、ＰＤＡ　１４（１）−１４（ｎ）のひとつまたは複数等、他のコンポーネントとのユーザインタフェースを動的に提供することができる。
【０００９】
　サーバ１２は、データ記憶、ファイル管理およびネットワークルーティング等の各種機能を実行する汎用コンピュータおよびサーバシステム等である。ただし、他の種類のコンポーネントをいくつでも使用できる。サーバ１２は、プロセッサ、Ｉ／Ｏユニット、揮発性メモリ、不揮発性メモリ、メモリに保存されたデータ読取のためのメカニズムを備え、これらはひとつまたは複数のバスあるいはその他の連結技術によって相互に連結され、後述のように、サーバ１２は、本発明の実施形態に従って、命令を保存、処理するためにこれらを使用する。揮発性メモリはランダムアクセスメモリであるが、ダイナミックランダムアクセスメモリ、フラッシュメモリ等、他のタイプのメモリでもよい。不揮発性メモリは、ハードディスク等の固定媒体であるが、フロッピー（登録商標）ディスク、コンパクトディスク、デジタルビデオディスク、磁気テープまたは光ディスク等、テープあるいはポータブルデータ記憶媒体といった他の固定媒体でもよい。メモリは、プロセッサが実行する、本発明を実現するための命令とデータを記憶する。ただし、これらの命令とデータの一部または全部を別の場所に記憶してもよい。さらに、Ｉ／Ｏユニットは、同軸ケーブル等のラインベースの媒体を使ってサーバ１２をネットワーク１８に接続するためのひとつまたは複数のポートを有する。ただし、Ｉ／Ｏユニットには、サーバ１２がネットワーク１８と通信できるようにするために、ＲＦまたは赤外線信号を受信できるポートを備えてもよい。サーバ１２等のコンポーネントは当業界でよく知られているため、サーバ１２内の具体的な素子、その配置および動作について、ここではこれ以上詳しく説明しない。
【００１０】
　ＰＤＡ　１４（１）−１４（ｎ）はそれぞれ、情報表示、電子メッセージ送信、電話、ファクシミリ通信またはネットワーク等のさまざまな機能を果たすハンドヘルドコンピュータであるが、他のタイプと数のコンポーネントも使用できる。ＰＤＡ　１４（１）−１４（ｎ）の各々に、プロセッサ、Ｉ／Ｏユニット、揮発性メモリ、不揮発性メモリおよびメモリに保存されたデータを読み取るためのメカニズムが備えられ、これらはひとつまたは複数のバス、あるいはその他の連結技術で相互に接続され、ＰＤＡ　１４（１）−１４（ｎ）がこれを使って、本発明の実施形態によって命令を記憶、処理する。これについては後述する。ＰＤＡ　１４（１）−１４（ｎ）は、サーバ１２が使用する揮発性および不揮発性メモリと同じタイプのものも、ＰＤＡ　１４（１）−１４（ｎ）によるサイズ上の制約範囲内であれば使用できる。メモリは、プロセッサが実行する、本発明を実現するための命令とデータを記憶する。ただし、これらの命令とデータの一部または全部を別の場所に記憶することもできる。さらに、Ｉ／Ｏユニットは、同軸ケーブル等のラインベースの媒体を使ってＰＤＡ　１４（１）−１４（ｎ）をネットワーク１８に接続するためのひとつまたは複数のポートを有するが、Ｉ／Ｏユニットには、ＰＤＡ　１４（１）−１４（ｎ）がネットワーク１８と通信できるようにするためのＲＦまたは赤外線信号を受信できるポートを備えてもよい。ＰＤＡ　１４（１）−１４（ｎ）等のコンポーネントは当業界でよく知られているため、ＰＤＡ　１４（１）−１４（ｎ）内の具体的な素子、その配置および動作について、ここではこれ以上詳しく説明しない。
【００１１】
　プロジェクタ１６は、テキストまたはグラフィクスを表す画像を投射スクリーン等の固定媒体上に投射する装置であるが、他の種類のコンポーネントをいくつ使用してもよい。プロジェクタ１６はプロセッサ、Ｉ／Ｏユニット、揮発性メモリ、不揮発性メモリおよびメモリ内に記憶されたデータを読み取るためのメカニズムを有するが、上記素子を含むハードウェアインタフェース装置をプロジェクタ１６に接続することもできる。いずれの場合も、素子はバスその他の連結技術を使って相互に接続され、プロジェクタ１６はこれを使って、投射される画像を表すデータを受信、処理し、後述のように、本発明の実施形態にしたがって命令を記憶、処理する。プロジェクタ１６は、サーバ１２が使用する揮発性および不揮発性メモリと同じタイプのものも、プロジェクタ１６によるサイズ上の制約範囲内であれば使用できる。メモリは、プロセッサが実行する、本発明を実現するための命令とデータを記憶する。ただし、これらの命令とデータの一部または全部を別の場所に記憶することもできる。さらに、Ｉ／Ｏユニットは、同軸ケーブル等のラインベースの媒体を使ってプロジェクタ１６をネットワーク１８に接続するためのひとつまたは複数のポートを有するが、Ｉ／Ｏユニットには、プロジェクタ１６がネットワーク１８と通信できるようにするためのＲＦまたは赤外線信号を受信できるポートを備えてもよい。このほか、プロジェクタ１６は、スピーカ等の音声出力装置を備える。プロジェクタ１６等のコンポーネントは当業界でよく知られているため、プロジェクタ１６内の具体的な素子、その配置および動作について、ここではこれ以上詳しく説明しない。
【００１２】
　サーバ１２、ＰＤＡ　１４（１）−１４（ｎ）およびプロジェクタ１６等のコンポーネントは、例として設けたに過ぎない。本発明の実施形態において、コンポーネントは、後述のように、本発明のひとつまたは複数の方法を実行するための命令を記憶、処理、実行することのできるいかなるタイプの装置またはシステムとしてもよく、またこれらのコンポーネントは装置またはシステムによって実行される、あるいはその中に含まれる、実行可能プログラムまたはその他のタイプのソフトウェアとしてもよい。例として、図１に示すコンポーネントはスキャナ、ラップトップコンピュータ、携帯電話、表示装置、ビデオ入出力装置、音声入出力装置、コピー機、プリンタ、遠隔制御装置、装置およびコンピュータシステム内のファイルシステムまたはデータベースでもよい。
【００１３】
　ネットワーク１８は、イーサネット（登録商標）ネットワーク、広域ネットワーク（ＷＡＮ）、電話回線ネットワーク、Bluetooth（商標）ネットワーク等の無線ネットワーク等、ひとつまたは複数のローカルエリアネットワーク（ＬＡＮ）を含む、インターネット等の共有ネットワークである。ただし、複数の地理的ロケーションに広げられている専有組織ネットワーク等、他の共有または私的ネットワークも使用できる。
【００１４】
　任意のコンポーネントが本発明の実施形態に従って通信を制御できるようにするためのシステム１０の動作について、図１−８を参照しながら説明する。本発明の実施形態において、「コンポーネント」との用語は、サーバ１２、ＰＤＡ　１４（１）−１４（ｎ）、プロジェクタ１６上で実行される、スライドショープログラム等のひとつまたは複数のアプリケーションまたはプログラムを指すが、コンポーネントは、これらのアプリケーションを実行する実際のハードウェアデバイスを指すこともある。説明しやすくするために、本発明の実施形態においては、一般に、サーバ１２、ＰＤＡ　１４（１）−１４（ｎ）、プロジェクタ１６を指すとものし、これらのマシン上で実行される具体的なアプリケーションのことではないものとする。
【００１５】
　例として、ＰＤＡ　１４（１）のユーザは、スライドショーによるプレゼンテーションを行うためのファイルに記憶されたスライドを提示したいと希望する。しかしながら、ＰＤＡ　１４（１）には、ＭＳ　ＰｏｗｅｒＰｏｉｎｔ（商標）等のスライドショープログラム全体を記憶し、作動させるのに十分な処理能力およびメモリ容量がないかもしれない。さらに、ＰＤＡ　１４（１）のディスプレイ３０は、表示領域が限定されているため、ユーザグループに対してショーを提示する上での障害となる。したがって、ＰＤＡ　１４（１）のユーザは、サーバ１２等、他の場所に記憶されたスライドショープログラムまたはその他のコンポーネントプログラムにアクセスし、これを制御して、プロジェクタ１６等の適当な装置を使って記憶されたスライドを表示したいと希望するかもしれない。さらに、ＰＤＡ　１４（ｎ）のユーザは、提示されるスライドを見る等の目的で、データ伝送を監視したいと希望するかもしれない。
【００１６】
　図１，２において、ステップ１０００から始まり、ＰＤＡ　１４（１）はディスカバリプロセスを実行して、ネットワーク１８の上にどのコンポーネントがあるか、そして、その通信能力を判断する。本発明の実施形態において、ＰＤＡ　１４（１）は、Ｊｉｎｉ（商標）システムディスカバリプロトコルを使って、少なくともサーバ１２、ＰＤＡ　１４（ｎ）、プロジェクタ１６を発見する。ただし、このとき、Ｂｌｕｅｔｏｏｔｈ（商標）　ＳＬＰ、ＵＤＤＩあるいは、たとえば米国特許出願第０９／８３８，９３３号において開示されているような、ネームサーバ内の単純なルックアップ等、その他さまざまなディスカバリプロトコルを使用してもよい。
【００１７】
　ＰＤＡ　１４（１）は、ユーザが、たとえばデータ転送等、サーバ１２から記憶されたスライドをディスプレイのためにプロジェクタ１６に伝送するための特定のタイプの通信を確立したいとの希望を明示すると、ディスカバリプロセスを自動的に開始するようプログラムすることができるが、ＰＤＡ　１４（１）は、ユーザが手動でディスカバリプロセスを開始することができるようにプログラムしてもよい。たとえば、ＰＤＡ　１４（１）は、発見されたコンポーネント（図示せず）をそのディスプレイ３０に表示し、ユーザが、ＰＤＡ　１４（１），１４（ｎ）、サーバ１２またはプロジェクタ１６等、データ伝送に関与させたいと希望するコンポーネントを選択することができる。あるいは、ＰＤＡ　１４（１）は、伝送したいデータの種類、たとえばＭＳ　ＰｏｗｅｒＰｏｉｎｔ（商標）スライド、ＭＳ　ＰｏｗｅｒＰｏｉｎｔ（商標）で実行可能なコンテンツ、ＭＳ　Ｗｏｒｄ（商標）ファイル等からみたコンポーネントの利用可能性と適当さ、あるいはネットワーク１８におけるコンポーネントの物理的位置をはじめとする多数の基準に基づいてコンポーネントを自動的に選択するようプログラムしてもよい。
【００１８】
　ステップ２０００において、サーバ１２はサーバプロキシオブジェクトをＰＤＡ　１４（１）に返し、ＰＤＡ　１４（ｎ）はＰＤＡプロキシオブジェクトをＰＤＡ　１４（１）に返し、プロジェクタ１６はプロジェクタプロキシオブジェクトをＰＤＡ　１４（１）に返す。これらはすべて、ＰＤＡ　１４（１）のメモリに記憶されるが、オブジェクトは、ＰＤＡ　１４（１）にアクセス可能な他の場所に記憶してもよい。各プロキシオブジェクトに、各プロキシオブジェクトを送った特定のコンポーネントに関連する、つまりこの例においてはサーバ１２、ＰＤＡ　１４（ｎ）、プロジェクタ１６におけるひとつまたは複数のユニバーサルインタフェースを含み、これによってインタフェースとその各々の動作、命令、データが、ＰＤＡ　１４（１）等の受信コンポーネントにとってアクセス可能となる。
【００１９】
　本発明の実施形態において、サーバ１２はそのメモリの中にデータソースインタフェースを記憶し、これを実行する、あるいはその他これにアクセスする（関連する）ことができる。ただし、サーバ１２はまた、コンテクストインタフェース、通知インタフェースおよびユーザインタフェース等、他のインタフェースを実行することも可能である。あるいは、上記インタフェースは、サーバプロキシオブジェクトでも実行できる。本発明の実施形態において、ＰＤＡ　１４（１），１４（ｎ）とプロジェクタ１６はそれぞれ、データシンクインタフェースと関連するが、ＰＤＡ　１４（ｎ），１４（１），プロジェクタ１６は、サーバ１２について先に説明したものと同じ方法で多数の他のインタフェースと関連することも可能である。
【００２０】
　本発明の実施形態において、サーバ１２、ＰＤＡ　１４（１）−１４（ｎ）とプロジェクタ１６のプロキシオブジェクトとそれぞれが関連するインタフェース、動作、命令および、後述するその他のインタフェース、動作、命令は、ＪＡＶＡ（登録商標）等のモバイルコードであるが、Ｓｍａｌｌｔａｌｋ，ＣＬＯＳ，ＡｄａまたはＯｂｊｅｃｔ　Ｐａｓｃａｌといった他の言語も使用できる。モバイルコードは、本明細書で説明するように、それが実行されるサーバ１２、ひとつまたは複数のＰＤＡ　１４（１）−１４（ｎ）またはプロジェクタ１６に伝送できる実行可能データである。本発明の実施形態において、モバイルコードはオブジェクト指向であり、データタイプ（このコンテクストでは、データタイプをしばしばクラスと呼ぶ）が関連する手順または命令セットに沿って定義される、コンピュータプログラム技術においては周知のプログラム方法であるが、モバイルコードは、手順指向、ロジック指向、ルール指向または制約指向であってもよい。
【００２１】
　ステップ３０００において、ＰＤＡ　１４（１）は、サーバ１２、ＰＤＡ　１４（ｎ）およびプロジェクタ１６のプロキシオブジェクト等、受信したプロキシオブジェクトを点検し、サーバ１２、ＰＤＡ　１４（ｎ）およびプロジェクタ１６がどのユニバーサルインタフェースを実行するか決定する。ＰＤＡ　１４（１）は、サーバプロキシオブジェクトは少なくともデータソースインタフェースを実行し、ＰＤＡ　１４（ｎ）とプロジェクタ１６のプロキシオブジェクトは少なくともデータシンクインタフェースを実行すると判断する。この例において、ＰＤＡ　１４（１）はサーバ１２と関連するデータソースインタフェース、ＰＤＡ　１４（ｎ）およびプロジェクタ１６とそれぞれ関連するデータシンクインタフェースを呼び出し、そのインタフェースに含まれる命令、動作、データはＰＤＡ　１４（１）によって利用可能となる。
【００２２】
　ステップ４０００において、また図３−８に示されているように、ＰＤＡ　１４（１）はサーバ１２、ＰＤＡ　１４（１），１４（ｎ）およびプロジェクタ１６の間に通信セッションを確立する。本発明の実施形態における通信セッションは、コンポーネント１２，１４（１），１４（ｎ），１６の間のデータ伝送であるが、このセッションには、コンテクストデータの伝送、イベント通知の提供等、他のタイプの通信が関わることもある。
【００２３】
　図３において、ステップ４１００で、ＰＤＡ　１４（１）はサーバ１２と関連するデータソースインタフェースに含まれるｂｅｇｉｎＴｒａｎｓｆｅｒＳｅｃｃｉｏｎ（）動作を実行する。ｂｅｇｉｎＴｒａｎｓｆｅｒＳｅｃｃｉｏｎ（）動作は、サーバ１２に対してＰＤＡ　１４（１）と通信するよう要求するための、ＰＤＡ　１４（１）によって実行される動作、命令、データを含む。したがって、サーバ１２は、ＴＣＰ／ＩＰ通信プロトコルを使って、データ伝送セッションオブジェクト２０（１）のコピーをＰＤＡ　１４（１）に送る。ＴＣＰ／ＩＰ通信プロトコルは、図５において、データ伝送セッションとして示されているが、ＲＰＣ，ＣＯＲＢＡ，ＣＯＡＰ，ＲＭＩ等、他のプロトコルも利用できる。データ伝送セッションオブジェクト２０（２）は、サーバ１２に特定された命令、動作、データを含むが、ＰＤＡ　１４（１），１４（ｎ）、プロジェクタ１６等、オブジェクト２０（１）のコピーにアクセスできるコンポーネントによって理解、実行される。ＰＤＡ　１４（１）は、セッションオブジェクト２０（２）に含まれるｇｅｔＴｒａｎｓｆｅｒＤａｔａ（）動作およびＰＤＡ　１４（１）が実際にサーバ１２からデータを読み出すのに必要なその他の命令、たとえばＭＳ　ＰｏｗｅｒＰｏｉｎｔ（商標）スライドショープログラムへのアクセスのための実行可能なコンテンツを実行することができる。
【００２４】
　ＰＤＡ　１４（１）は、ＰＤＡ　１４（ｎ）とプロジェクタ１６に関連するデータシンクインタフェースに含まれるＴｒａｎｓｆｅｒ（）動作を実行する。Ｔｒａｎｓｆｅｒ（）動作は、ＰＤＡ　１４（１）がＰＤＡ　１４（ｎ）とプロジェクタ１６にサーバ１２とＰＤＡ　１４（１）とのデータ伝送に参加するよう要求するために理解し、実行する動作、命令、データを含む。したがって、ＰＤＡ　１４（１）はデータ伝送セッションオブジェクト２０（２）のコピーをＴｒａｎｓｆｅｒ（）動作コールに送り、それぞれ、図６、図７においてデータ伝送セッションオブジェクト２０（ｎ），２０（３）として示されるよう、オブジェクト２０（２）がＰＤＡ　１４（ｎ）とプロジェクタ１６にとってアクセス可能で、プロジェクタ１６がサーバ１２との通信を開始し、ＰＤＡ　１４（ｎ）が少なくとも通信を監視できるようにする。
【００２５】
　ＰＤＡ　１４（ｎ）とプロジェクタ１６は、それぞれオブジェクト２０（ｎ），２０（３）を通じてサーバ１２からデータを読み取って受信する。ＰＤＡ　１４（１）は、サーバ１２と関連するデータシンクインタフェースもまた呼び出すようプログラムし、スライドショープログラムの実行中に必要であれば、Ｔｒａｎｓｆｅｒ（）動作を実行して、自己のデータ伝送セッションオブジェクト（図示せず）をサーバ１２に送り、データをサーバ１２に伝送できるようにすることも可能である。同様に、ＰＤＡ　１４（ｎ）とプロジェクタ１６は、サーバ１２またはＰＤＡ　１４（１）と関連するデータシンクインタフェースもまた呼び出し、スライドショープログラム実行中に必要であれば、Ｔｒａｎｓｆｅｒ（）動作を実行して自己のデータ伝送セッションオブジェクト（図示せず）をサーバ１２に送り、サーバ１２にデータを伝送することもできる。
【００２６】
　ステップ４２００において、サーバ１２はサーバコントローラオブジェクト２２（1）を作り、データ伝送セッションオブジェクト２０（１）についてａｄｄＣｏｎｔｒｏｌｌｅｒ（）動作を実行する。これにより、サーバコントローラオブジェクト２２（１）のコピーが、セッションオブジェクト２０（１）のコピーを有する他のコンポーネントの各々に送られる。サーバコントローラオブジェクト２２（１）は、ＰＤＡ　１４（１），１４（ｎ）およびプロジェクタ１６等のコンポーネントによって受信、実行され、この例においてはサーバ１２等、コントローラオブジェクト２２（１）を作るコンポーネントに関して、カスタムユーザインタフェースを生成するためのモバイルコード命令を含む。ＰＤＡ　１４（１）等のコンポーネントは、コントローラオブジェクト２２（１）に含まれる命令を実行し、データ伝送のひとつまたは複数の面を制御することができる。サーバコントローラオブジェクト２２（１）に含まれる命令は、サーバ１２に特定のものであるが、ＰＤＡ　１４（１），１４（ｎ）またはプロジェクタ１６等、オブジェクト２２（１）のコピーを受け取ったものによっても理解、実行される。サーバコントローラオブジェクト２２（１）は、それぞれデータ伝送セッションオブジェクト２０（２），２０（ｎ）２０（３）を通じてコンポーネント１４（１），１４（ｎ），１６にとってアクセス可能となる。これは、図４−６のサーバコントローラオブジェクト２２（２），２２（ｎ），２２（３）として示される。
【００２７】
　さらに、サーバコントローラオブジェクト２２（１），２２（２），２２（ｎ），２２（３）および後述するコントローラは、ステップ４０００−６０００の実行中またはステップ４０００−６０００と平行して、いつの時点でも作ることができる。本発明の実施形態において、サーバ１２はコントローラオブジェクト２２（２），２２（ｎ），２２（３）を、データ伝送に関わるコンポーネント、たとえばそれぞれＰＤＡ　１４（１），１４（ｎ）、プロジェクタ１６に「押し出す」が、コンポーネントが必要に応じてコントローラオブジェクトを要求することもできる。また、サーバ１２は、ＰＤＡ　１４（１），１４（ｎ）またはプロジェクタ１６等、データ伝送に関連するコンポーネントは、少なくとも、それぞれサーバコントローラオブジェクト２２（２），２２（ｎ），２２（３）にアクセスし、これを使用することができる。
【００２８】
　ステップ４３００において、サーバ１２はＴＣＰ／ＩＰ通信プロトコルを使い、非同期イベント通知を、ＰＤＡ　１４（１），１４（ｎ）およびプロジェクタ１６等、データ伝送セッションオブジェクト２０（１）のコピーにアクセスできるコンポーネントに送るが、ＲＣＰ，ＣＯＲＢＡ，ＳＯＡＰ，ＲＭＩ等、他のプロトコルも使用できる。この通知は、サーバ１２等、セッションオブジェクト２０（１）のコピーを有するひとつまたは複数のコンポーネントが、サーバコントローラオブジェクト２２（１）等の新しいコントローラオブジェクトを作り、これをセッションオブジェクト２０（１）と関連付けたことを示す。送信される非同期イベント通知には、コントローラオブジェクト２２（１）のコピー等がある。
【００２９】
　ステップ４４００において、ＰＤＡ　１４（１），１４（ｎ），１６等、データ伝送セッションオブジェクト２０（１）のコピーを有するコンポーネントが、ステップ４３００に関連して上述したように、サーバ１２から送られた通知を受け、その中から、２２（２），２２（ｎ），２２（３）として示されるサーバコントローラオブジェクト２２（１）のコピーを抽出する。さらに、コンポーネント１４（１），１４（ｎ），１６は、非同期通知の中でコピーが送られるようにするのではなく、データ伝送セッションオブジェクトからサーバコントローラオブジェクト２２（１）のコピーを「ポーリング」または要求するようプログラムすることもできる。また、コンポーネント１４（１），１４（ｎ），１６は、データ伝送セッションオブジェクト２０（１）のコピーを受信した、あるいは新しいコンポーネントがデータ伝送に参加していることを検出した等、特定のイベントの発生によってコントローラオブジェクトをポーリングまたは要求することができる。あるいは、サーバ１２から送られた非同期イベント通知は、サーバコントローラオブジェクト２２（１）のコピーを含まないが、サーバコントローラオブジェクト２２（１）が作られ、現在アクセス可能であることを示す表示が含まれる。この例において、データ伝送セッションオブジェクト２０（１）のコピーを有するコンポーネントは、サーバコントローラオブジェクト２２（１）が利用可能であるとの通知を受けたところで、サーバ１２または、ウェブサーバ等の他の資源からサーバコントローラオブジェクト２２（１）のコピーを取り出す。
【００３０】
　ステップ４５００において、サーバ１２はサーバコントローラオブジェクト２２（１）、従ってオブジェクト２２（２），２２（ｎ），２２（３）の中の「リース更新」命令を含み、ＰＤＡ　１４（１），１４（ｎ）とプロジェクタ１６はデータ伝送中にこれを実行し、コントローラオブジェクト２２（２），２２（ｎ），２２（３）にアクセスし、使用できなければならない。ただし、これらのリース更新命令はオプションである。リース更新命令は、この例においてはＰＤＡ　１４（１），１４（ｎ）およびプロジェクタ１６である、コントローラオブジェクト２２（２），２２（ｎ），２２（３）を保有するものに対し、所定の間隔で、サーバ１２またはコントローラオブジェクトを作るコンポーネントに確認応答を送るよう命令する。ただし、確認応答は、他の条件が発生したときに求めることもできる。
【００３１】
　サーバ１２は、コンポーネント１４（１），１４（ｎ），１６のひとつまたは複数が、クラッシュした、ネットワーク１８と切断された、またはそれぞれサーバコントローラオブジェクト２２（２），２２（ｎ），２２（３）を持ちたくなくなった、あるいはこれにアクセスしたくなくなったとの希望が表現されたことによってデータ伝送に参加しなくなった場合、あるいはデータ伝送が自然に終了した場合、サーバ１２がデータ伝送から解放されるように、サーバコントローラオブジェクト２２（２），２２（ｎ），２２（３）のリースを要求するよう望むことができる。したがって、サーバ１２がデータ伝送に関わるひとつまたは複数のコンポーネントから必要な確認応答を受け取らなかった場合、プロジェクタ１６はコントローラオブジェクト２６（２），２６（ｎ），２６（３）のひとつまたは複数を呼び出し、他のコンポーネントにプロジェクタ１６を制御させることができる。
【００３２】
　決定ボックス４５５０において、ＰＤＡ　１４（１）等のひとつまたは複数のコンポーネントがコントローラオブジェクト２２（１）のそれぞれのコピーを使用するのであれば、「イエス」に進み、後述のようにステップ４６００を実行し、そのコピーを使用しなければ、サーバ１２は結果的に、ステップ４８００について説明したように、ひとつまたは複数のコンポーネントが確認応答を送らなかったことを検出する。
【００３３】
　ステップ４６００において、図５と図８およびステップ１０００に関して先に挙げた例に示すように、ＰＤＡ　１４（１）はサーバコントローラオブジェクト２２（２）に含まれる命令を実行し、スライドを先に進めるためのボタン３４等、ユーザインタフェースを生成、表示することができる。ただし、サーバコントローラオブジェクト２２（２）には、スピーカ等のオーディオ出力装置を使ってオーディオプロンプトを発生し、マイクロフォン、キーボードまたはキーパッド等のオーディオ入力装置を通じたユーザ入力を受け取るための命令を含めることもできる。これに加え、ＰＤＡ　１４（１）は、サーバコントローラオブジェクト２２（２）に含まれ、ＰＤＡ　１４（１）に対し、サーバ１２等、コントローラオブジェクト２２（２）を作ったものに、ＰＤＡ　１４が生成し、サーバコントローラオブジェクト２２（２）を表示したことをサーバ１２に伝えるメッセージを送るようにする命令を実行するが、この命令は、ＰＤＡ　１４（１）に対し、サーバコントローラオブジェクト２２（１）のコピーを有するコンポーネントにそのメッセージを送らせることもできる。このようなメッセージは、ＴＣＰ／ＩＰ通信プロトコルを使って送信されるが、ＲＰＣ，ＣＯＲＢＡ，ＳＯＡＰ，ＲＭＩ等、他のプロトコルを使用することもできる。
【００３４】
　ユーザは、マウスやジョイスティック等、ＰＤＡ　１４（１）と関連する入力デバイスを操作し、次または前のスライドを表示するよう適当なボタン３４を選択するよう、表示されているグラフィクスによるカーソルを動かすことができる。ユーザがボタン３４を使って行った選択は、ＴＣＰ／ＩＰ通信プロトコルを使って、サーバ１２のコントローラオブジェクト２２（１）に戻されるが、ＲＰＣ，ＣＯＲＢＡ，ＳＯＡＰ，ＲＭＩ等、他のプロトコルも使用できる。サーバ１２は、スライドショーの中で次のスライドを表示する等、変更を行うための命令を実行する。あるいは、ＰＤＡ　１４（１）は、サーバコントローラオブジェクト２２（１）に含まれる命令を実行しながら、直接サーバ１２にアクセスすることもできる。ここで、実際のスライドショーのコマンドのように、発行された命令はＰＤＡ　１４（１）に対し、直接スライドショープログラムにアクセスし、変更を実行させることができる。
【００３５】
　決定ボックス４６５０において、ＰＤＡ　１４（１）等、ひとつまたは複数のコンポーネントがコントローラオブジェクト２２（１）のコピーにアクセスしたいと希望する場合、「イエス」に進む。ステップ４７００において、ＰＤＡ　１４（１）等、コントローラオブジェクト２２（１）のそれぞれのコピーを保持したいと希望するひとつまたは複数のコンポーネントが、コントローラオブジェクトリースを更新するとの応答確認メッセージをサーバ１２に送信する。これらの確認応答メッセージは、ＴＣＰ／ＩＰ通信プロトコルを使って送信されるが、ＲＰＣ，ＣＯＲＢＡ，ＳＯＡＰ，ＲＭＩ等、他のプロトコルも使用できる。サーバ１２は、適合するコンポーネントのためにサーバコントローラオブジェクト２２（２），２２（ｎ），２２（３）のリースを更新し、これによってＰＤＡ　１４（１），１４（ｎ）、プロジェクタ１６が、少なくともサーバ１２が別の応答確認を受け取るまで、サーバコントローラオブジェクト２２（２），２２（ｎ），２２（３）のアクセスを保ち、これを使用することができるようにする。このように、ステップ４６５０と４７００は、ＰＤＡ　１４（１）等、ひとつまたは複数のコンポーネントがリース更新応答確認メッセージをサーバ１２に送らなくなるまで、実行される。
【００３６】
　決定ボックス４６５０において、ＰＤＡ　１４（１），１４（ｎ）およびプロジェクタ１６のひとつまたは複数がコントローラオブジェクトリースを更新しない場合、「ノー」に進み、ステップ４８００が実行される。ステップ４８００において、サーバ１２は、この例においてはＰＤＡ　１４（ｎ）およびプロジェクタ１６等、コンポーネントのひとつまたは複数が所定の時間内に、確認応答を送ってリースを更新していないと判断する。
【００３７】
　ステップ４９００において、サーバ１２は、この例においてはＰＤＡ　１４（ｎ）とプロジェクタ１６のような非適合コンポーネントに関して、サーバコントローラオブジェクト２２（１）を無効にする。サーバコントローラオブジェクト２２（１）を無効にすることにより、コントローラオブジェクト２２（２），２２（ｎ），２２（３）のコピーを動作不能とする。さらに、サーバ１２は、この時点でデータ伝送を終了することができる。また、サーバ１２は、不適合コンポーネントに関するオブジェクト２２（２），２２（ｎ），２２（３）の状態をそれぞれ説明する、サーバコントローラオブジェクト２２（２），２２（ｎ），２２（３）に含まれるデータを更新してもよい。コントローラオブジェクト２２（２），２２（ｎ），２２（３）のひとつまたは複数が無効になっているため、サーバ１２は不適合コントローラオブジェクトホストコンピュータが利用できなくなったと仮定する。サーバ１２は、適合コントローラオブジェクトホストコンポーネントにおいて残っているオブジェクト２２（２），２２（ｎ）または２２（３）の中のデータを更新し、コンポーネントが利用不能であることを示す。ただし、サーバ１２は残っているコンポーネントに利用不能性を示すメッセージを送ることができる。このようなメッセージは、ＴＣＰ／ＩＰ通信プロトコルを使って送信できるが、ＲＰＣ，ＣＯＲＢＡ，ＳＯＡＰ，ＲＭＩ等、他のプロトコルも利用できる。
【００３８】
　上記のように、データ伝送に関連するサーバコントローラオブジェクト２２（２），２２（ｎ），２２（３）がなくなり、データ伝送が終了し、サーバ１２がネットワーク１８と切断され、あるいはサーバ１２がデータ伝送に関わらなくなるまで、ステップ４５００−４９００が実行される。さらに、ステップ４５００−４９００は、ステップ４０００−６０００実行中のいずれかの時点で、またはステップ４０００−６０００と平行して、実行することができる。
【００３９】
　図２に戻り、ステップ５０００から続けるが、サーバ１２は、データタイプハンドラオブジェクト２４（１）を作る。データタイプハンドラオブジェクト２４（１），２４（２），２４（ｎ），２４（３）はそれぞれ、サーバ１２にとってネイティブであるが、データ伝送中にサーバ１２がサポートするひとつまたは複数のデータタイプを理解する上で必要に応じて、ＰＤＡ　１４（１），１４（ｎ）およびプロジェクタ１６がそれぞれ読み、実行することのできる命令、動作、データを含む。ただし、ハンドラオブジェクト２４（１），２４（２），２４（ｎ），２４（３）の各々は、インターネットアドレス等、ハンドラオブジェクト２４（１）を形成する命令、動作、データのロケーションを指し示す、ポインタ等のリファレンスでもよい。ステップ１０００で挙げた例において、サーバ１２は、投射すべきＭＳ　ＰｏｗｅｒＰｏｉｎｔ（商標）スライドを処理するために、ＰＤＡ　１４（１），１４（ｎ）およびプロジェクタ１６がそれぞれハンドラオブジェクト２４（１），２４（２），２４（ｎ），２４（３）を通じて取り出し、実行する適当な命令を含む。
【００４０】
　本発明の実施形態において、データタイプハンドラオブジェクト２４（１）は、ステップ４２００−４９００に関連して上述したものと同じ方法でデータタイプハンドラコントローラオブジェクト（図示せず）を作る。データタイプハンドラコントローラオブジェクトは、データタイプハンドラオブジェクト２４（１）に固有の命令を含む。さらに、データタイプハンドラオブジェクト２４（１）は、ステップ４５００−４９００に関連して上述したように、サーバ１２がリースを求めるのと同じ方法でデータタイプハンドラコントローラオブジェクトをリースするよう要求することができる。また、データタイプハンドラオブジェクト２４（１）はＰＤＡ　１４（１），１４（ｎ）およびプロジェクタ１６に対し、ステップ４４００について述べたように、データタイプハンドラコントローラオブジェクトが作られたという通知を送信することができる。さらに、データタイプハンドラコントローラオブジェクトは、ユーザがフォーマット変換のパラメータを制御できるよう、グラフィックによるユーザインタフェースを生成させる命令を含む。たとえば、データタイプハンドラオブジェクト２４（１）がデータをＧＩＦフォーマットからＪＰＥＧフォーマットに変換する場合、データタイプハンドラコントローラオブジェクトは圧縮率またはその結果として得られるＪＰＥＧデータの品質を操作するための制御インタフェースを提供することができる。
【００４１】
　ステップ６０００において、図７のように、プロジェクタ１６は、プロジェクタ１６がプロジェクタコントローラオブジェクト２６（１）をデータ伝送セッションオブジェクト２０（３）、つまり図４−６においてそれぞれプロジェクタコントローラオブジェクト２６（２），２６（３），２６（ｎ）として示されるセッションオブジェクト２０（１），２０（２），２０（ｎ）に関連付けることを除き、ステップ４２００−４９００に関する先の説明と同じ方法で、プロジェクタコントローラオブジェクト２６（１）を作る。プロジェクタコントローラオブジェクト２６（２），２６（３），２６（ｎ），２６（１）は、後述のように、プロジェクタコントローラオブジェクト２６（２），２６（３），２６（ｎ），２６（１）がそれぞれプロジェクタ１６に固有の命令を含むことを除き、ステップ４２００に関連して先に説明した、それぞれサーバコントローラオブジェクト２２（１），２２（２），２２（ｎ），２２（３）と同じである。さらに、プロジェクタは、コントローラオブジェクト２６（１），２６（２），２６（ｎ），２６（３）が、ステップ４５００−４９００に関して上述したように、サーバ１２がリースを求めるのと同じ方法でリースされるよう求める。また、プロジェクタ１６は、サーバ１２およびＰＤＡ　１４（１），１４（ｎ）に対し、コントローラオブジェクト２６（１）がステップ４４００で説明したように作られたとの通知を送信する。
【００４２】
　ステップ１０００において挙げた例において、図５、図９に示すように、ＰＤＡ　１４（１）はプロジェクタコントローラオブジェクト２６（３）に含まれる命令を実行し、グラフィカルスピーカ容量制御インタフェース３６を生成し、表示することができるが、ＰＤＡ　１４（ｎ）は、図６に示すように、プロジェクタコントローラオブジェクト２６（ｎ）に含まれる命令を実行し、コントローラインタフェースも生成する。容量制御３６が示されているものの、プロジェクタコントローラオブジェクト２６（３）はまた、プロジェクタ１６によって投射される画像の明るさまたはコントラストを調整するためのコントロールパネルを生成するための命令を含むこともできる。ＰＤＡ　１４（１）のユーザは、マウス等の入力装置を操作し、容量制御インタフェース３６の連続バーを選択するための表示されたグラフィックによるカーソルを動かし、プロジェクタ１６に関連する、スピーカ等のオーディオ出力装置の容量を調整することも可能である。ユーザが制御インタフェース３６を使って行った変更は、プロジェクタコントローラオブジェクト２６（１）に戻されるか、あるいはサーバコントローラオブジェクト２２（１）に関してステップ４６００で説明したように、直接プロジェクタ１６に伝えられる。
【００４３】
　ステップ７０００において、ＰＤＡ　１４（１）は、データ伝送セッションオブジェクト２０（２）に含まれるｇｅｔＴｒａｎｓｆｅｒＤａｔａ（）動作を実行し、サーバ１２からデータを呼び出す。ＰＤＡ　１４（１）は、ステップ４１００について説明したように、データ伝送セッションオブジェクト２０（２）がＰＤＡ　１４（１）によって呼び出されるとすぐに、あるいはマウスやキーボードのような入力装置を通じて、ユーザがデータ伝送を開始したいという希望を示すユーザの入力を受信したところで、自動的にサーバ１２からのデータの読取を開始するようにプログラムすることができる。ステップ１０００で挙げた例に戻ると、ＰＤＡ　１４（１）はサーバ１２から、ＰＤＡ　１４（１）によって実行され、スライドショーにアクセスし、ディスプレイ３０を使ってショーのスライドを表示するとの実行可能なコンテンツを表すデータを受信する。しかし、ＰＤＡ　１４（ｎ）または、データ伝送セッションオブジェクト２０（１）のコピーを有する他のコンポーネントもまた、アクセスし、ショーを表示するための実行可能なコンテンツを実行することができる。
【００４４】
　さらに、ＰＤＡ　１４（１）は、サーバコントローラオブジェクト２２（２）に含まれる適当な命令を実行し、図８において示されているボタン３４のような、ユーザがＰＤＡ　１４（１）と関連するスライドを進めるために対話する、サーバ１２に固有のユーザインタフェースを生成し、表示する。また、ＰＤＡ　１４（１）は、それがユーザインタフェースを生成したとの通知を、ＴＣＰ／ＩＰ通信プロトコルを使ってサーバ１２に送ることができるが、ＲＰＣ，ＣＯＲＢＡ，ＳＯＡＰ，ＲＭＩ等、他のプロトコルも使用できる。サーバ１２がすべてのデータをＰＤＡ　１４（1）に送った、あるいはデータ伝送を終了したいと望んだ場合、サーバ１２とＰＤＡ　１４（１）との間の通信は終了する。
【００４５】
　さらに、ＰＤＡ　１４（１）は、データタイプハンドラコントローラオブジェクトに含まれる適当な命令を実行し、図８において示されているボタン３４のような、ユーザがＰＤＡ　１４（１）と関連するスライドを進めるために対話する、サーバ１２に固有のユーザインタフェースを生成し、表示する。また、ＰＤＡ　１４（１）は、それがユーザインタフェースを生成したとの通知を、ＴＣＰ／ＩＰ通信プロトコルを使ってサーバ１２に送ることができるが、ＲＰＣ，ＣＯＲＢＡ，ＳＯＡＰ，ＲＭＩ等、他のプロトコルも使用できる。サーバ１２がすべてのデータをＰＤＡ　１４（1）に送った、あるいはデータ伝送を終了したいと望んだ場合、サーバ１２とＰＤＡ　１４（１）との間の通信は終了する。
【００４６】
　図４、図７において、サーバ１２はまた、データ伝送セッションオブジェクト２０（３）を通じて、プロジェクタ１６にもデータを伝送する。プロジェクタ１６は、ステップ４２００に関連して上述したように、データ伝送セッションオブジェクト２０（３）がＰＤＡ　１４（１）から呼び出されるとすぐに、データがサーバ１２から送信されていることを検出したところで、あるいはユーザがデータ伝送を開始したいと望んでいることを示す信号をＰＤＡ　１４（１）から受信したところで、サーバ１２からのデータの読取を自動的に開始するようプログラムすることができる。プロジェクタ１６は、受信したデータによって表される画像を投射する。
【００４７】
　ステップ１０００において挙げた例について、プロジェクタ１６はサーバ１２から、プロジェクタ１６によって表示されるべきＭＳ　ＰｏｗｅｒＰｏｉｎｔ（商標）のスライドを表すデータを受信することができる。したがって、プロジェクタ１６は、ステップ５０００において述べたように、データタイプハンドラオブジェクト２４（３）に含まれる動作と命令を実行し、データを理解し、これと対話する。さらに、ＰＤＡ　１４（１）は、プロジェクタコントローラオブジェクト２６（３）に含まれ、ユーザがプロジェクタ１６のボリュームを制御するのに使用する音声制御インタフェース３６を生成し、表示するための適当な命令を実行する。
【００４８】
　さらに、ＰＤＡ　１４（１）はプロジェクタ１６に対し、それがユーザインタフェースを生成した、あるいはデータ伝送のためにプロジェクタコントローラオブジェクト２６（３）が不要になったとの通知を送り、プロジェクタ１６が他のコンポーネントとのデータ伝送または他のタイプの通信に参加できるようにする。ＰＤＡ　１４（１）がプロジェクタ１６にすべてのデータを送信した、あるいはその他、データ伝送を終了したいと望んだ場合、サーバ１２、ＰＤＡ　１４（１）およびプロジェクタ１６の間の通信は終了し、プロセスが終わる。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施形態による通信制御システムの略図である。
【図２】本発明の実施形態による通信制御プロセスのフローチャートである。
【図３】本発明の実施形態による通信確立プロセスのフローチャートである。
【図４】本発明の実施形態による通信制御システムで用いられるサーバ、ＰＤＡおよびプロジェクタの機能ブロック図である。
【図５】本発明の実施形態による通信制御システムで用いられるサーバ、ＰＤＡおよびプロジェクタの機能ブロック図である。
【図６】本発明の実施形態による通信制御システムで用いられるサーバ、ＰＤＡおよびプロジェクタの機能ブロック図である。
【図７】本発明の実施形態による通信制御システムで用いられるサーバ、ＰＤＡおよびプロジェクタの機能ブロック図である。
【図８】本発明の実施形態により通信を制御するために使用されるユーザインタフェースの一例を示す図である。
【符号の説明】
【００５０】
　１０　システム、１２　サーバ、１４　コンポーネント（ＰＤＡ）、１６　プロジェクタ、１８　ネットワーク、２０　データ伝送セッションオブジェクト、２２　サーバコントローラオブジェクト、２４　データタイプハンドラオブジェクト、２６　プロジェクタコントローラオブジェクト、３０　ディスプレイ、３４　ボタン、３６　グラフィカルスピーカ容量制御インタフェース。
【図１】
2004070956.tif 000003
【図２】
2004070956.tif 000004
【図３】
2004070956.tif 000005
【図４】
2004070956.tif 000006
【図５】
2004070956.tif 000007
【図６】
2004070956.tif 000008
【図７】
2004070956.tif 000009
【図８】
2004070956.tif 000010