特許第6132973号(P6132973)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アリババ・グループ・ホールディング・リミテッドの特許一覧

特許6132973クライアントをアップデートするための方法およびデバイス
<>
  • 特許6132973-クライアントをアップデートするための方法およびデバイス 図000002
  • 特許6132973-クライアントをアップデートするための方法およびデバイス 図000003
  • 特許6132973-クライアントをアップデートするための方法およびデバイス 図000004
  • 特許6132973-クライアントをアップデートするための方法およびデバイス 図000005
  • 特許6132973-クライアントをアップデートするための方法およびデバイス 図000006
  • 特許6132973-クライアントをアップデートするための方法およびデバイス 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6132973
(24)【登録日】2017年4月28日
(45)【発行日】2017年5月24日
(54)【発明の名称】クライアントをアップデートするための方法およびデバイス
(51)【国際特許分類】
   G06F 11/00 20060101AFI20170515BHJP
【FI】
   G06F9/06 630B
【請求項の数】12
【全頁数】22
(21)【出願番号】特願2016-508977(P2016-508977)
(86)(22)【出願日】2014年4月11日
(65)【公表番号】特表2016-515745(P2016-515745A)
(43)【公表日】2016年5月30日
(86)【国際出願番号】US2014033809
(87)【国際公開番号】WO2014176048
(87)【国際公開日】20141030
【審査請求日】2015年11月17日
(31)【優先権主張番号】201310141479.6
(32)【優先日】2013年4月22日
(33)【優先権主張国】CN
(31)【優先権主張番号】14/250,236
(32)【優先日】2014年4月10日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】510330264
【氏名又は名称】アリババ・グループ・ホールディング・リミテッド
【氏名又は名称原語表記】ALIBABA GROUP HOLDING LIMITED
(74)【代理人】
【識別番号】110000028
【氏名又は名称】特許業務法人明成国際特許事務所
(72)【発明者】
【氏名】フェン・ジャオリン
(72)【発明者】
【氏名】リウ・ジョンシェン
【審査官】 長谷川 篤男
(56)【参考文献】
【文献】 特開2003−271387(JP,A)
【文献】 特開2010−079546(JP,A)
【文献】 特開2006−178881(JP,A)
【文献】 特開2011−107954(JP,A)
【文献】 国際公開第2008/114454(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/00
(57)【特許請求の範囲】
【請求項1】
クライアントをアップデートするための方法であって、
前記クライアントがアップデートされるべきであるかどうかを判定することと、
前記クライアントがアップデートされるべきである場合に、前記クライアントのためのアップデートパッケージを決定することと、
前記クライアントに対応するユーザの、保存されている操作記録に基づいて、前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定することと、
前記決定されたアップデートパッケージのなかから、前記ユーザのお好み機能が依存するアップデートパッケージをお好みパッケージとしてはたらくよう決定することと、
前記お好みパッケージをアップデートのために前記クライアントにリリースすることであって、
前記お好みパッケージのパッケージ識別子をアップデートテーブルに追加することと、
前記アップデートテーブルに一意のテーブル識別子を割り当てることと、
前記一意のテーブル識別子を前記クライアントにリリースすることと、
前記お好みパッケージの前記パッケージ識別子のそれぞれに、リリース済みタグを追加することと、
前記クライアントによって送信されたテーブル識別子が受信されているかどうかを判定することと、
前記クライアントによって送信された前記テーブル識別子が受信されている場合に、
前記クライアントによって送信された前記テーブル識別子に対応する前記アップデートテーブルを検索し、
前記リリース済みタグが追加されていないパッケージ識別子に対応するパッケージをアップデートのために前記クライアントにリリースすることと、
を含む、前記お好みパッケージのリリースと、
を備える方法。
【請求項2】
請求項1に記載の方法であって、
前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定することは、
前記クライアントに対応する前記ユーザの、前記保存されている操作記録に基づいて、前記クライアントによって提供される各機能を前記ユーザが指定の時間範囲内に使用した回数を決定することと、
前記使用された回数が最も多いものから最も少ないものへの順に、指定数の機能を、前記ユーザのお好み機能としてはたらくよう順次選択することと、
を含む、方法。
【請求項3】
請求項2に記載の方法であって、さらに、
前記前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定する前に、前記クライアントからネットワーク環境情報を受信することを備え、
前記指定数の機能を順次選択することは、前記クライアントからの前記ネットワーク環境情報、およびネットワーク環境情報と指定数とを対応付けた既定のマッピングに基づいて、前記指定数を決定することを含む、方法。
【請求項4】
請求項1に記載の方法であって、さらに、
前記クライアントのための前記決定されたアップデートパッケージのなかから、前記お好みパッケージが依存するアップデートパッケージを依存パッケージとしてはたらくよう決定することと、
前記クライアントのための前記決定されたアップデートパッケージのなかから、所定の閾値よりも大きい重要度ウェイトを有するアップデートパッケージを必須アップデートパッケージとしてはたらくよう決定することと、
前記依存パッケージおよび前記必須アップデートパッケージをアップデートのために前記クライアントにリリースすることと、
を備える方法。
【請求項5】
クライアントをアップデートするためのシステムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに結合され、前記少なくとも1つのプロセッサに命令を提供するように構成されたメモリと、
を備え、
前記少なくとも1つのプロセッサは、
前記クライアントがアップデートされるべきであるかどうかを判定することと、
前記クライアントがアップデートされるべきである場合に、前記クライアントのためのアップデートパッケージを決定することと、
前記クライアントに対応するユーザの、保存されている操作記録に基づいて、前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定することと、
前記決定されたアップデートパッケージのなかから、前記ユーザのお好み機能が依存するアップデートパッケージをお好みパッケージとしてはたらくよう決定することと、
前記お好みパッケージをアップデートのために前記クライアントにリリースすることであって、
前記お好みパッケージのパッケージ識別子をアップデートテーブルに追加することと、
前記アップデートテーブルに一意のテーブル識別子を割り当てることと、
前記一意のテーブル識別子を前記クライアントにリリースすることと、
前記お好みパッケージの前記パッケージ識別子のそれぞれに、リリース済みタグを追加することと、
前記クライアントによって送信されたテーブル識別子が受信されているかどうかを判定することと、
前記クライアントによって送信された前記テーブル識別子が受信されている場合に、
前記クライアントによって送信された前記テーブル識別子に対応する前記アップデートテーブルを検索し、
前記リリース済みタグが追加されていないパッケージ識別子に対応するパッケージをアップデートのために前記クライアントにリリースすることと、
を含む、前記お好みパッケージのリリースと、
を行うように構成される、システム。
【請求項6】
請求項5に記載のシステムであって、
前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定することは、
前記クライアントに対応する前記ユーザの、前記保存されている操作記録に基づいて、前記クライアントによって提供される各機能を前記ユーザが指定の時間範囲内に使用した回数を決定することと、
前記使用された回数が最も多いものから最も少ないものへの順に、指定数の機能を、前記ユーザのためのお好み機能としてはたらくよう順次選択することと、
を含む、システム。
【請求項7】
請求項6に記載のシステムであって、
前記1つ以上のプロセッサは、さらに、
前記前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定する前に、前記クライアントからネットワーク環境情報を受信するように構成され、
前記指定数の機能を順次選択することは、前記クライアントからの前記ネットワーク環境情報、およびネットワーク環境情報と指定数とを対応付けた既定のマッピングに基づいて、前記指定数を決定することを含む、システム。
【請求項8】
請求項5に記載のシステムであって、
前記1つ以上のプロセッサは、さらに、
前記クライアントのための前記決定されたアップデートパッケージのなかから、前記お好みパッケージが依存するアップデートパッケージを依存パッケージとしてはたらくよう決定することと、
前記クライアントのための前記決定されたアップデートパッケージのなかから、所定の閾値よりも大きい重要度ウェイトを有するアップデートパッケージを必須アップデートパッケージとしてはたらくよう決定することと、
前記依存パッケージおよび前記必須アップデートパッケージをアップデートのために前記クライアントにリリースすることと、
を行うように構成される、システム。
【請求項9】
クライアントをアップデートするためのコンピュータプログラムであって、コンピュータを使用して、
前記クライアントがアップデートされるべきであるかどうかを判定するための機能と、
前記クライアントがアップデートされるべきである場合に、前記クライアントのためのアップデートパッケージを決定するための機能と、
前記クライアントに対応するユーザの、保存されている操作記録に基づいて、前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定するための機能と、
前記決定されたアップデートパッケージのなかから、前記ユーザのお好み機能が依存するアップデートパッケージをお好みパッケージとしてはたらくよう決定するための機能と、
前記お好みパッケージをアップデートのために前記クライアントにリリースするための機能であって、
前記お好みパッケージのパッケージ識別子をアップデートテーブルに追加する機能と、
前記アップデートテーブルに一意のテーブル識別子を割り当てる機能と、
前記一意のテーブル識別子を前記クライアントにリリースする機能と、
前記お好みパッケージの前記パッケージ識別子のそれぞれに、リリース済みタグを追加する機能と、
前記クライアントによって送信されたテーブル識別子が受信されているかどうかを判定する機能と、
前記クライアントによって送信された前記テーブル識別子が受信されている場合に、
前記クライアントによって送信された前記テーブル識別子に対応する前記アップデートテーブルを検索し、
前記リリース済みタグが追加されていないパッケージ識別子に対応するパッケージをアップデートのために前記クライアントにリリースする機能と、
を含む、前記お好みパッケージをリリースするための機能と、
を実現させるための、コンピュータプログラム。
【請求項10】
請求項9に記載のコンピュータプログラムであって、
前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定する機能は、
前記クライアントに対応する前記ユーザの、前記保存されている操作記録に基づいて、前記クライアントによって提供される各機能を前記ユーザが指定の時間範囲内に使用した回数を決定する機能と、
前記使用された回数が最も多いものから最も少ないものへの順に、指定数の機能を、前記ユーザのためのお好み機能としてはたらくよう順次選択する機能と、
を含む、コンピュータプログラム。
【請求項11】
請求項10に記載のコンピュータプログラムであって、さらに、
前記前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定する前に、前記クライアントからネットワーク環境情報を受信する機能を実現させることができ、
前記指定数の機能を順次選択する機能は、前記クライアントからの前記ネットワーク環境情報、およびネットワーク環境情報と指定数とを対応付けた既定のマッピングとに基づいて、前記指定数を決定する機能を含む、コンピュータプログラム。
【請求項12】
請求項9に記載のコンピュータプログラムであって、さらに、
前記クライアントのための前記決定されたアップデートパッケージのなかから、前記お好みパッケージが依存するアップデートパッケージを依存パッケージとしてはたらくよう決定する機能と、
前記クライアントのための前記決定されたアップデートパッケージのなかから、所定の閾値よりも大きい重要度ウェイトを有するアップデートパッケージを必須アップデートパッケージとしてはたらくよう決定する機能と、
前記依存パッケージおよび前記必須アップデートパッケージをアップデートのために前記クライアントにリリースする機能と、
を実現させるための、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2013年4月22日に出願された、発明の名称を「A CLIENT UPDATE METHOD AND DEVICE(クライアントアップデートの方法およびデバイス)」とする中国特許出願第201310141479.6号の優先権を主張する。該出願は、あらゆる目的のために、参照によって本明細書に組み込まれる。
【0002】
本出願は、クライアントをアップデートするための方法およびデバイスに関する。
【背景技術】
【0003】
現在、ワイヤレスネットワークおよびモバイル機器の発展が続くにつれて、ワイヤレスクライアントアプリケーションが益々一般的になっており、これらのクライアントアプリケーションは、通常、頻繁なアップデートを必要とする。
【0004】
図1は、クライアントをアップデートするための従来のプロセスを示したフローチャートである。プロセス100は、サーバによって実施され、以下を含む。
【0005】
110において、サーバは、クライアントからアップデートチェックを受信する。アップデートチェックは、クライアントに取り込まれたソフトウェアが最新であることを確認するために、クライアントによって送信される。
【0006】
具体的には、クライアントは、そのスタートアップの際に、アップデートチェックを起動するためにクライアントアプリケーションのヴァージョン番号をサーバに送信する。
【0007】
120において、サーバは、クライアントがアップデートされるべきであるかどうかを判定する。もし、クライアントがアップデートされるべきであるならば、制御は130に引き渡される。もし、クライアントがアップデートされるべきでないならば、制御は140に引き渡される。
【0008】
クライアントによって送信されたヴァージョン番号を受信すると、サーバは、受信されたクライアントアプリケーションのヴァージョン番号を、現時点で利用可能な最新のクライアントアプリケーションのヴァージョン番号と比較する。もし、受信されたヴァージョン番号が最新ヴァージョン番号に一致するならば、クライアントは、アップデートされる必要がない。もし、受信されたヴァージョン番号が最新ヴァージョン番号に一致しないならば、クライアントは、アップデートされるべきである。
【0009】
130において、もし、受信されたヴァージョン番号が最新ヴァージョン番号に一致しないならば、サーバは、クライアントをアップデートするために、クライアントアップデートパッケージをリリースする。
【0010】
サーバは、受信されたヴァージョン番号と、現時点で利用可能な最新のクライアントヴァージョン番号との比較に基づいて、受信されたヴァージョン番号が最新のヴァージョン番号とは異なると判定したときは、クライアントのための全アップデートパッケージを決定し、クライアントをアップデートするためにこれらの全アップデートパッケージをリリースする。
【0011】
140において、もし、受信されたヴァージョン番号が最新のヴァージョン番号に一致するならば、サーバは、クライアントにクライアントがアップデートされないことを通知する。
【0012】
しかしながら、クライアントは、通常は、特定の1つまたは複数のパッケージにそれぞれ依存する多くの機能を提供することができる。ユーザは、それぞれ異なる利用習慣を有し、各ユーザは、特定の1つまたは複数の機能のみを使用して、提供される全ての機能を使用するのではない傾向がある。例えば、クライアントは、クレジットカード支払い機能および公共料金支払い機能を提供するが、ユーザは、普段はクライアントのクレジットカード支払い機能のみを使用し、クライアントの公共料金支払い機能はほとんどまたは全く使用しない。
【0013】
しかしながら、従来のプロセス100では、クライアントがアップデートされるべきであるとサーバが判定すると、クライアントアップデートパッケージによってサポートされている機能が定期的に使用されているかどうかにかかわらず、必然的に、クライアントをアップデートするために全てのアップデートパッケージがリリースされる。このプロセスは、明らかに、通常的に使用されているのではないパッケージのアップデートによってネットワークリソースを無駄遣いし、クライアントアップデート効率を低下させ、クライアントネットワーク環境の状態が比較的混雑しているときはクライアントアップデート時間を大幅に長引かせる。
【図面の簡単な説明】
【0014】
以下の詳細な説明および添付の図面において、本発明の様々な実施形態が開示される。
【0015】
図1】クライアントをアップデートするための従来のプロセスを示したフローチャートである。
【0016】
図2A】クライアントをアップデートするためのプロセスの一実施形態を示したフローチャートである。
【0017】
図2B】ヴァージョンツリーの一実施形態を示した図である。
【0018】
図3】お好みパッケージをクライアントにリリースするためのプロセスの一実施形態を示したフローチャートである。
【0019】
図4】クライアントをアップデートするためのデバイスの一実施形態を示した図である。
【0020】
図5】クライアントをアップデートするためのシステムの一実施形態を示した図である。
【発明を実施するための形態】
【0021】
本発明は、プロセス、装置、システム、合成物、コンピュータ読み取り可能ストレージ媒体に実装されたコンピュータプログラム製品、ならびに/または結合先のメモリに記憶された命令および/もしくは結合先のメモリによって提供される命令を実行するように構成されたプロセッサなどのプロセッサのような、数々の形態で実現することができる。本明細書では、これらの実現形態、または本発明がとりえるその他のあらゆる形態を、技術と称することができる。総じて、開示されるプロセスの各ステップの順番は、本発明の範囲内で変更可能である。別途明記されない限り、タスクを実施するように構成されるものとして説明されるプロセッサまたはメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成された汎用コンポーネントとして、またはタスクを実施するように製造された特殊コンポーネントとして実装可能である。本明細書で使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された1つ以上のデバイス、回路、ならびに/または処理コアを言う。
【0022】
本発明の原理を例示した添付の図面とともに、以下で、本発明の1つ以上の実施形態の詳細な説明が提供される。本発明は、このような実施形態に関連付けて説明されるが、いずれの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、数々の代替形態、変更形態、および均等物を包含している。以下の説明では、本発明の完全な理解を与えるために、数々の具体的詳細が明記されている。これらの詳細は、例示を目的として提供されるものであり、本発明は、これらの詳細の一部または全部を伴わずとも、特許請求の範囲にしたがって実施可能である。明瞭を期するために、本発明に関連した技術分野で知られる技工物は、本発明が不必要に不明瞭にされないように、詳細な説明を省略されている。
【0023】
一部の実施形態では、クライアントに含まれるパッケージの一部のみをユーザの好みに基づいてアップデートするために、サーバは、保存されているユーザの操作記録に基づいて、ユーザのお好み機能、すなわちユーザによって日常的に使用されている機能を決定し、アップデートのために、ユーザのお好み機能が依存するアップデートパッケージをクライアントにリリースする。なぜならば、クライアントに含まれるパッケージの一部のみがアップデートされるからである。パッケージの一部のみをアップデートすることによって、ネットワークリソースが効果的に節約され、クライアントアップデートの効率が向上される。
【0024】
図2Aは、クライアントをアップデートするためのプロセスの一実施形態を示したフローチャートである。一部の実施形態では、プロセス200は、図5のサーバ520によって実行に移され、以下を含む。
【0025】
210において、サーバは、クライアントがアップデートされるべきであるかどうかを判定する。
【0026】
サーバが、クライアントがアップデートされるべきではないと判定した場合、260において、プロセスは終了する。
【0027】
サーバが、クライアントがアップデートされるべきであると判定した場合、220において、サーバは、クライアントのためのアップデートパッケージを決定する。一部の実施形態では、アップデートパッケージは、アプリケーションに関する1つのまたは1群の機能を含む。一部の実施形態では、アップデートパッケージに含まれる機能は、アプリケーションの一部に関するものであり、アプリケーションを完全にアップデートするためには、アップデートパッケージに含まれないさらなる機能が必要とされる。
【0028】
一部の実施形態では、スタートアップの際に、クライアントは、クライアント自身の、クライアントアプリケーションのヴァージョン番号をサーバに送信することによって、サーバによるアップデートチェックを起動させる。通常は、各クライアントアプリケーションは、特定のヴァージョン番号を有する。特定の筋書きでは、クライアントアプリケーションをアップデートするために、より新しい機能がクライアントにダウンロードされるべきである。クライアントのクライアントアプリケーションのヴァージョン番号を受信すると、サーバは、クライアントのクライアントアプリケーションのヴァージョン番号を、現時点で利用可能な最新のクライアントアプリケーションのヴァージョン番号と比較する。これら2つのヴァージョン番号が異なる場合、サーバは、クライアントがアップデートされるべきであると判定する、またはこれら2つのヴァージョン番号が同じである場合、サーバは、クライアントがアップデートを必要としないと判定する。
【0029】
クライアントがアップデートされるべきであると判定した場合、サーバは、2つのヴァージョン番号の比較に基づいて、クライアントのためのアップデートパッケージも決定する。一例として、サーバは、クライアントに含まれるどのパッケージがアップデートされるべきであるかを決定するために、ヴァージョンツリー比較技術を使用し、サーバ内にある、アップデートされるべきパッケージに対応する最新のパッケージ、すなわちクライアントのためのアップデートパッケージを決定する。例えば、クライアントに含まれる第1のパッケージがアップデートされるべきであると判定した後、サーバは、サーバ内にある、第1のパッケージに対応する最新のパッケージがパッケージ1’であると決定し、このパッケージ1’がクライアントのためのアップデートパッケージであると決定する。一例として、パッケージ1’は、一群の機能のための新しいヴァージョン番号であると見なされる。或る機能の新しいヴァージョンが利用可能になったときに、クライアントにおけるその機能はアップデートされる用意が整う。
【0030】
図2Bは、ヴァージョンツリーの一実施形態を示した図である。一部の実施形態では、図2Bに示されるように、ヴァージョンツリーにおいてヴァージョンツリー比較技術が実施される。ヴァージョンツリー比較技術を使用することによって、アプリケーションおよびその各機能がヴァージョンツリーの形に編成され、該ツリーでは、図2Bに示されるように、各機能がそれ自身のヴァージョンを有し、親ノードのヴァージョンが子ノードのヴァージョンよりも新しいまたは子ノードのヴァージョンと同じである。アップデートのときは、どの機能がアップデートされるべきであるかを見つけるために、ヴァージョンツリーが検索される。例えば、図2Bに示されるように、クライアントにおいて、ルートノード(V2.0)の子ノードの機能(V1.0)がアップデートされるべきである。また、アップデートされるべき機能の2つの子ノードの機能(V1.0)もまた、アップデートされるべきである。
【0031】
230において、サーバは、ユーザのクライアントの、格納されている操作記録に基づいて、ユーザのお好み機能を決定する。
【0032】
一部の実施形態では、サーバは、格納されているユーザの操作記録に基づいて、クライアントによって提供される各機能をユーザが使用した回数を、指定の時間範囲内に使用した回数が多いものから順に決定することができる。このような利用情報に基づいて、サーバは、ユーザの確定(決定された)お好み機能として指定数の機能を選択する。指定の時間範囲には、過去一年、過去一か月、またはその他の任意の期間がある。
【0033】
一部の実施形態では、クライアントに対応するユーザは、クライアントを通じてログインしているユーザアカウント番号を言う。クライアントは、サーバによるアップデートチェックを起動させる場合に、ユーザに相当するユーザ識別子(ユーザハンドル名やユーザIDなど)はもちろん、クライアント自身のヴァージョン番号も、同時にサーバに送信する。
【0034】
一部の実施形態では、サーバは、様々なタイプの操作とクライアントによって提供される様々な機能との間の対応関係を予め保存しておき、クライアントに対応するユーザの操作記録に基づいて、指定の時間範囲内にユーザが各タイプの操作を実行した回数を決定する。一部の実施形態では、サーバは、各ユーザのための操作ログを作成し、該ユーザの操作ログにユーザの各操作記録を保存し、また、ユーザのための操作記録テーブルを作成し、該操作記録テーブルにユーザの各操作記録を保存する。一部の実施形態では、操作記録は、ユーザIDと、ユーザによって実行された操作のタイプと、その操作が起きた時刻とを含む。したがって、サーバは、ユーザの操作ログまたは操作記録テーブルのなかで、指定の時間範囲内の時刻に起きた同じタイプの操作を含む記録の回数を、その指定の時間範囲内にユーザがそのタイプの操作を実行した回数として数えることができる。
【0035】
一部の実施形態では、或る操作のタイプに関し、ユーザがそのタイプの操作を指定の時間範囲内に実行する回数は、このタイプの操作に対応するクライアント内の機能が使用された回数に相当するので、各機能について、サーバは、その機能に対応するタイプの操作をユーザが指定の時間範囲内に実行した回数を、ユーザがその機能を指定の時間範囲内に使用した回数として決定する。
【0036】
例えば、クライアントがクレジットカード支払い機能および公共料金支払い機能を提供すると想定する。クライアントによって提供されるクレジットカード支払い機能の場合、この機能に対応する操作は、クレジットカード支払い操作として事前に設定されている。操作ログに保存されている様々な操作記録に基づいて、サーバは、ユーザがクレジットカード支払い操作を指定の時間範囲(例えば過去一年、過去一か月、またはその他の任意の適切な期間)内に実行した回数を、ユーザがクレジットカード支払い機能を使用した回数として決定する。同様に、サーバは、ユーザが公共料金支払い機能および/またはその他の機能を指定の時間範囲内に使用した回数を決定することができる。
【0037】
続いて、お好み機能の指定数が1であり、ユーザがクレジットカード支払い機能を使用した回数が20であると決定され、ユーザが公共料金支払い機能を使用多回数が2であると決定されたとすると、サーバは、使用された回数が多いものから順に、使用回数が最も多い機能を1つ、すなわちクレジットカード支払い機能をユーザのお好み関数として選択する。要するに、機能は、それらの機能の使用回数に基づいて順番を付けることができる。
【0038】
240において、サーバは、決定されたアップデートパッケージのなかから、ユーザのお好み機能が依存するアップデートパッケージをお好みパッケージとしてはたらくよう決定する。
【0039】
サーバは、クライアントに対応するユーザのお好み機能を決定した後、決定されたアップデートパッケージのなかから、予め保存されている、クライアントの様々な機能と様々なパッケージとの間の依存関係に基づいて、ユーザのお好み機能が依存するアップデートパッケージを決定し、ユーザのお好み機能が依存するアップデートパッケージをお好みパッケージとして使用する。一例として、最も多く使用された機能がクレジットカード支払い機能であり、2番目に多く使用された機能が公共料金支払い機能であり、その他の機能は頻繁に使用されていないと決定されたときは、サーバは、クレジットカード支払い機能および公共料金支払い機能のみがアップデートされるべきであると判定する。この例では、これら2つの機能を含むアップデートパッケージが、ユーザのためのお好みパッケージである。
【0040】
250において、サーバは、対応するクライアントのパッケージをアップデートするために、決定されたお好みパッケージをクライアントにリリースする。
【0041】
一部の実施形態では、サーバは、お好みパッケージを決定した後、該お好みパッケージを、クライアントが自身のパッケージをアップデートすることができるようにクライアントにリリースする。
【0042】
上記のプロセスを使用することによって、サーバは、ユーザのお好み機能が依存するアップデートパッケージのみをリリースすることができ、全てのアップデートパッケージをクライアントにリリースする必要がない。したがって、ネットワークリソースが節約できる。また、クライアントも、その全てのパッケージをアップデートする代わりに一部のパッケージのみをアップデートするので、クライアントアップデートの効率も向上される。
【0043】
実際の用途の筋書きでは、クライアントのネットワーク環境がそれぞれ異なっており、比較的貧しいネットワーク環境で動作しているクライアントの場合は、もし、アップデートされるパッケージの数が非常に多いと、クライアントアップデート時間が大幅に長くなり、クライアントアップデート効率が低下する恐れがある。一部の実施形態では、クライアントに対応するユーザのお好み機能を決定する前に、サーバは、クライアントによってサブミットされたネットワーク環境情報を受信する。続いて、サーバは、使用された回数が多いものから順に指定数の機能をユーザのお好み機能としてはたらくよう順次選択するときに、その指定数を、クライアントによってサブミットされたネットワーク環境情報、およびネットワーク環境情報と指定数とを対応付ける既定のマッピングに基づいて決定し、ユーザが各機能を使用した回数が多いものから順に、決定された指定数の機能を、ユーザの確定お好み機能としてはたらくよう順次選択することができる。一部の実施形態では、ネットワーク環境が貧しいほど、ユーザの確定お好み機能としての対応する機能の指定数が少なくなる。
【0044】
例えば、ネットワーク環境情報には、第2世代携帯通信技術(2G)ネットワーク、第3世代携帯通信技術(3G)ネットワーク、およびワイヤレスフィデリティ(Wi−Fi)ネットワークがあり、ネットワーク環境情報と指定数とを対応付けた既定のマッピングは、以下のとおりである。すなわち、2Gネットワークに対応する指定数は3であり、3Gネットワークに対応する指定数は6であり、Wi−Fiネットワークに対応する指定数は、クライアントに含まれる全パッケージの数である。クライアントによってサブミットされたネットワーク環境情報が2Gネットワークである場合、サーバは、2Gネットワークに対応する指定数が3であると決定する。したがって、各機能がユーザによって使用された回数が多いものから順に、サーバは、ユーザのお好み機能として3つの機能を順次選択する。しかしながら、クライアントによってサブミットされたネットワーク環境がWi−Fiネットワークである場合、サーバは、ユーザのお好み機能としてクライアントの全機能を使用する。Wi−Fiネットワーク上では、サーバは、クライアントのアップデートを行うために、全てのアップデートパッケージをクライアントにリリースする。
【0045】
一部の実施形態では、クライアントによってサブミットされたネットワーク環境情報が指定の条件を満たす場合も、サーバは、クライアントにまだリリースされていない全てのアップデートパッケージを、アップデートのためにクライアントにリリースする。引き続き上記の例では、クライアントが或る時点でアップデートチェックを起動させた後、サーバは、このクライアントのためのアップデートパッケージが10個あること、およびクライアントによってサブミットされたネットワーク環境情報が2Gネットワークであることを決定する。したがって、サーバは、3つのアップデートパッケージのみをクライアントにリリースし、その後、クライアントが再びアップデートチェックを起動させ、サブミットされたネットワーク環境情報が指定の条件を満たすWi−Fiネットワークである場合がきたら、サーバは、アップデートを実施するために、残る7つのアップデートパッケージを全てクライアントにリリースする。要するに、指定の条件は、速度や料金などが様々である異なるネットワーク環境に関するものである。異なるネットワーク環境の例として、1)2G環境の速度がその他のネットワークと比べて遅く、2G環境の料金がその他のネットワークの料金と比べて高いこと、2)3Gネットワークの速度がその他のネットワークと比べて速く、3G環境の料金がその他のネットワークの料金と比べて高いこと、および3)Wi−Fiネットワークの速度がその他のネットワークと比べて速く、Wi−Fiネットワークの料金が普通は無料であるまたはその他のネットワークの料金と比べて大幅に安いことが挙げられる。一部の実施形態では、アップデートされるべきパッケージは、指定の条件に基づいて決定される。
【0046】
上記の例は、ネットワーク環境情報と指定数との間の対応付けを説明するために、2Gネットワーク、3Gネットワーク、およびWi−Fiネットワークのみを用いている。一部の実施形態では、ネットワーク環境情報は、ダウンロード速度などの、その他のネットワーク品質指標も含み、ネットワーク環境情報と指定数との間の対応付けは、選択されるべきユーザのお好み機能の指定数がネットワーク環境情報に基づいて決定される限り、連続関数または離散関数を使用して事前に設定される。一部の実施形態では、連続関数は、実際の条件に基づいて決定される。例えば、もし、現ネットワーク速度がx k/sであり、2G環境における係数Kが1であり、3G環境における係数Kが3であり、Wi−Fi環境における係数Kが20であり、シーリング関数が整数をとるならば、お好み機能の指定数は、K×CEILING(x/100)である。一部の実施形態では、離散関数は、実際の条件に基づいて決定される。離散関数の一例は、次のとおりである。すなわち、お好み機能の指定数yは、1(2G環境)、2(3G環境)、3(4G環境)、および20(Wi−Fi環境)である。
【0047】
250において、サーバは、上記のプロセスを使用してお好みパッケージを決定した後、決定されたお好みパッケージを、アップデートのためにクライアントにそのままリリースする。
【0048】
しかしながら、サーバによってリリースされたお好みパッケージの受信が、ネットワーク上の理由(突発的なネットワークの切断など)により中断された場合、サーバは、お好みパッケージの送信を再開させるためのブレークポイントがわからない。したがって、上記のアップデートチェックの起動が繰り返され、クライアントアップデートの効率が激しく低下する。
【0049】
図3は、お好みパッケージをクライアントにリリースするためのプロセスの一実施形態を示したフローチャートである。一部の実施形態では、プロセス300は、250を実行に移したものであり、以下を含む。
【0050】
310において、サーバは、決定されたお好みパッケージのパッケージ識別子をアップデートテーブルに追加し、該アップデートテーブルに一意のテーブル識別子を割り当てる。
【0051】
320において、サーバは、テーブル識別子をクライアントにリリースする。
【0052】
一部の実施形態では、サーバは、お好みパッケージを決定した後、決定された全てのお好みパッケージのパッケージ識別子(例えばパッケージ名やパッケージ番号など)をアップデートテーブルに追加し、該アップデートテーブルに一意のテーブル識別子(例えばテーブルID)を割り当てる。続いて、サーバは、テーブル識別子をクライアントにリリースする。アップデートテーブルは、クライアントのアップデートプランに対応しており、現アップデートにおいてクライアントによって使用されるべきアップデートパッケージ(例えばお好みパッケージ)を記録している。サーバは、アップデートテーブルにしたがってお好みパッケージをリリース(送信)する。アップデートテーブルに記録されたパッケージ識別子に対応するお好みパッケージをサーバがクライアントにリリースし、そのパッケージが成功裏に受信されたことをクライアントが認識するたびに、サーバは、そのパッケージが成功裏に送信され認識されたことを示すために、アップデートテーブルに含まれる対応するお好みパッケージのパッケージ識別子にリリース済みタグを追加する。
【0053】
330において、サーバは、クライアントによって送信された、テーブル識別子に対応するアップデートテーブルに含まれるパッケージを要求するリクエストを受信する。リクエストは、テーブル識別子を含む。
【0054】
クライアントは、サーバによって送信されたテーブル識別子を受信した後、そのテーブル識別子を保存し、このテーブル識別子に対応するアップデートテーブルに含まれるパッケージを要求するために、このテーブル識別子を含むリクエストをサーバに送信する。
【0055】
340において、サーバは、テーブル識別子に対応するアップデートテーブルを検索する。
【0056】
350において、サーバは、アップデートテーブルに含まれるパッケージ識別子に対応するパッケージであってリリース済みタグが追加されていないパッケージを、アップデートのためにクライアントにリリースする。
【0057】
上記の図3のプロセス300を使用すると、サーバは、一意のテーブル識別子に対応するアップデートテーブルに、様々なお好みパッケージのパッケージ識別子を既に追加してあるので、たとえもし、お好みパッケージの受信がクライアントによって中断されたとしても、図2Aのプロセス200全体を繰り返す必要はない。クライアントは、テーブル識別子に対応するアップデートテーブルのなかのパッケージを要求するために、サーバにテーブル識別子を再送信するだけでよい。また、サーバは、既に成功裏にリリースされたパッケージに対応するパッケージ識別子にリリース済みタグを追加する。したがって、お好みパッケージの受信がクライアントによって中断されたとき、サーバは、クライアントアップデート効率をさらに向上させるために、リリース済みタグが追加されていないパッケージ識別子に対応するパッケージのみを検索してリリースし、アップデートテーブルに含まれる全てパッケージ識別子に対応するパッケージのリリースを繰り返さなくてすむ。
【0058】
一部の実施形態では、クライアントがアップデート後も正常に動作できることを確実にするために、サーバは、決定されたアップデートパッケージのなかから、様々なお好みパッケージが依存するアップデートパッケージを依存パッケージとしてはたらくよう決定し、これらの依存パッケージを、アップデートのためにクライアントにリリースする。
【0059】
例えば、サーバによって決定されたお好みパッケージが、クレジットカード支払いパッケージおよび公共料金支払いパッケージであり、これら2つのパッケージが、ともに、パスワード入力セキュリティパッケージに依存すると想定する。クレジットカード支払いパッケージおよび公共料金支払いパッケージに加えて、決定されたアップデートパッケージは、パスワード入力セキュリティパッケージも含む。一例として、もし、機能Aが機能Bに依存し、機能Cもまた機能Bに依存し、機能Aおよび機能Bがともにアップデートされるべきであるならば、機能Cもまたアップデートされるべきである。そうでないと、クライアントのソフトウェアが正常に動作することができない。一部の実施形態では、この依存関係は、サーバに事前に設定されてある。このため、クレジットカード支払いパッケージおよび公共料金支払いパッケージのみが、アップデートのためにクライアントにリリースされ、パスワード入力セキュリティパッケージが、アップデートのためにクライアントにリリースされない場合、クライアントの機能は、アップデート後は正常に動作できなくなる(またはクレジットカード支払いパッケージおよび公共料金支払いパッケージを正常に提供できなくなる)だろう。したがって、サーバは、クライアントがアップデート後も正常に動作できることを確実にするために、決定されたアップデートパッケージのなかから、クレジットカード支払いパッケージおよび公共料金支払いパッケージが依存するアップデートパッケージ(すなわちパスワード入力セキュリティパッケージ)も決定し、該パスワード入力セキュリティパッケージを、アップデートのために依存パッケージとしてクライアントにリリースする。
【0060】
もちろん、サーバによって依存パッケージが決定された後、該依存パッケージもやはり、その他の決定されたアップデートパッケージに依存する(例えば、上記の例におけるパスワード入力セキュリティパッケージは、その他のアップデートパッケージにも依存する)可能性があり、サーバは、依存パッケージが依存するその他のアップデートパッケージを引き続き決定し、これらのその他のアップデートパッケージを依存パッケージとして使用し、同じ技術を再帰的に用いて全ての依存パッケージを決定してそれらの依存パッケージをリリースすることを続ける。
【0061】
さらに、一部の実施形態では、クライアントのためのアップデートパッケージは、特定のメジャー脆弱性修復アップデートパッケージを含む。これらの脆弱性修復アップデートパッケージは、クライアントの正常な動作に関係しており、それゆえに、クライアントの各アップデートパッケージには、重要度ウェイトが予め割り当てられる。メジャー脆弱性修復アップデートパッケージが、高めの重要度ウェイトを割り当てられる一方で、特定の最適化パッケージまたはアップデートパッケージは、低めの重要度ウェイトを割り当てられる。したがって、決定されたアップデートパッケージのなかから、サーバは、所定の閾値よりも大きい重要度ウェイトを有するアップデートパッケージを、必須のアップデートパッケージとして決定する。要するに、サーバは、所定に閾値よりも大きい重要度ウェイトを有するアップデートパッケージを、必須のアップデートパッケージとして使用し、これらの必須のアップデートパッケージを、アップデートのためにクライアントにリリースする。一例では、所定の閾値が5であり、メジャー脆弱性修復アップデートパッケージに割り当てられた指定のウェイトが10(または5を超える値)であり、マイナー最適化パッケージまたはアップデートパッケージに割り当てられた指定のウェイトが1(または5よりも小さい値)である。所定の閾値を超えたときは、常に、メジャー脆弱性修復アップデートパッケージはアップデートされ、そうでないときは、メジャー脆弱性修復アップデートパッケージはアップデートされない。一部の実施形態では、機能に対する必要な修正が常にアップデートされる。
【0062】
相応して、依存パッケージおよび必須アップデートパッケージのリリースに関しても、サーバは、アップデートテーブル技術を使用して依存パッケージおよび必須アップデートパッケージをリリースする。すなわち、サーバは、お好みパッケージ、依存パッケージ、および必須アップデートパッケージのパッケージ識別子をアップデートテーブルに追加し、このアップデートテーブルに一意のテーブル識別子を割り当て、該テーブル識別子をクライアントにリリースする。一部の実施形態では、アップデートテーブルのなかで、クライアントに既にリリースされたパッケージに対応するパッケージ識別子に、リリース済みタグが追加される。クライアントによって送信されたテーブル識別子が受信されると、アップデートテーブルのなかで、リリース済みタグが追加されていないパッケージ識別子に対応するパッケージが、アップデートのためにクライアントにリリースされる。
【0063】
また、一部の実施形態では、クライアントのためのアップデートパッケージを決定した後、サーバは、クライアントに対応するユーザが各機能を使用した回数に基づいて、各機能が依存するアップデートパッケージのための優先度ウェイトも決定する。機能が使用された回数が多いほど、その機能が依存するアップデートパッケージの優先度ウェイトは高くなる。続いて、各アップデートパッケージについて、そのアップデートパッケージの優先度ウェイトおよび重要度ウェイトの合計ウェイトが決定される。次に、サーバは、クライアントによってサブミットされたネットワーク環境情報、およびネットワーク環境情報と指定数との間の既定の対応関係にしたがって、指定数を決定する。続いて、様々なアップデートパッケージの合計ウェイトが最も大きいものから順に、サーバは、決定された指定数のアップデートパッケージを、リリースされるべきアップデートパッケージに含めるために順次選択し、このときに、クライアントのためのアップデートパッケージのなかから、リリースされるべき各パッケージが依存するアップデートパッケージが再帰的に決定される。依存パッケージもやはり、リリースされるべきアップデートパッケージとして含められ、リリースされるべき様々なアップデートパッケージが、アップデートのためにクライアントにリリースされる。
【0064】
上述されたプロセス200および300は、クライアントアップデートプロセスである。上記のプロセス200および300に基づいて、クライアントをアップデートするためのデバイスが図4に描かれている。
【0065】
図4は、クライアントをアップデートするためのデバイスの一実施形態を示した図である。一部の実施形態では、デバイス400は、プロセス200および300を実行するものであり、アップデートパッケージ決定モジュール410と、お好み機能決定モジュール420と、お好みパッケージ決定モジュール430と、リリースモジュール440とを含む。
【0066】
アップデートパッケージ決定モジュール410は、クライアントがアップデートされるべきであるという判定がなされたときに、そのクライアントのためのアップデートパッケージを決定する。
【0067】
お好み機能決定モジュール420は、クライアントに対応するユーザの、保存されている操作記録に基づいて、クライアントによって提供される機能のなかから、ユーザのお好み機能を決定する。
【0068】
お好みパッケージ決定モジュール430は、決定されたアップデートパッケージのなかから、ユーザのお好み機能が依存するアップデートパッケージをお好みパッケージとしてはたらくよう決定する。
【0069】
リリースモジュール440は、決定されたお好みパッケージを、アップデートのためにクライアントにリリースする。
【0070】
お好み機能決定モジュール420は、クライアントに対応するユーザの、保存されている操作記録に基づいて、クライアントによって提供される各機能をユーザが指定の時間範囲内に使用した回数を決定し、引き続き、使用された回数が最も多いものから最も少ないものへの順に指定数の機能を、ユーザのための確定お好み機能としてはたらくよう順次選択する。
【0071】
一部の実施形態では、デバイス400は、さらに、受信モジュール450を含む。
【0072】
お好み機能決定モジュール420がユーザのお好み機能を決定する前に、受信モジュール450は、クライアントによってサブミットされたネットワーク環境情報を受信する。
【0073】
お好み機能決定モジュール420は、受信モジュール450によって受信された、クライアントによってサブミットされたネットワーク環境情報、およびネットワーク環境情報と指定数とを対応付けた既定のマッピングに基づいて、クライアントによってサブミットされたネットワーク環境情報に対応する指定数を決定し、使用された回数が多いものから順に、上記決定された指定数の機能を、ユーザのための確定お好み機能としてはたらくよう順次選択する。
【0074】
リリースモジュール440は、決定されたお好みパッケージのパッケージ識別子をアップデートテーブルに追加し、該アップデートテーブルに一意のテーブル識別子を割り当て、該テーブル識別子をクライアントにリリースする。一部の実施形態では、クライアントに既にリリースされたお好みパッケージのパッケージ識別子に、リリース済みタグが追加される。クライアントによって送信されたテーブル識別子が受信されると、クライアントによって送信されたテーブル識別子に対応するアップデートテーブルが検索され、アップデートテーブルのなかで、リリース済みタグが追加されていないパッケージ識別子に対応するパッケージが、アップデートのためにクライアントにリリースされる。
【0075】
一部の実施形態では、デバイスは、さらに、依存パッケージ決定モジュール460と、必須パッケージ決定モジュール470とを含む。
【0076】
依存パッケージ決定モジュール460は、アップデートパッケージのなかから、お好みパッケージが依存するアップデートパッケージをクライアントのための依存パッケージとしてはたらくよう決定する。
【0077】
必須パッケージ決定モジュール470は、アップデートパッケージのなかから、所定の閾値よりも大きい重要度ウェイトを有するアップデートパッケージをクライアントのための必須アップデートパッケージとしてはたらくよう決定する。
【0078】
リリースモジュール440は、決定された依存パッケージおよび必須アップデートパッケージをアップデートのためにクライアントにリリースする。
【0079】
一部の実施形態では、クライアントをアップデートするための上記のデバイスは、サーバ上に位置する。
【0080】
図5は、クライアントをアップデートするためのシステムの一実施形態を示した図である。一部の実施形態では、システム500は、ネットワーク530を通じてクライアント510に接続されたサーバ520を含む。
【0081】
一部の実施形態では、クライアント510は、ネットワーク530を通じてアップデートチェックをサーバ520に送信する。アップデートチェックを受信すると、サーバ520は、クライアント510がアップデートされるべきであるかどうかを判定する。サーバ520は、クライアント510がアップデートされるべきであると判定した場合、ユーザのお好み機能に基づいて、お好みパッケージを含むアップデートパッケージをクライアント510に送信する。
【0082】
クライアントをアップデートするためのプロセスおよびデバイスが提供される。プロセスは、クライアントがアップデートされるべきであるとの判定がなされたときに、サーバが、クライアントのためのアップデートパッケージを決定し、該クライアントのための決定されたアップデートパッケージのなかからユーザのお好み機能が依存するパッケージを決定し、ユーザのお好み機能が依存するパッケージをアップデートのためにクライアントにリリースすることを含む。したがって、サーバは、全てのアップデートパッケージをクライアントにリリースする必要はなく、その代わり、ユーザのお好み機能が依存するパッケージのみがアップデートされる。したがって、ネットワークリソースが節約され、クライアントをアップデートする効率が向上される。
【0083】
上述されたユニットは、1つ以上の汎用プロセッサ上で実行されるソフトウェアコンポーネントとして、またはプログラマブルロジックデバイスおよび/もしくは特定の機能を実施するように設計された特殊用途向け集積回路などのハードウェアとして、またはそれらの組み合わせとして実装することができる。一部の実施形態では、ユニットは、本発明の実施形態で説明される方法を(パソコン、サーバ、ネットワーク機器などの)計算装置に実行させるための幾つかの命令を含み尚且つ(光ディスク、フラッシュストレージデバイス、モバイルハードディスクなどの)不揮発性のストレージ媒体に記憶させることができるソフトウェア製品の形で具現化可能である。ユニットは、1つのデバイス上に実装されてよい、または複数のデバイスに分散されてよい。ユニットの機能は、互いに統合されてよい、または複数のサブユニットにさらに分けられてよい。
【0084】
本明細書で開示された実施形態に照らして説明される方法またはアルゴリズム的ステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、またはこれら両方の組み合わせを使用して実現可能である。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、メモリ、読み出し専用メモリ(ROM)、電気的にプログラム可能なROM、電気的に消去可能でプログラム可能なROM、レジスタ、ハードドライブ、着脱式ディスク、CD−ROM、または当該技術分野で知られるその他の任意の形態のストレージ媒体にインストール可能である。
【0085】
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明を実現するには、多くの代替的手法がある。開示された実施形態は、例示的であり、限定的ではない。
本発明は、たとえば、以下のような態様で実現することもできる。

