KR101432326B1 - 호스트 가장 네트워크 디바이스 및 그의 방법 - Google Patents

호스트 가장 네트워크 디바이스 및 그의 방법 Download PDF

Info

Publication number
KR101432326B1
KR101432326B1 KR1020097003189A KR20097003189A KR101432326B1 KR 101432326 B1 KR101432326 B1 KR 101432326B1 KR 1020097003189 A KR1020097003189 A KR 1020097003189A KR 20097003189 A KR20097003189 A KR 20097003189A KR 101432326 B1 KR101432326 B1 KR 101432326B1
Authority
KR
South Korea
Prior art keywords
program
network device
host
network
port
Prior art date
Application number
KR1020097003189A
Other languages
English (en)
Other versions
KR20090071542A (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 KR20090071542A publication Critical patent/KR20090071542A/ko
Application granted granted Critical
Publication of KR101432326B1 publication Critical patent/KR101432326B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • 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
    • 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 Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

호스트 디바이스로부터 제 1 표시를 수신하는 방법이 포함된다. 디바이스는 네트워크 디바이스용으로 지정된 호스트 디바이스의 제 1 포트(port)이다. 방법은 또한 제 1 표시의 수신에 응답하여 네트워크 디바이스에서 호스트 디바이스로서 가장한다(pose).
호스트 디바이스, 네트워크 디바이스, 포트

Description

호스트 가장 네트워크 디바이스 및 그의 방법{HOST POSING NETWORK DEVICE AND METHOD THEREOF}
본 발명은 네트워크 디바이스들에 관한 것으로, 특히 클라이언트와 호스트 사이의 통신을 용이하게 하는 네트워크 디바이스들(network devices)에 관한 것이다.
관련 출원(들)에의 상호-참조
본 출원은 현재 양수인에 양도되고 전체를 참조로 여기에 통합되는 2006년 7월 17일에 출원된 명칭이 "임의의 사용을 위해 네트워크 디바이스를 호스트 디바이스로서 가장하게 하는 방법 및 시스템(Method and System for Permitting a network Device to Pose as a Host Device for Any Use)"인 미국 가 특허출원번호 60/807,517에 대한 우선권을 주장한다.
네트워크는 누가 네트워크를 사용할 수 있는가와, 네트워크가 전달하는 트래픽(traffic)의 형태, 트래픽을 전달하는 매체, 네트워크의 접속들의 전형적 특성, 및 네트워크가 사용하는 전송 기술과 같은 몇 가지 인자들에 의해 특징지워질 수 있다. 예를 들면, 하나의 네트워크는 공용(public) 네트워크이고 회선(circuit) 교환 음성 트래픽을 전달할 수 있는 반면 또 다른 네트워크는 전용(private) 네트워 크이고 패킷 교환 데이터 트래픽을 전달할 수 있다. 구성이 무엇이든간에, 대부분의 네트워크들은 적어도 2개의 노드들 사이의 정보 통신을 용이하게 하고, 따라서 통신 네트워크들로서 작용한다.
최근에, 통신 네트워크의 2개 이상의 소자들(elements) 사이의 적시의 효과적인 상호작용들에 의존하는 몇몇 애플리케이션들(applications)이 개발되었다. 예를 들면, 온라인 뱅킹(online banking) 서버, 또는 호스트(host)는 통신 네트워크를 통해 수백 또는 수천의 클라이언트 컴퓨터들과 상호작용할 수 있다. 이러한 아키텍처(architecture)에 있어, 네트워크화된 호스트 컴퓨터에는, 콘텐트(content)를 클라이언트들에 제공하고, 클라이언트 요청들을 수신하고, 이들 요청들을 처리하고, 이들 요청들에 응답하고, 이들 요청들을 다른 클라이언트들의 요청들과 동기화하는 작업이 빈번하게 부과된다.
호스트 기계가 클라이언트 요청들을 처리하고 응답하기 위해서 통신 네트워크에서 다른 서버들과 같은, 다른 리소스들(resources)을 사용하는 것이 종종 유용하다. 이것은 요청들이 보다 신속하고 향상된 보안성을 갖고 처리될 수 있게 한다. 그러나, 다른 서버들의 사용은 호스트와 클라이언트 사이의 통신에서 바람직하지 못한 량의 부가적인 오버헤드(overhead)를 야기할 수 있다. 예를 들면, 호스트 기계는 특정 요청들이 또 다른 서버에 라우팅되어야 함을 클라이언트에 나타낼 수 있다. 이것은 소프트웨어 패치(patch)를 통해서와 같은, 클라이언트 기계에 있는 통신 소프트웨어의 수정을 요구하여, 통신에서 바람직하지 못한 지연을 초래한다. 또한, 어떤 경우들에 있어서 작업들(task)이 호스트에서 다른 리소스들로 이전되었음 을 클라이언트 기계에 알리는 것은 바람직하지 못하다. 따라서, 호스트 기계가 작업들을 이전할 수 있게 하는 개선된 네트워크 디바이스에 대한 필요성이 있다.
본 발명은 네트워크 디바이스들에 관한 것으로, 특히 클라이언트와 호스트 사이의 통신을 용이하게 하는 네트워크 디바이스들(network devices)에 관한 것이다.
네트워크 디바이스는 호스트와 클라이언트 사이와 같은, 네트워크 내의 2개의 컴퓨터 디바이스들 사이의 통신을 용이하게 한다. 네트워크 디바이스는 네트워크에서 제 1 컴퓨터 디바이스로서 가장(pose)하여, 제 1 컴퓨터 디바이스로 타겟된 제 2 컴퓨터 디바이스로부터의 통신을 인터셉트(intercept)하고 처리할 수 있다. 제 1 컴퓨터 디바이스는 제 1 컴퓨터 디바이스에 연관된 통신 포트들이 네트워크 디바이스용으로 지정(reserve)되었음을 네트워크 디바이스에 나타낸다. 네트워크 디바이스는 지정된 포트로 타겟된 제 2 컴퓨터 디바이스로부터의 통신을 인터셉트하고 통신을 처리한다. 이에 따라, 네트워크 디바이스는 제 1 컴퓨터 디바이스에 명백한 방식으로 제 1 컴퓨터 디바이스로서 가장하여, 제 2 컴퓨터 디바이스에서 소프트웨어의 수정없이 통신이 네트워크 디바이스에서 처리될 수 있게 한다
도 1은 네트워크 구성의 특정한 일 실시예의 블럭도.
도 2는 네트워크 디바이스에 접속된 컴퓨터 디바이스의 특정한 일 실시예의 블럭도.
도 3은 네트워크 디바이스에 접속된 컴퓨터 디바이스의 대안적인 일 실시예의 블럭도.
도 4는 네트워크 디바이스의 특정한 일 실시예의 블럭도.
네트워크 디바이스는 호스트와 클라이언트 사이와 같은, 네트워크 내의 2개의 컴퓨터 디바이스들 사이의 통신을 용이하게 한다. 네트워크 디바이스는 네트워크에서 제 1 컴퓨터 디바이스로서 가장(pose)하여, 제 1 컴퓨터 디바이스로 타겟된 제 2 컴퓨터 디바이스로부터의 통신을 인터셉트(intercept)하고 처리할 수 있다. 제 1 컴퓨터 디바이스는 제 1 컴퓨터 디바이스에 연관된 통신 포트들이 네트워크 디바이스용으로 지정(reserve)되었음을 네트워크 디바이스에 나타낸다. 네트워크 디바이스는 지정된 포트로 타겟된 제 2 컴퓨터 디바이스로부터의 통신을 인터셉트하고 통신을 처리한다. 이에 따라, 네트워크 디바이스는 제 1 컴퓨터 디바이스에 명백한 방식으로 제 1 컴퓨터 디바이스로서 가장하여, 제 2 컴퓨터 디바이스에서 소프트웨어의 수정없이 통신이 네트워크 디바이스에서 처리될 수 있게 한다.
이하 논의되는 실시예들은 부분적으로, 네트워크 소자들 사이의 통신 상호작용의 전부 또는 일부를 관리하는 분배된 계산 해결책들을 기술한다. 이 환경(context)에서, 통신 상호작용은 정보 전송 의도, 정보 전송, 정보 요청, 정보 수신, 또는 정보에 대한 요청 수신 중 하나 이상일 수 있다. 따라서, 통신 상호작용은 일 방향성, 양-방향성(bi-directional), 또는 다중-방향성(multi-directional)일 수도 있을 것이다. 어떤 상황들에서, 통신 상호작용은 상대적으로 복잡하고 2개 이상의 네트워크 소자들을 포함할 수도 있을 것이다. 예를 들면, 통신 상호작용은 "대화(conversation)"이거나 클라이언트와 호스트 서버 사이의 일련의 관계된 통신일 수 있는데 - 각각의 네트워크 소자는 다른 소자에 및 이로부터의 정보를 전송 및 수신한다. 통신 상호작용이 취하는 어떤 형태이든간에, 포함되는 네트워크 소자들은 임의의 특정 형태를 취할 필요가 없는 것에 주의한다. 네트워크 디바이스를 포함하는, 네트워크 소자는 노드, 하나의 하드웨어, 소프트웨어, 펌웨어(firmware), 미들웨어(middleware), 계산 시스템의 몇몇 다른 구성요소, 및/또는 그들의 어떤 조합일 수 있다.
다음 논의의 대부분이 온라인 뱅킹 또는 온라인 게임과 같은, 특정 네트워크 상호작용들에 연관된 특정 문제들에 중점을 둘지라도, 여기 개시된 교시들(teachings)은 더 넓은 적용성을 가질 수 있다. 따라서, 특정한 예들에 관계된 논의들, 및 주문형 비디오 시스템(Video On Demand), 엔터테인먼트 배송(entertainement distribution) , 정보 배송, 등과 같은 다른 애플리케이션들은 또한 여기 개시된 교시들을 통합하는 방식으로 구현될 수도 있다.
거시적으로, 본 개시의 교시들을 통합하는 시스템은 사용자 기계 상에 상주하는 클라이언트 프로그램과 사용자로부터 멀리 떨어진 호스트 계산 디바이스 상에 상주하는 서버 프로그램 사이의 특정한 통신에 대해서 호스트 디바이스로서 가장하는 네트워크 디바이스를 포함할 수 있다. 서버 프로그램은 허브(hub) 및 스포크(spoke) 또는 중앙집중화된 서버 구성으로 배치되는 이층(two-tier) 아키텍처의 일부일 수 있다. 서버 프로그램은 또한 덜 중앙집중화된 모델에서 이용될 수 있다. 예를 들면, 서버 프로그램은 서버와 같은 기능성을 수행하는 2개 이상의 클라이언트 프로그램들 중 하나로서 구현될 수 있다. 게다가, 호스트 디바이스는 피어-투-피어(peer-to-peer; P2P) 네트워크 구성을 통해 제 2 사용자 기계에 클라이언트 프로그램과 통신하는 하나의 사용자 기계일 수 있다. 따라서, 호스트 디바이스 및 사용자 기계는 2개의 사용자 기계들, 2개의 서버 디바이스들, 사용자 기계 및 서버 디바이스, 및 그들의 임의의 조합을 포함하는, 네트워크 내의 임의의 2개의 컴퓨터 디바이스들일 수 있다.
그러나, 서버 프로그램이 구현되고, 네트워크 디바이스는 클라이언트 프로그램으로부터 어떤 통신을 위해 호스트로서 효과적으로 가장하기 위해 이용될 수 있다. 예를 들면, 네트워크 디바이스는 서버 프로그램을 위해 의도된 어떤 클라이언트에서 개시된 통신을 인터셉트하고, 서버 프로그램 포함없이 그들 통신을 처리하고, 클라이언트 프로그램에 응답할 수 있다. 어떤 상황들에서, 네트워크 디바이스는 실제로 원래의 클라이언트 요청을 서버에 전송하는 것을 불필요하게 만들 수 있다. 세부 구현에 따라, 상이한 메시지 - 원래의 클라이언트 요청이 이미 핸들링(handling)되었다는 것을 나타내는 것 - 가 처리기 모듈(processor module)로부터 서버로 전송될 수 있다. 실제로, 서버 프로그램에 부담을 주지 않고 네트워크의 일부를 통과함이 없이 통신을 처리하는 것은 레이턴시(latency), 래그(lag), 데이터 일관성(coherency) 손실과 같은 문제들을 감소시키는데 도움을 줄 수 있다. 게다가, 서버 프로그램에 부담을 주지 않고 통신을 처리하는 것은 리소스들을 방면하여(free) 서버 컴퓨터가 다른 프로그램들 및 작업들을 실행할 수 있게 한다.
또한, 네트워크 디바이스가 호스트 서버로서 가장하기 때문에, 호스트 서버와 클라이언트 프로그램들 사이의 상대적으로 단순한 통신 오버헤드를 유지하면서도 수많은 프로그램들 또는 작업들이 네트워크 디바이스 및 호스트 서버에 의해 실행될 수 있다. 즉, 네트워크 디바이스가 특정한 통신들에 대해 호스트로서 가장하기 위해 할당되었다면, 이 할당은 클라이언트 프로그램들에 명백하다. 따라서, 클라이언트 프로그램은 네트워크 디바이스에 적합한 통신을 제공하기 위해 조절 또는 패치될(patched) 필요가 없다.
위에 나타낸 바와 같이, 본 출원은 2006년 7월 17일에 출원된 미국 가 특허출원번호 60/807,517에 대한 우선권을 주장한다. 미국 가 특허출원은 여기 개시된 교시들의 구체적 구현들을 부분적으로 기술하고 있고 이하 첨부된 청구항들의 범위를 제한하도록 의도되지 않는다. 미국 가 특허출원의 전체가 참조로 여기에 통합된다.
위에 언급된 바와 같이, 도 1은 호스트 계산 디바이스(102)에서 실행하는 호스트 프로그램(103), 네트워크 디바이스(104)를 포함하는 네트워크(106), 및 계산 디바이스(108)에서 실행하는 클라이언트-측 프로그램(107)을 포함하는 네트워크 장치(network arrangement)(100)의 블록도이다. 네트워크 디바이스(104)의 실제 위치는 다른 배치들에서 수정될 수 있다. 예를 들면, 네트워크 디바이스는 호스트 계산 디바이스(102)에서 네트워크 카드, 처리기 동글(dongle), "랜 온 마더보드(Lan on Motherboard)" 처리기, 등으로서 구현될 수 있다. 도 1의 실시예에서, 네트워크(106)는 인터넷과 같은, 광역 네트워크, 근거리 네트워크, 또는 몇몇 다른 적합 한 네트워크 또는 버스(bus)일 수 있다. 장치(100) 내에, 계산 디바이스들(102, 108)은 유사하거나 상이할 수 있다. 예를 들면, 계산 디바이스(108)는 로컬 사용자 컴퓨터, 랩톱(laptop), 셀룰러 전화(cellular phone), 게임 콘솔(gaming consule), 워크스테이션(workstation), 또는 몇몇 다른 적합한 디바이스일 수 있고, 호스트 계산 디바이스(102)는 서버 컴퓨터, 워크스테이션, 계산 디바이스(108)의 피어(peer), 또는 몇몇 다른 적합한 디바이스일 수 있다.
동작에서, 클라이언트-측 프로그램(107) 및 호스트 프로그램(103)은 네트워크(106)를 통해서, 그리고 특히 네트워크 디바이스(104)를 통해서 서로 통신할 수 있다. 일 실시예에서, 클라이언트 프로그램(107)(종종 클라이언트(107)로서 언급되는) 및 호스트 프로그램(103)(종종 호스트(103)로서 언급되는)은 함께 작동하여 계산 디바이스(108)의 사용자에게 온라인 경험을 제공할 수 있다. 동작에서, 클라이언트-측 프로그램(107)은 서버-측 프로그램(102)으로부터 콘텐트를 수신할 수 있고 제공되는 콘텐트에 작용하거나 또는 호스트 프로그램(103)에서 데이터를 수정하기 위해 호스트 프로그램(103)에 요청들을 종종 전송할 수 있다. 도시된 바와 같이, 도 1은 클라이언트 프로그램을 실행하는 단지 하나의 디바이스만을 포함한다. 그러나, 실제로, 서버-측 프로그램(103) 및 계산 디바이스(102)는 같은 시간에 또는 거의 같은 시간에 많은 클라이언트들에게 콘텐트를 제공하고 있을 수 있다.
동작에서, 클라이언트 프로그램(107)은 정보를 업데이트(update)하거나, 작업들(task)이 수행될 것을 요청하거나, 등을 실행하기 위해서 호스트 프로그램(103)에 통신 또는 메시지들을 전송할 수 있다. 예를 들면, 호스트 프로그 램(103)은 온라인 뱅킹 애플리케이션일 수 있고 클라이언트 프로그램(107)은 웹 브라우저(web browser)일 수 있다. 클라이언트 프로그램(107)은 계좌 정보를 보거나, 거래들(transactions)을 처리하거나, 등을 실행하기 위해서 호스트 프로그램(103)에 요청들을 전송할 수 있다. 응답하여, 호스트 프로그램(103)은 요청된 작업들이 위임되었는지를 결정하고, 그러하다면 작업들을 실행할 수 있다.
호스트 프로그램(103)과 통신하기 위해서, 클라이언트 프로그램(107)은 메시지들을 네트워크(106)를 통해서, 그리고 특히 메시지들이 네트워크 디바이스(104)를 통과하도록 전송한다. 각각의 메시지는 컴퓨터 디바이스(102)의 위치를 나타내는, 어드레스 정보(address information)와 같은, 정보를 포함한다. 또한, 각각의 메시지는 메시지가 연관되는 컴퓨터 디바이스(102)의 타겟 포트(target port)를 나타내는, 포트 정보를 포함한다. 네트워크 디바이스(104)는 메시지를 컴퓨터 디바이스(102)에 제공하며, 이것은 메시지를 포트 정보에 기초하여 적합한 프로그램으로 라우팅한다.
호스트 프로그램(103)을 포함하는, 컴퓨터 디바이스(102)에서 실행하는 각각의 프로그램은 하나 이상의 포트들에 연관된다. 또한, 각각의 프로그램의 상이한 모듈들은 상이한 포트에 연관될 수 있다. 예를 들면, 호스트 프로그램(103)은 디스플레이 정보를 클라이언트 프로그램(107)에 제공하기 위한 모듈 및 컴퓨터 디바이스(102)에서 데이터베이스를 관리하기 위한 모듈을 포함할 수 있다. 이들 모듈들 각각은 자신의 포트에 연관될 수 있어서, 클라이언트 프로그램(107)은 메시지들을 컴퓨터 디바이스(102)의 상이한 포트들을 타겟으로 함으로써 호스트 프로그램의 상 이한 모듈들과 상호작용할 수 있다.
동작에서, 호스트 프로그램(103)은 클라이언트 프로그램(107)의 특정 메시지들에 대해서 호스트 프로그램(103)으로서 가장하도록 네트워크 디바이스(104)에 명령할 수 있다. 네트워크 디바이스(104)를 호스트로서 가장하게 하기 위해서, 호스트 프로그램(103)은 컴퓨터 디바이스(102)에 하나 이상의 포트들을 지정한다. 이것은 지정된 포트들이 다른 프로그램들에 할당되지 않아야 함을 컴퓨터 디바이스(102)에 나타낸다. 또한, 호스트 프로그램(103)은 포트들이 지정되었다는 메시지를 네트워크 디바이스(104)에 전송한다. 응답하여, 네트워크 디바이스는 클라이언트 프로그램(107)으로부터 수신된 메시지들이 지정된 포트로 타겟된 것인지를 결정한다. 그러하다면, 네트워크 디바이스(104)는 메시지를 처리한다. 메시지는 컴퓨터 디바이스(102)에 의해 제공된 명령들을 사용하거나, 미리-로딩된 명령들을 사용함으로써 또는 네트워크(106) 내의 다른 디바이스들 또는 외부 메모리로부터와 같은 몇몇 다른 소스(source)로부터의 명령들을 사용함으로써 네트워크 디바이스(104)에서 처리될 수 있다.
메시지의 처리에 응답하여, 네트워크 디바이스(104)는 정보를 클라이언트 정보(107)에 전송할 수 있다. 네트워크 디바이스(104)가 호스트 프로그램(103)으로서 가장하고 있기 때문에, 네트워크 디바이스(104)에 의해 제공된 정보는 메시지가 인터셉트되지 않았었더라면 호스트 프로그램(103)에 의해 제공되었을 정보와 유사하거나 동일할 수 있다.
일 예로서, 호스트 프로그램(103)은 컴퓨터 디바이스(102)의 포트에 연관된 인증(authentication) 모듈을 포함하는 온라인 뱅킹 프로그램일 수 있다. 호스트 프로그램(103)은 포트를 지정하고 포트가 지정되었음을 네트워크 디바이스(104)에 나타내고, 인증 모듈을 네트워크 디바이스(104)에 제공한다. 클라이언트 프로그램(107)은 호스트 프로그램(103)과 상호작용하는 브라우저일 수 있다. 온라인 뱅킹 처리의 일부로서, 클라이언트 프로그램(107)은 인증 모듈에 연관된 포트로 타겟된 메시지를 통해 인증 정보를 전송한다. 네트워크 디바이스(104)는 인증 정보를 포함하는 메시지를 수신하고 지정되었는지를 결정한다. 따라서, 네트워크 디바이스(104)는 인증 정보가 클라이언트 프로그램(107)을 인증하는지의 여부를 결정하기 위해서 인증 모듈을 실행함으로써 메시지를 처리한다. 네트워크 디바이스(104)에서 인증 모듈은 프로그램이 위임되었는지의 여부를 나타내는 정보를 클라이언트 프로그램(107)에 제공한다. 인증 모듈은 또한 클라이언트 프로그램(107)이 위임되었는지의 여부를 나타내는 정보를 호스트 프로그램(103)에 제공할 수 있다. 따라서, 네트워크 디바이스(104)는 인증 모듈을 실행하기 위해 호스트 프로그램(103)으로서 가장한다. 이 예에서, 인증 모듈에 관하여 네트워크 디바이스(104)가 호스트 프로그램(103)으로서 가장하고 있음은 클라이언트 프로그램(107)에 명백하다. 이것은 클라이언트 프로그램(107)에 대한 수정없이 인증 모듈이 네트워크 디바이스(104)에 작업이 넘겨지게 한다(offloaded).
네트워크 디바이스(104)가 특정한 작업들에 대해 호스트 프로그램(103)으로서 가장할 수 있게 하기 위해서, 그들 작업들에 연관된 명령들이 호스트 프로그램(103)으로부터 네트워크 디바이스(104)에 제공될 수 있다. 도 2는 컴퓨터 디바이 스(202)가 프로그램 모듈(222)을 네트워크 디바이스(204)에 제공할 수 있게 하는 장치의 특정한 실시예의 블럭도이다.
도시된 바와 같이, 컴퓨터 디바이스(202)는 호스트 프로그램(203)을 실행한다. 호스트 프로그램(203)은 프로그램 모듈(222)을 포함하는 다수의 모듈들을 포함할 수 있다. 특정한 일 실시예에서, 프로그램 모듈(222)은 호스트 프로그램(203)을 대신하여 하나 이상의 작업들을 실행한다. 또 다른 특정한 실시예에서, 프로그램 모듈(222)은 독자형(stand-alone) 프로그램이고, 호스트 프로그램(203)은 프로그램 모듈(222)을 프로그램 모듈(222)에 공급하는 오버헤드 프로그램 또는 모듈이다.
프로그램 모듈(222)을 네트워크 디바이스(204)에 제공하기 위해서, 호스트 프로그램(203)은 네트워크 소켓(network socket)을 생성하고 소켓에 대한 소켓 옵션(socket option)을 설정한다(set). 특정한 일 실시예에서, 소켓 옵션은 8801과 같은, 사용되지 않은 소켓 옵션에 대한 SETSOCKOPT를 호칭함으로써 설정된다. 또 다른 실시예에서, 미리-배열된 네트워크 포트 및 네트워크 소켓이 네트워크 디바이스(204) 및 호스트 프로그램(203)에 구축된다. 소켓을 오픈(open)하는 것에 관련하여, 호스트 프로그램(103)은 프로그램 모듈(222)이 제공될 것임을 나타내는, '준비(prepare)' 명령을 네트워크 디바이스(102)에 전송한다. 특정한 일 실시예에서, 호스트 프로그램(203)은 컴퓨터 디바이스(2)에서 다른 프로그램들로부터 소켓 옵션 명령을 인터셉트하고 소켓 옵션에 응답하여 '준비' 명령을 전송하는 프로그램 또는 모듈이다. 또 다른 특정한 실시예에서, 호스트 프로그램(203)은 컴퓨터 디바이스(202)에서 다른 프로그램들로부터 소켓 오픈 명령(socket open command)을 인터 셉트하고 미리-배열된 소켓 상에 소켓 오픈 명령에 응답하여 '준비' 명령을 전송하는 프로그램 또는 모듈이다. 특정한 일 실시예에서, '준비' 명령은 통상적인 소켓 전송 기능으로, 미리-배열된 소켓에 전송된다. 또 다른 특정한 실시예에서, 네트워크 디바이스(204)는 준비 명령에 대해 모든 인입하는(imcoming) 트래픽을 모니터링(monitoring)할 수 있다. 준비 명령이 특정한 소켓을 통해 수신되었음을 검출하는 것에 응답하여, 네트워크 디바이스는 그 동일 소켓을 통해서, 또는 준비 명령에 의해 나타내어졌다면 상이한 소켓을 통해서 프로그램 모듈(222)을 수신할 준비를 한다.
준비 명령은 프로그램 모듈(222)이 네트워크 디바이스(204)에서 전달될 포트 및 어드레스 정보를 나타낸다. 도 2의 도시된 예에서, 포트(200)는 프로그램 모듈(222)의 전송용으로 지정된다. 준비 명령의 수신에 응답하여, 네트워크 디바이스(204)는 포트(200)로 타겟된 통신에 대해 모니터링함으로써 프로그램 모듈(222)에 연관된 명령들에 대해서 이 네트워크 디바이스를 통하는 네트워크 트래픽 흐름들을 모니터링한다.
포트(200)는 프로그램 모듈(222)을 수정하기 위한 명령들과 같은, 후속의 명령들이 제공될 수 있게, 그리고 호스트 프로그램(203)과 네트워크 디바이스(204) 사이의 다른 정보의 통신을 할 수 있게 하기 위해, 프로그램 모듈(222)이 제공된 후 사용을 위해 유지될 수 있다. 대안적으로, 호스트 프로그램(203)은 상이한 포트 및 어드레스에 연관된, 또 다른 소켓을 오픈할 수 있고, 별도의 '준비' 메시지를 네트워크 디바이스(204)에 줄 수 있다.
특정한 일 실시예에서, 프로그램 모듈(222)의 전송에 연관된 포트(200) 및 어드레스 정보는 루프백(loopback) 인터넷 프로토콜(Internet Protocol; IP) 어드레스를 나타낸다. 루프백 IP 어드레스 및 루프백 포트에 바인딩(binding)하고, 포트를 지정함으로써, 호스트 프로그램(203)은 바인딩된 루프백 포트를 통해 네트워크 디바이스(204)에 정보를 전송할 수 있다. 루프백을 통해 전송된 정보는, 포트(200)가 네트워크 디바이스(204)용으로 지정되지 않았다면 일어나게 되는 것과 같이, 호스트 프로그램(203)에 의해 수신되지 않는다. 대신에, 네트워크 디바이스(204)는 지정된 포트(200)로 경청(listen)할 수 있고, 루프백 동작이 일어났을 때, 호스트 프로그램(203)보다는 프로그램 모듈(222)로 갈 것이다. 따라서, 루프백 포트를 사용하는 것은 호스트 프로그램(203)이 네트워크 디바이스(204)와 통신하는 간단한 방식을 제공하여, 통신 오버헤드를 감소시킨다.
도 2에 도시된 바와 같이, 호스트 프로그램(203)은 클라이언트 프로그램(107)과 통신을 위해 포트(100)를 지정해 두었다. 네트워크 디바이스(204)는 컴퓨터 디바이스(202)의 포트(100)로 타겟된 메시지들에 대해 트래픽 흐름들을 모니터링하고, 그들 통신을 포트(100)를 통해 호스트 프로그램(203)에 제공한다. 따라서, 네트워크 디바이스(204)는 프로그램 모듈(222)을 수신하고 클라이언트 프로그램(107)과 호스트 프로그램(103) 사이의 통신을 용이하게 하기 위해 상이한 포트들을 사용한다.
도 3을 참조하면, 호스트 프로그램(303)으로서 가장하는 네트워크 디바이스(304)의 특정한 일 실시예를 도시한 블록도가 도시되었다. 호스트 프로그램(303) 은 도 1의 컴퓨터 디바이스(102)에 대응하여, 컴퓨터 디바이스(302)에 저장된다. 네트워크 디바이스(304)는 프로그램 모듈(322)을 저장한다. 특정한 일 실시예에서, 프로그램 모듈(322)은 호스트 프로그램(303)의 모듈에 대응하고, 도 2에 관련하여 위에 기술된 절차에 따라 제공되었다. 네트워크 디바이스(304)는 또한 통신 제어 모듈(324)를 포함한다.
동작에서, 호스트 프로그램(303)은 호스트 프로그램(303)으로서 가장할 것을 네트워크 디바이스(304)에 명령한다. 특히, 호스트 프로그램(303)은 포트(250)가 네트워크 디바이스(304)용으로 지정되었음을 네트워크 디바이스(304)에 나타낸다. 응답하여, 통신 제어 모듈(324)은 클라이언트(107)로부터 통신을 모니터링한다. 도시된 예에서, 클라이언트(107)는 컴퓨터 디바이스(302)의 포트(100) 및 포트(250)로 타겟된 메시지들을 제공한다. 포트(100) 및 포트(250)는 호스트 프로그램(103)의 상이한 모듈들 또는 기능들에 각각 연관된다. 대안적인 일 실시예에서, 포트(100) 및 포트(250)는 컴퓨터 디바이스(302)에서 상이한 프로그램들에 각각 연관될 수 있다.
통신 제어 모듈(324)은 클라이언트(107)로부터 인입하는 메시지들을 분석한다. 포트(100)로 타겟된 메시지들은 처리를 위해 컴퓨터 디바이스(302)에 라우팅된다. 포트(250)로 타겟된 메시지들은 인터셉트되고 처리를 위해 프로그램 모듈(322)에 제공된다. 따라서, 네트워크 디바이스(304)는 포트(250)로 타겟된 메시지들에 대해 호스트 프로그램(303)으로서 가장한다. 이것은 호스트 프로그램(303)이, 클라이언트 프로그램(107)을 패치하거나 그렇지 않으면 변경함이 없이, 프로그램 모 듈(322)을 사용하여, 그들 메시지들을 처리하기 위해 네트워크 디바이스(304)의 리소스들을 사용할 수 있게 한다. 프로그램 모듈(322)은 컴퓨터 디바이스(102)에서 수행하게 되는 방법과 유사하게 수행하여, 프로그램 모듈(322)의 위치는 클라이언트 프로그램(107)에 명백하다. 예를 들면, 프로그램 모듈(322)은 응답 메시지들을 발행함으로써 클라이언트로부터 메시지들에 응답하고, 인입하는 메시지들, 등에 응답하여 특정한 작업들을 실행할 수 있다.
게다가, 호스트 프로그램(303)은 포트(250)로 타겟된 메시지들을 상이한 방식들로 처리할 것을 통신 제어 모듈(324)에 명령할 수 있다. 예를 들면, 호스트 프로그램(303)은 포트(250)가 지정된 것을 나타낼 수 있으나, 이 포트에 대해 인입하는 모든 메시지들은 컴퓨터 디바이스(302) 및 프로그램 모듈(322) 둘 모두에 제공되어야 한다. 따라서, 포트(250)로 타겟된 메시지들의 처리는 네트워크 디바이스(304)와 컴퓨터 디바이스(302) 사이에 분배될 수 있다.
또 다른 특정한 실시예에서, 프로그램 모듈(322)은 호스트 프로그램(303)이 네트워크 디바이스(304) 용으로 포트(250)를 지정할 것을 요청할 수 있다. 요청에 응답하여, 호스트 프로그램(303)은 호스트 프로그램(303)용으로 포트(250)를 지정할 것을 컴퓨터 디바이스(302)에 요청한다. 일단 포트(250)가 지정되었다면, 호스트 프로그램(303)은 이제 포트로 타겟된 통신을 인터셉트할 수 있음을 프로그램 모듈(322)에 통지한다. 포트(250)가 지정될 수 없다면(예를 들면, 컴퓨터 디바이스(302)에서 또 다른 프로그램에 의해 이미 지정되어 있다면), 호스트 프로그램(303)은 프로그램 모듈(322)에 통지한다. 응답하여, 프로그램 모듈(322)은 상이 한 포트를 요청하거나 다른 적합한 조치를 취할 수 있다.
도 4를 참조하면, 도 1의 네트워크 디바이스(104)에 대응하여, 네트워크 디바이스(404)의 특정한 일 실시예의 블럭도가 도시되었다. 도시된 바와 같이, 네트워크 디바이스(404)는 2개의 인터페이스들(442, 446)을 포함한다. 실제로, 인터페이스(442)는 네트워크(106)로 갈 수 있고, 인터페이스(446)은 컴퓨터 디바이스(102)로 갈 수 있다. 세부 구현에 따라, 인터페이스들 중 어느 하나 또는 둘 모두는 버스, 이더넷 컴플라이언트 인터페이스(Ethernet compliant interface), USB 인터페이스, SCSI 인터페이스, PCI 인터페이스, PCI-E 인터페이스, 무선 인터페이스, 몇몇 다른 적합한 인터페이스, 및/또는 그들의 조합을 포함할 수 있다. 네트워크 디바이스(404)는 또한 처리기(processor)(440), 휘발성 메모리(444), 및 비-휘발성 메모리(448)를 포함할 수 있다. 도시된 바와 같이, 처리기(440)는 비-휘발성 메모리(448) 및 휘발성 메모리(444)에 액세스(access)할 수 있다. 게다가, 처리기(440)는 각각 인터페이스들(444, 446)을 통해 컴퓨터 디바이스(102) 및 네트워크(106) 둘 모두에 "접속될(connected)" 수 있다.
처리기(440)는 마이크로처리기, 마이크로컴퓨터, 중앙 처리 장치(central processing unit; CPU), FPGA 또는 몇몇 다른 처리 디바이스 또는 그들의 몇몇 조합일 수 있다. 인터페이스(442)는 PCI, PCI-E, 또는 USB, 백플레인(backplane) 버스, 이더넷 인터페이스와 같은, 버스 인터페이스, 또는 다른 통신 인터페이스일 수 있다. 휘발성 메모리(444)는 랜덤 액세스 메모리(random access memory; RAM), 또는 다른 휘발성 메모리 디바이스일 수 있다. 비-휘발성 메모리(448)는 판독 전용 메모리(read only memory; ROM), 플래시 메모리, 또는 다른 비-휘발성 메모리일 수 있다. 실제로, 비-휘발성 메모리(444) 또는 비-휘발성 메모리(448)는 도 2에 관하여 위에 기술된 호스트 프로그램(103)에 의에 제공된 또는 비-휘발성 메모리(448)에 미리 로딩된 프로그램 모듈(422)을 저장한다. 또 다른 실시예에서, 비-휘발성 메모리는 호스트 프로그램이 호스트로부터 네트워크 디바이스로 전송될 것으로 예상될 수 있는 미리-배열된 포트 번호를 포함하고 있을 수 있다.
동작 동안에, 네트워크 디바이스(404)는 호스트 프로그램(103)과 클라이언트 프로그램(107) 사이의 메시지들을 모니터링하고, 네트워크 디바이스(404) 용으로 지정된 포트들로 타겟된 그들 통신들을 인터셉트하고, 인터셉트된 메시지들에 응답하여 프로그램 모듈(422)을 실행한다. 호스트 프로그램(103)과 클라이언트 프로그램(107) 사이의 메시지들을 인터셉트하고 국부적으로 처리함으로써, 네트워크 디바이스(404)는 특정한 메시지들에 대해 호스트 프로그램(103)으로서 가장할 수 있다.
실제로, 프로그램들 사이의 메시지들은 클라이언트 프로그램(107)으로부터 통신을 수신하는, 인터페이스(442)를 통해 처리기(440)에 의해 모니터링될 수 있다. 처리기(440)가 클라이언트에 상주하는 프로그램과 서버에 상주하는 프로그램 사이의 적합한 통신을 검출할 때, 처리기(440)는 통신을 인터셉트하고, 휘발성 메모리(444)에 저장된 프로그램 모듈(422)에 액세스한다. 처리기(440)는 인터페이스(442)를 통해 인터셉트된 통신에 응답하기 위해서 프로그램 모듈(422)의 적합한 부분을 실행한다. 이러한 방식으로, 네트워크 디바이스(404)는 호스트 프로그램(103)으로서 가장한다. 통신에 응답한 후에, 처리기(440)는 또한 적합한 조치를 취하기 위해 호스트 프로그램(103)에 업데이트 정보를 전송할 수 있다.

Claims (24)

  1. 호스트 디바이스(host device)의 제 1 포트(port)가 네트워크 디바이스용으로 지정되었다는 제 1 표시(indication)를 상기 호스트 디바이스로부터 수신하는 단계;
    상기 제 1 표시의 수신에 응답하여, 클라이언트 디바이스로부터 제 1 메시지를 인터셉트(intercept)하는 단계로서, 상기 제 1 메시지는 상기 호스트 디바이스의 제 1 포트로 타겟된, 상기 제 1 메시지 인터셉트 단계; 및
    상기 제 1 메시지가 상기 제 1 포트로 타겟되었다는 결정에 응답하여, 상기 네트워크 디바이스의 프로그램 모듈에 기초하여 상기 네트워크 디바이스에서 상기 제 1 메시지를 처리하는 단계를 포함하는, 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 클라이언트 디바이스로부터 제 2 메시지를 수신하는 단계로서, 상기 제 2 메시지는 상기 호스트 디바이스의 제 2 포트로 타겟된, 상기 제 2 메시지 수신 단계; 및
    상기 제 2 메시지가 상기 제 2 포트로 타겟되었다는 결정에 응답하여 상기 제 2 메시지를 상기 호스트 디바이스에 전송하는 단계를 더 포함하는, 방법.
  4. 제 1 항에 있어서,
    제 1 소켓(socket)을 통해 상기 호스트 디바이스로부터 상기 프로그램 모듈을 수신하는 단계를 더 포함하고;
    상기 제 1 메시지를 처리하는 단계는 상기 네트워크 디바이스에서 상기 프로그램 모듈을 실행하는 단계를 포함하는, 방법.
  5. 제 1 항에 있어서,
    상기 제 1 메시지를 처리하는 단계는 상기 네트워크 디바이스에 미리-로딩된 상기 프로그램 모듈을 실행하는 단계를 포함하는, 방법.
  6. 네트워크 디바이스(network device)에 있어서:
    호스트 디바이스로부터 메시지들을 수신하도록 구성된 제 1 소켓;
    클라이언트 디바이스로부터 메시지들을 수신하도록 구성된 제 2 소켓; 및
    상기 제 1 소켓을 통해 수신되는, 제 1 포트가 상기 네트워크 디바이스용으로 지정되었다는 표시에 응답하여 상기 호스트 디바이스의 제 1 포트로 타겟된 상기 클라이언트 디바이스로부터의 제 1 메시지를 인터셉트하도록 구성된 처리기 모듈(processor module)을 포함하는, 네트워크 디바이스.
  7. 제 6 항에 있어서,
    상기 호스트 디바이스에서 실행하는 프로그램에 연관된 프로그램 모듈을 더 포함하고, 상기 프로그램 모듈은 상기 제 1 메시지를 처리하도록 구성되는, 네트워크 디바이스.
  8. 제 7 항에 있어서,
    상기 호스트 디바이스로부터 상기 프로그램 모듈을 수신하도록 구성된 제 3 소켓을 더 포함하는, 네트워크 디바이스.
  9. 제 8 항에 있어서,
    상기 제 3 소켓은 상기 호스트 디바이스의 루프백 어드레스에 연관된, 네트워크 디바이스.
  10. 제 8 항에 있어서,
    상기 호스트 디바이스의 제 2 포트로 타겟된 상기 클라이언트 디바이스로부터의 메시지들을 제공하기 위해 제 4 소켓을 더 포함하는, 네트워크 디바이스.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
KR1020097003189A 2006-07-17 2007-06-28 호스트 가장 네트워크 디바이스 및 그의 방법 KR101432326B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US80751706P 2006-07-17 2006-07-17
US60/807,517 2006-07-17
PCT/US2007/072337 WO2008011253A2 (en) 2006-07-17 2007-06-28 Host posing network device and method thereof

Publications (2)

Publication Number Publication Date
KR20090071542A KR20090071542A (ko) 2009-07-01
KR101432326B1 true KR101432326B1 (ko) 2014-08-20

Family

ID=38957466

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097003189A KR101432326B1 (ko) 2006-07-17 2007-06-28 호스트 가장 네트워크 디바이스 및 그의 방법

Country Status (4)

Country Link
US (1) US8683045B2 (ko)
EP (1) EP2047373A4 (ko)
KR (1) KR101432326B1 (ko)
WO (1) WO2008011253A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495710B2 (en) * 2009-12-11 2013-07-23 International Business Machines Corporation Port tapping for secure access
KR20120001336A (ko) 2010-06-29 2012-01-04 삼성전자주식회사 컨텐트 변환 방법 및 그 장치
PT106943A (pt) 2013-05-16 2014-11-17 Inst Superior Técnico Turbina de ar para aplicações em aproveitamentos de energia das ondas
CN109831456B (zh) * 2019-03-14 2021-11-23 腾讯科技(深圳)有限公司 消息推送方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030097592A1 (en) * 2001-10-23 2003-05-22 Koteshwerrao Adusumilli Mechanism supporting wired and wireless methods for client and server side authentication
US6868450B1 (en) * 2000-05-17 2005-03-15 Hewlett-Packard Development Company, L.P. System and method for a process attribute based computer network filter

Family Cites Families (82)

* 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
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 ゲーム装置
US7249108B1 (en) 1997-07-15 2007-07-24 Silverbrook Research Pty Ltd Validation protocol and system
US7249109B1 (en) 1997-07-15 2007-07-24 Silverbrook Research Pty Ltd Shielding manipulations of secret data
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
FR2773428B1 (fr) * 1998-01-06 2000-02-04 Bull Sa Procede de communication dans un ensemble de systemes distribues via un reseau du type internet
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
US7032243B2 (en) * 2000-12-15 2006-04-18 Hewlett-Packard Development Company, L.P. System and method for a group-based network access control for computer
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
US7174390B2 (en) * 2001-04-20 2007-02-06 Egenera, Inc. Address resolution protocol system and method in a virtual network
US20020159468A1 (en) * 2001-04-27 2002-10-31 Foster Michael S. Method and system for administrative ports in a routing device
US7552239B2 (en) * 2001-05-14 2009-06-23 Canon Information Systems, Inc. Network device mimic support
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
US7065581B2 (en) * 2001-06-27 2006-06-20 International Business Machines Corporation Method and apparatus for an improved bulk read socket call
US7526788B2 (en) * 2001-06-29 2009-04-28 Scientific-Atlanta, Inc. Graphic user interface alternate download options for unavailable PRM content
US6950873B2 (en) 2001-08-02 2005-09-27 International Business Machines Corporation Apparatus and method for port sharing a plurality of server processes
US7200144B2 (en) 2001-10-18 2007-04-03 Qlogic, Corp. Router and methods using network addresses for virtualization
US8020201B2 (en) * 2001-10-23 2011-09-13 Intel Corporation Selecting a security format conversion for wired and wireless devices
US7274702B2 (en) 2001-11-27 2007-09-25 4198638 Canada Inc. Programmable interconnect system for scalable router
EP1477212A4 (en) 2002-02-01 2005-03-30 Aruze Corp SYSTEM AND METHOD FOR EXECUTING A GAME
KR100958229B1 (ko) 2002-02-01 2010-05-17 파나소닉 주식회사 가치 정보 교환 시스템
US20030154306A1 (en) * 2002-02-11 2003-08-14 Perry Stephen Hastings System and method to proxy inbound connections to privately addressed hosts
US7209449B2 (en) 2002-03-27 2007-04-24 Intel Corporation Systems and methods for updating routing and forwarding information
CN1647489A (zh) * 2002-04-08 2005-07-27 艾利森电话股份有限公司 能够连接到具有本地地址域的网络的方法及系统
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
US20040054747A1 (en) * 2002-09-12 2004-03-18 International Business Machines Corporation Pervasive home network appliance
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 経路制御システム、経路制御装置、転送装置及び経路制御方法
US7756956B2 (en) 2002-11-14 2010-07-13 Canon Development Americas, Inc. Mimic support address resolution
US7305493B2 (en) * 2002-11-27 2007-12-04 Intel Corporation Embedded transport acceleration architecture
JP2004192179A (ja) * 2002-12-10 2004-07-08 Fujitsu Ltd Rdma機能を持ったnicをハードウェアメモリ保護を行わないで、専用のモニタプロセスなしにシステムに組み込むための装置
WO2004073269A1 (ja) 2003-02-13 2004-08-26 Fujitsu Limited 伝送システム,配信経路制御装置,負荷情報収集装置および配信経路制御方法
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
US7827602B2 (en) * 2003-06-30 2010-11-02 At&T Intellectual Property I, L.P. Network firewall host application identification and authentication
EP1515507A1 (en) 2003-09-09 2005-03-16 Axalto S.A. Authentication in data communication
US7406533B2 (en) * 2003-10-08 2008-07-29 Seiko Epson Corporation Method and apparatus for tunneling data through a single port
US7581033B2 (en) * 2003-12-05 2009-08-25 Unisys Corporation Intelligent network interface card (NIC) optimizations
US20050246443A1 (en) * 2004-03-31 2005-11-03 Intel Corporation Management of offload operations in a network storage driver
US20060027475A1 (en) * 2004-07-21 2006-02-09 James Gleason Tool storage and carrier assembly
US9264384B1 (en) * 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US7925729B2 (en) * 2004-12-07 2011-04-12 Cisco Technology, Inc. Network management
US7756984B2 (en) * 2004-09-27 2010-07-13 Citrix Systems, Inc. Systems and methods for virtual host name roaming
JP4130653B2 (ja) 2004-12-20 2008-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 擬似公開鍵暗号方法及びシステム
GB0428553D0 (en) 2004-12-31 2005-02-09 British Telecomm Method PF operating a network
US20080049621A1 (en) 2004-12-31 2008-02-28 Mcguire Alan Connection-Oriented Communications Scheme For Connection-Less Communications Traffic
KR101332911B1 (ko) 2005-05-11 2013-11-26 퀄컴 인코포레이티드 분산 처리 시스템 및 방법
US20060259632A1 (en) 2005-05-13 2006-11-16 Yahoo! Inc. Redirection and invitation for accessing an online service
US8526463B2 (en) * 2005-06-01 2013-09-03 Qualcomm Incorporated System and method to support data applications in a multi-homing, multi-mode communication device
US20060294595A1 (en) 2005-06-27 2006-12-28 Check Point Software Technologies Ltd. Component selector
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 ネットワーク育成ゲームシステム、育成ゲーム用サーバ装置及び育成ゲーム用端末装置、キャラクタ表示方法、並びにプログラム及び記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6868450B1 (en) * 2000-05-17 2005-03-15 Hewlett-Packard Development Company, L.P. System and method for a process attribute based computer network filter
US20030097592A1 (en) * 2001-10-23 2003-05-22 Koteshwerrao Adusumilli Mechanism supporting wired and wireless methods for client and server side authentication

Also Published As

Publication number Publication date
US8683045B2 (en) 2014-03-25
EP2047373A4 (en) 2017-03-29
US20080016166A1 (en) 2008-01-17
EP2047373A2 (en) 2009-04-15
KR20090071542A (ko) 2009-07-01
WO2008011253A3 (en) 2008-10-02
WO2008011253A2 (en) 2008-01-24

Similar Documents

Publication Publication Date Title
CN106790758B (zh) 一种访问nat网络内部的网络对象的方法及装置
JP6990298B2 (ja) セッションディレクトリまたはブローカを伴うrdpサーバファームの存在下でのrdpプロキシサポート
US8468235B2 (en) System for extranet security
US20140204803A1 (en) Automated network service discovery and communication
CN106911648B (zh) 一种环境隔离方法及设备
JP2009508260A (ja) 複数のプロセスにおけるポートの共有
US11025425B2 (en) User security token invalidation
WO2007033087A1 (en) Creating secure interactive connections with remote resources
CN103166996B (zh) Http连接和https连接自适应方法、装置及系统
US10298620B1 (en) System and method for on-line and off-line streaming application isolation
CN110166547A (zh) 终端远程访问控制方法
KR101432326B1 (ko) 호스트 가장 네트워크 디바이스 및 그의 방법
JP2016162266A (ja) 通信装置及びそのプロセッサ割当方法
CN111245831B (zh) Ftp数据传输方法及装置、服务端和客户端的信息交互系统
US8416754B2 (en) Network location based processing of data communication connection requests
CN111212117A (zh) 一种远程交互的方法和装置
JP2007157148A (ja) telnetセッション、telnetエージェンシ、およびコンピュータ・ネットワーク・システムを維持する方法
US9736027B2 (en) Centralized enterprise image upgrades for distributed campus networks
CN111416851A (zh) 在多个负载均衡器之间进行会话同步的方法和负载均衡器
TW201644249A (zh) 用以執行傳輸控制協定交握之裝置及方法
US20170116016A1 (en) Screen compression service method and virtual network apparatus for performing the method
US7908364B2 (en) Method storing socket state information in application space for improving communication efficiency of an application program
KR20200081799A (ko) 가상 라우터를 이용한 다중 가상 네트워크 통신 시스템 및 방법
CN110912965A (zh) 一种部署Web服务器的方法及系统
US20240028376A1 (en) Log forwarding for an agent platform appliance and software-defined data centers that are managed through the agent platform appliance

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

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 5