[go: up one dir, main page]

KR20030010590A - 지정된 이벤트를 식별하기 위한 이동국 애플리케이션용방법 및 장치 - Google Patents

지정된 이벤트를 식별하기 위한 이동국 애플리케이션용방법 및 장치 Download PDF

Info

Publication number
KR20030010590A
KR20030010590A KR1020027011854A KR20027011854A KR20030010590A KR 20030010590 A KR20030010590 A KR 20030010590A KR 1020027011854 A KR1020027011854 A KR 1020027011854A KR 20027011854 A KR20027011854 A KR 20027011854A KR 20030010590 A KR20030010590 A KR 20030010590A
Authority
KR
South Korea
Prior art keywords
mobile station
station application
event
application interface
enabled
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020027011854A
Other languages
English (en)
Other versions
KR100778605B1 (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 KR20030010590A publication Critical patent/KR20030010590A/ko
Application granted granted Critical
Publication of KR100778605B1 publication Critical patent/KR100778605B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • 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]
    • 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
    • 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/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 무선 통신 시스템에서 지정된 이벤트를 식별하는 이동국 애플리케이션용 방법 및 장치에 관한 것이다. 본 발명은 통신 네트워크와 통신하는 이동국 통신 프로토콜 스택과 이동국 애플리케이션 사이의 통신을 용이하게 하는 애플리케이션 프로그램 인터페이스(API)를 포함한다. API는 그 상태에 기초하여 지정된 이벤트중 적어도 하나를 인에이블시킨다. 이후, 이동국 애플리케이션은 인에이블된 지정 이벤트를 식별한다.

Description