適用例1:
クライアントをアップデートするための方法であって、
前記クライアントがアップデートされるべきであるかどうかを判定することと、
前記クライアントがアップデートされるべきである場合に、前記クライアントのためのアップデートパッケージを決定することと、
前記クライアントに対応するユーザの、保存されている操作記録に基づいて、前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定することと、 前記決定されたアップデートパッケージのなかから、前記ユーザのお好み機能が依存するアップデートパッケージをお好みパッケージとしてはたらくよう決定することと、
前記お好みパッケージをアップデートのために前記クライアントにリリースすることと
を備える方法。

適用例2:
適用例1の方法であって、
前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定することは、
前記クライアントに対応する前記ユーザの、前記保存されている操作記録に基づいて、前記クライアントによって提供される各機能を前記ユーザが指定の時間範囲内に使用した回数を決定することと、
前記使用された回数が最も多いものから最も少ないものへの順に、指定数の機能を、前記ユーザのお好み機能としてはたらくよう順次選択することと、
を含む、方法。

適用例3:
適用例2の方法であって、さらに、
前記前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定する前に、前記クライアントからネットワーク環境情報を受信することを備え、
前記指定数の機能を順次選択することは、前記クライアントからの前記ネットワーク環境情報、およびネットワーク環境情報と指定数とを対応付けた既定のマッピングに基づいて、前記指定数を決定することを含む、方法。

