KR20090112733A - 통신 소켓 상태 모니터링 시스템 및 방법들 - Google Patents

통신 소켓 상태 모니터링 시스템 및 방법들 Download PDF

Info

Publication number
KR20090112733A
KR20090112733A KR1020097017799A KR20097017799A KR20090112733A KR 20090112733 A KR20090112733 A KR 20090112733A KR 1020097017799 A KR1020097017799 A KR 1020097017799A KR 20097017799 A KR20097017799 A KR 20097017799A KR 20090112733 A KR20090112733 A KR 20090112733A
Authority
KR
South Korea
Prior art keywords
information
indicator
instructions
communication socket
storing
Prior art date
Application number
KR1020097017799A
Other languages
English (en)
Other versions
KR101443939B1 (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 KR20090112733A publication Critical patent/KR20090112733A/ko
Application granted granted Critical
Publication of KR101443939B1 publication Critical patent/KR101443939B1/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
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Computer And Data Communications (AREA)

Abstract

통신 소켓 상태는 네트워크 디바이스에 유지되고 네트워크 디바이스용 디바이스 구동기에 통신된다. 디바이스 구동기는 전용 애플리케이션 공간 메모리에 상태 정보를 저장하는 애플리케이션 공간 내 인터페이스 프로그램에 메시지들을 전송할 수 있다. 통신 소켓의 상태를 요구하는 피어 프로그램으로부터의 질문에 응답하여, 인터페이스 프로그램은 전용 메모리로부터 상태 정보를 검색한다. 상태 정보 및 인터페이스 프로그램이 애플리케이션 공간에 배치되기 때문에, 소켓 상태를 결정하기 위해 요구된 커널 변이부들의 수는 감소되어, 통신 효율성이 개선된다.
소켓 상태 정보, 디바이스 구동기, 네트워크 디바이스, 인터페이스 프로그램

Description

통신 소켓 상태 모니터링 시스템 및 방법들{COMMUNICATION SOCKET STATE MONITORING SYSTEM AND METHODS THEREOF}
본 발명은 일반적으로 데이터 통신들, 특히 데이터 처리 디바이스에서의 통신 소켓 상태를 모니터링하기 위한 시스템 및 방법에 관한 것이다.
이 출원은 2007년 1월 26일 출원된 발명의 명칭이 "HIGH PERFORMANCE KERNEL BYPASS OBJECT STATE NOTIFICATION MECHANISM"인 미국 예비 특허 출원 60/886,677의 우선권을 주장하고, 이 우선권은 이 출원의 양수인에게 양도되고 전체적으로 참조로써 여기에 통합된다.
최근에, 몇몇 애플리케이션들은 통신 네트워크의 둘 이상의 엘리먼트들 사이의 적시의 효과적인 상호작용에 의존하여 개발되었다. 예를 들어, 온라인 게이밍 영역에서, 사용자 머신들 상에서 실행하는 수백 또는 수천의 게임 클라이언트들은 네트워크된 컴퓨터 상에서 실행하는 중앙 서버와 상호작용할 수 있다. 상기 아키텍쳐에서, 게임 서버 프로그램은 콘텐트를 클라이언트들에 제공하고, 클라이언트 요구들을 수신하고, 이들 요구들을 처리하고, 이들 요구들에 응답하고, 그리고 다른 클라이언트들의 요구와 이들 요구들을 동기화하는 일이 빈번하게 주어진다. 클라이언트 요구들에 적시에 응답하기 위한 서버 프로그램들 성능에 영향을 줄 수 있 는 한가지 요인은 서버 프로그램이 클라이언트로부터 데이터를 수신했다는 것을 통보받는 속도, 및 데이터가 서버 프로그램에 제공될 수 있는 속도이다. 하나의 통상적인 방법은 데이터가 수신되었는지를 결정하기 위하여 서버 프로그램이 서버 동작 시스템의 네트워크 스택을 주기적으로 폴링(polling)하는 것이다. 그러나, 이 방법은 바람직하지 않은 시간 양을 차지하므로, 클라이언트 요구들에 응답하는 서버 프로그램의 바람직하지 않은 지연을 발생시킨다. 게다가, 클라이언트 프로그램이 서버로부터 데이터를 수신했다는 것을 통보받는 속도, 및 데이터가 서버 프로그램에 제공될 수 있는 속도는 또한 바람직하지 않은 지연을 초래할 수 있다. 유사한 문제들은 피어-투-피어(peer-to-peer) 네트워크들에서 발생하여, 피어-투-피어 네트워크에서의 컴퓨터 디바이스들에서 프로그램들 사이의 통신시 바람직하지 않은 지연들이 발생한다.
게이밍 환경에서, 이런 지연은 게임 프리즈(freeze)들, 스터터링(stuttering), 뒤틀림, 등등 같은 왜곡 이벤트들을 발생시킨다. 이와 같이, 수신된 데이터를 관리하는 개선된 처리 시스템 및 방법이 필요하다.
도시를 간략화 및 명확화하기 위해, 도면들에 도시된 엘리먼트들이 필수적으로 동일 축척으로 도시되지 않는다는 것이 인식될 것이다. 예를 들어, 엘리먼트들 중 일부의 크기들은 다른 엘리먼트들에 비해 과장된다. 본 개시물의 기술들을 통합한 실시예들은 여기에 제공된 도면들과 관련하여 도시 및 기술된다.
도 1은 본 개시물의 기술들을 통합한 네트워크 장치의 특정 실시예의 블록도.
도 2는 본 개시물의 기술들을 통합한 컴퓨터 디바이스의 특정 실시예의 블록도.
도 3은 본 개시물의 기술들을 통합한 컴퓨터 디바이스 및 네트워크 디바이스의 다른 실시예의 블록도.
도 4는 본 개시물의 기술들을 통합한 네트워크 디바이스 및 컴퓨터 디바이스의 다른 실시예의 블록도.
도 5는 본 개시물의 기술들을 통합한 네트워크 디바이스의 특정 실시예의 블록도.
하기 기술된 실시예들은 네트워크 엘리먼트들 사이의 통신 상호작용 모두 또는 일부를 관리하는 부분적으로 분산된 컴퓨팅 솔루션들을 기술한다. 이런 환경에서, 통신 상호작용은 정보를 전송하고자 하는 것, 정보를 전송하는 것, 정보를 요구하는 것, 정보를 수신하는 것, 또는 정보에 대한 요구를 수신하는 것 중 하나 이상일 수 있다. 이와 같이, 통신 상호작용은 일방향, 양방향, 또는 다방향일 수 있다. 몇몇 환경들에서, 통신 상호작용은 비교적 복잡하고 둘 이상의 네트워크 엘리먼트들일 수 있다. 예를 들어, 통신 상호작용은 피어-투-피어 네트워크에서 클라이언트 및 서버 또는 컴퓨터 디바이스들 사이의 "대화" 또는 일련의 관련된 통신들일 수 있고 - 각각의 네트워크 엘리먼트는 다른 것으로 및 다른 것으로부터 정보를 전송 및 수신한다. 어떤 형태의 통신 상호작용이 발생하든, 수반된 네트워크 엘리먼트들이 임의의 특정 형태를 취할 필요가 없다는 것이 주지된다. 네트워크 엘리먼트는 노드, 하드웨어의 피스, 소프트웨어, 펌웨어, 미들웨어, 컴퓨팅 시스템의 몇몇 다른 구성요소, 및/또는 이들의 몇몇 결합일 수 있다.
하이 레벨로부터, 본 개시물의 기술들을 통합하는 시스템은 사용자 머신 상에 잔류하는 클라이언트 프로그램 및 사용자로부터 멀리 떨어진 컴퓨터 디바이스 상에 잔류하는 서버 프로그램 같은 네트워크에서 상이한 컴퓨터 디바이스들에 있는 컴퓨터 프로그램들, 또는 네트워크의 다른 디바이스에서 하나의 프로그램과 통신하는 피어-투-피어 네트워크의 하나의 디바이스의 프로그램 사이의 통신들을 모니터하는 네트워크를 포함한다. 서버/클라이언트 아키텍쳐의 경우, 서버 프로그램은 허브 및 스포크(spoke) 또는 중앙 집중식 서버 구성으로 전개된 2-층(tier) 아키텍쳐의 일부일 수 있다. 서버 프로그램은 또한 보다 덜 중앙 집중식 모델에 사용될 수 있다. 예를 들어, 서버 프로그램은 서버 같은 기능을 수행하는 둘 이상의 클라이언트 프로그램들 중 하나로서 구현될 수 있다. 논의를 위해, 네트워크에서 다른 프로그램과 통신하는 프로그램은 여기서 피어 프로그램(peer program)이라 하고, 상기 피어 프로그램을 실행하는 디바이스는 피어(peer)라 한다.
그러나, 피어 프로그램은 구현되고, 컴퓨터 디바이스에서 통신 소켓 상태를 가리키는 상태 정보는 모니터되고 애플리케이션 공간에 저장된다. 일 실시예에서, 통신 소켓의 상태는 네트워크 디바이스에 유지되고 네트워크 디바이스에 대한 디바이스 구동기에 통신된다. 디바이스 구동기는 전용 애플리케이션 공간 메모리에 상 태 정보를 저장하는 애플리케이션 공간 내 인터페이스 프로그램에 메시지들을 전송할 수 있다. 통신 소켓 상태를 요구하는 피어 프로그램으로부터의 질문에 응답하여, 인터페이스 프로그램은 전용 메모리로부터 상태 정보를 검색한다. 상태 정보 및 인터페이스 프로그램이 애플리케이션 공간에 배치되기 때문에, 소켓 상태를 결정하기 위해 요구된 커널 변이부들(kernel transitions)의 수는 감소되어, 통신 효율성은 개선된다.
다른 실시예에서, 네트워크 디바이스용 디바이스 구동기는 애플리케이션 공간 및 커널 공간 사이에 공유된 메모리에 소켓 상태 정보를 저장할 수 있다. 인터페이스 프로그램은 피어 프로그램으로부터의 상태 질문에 응답하여 공유된 메모리 내 저장된 상태 정보에 액세스할 수 있다.
다른 실시예에서, 상태 정보는 네트워크 디바이스보다 디바이스 구동기 자체에 유지될 수 있다. 디바이스 구동기는 메시지들을 통해, 또는 공유된 메모리의 정보를 저장함으로써 인터페이스 프로그램에 상태 정보를 통신할 수 있다.
상기된 바와 같이, 이 출원은 2007년 1월 26일 출원된 미국 예비 출원 60/886,677의 우선권을 주장한다. 예비 출원은 여기에 개시된 기술들의 특정 구현들을 부분적으로 기술하고 하기 첨부된 청구항들의 범위를 제한하지 않는다. 예비 출원의 전체는 참조로써 여기에 통합된다.
도 1은 컴퓨터 디바이스(102)를 실행하는 피어 프로그램(103), 네트워크 디바이스(104)를 포함하는 네트워크(106), 및 컴퓨터 디바이스(108)에서 실행하는 피어 프로그램(107)을 포함하는 네트워크 장치의 특정 실시예의 블록도이다. 네트워 크 디바이스(104)의 실제 위치는 다른 전개들에서 변형될 수 있다. 예를 들어, 네트워크 디바이스는 네트워크 카드, 처리기 동글(dongle), "마더보드상 LAN" 처리기, 등등 같은 컴퓨터 디바이스(102)에서 구현될 수 있다. 도 1의 실시예에서, 네트워크(106)는 인터넷 같은 광역 네트워크, 로컬 영역 네트워크, 또는 몇몇 다른 적당한 네트워크 또는 버스일 수 있다. 장치(100) 내에서, 컴퓨터 디바이스들(102 및 108)은 유사하거나 다를 수 있다. 예를 들어, 컴퓨터 디바이스(108)는 로컬 사용자 컴퓨터, 랩톱, 셀룰러 전화, 게이밍 콘솔, 워크스테이션, 또는 몇몇 다른 적당한 디바이스일 수 있고, 호스트 컴퓨터 디바이스(102)는 피어 컴퓨터, 워크스테이션, 컴퓨터 디바이스(108)의 피어, 또는 몇몇 다른 적당한 디바이스일 수 있다.
동작시, 피어 프로그램(107) 및 피어 프로그램(103)은 네트워크(106), 및 특히 네트워크 디바이스(104)를 통해 서로 통신할 수 있다. 일 실시예에서, 피어 프로그램(107) 및 피어 프로그램(103)은 온라인 경험을 컴퓨터 디바이스(108)의 사용자에게 제공하기 위하여 함께 동작할 수 있다. 동작시, 피어 프로그램(107)은 컴퓨터 디바이스(102)로부터 콘텐트를 수신할 수 있고 콘텐트가 제공되도록 하거나 피어 프로그램(103)에서 데이터를 변형하기 위한 노력으로 피어 프로그램(103)으로 요구들을 때때로 전송할 수 있다. 도시된 바와 같이, 도 1은 피어 프로그램을 실행하는 두 개의 디바이스들만을 포함한다. 그러나, 실제로, 피어 프로그램(103) 및 컴퓨터 디바이스(102)는 동일한 시간에 또는 근처에 많은 피어들에 콘텐트를 제공할 수 있다.
동작시, 피어 프로그램(107)은 정보를 업데이트하고, 임무들이 수행되는 것 을 요구하고, 등등을 위해 피어 프로그램(103)에 통신들 또는 메시지들을 전송할 수 있다. 예를 들어, 피어 프로그램(103)은 온라인 뱅킹 애플리케이션일 수 있고 피어 프로그램(107)은 웹 브라우저일 수 있다. 피어 프로그램(107)은 계정 정보를 보고, 트랜잭션들을 수행하고, 등등을 위해 피어 프로그램(103)으로 요구들을 전송할 수 있다. 응답하여, 피어 프로그램(103)은 요구된 임무들이 인증되었는지를 결정하고 그렇다면 임무들을 실행한다. 다른 실시예에서, 피어 프로그램(103)은 서버 게임 프로그램이고 피어 프로그램(107)은 온라인 게이밍 경험을 사용자에게 제공하는 피어-측 게임 프로그램이다. 다른 실시예에서, 피어 프로그램(103) 및 피어 프로그램(107)은 각각의 컴퓨터 디바이스(102 및 106)에서 둘 이상의 플레이어들에 게임 시뮬레이션 경험을 제공하기 위해 함께 동작한다.
피어 프로그램(103)과 통신하기 위하여, 피어 프로그램(107)은 네트워크(106)를 통해, 및 특히 네트워크 디바이스(104)를 통해 메시지들을 전송한다. 각각의 메시지는 컴퓨터 디바이스(102)의 위치를 가리키는 어드레스 정보 같은 정보를 포함한다. 각각의 메시지는 메시지가 연관된 컴퓨터 디바이스(102)의 타겟 포트를 가리키는 포트 정보를 포함한다.
네트워크 디바이스(104)는 통신 소켓(115) 같은 통신 소켓들을 통해 네트워크로부터 컴퓨터 디바이스(102)로 메시지들을 전달한다. 각각의 통신 소켓은 하나 이상의 통신 포트들과 연관될 수 있다. 도시된 실시예에서, 통신 소켓(115)은 포트들(110 및 125)과 연관된다. 실시예에서, 각각의 포트는 컴퓨터 디바이스(102)에서 다른 프로그램 또는 통신 기능과 연관될 수 있다.
컴퓨터 디바이스(102)의 각각의 통신 소켓은 소켓 상태를 가리키는 소켓 상태 정보와 연관된다. 예를 들어, 상태 정보는 소켓이 "비지(busy)"인지(즉, 정보가 현재 소켓에서 전송되는지 수신되는지) 또는 "이용 가능한지"(즉, 소켓이 정보를 전송하거나 수신할 수 있는지)를 가리킬 수 있다. 특정 소켓의 상태를 결정하기 위해, 컴퓨터 디바이스(102)에서의 프로그램들은 소켓과 연관된 상태 정보를 요청할 수 있다. 이것은 프로그램으로 하여금 통신 흐름들을 관리하게 한다. 예시를 위하여, 피어 프로그램(103)은 소켓(115)을 통해 피어 프로그램(107)과 통신할 수 있다. 메시지를 전송하기 전에, 피어 프로그램(103)은 컴퓨터 디바이스(102)로부터 소켓(115)의 소켓 상태를 요구할 수 있다. 소켓 상태가 비지이면, 피어 프로그램(103)은 메시지를 전송하고자 기다릴 수 있다. 소켓 상태가 소켓을 이용할 수 있다는 것을 가리키면, 피어 프로그램(103)은 메시지를 전송할 수 있다.
도 1의 도시된 실시예에서, 네트워크 디바이스(104)는 소켓(115)에 대한 소켓 상태 정보(155)를 유지한다. 특히, 소켓(115)과 연관된 통신들이 네트워크 디바이스(104)를 통해 흐르기 때문에, 디바이스는 소켓의 상태를 결정할 수 있다. 예를 들어, 통신들이 소켓(115)을 통해 전송되었는지 수신되었는지 여부를 바탕으로, 네트워크 디바이스는 소켓(115)이 비지한지 이용 가능한지를 가리키기 위해 상태 정보(155)를 업데이트한다. 상태 정보(155)는 또한 에러 상태(예를 들어, 소켓을 통한 통신들이 에러를 경험하는지, 소켓 자체와 연관된 에러가 존재하는지), 소켓 이용 가능성(예를 들어, 소켓이 데이터를 전송 또는 수신하기 위해 이용 가능한지), 데이터 이용 가능성(예를 들어, 데이터가 소켓을 통해 전송 또는 수신되도록 이용 가능한지), 소켓의 접속 상태(예를 들어, 소켓이 통신들을 위해 가상으로 접속되거나 분리되는 것을 포함하여 다른 디바이스에 접속되는지 분리되는지), 소켓과 연관된 통신들이 암호화되는지, 소켓들과 연관된 통신들이 인증되었는지, 등등을 포함하는 소켓의 보안 상태, 방화벽 상태들(예를 들어 소켓의 방화벽이 활성화되는지, 소켓이 방화벽 통과를 위해 활성화되었는지) 등과 같은 소켓(115)에 대한 다른 상태 정보를 포함할 수 있다. 상태 정보(155)는 예를 들어 대역폭 정보(예를 들어, 최소, 최대, 또는 평균 대역폭, 현재 대역폭 정보), 레이턴시 정보(예를 들어, 최소, 최대 또는 평균 레이턴시), 통신들에 대한 왕복 시간, 전송된 데이터 양, 수신된 데이터 양, 및 등등을 포함하는 소켓(115)을 통해 통신된 데이터와 연관된 정보를 또한 포함할 수 있다. 게다가, 상태 정보(155)는 버퍼 오버플로우 및 언더플로우 상태, 전송되도록 기다리는 데이터 양, 수신되도록 기다리는 데이터 양, 및 등등을 포함하는 소켓(115)을 통한 통신과 연관된 버퍼들과 관련한 정보를 포함할 수 있다.
네트워크 디바이스(104)는 디바이스 구동기(105)를 통해 컴퓨터 디바이스(102)로 상태 정보(155)를 통신할 수 있다. 일 실시예에서, 디바이스 구동기(105)는 네트워크 디바이스(104)용 디바이스 구동기이다. 따라서, 디바이스 구동기(105)는 네트워크 디바이스(104)의 기능들 및 세팅들뿐 아니라 네트워크 디바이스(104) 및 컴퓨터 디바이스(102) 사이의 상호작용을 제어할 수 있다.
다른 실시예에서, 소켓 상태 정보(155)는 디바이스 구동기(105)에 유지될 수 있다. 이 실시예에서, 디바이스 구동기(105)는 피어 프로그램(103), 및 네트워크 디바이스(104) 같은 컴퓨터 디바이스(102)에서의 프로그램들 사이의 통신들을 제어한다. 따라서, 소켓(115)을 통하여 전송 및 수신된 통신은 디바이스 구동기(105)에 의해 제어되어, 구동기로 하여금 소켓 상태 정보(155)를 유지 및 업데이트하게 한다.
소켓 상태 정보(155)를 수신한 것에 응답하여, 또는 상태 정보(상태 정보가 디바이스 구동기(105)에 유지되면)의 업데이트에 응답하여, 디바이스 구동기(105)는 컴퓨터 디바이스(102)의 애플리케이션 공간으로 정보를 통신한다. 이것은 도 2 및 도 3을 참조하여 보다 잘 이해된다.
도 2는 도 1의 컴퓨터 디바이스(102)에 대응하는 컴퓨터 디바이스(202)의 특정 실시예의 블록도를 도시한다. 컴퓨터 디바이스(202)는 애플리케이션 공간(220) 및 커널 공간(230)을 포함한다. 여기에 사용된 바와 같이, 용어 커널 공간은 컴퓨터 디바이스(202)에서 오퍼레이팅 시스템의 커널에 의해서만 통상적으로 액세스할 수 있는 메모리 어드레스 공간이라 한다. 컴퓨터 디바이스(202)에서 실행하는 애플리케이션들은 통상적으로 직접 커널 공간에 액세스할 수 없고, 대신 오퍼레이팅 시스템 커널로부터의 커널 공간에 저장된 정보를 요구하여야 한다. 애플리케이션 공간은 컴퓨터 디바이스(202)에서 애플리케이션들에 의해 액세스할 수 있는 메모리 어드레스 공간을 말한다. 애플리케이션들은 애플리케이션 공간(220)에 대한 액세스들이 통상적으로 커널을 통하여 수행되지 않기 때문에, 커널 공간(230)에 저장된 정보보다 빠르게 애플리케이션 공간(220)에 저장된 정보를 액세스할 수 있다. 커널 공간(230) 및 애플리케이션 공간(220) 둘다는 가상 메모리 어드레스 공간들일 수 있다는 것이 주의된다.
도시된 바와 같이, 애플리케이션 공간(220)은 피어 프로그램(203), 인터페이스 프로그램(208), 및 전용 메모리(225)를 포함한다. 전용 메모리(255)는 애플리케이션 공간(220)에 전용이고 통상적으로 커널 공간(230)에서 실행하는 프로그램들에 의해 직접적으로 액세스되지 않는다. 커널 공간(230)은 도 1의 디바이스 구동기(105)에 대응하는 네트워크 스택(235) 및 디바이스 구동기(205)를 포함한다.
동작시, 네트워크 스택(235)은 도 1의 소켓(115)에 대응하는 소켓(215)을 통해 네트워크(106)로부터 수신된 메시지들 및 다른 정보를 저장하기 위해 구성된다. 도시된 바와 같이, 소켓(215)은 포트들(210 및 225)을 포함한다. 도시된 실시예에서, 포트(225)는 피어 프로그램(203)과 연관되고, 포트(210)는 다른 프로그램(도시되지 않음)과 연관된다.
네트워크 스택(235)은 컴퓨터 디바이스(202)에서 실행하는 애플리케이션들로부터 요구들에 응답하여 커널에 의해 액세스된다. 커널은 네트워크 스택이 요구 애플리케이션에 대한 데이터를 저장하는지를 결정할 수 있고, 그렇다면 데이터를 제공한다. 커널이 통상적으로 네트워크 스택(235)에 액세스하는 것 외에 다수의 임무들을 실행하기 때문에, 네트워크 스택에 액세스는 통상적으로 애플리케이션 공간(220)에 저장된 데이터에 대한 액세스보다 많은 시간이 걸린다.
디바이스 구동기(205)는 소켓 상태 정보(155)를 바탕으로 네트워크 디바이스(104)로부터 소켓 상태 정보를 수신한다. 상태 정보를 수신한 것에 응답하여, 디바이스 구동기(105)는 인터페이스 프로그램(208)에 메시지를 전송한다. 실시예 에서, 메시지는 소켓 상태 정보를 포함한다. 메시지를 수신한 것에 응답하여, 인터페이스 프로그램(208)은 전용 메모리(225)에 소켓 상태 정보(255)를 저장한다.
소켓(215) 상태를 결정하기 위하여, 피어 프로그램(203)은 인터페이스 프로그램(208)에 상태 질문을 전송할 수 있다. 응답하여, 통상적인 시스템들에서처럼 커널 공간(230)으로부터 상태 정보를 요구하기보다, 인터페이스 프로그램은 저장된 소켓 상태 정보(255)에 액세스한다. 이것은 인터페이스 프로그램(208)으로 하여금 상태 정보에 보다 빠르게 액세스하게 하여, 통신 효율성을 개선한다. 인터페이스 프로그램(208)은 정보를 바탕으로 통신을 관리하는 피어 프로그램(203)으로 소켓 상태 정보(255)를 제공한다. 따라서, 소켓(215)이 이용 가능하다는 것을 소켓 상태 정보(255)가 가리키면, 피어 프로그램(203)은 소켓을 통해 메시지를 전송할 수 있다. 대조하여, 소켓이 비지하다는 것을 소켓 상태 정보(255)가 가리키면, 피어 프로그램(203)은 소켓이 이용 가능할 때까지 메시지를 전송하기보다 다른 임무들을 수행할 수 있다.
도 3을 참조하여, 도 1의 컴퓨터 디바이스(102)에 대응하는 컴퓨터 디바이스(302)의 특정 실시예의 블록도가 도시된다. 컴퓨터 디바이스(302)는 인터페이스 프로그램(308) 및 피어 프로그램(303)을 포함하는 애플리케이션 공간(320)을 포함한다. 컴퓨터 디바이스(302)는 디바이스 구동기(305) 및 네트워크 스택(335)을 포함하는 커널 공간(330)을 또한 포함할 수 있다. 게다가, 컴퓨터 디바이스(302)는 통신 포트들(310 및 325)을 포함하는 통신 소켓(315)을 포함한다. 게다가, 컴퓨터 디바이스(302)는 공유된 메모리(345)를 포함한다. 공유된 메모리(345)는 애플리케 이션 공간(320)에서 실행하는 애플리케이션들 및 커널 공간(330)에서 실행하는 기능들에 의해 액세스될 수 있는 메모리 공간이다. 따라서, 공유된 메모리(330)는 커널 공간(330)에서 실행하는 기능들 및 애플리케이션 공간(320)에서 실행하는 애플리케이션들에 의해 어드레스할 수 있는 가상 메모리 부분일 수 있다.
동작시, 디바이스 구동기(305)는 소켓(215) 상태를 가리키는 정보를 네트워크 디바이스(104)로부터 수신한다. 응답하여 디바이스 구동기(305)는 공유된 메모리(330) 내에 소켓 상태 정보(355)를 저장한다. 소켓 상태 정보(355)는 소켓이 이용 가능한지 또는 비지한지와 같은 소켓(215)의 상태를 가리킨다.
소켓(315) 상태를 결정하기 위하여, 피어 프로그램(303)은 인터페이스 프로그램(308)에 상태 질문을 전송할 수 있다. 응답하여, 인터페이스 프로그램(308)은 공유된 메모리(330)에 저장된 소켓 상태 정보(355)에 액세스한다. 이것은 인터페이스 프로그램(308)으로 하여금 커널 공간(330)을 통하여 정보를 액세스하는 것보다 빠르게 상태 정보(355)에 액세스하게 하여, 통신 효율성을 개선한다. 인터페이스 프로그램(308)은 정보를 바탕으로 통신을 관리하는 소켓 상태 정보(355)를 피어 프로그램(303)에 제공한다. 따라서, 소켓(315)이 이용 가능하다는 것을 소켓 상태 정보(355)가 가리키면, 피어 프로그램(303)은 소켓을 통해 메시지를 전송할 수 있다. 대조하여, 소켓이 비지하다는 것을 소켓 상태 정보(355)가 가리키면, 피어 프로그램(303)은 소켓이 이용 가능할 때까지 메시지를 전송하기보다 다른 임무들을 수행할 수 있다.
도 4를 참조하여, 네트워크 디바이스(102)에 대응하는 컴퓨터 디바이스(402) 의 특정 실시예의 블록도가 도시된다. 컴퓨터 디바이스(402)는 처리기(470) 및 메모리(460)를 포함한다. 메모리(460)는 처리기(470)에 액세스할 수 있다. 처리기(470)는 마이크로프로세서, 마이크로제어기, 및 등등일 수 있다. 메모리(460)는 랜덤 액세스 메모리(RAM) 같은 휘발성 메모리, 또는 하드 디스크 또는 플래시 메모리 같은 비휘발성 메모리일 수 있는 컴퓨터 판독 가능 매체이다.
메모리(560)는 인터페이스 프로그램(408), 디바이스 구동기(405), 및 오퍼레이팅 시스템(407)을 저장한다. 인터페이스 프로그램(408), 디바이스 드라이버(405), 및 오퍼레이팅 시스템(407)은 여기에 기술된 하나 이상의 방법들을 실행하기 위하여 처리기(470)를 조작하기 위한 명령들을 포함한다. 애플리케이션들 같은 다른 프로그램들은 기술된 방법들을 실행하기 위하여 처리기를 조작하기 위하여 메모리(460)에 저장될 수 있다. 네트워크 디바이스(104)는 여기에 기술된 하나 이상의 방법들을 실행하기 위하여 처리기를 조작하도록 하나 이상의 프로그램들을 저장하기 위한 메모리를 포함하는 컴퓨터 디바이스(402)에 유사하게 구성될 수 있다.
상기된 주제는 제한하지 않고 도시하기 위한 것이고, 첨부된 청구항들은 본 발명의 사상 및 범위 내에 속하는 모든 상기 변형들, 개선들, 및 다른 실시예들을 커버하고자 한다. 따라서, 법에 의해 허용되는 최대 범위까지, 본 발명의 범위는 다음 청구항들 및 등가물들의 가장 넓은 허용 가능한 해석에 의해 결정되고, 상기 상세한 설명에 의해 제한 또는 한정되지 않는다.

Claims (20)

  1. 데이터 처리 디바이스에서의 통신 소켓의 상태를 가리키는 제 1 정보를 네트워크 디바이스로부터의 상기 데이터 처리 디바이스에서 수신하는 단계; 및
    상기 제 1 정보 수신에 응답하여 상기 데이터 처리 디바이스의 애플리케이션 공간에 통신 소켓 상태 표시기를 저장하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 제 1 정보를 수신하는 단계는 상기 데이터 처리 디바이스의 디바이스 구동기에서 상기 제 1 정보를 수신하는 단계 및 상기 디바이스 구동기로부터 상기 애플리케이션 공간의 인터페이스 프로그램으로 메시지를 전송하는 단계를 포함하고,
    상기 표시기를 저장하는 단계는 상기 인터페이스 프로그램에서 상기 메시지 수신에 응답하여 상기 표시기를 저장하는 단계를 포함하는, 방법.
  3. 제 2 항에 있어서,
    상기 디바이스 구동기는 커널 공간에 배치되는, 방법.
  4. 제 1 항에 있어서,
    상기 제 1 정보를 수신하는 단계는 상기 데이터 처리 디바이스의 디바이스 구동에서 상기 제 1 정보를 수신하는 단계를 포함하고,
    상기 표시기를 저장하는 단계는 공유된 메모리에 상기 표시기를 저장하는 단계로서, 상기 공유된 메모리는 애플리케이션 공간의 프로그램 및 커널 공간의 기능에 의해 액세스할 수 있는, 상기 표시기 저장 단계를 포함하는, 방법.
  5. 제 1 항에 있어서,
    상기 통신 소켓 상태에 대한 요구를 수신하는 단계; 및
    상기 표시기를 바탕으로 상기 통신 소켓 상태를 결정하는 단계를 추가로 포함하는, 방법.
  6. 제 5 항에 있어서,
    상기 통신 소켓 상태를 결정하는 단계는 제 1 메모리 위치에 액세스하는 단계로서, 상기 제 1 메모리 위치는 커널 공간에 액세스할 수 없는, 상기 제 1 메모리 위치 액세스 단계를 포함하는, 방법.
  7. 제 5 항에 있어서,
    상기 통신 소켓 상태를 결정하는 단계는 제 1 메모리 위치에 액세스하는 단계로서, 상기 제 1 메모리 위치는 애플리케이션 공간의 프로그램 및 커널 공간의 기능에 의해 액세스할 수 있는, 상기 제 1 메모리 위치 액세스 단계를 포함하는, 방법.
  8. 제 1 항에 있어서,
    상기 통신 소켓 상태 표시기는 통신 데이터에 대한 상기 통신 소켓의 이용 가능성과 연관된 정보를 포함하는, 방법.
  9. 제 1 항에 있어서,
    상기 통신 소켓 상태 표시기는 상기 통신 소켓을 통해 통신된 데이터와 연관된 정보를 포함하는, 방법.
  10. 데이터 처리 디바이스에서의 통신 소켓 상태를 가리키는 제 1 정보를 상기 데이터 처리 디바이스의 디바이스 구동기에 유지하는 단계; 및
    상기 제 1 정보 변화 결정에 응답하여 상기 데이터 처리 디바이스의 애플리케이션 공간 내에 통신 소켓 상태 표시기를 저장하는 단계를 포함하는, 방법.
  11. 제 10 항에 있어서,
    상기 디바이스 구동기는 커널 공간에 배치되는, 방법.
  12. 제 10 항에 있어서,
    상기 표시기를 저장하는 단계는 제 1 메모리 위치에 상기 표시기를 저장하는 단계로서, 상기 제 1 메모리 위치는 커널 공간에 액세스할 수 없는, 상기 표시기 저장 단계를 포함하는, 방법.
  13. 제 10 항에 있어서,
    상기 표시기를 저장하는 단계는 제 1 메모리 위치에 상기 표시기를 저장하는 단계로서, 상기 제 1 메모리 위치는 애플리케이션 공간 및 커널 공간에 액세스할 수 있는, 상기 표시기 저장 단계를 포함하는, 방법.
  14. 처리기를 조작하기 위한 명령들을 포함하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능 매체로서, 상기 명령들은,
    데이터 처리 디바이스에서의 통신 소켓 상태를 가리키는 제 1 정보를 네트워크 디바이스로부터 상기 데이터 처리 디바이스에서 수신하고;
    상기 제 1 정보 수신에 응답하여 상기 데이터 처리 디바이스의 애플리케이션 공간에 상기 통신 소켓 상태의 표시기를 저장하기 위한 명령들을 포함하는, 컴퓨터 판독 가능 매체.
  15. 제 14 항에 있어서,
    상기 제 1 정보를 수신하기 위한 명령들은 상기 데이터 처리 디바이스의 디바이스 구동기에서 상기 제 1 정보를 수신하고 상기 디바이스 구동기로부터 상기 애플리케이션 공간의 인터페이스 프로그램으로 메시지를 전송하기 위한 명령들을 포함하고,
    상기 표시기를 저장하기 위한 명령들은 상기 인터페이스 프로그램에서 상기 메시지 수신에 응답하여 상기 표시기를 저장하기 위한 명령들을 포함하는, 컴퓨터 판독 가능 매체.
  16. 제 15 항에 있어서,
    상기 디바이스 구동기는 커널 공간에 배치되는, 컴퓨터 판독 가능 매체.
  17. 제 14 항에 있어서,
    상기 제 1 정보를 수신하기 위한 명령들은 상기 데이터 처리 디바이스의 디바이스 구동기에서 상기 제 1 정보를 수신하기 위한 명령들을 포함하고,
    상기 표시기를 저장하기 위한 명령들은 공유된 메모리에 상기 표시기를 저장하기 위한 명령들로서, 상기 공유된 메모리는 상기 애플리케이션 공간의 프로그램 및 커널 공간의 기능에 의해 액세스할 수 있는, 상기 공유된 메모리에 상기 표시기를 저장하기 위한 명령들을 포함하는, 컴퓨터 판독 가능 매체.
  18. 제 14 항에 있어서,
    상기 명령들은,
    상기 통신 소켓 상태에 대한 요구를 수신하고,
    상기 표시기를 바탕으로 상기 통신 소켓 상태를 결정하기 위한 명령들을 추가로 포함하는, 컴퓨터 판독 가능 매체.
  19. 제 18 항에 있어서,
    상기 통신 소켓 상태를 결정하기 위한 명령들은 제 1 메모리 위치에 액세스하기 위한 명령들로서, 상기 제 1 메모리 위치는 커널 공간에 액세스할 수 없는, 상기 제 1 메모리 위치에 액세스하기 위한 명령들을 포함하는, 컴퓨터 판독 가능 매체.
  20. 제 16 항에 있어서,
    상기 통신 소켓 상태를 결정하기 위한 명령들은 제 1 메모리 위치에 액세스하기 위한 명령들로서, 상기 제 1 메모리 위치는 애플리케이션 공간의 프로그램 및 상기 커널 공간의 기능에 의해 액세스할 수 있는, 상기 제 1 메모리 위치에 액세스하기 위한 명령들을 포함하는, 컴퓨터 판독 가능 매체.
KR1020097017799A 2007-01-26 2008-01-24 통신 소켓 상태 모니터링 시스템 및 방법들 KR101443939B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US88667707P 2007-01-26 2007-01-26
US60/886,677 2007-01-26
PCT/US2008/051881 WO2008091988A2 (en) 2007-01-26 2008-01-24 Communication socket state monitoring system and methods thereof

Publications (2)

Publication Number Publication Date
KR20090112733A true KR20090112733A (ko) 2009-10-28
KR101443939B1 KR101443939B1 (ko) 2014-09-23

Family

ID=39645157

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097017799A KR101443939B1 (ko) 2007-01-26 2008-01-24 통신 소켓 상태 모니터링 시스템 및 방법들

Country Status (4)

Country Link
US (1) US7908364B2 (ko)
EP (1) EP2115619B1 (ko)
KR (1) KR101443939B1 (ko)
WO (1) WO2008091988A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022225161A1 (ko) * 2021-04-19 2022-10-27 삼성전자주식회사 네트워크 상태 및 처리량의 모니터링에 기초하여 문제 발생시 회복 루틴을 수행하는 프로세서 및 이를 포함하는 전자 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10031782B2 (en) * 2012-06-26 2018-07-24 Juniper Networks, Inc. Distributed processing of network device tasks

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355371A (en) 1982-06-18 1994-10-11 International Business Machines Corp. Multicast communication tree creation and control method and apparatus
US5353412A (en) 1990-10-03 1994-10-04 Thinking Machines Corporation Partition control circuit for separately controlling message sending of nodes of tree-shaped routing network to divide the network into a number of partitions
US5647056A (en) * 1992-11-18 1997-07-08 Canon Information Systems, Inc. Method and apparatus for managing access to a networked peripheral
US5568612A (en) * 1992-11-18 1996-10-22 Canon Kabushiki Kaisha Method and apparatus for advertising services of two network servers from a single network node
JP3365705B2 (ja) 1995-05-24 2003-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散型データ処理システム
US6009458A (en) 1996-05-09 1999-12-28 3Do Company Networked computer game system with persistent playing objects
US5771287A (en) 1996-08-01 1998-06-23 Transcrypt International, Inc. Apparatus and method for secured control of feature set of a programmable device
US5890963A (en) 1996-09-30 1999-04-06 Yen; Wei System and method for maintaining continuous and progressive game play in a computer network
US6015348A (en) 1996-10-18 2000-01-18 Starwave Corporation Scalable game server architecture
JPH10222618A (ja) 1997-01-31 1998-08-21 Toshiba Corp Icカード及びicカード処理システム
JPH10314451A (ja) 1997-05-15 1998-12-02 Copcom Co Ltd ゲーム装置
US7249109B1 (en) 1997-07-15 2007-07-24 Silverbrook Research Pty Ltd Shielding manipulations of secret data
US7249108B1 (en) 1997-07-15 2007-07-24 Silverbrook Research Pty Ltd Validation protocol and system
US6314521B1 (en) 1997-11-26 2001-11-06 International Business Machines Corporation Secure configuration of a digital certificate for a printer or other network device
US6636901B2 (en) * 1998-01-30 2003-10-21 Object Technology Licensing Corp. Object-oriented resource lock and entry register
US6615218B2 (en) 1998-07-17 2003-09-02 Sun Microsystems, Inc. Database for executing policies for controlling devices on a network
US7003548B1 (en) 1999-03-29 2006-02-21 Gelco Corporation Method and apparatus for developing and checking technical configurations of a product
US6763371B1 (en) 1999-05-10 2004-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for collaborative communication in a communication network
US6625661B1 (en) 1999-06-21 2003-09-23 Kenneth G. Baldwin, Jr. Interactive entertainment system
FI113146B (fi) 1999-10-19 2004-02-27 Setec Oy Menetelmä autentikointiviestin käsittelemiseksi, puhelinjärjestelmä, autentikointikeskus, tilaajalaite ja SIM-kortti
US6810528B1 (en) 1999-12-03 2004-10-26 Sony Computer Entertainment America Inc. System and method for providing an on-line gaming experience through a CATV broadband network
JP2001246147A (ja) 1999-12-28 2001-09-11 Sega Corp 遊戯施設運営システム
US6941353B1 (en) 2000-06-29 2005-09-06 Auran Holdings Pty Ltd E-commerce system and method relating to program objects
US7406539B2 (en) 2000-10-17 2008-07-29 Avaya Technology Corp. Method and apparatus for performance and cost optimization in an internetwork
US20030177187A1 (en) 2000-11-27 2003-09-18 Butterfly.Net. Inc. Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications
US7046680B1 (en) 2000-11-28 2006-05-16 Mci, Inc. Network access system including a programmable access device having distributed service control
US6988196B2 (en) 2000-12-22 2006-01-17 Lenovo (Singapore) Pte Ltd Computer system and method for generating a digital certificate
US6908389B1 (en) 2001-03-07 2005-06-21 Nokia Corporation Predefined messages for wireless multiplayer gaming
US20020198932A1 (en) 2001-06-07 2002-12-26 Christopher Shaun Wagner System of server-client distributed computing using passive clients
US7000115B2 (en) 2001-06-19 2006-02-14 International Business Machines Corporation Method and apparatus for uniquely and authoritatively identifying tangible objects
US7200144B2 (en) 2001-10-18 2007-04-03 Qlogic, Corp. Router and methods using network addresses for virtualization
US7274702B2 (en) 2001-11-27 2007-09-25 4198638 Canada Inc. Programmable interconnect system for scalable router
KR100468534B1 (ko) * 2002-01-31 2005-01-27 주식회사 엑스넷 무선 통신을 이용한 실시간 컨벤션 이벤트 관리시스템
WO2003063989A1 (fr) 2002-02-01 2003-08-07 Aruze Corporation Systeme et procede d'execution d'un jeu
KR100958229B1 (ko) 2002-02-01 2010-05-17 파나소닉 주식회사 가치 정보 교환 시스템
US7535913B2 (en) * 2002-03-06 2009-05-19 Nvidia Corporation Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols
US7209449B2 (en) 2002-03-27 2007-04-24 Intel Corporation Systems and methods for updating routing and forwarding information
DE10218795B4 (de) 2002-04-22 2009-03-19 Deutscher Sparkassen Verlag Gmbh Verfahren zum Herstellen eines elektronischen Sicherheitsmoduls
US7065756B2 (en) 2002-08-22 2006-06-20 International Business Machines Corporation Optimization of portable operations in a client-server environment
TWI220713B (en) 2002-10-04 2004-09-01 Hon Hai Prec Ind Co Ltd System and method for synchronizing documents between multi-nodes
JP2004129156A (ja) 2002-10-07 2004-04-22 Ntt Docomo Inc 経路制御システム、経路制御装置、転送装置及び経路制御方法
US7117501B2 (en) * 2002-11-21 2006-10-03 International Business Machines Corporation Application-level access to kernel input/output state
JPWO2004073269A1 (ja) 2003-02-13 2006-06-01 富士通株式会社 伝送システム,配信経路制御装置,負荷情報収集装置および配信経路制御方法
JP4300832B2 (ja) 2003-03-14 2009-07-22 ソニー株式会社 データ処理装置、その方法およびそのプログラム
US7376121B2 (en) 2003-06-06 2008-05-20 Microsoft Corporation Method and system for global routing and bandwidth sharing
US6961852B2 (en) 2003-06-19 2005-11-01 International Business Machines Corporation System and method for authenticating software using hidden intermediate keys
EP1515507A1 (en) 2003-09-09 2005-03-16 Axalto S.A. Authentication in data communication
US6996070B2 (en) * 2003-12-05 2006-02-07 Alacritech, Inc. TCP/IP offload device with reduced sequential processing
US20050182966A1 (en) * 2004-02-17 2005-08-18 Duc Pham Secure interprocess communications binding system and methods
US20050240993A1 (en) * 2004-04-22 2005-10-27 Treadwell William S Methodology, system and computer readable medium for streams-based packet filtering
US7734829B2 (en) * 2004-06-09 2010-06-08 Emc Corporation Methods, systems, and computer program products for transparently controlling communications between network applications and a plurality of network communications protocol stacks using deferred protocol stack association
US7613813B2 (en) * 2004-09-10 2009-11-03 Cavium Networks, Inc. Method and apparatus for reducing host overhead in a socket server implementation
US20060075404A1 (en) * 2004-10-06 2006-04-06 Daniela Rosu Method and system for scheduling user-level I/O threads
JP4130653B2 (ja) 2004-12-20 2008-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 擬似公開鍵暗号方法及びシステム
AU2005321093A1 (en) 2004-12-31 2006-07-06 British Telecommunications Public Limited Company Method to run a connectionless network as a connection oriented network
GB0428553D0 (en) 2004-12-31 2005-02-09 British Telecomm Method PF operating a network
EP1861778B1 (en) * 2005-03-10 2017-06-21 Solarflare Communications Inc Data processing system
US8167722B2 (en) 2005-05-11 2012-05-01 Qualcomm Atheros, Inc Distributed processing system and method
US20060259632A1 (en) 2005-05-13 2006-11-16 Yahoo! Inc. Redirection and invitation for accessing an online service
US20070298879A1 (en) 2005-06-30 2007-12-27 Konami Digital Entertainment Co., Ltd. Game Device
US20070060373A1 (en) 2005-09-12 2007-03-15 Bigfoot Networks, Inc. Data communication system and methods
US8284663B2 (en) 2005-10-14 2012-10-09 Turbine, Inc. Selectively ordered protocol for unreliable channels
US20070101408A1 (en) 2005-10-31 2007-05-03 Nakhjiri Madjid F Method and apparatus for providing authorization material
US7551627B2 (en) 2005-11-18 2009-06-23 At&T Intellecutal Property I, L.P. Offloading routing functions from network routers
JP4125762B2 (ja) 2006-07-06 2008-07-30 株式会社スクウェア・エニックス オンラインビデオゲーム制御サーバ
US20080009337A1 (en) 2006-07-08 2008-01-10 Jackson Mark D Self-authenticating file system in an embedded gaming device
US8874780B2 (en) 2006-07-17 2014-10-28 Qualcomm Incorporated Data buffering and notification system and methods thereof
US7865717B2 (en) 2006-07-18 2011-01-04 Motorola, Inc. Method and apparatus for dynamic, seamless security in communication protocols
AU2007203533B2 (en) 2006-07-31 2009-11-19 Videobet Interactive Sweden AB Information updating management in a gaming system
JP2008043642A (ja) 2006-08-21 2008-02-28 Square Enix Co Ltd ネットワーク育成ゲームシステム、育成ゲーム用サーバ装置及び育成ゲーム用端末装置、キャラクタ表示方法、並びにプログラム及び記録媒体
US7769869B2 (en) * 2006-08-21 2010-08-03 Citrix Systems, Inc. Systems and methods of providing server initiated connections on a virtual private network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022225161A1 (ko) * 2021-04-19 2022-10-27 삼성전자주식회사 네트워크 상태 및 처리량의 모니터링에 기초하여 문제 발생시 회복 루틴을 수행하는 프로세서 및 이를 포함하는 전자 장치

Also Published As

Publication number Publication date
WO2008091988A3 (en) 2008-10-23
US7908364B2 (en) 2011-03-15
EP2115619B1 (en) 2014-08-06
US20080183861A1 (en) 2008-07-31
EP2115619A2 (en) 2009-11-11
KR101443939B1 (ko) 2014-09-23
WO2008091988A2 (en) 2008-07-31
EP2115619A4 (en) 2013-05-01

Similar Documents

Publication Publication Date Title
US8874780B2 (en) Data buffering and notification system and methods thereof
US10958717B2 (en) Hardware implemented load balancing
US9705752B2 (en) Reliably updating a messaging system
US7996525B2 (en) Systems and methods for dynamically provisioning cloud computing resources
US7872975B2 (en) File server pipelining with denial of service mitigation
JP2019212336A (ja) 分散キャッシュクラスタ管理
US10637960B2 (en) Method for bridging publish/subscribe brokers for guaranteed low-latency delivery
EP1908251A1 (en) Method and system for dynamically rebalancing client sessions within a cluster of servers connected to a network
JP6272190B2 (ja) 計算機システム、計算機、負荷分散方法及びそのプログラム
CN103370917A (zh) 消息处理方法及服务器
US10897506B2 (en) Managing port connections
JP2006260059A (ja) サーバ装置
US11444882B2 (en) Methods for dynamically controlling transmission control protocol push functionality and devices thereof
KR101443939B1 (ko) 통신 소켓 상태 모니터링 시스템 및 방법들
KR101432326B1 (ko) 호스트 가장 네트워크 디바이스 및 그의 방법
WO2007077514A2 (en) Transparent intellectual network storage device
CN116962446B (zh) 一种NVMe-oF链路动态管理方法及系统
KR101364927B1 (ko) 네트워크의 토렌트 트래픽 선별 차단 방법
KR20240074579A (ko) 응답정보를 기반으로 라우팅 관리를 하는 게이트웨이 장치 및 방법
EP2168052A1 (en) Data buffering and notification system and methods thereof
KR20090064366A (ko) 데이터 버퍼링 및 통지 시스템 및 그 방법들
Vallath et al. Tuning the Cluster Interconnect

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
N231 Notification of change of applicant
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: 20170629

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee