JP6132973B2 - クライアントをアップデートするための方法およびデバイス - Google Patents

クライアントをアップデートするための方法およびデバイス Download PDF

Info

Publication number
JP6132973B2
JP6132973B2 JP2016508977A JP2016508977A JP6132973B2 JP 6132973 B2 JP6132973 B2 JP 6132973B2 JP 2016508977 A JP2016508977 A JP 2016508977A JP 2016508977 A JP2016508977 A JP 2016508977A JP 6132973 B2 JP6132973 B2 JP 6132973B2
Authority
JP
Japan
Prior art keywords
client
package
update
function
favorite
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016508977A
Other languages
English (en)
Other versions
JP2016515745A (ja
JP2016515745A5 (ja
Inventor
フェン・ジャオリン
リウ・ジョンシェン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2016515745A publication Critical patent/JP2016515745A/ja
Publication of JP2016515745A5 publication Critical patent/JP2016515745A5/ja
Application granted granted Critical
Publication of JP6132973B2 publication Critical patent/JP6132973B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

[関連出願の相互参照]
本出願は、2013年4月22日に出願された、発明の名称を「A CLIENT UPDATE METHOD AND DEVICE(クライアントアップデートの方法およびデバイス)」とする中国特許出願第201310141479.6号の優先権を主張する。該出願は、あらゆる目的のために、参照によって本明細書に組み込まれる。
本出願は、クライアントをアップデートするための方法およびデバイスに関する。
現在、ワイヤレスネットワークおよびモバイル機器の発展が続くにつれて、ワイヤレスクライアントアプリケーションが益々一般的になっており、これらのクライアントアプリケーションは、通常、頻繁なアップデートを必要とする。
図1は、クライアントをアップデートするための従来のプロセスを示したフローチャートである。プロセス100は、サーバによって実施され、以下を含む。
110において、サーバは、クライアントからアップデートチェックを受信する。アップデートチェックは、クライアントに取り込まれたソフトウェアが最新であることを確認するために、クライアントによって送信される。
具体的には、クライアントは、そのスタートアップの際に、アップデートチェックを起動するためにクライアントアプリケーションのヴァージョン番号をサーバに送信する。
120において、サーバは、クライアントがアップデートされるべきであるかどうかを判定する。もし、クライアントがアップデートされるべきであるならば、制御は130に引き渡される。もし、クライアントがアップデートされるべきでないならば、制御は140に引き渡される。
クライアントによって送信されたヴァージョン番号を受信すると、サーバは、受信されたクライアントアプリケーションのヴァージョン番号を、現時点で利用可能な最新のクライアントアプリケーションのヴァージョン番号と比較する。もし、受信されたヴァージョン番号が最新ヴァージョン番号に一致するならば、クライアントは、アップデートされる必要がない。もし、受信されたヴァージョン番号が最新ヴァージョン番号に一致しないならば、クライアントは、アップデートされるべきである。
130において、もし、受信されたヴァージョン番号が最新ヴァージョン番号に一致しないならば、サーバは、クライアントをアップデートするために、クライアントアップデートパッケージをリリースする。
サーバは、受信されたヴァージョン番号と、現時点で利用可能な最新のクライアントヴァージョン番号との比較に基づいて、受信されたヴァージョン番号が最新のヴァージョン番号とは異なると判定したときは、クライアントのための全アップデートパッケージを決定し、クライアントをアップデートするためにこれらの全アップデートパッケージをリリースする。
140において、もし、受信されたヴァージョン番号が最新のヴァージョン番号に一致するならば、サーバは、クライアントにクライアントがアップデートされないことを通知する。
しかしながら、クライアントは、通常は、特定の1つまたは複数のパッケージにそれぞれ依存する多くの機能を提供することができる。ユーザは、それぞれ異なる利用習慣を有し、各ユーザは、特定の1つまたは複数の機能のみを使用して、提供される全ての機能を使用するのではない傾向がある。例えば、クライアントは、クレジットカード支払い機能および公共料金支払い機能を提供するが、ユーザは、普段はクライアントのクレジットカード支払い機能のみを使用し、クライアントの公共料金支払い機能はほとんどまたは全く使用しない。
しかしながら、従来のプロセス100では、クライアントがアップデートされるべきであるとサーバが判定すると、クライアントアップデートパッケージによってサポートされている機能が定期的に使用されているかどうかにかかわらず、必然的に、クライアントをアップデートするために全てのアップデートパッケージがリリースされる。このプロセスは、明らかに、通常的に使用されているのではないパッケージのアップデートによってネットワークリソースを無駄遣いし、クライアントアップデート効率を低下させ、クライアントネットワーク環境の状態が比較的混雑しているときはクライアントアップデート時間を大幅に長引かせる。
以下の詳細な説明および添付の図面において、本発明の様々な実施形態が開示される。
クライアントをアップデートするための従来のプロセスを示したフローチャートである。
クライアントをアップデートするためのプロセスの一実施形態を示したフローチャートである。
ヴァージョンツリーの一実施形態を示した図である。
お好みパッケージをクライアントにリリースするためのプロセスの一実施形態を示したフローチャートである。
クライアントをアップデートするためのデバイスの一実施形態を示した図である。
クライアントをアップデートするためのシステムの一実施形態を示した図である。
本発明は、プロセス、装置、システム、合成物、コンピュータ読み取り可能ストレージ媒体に実装されたコンピュータプログラム製品、ならびに/または結合先のメモリに記憶された命令および/もしくは結合先のメモリによって提供される命令を実行するように構成されたプロセッサなどのプロセッサのような、数々の形態で実現することができる。本明細書では、これらの実現形態、または本発明がとりえるその他のあらゆる形態を、技術と称することができる。総じて、開示されるプロセスの各ステップの順番は、本発明の範囲内で変更可能である。別途明記されない限り、タスクを実施するように構成されるものとして説明されるプロセッサまたはメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成された汎用コンポーネントとして、またはタスクを実施するように製造された特殊コンポーネントとして実装可能である。本明細書で使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された1つ以上のデバイス、回路、ならびに/または処理コアを言う。
本発明の原理を例示した添付の図面とともに、以下で、本発明の1つ以上の実施形態の詳細な説明が提供される。本発明は、このような実施形態に関連付けて説明されるが、いずれの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、数々の代替形態、変更形態、および均等物を包含している。以下の説明では、本発明の完全な理解を与えるために、数々の具体的詳細が明記されている。これらの詳細は、例示を目的として提供されるものであり、本発明は、これらの詳細の一部または全部を伴わずとも、特許請求の範囲にしたがって実施可能である。明瞭を期するために、本発明に関連した技術分野で知られる技工物は、本発明が不必要に不明瞭にされないように、詳細な説明を省略されている。
一部の実施形態では、クライアントに含まれるパッケージの一部のみをユーザの好みに基づいてアップデートするために、サーバは、保存されているユーザの操作記録に基づいて、ユーザのお好み機能、すなわちユーザによって日常的に使用されている機能を決定し、アップデートのために、ユーザのお好み機能が依存するアップデートパッケージをクライアントにリリースする。なぜならば、クライアントに含まれるパッケージの一部のみがアップデートされるからである。パッケージの一部のみをアップデートすることによって、ネットワークリソースが効果的に節約され、クライアントアップデートの効率が向上される。
図2Aは、クライアントをアップデートするためのプロセスの一実施形態を示したフローチャートである。一部の実施形態では、プロセス200は、図5のサーバ520によって実行に移され、以下を含む。
210において、サーバは、クライアントがアップデートされるべきであるかどうかを判定する。
サーバが、クライアントがアップデートされるべきではないと判定した場合、260において、プロセスは終了する。
サーバが、クライアントがアップデートされるべきであると判定した場合、220において、サーバは、クライアントのためのアップデートパッケージを決定する。一部の実施形態では、アップデートパッケージは、アプリケーションに関する1つのまたは1群の機能を含む。一部の実施形態では、アップデートパッケージに含まれる機能は、アプリケーションの一部に関するものであり、アプリケーションを完全にアップデートするためには、アップデートパッケージに含まれないさらなる機能が必要とされる。
一部の実施形態では、スタートアップの際に、クライアントは、クライアント自身の、クライアントアプリケーションのヴァージョン番号をサーバに送信することによって、サーバによるアップデートチェックを起動させる。通常は、各クライアントアプリケーションは、特定のヴァージョン番号を有する。特定の筋書きでは、クライアントアプリケーションをアップデートするために、より新しい機能がクライアントにダウンロードされるべきである。クライアントのクライアントアプリケーションのヴァージョン番号を受信すると、サーバは、クライアントのクライアントアプリケーションのヴァージョン番号を、現時点で利用可能な最新のクライアントアプリケーションのヴァージョン番号と比較する。これら2つのヴァージョン番号が異なる場合、サーバは、クライアントがアップデートされるべきであると判定する、またはこれら2つのヴァージョン番号が同じである場合、サーバは、クライアントがアップデートを必要としないと判定する。
クライアントがアップデートされるべきであると判定した場合、サーバは、2つのヴァージョン番号の比較に基づいて、クライアントのためのアップデートパッケージも決定する。一例として、サーバは、クライアントに含まれるどのパッケージがアップデートされるべきであるかを決定するために、ヴァージョンツリー比較技術を使用し、サーバ内にある、アップデートされるべきパッケージに対応する最新のパッケージ、すなわちクライアントのためのアップデートパッケージを決定する。例えば、クライアントに含まれる第1のパッケージがアップデートされるべきであると判定した後、サーバは、サーバ内にある、第1のパッケージに対応する最新のパッケージがパッケージ1’であると決定し、このパッケージ1’がクライアントのためのアップデートパッケージであると決定する。一例として、パッケージ1’は、一群の機能のための新しいヴァージョン番号であると見なされる。或る機能の新しいヴァージョンが利用可能になったときに、クライアントにおけるその機能はアップデートされる用意が整う。
図2Bは、ヴァージョンツリーの一実施形態を示した図である。一部の実施形態では、図2Bに示されるように、ヴァージョンツリーにおいてヴァージョンツリー比較技術が実施される。ヴァージョンツリー比較技術を使用することによって、アプリケーションおよびその各機能がヴァージョンツリーの形に編成され、該ツリーでは、図2Bに示されるように、各機能がそれ自身のヴァージョンを有し、親ノードのヴァージョンが子ノードのヴァージョンよりも新しいまたは子ノードのヴァージョンと同じである。アップデートのときは、どの機能がアップデートされるべきであるかを見つけるために、ヴァージョンツリーが検索される。例えば、図2Bに示されるように、クライアントにおいて、ルートノード(V2.0)の子ノードの機能(V1.0)がアップデートされるべきである。また、アップデートされるべき機能の2つの子ノードの機能(V1.0)もまた、アップデートされるべきである。
230において、サーバは、ユーザのクライアントの、格納されている操作記録に基づいて、ユーザのお好み機能を決定する。
一部の実施形態では、サーバは、格納されているユーザの操作記録に基づいて、クライアントによって提供される各機能をユーザが使用した回数を、指定の時間範囲内に使用した回数が多いものから順に決定することができる。このような利用情報に基づいて、サーバは、ユーザの確定(決定された)お好み機能として指定数の機能を選択する。指定の時間範囲には、過去一年、過去一か月、またはその他の任意の期間がある。
一部の実施形態では、クライアントに対応するユーザは、クライアントを通じてログインしているユーザアカウント番号を言う。クライアントは、サーバによるアップデートチェックを起動させる場合に、ユーザに相当するユーザ識別子(ユーザハンドル名やユーザIDなど)はもちろん、クライアント自身のヴァージョン番号も、同時にサーバに送信する。
一部の実施形態では、サーバは、様々なタイプの操作とクライアントによって提供される様々な機能との間の対応関係を予め保存しておき、クライアントに対応するユーザの操作記録に基づいて、指定の時間範囲内にユーザが各タイプの操作を実行した回数を決定する。一部の実施形態では、サーバは、各ユーザのための操作ログを作成し、該ユーザの操作ログにユーザの各操作記録を保存し、また、ユーザのための操作記録テーブルを作成し、該操作記録テーブルにユーザの各操作記録を保存する。一部の実施形態では、操作記録は、ユーザIDと、ユーザによって実行された操作のタイプと、その操作が起きた時刻とを含む。したがって、サーバは、ユーザの操作ログまたは操作記録テーブルのなかで、指定の時間範囲内の時刻に起きた同じタイプの操作を含む記録の回数を、その指定の時間範囲内にユーザがそのタイプの操作を実行した回数として数えることができる。
一部の実施形態では、或る操作のタイプに関し、ユーザがそのタイプの操作を指定の時間範囲内に実行する回数は、このタイプの操作に対応するクライアント内の機能が使用された回数に相当するので、各機能について、サーバは、その機能に対応するタイプの操作をユーザが指定の時間範囲内に実行した回数を、ユーザがその機能を指定の時間範囲内に使用した回数として決定する。
例えば、クライアントがクレジットカード支払い機能および公共料金支払い機能を提供すると想定する。クライアントによって提供されるクレジットカード支払い機能の場合、この機能に対応する操作は、クレジットカード支払い操作として事前に設定されている。操作ログに保存されている様々な操作記録に基づいて、サーバは、ユーザがクレジットカード支払い操作を指定の時間範囲(例えば過去一年、過去一か月、またはその他の任意の適切な期間)内に実行した回数を、ユーザがクレジットカード支払い機能を使用した回数として決定する。同様に、サーバは、ユーザが公共料金支払い機能および/またはその他の機能を指定の時間範囲内に使用した回数を決定することができる。
続いて、お好み機能の指定数が1であり、ユーザがクレジットカード支払い機能を使用した回数が20であると決定され、ユーザが公共料金支払い機能を使用多回数が2であると決定されたとすると、サーバは、使用された回数が多いものから順に、使用回数が最も多い機能を1つ、すなわちクレジットカード支払い機能をユーザのお好み関数として選択する。要するに、機能は、それらの機能の使用回数に基づいて順番を付けることができる。
240において、サーバは、決定されたアップデートパッケージのなかから、ユーザのお好み機能が依存するアップデートパッケージをお好みパッケージとしてはたらくよう決定する。
サーバは、クライアントに対応するユーザのお好み機能を決定した後、決定されたアップデートパッケージのなかから、予め保存されている、クライアントの様々な機能と様々なパッケージとの間の依存関係に基づいて、ユーザのお好み機能が依存するアップデートパッケージを決定し、ユーザのお好み機能が依存するアップデートパッケージをお好みパッケージとして使用する。一例として、最も多く使用された機能がクレジットカード支払い機能であり、2番目に多く使用された機能が公共料金支払い機能であり、その他の機能は頻繁に使用されていないと決定されたときは、サーバは、クレジットカード支払い機能および公共料金支払い機能のみがアップデートされるべきであると判定する。この例では、これら2つの機能を含むアップデートパッケージが、ユーザのためのお好みパッケージである。
250において、サーバは、対応するクライアントのパッケージをアップデートするために、決定されたお好みパッケージをクライアントにリリースする。
一部の実施形態では、サーバは、お好みパッケージを決定した後、該お好みパッケージを、クライアントが自身のパッケージをアップデートすることができるようにクライアントにリリースする。
上記のプロセスを使用することによって、サーバは、ユーザのお好み機能が依存するアップデートパッケージのみをリリースすることができ、全てのアップデートパッケージをクライアントにリリースする必要がない。したがって、ネットワークリソースが節約できる。また、クライアントも、その全てのパッケージをアップデートする代わりに一部のパッケージのみをアップデートするので、クライアントアップデートの効率も向上される。
実際の用途の筋書きでは、クライアントのネットワーク環境がそれぞれ異なっており、比較的貧しいネットワーク環境で動作しているクライアントの場合は、もし、アップデートされるパッケージの数が非常に多いと、クライアントアップデート時間が大幅に長くなり、クライアントアップデート効率が低下する恐れがある。一部の実施形態では、クライアントに対応するユーザのお好み機能を決定する前に、サーバは、クライアントによってサブミットされたネットワーク環境情報を受信する。続いて、サーバは、使用された回数が多いものから順に指定数の機能をユーザのお好み機能としてはたらくよう順次選択するときに、その指定数を、クライアントによってサブミットされたネットワーク環境情報、およびネットワーク環境情報と指定数とを対応付ける既定のマッピングに基づいて決定し、ユーザが各機能を使用した回数が多いものから順に、決定された指定数の機能を、ユーザの確定お好み機能としてはたらくよう順次選択することができる。一部の実施形態では、ネットワーク環境が貧しいほど、ユーザの確定お好み機能としての対応する機能の指定数が少なくなる。
例えば、ネットワーク環境情報には、第2世代携帯通信技術(2G)ネットワーク、第3世代携帯通信技術(3G)ネットワーク、およびワイヤレスフィデリティ(Wi−Fi)ネットワークがあり、ネットワーク環境情報と指定数とを対応付けた既定のマッピングは、以下のとおりである。すなわち、2Gネットワークに対応する指定数は3であり、3Gネットワークに対応する指定数は6であり、Wi−Fiネットワークに対応する指定数は、クライアントに含まれる全パッケージの数である。クライアントによってサブミットされたネットワーク環境情報が2Gネットワークである場合、サーバは、2Gネットワークに対応する指定数が3であると決定する。したがって、各機能がユーザによって使用された回数が多いものから順に、サーバは、ユーザのお好み機能として3つの機能を順次選択する。しかしながら、クライアントによってサブミットされたネットワーク環境がWi−Fiネットワークである場合、サーバは、ユーザのお好み機能としてクライアントの全機能を使用する。Wi−Fiネットワーク上では、サーバは、クライアントのアップデートを行うために、全てのアップデートパッケージをクライアントにリリースする。
一部の実施形態では、クライアントによってサブミットされたネットワーク環境情報が指定の条件を満たす場合も、サーバは、クライアントにまだリリースされていない全てのアップデートパッケージを、アップデートのためにクライアントにリリースする。引き続き上記の例では、クライアントが或る時点でアップデートチェックを起動させた後、サーバは、このクライアントのためのアップデートパッケージが10個あること、およびクライアントによってサブミットされたネットワーク環境情報が2Gネットワークであることを決定する。したがって、サーバは、3つのアップデートパッケージのみをクライアントにリリースし、その後、クライアントが再びアップデートチェックを起動させ、サブミットされたネットワーク環境情報が指定の条件を満たすWi−Fiネットワークである場合がきたら、サーバは、アップデートを実施するために、残る7つのアップデートパッケージを全てクライアントにリリースする。要するに、指定の条件は、速度や料金などが様々である異なるネットワーク環境に関するものである。異なるネットワーク環境の例として、1)2G環境の速度がその他のネットワークと比べて遅く、2G環境の料金がその他のネットワークの料金と比べて高いこと、2)3Gネットワークの速度がその他のネットワークと比べて速く、3G環境の料金がその他のネットワークの料金と比べて高いこと、および3)Wi−Fiネットワークの速度がその他のネットワークと比べて速く、Wi−Fiネットワークの料金が普通は無料であるまたはその他のネットワークの料金と比べて大幅に安いことが挙げられる。一部の実施形態では、アップデートされるべきパッケージは、指定の条件に基づいて決定される。
上記の例は、ネットワーク環境情報と指定数との間の対応付けを説明するために、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環境)である。
250において、サーバは、上記のプロセスを使用してお好みパッケージを決定した後、決定されたお好みパッケージを、アップデートのためにクライアントにそのままリリースする。
しかしながら、サーバによってリリースされたお好みパッケージの受信が、ネットワーク上の理由(突発的なネットワークの切断など)により中断された場合、サーバは、お好みパッケージの送信を再開させるためのブレークポイントがわからない。したがって、上記のアップデートチェックの起動が繰り返され、クライアントアップデートの効率が激しく低下する。
図3は、お好みパッケージをクライアントにリリースするためのプロセスの一実施形態を示したフローチャートである。一部の実施形態では、プロセス300は、250を実行に移したものであり、以下を含む。
310において、サーバは、決定されたお好みパッケージのパッケージ識別子をアップデートテーブルに追加し、該アップデートテーブルに一意のテーブル識別子を割り当てる。
320において、サーバは、テーブル識別子をクライアントにリリースする。
一部の実施形態では、サーバは、お好みパッケージを決定した後、決定された全てのお好みパッケージのパッケージ識別子(例えばパッケージ名やパッケージ番号など)をアップデートテーブルに追加し、該アップデートテーブルに一意のテーブル識別子(例えばテーブルID)を割り当てる。続いて、サーバは、テーブル識別子をクライアントにリリースする。アップデートテーブルは、クライアントのアップデートプランに対応しており、現アップデートにおいてクライアントによって使用されるべきアップデートパッケージ(例えばお好みパッケージ)を記録している。サーバは、アップデートテーブルにしたがってお好みパッケージをリリース(送信)する。アップデートテーブルに記録されたパッケージ識別子に対応するお好みパッケージをサーバがクライアントにリリースし、そのパッケージが成功裏に受信されたことをクライアントが認識するたびに、サーバは、そのパッケージが成功裏に送信され認識されたことを示すために、アップデートテーブルに含まれる対応するお好みパッケージのパッケージ識別子にリリース済みタグを追加する。
330において、サーバは、クライアントによって送信された、テーブル識別子に対応するアップデートテーブルに含まれるパッケージを要求するリクエストを受信する。リクエストは、テーブル識別子を含む。
クライアントは、サーバによって送信されたテーブル識別子を受信した後、そのテーブル識別子を保存し、このテーブル識別子に対応するアップデートテーブルに含まれるパッケージを要求するために、このテーブル識別子を含むリクエストをサーバに送信する。
340において、サーバは、テーブル識別子に対応するアップデートテーブルを検索する。
350において、サーバは、アップデートテーブルに含まれるパッケージ識別子に対応するパッケージであってリリース済みタグが追加されていないパッケージを、アップデートのためにクライアントにリリースする。
上記の図3のプロセス300を使用すると、サーバは、一意のテーブル識別子に対応するアップデートテーブルに、様々なお好みパッケージのパッケージ識別子を既に追加してあるので、たとえもし、お好みパッケージの受信がクライアントによって中断されたとしても、図2Aのプロセス200全体を繰り返す必要はない。クライアントは、テーブル識別子に対応するアップデートテーブルのなかのパッケージを要求するために、サーバにテーブル識別子を再送信するだけでよい。また、サーバは、既に成功裏にリリースされたパッケージに対応するパッケージ識別子にリリース済みタグを追加する。したがって、お好みパッケージの受信がクライアントによって中断されたとき、サーバは、クライアントアップデート効率をさらに向上させるために、リリース済みタグが追加されていないパッケージ識別子に対応するパッケージのみを検索してリリースし、アップデートテーブルに含まれる全てパッケージ識別子に対応するパッケージのリリースを繰り返さなくてすむ。
一部の実施形態では、クライアントがアップデート後も正常に動作できることを確実にするために、サーバは、決定されたアップデートパッケージのなかから、様々なお好みパッケージが依存するアップデートパッケージを依存パッケージとしてはたらくよう決定し、これらの依存パッケージを、アップデートのためにクライアントにリリースする。
例えば、サーバによって決定されたお好みパッケージが、クレジットカード支払いパッケージおよび公共料金支払いパッケージであり、これら2つのパッケージが、ともに、パスワード入力セキュリティパッケージに依存すると想定する。クレジットカード支払いパッケージおよび公共料金支払いパッケージに加えて、決定されたアップデートパッケージは、パスワード入力セキュリティパッケージも含む。一例として、もし、機能Aが機能Bに依存し、機能Cもまた機能Bに依存し、機能Aおよび機能Bがともにアップデートされるべきであるならば、機能Cもまたアップデートされるべきである。そうでないと、クライアントのソフトウェアが正常に動作することができない。一部の実施形態では、この依存関係は、サーバに事前に設定されてある。このため、クレジットカード支払いパッケージおよび公共料金支払いパッケージのみが、アップデートのためにクライアントにリリースされ、パスワード入力セキュリティパッケージが、アップデートのためにクライアントにリリースされない場合、クライアントの機能は、アップデート後は正常に動作できなくなる(またはクレジットカード支払いパッケージおよび公共料金支払いパッケージを正常に提供できなくなる)だろう。したがって、サーバは、クライアントがアップデート後も正常に動作できることを確実にするために、決定されたアップデートパッケージのなかから、クレジットカード支払いパッケージおよび公共料金支払いパッケージが依存するアップデートパッケージ(すなわちパスワード入力セキュリティパッケージ)も決定し、該パスワード入力セキュリティパッケージを、アップデートのために依存パッケージとしてクライアントにリリースする。
もちろん、サーバによって依存パッケージが決定された後、該依存パッケージもやはり、その他の決定されたアップデートパッケージに依存する(例えば、上記の例におけるパスワード入力セキュリティパッケージは、その他のアップデートパッケージにも依存する)可能性があり、サーバは、依存パッケージが依存するその他のアップデートパッケージを引き続き決定し、これらのその他のアップデートパッケージを依存パッケージとして使用し、同じ技術を再帰的に用いて全ての依存パッケージを決定してそれらの依存パッケージをリリースすることを続ける。
さらに、一部の実施形態では、クライアントのためのアップデートパッケージは、特定のメジャー脆弱性修復アップデートパッケージを含む。これらの脆弱性修復アップデートパッケージは、クライアントの正常な動作に関係しており、それゆえに、クライアントの各アップデートパッケージには、重要度ウェイトが予め割り当てられる。メジャー脆弱性修復アップデートパッケージが、高めの重要度ウェイトを割り当てられる一方で、特定の最適化パッケージまたはアップデートパッケージは、低めの重要度ウェイトを割り当てられる。したがって、決定されたアップデートパッケージのなかから、サーバは、所定の閾値よりも大きい重要度ウェイトを有するアップデートパッケージを、必須のアップデートパッケージとして決定する。要するに、サーバは、所定に閾値よりも大きい重要度ウェイトを有するアップデートパッケージを、必須のアップデートパッケージとして使用し、これらの必須のアップデートパッケージを、アップデートのためにクライアントにリリースする。一例では、所定の閾値が5であり、メジャー脆弱性修復アップデートパッケージに割り当てられた指定のウェイトが10(または5を超える値)であり、マイナー最適化パッケージまたはアップデートパッケージに割り当てられた指定のウェイトが1(または5よりも小さい値)である。所定の閾値を超えたときは、常に、メジャー脆弱性修復アップデートパッケージはアップデートされ、そうでないときは、メジャー脆弱性修復アップデートパッケージはアップデートされない。一部の実施形態では、機能に対する必要な修正が常にアップデートされる。
相応して、依存パッケージおよび必須アップデートパッケージのリリースに関しても、サーバは、アップデートテーブル技術を使用して依存パッケージおよび必須アップデートパッケージをリリースする。すなわち、サーバは、お好みパッケージ、依存パッケージ、および必須アップデートパッケージのパッケージ識別子をアップデートテーブルに追加し、このアップデートテーブルに一意のテーブル識別子を割り当て、該テーブル識別子をクライアントにリリースする。一部の実施形態では、アップデートテーブルのなかで、クライアントに既にリリースされたパッケージに対応するパッケージ識別子に、リリース済みタグが追加される。クライアントによって送信されたテーブル識別子が受信されると、アップデートテーブルのなかで、リリース済みタグが追加されていないパッケージ識別子に対応するパッケージが、アップデートのためにクライアントにリリースされる。
また、一部の実施形態では、クライアントのためのアップデートパッケージを決定した後、サーバは、クライアントに対応するユーザが各機能を使用した回数に基づいて、各機能が依存するアップデートパッケージのための優先度ウェイトも決定する。機能が使用された回数が多いほど、その機能が依存するアップデートパッケージの優先度ウェイトは高くなる。続いて、各アップデートパッケージについて、そのアップデートパッケージの優先度ウェイトおよび重要度ウェイトの合計ウェイトが決定される。次に、サーバは、クライアントによってサブミットされたネットワーク環境情報、およびネットワーク環境情報と指定数との間の既定の対応関係にしたがって、指定数を決定する。続いて、様々なアップデートパッケージの合計ウェイトが最も大きいものから順に、サーバは、決定された指定数のアップデートパッケージを、リリースされるべきアップデートパッケージに含めるために順次選択し、このときに、クライアントのためのアップデートパッケージのなかから、リリースされるべき各パッケージが依存するアップデートパッケージが再帰的に決定される。依存パッケージもやはり、リリースされるべきアップデートパッケージとして含められ、リリースされるべき様々なアップデートパッケージが、アップデートのためにクライアントにリリースされる。
上述されたプロセス200および300は、クライアントアップデートプロセスである。上記のプロセス200および300に基づいて、クライアントをアップデートするためのデバイスが図4に描かれている。
図4は、クライアントをアップデートするためのデバイスの一実施形態を示した図である。一部の実施形態では、デバイス400は、プロセス200および300を実行するものであり、アップデートパッケージ決定モジュール410と、お好み機能決定モジュール420と、お好みパッケージ決定モジュール430と、リリースモジュール440とを含む。
アップデートパッケージ決定モジュール410は、クライアントがアップデートされるべきであるという判定がなされたときに、そのクライアントのためのアップデートパッケージを決定する。
お好み機能決定モジュール420は、クライアントに対応するユーザの、保存されている操作記録に基づいて、クライアントによって提供される機能のなかから、ユーザのお好み機能を決定する。
お好みパッケージ決定モジュール430は、決定されたアップデートパッケージのなかから、ユーザのお好み機能が依存するアップデートパッケージをお好みパッケージとしてはたらくよう決定する。
リリースモジュール440は、決定されたお好みパッケージを、アップデートのためにクライアントにリリースする。
お好み機能決定モジュール420は、クライアントに対応するユーザの、保存されている操作記録に基づいて、クライアントによって提供される各機能をユーザが指定の時間範囲内に使用した回数を決定し、引き続き、使用された回数が最も多いものから最も少ないものへの順に指定数の機能を、ユーザのための確定お好み機能としてはたらくよう順次選択する。
一部の実施形態では、デバイス400は、さらに、受信モジュール450を含む。
お好み機能決定モジュール420がユーザのお好み機能を決定する前に、受信モジュール450は、クライアントによってサブミットされたネットワーク環境情報を受信する。
お好み機能決定モジュール420は、受信モジュール450によって受信された、クライアントによってサブミットされたネットワーク環境情報、およびネットワーク環境情報と指定数とを対応付けた既定のマッピングに基づいて、クライアントによってサブミットされたネットワーク環境情報に対応する指定数を決定し、使用された回数が多いものから順に、上記決定された指定数の機能を、ユーザのための確定お好み機能としてはたらくよう順次選択する。
リリースモジュール440は、決定されたお好みパッケージのパッケージ識別子をアップデートテーブルに追加し、該アップデートテーブルに一意のテーブル識別子を割り当て、該テーブル識別子をクライアントにリリースする。一部の実施形態では、クライアントに既にリリースされたお好みパッケージのパッケージ識別子に、リリース済みタグが追加される。クライアントによって送信されたテーブル識別子が受信されると、クライアントによって送信されたテーブル識別子に対応するアップデートテーブルが検索され、アップデートテーブルのなかで、リリース済みタグが追加されていないパッケージ識別子に対応するパッケージが、アップデートのためにクライアントにリリースされる。
一部の実施形態では、デバイスは、さらに、依存パッケージ決定モジュール460と、必須パッケージ決定モジュール470とを含む。
依存パッケージ決定モジュール460は、アップデートパッケージのなかから、お好みパッケージが依存するアップデートパッケージをクライアントのための依存パッケージとしてはたらくよう決定する。
必須パッケージ決定モジュール470は、アップデートパッケージのなかから、所定の閾値よりも大きい重要度ウェイトを有するアップデートパッケージをクライアントのための必須アップデートパッケージとしてはたらくよう決定する。
リリースモジュール440は、決定された依存パッケージおよび必須アップデートパッケージをアップデートのためにクライアントにリリースする。
一部の実施形態では、クライアントをアップデートするための上記のデバイスは、サーバ上に位置する。
図5は、クライアントをアップデートするためのシステムの一実施形態を示した図である。一部の実施形態では、システム500は、ネットワーク530を通じてクライアント510に接続されたサーバ520を含む。
一部の実施形態では、クライアント510は、ネットワーク530を通じてアップデートチェックをサーバ520に送信する。アップデートチェックを受信すると、サーバ520は、クライアント510がアップデートされるべきであるかどうかを判定する。サーバ520は、クライアント510がアップデートされるべきであると判定した場合、ユーザのお好み機能に基づいて、お好みパッケージを含むアップデートパッケージをクライアント510に送信する。
クライアントをアップデートするためのプロセスおよびデバイスが提供される。プロセスは、クライアントがアップデートされるべきであるとの判定がなされたときに、サーバが、クライアントのためのアップデートパッケージを決定し、該クライアントのための決定されたアップデートパッケージのなかからユーザのお好み機能が依存するパッケージを決定し、ユーザのお好み機能が依存するパッケージをアップデートのためにクライアントにリリースすることを含む。したがって、サーバは、全てのアップデートパッケージをクライアントにリリースする必要はなく、その代わり、ユーザのお好み機能が依存するパッケージのみがアップデートされる。したがって、ネットワークリソースが節約され、クライアントをアップデートする効率が向上される。
上述されたユニットは、1つ以上の汎用プロセッサ上で実行されるソフトウェアコンポーネントとして、またはプログラマブルロジックデバイスおよび/もしくは特定の機能を実施するように設計された特殊用途向け集積回路などのハードウェアとして、またはそれらの組み合わせとして実装することができる。一部の実施形態では、ユニットは、本発明の実施形態で説明される方法を(パソコン、サーバ、ネットワーク機器などの)計算装置に実行させるための幾つかの命令を含み尚且つ(光ディスク、フラッシュストレージデバイス、モバイルハードディスクなどの)不揮発性のストレージ媒体に記憶させることができるソフトウェア製品の形で具現化可能である。ユニットは、1つのデバイス上に実装されてよい、または複数のデバイスに分散されてよい。ユニットの機能は、互いに統合されてよい、または複数のサブユニットにさらに分けられてよい。
本明細書で開示された実施形態に照らして説明される方法またはアルゴリズム的ステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、またはこれら両方の組み合わせを使用して実現可能である。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、メモリ、読み出し専用メモリ(ROM)、電気的にプログラム可能なROM、電気的に消去可能でプログラム可能なROM、レジスタ、ハードドライブ、着脱式ディスク、CD−ROM、または当該技術分野で知られるその他の任意の形態のストレージ媒体にインストール可能である。
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明を実現するには、多くの代替的手法がある。開示された実施形態は、例示的であり、限定的ではない。
本発明は、たとえば、以下のような態様で実現することもできる。

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

Claims (12)

  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に記載のコンピュータプログラムであって、さらに、
    前記クライアントのための前記決定されたアップデートパッケージのなかから、前記お好みパッケージが依存するアップデートパッケージを依存パッケージとしてはたらくよう決定する機能と、
    前記クライアントのための前記決定されたアップデートパッケージのなかから、所定の閾値よりも大きい重要度ウェイトを有するアップデートパッケージを必須アップデートパッケージとしてはたらくよう決定する機能と、
    前記依存パッケージおよび前記必須アップデートパッケージをアップデートのために前記クライアントにリリースする機能と、
    を実現させるための、コンピュータプログラム。
JP2016508977A 2013-04-22 2014-04-11 クライアントをアップデートするための方法およびデバイス Active JP6132973B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201310141479.6 2013-04-22
CN201310141479.6A CN104113576A (zh) 2013-04-22 2013-04-22 一种客户端的更新方法及装置
US14/250,236 US9699028B2 (en) 2013-04-22 2014-04-10 Method and device for updating client
US14/250,236 2014-04-10
PCT/US2014/033809 WO2014176048A1 (en) 2013-04-22 2014-04-11 Method and device for updating client

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017081789A Division JP6441404B2 (ja) 2013-04-22 2017-04-18 クライアントをアップデートするための方法およびデバイス

Publications (3)

Publication Number Publication Date
JP2016515745A JP2016515745A (ja) 2016-05-30
JP2016515745A5 JP2016515745A5 (ja) 2016-07-07
JP6132973B2 true JP6132973B2 (ja) 2017-05-24

Family

ID=51710209

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016508977A Active JP6132973B2 (ja) 2013-04-22 2014-04-11 クライアントをアップデートするための方法およびデバイス
JP2017081789A Active JP6441404B2 (ja) 2013-04-22 2017-04-18 クライアントをアップデートするための方法およびデバイス

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2017081789A Active JP6441404B2 (ja) 2013-04-22 2017-04-18 クライアントをアップデートするための方法およびデバイス

Country Status (8)

Country Link
US (2) US9699028B2 (ja)
EP (1) EP2989543B1 (ja)
JP (2) JP6132973B2 (ja)
KR (1) KR101781339B1 (ja)
CN (1) CN104113576A (ja)
HK (1) HK1201390A1 (ja)
TW (1) TWI622933B (ja)
WO (1) WO2014176048A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2875850C (en) * 2014-12-23 2022-07-05 Steve Cooper Version synchronization of dependent components
CN104579768B (zh) * 2014-12-29 2018-12-18 广州酷狗计算机科技有限公司 客户端升级方法和装置
CN105988841A (zh) * 2015-02-12 2016-10-05 广东欧珀移动通信有限公司 一种应用程序的更新方法及移动终端
US9792110B2 (en) * 2015-12-21 2017-10-17 International Business Machines Corporation Automatic online system upgrade
CN105843642A (zh) * 2016-03-21 2016-08-10 青岛海信移动通信技术股份有限公司 终端的升级方法、终端升级控制方法、终端及服务器
CN106445610A (zh) * 2016-10-08 2017-02-22 乐视控股(北京)有限公司 一种应用程序处理方法及装置
CN106959916B (zh) * 2017-02-28 2022-11-04 腾讯科技(深圳)有限公司 客户端留存影响检测方法和装置
CN108536694A (zh) * 2017-03-02 2018-09-14 广州市动景计算机科技有限公司 用户偏好的推测方法、装置和终端设备
CN106933630B (zh) * 2017-03-09 2020-07-31 百度在线网络技术(北京)有限公司 一种客户端升级方法、装置、设备及存储介质
CN109388423A (zh) * 2017-08-03 2019-02-26 合网络技术(北京)有限公司 软件升级方法及装置
CN107835301A (zh) * 2017-10-20 2018-03-23 上海青橙实业有限公司 一种添加辅助功能的方法和装置
CN108008966B (zh) * 2017-12-04 2020-11-03 浪潮通用软件有限公司 一种资源更新方法和系统
JP7259432B2 (ja) * 2019-03-18 2023-04-18 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US11361354B2 (en) * 2020-04-27 2022-06-14 Swiftly Systems, Inc. Method, computer-readable non-transitory storage media, and system for distributing and updating product catalogs to wireless devices
CN115357280A (zh) * 2022-08-09 2022-11-18 湖南木屋网络科技有限公司 软件版本管理方法、装置、服务器及存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271387A (ja) 2002-03-12 2003-09-26 Mitsubishi Denki Information Technology Corp ダウンロード方法、ダウンロードシステム
US8370825B2 (en) * 2003-10-22 2013-02-05 Hewlett-Packard Development Company, L.P. Program-update prioritization according to program-usage tracking
JP2005157509A (ja) 2003-11-21 2005-06-16 Hitachi Ltd 通信端末
US7814473B2 (en) * 2004-10-27 2010-10-12 Oracle International Corporation Feature usage based target patching
JP4792744B2 (ja) 2004-12-24 2011-10-12 富士ゼロックス株式会社 画像処理装置
US20060168578A1 (en) 2005-01-21 2006-07-27 U-Turn Media Corporation Methods and systems for managing a mobile client in a client-server system connected via a public network
JP2006331394A (ja) * 2005-04-25 2006-12-07 Ricoh Co Ltd プログラムバージョン管理方法、プログラム及び印刷システム
US20080227440A1 (en) 2007-03-16 2008-09-18 Vinay Kumar Chowdary Settepalli Methods and apparatus for discovering and updating a mobile device via user behavior
WO2008114491A1 (ja) * 2007-03-20 2008-09-25 Access Co., Ltd. アプリケーション更新管理機能を備えた端末、アプリケーション更新管理プログラムおよびシステム
JP5293595B2 (ja) * 2007-03-20 2013-09-18 富士通株式会社 コンピュータプログラム、更新システム、及びプログラム実行装置
JP2009193444A (ja) * 2008-02-15 2009-08-27 Fuji Xerox Co Ltd ソフトウェア更新システムおよび管理装置および端末
US9600261B2 (en) 2008-03-25 2017-03-21 Qualcomm Incorporated Apparatus and methods for widget update scheduling
JP2010079546A (ja) 2008-09-25 2010-04-08 Hitachi Software Eng Co Ltd プログラム配信更新システム
CN102006449B (zh) * 2009-09-01 2013-01-30 株式会社理光 图像信息交互系统及图像信息交互方法
JP5293522B2 (ja) * 2009-09-14 2013-09-18 株式会社リコー 管理システム、管理方法、及び管理プログラム
JP5295079B2 (ja) 2009-11-17 2013-09-18 三菱電機株式会社 プログラムダウンロード装置及びプログラムダウンロード方法
US20110289499A1 (en) 2010-05-19 2011-11-24 Microsoft Corporation Techniques to automatically update software applications
US8990307B2 (en) 2011-11-16 2015-03-24 Box, Inc. Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform
US9197720B2 (en) * 2011-12-07 2015-11-24 Yahoo! Inc. Deployment and hosting of platform independent applications
US9292299B2 (en) * 2012-10-16 2016-03-22 Yahoo! Inc. Methods and systems for package management

Also Published As

Publication number Publication date
TWI622933B (zh) 2018-05-01
HK1201390A1 (en) 2015-08-28
EP2989543B1 (en) 2023-06-07
US10225145B2 (en) 2019-03-05
JP2017152026A (ja) 2017-08-31
US20140317174A1 (en) 2014-10-23
TW201441934A (zh) 2014-11-01
WO2014176048A1 (en) 2014-10-30
KR20150119949A (ko) 2015-10-26
US20170264482A1 (en) 2017-09-14
JP2016515745A (ja) 2016-05-30
KR101781339B1 (ko) 2017-10-23
US9699028B2 (en) 2017-07-04
JP6441404B2 (ja) 2018-12-19
EP2989543A1 (en) 2016-03-02
CN104113576A (zh) 2014-10-22

Similar Documents

Publication Publication Date Title
JP6441404B2 (ja) クライアントをアップデートするための方法およびデバイス
US11157324B2 (en) Partitioning for delayed queues in a distributed network
US11010215B2 (en) Recommending applications based on call requests between applications
EP2682863A1 (en) Installing applications remotely
CN106331065B (zh) 一种用于具有服务容器的主机系统的代理应用以及系统
US10153979B2 (en) Prioritization of network traffic in a distributed processing system
WO2015058631A1 (en) Method, server and system for malicious url identification
CN104754062A (zh) 基于互联网的信息推广方法、服务器及用户终端
CN104866339A (zh) Fota数据的分布式持久化管理方法、系统和装置
US10642585B1 (en) Enhancing API service schemes
CN111158892B (zh) 一种任务队列生成方法、装置及设备
CN113132267B (zh) 一种分布式系统、数据聚合方法和计算机可读存储介质
CN104618388A (zh) 快速注册登录方法及对应的重置服务器、信息服务器
US20150149615A1 (en) Process cage providing attraction to distributed storage
CN106155790B (zh) 应用程序的管理方法、管理装置和终端
CN110741617A (zh) 资源更新方法、装置、计算机设备和存储介质
CN105763616A (zh) 资源下载方法及装置
US11431795B2 (en) Method, apparatus and storage medium for resource configuration
EP3748493B1 (en) Method and device for downloading installation-free application
CN109962941B (zh) 通信方法、装置以及服务器
US11350254B1 (en) Methods for enforcing compliance policies and devices thereof
EP3346671B1 (en) Service processing method and equipment
CN112199175B (zh) 一种任务队列生成方法、装置及设备
KR20170046531A (ko) 단축 웹 주소 생성 장치
US20200151004A1 (en) Remote working system and working method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170321

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170418

R150 Certificate of patent or registration of utility model

Ref document number: 6132973

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250