適用例4:
適用例1の方法であって、
前記決定されたお好みパッケージをアップデートのために前記クライアントにリリースすることは、
前記決定されたお好みパッケージのパッケージ識別子をアップデートテーブルに追加することと、
前記アップデートテーブルに一意のテーブル識別子を割り当てることと、
前記テーブル識別子を前記クライアントにリリースすることと、
前記アップデートテーブルのなかで、前記クライアントに既にリリースされたお好みパッケージのパッケージ識別子に、リリース済みタグを追加することと、
前記クライアントによって送信されたテーブル識別子が受信されているかどうかを判定することと、
前記クライアントによって送信された前記テーブル識別子が受信されている場合に、前記クライアントによって送信された前記テーブル識別子に対応する前記アップデートテーブルを検索し、前記リリース済みタグが追加されていないパッケージ識別子に対応するパッケージをアップデートのために前記クライアントにリリースすることと、
を含む、方法。

適用例5:
適用例1の方法であって、さらに、
前記クライアントのための前記決定されたアップデートパッケージのなかから、前記お好みパッケージが依存するアップデートパッケージを依存パッケージとしてはたらくよう決定することと、
前記クライアントのための前記決定されたアップデートパッケージのなかから、所定の閾値よりも大きい重要度ウェイトを有するアップデートパッケージを必須アップデートパッケージとしてはたらくよう決定することと、
前記依存パッケージおよび前記必須アップデートパッケージをアップデートのために前記クライアントにリリースすることと、
を備える方法。

