JP2011154606A - ネットワークシステム、通信方法、サーバ、および通信端末 - Google Patents

ネットワークシステム、通信方法、サーバ、および通信端末 Download PDF

Info

Publication number
JP2011154606A
JP2011154606A JP2010016567A JP2010016567A JP2011154606A JP 2011154606 A JP2011154606 A JP 2011154606A JP 2010016567 A JP2010016567 A JP 2010016567A JP 2010016567 A JP2010016567 A JP 2010016567A JP 2011154606 A JP2011154606 A JP 2011154606A
Authority
JP
Japan
Prior art keywords
server
content data
communication terminal
sampling rate
mobile phone
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2010016567A
Other languages
English (en)
Inventor
Masayuki Yamamoto
真幸 山本
Masahide Takasugi
昌秀 高杉
Misuzu Kawamura
美鈴 川村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2010016567A priority Critical patent/JP2011154606A/ja
Publication of JP2011154606A publication Critical patent/JP2011154606A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】受信側の通信端末が、送信側の通信端末が送信したコンテンツデータを表示し易くなる。
【解決手段】サーバ400Aは、サーバ通信デバイスと、サーバ通信デバイスを介して第1の通信端末100Aから第1のサンプリングレートを示す情報を受信し、サーバ通信デバイスを介して第2の通信端末100Bから第1のサンプリングレートよりも低い第2のサンプリングレートを示す情報を受信し、第1の通信端末100Aからの第1のコンテンツデータを第2のサンプリングレートへとダウンサンプリングし、サーバ通信デバイスを介して当該ダウンサンプリングされた第1のコンテンツデータを第2の通信端末100Bへと送信するためのサーバプロセッサとを備える。
【選択図】図3

Description

