KR20070116034A - Asynchronous network stack operation in an operating system independent environment - Google Patents
Asynchronous network stack operation in an operating system independent environment Download PDFInfo
- Publication number
- KR20070116034A KR20070116034A KR1020077022155A KR20077022155A KR20070116034A KR 20070116034 A KR20070116034 A KR 20070116034A KR 1020077022155 A KR1020077022155 A KR 1020077022155A KR 20077022155 A KR20077022155 A KR 20077022155A KR 20070116034 A KR20070116034 A KR 20070116034A
- Authority
- KR
- South Korea
- Prior art keywords
- network
- network stack
- stack layer
- token
- layer
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Communication Control (AREA)
Abstract
Description
본 발명의 실시예들은 네트워크 스택 동작에 관한 것이다. 보다 구체적으로, 본 발명의 실시예들은 오퍼레이팅 시스템 독립 환경(즉, 프리-부트(pre-boot))에 사용될 수 있는 비동기식 네트워크 스택의 사용에 관한 것이다.Embodiments of the present invention relate to network stack operation. More specifically, embodiments of the present invention relate to the use of an asynchronous network stack that can be used in an operating system independent environment (ie, pre-boot).
전자 장치의 프리-부트 환경은 원격 부트 및/또는 원격 설치 목적들로 사용될 수 있고, 이는 전자 장치의 제어가 오퍼레이팅 시스템으로 넘어가기 전에 전자 장치가 원격 서버로부터 하나 이상의 파일들을 다운로드할 것을 요구할 수 있다. 프리-부트 실행 환경(PXE)에서, 전자 장치는 하나 이상의 원격 서버들로부터 하나 이상의 파일들을 수신할 수 있다. 그러나, 다운로드된 파일들의 수가 증가하고 및/또는 PXE의 기능성이 증가함에 따라, 포켓 전송 및 수신을 위한 현재의 동기식 인터페이스는 시스템 수행에 장애가 될 것이다. 따라서, PXE에서 데이터 업로딩 및 다운로딩을 위한 현재의 기술들은 최적의 수행을 제공하지 않는다.The pre-boot environment of the electronic device may be used for remote boot and / or remote installation purposes, which may require the electronic device to download one or more files from the remote server before control of the electronic device is transferred to the operating system. . In the pre-boot execution environment (PXE), the electronic device may receive one or more files from one or more remote servers. However, as the number of downloaded files increases and / or the functionality of PXE increases, the current synchronous interface for pocket transmission and reception will be a barrier to system performance. Thus, current techniques for data uploading and downloading in PXE do not provide optimal performance.
본 발명의 실시예들은, 예시적으로 도시되지만 이들로 제한되지 않으며, 첨 부된 도면에서 유사한 참조번호들은 유사한 요소들을 나타낸다.Embodiments of the invention are shown by way of example and not limitation, and like reference numerals in the accompanying drawings indicate like elements.
도 1은 토큰을 이용하여 동작하는 비동기식 네트워크 스택의 일 실시예에 대한 개념적 블록도.1 is a conceptual block diagram of one embodiment of an asynchronous network stack operating using tokens.
도 2는 내장된 펌웨어 에이전트(embedded firmware agent)에 대한 일 실시예의 블록도.2 is a block diagram of one embodiment for an embedded firmware agent.
도 3은 비동기식 네트워크 스택에서 계층들 사이의 토큰 전달 시퀀스(token passing sequence)에 대한 일 실시예의 개념적 흐름도.3 is a conceptual flow diagram of one embodiment of a token passing sequence between layers in an asynchronous network stack.
도 4는 토큰을 이용한 미리 요청된/계획된 동작을 취소하기 위하여 비동기식 네트워크 스택에서 계층들 사이의 시퀀스에 대한 일 실시예의 개념적 흐름도.4 is a conceptual flow diagram of one embodiment for a sequence between layers in an asynchronous network stack to cancel a previously requested / planned operation using a token.
도 5는 전자 시스템에 대한 일 실시예의 블록도.5 is a block diagram of one embodiment for an electronic system.
다음의 설명에서, 다수의 특정 상세들이 설명된다. 그러나, 본 발명의 실시예들은 이러한 특정 상세들 없이 실행될 수 있다. 다른 예로서, 본 설명에 대한 이해를 방해하지 않기 위하여 공지된 회로들, 구조들 및 기술들은 상세히 나타내지 않는다.In the following description, numerous specific details are set forth. However, embodiments of the invention may be practiced without these specific details. As another example, well-known circuits, structures and techniques have not been shown in detail in order not to disturb the understanding of the present description.
본 명세서에 오퍼레이팅 시스템 독립 환경에서 비동기식 네트워크 스택 동작을 위한 기술들이 설명된다. 일 실시예로서, 비동기식 동작은 프리-부트 환경에서 혹은 임의의 오퍼레이팅 시스템 독립 환경에서 네트워크 통신들을 위해 이용될 수 있는 토큰-기반 스택 디자인에 의해 지원될 수도 있다. 그 기술은 다양한 동작 계층을 대표하는 네트워크 스택 드라이버들을 위한 비동기식 호출 프레임워 크(calling framework)를 제공한다. 일 실시예로서, 드라이버 동작들(즉, 전송, 수신)이 계획될 수 있다.Techniques for asynchronous network stack operation in an operating system independent environment are described herein. As one embodiment, asynchronous operation may be supported by a token-based stack design that can be used for network communications in a pre-boot environment or in any operating system independent environment. The technology provides an asynchronous calling framework for network stack drivers that represent the various operating layers. As one embodiment, driver operations (ie, transmit, receive) may be planned.
본 명세서에서 비동기식 네트워크 스택의 동작을 지원하는 토큰의 사용을 위한 기술들이 설명된다. 일 실시예로서, 토큰은 다음 네 가지 특징들을 가질 수 있다: 1) 토큰은 (예를 들어, 데이터 패킷을 전송하기 위해, 데이터 패킷을 수신하기 위해) 요청된 행동들, 2) 토큰의 현재 상태 혹은 그 요청결과를 표시하기 위한 상태 표시자(status indicator), 3) 상태 변화의 통지를 제공하는 이벤트, 및 4) 컨텍스트(context)를 식별할 수도 있다. 대안적인 실시예로서, 부가적인 및/또는 다른 토큰 특징들이 지원될 수도 있다.Techniques for use of a token that support the operation of an asynchronous network stack are described herein. As one embodiment, a token may have four characteristics: 1) the token is requested actions (eg, to send a data packet, to receive a data packet), 2) the current state of the token Or a status indicator for indicating the request result, 3) an event providing a notification of status change, and 4) a context. As an alternative embodiment, additional and / or other token features may be supported.
도 1은 토큰을 이용하여 동작하는 비동기식 네트워크 스택에 대한 일 실시예의 개념적 블록도이다. 도 1의 개념적 블록도은 특정 네트워크 계층들 및 프로토콜들을 포함한다; 그러나, 대안적인 실시예에서, 다른 프로토콜들 및/또는 계층들이 지원될 수 있다.1 is a conceptual block diagram of one embodiment for an asynchronous network stack operating using tokens. The conceptual block diagram of FIG. 1 includes specific network layers and protocols; However, in alternative embodiments, other protocols and / or layers may be supported.
일 실시예로서, 각 네트워크 계층에 대한 물리적 구현은 내장된 펌웨어 에이전트(190)와 통신하도록 구성될 수도 있다. 대안적인 실시예로서, 하나 이상의 계층들은 내장된 펌웨어 에이전트(190)와 통신하도록 구성되지 않을 수도 있다. 어플리케이션(100)은 네트워크를 통해 호스트 장치 외부로 통신하는 기능성을 포함하는, 오퍼레이팅 시스템 제어하거나 혹은 아닌, 임의의 타입의 어플리케이션 종류를 나타낼 수도 있다. 어플리케이션(190)은 본 기술 분야에서 알려진 임의의 타입의 어플리케이션일 수도 있다.As one embodiment, the physical implementation for each network layer may be configured to communicate with the embedded
일 실시예로서, 어플리케이션(190)은 MTFTP(Multicast Trivial File Transfer Protocol) 계층(110)에 토큰을 패스함으로써 예를 들어, 네트워크 패킷의 전송과 같은 서비스들을 요청할 수도 있다. 일반적으로, TFTP는 FTP(File Transfer Protocol)보다 사용하기에 단순하나, 더 적은 기능성을 제공하는 전송 프로토콜이다. 예를 들어, TFTP는 사용자 인증 혹은 디렉토리 가시화(directory visibility)를 지원하지 않는다. TFTP는 TCP(Transmission Control Protocol) 보다는 UDP(User Datagram Protocol)을 이용한다. TFTP에 대한 일 실시예는 1992년 7월에 공개된 RFC(Request for Commnents) 1350, Rev.2에 공식적으로 나타나있다.In one embodiment, the
TFTP는 1997년 2월에 공개된 RFC 2090에 나타난 것과 같이 멀티캐스트 옵션(multicast option)을 포함하도록 확장되어왔다. 멀티캐스트 TFTP는 능동적인 클라이언트(active client) 혹은 수동적인 클라이언트(passive client)로서 클라이언트 장치들을 분류한다. 한번에 하나의 능동적인 클라이언트만이 존재한다. 능동적인 클라이언트는 정지-및-대기(stop-and-wait) ARQ 흐름 및 에러 제어 기술을 이용하여 교섭된 그룹 주소(negotiated group address)로 데이터를 다운로드하기 위하여 서버와 통신한다. 요청된 행동이 수행될 때, MTFTP 계층(11)은 그 행동을 요청하는 토큰으로 이벤트 통지를 반환한다. 토큰의 사용 및 이벤트 통지는 어플리케이션(1900)이 동작을 계속하도록 하고, 요청된 행동을 수행하는데 요구되는 시간 동안 다른 일들에 관여하도록 할 수도 있다.TFTP has been extended to include multicast options, as shown in RFC 2090, published in February 1997. Multicast TFTP classifies client devices as either active clients or passive clients. There is only one active client at a time. The active client communicates with the server to download data to the negotiated group address using stop-and-wait ARQ flow and error control techniques. When the requested action is performed, the MTFTP layer 11 returns an event notification to the token requesting that action. The use of the token and event notification may cause the application 1900 to continue to operate and engage in other things for the time required to perform the requested action.
일 실시예에서, 토큰 전달 기술은 각 네트워크 스택 계층 사이에서 사용될 수 있다. 즉, MTFTP 계층(110)과 UDP 계층(120) 사이, UDP 계층(120)과 IP 계 층(130) 사이, IP 계층(130)과 MNP(Managed Network Protocol) 계층 사이, 및 MNP 계층(140)과 NIC 드라이버(150) 사이에서 사용된다.In one embodiment, token transfer techniques may be used between each network stack layer. That is, between the
일 실시예에서, MTFTP 계층(110), UDP 계층(120), IP 계층(130) 및 MNP 계층(140)은 계층화된 네트워크 드라이버들을 나타낼 수도 있다. 동기식 네트워크 스택에서, 호출 계층이 요청된 동작을 수행하는 동안 호출 계층은 동작을 정지할 것이다. 반대로, 본 명세서에 설명된 비동기식 네트워크 스택 기술들을 이용함으로써, 계층은 토큰을 이용하여 하위 계층으로부터 동작을 요청하고, 그 동작이 하위 계층에 의해 수행되는 동안 요청된 동작에 독립적인 작업들을 수행할 수도 있다.In one embodiment,
예를 들어, IP 계층(130)은 수신된 IP 패킷을 요청하고, 수신 토큰 및 연관된 통지 이벤트를 준비할 수도 있다. 수신 토큰을 MNP 계층(140)으로 전달한 이후, IP 계층(130)은 예를 들어, 전송용 패킷 준비와 같은 다른 동작들에 관여할 수도 있다. 패킷이 네트워크로부터 수신되고, MNP 계층(240)에 의해 처리될 때, 수신 패킷은 저장되고, MNP 계층(240)은 IP 계층(140)으로부터 수신한 토큰에 대한 이벤트를 통해 수신된 패킷을 IP 계층(140)에 통지한다. 이벤트에 응답하여, IP 계층(140)은 수신된 패킷을 처리한다.For example,
일 실시예로서, 내장된 펌웨어 에이전트(190)는 오퍼레이팅 시스템 독립 환경에서 비동기식 네트워크 스택이 동작하도록 할 수 있다. 도 2는 내장된 펌웨어 에이전트에 대한 일 실시예의 블록도이다. 도 2의 예로서, 내장된 펌 웨어 에이전트는 캘리포니아 산타클라라의 인텔사로부터 이용 가능한, 2003년 11월 26일에 공 개된 EFI 명세(specifications), 버전 1.10에 의해 정의된 것과 같이 EFI(Extensible Firmware Interface)에 따르는 인터페이스를 가질 수도 있다. 대안적 실시예들로서, 다른 펌웨어 컴포넌트들 역시 이용될 수 있다.In one embodiment, the embedded
일 실시예로서, 내장된 펌웨어 에이전트는 시스템 인터페이스(205)와 연결된 에이전트 버스(200)을 포함할 수도 있다. 시스템 인터페이스(205)는 내장된 펌웨어 에이전트가 호스트 시스템과 통신하는 인터페이스를 제공할 수도 있다. 내장된 펌웨어 에이전트는 내장된 펌웨어 에이전트가 원격 전자 장치와 통신하도록 하는 외부 네트워크(도 2에 나타내지 않음)와 연결되어 있는 에이전트 네트워크 인터페이스(250)을 더 포함할 수도 있다. 에이전트 네트워크 인터페이스(250)는 유선 및/또는 무선 네트워크 통신을 지원할 수도 있다.In one embodiment, the embedded firmware agent may include an agent bus 200 coupled with the system interface 205. System interface 205 may provide an interface through which the embedded firmware agent communicates with a host system. The embedded firmware agent may further include an agent network interface 250 that is connected to an external network (not shown in FIG. 2) that allows the embedded firmware agent to communicate with a remote electronic device. Agent network interface 250 may support wired and / or wireless network communications.
일 실시예에서, 내장된 펌웨어 에이전트는 에이전트 버스(200)와 연결될 수도 있는 다이나믹 메모리(dynamic memory, 220)를 더 포함한다. 다이나믹 메모리(220)는 동작 동안 이용될 명령들 및/또는 데이터를 위한 저장소(storage)를 제공한다. 내장된 펌웨어 에이전트는 정적(static) 데이터 및/또는 명령들을 저장하기 위해 에이전트 버스(200)와 연결될 수도 있는 비-휘발성 저장소(non-volatile storage, 210)를 더 포함할 수 있다. 일 실시예에서, 내장된 펌웨어 에이전트는 다이나믹 메모리(220) 및/또는 비-휘발성 저장소(210)에 의해 제공된 제어 동작들 및/또는 실행 명령들을 수행할 수도 있는 에이전트 버스(200)와 연결된 제어 회로(230)를 포함한다.In one embodiment, the embedded firmware agent further includes a dynamic memory 220 that may be coupled with the agent bus 200. Dynamic memory 220 provides storage for instructions and / or data to be used during operation. The embedded firmware agent may further include non-volatile storage 210, which may be coupled with the agent bus 200 to store static data and / or instructions. In one embodiment, the embedded firmware agent is in control circuitry coupled with an agent bus 200 that may perform control operations and / or execution instructions provided by dynamic memory 220 and / or non-volatile storage 210. 230.
일 실시예로서, 내장된 펌웨어 에이전트는 호스트 오퍼레이팅 시스템에 대해 독립적인 동작들을 지원할 수도 있다. 이러한 동작들은 예를 들어, 오퍼레이팅 시스템이 로딩되기 전에, 또는 오퍼레이팅 시스템이 로딩되는 중이지만 오퍼레이팅 시스템에 제어를 전송하기 전에 수행되는 프리-부트 동작들일 수도 있다. 이러한 동작들은 또한 호스트 오퍼레이팅 시스템이 호스트 전자 장치를 제어할 경우, 호스트 오퍼레이팅 시스템에 독립적이다. 예를 들어, 일 실시예로서, 내장된 펌웨어 에이전트는 예를 들어, 팬티엄(Pentium) 프로세서의 SMI 핀 혹은 이태니엄(Itanium) 프로세서의 PMI 핀(일반적으로, xMI 라인으로 인터럽트 인터페이스를 통해 호스트 프로세서에 연결될 수도 있다. 다른 시스템 차단 신호들은 다른 프로세서들을 위해 이용될 수도 있다.As one embodiment, the embedded firmware agent may support independent operations for the host operating system. Such operations may be, for example, pre-boot operations performed before the operating system is loaded or before the operating system is loading but before transferring control to the operating system. These operations are also independent of the host operating system when the host operating system controls the host electronic device. For example, as an example, the embedded firmware agent may be connected to the host processor via an interrupt interface, e.g., the SMI pin of a Pentium processor or the PMI pin of an Itanium processor (typically, an xMI line). Other system shutdown signals may be used for other processors.
본 명세서에 나타낸 것과 같이, 토큰들의 이용으로 계층 동작들이 스케줄 가능하게 되어있으므로, 예를 들어, 하이퍼스래딩(hyperthreading), 멀티-프로세서 및 멀티-스래딩(threading)을 포함하는 병행 기술이 펌웨어 레벨 디자인에 포함되고, 스택 드라이버들이 병행 동작들을 수행하도록 할 수도 있다. 예로서, 인터럽트 혹은 타이머의 이용으로, 내장된 펌웨어 에이전트는 예를 들어, 배경 웹 서버 혹은 배경 텔넷(telnet) 서버를 포함하는 네트워크 동작들이 프리-부트 혹은 오퍼레이팅 시스템 독립 환경에서 지원될 수 있도록 비동기 네트워크 스택과 상호작용한다. 토큰에 의해 지원될 수도 있는 상태 및/혹은 컨텍스트의 이용은 동기적 스택 구성들에 의해 요구될 수도 있는 것과 같이 다른 채널들의 이용없이 네트워크 스택 계층들이 상태를 통신하도록 할 수도 있다.As indicated herein, hierarchical operations are made schedulable with the use of tokens, so that parallel techniques, including, for example, hyperthreading, multi-processor and multi-threading, are firmware level. It is also included in the design and may allow stack drivers to perform parallel operations. By way of example, with the use of interrupts or timers, the built-in firmware agent can be configured to asynchronous network so that network operations including, for example, a background web server or background telnet server can be supported in a pre-boot or operating system independent environment. Interact with the stack. The use of state and / or context that may be supported by the token may allow network stack layers to communicate state without the use of other channels, such as may be required by synchronous stack configurations.
도 3은 비동기식 네트워크 스택에 계층들 사이의 토큰 전달 시퀀스에 대한 일 실시예의 개념적 흐름도이다. 일 실시예에서, 상위 네트워크 스택은 특별한 동작(즉, 패킷의 전송 또는 수신)을 요청하기 위해 토큰을 생성하거나 또는 준비할 수도 있다. 일 실시예로서, 토큰은 요청된 동작의 상태 혹은 컨텍스트를 통신하는데 이용될 수 있는 통지 이벤트 및/또는 컨텍스트 정보를 포함할 수도 있다. 일 실시예로서, 상위 스택 계층은 하위 스택 계층에 토큰을 전달하기 위해 하위 스택 계층에 대한 방법 혹은 기능을 호출할 수도 있다.3 is a conceptual flow diagram of one embodiment for a token transfer sequence between layers in an asynchronous network stack. In one embodiment, the higher network stack may generate or prepare a token to request special actions (ie, sending or receiving packets). As one embodiment, the token may include notification event and / or context information that can be used to communicate the state or context of the requested operation. In one embodiment, the higher stack layer may invoke a method or function on the lower stack layer to pass tokens to the lower stack layer.
토큰 수신에 응답하여, 하위 스택 계층은 토큰으로 요청된 동작(즉, 전송, 수신)을 수행 및/또는 스케줄링할 수도 있다. 요청된 동작의 완료시에, 하위 스택 계층은 요청된 동작의 완료를 내장된 펌웨어 에이전트에 통신하는 신호 이벤트를 생성하거나 혹은 준비할 수도 있다. 일 실시예로서, 내장된 펌웨어 에이전트는 이벤트 통지로 요청된 동작 완료에 대해 상위 스택 계층에 통지할 수도 있다. 이벤트 통지 수신에 응답하여, 상위 스택 계층은 임의의 동작 완료 처리를 수행하고 토큰을 삭제할 수도 있다.In response to receiving the token, the lower stack layer may perform and / or schedule the requested operation (ie, transmit, receive) with the token. Upon completion of the requested operation, the lower stack layer may generate or prepare a signal event to communicate the completion of the requested operation to the embedded firmware agent. In one embodiment, the embedded firmware agent may notify the upper stack layer about the completion of the operation requested by the event notification. In response to receiving the event notification, the higher stack layer may perform any operation completion process and delete the token.
도 4는 토큰을 이용하여 이전에 요청된/스케줄링된 동작을 취소하기 위해 비동기식 네트워크 스택의 계층들 사이의 시퀀스에 대한 일 실시예의 개념적 흐름도이다. 일 실시예에서, 상위 네트워크 스택은 이전에 생성된 토큰을 취소하기 위해 취소 요청을 생성하거나 또는 준비할 수도 있다. 일 실시예에서, 취소 요청은 토큰의 상태 혹은 컨텍스트를 통신하는데 이용될 수 있는 토큰 및/혹은 컨텍스트 정보를 포함할 수도 있다.4 is a conceptual flow diagram of one embodiment for a sequence between layers of an asynchronous network stack to cancel a previously requested / scheduled operation using a token. In one embodiment, the higher network stack may generate or prepare a cancellation request to revoke a previously generated token. In one embodiment, the cancellation request may include token and / or context information that can be used to communicate the state or context of the token.
일 실시예에서, 상위 스택 계층은 취소 요청을 하위 스택 계층으로 전달하기 위해 하위 스택 계층의 방법 혹은 기능을 호출할 수도 있다. 취소 요청 수신에 응답하여, 하위 스택 계층은 토큰에 의해 식별된 이전 동작을 중단하고, 그 다음 신호 이벤트(signal event)를 내장된 펌웨어 에이전트에 생성하거나 혹은 준비할 수도 있다. 일 실시예에서, 내장된 펌웨어 에이전트는 디스패치 이벤트 신호(dispatch event signal)를 상위 스택 계층에 전송하여, 상위 스택 계층이 임의의 에러 처리를 수행하고 토큰을 삭제할 수도 있다.In one embodiment, the higher stack layer may invoke the methods or functions of the lower stack layer to forward cancellation requests to the lower stack layer. In response to receiving the cancellation request, the lower stack layer may abort the previous operation identified by the token and then create or prepare a signal event in the embedded firmware agent. In one embodiment, the embedded firmware agent may send a dispatch event signal to the higher stack layer, where the higher stack layer may perform any error handling and delete the token.
일 실시예에서, 도 3 및 도 4의 기술들은 전자 시스템에 의해 실행되는 명령들로써 이행될 수 있다. 명령들은 전자 장치에 의해 저장되기도 하고 또는 명령들은 전자 장치에 의해(즉, 네트워크 접속을 통해서) 수신될 수 있다. 도 5는 전자 시스템에 대한 일 실시예의 블록도이다. 도 5에 나타낸 전자 시스템은 예를 들어, 컴퓨터 시스템들, 네트워크 액세스 장치들 등과 같은 전자 시스템의 범위를 나타내도록 의도된다. 대안적인 전자 혹은 비-전자 시스템들은 더 적은 및/또는 다른 컴포넌트들을 포함할 수 있다. 도 5의 전자 시스템은 하나 이상의 클라이언트 장치들뿐만 아니라 서버 장치를 나타낼 수도 있다.In one embodiment, the techniques of FIGS. 3 and 4 may be implemented with instructions executed by an electronic system. The commands may be stored by the electronic device or the commands may be received by the electronic device (ie, via a network connection). 5 is a block diagram of one embodiment for an electronic system. The electronic system shown in FIG. 5 is intended to represent a range of electronic systems such as, for example, computer systems, network access devices, and the like. Alternative electronic or non-electronic systems may include fewer and / or other components. The electronic system of FIG. 5 may represent a server device as well as one or more client devices.
전자 시스템(500)은 정보를 통신하기 위한 버스(505) 또는 다른 통신 장치 및 정보를 처리하기 위해 버스(505)에 연결된 프로세서(510)를 포함한다. 전자 시스템(500)이 단일 프로세서를 포함하여 나타낸 반면, 전자 시스템(500)은 다중 프로세서들 및/또는 코-프로세서들을 포함할 수 있다. 전자 시스템(500)은 프로세서(510)에 의해 실행될 정보 및 명령들을 저장하기 위해 버스(505)와 연결된 RAM(random access memory) 혹은 다른 다이나믹 저장 장치(520, 메모리로서 지칭 됨)를 더 포함한다. 메모리(520)는 또한 프로세서(510)에 의한 명령 실행 동안 일시적인 변화들 또는 다른 중간 정보를 저장하는데 이용될 수 있다.The
전자 장치(500)는 또한 프로세서(510)용 정적 정보 및 명령들을 저장하기 위해 버스(5050)와 연결된 ROM(read only memory) 및/또는 다른 정적 저장 장치(510)를 더 포함한다. 일 실시예에서, 정적 저장 장치(530)는 내장된 펌웨어 에이전트를 포함할 수 있다. 대안적인 실시예에서, 다른 펌웨어 컴포넌트들이 또한 이용될 수 있다.
데이터 저장 장치(540)는 정보 및 명령들을 저장하기 위해 버스(505)와 연결된다. 자기 디스크(magnetic disk) 혹은 광 디스크와 같은 데이터 저장 장치(540) 및 대응하는 드라이브가 전자 시스템(500)과 연결될 수 있다.The
전자 시스템(500)은 또한 사용자에게 정보를 디스플레이하기 위해 CRT(cathode ray tube) 혹은 LCD(liquid crystal display)와 같은 디스플레이 장치(550)에 버스(505)를 통해 연결될 수 있다. 문자 숫자식 및 다른 키들을 포함하는, 문자 숫자식 입력(alphanumeric input) 장치(560)는 전형적으로 프로세서(510)에 정보 및 커맨드 선택들(command selections)을 통신하기 위해 버스(505)에 연결된다. 사용자 입력 장치의 다른 종류는 프로세서(510)에 방향 정보 및 커맨드 선택들을 통신하고, 디스플레이(550)에 대한 커서 움직임을 제어하기 위한 마우스, 트랙볼(trackball), 혹은 커서 방향 키들과 같은 커서 제어(570)이다. 전자 시스템(500)은 근거리 네트워크(local area network)와 같은 네트워크에 액세스를 제공하는 네트워크 인터페이스(580)를 더 포함한다. 네트워크 인터페이스(580)는 당업 계에서 알려진 임의의 프로토콜에 따른 무선 네트워크 인터페이스를 제공하는 하나 이상의 안테나(585)를 더 포함할 수도 있다.The
명령들은 하나 이상의 전자적으로-액세스 가능한 미디어 등에 유선 혹은 무선의 액세스를 제공하는 원격 접속(즉, 네트워크 인터페이스(580)을 통한 네트워크로)을 통해 자기 디스크, ROM 집적 회로, CD-ROM, DVD와 같은 저장 장치로부터 메모리에 제공된다. 대안적인 실시예로서, 하드-와이어드(hard-wired) 회로는 소프트웨어 지시들 대신에 혹은 결합하여 이용될 수 있다. 따라서, 명령들의 실행 시퀀스는 하드웨어 회로 소자 및 소프트웨어 명령들의 임의의 특정 결합에 한정되지 않는다.Instructions may be used such as magnetic disks, ROM integrated circuits, CD-ROMs, DVDs, or the like via a remote connection (i.e., to a network via network interface 580) to provide wired or wireless access to one or more electronically accessible media. From storage to memory. As an alternative embodiment, hard-wired circuitry may be used instead of or in combination with software instructions. Thus, the execution sequence of instructions is not limited to any particular combination of hardware circuitry and software instructions.
전자적으로-액세스 가능한 매체는 전자 장치(즉, 컴퓨터, 개인용 휴대용 정보 단말기, 핸드폰)에 의해 읽을 수 있는 형태로 컨텐트(즉, 컴퓨터 실행가능한 명령들)를 제공(즉, 저장 및/또는 전송)하는 임의의 메카니즘을 포함한다. 예를 들어, 머신-액세스 가능한 매체는 ROM(read only memory); RAM(random access memory); 자기 디스크 저장 매체; 광 저장 매체; 플래쉬 메모리 장치들; 전파된 신호들(즉, 반송파(carrier wave), 적외선 신호들, 디지털 신호들)의 전자, 광, 음향적 혹은 다른 형태 등을 포함한다.Electronically-accessible media provide (ie, store and / or transmit) content (ie, computer executable instructions) in a form readable by an electronic device (ie, computer, personal digital assistant, mobile phone). It includes any mechanism. For example, machine-accessible media include read only memory (ROM); Random access memory (RAM); Magnetic disk storage media; Optical storage media; Flash memory devices; Electronic, optical, acoustical or other forms of propagated signals (ie, carrier waves, infrared signals, digital signals), and the like.
본 명세서에 " 일 실시예" 혹은 "실시예"로 참조된 것은 실시예와 관련되어 설명된 특별한 특징, 구조, 혹은 특성이 본 발명의 적어도 일 실시예에 포함된다는 것을 의미한다. 명세서 다양한 곳에 "일 실시예"의 구문에 대한 표현은 모두 동일한 실시예로 참조할 필요가 없다.Reference herein to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. The appearances of the phrase "one embodiment" in various places in the specification are not necessarily all referring to the same embodiment.
본 발명은 여러 실시예들에 대해 설명된 반면, 당업자들은 본 발명이 설명된 실시예에 한정되지 않으며, 부가된 특허청구범위들의 사상 및 범위 내에서 수정 및 변경이 실행될 수 있음을 인지할 것이다. 그러므로, 설명은 한정하는 것이 아니라 예시적인 것으로써 간주된다.While the invention has been described in terms of various embodiments, those skilled in the art will recognize that the invention is not limited to the embodiments described, but modifications and variations may be made within the spirit and scope of the appended claims. Therefore, the description is to be regarded as illustrative instead of limiting.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020077022155A KR20070116034A (en) | 2007-09-28 | 2005-03-05 | Asynchronous network stack operation in an operating system independent environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020077022155A KR20070116034A (en) | 2007-09-28 | 2005-03-05 | Asynchronous network stack operation in an operating system independent environment |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107012881A Division KR101059668B1 (en) | 2005-03-05 | 2005-03-05 | Asynchronous network stack operation in an operating system independent environment |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20070116034A true KR20070116034A (en) | 2007-12-06 |
Family
ID=39142082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077022155A KR20070116034A (en) | 2007-09-28 | 2005-03-05 | Asynchronous network stack operation in an operating system independent environment |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20070116034A (en) |
-
2005
- 2005-03-05 KR KR1020077022155A patent/KR20070116034A/en not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6795864B2 (en) | System using lookup service proxy object having code and request rate for managing rate at which client can request for services from server are transmitted | |
KR101059668B1 (en) | Asynchronous network stack operation in an operating system independent environment | |
JP5479513B2 (en) | Remote control framework | |
JP6707153B2 (en) | Secure configuration of cloud computing nodes | |
KR100953004B1 (en) | Server side tftp flow control | |
KR20090003224A (en) | Network interface routing using computational context | |
US10313448B2 (en) | Employing an auxiliary device to implement USB device redirection | |
JP2005310130A (en) | Method, system, and program for executing data transfer request | |
WO2019195086A1 (en) | Customized service request permission control system | |
CN111258723B (en) | Transaction processing method, device, system, medium and equipment of distributed system | |
KR100953005B1 (en) | Self-adaptive multicast file transfer protocol | |
US11736435B2 (en) | Automatic IPV6/IPV4 fallback approach in proxy networks | |
US10742776B1 (en) | Accelerating isochronous endpoints of redirected USB devices | |
EP4210303A1 (en) | Preemptive tcp connections to reduce latency for proxies | |
US20110138067A1 (en) | Cluster View Performance | |
KR20070116034A (en) | Asynchronous network stack operation in an operating system independent environment | |
EP1734443A1 (en) | Access to a mobile device from another device | |
US11431826B2 (en) | Secure demand-driven file distribution | |
US11494197B2 (en) | Enabling a pre-boot screen to be accessed remotely | |
US10691630B2 (en) | State-based IRP management for redirected device | |
JP2006085281A (en) | Application control system and application control method | |
WO2012132102A1 (en) | Network system, processing terminals, program for setting wait times, and method for setting wait times | |
WO2013191973A1 (en) | Automated controlling of host over network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
A107 | Divisional application of patent | ||
J121 | Written withdrawal of request for trial | ||
WITB | Written withdrawal of application |