JP2005182169A - 通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体 - Google Patents

通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体 Download PDF

Info

Publication number
JP2005182169A
JP2005182169A JP2003418311A JP2003418311A JP2005182169A JP 2005182169 A JP2005182169 A JP 2005182169A JP 2003418311 A JP2003418311 A JP 2003418311A JP 2003418311 A JP2003418311 A JP 2003418311A JP 2005182169 A JP2005182169 A JP 2005182169A
Authority
JP
Japan
Prior art keywords
data
information processing
information
communication device
processing apparatus
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
JP2003418311A
Other languages
English (en)
Inventor
Shinichi Kono
真一 河野
Yukihiko Aoki
幸彦 青木
Takeshi Ozawa
武史 小澤
Toshiya Ikenaga
俊哉 池長
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2003418311A priority Critical patent/JP2005182169A/ja
Publication of JP2005182169A publication Critical patent/JP2005182169A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】 効率的、かつ確実にデータを送受信できるようにする。
【解決手段】 通信機器A乃至Cがネットワークに接続されているか否か(ログイン状態かログアウト状態か)の情報がIMサーバ41に記憶されている。ログオン状態の通信機器Aが、ログオフ状態の通信機器Bにデータを送信する場合、中継サーバ42に、一旦データを送信し、通信機器Bがログオン状態になったとき、中継サーバ42から通信機器Bにデータが送信される。中継サーバ42は、通信機器Aのデータ送信に先立って、通信機器Aと、データを送受信できるか否かのネゴシエーションを行い、また、通信機器Bへのデータ送信に先立って、通信機器Bと、データを送受信できるか否かのネゴシエーションを行う。本発明は、パーソナルコンピュータに適用できる。
【選択図】図1

Description

