(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5784268
(24)【登録日】2015年7月31日
(45)【発行日】2015年9月24日
(54)【発明の名称】無線ネットワークにわたってネットワークが開始するアプリケーションプログラムのアンインストール方法および装置
(51)【国際特許分類】
H04M 11/00 20060101AFI20150907BHJP
【FI】
H04M11/00 301
【請求項の数】8
【外国語出願】
【全頁数】18
(21)【出願番号】特願2009-215828(P2009-215828)
(22)【出願日】2009年9月17日
(62)【分割の表示】特願2002-580165(P2002-580165)の分割
【原出願日】2002年4月2日
(65)【公開番号】特開2010-63109(P2010-63109A)
(43)【公開日】2010年3月18日
【審査請求日】2009年10月19日
【審判番号】不服2013-18936(P2013-18936/J1)
【審判請求日】2013年9月30日
(31)【優先権主張番号】09/825,588
(32)【優先日】2001年4月3日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘
(74)【代理人】
【識別番号】100088683
【弁理士】
【氏名又は名称】中村 誠
(74)【代理人】
【識別番号】100103034
【弁理士】
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100140176
【弁理士】
【氏名又は名称】砂川 克
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100172580
【弁理士】
【氏名又は名称】赤穂 隆雄
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100124394
【弁理士】
【氏名又は名称】佐藤 立志
(74)【代理人】
【識別番号】100112807
【弁理士】
【氏名又は名称】岡田 貴志
(74)【代理人】
【識別番号】100111073
【弁理士】
【氏名又は名称】堀内 美保子
(72)【発明者】
【氏名】マゼン・クメイテッリ
(72)【発明者】
【氏名】ブライアン・ミニア
(72)【発明者】
【氏名】ジェイソン・ケナジー
(72)【発明者】
【氏名】ポール・イー・ジェイコブス
【合議体】
【審判長】
大塚 良平
【審判官】
菅原 道晴
【審判官】
山中 実
(56)【参考文献】
【文献】
国際公開第00/67112(WO,A2)
【文献】
特開平8−106393(JP,A)
【文献】
特開平11−194929(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F9/06,9/44-9/445,9/48-9/50,9/54-11/00,11/36,13/00, H04L12/00-12/26,12/50-12/66, H04M3/00,3/16-3/20,3/38-3/58,7/00-7/16,11/00-11/10, H04W40/34
(57)【特許請求の範囲】
【請求項1】
無線デバイスの組の一部である無線デバイスのサブセット上にインストールされたリコールのターゲットとする特定のアプリケーションをリコールするサーバのための方法であって、前記サーバは、無線ネットワークに接続されたネットワークによって前記無線デバイスの組と通信することができ、前記方法は、
前記組内の各無線デバイス上にインストールされている各アプリケーションを識別するデータベースを前記サーバに接続されたプログラムマネージャに維持することと、
前記データベースをサーチして、前記リコールのターゲットとするアプリケーションを有する前記無線デバイスのサブセットを識別することと、
前記リコールのターゲットとするアプリケーションに対する特有のアプリケーション識別子を含むアプリケーションリコールメッセージを、前記識別されたサブセット内の各無線デバイスへ送ることと
を含み、前記アプリケーションリコールメッセージを受信した各無線デバイスは、前記無線デバイス上でのユーザとの対話を必要とせず、前記無線ネットワークに接続されたネットワークにあるネットワークコンポーネントから、前記リコールのターゲットとするアプリケーションをアンインストールするために必要な情報を検索することによって、前記アプリケーションリコールメッセージに応答する、方法。
【請求項2】
無線ネットワーク上で通信できる無線デバイスであり、アプリケーションを実行することができる前記無線デバイス上のコンピュータプラットフォームを支援するオペレーティングソフトウエアを有する前記無線デバイスのための方法であって、
前記無線ネットワーク上の無線デバイスの組内の各無線デバイス上にインストールされている各アプリケーションを識別するデータベースに基づいて構成された、前記無線デバイスにインストールされたリコールのターゲットとするアプリケーションに対する特有のアプリケーション識別子を含む、前記無線デバイスの組の一部である無線デバイスのサブセットに対するアプリケーションリコールメッセージを、前記無線ネットワーク上のサーバから遠隔で受信することと、
前記遠隔アプリケーションリコールメッセージに応答して、前記無線デバイスのユーザとの対話なしに、前記無線ネットワークに接続されたネットワークにあるネットワークコンポーネントから、前記リコールのターゲットとするアプリケーションをアンインストールするために必要な情報を検索することと
を含む方法。
【請求項3】
無線デバイスの組の一部である無線デバイスのサブセットにおけるリコールのターゲットとする特定のアプリケーションプログラムのアンインストール方法であって、リコールコマンドソースが、無線ネットワーク上で前記無線デバイスの組と通信することができ、前記方法は、
プログラムマネージャにより、前記組内の各無線デバイス上にインストールされている各アプリケーションプログラムを識別するデータベースを維持することと、
前記リコールコマンドソースにより、前記データベースをサーチして、前記リコールのターゲットとするアプリケーションプログラムを有する前記無線デバイスのサブセットを識別することと、
前記リコールコマンドソースにより、前記リコールのターゲットとするアプリケーションプログラムに対する特有のアプリケーション識別子を含むリコールコマンドを、前記識別されたサブセット内の各無線デバイスへ送ることと、
前記無線デバイスにより、前記ネットワークを介して前記リコールコマンドソースから前記リコールコマンドを受信することと、
前記無線デバイスのダウンロードクライアントにより、前記リコールのターゲットとするアプリケーションプログラムを表す前記アプリケーション識別子を決定するために前記リコールコマンドを解釈することと、
前記ダウンロードクライアントにより、その後、前記無線デバイス上にインストールされたリコールプログラムへ前記リコールコマンドを送信することと、
前記リコールコマンドにより、前記リコールプログラムを実行し、前記リコールのターゲットとするアプリケーションプログラムを、前記無線デバイスのユーザとの対話を必要とせず、アンインストールすることと
を含む方法。
【請求項4】
前記無線デバイスにより、前記ターゲットとするアプリケーションプログラムの完了したアンインストールを、前記リコールコマンドソースへ自動的に報告すること、
をさらに含む、請求項3の方法。
【請求項5】
前記無線デバイスにより、前記ターゲットとするアプリケーションプログラムがもはや動作可能でないこと、および/またはアンインストールされていることを、前記無線デバイスのユーザへ自動的に報告すること、
をさらに含む、請求項3の方法。
【請求項6】
無線デバイスにおけるリコールのターゲットとするアプリケーションプログラムのアンインストール方法であって、
前記無線デバイスにより、前記リコールのターゲットとするアプリケーションプログラムをアンインストールするためのリコールコマンドを得るためにネットワークを異なるインターバルでポーリングすることと、
前記無線デバイスにより、前記ネットワークを介してリコールコマンドソースから前記リコールコマンドを受信することであって、前記リコールコマンドソースは、無線ネットワークを備えたネットワークによって無線デバイスの組と通信することができる、受信することと、
プログラムマネージャにより、前記組内の各無線デバイス上にインストールされている各アプリケーションプログラムを識別するデータベースを維持することと、
前記リコールコマンドソースにより、前記無線デバイスからのポーリングに応答して、前記データベースをサーチして、前記リコールのターゲットとするアプリケーションプログラムを有する無線デバイスのサブセットに前記ポーリングをした無線デバイスが含まれていることを決定することと、
前記リコールコマンドソースにより、前記リコールのターゲットとするアプリケーションプログラムに対する特有のアプリケーション識別子を含むリコールコマンドを、前記サブセットに含まれていることが決定された、前記ポーリングをした無線デバイスへ送ることと、
前記無線デバイスのダウンロードクライアントにより、前記リコールのターゲットとするアプリケーションプログラムを表す前記アプリケーション識別子を決定するために前記リコールコマンドを解釈することと、
前記ダウンロードクライアントにより、その後、前記無線デバイス上にインストールされたリコールプログラムへ前記リコールコマンドを送信することと、
前記リコールコマンドにより、前記リコールプログラムを実行し、前記リコールのターゲットとするアプリケーションプログラムを、前記無線デバイスのユーザとの対話を必要とせず、アンインストールすることと
を備える方法。
【請求項7】
前記無線デバイスにより、前記ターゲットとするアプリケーションプログラムの完了したアンインストールを前記リコールコマンドソースへ自動的に報告すること、
をさらに含む、請求項6の方法。
【請求項8】
前記無線デバイスにより、前記ターゲットとするアプリケーションプログラムがもはや動作可能でないこと、および/またはアンインストールされていることを前記無線デバイスのユーザへ自動的に報告すること、
をさらに含む、請求項6の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は無線ネットワークの使用によるプログラムの遠隔メンテナンスおよび消去に関し、特に無線電話機等の遠隔モジュールでネットワークが開始するターゲットとするアプリケーションプログラムの“リコール”またはアンインストールに関する。
【背景技術】
【0002】
無線ネットワークでの通信に通常使用される無線電話機はパーソナルコンピュータおよびハンドヘルドパーソナルデジタルアシスタント(“PDA”)と同じ利点をユーザに与える装置に発展している。この電話機からコンピュータへの変化はアプリケーションプログラミングインターフェース(“API”)を無線電話機へ製造業者がインストールすることにより実現されている。ソフトウェアディベロッパは特別なソフトウェアディベロッパキットを使用して、APIを有する無線電話機と競合するように特別に設計された書込みプログラムである。
【0003】
APIは無線電話機を使用して無線電話機のユーザが種々のプログラムをダウンロードし動作することを可能にする。結果として、無線電話機のユーザはユーザが有用さと快楽さを感じられるプログラムで無線電話機をカスタマイズすることが予想される。例えばユーザはゲームを行い、読書し、株の最新情報および他のニュース情報または無線電話機のユーザが所望するその他のタイプの情報またはプログラムを得るために無線電話機を使用する。
【0004】
プログラムは無線電話機が購入されたとき予めロードされているか、ユーザが付加的なプログラムを無線でダウンロードされるように後にリクエストすることも予想される。無線電話機のユーザはまた必要なときまたは所望のときに無線電話機からプログラムを消去してもよい。
【0005】
しかしながら、伝統的なパーソナルコンピュータと異なって、無線電話機は多数の他の人々が通信に使用する無線ネットワークで通信および動作する。無線ネットワークが故障または飽和されたならば、人々は伝統的で重要な基本的な通信機能のために無線電話機を使用できなくなる。
【0006】
無線電話機にダウンロードされた故障したプログラムは無線ネットワークを飽和し、ネットワークを故障させ、または無線電話機のユーザへ安全面の危険性さえも与える。例えば故障したプログラムはメッセージを無線電話機へ放送する基地局を含んだ無線ネットワーク部分全体の性能に妨害を与え、またはそれを停止さえする。故障したプログラムはまた無線電話機にネットワークを飽和させ、911呼等の高い優先順位の呼のルーティングを阻止させる。また故障プログラムが無線電話機に通常の安全範囲外の無線周波数を放射させるならば安全面の問題がある。
【発明の概要】
【0007】
一般的に、本発明は無線電話機等の遠隔モジュールにおけるネットワークが開始する1以上のプログラムのアンインストール(または“リコール”)に関する。リコールは無線ネットワークで実行される。
【0008】
無線電話機にダウンロードされた1以上のプログラムのリコールを命令する状態が生じる。リコールは、特定のプログラムの性能に対するカスタマの不満足と、プログラムおよび/または無線ネットワークに誤作動させるか動作を中止させるプログラムにリンクされている無線ネットワークに影響する問題のパターンの検出に応答して必要とされる。
【0009】
これらの状態に応答して、問題の進行および/または発生に関与する1人以上または1以上のエンティティ、無線電話の製造業者(無線電話機のネットワークプロバイダまたは“キャリア”等)(集合的または単独で“リコールコマンドソース”と呼ぶ)はリコールが必要であるか否かを決定する。リコールされる各プログラム(“ターゲットとするアプリケーションプログラム”)に対しては、リコールコマンドソースはリコールコマンドを構成する。
【0010】
リコールコマンドは最低でも、ターゲットとするアプリケーションプログラムに対する特有のアプリケーション識別子と、ターゲットとするアプリケーションプログラムをアンインストールするための無線電話機への命令とを含んでいる。プログラムマネージャにより維持されるデータベースは無線電話機にダウンロードされた各プログラムに対するアプリケーション識別子を追跡し、それらにダウンロードされたターゲットとするアプリケーションプログラムを有する無線電話機の追跡も維持する。
【0011】
リコールコマンドソースはリコールコマンドを構成し、それを無線ネットワークへ送信する。無線ネットワークの基地局はリコールコマンドを無線電話機へ放送する。リコールコマンドを受信したとき、無線電話機はターゲットとするアプリケーションプログラムをアンインストールするプロセスを自動的に開始する。
【0012】
その代わりに、リコールコマンドソースはより限定されたリコールメッセージを無線電話機へ送信してもよい。リコールメッセージはターゲットとするアプリケーションプログラムのアンインストールに必要な情報を得るため、リコールコマンドソースまたは無線ネットワークの別のコンポーネントへメッセージを送信するように無線電話機に命令する。
【0013】
本発明の別の特徴は無線電話機により開始されるリコールプロセスを含んでいる。この実施形態では、無線電話機は無線ネットワーク上でメッセージをリコールコマンドソースへ周期的に送信するようにプログラムされている。リコールコマンドソースは無線電話機によりコンタクトされるとき、アンインストールが必要とされる任意のアプリケーションのためにリコールコマンドを無線電話機へ送信する。その代わりに、リコールコマンドはターゲットとするアプリケーションプログラムのアンインストールに必要な情報を得るために無線ネットワークの別のコンポーネントとコンタクトするように無線電話機に命令する。
【0014】
したがって、本発明の1実施形態は、無線電話機に存在する1以上のターゲットとするアプリケーションプログラムをアンインストールする異なる方法を含んでいる。リコールコマンドソースは遠隔的にリコールコマンドを発生し、それに応答して無線電話機は自動的にターゲットとするアプリケーションプログラムをアンインストールする。その代わりに、無線電話機は任意のリコールコマンドに対するリコールコマンドソースへ周期的にメッセージを送信し、それに応答して無線電話機は自動的にターゲットとするアプリケーションプログラムをアンインストールする。
【0015】
別の実施形態では、本発明はネットワークが開始するリコールコマンドに応答してターゲットとするアプリケーションプログラムを自動的にアンインストールするように構成およびプログラムされた無線電話機のような装置を含んでいる。その代わりに、無線電話機は任意のリコールコマンドを得るために周期的にメッセージを送信するように構成およびプログラムされており、それに応答して無線電話機もターゲットとするアプリケーションプログラムを自動的にアンインストールするように構成およびプログラムされている。
【0016】
本発明は多くの明白な利点を与える。特に、本発明はネットワークが開始するアンインストールにより、無線電話機にダウンロードされた故障または有害なアプリケーションプログラムを制御するための機構を提供する。重要なことに、プロセスは無線電話機のユーザではなく、無線ネットワークを動作する人またはエンティティ或いは無線電話機自体により開始され、制御されることである。プログラムマネージャはターゲットとするアプリケーションプログラムを有する無線電話機を識別し、リコールプロセスはこれらの無線電話機を特にターゲットとする。この特徴はリコールプロセスにおける高い均一性、速度、正確性を確実にする。本発明はまた以下の本発明の説明から明白になる多数のその他の利点および効果を与える。
【図面の簡単な説明】
【0017】
【
図1】本発明にしたがったリコールプログラムが存在するハードウェアコンピュータおよび無線電話機の相互接続のブロック図。
【
図2】本発明にしたがったプログラムマネージャと無線電話機を含んでいる異なるコンポーネント間で通信を行う例示的な無線ネットワークのハードウェアコンポーネントのブロック図。
【
図3】本発明にしたがったプログラムマネージャデータベースにプログラムマネージャにより維持されるデータと、本発明にしたがってアプリケーションプログラムのローカルデータベースに無線電話機により維持されるデータとのテーブルを示す図。
【
図4】本発明にしたがってリコールプログラムが存在する無線電話機を構成するための動作シーケンスのフローチャート。
【
図5】本発明にしたがって無線ネットワークによってネットワークが開始するリコールコマンドを送信する動作シーケンスのフローチャート。
【
図6】本発明にしたがって無線電話機にターゲットとするアプリケーションプログラムをアンインストールするため無線電話機により実行される動作シーケンスのフローチャート。
【0018】
本発明の特徴、目的、利点は、添付図面を伴って以下の詳細な説明を考慮した後に、当業者にさらに明白になるであろう。前述したように、本発明は無線電話機等の遠隔モジュールにおける1以上のターゲットとするアプリケーションプログラムのネットワークが開始するアンインストールに関する。
【0019】
[ハードウェアコンポーネントおよび相互接続部]
無線電話機
図1を参照すると、本発明は無線電話機100の文脈で示されている。無線電話機100は任意の目的とする限定なしに1例として使用されている。本発明はその代わりに、パーソナルデジタルアシスタント(“PDA”)、無線モデム、PCMCIAカード、アクセス端末、パーソナルコンピュータ、アクセス端末、ディスプレイまたはキーボードなしの電話機、または任意の組合わせ或いはその補助的な組合わせを含んでいるがそれらに限定されない任意の形態の遠隔モジュールで実行されてもよい。これらの例の遠隔モジュールはまたキーパッド、可視ディスプレイまたは音響ディスプレイ等のユーザインターフェースを有していてもよい。
【0020】
図1に示されている例示的な無線電話機100はマイクロプロセッサ、論理回路、ディスクリートな回路素子のアセンブリ、特定用途向け集積回路(ASIC)または他のデータ処理エンティティを含んでいる。
図1の例では、この処理エンティティは無線電話機100の製造時にインストールされるASIC102として構成される。ASICはその中に含まれるソフトウェアにより駆動されるハードウェアコンポーネントである。この処理回路はまたAPI104により示されているようなAPIも含んでおり、これは製造時に無線電話機100にインストールされる。API104はASICと相互動作し、ASICハードウェアで作動するように構成されているソフトウェア層である。API104はASIC102ハードウェアと無線電話機100にインストールされたアプリケーションプログラム108(以下説明する)との間のインターフェースとして動作する。その代わりに、無線電話機100はそのハードウェア構造と調和する方法でプログラムが動作されることを可能にする任意の他の形態の回路を含んでいる。無線電話機100はまた記憶装置106を含んでいる。記憶装置106はRAMとROMを具備するが、代わりにEPROM、EEPROMまたはフラッシュカード挿入等の任意の形態のメモリであってもよい。
【0021】
図1を参照すると、無線電話機100の製造業者(図示せず)は無線電話機100の製造時にアプリケーションプログラム108を無線電話100の記憶装置106へダウンロードする。これらのアプリケーションプログラム108はゲーム、本または任意の他のタイプのデータまたはソフトウェアプログラムを含んでいる。アプリケーションプログラム108は無線電話機100の製造後、無線で無線電話機100へダウンロードされてもよい。
【0022】
製造業者はまた無線電話機100の製造時に無線電話機100の記憶装置106へリコールプログラム110をダウンロードする。リコールプログラム110はまた無線電話機100の製造後に無線でインストールされてもよい。
【0023】
以下さらに詳細に説明するように、リコールプログラム110は無線電話機100により実行されるとき、無線電話機100に記憶された1以上のターゲットとするアプリケーションプログラム109をアンインストールする。ターゲットとするアプリケーションプログラム109は以下説明する種々の理由で無線電話機100からアンインストールされることを必要とされるアプリケーションプログラム108である。リコールプログラム110はターゲットアプリケーションプログラム109をディスエーブルするか異なって動作するようにそれを再プログラムするように付加的にまたは代わりにプログラムされてもよい。
【0024】
以下説明する別の実施形態では、無線電話機100はターゲットとするアプリケーションプログラム109をリコールするための任意の命令で(
図2と関連して説明する)リコールコマンドソース222を定期的にポールするようにプログラムされている。この実施形態では、リコールポーリングプログラム111は無線電話機100の製造時に無線電話機100の記憶装置106へダウンロードされる。リコールポーリングプログラム111は異なるインターバルで自己実行するソフトウェアである。リコールポーリングプログラム111は無線電話機100がユーザによりオンに切換えられる毎に、および/または無線電話機100がユーザにより動作されている間の周期的な時間インターバルで、および/または(予め定められた日または時刻等)プログラムにより予め決定された時間に自動的に実行する。
【0025】
無線電話機100はまた製造業者によりインストールされたローカルデータベース112も含んでいる。ローカルデータベース112のサンプル内容は
図3のbに示されている。ローカルデータベース112は最低でも無線電話機100に記憶されている各アプリケーションプログラム108に特有のアプリケーション識別子302の記録を含んでいる。さらに、ローカルデータベース112は無線電話機100の記憶装置106内のアプリケーションプログラム108の位置314の記録と、無線電話機100にダウンロードされたアプリケーションプログラム108の追跡とそれらが位置する場所の追跡に有効な他の情報を含んでいる。
【0026】
ローカルデータベース112に維持されているアプリケーションプログラム108のアプリケーション識別子302はプログラムマネージャデータベース204(
図2で以下説明する)に維持されているアプリケーションプログラム108に対する同一のアプリケーション識別子302に対応する。例えば、“RACE CAR 104Z”に対するプログラムマネージャデータベース204に維持されているアプリケーションプログラム108のアプリケーション識別子302は無線電話機100のローカルデータベース112上のそのアプリケーションプログラム108のアプリケーション識別子302に同一である。
【0027】
無線電話機100はさらにダウンロードクライアント114を含んでいる。ダウンロードクライアント114はAPI104内のソフトウェアプログラムであり、無線で無線電話機100へダウンロードされるとき各アプリケーションプログラム108が記憶されている場所を指示する。ダウンロードクライアント114はまた各アプリケーションプログラム108が無線電話機100の記憶装置106内に記憶されている場所の記録を維持する。
【0028】
ネットワーク
図2はネットワークが開始するリコールコマンド216がターゲットとするアプリケーションプログラム109を伝送する無線電話機100へ放送されるネットワーク200の1例を示している。ネットワーク200は種々の方法でリンクされている種々のコンポーネントを含んでいる。以下説明するネットワーク200は単なる例示である。本発明の目的に対しては、ネットワーク200は任意のシステムを含んでおり、それによって無線電話機100等の遠隔モジュールは相互間および/または無線ネットワークキャリアおよび/またはサーバを含む無線ネットワークのコンポーネント間で無線で通信するが、それらの例に限定されない。
【0029】
図2を参照すると、ネットワーク200はプログラムマネージャ202を1端部に含んでいる。プログラムマネージャ202はAPI104を開発し、それを無線電話機203にインストールするために無線電話機203の製造業者へ提供する任意のエンティティである。プログラムマネージャ202はまたアプリケーションプログラム108が無線電話機203にインストールされるAPI104に適合できるものとして証明するエンティティである。
【0030】
プログラムマネージャ202はプログラムマネージャデータベース204を維持する。プログラムマネージャデータベース204のサンプル内容が
図3のaに示されている。プログラムマネージャデータベース204は最低でも、任意の時にネットワーク200の各無線電話機203へダウンロードされる各アプリケーションプログラム108を表しているアプリケーション識別子302と、アプリケーションプログラム108をダウンロードした個人を表している電子サービス番号(“ESN”)304と、アプリケーションプログラム108を伝送する無線電話機203に特有の移動体識別番号(“MIN”)306を含んでいる。随意的に、プログラムマネージャデータベース204は無線電話機モデル308、無線ネットワークキャリア310、無線電話機が使用される地域312、どの無線電話機203がどのアプリケーションプログラム108を有するかを識別するのに有効な任意のその他の情報の記録を含んでいる。
【0031】
プログラムマネージャ202はまたリコールコマンドソース222を含んでいる。リコールコマンドソース222は1以上のターゲットとするアプリケーションプログラム109をリコールする決定を行う人またはエンティティである。リコールコマンドソース222はまたターゲットとするアプリケーションプログラム109を有する識別された無線電話機100へ放送されるリコールコマンド216(以下説明する)を構成するエンティティでもある。その代わりに、限定ではないが、リコールコマンドソース222はターゲットとするアプリケーションプログラム109の進行および発生に関係する1人以上の人またはエンティティ、無線電話機203の製造に関係する人またはエンティティ、またはネットワーク200の任意の部分の機能に関係する人またはエンティティ、および/またはネットワーク200の任意のコンポーネントに関係する人またはエンティティであってもよい。
【0032】
プログラムマネージャ202は(好ましくは秘密保護された)インターネット208によってネットワークにより1以上のコンピュータサーバ206と通信する。サーバ206はまたインターネット208によってネットワークによりキャリアネットワーク210とも通信する。キャリアネットワーク210はメッセージングサービス制御装置(“MSC”)212へ送信されるメッセージを制御する。キャリアネットワーク210はインターネットとPOTS(plain ordinary telephone system )(集合的に
図2では211 で示されている)の両者によりMSC212と通信する。キャリアネットワーク210とMSC212との間のインターネット接続211はデータを転送し、POTS211はビデオ情報を転送する。MSC212は多数の基地局(“BTS”)214に接続されている。MSC212は(データ転送のために)インターネット211(音声情報のために)とPOTS211の両者によりBTSへ接続されている。BTS214は短いメッセージングサービス(“SMS”)または任意の他の無線方法によって無線電話機203へ無線でメッセージを放送する。
【0033】
本発明におけるBTS214によるメッセージ放送の1例はリコールコマンド216である。ここでさらに説明するように、ターゲットとするアプリケーションプログラム109を伝送する無線電話機100はリコールコマンド216の受信に応答して、無線電話機100中に記憶されたプログラム109をアンインストールすることにより応答する。リコールコマンド216は(ターゲットとするアプリケーションプログラム109のリコールを開始する決定を行う同じ人またはエンティティであってもよくそうではなくてもよい)リコールコマンドソース222により構成される。リコールコマンド216はターゲットとするアプリケーションプログラム109を有する無線電話機100へ放送されるようにネットワーク200によってリコールコマンドソース222により送信される。
【0034】
BTS214により放送されるメッセージの別の例はリコールメッセージ218である。ここでさらに説明するように、リコールメッセージ218はターゲットとするアプリケーションプログラム109を伝送する無線電話機100へリコールコマンドソース222によりネットワーク200によって送信されるメッセージである。リコールメッセージ218に応答して、無線電話機100はリコールコマンドソース222と自動的に通信する。リコールコマンドソース222は無線電話機100に最低でもターゲットとするアプリケーションプログラム109のアイデンティティと、ターゲットとするアプリケーションプログラム109をアンインストールするための命令とを送信する。この情報の受信に応答して、無線電話機100はターゲットとするアプリケーションプログラム109をアンインストールする。その代わりに、リコールコマンドソース222はサーバ206を含むがそれに限定されないネットワーク200の別のコンポーネントからターゲットとするアプリケーションプログラム109のアイデンティティを検索するための無線電話機100の命令を送信する。
【0035】
図2で示されているように、ネットワーク200はそれぞれBTS214を介して種々の他のネットワークコンポーネント200と無線で通信できる多数の無線電話機203を含んでいる。本発明では、識別された無線電話機100は無線電話機203自体以外のネットワーク200の部分により開始されるリコールコマンド216またはリコールメッセージ218の使用によりリコールされるターゲットとするアプリケーションプログラム109を含んでいる。しかしながら、別の実施形態では、リコールプロセスはリコールポーリングプログラム111を有する無線電話機224により開始される。リコールを行うためのこの代わりの方法を以下説明する。
【0036】
[動作]
前述の種々のハードウェアの実施形態に加えて、本発明の異なる特徴はリコールプログアム110が位置する無線電話機100を構成する方法と、無線電話機100に存在する1以上のターゲットとするアプリケーションプログラム109のリコールを遠隔的に開始する方法に関する。
【0037】
無線電話機の構成、構造、使用
図4はリコールプログラム110が存在する無線電話機100の構成、構造、使用の1例を示すシーケンス400を示している。発明を限定するものではないが、説明を簡単にするために、
図4の例を前述したハードウェア環境の文脈で説明する。
【0038】
ステップ402で、無線電話機100は製造業者により構成される。ステップ404で、製造業者はリコールプログラム110を無線電話機100の記憶装置106へダウンロードする。ステップ404で、製造業者はまた1以上のアプリケーションプログラム108を無線電話機100へダウンロードする。
【0039】
ステップ406で、プログラムマネージャ202は製造された各無線電話機100へダウンロードされる各アプリケーションプログラム108を表すアプリケーション識別子302の記録を含んでいる。この情報は製造業者から直接来る。
【0040】
ステップ408で、無線電話機100は1以上のアプリケーションプログラム108のダウンロードを無線で受信する。アプリケーションプログラム108はプログラムマネージャ202により証明され、実際のプログラムはキャリアネットワーク210に維持される(しかし無線電話機100に放送されるようにBTS214へアプリケーションプログラム108を送信できるネットワーク200の任意の位置に維持されてもよい)。無線電話機100のユーザは所望のアプリケーションプログラム108を選択するためにネットワーク200によってサーバ206と通信するように無線電話機100を動作する。応答して、キャリアネットワーク210はアプリケーションプログラム108を無線電話機100へ放送するBTS214へ転送されるようにアプリケーションプログラム108をMSC212へ送信する。
【0041】
アプリケーションプログラム108を受信する無線電話機100に応答して、無線電話機100のダウンロードクライアント114はアプリケーションプログラム108をそれが記憶されている無線電話機100の記憶装置106内の特定の位置へ誘導する。
【0042】
またステップ408で、サーバ206またはキャリアネットワーク210は無線電話機100にダウンロードされているアプリケーションプログラム108に特有のアプリケーション識別子302をプログラムマネージャ202へ通信する。プログラムマネージャ202は無線電話機100にダウンロードされている付加的なアプリケーションプログラム108を表すアプリケーション識別子302の記録(ステップ406)によってプログラムマネージャデータベース204を更新する。
【0043】
ステップ409で、無線電話機100は無線電話機100にダウンロードされているアプリケーションプログラム108に特有のアプリケーション識別子302の記録を含むようにそのローカルデータベース112を更新する。したがって、ローカルデータベース112の無線電話機100に維持されているアプリケーション識別子302の記録はプログラムマネージャデータベース204中の無線電話機100に維持されているアプリケーション識別子302の記録と同一である。
【0044】
ステップ410で、無線電話機100はそこに記憶されているアプリケーションプログラム108と通信し、および/またはそれを動作するように動作される。例えば無線電話機100はテトリスのゲームを行うように動作され、それに後続して電話呼が開始する。
【0045】
ステップ412で、無線電話機100はさらにまたはより少数のアプリケーションプログラム108を記憶するように再構成されてもよい。無線電話機100がアプリケーションプログラム108を付加するように動作されるならば、ステップ408と、ステップ406のアプリケーション識別子302の更新が反復される。
【0046】
反対に、ステップ414で無線電話機100が1以上のアプリケーションプログラム108を消去するように動作される場合には、無線電話機100は消去されるアプリケーションプログラム108の位置を突止めるようにダウンロードクライアント114に命令し、アプリケーションプログラム108をアンインストールする。アプリケーションプログラム108の消去後、無線電話機100は消去されたアプリケーションプログラム108を表すアプリケーション識別子302の記録を消去するようにそのローカルデータベース112を自動的に更新する。無線電話機100はまたプログラムマネージャ202に消去されたアプリケーションプログラム108を通知するメッセージをプログラムマネージャ202へネットワーク200によって自動的に送信する。応答して、プログラムマネージャ202はプログラムマネージャデータベース204(ステップ406)に維持されている無線電話機100に対応するアプリケーション識別子302の記録を更新する。
【0047】
ステップ416で、無線電話機100からアプリケーションプログラム108を消去するための無線電話機100のユーザ動作と反対に、リコールコマンドソース222は1以上のアプリケーションプログラム108をリコールすることを決定する。ステップ418で、リコールコマンドソース222は以下説明するようにリコールプロセスを開始し、シーケンス400は終了する。
【0048】
リコールコマンド
図5はリコールコマンド216を構成し、アンインストールまたはディスエーブルされることを必要とするターゲットとするアプリケーションプログラム109を有するとして識別された無線電話機100へ放送されるように無線ネットワークによってリコールコマンド216を送信するリコールコマンドソース222の1例を示すためのシーケンス500を示している。限定を意図するものではないが、説明を容易にするために、
図5の例を
図1乃至3のハードウェア環境の文脈で説明する。
【0049】
ステップ502で、リコールコマンドソース222は基準が1以上のターゲットとするアプリケーションプログラム109のリコールに合致されているか否かを決定する。リコールコマンドソース222は、ネットワーク200の無線電話機100が正確に動作していないか、および/またはユーザがターゲットとするアプリケーションプログラム109を動作しているときに壊れているようないくつかの状態下においてネットワーク200の任意の部分からの通知、ターゲットとするアプリケーションプログラム109のエラーを通知するためにネットワーク200の任意の部分とコンタクトしているターゲットとするアプリケーションプログラム109のディベロッパ、ターゲットアプリケーションプログラム109について不平を有するネットワーク200の任意の部分とコンタクトする無線電話機のユーザ、ターゲットとするアプリケーションプログラム109と無線電話機の他のアプリケーションプログラム108との間の相互動作についての問題の統計的なフィードバックを受信するネットワーク200の任意の部分、ターゲットとするアプリケーションプログラム109中にソフトウェアウイルスを発見、および/またはターゲットアプリケーションプログラム109の動作が安全面の危険性をもつようにターゲットとするアプリケーションプログラム109のユーザの動作が無線電話機100から放射される無線周波数の量を増加することの発見等の状態下でリコールを開始する。
【0050】
ステップ502で、リコールコマンドソース222により行われるリコールの実際の決定は個人、組織により行われてもよく、例えば無線電話機100またはネットワーク200の他の部分からの統計的なフィードバックから電子的に決定される。リコールの範囲は問題の特性と、問題により影響を受ける無線電話機100の数に依存している。例えばリコールはネットワーク200の全ての無線電話機203、特定の地理区域の全ての無線電話機100、特別な無線電話機100のモデル、ESN304の範囲、または単一の無線電話機100にわたる範囲である。
【0051】
ステップ504で、リコールコマンドソース222は(この情報がリコールコマンドソース222にまだ利用可能ではないと仮定すると)ターゲットとするアプリケーションプログラム109を表す特別なアプリケーション識別子302を得るためにプログラムマネージャ202とコンタクトする。ステップ506で、プログラムマネージャ202はネットワーク200の各無線電話機100に記憶されている各アプリケーションプログラム108を表しているアプリケーション識別子302を維持するプログラムマネージャデータベース204を捜査する。ターゲットとするアプリケーションプログラム109のアプリケーション識別子302についてプログラムマネージャデータベース204の検索により、プログラムマネージャ202はターゲットとするアプリケーションプログラム109を含んでいるネットワーク200の無線電話機100を正確に決定し、この情報はコマンドソース222をリコールするためプログラムマネージャ202により通信される。
【0052】
ステップ508で、リコールコマンドソース222はリコールコマンド216を構成する。リコールコマンド216は最低でもターゲットとするアプリケーションプログラム109を表すアプリケーション識別子302と、ターゲットとするアプリケーションプログラム109をアンインストールするための無線電話機100への命令とを含んでいる。リコールコマンド216はSMSとして書かれるが、プログラムマネージャ202からBTS214へ送信される任意のフォーマットでもよく、無線電話機100へ無線で放送される。代わりに、リコールコマンドソース222はリコールコマンド216を構成するのに必要な情報をネットワーク200によってBTS214へ送信し、それによりBTS214はリコールコマンド216を構成する。
【0053】
ステップ510で、リコールコマンド216が構成されBTS214に送信された後、BTS214はリコールコマンド216を識別された無線電話機100へ放送する。放送するための命令はリコールコマンド216の一部として含まれるか、別々にBTS214でプログラムされる。BTSはAMPS、PCS、GSMまたはCDMAを含む任意のセルラインターフェースでリコールコマンド216を放送する。
【0054】
ステップ512で、無線電話機100はリコールコマンド216を受信し、それに応答して無線電話機100は以下説明するようにターゲットとするアプリケーションプログラム109を自動的にアンインストールする。
【0055】
リコールメッセージ
ターゲットとするアプリケーションプログラム109をアンインストールするために無線電話機100により必要とされる全ての情報を含んだリコールコマンド216をリコールコマンドソース222が構成する代わりに、リコールコマンドソース222はさらに限定されたリコールメッセージ218を構成して、放送させることもできる。リコールメッセージ218はリコールコマンドソース222との通信を自動的に開始するように無線電話機100に命令する無線電話機100へのメッセージである。これらの通信は無線電話機100のユーザに対して透明である。リコールコマンドソース222は無線電話機100にアンインストールされるターゲットとするアプリケーションプログラム109を識別するのに十分な情報と、ターゲットとするアプリケーションプログラム109をアンインストールするための命令とを提供する。リコールコマンドソース222はまたターゲットとするアプリケーションプログラム109をアンインストールするのに必要なリコールプログラム110を無線電話機100へ与える。ターゲットとするアプリケーションプログラム109(および代わりにリコールプログラム110)のアイデンティティの受信に応答して、無線電話機100は以下説明する方法でターゲットとするアプリケーションプログラム109をアンインストールする。
【0056】
代わりに、リコールコマンドソース222はサーバ206を含むがそれに限定されないネットワーク200の別のコンポーネントからターゲットとするアプリケーションプログラム109をアンインストールするのに必要な情報を検索するための命令を含んだリコールメッセージ218を無線電話機100に送信する。無線電話機100のユーザに透明であるこのリコールメッセージ218に応答して、無線電話機100はターゲットとするアプリケーションプログラム109のアイデンティティと、ターゲットとするアプリケーションプログラム109をアンインストールするための命令と、その代わりにリコールプログラム110をネットワーク200の別のコンポーネントから得る。
【0057】
リコールコマンドのポーリング
リコールコマンドソース222により開始されるリコールプロセスの代りとして、別の実施形態ではリコールプロセスは無線電話機224自体により開始される。この実施形態では無線電話機224は電話機224にダウンロードされたリコールポーリングプログラム111を有する。無線電話機224はそれがターゲットとするアプリケーションプログラム109をアンインストールするための任意の命令をチェックするように異なるインターバルでリコールポーリングプログラム111を自動的に実行する。
【0058】
実行するとき、リコールポーリングプログラム111は任意の無線手段によって無線電話機224にリコールコマンドソース222へメッセージを自動的に送信させる。リコールコマンドソース222は1以上のターゲットとするアプリケーションプログラム109をリコールする決定を行う人、エンティティまたはネットワーク200のコンポーネントである。その代わりに、限定ではないが、リコールコマンドソース222は、ターゲットとするアプリケーションプログラム109の開発および発生に関係する1人以上の人またはエンティティ、無線電話機203の製造に関係する人またはエンティティ、ネットワーク200の任意のコンポーネントの機能および/またはネットワーク200の任意のコンポーネントに関係する人またはエンティティである。
【0059】
無線電話機224によりリコールコマンドソース222へ送信されるポーリングメッセージは、リコールコマンドソース222が任意のターゲットとするアプリケーションプログラム109をアンインストールするように無線電話機224へリコールコマンド216を送信することをリクエストする。リコールコマンド216の“ポーリング”は種々の方法で行われることができる。例えば無線電話機224により送信されるポーリングメッセージは、リコールコマンドソース222が特定の無線電話機224にダウンロードされているアプリケーションプログラム108を決定するために十分な無線電話機224についての識別情報を含んでいる。リコールコマンドソース222はネットワーク200で各無線電話機203にダウンロードされている各アプリケーションプログラム108についての情報を含んだプログラムマネージャデータベース204を参照することによりこの決定を行う。リコールコマンドソース222がその特定の無線電話機224にダウンロードされているアプリケーションプログラム108と、ターゲットとするアプリケーションプログラム109との間に一致が存在することを決定した場合には、リコールコマンドソース222はリコールコマンド216を送信するように進行する。一致が存在しないならば、リコールコマンドソース222はリコールコマンド216を送信しない。
【0060】
反対に、リコールコマンドソース222は無線電話機224からのポーリングメッセージの受信に応答して、任意の既存のリコールコマンド216を無線電話機224へ自動的に送信する。無線電話機224はリコールコマンド216を受信したとき、ターゲットとするアプリケーションプログラム109が無線電話機224に存在するか否かを決定する。イエスならば、無線電話機224はターゲットとするアプリケーションプログラム109をアンインストールするように進行する。
【0061】
先の実施形態に関しては、ポーリングメッセージに応答して送信されたリコールコマンド216は最低でも、ターゲットとするアプリケーションプログラム109を表すアプリケーション識別子302と、そのプログラムをアンインストールするための無線電話機224への命令を含んでいる。代わりにリコールコマンド216はリコールを完成するのに必要な情報を得るために(サーバ206等の)ネットワーク200の別のコンポーネントへメッセージを送信するように無線電話機224へ命令する。別の構成として、リコールコマンド216の短縮したバージョンが実行され、ここではリコールコマンド216はアンインストールされる必要のある任意のアプリケーションプログラム108のアイデンティティを表す情報を含んでおり、リコールコマンドソース222中にリコールコマンドが存在することは単に電話機がコマンドを実行するための示唆された命令としての役目を行う。
【0062】
ターゲットとするアプリケーションプログラムのアンインストール
図6は無線電話機100がリコールコマンド216を受信後、または他の方法でターゲットとするアプリケーションプログラム109のアイデンティティとそのプログラムをアンインストールする命令とを受信した後、無線電話機100に記憶されているターゲットとするアプリケーションプログラム109をアンインストールする1例を示しているシーケンス600を示している。
【0063】
限定を意図するものではないが、説明を簡単にするために、
図6の例を
図1乃至3で説明したハードウェア環境の文脈で説明する。ステップ602で、無線電話機100はネットワーク200でBTS214から放送されたリコールコマンド216を受信する。
【0064】
ステップ604で、リコールコマンド216(またはターゲットとするアプリケーションプログラム109のアイデンティティおよびそのプログラムをアンインストールするための命令)の受信に応答して、無線電話機100のダウンロードクライアント114はターゲットとするアプリケーションプログラム109を表すアプリケーション識別子302を決定するためにリコールコマンド216を翻訳する。ダウンロードクライアント114はその後、無線電話機100にインストールされたリコールプログラム110へリコールコマンド216を送信する。ダウンロードクライアント114はまた記憶装置106中のターゲットとするアプリケーションプログラム109の位置を表す情報をリコールプログラム110へ通信する。
【0065】
ステップ606で、リコールコマンド216はリコールプログラム110に到達し、ここでリコールプログラムを実行させ、ターゲットとするアプリケーションプログラム109を自動的にアンインストールさせる。代わりに、リコールプログラム110はターゲットとするアプリケーションプログラム109をディスエーブルにさせ、またはターゲットとするアプリケーションプログラム109にもはや機能させないようにする任意のその他の動作を取る。リコールプログラム110はアンインストールの実行後、リコールコマンド216を消去するようにもプログラムされてもよい。
【0066】
ステップ608で、無線電話機100はターゲットとするアプリケーションプログラム109の完了したアンインストールを自動的にリコールコマンドソース222へ報告する。この報告はネットワーク200を通してSMSまたは送信される任意の他の形態の無線メッセージにより完了されてもよい。
【0067】
ステップ610で、リコールコマンドソース222はプログラムマネージャ202へアンインストールの確認を通信する(このステップはリコールコマンドソース222とプログラムマネージャ202が同一のエンティティではないことを仮定する)。プログラムマネージャ202は無線電話機100が動作可能な形態のターゲットとするアプリケーションプログラム109をもはや含んでいないことを示すためにプログラムマネージャデータベース204を更新する。これを行うため、プログラムマネージャ202は特定の無線電話機100にダウンロードされたアプリケーションプログラム108のリストからターゲットとするアプリケーションプログラム109を表すアプリケーション識別子302を消去する。
【0068】
ステップ612で、無線電話機100はターゲットとするアプリケーションプログラム109がもはや動作可能ではなく、および/またはアンインストールされていることを無線電話機100のユーザへ随意的に自動的に報告する。この報告の形態および用語はリコールコマンド216に含まれ、無線電話機100のリコールプログラム110はリコールコマンド216の命令に応答して無線電話機100にユーザへの報告を行わせるようにプログラムされている。報告はリコールの背後の理由を含んでいる。報告はまたリコールに関する情報を得るために無線電話機100のユーザをカスタマサービス部門または任意の第3者へ導く。
【0069】
信号を伝播する媒体/回路
前述したように、本発明は無線電話機100に存在する1以上のターゲットとするアプリケーションプログラム109のネットワークが開始するアンインストールを含み、リコールプログラム110が存在する無線電話機100を構成する方法に関する。本発明はまたターゲットとするアプリケーションプログラム109をアンインストールするためのリコールコマンド216を得るために無線電話機224がネットワーク200をポーリングし、リコールポーリングプログラム111が存在する無線電話機224を構成する方法に関する。
【0070】
図1乃至3の文脈では、これらの方法は例えば機械読取り可能な命令のシーケンスを実行するためにネットワーク200の動作部分によって実行される。これらの命令は種々のタイプの信号を伝播する媒体に存在する。この信号を伝播する媒体は例えばネットワーク200のコンポーネントによりアクセス可能であるかその中に存在するRAM(図示せず)を具備している。その代わりに、命令は磁気データ記憶ディスケット(図示せず)等の別の信号伝播媒体に含まれている。RAM、ディスケットまたはその他の場所に含まれても、命令はDASD記憶装置(例えば通常の“ハードドライブ”またはRAIDアレイ)、磁気テープ、電子読取り専用メモリ(例えばROM、EPROM、EEPROM)、光記憶装置(例えばCD−ROM、WORM、DVD、デジタル光テープ)、紙の“パンチ”カード、またはデジタルおよびアナログ等の送信媒体を含むその他の適切な信号伝播媒体のような、種々の機械の読取り可能なデータ記憶媒体に記憶されてもよい。
【0071】
無線電話機203に関しては、ここで説明した方法は任意のタイプの回路、マイクロプロセッサまたは無線電話機203中の他のタイプのハードウェアで構成されてもよい。
【0072】
[その他の実施形態]
前述の説明は本発明の実施形態を示したが、種々の変化および変形が特許請求の範囲で限定されている本発明の技術的範囲を逸脱することなくここで行われることができることが当業者に明白になるであろう。さらに、本発明の素子は単数で説明され記載されているが、単数であることが明確に示されていなければ複数も考慮される。