(57)【要約】  リソースセレクタが階層ストレージ構造を走査して、そのリソースを列挙し、対応するアイテムのフラットリストを提供するテクノロジが説明されている。ユーザはフラットリストとやりとりしてアイテムを選択する。リソースセレクタは、ハンドヘルドコンピューティングデバイスに組み込まれていると特に好都合である。リソースセレクタは、アプリケーションプログラムと関連付けられたフィルタリング基準を使用することがある。例えば、階層ストレージはファイルシステムに対応していて、ファイルエクステンション（タイプ）がフィルタリング基準になっていることがある。リソースセレクタに結合されたトリガはリソースセレクタをトリガし、そこではトリガはアプリケーションプログラム内に組み込まれていることもあれば、あるいはどのアプリケーションプログラムが現在フォーカス(focus)を有していて、そのアプリケーションのためにリソースセレクタをトリガするかを知っているアプリケーション独立（例えば、オペレーティングシステム）コンポーネントを含んでいることもある。
2010538368.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実行可能命令を収めたコンピュータ可読媒体であって、前記コンピュータ実行可能命令はその実行時に、
リソースセットを返すためにリクエストを受信するステップ（３０４）であって、前記リクエストはユーザ起動サーチプログラムではない特定のアプリケーションプログラム（１０６）と関連付けられているものと、
階層ストレージ（１０４）を走査して、リクエストされたリソースセットに対応するリソースアイテムを列挙するステップ（３１０）と、
フラットリストとして配列された１または２以上のリソースアイテムを含む結果セット１０８を前記リクエストに応答して返すステップ（３１６）と、
を含むステップを実行することを特徴とするコンピュータ可読媒体。
【請求項２】
リクエストはリソースのタイプと関連付けられており、および階層ストレージを走査してリソースアイテムを列挙するステップは、前記リソースのタイプをフィルタリング基準として使用することを含むことを特徴とする請求項１に記載のコンピュータ可読媒体。
【請求項３】
階層ストレージ（１０４）はファイルシステムに対応していて、前記リソースのタイプは少なくとも１つのファイルエクステンションを含んでいること特徴とする請求項２に記載のコンピュータ可読媒体。
【請求項４】
リクエストは、タイプ情報を１または２以上のパラメータのセットとして与えることによってリソースのタイプと関連付けられていることを特徴とする請求項１に記載のコンピュータ可読媒体。
【請求項５】
リクエストは、タイプ情報をアプリケーションプログラム（１０６）と関連づけて登録することによってリソースのタイプと関連付けられていることを特徴とする請求項１に記載のコンピュータ可読媒体。
【請求項６】
列挙されたリソースアイテムをキャッシュするステップ（１１０）を含むコンピュータ実行可能命令をさらに格納していることを特徴とするコンピュータ可読媒体。
【請求項７】
列挙されたリソースアイテムをソーティングまたはグルーピングし、または列挙されたリソースアイテムをソーティングすると共にグルーピングするステップ（３１４）を含むコンピュータ実行可能命令をさらに格納していることを特徴とする請求項１に記載のコンピュータ可読媒体。
【請求項８】
やりとりによる選択のためフラットリストを表示するステップ（３１６）を含むコンピュータ実行可能命令をさらに格納していることを特徴とする請求項１に記載のコンピュータ可読媒体。
【請求項９】
コンピューティング環境におけるシステムであって、
階層ストレージシステム（１０４）に結合されたリソースセレクタ（１０２）と、
前記リソースセレクタに結合されたトリガであって、アクチュベートされたとき階層ストレージ構造を走査するようにリソースセレクタをトリガしてリソースを列挙し、各リソースアイテムが階層ストレージ構造内のどの位置に置かれているかに関係なく１または２以上のリソースアイテムの結果セット（１０８）をフラットリストとして返すトリガ（１０５）と、
を含むことを特徴とするシステム。
【請求項１０】
トリガ（１０５）はアプリケーションプログラム（１０６）内に組み込まれており、および前記アプリケーションプログラムは、リソースセレクタが前記結果セット内の１または２以上のリソースアイテムをフィルタリングするときの少なくとも１つのフィルタ基準と関連付けられていることを特徴とする請求項９に記載のシステム。
【請求項１１】
トリガ（１０５）はアプリケーション独立のコンポーネントを含んでおり、およびトリガされたとき、リソースセレクタは現在フォーカスを有しているアプリケーションプログラムに基づいてリソースを列挙することを特徴とする請求項９に記載のシステム。
【請求項１２】
結果セット（１０８）は、リソースアイテムを選択候補として表示する手段を含んでいることを特徴とする請求項９に記載のシステム。
【請求項１３】
結果セット（１０８）は、前記選択候補が階層ストレージ構造内に置かれている位置に対応するパスを表示する手段（２２０）を含んでいることを特徴とする請求項１２に記載のシステム。
【請求項１４】
リソースセレクタおよびトリガはハンドヘルドコンピューティングデバイス（４００）内に組み込まれていることを特徴とする請求項９に記載のシステム。
【請求項１５】
リソースセレクタに結合されて、結果セットに対応するデータをキャッシュするキャッシュ（１１０）をさらに含むことを特徴とする請求項９に記載のシステム。
【請求項１６】
コンピューティング環境における方法であって、
アプリケーションプログラム（１０６）と関連付けられたリソースアイテムを列挙するステップ（１０６）であって、前記リソースアイテムは階層（１０４）に配置されたリソースを表しているものと、
リソースアイテムのフラットリスト（１０８）をユーザがやりとりするために提示するステップ（３１６）であって、その中には前記アプリケーションプログラムによるアクセスのために少なくとも１つのリソースアイテムを選択することを含むものと、
を含むことを特徴とする方法。
【請求項１７】
ユーザのやりとりのためにリソースアイテムのフラットリストを表示するステップは、選択のために候補アイテムを可視的に表示することを特徴とする請求項１６に記載の方法。
【請求項１８】
前記候補アイテムが階層内に置かれている位置に対応するパス（２２０）を表示することをさらに含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
アプリケーションプログラムと関連付けられたリソースアイテムを列挙するステップ（３０４）は、前記アプリケーションプログラムと関連付けられた少なくとも１つのファイルエクステンションからなるエクステンションセットに基づいてフィルタリングすることを含むことを特徴とする請求項１６に記載の方法。
【請求項２０】
ファイルをフィルタリングすることは、エクステンションセットをパラメータとして受信すること、または前記エクステンションセットをアプリケーションプログラムに基づいて調べることを特徴とする請求項１９に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
デバイスアプリケーションにおいて、階層ストレージ構造のレベルを通るようにナビゲーションすることによってユーザがリソースを見つけ、アクセスすることは一般に不便である。特に正確なロケーションを覚えていない場合には、ユーザはリソースを見つける前にストレージ階層を何度も上下にブラウズする必要がよく起ることがある。
【０００２】
例を挙げると、ファイルシステム内のファイルを見つけようとするとき、深いレベルフォルダの個所にあるターゲットファイルを見つけることは困難な作業である。ファイルが階層内の深いレベルにあるほど、そのファイルを見つけることはそれだけ困難になるのが一般である。この問題は、モバイル電話のようなハンドヘルドデバイスでは、スクリーンサイズおよびキーパネルが小さいために、さらに複雑化している。
【発明の概要】
【０００３】
この要約説明は、以下の「詳細説明」の個所に詳しく説明されている代表的な概念をいくつか選んで簡単な形式で紹介したものである。この要約説明は請求項に記載の主題のキーとなる特徴または重要な特徴を特定するものではなく、また請求項に記載の主題の範囲を限定するような形で使用されるものでもない。
【０００４】
簡単に説明すると、本明細書に記載の主題の種々側面は、リソースセレクタ(resource selector)が階層ストレージを走査(traverse)して、リクエスト（要求）したリソースセットに対応するリソースアイテムを列挙し、フラットリスト(flat list)として配列された１または２以上のリソースアイテムを含む結果セットを返すテクノロジを目的としている。この列挙は、ユーザ起動(user-initiated)サーチプログラムではないアプリケーションプログラムと関連付けられたリクエストに対するレスポンスである。リソースセレクタは、ハンドヘルドコンピューティングデバイスに組み込まれていると特に便利である。
【０００５】
ある側面では、リクエストはリソースのタイプと関連付けられており、このタイプはリソースセレクタによってフィルタリング基準(filtering criterion)として使用されている。例えば、階層ストレージはファイルシステムに対応し、リソースのタイプがファイルエクステンションに対応していることがある。この基準はリクエストに付随するパラメータとして与えられることもあれば、アプリケーションプログラムと関連づけて登録されていることもある。
【０００６】
ある実施形態では、リソースセレクタに結合されたトリガ(trigger)は、階層ストレージを走査して、リソースを列挙するためにアクチベートされたときリソースセレクタをトリガし、結果セットをフラットリスト(flat list)として返している。このトリガはアプリケーションプログラムに組み込まれていることもあれば、どのアプリケーションプログラムが現在フォーカス(focus)を有していて、そのアプリケーションのためにリソースセレクタをトリガするのかを知っているアプリケーション独立（例：オペレーティングシステム）のコンポーネントを含んでいることもある。
【０００７】
ある側面では、あるアプリケーションプログラムと関連付けられたリソースアイテムが列挙され、そこではリソースアイテムは階層内に配列されたリソースを表している。リソースアイテムのフラットリストは、ユーザがそのフラットリストとやりとりするために提示され、そこには、アプリケーションプログラムによるアクセスのために少なくとも１つのリソースアイテムを選択することが含まれている。例えば、候補アイテム(candidate item)が選択のために可視的に表示され（例えば、ハイライトされる）、ユーザは選択に先立って候補アイテムを選ぶためにナビゲートすることがある。候補アイテムが階層内に置かれている位置に対応するパスは、選択プロセスにおいてユーザを援助するために表示されることがある。
【０００８】
その他の利点は、添付図面と併用される以下の詳細説明の中で明らかにされている。
【図面の簡単な説明】
【０００９】
本発明は添付図面における例を参照して説明されているが、本発明はこれらの例に限定されない。なお、添付図面において類似エレメントは同じ参照符号で示されている。図面において、
【００１０】
【図１】ユーザが階層ストレージ構造をサーチまたはネビゲートすることなくリソースを見つけるためのリソースセレクタの例を示すブロック図である。
【図２】ファイルを含むリソースを、リソースセレクタを通して見つけることを示す図である。
【図３】階層ストレージ構造内に保存されているリソースのフラットリストを含む結果セットを返すためにとられるステップの例を示すフロー図である。
【図４】本発明の種々の側面が組み込まれていることのあるコンピューティングおよび通信デバイスを例示する図である。
【発明を実施するための形態】
【００１１】
本明細書に記載されているテクノロジの種々の側面は、一般的に階層ストレージ構造の個所に保存されているリソースをユーザが見つけ、選択するための直接的で効率的な方法を提供するリソースセレクタを目的としている。以下から理解されるように、これは、ナビゲーションがマウスおよびフルサイズディスプレイによるよりも困難であるのが代表的である場合にハンドヘルドデバイスのユーザにとって特に価値がある。しかし、本明細書に記載のテクノロジから得られる利点は、どの特定コンピューティングデバイスおよび/またはストレージデバイスにも限定されず、その代わりに、従来のマウス、タッチパネル、ポインティングデバイスなどを備えたものを含む、どのコンピューティングデバイスおよび/またはストレージデバイスにも利益を提供することがある。
【００１２】
従って、本明細書における種々の例は、モバイル電話のようなハンドヘルドコンピューティングデバイスが中心に説明されているが、本明細書におけるテクノロジはどのタイプのデバイスにも限定されていない。さらに、これらの例は階層構造としてのファイルシステムを目的としているが、どのような階層配置のリソースも本明細書に記載のテクノロジから利益が得られ、そのようなものとして、ネットワークストレージメカニズム(network storage mechanism)、分類法(taxonomy)、ハードウェアリソース、システムサービスなどがある。このように、本発明は、本明細書に記載のどの特定実施形態、側面、概念、構造、機能または例にも限定されない。むしろ、本明細書に記載の実施形態、側面、概念、構造、機能または例のいずれも限定的ではなく、本発明は、コンピューティングおよびリソースストレージ全般において利益と利点を提供する種々の方法で使用されることがある。
【００１３】
図１を参照して説明すると、図１は、ユーザ側から見たとき、リソースを見つけるために階層ストレージ構造１０４をナビゲートする必要性をバイパスするリソースセレクタ１０２を示している。さらに、ユーザは、リソースを見つけるためにアクティブにサーチを起動する必要がない。例えば、ユーザは、サーチターム（探索語）、サーチスコープ（探索範囲）などを指定する必要がない。
【００１４】
その代わりに、ユーザがトリガ１０５をアクチベートしたときリソースセレクタがトリガされたとき、リソースセレクタ１０２は自動的に階層ストレージ構造１０４を走査し、望みのリソースセットの形になった対応する結果をフラットビュー(flat view)で提供し、ユーザがリソースを直接に選択できるようにする。ユーザに提示されるリソースセットは、任意的にある種の基準で、例えば、ファイルリソースの場合にはファイルエクステンションでフィルタリングされることがあり、特定のストレージボリュームのようなある種のスコープに限定されることもある。なお、ここで注意すべきことは、ユーザはフィルタリング基準および/またはスコープを指定する必要がないことである。
【００１５】
例を挙げると、アプリケーションプログラム１０６は、１または２以上のファイルエクステンションからなるエクステンションセットと関連付けることも、エクステンションセットをパラメータとして与えることもできる。起動されると、リソースセレクタ１０２は構造１０４を走査し、該当のエクステンションを持つファイルだけを返すので、ユーザはエクステンションセットを指定しないで済む。スコープ、ソーティングおよび/またはグルーピング基準は、例えば、事前定義の関連付けによって、またはパラメータセットの一部として、同じように自動的に与えることができる。
【００１６】
図１に示すように、および容易に理解されるように、トリガ１０５は、アイコン、ボタンなどの形になっていて、アクチュエートされたとき、ＡＰＩなどをコールしてリソースセレクタ１０２をアクチベートするアプリケーションプログラム１０６に組み込まれていることがある。代替的方法として、トリガ１０７は、オペレーティングシステムコンポーネントのように、トリガされたとき、現在フォーカス(focus)を有しているどちらのアプリケーションプログラムに対してもリソースセレクタをアクチベートする共用リソースになっていることがある。図１において、トリガ１０５は代替的に別コンポーネントまたはアプリケーションプログラムに組み込まれているものとして（破線枠で図示）示されているが、共にトリガメカニズムにすることも、および／または異なるトリガメカニズムにすることも可能である。
【００１７】
ある代替的オプション実施形態では、リソースセレクタは、高速アクセスのために１または２以上のリソースセットを保存していることがあるキャッシュ１００と関連付けられていることがある。例えば、あるアプリケーションプログラムが同じリソースセットをリクエストし、その結果がキャッシュ１１０においてまだ有効であれば、例えば、ファイルシステムの内容が変わっていなければ、結果を得るために階層ストレージ構造１０４を再び走査しないで済むことになる。なお、キャッシュ１１０は、そのようなコンポーネントがオプションであることを示すために、図１に破線枠で示されている。
【００１８】
図２は、イメージ関連アプリケーションプログラム２０６がユーザによってトリガされたとき返される結果セットの例を示す図であり、この結果セットは、マッチする(*.jpg)選択候補の中から選択するリソースのフラットリストを提供している。例えば、アプリケーションまたはオペレーティングシステムは、アクチュエートされたときリソースセレクタ１０２と通信して、対応する結果のフラットリストを提供するためにアイコン、キーの組み合わせなどをユーザに提供することがある。図２の例では、イメージアプリケーションプログラム２０６またはオペレーティングシステム（これはイメージアプリケーション２０６がインフォーカス (in focus) にあることを知っている）は、パラメータセットをリソースセレクタ１０２に与えることによって、またはそのアプリケーション（またはアプリケーションタイプ）をそのリソースタイプと関連付けている事前登録によって、*.jpgファイルが返されることをリソースセレクタに対して指定している。
【００１９】
次に、ユーザがこのようなファイルタイプに対するサーチをアクティブにリクエスト（要求）しなくても、リソースセレクタ１０２は繰り返し階層ストレージ構造１０４を走査し、マッチするファイルを見つける。すなわち、この例では.jpgファイルを列挙し、返してくる。なお、事前登録プロセスにおいて、ユーザは“.jpg”をこのアプリケーションと関連があるものとして事前に指定している可能性があるが、これはアクティブなユーザ起動サーチと同じでない。リソースセレクタ１０２はその結果をアプリケーション２０６に返し、リソースアイテムが見つかるつどそのリストが個別的に、または走査が完了したあとは全体的に構築される。なお、やりとりによる選択のためにリストをユーザに提示するために各アプリケーションに独自のユーザインタフェースを提供させるのではなく、結果をユーザに提示することおよびユーザのやりとりを処理し、そのあとアプリケーションに選択結果を提供する中間ユーザインタフェースコンポーネントが用意されていることがある。図２において、１０８で示された結果ブロックは、アプリケーションプログラムのユーザインタフェースおよび/または独立の中間結果セットのユーザインタフェースを表している。
【００２０】
従って、ユーザが階層１０４をブラウザするのを要求されるではなく、リソースセレクタ１０２が階層１０４内のリソースを繰り返し処理し（必要に応じてある種のフィルタリング、ソーティングおよび/またはグルーピング基準に従って）、結果セット１０８をフラットリストで提供する。ディプレイエリア２２０に表されているように、ユーザがアイテム選択のためにこのリストをブラウズするとき、ユーザがリソースを特定するのを支援するためにフル階層パスが表示されることがある。例えば、図２においては、“target.jpg”が現在ハイライトされて選択を可能にしており、そこではパス\\user\mypicture\07\02\target.jpgがエリア２２０に表示されている。なお、フルパスを表示することは、異なるフォルダが同じファイル名を持つ異なるファイルを収めているとき特に便利なことがある。例えば、２つのフォルダロケーションに“animal.jpg”が置かれているので、フルパスを使うと、ユーザはこれらの区別がし易くなることがある。オプションとして、リソースの名前の最初の数文字をインプットすると（例えば、タイプすると）、ユーザはリストをナビゲートして望みのリソースに即時に移ることができる。
【００２１】
容易に理解されるように、大部分のアプリケーションでは、フィルタリング基準を使用すると、提示するリソースの数がデバイススクリーンから表示するためにリストするのに妥当であるのが普通であるので（必要ならば若干のスクローリングを使用して）、階層をブラウジングすることに比べると、リソースを見つけるのにはるかに便利である。従って、このテクノロジはハンドヘルドデバイスのユーザにとって特に貴重である。
【００２２】
図３のフロー図を参照して説明すると、一般的オペレーションにおけるステップ例が階層ストレージ構造１０４としてのファイルシステムに関連して説明されている。大部分のアプリケーションプログラムは、ある種の選択したタイプのファイル（すなわち、特定のエクステンションを持つファイル）だけを使用している。ステップ３０２で示すようにユーザによってトリガされると、このトリガ（アプリケーションプログラムまたはオペレーティングシステムコンポーネント）はリソースセレクタと通信し、その望みのファイルタイプをフィルタリング基準として提供する。なお、アプリケーションプログラムでは、このトリガはアプリケーションプログラムの従来の“Open”リクエストに対応していることがあるか（その場合には、異なるファイルタイプを表示するための二次的オプションがユーザに与えられることがある）、または特殊な「リソースセレクタ」のリクエストによることもある（そこでは、“Open”リクエストからは従来の階層ブラウジングが得られることがある）。
【００２３】
ステップ３０４は、リクエストをリソースセレクタ１０２で受信することを表している。上述したように、フィルタリング基準はパラメータセットとして与えられることもあれば、フィルタリング基準がリクエスト側のアプリケーションプログラムまたは現在インフォーカス(in focus)にあるアプリケーションプログラムと自動的に関連付けられるように事前登録されていることもある。なお、結果（最もアクセス頻度が高い順、最近にアクセスされた順、日付別、サイズ別、作成者別などで）をソートするために、スコープのために、および/またはアルファベットではなくファイル名に基づくファイルタイプ別といったなんらかの方法で結果をグルーピングするために、といったように、その他の結果セット基準が提供されることもある。図２の例に示すように、ソーティングはアルファベット順になっている。別の基準は、結果セットのどのアイテムが最初にハイライトされるかを指定することができる。例えば、リソースアイテムをアルファベット順にリストするが、そのアルファベット順リスト内の最近にアクセスされたアイテムを最初にハイライトして、選択を可能にすることができる。
【００２４】
ステップ３０６は上述したようにオプションのキャッシュ検査ステップ(cache checking step)を表しており、このステップが実装されていると、結果セットが以前にキャッシュされ、有効であると分かっている場合キャッシュされた結果をリトリーブする（ステップ３０８）ことによって階層ストレージを再走査しないで済ますことができる。そうでなければ、ステップ３１０において、リソースセレクタはフィルタリング基準を使用し、ファイルシステム上の特定ロケーション内のリソース（例えば、ファイル）を選択したタイプに従って繰り返し列挙し、見つかったファイルを、階層に編成されていない（例えば、フォルダとして）フラットリスト結果セット内にリストする。リソースセレクタは、以後のアクセスを可能にするために、列挙したアイテムをキャッシュしておくこともある。
【００２５】
ステップ３１２は、見つかったリソースアイテムをさらに処理することを表し、この例では、このステップはソーティングであるが、そこには、上述したようにグルーピング、リソースアイテムを初期にハイライトする、なども含まれているがある（またはソーティングの代わりに）。この例において、ソーティングが要求される場合は、ソーティングがステップ３１４で実行されてから結果セットがステップ３１６で返される（ある実施形態では、他のソーティング基準が指定されていなければ、アルファベット順ソーティングがデフォルトで実行される）。なお、この例では、ソーティング（または他の処理）は列挙またはオプションのキャッシュリトリーブのあと行なわれるので、列挙はリソースアイテムをどの順序でもリトリーブすることもでき、あるいはキャッシュはリストをどのようにも保持しておくことができる。
例示の動作環境
【００２６】
図４は、本明細書に記載の主題の側面が実現可能である適当なモバイルデバイス４００の例を示す図である。モバイルデバイス４００は単なるデバイスの一例であり。本明細書に記載の主題の用途または機能の範囲に関してなんらかの制限があることを示唆するものではない。また、モバイルデバイス４００は、例示のモバイルデバイス４００に図示のコンポーネントのいずれか、または組み合わせに関してなんらかの依存関係または要求条件があることを意味するものでもない。
【００２７】
図４を参照して説明すると、本明細書に記載の主題の側面が実現されることのある例示デバイスはモバイルデバイス４００を含んでいる。一部の実施形態では、モバイルデバイス４００はセルフォン(cell phone)、他のデバイスとの音声通信を可能にするハンドヘルドデバイス、なんらかの他の音声通信デバイスなどを含んでいる。これらの実施形態では、モバイルデバイス４００は、ピクチャを撮影するためのカメラを備えていることがあるが、これは他の実施形態では要求されないことがある。その他の実施形態では、モバイルデバイス４００は、ＰＤＡ(Personal Digital Assistant)、ハンドヘルドゲーミングデバイス、ノートブック型コンピュータ、プリンタ、アプライアンス（セットトップ、メディアセンタ、他のアプライアンスを含む）、その他のモバイルデバイスなどを含んでいる。さらに他の実施形態では、モバイルデバイス４００は、パーソナルコンピュータ、サーバなどのように一般に非モバイルと言われているデバイスを含んでいることがある。
【００２８】
モバイルデバイス４００のコンポーネントの中には、処理ユニット４０５、システムメモリ４１０、およびシステムメモリ４１０を含む種々のシステムコンポーネントを処理ユニット４０５に結合するバス４１５が含まれていることがあるが、これらに限定されない。バス４１５は、いくつかのタイプのバス構造のいずれかを含んでいることがあり、この中には、種々のバスアーキテクチャのいずれかを使用したメモリバス、メモリコントローラ、周辺バス、およびローカルバスなどが含まれている。バス４１５は、モバイルデバイス４００の種々のコンポーネント間でデータが転送されるのを可能にしている。
【００２９】
モバイルデバイス４００は種々のコンピュータ可読媒体を備えていることがある。コンピュータ可読媒体は、モバイルデバイス４００によってアクセス可能である、どのような利用可能媒体にすることも可能であり、その中には揮発性と不揮発性の両方の媒体、および取り外し可能と取り外し不能の媒体が含まれている。例を挙げると、その例に限定されないが、コンピュータ可読媒体はコンピュータ記憶媒体と通信媒体を含んでいることがある。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報をストアするためのいずれかの方法またはテクノロジで実現された揮発性および不揮発性の取り外し可能および取り外し不能の媒体が含まれている。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリテクノロジ、CD−ＲＯＭ、ＤＶＤまたは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ディスクデバイス、または望みの情報をストアするために使用可能で、モバイルデバイス４００によってアクセス可能である任意の他の媒体が含まれている。
【００３０】
通信媒体は、搬送波または他のトランスポートメカニズムなどの変調信号でコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを具現化しているのが代表的であり、その中には任意の情報配信媒体が含まれている。「変調データ信号」という用語は、その特性の１つまたは２つ以上が情報を信号で符号化するような形でセットまたは変更されている信号を意味している。例を挙げると、その例に限定されないが、通信媒体には、ワイヤードネットワークまたは直接ワイヤードコネクションなどのワイヤード（有線）媒体、および音響、ＲＦ、赤外線、ＷｉＦｉ、ＷｉＭＡＸ、およびその他のワイヤレス媒体などのワイヤレス（無線）媒体が含まれている。上記に挙げたものの任意の組み合わせも、コンピュータ可読媒体の範囲に含まれることは当然である。
【００３１】
システムメモリ４１０には、揮発性および／または不揮発性メモリの形体をしたコンピュータ記憶媒体が含まれているが、その中にはＲＯＭ（リードオンリメモリ）およびＲＡＭ（ランダムアクセスメモリ）が含まれていることもある。セルフォンのようなモバイルデバイスでは、オペレーティングシステムコードは時にはＲＯＭに置かれているが、他の実施形態では、これは不要である。同様に、アプリケーションプログラム４２５はＲＡＭに置かれていることがよくあるが、この場合も、他の実施形態では、アプリケーションプログラムはＲＯＭまたは他のコンピュータ可読メモリに置かれていることがある。ヒープ(heap)４３０は、オペレーティングシステム４２０およびアプリケーションプログラム４２５と関連づけられたステートのメモリを提供している。例えば、オペレーティングシステム４２０とアプリケーションプログラム４２５は、変数およびデータ構造をそのオペレーション期間の間ヒープ４３０にストアしていることがある。
【００３２】
モバイルデバイス４００は、他の取り外し可能／取り外し不能で揮発性／不揮発性のメモリを備えていることもある。例を挙げると、図４はフラッシュカード４３５、ハードディスクドライブ４３６、およびメモリスティック４３７を示している。ハードディスクドライバ４３６は、例えば、メモリスロットに収まるように小型化されていることがある。モバイルデバイス４００は、取り外し可能メモリインタフェース４３１を通してこれらのタイプの不揮発性取り外し可能メモリとインタフェースとなっていることも、ＵＳＢ、ＩＥＥＥ４３９４、１または２以上のワイヤードポート４４０、またはアンテナ４６５を介して接続されていることもある。これらの実施形態では、取り外し可能メモリデバイス４３５−４３７は、通信モジュール４３２を介してモバイルデバイスとインタフェースになっていることがある。一部の実施形態では、これらのタイプのメモリは、すべてではないが、シングルモバイルデバイスに置かれていることがある。他の実施形態では、これらおよび他のタイプの取り外し可能メモリの１つまたは２つ以上がシングルモバイルデバイスに置かれていることがある。
【００３３】
一部の実施形態では、ハードディスクドライブ４３６は、より永続的にモバイルデバイス４００に接続されるような形で接続されていることがある。例えば、ハードディスクドライブ４３６は、ＰＡＴＡ(parallel advanced technology attachment)、ＳＡＴＡ(serial advanced technology attachment)のようなインタフェースに接続されていることがあり、そうでなければ、バス４１５に接続されていることがある。このような実施形態では、ハードドライブを取り外すには、モバイルデバイス４００のカバーを取り外し、構造をモバイルデバイス４００内に支持するためにハードドライブ４３６を接続しているネジまたは他のファスナを取り外す必要が起ることがある。
【００３４】
上述し、図４に図示する取り外し可能メモリデバイス４３５−４３７およびその関連コンピュータ記憶媒体は、コンピュータ可読命令、プログラムモジュール、データ構造、およびその他のデータのストレージをモバイルデバイス４００のために提供している。例えば、取り外し可能デバイス４３５−４３７は、モバイルデバイス４００によって撮影されたイメージ、音声レコーディング、連絡先(contact)情報、プログラム、プログラムのためのデータなどをストアしていることがある。
【００３５】
ユーザは、キーパッド４４１やマイクロホン４４２などの入力デバイスを通してコマンドと情報をモバイルデバイス４００に入力することがある。一部の実施形態では、ディスプレイ４４３はタッチセンシティブスクリーンであることがあり、ユーザはそこからコマンドと情報を入力できることがある。キーパッド４４１とディスプレイ４４３は、バス４１５に結合されたユーザ入力インタフェース４５０を通して処理ユニット４０５に接続されていることがある、通信モジュール４３２とワイヤードポート４４０のような、他のインフェースおよびバス構造によって接続されていることもある。
【００３６】
ユーザは、マイクロホン４４２に入力されたスピーキングを通して、および例えば、キーパッド４４１とタッチセンシティブディスプレイ４４３から入力されたテキストメッセージを通して他のユーザと通信することがある。オーディオユニット４５５は、スピーカ４４４を駆動するために電気信号を出力するだけでなく、マイクロホン４４２から受信されたオーディオ信号を受信し、デジタル化することもある。
【００３７】
モバイルデバイス４００は、カメラ４６１を駆動するために信号を出力するビデオユニット４６０を備えていることがある。ビデオユニット４６０は、カメラ４６１によって取得されたイメージを受信し、モバイルデバイス４００に装備された処理ユニット４０５および／またはメモリにそのイメージを提供することもある。カメラ４６１によって取得されたイメージはビデオ、ビデオを形成していない１または２以上のイメージ、またはこれらをなんらかに組み合わせたものを含んでいることがある。
【００３８】
通信モジュール４３２は、１または２以上のアンテナ４６５の間で信号を送受信することがある。これらのアンテナ４６５の１つは、セルフォンネットワークの場合メッセージを送受信することがある。別のアンテナはＢｌｕｅｔｏｏｔｈ（登録商標）メッセージを送受信することがある。さらに別のアンテナ（または共用アンテナ）は、ワイヤレスＥｔｈｅｒｎｅｔネットワーク標準を通してネットワークメッセージを送受信することがある。
【００３９】
一部の実施形態において、２タイプ以上のネットワークではメッセージを送受信するためにシングルアンテナが使用されることがある。例えば、シングルアンテナは音声とパケットメッセージを送受信することがある。
【００４０】
ネットワーク化環境で動作するとき、モバイルデバイス４００は１または２以上のリモートデバイスに接続していることがある。リモートデバイスはパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、セルフォン、ピアデバイスまたはその他の共通ネットワークノードであることがあり、モバイルデバイス４００に関して上述したエレメントの多くまたはすべてを備えているのが代表的である。
【００４１】
本明細書に記載した主題の側面は、多数の他の汎用または特殊目的コンピューティングシステム環境または構成と共に動作可能である。本明細書に記載の主題の側面で使用するのに適している周知のコンピューティングシステム、環境、および／または構成の例としては、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブルコンシューマエレクトロニクス、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などがあるが、これらに限定されない。
【００４２】
本明細書に記載の主題の側面は、プログラムモジュールのように、モバイルデバイスによって実行されるコンピュータ実行可能命令の一般的コンテキストで説明されていることがある。一般的に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実装しているルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含んでいる。本明細書に記載の主題の側面は、通信ネットワークを通してリンクされたリモート処理デバイスによってタスクが実行されるような分散コンピューティング環境で実施されることもある。分散コンピューティング環境では、プログラムモジュールは、ローカルとリモートの両方のコンピュータ記憶媒体に置かれていることがあり、その中にはメモリストレージデバイスも含まれている。
【００４３】
さらに、サーバという用語が本明細書の中でしばしば使用されているが、当然に認識されるように、この用語には、クライアント、１または２以上のコンピュータ上に分散された１または２以上のプロセスのセット、１または２以上のスタンドアロンストレージデバイス、１または２以上の他のデバイスのセット、上記に挙げたものの１または２以上を組み合わせたもの、などが含まれていることもある。
結論
【００４４】
本発明は種々の改良および代替的構造が可能であるが、本発明のいくつかの例示実施形態が図面に示され、詳しく上述されている。なお、当然に理解されるように、本発明は開示した特定の形態に限定されるものではなく、これとは逆に、本発明は本発明の精神と範囲内に属するすべての改良、代替構成、および等価技術を包含するものである。
【符号の説明】
【００４５】
１０２  リソースセレクタ
１０４  階層ストレージ構造
１０５、１０７  トリガ
１０６  アプリケーションプログラム
１０８  結果
１１０  キャッシュ
２０６  イメージアプリケーションプログラム
２２０  ディスプレイエリア
４００  モバイルデバイス
４０５  処理ユニット
４１０  システムメモリ
４１５  バス
４２０  オペレーティングシステムコード
４３０  ヒープ
４３１  取り外し可能メモリインタフェース
４３２  通信モジュール
４３５−４３７  取り外し可能メモリデバイス（フラッシュカード）
４３６  ハードディスクドライブ
４３７  メモリスティック
４４０  ワイヤードポート
４４１  キーバッド
４４２  マイクロホン
４４３  タッチセンシティブディスプレイ
４４４  スピーカ
４５５  オーディオユニット
４６０  ビデオユニット
４６１  カメラ
４６５  アンテナ
【図１】
2010538368.tif 000003
【図２】
2010538368.tif 000004
【図３】
2010538368.tif 000005
【図４】
2010538368.tif 000006
【国際調査報告】
2010538368.tif 000007
2010538368.tif 000008