本発明は、ネットワークを介して相互に通信可能な少なくとも第1および第2の通信端末を備えるネットワークシステム、通信方法、サーバおよび通信端末に関し、特に、第1および第2の通信端末がコンテンツデータを送受信するネットワークシステム、通信方法、サーバおよび通信端末に関する。
インターネット網に接続可能な複数の通信端末が、コンテンツデータを交換するネットワークシステムが知られている。たとえば、サーバクライアントシステムやP2P(Peer to Peer)システムなどが挙げられる。そのようなネットワークシステムにおいては、通信端末の各々は、手書き画像データや、テキストデータや、写真画像データなどを送信したり受信したりする。なお、手書き画像データは、たとえば、手書き画像の軌跡を示す一連の位置データを含む。通信端末の各々は、受信した手書き画像データや、テキストデータや、写真画像データに基づいて、ディスプレイに手書き画像やテキストや写真を表示させる。
たとえば、特開2001−111708号公報(特許文献1)には、携帯型情報通信装置が開示されている。特開2001−111708号公報(特許文献1)によると、携帯型情報通信装置は、液晶ディスプレイ一体型タブレット等の入力手段を用いてユーザが入力した手書きデータの座標情報を、逐次連続して接続先の携帯型情報通信装置に送信するとともに、入力された手書きデータの筆跡を液晶ディスプレイ等表示手段に表示し、同時に、接続先の携帯型情報通信装置から送られてきた手書きデータの座標情報をもとに、受信した手書きデータの筆跡を表示手段に表示できるように構成したことを特徴とするものである。この構成により、携帯型の端末装置を用いて、手書き入力データをリアルタイムで送受信することができ、場所を選ばずいつでも筆談のような会話型のコミュニケーションを実現することができる。
また、特開2003−234842号公報(特許文献2)には、リアルタイム手書き通信システムが開示されている。特開2003−234842号公報(特許文献2)によると、リアルタイム手書き通信システムは、タッチパネル、タッチペン、データ入力装置、コントローラ装置、データ出力装置および表示装置を有する。手書きデータをタッチペンで入力し、出力データに変換できる。データ入力装置は、別のリアルタイム手書き通信システムから送信された入力データを受信し入力する。コントローラ装置は、タッチパネルおよびデータ入力装置と接続されており、入力データおよび出力データをリアルタイムに処理し、送信する。データ出力装置は、コントローラ装置に接続され、他のリアルタイム手書き通信システムに出力データを送信する。表示装置は入力データおよび出力データを表示する。
特開2001−111708号公報 特開2003−234842号公報
しかしながら、受信端末が、送信端末が送信したコンテンツデータに対応していない場合がある。たとえば、受信端末の入力サンプリングレートが送信端末の入力サンプリングレートよりも低い場合、受信端末が送信端末からのコンテンツデータを表示できない虞がある。
本発明は、かかる問題を解決するためになされたものであり、その目的は、受信側の通信端末が、送信側の通信端末が送信したコンテンツデータを表示し易いネットワークシステム、通信方法、サーバおよび通信端末を提供することである。あるいは、その目的は、能力が比較的低い受信側の通信端末が、能力が比較的高い送信側の通信端末からのコンテンツデータを表示し易いネットワークシステム、通信方法、サーバおよび通信端末を提供することである。
この発明のある局面に従うと、ネットワークを介して相互に通信可能なサーバと第1および第2の通信端末とを備えるネットワークシステムが提供される。第1の通信端末は、第1の通信デバイスと、第1のディスプレイと、第1のサンプリングレートで第1のコンテンツデータの入力を受け付けるための第1の受付部と、第1の通信デバイスを介して第1のサンプリングレートを示す情報をサーバへ送信し、第1の通信デバイスを介して第1のコンテンツデータをサーバへと送信するための第1のプロセッサとを含む。第2の通信端末は、第2の通信デバイスと、第2のディスプレイと、第1のサンプリングレートよりも低い第2のサンプリングレートで第2のコンテンツデータの入力を受け付けるための第2の受付部と、第2の通信デバイスを介して第2のサンプリングレートを示す情報をサーバへと送信し、第2の通信デバイスを介してサーバから第1のコンテンツデータを受信し、第1のコンテンツデータを第2のディスプレイに表示させるための第2のプロセッサとを含む。サーバは、サーバ通信デバイスと、サーバ通信デバイスを介して第1の通信端末から第1のサンプリングレートを示す情報を受信し、サーバ通信デバイスを介して第2の通信端末から第2のサンプリングレートを示す情報を受信し、第1の通信端末からの第1のコンテンツデータを第2のサンプリングレートへとダウンサンプリングし、サーバ通信デバイスを介して当該ダウンサンプリングされた第1のコンテンツデータを第2の通信端末へと送信するためのサーバプロセッサとを含む。
好ましくは、第2のプロセッサは、第2の通信デバイスを介して第2のコンテンツデータをサーバへと送信する。サーバプロセッサは、第2の通信端末からの第2のコンテンツデータを第1のサンプリングレートへとアップサンプリングし、サーバ通信デバイスを介して当該アップサンプリングされた第2のコンテンツデータを第1の通信端末へと送信する。第1のプロセッサは、第1の通信デバイスを介してサーバから第2のコンテンツデータを受信し、第2のコンテンツデータを第1のディスプレイに表示させる。
好ましくは、第2のプロセッサは、第2の通信デバイスを介して第2のコンテンツデータをサーバへと送信する。サーバプロセッサは、サーバ通信デバイスを介して第2の通信端末からの第2のコンテンツデータを第1の通信端末へと送信する。第1のプロセッサは、第1の通信デバイスを介してサーバから第2のコンテンツデータを受信し、第2のコンテンツデータを第1のディスプレイに表示させる。
この発明の別の局面に従うと、ネットワークを介して相互に通信可能な第1および第2の通信端末を備えるネットワークシステムが提供される。第1の通信端末は、第1の通信デバイスと、第1のディスプレイと、第1のサンプリングレートで第1のコンテンツデータの入力を受け付けるための第1の受付部と、第1の通信デバイスを介して第2の通信端末から第1のサンプリングレートよりも低い第2のサンプリングレートを示す情報を受信し、第1のサンプリングレートの第1のコンテンツデータを第2のサンプリングレートへとダウンサンプリングし、第1の通信デバイスを介して当該ダウンサンプリングされた第1のコンテンツデータを第2の通信端末へと送信するための第1のプロセッサとを含む。第2の通信端末は、第2の通信デバイスと、第2のディスプレイと、第2のサンプリングレートで第2のコンテンツデータの入力を受け付けるための第2の受付部と、第2の通信デバイスを介して第2のサンプリングレートを示す情報を第1の通信端末へと送信し、第2の通信デバイスを介して第1の通信端末から第1のコンテンツデータを受信し、第1のコンテンツデータを第2のディスプレイに表示させるための第2のプロセッサとを含む。
好ましくは、第2のプロセッサは、第2の通信デバイスを介して第2のコンテンツデータを第1の通信端末へと送信する。第1のプロセッサは、第1の通信デバイスを介して第2の通信端末から第2のコンテンツデータを受信し、第2の通信端末からの第2のコンテンツデータを第1のサンプリングレートへとアップサンプリングし、当該アップサンプリングされた第2のコンテンツデータを第1のディスプレイに表示させる。
好ましくは、第2にプロセッサは、第2の通信デバイスを介して第2のコンテンツデータを第1の通信端末へと送信する。第1のプロセッサは、第1の通信デバイスを介して第2の通信端末から第2のコンテンツデータを受信し、第2の通信端末からの第2のコンテンツデータを第1のディスプレイに表示させる。
この発明の別の局面に従うと、ネットワークを介して相互に通信可能なサーバと第1および第2の通信端末とを備えるネットワークシステムにおける通信方法が提供される。通信方法は、第1の通信端末が、第1のサンプリングレートを示す情報をサーバへ送信するステップと、第2の通信端末が、第1のサンプリングレートよりも低い第2のサンプリングレートを示す情報をサーバへと送信するステップと、第1の通信端末が、第1のサンプリングレートで第1のコンテンツデータの入力を受け付けるステップと、第1の通信端末が、第1のコンテンツデータをサーバへと送信するステップと、サーバが、第1の通信端末からの第1のコンテンツデータを第2のサンプリングレートへとダウンサンプリングするステップと、サーバが、当該ダウンサンプリングされた第1のコンテンツデータを第2の通信端末へと送信するステップと、第2の通信端末が、サーバからの第1のコンテンツデータをディスプレイに表示するステップとを備える。
この発明の別の局面に従うと、ネットワークを介して相互に通信可能な第1および第2の通信端末を備えるネットワークシステムにおける通信方法が提供される。通信方法は、第2の通信端末が、第1のサンプリングレートよりも低い第2のサンプリングレートを示す情報を第1の通信端末へと送信するステップと、第1の通信端末が、第1のサンプリングレートで第1のコンテンツデータの入力を受け付けるステップと、第1の通信端末が、第1のサンプリングレートの第1のコンテンツデータを第2のサンプリングレートへとダウンサンプリングするステップと、第1の通信端末が、当該ダウンサンプリングされた第1のコンテンツデータを第2の通信端末へと送信するステップと、第2の通信端末が、第1の通信端末からの第1のコンテンツデータをディスプレイに表示するステップとを備える。
この発明の別の局面に従うと、ネットワークを介して第1および第2の通信端末と通信可能なサーバが提供される。サーバは、サーバ通信デバイスと、サーバ通信デバイスを介して第1の通信端末から第1のサンプリングレートを示す情報を受信し、サーバ通信デバイスを介して第2の通信端末から第1のサンプリングレートよりも低い第2のサンプリングレートを示す情報を受信し、第1の通信端末からの第1のコンテンツデータを第2のサンプリングレートへとダウンサンプリングし、サーバ通信デバイスを介して当該ダウンサンプリングされた第1のコンテンツデータを第2の通信端末へと送信するためのサーバプロセッサとを備える。
好ましくは、サーバプロセッサは、第2の通信端末からの第2のコンテンツデータを第1のサンプリングレートへとアップサンプリングし、サーバ通信デバイスを介して当該アップサンプリングされた第2のコンテンツデータを第1の通信端末へと送信する。
この発明の別の局面に従うと、ネットワークを介して他の通信端末と通信可能な通信端末が提供される。通信端末は、第1の通信デバイスと、第1のディスプレイと、第1のサンプリングレートで第1のコンテンツデータの入力を受け付けるための第1の受付部と、第1の通信デバイスを介して他の通信端末から第1のサンプリングレートよりも低い第2のサンプリングレートを示す情報を受信し、第1のサンプリングレートの第1のコンテンツデータを第2のサンプリングレートへとダウンサンプリングし、第1の通信デバイスを介して当該ダウンサンプリングされた第1のコンテンツデータを他の通信端末へと送信するための第1のプロセッサとを備える。
好ましくは、第1のプロセッサは、第1の通信デバイスを介して他の通信端末から第2のコンテンツデータを受信し、他の通信端末からの第2のコンテンツデータを第1のサンプリングレートへとアップサンプリングし、当該アップサンプリングされた第2のコンテンツデータを第1のディスプレイに表示させる。
以上のように、本発明に係るネットワークシステム、通信方法、サーバおよび通信端末によって、受信側の通信端末が、送信側の通信端末が送信したコンテンツデータを表示し易くなる。あるいは、本発明に係るネットワークシステム、通信方法、サーバおよび通信端末によって、能力が比較的低い受信側の通信端末が、能力が比較的高い送信側の通信端末からのコンテンツデータを表示し易くなる。
本実施の形態に係るネットワークシステムを示す概略図である。 実施の形態1に係るネットワークシステムにおける動作概要を示すシーケンス図である。 実施の形態1に係るネットワークシステムにおけるコンテンツの表示およびコンテンツデータの送受信を示すイメージ図である。 本施の形態に係る携帯電話の外観を示すイメージ図である。 本施の形態に係る携帯電話のハードウェア構成を示すブロック図である。 本実施の形態に係る携帯電話のメモリに記憶されるコンテンツデータを示すイメージ図である。 本実施の形態に係るサーバのハードウェア構成を示すブロック図である。 本実施の形態に係るサーバのメモリあるいは固定ディスクに記憶されるルーム管理テーブルのデータの推移を示すイメージ図である。 本実施の形態に係るサーバのメモリに記憶されるコンテンツデータを示すイメージ図である。 本実施の形態に係る携帯電話における通信開始前処理の処理手順を示すフローチャートである。 本実施の形態に係る携帯電話における通信開始後処理の処理手順を示すフローチャートである。 本実施の形態に係る携帯電話における手書き入力処理の処理手順を示すフローチャートである。 本実施の形態に係る携帯電話における描画処理の処理手順を示すフローチャートである。 本実施の形態に係るサーバにおける受信処理の処理手順を示すフローチャートである。 本実施の形態に係るサーバにおける処理速度情報処理の処理手順を示すフローチャートである。 本実施の形態に係るサーバにおけるペン情報処理の処理手順を示すフローチャートである。 本実施の形態に係るサーバにおける位置情報受信処理の処理手順を示すフローチャートである。 本実施の形態に係るサーバにおける中間バッファ処理の処理手順を示すフローチャートである。 本実施の形態に係るサーバにおける送信データ処理の処理手順を示すフローチャートである。 本実施の形態に係るサーバにおける送信バッファ処理の処理手順を示すフローチャートである。 実施の形態2に係るネットワークシステムにおける動作概要を示すシーケンス図である。 実施の形態2に係るネットワークシステムにおけるコンテンツの表示およびコンテンツデータの送受信を示すイメージ図である。
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
また、以下では、携帯電話100を「通信端末」の代表例として説明を行う。ただし、通信端末は、パーソナルコンピュータや、カーナビゲーション装置(Satellite navigation system)や、PND(Personal Navigation Device)や、PDA(Personal Data Assistance)などのような、他の情報通信機器であってもよい。
[実施の形態1]
<ネットワークシステム1の全体構成>
まず、本実施の形態に係るネットワークシステム1の全体構成について説明する。図1は、本実施の形態に係るネットワークシステム1を示す概略図である。
図1を参照して、ネットワークシステム1は、携帯電話100A,100B,100Cと、サーバ400Aと、インターネット網(第1のネットワーク)500と、キャリア網(第2のネットワーク)700とを含む。また、本実施の形態に係るネットワークシステム1は、車両250に搭載されるカーナビゲーション装置200と、パーソナルコンピュータ(PC)300とを含む。
なお、説明の容易化のために、以下では、本実施の形態に係るネットワークシステム1が、第1の携帯電話100Aと、第2の携帯電話100Bと、第3の携帯電話100Cとを含む場合について説明する。また、携帯電話100A,100B,100Cの各々に共通の構成や機能を説明する際には、それらを携帯電話100とも総称する。そして、携帯電話100A,100B,100C、カーナビゲーション装置200、パーソナルコンピュータ300の各々に共通の構成や機能を説明する際には、それらを通信端末とも総称する。
携帯電話100は、キャリア網700に接続可能に構成されている。カーナビゲーション装置200は、インターネット網500に接続可能に構成されている。パーソナルコンピュータ300は、LAN(Local Area Network)350やWAN(Wide Area Network)を介してインターネット網500に接続可能に構成されている。サーバ400Aは、インターネット網500に接続可能に構成されている。
より詳細には、第1の携帯電話100Aと、第2の携帯電話100Bと、第3の携帯電話100Cと、カーナビゲーション装置200と、パーソナルコンピュータ300とは、キャリア網700やインターネット網500を介して互いに接続可能であって、互いにデータの送受信が可能である。また、携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300には、自端末を特定するための識別情報(たとえば、電話番号、個体識別番号、メールアドレスやIP(Internet Protocol)アドレスなど)が割り当てられる。すなわち、携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300とは、内部の記録媒体に他の通信端末の識別情報を記憶することができ、当該識別情報に基づいてキャリア網700やインターネット網500などを介して当該他の通信端末とデータ送受信を行うことができる。
なお、本実施の形態に係る携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300とは、他の端末に割り当てられるIPアドレスを利用して、サーバを介さずに当該他の通信端末とデータ送受信を行うことができる。すなわち、本実施の形態に係るネットワークシステム1に含まれる携帯電話100、カーナビゲーション装置200、パーソナルコンピュータ300は、いわゆるP2P(Peer to Peer)型のネットワークを構成することが可能である。
ここでは、各通信端末がサーバ400Aにアクセスする際には、すなわち各通信端末がインターネットにアクセスした際に、サーバ400Aあるいは他の図示しないサーバ装置などによってIPアドレスが割り当てられるものとする。IPアドレスの割り当て処理の詳細は公知であるので、ここでは説明を繰り返さない。
<本実施の形態に係るネットワークシステム1の動作概要>
次に、本実施の形態に係るネットワークシステム1の動作概要について説明する。図2は、本実施の形態に係るネットワークシステム1における動作概要を示すシーケンス図である。図3は、本実施の形態に係るネットワークシステム1におけるコンテンツの表示およびコンテンツデータの送受信を示すイメージ図である。
ただし、以下では、2つの通信端末、すなわち第1の携帯電話100Aと第2の携帯電話100Bとがコンテンツデータを送受信する場合について説明する。なお、3つ以上の通信端末がコンテンツデータを送受信することも可能である。
また、以下では、通信端末のそれぞれが、サーバ400Aに生成されたチャットルームを介して、コンテンツを送受信する場合について説明する。そして、第1の携帯電話100Aが新たなチャットルームを生成し、当該チャットルームに第2の携帯電話100Bを招待する場合について説明する。
図1から図3を参照して、まず、第1の携帯電話100A(図2において端末A)が、サーバ400AにIP登録(ログイン)を要求する(ステップS002)。第1の携帯電話100Aは、同時にIPアドレスを取得してもよいし、予めIPアドレスを取得していてもよい。より詳細には、第1の携帯電話100Aは、キャリア網700、インターネット網500を介して、サーバ400Aに第1の携帯電話100Aに関する情報(たとえば、IPアドレスやアプリケーションのバージョンなど)と第2の携帯電話100Bのメールアドレスと新たなチャットルームの生成を要求するメッセージとを送信する。
サーバ400Aは、その要求に応じて、チャットルームを生成する(ステップS004)。このとき、サーバ400Aは、チャットルームの生成が完了した旨を第1の携帯電話100Aに通知してもよい。サーバ400Aは、ルーム番号またはルーム名と参加中の通信端末のIPアドレスとを対応付けて格納する。
第1の携帯電話100Aは、新たなチャットルームを生成したこと、すなわちチャットルームへの招待を示すP2P参加要請メールを第2の携帯電話100Bに送信してもよい。より詳細には、第1の携帯電話100Aは、キャリア網700、インターネット網500を介して、P2P参加要請メールを第2の携帯電話100Bに送信する。
第2の携帯電話100Bは、自らチャットルームを検索し任意のチャットルームへの参加を決定した場合、あるいはチャットルーム参加要請メールを受信すると、サーバ400Aに第2の携帯電話100Bに関する情報(たとえば、IPアドレスやアプリケーションのバージョンなど)とそのチャットルームへ参加する旨のメッセージとを送信する(ステップS006)。第2の携帯電話100Bは、同時にIPアドレスを取得してもよいし、先にIPアドレスを取得してからサーバ400Aにアクセスしてもよい。
サーバ400Aは、そのメッセージを受け付けて、第2の携帯電話100BのIPアドレスを格納する(ステップS008)。そして、サーバ400Aは、第1の携帯電話100Aに、第2の携帯電話100Bがチャットルームに参加した旨と第2の携帯電話100Bに関する情報(たとえば、IPアドレスやアプリケーションのバージョンなど)とを送信する(ステップS010)。同時に、サーバ400Aは、第2の携帯電話100Bに、チャットルームへの参加を受け付けた旨と第1の携帯電話100Aに関する情報(たとえば、IPアドレスやアプリケーションのバージョンなど)とを送信する(ステップS012)。
第1の携帯電話100Aと第2の携帯電話100Bは、サーバ400Aによってマッチングされる。マッチングが完了すると、第1の携帯電話100Aは、自身の手書きデータの入力サンプリングレート(第1の入力サンプリングレート)を計測し、当該第1の入力サンプリングレートをサーバ400Aに送信する(ステップS014)。第2の携帯電話100Bは、自身の手書きデータの入力サンプリングレート(第2の入力サンプリングレート)を計測し、当該第2の入力サンプリングレートをサーバ400Aに送信する(ステップS016)。
このとき、サーバ400Aは、第1の入力サンプリングレートと第2の入力サンプリングレートとに基づいて、現在チャットルームに参加しているユーザの通信端末の最も高いサンプリングレートを基準サンプリングレートとして決定する。ここでは、第1の入力サンプリングレートが第2の入力サンプリングレートよりも高い、すなわち第1の携帯電話100Aの処理能力が第2の携帯電話100Bの処理能力よりも高いものとする。サーバ400Aは、第1の入力サンプリングレートを基準サンプリングレートに決定するものとする。
第1の携帯電話100Aは、ユーザからペン情報を受け付けて、ペン情報に関する情報をサーバ400Aに送信する(ステップS018)。第2の携帯電話100Bは、ユーザからペン情報を受け付けて、ペン情報に関する情報をサーバ400Aに送信する(ステップS020)。
サーバ400Aは、基準サンプリングレート(第1の入力サンプリングレート)と第2の入力サンプリングレートとの差が所定値以上であるか否かを判断する。たとえば、サーバ400Aは、基準サンプリングレートが第2の入力サンプリングレートの2倍以上であるか否かを判断する。以下では、まず、基準サンプリングレートと第2の入力サンプリングレートとの差が所定値未満である場合について説明する。
第1の携帯電話100Aが、タッチパネル102を介して、ユーザから手書き画像(図3において107X)の入力を受け付ける。より詳細には、ユーザがスタイラスペン120などをタッチパネル102に接触させると、第1の携帯電話100Aは第1の入力サンプリングレートで接触位置を順次検知する。すなわち、第1の携帯電話100Aは第1の入力サンプリング間隔毎に接触位置を順次検知する。第1の携帯電話100Aは、接触位置の推移を示す一連のデータ(x11,y11)(x12,y12)(x13,y13)(x14,y14)(x15,y16)をコンテンツデータ(位置情報)として取得する。第1の携帯電話100Aは、第1の入力サンプリングレートのコンテンツデータ(第1のコンテンツデータ)をサーバ400Aに送信する(ステップS022)。
同様に、第2の携帯電話100Bが、タッチパネル102を介して、ユーザから手書き画像(図3において107Y)の入力を受け付ける。より詳細には、ユーザがスタイラスペン120などをタッチパネル102に接触させると、第2の携帯電話100Bは第2の入力サンプリングレートで接触位置を順次検知する。すなわち、第2の携帯電話100Bは第2の入力サンプリング間隔毎に接触位置を順次検知する。第2の携帯電話100Bは、接触位置の推移を示す一連のデータ(x21,y21)(x23,y23)(x25,y25)をコンテンツデータとして取得する。第2の携帯電話100Bは、第2の入力サンプリングレートのコンテンツデータ(第2のコンテンツデータ)をサーバ400Aに送信する(ステップS024)。
基準サンプリングレートと第2の入力サンプリングレートとの差が所定値未満であるので、サーバ400Aは、第2の携帯電話100Bからの第2の入力サンプリングレートの第2のコンテンツデータを、そのまま、第1の携帯電話100Aへと送信する(ステップS026)。第1の携帯電話100Aは、第2の入力サンプリングレートの第2のコンテンツデータをディスプレイ107に表示する(図3において107Y)。
サーバ400Aは、第1の携帯電話100Aからの第1の入力サンプリングレートの第1のコンテンツデータを、そのまま、第2の携帯電話100Bへと送信する(ステップS028)。第2の携帯電話100Bは、第1の入力サンプリングレートの第1のコンテンツデータをディスプレイ107に表示する(図3において107X)。
次に、基準サンプリングレートと第2の入力サンプリングレートとの差が所定値以上である場合について説明する。
上記と同様に、第1の携帯電話100Aが、タッチパネル102を介して、ユーザから手書き画像(図3において107X)の入力を受け付ける。第1の携帯電話100Aは、接触位置の推移を示す一連のデータ(x11,y11)(x12,y12)(x13,y13)(x14,y14)(x15,y16)をコンテンツデータとして取得する。第1の携帯電話100Aは、第1の入力サンプリングレートのコンテンツデータ(第1のコンテンツデータ)をサーバ400Aに送信する(ステップS032)。
同様に、第2の携帯電話100Bが、タッチパネル102を介して、ユーザから手書き画像(図3において107Y)の入力を受け付ける。第2の携帯電話100Bは、接触位置の推移を示す一連のデータ(x21,y21)(x23,y23)(x25,y25)をコンテンツデータとして取得する。第2の携帯電話100Bは、第2の入力サンプリングレートのコンテンツデータ(第2のコンテンツデータ)をサーバ400Aに送信する(ステップS034)。
基準サンプリングレートと第2の入力サンプリングレートとの差が所定値以上であるので、図3に示すように、サーバ400Aは、第1の携帯電話100Aからの第1の入力サンプリングレートの第1のコンテンツデータを、第2の入力サンプリングレートまでダウンサンプリングする。すなわち、サーバ400Aは、接触位置の推移を示す一連のデータ(x11,y11)(x12,y12)(x13,y13)(x14,y14)(x15,y16)から、データ(x12,y12)(x14,y14)を削除することによって、データを間引きする(ステップS036)。
一方、サーバ400Aは、第2の携帯電話100Bからの第2の入力サンプリングレートの第2のコンテンツデータを、第1の入力サンプリングレートまでアップサンプリングする。すなわち、サーバ400Aは、接触位置の推移を示す一連のデータ(x21,y21)(x23,y23)(x25,y25)に基づいて、データ(x22,y22)(x24,y24)を生成することによって、データを補完する(ステップS036)。
サーバ400Aは、アップサンプリングされたコンテンツデータを第1の携帯電話100Aに送信する(ステップS038)。第1の携帯電話100Aは、アップサンプリングされた第1の入力サンプリングレートの第2のコンテンツデータをディスプレイ107に表示する(図3において107Y)。
サーバ400Aは、ダウンサンプリングされたコンテンツデータを第2の携帯電話100Bに送信する(ステップS040)。第2の携帯電話100Bは、ダウンサンプリングされた第2の入力サンプリングレートの第1のコンテンツデータをディスプレイ107に表示する(図3において107X)。
第1の携帯電話100Aが、サーバ400Aにサーバ/クライアント通信を切断する旨のメッセージを送信すると(ステップS042)、サーバ400Aは、第1の携帯電話100Aに切断する要求を受け付けた旨のメッセージを送信する(ステップS044)。
このように、本実施の形態に係るネットワークシステム1においては、サーバ400Aが、受信側の通信端末の入力サンプリングレートに基づいて、コンテンツデータに含まれるデータを削除(ダウンサンプリング)したり、生成(アップサンプリング)したりする。その結果、受信側の通信端末が、送信側の通信端末が送信したコンテンツデータを表示し易くなる。また、能力が比較的低い受信側の通信端末が、能力が比較的高い送信側の通信端末からのコンテンツデータを、処理速度を低減させることなく、表示し易くなる。
以下、このような機能を実現するためのネットワークシステム1の構成について詳述する。
<携帯電話100のハードウェア構成>
本実施の形態に係る携帯電話100のハードウェア構成について説明する。図4は、本施の形態に係る携帯電話100の外観を示すイメージ図である。図5は、本施の形態に係る携帯電話100のハードウェア構成を示すブロック図である。
図4および図5に示すように、本実施の形態に係る携帯電話100は、外部のネットワークとの間でデータを送受信する通信デバイス101と、プログラムや各種データベースを記憶するメモリ103と、CPU(Central Processing Unit)106と、ディスプレイ107と、外部音声が入力されるマイク108と、音声を出力するスピーカ109と、各種情報の入力を受け付ける各種ボタン110と、外部からの通信データや通話信号を受信した旨の音声を出力する第1の通知部111と、外部からの通信データや通話信号を受信した旨を表示する第2の通知部112とを含む。
本実施の形態に係るディスプレイ107は、液晶パネルやCRTから構成されるタッチパネル102を実現する。すなわち、本実施の形態に係る携帯電話100は、ディスプレイ107の上側(表側)にペンタブレット104が敷設されている。これによって、ユーザはスタイラスペン120などを用いることによって、ペンタブレット104を介して、図形情報などをCPU106に手書き入力することができる。ディスプレイ107(タッチパネル102)は、CPU106が出力したデータに基づいて、画像やテキストを表示する。
各種ボタン110は、キー入力操作などによってユーザから情報を受け付ける。たとえば、各種ボタン110は、通話を受け付けたり、通話を発したりするためのTELボタン110Aと、メールを受け付けたり、メールを発したりするためのメールボタン110Bと、P2P通信を受け付けたり、P2P通信を発したりするためのP2Pボタン110Cと、アドレス帳データを呼び出すアドレス帳ボタン110Dと、各種の処理を終了させるための終了ボタン110Eとを含む。すなわち、各種ボタン110は、通信デバイス101を介してP2P参加要請メールを受信したときに、ユーザから、チャットルームへ参加する命令や、メールの内容を表示させる命令などを選択可能に受け付ける。
第1の通知部111は、スピーカ109などを介して着信音を出力する。あるいは、第1の通知部111は、バイブレーション機能を有する。第1の通知部111は、着呼した際や、メールを受信した際や、P2P参加要請メールを受信した際に、音声を出力したり、携帯電話100を振動させたりする。
第2の通知部112は、着信したときに点滅するTEL用LED(Light Emitting Diode)112Aと、メールを受信したときに点滅するメール用LED112Bと、P2P通信を受信したときに点滅するP2P用LED112Cを含む。
CPU106は、携帯電話100の各部を制御する。たとえば、各種ボタン110を介してユーザから各種命令を受け付けて、通信デバイス101や通信デバイス101やネットワークを介して外部の通信端末とデータの送受信を行う。
通信デバイス101および通信デバイス101は、CPU106からの通信データを通信信号に変換し、その通信信号を図示しないアンテナを介して発信する。通信デバイス101および通信デバイス101は、アンテナを介して受信した通信信号を通信データに変換し、その通信データをCPU106に入力する。
メモリ103は、作業用メモリとして機能するRAM(Random Access Memory)や、制御プログラムなどを格納するROM(Read Only Memory)などによって実現される。メモリ103は、コンテンツデータ(たとえば、手書き画像データや背景画像データなど)を記憶する。
図6は、本実施の形態に係る携帯電話100のメモリ103に記憶されるコンテンツデータ1030を示すイメージ図である。図6を参照して、メモリ103は、処理速度情報1031と、基準処理速度情報1032と、位置情報1033と、ペン情報1034と、端末情報1035とを格納する。
処理速度情報1031は、サンプリング間隔(s_time)1031(サンプリングレート)として、スタイラスペン120あるいは指などのタッチパネル102に対する接触位置の検出間隔を含む。たとえば、携帯電話100のCPU106は、通常の作業時などに予めサンプリング間隔を取得して、当該サンプリング間隔をメモリ103に記憶しておく。あるいは、携帯電話100のCPU106は、通信開始前あるいは通信開始直後にユーザに手書き操作を促すことによって、タッチパネル102を介してサンプリング間隔を取得して、当該サンプリング間隔をメモリ103に記憶しておく。あるいは、携帯電話100のCPU106は、通信開始後に所定時間毎にサンプリング間隔を取得して、メモリ103のサンプリング間隔を更新する。
基準処理速度情報1032は、基準サンプリング間隔(ST)1032(基準サンプリングレート)として、通信中の(同一のチャットルームを用いて通信中の)通信端末のサンプリング間隔のうちの最も短いサンプリング間隔(最も高いサンプリングレート)を含む。
位置情報1033は、スタイラスペン120あるいは指などのタッチパネル102に対する接触位置を示す位置情報(x,y)を含む。位置情報1033は、ペンがタッチパネル102に接触しているか接触していないか、あるいはドラッグ中であるか否かなどを示す、ペン状態(s)を含む。
ペン情報1034は、現在選択されているペンの種類(n)、たとえば、通常のペン、消しゴム、レインボーペンなどの指定を含む。ペン情報1034は、ペンの属性(o)、たとえば、ペンの太さ、色などの指定を含む。
端末情報1035は、IPアドレス(ip)や、機種情報(mashine)や、OS情報(os)や、アプリ情報(appli)などを含む。「ip」は、通信端末のIPアドレスを示す。「mashine」は、通信端末の機種名や種別などを示す。「os」は、通信端末で使用されているosのバージョンを示す。「appli」は、現在使用されているアプリケーションプログラムのバージョンなどを含む。
本実施の形態に係る携帯電話100の各々は、図6に示すコンテンツデータを利用することによって、前述したような方法で(図1〜図3を参照。)、他の通信端末との間でコンテンツデータを送受信したり、コンテンツデータに基づいてディスプレイ107にコンテンツを表示したりすることができる。
<サーバ400Aのハードウェア構成>
次に、本実施の形態に係るサーバ400Aのハードウェア構成について説明する。以下では、まず、サーバ400Aのハードウェア構成について説明する。
図7は、本実施の形態に係るサーバ400Aのハードウェア構成を示すブロック図である。図7を参照して、本実施の形態に係るサーバ400Aは、相互に内部バス408で接続されたCPU405と、メモリ406と、固定ディスク407と、サーバ通信デバイス409とを含む。
メモリ406は、各種の情報を記憶するものであって、たとえば、CPU405でのプログラムの実行に必要なデータを一時的に記憶する。固定ディスク407は、CPU405が実行するプログラムやデータベースを記憶する。CPU405は、サーバ400Aの各要素を制御するものであって、各種の演算を実施する装置である。
サーバ通信デバイス409は、CPU405が出力したデータを電気信号へと変換して外部へ送信し、外部から受信した電気信号をデータに変換してCPU405に入力する。具体的には、サーバ通信デバイス409は、CPU405からのデータを、インターネット網500やキャリア網700などを介して他の携帯電話100やカーナビゲーション装置200やパーソナルコンピュータ300に送信する。そして、インターネット網500やキャリア網700を介して他の携帯電話100やカーナビゲーション装置200やパーソナルコンピュータ300から受信したデータを、CPU405に入力する。
ここで、メモリ406あるいは固定ディスク407に記憶されるデータについて説明する。図8は、本実施の形態に係るサーバ400Aのメモリ406あるいは固定ディスク407に記憶されるルーム管理テーブル406Aのデータの推移を示すイメージ図である。
図8に示すように、ルーム管理テーブル406Aは、ルーム名とIPアドレスとを対応付けて格納する。たとえば、ある時点においては、図8の上部に示すように、サーバ400Aにルーム名Rを有するチャットルーム、ルーム名Sを有するチャットルーム、ルーム名Tを有するチャットルームが生成されている。そして、ルーム名Rを有するチャットルームには、AというIPアドレスを有する通信端末と、CというIPアドレスを有する通信端末が入室している。ルーム名Sを有するチャットルームには、BというIPアドレスを有する通信端末が入室している。ルーム名Tを有するチャットルームには、DというIPアドレスを有する通信端末が入室している。
後述するように、ルーム名Rは、CPU406が、AというIPアドレスを有する通信端末のメールアドレスとBというIPアドレスを有する通信端末のメールアドレスに基づいて決定する。図8の上部に示す状態において、ルーム名Sを有するチャットルームに新たにEというIPアドレスを有する通信端末が入室すると、図8の下部に示すように、ルーム管理テーブル406Aはルーム名SとIPアドレスEとを対応付けて格納する。
具体的には、サーバ400Aにおいては、第1の携帯電話100Aが新たなチャットルームの生成を要求してきた際(図2におけるステップS002)に、CPU405が、第1の携帯電話100Aのメールアドレスと第2の携帯電話100Bのメールアドレスとに基づいてルーム名を生成した上で、ルーム管理テーブル406Aに当該ルーム名と第1の携帯電話100AのIPアドレスとを対応付けて格納する(図2におけるステップS004)。
そして、第2の携帯電話100Bがサーバ400Aにチャットルームへの参加を要求してきた際(図2におけるステップS006)に、CPU405が、ルーム管理テーブル406Aに当該ルーム名と第2の携帯電話100BのIPアドレスとを対応付けて格納する(図2におけるステップS008)。CPU406は、ルーム管理テーブル406Aから、当該ルーム名に対応する第1の携帯電話100AのIPアドレスを読み出す。CPU406は、第1の携帯電話100AのIPアドレスを第2の各通信端末に送信し、第2の携帯電話100BのIPアドレスを第1の携帯電話100Aに送信する。
図9は、本実施の形態に係るサーバ400Aのメモリ406に記憶されるコンテンツデータ4060を示すイメージ図である。図9を参照して、メモリ406は、コンテンツデータ4060として、端末IPアドレス4061と、受信バッファ4062と、ST情報4063と、処理速度情報4064と、送信バッファ4065と、中間バッファ4066とを格納する。
端末IPアドレス4061は、同一のチャットルームを用いて通信中の各通信端末のIPアドレスを含む。サーバ400AのCPU405は、通信端末がチャットルームに参加するときに、当該通信端末のIPアドレスを当該チャットルームに対応付けて格納する。
受信バッファ4062は、サーバ400Aが受信したデータを、当該データの送信元を特定するための情報(たとえば、IPアドレスなど)に対応付けて格納する。たとえば、サーバ400Aは、通信端末の各々から入力サンプリング間隔を受信して、当該入力サンプリング間隔を送信元のIPアドレスに対応付けてメモリ406に格納する。たとえば、サーバ400Aは、通信端末の各々からペン情報を受信して、当該ペン情報を送信元のIPアドレスに対応付けてメモリ406に格納する。
ST情報4063は、基準サンプリング間隔を格納する。サーバ400Aは、同一のチャットルームを用いて通信中の複数の通信端末から入力サンプリング間隔を受信して、最も短い入力サンプリング間隔を基準サンプリング間隔として対応する通信端末のIPアドレスに対応付けてメモリ406に格納する。
処理速度情報4064は、同一のチャットルームを用いて通信中の複数の通信端末の入力サンプリング間隔を格納する。サーバ400Aは、同一のチャットルームを用いて通信中の複数の通信端末から入力サンプリング間隔を受信して、当該入力サンプリング間隔を通信端末に対応付けてメモリ406に格納する。
送信バッファ4065は、サーバ400Aが送信すべきデータを、当該データの送信先を特定するための情報(たとえば、IPアドレスなど)に対応付けて格納する。たとえば、サーバ400Aは、第1の携帯電話100Aから受信したペン情報を第2の携帯電話100BのIPアドレスに対応付けてメモリ406に格納する。たとえば、サーバ400Aは、第1の携帯電話100Aから位置情報を受信して、当該位置情報を第2の携帯電話100BのIPアドレスに対応付けてメモリ406に格納する。
中間バッファ4066は、補完後の受信データ(位置情報)あるいは間引き前の送信データを格納する。たとえば、サーバ400Aは、第2の携帯電話100B(基準サンプリング間隔よりも長い入力サンプリング間隔を有する。)から受信した位置情報に基づいて補完された受信データをメモリ406に格納する。サーバ400Aは、第1の携帯電話100B(基準サンプリング間隔と同じ入力サンプリング間隔を有する。)から受信した位置情報を受信データとしてメモリ406に格納する。
<携帯電話100における通信開始前処理>
次に、本実施の形態に係る携帯電話100における通信開始前処理について説明する。図10は、本実施の形態に係る携帯電話100における通信開始前処理の処理手順を示すフローチャートである。
図10を参照して、携帯電話100のCPU106は、前述の方法に基づいて、サンプリング間隔を取得する(ステップS102)。CPU106は、メモリ103にs_timeが存在するか否かを判断する(ステップS104)。CPU106は、メモリ103にs_timeが存在する場合(ステップS104にてYESである場合)、今回取得したサンプリング間隔に基づいて、サンプリング間隔の平均を計算する(ステップS106)。CPU106は、当該平均をs_timeとしてメモリに保存する(ステップS108)。CPU106は、ステップS102からの処理を繰り返す。
CPU106は、メモリ103にs_timeが存在しない場合(ステップS104にてNOである場合)、今回取得したサンプリング間隔をs_timeとしてメモリ103に保存する(ステップS108)。
<携帯電話100における通信開始後処理>
次に、本実施の形態に係る携帯電話100における通信開始後処理について説明する。図11は、本実施の形態に係る携帯電話100における通信開始後処理の処理手順を示すフローチャートである。
図11を参照して、携帯電話100のCPU106は、通信開始前のs_timeをb_s_timeとしてメモリ103に保存する(ステップS202)。CPU106は、新たなサンプリング間隔を取得する(ステップS204)。
CPU106は、取得したサンプリング間隔がb_s_timeと大きく異なるか否かを判断する(ステップS206)。たとえば、CPU106は、サンプリング間隔がb_s_timeの2倍よりも大きいか、またはサンプリング間隔がb_s_timeの1/2よりも小さいかを判断する。取得したサンプリング間隔がb_s_timeと大きく異ならない場合(ステップS206にてNOである場合)、CPU106は、ステップS204からの処理を繰り返す。
取得したサンプリング間隔がb_s_timeと大きく異なる場合(ステップS206にてYESである場合)、CPU106は、取得したサンプリング間隔に基づいて、サンプリング間隔の平均を計算する(ステップS208)。CPU106は、サンプリング間隔の平均を、s_timeとしてメモリ103に保存する(ステップS210)。CPU106は、ステップS204からの処理を繰り返す。
<携帯電話100における手書き入力処理>
次に、本実施の形態に係る携帯電話100における手書き入力処理について説明する。図12は、本実施の形態に係る携帯電話100における手書き入力処理の処理手順を示すフローチャートである。
図12を参照して、携帯電話100のCPU106は、タッチパネル102を介して、ユーザからのペン情報の変更命令を受け付けたか否かを判断する(ステップS302)。CPU106は、タッチパネル102を介してユーザからのペン情報の変更命令を受け付けなかった場合(ステップS302にてNOである場合)、ステップS306からの処理を実行する。
CPU106は、タッチパネル102を介して、ユーザからのペン情報の変更命令を受け付けた場合(ステップS302にてYESである場合)、通信デバイス101を用いて、変更後のペン情報をサーバ400Aへと送信する(ステップS304)。
CPU106は、タッチパネル102を介して、スタイラスペン120がタッチパネル102に接触したか否かを判断する(ステップS308)。CPU106は、スタイラスペン120がタッチパネル102に接触しなかった場合(ステップS308にてNOである場合)、ステップS302からの処理を繰り返す。
CPU106は、スタイラスペン120がタッチパネル102に接触した場合(ステップS308にてYESである場合)、通信デバイス101を用いて、ペン状態(ペンダウン)とスタイラスペン120のタッチパネル102に対する接触位置を示す位置情報(x,y)とをサーバ400Aへと送信する(ステップS310)。CPU106は、サンプリング情報(サンプリング間隔)を取得する(ステップS312)。
CPU106は、タッチパネル102を介して、スタイラスペン120がタッチパネル102から離れたか否かを判断する(ステップS314)。CPU106は、スタイラスペン120がタッチパネル102から離れた場合(ステップS314にてYESである場合)、通信デバイス101を用いて、ペン状態(ペンアップ)とスタイラスペン120のタッチパネル102に対する接触位置を示す位置情報(x,y)とをサーバ400Aへと送信する(ステップS316)。CPU106は、ステップS302からの処理を繰り返す。
CPU106は、スタイラスペン120がタッチパネル102から離れていない(すなわち、スタイラスペン120がタッチパネル102と接触している)場合(ステップS314にてNOである場合)、通信デバイス101を用いて、ペン状態(ドラッグ)とスタイラスペン120のタッチパネル102に対する接触位置を示す位置情報(x,y)とをサーバ400Aへと送信する。CPU106は、ステップS312からの処理を繰り返す。
<携帯電話100における描画処理>
次に、本実施の形態に係る携帯電話100における描画処理について説明する。図13は、本実施の形態に係る携帯電話100における描画処理の処理手順を示すフローチャートである。
図13を参照して、携帯電話100のCPU106は、通信デバイス101を介してサーバ400Aからデータを受信したか否かを判断する(ステップS402)。CPU106は、データを受信していないと判断した場合(ステップS402にてNOである場合)、ステップS402の処理を繰り返す。
CPU106は、データを受信したと判断した場合(ステップS402にてYESである場合)、受信したデータにペン情報が含まれるか否かを判断する(ステップS404)。CPU106は、受信したデータにペン情報が含まれる場合(ステップS404にてYESである場合)、描画用のペン情報を受信したペン情報に変更し(ステップS406)、ステップS402からの処理を繰り返す。
CPU106は、受信したデータにペン情報が含まれない場合(ステップS404にてNOである場合)、受信したデータに位置情報が含まれるか否かを判断する(ステップS408)。CPU106は、受信したデータに位置情報が含まれない場合(ステップS408にてNOである場合)、その他の受信したデータに応じた処理を実行する(ステップS410)。CPU106は、ステップS402からの処理を繰り返す。
CPU106は、受信したデータに位置情報が含まれる場合(ステップS408にてYESである場合)、ペン状態がペンダウンであるか否かを判断する(ステップS412)。CPU106は、ペン状態がペンダウンでない場合(ステップS412にてNOである場合)、ディスプレイ107を用いて、(x1,y1)に対応する位置と今回受信した位置情報(x,y)に対応する位置との間に、ペン情報(ペン種類、ペン属性)に基づいて描画する(ステップS414)。CPU106は、ステップS402からの処理を繰り返す。
ペン状態がペンダウンである場合(ステップS412にてYESである場合)、CPU106は、ディスプレイ107を用いて、今回受信した位置情報(x,y)に対応する位置に、ペン情報(ペン種類、ペン属性)に基づいて描画する(ステップS416)。CPU106は、位置情報(x,y)をメモリ103の(x1,y1)に格納する。
<サーバ400Aにおける受信処理>
次に、本実施の形態に係るサーバ400Aにおける受信処理について説明する。図14は、本実施の形態に係るサーバ400Aにおける受信処理の処理手順を示すフローチャートである。
図14を参照して、サーバ400AのCPU405は、受信バッファ4062からデータを取り出す(ステップS502)。CPU405は、受信データに処理速度情報が含まれているか否かを判断する(ステップS504)。CPU405は、受信データに処理速度情報が含まれている場合(ステップS504にてYESである場合)、処理速度情報処理(ステップS600)を実行する。処理速度情報処理(ステップS600)については後述する。CPU405は、受信処理を終了する。
CPU405は、受信データに処理速度情報が含まれていない場合(ステップS504にてNOである場合)、受信データにペン情報が含まれているか否かを判断する(ステップS506)。CPU405は、受信データにペン情報が含まれている場合(ステップS506にてYESである場合)、ペン情報処理(ステップS700)を実行する。ペン情報処理(ステップS700)については後述する。CPU405は、受信処理を終了する。
CPU405は、受信データにペン情報が含まれていない場合(ステップS506にてNOである場合)、受信データに位置情報が含まれているか否かを判断する(ステップS508)。CPU405は、受信データに位置情報が含まれている場合(ステップS508にてYESである場合)、位置情報受信処理(ステップS800)を実行する。位置情報受信処理(ステップS800)については後述する。CPU405は、受信処理を終了する。
CPU405は、受信データに位置情報が含まれていない場合(ステップS508にてNOである場合)、その他の受信データに応じた処理を実行する(ステップS510)。CPU405は、受信処理を終了する。
<サーバ400Aにおける処理速度情報処理>
次に、本実施の形態に係るサーバ400Aにおける処理速度情報処理について説明する。図15は、本実施の形態に係るサーバ400Aにおける処理速度情報処理の処理手順を示すフローチャートである。
図15を参照して、サーバ400AのCPU405は、メモリ406を参照して、基準サンプリング間隔STが設定されているか否かを判断する(ステップS602)。CPU405は、メモリ406において基準サンプリング間隔STが設定されている場合(ステップS602にてYESである場合)、ステップS606からの処理を実行する。
CPU405は、基準サンプリング間隔STが設定されていない場合(ステップS602にてNOである場合)、基準サンプリング間隔STが受信データ(入力サンプリング間隔)よりも大きいか否かを判断する(ステップS604)。CPU405は、基準サンプリング間隔が受信データ(入力サンプリング間隔)よりも大きい場合(ステップS604にてYESである場合)、ST情報4063を更新する(ステップS606)。より詳細には、CPU405は、受信データ(入力サンプリング間隔)をメモリ406のST情報4063のSTに代入し、送信元のIPアドレスをメモリ406のST情報4063のIPアドレスに代入する。
基準サンプリング間隔STが受信データ(入力サンプリング間隔)以下である場合(ステップS604にてNOである場合)、処理速度情報を更新する(ステップS608)。より詳細には、CPU405は、受信データ(入力サンプリング間隔)をメモリ406の処理速度情報4064のs_timeに代入する。CPU405は、送信元IPアドレスをメモリ406の処理速度情報4064のIPアドレスに代入する。CPU405は、処理速度情報処理を終了する。CPU405は、ステップS602からの処理を実行する。
<サーバ400Aにおけるペン情報処理>
次に、本実施の形態に係るサーバ400Aにおけるペン情報処理について説明する。図16は、本実施の形態に係るサーバ400Aにおけるペン情報処理の処理手順を示すフローチャートである。
図16を参照して、サーバ400AのCPU405は、メモリ406の端末IPアドレス4061からIPアドレスを取得する(ステップS702)。CPU405は取得したIPアドレスが送信元のIPアドレスと同じであるか否かを判断する(ステップS704)。CPU405は、取得したIPアドレスが送信元IPアドレスと同じである場合(ステップS704にてYESである場合)、ステップS708からの処理を実行する。
CPU405は、取得したIPアドレスが送信元IPアドレスと異なる場合(ステップS704にてNOである場合)、メモリ406の送信バッファ4065にデータを書込む(ステップS706)。より詳細には、CPU405は、取得したIPアドレスをメモリ406の送信バッファ4065の送信先IPアドレスに代入する。CPU405は、受信データを、メモリ406の送信バッファ4065の送信データに代入する。
CPU405は、端末IPアドレス4061に次のデータ(IPアドレス)が存在するか否かを判断する(ステップS708)。CPU405は、端末IPアドレス4061に次のデータ(IPアドレス)が存在する場合(ステップS708にてYESである場合)、ステップS702からの処理を繰り返す。
CPU405は、端末IPアドレス4061に次のデータ(IPアドレス)が存在しない場合(ステップS708にてNOである場合)、ペン情報処理を終了する。
<サーバ400Aにおける位置情報受信処理>
次に、本実施の形態に係るサーバ400Aにおける位置情報受信処理について説明する。図17は、本実施の形態に係るサーバ400Aにおける位置情報受信処理の処理手順を示すフローチャートである。
図17を参照して、サーバ400AのCPU405は、基準サンプリング間隔STが送信元IPアドレスに対応するs_time以下であるか否かを判断する(ステップS802)。CPU405は、基準サンプリング間隔STが送信元IPアドレスに対応するs_time以下である場合(ステップS802にてYESである場合)、メモリ406の中間バッファ4066にデータを書込む(ステップS804)。より詳細には、CPU405は、送信元のIPアドレスをメモリ406の中間バッファ4066の送信元IPアドレスに代入する。CPU405は、受信データをメモリ406の中間バッファ4066の位置情報に代入する。CPU405は、位置情報受信処理を終了する。
CPU405は、基準サンプリング間隔STが送信元IPアドレスに対応するs_timeよりも大きい場合(ステップS802にてNOである場合)、基準サンプリング間隔STの送信元携帯電話に対応するs_timeに対する割合が所定値(たとえば2倍)以上であるか否かを判断する(ステップS806)。CPU405は、基準サンプリング間隔STが送信元の携帯電話100に対応するs_timeの2倍以上である場合(ステップS806にてYESである場合)、補完処理を行ない位置情報を増加させる(ステップS808)。
CPU405は、メモリ406の中間バッファ4066に補完データを書込む(ステップS810)。より詳細には、CPU405は送信元のIPアドレスをメモリ406の中間バッファ4066の送信元IPアドレスに代入する。CPU405は、生成した補完データと受信データとをメモリ406の中間バッファ4066の位置情報に代入する。CPU405は、位置情報受信処理を終了する。
CPU405は、基準サンプリング間隔STが送信元の携帯電話100に対応するs_timeの2倍以上でない場合(ステップS806にてNOである場合)、メモリ406の中間バッファ4066にデータを書込む(ステップS812)。より詳細には、CPU405は、送信元のIPアドレスをメモリ406の中間バッファ4066の送信元IPアドレスに代入する。CPU405は、受信データをメモリ406の中間バッファ4066の位置情報に代入する。CPU405は、位置情報受信処理を終了する。
<サーバ400Aにおける中間バッファ処理>
次に、本実施の形態に係るサーバ400Aにおける中間バッファ処理について説明する。図18は、本実施の形態に係るサーバ400Aにおける中間バッファ処理の処理手順を示すフローチャートである。なお、以下の中間バッファ処理は上記位置情報受信処理において中間バッファにデータが書込まれたときに実行される処理である。
図18を参照して、サーバ400AのCPU405はメモリ406の中間バッファ4066からデータを取り出す(ステップS902)。CPU405は、端末IPアドレス4061からIPアドレスを取得する(ステップS904)。CPU405は、取得したIPアドレスが送信元のIPアドレスと同じであるか否かを判断する(ステップS906)。CPU405は、取得したIPアドレスが送信元のIPアドレスと同じである場合(ステップS906にてYESである場合)、ステップS908からの処理を実行する。
CPU405は、取得したIPアドレスが送信元のIPアドレスと異なる場合(ステップS906にてNOである場合)、送信データ処理(ステップS1000)を実行する。送信データ処理(ステップS1000)については後述する。
CPU405は、端末IPアドレス4061に次のデータ(IPアドレス)が存在するか否かを判断する(ステップS908)。CPU405は、端末IPアドレス4061に次のデータが存在する場合(ステップS908にてYESである場合)、ステップS904からの処理を繰り返す。CPU405は、端末IPアドレス4061に次のデータが存在しない場合(ステップS908にてNOである場合)、中間バッファ処理を終了する。
<サーバ400Aにおける送信データ処理>
次に、本実施の形態に係るサーバ400Aにおける送信データ処理について説明する。図19は、本実施の形態に係るサーバ400Aにおける送信データ処理の処理手順を示すフローチャートである。
図19を参照して、サーバ400AのCPU405は、基準サンプリング間隔STが送信元IPアドレスに対応するs_time以下であるか否かを判断する(ステップS1002)。CPU405は、基準サンプリング間隔STが送信元IPアドレスに対応するs_time以下である場合(ステップS1002にてYESである場合)、メモリ406の送信バッファ4065にデータを書込む(ステップS1004)。より詳細には、CPU405は、IPアドレスをメモリ406の送信バッファ4065の送信先IPアドレスに代入する。CPU405は、位置情報をメモリ406の送信バッファ4065の位置情報に代入する。CPU405は送信データ処理を終了する。
CPU405は、基準サンプリング間隔STが送信元IPアドレスに対応するs_timeよりも大きい場合(ステップS1002にてNOである場合)、位置情報に含まれるペン状態がペンダウンであるか否かを判断する(ステップS1006)。CPU405は、位置情報に含まれるペン情報がペンダウンである場合(ステップS1006にてYESである場合)、メモリ406の送信バッファ4065にデータを書込む(ステップS1008)。より詳細には、CPU405は、IPアドレスをメモリ406の送信バッファ4065の送信先IPアドレスに代入する。CPU405は、位置情報をメモリ406の送信バッファ4065の位置情報に代入する。
CPU405は、入力サンプリング間隔(s_time)と基準サンプリング間隔STとの比率に基づいて、間引くべき頻度を決定する(ステップS1010)。たとえば、CPU405は、1:2の場合、頻度を2回に設定し、1:3の場合、頻度を3回に設定する。以下では、当該頻度をdn(XtoY)とする。
より詳細には、dn(XtoY)は1つの変数ではない。Xは送信元の端末を表わし、Yは送信先の端末を表わす。端末とIPアドレスとの関係は、端末IPアドレス4061に記憶されている。たとえば、送信元IPアドレスが(61.198.XXX.001)のとき、送信元端末がAとなり、XはAとなる。送信先IPアドレスが(61.198.XXX.002)のとき、送信先端末はBとなり、YはBとなる。このとき、dn(XtoY)は、dn(AtoB)となる。そして、端末Aから端末Bへのデータの間引きの頻度は、変数dn(AtoB)に記憶される。以下の(XtoY)も、上記と同様の意味を有する。
CPU405は、n(XtoY)に位置を代入する(ステップS1012)。CPU405は、送信データ処理を終了する。
CPU405は、位置情報に含まれるペン状態がペンダウンでない場合(ステップS1006にてNOである場合)、位置情報に含まれるペン状態がペンアップであるか否かを判断する(ステップS1014)。CPU405は、位置情報に含まれるペン状態がペンアップである場合(ステップS1014にてYESである場合)、メモリ406の送信バッファ4065にデータを書込む(ステップS1016)。より詳細には、CPU405は、IPアドレスをメモリ406の送信バッファ4065の送信先IPアドレスに代入する。CPU405は、位置情報をメモリ406の送信バッファ4065の位置情報に代入する。CPU405は、送信データ処理を終了する。
CPU405は、位置情報に含まれるペン状態がペンアップでない場合、すなわちドラッグの状態である場合(ステップS1014にてNOである場合)、メモリ406を参照して、n(XtoY)の値がdn(XtoY)の値と等しいか否かを判断する(ステップS1018)。CPU405は、n(XtoY)の値がdn(XtoY)の値と等しい場合(ステップS1018にてYESである場合)、メモリ406の送信バッファ4065にデータを書込む(ステップS1020)。より詳細には、CPU405は、IPアドレスを、メモリ406の送信バッファ4065の送信先IPアドレスに代入する。CPU405は、位置情報をメモリ406の送信バッファ4065の位置情報に代入する。
CPU405は、メモリ406のn(XtoY)に1を代入する(ステップS1022)。CPU405は、送信データ処理を終了する。
CPU405は、n(XtoY)の値がdn(XtoY)の値と異なる場合(ステップS1018にてNOである場合)、n(XtoY)をインクリメントする(ステップS1024)。CPU405は、送信データ処理を終了する。
<サーバ400Aにおける送信バッファ処理>
次に、本実施の形態に係るサーバ400Aにおける送信バッファ処理について説明する。図20は、本実施の形態に係るサーバ400Aにおける送信バッファ処理の処理手順を示すフローチャートである。なお、送信バッファ処理は、上記送信データ処理において送信バッファにデータが書込まれたときに実行される処理である。
図20を参照して、CPU405は、メモリ406の送信バッファ4065からデータを取り出す(ステップS1102)。CPU405は、サーバ通信デバイス409を用いて、取り出したデータを送信先IPアドレスが割り当てられている携帯電話100へと送信する(ステップS1104)。
[実施の形態2]
次に、本発明の実施の形態2について説明する。上述の実施の形態1に係るネットワークシステム1では、サーバ400Aが、第1の携帯電話100Aのためにコンテンツデータをアップサンプリングしたり、第2の携帯電話100Bのためにコンテンツデータをダウンサンプリングしたりするものであった。一方、本実施の形態に係るネットワークシステム1では、第1の携帯電話100Aが、第2の携帯電話100Bのためにコンテンツデータをダウンサンプリングし、第1の携帯電話100Aのためにコンテンツデータをアップサンプリングするものである。
すなわち、本実施の形態に係る携帯電話100は、実施の形態1に係るサーバ400Aの機能の一部を有するものである。そして、以下の実施の形態2で説明される形態に限定されるものではなく、サーバ400Aが有する機能のうちのどの部分を携帯電話100に装備するかは適宜選択あるいは修正されうるものである。
なお、実施の形態1に係るネットワークシステム1と同様の構成については、説明を繰り返さない。
まず、本実施の形態に係るネットワークシステム1の全体構成に関して、携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300とは、他の端末に割り当てられるIPアドレスを利用して、サーバを介さずに当該他の通信端末とデータ送受信を行うものである。すなわち、本実施の形態に係るネットワークシステム1に含まれる携帯電話100、カーナビゲーション装置200、パーソナルコンピュータ300は、いわゆるP2P(Pear to Pear)型のネットワークを構成することが可能である。
<本実施の形態に係るネットワークシステム1の動作概要>
次に、本実施の形態に係るネットワークシステム1の動作概要について説明する。図21は、本実施の形態に係るネットワークシステム1における動作概要を示すシーケンス図である。図22は、本実施の形態に係るネットワークシステム1におけるコンテンツの表示およびコンテンツデータの送受信を示すイメージ図である。
図21および図22を参照して、本実施の形態に係る各通信端末は、P2P型のデータ送受信を行うために、はじめに互いのIPアドレスを交換(取得)する必要がある。そして、各通信端末は、IPアドレスを取得したのちに、P2P型のデータ送受信によってメッセージや添付ファイルなどを他の通信端末に送信する。
ただし、以下では、2つの通信端末、すなわち第1の携帯電話100Aと第2の携帯電話100Bとがコンテンツデータを送受信する場合について説明する。なお、3つ以上の通信端末がコンテンツデータを送受信することも可能である。たとえば、3つ以上の通信端末がコンテンツデータを送受信する場合には、最も処理能力が高い通信端末が、他の通信端末のためにコンテンツデータのアップサンプリングおよびダウンサンプリングを実行する。
あるいは、3つ以上の通信端末がコンテンツデータを送受信する場合にも、2つの通信端末間でより処理能力が高い通信端末が相手の通信端末のために、コンテンツデータのアップサンプリングおよびダウンサンプリングを実行してもよい。より詳細には、1番処理能力が高い通信端末は、2番目および3番目の通信端末へコンテンツデータを送信する際にダウンサンプリングを実行し、2番目および3番目の通信端末からコンテンツデータを受信する際にアップサンプリングを実行する。2番目に処理能力が高い通信端末は、3番目の通信端末へコンテンツデータを送信する際のみダウンサンプリングを実行し、3番目の通信端末からコンテンツデータを受信する際のみアップサンプリングを実行すればよい。3番目の通信端末は、ダウンサンプリングもアップサンプリングも行なう必要がない。
また、以下では、第1の携帯電話100Aが新たなチャットルームを生成し、当該チャットルームに第2の携帯電話100Bを招待する場合について説明する。そして、通信端末のそれぞれが、P2P通信中に、マッチングサーバ400Bを介さずにコンテンツデータを送受信する場合について説明する。
図1、図21、図22を参照して、まず、第1の携帯電話100A(図21において端末A)が、マッチングサーバ400BにIP登録(ログイン)を要求する(ステップS052)。第1の携帯電話100Aは、同時にIPアドレスを取得してもよいし、予めIPアドレスを取得していてもよい。より詳細には、第1の携帯電話100Aは、キャリア網700、インターネット網500を介して、マッチングサーバ400Bに第1の携帯電話100Aに関する情報(たとえば、メールアドレスやIPアドレスなど)と第2の携帯電話100Bのメールアドレスと新たなチャットルームの生成を要求するメッセージとを送信する。
マッチングサーバ400Bは、その要求に応じて、第1の携帯電話100AのメールアドレスをそのIPアドレスに対応付けて格納する。そして、マッチングサーバ400Bは、第1の携帯電話100Aのメールアドレスと第2の携帯電話100Bのメールアドレスとに基づいて、ルーム名を生成し、当該ルーム名のチャットルームを生成する(ステップS054)。このとき、マッチングサーバ400Bは、チャットルームの生成が完了した旨を第1の携帯電話100Aに通知してもよい。マッチングサーバ400Bは、ルーム名と参加中の通信端末のIPアドレスとを対応付けて格納する。
あるいは、第1の携帯電話100Aは、第1の携帯電話100Aのメールアドレスと第2の携帯電話100Bのメールアドレスとに基づいて、新たなチャットルームのルーム名を生成し、当該ルーム名をマッチングサーバ400Bに送信する。マッチングサーバ400Bは、ルーム名に基づいて、新たなチャットルームを生成する。
第1の携帯電話100Aは、新たなチャットルームを生成したこと、すなわちチャットルームへの招待を示すP2P参加要請メールを第2の携帯電話100Bに送信する。より詳細には、第1の携帯電話100Aは、キャリア網700、インターネット網500を介して、P2P参加要請メールを第2の携帯電話100Bに送信する。
第2の携帯電話100Bは、P2P参加要請メールを受信すると、第1の携帯電話100Aのメールアドレスと第2の携帯電話100Bのメールアドレスとに基づいてルーム名を生成し、マッチングサーバ400Bに第2の携帯電話100Bに関する情報(たとえば、メールアドレスやIPアドレスなど)とそのルーム名を有するチャットルームへ参加する旨のメッセージとを送信する(ステップS056)。第2の携帯電話100Bは、同時にIPアドレスを取得してもよいし、先にIPアドレスを取得してからマッチングサーバ400Bにアクセスしてもよい。
マッチングサーバ400Bは、そのメッセージを受け付けて、第2の携帯電話100Bのメールアドレスがルーム名に対応するものであるか否かを判断した上で、第2の携帯電話100BのメールアドレスをIPアドレスに対応付けて格納する(ステップS058)。そして、マッチングサーバ400Bは、第1の携帯電話100Aに、第2の携帯電話100Bがチャットルームに参加した旨と第2の携帯電話100BのIPアドレスとを送信する(ステップS060)。同時に、マッチングサーバ400Bは、第2の携帯電話100Bに、チャットルームへの参加を受け付けた旨と第1の携帯電話100AのIPアドレスとを送信する(ステップS062)。
第1の携帯電話100Aと第2の携帯電話100Bは、相手のメールアドレスやIPアドレスを取得して、互いを認証する。すなわち、第1の携帯電話100Aは、第2の携帯電話100BにP2P通信接続要求を送信する(ステップS064)。第2の携帯電話100Bは、第1の携帯電話100Aに接続を許可するメッセージを送信する。
このとき、第2の携帯電話100Bは、自身の手書きデータの入力サンプリングレート(第2の入力サンプリングレート)を計測し、当該第2の入力サンプリングレートも第1の携帯電話100Aに送信する(ステップS066)。第1の携帯電話100Aは、要求を許可するメッセージを受信して、自身の手書きデータの入力サンプリングレート(第1の入力サンプリングレート)を計測し、当該第1の入力サンプリングレートを第2の携帯電話100Bに送信する(ステップS068)。
そして、第1の携帯電話100Aと第2の携帯電話100Bとは、第1の入力サンプリングレートと第2の入力サンプリングレートとに基づいて、現在チャットルームに参加しているユーザの通信端末の最も高いサンプリングレートを基準サンプリングレートとして決定する。ここでは、第1の入力サンプリングレートが第2の入力サンプリングレートよりも高い、すなわち第1の携帯電話100Aの処理能力が第2の携帯電話100Bの処理能力よりも高いものとする。
第1の携帯電話100Aおよび第2の携帯電話100Bは、第1の入力サンプリングレートを基準サンプリングレートに決定するものとする。同時に、第1の携帯電話100Aと第2の携帯電話100Bとは、相対的に処理能力が高い第1の携帯電話100Aを親機として決定し(ステップS070)、相対的に処理能力が低い第2の携帯電話100Bを子機として決定する(ステップS072)。
第1の携帯電話100Aは、ユーザからペン情報を受け付けて、ペン情報に関する情報を第2の携帯電話100Bに送信し、第2の携帯電話100Bは、ユーザからペン情報を受け付けて、ペン情報に関する情報を第1の携帯電話100Aに送信する(ステップS074)。
第1の携帯電話100Aは、基準サンプリングレート(第1の入力サンプリングレート)と第2の入力サンプリングレートとの差が所定値以上であるか否かを判断する。たとえば、第1の携帯電話100Aは、基準サンプリングレートが第2の入力サンプリングレートの2倍以上であるか否かを判断する。以下では、まず、基準サンプリングレートと第2の入力サンプリングレートとの差が所定値未満である場合について説明する。
第1の携帯電話100Aが、タッチパネル102を介して、ユーザから手書き画像(図22において107X)の入力を受け付ける。より詳細には、ユーザがスタイラスペン120などをタッチパネル102に接触させると、第1の携帯電話100Aは第1の入力サンプリングレートで接触位置を順次検知する。すなわち、第1の携帯電話100Aは第1の入力サンプリング間隔毎に接触位置を順次検知する。第1の携帯電話100Aは、接触位置の推移を示す一連のデータ(x11,y11)(x12,y12)(x13,y13)(x14,y14)(x15,y16)をコンテンツデータとして取得する。
基準サンプリングレートと第2の入力サンプリングレートとの差が所定値未満であるので、第1の携帯電話100Aは、第1の入力サンプリングレートのコンテンツデータ(第1のコンテンツデータ)を、そのまま、第2の携帯電話100Bに送信する(ステップS076)。
同様に、第2の携帯電話100Bが、タッチパネル102を介して、ユーザから手書き画像(図22において107Y)の入力を受け付ける。より詳細には、ユーザがスタイラスペン120などをタッチパネル102に接触させると、第2の携帯電話100Bは第2の入力サンプリングレートで接触位置を順次検知する。すなわち、第2の携帯電話100Bは第2の入力サンプリング間隔毎に接触位置を順次検知する。第2の携帯電話100Bは、接触位置の推移を示す一連のデータ(x21,y21)(x23,y23)(x25,y25)をコンテンツデータとして取得する。第2の携帯電話100Bは、第2の入力サンプリングレートのコンテンツデータ(第2のコンテンツデータ)を、そのまま、第1の携帯電話100Aに送信する(ステップS076)。
基準サンプリングレートと第2の入力サンプリングレートとの差が所定値未満であるので、第1の携帯電話100Aは、第2の携帯電話100Bからの第2の入力サンプリングレートの第2のコンテンツデータに基づいて、そのまま、コンテンツを表示する。第2の携帯電話100Bは、第1の携帯電話100Aからの第1の入力サンプリングレートの第1のコンテンツデータに基づいて、そのまま、コンテンツを表示する。
次に、基準サンプリングレートと第2の入力サンプリングレートとの差が所定値以上である場合について説明する。
上記と同様に、第1の携帯電話100Aが、タッチパネル102を介して、ユーザから手書き画像(図22において107X)の入力を受け付ける。第1の携帯電話100Aは、接触位置の推移を示す一連のデータ(x11,y11)(x12,y12)(x13,y13)(x14,y14)(x15,y16)をコンテンツデータとして取得する。
基準サンプリングレートと第2の入力サンプリングレートとの差が所定値以上であるので、図22に示すように、本実施の形態に係る第1の携帯電話100Aは、第1の入力サンプリングレートの第1のコンテンツデータを、第2の入力サンプリングレートまでダウンサンプリングする。すなわち、第1の携帯電話100Aは、接触位置の推移を示す一連のデータ(x11,y11)(x12,y12)(x13,y13)(x14,y14)(x15,y16)から、データ(x12,y12)(x14,y14)を削除することによって、データを間引きする(ステップS036)。
そして、第1の携帯電話100Aは、第2の入力サンプリングレートのコンテンツデータ(第1のコンテンツデータ)を第2の携帯電話100Bに送信する(ステップS078)。第2の携帯電話100Bは、第1の携帯電話100Aからの第2の入力サンプリングレートの第1のコンテンツデータに基づいて、コンテンツ(図22の107X)を表示する。
同様に、第2の携帯電話100Bが、タッチパネル102を介して、ユーザから手書き画像(図22において107Y)の入力を受け付ける。第2の携帯電話100Bは、接触位置の推移を示す一連のデータ(x21,y21)(x23,y23)(x25,y25)をコンテンツデータとして取得する。第2の携帯電話100Bは、第2の入力サンプリングレートのコンテンツデータ(第2のコンテンツデータ)を、そのまま、第1の携帯電話100Aに送信する(ステップS080)。
基準サンプリングレートと第2の入力サンプリングレートとの差が所定値以上であるので、図22に示すように、本実施の形態に係る第1の携帯電話100Aは、第2の携帯電話100Bからの第2の入力サンプリングレートの第2のコンテンツデータを、第1の入力サンプリングレートまでアップサンプリングする。すなわち、マッチングサーバ400Bは、接触位置の推移を示す一連のデータ(x21,y21)(x23,y23)(x25,y25)に基づいて、データ(x22,y22)(x24,y24)を生成することによって、データを補完する(ステップS082)。第1の携帯電話100Aは、第1の入力サンプリングレートの第2のコンテンツデータに基づいて、コンテンツ(図22の107Y)を表示する。
第1の携帯電話100Aが、第2の携帯電話100BにP2P通信を切断する旨のメッセージを送信すると(ステップS084)、第2の携帯電話100Bは、第1の携帯電話100Aに切断する要求を受け付けた旨のメッセージを送信する(ステップS086)。本実施の形態に係る第1の携帯電話100Aは、マッチングサーバ400Bにチャットルームの削除要求を送信する。マッチングサーバ400Bは、当該削除要求に応じてチャットルームを削除する。
このように、本実施の形態に係るネットワークシステム1においては、第1の携帯電話100Aが、第2の携帯電話100Bの入力サンプリングレートに基づいて、第1のコンテンツデータに含まれるデータを削除したり、第2のコンテンツデータに含まれるべきデータを生成したりする。その結果、第1の携帯電話100Aおよび第2の携帯電話100Bが、互いに相手が送信したコンテンツデータを表示し易くなる。また、能力が比較的低い第2の携帯電話100Bが、能力が比較的高い第1の携帯電話100Aからのコンテンツデータを、処理速度を低減させることなく、表示し易くなる。
<ハードウェア構成および処理手順>
本実施の形態に係る携帯電話100のハードウェア構成は、実施の形態1のそれと略同様であるため、ここでは詳細な説明を繰り返さない。また、本実施の形態に係るマッチングサーバ400Bのハードウェア構成は、実施の形態1のサーバ400Aのそれと略同様であるため、ここでは詳細な説明を繰り返さない。ただし、より詳細には、本実施の形態に係るコンテンツデータのアップサンプリングやダウンサンプリングを実行する携帯電話100のメモリ103は、実施の形態1に係るサーバ400Aが記憶する端末IPアドレス4061と、受信バッファ4062と、ST情報4063と、処理速度情報4064と、送信バッファ4065と、中間バッファ4066とを記憶する。
そして、本実施の形態に係る携帯電話100における処理は、実施の形態1のそれ同様であるため、ここでは詳細な説明を繰り返さない。ただし、より詳細には、本実施の形態に係る携帯電話100は、手書き処理においてペン情報やペン状態や位置情報を、マッチングサーバ400Bを介さずに他の携帯電話100へと送信する。また、本実施の形態に係る携帯電話100は、描画処理においてペン情報やペン状態や位置情報を、マッチングサーバ400Bを介さずに他の携帯電話100から受信する。
そして、本実施の形態に係る携帯電話100は、他の携帯電話100から位置情報を受信した際(S412〜S418)に、実施の形態1に係る位置情報受信処理を実行する。また、本実施の形態に係る携帯電話100は、他の携帯電話100に位置情報を送信する際(S310、S316、S318)に、実施の形態1に係る中間バッファ処理と送信データ処理と送信バッファ処理とを実行する。
前述したように、本実施の形態に係る携帯電話100は、実施の形態1に係るサーバ400Aの機能の一部を有するものである。そして、実施の形態2で説明された形態に限定されるものではなく、サーバ400Aが有する機能のうちのどの部分を携帯電話100に装備するかは適宜選択あるいは修正されうるものである。
<その他の実施の形態>
本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード(ICメモリカード)、ROM(マスクROM、フラッシュEEPROMなど)などを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 ネットワークシステム、100,100A,100B,100C 携帯電話、101 通信デバイス、102 タッチパネル、103 メモリ、104 ペンタブレット、106 CPU、107 ディスプレイ、108 マイク、109 スピーカ、110 各種ボタン、111 第1の通知部、112 第2の通知部、120 スタイラスペン、200 カーナビゲーション装置、250 車両、300 パーソナルコンピュータ、400A サーバ、400B マッチングサーバ、405 CPU、406 メモリ、407 固定ディスク、408 内部バス、409 サーバ通信デバイス、500 インターネット網、700 キャリア網。

