# US 2018/0321932 A1 · Method, device and related system for dynamically repairing application

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0321932 A1
- Document ID: US20180321932A1
- Status: Published application
- Kind: A1
- Application number: 15/772,991
- Filed: 2016-10-31
- Published: 2018-11-08
- Earliest claimed: 2015-11-02
- Assignees: Guangzhou Ucweb Computer Technology Co., Ltd.
- Applicants: Guangzhou Ucweb Computer Technology Co., Ltd.
- Inventors: Zhijian ZHANG; Miaokui MA
- Web page: https://patentgrep.com/patent/US20180321932A1

## CPC

- G06F 8/656: while running
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Disclosed is a method for dynamically repairing an application, which includes: a client receiving a pre-configured repaired program segment; the repaired program segment is stored; an address that stores the repaired program segment is recorded; the address of the repaired program segment is stored in an application APP, and when the APP is in operation, the APP calling the repaired program segment via the address of the repaired program segment. Correspondingly, the present invention further discloses a device for dynamically repairing an application and a related system.

## Claims

### Claim 1

A method for dynamically repairing an application, wherein the method comprises:
receiving, by a client, a pre-configured repaired program segment;
storing the repaired program segment; and
recording an address that stores the repaired program segment;
storing the address of the repaired program segment in an application APP, wherein when the application APP is in operation, the application APP calls the repaired program segment via the address of the repaired program segment.

### Claim 2 (depends on 1)

The method according to claim 1, wherein storing the address of the repaired program segment in the application APP comprises:
creating a storage node corresponding to the address of the repaired program segment in the application APP; and
writing the address of the repaired program segment to the storage node created.

### Claim 3 (depends on 1)

The method according to claim 1, wherein storing the address of the repaired program segment in the application APP further comprises:
reading a storage node corresponding to the address of a program segment to be repaired from the application APP, wherein the program segment to be repaired is a program segment prior to the repaired program segment; and
writing the address of the repaired program segment to the storage node corresponding to the address of the program segment to be repaired, such that the address of the program segment to be repaired is replaced by the address of the repaired program segment.

### Claim 4 (depends on 2)

The method according to claim 2, wherein creating the storage node corresponding to the address of the repaired program segment in the application APP comprises:
reading identification information of the repaired program segment;
searching the application APP for an address of a functional module to which the repaired program belongs according to the identification information;
determining a storage node corresponding to the address of the functional module;
adding a sub-storage node to the storage node corresponding to the address of the functional module; and
using the sub-storage node as the storage node of the address of the repaired program segment.

### Claim 5 (depends on 3)

The method according to claim 3, wherein reading the storage node corresponding to the address of the program segment to be repaired from the application APP comprises:
reading identification information of the repaired program segment;
searching the application APP for an address of a functional module to which the repaired program belongs according to the identification information;
determining the storage node corresponding to the address of the functional module; and
searching the storage node corresponding to the address of the program segment to be repaired from a sub-storage node using the storage node corresponding to the address of the functional module as a root storage node.

### Claim 6 (depends on 3)

The method according to claim 3, wherein reading the storage node corresponding to the address of the program segment to be repaired from the application APP comprises:
reading identification information of the repaired program segment;
searching for a functional module to which the repaired program segment belongs according to the identification information;
determining the program segment to be repaired from the functional module;
adding a storage address to the program segment to be repaired; and
determining that the storage node corresponding to the added storage address of the program segment to be repaired is the storage node corresponding to the address of the program segment to be repaired.

### Claim 7 (depends on 1)

The method according to claim 1, wherein the client's operating system is IOS system.

### Claim 8 (depends on 7)

The method according to claim 7, wherein a repair platform in the application APP is configured to be written in a modifiable programming language of the IOS system and is configured to provide an environment for calling OC language code.

### Claim 9

A method for dynamically repairing an application, wherein the method comprises:
receiving, by a server, a connection request for running an application system APP, wherein the connection request comprises a current version number of the application system APP;
in response to determining that the current version number is lower than the highest version number, configuring a repaired program segment corresponding to the application system APP;
sending the repaired program segment to a client, wherein the client stores the repaired program segment;
obtaining an address for storing the repaired program segment; and
storing the address of the repaired program segment to the application system APP, so as to facilitate the client calling the repaired program segment via the address of the repaired program segment when the application system APP is running.

### Claim 10 (depends on 9)

The method according to claim 9, wherein configuring the repaired program segment corresponding to the application system APP comprises:
sequentially obtaining a different program segment from the application system APP from an APP whose version number is higher than the current version number;
adding identification information to the program segment according to an attribute value thereof, and
determining the program segment with the added identification information to be the repaired program segment.

### Claim 11 (depends on 9)

The method according to claim 9, wherein the client's operating system is IOS system.

### Claim 12 (depends on 11)

The method according to claim 11, wherein a repair platform in the application system APP is configured to be written in a modifiable programming language of the IOS system and is configured to provide an environment for calling OC language code.

### Claim 13

A device for dynamically repairing an application, wherein the device comprises:
a receiving module for receiving a pre-configured repaired program segment;
a storing module for storing the repaired program segment received by the receiving module; and
a recording module for recording an address of the repaired program segment stored by the storing module; wherein the storing module is further configured to store the address of the repaired program segment recorded by the recording module in an application program APP, wherein the application program APP calls the repaired program segment through the address of the repaired program segment.

### Claim 14 (depends on 13)

The device according to claim 13, wherein the storing module comprises:
a creating unit and a writing unit, wherein:
the creating unit is configured to create a storage node corresponding to the address of the repaired program segment in the application program APP; and
the writing unit is configured to write the address of the repaired program segment to the storage node created.

### Claim 15 (depends on 14)

The device according to claim 14, wherein the storing module further comprises a reading unit, wherein
the reading unit is configured to read the storage node corresponding to the address of a program segment to be repaired from the application program APP, wherein the program segment to be repaired is a program segment prior to the repaired program segment; and
the writing unit is further configured to write the address of the repaired program segment to the storage node corresponding to the address of the program segment to be repaired, such that the address of the program segment to be repaired is replaced by the address of the repaired program segment.

### Claim 16 (depends on 14)

The device according to claim 14, wherein the creating unit comprises a first reading sub-unit, a first searching sub-unit, a first determining sub-unit, and a first adding sub-unit, wherein
the first reading sub-unit is configured to read identification information of the repaired program segment;
the first searching sub-unit is configured to search the application program APP for the address of a functional module to which the repaired program belongs according to the identification information;
the first determining sub-unit is configured to determine a storage node corresponding to the address of the functional module; and
the first adding sub-unit is configured to add a sub-storage node to the storage node corresponding to the address of the functional module, and use the sub-storage node as the storage node of the address of the repaired program segment.

### Claim 17 (depends on 15)

The device according to claim 15, wherein the reading unit comprises a second reading sub-unit, a second searching sub-unit, and a second determining sub-unit, wherein:
the second reading sub-unit is configured to read identification information of the repaired program segment;
the second searching sub-unit is configured to search the application program APP for the address of a functional module to which the repaired program belongs according to the identification information;
the second determining sub-unit is used for configured to determine the storage node corresponding to the address of the functional module; and
the second searching sub-unit is further configured to search the storage node corresponding to the address of the program to be repaired from a sub-storage node using the storage node corresponding to the address of the functional module as a root storage node.

### Claim 18 (depends on 17)

The device according to claim 17, wherein the reading unit comprises a second adding sub-unit, wherein:
the second searching sub-unit is further configured to search for a functional module to which the repaired program segment belongs according to the identification information;
the second determining sub-unit is configured to determine the program segment to be repaired from the functional module;
the second adding sub-unit is configured to add a storage address to the program segment to be repaired; and
the second determining sub-unit is configured to determine that the storage node corresponding to the added storage address of the program segment to be repaired to be the storage node corresponding to the address of the program segment to be repaired.

### Claim 19 (depends on 13)

The device according to claim 13, wherein the client's operating system is IOS system.

### Claim 20 (depends on 19)

The device according to claim 19, wherein a repair platform in the application program APP is configured to be written in a modifiable programming language of the IOS system and is configured to provide an environment for calling OC language code.

### Claim 21

A device for dynamically repairing an application, wherein the device comprises:
a receiving module configured to receive a connection request for running an application system APP, wherein the connection request comprises a current version number of the application system APP;
a configuring module configured to configure a repaired program segment corresponding to the application system APP, when the current version number is lower than the highest version number; and
a sending module configured to send the repaired program segment to a client.

### Claim 22 (depends on 21)

The device according to claim 21, wherein the configuring module comprises: an obtaining unit, an adding unit, and a determining unit, wherein:
the obtaining unit is configured to sequentially obtain a different program segment from the application system APP from an APP whose version number is higher than the current version number;
the adding unit is configured to add identification information to the program segment according to an attribute value thereof; and
the determining unit is configured to determine the program segment with the added identification information to be the repaired program segment.

### Claim 23 (depends on 21)

The device according to claim 21, wherein the client's operating system is IOS system.

### Claim 24 (depends on 23)

The device according to claim 23, wherein a repair platform in the application program APP is configured to be written in a modifiable programming language of the IOS system and is configured to provide an environment for calling OC language code.

### Claim 25

A system for dynamically repairing an application, wherein the system comprises: a server and a client, wherein,
the server is configured to receive a connection request for running an application system APP, wherein the connection request comprises a current version number of the application system APP, wherein when the current version number is lower than the highest version number, the server is further configured to configure a repaired program segment corresponding to the application system APP, and send the repaired program segment to the client;
the client is configured to receive a pre-configured repaired program segment, store the repaired program segment, record an address that stores the repaired program segment, store the address of the repaired program segment to the application system APP, so as to facilitate calling the repaired program segment via the address of the repaired program segment when the application system APP is running.

### Claim 26 (depends on 25)

The system according to claim 25, wherein the client's operating system is IOS system.

### Claim 27 (depends on 26)

The system according to claim 26, wherein a repair platform in the application program APP is configured to be written in a modifiable programming language of the IOS system and is configured to provide an environment for calling OC language code.