適用例6:
クライアントをアップデートするためのシステムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに結合され、前記少なくとも1つのプロセッサに命令を提供するように構成されたメモリと、
を備え、
前記少なくとも1つのプロセッサは、
前記クライアントがアップデートされるべきであるかどうかを判定することと、
前記クライアントがアップデートされるべきである場合に、前記クライアントのためのアップデートパッケージを決定することと、
前記クライアントに対応するユーザの、保存されている操作記録に基づいて、前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定することと
前記決定されたアップデートパッケージのなかから、前記ユーザのお好み機能が依存するアップデートパッケージをお好みパッケージとしてはたらくよう決定することと、
前記お好みパッケージをアップデートのために前記クライアントにリリースすることと、
を行うように構成される、システム。

適用例7:
適用例6のシステムであって、
前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定することは、
前記クライアントに対応する前記ユーザの、前記保存されている操作記録に基づいて、前記クライアントによって提供される各機能を前記ユーザが指定の時間範囲内に使用した回数を決定することと、
前記使用された回数が最も多いものから最も少ないものへの順に、指定数の機能を、前記ユーザのためのお好み機能としてはたらくよう順次選択することと、
を含む、システム。

適用例8:
適用例7のシステムであって、
前記1つ以上のプロセッサは、さらに、
前記前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定する前に、前記クライアントからネットワーク環境情報を受信するように構成され、 前記指定数の機能を順次選択することは、前記クライアントからの前記ネットワーク環境情報、およびネットワーク環境情報と指定数とを対応付けた既定のマッピングに基づいて、前記指定数を決定することを含む、システム。

