(57)【特許請求の範囲】
【請求項１】
１以上の処理ユニットに、第１デバイスと１以上の他のデバイスとの間でファイルを転送する方法を実行させるための実行可能命令を記憶した不揮発性の機械読み取り可能な記憶媒体であって、前記方法が、前記他のデバイスと接続するネットワークに対するアクティブネットワークコネクションを前記第１デバイスが有することで前記ネットワークとの接続が行われ、アドホックファイル共有サービスがアクティブにされる状況下で、
前記アドホックファイル共有サービスがアクティブにされたことに応答して、前記第１デバイス上のアドホックファイル共有サービスに関連する１以上の特別な目的のフォルダに１以上のファイルを置くことによってファイル共有を自動的に可能にするよう構成されたアドホックファイル共有サービスによる通知パケットを前記第１デバイスが前記アクティブネットワークコネクションを介して前記他のデバイスの各々に送信する処理であって、前記通知パケットが、前記他のデバイスの各々に前記アドホックファイル共有サービスの存在を知らせて利用可能であることを示し、且つ、前記通知パケットが前記第１デバイスに関連付けられる前記ユーザのユーザ識別情報を含み、前記アドホックファイル共有サービスへのアクセスが１人のユーザ毎に認可される当該処理と、
前記他のデバイスの各々との接続を確立する処理と、
前記他のデバイスの各々によってファイルを転送する処理であって、転送のために利用可能な前記１以上の特別な目的のフォルダ内に置かれていたファイルを作成することを含む当該処理と、
を含む、不揮発性の機械読み取り可能な記憶媒体。
【請求項２】
前記他のデバイスの各々に対する接続を確立する前記処理が、
他のデバイスに対応するユーザのユーザ識別情報を前記第１デバイスのユーザに提示し、
前記他のデバイスに対応するユーザに前記アドファイル共有サービスへのアクセスを認可する、
ことを更に含む、請求項１に記載の不揮発性の機械読み取り可能な記憶媒体。
【請求項３】
前記アドホックファイル共有サービスへのアクセスは、他のデバイスに対応するユーザが前記第１デバイス上にファイル共有アカウントを有することなく達成される、請求項２に記載の不揮発性の機械読み取り可能な記憶媒体。
【請求項４】
前記アドホックファイル共有サービスへのアクセスは、前記第１デバイス又は前記他のデバイスのうちの１つではない別のデバイス上における認証サービスを使用することなく達成される、請求項２に記載の不揮発性の機械読み取り可能な記憶媒体。
【請求項５】
前記アドホックファイル共有サービスへのアクセスは、他のデバイスに対応するユーザが前記アドホックファイル共有サービスにログインする必要もなく達成される、請求項２に記載の不揮発性の機械読み取り可能な記憶媒体。
【請求項６】
更に、前記アドホックファイル共有サービスのため、前記１以上の特別な目的のフォルダを含むファイルリポジトリを確立する処理を含む、請求項１に記載の不揮発性の機械読み取り可能な記憶媒体。
【請求項７】
前記ファイルリポジトリが１以上のディレクトリを含む、請求項６に記載の不揮発性の機械読み取り可能な記憶媒体。
【請求項８】
更に、前記他のデバイスの１つからのファイル閲覧要求を実行する処理を含む、請求項１に記載の不揮発性の機械読み取り可能な記憶媒体。
【請求項９】
１以上の処理ユニットに第１デバイスと１以上の他のデバイスとの間でファイルを転送する方法を実行させるための実行可能命令を有する不揮発性の機械読み取り可能な記憶媒体であって、前記方法が、前記他のデバイスと接続するネットワークに対するアクティブネットワークコネクションを前記第１デバイスが有することで前記ネットワークとの接続が行われ、アドホックファイル共有サービスがアクティブにされる状況下で、
前記アドホックファイル共有サービスがアクティブにされたことに応答して、前記第１デバイス上のアドホックファイル共有サービスに関連する１以上の特別な目的のフォルダに１以上のファイルを置くことによってファイル共有を自動的に可能にするよう構成されたアドホックファイル共有サービスによる通知パケットを前記第１デバイスが前記アクティブネットワークコネクションを介して前記他のデバイスの各々に送信する処理であって、前記通知パケットが、前記他のデバイスの各々に前記アドホックファイル共有サービスの存在を知らせて利用可能であることを示し、且つ、前記通知パケットが前記第１デバイスに関連付けられる前記ユーザのユーザ識別情報を含む当該処理と、
前記アドホックファイル共有サービスへのアクセスを前記他のデバイスの各々に許可する処理であって、前記アドホックファイル共有サービスへのアクセスが１人のユーザ毎に認可され、前記アクセスは、前記他のデバイスの各々に対応するユーザが前記第１デバイス上にファイル共有アカウントを有することなく達成され、且つ前記アクセスは、当該アクセスのために利用可能な前記１以上の特別な目的のフォルダ内に置かれていたファイルを作成することを含む当該処理と、
を含む、不揮発性の機械読み取り可能な記憶媒体。
【請求項１０】
前記アドホックファイル共有サービスへのアクセスは、他のデバイスに対応するユーザがファイル共有アカウントを有することなく達成される、請求項９に記載の不揮発性の機械読み取り可能な記憶媒体。
【請求項１１】
前記アドホックファイル共有サービスへのアクセスは、前記第１デバイス又は前記他のデバイスのうちの１つではない別のデバイスを使用した認証サービスなしに達成される、請求項９に記載の不揮発性の機械読み取り可能な記憶媒体。
【請求項１２】
前記アドホックファイル共有サービスへのアクセスは、他のデバイスに対応するユーザが前記アドホックファイル共有サービスにログインする必要もなく達成される、請求項９に記載の不揮発性の機械読み取り可能な記憶媒体。
【請求項１３】
更に、前記アドホックファイル共有サービスのため、前記１以上の特別な目的のフォルダを含むファイルリポジトリを設定する処理を含む、請求項９に記載の不揮発性の機械読み取り可能な記憶媒体。
【請求項１４】
前記ファイルリポジトリが１以上のディレクトリを含む、請求項１３に記載の不揮発性の機械読み取り可能な記憶媒体。
【請求項１５】
更に、前記他のデバイスの１つからのファイル閲覧要求を実行する処理を含む、請求項９に記載の不揮発性の機械読み取り可能な記憶媒体。
【請求項１６】
１以上の処理ユニットに、第１デバイスと１以上の他のデバイスとの間でファイルを転送するため、前記他のデバイスと接続するネットワークに対するアクティブネットワークコネクションを前記第１デバイスが有することで前記ネットワークとの接続が行われ、アドホックファイル共有サービスがアクティブにされる状況下で、
前記アドホックファイル共有サービスがアクティブにされたことに応答して、前記第１デバイス上のアドホックファイル共有サービスに関連する１以上の特別な目的のフォルダに１以上のファイルを置くことによってファイル共有を自動的に可能にするよう構成されたアドホックファイル共有サービスによる通知パケットを前記第１デバイスが前記アクティブネットワークコネクションを介して前記１以上の他のデバイスの各々に送信する手段であって、前記通知パケットが、前記他のデバイスの各々に前記アドホックファイル共有サービスの存在を知らせて利用可能であることを示し、且つ、前記通知パケットが第１デバイスに関連付けられる前記ユーザのユーザ識別情報を含み、前記アドホックファイル共有サービスへのアクセスが１人のユーザ毎に認可される当該手段と、
前記他のデバイスの各々との接続を確立する手段と、
前記他のデバイスの各々によってファイルを転送する手段であって、転送のために利用可能な前記１以上の特別な目的のフォルダ内に置かれていたファイルを作成することを含む当該手段と、
を備えた装置。
【請求項１７】
前記他のデバイスの各々に対する接続を確立する手段は、
他のデバイスに対応するユーザのユーザ識別情報を前記第１デバイスのユーザに提示し、
前記アドホックファイル共有サービスへのアクセスを他のデバイスに対応するユーザに許可する、
ことを含む、請求項１６に記載の装置。
【請求項１８】
前記アドホックファイル共有サービスへのアクセスは、他のデバイスに対応するユーザが前記第１デバイスにおけるファイル共有アカウントを有することなく達成される、請求項１７に記載の装置。
【請求項１９】
１以上の処理ユニットに第１デバイスと１以上の他のデバイスとの間でファイルを転送するのに使用されるアドホックファイル共有処理の方法を実行させる命令を記憶した不揮発性の機械読み取り可能な記憶媒体であって、前記方法が、前記他のデバイスと接続するネットワークに対するアクティブネットワークコネクションを前記第１デバイスが有することで前記ネットワークとの接続が行われ、アドホックファイル共有サービスがアクティブにされる状況下で、
前記アドホックファイル共有サービスがアクティブにされたことに応答して、前記第１デバイス上のアドホックファイル共有サービスに関連する１以上の特別な目的のフォルダに１以上のファイルを置くことによってファイル共有を自動的に可能にするアドホックファイル共有処理のために構成されたフォルダをユーザが選択したことに応答して、
前記第１デバイスにて前記アドホックファイル共有処理を開始する処理と、
前記アドホックファイル共有サービスの通知を前記１以上の他のデバイスの各々に送信することによって、前記アドホックファイル共有処理をイネーブルにする処理であって、前記通知が前記第１デバイスからの前記アドホックファイル共有サービスを利用可能であることを示し、且つ、前記通知が前記第１デバイスに関連付けられる前記ユーザのユーザ識別情報を含み、前記アドホックファイル共有サービスへのアクセスが１人のユーザ毎に認可され、前記アクセスは、前記他のデバイスの各々に対応するユーザが前記第１デバイスにおけるファイル共有アカウントを有することなく達成され、これにより前記他のデバイスの各々に対し前記アドホックファイル共有サービスへのアクセスが許可されるようになり、前記アクセスは、当該アクセスのために利用可能な前記１以上の特別な目的のフォルダ内に置かれていたファイルを作成することを含む当該処理と、
を含む、不揮発性の機械読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的にファイル共有及び閲覧に関し、より詳細には、アドホックに基づくファイル共有及び閲覧に関する。
【背景技術】
【０００２】
ファイルの共有は、コンピュータ又は他のデバイスに格納されたファイルへのアクセスの分散及び／又は提供を使用することである。ファイルの共有は、クライアントコンピュータが、中央サーバ上のファイルへのアクセス、サードパーティサービスによるコンピュータ間のピアツーピアファイル共有設定、取り外し可能媒体上に共有されることになるファイルの収容、及びコンピュータ間でのこの媒体の移動などを行うことによって実行することができる。ファイル共有の１つの特定の用途は、特定の目的又はタスクのためにファイルを共有するアドホックベースでファイルを共有することである。例えば、会議の参加者間で一時的なファイル共有をセットアップすることは、有用である場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、２つのコンピュータの間でのファイルの共有は有用であるが、一般ユーザがこれらのコンピュータ上でアドホックファイル共有を適切にセットアップすることは難しい可能性がある。例えば、アドホックファイル共有は、参加するコンピュータが同じＷｉ−Ｆｉネットワーク上にあることが要求される場合があり、ある人が、ファイル共有をイネーブルにし、ファイルパーミッション（アクセス許可）をセットアップする等を行う必要がある場合がある。アドホックファイル共有をセットアップする必要があるステップが多くなる程、コンピュータユーザは、この種類のファイル共有を利用する可能性が低くなる。
【課題を解決するための手段】
【０００４】
アドホックファイル共有サービスを使用してファイルを転送しファイル閲覧を実行するデバイスに関する方法及び装置が記載される。例示的な方法では、第１デバイスが、アドホックファイル共有サービスの通知を１つ又はそれ以上の他のデバイスの各々に送信する。送信される通知は各々、第１デバイスに関連付けられるユーザのユーザ識別情報を含む。更に、アドホックファイル共有サービスへのアクセスは、１人のユーザ毎に認可される。第１デバイスは、複数の他のデバイスの各々との接続を確立することができ、複数の他のデバイスの各々によってファイルを転送することができる。
【０００５】
更なる実施形態では、デバイスは、アドホックファイル共有サービスの通知を複数の他のデバイスの各々に送信し、通知は、第１デバイスに関連付けられるユーザのユーザ識別情報を含む。更に、デバイスは、複数の他のデバイスの各々にアドホックファイル共有サービスへのアクセスを許可し、ここでアドホックファイル共有サービスへのアクセスは、１人のユーザ毎に認可される。加えて、アクセスは、複数の他のデバイスの各々に対応するユーザが第１デバイス上にファイル共有アカウントを有することなく達成される。
【０００６】
１つの実施形態では、アドホックファイル共有処理は、アドホックファイル共有のために指定又は構成されたフォルダ又はアイコンをユーザが選択又は開くことに応答して第１デバイス上で開始することができる。フォルダ又はアイコンを選択又は開く動作は、１つ又はそれ以上の他のデバイスの各々にアドホックファイル共有サービスの通知を送信する処理を含むことができる、アドホックファイル共有処理を自動的にイネーブルにする。通知は、第１デバイスに関連付けられるユーザのユーザ識別情報又は第１デバイスのデバイス識別情報又はユーザ識別情報とデバイス識別情報の両方を含むことができる。各デバイスにおけるアクセスは、１人のユーザ毎に認可することができ、通知が受信される前にファイル共有のセットアップを他のデバイスのユーザに要求することなくアクセスを達成することができる。
【０００７】
他の方法及び装置も記載される。
【０００８】
本発明は、同じ参照符号が同様の要素を示す添付図面において限定ではなく例証として示される。
【図面の簡単な説明】
【０００９】
【図１】アドホックファイル共有に参加する複数のデバイスの１つの実施形態を示すブロック図である。
【図２】アドホックファイル共有を実行するための処理の１つの実施形態を示すフロー図である。
【図３Ａ】アドホックファイル共有サービスをイネーブル及び通知するための処理の１つの実施形態を示すフロー図である。
【図３Ｂ】アドホックファイル共有サービスから通知を受信するための処理の１つの実施形態を示すフロー図である。
【図４Ａ】アドホックファイル共有サービスを使用してファイルを転送するための処理の１つの実施形態を示すフロー図である。
【図４Ｂ】アドホックファイル共有サービスを使用してファイルを転送するための処理の１つの実施形態を示すフロー図である。
【図５Ａ】アドホックファイル共有サービスを使用してファイルを閲覧するための処理の１つの実施形態を示すフロー図である。
【図５Ｂ】アドホックファイル共有サービスを使用してファイルを閲覧するための処理の１つの実施形態を示すフロー図である。
【図６】アドホックファイル共有サービスによるファイル共有及び閲覧を示すファイル共有ユーザインタフェースを示すブロック図である。
【図７】アドホックファイル共有を実行するアドホックファイル共有モジュールを示すブロック図である。
【図８Ａ】アドホックファイル共有サービスをイネーブル及び通知するアドホックファイル共有イネーブルモジュールを示すブロック図である。
【図８Ｂ】アドホックファイル共有サービスの通知を受信する通知受信モジュールを示すブロック図である。
【図９Ａ】アドホックファイル共有サービスを使用してファイルを転送するファイル転送モジュールを示すブロック図である。
【図９Ｂ】アドホックファイル共有サービスを使用してファイルを転送するファイル転送モジュールを示すブロック図である。
【図９Ｃ】アドホックファイル共有サービスを使用してファイルを転送するファイル転送モジュールを示すブロック図である。
【図１０Ａ】アドホックファイル共有サービスを使用してファイルを閲覧するファイル閲覧モジュールを示すブロック図である。
【図１０Ｂ】アドホックファイル共有サービスを使用してファイルを閲覧するファイル閲覧モジュールを示すブロック図である。
【図１０Ｃ】アドホックファイル共有サービスを使用してファイルを閲覧するファイル閲覧モジュールを示すブロック図である。
【図１１】本明細書で説明される実施形態と共に使用することができる典型的なコンピュータシステムの１つの実施例を示す図である。
【図１２】本発明の１つの実施形態と共に使用することができるデータプロセッシングシステムの実施例を示す図である。
【発明を実施するための形態】
【００１０】
アドホックファイル共有サービスを使用してファイルを転送しファイル閲覧を実行するデバイスに関する方法及び装置について説明する。以下の説明では、本発明の実施形態の完全な説明を提供するために多くの特定の詳細事項が記載されている。しかしながら、本発明の実施形態はこれらの特定の詳細事項がなくとも実施できることは当業者には明らかであろう。場合によっては、公知の構成要素、構造、及び技術は、本明細書の理解を曖昧にしないために詳細には示されていない。
【００１１】
本明細書における「１つの実施形態」又は「ある実施形態」の記載は、実施形態に関して説明される特定の特徴、構造、又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味する。本明細書における様々な箇所での「１つの実施形態において」という表現の出現は、必ずしも全て同じ実施形態を指すものではない。
【００１２】
以下の説明及び請求項において、用語「結合された」及び「接続された」は、それらの派生語と共に使用することができる。これらの用語は、互いに対する同義語として意図されたものではないことを理解されたい。「結合された」は、互いに直接物理的又は電気的に接触することができ又は接触しない場合もある、２つ又はそれよりも多くの要素が互いに協働又は対話することを示すのに使用される。「接続された」は、互いに結合された２つ又はそれよりも多くの要素間の通信の設定を示すのに使用される。
【００１３】
以下の図で示される処理は、ハードウエア（回路、専用論理回路など）、ソフトウエア（汎用コンピュータシステム又は専用機械上で実行されるものなど）、又はこれらの組み合わせを含む処理論理回路によって実行される。処理は、幾つかの順次的な動作の観点で以下に説明されるが、説明される動作の幾つかは異なる順序で実行できることを理解されたい。更に、幾つかの動作は、順次的ではなく並行して実行することができる。
【００１４】
用語「サーバ」、「クライアント」、及び「デバイス」は、サーバ、クライアント、及び／又はデバイスに対する特定の形式因子を具体的に指すのではなく、データプロセッシングシステムを全体的に指すものとする。
【００１５】
アドホックファイル共有サービスを使用してファイルを転送しファイル閲覧を実行する装置に関する方法及びデバイスを説明する。例示的な方法において、デバイスは、アドホックファイル共有サービスの通知を他のデバイスの１つ又はそれ以上の各々に送信する。送信される通知は各々、第１デバイスに関連付けられるユーザのユーザ識別情報（識別子）を含む。更に、アドホックファイル共有サービスへのアクセスは、１人のユーザ毎に認可される。デバイスは、他のデバイスの各々と接続を確立し、複数の他のデバイスの各々とファイルを転送する。
【００１６】
図１は、アドホックファイル共有に参加している複数のデバイスの１つの実施形態のブロック図である。図１では、デバイス１０２Ａ−Ｃは、ネットワーク接続１０４Ａ−Ｃを介して結合される。１つの実施形態では、デバイス１０２Ａは、ネットワーク接続１０４Ａを介してデバイス１０２Ｂに結合され、デバイス１０２Ｂは、ネットワーク接続１０４Ｂを介してデバイス１０２Ｃに結合される。同様に、デバイス１０２Ｃは、ネットワーク接続１０４Ｃを介してデバイス１０２Ａに結合される。１つの実施形態では、３つのデバイスがネットワーク接続を介して互いに結合されて示されているが、代替の実施形態では、ポイントツーポイントネットワーク接続のフルメッシュのネットワーク接続を介して、及び／又はフルメッシュ未満のネットワーク接続のネットワークトポロジーを介して互いに結合されたより多くの又はより少ないデバイスが存在することができる。例えば、１つの実施形態では、ネットワーク接続のリングを４つ又はそれよりも多くのデバイスのグループに対して使用することができる。
【００１７】
１つの実施形態では、デバイスは、パーソナルコンピュータ、ラップトップ、ノートブック、タブレット、スマートフォン、携帯電話、ゲームデバイス、メディアプレーヤ、その他、及び／又はネットワーク接続を有することができ且つファイルを格納及び／又は転送することができる何れかの他の種類のデバイスとすることができる。１つの実施形態では、ネットワーク接続は、２つの異なるデバイスを結合することができる何れかの種類のネットワーク接続：無線接続（Ｗｉ−Ｆｉ、セルラー、ブルートゥース、赤外線など）、有線（イーサネットなど）、及び／又はこれらの組み合わせとすることができる。１つの実施形態では、各デバイス１０２Ａ−Ｃは、アドホックファイル共有サービスを使用して他のデバイスファイルシステムにおけるファイルの転送及び／又はファイルの閲覧を行うことができる。１つの実施形態では、各デバイス１０２Ａ−Ｃは、アドホックファイル共有サービスを介して他のデバイス１０２Ａ−Ｃが利用可能なファイルを特別なフォルダに格納し、該特別なフォルダは、ファイルを共有可能及び／又は共有可能でないようにする許可を手動で設定し、又は特別なファイルシステムを実装するユーザの必要性を軽減することができる。この場合、ユーザは、その特別なフォルダにファイル（又はファイルのエイリアス又はショートカット）を置いて、当該ファイルをその特別なフォルダに入れることによってそのファイルのファイル共有を自動的に可能にすることができる。特別なフォルダは、本明細書で説明されるアドホックファイル共有の実施形態によりユーザが共有を望むファイルを受信するよう指定又は構成することができる。フォルダの選択又は開く動作、或いはそのフォルダへのファイルの関連付け又は入れる動作は、当該ファイル及びそのフォルダに入れられ又は関連付けられた他の何れかのファイルに対しアドホックファイル共有を自動的にイネーブルにすることができる。ファイル又はファイルのエイリアス又はショートカットはそのフォルダに入れられ、又はそのフォルダに関連付けられて、そのファイルに対するアドホックファイル共有をイネーブルにすることができる。特別なフォルダを用いて、１つの実施形態では、特別なフォルダに入れられ又は関連付けられるファイルだけが、アドホックファイル共有に利用可能にされるよう、そこで共有されるファイルの限度を制限するために使用することができる。
【００１８】
１つの実施形態では、アドホックファイル共有サービスは、特定のタスク、プロジェクト、及び／又は他の必要性に対してセットアップすることができるポイントツーポイントファイル共有サービスである。１つの実施形態では、アドホックファイル共有サービスは、そのデバイスのアドホックファイル共有サービスに参加できる他のデバイスに通知を送信することによって機能する。この実施形態では、送信される通知は、アドホックファイル共有サービスがデバイスの１つにおいて利用できることを他のデバイスに対して知らせる。ポイントツーポイントサービスを有することによって、第１デバイスの第１ユーザは、ファイル共有サービスに対する第１デバイス上で第２ユーザがアカウントを有することなく、又は第３デバイス上でホストされるサードパーティサーバ及び／又はサービス（例えば、ピアツーピアファイル共有など）を必要とすることなく、第２デバイスの第２ユーザへのアクセスが可能になることができる。更に、１つの実施形態では、アドホックファイル共有サービスへのアクセスは、１人のユーザ毎に認可される。従って、この実施形態では、アドホックファイル共有サービスによって、固有のアカウントを持たないユーザが、別のユーザに対し認可されていない可能性があるアドホックファイル共有サービスにアクセスできるようになる。これは、何れか及び全ての遠隔ユーザにファイル共有アクセスを認可するゲストアカウントアクセスを有することができる異なる種類のファイル共有サービスとは対照的である。加えて、アドホックファイル共有へのアクセスは、遠隔デバイスに対してアドホックファイル共有サービスへのアクセスを認可する認証サービスを使用することなく達成することができる。
【００１９】
１つの実施形態では、アドホックファイル共有サービスは、あるデバイスが他のデバイスに通知を送信し、デバイス１０４Ａ−Ｃの各々が参加するネットワーキング接続を通じてそのデバイス上でのファイル共有サービスの存在を通知することによって機能する。例えば、１つの実施形態では、デバイス１０２Ａは、そのネットワーク接続１０４Ａ−Ｃを通じて通知を送信する。１つの実施形態では、１つ又はそれ以上のデバイス１０２Ａ−Ｃは、デバイスが参加しているネットワーク接続（例えば、企業ローカルエリアネットワーク（ＬＡＮ）、家庭用ネットワークＬＡＮなどにおけるブロードキャスト（例えば、ネットワーク接続１０４Ａ−Ｃにおける全ての他のデバイスへの通知のブロードキャスト））上でアドホックファイル共有サービスの通知を送信する。別の実施形態では、要求されたデバイス１０２Ａ−Ｃは、そのデバイス１０２Ａ−Ｃの近接範囲内の他のデバイスにデバイスへの通知だけを送信する。この実施形態では、デバイス１０２Ａ−Ｃは、送信側デバイスに近接した範囲内にある他のデバイスに通知を送信する。例えば、１つの実施形態では、デバイス１０２Ａは、Ｗｉ−Ｆｉ、ブルートゥース、及び／又はセルラー信号強度、ルーティングホップ、デバイス１０２Ａ−Ｃの物理的位置（全地球測位システム位置、携帯電話位置など）、その他、及び／又はこれらの組み合わせに基づいて測定された近接して存在する他のデバイス１０２Ｂ−Ｃに通知を送信する。例えば、１つの実施形態では、ブルートゥース信号の信号強度を用いて、Ｗｉ−Ｆｉ発見デバイスの数を制限することができる。
【００２０】
１つの実施形態では、デバイス１０２Ａ−Ｃにおけるアドホックファイル共有サービスは、ファイル共有接続を通じてファイルを閲覧し転送する。１つの実施形態では、ファイル共有接続とは、１つのデバイス上で実行されるアドホックファイル共有サービスへの更なるアクセスを認可することなく、１つのデバイスが遠隔デバイスのファイルを閲覧し、その遠隔デバイスとの間でファイルを転送することができることを意味する。この実施形態では、これは、ファイル共有リポジトリにおける１つ又はそれ以上のファイル及び／又はディレクトリが、アドホックファイル共有サービスを介して遠隔デバイスに見えることを意味する。１つの実施形態では、アドホックファイル共有サービスは、遠隔デバイスが、最初にファイルを閲覧し、及び／又はこのアドホックファイル共有サービスをホストするデバイスにファイルを転送しようとした時に、遠隔デバイスへのアクセスを認可する。アクセスの認可ついては、以下の図４Ａ及び５Ａで更に説明する。
【００２１】
１つの実施形態では、アドホックファイルサーバによって制御されるデバイス１０２Ａ−Ｃのアドホックファイル共有サービスが、共有サービスモジュール１０６Ａ−Ｃを調べる。この実施形態では、アドホックファイル検索共有サービスモジュール１０６Ａ−Ｃが、このファイル共有サービスのイネーブル状態を制御し、アドホックファイル共有サービスを支援する関連のネットワークサービス及び接続を提供し（例えば、Ｗｉ−Ｆｉ、ブルートゥースなどを提供し）、アドホックファイル共有サービスによってアクセス可能なファイルの転送及び／又は閲覧を制御する。アドホックファイル共有サービスモジュールの動作を、以下で図２において更に説明する。
【００２２】
更に、各デバイス１０２Ａ−Ｃは、アドホックファイルリポジトリ１０８Ａ−Ｃを含む。１つの実施形態では、アドファイル共有サービスのためのファイルリポジトリ１０８Ａ−Ｃは、ディレクトリ、別個のファイルシステム、着脱可能な記憶装置、内部メモリ、その他、及び／又はファイルを格納するために使用することができるデバイスの何れかの構成要素である。アドホックファイル共有サービスを支援するために別個のファイルシステムを有する要件は本発明には無い点に留意されたい。１つの実施形態では、アドホックファイル共有サービスは、アドホックファイル共有サービスに使用されることになるファイルの一時記憶装置として「会議室」という名称のフォルダを指定する。
【００２３】
図２は、アドホックファイル共有を実行するための処理の１つの実施形態のフロー図である。図２では、ブロック２０２において、処理２００は、アドホックファイル共有サービスをイネーブルにしてこのサービスの存在を通知することから始まる。１つの実施形態では、処理２００は、アドホックファイル共有サービスを制御する処理を立ち上げることによって、アドホックファイル共有サービスをイネーブルにする。この実施形態では、アドホックファイル共有サービスをイネーブルにすることによる。例えば、１つの実施形態では、デバイスのユーザが、アドホックファイル共有サービスをオンすることができ、サービスを使用して別のデバイスとの間でファイルを送信及び／又は受信し、また、遠隔デバイスを閲覧し、遠隔デバイスにそのデバイスを閲覧させることができる。この実施例では、デバイスのユーザは、必要に応じてサービスをオン及びオフすることができる。例えば、１つの実施形態では、ユーザは、会議中に他の人とファイルを共有したいと思う会議に参加している場合に、サービスをオンすることができる。会議が終了すると、ユーザはサービスをオフすることができ、これによってアドホックファイル共有サービスによるファイル共有を無効にする。別の実施形態では、処理２００は、ある時間期間（例えば、１時間より長くない又は他の何らかの時間期間）の間アドホックファイル共有サービスをイネーブルにすることができる。この実施形態では、処理２００は、その時間の満了時にアドホックファイル共有サービスをオフにすることになる。別の実施形態では、処理２００は、アドホックファイル共有サービスをイネーブルにする。１つの実施形態では、処理２００は、ＵＩでこのサービスを表すアイコンをユーザがクリックした時にアドホックファイル共有サービスをイネーブルにする。例えば、１つの実施形態では、以下で図６において説明されるように、ファイル閲覧ユーザインタフェースにおいて会議室アイコンをクリックすることによって、アドホックファイル共有サービスをイネーブルにすることができる。更に、処理２００は、アドホックファイル共有サービスの存在を他のデバイスに通知する。記載のアドホックファイル共有サービスの通知をイネーブルにする処理は、以下で図３において更に説明する。
【００２４】
ブロック２０４において、処理２００は、処理２００を実行しているデバイスと他の遠隔デバイスとの間でファイルを転送する。例えば、１つの実施形態では、処理２００は、セキュアハイパーテキスト転送プロトコル（ＨＴＴＰＳ）のようなプロトコルを使用してファイルを転送及び受信することができる。代替の実施形態では、処理２００は、ファイルを転送するための当該技術分野で公知の他のファイル転送プロトコル（例えば、ファイル転送プロトコル（ＦＴＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、サーバメッセージブロック（ＳＭＢ）、アップルファイリングプロトコル（ＡＦＰ）など）を使用することができる。ファイルの転送は、以下の図４Ａ−Ｂで更に説明する。
【００２５】
ブロック２０６において、処理２００は、処理２００を実行しているデバイスと他の遠隔デバイスとの間での閲覧が利用可能なファイルを閲覧する。例えば、１つの実施形態では、処理２００は、ＨＴＴＰＳプロトコルを使用することによってファイル及び／又はディレクトリのリストを要求し、同様のこのような要求を受信することができる。代替の実施形態では、処理２００は、ファイル閲覧要求を送信及び受信するための当該技術分野で公知の他のプロトコル（例えば、ＦＴＰ、ＨＴＴＰ、ＳＭＢ、ＡＦＰなど）を使用することができる。ファイル閲覧は、以下の図５Ａ−Ｂで更に説明する。
【００２６】
図３は、アドホックファイル共有サービスをイネーブルにし通知するための処理３００の１つの実施形態のフロー図である。図３では、処理３００は、ブロック３０２において、アドホックファイル共有サービスをイネーブルにすることから始まる。１つの実施形態では、処理３００は、アドホックファイル共有サービスを制御する処理を起動する。起動されると、処理３００を実行しているデバイスは、ファイル転送及びファイル閲覧要求を送信、受信、及び実行できるようになる。１つの実施形態では、処理３００は、アドホックファイル共有サービスをイネーブルにする。１つの実施形態では、処理３００は、以下で図６において説明される会議室アイコンのようなユーザインタフェースにおけるサービスを表すアイコンをクリックすることによって、このサービスをイネーブルにする。
【００２７】
処理３００は、ブロック３０４において、必要に応じて関連のネットワーキングサービスを立ち上げる。１つの実施形態では、処理３００は、Ｗｉ−Ｆｉ、ブルートゥース、セルラーデータ、赤外線、有線ネットワーキング（イーサネットなど）、及び／又はこれらの組み合わせを立ち上げることができる。１つの実施形態では、処理３００は、ブロック３０４において、実施可能なネットワーキングサービスの全てを立ち上げるが、代替の実施形態では、処理３００は、ネットワークサービスの１つ又は一部を立ち上げる（例えば、処理３００は、Ｗｉ−Ｆｉ又はＷｉ−Ｆｉとブルートゥースを立ち上げる）。この代替の実施形態では、処理３００が立ち上げるネットワーキングサービスは、構成ファイル及び／又はパラメータによって制御される。更なる実施形態では、処理３００は、近接した範囲にある、処理３００が検出するネットワーキングサービスを立ち上げる。例えば、１つの実施形態では、処理３００は、ＬＡＮからＷｉ−Ｆｉネットワーク（例えば、ＬＡＮが利用可能であることを通知するＷｉ−Ｆｉアクセスポイント）を検出し、デバイス上でＷｉ−Ｆｉネットワーキングサービスを立ち上げて、その結果、デバイスが当該ＬＡＮと自動的に接続することができるようになる。代替として、処理３００は、可能性のあるポイント−ツーポイントネットワーキングサービス（Ｗｉ−Ｆｉポイントツーポイント又はアドホックＷｉ−Ｆｉ、ブルートゥース、赤外線、その他）を有するよう通知する別のデバイスを検出し、関連のネットワーキングサービスを立ち上げて、その結果、デバイスは、ポイントツーポイントネットワーキング接続を築くために他のデバイスと自動的に接続することができる。例えば、１つの実施形態では、処理３００は、Ｗｉ−Ｆｉサービスを通知する別のデバイスを検出し、処理３００は、処理３００を実行しているデバイスにＷｉ−Ｆｉサービスを立ち上げる。
【００２８】
ブロック３０４において、処理３００は、アドホックファイル共有サービスの存在を通知する。１つの実施形態では、処理３００は、そのデバイスが構成したネットワーク接続上で通知パケットを送信する。１つの実施形態では、アドホックファイル共有サービスは、Ｂｏｎｊｏｕｒ（ボンジュール）サービス発見プロトコルを使用して、利用可能なネットワーク接続を通じてアドホックファイル共有サービスを他のデバイスに通知する。例えば、１つの実施形態では、デバイス１０２Ａは、ボンジュールサービス発見プロトコルを使用して、ネットワーク接続１０４Ａ及び１０４Ｃをそれぞれ使用してデバイス１０２Ｂ−Ｃにアドホックファイル共有サービスを通知する。当該技術分野で公知の他の種類の通知は、アドホックファイル共有サービスの存在を通知するのに使用することができる（ユニキャスト、ブロードキャスト、マルチキャスト通知など）。
【００２９】
１つの実施形態では、通知パケットは、通知されるアドホックファイル共有サービスに関連付けられるユーザの識別情報を含む。例えば、１つの実施形態では、処理３００は、電子メールアドレス、アップルＩＤ、ＭｏｂｉｌｅＭｅ（モバイルミー）ＩＤ、ソーシャルネットワーク識別情報、このような識別子のハッシュ（例えば、セキュアハッシュアルゴリズム（ＳＨＡ）−１又は当該技術分野で公知の他のハッシュアルゴリズム、その他）、キーとして使用される数字、可読性の高い名前（例えば、ファーストネーム、ラストネーム、及び／又はこれらの組み合わせなど）、汎用一意識別子（ＵＵＩＤ）（例えば、グローバル一意であるキーとして使用される数字）、認証「指紋」（例えば、Ｘ５０９認証に関連付けられる数字ハッシュ）、電話番号、他のようなユーザの識別情報を含む。更に、ユーザ識別情報は、そのユーザに対する既知の識別子のリスト（例えば、同じ及び／又は異なる種類の複数の識別子、その他）とすることができる。１つの実施形態では、識別情報のハッシュが使用される場合、通知を受信するデバイスは、通知に格納された識別データに一致する既知の識別情報のセット（例えば、公知の電子メールアドレス、ソーシャルネットワーキング識別情報、その他）に対し類似のハッシュを使用することになる。この実施形態によって、電子メールアドレス又は他の識別情報をプレーンテキストで送信することなく通知を送信することが可能となる。別の実施形態では、認証「指紋」は、キーとして使用される数字の変形形態であり、付加的な構文が、ユーザの認証と一意に関連付けられ、これは、セキュアファイル転送を暗号化するのにも使用することができる。
【００３０】
図３Ｂは、アドホックファイル共有サービス通知を受信する処理３５０の実施形態を示すフロー図である。図３Ｂでは、処理３５０は、ブロック３５２において、アドホックファイル共有サービス通知を受信することから始まる。１つの実施形態では、アドホックファイル共有通知は、通知を送信したデバイスからのアドホックファイル共有サービスの可用性の表示である。更に、１つの実施形態では、通知パケットは、上記に説明されたように通知されるアドホックファイル共有サービスに関連付けられるユーザの識別情報を含む。
【００３１】
ブロック３５４において、処理３５０は、通知を送信しているデバイスが処理３５０を実行しているデバイスに知られているかどうかを判定する。１つの実施形態では、処理３５０は、利用可能なアドホックファイル共有サービスを有することが知られているデバイスのリストを維持する。アドホックファイル共有サービスが知られていない場合、処理３５０は、ブロック３５６において、利用可能なアドホックファイル共有サービスを備えた公知のデバイスのリストにデバイスを追加する。１つの実施形態では、利用可能なアドホックファイル共有サービスを備えた遠隔デバイスの存在は、ファイル共有接続が確立されていることを必ずしも意味しない。この実施形態では、ファイル共有接続を、遠隔デバイスのアドホックファイル共有サービスを使用してファイルを転送及び／又は閲覧する試みによって確立することができる。ファイル共有接続の確立は、以下の図４Ａ及び５Ａで更に説明する。処理３５０の実行はブロック３５８に進む。
【００３２】
通知を送信しているデバイスが処理３５０を実行しているデバイスに知られている場合、処理３５０は、ブロック３５８において、アドホックファイル共有サービスの可用性の表示を更新する。１つの実施形態では、処理３５０は、以下の図６で説明されるようにＵＩに遠隔アドホックファイル共有サービスの可用性を表示する。
【００３３】
上述のように、アドホックファイル共有サービスは、異なるデバイス間でファイルを転送するのに使用される。図４Ａ，Ｂは、アドホックファイル共有サービスを使用してファイルを転送するための処理の実施形態のフロー図である。詳細には、図４Ａは、アドホックファイル共有サービスを使用してファイルを受信するための処理４００の１つの実施形態のフロー図である。図４Ａは、処理４００がブロック４０２においてアドホックファイルシステムからファイルを受信する要求を受け取ることから始まる。１つの実施形態では、処理４００は、処理４００を実行しているデバイスにファイルを送信するＨＴＴＰＳ要求を受信する。代替として、処理４００は、当該技術分野で公知の別の種類のファイル転送要求（ＦＴＰ、ＨＴＴＰなど）を受信することができる。例えば、１つの実施形態では、処理４００は、ファイルを識別するＨＴＴＰＳ要求及びファイルの送信を望む送信側デバイスの識別情報を受信する。上述のように、識別情報は、電子メールアドレス、ソーシャルネットワーク識別情報、外部サービス識別情報（ツイッター識別情報、アップルＩＤ、モバイルミーＩＤ、又はある他の公知のサービス識別情報、その他など）、及び／又はこのような識別情報のハッシュ、その他とすることができる。
【００３４】
ブロック４０４において、処理４００は、データの送信を要求しているデバイスによって確立されたファイル共有接続があるかどうかを判定する。１つの実施形態では、ファイル共有接続は、確立した接続であり、第１デバイスのユーザは、別のユーザがアドホックファイル共有サービスにアクセスするのを許可している。２つのデバイス間でこのファイル共有接続を確立することによって、ファイル共有のポイントツーポイント特性が確立される。この実施形態では、初期ユーザが第１デバイスのアドホックファイル共有サービスへのアクセスを他のユーザに許可すると、他のユーザは、ファイルの表示、検索、及び／又は第１デバイスへの送信を行うことができる。１つの実施形態では、アドホックファイル共有へのアクセスが一方向で認可されるが、代替の実施形態では、１方向にアクセスすると、自動的に逆方向へのアクセスが認可される（例えば、ユーザＡが、ユーザＡのデバイスの検索、及び／又はユーザＡのデバイスへのファイルの送信の許可をユーザＢに認可すると、ユーザ８のデバイスの検索、及び／又はユーザ８のデバイスへのファイルの送信をするためユーザＡへのアクセスが認可される）。１つの実施形態では、処理４００は、アドホックファイル共有サービスに関連付けられる識別情報を探し、その識別情報に関連付けられたデバイスがファイル共有接続を確立しているかどうかを判定する。識別情報は、電子メールアドレス、ソーシャルネットワーク識別情報、外部サービス識別情報（例えば、ツイッター識別情報、アップルＩＤ、モバイルミーＩＤ、又は他の何らかの公知のサービス識別情報、その他）とすることができる。更に、１つの実施形態では、識別情報は、上記に列挙された識別情報のハッシュ（例えば、セキュアハッシュアルゴリズム（ＳＨＡ）−１、その他）とすることができる。
【００３５】
ファイル共有接続がファイルの送信を要求しているデバイスとの間に確立されていないと処理４００が判定した場合、ブロック４１０において、処理４００は、処理４００を実行しているデバイスのユーザにファイルを受信する要求を提示する。１つの実施形態では、処理４００は、処理４００を実行しているデバイスのユーザに、アドホックファイル共有サービスを介して別のデバイスがファイルを送信したいことを示すユーザインタフェース（ＵＩ）ダイアログを提示する。加えて、この実施形態では、ファイル転送要求を受け付けることによって、ファイル共有接続が２つのデバイス間に確立される。例えば、１つの実施形態では、処理４００は、受信側デバイスにファイルの名前及びファイルを送信したいデバイスに関連付けられるユーザを示すＵＩユーザインタフェースダイアログを提示する。
【００３６】
ブロック４１２において、処理４００は、その要求が受け付けられたかどうか、又は要求が受け付けられなかったかどうかを判定する。要求が受け付けられなかった場合、ブロック４１４において、処理４００は要求を拒否する。１つの実施形態では、処理４００は、ファイル転送要求が拒否された旨のメッセージ、リターンコード、又は他の種類の指示子を、ファイルを送信したいデバイスに送信する。要求がブロック４１２で受け付けられた場合、処理４００は、ブロック４０６においてファイルを受信する。処理４００の実行は、以下に説明されるブロック４０８に進む。
【００３７】
ブロック４０４において、ファイル共有接続がファイルの送信を要求しているデバイスとの間に確立されたと処理４００が判定した場合、ブロック４０６において、処理４００はファイルを受信する。ブロック４０８において、処理４００は、アドホックファイル共有サービスのために使用されるファイルリポジトリにファイルを格納する。例えば、１つの実施形態では、処理４００は、図１において上述したように、受信したファイルをアドホックファイルリポジトリ１０８Ａ−Ｃに格納する。
【００３８】
図４Ｂは、アドホックファイル共有サービスを使用してファイルを送信するための処理４５０の１つの実施形態のフロー図である。図４Ｂでは、処理４５０は、ブロック４５２において、アドホックファイル共有サービスを介して別のデバイスにファイルを送信する要求を送信することから始まる。１つの実施形態では、処理４５０は、ファイルの名前及びファイルを送信したいユーザの識別情報を含むＨＴＴＰＳ要求を使用して要求を送信する。１つの実施形態では、識別情報は、電子メールアドレス、ソーシャルネットワーク識別情報、外部サービス識別情報（ツイッター識別情報、アップルＩＤ、モバイルミーＩＤ、又は他の何れかの公知のサービス識別情報、その他）、その他とすることができる。更に、１つの実施形態では、識別情報は、上記に列挙された識別情報のハッシュ（例えば、セキュアハッシュアルゴリズム（ＳＨＡ）−１、その他）とすることができる。
【００３９】
ブロック４５４において、処理４５０は、送信が受け付けられたかどうかを判定する。例えば、１つの実施形態では、処理４５０は、転送要求が他のデバイスからの応答（例えば、リターンコード、応答メッセージなど）に基づいて受け付けられたかどうかを判定する。要求が受け付けられなかった場合、ブロック４５８において、処理４５０はファイルを転送しない。要求がブロック４５４において受け付けられた場合、ブロック４５６において、処理４５０はファイルを転送する。
【００４０】
上述のように、アドホックファイル共有サービスによって、ユーザは、アドホックファイル共有サービスを介して見ることができるファイルを転送すると同時に、遠隔デバイスにおいてファイルを閲覧することができる。図５Ａ，Ｂは、アドホックファイル共有サービスを使用してファイルを閲覧するための処理５００の１つの実施形態のフロー図である。図５Ａは、アドホックファイル共有サービスを使用してファイル閲覧を可能にするための処理５００の１つの実施形態のフロー図である。図５Ａは、ブロック５０２において、アドホックファイル共有サービスからファイル閲覧要求を受信する処理５００から始まる。１つの実施形態では、処理５００は、処理５００を実行しているデバイスへのファイルを閲覧するためのＨＴＴＰＳ要求を受信する。代替として、処理５００は、別の種類の要求（ＦＴＰ、ＨＴＴＰ、その他）を受信することができる。例えば、１つの実施形態では、処理５００は、閲覧されることになるファイルディレクトリの識別情報、（任意選択的に）ファイルリストに加えるべきあらゆるフィルタ、及び／又はファイルの閲覧を望む送信側デバイスの識別情報を含むＨＴＴＰＳ要求を受信する。上述のように、識別情報は、電子メールアドレス、ソーシャルネットワーク識別情報、外部サービス識別情報（例えば、ツイッター識別情報、アップルＩＤ、モバイルミーＩＤ、又はある他の公知のサービス識別情報、その他）、及び／又はこのような識別情報のハッシュ、その他とすることができる。１つの実施形態では、ファイル閲覧要求に含まれるファイルフィルタは、フィルタに一致したファイル及び／又はディレクトリのリストに戻されるファイル及び／又はディレクトリの結果を制限するフィルタである。例えば、１つの実施形態では、フィルタは、ファイル及び／又はディレクトリのリストを、フィルタ“*．ｅｘｅ”に一致するファイル及び／又はディレクトリのリストに制限するフィルタとすることができる。代替として、閲覧ファイル要求においてファイルフィルタが存在しない場合もある。
【００４１】
ブロック５０４において、処理５００は、ファイルの閲覧を要求しているデバイスとの間に確立されたファイル共有接続が存在するかどうかを判定する。上述のように、第１デバイスに対するファイル共有接続は、第１デバイスのユーザが別のデバイスの別のユーザにファイルの送信又は閲覧を認可した時に確立される。２つのデバイスの間にこのファイル共有接続を確立することによって、ファイル共有のポイントツーポイント特性が確立される。この実施形態では、初期ユーザが、第１デバイスのアドホックファイル共有サービスにアクセスする許可を他のユーザに与えると、他のユーザは、ファイルの表示、検索、及び／又はファイルの第１デバイスへの送信を行うことができる。１つの実施形態では、処理５００は、上記の図４のブロック４０４において説明されたように、アドホックファイル共有サービスに関連付けられる識別情報を探す。
【００４２】
ファイルの送信を要求しているデバイスとの間にファイル共有接続が確立されていないと処理５００が判定した場合、ブロック５１０において、処理５００は、処理５００を実行しているデバイスのユーザにファイル閲覧要求を受信する要求を提示する。１つの実施形態では、処理５００は、処理５００を実行しているデバイスのユーザにアドホックファイル共有サービスを介してユーザのアドホックファイル共有リポジトリを閲覧することを別のデバイスが望む旨を示すユーザインタフェース（ＵＩ）ダイアログを提示する。加えて、この実施形態では、ファイル閲覧要求を受け付けることによって、ファイル共有接続が、２つのデバイスの間に確立される。例えば、１つの実施形態では、処理５００は、受信側デバイスのファイル共有リポジトリの閲覧を望んでいるデバイスに関連付けられるユーザを示すＵＩユーザインタフェースダイアログを提示する。
【００４３】
ブロック５１２において、処理５００は、要求が受け付けられたかどうか、又は要求が受け付けられなかったかどうかを判定する。要求が受け付けられなかった場合、ブロック５１４において、処理５００は要求を拒否する。１つの実施形態では、処理５００は、ファイル共有リポジトリの閲覧を望むデバイスに、ファイル閲覧要求が拒否された旨のメッセージ、リターンコード、又は他の種類の指示子を送信する。要求がブロック５１２で受け付けられた場合、処理５００は、ブロック５０６において、ファイル閲覧要求を実行する。１つの実施形態では、処理５００は、ファイル閲覧要求に存在するファイルフィルタ（もしあれば）における基準を満たすファイル及び／又はディレクトリのリストを組み立てることによってファイル閲覧要求を実行し、ファイル閲覧要求を最初に行ったデバイスにこのリストを送信する。
【００４４】
ブロック５０４において、ファイル共有接続がファイルの送信を要求しているデバイスとの間に確立されたと処理５００が判定した場合、ブロック５０６において、処理５００は、上述のように、ファイル閲覧要求を実行する。
【００４５】
図５Ｂは、アドホックファイル共有サービスを使用してファイル閲覧要求を送信する処理５５０の１つの実施形態のフロー図である。図５Ｂでは、処理５５０が、ブロック５５２において、アドホックファイル共有サービスを介して別のデバイスにファイル閲覧要求を送信することから始まる。１つの実施形態では、処理は、ファイルの名前、ファイルの送信を要求しているユーザの識別情報、及び任意選択的にファイルフィルタを含むＨＴＴＰＳ要求を使用して要求を送信する。１つの実施形態では、識別情報は、電子メールアドレス、ソーシャルネットワーク識別情報、外部サービス識別情報（例えば、ツイッター識別情報、アップルＩＤ、モバイルミーＩＤ、又は他の何れかの公知のサービス識別情報、その他）、その他とすることができる。更に、１つの実施形態では、識別情報は、上記に列挙された識別情報のハッシュ（例えば、セキュアハッシュアルゴリズム（ＳＨＡ）−１、その他）とすることができる。
【００４６】
ブロック５５４において、処理５５０は、ファイル閲覧が受け付けられたかどうかを判定する。例えば、１つの実施形態では、処理５５０は、ファイル閲覧要求が他のデバイスからの応答（例えば、リターンコード、応答メッセージ、その他）に基づいて受け付けられたかどうかを判定する。要求が受け付けられなかった場合、ブロック５６０において、処理５５０は失敗を信号送信する（例えば、ユーザインタフェースダイアログなどを提示する）。要求がブロック５５４で受け付けられた場合、処理５００は、図５のブロック５５６に関して説明されるようにファイル閲覧要求の結果を受信する。
【００４７】
ブロック５５８において、処理５００は、ファイルシステム閲覧の結果を提示する。１つの実施形態では、処理５００は、他のデバイスのアドホックファイル共有リポジトリのコンテンツを示すＵＩを更新する。例えば、１つの実施形態では、処理５５０は、以下で図６において説明されるように、ＵＩのファイル表示部分を更新する。
【００４８】
図６は、アドホックファイル共有サービスによるファイル共有及び閲覧を示すファイル共有ＵＩ６００のブロック図である。図６では、ファイル共有ＵＩ６００は、ＵＩの３つの別個の部分を含み、異なるエンティティである、ユーザ構成可能表示６０２、ファイル表示６０４、及び会議室表示６０６を表示する。ユーザ構成可能部分６０２は、デバイス６０８Ａ、共有部分６０８Ｂ、場所６０８Ｃ、及び会議室６０８Ｄを表す１つのＵＩアイコンを含む。１つの実施形態では、デバイス６０８Ａに対する１つ又はそれ以上のアイコンは、ＵＩを表示しているデバイスに取り付けられた１つ又はそれ以上のデバイス（例えば、ハードディスク、取り外し可能記憶装置、プリンタ、その他、及び／又は当該技術分野で公知の他の取り付け可能デバイス）のリストに対するＵＩアイコンを含むことができる。更に、１つの実施形態では、共有表示６０８Ｂは、ＵＩを表示しているデバイスのための異なる共有デバイス（例えば、他のコンピュータ、ネットワーク取り付け周辺デバイス、その他、及び／又は当該技術分野で公知の他のネットワークアクセス可能デバイス）を表す１つ又はそれ以上のアイコンを含むことができる。１つの実施形態では、場所表示６０８Ｃは、ＵＩを表示しているデバイスのユーザによって共通に使用されるディレクトリ（例えば、デスクトップ、アプリケーション、文書、ムービー、フォト、音楽、動画、その他、及び／又は他のユーザ構成可能ディレクトリ）を表す。
【００４９】
１つの実施形態では、会議室６０８Ｄは、ＵＩ６００を提示しているデバイスのアドホックファイル共有サービスを表す１つ又はそれ以上のアイコンのセットである。１つの実施形態では、会議室６０８Ｄのアイコンの１つがクリックされた時に、アドホックファイル共有リポジトリのファイル及び／又はディレクトリがファイル表示６０４に列挙される。ファイル及び／又はディレクトリは、当該技術分野で公知の何れかの方式で、例えばアルファベット順の列挙、日付毎の並べ替え、サイズ毎の並べ替え、異なるアイコンによる表示、ファイル及び／又はディレクトリの一部を示すためのフィルタリング、その他、及び／又はこれらの組み合わせで列挙することができる。
【００５０】
更に、図６では、会議室表示６０６は、ＵＩ表示６００を提示しているデバイスが利用できる異なる会議室６１２Ａ−Ｃを含む。１つの実施形態では、各会議室６１２Ａ−Ｃは、１つ又はそれ以上のデバイスにおけるアドホックファイル共有サービスを表す。１つの実施形態では、１つのデバイスに対して複数の同時アドホックファイル共有サービスが存在することができる。例えば、１つの実施形態では、例えば、２つのグラフィカルユーザセッション（例えば、デバイスに利用可能な高速ユーザ切り替えを使用することによって）が存在することができ、各ユーザは、各セッションにおいて会議室にいることができる。この場合、１人のユーザは、ある時間にコンソールを使用することができ、１人だけが他のユーザと対話しファイルを受け付け／拒否／送信することができる。別の実施形態では、複数のユーザが、仮想スクリーンによってスクリーン共有を使用することができる。この実施形態では、デバイスにおける会議室の２つの同時インスタンスが存在することになる。
【００５１】
例えば、１つの実施形態では、ローカル会議室６１２は、ＵＩ６００を提示しているデバイスにおけるアドホックファイル共有サービスを表すアイコンである。更に、この実施例では、遠隔会議室６１２Ｂ−Ｃは、ＵＩ６００を提示するデバイスに結合された遠隔デバイスにおけるアドホックファイル共有サービスを表すアイコンである。例えば、１つの実施形態では、デバイス１０２ＡがＵＩ６００を提示している場合、ローカル会議室６１２Ａは、デバイス１０２Ａにおけるアドホックファイル共有サービスを表し、遠隔会議室６１２Ｂ−Ｃは、デバイス６１２Ｂ−Ｃそれぞれにおけるアドホックファイル共有サービスを表す。
【００５２】
１つの実施形態では、ユーザは、ファイル表示６０４及び／又はローカル会議室６１２Ａのアイコン上にファイルをドラッグ及びドロップすることによって、アドホックファイル共有サービスにファイル及び／又はディレクトリを追加することができる。更に、１つの実施形態では、要求される遠隔会議室アイコン（例えば、会議室６１２Ｂ−Ｃ）上に１つ又はそれ以上のファイル及び／又はディレクトリをドロップすることによって、１つ又はそれ以上のファイル及び／又はディレクトリを遠隔アドホックファイリングシステムに転送することができる。１つの実施形態では、遠隔アドホックファイル共有リポジトリのファイルを閲覧するために、ユーザは、関心の遠隔アドホックファイル共有サービスを表すアイコン、例えば会議室６１２Ｂ又はＣをクリックすることができる。この実施形態では、会議室６１２Ｂ又はＣをクリックすることによって、対応するアドホックファイルリポジトリ１０８Ｂ又はＣのファイル及び／又はディレクトリのリストが、ファイル表示６０４に表示される。例えば、１つの実施形態では、デバイス１０２Ｂに対応する会議室６１２Ｂをクリックすることによって、アドホックファイルリポジトリのファイル及び／又はディレクトリのリストが表示される。１つの実施形態では、そのアドホックファイル共有リポジトリのファイル及び／又はディレクトリの全てが列挙されるが、代替の実施形態では、ファイル及び／又はディレクトリの一部が列挙される（例えば、当該技術分野で公知のようにファイルフィルタを使用してフィルタリングされる、ディレクトリ毎に編成された通りに表示される、当該技術分野で公知の様々な方法で並べ替えられる等々）。
【００５３】
１つの実施形態では、デバイスのユーザは、遠隔アドホックファイル共有サービスからローカルデバイスに要求されるファイルをドラッグ及びドロップすることによって、１つ又はそれ以上のファイル及び／又はディレクトリを遠隔デバイスからローカルデバイスに提供することができる。例えば、１つの実施形態では、ユーザは、遠隔デバイスのアドホックファイル共有サービスにおいて遠隔で利用できるファイルを表示しているファイル表示６０４から１つ又はそれ以上のファイルをドラッグ及びドロップし、これらの選択されたファイルをユーザのローカルデバイスのデスクトップ上にドロップすることができる。これは、遠隔デバイスのアドホックファイル共有リポジトリからユーザのデバイスのデスクトップにこれらの選択されたファイルを転送する効果を有する。
【００５４】
図７は、アドホックファイル共有を実行するアドホックファイル共有モジュール１０６のブロック図である。１つの実施形態では、アドホックファイル共有モジュール１０６Ａ−Ｃは、アドホックファイル共有モジュール１０６を使用する。図７では、アドホックファイル共有モジュール１０６は、アドホックファイル共有サービスイネーブルモジュール７０２、ファイル共有モジュール７０４、及びファイル閲覧モジュール７０６を含む。１つの実施形態では、アドホックファイル共有サービスイネーブルモジュール７０２は、上記の図２のブロック２０２において説明されたようにアドホックファイル共有サービスをイネーブルにする。ファイル共有モジュール７０４は、上記の図２のブロック２０４において説明されたようにアドホックファイル共有サービスを使用してファイルを転送する。ファイル閲覧モジュール７０６は、上記の図２のブロック２０２において説明されたようにアドホックファイル共有サービスを使用してファイル及び／又はディレクトリを閲覧する。
【００５５】
図８Ａは、アドホックファイル共有サービスをイネーブルにして通知するアドホックファイル共有イネーブルモジュール７０２のブロック図である。図８Ａでは、アドホックファイル共有イネーブルモジュール７０２は、アドホックファイル共有サービスイネーブルモジュール８０２、ネットワーキングチャネルモジュール８０４、通知モジュール８０６、及びファイルリポジトリイネーブルモジュール８０８を含む。アドホックファイル共有サービスイネーブルモジュール８０２は、上記の図３Ａのブロック３０２において説明されたようにアドホックファイル共有サービスをイネーブルにする。ネットワーキングチャネルモジュール８０４は、上記の図３Ａのブロック３０４において説明されたように必要に応じてネットワーキングチャネルを立ち上げる。通知モジュール８０６は、上記の図３Ａのブロック３０６において説明されたように、アドホックファイル共有サービスの可用性を通知する。ファイルリポジトリイネーブル８０８は、上記の図３Ａのブロック３０２において説明されたように、アドファイル共有リポジトリをイネーブルにする。
【００５６】
図８Ｂは、アドホックファイル共有サービスの通知を受信する通知受信モジュール８５０のブロック図である。図８Ｂでは、通知受信モジュール８５０は、通知受信モジュール８５２、デバイス追加モジュール８５４、及び表示更新８５６を含む。通知受信モジュール８５２は、上記の図３Ｂのブロック３５２において説明されたようにアドホックファイル共有通知を受信する。デバイス追加モジュール８５４は、上記の図３Ｂのブロック３５４において説明されたように利用可能な公知のアドホックファイル共有サービスのリストにデバイスを追加する。表示更新８５６は、上記の図３Ｂのブロック３５８において説明されたようにアドホックファイル共有サービスの可用性の表示を更新する。
【００５７】
図９Ａ、Ｂ、Ｃは、アドホックファイル共有サービスを使用してファイルを転送するファイル転送モジュールのブロック図である。図９Ａは、ファイルを転送するファイル転送モジュール７０４のブロック図である。図９Ａでは、ファイル転送モジュール７０４は、ファイル受信モジュール９０２及びファイル転送モジュール９０４を含む。ファイル受信モジュール９０２は、上記の図５Ａにおいて説明されたようにファイルを受信する。ファイル転送モジュール９０４は、上記の図５Ｂにおいて説明されたようにファイルを転送する。
【００５８】
図９Ｂは、ファイルを受信するファイル受信モジュール９０２のブロック図である。図９Ｂでは、ファイル受信モジュール９０２は、ファイル受信要求モジュール９１０、ファイル共有接続設定モジュール９１２、ファイル受信モジュール９１４、ファイル格納モジュール９１６、要求提示モジュール９１８、及びエラーモジュール９２０を含む。ファイル受信要求モジュール９１０は、上記の図４Ａのブロック４０２において説明されたようにファイル転送要求を受信する。ファイル共有接続設定モジュール９１２は、上記の図４Ａのブロック４１６において説明されたようにファイル共有接続を確立する。ファイル受信モジュール９１４は、上記の図４Ａのブロック４０６において説明されたようにファイルを受信する。ファイル格納モジュール９１６は、上記の図４Ａのブロック４０８において説明されたようにアドホックファイルリポジトリにファイルを格納する。要求提示モジュール９１８は、上記の図４Ａのブロック４１０において説明されたようにファイルを受信する要求を提示する。エラーモジュール９２０は、上記の図４Ａのブロック４１４において説明されたようにファイル転送要求を拒否する。
【００５９】
図９Ｃは、ファイルを送信するファイル転送モジュール９０４のブロック図である。図９Ｂでは、ファイル転送モジュール９０２は、ファイル転送要求モジュール９３０、ファイル転送モジュール９３２、及びエラーモジュール９３４を含む。ファイル転送要求モジュール９３０は、上記の図４Ａのブロック４５２において説明されたようにファイル転送要求を転送する。ファイル転送モジュール９３２は、上記の図４Ａのブロック４５６において説明されたようにファイルを送信する。エラーモジュール９３４は、上記の図４Ａのブロック４６８において説明されたようにファイル転送要求を拒否する。
【００６０】
図１０Ａ、Ｂ、Ｃは、アドホックファイル共有サービスを使用してファイルを閲覧するファイル閲覧モジュールのブロック図である。図１０Ａは、アドホックファイル共有サービスを使用してファイルを閲覧するファイル閲覧モジュール７０６のブロック図である。図１０Ａでは、ファイル閲覧モジュール７０６は、ファイル閲覧受信モジュール１００２及びファイル閲覧取得モジュール１００４を含む。ファイル閲覧受信モジュール１００２は、上記の図５Ａにおいて説明されたように遠隔閲覧要求に応答する。ファイル閲覧取得モジュール１００４は、上記の図５Ｂにおいて説明されたように遠隔コンピュータを閲覧する。
【００６１】
図１０Ｂは、アドホックファイル共有サービスを使用して遠隔閲覧要求に応答するファイル閲覧受信モジュール１００２のブロック図である。図１０Ｂでは、ファイル閲覧受信モジュール１００２は、ファイル閲覧要求受信モジュール１０１０、ファイル共有接続設定モジュール１０１２、ファイル閲覧満足モジュール１０１４、ファイル閲覧提示モジュール１０１６、及び要求拒否１０１８を含む。ファイル閲覧要求受信モジュール１０１０は、上記の図５Ａのブロック５０２において説明されたようにファイル閲覧要求を受信する。ファイル共有接続設定モジュール１０１２は、上記の図５Ａのブロック５０８において説明されたようにファイル共有接続を確立する。ファイル閲覧満足モジュール１０１４は、上記の図５Ａのブロック５０６において説明されたようにファイル共有閲覧ファイルリポジトリを満足させる。このファイル閲覧提示モジュール１０１６は、上記の図５Ａのブロック５１０において説明されたようにファイル閲覧要求を提示する。要求拒否１０１８は、上記の図５Ａのブロック５１４において説明されたようにファイル閲覧要求を拒否する。
【００６２】
図１０Ｃは、アドホックファイル共有サービスを使用して遠隔コンピュータを閲覧するファイル閲覧取得モジュール１００４のブロック図である。図１０Ｃでは、ファイル閲覧取得モジュール１００４は、ファイル閲覧要求送信モジュール１０３０、閲覧結果受信モジュール１０３２、ファイル閲覧提示モジュール１０３４、及びエラーモジュール１０３６を含む。ファイル閲覧要求送信モジュール１０３０は、上記の図５Ｂのブロック５５２において説明されたようにファイル閲覧要求を送信する。ファイル閲覧要求送信モジュール１０３０は、上記の図５Ｂのブロック５５６において説明されたようにファイル閲覧要求を送信する。ファイル閲覧提示モジュール１０３４は、上記の図５Ｂのブロック５５８において説明されたようにファイル閲覧結果を提示する。エラーモジュール１０３６は、上記の図５Ａのブロック５６０において説明されたようにファイル閲覧要求を拒否する。
【００６３】
図１１は、本発明の１つの実施形態と共に使用することができるデータプロセッシングシステム１１００の１つの実施例を示す。例えば、図１に示されたホストを含むシステム１１００を実施することができる。図１１はコンピュータシステムの様々な構成要素を示しているが、このような詳細事項は本発明とは関係がないので、構成要素を相互接続する何れかの特定のアーキテクチャ又は方式を説明することを意図していない点に留意されたい。より少ない構成要素又は場合によってはより多くの構成要素を有するネットワークコンピュータ及び他のデータプロセッシングシステム又は他の消費者電子デバイスを本発明で使用してもよい点は理解されるであろう。
【００６４】
図１１に示されるように、データプロセッシングシステムの形式であるコンピュータシステム１１００は、マイクロプロセッサ１１０５及びＲＯＭ（読出し専用メモリ）１１０７及び揮発性ＲＡＭ１１０９及び不揮発性メモリ１１１１に結合されるバス１１０３を含む。マイクロプロセッサ１１０５は、メモリ１１０７、１１０９、１１１１から命令を検索し、上記に説明された動作を実行するために命令を実行することができる。バス１１０３は、これらの様々な構成要素を互いに相互接続し、これらの構成要素１１０５、１１０７、１１０９、及び１１１１を、ディスプレイコントローラ及びディスプレイデバイス１１１３、及びマウス、キーボード、モデム、ネットワークインタフェース、プリンタ及び当該技術分野で公知の他のデバイスとすることができる入力／出力（Ｉ／Ｏ）デバイスのような周辺デバイスに相互接続する。典型的には、入力／出力デバイス１１１５は、入力／出力コントローラ１１１７を介してシステムに結合される。揮発性ＲＡＭ（ランダムアクセスメモリ）１１０９は、典型的には、メモリのデータをリフレッシュ又は維持するために継続して電力を必要とする動的ＲＡＭ（ＤＲＡＭ）として実装される。
【００６５】
大容量記憶装置１１１１は、典型的には、電力がシステムから取り除かれた後でもデータ（大量のデータなど）を維持する磁気ハードドライブ又は磁気光学ドライブ又は光学ドライブ又はＤＶＤ  ＲＡＭ又はフラッシュメモリ又は他の種類のメモリシステムである。典型的には、大容量記憶装置１１１１は、必須ではないが、ランダムアクセスメモリとすることもできる。図１１は、大容量記憶装置１１１１がデータプロセッシングシステムにおける構成要素の残りの部分に直接結合されたローカルデバイスであることを示しているが、本発明は、モデム、イーサネットインタフェース又は無線ネットワークのようなネットワークインタフェースを介してデータプロセッシングシステムに結合されるネットワーク記憶装置のようにシステムから遠隔にある不揮発性メモリを利用できることが理解されるであろう。バス１１０３は、当該技術分野で公知の様々なブリッジ、コントローラ及び／又はアダプタを介して互いに接続された１つ又はそれ以上のバスを含むことができる。
【００６６】
図１２は、本発明の１つの実施形態と共に使用することができる別のデータプロセッシングシステム１２００の実施例を示す。例えば、システム１２００は、図１に示されるようなポータブル記憶装置として実装することができる。図１２に示されるデータプロセッシングシステム１２００は、１つ又はそれ以上のマイクロプロセッサとすることができ、又はチップ集積回路上のシステムとすることができるプロセッシングシステム１２１１を含み、このシステムはまた、プロセッシングシステムによって実行するためのデータ及びプログラムを格納するメモリ１２０１を含む。システム１２００はまた、オーディオ入力／出力サブシステム１２０５を含み、これは、例えば、スピーカ及びマイクロフォンを介して音楽を再生し又は電話機能を提供するマイクロフォン及びスピーカを含むことができる。
【００６７】
ディスプレイコントローラ及びディスプレイデバイス１２０９は、ユーザに視覚的ユーザインタフェースを提供し、このデジタルインタフェースは、ＯＳ  Ｘオペレーティングシステムソフトウエアを実行した時にＭａｃｉｎｔｏｓｈコンピュータ上で、或いはｉＯＳオペレーティングシステムを実行した時にＡｐｐｌｅのｉＰｈｏｎｅ上に表示されるものに類似したグラフィカルユーザインタフェースを含むことができる。システム１２００はまた、図１２のシステム１２００のような、別のデータプロセッシングシステムと通信するための１つ又はそれ以上の無線送受信機１２０３を含む。無線送受信機は、ＷＬＡＮ送受信機、赤外線送受信機、ブルートゥース送受信機、及び／又は無線セルラー電話送受信機とすることができる。図示されていない付加的な構成要素もまた、特定の実施形態におけるシステム１２００の一部とすることができ、特定の実施形態では、図１２に示されたものよりも少ない構成要素をデータプロセッシングシステムにおいて使用できる点は理解されるであろう。システム１２００は更に、図１５のシステム１５００のような別のデータプロセッシングシステムと通信するための１つ又はそれ以上の通信ポート１２１７を含む。通信ポートは、ＵＳＢポート、ファイアワイヤポート、ブルートゥースインタフェース、その他とすることができる。
【００６８】
データプロセッシングシステム１２００はまた、ユーザがシステムに入力を提供できるようにするために設けられる１つ又はそれ以上の入力デバイス１２１３を含む。これらの入力デバイスは、キーパッド又はキーボード、或いはタッチパネル又はマルチタッチパネルとすることができる。データプロセッシングシステム１２００はまた、ドックのコネクタとすることができる任意選択的な入力／出力デバイス１２１５を含む。図示されていない１つ又はそれ以上のバスを用いて、当該技術分野で公知のような様々な構成要素を相互接続することができる点は理解されるであろう。図１２に示したデータプロセッシングシステムは、ハンドヘルドコンピュータ又は携帯情報端末（ＰＤＡ）、又はＰＤＡのような機能を備えた携帯電話、携帯電話を含むハンドヘルドコンピュータ、又はｉＰｏｄのようなメディアプレーヤ、又は１つのデバイス又は組み込み型デバイス或いは他の消費者電子デバイスにＰＤＡ及び携帯電話を組み合わせたメディアプレーヤのような、これらのデバイスの態様又は機能を組み合わせたデバイスとすることができる。他の実施形態では、データプロセッシングシステム１２００は、ネットワークコンピュータ又は別のデバイス内の組み込み式処理デバイス、又は図１２に示されたものよりも少ない構成要素又は場合によってはより多くの構成要素を有する他の種類のデータプロセッシングシステムとすることができる。
【００６９】
本発明の少なくとも特定の実施形態は、媒体を提示するための媒体プロセッシングシステム、媒体を格納するための記憶装置を含むことができるポータブル音楽及び／又はビデオメディアプレーヤのようなデジタルメディアプレーヤの一部とすることができ、更に、アンテナシステム及び媒体プロセッシングシステムに結合された無線周波数（ＲＦ）送受信機（例えば、携帯電話のためのＲＦ送受信機）を更に含むことができる。特定の実施形態では、遠隔記憶装置上に格納された媒体は、ＲＦ送受信機を介してメディアプレーヤに送信することができる。媒体は、例えば、音楽又は他のオーディオ、静止画、又は動画のうちの１つ又はそれ以上とすることができる。
【００７０】
ポータブルメディアプレーヤは、カリフォルニア州クパチーノに所在のアップル社により提供されるｉＰｏｄ（登録商標）又はｉＰｏｄ  Ｎａｎｏ（登録商標）メディアプレーヤ上のクリックホイール入力デバイス、タッチスクリーン入力デバイス、プッシュボタンデバイス、可動式ポインティング入力デバイス又は他の入力デバイスのような媒体選択デバイスを含むことができる。媒体選択デバイスは、記憶装置及び／又は遠隔記憶装置に格納された媒体を選択するのに使用することができる。ポータブルメディアプレーヤは、少なくとも特定の実施形態において、入力デバイスを介して選択され、スピーカ又はイヤフォンの何れかを介して又はディスプレイデバイス上に、或いはディスプレイデバイス及びスピーカもしくはイヤフォンの両方に示される媒体のタイトル又は他のインジケータを示すよう媒体プロセッシングシステムに結合されるディスプレイデバイスを含むことができる。ポータブルメディアプレーヤの実施例は、本明細書に引用により両方が組み入れられる米国特許第７，３４５，６７１号及び米国特許公開第２００４／０２２４６３８号において記載されている。
【００７１】
上述の部分は、専用論理回路のような論理回路によって又はマイクロコントローラ又はプログラムコード命令を実行するプロセッシングコアの他の形式によって実施することができる。従って、上記の説明によって教示される処理は、これらの命令を実行する機械が特定の機能を実行するようになる機械実行可能命令のようなプログラムコードによって実行することができる。この文脈では、「機械」は、中間形式（又は「抽象」）命令をプロセッサ固有の命令（例えば、「仮想機械」（例えば、ジャバ仮想機械）、インタープリター、共通言語ランタイム、高級言語仮想機械、他のような抽象的実行環境）に変換する機械、及び／又は、汎用プロセッサ及び／又は専用プロセッサのような命令を実行するよう設計された半導体チップ上に配置される電子回路（例えば、トランジスタが実装された「論理回路」）とすることができる。上記の説明によって教示される処理は、プログラムコードの実行なしに処理（又はその一部）を実行するよう設計された電子回路によって（機械の代わりに又は機械と一緒に）実行することができる。
【００７２】
本発明はまた、本明細書で説明された動作を実行するための装置に関する。この装置は、要求される目的のために特別に構成することができ、又はコンピュータに格納されたコンピュータプログラムによって選択的に起動又は再構成される汎用コンピュータを含むことができる。このようなコンピュータプログラムは、それに限定されるわけではないが、フロッピーディスク、光学ディスク、ＣＤ−ＲＯＭ、及び磁気光学ディスク、読出し専用メモリ（ＲＯＭ）、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光学カード、又は電子命令を格納するのに適した何れかの種類の媒体のようなコンピュータ可読記憶媒体に格納することができ、各々は、コンピュータシステムバスに結合される。
【００７３】
機械可読媒体は、機械（コンピュータなど）が読むことが可能な形式で情報を格納又は送信する何らかの機構を含む。例えば、機械可読媒体は、読出し専用メモリ（「ＲＯＭ」）；ランダムアクセスメモリ（「ＲＡＭ」）；磁気ディスク記憶媒体；光学記憶媒体；フラッシュメモリデバイス；その他を含む。
【００７４】
製品を用いてプログラムコードを格納することができる。プログラムコードを格納する製品は、それに限定されるわけではないが、１つ又はそれ以上のメモリ（例えば、１つ又はそれ以上のフラッシュメモリ、ランダムアクセスメモリ（静的、動的又はその他））、光学ディスク、ＣＤ−ＲＯＭ、ＤＶＤ  ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光学カード又は電子命令を格納するのに適した他の種類の機械可読媒体として実装することができる。プログラムコードは、伝播媒体に組み込まれたデータ信号によって（例えば、通信リンク（ネットワーク接続など）を介して）遠隔コンピュータ（サーバなど）から要求側コンピュータ（クライアントなど）にダウンロードすることができる。
【００７５】
前述の詳細な説明は、コンピュータメモリ内のデータビットにおける動作のアルゴリズム及び記号表示の観点で提示されている。これらのアルゴリズムの説明及び表示は、これらの作業の内容を当業者に対して最も効率的に伝えるためにデータ処理技術に精通した者によって使用されるツールである。アルゴリズムは、本明細書では、及び一般的には、要求される結果に到達する動作の自己矛盾のないシーケンスであると考えられる。動作は、物理的量の物理的操作を必要とするものである。通常は、必須ではないが、これらの物理量は、格納、転送、結合、比較、及びそれ以外に操作することができる電気又は磁気信号の形式を取る。主に共通の使用の理由で、これらの信号を、ビット、値、要素、記号、文字、語、数字、又は同様のものとして示すことが好都合である場合があることが証明されている。
【００７６】
しかしながら、これら及び同様の用語の全てが、適切な物理的量に関連付けられ、単にこれらの量に適用された好都合なラベルに過ぎない点に留意されたい。上記の説明から明らかなように他に具体的に明示されない限り、「コンピュータ計算」、「選択」、「提示」、「判定」、「関連付け」、「送信」、「格納」、「受信」、「確立」、「転送」、又は同様の用語を利用した説明は、コンピュータシステムメモリ又はレジスタ、或いは他のそのような情報の記憶装置、送信装置又は表示装置内で物理（電子）量として示されたデータを操作し且つ変換するコンピュータシステム、或いは同様の電子コンピューティングモジュール及び／又は電子コンピューティング装置の動作及び処理を示すことは理解される。
【００７７】
本明細書に提示される処理及び表示は、何れかの特定のコンピュータ又は他の機器に固有に関係付けられるものではない。様々な汎用システムを、本明細書の教示に従うプログラムと共に使用することができ、又は説明された動作を実行するために専用の装置を構成することが好都合あることが分かっている。多種多様なこれらのシステムに要求される構造は、以下の説明から明白であろう。更に、本発明は、何れかの特定のプログラミング言語に関して説明してはいない。本明細書で説明される本発明の教示を実施するために多種多様なプログラミング言語を使用できることが理解されるであろう。
【００７８】
前述の説明は、単に本発明の一部の例示的な実施形態を説明している。当業者であれば、このような説明、添付の図面及び請求項から、様々な変更を本発明の精神及び範囲から逸脱することなく行い得ることを容易に理解するであろう。
【符号の説明】
【００７９】
１０２Ａ  デバイス
１０２Ｂ  デバイス
１０２Ｃ  デバイス
１０６Ａ  アドホックファイル共有モジュール
１０６Ｂ  アドホックファイル共有モジュール
１０６Ｃ  アドホックファイル共有モジュール
１０８Ａ  アドホックファイルリポジトリ
１０８Ｂ  アドホックファイルリポジトリ
１０８Ｃ  アドホックファイルリポジトリ
【図１】
0005947314.tif 000002
【図２】
0005947314.tif 000003
【図３Ａ】
0005947314.tif 000004
【図３Ｂ】
0005947314.tif 000005
【図４Ａ】
0005947314.tif 000006
【図４Ｂ】
0005947314.tif 000007
【図５Ａ】
0005947314.tif 000008
【図５Ｂ】
0005947314.tif 000009
【図６】
0005947314.tif 000010
【図７】
0005947314.tif 000011
【図８Ａ】
0005947314.tif 000012
【図８Ｂ】
0005947314.tif 000013
【図９Ａ】
0005947314.tif 000014
【図９Ｂ】
0005947314.tif 000015
【図９Ｃ】
0005947314.tif 000016
【図１０Ａ】
0005947314.tif 000017
【図１０Ｂ】
0005947314.tif 000018
【図１０Ｃ】
0005947314.tif 000019
【図１１】
0005947314.tif 000020
【図１２】
0005947314.tif 000021