(57)【要約】【課題】  複数の通信端末装置間における、所定の動作についての同期制御を実現する通信システムを提供する。【解決手段】  本発明による通信システムは、複数の通信端末装置のうち１つはマスター通信端末装置に、それ以外の通信端末装置はスレーブ通信端末装置に設定され、マスター通信端末装置は、所定の機能を実行すると同時に、それと同一の機能を実行するようにスレーブ通信端末装置に指示し、スレーブ通信端末装置は、マスター通信端末装置から送信されてきた指示を受信し、それに対応して所定の機能を実行し、マスター及びスレーブ通信端末装置のソフトウェアアーキテクチャは、基本的機能を有するＯＳレイヤーと、アプリケーションソフトウェアを含むアプリケーションレイヤーと、ＯＳレイヤーの基本的機能及びアプリケーションレイヤーのアプリケーションソフトウェアの機能を補助する機能を含むミドルウェアレイヤーとを有することを特徴とする。【選択図】  図１
2007140590.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信端末装置間においてネットワークを介して情報通信を行う通信システムであって、
前記複数の通信端末装置の１つはマスター通信端末装置に、それ以外の通信端末装置はスレーブ通信端末装置に設定され、
前記マスター通信端末装置は、ソフトウェアアーキテクチャの機能を用いて、所定の処理を実行すると同時に、それと同一の処理を実行するように前記スレーブ通信端末装置に指示し、
前記スレーブ通信端末装置は、ソフトウェアアーキテクチャの機能を用いて、前記マスター通信端末装置から送信されてきた前記指示を受信し、それに対応して前記所定の処理を実行し、
前記マスター通信端末装置の前記ソフトウェアアーキテクチャは、基本的機能を有するＯＳレイヤーと、アプリケーションソフトウェアを含むアプリケーションレイヤーと、前記スレーブ通信端末装置と通信する際に前記ＯＳレイヤーの基本的機能及び前記アプリケーションレイヤーのアプリケーションソフトウェアの機能を補助する機能を含むマスターミドルウェアレイヤーとを有し、
前記スレーブ通信端末装置の前記ソフトウェアアーキテクチャは、基本的機能を有するＯＳレイヤーと、アプリケーションソフトウェアを含むアプリケーションレイヤーと、前記マスター通信端末装置と通信する際に前記ＯＳレイヤーの基本的機能及び前記アプリケーションレイヤーのアプリケーションソフトウェアの機能を補助する機能を含むスレーブミドルウェアレイヤーとを有することを特徴とする通信システム。
【請求項２】
前記ＯＳレイヤーは、所定の通信プロトコルに従って他の通信端末装置と情報通信を行う通信機能部を有し、
前記マスターミドルウェアレイヤーは、前記マスター通信端末装置の通信機能部が前記スレーブ通信端末装置と情報通信する際に前記通信機能部を補助するマスター通信機能補助部を有し、
前記スレーブミドルウェアレイヤーは、前記スレーブ通信端末装置の通信機能部が前記マスター通信端末装置と情報通信する際に前記通信機能部を補助するスレーブ通信機能補助部を有することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記ＯＳレイヤーは、さらに、入力されたキー操作に応じてキーイベント情報を生成するキー操作機能部を有し、
前記マスターミドルウェアレイヤーは、さらに、前記マスター通信端末装置及び前記スレーブ通信端末装置のキー操作機能部で生成されたキーイベント情報を前記アプリケーションソフトウェアに伝達するマスターキー操作機能補助部を有し、
前記スレーブミドルウェアレイヤーは、さらに、前記スレーブ通信端末装置のキー操作機能部で生成されたキーイベント情報を前記スレーブ通信機能補助部に伝達するスレーブキー操作機能補助部を有し、
前記スレーブ通信機能補助部は前記マスター通信端末装置にキーイベント情報を送信することを特徴とする請求項２に記載の通信システム。
【請求項４】
前記ＯＳレイヤーは、さらに、前記アプリケーションソフトウェアの指示に従って描画情報を生成する描画機能部を有し、
前記マスターミドルウェアレイヤーは、さらに、前記描画機能部で生成された描画情報を前記マスター通信機能補助部に伝達するマスター描画機能補助部を有し、
前記マスター通信機能補助部は、前記スレーブ通信端末装置に前記描画情報を送信し、
前記スレーブミドルウェアレイヤーは、さらに、受信した前記描画情報に応じて前記スレーブ通信端末装置の描画機能部に描画を指示するスレーブ描画機能補助部を有することを特徴とする請求項２又は３に記載の通信システム。
【請求項５】
前記マスター通信機能補助部は、前記マスター通信端末装置に接続されているスレーブ通信端末装置のアドレスを管理するスレーブリストを有し、新たにスレーブ通信端末装置が接続されればそのアドレスを前記スレーブリストに追加し、前記マスター通信端末装置との接続が切断されれば対応するスレーブ通信端末装置のアドレスを前記スレーブリストから削除することを特徴とする請求項４に記載の通信システム。
【請求項６】
前記アプリケーションソフトウェアとしてマルチプレーヤーゲームアプリケーションが選択された場合、
前記マスターキー操作機能補助部は、前記マスター通信端末装置及び前記スレーブ通信端末装置のキーパッドをロジックキーパッドとして取り扱い、それぞれのロジックキーパッドからのキーイベントを別個に管理することを特徴とする請求項５に記載の通信システム。
【請求項７】
前記マスターキー操作機能補助部は、前記スレーブリストに基づいて前記ロジックキーパッドの数を把握することを特徴とする請求項６に記載の通信システム。
【請求項８】
前記それぞれのロジックキーパッドからのキーイベントは、前記マルチプレーヤーゲームアプリケーションにおいて、前記それぞれのロジックキーパッドに対応づけられたアイテムを動作させるために用いられることを特徴とする請求項６に記載の通信システム。
【請求項９】
前記ＯＳレイヤーは、さらに、入力されたキー操作に応じてキーイベント情報を生成するキー操作機能部を有し、
前記マスターミドルウェアレイヤーは、さらに、前記マスター通信端末装置のキー操作機能部で生成されたキーイベント情報を前記アプリケーションソフトウェア及び前記マスター通信機能補助部に伝達するマスターキー操作機能補助部を有し、
前記マスター通信機能補助部は、前記スレーブ通信端末装置に前記キーイベント情報を送信し、
前記スレーブミドルウェアレイヤーは、さらに、前記マスター通信端末装置から受信した前記キーイベント情報を前記マスター通信端末装置と同一のアプリケーションソフトウェアに伝達するスレーブキー操作機能補助部を有し、
前記マスター通信端末装置及び前記スレーブ通信端末装置で同一のアプリケーションを動作させるように制御することを特徴とする請求項２に記載の通信システム。
【請求項１０】
前記ＯＳレイヤーは、さらに、入力されたキー操作に応じてキーイベント情報を生成するキー操作機能部と、前記アプリケーションソフトウェアの指示に従って描画情報を生成する描画機能部とを有し、
前記マスターミドルウェアレイヤーは、さらに、前記マスター通信端末装置のキー操作機能部で生成されたキーイベント情報を前記アプリケーションソフトウェアに伝達するマスターキー操作機能補助部と、前記描画機能部で生成された描画情報を前記マスター通信機能補助部に伝達するマスター描画機能補助部とを有し、
前記マスター通信機能補助部は、前記スレーブ通信端末装置に前記描画情報を送信し、
前記スレーブミドルウェアレイヤーは、さらに、前記スレーブ通信端末装置のキー操作機能部で生成されたキーイベント情報を処理するスレーブキー操作機能補助部と、受信した前記描画情報に応じて前記スレーブ通信端末装置の描画機能部に描画を指示するスレーブ描画機能補助部を有し、
前記マスター通信端末装置から前記スレーブ通信端末装置へのブロードキャストを実行することを特徴とする請求項２に記載の通信システム。
【請求項１１】
前記スレーブキー操作機能補助部は、前記スレーブ通信端末装置のキー操作機能部で生成されたキーイベント情報を無効とすることを特徴とする請求項１０に記載の通信システム。
【請求項１２】
複数の通信端末装置間においてネットワークを介して情報通信を行う通信システムの制御方法であって、
前記複数の通信端末装置の１つをマスター通信端末装置に、それ以外の通信端末装置をスレーブ通信端末装置に設定するシステム設定工程と、
前記マスター通信端末装置が、ソフトウェアアーキテクチャの機能を用いて、所定の処理を実行すると同時に、それと同一の処理を実行するように前記スレーブ通信端末装置に指示する機能指示工程と、
前記スレーブ通信端末装置が、ソフトウェアアーキテクチャの機能を用いて、前記マスター通信端末装置から送信されてきた前記指示を受信し、それに対応して前記所定の処理を実行するように制御する処理実行工程と、を備え、
前記マスター通信端末装置の前記ソフトウェアアーキテクチャは、基本的機能を有するＯＳレイヤーと、アプリケーションソフトウェアを含むアプリケーションレイヤーと、前記スレーブ通信端末装置と通信する際に前記ＯＳレイヤーの基本的機能及び前記アプリケーションレイヤーのアプリケーションソフトウェアの機能を補助する機能を含むマスターミドルウェアレイヤーとを有し、
前記スレーブ通信端末装置の前記ソフトウェアアーキテクチャは、基本的機能を有するＯＳレイヤーと、アプリケーションソフトウェアを含むアプリケーションレイヤーと、前記マスター通信端末装置と通信する際に前記ＯＳレイヤーの基本的機能及び前記アプリケーションレイヤーのアプリケーションソフトウェアの機能を補助する機能を含むスレーブミドルウェアレイヤーとを有することを特徴とする通信システムの制御方法。
【請求項１３】
前記システム設定工程は、
前記複数の通信端末装置のうち１つが前記マスター通信端末装置として動作する装置に設定されたことを検知するマスター検知工程と、
前記複数の通信端末装置のうち少なくとも１つが前記スレーブ通信端末装置として動作する装置に設定されたことを検知するスレーブ検知工程と、
前記スレーブ通信端末装置において、前記マスター通信装置として動作している装置をサーチして選択するマスター選択工程と、
前記スレーブ通信端末装置において、前記選択されたマスター通信端末装置に接続リクエストを送信するリクエスト送信工程と、
前記マスター通信端末装置において、前記接続リクエストに応答して前記スレーブ通信端末装置との接続を確立する接続確立工程と、
を備えることを特徴とする請求項１２に記載の通信システムの制御方法。
【請求項１４】
ネットワークを介して他の通信端末装置と情報通信を行うための通信端末装置であって、
前記通信端末装置はマスター通信端末装置にもスレーブ通信端末装置にも設定可能とされ、前記マスター通信端末装置に設定された場合には、ソフトウェアアーキテクチャの機能を用いて、所定の処理を実行すると同時に、それと同一の処理を実行するように前記スレーブ通信端末装置に指示し、前記スレーブ通信端末装置に設定された場合には、ソフトウェアアーキテクチャの機能を用いて、前記マスター通信端末装置から送信されてきた前記指示を受信し、それに対応して前記所定の処理を実行し、
前記ソフトウェアアーキテクチャは、基本的機能を有するＯＳレイヤーと、アプリケーションソフトウェアを含むアプリケーションレイヤーと、前記ＯＳレイヤーの基本的機能及び前記アプリケーションレイヤーのアプリケーションソフトウェアの機能を補助する機能を含むミドルウェアレイヤーと、を有し、
前記通信端末装置が前記マスター通信端末装置に設定された場合、前記ミドルウェアレイヤーは、前記スレーブ通信端末装置と通信する際に前記ＯＳレイヤーの基本的機能及び前記アプリケーションレイヤーのアプリケーションソフトウェアの機能を補助し、
前記通信端末装置が前記スレーブ通信端末装置に設定された場合、前記ミドルウェアレイヤーは、前記マスター通信端末装置と通信する際に前記ＯＳレイヤーの基本的機能及び前記アプリケーションレイヤーのアプリケーションソフトウェアの機能を補助することを特徴とする通信端末装置。
【請求項１５】
前記ＯＳレイヤーは、所定の通信プロトコルに従って他の通信端末装置と情報通信を行う通信機能部を有し、
前記ミドルウェアレイヤーは、前記通信機能部が前記スレーブ通信端末装置と情報通信する際に前記通信機能部を補助するマスター通信機能補助部と、前記通信機能部が前記マスター通信端末装置と情報通信する際に前記通信機能部を補助するスレーブ通信機能補助部を有することを特徴とする請求項１４に記載の通信端末装置。
【請求項１６】
前記ＯＳレイヤーは、さらに、入力されたキー操作に応じてキーイベント情報を生成するキー操作機能部を有し、
前記ミドルウェアレイヤーは、さらに、前記通信端末装置が前記マスター通信端末装置に設定された場合に前記キー操作機能部で生成されたキーイベント情報を前記アプリケーションソフトウェアに伝達するマスターキー操作機能補助部と、前記通信端末装置が前記スレーブ通信端末装置に設定された場合に前記キー操作機能部で生成されたキーイベント情報を前記スレーブ通信機能補助部に伝達するスレーブキー操作機能補助部を有することを特徴とする請求項１５に記載の通信端末装置。
【請求項１７】
前記ＯＳレイヤーは、さらに、前記アプリケーションソフトウェアの指示に従って描画情報を生成する描画機能部を有し、
前記ミドルウェアレイヤーは、さらに、前記通信端末装置が前記マスター通信端末装置に設定された場合に前記描画機能部で生成された描画情報を前記マスター通信機能補助部に伝達するマスター描画機能補助部と、前記通信端末装置が前記スレーブ通信端末装置に設定された場合に前記マスター通信端末装置から受信した前記描画情報に応じて前記描画機能部に描画を指示するスレーブ描画機能補助部を有することを特徴とする請求項１４又は１６に記載の通信端末装置。
【請求項１８】
前記通信端末装置が前記マスター通信端末装置に設定されている場合、前記マスター通信機能補助部は、接続されているスレーブ通信端末装置のアドレスを管理するスレーブリストを有し、新たにスレーブ通信端末装置が接続されればそのアドレスを前記スレーブリストに追加し、前記マスター通信端末装置との接続が切断されれば対応するスレーブ通信端末装置のアドレスを前記スレーブリストから削除することを特徴とする請求項１４乃至１７の何れか１項に記載の通信端末装置。
【請求項１９】
前記アプリケーションソフトウェアとしてマルチプレーヤーゲームアプリケーションが選択された場合、
前記マスターキー操作機能補助部は、前記マスター通信端末装置及び前記スレーブ通信端末装置のキーパッドをロジックキーパッドとして取り扱い、それぞれのロジックキーパッドからのキーイベントを別個に管理することを特徴とする請求項１８に記載の通信端末装置。
【請求項２０】
前記マスターキー操作機能補助部は、前記スレーブリストに基づいて前記ロジックキーパッドの数を把握することを特徴とする請求項１９に記載の通信端末装置。
【請求項２１】
前記それぞれのロジックキーパッドからのキーイベントは、前記マルチプレーヤーゲームアプリケーションにおいて、前記それぞれのロジックキーパッドに対応づけられたアイテムを動作させるために用いられることを特徴とする請求項１９に記載の通信端末装置。
【請求項２２】
前記ＯＳレイヤーは、さらに、入力されたキー操作に応じてキーイベント情報を生成するキー操作機能部を有し、
前記ミドルウェアレイヤーは、さらに、前記通信端末装置が前記マスター通信端末装置に設定された場合に前記キー操作機能部で生成されたキーイベント情報を前記アプリケーションソフトウェア及び前記マスター通機能補助部に伝達するマスターキー操作機能補助部と、前記通信端末装置が前記スレーブ通信端末装置に設定された場合に前記マスター通信端末装置から受信した前記キーイベント情報を前記アプリケーションソフトウェアに伝達するスレーブキー操作機能補助部と、を有し、
前記マスター通信端末装置及び前記スレーブ通信端末装置で同一のアプリケーションを動作させるように制御することを特徴とする請求項１５に記載の通信端末装置。
【請求項２３】
前記ＯＳレイヤーは、さらに、入力されたキー操作に応じてキーイベント情報を生成するキー操作機能部と、前記アプリケーションソフトウェアの指示に従って描画情報を生成する描画機能部とを有し、
前記ミドルウェアレイヤーは、さらに、前記通信端末装置が前記マスター通信端末装置に設定された場合に前記キー操作機能部で生成されたキーイベント情報を前記アプリケーションソフトウェアに伝達するマスターキー操作機能補助部と、前記描画機能部で生成された描画情報を前記マスター通信機能補助部に伝達するマスター描画機能補助部と、前記通信端末装置が前記スレーブ通信端末装置に設定された場合に前記キー操作機能部で生成されたキーイベント情報を処理するスレーブキー操作機能補助部と、受信した前記描画情報に応じて前記スレーブ通信端末装置の描画機能部に描画を指示するスレーブ描画機能補助部を有し、
前記マスター通信端末装置から前記スレーブ通信端末装置へのブロードキャストを実行することを特徴とする請求項１５に記載の通信端末装置。
【請求項２４】
前記通信端末装置が前記スレーブ通信端末装置に設定された場合に、前記スレーブキー操作機能補助部は、前記キー操作機能部で生成されたキーイベント情報を無効とすることを特徴とする請求項２３に記載の通信端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信装置が相互に接続され、それらを互いに同期させて動作させるようにした通信システム、及び通信システムの制御方法、並びにその通信システムで用いることができる通信端末装置に関する。
【背景技術】
【０００２】
近年、コンピュータの普及、情報のネットワーク化に伴い、画像をネットワークで送受信することが広く普及している。
【０００３】
この画像通信においては、マイクロソフト社のＲＤＰ（Remote Desktop Protocol）が、ユーザからの入力を端末がサーバに伝えたり、サーバが端末に画面情報を送信する際に広く用いられている。
【０００４】
このＲＤＰを用いれば、電話回線やインターネット経由でマスタＰＣ（パーソナルコンピュータ）から複数のスレーブＰＣに対して同じ画像を送信し、複数のデスクトップＰＣやラップトップＰＣ等の端末装置で同時に同じ画像を表示することができる。このため、ユーザは、マスタＰＣから送信された画像を同時に楽しむことができるようになる。
【０００５】
また、特許文献１には、２つの無線通信装置が同一の画像リストを保持しており、表示画像を変更する操作が一方の装置で発行された場合に、変更された画像情報が他方の装置にも伝達され、この結果、互いに同一の画像が両表示部に表示される画像通信システムが開示されている。
【０００６】
さらに、ブルートゥース、ＩＲＤＡや８０２．１１等の通信技術を用いて、複数の携帯端末等の間で１つのゲームを同時に楽しむことができるようになっている。この場合には、各端末では同じ画像が表示され、所定のキー操作による動作も各端末装置間で同期することになる。
【特許文献１】特開２００３−４６７０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述のようにＲＤＰを用いた従来の画像通信においては、マスターＰＣからスレーブＰＣへ画像を送信して同時に同画像を表示することは実現されているが、スレーブＰＣでのキーイベントがマスターＰＣやその他のスレーブＰＣに反映されることはない。つまり、マスターＰＣとスレーブＰＣとが協働関係にはないので、様々なアプリケーションを実現することが困難であった。
【０００８】
また、特許文献１に記載の画像通信システムでは、通信端末装置間で同一の画像をメモリに保持している必要があるので、保持していない画像は同時に表示することができない。よって、協働できる通信端末装置が限定されてしまう可能性が高い。
【０００９】
さらに、ブルートゥース、ＩＲＤＡや８０２．１１等の通信技術を用いて各端末装置間の同期を実現する場合には、アプリケーション毎に同期通信に対応できるようにしなければならない。これでは、ソフトウェア開発者は各通信技術の内容を習得した上でソフトウェアを作成しなければならず、開発者にとって非常に負荷のかかる仕事であった。そのため、１つのソフトウェアを開発するのに時間とコストが非常にかかるという問題点があった。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、複数の通信端末装置間においてマスター通信装置と同一の動作をスレーブ通信装置でも同時に実行させると共に、スレーブ通信装置からのアクションによってマスター通信装置や他のスレーブ通信装置の動作に変化を与えることのできる通信システム及びそれに用いる通信装置を提供するものである。
【００１１】
また、本発明は、ソフトウェア開発者が通信技術を全く意識せずに複数の通信端末装置を同期させるソフトウェアを開発することができ、ソフトウェア開発者の負荷を低減できる通信システム及びそれに用いる端末装置を提供するものである。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明による通信システムは、複数の通信端末装置間においてネットワークを介して情報通信を行う通信システムであって、複数の通信端末装置の１つはマスター通信端末装置に、それ以外の通信端末装置はスレーブ通信端末装置に設定され、マスター通信端末装置は、ソフトウェアアーキテクチャの機能を用いて、所定の処理を実行すると同時に、それと同一の処理を実行するようにスレーブ通信端末装置に指示し、スレーブ通信端末装置は、ソフトウェアアーキテクチャの機能を用いて、マスター通信端末装置から送信されてきた指示を受信し、それに対応して所定の処理を実行し、マスター通信端末装置のソフトウェアアーキテクチャは、基本的機能を有するＯＳレイヤーと、アプリケーションソフトウェアを含むアプリケーションレイヤーと、スレーブ通信端末装置と通信する際にＯＳレイヤーの基本的機能及びアプリケーションレイヤーのアプリケーションソフトウェアの機能を補助する機能を含むマスターミドルウェアレイヤーとを有し、スレーブ通信端末装置のソフトウェアアーキテクチャは、基本的機能を有するＯＳレイヤーと、アプリケーションソフトウェアを含むアプリケーションレイヤーと、マスター通信端末装置と通信する際にＯＳレイヤーの基本的機能及びアプリケーションレイヤーのアプリケーションソフトウェアの機能を補助する機能を含むスレーブミドルウェアレイヤーとを有することを特徴とする。
【００１３】
そして、ＯＳレイヤーは、所定の通信プロトコルに従って他の通信端末装置と情報通信を行う通信機能部を有し、マスターミドルウェアレイヤーは、マスター通信端末装置の通信機能部がスレーブ通信端末装置と情報通信する際に通信機能部を補助するマスター通信機能補助部を有し、スレーブミドルウェアレイヤーは、スレーブ通信端末装置の通信機能部がマスター通信端末装置と情報通信する際に通信機能部を補助するスレーブ通信機能補助部を有している。
【００１４】
また、ＯＳレイヤーは、入力されたキー操作に応じてキーイベント情報を生成するキー操作機能部を有し、マスターミドルウェアレイヤーは、さらに、マスター通信端末装置及びスレーブ通信端末装置のキー操作機能部で生成されたキーイベント情報をアプリケーションソフトウェアに伝達するマスターキー操作機能補助部を有し、スレーブミドルウェアレイヤーは、さらに、スレーブ通信端末装置のキー操作機能部で生成されたキーイベント情報をスレーブ通信機能補助部に伝達するスレーブキー操作機能補助部を有し、スレーブ通信機能補助部はマスター通信端末装置にキーイベント情報を送信する。
【００１５】
さらに、ＯＳレイヤーは、アプリケーションソフトウェアの指示に従って描画情報を生成する描画機能部を有し、マスターミドルウェアレイヤーは、さらに、描画機能部で生成された描画情報をマスター通信機能補助部に伝達するマスター描画機能補助部を有し、マスター通信機能補助部は、スレーブ通信端末装置に描画情報を送信し、スレーブミドルウェアレイヤーは、さらに、受信した描画情報に応じてスレーブ通信端末装置の描画機能部に描画を指示するスレーブ描画機能補助部を有している。
【００１６】
また、本発明による通信システムの制御方法は、複数の通信端末装置間においてネットワークを介して情報通信を行う通信システムの制御方法であって、複数の通信端末装置の１つをマスター通信端末装置に、それ以外の通信端末装置をスレーブ通信端末装置に設定するシステム設定工程と、マスター通信端末装置がソフトウェアアーキテクチャの機能を用いて、所定の処理を実行すると同時に、それと同一の処理を実行するようにスレーブ通信端末装置に指示する機能指示工程と、スレーブ通信端末装置が、ソフトウェアアーキテクチャの機能を用いて、マスター通信端末装置から送信されてきた指示を受信し、それに対応して所定の機能を実行するように制御する機能実行工程と、を備え、マスター通信端末装置のソフトウェアアーキテクチャは、基本的機能を有するＯＳレイヤーと、アプリケーションソフトウェアを含むアプリケーションレイヤーと、スレーブ通信端末装置と通信する際にＯＳレイヤーの基本的機能及びアプリケーションレイヤーのアプリケーションソフトウェアの機能を補助する機能を含むマスターミドルウェアレイヤーとを有し、スレーブ通信端末装置のソフトウェアアーキテクチャは、基本的機能を有するＯＳレイヤーと、アプリケーションソフトウェアを含むアプリケーションレイヤーと、マスター通信端末装置と通信する際にＯＳレイヤーの基本的機能及びアプリケーションレイヤーのアプリケーションソフトウェアの機能を補助する機能を含むスレーブミドルウェアレイヤーとを有することを特徴とする。
【００１７】
ここで、システム設定工程は、複数の通信端末装置のうち１つがマスター通信端末装置として動作する装置に設定されたことを検知するマスター検知工程と、複数の通信端末装置のうち少なくとも１つがスレーブ通信端末装置として動作する装置に設定されたことを検知するスレーブ検知工程と、スレーブ通信端末装置において、マスター通信装置として動作している装置をサーチして選択するマスター選択工程と、スレーブ通信端末装置において、選択されたマスター通信端末装置に接続リクエストを送信するリクエスト送信工程と、マスター通信端末装置において、接続リクエストに応答してスレーブ通信端末装置との接続を確立する接続確立工程と、を備える。
【００１８】
さらに、本発明による通信端末装置は、ネットワークを介して他の通信端末装置と情報通信を行うための通信端末装置であって、通信端末装置はマスター通信端末装置にもスレーブ通信端末装置にも設定可能とされ、マスター通信端末装置に設定された場合には、ソフトウェアアーキテクチャの機能を用いて、所定の処理を実行すると同時に、それと同一の機能を実行するようにスレーブ通信端末装置に指示し、スレーブ通信端末装置に設定された場合には、ソフトウェアアーキテクチャの機能を用いて、マスター通信端末装置から送信されてきた指示を受信し、それに対応して前記所定の処理を実行し、通信端末装置のソフトウェアアーキテクチャは、基本的機能を有するＯＳレイヤーと、アプリケーションソフトウェアを含むアプリケーションレイヤーと、ＯＳレイヤーの基本的機能及び前記アプリケーションレイヤーのアプリケーションソフトウェアの機能を補助する機能を含むミドルウェアレイヤーとを有し、通信端末装置がマスター通信端末装置に設定された場合、ミドルウェアレイヤーは、スレーブ通信端末装置と通信する際にＯＳレイヤーの基本的機能及びアプリケーションレイヤーのアプリケーションソフトウェアの機能を補助し、通信端末装置がスレーブ通信端末装置に設定された場合、マスター通信端末装置と通信する際にＯＳレイヤーの基本的機能及びアプリケーションレイヤーのアプリケーションソフトウェアの機能を補助することを特徴とする。
【００１９】
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
【発明の効果】
【００２０】
本発明によれば、複数の通信端末装置間における、所定の動作についての同期制御を実現することができる。特に、マスター通信装置と同一の動作をスレーブ通信装置でも同時に実行させると共に、スレーブ通信装置からのアクションによってマスター通信装置や他のスレーブ通信装置の動作に変化を与えることができる。
【００２１】
また、本発明によれば、ソフトウェア開発者が通信技術を全く意識せずに複数の通信端末装置を同期させるソフトウェアを開発することができ、ソフトウェア開発者の負荷を低減できるようになる。
【発明を実施するための最良の形態】
【００２２】
以下、添付図面を参照しながら本発明の実施形態について説明する。
【００２３】
Ａ．第１の実施形態
＜システムの構成＞
図１は本発明に係る通信システム１の基本構成を示す図である。図１に示されるように、通信システム１においては、複数の携帯通信端末装置１０乃至３０が通信ネットワーク（例えば、ブルートゥース、ＩＲＤＡ、８０２．１１或いはＷＡＰ）を介して接続されている。そして、そのうち１つはマスター通信装置として機能している。本実施形態では、１０がマスター通信装置であり、２０及び３０がスレーブ通信装置となっている。なお、全ての通信装置は同一のネットワークを介して接続されることが基本であるが、例えば、マスター通信装置１０とスレーブ通信装置２０はブルートゥースによって、マスター通信装置１０とスレーブ通信装置３０はＩＲＤＡによって接続されるように、異なるネットワークを介して接続するようにしてもよい。
【００２４】
第１の実施形態において、マスター通信装置１０は所定のアプリケーションを実行し、そのアプリケーションに関連する画像をディスプレイ１１に表示している。そして、マスター通信装置１０は、表示している画像を各スレーブ通信装置２０及び３０に送信し、各スレーブ通信装置は、マスター通信装置１０で表示されている画像と同一の画像をディスプレイ２１及び３１に表示する。つまり、第１の実施形態では、スレーブ通信装置２０及び３０は、グラフィック表示端末として機能している。
【００２５】
さらに、本実施形態では、各スレーブ通信装置２０及び３０は、従来とは異なり、自らキーイベントを発行することができ、発行されたキーイベント情報はマスター通信装置１０に送信される。マスター通信装置１０はそのキーイベント情報を受信し、それに基づいてディスプレイに現在表示されている画像を更新する。さらに、その更新画像は、マスター通信装置１０から各スレーブ通信装置２０及び３０に送信され、それらのディスプレイ上の画像も更新される。このいわゆるブロードキャスト機能は、後述のようにミドルウェアレイヤーを導入し、これとＲＤＰ２０３（図３参照）を用いて実現される。
【００２６】
このように、マスター通信装置を含めて全ての通信装置は、同一の画像をディスプレイに表示できると共に、各通信装置はマスター通信装置で動作しているアプリケーションをコントロールすることができる。現実的にはマスター通信装置が当該通信システムを中心的に制御しているのであるが、ユーザはマスターやスレーブの区別なく、自己の装置もシステムを制御しているような感覚を持つことができる。従って、アプリケーションの機能に関する自由度も非常に広がるのである。
【００２７】
＜ハードウェアブロック図＞
図２は、携帯通信端末装置１０乃至３０の内部の構成例を示すブロック図である。
【００２８】
ＣＰＵ （Central Processing Unit）１０１は、ＲＯＭ （Read Only Memory）１０２に記憶されている制御プログラムをＲＡＭ（Random Access Memory）１０３に展開し、制御バス１１３を介して携帯通信端末１０の全体の動作を制御する。例えば、ＣＰＵ１０１は、文章を作成することがユーザにより指示されたとき、所定の文章作成プログラムを起動させ、表示制御部１０６を制御し、文章作成画面をＬＣＤ１０５に表示させる。またＣＰＵ１０１は、各種の処理を実行する上において必要なデータなどをＲＡＭ１０３に記憶させる。
【００２９】
ＲＯＭ１０２には、制御プログラムのほかに後述のソフトウェアシステム構造（図３参照）を有するアーキテクチャが格納されている。このアーキテクチャについては後に詳述するが、ＯＳレイヤー２００、ミドルウェアレイヤー３００及びアプリケーションレイヤー４００で構成されている。
【００３０】
通信モジュール１０４は、ブルートゥース（Bluetooth）、無線ＬＡＮ（Local Area Network）、８０２．１１やＷＡＰ（Wireless Application Protocol）等の通信プロトコルに従って外部と通信するためのものである。相互に通信を行うためには、同一のプロトコルによって動作する通信モジュールが必要となる。例えば、ブルートゥースによって相互にデータ通信を実行するには、携帯通信端末装置１０乃至３０にそれぞれブルートゥース対応の通信モジュール１０４が備え付けられていなければならない。
【００３１】
表示制御部１０６は、ＬＣＤ１０５の表示を制御し、各種情報をテキストやイメージなどで表示させる。入力部１０７は、キーパッド、ジョグダイヤル、左方向ボタン、右方向ボタン、および入力ボタン等により構成され、それらに対するユーザの操作を検出し、それらのボタンが押下されたとき、対応する信号をＣＰＵ１０１に出力する。
【００３２】
記憶部１０８は、例えば電話帳として登録されている氏名や電話番号、発信履歴および着信履歴、並びに送受信した電子メールなどを記憶する。
【００３３】
音声コーデック１０９は、ＲＦ通信制御部１１２から供給されてきた音声データを音声信号に変換し、対応する音声信号をスピーカ１１０から出力する。また、音声コーデック１０９は、マイクロフォン１１１により集音されたユーザの音声を音声データに変換し、それをＲＦ通信制御部１１２に出力する。
【００３４】
ＲＦ通信制御部１１２は、アンテナを介して基地局（図示せず）との間で電波を送受信し、例えば、音声通話モード時において、アンテナで受信されたＲＦ（Radio Frequency）信号を増幅して周波数変換処理、アナログディジタル変換処理、スペクトラム逆拡散処理等の所定の処理を施し、得られた音声データを音声コーデック１０９に出力する。また、ＲＦ通信制御部１１２は、音声コーデック１０９から音声データが供給されてきたとき、ディジタルアナログ変換処理、周波数変換処理、およびスペクトラム拡散処理等の所定の処理を施し、得られた音声信号をアンテナから送信する。
【００３５】
ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、通信モジュール１０４、表示制御部１０６、入力部１０７、記憶部１０８、音声コーデック１０９、及びＲＦ通信制御部１１２は、制御バス１１３を介して相互に接続されている。また、通信制モジュール１０４、表示制御部１０６、記憶部１０８、音声コーデック１０９、およびＲＦ通信制御部１１２は、データバス１１４を介して相互に接続されている。
【００３６】
なお、制御バス１１３には、必要に応じてドライブが接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは、半導体メモリなどのリムーバブルメディアが適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて通信装置１０乃至３０にインストールされる。
【００３７】
＜ソフトウェアアーキテクチャ＞
本実施形態におけるソフトウェアシステム構造（ソフトウェアアーキテクチャ）は、図３に示すようになっている。図３において、２００はＯＳレイヤー、３００はミドルウェアレイヤー、４００はアプリケーションレイヤーである。なお、ＯＳレイヤー２００とミドルウェアレイヤー３００を合わせてシステムレイヤーと言うこともできる。
【００３８】
ＯＳレイヤー２００は、例えば、画像を生成するためのグラフィックシステム２０１（描画機能部）、音声を生成するためのサウンドシステム２０２、コマンドの送受信を行うためのＲＤＰ（Remote Desktop Protocol）２０３、キー操作を制御するためのキーハンドラー２０４（キー操作機能部）、ブルートゥースによって通信を行うためのブルートゥース部２０５（通信機能部）等で構成されている。
【００３９】
また、ミドルウェアレイヤー３００（マスターミドルウェアとスレーブミドルウェアで構成される）は、マスターエンド３０１（マスター通信機能補助部）と、サウンド・ブロードキャスト・サーバ３０２と、スクリーン・ブロードキャスト・サーバ３０３（マスター描画機能補助部）と、キー・リダイレクト・サーバ３０４（マスターキー操作機能補助部）（以上、マスター機能）と、スレーブエンド３１１（スレーブ通信機能補助部）と、サウンド・ブロードキャスト・クライアント３１２と、スクリーン・ブロードキャスト・クライアント３１３（スレーブ描画機能補助部）と、キー・リダイレクト・クライアント３１４（スレーブキー操作機能補助部）（以上、スレーブ機能）とを備えている。各通信装置がマスター機能とスレーブ機能の双方を備えているのは、どの端末装置もマスター通信装置にもスレーブ通信装置にもなりうるようにするためである。
【００４０】
アプリケーションレイヤー４００は、例えば、ゲーム４０１と、ブラウザ４０２と、メールエディタ４０３等を備えている。
【００４１】
このミドルウェアレイヤー３００において、マスターエンド３０１は、接続されているスレーブ通信装置のアドレスを管理している（後述のように、アドレスはスレーブリストに追加されたり、そこから削除されたりする）。また、マスターエンド３０１は、スレーブ通信装置２０又は３０のスレーブエンド３１１から送信されたデータをＯＳレイヤーのＲＤＰ２０３を介して受信し、また、データをＲＤＰ２０３及びブルートゥース部２０５を介してスレーブ通信装置２０又は３０のスレーブエンド３１１に送信する。
【００４２】
ＯＳレイヤーのグラフィックシステム２０１において表示画像の更新がなされる場合、画像の更新データは、スクリーン・ブロードキャスト・サーバ３０３→マスターエンド３０１→ＲＤＰ２０３→ブルートゥース部２０５→スレーブ通信装置２０及び３０のスレーブエンド３１１を介して同装置２０及び３０のスクリーン・ブロードキャスト・クライアント３１３に供給される。そして、スレーブ通信装置のスクリーン・ブロードキャスト・クライアント３１３は、そのＯＳレイヤーのグラフィックシステム２０１に画像データの更新を指示し、ＬＣＤ１０５に表示されている画像が更新される。
【００４３】
また、ＯＳレイヤーのサウンドシステム２０２において音声が生成される場合、サウンドブロードキャストサーバ３０２は、音声データをマスターエンド３０１→ＲＤＰ２０３→ブルートゥース部２０５→スレーブ通信装置２０及び３０のスレーブエンド３１１を介して同装置２０及び３０のサウンド・ブロードキャスト・クライアント３１２に供給する。そして、スレーブ通信装置のサウンド・ブロードキャスト・クライアント３１２は、そのＯＳレイヤーのサウンドシステム２０２に音声データの生成を指示し、スピーカから音声を出力する。
【００４４】
スレーブ通信装置２０又は３０でキーイベントが発行されると、そのキーイベントがキーハンドラー２０４→キー・リダイレクト・クライアント３１４→スレーブエンド３１１→ＲＤＰ２０３→ブルートゥース部２０５を介してマスター通信装置１０に送信される。マスター通信装置１０では、マスターエンド３０１がそのキーイベントを受信し、それをキー・リダイレクト・サーバ３０４に供給する。そして、キー・リダイレクト・サーバ３０４は、例えば現在動作中のアプリケーションにそのキーイベント情報を渡す。そのキーイベント情報に基づいてアプリケーションの動作が変更される。
【００４５】
なお、スクリーン・ブロードキャスト・サーバ３０３及びスクリーン・ブロードキャスト・クライアント３１２、キー・リダイレクト・サーバ３０４及びキー・リダイレクト・クライアント３１４を、ＲＤＰ２０３の機能を取り込んで実現することも可能である。つまり、マスター通信装置１０からの画像更がなされる場合には、画像の更新データは、グラフィックシステム２０１→スクリーンブロードキャストサーバ３０３→マスターエンド３０１→ブルートゥース部２０５→スレーブ通信装置２０及び３０のスレーブエンド３１１を介して同装置２０及び３０のスクリーン・ブロードキャスト・クライアント３１３に供給される。そして、スレーブ通信装置のスクリーンブロードキャストクライアント３１３は、そのＯＳレイヤーのグラフィックシステム２０１に画像データの更新を指示し、ＬＣＤ１０５に表示されている画像が更新される。また、スレーブ通信装置２０又は３０でキーイベントが発行されると、そのキーイベントがキーハンドラー２０４→キー・リダイレクト・クライアント３１４→スレーブエンド３１１→ブルートゥース部２０５を介してマスター通信装置１０に送信される。マスター通信装置１０では、マスターエンド３０１がそのキーイベントを受信し、それをキーリダイレクトサーバ３０４に送信する。そして、キー・リダイレクト・サーバ３０４は、例えば現在動作中のアプリケーションにそのキーイベント情報を渡す。そのキーイベント情報に基づいてアプリケーションの動作が変更される。
【００４６】
以上のような構成のミドルウェアレイヤーをシステムレイヤーに設けることにより、各通信端末の同期動作に合わせてアプリケーションを作成したり改良したりする必要が無く、通信技術の内容を意識せずにアプリケーション作成できるので、ソフトウェア開発者の負荷を劇的に削減することができる。
【００４７】
＜マスター通信装置とスレーブ通信装置間の接続（MM-SP：Multi-Mobile Synchronization Platform）の確立動作について＞
図４は、ＭＭ−ＳＰの接続の確立動作を説明するためのフローチャートであり、図４Ａはマスター側、図４Ｂはスレーブ側の動作をそれぞれ示している。なお、特に断らない限り、フローチャートでの制御主体はＣＰＵ１０１である。
【００４８】
（１）マスター通信装置側
図４Ａにおいて、ある通信端末がネットワーク４０に接続されると、通常の通信形態で動作が実行される（ステップＳ１０１）。この段階ではマスター／スレーブの区別はなされていない。そして、ステップＳ１０２において、ユーザがメニューからマスターモード選択をなしたか否か判断される。ステップＳ１０２でマスターモードが選択されれば、処理はステップＳ１０３に移行し、選択されなければ処理はステップＳ１０１に戻り、マスターモードが選択されるまで通常動作が継続されることになる。
【００４９】
ステップＳ１０３では、当該通信装置はマスター通信装置として動作を開始し、マスターサービスを提供する。そして、ステップＳ１０４で、他の通信端末装置からのスレーブ通信装置としての接続要求を待機する。接続要求があれば、処理はステップＳ１０４に移行し、接続要求がなければ待機を継続するべく処理はステップＳ１０３に戻る。
【００５０】
ステップＳ１０５では、接続要求のあったスレーブ通信装置についてセキュリティチェックを実行する。セキュリティチェックに成功すれば、処理はステップＳ１０６に移行し、成功しなければ処理はステップＳ１０６に移行し、接続を拒絶する。ステップＳ１０６では、マスターエンド３０１（＋ＣＰＵ１０１）は、当該スレーブ通信装置を新しいスレーブ通信装置としてスレーブリストに追加し、さらに別の通信端末装置からの接続要求を処理するため、処理はステップＳ１０３に戻る。ここで、スレーブリストは、マスター通信装置が現在スレーブ通信装置として接続されている通信端末装置を管理するために用いるリストであり、例えば、画像等を当該リストに含まれる通信端末装置に配信する際に用いられる。
【００５１】
接続が許可されたか否かの情報は、接続要求のあった通信端末装置に送信され、マスター通信装置側の接続確立動作は終了し、マスター通信装置は引き続きマスターモードで動作する（ステップS１０３）。
【００５２】
（２）スレーブ通信装置側
図４Ｂにおいて、ある通信端末がネットワーク４０に接続されると、通常の通信形態で動作が実行される（ステップＳ２０１）。この段階ではマスター／スレーブの区別はなされていない。そして、ステップＳ２０２において、ユーザがメニューからスレーブモード選択をなしたか否か判断される。ステップＳ２０２でスレーブモードが選択されれば、処理はステップＳ２０３に移行し、選択されなければ処理はステップＳ２０１に戻り、スレーブモードが選択されるまで通常動作が継続されることになる。
【００５３】
ステップＳ２０３では、ネットワーク４０に接続されている通信端末装置でマスター通信装置として動作し、マスターサービスを提供している端末装置をサーチする。そして、ステップＳ２０４において、サーチされた全てのマスター通信装置をリストとしてディスプレイ（ＬＣＤ１０５）に表示する。ステップＳ２０５では、ステップＳ２０４で表示されたリストからユーザがマスター通信装置としての通信端末装置を選択したかが判断される。例えば、所定時間Ｔ経過後も選択されなければ、マスターサービスを提供している装置を再度サーチするため処理はステップＳ２０３に移行する。ステップＳ２０５で選択がなされたと判断されれば、処理はステップＳ２０６に移行し、そこで選択したマスター通信装置に対して接続要求を送信し、それに対するマスター通信装置側からの返信情報を待機する。
【００５４】
ステップＳ２０７では、マスター通信装置から送られてきた返信情報を受信し、接続要求がアクセプトされたか判断する。アクセプトされれば処理はステップＳ２０８に移行し、この通信端末装置はスレーブ通信装置として動作する。一方、アクセプトされなければ、接続拒絶をユーザに報告し（例えば、ＬＣＤに拒絶の表示をなしたり、音声やバイブレーションによる通知等が考えられるがこれらに限られるものではない）、スレーブ通信装置側の接続確立動作は終了する。
【００５５】
（３）以上のようにマスター通信装置とスレーブ通信装置間で接続が確立されると、前述のように、マスター通信装置で実行されるアプリケーションがスレーブ通信装置でも同時に実行されるようになる。またスレーブ通信装置からのキーイベントに対応してそのアプリケーションの動作が制御される。このようにしてマスター通信装置とスレーブ通信装置との間の同期動作が実現される。
【００５６】
＜スレーブ通信装置が確立されたＭＭ−ＳＰ接続から抜け出る場合＞
図５は、スレーブ通信装置が確立されている接続から抜け出す場合の動作を説明するためのフローチャートである。図５Ａはマスター側、図５Ｂはスレーブ側の動作をそれぞれ示している。なお、特に断らない限り、フローチャートでの制御主体はＣＰＵ１０１である。
【００５７】
（１）マスター通信装置側
マスター通信装置は、１以上のスレーブ通信装置と接続され、マスターモードで動作している（ステップＳ３０１）。そして、ステップＳ３０２において、接続されている何れかのスレーブ通信装置から接続の切断要求を受信したか否かが検知される。切断要求を受信するまでは処理はステップＳ３０１に戻り、マスター通信装置はマスターモードで動作し続けることになる。接続切断要求を受信した場合には、処理はステップＳ３０３に移行し、そこで切断要求のあったスレーブ通信装置の接続を切断する。
【００５８】
さらに、ステップＳ３０４において、マスターエンド３０１（＋ＣＰＵ１０１）は、切断したスレーブ通信装置をスレーブリストから削除する。そして、ステップＳ３０５において、他にスレーブ通信装置として接続されている通信端末装置が存在するか否かチェックする。まだ存在すれば、引き続きマスター通信装置はマスターモードで動作し続けるため、処理はステップＳ３０１に戻る。一方、接続されているスレーブ通信装置が他になければ、処理はステップＳ３０６に移行し、マスターモードが解除され、処理は終了する。
【００５９】
（２）スレーブ通信装置側
接続確立中、スレーブ通信装置はスレーブモードで動作している（ステップＳ４０１）。そして、ステップＳ３０２において、スレーブ通信装置がスレーブモードを解除するか、即ち確立されたマスター通信装置との接続から抜け出すかについての要求が入力されたか否かが検知される。検知された解除要求はマスター通信装置にも通知され、マスター通信装置も前述のようにその要求に基づいて動作する。ステップＳ４０２で解除要求を検知すると、処理はステップＳ４０３に移行し、検知しない場合には当該通信端末装置はスレーブ通信装置として動作を継続するため処理はステップＳ４０１に戻る。
【００６０】
ステップＳ４０３において、当該スレーブ通信装置の接続をマスター通信装置から切断する。この切断動作は、マスター通信装置側のステップＳ３０３と連動して実行される。
【００６１】
そして、ステップＳ４０４でスレーブモードが解除され、当該通信端末装置は、通常モードに戻ることなり、処理は終了する。
【００６２】
（３）以上のような動作により、何れのスレーブ通信装置もいつでも単独で確立されたマスター通信装置との接続を切断し、通常モードに容易に戻ることができる。
【００６３】
なお、スレーブ通信装置が接続から抜け出る場合は、上述のようにスレーブ通信装置から切断要求があった場合に限られず、例えばスレーブ通信装置が通信サービスエリアから外れてしまったような場合、即ち予期しない接続からの離脱や、ネットワークエラーが起こった場合も含まれる。このような場合、マスター通信装置及びスレーブ通信装置の双方とも、ブルートゥースやＬＡＮ等の通信システムからその旨の通知を受信することになる。
【００６４】
＜マスター通信装置が確立された接続から抜け出る場合＞
図６は、スレーブ通信装置が確立されている接続から抜け出す場合の動作を説明するためのフローチャートである。図６Ａはマスター側、図６Ｂはスレーブ側の動作をそれぞれ示している。なお、特に断らない限り、フローチャートでの制御主体はＣＰＵ１０１である。
【００６５】
（１）マスター通信装置側
マスター通信装置は、１以上のスレーブ通信装置と接続され、マスターモードで動作している（ステップＳ５０１）。そして、ステップＳ５０２において、マスターモードの解除の指示がなされたかが検知される。解除指示が検知されるまで処理はステップＳ５０１に戻り、マスター通信装置はマスターモードで動作し続けることになる。解除指示を検知した場合には、処理はステップＳ５０３に移行し、接続されているスレーブ通信装置の１つがスレーブリストから選択される。なお、選択されたスレーブ通信装置に対しては、接続切断の指示が通知される。
【００６６】
ステップＳ５０４では、ステップＳ５０３で選択されたスレーブ通信装置との接続が切断される。そして、ステップＳ５０５において、切断したスレーブ通信装置がスレーブリストから削除される。
【００６７】
ステップＳ５０６では、接続中のスレーブ通信装置が存在するか否か判定し、存在すればステップＳ５０３乃至Ｓ５０５の処理が、接続されているスレーブ通信装置が無くなるまで繰り返される。接続されているスレーブ通信装置が存在しなければ、処理はステップＳ５０７に移行し、マスターモードが完全に解除され、当該マスター通信装置として動作していた通信端末装置は通常モードで動作することになる。
【００６８】
（２）スレーブ通信装置側
接続確立中、スレーブ通信装置はスレーブモードで動作している（ステップＳ６０１）。そして、ステップＳ６０２において、マスター通信装置から送信されてきた接続切断の指示を検知した場合、処理はステップＳ６０３に移行する。接続切断の指示を検知しない場合にはステップＳ６０１においてスレーブモードでの動作を継続する。
【００６９】
ステップＳ６０３では、当該スレーブ通信装置についてマスター通信装置との接続を切断する。この接続切断動作は、マスター通信装置側のステップＳ５０４とほぼ同時に実行される。
【００７０】
そして、ステップＳ６０４でスレーブモードが解除され、当該通信端末装置は通常モードで動作することになる。
【００７１】
（３）以上のような動作により、マスター通信装置からも確立されたスレーブ通信装置との接続を切断し、通常モードに容易に戻ることができる。
【００７２】
なお、マスター通信装置が接続から抜け出る場合は、上述のようにマスター通信装置から切断指示があった場合に限られず、例えばマスター通信装置が通信サービスエリアから外れてしまったような場合、即ち予期しない接続からの離脱や、ネットワークエラーが起こった場合も含まれる。このような場合、マスター通信装置及びスレーブ通信装置の双方とも、ブルートゥースやＬＡＮ等の通信システムからその旨の通知を受信することになる。
【００７３】
＜処理シーケンス＞
（１）図７は、スレーブ通信装置２０又は３０においてキー押下がなされた場合の処理シーケンスを表す図である。
【００７４】
図７において、シーケンスＳＱ１０では、何れかの又は全てのスレーブ通信装置のユーザが何れかのキーを押下すると、キー押下されたスレーブ通信装置のキーハンドラー２０４がキーイベントを発行する。そのキーイベントはキー・リダイレクト・クライアント３１４に供給される。
【００７５】
シーケンスＳＱ１１では、キー・リダイレクト・クライアント３１４は、キーイベントの内容を把握し、それをスレーブエンド３１１に供給する。シーケンスＳＱ１２では、スレーブエンド３１１が、受け取ったキーイベント情報を通信条件に適した形態でエンコードし、マスター通信装置１０のマスターエンド２０１に送信する。
【００７６】
シーケンスＳＱ１３において、マスターエンド２０１は、ネットワーク４０を介して送信されてきたエンコードされたキーイベントを受信し、それをデコードして元のキーイベント情報に戻す。そのキーイベント情報は、キー・リダイレクト・サーバ３０４に供給される。
【００７７】
シーケンスＳＱ１４では、キー・リダイレクト・サーバ３０４は、キーイベントに対応するアプリケーション４０１、４０２又は４０３等にそのキーイベント情報を供給する。そして、シーケンスＳＱ１５では、アプリケーション４０１、４０２又は４０３は、キーイベント情報を受け取り、そのキーイベント情報に対応する処理を実行する。
【００７８】
（２）図８は、マスター通信装置１０が実行する所定の動作（例えば、描画や音声生成等）と同一の動作を各スレーブ通信装置２０又は３０に実行するように指示する場合の処理シーケンスを表す図である。
【００７９】
マスター通信装置１０において、シーケンスＳＱ２０では、アプリケーションによって、例えば線や矩形等の画像を描いたり、例えば歌等の音声を生成することが指示されると、それに対応した描画／音声生成リクエストをスクリーン・ブロードキャスト・サーバ３０３／音声ブロードキャスト・サーバ３０２に供給される。スクリーン・ブロードキャスト・サーバ３０３／音声ブロードキャスト・サーバ３０２は、描画／音声生成リクエストを、自装置のグラフィック・システム２０１／サウンド・システム２０２及び自装置のマスターエンド３０１に供給する。
【００８０】
シーケンスＳＱ２２では、グラフィック・システム２０１／サウンド・システム２０２は、当該リクエストに基づいてマスター通信装置１０のＬＣＤ１０５上に生成した画像を表示し、生成した音声をスピーカ（図示せず）から出力する。そして、シーケンスＳＱ２３では、マスターエンド３０１は、当該リクエストを通信条件に適した形態でエンコードし、各スレーブ通信装置のスレーブエンド３１１に送信する。
【００８１】
シーケンスＳＱ２４において、各スレーブ通信装置では、スレーブエンド２０１が、ネットワーク４０を介して送信されてきたエンコードされた描画／音声生成リクエストを受信し、それをデコードして元の描画／音声生成リクエストに戻す。そのリクエストは、スクリーン・ブロードキャスト・クライアント３１３／音声ブロードキャスト・クライアント３１２に供給される。
【００８２】
シーケンスＳＱ２５では、スクリーン・ブロードキャスト・クライアント３１３／音声ブロードキャスト・クライアント３１２は、当該リクエストをスレーブ通信装置のローカル・グラフィック・システム２０１／ローカル・サウンド・システム２０２が、リクエストに対応して、画像を描いてスレーブ通信装置のＬＣＤ１０５に表示し、音声を生成してスピーカ（図示せず）から出力する。
【００８３】
なお、シーケンスＳＱ２２とＳＱ２６は略同時に実行され、出力の同期が実現される。
【００８４】
（３）このような動作により、各スレーブ通信装置のユーザとっては、あたかも自装置において、発行されたキーイベントに対応する処理が実行されて、処理に対応する出力（例えば、描画や音声生成）がなされているように見える。
【００８５】
Ｂ．第２の実施形態
第２の実施形態に係るシステムはカップルモードといい、２つの通信装置（例えば、携帯電話）で構成され、１つはマスター携帯電話、もう１つはスレーブ携帯電話として動作するものである。少なくともハードウェア構成やソフトウェアシステム構成は、第１の実施形態のものと同様の構成を含むので、それに関する説明は省略する。
【００８６】
本実施形態では、２つの携帯電話がＭＭ−ＳＰの下で協働して動作する。つまり、それら２つの携帯電話は常に同一の画像をＬＣＤ１０５上に表示し、同一の音声を出力する。また何れの携帯電話も２つの携帯電話を制御することができる。つまり、１つの携帯電話からなされた入力は当該携帯電話だけでなく、もう一方の携帯電話でも有効とされ、その入力に基づいた処理が実行される。これらの処理の実現方法は第１の実施形態と同様なので、説明は省略する。
【００８７】
例えば、一日中一緒にいるカップル、或いは一日中一緒にいたいのに諸般の理由によりそれが無理だが常に一体感を味わいたいカップルにとって、本実施形態のようなバリエーションは喜ばれるものと考えられる。つまり、本実施形態によれば、カップルは、同じ映画や同じウェブサイトを２つの画面で見ることができる。また、ある人宛のメール文書を２人で共同で作成することができ、また、同じゲームを２人で楽しむこともできる。さらに、２人で同じ人に電話を同時に掛けて話をすることもでき（つまり、３人で会話できる）、他の人（例えば、共通の友人等）からのメールを２つの携帯電話が同時に受信することができるようになる。
【００８８】
Ｃ．第３の実施形態
第３の実施形態に係るシステムは、マルチプレーヤー／マルチ機能携帯電話システムに関するものであり、図９は、当該システムの概略を示す図である。なお、各携帯電話のハードウェア構成、ソフトウェアシステム構成及び接続確立処理は第１の実施形態と同様なので説明を省略する。
【００８９】
図９に示されるように、５００がマスター携帯電話であり、６００及び７００がスレーブ携帯電話となっている。そして、これら複数の携帯電話端末のユーザが、マスター携帯電話のアプリケーションレイヤー４００に格納されているマルチプレーヤーゲーム４０４をプレイするようになっている。ただ、第１の実施形態では異なる通信装置からのキーイベントであっても上位レイヤのアプリケーションでは通信装置の区別なく単なるキー入力として取り扱われるが、本実施形態では、異なる携帯電話からのキーイベントは、アプリケーションでは他の携帯電話のキーイベントとは異なるものとして取り扱われるようになっている（つまり、各携帯電話のキーパッドは異なるロジックキーパッドとして取り扱われる）。
【００９０】
複数のユーザが各端末上でマルチプレーヤーゲームをプレイする場合、各ユーザは異なるアイテム（キャラクタ等）をコントロールすることになる。これは、まさに複数の画面及び複数キーパッドを有するゲーム機のようなものである。
【００９１】
以下、マルチプレーヤーゲームを実行する場合の動作を説明する。まず、前提として、前述のＭＭ−ＳＰシステムが確立され、各携帯電話のうち１つがマスターモードに、他の携帯電話はスレーブモードに入っているものとする。ＭＭ−ＳＰシステムが確立される順番によって、それぞれの携帯電話は、異なるロジックキーパッドを備えるように管理される。つまり、図９に示されるように、マスター携帯電話５００は、上述のスレーブリストにて携帯電話６００及び７００を管理し、さらに、マスター及び各スレーブ携帯電話に対応したゲームアプリケーション４０４は、３つのロジカルキーパッド及び３つのＬＣＤを検出する。
【００９２】
図１０は、２つの携帯電話間でマルチプレーヤーゲームをプレイする場合の、ある具体的キーイベントの処理を説明するためのシーケンス図である。図１０は、入力キーイベントがどのように処理されるのか、また、スレーブ携帯電話がＭＭ−ＳＰから抜け出るときにはどのように処理されるのかについて示している。なお、図１０においては２人のユーザがプレイする場合のシーケンスを示しているが、３人以上であっても同様に動作するものである。ここでも、特に断らなければ、ゲームアプリケーション及び各シーケンスの制御を実行しているのは、ＣＰＵ１０１である。
【００９３】
図１０において、マルチプレーヤーゲーム（例えば、シューティングゲーム等）がマスター携帯電話５００上でスタートしている。シーケンスＳＱ３１では、キー・リダイレクト・サーバ３０４は、スレーブリストを参照して、ＭＭ−ＳＰが確立しているスレーブ携帯電話の数よりロジックキーパッドの数を取得する。そして、シーケンスＳＱでは、このマルチプレーヤーゲームは２プレーヤーモードで動作するようになる。なお、ゲームアプリケーションが４プレーヤーまで動作可能な場合、３及び４番目のプレーヤー用のメニューは使用禁止にされる。
【００９４】
そして、ＳＱ３３において、例えばユーザＢ（スレーブ携帯電話６００）があるキーを押下すると、キーイベント情報が発生され、マスター携帯電話５００に送信される。このキーイベント情報にはどのキーパッド（ロジックキーパッドＡ又はＢでもよい）からのキーイベントかを示す情報が含まれている。そのキーイベント情報は、マスター携帯電話５００のキー・リダイレクト・サーバ３０４を介してゲームアプリケーションに供給される。そして、この情報の受け渡しが成功したことを示す情報がキー・リダイレクト・サーバ３０４にゲームアプリケーションから供給される。シーケンスＳＱ３４では、そのキーイベントに対応して、プレーヤーＢのキャラクタを動かす。
【００９５】
シーケンスＳＱ３５において、例えばユーザＡ（マスター携帯電話５００）があるキーを押下すると、キーイベント情報が発生され、マスター携帯電話５００のキー・リダイレクト・サーバ３０４を介してゲームアプリケーションに供給される。そして、この情報の受け渡しが成功したことを示す情報がキー・リダイレクト・サーバ３０４にゲームアプリケーションから供給される。シーケンスＳＱ３６では、そのキーイベントに対応して、プレーヤーＡのキャラクタを動かす。
【００９６】
なお、シーケンスＳＱ３７のように、スレーブ携帯電話６００はいつでもゲームから抜け出ることができる。例えば、ユーザＢがＭＭ−ＳＰから抜け出ることをキーパッドから指示すると、携帯電話６００はスレーブモードを終了させると共に、マスター携帯電話５００にスレーブ携帯電話がゲームから抜け出ることを通知する。マスター携帯電話５００がこの通知を受信すると、キー・リダイレクト・サーバ３０４は、ロジックキーパッドＢが切断されたことをゲームアプリケーションに通知する。シーケンスＳＱ３８では、その通知を受けたゲームアプリケーションは、キャラクタＢを画面上から削除する。ただし、これはゲームがどのように構成されているかに依存するものであり、削除するのではなく、例えば、画面上に待機させるような動作をさせることも可能である。ＭＭ−ＳＰはアプリケーションよりも低いレイヤーにあるプラットフォームなので、あるキーイベントに対してどのような動作をさせるかは一意に決定されるのではなく、ゲームソフトウェア開発者に依存するものだからである。逆に言えば、ゲームソフトウェア開発者は、何も気にせずに、１つの装置上で動作するマルチプレーヤーゲームアプリケーションを開発すればよいことになる。
【００９７】
また、ゲームがサポートするプレーヤーの数は、ゲームアプリケーションの設計に依存している。例えば、ゲームが２人までしかサポートしていなければ、ＭＭ−ＳＰに３人以上接続されていても２人までしかゲームをプレイすることはできない。ただ、他の人はゲームを自分のスレーブ携帯電話で見ることはできる。つまり、対戦型ゲームなどで、２人はプレイをし、他の人は観客となることができるのである。この場合、ゲームに参加している２人のユーザのキーイベントは有効となっているが、他のユーザのキーイベントは無効となる。そして、ゲーム画像は全ユーザにブロードキャストされ、各携帯電話のＬＣＤ１０５上で同一の画像が表示される。
【００９８】
以上のような第３の実施形態によれば、マルチプレーヤーゲームアプリケーションは、ネットワーク４０の存在を認識する必要がない。よって、スレーブ携帯電話間の全ての通信（例えば、ブルートゥース、８０２．１１等）がプラットホームによって処理される。また、ゲーム開発者は、ネットワーク通信についてのプロトコル等に対応してソフトウェアを開発する必要がないので、ゲーム開発者の負荷を劇的に削減することができる。
【００９９】
さらに、第３の実施形態に係るシステムを用いれば、既存のマルチプレーヤーゲームを各携帯電話等の通信端末装置のアプリケーションレイヤーに取り込めば、ネットワーク環境に容易に対応することができるようになる。また、アプリケーションとネットワーク通信とを分離して管理できるので、ネットワーク上での動作するアプリケーションをより安定的にすることができるようになる。
【０１００】
Ｄ．第４の実施形態
第４の実施形態に係るシステムでは、マスター携帯電話５００が各スレーブ携帯電話６００及び７００を一括して制御している。このような制御をするのは、時として、複数の携帯電話について同じ動作をさせて制御することが必要な場合があるからである。例えば、携帯電話の製造後或いは商品の配送後、携帯電話の動作確認のため、複数の携帯電話において同一アプリケーションを実行させて誤動作しないかをチェックしたり、そのチェック結果に基づいて誤動作した携帯電話のセッティングを変更するような場合である。このような場合には、各携帯電話で本実施形態のような動作を実行させることにより容易に動作確認を行うことができる。
【０１０１】
図１１は、第４の実施形態に係るシステムの概要を表す図である。図１１において、マスター及びスレーブの各携帯電話５００、６００及び７００は、同一アプリケーション（例えば、テストアプリケーション）を実行するモードになっている。このシステムでは、マスター携帯電話５００は、全てのスレーブ携帯電話の接続が確立されるまで待機し、次の動作には移行しない。この点で、スレーブ携帯電話がいつでもＭＭ−ＳＰに入ったり抜け出たりできる第１の実施形態とは異なっている。
【０１０２】
本実施形態では、マスター携帯電話５００のみがキーイベントを発生する。つまり、各スレーブ携帯電話６００及び７００のキーパッド入力は無効となっている。キーイベントはユーザがマスター携帯電話のキーパッドのキーを押下することによってキーハンドラーによって発生される。そして、キー・リダイレクト・サーバ３０４を介してマスターエンド３０１に供給され、そこでエンコードされて、各スレーブ携帯電話６００及び７００に送信される。
【０１０３】
各スレーブ携帯電話６００及び７００は、エンコードされたキーイベント情報を受信し、それをデコードする。そして、そのキーイベント情報は、キー・リダイレクト・クライアント３１４を介してマスター携帯電話５００で動作しているものと同一アプリケーションに供給される。全ての携帯電話において同一のアプリケーションが動作するようになっているので、各スレーブ携帯電話６００及び７００がマスター携帯電話５００と同一の動作をすれば「異常なし」であり、異なる動作をすれば「異常あり」ということが分かる。
【０１０４】
以上のように、マスター携帯電話５００から全てのスレーブ携帯電話６００及び７００を制御することができるので、動作テストの時間を短縮でき、各携帯電話で重複した操作をしなくて済む。また、ＭＭ−ＳＰに各携帯電話を接続するだけで容易にテストをすることができるので、テストに掛かるコストを大幅に削減することもできるのである。
【０１０５】
Ｅ．第５の実施形態
第５の実施形態は、リモートユーザガイドに関するものである。第１の実施形態とは異なり、本実施形態のシステムは２つの携帯電話のみから構成されている。１つはスレーブ携帯電話であり、ユーザに属する。もう１つはマスター携帯電話であり、カスタマーセンターのサービスマンによって操作される。マスター携帯電話はカスタマーセンターのデスクトップコンピュータであってもよい。
【０１０６】
まず、ユーザは、自己の携帯電話をスレーブとして、マスターとしてのサービスマンの携帯電話（或いはコンピュータ）に接続する。すると、サービスマンはマスター携帯電話を操作する。この操作によって変化したＬＣＤ１０５上の画面はそのままユーザのスレーブ携帯電話に送信される。従って、サービスマンは、マスター携帯電話を操作しながら携帯電話の様々な機能（例えば、ゲームの使い方、アラームの設定の仕方、メールの使い方等）についてユーザに教えることができる。音声通話も可能になっているので、ユーザはＬＣＤ１０５上に表示された機能についての質問も即座にすることができる。また、逆に、ユーザがスレーブ携帯電話を操作して、所定の動作のおさらいをし、サービスマンはそのユーザの操作が正しいかについてＬＣＤ１０５に表示された画面を見ながらチェックできる。
【０１０７】
以上の本実施形態によれば、通常はガイダンスビデオ等によってユーザに携帯電話の機能を教えるようにしているが、より親切で、よりフレキシブルなユーザガイダンスを提供することができる。双方向通信によるガイダンスなので、ユーザが分かるところは説明を省略することができるし、分かりづらいところについては繰り返しガイドしてもらえるからである。
【０１０８】
Ｆ．第６の実施形態
第６の実施形態は、モバイル・ライブ・ブロードキャストに関するものである。第１の実施形態とは異なり、本実施形態のシステムでは、本モードから抜け出るためのキーイベント以外は、各スレーブ携帯電話のキーパッド入力は無効となるように制御される。つまり、スレーブ携帯電話のユーザがモバイル・ライブ・ブロードキャストモードを選択すると、各スレーブ携帯電話におけるキー・リダイレクト・クライアント３１４は、たとえユーザからキー入力（モバイル・ライブ・ブロードキャストモードから抜け出るためのキーイベントは除く）がなされてもスレーブエンド３１１には供給せず無視する。各スレーブ携帯電話は、単なるディスプレイ端末として機能することになる。
【０１０９】
例えば、セールスマンが新しい商品のデモンストレーションを遠隔的に実行する場合が考えられる。この場合、１つのマスター携帯電話から多数のスレーブ携帯電話に同一画像を同時に配信する。
【０１１０】
このように、本実施形態によれば、１つのマスター携帯電話から、ＭＭ−ＳＰに接続してモバイル・ライブ・ブロードキャストモードが選択された多数のスレーブ携帯電話のユーザに対して、一気に同一画像を配信することができる。
【０１１１】
なお、この機能を実現するのためには、マスター携帯電話は単に画像配信するためのアプリケーションのみを搭載し、スレーブ携帯電話はモバイル・ライブ・ブロードキャストモードが選択された場合にキーイベントを無効にする機能のみをアプリケーションレイヤーに搭載していればよく、通信形態がどのようなものかをアプリケーション自体が認識する必要はない。
【０１１２】
＜その他の実施形態＞
本発明では、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１１３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれている。
【０１１４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
【０１１５】
また、上記実施の形態の機能を実現するソフトウェアのプログラムコードがネットワークを介して配信されることにより、システム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納され、そのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵ）が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行することによっても、達成されることは云うまでもない。
【図面の簡単な説明】
【０１１６】
【図１】本発明に係る通信システム１の基本構成を示す図である。
【図２】通信端末装置のハードウェア構成を示すブロック図である。
【図３】本発明のソフトウェア・アーキテクチャを示す図である。
【図４】ＭＭ−ＳＰ接続確立の動作を説明するためのフローチャートである。
【図５】ＭＭＳＰからスレーブ通信端末装置が抜け出るときの動作を説明するためのフローチャートである。
【図６】マスター通信端末装置からＭＭ−ＳＰの接続を終了させるときの動作を説明するためのフローチャートである。
【図７】スレーブ通信端末装置がキーイベントを発生させ、マスター通信端末装置がそのキーイベントを処理させるまでのシーケンスを示す図である。
【図８】マスター通信端末装置が描画及び音声を生成し、スレーブ通信端末装置がマスター通信端末装置と同様に描画及び音声を生成するまでのシーケンスを示す図である。
【図９】マルチプレーヤーゲームを実行する場合の概念を示すシステム構成図である。
【図１０】マルチプレーヤーゲームを実行する場合の動作シーケンスを示す図である。
【図１１】マスター通信端末装置が複数のスレーブ通信端末装置を操作・制御する場合の概念を示すシステム構成図である。
【符号の説明】
【０１１７】
１    通信システム
１０  マスター通信端末装置
２０、３０  スレーブ通信端末装置
４０  ネットワーク
１０１  ＣＰＵ
１０４  通信モジュール
２００  ＯＳレイヤー
３００  ミドルウェアレイヤー
４００  アプリケーションレイヤー
【図１】
2007140590.tif 000003
【図２】
2007140590.tif 000004
【図３】
2007140590.tif 000005
【図４】
2007140590.tif 000006
【図５】
2007140590.tif 000007
【図６】
2007140590.tif 000008
【図７】
2007140590.tif 000009
【図８】
2007140590.tif 000010
【図９】
2007140590.tif 000011
【図１０】
2007140590.tif 000012
【図１１】
2007140590.tif 000013