コンピューティングデバイスにおける方法であって、前記コンピューティングデバイスのブローカモジュールにおいて、前記コンピューティングデバイス中の隔離されたアプリケーションからの、アイテムソースの一または複数のアイテムにアクセスする要求を受け取るステップと、前記コンピューティングデバイスにおいて、前記隔離されたアプリケーションが前記一または複数のアイテムのどれにアクセスする許可を受けているかチェックするステップと、前記隔離されたアプリケーションが前記一または複数のアイテムのうちどれにもアクセスする許可を受けていないとき、前記要求を拒絶するステップと、許可を受けているとき、前記隔離されたアプリケーションがアクセスする許可を受けている前記一または複数のアイテムのうちのアイテムを表す一または複数の記憶アイテムオブジェクトを生成するステップと、前記隔離されたアプリケーションに前記一または複数の記憶アイテムオブジェクトを返すステップとを有する、方法。前記隔離されたアプリケーションは、前記ブローカーモジュールを通して以外は前記アイテムソースへのアクセスを制限される、請求項1に記載の方法。前記隔離されたアプリケーションに前記一または複数の記憶アイテムオブジェクトを返すステップは、前記隔離されたアプリケーションにインタフェースであって、記憶アイテムオブジェクトにより表されるアイテムの一または複数の特性を読み出すことを可能にするインタフェースをエクスポーズするステップと、前記記憶アイテムオブジェクトにより表されるアイテムにおける一または複数の動作をサポートするステップとを有する、請求項1に記載の方法。前記隔離されたアプリケーションからの要求に応じて、前記一または複数の記憶アイテムオブジェクトのうちの1つを持続するステップをさらに有する、請求項1に記載の方法。前記チェックするステップは、前記隔離されたアプリケーションが前記アイテムソースのロケーションのアイテムにアクセスする許可を受けているかチェックするステップを有する、請求項1に記載の方法。前記一または複数のアイテムのうちの、前記隔離されたアプリケーションがアクセスする許可を受けているアイテムをフィルタして、あるタイプのアイテムを排除するステップをさらに有する、請求項1に記載の方法。前記一または複数のアイテムのうち、前記隔離されたアプリケーションがアクセスする許可を受けているアイテムを、前記要求により特定された順序で編成するステップをさらに有する、請求項1に記載の方法。前記一または複数のアイテムのうち、前記隔離されたアプリケーションがアクセスする許可を受けているアイテムを、前記要求により特定されたグルーピングで編成するステップをさらに有する、請求項1に記載の方法。前記要求は検索基準を含み、前記一または複数のアイテムは前記検索基準を満たす一または複数のアイテムを含む、請求項1に記載の方法。コンピューティングデバイスであって、アプリケーションを含み、前記アプリケーションは、前記コンピューティングデバイスの一または複数のプロセッサにより実行されたとき、前記一または複数のプロセッサに、ブローカモジュールのアプリケーションプログラミングインタフェースAPIを起動して、アイテムソースの一または複数のアイテムへのアクセスを要求するステップであって、前記アプリケーションは前記一または複数のプロセッサにより実行され、前記ブローカモジュールを通して意外に前記アイテムソースへのアクセスを制限される、隔離されたアプリケーションを含む、ステップと、前記一または複数のアイテムのうちの、前記隔離されたアプリケーションがアクセスする許可を受けたアイテムを含む少なくとも1つの記憶アイテムオブジェクトを、前記ブローカーモジュールから受け取るステップと、を実行させる複数の命令を有する、コンピューティングデバイス。本欄では、発明の詳細な説明で詳しく説明するコンセプトの一部を選んで、簡単に説明する。本欄は、特許を請求する主題の重要な特徴や本質的な特徴を特定するものではなく、特許を請求する主題の範囲を限定するものでもない。一または複数の態様によれば、コンピューティングデバイスのブローカーモジュールにおいて要求を受けとる。受け取られる要求は、コンピューティングデバイス中の隔離されたアプリケーションからの、アイテムソースの一または複数のアイテムにアクセスする要求である。隔離されたアプリケーションが、アイテムソースの一または複数のアイテムのどれにもしあればアクセスする権限を有するかチェックする。隔離されたアプリケーションがアクセスする権限を有する、一または複数のアイテムのうちのアイテムを表す一または複数の記憶アイテムオブジェクトが生成され、生成された記憶アイテムオブジェクトが隔離されたアプリケーションに返される。しかし、隔離されたアプリケーションが一または複数のアイテムのうちどれにもアクセスする権限を有さないとき、受け取られた要求は拒絶される。一または複数の態様では、アプリケーションはブローカーモジュールのアプリケーションプログラミングインタフェースAPIを起動して、アイテムソースの一または複数のアイテムへのアクセスを要求する。アプリケーションは、ブローカーモジュールを通して以外はアイテムソースへのアクセスを制限されている隔離されたアプリケーションである。少なくとも一記憶アイテムオブジェクトがブローカーモジュールから受け取られ、各記憶アイテムオブジェクトは隔離されたアプリケーションがアクセスする権限を与えられた一または複数のアイテムのうちのアイテムを含む。概要ここで、隔離されたアプリケーションのためのブローカードアイテムアクセスを説明する。ブローカーモジュールは、隔離されたアプリケーションと、一または複数のアイテムソース例えば、ファイルシステム、デバイス、他の一アプリケーションなどとの間にある。アイテムソースのアイテムにアクセスするため、隔離されたアプリケーションは、ブローカーモジュールのアプリケーションプログラミングインタフェースAPIを起動することにより、アイテムへのアクセスを要求する。隔離されたアプリケーションが要求されたアイテムへのアクセスを許可されると、ブローカーモジュールは要求されたアイテムにアクセスして、その隔離されたアプリケーションに、要求されたアイテムの表現であるオブジェクトを返す。隔離されたアプリケーションが要求されたアイテムへのアクセスを許可されていないと、ブローカーモジュールは要求されたアイテムへのアクセスを拒否して、その隔離されたアプリケーションに、要求されたアイテムの表現であるオブジェクトを返す。ブローカーモジュールとAPIは、以下により詳しく説明する。以下の説明では、ここに説明する方法を実行するように動作可能なシステム例をまず説明する。次に、そのシステム例やその他のシステムにおいて動作可能な方法例を説明する。同様に、システム例は方法例の実行には限定されない。システム例図1は、ここで説明する、隔離されたアプリケーションのためのブローカードアイテムアクセス方法を実装するシステム例100を示す。例示のシステム100は、コンピューティングデバイス102を含む。コンピューティングデバイス102はいろいろな方法で構成できる。例えば、コンピューティングデバイス102は、ネットワーク104により通信できるコンピュータとして構成できる。コンピュータは、例えば、デスクトップコンピュータ、タブレットまたはノートパッドコンピュータ、移動局、エンターテイメント機器、ディスプレイデバイスと通信可能に結合したセットトップボックス、テレビジョンその他のディスプレイデバイス、セルラ方式その他の無線電話、ゲームコンソールなどを含む。コンピューティングデバイス102は、大きなメモリとプロセッサリソースとを有するフルソースデバイス例えば、パーソナルコンピュータ、ゲームコンソールなどからメモリ及び/または処理リソースが制限された低リソースデバイス例えば、従来のセットトップボックス、ハンドヘルドゲームコンソールなどまである。また、単一のコンピューティングデバイス102を示すが、コンピューティングデバイス102は異なる複数のデバイスを、例えば、会社の業務に用いられる複数のサーバ、リモートコントロールとセットトップボックスの組合せ、画像キャプチャデバイス例えば、カメラ、ジェスチャをキャプチャするように構成されたゲームコンソールなどを表していてもよい。また、コンピューティングデバイス102は、そのコンピューティングデバイス102のハードウェアに動作を実行させる、例えば、プロセッサ、機能ブロックなどを設定する、エンティティ例えば、ソフトウェアを含んでいてもよい。例えば、コンピューティングデバイス102は、コンピューティングデバイスに、より具体的にはコンピューティングデバイスのハードウェアに動作を実行させる命令を保持するように構成されたコンピュータ読み取り可能媒体を含んでもよい。このように、命令は、動作を実行するようにハードウェアを設定するように機能し、このようにハードウェアが動作を実行するように変換する。命令は、異なる様々な構成により、コンピュータ読み取り可能媒体によりコンピューティングデバイス102に提供される。コンピュータ読み取り可能媒体のかかる一構成は、信号搬送媒体であり、ネットワーク104などを介してコンピューティングデバイス102のハードウェアに命令を例えば、搬送波のように伝送するように構成される。また、コンピュータ読み取り可能媒体は、コンピュータ読み取り可能記憶媒体として構成でき、信号搬送媒体ではない。コンピュータ読み取り可能記憶媒体の例には、ランダムアクセスメモリRAM、リードオンリメモリROM、光ディスク例えば、DVDやCD、フラッシュメモリ、ハードディスクメモリ、及びその他のメモリデバイスであって磁気、光、その他の技術を用いて命令その他のデータを記憶するものが含まれる。ネットワーク104には異なるいろいろな構成を仮定できる。例えば、ネットワーク104は、インターネット、ワイドエリアネットワークWAN、ローカルエリアネットワークLAN、パーソナルエリアネットワークPAN、無線ネットワーク、公衆電話ネットワーク、イントラネット、これらの組合せなどが含まれる。さらに、単一のネットワーク104を示したが、ネットワーク104は複数のネットワークを含むように構成することもできる。コンピューティングデバイス102は、アイテム管理モジュール106を含むものとして例示されている。アイテム管理モジュール106は、一または複数のアイテムソース108及び/または110へのアクセスを管理する機能を表す。アイテム管理モジュール106は、いろいろな方法で実装できる。例えば、スタンドアロンアプリケーションとして、コンピューティングデバイス102のオペレーティングシステムの一部として、などとして実装できる。アイテムソース108は、異なる様々なタイプのアイテム112を整理して記憶する方法を用いる。アイテムとは、アプリケーションにより要求され得るデータやコンテンツを言う。例えば、アイテムは、ファイル、フォルダまたはディレクトリ、URIuniformresourceidentifier、URLuniformresourcelocatorまたはその他のリンク、圧縮されたファイルまたはファイルコレクション例えば、zipファイルまたはキャビネットファイル、他のアプリケーションにより維持されたファイルまたは別の方法で維持されたコンテンツなどである。アイテムソース108は、アイテムを整理して記憶する様々な方法を利用して、異なるいろいろな方法で実装できる。例えば、アイテムソース108は、コンピューティングデバイス102のファイルシステム、コンピューティングデバイス102の記憶システム、コンピューティングデバイス102上で実行されている他のアプリケーション例えば、それ自体がアイテムの整理と記憶を管理するアプリケーション、データベースなどである。同様に、アイテムソース110は、異なるいろいろな方法で実装でき、ネットワーク104によりコンピューティングデバイス102によりアクセスできるアイテム114を整理し記憶できるいろいろな方法を用いることができる。アイテムソース110は、アイテムソース110は、例えば、サービスプロバイダ例えば、コンピューティングデバイス102と同様の及び/または異なる方法で構成された一または複数のコンピューティングデバイスを用いて実装されたもの、サービスプロバイダのファイルシステム、サービスプロバイダの記憶システム、サービスプロバイダにおいて実行されている他のアプリケーション、メディアサーバなどであり得る。アプリケーション116は、一または複数のプログラム、スクリプト、またはその他の命令のコレクションであってコンピューティングデバイス102において実行されているものである。アプリケーション116は、異なるいろいろな構成を仮定できる。例えば、エンターテイメントアプリケーション例えば、ゲームまたはオーディオ/ビデオプレーヤ、ユーティリティアプリケーション例えば、ワードプロセッサまたはウェブブラウザ、リファレンスアプリケーション例えば、辞書または百科事典などの構成でよい。アプリケーション116は、隔離されたアプリケーションと呼ぶが、それはアプリケーション116がコンピューティングデバイス102のリソース例えば、ネットワーク接続されたコンピュータ、インターネット、モジュール、デバイス、メモリ、その他のアプリケーションにアクセスするアプリケーション116の能力が制限されるように実行されているからである。コンピューティングデバイス102のオペレーティングシステム及び/またはその他のソフトウェア、ファームウェア、及び/またはハードウェアは、アプリケーション116に、アプリケーション116に割り当てられたまたは利用可能とされたコンピューティングデバイス102のメモリその他のリソースにアクセスさせるが、アプリケーション116に、コンピューティングデバイス102のその他のメモリ、リソース、及び/またはその上で実行されているアプリケーションへはアクセスさせない。これは、コンピューティングデバイス上で実行されている他のアプリケーションを保護して、アプリケーション116と干渉しないようにし、アプリケーション116を保護して、コンピューティングデバイス102上で実行されている他のアプリケーションにより干渉されないようにして、すなわちアプリケーション116をコンピューティングデバイス102上の他のアプリケーションから隔離isolateしている。隔離の一部として、コンピューティングデバイス102のオペレーティングシステム及び/または他のソフトウェア、ファームウェア、及び/またはハードウェアは、アプリケーション116が、後でより詳細に説明するアイテム管理モジュール106を通して意外には、アイテムソース108及び/またはアイテムソース110にアクセスしないようにする。一または複数の実施形態では、アプリケーション116はサンドボックスでアプリケーション116を実行することにより、制限的に実行される。コンピューティングデバイス102には単一のアプリケーション116を例示したが、留意点として、コンピューティングデバイス102では複数のアプリケーションを同時に実行できる各アプリケーションはそれ自体のサンドボックス中で実行される。アイテム管理モジュール106は、さらに、ブローカモジュール120とピッカーモジュール122とを含むように例示されている。ブローカモジュール120は、アイテムソース108及び/または110へのアプリケーション116のアクセスを管理するアイテム管理モジュール106の機能を表す。ブローカモジュール120は、例えば、アプリケーション116により要求されたアイテム112及び/または114を発見locateし、発見されたアイテム112及び/または114をアプリケーション116に提供する仲介者として機能できる。アプリケーション116は、ブローカモジュール120を通してアイテム112及び/または114にアクセスできるが、隔離されたアプリケーションなので、アイテムソース108及び/または110に及びこれらのアイテムソース内のアイテム112及び/または114にアクセスすることは制限されている。さらに、アイテム112及び/または114は、アプリケーション116に提供され得る。アプリケーション116は、アイテム112及び/または114がどこで取得されたかを知る必要はなく、例えば、アプリケーション116はアイテムソース108及び/または110により用いられる名前空間を知らなくてもよい。これにより、アプリケーションはいろいろなアイテムソースからのアイテムを、一律に、アイテムソースの種類によらずに扱うことができる。また、ブローカーモジュール120は、任意的に、ピッカーモジュール122を利用して、アイテムソース108及び/または110にアクセスする別の方法を提供できる。ピッカーモジュール122は、トラステッドメソッドを提供して、アプリケーション例えば、ブローカモジュール120を介してアイテムソース108及び/または110へのプログラムされたアクセスをしないものに、アイテムソース108及び/または110及びこれらのアイテムソース中のアイテム112及び/または114にアクセスさせる。一般的に、ここに説明する機能はどれも、ソフトウェア、ファームウェア、ハードウェア例えば、固定的な論理回路、マニュアル処理、またはこれらの組合せで実装できる。ここで用いるモジュールと機能との用語は、一般的に、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせを表す。ソフトウェア実装の場合、モジュール、機能、ロジックlogicは、ハードウェアにより、例えば一または複数のプロセッサ及び/または機能ブロックにより、規定された動作を実行する命令とハードウェアを表す。図2は、ここで説明する、隔離されたアプリケーションのためのブローカードアイテムアクセス方法を実装するシステム例200を示す。例示したように、システム200は、アイテム管理方法を実行する、図1のコンピューティングデバイス102のアイテム管理モジュール106により、部分的に実装できる。例えば、アイテム管理モジュール106は、オペレーティングシステム、オペレーティングシステムと協働して動作するアプリケーション、スタンドアロンアプリケーションなどとして組み込める。どこに組み込まれているかにかかわらず、アイテム管理モジュール106は、ローカルに及び/またはリモートに例えば、図1のネットワーク104を介して、コンピューティングデバイスにアクセスできるアイテムを管理する方法を利用できる。システム200は、例示したように、アプリケーション202例えば、図1のアプリケーション116、アイテムソース204例えば、図1のアイテムソース108または110、及びアイテム206例えば、図1のアイテム112または114を含む。この例では、アプリケーション202は、アプリケーション202に対してブローカモジュール120によりエクスポーズされた一または複数のアプリケーションプログラミングインタフェースAPI210を介して、ブローカモジュール120と通信して、アイテムソース204にアクセスする。図2には単一のアプリケーション202と単一のアイテムソース204を例示したが、留意点として、システム200は、任意数のアイテムソース204にアクセスする任意数のアプリケーション202を含むことができる。アプリケーション202は、特定のアイテムソース及び/または特定のアイテムロケーションにアクセスする許可を受けることができる。この許可は、一般的には、アプリケーション202がアイテム206へのアクセスを要求する前に与えられるが、異なる時間及び異なる方法で与えることができる。一または複数の実施形態では、この許可は、アプリケーション202がシステム200を実装するコンピューティングデバイスにダウンロードまたはインストールされる時に行われる。例えば、ダウンロードまたはインストールのプロセスの一部として、ユーザは、アプリケーション202がアクセスしようとする特定のアイテムソース及び/または特定のアイテムロケーションを通知され、アプリケーション202がこれらの特定のアイテムソース及び/または特定のアイテムロケーションにアクセスする許可をうけているかに関する入力例えば、特定のボタンまたはその他のユーザインタフェースUI部分を提供できる。あるいは、この許可は他の時間に、例えば、アプリケーション202が修正または更新された時に、システム200のユーザによるその後のアプリケーション202の設定の時等に、与えられても良い。どのように許可が与えられるかにかかわらず、システム200は、アプリケーション202がどのアイテムソース及び/またはアイテムロケーションにアクセスする許可をうけているかという記録を含む許可記憶部authorizationstore208を保持する。許可記憶部208は、ブローカモジュール120に対してアクセス可能であり、アプリケーション202がどのアイテムソース及び/またはアイテムロケーションにアクセスする許可を受けているかという記録を、ブローカモジュール120が取得して利用できる。アプリケーション202は、ブローカモジュール120によりサポートされた異なるいろいろなアイテムソース204のいずれにもアクセスする許可を受けることができる。例えば、アプリケーション202がアクセスする許可を受けられるアイテムソースは、ファイルシステム、コンピューティングデバイス上で実行されている一または複数のアプリケーション、サービスプロバイダにより実装されている一または複数の記憶システムなどである。また、アプリケーション202は、異なるいろいろなアイテムロケーションのいずれにもアクセスする許可を受けられる。異なるアイテムソースに対して異なるタイプのアイテムロケーションを画定することができる。例えば、アイテムソースがファイルシステムである場合、アイテムロケーションはフォルダやライブラリ例えば、ドキュメントライブラリ、ミュージックライブラリ、ビデオライブラリ、写真ライブラリとして画定できる。ライブラリは、一または複数のロケーション例えば、一または複数のデバイス上のフォルダやディレクトリのコレクションを指し、ライブラリに含まれたロケーションは任意的にシステム200のユーザにより修正され得る。他の例として、アイテムソースがアプリケーションである場合、アイテムロケーションはそのアプリケーションにより画定されたアイテムのグルーピングその他のコレクションであってもよい。ブローカモジュール120はアイテムアクセスモジュール212を含む。このアイテムアクセスモジュール212は、アプリケーション202からのアイテムにアクセスする要求に応答するブローカモジュール120の機能を表す。API210は、アイテムへの異なるいろいろなタイプのアクセスのためにアプリケーション202により起動され得るいろいろなインタフェースをサポートする。例えば、API210は、アイテムを読むためのインタフェース、アイテムを書くためのインタフェース、アイテムを作成するためのインタフェース、アイテムを削除するためのインタフェース、アイテムを修正するためのインタフェース、アイテムをコピーするためのインタフェース、アイテムを動かすためのインタフェース、アイテムを名称変更するためのインタフェース、アイテムの特性を読み出すためのインタフェースなどを含む。アプリケーション202からアイテムソースを抽象化して、異なるアイテムソースに対して同じインタフェースを用いることができる。例えば、アイテムを読み出すまたは列挙するために起動されるAPIを、ブローカモジュール120によりサポートされた複数のアイテムソースに、及びアプリケーション202がアクセスする許可を受けているブローカモジュール120によりサポートされたアイテムソース等に、適用できる。他の一例として、アプリケーション202は、APIを起動してアイテムを書き込むまたは名称変更する時、アイテムソースを指定する必要はない例えば、アイテムソースは、後で詳細に説明するように、記憶アイテムオブジェクト中に見つかるまたは内在している。あるいは、要求に対してアイテムソースを特定するインタフェースのパラメータを含んでいてもよい。例えば、API210は、ファイルシステムソース及びサービスプロバイダ記憶システムソースの両方に使える読み出しアイテムインタフェースであって、その読み出しアイテムインタフェースのパラメータがアプリケーション202の2つのソースのどちらがアイテムの読み出しを要求しているか示すパラメータを有するものを含み得る。他の代替策として、異なるアイテムソースに対して異なるインタフェースを用いることもできる。例えば、API210は、ファイルシステムソースからアイテムを読み出すのに使われるファイルシステム読み出しアイテムインタフェース、サービスプロバイダ記憶システムソースからアイテムを読み出すのに使われるサービスプロバイダ読み出しアイテムインタフェースを含む。アプリケーション202は、一または複数のAPI210を起動して、アイテムソースの例えば、アイテムソースに記憶された一または複数のアイテムへのアクセスを要求する。要求を受け取ると、アイテムアクセスモジュール212は、アプリケーション202がアクセスする許可を受けているアイテムソース及び/またはアイテムロケーションの記録をチェックし、この記録に基づいて、要求されたアイテムにアクセスする許可をアプリケーションが受けているか判断する。要求された一または複数のアイテムのいずれにもアクセスする許可をアプリケーション202が受けていないアプリケーションが一または複数のアイテムのどれにもアクセスする許可を受けていないとき、アイテムアクセスモジュール212は要求されたアクセスをさせない。例えば、アプリケーション202が写真ライブラリ中のファイルへのアクセスを要求したが、音楽ライブラリ中のファイルへのアクセスしか許可を受けていない場合、アイテムアクセスモジュール212は要求されたアクセスをさせない。アイテムアクセスモジュール212は、任意的に、一または複数のアイテムへのアクセスを要求するアプリケーションにより起動されたAPI210に関連する結果値として要求されたアクセスが拒絶されたとの表示を返す。しかし、アプリケーション202が、要求された一または複数のアイテムのどれかにアクセスする許可を受けているとき、アイテムアクスモジュール212は、アプリケーション202がアクセスする許可を受けている一または複数のアイテムのうちのアイテムを取得し、それへのアクセスを許可する。要求された一または複数のアイテムがブローカモジュール120により取得される方法は、アイテムソース108に基づき変わってもよく、ブローカモジュール120はアイテムソース108にいかにアクセスするかの表示を有するまたは取得できるように構成される。アイテムアクセスモジュール212は、アプリケーション202がアクセスを許可されている各アイテムを表す記憶アイテムオブジェクトstorageitemobjectを生成する。この記憶アイテムオブジェクトは、そのアイテムに関連する様々な情報を含み、任意的に、アイテムのデータ及び/またはコンテンツを含む。アイテムアクセスモジュール212は、この生成された記憶アイテムオブジェクトをアプリケーション202に返す。あるいは、ブローカモジュール120は、前もって受け取ったアイテムアクセスに許可を用いるのではなく、ピッカーモジュール122を用いて、アプリケーション202により要求された一または複数のアイテムへのアクセスをする。一または複数のアイテムへのアクセス要求を受け取ると、ブローカモジュール120は、ユーザインタフェースを生成するためピッカーモジュール122を実装し、ピッカーモジュール122はピッカーUIモジュール220を起動する。ピッカーUIモジュール220は、ユーザに、そのユーザが一または複数のアイテムへのアクセスを許可するか問うUIを提示し、ユーザに一または複数のアイテムへナビゲートまたは発見させる。ユーザがアプリケーション202に一または複数のアイテムへのアクセスを許可するかどうかを示すユーザ入力を受け取る。ユーザがアプリケーション202に一または複数のアイテムへのアクセスを許可すると、ピッカーモジュール122は一または複数のアイテムを取得し、記憶アイテムオブジェクト表現112の生成のため、取得した一または複数のアイテムをアイテムアクセスモジュール212に返す。あるいは、ピッカーモジュール122は、一または複数のアイテムを取得するのではなく、上記の通りモジュール212が一または複数のアイテムを取得するためにアイテムアクセスモジュール212に表示を返してもよい。アイテムアクセスモジュール212は、記憶アイテムオブジェクトをアプリケーション202に返す。記憶アイテムオブジェクトはアイテムを表す。記憶アイテムオブジェクトはアイテムの抽象化または表現である。記憶アイテムオブジェクトにより表されたアイテムに対するアプリケーション202によるアクセス例えば、読み取り、書き込み、修正などは、ブローカモジュール120及び/または記憶アイテムオブジェクト自体を通して行われる。記憶アイテムオブジェクトは異なる様々な形式を取り得る。一または複数の実施形態では、記憶アイテムオブジェクトは、ブローカモジュール120により生成され、アプリケーション202に対してエクスポーズexposeされたオブジェクトである。ブローカモジュール120は、記憶アイテムオブジェクトの識別子その他の識別情報identificationをアプリケーション202に提供することにより、かかるアプリケーション202に記憶アイテムオブジェクトを返す。記憶アイテムオブジェクトの様々な方法やオペレーションは、アプリケーション202により起動され、記憶アイテムオブジェクトにより表されたアイテムに関する情報を取得し、及び/または記憶アイテムオブジェクトにより表されたアイテムに様々なオペレーションを行うことができる。あるいは、記憶アイテムオブジェクトは、記憶アイテムオブジェクトにより表されるアイテムに関する様々な情報を、及び/または記憶アイテムオブジェクトに様々なオペレーションを行うためにアプリケーション202により起動される方法またはオペレーションを含むデータ構造datastructureである。ブローカモジュール120は、データ構造をアプリケーション202に提供することにより、かかる記憶アイテムオブジェクトを返す。一または複数の実施形態では、記憶アイテムオブジェクトは、特性部、サムネイル部、コンテンツ部、及びオペレーション部を含む。記憶アイテムオブジェクトの特性部は、アイテムの様々な特性や属性を含む。アイテムに対してアイテムソース204により維持される異なる様々な特性や属性は、記憶アイテムオブジェクトの特性部に含めることができる。例えば、記憶アイテムオブジェクトの特性部は、アイテムの名称、アイテムの例えば、バイト単位のサイズ、アイテムのタイプ例えば、写真タイプ、音楽タイプなどを含み得る。記憶アイテムオブジェクトのサムネイル部は、アイテムのビジュアル表現を含む。このサムネイルは画像または画像シーケンス例えば、ビデオであってもよい。サムネイルは、例えば、画像の一部例えば、文書の1頁や写真の一部、アイテムを縮小したもの例えば、写真を縮小したもの、アイテムのタイプを表すアイコンなどであってもよい。記憶アイテムオブジェクトのコンテンツ部分は、アイテムのコンテンツまたはアイテムのコンテンツをいかに取得するかの表示を含む。例えば、アイテムが写真であるとき、コンテンツ部分はその写真自体のデータを、またはその写真のデータが記憶されているところへのリンク例えば、URLUniformResourceLocatorまたはパスを含み得る。アイテムは、アプリケーション202にストリーミングされるデータ例えば、音楽ファイルやビデオファイルであってもよく、そのアイテムのコンテンツを以下に取得するかの表示は、ストリーミングされるデータへのリンク等の表示を含んでいてもよい。また、コンテンツ部分は、アイテムを読み書きするオペレーションなどのアイテムに対するオペレーションを含み得る。記憶アイテムオブジェクトのオペレーション部は、アイテムに対して行える一または複数の方法またはオペレーションを含む。異なる様々なオペレーションをアイテムに対して行え、アイテムへの異なる様々なアクセスを提供できる。具体的なオペレーションは、アイテムのタイプに少なくとも部分的に基づき変わり得る。例えば、オペレーションには、アイテムを名称変更するオペレーション、アイテムを削除するオペレーションなどが含まれる。アイテムがファイルシステムのフォルダである場合、オペレーションは、フォルダ内のファイルの列挙、フォルダ内のファイルのソート、フォルダ内のファイルの削除、フォルダへの新しいファイルの追加、フォルダまたはそのフォルダ中のファイルの名称変更などが含まれる。記憶アイテムオブジェクトの形式にかかわらず、記憶アイテムオブジェクトに様々なオペレーションを実行でき、記憶アイテムオブジェクトはアイテムのコンテンツ、またはアイテムのコンテンツを以下に取得するかの表示を含む。このように、記憶アイテムオブジェクトは、一または複数のアイテムを含むものと見なすこともできる。例えば、フォルダの記憶アイテムオブジェクトは、そのフォルダ内のファイルを表す一または複数のアイテムを含み得る。ここで記憶アイテムオブジェクトを説明するが、留意点として、異なるタイプの記憶アイテムオブジェクトをサポートすることができる。異なるタイプの記憶アイテムオブジェクトは、記憶タイムのタイプに関する異なる特性、オペレーションなどを含み得る。例えば、記憶ファイルオブジェクトと記憶フォルダオブジェクトを使える。記憶ファイルオブジェクトは、ファイル特有の特性とオペレーション例えば、ファイル名称変更オペレーションを含み、記憶フォルダオブジェクトは、フォルダに特有な特性とオペレーション例えば、フォルダ中のファイルを列挙する列挙オペレーションを含む。他の一例として、デバイスオブジェクトとネットワークノードオブジェクトを用いることができ、デバイスオブジェクトはデバイスに特有な特性とオペレーションを含み、ネットワークノードオブジェクトはネットワークノードに特有の特性とオペレーションを含む。アプリケーション202に返される一または複数の記憶アイテムオブジェクトは、アプリケーション202により主張され得る。例えば、アプリケーション202はMRUmostrecentlyusedリストを用いて、アプリケーション202により最も最近用いられた一または複数のアイテムを容易に特定できる。一または複数の実施形態では、ブローカモジュール120が記憶アイテムオブジェクトの持続的記憶を管理する。ブローカモジュール120は、一般的に、隔離された各アプリケーションに対して持続的アクセスリストを保持する。任意的に、隔離された複数のアプリケーションが1つの持続的アクセスリストを共有してもよい。持続的アクセスリストは、持続的な記憶アイテムオブジェクトのリストであり、アプリケーション202はAPI210を起動して、持続的アクセスリスト中の持続的記憶アイテムオブジェクトを読み出して使うことができる。持続的記憶アイテムが持続的アクセスリストに追加されたとき、ブローカモジュール120は、アプリケーション202にトークンその他の持続的記憶アイテムオブジェクトの識別子を提供でき、アプリケーション202は、かかるトークンその他の識別子を用いて、持続的アクセスリストから持続的記憶アイテムオブジェクトを読み出すことができる。ブローカモジュール120は、アプリケーション202の持続的記憶アイテムオブジェクトの複数のリストを、例えばMRUリストとそれとは別の持続的アクセスリストを保持することもできる例えば、アプリケーション202は、アイテムが最近どう使われたかに係わらず必要なだけ記憶アイテムオブジェクトを持続できる。ブローカモジュール120は、任意的に、異なるリストに対して異なる寿命を実装して、リストの記憶アイテムオブジェクトを保持する異なる時間及び/または時間を決定する異なる方法を反映することができる。持続的記憶アイテムオブジェクトは、デバイス識別子、オペレーティングシステム例えば、NTFSオブジェクト識別子、名前/タイムスタンプマッチング、これらの組合せなど、異なるいろいろな方法で特定できる。このように、アイテムが名称変更されたり移動されたりしても、持続的記憶アイテムオブジェクトを特定できる。また、記憶アイテムオブジェクトはアプリケーション202の複数の実行にわたり持続することができ、アプリケーション202が終了されてから再び実行された時例えば、シャットダウンされてから再び起動された時、アプリケーション202は持続的記憶アイテムオブジェクトを読み出して使用できる。あるいは、ブローカモジュール120ではなくアプリケーション202が、持続的な記憶アイテムオブジェクトの記憶を管理できる。アプリケーション202は、異なるロケーションで、例えば、アプリケーション202に割り当てられたまたは利用可能にされたメモリまたはその他の記憶ロケーションに記憶して、記憶アイテムオブジェクトを持続することができる。このように、アプリケーション202は、後でアイテムが再び必要になると、ブローカモジュール120からアイテムを再要求するのではなく、アイテムを表す持続的記憶アイテムオブジェクトを用いることができる。ブローカモジュール120は任意的にフィルタリングモジュール214を含む。このフィルタリングモジュールは、アプリケーション202によりアクセスできるアイテムをフィルタするブローカモジュール120の機能を表す。アプリケーション202は、上記の通り、特定のアイテムソース及び/または特定のアイテムロケーションにアクセスする許可を受けている。フィルタリングモジュール214により、アクセス要求をさらにフィルタして、アクセスが許可されていても、特定のアイテムロケーションにアプリケーション202がアクセスしないようにできる。フィルタリングモジュール214は、アイテムアクセスモジュール212がこれらのアイテムを表す生成された記憶アイテムを返す前に、アイテムソースからのアイテムをフィルタする。このように、フィルタされたアイテムを表す記憶アイテムは、アプリケーション202がアクセスを許可されたそのアイテムソース及び/またはアイテムロケーションにかかわらず、アプリケーション202に返されない。フィルタリングモジュール214は、ブローカモジュール120の設計者及び/またはシステム200の管理者の希望などに基づき、特定のアイテムロケーションをフィルタするように構成できる。例えば、フィルタリングモジュール214は、システムファイルを記憶した特定のフォルダやディレクトリをフィルタして、アプリケーション202がこれらの特定のフォルダやディレクトリにアクセスすることを防止できる。他の一例として、フィルタリングモジュール214は、システムファイル、隠しファイルなどの特定のファイルタイプをフィルタできる。また、ブローカモジュール120は、任意的に、編成モジュール216を含む。この編成モジュールは、特定の順序及び/または特定のグルーピングでアイテムを編成するブローカモジュール120の機能を表す。アプリケーション202は、ブローカモジュール120により特定の順序及び/またはグルーピングで編成されて返されることを要求できる。編成モジュール216は、異なる時に要求された順序でアイテムを編成し、例えば、アイテムアクセスモジュール212が要求されたアイテムを表す記憶アイテムオブジェクトを生成する前に、アクセスされたアイテムをソーティング及び/またはグルーピングしたり、アイテムアクセスモジュール212により生成された要求されたアイテムを表す記憶アイテムオブジェクトをソーティング及び/またはグルーピングしたりする。異なる様々な順序が編成モジュール216によりサポートされ、異なるソート基準に基づく異なる順序が異なるアイテムタイプやアイテムロケーションについてサポートされる。例えば、アイテムは関連する日付例えば、写真アイテムの写真が撮られた日、アイテムソース204にアイテムが記憶された日、音楽アイテムの歌が録音された日に基づき例えば、時間的に昇順または降順に順序付けることができる。他の一例により、アイテムは、例えば、音楽アイテムやビデオアイテムの収録アーティストに基づき、例えば、音楽アイテムやビデオアイテムのアルバム名に基づき、例えば、音楽アイテムやビデオアイテムのジャンルに基づき、例えば、アルファベット順に順序付けることができる。編成モジュール216は、アプリケーション202を選択する一組の順序付けをサポートできる。あるいは、編成モジュール216は、アイテムソース204によりサポートされるアイテムのメタデータに基づき、ソート基準をサポートできる。このように、アイテムに関連する特性、属性、その他のメタデータを、順序付けに用いるソート基準として、アプリケーション202により特定できる。同様に、異なる様々なグルーピングが編成モジュール216によりサポートされ、異なるグルーピング基準に基づく異なるグルーピングが異なるアイテムタイプやアイテムロケーションについてサポートされる。例えば、アイテムはアイテムタイプによりグループ分けできる例えば、音楽アイテムは同じグループに分けられ、文書アイテムは同じグループに分けられる。他の一例により、アイテムは、例えば、音楽アイテムやビデオアイテムの収録アーティストに基づき、例えば、音楽アイテムやビデオアイテムのアルバム名に基づき、例えば、音楽アイテムやビデオアイテムのジャンルに基づき、グループ分けすることができる。グルーピングは、一組のコンテナ記憶アイテムオブジェクトであり、各々が一または複数の記憶アイテムオブジェクトを含み、ある条件に合う記憶アイテムオブジェクトを提供するために列挙することができる。編成モジュール216は、アプリケーション202が選択できる一組のグルーピングをサポートできる。あるいは、編成モジュール216は、アイテムソース204によりサポートされるアイテムのメタデータに基づき、グルーピング基準をサポートできる。このように、アイテムに関連する特性、属性、その他のメタデータを、グルーピングに用いるグルーピング基準として、アプリケーション202により特定できる。あるグルーピングにおいて、アイテムを様々なソート基準を用いてソートできることは上記の通りであるが、必ずしもソートしなくてもよい。さらに、アプリケーション202は、あるグルーピングの記憶アイテムオブジェクトの検索を要求でき、検索モジュール218に関して後で説明するのと同様に、異なる様々な検索基準を提供できる。また、ブローカモジュール120は、任意的に、検索モジュール218を含む。検索モジュール218は、具体的なアイテムを検索するブローカモジュール120の機能を表す。アプリケーション202は、具体的な検索基準を満たすアイテムがブローカモジュール120により返されることを要求できる。検索モジュール218は、アイテムソース204を検索し、検索基準を満たす例えば、マッチするアイテムを探し、検索基準を満たすアイテムがアプリケーション202に返される。アイテムアクセスモジュール212が要求された検索基準を満たすアイテムを表す記憶アイテムオブジェクトを生成する前に、検索モジュール218が、アイテムソース204中のアイテムを検索して、検索基準を満たすアイテムを特定する。あるいは、検索モジュール218は、生成された記憶アイテムオブジェクトを検索して、検索基準を満たす記憶アイテムオブジェクトを特定し、検索基準を満たす生成された記憶アイテムオブジェクトのみがアプリケーション202に返される。異なる様々な検索基準が検索モジュール218によりサポートされ得る。例えば、検索基準はアイテムタイプ例えば、音楽ファイルであり、その検索基準はそのアイテムタイプの任意のアイテムにより満たされるてもよいし、または検索基準は名称であり、その検索基準はその具体的な名称例えば、ファイル名を有するアイテムにより満たされてもよい。また、より複雑な検索基準が検索モジュール218によりサポートされてもよい。例えば、日付範囲、ワイルドカード値例えば、任意の1文字を示すクエスチョンマークやゼロ以上の文字を示すアスタリスク、AQSAdvancedQuerySyntax、これに関する詳細情報は米国ワシントン州レドモンド市のマイクロソフトコーポレーションから得られるなどの利用がサポートされ得る。留意点として、アプリケーション202は、検索基準を提供できるが、例えば、上記の通り、許可記憶部208に保持されている記録に基づき、そのアプリケーション202がアクセスを許可されているアイテムのみにアクセスできる。また、ブローカモジュール120は、アプリケーション202がアイテムへのアクセスを許可されている場合、そのアプリケーション202にそのアイテムにアクセスさせる。ブローカモジュール120は、任意的に、アプリケーション202を、自動的に、かかる許可を示すユーザ入力が無くても、一または複数のアイテムロケーションにアクセスする許可を受けているものとして扱う。かかるロケーションの一例は、隔離されたすべてのアプリケーションがデータの書き込みを許可されているダウンロードフォルダである。ブローカモジュール120は、任意的に、上記の通り、アプリケーション202が一または複数のアイテムロケーションにアクセスを許可されるまで、アプリケーション202を特定タイプのアクセスに制限することができる。例えば、アプリケーション202は、ダウンロードフォルダにファイルを書き込むことを自動的に許可されるが、コンピューティングデバイスのユーザがアプリケーション202に、そのダウンロードフォルダからファイルを読み出す許可を与えた場合に限り、そのダウンロードフォルダからファイルを読み出す許可がされる。ここに説明する隔離されたアプリケーションへのブローカードアイテムアクセス方法は、様々な利用シナリオをサポートする。例えば、写真編集アプリケーションは実行され、ブローカモジュールを介してファイルにアクセスできる。写真編集アプリケーションがコンピューティングデバイスにインストールされると、ユーザは、写真ライブラリ中のファイルにアクセスする許可を写真編集アプリケーションに与えることができるが、他のロケーションのファイルにアクセスする許可は与えない。動作中、写真編集アプリケーションは、ブローカモジュールに様々なファイルを要求できるが、ブローカモジュールは写真ライブラリのファイル以外のファイルを求める要求は拒絶する。写真編集アプリケーションは、写真ライブラリ以外のロケーションに記憶されたファイルへのアクセスが禁止される。図3は、一または複数の実施形態による隔離されたアプリケーションのためのブローカードアイテムアクセス方法のデータフロー300をさらに詳細に説明する図である。データフロー300を、図2のシステム200の要素を参照して説明する。アプリケーション202は、ブローカモジュール120の一または複数のAPIを起動することにより、ブローカモジュール120にアクセス要求302を送る。アクセス要求302は、アイテムソース204に、あるタイプのアクセスを求める要求である。ブローカモジュール120は、一または複数のアクセス要求304をアイテムソース204に送り、アクセス要求302により要求されたアイテムを取得する。ブローカモジュール120は、アイテムソース204のAPIを起動し、メッセージその他のデータ構造をアイテムソース204に送ることなどにより、アイテムソース204が実装されている方法に応じて様々な方法で一または複数のアクセス要求304を送ることができる。一または複数のアイテムのアイテム情報306は、アイテムソース204からブローカモジュール120に返される。アイテム情報306は、アクセス要求302に基づく一または複数のアイテムを記述する。上記の通り、アイテム情報306が返されたアイテムは、例えば、あるアイテムソースにおけるアイテムの情報を含み、フィルタされたアイテムを含むことができる。アイテム情報306は、アイテムソース204の一または複数のアイテムを記述する情報を含む。アイテムを表す記憶アイテムオブジェクトに含まれうる情報は、アイテム情報306に含まれ得る。ブローカモジュール120は、アイテム情報306に基づき一または複数の記憶アイテムオブジェクト308を生成する。ブローカモジュール120は、アイテム情報306中で特定された少なくとも1つのアイテムの記憶アイテムオブジェクト308を生成する。上記の通り、ブローカモジュール120は、任意的に、アイテム情報306から特定された一または複数のアイテムをフィルタし、フィルタされた一または複数のアイテムの記憶アイテムオブジェクト308を生成しない。また、上記の通り、ブローカモジュール120は、任意的に、記憶アイテムオブジェクト308を、または記憶アイテムオブジェクト308に含まれる情報を、ある順序またはあるグルーピングに編成することもできる。APIの例ブローカモジュールは、一または複数のAPIを隔離されたアプリケーションにエクスポーズする。一または複数のAPIは隔離されたアプリケーションにより起動できる、アイテムに異なる様々なアクセスをするための様々なインタフェースをサポートしている。例えば、ブローカモジュール120はAPI210を上記の通りエクスポーズexposeする。下記の表1乃至11は、ブローカモジュールによりエクスポーズされるAPIの例を示す。言うまでもなく、これらのAPIは例であり、これらのAPIのうち一または複数はブローカモジュールによりエクスポーズされなくてもよく、別のAPIがブローカモジュールによりエクスポーズされてもよく、及び/またはブローカモジュールによりエクスポーズされるAPIに変更を加えることもできる。APIは、ある名前空間にグループ化または集められる。表1乃至11はそれぞれある名前空間のAPIを含む。かかるグルーピングを行う方法は、例えば、ブローカモジュールの開発者の希望に基づいて変わり得る。APIの名前は、名前空間を識別するプリアンブルを有し、表1乃至11にリストされたAPIの名前は、テーブルには示していないがこの共通プリアンブルを含む。例えば、既知のフォルダ名前空間の場合、共通プリアンブルはWindowsStorageKnownFoldersであり得る。したがって、musicLibraryAPIの名前は、この共通プリアンブルを含み、以下の表4にmusicLibraryとしてリストされているが、WindowsStorageKnownFoldersmusicLibraryである。表1は、記憶アイテムオブジェクトのAPIを示し、これは記憶アイテム名前空間とも呼ばれる。記憶アイテム名前空間の共通プリアンブルは、WindowsStorageStorageltemである。記憶アイテム名前空間のAPIにより、隔離されたアプリケーションは、記憶アイテムオブジェクトにより表されたアイテムに関する情報を取得し、及び/または記憶アイテムオブジェクトにより表されたアイテムに様々なオペレーションを行うことができる。表2は、記憶フォルダまたはStorageFolder記憶アイテムオブジェクトのAPIを示し、これは記憶フォルダ名前空間とも呼ばれる。記憶フォルダ名前空間の共通プリアンブルは、WindowsStorageStorageFolderである。記憶フォルダ名前空間のAPIにより、隔離されたアプリケーションは、記憶フォルダオブジェクトにより表されたフォルダに関する情報を取得し、及び/または記憶フォルダオブジェクトにより表されたフォルダに様々なオペレーションを行うことができる。記憶フォルダオブジェクトは、表1を参照して上記した記憶アイテムオブジェクトのすべてのAPIを承継するまたは含む。表3は、記憶ファイルまたはStorageFile記憶アイテムオブジェクトのAPIを示し、これは記憶ファイル名前空間とも呼ばれる。記憶ファイル名前空間の共通プリアンブルは、WindowsStorageStorageFileである。記憶ファイル名前空間のAPIにより、隔離されたアプリケーションは、記憶ファイルオブジェクトにより表されたファイルに関する情報を取得し、及び/または記憶ファイルオブジェクトにより表されたファイルに様々なオペレーションを行うことができる。記憶ファイルオブジェクトは、表1を参照して上記した記憶アイテムオブジェクトのすべてのAPIを承継するまたは含む。表4は、既知のフォルダ名前空間のAPIを示し、これは隔離されたアプリケーションによりアクセスできるファイルシステムアイテムソースの一組のフォルダまたはライブラリを指す。既知のフォルダ名前空間の共通プリアンブルは、WindowsStorageKnownFoldersである。既知のフォルダ名前空間のAPIにより、事前に画定された一組のフォルダまたはディレクトリは、隔離されたアプリケーションによりアクセスできる。表5は記憶名前空間のAPIを示す。これは、隔離されたアプリケーションにあるファイルまたはフォルダを記憶または読み出しさせる一組のインタフェースである。記憶アイテム名前空間の共通プリアンブルは、WindowsStorageである。表6は、クエリオプションのAPIを示し、これはクエリオプション名前空間とも呼ばれる。クエリオプション名前空間の共通プリアンブルは、WindowsStorageQueryOptionsである。クエリオプション名前空間のAPIにより、隔離されたアプリケーションは、隔離されたアプリケーションにより送られた検索要求の様々なクエリオプションを規定することができる。表7はクエリ名前空間のAPIを示す。これは、隔離されたアプリケーションにアイテムのクエリまたは検索を送らせる一組のインタフェースである。クエリ名前空間の共通プリアンブルは、WindowsStorageである。表8は、クイックアクセサ名前空間のAPIであり、これは、例えば、素早く、AQSクエリを規定せずにアイテムを読み出させる一組のインタフェースである。APIは、異なる方法でのアイテムの読み出しをサポートし、例えば浅いモード例えば、フォルダまたはディレクトリからの結果を返す、深いモード例えば、フォルダまたはディレクトリからの結果とともに、すべてのサブフォルダまたはサブディレクトリを返すをサポートする。クイックアクセサ名前空間の共通プリアンブルは、WindowsStorageStorageFolderである。表9は、クエリ生成名前空間のAPIを示す、これは、隔離されたアプリケーションによりクエリを生成させる一組のインタフェースである。一旦生成されると、これらのクエリは、ブローカモジュールにより保持でき、後で、クエリを生成する隔離されたアプリケーションによりアクセスされる。クエリ生成名前空間の共通プリアンブルは、WindowsStorageStorageFolderである。表10は、記憶アイテムパーシステンス名前空間のAPIを示し、これは隔離されたアプリケーションに記憶アイテムオブジェクトを持続させる一組のインタフェースである。記憶アイテムオブジェクトは、上記の通り、隔離されたアプリケーションの複数の実行にわたり持続できる。記憶アイテム持続名前空間の共通プリアンブルは、StorageApplicationPermissionsfutureAccessListである。表11は、最も最近使われたMRUリストのAPIであり、これは隔離されたアプリケーションに、最も最近使われたアイテムのリストを生成し保持させる一組のインタフェースである。MRUリストは、持続記憶アイテムオブジェクトの一例であり、持続アクセスリストはMRUリストである。MRUリスト名前空間の共通プリアンブルは、StorageApplicationPermissionsmostRecentlyUsedListである。方法例以下の説明では、上記のシステムとデバイスを用いて実装できる、隔離されたアプリケーションのためのブローカードアイテムアクセス方法を説明する。本方法の各態様は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実装できる。これらの方法は、一または複数のデバイスにより実行される動作を規定する一組のステップactとして示され、それぞれのステップにより動作を実行するために示した順序には必ずしも限定されない。以下の説明の一部では、図1、2及び3の要素を参照する。図4は、一または複数の実施形態による隔離されたアプリケーションのためのブローカードアイテムアクセス方法の実装手順400を説明する図である。方法400は、ブローカモジュール120などのブローカモジュールにより実装される。方法400において、アイテムソースのうちの一または複数のアイテムにアクセスする要求を受け取るステップ402。要求は、コンピューティングデバイスの隔離されたアプリケーションから受け取られ、一般的には、あるアイテムソースへのあるタイプのアクセスを求める要求である。この要求は、上記の通り、隔離されたアプリケーションにより受け取られ、ブローカモジュールによりエクスポーズされるAPIを起動する。上記の通り、異なる様々なタイプの要求を、例えば、アイテムの読み出し、アイテムの書き込み、アイテムの修正、アイテムの検索などの要求を受け取ることができる。隔離されたアプリケーションが、アイテムソースの一または複数のアイテムのどれに、もしあれば、アクセスする権限を有するかチェックするステップ404。隔離されたアプリケーションが一または複数のアイテムのどれにアクセスする許可を受けているかは、上記の通り、具体的なアイテムソース及び/または具体的なアイテムロケーションに基づく。チェックは、アイテムソース例えば、フォルダ、ライブラリ、記憶構造のルートノードがアクセスされた時など、異なる時に行える。方法400は、隔離されたアプリケーションが一または複数のアイテムのどれにもアクセスする許可を受けていないかに基づいて進むステップ406。隔離されたアプリケーションが、一または複数のアイテムのどれにもアクセスする許可を受けていないアプリケーションがアクセスを要求されたアイテムのどれにもアクセスする許可を受けていないとき、要求は拒否されるステップ408。上記の通り、任意的に、隔離されたアプリケーションに要求が拒否されたとの表示が返される。しかし、隔離されたアプリケーションが一または複数のアイテムの少なくとも1つにアクセスする許可を受けているとき、隔離されたアプリケーションがアクセスを許可されている一または複数のアイテムのうちのアイテムを表す一または複数の記憶アイテムオブジェクトが生成されるステップ410。各記憶アイテムオブジェクトは、上記の通り、一または複数の記憶アイテムに関連する様々な情報を含む。隔離されたアプリケーションがアクセスを許可されている一または複数のアイテムのうちのアイテムからは、上記の通り、フィルタで排除されたアイテムソースのアイテムを除くことができる。隔離されたアプリケーションに、生成された一または複数の記憶アイテムオブジェクトが返されるステップ412。記憶アイテムオブジェクトは、隔離されたアプリケーションに提供されたデータ構造でもよいし、上記の通り、隔離されたアプリケーションにエクスポーズされたオブジェクトでもよい。記憶アイテムオブジェクトは、任意的に、上記の通り、特定の順序や特定のグルーピングで編成されてもよい。図5は、一または複数の実施形態による隔離されたアプリケーションのためのブローカードアイテムアクセス方法の実装手順500を説明する図である。方法500は、アプリケーション116やアプリケーション202などの隔離されたアプリケーションにより実装される。方法500では、ブローカモジュールのAPIが起動され、アイテムソースの一または複数のアイテムへのアクセスを要求するステップ502。一般的には、要求は、具体的なアイテムソースへのあるタイプのアクセスを求める要求である。上記の通り、異なる様々なタイプの要求を、例えば、アイテムの読み出し、アイテムの書き込み、アイテムの修正、アイテムの検索などの要求を受け取ることができる。隔離されたアプリケーションがアクセスする権限を与えられた一または複数のアイテムのうちのアイテムを含む少なくとも1つの記憶アイテムオブジェクトが、ブローカーモジュールから受け取られるステップ504。隔離されたアプリケーションが一または複数のアイテムのどれにアクセスする許可を受けているかのチェックは、アイテムソース例えば、フォルダ、ライブラリ、記憶構造のルートノードがアクセスされた時など、異なる時に行える。各記憶アイテムオブジェクトは、上記の通り、アイテムに関連する様々な情報を含む。記憶アイテムオブジェクトが受け取られている一または複数のアイテムのうちのアイテムからは、上記の通り、フィルタで排除されたアイテムソースのアイテムを除くことができる。記憶アイテムオブジェクトは、隔離されたアプリケーションに返されたデータ構造でもよいし、上記の通り、隔離されたアプリケーションにエクスポーズされたオブジェクトでもよい。また、記憶アイテムオブジェクトは、任意的に、上記の通り、特定の順序で編成されてもよい。結論ここでは、様々なモジュールにより実行される、通信、受信、送信、記憶、生成、取得などの様々なステップを説明した。留意点として、様々なモジュールによりかかるステップを実行できる。ステップを実行させるモジュールは、そのステップを実行するモジュール自体、または代替的にそのステップを実行する他のコンポーネントやモジュールまたはそのモジュールと協働してそのステップを実行するを起動またはアクセスするモジュールを含む。本主題を個別の構造的特徴及び/又は方法動作を用いて説明したが、言うまでもなく、添付した特許請求の範囲に規定する主題は、上記の特定の特徴や動作には必ずしも限定されない。上記の特定の特徴や動作は、請求項を実施する形式例を開示するものである。