(57)【要約】本開示は、従来のインスタントメッセージング（ＩＭ）システムが、ファイルディレクトリ全体の一度の転送を直接実行することができないという問題に対処するための、ファイルディレクトリに基づいたファイルの転送方法、装置、およびシステムを提供する。一態様では、送信ＩＭクライアントが、ファイルディレクトリ下の１つ以上のファイルフォルダのルートディレクトリ下にあるファイルを、次々とファイルフォルダごとに送信する。それぞれのファイルフォルダのルートディレクトリ下にあるファイルを送信する前に、受信ＩＭクライアントは、それぞれのファイルフォルダの名前、およびファイルディレクトリ下のそれぞれのフォルダの位置情報を含む、通知メッセージを送信し、その後、それぞれのファイルフォルダのルートディレクトリ下にある全ファイルを１つずつ送信してもよい。受信ＩＭクライアントは、受信した通知メッセージに従いファイルフォルダを確立し、確立したファイルフォルダのルートディレクトリの中に、通知メッセージの後に受信したファイルを記憶する。
2013504806.tif 000002
【特許請求の範囲】
【請求項１】
ファイルディレクトリに基づいたファイル転送の方法であって、前記方法は、
送信機のインスタントメッセージング（ＩＭ）クライアントから、第１のファイルフォルダの名前、およびファイルディレクトリ下の前記第１のファイルフォルダの位置情報を含む、通知メッセージを受信することと、
受信機のＩＭクライアントに、前記第１のファイルフォルダに対応する第２のファイルフォルダを、前記受信機において確立するように、前記通知メッセージを転送することと、
前記送信機の前記ＩＭクライアントから、前記第１のファイルフォルダのルートディレクトリ下にある１つ以上のファイルを受信することと、
前記第２のファイルフォルダのルートディレクトリ下に、前記受信した１つ以上のファイルを記憶するように、前記第１のファイルフォルダの前記ルートディレクトリ下の前記受信した１つ以上のファイルを、前記受信機の前記ＩＭクライアントに転送することと、を含む、方法。
【請求項２】
前記送信機の前記ＩＭクライアントは、前記受信機の前記ＩＭクライアントとのピアツーピア（Ｐ２Ｐ）接続を介して、前記通知メッセージおよび前記ファイルを送信し、前記受信機の前記ＩＭクライアントは、前記Ｐ２Ｐ接続を介して前記送信機の前記ＩＭクライアントによって送信された、前記通知メッセージおよび前記ファイルを受信する、または
前記送信機の前記ＩＭクライアントは、サーバを通して前記通知メッセージおよび前記ファイルを送信し、前記受信機の前記ＩＭクライアントは、前記サーバを通して前記送信機の前記ＩＭクライアントによって送信された、前記通知メッセージおよび前記ファイルを受信する、請求項１に記載の方法。
【請求項３】
前記送信機の前記ＩＭクライアントから前記１つ以上のファイルを受信する前に、前記送信機の前記ＩＭクライアントから、前記ファイルディレクトリを転送するように転送要求を受信することであって、前記転送要求は、前記ファイルディレクトリの記憶スペース情報を含む、受信することと、
前記受信機が、前記転送要求メッセージ中に含まれる前記記憶スペース情報に従い、前記ファイルディレクトリを記憶するのに十分な記憶スペースを有するかどうかを判定することと、
前記受信機が、前記ファイルディレクトリを記憶するのに十分な記憶スペースを有する場合に、前記受信機の前記ＩＭクライアントから、前記ファイルディレクトリを転送する前記転送要求を受け入れる応答メッセージを受信することと、をさらに含む、請求項１に記載の方法。
【請求項４】
前記送信機の前記ＩＭクライアントから受信された前記ファイルのうちの少なくとも１つが、前記送信機の前記ＩＭクライアントによって圧縮され、前記ファイルのうちの前記少なくとも１つは、前記受信機の前記ＩＭクライアントによって受信された後、前記受信機の前記ＩＭクライアントによって解凍される、請求項１に記載の方法。
【請求項５】
ファイルディレクトリに基づいたファイル転送のシステムであって、前記システムは、
サーバを備え、前記サーバは、
送信機のインスタントメッセージング（ＩＭ）クライアントから、第１のファイルフォルダの名前、およびファイルディレクトリ下の前記第１のファイルフォルダの位置情報を含む、通知メッセージを受信し、
受信機のＩＭクライアントに、前記第１のファイルフォルダに対応する第２のファイルフォルダを、前記受信機において確立するように、前記通知メッセージを転送し、
前記送信機の前記ＩＭクライアントから、前記第１のファイルフォルダのルートディレクトリ下にある１つ以上のファイルを受信し、
前記第２のファイルフォルダのルートディレクトリ下に、前記受信した１つ以上のファイルを記憶するように、前記第１のファイルフォルダの前記ルートディレクトリ下にある前記受信した１つ以上のファイルを、前記受信機の前記ＩＭクライアントに転送するように構成される、システム。
【請求項６】
前記サーバは、
前記送信機の前記ＩＭクライアントから前記１つ以上のファイルを受信する前に、前記送信機の前記ＩＭクライアントから、前記ファイルディレクトリを転送するように転送要求を受信し、前記転送要求は、前記ファイルディレクトリの記憶スペース情報を含み、
前記受信機が、前記転送要求メッセージ中に含まれる前記記憶スペース情報に従い、前記ファイルディレクトリを記憶するのに十分な記憶スペースを有するかどうかを判定し、
前記受信機が、前記ファイルディレクトリを記憶するのに十分な記憶スペースを有する場合に、前記受信機の前記ＩＭクライアントから、前記ファイルディレクトリを転送する前記転送要求を受け入れる応答メッセージを受信するようにさらに構成される、請求項５に記載のシステム。
【請求項７】
前記サーバは、
前記送信機の前記ＩＭクライアントから、圧縮された少なくとも１つのファイルを受信するようにさらに構成される、請求項５に記載のシステム。
【請求項８】
コンピュータデバイスであって、
プロセッサと、
前記プロセッサに連結され、データを記憶する記憶部と、
前記プロセッサによって実行可能な送信モジュールであって、前記送信モジュールは、
第１のファイルフォルダの名前、およびファイルディレクトリ下の前記第１のファイルフォルダの位置情報を含む、通知メッセージを送信し、
前記第１のファイルフォルダのルートディレクトリ下にある１つ以上のファイルを送信するように構成される、送信モジュールと、
前記プロセッサによって実行可能な受信モジュールであって、前記受信モジュールは、
前記第１のファイルフォルダに対応する第２のファイルフォルダを確立するように、前記通知メッセージを受信し、
前記第２のファイルフォルダのルートディレクトリ下に、前記受信した１つ以上のファイルを記憶するように、前記第１のファイルフォルダの前記ルートディレクトリ下にある前記１つ以上のファイルを受信するように構成される、受信モジュールと、を備える、コンピュータデバイス。
【請求項９】
前記プロセッサによって実行可能なファイル圧縮／解凍モジュールであって、前記送信モジュールによって送信されるようにファイルを圧縮し、前記受信モジュールによって受信されるファイルを解凍するように構成される、ファイル圧縮／解凍モジュールをさらに備え、前記送信モジュールは、前記圧縮されたファイルを送信するように構成される、請求項８に記載のコンピュータデバイス。
【請求項１０】
前記送信モジュールおよび前記受信モジュールの少なくとも１つが、ピアツーピア（Ｐ２Ｐ）接続を介して、別のコンピュータデバイス上に存在するインスタントメッセージング（ＩＭ）クライアントとの通信を確立するように構成される、請求項８に記載のコンピュータデバイス。
【請求項１１】
前記１つ以上のファイルを送信する前に、前記送信モジュールは、前記ファイルディレクトリを転送するように第１の転送要求を送信し、前記転送要求は、前記ファイルディレクトリの記憶スペース情報を含み、
前記受信モジュールは、第２の転送要求を受信すると、前記第２の転送要求メッセージ中に含まれる前記記憶スペース情報に従い、前記ファイルディレクトリを記憶するのに十分な記憶スペースがあるかどうかを判定し、
前記ファイルディレクトリを記憶するのに十分な記憶スペースがある場合に、前記受信モジュールは、前記ファイルディレクトリを転送するように、前記第２の転送要求を受け入れる応答メッセージを送信する、請求項８に記載のコンピュータデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連特許出願の相互参照）
本出願は、2009年9月14日に出願された、「METHOD APPARATUS AND SYSTEM FOR FILE TRANSFER BASED ON FILE DIRECTORY」という名称の、中国特許出願第200910169488.X号の優先権を主張し、当該出願は参照によりその全体が本明細書に組み込まれる。
【０００２】
本開示は、通信分野に関し、特にインスタントメッセージングシステムにおけるファイルディレクトリに基づいたファイルの転送に関する。
【背景技術】
【０００３】
インスタントメッセージング（ＩＭ）は、ネットワークにおいて、ユーザがあるチャットルームを確立することを可能にする、実時間のメッセージサービスである。主に、ＩＭサーバおよび複数のＩＭクライアントを含む。ピアツーピア（Ｐ２Ｐ）は、各当事者が同じ能力を有する通信技術であって、それによって、ユーザは、ファイルを共有し転送するために、コンピュータ間の直接接続を使用することができる。
【０００４】
従来のＩＭシステムでは、ユーザは、Ｐ２Ｐ通信を実行するように、ＩＭクライアントを使用することができる。ファイルを転送する時に、送信機のコンピュータデバイス（以下、概して「クライアント」と呼ぶ）上に存在する送信機のクライアントソフトウェアは、受信機のクライアントとのＰ２Ｐ接続を確立し、１つずつファイルを転送する。落とし穴は、このような方法が、ファイルディレクトリに基づいたファイルを直接転送できないことである。言い換えると、送信機のクライアントは、ユーザの介在なしに受信機のクライアントへ、ファイルディレクトリ下の全ファイルを自動的に転送することができない。同様に、受信機のクライアントは、受信したファイルを、送信機側と同等のファイルディレクトリの中に自動的に記憶することができない。
【発明の概要】
【０００５】
本開示は、ファイルディレクトリに基づいたファイルを転送するように、従来のＩＭシステムの問題を解決するための、ファイルディレクトリに基づいたファイルを転送する装置およびシステムを提供する。
【０００６】
本開示によって提供される技術を、以下に要約する。
【０００７】
一実施形態では、ファイルディレクトリに基づいたファイルの転送方法は、以下に記載する通り、いくつかのステップを含むことができる。
【０００８】
送信機のＩＭクライアントは、ファイルディレクトリの各ファイルフォルダのそれぞれのルートディレクトリ下にあるファイルを、一度に１つのファイルフォルダごとに送信する。それぞれのファイルフォルダのルートディレクトリ下にあるファイルを送信する前に、最初に通知メッセージが送信される。通知メッセージは、現在のファイルフォルダの名前、およびファイルディレクトリ下の現在のファイルフォルダの位置を含む。その後、送信機のＩＭクライアントは、現在のファイルフォルダのルートディレクトリ下にあるファイルを送信する。
【０００９】
受信機のＩＭクライアントは、受信した通知メッセージに基づきファイルフォルダを確立し、確立したファイルフォルダのルートディレクトリ下に、通知メッセージの後に受信したファイルを記憶する。
【００１０】
別の実施形態では、ファイルディレクトリに基づいたファイル転送システムが提供される。ファイル転送システムは、以下に記載する通り、送信機のＩＭクライアントおよび受信機のＩＭクライアントを含んでもよい。
【００１１】
送信機のＩＭクライアントは、ファイルディレクトリの各ファイルフォルダのそれぞれのルートディレクトリ下にあるファイルを、一度に１つのファイルフォルダごとに送信する。それぞれのファイルフォルダのルートディレクトリ下にあるファイルを送信する前に、最初に送信機のＩＭクライアントは通知メッセージを送信する。通知メッセージは、現在のファイルフォルダの名前、およびファイルディレクトリ下の現在のファイルフォルダの位置を含む。その後、送信機のＩＭクライアントは、現在のファイルフォルダのルートディレクトリ下にあるファイルを送信する。
【００１２】
受信機のＩＭクライアントは、受信した通知メッセージに基づきファイルフォルダを確立し、確立したファイルフォルダのルートディレクトリ下に、通知メッセージの後に受信したファイルを記憶する。
【００１３】
別の実施形態では、ファイルディレクトリに基づいたファイル転送用のクライアントが提供される。クライアントは、以下に記載する通り、送信モジュールおよび受信モジュールを含んでもよい。
【００１４】
送信モジュールは、ファイルディレクトリの各ファイルフォルダのそれぞれのルートディレクトリ下にあるファイルを、一度に１つのファイルフォルダごとに送信するように構成される。それぞれのファイルフォルダのルートディレクトリ下にあるファイルを送信する前に、送信モジュールは最初に通知メッセージを送信する。通知メッセージは、現在のファイルフォルダの名前、およびファイルディレクトリ下の現在のファイルフォルダの位置を含む。その後、送信モジュールは、現在のファイルフォルダのルートディレクトリ下にあるファイルを送信する、そして
【００１５】
受信モジュールは、受信した通知メッセージに基づきファイルフォルダを確立し、確立したファイルフォルダのルートディレクトリ下に、通知メッセージの後に受信したファイルを記憶するよう、現在のファイルフォルダの名前、およびファイルディレクトリ下の現在のファイルフォルダの位置を含む通知メッセージを受信するように構成される。
【００１６】
本開示の上述の実施形態では、送信機のＩＭクライアントは、受信機のＩＭクライアントが、受信した通知メッセージに基づき対応するファイルフォルダを確立するだけでなく、確立したファイルフォルダの下に、その後受信されるファイルも記憶できるように、それぞれのファイルフォルダのルートディレクトリ下にあるファイルを送信する前に、現在のファイルフォルダの名前、およびファイルディレクトリ中の現在のファイルフォルダの位置を含む通知メッセージを送信する。したがって、受信機のＩＭクライアントは、ＩＭクライアント間でファイルディレクトリに基づいたファイル転送を実行するように、送信機のＩＭクライアントと同じファイルディレクトリ構造の中にファイルを記憶することができる。
【００１７】
代替の実施形態では、別のファイルディレクトリ転送方法が提供される。方法は、以下に記載する通り、いくつかのステップを含むことができる。
【００１８】
送信機のＩＭクライアントは、最初にファイルディレクトリのディレクトリ情報を送信し、その後、ファイルディレクトリの各ファイルフォルダのそれぞれのルートディレクトリ下にあるファイルを、一度に１つのファイルフォルダごとに送信する。それぞれのファイルフォルダのルートディレクトリ下にあるファイルを送信する前に、送信機のＩＭクライアントは通知メッセージを送信する。通知メッセージは、現在のファイルフォルダの名前、およびファイルディレクトリ下の現在のファイルフォルダの位置を含む。その後、送信機のＩＭクライアントは、現在のファイルフォルダのルートディレクトリ下にあるファイルを送信する。
【００１９】
受信機のＩＭクライアントは、受信したファイルディレクトリ情報に基づきファイルディレクトリを確立し、受信した通知メッセージに基づき確立したファイルディレクトリ下にファイルフォルダを位置付け、位置付けたファイルフォルダのルートディレクトリ下に、通知メッセージの後に受信したファイルを記憶する。
【００２０】
なおも別の実施形態では、ファイルディレクトリ転送用のクライアントが提供される。クライアントは、送信モジュールおよび受信モジュールを含んでもよい。
【００２１】
送信モジュールは、最初にファイルディレクトリのディレクトリ情報を送信し、その後、ファイルディレクトリの各ファイルフォルダのそれぞれのルートディレクトリ下にあるファイルを、一度に１つのファイルフォルダごとに送信するように構成される。それぞれのファイルフォルダのルートディレクトリ下にあるファイルを送信する前に、送信モジュールは最初に通知メッセージを送信する。通知メッセージは、現在のファイルフォルダの名前、およびファイルディレクトリ下の現在のファイルフォルダの位置を含む。その後、送信モジュールは、現在のファイルフォルダのルートディレクトリ下にあるファイルを送信する。
【００２２】
受信モジュールは、受信したファイルディレクトリ情報に基づきファイルディレクトリを確立するように、ファイルディレクトリ転送用の別のクライアントによって送信されたファイルディレクトリ情報を受信する、すなわち、現在のファイルフォルダの名前、およびファイルディレクトリ中の現在のファイルフォルダの位置を含む、ファイルディレクトリ転送用の別のクライアントによって送信された通知メッセージを受信し、受信した通知メッセージに基づき、確立したファイルディレクトリ下にファイルフォルダを位置付け、位置付けたファイルフォルダのルートディレクトリ下に、通知メッセージの後に受信したファイルを記憶するように構成される。
【００２３】
本開示の上の実施形態では、送信機のＩＭクライアントは、ファイルディレクトリ下にあるファイルを送信する前に、受信機側に対応するファイルディレクトリを確立するように、受信機のＩＭクライアントにファイルディレクトリの構造情報を送信する。送信機のＩＭクライアントは、それぞれのフォルダのルートディレクトリ下にあるファイルを送信する前に、受信機のＩＭクライアントが、通知メッセージに基づき対応するフォルダを位置付け、フォルダの中にその後受信されるファイルを記憶することができるように、受信機のＩＭクライアントへ、ファイルディレクトリ下にあるフォルダの位置情報を含む通知メッセージを提供する。したがって、受信機のＩＭクライアントは、ＩＭクライアント間でファイルディレクトリに基づいたファイル転送を実行するように、送信機のＩＭクライアントによって転送されるファイルディレクトリと同等のファイルディレクトリを確立することができる。
【図面の簡単な説明】
【００２４】
【図１】本開示に従う、Ｐ２Ｐファイルディレクトリ転送環境のシステム構造図である。
【図２】本開示に従う、Ｐ２Ｐファイルディレクトリ転送のフローチャートである。
【図３】本開示に従う、サーブ中継によるファイルディレクトリ転送を示す図である。
【図４】転送されるファイルディレクトリの構造図である。
【図５】本開示に従う、ＩＭクライアントの構造図である。
【発明を実施するための形態】
【００２５】
本開示の実施形態を、図を参照して以下に詳細に記載する。
【００２６】
図１は、本開示に従う、Ｐ２Ｐファイルディレクトリ転送環境のシステム構造図を示す。示す通り、システム構造はＩＭシステム構造である。２つのＩＭクライアントおよび１つのＩＭサーバが図１に図示されているが、概してＩＭシステム構造は、複数のＩＭクライアントおよび場合により２つ以上のＩＭサーバを含む。本開示は、例として図１に示す通り、ＩＭシステム構造を使用する。図１に示すＩＭシステム構造は、ＩＭサーバ１０、ＩＭクライアント２１、およびＩＭクライアント２２を含む。図１に示すＩＭシステム構造は、ＩＭサーバ１０、ＩＭクライアント２１、およびＩＭクライアント２２を含む。ＩＭサーバ１０の主機能は、ＩＭクライアントログインシステムの認証および管理、ＩＭシステムにおけるユーザ情報の管理、ならびにＩＭクライアント間でファイルを転送する必要性がある時のファイルの転送を含んでもよい。ＩＭクライアント２１およびＩＭクライアント２２は、インスタントメッセージングによって通信し、従来の方法によってファイルを転送することができる。
【００２７】
本開示の実施形態は、ＩＭクライアントを改良し、ファイルディレクトリに基づいたファイルを転送するための機能を増やす。それに応じて、実施形態はまた、ファイルディレクトリを転送する機能を補助するように、ＩＭサーバ（または、中継サーバ等、ＩＭシステム中のいずれか他のサーバ）も改良する。
【００２８】
図２は、本開示に従う、Ｐ２Ｐファイルディレクトリ転送のフローチャートを図示する。ユーザが、ファイルディレクトリと、ファイルディレクトリ下の全ファイルフォルダおよびファイルとを、ＩＭクライアント２２に転送するように、ＩＭクライアント２１を使用しようとする時に、ユーザは、例えば、マウスまたは任意の他の方法を使用して、標的ユーザとのＩＭ相互作用のために、転送するファイルディレクトリを選び（または１つ以上のファイルフォルダの選択）、ファイルディレクトリをウインドウの中にドラッグすることができる。概して、送信ＩＭクライアントが存在する操作システムは、このような操作および操作の標的（または選択されたファイルフォルダ）を捕捉し、標的の情報（あるいは、位置、サイズ、含有されるファイルまたはサブフォルダ、およびファイルフォルダのその他の情報）を獲得し、受信ＩＭクライアントに獲得した情報を転送することができる。本例では、ＩＭクライアント２１は、前述の情報を受信した後、ファイルディレクトリ転送事象をトリガーし（このような操作タイプと標的との間の対応する関係およびファイルディレクトリ転送事象は事前に確立することができ、または上述の操作はファイルディレクトリ転送事象をトリガーする）、この事象に従うファイルディレクトリ転送のプロセスをトリガーする。ファイルディレクトリ転送のプロセスをトリガーする別の方法を、以下に記載する。ファイルディレクトリ転送用のコマンドボタンは、ＩＭクライアント２１の相互作用ＩＭ通信ウィンドウに事前に確立される。ボタンをクリックすると、ユーザにファイルディレクトリを選択または入力させるように、ダイアログボックスまたは入力ボックスがポップアップする。ユーザがファイルディレクトリを選択したか、または入力したと仮定すると、ファイルディレクトリ情報が獲得され、ファイルディレクトリ転送事象がトリガーされ、ファイルディレクトリ転送のプロセスが事象に従いトリガーされる。
【００２９】
ファイルディレクトリ転送のプロセスが図２に示され、これは以下に記載する通りいくつかのステップを含んでもよい。
【００３０】
２０１では、プロセスはＩＭクライアント２１とＩＭクライアント２２との間にＰ２Ｐ接続を確立する。このような接続は、例えば、ファイル転送プロトコル（ＦＴＰ）接続を確立することによって、来るファイルディレクトリ転送において使用される。
【００３１】
２０２では、ＩＭクライアント２１は、ＩＭクライアント２２に通知メッセージを送信する。通知メッセージは、転送されるファイルディレクトリ下のファイルフォルダの名前、およびファイルディレクトリ下のファイルフォルダの位置を含む。
【００３２】
２０３では、ＩＭクライアント２２は、通知メッセージを受信し、ファイルディレクトリ下のファイルフォルダの名前、およびファイルディレクトリ下のファイルフォルダの位置に従い、ファイルフォルダを確立する。ＩＭクライアント２２は、既定の位置またはユーザ指定の位置に、ファイルディレクトリおよび含有されるファイルフォルダを確立することができる。
【００３３】
２０４では、ＩＭクライアント２１は、ファイルフォルダのルートディレクトリ下にあるファイルを、ＩＭクライアント２２に１つずつ送信する。
【００３４】
２０５では、ＩＭクライアント２２は、新しく確立されたファイルフォルダのルートディレクトリ下に、受信したファイルを記憶する。
【００３５】
ステップ２０２〜２０５は、ファイルディレクトリ下の全ファイルフォルダおよびそれらのルートディレクトリ下にある全ファイルが転送されるまで繰り返される（ステップ２０６を参照することにより）。ＩＭクライアント２２は、ＩＭクライアント２１にあるものと同じファイルディレクトリ構造および同じ含有されたファイルと同じファイルディレクトリを確立する。全体のファイルディレクトリ転送の完了後、ファイルディレクトリ転送用のＩＭクライアント２１とＩＭクライアント２２との間の通信接続は切ることができる。ＩＭクライアント２１は事前に、ファイルディレクトリの情報（ファイルディレクトリ中に含有される全ファイルを含む）を知るために、ファイルが転送される時、ＩＭクライアント２１は、ファイルディレクトリ下にある全ファイルが転送されたかどうかを判定することができる。そうでなければ、ファイル転送を継続することができるか、またはＰ２Ｐ接続が切られるかのいずれかである。
【００３６】
上述のプロセスは、ＩＭクライアント２１とＩＭクライアント２２との間のファイルディレクトリ転送用には、１つの通信接続が必要なだけであることを示す。ファイルディレクトリ転送のプロセスは、１つの通信接続を利用する。送信機のＩＭクライアントがファイルを転送する前に毎回受信機のＩＭクライアントとの通信接続を確立する必要がある、従来の技術と比較すると、本開示によって提案する技術は、接続を確立する費用を節約し、ひいてはファイル転送性能を改良する。
【００３７】
本開示の別の実施形態は、図２に示す通り、プロセスの改良によって獲得することができる。本実施形態では、ＩＭクライアント２１とＩＭクライアント２２との間にＰ２Ｐ接続を確立した後、ＩＭクライアント２１は、まず第一に、ＩＭクライアント２２に転送されるファイルディレクトリのディレクトリ情報（全ての含有されるファイルフォルダ、およびファイルフォルダ間の階層関係を含む）を送信することができる。ＩＭクライアント２２は、ディレクトリ情報に基づき、対応するファイルディレクトリを確立することができる。ＩＭクライアント２１がファイルを送信するその後の操作は、上記のプロセスに類似する。しかしながら、通知メッセージは、ファイルディレクトリ中の現在のファイルフォルダの位置情報のみを持っている必要がある。それに応じて、ＩＭクライアント２２が、通知メッセージを受信した後、ファイルフォルダを確立する必要はなく、確立されたファイルディレクトリ中に対応するファイルフォルダを位置付け、位置付けられたファイルフォルダのルートディレクトリ下に、その後に受信されるファイルを記憶する。
【００３８】
ＩＭクライアント２１とＩＭクライアント２２との間のファイル転送用Ｐ２Ｐ接続は、時には成功しない場合がある。例えば、ＩＭクライアント２２がオフラインである場合がある。そのような場合、本開示の別の実施形態は、ファイルディレクトリ下のファイルの転送を実行するように、中継用のサーバを提供する。確実に、ＩＭクライアント２１は、サーバの中継により、ファイルディレクトリ下のファイルを転送する方法を直接使用することができる。
【００３９】
図３は、本開示に従い、中継サーバがファイルディレクトリ下のファイル転送を実行するように、使用するためのプロセスを図示する。本実施形態は、中継サーバとしてのＩＭサーバ１０、およびＩＭクライアント２２へのファイルディレクトリ下にある送信機転送ファイルのクライアントとしてのＩＭクライアント２１の例を使用する。図３に示すプロセスは、以下に記載する通り、いくつかのステップを含む。
【００４０】
３０１では、プロセスは、ＩＭクライアント２１とＩＭサーバ１０との間に通信接続を確立する。通信接続は、来るファイルディレクトリ転送に使用される。
【００４１】
３０２では、ＩＭクライアント２１は、転送されるファイルディレクトリ中のファイルフォルダの名前、およびファイルディレクトリ中のファイルフォルダの位置情報を、通知メッセージの形態で、ＩＭサーバ１０に送信する。通知メッセージを受信した後、ＩＭサーバ１０は、これをＩＭクライアント２２に転送する。
【００４２】
３０３では、通知メッセージを受信した後、ＩＭクライアント２２は、ファイルフォルダの名前、およびファイルディレクトリ中のファイルフォルダの位置情報に従い、ファイルフォルダを確立する。
【００４３】
３０４では、ＩＭクライアント２１は、ファイルフォルダのルートディレクトリ下にあるファイルを、ＩＭサーバ１０に１つずつ送信し、ＩＭサーバ１０は、受信したファイルをＩＭクライアント２２に転送する。
【００４４】
３０５では、ＩＭクライアント２２は、新しく確立されたファイルフォルダのルートディレクトリ中に、受信したファイルを記憶する。
【００４５】
ステップ３０２〜３０５は、転送されるファイルディレクトリ下の全ファイルフォルダ、および全ファイルフォルダのルートディレクトリ下にある全ファイルが、転送されるまで繰り返される（ステップ３０６を参照することにより）。このように、ＩＭクライアント２１と同じファイルディレクトリ構造および同じ含有ファイルを有するファイルディレクトリが、ＩＭクライアント２２に作成される。ファイルディレクトリの転送が完了した後、ＩＭクライアント２１とＩＭサーバ１０との間、およびＩＭクライアント２２とＩＭサーバ１０との間の通信接続は切ることができる。
【００４６】
図３に示すプロセスでは、中継サーバは、ＩＭクライアント２１によって転送されるファイルデータ等の情報をキャッシュに格納するようにある記憶スペースを有し、その後、キャッシュに格納された情報をＩＭクライアント２２に転送することができる。
【００４７】
本開示の別の実施形態は、図３に示す通り、プロセスの改良によって得ることができる。本実施形態では、ＩＭクライアント２１は、まず第一に、転送されるファイルディレクトリのディレクトリ情報（全ての含有されるファイルフォルダ、およびファイルフォルダ間の階層関係を含む）を送信することができる。ＩＭクライアント２２は、ディレクトリ情報に基づき、対応するファイルディレクトリを確立することができる。ＩＭクライアント２１がファイルを送信するその後の操作は、上記のプロセスに類似する。しかしながら、通知メッセージは、ファイルディレクトリ中の現在のファイルフォルダの位置情報のみを持っている必要がある。それに応じて、ＩＭクライアント２２は、通知メッセージを受信した後、ファイルフォルダを確立する必要はないが、しかし確立されたファイルディレクトリ中に対応するファイルフォルダを位置付け、位置付けたファイルフォルダのルートディレクトリ下に、その後に受信されるファイルを記憶する。
【００４８】
好ましくは、本開示の上述の実施形態では、送信ＩＭクライアントが、ファイルディレクトリ下のファイルを転送する前に、受信ＩＭクライアントへのファイル転送の要求を通して、情報を送信することができる。情報は、ファイルディレクトリ下の全ファイルの記憶スペース、およびファイルディレクトリ下の全ファイルのうちのいくつかを含むことができる。したがって、受信ＩＭクライアントは、ファイルディレクトリの記憶スペースが、ファイルディレクトリのデータ容量の事前設定条件に準拠するかどうか、ファイルの数がファイル数の制限の事前設定条件に準拠するかどうか、またはＩＭクライアントが位置付けられるデバイスが、ファイルディレクトリ下の全ファイルを記憶するために十分な記憶スペースを有するかどうかを判定し、ファイル転送の要求を受け入れるか、または拒否するかいずれかの判定結果の後すぐに、送信ＩＭクライアントに応答を返すことができる。
【００４９】
好ましくは、本開示の上述の実施形態では、ファイルを送信する前に、ＩＭクライアント２１は、ファイルを圧縮し、圧縮ファイルを転送することができる。圧縮ファイルを受信した後、ＩＭクライアント２２はファイルを解凍することができる。これはファイル転送だけではなくファイル転送遅延によって利用される、システム資源を減らすために役立つ。ＩＭクライアント２１および２２は、ファイルを圧縮／解凍するように、第三者の圧縮ツールを使用してもよい。代替的に、ファイル圧縮／解凍機能モジュールは、ＩＭクライアント２１および２２と統合することができる。ＩＭクライアント２１および２２は、ファイルを圧縮／解凍するかかるモジュールを使用することができる。
【００５０】
以下の記載には、ＩＭクライアント２１がファイルディレクトリをＩＭクライアント２２に転送するプロセスを詳述するように、特定のファイルディレクトリの例を使用する。
【００５１】
本実施形態では、転送されるファイルディレクトリを図４に示す。これは汎用の典型的なファイルディレクトリ構造である。図４では、フォルダ１（ファイルフォルダ１）はファイルディレクトリのルートファイルフォルダである。フォルダ１のルートディレクトリ下には、２つのファイルフォルダ、すなわちフォルダ２（ファイルフォルダ２）およびフォルダ３（ファイルフォルダ３）、ならびに３つのファイル、すなわちファイル１、ファイル２、およびファイル３がある。フォルダ３のルートディレクトリ下には、１つのファイル、すなわちファイル７がある。フォルダ２のルートディレクトリ下には、２つのフォルダ、すなわちフォルダ４（ファイルフォルダ４）およびフォルダ５（ファイルフォルダ５）、ならびに３つのファイル、すなわちファイル４、ファイル５、ファイル６がある。フォルダ４のルートディレクトリ下には、３つのファイル、すなわちファイル８、ファイル９、およびファイル１０がある。フォルダ５のルートディレクトリ下には、１つのファイル、すなわちファイル１１がある。
【００５２】
本実施形態は、図１に示す通りＩＭ通信システムに基づき、その構造を図４に示すファイルディレクトリ下にあるファイルを転送する。ファイル転送プロセスを以下に記載する。
【００５３】
ＩＭクライアント２１は、ＩＭクライアント２２とのＰ２Ｐ接続を確立しようと試みる。Ｐ２Ｐ接続の確立が成功しない場合、接続はＩＭサーバによる中継を通して確立される。このプロセスは、ＩＭクライアント２１がＩＭクライアント２２とのＰ２Ｐ接続を成功裏に確立する例を使用する。
【００５４】
ＩＭクライアント２１は、転送要求メッセージをＩＭクライアント２２に送信する。転送要求メッセージは、転送されるファイルディレクトリの合計サイズの情報を持っている。転送要求メッセージを受信した後、ＩＭクライアント２２は、ファイルディレクトリを記憶するのに十分なスペースが局所的に存在するかどうかを判定する。肯定的な場合には、ＩＭクライアント２２は、転送要求を受け入れるように応答を返し、そうでなければ、ファイル転送は失敗し、ファイルディレクトリ転送プロセスは終了する。
【００５５】
転送要求の受け入れの応答を受信した後、ＩＭクライアント２１は、フォルダ１を転送される第１のファイルフォルダとして使用し、ＩＭクライアント２２に通知を送信する。通知メッセージは、フォルダ１の名前、およびファイルディレクトリ下のフォルダ１の位置情報を持っている。
【００５６】
フォルダ１は転送されるファイルディレクトリのルートファイルフォルダであるため、通知メッセージは、フォルダ１の位置が、ファイルディレクトリのルートファイルフォルダであると示す。ＩＭクライアント２１によって送信された通知メッセージを受信した後、ＩＭクライアント２２は、ファイルフォルダの名前、およびファイルディレクトリ下のファイルフォルダの位置に従い、ファイルフォルダを作成する。
【００５７】
ＩＭクライアント２１は、フォルダ１のルートディレクトリ下のファイル、すなわちファイル１、ファイル２、およびファイル３を１つずつ圧縮し、ＩＭクライアント２２にこれらのファイルを転送する。ＩＭクライアント２１から圧縮ファイルを受信した後、ＩＭクライアント２２はファイルを解凍し、作成したフォルダ１のルートディレクトリにファイルを記憶する。
【００５８】
フォルダ１のルートディレクトリ下にあるファイルの転送を完了した後、ＩＭクライアント２１は、ＩＭクライアント２２へ、フォルダ２の名前、およびファイルディレクトリ下のその位置情報（フォルダ２がフォルダ１の子ファイルフォルダであることを表す、フォルダ１／フォルダ２等）を持っている、別の通知メッセージを送信する。ＩＭクライアント２１から第２の通知メッセージを受信した後、ＩＭクライアント２２は、別の通知メッセージ中に含まれるファイルフォルダの名前、およびファイルフォルダの位置に従い、ファイルフォルダを作成する（言い換えると、フォルダ２はフォルダ１下に作成される）。
【００５９】
ＩＭクライアント２１は、フォルダ２のルートディレクトリ下のファイル、すなわちファイル４、ファイル５、およびファイル６を１つずつ圧縮し、ＩＭクライアント２２にそれらを転送する。ＩＭクライアント２１から圧縮ファイルを受信した後、ＩＭクライアント２２はファイルを解凍し、作成したフォルダ２のルートディレクトリ下にファイルを記憶する。
【００６０】
適宜、ＩＭクライアント２１は、ファイルディレクトリ下の全ファイルフォルダを、ＩＭクライアント２２に転送する。ＩＭクライアント２２が存在するデバイスは、ＩＭクライアント２１によって転送されるのと同じファイルディレクトリを記憶する。ファイルディレクトリ転送のプロセスが完了する。
【００６１】
上のプロセスでは、ＩＭクライアント２２上のファイルディレクトリは、ファイルディレクトリ下のファイル転送のプロセス中、徐々に作成される。別の代替のプロセスを以下に記載する。
【００６２】
ＩＭクライアント２１は、まず第一に、転送要求メッセージ中に含まれる、ファイルディレクトリの構造情報（全ファイルフォルダ、およびファイルフォルダ間の階層関係を含む）を、ＩＭクライアント２２に送信する。ＩＭクライアント２２は、ファイルディレクトリの構造情報に従い、対応するファイルディレクトリを作成する。ＩＭクライアント２１がファイルを送信する後続の操作は、上記のプロセスに類似する。送信された通知メッセージは、ファイルディレクトリ下にある現在のファイルフォルダの位置情報を含むことができる。例えば、フォルダ２のルートディレクトリ下にあるファイルを転送する前に、ＩＭクライアント２１は、フォルダ２、すなわちフォルダ１／フォルダ２の位置情報を、通知メッセージを通してＩＭクライアント２２に送信する。それに応じて、通知メッセージを受信した後、ＩＭクライアント２２は、ファイルフォルダを作成する必要はない。代わりに、作成されたファイルディレクトリから対応するファイルフォルダを位置付ける必要のみがあり、位置付けられたファイルフォルダのルートディレクトリ中に、その後に受信されるファイルを記憶する。これはまた、ＩＭクライアント間のファイルディレクトリ転送にのために利用することができる。
【００６３】
上述の技術に基づき、本開示はまた、ＩＭクライアントの構造を提供する。
【００６４】
図５は、ＩＭクライアントが存在するコンピュータデバイスの構造図を示す。コンピュータデバイスは、プロセッサ、およびデータを記憶するようにプロセッサに連結される記憶部を含む。ＩＭクライアントは、送信モジュール５０１および受信モジュール５０２を含み、それらの両方がプロセッサによって実行可能である。
【００６５】
送信モジュール５０１は、次々とファイルフォルダごとに、ファイルディレクトリ下のファイルフォルダのそれぞれのルートディレクトリ下にあるファイルを、ファイルディレクトリ転送用の別のクライアントに転送するのに使用される。
【００６６】
受信モジュール５０２は、通知メッセージに従いファイルフォルダを作成し、かつ詰められたファイルフォルダのルートディレクトリに、後で（すなわち通知メッセージの後に）受信されるファイルを記憶するように、ファイルディレクトリ転送用の別のクライアントによって送信された、ファイルフォルダの名前、およびファイルディレクトリ下のファイルフォルダの位置情報を含む、通知メッセージを受信するように使用される。
【００６７】
好ましくは、ＩＭクライアントはまた、送信モジュール５０１によって転送されるファイルを圧縮し、受信モジュール５０２によって受信されるファイルを解凍するように、コンピュータデバイスのプロセッサによって実行可能なファイル圧縮／解凍モジュール５０３を含む。ファイルを送信する時、送信モジュール５０１は、圧縮した後にファイルを送信する。
【００６８】
上述のＩＭクライアントに関して、送信モジュール５０１に対する１つの代替計画は、送信ＩＭクライアントの送信モジュール５０１が、まず第一に、ファイルディレクトリの構造情報を、ファイルディレクトリ転送用の受信ＩＭクライアントに送信し、その後、ファイルディレクトリ下の各ファイルフォルダのルートディレクトリ下にあるファイルを、次々とファイルフォルダごとに送信することである。それぞれのファイルフォルダのルートディレクトリ下にあるファイルを送信する前に、送信モジュール５０１は、まず第一に、ファイルディレクトリ下の現在のファイルフォルダの位置情報を含む通知メッセージを送信し、その後、現在のファイルフォルダのルートディレクトリ下にある全ファイルを送信する。
【００６９】
それに応じて、受信モジュール５０２に対する１つの代替計画は、受信ＩＭクライアントの受信５０２が、ファイルディレクトリ転送用の送信ＩＭクライアントから、ファイルディレクトリの構造情報を受信し、ファイルディレクトリの構造情報に従い、ファイルディレクトリを作成することである。受信モジュール５０２は、ファイル転送用の別のＩＭクライアントから、ファイルディレクトリ下にある現在のファイルフォルダの位置情報を含む通知メッセージを受信し、通知メッセージに従い、作成したファイルディレクトリ下にファイルフォルダを位置付け、位置付けられたファイルフォルダのルートディレクトリ中に、後で（すなわち通知メッセージ後に）受信されるファイルを記憶する。
【００７０】
本開示は、本開示の方法、装置（システム）、およびコンピュータソフトウェア製品のフローチャートならびに図を参照して記載する。コンピュータソフトウェア命令が、図面の各フローチャートおよび／または図、あるいはそれらの組み合わせを実装することができることは、理解することができる。このようなコンピュータソフトウェア命令は、フローチャート図のうちの１つ以上のフロープロセスおよび／または図表のうちの１つ以上の図によって指定される機能を実現するように、コンピュータまたは他のプログラム可能なデータ処理デバイスによって実行される命令を使用することができる機械を実装する、汎用コンピュータ、特殊用途コンピュータ、埋め込み式デバイス、または任意の他のプログラム可能なデータ処理デバイスの中に埋め込みことができる。
【００７１】
このようなコンピュータプログラム命令はまた、コンピュータが読み取り可能な記憶媒体中に記憶される命令が、命令装置として機能を実行できるように、コンピュータまたは任意の他のプログラム可能なデータ処理デバイスを特定の方法で機能させ、起動することができる、有形で、非一時的なコンピュータが読み取り可能な記憶媒体中に記憶することができる。命令装置は、フローチャート図のうちの１つ以上のフロープロセスおよび／または図表のうちの１つ以上の図によって指定される機能を実現することができる。
【００７２】
このようなコンピュータプログラム命令はまた、コンピュータまたはプログラム可能なデータ処理デバイスが、このようなコンピュータの操作によって機能を実現するために、複数の操作ステップを行うことができるように、コンピュータまたは任意の他のプログラム可能なデータ処理デバイス中にロードすることができる。したがって、コンピュータまたは任意の他のプログラム可能なデータ処理デバイスで行われる命令は、フローチャート図のうちの１つ以上のフロープロセスおよび／または図表のうちの１つ以上の図によって指定される機能を実行する。
【００７３】
当業者は、本開示の精神および範囲から逸脱することなく、本開示の種々の変更および修正を行うことができる。それゆえ、本開示のこのような変更および修正が、本開示の特許請求の範囲またはその均等物の範囲内である場合には、本開示は、そのような変更および修正もまた包含する。
【図１】
2013504806.tif 000003
【図２】
2013504806.tif 000004
【図３】
2013504806.tif 000005
【図４】
2013504806.tif 000006
【図５】
2013504806.tif 000007
【国際調査報告】
2013504806.tif 000008