JP5932982B2 - 複数の異なるファイル・ホストによるファイル・アクセス - Google Patents

複数の異なるファイル・ホストによるファイル・アクセス Download PDF

Info

Publication number
JP5932982B2
JP5932982B2 JP2014512826A JP2014512826A JP5932982B2 JP 5932982 B2 JP5932982 B2 JP 5932982B2 JP 2014512826 A JP2014512826 A JP 2014512826A JP 2014512826 A JP2014512826 A JP 2014512826A JP 5932982 B2 JP5932982 B2 JP 5932982B2
Authority
JP
Japan
Prior art keywords
file
application
host
user interface
files
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014512826A
Other languages
English (en)
Other versions
JP2014522521A (ja
JP2014522521A5 (ja
Inventor
ディー. ホーヘルウェルフ,スコット
ディー. ホーヘルウェルフ,スコット
シー. フィールズ,デイヴィッド
シー. フィールズ,デイヴィッド
ジェイ. ギルモア,マイケル
ジェイ. ギルモア,マイケル
エー. エベリング,ロルフ
エー. エベリング,ロルフ
ジェイ. ボール,スティーヴン
ジェイ. ボール,スティーヴン
ミシュラ,マナヴ
ケイ. ビーム,タイラー
ケイ. ビーム,タイラー
エイチ. リヤオ,ロバート
エイチ. リヤオ,ロバート
ジェイ. カラス,ベンジャミン
ジェイ. カラス,ベンジャミン
ピー. ドゥイグナン,マシュー
ピー. ドゥイグナン,マシュー
ハリス,ジェンセン
ジェイコブ ホワイト,リチャード
ジェイコブ ホワイト,リチャード
ウォン,リヨン
エル. デイヴィス,デニス
エル. デイヴィス,デニス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2014522521A publication Critical patent/JP2014522521A/ja
Publication of JP2014522521A5 publication Critical patent/JP2014522521A5/ja
Application granted granted Critical
Publication of JP5932982B2 publication Critical patent/JP5932982B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/168Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Description

本発明は、複数の異なるファイル・ホストからファイルをアクセスするための技術と関係する。
文書ファイル、画像ファイル、音楽ファイル、動画像ファイルなどのようにユーザにとって興味の対象となるファイルがしばしば生じる。これらのファイルは、ユーザが所有するコンピュータのハード・ディスク・ドライブやネットワーク内のサーバなどのような多種多様な記憶装置の上に記憶されることが可能である。しかしながら、上述したような複数の記憶装置に跨ってこれらのファイルへのアクセス動作を追跡することは、ユーザにとって煩雑となる場合があり、ユーザが当該ファイルと共に使用したいと望むそれぞれのアプリケーションから上述したような複数の記憶装置をアクセスするようなことがしばしば必要となり、さらに、上述したような複数の記憶装置の中の何れがどのファイルを格納しているかを追跡するようなこともしばしば必要となる。
ここで述べる「発明の概要」の説明は、以下において「発明の実施するための形態」の欄においてさらに詳細に説明される本発明に係る複数の発明概念の中から選択された一部を簡略化された形で紹介するために記述される。ここで述べる「発明の概要」の説明は、本明細書に添付された請求項に記載された発明の主題において鍵となる特徴や本質的な特徴を具体的に特定することを意図したものではなく、本明細書に添付された請求項に記載された発明の技術的範囲を限定するために使用することを意図するものでもない。
本発明に係る一つ以上の具体的実施態様においては、ファイル・アクセス要求は、アプリケーションから受信される。当該ファイル・アクセス要求に関して一つ以上のファイル・タイプが識別され、当該識別された一つ以上のファイル・タイプに該当するファイルをサポートしている一つ以上のファイル・ホストがさらに識別される。ユーザ・インターフェースが画面表示され、当該ユーザ・インターフェースはホスティング対象区画を含んでいる。当該ホスティング対象区画内においては、当該一つ以上のファイル・ホストのうちの少なくとも一つが上述したユーザ・インターフェースの画面表示内容の一部として、当該少なくとも一つのファイル・ホストが有する一つ以上のファイルを識別する表示内容を画面表示し、当該識別された一つ以上のファイルは、ファイル読み出しのために選択され得る。
本発明に係る一つ以上の具体的実施態様においては、ファイル・アクセス要求は、アプリケーションから受信される。当該アプリケーションによって保存されるファイル・タイプが識別され、当該識別されたファイル・タイプのファイルをサポートしている一つ以上のファイル・ホストがさらに識別される。ユーザ・インターフェースが画面表示され、当該ユーザ・インターフェースはホスティング対象区画を含んでいる。当該ホスティング対象区画内においては、当該一つ以上のファイル・ホストのうちの少なくとも一つが上述したユーザ・インターフェースの画面表示内容の一部として、当該ファイルが当該少なくとも一つのファイル・ホストによって保存されることを可能にする表示内容を画面表示する。
以下において後述する「発明を実施するための形態」は、本明細書に添付した添付図面を参照しながら説明される。添付図面において、各構成要素に付記された参照番号の最も左端にある文字は、当該参照番号が付記された構成要素が最初に現れる図面の番号を識別するものである。以下の説明および添付図面において複数の異なるインスタンスについて同一の参照番号が使用されている場合、それら複数のインスタンスは、同種のもの又は同一のものを表していると解釈することが可能である。
本発明に係る一つ以上の実施例に従い、本明細書中で検討される例示的システムであって、複数の異なるファイル・ホストからファイルをアクセスするための技術を実装している例示的システムを図示する図 複数の異なるファイル・ホストからファイルをアクセスするための技術を実装しているシステムのさらに別の例であって、本発明に係る一つ以上の実施例に従い、本明細書中で検討されるさらに別の例示的システムを図示する図 本発明に係る一つ以上の実施例に従い、複数の異なるファイル・ホストからファイルをアクセスするための技術として本明細書中で検討される技術を使用して画面表示される例示的なユーザ・インターフェースの第1の例を図示する図 本発明に係る一つ以上の実施例に従い、複数の異なるファイル・ホストからファイルをアクセスするための技術として本明細書中で検討される技術を使用して画面表示される例示的なユーザ・インターフェースの第2の例を図示する図 本発明に係る一つ以上の実施例に従い、複数の異なるファイル・ホストからファイルをアクセスするための技術として本明細書中で検討される技術を使用して画面表示される例示的なユーザ・インターフェースの第3の例を図示する図 本発明に係る一つ以上の実施例に従い、複数の異なるファイル・ホストからファイルをアクセスするための技術として本明細書中で検討される技術を使用して画面表示される例示的なユーザ・インターフェースの第4の例を図示する図 本発明に係る一つ以上の実施例に従い、複数の異なるファイル・ホストからファイルをアクセスするための技術として本明細書中で検討される技術を実装するための例示的プロシージャを図示する図 本発明に係る一つ以上の実施例に従い、複数の異なるファイル・ホストからファイルをアクセスするための技術として本明細書中で検討される技術を実装するためのプロシージャのさらに別の例を例示する図
<全体の概要>
複数の異なるファイル・ホストからファイルをアクセスするための技術が以下において検討される。アプリケーションを使用する際、ユーザは、(ファイル・システムやその他のアプリケーション、ネットワーク・サービス提供事業者のシステムなどの)多種多様なファイル・ホストによって維持管理されるファイルを読み出すことが可能である。同様に、ユーザは、多種多様なファイル・ホストにファイルを保存することが可能である。本実施形態においては、ホスティング対象区画を有するユーザ・インターフェース(UI)が画面表示される。ファイル・ホストの各々は、当該ホスティング対象区画内の画面表示内容を、上述した各ファイル・ホストが望むとおりに個別最適化することが可能である。このようなホスティング対象区画内に画面表示されたユーザ・インターフェースと対話することによって、ユーザは、ファイルを読み出し、当該ユーザが使用中のアプリケーションへと入力するために、上述した多種多様なファイル・ホストからファイルを選択することが可能であり、および/又は、ユーザは、ファイルを保存する際の保存先となるファイル・ホストを選択することが可能である。
以下の検討においては、本明細書中で説明される技法を実行するために動作可能な例示的システムが最初に説明される。続いて、上述した例示的システムまたはその他のシステムの上で上述した技法を実行するための例示的なプロシージャが説明される。同様に、上述した例示的システムの利用目的は、上述した例示的プロシージャの実行のためだけに限定されない。
<例示的システム>
図1は、本発明に係る一つ以上の実施例に従い、本明細書中で検討される例示的システムであって、複数の異なるファイル・ホストからファイルをアクセスするための技術を実装している例示的システム100を図示する。図1に図示されたシステム100は、コンピュータ装置102を含んでおり、装置102は、多種多様な方法に従って構成設定することが可能である。例えば、コンピュータ装置102は、ネットワーク104を介して通信する機能を有するコンピュータとして構成することが可能であり、そのような装置の例には、デスクトップ型コンピュータ、タブレット型またはノートパッド型のコンピュータ、移動局、娯楽用コンピュータ機器、ディスプレイ装置やテレビ受像機やその他の表示装置と通信可能な状態で接続されたセットトップ・ボックス、セルラー式携帯電話やその他の無線電話機、ゲーム・コンソールなどが含まれる。
コンピュータ装置102に含まれる情報処理機器の範囲は、充分な量のメモリとプロセッサ・リソースを有し、計算リソースをフル装備したパーソナル・コンピュータやゲーム・コンソール等のようなデバイスから、限られた量のメモリと計算処理リソースしか有さず、ローエンドのリソースしか装備していない従来型のセットトップ・ボックスやハンドヘルド型のゲーム・コンソール等のようなデバイスまで多種多様なデバイスに及んでいる。加えて、図中にはコンピュータ装置102として単一のコンピュータ装置しか図示されていないけれども、コンピュータ装置102は、図示されるべき複数の異なる装置の総称を表していると解してもよい。例えば、コンピュータ装置102は、企業が業務を行うために利用する多数のサーバを総称するものであってもよく、リモコン装置とセットトップ・ボックスの組み合わせを総称するものであってもよく、画像キャプチャ装置(例えば、カメラ)とゲーム・コンソールを繋いでユーザの身振り手振りをキャプチャするように構成されたもの全体を表すものでもよい。
コンピュータ装置102はさらに、コンピュータ装置102内のプロセッサや機能ブロックを設定する等して、コンピュータ装置102のハードウェアに所定の処理動作を実行させるエンティティ(例えば、ソフトウェア等)を含むことも可能である。例えば、コンピュータ装置102は、命令コードを保持するように構成されることが可能なコンピュータ読み出し可能媒体を含むことが可能であり、当該命令コードは、コンピュータ装置102に所定の処理動作を実行させる。より具体的に言うと、当該命令コードは、コンピュータ装置102のハードウェアに所定の処理動作を実行させる。従って、上述した命令コードは、上記所定の処理動作を実行するようにハードウェアを設定し、このようにして、当該ハードウェアの機能構成が上記所定の処理動作を実行することができるように変換される。上述した命令コードは、上述したコンピュータ読み出し可能媒体によって、多種多様な異なる構成を介して、コンピュータ装置102へと供給されることが可能である。
上述したコンピュータ読み出し可能媒体のそのような多種多様な構成の一つは、信号搬送媒体であり、従って、命令コードを(例えば、搬送波信号の形で)コンピュータ装置のハードウェアへと(ネットワーク104を介するなどして)伝送するように構成される。上述したコンピュータ読み出し可能媒体のそのような多種多様な構成の一つは、記録媒体であり、従って、信号搬送媒体とは全く異なる。コンピュータ読み出し可能な記録媒体の具体例には、RAM(ランダム・アクセス・メモリ)、ROM(読み出し専用メモリ)、光学ディスク(例えば、DVDやCDなど)、フラッシュ・メモリ、ハードディスク型記憶装置、さらには、命令コードとその他のデータを記録するために磁気的、光学的な技術あるいはその他の技術を使用可能なその他のメモリ装置などが含まれる。
ネットワーク104の構成については、多種多様な異なる構成を仮定することが可能である。例えば、ネットワーク104は、インターネット、広域網(WAN)、ローカルエリア網(LAN)、パーソナルエリア・ネットワーク(PAN)、無線網、公衆電話網、イントラネット、またはこれらが組み合わさった通信網などを含むことが可能である。さらには、図中においてはネットワーク104として単一のネットワークだけが図示されているが、ネットワーク104は多数のネットワークを含むように構成されることも可能である。
図中において、コンピュータ装置102は、ファイル管理モジュール106を含んでいるように図示されている。ファイル管理モジュール106は、一つ以上のファイルへのアクセス動作を管理する機能を表現するものであり、当該一つ以上のファイルには、ファイル・システム108内に存在するファイルが含まれる。ファイル管理モジュール106は、多種多様な方法で実装することが可能であり、例えば、スタンドアロン型のアプリケーションとして、コンピュータ装置102のオペレーティング・システムの一部分として、当該オペレーティング・システムと連携して実行されるアプリケーションとして、またはその他の実装形態として実装することが可能である。
ファイル・システム108は、コンピュータ装置102によって複数のファイル110を組織的に管理しながら格納するための技法を採用している。例えば、ファイル・システム108は、複数のファイル110(例えば、実行可能形式ファイルやライブラリ・ファイルなど)を記憶装置内において管理するためのフォルダの階層構造を採用することが可能である。ファイル管理モジュール106やファイル・システム108によって採用されることが可能なその他の多種多様なファイル管理技法が考えられる。加えて、ファイル管理モジュールを使用して、多種多様な異なるファイル形式を持つ複数のファイル110を管理することが可能である。例えば、複数のファイル110は、テキスト形式の文書ファイル、画像ファイル、動画像ファイル、音声ファイルまたはこれらを組み合わせたファイルなどとすることが可能である。
アプリケーション112は、コンピュータ装置102の上で実行される一つ以上のプログラム、スクリプト、またはその他の種類の命令コードの集合である。アプリケーション112の構成として、多種多様な異なる構成を仮定することが可能であり、そのような多種多様な構成は、例えば、娯楽用アプリケーション(例えば、ゲームまたは音声/ビデオ再生アプリケーション等)、ユーティリティ・アプリケーション(例えば、ワープロ・ソフトやWebブラウザなど)、参照用アプリケーション(電子辞書や電子百科事典など)などを含む。アプリケーション112は、コンピュータ装置102の上で実行される一つ以上のプログラム、スクリプト、またはその他の種類の命令コードの集合とすることが可能であり、ファイル110として格納することが可能である。代替的に、アプリケーション112は、ファイル110として格納されることなく、リモート・サービスから(例えば、ネットワーク104を介して)ダウンロードすることが可能な一つ以上のプログラム、スクリプト、またはその他の種類の命令コードの集合とすることが可能である。また、アプリケーション112は、リモート・サービスの上で実行され、当該リモート・サービスによって生成されたユーザ・インターフェースが(例えば、ネットワーク104を介して)コンピュータ装置102上に提供されるような一つ以上のプログラム、スクリプト、またはその他の種類の命令コードの集合とすることが可能であり、当該ユーザインターフェースは、(例えば、ネットワーク104を介して)当該アプリケーションから画面表示を出力し、コンピュータ装置102上で受け取ったユーザ入力を、当該リモート・サービス上で処理を実行するために(例えば、ネットワーク104を介して)当該アプリケーションに戻すためのものである。
本発明に係る一つ以上の実施例においては、アプリケーション112は、単独で動作するアプリケーションとすることが可能であり、この場合、当該アプリケーションは、コンピュータ装置102上のリソース(例えば、ネットワーク接続された他のコンピュータ、インターネット、モジュール、デバイス、メモリまたは他のアプリケーションなど)への当該アプリケーションによるアクセスが制限されるような態様で実行される。コンピュータ装置102上のオペレーティング・システム(及び/又は他のソフトウェア、ファームウェア、ハードウェアなど)は、当該単独で動作するアプリケーションが、コンピュータ装置102上のメモリやその他のリソースへアクセスすることを可能にし、これらのリソースは、当該単独で動作するアプリケーションに対して割り当てられた、さもなければ、利用可能にされたリソースであるが、コンピュータ装置102上で同時に実行されている他のアプリケーションのメモリやリソース類に対して当該単独で動作するアプリケーションからアクセスすることは妨げられ、また、当該同時に実行されている他のアプリケーション自体への当該単独で動作するアプリケーションからのアクセスも妨げられる。このような保護機能は、コンピュータ装置102上で同時に実行されている他のアプリケーションの実行を、当該単独で動作するアプリケーションによる干渉から保護すると同時に、当該単独で動作するアプリケーションの実行を、コンピュータ装置102上で同時に実行されている他のアプリケーションによる干渉から保護し、これによって、コンピュータ装置102上で同時に実行されている各アプリケーションの実行を、他のアプリケーションから独立したものとしている。
本発明に係る一つ以上の実施例においては、アプリケーション112は、サンドボックス内で実行されることにより、制限された態様で実行されることが可能である。図中において、アプリケーション112として単一のアプリケーションだけが図示されているけれども、コンピュータ装置102上において、複数のアプリケーションが同時並列的に実行される(この場合、各アプリケーションは、それぞれ自分専用のサンドボックス内で実行される)ことも可能である。
ファイル管理モジュール106は、ブローカー・モジュール114とピッカー・モジュール116を含むようにさらに図示されている。ブローカー・モジュール114は、アプリケーション112による多種多様なファイル・ホスト(例えば、ファイル・システム108、その他のアプリケーション、サービス・プロバイダなど)へのアクセス動作を管理するためのファイル管理モジュールの機能を表象するものである。例えば、ブローカー・モジュール114は、アプリケーション112から要求されたファイルの格納位置を特定するための仲介者として動作し、アプリケーション112に対して当該要求されたファイルを提供することが可能である。さらに、当該要求されたファイルがアプリケーション112に対して提供される際に、アプリケーション112は、当該ファイルがどこから取得されたか(例えば、ファイル・システム108によって使用される名前空間やファイルが置かれていたホストなど)をいちいち知る必要が無い。例えば、ブローカー・モジュール114は、アプリケーション112を、多種多様なファイル・ホストに関する具体的な詳細や当該ファイル・ホストがファイルを格納するための具体的な方法から独立したものとすることが可能な抽象化レイヤとして動作することが可能である。
加えて、ブローカー・モジュール114は、ユーザが多種多様なファイル・ホストからファイルを選択することが可能となるようにユーザ・インターフェースを構成設定するためのピッカー・モジュール116を使用することが可能である。ピッカー・モジュール116は、必要に応じて複数のファイル・ホストとの間の通信を管理するUIモジュール122を含んでおり、上述したファイル・ホストとの間の通信の管理には、(例えば、ネットワーク)104を介してサービス・プロバイダにより)リモート・アクセスを管理することが含まれる。UIモジュール122はさらに、他のファイル・ホストとの間の通信に基づいて、ユーザ・インターフェースの少なくとも一部を管理する。例えば、UIモジュール122は、(一つ以上のコンピュータ装置によって実装されている)サービス・プロバイダ120を介してネットワーク104を経由してアクセス可能なファイルをユーザが選択することが出来るように、ユーザ・インターフェースの一部を構成設定し、又は、サービス・プロバイダ側のアプリケーションによって管理されているリモート・ファイルをユーザが選択したり、コンピュータ装置102上で他のアプリケーションにより管理されているファイルをユーザが選択したりすることが出来るように、ユーザ・インターフェースの一部を構成設定することが可能である。
コンピュータ装置102上の多種多様なモジュールやアプリケーション(アプリケーション112やピッカー・モジュール116等)は、コンピュータ装置102のユーザからユーザ入力を受け取ることが可能である。これらのユーザ入力は、データやユーザによる選択結果などを提供することが可能である。ユーザ入力は多種多様な異なる方法により提供されることが可能であり、そのような方法の例としては、コンピュータ装置102のキーパッドやキーボードの上に設けられた一つ以上のキーを押下することによる方法、コンピュータ装置102のコントローラ(リモコン装置、マウス、トラックパッドなど)に設けられた一つ以上のキーを押下することによる方法、コンピュータ装置102のタッチパッドやタッチ・スクリーンの特定の部分をタッチすることによる方法、コンピュータ装置102のタッチパッドやタッチ・スクリーンの画面に対して特定の身振り手振りを示すことによる方法、コンピュータ装置102のコントローラ(リモコン装置、マウス、トラックパッドなど)を使って特定の身振り手振りを示すことによる方法などが含まれる。ユーザ入力は、コンピュータ装置102が備える他の物理的なフィードバック入力機構を介して提供されることも可能であり、例えば、コンピュータ装置102の特定の箇所をユーザがタップしたり、(振動認識装置や回転認識装置のように)コンピュータ装置102内の動き検出機能部品を使用してユーザの身振り手振りを認識させたりなどにより実現可能である。ユーザ入力は、さらに別の方法によって提供することも可能であり、例えば、マイクロフォンを使用した音声入力による方法や、画像キャプチャ装置を使用して観察される手の動きや他の身体部分の動きを認識する方法などがあり得る。
一般的に、本明細書中で説明される如何なる機能であっても、ソフトウェア、ファームウェア、ハードウェア(例えば、配線が固定された論理回路)、手動操作による処理、または上述した実装形態を組み合わせたものを使用して実装することが可能である。本明細書中で使用される用語「モジュール」および「機能」は、通常、ハードウェア、ソフトウェア、又はこれらの組み合わせを表している。ソフトウェアによる実装の場合、「モジュール」、「機能」または「ロジック」は、ハードウェアにとって指定される処理動作を実行する命令コードやハードウェア(例えば、一つ以上のプロセッサや機能ブロック)を表している。
図2は、複数の異なるファイル・ホストからファイルをアクセスするための技術を実装しているシステムの例であって、本発明に係る一つ以上の実施例に従い、本明細書中で検討されるさらに例示的システム200を図示する。図中に示されたシステム200の一部分は、図1に示されたコンピュータ装置102上のファイル管理モジュール106によって実装されることが可能である。
図中に示したシステム200は、アプリケーション202(例えば、図1に示すアプリケーション112とすることが可能である)、ブローカー・モジュール114、ピッカー・モジュール116および一つ以上のファイル・ホスト204を含んでいる。この例において、アプリケーション202は、ファイル・ホスト204をアクセスするために、ブローカー・モジュール114によってアプリケーションから呼び出し可能とされている一つ以上のAPI(Application Programming Interface)を介してブローカー・モジュール114と通信する。図2には、単一のアプリケーションと特定のファイル・ホスト204だけが図示されているけれども、当業者であれば、システム200には、任意の個数のファイル・ホスト204をアクセスする任意の個数のアプリケーション202が含まれ得ることが理解できよう。
本発明に係る一つ以上の実施例においては、アプリケーション202は、特定のファイルが一つ以上のファイル・ホスト204によってどの情報格納場所においてどのような方法で配列され、組織化され、維持管理されているかなどについて一切関知することなく、ファイル・ホスト204にアクセスすることを許可される。例えば、アプリケーション202は、ファイル・ホスト204を介してファイルをアクセスするのに使用される名前空間やデータ・モデルについて一切関知することなく、ファイル・アクセスを行うことが可能である。従って、ブローカー・モジュール114は、上述したAPIを介してアプリケーション202から受け取ったアクセス要求をアクセス対象となるファイルの具体的な格納場所を特定するために理解可能な形式に変換することが可能である。
本発明に係るその他の実施例においては、アプリケーション202は、特定のファイルが具体的なファイル・ホスト204内のどの情報格納場所においてどのような方法で配列され、配置されているかなどについて意識しながらファイル・アクセスを行うことが可能である。例えば、アプリケーション202は、ローカルなファイル・システム212によってサポートされている名前空間を使用してファイル・アクセスを行うように構成設定されることが可能であり、その場合、ブローカー・モジュール114がアプリケーションからのファイル・アクセス要求を上記のように変換する動作は実行されない。上記の方法以外にも多種多様な具体例が考えられ、例えば、特定のアプリケーションに関しては、ブローカー・モジュール114との間の対話を行うこと無しに、ローカルなファイル・システム212への直接的なアクセスを可能にする方法などが考えられ、この場合、以下において後述するとおり、ファイルは、ユーザ・インターフェース206以外の他のユーザ・インターフェースを介してアクセスされる。
ピッカー・モジュール116は、ファイルの読み出しのためにユーザによるファイルの選択機能などを実現したり、又はファイルの保存先を指定する機能を実現したりするユーザ・インターフェース206を表示する。ユーザ・インターフェース206は、多種多様なファイル・ホストからファイルを読み出したり、多種多様なファイル・ホストにファイルを保存したりすることを可能にする。例えば、ユーザ・インターフェース206は、ファイル・ホスト204によって生成されたユーザ・インターフェース部分が画面表示される区画である「ホスティング対象区画」を内部に含むことが可能である。
ブローカー・モジュール114とピッカー・モジュール116は、アプリケーション202とファイル・ホスト204との間の仲介者としての機能を発揮する。アプリケーション202は、ファイル・ホスト204の存在を直接には認識する必要が無く、ファイル・ホスト204もまた、アプリケーション202の存在を直接には認識する必要が無いようにすることが可能である。加えて、ファイル・ホスト204によって生成されたユーザ・インターフェース部分が、ユーザ・インターフェース全体の中の一部として画面表示される区画である「ホスティング対象区画」を内部に含むユーザ・インターフェース206は、ピッカー・モジュール116によって提供される。従って、アプリケーション202は、所与の時点において、「ホスティング対象区画」内にユーザ・インターフェースの一部分を画面表示させているファイル・ホスト204の存在を直接には認識する必要が無く、同時に、ファイルのアクセス元となっている具体的なファイル・ホスト204がどのホストであるかという点(例えば、ファイルがどのファイル・ホスト204から読み出されたり、どのファイル・ホスト204に保存されたりするのかという点)についても認識する必要が無い。
ブローカー・モジュール114および/またはピッカー・モジュール116は、多種多様な異なるファイル・ホスト204(例えば、ローカルなファイル・システム212、アプリケーション214、リモートなファイル・システム216、サービス・プロバイダ218など)と通信することが可能である。ブローカー・モジュール114および/またはピッカー・モジュール116は、多種多様な異なる方法により、ファイル・ホスト204と通信することが可能であり、一つ以上の実施例においては、ブローカー・モジュール114および/またはピッカー・モジュール116は、複数のファイル・ホスト204の各々との間で通信するための具体的な方法に関する情報によって構成設定されることが可能であり、さもなければ、そのような情報を外部から取得することが可能である。
ファイル・ホスト204とは、ファイルを組織化し、管理し、および/または格納するためのシステム、サービス、アプリケーション等を指して言う。ファイル・ホスト204は、「ホスティング対象区画」内にユーザ・インターフェースの一部分を画面表示し、ファイル・ホスト内のファイル(ファイル・ホストが組織化し、管理し、および/または格納しているファイル)をアクセスする(読み出したり、格納したりする)ことを可能にする。ファイル・ホスト204は、多種多様な異なるデータ・モデル(ファイルを格納するために使用される各種フォーマットやアクセス・プロトコルなど)を使用して、多種多様な異なる方法により、ファイルを組織化し、格納することが可能であり、例えば、ファイルを個別のファイルとして記憶装置上に格納したり、ファイルをデータベースやその他のレコード内に格納したり、ファイルの集合体やグループ化されたファイルの一部として(例えば、zip形式圧縮ファイルやキャビネット形式ファイルの一部として)格納したりすることが可能である。ファイル・ホスト204によってどのようなデータ・モデルが使用されるかに関係なく、ファイル・ホスト204の各々は、自身がが組織化し、管理し、および/または格納しているファイルをアクセスする(ファイルを識別し、格納し、読み出し、修正する)ための具体的な方法を認識している。
ローカルなファイル・システム212は、ローカルな記憶装置の上の一つ以上のフォルダーの中にファイル222を格納しているファイル・ホストであり、当該ローカルな記憶装置は、アプリケーション202を実行中のコンピュータ装置の一部分であったり、当該コンピュータ装置に接続されている記憶装置であったりすることが可能であり、装置本体に対して着脱可能な記憶装置を含んでいる。例えば、ローカルなファイル・システム212は、ローカルなハード・ディスク、光学ディスク、フラッシュ・メモリ・デバイスまたはその他のコンピュータ読み出し可能記憶媒体の上にファイル222を格納する。
リモートなファイル・システム216は、アプリケーション202を実行中のコンピュータ装置と同一の装置上には存在しないリモートな記憶装置の上にある一つ以上のフォルダーの中にファイル226を格納しているファイル・ホストである。例えば、リモートなファイル・システム216は、図1のネットワーク104を介して、アプリケーション202を実行中のコンピュータ装置に接続されることが可能である。ローカルなファイル・システム212と同様の原理により、リモートなファイル・システム216は、多種多様な異なるコンピュータ読み出し可能記録媒体の上にファイルを格納することが可能である。
アプリケーション214の構成として、多種多様な異なる構成を仮定することが可能であり、図1に示したアプリケーション112と同様に、様々な装置の上で実行される一つ以上のプログラム、スクリプト、またはその他のタイプの命令コードの集合とすることが可能である。アプリケーション214は、図1に示したアプリケーション112と同様に、独立して実行可能なアプリケーションとすることがさらに可能である。典型的には、アプリケーション214は、アプリケーション202と同一のコンピュータ装置の上で実行されているが、代替的に、別のコンピュータ装置の上で実行されることも可能である。アプリケーション214は、多種多様な方法でファイル224を格納しているファイル・ホストである。アプリケーション214は、ファイル224を格納するために、ローカルなファイル・システム212やリモートなファイル・システム216を機能強化することが可能であるが、典型的な場合においては、ファイル224は、アプリケーション214を介してのみアクセス可能である。
サービス・プロバイダ218は、多種多様な異なる構成を仮定することが可能な一つ以上のアプリケーションであって、写真管理サービス、ソーシャル・ネットワーキング・サービス、メッセージングやその他の通信サービス、文書編集サービスなどの様々なサービス機能を提供するアプリケーションである。サービス・プロバイダ218は、典型的には、アプリケーション202が実行されている装置とは別の一つ以上の異なるコンピュータ装置(例えば、図1のネットワーク104を介してアプリケーション202を実行中のコンピュータ装置と接続されている別の一つ以上のコンピュータ装置)の上で実行されている。サービス・プロバイダ218は、多種多様な方法でファイル228を格納しているファイル・ホストである。サービス・プロバイダ218は、ファイル224を格納するために、ローカルなファイル・システム212やリモートなファイル・システム216を機能強化することが可能であるが、典型的な場合においては、ファイル224は、サービス・プロバイダ218を介してのみアクセス可能である。
例えば、アプリケーション202にファイルを読み込ませるために一つ以上のファイルを選択したり、アプリケーション202から一つ以上のファイルを保存したりすることをアプリケーション202のユーザが実行可能とする等のために、アプリケーション202がファイル・ホストへのアクセスを希望する際、アプリケーション202は、ブローカー・モジュール114と通信することにより、ブローカー・モジュール114に対してファイル・アクセス要求を発行する。アプリケーション202は、ファイル・アクセス要求を発行する側であるので、アプリケーション202のことを「呼び出し側アプリケーション」と呼ぶことも可能である。例えば、上述したファイル・アクセス要求は、ブローカー・モジュール114が提供しているAPIを呼び出すことにより、ブローカー・モジュール114に伝達することが可能である。上述したファイル・アクセス要求に応答して、ブローカー・モジュール114は、ユーザ・インターフェース206を画面表示する働きをするピッカー・モジュール116を起動する。代替的に、アプリケーション202は、ブローカー・モジュール114を迂回する形で、ピッカー・モジュール116へと上述したファイル・アクセス要求を伝達し、その結果、ユーザ・インターフェース206を画面表示するために、ブローカー・モジュール114を経由することなく、ピッカー・モジュール116を直接的に起動する。
ユーザ・インターフェース206は、一つ以上のファイル・ホスト204が、自身のユーザ・インターフェースを、既存のユーザ・インターフェース全体の中の一部分として画面表示することが可能な区画である「ホスティング対象区画」を内部に含む。「ホスティング対象区画」内に画面表示されるユーザ・インターフェース部分は、ファイル・ホスト204によって生成される。「ホスティング対象区画」内にユーザ・インターフェース部分を画面表示しているアプリケーション214やサービス・プロバイダ218は、「ホスティング状態のアプリケーション」と呼ぶことも可能である。ファイル・ホスト204の各々は、「ホスティング対象区画」内の画面表示内容を当該ファイル・ホストが望むとおりに個別最適化することが可能であり、さらに任意付加的に、上述した「ホスティング対象区画」内の画面表示内容を時間の経過に伴って当該ファイル・ホストが望むとおりに修正したり変更したりすることも可能である。アプリケーション202は、「ホスティング対象区画」内に表示されているユーザ・インターフェースがどのような方法で生成されたかについて一切意識することなく(かつ、それについて何の知識も持つことなく)、さらには、ファイル・ホスト204によって使用されるデータ・モデルや名前区間について一切意識することなく(かつ、それについて何の知識も持つことなく)ファイル・アクセスを行うことが可能である。同様に、ピッカー・モジュール116は、「ホスティング対象区画」内に表示されているユーザ・インターフェースがどのような方法で生成されたかについて一切意識することなく(かつ、それについて何の知識も持つことなく)、さらには、ファイル・ホスト204によって使用されるデータ・モデルや名前区間について一切意識することなく(かつ、それについて何の知識も持つことなく)ファイル・アクセスを行うことが可能である。
ピッカー・モジュール116(例えば、ピッカー・モジュール116内のUIモジュール122)は、一つ以上のファイル・ホスト204がユーザ・インターフェースを画面表示することが出来る表示領域である「ホスティング対象区画」を提供する。例えば、「ホスティング対象区画」は、ファイル・ホスト204固有のユーザ・インターフェースを画面表示したり、または提示したりすることが可能な表示領域となるウィンドウ等とすることが可能である。そのようなユーザ・インターフェースは、当該「ホスティング対象区画」内において多種多様な方法により表示することが可能である。例えば、当該「ホスティング対象区画」内において表示されるユーザ・インターフェースは、ファイル・ホスト204から受信された後に、ピッカー・モジュール116によって画面表示されることが可能である。さらに別の例を挙げるなら、当該「ホスティング対象区画」内に(例えば、特定のウィンドウ内に)ファイル・ホスト204が自身のユーザ・インターフェースを直接表示することを許可することも可能である。しかしながら、当該「ホスティング対象区画」内において上述したユーザ・インターフェースがどのような方法で画面表示されるかとは関係なく、当該ファイル・ホスト固有のユーザ・インターフェースを表示可能な表示領域は、当該「ホスティング対象区画」内に制限される。つまり、当該「ホスティング対象区画」から外にハミ出したユーザ・インターフェースの他の表示領域を、当該ファイル・ホスト固有のユーザ・インターフェースが上書きすることは許されず、さらに、当該コンピュータ装置のオペレーティング・システムや当該コンピュータ装置の上で実行中の他のアプリケーションによって表示されている他のユーザ・インターフェースの画面表示を、当該ファイル・ホスト固有のユーザ・インターフェースの表示によって切り取ることも許されない。
一つ以上のファイル・ホスト204が自身のユーザ・インターフェースを画面表示するための表示領域とすることが出来る「ホスティング対象区画」は、ピッカー・モジュール116によって提供されるものであるので、当該「ホスティング対象区画」は、アプリケーション202の中に組み込まれたプラグイン・モジュールや機能拡張コードによって提供されることは無い。「ホスティング対象区画」内に表示されているユーザ・インターフェースがどのような方法で生成されたかについて一切意識することなく(かつ、それについて何の知識も持つことなく)ファイルをアクセス可能であることに加えて、アプリケーション202は、当該「ホスティング対象区画」内に表示されているユーザ・インターフェースが何れのファイル・ホストによって生成されたものであるかについても一切意識することなく、ファイルをアクセス可能である。当該「ホスティング対象区画」内に既に表示されているユーザ・インターフェースを生成した具体的なファイル・ホストを変更することに加え、当該「ホスティング対象区画」内に表示可能なユーザ・インターフェースを生成するために利用可能なファイル・ホスト204を変更することも、アプリケーション202から気付かれないような方法で実行可能である。
ユーザ・インターフェース206は、単一の「ホスティング対象区画」のみを画面表示することが可能であり、この場合には、一度に一つのファイル・ホストだけが自身のユーザ・インターフェースを画面表示することが出来、当該「ホスティング対象区画」内に自身のユーザ・インターフェースを画面表示中のファイル・ホスト204は、時間の経過に伴って変化することが可能である。代替的に、ユーザ・インターフェース206は、複数の「ホスティング対象区画」を同時並列的に画面表示することが可能であり、この場合には、複数のファイル・ホスト204が個々のユーザ・インターフェースを同時並列的に画面表示することが可能となる。
ピッカー・モジュール116は、多種多様な異なる方法により「ホスティング対象区画」内に自身のユーザ・インターフェースを画面表示しているファイル・ホスト204を識別することが可能である。本発明に係る一つ以上の実施例においては、様々なファイル・ホスト204の識別情報が、ユーザ・インターフェース206の一部として提示される(例えば、ユーザ・インターフェース206内のファイル・ホスト識別部分に提示される)。上述した識別情報の中の一つを選択するユーザ入力を受信すると、ピッカー・モジュール116は、当該選択された識別情報を有するファイル・ホスト204を起動し、当該「ホスティング対象区画」内に対応するユーザ・インターフェース部分を表示する。代替的に、ピッカー・モジュール116は、当該「ホスティング対象区画」内に対応するユーザ・インターフェース部分を表示するファイル・ホスト204を他の方法により識別することが可能であり、例えば、デフォルトの(既定の)ファイル・ホスト(例えば、ピッカー・モジュール116に対して事前に設定されていた、または予め識別することが出来るファイル・ホスト)を識別したり、ファイル・ホストを無作為な方法で又はその他の規則や基準に基づいて選択したり、システム200のユーザから受信した個人的好みや構成に関する設定内容に基づいてファイル・ホストを識別したりすることが可能である。
システム200内において利用可能なファイル・ホスト204は、複数の異なる方法により決定することが可能である。本発明に係る一つ以上の実施例においては、ファイル・ホスト204の各々は、ピッカー・モジュール116のためのファイル・ホストとして登録された状態である。上述した登録の手順の一部として、ファイル・ホスト204をアクティブ化する方法やファイル・ホスト204によってサポートされているファイル形式などのようなファイル・ホスト204に関する様々な情報が提供される。このような登録手順は様々なタイミングで実行することが可能であり、そのようなタイミングとしては、例えば、ピッカー・モジュール116を実装しているコンピュータ装置の上にファイル・ホストがインストールされた時点や、ピッカー・モジュール116を実装しているコンピュータ装置に当該ファイル・ホストがアクセスした時点などが考えられ、また、ユーザからの要求に応答して登録手順を実行することも可能である。システム200内において利用可能なファイル・ホスト204(場合によってはさらに、ユーザ・インターフェース206内のファイル・ホスト識別部分に自身の識別情報が表示されることとなるファイル・ホスト204)を決定する際に、ピッカー・モジュール116は、自身のためのファイル・ホスト204として既に登録されているファイル・ホスト204だけを識別することが可能である。
代替的に、システム200内において利用可能なファイル・ホスト204は、複数の異なる方法により識別されることが可能である。例えば、アプリケーション202を実行中のコンピュータ装置によって現在アクセス可能な状態であるサービスを識別するために、(例えば、図1に示したネットワーク104を介して)リモート・サービスにアクセスすることが可能であり、そのようにして識別されたサービスがファイル・ホスト204である場合もあり得る。さらに別の例を挙げるならば、アプリケーション202を実行中のコンピュータ装置の販売業者や管理者から提供されるファイル・ホストの一覧にアクセスすることにより、システム200内において利用可能なファイル・ホスト204を決定することも可能である。
加えて、本発明に係る一つ以上の実施例においては、ファイル・ホスト204は、複数の異なるファイル形式をサポートすることが可能である。ファイル形式とは、ファイル内に格納されたデータの具体的な種別であったり、ファイル内にデータを格納するのに使用されるフォーマット種別であったりする。例えば、ファイル形式は、画像ファイル、音声ファイル、動画像ファイル、テキスト・ファイルなどとすることが可能である。別の例を挙げるならば、ファイル形式は、JPEG(Joint Photographic Experts Group)ファイルやPDF(Portable Document Format)ファイルとすることも可能である。ファイル・ホスト204によってサポートされているファイル形式は、そのようなファイル形式を有するファイルを組織化し、管理し、および/または格納しているファイル・ホスト204を参照する情報でもある。ファイル・ホスト204の各々によってサポートされているファイル形式は、例えば、上述した登録手順の実行中に識別されることが可能である。ファイル・アクセス要求の一部として、アプリケーション202は、当該ファイル・アクセス要求のためにアプリケーション202が希望する一つ以上のファイル形式を特定することが可能である。ピッカー・モジュール116は、(例えば、ユーザ・インターフェース206内のファイル・ホスト識別部分に自身の識別情報が表示されることとなるファイル・ホスト204として)アプリケーション202によってアクセス要求がされたファイル形式をサポートしているファイル・ホストだけを識別する。従って、アプリケーション202によってアクセス要求がされたファイル形式をサポートしていないファイル・ホスト204は、「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示することが可能なファイル・ホストとしては識別されない。しかしながら、上述したファイル・ホスト204によってサポートされている別のファイル形式について、アプリケーション202による後続のアクセス要求が受信されると、上述したファイル・ホスト204は、「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示することが可能なファイル・ホストとしては識別されるようになる。
「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示することが可能なファイル・ホストとしてファイル・ホスト204が識別された時点で、当該識別されたファイル・ホスト204は、ピッカー・モジュール116によってアクティブ化され又は起動される。ピッカー・モジュール116は、ファイル・ホスト204をアクティブ化したり起動したりする方法を表す情報を知っているか又は取得することが可能である。例えば、このような情報は、上述した登録手順の実行過程の一部として取得されることが可能である。上述したファイル・ホスト204がまだ起動していないならば、ピッカー・モジュール116は、上述したファイル・ホスト204をアクティブ化し、すなわち、立ち上げ、「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示させる動作を上述したファイル・ホスト204に開始させる。上述したファイル・ホスト204が既に起動済みであるならば、ピッカー・モジュール116は、「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示させる動作を上述したファイル・ホスト204に開始させる。
上記のようにアクティブ化され又は起動されたファイル・ホスト204は、当該ファイル・ホスト204自身によって決定される様々な方法に従って、「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示する。この際、ファイルは、アイコン、動画像シーケンス、テキスト記述などを含む多種多様な表現形式で画面表示される。データは、例えば、テキスト入力フィールドへのキー入力やユーザの身振り手振りを介した入力や、音声入力などの様々な異なる方法により、ユーザによって入力されることが可能である。
「ホスティング対象区画」内においてファイル・ホスト204によって表示されたユーザ・インターフェース部分は、当該ファイル・ホスト204によって管理されるファイルへの様々な形でのアクセス動作を可能にすることができる。例えば、上述したようなユーザ・インターフェース部分は、一群のファイルをグループ化するためのフォルダやこれに類する機能を介したナビゲーションを可能にし、読み出しのために一つ以上のファイルを選択したり、ファイルを保存するための保存先となる一つ以上の情報格納場所を選択したりすることを可能にする。
アプリケーション202からのファイル・アクセス要求が一つ以上のファイルを読み出すことを要求している状況においては、ファイル・ホスト204によって画面表示されているユーザ・インターフェース部分は、一つ以上のファイル・ホスト204の各々に格納された一つ以上のファイルを識別し(例えば、それらのファイルを表象するアイコン画像やサムネイル画像を画面表示し)、アプリケーション202のユーザは、その中から所望のファイルを選択することが出来る。そのような選択操作は、上述したような多種多様な異なる入力をユーザが提供することによって実現することが可能である。一つ以上のファイル・ホスト204から一つ以上のファイルを選択する際に、当該一つ以上のファイル・ホスト204は、ユーザによって選択された一つ以上のファイル(または、当該一つ以上のファイルを読み出すための方法や読み出し元となる情報格納場所を示す情報)をピッカー・モジュール116に提供する。ピッカー・モジュール116は、当該ユーザによって選択された一つ以上のファイル(または、当該一つ以上のファイルを読み出すための方法や読み出し元となる情報格納場所を示す情報)をブローカー・モジュール114に提供する。ブローカー・モジュール114は、当該ユーザによって選択された一つ以上のファイル(または、当該選択された一つ以上のファイルを読み出すための方法や読み出し元となる情報格納場所を示す情報、さもなければ、当該選択された一つ以上のファイルの内容)をアプリケーション202に戻り値として提供する。
アプリケーション202からのファイル・アクセス要求が一つ以上のファイルを保存する又は格納することを要求している状況においては、ファイル・ホスト204によって画面表示されているユーザ・インターフェース部分は、一つ以上のファイル・ホスト204の情報格納場所を識別し(例えば、それらのファイルを表象するアイコン画像やサムネイル画像を画面表示し)、アプリケーション202のユーザは、その中から所望のファイル保存先を選択することが出来る。上述したファイル・ホスト204によって画面表示されているユーザ・インターフェース部分はさらに、一つ以上のファイルに関する多種多様な情報(当該一つ以上のファイルの名前や当該一つ以上のファイルに関する説明)をユーザに提供することを可能にするユーザ入力部分を提供することが出来る。一つ以上のファイルを保存する又は格納することを要求しているファイル・アクセス要求の一部として、アプリケーション202は任意付加的に、ファイルを識別する情報を提供することが出来る。このような情報は、「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示中のファイル・ホスト204に対して提供されることが可能であり、その結果、「ホスティング対象区画」内の対応するユーザ・インターフェース部分において保存のために選択されるファイルと関連した情報をファイル・ホスト204が組み込むことを可能にする。例えば、アプリケーション202は、(ブローカー・モジュール114とピッカー・モジュール116を介して)ファイル・ホスト204に対して保存すべきファイルを表象するアイコン画像やサムネイル画像を提供することが可能である。上述したファイル・ホスト204は、「ホスティング対象区画」内においてこのようなアイコン画像やサムネイル画像を対応するユーザ・インターフェース部分を構成する一部として画面表示することが出来る。
アプリケーション202は、保存すべき一つ以上のファイル(または当該保存すべき一つ以上のファイルを取得する方法や取得元となる情報格納場所を表す情報)をブローカー・モジュール114に対して提供する。ブローカー・モジュール114は、当該保存すべき一つ以上のファイル(または当該保存すべき一つ以上のファイルを取得する方法や取得元となる情報格納場所を表す情報)をピッカー・モジュール116に対して提供し、ピッカー・モジュール116は、「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示中のファイル・ホスト204に対して、当該保存すべき一つ以上のファイル(または当該保存すべき一つ以上のファイルを取得する方法や取得元となる情報格納場所を表す情報)を提供する。当該一つ以上のファイルの保存先となる情報格納場所についてのユーザの選択結果を受信すると、「ホスティング対象区画」内において対応するユーザ・インターフェース部分を表示中のファイル・ホスト204は、当該一つ以上のファイルを当該選択された情報格納場所に格納する(さらに任意付加的に、当該一つ以上のファイルに関して追加的に提供される情報も一緒に格納する)。アプリケーション202は、保存すべき一つ以上のファイル(または当該保存すべき一つ以上のファイルを取得する方法や取得元となる情報格納場所を表す情報)をファイル・アクセス要求の一部として提供することが可能であり、あるいは代替的に、その他のタイミング(例えば、当該一つ以上のファイルに関するピッカー・モジュール116からの要求に応答して、又は当該一つ以上のファイルが保存される情報格納場所をユーザが選択操作することに応答して)において提供することが可能である。
システム200において、アプリケーション202は、ブローカー・モジュール114に対してアクセス要求を提供する呼び出し側アプリケーションであり、アプリケーション214は、ユーザ・インターフェース206内の「ホスティング対象区画」内において対応するユーザ・インターフェース部分を提供することが可能な「ホスティング状態のアプリケーション」である。しかしながら、各アプリケーションは、「ホスティング状態のアプリケーション」または「呼び出し側アプリケーション」の何れとなることも可能であり、「ホスティング状態のアプリケーション」となると同時に「呼び出し側アプリケーション」となる場合もあり得ることに留意されたい。例えば、アプリケーション202は、ソーシャル・ネットワーキング・アプリケーションとすることが可能であり、アプリケーション214は、写真編集用のアプリケーションとすることが可能である。ある時点においては、ソーシャル・ネットワーキング・アプリケーションは、「ホスティング状態のアプリケーション」となり、写真編集用のアプリケーションは、「呼び出し側アプリケーション」となることが可能であり、この場合には、ソーシャル・ネットワーキング・アプリケーションから写真編集用のアプリケーションへと画像を読み込むことが可能な状態であり、その後の時点においては、写真編集用のアプリケーションは、「ホスティング状態のアプリケーション」となり、ソーシャル・ネットワーキング・アプリケーションは、「呼び出し側アプリケーション」となることが可能であり、この場合には、写真編集用のアプリケーションからソーシャル・ネットワーキング・アプリケーションへと画像を読み込むことが可能な状態である。この具体例に関する説明をさらに続けると、ソーシャル・ネットワーキング・アプリケーション側から見て、写真編集用のアプリケーションが「呼び出し側アプリケーション」となると同時に、写真編集用のアプリケーションは、ワープロ・アプリケーションのための「ホスティング状態のアプリケーション」となり、ワープロ・アプリケーションは、それに対応した「呼び出し側アプリケーション」となる。その結果、ソーシャル・ネットワーキング・アプリケーションから写真編集用のアプリケーションへと画像を読み込むことが可能となるのと同時並行して、写真編集用のアプリケーションからワープロ・アプリケーションへと画像を読み込むことも可能となる。
複数の異なるファイル・ホストによりファイルをアクセスすることに関して本明細書中で上述のとおり検討された技術は、多種多様な利用シナリオをサポートする。例えば、ユーザは、特定のアプリケーションを使用しながら、そのアプリケーションへと読み込むべき特定の種類のファイル(例えば写真ファイル)を要求することが出来る。そのような特定の種類のファイルをサポートする多種多様なその他のアプリケーションやサービス・プロバイダは、識別された上でユーザに対してユーザ・インターフェースを表示することが可能である。ユーザは、上述したような多種多様なその他のアプリケーションから一つ以上のファイルを選択し、それに応答して、当該選択された一つ以上のファイルは、ユーザが使用中の特定のアプリケーションへと読み込まれる。このようにして、別のアプリケーションから記憶装置上にファイルを個別に保存してから当該保存されたファイルを上述した特定のアプリケーションに読み込む必要無しに、ユーザは、ファイルを別のアプリケーションから上述した特定のアプリケーションへと簡単に読み込むことが可能となる。さらには、ファイルの読み込み先となる上述した特定のアプリケーションが当該別のアプリケーションによって使用されているデータ・モデルを意識する必要無しに(さらには、当該別のアプリケーションの存在自体を意識する必要無しに)、ユーザは、当該別のアプリケーションからそのようなファイルを読み出すことが可能となる。
<例示的なユーザ・インターフェース>
本明細書の以下の節は、上記において説明したシステムや装置を使用して実装可能な例示的なユーザ・インターフェースを記述する。例えば、コンピュータ装置102は、コンピュータ装置102のハードウェア(例えば、命令コードによって処理動作を実行することが可能となるように構成された一つ以上のプロセッサや機能ブロックなど)の上で命令コードを実行することを通してユーザ・インターフェース206の表示を出力することが可能である。これらの技法は、ピッカー・モジュール116によるユーザ・インターフェース206の表示出力に関して上述したけれども、これらの技法は、本発明の技術思想と技術的範囲から逸脱することなく、広範囲にわたる多種多様な異なるユーザ・インターフェースについて実施することが可能である。
図3は、図1に示したコンピュータ装置102の一つの実装例300であって、モバイル通信装置として構成され、ユーザ・インターフェース302を表示出力するように構成されたコンピュータ装置102の実装例を図示する。上述したとおり、ユーザ・インターフェース302は、多種多様なファイル・ホスト204に格納されたファイルへのアクセスを提供するために表示出力されることが可能である。従って、ユーザ・インターフェース302は、ユーザ入力に応答して、多種多様なファイル・ホスト204に格納された一群のファイルをナビゲートする機能をサポートするように構成され、その結果、ユーザは、ファイルに対するこのようなアクセス動作がどのように実行されるかを管理することが可能である。
この具体例におけるユーザ・インターフェース302は、写真形式のファイルを開くためのファイル・アクセス要求が受信されたことを示す情報を含むナビゲーション機能部分304を含むものとして図示されている。ユーザ・インターフェース302はさらに、ホスト識別機能部分306を含んでおり、これは、例えば、ユーザがナビゲーション機能部分304が提供する「jump to」オプションをユーザが選択したことに応答して、画面表示され得る。ホスト識別機能部分306は、多種多様なファイル・ホスト204の識別情報を画面表示する。図に示された具体例においては、ホスト識別機能部分306は、以下の識別情報、「コンピュータ」、「デスクトップ」、「ダウンロード」、「音楽」、「写真」、「フォトギャラリー・アプリケーション」および「ソーシャル・アプリケーション」を画面表示している。以下の識別情報、「コンピュータ」、「デスクトップ」、「ダウンロード」、「音楽」および「写真」は異なる複数のファイル・ホストまたは同一のファイル・ホスト内にある複数の異なる情報格納場所(例えば、ローカルなファイル・システム内における複数の異なるフォルダーや複数の異なるライブラリ)を指し示すことが可能である。識別情報「フォトギャラリー・アプリケーション」は、アプリケーション(例えば、フォトギャラリー・アプリケーション)として実装されているファイル・ホストを識別し、識別情報「ソーシャル・アプリケーション」は、これもまたアプリケーション(例えば、ソーシャル・アプリケーション)として実装されているファイル・ホストを識別する。上述した複数の識別情報は、テキスト表現としてリストされるけれども、例えば、画像、アイコン、動画像シーケンス等のようなそれ以外の多種多様な表現形式もまた考えられる。
上述したとおり、ユーザは、ユーザ・インターフェース302を介して多種多様な異なる方法により、ユーザ入力を提供することが可能である。例えば、ユーザは、ホスト識別機能部分306を画面表示させるために、ナビゲーション機能部分304の「jump to」オプションを自分の手でタッチして選択することが可能であり、また、「ホスティング対象区画」内に表示された選択済みの識別情報によって、当該ファイル・ホスト内に格納されているファイルを識別させるために、ホスト識別機能部分306に表示されている識別情報の中に一つをタッチして選択することが可能である。
このようにして、多種多様な要因に応答して、ユーザ・インターフェース302は表示出力されることが可能である。例えば、ブローカー・モジュール114は、アプリケーション112からファイル・アクセス要求を受信することが可能であり、これに応答して、ブローカー・モジュール114および/またはピッカー・モジュール116は、ユーザ・インターフェース302を表示出力することが可能である。上記以外にも多種多様な具体例がさらに考えられる。
図4は、図1に示したコンピュータ装置102の一つの実装例400であって、モバイル通信装置として構成され、ユーザ・インターフェース402を表示出力するように構成されたコンピュータ装置102の実装例を図示する。上述したとおり、ユーザ・インターフェース402は、ユーザによって選択されることが可能な多種多様なファイル・ホスト204上のファイルを識別するために表示出力されることが可能である。ユーザ・インターフェース402においては、ユーザ・インターフェース302が有するホスト識別機能部分306において、識別情報「フォトギャラリー・アプリケーション」が選択されたと仮定する。従って、ユーザ・インターフェース302は、ユーザからの入力に応答して、フォトギャラリー・アプリケーションの一群のファイルをナビゲートする機能をサポートするように構成されることが可能であり、その結果、ユーザは、ファイルに対するこのようなアクセス動作がどのように実行されるかを管理することが可能である。
ユーザ・インターフェース402は、ナビゲーション機能部分304を含み、フォトギャラリー・アプリケーションの識別情報(例えば、「Photo Gallery App」)および前の画面(例えば、ユーザ・インターフェース302)に戻るためにユーザによって選択されることが可能な上向き矢印を図示している。
ユーザ・インターフェース402はさらに、当該フォトギャラリー・アプリケーションが対応するユーザ・インターフェース部分を生成する表示領域であるホスティング対象区画404を含んでいる。図示された具体例においては、当該フォトギャラリー・アプリケーションは、ホスティング対象区画404内における左側の部分に大きなサイズの画像を有し、ホスティング対象区画404内における右側の部分にそれ以外の複数の画像のサムネイルを有するユーザ・インターフェース部分を生成する。ユーザは、(例えば、自分の手308でタッチ操作することにより)ホスティング対象区画404内における右側部分の一つのサムネイルを選択してユーザが選択した画像を、ホスティング対象区画404内における左側の部分に大きなサイズの画像として表示する。ユーザは、(例えば、自分の手308でタッチ操作することにより)インポート・ボタン406を選択し、ホスティング対象区画404内における左側部分に表示された大きなサイズの画像を含むファイルを呼び出し側アプリケーションに戻り値として提供する。ホスティング対象区画404内における左側部分に表示された大きなサイズの画像を、呼び出し側アプリケーションに戻すべきファイルを表すものとして選択するために、上記以外の多種多様なユーザ入力操作がさらに実現可能であり、そのような入力操作として、例えば、上述した大きなサイズの画像をダブルクリック操作又はダブルタップ操作したり、画像のサムネイル表示部分を少なくとも所定の閾値に等しい時間だけ押し続けたままにするなどの操作が考えられる。
図5は、図1に示したコンピュータ装置102の一つの実装例500であって、モバイル通信装置として構成され、ユーザ・インターフェース502を表示出力するように構成されたコンピュータ装置102の実装例を図示する。ユーザ・インターフェース502は、ユーザ・インターフェース402とほぼ同様のものであるが、一つ以上の異なるファイル・ホストから複数のファイルを選択することを可能にするためのコレクション機能部分504を含む点が異なる。コレクション機能部分504は、例えば、ピッカー・モジュール116により提供されることが可能である。ファイルは、複数の異なる方法により選択することが可能であり、例えば、ダブルクリック操作又はダブルタップ操作したり、ホスティング対象区画404内における右側部分からコレクション機能部分504へとドラッグ&ドロップ操作したりすることによりファイルを選択することが出来る。ファイルが選択された際、当該ファイルのサムネイル画像がコレクション機能部分504の中に表示される。任意付加的に、ユーザは、例えば、ナビゲーション機能部分304の上向き矢印を選択してユーザ・インターフェース302の画面に戻ることにより、複数の異なるファイル・ホストからファイルを選択することが可能である。続いて、ユーザは、別のファイル提供元(例えば、ホスト識別機能部分306において識別情報「Social App」により表されたソーシャル・ネットワーキング・アプリケーション)の識別情報を選択することが可能であり、これに応答して、ホスティング対象区画404内に表示されるユーザ・インターフェース部分は、当該ソーシャル・ネットワーキング・アプリケーションによって提供される。(フォトギャラリー・アプリケーションから選択されたことによってコレクション機能部分504において既に表示されているファイルのサムネイルに加えて)当該ソーシャル・ネットワーキング・アプリケーションからの追加の一つ以上のファイルが選択された上で、コレクション機能部分504に追加されることが可能である。
ユーザが一つ以上のファイルを選択した後に、ユーザは、自分の手308でタッチ操作するなどして、インポート・ボタン506を選択し、当該選択された一つ以上のファイル(当該ファイルのサムネイル画像がコレクション機能部分504に表示されている)を呼び出し側アプリケーションに戻す。当該選択された一つ以上のファイルを呼び出し側アプリケーションに戻すために、上記以外の他のユーザ入力操作を実現することも可能である。
図6は、図1に示したコンピュータ装置102の一つの実装例600であって、当該実装例がファイル・ホストにファイルを保存するように構成されたユーザ・インターフェース602を表示出力している様子を図示する。この具体例においては、ユーザ・インターフェース602は、フォトギャラリー・アプリケーションであるファイル・ホストへとファイルを保存するように、コンピュータ装置102によって構成設定されている。ユーザ・インターフェース602は、ホスティング対象区画604を含んでおり、ホスティング対象区画604内においては、フォトギャラリー・アプリケーションは、対応するユーザ・インターフェース部分を生成し、この例においては、当該ユーザ・インターフェース部分は、画像ファイルであるファイルの視覚表現を含んでいる。山を描いた視覚表現が、ファイル・ホストに保存するために選択されたものとして図示されている。
ホスティング対象区画604はさらに、保存すべきファイルに関する情報を指定するように構成された保存機能部分606を含んでおり、この例においては、保存すべきファイルは、「Vacation」という名前が付けられ、ファイル形式が「JPEG形式」のファイルである。ホスティング対象区画604の一部として、ソフト・キーボード608がさらに表示されており、保存機能部分606に入力データを入力するために、タッチ操作によるユーザ入力を受け取るように構成されている。このようにして、ユーザは、ユーザ・インターフェース全体の中をナビゲートし、保存すべきファイルを指定し、当該ファイルを保存するために使用すべき情報を入力し、ユーザ・インターフェース602との対話を通じてファイルが保存されるようにすることが可能である。
<例示的なプロシージャ>
本明細書中における以下の検討は、複数のファイル・ホストによるファイル・アクセスを実現するために上述したシステムと装置を使用して実装される技術について述べている。本発明を実施するための複数のプロシージャの各々は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせによって実装されることが可能である。当該プロシージャは、一つ以上の装置によって実行される処理動作を指定する一連の処理ステップの組として示され、個々の処理ステップによって一連の処理動作を実行するための実行順序は、図示されている実行順序に限定される必要はない。以下において後述する検討内容の一部においては、図1および図2に示した構成要素を参照しながら説明をしている。
図7は、本発明に係る一つ以上の実施例に従い、複数の異なるファイル・ホストからファイルをアクセスするための技術として本明細書中で検討される技術を実装するための例示的プロシージャ700を図示する。プロシージャ700は、ファイル管理モジュール106等のようなファイル管理モジュールによって実装されている。プロシージャ700において、ファイル・アクセス要求がアプリケーションから受信される(処理ステップ702)。当該ファイル・アクセス要求は、上述したように、ファイル管理モジュール内のブローカー・モジュールによって公開されているAPIを、当該アプリケーションが起動することによって受信され、この場合のファイル・アクセス要求は、一つ以上のファイルを読み出す要求であるとする。
上述したファイル・アクセス要求に関して、一つ以上のファイル形式が識別される(処理ステップ704)。これら一つ以上のファイル形式は、上述したように、ファイル・アクセス要求の一部として識別されることが可能である。これら一つ以上のファイル形式は、典型的には、アプリケーションが読み出すために要求しているファイルの種別である。
上記のとおり識別された一つ以上のファイル形式を有するファイルをサポートしている一つ以上のファイル・ホストが識別される(処理ステップ706)。上述したとおり、これら一つ以上のファイル・ホストは、多種多様なタイプのファイル・ホストとすることが可能であり、例えば、上記アプリケーション以外の他のアプリケーションとすることが可能である。当該ファイル・ホストによってサポートされているファイル形式は、複数の異なる方法により識別可能であり、例えば、上述したように、登録手順の実行中に識別することが可能である。
ホスティング対象区画を内部に含んだユーザ・インターフェースが画面表示される(処理ステップ708)。当該ホスティング対象区画内においては、一つ以上のファイル・ホストの中の少なくとも一つが読み出すために選択されることが可能な一つ以上のファイルを識別するユーザ・インターフェースの一部分を画面表示する。当該ユーザ・インターフェースの一部分を画面表示しているファイル・ホストは、上述したように、時間の経過に伴って変化することが可能である。加えて、上記において検討したとおり、当該アプリケーションは、どのファイル・ホストが当該ホスティング対象区画に上述したユーザ・インターフェースの一部分を画面表示しているのかについて全く意識することなくファイル・アクセスを行うことができ、当該ファイル・ホストは、当該ホスティング対象区画における上述したユーザ・インターフェース部分の表示内容を、当該ファイル・ホストが望むとおりに個別最適化することが可能である。
当該少なくとも一つのファイル・ホストが格納する一つ以上のファイルをユーザが選択した結果が受信される(処理ステップ710)。当該ファイル・ホストの各々からの一つ以上のファイルについてのユーザの選択結果は、上述したような方法で受信されることが可能である。
ユーザによって選択された一つ以上のファイルが当該アプリケーションに戻される(処理ステップ712)。上述したとおり、当該アプリケーションは、ユーザによって選択された一つ以上のファイルが、当該一つ以上のファイル・ホストの中のどれから選択されたのかを全く意識しないでファイル・アクセスを行うことが可能である。
図8は、本発明に係る一つ以上の実施例に従い、複数の異なるファイル・ホストからファイルをアクセスするための技術として本明細書中で検討される技術を実装するための例示的プロシージャ800を図示する。プロシージャ800は、ファイル管理モジュール106等のようなファイル管理モジュールによって実装されている。プロシージャ800において、ファイル・アクセス要求がアプリケーションから受信される(処理ステップ802)。当該ファイル・アクセス要求は、上述したように、ファイル管理モジュール内のブローカー・モジュールによって公開されているAPIを、当該アプリケーションが起動することによって受信され、この場合のファイル・アクセス要求は、一つ以上のファイルを保存する要求であるとする。
当該アプリケーションによって保存されるべきファイルのフェイル形式が識別される(処理ステップ804)。このファイル形式は、複数の異なる方法によって識別されることが可能であり、例えば、ファイル・アクセス要求の一部として含められ、ユーザ入力操作によって提供され、ファイルの内部において固有のものとして既定されていたり(例えば、ファイル名の拡張子によって識別されたり、当該ファイルと関連付けられているメタデータによって識別されたり)する。
上記のとおり識別された一つ以上のファイル形式を有するファイルをサポートしている一つ以上のファイル・ホストが識別される(処理ステップ806)。上述したとおり、これら一つ以上のファイル・ホストは、多種多様なタイプのファイル・ホストとすることが可能であり、例えば、上記アプリケーション以外の他のアプリケーションとすることが可能である。当該ファイル・ホストによってサポートされているファイル形式は、複数の異なる方法により識別可能であり、例えば、上述したように、登録手順の実行中に識別することが可能である。
ホスティング対象区画を内部に含んだユーザ・インターフェースが画面表示される(処理ステップ808)。当該ホスティング対象区画内においては、ファイルが少なくとも一つのファイル・ホストによって保存されることを可能とするユーザ・インターフェースの一部分を、一つ以上のファイル・ホストの中の少なくとも一つが画面表示する。上述したとおり、ファイルの保存先となる情報格納場所は、当該ホスティング対象区画内に表示されているユーザ・インターフェース部分を介して、ユーザにより選択されることが可能である。当該ユーザ・インターフェースの一部分を画面表示しているファイル・ホストは、上述したように、時間の経過に伴って変化することが可能である。加えて、上記において検討したとおり、当該アプリケーションは、どのファイル・ホストが当該ホスティング対象区画に上述したユーザ・インターフェースの一部分を画面表示しているのかについて全く意識することなくファイル・アクセスを行うことができ、当該ファイル・ホストは、当該ホスティング対象区画における上述したユーザ・インターフェース部分の表示内容を、当該ファイル・ホストが望むとおりに個別最適化することが可能である。
<結論>
様々なモジュールによって実行される様々な処理動作(例えば、通信動作、受信動作、送信動作、格納動作、生成動作、取得動作など)が本明細書中で上記のとおりに検討された。多種多様なモジュールが上述したような処理動作の実行を引き起こすことが可能であることに留意されたい。特定のモジュールが一つの処理動作の実行を引き起こすことは、当該特定のモジュール自体が当該処理動作を実行する場合を含む一方で、代替的には、当該処理動作を実行する別の機能部品やモジュールを当該特定のモジュールから起動したり、アクセスしたりする場合を含む(または、別の機能部品やモジュールが当該特定のモジュールと連携しながら当該処理動作を実行する場合も含む)。
本発明の主題は、構造的な特徴や方法的な処理動作に特有の記載形式により上記において説明されてきたけれども、本明細書に添付した請求項において定義されている発明の主題は、必ずしも、上記において説明された具体的な特徴や処理動作だけに限定されない。むしろ、上述した具体的な特徴や処理動作は、請求項に記載された発明を実施するための例示的な実施形態の一例として記載されているに過ぎない。

Claims (10)

  1. コンピュータ装置によって実行される方法であって:
    アプリケーションからファイル・アクセス要求を受信するステップ;
    前記ファイル・アクセス要求についての一つ以上のファイル形式を識別するステップ;
    前記識別された一つ以上のファイル形式ファイルをサポートする一つ以上のファイル・ホストを識別するステップ;および、
    ホスティング対象区画を含むユーザ・インターフェースを表示するステップであって、前記ホスティング対象区画内に、前記一つ以上のファイル・ホストのうちの少なくとも一つのファイル・ホスト、前記ユーザ・インターフェースの一部分であって、前記少なくとも一つのファイル・ホストの一つ以上のファイルが保存される前記一つ以上のファイル・ホスト又は前記アプリケーションへ読み出ために選択することが可能な前記一つ以上のファイルを識別する前記ユーザ・インターフェースの一部分を表示する、ステップ;
    を具備する方法。
  2. 前記一つ以上のファイル・ホストは、前記コンピュータ装置の上で実行される他のアプリケーションを含む、請求項1記載の方法。
  3. 前記アプリケーションが前記他のアプリケーションと相互に干渉することを防止し、前記他のアプリケーションが前記アプリケーションと相互に干渉することを防止するような制限された態様で、前記アプリケーションが前記コンピュータ装置の上で実行される、請求項2記載の方法。
  4. 前記一つ以上のファイル・ホストは、前記コンピュータ装置とは別の一つ以上の装置の上で実行されるサービス・プロバイダ一つ以上の他のアプリケーションを含む、請求項1記載の方法。
  5. 前記アプリケーションは、前記一つ以上のファイル・ホストの各々によって使用されるデータ・モデルを意識しない、請求項1記載の方法。
  6. 前記一つ以上のファイル・ホストのうちの少なくとも一つのファイル・ホストの一つ以上のファイルについてのユザ選を受け取るステップ;および、
    前記ユーザ選された一つ以上のファイルを前記アプリケーションに返すステップ;
    を更に具備する請求項1記載の方法。
  7. コンピュータ装置内のプロセッサによってソフトウェアとして実行可能なファイル管理モジュールを具備するコンピュータ装置であって、
    前記ファイル管理モジュールは、前記プロセッサによって実行されると、前記プロセッサに、
    アプリケーションからファイル・アクセス要求を受信する動作と、
    前記アプリケーションによって保存されるファイルのファイル形式を識別する動作と
    前記識別されたファイル形式を有するファイルをサポートしている一つ以上のファイル・ホストを識別する動作と
    ホスティング対象区画を含むユーザ・インターフェースを表示する動作であって、前記ホスティング対象区画内に、前記一つ以上のファイル・ホストのうちの少なくとも一つが、前記ユーザ・インターフェースの一部分であって、前記少なくとも一つのファイル・ホストの一つ以上のファイルを保存すべき前記少なくとも一つのファイル・ホスト又は前記アプリケーションへ読み出すために選択することが可能な前記一つ以上のファイルを識別する前記ユーザ・インターフェースの一部分を表示する、動作と
    を含む処理動作を実行させる、コンピュータ装置。
  8. 前記処理動作が、前記一つ以上のファイル・ホストのうちの少なくとも一つが、前記ユーザ・インターフェースの一部分を前記ホスティング対象区画内に表示するよう限定する動作をさらに含む、請求項7記載のコンピュータ装置。
  9. 前記ユーザ・インターフェースの全体を画面表示する動作は、前記ファイルの保存先とすることが可能な前記少なくとも一つのファイル・ホストの上の一つ以上の場所を識別する識別情報を表示する動作をさらに含み、
    記処理動作は:
    前記一つ以上の場所のうちの一つについてのユーザ選択を受け取る動作;および、
    前記ユーザ選された場所に前記ファイルを格納するために前記少なくとも一つのファイル・ホストに前記ファイルを提供する動作;
    をさらに具備する、請求項7記載のコンピュータ装置。
  10. 前記アプリケーションは、前記一つ以上のファイル・ホストの中のどれが前記ユーザ・インターフェースの前記一部分を表示しているかを意識しない、請求項7記載のコンピュータ装置。
JP2014512826A 2011-05-27 2011-10-09 複数の異なるファイル・ホストによるファイル・アクセス Active JP5932982B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/117,598 US8819586B2 (en) 2011-05-27 2011-05-27 File access with different file hosts
US13/117,598 2011-05-27
PCT/US2011/055528 WO2012166186A1 (en) 2011-05-27 2011-10-09 File access with different file hosts

Publications (3)

Publication Number Publication Date
JP2014522521A JP2014522521A (ja) 2014-09-04
JP2014522521A5 JP2014522521A5 (ja) 2014-11-06
JP5932982B2 true JP5932982B2 (ja) 2016-06-08

Family

ID=47220145

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014512826A Active JP5932982B2 (ja) 2011-05-27 2011-10-09 複数の異なるファイル・ホストによるファイル・アクセス

Country Status (6)

Country Link
US (4) US8819586B2 (ja)
EP (1) EP2715532B1 (ja)
JP (1) JP5932982B2 (ja)
KR (2) KR101798697B1 (ja)
CN (1) CN103562908B (ja)
WO (1) WO2012166186A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9633089B1 (en) 2002-05-25 2017-04-25 hopTo Inc. Aggregated search
US8418257B2 (en) 2010-11-16 2013-04-09 Microsoft Corporation Collection user interface
US8819586B2 (en) * 2011-05-27 2014-08-26 Microsoft Corporation File access with different file hosts
US20130060842A1 (en) * 2011-08-21 2013-03-07 World Software Corporation Remote desktop and data management system
US9965134B2 (en) * 2012-09-14 2018-05-08 Advanced Micro Devices, Inc. Method and apparatus for providing a user interface for a file system
WO2014101208A1 (zh) * 2012-12-31 2014-07-03 华为技术有限公司 一种获取文件的方法和装置
US9473562B2 (en) * 2013-09-12 2016-10-18 Apple Inc. Mediated data exchange for sandboxed applications
CN104461709B (zh) * 2014-12-12 2018-07-17 北京国双科技有限公司 任务计划的控制方法和装置
US10187446B2 (en) * 2015-03-23 2019-01-22 Sonicwall Inc. Firewall multi-level security dynamic host-based sandbox generation for embedded URL links
JP2022052179A (ja) * 2020-09-23 2022-04-04 富士フイルムビジネスイノベーション株式会社 ファイル管理装置およびプログラム

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974549A (en) 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US6407752B1 (en) 1997-04-29 2002-06-18 International Business Machines Corporation Method and system for a user interface for remote FTP hosts
US6266682B1 (en) 1998-08-31 2001-07-24 Xerox Corporation Tagging related files in a document management system
JP2001075998A (ja) * 1999-09-08 2001-03-23 Toshiba Corp 電子ファイリングシステム及びファイル一覧表示方法
US8781940B2 (en) * 2000-01-26 2014-07-15 Ebay Inc. Method and apparatus for facilitating user selection of a category item in a transaction
US7707505B1 (en) 2000-03-23 2010-04-27 Insweb Corporation Dynamic tabs for a graphical user interface
US7188319B2 (en) * 2000-04-21 2007-03-06 Microsoft Corporation Displaying graphical information and user selected properties on a computer interface
US20020099944A1 (en) 2001-01-19 2002-07-25 Bowlin Bradley Allen Method and apparatus which enable a computer user to prevent unauthorized access to files stored on a computer
US6765596B2 (en) 2001-02-27 2004-07-20 International Business Machines Corporation Multi-functional application launcher with integrated status
US20030013483A1 (en) 2001-07-06 2003-01-16 Ausems Michiel R. User interface for handheld communication device
US20040153445A1 (en) 2003-02-04 2004-08-05 Horvitz Eric J. Systems and methods for constructing and using models of memorability in computing and communications applications
US8041878B2 (en) * 2003-03-19 2011-10-18 Samsung Electronics Co., Ltd. Flash file system
US7421438B2 (en) * 2004-04-29 2008-09-02 Microsoft Corporation Metadata editing control
US7240292B2 (en) * 2003-04-17 2007-07-03 Microsoft Corporation Virtual address bar user interface control
US7234114B2 (en) 2003-03-24 2007-06-19 Microsoft Corporation Extensible object previewer in a shell browser
US7627552B2 (en) * 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7409644B2 (en) * 2003-05-16 2008-08-05 Microsoft Corporation File system shell
US7650575B2 (en) 2003-03-27 2010-01-19 Microsoft Corporation Rich drag drop user interface
WO2004090722A1 (en) 2003-04-11 2004-10-21 Star Softcomm Pte Ltd Data isolation system and method
US7539631B1 (en) * 2003-10-06 2009-05-26 Microsoft Corporation Method, system and program for providing subscription-based virtual computing services
US7480655B2 (en) 2004-01-09 2009-01-20 Webroor Software, Inc. System and method for protecting files on a computer from access by unauthorized applications
US8707209B2 (en) * 2004-04-29 2014-04-22 Microsoft Corporation Save preview representation of files being created
US7647559B2 (en) 2004-09-30 2010-01-12 Microsoft Corporation Method and computer-readable medium for navigating between attachments to electronic mail messages
US7711835B2 (en) 2004-09-30 2010-05-04 Citrix Systems, Inc. Method and apparatus for reducing disclosure of proprietary data in a networked environment
KR20070061555A (ko) * 2004-09-30 2007-06-13 사이트릭스 시스템스, 인크. 네트워크형 콘텐츠 파일에 대한 액세스를 제공하는 데에있어서 액세스 제어 레벨을 할당하는 방법 및 장치
US7444360B2 (en) 2004-11-17 2008-10-28 International Business Machines Corporation Method, system, and program for storing and using metadata in multiple storage locations
US8522154B2 (en) * 2005-04-22 2013-08-27 Microsoft Corporation Scenario specialization of file browser
US20060242122A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
US8365063B2 (en) 2005-06-28 2013-01-29 International Business Machines Corporation Accessible list navigation
WO2007005072A1 (en) * 2005-06-29 2007-01-11 William Parrish Site plan tool
US20070006321A1 (en) 2005-07-01 2007-01-04 International Business Machines Corporation Methods and apparatus for implementing context-dependent file security
EP2650749A1 (en) 2005-11-17 2013-10-16 Koninklijke Philips N.V. System for Managing Access Control
US7664924B2 (en) 2005-12-01 2010-02-16 Drive Sentry, Inc. System and method to secure a computer system by selective control of write access to a data storage medium
US20100153671A1 (en) 2005-12-01 2010-06-17 Drive Sentry Inc. System and method to secure a computer system by selective control of write access to a data storage medium
US7503009B2 (en) 2005-12-29 2009-03-10 Sap Ag Multifunctional icon in icon-driven computer system
US20070162857A1 (en) 2006-01-06 2007-07-12 Ralf Weber Automated multimedia authoring
KR100714709B1 (ko) 2006-01-11 2007-05-04 삼성전자주식회사 숨김 영역 관리 장치 및 방법
US7496576B2 (en) 2006-03-30 2009-02-24 Microsoft Corporation Isolated access to named resources
US8515826B2 (en) * 2006-05-18 2013-08-20 Bryan C. Norman Made-to-order direct digital manufacturing enterprise
US20080127354A1 (en) 2006-11-28 2008-05-29 Microsoft Corporation Condition based authorization model for data access
US7907125B2 (en) 2007-01-05 2011-03-15 Microsoft Corporation Recognizing multiple input point gestures
US8689132B2 (en) 2007-01-07 2014-04-01 Apple Inc. Portable electronic device, method, and graphical user interface for displaying electronic documents and lists
US20080228924A1 (en) * 2007-03-15 2008-09-18 Tilman Herberger System and method for creation of automated content dependent procedures in an online environment
US20080320397A1 (en) 2007-06-19 2008-12-25 Microsoft Corporation Integrated sharing of electronic documents
US20090158181A1 (en) 2007-12-18 2009-06-18 Mellmo Llc User interface method and apparatus to navigate a document file
US20090166098A1 (en) 2007-12-31 2009-07-02 Apple Inc. Non-visual control of multi-touch device
US20090282332A1 (en) 2008-05-12 2009-11-12 Nokia Corporation Apparatus, method and computer program product for selecting multiple items using multi-touch
US20090309847A1 (en) 2008-06-12 2009-12-17 You I Labs, Inc. Apparatus and method for providing multi-touch interface capability
US20100107085A1 (en) 2008-10-29 2010-04-29 The Go Daddy Group, Inc. Control panel for managing multiple online data management solutions
US8904004B2 (en) 2009-04-10 2014-12-02 Open Invention Network, Llc System and method for maintaining mappings between application resources inside and outside isolated environments
US8291069B1 (en) * 2008-12-23 2012-10-16 At&T Intellectual Property I, L.P. Systems, devices, and/or methods for managing sample selection bias
US8686952B2 (en) 2008-12-23 2014-04-01 Apple Inc. Multi touch with multi haptics
US8473862B1 (en) * 2009-05-21 2013-06-25 Perceptive Pixel Inc. Organizational tools on a multi-touch display device
KR101626117B1 (ko) 2009-06-22 2016-05-31 삼성전자주식회사 클라우드 스토리지를 제공하는 클라이언트, 중개 서버 및 방법
US8407613B2 (en) 2009-07-13 2013-03-26 Apple Inc. Directory management on a portable multifunction device
US8601363B2 (en) * 2009-07-20 2013-12-03 Facebook, Inc. Communicating information about a local machine to a browser application
US8417705B2 (en) * 2009-10-30 2013-04-09 International Business Machines Corporation Graphically displaying a file system
US20110246941A1 (en) 2009-11-05 2011-10-06 Gonzalez George E Visual Interface Direct Alphanumeric Navigation Through Displayed Items
US8850572B2 (en) * 2010-01-15 2014-09-30 Apple Inc. Methods for handling a file associated with a program in a restricted program environment
US20110213971A1 (en) 2010-03-01 2011-09-01 Nokia Corporation Method and apparatus for providing rights management at file system level
JP5797382B2 (ja) 2010-06-09 2015-10-21 株式会社リコー ファイル交換システム、ファイル交換方法、モバイル機器及びプログラム
US8819593B2 (en) * 2010-11-12 2014-08-26 Microsoft Corporation File management user interface
US20120124091A1 (en) 2010-11-12 2012-05-17 Microsoft Corporation Application file system access
US8418257B2 (en) 2010-11-16 2013-04-09 Microsoft Corporation Collection user interface
US20120236201A1 (en) * 2011-01-27 2012-09-20 In The Telling, Inc. Digital asset management, authoring, and presentation techniques
US8819586B2 (en) * 2011-05-27 2014-08-26 Microsoft Corporation File access with different file hosts
US20130179414A1 (en) * 2012-01-06 2013-07-11 Microsoft Corporation Mechanisms for connecting files between applications
US9262535B2 (en) * 2012-06-19 2016-02-16 Bublup Technologies, Inc. Systems and methods for semantic overlay for a searchable space
US9965134B2 (en) * 2012-09-14 2018-05-08 Advanced Micro Devices, Inc. Method and apparatus for providing a user interface for a file system
US9323855B2 (en) * 2013-02-05 2016-04-26 Facebook, Inc. Processing media items in location-based groups
US9473562B2 (en) * 2013-09-12 2016-10-18 Apple Inc. Mediated data exchange for sandboxed applications
US10365798B1 (en) * 2016-01-08 2019-07-30 Microsoft Technology Licensing, Llc Feedback manager for integration with an application
JP6899510B2 (ja) * 2016-04-14 2021-07-07 Line株式会社 表示制御方法、端末、及びプログラム
US10838920B2 (en) * 2017-05-05 2020-11-17 Esoptra NV Plug-in function platform and methods
US11503015B2 (en) * 2017-10-12 2022-11-15 Mx Technologies, Inc. Aggregation platform portal for displaying and updating data for third-party service providers
US11461385B2 (en) * 2018-01-12 2022-10-04 40 North Labs LLC Event-based methods and systems for managing photographic content

Also Published As

Publication number Publication date
KR101895185B1 (ko) 2018-09-04
US20200356527A1 (en) 2020-11-12
CN103562908B (zh) 2017-03-22
US20180314709A1 (en) 2018-11-01
EP2715532B1 (en) 2020-03-18
US10042851B2 (en) 2018-08-07
US8819586B2 (en) 2014-08-26
WO2012166186A1 (en) 2012-12-06
KR101798697B1 (ko) 2017-11-16
EP2715532A4 (en) 2014-12-17
US20140325380A1 (en) 2014-10-30
CN103562908A (zh) 2014-02-05
KR20170126015A (ko) 2017-11-15
US20120304119A1 (en) 2012-11-29
EP2715532A1 (en) 2014-04-09
JP2014522521A (ja) 2014-09-04
KR20140027332A (ko) 2014-03-06
US11132333B2 (en) 2021-09-28

Similar Documents

Publication Publication Date Title
JP5932982B2 (ja) 複数の異なるファイル・ホストによるファイル・アクセス
US20220006763A1 (en) Conversion of text relating to media content and media extension apps
US10554599B2 (en) Conversion of detected URL in text message
CN108886672B (zh) 消息扩展应用程序商店
US8566732B2 (en) Synchronization of widgets and dashboards
US20170359283A1 (en) Music creation app in messaging app
AU2014288039A1 (en) Remote operation of applications using received data
US9128751B2 (en) Schema-based link processing
US20210019106A1 (en) Desktop Sharing Method and Mobile Terminal
KR20170054407A (ko) 콘텐츠를 현재 애플리케이션에 삽입하기 위한 개인화된 문맥 메뉴 제공 기법
KR20150004817A (ko) 사용자 인터페이스 웹 서비스
KR20130060917A (ko) 정보 제공 방법, 기기와 컴퓨터로 읽을 수 있는 기록 매체
US20130179414A1 (en) Mechanisms for connecting files between applications
JP5889325B2 (ja) アプリケーションのファイルシステムアクセス
JP7100637B2 (ja) レイヤード・コンテンツの選択
KR20120129570A (ko) 음원 서비스를 제공하는 방법, 모바일 단말기 및 기록매체
WO2023036082A1 (zh) 远程设备任务显示以及控制的系统及方法
US10437614B2 (en) System and method for designating multi-object favorites
US10223457B2 (en) Identification of distributed user interface (DUI) elements

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140917

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140917

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160428

R150 Certificate of patent or registration of utility model

Ref document number: 5932982

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250