IP Library Granted Patent US 12,166,759
Granted Patent B2
US 12,166,759 · App. 17/656,152 · Granted Dec 10, 2024

System for remote execution code-based node control flow management, and method therefor

Inventor: Young Rang Kim (Seoul, KR)
Assignee: PRIBIT Technology, Inc.
H04L63/10H04L63/029
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,166,759
App. No.
17/656,152
Granted
Dec 10, 2024
Kind
B2
Abstract

A method for managing a control flow by a server including: receiving a control flow generation request data packet from the terminal; transmitting a control flow communication code to the terminal; and receiving the result of executing the control flow communication code from the terminal, wherein if the result of executing the control flow communication code is normal, the server generates the control flow with the terminal, and if the execution result value is abnormal, or the execution result is not received from the terminal within a predetermined time, the server blocks the generation of the control flow with the terminal.

Claims (79)

1. A method for managing control flow in a terminal, the method comprising:

transmitting a control flow generation request data packet to a server;

receiving a control flow communication code from the server;

loading and executing the received control flow communication code into a virtual machine; and

transmitting an executed result, obtained by loading and executing the received control flow communication code into the virtual machine, to the server,

wherein the control flow is generated, when the result of executing the control flow communication code is normal, and

wherein the generation of the control flow is blocked by the server, when the executed result is abnormal or when the executed result is not received in the server within a certain time.

2. The method of claim 1 , further comprising:

transmitting a control flow communication code execution completion data packet indicating that the control flow communication code is normally executed to the server; and

receiving a control flow generation completion data packet indicating that the generation of the control flow is completed from the server,

wherein all requests of the terminal are transmitted to the server based on the generated control flow using a virtualized application protocol interface (API).

3. The method of claim 1 , wherein the control flow communication code is a byte code executable in the virtual machine, is not stored in a separate disk, and is directly loaded and executed in real time on a memory of the virtual machine.

4. The method of claim 2 , further comprising:

starting to polling control flow, when a status value included in the control flow generation completion data packet is normal;

executing an inspection code, when there is the inspection code to be executed during the polling; and

transmitting control flow polling information including a result of executing the inspection code to the server,

wherein a new patch code is received from the server, when it is determined that the patch is needed by the server based on the result of executing the inspection code.

5. The method of claim 4 , wherein an existing control flow communication code is deleted from a memory of the virtual machine depending on receiving the patch code, and

wherein the control flow is updated by means of execution of the patch code.

6. The method of claim 4 , comprising:

receiving a polling information processing result data packet including information about a new inspection code, an entry point for executing the new inspection code, and a number of times of remaining execution of the new inspection code through the control flow;

loading the new inspection code into a memory of the virtual machine; and

adding information about the entry point and the number of times of the remaining execution to an inspection code execution queue,

wherein the new inspection code is executed with reference to the inspection code execution queue at a next polling time.

7. The method of claim 6 , wherein the polling is performed at a certain period according to a predetermined policy,

wherein the number of times of the remaining execution decreases by 1 , whenever the polling is performed, and

wherein the new inspection code is received from the server through the control flow and is loaded and executed on the memory, when the number of times of the remaining execution is 0.

8. The method of claim 1 , further comprising:

transmitting a control flow end request data packet to the server, when corresponding to any one of when a status value of a received data packet is abnormal, when it fails to check validity of the received data packet, when a reason for end or stop occurs, when a threat is detected, when it fails to execute an inspection code, and when it fails to update the control flow,

wherein the corresponding control flow and all data flow associated with the corresponding control flow are released according to the transmission of the control flow end request data packet.

9. The method of claim 1 , further comprising:

requesting the server to generate a tunnel using tunnel generation information, when the tunnel generation information is included in the control flow communication code,

wherein the tunnel generation information includes at least one of a tunnel type, a tunnel scheme, or authentication information for mutual key exchange.

10. A terminal for communicating with a server, the terminal comprising:

an execution module;

a memory loaded with the received control flow communication code; and

a virtual machine configured to execute the loaded control flow communication code on the memory,

wherein the terminal is configured to

transmit a control flow generation request data packet to the server,

receive a control flow communication code from the server, and

transmit a result of executing for the control flow communication code to the server;

wherein the control flow is generated, when the result of executing for the control flow communication code is normal, and

