WO2016111407A1 - 단말 세션의 복원 기능을 구비한 네트워크 통신 방법 - Google Patents

단말 세션의 복원 기능을 구비한 네트워크 통신 방법 Download PDF

Info

Publication number
WO2016111407A1
WO2016111407A1 PCT/KR2015/000615 KR2015000615W WO2016111407A1 WO 2016111407 A1 WO2016111407 A1 WO 2016111407A1 KR 2015000615 W KR2015000615 W KR 2015000615W WO 2016111407 A1 WO2016111407 A1 WO 2016111407A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
client
serial number
message
transmission data
Prior art date
Application number
PCT/KR2015/000615
Other languages
English (en)
French (fr)
Inventor
배현직
Original Assignee
(주)넷텐션
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 (주)넷텐션 filed Critical (주)넷텐션
Priority to US15/541,482 priority Critical patent/US10630479B2/en
Priority to CN201580072436.4A priority patent/CN107113178A/zh
Publication of WO2016111407A1 publication Critical patent/WO2016111407A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session

Definitions

  • the present invention relates to a network communication method having a terminal session restoration function. More particularly, the present invention relates to a network communication method using a serial number indicating a data transmission order and a credential for distinguishing access terminals in a network environment between a server and a client. Even when a disconnection occurs, the present invention relates to a network communication method having a restoration function of a terminal session capable of automatically restoring a connection in a short time without a user being aware of the disconnection.
  • an object of the present invention is to use a credential that can distinguish the access terminal in the network environment between the server and the client when the connection between the server and the client is disconnected
  • Another object of the present invention is to provide a network communication method having a restoration function of a terminal session capable of automatically recognizing the terminal and restoring a connection without a separate authentication process of the reconnected terminal.
  • the present invention provides a serial number indicating the order of data transmitted in the network environment between the server and the client to retransmit the missing data when the connection between the server and the client is disconnected, thereby restoring the terminal session that can prevent data loss It is to provide a network communication method having a function.
  • the present invention is to provide a network communication method having a terminal session restoration function that allows the user to transfer the terminal connection to another server in a similar manner as the reconnection recovery process.
  • the present invention comprises the steps of: (A) the server and the client is network-connected to share a symmetric key; (B) generating and sharing credentials with the client to enable the server to identify the client through random number generation; (C) generating, by the client, transmission data including a serial number indicating a sequence number of transmission data and transmitting a message to the server; And (D) the server generating transmission data including a serial number indicating the sequence number of transmission data and transmitting a message to the client.
  • step (B) (B1) generating a random number in the server, and storing the generated random number block as the credentials of the client; And (B2) encrypting the credentials with a shared symmetric key and transmitting the credentials to the client to share the credentials.
  • the (C) step includes: (C1) generating a packet for a message to be transmitted from the client; (C2) assigning a serial number to each generated packet to generate transmission data to which the serial number is assigned; And (C3) after transmitting the transmission data to the server, counting a serial number.
  • the (D) step may include: (D1) generating a packet for a message to be transmitted from the server; (D2) generating a serial number assigned transmission data by assigning a serial number to each generated packet; And (D3) after transmitting the transmission data to the client, counting a serial number.
  • the serial number may be set in a message unit.
  • serial number may be set separately by packet unit.
  • the (F) step includes: (F1) the server identifying a client having a matching credential by comparing the credentials received from the client with stored credentials; (F2) confirming the serial number of the last transmission data received before the termination of the connection from the confirmed client and transmitting the serial number to the client; And (F3) the client receiving the final serial number retransmits unreceived transmission data to the server.
  • the step (F) may include: (F1) the server checking a client having a matching credential by comparing the credentials received from the client with stored credentials; (F2) the client confirming the serial number of the last transmission data received before the connection is interrupted from the server and transmitting to the server; And (F3) the server receiving the final serial number retransmitting unreceived transmission data to the client.
  • the server communicating with the client transmits a session transfer message to transfer the session to the second server; (e) the second server sending a confirmation message to the server; (f) the server sending a connection server change message to the client to change the connection server to the second server; (g) after the client connects to the second server, sharing a new symmetric key with the second server; (h) the client transmitting the stored credentials to the second server; (i) performing a message transmission / reception synchronization in which the client shares the missing message with the second server in a state prior to disconnection with the server; And (j) performing a message transmission / reception between the client and the second server having completed message transmission / reception synchronization.
  • the session transfer message includes a credential and a serial number.
  • the step (i) may include: (i1) checking whether the second server is a client transferred to the connected client by comparing the credentials received from the client with the credentials received from the server; ; (i2) sending, to the client, the serial number of the last transmission data transmitted from the server, to the client for which the transfer was confirmed; And (i3) the client receiving the final serial number retransmitting unreceived transmission data to the second server.
  • step (i1) checking whether the second server is a client transferred to a connected client by comparing the credentials received from the client with the credentials received from the server; (i2) the client confirming the transfer, transmitting a serial number of the last transmission data transmitted to the second server; And (i3) retransmitting unreceived transmission data to the client by the second server having received the last serial number.
  • the connection between the server and the client is disconnected by using the credentials that can distinguish the access terminal in the network environment between the server and the client, it is possible to automatically restore the connection without a separate authentication process of the reconnected terminal have.
  • the user when the network connection is restored after the network disconnection between the server and the client, the user can restore the connection without recognizing the disconnection.
  • the user when the user accesses the terminal of the distributed server system using the reconnection recovery process, the user can restore the connection without recognizing the disconnection. There is.
  • 1 is a flow chart of the steps of performing a message transfer according to the prior art.
  • FIG. 2 is a block diagram illustrating a network communication system having a restoration function of a terminal session according to the present invention.
  • FIG. 3 is a data flow diagram illustrating a connection and data transmission process between a client and a server in a network communication method according to the present invention.
  • Figure 4 is a flow chart illustrating in detail the credential sharing method according to the present invention.
  • FIG. 5 is a flowchart illustrating a message transmission and reception method according to the present invention in detail.
  • FIG. 6 is a data flow diagram illustrating a connection restoration process of a client and a server in a network communication method according to the present invention.
  • FIG. 7 is a flowchart illustrating in detail a message transmission and reception synchronization method according to the present invention.
  • FIG. 8 is a data flow diagram illustrating a client session transfer process of a server in a network communication method according to the present invention.
  • the present invention provides a method comprising: (A) a server and a client connected to a network to share a symmetric key; (B) generating and sharing credentials with the client to enable the server to identify the client through random number generation; (C) generating, by the client, transmission data including a serial number indicating a sequence number of transmission data and transmitting a message to the server; And (D) the server generating transmission data including a serial number indicating the sequence number of transmission data and transmitting a message to the client.
  • a network communication system having a restoration function of a terminal session includes a server 100 and a client 200.
  • the server 100 may be configured as a distributed server including a plurality of divided servers 100.
  • the client 200 refers to a plurality of clients 200 connected to the server 100.
  • the client 200 accesses the distributed server system, when excessive traffic occurs in a specific server 100 channel, the client 200 may need to transfer to another server 100 and reconnect.
  • such a distributed server system is particularly utilized in game servers, for example, the client 200 is the same game as other clients 200 connected to the server 100 via the server 100 It also executes and exchanges data with each other.
  • FIG. 3 is a data flow diagram illustrating a connection and data transfer process between a client and a server in the network communication method according to the present invention.
  • FIG. 4 is a flowchart illustrating the credential sharing method according to the present invention in detail.
  • the connection between the client and the server and the data transmission process are started by requesting a TCP connection from the client 200 to the server 100 (S110).
  • server 100 and the client 200 are connected, and the server 100 and the client 200 share a symmetric key with each other through SSH or other encryption process (S120).
  • the client 200 when the public key of the server 100 is transmitted to the client 200, the client 200 generates a symmetric key using the private key, and the public key received from the server 100.
  • the symmetric key is encrypted and transmitted to the server 100.
  • the server 100 decrypts the private key with its own to obtain the symmetric key.
  • the method of sharing the symmetric key between the server 100 and the client 200 may be applied by various publicly disclosed encryption techniques, which will not be described in detail herein.
  • the server 100 After sharing the symmetric key, the server 100 generates a credential and transmits to the client 200 (S130).
  • the credential means that it is used as an identification notation for distinguishing each of the clients 200 connected to the random number data block of 2 bytes or more.
  • a random number having a predetermined length is generated in the server 100, and the generated random number block is designated as the credential of the corresponding client 200 (S131).
  • the server 100 encrypts the generated credentials with a symmetric key (S132), transmits them to the client 200 (S133), and stores the credentials (S137).
  • the client 200 When the client 200 receives the encrypted credentials (S134), the client 200 decrypts them with a shared symmetric key (S135) and stores the credentials (S136).
  • the client 200 and the server 100 share the credentials for recognizing each client 200.
  • message transmission and reception between the server 100 and the client 200 is performed by a normal message transmission / reception method (S140).
  • S140 message transmission and reception method
  • a transmission data packet including a serial number is generated, which will be described in detail with reference to FIG. 5.
  • the client 200 to transmit a message generates a data packet by dividing the corresponding message into transmission / reception units according to a communication protocol (S141).
  • the data packet includes a sequence number indicating the construction order of the packet.
  • serial data is assigned to each packet to generate transmission data (S143).
  • the serial number is a serial number for indicating the sequence number of the transmitted data, may be composed of a serial number for separating the message unit, or may be composed of a serial number indicating a number for each individual packet transmitted.
  • the serial number when the serial number is set in a message unit, the serial number is all assigned to the packet for the first message, and the serial number is all assigned to the packet for the second message.
  • serial number is set to the serial number for each individual packet, sequential numbers are assigned to all packets communicated after connection regardless of the message order.
  • the transmission data including the serial number is transmitted to the server 100 (S145), the server 100 receives and processes the transmission data (S149).
  • the client 200 counts the serial number together with the transmission data transmission (S147).
  • the serial number indicates the sequence number of the message unit
  • the serial number is counted by the message unit
  • the serial number is the sequence number of the transmitted packet unit
  • the server 100 transmits an acknowledgment message (ack knowledge message) to the client 200 confirming the last received message every set time (S150).
  • the client 200 may check the message number received by the server 100 at the time of transmitting the confirmation message.
  • the message is transmitted not only from the client 200 to the server 100, but also from the server 100 to the client 200.
  • the serial number is assigned to the message transmitted from the server 100 to the client 200 and transmitted.
  • the serial number is a serial number for indicating the sequence number of the transmitted data, may be composed of a serial number for distinguishing a message unit, or may be composed of a serial number indicating a number for each individual packet transmitted. Is as described above.
  • the server 100 when the server 100 also transmits the transmission data, the serial number is counted, and the client 200 transmits to the server 100 an acknowledgment message (ack knowledge message) confirming the last received message every set time.
  • the server 100 also transmits the transmission data
  • the serial number is counted, and the client 200 transmits to the server 100 an acknowledgment message (ack knowledge message) confirming the last received message every set time.
  • the server 100 may check the message number received by the client 200 at the time of transmitting the confirmation message.
  • the message transmission process S140 and the confirmation message transmission process S150 are continuously performed while the connection between the client 200 and the server 100 is maintained.
  • the client 200 requests the TCP 100 to the server 100 again (S210).
  • the client 200 receives a response message for a specific time. If not, the connection is considered disconnected.
  • the client 200 may not know exactly what transmission data the server 100 has received.
  • the server 100 and the client 200 share a new symmetric key in the same manner as in the aforementioned step 120 (S220).
  • the client 200 encrypts the credentials stored with the new symmetric key and transmits the credentials to the server 100 (S230).
  • the server 100 checks the received credentials to perform a message transmission and reception synchronization process (S240).
  • the message transmission and reception synchronization process refers to a process of restoring a connection by synchronizing the transmitted data and the received data to a point before the connection between the client 200 and the server 100 is disconnected. It will be described in detail with reference to.
  • the message transmission and reception synchronization method starts with receiving the credentials from the client 200 in the server 100 (S241).
  • the server 100 compares the received credential with the stored credential, and if there is the same credential among the stored credential, checks that the server 200 is the client 200 which has been previously connected (S242).
  • the client 200 retransmits unreceived transmission data after the last serial number (S246).
  • the server 100 receives the unreceived transmission data (S247), the synchronization process is completed, through which the connection between the client 200 and the server 100 is restored.
  • the client 200 of the last transmission data of the transmission data received until the disconnection from the server 100
  • the serial number is checked and the final serial number confirmed is transmitted to the server 100, and the server 100 performs the same processes of retransmitting unreceived transmission data to the client 200.
  • the message transmission process S250 and the confirmation message transmission process S260 are performed in the same manner as in the above-described steps 140 to 150.
  • the client 200 can be automatically reconnected using the credentials without additional approval process when reconnecting after disconnection, and retransmits unreceived data to prevent data loss. can do.
  • the user side of the client 200 has an effect that can be reconnected even if the connection interruption and restoration process is not recognized.
  • the present invention exhibiting such an effect can also be utilized to transfer a session on a distributed server.
  • the process of disconnecting and reconnecting to another server 100 had to be performed separately.
  • the session may be transferred to a state not recognized by the user. It can be effective.
  • the client session transfer process of the server according to the present invention starts while the client and the server are connected to perform a message transmission and reception process (S320).
  • the server transmits a session transfer message to the server 2 to transfer the client's session ( S330).
  • the session transfer message includes a serial number included in the last transmission data received from the client, and a credential shared with the client.
  • the session transfer message may further include received messages since the last message sent by the server and the client-specific user-defined data.
  • the server 2 receiving the session transfer message transmits a confirmation message that the session transfer message has been received to the server (S340).
  • the server transmits an access server change message to change the access server to the server 2 to the client (S350).
  • the client receiving the access server change message releases the TCP connection with the server (S360).
  • the server 2 compares the received credentials with the credentials received from the server, and the credentials received from the server. If the same as, and confirms that the client is transferred from the server and performs a message transmission and reception synchronization process to restore the connection (S400).
  • the message transmission process S410 and the confirmation message transmission process S420 are performed in the same manner as in the above-described steps 140 to 150.
  • the present invention relates to a network communication method having a terminal session restoration function. More particularly, the present invention relates to a network communication method using a serial number indicating a data transmission order and a credential for distinguishing access terminals in a network environment between a server and a client.
  • the present invention relates to a network communication method having a terminal session restoration function capable of automatically restoring a connection in a short time without a user being aware of the disconnection even when a disconnection occurs.
  • the connection between the server and the client is disconnected by using the credentials that can distinguish the access terminals in the network environment, the connection can be automatically restored without a separate authentication process of the reconnected terminal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 서버와 클라이언트 간의 네트워크 환경에서 네트워크 간 단절이 발생하는 경우에, 자동으로 네트워크 간 세션을 복원할 수 있는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법에 관한 것으로, (A) 서버와 클라이언트가 네트워크 접속되어 대칭키를 공유하는 단계와; (B) 상기 서버가 난수 생성을 통해 클라이언트를 식별할 수 있도록 하는 크리덴셜을 생성하여 상기 클라이언트와 공유하는 단계와; (C) 상기 클라이언트가 송신 데이터의 순번을 나타내는 시리얼 넘버가 포함된 송신 데이터를 생성하여 상기 서버에 메시지를 전송하는 단계; 그리고 (D) 상기 서버가 송신 데이터의 순번을 나타내는 시리얼 넘버가 포함된 송신 데이터를 생성하여 상기 클라이언트에 메시지를 전송하는 단계를 포함하여 수행됨을 특징으로 하는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법을 포함하여 구성된다. 이와 같은 본 발명에 의하면, 서버와 클라이언트 간의 네트워크 환경에서 접속 단말을 구분할 수 있는 크리덴셜을 사용하여 서버와 클라이언트 간 접속이 단절된 경우에, 재접속 된 단말의 별도의 인증 과정 없이 자동으로 접속을 복원할 수 있는 효과가 있다.

Description

단말 세션의 복원 기능을 구비한 네트워크 통신 방법
본 발명은 단말 세션의 복원 기능을 구비한 네트워크 통신 방법에 관한 것으로, 보다 상세하게는 서버와 클라이언트 간의 네트워크 환경에서 접속 단말을 구분할 수 있는 크리덴셜과 데이터 전송 순서를 나타내는 시리얼 넘버를 이용하여 네트워크 간 단절이 발생하는 경우에도, 사용자가 연결 단절을 인지하지 못한 상태에서 자동으로 빠른 시간 내에 연결을 복원할 수 있는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법에 관한 것이다.
요즘은 통신 기기의 발전과 다양화를 통해 네트워크 환경의 이용자가 급격히 증가하고 있는 추세이다. 그러나 이러한 복잡화된 네트워크 환경에서 서버가 클라이언트로부터 오는 메시지를 처리하고 응답하는 것에 성능적으로 한계가 있어, 무한대의 클라이언트와의 메시지 상호작용을 원활하게 하기 위해 여러대의 서버를 구성하는 분산 서버 시스템을 주로 사용하는 추세이다.
한편, 이러한 분산 서버 시스템의 분산 효율을 증대시키기 위하여 종래기술 공개특허 제 10-2000-7009397호와 같이 분산 서버 시스템에 대한 기술 연구가 지속되고 있다.
그러나 종래 네트워크 기술에서는 단절된 서버에 재접속 시 사용자 인증과정을 새로 거치도록 하여 재접속에 불편함이 발생할 뿐만 아니라, 기 저장된 아이디와 패스워드를 이용하여 재접속하는 경우에도 인증과정에 의해 재접속 시간이 과도하게 발생하는 문제점이 있었다.
또한, 접속 단절 시 접속 단절 이후부터 재접속까지의 미전송 데이터가 유실되는 문제점이 있었다.
따라서, 종래 기술에서는 서버와 클라이언트 간의 접속 단절 발생 시, 재접속 과정과 재인증 과정이 필요하며, 데이터 유실에 대한 별도의 복구 과정도 필요하다는 문제점이 있었다.
본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 서버와 클라이언트 간의 네트워크 환경에서 접속 단말을 구분할 수 있는 크리덴셜을 사용하여 서버와 클라이언트 간 접속이 단절된 경우에, 재접속 된 단말의 별도의 인증 과정 없이 자동으로 상기 단말을 인식하여 접속을 복원할 수 있는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법을 제공하고자 하는 것이다.
또한, 본 발명에서는 서버와 클라이언트 간 네트워크 환경에서 전송되는 데이터의 순서를 나타내는 시리얼 넘버를 부여하여 서버와 클라이언트 간 접속의 단절 시 누락된 데이터를 재전송하여, 데이터 유실을 방지할 수 있는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법을 제공하고자 하는 것이다.
그리고 본 발명에서는 이와 같은 재접속 복구 과정과 유사한 방식으로 사용자는 단절을 인지할 필요없이 단말의 접속을 다른 서버로 이양할 수 있도록 하는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법을 제공하고자 하는 것이다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 따르면, 본 발명은 (A) 서버와 클라이언트가 네트워크 접속되어 대칭키를 공유하는 단계와; (B) 상기 서버가 난수 생성을 통해 클라이언트를 식별할 수 있도록 하는 크리덴셜을 생성하여 상기 클라이언트와 공유하는 단계와; (C) 상기 클라이언트가 송신 데이터의 순번을 나타내는 시리얼 넘버가 포함된 송신 데이터를 생성하여 상기 서버에 메시지를 전송하는 단계; 그리고 (D) 상기 서버가 송신 데이터의 순번을 나타내는 시리얼 넘버가 포함된 송신 데이터를 생성하여 상기 클라이언트에 메시지를 전송하는 단계를 포함하여 수행된다.
또한, 상기 제 (B) 단계는, (B1) 상기 서버에서 난수를 생성하고, 생성된 난수 블록을 해당 클라이언트의 크리덴셜로 저장하는 단계; 그리고 (B2) 상기 크리덴셜을 공유된 대칭키로 암호화하여 상기 클라이언트로 전송하여 상기 크리덴셜을 공유하는 단계를 포함하여 수행된다.
그리고 상기 제 (C) 단계는, (C1) 상기 클라이언트에서 전송할 메시지에 대하여 패킷을 생성하는 단계와; (C2) 생성된 각각의 패킷에 대하여 시리얼 넘버를 부여하여 상기 시리얼 넘버가 부여된 송신 데이터를 생성하는 단계; 그리고 (C3) 상기 송신 데이터를 서버에 송신한 후, 시리얼 넘버를 카운팅하는 단계를 포함하여 수행된다.
또한, 상기 제 (D) 단계는, (D1) 상기 서버에서 전송할 메시지에 대하여 패킷을 생성하는 단계와; (D2) 생성된 각각의 패킷에 대하여 시리얼 넘버를 부여하여 상기 시리얼 넘버가 부여된 송신 데이터를 생성하는 단계; 그리고 (D3) 상기 송신 데이터를 클라이언트에 송신한 후, 시리얼 넘버를 카운팅하는 단계를 포함하여 수행된다.
이때, 상기 시리얼 넘버는 메시지 단위로 구분되어 설정될 수도 있다.
또한, 상기 시리얼 넘버는 패킷 단위로 구분되어 설정될 수도 있다.
한편, (D) 서버와 클라이언트의 접속이 중단된 후, 상기 클라이언트가 상기 서버에 재접속되어 새 대칭키를 공유하는 단계와; (E) 상기 클라이언트가 저장된 크리덴셜을 상기 서버로 전송하는 단계와; (F) 상기 클라이언트와 상기 서버가 접속 중단 이전 상태로 누락된 메시지를 공유하는 메시지 송수신 동기화를 수행하는 단계; 그리고 (G) 메시지 송수신 동기화가 완료된 상기 클라이언트와 상기 서버가 메시지 송수신을 수행하는 단계를 더 포함하여 수행될 수도 있다.
그리고 상기 제 (F) 단계는, (F1) 상기 서버가 상기 클라이언트로부터 수신된 크리덴셜을 저장된 크리덴셜들과 비교하여 일치하는 크리덴셜의 클라이언트를 확인하는 단계와; (F2) 확인된 클라이언트로부터 접속 중단 이전에 수신된 최종 송신 데이터의 시리얼 넘버를 확인하여 상기 클라이언트로 송신하는 단계; 그리고 (F3) 상기 최종 시리얼 넘버를 수신한 상기 클라이언트가 미수신 송신 데이터를 상기 서버로 재송신하는 단계를 포함하여 수행될 수도 있다.
또한, 상기 제 (F) 단계는, (F1) 상기 서버가 상기 클라이언트로부터 수신된 크리덴셜을 저장된 크리덴셜들과 비교하여 일치하는 크리덴셜의 클라이언트를 확인하는 단계와; (F2) 클라이언트가 서버로부터 접속 중단 이전에 수신된 최종 송신 데이터의 시리얼 넘버를 확인하여 상기 서버로 송신하는 단계; 그리고 (F3) 상기 최종 시리얼 넘버를 수신한 상기 서버가 미수신 송신 데이터를 상기 클라이언트로 재송신하는 단계를 포함하여 수행될 수도 있다.
또한, (d) 클라이언트와 통신하던 서버가 제 2서버로 세션을 양도하겠다는 세션 양도 메시지를 전송하는 단계와; (e) 상기 제 2서버가 확인 메시지를 상기 서버로 전송하는 단계와; (f) 상기 서버가 상기 클라이언트에 상기 제 2서버로 접속 서버를 변경하라는 접속 서버 변경 메시지를 전송하는 단계와; (g) 상기 클라이언트가 상기 제 2서버에 접속한 후, 상기 제 2서버와 새 대칭키를 공유하는 단계와; (h) 상기 클라이언트가 저장된 크리덴셜을 상기 제 2서버로 전송하는 단계와; (i) 상기 클라이언트가 상기 서버와 접속 단절 이전 상태로 누락된 메시지를 상기 제 2서버와 공유하는 메시지 송수신 동기화를 수행하는 단계; 그리고 (j) 메시지 송수신 동기화가 완료된 상기 클라이언트와 상기 제 2서버가 메시지 송수신을 수행하는 단계를 더 포함하여 수행될 수도 있다.
이때, 상기 세션 양도 메시지에는 크리덴셜과 시리얼 넘버를 포함하여 구성된다.
또한, 상기 제 (i) 단계는, (i1) 상기 제 2서버가 상기 클라이언트로부터 수신된 크리덴셜을 상기 서버로부터 수신받은 크리덴셜과 비교하여 접속된 클라이언트에 양도된 클라이언트인지 여부를 확인하는 단계와; (i2) 양도가 확인된 클라이언트에 대하여, 상기 서버로부터 전송된 최종 송신 데이터의 시리얼 넘버를 상기 클라이언트로 송신하는 단계; 그리고 (i3) 상기 최종 시리얼 넘버를 수신한 상기 클라이언트가 미수신 송신 데이터를 상기 제 2서버로 재송신하는 단계를 포함하여 수행될 수도 있다.
그리고 상기 제 (i) 단계는, (i1) 상기 제 2서버가 상기 클라이언트로부터 수신된 크리덴셜을 상기 서버로부터 수신받은 크리덴셜과 비교하여 접속된 클라이언트에 양도된 클라이언트인지 여부를 확인하는 단계와; (i2) 양도가 확인된 상기 클라이언트가 전송된 최종 송신 데이터의 시리얼 넘버를 제 2서버로 송신하는 단계; 그리고 (i3) 상기 최종 시리얼 넘버를 수신한 상기 제 2서버가 미수신 송신 데이터를 상기 클라이언트로 재송신하는 단계를 포함하여 수행될 수도 있다.
전술한 바와 같이, 본 발명에 의한 단말 세션의 복원 기능을 구비한 네트워크 통신 방법에서는 다음과 같은 효과를 기대할 수 있다.
본 발명에서는 서버와 클라이언트 간의 네트워크 환경에서 접속 단말을 구분할 수 있는 크리덴셜을 사용하여 서버와 클라이언트 간 접속이 단절된 경우에, 재접속 된 단말의 별도의 인증 과정 없이 자동으로 접속을 복원할 수 있는 효과가 있다.
또한, 본 발명에서는 서버와 클라이언트 간 네트워크 환경에서 전송되는 데이터의 순서를 나타내는 시리얼 넘버를 부여하여 서버와 클라이언트 간 접속의 단절 시 누락된 데이터를 재전송하여, 데이터 유실을 방지할 수 있는 효과가 있다.
그러므로 본 발명에서는 서버와 클라이언트 간 네트워크 단절 후 네트워크 연결을 복원 시에 사용자가 단절을 인지하지 못한 상태로 연결을 재복원할 수 있는 효과가 있다.
그리고 본 발명에서는 이와 같은 재접속 복구 과정을 이용하여 분산 서버 시스템의 단말에 접속한 경우에 접속된 단말을 다른 서버로 이양하는 과정을 사용자가 단절을 인지하지 못한 상태로 연결을 재복원할 수 있도록 하는 효과가 있다.
도 1은 종래기술에 의한 메시지 전송을 수행하는 단계들의 순서도.
도 2는 본 발명에 의한 단말 세션의 복원 기능을 구비한 네트워크 통신 시스템을 도시한 블록도.
도 3은 본 발명에 의한 네트워크 통신 방법 중 클라이언트와 서버 사이의 접속 및 데이터 전송 과정을 도시한 데이터 흐름도.
도 4는 본 발명에 의한 크리덴셜 공유 방법을 상세하게 도시한 흐름도.
도 5는 본 발명에 의한 메시지 송수신 방법을 상세하게 도시한 흐름도.
도 6은 본 발명에 의한 네트워크 통신 방법 중 클라이언트와 서버의 연결 복원 과정을 도시한 데이터 흐름도.
도 7은 본 발명에 의한 메시지 송수신 동기화 방법을 상세하게 도시한 흐름도.
도 8은 본 발명에 의한 네트워크 통신 방법 중 서버의 클라이언트 세션 이양 과정을 도시한 데이터 흐름도.
본 발명은 (A) 서버와 클라이언트가 네트워크 접속되어 대칭키를 공유하는 단계와; (B) 상기 서버가 난수 생성을 통해 클라이언트를 식별할 수 있도록 하는 크리덴셜을 생성하여 상기 클라이언트와 공유하는 단계와; (C) 상기 클라이언트가 송신 데이터의 순번을 나타내는 시리얼 넘버가 포함된 송신 데이터를 생성하여 상기 서버에 메시지를 전송하는 단계; 그리고 (D) 상기 서버가 송신 데이터의 순번을 나타내는 시리얼 넘버가 포함된 송신 데이터를 생성하여 상기 클라이언트에 메시지를 전송하는 단계를 포함하여 수행된다.
이하에서는 상기한 바와 같은 단말 세션의 복원 기능을 구비한 네트워크 통신 방법의 구체적인 실시예를 첨부된 도면을 참고하여 설명한다.
이하에서는 먼저, 본 발명에 의한 단말 세션의 복원 기능을 구비한 네트워크 통신 시스템을 도 2를 참고하여 상세히 설명하도록 한다.
도 2에 도시된 바와 같이, 본 발명에 의한 단말 세션의 복원 기능을 구비한 네트워크 통신 시스템은 서버(100)와 클라이언트(200)를 포함하여 구성된다. 이때, 상기 서버(100)는 다수개의 구분된 서버(100)들을 포함하여 구성되는 분산 서버로 구성될 수도 있다.
또한, 상기 클라이언트(200)는 상기 서버(100)에 접속되는 다수개의 클라이언트(200)들을 의미한다.
따라서 상기 클라이언트(200)는 분산 서버 시스템에 접속한 경우, 특정 서버(100) 채널에 과도한 트래픽이 발생하는 경우 다른 서버(100)로 이양하여 재접속을 해야 하는 경우도 발생한다.
한편, 이와 같은 분산 서버 시스템은 특히 게임 서버에서 많이 활용되고 있는 것으로, 예를 들어 클라이언트(200)는 서버(100)를 통해 상기 서버(100)에 접속된 다른 클라이언트(200)들과 동일한 게임을 실행하며 서로 데이터들을 주고받기도 한다.
이하에서는 본 발명에 의한 단말 세션의 복원 기능을 구비한 네트워크 통신 방법을 첨부된 도면을 참고하여 설명한다.
먼저, 도 3 내지 도 5를 참조하여 본 발명에서 클라이언트(200)가 서버(100)에 최초 접속하여 데이터를 송수신하는 과정을 설명하기로 한다.
도 3은 본 발명에 의한 네트워크 통신 방법 중 클라이언트와 서버 사이의 접속 및 데이터 전송 과정을 도시한 데이터 흐름도이고, 도 4는 본 발명에 의한 크리덴셜 공유 방법을 상세하게 도시한 흐름도이며, 도 5는 본 발명에 의한 메시지 송수신 방법을 상세하게 도시한 흐름도이다.
이하에서는 먼저, 본 발명에 의한 클라이언트와 서버 사이의 접속 및 데이터 전송 과정을 도 3을 참고하여 상세히 설명하도록 한다.
본 발명에 의한 네트워크 통신 방법 중 클라이언트와 서버 사이의 접속 및 데이터 전송 과정은 클라이언트(200)에서 서버(100)로 TCP 연결을 요청하는 것으로 시작된다(S110).
이후, 상기 서버(100)와 클라이언트(200)가 연결되고, 상기 서버(100)와 클라이언트(200)는 SSH나 여타 암호화 과정을 통해 대칭키를 서로 공유한다(S120).
예를 들면, 상기 서버(100)가 가진 공개키를 상기 클라이언트(200)에게 전송하면, 상기 클라이언트(200)는 개인키를 이용하여 대칭키를 생성하고, 상기 서버(100)로부터 받은 공개키로 상기 대칭키를 암호화해서 상기 서버(100)로 전송한다. 그리고 상기 서버(100)는 자신이 가진 개인키로 복호화하여 상기 대칭키를 획득한다.
이와 같이, 대칭키를 서버(100)와 클라이언트(200) 간 공유하는 방식은 공개된 다양한 암호화 기법에 의해서 적용될 수 있는 것이므로 본 명세서에서 상세히 설명하지는 않도록 한다.
한편, 상기 서버(100)는 대칭키를 공유한 이후, 크리덴셜을 생성하여 상기 클라이언트(200)로 송신한다(S130). 여기에서 상기 크리덴셜이란 2바이트 이상의 난수 데이터 블록으로 접속된 각각의 클라이언트(200)들을 구분하기 위한 식별 표기로 사용되는 것을 의미한다.
이하에서는 도 4를 참조하여 크리덴셜 생성 및 제공과정을 상세히 설명하기로 한다.
본 발명에 의한 크리덴셜 공유 방법은 먼저, 서버(100)에서 규정된 길이의 난수를 생성하고, 생성된 난수 블록은 해당 클라이언트(200)의 크리덴셜로 지정된다(S131).
이후, 상기 서버(100)는 생성한 크리덴셜을 대칭키로 암호화하여(S132), 클라이언트(200)로 송신한 후(S133), 크리덴셜을 저장한다(S137).
그리고 상기 클라이언트(200)가 암호화된 상기 크리덴셜을 수신하면(S134), 공유된 대칭키로 복호화한 후(S135), 상기 크리덴셜을 저장한다(S136).
이와 같은 공유과정을 통해, 클라이언트(200)와 서버(100)는 각각의 클라이언트(200)를 인식할 수 있는 크리덴셜을 공유하게 된다.
다음으로, 상기 크리덴셜 공유가 이루어진 이후에는 통상의 메시지 송수신 방법에 의해서 상기 서버(100)와 클라이언트(200) 간 메시지 송수신이 수행된다(S140). 다만, 본 발명에 의한 메시지 송수신에는 시리얼 넘버를 포함하여 송신 데이터 패킷이 생성되는데 이에 대해서는 도 5를 참조하여 상세히 설명하기로 한다.
먼저, 도 5에 도시된 바와 같이, 메시지를 송신하고자 하는 클라이언트(200)는 해당 메시지를 통신 규약에 따른 송수신 단위로 구분하여, 데이터 패킷을 생성한다(S141). 이때 상기 데이터 패킷에는 해당 패킷의 구성 순서를 나타내는 시퀀스 넘버가 포함되어 생성된다. 물론 이는 통신 규약에 의한 것이므로 이에 대해서 상세히 설명하지는 않기로 한다.
한편, 본 발명에서는 각각의 패킷에 대하여 시리얼 넘버를 부여하여 송신 데이터를 생성한다(S143).
이때, 시리얼 넘버는 전송된 송신 데이터의 순번을 나타내기 위한 일련번호로, 메시지 단위를 구분하는 일련번호로 구성될 수도 있고, 송신된 각각 개별 패킷에 대한 번호를 나타내는 일련번호로 구성될 수도 있다.
예를 들어, 상기 시리얼 넘버가 메시지 단위로 구분되어 설정되는 경우, 첫번째 메시지에 대한 패킷에는 상기 시리얼 넘버가 모두 1이 부여되고, 두번째 메시지에 대한 패킷에는 상기 시리얼 넘버가 모두 2로 부여된다.
반면에, 상기 시리얼 넘버가 각각 개별 패킷에 대한 일련 번호로 설정되는 경우, 메시지 순서와 관계없이 접속 이후 통신되는 전체 패킷에 대하여 순차적인 번호가 부여된다.
다음으로, 시리얼 넘버가 포함된 송신 데이터는 서버(100)로 전송되고(S145), 상기 서버(100)는 상기 송신 데이터를 수신하여 처리한다(S149).
그리고 상기 클라이언트(200)는 송신 데이터 전송과 함께 상기 시리얼 넘버를 카운팅한다(S147).
물론, 이 경우 상기 시리얼 넘버가 메시지 단위의 순번을 나타내는 경우, 메시지 단위로 상기 시리얼 넘버를 카운팅하고, 전송된 패킷 단위의 순번을 나타내는 경우, 각각 패킷을 전송할 때마다 시리얼 넘버를 카운팅하여 저장한다.
이후, 상기 서버(100)는 설정된 시간마다 가장 마지막 수신된 메시지를 확인하는 확인 메시지(ack knowledge message)를 클라이언트(200)로 전송한다(S150). 이를 통해 상기 클라이언트(200)는 상기 서버(100)가 확인 메시지 전송 시점에서 수신한 메시지 번호를 확인할 수 있다.
또한, 도 3에 도시된 바와 같이, 상기 메시지는 클라이언트(200)로부터 서버(100)로 송신될 뿐만 아니라, 서버(100)로부터 클라이언트(200)에게도 송신된다.
이때에도 전술한 제 141 단계 내지 제 149 단계에서 기술한 바와 같이, 상기 서버(100)에서 클라이언트(200)로 전송되는 메시지에 시리얼 넘버가 부여되어 전송된다.
이때, 상기 시리얼 넘버는 전송된 송신 데이터의 순번을 나타내기 위한 일련번호로, 메시지 단위를 구분하는 일련번호로 구성될 수도 있고, 송신된 각각 개별 패킷에 대한 번호를 나타내는 일련번호로 구성될 수도 있음은 전술한 바와 같다.
한편, 서버(100)에서도 송신 데이터를 전송하면 시리얼 넘버를 카운팅하고, 클라이언트(200)는 설정된 시간마다 가장 마지막 수신된 메시지를 확인하는 확인 메시지(ack knowledge message)를 서버(100)로 전송한다.
이를 통해 상기 서버(100)도 상기 클라이언트(200)가 확인 메시지 전송 시점에서 수신한 메시지 번호를 확인할 수 있다.
한편, 상기 메시지 전송 과정(S140)과 확인 메시지 전송 과정(S150)은 클라이언트(200)와 서버(100) 간 연결이 유지되는 동안 지속적으로 수행된다.
이하에서는 도 6을 참조하여 본 발명에 의한 네트워크 통신 방법 중 클라이언트(200)와 서버(100)의 연결 복원 과정을 상세히 설명하기로 한다.
먼저, 서버(100)와 클라이언트(200) 간의 연결이 의도하지 않게 중단됐을 때, 상기 클라이언트(200)는 상기 서버(100)에게 다시 TCP 연결을 요청한다(S210).
이때, 서버(100)와 클라이언트(200) 간 연결이 단절된 경우를 좀 더 구체적으로 살펴보면, 클라이언트(200)는 서버(100)로 지속적으로 송신 데이터를 전송하는 과정에서, 특정 시간동안 응답 메시지가 수신되지 않으면 연결이 해제된 것으로 인식하게 된다.
여기에서 상기 클라이언트(200)는 상기 서버(100)가 정확히 어떤 송신 데이터까지 수신하였는지 여부는 알 수 없다.
이후, 상기 서버(100)와 클라이언트(200)는 전술한 제 120단계와 동일한 방식으로 새로운 대칭키를 공유한다(S220).
그리고 상기 클라이언트(200)가 새로운 대칭키로 저장되어 있던 크리덴셜을 암호화하여 상기 서버(100)로 전송한다(S230).
이후, 상기 서버(100)는 수신된 크리덴셜을 확인하여 메시지 송수신 동기화 과정을 수행한다(S240).
이때, 상기 메시지 송수신 동기화 과정이라 함은, 클라이언트(200)와 서버(100) 간 연결이 끊어지기 이전 시점으로 전송된 데이터와 수신된 데이터를 동기화하여 연결을 복구하는 과정을 말하는 것으로, 도 7을 참조하여 상세하게 설명하기로 한다.
도 7에 도시된 바와 같이, 메시지 송수신 동기화 방법은 서버(100)에서 클라이언트(200)로부터 크리덴셜을 수신받는 것으로 시작된다(S241).
상기 서버(100)는 수신받은 크리덴셜과 저장된 크리덴셜을 비교하고, 저장된 크리덴셜 중 동일한 크리덴셜이 존재하는 경우, 이전에 접속했던 클라이언트(200)임을 확인한다(S242).
이후, 확인된 클라이언트(200)로부터 단절 이전까지 수신 받은 송신 데이터 중 최종 송신 데이터의 시리얼 넘버를 확인한다(S243). 그리고 확인된 최종 시리얼 넘버를 클라이언트(200)에 전송한다(S244).
최종 시리얼 넘버를 수신받은(S245) 클라이언트(200)는 최종 시리얼 넘버 이후의 미수신 송신 데이터를 재전송한다(S246). 상기 서버(100)가 미수신 송신 데이터들을 수신하면(S247), 동기화 과정은 완료되고, 이를 통해 클라이언트(200)와 서버(100)간 연결은 복구된다.
또한, 메시지 송수신 동기화 과정에서, 상기 서버(100)에서 클라이언트(200)로 미수신 송신 데이터를 재전송함에 있어서도, 상기 클라이언트(200)가 서버(100)로부터 단절 이전까지 수신 받은 송신 데이터 중 최종 송신 데이터의 시리얼 넘버를 확인하고, 확인된 최종 시리얼 넘버를 서버(100)에 전송하여, 상기 서버(100)가 미수신 송신 데이터를 상기 클라이언트(200)로 재전송하는 과정들을 동일하게 수행한다.
한편, 상기 메시지 전송 과정(S250)과 확인 메시지 전송 과정(S260)은 전술한 제 140 내지 150 단계와 동일하게 수행된다.
전술한 바와 같은 연결 복구 과정을 통해서, 클라이언트(200)는 접속의 단절 이후 재접속 시에 별도의 승인 과정 없이 크리덴셜을 이용하여 자동 재접속이 될 수 있을 뿐만 아니라, 미수신 데이터를 재전송하여 데이터 유실을 방지할 수 있다.
따라서, 클라이언트(200)의 사용자 측면에서는 연결 중단 및 복원 과정을 인지하지 못한 상태에서도 재연결 할 수 있는 효과가 있다. 이와 같은 효과를 나타내는 본원 발명은 분산 서버 상에서 세션을 이양함에도 활용할 수 있다.
예를 들어, 다수개의 분산 서버(100)를 보유한 서버 시스템에 있어서, 특정 서버(100)에 접속자가 몰리고 다른 서버(100)에 접속자가 비교적 적은 경우에, 서버(100)의 이용 효율을 위해 혼잡한 서버(100)에 접속된 클라이언트(200)를 다른 서버(100)로 세션을 이양시킬 필요성이 있었다.
이와 같은 경우, 종래 방법을 택하는 경우에는 접속을 해지시키고 다른 서버(100)에 재접속하는 과정을 별도로 수행하여야 하였지만, 전술한 바와 같은 본 발명을 이용하면 사용자가 인지하지 못한 상태로 세션을 이양시킬 수 있는 효과가 있다.
이하에 대해서는, 본 발명을 서버의 클라이언트 세션 이양 과정에 적용한 실시예를 도 8을 참조하여 설명하기로 한다.
본 발명에 의한 서버의 클라이언트 세션 이양 과정은 클라이언트와 서버가 연결되어 메시지 송수신 과정을 수행하는 중에 시작된다(S320).
메시지 송수신 과정을 수행하는 도중에, 전술한 바와 같은 이유로 상기 서버에서 상기 클라이언트의 연결을 서버2로 옮기고자 할 때, 상기 서버는 상기 서버2로 상기 클라이언트의 세션을 양도하겠다는 세션 양도 메시지를 전송한다(S330).
여기에서 상기 세션 양도 메시지에는 상기 클라이언트로부터 마지막으로 받은 송신 데이터에 포함된 시리얼 넘버 및 상기 클라이언트와 공유된 크리덴셜이 포함된다.
물론, 이때 상기 세션 양도 메시지에는 양도의 안정성을 확보하기 위하여, 상기 서버가 마지막으로 송신한 확인 메시지 이후의 수신 메시지들과 상기 클라이언트 전용 사용자 정의 데이터 등을 더 포함할 수도 있다.
한편, 세션 양도 메시지를 수신받은 상기 서버2는 상기 세션 양도 메시지를 수신했다는 확인 메시지를 상기 서버로 전송한다(S340).
이후, 상기 서버는 상기 클라이언트에게 접속 서버를 상기 서버2로 변경하라는 접속 서버 변경 메시지를 전송한다(S350).
그리고 상기 접속 서버 변경 메시지를 수신받은 상기 클라이언트는 상기 서버와의 TCP 연결을 해제한다(S360).
이후, 상기 클라이언트는 상기 서버2에게 TCP 연결을 요청하면(S370), 상기 서버2와 클라이언트는 전술한 제 220단계와 동일한 방식으로 새로운 대칭키를 공유한다(S380).
그리고 상기 클라이언트가 새로운 대칭키로 저장되어 있던 크리덴셜을 암호화하여 상기 서버2로 전송하면(S390), 상기 서버2는 수신받은 크리덴셜과 서버로부터 전달받은 크리덴셜을 비교하고, 서버로부터 전달받은 크리덴셜과 동일한 경우, 상기 서버로부터 이양된 클라이언트임을 확인하고 메시지 송수신 동기화 과정을 수행하여 연결을 복원한다(S400).
한편, 상기 메시지 전송 과정(S410)과 확인 메시지 전송 과정(S420)은 전술한 제 140 내지 150 단계와 동일하게 수행된다.
본 발명의 권리는 이상에서 설명된 실시예에 한정되지 않고 청구범위에 기재된 바에 의해 정의되며, 본 발명의 분야에서 통상의 지식을 가진 자가 청구범위에 기재된 권리 범위 내에서 다양한 변형과 개작을 할 수 있다는 것은 자명하다.
본 발명은 단말 세션의 복원 기능을 구비한 네트워크 통신 방법에 관한 것으로, 보다 상세하게는 서버와 클라이언트 간의 네트워크 환경에서 접속 단말을 구분할 수 있는 크리덴셜과 데이터 전송 순서를 나타내는 시리얼 넘버를 이용하여 네트워크 간 단절이 발생하는 경우에도, 사용자가 연결 단절을 인지하지 못한 상태에서 자동으로 빠른 시간 내에 연결을 복원할 수 있는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법에 관한 것으로, 본 발명에서는 서버와 클라이언트 간의 네트워크 환경에서 접속 단말을 구분할 수 있는 크리덴셜을 사용하여 서버와 클라이언트 간 접속이 단절된 경우에, 재접속 된 단말의 별도의 인증 과정 없이 자동으로 접속을 복원할 수 있는 효과가 있다.