지정된 이벤트를 식별하기 위한 이동국 애플리케이션용 방법 및 장치{METHOD AND APPARATUS FOR A MOBILE STATION APPLICATION TO IDENTIFY SPECIFIED EVENTS}
A. 무선 통신
인터넷 가입자의 전례없는 증가외에 무선 통신 및 컴퓨터 관련 기술에 있어서의 최근의 혁명은 모바일 컴퓨팅을 위한 방법을 용이하게 하였다. 실제로, 모바일 컴퓨팅의 인기는 모바일 사용자에게 더 많은 지원을 제공하기 위하여 현 인터넷 하부구조의 수요를 증가시켰다. 이러한 하부구조의 활력소는 국부 및 광역 네트워크(LAN 및 WAN) 사이의 패킷(데이터그램)의 어드레싱 및 라우팅을 포함하는 여러 서비스를 제공하는 패킷지향의 인터넷 프로토콜(IP)에 근거한다. IP 프로토콜은 "INTERNET PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION"으로 명명된 1981년 9월자 RFC 791(Request For Comment 791)에 정의되어 있다.
IP 프로토콜은 데이터를 전송을 위한 IP 패킷으로 캡슐화시키는 네트워크층 프로토콜이다. 어드레싱 및 라우팅 정보는 패킷의 헤더에 첨부된다. IP 헤더는전송 및 수신 호스트를 식별하는 32비트 어드레스를 포함한다. 이 어드레스는 의도된 어드레스에서 패킷이 그 최후 목적지쪽으로 향하는 네트워크 경로를 선택하기 위하여 중간 라우터에 의하여 사용된다. 그러므로 IP 프로토콜은 임의의 인터넷 노드에서 생성된 패킷이 임의의 다른 인터넷 노드에 라우트될 수 있도록 한다. 한편, 전송 제어 프로토콜(TCP) 또는 사용자 데이터그램 프로토콜(UDP)중 하나를 포함하는 전송층은 특정 애플리케이션에 어드레싱하는데 사용된다.
현재의 경향은 모바일 사용자가 셀룰러 또는 휴대용 전화기와 같은 무선 통신 장치를 인터넷에 액세스하는 것과 관련하여 랩탑 또는 팜탑 컴퓨터와 같은 모바일 컴퓨터를 사용하는 것이다. 즉, 사용자가 통상적으로 자신의 컴퓨터를 육상 기반의 네트워크에 접속하기 위하여 "유선" 통신 장치를 사용하는 것과 마찬가지로, 모바일 사용자는 자신의 모바일 터미널을 상기 네트워크에 접속하기 위하여 통상 "이동국"(MS)로 참조되는 무선 통신장치를 사용할 것이다. 본 명세서에 사용된 바와 같이, 이동국, 즉 MS는 공용 무선 라디오 네트워크의 임의의 가입자국을 조사할 것이다.
도 1(종래 기술)은 MS(110)가 기지국/이동 스위칭 센터(BS/MSC;106)를 통하여 상호작용기능부(IWF;108)와 통신하는 무선 데이터 통신 시스템의 고차 블록도를 도시한다. IWF(180)는 인터넷에 대한 액세스 포인트의 역할을 한다. IWF(108)는 공지된 통상의 무선 기지국인 BS/MSC(106)에 결합되고 종종 공동으로 위치한다. 무선 데이터 통신 시스템에 어드레싱하는 다른 표준 프로토콜은 "WIRELESS IP NETWORK STANDARD"로 명명되고 1999년 12월에 공개된 3세대 파트너쉽 프로젝트2("3GPP2")이다. 3세대 무선 IP 네트워크 표준은 IWF(108)와 같이 기능하는 패킷 데이터 서빙 노드("PDSN")를 포함한다.
MS(110) 및 IWF(108) 사이의 데이터 통신을 어드레싱하는 여러 프로토콜이 존재한다. 예를 들어, "MOBILE STATION-BASE STATION COMPATIBILITY STANDARD FOR DUAL-MODE WIDEBAND SPREAD SPECTRUM CELLULAR SYSTEM"으로 명명되고 1993년 7월에 공개된 무선통신 산업 협의회(TIA)/전자 산업 협의회(EIA) 잠정 표준 IS-95는 광대역 확산 스펙트럼 무선 통신 시스템에 관한 표준을 제공한다. 게다가 "DATA SERVICE OPTIONS FOR WIDEBAND SPREAD SPECTRUM SYSTEMS: PACKET DATA SERVICES로 명명되고 1998년 2월에 공개된 표준 TIA/EIA IS-707.5는 TIA/EIA IS-95 시스템상의 패킷 데이터 전송 능력의 지원에 대한 필요조건을 정의하며 BS/MSC(106)를 통하여 MS(110) 및 IWF(108) 사이의 통신에 사용될 수 있는 패킷 데이터 베어러 서비스를 정의한다. 또한, 1999년 3월에 둘 다 공개되고 "DATA SERVICE OPTIONS FOR SPREAD SPECTRUM SYSTEMS: PACKET DATA SERVICES"로 명명된 TIA/EIA IS-707-A.5 표준 및 "DATA SERVICE OPTIONS FOR SPREAD SPECTRUM SYSTEMS: HIGH-SPEED PACKET DATA SERVICES"로 명명된 TIA/EIA IS-707-A.9는 TIA/EIA IS-95 시스템에서의 패킷 데이터 전송 지원을 위한 요구조건을 정의한다. 또한, MS(110) 및 IWF(108) 사이의 통신을 어드레싱하는 다른 표준 프로토콜은 1999년 7월에 공개된 "INTRODUCTION TO CDMA 2000 STANDARDS FOR SPREAD SPECTRUM SYSTEMS"으로 명명된 TIA/EIA IS-2000이다.
IS-707.5는 MS(110) 및 BS/MSC(106)(Um 인터페이스) 사이와 BS/MSC(106) 및IWF(108)(L 인터페이스) 사이의 통신 프로토콜 옵션 모델을 소개한다. 예컨대, 릴레이 모델은 점대점 프로토콜(PPP) 링크가 MS(110) 및 IWF(108) 사이의 Um 인터페이스상에 존재하는 환경을 나타낸다. PPP 프로토콜은 "THE POINT-TO-POINT PROTOCOL(PPP)"로 명명된 RFC 1661(Request for Comments 1661)에 상세하게 개시되어 있다.
도 2(종래 기술)는 IS-707.5 릴레이 모델의 각각의 엔티티에 존재하는 프로토콜 스택의 도면이다. 도면의 가장 좌측에는 MS(110)에서 가동중인 프로토콜층을 도시하고 통상의 수직 형식으로 도시된 통신 프로토콜 스택이 존재한다. MS(110) 프로토콜 스택은 Um 인터페이스상에서 BS/MSC(106) 프로토콜 스택에 논리적으로 접속된 것으로 도시되어 있다. BS/MSC(106) 프로토콜 스택은 L 인터페이스상에서 IWF(108)에 논리적으로 접속된 것으로 도시되어 있다.
도 2에 도시된 동작은 다음과 같다: MS(110)에서 가동중인 애플리케이션 프로그램과 같은 상위층 프로토콜(200) 엔티티는 인터넷에서 데이터를 전송하기 위한 필요성을 가진다. 대표적인 애플리케이션은 웹 브라우저 프로그램(예컨대, Netscape NavigatorTM, Microsoft Internet ExplorerTM)일 수 있다. 웹 브라우저는 하이퍼링크 "http://www.Qualcomm.com/"과 같은 URL(Universal Resource Locator)을 요청한다. 상위층 프로토콜(200)의 도메인명 시스템(DNS) 프로토콜은 인터넷의 어드레스로 이름을 번역하는 도메인명 해결책을 사용하여 32비트 숫자 IP 어드레스로 텍스트형 호스트명www.Qualcomm.com으로 번역한다. 하이퍼텍스트 전송 프로토콜(HTTP)은 상위층 프로토콜(200)이며, 요청된 URL을 위한 GET 메세지를 구성하며, TCP가 HTTP 동작을 위하여 메세지를 전송하는데 사용된다. 전송층(202)은 HTTP 동작을 애플리케이션에 라우팅하기 위하여 목적지 포트로서 공지된 포트(80)를 사용한다.
전송층 프로토콜(202)인 TCP 프로토콜은 DNS에 의하여 명시된 IP 어드레스로의 접속을 오픈하고 애플리케이션 레벨 HTTP GET 메세지를 전송한다. TCP 프로토콜은 IP 프로토콜이 메세지 전송을 위하여 사용될 것이라는 것을 명시한다. 네트워크층 프로토콜(204)인 IP 프로토콜은 명시된 IP 어드레스에 TCP 패킷을 전송한다. 링크층 프로토콜(206)인 PPP는 IP 패킷을 인코딩하고 이를 릴레이층 프로토콜(208)에 전송한다. 릴레이층 프로토콜(208)의 예는 1997년 10월에 공개되고 "INTERFACE BETWEEN DATA TERMINAL EQUIPMENT AND DATA CIRCUIT TERMINATING EQUIPMENT EMPLOYING SERIAL BINARY DATA INTERCHANGE"로 명시된 예시 TIA/EIA-232F 표준일 수 있다. 다른 표준 또는 공지된 프로토콜이 층을 이동하는 전송을 명시하는데 사용될 수 있다. 예컨대, 다른 응용가능 표준은 1998년 9월에 공개된 "UNIVERSAL SERIAL BUS(USB) SPECIFICATION, Revision 1.1" 및 1999년 7월에 공개된 "BLUETOOTH SPECIFICATION VERSION 1.0A CORE"를 포함할 수 있다. 끝으로, 릴레이층 프로토콜(208)은 PPP 패킷을 무선 링크 프로토콜(RLP;210)로 통과시킨 후, Um 인터페이스를 거쳐 BS/MSC(106)으로 전송하기 위하여 IS-95 프로토콜(212)로 통과시킨다. RLP 프로토콜(210)은 1998년 2월에 공개되고 "DATA SERVICE OPTIONS FOR WIDEBAND SPREAD SPECTRUM SYSTEMS: RADIO LINK PROTOCOL"로 명명된 IS-707.2표준에 명시되어 있으며, IS-95 프로토콜은 상술한 IS-95 표준에 명시되어 있다.
BS/MSC(106)에서의 상보적인 릴레이층 프로토콜(220)은 Um 인터페이스를 거쳐 IS-95층(218) 및 RLP층(216)에 의하여 PPP 패킷을 수신한다. 릴레이층 프로토콜(220)은 이를 L 인터페이스를 거쳐 IWF(108)상의 릴레이층 프로토콜(228)로 통과시킨다. IWF(108)상의 PPP 프로토콜 링크층(226)은 릴레이층 프로토콜(228)로부터 PPP 패킷을 수신하고 MS(110) 및 IWF(108) 사이의 PPP 접속을 종결시킨다. 패킷은 최종 라우팅을 위하여 IP 패킷 헤더를 검사하도록 PPP층(226)으로부터 IWF(108)상의 IP층(224)으로 통과되며, 상기 시나리오는www.Qualcomm.com에 존재한다.
MS(110)에 의하여 생성된 IP 패킷의 궁극적인 목적지가 IWF(108)가 아닐 경우, 패킷은 네트워크층 프로토콜(224) 및 링크층 프로토콜(225)을 통하여 인터넷 상의 다음 라우터(도시하지 않음)로 포워딩된다. 이 방식에서, MS(110)으로부터의 IP 패킷은 IS-707.5 표준 릴레이 모델에 따라 BS/MSC(106) 및 IWF(108)을 통하여 인터넷의 최종 목적지로 전달된다.
MS(110) 패킷이 그 목적지에 도달하기 전에, 데이터 링크 접속이 가장 먼저 설정되어야 한다. RFC(1661)에 명시된 바와 같이, 이것은 데이터 링크 접속을 설정, 구성 및 테스트하기 위하여 각각의 점대점 링크(즉, PPP 프로토콜(206,226))의 끝이 가장 먼저 PPP 링크 제어 프로토콜(LCP) 패킷을 전송할 필요가 있다. 링크가 LCP에 의하여 설정된 후, PPP 프로토콜(206)은 이후 네트워크층 프로토콜(204,224)을 구성하도록 네트워크 제어 프로토콜(NCP) 패킷을 전송할 것이다. PPP 링크의 IP를 위한 NCP는 IP 제어 프로토콜(IPCP)이다. IPCP는 1992년 5월에 공개된 "THEPPP INTERNET PROTOCOL CONTROL PROTOCOL(IPCP)"로 명명된 RFC 1332(Request for Comment 1332)에 상사하게 설명되어 있다. IPCP 협상전, 인증 단계가 요구된다. 각각의 네트워크층 프로토콜이 구성된 후, 각 네트워크층 프로토콜로부터의 패킷은 그들간의 링크를 통하여 전송될 수 있다.
B. 애플리케이션 프로그램 인터페이스
MS(110)상의 통신 프로토콜 스택을 지원하는 대부분의 프로세스는 애플리케이션 프로그램에 의하여 실행된다. 일반적으로, 통상의 데이터 네트워크는 컴퓨터상에서 가동중인 애플리케이션 프로그램이 다른 컴퓨터상에서 가동중인 애플리케이션 프로그램과 통신할 수 있도록 애플리케이션 프로그램 인터페이스(API)을 사용한다. API는 근본 네트워크의 프로토콜의 차이로부터 호출 애플리케이션을 보호하는 "소켓"을 이용한다. 상호 네트워킹된 통신을 달성하기 위하여, API는 애플리케이션으로 하여금 소켓을 오픈하고, 데이터를 네트워크에 전송하고, 네트워크로부터 데이터를 수신하고 소켓을 폐쇄하도록 하는 기능을 포함한다. 일반적인 네트워크 프로그래밍 인터페이스는 UnixTM운영체제하에서 동작하는 Berkeley Systems Development(BSD) 소켓 인터페이스 및 WindowsTM운영체제하에서 동작하는 WindowsTM소켓 인터페이스(WinsockTM)을 포함할 수 있다.
BSD 소켓 또는 WinSockTM이 무선 MS(110)(도 2 참조)에서의 통신 프로토콜 스택을 지원하지 않기 때문에, 스택을 지원하는 신규한 API가 요구된다. 특히, 무선 통신 시스템에서 지정된 이벤트를 식별하는 이동국 애플리케이션용 방법 및 장치가 요구된다.
본 발명은 무선 통신에 관한 것이다. 특히, 본 발명은 무선 통신 시스템에서 이동국 애플리케이션이 지정된 이벤트를 식별할 수 있도록 하는 신규한 방법 및 장치에 관한 것이다.
도 1(종래기술)은 이동국이 인터넷에 접속한 무선 통신 시스템의 고차 블록도이다.
도 2(종래기술)는 TIA/EIA IS-707.5 릴레이 모델의 각 엔티티의 프로토콜 스택을 개략적으로 도시하였다.
도 3은 본 발명의 일 실시예의 특성을 개략적으로 도시하였다.
도 4 및 5는 지정된 이벤트를 검출하는 흐름도이다.
도 6은 비동기 접속을 검출하는 블록도이다.
도 7은 비동기 소켓 입력을 검출하는 블록도이다.
도 8-10은 본 발명의 일 실시예의 상태도이다.
본 발명의 목적은 무선 통신 시스템에서 지정된 이벤트를 식별하기 위한 이동국 애플리케이션용 방법 및 장치를 제공하는 것이다. 일 실시예에서, 본 발명은 통신 네트워크와 통신하는 이동국 통신 프로토콜 스택 및 이동국 애플리케이션 사이의 통신을 용이하게 하는 애플리케이션 프로그램 인터페이스(API)를 포함한다. API는 그 상태에 기초하여 지정된 이벤트중 적어도 하나를 인에이블시킨다. 이동국 애플리케이션은 이후에 인에이블된 지정 이벤트를 식별한다.
본 발명의 일 실시예는 소프트웨어, 펌웨어 및/또는 하드웨어를 포함하는 여러 수단에서 구현될 수 있다. 그러므로, 본 발명의 동작은 소프트웨어 코드 또는 하드웨어 소자들에 대한 특별한 설명없이 기술될 것이며, 당업자는 본 명세서의 설명에 기초하여 본 발명을 수행하는 소프트웨어 및/또는 하드웨어를 설계할 수 있을 것이며, 상기 본 발명은 이동국 애플리케이션이 지정된 이벤트를 식별할 수 있는 발명이다.
도 3은 MS(110)내의 애플리케이션(260), 통신 프로토콜 스택(280) 및 API(270)를 도시한다. 애플리케이션(260) 및 통신 프로토콜 스택(280;즉, 프로토콜층(202,204,206,208,210,212)은 API(270)에 의하여 제공된 기능 호출에 의하여 통신한다. 즉, API(270)는 애플리케이션(260) 및 통신 프로토콜 스택(280)이 기능면에서 타협하지 않으면서 서로 다른 프로세서 및 동작 시스템에서 가동할 수 있게 한다. 당업자는 호출 기능을 위한 여러 명칭이 본 발명의 범위를 벗어나지 않는다면 가능하다는 것을 이해할 것이다.
통신 프로토콜 스택(280)은 데이터를 저장하는 다수의 전송 큐 및 수신 큐를 포함한다. 출력 기능은 데이터를 통신 프로토콜 스택(280)의 전송 큐중 하나에 저장하기 위하여 애플리케이션(260)의 메모리로부터 데이터를 판독한다. 입력 기능은 애플리케이션(260)의 메모리에 데이터를 저장하기 위하여 통신 프로토콜 스택(280)의 수신큐중 하나로부터 데이터를 판독한다.
동작을 설명하기 위하여, MS(110)는 IP 패킷을 수신한다. MS(110)의 통신 프로토콜 스택(280)은 IP 패킷을 캡슐해제하고, 이를 전송층(202)로 보낸다(도 3참조). IP 패킷 헤더의 필드는 TCP 또는 UDP중 하나의 전송을 지시한다. 전송층 헤더에 명시된 목적지 포트 번호에 기초하여, 데이터는 특정 소켓에 해당하는 통신 프로토콜 스택(280)의 적당한 수신큐에 라우팅된다. 데이터는 이후에 애플리케이션(260)에 전송될 수 있다.
특정한 환경에서, 대기시간 영향을 감소시키기 위하여 프로토콜 스택(280)의 여러 층을 우회하는 패킷을 이용하여 동작하는 것이 바람직하다. 이 패킷은 목적지 정보(즉, 목적지 포트 번호)가 모자라는 가공하지 않은 IP 패킷과 같은 가공하지 않은 패킷화된 데이터를 포함한다. 이처럼, 목적지 애플리케이션은 가공하지 않은 IP 패킷으로부터 결정될 수 없다. 이와 같은 환경에서, 통신 프로토콜 스택(280)은 수신된 가공되지 않은 IP 패킷을 IP 프로토콜을 지원하기 위하여 등록된 모든 소켓으로 전송할 것이다. 이것은 페이로드 데이터가 목적지 애플리케이션으로 전송될 수 있도록 한다. IP 패킷에 해당하는 인터넷 제어 메세징 프로토콜(ICMP) 파싱 엔진이 가공되지 않은 패킷화된 데이터를 수신할 수도 있다. 공지된 ICMP 파싱 엔진은 "INTERNET CONTROL MESSAGE PROTOCOL"로 명명된 RFC 792에서 명시된다. 예컨대, 통신 프로토콜 스택(280)이 수신된 패킷을 스택의 상부에 있는 애플리케이션(260)으로 통과시키기 전에 처리하며, 이는 애플리케이션(260)에 의하여 처리될 비캡슐화량을 감소시킨다.
반대로, 애플리케이션(260)은 소켓을 사용하여 Um 인터페이스를 거쳐 가공하지 않은 패킷화 데이터를 전송할 수 있으며, 이는 통신 프로토콜 스택(280) 및 애플리케이션(260) 사이의 통신을 용이하게 한다. 게다가, 애플리케이션(260)은 Um 인터페이스를 거쳐 가공하지 않은 패킷화 데이터를 전송할 수 있다. 다음으로, 통신 프로토콜 스택(280)은 패킷화되거나 가공하지 않은 패킷화 데이터를 IP 패킷으로 캡슐화시키며, 이를 Um 인터페이스를 통하여 전송한다. 상기 예에서, 통신 프로토콜 스택(280)은 IP 패킷을 생성하기 위하여 IP 헤더 및 체크섬을 제공한다. 반대로, ICMP의 경우 지정된 프로토콜 타입은 IP 헤더로 복사될 수 있다.
상술한 바와 같이, 애플리케이션(260)은 통신 프로토콜 스택(280)의 사용시에 내제된 대기시간을 감소시키기 위하여 프로토콜층(202, 204, 206, 208, 210, 212)중 적어도 하나와 애플리케이션(260) 사이의 데이터 통신을 가능하게 하는 소켓을 생성할 수 있다. 즉, 애플리케이션(260)은 전송층(202), 네트워크층(204) 및 링크층(206)을 우회하는 소켓을 생성할 수 있고, 이에 따라 애플리케이션(260)은 페이로드 데이터를 RLP층(210)에 전송할 수 있거나 이로부터 수신할 수 있다. 또한, 애플리케이션(260)은 애플리케이션(260)이 페이로드 데이터를 IS-95층(212)에 전송하거나 이로부터 수신할 수 있는 소켓을 생성할 수 있다.
일 실시예에서, 애플리케이션(260)은 통신 프로토콜 스택(280)을 오픈하고 애플리케이션 식별을 할당하기 위하여 함수 open_netlib()를 호출한다. 애플리케이션 식별은 여러 애플리케이션이 통신 프로토콜 스택(280)과 통신할 수 있게한다(즉, 멀티-태스킹). 예컨대, 함수 open_netlib()에 대한 호출의 일부로서, 애플리케이션(260)은 네트워크 콜백 함수 및 소켓 콜백 함수에 포인터를 지정한다. 네트워크 콜백 함수는 트래픽 채널(즉, Um) 및/또는 링크층(즉, PPP;206)으로부터 판독하고, 이에 기록하고 이를 폐쇄하는 것과 같은 네트워크 지정된 이벤트가 발생할 때마다(또는 인에이블될 때마다) 애플리케이션(260)에게 알려주도록 호출된다. 소켓 콜백 함수는 전송층(즉, TCP)으로부터 판독, 이에 기록, 이를 폐쇄하는 것과 같은 소켓 지정된 이벤트가 발생(또는 인에이블될 때마다)할 때마다 애플리케이션(260)에 통보하도록 호출된다. 통신 네트워크가 트래픽 채널, 링크층 및 전송층중 적어도 하나를 포함하는 것은 명백하다.
일단 통신 프로토콜 스택(280)이 오픈되면, 함수 pppopen()는 트래픽 채널 및 링크층을 포함하는 네트워크 서브시스템 접속을 개시하도록 호출된다. 이것은 개별 소켓에 의존하지 않는 애플리케이션 범위의 호출이다. 그러나, 애플리케이션 식별이 요구된다. 네트워크 서브시스템 접속을 설정 또는 실패할 때, 네트워크 콜백 함수는 지정된 이벤트 통지를 제공하기 위하여 호출된다. 네트워크 서브시스템은 예컨대 트래픽 채널이 설정되지 않는다면 실패할 것이다. 게다가 네트워크 서브 시스템 문자는 함수 net_ioctl()에 대한 호출로 세팅될 수 있다. 이러한 호출은 소켓의 데이터율을 지정할 수 있다.
일단 네트워크 서브시스템 접속이 설정되면, 소켓(들)이 생성되어 함수 socket()에 대한 호출에 의하여 개시될 수 있다. 그러나 소켓 함수가 사용될 수 있기 전에, 함수 socket()에 대한 호출은 소켓 디스크립터로 복귀할 수 있다. 이후, 애플리케이션(260)은 비동기 통지를 수신하기 위하여 지정된 이벤트를 등록하도록 함수 async_select()를 호출할 수 있다. 이러한 등록은 통지를 필요로 하는 지정된 이벤트의 비트 마스크(즉, 멀티 이벤트 OR'과 함께) 및 소켓 디스크립터를 지정하기 위하여 함수 호출의 일부로서 애플리케이션(260)에 의하여 수행될 수 있다. 만일 지정된 이벤트가 발생하고(즉, 인이에블되고), 통신 프로토콜 스택(280)또는 API(270)에 의하여 검출된다면, 소켓 콜백 함수는 비동기 통지를 제공하기 위하여 호출된다. 콜백 함수는 신호, 원격 방식 호출(RPC)를 통한 메세지를 포함하는 메세지 또는 하드웨어 또는 소프트웨어 인터럽트를 사용하여 지정된 이벤트를 애플리케이션(260)에게 통보할 것이다.
일단 애플리케이션(260)이 지정된 이벤트를 통보하면, 지정된 이벤트가 서비스될지를 결정하기 위하여 함수 getnextevetn()를 호출할 것이다. 이러한 함수는 지정된 소켓 디스크립터를 위하여 발생된 지정 이벤트 마스크를 반송한다. 또한 발생한 지정 이벤트 마스크의 비트를 소거한다. 그러므로 애플리케이션(260)은 더 이상 디스에이블된 지정 이벤트의 통지를 수신하지 않을 것이다. 애플리케이션(260)은 함수 async_select()에 대한 후속 호출에 의하여 이러한 지정된 이벤트를 재등록(즉, 재인에이블)시켜야 한다.
또한, 애플리케이션(260)은 지정된 이벤트의 비트 마스크의 해당 비트를 소거함으로서 등록된 지정 이벤트를 변경시킬 것이다. 만일 비트가 이미 비트 마스크에서 소거되었다면, 요청은 단순하게 무시된다. 간단히, 이벤트 통보가 함수 async_deselect()에 대한 호출을 통하여 퍼-이벤트 베이시스(per-event basis)에 근거하여 디스에이블될 수 있다.
도 4 및 5는 지정된 이벤트를 검출하는 흐름도이다. 도 4에 도시된 바와 같이, 통신 프로토콜 스택(280)은 지정된 이벤트를 등록하기 위하여 블록 400에서 애플리케이션(260)을 대기한다. 지정된 이벤트가 등록된 후, 통신 프로토콜 스택(280)은 블록 402에서 메모리를 폴링(poll)한다. 블록 404에서, 지정된 이벤트는 블록 402의 폴링된 정보에 기초하여 검출될 수 있다. 블록 406에서, 기록 이벤트는 통신 프로토콜 스택(280)의 메모리(즉, 전송 큐)가 충분한 양의 데이터를 수용할 수 있을 때 검출된다. 데이터는 애플리케이션(260)으로부터 전송될 수 있다. 만일 블록 404의 폴링된 정보가 만족스럽지 않다면(즉, 지정된 이벤트가 발생하지 않는다면), 통신 프로토콜 스택(280)은 블록 402에서와 같이 메모리를 계속적으로 폴링한다.
도 5에서, 통신 프로토콜 스택(280)은 블록 500에 지시된 바와 같이 지정된 이벤트를 등록하기 위하여 애플리케이션(260)을 대기한다. 이 시간동안, 인터럽트 통지가 디스에이블될 수 있다. 이처럼, 업터럽트 통지가 트리거될 수 없거나 트리거할 수 없다. 지정된 이벤트가 등록된 후, 블록 500에서처럼, 블록 502에서 인터럽트 통지가 지정된 이벤트의 발생에 기초하여 트리거링될 수 있다. 예컨대 판독 이벤트는 데이터가 통신 프로토콜 스택(280)의 메모리(즉, 수신큐)에 기록될 때 발생한다. 그러므로 블록 504에서, 판독 이벤트는 이벤트의 발생으로 인하여 트리거링된 인터럽트 통지를 수신할 때 통신 프로토콜 스택(28)에 의하여 검출된다. 통신 프로토콜 스택(280)의 메모리에 저장된 데이터는 통신 네트워크로부터 가능하다. 게다가, 판독된 이벤트의 경우, 저장된 데이터는 애플리케이션(260)에 전송될 수 있다.
끝으로, 폐쇄 이벤트는 소켓이 전송층과 같은 데이터 링크가 종료되기 때문에 재사용 가능할 때에 검출된다.
비동기 접속(도 6참조) 및 비동기 입력(도 7참조)의 다음 예는 비동기 이벤트 통지의 사용을 도시하기 위하여 제공된다.
도 6을 참조하면, 통신 프로토콜 스택(280)이 모두 입력되고 콜백 함수가 함수 open_netlib()에 대한 호출에 의하여 지정된다. 함수 pppopen()(A)에 대한 호출은 네트워크 서브시스템 접속(B)을 개시한다. 네트워크 서브시스템 접속이 설정된 후, 콜백 함수가 네트워크 서브시스템의 이용가능성을 보고하기 위하여 호출된다(C).
소케시이 오픈되고 할당되었다면, 함수 connect()에 대한 호출(D)이 TCP 접속을 개시한다(E). 게다가, 애플리케이션(260)은 수신 통보에 관한 지정 이벤트를 등록하기 위하여 함수 async_select()를 호출한다(F). 이 경우, 중요한 지정된 이벤트는 접속을 설정할 때 발생하는 기록 이벤트이다.
접속을 설정할 때, 콜백 함수는 지정된 이벤트가 마스크에서 등록된다면 호출될 것이다. 만일 그러하다면 콜백 함수는 비동기 통지를 제공하기 위하여 호출된다(G). 일단 애플리케이션(260)이 통지되면, 어떤 지정된 이벤트가 발생하였는지를 결정(I)하기 위하여 함수 getnextevent()(H)를 호출할 것이다. 또한 이 호출은 마스크내의 이벤트(즉, 기록 이벤트)의 비트를 소거한다. 애플리케이션(260)은 함수 async_select()에 대한 호출에 의하여 지정된 이벤트의 후속 통지를 재등록하여야 한다.
도 7에서, 비동기 소켓 판독의 일 예가 제공된다. 판독을 시작하기 위하여, 애플리케이션(260)은 함수 read()에 대한 호출을 작성한다(A). 판독할 데이터가 부족한 것을 가정하면, 애플리케이션(260)은 수신 통지를 위한 이벤트(즉, 마스크의 해당 비트를 세팅)를 등록하기 위하여 함수 async_select()를 호출한다(B). 이 경우, 중요한 지정된 이벤트는 판독 이벤트이며, 이는 애플리케이션(260)에 의하여 판독할 데이터가 존재할 때 발생한다.
수신 큐에 데이터를 저장할 때, 콜백 함수는 판독 이벤트가 마스크내에서 지정된다면 호출될 것이다. 만일 그러하다면 콜백 함수는 비동기 통지를 제공하기 위하여 호출된다(C). 일단 애플리케이션(260)이 통지되었다면, 어떤 이벤트가 발생하였는지를 결정(E)하기 위하여 함수 getnextevent()를 호출한다(D). 또한 이러한 호출은 마스크의 이벤트의 비트를 소거한다(F). 애플리케이션(260)은 함수 async_select()에 대한 호출에 의하여 이벤트의 후속 통지를 다시 인에이블시켜야 한다. 끝으로, 수신 큐에 저장된 데이터를 판독하기 위하여, 애플리케이션(260)은 함수 read()에 대한 호출을 작성한다(G).
도 8-10에서, 본 발명의 일 실시예의 상태 머신이 도시되어 있다. 도 8-9에서, 통신 프로토콜 스택(280)이 오픈되고 네트워크 서브시스템 접속(즉, 트래픽 채널 및 필요하다면 링크층-가공되지 않은 소켓은 네트워크 서브시스템을 우회할 수 있다)이 설정된다. 당업자는 상태에 관한 여러 명칭이 본 발명의 범위를 벗어나지 않는다면 가능하다는 것을 이해할 것이다.
상태들사이에서 비동기적으로 전이할 수 있는 상태 머신은 판독, 기록 및 폐쇄와 같은 지정된 이벤트를 제어(즉, 인에이블 및 디스에이블)한다. 지정된 이벤트는 동작의 시작시에 디스에이블될 수 있으며 애플리케이션(260)이 MS(110)의 상태를 식별하는 것을 돕기 위하여 소정의 상태에서 인에이블될 수 있다.
또한, API(270)는 API(270)의 상태 및 애플리케이션(260)에 의하여 호출된 기능타입에 기초하여 애플리케이션(260)에 특정된(즉, 단순히 일반적이지 않은) 지정 상태 메세지를 보고한다. 지정 상태 메세지는 근본적인 통신 네트워크의 상태를 반영한다. 상태 메세지는 함수 호출의 방법으로서 애플리케이션(260)에 보고된다.
도 8에서, API(270)의 TCP 소켓을 위한 상태도가 도시되어 있다. 초기화되지 않은 소켓은 "널" 상태(800)에서 시작한다. 소켓은 아직 할당되지 않았기 때문에 "존재"하지 않는다. 소켓이 생성될 수 있으며 소켓관련 함수를 사용하기 위하여 소켓 디스크립터를 복귀시키는 함수 socket()에 대한 호출에 의하여 개시된다. 함수 socket()에 대한 함수이후, 상태 머신은 "초기" 상태(805)로의 전이한다.
초기 상태(805)에서, 상태 머신은 TCP 접속의 가능성이 함수 close()에 대한 호출에 의하여 종료될 때마다 널 상태(800)로 다시 전이한다. 함수 close()에 대한 호출은 모든 소켓 관련 자원을 릴리스한다. 한편, 호출 connect()에 대한 호출은 TCP 접속을 개시하고 상태 머신을 "오프닝" 상태(810)으로 전이한다.
오프닝 상태(810)에서, 상태 머신은 (1) 네트워크 서브시스템 실패가 발생하며, (2) TCP 접속실패, 또는 (3) 변경된 IP 어드레스가 존재할 때마다 "폐쇄된" 상태(815)로 전이한다. 또한 TCP 접속을 종결시키는 함수 close()에 대한 호출 이후, 상태머신은 소켓을 "폐쇄" 상태(820)로 전이하며, 종결 절차가 개시된다. 끝으로, 상태 머신은 TCP 접속이 설정될 때 "오픈" 상태(825)로 전이한다.
오픈 상태(825)에서, 소켓은 판독 및 기록을 위하여 오픈된다. 특히, 기록이벤트가 즉각적으로 인에이블되는 동안, 판독 이벤트는 데이터가 통신 프로토콜 스택(280)의 메모리에 저장되는가에 기초하여 인에이블된다. 상태 머신은 (1) 네트워크 서브시스템 실패가 발생하고, (2) TCP 접속을 설정하기 위한 실패, (3) 네크워크 서버에 의하여 개시된 TCP 리셋, TCP 중단 또는 TCP 폐쇄와 같은 TCP 접속을 종결시키려는 시도 및 (4) IP 어드레스의 변화가 발생할 때마다 폐쇄된 상태(815)로 전이한다. 함수 close()에 대한 호출에 의하여 애플리케이션 개시된 TCP 접속 종료는 폐쇄 상태(820)로 상태 머신을 전이시킨다.
폐쇄 상태(815)에서, 판독, 기록 및 폐쇄 이벤트가 모두 선언된다. TCP 접속을 종결하는 함수 close()에 대한 호출이후, 상태 머신은 소켓을 비우고 재사용할 수 있도록 하는 널 상태(800)로 전이한다.
폐쇄 상태(820)에서, 상태 머신은 (1) 네트워크 서브시스템 실패가 발생하고, (2) 네트워크 서버에 의하여 개시된 TCP 리셋 또는 TCP 폐쇄와 같은 TCP 접속을 종결시키려는 시도, (3) 타이머의 경과 및 (4) IP 어드레스의 변화가 발생할 때마다 "폐쇄 대기" 상태(830)로 전이한다. TCP 접속을 종결시키는 지연에 대한 보호를 위하여, API(270)는 TCP 접속 종결이 시작시 활성화되는 타이머를 실행시킨다. 타이머의 경과는 상태 머신을 폐쇄 대기 상태(830)로 상태 머신을 전이시킨다.
폐쇄 대기 상태(830)에서, 함수 close()에 대한 호출은 TCP 접속을 종결시키고 상태 머신을 널 상태(800)로 전이시킨다. 폐쇄 이벤트는 이 상태(830)에서 선언된다.
표 1-3은 API(270)에 의하여 지원되는 지정된 상태 메세지를 도시한다. 널 상태(표 1-3에 도시되지 않음)에서, "어떠한 추가의 자원되 이용될 수 없음"을 기술한 지정된 상태 메세지가 애플리케이션(260)에 보고될 것이다.
표 1
상태 접속 함수 타입을 위한 지정된 상태 메세지
초기화 만일 블록킹 함수 호출이라면, 동작이 블록킹될 것이다.
오프닝 접속 진행중
오픈 접속 설정
폐쇄중 TCP 접속이 발생 시도의 부족으로 인하여 존재하지 않거나 접속 시도 실패
폐쇄대기 TCP 접속이 발생 시도의 부족으로 인하여 존재하지 않거나 접속 시도 실패; 또는일반 네트워크 에러; 근원 네트워크가 이용될 수 없음
폐쇄 일반 네트워크 에러; 근원 네트워크가 이용될 수 없음;접속 시도가 서버 리셋으로 인하여 거절됨;진행중인 접속 타임아웃트; 또는PPP resync로 인하여 TCP 접속 리셋을 초래하는 네트워크 레벨의 IP 어드레스가 변화됨.
표 2
상태 I/O 기능 타입을 위한 지정된 상태 메세지
초기화 발생 시도의 부족으로 인하여 TCP 접속이 존재하지 않거나 접속 시도 실패
오프닝 민일 블록킹 함수 호출이었다면, 동작은 블록킹될 것임
오픈 만일 블록킹 함수 호출이었다면, 동작은 블록킹될 것임(판독/기록된 바이트수)
폐쇄중 생성 시도의 부족으로 인하여 TCP 접속이 존재하지 않거나 접속 시도 실패
폐쇄대기 TCP 접속이 발생 시도의 부족으로 인하여 존재하지 않거나 접속 시도 실패; 또는일반 네트워크 에러; 근원 네트워크가 이용될 수 없음
폐쇄 일반 네트워크 에러; 근원 네트워크가 이용될 수 없음;서버가 접속을 리셋함; 서버 리셋의 수신;접속 시도가 서버 리셋으로 인하여 거절됨;타임아웃트 또는 다른 이유로 인하여 TCP 접속 중단; 또는TCP 접속이 생성 시도의 부족으로 인하여 존재하지 않거나 접속 시도 실패
표 3
상태 폐쇄 함수 타입을 위한 지정된 상태 메세지
초기화 성공-어떠한 에러 상태도 보고되지 않음
오프닝 블록킹 함수 호출이라면 동작은 블록킹될 것임
오픈 블록킹 함수 호출이라면 동작은 블록킹될 것임
폐쇄중 블록킹 함수 호출이라면 동작은 블록킹될 것임
폐쇄대기 성공-어떠한 에러 상태도 보고되지 않음
폐쇄 성공-어떠한 에러 상태도 보고되지 않음
도 9는 API(270)의 UDP 소켓을 위한 상태도를 도시한다. 초기화되지 않은 소켓은 "널" 상태(900)에서 시작한다. 상술한 바와 같이, 널 상태(800)와 관련하여, 소켓은 할당되지 않았기 때문에 "존재"하지 않는다. 소켓은 생성될 수 있고 함수 socket()에 대한 함수에 의하여 개시되고, 이 함수는 소켓 관련 함수를 사용하기 위하여 소켓 디스크립터를 복귀시킨다. 함수 socket()에 대한 호출이후, 상태 머신은 "오픈" 상태(905)로 전이한다.
오픈 상태(905)에서, 소켓은 판독 및 기록을 위하여 오픈된다. 특히, 기록 이벤트는 즉각적으로 인에이블되며, 판독 이벤트는 데이터가 통신 프로토콜 스택(280)의 메모리에 저장되는가에 따라 인에이블된다. 상태 머신은 네트워크 서브시스템 실패가 발생할 때마다 "폐쇄" 상태(910)로 전이한다. 함수 close()에 해단 호출과 같은 애플리케이션 개시 UDP 접속 종료는 널 상태(900)로 상태머신을 정이시킨다.
폐쇄 상태(910)에서, 판독, 기록 및 폐쇄 이벤트가 모두 인에이블된다. UDP 접속을 종결시키는 함수 close()에 대한 호출이후, 상태 머신은 소켓을 비우고 이를 재사용할 수 있도록 하는 널 상태(900)로 소켓을 전이한다.
표 4-6은 API(270)에 의하여 지원된 지정 상태 메세지를 도시한다. 널 상태(표 4-6에는 도시하지 않음)에서, 상술한 바와 같이 "어떠한 추가 자원도 이용될 수 없음"을 나타내는 지정된 상태 메세지가 애플리케이션(260)에 보고될 수 있다.
표 4
상태 접속 함수 타입을 위한 지정된 상태 메세지
오픈 성공-어떠한 에러 상태도 보고되지 않음
폐쇄 일반 네트워크 에러; 근원 네트워크가 이용될 수 없음
표 5
상태 I/O 기능 타입을 위한 지정된 상태 메세지
오픈 만일 블록킹 함수 호출이었다면, 동작은 블록킹될 것임(판독/기록된 바이트수)
폐쇄 일반 네트워크 에러; 근원 네트워크가 이용될 수 없음
표 6
상태 폐쇄 함수 타입을 위한 지정된 상태 메세
오픈 성공-어떠한 에러 상태도 보고되지 않음
폐쇄 성공-어떠한 에러 상태도 보고되지 않음
도 10은 트래픽 채널(즉, Um) 및 링크층(즉, PPP(206))과 같은 네트워크 서브시스템을 제어하기 위한 상태도를 도시한다. 함수 open_netlib()에 대한 호출은 네트워크 서브시스템을 오픈하고 소켓을 "폐쇄" 상태(1000)으로 초기화시킨다. 함수 pppopen()에 대한 호출은 "오프닝" 상태(1005)으로 소켓을 전이시키는 네트워크 서브시스템 접속을 개시한다. 또한, 입력 PPP 호출에 의하여 MS(110)에 대한 페이지는 소켓을 오프닝 상태(1005)로 전이시킨다. 두 경우, 성공적인 협상이었다면, MS(110)는 트래픽 채널을 통하여 RLP 및 PPP를 모두 동기화 및 설정한다.
오프닝 상태(1005)에서, 소켓은 네트워크 서브시스템 접속이 설정될 때 "오픈" 상태(1010)로 전이한다. 한편, 소켓은 다시 네트워크 서브시스템 접속이 설정되지 않는다면 폐쇄 상태(1000)로 전이한다.
오픈 상태(1010)에서, 콜백 함수는 판독, 기록 및 폐쇄와 같은 애플리케이션(1060) 지정된 이벤트가 인에이블되었는지를 식별하기 위하여 호출된다. 이때, MS(110)는 트래픽 채널을 통하여 통신할 수 있다. 그러나 소켓은 콜백 함수를 호출하는 네트워크 서브시스템 실패가 발생할 때마다 폐쇄 상태(1000)로 전이한다. 함수 close()에 대한 호출에 의하여 애플리케이션 개시 네트워크 서브시스템 접속 종료는 소켓을 "폐쇄" 상태(1015)로 전이시킨다.
폐쇄 상태(1015)에서, 소켓은 네트워크 서브시스템 접속이 종료될 때마다 폐쇄 상태(1000)로 전이한다. 폐쇄 상태(1000)에서, 콜백 함수는 애플리케이션(260) 지정 이벤트가 인에이블되는지를 식별하도록 호출된다.
표 7은 특정 함수 호출에 해당하고 API(270)에 의하여 지원되는 지정 상태 메세지를 도시한다.
표 7
함수 호출(및 설명) 지정된 상태 메세지
socket()소켓 생성 및소켓 디스크립터 복귀 어드레스가 지원되지 않음;유효하지 못한 애플리케이션 식별자;프로토콜이 소켓에 대하여 잘못된 타입;유효하지 못하거나 지원되지 않는 소켓 파라미터;지원되지 않는 프로토콜; 또는더이상의 소켓 자원이 이용될 수 없음
connect()TCP 접속 초기화 만일 블록킹 함수 호출이라면, 동작이 블록킹됨;유효하지 못한 소켓 디스크립터;접속 시도가 서버 리셋의 수신으로 인하여 거절됨;접속 타임아웃트;애플리케이션 버퍼는 유효 어드레스 공간의 일부가 아님;어드레스 길이 또는 메세지 길이를 위하여 지정된 유효한 크기;PPP resync로 인하여 TCP 접속을 유발시키는 네트워크 레벨 IP 어드레스 변경; 진행중인 접속;소켓 디스크립터가 미리 접속됨;일반 네트워크 에러; 근원 네트워크가 이용불가능;유효하지 못한 서버 어드레스 지정됨;어드레스가 이미 사용중; 또는목적지 어드레스 요구
pppopen()네트워크 접속 설정 만일 블록킹 함수 호출이라며, 동작이 블록킹됨;유효하지 못한 애플리케이션 식별자 지정됨; 또는네트워크 접속 종료 진행
net_ioctl()네트워크 문자 세팅 유효하지 못한 애플리케이션 식별자 지정됨;유효하지 못한 요청 또는 파라미터;네트워크 접속 설정됨; 또는네트워크 접속 진행
open_netlib()통신 프로토콜 스택 오픈 더 이상의 애플리케이션 이용가능-최대 오픈 애플리케이션수가 초과되지 않음
close_netlib()통신 프로토콜 스택 폐쇄 유효하지 못한 식별자 지정됨;할당된 소켓 존재; 또는네트워크 접속이 여전히 설정
bind()클라이언트 소켓을 위하여, 로컬 어드레스 및 소켓에 포트값 부착 유효하지 못한 소켓 디스크립터 지정됨;유효하지 못하거나 지원되지 않는 동작 지정됨;어드레스가 이미 사용중;유효하지 못한 동작; 또는유효하지 못한 파라미터 지정됨
close()재사용하기 위하여 소켓을 비우도록 폐쇄 유효하지 못한 디스크립터 지정됨; 또는만일 블록킹 함수 호출이라면, 동작은 블록킹됨
pppclose()네트워크 접속 폐쇄 만일 블록킹 함수 호출이라면, 동작은 블록킹됨;유효하지 못한 애플리케이션 식별자 지정됨; 또는네트워크 접속의 종료 진행중
netstatus()네트워크 접속 상태를 보고 유효하지 못한 식별자 지정됨;근원 네트워크가 이용될 수 없음;네트워크 접속 설정되고 이용가능;네트워크 접속 진행중;네트워크 접속 종료 진행중;어떠한 CDMA(즉, 트래픽 채널) 서비스도 이용될 수 없음;CDMA 서비스 이용가능, 그러나 기지국이 서비스 옵션을 지원하지 않기 때문에 생성 실패; 또는CDMA 서비스 이용가능, 그러나 생성 실패; 그러나 기지국이 서비스 옵션을 지원하지 않기 때문이 아님
async_select()특정 소켓을 위한 지정된 이벤트 등록 유효하지 못한 소켓 디스크립터 지정됨
getnextevent()다음 소켓 스크립터 및 발생된 이벤트를 획득 유효하지 못한 소켓 스크립터 지정됨; 또는유효하지 못한 애플리케이션 식별자 지정됨
write()지정된 개수의 바이트-연속적이거나 비연속적인 버퍼에 기록 유효하지 못한 디스크립터 지정됨;TCP 접속 존재하지 않음;서버가 TCP 접속을 리셋함;타임아웃트 또는 다른 실패로 인하여 TCP 접속 중단;네트워크 레벨 IP 어드레스 변경되며, 이는 PPP resync로 인하여 TCP 접속을 리셋하도록 함;네트워크 이용불능;애플리케이션 버퍼는 어드레스 공간의 유효한 부분이 아님; 또는기록을 위한 이용가능 빈 버퍼 없음
read()지정된 개수의 바이트-연속적이거나 비연속ㅈ거인 버퍼를 판독 유효하지 못한 소켓 디스크립터 지정됨;TCP 접속이 존재하지 않음;서버가 TCP 접속을 리셋시킴;타임아웃트 또는 다른 실패로 인하여 TCP 접속 중지됨;네트워크 레벨 IP 어드레스 변경되며, 이는 PPP resync로 인하여 TCP 접속을 리셋하도록 함;TCP 접속 폐쇄;네트워크 이용불능;애플리케이션 버퍼는 어드레스 공간의 일부로 유효하지 않음;판독을 위한 이용가능 빈 버퍼 없음; 또는수신된 파일 마커의 끝
sendto()지정된 개수의 바이트 전송 유효하지 못한 소켓 디스크립터 지정됨;어드레스군이 지정되지 않음;기록을 위한 이용가능 빈 버퍼 없음;네트워크 이용불능;애플리케이션 버퍼가 어드레스 공간의 유효한 부분이 아님;지정된 옵션이 지원되지 않음; 또는목적지 어드레스 요청됨
recvfrom()지정된 개수의 바이트 판독 유효하지 못한 소켓 디스크립터 지정됨;어드레스군은 지원되지 않음;기록을 위한 이용가능 빈 버퍼 없음;네트워크 이용불능;애플리케이션 버퍼는 어드레스 공간의 유효한 부분이 아님; 또는지정된 옵션은 지원되지 않음
다른 실시예에서, 머신은 인코딩된 소프트웨어 코드와 같은 인코딩된 정보를 포함하는 머신 판독가능 매체를 판독할 수 있으며, 이는 이동국 애플리케이션이 지정된 이벤트를 식별할 수 있도록 상술한 처리과정을 유발시킨다. 머신 판독가능 매체는 메모리 또는 저장 디스크와 같은 저장 장치 또는 통신 네트워크로부터 인코딩된 정보를 수신할 수 있다. 또한 머신 판독가능 매체는 매체가 제작될 때 인코딩된 정보로 프로그래밍될 수 있다. 머신은 애플리케이션(260), 통신 프로토콜 스택(280) 및 API(270)중 적어도 하나를 포함할 수 있는 반면, 머신 판독가능 매체는 저장 디스크와 같은 메모리를 포함한다.
본 발명은 특정 실시예로 설명되었지만, 이에 제한받지 않으며, 청구항과 그 동일성의 범위에 의하여만 제한받는다.

Claims (28)

  1. 다수의 지정된 이벤트를 식별하기 위한 이동국 애플리케이션용 방법으로서:
    이동국 통신 프토토콜 스택 및 통신 네트워크 사이에서 통신하는 단계;
    상기 이동국 통신 프로토콜 스택 및 상기 이동국 애플리케이션 사이에서 이동국 애플리케이션 인터페이스를 통하여 통신하는 단계;
    상기 이동국 애플리케이션 인터페이스의 상태에 기초하여, 상기 지정된 이벤트중 적어도 하나를 상기 이동국 애플리케이션 인터페이스에 의하여 인에이블링시키는 단계; 그리고
    인에이블링된 지정 이벤트를 상기 이동국 애플리케이션에 의하여 식별하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서, 상기 이동국 애플리케이션은 함수 호출에 의하여 인에이블링된 지정 이벤트를 식별하는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서, 상기 이동국 애플리케이션 인터페이스는 여러 상태를 포함하는 것을 특징으로 하는 방법.
  4. 제 3 항에 있어서, 상기 이동국 애플리케이션 인터페이스는 상기 상태들 사이에서 비동기적으로 전이되는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서, 상기 다수의 지정된 이벤트는 판독, 기록 및 폐쇄 이벤트중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서, 상기 이동국 애플리케이션 인터페이스의 상태에 기초하여, 상기 지정된 이벤트중 적어도 하나를 디스에이블링하는 이동국 애플리케이션 인터페이스를 더 포함하는 것을 특징으로 하는 방법.
  7. 제 5 항에 있어서, 상기 기록 이벤트는 통신 네트워크 접속이 설정될 때마다 인에이블되는 것을 특징으로 하는 방법.
  8. 제 5 항에 있어서, 상기 판독 이벤트는 통신 네트워크 접속이 설정될 때마다 인에이블되고 데이터는 이동국 통신 프로토콜 스택의 메모리에 저장되는 것을 특징으로 하는 방법.
  9. 제 5 항에 있어서, 상기 판독, 기록 및 폐쇄 이벤트는 통신 네트워크 실패가 발생될 때마다 인에이블되는 것을 특징으로 하는 방법.
  10. 제 5 항에 있어서, 상기 판독, 기록 및 폐쇄 이벤트는:
    통신 네트워크 접속 설정의 실패;
    통신 네트워크 접속을 종결시키기 위한 시도; 또는
    네트워크 식별 어드레스의 변경때마다 인에이블되는 것을 특징으로 하는 방법.
  11. 제 10 항에 있어서, 상기 네트워크 식별 어드레스는 IP 어드레스를 포함하는 것을 특징으로 하는 방법.
  12. 제 5 항에 있어서, 상기 폐쇄 이벤트는:
    통신 네트워크의 실패 발생;
    통신 네트워크 접속을 종결시키기 위한 시도;
    타이머 종료; 또는
    네트워크 식별 어드레스의 변경때마다 인에이블되는 것을 특징으로 하는 방법.
  13. 제 12 항에 있어서, 상기 네트워크 식별 어드레스는 IP 어드레스를 포함하는 것을 특징으로 하는 방법.
  14. 제 12 항에 있어서, 상기 타이머는 통신 네트워크 접속을 종결시키기 위하여 초기화때 활성화되는 것을 특징으로 하는 방법.
  15. 제 5 항에 있어서, 상기 기록 이벤트는 소켓이 할당될 때마다 인에이블되는 것을 특징으로 하는 방법.
  16. 제 5 항에 있어서, 상기 판독 이벤트는 소켓이 할당될 때마다 인에이블되고 데이터는 이동국 통신 프로토콜 스택의 메모리에 저장되는 것을 특징으로 하는 방법.
  17. 다수의 지정된 이벤트를 식별하기 위한 이동국 애플리케이션용 장치로서:
    통신 네트워크와 통신하기 위한 이동국 통신 프로토콜 스택;
    이동국 애플리케이션 인터페이스의 상태에 기초하여, 지정된 이벤트의 적어도 하나를 인에이블시키기 위한 이동국 애플리케이션 인터페이스; 그리고
    상기 지정된 이벤트가 인에이블되었는지를 식별하기 위한 이동국 애플리케이션을 포함하며,
    상기 이동국 애플리케이션 인터페이스는 상기 이동국 애플리케이션 및 이동국 통신 프로토콜 스택 사이의 통신을 용이하게 하는 장치.
  18. 제 17 항에 있어서, 상기 이동국 애플리케이션은 함수 호출에 의하여 인에이블되는 지정 이벤트를 식별하는 것을 특징으로 하는 장치.
  19. 제 17 항에 있어서, 상기 이동국 애플리케이션 인터페이스는 다수의 상태를포함하는 것을 특징으로 하는 장치.
  20. 제 19 항에 있어서, 상기 이동국 애플리케이션 인터페이스는 상기 상태들 사이에서 비동기적으로 전이하는 것을 특징으로 하는 장치.
  21. 제 17 항에 있어서, 상기 다수의 지정 이벤트는 판독, 기록 및 폐쇄 이벤트중 적어도 하나를 포함하는 것을 특징으로 하는 장치.
  22. 제 17 항에 있어서, 상기 이동국 애플리케이션 인터페이스는 상기 이동국 애플리케이션 인터페이스의 상태에 기초하여 지정된 이벤트중 적어도 하나를 디스에이블시키는 것을 특징으로 하는 장치.
  23. 인코딩된 정보를 포함하는 머신 판독가능 매체로서,
    상기 인코딩된 정보가 머신에 의하여 판독될 때:
    이동국 통신 프로토콜 스택 및 통신 네트워크 사이에서 통신하며;
    상기 이동국 통신 프로토콜 스택 및 이동국 애플리케이션 사이에서 이동국 애플리케이션 인터페이스를 통하여 통신하며;
    상기 이동국 애플리케이션 인터페이스의 상태에 기초하여, 상기 지정된 이벤트중 적어도 하나를 상기 이동국 애플리케이션 인터페이스에 의하여 인에이블링시키며; 그리고
    인이에블링되는 지정 이벤트를 상기 이동국 애플리케이션에 의하여 식별하는 과정을 포함하는 머신 판독가능 매체.
  24. 제 23 항에 있어서, 상기 이동국 애플리케이션은 함수 호출에 의하여 인에이블링되는 지정 이벤트를 식별하는 것을 특징으로 하는 머신 판독가능 매체.
  25. 제 23 항에 있어서, 상기 이동국 애플리케이션 인터페이스는 다수의 상태를 포함하는 것을 특징으로 하는 머신 판독가능 매체.
  26. 제 25 항에 있어서, 상기 이동국 애플리케이션 인터페이스는 상기 상태들 사이에서 비동기적으로 전이되는 것을 특징으로 하는 머신 판독가능 매체.
  27. 제 23 항에 있어서, 상기 다수의 지정된 이벤트는 판독, 기록 및 폐쇄 이벤트중 적어도 하나를 포함하는 것을 특징으로 하는 머신 판독가능 매체.
  28. 제 23 항에 있어서, 상기 이동국 애플리케이션 인터페이스의 상태에 기초하여, 지정된 이벤트중 적어도 하나를 디스에이블링하는 이동국 애플리케이션 인터페이스를 더 포함하는 것을 특징으로 하는 머신 판독가능 매체.
KR1020027011854A 2000-03-30 2001-03-29 이동국 애플리케이션이 지정된 이벤트를 식별하기 위한 방법 및 장치 Expired - Fee Related KR100778605B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US53949500A 2000-03-30 2000-03-30
US09/539,495 2000-03-30
PCT/US2001/010140 WO2001076177A2 (en) 2000-03-30 2001-03-29 Method and apparatus for a mobile station application to identify specified events

Publications (2)

Publication Number Publication Date
KR20030010590A true KR20030010590A (ko) 2003-02-05
KR100778605B1 KR100778605B1 (ko) 2007-11-22

Family

ID=24151463

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027011854A Expired - Fee Related KR100778605B1 (ko) 2000-03-30 2001-03-29 이동국 애플리케이션이 지정된 이벤트를 식별하기 위한 방법 및 장치

Country Status (10)

Country Link
US (1) US20040162061A1 (ko)
EP (1) EP1273148A2 (ko)
JP (1) JP4745586B2 (ko)
KR (1) KR100778605B1 (ko)
CN (1) CN1422482A (ko)
AU (1) AU2001251104A1 (ko)
CA (1) CA2402356A1 (ko)
IL (2) IL151350A0 (ko)
MX (1) MXPA02009502A (ko)
WO (1) WO2001076177A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100825876B1 (ko) * 2003-12-29 2008-04-28 모토로라 인코포레이티드 적응 이벤트 코드들을 사용하는 방법 및 시스템

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7590408B2 (en) 2002-04-03 2009-09-15 Qualcomm Incorporated Systems and methods for early determination of network support for mobile IP
US6973088B2 (en) * 2002-04-03 2005-12-06 Qualcomm Incorporated PPP link negotiation in mobile IP systems
US7342894B2 (en) 2002-04-03 2008-03-11 Qualcomm Incorporated System and method for transparent Mobile IP registration within PPP negotiation
US7209466B2 (en) * 2002-06-06 2007-04-24 Symbol Technologies, Inc. Software method utilizing gateways for maintaining connectivity during communications over distinct wireless networks by mobile computer terminals
US20070211752A1 (en) * 2006-03-13 2007-09-13 Utstarcom, Incorporated Method of establishing a PPP session over an air interface
US8023982B2 (en) 2008-05-12 2011-09-20 Qualcomm Incorporated Wireless communication device having dynamically escalated media transmission handling
JP5157668B2 (ja) * 2008-06-19 2013-03-06 富士通株式会社 通信装置および通信方法
KR101568686B1 (ko) 2009-10-23 2015-11-13 에스케이텔레콤 주식회사 무선인터넷 접속 시스템 및 모바일 단말기의 무선인터넷 초기 접속시간 최소화 방법과 이를 이용한 모바일 단말기
US8949828B2 (en) * 2011-01-11 2015-02-03 International Business Machines Corporation Single point, scalable data synchronization for management of a virtual input/output server cluster
US9144098B2 (en) * 2011-02-14 2015-09-22 Nokia Solutions And Networks Oy Real-time gaming and other applications support for D2D communications
US9351331B2 (en) 2012-04-18 2016-05-24 Qualcomm Incorporated Invasive socket manager
US9357409B2 (en) * 2012-09-21 2016-05-31 Azimuth Systems, Inc. System level emulation of TD-SCDMA wireless networks
US8935710B1 (en) * 2013-11-25 2015-01-13 Amazon Technologies, Inc. Unique event identification
US11750441B1 (en) * 2018-09-07 2023-09-05 Juniper Networks, Inc. Propagating node failure errors to TCP sockets
US11106800B1 (en) * 2018-11-30 2021-08-31 Capsule8, Inc. Detecting kernel exploits
US11863594B2 (en) * 2021-01-07 2024-01-02 Samsung Electronics Co., Ltd. Electronic device and method for processing call request in electronic device
US11743270B2 (en) 2021-04-16 2023-08-29 Visa International Service Association Method, system, and computer program product for protocol parsing for network security

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5671436A (en) * 1991-08-21 1997-09-23 Norand Corporation Versatile RF data capture system
US6009469A (en) * 1995-09-25 1999-12-28 Netspeak Corporation Graphic user interface for internet telephony application
US6108704A (en) * 1995-09-25 2000-08-22 Netspeak Corporation Point-to-point internet protocol
BR9712722A (pt) * 1996-10-31 1999-10-26 Discovision Ass Receptor digital para sinais de multiportadora, e, processo para estimar uma resposta de frequência de uma canal.
US6016511A (en) * 1997-09-12 2000-01-18 Motorola Inc. Apparatus and method for interfacing protocol application data frame operation requests with a data frame input/output device
CN1289497A (zh) * 1998-01-29 2001-03-28 英国电讯有限公司 传送移动数据的通信系统
US6363477B1 (en) * 1998-08-28 2002-03-26 3Com Corporation Method for analyzing network application flows in an encrypted environment
US6542734B1 (en) * 2000-03-30 2003-04-01 Qualcomm Incorporated Method and apparatus for detecting specified events in a mobile station

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100825876B1 (ko) * 2003-12-29 2008-04-28 모토로라 인코포레이티드 적응 이벤트 코드들을 사용하는 방법 및 시스템

Also Published As

Publication number Publication date
MXPA02009502A (es) 2003-05-15
CN1422482A (zh) 2003-06-04
JP4745586B2 (ja) 2011-08-10
IL151350A0 (en) 2003-04-10
EP1273148A2 (en) 2003-01-08
WO2001076177A2 (en) 2001-10-11
CA2402356A1 (en) 2001-10-11
KR100778605B1 (ko) 2007-11-22
WO2001076177A3 (en) 2002-02-28
US20040162061A1 (en) 2004-08-19
IL151350A (en) 2008-06-05
JP2003530020A (ja) 2003-10-07
AU2001251104A1 (en) 2001-10-15

Similar Documents

Publication Publication Date Title
KR100804453B1 (ko) 이동국에서 특정 이벤트들을 검출하는 방법 및 장치
JP4971513B2 (ja) 移動局のアプリケーションが生のパケット化されたデータを受信および送信するための方法および装置
KR100778605B1 (ko) 이동국 애플리케이션이 지정된 이벤트를 식별하기 위한 방법 및 장치
AU2001251105A1 (en) Method and apparatus for a mobile station application to receive and transmit raw packetized data
KR20030010591A (ko) 지정된 이벤트를 이동국 애플리케이션에 통지하는 방법 및장치
KR20040007214A (ko) 이동국 애플리케이션이 특정 상태 메시지들을 식별하는방법 및 장치
KR20020084257A (ko) 이동국 애플리케이션에 의해 특정 이벤트들을 서비스하기위한 방법 및 장치
HK1053560A (en) Method and apparatus for a mobile station application to identify specified events

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

A201 Request for examination
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

FPAY Annual fee payment

Payment date: 20121030

Year of fee payment: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 10

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 11

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 11

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20181116

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20181116