wherein the generation of the control flow is blocked by the server, when the executed result value is abnormal or when the executed result is not received in the server within a certain time.

11. The terminal of claim 10 , wherein the terminal is further configured to:

transmit a control flow communication code execution completion data packet indicating that the control flow communication code is normally executed to the server; and

receive a control flow generation completion data packet indicating that the generation of the control flow is completed from the server,

wherein all requests of the terminal are transmitted to the server based on the generated control flow using a virtualized application protocol interface (API).

12. The terminal of claim 10 , wherein the control flow communication code is a byte code executable in the virtual machine, is not stored in a separate disk, and is directly loaded and executed in real time on the memory of the virtual machine.

13. The terminal of claim 11 , wherein the terminal is further configured to:

start to poll control flow, when a status value included in the control flow generation completion data packet is normal;

execute an inspection code, when there is the inspection code to be executed during the polling; and

transmit control flow polling information including the result of executing the inspection code to the server,

wherein a new patch code is received from the server, when it is determined that the patch is needed by the server based on the result of executing the inspection code.

14. The terminal of claim 13 , wherein an existing control flow communication code is deleted from the memory of the virtual machine depending on receiving the patch code, and

wherein the control flow is updated by means of execution of the patch code.

15. The terminal of claim 13 , wherein the terminal is further configured to:

receive a polling information processing result data packet including information about the new inspection code, an entry point for executing the new inspection code, and a number of times of remaining execution of the new inspection code through the control flow;

load the new inspection code into the memory of the virtual machine; and

add information about the entry point and the number of times of the remaining execution of the new inspection code to an inspection code execution queue,

wherein the new inspection code is executed with reference to the inspection code execution queue at a next polling time.

16. The terminal of claim 15 , wherein the polling is performed at a certain period according to a predetermined policy,

wherein the number of times of the remaining execution of the new inspection code decreases by 1 , whenever the polling is performed, and

wherein the new inspection code is received from the server through the control flow and is loaded and executed on the memory, when the number of times of the remaining execution of the new inspection code is 0 .

17. The terminal of claim 10 , wherein the terminal is further configured to:

transmit a control flow end request data packet to the server, when corresponding to any one of when a status value of a received data packet is abnormal, when it fails to check validity of the received data packet, when a reason for end or stop occurs, when a threat is detected, when it fails to execute an inspection code, and when it fails to update the control flow,

wherein the corresponding control flow and all data flow associated with the corresponding control flow are released according to the transmission of the control flow end request data packet.

18. The terminal of claim 10 , wherein the terminal is further configured to:

request the server to generate a tunnel using tunnel generation information, when the tunnel generation information is included in the control flow communication code,

wherein the tunnel generation information includes at least one of a tunnel type, a tunnel scheme, or authentication information for mutual key exchange.

19. A method for managing control flow in a server, the method comprising:

receiving a control flow generation request data packet from a terminal;

transmitting a control flow communication code to the terminal; and

receiving a result of executing for the control flow communication code from the terminal,

wherein the control flow is generated with terminal, when the result of executing for the control flow communication code is normal, and

wherein the generation of the control flow with the terminal is blocked, when the executed result value is abnormal or when the executed result is not received from the terminal within a certain time.

20. A system for managing control flow, the system comprising:

a terminal configured to transmit a control flow generation request data packet to receive and execute a control flow communication code and transmit a result of executing for the control flow communication code;

a server configured to generate the control flow communication code corresponding to the terminal when receiving the control flow generation request data packet or extract the control flow communication code corresponding to the terminal, the control flow communication code being previously generated and maintained in a remote execution code table, transmit the control flow communication code to the terminal, generate the control flow with the terminal, when the result of the control flow communication code is normal, and block generation of the control flow with the terminal, when the executed result value is abnormal or when the executed result is not received within a certain time; and

a gateway configured to generate data flow between the terminal and a destination network under control of the server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2022
From: KIM, YOUNG RANG
To: PRIBIT TECHNOLOGY, INC.
Reel/Frame 060333/0211 →
Priority Claims (1)
KR 10-2020-0098163 · Aug 5, 2020 · national
Continuity (3)
Continuation In Part 16580974 · Sep 24, 2019
Continuation In Part 16580866 · Sep 24, 2019
Related Publication 20220247748A1 · Aug 4, 2022