Claims (13)

  1. (A) 서버와 클라이언트가 네트워크 접속되어 대칭키를 공유하는 단계와;
    (B) 상기 서버가 난수 생성을 통해 클라이언트를 식별할 수 있도록 하는 크리덴셜을 생성하여 상기 클라이언트와 공유하는 단계와;
    (C) 상기 클라이언트가 송신 데이터의 순번을 나타내는 시리얼 넘버가 포함된 송신 데이터를 생성하여 상기 서버에 메시지를 전송하는 단계; 그리고
    (D) 상기 서버가 송신 데이터의 순번을 나타내는 시리얼 넘버가 포함된 송신 데이터를 생성하여 상기 클라이언트에 메시지를 전송하는 단계를 포함하여 수행됨을 특징으로 하는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법.
  2. 제 1 항에 있어서,
    상기 제 (B) 단계는,
    (B1) 상기 서버에서 난수를 생성하고, 생성된 난수 블록을 해당 클라이언트의 크리덴셜로 저장하는 단계; 그리고
    (B2) 상기 크리덴셜을 공유된 대칭키로 암호화하여 상기 클라이언트로 전송하여 상기 크리덴셜을 공유하는 단계를 포함하여 수행됨을 특징으로 하는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법.
  3. 제 2 항에 있어서,
    상기 제 (C) 단계는,
    (C1) 상기 클라이언트에서 전송할 메시지에 대하여 패킷을 생성하는 단계와;
    (C2) 생성된 각각의 패킷에 대하여 시리얼 넘버를 부여하여 상기 시리얼 넘버가 부여된 송신 데이터를 생성하는 단계; 그리고
    (C3) 상기 송신 데이터를 서버에 송신한 후, 시리얼 넘버를 카운팅하는 단계를 포함하여 수행됨을 특징으로 하는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법.
  4. 제 2 항에 있어서,
    상기 제 (D) 단계는,
    (D1) 상기 서버에서 전송할 메시지에 대하여 패킷을 생성하는 단계와;
    (D2) 생성된 각각의 패킷에 대하여 시리얼 넘버를 부여하여 상기 시리얼 넘버가 부여된 송신 데이터를 생성하는 단계; 그리고
    (D3) 상기 송신 데이터를 클라이언트에 송신한 후, 시리얼 넘버를 카운팅하는 단계를 포함하여 수행됨을 특징으로 하는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법.
  5. 제 3 항 내지 제 4 항에 있어서,
    상기 시리얼 넘버는 메시지 단위로 구분되어 설정됨을 특징으로 하는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법.
  6. 제 3 항 내지 제 4 항에 있어서,
    상기 시리얼 넘버는 패킷 단위로 구분되어 설정됨을 특징으로 하는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법.
  7. 제 1 항에 있어서,
    (D) 서버와 클라이언트의 접속이 중단된 후, 상기 클라이언트가 상기 서버에 재접속되어 새 대칭키를 공유하는 단계와;
    (E) 상기 클라이언트가 저장된 크리덴셜을 상기 서버로 전송하는 단계와;
    (F) 상기 클라이언트와 상기 서버가 접속 중단 이전 상태로 누락된 메시지를 공유하는 메시지 송수신 동기화를 수행하는 단계; 그리고
    (G) 메시지 송수신 동기화가 완료된 상기 클라이언트와 상기 서버가 메시지 송수신을 수행하는 단계를 더 포함하여 수행됨을 특징으로 하는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법.
  8. 제 7 항에 있어서,
    상기 제 (F) 단계는,
    (F1) 상기 서버가 상기 클라이언트로부터 수신된 크리덴셜을 저장된 크리덴셜들과 비교하여 일치하는 크리덴셜의 클라이언트를 확인하는 단계와;
    (F2) 확인된 클라이언트로부터 접속 중단 이전에 수신된 최종 송신 데이터의 시리얼 넘버를 확인하여 상기 클라이언트로 송신하는 단계; 그리고
    (F3) 상기 최종 시리얼 넘버를 수신한 상기 클라이언트가 미수신 송신 데이터를 상기 서버로 재송신하는 단계를 포함하여 수행됨을 특징으로 하는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법.
  9. 제 7 항에 있어서,
    상기 제 (F) 단계는,
    (F1) 상기 서버가 상기 클라이언트로부터 수신된 크리덴셜을 저장된 크리덴셜들과 비교하여 일치하는 크리덴셜의 클라이언트를 확인하는 단계와;
    (F2) 클라이언트가 서버로부터 접속 중단 이전에 수신된 최종 송신 데이터의 시리얼 넘버를 확인하여 상기 서버로 송신하는 단계; 그리고
    (F3) 상기 최종 시리얼 넘버를 수신한 상기 서버가 미수신 송신 데이터를 상기 클라이언트로 재송신하는 단계를 포함하여 수행됨을 특징으로 하는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법.
  10. 제 1 항에 있어서,
    (d) 클라이언트와 통신하던 서버가 제 2서버로 세션을 양도하겠다는 세션 양도 메시지를 전송하는 단계와;
    (e) 상기 제 2서버가 확인 메시지를 상기 서버로 전송하는 단계와;
    (f) 상기 서버가 상기 클라이언트에 상기 제 2서버로 접속 서버를 변경하라는 접속 서버 변경 메시지를 전송하는 단계와;
    (g) 상기 클라이언트가 상기 제 2서버에 접속한 후, 상기 제 2서버와 새 대칭키를 공유하는 단계와;
    (h) 상기 클라이언트가 저장된 크리덴셜을 상기 제 2서버로 전송하는 단계와;
    (i) 상기 클라이언트가 상기 서버와 접속 단절 이전 상태로 누락된 메시지를 상기 제 2서버와 공유하는 메시지 송수신 동기화를 수행하는 단계; 그리고
    (j) 메시지 송수신 동기화가 완료된 상기 클라이언트와 상기 제 2서버가 메시지 송수신을 수행하는 단계를 더 포함하여 수행됨을 특징으로 하는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법.
  11. 제 10 항에 있어서,
    상기 세션 양도 메시지에는 크리덴셜과 시리얼 넘버를 포함하여 구성됨을 특징으로 하는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법.
  12. 제 10 항에 있어서,
    상기 제 (i) 단계는,
    (i1) 상기 제 2서버가 상기 클라이언트로부터 수신된 크리덴셜을 상기 서버로부터 수신받은 크리덴셜과 비교하여 접속된 클라이언트에 양도된 클라이언트인지 여부를 확인하는 단계와;
    (i2) 양도가 확인된 클라이언트에 대하여, 상기 서버로부터 전송된 최종 송신 데이터의 시리얼 넘버를 상기 클라이언트로 송신하는 단계; 그리고
    (i3) 상기 최종 시리얼 넘버를 수신한 상기 클라이언트가 미수신 송신 데이터를 상기 제 2서버로 재송신하는 단계를 포함하여 수행됨을 특징으로 하는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법.
  13. 제 10 항에 있어서,
    상기 제 (i) 단계는,
    (i1) 상기 제 2서버가 상기 클라이언트로부터 수신된 크리덴셜을 상기 서버로부터 수신받은 크리덴셜과 비교하여 접속된 클라이언트에 양도된 클라이언트인지 여부를 확인하는 단계와;
    (i2) 양도가 확인된 상기 클라이언트가 전송된 최종 송신 데이터의 시리얼 넘버를 제 2서버로 송신하는 단계; 그리고
    (i3) 상기 최종 시리얼 넘버를 수신한 상기 제 2서버가 미수신 송신 데이터를 상기 클라이언트로 재송신하는 단계를 포함하여 수행됨을 특징으로 하는 단말 세션의 복원 기능을 구비한 네트워크 통신 방법.