本発明は、通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体に関し、データの送受信を効率的、かつ確実に行うことができるようにする通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体に関する。
近年、インターネットを利用するユーザに対して、IM(instant messaging)サービスが提供されている。このIMサービスによれば、IMサーバにIMサービスの提供をうけるために登録した各ユーザの情報が、交友関係を結んだ他のユーザに提供され、インターネット接続時に、使用中のパーソナルコンピュータ画面に、事前に登録した相手のインターネット接続状態や、相手からのメッセージを自動的に表示し、その場でリアルタイムにメッセージ交換やチャット、ファイルの送付などを行うことができる(例えば、非特許文献1参照)。
また、サーバを介して各ユーザの機器同士が通信を行う場合において、サーバを経由するトラフィックを軽減して、各ユーザの機器にピアツーピア通信を提供する技術が提案されている(例えば、特許文献1参照)。
デジタル・クリエイターズ連絡協議会、"マルチメディア・インターネット辞典「インスタントメッセージング」"、[online]、[平成14年8月20日検索]、インターネット、<URL: http://www.kaigisho.ne.jp/literacy/midic/data/k2/k2109.htm>
特開2003−203023号公報
しかしながら、従来IMサービスでは、相手の機器がネットワークに接続されている状態(ログイン状態)でなければ、ファイルの送付を行うことができず、大容量のファイルを送付する場合など、ファイルの送付に時間がかかる場合であっても、ユーザは、相手の機器がログインするまで待ってからファイルの送付を行わなければならない。このため、データ(ファイル)の送受信を効率的に行うことができないという課題があった。
本発明はこのような状況に鑑みてなされたものであり、データの送受信を効率的、かつ確実に行うことができるようにするものである。
本発明の通信システムは、ネットワークを介して通信する複数の情報処理装置と、複数の情報処理装置のネットワークへの接続状態を管理する第1の情報管理装置と、複数の情報処理装置が行う通信を中継する第2の情報管理装置とからなる通信システムであって、第1の情報処理装置は、ネットワークに接続されていない第2の情報処理装置にデータを送信する場合、第2の情報管理装置に対してデータを送信し、第2の情報管理装置は、第1の情報処理装置から送信されたデータを受信して記憶し、第1の情報管理装置から提供される情報に基づいて、第2の情報処理装置がネットワークに接続されたか否かを判定し、第2の情報処理装置がネットワークに接続されたと判定された場合、第2の情報処理装置にデータを送信し、第2の情報処理装置は、ネットワークに接続したとき、第2の情報管理装置からデータを受信することを特徴とする。
本発明の通信方法は、ネットワークを介して通信する複数の情報処理装置と、複数の情報処理装置のネットワークへの接続状態を管理する第1の情報管理装置と、複数の情報処理装置が行う通信を中継する第2の情報管理装置とからなる通信システムの通信方法であって、第1の情報処理装置は、ネットワークに接続されていない第2の情報処理装置にデータを送信する場合、第2の情報管理装置に対してデータを送信し、第2の情報管理装置は、第1の情報処理装置から送信されたデータを受信して記憶し、第1の情報管理装置から提供される情報に基づいて、第2の情報処理装置がネットワークに接続されたか否かを判定し、第2の情報処理装置がネットワークに接続されたと判定された場合、第2の情報処理装置にデータを送信し、第2の情報処理装置は、ネットワークに接続したとき、第2の情報管理装置からデータを受信することを特徴とする。
本発明の通信システムおよび方法においては、第1の情報処理装置により、ネットワークに接続されていない第2の情報処理装置にデータを送信する場合、第2の情報管理装置に対してデータが送信され、第2の情報管理装置により、第1の情報処理装置から送信されたデータが受信されて記憶される。また、第1の情報管理装置から提供される情報に基づいて、第2の情報処理装置がネットワークに接続されたか否かが判定され、第2の情報処理装置がネットワークに接続されたと判定された場合、第2の情報処理装置にデータが送信され、第2の情報処理装置により、ネットワークに接続したとき、第2の情報管理装置からデータが受信される。
本発明の第1の情報処理装置は、ネットワークを介して通信する複数の通信機器が行う通信を中継する情報処理装置であって、ネットワークに接続されている第1の通信機器が、ネットワークに接続されていない第2の通信機器に対して送信するデータを受信して記憶する記憶手段と、複数の通信機器のネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、第2の通信機器がネットワークに接続されたか否かを判定する判定手段と、判定手段により第2の通信機器がネットワークに接続されたと判定された場合、第2の通信機器に記憶手段により記憶されたデータを送信する送信手段とを備えることを特徴とする。
前記第1の通信機器から送信されるデータが受信可能か否かを判定する受信可否判定手段をさらに備え、受信可否判定手段により、第1の通信機器から送信されるデータが受信可能と判定された場合、記憶手段がデータを受信して記憶するようにすることができる。
前記受信可否判定手段は、データのサイズを表すサイズ情報を取得する取得手段を備え、サイズ情報に基づいて前記データが受信可能か否かを判定するようにすることができる。
前記受信可否判定手段は、データを受信可能か否かの判定結果を第1の通信機器に送信するようにすることができる。
前記第1の通信機器から送信され、記憶手段に記憶されたデータが、第2の通信機器により受信可能か否かを判定する受信可否判定手段をさらに備え、受信可否判定手段により、データが、第2の通信機器により受信可能と判定された場合、送信手段は、前記データを送信するようにすることができる。
前記受信可否判定手段は、データのサイズを表すサイズ情報およびデータの形式を表すタイプ情報を含むネゴシエーション情報を生成する生成手段と、生成手段により生成されたネゴシエーション情報を、第2の通信機器に送信するネゴシエーション情報送信手段と、ネゴシエーション情報に基づいて、第2の通信機器がデータを受信可能か否かを判定した判定結果を受信する結果受信手段とを備え、結果受信手段により受信された判定結果に基づいて、データが、第2の通信機器により受信可能か否かを判定するようにすることができる。
前記受信可否判定手段は、データが、第2の通信機器により受信可能か否かの判定結果を第1の通信機器に送信するようにすることができる。
前記複数の通信機器から、それぞれの通信機器において、受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報の登録を受け付ける登録受付手段をさらに備えるようにすることができる。
前記登録受付手段により登録が受け付けられた第2の通信機器の受信可能データ情報に基づいて、第1の通信機器から送信されるデータが第2の通信機器により受信可能か否かを判定する受信可否判定手段をさらに備え、記憶手段は、受信可否判定手段により、第1の通信機器から送信されるデータが第2の通信機器により受信可能と判定された場合、データを受信して記憶するようにすることができる。
前記受信可否判定手段は、第1の通信機器からデータのサイズを表すサイズ情報およびデータの形式を表すタイプ情報を含むネゴシエーション情報をさらに取得し、ネゴシエーション情報と、第2の通信機器の受信可能データ情報に基づいて、データが、第2の通信機器により受信可能か否かを判定するようにすることができる。
前記受信可否判定手段は、データが、第2の通信機器により受信可能か否かの判定結果を第1の通信機器に送信するようにすることができる。
本発明の第1の情報処理方法は、ネットワークを介して通信する複数の通信機器が行う通信を中継する情報処理装置の情報処理方法であって、ネットワークに接続されている第1の通信機器が、ネットワークに接続されていない第2の通信機器に対して送信するデータを受信して記憶する記憶ステップと、複数の通信機器のネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、第2の通信機器がネットワークに接続されたか否かを判定する判定ステップと、判定ステップの処理により第2の通信機器がネットワークに接続されたと判定された場合、第2の通信機器に、記憶ステップの処理により記憶されたデータを送信する送信ステップとを含むことを特徴とする。
本発明の第1のプログラムは、ネットワークを介して通信する複数の通信機器が行う通信を中継する情報処理装置のプログラムであって、ネットワークに接続されている第1の通信機器が、ネットワークに接続されていない第2の通信機器に対して送信するデータを受信して記憶するように制御する記憶制御ステップと、複数の通信機器のネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、第2の通信機器がネットワークに接続されたか否かの判定を制御する判定制御ステップと、判定制御ステップの処理により第2の通信機器がネットワークに接続されたと判定された場合、第2の通信機器に、記憶制御ステップの処理により記憶されたデータを送信するように制御する送信制御ステップとをコンピュータに実行させることを特徴とする。
本発明の第1の記録媒体は、ネットワークを介して通信する複数の通信機器が行う通信を中継する情報処理装置のプログラムが記録されている記録媒体であって、ネットワークに接続されている第1の通信機器が、ネットワークに接続されていない第2の通信機器に対して送信するデータを受信して記憶するように制御する記憶制御ステップと、複数の通信機器のネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、第2の通信機器がネットワークに接続されたか否かの判定を制御する判定制御ステップと、判定制御ステップの処理により第2の通信機器がネットワークに接続されたと判定された場合、第2の通信機器に、記憶制御ステップの処理により記憶されたデータを送信するように制御する送信制御ステップとをコンピュータに実行させるプログラムが記録されることを特徴とする。
本発明の第1の情報処理装置および方法、並びに第1のプログラムにおいては、ネットワークに接続されている第1の通信機器が、ネットワークに接続されていない第2の通信機器に対して送信するデータが受信されて記憶され、複数の通信機器のネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、第2の通信機器がネットワークに接続されたか否かが判定され、第2の通信機器がネットワークに接続されたと判定された場合、第2の通信機器に、記憶されたデータが送信される。
本発明の第2の情報処理装置は、ネットワークを介して他の情報処理装置と通信する情報処理装置であって、ネットワークに接続されていない他の情報処理装置にデータを送信する場合、ネットワークに接続され、情報処理装置の通信の中継を行う中継装置がデータを受信可能か否かを判定する受信可否判定手段と、受信可否判定手段により、中継装置がデータを受信可能と判定された場合、中継装置にデータを送信する送信手段とを備えることを特徴とする。
前記受信可否判定手段は、データのサイズを表すサイズ情報およびデータの形式を表すタイプ情報を含むネゴシエーション情報を生成する生成手段と、ネゴシエーション情報を、中継装置に送信するネゴシエーション情報送信手段と、中継装置が、ネゴシエーション情報に基づいて、データを受信可能か否かを判定した判定結果を受信する結果受信手段と、判定結果を表示する表示手段とを備えるようにすることができる。
前記結果受信手段は、予め登録されている他の情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報と、ネゴシエーション情報に基づいて、他の情報処理装置がデータを受信可能か否かの中継装置による判定結果を受信するようにすることができる。
複数の情報処理装置のネットワークへの接続状態を管理する情報管理装置から提供される情報に基づいて、中継装置にデータを送信するようにすることができる。
本発明の第2の情報処理方法は、ネットワークを介して他の情報処理装置と通信する情報処理装置の情報処理方法であって、ネットワークに接続されていない他の情報処理装置にデータを送信する場合、ネットワークに接続され、情報処理装置の通信の中継を行う中継装置がデータを受信可能か否かを判定する受信可否判定ステップと、受信可否判定ステップの処理により、中継装置がデータを受信可能と判定された場合、中継装置にデータを送信する送信ステップとを含むことを特徴とする。
本発明の第2のプログラムは、ネットワークを介して他の情報処理装置と通信する情報処理装置のプログラムであって、ネットワークに接続されていない他の情報処理装置にデータを送信する場合、ネットワークに接続され、情報処理装置の通信の中継を行う中継装置がデータを受信可能か否かの判定を制御する受信可否判定制御ステップと、受信可否判定制御ステップの処理により、中継装置がデータを受信可能と判定された場合、中継装置にデータを送信するように制御する送信制御ステップとをコンピュータに実行させることを特徴とする。
本発明の第2の記録媒体は、ネットワークを介して他の情報処理装置と通信する情報処理装置のプログラムが記録されている記録媒体であって、ネットワークに接続されていない他の情報処理装置にデータを送信する場合、ネットワークに接続され、情報処理装置の通信の中継を行う中継装置がデータを受信可能か否かの判定を制御する受信可否判定制御ステップと、受信可否判定制御ステップの処理により、中継装置がデータを受信可能と判定された場合、中継装置に前記データを送信するように制御する送信制御ステップとをコンピュータに実行させるプログラムが記録されることを特徴とする。
本発明の第2の情報処理装置および方法、並びに第2のプログラムにおいては、ネットワークに接続されていない他の情報処理装置にデータを送信する場合、ネットワークに接続され、情報処理装置の通信の中継を行う中継装置がデータを受信可能か否かが判定され、中継装置がデータを受信可能と判定された場合、中継装置にデータが送信される。
本発明の第3の情報処理装置は、ネットワークに接続される中継装置を介して他の情報処理装置と通信する情報処理装置であって、他の情報処理装置から送信され、中継装置に記憶されているデータを受信可能か否かを判定する受信可否判定手段と、受信可否判定手段により、データを受信可能と判定された場合、中継装置からデータを受信する受信手段とを備えることを特徴とする。
前記受信可否判定手段は、中継装置から、データのサイズを表すサイズ情報およびデータの形式を表すタイプ情報を含むネゴシエーション情報を取得する取得手段を備え、ネゴシエーション情報と、情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報に基づいて、データを受信可能か否かを判定することを特徴とする。
前記情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報を中継装置に登録する登録手段をさらに備え、受信可否判定手段は、中継装置による判定結果に基づいて判定を行うようにすることができる。
本発明の第3の情報処理方法は、ネットワークに接続される中継装置を介して他の情報処理装置と通信する情報処理装置の情報処理方法であって、他の情報処理装置から送信され、中継装置に記憶されているデータを受信可能か否かを判定する受信可否判定ステップと、受信可否判定ステップの処理により、データを受信可能と判定された場合、中継装置から前記データを受信する受信ステップとを含むことを特徴とする。
本発明の第3のプログラムは、ネットワークに接続される中継装置を介して他の情報処理装置と通信する情報処理装置のプログラムであって、他の情報処理装置から送信され、中継装置に記憶されているデータを受信可能か否かの判定を制御する受信可否判定制御ステップと、受信可否判定制御ステップの処理により、データを受信可能と判定された場合、中継装置からデータを受信するように制御する受信制御ステップとをコンピュータに実行させることを特徴とする。
本発明の第3の記録媒体は、ネットワークに接続される中継装置を介して他の情報処理装置と通信する情報処理装置のプログラムが記録されている記録媒体であって、他の情報処理装置から送信され、中継装置に記憶されているデータを受信可能か否かの判定を制御する受信可否判定制御ステップと、受信可否判定制御ステップの処理により、前記データを受信可能と判定された場合、中継装置からデータを受信するように制御する受信制御ステップとをコンピュータに実行させるプログラムが記録されることを特徴とする。
本発明の第3の情報処理装置および方法、並びに第3のプログラムにおいては、他の情報処理装置から送信され、中継装置に記憶されているデータが受信可能か否かが判定され、データを受信可能と判定された場合、中継装置からデータが受信される。
本発明によれば、データの送受信を行うことができる。特に、効率的、かつ確実に、データの送受信を行うことができる。
以下に本発明の実施の形態を説明するが、本明細書に記載した発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が明細書に記載されていることを確認するためのものである。従って、明細書には記載されているが、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
さらに、この記載は、明細書に記載されている発明が、全て請求されていることを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出願、または追加される発明の存在を否定するものではない。
本発明により通信システムが提供される。この通信システムは、ネットワーク(例えば、図1のインターネット1)を介して通信する複数の情報処理装置(例えば、図1の通信機器A乃至C)と、前記複数の情報処理装置のネットワークへの接続状態を管理する第1の情報管理装置(例えば、図1のIMサーバ41)と、前記複数の情報処理装置が行う通信を中継する第2の情報管理装置(例えば、図1の中継サーバ42)とからなる通信システムであって、第1の情報処理装置(例えば、図1の通信機器A)は、前記ネットワークに接続されていない第2の情報処理装置(例えば、図1の通信機器B)にデータを送信する場合、前記第2の情報管理装置に対して前記データを送信し(例えば、図11のデータ送信処理)、前記第2の情報管理装置は、前記第1の情報処理装置から送信された前記データを受信して記憶し(例えば、図14のステップS44)、前記第1の情報管理装置から提供される情報(例えば、図10のコミュニティリスト)に基づいて、前記第2の情報処理装置が前記ネットワークに接続されたか否かを判定し(例えば、図14のステップS46)、前記第2の情報処理装置が前記ネットワークに接続されたと判定された場合、前記第2の情報処理装置に前記データを送信し(例えば、図14のステップS49)、前記第2の情報処理装置は、前記ネットワークに接続したとき、前記第2の情報管理装置から前記データを受信する(例えば、図18のデータ受信処理)。
本発明により通信方法が提供される。この通信方法は、ネットワーク(例えば、図1のインターネット1)を介して通信する複数の情報処理装置(例えば、図1の通信機器A乃至C)と、前記複数の情報処理装置のネットワークへの接続状態を管理する第1の情報管理装置(例えば、図1のIMサーバ41)と、前記複数の情報処理装置が行う通信を中継する第2の情報管理装置(例えば、図1の中継サーバ42)とからなる通信システムの通信方法であって、第1の情報処理装置(例えば、図1の通信機器A)は、前記ネットワークに接続されていない第2の情報処理装置(例えば、図1の通信機器B)にデータを送信する場合、前記第2の情報管理装置に対して前記データを送信し(例えば、図11のデータ送信処理)、前記第2の情報管理装置は、前記第1の情報処理装置から送信された前記データを受信して記憶し(例えば、図14のステップS44)、前記第1の情報管理装置から提供される情報(例えば、図10のコミュニティリスト)に基づいて、前記第2の情報処理装置が前記ネットワークに接続されたか否かを判定し(例えば、図14のステップS46)、前記第2の情報処理装置が前記ネットワークに接続されたと判定された場合、前記第2の情報処理装置に前記データを送信し(例えば、図14のステップS49)、前記第2の情報処理装置は、前記ネットワークに接続したとき、前記第2の情報管理装置から前記データを受信する(例えば、図18のデータ受信処理)。
本発明により第1の情報処理装置が提供される。この情報処理装置は、ネットワーク(例えば、図1のインターネット1)を介して通信する複数の通信機器(例えば、図1の通信機器A乃至C)が行う通信を中継する情報処理装置(例えば、図1の中継サーバ42)であって、前記ネットワークに接続されている第1の通信機器(例えば、図1の通信機器A)が、前記ネットワークに接続されていない第2の通信機器(例えば、図1の通信機器B)に対して送信するデータを受信して記憶する記憶手段(例えば、図6の受信部291)と、前記複数の通信機器の前記ネットワークへの接続状態を管理する他の情報処理装置(例えば、図1のIMサーバ41)から提供される情報(例えば、図10のコミュニティリスト)に基づいて、前記第2の通信機器が前記ネットワークに接続されたか否かを判定する判定手段(例えば、図6の接続情報管理部273)と、前記判定手段により前記第2の通信機器が前記ネットワークに接続されたと判定された場合、前記第2の通信機器に前記記憶手段により記憶された前記データを送信する送信手段(例えば、図6の送信部292)とを備える。
この情報処理装置は、前記第1の通信機器から送信されるデータが受信可能か否かを判定する受信可否判定手段(例えば、図14のステップS42の処理を実行する図6のネゴシエーション制御部271)をさらに備え、前記受信可否判定手段により、前記第1の通信機器から送信されるデータが受信可能と判定された場合(例えば、図14のステップS43で、中継フラグ1はONと判定された場合)、前記記憶手段が前記データを受信して記憶するようにすることができる。
この情報処理装置は、前記受信可否判定手段が、前記データのサイズを表すサイズ情報(例えば、図13のサイズ情報481)を取得する取得手段(例えば、図15のステップS71の処理を実行する図7のネゴシエーション通信部314)を備え、前記サイズ情報に基づいて前記データが受信可能か否かを判定するようにすることができる。
この情報処理装置は、前記受信可否判定手段が、前記データを受信可能か否かの判定結果を前記第1の通信機器に送信する(例えば、図15のステップS73またはS75)ようにすることができる。
この情報処理装置は、前記第1の通信機器から送信され、前記記憶手段に記憶されたデータが、前記第2の通信機器により受信可能か否かを判定する受信可否判定手段(例えば、図14のステップS47の処理を実行する図6のネゴシエーション制御部271)をさらに備え、前記受信可否判定手段により、前記データが、前記第2の通信機器により受信可能と判定された場合(例えば、図14のステップS48で中継フラグ2はONと判定された場合)、前記送信手段は、前記データを送信するようにすることができる。
この情報処理装置は、前記受信可否判定手段が、前記データのサイズを表すサイズ情報(例えば、図17のサイズ情報531)および前記データの形式を表すタイプ情報(例えば、図17のメディアタイプ情報532)を含むネゴシエーション情報を生成する生成手段(例えば、図7の生成部311)と、前記生成手段により生成されたネゴシエーション情報を、前記第2の通信機器に送信するネゴシエーション情報送信手段(例えば、図16のステップS92の処理を実行する図7のネゴシエーション通信部314)と、前記ネゴシエーション情報に基づいて、前記第2の通信機器が前記データを受信可能か否かを判定した判定結果を受信する結果受信手段(例えば、図16のステップS93の処理を実行する図7のネゴシエーション通信部314)とを備え、前記結果受信手段により受信された判定結果に基づいて、前記データが、前記第2の通信機器により受信可能か否かを判定する(例えば、図16のステップS94)ようにすることができる。
この情報処理装置は、前記受信可否判定手段が、前記データが、前記第2の通信機器により受信可能か否かの判定結果を前記第1の通信機器に送信する(例えば、図15のステップS73またはS75の処理)ようにすることができる。
この情報処理装置は、前記複数の通信機器から、それぞれの通信機器において、受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報(例えば、図20に示される情報)の登録を受け付ける登録受付手段(例えば、図7のネゴシエーション情報管理部313)をさらに備えるようにすることができる。
この情報処理装置は、前記登録受付手段により登録が受け付けられた前記第2の通信機器の受信可能データ情報に基づいて、前記第1の通信機器から送信されるデータが前記第2の通信機器により受信可能か否かを判定する受信可否判定手段(例えば、図29のステップS402の処理を実行する図6のネゴシエーション制御部271)をさらに備え、前記記憶手段は、前記受信可否判定手段により、前記第1の通信機器から送信されるデータが前記第2の通信機器により受信可能と判定された場合(例えば、図29のステップS403で、中継フラグはONと判定された場合)、前記データを受信して記憶するようにすることができる。
この情報処理装置は、前記受信可否判定手段が、前記第1の通信機器から前記データのサイズを表すサイズ情報(例えば、図13のサイズ情報481)および前記データの形式を表すタイプ情報(例えば、図13のメディアタイプ情報482)を含むネゴシエーション情報をさらに取得し(例えば、図30のステップS431)、前記ネゴシエーション情報と、前記第2の通信機器の受信可能データ情報に基づいて、前記データが、前記第2の通信機器により受信可能か否かを判定するようにすることができる。
この情報処理装置は、前記受信可否判定手段が、前記データが、前記第2の通信機器により受信可能か否かの判定結果を前記第1の通信機器に送信する(例えば、図30のステップS434またはS436)ようにすることができる。
本発明により第1の情報処理方法が提供される。この情報処理方法は、ネットワーク(例えば、図1のインターネット1)を介して通信する複数の通信機器(例えば、図1の通信機器A乃至C)が行う通信を中継する情報処理装置(例えば、図1の中継サーバ42)の情報処理方法であって、前記ネットワークに接続されている第1の通信機器(例えば、図1の通信機器A)が、前記ネットワークに接続されていない第2の通信機器(例えば、図1の通信機器B)に対して送信するデータを受信して記憶する記憶ステップ(例えば、図14のステップS44)と、前記複数の通信機器の前記ネットワークへの接続状態を管理する他の情報処理装置(例えば、図1のIMサーバ41)から提供される情報(例えば、図10のコミュニティリスト)に基づいて、前記第2の通信機器が前記ネットワークに接続されたか否かを判定する判定ステップ(例えば、図14のステップS46)と、前記判定ステップの処理により前記第2の通信機器が前記ネットワークに接続されたと判定された場合、前記第2の通信機器に、前記記憶ステップの処理により記憶された前記データを送信する送信ステップ(例えば、図14のステップS49)とを含む。
本発明により第1のプログラムが提供される。このプログラムは、ネットワーク(例えば、図1のインターネット1)を介して通信する複数の通信機器(例えば、図1の通信機器A乃至C)が行う通信を中継する情報処理装置(例えば、図1の中継サーバ42)のプログラムであって、前記ネットワークに接続されている第1の通信機器(例えば、図1の通信機器A)が、前記ネットワークに接続されていない第2の通信機器(例えば、図1の通信機器B)に対して送信するデータを受信して記憶するように制御する記憶制御ステップ(例えば、図14のステップS44)と、前記複数の通信機器の前記ネットワークへの接続状態を管理する他の情報処理装置(例えば、図1のIMサーバ41)から提供される情報(例えば、図10のコミュニティリスト)に基づいて、前記第2の通信機器が前記ネットワークに接続されたか否かの判定を制御する判定制御ステップ(例えば、図14のステップS46)と、前記判定制御ステップの処理により前記第2の通信機器が前記ネットワークに接続されたと判定された場合、前記第2の通信機器に、前記記憶制御ステップの処理により記憶された前記データを送信するように制御する送信制御ステップ(例えば、図14のステップS49)とをコンピュータに実行させる。
本発明により第1の記録媒体が提供される。この記録媒体は、ネットワーク(例えば、図1のインターネット1)を介して通信する複数の通信機器(例えば、図1の通信機器A乃至C)が行う通信を中継する情報処理装置(例えば、図1の中継サーバ42)のプログラムが記録されている記録媒体であって、前記ネットワークに接続されている第1の通信機器が、前記ネットワークに接続されていない第2の通信機器に対して送信するデータを受信して記憶するように制御する記憶制御ステップ(例えば、図14のステップS44)と、前記複数の通信機器の前記ネットワークへの接続状態を管理する他の情報処理装置(例えば、図1のIMサーバ41)から提供される情報(例えば、図10のコミュニティリスト)に基づいて、前記第2の通信機器が前記ネットワークに接続されたか否かの判定を制御する判定制御ステップ(例えば、図14のステップS46)と、前記判定制御ステップの処理により前記第2の通信機器が前記ネットワークに接続されたと判定された場合、前記第2の通信機器に、前記記憶制御ステップの処理により記憶された前記データを送信するように制御する送信制御ステップ(例えば、図14のステップS49)とをコンピュータに実行させるプログラムが記録される。
本発明により第2の情報処理装置が提供される。この情報処理装置は、ネットワーク(例えば、図1のインターネット1)を介して他の情報処理装置と通信する情報処理装置(例えば、図1の通信機器A)であって、前記ネットワークに接続されていない他の情報処理装置(例えば、図1の通信機器B)にデータを送信する場合、前記ネットワークに接続され、前記情報処理装置の通信の中継を行う中継装置(例えば、図1の中継サーバ42)が前記データを受信可能か否かを判定する受信可否判定手段(例えば、図11のステップS3の処理を実行する図4のネゴシエーション制御部211)と、前記受信可否判定手段により、前記中継装置が前記データを受信可能と判定された場合(例えば、図11のステップS4で送信フラグはONと判定された場合)、前記中継装置に前記データを送信する送信手段(例えば、図4の送信部231)とを備えることを特徴とする。
この情報処理装置は、前記受信可否判定手段が、前記データのサイズを表すサイズ情報(例えば、図13のサイズ情報481)および前記データの形式を表すタイプ情報(例えば、図13のメディアタイプ情報482)を含むネゴシエーション情報を生成する生成手段(例えば、図5の生成部251)と、前記ネゴシエーション情報を、前記中継装置に送信するネゴシエーション情報送信手段(例えば、図5の情報送信部252)と、前記中継装置が、前記ネゴシエーション情報に基づいて、前記データを受信可能か否かを判定した判定結果を受信する結果受信手段(例えば、図5の結果取得部253)と、前記判定結果を表示する表示手段(例えば、図12のステップS26の処理を実行する図5の送信可否判定部254)とを備えるようにすることができる。
この情報処理装置は、前記結果受信手段が、予め登録されている前記他の情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報(例えば、図20に示される情報)と、前記ネゴシエーション情報に基づいて、前記他の情報処理装置が前記データを受信可能か否かの前記中継装置による判定結果を受信する(例えば、図28のステップS373)ようにすることができる。
この情報処理装置は、複数の情報処理装置の前記ネットワークへの接続状態を管理する情報管理装置(例えば、図1のIMサーバ41)から提供される情報(例えば、図34のコミュニティリスト)に基づいて、前記中継装置に前記データを送信する(例えば、図35のステップS482)ようにすることができる。
本発明により第2の情報処理方法が提供される。この情報処理方法は、ネットワーク(例えば、図1のインターネット1)を介して他の情報処理装置と通信する情報処理装置(例えば、図1の通信機器A乃至C)の情報処理方法であって、前記ネットワークに接続されていない他の情報処理装置にデータを送信する場合、前記ネットワークに接続され、前記情報処理装置の通信の中継を行う中継装置(例えば、図1の中継サーバ42)が前記データを受信可能か否かを判定する受信可否判定ステップ(例えば、図11のステップS3)と、前記受信可否判定ステップの処理により、前記中継装置が前記データを受信可能と判定された場合(例えば、図11のステップS4で送信フラグはONと判定された場合)、前記中継装置に前記データを送信する送信ステップ(例えば、図11のステップS5)とを含む。
本発明により第2のプログラムが提供される。このプログラムは、ネットワーク(例えば、図1のインターネット1)を介して他の情報処理装置と通信する情報処理装置(例えば、図1の通信機器A乃至C)のプログラムであって、前記ネットワークに接続されていない他の情報処理装置にデータを送信する場合、前記ネットワークに接続され、前記情報処理装置の通信の中継を行う中継装置(例えば、図1の中継サーバ42)が前記データを受信可能か否かの判定を制御する受信可否判定制御ステップ(例えば、図11のステップS3)と、前記受信可否判定制御ステップの処理により、前記中継装置が前記データを受信可能と判定された場合(例えば、図11のステップS4で送信フラグはONと判定された場合)、前記中継装置に前記データを送信するように制御する送信制御ステップ(例えば、図11のステップS5)とをコンピュータに実行させる。
本発明により第2の記録媒体が提供される。この記録媒体は、ネットワーク(例えば、図1のインターネット1)を介して他の情報処理装置と通信する情報処理装置(例えば、図1の通信機器A乃至C)のプログラムが記録されている記録媒体であって、前記ネットワークに接続されていない他の情報処理装置にデータを送信する場合、前記ネットワークに接続され、前記情報処理装置の通信の中継を行う中継装置(例えば、図1の中継サーバ42)が前記データを受信可能か否かの判定を制御する受信可否判定制御ステップ(例えば、図11のステップS3)と、前記受信可否判定制御ステップの処理により、前記中継装置が前記データを受信可能と判定された場合(例えば、図11のステップS4で送信フラグはONと判定された場合)、前記中継装置に前記データを送信するように制御する送信制御ステップ(例えば、図11のステップS5)とをコンピュータに実行させるプログラムが記録される。
本発明により第3の情報処理装置が提供される。この情報処理装置は、ネットワーク(例えば、図1のインターネット1)に接続される中継装置(例えば、図1の中継サーバ42)を介して他の情報処理装置と通信する情報処理装置(例えば、図1の通信機器B)であって、前記他の情報処理装置(例えば、図1の通信機器A)から送信され、前記中継装置に記憶されているデータを受信可能か否かを判定する受信可否判定手段(例えば、図18のステップS112の処理を実行する図4のネゴシエーション制御部211)と、前記受信可否判定手段により、前記データを受信可能と判定された場合(例えば、図18のステップS113で受信フラグはONと判定された場合)、前記中継装置から前記データを受信する受信手段(例えば、図4の受信部232)とを備える。
この情報処理装置は、前記受信可否判定手段が、前記中継装置から、前記データのサイズを表すサイズ情報(例えば、図17のサイズ情報531)および前記データの形式を表すタイプ情報(例えば、図17のメディアタイプ情報532)を含むネゴシエーション情報を取得する取得手段(例えば、図5のネゴシエーション情報取得部257)を備え、前記ネゴシエーション情報と、前記情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報(例えば、図20に示される情報)に基づいて、前記データを受信可能か否かを判定するようにすることができる。
この情報処理装置は、前記情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報(例えば、図20に示される情報)を前記中継装置に登録する登録手段(例えば、図5の登録部256)をさらに備え、前記受信可否判定手段は、前記中継装置による判定結果(例えば、図30のステップS433の処理による判定結果)に基づいて判定を行うようにすることができる。
本発明により第3の情報処理方法が提供される。この情報処理方法は、ネットワーク(例えば、図1のインターネット1)に接続される中継装置(例えば、図1の中継サーバ42)を介して他の情報処理装置と通信する情報処理装置(例えば、図1の通信機器B)の情報処理方法であって、前記他の情報処理装置(例えば、図1の通信機器A)から送信され、前記中継装置に記憶されているデータを受信可能か否かを判定する受信可否判定ステップ(例えば、図18のステップS112)と、前記受信可否判定ステップの処理により、前記データを受信可能と判定された場合(例えば、図18のステップS113で受信フラグはONと判定された場合)、前記中継装置から前記データを受信する受信ステップ(例えば、図18のステップS114)とを含む。
本発明により第3のプログラムが提供される。このプログラムは、ネットワーク(例えば、図1のインターネット1)に接続される中継装置(例えば、図1の中継サーバ42)を介して他の情報処理装置と通信する情報処理装置(例えば、図1の通信機器B)のプログラムであって、前記他の情報処理装置(例えば、図1の通信機器A)から送信され、前記中継装置に記憶されているデータを受信可能か否かの判定を制御する受信可否判定制御ステップ(例えば、図18のステップS112)と、前記受信可否判定制御ステップの処理により、前記データを受信可能と判定された場合(例えば、図18のステップS113で受信フラグはONと判定された場合)、前記中継装置から前記データを受信するように制御する受信制御ステップ(例えば、図18のステップS114)とをコンピュータに実行させる。
本発明により第3の記録媒体が提供される。この記録媒体は、ネットワーク(例えば、図1のインターネット1)に接続される中継装置(例えば、図1の中継サーバ42)を介して他の情報処理装置と通信する情報処理装置(例えば、図1の通信機器B)のプログラムが記録されている記録媒体であって、前記他の情報処理装置(例えば、図1の通信機器A)から送信され、前記中継装置に記憶されているデータを受信可能か否かの判定を制御する受信可否判定制御ステップ(例えば、図18のステップS112)と、前記受信可否判定制御ステップの処理により、前記データを受信可能と判定された場合(例えば、図18のステップS113で受信フラグはONと判定された場合)、前記中継装置から前記データを受信するように制御する受信制御ステップ(例えば、図18のステップS114)とをコンピュータに実行させるプログラムが記録される。
以下、図面を参照して、本発明の実施の形態について説明する。図1は、本発明を適用した通信システムの構成例を示すブロック図である。同図には、インターネット1に、ルータ11乃至13を介してプライベートネットワーク21乃至23が接続されている。
ルータ11乃至13は、プライベートネットワーク21乃至23上のユニークなアドレスであるプライベートアドレスを、インターネット上のグローバルIPアドレスに変換するNAT(Network Address Translation)機能を有しており、例えば、ルータ11は、プライベートネットワーク21に接続される通信機器Aから送信されたパケットの送信元のアドレスを、通信機器AのプライベートネットワークアドレスからグローバルIPアドレス(ルータ11のグローバルIPアドレス)に変換して、インターネット1に転送し、インターネット1から通信機器A宛に送信されてくるパケットの送信先のアドレスをグローバルIPアドレス(ルータ11のグローバルIPアドレス)から通信機器Aのプライベートネットワークアドレスに変換して転送する。
同様に、ルータ12と13は、プライベートネットワーク22と23に接続される通信機器BとCから送信されたパケットの送信元のアドレスを、通信機器BとCプライベートネットワークアドレスからグローバルIPアドレス(ルータ12、13のグローバルIPアドレス)に変換して、インターネット1に転送し、インターネット1から通信機器BまたはC宛に送信されてくるパケットの送信先のアドレスを、グローバルIPアドレス(ルータ12、13のグローバルIPアドレス)から通信機器BまたはCのプライベートネットワークアドレスに変換して転送する。
通信機器A乃至Cは、ユーザa乃至cが所有する、通信機能を有する情報機器であり、例えば、パーソナルコンピュータ、ハードディスクレコーダ、または携帯電話機などにより構成される。なお、ユーザa乃至cが所有する通信機器A乃至Cは、それぞれ1台に限られるものではなく、一人のユーザが複数の通信機器を所有していてもかまわない。
IMサーバ41は、インターネット1に接続され、ユーザa乃至ユーザcは、IMサーバ41によりIMサービスの提供を受ける場合、事前にユーザa乃至ユーザcの情報(例えば、ニックネーム、メールアドレスなど)の情報を、通信機器A乃至CのアドレスとともにIMサーバ41に登録しておく。そして、IMサーバ41は、通信機器A乃至Cのユーザをコミュニティに登録する。
例えば、通信機器Aのユーザaが、通信機器Bのユーザbおよび通信機器Cのユーザcとコミュニティを形成するように希望した場合、IMサーバ41において、ユーザa、ユーザbおよびユーザcのグループがコミュニティとして登録される。そして、これ以降ユーザa乃至cは、IMサーバ41にアクセスすることにより、コミュニティ内の他のユーザの通信機器がネットワークに接続されている状態(以下、ログイン状態と称する)にあるか否かを確認することができる。
中継サーバ42は、やはりインターネット1に接続され、通信機器A乃至Cの間で行われる通信の仲介(中継)を行う。例えば、通信機器Aが通信機器Bにファイルを送信したい場合、通信機器Bがログイン状態でないとき、通信機器Aは、中継サーバ42にファイルを送信し、中継サーバ42は、通信機器Aから送信されたファイルを受信して、一時的に保存する。そして、通信機器Bがログイン状態になったとき、中継サーバ42は、保存していたファイルを通信機器Bに送信することにより、結果的には、通信機器Aから通信機器Bにファイルが送信される。
なお、この例では、IMサーバ41と中継サーバ42は、別々のサーバとして構成されているが、IMサーバ41と中継サーバ42が1つのサーバとして構成されるようにしてもよい。また、この例では、通信機器A乃至Cは、それぞれプライベートネットワーク21乃至23を介してインターネット1に接続されているが、インターネット1に直接接続されていてもかまわない。
図2は、通信機器Aの構成例を示すブロック図である。同図において、CPU(Central Processing Unit)101は、ROM(Read Only Memory)102に記憶されているプログラム、または記憶部108からRAM(Random Access Memory)103にロードされたプログラムに従って各種の処理を実行する。RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU101、ROM102、およびRAM103は、バス104を介して相互に接続されている。このバス104にはまた、入出力インタフェース105も接続されている。
入出力インタフェース105には、キーボード、マウスなどよりなる入力部106、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ(表示部)、並びにスピーカなどよりなる出力部107、ハードディスクなどより構成される記憶部108、モデム、ターミナルアダプタなどより構成される通信部109が接続されている。通信部109は、インターネット1、プライベートネットワーク21などのネットワークを介しての通信処理を行う。
入出力インタフェース105にはまた、必要に応じてドライブ110が接続され、ドライブ110には、プログラムが記録された記録媒体として、例えば、リムーバブルメディア111が装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部108にインストールされる。
また、通信機器BとCの構成も図2の通信機器Aと同様の構成なので、以下、必要に応じて同図を通信機器BとCの構成としても引用する。
図3は、IMサーバ41の構成例を示すブロック図である。同図におけるCPU201乃至リムーバブルメディア211は、図2のCPU101乃至リムーバブルメディア111と同様のものなので、その説明は省略する。
また、中継サーバ42の構成も図3のIMサーバ41と同様の構成なので、以下、必要に応じて同図を中継サーバ42の構成としても引用する。
図4は、通信機器Aの機能的構成例を示すブロック図である(通信機器BとCも同様)。この例では、中継サーバ42とのデータの送受信が可能か否かについてのネゴシエーションを制御するネゴシエーション制御部211と、ネゴシエーション制御部211の処理結果に基づいて、中継サーバ42を介するデータの送受信処理の実行を制御する中継処理実行部212が設けられている。また、中継処理実行部212には、中継サーバ42にデータを送信する送信部231、および中継サーバ42からデータを受信する受信部232が設けられている。
図5は、図4のネゴシエーション制御部211の詳細な機能的構成例を示すブロック図である。生成部251は、中継サーバ42に送信するデータのネゴシエーション情報(後述)を生成し、情報送信部252は、生成部251が生成したネゴシエーション情報を中継サーバ42に送信する。結果取得部253は、中継サーバ42が、上述したネゴシエーション情報に基づいてデータを受信することが可能か否かを判定した判定結果を中継サーバ42から取得し、取得した判定結果を送信可否判定部254に出力する。送信可否判定部254は、その判定結果に基づいて、中継サーバ42へのデータの送信可否を判定し、送信部231を制御する。
スペック検出部255は、通信機器A(BまたはC)が受信可能なデータの容量(サイズ)、および通信機器A(BまたはC)が利用可能なデータの形式(後述するメディアタイプ)などの情報を検出し、登録部256に出力する。登録部256は、スペック検出部255から出力される情報に基づいて、通信機器Aのネゴシエーション情報を生成し、生成したネゴシエーション情報を中継サーバ42に送信し、登録する。ネゴシエーション情報取得部257は、中継サーバ42から送信(中継)されるデータのネゴシエーション情報を取得し、取得したネゴシエーション情報を受信可否判定部258に出力する。受信可否判定部258は、ネゴシエーション情報取得部257から供給されたネゴシエーション情報に基づいて、通信機器A(BまたはC)において、そのデータを、受信可能か否かを判定し、受信部232を制御する。
図6は、中継サーバ42の機能的構成例を示すブロック図である。この例では、通信機器A乃至Cとのデータの送受信が可能か否かについてのネゴシエーションを制御するネゴシエーション制御部271と、ネゴシエーション制御部271の処理結果に基づいてデータの送受信を実行する中継処理実行部272が設けられている。中継処理実行部272には、通信機器A乃至Cにデータを送信する送信部291、および通信機器A乃至Cからデータを受信する受信部292が設けられている。さらに、IMサーバ41から後述するコミュニティリストを取得し、コミュニティリストに基づいて、通信機器A乃至Cがそれぞれネットワーク1に対して接続状態にあるか否か、すなわちネットワーク1を介して通信可能な状態にあるか否かを管理する接続状態管理部273が設けられている。
図7は、ネゴシエーション制御部271の詳細な機能的構成例を示すブロック図である。生成部311は、通信機器A乃至Cに送信するデータのネゴシエーション情報を生成し、ネゴシエーション通信部314に出力する。登録受付部312は、ネゴシエーション通信部314を介して、通信機器A乃至Cが中継サーバ42を介して送信するデータのネゴシエーション情報の登録を受け付ける。ネゴシエーション情報管理部313は、ネゴシエーション通信部314を介して、通信機器A乃至Cのネゴシエーション情報を取得し、各機器のネゴシエーション情報を管理する。ネゴシエーション通信部314は、通信機器A乃至Cとネゴシエーションに関する通信を行うとともに、生成部311乃至ネゴシエーション情報管理部313から提供される情報を受信判定部315または送信判定部316に出力する。
受信判定部315は、ネゴシエーション通信部314から出力される情報に基づいて、通信機器A乃至Cから送信されるデータが受信可能か否かを判定し、受信部291を制御する。送信判定部316は、ネゴシエーション通信部314から出力される情報に基づいて、通信機器A乃至Cに対して、データを送信することが可能か否かを判定し、送信部292を制御する。
ところで、上述したようにIMサーバ41によりユーザのコミュニティが形成される。IMサーバ41によるコミュニティの形成は、例えば、次のようにして行われる。ユーザaは、通信機器AによりIMサーバ41にアクセスすると、通信機器Aの図示せぬ表示部に所定の画面が表示され、ユーザaがコミュニティへの参加を希望する場合、表示された画面の指示に従って、ユーザaは、所定の情報を入力する。図8は、このときユーザaが情報を入力する画面の表示例を示す図である。
同図において、ボックス301は、IDが入力されるボックスであり、IMサーバ41によるIMサービスにおいて、ユーザaを識別するためのユニークなIDが入力される。なお、IDは、IMサーバ41により各ユーザに事前に割り当てられるものとする。ボックス302は、ID認証用パスワードが入力されるボックスであり、ユーザaのパスワードが入力される。ボックス303は、連絡用メールアドレスが入力されるボックスであり、ユーザaの電子メールアドレスが入力される。ボックス304は、ニックネームが入力されるボックスであり、IMサービスにおいて、ユーザaが使用するニックネーム(ハンドルネーム)が入力される。
ボックス305、306、および307は、それぞれ名前、住所、および生年月日が入力されるボックスであり、ユーザaの名前、住所、および生年月日が入力される。なお、通常これらの情報は、他のユーザ(ユーザbまたはユーザc)には公開されない。
ボックス308は、コミュニティ形成メンバに対する紹介写真データを添付するボックスであり、ユーザaの自身の写真などに基づいて生成される画像データが添付される。
ユーザaは、図8に示されるような情報を入力し、その情報を通信機器AからIMサーバ41に送信し、サービス登録する。同様に、ユーザbとユーザcも、図8に示されるような情報を入力し、その情報を通信機器BとCからIMサーバ41に送信し、サービス登録する。
各ユーザは、以上のようにして予め登録された他のユーザの中から、所定のユーザを指定して、コミュニティを形成することができる。例えば、ユーザaがユーザb、cを指定し、ユーザbがユーザa、cを指定し、ユーザcがユーザa、bを指定する場合、ユーザa乃至cのコミュニティが形成される。コミュニティが形成された場合、IMサーバ41において、コミュニティ内のメンバと、そのメンバが所有する通信機器を表す情報を対応付けるロースターが、各ユーザ毎に生成され、記憶される。
図9は、IMサーバ41の記憶部158に記憶される、ユーザaのロースターの構成例を示す図である。同図においては、ユーザaとともに、コミュニティを形成するメンバであるユーザbとユーザcについて、ユーザbを識別するIDと、ユーザbが所有する通信機器が対応付けられて記憶されているとともに、ユーザcを識別するIDと、ユーザcが所有する機器が対応付けられて記憶されている。この例では、ユーザbは、通信機器として、「ハードディスクレコーダ」、「ケータイ(携帯電話機)」、および「PC(パーソナルコンピュータ)」を所有しており、ユーザcは、通信機器として、「ケータイ」、および「PC」を所有している。
なお、IMサーバ41の記憶部158には、同様にユーザbのロースターとユーザcのロースターも記憶されており、ユーザbのロースターには、ユーザaとユーザcについて、ユーザを識別するIDと、ユーザが所有する通信機器が対応付けられて記憶されており、ユーザcのロースターには、ユーザaとユーザbについて、ユーザを識別するIDと、ユーザが所有する通信機器が対応付けられて記憶されている。
このように、コミュニティが形成された後、ユーザaは、通信機器AからIMサーバ41にアクセスし、所定のコマンドを入力(例えば、IDとパスワードを入力してログインコマンドを投入する)することにより、IMサービスに接続(ログイン)し、コミュニティ内のメンバ(ユーザbまたはユーザc)と通信する。そして、コミュニティ内のメンバとの通信を終了したい場合、ユーザaは、通信機器AからIMサーバ41にアクセスし、所定のコマンドを投入することにより、IMサービスへの接続を解除(ログアウト)する。
あるいはまた、IMサーバ41が、通信機器A乃至Cに対して、所定の間隔でポーリングを行い、通信機器A乃至Cからの応答が得られた場合、自動的にログインされ、通信機器A乃至Cからの応答が得られなかった場合、自動的にログアウトされるようにしてもよい。これにより、例えば、通信機器Aの電源が投入され、所定の時間が経過すると(IMサーバ41が通信機器Aにポーリングし、その応答が受信されると)、ユーザaはログイン状態と判定され、通信機器Aの電源がOFFされ、所定の時間が経過すると(IMサーバ41が通信機器Aにポーリングし、その応答が受信されない場合)、ユーザaは、ログアウト状態と判定される。
IMサーバ41は、コミュニティ内の各メンバのネットワーク1への接続状態(ログイン状態か、またはログアウト状態か)を表す情報を含むコミュニティリストを記憶しており、必要に応じてコミュニティリストを、通信機器A乃至C、または中継サーバ42に提供する。図10は、ユーザaが、ログインしたとき、通信機器Aの表示部に表示されるコミュニティリストのGUIの構成例を示す図である。コミュニティリストの中の、フィールド351は、「お友達一覧」と記述されたフィールドであり、フィールド351の中には、ユーザaが参加するコミュニティのメンバである、ユーザbとユーザcの情報が表示されている。また、コミュニティリストの中の、フィールド352は、「あなたの情報」と記述されたフィールドであり、フィールド352の中には、ユーザaの情報が表示されている。
フィールド361乃至365は、ユーザbの情報が表示されるフィールドであり、フィールド361には、ユーザbの写真が表示されている。なお、この写真は、図8のボックス308に添付された画像データに基づいて表示される。従って、写真は必ずしもユーザを撮影した本当の写真であるとは限らず、図形などとされることもある。フィールド362は、ユーザbのニックネームが表示されるフィールドであり、この例では、「ユーザb」と表示されているが、実際には、図8のボックス304に入力されたニックネームが表示される。
フィールド363は、ユーザbが所有(利用)している通信機器が表示されるフィールドであり、この例では、「ハードディスクレコーダ」の文字が、ハードディスクレコーダを表すマークとともに表示されている。
フィールド364は、サービス種類が表示されるフィールドであり、ユーザbとの間で行われる通信サービスの種類が表示される。この例では、「データ転送サービス」と表示されており、ユーザaは、ユーザbとの間でデータ転送を行うことができることを表している。なお、ユーザbとの間で行われる通信サービスが複数ある場合、フィールド364には、複数の通信サービスの種類が表示される。
フィールド365は、ユーザbの接続状態を表すフィールドであり、この例では、「ログアウト状態」の文字が、ログアウト状態を表すマーク(図中円の中に斜線のマーク)とともに表示されている。
フィールド381乃至385は、ユーザcの情報が表示されるフィールドであり、フィールド381には、ユーザcの写真が表示される。また、フィールド382は、ユーザcのニックネームが表示される。
フィールド383は、ユーザcが所有(利用)している通信機器が表示されるフィールドであり、この例では、「ケータイ(携帯電話機のこと)」の文字が、携帯電話機を表すマークとともに表示されている。
フィールド384は、サービス種類が表示されるフィールドであり、ユーザcとの間で行われる通信サービスの種類が表示される。この例では、「対戦ゲームサービス」と表示されており、ユーザaは、ユーザcとの間で対戦ゲームを行うことができることを表している。
フィールド385は、ユーザcの接続状態を表すフィールドであり、この例では、「ログイン状態」の文字が、ログイン状態を表すマーク(図中円のマーク)とともに表示されている。
フィールド401乃至405は、ユーザaの情報が表示されるフィールドであり、フィールド401には、ユーザaの写真が表示されている。また、フィールド402には、ユーザaのニックネームが表示される。
フィールド403は、ユーザaが所有(利用)している通信機器が表示されるフィールドであり、この例では、「PC(パーソナルコンピュータのこと)」の文字が、パーソナルコンピュータを表すマークとともに表示されている。
フィールド404は、サービス種類が表示されるフィールドであり、ユーザaが他のメンバとの間で利用できる通信サービスの種類が表示される。フィールド405は、ユーザaの接続状態を表すフィールドであり、ユーザaは、ログインしているので、「ログイン状態」の文字が、ログイン状態を表すマークとともに表示されている。
図10に示されるコミュニティリストのGUIにおいては、ログアウト状態のユーザの情報は、ログイン状態のユーザの情報とは区別されて表示される。例えば、図10の例では、ユーザbはログアウト状態なので、フィールド361乃至365は、ユーザcのフィールド381乃至385とは異なる色で(例えば、グレーで)表示される。これにより、ユーザaは、ユーザb(の通信機器)が、いまネットワークに接続していないことを容易に認識することができる。
なお、図10には、通信機器Aに表示されるコミュニティリストのGUIの例を示したが、通信機器Bに表示されるコミュニティリストのGUIのフィールド351(お友達一覧)には、ユーザaとユーザcの情報が表示され、フィールド352(あなたの情報)には、ユーザbの情報が表示される。また、通信機器Cに表示されるコミュニティリストのGUIのフィールド351(お友達一覧)には、ユーザaとユーザbの情報が表示され、フィールド352(あなたの情報)には、ユーザcの情報が表示される。
上述したように、本発明においては、中継サーバ42を介して、ログアウト状態のユーザ(の通信機器)に対してデータ(例えば、ファイルなど)の送信を行うことができる。図11のフローチャートを参照して、ユーザaが、中継サーバ42を介して、ログアウト状態であるユーザbにデータを送信する、データ送信処理について説明する。この処理は、ユーザaにより、通信機器Aの入力部106が操作され、ログアウト状態のユーザに対するデータの送信を指令するコマンドが投入されたとき、通信機器Aにおいて実行される。
ステップS1において、通信機器Aの中継処理実行部212は、ユーザaの指令に基づいて、送信相手の選択を受け付ける。このとき例えば、コミュニティリストの中からユーザbが選択される。ステップS2において、中継処理実行部212は、ユーザbに送信するファイル(送信ファイル)の選択を受け付ける。このとき、ユーザaにより、例えば、通信機器Aの記憶部108に記憶されているファイルの中から所望のファイルが選択され、そのファイルの格納場所(例えば、ディレクトリとファイル名など)が入力され、これが受け付けられる。
ステップS3において、ネゴシエーション制御部211は、図12を参照して後述するネゴシエーション処理を実行する。これにより、中継サーバ42と通信し、所定の情報が交換(中継サーバ42とネゴシエーション)されることにより、ステップS2で選択された送信ファイルが中継サーバ42により受信可能か否かが判定され、ステップS2で選択された送信ファイルが受信可能である場合、後述する送信フラグがONに設定されている(後述する図12のステップS25)。
ステップS4において、ネゴシエーション制御部211は、送信フラグは、ONか否かを判定し、送信フラグがONであると判定された場合、ステップS5に進み、送信部231は、ステップS2で選択されたファイルを、通信部109を制御して、中継サーバ42に送信し、その後処理は終了する。一方、ステップS4において、送信フラグがONではないと判定された場合、ステップS5の処理はスキップされる。すなわち、この場合、ファイルは送信されない。
次に、図12を参照して、図11のステップS3のネゴシエーション処理の詳細について説明する。
ステップS21において、生成部251は、ネゴシエーション情報を生成する。ここで生成されるネゴシエーション情報は、例えば、ステップS2で選択されたファイルのサイズ(データ量)を表す情報と、そのファイルのメディアタイプを表す情報により構成される。メディアタイプは、そのファイルの形式を表すものであり、MPEG(Moving Picture Experts Group)、JPEG(Joint Photographic Coding Expers Group)、テキストなどのファイル形式を特定する、例えば3ビットの識別情報とされる。
ステップS22において、情報送信部252は、ステップS21で生成されたネゴシエーション情報を、通信部109を制御して、プライベートネットワーク21、ルータ11、およびインターネット1を介して中継サーバ42に送信する。このとき送信される情報の構成例を図13に示す。
同図は、通信機器Aが、TCP(Transmission Control Protocol)プロトコルに基づいて、中継サーバ42に送信する情報(パケット)の例である。同図において、TCPのパケット450は、TCPヘッダ451と、TCPペイロード452により構成されている。
TCPペイロード452は、マッチメイキング用プロトコルパケットヘッダ461と、マッチメイキング用プロトコルパケットペイロード462により構成されている。マッチメイキング用プロトコルパケットヘッダ461は、このパケットが、IMサーバ41によるIMサービスに用いられるパケットであることを表すヘッダであり、このヘッダ続くペイロード(マッチメイキング用プロトコルパケットペイロード462)には、IMサービスに用いられる情報が記述される。
マッチメイキング用プロトコルパケットペイロード462は、ネゴシエーション用プロトコルパケットヘッダ463とネゴシエーション用プロトコルパケットペイロード464により構成されている。ネゴシエーション用プロトコルパケットヘッダ463は、このパケットが、IMサービスの中において、中継サーバ42とのネゴシエーションに用いられるパケットであることを表すヘッダであり、このヘッダ続くペイロード(ネゴシエーション用プロトコルパケットペイロード464)には、ネゴシエーションに用いられる情報が記述される。
さらに、ネゴシエーション用プロトコルパケットペイロード464は、パケット種別ID471、受信者識別ID472、受信アイテム識別情報473、およびネゴシエーション情報474により構成されている。パケット種別ID471は、そのパケットが、中継サーバと通信機器による一連のネゴシエーションの行程のなかのどの部分で利用されるパケットであるかを表すIDであり、この例では、「packet=sender_relay」と記述されている。これは、このパケットが、一連のネゴシエーションのなかで、データ(ファイル)を送信する機器(sender)から、中継(relay)サーバ42に送信されるパケットであることを表している。
受信者識別ID472は、図11のステップS1で選択(入力)された送信相手、すなわちファイルの受信者を識別するIDであり、この例では、「receiver=userB_ID」と記述されている。これは、ファイルの送信相手、すなわち受信者がユーザbであることをあらわしている。
受信アイテム識別情報473は、受信者(いまの場合、ユーザb)の利用する通信機器の種類を表す識別情報であり、この例では、「Item=HDD」と記述されている。これは、ユーザbの利用する通信機器(通信機器B)がハードディスクレコーダであることを表している。なお、受信アイテム識別情報473は、省略されるようにしてもよい。
そして、ネゴシエーション情報474に、ステップS21で生成されたネゴシエーション情報が格納される。この例では、ネゴシエーション情報474は、サイズ情報481と、メディアタイプ情報482により構成されている。サイズ情報481には、「data_size=10000」と記述されており、これは、ユーザbに送信するファイルのサイズが10,000(10K)バイトであることを表している。メディアタイプ482には、「media_type=010」と記述されており、これは、ユーザbに送信するファイルの形式が、jpeg(識別情報「010」に対応する)であることを表している。
図12に戻って、このように構成される情報が、ステップS22で中継サーバ42に送信されると、中継サーバ42は、その情報を受信して、その情報に含まれるネゴシエーション情報474に基づいて、通信機器Aが送信しようとするファイルを中継サーバ42が受信可能か否か判定し、その判定結果を表す(また、受信不可能である場合はその理由を含む)ネゴシエーション結果を生成し、通信機器Aに送信する。そして、ステップS23において、結果取得部253により通信部109を介して、このネゴシエーション結果が受信される。
ステップS24において、送信可否判定部254は、ステップS23で受信したネゴシエーション結果がOKか否かを判定し、結果がOKであると判定された場合、ステップS25に進み、この後、ファイルを送信することを表すフラグである送信フラグをONに設定する。この送信フラグがONに設定されることにより、上述した、図11のステップS5において、ファイルが送信される。
一方、ステップS24において、ステップS23で受信したネゴシエーション結果がOKではないと判定された場合、ステップS26に進み、送信可否判定部254は、出力部107を制御して、通信機器Aの出力部107の表示部に、ステップS23で受信したネゴシエーション結果を表示する。いまの場合、ネゴシエーション結果がOKではない(NGである)ことと、その理由(例えば、データ量過大)が表示され、ユーザaにファイルを送信できないことが通知される。
次に、中継サーバ42によるデータ中継処理について、図14のフローチャートを参照して説明する。
ステップS41において、中継サーバ42のネゴシエーション制御部271は、送信する機器(いまの場合、通信機器A)からネゴシエーション情報を受信する。このとき、図12のステップS22の処理で通信機器Aから送信されたネゴシエーション情報が受信される。ステップS42において、ネゴシエーション制御部271は、送信中継ネゴシエーション処理を実行する。これによりネゴシエーション結果が通信機器Aに送信される。
ここで、図15のフローチャートを参照して、図14のステップS42の送信中継ネゴシエーション処理の詳細について説明する。
ステップS71において、ネゴシエーション通信部314は、ステップS41で、通信部159を介して受信されたネゴシエーション情報を取得する。ステップS72において、受信判定部315は、ステップS71で取得したネゴシエーション情報に基づいて、通信機器Aが送信しようとしているファイルを受信できるか否かを判定する。このとき、ファイルを受信できるか否か(受信可能か受信不可能か)の判定は、例えば、次のようにして行われる。
中継サーバ42のRAM153には、記憶部158の空き容量が予め記憶されており、CPU151が、記憶部158の空き容量と、ネゴシエーション情報の中のサイズ情報481(図13)の差分を計算する。例えば、記憶部158の空き容量が、9999999バイトである場合、サイズ情報481との差分は、989999(=999999−10000)と計算される。この差分が、0以上である場合、すなわち、記憶部158の空き容量がファイルのサイズより大きい場合、受信可能と判定され、0未満である場合、すなわち、記憶部158の空き容量がファイルのサイズより小さい場合、受信不可能と判定される。いまの場合、989999>0なので、受信可能と判定され、989999バイトが、記憶部158の空き容量として、新たにRAM153に記憶される。
なお、ファイルを受信可能か受信不可能かの判定は、別の方法により行われるようにしてもよい。例えば、中継サーバ42の処理能力に基づいて、ファイルを予め設定された時間以内に受信し、記憶することができるか否かが判定され、その判定に基づいて、ファイルを受信可能か受信不可能が判定されるようにしてもよい。
ステップS72において、ファイルを受信できると判定された場合、ステップS73に進み、ネゴシエーション通信部314は、ネゴシエーション結果OKを通信機器Aに送信する。一方、ステップS72において、ファイルを受信できないと判定された場合、ステップS75に進み、ネゴシエーション通信部314は、ネゴシエーション結果NGと、その理由(例えば、データ量過大)を通信機器Aに送信する。ステップS73またはS75で、送信されたネゴシエーション結果は、上述した図12のステップS23で、通信機器Aにより受信される。
ステップS73の処理の後、受信判定部315は、ステップS74において、この後、処理を進めることを表す中継フラグ1をONに設定する。
図14に戻って、ステップS43において、ネゴシエーション制御部271は、中継フラグ1がONであるか否かを判定し、中継フラグ1がONであると判定された場合、ステップS44に進み、受信部291は、通信部159を制御して、通信機器Aから送信されたファイルを受信する。これにより、図11のステップS5で通信機器Aから送信されたファイルが中継サーバ42で受信され、そのファイルは、記憶部158に記憶される。
ステップS45において、接続状態管理部273は、受信する機器を検索する。このとき、IMサーバ41から、図10を参照して上述したコミュニティリストを構成する情報が、インターネット1と通信部159を介して取得される。そして、コミュニティリストの中で、受信者識別ID472(図13)に対応するIDのユーザの機器(受信する機器)が検索される。いまの場合、コミュニティリストの中のユーザbの情報が検索される。
ステップS46において、接続状態管理部273は、コミュニティリストを構成する情報に基づいて、受信する機器は、未接続状態(ログアウト状態)か否かを判定する。いまの場合、ユーザb(通信機器B)がログアウト状態であるか否かが判定される。ステップS46において、受信する機器は、未接続状態(ログアウト状態)であると判定された場合、処理はステップS52に進み、接続状態管理部273は、予め設定されている所定の時間(例えば、24時間)が経過したか否かを判定し、まだ所定の時間が経過していないと判定された場合、処理はステップS46にもどり、あらためてIMサーバ41から、コミュニティリストを構成する情報を取得し、ユーザb(通信機器B)がログアウト状態であるか否かを判定する。
ステップS52において、所定の時間が経過したと判定された場合、ステップS53に進み、中継処理実行部272は、送信する機器(通信機器A)に中継エラーを通知する。これにより、通信機器Aにより中継エラーが受信され、ユーザaに中継が失敗したことが通知される。通信機器Aの受信部232は、この通知を受信すると、それを出力部107の表示部に出力し、表示させる。これによりユーザaは、ファイルの送信ができなかったことを知ることができる。また、ステップS53の処理にともない、ステップS44で受信し、記憶していたファイルは削除される。
ステップS46において、ユーザb(通信機器B)がログアウト状態ではない、すなわちログイン状態であると判定された場合、処理は、ステップS47に進み、ネゴシエーション制御部271は、受信中継ネゴシエーション処理を実行する。これにより、中継サーバ42と、通信端末Bとの間でネゴシエーションが行われ、通信端末Bにファイルを送信(中継)できるか否かが判定される。
ここで、図16を参照して、図14のステップS47の受信中継ネゴシエーション処理の詳細について説明する。
ステップS91において、生成部311は、ネゴシエーション情報を生成し、ステップS92でネゴシエーション通信部314は、そのネゴシエーション情報を、ファイルを受信する機器(通信機器B)に送信する。このとき送信される情報の構成例を図17に示す。
同図は、中継サーバ42が、TCP(Transmission Control Protocol)プロトコルに基づいて、通信機器Bに送信する情報(パケット)の例である。同図において、TCPヘッダ501乃至ネゴシエーション用プロトコルペイロード514は、図13のTCPヘッダ451乃至ネゴシエーション用プロトコルペイロード464と同様なので、その説明は省略する。
この例では、ネゴシエーション用プロトコルペイロード514がパケット種別ID521、送信者識別ID522、およびネゴシエーション情報523により構成されている。パケット種別ID521は、そのパケットが、中継サーバ42と通信機器Bによる一連のネゴシエーションの行程のなかのどの部分で利用されるパケットであるかを表すIDであり、この例では、「packet=relay_receiver」と記述されている。これは、このパケットが、一連のネゴシエーションのなかで、中継(relay)サーバ42からデータ(ファイル)を受信する機器(receiver)に送信されるパケットであることを表している。
送信者識別ID522は、通信機器Bのユーザbにファイルを送信しようとするユーザを識別するIDであり、この例では、「sender=userA_ID」と記述されている。これは、ファイルの送信者がユーザaであることを表している。
そして、ネゴシエーション情報523に、ステップS91で生成されたネゴシエーション情報が格納される。この例では、ネゴシエーション情報523は、サイズ情報531と、メディアタイプ情報532により構成されている。サイズ情報531と、メディアタイプ情報532は、図13のサイズ情報481と、メディアタイプ情報482と同じ値に設定され、この例では、サイズ情報531には、「data_size=10000」と記述されており、メディアタイプ532には、「media_type=010」と記述されている。
図16に戻って、このように構成される情報がステップS92で通信機器Bに送信されると、通信機器Bは、その情報を受信して、その情報に含まれるネゴシエーション情報に基づいて、通信機器Aが、中継サーバ42を介して送信しようとするファイルを通信機器Bが受信可能か否かを判定し、その判定結果を表す(受信不可能である場合はその理由を含む)ネゴシエーション結果を生成し、中継サーバ42に送信する。そして、ステップS93において、ネゴシエーション通信部314によりネゴシエーション結果が受信される。
ステップS94において、送信判定部316は、ステップS93で受信したネゴシエーション結果がOKか否かを判定し、結果がOKであると判定された場合、ステップS95に進み、この後、ファイルを送信することを表すフラグである中継フラグ2をONに設定する。
一方、ステップS94において、ステップS93で受信したネゴシエーション結果がOKではないと判定された場合、ステップS96に進み、送信判定部316は、ステップS93で受信したネゴシエーション結果を、通信機器Aに送信する。例えば、ネゴシエーション結果がOKではない(NGである)ことと、その理由(例えば、データ量過大)が、通信機器Aに送信され、通信機器Aの表示部に表示される。これにより、ユーザaにファイルを送信できないことが通知される。
図14に戻って、ステップS48において、ネゴシエーション制御部271は、中継フラグ2がONであるか否かを判定し、中継フラグ2がONであると判定された場合、ステップS49に進み、送信部292は、通信部159を制御して、ファイルを送信する。このとき、上述したステップS44で受信され、記憶されているファイルが送信される。そして、送信されたファイルは、通信機器Bにより受信され記憶される(後述する図18のステップS114)。通信機器Bにより、ファイルを全て正常に受信できた場合には、その結果(OK)が通信機器Bから中継サーバ42に通知される(後述する図18のステップS116)。
ステップS50において、中継処理実行部272は、通信機器Bから結果OKが通知されたか否かを判定し、結果OKが通知されたと判定された場合、ステップS51に進み、送信する機器(通信機器A)に送信完了を通知する。これによりユーザaは、自分が送信したファイルをユーザbが無事に受信したことを知る。一方、ステップS50において、結果OKが通知されなかったと判定された場合(後述する図18のステップS117で、受信結果NGが通信機器Bから送信された場合)、中継処理実行部272は、ステップS53に進み、送信する機器(通信機器A)に中継エラーを送信する。これにより、ユーザaは、ユーザbに対するファイルの送信が失敗したことを知る。
なお、ステップS43において、中継フラグ1がONではないと判定された場合、ステップS44乃至S53の処理はスキップされ、ステップS48において、中継フラグ2がONではないと判定された場合、ステップS49乃至S51の処理は、スキップされる。
次に、図18のフローチャートを参照して、通信機器Bによるデータ受信処理について説明する。この処理は、例えば、通信機器Bがログインしたとき実行される。
ステップS111において、通信機器Bの中継処理実行部212は、受信するファイルがあるか否かを判定する。通信機器Bは、ログインしたとき、IMサーバ41にアクセスするとともに、中継サーバ42にアクセスし、自身宛のファイルが中継サーバに記憶されているか否かを判定する。このとき、自身宛(いまの場合、通信機器B)のファイルが中継サーバ42に記憶されていた場合、受信するファイルがあると判定される。
ステップS111において、受信するファイルがあると判定された場合、ステップS112に進み、ネゴシエーション制御部211は、ネゴシエーション処理を実行する。これにより、中継サーバ42と通信し、所定の情報が交換(中継サーバ42とネゴシエーション)されることにより、通信機器Bにおいてファイルが受信可能か否かが判定される。
ここで、図19を参照して、図18のステップS112のネゴシエーション処理の詳細について説明する。
ステップS131において、ネゴシエーション情報取得部257は、通信部109を介してネゴシエーション情報を受信する。通信機器Bがログインしたことにより、中継サーバ42のデータ中継処理においては、上述した図14のステップS46において、受信する機器(通信機器B)は、未接続状態ではない、すなわちログイン状態であると判定され、ステップS47の受信中継ネゴシエーション処理が実行される。そして、図16のステップS92で、中継サーバ42から通信機器Bに送信されたネゴシエーション情報が、ステップS131で通信機器Bにより受信される。
ステップS132において、受信可否判定部258は、ファイルを受信できるか否かを判定する。ファイルを受信できるか否かの判定は、例えば、次のようにして行われる。
すなわち、通信機器BのRAM103には、記憶部108の空き容量(受信可能なファイルのサイズ)および受信可能なメディアタイプが予め記憶されており、CPU101が、RAM103に記憶された受信可能なファイルのサイズおよび受信可能なメディアタイプと、ステップS131で受信したネゴシエーション情報を比較し、ファイルを受信できるか否かを判定する。図20は、RAM108に記憶される情報の例を示す図である。同図には、通信機器Bが受信可能なファイルのサイズ(受信可能サイズ)として、555555バイトと記述されており、また、受信可能なメディアタイプ(受信可能メディアタイプ)として、「100(mpegを表す)」、「010(jpegを表す)」、および「001(textを表す)」の3種類のメディアタイプの識別情報が記述されている。
一方、ステップS131で受信されたネゴシエーション情報には、図17を参照して上述した通り、サイズ情報531に10000(バイト)、メディアタイプ情報532に「010(jpegを表す)」が格納されている。
CPU101は、図20の受信可能サイズの値と、サイズ情報531の値の差分を計算し、受信しようとするファイルのサイズ(サイズ情報531の値)は、受信可能サイズを超えるか否かを判定し、受信可能サイズを超える場合、そのファイルは受信できないと判定する。一方、受信しようとするファイルのサイズが、受信可能サイズを超えない場合、CPU151は、メディアタイプ情報532の値が、図20の受信可能メディアタイプの中にあるか否かを判定し、受信可能メディアタイプの中にある場合、そのファイルは受信できると判定し、メディアタイプ情報532の値が、図20の受信可能メディアタイプの中にない場合、そのファイルを受信できないと判定する。
この例では、図20の受信可能サイズの値と、サイズ情報531の値の差分は、545555(=555555−10000)>0なので、受信しようとするファイルのサイズが、受信可能サイズを超えない。また、メディアタイプ情報532の値「010」は、図20の受信可能メディアタイプの中にあるので、ファイルを受信できると判定される。
図19のステップS132において、ファイルを受信できると判定された場合、ステップS133に進み、受信可否判定部258は、ネゴシエーション結果OKを中継サーバ42に送信する。一方、ステップS132において、ファイルを受信できないと判定された場合、ステップS135に進み、受信可否判定部258は、ネゴシエーション結果NGを中継サーバ42に送信する。ステップS133またはS135で送信されるネゴシエーション結果は、上述した図16のステップS93で、中継サーバ42により受信される。そして、中継サーバ42がステップS133で送信されたネゴシエーション結果OKを受信すると、図14のステップS49で、通信機器Bにファイルが送信される。
ステップS133の処理の後、ステップS134に進み、CPU151は、この後、ファイルを受信することを表す受信フラグをONに設定する。
図18にもどって、ステップS113において、ネゴシエーション制御部211は、受信フラグは、ONか否かを判定し、受信フラグはONであると判定された場合、ステップS114に進み、受信部232は、通信部109を制御してファイルを受信する。このとき、上述した図14のステップS49で中継サーバ42から通信機器Bに送信されたファイルが受信される。
ステップS115において、中継処理実行部212は、受信が正常に終了したか否かを判定する。中継処理実行部212は、例えば、サイズ情報531の値と、ステップ114の処理で受信したファイルのサイズが一致することを確認し、受信が正常に終了したと判定する。
ステップS115において、受信が正常に終了したと判定された場合、ステップS116に進み、中継処理実行部212は、受信結果OKを中継サーバ42に送信する。一方、ステップS115において、受信が正常に終了しなかったと判定された場合、ステップS117に進み、中継処理実行部212は、受信結果NGを中継サーバ42に送信する。なお、ステップS116またはS117で送信される受信結果は、中継サーバ42により受信され、上述した図14のステップS50の処理に用いられる。
ステップS113で受信フラグがONではないと判定された場合、ステップS114乃至S117の処理は、スキップされる。
このようにして、ユーザa(通信機器A)からユーザb(通信機器B)にファイルが送信される。ファイルの送信は、中継サーバ42を介して行われるので、受信者(ユーザb)がログインしていない状態であっても、送信者(ユーザa)は、送信処理を実行することができ、また、受信者は、後でログインしたとき、中継サーバ42から、送信者から送信されたファイルを受信することができる。その結果、データの送受信を効率的に行うことができる。
また、送信する機器(通信端末A)と中継サーバ42の間でネゴシエーションを行い、さらに、受信する機器(通信機器B)と中継サーバ42の間でネゴシエーション処理を行い、ネゴシエーション結果が送信者に通知されるようにしたので、ユーザは、必要に応じて、データを再送するなどして、データの送受信を確実に行うことができる。
図11乃至図20を参照して上述した、一連のデータ送受信の処理においては、送信する機器(通信機器A)が、中継サーバ42にファイルを送信する前に、中継サーバ42とネゴシエーションを行っている(図11のステップS3)が、中継サーバ42の記憶容量を充分に大きくすれば、送信する機器は、中継サーバ42にファイルを送信する前に、中継サーバ42とネゴシエーションを行う必要がなくなり、データの送受信をさらに効率的に行うことができる。この場合の、一連のデータ送受信の処理を図21乃至図24を参照して説明する。
最初に、通信機器Aによるデータ送信処理について、図21のフローチャートを参照して説明する。
図21のステップS201とS202の処理は、図11のステップS1とS2の処理と、それぞれ同じ処理なので、その説明は省略する。
ステップS203において、通信機器Aの生成部251(ネゴシエーション制御部211)は、ネゴシエーション情報を生成する。この処理は、図12のステップS21と同様の処理であり、送信するファイルのサイズ情報とメディアタイプ情報が生成される。そして、ステップS204において、情報送信部252は、ステップS201で選択、入力された送信相手(受信者)、ステップS202で選択、入力されたファイル、ステップS203で生成されたネゴシエーション情報に基づいて、送信登録を行う。これにより、中継サーバ42に送信登録情報(後述)が記憶される。
ステップS205において、送信部231は、ステップS202で選択、入力されたファイルを、中継サーバ42に送信する。
このようにして、送信する機器(通信機器A)のデータ送信処理が行われる。この例では、図11の場合と異なり、ファイルを送信する前に、中継サーバ42とネゴシエーションを行わないので、より効率的(短時間)にファイルを送信することができる。
次に、図22を参照して、中継サーバ42のデータ中継処理について説明する。
ステップS221において、中継サーバ42の登録受付部312(ネゴシエーション制御部271)は、ネゴシエーション通信部314を介して、送信する機器(通信機器A)から送信登録を受け付ける。ここでは、通信機器Aが、図21のステップS204の処理で行った送信登録が受け付けられる。ステップS222において、受信部291は、通信部159を制御して、ファイルを受信する。ここでは、図21のステップS205で、通信機器Aが送信したファイルが受信される。
ステップS223において、登録受付部312は、ステップS221で受け付けた送信登録とステップS222で受信したファイルを対応付けて、記憶部158に送信登録情報として記憶する。このとき、記憶部158に記憶される送信登録情報の例を、図23に示す。同図において、送信登録情報は、「受信者」、「受信アイテム」、「送信者」、「登録日時」、「サイズ」、「メディアタイプ」、および「ファイル」の各項目により構成されている。
「受信者」は、ファイルの受信者を表す項目であり、この例では受信者としてユーザbが記述されている。なお、ここには、ユーザbのIDが記述されるようにしてもよい。「受信アイテム」は、受信者が利用する通信機器の種類を表す項目であり、この例では、受信アイテムとしてHDD(ハードディスクレコーダを表す)が記述されている。なお、この項目は省略されるようにしてもよい。
「送信者」は、ファイルの送信者を表す項目であり、この例では送信者としてユーザaが記述されている。なお、ここには、ユーザaのIDが記述されるようにしてもよい。「登録日時」は、この送信登録情報が、登録された日時を表す項目であり、この例では、2003/10/2011:45(西暦2003年10月20日11時45分)と記述されている。
「サイズ」および「メディアタイプ」は、図13を参照して上述したサイズ情報481およびメディアタイプ情報482とそれぞれ同様のものであり、送信するファイル(ステップS222で受信したファイル)のサイズとメディアタイプを表すものである。この例では、サイズとして、10000バイト、メディアタイプとして「010(jpegを表す)」が記述されている。
「ファイル」は、ステップS222で受信したファイルの格納場所を表すものであり、この例では、「****」と記述されているが、実際には、ファイルが格納されるディレクトリの情報、ファイル名などが記述される。
なお、送信登録情報は、通信機器が、中継サーバ42対して送信登録を行う都度、生成され記憶される。
図22に戻って、ステップS224において、接続状態管理部273は、受信する機器を検索する。このとき、IMサーバ41から、図10を参照して上述したコミュニティリストを構成する情報が、通信部159を介して取得される。そして、コミュニティリストの中で、送信登録情報の「受信者」に対応するユーザの機器(受信する機器)が検索される。いまの場合、ユーザbの情報が検索される。
ステップS225において、接続状態管理部273は、受信する機器は、未接続状態(ログアウト状態)か否かを判定する。いまの場合、ユーザb(通信機器B)がログアウト状態であるか否かが判定される。ステップS225において、受信する機器は、未接続状態(ログアウト状態)であると判定された場合、処理は、ステップS231に進み、接続状態管理部273は、所定の時間(例えば、24時間)が経過したか否かを判定し、まだ所定の時間が経過していないと判定された場合、処理は、ステップS225にもどり、あらためてIMサーバ41から、コミュニティリストを構成する情報を取得し、ユーザb(通信機器B)がログアウト状態であるか否かを判定する。
ステップS231において、所定の時間が経過したと判定された場合、ステップS232に進み、中継処理実行部272は、送信する機器(通信機器A)に中継エラーを通知する。これにより、通信機器Aにより中継エラーが受信され、ユーザaに中継が失敗したことが通知される。また、ステップS232の処理にともない、ステップS221、S222で受信し、記憶していた送信登録情報とファイルは削除される。
ステップS225において、ユーザb(通信機器B)がログアウト状態ではない、すなわちログイン状態であると判定された場合、処理は、ステップS226に進み、ネゴシエーション制御部271は、図24を参照して後述する受信中継ネゴシエーション処理を実行する。これにより、中継サーバ42と、通信端末Bとの間でネゴシエーションが行われ、通信端末Bにファイルを送信(中継)できるか否かが判定される。
ここで、図24を参照して、図22のステップS226の受信中継ネゴシエーション処理の詳細について説明する。
ステップS251において、登録受付部312は、記憶部158に記憶されている送信登録情報からネゴシエーション情報、すなわち「サイズ」と「メディアタイプ」を読み出し、ステップS252で、ネゴシエーション通信部314は、ネゴシエーション情報を、受信する機器(通信機器B)に送信する。これにより、図17を参照して上述した場合と同様の情報が送信される。
ステップS252で情報が通信機器Bに送信されると、通信機器Bは、その情報を受信して、その情報に含まれるネゴシエーション情報に基づいて、通信機器Aが、中継サーバ42を介して送信しようとするファイルを通信機器Bが受信可能か否かを表す(また、受信不可能である場合はその理由を含む)ネゴシエーション結果を生成し、中継サーバ42に送信する。そして、ステップS253において、ネゴシエーション通信部314によりこのネゴシエーション結果が受信される。
ステップS254において、送信判定部316は、ステップS253で受信したネゴシエーション結果がOKか否かを判定し、結果がOKであると判定された場合、ステップS255に進み、この後、ファイルを送信することを表すフラグである中継フラグをONに設定する。
一方、ステップS254において、ステップS253で受信したネゴシエーション結果がOKではないと判定された場合、ステップS256に進み、送信判定部316は、ステップS253で受信したネゴシエーション結果を、ネゴシエーション通信部314を介して通信機器Aに送信する。いまの場合、ネゴシエーション結果がOKではない(NGである)ことと、その理由(例えば、データ量過大)が、通信機器Aに送信され、通信機器Aの表示部に表示される。これにより、ユーザaにファイルを送信できないことが通知される。
図22に戻って、ステップS227において、ネゴシエーション制御部271は、中継フラグがONであるか否かを判定し、中継フラグがONであると判定された場合、ステップS228に進み、送信部292は、通信部159を制御して、ファイルを送信する。このとき、上述したステップS222で受信され記憶されているファイルが送信される。そして、送信されたファイルは、通信機器Bにより受信され記憶される。通信機器Bにより、ファイルを全て正常に受信できた場合には、その結果(OK)が通信機器Bから中継サーバ42に送信サーバ42に通知される。
ステップS229において、中継処理実行部272は、通信機器Bから結果OKが通知されたか否かを判定し、結果OKが通知されたと判定された場合、ステップS230に進み、送信する機器(通信機器A)に送信完了を通知する。これによりユーザaは、自分が送信したファイルをユーザbが無事に受信したことを知る。一方、ステップS229において、結果OKが通知されなかったと判定された場合、中継処理実行部272は、ステップS232に進み、送信する機器(通信機器A)に中継エラーを送信する。これにより、ユーザaは、ユーザbに対するファイルの送信が失敗したことを知る。
ステップS227において、中継フラグはONではないと判定された場合、ステップS228乃至S230の処理は、スキップされる。
このように、通信機器Aから中継サーバ42にファイルが送信され、中継サーバ42から通信機器Bにファイルを中継する場合、通信機器Bにおいても、データ受信処理が実行されるが、通信機器Bによるデータ受信処理は、図18と図19を参照して上述した場合と同様の処理なので、その説明は省略する。
このようにして、データの送受信が行われる。送信する機器は、中継サーバ42にファイルを送信する前に、中継サーバ42とネゴシエーションを行う必要がないので、図11乃至図20を参照して上述した、一連のデータ送受信の処理の場合と比較して、データの送受信をさらに効率的に行うことができる。
図11乃至図20を参照して上述した、一連のデータ送受信処理、および図21乃至図24を参照して上述した、一連のデータ送受信処理においては、受信する機器(通信機器B)がログインし、受信する機器と中継サーバ42のネゴシエーションが終了するまで、送信者(ユーザa)は、自身が送信したファイルを、受信する機器が受信可能か否かを知ることができないが、受信する機器の受信可能サイズ、受信可能メディアなどのネゴシエーション情報を予め中継サーバ42に登録しておけば、送信する機器(通信機器A)が中継サーバ42にファイルを送信する前に、中継サーバ42とネゴシエーションすることにより、受信する機器において、そのファイルを受信可能か否かを、直ちに知ることができる。
この場合の、一連のデータ送受信処理について、図25乃至図31を参照して説明する。最初に、受信する機器(例えば、通信機器B)がネゴシエーション情報を、予め中継サーバ42に登録する、受信側ネゴシエーション情報登録処理について、図25のフローチャートを参照して説明する。この処理は、IMサーバ41のIMサービスの提供を受ける通信機器(例えば、通信機器B)において、ユーザの指令に基づいて実行されるようにしてもよいし、IMサービスのコミュニティに参加したとき、自動的に実行されるようにしてもよい。
ステップS301において、通信機器Bのスペック検出部255は、(自身の)機器のスペック(仕様)をチェックする。このとき、通信機器Bの記憶部108の空き容量(受信可能なファイルのサイズ)および受信可能なメディアタイプなどがチェックされ、図20に示される情報と同様の情報が生成される。
ステップS302において、登録部256は、ステップS301でスペック検出部251がチェックした機器のスペックに基づいて、ネゴシエーション情報を生成し、ステップS303において、ステップS302で生成したネゴシエーション情報を、中継サーバ42に送信(登録)する。
次に、中継サーバ42が、通信機器Bからのネゴシエーション情報の登録を受け付けるネゴシエーション情報登録受付処理について図26を参照して説明する。
ステップS321において、中継サーバ42のネゴシエーション情報管理部313(ネゴシエーション制御部271)は、ネゴシエーション通信部314を介して、通信機器Bから送信されたネゴシエーション情報を受信する。このとき、図25のステップS303で送信されたネゴシエーション情報が受信される。ステップS322において、ネゴシエーション情報管理部313は、ステップS321で受信したネゴシエーション情報を、ユーザbのID(または、通信機器BのID)と対応付けて、記憶部158に記憶する。
これにより、中継サーバ42の記憶部158には、図20に示されるものと同様の情報が、通信機器Bのネゴシエーション情報として記憶(登録)される。さらに、通信機器AまたはCにおいても、図25を参照して上述した処理と、同様の処理が行われ、通信機器AまたはCのネゴシエーション情報も、記憶部158に記憶される。
次に、送信する機器が、中継サーバ42を介してデータ(ファイル)を送信する、データ送信処理について、図27のフローチャートを参照して説明する。なお、この例でも、上述した場合と同様に、ログイン状態の通信機器Aから、中継サーバ42を介して、ログアウト状態の通信機器Bにファイルを送信する場合について説明する。
図27のステップS351乃至S355の処理は、図11のステップS1乃至S5の処理と基本的に同様の処理なので、詳細な説明は省略するが、図11のステップS3では、中継サーバ42に、ファイルを送信できるか否かのネゴシエーションが行われるのに対して、図27のステップS353の登録情報ネゴシエーション処理においては、図26を参照して上述した処理により予め中継サーバ42に登録されている、ネゴシエーション情報に基づくネゴシエーションが行われることにより、受信する機器(いまの場合、通信機器B)がファイルを受信できるか否かが判定される。
ステップS353の登録情報ネゴシエーション処理の詳細を、図28のフローチャートに示す。同図のステップS371乃至S376の処理は、図12のステップS21乃至S26の処理と基本的に同様の処理なので、詳細な説明は省略するが、図12のステップS23で受信されるネゴシエーション結果は、中継サーバ42が、これから送信されるファイルを受信できるか否かを表すものであるのに対して、図28のステップS373で受信されるネゴシエーション結果は、通信機器Bが、これから送信されるファイルを受信できるか否かを表すものである。
従って、ステップS374で、ネゴシエーション結果がOKではない、すなわち結果NGと判定された場合、ステップS376では、通信機器Bでファイルを受信できないことが、その理由(例えば、メディアタイプ相違など)とともに、表示され、ユーザaに通知される。
次に、図29のフローチャートを参照して、中継サーバ42によるデータ中継処理について説明する。
ステップS401において、中継サーバ42のネゴシエーション通信部314(ネゴシエーション制御部271)は、送信する機器(通信機器A)からネゴシエーション情報を受信する。このとき、図28のステップS372で送信されたネゴシエーション情報が受信される。上述したように、図28のステップS372の処理は、図12のステップS22の処理と同様の処理なので、図13を参照して上述した場合と同様の情報がステップS401で受信される。
ステップS402において、ネゴシエーション制御部271は、送信中継ネゴシエーション処理を実行する。これにより、ステップS402で受信したネゴシエーション情報と、図26を参照して上述した処理により登録された、通信機器Bのネゴシエーション情報が比較され、通信機器Bにおいて、ファイルを受信できるか否かが判定される。
ここで、図30のフローチャートを参照して、図29のステップS402の送信中継ネゴシエーション処理の詳細について説明する。
ステップS431において、ネゴシエーション通信部314は、ステップS401で受信した情報の中からネゴシエーション情報、すなわち、サイズ情報481とメディアタイプ情報482(図13)を取得する。
ステップS432において、ネゴシエーション情報管理部313は、受信する機器のネゴシエーション情報を読み出す。いまの場合、受信者識別ID472(図13)は、ユーザbのIDなので、記憶部158の中からユーザb(通信機器B)のネゴシエーション情報を読み出す。この結果、図20に示されるものと同様の情報が読み出される。
ステップS433において、受信判定部315は、ステップS431で取得したネゴシエーション情報と、ステップS432で読み出したネゴシエーション情報に基づいて、ファイルを受信できるか否かを判定する。ファイルを受信できるか否かの判定は、例えば、次のようにして行われる。
すなわち、ステップS432で読み出した通信機器Bのネゴシエーション情報には、図20に示されるように、受信可能なファイルのサイズおよび受信可能なメディアタイプが記述されており、CPU151が、この受信可能なファイルのサイズおよび受信可能なメディアタイプと、ステップS431で取得したネゴシエーション情報、すなわち図17のサイズ情報531の10000(バイト)、およびメディアタイプ情報532の「010(jpegを表す)」を比較する。
CPU151は、図20の受信可能サイズの値と、サイズ情報531の値の差分を計算し、受信しようとするファイルのサイズ(サイズ情報531の値)は、受信可能サイズを超えるか否かを判定し、受信可能サイズを超える場合、そのファイルは受信できないと判定する。一方、受信しようとするファイルのサイズが、受信可能サイズを超えない場合、CPU151は、メディアタイプ情報532の値が、図20の受信可能メディアタイプの中にあるか否かを判定し、受信可能メディアタイプの中にある場合、そのファイルは受信できると判定し、メディアタイプ情報532の値が、図20の受信可能メディアタイプの中にない場合、そのファイルを受信できないと判定する。
この例では、図20の受信可能サイズの値と、サイズ情報531の値の差分は、545555(=555555−10000)>0なので、受信しようとするファイルのサイズが、受信可能サイズを超えない。また、メディアタイプ情報532の値「010」は、図20の受信可能メディアタイプの中にあるので、ファイルを受信できると判定される。
図30のステップS433において、ファイルを受信できると判定された場合、ステップS434に進み、受信判定部316は、ネゴシエーション通信部314を介してネゴシエーション結果OKを、通信機器Aに送信する。一方、ステップS433において、ファイルを受信できないと判定された場合、ステップS436に進み、受信判定部316は、ネゴシエーション通信部314を介してネゴシエーション結果NGを、通信機器Aに送信する。
ステップS434またはS436で送信されたネゴシエーション結果は、図28のステップS373で通信機器Aにより受信され、ネゴシエーション結果がNGの場合、ステップS376で通信機器Aの表示部に表示される。その結果、ユーザaは、中継サーバ42にファイルを送信するのに先立って、自身が送信しようとするファイルを、ユーザb(通信機器B)が受信できるか否かを知ることができる。なお、ネゴシエーション結果がOKの場合、図27のステップS355で、通信機器Aから中継サーバ42にファイルが送信される。
ステップS434の処理の後、ステップS435において、受信判定部315は、この後処理を進める(ファイルを受信する)ことを表す中継フラグをONに設定する。
図29に戻って、ステップS403において、ネゴシエーション制御部271は、中継フラグはONか否かを判定し、中継フラグはONであると判定された場合、処理はステップS404に進む。ステップS404において、受信部291は、通信部159を制御して、ファイルを受信する。このとき、図27のステップS355で、通信機器Aから送信されたファイルが受信され、記憶される。
ステップS405において、接続状態管理部273は、受信する機器を検索する。すなわち、このとき、接続状態管理部273は、IMサーバ41から、図10を参照して上述したコミュニティリストを構成する情報を、通信部159を介して取得する。そして、コミュニティリストの中で、受信者識別ID472(図13)に対応するIDのユーザの機器(受信する機器)が検索される。いまの場合、ユーザbの情報が検索される。
ステップS406において、接続状態管理部273は、受信する機器は、未接続状態(ログアウト状態)か否かを判定する。いまの場合、ユーザb(通信機器B)がログアウト状態であるか否かが判定される。ステップS406において、受信する機器は、未接続状態(ログアウト状態)であると判定された場合、処理は、ステップS410に進み、接続状態管理部273は、所定の時間(例えば、24時間)が経過したか否かを判定し、まだ所定の時間が経過していないと判定された場合、処理は、ステップS406にもどり、あらためてIMサーバ41から、コミュニティリストを構成する情報を取得し、ユーザb(通信機器B)がログアウト状態であるか否かを判定する。
ステップS410において、所定の時間が経過したと判定された場合、ステップS411に進み、中継処理実行部272は、送信する機器(通信機器A)に中継エラーを通知する。これにより、通信機器Aにより中継エラーが受信され、ユーザaに中継が失敗したことが通知される。また、ステップS411の処理にともない、ステップS404で受信し、記憶していたファイルは削除される。
ステップS406において、ユーザb(通信機器B)がログアウト状態ではない、すなわちログイン状態であると判定された場合、処理は、ステップS407に進み、送信部292は、通信部159を制御して、ファイルを送信する。このとき、上述したステップS404で受信され記憶されているファイルが送信される。そして、送信されたファイルは、通信機器Bにより受信され記憶される。通信機器Bにより、ファイルを全て正常に受信できた場合には、その結果(OK)が通信機器Bから中継サーバ42に通知される。
この例では、ステップS402の処理で、予め登録されている通信機器Bのネゴシエーション情報に基づいてネゴシエーションが終了しているので、中継サーバ42と、通信機器Bの間ではネゴシエーションが行われない。その結果、図14を参照して上述したデータ中継処理の場合と比較して、より効率的にデータを送受信することができる。
ステップS408において、中継処理実行部272は、通信機器Bから結果OKが通知されたか否かを判定し、結果OKが通知されたと判定された場合、ステップS409に進み、送信する機器(通信機器A)に送信完了を通知する。これによりユーザaは、自分が送信したファイルをユーザbが無事に受信したことを知る。一方、ステップS408において、結果OKが通知されなかったと判定された場合、中継処理実行部272は、ステップS411に進み、送信する機器(通信機器A)に中継エラーを送信する。これにより、ユーザaは、ユーザbに対するファイルの送信が失敗したことを知る。
なお、ステップS403において、中継フラグはONではないと判定された場合、ステップS404乃至S411の処理は、スキップされる。
次に、図31のフローチャートを参照して、通信機器Bによるデータ受信処理について説明する。この処理は、例えば、通信機器Bがログインしたとき実行される。
ステップS451において、通信機器Bの中継処理実行部212は、受信するファイルがあるか否かを判定し、受信するファイルがあると判定されるまで待機する。通信機器Bは、ログインしたとき、IMサーバ41にアクセスするとともに、中継サーバ42にアクセスし、自身宛のファイルが中継サーバ42に記憶されているか否かを判定する。このとき、自身宛(いまの場合、通信機器B)のファイルが中継サーバ42に記憶されていた場合、受信するファイルがあると判定される。
ステップS451において、受信するファイルがあると判定された場合、ステップS452に進み、受信部232は、通信部109を制御してファイルを受信する。このとき、上述した図29のステップS407で中継サーバ42から通信機器Bに送信されたファイルが受信される。
ステップS453において、中継処理実行部212は、受信が正常に終了したか否かを判定する。ステップS453において、受信が正常に終了したと判定された場合、ステップS454に進み、中継処理実行部212は、受信結果OKを中継サーバ42に送信する。一方、ステップS453において、受信が正常に終了しなかったと判定された場合、ステップS455に進み、中継処理実行部212は、受信結果NGを中継サーバ42に送信する。なお、ステップS454またはS455で送信される受信結果は、中継サーバ42により受信され、上述した図29のステップS408の処理に用いられる。
このようにして、中継サーバ42を介して、ユーザa(通信機器A)からユーザb(通信機器B)にファイルが送信される。中継サーバ42に、予め通信機器Bのネゴシエーション情報を登録し、通信機器Aが中継サーバ42にデータ(ファイル)を送信するのに先立って、中継サーバ42に記憶された通信機器Bのネゴシエーション情報に基づいて、ネゴシエーションを行うようにしたので、より効率的であり、かつ確実にデータの送受信を行うことができる。
以上においては、ログイン状態の通信機器Aのユーザaが、ログアウト状態の通信機器Bのユーザbに対して、中継サーバ42を介してファイルを送信する例について説明したが、通信機器Aによるデータ送信処理(上述した図11、図21または図27の処理)は、図10を参照して上述したコミュニティリストのGUIに基づいて指令され、実行されるようにしてもよい。図32は、この場合のコミュニティリストのGUIの表示例を示す図である。
同図は、図10に対応する図であり、それぞれ対応する部分には、同一の番号が付されている。図32においては、ユーザbの接続状態がログアウト状態であることを表すフィールド365の下部に、「転送中継サービス中」のサイン366が記述されている。これにより現在ログアウトしている相手にもファイルを送信することが可能であることを、ユーザに容易に認識させることができる。ユーザaは、ユーザbへのデータの送信を希望するとき、通信機器Aの入力部106を操作してサイン366をクリックする。
サイン366がクリックされると、通信機器Aの表示部には、例えば、図33に示されるようなGUIが表示される。同図において、「中継サーバが転送サービスを実行中です。中継サーバを利用しますか?」の文字が表示されている。ここで、ユーザが入力部106を操作して、「はい」ボタン611をクリックすると、図11、図21または図27を参照して上述したデータ送信処理が実行される。「いいえ」ボタン612がクリックされるとデータ送信処理は実行されない。
図34は、コミュニティリストのGUIのさらに別の表示例を示す図である。同図においては、ユーザbの接続状態がログアウト状態であることを表すフィールド365の右側に、「転送中継サービスの実行」ボタン370が表示されている。ユーザaは、ユーザbへのデータの送信を希望するとき、通信機器Aの入力部106を操作してボタン370をクリックする。ボタン370がクリックされると、図11、図21または図27を参照して上述したデータ送信処理が実行される。
すなわち、図35のフローチャートに示されるように、転送中継処理が実行される。ステップS481において、通信機器Aの中継処理実行部212は、転送中継サービスの実行ボタン370が押下されたか否かを判定し、ボタン370が押下されたと判定されるまで待機する。ステップS481において、ボタン370が押下されたと判定された場合、ステップS482に進み、中継処理実行部212は、データ送信処理を実行する。この処理は、図11、図21または図27を参照して上述した処理と基本的に同様の処理であるが、いまの場合、送信相手としてユーザbが既に選択されているので、図11のステップS1、図21のステップS201、または図27のステップS351の処理は省略される。
また、図34のユーザcの接続状態がログイン状態であることを表すフィールド385の右側にも、「転送中継サービスの実行」ボタン390が表示されているが、ユーザcはログイン状態であるため、中継サーバ42を介してのデータの送信(以下、転送中継サービスと称する)は実行できない(ユーザcは、現在ログインしているので、直接データを送信することができ、中継サーバ42が介在する必要がない)。このため、ボタン390は、ボタン370とことなり、薄い色で表示される(グレーアウトされる)。これにより、ユーザは、転送中継サービスを利用することができるか否かを、ユーザ毎に確実に知ることができる。
このように、コミュニティの参加者のログインまたはログアウトを表示するコミュニティリスト中に、転送中継サービス実行のためのマーク(ボタン、サイン)を表示することで、ユーザインターフェースが向上し、簡単かつ確実に、データ転送が可能になる。特に、サービスを利用できるユーザと、利用できないユーザを区別して表示することで、誤操作が防止され、より好ましい使用環境が提供される。
また、通信機器に、送信先がログアウト状態であった場合、転送中継サービスを利用するか否かが予め設定されるようにしてもよい。このような場合、通信機器の起動時に例えば、図35に示されるようなGUIが、通信機器の表示部に表示されるようにして、ユーザに転送中継サービスの利用を選択させるようにすることもできる。
図35には、「送信先がログアウト状態だった場合でも、転送中継サービスを利用しない。」の文字と、それに対応するラジオボタン631が表示されている。また、「送信先がログアウト状態だった場合、転送中継サービスを自動的に利用する。」の文字とそれに対応するラジオボタン632が表示されている。さらに、「送信先がログアウト状態だった場合、転送中継サービスを利用するかどうか尋ねる」の文字と、それに対応するラジオボタン633が表示されている。
ユーザは、ラジオボタン631乃至633のいずれかを選択し、適用ボタン634をクリックすることにより、通信機器に、転送中継サービスの利用を設定する。(この例では、ラジオボタン632が選択されている。)
例えば、ラジオボタン631が選択され、適用ボタン634がクリックされた場合、その通信機器においては、図11、図21または図27を参照して上述したデータ送信処理の実行を指令することができないように設定される。また、ラジオボタン632が選択され、適用ボタン634がクリックされた場合、その通信機器においては、送信先がログアウト状態である場合、図11、図21または図27を参照して上述したデータ送信処理が自動的に実行されるように設定される。ラジオボタン633が選択され、適用ボタン634がクリックされた場合、その通信機器においては、図32乃至図34に示されるようなコミュニティリストのGUIが表示され、ログアウト状態のユーザにデータを送信するとき、転送中継サービスを利用するか否かの確認が行われる。
なお、上述した一連の処理をハードウェアで実現するか、ソフトウェアで実現するかは問わない。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
また、本明細書において上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
本発明を適用した通信システムの構成例を示す図である。 図1の通信機器Aの構成例を示すブロック図である。 図1のIMサーバ41の構成例を示すブロック図である。 通信機器Aの機能的構成例を示すブロック図である。 図4のネゴシエーション制御部211の詳細な構成例を示すブロック図である。 中継サーバ42の機能的構成例を示すブロック図である。 図6のネゴシエーション制御部271の詳細な構成例を示すブロック図である。 IMサービスのコミュニティに参加するとき入力する情報の例を示す図である。 ロースターの例を示す図である。 コミュニティリストの表示例を示す図である。 データ送信処理を説明するフローチャートである。 ネゴシエーション処理を説明するフローチャートである。 ネゴシエーション情報を送信するパケットの構成例を示す図である。 データ中継処理を説明するフローチャートである。 送信中継ネゴシエーション処理を説明するフローチャートである。 受信中継ネゴシエーション処理を説明するフローチャートである。 ネゴシエーション情報を送信するパケットの構成例を示す図である。 データ受信処理を説明するフローチャートである。 ネゴシエーション処理を説明するフローチャートである。 通信機器のRAMに記憶される情報の例を示す図である。 データ送信処理の別の例を説明するフローチャートである。 データ中継処理の別の例を説明するフローチャートである。 送信登録情報の例を示す図である。 受信中継ネゴシエーション処理の別の例を説明するフローチャートである。 受信側ネゴシエーション情報登録処理を説明するフローチャートである。 ネゴシエーション情報登録受付処理を説明するフローチャートである。 データ送信処理のさらに別の例を説明するフローチャートである。 登録情報ネゴシエーション処理を説明するフローチャートである。 データ中継処理のさらに別の例を説明するフローチャートである。 送信中継ネゴシエーション処理を説明するフローチャートである。 データ受信処理の別の例を説明するフローチャートである。 コミュニティリストの別の表示例を示す図である。 転送中継サービスを利用するとき表示されるGUIの例を示す図である。 コミュニティリストのさらに別の表示例を示す図である。 転送中継実行処理を説明するフローチャートである。 転送中継サービスの利用を設定するとき表示されるGUIの例を示す図である。
符号の説明
1 インターネット, 41 IMサーバ, 42 中継サーバ, 101 CPU, 109 通信部, 151 CPU, 153 RAM, 159 通信部, 211 ネゴシエーション制御部, 212 中継処理実行部, 251 生成部, 252 情報送信部, 253 結果取得部, 254 送信可否判定部, 255 スペック検出部, 256 登録部, 257ネゴシエーション情報取得部, 258 受信可否判定部, 271 ネゴシエーション制御部, 272 中継処理実行部, 311 生成部, 312 登録受付部, 313 ネゴシエーション情報管理部, 314 ネゴシエーション通信部, 315 受信判定部, 316 送信判定部

Claims (29)

  1. ネットワークを介して通信する複数の情報処理装置と、前記複数の情報処理装置のネットワークへの接続状態を管理する第1の情報管理装置と、前記複数の情報処理装置が行う通信を中継する第2の情報管理装置とからなる通信システムであって、
    第1の情報処理装置は、
    前記ネットワークに接続されていない第2の情報処理装置にデータを送信する場合、前記第2の情報管理装置に対して前記データを送信し、
    前記第2の情報管理装置は、
    前記第1の情報処理装置から送信された前記データを受信して記憶し、
    前記第1の情報管理装置から提供される情報に基づいて、前記第2の情報処理装置が前記ネットワークに接続されたか否かを判定し、
    前記第2の情報処理装置が前記ネットワークに接続されたと判定された場合、前記第2の情報処理装置に前記データを送信し、
    前記第2の情報処理装置は、
    前記ネットワークに接続したとき、前記第2の情報管理装置から前記データを受信する
    ことを特徴とする通信システム。
  2. ネットワークを介して通信する複数の情報処理装置と、前記複数の情報処理装置のネットワークへの接続状態を管理する第1の情報管理装置と、前記複数の情報処理装置が行う通信を中継する第2の情報管理装置とからなる通信システムの通信方法であって、
    第1の情報処理装置は、
    前記ネットワークに接続されていない第2の情報処理装置にデータを送信する場合、前記第2の情報管理装置に対して前記データを送信し、
    前記第2の情報管理装置は、
    前記第1の情報処理装置から送信された前記データを受信して記憶し、
    前記第1の情報管理装置から提供される情報に基づいて、前記第2の情報処理装置が前記ネットワークに接続されたか否かを判定し、
    前記第2の情報処理装置が前記ネットワークに接続されたと判定された場合、前記第2の情報処理装置に前記データを送信し、
    前記第2の情報処理装置は、
    前記ネットワークに接続したとき、前記第2の情報管理装置から前記データを受信する
    ことを特徴とする通信方法。
  3. ネットワークを介して通信する複数の通信機器が行う通信を中継する情報処理装置であって、
    前記ネットワークに接続されている第1の通信機器が、前記ネットワークに接続されていない第2の通信機器に対して送信するデータを受信して記憶する記憶手段と、
    前記複数の通信機器の前記ネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、前記第2の通信機器が前記ネットワークに接続されたか否かを判定する判定手段と、
    前記判定手段により前記第2の通信機器が前記ネットワークに接続されたと判定された場合、前記第2の通信機器に前記記憶手段により記憶された前記データを送信する送信手段と
    を備えることを特徴とする情報処理装置。
  4. 前記第1の通信機器から送信されるデータが受信可能か否かを判定する受信可否判定手段をさらに備え、
    前記受信可否判定手段により、前記第1の通信機器から送信されるデータが受信可能と判定された場合、前記記憶手段が前記データを受信して記憶する
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記受信可否判定手段は、
    前記データのサイズを表すサイズ情報を取得する取得手段を備え、
    前記サイズ情報に基づいて前記データが受信可能か否かを判定する
    ことを特徴とする請求項4に記載の情報処理装置。
  6. 前記受信可否判定手段は、前記データを受信可能か否かの判定結果を前記第1の通信機器に送信する
    ことを特徴とする請求項5に記載の情報処理装置。
  7. 前記第1の通信機器から送信され、前記記憶手段に記憶されたデータが、前記第2の通信機器により受信可能か否かを判定する受信可否判定手段をさらに備え、
    前記受信可否判定手段により、前記データが、前記第2の通信機器により受信可能と判定された場合、前記送信手段は、前記データを送信する
    ことを特徴とする請求項3に記載の情報処理装置。
  8. 前記受信可否判定手段は、
    前記データのサイズを表すサイズ情報および前記データの形式を表すタイプ情報を含むネゴシエーション情報を生成する生成手段と、
    前記生成手段により生成されたネゴシエーション情報を、前記第2の通信機器に送信するネゴシエーション情報送信手段と、
    前記ネゴシエーション情報に基づいて、前記第2の通信機器が前記データを受信可能か否かを判定した判定結果を受信する結果受信手段とを備え、
    前記結果受信手段により受信された判定結果に基づいて、前記データが、前記第2の通信機器により受信可能か否かを判定する
    ことを特徴とする請求項7に記載の情報処理装置。
  9. 前記受信可否判定手段は、前記データが、前記第2の通信機器により受信可能か否かの判定結果を前記第1の通信機器に送信する
    ことを特徴とする請求項8に記載の情報処理装置。
  10. 前記複数の通信機器から、それぞれの通信機器において、受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報の登録を受け付ける登録受付手段をさらに備える
    ことを特徴とする請求項3に記載の情報処理装置。
  11. 前記登録受付手段により登録が受け付けられた前記第2の通信機器の受信可能データ情報に基づいて、前記第1の通信機器から送信されるデータが前記第2の通信機器により受信可能か否かを判定する受信可否判定手段をさらに備え、
    前記記憶手段は、前記受信可否判定手段により、前記第1の通信機器から送信されるデータが前記第2の通信機器により受信可能と判定された場合、前記データを受信して記憶する
    ことを特徴とする請求項10に記載の情報処理装置。
  12. 前記受信可否判定手段は、前記第1の通信機器から前記データのサイズを表すサイズ情報および前記データの形式を表すタイプ情報を含むネゴシエーション情報をさらに取得し、前記ネゴシエーション情報と、前記第2の通信機器の受信可能データ情報に基づいて、前記データが、前記第2の通信機器により受信可能か否かを判定する
    ことを特徴とする請求項11に記載の情報処理装置。
  13. 前記受信可否判定手段は、前記データが、前記第2の通信機器により受信可能か否かの判定結果を前記第1の通信機器に送信する
    ことを特徴とする請求項12に記載の情報処理装置。
  14. ネットワークを介して通信する複数の通信機器が行う通信を中継する情報処理装置の情報処理方法であって、
    前記ネットワークに接続されている第1の通信機器が、前記ネットワークに接続されていない第2の通信機器に対して送信するデータを受信して記憶する記憶ステップと、
    前記複数の通信機器の前記ネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、前記第2の通信機器が前記ネットワークに接続されたか否かを判定する判定ステップと、
    前記判定ステップの処理により前記第2の通信機器が前記ネットワークに接続されたと判定された場合、前記第2の通信機器に、前記記憶ステップの処理により記憶された前記データを送信する送信ステップと
    を含むことを特徴とする情報処理方法。
  15. ネットワークを介して通信する複数の通信機器が行う通信を中継する情報処理装置のプログラムであって、
    前記ネットワークに接続されている第1の通信機器が、前記ネットワークに接続されていない第2の通信機器に対して送信するデータを受信して記憶するように制御する記憶制御ステップと、
    前記複数の通信機器の前記ネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、前記第2の通信機器が前記ネットワークに接続されたか否かの判定を制御する判定制御ステップと、
    前記判定制御ステップの処理により前記第2の通信機器が前記ネットワークに接続されたと判定された場合、前記第2の通信機器に、前記記憶制御ステップの処理により記憶された前記データを送信するように制御する送信制御ステップと
    をコンピュータに実行させることを特徴とするプログラム。
  16. ネットワークを介して通信する複数の通信機器が行う通信を中継する情報処理装置のプログラムが記録されている記録媒体であって、
    前記ネットワークに接続されている第1の通信機器が、前記ネットワークに接続されていない第2の通信機器に対して送信するデータを受信して記憶するように制御する記憶制御ステップと、
    前記複数の通信機器の前記ネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、前記第2の通信機器が前記ネットワークに接続されたか否かの判定を制御する判定制御ステップと、
    前記判定制御ステップの処理により前記第2の通信機器が前記ネットワークに接続されたと判定された場合、前記第2の通信機器に、前記記憶制御ステップの処理により記憶された前記データを送信するように制御する送信制御ステップと
    をコンピュータに実行させるプログラムが記録されることを特徴とする記録媒体。
  17. ネットワークを介して他の情報処理装置と通信する情報処理装置であって、
    前記ネットワークに接続されていない他の情報処理装置にデータを送信する場合、前記ネットワークに接続され、前記情報処理装置の通信の中継を行う中継装置が前記データを受信可能か否かを判定する受信可否判定手段と、
    前記受信可否判定手段により、前記中継装置が前記データを受信可能と判定された場合、前記中継装置に前記データを送信する送信手段と
    を備えることを特徴とする情報処理装置。
  18. 前記受信可否判定手段は、
    前記データのサイズを表すサイズ情報および前記データの形式を表すタイプ情報を含むネゴシエーション情報を生成する生成手段と、
    前記ネゴシエーション情報を、前記中継装置に送信するネゴシエーション情報送信手段と、
    前記中継装置が、前記ネゴシエーション情報に基づいて、前記データを受信可能か否かを判定した判定結果を受信する結果受信手段と、
    前記判定結果を表示する表示手段と
    を備えることを特徴とする請求項17に記載の情報処理装置。
  19. 前記結果受信手段は、予め登録されている前記他の情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報と、前記ネゴシエーション情報に基づいて、前記他の情報処理装置が前記データを受信可能か否かの前記中継装置による判定結果を受信する
    ことを特徴とする請求項18に記載の情報処理装置。
  20. 複数の情報処理装置の前記ネットワークへの接続状態を管理する情報管理装置から提供される情報に基づいて、前記中継装置に前記データを送信する
    ことを特徴とする請求項17に記載の情報処理装置。
  21. ネットワークを介して他の情報処理装置と通信する情報処理装置の情報処理方法であって、
    前記ネットワークに接続されていない他の情報処理装置にデータを送信する場合、前記ネットワークに接続され、前記情報処理装置の通信の中継を行う中継装置が前記データを受信可能か否かを判定する受信可否判定ステップと、
    前記受信可否判定ステップの処理により、前記中継装置が前記データを受信可能と判定された場合、前記中継装置に前記データを送信する送信ステップと
    を含むことを特徴とする情報処理方法。
  22. ネットワークを介して他の情報処理装置と通信する情報処理装置のプログラムであって、
    前記ネットワークに接続されていない他の情報処理装置にデータを送信する場合、前記ネットワークに接続され、前記情報処理装置の通信の中継を行う中継装置が前記データを受信可能か否かの判定を制御する受信可否判定制御ステップと、
    前記受信可否判定制御ステップの処理により、前記中継装置が前記データを受信可能と判定された場合、前記中継装置に前記データを送信するように制御する送信制御ステップと
    をコンピュータに実行させることを特徴とするプログラム。
  23. ネットワークを介して他の情報処理装置と通信する情報処理装置のプログラムが記録されている記録媒体であって、
    前記ネットワークに接続されていない他の情報処理装置にデータを送信する場合、前記ネットワークに接続され、前記情報処理装置の通信の中継を行う中継装置が前記データを受信可能か否かの判定を制御する受信可否判定制御ステップと、
    前記受信可否判定制御ステップの処理により、前記中継装置が前記データを受信可能と判定された場合、前記中継装置に前記データを送信するように制御する送信制御ステップと
    をコンピュータに実行させるプログラムが記録されることを特徴とする記録媒体。
  24. ネットワークに接続される中継装置を介して他の情報処理装置と通信する情報処理装置であって、
    前記他の情報処理装置から送信され、前記中継装置に記憶されているデータを受信可能か否かを判定する受信可否判定手段と、
    前記受信可否判定手段により、前記データを受信可能と判定された場合、
    前記中継装置から前記データを受信する受信手段と
    を備えることを特徴とする情報処理装置。
  25. 前記受信可否判定手段は、
    前記中継装置から、前記データのサイズを表すサイズ情報および前記データの形式を表すタイプ情報を含むネゴシエーション情報を取得する取得手段を備え、
    前記ネゴシエーション情報と、前記情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報に基づいて、前記データを受信可能か否かを判定する
    ことを特徴とする請求項24に記載の情報処理装置。
  26. 前記情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報を前記中継装置に登録する登録手段をさらに備え、
    前記受信可否判定手段は、前記中継装置による判定結果に基づいて判定を行う
    ことを特徴とする請求項24に記載の情報処理装置。
  27. ネットワークに接続される中継装置を介して他の情報処理装置と通信する情報処理装置の情報処理方法であって、
    前記他の情報処理装置から送信され、前記中継装置に記憶されているデータを受信可能か否かを判定する受信可否判定ステップと、
    前記受信可否判定ステップの処理により、前記データを受信可能と判定された場合、
    前記中継装置から前記データを受信する受信ステップと
    を含むことを特徴とする情報処理方法。
  28. ネットワークに接続される中継装置を介して他の情報処理装置と通信する情報処理装置のプログラムであって、
    前記他の情報処理装置から送信され、前記中継装置に記憶されているデータを受信可能か否かの判定を制御する受信可否判定制御ステップと、
    前記受信可否判定制御ステップの処理により、前記データを受信可能と判定された場合、
    前記中継装置から前記データを受信するように制御する受信制御ステップと
    をコンピュータに実行させることを特徴とするプログラム。
  29. ネットワークに接続される中継装置を介して他の情報処理装置と通信する情報処理装置のプログラムが記録されている記録媒体であって、
    前記他の情報処理装置から送信され、前記中継装置に記憶されているデータを受信可能か否かの判定を制御する受信可否判定制御ステップと、
    前記受信可否判定制御ステップの処理により、前記データを受信可能と判定された場合、
    前記中継装置から前記データを受信するように制御する受信制御ステップと
    をコンピュータに実行させるプログラムが記録されることを特徴とする記録媒体。
