Method and device for updating client
12 claims: 3 independent, 9 dependent
- 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に記載のコンピュータプログラムであって、さらに、 前記クライアントのための前記決定されたアップデートパッケージのなかから、前記お好みパッケージが依存するアップデートパッケージを依存パッケージとしてはたらくよう決定する機能と、 前記クライアントのための前記決定されたアップデートパッケージのなかから、所定の閾値よりも大きい重要度ウェイトを有するアップデートパッケージを必須アップデートパッケージとしてはたらくよう決定する機能と、 前記依存パッケージおよび前記必須アップデートパッケージをアップデートのために前記クライアントにリリースする機能と、 を実現させるための、コンピュータプログラム。
Independent claims12
85 paragraphs, as filed
0001[Cross-reference of related applications] This application claims the priority of Chinese Patent Application No. 201310141479.6, filed on April 22, 2013, with the title of the invention "A CLIENT UPDATE METHOD AND DEVICE". The application is incorporated herein by reference for all purposes.
0002This application relates to methods and devices for updating clients.
0003Today, as wireless networks and mobile devices continue to evolve, wireless client applications are becoming more and more common, and these client applications typically require frequent updates.
0004Figure 1 is a flowchart showing the traditional process for updating a client. Process 100 is performed by the server and includes:
0005At 110, the server receives an update check from the client. Update checks are sent by the client to ensure that the software captured by the client is up to date.
0006Specifically, the client sends the client application version number to the server at its startup to trigger an update check.
0007At 120, the server determines if the client should be updated. If the client should be updated, control is passed to 130. If the client should not be updated, control is passed to 140.
0008Upon receiving the version number sent by the client, the server compares the received version number of the client application with the latest available version number of the client application. If the received version number matches the latest version number, the client does not need to be updated. If the received version number does not match the latest version number, the client should be updated.
0009At 130, if the received version number does not match the latest version number, the server releases a client update package to update the client.
0010When the server determines that the received version number is different from the latest version number, based on a comparison of the received version number with the latest available version number, it is for the client. Determine all update packages and release all these update packages to update the client.
0011At 140, if the received version number matches the latest version number, the server notifies the client that the client will not be updated.
0012However, a client can typically provide many features that depend on one or more specific packages, respectively. Users have different usage habits, and each user tends to use only one or more specific functions and not all the functions provided. For example, a client provides a credit card payment function and a utility bill payment function, but a user usually uses only the client's credit card payment function and uses little or no client's utility bill payment function.
0013However, in traditional process 100, when the server determines that the client should be updated, it inevitably sends the client regardless of whether the features supported by the client update package are used on a regular basis. All update packages will be released for updates. This process obviously wastes network resources by updating packages that are not normally used, reduces client update efficiency, and updates clients when the client network environment is relatively busy. It prolongs the time significantly.
0014Various embodiments of the present invention are disclosed in the following detailed description and accompanying drawings.
0015<figref num="1">It is a flowchart which showed the conventional process for updating a client.</figref>
0016<figref num="2A">It is a flowchart which showed one Embodiment of the process for updating a client.</figref>
0017<figref num="2B">It is a figure which showed one Embodiment of a version tree.</figref>
0018<figref num="3">It is a flowchart which showed one Embodiment of the process for releasing a favorite package to a client.</figref>
0019<figref num="4">It is a figure which showed one Embodiment of the device for updating a client.</figref>
0020<figref num="5">It is a figure which showed one Embodiment of the system for updating a client.</figref>
0021The present invention relates to processes, devices, systems, composites, computer program products implemented in computer-readable storage media, and / or instructions stored in the destination memory and / or instructions provided by the destination memory. It can be implemented in a number of forms, such as a processor such as a processor configured to run. As used herein, these realizations, or any other form that the invention can take, can be referred to as technology. Overall, the order of each step in the disclosed process can be changed within the scope of the present invention. Unless otherwise stated, a component such as a processor or memory that is described as being configured to perform a task either as a generic component that is temporarily configured to perform the task at a given time, or to perform the task. It can be implemented as a special component manufactured as described above. As used herein, the term "processor" refers to one or more devices, circuits, and / or processing cores that are configured to process data such as computer program instructions.
0022A detailed description of one or more embodiments of the invention is provided below, along with accompanying drawings exemplifying the principles of the invention. The present invention will be described in connection with such embodiments, but is not limited to any of the embodiments. The scope of the invention is limited only by the claims, and the invention includes a number of alternatives, modifications, and equivalents. In the following description, a number of specific details are specified to give a complete understanding of the present invention. These details are provided for purposes of illustration only, and the present invention can be carried out according to the claims without any part or all of these details. For clarity, technical works known in the art related to the present invention have been omitted in detail so that the invention is not unnecessarily obscured.
0023In some embodiments, in order to update only some of the packages contained in the client based on the user's preferences, the server bases the user's preferred features, i.e., based on the stored user's operational records. Determine the features that the user uses on a daily basis and release to the client an update package on which the user's preferred features depend for updates. This is because only some of the packages included in the client will be updated. Updating only part of the package effectively saves network resources and improves the efficiency of client updates.
0024FIG. 2A is a flowchart showing an embodiment of the process for updating the client. In some embodiments, process 200 is executed by server 520 in FIG. 5, including:
0025At 210, the server determines if the client should be updated.
0026At 260, the process terminates if the server determines that the client should not be updated.
0027If the server determines that the client should be updated, at 220, the server determines the update package for the client. In some embodiments, the update package includes one or a set of features related to the application. In some embodiments, the features included in the update package relate to a portion of the application, and additional features not included in the update package are required to completely update the application.
0028In some embodiments, at startup, the client initiates a server update check by sending the client's own version number of the client application to the server. Typically, each client application has a specific version number. In certain scenarios, newer features should be downloaded to the client in order to update the client application. Upon receiving the client application version number, the server compares the client client application version number with the latest available client application version number. If these two version numbers are different, the server determines that the client should be updated, or if these two version numbers are the same, the server determines that the client does not need the update.
0029If the client determines that it should be updated, the server also determines the update package for the client based on the comparison of the two version numbers. As an example, the server uses version tree comparison technology to determine which packages contained in the client should be updated, and the latest packages in the server that correspond to the packages to be updated. , That is, determine the update package for the client. For example, after determining that the first package contained in the client should be updated, the server determines that the latest package in the server that corresponds to the first package is package 1'. Determine that this package 1'is an update package for the client. As an example, package 1'is considered to be a new version number for a group of features. When a new version of a feature becomes available, that feature on the client is ready to be updated.
0030FIG. 2B is a diagram showing an embodiment of the version tree. In some embodiments, a version tree comparison technique is performed in the version tree, as shown in FIG. 2B. By using version tree comparison technology, the application and its features are organized in the form of a version tree, in which each feature has its own version and of the parent node, as shown in Figure 2B. The version is newer than the version of the child node or the same as the version of the child node. When updating, the version tree is searched to find out which features should be updated. For example, in the client, the child node functionality (V1.0) of the root node (V2.0) should be updated, as shown in Figure 2B. Also, the functionality of the two child nodes (V1.0) of the functionality to be updated should be updated.
0031At 230, the server determines the user's preferred features based on the stored operation records of the user's client.
0032In some embodiments, the server counts the number of times the user has used each feature provided by the client, starting with the number of times the user has used each feature within a specified time range, based on the stored user operation records. It can be decided in order. Based on such usage information, the server selects a specified number of functions as the user's confirmed (determined) favorite functions. The specified time range may be the past year, the past month, or any other period.
0033In some embodiments, the user corresponding to the client refers to the user account number logged in through the client. When the client activates the update check by the server, the client sends not only the user identifier corresponding to the user (user handle name, user ID, etc.) but also the version number of the client itself to the server at the same time.
0034In some embodiments, the server pre-stores the correspondence between the various types of operations and the various features provided by the client and specifies it based on the user's operation record corresponding to the client. Determines the number of times a user has performed each type of operation within the time range of. In some embodiments, the server creates an operation log for each user, stores each user's operation record in the user's operation log, and also creates an operation record table for the user. Each operation record of the user is saved in the operation record table. In some embodiments, the operation record includes a user ID, the type of operation performed by the user, and the time at which the operation occurred. Therefore, the server records the number of records in the user's operation log or operation record table that include the same type of operation that occurred at a time within the specified time range, and the user is of that type within the specified time range. It can be counted as the number of times the operation has been performed.
0035In some embodiments, for a type of operation, the number of times a user performs that type of operation within a specified time range corresponds to the number of times a feature in the client corresponding to this type of operation has been used. Therefore, for each function, the server determines the number of times the user has performed the type of operation corresponding to the function within the specified time range as the number of times the user has used the function within the specified time range.
0036For example, suppose a client provides credit card payment and utility payment capabilities. In the case of the credit card payment function provided by the client, the operation corresponding to this function is preset as the credit card payment operation. Based on various operation records stored in the operation log, the server allows the user to perform credit card payment operations within a specified time range (eg, past year, past month, or any other suitable period). Is determined as the number of times the user has used the credit card payment function. Similarly, the server can determine the number of times a user has used the utility billing feature and / or other features within a specified time range.
0037Subsequently, it was determined that the specified number of favorite functions was 1, the number of times the user used the credit card payment function was 20, and the number of times the user used the utility payment function was 2. Then, the server selects one of the most frequently used functions, that is, the credit card payment function, as the user's favorite function, in order from the most used one. In short, the features can be ordered based on the number of times they have been used.
0038At 240, the server determines from among the determined update packages that the update package on which the user's favorite function depends is to act as the preferred package.
0039After determining the user's preferred features corresponding to the client, the server is based on the pre-stored dependencies between the various client features and the various packages from the determined update packages. , Determine the update package that the user's favorite function depends on, and use the update package that the user's favorite function depends on as the favorite package. As an example, when it is determined that the most used feature is the credit card payment feature, the second most used feature is the utility bill payment feature, and the other features are infrequently used. The server determines that only the credit card payment function and the utility payment function should be updated. In this example, the update package that includes these two features is the user's favorite package.
0040At 250, the server releases a determined preferred package to the client in order to update the corresponding client package.
0041In some embodiments, the server determines a preferred package and then releases the preferred package to the client so that the client can update its own package.
0042By using the above process, the server can release only the update packages that the user's favorite features depend on, not all update packages to the client. Therefore, network resources can be saved. Also, the client updates only some of the packages instead of updating all of them, which improves the efficiency of client updates.
0043In the actual usage scenario, each client's network environment is different, and for clients operating in a relatively poor network environment, if the number of packages to be updated is very large, the client update time It will be significantly longer and the client update efficiency may decrease. In some embodiments, the server receives network environment information submitted by the client before determining the user's preferred features corresponding to the client. Then, when the server sequentially selects the specified number of functions to work as the user's favorite functions in order from the one that has been used most frequently, the specified number is selected for the network environment information submitted by the client and the network. Determined based on the default mapping that associates the environment information with the specified number, and in order from the one with the most number of times the user used each function, the specified number of functions determined to work as the user's confirmed favorite function. You can choose. In some embodiments, the poorer the network environment, the smaller the number of corresponding functions specified as the user's confirmed preference functions.
0044For example, network environment information includes 2nd generation mobile communication technology (2G) network, 3rd generation mobile communication technology (3G) network, and wireless fidelity (Wi-Fi) network. The associated default mapping is as follows. That is, the specified number corresponding to the 2G network is 3, the specified number corresponding to the 3G network is 6, and the specified number corresponding to the Wi-Fi network is the number of all packages included in the client. If the network environment information submitted by the client is a 2G network, the server determines that the specified number corresponding to the 2G network is 3. Therefore, the server sequentially selects three functions as the user's favorite functions in order from the one in which each function is used most frequently by the user. However, if the network environment submitted by the client is a Wi-Fi network, the server will use all of the client's features as a user's preferred feature. On a Wi-Fi network, the server releases all update packages to the client in order to update the client.
0045In some embodiments, the server releases all update packages that have not yet been released to the client to the client for updates, even if the network environment information submitted by the client meets the specified conditions. Continuing in the above example, after the client invokes the update check at some point, the server has 10 update packages for this client, and the network environment information submitted by the client is a 2G network. Decide that. Therefore, if the server releases only three update packages to the client, then the client launches the update check again, and the submitted network environment information is a Wi-Fi network that meets the specified conditions, the server Will release all the remaining seven update packages to the client in order to carry out the update. In short, the specified conditions relate to different network environments with varying speeds, fees, etc. Examples of different network environments are: 1) 2G environment is slower than other networks, 2G environment is more expensive than other networks, 2) 3G network is faster than other networks. Faster, 3G environment charges are higher than other network charges, and 3) Wi-Fi network speeds are faster than other networks, Wi-Fi network charges are usually free or It is significantly cheaper than other network charges. In some embodiments, the package to be updated is determined based on specified conditions.
0046The above example uses only 2G, 3G, and Wi-Fi networks to illustrate the association between network environment information and a specified number. In some embodiments, the network environment information also includes other network quality indicators such as download speed, and the association between the network environment information and the specified number specifies the user's preferred function to be selected. As long as the number is determined based on network environment information, it is preset using continuous or discrete functions. In some embodiments, the continuous function is determined based on actual conditions. For example, if the current network speed is xk / s, the coefficient K in the 2G environment is 1, the coefficient K in the 3G environment is 3, the coefficient K in the Wi-Fi environment is 20, and the sealing function is an integer. If, the specified number of favorite functions is K × CEILING (x / 100). In some embodiments, the discrete function is determined based on actual conditions. An example of a discrete function is as follows. That is, the specified number y of the favorite function is 1 (2G environment), 2 (3G environment), 3 (4G environment), and 20 (Wi-Fi environment).
0047At 250, the server uses the above process to determine the preferred package and then releases the determined preferred package as is to the client for update.
0048However, if reception of a preferred package released by the server is interrupted for network reasons (such as a sudden network disconnect), the server does not know the breakpoint to resume sending the preferred package. .. Therefore, the above-mentioned activation of the update check is repeated, and the efficiency of the client update is drastically reduced.
0049FIG. 3 is a flowchart showing an embodiment of the process for releasing a favorite package to a client. In some embodiments, process 300 is the implementation of 250, including:
0050At 310, the server adds the package identifier of the determined preferred package to the update table and assigns a unique table identifier to the update table.
0051At 320, the server releases the table identifier to the client.
0052In some embodiments, the server determines the preferred package and then adds the package identifiers (eg, package name, package number, etc.) of all determined preferred packages to the update table, which is unique to the update table. Assign a table identifier (eg, table ID) for. The server then releases the table identifier to the client. The update table corresponds to the client's update plan and records the update packages (eg, preferred packages) that should be used by the client in the current update. The server releases (sends) your favorite packages according to the update table. Each time the server releases a preferred package to the client that corresponds to the package identifier recorded in the update table and the client recognizes that the package was successfully received, the server successfully sends the package. Add the released tag to the package identifier of the corresponding preferred package in the update table to indicate that it has been and recognized.
0053At 330, the server receives a request sent by the client requesting a package contained in the update table corresponding to the table identifier. The request includes a table identifier.
0054After receiving the table identifier sent by the server, the client sends a request containing this table identifier to the server to save the table identifier and request the packages contained in the update table corresponding to this table identifier. To do.
0055At 340, the server searches for an update table that corresponds to the table identifier.
0056At 350, the server releases to the client a package that corresponds to the package identifier contained in the update table and does not have the released tag added.
0057Using process 300 in Figure 3 above, the server has already added the package identifiers of the various preferred packages to the update table corresponding to the unique table identifier, so even if the client receives the preferred package. It is not necessary to repeat the entire process 200 in Figure 2A, even if interrupted by. The client only has to resend the table identifier to the server to request a package in the update table that corresponds to the table identifier. The server also adds a released tag to the package identifier that corresponds to the package that has already been successfully released. Therefore, when the reception of a favorite package is interrupted by the client, the server searches for and releases only the package corresponding to the package identifier to which the released tag is not added in order to further improve the efficiency of client update. You do not have to repeat the release of the package corresponding to all the package identifiers included in the update table.
0058In some embodiments, the server acts as a dependent package from among the determined update packages, which depends on various preferred packages, to ensure that the client can operate normally after the update. Decide and release these dependent packages to the client for updates.
0059For example, assume that the preferred packages determined by the server are a credit card payment package and a utility payment package, both of which rely on a password entry security package. In addition to credit card payment packages and utility payment packages, the determined update packages also include password entry security packages. As an example, if function A depends on function B, function C also depends on function B, and both function A and function B should be updated, then function C should also be updated. .. Otherwise, the client software will not work properly. In some embodiments, this dependency is preset on the server. Therefore, if only the credit card payment package and the utility payment package are released to the client for the update and the password entry security package is not released to the client for the update, the client functionality will be successful after the update. It will not work (or will not be able to successfully serve credit card and utility payment packages). Therefore, the server will rely on the credit card payment package and the utility payment package to ensure that the client will continue to operate properly after the update (ie, password entry security package). ) Is also determined, and the password input security package is released to the client as a dependent package for the update.
0060Of course, after the server determines the dependent packages, the dependent packages also depend on the other determined update packages (eg, the password entry security package in the above example also depends on the other update packages). Possibly, the server will continue to determine the other update packages on which the dependent packages depend, use these other update packages as dependent packages, and recursively use the same technology to determine all dependent packages. Continue to release those dependent packages.
0061In addition, in some embodiments, the update package for the client includes a specific major vulnerability repair update package. These vulnerability repair update packages are related to the normal operation of the client, and therefore each update package of the client is pre-assigned with importance weights. Major vulnerability repair update packages are assigned a higher severity weight, while certain optimization packages or update packages are assigned a lower importance weight. Therefore, among the determined update packages, the server determines the update package having the importance weight larger than the predetermined threshold value as the essential update package. In short, the server uses update packages with a predetermined importance weight greater than the threshold as mandatory update packages and releases these required update packages to the client for updates. In one example, a given threshold is 5, the specified weight assigned to a major vulnerability repair update package is 10 (or a value greater than 5), and the specified weight assigned to a minor optimization package or update package. Is 1 (or a value less than 5). Whenever a certain threshold is exceeded, the Major Vulnerability Repair Update Package is updated, otherwise the Major Vulnerability Repair Update Package is not updated. In some embodiments, the necessary modifications to the feature are constantly updated.
0062Correspondingly, with respect to the release of dependent packages and required update packages, the server uses update table technology to release dependent packages and required update packages. That is, the server adds the package identifiers of the preferred package, the dependent package, and the required update package to the update table, assigns a unique table identifier to this update table, and releases the table identifier to the client. In some embodiments, the released tag is added to the package identifier corresponding to the package already released to the client in the update table. When the table identifier sent by the client is received, the package corresponding to the package identifier to which the released tag is not added in the update table is released to the client for the update.
0063Also, in some embodiments, after determining an update package for a client, the server prefers for the update package on which each feature depends, based on the number of times the user corresponding to the client has used each feature. The degree weight is also determined. The more times a feature is used, the higher the priority weight of the update packages it depends on. Subsequently, for each update package, the total weight of the priority weight and the importance weight of the update package is determined. The server then determines the specified number according to the network environment information submitted by the client and the default correspondence between the network environment information and the specified number. The server then sequentially selects the specified number of update packages to be included in the update packages to be released, in order from the one with the highest total weight of the various update packages. The update package that each package to be released depends on is recursively determined from the update packages for the client. Dependent packages are also included as update packages to be released, and various update packages to be released are released to clients for updates.
0064The processes 200 and 300 described above are client update processes. Based on the above processes 200 and 300, the device for updating the client is depicted in Figure 4.
0065FIG. 4 is a diagram showing an embodiment of a device for updating a client. In some embodiments, the device 400 executes processes 200 and 300, including an update package determination module 410, a preferred function determination module 420, a preferred package determination module 430, and a release module 440. Including.
0066The update package determination module 410 determines the update package for a client when it is determined that the client should be updated.
0067The favorite function determination module 420 determines the user's favorite function from the functions provided by the client based on the stored operation record of the user corresponding to the client.
0068The favorite package determination module 430 determines from among the determined update packages, the update package on which the user's favorite function depends is to work as the favorite package.
0069Release module 440 releases the determined preferred package to the client for update.
0070The preferred function determination module 420 determines the number of times each function provided by the client has been used by the user within a specified time range based on the stored operation record of the user corresponding to the client, and continues. Select the specified number of functions in order from the one that has been used most frequently to the one that has been used the least, so that it will work as a confirmed favorite function for the user.
0071In some embodiments, the device 400 further includes a receiving module 450.
0072Before the preference function determination module 420 determines the user's preference function, the reception module 450 receives the network environment information submitted by the client.
0073The preference function determination module 420 receives the network environment information submitted by the client and the network submitted by the client based on the default mapping of the network environment information and the specified number received by the receiving module 450. The specified number corresponding to the environmental information is determined, and the functions of the specified number determined above are sequentially selected so as to function as a definite favorite function for the user in order from the one with the largest number of uses.
0074The release module 440 adds the package identifier of the determined favorite package to the update table, assigns a unique table identifier to the update table, and releases the table identifier to the client. In some embodiments, a released tag is added to the package identifier of the preferred package that has already been released to the client. When the table identifier sent by the client is received, the update table corresponding to the table identifier sent by the client is searched, and the package corresponding to the package identifier to which the released tag is not added is searched in the update table. , Released to clients for updates.
0075In some embodiments, the device further includes a dependent package determination module 460 and a required package determination module 470.
0076Dependent package determination module 460 determines from among the update packages, the update package on which the favorite package depends is to act as a dependent package for the client.
0077The mandatory package determination module 470 determines from among the update packages, an update package having an importance weight greater than a predetermined threshold value as an essential update package for the client.
0078Release module 440 releases determined dependent packages and required update packages to clients for updates.
0079In some embodiments, the above device for updating the client is located on the server.
0080FIG. 5 is a diagram showing an embodiment of a system for updating a client. In some embodiments, system 500 includes server 520 connected to client 510 through network 530.
0081In some embodiments, the client 510 sends an update check to the server 520 over network 530. Upon receiving the update check, the server 520 determines if the client 510 should be updated. When the server 520 determines that the client 510 should be updated, it sends an update package including the favorite package to the client 510 based on the user's favorite function.
0082A process and device for updating the client are provided. When the process determines that the client should be updated, the server determines the update package for the client and the user's preference among the determined update packages for the client. This includes determining which packages the features depend on and releasing the packages on which the user's preferred features depend to the client for updates. Therefore, the server does not have to release all update packages to the client, instead only the packages that the user's favorite features depend on are updated. Therefore, network resources are saved and the efficiency of updating clients is improved.
0083The units described above can be as software components running on one or more general purpose processors, or as hardware such as programmable logic devices and / or specialized integrated circuits designed to perform specific functions. Or it can be implemented as a combination thereof. In some embodiments, the unit includes several instructions (optical disc, flash, etc.) for causing a computer (such as a personal computer, server, network device, etc.) to perform the methods described in the embodiments of the present invention. It can be embodied in the form of software products that can be stored in non-volatile storage media (such as storage devices and mobile hard disks). Units may be mounted on one device or distributed across multiple devices. The functions of the units may be integrated with each other or subdivided into multiple subunits.
0084The methods or algorithmic steps described in the light of the embodiments disclosed herein are feasible using hardware, software modules executed by processors, or a combination of both. Software modules include random access memory (RAM), memory, read-only memory (ROM), electrically programmable ROM, electrically erasable and programmable ROM, registers, hard drives, removable disks, CD- It can be installed in ROM or any other form of storage medium known in the art.
0085The above embodiments have been described in some detail for the purpose of clarifying understanding, but the present invention is not limited to the details provided. There are many alternative methods to realize the present invention. The disclosed embodiments are exemplary and not limiting.<u style="single"> The present invention can also be realized, for example, in the following aspects.</u><u style="single">Application example 1:</u><u style="single"> It s a way to update the client,</u><u style="single"> Determining if the client should be updated and</u><u style="single"> For the client if the client should be updated</u><u style="single">Deciding on an update package and</u><u style="single"> Based on the stored operation records of the user corresponding to the client, the class</u><u style="single">Determining the user's favorite function from the functions provided by Iant,</u><u style="single"> From the determined update package, the user's favorite function depends on it.</u><u style="single">Decide to work with the update package as your favorite package</u><u style="single"> To release the preferred package to the client for update</u><u style="single">、</u><u style="single"> How to prepare.</u><u style="single">Application example 2:</u><u style="single"> This is the method of application example 1.</u><u style="single"> The user's favorite function is determined from the functions provided by the client.</u><u style="single">That is</u><u style="single"> Based on the stored operation record of the user corresponding to the client</u><u style="single">, Each function provided by the client is used by the user within a time range specified by the user.</u><u style="single">To determine the number of times</u><u style="single"> The specified number of functions are displayed in order from the most used one to the least used one.</u><u style="single">Select sequentially to work as the user's favorite function,</u><u style="single"> Including methods.</u><u style="single">Application example 3:</u><u style="single"> This is the method of application example 2, and further</u><u style="single"> The user's favorite function is determined from the functions provided by the client.</u><u style="single">Be prepared to receive network environment information from the client before making decisions.</u><u style="single"> Sequential selection of the specified number of functions is the network ring from the client.</u><u style="single">Based on the default mapping that associates the boundary information and network environment information with the specified number.</u><u style="single">A method comprising determining the specified number.</u><u style="single">Application example 4:</u><u style="single"> This is the method of application example 1.</u><u style="single"> Release the determined preferred package to the client for update</u><u style="single">To do</u><u style="single"> Add the package identifier of the determined favorite package to the update table</u><u style="single">To do and</u><u style="single"> Assigning a unique table identifier to the update table</u><u style="single"> To release the table identifier to the client</u><u style="single"> Preferences already released to the client in the update table</u><u style="single">Adding the released tag to the package identifier of the package and</u><u style="single"> Determine if the table identifier sent by the client has been received</u><u style="single">To determine and</u><u style="single"> When the table identifier sent by the client has been received</u><u style="single">The update that corresponds to the table identifier sent by the client.</u><u style="single">Search the table and correspond to the package identifier to which the released tag has not been added.</u><u style="single">To release the package to the client for an update,</u><u style="single"> Including methods.</u><u style="single">Application example 5:</u><u style="single"> This is the method of application example 1, and further</u><u style="single"> From the determined update packages for the client,</u><u style="single">Let the update package that your favorite package depends on work as a dependent package</u><u style="single">To decide and</u><u style="single"> From the determined update package for the client, a predetermined</u><u style="single">Required update package with importance weight greater than threshold</u><u style="single">Deciding to work as a package and</u><u style="single"> Before updating the dependent packages and the required update packages</u><u style="single">To release to the client</u><u style="single"> How to prepare.</u><u style="single">Application example 6:</u><u style="single"> A system for updating clients</u><u style="single"> With at least one processor</u><u style="single"> Combined with at least one processor and instructed at least one processor</u><u style="single">With memory configured to provide</u><u style="single"> With</u><u style="single"> The at least one processor</u><u style="single"> Determining if the client should be updated and</u><u style="single"> For the client if the client should be updated</u><u style="single">Determining the update package for</u><u style="single"> Based on the stored operation records of the user corresponding to the client,</u><u style="single">To determine the user's favorite function from the functions provided by the client</u><u style="single">、</u><u style="single"> The user's favorite function depends on the determined update package.</u><u style="single">Decide to work with the update package you want to use as your favorite package</u><u style="single"> Release the preferred package to the client for update</u><u style="single">When,</u><u style="single"> A system that is configured to do.</u><u style="single">Application example 7:</u><u style="single"> The system of application example 6</u><u style="single"> The user's favorite function is determined from the functions provided by the client.</u><u style="single">That is</u><u style="single"> Based on the stored operation record of the user corresponding to the client</u><u style="single">, Each function provided by the client is used by the user within a time range specified by the user.</u><u style="single">To determine the number of times</u><u style="single"> The specified number of functions are displayed in order from the most used one to the least used one.</u><u style="single">Select sequentially to work as a favorite function for the user,</u><u style="single"> Including the system.</u><u style="single">Application example 8:</u><u style="single"> The system of application example 7</u><u style="single"> The one or more processors further</u><u style="single"> Among the functions provided by the client, the user's favorite function is selected.</u><u style="single">It is configured to receive network environment information from said client before making a decision.</u><u style="single"> Sequential selection of the specified number of functions is the network ring from the client.</u><u style="single">Based on the default mapping that associates the boundary information and network environment information with the specified number.</u><u style="single">A system that includes determining the specified number.</u><u style="single">Application example 9:</u><u style="single"> The system of application example 6</u><u style="single"> Release the determined preferred package to the client for update</u><u style="single">To do</u><u style="single"> Add the package identifier of the determined favorite package to the update table</u><u style="single">To do and</u><u style="single"> Assigning a unique table identifier to the update table</u><u style="single"> To release the table identifier to the client</u><u style="single"> Preferences already released to the client in the update table</u><u style="single">Adding the released tag to the package identifier of the package and</u><u style="single"> Determine if the table identifier sent by the client has been received</u><u style="single">To determine and</u><u style="single"> When the table identifier sent by the client has been received</u><u style="single">The update that corresponds to the table identifier sent by the client.</u><u style="single">Search the table and correspond to the package identifier to which the released tag has not been added.</u><u style="single">To release the package to the client for an update,</u><u style="single"> Including the system.</u><u style="single">Application example 10:</u><u style="single"> The system of application example 6</u><u style="single"> The one or more processors further</u><u style="single"> From among the determined update packages for the client, said</u><u style="single">The update package that your favorite package depends on works as a dependent package.</u><u style="single">To decide and</u><u style="single"> Predetermined from the determined update package for the client</u><u style="single">Required update for update packages with importance weights greater than the threshold of</u><u style="single">Deciding to work as a package and</u><u style="single"> To update the dependent packages and the required update packages</u><u style="single">To release to the client</u><u style="single"> A system that is configured to do.</u><u style="single">Application example 11:</u><u style="single"> Clients stored on tangible, non-temporary computer-readable storage media</u><u style="single">A computer program product for updating</u><u style="single"> A computer to determine if the client should be updated</u><u style="single">Data command and</u><u style="single"> For the client if the client should be updated</u><u style="single">Computer instructions to determine the update package,</u><u style="single"> Based on the stored operation records of the user corresponding to the client, the class</u><u style="single">A tool for determining the user's favorite function from the functions provided by Iant.</u><u style="single">Computer instructions and</u><u style="single"> From the determined update package, the user's favorite function depends on it.</u><u style="single">A comp to decide that the update package will work as your favorite package</u><u style="single">With the tutor command,</u><u style="single"> To release the preferred package to the client for update</u><u style="single">Computer instructions and</u><u style="single"> Computer program products equipped with.</u><u style="single">Application example 12:</u><u style="single"> The computer program product of application example 11</u><u style="single"> The user's favorite function is determined from the functions provided by the client.</u><u style="single">That is</u><u style="single"> Based on the stored operation record of the user corresponding to the client</u><u style="single">, Each function provided by the client is used by the user within a time range specified by the user.</u><u style="single">To determine the number of times</u><u style="single"> The specified number of functions are displayed in order from the most used one to the least used one.</u><u style="single">Select sequentially to work as a favorite function for the user,</u><u style="single"> Including computer program products.</u><u style="single">Application example 13:</u><u style="single"> It is a computer program product of application example 12, and further</u><u style="single"> The user's favorite function is determined from the functions provided by the client.</u><u style="single">Be prepared to receive network environment information from the client before making decisions.</u><u style="single"> Sequential selection of the specified number of functions is the network ring from the client.</u><u style="single">Based on the boundary information and the default mapping that associates the network environment information with the specified number.</u><u style="single">A computer program product that includes determining the specified number.</u><u style="single">Application example 14:</u><u style="single"> The computer program product of application example 11</u><u style="single"> Release the determined preferred package to the client for update</u><u style="single">To do</u><u style="single"> Add the package identifier of the determined favorite package to the update table</u><u style="single">To do and</u><u style="single"> Assigning a unique table identifier to the update table</u><u style="single"> To release the table identifier to the client</u><u style="single"> Preferences already released to the client in the update table</u><u style="single">Adding the released tag to the package identifier of the package and</u><u style="single"> Determine if the table identifier sent by the client has been received</u><u style="single">To determine and</u><u style="single"> When the table identifier sent by the client has been received</u><u style="single">The update that corresponds to the table identifier sent by the client.</u><u style="single">Search the table and correspond to the package identifier to which the released tag has not been added.</u><u style="single">To release the package to the client for an update,</u><u style="single"> Including computer program products.</u><u style="single">Application example 15:</u><u style="single"> It is a computer program product of application example 11, and further</u><u style="single"> From the determined update packages for the client,</u><u style="single">Let the update package that your favorite package depends on work as a dependent package</u><u style="single">To decide and</u><u style="single"> From the determined update package for the client, a predetermined</u><u style="single">Required update package with importance weight greater than threshold</u><u style="single">Deciding to work as a package and</u><u style="single"> Before updating the dependent packages and the required update packages</u><u style="single">To release to the client</u><u style="single"> Computer program products equipped with.</u>
6 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| JP2003271387A | Cites | Japan |
| JP2010079546A | Cites | Japan |
| JP2006178881A | Cites | Japan |
| JP2011107954A | Cites | Japan |
| WO2008114454A1 | Cites | World Intellectual Property Organization (WIPO) |
17 members in 8 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 2013101414796 | China | – | |
| 201310141479 | China | A | |
| 14250236 | United States of America | – | |
| 201414250236 | United States of America | A | |
| 2014033809 | United States of America | W |
Members17
| Document | Office | Kind | |
|---|---|---|---|
| CN104113576A | China | A | |
| US2014317174A1 | United States of America | A1 | |
| WO2014176048A1 | World Intellectual Property Organization (WIPO) | A1 | |
| TW201441934A | Taiwan Province of China | A | |
| HK1201390A1 | Hong Kong, China | A1 | |
| KR20150119949A | Republic of Korea | A | |
| EP2989543A1 | European Patent Office (EPO) | A1 | |
| JP2016515745A | Japan | A | |
| JP6132973B2This record | Japan | B2 | |
| US9699028B2 | United States of America | B2 | |
| JP2017152026A | Japan | A | |
| US2017264482A1 | United States of America | A1 | |
| KR101781339B1 | Republic of Korea | B1 | |
| TWI622933B | Taiwan Province of China | B | |
| JP6441404B2 | Japan | B2 | |
| US10225145B2 | United States of America | B2 | |
| EP2989543B1 | European Patent Office (EPO) | B1 |
18 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Written notification of registration of transferJAPANESE INTERMEDIATE CODE: R350R350 | R350 | |
| Request for change of ownership or part of ownershipJAPANESE INTERMEDIATE CODE: R313113S111 | S111 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Report on retrievalJAPANESE INTERMEDIATE CODE: A971007A977 | A977 | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Written request for application examinationJAPANESE INTERMEDIATE CODE: A621A621 | A621 |
Numbers
- Publication
- 6132973
- Application
- 2016508977
Titles2
- Japanese
- クライアントをアップデートするための方法およびデバイス
- English
- Methods and devices for updating clients
Classification
- CPC, 3
- G06F8/65
- H04L41/082
- H04L67/01
- IPC, 1
- G06F11 00
