(57)【特許請求の範囲】
【請求項１】
コンピュータ装置によって実行される方法であって：
アプリケーションからファイル・アクセス要求を受信するステップ；
前記ファイル・アクセス要求についての一つ以上のファイル形式を識別するステップ；
前記識別された一つ以上のファイル形式のファイルをサポートする一つ以上のファイル・ホストを識別するステップ；および、
ホスティング対象区画を含むユーザ・インターフェースを表示するステップであって、前記ホスティング対象区画内に、前記一つ以上のファイル・ホストのうちの少なくとも一つのファイル・ホストが、前記ユーザ・インターフェースの一部分であって、前記少なくとも一つのファイル・ホストの一つ以上のファイルが保存される前記一つ以上のファイル・ホスト又は前記アプリケーションへ読み出すために選択することが可能な前記一つ以上のファイルを識別する前記ユーザ・インターフェースの一部分を表示する、ステップ；
を具備する方法。
【請求項２】
前記一つ以上のファイル・ホストは、前記コンピュータ装置の上で実行される他のアプリケーションを含む、請求項１記載の方法。
【請求項３】
前記アプリケーションが前記他のアプリケーションと相互に干渉することを防止し、前記他のアプリケーションが前記アプリケーションと相互に干渉することを防止するような制限された態様で、前記アプリケーションが前記コンピュータ装置の上で実行される、請求項２記載の方法。
【請求項４】
前記一つ以上のファイル・ホストは、前記コンピュータ装置とは別の一つ以上の装置の上で実行されるサービス・プロバイダの一つ以上の他のアプリケーションを含む、請求項１記載の方法。
【請求項５】
前記アプリケーションは、前記一つ以上のファイル・ホストの各々によって使用されるデータ・モデルを意識しない、請求項１記載の方法。
【請求項６】
前記一つ以上のファイル・ホストのうちの少なくとも一つのファイル・ホストの一つ以上のファイルについてのユーザ選択を受け取るステップ；および、
前記ユーザ選択された一つ以上のファイルを前記アプリケーションに返すステップ；
を更に具備する請求項１記載の方法。
【請求項７】
コンピュータ装置内のプロセッサによってソフトウェアとして実行可能なファイル管理モジュールを具備するコンピュータ装置であって、
前記ファイル管理モジュールは、前記プロセッサによって実行されると、前記プロセッサに、
アプリケーションからファイル・アクセス要求を受信する動作と、
前記アプリケーションによって保存されるファイルのファイル形式を識別する動作と、
前記識別されたファイル形式を有するファイルをサポートしている一つ以上のファイル・ホストを識別する動作と、
ホスティング対象区画を含むユーザ・インターフェースを表示する動作であって、前記ホスティング対象区画内に、前記一つ以上のファイル・ホストのうちの少なくとも一つが、前記ユーザ・インターフェースの一部分であって、前記少なくとも一つのファイル・ホストの一つ以上のファイルを保存すべき前記少なくとも一つのファイル・ホスト又は前記アプリケーションへ読み出すために選択することが可能な前記一つ以上のファイルを識別する前記ユーザ・インターフェースの一部分を表示する、動作と、
を含む処理動作を実行させる、コンピュータ装置。
【請求項８】
前記処理動作が、前記一つ以上のファイル・ホストのうちの少なくとも一つが、前記ユーザ・インターフェースの一部分を前記ホスティング対象区画内に表示するよう限定する動作をさらに含む、請求項７記載のコンピュータ装置。
【請求項９】
前記ユーザ・インターフェースの全体を画面表示する動作は、前記ファイルの保存先とすることが可能な前記少なくとも一つのファイル・ホストの上の一つ以上の場所を識別する識別情報を表示する動作をさらに含み、
前記処理動作は：
前記一つ以上の場所のうちの一つについてのユーザ選択を受け取る動作；および、
前記ユーザ選択された場所に前記ファイルを格納するために前記少なくとも一つのファイル・ホストに前記ファイルを提供する動作；
をさらに具備する、請求項７記載のコンピュータ装置。
【請求項１０】
前記アプリケーションは、前記一つ以上のファイル・ホストの中のどれが前記ユーザ・インターフェースの前記一部分を表示しているかを意識しない、請求項７記載のコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の異なるファイル・ホストからファイルをアクセスするための技術と関係する。
【背景技術】
【０００２】
文書ファイル、画像ファイル、音楽ファイル、動画像ファイルなどのようにユーザにとって興味の対象となるファイルがしばしば生じる。これらのファイルは、ユーザが所有するコンピュータのハード・ディスク・ドライブやネットワーク内のサーバなどのような多種多様な記憶装置の上に記憶されることが可能である。しかしながら、上述したような複数の記憶装置に跨ってこれらのファイルへのアクセス動作を追跡することは、ユーザにとって煩雑となる場合があり、ユーザが当該ファイルと共に使用したいと望むそれぞれのアプリケーションから上述したような複数の記憶装置をアクセスするようなことがしばしば必要となり、さらに、上述したような複数の記憶装置の中の何れがどのファイルを格納しているかを追跡するようなこともしばしば必要となる。
【発明の概要】
【０００３】
ここで述べる「発明の概要」の説明は、以下において「発明の実施するための形態」の欄においてさらに詳細に説明される本発明に係る複数の発明概念の中から選択された一部を簡略化された形で紹介するために記述される。ここで述べる「発明の概要」の説明は、本明細書に添付された請求項に記載された発明の主題において鍵となる特徴や本質的な特徴を具体的に特定することを意図したものではなく、本明細書に添付された請求項に記載された発明の技術的範囲を限定するために使用することを意図するものでもない。
【０００４】
本発明に係る一つ以上の具体的実施態様においては、ファイル・アクセス要求は、アプリケーションから受信される。当該ファイル・アクセス要求に関して一つ以上のファイル・タイプが識別され、当該識別された一つ以上のファイル・タイプに該当するファイルをサポートしている一つ以上のファイル・ホストがさらに識別される。ユーザ・インターフェースが画面表示され、当該ユーザ・インターフェースはホスティング対象区画を含んでいる。当該ホスティング対象区画内においては、当該一つ以上のファイル・ホストのうちの少なくとも一つが上述したユーザ・インターフェースの画面表示内容の一部として、当該少なくとも一つのファイル・ホストが有する一つ以上のファイルを識別する表示内容を画面表示し、当該識別された一つ以上のファイルは、ファイル読み出しのために選択され得る。
【０００５】
本発明に係る一つ以上の具体的実施態様においては、ファイル・アクセス要求は、アプリケーションから受信される。当該アプリケーションによって保存されるファイル・タイプが識別され、当該識別されたファイル・タイプのファイルをサポートしている一つ以上のファイル・ホストがさらに識別される。ユーザ・インターフェースが画面表示され、当該ユーザ・インターフェースはホスティング対象区画を含んでいる。当該ホスティング対象区画内においては、当該一つ以上のファイル・ホストのうちの少なくとも一つが上述したユーザ・インターフェースの画面表示内容の一部として、当該ファイルが当該少なくとも一つのファイル・ホストによって保存されることを可能にする表示内容を画面表示する。
【０００６】
以下において後述する「発明を実施するための形態」は、本明細書に添付した添付図面を参照しながら説明される。添付図面において、各構成要素に付記された参照番号の最も左端にある文字は、当該参照番号が付記された構成要素が最初に現れる図面の番号を識別するものである。以下の説明および添付図面において複数の異なるインスタンスについて同一の参照番号が使用されている場合、それら複数のインスタンスは、同種のもの又は同一のものを表していると解釈することが可能である。
【図面の簡単な説明】
【０００７】
【図１】本発明に係る一つ以上の実施例に従い、本明細書中で検討される例示的システムであって、複数の異なるファイル・ホストからファイルをアクセスするための技術を実装している例示的システムを図示する図
【図２】複数の異なるファイル・ホストからファイルをアクセスするための技術を実装しているシステムのさらに別の例であって、本発明に係る一つ以上の実施例に従い、本明細書中で検討されるさらに別の例示的システムを図示する図
【図３】本発明に係る一つ以上の実施例に従い、複数の異なるファイル・ホストからファイルをアクセスするための技術として本明細書中で検討される技術を使用して画面表示される例示的なユーザ・インターフェースの第１の例を図示する図
【図４】本発明に係る一つ以上の実施例に従い、複数の異なるファイル・ホストからファイルをアクセスするための技術として本明細書中で検討される技術を使用して画面表示される例示的なユーザ・インターフェースの第２の例を図示する図
【図５】本発明に係る一つ以上の実施例に従い、複数の異なるファイル・ホストからファイルをアクセスするための技術として本明細書中で検討される技術を使用して画面表示される例示的なユーザ・インターフェースの第３の例を図示する図
【図６】本発明に係る一つ以上の実施例に従い、複数の異なるファイル・ホストからファイルをアクセスするための技術として本明細書中で検討される技術を使用して画面表示される例示的なユーザ・インターフェースの第４の例を図示する図
【図７】本発明に係る一つ以上の実施例に従い、複数の異なるファイル・ホストからファイルをアクセスするための技術として本明細書中で検討される技術を実装するための例示的プロシージャを図示する図
【図８】本発明に係る一つ以上の実施例に従い、複数の異なるファイル・ホストからファイルをアクセスするための技術として本明細書中で検討される技術を実装するためのプロシージャのさらに別の例を例示する図
【発明を実施するための形態】
【０００８】
＜全体の概要＞
複数の異なるファイル・ホストからファイルをアクセスするための技術が以下において検討される。アプリケーションを使用する際、ユーザは、（ファイル・システムやその他のアプリケーション、ネットワーク・サービス提供事業者のシステムなどの）多種多様なファイル・ホストによって維持管理されるファイルを読み出すことが可能である。同様に、ユーザは、多種多様なファイル・ホストにファイルを保存することが可能である。本実施形態においては、ホスティング対象区画を有するユーザ・インターフェース（ＵＩ）が画面表示される。ファイル・ホストの各々は、当該ホスティング対象区画内の画面表示内容を、上述した各ファイル・ホストが望むとおりに個別最適化することが可能である。このようなホスティング対象区画内に画面表示されたユーザ・インターフェースと対話することによって、ユーザは、ファイルを読み出し、当該ユーザが使用中のアプリケーションへと入力するために、上述した多種多様なファイル・ホストからファイルを選択することが可能であり、および／又は、ユーザは、ファイルを保存する際の保存先となるファイル・ホストを選択することが可能である。
【０００９】
以下の検討においては、本明細書中で説明される技法を実行するために動作可能な例示的システムが最初に説明される。続いて、上述した例示的システムまたはその他のシステムの上で上述した技法を実行するための例示的なプロシージャが説明される。同様に、上述した例示的システムの利用目的は、上述した例示的プロシージャの実行のためだけに限定されない。
【００１０】
＜例示的システム＞
図１は、本発明に係る一つ以上の実施例に従い、本明細書中で検討される例示的システムであって、複数の異なるファイル・ホストからファイルをアクセスするための技術を実装している例示的システム１００を図示する。図１に図示されたシステム１００は、コンピュータ装置１０２を含んでおり、装置１０２は、多種多様な方法に従って構成設定することが可能である。例えば、コンピュータ装置１０２は、ネットワーク１０４を介して通信する機能を有するコンピュータとして構成することが可能であり、そのような装置の例には、デスクトップ型コンピュータ、タブレット型またはノートパッド型のコンピュータ、移動局、娯楽用コンピュータ機器、ディスプレイ装置やテレビ受像機やその他の表示装置と通信可能な状態で接続されたセットトップ・ボックス、セルラー式携帯電話やその他の無線電話機、ゲーム・コンソールなどが含まれる。
【００１１】
コンピュータ装置１０２に含まれる情報処理機器の範囲は、充分な量のメモリとプロセッサ・リソースを有し、計算リソースをフル装備したパーソナル・コンピュータやゲーム・コンソール等のようなデバイスから、限られた量のメモリと計算処理リソースしか有さず、ローエンドのリソースしか装備していない従来型のセットトップ・ボックスやハンドヘルド型のゲーム・コンソール等のようなデバイスまで多種多様なデバイスに及んでいる。加えて、図中にはコンピュータ装置１０２として単一のコンピュータ装置しか図示されていないけれども、コンピュータ装置１０２は、図示されるべき複数の異なる装置の総称を表していると解してもよい。例えば、コンピュータ装置１０２は、企業が業務を行うために利用する多数のサーバを総称するものであってもよく、リモコン装置とセットトップ・ボックスの組み合わせを総称するものであってもよく、画像キャプチャ装置（例えば、カメラ）とゲーム・コンソールを繋いでユーザの身振り手振りをキャプチャするように構成されたもの全体を表すものでもよい。
【００１２】
コンピュータ装置１０２はさらに、コンピュータ装置１０２内のプロセッサや機能ブロックを設定する等して、コンピュータ装置１０２のハードウェアに所定の処理動作を実行させるエンティティ（例えば、ソフトウェア等）を含むことも可能である。例えば、コンピュータ装置１０２は、命令コードを保持するように構成されることが可能なコンピュータ読み出し可能媒体を含むことが可能であり、当該命令コードは、コンピュータ装置１０２に所定の処理動作を実行させる。より具体的に言うと、当該命令コードは、コンピュータ装置１０２のハードウェアに所定の処理動作を実行させる。従って、上述した命令コードは、上記所定の処理動作を実行するようにハードウェアを設定し、このようにして、当該ハードウェアの機能構成が上記所定の処理動作を実行することができるように変換される。上述した命令コードは、上述したコンピュータ読み出し可能媒体によって、多種多様な異なる構成を介して、コンピュータ装置１０２へと供給されることが可能である。
【００１３】
上述したコンピュータ読み出し可能媒体のそのような多種多様な構成の一つは、信号搬送媒体であり、従って、命令コードを（例えば、搬送波信号の形で）コンピュータ装置のハードウェアへと（ネットワーク１０４を介するなどして）伝送するように構成される。上述したコンピュータ読み出し可能媒体のそのような多種多様な構成の一つは、記録媒体であり、従って、信号搬送媒体とは全く異なる。コンピュータ読み出し可能な記録媒体の具体例には、ＲＡＭ（ランダム・アクセス・メモリ）、ＲＯＭ（読み出し専用メモリ）、光学ディスク（例えば、ＤＶＤやＣＤなど）、フラッシュ・メモリ、ハードディスク型記憶装置、さらには、命令コードとその他のデータを記録するために磁気的、光学的な技術あるいはその他の技術を使用可能なその他のメモリ装置などが含まれる。
【００１４】
ネットワーク１０４の構成については、多種多様な異なる構成を仮定することが可能である。例えば、ネットワーク１０４は、インターネット、広域網（ＷＡＮ）、ローカルエリア網（ＬＡＮ）、パーソナルエリア・ネットワーク（ＰＡＮ）、無線網、公衆電話網、イントラネット、またはこれらが組み合わさった通信網などを含むことが可能である。さらには、図中においてはネットワーク１０４として単一のネットワークだけが図示されているが、ネットワーク１０４は多数のネットワークを含むように構成されることも可能である。
【００１５】
図中において、コンピュータ装置１０２は、ファイル管理モジュール１０６を含んでいるように図示されている。ファイル管理モジュール１０６は、一つ以上のファイルへのアクセス動作を管理する機能を表現するものであり、当該一つ以上のファイルには、ファイル・システム１０８内に存在するファイルが含まれる。ファイル管理モジュール１０６は、多種多様な方法で実装することが可能であり、例えば、スタンドアロン型のアプリケーションとして、コンピュータ装置１０２のオペレーティング・システムの一部分として、当該オペレーティング・システムと連携して実行されるアプリケーションとして、またはその他の実装形態として実装することが可能である。
【００１６】
ファイル・システム１０８は、コンピュータ装置１０２によって複数のファイル１１０を組織的に管理しながら格納するための技法を採用している。例えば、ファイル・システム１０８は、複数のファイル１１０（例えば、実行可能形式ファイルやライブラリ・ファイルなど）を記憶装置内において管理するためのフォルダの階層構造を採用することが可能である。ファイル管理モジュール１０６やファイル・システム１０８によって採用されることが可能なその他の多種多様なファイル管理技法が考えられる。加えて、ファイル管理モジュールを使用して、多種多様な異なるファイル形式を持つ複数のファイル１１０を管理することが可能である。例えば、複数のファイル１１０は、テキスト形式の文書ファイル、画像ファイル、動画像ファイル、音声ファイルまたはこれらを組み合わせたファイルなどとすることが可能である。
【００１７】
アプリケーション１１２は、コンピュータ装置１０２の上で実行される一つ以上のプログラム、スクリプト、またはその他の種類の命令コードの集合である。アプリケーション１１２の構成として、多種多様な異なる構成を仮定することが可能であり、そのような多種多様な構成は、例えば、娯楽用アプリケーション（例えば、ゲームまたは音声／ビデオ再生アプリケーション等）、ユーティリティ・アプリケーション（例えば、ワープロ・ソフトやＷｅｂブラウザなど）、参照用アプリケーション（電子辞書や電子百科事典など）などを含む。アプリケーション１１２は、コンピュータ装置１０２の上で実行される一つ以上のプログラム、スクリプト、またはその他の種類の命令コードの集合とすることが可能であり、ファイル１１０として格納することが可能である。代替的に、アプリケーション１１２は、ファイル１１０として格納されることなく、リモート・サービスから（例えば、ネットワーク１０４を介して）ダウンロードすることが可能な一つ以上のプログラム、スクリプト、またはその他の種類の命令コードの集合とすることが可能である。また、アプリケーション１１２は、リモート・サービスの上で実行され、当該リモート・サービスによって生成されたユーザ・インターフェースが（例えば、ネットワーク１０４を介して）コンピュータ装置１０２上に提供されるような一つ以上のプログラム、スクリプト、またはその他の種類の命令コードの集合とすることが可能であり、当該ユーザインターフェースは、（例えば、ネットワーク１０４を介して）当該アプリケーションから画面表示を出力し、コンピュータ装置１０２上で受け取ったユーザ入力を、当該リモート・サービス上で処理を実行するために（例えば、ネットワーク１０４を介して）当該アプリケーションに戻すためのものである。
【００１８】
本発明に係る一つ以上の実施例においては、アプリケーション１１２は、単独で動作するアプリケーションとすることが可能であり、この場合、当該アプリケーションは、コンピュータ装置１０２上のリソース（例えば、ネットワーク接続された他のコンピュータ、インターネット、モジュール、デバイス、メモリまたは他のアプリケーションなど）への当該アプリケーションによるアクセスが制限されるような態様で実行される。コンピュータ装置１０２上のオペレーティング・システム（及び／又は他のソフトウェア、ファームウェア、ハードウェアなど）は、当該単独で動作するアプリケーションが、コンピュータ装置１０２上のメモリやその他のリソースへアクセスすることを可能にし、これらのリソースは、当該単独で動作するアプリケーションに対して割り当てられた、さもなければ、利用可能にされたリソースであるが、コンピュータ装置１０２上で同時に実行されている他のアプリケーションのメモリやリソース類に対して当該単独で動作するアプリケーションからアクセスすることは妨げられ、また、当該同時に実行されている他のアプリケーション自体への当該単独で動作するアプリケーションからのアクセスも妨げられる。このような保護機能は、コンピュータ装置１０２上で同時に実行されている他のアプリケーションの実行を、当該単独で動作するアプリケーションによる干渉から保護すると同時に、当該単独で動作するアプリケーションの実行を、コンピュータ装置１０２上で同時に実行されている他のアプリケーションによる干渉から保護し、これによって、コンピュータ装置１０２上で同時に実行されている各アプリケーションの実行を、他のアプリケーションから独立したものとしている。
【００１９】
本発明に係る一つ以上の実施例においては、アプリケーション１１２は、サンドボックス内で実行されることにより、制限された態様で実行されることが可能である。図中において、アプリケーション１１２として単一のアプリケーションだけが図示されているけれども、コンピュータ装置１０２上において、複数のアプリケーションが同時並列的に実行される（この場合、各アプリケーションは、それぞれ自分専用のサンドボックス内で実行される）ことも可能である。
【００２０】
ファイル管理モジュール１０６は、ブローカー・モジュール１１４とピッカー・モジュール１１６を含むようにさらに図示されている。ブローカー・モジュール１１４は、アプリケーション１１２による多種多様なファイル・ホスト（例えば、ファイル・システム１０８、その他のアプリケーション、サービス・プロバイダなど）へのアクセス動作を管理するためのファイル管理モジュールの機能を表象するものである。例えば、ブローカー・モジュール１１４は、アプリケーション１１２から要求されたファイルの格納位置を特定するための仲介者として動作し、アプリケーション１１２に対して当該要求されたファイルを提供することが可能である。さらに、当該要求されたファイルがアプリケーション１１２に対して提供される際に、アプリケーション１１２は、当該ファイルがどこから取得されたか（例えば、ファイル・システム１０８によって使用される名前空間やファイルが置かれていたホストなど）をいちいち知る必要が無い。例えば、ブローカー・モジュール１１４は、アプリケーション１１２を、多種多様なファイル・ホストに関する具体的な詳細や当該ファイル・ホストがファイルを格納するための具体的な方法から独立したものとすることが可能な抽象化レイヤとして動作することが可能である。
【００２１】
加えて、ブローカー・モジュール１１４は、ユーザが多種多様なファイル・ホストからファイルを選択することが可能となるようにユーザ・インターフェースを構成設定するためのピッカー・モジュール１１６を使用することが可能である。ピッカー・モジュール１１６は、必要に応じて複数のファイル・ホストとの間の通信を管理するＵＩモジュール１２２を含んでおり、上述したファイル・ホストとの間の通信の管理には、（例えば、ネットワーク）１０４を介してサービス・プロバイダにより）リモート・アクセスを管理することが含まれる。ＵＩモジュール１２２はさらに、他のファイル・ホストとの間の通信に基づいて、ユーザ・インターフェースの少なくとも一部を管理する。例えば、ＵＩモジュール１２２は、（一つ以上のコンピュータ装置によって実装されている）サービス・プロバイダ１２０を介してネットワーク１０４を経由してアクセス可能なファイルをユーザが選択することが出来るように、ユーザ・インターフェースの一部を構成設定し、又は、サービス・プロバイダ側のアプリケーションによって管理されているリモート・ファイルをユーザが選択したり、コンピュータ装置１０２上で他のアプリケーションにより管理されているファイルをユーザが選択したりすることが出来るように、ユーザ・インターフェースの一部を構成設定することが可能である。
【００２２】
コンピュータ装置１０２上の多種多様なモジュールやアプリケーション（アプリケーション１１２やピッカー・モジュール１１６等）は、コンピュータ装置１０２のユーザからユーザ入力を受け取ることが可能である。これらのユーザ入力は、データやユーザによる選択結果などを提供することが可能である。ユーザ入力は多種多様な異なる方法により提供されることが可能であり、そのような方法の例としては、コンピュータ装置１０２のキーパッドやキーボードの上に設けられた一つ以上のキーを押下することによる方法、コンピュータ装置１０２のコントローラ（リモコン装置、マウス、トラックパッドなど）に設けられた一つ以上のキーを押下することによる方法、コンピュータ装置１０２のタッチパッドやタッチ・スクリーンの特定の部分をタッチすることによる方法、コンピュータ装置１０２のタッチパッドやタッチ・スクリーンの画面に対して特定の身振り手振りを示すことによる方法、コンピュータ装置１０２のコントローラ（リモコン装置、マウス、トラックパッドなど）を使って特定の身振り手振りを示すことによる方法などが含まれる。ユーザ入力は、コンピュータ装置１０２が備える他の物理的なフィードバック入力機構を介して提供されることも可能であり、例えば、コンピュータ装置１０２の特定の箇所をユーザがタップしたり、（振動認識装置や回転認識装置のように）コンピュータ装置１０２内の動き検出機能部品を使用してユーザの身振り手振りを認識させたりなどにより実現可能である。ユーザ入力は、さらに別の方法によって提供することも可能であり、例えば、マイクロフォンを使用した音声入力による方法や、画像キャプチャ装置を使用して観察される手の動きや他の身体部分の動きを認識する方法などがあり得る。
【００２３】
一般的に、本明細書中で説明される如何なる機能であっても、ソフトウェア、ファームウェア、ハードウェア（例えば、配線が固定された論理回路）、手動操作による処理、または上述した実装形態を組み合わせたものを使用して実装することが可能である。本明細書中で使用される用語「モジュール」および「機能」は、通常、ハードウェア、ソフトウェア、又はこれらの組み合わせを表している。ソフトウェアによる実装の場合、「モジュール」、「機能」または「ロジック」は、ハードウェアにとって指定される処理動作を実行する命令コードやハードウェア（例えば、一つ以上のプロセッサや機能ブロック）を表している。
【００２４】
図２は、複数の異なるファイル・ホストからファイルをアクセスするための技術を実装しているシステムの例であって、本発明に係る一つ以上の実施例に従い、本明細書中で検討されるさらに例示的システム２００を図示する。図中に示されたシステム２００の一部分は、図１に示されたコンピュータ装置１０２上のファイル管理モジュール１０６によって実装されることが可能である。
【００２５】
図中に示したシステム２００は、アプリケーション２０２（例えば、図１に示すアプリケーション１１２とすることが可能である）、ブローカー・モジュール１１４、ピッカー・モジュール１１６および一つ以上のファイル・ホスト２０４を含んでいる。この例において、アプリケーション２０２は、ファイル・ホスト２０４をアクセスするために、ブローカー・モジュール１１４によってアプリケーションから呼び出し可能とされている一つ以上のＡＰＩ（Application  Programming  Interface）を介してブローカー・モジュール１１４と通信する。図２には、単一のアプリケーションと特定のファイル・ホスト２０４だけが図示されているけれども、当業者であれば、システム２００には、任意の個数のファイル・ホスト２０４をアクセスする任意の個数のアプリケーション２０２が含まれ得ることが理解できよう。
【００２６】
本発明に係る一つ以上の実施例においては、アプリケーション２０２は、特定のファイルが一つ以上のファイル・ホスト２０４によってどの情報格納場所においてどのような方法で配列され、組織化され、維持管理されているかなどについて一切関知することなく、ファイル・ホスト２０４にアクセスすることを許可される。例えば、アプリケーション２０２は、ファイル・ホスト２０４を介してファイルをアクセスするのに使用される名前空間やデータ・モデルについて一切関知することなく、ファイル・アクセスを行うことが可能である。従って、ブローカー・モジュール１１４は、上述したＡＰＩを介してアプリケーション２０２から受け取ったアクセス要求をアクセス対象となるファイルの具体的な格納場所を特定するために理解可能な形式に変換することが可能である。
【００２７】
本発明に係るその他の実施例においては、アプリケーション２０２は、特定のファイルが具体的なファイル・ホスト２０４内のどの情報格納場所においてどのような方法で配列され、配置されているかなどについて意識しながらファイル・アクセスを行うことが可能である。例えば、アプリケーション２０２は、ローカルなファイル・システム２１２によってサポートされている名前空間を使用してファイル・アクセスを行うように構成設定されることが可能であり、その場合、ブローカー・モジュール１１４がアプリケーションからのファイル・アクセス要求を上記のように変換する動作は実行されない。上記の方法以外にも多種多様な具体例が考えられ、例えば、特定のアプリケーションに関しては、ブローカー・モジュール１１４との間の対話を行うこと無しに、ローカルなファイル・システム２１２への直接的なアクセスを可能にする方法などが考えられ、この場合、以下において後述するとおり、ファイルは、ユーザ・インターフェース２０６以外の他のユーザ・インターフェースを介してアクセスされる。
【００２８】
ピッカー・モジュール１１６は、ファイルの読み出しのためにユーザによるファイルの選択機能などを実現したり、又はファイルの保存先を指定する機能を実現したりするユーザ・インターフェース２０６を表示する。ユーザ・インターフェース２０６は、多種多様なファイル・ホストからファイルを読み出したり、多種多様なファイル・ホストにファイルを保存したりすることを可能にする。例えば、ユーザ・インターフェース２０６は、ファイル・ホスト２０４によって生成されたユーザ・インターフェース部分が画面表示される区画である「ホスティング対象区画」を内部に含むことが可能である。
【００２９】
ブローカー・モジュール１１４とピッカー・モジュール１１６は、アプリケーション２０２とファイル・ホスト２０４との間の仲介者としての機能を発揮する。アプリケーション２０２は、ファイル・ホスト２０４の存在を直接には認識する必要が無く、ファイル・ホスト２０４もまた、アプリケーション２０２の存在を直接には認識する必要が無いようにすることが可能である。加えて、ファイル・ホスト２０４によって生成されたユーザ・インターフェース部分が、ユーザ・インターフェース全体の中の一部として画面表示される区画である「ホスティング対象区画」を内部に含むユーザ・インターフェース２０６は、ピッカー・モジュール１１６によって提供される。従って、アプリケーション２０２は、所与の時点において、「ホスティング対象区画」内にユーザ・インターフェースの一部分を画面表示させているファイル・ホスト２０４の存在を直接には認識する必要が無く、同時に、ファイルのアクセス元となっている具体的なファイル・ホスト２０４がどのホストであるかという点（例えば、ファイルがどのファイル・ホスト２０４から読み出されたり、どのファイル・ホスト２０４に保存されたりするのかという点）についても認識する必要が無い。
【００３０】
ブローカー・モジュール１１４および／またはピッカー・モジュール１１６は、多種多様な異なるファイル・ホスト２０４（例えば、ローカルなファイル・システム２１２、アプリケーション２１４、リモートなファイル・システム２１６、サービス・プロバイダ２１８など）と通信することが可能である。ブローカー・モジュール１１４および／またはピッカー・モジュール１１６は、多種多様な異なる方法により、ファイル・ホスト２０４と通信することが可能であり、一つ以上の実施例においては、ブローカー・モジュール１１４および／またはピッカー・モジュール１１６は、複数のファイル・ホスト２０４の各々との間で通信するための具体的な方法に関する情報によって構成設定されることが可能であり、さもなければ、そのような情報を外部から取得することが可能である。
【００３１】
ファイル・ホスト２０４とは、ファイルを組織化し、管理し、および／または格納するためのシステム、サービス、アプリケーション等を指して言う。ファイル・ホスト２０４は、「ホスティング対象区画」内にユーザ・インターフェースの一部分を画面表示し、ファイル・ホスト内のファイル（ファイル・ホストが組織化し、管理し、および／または格納しているファイル）をアクセスする（読み出したり、格納したりする）ことを可能にする。ファイル・ホスト２０４は、多種多様な異なるデータ・モデル（ファイルを格納するために使用される各種フォーマットやアクセス・プロトコルなど）を使用して、多種多様な異なる方法により、ファイルを組織化し、格納することが可能であり、例えば、ファイルを個別のファイルとして記憶装置上に格納したり、ファイルをデータベースやその他のレコード内に格納したり、ファイルの集合体やグループ化されたファイルの一部として（例えば、ｚｉｐ形式圧縮ファイルやキャビネット形式ファイルの一部として）格納したりすることが可能である。ファイル・ホスト２０４によってどのようなデータ・モデルが使用されるかに関係なく、ファイル・ホスト２０４の各々は、自身がが組織化し、管理し、および／または格納しているファイルをアクセスする（ファイルを識別し、格納し、読み出し、修正する）ための具体的な方法を認識している。
【００３２】
ローカルなファイル・システム２１２は、ローカルな記憶装置の上の一つ以上のフォルダーの中にファイル２２２を格納しているファイル・ホストであり、当該ローカルな記憶装置は、アプリケーション２０２を実行中のコンピュータ装置の一部分であったり、当該コンピュータ装置に接続されている記憶装置であったりすることが可能であり、装置本体に対して着脱可能な記憶装置を含んでいる。例えば、ローカルなファイル・システム２１２は、ローカルなハード・ディスク、光学ディスク、フラッシュ・メモリ・デバイスまたはその他のコンピュータ読み出し可能記憶媒体の上にファイル２２２を格納する。
【００３３】
リモートなファイル・システム２１６は、アプリケーション２０２を実行中のコンピュータ装置と同一の装置上には存在しないリモートな記憶装置の上にある一つ以上のフォルダーの中にファイル２２６を格納しているファイル・ホストである。例えば、リモートなファイル・システム２１６は、図１のネットワーク１０４を介して、アプリケーション２０２を実行中のコンピュータ装置に接続されることが可能である。ローカルなファイル・システム２１２と同様の原理により、リモートなファイル・システム２１６は、多種多様な異なるコンピュータ読み出し可能記録媒体の上にファイルを格納することが可能である。
【００３４】
アプリケーション２１４の構成として、多種多様な異なる構成を仮定することが可能であり、図１に示したアプリケーション１１２と同様に、様々な装置の上で実行される一つ以上のプログラム、スクリプト、またはその他のタイプの命令コードの集合とすることが可能である。アプリケーション２１４は、図１に示したアプリケーション１１２と同様に、独立して実行可能なアプリケーションとすることがさらに可能である。典型的には、アプリケーション２１４は、アプリケーション２０２と同一のコンピュータ装置の上で実行されているが、代替的に、別のコンピュータ装置の上で実行されることも可能である。アプリケーション２１４は、多種多様な方法でファイル２２４を格納しているファイル・ホストである。アプリケーション２１４は、ファイル２２４を格納するために、ローカルなファイル・システム２１２やリモートなファイル・システム２１６を機能強化することが可能であるが、典型的な場合においては、ファイル２２４は、アプリケーション２１４を介してのみアクセス可能である。
【００３５】
サービス・プロバイダ２１８は、多種多様な異なる構成を仮定することが可能な一つ以上のアプリケーションであって、写真管理サービス、ソーシャル・ネットワーキング・サービス、メッセージングやその他の通信サービス、文書編集サービスなどの様々なサービス機能を提供するアプリケーションである。サービス・プロバイダ２１８は、典型的には、アプリケーション２０２が実行されている装置とは別の一つ以上の異なるコンピュータ装置（例えば、図１のネットワーク１０４を介してアプリケーション２０２を実行中のコンピュータ装置と接続されている別の一つ以上のコンピュータ装置）の上で実行されている。サービス・プロバイダ２１８は、多種多様な方法でファイル２２８を格納しているファイル・ホストである。サービス・プロバイダ２１８は、ファイル２２４を格納するために、ローカルなファイル・システム２１２やリモートなファイル・システム２１６を機能強化することが可能であるが、典型的な場合においては、ファイル２２４は、サービス・プロバイダ２１８を介してのみアクセス可能である。
【００３６】
例えば、アプリケーション２０２にファイルを読み込ませるために一つ以上のファイルを選択したり、アプリケーション２０２から一つ以上のファイルを保存したりすることをアプリケーション２０２のユーザが実行可能とする等のために、アプリケーション２０２がファイル・ホストへのアクセスを希望する際、アプリケーション２０２は、ブローカー・モジュール１１４と通信することにより、ブローカー・モジュール１１４に対してファイル・アクセス要求を発行する。アプリケーション２０２は、ファイル・アクセス要求を発行する側であるので、アプリケーション２０２のことを「呼び出し側アプリケーション」と呼ぶことも可能である。例えば、上述したファイル・アクセス要求は、ブローカー・モジュール１１４が提供しているＡＰＩを呼び出すことにより、ブローカー・モジュール１１４に伝達することが可能である。上述したファイル・アクセス要求に応答して、ブローカー・モジュール１１４は、ユーザ・インターフェース２０６を画面表示する働きをするピッカー・モジュール１１６を起動する。代替的に、アプリケーション２０２は、ブローカー・モジュール１１４を迂回する形で、ピッカー・モジュール１１６へと上述したファイル・アクセス要求を伝達し、その結果、ユーザ・インターフェース２０６を画面表示するために、ブローカー・モジュール１１４を経由することなく、ピッカー・モジュール１１６を直接的に起動する。
【００３７】
ユーザ・インターフェース２０６は、一つ以上のファイル・ホスト２０４が、自身のユーザ・インターフェースを、既存のユーザ・インターフェース全体の中の一部分として画面表示することが可能な区画である「ホスティング対象区画」を内部に含む。「ホスティング対象区画」内に画面表示されるユーザ・インターフェース部分は、ファイル・ホスト２０４によって生成される。「ホスティング対象区画」内にユーザ・インターフェース部分を画面表示しているアプリケーション２１４やサービス・プロバイダ２１８は、「ホスティング状態のアプリケーション」と呼ぶことも可能である。ファイル・ホスト２０４の各々は、「ホスティング対象区画」内の画面表示内容を当該ファイル・ホストが望むとおりに個別最適化することが可能であり、さらに任意付加的に、上述した「ホスティング対象区画」内の画面表示内容を時間の経過に伴って当該ファイル・ホストが望むとおりに修正したり変更したりすることも可能である。アプリケーション２０２は、「ホスティング対象区画」内に表示されているユーザ・インターフェースがどのような方法で生成されたかについて一切意識することなく（かつ、それについて何の知識も持つことなく）、さらには、ファイル・ホスト２０４によって使用されるデータ・モデルや名前区間について一切意識することなく（かつ、それについて何の知識も持つことなく）ファイル・アクセスを行うことが可能である。同様に、ピッカー・モジュール１１６は、「ホスティング対象区画」内に表示されているユーザ・インターフェースがどのような方法で生成されたかについて一切意識することなく（かつ、それについて何の知識も持つことなく）、さらには、ファイル・ホスト２０４によって使用されるデータ・モデルや名前区間について一切意識することなく（かつ、それについて何の知識も持つことなく）ファイル・アクセスを行うことが可能である。
【００３８】
ピッカー・モジュール１１６（例えば、ピッカー・モジュール１１６内のＵＩモジュール１２２）は、一つ以上のファイル・ホスト２０４がユーザ・インターフェースを画面表示することが出来る表示領域である「ホスティング対象区画」を提供する。例えば、「ホスティング対象区画」は、ファイル・ホスト２０４固有のユーザ・インターフェースを画面表示したり、または提示したりすることが可能な表示領域となるウィンドウ等とすることが可能である。そのようなユーザ・インターフェースは、当該「ホスティング対象区画」内において多種多様な方法により表示することが可能である。例えば、当該「ホスティング対象区画」内において表示されるユーザ・インターフェースは、ファイル・ホスト２０４から受信された後に、ピッカー・モジュール１１６によって画面表示されることが可能である。さらに別の例を挙げるなら、当該「ホスティング対象区画」内に（例えば、特定のウィンドウ内に）ファイル・ホスト２０４が自身のユーザ・インターフェースを直接表示することを許可することも可能である。しかしながら、当該「ホスティング対象区画」内において上述したユーザ・インターフェースがどのような方法で画面表示されるかとは関係なく、当該ファイル・ホスト固有のユーザ・インターフェースを表示可能な表示領域は、当該「ホスティング対象区画」内に制限される。つまり、当該「ホスティング対象区画」から外にハミ出したユーザ・インターフェースの他の表示領域を、当該ファイル・ホスト固有のユーザ・インターフェースが上書きすることは許されず、さらに、当該コンピュータ装置のオペレーティング・システムや当該コンピュータ装置の上で実行中の他のアプリケーションによって表示されている他のユーザ・インターフェースの画面表示を、当該ファイル・ホスト固有のユーザ・インターフェースの表示によって切り取ることも許されない。
【００３９】
一つ以上のファイル・ホスト２０４が自身のユーザ・インターフェースを画面表示するための表示領域とすることが出来る「ホスティング対象区画」は、ピッカー・モジュール１１６によって提供されるものであるので、当該「ホスティング対象区画」は、アプリケーション２０２の中に組み込まれたプラグイン・モジュールや機能拡張コードによって提供されることは無い。「ホスティング対象区画」内に表示されているユーザ・インターフェースがどのような方法で生成されたかについて一切意識することなく（かつ、それについて何の知識も持つことなく）ファイルをアクセス可能であることに加えて、アプリケーション２０２は、当該「ホスティング対象区画」内に表示されているユーザ・インターフェースが何れのファイル・ホストによって生成されたものであるかについても一切意識することなく、ファイルをアクセス可能である。当該「ホスティング対象区画」内に既に表示されているユーザ・インターフェースを生成した具体的なファイル・ホストを変更することに加え、当該「ホスティング対象区画」内に表示可能なユーザ・インターフェースを生成するために利用可能なファイル・ホスト２０４を変更することも、アプリケーション２０２から気付かれないような方法で実行可能である。
【００４０】
ユーザ・インターフェース２０６は、単一の「ホスティング対象区画」のみを画面表示することが可能であり、この場合には、一度に一つのファイル・ホストだけが自身のユーザ・インターフェースを画面表示することが出来、当該「ホスティング対象区画」内に自身のユーザ・インターフェースを画面表示中のファイル・ホスト２０４は、時間の経過に伴って変化することが可能である。代替的に、ユーザ・インターフェース２０６は、複数の「ホスティング対象区画」を同時並列的に画面表示することが可能であり、この場合には、複数のファイル・ホスト２０４が個々のユーザ・インターフェースを同時並列的に画面表示することが可能となる。
【００４１】
ピッカー・モジュール１１６は、多種多様な異なる方法により「ホスティング対象区画」内に自身のユーザ・インターフェースを画面表示しているファイル・ホスト２０４を識別することが可能である。本発明に係る一つ以上の実施例においては、様々なファイル・ホスト２０４の識別情報が、ユーザ・インターフェース２０６の一部として提示される（例えば、ユーザ・インターフェース２０６内のファイル・ホスト識別部分に提示される）。上述した識別情報の中の一つを選択するユーザ入力を受信すると、ピッカー・モジュール１１６は、当該選択された識別情報を有するファイル・ホスト２０４を起動し、当該「ホスティング対象区画」内に対応するユーザ・インターフェース部分を表示する。代替的に、ピッカー・モジュール１１６は、当該「ホスティング対象区画」内に対応するユーザ・インターフェース部分を表示するファイル・ホスト２０４を他の方法により識別することが可能であり、例えば、デフォルトの（既定の）ファイル・ホスト（例えば、ピッカー・モジュール１１６に対して事前に設定されていた、または予め識別することが出来るファイル・ホスト）を識別したり、ファイル・ホストを無作為な方法で又はその他の規則や基準に基づいて選択したり、システム２００のユーザから受信した個人的好みや構成に関する設定内容に基づいてファイル・ホストを識別したりすることが可能である。
【００４２】
システム２００内において利用可能なファイル・ホスト２０４は、複数の異なる方法により決定することが可能である。本発明に係る一つ以上の実施例においては、ファイル・ホスト２０４の各々は、ピッカー・モジュール１１６のためのファイル・ホストとして登録された状態である。上述した登録の手順の一部として、ファイル・ホスト２０４をアクティブ化する方法やファイル・ホスト２０４によってサポートされているファイル形式などのようなファイル・ホスト２０４に関する様々な情報が提供される。このような登録手順は様々なタイミングで実行することが可能であり、そのようなタイミングとしては、例えば、ピッカー・モジュール１１６を実装しているコンピュータ装置の上にファイル・ホストがインストールされた時点や、ピッカー・モジュール１１６を実装しているコンピュータ装置に当該ファイル・ホストがアクセスした時点などが考えられ、また、ユーザからの要求に応答して登録手順を実行することも可能である。システム２００内において利用可能なファイル・ホスト２０４（場合によってはさらに、ユーザ・インターフェース２０６内のファイル・ホスト識別部分に自身の識別情報が表示されることとなるファイル・ホスト２０４）を決定する際に、ピッカー・モジュール１１６は、自身のためのファイル・ホスト２０４として既に登録されているファイル・ホスト２０４だけを識別することが可能である。
【００４３】
代替的に、システム２００内において利用可能なファイル・ホスト２０４は、複数の異なる方法により識別されることが可能である。例えば、アプリケーション２０２を実行中のコンピュータ装置によって現在アクセス可能な状態であるサービスを識別するために、（例えば、図１に示したネットワーク１０４を介して）リモート・サービスにアクセスすることが可能であり、そのようにして識別されたサービスがファイル・ホスト２０４である場合もあり得る。さらに別の例を挙げるならば、アプリケーション２０２を実行中のコンピュータ装置の販売業者や管理者から提供されるファイル・ホストの一覧にアクセスすることにより、システム２００内において利用可能なファイル・ホスト２０４を決定することも可能である。
【００４４】
加えて、本発明に係る一つ以上の実施例においては、ファイル・ホスト２０４は、複数の異なるファイル形式をサポートすることが可能である。ファイル形式とは、ファイル内に格納されたデータの具体的な種別であったり、ファイル内にデータを格納するのに使用されるフォーマット種別であったりする。例えば、ファイル形式は、画像ファイル、音声ファイル、動画像ファイル、テキスト・ファイルなどとすることが可能である。別の例を挙げるならば、ファイル形式は、ＪＰＥＧ（Joint  Photographic  Experts  Group）ファイルやＰＤＦ（Portable  Document  Format）ファイルとすることも可能である。ファイル・ホスト２０４によってサポートされているファイル形式は、そのようなファイル形式を有するファイルを組織化し、管理し、および／または格納しているファイル・ホスト２０４を参照する情報でもある。ファイル・ホスト２０４の各々によってサポートされているファイル形式は、例えば、上述した登録手順の実行中に識別されることが可能である。ファイル・アクセス要求の一部として、アプリケーション２０２は、当該ファイル・アクセス要求のためにアプリケーション２０２が希望する一つ以上のファイル形式を特定することが可能である。ピッカー・モジュール１１６は、（例えば、ユーザ・インターフェース２０６内のファイル・ホスト識別部分に自身の識別情報が表示されることとなるファイル・ホスト２０４として）アプリケーション２０２によってアクセス要求がされたファイル形式をサポートしているファイル・ホストだけを識別する。従って、アプリケーション２０２によってアクセス要求がされたファイル形式をサポートしていないファイル・ホスト２０４は、「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示することが可能なファイル・ホストとしては識別されない。しかしながら、上述したファイル・ホスト２０４によってサポートされている別のファイル形式について、アプリケーション２０２による後続のアクセス要求が受信されると、上述したファイル・ホスト２０４は、「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示することが可能なファイル・ホストとしては識別されるようになる。
【００４５】
「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示することが可能なファイル・ホストとしてファイル・ホスト２０４が識別された時点で、当該識別されたファイル・ホスト２０４は、ピッカー・モジュール１１６によってアクティブ化され又は起動される。ピッカー・モジュール１１６は、ファイル・ホスト２０４をアクティブ化したり起動したりする方法を表す情報を知っているか又は取得することが可能である。例えば、このような情報は、上述した登録手順の実行過程の一部として取得されることが可能である。上述したファイル・ホスト２０４がまだ起動していないならば、ピッカー・モジュール１１６は、上述したファイル・ホスト２０４をアクティブ化し、すなわち、立ち上げ、「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示させる動作を上述したファイル・ホスト２０４に開始させる。上述したファイル・ホスト２０４が既に起動済みであるならば、ピッカー・モジュール１１６は、「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示させる動作を上述したファイル・ホスト２０４に開始させる。
【００４６】
上記のようにアクティブ化され又は起動されたファイル・ホスト２０４は、当該ファイル・ホスト２０４自身によって決定される様々な方法に従って、「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示する。この際、ファイルは、アイコン、動画像シーケンス、テキスト記述などを含む多種多様な表現形式で画面表示される。データは、例えば、テキスト入力フィールドへのキー入力やユーザの身振り手振りを介した入力や、音声入力などの様々な異なる方法により、ユーザによって入力されることが可能である。
【００４７】
「ホスティング対象区画」内においてファイル・ホスト２０４によって表示されたユーザ・インターフェース部分は、当該ファイル・ホスト２０４によって管理されるファイルへの様々な形でのアクセス動作を可能にすることができる。例えば、上述したようなユーザ・インターフェース部分は、一群のファイルをグループ化するためのフォルダやこれに類する機能を介したナビゲーションを可能にし、読み出しのために一つ以上のファイルを選択したり、ファイルを保存するための保存先となる一つ以上の情報格納場所を選択したりすることを可能にする。
【００４８】
アプリケーション２０２からのファイル・アクセス要求が一つ以上のファイルを読み出すことを要求している状況においては、ファイル・ホスト２０４によって画面表示されているユーザ・インターフェース部分は、一つ以上のファイル・ホスト２０４の各々に格納された一つ以上のファイルを識別し（例えば、それらのファイルを表象するアイコン画像やサムネイル画像を画面表示し）、アプリケーション２０２のユーザは、その中から所望のファイルを選択することが出来る。そのような選択操作は、上述したような多種多様な異なる入力をユーザが提供することによって実現することが可能である。一つ以上のファイル・ホスト２０４から一つ以上のファイルを選択する際に、当該一つ以上のファイル・ホスト２０４は、ユーザによって選択された一つ以上のファイル（または、当該一つ以上のファイルを読み出すための方法や読み出し元となる情報格納場所を示す情報）をピッカー・モジュール１１６に提供する。ピッカー・モジュール１１６は、当該ユーザによって選択された一つ以上のファイル（または、当該一つ以上のファイルを読み出すための方法や読み出し元となる情報格納場所を示す情報）をブローカー・モジュール１１４に提供する。ブローカー・モジュール１１４は、当該ユーザによって選択された一つ以上のファイル（または、当該選択された一つ以上のファイルを読み出すための方法や読み出し元となる情報格納場所を示す情報、さもなければ、当該選択された一つ以上のファイルの内容）をアプリケーション２０２に戻り値として提供する。
【００４９】
アプリケーション２０２からのファイル・アクセス要求が一つ以上のファイルを保存する又は格納することを要求している状況においては、ファイル・ホスト２０４によって画面表示されているユーザ・インターフェース部分は、一つ以上のファイル・ホスト２０４の情報格納場所を識別し（例えば、それらのファイルを表象するアイコン画像やサムネイル画像を画面表示し）、アプリケーション２０２のユーザは、その中から所望のファイル保存先を選択することが出来る。上述したファイル・ホスト２０４によって画面表示されているユーザ・インターフェース部分はさらに、一つ以上のファイルに関する多種多様な情報（当該一つ以上のファイルの名前や当該一つ以上のファイルに関する説明）をユーザに提供することを可能にするユーザ入力部分を提供することが出来る。一つ以上のファイルを保存する又は格納することを要求しているファイル・アクセス要求の一部として、アプリケーション２０２は任意付加的に、ファイルを識別する情報を提供することが出来る。このような情報は、「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示中のファイル・ホスト２０４に対して提供されることが可能であり、その結果、「ホスティング対象区画」内の対応するユーザ・インターフェース部分において保存のために選択されるファイルと関連した情報をファイル・ホスト２０４が組み込むことを可能にする。例えば、アプリケーション２０２は、（ブローカー・モジュール１１４とピッカー・モジュール１１６を介して）ファイル・ホスト２０４に対して保存すべきファイルを表象するアイコン画像やサムネイル画像を提供することが可能である。上述したファイル・ホスト２０４は、「ホスティング対象区画」内においてこのようなアイコン画像やサムネイル画像を対応するユーザ・インターフェース部分を構成する一部として画面表示することが出来る。
【００５０】
アプリケーション２０２は、保存すべき一つ以上のファイル（または当該保存すべき一つ以上のファイルを取得する方法や取得元となる情報格納場所を表す情報）をブローカー・モジュール１１４に対して提供する。ブローカー・モジュール１１４は、当該保存すべき一つ以上のファイル（または当該保存すべき一つ以上のファイルを取得する方法や取得元となる情報格納場所を表す情報）をピッカー・モジュール１１６に対して提供し、ピッカー・モジュール１１６は、「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示中のファイル・ホスト２０４に対して、当該保存すべき一つ以上のファイル（または当該保存すべき一つ以上のファイルを取得する方法や取得元となる情報格納場所を表す情報）を提供する。当該一つ以上のファイルの保存先となる情報格納場所についてのユーザの選択結果を受信すると、「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示中のファイル・ホスト２０４は、当該一つ以上のファイルを当該選択された情報格納場所に格納する（さらに任意付加的に、当該一つ以上のファイルに関して追加的に提供される情報も一緒に格納する）。アプリケーション２０２は、保存すべき一つ以上のファイル（または当該保存すべき一つ以上のファイルを取得する方法や取得元となる情報格納場所を表す情報）をファイル・アクセス要求の一部として提供することが可能であり、あるいは代替的に、その他のタイミング（例えば、当該一つ以上のファイルに関するピッカー・モジュール１１６からの要求に応答して、又は当該一つ以上のファイルが保存される情報格納場所をユーザが選択操作することに応答して）において提供することが可能である。
【００５１】
システム２００において、アプリケーション２０２は、ブローカー・モジュール１１４に対してアクセス要求を提供する呼び出し側アプリケーションであり、アプリケーション２１４は、ユーザ・インターフェース２０６内の「ホスティング対象区画」内において対応するユーザ・インターフェース部分を提供することが可能な「ホスティング状態のアプリケーション」である。しかしながら、各アプリケーションは、「ホスティング状態のアプリケーション」または「呼び出し側アプリケーション」の何れとなることも可能であり、「ホスティング状態のアプリケーション」となると同時に「呼び出し側アプリケーション」となる場合もあり得ることに留意されたい。例えば、アプリケーション２０２は、ソーシャル・ネットワーキング・アプリケーションとすることが可能であり、アプリケーション２１４は、写真編集用のアプリケーションとすることが可能である。ある時点においては、ソーシャル・ネットワーキング・アプリケーションは、「ホスティング状態のアプリケーション」となり、写真編集用のアプリケーションは、「呼び出し側アプリケーション」となることが可能であり、この場合には、ソーシャル・ネットワーキング・アプリケーションから写真編集用のアプリケーションへと画像を読み込むことが可能な状態であり、その後の時点においては、写真編集用のアプリケーションは、「ホスティング状態のアプリケーション」となり、ソーシャル・ネットワーキング・アプリケーションは、「呼び出し側アプリケーション」となることが可能であり、この場合には、写真編集用のアプリケーションからソーシャル・ネットワーキング・アプリケーションへと画像を読み込むことが可能な状態である。この具体例に関する説明をさらに続けると、ソーシャル・ネットワーキング・アプリケーション側から見て、写真編集用のアプリケーションが「呼び出し側アプリケーション」となると同時に、写真編集用のアプリケーションは、ワープロ・アプリケーションのための「ホスティング状態のアプリケーション」となり、ワープロ・アプリケーションは、それに対応した「呼び出し側アプリケーション」となる。その結果、ソーシャル・ネットワーキング・アプリケーションから写真編集用のアプリケーションへと画像を読み込むことが可能となるのと同時並行して、写真編集用のアプリケーションからワープロ・アプリケーションへと画像を読み込むことも可能となる。
【００５２】
複数の異なるファイル・ホストによりファイルをアクセスすることに関して本明細書中で上述のとおり検討された技術は、多種多様な利用シナリオをサポートする。例えば、ユーザは、特定のアプリケーションを使用しながら、そのアプリケーションへと読み込むべき特定の種類のファイル（例えば写真ファイル）を要求することが出来る。そのような特定の種類のファイルをサポートする多種多様なその他のアプリケーションやサービス・プロバイダは、識別された上でユーザに対してユーザ・インターフェースを表示することが可能である。ユーザは、上述したような多種多様なその他のアプリケーションから一つ以上のファイルを選択し、それに応答して、当該選択された一つ以上のファイルは、ユーザが使用中の特定のアプリケーションへと読み込まれる。このようにして、別のアプリケーションから記憶装置上にファイルを個別に保存してから当該保存されたファイルを上述した特定のアプリケーションに読み込む必要無しに、ユーザは、ファイルを別のアプリケーションから上述した特定のアプリケーションへと簡単に読み込むことが可能となる。さらには、ファイルの読み込み先となる上述した特定のアプリケーションが当該別のアプリケーションによって使用されているデータ・モデルを意識する必要無しに（さらには、当該別のアプリケーションの存在自体を意識する必要無しに）、ユーザは、当該別のアプリケーションからそのようなファイルを読み出すことが可能となる。
【００５３】
＜例示的なユーザ・インターフェース＞
本明細書の以下の節は、上記において説明したシステムや装置を使用して実装可能な例示的なユーザ・インターフェースを記述する。例えば、コンピュータ装置１０２は、コンピュータ装置１０２のハードウェア（例えば、命令コードによって処理動作を実行することが可能となるように構成された一つ以上のプロセッサや機能ブロックなど）の上で命令コードを実行することを通してユーザ・インターフェース２０６の表示を出力することが可能である。これらの技法は、ピッカー・モジュール１１６によるユーザ・インターフェース２０６の表示出力に関して上述したけれども、これらの技法は、本発明の技術思想と技術的範囲から逸脱することなく、広範囲にわたる多種多様な異なるユーザ・インターフェースについて実施することが可能である。
【００５４】
図３は、図１に示したコンピュータ装置１０２の一つの実装例３００であって、モバイル通信装置として構成され、ユーザ・インターフェース３０２を表示出力するように構成されたコンピュータ装置１０２の実装例を図示する。上述したとおり、ユーザ・インターフェース３０２は、多種多様なファイル・ホスト２０４に格納されたファイルへのアクセスを提供するために表示出力されることが可能である。従って、ユーザ・インターフェース３０２は、ユーザ入力に応答して、多種多様なファイル・ホスト２０４に格納された一群のファイルをナビゲートする機能をサポートするように構成され、その結果、ユーザは、ファイルに対するこのようなアクセス動作がどのように実行されるかを管理することが可能である。
【００５５】
この具体例におけるユーザ・インターフェース３０２は、写真形式のファイルを開くためのファイル・アクセス要求が受信されたことを示す情報を含むナビゲーション機能部分３０４を含むものとして図示されている。ユーザ・インターフェース３０２はさらに、ホスト識別機能部分３０６を含んでおり、これは、例えば、ユーザがナビゲーション機能部分３０４が提供する「ｊｕｍｐ  ｔｏ」オプションをユーザが選択したことに応答して、画面表示され得る。ホスト識別機能部分３０６は、多種多様なファイル・ホスト２０４の識別情報を画面表示する。図に示された具体例においては、ホスト識別機能部分３０６は、以下の識別情報、「コンピュータ」、「デスクトップ」、「ダウンロード」、「音楽」、「写真」、「フォトギャラリー・アプリケーション」および「ソーシャル・アプリケーション」を画面表示している。以下の識別情報、「コンピュータ」、「デスクトップ」、「ダウンロード」、「音楽」および「写真」は異なる複数のファイル・ホストまたは同一のファイル・ホスト内にある複数の異なる情報格納場所（例えば、ローカルなファイル・システム内における複数の異なるフォルダーや複数の異なるライブラリ）を指し示すことが可能である。識別情報「フォトギャラリー・アプリケーション」は、アプリケーション（例えば、フォトギャラリー・アプリケーション）として実装されているファイル・ホストを識別し、識別情報「ソーシャル・アプリケーション」は、これもまたアプリケーション（例えば、ソーシャル・アプリケーション）として実装されているファイル・ホストを識別する。上述した複数の識別情報は、テキスト表現としてリストされるけれども、例えば、画像、アイコン、動画像シーケンス等のようなそれ以外の多種多様な表現形式もまた考えられる。
【００５６】
上述したとおり、ユーザは、ユーザ・インターフェース３０２を介して多種多様な異なる方法により、ユーザ入力を提供することが可能である。例えば、ユーザは、ホスト識別機能部分３０６を画面表示させるために、ナビゲーション機能部分３０４の「ｊｕｍｐ  ｔｏ」オプションを自分の手でタッチして選択することが可能であり、また、「ホスティング対象区画」内に表示された選択済みの識別情報によって、当該ファイル・ホスト内に格納されているファイルを識別させるために、ホスト識別機能部分３０６に表示されている識別情報の中に一つをタッチして選択することが可能である。
【００５７】
このようにして、多種多様な要因に応答して、ユーザ・インターフェース３０２は表示出力されることが可能である。例えば、ブローカー・モジュール１１４は、アプリケーション１１２からファイル・アクセス要求を受信することが可能であり、これに応答して、ブローカー・モジュール１１４および／またはピッカー・モジュール１１６は、ユーザ・インターフェース３０２を表示出力することが可能である。上記以外にも多種多様な具体例がさらに考えられる。
【００５８】
図４は、図１に示したコンピュータ装置１０２の一つの実装例４００であって、モバイル通信装置として構成され、ユーザ・インターフェース４０２を表示出力するように構成されたコンピュータ装置１０２の実装例を図示する。上述したとおり、ユーザ・インターフェース４０２は、ユーザによって選択されることが可能な多種多様なファイル・ホスト２０４上のファイルを識別するために表示出力されることが可能である。ユーザ・インターフェース４０２においては、ユーザ・インターフェース３０２が有するホスト識別機能部分３０６において、識別情報「フォトギャラリー・アプリケーション」が選択されたと仮定する。従って、ユーザ・インターフェース３０２は、ユーザからの入力に応答して、フォトギャラリー・アプリケーションの一群のファイルをナビゲートする機能をサポートするように構成されることが可能であり、その結果、ユーザは、ファイルに対するこのようなアクセス動作がどのように実行されるかを管理することが可能である。
【００５９】
ユーザ・インターフェース４０２は、ナビゲーション機能部分３０４を含み、フォトギャラリー・アプリケーションの識別情報（例えば、「Photo  Gallery  App」）および前の画面（例えば、ユーザ・インターフェース３０２）に戻るためにユーザによって選択されることが可能な上向き矢印を図示している。
【００６０】
ユーザ・インターフェース４０２はさらに、当該フォトギャラリー・アプリケーションが対応するユーザ・インターフェース部分を生成する表示領域であるホスティング対象区画４０４を含んでいる。図示された具体例においては、当該フォトギャラリー・アプリケーションは、ホスティング対象区画４０４内における左側の部分に大きなサイズの画像を有し、ホスティング対象区画４０４内における右側の部分にそれ以外の複数の画像のサムネイルを有するユーザ・インターフェース部分を生成する。ユーザは、（例えば、自分の手３０８でタッチ操作することにより）ホスティング対象区画４０４内における右側部分の一つのサムネイルを選択してユーザが選択した画像を、ホスティング対象区画４０４内における左側の部分に大きなサイズの画像として表示する。ユーザは、（例えば、自分の手３０８でタッチ操作することにより）インポート・ボタン４０６を選択し、ホスティング対象区画４０４内における左側部分に表示された大きなサイズの画像を含むファイルを呼び出し側アプリケーションに戻り値として提供する。ホスティング対象区画４０４内における左側部分に表示された大きなサイズの画像を、呼び出し側アプリケーションに戻すべきファイルを表すものとして選択するために、上記以外の多種多様なユーザ入力操作がさらに実現可能であり、そのような入力操作として、例えば、上述した大きなサイズの画像をダブルクリック操作又はダブルタップ操作したり、画像のサムネイル表示部分を少なくとも所定の閾値に等しい時間だけ押し続けたままにするなどの操作が考えられる。
【００６１】
図５は、図１に示したコンピュータ装置１０２の一つの実装例５００であって、モバイル通信装置として構成され、ユーザ・インターフェース５０２を表示出力するように構成されたコンピュータ装置１０２の実装例を図示する。ユーザ・インターフェース５０２は、ユーザ・インターフェース４０２とほぼ同様のものであるが、一つ以上の異なるファイル・ホストから複数のファイルを選択することを可能にするためのコレクション機能部分５０４を含む点が異なる。コレクション機能部分５０４は、例えば、ピッカー・モジュール１１６により提供されることが可能である。ファイルは、複数の異なる方法により選択することが可能であり、例えば、ダブルクリック操作又はダブルタップ操作したり、ホスティング対象区画４０４内における右側部分からコレクション機能部分５０４へとドラッグ＆ドロップ操作したりすることによりファイルを選択することが出来る。ファイルが選択された際、当該ファイルのサムネイル画像がコレクション機能部分５０４の中に表示される。任意付加的に、ユーザは、例えば、ナビゲーション機能部分３０４の上向き矢印を選択してユーザ・インターフェース３０２の画面に戻ることにより、複数の異なるファイル・ホストからファイルを選択することが可能である。続いて、ユーザは、別のファイル提供元（例えば、ホスト識別機能部分３０６において識別情報「Social  App」により表されたソーシャル・ネットワーキング・アプリケーション）の識別情報を選択することが可能であり、これに応答して、ホスティング対象区画４０４内に表示されるユーザ・インターフェース部分は、当該ソーシャル・ネットワーキング・アプリケーションによって提供される。（フォトギャラリー・アプリケーションから選択されたことによってコレクション機能部分５０４において既に表示されているファイルのサムネイルに加えて）当該ソーシャル・ネットワーキング・アプリケーションからの追加の一つ以上のファイルが選択された上で、コレクション機能部分５０４に追加されることが可能である。
【００６２】
ユーザが一つ以上のファイルを選択した後に、ユーザは、自分の手３０８でタッチ操作するなどして、インポート・ボタン５０６を選択し、当該選択された一つ以上のファイル（当該ファイルのサムネイル画像がコレクション機能部分５０４に表示されている）を呼び出し側アプリケーションに戻す。当該選択された一つ以上のファイルを呼び出し側アプリケーションに戻すために、上記以外の他のユーザ入力操作を実現することも可能である。
【００６３】
図６は、図１に示したコンピュータ装置１０２の一つの実装例６００であって、当該実装例がファイル・ホストにファイルを保存するように構成されたユーザ・インターフェース６０２を表示出力している様子を図示する。この具体例においては、ユーザ・インターフェース６０２は、フォトギャラリー・アプリケーションであるファイル・ホストへとファイルを保存するように、コンピュータ装置１０２によって構成設定されている。ユーザ・インターフェース６０２は、ホスティング対象区画６０４を含んでおり、ホスティング対象区画６０４内においては、フォトギャラリー・アプリケーションは、対応するユーザ・インターフェース部分を生成し、この例においては、当該ユーザ・インターフェース部分は、画像ファイルであるファイルの視覚表現を含んでいる。山を描いた視覚表現が、ファイル・ホストに保存するために選択されたものとして図示されている。
【００６４】
ホスティング対象区画６０４はさらに、保存すべきファイルに関する情報を指定するように構成された保存機能部分６０６を含んでおり、この例においては、保存すべきファイルは、「Vacation」という名前が付けられ、ファイル形式が「ＪＰＥＧ形式」のファイルである。ホスティング対象区画６０４の一部として、ソフト・キーボード６０８がさらに表示されており、保存機能部分６０６に入力データを入力するために、タッチ操作によるユーザ入力を受け取るように構成されている。このようにして、ユーザは、ユーザ・インターフェース全体の中をナビゲートし、保存すべきファイルを指定し、当該ファイルを保存するために使用すべき情報を入力し、ユーザ・インターフェース６０２との対話を通じてファイルが保存されるようにすることが可能である。
【００６５】
＜例示的なプロシージャ＞
本明細書中における以下の検討は、複数のファイル・ホストによるファイル・アクセスを実現するために上述したシステムと装置を使用して実装される技術について述べている。本発明を実施するための複数のプロシージャの各々は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせによって実装されることが可能である。当該プロシージャは、一つ以上の装置によって実行される処理動作を指定する一連の処理ステップの組として示され、個々の処理ステップによって一連の処理動作を実行するための実行順序は、図示されている実行順序に限定される必要はない。以下において後述する検討内容の一部においては、図１および図２に示した構成要素を参照しながら説明をしている。
【００６６】
図７は、本発明に係る一つ以上の実施例に従い、複数の異なるファイル・ホストからファイルをアクセスするための技術として本明細書中で検討される技術を実装するための例示的プロシージャ７００を図示する。プロシージャ７００は、ファイル管理モジュール１０６等のようなファイル管理モジュールによって実装されている。プロシージャ７００において、ファイル・アクセス要求がアプリケーションから受信される（処理ステップ７０２）。当該ファイル・アクセス要求は、上述したように、ファイル管理モジュール内のブローカー・モジュールによって公開されているＡＰＩを、当該アプリケーションが起動することによって受信され、この場合のファイル・アクセス要求は、一つ以上のファイルを読み出す要求であるとする。
【００６７】
上述したファイル・アクセス要求に関して、一つ以上のファイル形式が識別される（処理ステップ７０４）。これら一つ以上のファイル形式は、上述したように、ファイル・アクセス要求の一部として識別されることが可能である。これら一つ以上のファイル形式は、典型的には、アプリケーションが読み出すために要求しているファイルの種別である。
【００６８】
上記のとおり識別された一つ以上のファイル形式を有するファイルをサポートしている一つ以上のファイル・ホストが識別される（処理ステップ７０６）。上述したとおり、これら一つ以上のファイル・ホストは、多種多様なタイプのファイル・ホストとすることが可能であり、例えば、上記アプリケーション以外の他のアプリケーションとすることが可能である。当該ファイル・ホストによってサポートされているファイル形式は、複数の異なる方法により識別可能であり、例えば、上述したように、登録手順の実行中に識別することが可能である。
【００６９】
ホスティング対象区画を内部に含んだユーザ・インターフェースが画面表示される（処理ステップ７０８）。当該ホスティング対象区画内においては、一つ以上のファイル・ホストの中の少なくとも一つが読み出すために選択されることが可能な一つ以上のファイルを識別するユーザ・インターフェースの一部分を画面表示する。当該ユーザ・インターフェースの一部分を画面表示しているファイル・ホストは、上述したように、時間の経過に伴って変化することが可能である。加えて、上記において検討したとおり、当該アプリケーションは、どのファイル・ホストが当該ホスティング対象区画に上述したユーザ・インターフェースの一部分を画面表示しているのかについて全く意識することなくファイル・アクセスを行うことができ、当該ファイル・ホストは、当該ホスティング対象区画における上述したユーザ・インターフェース部分の表示内容を、当該ファイル・ホストが望むとおりに個別最適化することが可能である。
【００７０】
当該少なくとも一つのファイル・ホストが格納する一つ以上のファイルをユーザが選択した結果が受信される（処理ステップ７１０）。当該ファイル・ホストの各々からの一つ以上のファイルについてのユーザの選択結果は、上述したような方法で受信されることが可能である。
【００７１】
ユーザによって選択された一つ以上のファイルが当該アプリケーションに戻される（処理ステップ７１２）。上述したとおり、当該アプリケーションは、ユーザによって選択された一つ以上のファイルが、当該一つ以上のファイル・ホストの中のどれから選択されたのかを全く意識しないでファイル・アクセスを行うことが可能である。
【００７２】
図８は、本発明に係る一つ以上の実施例に従い、複数の異なるファイル・ホストからファイルをアクセスするための技術として本明細書中で検討される技術を実装するための例示的プロシージャ８００を図示する。プロシージャ８００は、ファイル管理モジュール１０６等のようなファイル管理モジュールによって実装されている。プロシージャ８００において、ファイル・アクセス要求がアプリケーションから受信される（処理ステップ８０２）。当該ファイル・アクセス要求は、上述したように、ファイル管理モジュール内のブローカー・モジュールによって公開されているＡＰＩを、当該アプリケーションが起動することによって受信され、この場合のファイル・アクセス要求は、一つ以上のファイルを保存する要求であるとする。
【００７３】
当該アプリケーションによって保存されるべきファイルのフェイル形式が識別される（処理ステップ８０４）。このファイル形式は、複数の異なる方法によって識別されることが可能であり、例えば、ファイル・アクセス要求の一部として含められ、ユーザ入力操作によって提供され、ファイルの内部において固有のものとして既定されていたり（例えば、ファイル名の拡張子によって識別されたり、当該ファイルと関連付けられているメタデータによって識別されたり）する。
【００７４】
上記のとおり識別された一つ以上のファイル形式を有するファイルをサポートしている一つ以上のファイル・ホストが識別される（処理ステップ８０６）。上述したとおり、これら一つ以上のファイル・ホストは、多種多様なタイプのファイル・ホストとすることが可能であり、例えば、上記アプリケーション以外の他のアプリケーションとすることが可能である。当該ファイル・ホストによってサポートされているファイル形式は、複数の異なる方法により識別可能であり、例えば、上述したように、登録手順の実行中に識別することが可能である。
【００７５】
ホスティング対象区画を内部に含んだユーザ・インターフェースが画面表示される（処理ステップ８０８）。当該ホスティング対象区画内においては、ファイルが少なくとも一つのファイル・ホストによって保存されることを可能とするユーザ・インターフェースの一部分を、一つ以上のファイル・ホストの中の少なくとも一つが画面表示する。上述したとおり、ファイルの保存先となる情報格納場所は、当該ホスティング対象区画内に表示されているユーザ・インターフェース部分を介して、ユーザにより選択されることが可能である。当該ユーザ・インターフェースの一部分を画面表示しているファイル・ホストは、上述したように、時間の経過に伴って変化することが可能である。加えて、上記において検討したとおり、当該アプリケーションは、どのファイル・ホストが当該ホスティング対象区画に上述したユーザ・インターフェースの一部分を画面表示しているのかについて全く意識することなくファイル・アクセスを行うことができ、当該ファイル・ホストは、当該ホスティング対象区画における上述したユーザ・インターフェース部分の表示内容を、当該ファイル・ホストが望むとおりに個別最適化することが可能である。
【００７６】
＜結論＞
様々なモジュールによって実行される様々な処理動作（例えば、通信動作、受信動作、送信動作、格納動作、生成動作、取得動作など）が本明細書中で上記のとおりに検討された。多種多様なモジュールが上述したような処理動作の実行を引き起こすことが可能であることに留意されたい。特定のモジュールが一つの処理動作の実行を引き起こすことは、当該特定のモジュール自体が当該処理動作を実行する場合を含む一方で、代替的には、当該処理動作を実行する別の機能部品やモジュールを当該特定のモジュールから起動したり、アクセスしたりする場合を含む（または、別の機能部品やモジュールが当該特定のモジュールと連携しながら当該処理動作を実行する場合も含む）。
【００７７】
本発明の主題は、構造的な特徴や方法的な処理動作に特有の記載形式により上記において説明されてきたけれども、本明細書に添付した請求項において定義されている発明の主題は、必ずしも、上記において説明された具体的な特徴や処理動作だけに限定されない。むしろ、上述した具体的な特徴や処理動作は、請求項に記載された発明を実施するための例示的な実施形態の一例として記載されているに過ぎない。
【図１】
0005932982.tif 000002
【図２】
0005932982.tif 000003
【図３】
0005932982.tif 000004
【図４】
0005932982.tif 000005
【図５】
0005932982.tif 000006
【図６】
0005932982.tif 000007
【図７】
0005932982.tif 000008
【図８】
0005932982.tif 000009