適用例9:
適用例6のシステムであって、
前記決定されたお好みパッケージをアップデートのために前記クライアントにリリースすることは、
前記決定されたお好みパッケージのパッケージ識別子をアップデートテーブルに追加することと、
前記アップデートテーブルに一意のテーブル識別子を割り当てることと、
前記テーブル識別子を前記クライアントにリリースすることと、
前記アップデートテーブルのなかで、前記クライアントに既にリリースされたお好みパッケージのパッケージ識別子に、リリース済みタグを追加することと、
前記クライアントによって送信されたテーブル識別子が受信されているかどうかを判定することと、
前記クライアントによって送信された前記テーブル識別子が受信されている場合に、前記クライアントによって送信された前記テーブル識別子に対応する前記アップデートテーブルを検索し、前記リリース済みタグが追加されていないパッケージ識別子に対応するパッケージをアップデートのために前記クライアントにリリースすることと、
を含む、システム。

適用例10:
適用例6のシステムであって、
前記1つ以上のプロセッサは、さらに、
前記クライアントのための前記決定されたアップデートパッケージのなかから、前記お好みパッケージが依存するアップデートパッケージを依存パッケージとしてはたらくよう決定することと、
前記クライアントのための前記決定されたアップデートパッケージのなかから、所定の閾値よりも大きい重要度ウェイトを有するアップデートパッケージを必須アップデートパッケージとしてはたらくよう決定することと、
前記依存パッケージおよび前記必須アップデートパッケージをアップデートのために前記クライアントにリリースすることと、
を行うように構成される、システム。

