KR20010080586A - 클라이언트 컴퓨터 시스템의 네트워크 활성을 원격적으로디스에이블시킬 수 있는 데이터 처리 시스템 및 그 방법 - Google Patents

클라이언트 컴퓨터 시스템의 네트워크 활성을 원격적으로디스에이블시킬 수 있는 데이터 처리 시스템 및 그 방법 Download PDF

Info

Publication number
KR20010080586A
KR20010080586A KR1020017006589A KR20017006589A KR20010080586A KR 20010080586 A KR20010080586 A KR 20010080586A KR 1020017006589 A KR1020017006589 A KR 1020017006589A KR 20017006589 A KR20017006589 A KR 20017006589A KR 20010080586 A KR20010080586 A KR 20010080586A
Authority
KR
South Korea
Prior art keywords
computer system
client computer
network
access
client
Prior art date
Application number
KR1020017006589A
Other languages
English (en)
Other versions
KR100424742B1 (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
Priority claimed from US09/201,063 external-priority patent/US6263388B1/en
Priority claimed from US09/201,572 external-priority patent/US6334147B1/en
Priority claimed from US09/201,062 external-priority patent/US6334150B1/en
Application filed by 포만 제프리 엘, 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 포만 제프리 엘
Publication of KR20010080586A publication Critical patent/KR20010080586A/ko
Application granted granted Critical
Publication of KR100424742B1 publication Critical patent/KR100424742B1/ko

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/305Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/35Network arrangements, protocols or services for addressing or naming involving non-standard use of addresses for implementing network functionalities, e.g. coding subscription information within the address or functional addressing, i.e. assigning an address to a function
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

서버 컴퓨터 시스템에 클라이언트 컴퓨터 시스템을 접속시키는 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력을 서버 컴퓨터 시스템이 원격적으로 디스에이블시킬 수 있는 데이터 처리 시스템 및 방법에 관한 것이다. 서버 컴퓨터 시스템은 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력이 적어도 일시적으로 디스에이블되도록 네트워크를 사용하여 클라이언트 컴퓨터 시스템에 지시를 전송한다. 클라이언트 컴퓨터 시스템에서 지시의 수신에 응답하여, 네트워크로 접근하는 클라이언트 컴퓨터 시스템의 능력을 적어도 일시적으로 디스에이블된다. 클라이언트 컴퓨터 시스템이 일시적으로 디스에이블되어 있는 동안, 클라이언트 컴퓨터 시스템은 네트워크를 사용하여 정보를 전송할 수 없게 된다.

Description

클라이언트 컴퓨터 시스템의 네트워크 활성을 원격적으로 디스에이블시킬 수 있는 데이터 처리 시스템 및 그 방법{DATA PROCESSING SYSTEM AND METHOD FOR REMOTELY DISABLING NETWORK ACTIVITY IN A CLIENT COMPUTER SYSTEM}
본 발명은 1998년 2월 17일자 출원하여 현재 출원 계속 중에 있는 "PC 접속 네트워크를 위한 전시간 네트워크 보조 프로세서(Full Time Network Auxiliary Processor for a Network Connected PC)"라는 명칭의 출원 제09/024,231호의 주요 구성과 관련된다.
개인용 컴퓨터 시스템은 당해 기술 분야에 잘 알려져 있다. 그것은 광범위한 용도를 지니고 있기 때문에 현대 사회의 각개각층에 컴퓨터의 역량을 과시한다. 개인용 컴퓨터(PC)는 데스크탑, 마루 고정형(floor standing) 또는 휴대용 마이크로 컴퓨터가 될 수 있고, 중앙 처리 장치(CPU), 랜덤 액세스 메모리(RAM)와 기본 입·출력 시스템 읽기 전용 기억 장치(BIOS ROM)를 포함하는 휘발성 및 비-휘발성 메모리 조합, 시스템 모니터, 키보드, 하나 또는 그 이상의 오픈형 디스켓 드라이브, CD-ROM 드라이브, 고정 디스크 저장 드라이브("하드 드라이브"라고도 함), 마우스와 같은 포인팅 장치 및 선택적인 네트워크 인터페이스 어댑터를 지니는 시스템 장치를 포함한다. 이러한 시스템의 특징 중 하나는 이러한 구성 요소들을 함께 전기적으로 결합시키기 위하여 머더보드 또는 시스템 플래너를 사용한다는 것이다. 그러한 개인용 컴퓨터 시스템의 예는 IBM의 PC 시리즈, Aptiva 시리즈 및 Thinkpad 시리즈 등이다.
컴퓨터 사이에 데이터 전송이 일어나게 되는 PC의 네트워크로의 접속이 점점 증가함에 따라, 유지 보수, 어플리케이션의 업데이트 및 데이터 수집과 같은 보다 많이 동작이 네트워크를 통하여 일어나고 있다. 컴퓨터 네트워크는 또한 그 사용자들에게 점점 중요해지고 있다. 네트워크 자원을 보다 잘 활용함으로써 생산성의 손실을 최소화하는 것이 바람직하다. 현대 네트워크 세상에서는, 네트워크의 활용도와 성능이 개인용 컴퓨터의 활용도와 성능만큼 중요하다.
대형 컴퓨터 및 단순 단말기에서 클라이언트-서버 네트워크로 발전함에 따라, 컴퓨터 기술은 정보 서비스(IS) 관리자에게 몇가지 문제를 준다. 대형 컴퓨터/단순 단말기의 경우, 통신 경로는 단말기에서 대형 컴퓨터으로 가고 그런 다음 다른 시스템으로 간다. 클라이언트-서버의 경우, 클라이언트는 메시지를 다른 클라이언트에게 전송하고 그로부터 수신할 수 있을 뿐만 아니라 서버에 전송할 수 있는 능력을 지닌다.
클라이언트-서버 환경의 단점 중 하나는 클라이언트가 오동작할 때 발생한다. 오동작하는 클라이언트는 과잉의 네트워크 트래픽을 발생시킴으로써 전체 네트워크를 방해할 수 있다. 해커, 소프트웨어 버스, 또는 다른 시스템 문제가 오동작을 일으킬 수 있다.
대형 컴퓨터/단순 단말기 환경에서, IS 관리자는 어카운트를 로그-오프할 수 있고 단말기를 셧 다운할 수 있으며, 그에 따라 과잉의 네트워크 트래픽을 제거할 수 있다. 클라이언트/서버 환경에서, IS 관리자는 클라이언트 운영 시스템에 메시지 전송을 중지하라는 요청을 전송할 수 있다. 그러나, 운영 시스템은 응답할 수도 있고 그렇지 않을 수도 있다.
따라서, 클라이언트가 네트워크에 접속하는 능력을 원격적으로 디스에이블시키는 서버 컴퓨터 시스템에 대한 데이터 처리 시스템 및 방법을 개발할 필요가 있다.
컴퓨터 시스템은 동작을 위하여 기본 입·출력 시스템(BIOS)을 필요로 한다. BIOS는 디스크 드라이브, 하드 드라이브 및 키보드와의 상호 작용과 같은 기본 하드웨어의 동작을 제어하는 코드이다.
컴퓨터가 리셋되면, 전원 인가 후 자가 검사(POST)가 실행을 시작한다. POST는 초기화 세팅을 사용하여 컴퓨터를 배치한다. 그런 다음 BIOS는 POST에 의하여 배치된 대로 하드웨어를 사용하여 하드웨어의 기본 동작을 제어한다.
CMOS에 저장되고 POST에 의해 사용되는 데이터는, 시스템에 전원이 인가되었을 때에만 수정될 수 있다. 수정된 세팅 중 하나는 클라이언트 시스템에 오동작을일으킬 수 있다. 수정된 세팅으로 인하여 클라이언트 시스템이 일단 오동작을 일으키게 되면, 지역 네트워크의 관리자는 클라이언트가 그 원래의 작업 세팅으로 되돌아가게 하지 못한다. 종래 기술에 따르면, 원격적으로 초기화 세팅을 수정하기에 앞서 클라이언트 컴퓨터 시스템이 완전 기능성을 취득해야 한다. 만약, 클라이언트가 완전히 기능적이지 않다면, 초기화 세팅은 원격적으로 수정될 수 없기 때문이다.
따라서, 클라이언트 컴퓨터 시스템 내에 포함된 개별적인 초기화 세팅에 원격적으로 접근하기 위한 데이터 처리 시스템 및 방법을 개발할 필요가 있게 되는 것이다.
컴퓨터 시스템은 일반적으로 원격의 위치에 설치되어, 서버로 네트워크될 수 있다. 예컨대, 컴퓨터 시스템은 은행과 같은 공적인 장소에서 발견될 수 있다. 이러한 원격 컴퓨터 시스템의 무단 사용은 데이터 손실 및 사업상의 막대한 비용을 초래할 수 있는 큰 문제가 될 수 있다.
따라서, 서버 컴퓨터 시스템이 클라이언트 시스템을 원격적으로 조작하여 동작하지 못하게 할 수 있는 데이터 처리 시스템 및 방법을 개발할 필요가 있게 된다.
본 발명은 일반적으로 데이터 처리 시스템에 관한 것으로, 특히 네트워크를 이용하여 서버와 클라이언트 컴퓨터 시스템이 함께 결합되는 데이터 처리 시스템 및 그 방법에 관한 것이다. 보다 구체적으로, 본 발명은 네트워크를 이용하여 네트워크에 접근하는 클라이언트의 능력을 원격적으로 디스에이블시키는, 서버와 클라이언트 컴퓨터 시스템이 함께 결합된 데이터 처리 시스템 및 방법에 관한 것이다.
본 발명의 새로운 특징들은 첨부하는 청구의 범위에 기재되어 있다. 그러나, 본 발명의 바람직한 사용 형태, 목적 및 효과는 물론 본 발명 자체에 대해서는 첨부하는 도면과 함께 설명하는 아래의 바람직한 실시예의 상세한 설명을 참조하여 잘 알 수 있다.
도1은 본 발명의 방법 및 시스템에 따라 네트워크 및 허브를 사용하여 서버 컴퓨터 시스템과 연결되는 복수의 클라이언트 컴퓨터 시스템을 포함하는 데이터 처리 시스템을 도시한다.
도2는 및 도2B는 본 발명의 방법 및 시스템에 따른 클라이언트 컴퓨터 시스템 내에 포함된 네트워크 어댑터를 도시한다.
도3은 본 발명의 방법 및 시스템에 따라 클라이언트 컴퓨터 시스템의 네트워크 어댑터 내에 포함된 특수한 목적의 처리 장치를 도시한다.
도4는 본 발명의 방법 및 시스템에 따라 서버 컴퓨터 시스템에 의하여 네트워크를 통하여 전송될 수 있는, 네트워크 헤더 및 데이터 패킷을 포함하는 네트워크 패킷을 도시한다.
도5는 본 발명의 방법 및 시스템에 따라 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력을 디스에이블/리-이네이블하도록 클라이언트 컴퓨터 시스템에 지시를 전송하는 서버 컴퓨터 시스템을 도시하는 고레벨 플로우 차트이다.
도5B는 본 발명의 방법 및 시스템에 따라 클라이언트 컴퓨터 시스템 내에 포함되는 복수의 초기화 세팅 중 하나에 접근하는 커맨드를 전송하는 서버 컴퓨터 시스템을 도시하는 고레벨 플로우 차트이다.
도5C는 본 발명의 방법 및 시스템에 따라 클라이언트 컴퓨터 시스템이 동작하지 않도록 클라이언트 컴퓨터 시스템에 신호를 전송하는 서버 컴퓨터 시스템을 도시하는 고레벨 플로우 차트이다.
도6은 본 발명에 따라 클라이언트 컴퓨터 시스템의 능력을 디스에이블/리-에이블시키도록 서버 컴퓨터 시스템으로부터 지시를 수신하는 클라이언트 컴퓨터 시스템을 도시하는 고레벨 플로우 차트이다.
도6B는 본 발명에 따라 클라이언트 컴퓨터 시스템 내에 포함된 복수의 초기화 세팅 중 하나에 접근하도록 커맨드를 처리하는 클라이언트 컴퓨터 시스템을 도시하는 고레벨 플로우 차트이다.
도6C는 본 발명에 따라 클라이언트 컴퓨터 시스템이 동작하지 않도록 서버 컴퓨터 시스템으로부터 신호를 수신하는 클라이언트 컴퓨터 시스템을 도시하는 고레벨 플로우 차트이다.
도7은 본 발명의 방법 및 시스템에 따라 부트 비트의 체크를 포함하는 부트 프로세스를 초기화시키는 클라이언트 컴퓨터 시스템을 도시하는 고레벨 플로우 차트이다.
본 발명의 목적은 상기 문제를 극복하는 기술을 제공하는 것이다.
본 발명에 따르면, 클라이언트 컴퓨터 시스템과 서버 컴퓨터 시스템을 연결하는 네트워크로 접근하는 클라이언트 컴퓨터 시스템의 능력을 서버 컴퓨터 시스템이 원격적으로 디스에이블시키는 데이터 처리 방법을 제공한다. 이러한 방법은: 네트워크를 사용하여 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력이 적어도 일시적으로 디스에이블되도록 서버 컴퓨터 시스템이 클라이언트 컴퓨터 시스템에 지시를 전송하는 단계; 클라이언트 컴퓨터 시스템에서 상기 지시의 수신에 응답하여, 클라이언트 컴퓨터 시스템이 일시적으로 디스에이블되어 있는 동안, 클라이언트 컴퓨터 시스템이 네트워크를 사용하여 정보를 전송할 수 없도록, 클라이언트 컴퓨터 시스템의 네트워크에 접근하는 능력을 적어도 일시적으로 디스에이블시키는 단계를 포함한다.
또한, 본 발명은 지역 네트워크를 형성하기 위하여 서버 컴퓨터 시스템에 연결된 클라이언트 컴퓨터 시스템에 관하여, 클라이언트 컴퓨터 시스템 내에 포함된 복수의 초기화 세팅 중 하나에 원격적으로 접근하기 위한 데이터 처리 방법을 제공한다. 이러한 방법은: 복수의 초기화 세팅 중 선택된 하나에 접근하도록 서버 컴퓨터 시스템이 클라이언트 시스템에 커맨드를 전송하는 단계; 및 상기 커맨드의 수신에 응답하여, 클라이언트 컴퓨터 시스템이 상기 복수의 초기화 세팅 중 선택된 하나에만 접근하고 다른 복수의 초기화 세팅에는 접근하지 않게 하는 단계를 포함한다.
또한 본 발명에 따르면, 네트워크를 사용하여 서버 컴퓨터 시스템에 연결된 클라이언트 컴퓨터 시스템이 동작하지 못하도록 원격적으로 조절하는 데이터 처리 방법을 제공한다. 그 방법은: 클라이언트 컴퓨터 시스템의 전원을 초기에 끄는 단계; 클라이언트 컴퓨터 시스템이 동작하는 것을 방지하기 위하여 네트워크를 사용하여 서버 컴퓨터 시스템이 클라이언트 컴퓨터 시스템에 신호를 전송하는 단계; 클라이언트 컴퓨터 시스템에서 상기 신호의 수신에 응답하여 클라이언트 컴퓨터 시스템이 동작하는 것을 방해함으로써 서버 컴퓨터 시스템이 원격적으로 조작하여 클라이언트 컴퓨터 시스템이 동작하지 못하게 하는 단계를 포함한다.
본 발명의 바람직한 실시예에 따르면, 서버 컴퓨터 시스템은 클라이언트 컴퓨터 시스템의 네트워크에 접근하는 능력이 적어도 일시적으로 디스에이블되도록 네트워크를 사용하여 클라이언트 컴퓨터 시스템에 지시를 전송한다. 클라이언트 컴퓨터 시스템에서 그 지시의 수신에 응답하여, 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력이 적어도 일시적으로 디스에이블된다. 클라이언트 컴퓨터 시스템은 그 클라이언트 컴퓨터 시스템이 일시적으로 디스에이블되어 있는 동안, 네트워크를 사용하여 정보를 전송할 수 없다.
본 발명의 다른 실시예에 따르면, 클라이언트 컴퓨터 시스템은 지역 네트워크를 형성하기 위하여 서버 컴퓨터 시스템에 연결된다. 서버 컴퓨터 시스템은 클라이언트 컴퓨터 시스템의 초기화 세팅 중 하나에 접근하도록 클라이언트 컴퓨터 시스템에 커맨드를 전송한다. 이러한 커맨드의 수신에 응답하여, 클라이언트 컴퓨터 시스템은 초기화 세팅 중 하나에만 접근한다. 클라이언트 컴퓨터 시스템에는 초기화 세팅에 접근되는 동안 전원이 꺼져 있게 된다.
본 발명의 다른 실시예에 따르면, 클라이언트 컴퓨터 시스템은 네트워크에 의하여 서버 컴퓨터 시스템에 연결된다. 클라이언트 컴퓨터 시스템은 초기에 전원이 꺼져 있다. 서버 컴퓨터 시스템은 네트워크를 사용하여 클라이언트 컴퓨터 시스템이 동작하게 되는 것을 방지하기 위하여, 클라이언트 컴퓨터 시스템에 신호를 전송한다. 클라이언트 컴퓨터 시스템에서 이러한 신호의 수신에 응답하여, 클라이언트 컴퓨터 시스템은 동작하는 것이 방해된다. 서버 컴퓨터 시스템은 클라이언트 컴퓨터 시스템이 동작하지 못하도록 원격적으로 조절한다.
또한, 클라이언트 컴퓨터 시스템은 서버 컴퓨터 시스템에 의해 전송되는 무선 신호를 수신할 수 있다. 서버 컴퓨터 시스템은 클라이언트 컴퓨터 시스템이 동작하게 되는 것을 방지하기 위하여 클라이언트 컴퓨터 시스템에 무선 신호를 전송한다. 이러한 무선 신호의 수신에 응답하여, 클라이언트 컴퓨터 시스템은 동작하지 않게 된다. 서버 컴퓨터 시스템은 무선 신호를 사용하여 클라이언트 컴퓨터 시스템을 원격적으로 조절하여 동작하지 못하게 한다.
본 발명의 바람직한 실시예 및 그 효과는, 동일한 구성 요소 또는 해당하는 구성 요소에 대하여 동일한 도면 부호를 사용하고 있는 첨부하는 도면, 도1-7의 설명을 참조하여 보다 잘 이해할 수 있다.
본 발명은 클라이언트 컴퓨터 시스템에 연결된 서버 컴퓨터 시스템이 네트워크를 사용하여 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력을 원격적으로 디스에이블 또는 리-이네이블(re-enable)할 수 있게 하는 방법 및 시스템에 관한 것이다.
네트워크에 접근하는 클라이언트의 능력은 아래 기재하는 2개의 방법 중 하나를 사용하여 디스에이블될 수 있다. 그러나 당업자는 청구 범위를 실현하는 다른 방법이 사용될 수 있음을 이해할 것이다. 본 명세서에서 기재하는 첫번째 방법은 서버가 클라이언트의 네트워크 접근 능력을 일시적으로 원격적으로 디스에이블시키는 것이다. 두번째 방법은 서버가 그 능력을 영구적으로 원격적으로 디스에이블시키는 것이다.
클라이언트 컴퓨터 시스템은 바람직한 실시예에 따르면 이더넷 컨트롤러인 매체 접근 컨트롤러를 포함한다. 매체 접근 컨트롤러(MAC; media access controller)는 클라이언트 컴퓨터 시스템을 네트워크에 연결한다. 클라이언트 컴퓨터 시스템은 MAC을 사용하여 네트워크 패킷을 전송하고 수신한다. 네트워크에 접근하는 클라이언트의 능력을 일시적으로 디스에이블시키도록 서버가 클라이언트에게 지시를 전송하는 경우, 클라이언트 내에 포함된 관리 응용 주문형 집적 회로(ASIC)는 네트워크로부터 패킷을 수신하는 MAC로부터 패킷을 수신한다. 이러한 패킷의 수신에 응답하여, ASIC는 MAC을 클라이언트의 PCI 버스로부터 고립시킨다. 운영 시스템이 PCI 버스를 사용하는 MAC과 통신하기 때문에, 클라이언트의 운영 시스템은 네트워크 패킷을 전송하거나 수신할 수 없다.
그러나, MAC이 PCI 버스와 고립되어 있는 동안, MAC은 네트워크로부터 네트워크 패킷을 계속적으로 수신하게 될 것이다. MAC은 네트워크로부터 수신한 관리 네트워크 패킷을 ASIC으로 계속적으로 보내게 될 것이다. MAC은 데이터 네트워크 패킷을 무시하게 될 것이다. 따라서, 서버는 네트워크에 접근하는 클라이언트의 능력을 리-이네이블하도록 클라이언트에 지시를 연속적으로 전송할 수 있다. 이러한 지시가 수신되는 경우, ASIC는 PCI 버스로 MAC의 연결을 리-이네이블시키게 될 MAC에 신호를 전송할 것이다. 그런 다음 클라이언트는 다시 네트워크 패킷을 전송하거나 수신함으로써 네트워크에 접근할 수 있다.
네트워크에서 클라이언트를 영구적으로 제거시키기 위하여 물리적인 리셋 모드에 클라이언트를 보류시킬 필요가 있게 된다. 이것은 네트워크에 접근하는 클라이언트의 능력을 영구적으로 디스에이블시키도록 서버가 클라이언트에 지시를 전송함으로써 달성된다. 이러한 지시를 포함하는 네트워크 패킷의 수신에 응답하여, ASIC는 물리적인 층에 전송하는 물리적인 리셋 신호를 발생하게 된다. 물리적인 층에 의하여 이러한 신호의 수신에 응답하여, 네트워크에 접근하는 클라이언트의 능력은 영구적으로 디스에이블된다. 이러한 방법으로, MAC은 어떠한 네트워크 패킷도 수신하지 않게 되고, 전송할 수 없게 된다. 클라이언트가 네트워크에 접근하지 못하도록 영구적으로 디스에이블된 후, 사용자는 네트워크에 접근하는 클라이언트의 능력을 회복하기 위하여 클라이언트 컴퓨터 시스템을 리세팅하고 적당한 패스워드를 입력시킴으로써 물리적인 층을 리-이네이블시켜야만 한다.
본 발명은 서버로 하여금 네트워크로 접근하는 클라이언트의 능력을 디스에이블/리-이네이블시키기 위하여 클라이언트 네트워크 하드웨어의 동작을 수정할 수 있게 한다. 네트워크로 접근하는 능력이 디스에이블된 동안에는 클라이언트의 운영 시스템 및 다른 소프트웨어는 네트워크로 접근하지 못하도록 방해를 받는다.
도1은 본 발명의 방법 및 시스템에 따라 허브(102)를 사용하여 서버 컴퓨터 시스템(100)에 연결되는 복수의 클라이언트 컴퓨터 시스템(104)를 포함하는 데이터 처리 시스템을 도시한다. 서버 컴퓨터 시스템(100)은 지역 네트워크(LAN) 커넥터 버스(106)를 사용하여 허브(102)에 연결된다. 각각의 클라이언트 시스템도 또한 각각의 LAN 버스(106)를 통하여 허브(102)에 연결된다. 네트워크의 바람직한 형태는 이더넷의 규격에 맞는 것이 좋고, 그러한 허브를 사용한다. 그러나 다른 형태의 네트워크, 예컨대 토큰링과 같은 것이 본 발명을 실시하는데 사용될 수도 있다.
"네트워크"는 이더넷 네트워크, 토큰 링, X.10 또는 X.25와 같이, 임의의 형태의 데이터 통신 채널을 포함할 수 있다. 당업자는 본 명세서에서 기재하는 발명이 어떤 형태의 데이터 통신 채널을 사용하더라도 실시할 수 있다는 것을 알 것이다. 그러나, 바람직한 실시예에서는 이더넷 네트워크를 사용하여 실시한다.
도2는 본 발명의 방법 및 시스템에 따라 클라이언트 컴퓨터 시스템 내에 포함된 네트워크 어댑터(230)를 도시한다. 중앙 처리 장치(CPU)(200)는 어드레스, 제어 및 데이터 버스(202)에 의하여, 시스템 메모리(206)에 연결되는 메모리 컨트롤러 및 주변 장치 인터커넥트(PCI; peripheral component interconnect) 버스 브리지(204)에 연결된다. 집적 드라이브 전자(IDE; integrated drive electronics) 장치 컨트롤러(220) 및 산업 표준 구조(ISA; industry standard architecture) 버스 브리지(212)를 향하는 PCI 버스는 PCI 버스(208)에 의하여 PCI 버스 브리지(204)에 연결된다. IDE 컨트롤러(220)는 고정 디스크 드라이브(222)와 같은 IDE 호환 저장 장치를 부착하기 제공된다. PCI/ISA 브리지(212)는 PCI 버스(208)와 ISA 버스(214)와 같은 선택적인 구성 또는 확장 버스 사이에 인터페이스를 제공한다. PCI/ISA 브리지(212)는 전력 관리 논리(power management logic)를 포함한다. 커넥터 슬롯(210)을 지니는 PCI 표준 확장 버스는 PCI 브리지(204)에 결합된다. PCI 커넥터 슬롯(210)은 PCI 버스 호환 주변 카드를 수신할 수 있다. 커넥터 슬롯(216)을 지니는 ISA 표준 확장 버스는 PCI/ISA 브리지(212)에 연결된다. ISA 커넥터 슬롯(216)은 ISA 호환 어댑터 카드(도시하고 있지 않음)를 수용할 수 있다. 다른 확장 버스 형태는 부가 장치를 지니는 시스템을 확장하기 위하여 사용될 수 있다.또한 2개의 확장 버스가 본 발명을 실시하기 위하여 필요하다는 것을 알 수 있다.
I/O 컨트롤러(218)는 PCI-ISA 브리지 컨트롤러(212)에 결합된다. I/O 컨트롤러(218)는 PCI-ISA 브리지 컨트롤러(212)와, 플로피 디스크(224), 키보드(226) 및 마우스(228)와 같은 주변 장치 사이에 통신을 제어하여, CPU(200)와 통신하게 한다.
PCI-ISA 브리지 컨트롤러(212)는 클라이언트(104)에 전원을 인가하는 마이크로코드를 포함하는 플래시 메모리(242)에 대한 인터페이스를 포함한다. 플래시 메모리(242)는 전기적으로 소거 가능한 프로그램 가능 읽기 전용 메모리(EEPROM) 모듈이고, I/O 장치와 동작 시스템 사이의 인터페이스에 사용되는 BIOS를 포함한다. PCI-ISA 브리지 컨트롤러(214)는 또한 시스템 배치 데이터를 나타내는 초기화 세팅을 유지하는 CMOS 저장 장치(213)를 포함한다. 저장 장치(213)는 클라이언트(104)의 본 발명의 배치를 나타내는 값을 포함한다. 예컨대, 저장 장치(213)는 사용자에 의하여 설정되는 초기 프로그램 로드(IPL; initial program load) 장치 및 특정한 전원 방법, 디스플레이 형식, 메모리 양, 시간 날짜 등에 사용되는 시퀀스의 리스트를 표현하는 정보를 포함한다. 또한, 배치/셋업과 같이 특수한 배치 프로그램이 실행될 때마다, 이러한 데이터는 저장 장치(213) 내에 저장된다. 저장 장치(213)에서 데이터 배치의 손실을 방지하기 위하여 배터리(244)가 PCI-ISA 브리지 컨트롤러(204)에 전력을 공급한다.
클라이언트 시스템(104)은 예컨대 커넥터 슬로트(210) 중 하나에 플러그될 수 있는 비디오 컨트롤러(246)를 포함한다. 비디오 컨트롤러(246)는 비디오메모리(248)에 결합된다. 비디오 메모리(248) 내의 이미지는 컨트롤러(246)에 의하여 판독되고, 커넥터(250)를 통하여 클라이언트(104)에 접속된 모니터(도시하고 있지 않음) 상에 디스플레이된다.
클라이언트 시스템(104)은 예컨대 LAN을 사용하여 커넥터(236)를 통하여 허브(102)와 통신할 수 있도록 PCI 커넥터 슬롯(210)(도시됨) 중 하나 또는 ISA 커넥터 슬롯(216) 중 하나에 플러그 접속될 수 있는 네트워크 어댑터(230)를 포함한다.
네트워크 어댑터(230)는 매체 독립 인터페이스(MII; media independent interface) 버스(252)를 사용하여 함께 결합되는 물리 층(234) 및 매체 접근 컨트롤러(MAC)(232)를 포함한다. MII 버스(252)는 10/100 Mbps 이더넷 매체 접근 컨트롤러(MAC)(232)와 그 아래 놓이는 물리 층(234)과의 인터페이스를 한정하는 신호 규격 및 프로토콜이다.
MAC(232)는 디지털 네트워크 신호를 처리하고, 공유 데이터 경로, 즉 MII 버스(252) 및 PCI 버스(208) 사이에 인터페이스를 제공한다. MAC(232)는 데이터 패킷을 전송하고 수신하는데 여러 가지 기능을 수행한다. 예컨대, 데이터를 전송하는 동안, MAC(232)는 전송되어야 할 데이터를 패킷 내에 어드레스 및 에러 검출 필드와 함께 모은다. 반대로, 데이터를 수신하는 동안에, MAC(232)는 패킷을 폴고 어드레스 체킹 및 에러 검출을 수행한다. 또한, MAC(232)은 통상적으로 공유 경로를 통하여 전송되는 디지털 신호의 인코딩/디코딩을 수행하고, 전제부 발생/제거 뿐만 아니라 비트 전송/수신을 수행한다. 본 발명의 바람직한 실시예에서, MAC(232)는 인텔 82557 칩이다. 그러나, 당업자는 네트워크 어댑터(230)로 도시하고 있는 기능적인 블록이 단 한 조각의 실리콘을 사용하여 제조될 수 있다는 잘 알 것이다.
물리층(234)은 아날로그 신호가 R45 커넥터(236)를 통하여 네트워크로 나가도록 조건을 만든다. 물리 층(234)은 10 및 100 Mb/s CSMA/CD 이더넷 애플리케이션을 지지하는 완전 집적 장치가 될 수 있다. 물리층(234)은 MII 지역 버스(252)로부터 병렬 데이터를 수신하고 그것을 직렬 데이터로 변환하여 네트워크를 통하여 커넥터(236)로 전송한다. 물리 층(234)은 또한 파장을 형성하고, 아날로그 전압을 네트워크에 공급한다. 바람직한 실시예에 있어서, 물리 층(234)은 집적 서비스 칩 ICS-1890을 사용하여 실행된다.
물리 층(234)은 3가지 목적을 위한 자동-항해 논리를 포함한다. 첫째, 그것은 클라이언트(104)의 용량을 결정한다. 둘째, 그것은 서버 컴퓨터(100)에 자체의 용량을 광고한다. 세째, 그것은 가장 성능이 좋은 접속 기술을 사용하여 서버 컴퓨터(100)에 결합을 형성한다.
네트워크 어댑터(230)는 물리 층(234)과 MAC(232) 사이의 MII 버스(252)에 결합된 논리 모듈(300)을 포함한다. 논리 모듈(300)은 "고정 배선(hard-wired)" 응용 주문형 집적 회로(ASIC) 또는 아래에 보다 완전하게 설명하는 바와 같이 프로그램되는 프로그램 일반-목적의 프로세서가 될 수 있다. ASIC(300)를 MII 버스(252)에 결합시킴으로써, ASIC(300)는 물리 층(234)을 사용하여 네트워크 패킷을 전송 및 수신할 수 있다.
클라이언트 컴퓨터 시스템(104)으로부터의 데이터는 ASIC(300)에 의하여 시스템 관리 버스(SM)(238)를 통하여 접근된다. 시스템 관리 버스(238)는 2-선 저속직렬 버스로서 관리를 내부 결합시키는데 사용되고 장치를 모니터링한다. 전원(240)에서 신호 AUX 5에 의해 트리클(trickle) 전원이 공급되는 경우, ASIC(300)는 전시간 전원 공급되는 것이 바람직하다. ASIC(300) 내에 포함된 마이크로-컨트롤러(302)(도3에 도시됨)는 SM 버스 인터페이스(316)를 통한 시스템 관리(SM) 버스(238)를 통하여 브리지 컨트롤러(212)에 결합된다. 이것은 ASIC 및 EEPROM(320)에 접근하기 위하여 소프트웨어가 클라이언트를 동작시키게 하는 경로를 제공한다.
도3은 본 발명의 방법 및 시스템에 따라 클라이언트 컴퓨터 시스템(104)의 네트워크 어댑터(230) 내에 포함된 특수한 목적의 프로세스 유닛(300)을 개략적으로 도시한다. 이러한 특수한 목적의 프로세스 유닛은 마이크로-컨트롤러(302)를 포함하는 ASIC(300)를 사용하여 실행되는 것이 바람직하다. 마이크로-컨트롤러(302)는 패킷 수신, SM 버스 인터페이스 및 EEPROM 업데이트와 같은 작업들을 수행하기 위한 수개의 상태 기계(state machine)를 포함한다. 마이크로-컨트롤러(302)는 TX FIFO(306), RX FIFO(310) 및 RX 버퍼(318)로부터의 데이터 흐름을 제어하기 위하여 커맨드를 FIFO 컨트롤(308)에 전송한다. 마이크로-컨트롤러(302)는 또한 레지스터 스테이터스(304)로 접근하거나 EEPROM(320)으로 접근하기 위하여 클라이언트(104)를 동작시키는 소프트웨어로부터의 SM 버스 요청에 응답한다. 신호는 인터페이스 유닛(312)에 의하여 MII 버스(252)로부터 수신되어 RX FIFO(310)로 전송된다.
MAC 어드레스의 소오스 및 도착지, IP 프로토콜 정보, 인증 헤더 및 범용 데이터 패킷 헤더와 같은 네트워크 패킷을 생성시키는 값을 얻기 위하여 마이크로-컨트롤러(302)는 EEPROM 인터페이스(314)를 통하여 EEPROM(320)에 접근한다. 또한, EEPROM(320)은 범용 유일 식별자(UUID)를 보유한다.
마이크로-컨트롤러(302)는 레지스터/스테이터스(304)를 통하여 물리 층(234)으로 가는 선인 물리적 리셋(322)을 구동한다. 따라서, 마이크로-컨트롤러(302)는 관리 패킷에 기초하여 리셋 스테이트 내에 물리 층(234)를 위치시켜서 결과적으로 물리 층의 네트워크와의 연결이 끊어지게 하는 능력을 지닌다.
도4는 본 발명의 방법 및 시스템에 따라 네트워크를 통하여 서버 컴퓨터 시스템에 의해 전송될 수 있는 네트워크 헤더(402) 및 데이터 패킷(404)을 포함하는 네트워크 패킷(400)을 개략적으로 도시한다. 각각의 네트워크 패킷(400)은 네트워크 헤더(402) 및 데이터 패킷(404)을 포함한다.
네트워크 헤더(402)는 패킷의 정확한 전송을 보장하기 위하여, 어드레스, 식별자 및 다른 정보를 제공하는 기술로서 공지인 MAC 헤더(406), IP 헤더(408), 인증 헤더(410) 및 UDP 헤더(412)를 포함한다. 데이터 패킷(404)은 전송되어야 할 정보 내용을 포함한다.
데이터 패킷(404)은 매직 패킷(414) 및 커맨드 확장(416)을 포함한다. 매직 패킷(414)의 내용은 클라이언트 MAC 어드레스의 12 복사로 이어지는 6 바이트의 "FF"이다. 매직 패킷(414)은 특수한 형태의 패킷이다. 매직 패킷(414)은 표준 네트워크 데이터를 포함하지 않는 관리 패킷이다. 매직 패킷(414)이 6 바이트의 "FF"를 사용하여 검색되는 경우, MAC(232)는 매직 패킷(414)을 무시할 것이다.
데이터 패킷(404)는 또한 커맨트 확장(416)을 포함할 수 있다. 서버 컴퓨터시스템(100)은 ASIC(300)으로 하여금 클라이언트(104)의 네트워크 활성을 수정하게 하기 위하여, 데이터 패킷(404) 내에 복수의 커맨트 확장 중 하나를 특정할 수 있다.
네트워크 패킷(400)이 클라이언트(104)에 의하여 수신되는 경우, 그것은 물리 층(234)에 의하여 수신되고 MII 버스(252) 상에 위치하게 된다. 네트워크 패킷(400)이 매직 패킷(414)를 포함하는 경우, MAC(232)는 그것이 매직 패킷(414)을 포함하는지를 탐지하고, 그런 다음 MAC(232)는 다른 임의의 커맨드 확장(416)을 무시한다.
ASIC(300)는 또한 MII 인터페이스를 사용하여 네트워크 패킷(400)을 수신한다. 데이터 패킷(404)은 RX FIFO(310)으로 전송되고 그런 다음 RX 버퍼(318)로 전송된다. 마이크로-컨트롤러(302)는 그런 다음 데이터 패킷(404)을 조사하고, 데이터 패킷(404)이 커맨드 확장(416)을 포함하는지 여부를 결정한다. 만약 커맨드 확장(416)이 포함되어 있으면, 아래 기술하는 바와 같이 적당한 기능이 실행된다.
도5는 본 발명의 방법 및 시스템에 따라 네트워크로 접근하는 클라이언트 컴퓨터 시스템의 능력을 디스에이블/리-이네이블시키도록 클라이언트 컴퓨터 시스템에 지시를 전송하는 서버 컴퓨터 시스템을 설명하는 고레벨 플로우 차트이다. 프로세스는 블록(500)에서 시작해서 블록(502)로 진행한다. 블록(502)에서는 네트워크에 접근하는 클라이언트를 원격적으로 디스에이블시키도록 서버가 클라이언트에 지시를 전송하는지 여부를 결정한다. 만약 서버가 그러한 패킷을 전송하지 않는 것으로 결정되면, 프로세스는 블록(508)에 도시하는 바와 같이 종료한다.
다시 블록(502)로 돌아가서, 서버가 클라이언트에게 지시를 전송하는 것으로 결정되면, 프로세스는 블록(504)로 진행하고, 패킷 수신에 응답하여 소정의 클라이언트 응답의 형태를 결정한다. 예컨대, 클라이언트 응답의 형태는 네트워크로 접근하는 클라이언트를 디스에이블시키는 것, 네트워크로 접근하도록 클라이언트를 리-이네이블시키는 것, 클라이언트 내에 포함된 네트워크 컨트롤러를 초기화시키는 것 또는 클라이언트의 물리 층을 물리적인 리셋 내에 보류시켜서 클라이언트가 네트워크로 접근하는 것을 영구적으로 디스에이블시키는 것을 포함할 수 있다. 다음으로, 블록(506)은 서버가 패킷을 만들어서 클라이언트 컴퓨터 시스템으로 전송하는 것을 도시한다. 그런 다음 프로세스는 블록(508)에 도시하는 바와 같이 종료한다.
도6은 본 발명에 따라 클라이언트 컴퓨터 시스템의 네트워크로 접근하는 능력을 디스에이블/리-이네이블시키도록 클라이언트 컴퓨터 시스템이 서버 컴퓨터 시스템으로부터 지시를 수신하는 것을 도시하는 고레벨 플로우 차트이다. 프로세스는 블록(600)에서 시작해서 블록(602)으로 진행하고 거기에서 클라이언트 컴퓨터 시스템 내에 포함된 마이크로-컨트롤러(302)가 네트워크 패킷(400)의 수신을 대기하는 것을 도시한다. 패킷이 수신되면, 물리 층(234)은 네트워크 패킷(400) 내에 포함된 데이터 패킷(404)을 MII 버스(252) 상에 위치시킨다. MII 버스(252)는 ASIC(300)의 MII 인터페이스(312)에 의하여 판독된다. ASIC(300)은 데이터 패킷(404)을 MII 인터페이스(312)로부터 RX FIFO(310) 및 RX 버퍼(318)로 전송한다.
그런 다음 프로세스는 블록(604)으로 가고, 거기에서 마이크로-컨트롤러 (302)는 패킷으로부터 네트워크 헤더(402)를 제거한다. 다음, 블록(606)에서는 마이크로-컨트롤러(302)가 데이터 패킷(404)에 매직 패킷(414)이 포함되어 있는지 여부를 결정한다. 데이터 패킷(404)이 매직 패킷(414)을 포함하지 않는다면, 프로세스는 블록(612)로 진행하고 거기에서 데이터 패킷(404) 내에 포함된 데이터는 운영 시스템(OS)으로 전송된다. 그런 다음 프로세스는 블록(602)으로 되돌아간다.
블록(606)으로 되돌아가서, 데이터 패킷(404)이 매직 패킷(414)을 포함한다고 결정되면, 프로세스는 블록(608)로 진행하고, 거기에서 데이터 패킷(404)이 또한 부가적인 커맨드(416)를 포함하는지 여부를 결정한다. 데이터 패킷(404)이 어떠한 부가적인 커맨드(416)도 포함하지 않는다고 결정되면, 프로세스는 블록(610)으로 가서 클라이언트에 전원을 공급하게될 동작 커맨드를 전송한다. 그런 다음 프로세스는 블록(602)으로 되돌아간다.
블록(608)로 되돌아가서, 데이터 패킷(404)이 부가적인 커맨드(416)를 포함하는 것으로 결정되면, 프로세스는 블록(614)로 가서 부가적인 커맨드(416)를 디코드한다. 다음으로, 블록(616)에서는 커맨드가 네트워크로 접근하는 클라이언트 컴퓨터 시스템의 능력을 영구적으로 디스에이블시키는 지시인지 여부를 결정한다. 만약, 커맨드가 네트워크로 접근하는 클라이언트 컴퓨터 시스템의 능력을 영구적으로 디스에이블시키라는 지시인 것으로 결정되면, 프로세스는 블록(618)로 가서 시스템의 다음 부팅 때까지 물리 층(234)을 리셋에 보류시키는 물리 층 리셋 신호(322)가 활성화된다. 그런 다음 프로세스는 블록(602)으로 되돌아간다.
다시 블록(616)으로 되돌아가서, 커맨드가 네트워크로 접근하는 클라이언트 컴퓨터 시스템의 능력을 영구적으로 디스에이블시키라는 지시가 아닌 것으로 결정되면, 프로세스는 블록(620)으로 가고 거기에서 커맨드가 MAC(232)로부터의 네트워크 전송이 디스에이블되어햐 한다는 지시인지 여부를 결정한다. 만약, 커맨드가 MAC(232) 네트워크 전송이 디스에이블되어야 한다는 지시인 것으로 결정되면, 프로세스는 블록(622)으로 가고, 거기에서 MAC(232)로부터의 네트워크 전송을 디스에이블시킨다. MAC(232)의 네트워크 전송을 디스에이블시키는 것은 MAC(232)를 PCI 버스(208)로부터 일시적으로 고립시킨다. 여기에서 고립은 MAC(232)가 PCI 버스(208)로부터 패킷을 수신하거나 PCI 버스(208)로 패킷을 전송하지 못하도록 하는 것을 말한다. 당업자는 MAC(232)를 PCI 버스(208)로부터 고립시키기 위하여 많은 다른 메커니즘이 사용될 수 있다는 것을 이해할 것이다.
따라서, 네트워크 트래픽은 MAC(232)에 의해서 수신되고, PCI 버스(208) 상에 위치하지 않게 될 것이다. 운영 시스템은 어떠한 네트워크 패킷도 수신하지 않게 된다. 또한, 클라이언트 컴퓨터 시스템(104)이 발생시킬 수 있는 어떠한 트래픽도 MAC(232)에 도착할 수 없게 된다. 따라서, 네트워크 트래픽은 MAC(232)에 의하여 나머지 클라이언트(104)로 진행하지 않게 되고, MAC(232)에 의하여 발생하거나 네트워크로 전송하지도 않게 된다. 클라이언트 컴퓨터 시스템(104)은 어떠한 네트워크 트래픽도 발생할 수 없게 된다. 그런 다음 프로세스는 블록(602)로 진행한다.
블록(620)으로 다시 돌아가서, 커맨드가 MAC(232)로부터의 네트워크 전송이 디스에이블되어야 한다는 지시가 아닌 것으로 결정된 경우, 프로세스는 블록(624)으로 가서, 커맨드가 MAC(232)의 네트워크 전송이 이네이블 또는 리-이네이블되어야 한다는 지시인지 여부를 결정한다. 왜냐하면, MAC(232)가 PCI 버스(208)로부터고립되었을 때에도 패킷을 수신하고 있으면, MAC(232)는 네트워크 패킷 내에 포함된 MAC(232)가 리-이네이블되어야 한다는 지시를 서버 컴퓨터 시스템(100)으로부터 수신할 수 있을 것이기 때문이다. MAC 전송이 리-이네이블되는 것으로 결정되면, 프로세스는 블록(626)으로 가서 MAC 전송을 리-이네이블시킨다. MAC 전송은 PCI 버스(208)를 사용하여 운영 시스템과 MAC(232) 사이의 통신을 리-이네이블시킴으로써 리-이네이블된다. 그런 다음 프로세스는 블록(602)으로 되돌아간다.
다시 블록(624)로 돌아가서, 커맨드가 MAC(232)로부터의 네트워크 전송이 리-이네이블되어야 한다는 지시가 아니라고 결정되면, 프로세스는 블록(628)으로 가서 커맨드가 MAC(232)의 초기화를 지시하는 것인지 여부를 결정한다. MAC(232)가 초기화되면, 그것은 공지의 동작 조건으로 리셋된다. 커맨드가 MAC(232)의 초기화를 지시하는 것으로 결정되면, 프로세스는 블록(630)으로 가서, MAC(232)를 초기화시킨다. MAC(232)는 장치 드라이버 리세팅 및 세션의 초기화에 의하여 초기화될 수 있다. 그런 다음 프로세스는 블록(602)로 간다.
본 발명은 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력을 원격적으로 디스에이블/리-이네이블시키는 능력을 지니는 서버 컴퓨터 시스템을 제공한다. 그 능력이 영구적으로 디스에이블되지 않으면, 클라이언트는 활성인 채로 남아있게 되고 서버로부터 커맨드를 수신할 수 있는 채로 남아 있게 된다. 이러한 방법으로, 서버는 클라이언트에 의한 네트워크의 접속을 제어한다.
본 발명은 파괴적인 동작을 일으킬 수 있는 특정한 네트워크의 에러가 클라이언트의 동작과는 관계없이 즉시 종결되어야 한다는 것을 알고 있다. 이러한 상황에서, 서버는 네트워크로 접근하는 클라이언트의 능력을 영구적으로 디스에이블시킬 수 있다.
일시적 및 영구적으로 디스에이블시키는 두가지 경우 모두에 있어서, 서버는 클라이언트 운영 시스템 또는 응용 소프트웨어의 간섭 없이 네트워크로 접근하는 클라이언트의 능력을 수정할 수 있다.
두번째 특징에 따르면, 본 발명은 클라이언트 컴퓨터 시스템 내에 포함된 복수의 초기화 세팅 중 단 하나에 원격적으로 접근하는 방법 및 시스템에 관한 것이다. 서버 컴퓨터 시스템은 지역 네트워크(LAN)을 형성하기 위하여 클라이언트에 결합된다. 서버는 클라이언트의 초기화 세팅 중 특정한 하나에 접근하도록 클라이언트에 커맨드를 전송한다. 커맨드의 수신에 응답하여, 클라이언트는 단지 그 특정한 초기화 세팅에만 접근한다. 다른 초기화 세팅으로는 접근하지 않는다. 개별적인 초기화 세팅은 클라이언트 컴퓨터 시스템의 전원이 다운되었을 때 접근될 수 있다.
서버 전송의 커맨드는 특정한 초기화 세팅을 판독하거나 기록하라는 것 중 어느 하나이다. 커맨드는 접근해야될 특정한 초기화 세팅을 식별하는 오프셋을 포함한다. 만약 커맨드가 "READ" 커맨드라면, 오프셋에 의하여 식별되어야 하는 값으로서 기억 장소 내에 저장된 값이 판독된다. 만약 커맨드가 "WRITE" 커맨드라면, 그 커맨드는 기록되어야 할 데이터는 물론 오프셋을 포함하게 될 것이다. 그런 다음 오프셋에 의하여 식별되는 기억 장소 내에 저장된 값은 새로운 데이터를 그 장소에 기록함으로써 수정된다.
서비스 또는 특정한 목적의 프로세서가 판독 및 기록 커맨드를 처리하기 위하여 클라이언트 컴퓨터 시스템 내에 포함된다. 또한 오프셋 레지스터 및 데이터 레지스터도 클라이언트 컴퓨터 시스템 내에 구축된다. 서버가 판독 커맨드를 전송하는 경우, 그 커맨드는 또한 판독되어야 할 특정한 저장 위치를 식별하는 오프셋을 포함하게 될 것이다. 커맨드가 수신되면, 오프셋은 오프셋 레지스터 내에 저장된다. 서비스 프로세서는 오프셋 레지스터 내에 저장된 오프셋에 의하여 식별된 저장 위치로 접근하고 그 위치에 저장된 값을 판독한다. 그런 다음 판독된 값이 데이터 레지스터 내에 저장된다. 그런 다음 클라이언트는 데이터 레지스터 내에 저장된 값을 서버로 회송한다.
커맨드가 WRITE 커맨드라면, 그 커맨드는 기록되어야 할 데이터는 물론 오프셋을 포함하게 될 것이다. 커맨드가 수신되면, 오프셋이 오프셋 레지스터 내에 저장되고, 기록되어야 할 데이터가 데이터 레지스터 내에 저장된다. 서비스 프로세서는 오프셋 레지스터 내에 저장된 오프셋에 의하여 식별된 저장 위치로 접근하고, 데이터 레지스터 내에 저장된 값을 그 위치에 기록한다.
만약 초기화 세팅이 수정되어서 클라이언트에 오동작을 일으킨다면, 클라이언트는 그 부팅 시퀀스를 완성할 수 없게 될 것이다. 종래 기술에 따르면, LAN의 관리자는 클라이언트를 작업 조건으로 원격적으로 되돌아가게 할 수 없다. 본 발명을 사용하여, 관리자는 클라이언트 컴퓨터가 전원 오프되었을 때 하나 또는 그 이상의 초기화 세팅을 원격적으로 수정할 수 있다.
도3을 참조하여, ASIC(300)의 레지스터(304)는 또한 오프셋 레지스터(305)와 데이터 레지스터(307)를 포함한다. 서버로부터 수신된 커맨드 내에 포함된 오프셋은 레지스터(305) 내에 저장된다. 커맨드가 판독 커맨드인 경우, 판독된 데이터는 레지스터(307) 내에 저장된다. 커맨드가 기록 커맨드인 경우, 기록되어야 할 데이터는 레지스터(307) 내에 저장된다.
ASIC(300)가 정보 및 데이터를 SM 버스(238)를 사용하여 브리지(212) 내에 포함된 CMOS(213)으로 전송할 수 있기 때문에, 클라이언트(104A)는 CMOS(213)로 접근하기 위하여 전원이 인가될 필요가 없다. 따라서, 클라이언트(104A)에 전원이 꺼져 있거나, 클라이언트(104A)가 부적당하게 수정된 초기화 세팅에 의하여 동작할 수 없게 되어 있는 동안, ASIC(300)는 초기화 세팅으로 접근하게 하는 커맨드를 포함하는 네트워크 패킷을 수신할 수 있고 처리할 수 있다.
도5B는 본 발명의 방법 및 시스템에 따라 클라이언트 컴퓨터 시스템에 포함된 복수의 초기화 세팅 중 하나에 접근하는 커맨드를 전송하는 서버 컴퓨터 시스템을 도시하는 고레벨 플로우 차트이다. 프로세스는 블록(510)에서 시작하여 블록(512)로 가고, 거기에서 서버가 클라이언트 내의 초기화 세팅에 접근하라는 커맨드를 포함하는 네트워크 패킷을 클라이언트로 전송할 것인지 여부를 결정한다. 만약 서버가 그러한 패킷을 전송하지 말라고 결정되면, 프로세스는 블록(522)에서 종료한다.
다시 블록(512)으로 돌아가서, 만약 서버가 클라이언트 내 초기화 세팅으로 접근하라는 커맨드를 포함하는 데이터 패킷을 전송하라고 결정되면, 프로세스는 블록(514)로 가고 거기에서 서버가 초기화 세팅 중 하나를 판독하라는 커맨드를 포함하는 패킷을 전송할 것인지 여부를 결정한다. 만약 서버가 클라이언트 내 초기화세팅을 판독하라는 패킷을 전송할 것으로 결정되면, 프로세스는 블록(516)으로 가고 거기에서 서버는 판독 커맨드를 포함하는 패킷을 만든다. 다음으로, 블록(518)에서 판독 커맨드 내의 오프셋을 포함한다. 오프셋은 판독되어야 할 특정한 세팅을 식별한다. 오프셋은 특정한 세팅을 포함하는 CMOS 저장 장치 내에 위치를 한정하는 값이다.
그런 다음, 블록(520)에서 서버는 네트워크 패킷을 전송한다. 그런 다음 프로세스는 블록(522)에서 종료한다.
블록(514)로 다시 돌아가서, 만약 패킷이 초기화 세팅을 판독하라는 커맨드를 포함하지 않을 것으로 결정되면, 프로세스는 블록(524)로 가서 패킷이 데이터를 초기화 세팅에 기록하라는 커맨드를 포함할 것인지 여부를 결정한다. 만약 커맨드가 데이터를 기록하라는 커맨드를 포함하지 않는다고 결정되면, 프로세스는 블록(522)에서 종료한다.
다시 블록(524)으로 돌아가서, 만약 패킷이 데이터를 특정한 초기화 세팅에 기록하라는 것으로 결정되면, 프로세스는 블록(526)으로 가서 기록 데이터 커맨드를 포함하는 패킷을 만든다. 다음으로, 블록(528)에서 특정한 세팅을 식별하는 오프셋을 포함한다. 블록(528)에서는 또한 그 세팅에 기록될 데이터를 포함한다. 이러한 새로운 데이터는 오프셋에 의하여 식별될 CMOS 저장 장치 내의 위치에 기록될 것이다. 그런 다음 프로세스는 블록(520)으로 진행한다.
도6B는 본 발명에 따라 클라이언트 컴퓨터 시스템 내에 포함된 복수의 초기화 세팅 중 하나에 접근하는 커맨드를 처리하는 클라이언트 컴퓨터 시스템을 도시하는 고레벨 플로우 차트이다. 프로세스는 블록(640)에서 시작해서 블록(642)로 가고 거기에서 클라이언트 컴퓨터 시스템 내에 포함된 마이크로-컨트롤러(302)가 네트워크 패킷(400)의 수신을 대기한다. 패킷이 수신되면, 물리 층(234)은 네트워크 패킷(400) 내에 포함된 데이터 패킷(404)을 MII 버스(252) 상에 위치시킨다. MII 버스(252)는 ASIC(300)의 MII 인터페이스(312)에 의하여 판독된다. ASIC(300)는 데이터 패킷(404)을 MII 인터페이스(312)로부터 RX FIFO(310)으로 그리고 RX 버퍼(318)로 전송한다.
그런 다음 프로세스는 블록(644)로 가서 마이크로-컨트롤러(302)가 패킷에서 네트워크 헤더(402)를 제거한다. 다음으로, 블록(646)에서 마이크로-컨트롤러(302)가 데이터 패킷(404)이 매직 패킷(414)을 포함하는지 여부를 결정한다. 만약 데이터 패킷(404)이 매직 패킷(414)을 포함하지 않는다고 결정되면, 프로세스는 블록(652)로 가서 데이터 패킷(404) 내에 포함된 데이터를 운영 시스템(OS)으로 전송한다. 그런 다음 프로세스는 블록(642)로 간다.
다시 블록(642)로 돌아가서, 만약 데이터 패킷(404)이 매직 패킷(414)을 포함한다고 결정되면, 프로세스는 블록(648)로 가서 데어터 패킷(404)이 또한 부가적인 커맨드(416)를 포함하는지 여부를 결정한다. 만약 데이터 패킷(404)이 어떠한 부가적인 커맨드도 포함하지 않는다고 결정되면, 프로세스는 블록(650)으로 가서 클라이언트에 전원을 인가하는 동작 커맨드를 전송한다. 그런 다음 프로세스는 블록(642)로 되돌아간다.
다시 블록(648)으로 돌아가서, 만약 데이터 패킷(404)이 부가적인커맨드(416)를 포함한다고 결정되면, 프로세스는 블록(654)으로 가서 부가적인 커맨드(416)를 디코드한다. 다음으로, 블록(656)에서는 커맨드가 "READ 데이터" 커맨드인지를 결정한다. 그 커맨드가 "READ 데이터" 커맨드라고 결정되면, 프로세스는 블록(658)으로 가서 커맨드 내에 포함된 오프셋을 레지스터(305) 내에 복사한다. 그런 다음 프로세스는 블록(660)으로 가서 ASIC(300)이 레지스터(305) 내에 저장된 값을 사용하여 CMOS(213)으로 접근한다. 레지스터(305) 내에 저장된 값은 CMOS(213) 내의 특정한 저장 위치를 식별하는 CMOS(213) 내 인덱스이다. 그런 다음 오프셋에 의하여 식별된 위치에 저장된 값은 레지스터(307) 내에 저장된다. 다음으로, 블록(662)에서 서버는 네트워크 패킷을 레지스터(307) 내에 저장된 값을 포함하는 서버로 전송한다. 이러한 방법으로, CMOS(213) 내의 특정한 위치가 판독되고, 그 데이터가 서버로 전송된다. 그런 다음 프로세스는 블록(642)로 되돌아간다.
블록(656)으로 다시 돌아가서, 커맨드가 "READ 데이터" 커맨드가 아니라고 결정되면, 프로세스는 블록(664)로 가서 커맨드가 "WRITE 데이터" 커맨드인지 여부를 결정한다. 만약 그 커맨드가 "WRITE 데이터" 커맨드가 아니라고 결정되면, 프로세스는 블록(642)로 되돌아간다. 다시 블록(664)로 돌아가서, 만약 그 커맨드가 "WRITE 데이터" 커맨드라고 결정되면, 프로세스는 블록(666)으로 가서 WRITE 커맨드 내에 포함된 오프셋을 레지스터(305) 내에 기록하고, WRITE 커맨드 내에 포함된 데이터를 레지스터(307) 내에 기록한다. 다음으로, 블록(668)에서 ASIC(300)는 레지스터(305) 내에 저장된 값을 사용하여 접근되고 업데이트되어야 할 CMOS(213) 내 위치로 접근한다. 레지스터(307) 내에 저장된 값은 CMOS(213) 내의 그 위치에 기록된다. 그런 다음 프로세스는 블록(642)로 되돌아간다.
본 발명의 세번째 특징은 클라이언트가 초기에 전원이 꺼져 있을 때 클라이언트 컴퓨터 시스템이 동작하는 것을 방지하는 서버 컴퓨터 시스템에 대한 방법 및 시스템이다. 서버 및 클라이언트는 네트워크를 사용하여 함께 결합된다.
서버는 (1) 클라이언트에 전원이 들어오는 것을 방지하거나 (2) 클라이언트가 부트 프로세스를 완성하는 것을 방지하는 비트를 리셋함으로써 클라이언트가 동작하게 되는 것을 방지할 수 있다. 서버는 클라이언트 내에 포함된 전원 관리 하드웨어의 동작을 수정함으로써 클라이언트에 전원이 들어오는 것을 방지할 수 있다. 정상적인 동작에서, 클라이언트 내에 포함된 전원은 안정적이고 전적인 시스템 전원을 공급할 것을 지시하는 전원 동작(POWERGOOD) 신호라고 불리는 안정적-전원 신호(stable-power signal)를 발생한다. 전원이 전체 시스템 전원을 공급한다고 하더라도 클라이언트에 전원을 인가하기에 앞서 안정적-전원 신호가 필요하다. 서버는 클라이언트 내에 포함된 특수한 목적의 처리 유닛이 전원 동작 방해 신호 (POWERGOOG blocking signal)를 발생시키도록 함으로써, 클라이언트에 전원이 들어오는 것을 방지할 수 있다. 전원 동작 방해 신호가 발생하였을 때, 전원 관리 논리는 전원 동작 신호를 인식하지 못할 것이다. 전원 동작 방해 신호가 발생하면, 전원 동작 신호는 무효로 되어서 무시된다. 따라서, 전원 동작 방해 신호가 발생하게 되었을 때 클라이언트에 전원이 들어오는 것이 방지된다.
서버는 네트워크를 통하여 클라이언트에 네트워크 패킷을 전송함으로써 전원 동작 방해 신호를 발생할 수 있다. 네트워크 패킷은 패킷의 내용을 분석할 네트워크 하드웨어에 의하여 수신될 것이다. 서버는 클라이언트가 전원 동작 방해 신호를 발생하도록 패킷 내의 신호를 포함할 수 있다.
서버는 또한 클라이언트 내에서 부트 비트를 리셋시키는 신호를 네트워크 패킷 내에 포함함으로써 클라이언트가 동작하지 못하게 할 수 있다. 부트 비트가 클라이언트 내에 포함되면, 비트가 세트인지 또는 리셋인지를 결정하기 위하여 전원 인가 후 자가 검사를 하는 동안에 부트 비트가 체크된다. 비트가 세트되면, 통상의 POST 처리가 계속될 것이고, 그에 따라 클라이언트는 그 부트 프로세스를 완성하게 된다. 비트가 리셋이면, POST는 종료할 것이다. 따라서, POST가 그 프로세스를 완성하지 않을 것이기 때문에 클라이언트는 동작하는 것을 방해받을 것이고, 어떠한 부트도 일어나지 않게 된다.
도1을 참조하여, 클라이언트(104A)는 송신기(110)를 포함하는 물리 영역(108) 내에 물리적으로 위치할 수 있다. 송신기(110)는 무선의 무선 주파수(RF) 신호를 클라이언트(104) 내에 포함된 안테나에 의해 수신되는 물리 영역(108)에 송신한다. 바람직한 실시예에 있어서, 서버(100)는 송신기(110)에 의하여 송신을 시작한다. 예컨대, 서버(100)는 서버(100)에 의하여 특정되는 신호를 송신하기 위하여 송신기(110)를 사용한다.
도2를 참조하여, ASIC(300)은 또한 아래 기술하는 바와 같이 전원 인가 후 자가 검사(POST) 동안에 체크되는 부트 비트를 저장하기 위하여 사용될 수 있는 저장 장치(301)를 포함한다. 부트 비트가 사용되면, 그것은 저장 장치(301) 내에 저장된다. 비트가 세트인지 또는 리셋인지를 결정하기 위하여 POST 동안에 부트 비트가 체크된다. 만약 비트가 세트이면, POST는 프로세스를 계속 진행해서 부트 시퀀스를 완성할 것이다. 만약 비트가 리셋이면, POST는 프로세싱을 계속하지 않을 것이고, 그에 따라 클라이언트가 부트 업되는 것을 방지한다.
클라이언트 컴퓨터 시스템(104)으로부터의 데이터는 시스템 관리 버스(SM) (238)를 통하여 ASIC(300)에 의하여 접근된다. 시스템 관리 버스(238)는 시스템 관리 장치를 결합하는데 사용되는 2-선 저속 직렬 버스이다. 이것은 ASIC 및 소거 가능 메모리 소자, EEPROM(325)으로 접근하기 위하여 소프트웨어가 클라이언트(104)를 동작시키도록 경로를 제공한다. 전원(240)으로부터 신호(AUX 5)에 의해 트리클 전원이 공급되면, ASIC(300)는 전체 시간에 걸쳐 전원 공급되는 것이 바람직하다.
전원(240)이 안정적 시스템 전력을 공급할 때, 전원(240)은 전원 동작 신호(241)를 출력한다. 전원 동작 신호(241)는 PCI-ISA 브리지 및 전원 관리(212)에 의하여 수신된다. 클라이언트(104)에는 전원 동작 신호(241)가 전원 관리(212)에 의하여 수신될 때까지 전원이 인가되지 않을 것이다. 파워 관리(212)에 의하여 전원 동작 신호를 수신하기에 앞서, 전원(240)이 전체 시스템 전력을 발생한다고 하더라도 클라이언트(104)는 전원이 꺼진 상태를 유지하게 될 것이다.
ASIC(300)는 전원 관리(212)가 전원 동작 신호를 수신하지 못하게 방해하기 위하여 전원 동작 방해 신호를 발생할 수 있다. 전원 동작 방해 신호는 SM 버스(238)를 사용하여 전원 관리(212)에 전송될 수 있다.
도3을 참조하여, 제2의 소거 가능 메모리 소자, EEPROM(325)가 포함되고, SM 버스(238)를 사용하여 ASIC(300)에 결합된다. EEPROM(325)은 저장 장치(321),EEPROM 회로(324), 신호를 입력하고 출력하기 위한 디지털 직렬 인터페이스(326), 안테나(330)로부터 무선 신호를 수신하기 위한 무선 주파수(RF) 인터페이스(328) 및 전원 관리 논리 회로(332)를 포함한다.
도4를 참조하여, 데이터 패킷(404)은 또한 커맨드 확장(416)을 포함할 수 있다. 서버 컴퓨터 시스템(100)은 ASIC(300)이 개별적인 초기화 세팅을 판독 및 기록하도록 하기 위하여 데이터 패킷(404) 내에 복수의 커맨드 확장중 하나를 특정할 수 있다.
네트워크 패킷(400)이 클라이언트(104)에 의하여 수신되는 경우, 그것은 물리 층(234)에 의하여 수신되고, MII 버스(252) 상에 위치하게 된다. 네트워크 패킷(400)이 매직 패킷(414)을 포함하는 경우, MAC(232)는 그것이 매직 패킷(414)을 포함하는지 여부를 결정하고, 그런 다음 MAC(232)는 어떠한 커맨드 확장(416)도 무시한다.
도5C는 본 발명의 방법 및 시스템에 따라 클라이언트 컴퓨터 시스템이 동작하지 못하도록 클라이언트 컴퓨터 시스템에 신호를 전송하는 서버 컴퓨터 시스템의 고레벨 플로우 차트를 도시한다. 프로세스는 도시하는 바와 같이 블록(530)에서 시작하여 블록(532)로 가고 거기에서 클라이언트에 전원이 들어오지 못하도록 서버가 클라이언트에 신호를 전송할 것인지 여부를 결정한다. 만약 서버가 그러한 신호를 전송하지 않을 것으로 결정되면, 프로세스는 블록(538)에서 도시하는 바와 같이 종료한다.
다시 블록(532)으로 돌아가서, 만약 클라이언트에 전원이 들어오지 못하도록서버가 클라이언트에 신호를 전송하는 것으로 결정되면, 프로세스는 블록(534)으로 가고 거기에서 서버가 클라이언트의 하드웨어의 동작을 수정함으로써 클라이언트에 전원이 들어오지 못하게 할 것인지 여부를 결정한다. 만약 서버가 클라이언트의 하드웨어의 동작을 수정함으로써 클라이언트에 전원이 들어오지 못하게 하는 것으로 결정되면, 프로세스는 블록(536)으로 가고 거기에서 서버가 클라이언트가 부팅되는 것을 방지함으로써 클라이언트에 전원이 들어오는 것을 방지할 것인지 여부를 결정한다. 만약 서버가 클라이언트가 부팅되는 것을 방지함으로써 클라이언트에 전원이 들어오는 것을 방지하는 것이 아니라고 결정되면, 프로세스는 블록(538)으로 가서 종료한다.
다시 블록(534)으로 돌아가서, 만약 서버가 클라이언트의 하드웨어의 동작을 수정함으로써 클라이언트에 전원이 들어오는 것을 방지하는 것으로 결정되면, 프로세스는 블록(540)으로 가고 거기에서 서버는 전원 동작 방해 신호를 특정하는 커맨드 확장을 포함하는 네트워크 패킷을 생성하고 전송한다. ASIC(300)은 SM 버스(238)를 사용하여 전원 관리(212)에 전원 동작 방해 신호를 전송할 수 있다. 전원 관리(212)가 전원 동작 방해 신호를 수신하면, 전원 동작 신호(241)는 방해를 받을 것이다. 이러한 방법으로, 전원 관리(212)는 전원 동작 신호(241)의 수신을 인식하지 않게 된다. 클라이언트(104)에는 전원이 들어오지 않게 된다. 그런 다음 프로세스는 블록(538)에 도시하는 바와 같이 종료한다.
블록(536)으로 다시 돌아가서, 서버가 클라이언트의 부팅을 방해함으로써 클라이언트에 전원이 들어오지 못하게 하는 것으로 결정되면, 프로세스는 블록(542)으로 가고 거기에서 신호가 무선 주파수(RF) 신호인지 또는 네트워크를 사용하여 송신될 것인지 여부를 결정한다. 만약 네트워크를 사용하여 신호를 전송할 것으로 결정되면, 프로세스는 블록(544)으로 가고 거기에서 서버는 네트워크를 통하여 부트 비트의 리세팅을 특정하는 커맨드 확장을 포함하는 네트워크 패킷을 생성하고 전송한다. 부트 비트는 EEPROM(320) 또는 EEPROM(325)의 어느 저장 장치 또는 2개의 EEPROM 모두에 포함될 수 있다. 비트는 클라이언트가 부팅하는 동안 POST에 의하여 체크된다. 비트는 부트 프로세스를 완성하기 위한 POST를 위하여 세트되어야만 한다. 비트가 리셋이면, POST는 부트 프로세스를 완성하지 않을 것이고, 클라이언트는 부팅하지 않을 것이다. 그런 다음 프로세스는 블록(538)으로 가서 종료한다.
다시 블록(542)로 돌아가서, 만약 신호가 무선(RF) 신호인 것으로 결정되면, 프로세스는 블록(546)으로 가고 거기에서 서버는 부트 비트의 리세팅을 특정하는 커맨드 확장을 포함하는 무선 신호을 생성하고 송신하다.
도6C는 본 발명에 따라 클라이언트 컴퓨터 시스템이 동작하지 못하게 하는 서버 컴퓨터 시스템으로부터 신호를 수신하는 클라이언트 컴퓨터 시스템의 고레벨 플로우 차트를 도시한다. 프로세스는 블록(670)에서 시작해서 블록(672)로 가고 거기에서 클라이언트 컴퓨터 시스템 내에 포함된 마이크로-컨트롤러(302)가 네트워크 패킷(400)의 수신을 대기한다. 패킷이 수신되면, 물리 층(234)은 네트워크 패킷(400) 내에 포함된 데이터 패킷(404)을 MII 버스(252) 상에 위치시킨다. MII 버스(252)는 ASIC(300)의 MII 인터페이스(312)에 의하여 판독된다. ASIC(300)은 데이터 패킷(404)을 MII 인터페이스(312)에서 RX FIFO(310) 및 RX 버퍼(318)로 전송한다.
그런 다음 프로세스는 블록(674)로 가고 거기에서 마이크로-컨트롤러(302)는 패킷으로부터 네트워크 헤더(402)를 제거한다. 다음으로, 블록(676)에서 마이크로-컨트롤러(302)가 데이터 패킷(404)이 매직 패킷(414)을 포함하는지 여부를 결정한다. 데이터 패킷(404)이 매직 패킷(414)을 포함하지 않는 것으로 결정되면, 프로세스는 블록(682)으로 가고 거기에서 데이터 패킷(404) 내에 포함된 데이터가 운영 시스템(OS) 내로 전송된다. 그런 다음 프로세스는 블록(672)으로 되돌아간다.
다시 블록(676)으로 돌아가서, 데이터 패킷(404)이 매직 패킷(414)을 포함한다고 결정되면, 프로세스는 블록(678)으로 가고 거기에서 데이터 패킷(404)이 또한 부가적인 커맨드(416)를 포함하는지 여부를 결정한다. 만약 데이터 패킷(404)이 어떠한 부가적인 커맨드(416)도 포함하지 않는다고 결정되면, 프로세스는 블록(680)으로 가고, 거기에서 클라이언트에 전원이 들어오게 하는 동작 커맨드를 전송한다. 그런 다음 프로세스는 블록(672)으로 되돌아간다.
다시 블록(678)으로 돌아가서, 데이터 패킷(404)이 부가적인 커맨드(416)를 포함한다고 결정되면, 프로세스는 블록(684)로 가고 거기에서 부가적인 커맨드(416)를 디코드한다. 다음으로, 블록(686)에서 커맨드가 전원 동작 방해 신호를 특정하는지 여부를 결정한다. 만약 커맨드가 전원 동작 방해 신호를 특정한다고 결정되면, 프로세스는 블록(688)으로 가고 거기에서 ASIC(300)가 전원 동작 신호가 HIGH로 전이하는 것을 방지하는 전원 동작 방해 신호를 발생한다. 클라이언트에 전원이 들어오도록 하기 위하여 전원 동작 신호는 HIGH로 전이되어야만 한다. 전원 동작 신호가 HIGH로 전이할 때까지 클라이언트는 동작하지 않은 채로 남아있게 된다. 그런 다음 프로세스는 블록(672)으로 되돌아간다.
다시 블록(686)으로 돌아가서, 커맨드가 전원 동작 방해 신호를 특정하지 않는 것으로 결정되면, 프로세스는 블록(688)으로 가고 거기에서 커맨드가 저장 장치 내에서 비트의 리세팅을 특정하는지 여부를 결정한다.
당업자는 부트 비트가 EEPROM(325)의 저장 장치(327), EEPROM(320)의 저장 장치(321) 또는 클라이언트(104) 내에 포함된 다른 임의의 저장 장치에 저장될 수 있음을 이해할 것이다. 당업자는 또한 저장 장치(321)에 하나와 저장 장치(327)에 하나인 2개의 부트 비트를 포함하는 것이바람직하다는 것을 알 것이다.
커맨드가 저장 장치(327) 내에서 비트의 리세팅을 특정하는 것으로 결정되면, 프로세스는 블록(692)으로 가고 거기에서 부트 비트를 리세팅한다. 그런 다음 프로세스는 블록(672)으로 되돌아간다. 다시 블록(690)으로 돌아가서, 커맨드가 부트 비트의 리세팅을 특정하지 않는 것으로 결정되면, 프로세스는 블록(672)으로 되돌아간다.
도7은 본 발명의 방법 및 시스템에 따른 부트 비트의 체크를 포함하는 부트 프로세스를 초기화하는 클라이언트 컴퓨터 시스템에 관한 고레벨 플로우 차트이다. 프로세스는 블록(700)에서 시작해서 블록(702)로 가고 거기에서 POST 프로세스를 초기화한다. 다음으로, 블록(704)에서 저장 장치 내에 저장된 부트 비트가 세트인지 또는 리셋인지를 결정한다. 만약 부트 비트가 세트이면, 프로세스는 블록(706)으로 가고 거기에서 POST 프로세싱과 부트 시퀀스를 계속한다. 블록(704)으로 다시 돌아가서, 부트 비트가 리셋이라고 결정되면, 프로세스는 블록(708)으로 가고 패스워드를 프롬프트한다. 그런 다음 블록(710)은 프로세스의 종료를 도시한다. 클라이언트 컴퓨터 시스템은 부트 비트가 리셋일 때, 부트하지 않을 것이다.
본 발명은 클라이언트에 전원이 들어오지 못하게 방해하거나 클라이언트가 부트되지 못하게 함으로써 클라이언트가 동작하지 못하게 원격적으로 조절하는 능력을 지니는 서버 컴퓨터 시스템을 제공한다. 따라서, 네트워크 관리자는 클라이언트를 원격적으로 접근할 수 있고, 클라이언트의 물리적인 위치에 갈 필요없이 그것을 동작하지 못하게 할 수 있다. 네트워크 관리자는 그 물리적인 위치 또는 클라이언트에 접근하도록 허락된 시간과 무관하게 언제든지 그 편한 시간에 클라이언트를 동작하지 못하게 할 수 있다.
또한, 본 발명은 클라이언트에 접근하는 무단 사용자의 능력을 제한한다. 클라이언트에 전원이 들어오거나 부팅되기 전에 동작하지 못하게 되기 때문에, 무단 사용자는 클라이언트에 접근하기가 실질적으로 훨씬 어려워진 셈이다.

Claims (39)

  1. 클라이언트 컴퓨터 시스템과 서버 컴퓨터 시스템이 접속되어 있는 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력을 서버 컴퓨터 시스템이 원격적으로 디스에이블시킬 수 있는 데이터 처리 방법에 있어서,
    상기 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력이 적어도 일시적으로 디스에이블되도록 네트워크를 사용하여 서버 컴퓨터 시스템이 클라이언트 컴퓨터 시스템에 지시를 전송하는 단계와,
    상기 클라이언트 컴퓨터 시스템에서 상기 지시의 수신에 응답하여, 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력이 적어도 일시적으로 디스에이블되고, 클라이언트 컴퓨터 시스템이 일시적으로 디스에이블되어 있는 동안 네트워크를 사용하여 클라이언트 컴퓨터 시스템이 정보를 전송할 수 없게 하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 지시의 수신에 응답하여 상기 서버 컴퓨터 시스템이 상기 클라이언트 컴퓨터 시스템 내에 포함된 네트워크 하드웨어의 동작을 원격적으로 수정하는 단계를 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 서버 컴퓨터 시스템이 상기 네트워크를 사용하여 네트워크에 접근하는클라이언트 컴퓨터 시스템의 능력이 리-이네이블되도록 상기 클라이언트 컴퓨터 시스템에 지시를 전송하는 단계와,
    상기 클라이언트 컴퓨터 시스템에서 상기 지시의 수신에 응답하여, 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력이 리-이네이블되고, 클라이언트 컴퓨터 시스템이 리-이네이블되어 있는 동안 네트워크를 사용하여 클라이언트 컴퓨터 시스템이 정보를 전송할 수 있게 하는 단계
    를 더 포함하는 방법.
  4. 제3항에 있어서, 상기 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력을 일시적으로 디스에이블시키는 단계는, 상기 클라이언트 컴퓨터 시스템 내에 포함된 매체 접근 컨트롤러가 클라이언트 컴퓨터 시스템에 의하여 실행되는 운영 시스템으로부터 일시적으로 고립되고, 상기 매체 접근 컨트롤러가 고립되어 있을 때 운영 시스템이 매체 접근 컨트롤러와 통신하지 못하게 하는 단계를 더 포함하는 방법.
  5. 제4항에 있어서, 상기 네트워크로 접근하는 클라이언트 컴퓨터 시스템의 능력을 일시적으로 리-이네이블시키는 단계는, 상기 클라이언트 컴퓨터 시스템 내에 포함된 운영 시스템 및 매체 접근 컨트롤러 사이의 통신을 리-이네이블시키는 단계를 더 포함하는 방법.
  6. 제5항에 있어서,
    상기 서버 컴퓨터 시스템이, 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력을 초기화시키기 위하여 네트워크를 사용하여 클라이언트 컴퓨터 시스템에 지시를 전송하는 단계와,
    상기 클라이언트 컴퓨터 시스템에서 상기 지시의 수신에 응답하여, 클라이언트 컴퓨터 시스템이 네트워크로 접근하는 능력이 초기화되게 하는 단계
    를 더 포함하는 방법.
  7. 제6항에 있어서, 상기 네트워크로 접근하는 클라이언트 컴퓨터 시스템의 능력을 초기화시키는 단계는, 네트워크로 접근하는 클라이언트 컴퓨터 시스템 내에 포함된 매체 접근 컨트롤러를 초기화시키는 단계를 더 포함하는 방법.
  8. 제2항에 있어서,
    상기 서버 컴퓨터 시스템이, 네트워크로 접근하는 클라이언트 컴퓨터 시스템의 능력을 영구적으로 디스에이블시키기 위하여 네트워크를 사용하여 클라이언트 컴퓨터 시스템에 지시를 전송하는 단계와,
    상기 클라이언트 컴퓨터 시스템에서 상기 지시의 수신에 응답하여, 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력이 영구적으로 디스에이블되고, 상기 클라이언트 컴퓨터 시스템이 디스에이블되어 있는 동안 네트워크를 사용하여 정보를 전송할 수 없게 하는 단계
    를 더 포함하는 방법.
  9. 제8항에 있어서, 상기 네트워크로 접근하는 클라이언트 컴퓨터 시스템의 능력을 영구적으로 디스에이블시키는 단계는, 상기 클라이언트 컴퓨터 시스템에서 네트워크로 접근하는 클라이언트 컴퓨터 시스템 내에 포함된 물리 층의 능력을 영구적으로 디스에이블시키는 물리 층 리셋을 발생하는 단계를 더 포함하는 방법.
  10. 제9항에 있어서, 상기 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력을 리-이네이블시키기 전에, 사용자에게 상기 물리 층 리셋을 제거할 것을 요청하는 단계를 더 포함하는 방법.
  11. 서버 컴퓨터 시스템과 클라이언트 컴퓨터 시스템이 접속하고 있는 네트워크로 접근하기 위한 클라이언트 컴퓨터 시스템의 능력을, 서버 컴퓨터 시스템이 원격적으로 디스에이블시키는 데이터 처리 시스템에 있어서,
    상기 서버 컴퓨터 시스템은, 상기 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력이 적어도 일시적으로 디스에이블되도록, 네트워크를 사용하여 클라이언트 컴퓨터 시스템에 지시를 전송하기 위한 코드를 실행하고,
    상기 클라이언트 컴퓨터 시스템에서 상기 지시의 수신에 응답하여 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력을 적어도 일시적으로 디스에이블되고, 클라이언트 컴퓨터 시스템이 일시적으로 디스에이블되어 있는 동안 클라이언트컴퓨터 시스템이 네트워크를 사용하여 정보를 전송할 수 없게 하는 시스템.
  12. 제11항에 있어서, 상기 서버 컴퓨터 시스템은 또한, 상기 지시의 수신에 응답하여 상기 클라이언트 컴퓨터 시스템 내에 포함된 네트워크 하드웨어의 동작을 원격적으로 수정하기 위한 코드를 실행하는 시스템.
  13. 제12항에 있어서, 또한
    상기 서버 컴퓨터 시스템은, 상기 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력이 리-이네이블되도록 네트워크를 사용하여 클라이언트 컴퓨터 시스템에 지시를 전송하는 코드를 실행하고,
    상기 클라이언트 컴퓨터 시스템에서 상기 지시의 수신에 응답하여 코드를 실행시켜 네트워크로 접근하는 클라이언트 컴퓨터 시스템의 능력이 리-이네이블되고, 상기 클라이언트 컴퓨터 시스템이 리-이네이블되어 있는 동안 클라이언트 컴퓨터 시스템이 네트워크를 사용하여 정보를 전송할 수 있게 하는 시스템.
  14. 제13항에 있어서, 상기 클라이언트 컴퓨터 시스템이 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력을 디스에이블시키기 위한 코드를 실행하는 것은, 또한 상기 클라이언트 컴퓨터 시스템이 클라이언트 컴퓨터 시스템 내에 포함된 매체 접근 컨트롤러가 상기 클라이언트 컴퓨터 시스템에 의하여 실행되는 운영 시스템으로부터 고립되게 하는 코드를 실행하고, 매체 접근 컨트롤러가 고립되어 있는동안 운영 시스템이 매체 접근 컨트롤러와 통신하지 못하도록 하는 시스템.
  15. 제14항에 있어서, 상기 클라이언트 컴퓨터 시스템이 상기 네트워크로 접근하는 클라이언트 컴퓨터 시스템의 능력을 일시적으로 리-이네이블시키는 코드를 실행하는 것은, 또한 상기 클라이언트 컴퓨터 시스템이 그 클라이언트 컴퓨터 시스템 내에 포함된 매체 접근 컨트롤러와 운영 시스템 사이의 통신을 리-이네이블시키기 위한 코드를 실행하는 시스템.
  16. 제15항에 있어서, 또한
    상기 서버 컴퓨터 시스템은, 네트워크로 접근하는 클라이언트 컴퓨터 시스템의 능력을 초기화시키기 위하여, 네트워크를 사용하여 클라이언트 컴퓨터 시스템에 지시를 전송하기 위한 코드를 실행하고,
    상기 클라이언트 컴퓨터 시스템에서 상기 지시의 수신에 응답하여 네트워크로 접근하는 클라이언트 컴퓨터 시스템의 능력이 초기화되도록 클라이언트 컴퓨터 시스템이 코드를 실행하는 시스템.
  17. 제16항에 있어서, 상기 클라이언트 컴퓨터 시스템이 네트워크로 접근하는 클라이언트 컴퓨터 시스템의 능력을 초기화시키는 코드를 실행하는 것은, 또한 상기 클라이언트 컴퓨터 시스템이 네트워크로 접근하는 클라이언트 컴퓨터 시스템 내에 포함된 매체 접근 컨트롤러를 초기화시키는 코드를 실행하는 시스템.
  18. 제12항에 있어서, 또한
    상기 서버 컴퓨터 시스템은, 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력을 영구적으로 디스에이블시키기 위하여 네트워크를 사용하여 클라이언트 컴퓨터 시스템에 지시를 전송하기 위한 코드를 실행하고,
    상기 클라이언트 컴퓨터 시스템은, 클라이언트 컴퓨터 시스템에서 지시의 수신에 응답하여 네트워크로 접근하는 클라이언트 컴퓨터 시스템의 능력이 영구적으로 디스에이블되도록 코드를 실행하고, 클라이언트 컴퓨터 시스템이 디스에이블되어 있는 동안 네트워크를 사용하여 클라이언트 컴퓨터 시스템이 정보를 전송할 수 없게 하는 시스템.
  19. 제18항에 있어서, 상기 클라이언트 컴퓨터 시스템이 상기 네트워크로 접근하는 클라이언트 컴퓨터 시스템의 능력을 영구적으로 디스에이블시키기 위한 코드를 실행하는 것은, 또한 상기 클라이언트 컴퓨터 시스템이 네트워크에 접근하는 클라이언트 컴퓨터 시스템 내에 포함된 물리 층의 능력을 영구적으로 디스에이블시키는 물리 층 리셋을 발생하는 코드를 실행하는 시스템.
  20. 제19항에 있어서, 또한 상기 클라이언트 컴퓨터 시스템은 사용자에게 네트워크에 접근하는 클라이언트 컴퓨터 시스템의 능력을 리-이네이블시키기 전에 상기 물리 층 리셋을 제거할 것을 요청하도록 구성되는 시스템.
  21. 지역 네트워크를 형성하기 위하여 서버 컴퓨터 시스템에 접속되어 있는 클라이언트 컴퓨터 시스템 내에 포함된 복수의 초기화 세팅 중 하나에 원격적으로 접근하기 위한 데이터 처리 방법에 있어서,
    상기 복수의 초기화 세팅 중 선택된 하나에 접근하도록 서버 컴퓨터 시스템이 클라이언트 컴퓨터 시스템에 커맨드를 전송하는 단계와,
    상기 클라이언트 컴퓨터 시스템에서 상기 커맨드의 수신에 응답하여 상기 클라이언트 컴퓨터 시스템이 상기 복수의 초기화 세팅 중 단지 선택된 하나에만 접근하고 다른 복수의 초기화 세팅에는 접근하지 않는 단계
    를 포함하는 방법.
  22. 제21항에 있어서,
    상기 클라이언트 컴퓨터 시스템에 전원이 들어오지 않고 있는 동안 클라이언트 컴퓨터 시스템이 상기 커맨드를 수신하는 단계와,
    상기 클라이언트 컴퓨터 시스템에서 상기 커맨드의 수신에 응답하여, 클라이언트 컴퓨터 시스템에 전원이 들어오지 않고 있는 동안, 상기 클라이언트 컴퓨터 시스템이 상기 복수의 초기화 세팅 중 단지 하나에 접근하는 단계
    를 더 포함하는 방법.
  23. 제22항에 있어서, 상기 클라이언트 컴퓨터 시스템은 중앙 처리 장치를 포함하고, 상기 클라이언트 컴퓨터 시스템 내에 상기 중앙 처리 장치와 별개로 서비스 프로세서를 더 설치하며, 상기 클라이언트 컴퓨터 시스템이 상기 복수의 초기화 세팅 중 단지 하나에 접근하는 단계는, 상기 서비스 프로세스가 상기 복수의 초기화 세팅 중 상기 단지 하나에 접근하게 하는 단계를 더 포함하는 방법.
  24. 제23항에 있어서, 상기 서버 컴퓨터 시스템이 클라이언트 컴퓨터 시스템에 커맨드를 전송하여 초기화 세팅에 접근하게 하는 단계는, 서버 컴퓨터 시스템이 클라이언트 컴퓨터 시스템에 복수의 초기화 세팅 중 하나의 값을 판독하도록 커맨드를 전송하는 단계를 더 포함하는 방법.
  25. 제24항에 있어서,
    상기 클라이언트 컴퓨터 시스템에서 복수의 초기화 세팅 중 하나의 값을 판독하게 하는 커맨드의 수신에 응답하여, 상기 서비스 프로세서가 복수의 초기화 세팅 중 단지 하나의 값을 판독하는 단계와,
    상기 클라이언트 컴퓨터 시스템이 서버 컴퓨터 시스템에 복수의 초기화 세팅 중 하나의 값을 전송하는 단계
    를 더 포함하는 방법.
  26. 제25항에 있어서,
    상기 서버 컴퓨터 시스템이 복수의 초기화 세팅 중 하나를 수정하도록 클라이언트 컴퓨터 시스템에 커맨드를 전송하는 단계와,
    상기 클라이언트 컴퓨터 시스템에서 커맨드의 수신에 응답하여, 상기 서비스 프로세서가 복수의 초기화 세팅 중 단지 하나를 수정하고, 다른 복수의 초기화 세팅에는 접근하지 않는 단계
    를 더 포함하는 방법.
  27. 제26항에 있어서, 상기 서버 컴퓨터 시스템이 초기화 세팅을 수정하도록 클라이언트 컴퓨터 시스템에 커맨드를 전송하는 단계는, 서버 컴퓨터 시스템이 클라이언트 컴퓨터 시스템에 복수의 초기화 세팅의 값을 기록하도록 커맨드를 전송하는 단계를 더 포함하는 방법.
  28. 제27항에 있어서, 상기 클라이언트 컴퓨터 시스템에서 커맨드의 수신에 응답하여 복수의 초기화 세팅 중 하나의 값을 기록하는 단계는, 상기 서비스 프로세서가 복수의 초기화 세팅 중 단지 하나의 값을 기록하는 단계를 더 포함하는 방법.
  29. 제28항에 있어서, 상기 클라이언트 컴퓨터 시스템 내에 서비스 프로세스에 의해 접근 가능한 오프셋 레지스터 및 데이터 레지스터를 구축하는 단계를 더 포함하는 방법.
  30. 지역 네트워크를 형성하기 위하여 서버 컴퓨터 시스템에 접속된 클라이언트컴퓨터 시스템 내에 포함된 복수의 초기화 세팅 중 하나에 원격적으로 접근하기 위한 데이터 처리 시스템에 있어서,
    상기 서버 컴퓨터 시스템이 복수의 초기화 세팅 중 하나에 접근하도록 클라이언트 컴퓨터 시스템에 커맨드를 전송하는 코드를 실행하고,
    상기 클라이언트 컴퓨터 시스템에서 커맨드의 수신에 응답하여 클라이언트 컴퓨터 시스템이 복수의 초기화 세팅 중 단지 하나에 접근하고, 다른 복수의 초기화 세팅에는 접근하지 않게 하는 코드를 실행하는 시스템.
  31. 네트워크를 사용하여 서버 컴퓨터 시스템에 접속된 클라이언트 컴퓨터 시스템을 원격적으로 동작하지 못하게 하는 데이터 처리 방법에 있어서,
    상기 클라이언트 컴퓨터 시스템에 초기에 전원이 들어오지 않게 하는 단계와,
    상기 서버 컴퓨터 시스템은 클라이언트 컴퓨터 시스템이 동작하게 되는 것을 방지하기 위하여 네트워크를 사용하여 클라이언트 컴퓨터 시스템에 신호를 전송하는 단계와,
    상기 클라이언트 컴퓨터 시스템에서 신호의 수신에 응답하여, 클라이언트 컴퓨터 시스템이 동작하는 것을 방지하고, 서버 컴퓨터 시스템이 클라이언트 컴퓨터 시스템을 동작하지 못하게 원격적으로 조작하는 단계
    를 포함하는 방법.
  32. 제31항에 있어서, 상기 신호의 수신에 응답하여 클라이언트 컴퓨터 시스템 내에 포함된 전원 관리 하드웨어의 동작을 수정함으로써 서버 컴퓨터 시스템이 클라이언트 컴퓨터 시스템을 동작하지 못하도록 원격적으로 조작하는 단계를 더 포함하는 방법.
  33. 제32항에 있어서, 상기 클라이언트 컴퓨터 시스템이 동작하는 것을 방지하는 단계는, 상기 클라이언트 컴퓨터 시스템에 전원이 들어오는 것을 방지하는 단계를 더 포함하는 방법.
  34. 제33항에 있어서, 상기 클라이언트 컴퓨터 시스템은 전원을 포함하고,
    상기 전원이 안정적 시스템 전원을 공급할 것이라는 결정에 응답하여, 클라이언트 컴퓨터 시스템에 전원을 들어오게 되기 전에 필요한 안정적-전원 신호를 발생하는 단계와,
    상기 클라이언트 컴퓨터 시스템에서 클라이언트 컴퓨터 시스템의 동작을 방지하기 위한 신호의 수신에 응답하여, 상기 전원 관리 하드웨어가 안정적-전원 신호를 수신하는 것을 방지하고, 전원 관리 하드웨어가 안정적-전원 신호를 수신하는 것이 방지되는 동안 클라이언트 컴퓨터 시스템에 전원이 들어오지 못하게 하는 단계
    를 더 포함하는 방법.
  35. 제31항에 있어서, 상기 클라이언트 컴퓨터 시스템이 동작하게 되는 것을 방지하는 단계는, 상기 클라이언트 컴퓨터 시스템이 부팅하는 것을 방지하는 단계를 더 포함하는 방법.
  36. 제35항에 있어서,
    부트 비트를 저장하기 위한 레지스터를 구축하는 단계와,
    상기 부트 비트가 세트일 때에만 상기 클라이언트 컴퓨터 시스템을 부팅시키고,
    상기 부트 비트가 리셋일 경우에는 클라이언트 컴퓨터 시스템이 부팅되는 것을 방지하는 단계
    를 더 포함하는 방법
  37. 제36항에 있어서, 상기 클라이언트 컴퓨터 시스템이 동작하는 것을 방지하도록 네트워크를 사용하여 서버 컴퓨터 시스템이 클라이언트 컴퓨터 시스템에 신호를 전송하는 단계는, 상기 부트 비트를 리셋하도록 네트워크를 사용하여 서버 컴퓨터 시스템이 클라이언트 컴퓨터 시스템에 신호를 전송하는 단계를 더 포함하는 방법.
  38. 제37항에 있어서, 상기 클라이언트 컴퓨터 시스템에서 신호의 수신에 응답하여 클라이언트 컴퓨터 시스템이 부팅될 수 없도록 부트 비트를 리세팅하는 단계를 더 포함하는 방법.
  39. 네트워크를 사용하여 서버 컴퓨터 시스템에 접속된 클라이언트 컴퓨터 시스템이 동작하지 못하도록 원격적으로 조작하는 데이터 처리 시스템에 있어서,
    상기 클라이언트 컴퓨터 시스템에는 초기에 전원이 들어오지 않고,
    상기 서버 컴퓨터 시스템은 클라이언트 컴퓨터 시스템이 동작하는 것을 방지하기 위하여 네트워크를 사용하여 클라이언트 컴퓨터 시스템에 신호를 전송하는 코드를 실행하며,
    상기 클라이언트 컴퓨터 시스템에서 신호의 수신에 응답하여, 클라이언트 컴퓨터 시스템이 동작하게 되는 것을 방지하고, 서버 컴퓨터 시스템이 클라이언트 컴퓨터 시스템을 동작하지 못하도록 원격적으로 조작하는 시스템.
KR10-2001-7006589A 1998-11-30 1999-11-30 클라이언트 컴퓨터 시스템의 네트워크 활성을 원격적으로 사용 불능으로 만들 수 있는 데이터 처리 시스템 및 방법 KR100424742B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US09/201,063 1998-11-30
US09/201,063 US6263388B1 (en) 1998-11-30 1998-11-30 Data processing system and method for remotely disabling network activity in a client computer system
US09/201,572 US6334147B1 (en) 1998-11-30 1998-11-30 Data processing system and method for remotely accessing a client computer systems's individual initialization settings while the client is powered off
US09/201,572 1998-11-30
US09/201,062 1998-11-30
US09/201,062 US6334150B1 (en) 1998-11-30 1998-11-30 Data processing system and method for remotely disabling a client computer system

Publications (2)

Publication Number Publication Date
KR20010080586A true KR20010080586A (ko) 2001-08-22
KR100424742B1 KR100424742B1 (ko) 2004-03-31

Family

ID=27394239

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-7006589A KR100424742B1 (ko) 1998-11-30 1999-11-30 클라이언트 컴퓨터 시스템의 네트워크 활성을 원격적으로 사용 불능으로 만들 수 있는 데이터 처리 시스템 및 방법

Country Status (9)

Country Link
EP (1) EP1135890B1 (ko)
KR (1) KR100424742B1 (ko)
CN (3) CN1510870A (ko)
AT (1) ATE461564T1 (ko)
AU (1) AU1397000A (ko)
CA (3) CA2485267A1 (ko)
DE (1) DE69942155D1 (ko)
IL (2) IL142820A0 (ko)
WO (1) WO2000033510A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2374496A (en) * 2000-12-28 2002-10-16 D T E Ltd Control device for a collision-sensing communication network
US8856511B2 (en) 2006-12-14 2014-10-07 Blackberry Limited System and method for wiping and disabling a removed device
US9130903B2 (en) * 2009-07-01 2015-09-08 Citrix Systems, Inc. Unified out of band management system for desktop and server sessions
CN106603463A (zh) * 2015-10-14 2017-04-26 天津雅达电子商务有限公司 一种用于多层次对话的调节计算机系统的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4652874A (en) * 1984-12-24 1987-03-24 Motorola, Inc. Serial communication interface for a local network controller
US4930159A (en) * 1989-01-18 1990-05-29 International Business Machines Corporation Netbios name authentication
US5128995A (en) * 1990-07-23 1992-07-07 International Business Machines Corp. Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system
US5404544A (en) * 1992-06-05 1995-04-04 Advanced Micro Devices System for periodically transmitting signal to/from sleeping node identifying its existence to a network and awakening the sleeping node responding to received instruction
JPH07115428A (ja) * 1993-10-20 1995-05-02 Hitachi Ltd 遠隔電源制御方式
US5978912A (en) * 1997-03-20 1999-11-02 Phoenix Technologies Limited Network enhanced BIOS enabling remote management of a computer without a functioning operating system
US6266696B1 (en) 1998-02-17 2001-07-24 International Business Machine Corporation Full time network auxiliary for a network connected PC

Also Published As

Publication number Publication date
CA2349666A1 (en) 2000-06-08
KR100424742B1 (ko) 2004-03-31
CA2485267A1 (en) 2000-06-08
AU1397000A (en) 2000-06-19
CN100518077C (zh) 2009-07-22
CN1510869A (zh) 2004-07-07
WO2000033510A3 (en) 2000-10-05
EP1135890B1 (en) 2010-03-17
CN1510870A (zh) 2004-07-07
WO2000033510A2 (en) 2000-06-08
DE69942155D1 (de) 2010-04-29
CA2485266A1 (en) 2000-06-08
IL142820A (en) 2007-09-20
CN1207870C (zh) 2005-06-22
EP1135890A2 (en) 2001-09-26
ATE461564T1 (de) 2010-04-15
CN1335005A (zh) 2002-02-06
IL142820A0 (en) 2002-03-10

Similar Documents

Publication Publication Date Title
US6314455B1 (en) Data processing system and method for permitting a server to remotely initiate a client's boot block recovery
US8862709B2 (en) Remote management of boot application
US6263373B1 (en) Data processing system and method for remotely controlling execution of a processor utilizing a test access port
US6526507B1 (en) Data processing system and method for waking a client only in response to receipt of an authenticated Wake-on-LAN packet
US6480972B1 (en) Data processing system and method for permitting a server to remotely perform diagnostics on a malfunctioning client computer system
US6263388B1 (en) Data processing system and method for remotely disabling network activity in a client computer system
US6381700B1 (en) Remote network device for controlling the operation voltage of network devices
US6334150B1 (en) Data processing system and method for remotely disabling a client computer system
US6718464B2 (en) Method and system for customizing a client computer system configuration for a current user using BIOS settings downloaded from a server
US6282642B1 (en) System for presetting a first or second remote boot protocol by a computer remotely receiving and storing a boot parameter prior to being powered on
JP3629513B2 (ja) データ処理システム及び方法
US20050166213A1 (en) Remote deployment of executable code in a pre-boot environment
US6275851B1 (en) Data processing system and method for remotely controlling modification of a client's initialization settings
US6161178A (en) Data processing system and method for specification of one of a plurality of password requirements for each boot device
US6832262B2 (en) Method and system for disguising a computer system's identity on a network by disguising the system's MAC address
US6405259B1 (en) Data processing system and method for transmission of a network packet specifying a group identifier identifying a selected plurality of clients
US6415324B1 (en) Data processing system and method for permitting a client computer system to temporarily prohibit remote management
US6742027B1 (en) Data processing system and method for permitting a server to remotely disable a client computer system's input device
KR100424742B1 (ko) 클라이언트 컴퓨터 시스템의 네트워크 활성을 원격적으로 사용 불능으로 만들 수 있는 데이터 처리 시스템 및 방법
US6334147B1 (en) Data processing system and method for remotely accessing a client computer systems's individual initialization settings while the client is powered off
US6601174B1 (en) Data processing system and method for permitting a server to remotely provide a client computer system's settings password to the client
US7076538B2 (en) Method and system for disguising a computer system's identity on a network
US20050182615A1 (en) Method and system for creating an automatically adjusting USB mass storage device
US6687744B1 (en) Data processing system and method for permitting a server computer system to function as a virtual keyboard to a client computer system
US20020093800A1 (en) Connection arrangements for electrical devices

Legal Events

Date Code Title Description
A201 Request for examination
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: 20130221

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140220

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160218

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee