(57)【要約】【課題】  効率的、かつ確実にデータを送受信できるようにする。【解決手段】  通信機器A乃至Cがネットワークに接続されているか否か（ログイン状態かログアウト状態か）の情報がIMサーバ４１に記憶されている。ログオン状態の通信機器Aが、ログオフ状態の通信機器Bにデータを送信する場合、中継サーバ４２に、一旦データを送信し、通信機器Bがログオン状態になったとき、中継サーバ４２から通信機器Bにデータが送信される。中継サーバ４２は、通信機器Aのデータ送信に先立って、通信機器Aと、データを送受信できるか否かのネゴシエーションを行い、また、通信機器Bへのデータ送信に先立って、通信機器Ｂと、データを送受信できるか否かのネゴシエーションを行う。本発明は、パーソナルコンピュータに適用できる。【選択図】図１
2005182169.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して通信する複数の情報処理装置と、前記複数の情報処理装置のネットワークへの接続状態を管理する第１の情報管理装置と、前記複数の情報処理装置が行う通信を中継する第２の情報管理装置とからなる通信システムであって、
第１の情報処理装置は、
前記ネットワークに接続されていない第２の情報処理装置にデータを送信する場合、前記第２の情報管理装置に対して前記データを送信し、
前記第２の情報管理装置は、
前記第１の情報処理装置から送信された前記データを受信して記憶し、
前記第１の情報管理装置から提供される情報に基づいて、前記第２の情報処理装置が前記ネットワークに接続されたか否かを判定し、
前記第２の情報処理装置が前記ネットワークに接続されたと判定された場合、前記第２の情報処理装置に前記データを送信し、
前記第２の情報処理装置は、
前記ネットワークに接続したとき、前記第２の情報管理装置から前記データを受信する
ことを特徴とする通信システム。
【請求項２】
ネットワークを介して通信する複数の情報処理装置と、前記複数の情報処理装置のネットワークへの接続状態を管理する第１の情報管理装置と、前記複数の情報処理装置が行う通信を中継する第２の情報管理装置とからなる通信システムの通信方法であって、
第１の情報処理装置は、
前記ネットワークに接続されていない第２の情報処理装置にデータを送信する場合、前記第２の情報管理装置に対して前記データを送信し、
前記第２の情報管理装置は、
前記第１の情報処理装置から送信された前記データを受信して記憶し、
前記第１の情報管理装置から提供される情報に基づいて、前記第２の情報処理装置が前記ネットワークに接続されたか否かを判定し、
前記第２の情報処理装置が前記ネットワークに接続されたと判定された場合、前記第２の情報処理装置に前記データを送信し、
前記第２の情報処理装置は、
前記ネットワークに接続したとき、前記第２の情報管理装置から前記データを受信する
ことを特徴とする通信方法。
【請求項３】
ネットワークを介して通信する複数の通信機器が行う通信を中継する情報処理装置であって、
前記ネットワークに接続されている第１の通信機器が、前記ネットワークに接続されていない第２の通信機器に対して送信するデータを受信して記憶する記憶手段と、
前記複数の通信機器の前記ネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、前記第２の通信機器が前記ネットワークに接続されたか否かを判定する判定手段と、
前記判定手段により前記第２の通信機器が前記ネットワークに接続されたと判定された場合、前記第２の通信機器に前記記憶手段により記憶された前記データを送信する送信手段と
を備えることを特徴とする情報処理装置。
【請求項４】
前記第１の通信機器から送信されるデータが受信可能か否かを判定する受信可否判定手段をさらに備え、
前記受信可否判定手段により、前記第１の通信機器から送信されるデータが受信可能と判定された場合、前記記憶手段が前記データを受信して記憶する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記受信可否判定手段は、
前記データのサイズを表すサイズ情報を取得する取得手段を備え、
前記サイズ情報に基づいて前記データが受信可能か否かを判定する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記受信可否判定手段は、前記データを受信可能か否かの判定結果を前記第１の通信機器に送信する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記第１の通信機器から送信され、前記記憶手段に記憶されたデータが、前記第２の通信機器により受信可能か否かを判定する受信可否判定手段をさらに備え、
前記受信可否判定手段により、前記データが、前記第２の通信機器により受信可能と判定された場合、前記送信手段は、前記データを送信する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項８】
前記受信可否判定手段は、
前記データのサイズを表すサイズ情報および前記データの形式を表すタイプ情報を含むネゴシエーション情報を生成する生成手段と、
前記生成手段により生成されたネゴシエーション情報を、前記第２の通信機器に送信するネゴシエーション情報送信手段と、
前記ネゴシエーション情報に基づいて、前記第２の通信機器が前記データを受信可能か否かを判定した判定結果を受信する結果受信手段とを備え、
前記結果受信手段により受信された判定結果に基づいて、前記データが、前記第２の通信機器により受信可能か否かを判定する
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記受信可否判定手段は、前記データが、前記第２の通信機器により受信可能か否かの判定結果を前記第１の通信機器に送信する
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記複数の通信機器から、それぞれの通信機器において、受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報の登録を受け付ける登録受付手段をさらに備える
ことを特徴とする請求項３に記載の情報処理装置。
【請求項１１】
前記登録受付手段により登録が受け付けられた前記第２の通信機器の受信可能データ情報に基づいて、前記第１の通信機器から送信されるデータが前記第２の通信機器により受信可能か否かを判定する受信可否判定手段をさらに備え、
前記記憶手段は、前記受信可否判定手段により、前記第１の通信機器から送信されるデータが前記第２の通信機器により受信可能と判定された場合、前記データを受信して記憶する
ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記受信可否判定手段は、前記第１の通信機器から前記データのサイズを表すサイズ情報および前記データの形式を表すタイプ情報を含むネゴシエーション情報をさらに取得し、前記ネゴシエーション情報と、前記第２の通信機器の受信可能データ情報に基づいて、前記データが、前記第２の通信機器により受信可能か否かを判定する
ことを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記受信可否判定手段は、前記データが、前記第２の通信機器により受信可能か否かの判定結果を前記第１の通信機器に送信する
ことを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
ネットワークを介して通信する複数の通信機器が行う通信を中継する情報処理装置の情報処理方法であって、
前記ネットワークに接続されている第１の通信機器が、前記ネットワークに接続されていない第２の通信機器に対して送信するデータを受信して記憶する記憶ステップと、
前記複数の通信機器の前記ネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、前記第２の通信機器が前記ネットワークに接続されたか否かを判定する判定ステップと、
前記判定ステップの処理により前記第２の通信機器が前記ネットワークに接続されたと判定された場合、前記第２の通信機器に、前記記憶ステップの処理により記憶された前記データを送信する送信ステップと
を含むことを特徴とする情報処理方法。
【請求項１５】
ネットワークを介して通信する複数の通信機器が行う通信を中継する情報処理装置のプログラムであって、
前記ネットワークに接続されている第１の通信機器が、前記ネットワークに接続されていない第２の通信機器に対して送信するデータを受信して記憶するように制御する記憶制御ステップと、
前記複数の通信機器の前記ネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、前記第２の通信機器が前記ネットワークに接続されたか否かの判定を制御する判定制御ステップと、
前記判定制御ステップの処理により前記第２の通信機器が前記ネットワークに接続されたと判定された場合、前記第２の通信機器に、前記記憶制御ステップの処理により記憶された前記データを送信するように制御する送信制御ステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項１６】
ネットワークを介して通信する複数の通信機器が行う通信を中継する情報処理装置のプログラムが記録されている記録媒体であって、
前記ネットワークに接続されている第１の通信機器が、前記ネットワークに接続されていない第２の通信機器に対して送信するデータを受信して記憶するように制御する記憶制御ステップと、
前記複数の通信機器の前記ネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、前記第２の通信機器が前記ネットワークに接続されたか否かの判定を制御する判定制御ステップと、
前記判定制御ステップの処理により前記第２の通信機器が前記ネットワークに接続されたと判定された場合、前記第２の通信機器に、前記記憶制御ステップの処理により記憶された前記データを送信するように制御する送信制御ステップと
をコンピュータに実行させるプログラムが記録されることを特徴とする記録媒体。
【請求項１７】
ネットワークを介して他の情報処理装置と通信する情報処理装置であって、
前記ネットワークに接続されていない他の情報処理装置にデータを送信する場合、前記ネットワークに接続され、前記情報処理装置の通信の中継を行う中継装置が前記データを受信可能か否かを判定する受信可否判定手段と、
前記受信可否判定手段により、前記中継装置が前記データを受信可能と判定された場合、前記中継装置に前記データを送信する送信手段と
を備えることを特徴とする情報処理装置。
【請求項１８】
前記受信可否判定手段は、
前記データのサイズを表すサイズ情報および前記データの形式を表すタイプ情報を含むネゴシエーション情報を生成する生成手段と、
前記ネゴシエーション情報を、前記中継装置に送信するネゴシエーション情報送信手段と、
前記中継装置が、前記ネゴシエーション情報に基づいて、前記データを受信可能か否かを判定した判定結果を受信する結果受信手段と、
前記判定結果を表示する表示手段と
を備えることを特徴とする請求項１７に記載の情報処理装置。
【請求項１９】
前記結果受信手段は、予め登録されている前記他の情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報と、前記ネゴシエーション情報に基づいて、前記他の情報処理装置が前記データを受信可能か否かの前記中継装置による判定結果を受信する
ことを特徴とする請求項１８に記載の情報処理装置。
【請求項２０】
複数の情報処理装置の前記ネットワークへの接続状態を管理する情報管理装置から提供される情報に基づいて、前記中継装置に前記データを送信する
ことを特徴とする請求項１７に記載の情報処理装置。
【請求項２１】
ネットワークを介して他の情報処理装置と通信する情報処理装置の情報処理方法であって、
前記ネットワークに接続されていない他の情報処理装置にデータを送信する場合、前記ネットワークに接続され、前記情報処理装置の通信の中継を行う中継装置が前記データを受信可能か否かを判定する受信可否判定ステップと、
前記受信可否判定ステップの処理により、前記中継装置が前記データを受信可能と判定された場合、前記中継装置に前記データを送信する送信ステップと
を含むことを特徴とする情報処理方法。
【請求項２２】
ネットワークを介して他の情報処理装置と通信する情報処理装置のプログラムであって、
前記ネットワークに接続されていない他の情報処理装置にデータを送信する場合、前記ネットワークに接続され、前記情報処理装置の通信の中継を行う中継装置が前記データを受信可能か否かの判定を制御する受信可否判定制御ステップと、
前記受信可否判定制御ステップの処理により、前記中継装置が前記データを受信可能と判定された場合、前記中継装置に前記データを送信するように制御する送信制御ステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項２３】
ネットワークを介して他の情報処理装置と通信する情報処理装置のプログラムが記録されている記録媒体であって、
前記ネットワークに接続されていない他の情報処理装置にデータを送信する場合、前記ネットワークに接続され、前記情報処理装置の通信の中継を行う中継装置が前記データを受信可能か否かの判定を制御する受信可否判定制御ステップと、
前記受信可否判定制御ステップの処理により、前記中継装置が前記データを受信可能と判定された場合、前記中継装置に前記データを送信するように制御する送信制御ステップと
をコンピュータに実行させるプログラムが記録されることを特徴とする記録媒体。
【請求項２４】
ネットワークに接続される中継装置を介して他の情報処理装置と通信する情報処理装置であって、
前記他の情報処理装置から送信され、前記中継装置に記憶されているデータを受信可能か否かを判定する受信可否判定手段と、
前記受信可否判定手段により、前記データを受信可能と判定された場合、
前記中継装置から前記データを受信する受信手段と
を備えることを特徴とする情報処理装置。
【請求項２５】
前記受信可否判定手段は、
前記中継装置から、前記データのサイズを表すサイズ情報および前記データの形式を表すタイプ情報を含むネゴシエーション情報を取得する取得手段を備え、
前記ネゴシエーション情報と、前記情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報に基づいて、前記データを受信可能か否かを判定する
ことを特徴とする請求項２４に記載の情報処理装置。
【請求項２６】
前記情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報を前記中継装置に登録する登録手段をさらに備え、
前記受信可否判定手段は、前記中継装置による判定結果に基づいて判定を行う
ことを特徴とする請求項２４に記載の情報処理装置。
【請求項２７】
ネットワークに接続される中継装置を介して他の情報処理装置と通信する情報処理装置の情報処理方法であって、
前記他の情報処理装置から送信され、前記中継装置に記憶されているデータを受信可能か否かを判定する受信可否判定ステップと、
前記受信可否判定ステップの処理により、前記データを受信可能と判定された場合、
前記中継装置から前記データを受信する受信ステップと
を含むことを特徴とする情報処理方法。
【請求項２８】
ネットワークに接続される中継装置を介して他の情報処理装置と通信する情報処理装置のプログラムであって、
前記他の情報処理装置から送信され、前記中継装置に記憶されているデータを受信可能か否かの判定を制御する受信可否判定制御ステップと、
前記受信可否判定制御ステップの処理により、前記データを受信可能と判定された場合、
前記中継装置から前記データを受信するように制御する受信制御ステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項２９】
ネットワークに接続される中継装置を介して他の情報処理装置と通信する情報処理装置のプログラムが記録されている記録媒体であって、
前記他の情報処理装置から送信され、前記中継装置に記憶されているデータを受信可能か否かの判定を制御する受信可否判定制御ステップと、
前記受信可否判定制御ステップの処理により、前記データを受信可能と判定された場合、
前記中継装置から前記データを受信するように制御する受信制御ステップと
をコンピュータに実行させるプログラムが記録されることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体に関し、データの送受信を効率的、かつ確実に行うことができるようにする通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体に関する。
【背景技術】
【０００２】
近年、インターネットを利用するユーザに対して、ＩＭ（instant messaging）サービスが提供されている。このＩＭサービスによれば、IMサーバにIMサービスの提供をうけるために登録した各ユーザの情報が、交友関係を結んだ他のユーザに提供され、インターネット接続時に、使用中のパーソナルコンピュータ画面に、事前に登録した相手のインターネット接続状態や、相手からのメッセージを自動的に表示し、その場でリアルタイムにメッセージ交換やチャット、ファイルの送付などを行うことができる（例えば、非特許文献１参照）。
【０００３】
また、サーバを介して各ユーザの機器同士が通信を行う場合において、サーバを経由するトラフィックを軽減して、各ユーザの機器にピアツーピア通信を提供する技術が提案されている（例えば、特許文献１参照）。
【０００４】
【非特許文献１】デジタル・クリエイターズ連絡協議会、“マルチメディア・インターネット辞典「インスタントメッセージング」”、［online］、［平成１４年８月２０日検索］、インターネット、＜URL: http://www.kaigisho.ne.jp/literacy/midic/data/k2/k2109.htm＞
【０００５】
【特許文献１】特開２００３−２０３０２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来ＩＭサービスでは、相手の機器がネットワークに接続されている状態（ログイン状態）でなければ、ファイルの送付を行うことができず、大容量のファイルを送付する場合など、ファイルの送付に時間がかかる場合であっても、ユーザは、相手の機器がログインするまで待ってからファイルの送付を行わなければならない。このため、データ（ファイル）の送受信を効率的に行うことができないという課題があった。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、データの送受信を効率的、かつ確実に行うことができるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の通信システムは、ネットワークを介して通信する複数の情報処理装置と、複数の情報処理装置のネットワークへの接続状態を管理する第１の情報管理装置と、複数の情報処理装置が行う通信を中継する第２の情報管理装置とからなる通信システムであって、第１の情報処理装置は、ネットワークに接続されていない第２の情報処理装置にデータを送信する場合、第２の情報管理装置に対してデータを送信し、第２の情報管理装置は、第１の情報処理装置から送信されたデータを受信して記憶し、第１の情報管理装置から提供される情報に基づいて、第２の情報処理装置がネットワークに接続されたか否かを判定し、第２の情報処理装置がネットワークに接続されたと判定された場合、第２の情報処理装置にデータを送信し、第２の情報処理装置は、ネットワークに接続したとき、第２の情報管理装置からデータを受信することを特徴とする。
【０００９】
本発明の通信方法は、ネットワークを介して通信する複数の情報処理装置と、複数の情報処理装置のネットワークへの接続状態を管理する第１の情報管理装置と、複数の情報処理装置が行う通信を中継する第２の情報管理装置とからなる通信システムの通信方法であって、第１の情報処理装置は、ネットワークに接続されていない第２の情報処理装置にデータを送信する場合、第２の情報管理装置に対してデータを送信し、第２の情報管理装置は、第１の情報処理装置から送信されたデータを受信して記憶し、第１の情報管理装置から提供される情報に基づいて、第２の情報処理装置がネットワークに接続されたか否かを判定し、第２の情報処理装置がネットワークに接続されたと判定された場合、第２の情報処理装置にデータを送信し、第２の情報処理装置は、ネットワークに接続したとき、第２の情報管理装置からデータを受信することを特徴とする。
【００１０】
本発明の通信システムおよび方法においては、第１の情報処理装置により、ネットワークに接続されていない第２の情報処理装置にデータを送信する場合、第２の情報管理装置に対してデータが送信され、第２の情報管理装置により、第１の情報処理装置から送信されたデータが受信されて記憶される。また、第１の情報管理装置から提供される情報に基づいて、第２の情報処理装置がネットワークに接続されたか否かが判定され、第２の情報処理装置がネットワークに接続されたと判定された場合、第２の情報処理装置にデータが送信され、第２の情報処理装置により、ネットワークに接続したとき、第２の情報管理装置からデータが受信される。
【００１１】
本発明の第１の情報処理装置は、ネットワークを介して通信する複数の通信機器が行う通信を中継する情報処理装置であって、ネットワークに接続されている第１の通信機器が、ネットワークに接続されていない第２の通信機器に対して送信するデータを受信して記憶する記憶手段と、複数の通信機器のネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、第２の通信機器がネットワークに接続されたか否かを判定する判定手段と、判定手段により第２の通信機器がネットワークに接続されたと判定された場合、第２の通信機器に記憶手段により記憶されたデータを送信する送信手段とを備えることを特徴とする。
【００１２】
前記第１の通信機器から送信されるデータが受信可能か否かを判定する受信可否判定手段をさらに備え、受信可否判定手段により、第１の通信機器から送信されるデータが受信可能と判定された場合、記憶手段がデータを受信して記憶するようにすることができる。
【００１３】
前記受信可否判定手段は、データのサイズを表すサイズ情報を取得する取得手段を備え、サイズ情報に基づいて前記データが受信可能か否かを判定するようにすることができる。
【００１４】
前記受信可否判定手段は、データを受信可能か否かの判定結果を第１の通信機器に送信するようにすることができる。
【００１５】
前記第１の通信機器から送信され、記憶手段に記憶されたデータが、第２の通信機器により受信可能か否かを判定する受信可否判定手段をさらに備え、受信可否判定手段により、データが、第２の通信機器により受信可能と判定された場合、送信手段は、前記データを送信するようにすることができる。
【００１６】
前記受信可否判定手段は、データのサイズを表すサイズ情報およびデータの形式を表すタイプ情報を含むネゴシエーション情報を生成する生成手段と、生成手段により生成されたネゴシエーション情報を、第２の通信機器に送信するネゴシエーション情報送信手段と、ネゴシエーション情報に基づいて、第２の通信機器がデータを受信可能か否かを判定した判定結果を受信する結果受信手段とを備え、結果受信手段により受信された判定結果に基づいて、データが、第２の通信機器により受信可能か否かを判定するようにすることができる。
【００１７】
前記受信可否判定手段は、データが、第２の通信機器により受信可能か否かの判定結果を第１の通信機器に送信するようにすることができる。
【００１８】
前記複数の通信機器から、それぞれの通信機器において、受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報の登録を受け付ける登録受付手段をさらに備えるようにすることができる。
【００１９】
前記登録受付手段により登録が受け付けられた第２の通信機器の受信可能データ情報に基づいて、第１の通信機器から送信されるデータが第２の通信機器により受信可能か否かを判定する受信可否判定手段をさらに備え、記憶手段は、受信可否判定手段により、第１の通信機器から送信されるデータが第２の通信機器により受信可能と判定された場合、データを受信して記憶するようにすることができる。
【００２０】
前記受信可否判定手段は、第１の通信機器からデータのサイズを表すサイズ情報およびデータの形式を表すタイプ情報を含むネゴシエーション情報をさらに取得し、ネゴシエーション情報と、第２の通信機器の受信可能データ情報に基づいて、データが、第２の通信機器により受信可能か否かを判定するようにすることができる。
【００２１】
前記受信可否判定手段は、データが、第２の通信機器により受信可能か否かの判定結果を第１の通信機器に送信するようにすることができる。
【００２２】
本発明の第１の情報処理方法は、ネットワークを介して通信する複数の通信機器が行う通信を中継する情報処理装置の情報処理方法であって、ネットワークに接続されている第１の通信機器が、ネットワークに接続されていない第２の通信機器に対して送信するデータを受信して記憶する記憶ステップと、複数の通信機器のネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、第２の通信機器がネットワークに接続されたか否かを判定する判定ステップと、判定ステップの処理により第２の通信機器がネットワークに接続されたと判定された場合、第２の通信機器に、記憶ステップの処理により記憶されたデータを送信する送信ステップとを含むことを特徴とする。
【００２３】
本発明の第１のプログラムは、ネットワークを介して通信する複数の通信機器が行う通信を中継する情報処理装置のプログラムであって、ネットワークに接続されている第１の通信機器が、ネットワークに接続されていない第２の通信機器に対して送信するデータを受信して記憶するように制御する記憶制御ステップと、複数の通信機器のネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、第２の通信機器がネットワークに接続されたか否かの判定を制御する判定制御ステップと、判定制御ステップの処理により第２の通信機器がネットワークに接続されたと判定された場合、第２の通信機器に、記憶制御ステップの処理により記憶されたデータを送信するように制御する送信制御ステップとをコンピュータに実行させることを特徴とする。
【００２４】
本発明の第１の記録媒体は、ネットワークを介して通信する複数の通信機器が行う通信を中継する情報処理装置のプログラムが記録されている記録媒体であって、ネットワークに接続されている第１の通信機器が、ネットワークに接続されていない第２の通信機器に対して送信するデータを受信して記憶するように制御する記憶制御ステップと、複数の通信機器のネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、第２の通信機器がネットワークに接続されたか否かの判定を制御する判定制御ステップと、判定制御ステップの処理により第２の通信機器がネットワークに接続されたと判定された場合、第２の通信機器に、記憶制御ステップの処理により記憶されたデータを送信するように制御する送信制御ステップとをコンピュータに実行させるプログラムが記録されることを特徴とする。
【００２５】
本発明の第１の情報処理装置および方法、並びに第１のプログラムにおいては、ネットワークに接続されている第１の通信機器が、ネットワークに接続されていない第２の通信機器に対して送信するデータが受信されて記憶され、複数の通信機器のネットワークへの接続状態を管理する他の情報処理装置から提供される情報に基づいて、第２の通信機器がネットワークに接続されたか否かが判定され、第２の通信機器がネットワークに接続されたと判定された場合、第２の通信機器に、記憶されたデータが送信される。
【００２６】
本発明の第２の情報処理装置は、ネットワークを介して他の情報処理装置と通信する情報処理装置であって、ネットワークに接続されていない他の情報処理装置にデータを送信する場合、ネットワークに接続され、情報処理装置の通信の中継を行う中継装置がデータを受信可能か否かを判定する受信可否判定手段と、受信可否判定手段により、中継装置がデータを受信可能と判定された場合、中継装置にデータを送信する送信手段とを備えることを特徴とする。
【００２７】
前記受信可否判定手段は、データのサイズを表すサイズ情報およびデータの形式を表すタイプ情報を含むネゴシエーション情報を生成する生成手段と、ネゴシエーション情報を、中継装置に送信するネゴシエーション情報送信手段と、中継装置が、ネゴシエーション情報に基づいて、データを受信可能か否かを判定した判定結果を受信する結果受信手段と、判定結果を表示する表示手段とを備えるようにすることができる。
【００２８】
前記結果受信手段は、予め登録されている他の情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報と、ネゴシエーション情報に基づいて、他の情報処理装置がデータを受信可能か否かの中継装置による判定結果を受信するようにすることができる。
【００２９】
複数の情報処理装置のネットワークへの接続状態を管理する情報管理装置から提供される情報に基づいて、中継装置にデータを送信するようにすることができる。
【００３０】
本発明の第２の情報処理方法は、ネットワークを介して他の情報処理装置と通信する情報処理装置の情報処理方法であって、ネットワークに接続されていない他の情報処理装置にデータを送信する場合、ネットワークに接続され、情報処理装置の通信の中継を行う中継装置がデータを受信可能か否かを判定する受信可否判定ステップと、受信可否判定ステップの処理により、中継装置がデータを受信可能と判定された場合、中継装置にデータを送信する送信ステップとを含むことを特徴とする。
【００３１】
本発明の第２のプログラムは、ネットワークを介して他の情報処理装置と通信する情報処理装置のプログラムであって、ネットワークに接続されていない他の情報処理装置にデータを送信する場合、ネットワークに接続され、情報処理装置の通信の中継を行う中継装置がデータを受信可能か否かの判定を制御する受信可否判定制御ステップと、受信可否判定制御ステップの処理により、中継装置がデータを受信可能と判定された場合、中継装置にデータを送信するように制御する送信制御ステップとをコンピュータに実行させることを特徴とする。
【００３２】
本発明の第２の記録媒体は、ネットワークを介して他の情報処理装置と通信する情報処理装置のプログラムが記録されている記録媒体であって、ネットワークに接続されていない他の情報処理装置にデータを送信する場合、ネットワークに接続され、情報処理装置の通信の中継を行う中継装置がデータを受信可能か否かの判定を制御する受信可否判定制御ステップと、受信可否判定制御ステップの処理により、中継装置がデータを受信可能と判定された場合、中継装置に前記データを送信するように制御する送信制御ステップとをコンピュータに実行させるプログラムが記録されることを特徴とする。
【００３３】
本発明の第２の情報処理装置および方法、並びに第２のプログラムにおいては、ネットワークに接続されていない他の情報処理装置にデータを送信する場合、ネットワークに接続され、情報処理装置の通信の中継を行う中継装置がデータを受信可能か否かが判定され、中継装置がデータを受信可能と判定された場合、中継装置にデータが送信される。
【００３４】
本発明の第３の情報処理装置は、ネットワークに接続される中継装置を介して他の情報処理装置と通信する情報処理装置であって、他の情報処理装置から送信され、中継装置に記憶されているデータを受信可能か否かを判定する受信可否判定手段と、受信可否判定手段により、データを受信可能と判定された場合、中継装置からデータを受信する受信手段とを備えることを特徴とする。
【００３５】
前記受信可否判定手段は、中継装置から、データのサイズを表すサイズ情報およびデータの形式を表すタイプ情報を含むネゴシエーション情報を取得する取得手段を備え、ネゴシエーション情報と、情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報に基づいて、データを受信可能か否かを判定することを特徴とする。
【００３６】
前記情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報を中継装置に登録する登録手段をさらに備え、受信可否判定手段は、中継装置による判定結果に基づいて判定を行うようにすることができる。
【００３７】
本発明の第３の情報処理方法は、ネットワークに接続される中継装置を介して他の情報処理装置と通信する情報処理装置の情報処理方法であって、他の情報処理装置から送信され、中継装置に記憶されているデータを受信可能か否かを判定する受信可否判定ステップと、受信可否判定ステップの処理により、データを受信可能と判定された場合、中継装置から前記データを受信する受信ステップとを含むことを特徴とする。
【００３８】
本発明の第３のプログラムは、ネットワークに接続される中継装置を介して他の情報処理装置と通信する情報処理装置のプログラムであって、他の情報処理装置から送信され、中継装置に記憶されているデータを受信可能か否かの判定を制御する受信可否判定制御ステップと、受信可否判定制御ステップの処理により、データを受信可能と判定された場合、中継装置からデータを受信するように制御する受信制御ステップとをコンピュータに実行させることを特徴とする。
【００３９】
本発明の第３の記録媒体は、ネットワークに接続される中継装置を介して他の情報処理装置と通信する情報処理装置のプログラムが記録されている記録媒体であって、他の情報処理装置から送信され、中継装置に記憶されているデータを受信可能か否かの判定を制御する受信可否判定制御ステップと、受信可否判定制御ステップの処理により、前記データを受信可能と判定された場合、中継装置からデータを受信するように制御する受信制御ステップとをコンピュータに実行させるプログラムが記録されることを特徴とする。
【００４０】
本発明の第３の情報処理装置および方法、並びに第３のプログラムにおいては、他の情報処理装置から送信され、中継装置に記憶されているデータが受信可能か否かが判定され、データを受信可能と判定された場合、中継装置からデータが受信される。
【発明の効果】
【００４１】
本発明によれば、データの送受信を行うことができる。特に、効率的、かつ確実に、データの送受信を行うことができる。
【発明を実施するための最良の形態】
【００４２】
以下に本発明の実施の形態を説明するが、本明細書に記載した発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が明細書に記載されていることを確認するためのものである。従って、明細書には記載されているが、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００４３】
さらに、この記載は、明細書に記載されている発明が、全て請求されていることを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出願、または追加される発明の存在を否定するものではない。
【００４４】
本発明により通信システムが提供される。この通信システムは、ネットワーク（例えば、図１のインターネット１）を介して通信する複数の情報処理装置（例えば、図１の通信機器A乃至C）と、前記複数の情報処理装置のネットワークへの接続状態を管理する第１の情報管理装置（例えば、図１のIMサーバ４１）と、前記複数の情報処理装置が行う通信を中継する第２の情報管理装置（例えば、図１の中継サーバ４２）とからなる通信システムであって、第１の情報処理装置（例えば、図１の通信機器A）は、前記ネットワークに接続されていない第２の情報処理装置（例えば、図１の通信機器B）にデータを送信する場合、前記第２の情報管理装置に対して前記データを送信し（例えば、図１１のデータ送信処理）、前記第２の情報管理装置は、前記第１の情報処理装置から送信された前記データを受信して記憶し（例えば、図１４のステップS４４）、前記第１の情報管理装置から提供される情報（例えば、図１０のコミュニティリスト）に基づいて、前記第２の情報処理装置が前記ネットワークに接続されたか否かを判定し（例えば、図１４のステップS４６）、前記第２の情報処理装置が前記ネットワークに接続されたと判定された場合、前記第２の情報処理装置に前記データを送信し（例えば、図１４のステップS４９）、前記第２の情報処理装置は、前記ネットワークに接続したとき、前記第２の情報管理装置から前記データを受信する（例えば、図１８のデータ受信処理）。
【００４５】
本発明により通信方法が提供される。この通信方法は、ネットワーク（例えば、図１のインターネット１）を介して通信する複数の情報処理装置（例えば、図１の通信機器A乃至C）と、前記複数の情報処理装置のネットワークへの接続状態を管理する第１の情報管理装置（例えば、図１のIMサーバ４１）と、前記複数の情報処理装置が行う通信を中継する第２の情報管理装置（例えば、図１の中継サーバ４２）とからなる通信システムの通信方法であって、第１の情報処理装置（例えば、図１の通信機器A）は、前記ネットワークに接続されていない第２の情報処理装置（例えば、図１の通信機器B）にデータを送信する場合、前記第２の情報管理装置に対して前記データを送信し（例えば、図１１のデータ送信処理）、前記第２の情報管理装置は、前記第１の情報処理装置から送信された前記データを受信して記憶し（例えば、図１４のステップS４４）、前記第１の情報管理装置から提供される情報（例えば、図１０のコミュニティリスト）に基づいて、前記第２の情報処理装置が前記ネットワークに接続されたか否かを判定し（例えば、図１４のステップS４６）、前記第２の情報処理装置が前記ネットワークに接続されたと判定された場合、前記第２の情報処理装置に前記データを送信し（例えば、図１４のステップS４９）、前記第２の情報処理装置は、前記ネットワークに接続したとき、前記第２の情報管理装置から前記データを受信する（例えば、図１８のデータ受信処理）。
【００４６】
本発明により第１の情報処理装置が提供される。この情報処理装置は、ネットワーク（例えば、図１のインターネット１）を介して通信する複数の通信機器（例えば、図１の通信機器A乃至C）が行う通信を中継する情報処理装置（例えば、図１の中継サーバ４２）であって、前記ネットワークに接続されている第１の通信機器（例えば、図１の通信機器A）が、前記ネットワークに接続されていない第２の通信機器（例えば、図１の通信機器B）に対して送信するデータを受信して記憶する記憶手段（例えば、図６の受信部２９１）と、前記複数の通信機器の前記ネットワークへの接続状態を管理する他の情報処理装置（例えば、図１のIMサーバ４１）から提供される情報（例えば、図１０のコミュニティリスト）に基づいて、前記第２の通信機器が前記ネットワークに接続されたか否かを判定する判定手段（例えば、図６の接続情報管理部２７３）と、前記判定手段により前記第２の通信機器が前記ネットワークに接続されたと判定された場合、前記第２の通信機器に前記記憶手段により記憶された前記データを送信する送信手段（例えば、図６の送信部２９２）とを備える。
【００４７】
この情報処理装置は、前記第１の通信機器から送信されるデータが受信可能か否かを判定する受信可否判定手段（例えば、図１４のステップS４２の処理を実行する図６のネゴシエーション制御部２７１）をさらに備え、前記受信可否判定手段により、前記第１の通信機器から送信されるデータが受信可能と判定された場合（例えば、図１４のステップS４３で、中継フラグ１はONと判定された場合）、前記記憶手段が前記データを受信して記憶するようにすることができる。
【００４８】
この情報処理装置は、前記受信可否判定手段が、前記データのサイズを表すサイズ情報（例えば、図１３のサイズ情報４８１）を取得する取得手段（例えば、図１５のステップS７１の処理を実行する図７のネゴシエーション通信部３１４）を備え、前記サイズ情報に基づいて前記データが受信可能か否かを判定するようにすることができる。
【００４９】
この情報処理装置は、前記受信可否判定手段が、前記データを受信可能か否かの判定結果を前記第１の通信機器に送信する（例えば、図１５のステップS７３またはS７５）ようにすることができる。
【００５０】
この情報処理装置は、前記第１の通信機器から送信され、前記記憶手段に記憶されたデータが、前記第２の通信機器により受信可能か否かを判定する受信可否判定手段（例えば、図１４のステップS４７の処理を実行する図６のネゴシエーション制御部２７１）をさらに備え、前記受信可否判定手段により、前記データが、前記第２の通信機器により受信可能と判定された場合（例えば、図１４のステップＳ４８で中継フラグ２はONと判定された場合）、前記送信手段は、前記データを送信するようにすることができる。
【００５１】
この情報処理装置は、前記受信可否判定手段が、前記データのサイズを表すサイズ情報（例えば、図１７のサイズ情報５３１）および前記データの形式を表すタイプ情報（例えば、図１７のメディアタイプ情報５３２）を含むネゴシエーション情報を生成する生成手段（例えば、図７の生成部３１１）と、前記生成手段により生成されたネゴシエーション情報を、前記第２の通信機器に送信するネゴシエーション情報送信手段（例えば、図１６のステップS９２の処理を実行する図７のネゴシエーション通信部３１４）と、前記ネゴシエーション情報に基づいて、前記第２の通信機器が前記データを受信可能か否かを判定した判定結果を受信する結果受信手段（例えば、図１６のステップS９３の処理を実行する図７のネゴシエーション通信部３１４）とを備え、前記結果受信手段により受信された判定結果に基づいて、前記データが、前記第２の通信機器により受信可能か否かを判定する（例えば、図１６のステップS９４）ようにすることができる。
【００５２】
この情報処理装置は、前記受信可否判定手段が、前記データが、前記第２の通信機器により受信可能か否かの判定結果を前記第１の通信機器に送信する（例えば、図１５のステップS７３またはS７５の処理）ようにすることができる。
【００５３】
この情報処理装置は、前記複数の通信機器から、それぞれの通信機器において、受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報（例えば、図２０に示される情報）の登録を受け付ける登録受付手段（例えば、図７のネゴシエーション情報管理部３１３）をさらに備えるようにすることができる。
【００５４】
この情報処理装置は、前記登録受付手段により登録が受け付けられた前記第２の通信機器の受信可能データ情報に基づいて、前記第１の通信機器から送信されるデータが前記第２の通信機器により受信可能か否かを判定する受信可否判定手段（例えば、図２９のステップS４０２の処理を実行する図６のネゴシエーション制御部２７１）をさらに備え、前記記憶手段は、前記受信可否判定手段により、前記第１の通信機器から送信されるデータが前記第２の通信機器により受信可能と判定された場合（例えば、図２９のステップS４０３で、中継フラグはONと判定された場合）、前記データを受信して記憶するようにすることができる。
【００５５】
この情報処理装置は、前記受信可否判定手段が、前記第１の通信機器から前記データのサイズを表すサイズ情報（例えば、図１３のサイズ情報４８１）および前記データの形式を表すタイプ情報（例えば、図１３のメディアタイプ情報４８２）を含むネゴシエーション情報をさらに取得し（例えば、図３０のステップS４３１）、前記ネゴシエーション情報と、前記第２の通信機器の受信可能データ情報に基づいて、前記データが、前記第２の通信機器により受信可能か否かを判定するようにすることができる。
【００５６】
この情報処理装置は、前記受信可否判定手段が、前記データが、前記第２の通信機器により受信可能か否かの判定結果を前記第１の通信機器に送信する（例えば、図３０のステップS４３４またはS４３６）ようにすることができる。
【００５７】
本発明により第１の情報処理方法が提供される。この情報処理方法は、ネットワーク（例えば、図１のインターネット１）を介して通信する複数の通信機器（例えば、図１の通信機器A乃至C）が行う通信を中継する情報処理装置（例えば、図１の中継サーバ４２）の情報処理方法であって、前記ネットワークに接続されている第１の通信機器（例えば、図１の通信機器A）が、前記ネットワークに接続されていない第２の通信機器（例えば、図１の通信機器B）に対して送信するデータを受信して記憶する記憶ステップ（例えば、図１４のステップS４４）と、前記複数の通信機器の前記ネットワークへの接続状態を管理する他の情報処理装置（例えば、図１のIMサーバ４１）から提供される情報（例えば、図１０のコミュニティリスト）に基づいて、前記第２の通信機器が前記ネットワークに接続されたか否かを判定する判定ステップ（例えば、図１４のステップS４６）と、前記判定ステップの処理により前記第２の通信機器が前記ネットワークに接続されたと判定された場合、前記第２の通信機器に、前記記憶ステップの処理により記憶された前記データを送信する送信ステップ（例えば、図１４のステップS４９）とを含む。
【００５８】
本発明により第１のプログラムが提供される。このプログラムは、ネットワーク（例えば、図１のインターネット１）を介して通信する複数の通信機器（例えば、図１の通信機器A乃至C）が行う通信を中継する情報処理装置（例えば、図１の中継サーバ４２）のプログラムであって、前記ネットワークに接続されている第１の通信機器（例えば、図１の通信機器A）が、前記ネットワークに接続されていない第２の通信機器（例えば、図１の通信機器B）に対して送信するデータを受信して記憶するように制御する記憶制御ステップ（例えば、図１４のステップS４４）と、前記複数の通信機器の前記ネットワークへの接続状態を管理する他の情報処理装置（例えば、図１のIMサーバ４１）から提供される情報（例えば、図１０のコミュニティリスト）に基づいて、前記第２の通信機器が前記ネットワークに接続されたか否かの判定を制御する判定制御ステップ（例えば、図１４のステップS４６）と、前記判定制御ステップの処理により前記第２の通信機器が前記ネットワークに接続されたと判定された場合、前記第２の通信機器に、前記記憶制御ステップの処理により記憶された前記データを送信するように制御する送信制御ステップ（例えば、図１４のステップS４９）とをコンピュータに実行させる。
【００５９】
本発明により第１の記録媒体が提供される。この記録媒体は、ネットワーク（例えば、図１のインターネット１）を介して通信する複数の通信機器（例えば、図１の通信機器A乃至C）が行う通信を中継する情報処理装置（例えば、図１の中継サーバ４２）のプログラムが記録されている記録媒体であって、前記ネットワークに接続されている第１の通信機器が、前記ネットワークに接続されていない第２の通信機器に対して送信するデータを受信して記憶するように制御する記憶制御ステップ（例えば、図１４のステップS４４）と、前記複数の通信機器の前記ネットワークへの接続状態を管理する他の情報処理装置（例えば、図１のIMサーバ４１）から提供される情報（例えば、図１０のコミュニティリスト）に基づいて、前記第２の通信機器が前記ネットワークに接続されたか否かの判定を制御する判定制御ステップ（例えば、図１４のステップS４６）と、前記判定制御ステップの処理により前記第２の通信機器が前記ネットワークに接続されたと判定された場合、前記第２の通信機器に、前記記憶制御ステップの処理により記憶された前記データを送信するように制御する送信制御ステップ（例えば、図１４のステップS４９）とをコンピュータに実行させるプログラムが記録される。
【００６０】
本発明により第２の情報処理装置が提供される。この情報処理装置は、ネットワーク（例えば、図１のインターネット１）を介して他の情報処理装置と通信する情報処理装置（例えば、図１の通信機器A）であって、前記ネットワークに接続されていない他の情報処理装置（例えば、図１の通信機器B）にデータを送信する場合、前記ネットワークに接続され、前記情報処理装置の通信の中継を行う中継装置（例えば、図１の中継サーバ４２）が前記データを受信可能か否かを判定する受信可否判定手段（例えば、図１１のステップS３の処理を実行する図４のネゴシエーション制御部２１１）と、前記受信可否判定手段により、前記中継装置が前記データを受信可能と判定された場合（例えば、図１１のステップS４で送信フラグはONと判定された場合）、前記中継装置に前記データを送信する送信手段（例えば、図４の送信部２３１）とを備えることを特徴とする。
【００６１】
この情報処理装置は、前記受信可否判定手段が、前記データのサイズを表すサイズ情報（例えば、図１３のサイズ情報４８１）および前記データの形式を表すタイプ情報（例えば、図１３のメディアタイプ情報４８２）を含むネゴシエーション情報を生成する生成手段（例えば、図５の生成部２５１）と、前記ネゴシエーション情報を、前記中継装置に送信するネゴシエーション情報送信手段（例えば、図５の情報送信部２５２）と、前記中継装置が、前記ネゴシエーション情報に基づいて、前記データを受信可能か否かを判定した判定結果を受信する結果受信手段（例えば、図５の結果取得部２５３）と、前記判定結果を表示する表示手段（例えば、図１２のステップS２６の処理を実行する図５の送信可否判定部２５４）とを備えるようにすることができる。
【００６２】
この情報処理装置は、前記結果受信手段が、予め登録されている前記他の情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報（例えば、図２０に示される情報）と、前記ネゴシエーション情報に基づいて、前記他の情報処理装置が前記データを受信可能か否かの前記中継装置による判定結果を受信する（例えば、図２８のステップS３７３）ようにすることができる。
【００６３】
この情報処理装置は、複数の情報処理装置の前記ネットワークへの接続状態を管理する情報管理装置（例えば、図１のIMサーバ４１）から提供される情報（例えば、図３４のコミュニティリスト）に基づいて、前記中継装置に前記データを送信する（例えば、図３５のステップS４８２）ようにすることができる。
【００６４】
本発明により第２の情報処理方法が提供される。この情報処理方法は、ネットワーク（例えば、図１のインターネット１）を介して他の情報処理装置と通信する情報処理装置（例えば、図１の通信機器A乃至C）の情報処理方法であって、前記ネットワークに接続されていない他の情報処理装置にデータを送信する場合、前記ネットワークに接続され、前記情報処理装置の通信の中継を行う中継装置（例えば、図１の中継サーバ４２）が前記データを受信可能か否かを判定する受信可否判定ステップ（例えば、図１１のステップS３）と、前記受信可否判定ステップの処理により、前記中継装置が前記データを受信可能と判定された場合（例えば、図１１のステップS４で送信フラグはONと判定された場合）、前記中継装置に前記データを送信する送信ステップ（例えば、図１１のステップS５）とを含む。
【００６５】
本発明により第２のプログラムが提供される。このプログラムは、ネットワーク（例えば、図１のインターネット１）を介して他の情報処理装置と通信する情報処理装置（例えば、図１の通信機器A乃至C）のプログラムであって、前記ネットワークに接続されていない他の情報処理装置にデータを送信する場合、前記ネットワークに接続され、前記情報処理装置の通信の中継を行う中継装置（例えば、図１の中継サーバ４２）が前記データを受信可能か否かの判定を制御する受信可否判定制御ステップ（例えば、図１１のステップS３）と、前記受信可否判定制御ステップの処理により、前記中継装置が前記データを受信可能と判定された場合（例えば、図１１のステップS４で送信フラグはONと判定された場合）、前記中継装置に前記データを送信するように制御する送信制御ステップ（例えば、図１１のステップS５）とをコンピュータに実行させる。
【００６６】
本発明により第２の記録媒体が提供される。この記録媒体は、ネットワーク（例えば、図１のインターネット１）を介して他の情報処理装置と通信する情報処理装置（例えば、図１の通信機器A乃至C）のプログラムが記録されている記録媒体であって、前記ネットワークに接続されていない他の情報処理装置にデータを送信する場合、前記ネットワークに接続され、前記情報処理装置の通信の中継を行う中継装置（例えば、図１の中継サーバ４２）が前記データを受信可能か否かの判定を制御する受信可否判定制御ステップ（例えば、図１１のステップS３）と、前記受信可否判定制御ステップの処理により、前記中継装置が前記データを受信可能と判定された場合（例えば、図１１のステップS４で送信フラグはONと判定された場合）、前記中継装置に前記データを送信するように制御する送信制御ステップ（例えば、図１１のステップS５）とをコンピュータに実行させるプログラムが記録される。
【００６７】
本発明により第３の情報処理装置が提供される。この情報処理装置は、ネットワーク（例えば、図１のインターネット１）に接続される中継装置（例えば、図１の中継サーバ４２）を介して他の情報処理装置と通信する情報処理装置（例えば、図１の通信機器B）であって、前記他の情報処理装置（例えば、図１の通信機器A）から送信され、前記中継装置に記憶されているデータを受信可能か否かを判定する受信可否判定手段（例えば、図１８のステップS１１２の処理を実行する図４のネゴシエーション制御部２１１）と、前記受信可否判定手段により、前記データを受信可能と判定された場合（例えば、図１８のステップS１１３で受信フラグはONと判定された場合）、前記中継装置から前記データを受信する受信手段（例えば、図４の受信部２３２）とを備える。
【００６８】
この情報処理装置は、前記受信可否判定手段が、前記中継装置から、前記データのサイズを表すサイズ情報（例えば、図１７のサイズ情報５３１）および前記データの形式を表すタイプ情報（例えば、図１７のメディアタイプ情報５３２）を含むネゴシエーション情報を取得する取得手段（例えば、図５のネゴシエーション情報取得部２５７）を備え、前記ネゴシエーション情報と、前記情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報（例えば、図２０に示される情報）に基づいて、前記データを受信可能か否かを判定するようにすることができる。
【００６９】
この情報処理装置は、前記情報処理装置が受信可能なデータのサイズおよび利用可能なデータの形式を含む受信可能データ情報（例えば、図２０に示される情報）を前記中継装置に登録する登録手段（例えば、図５の登録部２５６）をさらに備え、前記受信可否判定手段は、前記中継装置による判定結果（例えば、図３０のステップS４３３の処理による判定結果）に基づいて判定を行うようにすることができる。
【００７０】
本発明により第３の情報処理方法が提供される。この情報処理方法は、ネットワーク（例えば、図１のインターネット１）に接続される中継装置（例えば、図１の中継サーバ４２）を介して他の情報処理装置と通信する情報処理装置（例えば、図１の通信機器B）の情報処理方法であって、前記他の情報処理装置（例えば、図１の通信機器A）から送信され、前記中継装置に記憶されているデータを受信可能か否かを判定する受信可否判定ステップ（例えば、図１８のステップS１１２）と、前記受信可否判定ステップの処理により、前記データを受信可能と判定された場合（例えば、図１８のステップS１１３で受信フラグはONと判定された場合）、前記中継装置から前記データを受信する受信ステップ（例えば、図１８のステップS１１４）とを含む。
【００７１】
本発明により第３のプログラムが提供される。このプログラムは、ネットワーク（例えば、図１のインターネット１）に接続される中継装置（例えば、図１の中継サーバ４２）を介して他の情報処理装置と通信する情報処理装置（例えば、図１の通信機器B）のプログラムであって、前記他の情報処理装置（例えば、図１の通信機器A）から送信され、前記中継装置に記憶されているデータを受信可能か否かの判定を制御する受信可否判定制御ステップ（例えば、図１８のステップS１１２）と、前記受信可否判定制御ステップの処理により、前記データを受信可能と判定された場合（例えば、図１８のステップS１１３で受信フラグはONと判定された場合）、前記中継装置から前記データを受信するように制御する受信制御ステップ（例えば、図１８のステップS１１４）とをコンピュータに実行させる。
【００７２】
本発明により第３の記録媒体が提供される。この記録媒体は、ネットワーク（例えば、図１のインターネット１）に接続される中継装置（例えば、図１の中継サーバ４２）を介して他の情報処理装置と通信する情報処理装置（例えば、図１の通信機器B）のプログラムが記録されている記録媒体であって、前記他の情報処理装置（例えば、図１の通信機器A）から送信され、前記中継装置に記憶されているデータを受信可能か否かの判定を制御する受信可否判定制御ステップ（例えば、図１８のステップS１１２）と、前記受信可否判定制御ステップの処理により、前記データを受信可能と判定された場合（例えば、図１８のステップS１１３で受信フラグはONと判定された場合）、前記中継装置から前記データを受信するように制御する受信制御ステップ（例えば、図１８のステップS１１４）とをコンピュータに実行させるプログラムが記録される。
【００７３】
以下、図面を参照して、本発明の実施の形態について説明する。図１は、本発明を適用した通信システムの構成例を示すブロック図である。同図には、インターネット１に、ルータ１１乃至１３を介してプライベートネットワーク２１乃至２３が接続されている。
【００７４】
ルータ１１乃至１３は、プライベートネットワーク２１乃至２３上のユニークなアドレスであるプライベートアドレスを、インターネット上のグローバルＩＰアドレスに変換するNAT（Network Address Translation）機能を有しており、例えば、ルータ１１は、プライベートネットワーク２１に接続される通信機器Aから送信されたパケットの送信元のアドレスを、通信機器ＡのプライベートネットワークアドレスからグローバルＩＰアドレス（ルータ１１のグローバルIPアドレス）に変換して、インターネット１に転送し、インターネット１から通信機器Ａ宛に送信されてくるパケットの送信先のアドレスをグローバルＩＰアドレス（ルータ１１のグローバルIPアドレス）から通信機器Ａのプライベートネットワークアドレスに変換して転送する。
【００７５】
同様に、ルータ１２と１３は、プライベートネットワーク２２と２３に接続される通信機器ＢとＣから送信されたパケットの送信元のアドレスを、通信機器ＢとＣプライベートネットワークアドレスからグローバルＩＰアドレス（ルータ１２、１３のグローバルＩＰアドレス）に変換して、インターネット１に転送し、インターネット１から通信機器ＢまたはＣ宛に送信されてくるパケットの送信先のアドレスを、グローバルＩＰアドレス（ルータ１２、１３のグローバルＩＰアドレス）から通信機器ＢまたはＣのプライベートネットワークアドレスに変換して転送する。
【００７６】
通信機器Ａ乃至Ｃは、ユーザａ乃至ｃが所有する、通信機能を有する情報機器であり、例えば、パーソナルコンピュータ、ハードディスクレコーダ、または携帯電話機などにより構成される。なお、ユーザａ乃至ｃが所有する通信機器Ａ乃至Ｃは、それぞれ１台に限られるものではなく、一人のユーザが複数の通信機器を所有していてもかまわない。
【００７７】
ＩＭサーバ４１は、インターネット１に接続され、ユーザａ乃至ユーザｃは、ＩＭサーバ４１によりＩＭサービスの提供を受ける場合、事前にユーザａ乃至ユーザｃの情報（例えば、ニックネーム、メールアドレスなど）の情報を、通信機器Ａ乃至ＣのアドレスとともにＩＭサーバ４１に登録しておく。そして、ＩＭサーバ４１は、通信機器Ａ乃至Ｃのユーザをコミュニティに登録する。
【００７８】
例えば、通信機器Ａのユーザａが、通信機器Ｂのユーザｂおよび通信機器Cのユーザｃとコミュニティを形成するように希望した場合、ＩＭサーバ４１において、ユーザａ、ユーザｂおよびユーザｃのグループがコミュニティとして登録される。そして、これ以降ユーザａ乃至ｃは、ＩＭサーバ４１にアクセスすることにより、コミュニティ内の他のユーザの通信機器がネットワークに接続されている状態（以下、ログイン状態と称する）にあるか否かを確認することができる。
【００７９】
中継サーバ４２は、やはりインターネット１に接続され、通信機器Ａ乃至Ｃの間で行われる通信の仲介（中継）を行う。例えば、通信機器Ａが通信機器Ｂにファイルを送信したい場合、通信機器Ｂがログイン状態でないとき、通信機器Ａは、中継サーバ４２にファイルを送信し、中継サーバ４２は、通信機器Ａから送信されたファイルを受信して、一時的に保存する。そして、通信機器Ｂがログイン状態になったとき、中継サーバ４２は、保存していたファイルを通信機器Ｂに送信することにより、結果的には、通信機器Ａから通信機器Ｂにファイルが送信される。
【００８０】
なお、この例では、ＩＭサーバ４１と中継サーバ４２は、別々のサーバとして構成されているが、ＩＭサーバ４１と中継サーバ４２が１つのサーバとして構成されるようにしてもよい。また、この例では、通信機器Ａ乃至Ｃは、それぞれプライベートネットワーク２１乃至２３を介してインターネット１に接続されているが、インターネット１に直接接続されていてもかまわない。
【００８１】
図２は、通信機器Aの構成例を示すブロック図である。同図において、CPU（Central  Processing  Unit）１０１は、ROM（Read  Only  Memory）１０２に記憶されているプログラム、または記憶部１０８からRAM（Random  Access  Memory）１０３にロードされたプログラムに従って各種の処理を実行する。RAM１０３にはまた、CPU１０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００８２】
CPU１０１、ROM１０２、およびRAM１０３は、バス１０４を介して相互に接続されている。このバス１０４にはまた、入出力インタフェース１０５も接続されている。
【００８３】
入出力インタフェース１０５には、キーボード、マウスなどよりなる入力部１０６、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ（表示部）、並びにスピーカなどよりなる出力部１０７、ハードディスクなどより構成される記憶部１０８、モデム、ターミナルアダプタなどより構成される通信部１０９が接続されている。通信部１０９は、インターネット１、プライベートネットワーク２１などのネットワークを介しての通信処理を行う。
【００８４】
入出力インタフェース１０５にはまた、必要に応じてドライブ１１０が接続され、ドライブ１１０には、プログラムが記録された記録媒体として、例えば、リムーバブルメディア１１１が装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部１０８にインストールされる。
【００８５】
また、通信機器ＢとCの構成も図２の通信機器Aと同様の構成なので、以下、必要に応じて同図を通信機器ＢとCの構成としても引用する。
【００８６】
図３は、ＩＭサーバ４１の構成例を示すブロック図である。同図におけるCPU２０１乃至リムーバブルメディア２１１は、図２のCPU１０１乃至リムーバブルメディア１１１と同様のものなので、その説明は省略する。
【００８７】
また、中継サーバ４２の構成も図３のIMサーバ４１と同様の構成なので、以下、必要に応じて同図を中継サーバ４２の構成としても引用する。
【００８８】
図４は、通信機器Aの機能的構成例を示すブロック図である（通信機器BとＣも同様）。この例では、中継サーバ４２とのデータの送受信が可能か否かについてのネゴシエーションを制御するネゴシエーション制御部２１１と、ネゴシエーション制御部２１１の処理結果に基づいて、中継サーバ４２を介するデータの送受信処理の実行を制御する中継処理実行部２１２が設けられている。また、中継処理実行部２１２には、中継サーバ４２にデータを送信する送信部２３１、および中継サーバ４２からデータを受信する受信部２３２が設けられている。
【００８９】
図５は、図４のネゴシエーション制御部２１１の詳細な機能的構成例を示すブロック図である。生成部２５１は、中継サーバ４２に送信するデータのネゴシエーション情報（後述）を生成し、情報送信部２５２は、生成部２５１が生成したネゴシエーション情報を中継サーバ４２に送信する。結果取得部２５３は、中継サーバ４２が、上述したネゴシエーション情報に基づいてデータを受信することが可能か否かを判定した判定結果を中継サーバ４２から取得し、取得した判定結果を送信可否判定部２５４に出力する。送信可否判定部２５４は、その判定結果に基づいて、中継サーバ４２へのデータの送信可否を判定し、送信部２３１を制御する。
【００９０】
スペック検出部２５５は、通信機器Ａ（ＢまたはＣ）が受信可能なデータの容量（サイズ）、および通信機器Ａ（ＢまたはＣ）が利用可能なデータの形式（後述するメディアタイプ）などの情報を検出し、登録部２５６に出力する。登録部２５６は、スペック検出部２５５から出力される情報に基づいて、通信機器Ａのネゴシエーション情報を生成し、生成したネゴシエーション情報を中継サーバ４２に送信し、登録する。ネゴシエーション情報取得部２５７は、中継サーバ４２から送信（中継）されるデータのネゴシエーション情報を取得し、取得したネゴシエーション情報を受信可否判定部２５８に出力する。受信可否判定部２５８は、ネゴシエーション情報取得部２５７から供給されたネゴシエーション情報に基づいて、通信機器Ａ（ＢまたはＣ）において、そのデータを、受信可能か否かを判定し、受信部２３２を制御する。
【００９１】
図６は、中継サーバ４２の機能的構成例を示すブロック図である。この例では、通信機器Ａ乃至Ｃとのデータの送受信が可能か否かについてのネゴシエーションを制御するネゴシエーション制御部２７１と、ネゴシエーション制御部２７１の処理結果に基づいてデータの送受信を実行する中継処理実行部２７２が設けられている。中継処理実行部２７２には、通信機器Ａ乃至Ｃにデータを送信する送信部２９１、および通信機器Ａ乃至Ｃからデータを受信する受信部２９２が設けられている。さらに、IMサーバ４１から後述するコミュニティリストを取得し、コミュニティリストに基づいて、通信機器Ａ乃至Ｃがそれぞれネットワーク１に対して接続状態にあるか否か、すなわちネットワーク１を介して通信可能な状態にあるか否かを管理する接続状態管理部２７３が設けられている。
【００９２】
図７は、ネゴシエーション制御部２７１の詳細な機能的構成例を示すブロック図である。生成部３１１は、通信機器A乃至Cに送信するデータのネゴシエーション情報を生成し、ネゴシエーション通信部３１４に出力する。登録受付部３１２は、ネゴシエーション通信部３１４を介して、通信機器A乃至Cが中継サーバ４２を介して送信するデータのネゴシエーション情報の登録を受け付ける。ネゴシエーション情報管理部３１３は、ネゴシエーション通信部３１４を介して、通信機器Ａ乃至Ｃのネゴシエーション情報を取得し、各機器のネゴシエーション情報を管理する。ネゴシエーション通信部３１４は、通信機器Ａ乃至Ｃとネゴシエーションに関する通信を行うとともに、生成部３１１乃至ネゴシエーション情報管理部３１３から提供される情報を受信判定部３１５または送信判定部３１６に出力する。
【００９３】
受信判定部３１５は、ネゴシエーション通信部３１４から出力される情報に基づいて、通信機器Ａ乃至Ｃから送信されるデータが受信可能か否かを判定し、受信部２９１を制御する。送信判定部３１６は、ネゴシエーション通信部３１４から出力される情報に基づいて、通信機器Ａ乃至Ｃに対して、データを送信することが可能か否かを判定し、送信部２９２を制御する。
【００９４】
ところで、上述したようにIMサーバ４１によりユーザのコミュニティが形成される。ＩＭサーバ４１によるコミュニティの形成は、例えば、次のようにして行われる。ユーザａは、通信機器ＡによりＩＭサーバ４１にアクセスすると、通信機器Ａの図示せぬ表示部に所定の画面が表示され、ユーザａがコミュニティへの参加を希望する場合、表示された画面の指示に従って、ユーザａは、所定の情報を入力する。図８は、このときユーザａが情報を入力する画面の表示例を示す図である。
【００９５】
同図において、ボックス３０１は、ＩＤが入力されるボックスであり、ＩＭサーバ４１によるＩＭサービスにおいて、ユーザａを識別するためのユニークなＩＤが入力される。なお、ＩＤは、ＩＭサーバ４１により各ユーザに事前に割り当てられるものとする。ボックス３０２は、ＩＤ認証用パスワードが入力されるボックスであり、ユーザａのパスワードが入力される。ボックス３０３は、連絡用メールアドレスが入力されるボックスであり、ユーザａの電子メールアドレスが入力される。ボックス３０４は、ニックネームが入力されるボックスであり、ＩＭサービスにおいて、ユーザａが使用するニックネーム（ハンドルネーム）が入力される。
【００９６】
ボックス３０５、３０６、および３０７は、それぞれ名前、住所、および生年月日が入力されるボックスであり、ユーザａの名前、住所、および生年月日が入力される。なお、通常これらの情報は、他のユーザ（ユーザｂまたはユーザｃ）には公開されない。
【００９７】
ボックス３０８は、コミュニティ形成メンバに対する紹介写真データを添付するボックスであり、ユーザａの自身の写真などに基づいて生成される画像データが添付される。
【００９８】
ユーザａは、図８に示されるような情報を入力し、その情報を通信機器ＡからＩＭサーバ４１に送信し、サービス登録する。同様に、ユーザｂとユーザｃも、図８に示されるような情報を入力し、その情報を通信機器ＢとＣからＩＭサーバ４１に送信し、サービス登録する。
【００９９】
各ユーザは、以上のようにして予め登録された他のユーザの中から、所定のユーザを指定して、コミュニティを形成することができる。例えば、ユーザａがユーザｂ、ｃを指定し、ユーザｂがユーザａ、ｃを指定し、ユーザｃがユーザａ、ｂを指定する場合、ユーザａ乃至ｃのコミュニティが形成される。コミュニティが形成された場合、ＩＭサーバ４１において、コミュニティ内のメンバと、そのメンバが所有する通信機器を表す情報を対応付けるロースターが、各ユーザ毎に生成され、記憶される。
【０１００】
図９は、ＩＭサーバ４１の記憶部１５８に記憶される、ユーザａのロースターの構成例を示す図である。同図においては、ユーザａとともに、コミュニティを形成するメンバであるユーザｂとユーザｃについて、ユーザｂを識別するＩＤと、ユーザｂが所有する通信機器が対応付けられて記憶されているとともに、ユーザｃを識別するＩＤと、ユーザｃが所有する機器が対応付けられて記憶されている。この例では、ユーザｂは、通信機器として、「ハードディスクレコーダ」、「ケータイ（携帯電話機）」、および「ＰＣ（パーソナルコンピュータ）」を所有しており、ユーザｃは、通信機器として、「ケータイ」、および「ＰＣ」を所有している。
【０１０１】
なお、ＩＭサーバ４１の記憶部１５８には、同様にユーザｂのロースターとユーザｃのロースターも記憶されており、ユーザｂのロースターには、ユーザａとユーザｃについて、ユーザを識別するＩＤと、ユーザが所有する通信機器が対応付けられて記憶されており、ユーザｃのロースターには、ユーザａとユーザｂについて、ユーザを識別するＩＤと、ユーザが所有する通信機器が対応付けられて記憶されている。
【０１０２】
このように、コミュニティが形成された後、ユーザａは、通信機器ＡからＩＭサーバ４１にアクセスし、所定のコマンドを入力（例えば、IDとパスワードを入力してログインコマンドを投入する）することにより、ＩＭサービスに接続（ログイン）し、コミュニティ内のメンバ（ユーザｂまたはユーザｃ）と通信する。そして、コミュニティ内のメンバとの通信を終了したい場合、ユーザａは、通信機器ＡからＩＭサーバ４１にアクセスし、所定のコマンドを投入することにより、ＩＭサービスへの接続を解除（ログアウト）する。
【０１０３】
あるいはまた、IMサーバ４１が、通信機器A乃至Cに対して、所定の間隔でポーリングを行い、通信機器A乃至Cからの応答が得られた場合、自動的にログインされ、通信機器A乃至Cからの応答が得られなかった場合、自動的にログアウトされるようにしてもよい。これにより、例えば、通信機器Aの電源が投入され、所定の時間が経過すると（IMサーバ４１が通信機器Aにポーリングし、その応答が受信されると）、ユーザａはログイン状態と判定され、通信機器Aの電源がOFFされ、所定の時間が経過すると（IMサーバ４１が通信機器Aにポーリングし、その応答が受信されない場合）、ユーザａは、ログアウト状態と判定される。
【０１０４】
IMサーバ４１は、コミュニティ内の各メンバのネットワーク１への接続状態（ログイン状態か、またはログアウト状態か）を表す情報を含むコミュニティリストを記憶しており、必要に応じてコミュニティリストを、通信機器A乃至C、または中継サーバ４２に提供する。図１０は、ユーザａが、ログインしたとき、通信機器Ａの表示部に表示されるコミュニティリストのGUIの構成例を示す図である。コミュニティリストの中の、フィールド３５１は、「お友達一覧」と記述されたフィールドであり、フィールド３５１の中には、ユーザａが参加するコミュニティのメンバである、ユーザｂとユーザｃの情報が表示されている。また、コミュニティリストの中の、フィールド３５２は、「あなたの情報」と記述されたフィールドであり、フィールド３５２の中には、ユーザａの情報が表示されている。
【０１０５】
フィールド３６１乃至３６５は、ユーザｂの情報が表示されるフィールドであり、フィールド３６１には、ユーザｂの写真が表示されている。なお、この写真は、図８のボックス３０８に添付された画像データに基づいて表示される。従って、写真は必ずしもユーザを撮影した本当の写真であるとは限らず、図形などとされることもある。フィールド３６２は、ユーザｂのニックネームが表示されるフィールドであり、この例では、「ユーザｂ」と表示されているが、実際には、図８のボックス３０４に入力されたニックネームが表示される。
【０１０６】
フィールド３６３は、ユーザｂが所有（利用）している通信機器が表示されるフィールドであり、この例では、「ハードディスクレコーダ」の文字が、ハードディスクレコーダを表すマークとともに表示されている。
【０１０７】
フィールド３６４は、サービス種類が表示されるフィールドであり、ユーザｂとの間で行われる通信サービスの種類が表示される。この例では、「データ転送サービス」と表示されており、ユーザａは、ユーザｂとの間でデータ転送を行うことができることを表している。なお、ユーザｂとの間で行われる通信サービスが複数ある場合、フィールド３６４には、複数の通信サービスの種類が表示される。
【０１０８】
フィールド３６５は、ユーザｂの接続状態を表すフィールドであり、この例では、「ログアウト状態」の文字が、ログアウト状態を表すマーク（図中円の中に斜線のマーク）とともに表示されている。
【０１０９】
フィールド３８１乃至３８５は、ユーザｃの情報が表示されるフィールドであり、フィールド３８１には、ユーザｃの写真が表示される。また、フィールド３８２は、ユーザｃのニックネームが表示される。
【０１１０】
フィールド３８３は、ユーザｃが所有（利用）している通信機器が表示されるフィールドであり、この例では、「ケータイ（携帯電話機のこと）」の文字が、携帯電話機を表すマークとともに表示されている。
【０１１１】
フィールド３８４は、サービス種類が表示されるフィールドであり、ユーザｃとの間で行われる通信サービスの種類が表示される。この例では、「対戦ゲームサービス」と表示されており、ユーザａは、ユーザｃとの間で対戦ゲームを行うことができることを表している。
【０１１２】
フィールド３８５は、ユーザｃの接続状態を表すフィールドであり、この例では、「ログイン状態」の文字が、ログイン状態を表すマーク（図中円のマーク）とともに表示されている。
【０１１３】
フィールド４０１乃至４０５は、ユーザａの情報が表示されるフィールドであり、フィールド４０１には、ユーザａの写真が表示されている。また、フィールド４０２には、ユーザａのニックネームが表示される。
【０１１４】
フィールド４０３は、ユーザａが所有（利用）している通信機器が表示されるフィールドであり、この例では、「ＰＣ（パーソナルコンピュータのこと）」の文字が、パーソナルコンピュータを表すマークとともに表示されている。
【０１１５】
フィールド４０４は、サービス種類が表示されるフィールドであり、ユーザａが他のメンバとの間で利用できる通信サービスの種類が表示される。フィールド４０５は、ユーザａの接続状態を表すフィールドであり、ユーザａは、ログインしているので、「ログイン状態」の文字が、ログイン状態を表すマークとともに表示されている。
【０１１６】
図１０に示されるコミュニティリストのGUIにおいては、ログアウト状態のユーザの情報は、ログイン状態のユーザの情報とは区別されて表示される。例えば、図１０の例では、ユーザｂはログアウト状態なので、フィールド３６１乃至３６５は、ユーザｃのフィールド３８１乃至３８５とは異なる色で（例えば、グレーで）表示される。これにより、ユーザａは、ユーザｂ（の通信機器）が、いまネットワークに接続していないことを容易に認識することができる。
【０１１７】
なお、図１０には、通信機器Aに表示されるコミュニティリストのGUIの例を示したが、通信機器Bに表示されるコミュニティリストのGUIのフィールド３５１（お友達一覧）には、ユーザａとユーザｃの情報が表示され、フィールド３５２（あなたの情報）には、ユーザｂの情報が表示される。また、通信機器Ｃに表示されるコミュニティリストのGUIのフィールド３５１（お友達一覧）には、ユーザａとユーザｂの情報が表示され、フィールド３５２（あなたの情報）には、ユーザｃの情報が表示される。
【０１１８】
上述したように、本発明においては、中継サーバ４２を介して、ログアウト状態のユーザ（の通信機器）に対してデータ（例えば、ファイルなど）の送信を行うことができる。図１１のフローチャートを参照して、ユーザａが、中継サーバ４２を介して、ログアウト状態であるユーザｂにデータを送信する、データ送信処理について説明する。この処理は、ユーザａにより、通信機器Ａの入力部１０６が操作され、ログアウト状態のユーザに対するデータの送信を指令するコマンドが投入されたとき、通信機器Ａにおいて実行される。
【０１１９】
ステップＳ１において、通信機器Ａの中継処理実行部２１２は、ユーザａの指令に基づいて、送信相手の選択を受け付ける。このとき例えば、コミュニティリストの中からユーザｂが選択される。ステップS２において、中継処理実行部２１２は、ユーザｂに送信するファイル（送信ファイル）の選択を受け付ける。このとき、ユーザａにより、例えば、通信機器Aの記憶部１０８に記憶されているファイルの中から所望のファイルが選択され、そのファイルの格納場所（例えば、ディレクトリとファイル名など）が入力され、これが受け付けられる。
【０１２０】
ステップS３において、ネゴシエーション制御部２１１は、図１２を参照して後述するネゴシエーション処理を実行する。これにより、中継サーバ４２と通信し、所定の情報が交換（中継サーバ４２とネゴシエーション）されることにより、ステップS２で選択された送信ファイルが中継サーバ４２により受信可能か否かが判定され、ステップS２で選択された送信ファイルが受信可能である場合、後述する送信フラグがONに設定されている（後述する図１２のステップＳ２５）。
【０１２１】
ステップS４において、ネゴシエーション制御部２１１は、送信フラグは、ＯＮか否かを判定し、送信フラグがONであると判定された場合、ステップS５に進み、送信部２３１は、ステップS２で選択されたファイルを、通信部１０９を制御して、中継サーバ４２に送信し、その後処理は終了する。一方、ステップS４において、送信フラグがONではないと判定された場合、ステップS５の処理はスキップされる。すなわち、この場合、ファイルは送信されない。
【０１２２】
次に、図１２を参照して、図１１のステップS３のネゴシエーション処理の詳細について説明する。
【０１２３】
ステップS２１において、生成部２５１は、ネゴシエーション情報を生成する。ここで生成されるネゴシエーション情報は、例えば、ステップS２で選択されたファイルのサイズ（データ量）を表す情報と、そのファイルのメディアタイプを表す情報により構成される。メディアタイプは、そのファイルの形式を表すものであり、MPEG(Moving Picture Experts Group)、JPEG（Joint Photographic Coding Expers Group）、テキストなどのファイル形式を特定する、例えば３ビットの識別情報とされる。
【０１２４】
ステップS２２において、情報送信部２５２は、ステップS２１で生成されたネゴシエーション情報を、通信部１０９を制御して、プライベートネットワーク２１、ルータ１１、およびインターネット１を介して中継サーバ４２に送信する。このとき送信される情報の構成例を図１３に示す。
【０１２５】
同図は、通信機器Aが、TCP(Transmission Control Protocol)プロトコルに基づいて、中継サーバ４２に送信する情報（パケット）の例である。同図において、TCPのパケット４５０は、TCPヘッダ４５１と、TCPペイロード４５２により構成されている。
【０１２６】
TCPペイロード４５２は、マッチメイキング用プロトコルパケットヘッダ４６１と、マッチメイキング用プロトコルパケットペイロード４６２により構成されている。マッチメイキング用プロトコルパケットヘッダ４６１は、このパケットが、IMサーバ４１によるIMサービスに用いられるパケットであることを表すヘッダであり、このヘッダ続くペイロード（マッチメイキング用プロトコルパケットペイロード４６２）には、IMサービスに用いられる情報が記述される。
【０１２７】
マッチメイキング用プロトコルパケットペイロード４６２は、ネゴシエーション用プロトコルパケットヘッダ４６３とネゴシエーション用プロトコルパケットペイロード４６４により構成されている。ネゴシエーション用プロトコルパケットヘッダ４６３は、このパケットが、IMサービスの中において、中継サーバ４２とのネゴシエーションに用いられるパケットであることを表すヘッダであり、このヘッダ続くペイロード（ネゴシエーション用プロトコルパケットペイロード４６４）には、ネゴシエーションに用いられる情報が記述される。
【０１２８】
さらに、ネゴシエーション用プロトコルパケットペイロード４６４は、パケット種別ID４７１、受信者識別ID４７２、受信アイテム識別情報４７３、およびネゴシエーション情報４７４により構成されている。パケット種別ID４７１は、そのパケットが、中継サーバと通信機器による一連のネゴシエーションの行程のなかのどの部分で利用されるパケットであるかを表すIDであり、この例では、「packet=sender_relay」と記述されている。これは、このパケットが、一連のネゴシエーションのなかで、データ（ファイル）を送信する機器（sender）から、中継（relay）サーバ４２に送信されるパケットであることを表している。
【０１２９】
受信者識別ID４７２は、図１１のステップS１で選択（入力）された送信相手、すなわちファイルの受信者を識別するIDであり、この例では、「receiver=userB_ID」と記述されている。これは、ファイルの送信相手、すなわち受信者がユーザｂであることをあらわしている。
【０１３０】
受信アイテム識別情報４７３は、受信者（いまの場合、ユーザｂ）の利用する通信機器の種類を表す識別情報であり、この例では、「Item=HDD」と記述されている。これは、ユーザｂの利用する通信機器（通信機器B）がハードディスクレコーダであることを表している。なお、受信アイテム識別情報４７３は、省略されるようにしてもよい。
【０１３１】
そして、ネゴシエーション情報４７４に、ステップS２１で生成されたネゴシエーション情報が格納される。この例では、ネゴシエーション情報４７４は、サイズ情報４８１と、メディアタイプ情報４８２により構成されている。サイズ情報４８１には、「data_size=10000」と記述されており、これは、ユーザｂに送信するファイルのサイズが10,000（10K）バイトであることを表している。メディアタイプ４８２には、「media_type=010」と記述されており、これは、ユーザｂに送信するファイルの形式が、jpeg（識別情報「０１０」に対応する）であることを表している。
【０１３２】
図１２に戻って、このように構成される情報が、ステップS２２で中継サーバ４２に送信されると、中継サーバ４２は、その情報を受信して、その情報に含まれるネゴシエーション情報４７４に基づいて、通信機器Aが送信しようとするファイルを中継サーバ４２が受信可能か否か判定し、その判定結果を表す（また、受信不可能である場合はその理由を含む）ネゴシエーション結果を生成し、通信機器Aに送信する。そして、ステップS２３において、結果取得部２５３により通信部１０９を介して、このネゴシエーション結果が受信される。
【０１３３】
ステップS２４において、送信可否判定部２５４は、ステップS２３で受信したネゴシエーション結果がOKか否かを判定し、結果がOKであると判定された場合、ステップS２５に進み、この後、ファイルを送信することを表すフラグである送信フラグをONに設定する。この送信フラグがONに設定されることにより、上述した、図１１のステップS５において、ファイルが送信される。
【０１３４】
一方、ステップS２４において、ステップS２３で受信したネゴシエーション結果がOKではないと判定された場合、ステップS２６に進み、送信可否判定部２５４は、出力部１０７を制御して、通信機器Aの出力部１０７の表示部に、ステップS２３で受信したネゴシエーション結果を表示する。いまの場合、ネゴシエーション結果がOKではない（NGである）ことと、その理由（例えば、データ量過大）が表示され、ユーザａにファイルを送信できないことが通知される。
【０１３５】
次に、中継サーバ４２によるデータ中継処理について、図１４のフローチャートを参照して説明する。
【０１３６】
ステップS４１において、中継サーバ４２のネゴシエーション制御部２７１は、送信する機器（いまの場合、通信機器A）からネゴシエーション情報を受信する。このとき、図１２のステップS２２の処理で通信機器Aから送信されたネゴシエーション情報が受信される。ステップS４２において、ネゴシエーション制御部２７１は、送信中継ネゴシエーション処理を実行する。これによりネゴシエーション結果が通信機器Aに送信される。
【０１３７】
ここで、図１５のフローチャートを参照して、図１４のステップS４２の送信中継ネゴシエーション処理の詳細について説明する。
【０１３８】
ステップS７１において、ネゴシエーション通信部３１４は、ステップS４１で、通信部１５９を介して受信されたネゴシエーション情報を取得する。ステップS７２において、受信判定部３１５は、ステップS７１で取得したネゴシエーション情報に基づいて、通信機器Aが送信しようとしているファイルを受信できるか否かを判定する。このとき、ファイルを受信できるか否か（受信可能か受信不可能か）の判定は、例えば、次のようにして行われる。
【０１３９】
中継サーバ４２のRAM１５３には、記憶部１５８の空き容量が予め記憶されており、CPU１５１が、記憶部１５８の空き容量と、ネゴシエーション情報の中のサイズ情報４８１（図１３）の差分を計算する。例えば、記憶部１５８の空き容量が、９９９９９９９バイトである場合、サイズ情報４８１との差分は、９８９９９９（＝９９９９９９−１００００）と計算される。この差分が、０以上である場合、すなわち、記憶部１５８の空き容量がファイルのサイズより大きい場合、受信可能と判定され、０未満である場合、すなわち、記憶部１５８の空き容量がファイルのサイズより小さい場合、受信不可能と判定される。いまの場合、９８９９９９＞０なので、受信可能と判定され、９８９９９９バイトが、記憶部１５８の空き容量として、新たにRAM１５３に記憶される。
【０１４０】
なお、ファイルを受信可能か受信不可能かの判定は、別の方法により行われるようにしてもよい。例えば、中継サーバ４２の処理能力に基づいて、ファイルを予め設定された時間以内に受信し、記憶することができるか否かが判定され、その判定に基づいて、ファイルを受信可能か受信不可能が判定されるようにしてもよい。
【０１４１】
ステップS７２において、ファイルを受信できると判定された場合、ステップS７３に進み、ネゴシエーション通信部３１４は、ネゴシエーション結果ＯＫを通信機器Aに送信する。一方、ステップS７２において、ファイルを受信できないと判定された場合、ステップS７５に進み、ネゴシエーション通信部３１４は、ネゴシエーション結果NGと、その理由（例えば、データ量過大）を通信機器Aに送信する。ステップＳ７３またはＳ７５で、送信されたネゴシエーション結果は、上述した図１２のステップS２３で、通信機器Aにより受信される。
【０１４２】
ステップS７３の処理の後、受信判定部３１５は、ステップS７４において、この後、処理を進めることを表す中継フラグ１をONに設定する。
【０１４３】
図１４に戻って、ステップS４３において、ネゴシエーション制御部２７１は、中継フラグ１がONであるか否かを判定し、中継フラグ１がONであると判定された場合、ステップS４４に進み、受信部２９１は、通信部１５９を制御して、通信機器Aから送信されたファイルを受信する。これにより、図１１のステップS５で通信機器Aから送信されたファイルが中継サーバ４２で受信され、そのファイルは、記憶部１５８に記憶される。
【０１４４】
ステップS４５において、接続状態管理部２７３は、受信する機器を検索する。このとき、IMサーバ４１から、図１０を参照して上述したコミュニティリストを構成する情報が、インターネット１と通信部１５９を介して取得される。そして、コミュニティリストの中で、受信者識別ID４７２（図１３）に対応するIDのユーザの機器（受信する機器）が検索される。いまの場合、コミュニティリストの中のユーザｂの情報が検索される。
【０１４５】
ステップＳ４６において、接続状態管理部２７３は、コミュニティリストを構成する情報に基づいて、受信する機器は、未接続状態（ログアウト状態）か否かを判定する。いまの場合、ユーザｂ（通信機器B）がログアウト状態であるか否かが判定される。ステップＳ４６において、受信する機器は、未接続状態（ログアウト状態）であると判定された場合、処理はステップS５２に進み、接続状態管理部２７３は、予め設定されている所定の時間（例えば、２４時間）が経過したか否かを判定し、まだ所定の時間が経過していないと判定された場合、処理はステップS４６にもどり、あらためてIMサーバ４１から、コミュニティリストを構成する情報を取得し、ユーザｂ（通信機器B）がログアウト状態であるか否かを判定する。
【０１４６】
ステップS５２において、所定の時間が経過したと判定された場合、ステップS５３に進み、中継処理実行部２７２は、送信する機器（通信機器A）に中継エラーを通知する。これにより、通信機器Aにより中継エラーが受信され、ユーザａに中継が失敗したことが通知される。通信機器Ａの受信部２３２は、この通知を受信すると、それを出力部１０７の表示部に出力し、表示させる。これによりユーザａは、ファイルの送信ができなかったことを知ることができる。また、ステップS５３の処理にともない、ステップS４４で受信し、記憶していたファイルは削除される。
【０１４７】
ステップS４６において、ユーザｂ（通信機器B）がログアウト状態ではない、すなわちログイン状態であると判定された場合、処理は、ステップS４７に進み、ネゴシエーション制御部２７１は、受信中継ネゴシエーション処理を実行する。これにより、中継サーバ４２と、通信端末Bとの間でネゴシエーションが行われ、通信端末Bにファイルを送信（中継）できるか否かが判定される。
【０１４８】
ここで、図１６を参照して、図１４のステップS４７の受信中継ネゴシエーション処理の詳細について説明する。
【０１４９】
ステップS９１において、生成部３１１は、ネゴシエーション情報を生成し、ステップS９２でネゴシエーション通信部３１４は、そのネゴシエーション情報を、ファイルを受信する機器（通信機器B）に送信する。このとき送信される情報の構成例を図１７に示す。
【０１５０】
同図は、中継サーバ４２が、TCP(Transmission Control Protocol)プロトコルに基づいて、通信機器Bに送信する情報（パケット）の例である。同図において、TCPヘッダ５０１乃至ネゴシエーション用プロトコルペイロード５１４は、図１３のTCPヘッダ４５１乃至ネゴシエーション用プロトコルペイロード４６４と同様なので、その説明は省略する。
【０１５１】
この例では、ネゴシエーション用プロトコルペイロード５１４がパケット種別ID５２１、送信者識別ID５２２、およびネゴシエーション情報５２３により構成されている。パケット種別ID５２１は、そのパケットが、中継サーバ４２と通信機器Ｂによる一連のネゴシエーションの行程のなかのどの部分で利用されるパケットであるかを表すIDであり、この例では、「packet=relay_receiver」と記述されている。これは、このパケットが、一連のネゴシエーションのなかで、中継（relay）サーバ４２からデータ（ファイル）を受信する機器（receiver）に送信されるパケットであることを表している。
【０１５２】
送信者識別ID５２２は、通信機器Bのユーザｂにファイルを送信しようとするユーザを識別するIDであり、この例では、「sender=userA_ID」と記述されている。これは、ファイルの送信者がユーザａであることを表している。
【０１５３】
そして、ネゴシエーション情報５２３に、ステップS９１で生成されたネゴシエーション情報が格納される。この例では、ネゴシエーション情報５２３は、サイズ情報５３１と、メディアタイプ情報５３２により構成されている。サイズ情報５３１と、メディアタイプ情報５３２は、図１３のサイズ情報４８１と、メディアタイプ情報４８２と同じ値に設定され、この例では、サイズ情報５３１には、「data_size=10000」と記述されており、メディアタイプ５３２には、「media_type=010」と記述されている。
【０１５４】
図１６に戻って、このように構成される情報がステップＳ９２で通信機器Ｂに送信されると、通信機器Ｂは、その情報を受信して、その情報に含まれるネゴシエーション情報に基づいて、通信機器Ａが、中継サーバ４２を介して送信しようとするファイルを通信機器Ｂが受信可能か否かを判定し、その判定結果を表す（受信不可能である場合はその理由を含む）ネゴシエーション結果を生成し、中継サーバ４２に送信する。そして、ステップS９３において、ネゴシエーション通信部３１４によりネゴシエーション結果が受信される。
【０１５５】
ステップS９４において、送信判定部３１６は、ステップS９３で受信したネゴシエーション結果がOKか否かを判定し、結果がOKであると判定された場合、ステップS９５に進み、この後、ファイルを送信することを表すフラグである中継フラグ２をONに設定する。
【０１５６】
一方、ステップS９４において、ステップS９３で受信したネゴシエーション結果がOKではないと判定された場合、ステップS９６に進み、送信判定部３１６は、ステップS９３で受信したネゴシエーション結果を、通信機器Ａに送信する。例えば、ネゴシエーション結果がOKではない（NGである）ことと、その理由（例えば、データ量過大）が、通信機器Ａに送信され、通信機器Ａの表示部に表示される。これにより、ユーザａにファイルを送信できないことが通知される。
【０１５７】
図１４に戻って、ステップＳ４８において、ネゴシエーション制御部２７１は、中継フラグ２がONであるか否かを判定し、中継フラグ２がONであると判定された場合、ステップS４９に進み、送信部２９２は、通信部１５９を制御して、ファイルを送信する。このとき、上述したステップS４４で受信され、記憶されているファイルが送信される。そして、送信されたファイルは、通信機器Bにより受信され記憶される（後述する図１８のステップＳ１１４）。通信機器Bにより、ファイルを全て正常に受信できた場合には、その結果（OK）が通信機器Bから中継サーバ４２に通知される（後述する図１８のステップＳ１１６）。
【０１５８】
ステップS５０において、中継処理実行部２７２は、通信機器Bから結果OKが通知されたか否かを判定し、結果OKが通知されたと判定された場合、ステップS５１に進み、送信する機器（通信機器A）に送信完了を通知する。これによりユーザａは、自分が送信したファイルをユーザｂが無事に受信したことを知る。一方、ステップS５０において、結果OKが通知されなかったと判定された場合（後述する図１８のステップＳ１１７で、受信結果ＮＧが通信機器Ｂから送信された場合）、中継処理実行部２７２は、ステップS５３に進み、送信する機器（通信機器A）に中継エラーを送信する。これにより、ユーザａは、ユーザｂに対するファイルの送信が失敗したことを知る。
【０１５９】
なお、ステップＳ４３において、中継フラグ１がONではないと判定された場合、ステップS４４乃至S５３の処理はスキップされ、ステップＳ４８において、中継フラグ２がＯＮではないと判定された場合、ステップＳ４９乃至Ｓ５１の処理は、スキップされる。
【０１６０】
次に、図１８のフローチャートを参照して、通信機器Bによるデータ受信処理について説明する。この処理は、例えば、通信機器Bがログインしたとき実行される。
【０１６１】
ステップS１１１において、通信機器Bの中継処理実行部２１２は、受信するファイルがあるか否かを判定する。通信機器Ｂは、ログインしたとき、IMサーバ４１にアクセスするとともに、中継サーバ４２にアクセスし、自身宛のファイルが中継サーバに記憶されているか否かを判定する。このとき、自身宛（いまの場合、通信機器B）のファイルが中継サーバ４２に記憶されていた場合、受信するファイルがあると判定される。
【０１６２】
ステップS１１１において、受信するファイルがあると判定された場合、ステップS１１２に進み、ネゴシエーション制御部２１１は、ネゴシエーション処理を実行する。これにより、中継サーバ４２と通信し、所定の情報が交換（中継サーバ４２とネゴシエーション）されることにより、通信機器Bにおいてファイルが受信可能か否かが判定される。
【０１６３】
ここで、図１９を参照して、図１８のステップS１１２のネゴシエーション処理の詳細について説明する。
【０１６４】
ステップS１３１において、ネゴシエーション情報取得部２５７は、通信部１０９を介してネゴシエーション情報を受信する。通信機器Bがログインしたことにより、中継サーバ４２のデータ中継処理においては、上述した図１４のステップS４６において、受信する機器（通信機器B）は、未接続状態ではない、すなわちログイン状態であると判定され、ステップS４７の受信中継ネゴシエーション処理が実行される。そして、図１６のステップS９２で、中継サーバ４２から通信機器Bに送信されたネゴシエーション情報が、ステップS１３１で通信機器Bにより受信される。
【０１６５】
ステップS１３２において、受信可否判定部２５８は、ファイルを受信できるか否かを判定する。ファイルを受信できるか否かの判定は、例えば、次のようにして行われる。
【０１６６】
すなわち、通信機器ＢのRAM１０３には、記憶部１０８の空き容量（受信可能なファイルのサイズ）および受信可能なメディアタイプが予め記憶されており、CPU１０１が、RAM１０３に記憶された受信可能なファイルのサイズおよび受信可能なメディアタイプと、ステップS１３１で受信したネゴシエーション情報を比較し、ファイルを受信できるか否かを判定する。図２０は、RAM１０８に記憶される情報の例を示す図である。同図には、通信機器Bが受信可能なファイルのサイズ（受信可能サイズ）として、５５５５５５バイトと記述されており、また、受信可能なメディアタイプ（受信可能メディアタイプ）として、「１００（mpegを表す）」、「０１０（jpegを表す）」、および「００１（textを表す）」の３種類のメディアタイプの識別情報が記述されている。
【０１６７】
一方、ステップS１３１で受信されたネゴシエーション情報には、図１７を参照して上述した通り、サイズ情報５３１に１００００（バイト）、メディアタイプ情報５３２に「０１０（jpegを表す）」が格納されている。
【０１６８】
CPU１０１は、図２０の受信可能サイズの値と、サイズ情報５３１の値の差分を計算し、受信しようとするファイルのサイズ（サイズ情報５３１の値）は、受信可能サイズを超えるか否かを判定し、受信可能サイズを超える場合、そのファイルは受信できないと判定する。一方、受信しようとするファイルのサイズが、受信可能サイズを超えない場合、CPU１５１は、メディアタイプ情報５３２の値が、図２０の受信可能メディアタイプの中にあるか否かを判定し、受信可能メディアタイプの中にある場合、そのファイルは受信できると判定し、メディアタイプ情報５３２の値が、図２０の受信可能メディアタイプの中にない場合、そのファイルを受信できないと判定する。
【０１６９】
この例では、図２０の受信可能サイズの値と、サイズ情報５３１の値の差分は、５４５５５５（＝５５５５５５−１００００）＞０なので、受信しようとするファイルのサイズが、受信可能サイズを超えない。また、メディアタイプ情報５３２の値「０１０」は、図２０の受信可能メディアタイプの中にあるので、ファイルを受信できると判定される。
【０１７０】
図１９のステップS１３２において、ファイルを受信できると判定された場合、ステップS１３３に進み、受信可否判定部２５８は、ネゴシエーション結果ＯＫを中継サーバ４２に送信する。一方、ステップＳ１３２において、ファイルを受信できないと判定された場合、ステップＳ１３５に進み、受信可否判定部２５８は、ネゴシエーション結果NGを中継サーバ４２に送信する。ステップS１３３またはＳ１３５で送信されるネゴシエーション結果は、上述した図１６のステップＳ９３で、中継サーバ４２により受信される。そして、中継サーバ４２がステップＳ１３３で送信されたネゴシエーション結果ＯＫを受信すると、図１４のステップＳ４９で、通信機器Ｂにファイルが送信される。
【０１７１】
ステップＳ１３３の処理の後、ステップＳ１３４に進み、CPU１５１は、この後、ファイルを受信することを表す受信フラグをＯＮに設定する。
【０１７２】
図１８にもどって、ステップＳ１１３において、ネゴシエーション制御部２１１は、受信フラグは、ＯＮか否かを判定し、受信フラグはＯＮであると判定された場合、ステップＳ１１４に進み、受信部２３２は、通信部１０９を制御してファイルを受信する。このとき、上述した図１４のステップＳ４９で中継サーバ４２から通信機器Ｂに送信されたファイルが受信される。
【０１７３】
ステップＳ１１５において、中継処理実行部２１２は、受信が正常に終了したか否かを判定する。中継処理実行部２１２は、例えば、サイズ情報５３１の値と、ステップ１１４の処理で受信したファイルのサイズが一致することを確認し、受信が正常に終了したと判定する。
【０１７４】
ステップS１１５において、受信が正常に終了したと判定された場合、ステップS１１６に進み、中継処理実行部２１２は、受信結果OKを中継サーバ４２に送信する。一方、ステップS１１５において、受信が正常に終了しなかったと判定された場合、ステップS１１７に進み、中継処理実行部２１２は、受信結果NGを中継サーバ４２に送信する。なお、ステップS１１６またはS１１７で送信される受信結果は、中継サーバ４２により受信され、上述した図１４のステップS５０の処理に用いられる。
【０１７５】
ステップＳ１１３で受信フラグがＯＮではないと判定された場合、ステップＳ１１４乃至Ｓ１１７の処理は、スキップされる。
【０１７６】
このようにして、ユーザａ（通信機器A）からユーザｂ（通信機器Ｂ）にファイルが送信される。ファイルの送信は、中継サーバ４２を介して行われるので、受信者（ユーザｂ）がログインしていない状態であっても、送信者（ユーザａ）は、送信処理を実行することができ、また、受信者は、後でログインしたとき、中継サーバ４２から、送信者から送信されたファイルを受信することができる。その結果、データの送受信を効率的に行うことができる。
【０１７７】
また、送信する機器（通信端末Ａ）と中継サーバ４２の間でネゴシエーションを行い、さらに、受信する機器（通信機器Ｂ）と中継サーバ４２の間でネゴシエーション処理を行い、ネゴシエーション結果が送信者に通知されるようにしたので、ユーザは、必要に応じて、データを再送するなどして、データの送受信を確実に行うことができる。
【０１７８】
図１１乃至図２０を参照して上述した、一連のデータ送受信の処理においては、送信する機器（通信機器Ａ）が、中継サーバ４２にファイルを送信する前に、中継サーバ４２とネゴシエーションを行っている（図１１のステップＳ３）が、中継サーバ４２の記憶容量を充分に大きくすれば、送信する機器は、中継サーバ４２にファイルを送信する前に、中継サーバ４２とネゴシエーションを行う必要がなくなり、データの送受信をさらに効率的に行うことができる。この場合の、一連のデータ送受信の処理を図２１乃至図２４を参照して説明する。
【０１７９】
最初に、通信機器Ａによるデータ送信処理について、図２１のフローチャートを参照して説明する。
【０１８０】
図２１のステップＳ２０１とＳ２０２の処理は、図１１のステップＳ１とＳ２の処理と、それぞれ同じ処理なので、その説明は省略する。
【０１８１】
ステップＳ２０３において、通信機器Ａの生成部２５１（ネゴシエーション制御部２１１）は、ネゴシエーション情報を生成する。この処理は、図１２のステップS２１と同様の処理であり、送信するファイルのサイズ情報とメディアタイプ情報が生成される。そして、ステップS２０４において、情報送信部２５２は、ステップS２０１で選択、入力された送信相手（受信者）、ステップS２０２で選択、入力されたファイル、ステップS２０３で生成されたネゴシエーション情報に基づいて、送信登録を行う。これにより、中継サーバ４２に送信登録情報（後述）が記憶される。
【０１８２】
ステップS２０５において、送信部２３１は、ステップS２０２で選択、入力されたファイルを、中継サーバ４２に送信する。
【０１８３】
このようにして、送信する機器（通信機器A）のデータ送信処理が行われる。この例では、図１１の場合と異なり、ファイルを送信する前に、中継サーバ４２とネゴシエーションを行わないので、より効率的（短時間）にファイルを送信することができる。
【０１８４】
次に、図２２を参照して、中継サーバ４２のデータ中継処理について説明する。
【０１８５】
ステップS２２１において、中継サーバ４２の登録受付部３１２（ネゴシエーション制御部２７１）は、ネゴシエーション通信部３１４を介して、送信する機器（通信機器A）から送信登録を受け付ける。ここでは、通信機器Aが、図２１のステップS２０４の処理で行った送信登録が受け付けられる。ステップS２２２において、受信部２９１は、通信部１５９を制御して、ファイルを受信する。ここでは、図２１のステップS２０５で、通信機器Aが送信したファイルが受信される。
【０１８６】
ステップS２２３において、登録受付部３１２は、ステップS２２１で受け付けた送信登録とステップS２２２で受信したファイルを対応付けて、記憶部１５８に送信登録情報として記憶する。このとき、記憶部１５８に記憶される送信登録情報の例を、図２３に示す。同図において、送信登録情報は、「受信者」、「受信アイテム」、「送信者」、「登録日時」、「サイズ」、「メディアタイプ」、および「ファイル」の各項目により構成されている。
【０１８７】
「受信者」は、ファイルの受信者を表す項目であり、この例では受信者としてユーザｂが記述されている。なお、ここには、ユーザｂのIDが記述されるようにしてもよい。「受信アイテム」は、受信者が利用する通信機器の種類を表す項目であり、この例では、受信アイテムとしてHDD（ハードディスクレコーダを表す）が記述されている。なお、この項目は省略されるようにしてもよい。
【０１８８】
「送信者」は、ファイルの送信者を表す項目であり、この例では送信者としてユーザａが記述されている。なお、ここには、ユーザａのIDが記述されるようにしてもよい。「登録日時」は、この送信登録情報が、登録された日時を表す項目であり、この例では、2003/10/2011:45（西暦2003年10月20日11時45分）と記述されている。
【０１８９】
「サイズ」および「メディアタイプ」は、図１３を参照して上述したサイズ情報４８１およびメディアタイプ情報４８２とそれぞれ同様のものであり、送信するファイル（ステップS２２２で受信したファイル）のサイズとメディアタイプを表すものである。この例では、サイズとして、10000バイト、メディアタイプとして「０１０（jpegを表す）」が記述されている。
【０１９０】
「ファイル」は、ステップS２２２で受信したファイルの格納場所を表すものであり、この例では、「****」と記述されているが、実際には、ファイルが格納されるディレクトリの情報、ファイル名などが記述される。
【０１９１】
なお、送信登録情報は、通信機器が、中継サーバ４２対して送信登録を行う都度、生成され記憶される。
【０１９２】
図２２に戻って、ステップS２２４において、接続状態管理部２７３は、受信する機器を検索する。このとき、IMサーバ４１から、図１０を参照して上述したコミュニティリストを構成する情報が、通信部１５９を介して取得される。そして、コミュニティリストの中で、送信登録情報の「受信者」に対応するユーザの機器（受信する機器）が検索される。いまの場合、ユーザｂの情報が検索される。
【０１９３】
ステップＳ２２５において、接続状態管理部２７３は、受信する機器は、未接続状態（ログアウト状態）か否かを判定する。いまの場合、ユーザｂ（通信機器B）がログアウト状態であるか否かが判定される。ステップＳ２２５において、受信する機器は、未接続状態（ログアウト状態）であると判定された場合、処理は、ステップS２３１に進み、接続状態管理部２７３は、所定の時間（例えば、２４時間）が経過したか否かを判定し、まだ所定の時間が経過していないと判定された場合、処理は、ステップS２２５にもどり、あらためてIMサーバ４１から、コミュニティリストを構成する情報を取得し、ユーザｂ（通信機器B）がログアウト状態であるか否かを判定する。
【０１９４】
ステップS２３１において、所定の時間が経過したと判定された場合、ステップS２３２に進み、中継処理実行部２７２は、送信する機器（通信機器A）に中継エラーを通知する。これにより、通信機器Aにより中継エラーが受信され、ユーザａに中継が失敗したことが通知される。また、ステップS２３２の処理にともない、ステップS２２１、S２２２で受信し、記憶していた送信登録情報とファイルは削除される。
【０１９５】
ステップS２２５において、ユーザｂ（通信機器B）がログアウト状態ではない、すなわちログイン状態であると判定された場合、処理は、ステップS２２６に進み、ネゴシエーション制御部２７１は、図２４を参照して後述する受信中継ネゴシエーション処理を実行する。これにより、中継サーバ４２と、通信端末Bとの間でネゴシエーションが行われ、通信端末Bにファイルを送信（中継）できるか否かが判定される。
【０１９６】
ここで、図２４を参照して、図２２のステップS２２６の受信中継ネゴシエーション処理の詳細について説明する。
【０１９７】
ステップS２５１において、登録受付部３１２は、記憶部１５８に記憶されている送信登録情報からネゴシエーション情報、すなわち「サイズ」と「メディアタイプ」を読み出し、ステップS２５２で、ネゴシエーション通信部３１４は、ネゴシエーション情報を、受信する機器（通信機器B）に送信する。これにより、図１７を参照して上述した場合と同様の情報が送信される。
【０１９８】
ステップS２５２で情報が通信機器Ｂに送信されると、通信機器Ｂは、その情報を受信して、その情報に含まれるネゴシエーション情報に基づいて、通信機器Ａが、中継サーバ４２を介して送信しようとするファイルを通信機器Ｂが受信可能か否かを表す（また、受信不可能である場合はその理由を含む）ネゴシエーション結果を生成し、中継サーバ４２に送信する。そして、ステップS２５３において、ネゴシエーション通信部３１４によりこのネゴシエーション結果が受信される。
【０１９９】
ステップS２５４において、送信判定部３１６は、ステップS２５３で受信したネゴシエーション結果がOKか否かを判定し、結果がOKであると判定された場合、ステップS２５５に進み、この後、ファイルを送信することを表すフラグである中継フラグをONに設定する。
【０２００】
一方、ステップS２５４において、ステップS２５３で受信したネゴシエーション結果がOKではないと判定された場合、ステップS２５６に進み、送信判定部３１６は、ステップS２５３で受信したネゴシエーション結果を、ネゴシエーション通信部３１４を介して通信機器Ａに送信する。いまの場合、ネゴシエーション結果がOKではない（NGである）ことと、その理由（例えば、データ量過大）が、通信機器Ａに送信され、通信機器Ａの表示部に表示される。これにより、ユーザａにファイルを送信できないことが通知される。
【０２０１】
図２２に戻って、ステップＳ２２７において、ネゴシエーション制御部２７１は、中継フラグがONであるか否かを判定し、中継フラグがONであると判定された場合、ステップS２２８に進み、送信部２９２は、通信部１５９を制御して、ファイルを送信する。このとき、上述したステップS２２２で受信され記憶されているファイルが送信される。そして、送信されたファイルは、通信機器Bにより受信され記憶される。通信機器Bにより、ファイルを全て正常に受信できた場合には、その結果（OK）が通信機器Bから中継サーバ４２に送信サーバ４２に通知される。
【０２０２】
ステップS２２９において、中継処理実行部２７２は、通信機器Bから結果OKが通知されたか否かを判定し、結果OKが通知されたと判定された場合、ステップS２３０に進み、送信する機器（通信機器A）に送信完了を通知する。これによりユーザａは、自分が送信したファイルをユーザｂが無事に受信したことを知る。一方、ステップS２２９において、結果OKが通知されなかったと判定された場合、中継処理実行部２７２は、ステップS２３２に進み、送信する機器（通信機器A）に中継エラーを送信する。これにより、ユーザａは、ユーザｂに対するファイルの送信が失敗したことを知る。
【０２０３】
ステップS２２７において、中継フラグはONではないと判定された場合、ステップS２２８乃至S２３０の処理は、スキップされる。
【０２０４】
このように、通信機器Ａから中継サーバ４２にファイルが送信され、中継サーバ４２から通信機器Ｂにファイルを中継する場合、通信機器Ｂにおいても、データ受信処理が実行されるが、通信機器Bによるデータ受信処理は、図１８と図１９を参照して上述した場合と同様の処理なので、その説明は省略する。
【０２０５】
このようにして、データの送受信が行われる。送信する機器は、中継サーバ４２にファイルを送信する前に、中継サーバ４２とネゴシエーションを行う必要がないので、図１１乃至図２０を参照して上述した、一連のデータ送受信の処理の場合と比較して、データの送受信をさらに効率的に行うことができる。
【０２０６】
図１１乃至図２０を参照して上述した、一連のデータ送受信処理、および図２１乃至図２４を参照して上述した、一連のデータ送受信処理においては、受信する機器（通信機器Ｂ）がログインし、受信する機器と中継サーバ４２のネゴシエーションが終了するまで、送信者（ユーザａ）は、自身が送信したファイルを、受信する機器が受信可能か否かを知ることができないが、受信する機器の受信可能サイズ、受信可能メディアなどのネゴシエーション情報を予め中継サーバ４２に登録しておけば、送信する機器（通信機器Ａ）が中継サーバ４２にファイルを送信する前に、中継サーバ４２とネゴシエーションすることにより、受信する機器において、そのファイルを受信可能か否かを、直ちに知ることができる。
【０２０７】
この場合の、一連のデータ送受信処理について、図２５乃至図３１を参照して説明する。最初に、受信する機器（例えば、通信機器Ｂ）がネゴシエーション情報を、予め中継サーバ４２に登録する、受信側ネゴシエーション情報登録処理について、図２５のフローチャートを参照して説明する。この処理は、IMサーバ４１のIMサービスの提供を受ける通信機器（例えば、通信機器B）において、ユーザの指令に基づいて実行されるようにしてもよいし、IMサービスのコミュニティに参加したとき、自動的に実行されるようにしてもよい。
【０２０８】
ステップS３０１において、通信機器Bのスペック検出部２５５は、（自身の）機器のスペック（仕様）をチェックする。このとき、通信機器Ｂの記憶部１０８の空き容量（受信可能なファイルのサイズ）および受信可能なメディアタイプなどがチェックされ、図２０に示される情報と同様の情報が生成される。
【０２０９】
ステップＳ３０２において、登録部２５６は、ステップS３０１でスペック検出部２５１がチェックした機器のスペックに基づいて、ネゴシエーション情報を生成し、ステップS３０３において、ステップS３０２で生成したネゴシエーション情報を、中継サーバ４２に送信（登録）する。
【０２１０】
次に、中継サーバ４２が、通信機器Bからのネゴシエーション情報の登録を受け付けるネゴシエーション情報登録受付処理について図２６を参照して説明する。
【０２１１】
ステップS３２１において、中継サーバ４２のネゴシエーション情報管理部３１３（ネゴシエーション制御部２７１）は、ネゴシエーション通信部３１４を介して、通信機器Bから送信されたネゴシエーション情報を受信する。このとき、図２５のステップS３０３で送信されたネゴシエーション情報が受信される。ステップS３２２において、ネゴシエーション情報管理部３１３は、ステップS３２１で受信したネゴシエーション情報を、ユーザｂのID（または、通信機器BのID）と対応付けて、記憶部１５８に記憶する。
【０２１２】
これにより、中継サーバ４２の記憶部１５８には、図２０に示されるものと同様の情報が、通信機器Bのネゴシエーション情報として記憶（登録）される。さらに、通信機器AまたはCにおいても、図２５を参照して上述した処理と、同様の処理が行われ、通信機器AまたはCのネゴシエーション情報も、記憶部１５８に記憶される。
【０２１３】
次に、送信する機器が、中継サーバ４２を介してデータ（ファイル）を送信する、データ送信処理について、図２７のフローチャートを参照して説明する。なお、この例でも、上述した場合と同様に、ログイン状態の通信機器Aから、中継サーバ４２を介して、ログアウト状態の通信機器Bにファイルを送信する場合について説明する。
【０２１４】
図２７のステップS３５１乃至S３５５の処理は、図１１のステップS１乃至S５の処理と基本的に同様の処理なので、詳細な説明は省略するが、図１１のステップS３では、中継サーバ４２に、ファイルを送信できるか否かのネゴシエーションが行われるのに対して、図２７のステップS３５３の登録情報ネゴシエーション処理においては、図２６を参照して上述した処理により予め中継サーバ４２に登録されている、ネゴシエーション情報に基づくネゴシエーションが行われることにより、受信する機器（いまの場合、通信機器B）がファイルを受信できるか否かが判定される。
【０２１５】
ステップS３５３の登録情報ネゴシエーション処理の詳細を、図２８のフローチャートに示す。同図のステップS３７１乃至S３７６の処理は、図１２のステップS２１乃至S２６の処理と基本的に同様の処理なので、詳細な説明は省略するが、図１２のステップS２３で受信されるネゴシエーション結果は、中継サーバ４２が、これから送信されるファイルを受信できるか否かを表すものであるのに対して、図２８のステップS３７３で受信されるネゴシエーション結果は、通信機器Ｂが、これから送信されるファイルを受信できるか否かを表すものである。
【０２１６】
従って、ステップＳ３７４で、ネゴシエーション結果がOKではない、すなわち結果NGと判定された場合、ステップS３７６では、通信機器Bでファイルを受信できないことが、その理由（例えば、メディアタイプ相違など）とともに、表示され、ユーザａに通知される。
【０２１７】
次に、図２９のフローチャートを参照して、中継サーバ４２によるデータ中継処理について説明する。
【０２１８】
ステップS４０１において、中継サーバ４２のネゴシエーション通信部３１４（ネゴシエーション制御部２７１）は、送信する機器（通信機器A）からネゴシエーション情報を受信する。このとき、図２８のステップS３７２で送信されたネゴシエーション情報が受信される。上述したように、図２８のステップS３７２の処理は、図１２のステップS２２の処理と同様の処理なので、図１３を参照して上述した場合と同様の情報がステップS４０１で受信される。
【０２１９】
ステップS４０２において、ネゴシエーション制御部２７１は、送信中継ネゴシエーション処理を実行する。これにより、ステップS４０２で受信したネゴシエーション情報と、図２６を参照して上述した処理により登録された、通信機器Bのネゴシエーション情報が比較され、通信機器Bにおいて、ファイルを受信できるか否かが判定される。
【０２２０】
ここで、図３０のフローチャートを参照して、図２９のステップS４０２の送信中継ネゴシエーション処理の詳細について説明する。
【０２２１】
ステップS４３１において、ネゴシエーション通信部３１４は、ステップS４０１で受信した情報の中からネゴシエーション情報、すなわち、サイズ情報４８１とメディアタイプ情報４８２（図１３）を取得する。
【０２２２】
ステップS４３２において、ネゴシエーション情報管理部３１３は、受信する機器のネゴシエーション情報を読み出す。いまの場合、受信者識別ID４７２（図１３）は、ユーザｂのIDなので、記憶部１５８の中からユーザｂ（通信機器B）のネゴシエーション情報を読み出す。この結果、図２０に示されるものと同様の情報が読み出される。
【０２２３】
ステップS４３３において、受信判定部３１５は、ステップS４３１で取得したネゴシエーション情報と、ステップS４３２で読み出したネゴシエーション情報に基づいて、ファイルを受信できるか否かを判定する。ファイルを受信できるか否かの判定は、例えば、次のようにして行われる。
【０２２４】
すなわち、ステップS４３２で読み出した通信機器Ｂのネゴシエーション情報には、図２０に示されるように、受信可能なファイルのサイズおよび受信可能なメディアタイプが記述されており、CPU１５１が、この受信可能なファイルのサイズおよび受信可能なメディアタイプと、ステップS４３１で取得したネゴシエーション情報、すなわち図１７のサイズ情報５３１の１００００（バイト）、およびメディアタイプ情報５３２の「０１０（jpegを表す）」を比較する。
【０２２５】
CPU１５１は、図２０の受信可能サイズの値と、サイズ情報５３１の値の差分を計算し、受信しようとするファイルのサイズ（サイズ情報５３１の値）は、受信可能サイズを超えるか否かを判定し、受信可能サイズを超える場合、そのファイルは受信できないと判定する。一方、受信しようとするファイルのサイズが、受信可能サイズを超えない場合、CPU１５１は、メディアタイプ情報５３２の値が、図２０の受信可能メディアタイプの中にあるか否かを判定し、受信可能メディアタイプの中にある場合、そのファイルは受信できると判定し、メディアタイプ情報５３２の値が、図２０の受信可能メディアタイプの中にない場合、そのファイルを受信できないと判定する。
【０２２６】
この例では、図２０の受信可能サイズの値と、サイズ情報５３１の値の差分は、５４５５５５（＝５５５５５５−１００００）＞０なので、受信しようとするファイルのサイズが、受信可能サイズを超えない。また、メディアタイプ情報５３２の値「０１０」は、図２０の受信可能メディアタイプの中にあるので、ファイルを受信できると判定される。
【０２２７】
図３０のステップS４３３において、ファイルを受信できると判定された場合、ステップS４３４に進み、受信判定部３１６は、ネゴシエーション通信部３１４を介してネゴシエーション結果ＯＫを、通信機器Ａに送信する。一方、ステップS４３３において、ファイルを受信できないと判定された場合、ステップＳ４３６に進み、受信判定部３１６は、ネゴシエーション通信部３１４を介してネゴシエーション結果NGを、通信機器Aに送信する。
【０２２８】
ステップS４３４またはS４３６で送信されたネゴシエーション結果は、図２８のステップS３７３で通信機器Aにより受信され、ネゴシエーション結果がNGの場合、ステップS３７６で通信機器Aの表示部に表示される。その結果、ユーザａは、中継サーバ４２にファイルを送信するのに先立って、自身が送信しようとするファイルを、ユーザｂ（通信機器B）が受信できるか否かを知ることができる。なお、ネゴシエーション結果がOKの場合、図２７のステップS３５５で、通信機器Aから中継サーバ４２にファイルが送信される。
【０２２９】
ステップS４３４の処理の後、ステップS４３５において、受信判定部３１５は、この後処理を進める（ファイルを受信する）ことを表す中継フラグをONに設定する。
【０２３０】
図２９に戻って、ステップＳ４０３において、ネゴシエーション制御部２７１は、中継フラグはONか否かを判定し、中継フラグはONであると判定された場合、処理はステップS４０４に進む。ステップS４０４において、受信部２９１は、通信部１５９を制御して、ファイルを受信する。このとき、図２７のステップS３５５で、通信機器Aから送信されたファイルが受信され、記憶される。
【０２３１】
ステップS４０５において、接続状態管理部２７３は、受信する機器を検索する。すなわち、このとき、接続状態管理部２７３は、IMサーバ４１から、図１０を参照して上述したコミュニティリストを構成する情報を、通信部１５９を介して取得する。そして、コミュニティリストの中で、受信者識別ID４７２（図１３）に対応するIDのユーザの機器（受信する機器）が検索される。いまの場合、ユーザｂの情報が検索される。
【０２３２】
ステップＳ４０６において、接続状態管理部２７３は、受信する機器は、未接続状態（ログアウト状態）か否かを判定する。いまの場合、ユーザｂ（通信機器B）がログアウト状態であるか否かが判定される。ステップＳ４０６において、受信する機器は、未接続状態（ログアウト状態）であると判定された場合、処理は、ステップS４１０に進み、接続状態管理部２７３は、所定の時間（例えば、２４時間）が経過したか否かを判定し、まだ所定の時間が経過していないと判定された場合、処理は、ステップS４０６にもどり、あらためてIMサーバ４１から、コミュニティリストを構成する情報を取得し、ユーザｂ（通信機器B）がログアウト状態であるか否かを判定する。
【０２３３】
ステップS４１０において、所定の時間が経過したと判定された場合、ステップS４１１に進み、中継処理実行部２７２は、送信する機器（通信機器A）に中継エラーを通知する。これにより、通信機器Aにより中継エラーが受信され、ユーザａに中継が失敗したことが通知される。また、ステップS４１１の処理にともない、ステップS４０４で受信し、記憶していたファイルは削除される。
【０２３４】
ステップS４０６において、ユーザｂ（通信機器B）がログアウト状態ではない、すなわちログイン状態であると判定された場合、処理は、ステップS４０７に進み、送信部２９２は、通信部１５９を制御して、ファイルを送信する。このとき、上述したステップS４０４で受信され記憶されているファイルが送信される。そして、送信されたファイルは、通信機器Bにより受信され記憶される。通信機器Bにより、ファイルを全て正常に受信できた場合には、その結果（OK）が通信機器Bから中継サーバ４２に通知される。
【０２３５】
この例では、ステップS４０２の処理で、予め登録されている通信機器Bのネゴシエーション情報に基づいてネゴシエーションが終了しているので、中継サーバ４２と、通信機器Bの間ではネゴシエーションが行われない。その結果、図１４を参照して上述したデータ中継処理の場合と比較して、より効率的にデータを送受信することができる。
【０２３６】
ステップS４０８において、中継処理実行部２７２は、通信機器Bから結果OKが通知されたか否かを判定し、結果OKが通知されたと判定された場合、ステップS４０９に進み、送信する機器（通信機器A）に送信完了を通知する。これによりユーザａは、自分が送信したファイルをユーザｂが無事に受信したことを知る。一方、ステップS４０８において、結果OKが通知されなかったと判定された場合、中継処理実行部２７２は、ステップS４１１に進み、送信する機器（通信機器A）に中継エラーを送信する。これにより、ユーザａは、ユーザｂに対するファイルの送信が失敗したことを知る。
【０２３７】
なお、ステップS４０３において、中継フラグはONではないと判定された場合、ステップS４０４乃至S４１１の処理は、スキップされる。
【０２３８】
次に、図３１のフローチャートを参照して、通信機器Bによるデータ受信処理について説明する。この処理は、例えば、通信機器Bがログインしたとき実行される。
【０２３９】
ステップS４５１において、通信機器Bの中継処理実行部２１２は、受信するファイルがあるか否かを判定し、受信するファイルがあると判定されるまで待機する。通信機器Ｂは、ログインしたとき、IMサーバ４１にアクセスするとともに、中継サーバ４２にアクセスし、自身宛のファイルが中継サーバ４２に記憶されているか否かを判定する。このとき、自身宛（いまの場合、通信機器B）のファイルが中継サーバ４２に記憶されていた場合、受信するファイルがあると判定される。
【０２４０】
ステップS４５１において、受信するファイルがあると判定された場合、ステップS４５２に進み、受信部２３２は、通信部１０９を制御してファイルを受信する。このとき、上述した図２９のステップＳ４０７で中継サーバ４２から通信機器Ｂに送信されたファイルが受信される。
【０２４１】
ステップＳ４５３において、中継処理実行部２１２は、受信が正常に終了したか否かを判定する。ステップS４５３において、受信が正常に終了したと判定された場合、ステップS４５４に進み、中継処理実行部２１２は、受信結果OKを中継サーバ４２に送信する。一方、ステップS４５３において、受信が正常に終了しなかったと判定された場合、ステップS４５５に進み、中継処理実行部２１２は、受信結果NGを中継サーバ４２に送信する。なお、ステップS４５４またはS４５５で送信される受信結果は、中継サーバ４２により受信され、上述した図２９のステップS４０８の処理に用いられる。
【０２４２】
このようにして、中継サーバ４２を介して、ユーザａ（通信機器A）からユーザｂ（通信機器Ｂ）にファイルが送信される。中継サーバ４２に、予め通信機器Bのネゴシエーション情報を登録し、通信機器Aが中継サーバ４２にデータ（ファイル）を送信するのに先立って、中継サーバ４２に記憶された通信機器Bのネゴシエーション情報に基づいて、ネゴシエーションを行うようにしたので、より効率的であり、かつ確実にデータの送受信を行うことができる。
【０２４３】
以上においては、ログイン状態の通信機器Aのユーザａが、ログアウト状態の通信機器Ｂのユーザｂに対して、中継サーバ４２を介してファイルを送信する例について説明したが、通信機器Aによるデータ送信処理（上述した図１１、図２１または図２７の処理）は、図１０を参照して上述したコミュニティリストのGUIに基づいて指令され、実行されるようにしてもよい。図３２は、この場合のコミュニティリストのGUIの表示例を示す図である。
【０２４４】
同図は、図１０に対応する図であり、それぞれ対応する部分には、同一の番号が付されている。図３２においては、ユーザｂの接続状態がログアウト状態であることを表すフィールド３６５の下部に、「転送中継サービス中」のサイン３６６が記述されている。これにより現在ログアウトしている相手にもファイルを送信することが可能であることを、ユーザに容易に認識させることができる。ユーザａは、ユーザｂへのデータの送信を希望するとき、通信機器Aの入力部１０６を操作してサイン３６６をクリックする。
【０２４５】
サイン３６６がクリックされると、通信機器Aの表示部には、例えば、図３３に示されるようなGUIが表示される。同図において、「中継サーバが転送サービスを実行中です。中継サーバを利用しますか？」の文字が表示されている。ここで、ユーザが入力部１０６を操作して、「はい」ボタン６１１をクリックすると、図１１、図２１または図２７を参照して上述したデータ送信処理が実行される。「いいえ」ボタン６１２がクリックされるとデータ送信処理は実行されない。
【０２４６】
図３４は、コミュニティリストのGUIのさらに別の表示例を示す図である。同図においては、ユーザｂの接続状態がログアウト状態であることを表すフィールド３６５の右側に、「転送中継サービスの実行」ボタン３７０が表示されている。ユーザａは、ユーザｂへのデータの送信を希望するとき、通信機器Aの入力部１０６を操作してボタン３７０をクリックする。ボタン３７０がクリックされると、図１１、図２１または図２７を参照して上述したデータ送信処理が実行される。
【０２４７】
すなわち、図３５のフローチャートに示されるように、転送中継処理が実行される。ステップS４８１において、通信機器Aの中継処理実行部２１２は、転送中継サービスの実行ボタン３７０が押下されたか否かを判定し、ボタン３７０が押下されたと判定されるまで待機する。ステップS４８１において、ボタン３７０が押下されたと判定された場合、ステップS４８２に進み、中継処理実行部２１２は、データ送信処理を実行する。この処理は、図１１、図２１または図２７を参照して上述した処理と基本的に同様の処理であるが、いまの場合、送信相手としてユーザｂが既に選択されているので、図１１のステップＳ１、図２１のステップＳ２０１、または図２７のステップＳ３５１の処理は省略される。
【０２４８】
また、図３４のユーザｃの接続状態がログイン状態であることを表すフィールド３８５の右側にも、「転送中継サービスの実行」ボタン３９０が表示されているが、ユーザｃはログイン状態であるため、中継サーバ４２を介してのデータの送信（以下、転送中継サービスと称する）は実行できない（ユーザｃは、現在ログインしているので、直接データを送信することができ、中継サーバ４２が介在する必要がない）。このため、ボタン３９０は、ボタン３７０とことなり、薄い色で表示される（グレーアウトされる）。これにより、ユーザは、転送中継サービスを利用することができるか否かを、ユーザ毎に確実に知ることができる。
【０２４９】
このように、コミュニティの参加者のログインまたはログアウトを表示するコミュニティリスト中に、転送中継サービス実行のためのマーク（ボタン、サイン）を表示することで、ユーザインターフェースが向上し、簡単かつ確実に、データ転送が可能になる。特に、サービスを利用できるユーザと、利用できないユーザを区別して表示することで、誤操作が防止され、より好ましい使用環境が提供される。
【０２５０】
また、通信機器に、送信先がログアウト状態であった場合、転送中継サービスを利用するか否かが予め設定されるようにしてもよい。このような場合、通信機器の起動時に例えば、図３５に示されるようなGUIが、通信機器の表示部に表示されるようにして、ユーザに転送中継サービスの利用を選択させるようにすることもできる。
【０２５１】
図３５には、「送信先がログアウト状態だった場合でも、転送中継サービスを利用しない。」の文字と、それに対応するラジオボタン６３１が表示されている。また、「送信先がログアウト状態だった場合、転送中継サービスを自動的に利用する。」の文字とそれに対応するラジオボタン６３２が表示されている。さらに、「送信先がログアウト状態だった場合、転送中継サービスを利用するかどうか尋ねる」の文字と、それに対応するラジオボタン６３３が表示されている。
【０２５２】
ユーザは、ラジオボタン６３１乃至６３３のいずれかを選択し、適用ボタン６３４をクリックすることにより、通信機器に、転送中継サービスの利用を設定する。（この例では、ラジオボタン６３２が選択されている。）
【０２５３】
例えば、ラジオボタン６３１が選択され、適用ボタン６３４がクリックされた場合、その通信機器においては、図１１、図２１または図２７を参照して上述したデータ送信処理の実行を指令することができないように設定される。また、ラジオボタン６３２が選択され、適用ボタン６３４がクリックされた場合、その通信機器においては、送信先がログアウト状態である場合、図１１、図２１または図２７を参照して上述したデータ送信処理が自動的に実行されるように設定される。ラジオボタン６３３が選択され、適用ボタン６３４がクリックされた場合、その通信機器においては、図３２乃至図３４に示されるようなコミュニティリストのGUIが表示され、ログアウト状態のユーザにデータを送信するとき、転送中継サービスを利用するか否かの確認が行われる。
【０２５４】
なお、上述した一連の処理をハードウェアで実現するか、ソフトウェアで実現するかは問わない。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０２５５】
また、本明細書において上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０２５６】
【図１】本発明を適用した通信システムの構成例を示す図である。
【図２】図１の通信機器Aの構成例を示すブロック図である。
【図３】図１のIMサーバ４１の構成例を示すブロック図である。
【図４】通信機器Aの機能的構成例を示すブロック図である。
【図５】図４のネゴシエーション制御部２１１の詳細な構成例を示すブロック図である。
【図６】中継サーバ４２の機能的構成例を示すブロック図である。
【図７】図６のネゴシエーション制御部２７１の詳細な構成例を示すブロック図である。
【図８】IMサービスのコミュニティに参加するとき入力する情報の例を示す図である。
【図９】ロースターの例を示す図である。
【図１０】コミュニティリストの表示例を示す図である。
【図１１】データ送信処理を説明するフローチャートである。
【図１２】ネゴシエーション処理を説明するフローチャートである。
【図１３】ネゴシエーション情報を送信するパケットの構成例を示す図である。
【図１４】データ中継処理を説明するフローチャートである。
【図１５】送信中継ネゴシエーション処理を説明するフローチャートである。
【図１６】受信中継ネゴシエーション処理を説明するフローチャートである。
【図１７】ネゴシエーション情報を送信するパケットの構成例を示す図である。
【図１８】データ受信処理を説明するフローチャートである。
【図１９】ネゴシエーション処理を説明するフローチャートである。
【図２０】通信機器のＲＡＭに記憶される情報の例を示す図である。
【図２１】データ送信処理の別の例を説明するフローチャートである。
【図２２】データ中継処理の別の例を説明するフローチャートである。
【図２３】送信登録情報の例を示す図である。
【図２４】受信中継ネゴシエーション処理の別の例を説明するフローチャートである。
【図２５】受信側ネゴシエーション情報登録処理を説明するフローチャートである。
【図２６】ネゴシエーション情報登録受付処理を説明するフローチャートである。
【図２７】データ送信処理のさらに別の例を説明するフローチャートである。
【図２８】登録情報ネゴシエーション処理を説明するフローチャートである。
【図２９】データ中継処理のさらに別の例を説明するフローチャートである。
【図３０】送信中継ネゴシエーション処理を説明するフローチャートである。
【図３１】データ受信処理の別の例を説明するフローチャートである。
【図３２】コミュニティリストの別の表示例を示す図である。
【図３３】転送中継サービスを利用するとき表示されるGUIの例を示す図である。
【図３４】コミュニティリストのさらに別の表示例を示す図である。
【図３５】転送中継実行処理を説明するフローチャートである。
【図３６】転送中継サービスの利用を設定するとき表示されるGUIの例を示す図である。
【符号の説明】
【０２５７】
１  インターネット，  ４１  IMサーバ，  ４２  中継サーバ，  １０１  CPU，  １０９  通信部，  １５１  CPU，  １５３  RAM，  １５９  通信部，  ２１１  ネゴシエーション制御部，  ２１２  中継処理実行部，  ２５１  生成部，  ２５２  情報送信部，  ２５３  結果取得部，  ２５４  送信可否判定部，  ２５５  スペック検出部，  ２５６  登録部，  ２５７ネゴシエーション情報取得部，  ２５８  受信可否判定部，  ２７１  ネゴシエーション制御部，  ２７２  中継処理実行部，  ３１１  生成部，  ３１２  登録受付部，  ３１３  ネゴシエーション情報管理部，  ３１４  ネゴシエーション通信部，  ３１５  受信判定部，  ３１６  送信判定部
【図１】
2005182169.tif 000003
【図２】
2005182169.tif 000004
【図３】
2005182169.tif 000005
【図４】
2005182169.tif 000006
【図５】
2005182169.tif 000007
【図６】
2005182169.tif 000008
【図７】
2005182169.tif 000009
【図８】
2005182169.tif 000010
【図９】
2005182169.tif 000011
【図１０】
2005182169.tif 000012
【図１１】
2005182169.tif 000013
【図１２】
2005182169.tif 000014
【図１３】
2005182169.tif 000015
【図１４】
2005182169.tif 000016
【図１５】
2005182169.tif 000017
【図１６】
2005182169.tif 000018
【図１７】
2005182169.tif 000019
【図１８】
2005182169.tif 000020
【図１９】
2005182169.tif 000021
【図２０】
2005182169.tif 000022
【図２１】
2005182169.tif 000023
【図２２】
2005182169.tif 000024
【図２３】
2005182169.tif 000025
【図２４】
2005182169.tif 000026
【図２５】
2005182169.tif 000027
【図２６】
2005182169.tif 000028
【図２７】
2005182169.tif 000029
【図２８】
2005182169.tif 000030
【図２９】
2005182169.tif 000031
【図３０】
2005182169.tif 000032
【図３１】
2005182169.tif 000033
【図３２】
2005182169.tif 000034
【図３３】
2005182169.tif 000035
【図３４】
2005182169.tif 000036
【図３５】
2005182169.tif 000037
【図３６】
2005182169.tif 000038