EP3086226A1

Device and method for providing code blocks to a client during execution of software code

Abstract

A client (110) has a block of the code to be executed, executes (S22) the part and then determines (S23) the next block and requests (S24) it from a server (120) that returns (S25) the block and a list of possible following blocks, and updates (S26) a list of blocks executed by the client. The client then executes (S27) the next block. To modify the program, it is sufficient to patch the corresponding block or blocks on the server. The transition system, which defines possible following blocks, is modified to integrate the new block in place of the old one. Depending on the modifications, it may be necessary to patch the memory of the client too. In this case, a complement block is added in order to modify the client memory to be compatible with the new block.

EP3086226A1, drawing sheet 1
Sheet 1 of 12

Term

Projected expiry 23 April 2035.

  1. Priority and filed
  2. Published
  3. Today
  4. Projected expiry

15 claims: 4 independent, 11 dependent

  1. 1
    A server device (120) for providing blocks of code of a program to a client device (110) executing the blocks of code, the server device comprising:an interface (123) configured to relay messages between the client device and a processor (121) of the server device;and the processor (121) configured to: receive from the client device a request comprising an identifier of a block of code;obtain a subsequent block of code corresponding to the identifier;obtain at least one transition for the subsequent block of code, the transition enabling the client to calculate an identifier of a block of code to request following execution of the subsequent block of code;and send the subsequent block of code and the transition for the subsequent block of code to the client.
  2. 8
    A method for providing blocks of code of a program to a client device (110) executing the blocks of code, the method comprising at a server device (120) comprising a processor (121):receiving from the client device a request comprising an identifier of a block of code;obtaining a subsequent block of code corresponding to the identifier;obtaining at least one transition for the subsequent block of code, the transition enabling the client to calculate an identifier of a block of code to request following execution of the subsequent block of code;and sending the subsequent block of code and the transition for the subsequent block of code to the client.
  3. 14
    A client device (110) for receiving blocks of code of a program from a server device (120), the client device (110) comprising:an interface (113);and a processing unit (111) configured to: execute a block of code;calculate, using at least one transition for the block of code received from the server device (120), an identifier of a subsequent block of code;transmit to the server device (120), via the interface (113), a request comprising the identifier of a subsequent block of code;and receive from the server device (120), via the interface (113), the subsequent block of code and at least one transition for the subsequent block of code, the at least one transition enabling the processing unit (111) to calculate an identifier of a block of code to request following execution of the subsequent block of code.
  4. 15
    A method for receiving blocks of code of a program from a server device (120), the method comprising at a client device (110):executing (S22) by a processing unit (111) a block of code;calculating (S23) by the processing unit (111), using at least one transition for the block of code received from the server device (120), an identifier of a subsequent block of code;transmitting (S24) by the processing unit (111), via an interface (113) of the client device (110), to the server device (120), a request comprising the identifier of a subsequent block of code;and receiving from the server device (120), via the interface (113), the subsequent block of code and at least one transition for the subsequent block of code, the at least one transition enabling the processing unit (111) to calculate an identifier of a block of code to request following execution of the subsequent block of code.