JP2003418311A 2003-12-16 2003-12-16 通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体 Withdrawn JP2005182169A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003418311A JP2005182169A (ja) 2003-12-16 2003-12-16 通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003418311A JP2005182169A (ja) 2003-12-16 2003-12-16 通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体

Publications (1)

Publication Number Publication Date
JP2005182169A true JP2005182169A (ja) 2005-07-07

Family

ID=34780556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003418311A Withdrawn JP2005182169A (ja) 2003-12-16 2003-12-16 通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体

Country Status (1)

Country Link
JP (1) JP2005182169A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007033549A1 (fr) * 2005-09-19 2007-03-29 Huawei Technologies Co., Ltd. Procede de transmission de message hors ligne
WO2007043232A1 (ja) * 2005-10-07 2007-04-19 Sony Computer Entertainment Inc. 電子通信方法、電子通信システム、通信端末、およびサーバ
JP2007219721A (ja) * 2006-02-15 2007-08-30 Nec Commun Syst Ltd 電子メール端末、プレゼンスサーバ、電子メールシステム、電子メール配信方法およびプログラム
JP2007305049A (ja) * 2006-05-15 2007-11-22 Nippon Telegr & Teleph Corp <Ntt> ファイル転送システム、ファイル転送プログラムおよびファイル転送方法
CN100421431C (zh) * 2005-11-03 2008-09-24 中国移动通信集团公司 一种实现即时消息通信的方法
WO2009074035A1 (fr) * 2007-12-05 2009-06-18 Tencent Technology (Shenzhen) Company Limited Système, appareil et procédé de transmission de fichiers
JP2013504806A (ja) * 2009-09-14 2013-02-07 アリババ グループ ホールディング リミテッド ファイルディレクトリに基づいたファイルの転送のための方法、装置、およびシステム
US9792297B2 (en) 2008-03-28 2017-10-17 Alibaba Group Holding Limited File folder transmission on network

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007033549A1 (fr) * 2005-09-19 2007-03-29 Huawei Technologies Co., Ltd. Procede de transmission de message hors ligne
US8155591B2 (en) 2005-10-07 2012-04-10 Sony Computer Entertainment Inc. Electronic communication method, electronic communication system, communication terminal, and server
WO2007043232A1 (ja) * 2005-10-07 2007-04-19 Sony Computer Entertainment Inc. 電子通信方法、電子通信システム、通信端末、およびサーバ
JP2007104613A (ja) * 2005-10-07 2007-04-19 Sony Computer Entertainment Inc 電子通信方法、電子通信システム、通信端末、およびサーバ
CN100421431C (zh) * 2005-11-03 2008-09-24 中国移动通信集团公司 一种实现即时消息通信的方法
JP2007219721A (ja) * 2006-02-15 2007-08-30 Nec Commun Syst Ltd 電子メール端末、プレゼンスサーバ、電子メールシステム、電子メール配信方法およびプログラム
JP2007305049A (ja) * 2006-05-15 2007-11-22 Nippon Telegr & Teleph Corp <Ntt> ファイル転送システム、ファイル転送プログラムおよびファイル転送方法
JP4530420B2 (ja) * 2006-05-15 2010-08-25 日本電信電話株式会社 ファイル転送システム、ファイル転送プログラムおよびファイル転送方法
WO2009074035A1 (fr) * 2007-12-05 2009-06-18 Tencent Technology (Shenzhen) Company Limited Système, appareil et procédé de transmission de fichiers
US9800680B2 (en) 2007-12-05 2017-10-24 Tencent Technology (Shenzhen) Company Limited File transfer system, device and method
US9792297B2 (en) 2008-03-28 2017-10-17 Alibaba Group Holding Limited File folder transmission on network
JP2013504806A (ja) * 2009-09-14 2013-02-07 アリババ グループ ホールディング リミテッド ファイルディレクトリに基づいたファイルの転送のための方法、装置、およびシステム
US9300721B2 (en) 2009-09-14 2016-03-29 Alibaba Group Holding Limited Method, apparatus and system for file transfer based on file directory

