(57)【要約】【課題】受信側の通信端末が、送信側の通信端末が送信したコンテンツデータを表示し易くなる。【解決手段】サーバ４００Ａは、サーバ通信デバイスと、サーバ通信デバイスを介して第１の通信端末１００Ａから第１のサンプリングレートを示す情報を受信し、サーバ通信デバイスを介して第２の通信端末１００Ｂから第１のサンプリングレートよりも低い第２のサンプリングレートを示す情報を受信し、第１の通信端末１００Ａからの第１のコンテンツデータを第２のサンプリングレートへとダウンサンプリングし、サーバ通信デバイスを介して当該ダウンサンプリングされた第１のコンテンツデータを第２の通信端末１００Ｂへと送信するためのサーバプロセッサとを備える。【選択図】図３
2011154606.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して相互に通信可能なサーバと第１および第２の通信端末とを備えるネットワークシステムであって、
前記第１の通信端末は、
第１の通信デバイスと、
第１のディスプレイと、
第１のサンプリングレートで第１のコンテンツデータの入力を受け付けるための第１の受付部と、
前記第１の通信デバイスを介して前記第１のサンプリングレートを示す情報を前記サーバへ送信し、前記第１の通信デバイスを介して前記第１のコンテンツデータを前記サーバへと送信するための第１のプロセッサとを含み、
前記第２の通信端末は、
第２の通信デバイスと、
第２のディスプレイと、
前記第１のサンプリングレートよりも低い第２のサンプリングレートで第２のコンテンツデータの入力を受け付けるための第２の受付部と、
前記第２の通信デバイスを介して前記第２のサンプリングレートを示す情報を前記サーバへと送信し、前記第２の通信デバイスを介して前記サーバから前記第１のコンテンツデータを受信し、前記第１のコンテンツデータを前記第２のディスプレイに表示させるための第２のプロセッサとを含み、
前記サーバは、
サーバ通信デバイスと、
前記サーバ通信デバイスを介して前記第１の通信端末から前記第１のサンプリングレートを示す情報を受信し、前記サーバ通信デバイスを介して前記第２の通信端末から前記第２のサンプリングレートを示す情報を受信し、前記第１の通信端末からの前記第１のコンテンツデータを前記第２のサンプリングレートへとダウンサンプリングし、前記サーバ通信デバイスを介して当該ダウンサンプリングされた前記第１のコンテンツデータを前記第２の通信端末へと送信するためのサーバプロセッサとを含む、ネットワークシステム。
【請求項２】
前記第２のプロセッサは、前記第２の通信デバイスを介して前記第２のコンテンツデータを前記サーバへと送信し、
前記サーバプロセッサは、前記第２の通信端末からの前記第２のコンテンツデータを前記第１のサンプリングレートへとアップサンプリングし、前記サーバ通信デバイスを介して当該アップサンプリングされた前記第２のコンテンツデータを前記第１の通信端末へと送信し、
前記第１のプロセッサは、前記第１の通信デバイスを介して前記サーバから前記第２のコンテンツデータを受信し、前記第２のコンテンツデータを前記第１のディスプレイに表示させる、請求項１に記載のネットワークシステム。
【請求項３】
前記第２のプロセッサは、前記第２の通信デバイスを介して前記第２のコンテンツデータを前記サーバへと送信し、
前記サーバプロセッサは、前記サーバ通信デバイスを介して前記第２の通信端末からの前記第２のコンテンツデータを前記第１の通信端末へと送信し、
前記第１のプロセッサは、前記第１の通信デバイスを介して前記サーバから前記第２のコンテンツデータを受信し、前記第２のコンテンツデータを前記第１のディスプレイに表示させる、請求項１に記載のネットワークシステム。
【請求項４】
ネットワークを介して相互に通信可能な第１および第２の通信端末を備えるネットワークシステムであって、
前記第１の通信端末は、
第１の通信デバイスと、
第１のディスプレイと、
第１のサンプリングレートで第１のコンテンツデータの入力を受け付けるための第１の受付部と、
前記第１の通信デバイスを介して前記第２の通信端末から前記第１のサンプリングレートよりも低い第２のサンプリングレートを示す情報を受信し、前記第１のサンプリングレートの前記第１のコンテンツデータを前記第２のサンプリングレートへとダウンサンプリングし、前記第１の通信デバイスを介して当該ダウンサンプリングされた前記第１のコンテンツデータを前記第２の通信端末へと送信するための第１のプロセッサとを含み、
前記第２の通信端末は、
第２の通信デバイスと、
第２のディスプレイと、
前記第２のサンプリングレートで第２のコンテンツデータの入力を受け付けるための第２の受付部と、
前記第２の通信デバイスを介して前記第２のサンプリングレートを示す情報を前記第１の通信端末へと送信し、前記第２の通信デバイスを介して前記第１の通信端末から前記第１のコンテンツデータを受信し、前記第１のコンテンツデータを前記第２のディスプレイに表示させるための第２のプロセッサとを含む、ネットワークシステム。
【請求項５】
前記第２のプロセッサは、前記第２の通信デバイスを介して前記第２のコンテンツデータを前記第１の通信端末へと送信し、
前記第１のプロセッサは、前記第１の通信デバイスを介して前記第２の通信端末から前記第２のコンテンツデータを受信し、前記第２の通信端末からの前記第２のコンテンツデータを前記第１のサンプリングレートへとアップサンプリングし、当該アップサンプリングされた前記第２のコンテンツデータを前記第１のディスプレイに表示させる、請求項４に記載のネットワークシステム。
【請求項６】
前記第２にプロセッサは、前記第２の通信デバイスを介して前記第２のコンテンツデータを前記第１の通信端末へと送信し、
前記第１のプロセッサは、前記第１の通信デバイスを介して前記第２の通信端末から前記第２のコンテンツデータを受信し、前記第２の通信端末からの前記第２のコンテンツデータを前記第１のディスプレイに表示させる、請求項４に記載のネットワークシステム。
【請求項７】
ネットワークを介して相互に通信可能なサーバと第１および第２の通信端末とを備えるネットワークシステムにおける通信方法であって、
前記第１の通信端末が、第１のサンプリングレートを示す情報を前記サーバへ送信するステップと、
前記第２の通信端末が、前記第１のサンプリングレートよりも低い第２のサンプリングレートを示す情報を前記サーバへと送信するステップと、
前記第１の通信端末が、前記第１のサンプリングレートで第１のコンテンツデータの入力を受け付けるステップと、
前記第１の通信端末が、前記第１のコンテンツデータを前記サーバへと送信するステップと、
前記サーバが、前記第１の通信端末からの前記第１のコンテンツデータを前記第２のサンプリングレートへとダウンサンプリングするステップと、
前記サーバが、当該ダウンサンプリングされた前記第１のコンテンツデータを前記第２の通信端末へと送信するステップと、
前記第２の通信端末が、前記サーバからの前記第１のコンテンツデータをディスプレイに表示するステップとを備える、通信方法。
【請求項８】
ネットワークを介して相互に通信可能な第１および第２の通信端末を備えるネットワークシステムにおける通信方法であって、
前記第２の通信端末が、第１のサンプリングレートよりも低い第２のサンプリングレートを示す情報を前記第１の通信端末へと送信するステップと、
前記第１の通信端末が、前記第１のサンプリングレートで第１のコンテンツデータの入力を受け付けるステップと、
前記第１の通信端末が、前記第１のサンプリングレートの前記第１のコンテンツデータを前記第２のサンプリングレートへとダウンサンプリングするステップと、
前記第１の通信端末が、当該ダウンサンプリングされた前記第１のコンテンツデータを前記第２の通信端末へと送信するステップと、
前記第２の通信端末が、前記第１の通信端末からの前記第１のコンテンツデータをディスプレイに表示するステップとを備える、通信方法。
【請求項９】
ネットワークを介して第１および第２の通信端末と通信可能なサーバであって、
サーバ通信デバイスと、
前記サーバ通信デバイスを介して前記第１の通信端末から第１のサンプリングレートを示す情報を受信し、前記サーバ通信デバイスを介して前記第２の通信端末から前記第１のサンプリングレートよりも低い第２のサンプリングレートを示す情報を受信し、前記第１の通信端末からの第１のコンテンツデータを前記第２のサンプリングレートへとダウンサンプリングし、前記サーバ通信デバイスを介して当該ダウンサンプリングされた前記第１のコンテンツデータを前記第２の通信端末へと送信するためのサーバプロセッサとを備える、サーバ。
【請求項１０】
前記サーバプロセッサは、前記第２の通信端末からの第２のコンテンツデータを前記第１のサンプリングレートへとアップサンプリングし、前記サーバ通信デバイスを介して当該アップサンプリングされた前記第２のコンテンツデータを前記第１の通信端末へと送信する、請求項９に記載のサーバ。
【請求項１１】
ネットワークを介して他の通信端末と通信可能な通信端末であって、
第１の通信デバイスと、
第１のディスプレイと、
第１のサンプリングレートで第１のコンテンツデータの入力を受け付けるための第１の受付部と、
前記第１の通信デバイスを介して前記他の通信端末から前記第１のサンプリングレートよりも低い第２のサンプリングレートを示す情報を受信し、前記第１のサンプリングレートの前記第１のコンテンツデータを前記第２のサンプリングレートへとダウンサンプリングし、前記第１の通信デバイスを介して当該ダウンサンプリングされた前記第１のコンテンツデータを前記他の通信端末へと送信するための第１のプロセッサとを備える、通信端末。
【請求項１２】
前記第１のプロセッサは、前記第１の通信デバイスを介して前記他の通信端末から第２のコンテンツデータを受信し、前記他の通信端末からの前記第２のコンテンツデータを前記第１のサンプリングレートへとアップサンプリングし、当該アップサンプリングされた前記第２のコンテンツデータを前記第１のディスプレイに表示させる、請求項１１に記載の通信端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して相互に通信可能な少なくとも第１および第２の通信端末を備えるネットワークシステム、通信方法、サーバおよび通信端末に関し、特に、第１および第２の通信端末がコンテンツデータを送受信するネットワークシステム、通信方法、サーバおよび通信端末に関する。
【背景技術】
【０００２】
インターネット網に接続可能な複数の通信端末が、コンテンツデータを交換するネットワークシステムが知られている。たとえば、サーバクライアントシステムやＰ２Ｐ（Peer  to  Peer）システムなどが挙げられる。そのようなネットワークシステムにおいては、通信端末の各々は、手書き画像データや、テキストデータや、写真画像データなどを送信したり受信したりする。なお、手書き画像データは、たとえば、手書き画像の軌跡を示す一連の位置データを含む。通信端末の各々は、受信した手書き画像データや、テキストデータや、写真画像データに基づいて、ディスプレイに手書き画像やテキストや写真を表示させる。
【０００３】
たとえば、特開２００１−１１１７０８号公報（特許文献１）には、携帯型情報通信装置が開示されている。特開２００１−１１１７０８号公報（特許文献１）によると、携帯型情報通信装置は、液晶ディスプレイ一体型タブレット等の入力手段を用いてユーザが入力した手書きデータの座標情報を、逐次連続して接続先の携帯型情報通信装置に送信するとともに、入力された手書きデータの筆跡を液晶ディスプレイ等表示手段に表示し、同時に、接続先の携帯型情報通信装置から送られてきた手書きデータの座標情報をもとに、受信した手書きデータの筆跡を表示手段に表示できるように構成したことを特徴とするものである。この構成により、携帯型の端末装置を用いて、手書き入力データをリアルタイムで送受信することができ、場所を選ばずいつでも筆談のような会話型のコミュニケーションを実現することができる。
【０００４】
また、特開２００３−２３４８４２号公報（特許文献２）には、リアルタイム手書き通信システムが開示されている。特開２００３−２３４８４２号公報（特許文献２）によると、リアルタイム手書き通信システムは、タッチパネル、タッチペン、データ入力装置、コントローラ装置、データ出力装置および表示装置を有する。手書きデータをタッチペンで入力し、出力データに変換できる。データ入力装置は、別のリアルタイム手書き通信システムから送信された入力データを受信し入力する。コントローラ装置は、タッチパネルおよびデータ入力装置と接続されており、入力データおよび出力データをリアルタイムに処理し、送信する。データ出力装置は、コントローラ装置に接続され、他のリアルタイム手書き通信システムに出力データを送信する。表示装置は入力データおよび出力データを表示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−１１１７０８号公報
【特許文献２】特開２００３−２３４８４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、受信端末が、送信端末が送信したコンテンツデータに対応していない場合がある。たとえば、受信端末の入力サンプリングレートが送信端末の入力サンプリングレートよりも低い場合、受信端末が送信端末からのコンテンツデータを表示できない虞がある。
【０００７】
本発明は、かかる問題を解決するためになされたものであり、その目的は、受信側の通信端末が、送信側の通信端末が送信したコンテンツデータを表示し易いネットワークシステム、通信方法、サーバおよび通信端末を提供することである。あるいは、その目的は、能力が比較的低い受信側の通信端末が、能力が比較的高い送信側の通信端末からのコンテンツデータを表示し易いネットワークシステム、通信方法、サーバおよび通信端末を提供することである。
【課題を解決するための手段】
【０００８】
この発明のある局面に従うと、ネットワークを介して相互に通信可能なサーバと第１および第２の通信端末とを備えるネットワークシステムが提供される。第１の通信端末は、第１の通信デバイスと、第１のディスプレイと、第１のサンプリングレートで第１のコンテンツデータの入力を受け付けるための第１の受付部と、第１の通信デバイスを介して第１のサンプリングレートを示す情報をサーバへ送信し、第１の通信デバイスを介して第１のコンテンツデータをサーバへと送信するための第１のプロセッサとを含む。第２の通信端末は、第２の通信デバイスと、第２のディスプレイと、第１のサンプリングレートよりも低い第２のサンプリングレートで第２のコンテンツデータの入力を受け付けるための第２の受付部と、第２の通信デバイスを介して第２のサンプリングレートを示す情報をサーバへと送信し、第２の通信デバイスを介してサーバから第１のコンテンツデータを受信し、第１のコンテンツデータを第２のディスプレイに表示させるための第２のプロセッサとを含む。サーバは、サーバ通信デバイスと、サーバ通信デバイスを介して第１の通信端末から第１のサンプリングレートを示す情報を受信し、サーバ通信デバイスを介して第２の通信端末から第２のサンプリングレートを示す情報を受信し、第１の通信端末からの第１のコンテンツデータを第２のサンプリングレートへとダウンサンプリングし、サーバ通信デバイスを介して当該ダウンサンプリングされた第１のコンテンツデータを第２の通信端末へと送信するためのサーバプロセッサとを含む。
【０００９】
好ましくは、第２のプロセッサは、第２の通信デバイスを介して第２のコンテンツデータをサーバへと送信する。サーバプロセッサは、第２の通信端末からの第２のコンテンツデータを第１のサンプリングレートへとアップサンプリングし、サーバ通信デバイスを介して当該アップサンプリングされた第２のコンテンツデータを第１の通信端末へと送信する。第１のプロセッサは、第１の通信デバイスを介してサーバから第２のコンテンツデータを受信し、第２のコンテンツデータを第１のディスプレイに表示させる。
【００１０】
好ましくは、第２のプロセッサは、第２の通信デバイスを介して第２のコンテンツデータをサーバへと送信する。サーバプロセッサは、サーバ通信デバイスを介して第２の通信端末からの第２のコンテンツデータを第１の通信端末へと送信する。第１のプロセッサは、第１の通信デバイスを介してサーバから第２のコンテンツデータを受信し、第２のコンテンツデータを第１のディスプレイに表示させる。
【００１１】
この発明の別の局面に従うと、ネットワークを介して相互に通信可能な第１および第２の通信端末を備えるネットワークシステムが提供される。第１の通信端末は、第１の通信デバイスと、第１のディスプレイと、第１のサンプリングレートで第１のコンテンツデータの入力を受け付けるための第１の受付部と、第１の通信デバイスを介して第２の通信端末から第１のサンプリングレートよりも低い第２のサンプリングレートを示す情報を受信し、第１のサンプリングレートの第１のコンテンツデータを第２のサンプリングレートへとダウンサンプリングし、第１の通信デバイスを介して当該ダウンサンプリングされた第１のコンテンツデータを第２の通信端末へと送信するための第１のプロセッサとを含む。第２の通信端末は、第２の通信デバイスと、第２のディスプレイと、第２のサンプリングレートで第２のコンテンツデータの入力を受け付けるための第２の受付部と、第２の通信デバイスを介して第２のサンプリングレートを示す情報を第１の通信端末へと送信し、第２の通信デバイスを介して第１の通信端末から第１のコンテンツデータを受信し、第１のコンテンツデータを第２のディスプレイに表示させるための第２のプロセッサとを含む。
【００１２】
好ましくは、第２のプロセッサは、第２の通信デバイスを介して第２のコンテンツデータを第１の通信端末へと送信する。第１のプロセッサは、第１の通信デバイスを介して第２の通信端末から第２のコンテンツデータを受信し、第２の通信端末からの第２のコンテンツデータを第１のサンプリングレートへとアップサンプリングし、当該アップサンプリングされた第２のコンテンツデータを第１のディスプレイに表示させる。
【００１３】
好ましくは、第２にプロセッサは、第２の通信デバイスを介して第２のコンテンツデータを第１の通信端末へと送信する。第１のプロセッサは、第１の通信デバイスを介して第２の通信端末から第２のコンテンツデータを受信し、第２の通信端末からの第２のコンテンツデータを第１のディスプレイに表示させる。
【００１４】
この発明の別の局面に従うと、ネットワークを介して相互に通信可能なサーバと第１および第２の通信端末とを備えるネットワークシステムにおける通信方法が提供される。通信方法は、第１の通信端末が、第１のサンプリングレートを示す情報をサーバへ送信するステップと、第２の通信端末が、第１のサンプリングレートよりも低い第２のサンプリングレートを示す情報をサーバへと送信するステップと、第１の通信端末が、第１のサンプリングレートで第１のコンテンツデータの入力を受け付けるステップと、第１の通信端末が、第１のコンテンツデータをサーバへと送信するステップと、サーバが、第１の通信端末からの第１のコンテンツデータを第２のサンプリングレートへとダウンサンプリングするステップと、サーバが、当該ダウンサンプリングされた第１のコンテンツデータを第２の通信端末へと送信するステップと、第２の通信端末が、サーバからの第１のコンテンツデータをディスプレイに表示するステップとを備える。
【００１５】
この発明の別の局面に従うと、ネットワークを介して相互に通信可能な第１および第２の通信端末を備えるネットワークシステムにおける通信方法が提供される。通信方法は、第２の通信端末が、第１のサンプリングレートよりも低い第２のサンプリングレートを示す情報を第１の通信端末へと送信するステップと、第１の通信端末が、第１のサンプリングレートで第１のコンテンツデータの入力を受け付けるステップと、第１の通信端末が、第１のサンプリングレートの第１のコンテンツデータを第２のサンプリングレートへとダウンサンプリングするステップと、第１の通信端末が、当該ダウンサンプリングされた第１のコンテンツデータを第２の通信端末へと送信するステップと、第２の通信端末が、第１の通信端末からの第１のコンテンツデータをディスプレイに表示するステップとを備える。
【００１６】
この発明の別の局面に従うと、ネットワークを介して第１および第２の通信端末と通信可能なサーバが提供される。サーバは、サーバ通信デバイスと、サーバ通信デバイスを介して第１の通信端末から第１のサンプリングレートを示す情報を受信し、サーバ通信デバイスを介して第２の通信端末から第１のサンプリングレートよりも低い第２のサンプリングレートを示す情報を受信し、第１の通信端末からの第１のコンテンツデータを第２のサンプリングレートへとダウンサンプリングし、サーバ通信デバイスを介して当該ダウンサンプリングされた第１のコンテンツデータを第２の通信端末へと送信するためのサーバプロセッサとを備える。
【００１７】
好ましくは、サーバプロセッサは、第２の通信端末からの第２のコンテンツデータを第１のサンプリングレートへとアップサンプリングし、サーバ通信デバイスを介して当該アップサンプリングされた第２のコンテンツデータを第１の通信端末へと送信する。
【００１８】
この発明の別の局面に従うと、ネットワークを介して他の通信端末と通信可能な通信端末が提供される。通信端末は、第１の通信デバイスと、第１のディスプレイと、第１のサンプリングレートで第１のコンテンツデータの入力を受け付けるための第１の受付部と、第１の通信デバイスを介して他の通信端末から第１のサンプリングレートよりも低い第２のサンプリングレートを示す情報を受信し、第１のサンプリングレートの第１のコンテンツデータを第２のサンプリングレートへとダウンサンプリングし、第１の通信デバイスを介して当該ダウンサンプリングされた第１のコンテンツデータを他の通信端末へと送信するための第１のプロセッサとを備える。
【００１９】
好ましくは、第１のプロセッサは、第１の通信デバイスを介して他の通信端末から第２のコンテンツデータを受信し、他の通信端末からの第２のコンテンツデータを第１のサンプリングレートへとアップサンプリングし、当該アップサンプリングされた第２のコンテンツデータを第１のディスプレイに表示させる。
【発明の効果】
【００２０】
以上のように、本発明に係るネットワークシステム、通信方法、サーバおよび通信端末によって、受信側の通信端末が、送信側の通信端末が送信したコンテンツデータを表示し易くなる。あるいは、本発明に係るネットワークシステム、通信方法、サーバおよび通信端末によって、能力が比較的低い受信側の通信端末が、能力が比較的高い送信側の通信端末からのコンテンツデータを表示し易くなる。
【図面の簡単な説明】
【００２１】
【図１】本実施の形態に係るネットワークシステムを示す概略図である。
【図２】実施の形態１に係るネットワークシステムにおける動作概要を示すシーケンス図である。
【図３】実施の形態１に係るネットワークシステムにおけるコンテンツの表示およびコンテンツデータの送受信を示すイメージ図である。
【図４】本施の形態に係る携帯電話の外観を示すイメージ図である。
【図５】本施の形態に係る携帯電話のハードウェア構成を示すブロック図である。
【図６】本実施の形態に係る携帯電話のメモリに記憶されるコンテンツデータを示すイメージ図である。
【図７】本実施の形態に係るサーバのハードウェア構成を示すブロック図である。
【図８】本実施の形態に係るサーバのメモリあるいは固定ディスクに記憶されるルーム管理テーブルのデータの推移を示すイメージ図である。
【図９】本実施の形態に係るサーバのメモリに記憶されるコンテンツデータを示すイメージ図である。
【図１０】本実施の形態に係る携帯電話における通信開始前処理の処理手順を示すフローチャートである。
【図１１】本実施の形態に係る携帯電話における通信開始後処理の処理手順を示すフローチャートである。
【図１２】本実施の形態に係る携帯電話における手書き入力処理の処理手順を示すフローチャートである。
【図１３】本実施の形態に係る携帯電話における描画処理の処理手順を示すフローチャートである。
【図１４】本実施の形態に係るサーバにおける受信処理の処理手順を示すフローチャートである。
【図１５】本実施の形態に係るサーバにおける処理速度情報処理の処理手順を示すフローチャートである。
【図１６】本実施の形態に係るサーバにおけるペン情報処理の処理手順を示すフローチャートである。
【図１７】本実施の形態に係るサーバにおける位置情報受信処理の処理手順を示すフローチャートである。
【図１８】本実施の形態に係るサーバにおける中間バッファ処理の処理手順を示すフローチャートである。
【図１９】本実施の形態に係るサーバにおける送信データ処理の処理手順を示すフローチャートである。
【図２０】本実施の形態に係るサーバにおける送信バッファ処理の処理手順を示すフローチャートである。
【図２１】実施の形態２に係るネットワークシステムにおける動作概要を示すシーケンス図である。
【図２２】実施の形態２に係るネットワークシステムにおけるコンテンツの表示およびコンテンツデータの送受信を示すイメージ図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００２３】
また、以下では、携帯電話１００を「通信端末」の代表例として説明を行う。ただし、通信端末は、パーソナルコンピュータや、カーナビゲーション装置（Satellite  navigation  system）や、ＰＮＤ（Personal  Navigation  Device）や、ＰＤＡ（Personal  Data  Assistance）などのような、他の情報通信機器であってもよい。
【００２４】
［実施の形態１］
＜ネットワークシステム１の全体構成＞
まず、本実施の形態に係るネットワークシステム１の全体構成について説明する。図１は、本実施の形態に係るネットワークシステム１を示す概略図である。
【００２５】
図１を参照して、ネットワークシステム１は、携帯電話１００Ａ，１００Ｂ，１００Ｃと、サーバ４００Ａと、インターネット網（第１のネットワーク）５００と、キャリア網（第２のネットワーク）７００とを含む。また、本実施の形態に係るネットワークシステム１は、車両２５０に搭載されるカーナビゲーション装置２００と、パーソナルコンピュータ（ＰＣ）３００とを含む。
【００２６】
なお、説明の容易化のために、以下では、本実施の形態に係るネットワークシステム１が、第１の携帯電話１００Ａと、第２の携帯電話１００Ｂと、第３の携帯電話１００Ｃとを含む場合について説明する。また、携帯電話１００Ａ，１００Ｂ，１００Ｃの各々に共通の構成や機能を説明する際には、それらを携帯電話１００とも総称する。そして、携帯電話１００Ａ，１００Ｂ，１００Ｃ、カーナビゲーション装置２００、パーソナルコンピュータ３００の各々に共通の構成や機能を説明する際には、それらを通信端末とも総称する。
【００２７】
携帯電話１００は、キャリア網７００に接続可能に構成されている。カーナビゲーション装置２００は、インターネット網５００に接続可能に構成されている。パーソナルコンピュータ３００は、ＬＡＮ（Local  Area  Network）３５０やＷＡＮ（Wide  Area  Network）を介してインターネット網５００に接続可能に構成されている。サーバ４００Ａは、インターネット網５００に接続可能に構成されている。
【００２８】
より詳細には、第１の携帯電話１００Ａと、第２の携帯電話１００Ｂと、第３の携帯電話１００Ｃと、カーナビゲーション装置２００と、パーソナルコンピュータ３００とは、キャリア網７００やインターネット網５００を介して互いに接続可能であって、互いにデータの送受信が可能である。また、携帯電話１００とカーナビゲーション装置２００とパーソナルコンピュータ３００には、自端末を特定するための識別情報（たとえば、電話番号、個体識別番号、メールアドレスやＩＰ（Internet  Protocol）アドレスなど）が割り当てられる。すなわち、携帯電話１００とカーナビゲーション装置２００とパーソナルコンピュータ３００とは、内部の記録媒体に他の通信端末の識別情報を記憶することができ、当該識別情報に基づいてキャリア網７００やインターネット網５００などを介して当該他の通信端末とデータ送受信を行うことができる。
【００２９】
なお、本実施の形態に係る携帯電話１００とカーナビゲーション装置２００とパーソナルコンピュータ３００とは、他の端末に割り当てられるＩＰアドレスを利用して、サーバを介さずに当該他の通信端末とデータ送受信を行うことができる。すなわち、本実施の形態に係るネットワークシステム１に含まれる携帯電話１００、カーナビゲーション装置２００、パーソナルコンピュータ３００は、いわゆるＰ２Ｐ（Peer  to  Peer）型のネットワークを構成することが可能である。
【００３０】
ここでは、各通信端末がサーバ４００Ａにアクセスする際には、すなわち各通信端末がインターネットにアクセスした際に、サーバ４００Ａあるいは他の図示しないサーバ装置などによってＩＰアドレスが割り当てられるものとする。ＩＰアドレスの割り当て処理の詳細は公知であるので、ここでは説明を繰り返さない。
【００３１】
＜本実施の形態に係るネットワークシステム１の動作概要＞
次に、本実施の形態に係るネットワークシステム１の動作概要について説明する。図２は、本実施の形態に係るネットワークシステム１における動作概要を示すシーケンス図である。図３は、本実施の形態に係るネットワークシステム１におけるコンテンツの表示およびコンテンツデータの送受信を示すイメージ図である。
【００３２】
ただし、以下では、２つの通信端末、すなわち第１の携帯電話１００Ａと第２の携帯電話１００Ｂとがコンテンツデータを送受信する場合について説明する。なお、３つ以上の通信端末がコンテンツデータを送受信することも可能である。
【００３３】
また、以下では、通信端末のそれぞれが、サーバ４００Ａに生成されたチャットルームを介して、コンテンツを送受信する場合について説明する。そして、第１の携帯電話１００Ａが新たなチャットルームを生成し、当該チャットルームに第２の携帯電話１００Ｂを招待する場合について説明する。
【００３４】
図１から図３を参照して、まず、第１の携帯電話１００Ａ（図２において端末Ａ）が、サーバ４００ＡにＩＰ登録（ログイン）を要求する（ステップＳ００２）。第１の携帯電話１００Ａは、同時にＩＰアドレスを取得してもよいし、予めＩＰアドレスを取得していてもよい。より詳細には、第１の携帯電話１００Ａは、キャリア網７００、インターネット網５００を介して、サーバ４００Ａに第１の携帯電話１００Ａに関する情報（たとえば、ＩＰアドレスやアプリケーションのバージョンなど）と第２の携帯電話１００Ｂのメールアドレスと新たなチャットルームの生成を要求するメッセージとを送信する。
【００３５】
サーバ４００Ａは、その要求に応じて、チャットルームを生成する（ステップＳ００４）。このとき、サーバ４００Ａは、チャットルームの生成が完了した旨を第１の携帯電話１００Ａに通知してもよい。サーバ４００Ａは、ルーム番号またはルーム名と参加中の通信端末のＩＰアドレスとを対応付けて格納する。
【００３６】
第１の携帯電話１００Ａは、新たなチャットルームを生成したこと、すなわちチャットルームへの招待を示すＰ２Ｐ参加要請メールを第２の携帯電話１００Ｂに送信してもよい。より詳細には、第１の携帯電話１００Ａは、キャリア網７００、インターネット網５００を介して、Ｐ２Ｐ参加要請メールを第２の携帯電話１００Ｂに送信する。
【００３７】
第２の携帯電話１００Ｂは、自らチャットルームを検索し任意のチャットルームへの参加を決定した場合、あるいはチャットルーム参加要請メールを受信すると、サーバ４００Ａに第２の携帯電話１００Ｂに関する情報（たとえば、ＩＰアドレスやアプリケーションのバージョンなど）とそのチャットルームへ参加する旨のメッセージとを送信する（ステップＳ００６）。第２の携帯電話１００Ｂは、同時にＩＰアドレスを取得してもよいし、先にＩＰアドレスを取得してからサーバ４００Ａにアクセスしてもよい。
【００３８】
サーバ４００Ａは、そのメッセージを受け付けて、第２の携帯電話１００ＢのＩＰアドレスを格納する（ステップＳ００８）。そして、サーバ４００Ａは、第１の携帯電話１００Ａに、第２の携帯電話１００Ｂがチャットルームに参加した旨と第２の携帯電話１００Ｂに関する情報（たとえば、ＩＰアドレスやアプリケーションのバージョンなど）とを送信する（ステップＳ０１０）。同時に、サーバ４００Ａは、第２の携帯電話１００Ｂに、チャットルームへの参加を受け付けた旨と第１の携帯電話１００Ａに関する情報（たとえば、ＩＰアドレスやアプリケーションのバージョンなど）とを送信する（ステップＳ０１２）。
【００３９】
第１の携帯電話１００Ａと第２の携帯電話１００Ｂは、サーバ４００Ａによってマッチングされる。マッチングが完了すると、第１の携帯電話１００Ａは、自身の手書きデータの入力サンプリングレート（第１の入力サンプリングレート）を計測し、当該第１の入力サンプリングレートをサーバ４００Ａに送信する（ステップＳ０１４）。第２の携帯電話１００Ｂは、自身の手書きデータの入力サンプリングレート（第２の入力サンプリングレート）を計測し、当該第２の入力サンプリングレートをサーバ４００Ａに送信する（ステップＳ０１６）。
【００４０】
このとき、サーバ４００Ａは、第１の入力サンプリングレートと第２の入力サンプリングレートとに基づいて、現在チャットルームに参加しているユーザの通信端末の最も高いサンプリングレートを基準サンプリングレートとして決定する。ここでは、第１の入力サンプリングレートが第２の入力サンプリングレートよりも高い、すなわち第１の携帯電話１００Ａの処理能力が第２の携帯電話１００Ｂの処理能力よりも高いものとする。サーバ４００Ａは、第１の入力サンプリングレートを基準サンプリングレートに決定するものとする。
【００４１】
第１の携帯電話１００Ａは、ユーザからペン情報を受け付けて、ペン情報に関する情報をサーバ４００Ａに送信する（ステップＳ０１８）。第２の携帯電話１００Ｂは、ユーザからペン情報を受け付けて、ペン情報に関する情報をサーバ４００Ａに送信する（ステップＳ０２０）。
【００４２】
サーバ４００Ａは、基準サンプリングレート（第１の入力サンプリングレート）と第２の入力サンプリングレートとの差が所定値以上であるか否かを判断する。たとえば、サーバ４００Ａは、基準サンプリングレートが第２の入力サンプリングレートの２倍以上であるか否かを判断する。以下では、まず、基準サンプリングレートと第２の入力サンプリングレートとの差が所定値未満である場合について説明する。
【００４３】
第１の携帯電話１００Ａが、タッチパネル１０２を介して、ユーザから手書き画像（図３において１０７Ｘ）の入力を受け付ける。より詳細には、ユーザがスタイラスペン１２０などをタッチパネル１０２に接触させると、第１の携帯電話１００Ａは第１の入力サンプリングレートで接触位置を順次検知する。すなわち、第１の携帯電話１００Ａは第１の入力サンプリング間隔毎に接触位置を順次検知する。第１の携帯電話１００Ａは、接触位置の推移を示す一連のデータ（ｘ１１，ｙ１１）（ｘ１２，ｙ１２）（ｘ１３，ｙ１３）（ｘ１４，ｙ１４）（ｘ１５，ｙ１６）をコンテンツデータ（位置情報）として取得する。第１の携帯電話１００Ａは、第１の入力サンプリングレートのコンテンツデータ（第１のコンテンツデータ）をサーバ４００Ａに送信する（ステップＳ０２２）。
【００４４】
同様に、第２の携帯電話１００Ｂが、タッチパネル１０２を介して、ユーザから手書き画像（図３において１０７Ｙ）の入力を受け付ける。より詳細には、ユーザがスタイラスペン１２０などをタッチパネル１０２に接触させると、第２の携帯電話１００Ｂは第２の入力サンプリングレートで接触位置を順次検知する。すなわち、第２の携帯電話１００Ｂは第２の入力サンプリング間隔毎に接触位置を順次検知する。第２の携帯電話１００Ｂは、接触位置の推移を示す一連のデータ（ｘ２１，ｙ２１）（ｘ２３，ｙ２３）（ｘ２５，ｙ２５）をコンテンツデータとして取得する。第２の携帯電話１００Ｂは、第２の入力サンプリングレートのコンテンツデータ（第２のコンテンツデータ）をサーバ４００Ａに送信する（ステップＳ０２４）。
【００４５】
基準サンプリングレートと第２の入力サンプリングレートとの差が所定値未満であるので、サーバ４００Ａは、第２の携帯電話１００Ｂからの第２の入力サンプリングレートの第２のコンテンツデータを、そのまま、第１の携帯電話１００Ａへと送信する（ステップＳ０２６）。第１の携帯電話１００Ａは、第２の入力サンプリングレートの第２のコンテンツデータをディスプレイ１０７に表示する（図３において１０７Ｙ）。
【００４６】
サーバ４００Ａは、第１の携帯電話１００Ａからの第１の入力サンプリングレートの第１のコンテンツデータを、そのまま、第２の携帯電話１００Ｂへと送信する（ステップＳ０２８）。第２の携帯電話１００Ｂは、第１の入力サンプリングレートの第１のコンテンツデータをディスプレイ１０７に表示する（図３において１０７Ｘ）。
【００４７】
次に、基準サンプリングレートと第２の入力サンプリングレートとの差が所定値以上である場合について説明する。
【００４８】
上記と同様に、第１の携帯電話１００Ａが、タッチパネル１０２を介して、ユーザから手書き画像（図３において１０７Ｘ）の入力を受け付ける。第１の携帯電話１００Ａは、接触位置の推移を示す一連のデータ（ｘ１１，ｙ１１）（ｘ１２，ｙ１２）（ｘ１３，ｙ１３）（ｘ１４，ｙ１４）（ｘ１５，ｙ１６）をコンテンツデータとして取得する。第１の携帯電話１００Ａは、第１の入力サンプリングレートのコンテンツデータ（第１のコンテンツデータ）をサーバ４００Ａに送信する（ステップＳ０３２）。
【００４９】
同様に、第２の携帯電話１００Ｂが、タッチパネル１０２を介して、ユーザから手書き画像（図３において１０７Ｙ）の入力を受け付ける。第２の携帯電話１００Ｂは、接触位置の推移を示す一連のデータ（ｘ２１，ｙ２１）（ｘ２３，ｙ２３）（ｘ２５，ｙ２５）をコンテンツデータとして取得する。第２の携帯電話１００Ｂは、第２の入力サンプリングレートのコンテンツデータ（第２のコンテンツデータ）をサーバ４００Ａに送信する（ステップＳ０３４）。
【００５０】
基準サンプリングレートと第２の入力サンプリングレートとの差が所定値以上であるので、図３に示すように、サーバ４００Ａは、第１の携帯電話１００Ａからの第１の入力サンプリングレートの第１のコンテンツデータを、第２の入力サンプリングレートまでダウンサンプリングする。すなわち、サーバ４００Ａは、接触位置の推移を示す一連のデータ（ｘ１１，ｙ１１）（ｘ１２，ｙ１２）（ｘ１３，ｙ１３）（ｘ１４，ｙ１４）（ｘ１５，ｙ１６）から、データ（ｘ１２，ｙ１２）（ｘ１４，ｙ１４）を削除することによって、データを間引きする（ステップＳ０３６）。
【００５１】
一方、サーバ４００Ａは、第２の携帯電話１００Ｂからの第２の入力サンプリングレートの第２のコンテンツデータを、第１の入力サンプリングレートまでアップサンプリングする。すなわち、サーバ４００Ａは、接触位置の推移を示す一連のデータ（ｘ２１，ｙ２１）（ｘ２３，ｙ２３）（ｘ２５，ｙ２５）に基づいて、データ（ｘ２２，ｙ２２）（ｘ２４，ｙ２４）を生成することによって、データを補完する（ステップＳ０３６）。
【００５２】
サーバ４００Ａは、アップサンプリングされたコンテンツデータを第１の携帯電話１００Ａに送信する（ステップＳ０３８）。第１の携帯電話１００Ａは、アップサンプリングされた第１の入力サンプリングレートの第２のコンテンツデータをディスプレイ１０７に表示する（図３において１０７Ｙ）。
【００５３】
サーバ４００Ａは、ダウンサンプリングされたコンテンツデータを第２の携帯電話１００Ｂに送信する（ステップＳ０４０）。第２の携帯電話１００Ｂは、ダウンサンプリングされた第２の入力サンプリングレートの第１のコンテンツデータをディスプレイ１０７に表示する（図３において１０７Ｘ）。
【００５４】
第１の携帯電話１００Ａが、サーバ４００Ａにサーバ／クライアント通信を切断する旨のメッセージを送信すると（ステップＳ０４２）、サーバ４００Ａは、第１の携帯電話１００Ａに切断する要求を受け付けた旨のメッセージを送信する（ステップＳ０４４）。
【００５５】
このように、本実施の形態に係るネットワークシステム１においては、サーバ４００Ａが、受信側の通信端末の入力サンプリングレートに基づいて、コンテンツデータに含まれるデータを削除（ダウンサンプリング）したり、生成（アップサンプリング）したりする。その結果、受信側の通信端末が、送信側の通信端末が送信したコンテンツデータを表示し易くなる。また、能力が比較的低い受信側の通信端末が、能力が比較的高い送信側の通信端末からのコンテンツデータを、処理速度を低減させることなく、表示し易くなる。
【００５６】
以下、このような機能を実現するためのネットワークシステム１の構成について詳述する。
【００５７】
＜携帯電話１００のハードウェア構成＞
本実施の形態に係る携帯電話１００のハードウェア構成について説明する。図４は、本施の形態に係る携帯電話１００の外観を示すイメージ図である。図５は、本施の形態に係る携帯電話１００のハードウェア構成を示すブロック図である。
【００５８】
図４および図５に示すように、本実施の形態に係る携帯電話１００は、外部のネットワークとの間でデータを送受信する通信デバイス１０１と、プログラムや各種データベースを記憶するメモリ１０３と、ＣＰＵ（Central  Processing  Unit）１０６と、ディスプレイ１０７と、外部音声が入力されるマイク１０８と、音声を出力するスピーカ１０９と、各種情報の入力を受け付ける各種ボタン１１０と、外部からの通信データや通話信号を受信した旨の音声を出力する第１の通知部１１１と、外部からの通信データや通話信号を受信した旨を表示する第２の通知部１１２とを含む。
【００５９】
本実施の形態に係るディスプレイ１０７は、液晶パネルやＣＲＴから構成されるタッチパネル１０２を実現する。すなわち、本実施の形態に係る携帯電話１００は、ディスプレイ１０７の上側（表側）にペンタブレット１０４が敷設されている。これによって、ユーザはスタイラスペン１２０などを用いることによって、ペンタブレット１０４を介して、図形情報などをＣＰＵ１０６に手書き入力することができる。ディスプレイ１０７（タッチパネル１０２）は、ＣＰＵ１０６が出力したデータに基づいて、画像やテキストを表示する。
【００６０】
各種ボタン１１０は、キー入力操作などによってユーザから情報を受け付ける。たとえば、各種ボタン１１０は、通話を受け付けたり、通話を発したりするためのＴＥＬボタン１１０Ａと、メールを受け付けたり、メールを発したりするためのメールボタン１１０Ｂと、Ｐ２Ｐ通信を受け付けたり、Ｐ２Ｐ通信を発したりするためのＰ２Ｐボタン１１０Ｃと、アドレス帳データを呼び出すアドレス帳ボタン１１０Ｄと、各種の処理を終了させるための終了ボタン１１０Ｅとを含む。すなわち、各種ボタン１１０は、通信デバイス１０１を介してＰ２Ｐ参加要請メールを受信したときに、ユーザから、チャットルームへ参加する命令や、メールの内容を表示させる命令などを選択可能に受け付ける。
【００６１】
第１の通知部１１１は、スピーカ１０９などを介して着信音を出力する。あるいは、第１の通知部１１１は、バイブレーション機能を有する。第１の通知部１１１は、着呼した際や、メールを受信した際や、Ｐ２Ｐ参加要請メールを受信した際に、音声を出力したり、携帯電話１００を振動させたりする。
【００６２】
第２の通知部１１２は、着信したときに点滅するＴＥＬ用ＬＥＤ（Light  Emitting  Diode）１１２Ａと、メールを受信したときに点滅するメール用ＬＥＤ１１２Ｂと、Ｐ２Ｐ通信を受信したときに点滅するＰ２Ｐ用ＬＥＤ１１２Ｃを含む。
【００６３】
ＣＰＵ１０６は、携帯電話１００の各部を制御する。たとえば、各種ボタン１１０を介してユーザから各種命令を受け付けて、通信デバイス１０１や通信デバイス１０１やネットワークを介して外部の通信端末とデータの送受信を行う。
【００６４】
通信デバイス１０１および通信デバイス１０１は、ＣＰＵ１０６からの通信データを通信信号に変換し、その通信信号を図示しないアンテナを介して発信する。通信デバイス１０１および通信デバイス１０１は、アンテナを介して受信した通信信号を通信データに変換し、その通信データをＣＰＵ１０６に入力する。
【００６５】
メモリ１０３は、作業用メモリとして機能するＲＡＭ（Random  Access  Memory）や、制御プログラムなどを格納するＲＯＭ（Read  Only  Memory）などによって実現される。メモリ１０３は、コンテンツデータ（たとえば、手書き画像データや背景画像データなど）を記憶する。
【００６６】
図６は、本実施の形態に係る携帯電話１００のメモリ１０３に記憶されるコンテンツデータ１０３０を示すイメージ図である。図６を参照して、メモリ１０３は、処理速度情報１０３１と、基準処理速度情報１０３２と、位置情報１０３３と、ペン情報１０３４と、端末情報１０３５とを格納する。
【００６７】
処理速度情報１０３１は、サンプリング間隔（ｓ＿ｔｉｍｅ）１０３１（サンプリングレート）として、スタイラスペン１２０あるいは指などのタッチパネル１０２に対する接触位置の検出間隔を含む。たとえば、携帯電話１００のＣＰＵ１０６は、通常の作業時などに予めサンプリング間隔を取得して、当該サンプリング間隔をメモリ１０３に記憶しておく。あるいは、携帯電話１００のＣＰＵ１０６は、通信開始前あるいは通信開始直後にユーザに手書き操作を促すことによって、タッチパネル１０２を介してサンプリング間隔を取得して、当該サンプリング間隔をメモリ１０３に記憶しておく。あるいは、携帯電話１００のＣＰＵ１０６は、通信開始後に所定時間毎にサンプリング間隔を取得して、メモリ１０３のサンプリング間隔を更新する。
【００６８】
基準処理速度情報１０３２は、基準サンプリング間隔（ＳＴ）１０３２（基準サンプリングレート）として、通信中の（同一のチャットルームを用いて通信中の）通信端末のサンプリング間隔のうちの最も短いサンプリング間隔（最も高いサンプリングレート）を含む。
【００６９】
位置情報１０３３は、スタイラスペン１２０あるいは指などのタッチパネル１０２に対する接触位置を示す位置情報（ｘ，ｙ）を含む。位置情報１０３３は、ペンがタッチパネル１０２に接触しているか接触していないか、あるいはドラッグ中であるか否かなどを示す、ペン状態（ｓ）を含む。
【００７０】
ペン情報１０３４は、現在選択されているペンの種類（ｎ）、たとえば、通常のペン、消しゴム、レインボーペンなどの指定を含む。ペン情報１０３４は、ペンの属性（ｏ）、たとえば、ペンの太さ、色などの指定を含む。
【００７１】
端末情報１０３５は、ＩＰアドレス（ｉｐ）や、機種情報（ｍａｓｈｉｎｅ）や、ＯＳ情報（ｏｓ）や、アプリ情報（ａｐｐｌｉ）などを含む。「ｉｐ」は、通信端末のＩＰアドレスを示す。「ｍａｓｈｉｎｅ」は、通信端末の機種名や種別などを示す。「ｏｓ」は、通信端末で使用されているｏｓのバージョンを示す。「ａｐｐｌｉ」は、現在使用されているアプリケーションプログラムのバージョンなどを含む。
【００７２】
本実施の形態に係る携帯電話１００の各々は、図６に示すコンテンツデータを利用することによって、前述したような方法で（図１〜図３を参照。）、他の通信端末との間でコンテンツデータを送受信したり、コンテンツデータに基づいてディスプレイ１０７にコンテンツを表示したりすることができる。
【００７３】
＜サーバ４００Ａのハードウェア構成＞
次に、本実施の形態に係るサーバ４００Ａのハードウェア構成について説明する。以下では、まず、サーバ４００Ａのハードウェア構成について説明する。
【００７４】
図７は、本実施の形態に係るサーバ４００Ａのハードウェア構成を示すブロック図である。図７を参照して、本実施の形態に係るサーバ４００Ａは、相互に内部バス４０８で接続されたＣＰＵ４０５と、メモリ４０６と、固定ディスク４０７と、サーバ通信デバイス４０９とを含む。
【００７５】
メモリ４０６は、各種の情報を記憶するものであって、たとえば、ＣＰＵ４０５でのプログラムの実行に必要なデータを一時的に記憶する。固定ディスク４０７は、ＣＰＵ４０５が実行するプログラムやデータベースを記憶する。ＣＰＵ４０５は、サーバ４００Ａの各要素を制御するものであって、各種の演算を実施する装置である。
【００７６】
サーバ通信デバイス４０９は、ＣＰＵ４０５が出力したデータを電気信号へと変換して外部へ送信し、外部から受信した電気信号をデータに変換してＣＰＵ４０５に入力する。具体的には、サーバ通信デバイス４０９は、ＣＰＵ４０５からのデータを、インターネット網５００やキャリア網７００などを介して他の携帯電話１００やカーナビゲーション装置２００やパーソナルコンピュータ３００に送信する。そして、インターネット網５００やキャリア網７００を介して他の携帯電話１００やカーナビゲーション装置２００やパーソナルコンピュータ３００から受信したデータを、ＣＰＵ４０５に入力する。
【００７７】
ここで、メモリ４０６あるいは固定ディスク４０７に記憶されるデータについて説明する。図８は、本実施の形態に係るサーバ４００Ａのメモリ４０６あるいは固定ディスク４０７に記憶されるルーム管理テーブル４０６Ａのデータの推移を示すイメージ図である。
【００７８】
図８に示すように、ルーム管理テーブル４０６Ａは、ルーム名とＩＰアドレスとを対応付けて格納する。たとえば、ある時点においては、図８の上部に示すように、サーバ４００Ａにルーム名Ｒを有するチャットルーム、ルーム名Ｓを有するチャットルーム、ルーム名Ｔを有するチャットルームが生成されている。そして、ルーム名Ｒを有するチャットルームには、ＡというＩＰアドレスを有する通信端末と、ＣというＩＰアドレスを有する通信端末が入室している。ルーム名Ｓを有するチャットルームには、ＢというＩＰアドレスを有する通信端末が入室している。ルーム名Ｔを有するチャットルームには、ＤというＩＰアドレスを有する通信端末が入室している。
【００７９】
後述するように、ルーム名Ｒは、ＣＰＵ４０６が、ＡというＩＰアドレスを有する通信端末のメールアドレスとＢというＩＰアドレスを有する通信端末のメールアドレスに基づいて決定する。図８の上部に示す状態において、ルーム名Ｓを有するチャットルームに新たにＥというＩＰアドレスを有する通信端末が入室すると、図８の下部に示すように、ルーム管理テーブル４０６Ａはルーム名ＳとＩＰアドレスＥとを対応付けて格納する。
【００８０】
具体的には、サーバ４００Ａにおいては、第１の携帯電話１００Ａが新たなチャットルームの生成を要求してきた際（図２におけるステップＳ００２）に、ＣＰＵ４０５が、第１の携帯電話１００Ａのメールアドレスと第２の携帯電話１００Ｂのメールアドレスとに基づいてルーム名を生成した上で、ルーム管理テーブル４０６Ａに当該ルーム名と第１の携帯電話１００ＡのＩＰアドレスとを対応付けて格納する（図２におけるステップＳ００４）。
【００８１】
そして、第２の携帯電話１００Ｂがサーバ４００Ａにチャットルームへの参加を要求してきた際（図２におけるステップＳ００６）に、ＣＰＵ４０５が、ルーム管理テーブル４０６Ａに当該ルーム名と第２の携帯電話１００ＢのＩＰアドレスとを対応付けて格納する（図２におけるステップＳ００８）。ＣＰＵ４０６は、ルーム管理テーブル４０６Ａから、当該ルーム名に対応する第１の携帯電話１００ＡのＩＰアドレスを読み出す。ＣＰＵ４０６は、第１の携帯電話１００ＡのＩＰアドレスを第２の各通信端末に送信し、第２の携帯電話１００ＢのＩＰアドレスを第１の携帯電話１００Ａに送信する。
【００８２】
図９は、本実施の形態に係るサーバ４００Ａのメモリ４０６に記憶されるコンテンツデータ４０６０を示すイメージ図である。図９を参照して、メモリ４０６は、コンテンツデータ４０６０として、端末ＩＰアドレス４０６１と、受信バッファ４０６２と、ＳＴ情報４０６３と、処理速度情報４０６４と、送信バッファ４０６５と、中間バッファ４０６６とを格納する。
【００８３】
端末ＩＰアドレス４０６１は、同一のチャットルームを用いて通信中の各通信端末のＩＰアドレスを含む。サーバ４００ＡのＣＰＵ４０５は、通信端末がチャットルームに参加するときに、当該通信端末のＩＰアドレスを当該チャットルームに対応付けて格納する。
【００８４】
受信バッファ４０６２は、サーバ４００Ａが受信したデータを、当該データの送信元を特定するための情報（たとえば、ＩＰアドレスなど）に対応付けて格納する。たとえば、サーバ４００Ａは、通信端末の各々から入力サンプリング間隔を受信して、当該入力サンプリング間隔を送信元のＩＰアドレスに対応付けてメモリ４０６に格納する。たとえば、サーバ４００Ａは、通信端末の各々からペン情報を受信して、当該ペン情報を送信元のＩＰアドレスに対応付けてメモリ４０６に格納する。
【００８５】
ＳＴ情報４０６３は、基準サンプリング間隔を格納する。サーバ４００Ａは、同一のチャットルームを用いて通信中の複数の通信端末から入力サンプリング間隔を受信して、最も短い入力サンプリング間隔を基準サンプリング間隔として対応する通信端末のＩＰアドレスに対応付けてメモリ４０６に格納する。
【００８６】
処理速度情報４０６４は、同一のチャットルームを用いて通信中の複数の通信端末の入力サンプリング間隔を格納する。サーバ４００Ａは、同一のチャットルームを用いて通信中の複数の通信端末から入力サンプリング間隔を受信して、当該入力サンプリング間隔を通信端末に対応付けてメモリ４０６に格納する。
【００８７】
送信バッファ４０６５は、サーバ４００Ａが送信すべきデータを、当該データの送信先を特定するための情報（たとえば、ＩＰアドレスなど）に対応付けて格納する。たとえば、サーバ４００Ａは、第１の携帯電話１００Ａから受信したペン情報を第２の携帯電話１００ＢのＩＰアドレスに対応付けてメモリ４０６に格納する。たとえば、サーバ４００Ａは、第１の携帯電話１００Ａから位置情報を受信して、当該位置情報を第２の携帯電話１００ＢのＩＰアドレスに対応付けてメモリ４０６に格納する。
【００８８】
中間バッファ４０６６は、補完後の受信データ（位置情報）あるいは間引き前の送信データを格納する。たとえば、サーバ４００Ａは、第２の携帯電話１００Ｂ（基準サンプリング間隔よりも長い入力サンプリング間隔を有する。）から受信した位置情報に基づいて補完された受信データをメモリ４０６に格納する。サーバ４００Ａは、第１の携帯電話１００Ｂ（基準サンプリング間隔と同じ入力サンプリング間隔を有する。）から受信した位置情報を受信データとしてメモリ４０６に格納する。
【００８９】
＜携帯電話１００における通信開始前処理＞
次に、本実施の形態に係る携帯電話１００における通信開始前処理について説明する。図１０は、本実施の形態に係る携帯電話１００における通信開始前処理の処理手順を示すフローチャートである。
【００９０】
図１０を参照して、携帯電話１００のＣＰＵ１０６は、前述の方法に基づいて、サンプリング間隔を取得する（ステップＳ１０２）。ＣＰＵ１０６は、メモリ１０３にｓ＿ｔｉｍｅが存在するか否かを判断する（ステップＳ１０４）。ＣＰＵ１０６は、メモリ１０３にｓ＿ｔｉｍｅが存在する場合（ステップＳ１０４にてＹＥＳである場合）、今回取得したサンプリング間隔に基づいて、サンプリング間隔の平均を計算する（ステップＳ１０６）。ＣＰＵ１０６は、当該平均をｓ＿ｔｉｍｅとしてメモリに保存する（ステップＳ１０８）。ＣＰＵ１０６は、ステップＳ１０２からの処理を繰り返す。
【００９１】
ＣＰＵ１０６は、メモリ１０３にｓ＿ｔｉｍｅが存在しない場合（ステップＳ１０４にてＮＯである場合）、今回取得したサンプリング間隔をｓ＿ｔｉｍｅとしてメモリ１０３に保存する（ステップＳ１０８）。
【００９２】
＜携帯電話１００における通信開始後処理＞
次に、本実施の形態に係る携帯電話１００における通信開始後処理について説明する。図１１は、本実施の形態に係る携帯電話１００における通信開始後処理の処理手順を示すフローチャートである。
【００９３】
図１１を参照して、携帯電話１００のＣＰＵ１０６は、通信開始前のｓ＿ｔｉｍｅをｂ＿ｓ＿ｔｉｍｅとしてメモリ１０３に保存する（ステップＳ２０２）。ＣＰＵ１０６は、新たなサンプリング間隔を取得する（ステップＳ２０４）。
【００９４】
ＣＰＵ１０６は、取得したサンプリング間隔がｂ＿ｓ＿ｔｉｍｅと大きく異なるか否かを判断する（ステップＳ２０６）。たとえば、ＣＰＵ１０６は、サンプリング間隔がｂ＿ｓ＿ｔｉｍｅの２倍よりも大きいか、またはサンプリング間隔がｂ＿ｓ＿ｔｉｍｅの１／２よりも小さいかを判断する。取得したサンプリング間隔がｂ＿ｓ＿ｔｉｍｅと大きく異ならない場合（ステップＳ２０６にてＮＯである場合）、ＣＰＵ１０６は、ステップＳ２０４からの処理を繰り返す。
【００９５】
取得したサンプリング間隔がｂ＿ｓ＿ｔｉｍｅと大きく異なる場合（ステップＳ２０６にてＹＥＳである場合）、ＣＰＵ１０６は、取得したサンプリング間隔に基づいて、サンプリング間隔の平均を計算する（ステップＳ２０８）。ＣＰＵ１０６は、サンプリング間隔の平均を、ｓ＿ｔｉｍｅとしてメモリ１０３に保存する（ステップＳ２１０）。ＣＰＵ１０６は、ステップＳ２０４からの処理を繰り返す。
【００９６】
＜携帯電話１００における手書き入力処理＞
次に、本実施の形態に係る携帯電話１００における手書き入力処理について説明する。図１２は、本実施の形態に係る携帯電話１００における手書き入力処理の処理手順を示すフローチャートである。
【００９７】
図１２を参照して、携帯電話１００のＣＰＵ１０６は、タッチパネル１０２を介して、ユーザからのペン情報の変更命令を受け付けたか否かを判断する（ステップＳ３０２）。ＣＰＵ１０６は、タッチパネル１０２を介してユーザからのペン情報の変更命令を受け付けなかった場合（ステップＳ３０２にてＮＯである場合）、ステップＳ３０６からの処理を実行する。
【００９８】
ＣＰＵ１０６は、タッチパネル１０２を介して、ユーザからのペン情報の変更命令を受け付けた場合（ステップＳ３０２にてＹＥＳである場合）、通信デバイス１０１を用いて、変更後のペン情報をサーバ４００Ａへと送信する（ステップＳ３０４）。
【００９９】
ＣＰＵ１０６は、タッチパネル１０２を介して、スタイラスペン１２０がタッチパネル１０２に接触したか否かを判断する（ステップＳ３０８）。ＣＰＵ１０６は、スタイラスペン１２０がタッチパネル１０２に接触しなかった場合（ステップＳ３０８にてＮＯである場合）、ステップＳ３０２からの処理を繰り返す。
【０１００】
ＣＰＵ１０６は、スタイラスペン１２０がタッチパネル１０２に接触した場合（ステップＳ３０８にてＹＥＳである場合）、通信デバイス１０１を用いて、ペン状態（ペンダウン）とスタイラスペン１２０のタッチパネル１０２に対する接触位置を示す位置情報（ｘ，ｙ）とをサーバ４００Ａへと送信する（ステップＳ３１０）。ＣＰＵ１０６は、サンプリング情報（サンプリング間隔）を取得する（ステップＳ３１２）。
【０１０１】
ＣＰＵ１０６は、タッチパネル１０２を介して、スタイラスペン１２０がタッチパネル１０２から離れたか否かを判断する（ステップＳ３１４）。ＣＰＵ１０６は、スタイラスペン１２０がタッチパネル１０２から離れた場合（ステップＳ３１４にてＹＥＳである場合）、通信デバイス１０１を用いて、ペン状態（ペンアップ）とスタイラスペン１２０のタッチパネル１０２に対する接触位置を示す位置情報（ｘ，ｙ）とをサーバ４００Ａへと送信する（ステップＳ３１６）。ＣＰＵ１０６は、ステップＳ３０２からの処理を繰り返す。
【０１０２】
ＣＰＵ１０６は、スタイラスペン１２０がタッチパネル１０２から離れていない（すなわち、スタイラスペン１２０がタッチパネル１０２と接触している）場合（ステップＳ３１４にてＮＯである場合）、通信デバイス１０１を用いて、ペン状態（ドラッグ）とスタイラスペン１２０のタッチパネル１０２に対する接触位置を示す位置情報（ｘ，ｙ）とをサーバ４００Ａへと送信する。ＣＰＵ１０６は、ステップＳ３１２からの処理を繰り返す。
【０１０３】
＜携帯電話１００における描画処理＞
次に、本実施の形態に係る携帯電話１００における描画処理について説明する。図１３は、本実施の形態に係る携帯電話１００における描画処理の処理手順を示すフローチャートである。
【０１０４】
図１３を参照して、携帯電話１００のＣＰＵ１０６は、通信デバイス１０１を介してサーバ４００Ａからデータを受信したか否かを判断する（ステップＳ４０２）。ＣＰＵ１０６は、データを受信していないと判断した場合（ステップＳ４０２にてＮＯである場合）、ステップＳ４０２の処理を繰り返す。
【０１０５】
ＣＰＵ１０６は、データを受信したと判断した場合（ステップＳ４０２にてＹＥＳである場合）、受信したデータにペン情報が含まれるか否かを判断する（ステップＳ４０４）。ＣＰＵ１０６は、受信したデータにペン情報が含まれる場合（ステップＳ４０４にてＹＥＳである場合）、描画用のペン情報を受信したペン情報に変更し（ステップＳ４０６）、ステップＳ４０２からの処理を繰り返す。
【０１０６】
ＣＰＵ１０６は、受信したデータにペン情報が含まれない場合（ステップＳ４０４にてＮＯである場合）、受信したデータに位置情報が含まれるか否かを判断する（ステップＳ４０８）。ＣＰＵ１０６は、受信したデータに位置情報が含まれない場合（ステップＳ４０８にてＮＯである場合）、その他の受信したデータに応じた処理を実行する（ステップＳ４１０）。ＣＰＵ１０６は、ステップＳ４０２からの処理を繰り返す。
【０１０７】
ＣＰＵ１０６は、受信したデータに位置情報が含まれる場合（ステップＳ４０８にてＹＥＳである場合）、ペン状態がペンダウンであるか否かを判断する（ステップＳ４１２）。ＣＰＵ１０６は、ペン状態がペンダウンでない場合（ステップＳ４１２にてＮＯである場合）、ディスプレイ１０７を用いて、（ｘ１，ｙ１）に対応する位置と今回受信した位置情報（ｘ，ｙ）に対応する位置との間に、ペン情報（ペン種類、ペン属性）に基づいて描画する（ステップＳ４１４）。ＣＰＵ１０６は、ステップＳ４０２からの処理を繰り返す。
【０１０８】
ペン状態がペンダウンである場合（ステップＳ４１２にてＹＥＳである場合）、ＣＰＵ１０６は、ディスプレイ１０７を用いて、今回受信した位置情報（ｘ，ｙ）に対応する位置に、ペン情報（ペン種類、ペン属性）に基づいて描画する（ステップＳ４１６）。ＣＰＵ１０６は、位置情報（ｘ，ｙ）をメモリ１０３の（ｘ１，ｙ１）に格納する。
【０１０９】
＜サーバ４００Ａにおける受信処理＞
次に、本実施の形態に係るサーバ４００Ａにおける受信処理について説明する。図１４は、本実施の形態に係るサーバ４００Ａにおける受信処理の処理手順を示すフローチャートである。
【０１１０】
図１４を参照して、サーバ４００ＡのＣＰＵ４０５は、受信バッファ４０６２からデータを取り出す（ステップＳ５０２）。ＣＰＵ４０５は、受信データに処理速度情報が含まれているか否かを判断する（ステップＳ５０４）。ＣＰＵ４０５は、受信データに処理速度情報が含まれている場合（ステップＳ５０４にてＹＥＳである場合）、処理速度情報処理（ステップＳ６００）を実行する。処理速度情報処理（ステップＳ６００）については後述する。ＣＰＵ４０５は、受信処理を終了する。
【０１１１】
ＣＰＵ４０５は、受信データに処理速度情報が含まれていない場合（ステップＳ５０４にてＮＯである場合）、受信データにペン情報が含まれているか否かを判断する（ステップＳ５０６）。ＣＰＵ４０５は、受信データにペン情報が含まれている場合（ステップＳ５０６にてＹＥＳである場合）、ペン情報処理（ステップＳ７００）を実行する。ペン情報処理（ステップＳ７００）については後述する。ＣＰＵ４０５は、受信処理を終了する。
【０１１２】
ＣＰＵ４０５は、受信データにペン情報が含まれていない場合（ステップＳ５０６にてＮＯである場合）、受信データに位置情報が含まれているか否かを判断する（ステップＳ５０８）。ＣＰＵ４０５は、受信データに位置情報が含まれている場合（ステップＳ５０８にてＹＥＳである場合）、位置情報受信処理（ステップＳ８００）を実行する。位置情報受信処理（ステップＳ８００）については後述する。ＣＰＵ４０５は、受信処理を終了する。
【０１１３】
ＣＰＵ４０５は、受信データに位置情報が含まれていない場合（ステップＳ５０８にてＮＯである場合）、その他の受信データに応じた処理を実行する（ステップＳ５１０）。ＣＰＵ４０５は、受信処理を終了する。
【０１１４】
＜サーバ４００Ａにおける処理速度情報処理＞
次に、本実施の形態に係るサーバ４００Ａにおける処理速度情報処理について説明する。図１５は、本実施の形態に係るサーバ４００Ａにおける処理速度情報処理の処理手順を示すフローチャートである。
【０１１５】
図１５を参照して、サーバ４００ＡのＣＰＵ４０５は、メモリ４０６を参照して、基準サンプリング間隔ＳＴが設定されているか否かを判断する（ステップＳ６０２）。ＣＰＵ４０５は、メモリ４０６において基準サンプリング間隔ＳＴが設定されている場合（ステップＳ６０２にてＹＥＳである場合）、ステップＳ６０６からの処理を実行する。
【０１１６】
ＣＰＵ４０５は、基準サンプリング間隔ＳＴが設定されていない場合（ステップＳ６０２にてＮＯである場合）、基準サンプリング間隔ＳＴが受信データ（入力サンプリング間隔）よりも大きいか否かを判断する（ステップＳ６０４）。ＣＰＵ４０５は、基準サンプリング間隔が受信データ（入力サンプリング間隔）よりも大きい場合（ステップＳ６０４にてＹＥＳである場合）、ＳＴ情報４０６３を更新する（ステップＳ６０６）。より詳細には、ＣＰＵ４０５は、受信データ（入力サンプリング間隔）をメモリ４０６のＳＴ情報４０６３のＳＴに代入し、送信元のＩＰアドレスをメモリ４０６のＳＴ情報４０６３のＩＰアドレスに代入する。
【０１１７】
基準サンプリング間隔ＳＴが受信データ（入力サンプリング間隔）以下である場合（ステップＳ６０４にてＮＯである場合）、処理速度情報を更新する（ステップＳ６０８）。より詳細には、ＣＰＵ４０５は、受信データ（入力サンプリング間隔）をメモリ４０６の処理速度情報４０６４のｓ＿ｔｉｍｅに代入する。ＣＰＵ４０５は、送信元ＩＰアドレスをメモリ４０６の処理速度情報４０６４のＩＰアドレスに代入する。ＣＰＵ４０５は、処理速度情報処理を終了する。ＣＰＵ４０５は、ステップＳ６０２からの処理を実行する。
【０１１８】
＜サーバ４００Ａにおけるペン情報処理＞
次に、本実施の形態に係るサーバ４００Ａにおけるペン情報処理について説明する。図１６は、本実施の形態に係るサーバ４００Ａにおけるペン情報処理の処理手順を示すフローチャートである。
【０１１９】
図１６を参照して、サーバ４００ＡのＣＰＵ４０５は、メモリ４０６の端末ＩＰアドレス４０６１からＩＰアドレスを取得する（ステップＳ７０２）。ＣＰＵ４０５は取得したＩＰアドレスが送信元のＩＰアドレスと同じであるか否かを判断する（ステップＳ７０４）。ＣＰＵ４０５は、取得したＩＰアドレスが送信元ＩＰアドレスと同じである場合（ステップＳ７０４にてＹＥＳである場合）、ステップＳ７０８からの処理を実行する。
【０１２０】
ＣＰＵ４０５は、取得したＩＰアドレスが送信元ＩＰアドレスと異なる場合（ステップＳ７０４にてＮＯである場合）、メモリ４０６の送信バッファ４０６５にデータを書込む（ステップＳ７０６）。より詳細には、ＣＰＵ４０５は、取得したＩＰアドレスをメモリ４０６の送信バッファ４０６５の送信先ＩＰアドレスに代入する。ＣＰＵ４０５は、受信データを、メモリ４０６の送信バッファ４０６５の送信データに代入する。
【０１２１】
ＣＰＵ４０５は、端末ＩＰアドレス４０６１に次のデータ（ＩＰアドレス）が存在するか否かを判断する（ステップＳ７０８）。ＣＰＵ４０５は、端末ＩＰアドレス４０６１に次のデータ（ＩＰアドレス）が存在する場合（ステップＳ７０８にてＹＥＳである場合）、ステップＳ７０２からの処理を繰り返す。
【０１２２】
ＣＰＵ４０５は、端末ＩＰアドレス４０６１に次のデータ（ＩＰアドレス）が存在しない場合（ステップＳ７０８にてＮＯである場合）、ペン情報処理を終了する。
【０１２３】
＜サーバ４００Ａにおける位置情報受信処理＞
次に、本実施の形態に係るサーバ４００Ａにおける位置情報受信処理について説明する。図１７は、本実施の形態に係るサーバ４００Ａにおける位置情報受信処理の処理手順を示すフローチャートである。
【０１２４】
図１７を参照して、サーバ４００ＡのＣＰＵ４０５は、基準サンプリング間隔ＳＴが送信元ＩＰアドレスに対応するｓ＿ｔｉｍｅ以下であるか否かを判断する（ステップＳ８０２）。ＣＰＵ４０５は、基準サンプリング間隔ＳＴが送信元ＩＰアドレスに対応するｓ＿ｔｉｍｅ以下である場合（ステップＳ８０２にてＹＥＳである場合）、メモリ４０６の中間バッファ４０６６にデータを書込む（ステップＳ８０４）。より詳細には、ＣＰＵ４０５は、送信元のＩＰアドレスをメモリ４０６の中間バッファ４０６６の送信元ＩＰアドレスに代入する。ＣＰＵ４０５は、受信データをメモリ４０６の中間バッファ４０６６の位置情報に代入する。ＣＰＵ４０５は、位置情報受信処理を終了する。
【０１２５】
ＣＰＵ４０５は、基準サンプリング間隔ＳＴが送信元ＩＰアドレスに対応するｓ＿ｔｉｍｅよりも大きい場合（ステップＳ８０２にてＮＯである場合）、基準サンプリング間隔ＳＴの送信元携帯電話に対応するｓ＿ｔｉｍｅに対する割合が所定値（たとえば２倍）以上であるか否かを判断する（ステップＳ８０６）。ＣＰＵ４０５は、基準サンプリング間隔ＳＴが送信元の携帯電話１００に対応するｓ＿ｔｉｍｅの２倍以上である場合（ステップＳ８０６にてＹＥＳである場合）、補完処理を行ない位置情報を増加させる（ステップＳ８０８）。
【０１２６】
ＣＰＵ４０５は、メモリ４０６の中間バッファ４０６６に補完データを書込む（ステップＳ８１０）。より詳細には、ＣＰＵ４０５は送信元のＩＰアドレスをメモリ４０６の中間バッファ４０６６の送信元ＩＰアドレスに代入する。ＣＰＵ４０５は、生成した補完データと受信データとをメモリ４０６の中間バッファ４０６６の位置情報に代入する。ＣＰＵ４０５は、位置情報受信処理を終了する。
【０１２７】
ＣＰＵ４０５は、基準サンプリング間隔ＳＴが送信元の携帯電話１００に対応するｓ＿ｔｉｍｅの２倍以上でない場合（ステップＳ８０６にてＮＯである場合）、メモリ４０６の中間バッファ４０６６にデータを書込む（ステップＳ８１２）。より詳細には、ＣＰＵ４０５は、送信元のＩＰアドレスをメモリ４０６の中間バッファ４０６６の送信元ＩＰアドレスに代入する。ＣＰＵ４０５は、受信データをメモリ４０６の中間バッファ４０６６の位置情報に代入する。ＣＰＵ４０５は、位置情報受信処理を終了する。
【０１２８】
＜サーバ４００Ａにおける中間バッファ処理＞
次に、本実施の形態に係るサーバ４００Ａにおける中間バッファ処理について説明する。図１８は、本実施の形態に係るサーバ４００Ａにおける中間バッファ処理の処理手順を示すフローチャートである。なお、以下の中間バッファ処理は上記位置情報受信処理において中間バッファにデータが書込まれたときに実行される処理である。
【０１２９】
図１８を参照して、サーバ４００ＡのＣＰＵ４０５はメモリ４０６の中間バッファ４０６６からデータを取り出す（ステップＳ９０２）。ＣＰＵ４０５は、端末ＩＰアドレス４０６１からＩＰアドレスを取得する（ステップＳ９０４）。ＣＰＵ４０５は、取得したＩＰアドレスが送信元のＩＰアドレスと同じであるか否かを判断する（ステップＳ９０６）。ＣＰＵ４０５は、取得したＩＰアドレスが送信元のＩＰアドレスと同じである場合（ステップＳ９０６にてＹＥＳである場合）、ステップＳ９０８からの処理を実行する。
【０１３０】
ＣＰＵ４０５は、取得したＩＰアドレスが送信元のＩＰアドレスと異なる場合（ステップＳ９０６にてＮＯである場合）、送信データ処理（ステップＳ１０００）を実行する。送信データ処理（ステップＳ１０００）については後述する。
【０１３１】
ＣＰＵ４０５は、端末ＩＰアドレス４０６１に次のデータ（ＩＰアドレス）が存在するか否かを判断する（ステップＳ９０８）。ＣＰＵ４０５は、端末ＩＰアドレス４０６１に次のデータが存在する場合（ステップＳ９０８にてＹＥＳである場合）、ステップＳ９０４からの処理を繰り返す。ＣＰＵ４０５は、端末ＩＰアドレス４０６１に次のデータが存在しない場合（ステップＳ９０８にてＮＯである場合）、中間バッファ処理を終了する。
【０１３２】
＜サーバ４００Ａにおける送信データ処理＞
次に、本実施の形態に係るサーバ４００Ａにおける送信データ処理について説明する。図１９は、本実施の形態に係るサーバ４００Ａにおける送信データ処理の処理手順を示すフローチャートである。
【０１３３】
図１９を参照して、サーバ４００ＡのＣＰＵ４０５は、基準サンプリング間隔ＳＴが送信元ＩＰアドレスに対応するｓ＿ｔｉｍｅ以下であるか否かを判断する（ステップＳ１００２）。ＣＰＵ４０５は、基準サンプリング間隔ＳＴが送信元ＩＰアドレスに対応するｓ＿ｔｉｍｅ以下である場合（ステップＳ１００２にてＹＥＳである場合）、メモリ４０６の送信バッファ４０６５にデータを書込む（ステップＳ１００４）。より詳細には、ＣＰＵ４０５は、ＩＰアドレスをメモリ４０６の送信バッファ４０６５の送信先ＩＰアドレスに代入する。ＣＰＵ４０５は、位置情報をメモリ４０６の送信バッファ４０６５の位置情報に代入する。ＣＰＵ４０５は送信データ処理を終了する。
【０１３４】
ＣＰＵ４０５は、基準サンプリング間隔ＳＴが送信元ＩＰアドレスに対応するｓ＿ｔｉｍｅよりも大きい場合（ステップＳ１００２にてＮＯである場合）、位置情報に含まれるペン状態がペンダウンであるか否かを判断する（ステップＳ１００６）。ＣＰＵ４０５は、位置情報に含まれるペン情報がペンダウンである場合（ステップＳ１００６にてＹＥＳである場合）、メモリ４０６の送信バッファ４０６５にデータを書込む（ステップＳ１００８）。より詳細には、ＣＰＵ４０５は、ＩＰアドレスをメモリ４０６の送信バッファ４０６５の送信先ＩＰアドレスに代入する。ＣＰＵ４０５は、位置情報をメモリ４０６の送信バッファ４０６５の位置情報に代入する。
【０１３５】
ＣＰＵ４０５は、入力サンプリング間隔（ｓ＿ｔｉｍｅ）と基準サンプリング間隔ＳＴとの比率に基づいて、間引くべき頻度を決定する（ステップＳ１０１０）。たとえば、ＣＰＵ４０５は、１：２の場合、頻度を２回に設定し、１：３の場合、頻度を３回に設定する。以下では、当該頻度をｄｎ（ＸｔｏＹ）とする。
【０１３６】
より詳細には、ｄｎ（ＸｔｏＹ）は１つの変数ではない。Ｘは送信元の端末を表わし、Ｙは送信先の端末を表わす。端末とＩＰアドレスとの関係は、端末ＩＰアドレス４０６１に記憶されている。たとえば、送信元ＩＰアドレスが（61.198.XXX.001）のとき、送信元端末がＡとなり、ＸはＡとなる。送信先ＩＰアドレスが（61.198.XXX.002）のとき、送信先端末はＢとなり、ＹはＢとなる。このとき、ｄｎ（ＸｔｏＹ）は、ｄｎ（ＡｔｏＢ）となる。そして、端末Ａから端末Ｂへのデータの間引きの頻度は、変数ｄｎ（ＡｔｏＢ）に記憶される。以下の（ＸｔｏＹ）も、上記と同様の意味を有する。
【０１３７】
ＣＰＵ４０５は、ｎ（ＸｔｏＹ）に位置を代入する（ステップＳ１０１２）。ＣＰＵ４０５は、送信データ処理を終了する。
【０１３８】
ＣＰＵ４０５は、位置情報に含まれるペン状態がペンダウンでない場合（ステップＳ１００６にてＮＯである場合）、位置情報に含まれるペン状態がペンアップであるか否かを判断する（ステップＳ１０１４）。ＣＰＵ４０５は、位置情報に含まれるペン状態がペンアップである場合（ステップＳ１０１４にてＹＥＳである場合）、メモリ４０６の送信バッファ４０６５にデータを書込む（ステップＳ１０１６）。より詳細には、ＣＰＵ４０５は、ＩＰアドレスをメモリ４０６の送信バッファ４０６５の送信先ＩＰアドレスに代入する。ＣＰＵ４０５は、位置情報をメモリ４０６の送信バッファ４０６５の位置情報に代入する。ＣＰＵ４０５は、送信データ処理を終了する。
【０１３９】
ＣＰＵ４０５は、位置情報に含まれるペン状態がペンアップでない場合、すなわちドラッグの状態である場合（ステップＳ１０１４にてＮＯである場合）、メモリ４０６を参照して、ｎ（ＸｔｏＹ）の値がｄｎ（ＸｔｏＹ）の値と等しいか否かを判断する（ステップＳ１０１８）。ＣＰＵ４０５は、ｎ（ＸｔｏＹ）の値がｄｎ（ＸｔｏＹ）の値と等しい場合（ステップＳ１０１８にてＹＥＳである場合）、メモリ４０６の送信バッファ４０６５にデータを書込む（ステップＳ１０２０）。より詳細には、ＣＰＵ４０５は、ＩＰアドレスを、メモリ４０６の送信バッファ４０６５の送信先ＩＰアドレスに代入する。ＣＰＵ４０５は、位置情報をメモリ４０６の送信バッファ４０６５の位置情報に代入する。
【０１４０】
ＣＰＵ４０５は、メモリ４０６のｎ（ＸｔｏＹ）に１を代入する（ステップＳ１０２２）。ＣＰＵ４０５は、送信データ処理を終了する。
【０１４１】
ＣＰＵ４０５は、ｎ（ＸｔｏＹ）の値がｄｎ（ＸｔｏＹ）の値と異なる場合（ステップＳ１０１８にてＮＯである場合）、ｎ（ＸｔｏＹ）をインクリメントする（ステップＳ１０２４）。ＣＰＵ４０５は、送信データ処理を終了する。
【０１４２】
＜サーバ４００Ａにおける送信バッファ処理＞
次に、本実施の形態に係るサーバ４００Ａにおける送信バッファ処理について説明する。図２０は、本実施の形態に係るサーバ４００Ａにおける送信バッファ処理の処理手順を示すフローチャートである。なお、送信バッファ処理は、上記送信データ処理において送信バッファにデータが書込まれたときに実行される処理である。
【０１４３】
図２０を参照して、ＣＰＵ４０５は、メモリ４０６の送信バッファ４０６５からデータを取り出す（ステップＳ１１０２）。ＣＰＵ４０５は、サーバ通信デバイス４０９を用いて、取り出したデータを送信先ＩＰアドレスが割り当てられている携帯電話１００へと送信する（ステップＳ１１０４）。
【０１４４】
［実施の形態２］
次に、本発明の実施の形態２について説明する。上述の実施の形態１に係るネットワークシステム１では、サーバ４００Ａが、第１の携帯電話１００Ａのためにコンテンツデータをアップサンプリングしたり、第２の携帯電話１００Ｂのためにコンテンツデータをダウンサンプリングしたりするものであった。一方、本実施の形態に係るネットワークシステム１では、第１の携帯電話１００Ａが、第２の携帯電話１００Ｂのためにコンテンツデータをダウンサンプリングし、第１の携帯電話１００Ａのためにコンテンツデータをアップサンプリングするものである。
【０１４５】
すなわち、本実施の形態に係る携帯電話１００は、実施の形態１に係るサーバ４００Ａの機能の一部を有するものである。そして、以下の実施の形態２で説明される形態に限定されるものではなく、サーバ４００Ａが有する機能のうちのどの部分を携帯電話１００に装備するかは適宜選択あるいは修正されうるものである。
【０１４６】
なお、実施の形態１に係るネットワークシステム１と同様の構成については、説明を繰り返さない。
【０１４７】
まず、本実施の形態に係るネットワークシステム１の全体構成に関して、携帯電話１００とカーナビゲーション装置２００とパーソナルコンピュータ３００とは、他の端末に割り当てられるＩＰアドレスを利用して、サーバを介さずに当該他の通信端末とデータ送受信を行うものである。すなわち、本実施の形態に係るネットワークシステム１に含まれる携帯電話１００、カーナビゲーション装置２００、パーソナルコンピュータ３００は、いわゆるＰ２Ｐ（Pear  to  Pear）型のネットワークを構成することが可能である。
【０１４８】
＜本実施の形態に係るネットワークシステム１の動作概要＞
次に、本実施の形態に係るネットワークシステム１の動作概要について説明する。図２１は、本実施の形態に係るネットワークシステム１における動作概要を示すシーケンス図である。図２２は、本実施の形態に係るネットワークシステム１におけるコンテンツの表示およびコンテンツデータの送受信を示すイメージ図である。
【０１４９】
図２１および図２２を参照して、本実施の形態に係る各通信端末は、Ｐ２Ｐ型のデータ送受信を行うために、はじめに互いのＩＰアドレスを交換（取得）する必要がある。そして、各通信端末は、ＩＰアドレスを取得したのちに、Ｐ２Ｐ型のデータ送受信によってメッセージや添付ファイルなどを他の通信端末に送信する。
【０１５０】
ただし、以下では、２つの通信端末、すなわち第１の携帯電話１００Ａと第２の携帯電話１００Ｂとがコンテンツデータを送受信する場合について説明する。なお、３つ以上の通信端末がコンテンツデータを送受信することも可能である。たとえば、３つ以上の通信端末がコンテンツデータを送受信する場合には、最も処理能力が高い通信端末が、他の通信端末のためにコンテンツデータのアップサンプリングおよびダウンサンプリングを実行する。
【０１５１】
あるいは、３つ以上の通信端末がコンテンツデータを送受信する場合にも、２つの通信端末間でより処理能力が高い通信端末が相手の通信端末のために、コンテンツデータのアップサンプリングおよびダウンサンプリングを実行してもよい。より詳細には、１番処理能力が高い通信端末は、２番目および３番目の通信端末へコンテンツデータを送信する際にダウンサンプリングを実行し、２番目および３番目の通信端末からコンテンツデータを受信する際にアップサンプリングを実行する。２番目に処理能力が高い通信端末は、３番目の通信端末へコンテンツデータを送信する際のみダウンサンプリングを実行し、３番目の通信端末からコンテンツデータを受信する際のみアップサンプリングを実行すればよい。３番目の通信端末は、ダウンサンプリングもアップサンプリングも行なう必要がない。
【０１５２】
また、以下では、第１の携帯電話１００Ａが新たなチャットルームを生成し、当該チャットルームに第２の携帯電話１００Ｂを招待する場合について説明する。そして、通信端末のそれぞれが、Ｐ２Ｐ通信中に、マッチングサーバ４００Ｂを介さずにコンテンツデータを送受信する場合について説明する。
【０１５３】
図１、図２１、図２２を参照して、まず、第１の携帯電話１００Ａ（図２１において端末Ａ）が、マッチングサーバ４００ＢにＩＰ登録（ログイン）を要求する（ステップＳ０５２）。第１の携帯電話１００Ａは、同時にＩＰアドレスを取得してもよいし、予めＩＰアドレスを取得していてもよい。より詳細には、第１の携帯電話１００Ａは、キャリア網７００、インターネット網５００を介して、マッチングサーバ４００Ｂに第１の携帯電話１００Ａに関する情報（たとえば、メールアドレスやＩＰアドレスなど）と第２の携帯電話１００Ｂのメールアドレスと新たなチャットルームの生成を要求するメッセージとを送信する。
【０１５４】
マッチングサーバ４００Ｂは、その要求に応じて、第１の携帯電話１００ＡのメールアドレスをそのＩＰアドレスに対応付けて格納する。そして、マッチングサーバ４００Ｂは、第１の携帯電話１００Ａのメールアドレスと第２の携帯電話１００Ｂのメールアドレスとに基づいて、ルーム名を生成し、当該ルーム名のチャットルームを生成する（ステップＳ０５４）。このとき、マッチングサーバ４００Ｂは、チャットルームの生成が完了した旨を第１の携帯電話１００Ａに通知してもよい。マッチングサーバ４００Ｂは、ルーム名と参加中の通信端末のＩＰアドレスとを対応付けて格納する。
【０１５５】
あるいは、第１の携帯電話１００Ａは、第１の携帯電話１００Ａのメールアドレスと第２の携帯電話１００Ｂのメールアドレスとに基づいて、新たなチャットルームのルーム名を生成し、当該ルーム名をマッチングサーバ４００Ｂに送信する。マッチングサーバ４００Ｂは、ルーム名に基づいて、新たなチャットルームを生成する。
【０１５６】
第１の携帯電話１００Ａは、新たなチャットルームを生成したこと、すなわちチャットルームへの招待を示すＰ２Ｐ参加要請メールを第２の携帯電話１００Ｂに送信する。より詳細には、第１の携帯電話１００Ａは、キャリア網７００、インターネット網５００を介して、Ｐ２Ｐ参加要請メールを第２の携帯電話１００Ｂに送信する。
【０１５７】
第２の携帯電話１００Ｂは、Ｐ２Ｐ参加要請メールを受信すると、第１の携帯電話１００Ａのメールアドレスと第２の携帯電話１００Ｂのメールアドレスとに基づいてルーム名を生成し、マッチングサーバ４００Ｂに第２の携帯電話１００Ｂに関する情報（たとえば、メールアドレスやＩＰアドレスなど）とそのルーム名を有するチャットルームへ参加する旨のメッセージとを送信する（ステップＳ０５６）。第２の携帯電話１００Ｂは、同時にＩＰアドレスを取得してもよいし、先にＩＰアドレスを取得してからマッチングサーバ４００Ｂにアクセスしてもよい。
【０１５８】
マッチングサーバ４００Ｂは、そのメッセージを受け付けて、第２の携帯電話１００Ｂのメールアドレスがルーム名に対応するものであるか否かを判断した上で、第２の携帯電話１００ＢのメールアドレスをＩＰアドレスに対応付けて格納する（ステップＳ０５８）。そして、マッチングサーバ４００Ｂは、第１の携帯電話１００Ａに、第２の携帯電話１００Ｂがチャットルームに参加した旨と第２の携帯電話１００ＢのＩＰアドレスとを送信する（ステップＳ０６０）。同時に、マッチングサーバ４００Ｂは、第２の携帯電話１００Ｂに、チャットルームへの参加を受け付けた旨と第１の携帯電話１００ＡのＩＰアドレスとを送信する（ステップＳ０６２）。
【０１５９】
第１の携帯電話１００Ａと第２の携帯電話１００Ｂは、相手のメールアドレスやＩＰアドレスを取得して、互いを認証する。すなわち、第１の携帯電話１００Ａは、第２の携帯電話１００ＢにＰ２Ｐ通信接続要求を送信する（ステップＳ０６４）。第２の携帯電話１００Ｂは、第１の携帯電話１００Ａに接続を許可するメッセージを送信する。
【０１６０】
このとき、第２の携帯電話１００Ｂは、自身の手書きデータの入力サンプリングレート（第２の入力サンプリングレート）を計測し、当該第２の入力サンプリングレートも第１の携帯電話１００Ａに送信する（ステップＳ０６６）。第１の携帯電話１００Ａは、要求を許可するメッセージを受信して、自身の手書きデータの入力サンプリングレート（第１の入力サンプリングレート）を計測し、当該第１の入力サンプリングレートを第２の携帯電話１００Ｂに送信する（ステップＳ０６８）。
【０１６１】
そして、第１の携帯電話１００Ａと第２の携帯電話１００Ｂとは、第１の入力サンプリングレートと第２の入力サンプリングレートとに基づいて、現在チャットルームに参加しているユーザの通信端末の最も高いサンプリングレートを基準サンプリングレートとして決定する。ここでは、第１の入力サンプリングレートが第２の入力サンプリングレートよりも高い、すなわち第１の携帯電話１００Ａの処理能力が第２の携帯電話１００Ｂの処理能力よりも高いものとする。
【０１６２】
第１の携帯電話１００Ａおよび第２の携帯電話１００Ｂは、第１の入力サンプリングレートを基準サンプリングレートに決定するものとする。同時に、第１の携帯電話１００Ａと第２の携帯電話１００Ｂとは、相対的に処理能力が高い第１の携帯電話１００Ａを親機として決定し（ステップＳ０７０）、相対的に処理能力が低い第２の携帯電話１００Ｂを子機として決定する（ステップＳ０７２）。
【０１６３】
第１の携帯電話１００Ａは、ユーザからペン情報を受け付けて、ペン情報に関する情報を第２の携帯電話１００Ｂに送信し、第２の携帯電話１００Ｂは、ユーザからペン情報を受け付けて、ペン情報に関する情報を第１の携帯電話１００Ａに送信する（ステップＳ０７４）。
【０１６４】
第１の携帯電話１００Ａは、基準サンプリングレート（第１の入力サンプリングレート）と第２の入力サンプリングレートとの差が所定値以上であるか否かを判断する。たとえば、第１の携帯電話１００Ａは、基準サンプリングレートが第２の入力サンプリングレートの２倍以上であるか否かを判断する。以下では、まず、基準サンプリングレートと第２の入力サンプリングレートとの差が所定値未満である場合について説明する。
【０１６５】
第１の携帯電話１００Ａが、タッチパネル１０２を介して、ユーザから手書き画像（図２２において１０７Ｘ）の入力を受け付ける。より詳細には、ユーザがスタイラスペン１２０などをタッチパネル１０２に接触させると、第１の携帯電話１００Ａは第１の入力サンプリングレートで接触位置を順次検知する。すなわち、第１の携帯電話１００Ａは第１の入力サンプリング間隔毎に接触位置を順次検知する。第１の携帯電話１００Ａは、接触位置の推移を示す一連のデータ（ｘ１１，ｙ１１）（ｘ１２，ｙ１２）（ｘ１３，ｙ１３）（ｘ１４，ｙ１４）（ｘ１５，ｙ１６）をコンテンツデータとして取得する。
【０１６６】
基準サンプリングレートと第２の入力サンプリングレートとの差が所定値未満であるので、第１の携帯電話１００Ａは、第１の入力サンプリングレートのコンテンツデータ（第１のコンテンツデータ）を、そのまま、第２の携帯電話１００Ｂに送信する（ステップＳ０７６）。
【０１６７】
同様に、第２の携帯電話１００Ｂが、タッチパネル１０２を介して、ユーザから手書き画像（図２２において１０７Ｙ）の入力を受け付ける。より詳細には、ユーザがスタイラスペン１２０などをタッチパネル１０２に接触させると、第２の携帯電話１００Ｂは第２の入力サンプリングレートで接触位置を順次検知する。すなわち、第２の携帯電話１００Ｂは第２の入力サンプリング間隔毎に接触位置を順次検知する。第２の携帯電話１００Ｂは、接触位置の推移を示す一連のデータ（ｘ２１，ｙ２１）（ｘ２３，ｙ２３）（ｘ２５，ｙ２５）をコンテンツデータとして取得する。第２の携帯電話１００Ｂは、第２の入力サンプリングレートのコンテンツデータ（第２のコンテンツデータ）を、そのまま、第１の携帯電話１００Ａに送信する（ステップＳ０７６）。
【０１６８】
基準サンプリングレートと第２の入力サンプリングレートとの差が所定値未満であるので、第１の携帯電話１００Ａは、第２の携帯電話１００Ｂからの第２の入力サンプリングレートの第２のコンテンツデータに基づいて、そのまま、コンテンツを表示する。第２の携帯電話１００Ｂは、第１の携帯電話１００Ａからの第１の入力サンプリングレートの第１のコンテンツデータに基づいて、そのまま、コンテンツを表示する。
【０１６９】
次に、基準サンプリングレートと第２の入力サンプリングレートとの差が所定値以上である場合について説明する。
【０１７０】
上記と同様に、第１の携帯電話１００Ａが、タッチパネル１０２を介して、ユーザから手書き画像（図２２において１０７Ｘ）の入力を受け付ける。第１の携帯電話１００Ａは、接触位置の推移を示す一連のデータ（ｘ１１，ｙ１１）（ｘ１２，ｙ１２）（ｘ１３，ｙ１３）（ｘ１４，ｙ１４）（ｘ１５，ｙ１６）をコンテンツデータとして取得する。
【０１７１】
基準サンプリングレートと第２の入力サンプリングレートとの差が所定値以上であるので、図２２に示すように、本実施の形態に係る第１の携帯電話１００Ａは、第１の入力サンプリングレートの第１のコンテンツデータを、第２の入力サンプリングレートまでダウンサンプリングする。すなわち、第１の携帯電話１００Ａは、接触位置の推移を示す一連のデータ（ｘ１１，ｙ１１）（ｘ１２，ｙ１２）（ｘ１３，ｙ１３）（ｘ１４，ｙ１４）（ｘ１５，ｙ１６）から、データ（ｘ１２，ｙ１２）（ｘ１４，ｙ１４）を削除することによって、データを間引きする（ステップＳ０３６）。
【０１７２】
そして、第１の携帯電話１００Ａは、第２の入力サンプリングレートのコンテンツデータ（第１のコンテンツデータ）を第２の携帯電話１００Ｂに送信する（ステップＳ０７８）。第２の携帯電話１００Ｂは、第１の携帯電話１００Ａからの第２の入力サンプリングレートの第１のコンテンツデータに基づいて、コンテンツ（図２２の１０７Ｘ）を表示する。
【０１７３】
同様に、第２の携帯電話１００Ｂが、タッチパネル１０２を介して、ユーザから手書き画像（図２２において１０７Ｙ）の入力を受け付ける。第２の携帯電話１００Ｂは、接触位置の推移を示す一連のデータ（ｘ２１，ｙ２１）（ｘ２３，ｙ２３）（ｘ２５，ｙ２５）をコンテンツデータとして取得する。第２の携帯電話１００Ｂは、第２の入力サンプリングレートのコンテンツデータ（第２のコンテンツデータ）を、そのまま、第１の携帯電話１００Ａに送信する（ステップＳ０８０）。
【０１７４】
基準サンプリングレートと第２の入力サンプリングレートとの差が所定値以上であるので、図２２に示すように、本実施の形態に係る第１の携帯電話１００Ａは、第２の携帯電話１００Ｂからの第２の入力サンプリングレートの第２のコンテンツデータを、第１の入力サンプリングレートまでアップサンプリングする。すなわち、マッチングサーバ４００Ｂは、接触位置の推移を示す一連のデータ（ｘ２１，ｙ２１）（ｘ２３，ｙ２３）（ｘ２５，ｙ２５）に基づいて、データ（ｘ２２，ｙ２２）（ｘ２４，ｙ２４）を生成することによって、データを補完する（ステップＳ０８２）。第１の携帯電話１００Ａは、第１の入力サンプリングレートの第２のコンテンツデータに基づいて、コンテンツ（図２２の１０７Ｙ）を表示する。
【０１７５】
第１の携帯電話１００Ａが、第２の携帯電話１００ＢにＰ２Ｐ通信を切断する旨のメッセージを送信すると（ステップＳ０８４）、第２の携帯電話１００Ｂは、第１の携帯電話１００Ａに切断する要求を受け付けた旨のメッセージを送信する（ステップＳ０８６）。本実施の形態に係る第１の携帯電話１００Ａは、マッチングサーバ４００Ｂにチャットルームの削除要求を送信する。マッチングサーバ４００Ｂは、当該削除要求に応じてチャットルームを削除する。
【０１７６】
このように、本実施の形態に係るネットワークシステム１においては、第１の携帯電話１００Ａが、第２の携帯電話１００Ｂの入力サンプリングレートに基づいて、第１のコンテンツデータに含まれるデータを削除したり、第２のコンテンツデータに含まれるべきデータを生成したりする。その結果、第１の携帯電話１００Ａおよび第２の携帯電話１００Ｂが、互いに相手が送信したコンテンツデータを表示し易くなる。また、能力が比較的低い第２の携帯電話１００Ｂが、能力が比較的高い第１の携帯電話１００Ａからのコンテンツデータを、処理速度を低減させることなく、表示し易くなる。
【０１７７】
＜ハードウェア構成および処理手順＞
本実施の形態に係る携帯電話１００のハードウェア構成は、実施の形態１のそれと略同様であるため、ここでは詳細な説明を繰り返さない。また、本実施の形態に係るマッチングサーバ４００Ｂのハードウェア構成は、実施の形態１のサーバ４００Ａのそれと略同様であるため、ここでは詳細な説明を繰り返さない。ただし、より詳細には、本実施の形態に係るコンテンツデータのアップサンプリングやダウンサンプリングを実行する携帯電話１００のメモリ１０３は、実施の形態１に係るサーバ４００Ａが記憶する端末ＩＰアドレス４０６１と、受信バッファ４０６２と、ＳＴ情報４０６３と、処理速度情報４０６４と、送信バッファ４０６５と、中間バッファ４０６６とを記憶する。
【０１７８】
そして、本実施の形態に係る携帯電話１００における処理は、実施の形態１のそれ同様であるため、ここでは詳細な説明を繰り返さない。ただし、より詳細には、本実施の形態に係る携帯電話１００は、手書き処理においてペン情報やペン状態や位置情報を、マッチングサーバ４００Ｂを介さずに他の携帯電話１００へと送信する。また、本実施の形態に係る携帯電話１００は、描画処理においてペン情報やペン状態や位置情報を、マッチングサーバ４００Ｂを介さずに他の携帯電話１００から受信する。
【０１７９】
そして、本実施の形態に係る携帯電話１００は、他の携帯電話１００から位置情報を受信した際（Ｓ４１２〜Ｓ４１８）に、実施の形態１に係る位置情報受信処理を実行する。また、本実施の形態に係る携帯電話１００は、他の携帯電話１００に位置情報を送信する際（Ｓ３１０、Ｓ３１６、Ｓ３１８）に、実施の形態１に係る中間バッファ処理と送信データ処理と送信バッファ処理とを実行する。
【０１８０】
前述したように、本実施の形態に係る携帯電話１００は、実施の形態１に係るサーバ４００Ａの機能の一部を有するものである。そして、実施の形態２で説明された形態に限定されるものではなく、サーバ４００Ａが有する機能のうちのどの部分を携帯電話１００に装備するかは適宜選択あるいは修正されうるものである。
【０１８１】
＜その他の実施の形態＞
本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
【０１８２】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１８３】
プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード（ＩＣメモリカード）、ＲＯＭ（マスクＲＯＭ、フラッシュＥＥＰＲＯＭなど）などを用いることができる。
【０１８４】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１８５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１８６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１８７】
１  ネットワークシステム、１００，１００Ａ，１００Ｂ，１００Ｃ  携帯電話、１０１  通信デバイス、１０２  タッチパネル、１０３  メモリ、１０４  ペンタブレット、１０６  ＣＰＵ、１０７  ディスプレイ、１０８  マイク、１０９  スピーカ、１１０  各種ボタン、１１１  第１の通知部、１１２  第２の通知部、１２０  スタイラスペン、２００  カーナビゲーション装置、２５０  車両、３００  パーソナルコンピュータ、４００Ａ  サーバ、４００Ｂ  マッチングサーバ、４０５  ＣＰＵ、４０６  メモリ、４０７  固定ディスク、４０８  内部バス、４０９  サーバ通信デバイス、５００  インターネット網、７００  キャリア網。
【図１】
2011154606.tif 000003
【図２】
2011154606.tif 000004
【図３】
2011154606.tif 000005
【図４】
2011154606.tif 000006
【図５】
2011154606.tif 000007
【図６】
2011154606.tif 000008
【図７】
2011154606.tif 000009
【図８】
2011154606.tif 000010
【図９】
2011154606.tif 000011
【図１０】
2011154606.tif 000012
【図１１】
2011154606.tif 000013
【図１２】
2011154606.tif 000014
【図１３】
2011154606.tif 000015
【図１４】
2011154606.tif 000016
【図１５】
2011154606.tif 000017
【図１６】
2011154606.tif 000018
【図１７】
2011154606.tif 000019
【図１８】
2011154606.tif 000020
【図１９】
2011154606.tif 000021
【図２０】
2011154606.tif 000022
【図２１】
2011154606.tif 000023
【図２２】
2011154606.tif 000024