Claims (12)

  1. ネットワークを介して相互に通信可能なサーバと第1および第2の通信端末とを備えるネットワークシステムであって、
    前記第1の通信端末は、
    第1の通信デバイスと、
    第1のディスプレイと、
    第1のサンプリングレートで第1のコンテンツデータの入力を受け付けるための第1の受付部と、
    前記第1の通信デバイスを介して前記第1のサンプリングレートを示す情報を前記サーバへ送信し、前記第1の通信デバイスを介して前記第1のコンテンツデータを前記サーバへと送信するための第1のプロセッサとを含み、
    前記第2の通信端末は、
    第2の通信デバイスと、
    第2のディスプレイと、
    前記第1のサンプリングレートよりも低い第2のサンプリングレートで第2のコンテンツデータの入力を受け付けるための第2の受付部と、
    前記第2の通信デバイスを介して前記第2のサンプリングレートを示す情報を前記サーバへと送信し、前記第2の通信デバイスを介して前記サーバから前記第1のコンテンツデータを受信し、前記第1のコンテンツデータを前記第2のディスプレイに表示させるための第2のプロセッサとを含み、
    前記サーバは、
    サーバ通信デバイスと、
    前記サーバ通信デバイスを介して前記第1の通信端末から前記第1のサンプリングレートを示す情報を受信し、前記サーバ通信デバイスを介して前記第2の通信端末から前記第2のサンプリングレートを示す情報を受信し、前記第1の通信端末からの前記第1のコンテンツデータを前記第2のサンプリングレートへとダウンサンプリングし、前記サーバ通信デバイスを介して当該ダウンサンプリングされた前記第1のコンテンツデータを前記第2の通信端末へと送信するためのサーバプロセッサとを含む、ネットワークシステム。
  2. 前記第2のプロセッサは、前記第2の通信デバイスを介して前記第2のコンテンツデータを前記サーバへと送信し、
    前記サーバプロセッサは、前記第2の通信端末からの前記第2のコンテンツデータを前記第1のサンプリングレートへとアップサンプリングし、前記サーバ通信デバイスを介して当該アップサンプリングされた前記第2のコンテンツデータを前記第1の通信端末へと送信し、
    前記第1のプロセッサは、前記第1の通信デバイスを介して前記サーバから前記第2のコンテンツデータを受信し、前記第2のコンテンツデータを前記第1のディスプレイに表示させる、請求項1に記載のネットワークシステム。
  3. 前記第2のプロセッサは、前記第2の通信デバイスを介して前記第2のコンテンツデータを前記サーバへと送信し、
    前記サーバプロセッサは、前記サーバ通信デバイスを介して前記第2の通信端末からの前記第2のコンテンツデータを前記第1の通信端末へと送信し、
    前記第1のプロセッサは、前記第1の通信デバイスを介して前記サーバから前記第2のコンテンツデータを受信し、前記第2のコンテンツデータを前記第1のディスプレイに表示させる、請求項1に記載のネットワークシステム。
  4. ネットワークを介して相互に通信可能な第1および第2の通信端末を備えるネットワークシステムであって、
    前記第1の通信端末は、
    第1の通信デバイスと、
    第1のディスプレイと、
    第1のサンプリングレートで第1のコンテンツデータの入力を受け付けるための第1の受付部と、
    前記第1の通信デバイスを介して前記第2の通信端末から前記第1のサンプリングレートよりも低い第2のサンプリングレートを示す情報を受信し、前記第1のサンプリングレートの前記第1のコンテンツデータを前記第2のサンプリングレートへとダウンサンプリングし、前記第1の通信デバイスを介して当該ダウンサンプリングされた前記第1のコンテンツデータを前記第2の通信端末へと送信するための第1のプロセッサとを含み、
    前記第2の通信端末は、
    第2の通信デバイスと、
    第2のディスプレイと、
    前記第2のサンプリングレートで第2のコンテンツデータの入力を受け付けるための第2の受付部と、
    前記第2の通信デバイスを介して前記第2のサンプリングレートを示す情報を前記第1の通信端末へと送信し、前記第2の通信デバイスを介して前記第1の通信端末から前記第1のコンテンツデータを受信し、前記第1のコンテンツデータを前記第2のディスプレイに表示させるための第2のプロセッサとを含む、ネットワークシステム。
  5. 前記第2のプロセッサは、前記第2の通信デバイスを介して前記第2のコンテンツデータを前記第1の通信端末へと送信し、
    前記第1のプロセッサは、前記第1の通信デバイスを介して前記第2の通信端末から前記第2のコンテンツデータを受信し、前記第2の通信端末からの前記第2のコンテンツデータを前記第1のサンプリングレートへとアップサンプリングし、当該アップサンプリングされた前記第2のコンテンツデータを前記第1のディスプレイに表示させる、請求項4に記載のネットワークシステム。
  6. 前記第2にプロセッサは、前記第2の通信デバイスを介して前記第2のコンテンツデータを前記第1の通信端末へと送信し、
    前記第1のプロセッサは、前記第1の通信デバイスを介して前記第2の通信端末から前記第2のコンテンツデータを受信し、前記第2の通信端末からの前記第2のコンテンツデータを前記第1のディスプレイに表示させる、請求項4に記載のネットワークシステム。
  7. ネットワークを介して相互に通信可能なサーバと第1および第2の通信端末とを備えるネットワークシステムにおける通信方法であって、
    前記第1の通信端末が、第1のサンプリングレートを示す情報を前記サーバへ送信するステップと、
    前記第2の通信端末が、前記第1のサンプリングレートよりも低い第2のサンプリングレートを示す情報を前記サーバへと送信するステップと、
    前記第1の通信端末が、前記第1のサンプリングレートで第1のコンテンツデータの入力を受け付けるステップと、
    前記第1の通信端末が、前記第1のコンテンツデータを前記サーバへと送信するステップと、
    前記サーバが、前記第1の通信端末からの前記第1のコンテンツデータを前記第2のサンプリングレートへとダウンサンプリングするステップと、
    前記サーバが、当該ダウンサンプリングされた前記第1のコンテンツデータを前記第2の通信端末へと送信するステップと、
    前記第2の通信端末が、前記サーバからの前記第1のコンテンツデータをディスプレイに表示するステップとを備える、通信方法。
  8. ネットワークを介して相互に通信可能な第1および第2の通信端末を備えるネットワークシステムにおける通信方法であって、
    前記第2の通信端末が、第1のサンプリングレートよりも低い第2のサンプリングレートを示す情報を前記第1の通信端末へと送信するステップと、
    前記第1の通信端末が、前記第1のサンプリングレートで第1のコンテンツデータの入力を受け付けるステップと、
    前記第1の通信端末が、前記第1のサンプリングレートの前記第1のコンテンツデータを前記第2のサンプリングレートへとダウンサンプリングするステップと、
    前記第1の通信端末が、当該ダウンサンプリングされた前記第1のコンテンツデータを前記第2の通信端末へと送信するステップと、
    前記第2の通信端末が、前記第1の通信端末からの前記第1のコンテンツデータをディスプレイに表示するステップとを備える、通信方法。
  9. ネットワークを介して第1および第2の通信端末と通信可能なサーバであって、
    サーバ通信デバイスと、
    前記サーバ通信デバイスを介して前記第1の通信端末から第1のサンプリングレートを示す情報を受信し、前記サーバ通信デバイスを介して前記第2の通信端末から前記第1のサンプリングレートよりも低い第2のサンプリングレートを示す情報を受信し、前記第1の通信端末からの第1のコンテンツデータを前記第2のサンプリングレートへとダウンサンプリングし、前記サーバ通信デバイスを介して当該ダウンサンプリングされた前記第1のコンテンツデータを前記第2の通信端末へと送信するためのサーバプロセッサとを備える、サーバ。
  10. 前記サーバプロセッサは、前記第2の通信端末からの第2のコンテンツデータを前記第1のサンプリングレートへとアップサンプリングし、前記サーバ通信デバイスを介して当該アップサンプリングされた前記第2のコンテンツデータを前記第1の通信端末へと送信する、請求項9に記載のサーバ。
  11. ネットワークを介して他の通信端末と通信可能な通信端末であって、
    第1の通信デバイスと、
    第1のディスプレイと、
    第1のサンプリングレートで第1のコンテンツデータの入力を受け付けるための第1の受付部と、
    前記第1の通信デバイスを介して前記他の通信端末から前記第1のサンプリングレートよりも低い第2のサンプリングレートを示す情報を受信し、前記第1のサンプリングレートの前記第1のコンテンツデータを前記第2のサンプリングレートへとダウンサンプリングし、前記第1の通信デバイスを介して当該ダウンサンプリングされた前記第1のコンテンツデータを前記他の通信端末へと送信するための第1のプロセッサとを備える、通信端末。
  12. 前記第1のプロセッサは、前記第1の通信デバイスを介して前記他の通信端末から第2のコンテンツデータを受信し、前記他の通信端末からの前記第2のコンテンツデータを前記第1のサンプリングレートへとアップサンプリングし、当該アップサンプリングされた前記第2のコンテンツデータを前記第1のディスプレイに表示させる、請求項11に記載の通信端末。