Similar Documents

Publication Publication Date Title
CN102016820B (zh) 数据转发架构中的实时通信
US9282453B2 (en) User terminal, operator server, remote support method and user terminal program
US7392288B2 (en) Information processing apparatus, information processing method, information exchanging method, recording medium, and program
JP2005510797A (ja) メッセージング・クライアント間の継続性を提供するためのシステムおよび方法
JP5359666B2 (ja) 上位セッション管理サーバ、上位セッション管理方法、プログラムおよび上位セッション管理システム
US7853703B1 (en) Methods and apparatuses for identification of device presence
KR101078674B1 (ko) 가상 역할자 제어의 방법, 서버 및 시스템
JP2002157204A (ja) ゲーム装置、サーバシステム、情報サービス方法、記録媒体およびプログラム
JP5482495B2 (ja) 情報処理装置、情報処理方法及びプログラム
KR100968913B1 (ko) 무선통신 시스템, 무선통신단말 및 무선통신 시스템으로의참가방법
JP6724431B2 (ja) 通信システム、情報送信方法、及びプログラム
TW200412754A (en) Extensible communication controls
JP2004214934A (ja) プレゼンス情報処理端末及びプレゼンス情報処理用プログラム並びにプレゼンスサービス提供サーバ
JP2005182169A (ja) 通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体
JP2003203023A (ja) 情報処理システム、情報処理装置、情報処理方法、及び情報処理ネットワークプログラム
US20060064492A1 (en) Systems and methods for smart communication
JP2009071727A (ja) 画像入出力装置、画像処理システム、及び、画像処理制御方法
US9380131B2 (en) Communication apparatus, communication method and program
JP2004054340A (ja) インスタントメッセージング装置、インスタントメッセージングシステム、インスタントメッセージング方法、プログラム及び記録媒体
JP2007207013A (ja) 情報処理装置、情報共有プログラム
JP2006520950A (ja) インターネットのような電気通信網内でのインスタントメッセージングサービスに対する選択的出席管理方法
JP2004221945A (ja) 通信端末装置
JP2009003582A (ja) メッセージ送受信システム、端末装置、端末処理プログラム、サーバ装置、サーバ処理プログラム、表示物表示方法、及び表示態様情報送信方法
JP3675744B2 (ja) 電子メールサービスとメッセンジャーサービスとを利用してユーザ端末間で通信を行う方法、この方法をコンピュータに実行させるためのプログラム、このプログラムを記録した記録媒体、電子メールサービスとメッセンジャーサービスとを利用してユーザ端末間で通信を行うシステム、およびこのシステムでメッセンジャーサーバーとして用いられるサーバーシステム
JP2004013853A (ja) メッセージ交換システム、メッセージ交換装置、メッセージ交換方法及びプログラム

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: 20070306