PCT/KR2015/000615 2015-01-08 2015-01-21 단말 세션의 복원 기능을 구비한 네트워크 통신 방법 WO2016111407A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/541,482 US10630479B2 (en) 2015-01-08 2015-01-21 Network communication method having function of recovering terminal session
CN201580072436.4A CN107113178A (zh) 2015-01-08 2015-01-21 具有终端会话恢复功能的网络通信方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150002614A KR101627256B1 (ko) 2015-01-08 2015-01-08 다수 분산서버를 구비한 네트워크 통신의 세션 이양 방법
KR10-2015-0002614 2015-01-08

Publications (1)

Publication Number Publication Date
WO2016111407A1 true WO2016111407A1 (ko) 2016-07-14

Family

ID=56192564

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/000615 WO2016111407A1 (ko) 2015-01-08 2015-01-21 단말 세션의 복원 기능을 구비한 네트워크 통신 방법

Country Status (4)

Country Link
US (1) US10630479B2 (ko)
KR (1) KR101627256B1 (ko)
CN (1) CN107113178A (ko)
WO (1) WO2016111407A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2018354129B2 (en) * 2017-10-23 2023-11-23 Notarize, Inc. System and method for automated online notarization meeting recovery
TW202019189A (zh) * 2018-11-05 2020-05-16 財團法人資訊工業策進會 用於裝置連線之雲端平台及裝置連線方法
JP7335966B2 (ja) 2019-02-05 2023-08-30 カーサシステムズ インコーポレイテッド ネットワーク関連付け情報を回復するための方法及び装置
CN110568996A (zh) * 2019-09-05 2019-12-13 蒋昊坤 基于设备驱动程序的本地存储容量扩充系统
US20240202676A1 (en) * 2021-04-16 2024-06-20 Digital Currency Institute, The People's Bank Of China Digital Currency Payment Method and Electronic Device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060120035A (ko) * 2003-10-10 2006-11-24 사이트릭스 시스템스, 인크. 신뢰성 높고 지속적인 통신 세션들을 통한 클라이언트 자동재연결
KR20100133882A (ko) * 2009-06-12 2010-12-22 엘지전자 주식회사 CPM 세션에서 이산 미디어 타입(discrete media type)의 메시지 전달 순서를 지키는 방법 및 장치
KR20130010522A (ko) * 2011-07-18 2013-01-29 순천향대학교 산학협력단 스마트폰 분실 및 도난의 피해 방지를 위한 인증방법
KR20140036345A (ko) * 2011-06-30 2014-03-25 마이크로소프트 코포레이션 투명한 장애 극복 기법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5517668A (en) * 1994-01-10 1996-05-14 Amdahl Corporation Distributed protocol framework
FI107858B (fi) * 1998-12-04 2001-10-15 Ericsson Telefon Ab L M Yhteysvastuun vaihto tietoliikennejärjestelmässä
US6510144B1 (en) * 1999-12-07 2003-01-21 Cisco Technology, Inc. Network layer support to enhance the transport layer performance in mobile and wireless environments
US8555069B2 (en) * 2009-03-06 2013-10-08 Microsoft Corporation Fast-reconnection of negotiable authentication network clients
CN101765228B (zh) * 2010-01-29 2012-07-11 杭州华三通信技术有限公司 一种capwap隧道的恢复方法及装置
CN101827111A (zh) * 2010-05-12 2010-09-08 中兴通讯股份有限公司 Tcp链接方法、网络系统、客户端和服务器
US8631277B2 (en) * 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
CN102833253B (zh) * 2012-08-29 2015-09-16 五八同城信息技术有限公司 建立客户端与服务器安全连接的方法及服务器
CN103687053A (zh) * 2012-09-20 2014-03-26 电信科学技术研究院 一种连接重建的方法及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060120035A (ko) * 2003-10-10 2006-11-24 사이트릭스 시스템스, 인크. 신뢰성 높고 지속적인 통신 세션들을 통한 클라이언트 자동재연결
KR20100133882A (ko) * 2009-06-12 2010-12-22 엘지전자 주식회사 CPM 세션에서 이산 미디어 타입(discrete media type)의 메시지 전달 순서를 지키는 방법 및 장치
KR20140036345A (ko) * 2011-06-30 2014-03-25 마이크로소프트 코포레이션 투명한 장애 극복 기법
KR20130010522A (ko) * 2011-07-18 2013-01-29 순천향대학교 산학협력단 스마트폰 분실 및 도난의 피해 방지를 위한 인증방법

