(57)【要約】      （修正有）【課題】モバイルデバイスへのアプリケーションソフトウェアのダウンロードを容易にする。【解決手段】カタログサーバ１０５は、アプリケーションカタログ１４５で識別されるアプリケーションの要求を受け取ると、カタログサーバ１０５に格納されたアプリケーションカタログ１４５からのデータを含むプッシュメッセージを生成する。このプッシュメッセージは、アプリケーションの要求中で指定されるモバイルデバイス１３０に送られる。モバイルデバイス１３０はプッシュメッセージを受信し、読み取る。プッシュメッセージの受け入れに応答して、アプリケーションが要求され、アプリケーションサーバ１０６から受け取られる。アプリケーションをインストールし、オンデバイスアプリケーションカタログ１５０を更新して、モバイルデバイス１３０上でアプリケーションが利用可能であることを示す。【選択図】図１
2005251167.tif 000002
【特許請求の範囲】
【請求項１】
モバイルデバイスにソフトウェアアプリケーションを提供するための方法であって、
カタログサーバ上に格納されたアプリケーションカタログで識別されるアプリケーションの要求を受け取ることと、
前記アプリケーションの要求に基づき、前記カタログサーバ上に格納された前記アプリケーションカタログからのデータを含むプッシュメッセージを生成することと、
前記アプリケーションの要求中で指定されるモバイルデバイスに前記プッシュメッセージを送ることと、
前記モバイルデバイスから前記プッシュメッセージの受け入れを受け取ることに応答して、前記モバイルデバイスに前記アプリケーションを送ることと
を備えることを特徴とする方法。
【請求項２】
アプリケーションの要求を受け取ることは、前記アプリケーションカタログをブラウズするユーザから要求を受け取ることを備えることを特徴とする請求項１に記載の方法。
【請求項３】
プッシュメッセージを生成することは、
前記アプリケーションと前記プッシュメッセージの宛先デバイスとを示す要求情報を読み取ることと、
前記アプリケーションに関連する前記アプリケーションカタログからのデータを読み取ることと、
前記プッシュメッセージの宛先デバイスを示すプッシュメッセージヘッダを生成することと、
前記アプリケーションカタログからのデータを前記プッシュメッセージの本文に付加することと
を備えることを特徴とする請求項１に記載の方法。
【請求項４】
アプリケーションの要求を受け取ることに先立って、
ダウンロードされる選択されたアプリケーションの指示を受け取ることと、
友人に送るオプションの選択の指示を受け取ることと、
前記ダウンロードされる選択されたアプリケーションの宛先情報を収集することと、
前記アプリケーションの要求を生成することと
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項５】
モバイルデバイスでのオンデバイスアプリケーションカタログを更新する方法であって、
アプリケーションがダウンロードのために利用可能であることを示し、前記アプリケーションに関連するアプリケーションカタログからの情報を含むプッシュメッセージを受け取ることと、
前記プッシュメッセージを読み取ることと、
前記プッシュメッセージの受け入れに応答して、前記アプリケーションを要求し、前記アプリケーションをアプリケーションサーバから受け取り、前記アプリケーションをインストールし、前記アプリケーションが前記モバイルデバイス上で実行のために利用可能であることを示すように前記オンデバイスアプリケーションカタログを更新することと
を備えることを特徴とする方法。
【請求項６】
前記プッシュメッセージを読み取ることは、
前記アプリケーションカタログからの情報を読み取ることと、
前記アプリケーションカタログからの情報を、受け入れのために前記モバイルデバイスのユーザに提示することと、
前記モバイルデバイスのユーザが前記アプリケーションを受け入れるかどうかの指示を受け取ることと
を備えることを特徴とする請求項５に記載の方法。
【請求項７】
前記オンデバイスアプリケーションカタログからのアプリケーションの選択を受け取ることと、
前記選択されたアプリケーションからボールトフォルダに永続的情報をコピーすることと、
前記選択されたアプリケーションをアンインストールすることと、
前記選択されたアプリケーションを削除することと
さらに備えることを特徴とする請求項５に記載の方法。
【請求項８】
前記オンデバイスアプリケーションカタログからの削除されたアプリケーションの選択を受け取ることと、
前記カタログサーバから前記アプリケーションをダウンロードすることと、
前記アプリケーションをインストールすることと、
前記ボールトフォルダから前記アプリケーションに前記永続的情報をコピーすることと
をさらに備えることを特徴とする請求項７に記載の方法。
【請求項９】
カタログサーバからプッシュメッセージを受け取ることに応答して、前記プッシュメッセージに含まれる前記カタログサーバからのアプリケーションカタログデータを事前にキャッシュすることと、
サーチ機能の指示を受け取ることに応答して、前記カタログサーバからの前記アプリケーションカタログデータをブラウズすることと
をさらに備えることを特徴とする請求項５に記載の方法。
【請求項１０】
請求項１に記載のオペレーションを行うためのコンピュータプロセスを実行するための命令のコンピュータプログラムを符号化したことを特徴とするコンピュータ可読媒体。
【請求項１１】
アプリケーションの要求を受け取ることは、前記アプリケーションカタログをブラウズするユーザからの要求を受け取ることを含むことを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１２】
プッシュメッセージを生成することは、
前記アプリケーションと前記プッシュメッセージの宛先デバイスとを示す要求情報を読み取ることと、
前記アプリケーションに関連する前記アプリケーションカタログからのデータを読み取ることと、
前記プッシュメッセージの宛先デバイスを示すプッシュメッセージヘッダを生成することと、
前記アプリケーションカタログからのデータを前記プッシュメッセージの本文に付加することと
を備えたことを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１３】
アプリケーションの要求を受け取ることに先立って、
ダウンロードされる選択されたアプリケーションの指示を受け取ることと、
友人に送るオプションの選択の指示を受け取ることと、
前記ダウンロードされる選択されたアプリケーションの宛先情報を収集することと、
前記アプリケーションの要求を生成することと
をさらに備えたことを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１４】
請求項５に記載のオペレーションを行うためのコンピュータプロセスを実行するための命令のコンピュータプログラムを符号化したことを特徴とするコンピュータ可読媒体。
【請求項１５】
前記プッシュメッセージを読み取ることは、
前記カタログサーバの前記アプリケーションカタログからの情報を読み取ることと、
前記カタログサーバの前記アプリケーションカタログからの情報を、受け入れのために前記モバイルデバイスのユーザに提示することと、
前記モバイルデバイスのユーザが前記アプリケーションを受け入れるかどうかの指示を受け取ることと、
を備えたことを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１６】
前記オンデバイスアプリケーションカタログからのアプリケーションの選択を受け取ることと、
前記選択されたアプリケーションからボールトフォルダに永続的情報をコピーすることと、
前記選択されたアプリケーションをアンインストールとすることと、
前記選択されたアプリケーションを削除することと
をさらに備えたことを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１７】
前記オンデバイスアプリケーションカタログからの削除されたアプリケーションの選択を受け取ることと、
前記アプリケーションを前記カタログサーバからダウンロードすることと、
前記アプリケーションをインストールすることと、
前記ボールトフォルダから前記アプリケーションに前記永続的情報をコピーすることと
をさらに備えたことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項１８】
前記カタログサーバからプッシュメッセージを受け取ることに応答して、前記プッシュメッセージに含まれる前記カタログサーバからのアプリケーションカタログデータを事前にキャッシュすることと、
サーチ機能の指示を受け取ることに応答して、前記カタログサーバからの前記アプリケーションカタログデータをブラウズすることと
をさらに備えたことを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１９】
モバイルデバイスにソフトウェアアプリケーションを提供するためのシステムであって、
プロセッサと、
前記プロセッサに結合され、前記プロセッサによって読取り可能なメモリであって、前記プロセッサによって実行されると、前記プロセッサに、カタログサーバ上に格納されたアプリケーションカタログで識別されるアプリケーションの要求を受け取らせ、前記アプリケーションの前記要求に基づき、前記カタログサーバ上に格納された前記アプリケーションカタログからのデータを含むプッシュメッセージを生成させ、前記アプリケーションの要求中で指定されるモバイルデバイスへ前記プッシュメッセージを送らせ、前記モバイルデバイスから前記プッシュメッセージの受け入れを受け取ることに応答して、前記モバイルデバイスへ前記アプリケーションを送らせる一連の命令を収容したメモリと
を備えたことを特徴とするシステム。
【請求項２０】
アプリケーションの要求を受け取らせることは、前記アプリケーションカタログをブラウズするユーザから要求を受け取らせることを含むことを特徴とする請求項１９に記載のシステム。
【請求項２１】
プッシュメッセージを生成させることは、
前記アプリケーションと前記プッシュメッセージの宛先デバイスとを示す要求情報を読み取らせることと、
前記アプリケーションに関連する前記アプリケーションカタログからのデータを読み取らせることと、
前記プッシュメッセージの前記宛先デバイスを示すプッシュメッセージヘッダを生成させることと、
前記アプリケーションカタログからの前記データを前記プッシュメッセージの本文に付加させることと
を備えたことを特徴とする請求項１９に記載のシステム。
【請求項２２】
アプリケーションの要求を受け取らせることに先立って、
ダウンロードされる選択されたアプリケーションの指示を受け取らせることと、
友人に送るオプションの選択の指示を受け取らせることと、
前記ダウンロードされる選択されたアプリケーションの宛先情報を収集させることと、
前記アプリケーションの要求を生成させることと
をさらに備えたことを特徴とする請求項１９に記載のシステム。
【請求項２３】
オンデバイスアプリケーションカタログを更新するためのモバイルデイバスであって、
プロセッサと、
前記プロセッサに結合され、前記プロセッサによって読取り可能なメモリであって、前記プロセッサによって実行されると、前記プロセッサに、アプリケーションがダウンロードのために利用可能であることを示し、前記アプリケーションに関連するアプリケーションカタログからの情報を含むプッシュメッセージを受け取らせ、前記プッシュメッセージを読み取らせ、前記プッシュメッセージの受け入れに応答して、前記アプリケーションを要求させ、前記アプリケーションをアプリケーションサーバから受け取らせ、前記アプリケーションをインストールさせ、前記アプリケーションが前記モバイルデバイス上で実行のために利用可能であることを示すように前記オンデバイスアプリケーションカタログを更新させる一連の命令を収容したメモリと
を備えたことを特徴とするモバイルデバイス。
【請求項２４】
前記プッシュメッセージを読み取らせることは、
前記アプリケーションカタログからの情報を読み取らせることと、
前記アプリケーションカタログからの情報を、受け入れのために前記モバイルデバイスのユーザに提示させることと、
前記モバイルデバイスのユーザが前記アプリケーションを受け入れるかどうかの指示を受け取らせることと
を備えたことを特徴とする請求項２３に記載のモバイルデバイス。
【請求項２５】
前記オンデバイスアプリケーションカタログからのアプリケーションの選択を受け取らせることと、
前記選択されたアプリケーションからボールトフォルダに永続的情報をコピーさせることと、
前記選択されたアプリケーションをアンインストールとさせることと、
前記選択されたアプリケーションを削除させることと
をさらに備えたことを特徴とする請求項２３に記載のモバイルデバイス。
【請求項２６】
前記オンデバイスアプリケーションカタログからの削除されたアプリケーションの選択を受け取らせることと、
前記カタログサーバから前記アプリケーションをダウンロードさせることと、
前記アプリケーションをインストールさせることと、
前記ボールトフォルダから前記アプリケーションに前記永続的情報をコピーさせることと
をさらに備えたことを特徴とする請求項２５に記載のモバイルデバイス。
【請求項２７】
カタログサーバからプッシュメッセージを受け取ることに応答して、前記プッシュメッセージに含まれる前記カタログサーバからのアプリケーションカタログデータを事前にキャッシュさせることと、
サーチ機能の指示を受け取ることに応答して、前記カタログサーバからの前記アプリケーションカタログデータをブラウズさせることと
をさらに備えたことを特徴とする請求項２３に記載のモバイルデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピュータソフトウェアの分野に関し、より詳細には、１台または複数のモバイルコンピューティングデバイスへソフトウェアを配布することに関する。
【背景技術】
【０００２】
携帯電話、ページャ、携帯情報端末（ＰＤＡ）など、多種多様なモバイルコンピューティングデバイスが広く使用されている。これらのモバイルデバイス上で利用可能なソフトウェアには、ゲーム、電話帳、カレンダ、電子メール、Ｗｅｂブラウザ、その他など、広範なアプリケーションが含まれる。これらのアプリケーションは、モバイルデバイスにプリロードして配布することができる。例えば、携帯電話は、通常、電話帳を維持するためのソフトウェアを含む。別の場合には、このソフトウェアは、モバイルデバイスの購入後にユーザによってデバイスにインストールされることもある。
【０００３】
通常、モバイルデバイスにソフトウェアをインストールするために、ユーザには２つの選択肢がある。第１に、ユーザは、パーソナルコンピュータまたは他の類似のコンピューティングデバイスを用いて何らかの所望のソフトウェアを突き止め、ダウンロードすることができる。例えば、ユーザは、利用可能なアプリケーションのオンラインカタログをブラウズし、ダウンロードのために１つまたは複数を選択することができる。アプリケーションがユーザのコンピュータにダウンロードされると、次いで、ユーザは、ドッキングクレードル、ケーブル、赤外線ビーム、ワイヤレスネットワークまたはその他の手段を使用してモバイルデバイスをパーソナルコンピュータと接続し、パーソナルコンピュータからモバイルデバイスにソフトウェアを同期させ、そうでなければ転送する。最後に、ユーザは、モバイルデバイス上でインストールまたはセットアッププログラムを実行してソフトウェアをインストールし、モバイルデバイス上で実行可能にする。
【０００４】
あるいは、モバイルデバイスに、ユーザが利用可能なソフトウェアを求めて１つまたは複数のオンラインカタログを「サーフィン」またはブラウズできるようにするブラウザソフトウェアをインストールすることもできる。この方法は、ユーザが、潜在的に多数のソフトウェアセレクションを通してブラウズし、所望のセレクションを突き止め、ダウンロードすることを必要とする。アプリケーションがダウンロードされると、ユーザは、モバイルデバイス上でインストールまたはセットアッププログラムを実行する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、これらの方法は両方とも、類似の問題を呈示する。第１に、これらの方法は使用するのが難しく、時間がかかる。例えば、オンラインカタログのブラウズは、本質的に、モバイルデバイスからでは非常に時間がかかり、そのため、ユーザにとってフラストレーションとなる。さらに、オンラインカタログは、通常、複雑であり、そのため、うまくナビゲートするのが難しい。アプリケーションが見つかると、オンラインカタログからのダウンロードは、通常、さらに多くのエンドユーザによるインターラクションを必要とし、全体として面倒である。例えば、デスクトップコンピュータを用いてアプリケーションを突き止め、ダウンロードし、インストールするのは、時間がかかり、面倒であり、しかも、ユーザは、モバイルデバイスと接続した自分のＰＣのそばにいる必要がある。
【０００６】
さらに、これらの方法は、１台のモバイルデバイスのユーザが異なるモバイルデバイスへのダウンロードを開始でき、さらに別のデバイスに利用可能なソフトウェアについて知らせることができる方法さえ提供しない。それゆえ、ユーザが複数のモバイルデバイスを所有し、各デバイス上に同じソフトウェアをインストールしようと希望する場合、そのユーザは、モバイルデバイスごとに別々にそのソフトウェアを突き止め、ダウンロードし、インストールしなければならない。同様に、あるユーザが別のユーザに、そのユーザに興味がある可能性のある利用可能なソフトウェアについて都合よく知らせる方法もない。本発明は、これらおよびその他の考えに対してなされたものである。
【課題を解決するための手段】
【０００７】
本発明によれば、上記およびその他の問題は、カタログサーバ上のアプリケーションカタログに基づいてモバイルデバイスにソフトウェアアプリケーションを提供するための方法およびシステムによって解決される。一般に、カタログサーバは、アプリケーションサーバ上に格納されたアプリケーションに対する何らかの要求に応答して、１台または複数のモバイルデバイスへのプッシュメッセージを生成する。このプッシュメッセージには、モバイルデバイスのユーザに利用可能なソフトウェアについて知らせるために、カタログサーバ上のアプリケーションカタログからのデータが入っている。それが受け入れられると、アプリケーションをアプリケーションサーバからダウンロード、すなわちプルし、モバイルデバイス上にインストールすることができ、そのアプリケーションがそのモバイルデバイスで実行のために利用可能であることを反映するようにオンデバイスアプリケーションカタログを更新することができる。
【０００８】
他の態様によれば、本発明は、モバイルデバイスにソフトウェアアプリケーションを提供する方法に関する。この方法は、カタログサーバ上に格納されたアプリケーションカタログで識別されるアプリケーションの要求を受け取ることを含む。アプリケーションの要求に基づき、カタログサーバ上に格納されたアプリケーションカタログからのデータが入っているプッシュメッセージが生成される。このプッシュメッセージは、アプリケーションの要求中で指定されたモバイルデバイスに送られる。モバイルデバイスからプッシュメッセージの受け入れまたはプル要求を受け取ることに応答して、アプリケーションがモバイルデバイスに送られる。
【０００９】
他の態様によれば、モバイルデバイスでオンデバイスアプリケーションカタログを更新する方法は、アプリケーションがダウンロードのために利用可能であることを示し、そのアプリケーションに関連するカタログサーバのアプリケーションカタログからの情報が入っている、カタログサーバからのプッシュメッセージを受け取ることを含む。そのプッシュメッセージが読み取られる。プッシュメッセージの受け入れに応答して、アプリケーションが要求され、アプリケーションサーバから受け取られる。アプリケーションがインストールされ、そのアプリケーションがそのモバイルデバイス上で実行のために利用可能であることを示すようにオンデバイスアプリケーションカタログが更新される。
【００１０】
さらに別の態様によれば、本発明は、モバイルデバイスにソフトウェアアプリケーションを提供するためのシステムに関する。このシステムは、プロセッサと、プロセッサに結合され、プロセッサにより読取り可能なメモリとを備える。メモリは、プロセッサによって実行されると、カタログサーバ上に格納されたアプリケーションカタログ中で識別されるアプリケーションの要求をプロセッサに受け取らせる一連の命令を収容する。アプリケーションの要求に基づき、カタログサーバ上に格納されたアプリケーションカタログからのデータが入っているプッシュメッセージが生成される。プッシュメッセージは、アプリケーションの要求中で指定されたモバイルデバイスに送られる。モバイルデバイスからプッシュメッセージの受け入れまたはプル要求を受け取ることに応答して、アプリケーションがモバイルデバイスに送られる。
【００１１】
さらに別の態様によれば、本発明は、オンデバイスアプリケーションカタログを更新するためのモバイルデバイスに関する。このモバイルデバイスは、プロセッサと、プロセッサに結合され、プロセッサにより読取り可能なメモリとを備える。このメモリは、プロセッサによって実行されると、アプリケーションがダウンロードのために利用可能であることを示し、そのアプリケーションに関連するカタログサーバのアプリケーションカタログからの情報が入っているカタログサーバからのプッシュメッセージをプロセッサに受け取らせる一連の命令を収容する。そのプッシュメッセージが読み取られる。プッシュメッセージの受け入れに応答して、アプリケーションが要求され、アプリケーションサーバから受け取られる。アプリケーションがインストールされ、そのアプリケーションがそのモバイルデバイス上で実行のために利用可能であることを示すようにオンデバイスアプリケーションカタログが更新される。
【００１２】
本発明は、コンピュータプロセス、コンピューティングシステム、またはコンピュータプログラム製品やコンピュータ可読媒体などの製造品として実施することができる。このコンピュータプログラム製品は、コンピューティングシステムにより読取り可能であり、コンピュータプロセスを実行するための命令のコンピュータプログラムを符号化しているコンピュータ記憶媒体とすることができる。また、このコンピュータプログラム製品は、コンピューティングシステムにより読取り可能であり、コンピュータプロセスを実行するための命令のコンピュータプログラムを符号化している搬送波上で伝播される信号とすることもできる。
【００１３】
本発明を特性付けるこれらおよび様々なその他の特徴ならびに利点は、以下の詳細な説明を読み、関連する図面を検討することにより明らかになるであろう。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明の一実施形態によるモバイルデバイス上でオンデバイスアプリケーションカタログを更新するためのシステムをハイレベルで示している。この例には、カタログサーバ１０５、アプリケーションサーバ１０６、ネットワークオペレータシステム１１５、ユーザのシステム１２０、およびいくつかのモバイルデバイス１３０〜１４０を含むシステム１００が示されている。
【００１５】
ネットワークオペレータシステム１１５は、モバイルデバイス１３０〜１４０が通信することができるワイヤレスネットワーク１２５を維持管理する。モバイルデバイス１３０〜１４０には、携帯電話、携帯情報端末（ＰＤＡ）、ページャ、ワイヤレスネットワークを介して通信することのできるその他の種類のデバイスが含まれ得る。ワイヤレスネットワーク１２５を介して、モバイルデバイス１３０〜１４０は相互に通信することができる。
【００１６】
さらに、ネットワークオペレータシステム１１５は、モバイルデバイス１３０〜１４０が接続し、通信することができる他のネットワークへのアクセスを提供することもできる。例えば、ネットワークオペレータシステム１１５は、通常、地上電話システム（ここには図示せず）へのアクセスを提供する。多くの場合、ネットワークオペレータシステム１１５は、インターネット１１０への接続も提供する。この接続を介して、モバイルデバイス１３０〜１４０は、インターネットと接続されたサーバ１０５上で利用可能な情報をブラウズし、アクセスすることができる。
【００１７】
ネットワークオペレータシステム１１５を介して、モバイルデバイス１３０〜１４０は、モバイルデバイス１３０〜１４０上で使用するためのアプリケーションソフトウェアを含み得るコンテンツについての情報を提供する、インターネット１１０に接続されたカタログサーバ１０５にアクセスすることができる。例えば、カタログサーバ１０５は、ゲーム、オーガナイザ、データベース、ワードプロセッサ、スプレッドシートなどのアプリケーション、ならびに様々なアドオン、アップグレードおよびその他のコンテンツを記載する情報を提供することができる。これらのアプリケーションまたはその他のコンテンツは、アプリケーションサーバ１０６上に置くことができる。図には別の構成要素として示されているが、カタログサーバ１０５およびアプリケーションサーバ１０６は、実際には、同じ物理マシンにより維持管理することができる。カタログサーバ１０５およびアプリケーションサーバ１０６は、ワイヤレスネットワーク１２５のオペレータ、独立したソフトウェアベンダ（ＩＳＶ）、または他の何らかの第三者によって維持管理することができる。さらに、図には、１台のカタログサーバ１０５および１台のアプリケーションサーバ１０６だけが示されているが、何台のサーバでも利用可能である。
【００１８】
いくつかのアプリケーションをダウンロードのために利用可能にすることに加えて、カタログサーバ１０５は、そのカタログサーバ１０５上で現在利用可能なアプリケーションを反映するアプリケーションカタログ１４５を維持管理することもできる。アプリケーションカタログ１４５は、タイトル、作成者、簡単な説明、レビュー、費用、サムネールのスクリーンショットといった各アプリケーションに関連する情報を収容することができる。以下で示すように、この情報は、モバイルデバイス１３０〜１４０へのダウンロードのためにアプリケーションを選択する際に役立つ。
【００１９】
また、各モバイルデバイス１３０〜１４０は、カタログサーバ１０５によって維持管理されるアプリケーションカタログ１４５に類似したオンデバイスアプリケーションカタログ１５０も維持する。ただし、このオンデバイスアプリケーションカタログ１５０は、そのモバイルデバイス上で利用可能なこうしたアプリケーションを反映する。
【００２０】
モバイルデバイス１３０は、カタログサーバ１０５上のアプリケーションカタログ１４５をブラウズし、ダウンロードのためにアプリケーションの１つを選択することができる。カタログサーバ１０５は、この要求を受け取ると、即座にまたは後で、選択されたアプリケーションをそのモバイルデバイス１３０にダウンロードするようアプリケーションサーバ１０６に要求することができる。モバイルデバイス１３０は、アプリケーションを受信すると、そのアプリケーションをインストールし、そのアプリケーションが利用可能であることを反映するようにオンデバイスアプリケーションカタログ１５０を更新することができる。
【００２１】
別の例では、１台のモバイルデバイスのユーザは、カタログサーバのアプリケーションカタログからアプリケーションを選択し、それを異なるモバイルデバイスに送るように選ぶことができる。例えば、モバイルデバイス１３０のユーザは、カタログサーバ１０５のアプリケーションカタログ１４５をブラウズし、別のモバイルデバイス１３５上にダウンロードするアプリケーションを選択することができる。すなわち、モバイルデバイス１３０などの発信デバイスのユーザは、カタログサーバ１０５のアプリケーションカタログ１４５をブラウズする間に、アプリケーションを選択し、カタログサーバ１０５によって提示される「友人に送る」オプションを選択することができる。次いで、カタログサーバ１０５は、発信デバイス１３０のユーザに、モバイルデバイス１３５などの宛先デバイスを識別する情報について照会することができる。この識別情報には、電話番号、ユーザ名、ＩＰアドレス、またはその宛先デバイスまたは「友人」のその他の一意の識別情報のような情報が含まれ得る。さらに、複数の宛先デバイスを示すこともできる。次いで、カタログサーバ１０５は、宛先デバイス１３５にアプリケーションが利用可能であることを通知するために宛先デバイス１３５へのプッシュメッセージを生成する。プッシュメッセージが確認応答されるか、またはアプリケーションが宛先デバイス１３５によって受け入れられると、そのアプリケーションをアプリケーションサーバ１０６から宛先デバイス１３５にダウンロードすることができる。このようにして、１台のモバイルデバイスは、異なるモバイルデバイスへアプリケーションのダウンロードを開始することができる。宛先デバイス１３５は、発信デバイス１３０を所有する同一の個人にも、別の個人にも属し得ることに留意されたい。
【００２２】
別の例では、オンデバイスアプリケーションカタログ１５０をブラウズしている間に、モバイルデバイス１３０上で「友人に送る」オプションを呼び出すことができる。例えば、モバイルデバイス１３０のユーザは、そのモバイルデバイス１３０のオンデバイスアプリケーションカタログ１５０をブラウズしている間に、オンデバイスアプリケーションカタログ１５０からアプリケーションの１つを選択することができる。次いで、ユーザは、モバイルデバイス１３０のユーザインターフェースを介して「友人に送る」オプションを選択することができる。その場合、前述のカタログサーバの例と同様に、モバイルデバイス１３０は、モバイルデバイス１３５などの宛先デバイスを識別する情報についてユーザに照会することができる。この識別情報には、電話番号、ユーザ名、ＩＰアドレス、またはその宛先デバイスまたは「友人」のその他の一意の識別情報のような情報が含まれ得る。さらに、複数の宛先デバイスを示すこともできる。次いで、モバイルデバイス１３０は、宛先デバイス１３５にそのアプリケーションが使用可能であることを通知するために、宛先デバイス１３５へのプッシュメッセージを生成する。
【００２３】
さらに別の例では、ユーザシステム１２０やインターネット１１０に接続されているがワイヤレスネットワーク１２５には接続されていない別のデバイスなどのパーソナルコンピュータのユーザは、カタログサーバ１０５のアプリケーションカタログ１４５をブラウズし、モバイルデバイス１３０〜１４０の１つにダウンロードするためにアプリケーションを選択することができる。前述の例と同様に、ユーザシステム１２０のユーザは、カタログサーバ１０５のアプリケーションカタログ１４５をブラウズし、モバイルデバイス１３０にダウンロードするためのアプリケーションを選択することができる。それゆえ、この例では、前述の例でのようなモバイルデバイス１３０ではなく、ユーザシステム１２０が発信デバイスである。カタログサーバ１０５のアプリケーションカタログ１４５をブラウズする間に、ユーザシステム１２０のユーザは、アプリケーションを選択し、カタログサーバ１０５により提示された「友人に送る」オプションを選択することができる。次いで、カタログサーバ１０５は、ユーザシステム１２０に、モバイルデバイス１３０などの１つまたは複数の宛先デバイスを識別する情報について照会する。次いで、カタログサーバ１０５は、宛先デバイス１３０にそのアプリケーションが利用可能であることを通知するために、宛先デバイス１３０へのプッシュメッセージを生成する。アプリケーションが宛先デバイス１３０によって受け入れられると、そのアプリケーションをアプリケーションサーバ１０６から宛先デバイス１３０にダウンロードすることができる。このようにして、ワイヤレスネットワークに接続されていないシステムは、モバイルデバイスへのアプリケーションのダウンロードを開始することができる。ユーザシステム１２０のユーザは、宛先デバイス１３０の所有者であっても、別の個人であってもよい。
【００２４】
さらに別の例では、カタログサーバ自体が、１つまたは複数のモバイルデバイスにダウンロードするアプリケーションまたはその他のコンテンツを選択することができる。例えば、カタログサーバは、アプリケーションのアップグレードが利用可能になったことに応答してダウンロードを開始することができる。そのような場合、カタログサーバ１０５は、どのモバイルデバイスが特定のアプリケーションをダウンロードしたかを記録することができる。そのアプリケーションのアップグレードがカタログサーバ１０５上のアプリケーションカタログ１４５に付加されると、カタログサーバ１０５は、そのアプリケーションをダウンロードした各モバイルデバイスへのプッシュメッセージを生成することができる。モバイルデバイスがこのプッシュメッセージを受信すると、そのモバイルデバイスは、前述のようにメッセージを受け入れ、アプリケーションをダウンロードすることができる。あるいは、モバイルデバイス１３０は、カタログサーバ１０５のアプリケーションカタログ１４５に、モバイルデバイス１３０のアプリケーションカタログ１５０中のアプリケーションへのアップデートが利用可能かについて定期的にチェックすることができる。
【００２５】
それゆえ、アプリケーションカタログ１４５中のアプリケーションの要求に応答して、または他の何らかのイベントの発生に応答してプッシュメッセージを発することにより、カタログサーバ１０５は、１台または複数のモバイルデバイス１３０〜１４０に、利用可能なアプリケーションについて通知することができる。プッシュメッセージは、カタログサーバ１０５により維持されるアプリケーションカタログ１４５からの、アプリケーションサーバ１０６上の利用可能なアプリケーションに関連する情報を含むことができる。モバイルデバイス１３０〜１４０は、プッシュメッセージを受信すると、カタログサーバ１４５のアプリケーションカタログ１０５からの情報を使用して、アプリケーションサーバ１０６からそのアプリケーションをダウンロードまたはプルすべきかどうか決定することができる。次いで、モバイルデバイス１３０〜１４０は、そのアプリケーションをインストールし、そのアプリケーションがそのモバイルデバイス上で利用可能であることを反映するようにオンデバイスアプリケーションカタログ１５０を更新することができる。
【００２６】
また、以下でより詳細に説明するように、各モバイルデバイス１３０は、オンデバイスアプリケーションカタログ１５０に関連する付加機能を提供することもできる。例えば、モバイルデバイス１３０は、モバイルデバイス１３０が、オンデバイスアプリケーションカタログ１５０から１つまたは複数のアプリケーションを選択してボールト（ｖａｕｌｔ）に入れることを可能にする「ボールト」機能を提供することができる。このボールトを使用して、後でアプリケーションを復元するのに使用することができる、ライセンス情報、ハイスコア、ユーザの個人情報といったアプリケーションに関連するデータを格納することができる。一般的に言えば、アプリケーションをボールトに入れることは、オンデバイスアプリケーションカタログ１５０からアプリケーションを選択すること、ボールト機能を選択すること、アプリケーションに関連する１組の永続的データをボールトフォルダに保存すること、アプリケーションをアンインストールすること、そしてアプリケーションを削除することを備える。ボールト機能のさらなる詳細については、以下で図９を参照して説明する。
【００２７】
モバイルデバイス１３０は、カタログサーバ１０５によりオンデバイスアプリケーションカタログ１５０に提供された情報を利用するサーチ機能を提供することもできる。例えば、カタログサーバ１０５は、ゲーム、娯楽、生産性などのような利用可能なアプリケーションのカテゴリのリストを定期的に生成することができる。これらのカテゴリに関連する情報をカタログサーバ１０５上のアプリケーションカタログ１４５から収集し、プッシュメッセージに入れて１台または複数のモバイルデバイスに送ることができる。モバイルデバイスは、そのようなコンテンツを自動的に受け入れ、キャッシュするように構成することができる。次いで、モバイルデバイスのユーザは、これらのカテゴリのコンテンツをサーチし、関連するリンクを使用してアプリケーションサーバ１０６からアプリケーションをダウンロードすることができる。サーチ機能の詳細については、以下で図１１を参照して説明する。
【００２８】
図２に、本発明の実施形態を実装することができる適当なコンピューティングシステム環境の一例を示す。このシステム２００は、カタログサーバ、アプリケーションサーバ、ユーザシステムまたはその他のシステムとして使用することのできるものを表している。その最も基本的な構成において、システム２００は、通常、少なくとも１つの処理装置２０２およびメモリ２０４を含む。コンピューティングデバイスの厳密な構成および種類に応じて、メモリ２０４は揮発性（ＲＡＭなど）とすることも、不揮発性（ＲＯＭ、フラッシュメモリなど）とすることも、それら２つの何らかの組合せとすることもできる。この最も基本的な構成を図２に破線２０６で示す。さらに、システム２００は、付加的特徴／機能を備えることもできる。例えば、装置２００は、それだけに限らないが、磁気もしくは光ディスクまたはテープを含む、（リムーバブルおよび／または非リムーバブルの）付加的なストレージを有することができる。そのような付加的なストレージを図２にリムーバブルストレージ２０８および非リムーバブルストレージ２１０により示す。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータなどの情報のストレージのための任意の方法または技術で実施された揮発性および不揮発性、リムーバブルおよび非リムーバブルの媒体が含まれる。メモリ２０４、リムーバブルストレージ２０８および非リムーバブルストレージ２１０は、すべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体には、それだけに限らないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくはその他の磁気記憶デバイス、または所望の情報の格納に使用することができ、システム２００によってアクセスすることのできる他の任意の媒体が含まれる。任意のそのようなコンピュータ記憶媒体はシステム２００の一部とすることができる。
【００２９】
システム２００は、システムが他の装置と通信できるようにする通信接続２１２も含むことができる。通信接続２１２は、通信媒体の一例である。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータを、搬送波や他の搬送機構などの変調データ信号として具現し、任意の情報配送媒体を含む。「変調データ信号」という用語は、信号中に情報を符号化するようにその信号の特性の１つまたは複数を設定または変更した信号を意味する。例として、限定ではなく、通信媒体には、有線ネットワークや直接配線接続などの有線媒体、および音響、ＲＦ、赤外線、その他のワイヤレス媒体などのワイヤレス媒体が含まれる。本明細書で使用するコンピュータ可読媒体という用語は、記憶媒体と通信媒体両方を含む。
【００３０】
システム２００は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの入力デバイス２１４を備えることもできる。また、ディスプレイ、スピーカ、プリンタなどの出力デバイス２１６を含むことができる。これらすべてのデバイスは当分野ではよく知られており、本明細書で詳細に論じる必要はない。
【００３１】
システム２００などのコンピューティングデバイスは、通常、少なくとも何らかの形態のコンピュータ可読媒体を含む。コンピュータ可読媒体は、システム２００によってアクセスすることができる任意の利用可能な媒体とすることができる。例として、限定ではなく、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体を備えることがある。
【００３２】
図３に、本発明の実施形態を実施することができるモバイルデバイスの一例を示す。モバイルデバイス３００は、携帯電話、ＰＤＡ、ページャ、またはワイヤレスネットワークを介して通信することができるその他のデバイスを含む様々な考えられるデバイスとすることができる。
【００３３】
モバイルデバイス３００は、プロセッサ３６０、メモリ３６２、ディスプレイ３２８、周辺デバイスポート３３０、入力デバイス３３２を含む。メモリ３６２は、一般に、揮発性メモリ（ＲＡＭなど）と不揮発性メモリ（ＲＯＭ、フラッシュメモリなど）の両方を含む。モバイルデバイス３００は、マイクロソフトコーポレーション社製のＷｉｎｄｏｗｓ（登録商標）ＣＥオペレーティングシステムや他のオペレーティングシステムといったオペレーティングシステム３６４を含み、これはメモリ３６２にあり、プロセッサ３６０上で実行する。入力デバイス３３２は、（代表的な電話にあるような）プッシュボタン数字ダイヤルパッドや（従来型のキーボードなどの）マルチキーキーボード、またはその他のタイプの入力デバイスとすることができる。ディスプレイ３２８は、液晶ディスプレイ、またはモバイルデバイスで共通に使用される任意の他のタイプのディスプレイとすることができる。ディスプレイ３２８は接触式とすることができ、その場合は、入力デバイスとしても働くであろう。周辺デバイスポート３３０は、追加のメモリカード、ゲームカード、モデムカード、またはその他の周辺デバイスを受け入れるタイプのものとすることができる。
【００３４】
１つまたは複数のアプリケーションプログラム３６６がメモリ３６２にロードされ、オペレーティングシステム３６４上で実行される。アプリケーションプログラムの例には、電話ダイヤラープログラム、インストールウィザードプログラム、電子メールプログラム、スケジューリングプログラム、ＰＩＭ（ｐｅｒｓｏｎａｌ  ｉｎｆｏｒｍａｔｉｏｎ  ｍａｎａｇｅｍｅｎｔ）プログラム、ワードプロセッシングプログラム、スプレッドシートプログラム、インターネットブラウザプログラムなどが含まれる。モバイルデバイス３００は、メモリ３６２内に不揮発性ストレージ３６８も含む。この不揮発性ストレージ３６８を使用して、モバイルデバイス３００の電源が切られても失われるべきでない永続的情報を格納することができる。アプリケーション３６６は、電子メールアプリケーションによって使用される電子メールまたはその他のメッセージ、ＰＩＭによって使用される連絡先情報、スケジューリングプログラムによって使用されるアポイント情報、ワードプロセッシングプログラムによって使用される文書、デバイスドライバプログラムなどの情報を使用し、ストレージ３６８に格納することができる。
【００３５】
モバイルデバイス３００は電源３７０を備え、これは１つまたは複数のバッテリとして実装することができる。電源３７０は、バッテリを補い、または充電するＡＣアダプタや電源ドッキングクレードルなどの外部電源をさらに含むことも可能である。モバイルデバイス３００は、２つのタイプの外部通知機構、ＬＥＤ３４０およびオーディオインターフェース３７４を備えるものとして示されている。これらのデバイスは、アクティブ化されると、プロセッサ３６０およびその他の構成要素がバッテリ電源を節約するためにシャットダウンしたとしても、その通知機構により決定された期間の間オンの状態を保つように、電源３７０に直接結合することができる。ＬＥＤ３４０は、ユーザがデバイスの電源オンの状態を示す措置を講じるまで無期限にオンの状態を保つようにプログラムすることができる。オーディオインターフェース３７４は、ユーザに可聴信号を提供し、ユーザから可聴信号を受け取るのに使用される。例えば、オーディオインターフェース３７４は、電話の通話などを容易にするためなど、可聴出力を提供するためのスピーカに結合し、可聴入力を受け取るためのマイクに結合することができる。
【００３６】
モバイルデバイス３００は、無線周波数通信の送受信機能を行う無線インターフェース層３７２も含む。無線インターフェース層３７２は、通信キャリアまたはサービス提供者経由で、モバイルデバイス３００と外界との間のワイヤレス接続を容易にする。無線インターフェース層３７２との間の伝送は、オペレーティングシステム３６４の制御下で行われる。言い換えると、無線インターフェース層３７２によって受け取られた通信は、オペレーティングシステム３６４経由でアプリケーションプログラム３６６に広めることができ、その逆も同様である。
【００３７】
図４に、本発明の実施形態によるオンデバイスアプリケーションカタログを更新するためのシステムの主要な機能構成要素を示す。この例は、カタログサーバ／アプリケーションサーバ４０５、ネットワークオペレータシステム４１０、およびモバイルデバイス４１５を含んでいる。前述のように、モバイルデバイス４１５は、ワイヤレスネットワーク４２５経由でネットワークオペレータシステム４１０と接続されている。ネットワークオペレータシステム４１０はそれで、モバイルデバイスがカタログサーバ／アプリケーションサーバ４０５と通信することができるインターネット４２０への接続を提供している。
【００３８】
この例では、カタログサーバおよびアプリケーションサーバは複合ユニットとして示されている。前述のように、カタログサーバおよびアプリケーションサーバは、実装形態に応じて１つの物理マシンとすることも複数のマシンとすることもできる。カタログサーバ／アプリケーションサーバ４０５は、アプリケーションカタログデータベース４３５、プッシュサービスモジュール４３０、およびＷｅｂサイトサービスモジュール４４０を含む。アプリケーションカタログデータベース４３５は、前述したように、そのカタログサーバ／アプリケーションサーバ４０５上で現在利用可能なアプリケーションに関連する情報を収容する。例えば、アプリケーションカタログ４３５は、タイトル、作成者、簡単な説明、レビュー、費用、サムネールのスクリーンショットなどの情報を収容することができる。さらに、アプリケーションカタログデータベース４３５には、実行可能ファイルや実行可能ファイルが入っている圧縮ファイルなど、各アプリケーションが入っているファイルを格納することもできる。あるいは、各アプリケーションが入っているファイルは、カタログサーバ／アプリケーションサーバ４０５内の別のデータベース、またはカタログサーバ／アプリケーションサーバ４０５の外部にあるがカタログサーバ／アプリケーションサーバ４０５によってアクセス可能な別のデータベースに格納することもできる。
【００３９】
カタログサーバ／アプリケーションサーバ４０５のＷｅｂサイトサービスモジュール４４０は、アプリケーションカタログデータベース４３５がアクセスすることができるいくつかのＷｅｂページを提供する。すなわち、Ｗｅｂサイトサービスモジュール４４０により提示される１つまたは複数のＷｅｂページを介して、モバイルデバイス、またはインターネット４２０経由でカタログサーバ／アプリケーションサーバ４０５に接続された他のシステムのユーザは、アプリケーションカタログデータベース４３５を用いて他の機能をブラウズしたり、サーチしたり、または実行したりすることができる。例えば、Ｗｅｂサイトサービスモジュール４４０によって提示される１つのＷｅｂページは、アプリケーションカタログデータベース４３５中のアプリケーションについてのカテゴリのリストを提示することができる。別のＷｅｂページは、キーワードを用いたアプリケーションカタログデータベース４３５のサーチを提供することができる。こうしたページの１つまたは全部でさえも、１台または複数のモバイルデバイスにアプリケーションについての情報を送信する「友人に送る」オプションを提供することができる。
【００４０】
カタログサーバ／アプリケーションサーバ４０５のプッシュサービスモジュール４３０は、アプリケーションカタログデータベース４３５からのアプリケーションのダウンロードを開始するために、モバイルデバイス４１５へのプッシュメッセージを生成することができる。前述のように、カタログサーバ／アプリケーションサーバ４０５は、様々なやり方でアプリケーションの要求を受け取ることができる。例えば、この要求は、何らかのイベントの発生に応答して、カタログサーバ自体で自動的に生成することもできる。他の場合には、Ｗｅｂサイトサービスモジュール４４０経由でアプリケーションカタログデータベース４３５にアクセスするモバイルデバイスまたはその他のデバイスから要求を受け取ることもできる。アプリケーションの要求が受け取られると、プッシュサービスモジュール４３０は、要求に基づき、アプリケーションカタログデータベース４３５からの情報が入ったプッシュメッセージを生成する。例えば、このプッシュメッセージは、宛先電話番号、ユーザ名、アドレスおよび／または要求から収集されたその他の情報、ならびにアプリケーションカタログデータベース４３５から収集されたアプリケーションのタイトル、説明、費用、サムネールなどを含むことができる。プッシュサービスモジュールは、プッシュメッセージを生成すると、Ｗｅｂサイトサービスモジュール４４０およびインターネット４２０を介してそのメッセージをネットワークオペレータシステム４１０に送信する。
【００４１】
ネットワークオペレータシステム４１０は、プッシュメッセージを、それが対象とする１台または複数のモバイルデバイス４１５にルートする。例えば、ネットワークオペレータシステム４１０は、プッシュメッセージが宛先指定されているモバイルデバイス４１５を識別し突き止めるためにそのメッセージ中の電話番号またはその他の識別情報を読み取ることができる。次いで、ネットワークオペレータシステム４１０は、プッシュメッセージをワイヤレスネットワーク４２５を介してモバイルデバイス４１５に送信することができる。
【００４２】
モバイルデバイス４１５は、オペレーティングシステム４４５、ブラウザ４６５、アプリケーションカタログ４５０、ボールトモジュール４５５およびサーチモジュール４６０を備える。モバイルデバイス４１５のオペレーティングシステム４４５はプッシュメッセージを受信し、その受信をユーザに通知することができる。例えば、プッシュメッセージを受信すると、オペレーティングシステム４４５は、モバイルデバイス４１５のユーザインターフェース上に新しいアプリケーションが利用可能であるというメッセージを有するウィンドウを開くか、または別の指示を提供することができる。次いで、ユーザは、カタログサーバ／アプリケーションサーバ４０５によりプッシュメッセージに含められたアプリケーションカタログデータベース４３５からの情報を閲覧し、そのアプリケーションを受け入れるか、または拒否することができるようになる。アプリケーションが受け入れられると、オペレーティングシステム４４５は、カタログサーバ／アプリケーションサーバ４０５に連絡を取ることになり、そのアプリケーションをダウンロードまたは「プル」する。ダウンロードが完了すると、オペレーティングシステム４４５は、アプリケーションをインストールし、オンデバイスアプリケーションカタログ４５０を更新することができる。
【００４３】
モバイルデバイス４１５のオペレーティングシステム４４５上で実行されるブラウザ４６５は、モバイルデバイス４１５のユーザが、カタログサーバ／アプリケーションサーバ４０５のＷｅｂサイトサービスモジュール４４０により提供されるＷｅｂページにアクセスできるようにする。ブラウザ４６５を介して、モバイルデバイス４１５のユーザは、アプリケーションカタログデータベース４３５のコンテンツを閲覧し、ダウンロードのためにアプリケーションを選択することができる。前述したように、カタログサーバ／アプリケーションサーバ４０５は、Ｗｅｂサイトサービスモジュール４４０により提示されるＷｅｂページを介して、モバイルデバイス４１５のユーザが「友人に送る」オプションを選択して、プッシュメッセージを異なるモバイルデバイスに送信させるようにすることもできる。このようにして、１台のモバイルデバイスが、異なる１台のモバイルデバイス、または複数のデバイスに対してさえアプリケーションのダウンロードを開始することができる。
【００４４】
モバイルデバイス４１５のボールトモジュール４５５は、モバイルデバイス４１５のユーザが、オンデバイスアプリケーションカタログ４５０から１つまたは複数のアプリケーションを選択してボールトに入れることを可能にする「ボールト」機能を提供する。ボールトを使用して、後でそのアプリケーションを以前の状態に復元するのに使用することができる、ライセンス情報、ハイスコア、ユーザの個人情報といったアプリケーションに関連するデータを格納することができる。一般的に言えば、アプリケーションをボールトに入れることは、オンデバイスアプリケーションカタログ４５０からのアプリケーションを選択すること、ボールト機能を選択すること、アプリケーションに関連する１組の永続的データをボールトフォルダに保存すること、アプリケーションをアンインストールすること、およびアプリケーションを削除することを含む。ボールト機能のさらなる詳細については、以下で図９を参照して説明する。
【００４５】
モバイルデバイス４１５のサーチモジュールは、カタログサーバ／アプリケーションサーバ４０５によってオンデバイスアプリケーションカタログ４５０に提供された情報を利用するサーチ機能を提供する。例えば、カタログサーバ／アプリケーションサーバ４０５は、ゲーム、娯楽、生産性などの利用可能なアプリケーションについてのカテゴリのリストを定期的に生成することができる。こうしたカテゴリに関連する情報は、カタログサーバ／アプリケーションサーバ４０５上のアプリケーションカタログ４３５から収集し、プッシュメッセージに入れて１台または複数のモバイルデバイスに送信することができる。モバイルデバイスは、そのようなコンテンツを自動的に受け入れ、キャッシュするように構成することができる。その場合、モバイルデバイスのユーザは、これらのカテゴリのコンテンツをサーチし、関連するリンクを用いてカタログサーバからアプリケーションをダウンロードすることができる。サーチ機能の詳細については以下で図１１を参照して説明する。
【００４６】
あるいは、カタログサーバ／アプリケーションサーバ４０５のアプリケーションカタログデータベース４３５をブラウズし、アプリケーションを要求するのではなく、モバイルデバイス４１５のユーザは、オンデバイスアプリケーションカタログ４５０をブラウズし、アプリケーションを選択することもできる。次いで、選択されたアプリケーションカタログエントリを、以下で論じるようにオペレーティングシステム４４５によって「友人に送る」、または他のモバイルデバイスに送ることができる。
【００４７】
本発明の様々な実施形態の論理オペレーションは、（１）コンピューティングシステム上で稼働するコンピュータで実施される一連のアクトまたはプログラムモジュールとして、そして／または（２）コンピューティングシステム内の相互接続されたマシンロジック回路または回路モジュールとして実装される。その実装形態は、本発明を実装するコンピューティングシステムの性能要件に依存する選択の問題である。したがって、本明細書に記載した本発明の実施形態を構成する論理オペレーションは、オペレーション、構造上のデバイス、アクト、モジュールなどと様々に呼ばれる。これらのオペレーション、構造上のデバイス、アクトおよびモジュールが、本明細書に添付された特許請求の範囲に記載された本発明の精神および範囲を逸脱することなく、ソフトウェア、ファームウェア、専用デジタルロジック、およびそれらの任意の組合せとして実装され得ることを、当業者なら理解するであろう。
【００４８】
図５は、本発明の実施形態によるオンデバイスアプリケーションカタログの更新を示す流れ図である。この例では、オペレーションは、カタログサーバ／アプリケーションサーバ上での受け取りオペレーション５００で始まる。前述のように、カタログサーバおよびアプリケーションサーバは、別々に実施することもできる。受け取りオペレーション５００では、カタログサーバ上に格納されたアプリケーションカタログで識別されるアプリケーションの要求を受け取る。前述のように、アプリケーションの要求は、様々なやり方で発することができる。例えば、カタログサーバは、何らかのイベントの発生に応答して要求を発することができる。あるいは、この要求は、以下で図８を参照して説明するように、ユーザが「友人に送る」オプションを選択することに応答してもよい。
【００４９】
次に、生成オペレーション５０５では、アプリケーションの要求に基づき、カタログサーバ上に格納されたアプリケーションカタログからのデータが入っているプッシュメッセージを生成する。例えば、このプッシュメッセージは、宛先電話番号、ユーザ名、アドレスおよび／または要求から収集されたその他の情報、ならびにアプリケーションカタログデータベースから収集されたアプリケーションのタイトル、説明、費用、サムネールなどを含むことができる。
【００５０】
次いで、送信オペレーション５１０は、アプリケーションの要求中で指定される１つまたは複数のモバイルデバイスにプッシュメッセージを送る。前述のように、カタログサーバはプッシュメッセージをネットワークオペレータに送り、オペレータがそのメッセージをそこからワイヤレスネットワーク経由で各デバイスに送信する。モバイルデバイスでは、受信オペレーション５１５で、ワイヤレスネットワーク経由でカタログサーバからプッシュメッセージを受信する。
【００５１】
次に、読取りオペレーション５２０では、プッシュメッセージの内容を読み取る。読取りオペレーション５２０の詳細については、以下で図７を参照して論じる。一般的に言えば、読取りオペレーション５２０では、プッシュメッセージに含まれるカタログサーバからのアプリケーションカタログデータを読み取る。
【００５２】
次いで、照会オペレーション５２５は、プッシュメッセージにより示されたアプリケーションを受け入れるべきかどうか決定する。この決定は、モバイルデバイスのユーザに照会することに基づくこともでき、プッシュメッセージの性質に基づいてモバイルデバイスにより自動的に行うこともできる。例えば、そのアプリケーションがそのモバイルデバイスにすでにインストールされているアプリケーションのアップグレードであることをプッシュメッセージが示す場合には、ユーザに照会することなくそのアプリケーションを受け入れるようにモバイルデバイスを構成することができる。別の例では、何らかのコンテンツ、例えば「トップ１０」アプリケーションのリスト、アプリケーションカテゴリのリスト、１組のユーザの好みに基づくアプリケーションのリストなどを事前にキャッシュするようにデバイスを構成することができる。アプリケーションを受け入れるべきでないと決定することに応答して、オペレーションは終了する。
【００５３】
しかしながら、照会オペレーション５２５で、アプリケーションを受け入れるべきであると決定された場合、要求オペレーション５３０で、アプリケーションの要求をカタログサーバに送る。言い換えると、モバイルデバイスは、プッシュメッセージで示されたアプリケーションをプルする。
【００５４】
カタログサーバ／アプリケーションサーバで、モバイルデバイスからプルメッセージを受信すると、アプリケーションサーバはそのアプリケーションを送るか、またはダウンロードする。モバイルデバイスは、受信オペレーション５４０で、カタログサーバからアプリケーションを受信する。
【００５５】
次に、インストールオペレーション５４５で、モバイルデバイスは、ダウンロードしたアプリケーションをインストールする。インストールは、ダウンロードの完了時に自動的に開始することもでき、ユーザコマンドまたはダウンロードの確認応答に応答して行うこともできる。しかしながら、場合によっては、インストールは行われない。例えば、何らかのコンテンツを事前にキャッシュする場合、インストールは、ユーザがそのコンテンツを受け入れるか、または拒否する機会を得るまで延期することができる。次いで、更新オペレーション５５０は、そのアプリケーションがそのモバイルデバイス上で実行のために利用可能であることを示すようにオンデバイスアプリケーションカタログを更新する。
【００５６】
図６は、図５に示す実施形態によるプッシュメッセージの生成を示す流れ図である。これらのオペレーションは、カタログサーバにより、またはモバイルデバイスがオンデバイスアプリケーションカタログを使用することにより行うことができる。ここでは、オペレーションは読取りオペレーション６００で始まる。読取りオペレーション６００は、アプリケーションおよびプッシュメッセージの宛先デバイスを示す要求情報を読み取る。すなわち、アプリケーションの要求は、それがどこでどのように発せられたかにかかわらず、特定のアプリケーションと関連付けることができる。さらに、この要求は、プッシュメッセージを送ることになるモバイルデバイスも示す。例えば、要求が「友人に送る」機能から発せられた場合、以下で説明するように、その要求を出したユーザは、アプリケーションを選択し、宛先情報を提供している。
【００５７】
次いで、読取りオペレーション６０５は、アプリケーションに関連するアプリケーションカタログからのデータを読み取る。すなわち、選択されたアプリケーションに関連するアプリケーションカタログ中のエントリが読み取られる。
【００５８】
次いで、生成オペレーション６１０は、そのプッシュメッセージの宛先デバイスを示すプッシュメッセージヘッダを生成する。前述したように、プッシュメッセージは、多くの異なる形式とすることができる。場合によっては、メッセージのヘッダは、電話番号やアドレスといった、宛先モバイルデバイスの指示を収容する。このデータは、要求からプッシュメッセージに付加されることになる。
【００５９】
次いで、付加オペレーション６１５は、アプリケーションカタログからのデータをプッシュメッセージの本文に付加する。すなわち、要求されたアプリケーションに関連するアプリケーションカタログデータがプッシュメッセージに付加される。アプリケーションカタログデータのすべてが付加されることになることもある。アプリケーションカタログデータの一部だけが付加されることもある。そのような場合、プッシュメッセージを受信するモバイルデバイスは、必要に応じて、後でさらにデータを読み取ることができる。
【００６０】
図７は、図５に示す実施形態によるプッシュメッセージの取り扱いを示す流れ図である。ここでは、オペレーションは、読取りオペレーション７００で始まる。読取りオペレーション７００は、プッシュメッセージに含まれるアプリケーションカタログからの情報を読み取る。すなわち、読取りオペレーション７００は、プッシュメッセージに付加されたカタログサーバまたは別のモバイルデバイスのオンデバイスアプリケーションカタログからのアプリケーションカタログデータを読み取る。
【００６１】
次に、任意選択の通知オペレーション７０５は、プッシュメッセージから読み取られたアプリケーションカタログからの情報を、受け入れのためにモバイルデバイスのユーザに提示する。すなわち、通知オペレーションは、モバイルデバイスのユーザインターフェース上に、新しいアプリケーションが利用可能であるというメッセージを示すウィンドウを開くか、または別の指示を提供することができる。次いで、ユーザは、カタログサーバまたは他のモバイルデバイスによりプッシュメッセージに含められた情報を閲覧できるようになる。あるいは、モバイルデバイスを、通知なしで一部または全部のアプリケーションを受け入れるように構成することもできる。例えば、以前にインストールしたアプリケーションのアップグレードまたは事前にキャッシュされるべき情報は、通知なしで自動的に受け入れることができる。
【００６２】
図８は、本発明の実施形態によるオンデバイスアプリケーションカタログを更新するための「友人に送る」機能を示す流れ図である。これらのオペレーションは、カタログサーバ上のアプリケーションカタログデータベースまたはモバイルデバイス上のオンデバイスアプリケーションカタログからの情報を送るために、カタログサーバまたはモバイルデバイスにより行うことができる。この例では、オペレーションは選択オペレーション８００で始まる。選択オペレーションで８００は、ダウンロードされる選択されたアプリケーションの指示を受け取る。すなわち、カタログサーバまたはユーザのモバイルデバイスのオンデバイスアプリケーションカタログにより提示されたＷｅｂページを閲覧するユーザは、リンクをクリックしたり、チェックボックスにチェックしたり、または他の何らかのタイプの制御を操作したりすることによりアプリケーションカタログからアプリケーションを選択することができる。
【００６３】
次に、選択オペレーション８０５は、「友人に送る」オプションの選択の指示を受け取る。前述したように、アプリケーションカタログをブラウズしたり、サーチしたり、閲覧したりするためにカタログサーバにより提示されたＷｅｂページ、またはモバイルデバイスのユーザインターフェースは、「友人に送る」オプションを選択するためのリンク、ボタン、または他の制御を含むことができる。選択オペレーション８０５は、そのような制御の選択を検出する。
【００６４】
収集オペレーション８１０は、選択されたアプリケーションをダウンロードするための宛先情報を収集する。この収集は、ユーザに宛先に関する情報を照会することにより行うことができる。例えば、電話番号、アドレス、ユーザ名、その他の一意の識別情報など、宛先モバイルデバイスに関連する識別情報は、Ｗｅｂページ上に提示されたフォームを介して、または１つまたは複数のポップアップウィンドウを介して、あるいは別の方式で収集することができる。
【００６５】
次いで、要求／送信オペレーション８１５では、カタログサーバを介してアプリケーションの要求を生成するか、またはモバイルデバイスからプッシュメッセージを生成し、送信する。すなわち、メッセージが生成され、ルーチンが実行され、呼び出しが行われ、または別の方法で、カタログサーバに、アプリケーションの要求が受け取られたことをシグナルする。これは、次に、図５を参照して前述したように、アプリケーションのダウンロードとオンデバイスアプリケーションカタログの更新をトリガすることができる。言い換えると、カタログサーバは、宛先モバイルデバイスへのプッシュメッセージを生成する。カタログサーバではなくモバイルデバイス上で行われた場合、そのモバイルデバイスは、他のモバイルデバイスへのプッシュメッセージを生成し、送信する。
【００６６】
図９は、本発明の実施形態による、オンデバイスアプリケーションカタログ中のアプリケーションを保存するための「ボールト」機能を示す流れ図である。この例では、オペレーションは選択オペレーション９００で始まる。選択オペレーション９００は、オンデバイスアプリケーションカタログからのアプリケーションの選択を受け取る。すなわち、モバイルデバイスのユーザは、オンデバイスアプリケーションカタログから、ボールトに移動する１つまたは複数のアプリケーションを選択する。
【００６７】
次いで、コピーオペレーション９０５は、選択されたアプリケーションからボールトフォルダに永続的情報をコピーする。すなわち、ユーザが保持することを望む可能性のある、ライセンス情報、ゲームのハイスコア、セットアップ情報といったアプリケーションに関連する情報がボールトにコピーされる。ボールトには、カタログサーバ上の元のアプリケーションへのリンクもコピーされる。このリンクは、ユーザがアプリケーションを再インストールしようとする場合にそのアプリケーションをダウンロードするのに後で使用することができる。場合によっては、ボールトフォルダは、オンデバイスアプリケーションカタログの一部とすることもでき、カタログサーバ上のアプリケーションカタログデータベースに置くこともできる。すなわち、選択されたアプリケーションからボールトフォルダに永続的情報をコピーすることは、そのアプリケーションをカタログサーバに送ることを含むことができる。これにより、元のモバイルデバイスが失われるか、または破損した場合に、ボールトからの情報を代替のモバイルデバイスに復元することが可能になる。ボールトフォルダに保存される情報は、アプリケーションごとに構成可能とすることができる。すなわち、アプリケーションは、様々な手段を通じて、保存される情報を識別することができる。あるいは、アプリケーションの現在のファイルおよびキーの比較により、そのアプリケーションが最初にインストールされたときのインストールマニフェストセットと比較して、どのファイルおよびキーが変更されているか判定することができる。そして、変更されたファイルおよびキーがボールトフォルダに保存されるべきものとして識別することができる。
【００６８】
選択された情報がボールトフォルダにコピーされると、アンインストールオペレーション９１０により選択されたアプリケーションをアンインストールし、削除オペレーション９１５によりアプリケーションを削除する。このようにして、オンデバイスアプリケーションカタログから選択されたアプリケーションを、１組の永続的情報を保持しつつ、モバイルデバイスから削除することができる。そして、ユーザがそのアプリケーションを再インストールすることを望んだ場合には、図１０に示すようにオペレーションを継続する。
【００６９】
図１０は、本発明の実施形態による、オンデバイスアプリケーションカタログ中のアプリケーションを復元するためのボールト機能を示す流れ図である。ここで、オペレーションは選択オペレーション１０００で始まる。選択オペレーション１０００は、オンデバイスアプリケーションカタログのボールト部分から削除されたアプリケーションの選択を受け取る。すなわち、アプリケーションは削除されたが、アプリケーションカタログではそれをまだ「利用可能」とリストしておくことができる。あるいは、削除されたアプリケーションを、オンデバイスアプリケーションカタログの残りとは分けてリストしておくこともでき、カタログサーバ上のアプリケーションカタログデータベースの一部としてリストしておくことさえできる。こうしたアプリケーションが厳密にどのようにユーザに提示されるかにかかわらず、ユーザは、再インストールするアプリケーションを選択する。
【００７０】
次いで、ダウンロードオペレーション１００５は、アプリケーションサーバから選択されたアプリケーションをダウンロードする。アプリケーションへのリンクはボールトに保存されているので、モバイルデバイスは、アプリケーションサーバからそのアプリケーションを突き止め、ダウンロードすることができる。
【００７１】
次に、インストールオペレーション１０１０は、アプリケーションサーバからダウンロードされたアプリケーションをインストールし、コピーオペレーション１０１５は、ボールトフォルダからアプリケーションに永続的情報をコピーする。このようにして、アプリケーションは、それが削除される前にあった条件と同じ条件に復元される。
【００７２】
前述したように、カタログサーバは、定期的にまたは何らかのイベントに応答して、１台または複数のモバイルデバイスへのプッシュメッセージを生成し、送信することができる。場合によっては、カタログサーバは、カタログサーバのアプリケーションカタログに格納されたアプリケーションのカテゴリのリストが入ったプッシュメッセージを自動的に生成することができる。このようにして、モバイルデバイス上のオンデバイスアプリケーションカタログに情報を事前にキャッシュしておくことができる。次いで、この事前にキャッシュした情報を都合よく用いて、カタログサーバのアプリケーションカタログに繰り返しアクセスすることなく、サーチまたはブラウズすることができる。事前にキャッシュした情報には、利用可能なアプリケーションのカテゴリのリスト、「トップ１０」リストなどの人気のアプリケーションのリスト、新しいかまたは最近加えられたアプリケーションのリスト、ユーザの過去のダウンロードなどにより決定されるユーザの好みに基づくハイライト表示されたアプリケーションのリストなどが含まれることがある。その場合、この情報を迅速なサーチのために使用することができる。
【００７３】
図１１は、本発明の実施形態によるオンデバイスアプリケーションカタログとの関連で使用するためのサーチ機能を示す流れ図である。ここでは、オペレーションは、照会オペレーション１１０５で始まる。照会オペレーション１１０５は、サーチを、事前にキャッシュしたデータに基づいて行うべきか、それとも１つまたは複数のキーワードによって行うべきかの決定を行う。この決定は、ユーザがメニュー項目を選択するなど、ユーザ入力に基づいて行うことができる。事前にキャッシュしたデータをサーチする決定が行われた場合、サーチオペレーション１１１０により、オンデバイスアプリケーションカタログの事前にキャッシュしたデータをブラウズまたはサーチする。
【００７４】
あるいは、キーワードサーチが選択された場合、オペレーション１１１５〜１１３５でカタログサーバのアプリケーションカタログのサーチが行われる。これらのオペレーションには、ユーザから１つまたは複数のキーワードまたはワードを受け取る入力オペレーション１１１５が含まれる。生成オペレーション１１２０で、キーワードを用いて要求メッセージまたは照会ストリングが生成される。次に、送信オペレーション１１２５で、要求がカタログサーバに送られる。受信オペレーション１１３０では、カタログサーバからサーチ結果を受信し、表示オペレーション１１３５でその結果が表示される。
【００７５】
上述の様々な実施形態は例示として提供されたものにすぎず、本発明を限定するものと解釈すべきではない。本明細書に図示し、説明した例示的実施形態および適用例に従うことなく、添付の特許請求の範囲に記載された本発明の真の趣旨および範囲を逸脱することなく本発明に加えることのできる様々な修正および変更を、当業者なら容易に理解するであろう。
【図面の簡単な説明】
【００７６】
【図１】本発明の実施形態によるモバイルデバイス上でオンデバイスアプリケーションカタログを更新するためのシステムをハイレベルで示す図である。
【図２】本発明の実施形態を実施することができる適当なコンピューティングシステム環境の一例を示す図である。
【図３】本発明の実施形態を実施することができるモバイルデバイスの一例を示す図である。
【図４】本発明の実施形態によるオンデバイスアプリケーションカタログを更新するためのシステムの構成要素を示す図である。
【図５】本発明の実施形態によるオンデバイスアプリケーションカタログの更新を示す流れ図である。
【図６】図５に示す実施形態によるプッシュメッセージの生成を示す流れ図である。
【図７】図５に示す実施形態によるプッシュメッセージの処理を示す流れ図である。
【図８】本発明の実施形態によるオンデバイスアプリケーションカタログを更新するための「友人に送る」機能を示す流れ図である。
【図９】本発明の実施形態によるオンデバイスアプリケーションカタログにアプリケーションを保存するための「ボールト」機能を示す流れ図である。
【図１０】本発明の実施形態によるオンデバイスアプリケーションカタログ中のアプリケーションを復元するためのボールト機能を示す流れ図である。
【図１１】本発明の実施形態によるオンデバイスアプリケーションカタログに関連して使用するためにサーチ機能を示す流れ図である。
【符号の説明】
【００７７】
１００  システム
１０５  カタログサーバ
１０６  アプリケーションサーバ
１１０  インターネット
１１５  ネットワークオペレータシステム
１２０  ユーザシステム
１２５  ワイヤレスネットワーク
１３０  モバイルデバイス
１３５  モバイルデバイス
１４０  モバイルデバイス
１４５  アプリケーションカタログ
１５０  オンデバイスアプリケーションカタログ
２００  システム
２０２  処理装置
２０４  システムメモリ
２０６  基本構成
２０８  リムーバブルストレージ
２１０  非リムーバブルストレージ
２１２  通信接続
２１４  入力デバイス
２１６  出力デバイス
３００  モバイルデバイス
３２８  ディスプレイ
３３０  周辺デバイスポート
３４０  ＬＥＤ
３３２  入力デバイス
３６０  プロセッサ
３６２  メモリ
３６４  オペレーティングシステム
３６６  アプリケーション
３６８  ストレージ
３７０  電源
３７２  無線インターフェースレイヤ
３７４  オーディオインターフェース
４０５  カタログサーバ／アプリケーションサーバ
４１０  ネットワークオペレータシステム
４１５  モバイルデバイス
４２０  インターネット
４２５  ワイヤレスネットワーク
４３０  プッシュサービスモジュール
４３５  アプリケーションカタログデータベース
４４０  Ｗｅｂサイトサービスモジュール
４４５  オペレーティングシステム
４５０  オンデバイスアプリケーションカタログ
４５５  ボールトモジュール
４６０  サーチモジュール
４６５  ブラウザ
【図１】
2005251167.tif 000003
【図２】
2005251167.tif 000004
【図３】
2005251167.tif 000005
【図４】
2005251167.tif 000006
【図５】
2005251167.tif 000007
【図６】
2005251167.tif 000008
【図７】
2005251167.tif 000009
【図８】
2005251167.tif 000010
【図９】
2005251167.tif 000011
【図１０】
2005251167.tif 000012
【図１１】
2005251167.tif 000013
【外国語明細書】
2005251167000001.pdf