適用例11:
有形の非一時的なコンピュータ読み取り可能ストレージ媒体に格納された、クライアントをアップデートするためのコンピュータプログラム製品であって、
前記クライアントがアップデートされるべきであるかどうかを判定するためのコンピュータ命令と、
前記クライアントがアップデートされるべきである場合に、前記クライアントのためのアップデートパッケージを決定するためのコンピュータ命令と、
前記クライアントに対応するユーザの、保存されている操作記録に基づいて、前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定するためのコンピュータ命令と、
前記決定されたアップデートパッケージのなかから、前記ユーザのお好み機能が依存するアップデートパッケージをお好みパッケージとしてはたらくよう決定するためのコンピュータ命令と、
前記お好みパッケージをアップデートのために前記クライアントにリリースするためのコンピュータ命令と、
を備えるコンピュータプログラム製品。

適用例12:
適用例11のコンピュータプログラム製品であって、
前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定することは、
前記クライアントに対応する前記ユーザの、前記保存されている操作記録に基づいて、前記クライアントによって提供される各機能を前記ユーザが指定の時間範囲内に使用した回数を決定することと、
前記使用された回数が最も多いものから最も少ないものへの順に、指定数の機能を、前記ユーザのためのお好み機能としてはたらくよう順次選択することと、
を含む、コンピュータプログラム製品。