Also Published As

Publication number Publication date
US20170359178A1 (en) 2017-12-14
KR101627256B1 (ko) 2016-06-03
US10630479B2 (en) 2020-04-21
CN107113178A (zh) 2017-08-29

Similar Documents

Publication Publication Date Title
WO2016111407A1 (ko) 단말 세션의 복원 기능을 구비한 네트워크 통신 방법
CN100596062C (zh) 分布式报文传输安全保护装置和方法
WO2010128747A1 (ko) 지그비 무선 통신 프로토콜상에서의 보안성 강화 방법 및 장치
WO2012074198A1 (en) Terminal and intermediate node in content oriented networking environment and communication method of terminal and intermediate node
CN104601550B (zh) 基于集群阵列的反向隔离文件传输系统及其方法
WO2015105402A1 (ko) 이동 통신 시스템에서 서비스 발견 및 그룹 통신을 위한 보안 지원방법 및 시스템
WO2022108087A1 (ko) 차량용 can 통신 보안 장치 및 방법
WO2012050293A1 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
WO2010019021A2 (ko) 이동 통신 시스템의 비계층 프로토콜 처리 방법 및 이동통신 시스템
WO2022080784A1 (ko) 양자 암호키 분배 방법 및 장치
KR100431700B1 (ko) 에스지에스엔과 지지에스엔간의 시각 동기화 시스템 및 방법
WO2018004114A2 (ko) 프록시 서비스 제공을 위한 프록시 인증시스템 및 인증방법
WO2019045424A1 (ko) 보안을 위한 보안 소켓 계층 복호화 방법
CN108322330B (zh) 一种ipsec vpn序列号及抗重放窗口同步方法及设备
WO2018128264A1 (ko) 멀티캐스트 환경의 보안 시스템에서 키를 관리하는 방법
WO2021107389A1 (ko) 네트워크 시스템 및 그것의 메시지 보안 방법
WO2013151376A1 (ko) 듀얼 os를 이용한 보안 시스템 및 그 방법
WO2011160390A1 (zh) 代理网络设备的管理方法和系统
WO2017111202A1 (ko) 사물 인터넷 환경에서의 컨텍스트 기반 보안방법 및 그에 따른 시스템
CN113923046B (zh) 一种分布式防火墙安全通信的实现方法及系统
WO2019107794A1 (ko) 통신 관리 장치 및 방법
WO2023249320A1 (ko) Dds 통신 방법, 장치 및 시스템
WO2016127317A1 (zh) 一种私有云系统的资源共享方法及装置
KR101005870B1 (ko) 미인증 장비의 티시피 세션 차단 방법
WO2012043918A1 (ko) 링 네트워크에서의 데이터 패킷 송/수신 방법 및 이를 위한 링 네트워크 노드 단말

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15877128

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15541482

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 10.11.2017)

122 Ep: pct application non-entry in european phase

Ref document number: 15877128

Country of ref document: EP

Kind code of ref document: A1