KR101109276B1 - 세션 접속 유지 - Google Patents

세션 접속 유지 Download PDF

Info

Publication number
KR101109276B1
KR101109276B1 KR1020050056256A KR20050056256A KR101109276B1 KR 101109276 B1 KR101109276 B1 KR 101109276B1 KR 1020050056256 A KR1020050056256 A KR 1020050056256A KR 20050056256 A KR20050056256 A KR 20050056256A KR 101109276 B1 KR101109276 B1 KR 101109276B1
Authority
KR
South Korea
Prior art keywords
message
protocol
delete delete
computing device
core
Prior art date
Application number
KR1020050056256A
Other languages
English (en)
Other versions
KR20060048616A (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 마이크로소프트 코포레이션
Publication of KR20060048616A publication Critical patent/KR20060048616A/ko
Application granted granted Critical
Publication of KR101109276B1 publication Critical patent/KR101109276B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • 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
    • H04L51/23Reliability checks, e.g. acknowledgments or fault reporting
    • 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/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
    • 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/40Network security protocols
    • 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/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

실시예는 세션 접속을 유지하기 위한 기술을 제공한다. 본 기술은, 메시지를 송신하지 않음으로써 타임 아웃 조건으로 인해 세션 접속 종료를 야기할 수도 있는 경우, 핵심(heartbeat) 메시지를 송신한다. 핵심 메시지는 논-엠티(non-empty) 페이로드를 포함한 유효 전송 계층 메시지인데, 그 페이로드는 데이터 통신 스택의 상위 레벨에서의 프로토콜에 의해 무시될 것이다. 예로서, 본 기술은 페이로드에 CRLF(carriage return and line feed)만을 포함한 TCP 메시지를 송신할 수도 있다. TCP 계층은 CRLF만을 포함한 메시지를 유효 TCP 메시지로 고려하기 때문에, 프럭시 서버와 같은 중간 컴퓨팅 디바이스는 핵심 메시지를 "연결-유지" 메시지로서 해석하지 않을 수도 있으며, 세션 접속을 유지할 수도 있다.
Figure R1020050056256
세션 접속, 핵심 메시지, 데이터 통신 스택, 프로토콜, 컴퓨팅 디바이스

Description

세션 접속 유지{SUSTAINING SESSION CONNECTIONS}
도 1은 세션 접속을 유지하기 위한 시스템의 실시예를 나타내는 블록도.
도 2는 도 1의 네트워크의 실시예를 나타내는 블록도.
도 3은 컴퓨팅 디바이스에 의해 채택된 데이터 통신 스택의 실시예를 나타내는 블록도.
도 4는 send_message 루틴의 실시예를 나타내는 흐름도.
도 5는 sustain_connection 루틴의 실시예를 나타내는 흐름도.
도 6은 send_heartbeat 서브루틴의 실시예를 나타내는 흐름도.
도 7은 receive_message 서브루틴의 실시예를 나타내는 흐름도.
도 8은 실시예에서의 메시지 흐름을 나타내는 메시지 흐름도.
도 9는 실시예에서의 메시지 흐름을 나타내는 메시지 흐름도.
도 10은 실시예에서의 메시지의 흐름을 나타내는 블록도.
<도면의 주요 부분에 대한 부호의 설명>
1000 : 송신자 컴퓨팅 디바이스
1002 : 수신자 컴퓨팅 디바이스
1004,1014 : 애플리케이션 계층
1006,1016 : 전송 계층
1008,1018 : 네트워크 계층
1010,1020 : 데이터 링크 계층
1012,1022 : 물리 계층
본 발명은 데이터 통신 네트워크, 특히 세션 접속 유지에 관한 것이다.
컴퓨팅 디바이스의 사용자는 흔히 자신의 컴퓨팅 디바이스를 사용하여 다른 사용자와 통신한다. 예로서, 사용자는 MICROSOFT MESSENGER("MESSENGER") 인스턴트 메시지 통신(instant messaging) 제품을 사용하여 메시지를 송신 또는 수신함으로써 또 다른 사용자와 통신할 수도 있다. 또 다른 예로서, 사용자는 VoIP(Voice over Internet Protocol) 애플리케이션을 사용하여, 다른 사용자와 마이크로폰으로 이야기하고, 스피커 또는 헤드셋으로 들음으로써 또 다른 사용자와 통신할 수도 있다. 이러한 사용자는 퍼스널 컴퓨터, 개인 휴대 정보 단말기, 이동 전화기, VoIP 가능 전화기 등과 같은 다양한 컴퓨팅 디바이스를 사용할 수도 있다.
이러한 타입의 통신 서비스를 사용자에게 제공하는 애플리케이션은 존재 정보(presence information)를 또한 제공할 필요가 있을 수도 있다. 존재 정보는 컴퓨팅 디바이스를 사용하여 통신하는 사용자의 능력 또는 의향을 전달한다. 존재 정보는 컴퓨팅 디바이스에 의해 자동으로 검출되거나, 사용자에 의해 능동적으로 선택될 수 있다. 컴퓨팅 디바이스는 사용자의 "상태(status)"와 같은 존재 정보를 자동으로 관찰 및 전달할 수도 있다. 예로서, 사용자가 어떤 컴퓨팅 디바이스에 로그인하지 않거나, 존재 정보를 관찰 및 전달하는 애플리케이션을 사용하지 않는(또는 로그인하지 않은) 경우, 사용자의 상태는 자동으로 "오프-라인"으로서 나타낼 수도 있다. 사용자가 존재 정보를 관찰 및 전달하는 애플리케이션, 예를 들어 MESSENGER를 시작 또는 로그인 하는 경우, 사용자의 상태는 자동으로 "온-라인"으로서 나타낼 수도 있다. 사용자가 어떤 시간 기간 동안 컴퓨팅 디바이스에서 행동하지 않는 경우, 애플리케이션은 사용자가 "이탈(away)"한 상태임을 자동으로 나타낼 수도 있다. 또한, 사용자는 자신의 상태를 능동적으로 선택할 수 있다. 예로서, 사용자는 "점심 중" 또는 "통화 중"임을 나타낼 수도 있는데, 이는 사용자가 다른 사용자로부터의 메시지에 즉시 응답할 수 없음을 나타낼 수 있다.
복수의 컴퓨팅 디바이스는 등록 서버 컴퓨팅 디바이스에 이 존재 정보를 등록할 수도 있어서, 사용자의 상태를 판정하는 애플리케이션인 워처(watcher)는 등록 서버에 질의하거나, 수신 존재 정보에 자동으로 동의함으로써 의미 있는 존재 정보를 판정할 수 있다. 예로서, MESSENGER는 사용자가 어떤 시간 기간 동안 컴퓨팅 디바이스에서 행동하지 않아서, 그 사용자의 존재 정보는 "이탈"일 수 있음을 등록 서버에 나타낼 수도 있다. VoIP 가능 전화기는 사용자가 전화 호출을 신청하여서, 그 사용자의 존재 정보는 "전화 중"일 수 있음을 등록 서버에 나타낼 수도 있다. 워처가 등록 서버로부터 이 존재 정보를 수신하는 경우, 워처는 사용자가 "전화 중이고, 컴퓨팅 디바이스 상의 메시지에 응답할 수 없음"이라는 상태임을 판정할 수도 있다. 그러나 사용자가 컴퓨팅 디바이스에서 행동을 시작하는 경우, 워 처는 사용자가 "전화 중이지만, 컴퓨팅 디바이스 상의 메시지에 응답할 수 있음"이라는 상태임을 판정할 수도 있다. 사용자가 사용자의 상태는 "이탈"임을 컴퓨팅 디바이스 상에 능동적으로 나타내고, VoIP 가능 전화기를 사용하는 경우, 워처는 사용자의 상태가 "로밍(roaming)"임을 판정할 수도 있다.
통신 애플리케이션은 컴퓨팅 디바이스 간의 세션을 자주 설정 및 관리할 필요가 있다. 세션은 어떤 시간 기간 동안 발생하는 컴퓨팅 디바이스 간의 일련의 상호 작용이다. 예로서, MESSENGER 또는 VoIP와 같은 실시간 통신 애플리케이션은 사용자를 대신하여 컴퓨팅 디바이스 간의 세션을 설정한다. 이러한 애플리케이션은 다양한 메커니즘을 사용하여, SIP(Session Initiation Protocol)와 같은 세션을 설정한다. SIP는 컴퓨팅 디바이스가 서로를 발견하기 위해 사용하고, 컴퓨팅 디바이스 간의 세션을 설정, 변경 및 종료하기 위해 사용할 수 있는 애플리케이션 계층 제어 프로토콜이다.
애플리케이션은 SIP와, 정보를 송신 또는 수신하는 또 다른 프로토콜을 함께 채택할 수도 있다. SIP를 다른 프로토콜과 사용함으로써, 애플리케이션은 세션을 생성 및 관리할 수 있고, 그 세션 동안 정보를 교환할 수 있다. SIP와 함께 채택되어 정보를 교환하는 프로토콜은 그 정보를 메시지로 분할할 수도 있다. 예로서, VoIP 애플리케이션은 긴 내레이션(narration)을 짧은 메시지로 분할할 수도 있다. 세션 동안의 메시지 교환은 "대화(dialog)"로서 간주한다. SIP는 대화 메시지를 전송하는 하위 레벨의 통신 계층, 예를 들어 TCP/IP(Transmission Control Protocol/Internet Protocol)를 사용할 수도 있는데, 이는 공통으로 채택된 전송 및 네트워크 계층 프로토콜이다.
TCP는 접속 지향의 신뢰성 있는 전달 전송 계층 프로토콜이다. TCP는 애플리케이션 계층(예컨대, SIP를 사용하는 애플리케이션)과 네트워크 계층 간의 인터페이스를 제공하는 전송 계층으로서 통상적으로 기술한다. 애플리케이션 계층은 일반적으로 데이터 스트림(예컨대, 데이터의 수많은 바이트)을 송신 또는 수신함으로써 TCP 계층과 통신한다. TCP는 이 데이터 스트림을 세그먼트로 조직하는데, 그 세그먼트는 네트워크 계층에 채택된 프로토콜, 예를 들어 IP에 의해 전달될 수 있다. 이러한 데이터 세그먼트는 공통으로 "패킷", "프레임" 또는 "메시지"로서 간주한다. 각각의 메시지는 일반적으로 헤더 및 페이로드(payload)를 포함한다. 헤더는 메시지를 라우팅 및 해석하기 위해 필요한 데이터를 포함한다. 페이로드는 송신 또는 수신되는 실제 데이터를 포함한다. 애플리케이션, 전송 및 네트워크 계층을 다른 계층과 모아서 공동으로 데이터 통신 스택으로서 간주한다.
접속 시 메시지는 중간 컴퓨팅 디바이스를 통과할 수도 있다. 송신 컴퓨팅 디바이스의 데이터 통신 스택의 전송 또는 네트워크 계층이, 수신 컴퓨팅 디바이스 내 데이터 통신 스택의 대응 계층과 접속을 설정하는 경우, 컴퓨팅 디바이스에 의해 교환되는 메시지는 일부 중간 컴퓨팅 디바이스를 통과할 수도 있다. 예로서, 메시지는 프럭시 서버, 네트워크 주소 해석기 또는 게이트웨이를 통과할 수도 있다. 이러한 중간 컴퓨팅 디바이스는 메시지를 수신, 처리 및 전달한다. 예로서, 프럭시 서버는 인트라넷과 연결된 컴퓨팅 디바이스와, 인터넷과 연결된 컴퓨팅 디바이스 간의 중간일 수도 있다. 이 프럭시 서버는, 예를 들어 외부 인트라넷으로 부터의 접속 요청을 무시함으로써 인트라넷을 좀더 안전하게 할 수도 있다.
중간 컴퓨팅 디바이스는 2개의 컴퓨팅 디바이스 간의 유휴(idle) 접속을 종료하여 네트워크 리소스를 효과적으로 사용할 수도 있다. 예로서, 인트라넷에 연결된 사용자 컴퓨팅 디바이스("컴퓨팅 디바이스 A")에서 실행하는 MESSENGER 또는 VoIP 애플리케이션은, 인터넷에 연결된 또 다른 컴퓨팅 디바이스("컴퓨팅 디바이스 B")에서 실행하는 애플리케이션과 SIP-기반 세션을 설정할 수도 있다. 이 세션은 컴퓨팅 디바이스 A 및 B 간에 TCP/IP 접속을 사용할 수도 있고, 그 컴퓨팅 디바이스에 의해 교환된 메시지는 프럭시 서버를 통과할 수도 있다. 어떤 시간 기간 동안의 접속 시 메시지가 교환되지 않는 경우, 프럭시 서버는 자신과 컴퓨팅 디바이스 B 간의 접속을 종료하여 네트워크 리소스를 보존할 수도 있다. 그러나 컴퓨팅 디바이스 A는 접속이 종료됨을 모를 수도 있는데, 이는 디바이스 A와 프럭시 서버에 대한 접속은 개시된 채로 유지되기 때문이다. 그 결과, 컴퓨팅 디바이스 B에서 실행하는 애플리케이션은, 컴퓨팅 디바이스 A의 애플리케이션(또는 사용자)이 더 이상 온라인이 아니거나, 그 접속을 사용하지 않는다고 잘못 추정할 수도 있다. 또한, 프럭시 서버가 연결되는 인트라넷을 좀더 안전하게 하기 위하여, 프럭시 서버는 인트라넷과 연결되지 않은 디바이스, 예를 들어 인터넷에 연결된 컴퓨팅 디바이스로부터의 접속 요청을 무시할 수도 있다. 결론적으로, 인터넷과 연결된 컴퓨팅 디바이스 B에서 실행하는 애플리케이션은, 컴퓨팅 디바이스 A의 상태 또는 세션을 재설정하는 요청을 컴퓨팅 디바이스 A에서 실행하는 애플리케이션에 질의할 수 없을 수도 있다.
중간 컴퓨팅 디바이스는 컴퓨팅 디바이스가 "연결-유지(keep-alive)" 메커니즘을 사용하는 경우에도 접속을 종료할 수도 있다. 일부 컴퓨팅 디바이스는 연결-유지 메커니즘을 채택하여, 메시지가 없었음에도 접속을 유지한다. 이 메커니즘은 송신자가 접속을 종료하지 않았음을 나타내는 "연결-유지" 메시지의 송신을 포함한다. 그러나 효율적인 중간 컴퓨팅 디바이스는 연결-유지 메시지를 인식할 수도 있는 반면, 송신 컴퓨팅 디바이스와 중간 컴퓨팅 디바이스 간의 연결을 유지하는 접속은, 연결-유지 메시지에 나타낸 수신자(예컨대, 인터넷에 연결된 컴퓨팅 디바이스)에 대한 접속을 종료할 수도 있다.
접속은 애플리케이션 계층의 유효 메시지를 송신함으로써 유지할 수도 있다. 예로서, 전송 계층에서의 TCP를 채택한 SIP 애플리케이션은, REGISTER 메시지와 같은 유효 SIP 메시지를 주기적으로 송신할 수도 있다. REGISTER 메시지의 사용으로 인하여, SIP 서버가 메시지 송신자의 URI(Uniform Resource Identifier)를 송신자에 의해 사용된 컴퓨팅 디바이스와 관련시킬 수도 있다. 유효 SIP 메시지가 송신 또는 수신될 수 없는 경우, SIP 애플리케이션은 자신의 TCP 접속을 이용할 수 없음을 검출할 수도 있다. REGISTER, 또는 실제로는 유효 데이터를 포함한 임의의 유효 SIP 메시지의 송신 시 문제점은, 복수의 클라이언트와 서버가 그 메시지를 송신하여 접속을 유지할 필요가 있는 경우, 철저한 계산을 요구할 수 있다는 점이다. REGISTER 메시지의 경우, 그러한 메시지를 수신하는 서버는 그 메시지를 파스(parse)하여 송신자 컴퓨팅 디바이스의 URI 및 아이덴티티(identity)를 판정하고, 그 데이터를 또 다른 서버에 있는 데이터베이스에 저장할 필요가 있을 수도 있다.
그러므로 TCP 연결-유지 또는 메시지의 광범위한 계산 프로세싱에 의존하지 않는 세션 접속을 유지하는 효과적인 접근법은 상당한 유용성을 갖는다.
SIP는 인터넷 제안 표준이다. 그 사양 "RFC 3261"은 <http://www.ietf.org/rfc/rfc3261.txt>에서 입수할 수 있다. 이벤트 통지에 관한 SIP 확장 사양 "RFC 3265"는 <http://www.ietf.org/rfc/rfc3265.txt>에서 입수할 수 있다. 인스턴트 메시지 통신 시스템에서의 존재 정보에 관한 사양 "RFC 2778"은 <http://www.ietf.org/rfc/rfc2778.txt>에서 입수할 수 있다. SIP에서의 존재 정보에 관한 제안된 사양의 초안은 <http://www.ietf.org/internet-drafts/draft-ietf-simple-presence-10.txt>에서 입수할 수 있다. 이러한 4개의 사양 모두는 본 명세서에서 참조로서 완전히 포함한다.
실시예는 세션 접속을 유지하기 위한 기술을 제공한다. 본 기술은, 메시지를 송신하지 않음으로써 타임 아웃 조건으로 인해 세션 접속 종료를 야기할 수도 있는 경우, 핵심(heartbeat) 메시지를 송신한다. 핵심 메시지는 논-엠티(non-empty) 페이로드를 포함한 유효 전송 계층 메시지인데, 그 페이로드는 데이터 통신 스택의 상위 레벨에서의 프로토콜에 의해 무시될 것이다. 예로서, 본 기술은 페이로드에 CRLF(carriage return and line feed)만을 포함한 TCP 메시지를 송신할 수도 있다. TCP 계층은 CRLF만을 포함한 메시지를 유효 TCP 메시지로 고려하기 때문에, 프럭시 서버와 같은 중간 컴퓨팅 디바이스는 핵심 메시지를 "연결-유지" 메시지로서 해석하지 않을 수도 있으며, 세션 접속을 유지할 수도 있다.
실시예는 세션 접속을 유지하기 위한 기술을 제공한다. 본 기술은, 메시지를 송신하지 않음으로써 타임 아웃 조건으로 인해 세션 접속 종료를 야기할 수도 있는 경우, 핵심(heartbeat) 메시지를 송신한다. 핵심 메시지는 논-엠티(non-empty) 페이로드를 포함한 유효 전송 계층 메시지인데, 그 페이로드는 데이터 통신 스택의 상위 레벨에서의 프로토콜에 의해 무시될 것이다. 예로서, 본 기술은 페이로드에 CRLF(carriage return and line feed)만을 포함한 TCP 메시지를 송신할 수도 있다. TCP 계층은 CRLF만을 포함한 메시지를 유효 TCP 메시지로 고려하기 때문에, 프럭시 서버와 같은 중간 컴퓨팅 디바이스는 그 메시지가 송신 또는 수신되었던 접속과 관련하는 메시지 클럭을 리셋할 수도 있다. 메시지 클럭은 메시지가 접속 시 마지막으로 송신 또는 수신되었던 이후부터 경과된 시간의 양을 나타낸다. 접속의 메시지 클럭이 시간의 임계 양이 경과하였음을 나타내는 경우(예를 들어, 타임 아웃 조건이 발생함을 나타냄), 중간 컴퓨팅 디바이스는 그 접속을 종료할 수도 있다. 메시지 클럭은 메시지가 송신 또는 수신되는 경우에 리셋되기 때문에, 또 다른 메시지가 시간의 임계 양이 경과하기 전에 송신 또는 수신되지 않는 경우, 접속은 종료되지 않을 수도 있다. 수신자 컴퓨팅 디바이스의 TCP 계층이 수신된 핵심 메시지를 자신의 데이터 통신 스택의 상위 계층으로 전달하는 경우, 그 상위 계층은 핵심 메시지를 무시할 수도 있다. 예로서, SIP는 스페이스, 탭, 캐리지 리턴(carriage return), 개행 문자(line feed) 또는 CRLF와 같은 여백(white space)만을 포함하는 다른 유효 SIP 메시지를 무시할 수도 있다. CRLF 이외의 정보를 포 함한 메시지가 수신되는 경우, 상위 계층은 이러한 메시지를, 무시할 수 없는 정보를 포함하는 것으로서 해석하는 경향이 있다. 다양한 실시예에서, 핵심 메시지는 단순히 캐리지 리턴, 개행 문자, 또는 전송 계층에서는 유효하지만 그 데이터 통신 스택의 상위 계층에서는 무시되는 임의의 데이터를 포함할 수도 있다. 그러므로 유효 전송 계층 메시지, 예를 들어 SIP에 의해 무시되는 핵심 메시지를 송신함으로써, 본 기술은 전송 계층보다 높은 데이터 통신 스택의 레벨에 있는 컴퓨팅 디바이스 간에 정보 교환이 없더라도 세션 접속을 유지할 수 있다. 유효하지만 무시되는 메시지의 정렬은 프로토콜의 사양 또는 정의에서 정의할 수도 있다.
실시예에서, 전송 계층 위의 계층에 의해 무시되는 메시지는, 예를 들어 캐리지 리턴, 개행 문자, 스페이스, 탭 또는 일반적인 임의의 여백 문자를 포함할 수도 있다. 실시예에서, 단순히 여백 문자를 포함하는 그러한 메시지는 캐리지 리턴 또는 개행 문자를 사용하여 종료할 수도 있다. 메시지에 사용하여 상당한 계산량을 야기하지 않으면서 접속을 유지할 수 있는 문자는, 접속을 종료할 수 있는 프로토콜(예컨대, TCP) 위에 사용된 프로토콜을 분석함으로써 결정한다.
이제 도면을 참조하면, 도 1은 세션 접속을 유지하기 위한 시스템의 실시예를 나타내는 블록도이다. 시스템은 하나 이상의 클라이언트(102), 하나 이상의 네트워크(104), 및 클라이언트와 네트워크를 연결하는 네트워크, 예를 들어 인터넷(114)을 포함할 수도 있다. 클라이언트는 네트워크 커넥션(108)을 통해 인터넷과 연결할 수도 있다. 네트워크(104)는 다양한 형태의 데이터 통신 링크(110)를 사용하여 인터넷과 연결할 수도 있다. 클라이언트는, 예를 들어 인터넷과 연결되는 컴 퓨터, 이동 전화기, 또는 다른 디바이스일 수도 있다. 네트워크는, 예를 들어 인트라넷일 수도 있다. 또한, 클라이언트는 사설 데이터 통신 링크(112)를 사용하여 네트워크와 직접 연결할 수도 있다. 유사하게, 네트워크는 사설 데이터 통신 링크(112)를 사용하여 다른 네트워크와 직접 연결할 수도 있다. 또한, 인터넷은 다양한 다른 컴퓨팅 디바이스(도시하지 않음)와 연결할 수도 있다. 본 명세서에서 기술한 커넥션은 물리, 무선, 그리고 실제로는 임의의 형태의 데이터 통신 네트워크 커넥션일 수 있다.
도 2는 도 1의 네트워크의 실시예를 나타내는 블록도이다. 네트워크(200)는 하나 이상의 클라이언트(202), 서버(204) 및 에지(edge) 프럭시 서버(212)를 포함한다. 또한, 네트워크는 다른 디바이스(도시하지 않음)를 포함할 수도 있다. 네트워크에 도시한 디바이스(그리고 도시하지 않은 디바이스)는 네트워크와 관련된 데이터 통신 네트워크(도시하지 않음)를 통해 서로 연결할 수도 있다. 클라이언트(202) 및 서버(204)는 SIP 메시지 교환을 포함하는 다양한 행동을 수행할 수도 있다. 에지 프럭시 서버(212)는 네트워크(200)("내부" 네트워크)와 "외부" 네트워크, 예를 들어 인터넷(도시하지 않음) 둘 다와 연결한다. 클라이언트가 네트워크 외부의 서버에 세션을 개시하기를 원하는 경우, 에지 프럭시는, 예를 들어 그 세션이 개시돼야 하는지 그리고 어떤 통신 링크가 사용돼야 하는지를 판정한다.
도 3은 도 1 및 2의 컴퓨팅 디바이스에 의해 채택되는 데이터 통신 스택의 실시예를 나타내는 블록도이다. 컴퓨팅 디바이스는 하나 이상의 데이터 통신 스택을 사용하여 서로 통신할 수도 있다. 도시한 예에서, 컴퓨팅 디바이스(300)는 이 러한 컴퓨팅 디바이스와 관련된 데이터 통신 스택을 사용하여 컴퓨팅 디바이스(303)와 통신한다. 컴퓨팅 디바이스 301 및 302는 관련 데이터 통신 스택을 사용하여 컴퓨팅 디바이스 300 및 303 간의 메시지를 수신 및 전달할 수도 있다.
컴퓨팅 디바이스(300)는 애플리케이션 계층(304), 전송 계층(306), 네트워크 계층(308), 데이터 링크 계층(310) 및 물리 계층(312)을 포함하는 데이터 통신 스택을 구비한다. 애플리케이션 계층은 SIP 애플리케이션 및 다른 애플리케이션을 포함할 수도 있다. SIP 애플리케이션은 전송 계층과 통신하는 컴포넌트 또는 계층을 구비할 수도 있다. SIP 애플리케이션의 이러한 통신 계층은 핵심 메시지를 송신 또는 수신할 수도 있다. 컴퓨팅 디바이스(301, 302 및 303)는 유사한 데이터 통신 스택을 구비할 수도 있다. 구체적으로 설명하면, 컴퓨팅 디바이스(303)는 애플리케이션 계층(314), 전송 계층(316), 네트워크 계층(318), 데이터 링크 계층(320) 및 물리 계층(322)을 포함하는 데이터 통신 스택을 구비할 수도 있다. 이러한 애플리케이션 계층의 일부 또는 전부는 SIP 애플리케이션을 추가로 포함할 수도 있다.
2개의 컴퓨팅 디바이스가 연결되는 경우, 그 데이터 통신 스택의 계층은 서로 간의 논리 또는 물리 커넥션을 구비할 수도 있다. 예로서, 컴퓨팅 디바이스(300)가 컴퓨팅 디바이스 301 및 302를 통해 컴퓨팅 디바이스(303)와 연결되는 경우, 물리 계층(312)은 물리 커넥션(324)을 통해 컴퓨팅 디바이스(301)의 물리 계층과 연결될 수도 있고, 컴퓨팅 디바이스(301)의 물리 계층은 물리 커넥션을 통해 컴퓨팅 디바이스(302)의 물리 계층과 연결될 수도 있으며, 컴퓨팅 디바이스(302)의 물리 계층은 물리 커넥션을 통해 컴퓨팅 디바이스(303)의 물리 계층과 연결될 수도 있다. 컴퓨팅 디바이스는, 예를 들어 모뎀, 네트워크 인터페이스 카드, 또는 인터넷과 같은 다른 커넥션을 통해 각각 서로 연결할 수도 있다. 인터넷은 다양한 물리 커넥션, 예를 들어 전화선, 마이크로파 링크, 및 메시지를 위한 복수의 경로를 서로 형성하는 다른 형태의 유선 및 무선 물리 커넥션으로 구성한다. 실제로, 인터넷에 대한 초기의 목적은 네트워크 사고 상태(outage)에도 불구하고 송신자가 수신자와 통신할 수 있게 하는 것이었다. 컴퓨팅 디바이스(300)가 데이터를 컴퓨팅 디바이스(303)에 송신하는 경우, 그 데이터는 인터넷을 통해 상이한 물리 경로 상에서 이동할 수도 있다.
데이터 통신 스택의 상위 계층, 예를 들어 데이터 링크 계층(310,320), 네트워크 계층(308,318), 전송 계층(306,316) 및 애플리케이션 계층(304,314)은 논리 커넥션, 예를 들어 논리 커넥션(326,328,330,332)에 의해 연결할 수도 있다. 데이터 통신 스택의 2개 계층이 논리 커넥션을 구비하여 데이터를 교환하는 경우, 데이터는 송신 컴퓨팅 디바이스의 데이터 통신 스택 "아래"인 데이터 통신 스택의 물리 계층으로 송신될 수도 있고, 물리 커넥션을 통과한 다음, 수신 컴퓨팅 디바이스의 데이터 통신 스택 "위"로 송신될 수도 있다. 예로서, 컴퓨팅 디바이스(300)의 SIP 애플리케이션(304)이 컴퓨팅 디바이스(303)의 SIP 애플리케이션(314)과 통신하는 경우, SIP 애플리케이션(304)은 전송 계층(306)에 데이터를 전달할 수도 있고, 전송 계층(306)은 네트워크 계층(308)에 데이터를 전달할 수도 있으며, 네트워크 계층(308)은 데이터 링크 계층(310)에 데이터를 전달할 수도 있으며, 데이터 링크 계 층(310)은 물리 계층(312)에 데이터를 전달할 수도 있다. 물리 계층(312)은 물리 커넥션(324)을 통해 데이터를 전달할 수도 있으며, 궁극적으로는 물리 계층(322)에 데이터를 전달할 수도 있다. 물리 계층(322)은 자신이 수신한 데이터를 데이터 링크 계층(320)에 전달할 수도 있고, 데이터 링크 계층(320)은 네트워크 계층(318)에 데이터를 전달할 수도 있으며, 네트워크 계층(318)은 전송 계층(316)에 데이터를 전달할 수도 있으며, 전송 계층(316)은 궁극적으로 SIP 애플리케이션(314)에 데이터를 전달할 수도 있다.
컴퓨팅 디바이스 301 및 302가 물리 커넥션 상에서 데이터를 수신하는 경우, 그 디바이스는 데이터를 데이터 통신 스택의 위로 또한 송신할 수도 있다. 애플리케이션 계층보다 낮은 데이터 통신 스택의 레벨은, 수신된 데이터를 상위 계층으로 송신하지 않으면서 그 수신 데이터를 처리할 수도 있다. 예로서, SIP 애플리케이션(304)이 SIP 메시지를 SIP 애플리케이션(314)으로 송신하는 경우, SIP 메시지에 대응하는 데이터를 전송 계층(306)으로 송신할 수도 있다. 자신의 물리 계층 상에서 데이터를 수신하는 컴퓨팅 디바이스 301 및 302의 데이터 통신 스택 둘 다는, 자신의 데이터 통신 스택의 위인 각각의 전송 계층으로 그 수신된 데이터를 전달할 수도 있다. 수신된 데이터로부터 그 데이터에 나타낸 목적지가 컴퓨팅 디바이스(303)임을 인식한 전송 계층은 데이터를 전송 계층(316)으로 간단하게 전달할 수도 있다(자신의 대응하는 하위 레벨을 통해). 그러므로 컴퓨팅 디바이스 301 및 302의 애플리케이션/SIP 계층은 그 메시지를 처리 또는 볼 필요가 없을 수도 있다.
시간 기간 동안 컴퓨팅 디바이스 301 또는 302의 전송 계층이 데이터를 수신 하지 못한 경우, 컴퓨팅 디바이스는 컴퓨팅 디바이스 300 및 303 간의 SIP 세션에 대응하는 접속을 종료할 수도 있다. 예로서, 컴퓨팅 디바이스(301)가 컴퓨팅 디바이스(300) 또는 컴퓨팅 디바이스(302)로부터 접속에 대한 임의의 메시지를 수신하지 못한 경우, 그 접속은 더 이상이 필요하지 않아서 그 접속을 종료한다고 추정할 수도 있다. 그러므로 컴퓨팅 디바이스 300 및 303 간의 또 다른 SIP 메시지는 컴퓨팅 디바이스 301 및 302를 통과하는 이전에 개시된 접속을 통과할 수 없을 수도 있다.
도 4는 send_message 루틴의 실시예를 나타내는 흐름도이다. 그 루틴은 애플리케이션 계층 컴포넌트, 예를 들어 SIP 애플리케이션의 컴포넌트에 의해 수행되어 메시지를 송신할 수도 있다. send_message 루틴은, 예를 들어 컴퓨팅 디바이스에서 실행하는 SIP 애플리케이션이 또 다른 컴퓨팅 디바이스에서 실행하는 SIP 애플리케이션에 메시지를 송신하는 경우, 그 컴퓨팅 디바이스에서 실행하는 SIP 애플리케이션에 의해 사용될 수도 있다. 루틴은 메시지의 지시(indication)를 파라미터로서 수신하는 블록(402)에서 시작한다. 블록(404)에서, 루틴은 클럭 값을 리셋, 예를 들어 0으로 설정한다. 그 클럭의 값은 메시지가 마지막으로 송신되었던 이후부터 경과된 시간을 나타낸다. 이 값은 접속이 종료돼야 하는지를 판정하는 시스템의 컴포넌트에 의해 체크될 수도 있다. 블록(406)에서, 루틴은 블록(402)에서 수신된 메시지를 전송 계층에 송신한다. 루틴은 전송 계층에 의해 노출된 애플리케이션 프로그램 인터페이스를 사용하여 메시지를 송신할 수도 있다. 블록(408)에서, 루틴은 그 루틴의 호출자에게 리턴한다.
도 5는 sustain_connection 루틴의 실시예를 나타내는 흐름도이다. 그 루틴은 애플리케이션 계층 컴포넌트, 예를 들어 SIP 애플리케이션의 컴포넌트에 의해 수행되어 접속을 유지한다. 접속은, 예를 들어 메시지가 마지막으로 송신되었던 이후부터 경과된 시간의 양을 나타내는 클럭 값이 타임 아웃 값을 초과하는 경우, 유지될 필요가 있을 수도 있다. 적절한 타임 아웃 값은, 예를 들어 전송 계층의 API를 사용하여 전송 계층의 특성을 판정함으로써 결정될 수도 있거나, 시스템의 관리자에 의해 정의될 수도 있다. 루틴은 블록(502)에서 시작한다. 블록(504)에서, 루틴은 클럭 값이 타임 아웃 값에 근접하는지를 판정한다. 클럭 값이 타임 아웃 값을 초과하는 경우, 접속은 이미 종료될 수도 있다. 그 결과, 타임 아웃 값 이전의 어떤 시간 기간을 선택해야 한다. 클럭 값이 타임 아웃 값 근처인 경우, 루틴은 블록(506)에서 계속한다. 그렇지 않은 경우, 루틴은 블록(508)에서 계속한다. 블록(506)에서, 루틴은 send_heartbeat 서브루틴을 호출하는데, 그 서브루틴은 접속을 유지할 수도 있는 메시지를 송신한다. send_heartbeat 서브루틴은 도 6을 참조하여 이하에서 설명한다. 블록(508)에서, 루틴은 그 루틴의 호출자에게 리턴한다.
sustain_connection 루틴은 메시지를 송신 또는 수신하는 스레드(thread)와는 별개인 스레드의 루프에서 반복적으로 호출될 수도 있다. 대안적으로, sustain_connection 루틴은 타임 아웃 이전의 어떤 지정 시간 인터벌에서 트리거되는 클럭 이벤트에 응답하여 호출될 수도 있다.
대안적으로, sustain_connection 루틴은 클럭 값에 관계없이 타임 아웃 값보 다 적은 어떤 인터벌에서 핵심 메시지를 간단하게 송신할 수도 있다. 예로서, 프럭시 서버가 1분의 비작동 후에 타임 아웃할 수도 있는 경우, 그 루틴은 메시지가 단지 수초 일찍 송신 또는 수신되었더라도 매 30초 마다 핵심 메시지를 송신할 수도 있다.
도 6은 send_heartbeat 서브루틴의 실시예를 나타내는 흐름도이다. 그 루틴은 애플리케이션 계층 컴포넌트, 예를 들어 SIP 애플리케이션의 컴포넌트에 의해 수행되어 핵심 메시지를 송신한다. 핵심 메시지가 송신되어, 시간 기간 동안 접속 시 송신된 메시지가 없는 경우에 종료할 수도 있는 접속을 유지한다. 서브루틴은 세션의 지시를 파라미터로서 수신하는 블록(602)에서 시작한다. 블록(604)에서, 서브루틴은 핵심 메시지를 생성한다. 핵심 메시지는 데이터 통신 스택의 계층에 의해 무시될 수도 있지만 데이터 통신 스택의 또 다른 계층에 의해 무시되지 않을 수도 있는 메시지이다. 예로서, 핵심 메시지는, SIP 세션을 개시한 2개의 컴퓨팅 디바이스 간의 메시지를 처리하고 있는 또 다른 컴퓨팅 디바이스(예컨대, 프럭시 서버)에 의해 TCP 접속이 종료될 위험이 있는 경우, SIP 애플리케이션에 의해 송신되어 TCP 접속을 유지할 수도 있다. 핵심 메시지는, 예를 들어 CRLF 문자만을 포함할 수도 있다. 대안적으로, 핵심 메시지는 하나 이상의 스페이스 또는 탭 엔딩을 CRLF에 포함할 수도 있다. 핵심 메시지는 CRLF를 사용하는 대신, 캐리지 리턴 또는 개행 문자 문자를 또한 사용할 수 있다. TCP 계층에서, 그러한 메시지는 메시지가 송신 또는 수신될 때 클럭 값을 리셋하는 유효 메시지일 수도 있다. 그러나 SIP 애플리케이션은 그러한 메시지를 무시할 수도 있다. 그러므로 그와 같은 핵심 메시지를 송신함으로써, TCP 접속은 개시를 유지할 수도 있고, SIP 존재 정보는 정확하게 유지될 수도 있으며, 유용한 정보가 SIP 애플리케이션에 제공될 수도 있다. 대안적인 실시예에 있어서, 단순한 캐리지 리턴 또는 개행 문자는 핵심 메시지에 송신될 수도 있다.
블록(606)에서, 서브루틴은 send_message 서브루틴을 호출하고, 생성된 핵심 메시지를 파라미터로서 그 서브루틴에 전달한다. send_message 서브루틴은 도 4와 관련하여 상술하였다. 블록(608)에서, 서브루틴은 그 서브루틴의 호출자에게 리턴한다.
도 7은 receive_message 서브루틴의 실시예를 나타내는 흐름도이다. 그 서브루틴은 수신 컴퓨팅 디바이스의 애플리케이션 계층 컴포넌트, 예를 들어 SIP 애플리케이션의 컴포넌트에 의해 수행될 수도 있다. 서브루틴은 메시지의 지시를 파라미터로서 수신하는 블록(702)에서 시작한다. 블록(704)에서, 서브루틴은 수신 메시지가 핵심 메시지인지를 판정한다. 서브루틴은 메시지의 콘텐츠가 단순히 캐리지 리턴, 개행 문자 또는 둘 다인지를 체크함으로써, 수신 메시지가 핵심 메시지인지를 판정하도록 시도할 수도 있다. 대안적으로, receive_message 서브루틴은 알려진 메시지 내의 임의의 정보를 찾아 핵심 메시지를 식별하도록 주문제작할 수도 있다. 수신 메시지가 핵심 메시지인 경우, 서브루틴은 블록(706)에서 계속한다. 그렇지 않은 경우, 서브루틴은 블록(708)에서 계속한다. 블록(706)에서, 서브 루틴은 메시지를 인정할 수도 있다. 통상적으로, 전송 계층이 메시지를 인정한다. 그러나 몇몇 경우에서, 애플리케이션 계층 컴포넌트가 메시지를 인정할 필요 가 있을 수도 있다. 이러한 단계는 서브루틴을 수행하는 애플리케이션 계층 컴포넌트에 따라 선택적일 수도 있기 때문에, 블록(706)은 파선으로 나타낸다. 블록(708)에서, 서브루틴은 메시지를, 예를 들어 SIP 애플리케이션에 전달할 수도 있다. 블록(710)에서, 서브루틴은 그 서브루틴의 호출자에게 리턴한다.
메시지를 수신한 경우, 서브루틴은 핵심 메시지가 세션을 유지하기 위해 송신될 필요가 있는지를 판정하기 위해 사용할 수도 있는 클럭 값(도시하지 않음)을 리셋할 수도 있다.
도 8은 실시예에서의 메시지 흐름을 나타내는 메시지 흐름도이다. 도시한 실시예에서, 컴퓨팅 디바이스(1)는 컴퓨팅 디바이스(2)와 함께 SIP 세션을 설정한다. 그 세션에서 교환되는 메시지는 프럭시 서버를 통과한다. 예로서, 컴퓨팅 디바이스(1)가 메시지 1을 시간 0에서 송신하는 경우, 그 메시지는 프럭시 서버를 통과하고, 컴퓨팅 디바이스(2)가 그 메시지를 시간 1에서 수신한다. 유사하게, 컴퓨팅 디바이스(2)가 메시지 2를 시간 2에서 송신하는 경우, 그 메시지는 프럭시 서버를 통화하고, 컴퓨팅 디바이스(1)가 그 메시지를 시간 3에서 수신한다. 프럭시 서버는 메시지를 전달 또는 수신할 때마다 클럭을 리셋할 수도 있다. 예로서, 프럭시 서버가 메시지 1을 전달하는 경우, 프럭시 서버는 클럭 값을 0으로 리셋한다. 유사하게, 프럭시 서버가 메시지 2를 수신하는 경우, 프럭시 서버는 클럭 값을 0으로 리셋한다. 클럭 값은, 예를 들어 시스템 클럭에 응답하여 자동으로 증가할 수도 있다. 클럭 값이 타임 아웃 값을 초과하는 경우, 프럭시 서버는 세션과 관련된 접속을 종료할 수도 있다. 도시한 예에 있어서, 컴퓨팅 디바이스(1)는 클럭 값이 타임 아웃 값을 초과한 이후에는 메시지 3을 송신할 수 없을 수도 있다.
도 9는 실시예에서의 메시지 흐름을 나타내는 메시지 흐름도이다. 도시한 실시예에서, 컴퓨팅 디바이스 1 및 2는, 도 8에서 도시하고 설명한 바와 같이, 시간 0 및 3 사이에서 메시지 1 및 2를 교환한다. 시간 4에서, 컴퓨팅 디바이스(1)는 타임 아웃이 곧 닥쳐올 것임(도면에서 파선으로 나타냄)을 인식한 경우, 시간 5로서 표시된 타임 아웃 이전에 핵심 메시지를 컴퓨팅 디바이스(2)에 송신할 수도 있다. 핵심 메시지를 송신한 경우, 프럭시 서버는 클럭을 리셋할 수도 있고, 컴퓨팅 디바이스(1)는 메시지 3을 시간 6에서 송신할 수도 있는데, 이는 프럭시 서버가 접속을 종료하지 않기 때문이다. 프럭시 서버 타임 아웃 이전에 핵심 메시지를 송신함으로써, 시스템은 컴퓨팅 디바이스 1 및 2 간의 접속을 유지할 수 있다. 핵심 메시지를 송신한 컴퓨팅 디바이스는, 핵심 메시지의 수신자의 클럭 값이 또한 타임 아웃 값을 초과하지 않는 충분한 시간에 핵심 메시지를 송신하는 시도가 필요할 수도 있다.
도 10은 실시예에서의 메시지 흐름을 나타내는 블록도이다. 도시한 실시예에서, 송신자 컴퓨팅 디바이스(1000)는 수신자 컴퓨팅 디바이스(1002)와 함께 개시된 SIP 세션을 구비한다. 송신자 컴퓨팅 디바이스가 자신의 애플리케이션/SIP 계층(1004)을 통해 SIP 메시지 1을 송신하는 경우, 전송 계층(1006)은 그 메시지를 2개의 세그먼트 S1 및 S2로 분할할 수도 있다. 타임 아웃을 방지하기 위하여, 송신자 컴퓨팅 디바이스는 핵심 메시지 S3을 송신할 수도 있다. 핵심 메시지는 캐리지 리턴, 개행 문자, 둘 다, 또는 그 애플리케이션에 의해 무시될 수 있는 핵심 메시 지를 나타내는 다른 정보를 포함할 수도 있다. 다음으로, 수신자 컴퓨팅 디바이스는 전송 계층(1016)에 의해 전송 메시지 S4, S5 및 S6로 분할되는 SIP 메시지 2를 송신할 수도 있다. 분할된 메시지는 다양한 크기일 수도 있다.
실시예에서, 컴퓨팅 디바이스는 핵심 메시지를 몇몇 접속에 송신할 수도 있고, 다른 접속을 갖는 또 다른 메커니즘을 채택하여 자신의 접속을 유지할 수도 있다. 예로서, 컴퓨팅 디바이스는 메시지를 자신의 "홈" 서버 또는 홈 서버에 연결된 다른 컴퓨팅 디바이스에 송신하는 경우에 핵심 메시지를 채택할 수도 있는데, 이는 홈 서버가 핵심 메시지를 컴퓨팅 디바이스의 접속과 관련시킬 수도 있고, 그 관련 지시를 저장할 수도 있기 때문이다. 그렇게 함으로써, 그 서버는 접속이 후에 손실되는 경우, 그 컴퓨팅 디바이스의 존재 정보를 효과적으로 업데이트할 수도 있다. 컴퓨팅 디바이스는 REGISTER 메시지를 다른 접속에 송신하여 이로운 경우에는, 그렇게 송신할 수도 있다. 예로서, 컴퓨팅 디바이스는 중간 디바이스가 핵심 메시지를 전달하지 못할 때 REGISTER 메시지를 송신할 수도 있다.
본 명세서에서 기술한 특정 예는 SIP 및 TCP를 사용하여 설명하지만, 대안 실시예는 다른 동등 또는 유사한 프로토콜을 사용할 수도 있다.
세션 접속을 유지하기 위한 기술이 실시되는 컴퓨팅 디바이스는 중앙 처리 유닛, 메모리, 입력 디바이스(예컨대, 키보드 및 포인팅 디바이스), 출력 디바이스(예컨대, 디스플레이 디바이스) 및 저장 디바이스(예컨대, 디스크 드라이브)를 포함할 수도 있다. 메모리 및 저장 디바이스는 보안 시스템을 실시하는 명령을 포함할 수도 있는 컴퓨터 판독 가능 매체이다. 추가로, 데이터 구조 및 메시지 구조는 데이터 전송 매체, 예를 들어 통신 링크 상의 신호를 통해 저장 또는 전송할 수도 있다. 다양한 통신 링크, 예를 들어 인터넷, LAN, WAN, 또는 점대점 다이얼 업 커넥션을 사용할 수도 있다.
도 1은 세션 접속을 유지하기 위한 기술이 실시될 수도 있는 적당한 동작 환경의 예를 나타낸다. 동작 환경은 적당한 동작 환경의 일 예일 뿐이며, 시스템의 사용 또는 기능성의 범위에 어떤 제한을 암시하는 것은 아니다. 다른 공지된 컴퓨팅 시스템, 환경 및 구성은 퍼스널 컴퓨터, 서버 컴퓨터, "스마트" 셀룰러 전화기를 구비한 핸드-헬드 또는 랩톱 디바이스, 멀티프로세서 시스템, 마이크로프로세서 기반의 시스템, 프로그램 가능 소비자 전자제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상술한 시스템 또는 디바이스 중 어느 것을 구비한 분산형 컴퓨팅 환경 등에 사용하기 적합할 수도 있다.
세션 접속을 유지하기 위한 기술은, 하나 이상의 컴퓨터 또는 다른 디바이스에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행 가능 명령의 일반적인 환경 하에서 기술할 수도 있다. 일반적으로, 프로그램 모듈은 특별한 태스크를 수행하거나, 특별한 추상 데이터 타입을 실시하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 통상적으로, 프로그램 모듈의 기능성은 다양한 실시예에서 원하는 바와 같이 조합 또는 분산할 수도 있다.
상술한 바로부터, 본 발명의 특정 실시예는 설명의 목적을 위해 본 명세서에 기술하였지만, 본 발명의 사상 및 범위를 벗어나지 않는 다양한 수정이 이루어질 수도 있음을 인식하게 될 것이다. 따라서, 본 발명은 첨부한 청구범위에 의한 부 분을 제외하고는 한정되지 않는다.
본 발명은 유효 전송 계층 메시지, 예를 들어 SIP에 의해 무시되는 핵심 메시지를 송신함으로써, 전송 계층보다 높은 데이터 통신 스택의 레벨에 있는 컴퓨팅 디바이스 간에 정보 교환이 없더라도 세션 접속을 유지할 수 있다.

Claims (35)

  1. 세션 접속을 유지하기 위하여 컴퓨팅 디바이스에 의해 수행되는 방법으로서,
    제1 프로토콜을 사용하는 제2 컴퓨팅 디바이스와 세션을 개시하는 단계 - 상기 세션은 접속을 가짐 -, 및
    제2 프로토콜을 사용하는 핵심 메시지(heartbeat message)를 송신하는 단계를 포함하고,
    상기 제1 프로토콜은 상기 제2 프로토콜보다 데이터 통신 스택의 높은 계층에 의해 사용되고, 상기 핵심 메시지는 상기 제2 프로토콜의 유효 메시지이지만 상기 제1 프로토콜에 의해 무시되며, 상기 핵심 메시지를 송신하는 단계는 상기 세션 접속을 유지하는, 세션 접속 유지 방법.
  2. 제1항에 있어서,
    상기 핵심 메시지는 캐리지 리턴(carriage return) 및 개행 문자를 포함하는, 세션 접속 유지 방법.
  3. 제1항에 있어서,
    상기 핵심 메시지는 메시지 클럭의 만료 이전에 송신되는, 세션 접속 유지 방법.
  4. 제1항에 있어서,
    상기 제1 프로토콜은 세션 개시 프로토콜(session initiaion protocol)인, 세션 접속 유지 방법.
  5. 제1항에 있어서,
    상기 핵심 메시지는 주기적으로 송신되고, 그 송신되는 주기는 타임 아웃 값의 함수인, 세션 접속 유지 방법.
  6. 제1항에 있어서,
    상기 핵심 메시지는 상기 제1 프로토콜의 메시지 부재 시 송신되는, 세션 접속 유지 방법.
  7. 컴퓨팅 시스템이 방법을 수행하게 하는 콘텐츠들이 기록된 컴퓨터 판독 가능 기록 매체로서,
    상기 방법은,
    제1 프로토콜을 사용하는 제2 컴퓨팅 디바이스와 세션을 개시하는 단계 - 상기 세션은 접속을 가짐 -,
    상기 제1 프로토콜을 사용하는 메시지들을 송신하는 단계 - 상기 메시지들은 전송 계층(transport layer)에 의해 제2 프로토콜의 일련의 메시지들로 분할됨 -, 및
    제2 프로토콜을 사용하는 핵심 메시지를 송신하는 단계를 포함하고,
    상기 제1 프로토콜은 상기 제2 프로토콜보다 데이터 통신 스택의 높은 계층에 의해 사용되고, 상기 핵심 메시지는 상기 제2 프로토콜의 유효 메시지이지만 상기 제1 프로토콜을 사용하는 애플리케이션에 제공되지 않으며, 상기 핵심 메시지를 송신하는 단계는 세션 접속을 유지하는, 컴퓨터 판독 가능 기록 매체.
  8. 제7항에 있어서,
    상기 핵심 메시지는 메시지가 상기 제1 프로토콜을 사용하여 송신된 이후 소정의 시간 주기가 경과될 때 송신되는, 컴퓨터 판독 가능 기록 매체.
  9. 제7항에 있어서,
    상기 핵심 메시지는 주기적으로 송신되고, 그 송신되는 주기는 타임 아웃 값의 함수인, 컴퓨터 판독 가능 기록 매체.
  10. 제7항에 있어서,
    상기 핵심 메시지는 캐리지 리턴 및 개행 문자를 포함하는, 컴퓨터 판독 가능 기록 매체.
  11. 제7항에 있어서,
    상기 핵심 메시지는 메시지 클럭의 만료 이전에 송신되는, 컴퓨터 판독 가능 기록 매체.
  12. 제7항에 있어서,
    상기 제1 프로토콜은 세션 개시 프로토콜인, 컴퓨터 판독 가능 기록 매체.
  13. 제7항에 있어서,
    상기 핵심 메시지는 상기 제1 프로토콜의 메시지 부재 시 송신되는, 컴퓨터 판독 가능 기록 매체.
  14. 세션 접속을 유지하기 위한 시스템으로서,
    메시지를 수신하는 컴포넌트, 및
    상기 수신된 메시지가 핵심 메시지인지를 판정하는 컴포넌트를 포함하고,
    상기 핵심 메시지는 하위 레벨 프로토콜의 유효 메시지이지만 상위 레벨 프로토콜에 영향을 미치지 않으며, 상기 수신된 메시지가 핵심 메시지가 아닌 경우, 상기 메시지를 전달하는, 세션 접속 유지 시스템.
  15. 제14항에 있어서,
    상기 핵심 메시지는 상기 상위 레벨 프로토콜의 메시지가 수신된 이후 소정의 시간 주기가 경과될 때 수신되고, 상기 소정의 시간 주기는 타임 아웃 값보다 작은, 세션 접속 유지 시스템.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
KR1020050056256A 2004-06-30 2005-06-28 세션 접속 유지 KR101109276B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/881,251 US7962623B2 (en) 2004-06-30 2004-06-30 Sustaining session connections
US10/881,251 2004-06-30

Publications (2)

Publication Number Publication Date
KR20060048616A KR20060048616A (ko) 2006-05-18
KR101109276B1 true KR101109276B1 (ko) 2012-01-30

Family

ID=35058467

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050056256A KR101109276B1 (ko) 2004-06-30 2005-06-28 세션 접속 유지

Country Status (5)

Country Link
US (4) US7962623B2 (ko)
EP (1) EP1613019B1 (ko)
JP (2) JP5318319B2 (ko)
KR (1) KR101109276B1 (ko)
CN (2) CN1716964B (ko)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7506369B2 (en) * 2004-05-27 2009-03-17 Microsoft Corporation Secure federation of data communications networks
US7962623B2 (en) 2004-06-30 2011-06-14 Microsoft Corporation Sustaining session connections
US9654544B2 (en) * 2004-07-19 2017-05-16 International Business Machines Corporation Time-out management for session dependent applications
US8935405B2 (en) * 2005-03-07 2015-01-13 Nokia Corporation Expanding universal plug and play capabilities in power constrained environment
US9055088B2 (en) * 2005-03-15 2015-06-09 International Business Machines Corporation Managing a communication session with improved session establishment
US7921208B2 (en) * 2005-10-24 2011-04-05 Sap Aktiengesellschaft Network time out handling
US9043472B1 (en) * 2006-06-09 2015-05-26 Cisco Technology, Inc. Method and system for providing transmission control protocol dead connection detection
US7643459B2 (en) * 2006-06-16 2010-01-05 Alcatel-Lucent Usa Inc. Methods, devices and architectures for establishing peer-to-peer sessions
EP2069950A4 (en) * 2006-09-13 2017-06-21 Asankya Networks, Inc. Systems and methods of improving performance of transport protocols in a multi-path environment
CN1946062A (zh) * 2006-10-10 2007-04-11 华为数字技术有限公司 保活nat设备中会话表项的方法和系统
ATE425627T1 (de) * 2006-11-30 2009-03-15 Research In Motion Ltd System und verfahren zur aufrechterhaltung des paketprotokollkontexts
US7961703B2 (en) * 2006-11-30 2011-06-14 Research In Motion Limited System and method for maintaining packet protocol context
US8005107B2 (en) * 2007-02-06 2011-08-23 Research In Motion Limited Method and system for robust MAC signaling
US7881318B2 (en) * 2007-02-28 2011-02-01 Microsoft Corporation Out-of-band keep-alive mechanism for clients associated with network address translation systems
US8155128B2 (en) * 2007-09-26 2012-04-10 Alcatel Lucent Method and apparatus for establishing and managing diameter associations
KR101417012B1 (ko) * 2007-10-10 2014-07-08 삼성전자주식회사 Dm 세션을 유지하기 위한 방법 및 장치들
JP4557028B2 (ja) 2008-03-19 2010-10-06 ソニー株式会社 情報処理装置、情報処理方法、クライアント機器、情報処理システム
US8099505B2 (en) 2008-03-26 2012-01-17 Microsoft Corporation Aggregating connection maintenance to optimize resource consumption
SG157991A1 (en) * 2008-07-04 2010-01-29 3Rd Brand Pte Ltd Company Regi Extended messaging platform
CN101895411B (zh) * 2009-05-18 2013-11-06 华为技术有限公司 会话管理的方法和设备
US8688826B2 (en) * 2009-11-30 2014-04-01 Motorola Mobility Llc Mobile computing device and method with intelligent pushing management
CN102088470B (zh) * 2009-12-07 2014-03-05 中兴通讯股份有限公司 通信系统中文件传输协议死锁检测及自恢复的方法与装置
US9923995B1 (en) 2010-02-27 2018-03-20 Sitting Man, Llc Methods, systems, and computer program products for sharing information for detecting an idle TCP connection
US8400923B2 (en) * 2010-10-15 2013-03-19 Telefonaktiebolaget L M Ericsson (Publ) Multipath transmission control protocol proxy
US8407776B2 (en) * 2011-02-11 2013-03-26 Good Technology Corporation Method, apparatus and system for provisioning a push notification session
CN102685768B (zh) * 2011-03-08 2016-02-03 华为技术有限公司 心跳消息的处理方法、心跳周期的获取方法及接入网设备
WO2012167464A1 (zh) * 2011-07-01 2012-12-13 华为技术有限公司 心跳消息发送方法和心跳代理服务器
GB2493129B (en) * 2011-07-11 2018-07-04 Metaswitch Networks Ltd Method and system for managing a sip server
CN102891772A (zh) * 2011-07-18 2013-01-23 鸿富锦精密工业(深圳)有限公司 网卡性能测试方法及系统
JP5765123B2 (ja) 2011-08-01 2015-08-19 富士通株式会社 通信装置、通信方法、通信プログラム及び通信システム
US10198716B2 (en) * 2011-11-11 2019-02-05 Microsoft Technology Licensing, Llc User availability awareness
CN102684949B (zh) * 2012-06-04 2015-02-04 北京神州泰岳软件股份有限公司 一种长连接下心跳数据包的处理方法、装置和客户端
KR20140038846A (ko) 2012-09-21 2014-03-31 삼성전자주식회사 이동 통신 시스템에서 어플리케이션에 대한 세션의 유지를 제어하는 방법 및 장치
US8976768B2 (en) * 2012-09-27 2015-03-10 Intel Corporation Peer setup of predefined modulation transmission
JP6106494B2 (ja) * 2013-03-29 2017-03-29 株式会社東芝 通信制御装置、サーバ装置、通信システム及びプログラム
US10070480B1 (en) 2013-04-23 2018-09-04 Sprint Spectrum L.P. Tearing down a radio link based on keepalive message activity
CN104348522B (zh) * 2013-07-23 2016-09-21 普天信息技术研究院有限公司 一种适用于低功耗蓝牙设备的心跳保持的方法
US9535794B2 (en) * 2013-07-26 2017-01-03 Globalfoundries Inc. Monitoring hierarchical container-based software systems
JP6364866B2 (ja) * 2014-03-27 2018-08-01 富士通株式会社 端末装置、通信制御システム及び通信制御方法
CN105610888A (zh) * 2015-09-08 2016-05-25 华南师范大学 基于安卓的利用socket推送消息的方法和系统
US10812601B2 (en) * 2017-03-07 2020-10-20 Flash Networks Ltd. Method and system for signaling and radio connection optimization over a cellular network
US11122127B2 (en) 2017-08-28 2021-09-14 Qualcomm Incorporated Techniques and apparatuses for modem-assisted heartbeat transmission
WO2019063058A1 (en) * 2017-09-26 2019-04-04 Nokia Technologies Oy METHOD, APPARATUS, COMPUTER PROGRAM PRODUCT AND COMPUTER PROGRAM
US11659047B2 (en) * 2020-09-21 2023-05-23 Arris Enterprises Llc Method and apparatus for management of a network configuration session

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003502913A (ja) * 1999-06-15 2003-01-21 アスアスホー コミュニケーションズ セキュリティ リミティド トンネリングおよび補償を使用するネットワーク・アドレス翻訳によりセキュリティを与えるための方法および装置
JP2004537900A (ja) * 2001-07-27 2004-12-16 アルカテル セッション開始プロトコル(sip)通信を使用するマルチメディアセッション向けの複数ホスト構成

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212175B1 (en) * 1997-04-22 2001-04-03 Telxon Corporation Method to sustain TCP connection
US6266701B1 (en) * 1997-07-02 2001-07-24 Sitara Networks, Inc. Apparatus and method for improving throughput on a data network
US6397253B1 (en) * 1998-10-06 2002-05-28 Bull Hn Information Systems Inc. Method and system for providing high performance Web browser and server communications
JP3549762B2 (ja) * 1999-03-05 2004-08-04 エヌ・ティ・ティ・コムウェア株式会社 通信回線警報通知装置及び通信回線警報通知方法
US6631186B1 (en) * 1999-04-09 2003-10-07 Sbc Technology Resources, Inc. System and method for implementing and accessing call forwarding services
US6728365B1 (en) * 1999-09-13 2004-04-27 Nortel Networks Limited Method and system for providing quality-of-service on packet-based wireless connections
AU2043501A (en) * 1999-11-17 2001-05-30 Planetexchange.Com, Inc. System and method for maintaining presence and communicating over a computer network using the http protocol
US7171473B1 (en) * 1999-11-17 2007-01-30 Planet Exchange, Inc. System using HTTP protocol for maintaining and updating on-line presence information of new user in user table and group table
US6678735B1 (en) * 2000-01-26 2004-01-13 Nortel Networks Limited Method and apparatus for a sip client manager
DE50013978D1 (de) 2000-09-22 2007-03-08 Siemens Ag Anordnung zur Prüfung der Erreichtbarkeit eines Clients
JP4212230B2 (ja) * 2000-10-31 2009-01-21 富士通株式会社 メディア通信システム及び該システムにおける端末装置
EP1241847A1 (de) * 2001-03-13 2002-09-18 Siemens Aktiengesellschaft Übermittlung von Informationen mit einer verifizierten QoS in einem Kommunikationsnetz
CN1177450C (zh) * 2001-09-29 2004-11-24 华为技术有限公司 互联网个人号码业务中“心跳”技术的实现方法
US6970909B2 (en) * 2001-10-11 2005-11-29 The Trustees Of Columbia University In The City Of New York Multi-protocol data communication system supporting wireless telephony and content delivery
US7103067B1 (en) * 2001-12-21 2006-09-05 Cisco Technology, Inc. Mechanism for translating between two different voice-over-IP protocols
KR100459126B1 (ko) 2002-01-09 2004-12-03 엘지전자 주식회사 통신망의 세션 유지 제어 방법
US7480305B1 (en) * 2002-02-19 2009-01-20 Cisco Technology, Inc. Apparatus and methods for maintaining the registration state of an IP device in a network address port translation (NAPT) environment
JP2003261548A (ja) * 2002-03-07 2003-09-19 Teijin Ltd 2−(3−シアノ−4−イソブチルオキシフェニル)−4−メチル−5−チアゾールカルボン酸の結晶多形体の製造方法
US7136635B1 (en) * 2002-03-11 2006-11-14 Nortel Networks Limited Proxy SIP server interface for session initiation communications
US7080151B1 (en) * 2002-04-01 2006-07-18 Utstarcom, Inc. Method and system for mobile IP home agent redundancy by using home agent control nodes for managing multiple home agents
US7623497B2 (en) * 2002-04-15 2009-11-24 Qualcomm, Incorporated Methods and apparatus for extending mobile IP
US7395336B1 (en) * 2002-05-14 2008-07-01 Sprint Spectrum L.P. Method for managing SIP registrations in a telecommunications network
US7640300B2 (en) * 2002-06-10 2009-12-29 Microsoft Corporation Presence and notification system for maintaining and communicating information
US7272148B2 (en) * 2002-06-27 2007-09-18 Hewlett-Packard Development Company, L.P. Non-ALG approach for application layer session traversal of IPv6/IPv4 NAT-PT gateway
US7298733B2 (en) * 2002-07-29 2007-11-20 Ip Talk Corporation Internet communication system, internet communication method, session management server, radio communication device, communication relay server, and program
US9497168B2 (en) * 2002-07-30 2016-11-15 Avaya Inc. Method and apparatus for supporting communications between a computing device within a network and an external computing device
US7650415B1 (en) * 2003-03-10 2010-01-19 Network Equipment Technologies, Inc. Gateway for conversion of messages between multiple protocols using separate sessions
US7539759B2 (en) * 2003-04-15 2009-05-26 Panasonic Corporation Session endpoint management protocol
US7020098B2 (en) * 2003-05-28 2006-03-28 Sprint Spectrum L.P. Predictive reservation of a communication link for a packet-based real-time media session
JP4833847B2 (ja) * 2003-06-11 2011-12-07 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ワイヤレス移動網においてパケットデータリンクの再ネゴシエーションを低減する方法および装置
US7760744B1 (en) * 2003-11-20 2010-07-20 Juniper Networks, Inc. Media path optimization for multimedia over internet protocol
KR100661313B1 (ko) * 2003-12-03 2006-12-27 한국전자통신연구원 평생 번호를 사용한 이동성 제공이 가능한 sip 기반의멀티미디어 통신 시스템 및 이동성 제공 방법
US7353279B2 (en) * 2004-01-08 2008-04-01 Hughes Electronics Corporation Proxy architecture for providing quality of service(QoS) reservations
US7177398B2 (en) * 2004-03-13 2007-02-13 Intrado Inc. Bi-directional messaging for an emergency services network
US7962623B2 (en) 2004-06-30 2011-06-14 Microsoft Corporation Sustaining session connections
US7594259B1 (en) * 2004-09-15 2009-09-22 Nortel Networks Limited Method and system for enabling firewall traversal
US7668100B2 (en) * 2005-06-28 2010-02-23 Avaya Inc. Efficient load balancing and heartbeat mechanism for telecommunication endpoints

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003502913A (ja) * 1999-06-15 2003-01-21 アスアスホー コミュニケーションズ セキュリティ リミティド トンネリングおよび補償を使用するネットワーク・アドレス翻訳によりセキュリティを与えるための方法および装置
JP2004537900A (ja) * 2001-07-27 2004-12-16 アルカテル セッション開始プロトコル(sip)通信を使用するマルチメディアセッション向けの複数ホスト構成

Also Published As

Publication number Publication date
JP5318319B2 (ja) 2013-10-16
JP2012257288A (ja) 2012-12-27
KR20060048616A (ko) 2006-05-18
CN102209119B (zh) 2013-03-13
CN1716964B (zh) 2011-07-27
US7962623B2 (en) 2011-06-14
JP2006020301A (ja) 2006-01-19
US8364774B2 (en) 2013-01-29
CN102209119A (zh) 2011-10-05
US20060020707A1 (en) 2006-01-26
US20110246595A1 (en) 2011-10-06
US20130144965A1 (en) 2013-06-06
EP1613019B1 (en) 2017-04-19
EP1613019A1 (en) 2006-01-04
US20130151717A1 (en) 2013-06-13
CN1716964A (zh) 2006-01-04
US9560086B2 (en) 2017-01-31
JP5518954B2 (ja) 2014-06-11

Similar Documents

Publication Publication Date Title
KR101109276B1 (ko) 세션 접속 유지
US7650384B2 (en) Maintaining real-time conversations over unreliable connections
US7594020B2 (en) Re-establishing a connection for an application layer via a service layer
US8396972B2 (en) Session control apparatus, software applied to session control apparatus, communication control method, and network system
KR100728280B1 (ko) Sip를 이용한 통신 시스템에서 호 해제 요청/응답메시지를 이용한 네트워크 상태 관리 방법
US20070112954A1 (en) Efficiently detecting abnormal client termination
US20060050648A1 (en) Reducing storage requirement for route information
WO2003036506A1 (en) A bridging user agent and a proxy server for supporting network services
WO2005114906A1 (fr) Procede et systeme d&#39;obtention d&#39;informations d&#39;etat de noeuds de reseau sip
WO2006024987A1 (en) Method and session initiation protocol (sip) server for the exchange of end-point capabilities
EP1691528A1 (en) Method and system for placing restrictions on sessions
US8060640B2 (en) Combining SIP requests with SIP responses
EP1139631A1 (en) Method of initiating a data transfer from a server to a client
US20070005773A1 (en) Re-establishing a connection for an application layer via a service layer using delay
EP2068524A1 (en) A method and a system for acquiring the transmission path of the sip message
JP5241705B2 (ja) 制限された帯域上での通話管理
US9367367B2 (en) Application router
JP5102153B2 (ja) Sipシグナリングにおけるコマンドシーケンス番号の制御方法、サーバ及びプログラム
Herrero et al. Application layer
CN114679433B (zh) 视频访问会话管理系统、方法、计算机设备及存储介质
KR20050014129A (ko) 세션초기화프로토콜(sip) 서버 및 그 메시지 처리 방법
Le Kim THESIS/THÈSE

Legal Events

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

Payment date: 20141230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20191217

Year of fee payment: 9