KR100605880B1 - 클라이언트와 서버 간의 메시지 파일 송신 방법 - Google Patents

클라이언트와 서버 간의 메시지 파일 송신 방법 Download PDF

Info

Publication number
KR100605880B1
KR100605880B1 KR1020040012785A KR20040012785A KR100605880B1 KR 100605880 B1 KR100605880 B1 KR 100605880B1 KR 1020040012785 A KR1020040012785 A KR 1020040012785A KR 20040012785 A KR20040012785 A KR 20040012785A KR 100605880 B1 KR100605880 B1 KR 100605880B1
Authority
KR
South Korea
Prior art keywords
message
server
client
file
message file
Prior art date
Application number
KR1020040012785A
Other languages
English (en)
Other versions
KR20050087157A (ko
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 KR1020040012785A priority Critical patent/KR100605880B1/ko
Priority to US10/960,406 priority patent/US20050187959A1/en
Priority to EP04027903A priority patent/EP1569409A3/en
Priority to CN2004101002246A priority patent/CN1662002A/zh
Publication of KR20050087157A publication Critical patent/KR20050087157A/ko
Application granted granted Critical
Publication of KR100605880B1 publication Critical patent/KR100605880B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments
    • 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
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • 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
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • 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/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 인터넷 상에서 클라이언트가 서버로 메시지 파일을 전송하는 방법에 있어서, 상기 클라이언트가 서버로 메시지 파일을 전송을 시작한 후 메시지 전송이 중단되면, 상기 서버로 상기 전송 중단된 메시지 파일에 관한 정보를 요청하는 과정과, 상기 서버가 상기 전송 중단된 메시지 파일에 관한 정보 요청에 응답하여 상기 전송 중단된 메시지 파일에 관한 정보를 상기 클라이언트에게 전송하는 과정과, 상기 클라이언트가 상기 서버로부터 수신한 전송 중단된 메시지 파일에 관한 정보에 따라 상기 메시지 파일의 전송하지 못한 부분을 상기 서버로 이어보내기 전송하는 과정을 포함한다.
클라이언트, 서버, 이어보내기

Description

클라이언트와 서버 간의 메시지 파일 송신 방법{METHOD FOR TRANSMITTING MESSAGE FILE BETWEEN CLIENT AND SERVER}
도 1은 종래 기술에 따른 HTTP 프로토콜 상에서의 메시지 전송 처리 흐름을 나타낸 도면,
도 2는 본 발명이 적용되는 메시지 전송 시스템의 구성을 나타낸 도면,
도 3은 본 발명의 일실시예에 따른 클라이언트의 구성을 나타낸 도면,
도 4는 본 발명의 일실시예에 따른 클라이언트와 서버 간의 메시지 전송시의 제어 흐름을 나타낸 도면.
본 발명은 인터넷 환경상에서의 HTTP 기술에 관한 것으로, 특히 HTTP 프로토콜 상에서의 메시지 전송 방법에 관한 것이다.
인터넷 환경이나, 무선 인터넷 환경에서 사용자가 메시지를 전송 시, 네트웍의 불안, 무선 환경에서의 호의 절단 등의 외부적인 요인으로, 메시지 전송이 실패 하거나 또는 사용자에 의해 메시지 전송이 중단되는 경우가 있다.
이러한 경우의 기존의 HTTP 프로토콜 상에서의 처리를 도 1을 참조하여 설명한다. 도 1은 종래 기술에 따른 HTTP 프로토콜 상에서의 메시지 전송 처리 흐름을 나타낸 도면이다.
도 1을 참조하면, 먼저 클라이언트(10)는 단계 30에서 서버(20)로 메시지 파일을 전송하기 시작한다. 클라이언트(10)가 서버(20)로 메시지 파일을 전부 전송하기 전에 파일 전송 중단 사유가 발생한다(단계 32). 이후 클라이언트(10)는 단계 34에서 메시지 전송 환경이 양호하게 되면 다시 메시지 파일을 전송한다. 이때, 클라이언트(10)는 이미 메시지 파일의 일부를 전송하였더라도 다시 새롭게 메시지 파일을 전송한다. 그리고 클라이언트(10)는 단계 36에서 파일 전송 중단 사유가 발생하는 지를 판단하고, 파일 전송 사유가 발생하지 않았으면 단계 40에서 파일 전송을 완료하고, 파일 전송 완료 신호를 서버(20)에 송신한다. 만약 파일 전송 중단 사유가 발생하였으면 클라이언트(10)는 단계 38에서 메시지 파일 전송을 중단한다.
즉, HTTP 프로토콜 상에서, 클라이언트(10)에서 메시지 수신 시에는 메시지 파일의 이어받기 기능을 제공하고 있는 반해, 메시지 전송의 경우에는 메시지 파일의 이어 보내기 기능에 대해서 정의하고 있지 않다. 따라서, 클라이언트(10)는 메시지 전송 실패가 발생하거나, 사용자가 메시지 전송을 시작한 후 취소하는 경우, 다시 메시지 파일을 재전송 시 메시지를 처음부터 전송을 하는 방식이었다.
이와 같이 종래의 HTTP 기술은 클라이언트에서 메시지 재전송 시, 이전 전송 중단된 메시지를 이용하지 않고, 다시 메시지를 처음부터 전송하는 방식이다. 그리고, 이어 보내기 관련 유사 알고리즘에서는 재전송 요청이 서버에 의해서 요청되고 클라이언트가 재전송 요청을 인지하여 재전송하는 방식이다.
이 경우, 동일 메시지에 대해서 기존 서버에 전송된 데이터를 이용하지 않고 다시 전송시도를 하는 점, 메시지 전송 시간에 동일한 시간이 다시 소요되는 점등의 효율적이지 못한 부분이 있다. 그리고 무선 인터넷 환경에서, 기존 메시지 전송 시 사용한 무선 대역폭을 낭비하는 점과, 사용자 입장에서 무선 인터넷 이용료의 부담이 되는 문제점이 있다. 그리고 유사 알고리즘에는 서버의 재전송 요청에 따른 재전송 방식은 사용자의 사용 여건을 고려하지 않는 단점이 있다.
따라서 본 발명은 메시지 전송 실패, 메시지 전송 시작 후 사용자에 의한 메시지 전송 취소시 서버에 의한 재전송 요청이 아닌, 사용자의 재전송 요청으로 메시지를 전송할 수 있도록 한 메시지 전송 방법을 제공한다.
그에 따라 본 발명은 무선 환경에서 무선 대역폭의 낭비 및 사용자의 무선 인터넷 이용료 부담을 줄일 수 있다.
이러한 목적을 달성하기 위해 본 발명은 인터넷 상에서 클라이언트가 서버로 메시지 파일을 전송하는 방법에 있어서, 상기 클라이언트가 서버로 메시지 파일을 전송을 시작한 후 메시지 전송이 중단되면, 상기 서버로 상기 전송 중단된 메시지 파일에 관한 정보를 요청하는 과정과, 상기 서버가 상기 전송 중단된 메시지 파일에 관한 정보 요청에 응답하여 상기 전송 중단된 메시지 파일에 관한 정보를 상기 클라이언트에게 전송하는 과정과, 상기 클라이언트가 상기 서버로부터 수신한 전송 중단된 메시지 파일에 관한 정보에 따라 상기 메시지 파일의 전송하지 못한 부분을 상기 서버로 이어보내기 전송하는 과정을 포함한다.
본 발명은 메시지 전송 실패, 메시지 전송 시작 후 사용자에 의한 메시지 전송 취소시 사용자가 메시지를 처음부터 재전송 시도하지 않고, 사용자가 이전에 전송한 부분까지의 정보를 해당 서버로부터 제공받아, 사용자가 전송 중단된 부분부터 메시지를 전송 시도하는 효율적인 이어 받기 기능을 지원한다.
즉, 본 발명은 서버에 의해 메시지 재전송 요청을 받아, 사용자의 단말기가 메시지 재전송을 수행하는 것이 아니라, 사용자 편이성을 고려하여 이후 사용자가 메시지 전송 여건이 양호한 상황에서 재전송을 시도하고, 메시지 전체를 처음부터 전송하지 않고, 메시지 전송이 중단된 이후부터 부분 메시지를 전송하는 이어 보내기를 지원한다.
이에 따라 본 발명은 메시지 이어 보내기 방식 지원을 통해 전체 메시지 전송 대신 부분 메시지 전송을 통한 메시지 전송 시간을 단축하고, 무선 단말 환경에서 무선 대역폭의 사용 낭비 및 사용자 입장에서 무선 인터넷 사용 요금을 절감하는 효과를 가져올 수 있다.
이하 본 발명의 바람직한 실시예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성 요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
도 2는 본 발명이 적용되는 메시지 전송 시스템의 구성을 나타낸 도면이다.
도 2를 참조하면, 메시지 전송 시스템은 클라이언트(100), 인터넷망(200) 및 서버(300)를 포함한다.
클라이언트(100)는 인터넷망(200)을 통해 서버(300)로 메시지 파일을 전송하고 서버(300)로부터 메시지 파일을 수신한다. 그리고 클라이언트(100)는 메시지 파일 전송시, 메시지 파일 전송 이전에 서버가 이어 보내기 기능을 지원하는 지의 여부를 확인하기 위한 메시지를 서버(300)에 전송한다. 그리고 클라이언트(100)는 메시지 파일을 식별하기 위한 ID를 부여한다. 이후, 클라이언트(100)는 소정의 메시지 파일을 서버(300)에 전송하면, 서버(300)는 메시지 파일을 식별하는 ID를 참조하여 동일 메시지 파일을 가지고 있는 지를 판단한다. 서버(300)는 동일 메시지 파일을 가지고 있으면, 자신이 저장하고 있는 메시지 파일을 삭제한다. 그리고 서버(300)는 이어 보내기 기능을 지원하면 클라이언트(100)로부터 메시지 전송이 중단된 경우, 메시지 전송 중단된 시점의 메시지 사이즈 및 메시지를 보관한다. 그리고, 클라이언트(100)는 전송 중단 메시지에 대해서 재전송 시, 클라이언트가 서버에게 전송된 전송 실패 메시지의 사이즈 체크를 요청한다. 이어서 서버(300)는 클라이언트로부터 메시지 재전송을 위한 전송 중단 파일 정보를 요청받으면, 해당 메시지 파일에 대한 전송 중단 파일 정보를 클라이언트(300)에 전송한다. 그러면 클라이언트(100)는 서버(300)로부터 얻은 부분 메시지 사이즈를 기반으로 나머지 메시지를 전송한다.
상기 설명한 클라이언트(100)의 구성을 도 3을 참조하여 설명한다. 도 3은 본 발명의 일실시예에 따른 클라이언트의 구성을 나타낸 도면이다.
클라이언트(100)는 제어부(110), 송수신부(120) 및 메모리(130)를 구비한다. 제어부(110)는 서버(300)로의 메시지 전송이 개시되면, 메시지 파일을 전송하기 전에 서버(300)에 파일 이어보내기 기능을 지원하는 지의 여부를 확인하기 위한 메시지를 전송한다. 그리고 서버(300)로부터 파일 이어보내기 기능이 지원되면, 제어부(110)는 서버(300)로 메시지 파일을 송수신부(120)를 통해 전송한다. 송수신부(120)는 서버(300)와의 파일 송수신 동작을 수행한다. 만약 서버(300)로 메시지 파일 전송시 메시지 파일 전송 중단 사유가 발생하면 제어부(110)는 메시지 파일의 전송을 중단한다. 메시지 파일의 전송 중단은 예컨대, 파일 메시지 전송 환경이 나빠진 경우, 사용자의 전송 중단 요청이 있는 경우에 발생할 수 있다. 그리고 제어부(110)는 메시지 파일의 전송 중단이 발생하면, 해당 메시지 파일에 대한 정보를 메모리(130)에 저장하여 둔다. 이 전송 중단된 메시지 파일에 대한 정보는 해당 메시지 파일의 ID, 전송한 메시지 파일이 얼만큼 전송되었는 지에 대한 정보가 될 수 있다. 이후, 제어부(110)는 사용자로부터 메시지 재전송이 요구되면, 서버(300)로 전송 중단된 메시지 파일에 대한 정보를 요청한다. 그리고, 서버(300)로부터 전송 중단 파일 정보를 수신하면 제어부(110)는 해당 전송 중단된 메시지 파일에 대한 정보를 참조하여, 메시지 파일이 변경되었는 지를 체크한다. 구체적으로, 제어부(110)는 재전송 대상의 메시지 파일중 전송한 메시지 파일의 사이즈와 서버(300)로부터 수신된 전송 중단된 파일 정보에 포함된 서버(300)가 수신한 메시지 파일의 사이즈를 비교한다. 제어부(110)는 비교 결과 동일하면, 메시지 파일중 전송하지 못한 부분만을 재전송한다.
이어서, 본 발명에 따른 클라이언트(100)와 서버(300) 간의 메시지 전송시의 제어 흐름을 도 4를 참조하여 설명한다.
도 4를 참조하면, 먼저 클라이언트(100)는 단계 402에서 메시지 파일 전송시, 메시지 파일 전송 이전에 서버가 이어 보내기 기능을 지원하는 지의 여부를 확인하기 위한 메시지를 서버(300)에 전송한다. 이때, 클라이언트(100)는 이어보내기 지원 여부 확인 메시지를 OPTIONS Request-URI HTTP/1.1에 따라 구성한다. 기존 정의되어 있는 OPTIONS 방식(method)은 클라이언트가 전송하려는 Request-URI에 해당하는 서버의 정보를 요청하는데 사용이 된다. 이어 보내기 기능 사용을 위해서 클라이언트는 서버가 PINFO 방식(Partial INfOrmation method)을 지원하는지 알기 위해 OPTIONS 요청을 한다.
그러면, 서버(300)는 단계 404에서 이어 보내기 기능 지원 가능함을 나타낸 메시지를 클라이언트(100)로 전송한다. 이 때 서버(300)는 응답 메시지에 HTTP/1.1 200OK에 따라 Allow: GET, HEAD, PUT, PINFO의 정보를 포함한다. 즉, 서버(300)는 클라이언트의 OPTIONS 요청에 대해서, 서버는 지원 가능한 정보를 제공해주는데, 이때 이어 보내기 지원을 하는 경우, Allow Entity에 PINFO method가 포함되어야 한다. PINFO Method, Message-ID entity는 본 발명에 따라 이어 보내기를 위해 추가한 entity이며, 기존 HTTP에 정의된 Method OPTIONS와 POST에 대해 이어 보내기 기능을 추가하였다. 참고로 이어 보내기 관련 OPTIONS, POST, PINFO에 사용되는 Host와 User-Agent는 기존 HTTP 1.1에 정의된 entity이며, Range header field 역시 기존 HTTP 1.1에 정의되어 있는 entity로서, HTTP Method 사용 규격에 따라 사용하고 있다.
PINFO는 클라이언트가 서버에게 전송 중단된 메시지에 대한 사이즈 정보를 요청하기 위해 정의된다. PINFO에 대한 서버의 응답이 에러인 경우, 클라이언트가 요청한 Message-ID에 대한 해당 메시지가 Server에 존재하지 않거나 Message-ID 값이 유효하지 않음을 의미한다. PINFO에 대한 서버 응답 200 OK의 경우, 해당 메시지에 대한 사이즈 정보를 포함해야 한다. 클라이언트의 OPTION 요청에 대해, PINFO를 Allow에 포함하는 경우에 한해서만 사용 가능하다.
클라이언트(100)는 서버(300)로부터 이어 보내기 지원 여부에 대한 응답 결과를 저장한다. 이어서 클라이언트(100)는 단계 406에서 메시지 파일 전송을 개시한다. 이때 전송되는 메시지 파일은 Request-URI HTTP/1.1에 따라 구성되어 있으며, Host: host name, User-Agent : User-Agent name, Message-ID: message identifier 등을 포함한다. 메시지 전송은 기존 정의되어 있는 HTTP POST method 방식을 따른다. 이때, 이어 보내기 기능 지원을 위해 클라이언트는 서버에게 Host, User-Agent entity 외에 메시지 식별을 위해 Message-ID entity를 추가적으로 포함된다. 서버는 클라이언트의 메시지 전송 요청에 대해서, 전송이 중단이 된 경우, 메시지를 삭제하지 않고, 해당 메시지를 서버에 보관하고 있어야 한다.
그리고, 서버(300)는 클라이언트(100)로부터 전송되는 메시지 파일을 저장 하고 있는 경우, 이전 메시지 파일을 삭제하고 새로운 메시지 파일을 저장한다. 이어서 클라이언트(100)는 단계 408에서 파일 전송 중단 사유가 발생하는 지를 체크한다. 즉, 외부적인 요인에 의해 메시지 전송을 실패하거나 사용자에 의한 메시지 전송이 취소될 수 있다. 만약 파일 전송 중단 사유가 발생하면 클라이언트(100)는 메시지 파일의 전송을 중단한다. 이 때, 서버(300)가 이어 보내기를 지원하는 경우, 클라이언트(100)로부터 메시지 전송이 중단되면 서버(300)는 현재까지 전송된 메시지에 대한 정보를 클라이언트(100)와 서버(300) 사이의 메시지 보관 시간 약속에 따라 메시지 저장 만료 시간까지 보관하고 있어야 한다. 이때, 서버(300)는 메시지 저장 만료시간까지 클라이언트의 재전송 요청이 없는경우, 해당 메시지를 자동 삭제할 수 있다.
이후, 클라이언트(100)는 예컨대, 사용자에 의해 메시지 파일의 재전송이 요구되면 단계 412에서 서버(300)로 전송 중단된 메시지 파일에 대한 정보를 요청한다. 즉, 클라이언트(100)가 전송 중단된 메시지를 재전송 시도 시, 재전송에 앞서서 서버에 저장된 전송 중단된 메시지의 존재 유무 및 사이즈에 대한 정보를 요청한다. 서버에게 전송 중단한 메시지의 정보 요청은 PINFO Request-URI HTTP/1.1에 따른다. 이 PINFO 요청 메시지는 Host:client host name, User-Agent:client User-agent name, Message-ID:message-id 등을 포함한다. PINFO method는 클라이언트가 이어 보내기를 위해, 서버에게 전송 중단이 된 메시지 정보를 요청하는데 사용 된다. 클라이언트는 Host, User-Agent, Message-ID entity를 PINFO Method에 필수적으로 포함시켜야 한다.
전송 중단 파일 정보의 요청을 받은 서버(300)는 단계 414에서 저장하고 있는 해당 메시지 파일의 현재 수신된 메시지 정보(수신 메시지의 범위 및 메시지 전체 사이즈가 있는 경우에는 전체 사이즈 포함, 청크 모드(chunk mode) 유무)를 체크하여, 전송 중단 파일 정보를 클라이언트(100)에게 알려 준다. 이러한 요청에 대한 서버 응답은 HTTP/1.1 200OK에 따라 Message-ID: message-id, Content-Range: bytes 0(전송 중단 메시지의 사이즈/전체 메시지 컨텐츠 길이)를 포함한다. 즉, 클라이언트의 PINFO 요청에 대해, 서버가 일치하는 메시지를 찾은 경우, 저장되어 있는 메시지 사이즈 정보를 클라이언트에게 제공하여 준다. 메시지 사이즈 정보는 기존에 정의되어 있는 Content-Range entity를 이용하여, 제공이 된다.
한편 서버(300)는 클라이언트의 요청 Message-ID가 유효하지 않는 경우, 또는 Message-ID와 일치하는 메시지가 서버에 존재하지 않는 경우, 메시지 이어 보내기가 불가능함을 클라이언트에게 알려야 한다. PINFO 요청에 대한 서버 에러 응답은 기존의 POST, OPTIONS 요청에 대한 서버 에러 응답 응답 형식을 따른다. 이 때 클라이언트(100)는 POST Method를 이용하여 메시지 전송을 처음부터 다시 시작해야 한다.
서버(300)로부터 전송 중단 메시지 파일에 관한 정보를 응답받은 클라이언트(100)는 단계 416에서 메시지가 변경되었는지 여부를 체크하고 변경이 되지 않은 경우, 재전송하려는 메시지의 전체 길이에서 이미 전송된 부분 다음부터의 부분 메시지를 이어 보내기한다. 클라이언트(100)는 이어 보내기를 요청하는 POST 방식에 따라 메시지 파일을 이어보낸다. 이 때, 이어보내기를 위한 메시지 파 일은 POST Server-URL HTTP/1.1에 따라 구성되며, Host:client host name, User-Agent : client user-agent name, Message-ID : client message-id, Range :bytes Partial Content-length 등을 포함한다. 이러한 본 발명에 따른 이어보내기 POST 방식은 기존 POST 방식에 Range entity를 추가하여 서버에게 이어 보내기 POST임을 알린다. Message-ID는 클라이언트가 이어 보내기 하고자 하는 메시지의 식별자를 가리킨다. Range entity는 기존 GET Method에서 이어받기 기능을 지원하기 위해 사용되는 entity로 이어 보내기에 있어서도 POST Method에 Range entity를 사용하여, 서버에게 이어 보내기임을 알려 준다. 이때, Range entity에 들어가는 값은, 전송 중단이후부터 클라이언트가 전송하고자 하는 부분 메시지의 범위를 가리킨다. POST 방식은 RFC2616에 정의된 방식을 따른다. 이때, 클라이언트가 전송한 POST 메시지 내 Range Entity가 포함된 경우, 이어 보내기 요청임을 서버는 인지하고, 전송 중단된 메시지(Partial Contents)에 이어 보내기에 대한 저장 처리를 해주어야 한다. 이어 보내기 POST 요청 시, 클라이언트는 Message-ID field와 이어 보내는 범위를 가리키는 Range field가 필수적으로 포함해야 한다.
그리고, Message-ID entity는 클라이언트가 서버에게 전송하는 메시지에 대한 식별자로 이어 보내기에 상관없이 메시지 전송 및 수신 관련하여 공통적으로 제공하는 entity이다. 동일한 User-Agent, Host에서, 클라이언트는 Message-ID 값의 유일성을 보장해야 한다. 또한 메시지 전송이 정상적으로 이루어지지 않은 경우, 서버는 클라이언트에게서 제공받은 Message-ID 및 전송 중단된 메시지(Partial Contents)를 일정 기간동안 보관하고 있어야 한다. 즉, Message-ID= "Message-ID" ":" unique message id이다. 메시지 전송 중단 시 서버는 중단 메시지 관련 정보(User-Agent, Host, Message-ID, Content-length 등)를 보관하여 클라이언트가 메시지 이어 보내기 정보를 요청한 경우, Message-ID 와 일치하는 부분 메시지 정보를 제공해야 한다. 그리고 클라이언트의 해당 메시지 이어 보내기 요청에 대해서도 이어 보내기 요청을 받아들여, 서버에 중단 이후 메시지에 대해서 저장을 하고 있어야 한다.
그리고, 클라이언트(100)는 전체 메시지 길이가 없는 청크 모드(Chunk mode) 방식으로 전송된 부분 메시지에 대해서는 이미 전송된 이후의 데이터를 보내면서, 서버(300)에게 청크 모드(chunk mode) 임을 알린다.
그리고 서버(300)는 단계 418에서 클라이언트(100)로부터 메시지 파일의 이어 보내기가 성공하였음을 알린다. 이때, 이어 보내기 POST 요청에 대한 서버 응답은 HTTP/1.1 200 OK 에 따라 구성되며, 클라이언트의 이어 보내기 전송 요청이 성공했음을 의미한다.
한편, 클라이언트(100)는 서버(300)로부터 전송 중단 메시지 파일에 관한 정보로부터 메시지 파일의 컨텐츠 길이(content-length)가 재전송하려는 메시지 파일의 컨텐츠 길이(content-length)와 동일하지 않은 경우, 즉 사용자에 의해 메시지가 수정이 된 경우, 자동으로 수정된 클라이언트의 메시지를 이어 보내기 하지 않고 바로 전송한다. 이 경우, 서버(300)는 User-Agent, Host 값이 동일한 클라이언트가 새로 전송하는 메시지 아이디가 기존 전송 중단한 메시지 아이디와 동일한 경우, 서버에 저장되어 있는 중단 메시지를 자동으로 삭제함과 동시에 새로운 메시지 로 서버에 저장하여야 한다.
즉, 클라이언트(100)는 PINFO 요청에 대한 서버 응답 정보의 메시지 전체 사이즈 정보가 클라이언트가 이어 보내고자 하는 메시지의 전체 사이즈와 다를 경우, 클라이언트가 해당 메시지를 변경한 것으로 간주하여, 이어 보내기를 실행하지 않고, 자동으로 POST 방식(method)을 이용한 전체 메시지 전송을 실행해야 한다.
기존 POST 방식을 이용하여 메시지 재전송을 하는 경우 소용량 메시지를 전송하는데 걸리는 시간의 차이가 크지 않기 때문에, 이어 보내기의 기능이 필요하지 않을 수 있다. 하지만, 대용량 메시지 전송을 하다가 전송이 실패하였을 경우, 본 발명에 따라 이어 보내기를 사용함으로써 전송 시간을 단축 할 수 있다. 그리고 본 발명에 따르면, 이어받기를 통해 이전 전송된 메시지를 재활용하는 이점이 있으며, 이에 따라 불필요한 네트워크 사용을 방지할 수 있게 된다.
다시 말해, 본 발명은 무선 인터넷 환경에서는 불필요한 네트웍 사용을 방지하여, 사용자에게 있어서 무선 인터넷을 이용 요금을 절약하는 효과를 가져온다. 또한 본 발명은 서버에 의한 네트웍 실패에 따른 일방적인 재전송 요청이 아니라, 클라이언트가 외부적인 요인에 의해 메시지 전송 실패한 경우 및 클라이언트에 의해 취소된 메시지의 경우에 대해서 클라이언트의 선택에 의해서 메시지 이어 보내기를 가능하게 하여, HTTP를 기반으로 만들어진 애플리케이션을 사용하는 사용자에게 편의성을 제공해준다.

Claims (5)

  1. 인터넷 상에서 클라이언트가 서버로 메시지 파일을 전송하는 방법에 있어서,
    상기 클라이언트가 상기 서버로 메시지 파일 전송을 시작한 후 메시지 전송이 중단되면, 상기 서버로 상기 전송 중단된 메시지 파일에 관한 정보를 요청하는 과정과,
    상기 전송 중단된 메시지 파일에 관한 정보 요청에 응답하여 상기 전송 중단된 메시지 파일에 관한 정보를 상기 서버로부터 수신하는 과정과,
    상기 전송 중단된 메시지 파일에 관한 정보를 상기 서버로부터 수신하면, 상기 전송 중단된 메시지 파일의 전체 사이즈가 변경되었는지를 판단하는 과정과,
    판단 결과 상기 전체 사이즈가 변경되지 않은 경우 상기 서버로부터 수신한 전송 중단된 메시지 파일에 관한 정보에 따라 상기 메시지 파일의 전송하지 못한 부분을 상기 서버로 이어보내는 과정을 포함함을 특징으로 하는 방법.
  2. 제 1항에 있어서, 상기 전송 중단된 메시지 파일에 관한 정보는 전송 중단된 메시지 파일의 ID와 그 전체 사이즈 정보를 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 판단 결과 상기 전체 사이즈가 변경된 경우에는 상기 클라이언트가 상기 메시지 파일을 전부 재전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 서버는 상기 클라이언트로부터 전송되는 메시지 파일과 동일한 메시지 파일을 저장하고 있는 경우, 저장하고 있는 메시지 파일을 삭제하고 상기 클라이언트로부터 전송되는 메시지 파일을 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 클라이언트가 상기 메시지 파일을 상기 서버로 전송하기 전에 상기 서버에 파일 이어보내기 기능을 지원하는 지를 확인하기 위한 메시지를 전송하는 과정과,
    상기 서버가 상기 파일 이어보내기 지원 여부 확인 메시지에 대한 응답 메시지를 상기 클라이언트에게 전송하는 과정을 더 포함하는 것을 특징으로 하는 방법.
KR1020040012785A 2004-02-25 2004-02-25 클라이언트와 서버 간의 메시지 파일 송신 방법 KR100605880B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020040012785A KR100605880B1 (ko) 2004-02-25 2004-02-25 클라이언트와 서버 간의 메시지 파일 송신 방법
US10/960,406 US20050187959A1 (en) 2004-02-25 2004-10-06 Method for transferring a message file between a client and a server
EP04027903A EP1569409A3 (en) 2004-02-25 2004-11-24 Method for transferring a message file between a client and a server
CN2004101002246A CN1662002A (zh) 2004-02-25 2004-12-13 在客户机和服务器之间传送消息文件的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040012785A KR100605880B1 (ko) 2004-02-25 2004-02-25 클라이언트와 서버 간의 메시지 파일 송신 방법

Publications (2)

Publication Number Publication Date
KR20050087157A KR20050087157A (ko) 2005-08-31
KR100605880B1 true KR100605880B1 (ko) 2006-08-01

Family

ID=34747949

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040012785A KR100605880B1 (ko) 2004-02-25 2004-02-25 클라이언트와 서버 간의 메시지 파일 송신 방법

Country Status (4)

Country Link
US (1) US20050187959A1 (ko)
EP (1) EP1569409A3 (ko)
KR (1) KR100605880B1 (ko)
CN (1) CN1662002A (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1806877A1 (en) * 2004-10-26 2007-07-11 Matsushita Electric Industrial Co., Ltd. Transmitting device, receiving device, and file forwarding system
KR100842571B1 (ko) * 2005-10-11 2008-07-01 삼성전자주식회사 디지털 방송 시스템에서 신뢰성 보장 전송 서비스 제공/수신 방법 및 장치
JP2008067311A (ja) 2006-09-11 2008-03-21 Ntt Docomo Inc 移動通信端末及びダウンロード再開制御方法
JP2008271097A (ja) * 2007-04-19 2008-11-06 Hitachi Ltd 通信装置およびクライアント装置
JP5233175B2 (ja) * 2007-06-08 2013-07-10 ソニー株式会社 コンテンツ配信システム、配信サーバ、端末及びコンテンツ配信方法
US8116749B2 (en) 2008-09-08 2012-02-14 Proctor Jr James Arthur Protocol for anonymous wireless communication
US9070149B2 (en) * 2008-09-30 2015-06-30 Apple Inc. Media gifting devices and methods
KR101332170B1 (ko) * 2011-11-09 2013-11-25 에스케이텔레콤 주식회사 Http를 이용한 파일 전송 시스템, 그의 메시지 서버, 단말 및 방법
CN103297449B (zh) 2012-02-24 2017-12-12 腾讯科技(深圳)有限公司 一种文件传输方法、即时通信终端及系统
US9264481B2 (en) 2012-03-30 2016-02-16 Qualcomm Incorporated Responding to hypertext transfer protocol (HTTP) requests
US10028164B2 (en) 2012-09-05 2018-07-17 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for controlled data upload in mobile cellular networks
CN105897823A (zh) * 2015-11-13 2016-08-24 乐视云计算有限公司 视频上传的方法及系统
US11050795B2 (en) 2018-02-15 2021-06-29 Samsung Electronics Co., Ltd. Handling instant message disposition notification (IMDN) message in rich communication service (RCS) system
US11269848B2 (en) * 2020-03-10 2022-03-08 International Business Machines Corporation Preventing unnecessary upload

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08340308A (ja) * 1995-06-12 1996-12-24 N T T Data Tsushin Kk 通信方式
KR970009032A (ko) * 1995-07-20 1997-02-24 김광호 네트워크 재연결 방법
KR100343868B1 (ko) * 1998-03-26 2002-07-19 닛폰 덴키(주) 무선 데이터 통신 방법 및 시스템
KR20030073124A (ko) * 2002-03-08 2003-09-19 엘지전자 주식회사 이동통신 단말기를 이용한 데이터 전송방법
KR20040022363A (ko) * 2002-09-05 2004-03-12 에스케이 텔레콤주식회사 멀티미디어 메시징 서비스에서의 멀티미디어 메시지이어올리기 방법 및 시스템

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963923B1 (en) * 1997-02-10 2005-11-08 International Business Machines Corporation Method for file transfer restarts using standard internet protocol
US6396805B2 (en) * 1997-03-25 2002-05-28 Intel Corporation System for recovering from disruption of a data transfer
US6651103B1 (en) * 1999-04-20 2003-11-18 At&T Corp. Proxy apparatus and method for streaming media information and for increasing the quality of stored media information
JP2001014285A (ja) * 1999-04-28 2001-01-19 Fujitsu Ltd データ転送管理システム、データ転送システム、転送履歴収集装置及び記録媒体
WO2001035206A2 (en) * 1999-11-12 2001-05-17 Mimeo.Com, Inc. System, method and recordable medium for uploading documents over a network
US20020023140A1 (en) * 2000-06-08 2002-02-21 Hile John K. Electronic document delivery system
TW559702B (en) * 2000-08-31 2003-11-01 Nippon Telegraph & Telephone File transfer system, apparatus, method and computer readable medium storing file transfer program
KR100553082B1 (ko) * 2002-06-20 2006-02-15 엘지전자 주식회사 이동통신 단말기의 무선 데이터 다운로드 이어받기 장치및 방법
US7558198B2 (en) * 2002-08-19 2009-07-07 Motorola, Inc. Method and apparatus for data transfer
JP4268969B2 (ja) * 2003-01-20 2009-05-27 エスケーテレコム株式会社 無線通信網を介したメディアメッセージアップロード制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08340308A (ja) * 1995-06-12 1996-12-24 N T T Data Tsushin Kk 通信方式
KR970009032A (ko) * 1995-07-20 1997-02-24 김광호 네트워크 재연결 방법
KR100343868B1 (ko) * 1998-03-26 2002-07-19 닛폰 덴키(주) 무선 데이터 통신 방법 및 시스템
KR20030073124A (ko) * 2002-03-08 2003-09-19 엘지전자 주식회사 이동통신 단말기를 이용한 데이터 전송방법
KR20040022363A (ko) * 2002-09-05 2004-03-12 에스케이 텔레콤주식회사 멀티미디어 메시징 서비스에서의 멀티미디어 메시지이어올리기 방법 및 시스템

Also Published As

Publication number Publication date
EP1569409A3 (en) 2006-06-07
KR20050087157A (ko) 2005-08-31
CN1662002A (zh) 2005-08-31
US20050187959A1 (en) 2005-08-25
EP1569409A2 (en) 2005-08-31

Similar Documents

Publication Publication Date Title
JP4268969B2 (ja) 無線通信網を介したメディアメッセージアップロード制御方法
KR100605880B1 (ko) 클라이언트와 서버 간의 메시지 파일 송신 방법
JP4923155B2 (ja) コンテンツの送受信の停止及び再開方法
JP4607339B2 (ja) フレキシブル無線リンク制御プロトコル
US7643825B2 (en) System and method for managing data to be pushed to a wireless device when the device may be outside of a coverage range
EP1783971B1 (en) Duplicate notification message processing method in terminal
JP4965713B2 (ja) 無線通信システムにおけるエラー制御メッセージを処理するための方法及び装置
US20030212827A1 (en) Method and system for providing peer-to-peer exchange of terminal information over a meshed network
JP2001527723A (ja) 持続セッションを使用しハンドヘルドデバイスで低信頼度トランスポート層を利用する高信頼通信の提供
JP6745821B2 (ja) ハイパーテキスト・トランスファ・プロトコル要求の再送方法及びデバイス並びにクライアント端末
JPWO2008023791A1 (ja) 無線送信装置、無線受信装置及び無線通信方法
CA2544110C (en) System and method for managing data to be pushed to a wireless device when the device may be outside of a coverage range
WO2022042379A1 (zh) 数据处理方法、基站、终端及存储介质
CN112395237A (zh) 一种至少两个控制器之间通信的方法及其系统
CN107786607B (zh) 一种消息重传方法、消息重传服务器及用户设备
US7703129B2 (en) Authentication system and method thereof for dial-up networking connection via terminal
KR100464026B1 (ko) 이동통신 단말기를 이용한 데이터 전송방법
KR100370060B1 (ko) 차세대 이동 통신 시스템의 통신 운용 방법
WO2024125117A1 (zh) 一种冗余资源回收处理方法、装置、存储介质及电子装置
KR101285891B1 (ko) 컨텐츠 송수신 중지 및 재개 방법
JP2002290442A (ja) 通信装置、プログラム、情報記憶媒体および通信制御方法
KR100794415B1 (ko) 무선 네트워크상에서의 자원 낭비를 줄일 수 있는 tcp연결 종료 시스템 및 방법
CN118057791A (zh) 一种序列号同步方法、系统、装置及设备
JP2001333129A (ja) 通信端末及び通信制御方法
KR20080059345A (ko) 프로토콜 파라미터 협상

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130627

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee