(57)【特許請求の範囲】
【請求項１】
複数の英数字によって規定され、第１のユーザに関連付けられ、第１のモバイル通信装置で開始されたテキストサーチを行なうための方法であって、
複数のユーザに関連付けられた複数のモバイル通信装置の各々が、当該複数のモバイル通信装置の各々に格納された第１の複数のテキスト情報を前記第１のユーザと共有するために選択的にマークを付けるステップと、
前記複数のモバイル通信装置の各々が、共有用にマークを付けられた第１の複数のテキスト情報をサーバに送信するステップと、
前記サーバが、前記送信されたテキスト情報を格納するステップと、
前記サーバが、前記送信されたテキスト情報にインデックスを付けるステップと、
前記サーバが、前記第１の複数のテキスト情報を共有されたユーザのリストを格納するステップと、
前記サーバが、前記第１のユーザとの共有用に利用可能なインデックス付けされたテキスト情報のサブセットを決定するステップと、
前記サーバが、前記送信されたテキスト情報のサブセットに対して前記複数の英数字をサーチするステップとを含む、方法。
【請求項２】
前記サーバが、前記第１のモバイル通信装置に格納されたテキスト情報に対して前記複数の英数字をサーチするステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記複数の英数字をサーチするステップは、インターネットで利用可能なテキスト情報に対して前記複数の英数字をサーチすることを含む、請求項１に記載の方法。
【請求項４】
前記複数の英数字をサーチするステップは、コンテンツのオンラインサプライヤによって供給されるテキスト情報に対して前記複数の英数字をサーチすることを含む、請求項１に記載の方法。
【請求項５】
前記複数のモバイル通信装置の各々が、共有用に選択的にマークを付けられたテキスト情報を監視して、それに対する変更を検出するステップと、
前記サーバが、検出された変更を反映するよう、格納されたテキスト情報を更新するステップとをさらに含む、請求項１に記載の方法。
【請求項６】
前記複数の英数字をサーチするステップは、前記複数の英数字と一致するテキスト情報を共有するためにマークを付けた複数のユーザのうちの一人を識別することを含む、請求項１に記載の方法。
【請求項７】
前記テキストサーチの前に行なわれた第２のサーチに応答して、共有用に選択された前記テキスト情報の第１のサブセットが識別される、請求項５に記載の方法。
【請求項８】
インデックス付けされたテキスト情報のサブセットの少なくとも１つのエントリが、その少なくとも１つのエントリを共有すべきユーザとしての前記第１のユーザを識別する前に選択される、請求項１に記載の方法。
【請求項９】
前記複数のモバイル通信装置の各々が、インデックス付けされたテキスト情報のサブセットの少なくとも１つのエントリを共有すべきユーザとしての前記第１のユーザを識別するステップをさらに含む、請求項１に記載の方法。
【請求項１０】
前記複数のテキスト情報の少なくとも第１のサブセットは、複数のモバイル通信装置のうちの１つ以上の装置の、カレンダー、連絡先リスト、および音楽コレクションのうちの１つ以上におけるエントリを含む、請求項１に記載の方法。
【請求項１１】
前記複数のテキスト情報の少なくとも第１のサブセットは、前記複数のモバイル通信装置のうちの１つ以上の装置のフォルダにおけるエントリを含む、請求項１に記載の方法。
【請求項１２】
前記複数のテキスト情報の少なくとも第１のサブセットは、前記複数のモバイル通信装置のうちの１つ以上の装置の、カレンダー、連絡先リスト、および音楽コレクションにおける選択されたエントリを含む、請求項１０に記載の方法。
【請求項１３】
前記サーバが、共有用に利用可能であるとしてマークを付けられたインデックス付けされたテキスト情報の第２のサブセットをフィルタで除くステップをさらに含む、請求項１に記載の方法。
【請求項１４】
前記第１のモバイル通信装置が、ランキング手法に従ってサーチ結果を表示するステップをさらに含む、請求項１に記載の方法。
【請求項１５】
前記サーバが、前記第１のモバイル通信装置に、前記第１の複数のテキスト情報が前記第１のユーザと共有するために選択的にマークを付けられたことを通知するステップをさらに含む、請求項１〜請求項１４のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願との相互参照
本願は、以下の出願の米国特許法第１１９条（ｅ）による利益を主張する：
「ソーシャルモバイルサーチ」（Social Mobile Search）と題された２００８年６月２７日出願の米国出願番号第６１／０７６，３２４号；
「ソーシャルモバイルサーチ」と題された２００８年９月８日出願の米国出願番号第６１／０９５，０７２号；
「ソーシャルモバイル電話帳」（Social Mobile Phonebook）と題された２００８年６月２７日出願の米国出願番号第６１／０７６，３４９号；
「ソーシャルモバイル電話帳」と題された２００８年９月８日出願の米国出願番号第６１／０９５，１０８号；
「モバイルサーチによるモバイルアプリケーション発見」（Mobile Application Discovery Through Mobile Search）と題された２００８年６月２７日出願の米国出願番号第６１／０７６，３７３号；
「モバイルサーチによるモバイルアプリケーション発見」と題された２００８年９月８日出願の米国出願番号第６１／０９５，１４３号；これらすべての出願の内容は、その全体がここに引用により援用される。
【０００２】
発明の背景
この発明は、ソーシャルモバイルネットワーク内にユーザを有するモバイル通信装置による情報の共有に関する。
【背景技術】
【０００３】
情報技術が拡大するにつれ、情報の効果的かつ効率的な取出し（retrieval）に対する要望が高まり続けている。この要望に対処するために、さまざまなサーチソリューションが、情報取出しのプロセスを簡略化するために、および／または、取出される情報の適合性を改良するために開発されてきた。今日、情報の取出しは、事実上どのコンピューティング装置からでも可能である。サーチに関する技術の進歩にもかかわらず、モバイル空間における既存のサーチソリューションは、そのような装置およびそれらを使用する人々に特有の特徴に対処できていない。
【０００４】
サーチソリューションは、スタンドアロンのデータベース、ある特定のソフトウェアアプリケーションと一体化したデータベース、ならびに文書およびファイルの集合を含むコンテンツサーバ、といったさまざまなソースにおいて、エンドユーザおよびソフトウェアプログラムが情報をサーチできるようにする。サーチソリューションは、メインフレーム、ミニコンピュータ、ＰＣ、およびモバイル装置、を含むほぼすべてのコンピューティング装置用に存在する。取出しプロセスを簡略化するために、クエリー言語、クエリーツール、さらには人工知能システムも開発されてきた。返ってきた結果の適合性を改良するために、さまざまな手法が採用されてきた。インターネットを含むコンピュータネットワークの広範な展開および使用は、たとえばインターネットサーチサービスといったサーチソリューションをもたらしており、その場合、キーワードがブラウザに入力され、その結果として生じるクエリーが行なわれて、複数のソースから集められた情報をまとめる。
【０００５】
従来のソリューションは、典型的には、２種類の情報源、すなわち構造化データを含む情報源と非構造化データを含む情報源とのうちの一方からの情報の取出しを可能にする。構造化データとは通常、データベースに格納された情報を指す。構造化データ用のサーチソリューションは（ｉ）ＳＱＬのようなクエリー言語と、（ｉｉ）ＳＱＬを使用する必要性を簡略化または排除する報告ツールと、（ｉｉｉ）電話帳内の名前のサーチを可能にするものといった、データベースを管理するソフトウェアアプリケーション内の機能として一体化されたデータベース特有のサーチモジュールとを含む。非構造化データとは通常、テキスト文書を指す。非構造化データ用のサーチソリューションは、（ｉ）ファイルエクスプローラによって提供されるものといった、名前による文書およびファイルのサーチと、（ｉｉ）企業およびデスクトップサーチソリューションといった、文書または関連メタデータ内の単語のキーワードサーチと、（ｉｉｉ）インターネットサーチエンジンによって提供されるものといった、ワールドワイドウェブから集められたコンテンツのサーチとを含む。
【０００６】
デバイスサーチとは、ある特定のコンピューティング装置において、その装置上で走っているサーチアプリケーションまたはツールを用いて情報をサーチすることを指す。したがって、取出し可能な情報は、装置上に、または外部ドライブなどそれに取付けられた媒体上に位置するデータに限定される。装置においてデータをサーチするプロセスは通常、エンドユーザの、自分が探す情報の知識によって決まる。たとえば、エンドユーザが、何千もの音楽ファイルを含む装置に格納された「ジミージャズ」（Jimmy Jazz）というタイトルの曲を聴きたい場合、エンドユーザは、曲のタイトルに「ジミー」および「ジャズ」という単語を含むすべての曲を取出すために、音楽プレーヤソフトウェアアプリケーション内のサーチ機能を利用してもよい。
【０００７】
インターネットサーチとは、一般にワールドワイドウェブおよびインターネット上に存在する情報をサーチすることを指す。通常、エンドユーザはコンピューティング装置上で走っているインターネットブラウザを用いて、インターネットサーチエンジンにアクセスする。サーチエンジンは通常、ワールドワイドウェブから集められたコンテンツを含むそれ自体の情報源を保持している。エンドユーザが、たとえば「ジミージャズ」をサーチすると、インターネットサーチは何百万ものヒットを返すかもしれず、一方、デバイスサーチは通常、ほんの一握りの結果しか返さないかもしれない。
【０００８】
一般に、情報取出しシステムの有用性は、それが発見する結果の適合性に依存する。現在利用可能な情報取出しシステムの多くは、それらの結果を、適合性測定基準を用いてランク付けする。この手法によれば、結果の適合性が高いほど、まとめられたリストでのその地位は高くなる。インターネットサーチの場合、ある特定のキーワードクエリーと一致するウェブページまたは文書が何十億もあるかもしれない。インターネットサーチソリューションは、たとえばウェブページの人気、コンテンツソースに割当てられた信頼できる要因、文書内のキーワードの頻度などに基づいて、あるページをより適合性があると判断する場合がある。同様に、デバイスサーチソリューションは、データ記録のあるフィールド内のキーワード一致により高い重要性を割当てることによって、適合性測定値を計算する場合がある。たとえば、装置のアドレス帳での「ジミージャズ」のサーチは、ファーストネームフィールドまたは名字フィールドが「ジミー」または「ジャズ」を含む記録を、会社名フィールドまたは役職フィールドが「ジミー」または「ジャズ」を含む記録よりも高くなるようランク付けするかもしれない。
【０００９】
モバイルネットワーク事業者、装置製造業者、オペレーティングシステムのプロバイダ、および独立した企業は、モバイル装置のユーザがアプリケーションおよび他のコンテンツ、たとえば音楽またはビデオを購入可能なオンラインストアを運営している。そのようなコンテンツプロバイダらは、ユーザに、利用可能なアプリケーションのしばしば膨大な全商品中をサーチしてそれらのアプリケーションの価値を評価してもらう上で、課題に直面している。
【発明の概要】
【課題を解決するための手段】
【００１０】
発明の簡単な概要
この発明の一実施例によれば、英数字によって規定され、第１の無線モバイル通信装置で開始されたテキストサーチが、他の無線モバイル通信装置による共有／サーチ用に利用できるようにされたデータを含む結果を返してもよく、ここで、他の無線モバイル通信装置のソーシャルモバイルネットワークは、第１の無線モバイル通信装置のユーザを含んでいる。これを達成するために、各ユーザは、自分が共有したいデータに選択的にマークを付け、選択したデータを共有したいユーザを識別する。そのように選択されたデータとそのように識別されたユーザとを含む情報が、サーバに送信される。サーバはこの情報を格納し、インデックス付けする。このインデックス付けはとりわけ、各ユーザを、そのユーザと共有すべき受信データの各部分と関連付ける。第１のユーザによって開始されたサーチ結果は、データがサーチで規定された英数字を含む場合、第１のユーザが他人による共有用に利用できるようにしたあらゆるデータを含む。
【００１１】
この発明の一実施例によれば、ユーザらは新しいアプリケーションを容易に発見し、それらの有用性を、自分達のソーシャルモバイルネットワークのメンバーらによるそれらのアプリケーションの使用に基づいて評価できるようになる。ユーザらには、それらのアプリケーションを、オンラインストアから得る、および／または、購入する選択肢が与えられる。
【図面の簡単な説明】
【００１２】
【図１】この発明の一実施例に従った、モバイル通信装置上で走っているモバイルクライアントアプリケーションプログラムの複数のコンポーネントのブロック図である。
【図２】この発明の一実施例に従った、図１のモバイル通信装置が通信するサーバアプリケーションプログラムの複数のコンポーネントのブロック図である。
【図３】この発明の実施例に従った、サーバと通信しており、対応するユーザらがデータを共有し、共有データをサーチすることができるようにする、複数のモバイル通信装置を示す図である。
【図４】この発明の実施例に従った、自らのソーシャルモバイルネットワークのメンバーによって共有されたデータにサーバを介してアクセスするモバイル通信装置を示す図である。
【図５】この発明の一実施例に従った、ソーシャルモバイルネットワークによる共有およびサーチのために、そのコンテンツをサーバを介して供給するオンラインコンテンツプロバイダを示す図である。
【図６】この発明の一実施例に従った、モバイル通信装置の複数のコンポーネントを示す図である。
【図７】この発明の一実施例に従った、サーバの複数のコンポーネントを示す図である。
【図８】この発明の一実施例に従った、図１のモバイル通信アプリケーションプログラムが走っているモバイル通信装置が使用する複数のテーブルを示す図である。
【図９Ａ】この発明の発明の一実施例に従った、図２のサーバアプリケーションプログラムが走っているサーバが使用する複数のテーブルを示す図である。
【図９Ｂ】この発明の発明の一実施例に従った、図２のサーバアプリケーションプログラムが走っているサーバが使用する複数のテーブルを示す図である。
【発明を実施するための形態】
【００１３】
発明の詳細な説明
この発明の一実施例によれば、第１のユーザに関連付けられたモバイル通信装置（以下、装置）で開始されたサーチは、装置上で、および、そのソーシャルモバイルネットワークが第１のユーザを含んでいるすべての他のユーザらによる共有用に利用可能であるとして指定された情報を含むサーバ上で、そのサーチの実行を開始する。したがって、各ユーザは、そのソーシャルモバイルネットワークが第１のユーザを含んでいる他のユーザらと情報を共有できるようになる。サーチ結果は、ソーシャルモバイルネットワーク内の各ユーザに特有の適合性測定値に基づく順序で列挙される。これを達成するために、この発明の一実施例によれば、各ソーシャルモバイルネットワーク内で起こるやり取りおよび挙動が発見され、保持されて、マップが形成される。そのようなマップを用いて、適合性測定値が割当てられる。たとえば、「ジミー」についてのあるクエリーは、昨日１回聴かれた「ジミージョーンズ」（Jimmy Jones）という名の曲よりも、昨日１０回聴かれた「ジミージャズ」という名の曲に、より高い適合性測定値を割当てる。
【００１４】
すべての共有情報のために、機密およびプライバシー制御が使用される。さらに、あるソーシャルモバイルネットワーク内で共有される情報のサーチおよび取出しは、そのネットワークのモバイル装置がオフになっている場合、または、そのネットワークのカバー範囲外にある場合、でも行なわれる。
【００１５】
この発明の一実施例によれば、ユーザは、自分のソーシャルモバイルネットワーク内にあるものの、まだ共有されていないと信じている情報を要求してもよい。この要求は、要求された情報と一致するコンテンツを有するソーシャルモバイルネットワークユーザらにのみ送信される。この発明のいくつかの実施例は、サーバクラウドを介したモバイル装置内の情報用のバックアップ機能を提供し、これにより、装置を紛失したユーザ、または、新しい装置を購入したユーザが、紛失した装置から新しい装置にデータを複製することができる。
【００１６】
情報の取出しに関して言えば、モバイルコンピューティング装置は、既存のサーチソリューションが満たしていない特有の必要性を与える。モバイルコンピューティング装置および通信装置のユーザらは、しばしば、ソーシャルモバイルネットワークによって規定される関係およびやり取りの履歴を有する。フェイスブック（Facebook）といったインターネットベースのソーシャルネットワークは、ユーザが、たとえば名前およびｅメールアドレスといった関係情報を入力またはアップロードすることによって、ソーシャルネットワークを明確に作成し、維持することを必要とする。ソーシャルモバイルネットワークを規定する情報は、たとえば、電話に応答して通話ログエントリを行なったとき、または同僚にｅメールを送ったとき、もしくはアドレス帳に新しい連絡先を入力したときに、モバイル装置を使用した結果として形成される。各個々のユーザに特有のソーシャルモバイルネットワークは、友人、家族、および同僚といったさまざまなサブネットワークを含む場合が多い。
【００１７】
既存のサーチソリューションは、モバイル装置で行なわれた場合、ユーザがどのようにモバイル装置を使用しているかを考慮に入れていない。あるユーザがサーチしている情報が、そのソーシャルモバイルネットワークがそのユーザを含んでいる他のユーザらに関連付けられたモバイル装置上に存在するかもしれない。しかしながら、そのような情報はロックされ、他のユーザらのモバイル装置内に隠され、このためサーチ不能となったままである。たとえば、ジョン（John）という名のユーザがスティーブ（Steve）に電話をかけたい場合を仮定する。ジョンは、デバイスサーチを用いて自分の電話帳内でスティーブをサーチするが、一致を見つけることができない。ジョンは、友人のジェーン（Jane）がスティーブの電話番号を多分持っているだろうと考える。ジョンは次に、ｅメール、ＳＭＳ、または電話を用いてジェーンに連絡をとり、ジェーンにスティーブの電話番号を尋ねる。このプロセスは時間がかかり、非効率的である。この問題を改善するために、この発明の一実施例によれば、ジェーンがスティーブの連絡先情報をジョンと共有していた場合、ジョンはスティーブをサーチして電話番号を見つけることができる。
【００１８】
モバイルユーザの当該モバイルユーザ自身のソーシャルモバイルネットワークにおけるメンバーらとの関係は、多くの場合に利用可能であり、すなわち、当該モバイルユーザ自身のモバイル装置上に保持された、当該モバイルユーザ自身のソーシャルモバイルネットワーク内の他人と当該モバイルユーザ自身との間のやり取りの履歴を含むログから抽出できる。ログはそのような情報を、そのユーザのソーシャルモバイルネットワーク内のメンバーらと連絡を取る頻度として、または、ソーシャルモバイルネットワークに関連付けられたあるアプリケーションまたは情報がモバイル装置上で閲覧される割合として、含んでいる。
【００１９】
モバイル装置を使用する場所は、モバイル装置を使用している目的であるタスクの種類、および実行中のサーチに関連付けられていてもよい。この関連付けは、サーチ結果に適合性を割当てる際に重要である。このため、場所に基づく情報は、デバイスサーチを含むあらゆる種類のサーチ結果について適合性測定値を判断する上で重要な役割を果たす。たとえば、ジョンがデトロイト（Detroit）にいて、ポール（Paul）をサーチする場合を仮定する。したがって、デトロイトおよびその周辺に住むポールという名の人々は、デトロイトから遠く離れて住む人々よりも、高い適合性測定値を受けるはずである。
【００２０】
図１は、この発明の一実施例に従ったモバイル通信装置（以下、代わりに装置とも呼ぶ）上で走っているモバイルクライアントアプリケーションプログラム１００の複数のコンポーネント（モジュール）のブロック図である。アプリケーションプログラム１００は、ユーザインターフェイス１１２（以下、代わりにＵＩとも呼ぶ）と、サーチエンジン１０８と、ソーシャルサーチコンジット１１６と、共有マネージャ１１８と、設定マネージャ１１４と、変更検出器１０２と、コンテンツ抽出器１２２と、データベース１１０と、ジョブ待ち行列１０４とを含む。
【００２１】
ユーザインターフェイス１１２は、装置ユーザが、情報取出し要求を作成および実行すること、コンテンツ共有要求を作成および実行すること、ならびに、設定および好みを管理することを可能にする。サーチエンジン１１２は、ＵＩ１１２からの情報取出し要求、または、装置上の他のアプリケーションからの情報取出し要求を処理する。
【００２２】
ソーシャルコンジット１１６は、クラウド２００に格納されたコンテンツに対する情報取出し要求を処理するために、サーチエンジン１１２によって使用される。ソーシャルコンジット１１６は、クラウド２００と通信することにより、そのような要求を処理する。設定マネージャ１１４は、アプリケーション１００のコンポーネントに関する設定および構成情報を作成し、編集し、取出すために、アプリケーション１００のすべてのコンポーネントによって使用される。
【００２３】
変更検出器１０２は、追加、更新、および削除を含む、装置上に格納されたデータにおける変更を監視し、検出する。そのような変更が検出されると、それは通知を作成し、その通知を変更待ち行列１０４に置く。変更検出器１０２は、連絡先、カレンダー、音楽といった装置ファイルおよびデータベースにおける変更を監視するよう構成されてもよい。
【００２４】
変更待ち行列１０４は、装置上で検出されたすべてのデータ変更のデータベースである。それは、アプリケーションプログラム１００の他のモジュールによって使用される。変更待ち行列１０４は、新しいエントリが変更待ち行列１０４に追加されると、アプリケーションプログラム１００の他のモジュールに通知するよう構成されていてもよい。コンテンツ抽出器１２２は、モバイル装置からデータ記録、メタデータなどを抽出するために、アプリケーションプログラム１００のモジュールによって使用される。
【００２５】
共有マネージャ１１８は、ＵＩ１１２からの、変更待ち行列１０４からのコンテンツ共有要求、または、装置上で走っている他のアプリケーションからのコンテンツ共有要求を処理する。共有マネージャ１１８は、コンテンツ抽出器１２２を用いて記録全体を抽出する。共有マネージャ１１８は、クラウド２００と直接通信することにより、そのような要求を処理する。また、共有マネージャは、装置のアドレス帳を検査することにより、および、そのネットワーク内の挙動およびやり取りを監視することにより、ユーザのソーシャルモバイルネットワークのマップを作成し、保持する。
【００２６】
データベース１１０は、設定に関連しない情報をも含んでおり、アプリケーションプログラム１００のすべてのコンポーネントによって使用されてもよい。データベース１１０は、ユーザのソーシャルモバイルネットワークの図８に示すようなマップ、クラウド２００で他のユーザらと共有されるコンテンツについての情報、装置アプリケーションの使用についての情報、および、アプリケーションプログラム１００のモジュールが必要とするその他の情報を含む。
【００２７】
初めに、共有マネージャ１１８は、ユーザのアドレス帳（連絡先リスト）を読んで、ここに識別情報（ＩＤ）として総称される、ユーザの連絡先およびそれらの対応するｅメールアドレス、電話番号などを識別する情報を取得する。このリストは、ユーザのソーシャルモバイルネットワークとしてユーザに提示される。コンテンツは、ユーザのソーシャルモバイルネットワークと共有されているため、共有されたコンテンツおよびコンテンツを共有するソーシャルモバイルネットワークのメンバーらのＩＤを識別する情報のリストが、図８のテーブル８１０に示すように、装置データベース１１０に保持される。
【００２８】
図８、図９Ａおよび図９Ｂは、アプリケーションプログラム１００およびサーバプログラム２００が使用するデータ構造を説明しており、ユーザのソーシャルモバイルネットワークの「マップ」をまとめて含んでいる。図８のテーブルは、すべて共有マネージャ１１８によって管理されている。テーブル８００、テーブル８０２、およびテーブル８０４は、装置上のアドレス帳、音楽コレクション、およびアプリケーションに関するアプリケーションデータを格納している。テーブル８０６は、ユーザとユーザのソーシャルモバイルネットワークとのやり取りを追跡するために使用される。テーブル８０８は、装置でのコンテンツのユーザの使用を追跡するために使用される。テーブル８１０は、ユーザのソーシャルモバイルネットワークのメンバーらと共有されたコンテンツのリストを保持するために使用される。共有マネージャ１１８は、その共有された情報および追跡データをサーバ２００に送信する。コンテンツ収集／インデックス付けコンポーネント２０２は、図９Ａおよび図９Ｂのテーブルを保持する。テーブル９００は、サーバ２００の全ユーザのリストを含む。テーブル９０２は、ｅメールアドレスまたは電話番号といったこれらのユーザのエイリアスを含んでおり、そのため、彼らと共有したい他のユーザらは、さまざまな識別情報によってそうすることができる。テーブル９０４は、テーブル９００のユーザらによって使用されるアプリケーションプログラム１００が走っているすべてのクライアント装置のリストを含む。テーブル９０６、テーブル９０８、およびテーブル９１０は、他のユーザらと共有する情報である共有コンテンツデータベース２１０の一部を表わしている。テーブル９１２、テーブル９１４、およびテーブル９１６は、さまざまなアプリケーションプログラム１００によってサーバ２００に送信されたすべての追跡データを含む。ソーシャルサーチエンジン２０８は、図９Ａおよび図９Ｂに示すテーブルのデータを用いて、サーチ結果の順序をランク付けする。
【００２９】
図２は、この発明の一実施例に従った、モバイル通信装置が通信しているサーバ上で走っているソーシャルモバイルアプリケーションプログラム２００の複数のコンポーネントのブロック図である。アプリケーションプログラム２００は、コンテンツ収集／インデックス付けコンポーネント２０２と、アカウントデータベース２０４と、アカウントマネージャ２０６と、ソーシャルサーチエンジン２０８と、共有コンテンツデータベース２１０とを含むよう図示されている。以下に詳細に説明するように、アプリケーションプログラム１００は、当該アプリケーションプログラム１００が走っているモバイル装置のユーザを、多数の他のユーザらの各々によって共有される情報をサーチできるようにする。ここで、多数の他のユーザは、当該ユーザのソーシャルモバイルネットワーク内にあり、かつ当該他のユーザ各自に関連付けられたモバイル装置上で走っているコピーのアプリケーションプログラム１００を有している。
【００３０】
コンテンツ収集／インデックス付け２０２（以下、代わりにＣＣＩとも呼ぶ）コンポーネントは、アプリケーションプログラム１００からコンテンツ共有要求を受信する。ＣＣＩは、共有コンテンツのコピーを共有コンテンツデータベース２１０に格納し、新しく共有されるコンテンツのインデックス付けを開始するよう適合されている。ＣＣＩ２００はまた、以前に共有されたコンテンツへのアクセスを取消す、または終了させる要求を管理する。また、ＣＣＩ２００は、新しく共有されるコンテンツが利用可能になると、アプリケーションプログラム１００のユーザらに通知を送信してもよい。
【００３１】
アカウントマネージャ２０６は、クラウド２００のすべてのユーザについての情報、および、それらのユーザ間でどのコンテンツが共有されるかというマップを含む。アカウントマネージャ２０６は、この情報をアカウントデータベース２０４に格納する。また、アカウントマネージャは、ユーザらによって共有されてきたデータへのアクセスを禁止する設定マネージャを含む。たとえば、設定マネージャは、スパムをフィルタで除く。共有コンテンツデータベース２１０は、アプリケーションプログラム１００のユーザらの間で共有されてきたすべてのコンテンツのプラットフォーム非依存のコピーを含む。共有コンテンツデータベースのインデックス２１２（以下、代わりに共有コンテンツインデックスとも呼ぶ）は、共有コンテンツデータベース２１０に格納されたすべての情報のサーチ可能なインデックスである。ソーシャルサーチエンジン２０８は、アプリケーションプログラム１００から情報取出し要求を受信する。それは、共有コンテンツインデックス２１２において、要求された情報をサーチする。それが見つけた各項目について、それは、要求された情報を抽出し、結果をアプリケーションプログラム１００に送信するよう、共有コンテンツデータベース２１０にクエリーする。
【００３２】
図３は、アプリケーションプログラム１００が各々走っている複数のモバイル通信装置４００Ａ、４００Ｂ、４００Ｃ、４００Ｃの各々と通信している、アプリケーションプログラム２００が走っているサーバ３００を示す。以下に説明するように、アプリケーションプログラム１００および２００は協働して、モバイル通信装置４００Ａ、４００Ｂ、４００Ｃ、４００Ｃのユーザらが、データを共有し、共有データをさらにサーチすることができるようにする。
【００３３】
以下に詳細に説明するように、アプリケーションプログラム１００は、その関連付けられた装置ユーザが、ユーザのソーシャルモバイルネットワークにおける１人以上のメンバーとの間で、１つ以上のコンテンツ項目を共有できるようにする。モバイル装置４００Ａのユーザが、モバイル装置４００Ｂ、４００Ｃ、および４００Ｄのユーザらと情報を共有することを要求したと仮定する。モバイル装置４００Ａのユーザは、ＵＩ１１２を用いて、情報（ここに、データまたはコンテンツとも呼ばれる）を共有する要求を作成する。ＵＩ１１２は、これに応答して、共有マネージャ１１８を呼出して、（ｉ）ユーザのソーシャルモバイルネットワークの全メンバー（この例では、モバイル装置４００Ｂ、４００Ｃ、および４００Ｄのユーザらであると仮定される）、および、ユーザによって規定されている場合にはメンバーのグループ（たとえば友人、家族、同僚）、（ｉｉ）ユーザの装置のコレクションにおけるすべてのエントリ（たとえば、電話帳アプリケーションにおけるすべてのエントリ）、および／または（ｉｉｉ）コレクション内の選択されたエントリ（たとえば、電話帳アプリケーションにおける選択されたエントリ）のリストを取得する。ＵＩ１１２は、項目（ｉ）、（ｉｉ）および（ｉｉｉ）で説明された情報を何らかの順序で提供し、装置４００Ａのユーザが、収集されたコンテンツと、装置４００Ｂ、４００Ｃ、および４００Ｄのユーザら、すなわち装置１００のユーザが情報を共有したいソーシャルモバイルネットワークのメンバーらのリストとを含む共有要求を作成できるようにする。
【００３４】
共有要求は、共有マネージャ１１８に送信され、それは要求をパッケージ化し（たとえば、ユーザのユーザ名およびパスワードといったユーザの認証情報、共有すべき情報などを含む）、要求をクラウド２００に送信する。要求を受信後、クラウド２００は、アカウントマネージャ２０６を呼出すことによって要求元の認証を試みる。要求が認証されると、クラウド２００は要求をコンテンツ収集／インデックス付けコンポーネント２０２に渡す。コンテンツ収集／インデックス付けコンポーネント２０２は、要求を待ち行列に格納し、認証された要求を共有マネージャ１１８に連絡する。これに応答して、共有マネージャ１１８は、認証された要求をＵＩ１１２に渡す。その後、コンテンツ収集／インデックス付けコンポーネント２０２は、共有のために要求内に含まれるデータを共有コンテンツデータベース２１０に格納し、共有コンテンツにアクセスしてもよいクラウドユーザ（装置４００Ａ、４００Ｂ、および４００Ｃのユーザら、ここに代わりに対象受信者とも呼ばれる）のリストをアカウントマネージャ２０６に保持する。次に、コンテンツ収集／インデックス付けコンポーネント２０２は、共有コンテンツデータベース２１２のインデックスで共有コンテンツにインデックス付けし、コンテンツ収集／インデックス付けコンポーネント２０２のサーチ中、対象受信者だけがデータを見つけてそれにアクセスできるようにする。ユーザはまた、以前に共有されたコンテンツを取消し／取除き、以前に共有されたコンテンツがもはや共有用に利用可能ではないことを特定してもよい。
【００３５】
以下に詳細に説明するように、アプリケーションプログラム１００は、それが走っているモバイル装置のユーザが、そのソーシャルモバイルネットワークがそのユーザを含んでおり、かつ関連付けられたモバイル装置で走っているアプリケーションプログラム１００のコピーを有している複数の他のユーザらの各々によって共有される情報をサーチできるようにする。
【００３６】
図４は、この発明の実施例に従った、サーバ３００を介してデータにアクセスする装置４００を示しており、データは、そのソーシャルモバイルネットワークが装置４００のユーザを含んでいる別のユーザによって共有されている。ＵＩ１１２を用いて、ユーザはサーチクエリーを入力する。ＵＩ１１２は次に、そのクエリーをサーチエンジン１０８に渡し、それは次に、サーチクエリーがソーシャルサーチ用であるかどうかを判断し、そうである場合、それをソーシャルサーチコンジット１１６に渡す。ソーシャルサーチコンジット１１６は、設定マネージャ１１４から取得した認証情報と共にクエリーをパッケージ化し、要求をクラウド２００に送信する。クラウド２００は要求を受信し、アカウントマネージャ２０６を呼出すことによって要求元を認証する（すなわち、要求元が共有データへのアクセスを許可されていたかどうかを検証する）。要求が認証されると、クラウド２００は要求をサーチエンジン２０８に渡す。サーチエンジン２０８は、共有コンテンツデータベースのインデックス２１２と突き合せて要求されたクエリーを実行し、共有コンテンツデータベース２１０から結果についての共有データを抽出する。サーチエンジン２０８は結果をパッケージ化し、それらを装置１００からの元々の要求に対する応答として送信する。ソーシャルサーチコンジット１１６は結果をフォーマット化してそれらをＵＩ１１２に渡し、それは次にそれらを閲覧用にユーザに提示する。ユーザは結果を選択してそれをプレビューしてもよく、その場合、ＵＩ１１２は、結果の全コンテンツを表示して、コンテンツをユーザのモバイル装置にインポートするといった他の選択肢をユーザに提示するであろう。
【００３７】
一実施例によれば、以下にさらに説明するように、ユーザは、自分のモバイル装置に格納された自分の連絡先リストから、自分が情報を共有したい個人個人の名前を選択し、送信キーを押す。たとえば、ジョー（Joe）が、自分のモバイル装置に格納されていたアンナ（Anna）の写真をサイモン（Simon）と共有することに決めたと仮定する。これを達成するために、ジョーは、サーチウインドウ１１２に「アンナ」というテキストを入力することにより、自分のモバイル装置においてアンナについての情報をサーチする。サーチエンジン１０８は、その記録名に含まれる「アンナ」というテキストを有するインデックス付けされた情報をサーチし、サーチ結果を表示する。ジョーは、表示されたサーチ結果から（アンナの写真を有する）所望の記録を選択し、次に、選択した記録を共有するかどうか決めるよう促される。ジョーがそう選択すると、彼の連絡先リストが表示されて、ジョーが写真を共有したい連絡先をジョーが識別できるようにする。ジョーが自分の連絡先リストからサイモンを選択したと仮定する。この選択後、アンナの写真を含む記録は、その関連付けられたインデックスと共に、サーバクラウド２００に送信される。送信された記録は、コンテンツ収集／インデックス付けコンポーネント２０２によって受信されて格納され、その後、クラウドサーバ２００のデータベース２０４に格納される。
【００３８】
共有情報がデータベース２０４に一旦格納されると、情報を共有する個人に、共有情報について連絡するために通知が送信される。上述の例を続けると、クラウドサーバ２００は、サイモンに、ジョーによって共有される記録が彼のアクセスおよび取出し用に利用可能であることを通知する。サイモンは、ｅメール、ＳＭＳメッセージなどを介して通知されてもよい。またこれに代えて、共有情報は、サイモンが自分の都合がいいときにチェックできるインボックスフォルダに置かれてもよい。任意の他の形態の通知も使用されてもよい。共有情報はまた、それへのアクセスを有するよう指定された個人によってダウンロードされてもよい。
【００３９】
別の実施例によれば、ユーザは最初に、自分の連絡先リストを用いて、自分が情報を共有したい個人個人の名前を識別してもよい。その後、ユーザは、自分が共有したいコンテンツを選択する。すべての実施例において、ユーザには、自分が以前に共有記録としてマークを付けた情報（記録）への更新を共有する選択肢が提供される。さらに、ユーザはいつでも、記録の共有をキャンセルしてもよい。
【００４０】
この発明のさらに別の実施例によれば、ある種類の情報の共有が自動的に行なわれる。たとえば、ユーザらは、自分たちの音楽コレクション全体を、自分たちのソーシャルモバイルネットワークのあらゆるメンバーと共有してもよい。あるユーザがそうする場合、そのユーザのミュージックライブラリ全体が、ソフトウェア１００を使用する他のすべての人によるサーチ用に利用可能となる。したがって、あるユーザがたとえばワインという項目のサーチを行なう場合、そのタイトルに「wine」（ワイン）というテキストを有する、上述の態様で共有された音楽コレクション内の項目が、サーチ結果において示されるであろう。
【００４１】
モバイル装置ソフトウェアプログラム１００はまた、ユーザとユーザの装置に格納されたさまざまな記録とのやり取りのレベルを追跡するよう適合された、コンポーネント１１０に配置された挙動追跡コンポーネントを含むよう示されている。たとえば、コンポーネント１１０に配置された挙動追跡コンポーネントは、ユーザが自分の連絡先リストの個人個人に電話をかける、または個人個人から電話を受ける回数のカウントを保持する。そのような追跡は、ソーシャルモバイルネットワーキングアプリケーション１００が、サーチに応答してまとめられた情報に、適合性およびランク順を割当てることができるようにする。たとえば、最近３０日間にあるユーザによって最も頻繁に聴かれた曲は、同じ期間にそれほど頻繁には聴かれなかった別の曲よりも、高いランク付けを受ける。そのようなランク付けは適合性を判断する際に使用され、このため、サーチ中に項目を見つける順序が列挙される。
【００４２】
モバイル装置ソフトウェアプログラム１００に設けられた設定マネージャコンポーネント１１４によって管理される複数の設定はまた、サーチ結果において列挙された項目のランク順を規定するために使用されてもよい。たとえば、選択された設定に依存して、サーチされた項目が順序付けられ、列挙される際に、連絡先名がカレンダー項目よりも高いランク付けを受けてもよい。たとえば、「Smith」（スミス）のサーチは、「Smith」というテキストを含むカレンダーエントリよりも、同じテキストを含む連絡先名におけるエントリに、より高いランクを割当てるであろう。別の例では、部分一致を有する項目は、完全一致を有する項目よりも低いランクになる。
【００４３】
この発明のいくつかの実施例は、新しいアプリケーションの発見のための改良された方法を提供する。たとえば、装置４００Ａ、４００Ｂ、４００Ｃ、および４００Ｄは、コンテンツおよびアプリケーションプログラムを共有してもよい。あるアプリケーションについての情報がメタデータ、たとえば、そのアプリケーションの名前、そのアプリケーションの作者、そのアプリケーションの作成日、そのアプリケーションのサイズなどを含んでいてもよい。また、あるアプリケーションについて共有された情報は、そのアプリケーションがどのくらい頻繁に使用されているか、それはいつ最初にインストールされたか、それはいつ最初に使用されたか、最終使用日などを一部に含む挙動情報を含んでいても（および、含むよう絶えず更新されても）よい。共有情報は、絶えず更新されてもよい。
【００４４】
図４を参照して、サーバ３００と通信している、アプリケーション１００が走っているモバイル通信装置４００（図１を参照）が、サーチクエリーを入力すると仮定する。サーバ３００は、図２に示すようなアプリケーション２００が走っていると仮定される。ＵＩ１１２は、そのクエリーをサーチエンジン１０８に渡し、それは次に、サーチクエリーがソーシャルサーチ用であるかどうかを判断し、そうである場合、それをソーシャルサーチコンジット１１６に渡す。ソーシャルサーチコンジット１１６は、設定マネージャ１１４から取得した認証情報と共にクエリーをパッケージ化し、要求をサーバ３００に送信する。サーバ３００は要求を受信し、アカウントマネージャ２０６を呼出すことによって要求元を認証し、それにより、要求元が共有データへのアクセスを許可されていたことを確実にする。要求が認証されると、サーバ３００は要求をサーチエンジン２０８に渡す。サーチエンジン２０８は、共有コンテンツデータベースのインデックス２１２と突き合せて要求されたクエリーを実行し、共有コンテンツデータベース２１０から要求されたデータを抽出する。サーチエンジン２０８によって実行されるサーチは、アプリケーション情報を含んでいてもよい。そうである場合、結果は、アプリケーションプログラム１００のユーザとそのアプリケーション情報を共有した装置ユーザらの名前（または何らかの他の識別子）を含むよう修正されるであろう。加えて、結果は、アプリケーションをどこで取得するか（オンラインストア）についての情報と、同じオンラインストアからのそのアプリケーションの説明とを含むよう修正されるであろう。
【００４５】
さらに、より頻繁に使用されている、またはユーザのソーシャルモバイルネットワークの複数のメンバーによって使用されているアプリケーションが、それほど頻繁に使用されていないものよりも結果が高くなるように、サーチ結果は、ランク付けされ得る。さらに、サーチの結果として見つかったソフトウェアアプリケーションが、連絡先、カレンダー項目などよりも結果が高くなるように、サーチ結果は、ランク付けされ得る。名前、作者、説明といった、アプリケーションについての情報も、提供されてもよい。加えて、サーチを開始したユーザには、アプリケーションを購入し、または自分のモバイル装置にダウンロードする選択肢が提示される。
【００４６】
たとえば、ジャック（Jack）という名のユーザが、自分のカレンダーに入力し忘れたワインとチーズの催しへの出席を計画していると仮定する。ジャックは、この情報が、自分が共有している自分の妻のカレンダーで得られることを知っていると仮定する。この情報を閲覧するために、ジャックは「wine」（ワイン）というサーチテキストを入力する。ジャックは、ジャックとの共有用にマークが付けられた「wine by the bar」（ワイン・バイ・ザ・バー）という名のインストールされたアプリケーションを有する個人個人のソーシャルモバイルネットワーク内にいると仮定する。したがって、このサーチに応答して、所望のカレンダー項目だけでなく、「wine by the bar」というアプリケーションも、サーチ結果において列挙される。一実施例では、「wine by the bar」というアプリケーションが、そのソーシャルモバイルネットワークがジャックを含んでいる多数の個人個人によって購入され、使用されたというこの発見により、このアプリケーションにはより高いランク付けが割当てられるようになり、このため、このアプリケーションは所望のカレンダー項目の前に列挙される。「wine by the bar」というアプリケーションを示すエントリをクリックすると、そのアプリケーションの簡単な説明が提供される。ユーザがそう選択する場合、ユーザは「Ａｐｐストア」を訪れてアプリケーションソフトウェアを購入してもよい。したがって、この発明の実施例によれば、コンテンツと、そのソーシャルモバイルネットワークがユーザを含んでいる人々の行動／挙動との双方が、そのユーザが開始したサーチ結果のランク付けおよび列挙に使用される。
【００４７】
この発明のいくつかの実施例によれば、フェイスブック、マイスペース（MySpace）といった他のソーシャルネットワーキングサイトからの情報も、それらのユーザによってそう選択された場合、共有され、サーチ結果に含まれてもよい。ユーザによってそう選択された場合のそのような共有情報も、コンテンツ収集／インデックス付け２０２によってインデックス付けされる。
【００４８】
いくつかの実施例によれば、１つ以上の第三者のサプライヤによって供給されるコンテンツも、サーチ要求に応答して共有され、サーチされてもよい。たとえば、図５に示すように、オンラインストア５００が、そのミュージックライブラリを、モバイル装置ソフトウェア１００を使用しているあらゆる人と共有することに同意すると仮定する。したがって、あるユーザによってサーチが開始されるときはいつでも、オンライン音楽ストアのライブラリもサーチされ、サーチ結果を提供する。オンラインストア５００によって供給されるコンテンツは、アプリケーションプログラム２００が走っているサーバ３００によってアクセス可能である。
【００４９】
図６は、図１のモバイルアプリケーションプログラム１００が走っているモバイル装置のさまざまなコンポーネントを示す。各モバイル装置は、少なくとも１つのプロセッサ６０２を含むよう示されており、それは、バスサブシステム６０４を介して複数の周辺装置と通信する。これらの周辺装置は、メモリサブシステム２０８およびファイルストレージサブシステム２１０を一部に含むストレージサブシステム６０６と、ユーザインターフェイス入力装置６１２と、ユーザインターフェイス出力装置６１４と、無線通信ポート６１６とを含んでいてもよい。入力および出力装置は、データ処理システム６０２とのユーザのやり取りを可能にする。無線通信ポート６１６は、他のコンピュータシステム、ネットワーク、およびストレージリソースに無線インターフェイスを提供する。
【００５０】
ユーザインターフェイス入力装置６１２は、キーボード、マウス、タッチパッド、ディスプレイに組込まれたタッチスクリーンなどのポインタ装置、音声認識システム、マイクなどの音声入力装置、および他の種類の入力装置を含んでいてもよい。一般に、入力装置という用語の使用は、処理装置に情報を入力するすべての可能な種類の装置および方法を含むよう意図されている。
【００５１】
ユーザインターフェイス出力装置６１４は、ディスプレイサブシステム、または音声出力装置などの非視覚システムを含んでいてもよい。ディスプレイサブシステムは、液晶ディスプレイであってもよい。一般に、出力装置という用語の使用は、処理装置から情報を出力するすべての可能な種類の装置および方法を含むよう意図されている。
【００５２】
ストレージサブシステム６０６は、この発明の実施例に従った機能性を提供する基本的なプログラミングおよびデータ構造物を格納するよう構成されていてもよい。たとえば、この発明の一実施例によれば、この発明の機能性を実現するソフトウェアモジュールが、ストレージサブシステム６０６に格納されてもよい。これらのソフトウェアモジュールは、プロセッサ６０２によって実行されてもよい。ストレージサブシステム６０６はまた、この発明に従って使用されるデータを格納するためのリポジトリを提供してもよい。ストレージサブシステム６０６は、たとえば、メモリサブシステム６０８を含んでいてもよい。
【００５３】
メモリサブシステム６０８は、プログラム実行中に命令およびデータを格納するためのメインランダムアクセスメモリ（random access memory：ＲＡＭ）６１８と、固定された命令を格納する読出専用メモリ（read only memory：ＲＯＭ）６２０とを含む、複数のメモリを含んでいてもよい。
【００５４】
バスサブシステム６０４は、処理装置のさまざまなコンポーネントおよびサブシステムが互いに通信できるようにするためのメカニズムを提供する。バスサブシステム２０４は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実施例は複数のバスを利用していてもよい。
【００５５】
図７は、図２のアプリケーションプログラム２００が走っているサーバに配置されたさまざまなコンポーネントを示す。各サーバは、少なくとも１つのプロセッサ７０２を含むよう示されており、それは、バスサブシステム４０４を介して複数の周辺装置と通信する。これらの周辺装置は、メモリサブシステム７０８およびファイルストレージサブシステム７１０を一部に含むストレージサブシステム７０６と、ユーザインターフェイス入力装置７１２と、ユーザインターフェイス出力装置７１４と、無線通信ポートを含んでいてもよいネットワークインターフェイスサブシステム７１６とを含んでいてもよい。入力および出力装置は、データ処理システム７０２とのユーザのやり取りを可能にする。
【００５６】
ネットワークインターフェイスサブシステム７１６は、他のコンピュータシステム、ネットワーク、およびストレージリソース４０４にインターフェイスを提供する。ネットワークは、インターネット、ローカルエリアネットワーク（local area network：ＬＡＮ）、広域ネットワーク（wide area network：ＷＡＮ）、無線ネットワーク、イントラネット、私的ネットワーク、公的ネットワーク、スイッチドネットワーク、または任意の他の好適な通信ネットワークを含んでいてもよい。ネットワークインターフェイスサブシステム７１６は、他のソースからデータを受信するための，かつ処理装置から他のソースにデータを送信するためのインターフェイスとして機能する。ネットワークインターフェイスサブシステム７１６の実施例は、イーサネット（登録商標）カード、モデム（電話、衛星、ケーブル、ＩＳＤＮなど）、（非対称）デジタル加入者回線（digital subscriber line：ＤＳＬ）ユニットなどを含む。
【００５７】
ユーザインターフェイス入力装置７１２は、キーボード、マウス、トラックボール、タッチパッド、またはグラフィックタブレット、スキャナ、バーコードスキャナ、ディスプレイに組込まれたタッチスクリーンなどのポインタ装置、音声認識システム、マイクなどの音声入力装置、および他の種類の入力装置を含んでいてもよい。一般に、入力装置という用語の使用は、処理装置に情報を入力するすべての可能な種類の装置および方法を含むよう意図されている。
【００５８】
ユーザインターフェイス出力装置７１４は、ディスプレイサブシステム、プリンタ、ファックス機、または音声出力装置などの非視覚ディスプレイを含んでいてもよい。ディスプレイサブシステムは、ブラウン管（cathode ray tube：ＣＲＴ）、液晶ディスプレイ（liquid crystal display：ＬＣＤ）などのフラットパネル装置、または投射装置であってもよい。一般に、出力装置という用語の使用は、処理装置から情報を出力するすべての可能な種類の装置および方法を含むよう意図されている。ストレージサブシステム７０６は、この発明の実施例に従った機能性を提供する基本的なプログラミングおよびデータ構造物を格納するよう構成されていてもよい。たとえば、この発明の一実施例によれば、この発明の機能性を実現するソフトウェアモジュールが、ストレージサブシステム７０６に格納されてもよい。これらのソフトウェアモジュールは、プロセッサ７０２によって実行されてもよい。ストレージサブシステム７０６はまた、この発明に従って使用されるデータを格納するためのリポジトリを提供してもよい。ストレージサブシステム７０６は、たとえば、メモリサブシステム７０８と、ファイル／ディスクストレージサブシステム７１０とを含んでいてもよい。
【００５９】
メモリサブシステム７０８は、プログラム実行中に命令およびデータを格納するためのメインランダムアクセスメモリ（ＲＡＭ）７１８と、固定された命令を格納する読出専用メモリ（ＲＯＭ）７２０とを含む、複数のメモリを含んでいてもよい。ファイルストレージサブシステム７１０は、プログラムおよびデータファイルのための永続的な（不揮発性）ストレージを提供しており、ハードディスクドライブ、フロッピー（登録商標）ディスクドライブおよび関連するリムーバブルメディア、コンパクトディスク読出専用メモリ（Compact Disk Read Only Memory：ＣＤ−ＲＯＭ）ドライブ、光学ドライブ、リムーバブルメディアカートリッジ、および他の同様の記憶媒体を含んでいてもよい。
【００６０】
バスサブシステム７０４は、処理装置のさまざまなコンポーネントおよびサブシステムが互いに通信できるようにするためのメカニズムを提供する。バスサブシステム７０４は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実施例は複数のバスを利用していてもよい。
【００６１】
処理装置は、パーソナルコンピュータ、ポータブルコンピュータ、ワークステーション、ネットワークコンピュータ、メインフレーム、キオスク、または他の任意のデータ処理システムを含むさまざまな種類のものであってもよい。図７に示す処理装置の説明は単なる一例として意図されていることが理解される。図７に示すシステムよりもコンポーネントの数が多い、または少ない他の多くの構成が可能である。
【００６２】
この発明の上述の実施例は例示的であり、限定的ではない。さまざまな代替例および均等物が可能である。他の追加、削減または修正がこの開示に鑑みて自明であり、添付された特許請求の範囲に含まれるよう意図されている。
【図１】
0005531351.tif 000002
【図２】
0005531351.tif 000003
【図３】
0005531351.tif 000004
【図４】
0005531351.tif 000005
【図５】
0005531351.tif 000006
【図６】
0005531351.tif 000007
【図７】
0005531351.tif 000008
【図８】
0005531351.tif 000009
【図９Ａ】
0005531351.tif 000010
【図９Ｂ】
0005531351.tif 000011