適用例13:
適用例12のコンピュータプログラム製品であって、さらに、
前記前記クライアントによって提供される機能のなかから前記ユーザのお好み機能を決定する前に、前記クライアントからネットワーク環境情報を受信することを備え、
前記指定数の機能を順次選択することは、前記クライアントからの前記ネットワーク環境情報、およびネットワーク環境情報と指定数とを対応付けた既定のマッピングとに基づいて、前記指定数を決定することを含む、コンピュータプログラム製品。

適用例14:
適用例11のコンピュータプログラム製品であって、
前記決定されたお好みパッケージをアップデートのために前記クライアントにリリースすることは、
前記決定されたお好みパッケージのパッケージ識別子をアップデートテーブルに追加することと、
前記アップデートテーブルに一意のテーブル識別子を割り当てることと、
前記テーブル識別子を前記クライアントにリリースすることと、
前記アップデートテーブルのなかで、前記クライアントに既にリリースされたお好みパッケージのパッケージ識別子に、リリース済みタグを追加することと、
前記クライアントによって送信されたテーブル識別子が受信されているかどうかを判定することと、
前記クライアントによって送信された前記テーブル識別子が受信されている場合に、前記クライアントによって送信された前記テーブル識別子に対応する前記アップデートテーブルを検索し、前記リリース済みタグが追加されていないパッケージ識別子に対応するパッケージをアップデートのために前記クライアントにリリースすることと、
を含む、コンピュータプログラム製品。

適用例15:
適用例11のコンピュータプログラム製品であって、さらに、
前記クライアントのための前記決定されたアップデートパッケージのなかから、前記お好みパッケージが依存するアップデートパッケージを依存パッケージとしてはたらくよう決定することと、
前記クライアントのための前記決定されたアップデートパッケージのなかから、所定の閾値よりも大きい重要度ウェイトを有するアップデートパッケージを必須アップデートパッケージとしてはたらくよう決定することと、
前記依存パッケージおよび前記必須アップデートパッケージをアップデートのために前記クライアントにリリースすることと、
を備えるコンピュータプログラム製品。
図1
図2A
図2B
図3
図4
図5