JP2010016567A 2010-01-28 2010-01-28 ネットワークシステム、通信方法、サーバ、および通信端末 Withdrawn JP2011154606A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010016567A JP2011154606A (ja) 2010-01-28 2010-01-28 ネットワークシステム、通信方法、サーバ、および通信端末

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010016567A JP2011154606A (ja) 2010-01-28 2010-01-28 ネットワークシステム、通信方法、サーバ、および通信端末

Publications (1)

Publication Number Publication Date
JP2011154606A true JP2011154606A (ja) 2011-08-11

Family

ID=44540503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010016567A Withdrawn JP2011154606A (ja) 2010-01-28 2010-01-28 ネットワークシステム、通信方法、サーバ、および通信端末

Country Status (1)

Country Link
JP (1) JP2011154606A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016506556A (ja) * 2012-11-27 2016-03-03 クアルコム,インコーポレイテッド ジェスチャを介したマルチデバイスのペアリングおよび共有

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016506556A (ja) * 2012-11-27 2016-03-03 クアルコム,インコーポレイテッド ジェスチャを介したマルチデバイスのペアリングおよび共有

Similar Documents

Publication Publication Date Title
US9674331B2 (en) Transmitting data from an automated assistant to an accessory
JP5658547B2 (ja) ネットワークシステム、通信方法、および通信端末
CN106465074B (zh) 数字助手在通信中的使用
US7774505B2 (en) Method for transmitting image data in real-time
KR102285107B1 (ko) 컨텐츠 공유
KR101203248B1 (ko) 네트워크 시스템, 통신 단말기, 통신 방법 및 통신 프로그램을 기록한 컴퓨터 판독가능 기록매체
JP5380731B2 (ja) ネットワークシステム、通信端末、通信方法、通信プログラム、およびサーバ装置
WO2012126381A1 (zh) 一种用于获取与现实场景相关的共享对象的设备和方法
KR102561282B1 (ko) 정보처리 방법, 정보처리 장치 및 정보처리 프로그램
WO2014078551A1 (en) System and method for negotiating control of a shared audio or visual resource
JP5035852B2 (ja) 通信端末、制御方法、および制御プログラム
US10938588B2 (en) Conference system and method for switching connection terminal thereof
CN110096327A (zh) 用于呈现背景的方法和装置
JP5354571B2 (ja) ネットワークシステム、通信装置、通信方法、および通信プログラム
CN111130985B (zh) 关联关系建立方法、装置、终端、服务器及存储介质
JP2011154606A (ja) ネットワークシステム、通信方法、サーバ、および通信端末
WO2011102196A1 (ja) 通信端末、通信方法、および通信プログラムを記録したコンピュータ読取可能な記録媒体
JP2003234842A (ja) リアルタイム手書き通信システム
JP5523973B2 (ja) ネットワークシステムおよび通信方法
JP7297971B2 (ja) サーバ、情報処理方法、プログラム
JP7319426B2 (ja) プログラム、情報処理方法、及び情報処理端末
JP2010186400A (ja) 通信端末、通信方法、および通信プログラム
JP2002245488A (ja) テクスチャおよびモデル動的分配方法、ならびに当該方法が適用される3次元協調仮想空間システム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130402