KR20070018859A - 그리드 작업의 오프로딩 허가 방법, 장치 및 컴퓨터프로그램 제품 - Google Patents

그리드 작업의 오프로딩 허가 방법, 장치 및 컴퓨터프로그램 제품 Download PDF

Info

Publication number
KR20070018859A
KR20070018859A KR1020067017466A KR20067017466A KR20070018859A KR 20070018859 A KR20070018859 A KR 20070018859A KR 1020067017466 A KR1020067017466 A KR 1020067017466A KR 20067017466 A KR20067017466 A KR 20067017466A KR 20070018859 A KR20070018859 A KR 20070018859A
Authority
KR
South Korea
Prior art keywords
grid
resource
primary
authorization
task
Prior art date
Application number
KR1020067017466A
Other languages
English (en)
Other versions
KR100962876B1 (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 KR20070018859A publication Critical patent/KR20070018859A/ko
Application granted granted Critical
Publication of KR100962876B1 publication Critical patent/KR100962876B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)

Abstract

리소스 컴퓨터의 그리드 내에서 2차적 리소스를 상호 허가(mutual authorization)하는 메커니즘이 제공된다. 1차적 리소스가 그리드 컴퓨팅 작업(grid computing job)을 2차적 리소스로 오프로딩(offloads)하도록 시도할 때, 1차적 리소스는 프록시 인증서 요청(proxy certificate request)을 사용자 머신에게 전달한다. 프록시 인증서 요청에 응답하여, 사용자 머신은 2차적 리소스와의 허가를 실행한다. 2차적 리소스와의 허가가 성공이면, 사용자 머신은 유효 프록시 인증서를 생성 및 리턴한다. 다음에 1차적 리소스는 2차적 리소스와의 상호 인증을 실행한다. 2차적 리소스와의 허가가 실패하면, 사용자 머신은 무효 프록시 인증서를 생성 및 리턴한다. 1차적 리소스와 2차적 리소스 사이의 상호 인증은 무효 프록시 인증서에 기인하여 실패할 것이다. 다음에 1차적 리소스는 다른 2차적 리소스를 선택하고, 2차적 리소스가 사용자 머신과의 상호 허가를 성공하는 것으로 확인될 때까지 그 프로세스를 반복한다.

Description

그리드 작업의 오프로딩 허가 방법, 장치 및 컴퓨터 프로그램 제품{MUTUAL AUTHORIZATION IN A GRID THROUGH PROXY CERTIFICATE GENERATION}
본 발명은 특히 데이터 처리 및 구체적으로는 그리드 컴퓨팅(grid computing)에 관한 것이다. 보다 구체적으로, 본 발명은 프록시 인증서(proxy certificate) 생성을 통해 그리드 상호 허가를 실행하는 방법, 장치, 및 프로그램을 제공한다.
그리드 컴퓨팅은 네트워크를 통해 CPU(central processing unit) 리소스를 공유하여 복수의 머신이 하나의 대형 슈퍼컴퓨터로서 기능하게 하는 것이다. 또한, 그리드 컴퓨팅은 피어-투-피어(peer-to-peer) 컴퓨팅 또는 분산형 컴퓨팅으로서 지칭되어, 임의의 머신 내의 미사용된 CPU 용량이 필요한 전체 처리 작업에 대해 할당될 수 있게 한다.
대형 기업 내에서, 임의의 시점에서 수백 또는 수천의 데스크탑 머신이 대기 상태로 유지될 수 있다. CPU는 사용자가 스크린을 읽고 있으면서 머신과 상호 작용하고 있지 않은 경우에도 대기 상태로 간주될 수 있다. 다른 컴퓨팅 리소스는 하루 중 여러 시간에 대기 상태가 될 수 있다. 예를 들면, 데이터베이스 서버의 클러스터(cluster) 또는 데이터베이스 서버의 서브셋(subset)은, 예를 들면 한밤중 등과 같은 비 영업 시간 동안에 사용되지 않을 수 있다. 적절한 예로서, 뉴욕 시에서 최고 업무 시간 동안에, 인도에서의 대부분의 사람들은 잠을 자고 있을 가능성이 있다. 그러므로, 하루 중 어떠한 시간에도 큰 계산 문제에서 이용될 수 있는 미사용된 처리 사이클이 존재할 수 있다.
임의의 사용자는 그리드 기술을 이용하여 계산 집약적 작업을 실행할 수 있다. 예를 들면, 사용자는 인체 유전자(human genome) 연구 프로젝트 등과 같은 생체 공학 프로젝트를 진행할 수 있다. 작업은 2일 동안 실행될 수 있는 임의의 프로그램이거나, 단지 리소스 머신에게 하루 중의 시간을 물어보는 임의의 프로그램일 수 있다. 그러나, 그리드 컴퓨팅은 전형적으로 매우 계산 집약적인 작업에 이용된다. 사용자는 리소스 머신에 작업을 전달하고, 밤 중 또는 주말 동안에는 집에서 쉴 수 있다. 그러면 리소스 머신은 그 작업을 처리하고, 그 결과를 사용자에게 리턴할 것이다.
사용자는 작업을 실행할 특정 머신을 그리드 내에서 선택할 수 있다. 사용자는 사용자가 신뢰하는 특정 머신을 인식할 수 있다. 예를 들면, 사용자는 업데이트된 보안 패치(security patches), 보안 운영 시스템 등을 갖는 미사용 용량을 갖는 머신을 인식할 수 있다. 이와 다르게, 사용자는 작업을 처리할 호스트(리소스)를 선택하는 작업을 그리드 스케쥴러(grid scheduler)에 제출할 수 있다. 사용자가 작업을 그리드 스케쥴러로 전달하면, 사용자는 올바른 호스트로 작업을 전달 하기 위해서 스케쥴러를 신뢰한다고 추정된다.
물론, 그리드 컴퓨팅은 보안 문제를 유발할 수 있다. 예를 들면, 리소스 머신은 과부하가 걸릴 수 있다. 이러한 경우에, 1차적(primary) 리소스 머신은 작업을 2차적(secondary) 리소스 머신으로 오프로딩(offload)할 수 있다. 그 작업을 제공한 사용자가 반드시 2차적 리소스 또는 호스트를 신뢰해야하는 것은 아니다. 작업의 IP, 실행되는 프로그램, 입력 데이터, 출력 데이터 등은 모두 신뢰되지 않은(신뢰 불가능) 2차적 호스트에게 이용 가능하다. 이것은 비인가 위험(unauthorized risk) 또는 보안과 관련된 비용의 사용자 부담을 나타낸다. 그러나, 작업이 1차적 리소스로 제공되면, 사용자는 그리드 내의 머신이 최종적으로 그 작업을 처리하는 것을 제어하지 못한다. 결과적으로, 작업을 처리하는 2차적 리소스 머신은 바람직한, 또는 필수적이기까지 한 보안 레벨이 충분하지 않을 수 있다. 머신은 바이러스 공격 또는 스파이웨어(spyware)에 취약한 운영 시스템을 가질 수 있다. 그렇지 않으면 2차적 리소스는 그리드 작업의 결과 또는 IP(Internet protocol) 어드레스를 불법 누출하거나 도난당할 수 있다.
본 발명의 일측면에 따르면, 청구항 1에 제시된 방법이 제공된다.
본 발명의 제 2 측면에 따르면, 청구항 9에 제시된 방법이 제공된다.
본 발명의 제 3 측면에 따르면, 청구항 10에 제시된 방법이 제공된다.
본 발명은 종래 기술의 단점을 인식하고, 리소스 컴퓨터의 그리드 내에서 2차적 리소스의 상호 허가를 위한 메커니즘을 제공한다. 그리드 보안은 때때로 인증서 및 프록시 인증서를 이용하여 사용자를 식별한다. 1차적 리소스 머신이 그리드 컴퓨팅 작업을 2차적 리소스로 오프로딩하도록 시도할 때, 1차적 리소스 머신은 프록시 인증서 요청을 사용자 머신으로 전달한다. 프록시 인증서 요청에 응답하여, 사용자 머신은 2차적 리소스 머신과의 허가 작업을 실행한다. 2차적 리소스 머신과의 허가가 성공적이면, 사용자 머신은 유효 프록시 인증서를 생성 및 리턴한다. 그리고 1차적 리소스 머신은 프록시 인증서를 이용하여 2차적 리소스 머신과의 상호 인증을 실행한다. 그러나, 2차적 리소스 머신과의 허가가 성공하지 않으면, 사용자 머신은 무효 프록시 인증서를 생성 및 리턴한다. 1차적 리소스가 2차적 리소스 머신과의 상호 인증을 실행하지만, 인증은 무효 프록시 인증서에 기인하여 실패할 것이다. 다음에 1차적 리소스는 다른 2차적 리소스를 선택하고, 임의의 리소스가 사용자 머신과의 상호 허가를 성공한다고 확인될 때까지 그 프로세스를 반복한다.
본 발명의 특성으로 간주되는 새로운 특징은 첨부된 청구항에 제시되어 있다. 그러나, 본 발명 그 자체와, 바람직한 사용 모드, 그 추가적인 목적 및 이점은 첨부된 도면과 함께 이하의 예시적인 실시예에 대한 상세한 설명을 참조함으로써 가장 잘 이해될 수 있을 것이다.
도 1은 본 발명을 구현할 수 있는 데이터 처리 시스템의 네트워크를 도시하 는 개략도.
도 2는 본 발명의 바람직한 실시예에 따라서 서버로서 구현될 수 있는 데이터 처리 시스템을 도시하는 블록도.
도 3은 본 발명을 구현할 수 있는 데이터 처리 시스템을 도시하는 블록도.
도 4는 1차적 리소스로부터 2차적 리소스로 그리드 작업을 오프로딩하는 프로세스를 도시하는 도면.
도 5는 본 발명의 바람직한 실시예에 따라서 프록시 인증서 생성을 통해 그리드 상호 허가를 가지고 1차적 리소스로부터 2차적 리소스로 그리드 작업을 오프로딩하는 프로세스를 도시하는 도면.
도 6은 본 발명의 예시적인 실시예에 따라서 그리드 컴퓨팅 시스템 내의 머신을 도시하는 블록도.
도 7은 본 발명의 예시적인 실시예에 따라서 그리드 컴퓨팅 시스템 내의 리소스 머신의 동작을 도시하는 흐름도.
도 8은 본 발명의 예시적인 실시예에 따라서 그리드 컴퓨팅 시스템 내의 사용자 머신의 동작을 도시하는 흐름도.
본 발명은 리소스 컴퓨터의 그리드 내에서 2차적 리소스를 상호 허가하는 방법, 장치 및 컴퓨터 프로그램 제품을 제공한다. 데이터 처리 장치는 다수의 컴퓨팅 장치를 이용하여 본 발명의 여러 측면을 실행하는 분산형 데이터 처리 시스템일 수 있다. 그러므로, 이하의 도 1 내지 도 3은 본 발명이 구현될 수 있는 데이터 처리 환경에 대한 예시적인 도면으로서 제공된다. 도 1 내지 도 3은 예시적인 것에 불과하고, 본 발명이 구현될 수 있는 환경에 대해 어떠한 제한도 단정하거나 의미하도록 의도하지 않음을 이해할 것이다. 본 발명의 정신 및 범주를 벗어나지 않으면서 도시된 환경에 대한 여러 수정이 이루어질 수 있다.
다음으로 도면을 참조하면, 도 1은 본 발명이 구현될 수 있는 데이터 처리 시스템의 네트워크를 도시하는 개략도이다. 네트워크 데이터 처리 시스템(100)은 본 발명이 구현될 수 있는 컴퓨터 네트워크이다. 네트워크 데이터 처리 시스템(100)은 네트워크(102)를 포함하는데, 이 네트워크는 네트워크 데이터 처리 시스템(100) 내에서 함께 접속된 여러 장치와 컴퓨터들 사이에 통신 링크를 제공하는 데 이용되는 매체이다. 네트워크(102)는 유선, 무선 통신 링크 또는 광섬유 케이블(fiber optic cables) 등과 같은 접속부를 포함할 수 있다.
도시된 예에서, 서버(104)는 저장 유닛(storage unit)(106)과 함께 네트워크(102)에 접속되어 있다. 또한, 클라이언트(108, 110, 112)는 네트워크(102)에 접속되어 있다. 이러한 클라이언트(108, 110, 112)는 예를 들면, 퍼스널 컴퓨터 또는 네트워크 컴퓨터일 수 있다. 도시된 예에서, 서버(104)는 부팅 파일(boot files), 운영 시스템 이미지 및 클라이언트(108∼112)에 대한 응용 등과 같은 데이터를 제공한다. 클라이언트(108, 110, 112)는 서버(104)에 대한 클라이언트이다. 네트워크 데이터 처리 시스템(100)은 추가적인 서버, 클라이언트 및 도시하지 않은 다른 장치를 포함할 수 있다.
보다 구체적으로, 네트워크 데이터 처리 시스템(100)은 컴퓨팅 시스템의 그리드인 그리드(120)를 포함한다. 그리드 컴퓨팅은 네트워크에 걸쳐 CPU(central processing unit) 리소스를 공유하여 복수의 머신이 하나의 대형 슈퍼컴퓨터로서 기능하게 하는 것이다. 피어-투-피어(peer-to-peer) 컴퓨팅 또는 분산형 컴퓨팅으로도 지칭되는 그리드 컴퓨팅은, 임의의 머신 내의 미사용된 CPU 용량이 필수적인 전체 처리 작업에 할당될 수 있게 한다.
도 1에 도시된 바와 같이, 그리드(120)는 클라이언트 및 서버 컴퓨터의 조합으로 이루어질 수 있다. 미사용된 리소스를 갖는 임의의 컴퓨터 시스템은 네트워크 데이터 처리 시스템(100)을 통해 그리드 작업을 수용하도록 구성될 수 있다. 그리드(120) 내의 그리드 컴퓨터는 전 세계에 걸쳐 있을 수 있고, 예를 들면, 개인 네트워크, 전화 접속(dial-up connections), 전용 인터넷 접속, 게이트웨이(gateway) 서비스(이것으로 한정되지 않음) 등을 통해 네트워크(102)에 접속될 수 있다.
임의의 사용자는 도 1의 클라이언트(108) 등과 같은 워크스테이션(workstation)을 이용하여 그리드(120) 내의 리소스 머신 중 하나에게 작업을 제공함으로써 그리드 기술을 이용한 계산 집약적 작업을 실행할 수 있다. 다음에 리소스 머신은 그 작업을 처리하고, 그 결과를 사용자에게 리턴할 것이다. 사용자는 작업을 실행할 특정 머신을 그리드(120) 내에서 선택할 수 있다. 이와 다르게, 사용자는 작업을 처리할 호스트(리소스)를 선택하는 그리드 스케쥴러에 작업을 제공할 수 있다. 그리드 스케쥴러는 서버, 예를 들면, 서버(104) 등과 같은 네트워크 데이터 처리 시스템(100) 내의 머신에 내장될 수 있다. 사용자가 그리드 스케쥴러에 작업을 전달하면, 사용자는 스케쥴러가 그 작업을 올바른 호스트에게로 전달할 것으로 신뢰한다고 할 수 있다.
도시된 예에서, 네트워크 데이터 처리 시스템(100)은 서로 통신하기 위해 전송 제어 TCP/IP(Protocol/Internet Protocol) 프로토콜 세트를 이용하는 네트워크 및 게이트웨이의 전 세계적 집합체를 나타내는 네트워크(102)를 갖는 인터넷이다. 인터넷의 본질은 데이터 및 메시지를 라우팅하는 수 천 개의 상업용, 정부용, 교육용 및 다른 컴퓨터 시스템으로 이루어지는 주요 노드들 또는 호스트 컴퓨터들 사이의 고속 데이터 통신 라인의 중앙부이다. 물론, 네트워크 데이터 처리 시스템(100)은 또한 예를 들면, 인트라넷(intranet), LAN(local area network), 또는 WAN(wide area network) 등과 같은 다수의 상이한 타입의 네트워크로서 구현될 수 있다. 도 1은 예로서 제시된 것이고, 본 발명에 대한 구성적인 한계로서 의도된 것이 아니다.
도 2를 참조하면, 도 1의 서버(104) 등과 같은 서버로서 구현될 수 있는 데이터 처리 시스템에 대한 블록도가 본 발명의 바람직한 실시예에 따라서 도시되어 있다. 데이터 처리 시스템(200)은 시스템 버스(206)에 접속된 복수의 프로세서(202, 204)를 포함하는 SMP(symmetric multiprocessor) 시스템일 수 있다. 이와 다르게, 단일 프로세서 시스템을 이용할 수 있다. 또한 시스템 버스(206)는 로컬 메모리(209)에 인터페이스를 제공하는 메모리 제어기/캐시(208)에 접속될 수 있다. I/O 버스 브리지(210)는 시스템 버스(206)에 접속되고, I/O 버스(212)에 대한 인터 페이스를 제공한다. 메모리 제어기/캐시(208) 및 I/O 버스 브리지(210)는 도시된 바와 같이 일체화될 수 있다.
I/O 버스(212)에 접속된 PCI(peripheral component interconnect) 버스 브리지(214)는 PCI 로컬 버스(216)에 대한 인터페이스를 제공한다. 다수의 모뎀은 PCI 로컬 버스(216)에 접속될 수 있다. 전형적인 PCI 버스 구현은 4개의 PCI 확장 슬롯(expansion slots) 또는 애드-인 접속부(add-in connectors)를 지원할 수 있다. 도 1의 클라이언트(108∼112)에 대한 통신 링크는 애드-인 접속부를 통해 PCI 로컬 버스(216)에 접속된 모뎀(218) 및 네트워크 어댑터(220)에 의해 제공될 수 있다.
추가적인 PCI 버스 브리지(222, 224)는 추가적인 모뎀 또는 네트워크 어댑터가 지지될 수 있게 하는 추가적인 PCI 로컬 버스(226, 228)를 위한 인터페이스를 제공한다. 이러한 방식으로, 데이터 처리 시스템(200)은 다수의 네트워크 컴퓨터에 대한 접속을 허용한다. 메모리 매핑 그래픽 어댑터(memory-mapped graphics adapter)(230) 및 하드 디스크(232)는 또한 도시된 바와 같이, 직접 또는 간접적으로 I/O 버스(212)에 접속될 수 있다.
당업자라면 도 2에 도시된 하드웨어가 변경될 수 있다는 것을 이해할 것이다. 예를 들면, 광학 디스크 드라이브 등과 같은 다른 주변 장치는 도시된 하드웨어에 추가하거나 대체하여 이용될 수 있다. 도시된 예는 본 발명과 관련된 구조적 제한을 의미하도록 의도되지 않았다.
도 2에 도시된 데이터 처리 시스템은 예를 들면, 뉴욕주 아몬크 소재의 인터내셔널 비즈니스 머신즈 코포레이션의 제품으로서, AIX(Advanced Interactive Executive) 운영 시스템 또는 LINUX 운영 시스템에서 실행되는 IBM eServer pSeries 시스템일 수 있다.
다음으로 도 3을 참조하면, 본 발명이 구현될 수 있는 데이터 처리 시스템에 대한 블록도가 도시되어 있다. 데이터 처리 시스템(300)은 도 1의 클라이언트(108) 등과 같이, 본 발명의 프로세스를 구현하는 코드 또는 인스트럭션이 위치될 수 있는 컴퓨터의 일례이다. 도시된 예에서, 데이터 처리 시스템(300)은 노스 브리지(north bridge) 및 MCH(memory controller hub)(308)와, 사우스 브리지(south bridge) 및 ICH(input/output(I/O controller hub)(310)를 포함하는 허브 아키텍처를 이용한다. 프로세서(302), 메인 메모리(304) 및 그래픽 프로세서(318)는 MCH(308)에 접속된다. 그래픽 프로세서(318)는 예를 들면, AGP(accelerated graphics port)를 통해 MCH에 접속될 수 있다.
도시된 예에서, LAN(local area network) 어댑터(312), 오디오 어댑터(316), 키보드 및 마우스 어댑터(320), 모뎀(322), ROM(read only memory)(324), 하드 디스크 드라이브(HDD)(326), CD-ROM 드라이버(330), USB(universal serial bus) 포트 및 다른 통신 포트(332), 및 PCI/PCIe 장치(334)는 ICH(310)에 접속될 수 있다. PCI/PCIe 장치는 예를 들면, 이더넷(Ethernet) 어댑터, 애드-인 카드(add-in cards), 노트북 컴퓨터용 PC 카드 등을 포함할 수 있다. PCI는 카드버스(cardbus) 제어기를 이용하지만, PCIe는 카드버스 제어기를 이용하지 않는다. ROM(324)은 예를 들면, 플래시(flash) 이진 입/출력 시스템(binary input/output system : BIOS)일 수 있다. 하드 디스크 드라이브(326) 및 CD-ROM 드라이브(330)는 예를 들면, IDE(integrated drive electronics) 또는 SATA(serial advanced technology attachment) 인터페이스를 이용할 수 있다. SIO(super I/O) 장치(336)는 ICH(310)에 접속될 수 있다.
운영 시스템은 프로세서(302) 상에서 실행되고, 도 3의 데이터 처리 시스템(300) 내의 여러 구성 요소를 조정하고 제어를 제공하기 위해 이용된다. 운영 시스템은 마이크로소프트 코포레이션으로부터 입수 가능한 윈도우즈 XP 등의 상업상 이용 가능한 운영 시스템일 수 있다. 자바(Java) 등과 같은 객체 지향형(object oriented) 프로그래밍 시스템은 이 운영 시스템과 함께 실행될 수 있고, 자바 프로그램으로부터 운영 시스템에 대한 호출 또는 데이터 처리 시스템(300) 상에서 실행되는 애플리케이션을 제공한다. "자바"는 선 마이크로시스템즈(Sun Microsystems) 사의 상표명이다. 운영 시스템, 객체 지향형 프로그래밍 시스템, 및 애플리케이션 또는 프로그램을 위한 인스트럭션은 하드 디스크 드라이브(326) 등과 같은 저장 장치 상에 배치되고, 프로세서(302)에 의한 실행을 위해 메인 메모리(304) 내에 로딩될 수 있다. 본 발명의 프로세스는 예를 들면, 메인 메모리(304), 메모리(324) 등과 같은 메모리, 또는 하나 이상의 주변 장치(326, 330) 내에 배치될 수 있는 컴퓨터 실행형 인스트럭션을 이용하는 프로세서(302)에 의해 실행된다.
당업자라면 도 3의 하드웨어가 구현에 따라서 변동될 수 있다는 것을 이해할 것이다. 플래시 메모리, 등가 비휘발성 메모리, 또는 광학 디스크 드라이브 등과 같은 다른 내부 하드웨어 또는 주변 장치는, 도 3에 도시된 하드웨어에 추가되거나 대체하여 이용될 수 있다. 또한, 본 발명의 프로세스는 다중 프로세서 데이터 처리 시스템에 적용될 수 있다. 데이터 처리 시스템(300)은 또한 PDA의 형태를 취하는 것에 추가하여 타블렛 컴퓨터(tablet computer) 또는 랩탑 컴퓨터가 될 수 있다.
그리드 내의 리소스 머신은 과도한 부하가 걸릴 수 있다. 이러한 경우에, 1차적 리소스 머신은 작업을 2차적 리소스 머신으로 오프로딩할 수 있다. 도 4는 1차적 리소스로부터 2차적 리소스로 그리드 작업을 오프로딩하는 프로세스를 도시한다. 사용자는 1차적 리소스와의 허가를 실행한다. 전형적으로 허가는 사용자가 작업을 호스트에게 전달했다는 단순한 사실에 의해 실행된다. 사용자가 호스트를 신뢰하지 않는다면, 사용자는 작업을 호스트에게 전달하지 않을 것이다. 다시 말해서, 사용자는 처음부터 1차적 리소스를 신뢰하거나, 그리드 스케쥴러를 신뢰하여 적절한 1차적 리소스에 그리드 작업을 할당할 수 있다. 리소스는 사용자의 신원(ID)을 허가 리스트 또는 그리드맵 파일(gridmap file)에 대해 비교함으로써 사용자를 허가한다. 그리드 내의 각각의 리소스는 해당 리소스에서 작업을 실행하도록 허가된 각 사용자의 ID 및 다른 속성을 저장하는 허가 리스트 또는 그리드맵 파일을 보유한다. 때때로, 그리드의 관리자는 리스트에 대한 변경이 이루어질 때마다 그리드 내의 모든 리소스에 대해 그 리스트를 강제한다. 사용자의 프록시 인증서와 1차적 리소스의 호스트 인증서의 교환에 의한 상호 인증 이후에, 사용자(410)는 그리드 작업을 1차적 리소스(420)로 전달한다.
도 4에 도시된 바와 같이, 동작(1)에서, 1차적 리소스(420)는 사용자 머 신(410)과의 상호 인증을 실행한다. 상호 인증은 예를 들면 X509 인증서 등과 같은 디지털 인증서를 이용하여 실행될 수 있다. 사용자(410)는 예를 들면, "/home/<user>/.globus/user_cert.pem" 등의 인증서를 저장할 수 있다.
전형적인 디지털 인증서는 예를 들면 (C=US, O=IBM, OU=AIX, CN=JohnUser) 등의 구별되는 네임에 의해 사용자 등의 최종 개체를 기술한다. 이 예에서, 디지털 인증서는 국가(C), 조직(O), 조직 단위(organizational unit)(OU), 및 커먼 네임(common name)(CN)을 식별한다. 디지털 인증서는 또한 최종 개체의 공개 키(public key)를 포함하고, 신뢰 가능 인증 기관(certificate authority)(CA)의 비밀 키(private key)에 의해 승인된다. 따라서, 디지털 인증서를 수신할 때, 신뢰 가능 CA의 서명을 검증할 수 있고, CA가 사용자의 신원을 적절히 조사한다고 신뢰할 수 있다.
동작(2)에서, 1차적 리소스(420)는 그리드 작업이 2차적 리소스(430)로 오프로딩되도록 결정할 수 있다. 1차적 리소스는 그의 처리 리소스가 더 이상 과소 사용(underused)되지 않는다면 그리드 작업을 오프로딩할 수 있다. 예를 들면, 1차적 리소스는 리소스가 의도하는 작업량(workload)을 수신하여, 1차적 리소스가 더 이상 이용 가능한 CPU 리소스를 갖지 않게 할 수 있다.
동작(3)에서, 1차적 리소스는 인증서 요청을 사용자 머신으로 전달한다. 다음에 사용자 머신(410)은 1차적 리소스에 대한 프록시 인증서를 자동적으로 생성하여 2차적 리소스와의 인증을 위해 이용한다. 이러한 프로세스는 자동화되는 것이 바람직한데, 왜냐하면 이러한 그리드 작업 또는 프로그램이 몇 일 동안 실행될 수 있기 때문이다. 다시 말해서, 사용자가 이러한 요청을 허용 또는 거부하도록 제시되는 것이 실제적이지는 않다. 다음에 사용자 머신(410)은 예를 들면, "/tmp/X509proxycert" 등의 프록시 인증서를 저장할 수 있다.
프록시 인증서 구별 가능 네임은 "/proxy" 등과 같은 스트링(string)이 첨부되어 있는 인증서와 유사하다. 예를 들면, (C=US, O=IBM, OU=AIX, CN=JohnUser/proxy) 등이 있다. 프록시 인증서는 CA가 아닌 인증서에 의해 승인된다. 다시 말해서, CA는 인증서를 승인하고, 인증서는 프록시 인증서를 승인한다. 프록시 인증서가 원격 그리드 리소스에 의해 수신될 때, 신뢰 사슬(chain of trust)은 다음과 같다. 1) 나는 신뢰 가능 CA를 신뢰하고, 신뢰 가능 CA는 인증서를 승인한다. 2) 그러므로, 나는 인증서를 신뢰한다. 3) 나는 인증서를 신뢰한다. 그러므로 나는 인증서에 의해 승인된 프록시 인증서를 신뢰한다. 4) 그러므로, 나는 프록시 인증서를 신뢰한다.
동작(4)에서, 사용자 머신(410)은 프록시 인증서를 1차적 리소스(420)에 전달한다. 다음에 1차적 리소스(420)는 작업을 2차적 리소스(430)에 제공한다. 다음에 동작(5)에서 상호 인증이 실행되고, 2차적 리소스(430)는 프록시를 이용하여 작업을 실행하도록 사용자를 허가한다.
도 4에 도시된 프로세스의 이점은 프록시 인증서에 짧은 수명이 할당된다는 점이다. 전형적인 수명은, 예를 들면, 24시간일 수 있다. 프록시 인증서는 그리드 작업을 수반한다. 그러므로, 프록시 인증서가 손상되면, 짧은 시간 내에 이 프록시 인증서는 폐기되어, 피해의 가능성을 제한한다. 또한, 추가적인 프록시 인증 서가 필요에 따라 자동적으로 생성될 수 있기 때문에 그리드 작업은 사용자의 주의를 요구하지 않으면서 그리드에 걸쳐 이동될 수 있다. 이것은 그리드 작업이 그리드 내에서 어느 정도로 분포되었는지에 무관하게 사용자가 한번의 승인으로 그리드 작업을 제공할 수 있게 한다. 다시 말해서, 사용자는 간단하게 그리드 작업을 제공하고 자리를 뜰 수 있다.
1차적 리소스는 기준의 세트에 기초하여 2차적 리소스를 선택할 수 있다. 이 점에 있어서, 1차적 리소스는 2차적 리소스와의 소정 형태의 허가를 실행할 수 있다. 그러나, 작업을 제공한 사용자가 2차적 리소스 또는 호스트를 반드시 신뢰하는 것은 아니다. 결과적으로, 작업을 처리하는 2차적 리소스 머신은 바람직하거나, 필수적이기까지 한 보안 레벨을 충족시키지 못할 수 있다. 머신은 바이러스 공격 또는 스파이웨어에 취약한 운영 시스템을 가질 수 있다. 그렇지 않으면 2차적 리소스는 그리드 작업의 결과 또는 IP(Internet protocol) 어드레스를 불법 누출하거나 도난당할 수 있다.
도 5는 본 발명의 바람직한 실시예에 따라서 프록시 인증서 생성을 통해 그리드 상호 허가를 가지고 1차적 리소스로부터 2차적 리소스로 그리드 작업을 오프로딩하는 프로세스를 도시한다. 프록시 인증서 생성을 통한 그리드 상호 허가의 기반이 되는 전제는 다음의 정보, 즉, 1. 작업이 1차적 리소스 외부로 오프로딩되거나 분산됨, 2. 그 발생 시간에 따른 정확한 요청, 3. 2차적 리소스의 도출된 IP 어드레스를 확인하기 위해 상호 인증 프로세스에 영향을 주거나 중단한다는 것이다.
이러한 정보를 가지고, 자동화된 프로세스를 실행하는 사용자 머신은 2차적 리소스에 관한 상세 정보를 발견하고, 2차적 리소스가 작업을 실행하도록 허가되었는지 여부를 결정하고, 필요한 경우에 2차적 인증 프로세스를 종료 또는 방해함으로써 상호 허가 메커니즘을 생성할 수 있다.
사용자(510)는 그리드 작업을 1차적 리소스(520)로 전달한다. 사용자는 1차적 리소스와의 허가를 실행한다. 다시 말해서, 사용자는 처음부터 1차적 리소스를 신뢰하거나, 그리드 스케쥴러가 그리드 작업을 적절한 1차적 리소스에 할당할 것으로 신뢰한다. 동작(1)에서, 1차적 리소스(520)는 사용자 머신(510)과의 상호 인증을 실행한다. 상호 인증은 예를 들면 X509 인증서 등과 같은 디지털 인증서를 이용하여 실행될 수 있다.
동작(2)에서, 1차적 리소스(520)는 그리드 작업이 2차적 리소스(530)로 오프로딩되도록 결정할 수 있다. 동작(3)에서, 1차적 리소스는 인증서 요청을 사용자 머신으로 전달할 수 있다. 1차적 리소스(520)로부터의 인증서 요청에 응답하여, 동작(3A)에서 사용자 머신(510)은 현재의 그리드 작업이 1차적 리소스(520)에 의해 오프로딩되었는지 여부에 무관하게 새롭게 식별된 2차적 리소스(530)로 직접 허가 작업을 제공한다.
이러한 허가 작업은 2차적 리소스 머신에서 실행되고, 2차적 리소스의 보안 구성 요소를 식별한다. 예를 들면, 허가 작업은 2차적 리소스가 최신의 운영 시스템 및 보안 업데이트를 구비하는지 여부, 2차적 리소스가 신뢰 가능 운영 시스템을 구비하는지 여부, 이러한 리소스에서 실행되는 어떠한 충돌되는 그리드 작업이 존 재하는지 여부 등을 판정할 수 있다. 허가 작업에 의해 수집된 보안 정보는 구현 방식에 따라서 달라질 수 있다. 예를 들면, 어떤 사용자는 2차적 리소스가 하나의 구현에서 실행하는 작업을 열거하기를 원하지만, 다른 사용자는 중요 및/또는 전략적 정보가 비밀 채널(covert channels)을 통해서 누출되는 것을 방지하기 위해 디스에이블된 커맨드를 갖는 리소스를 선호할 수 있다.
사용자 머신은 예를 들면, 차단 목록(black list) 및/또는 허용 목록(white list)을 구비하는 것 등과 같이 보다 고정된 결정 방식을 이용하여 상호 허가를 실행할 수 있다. 사용자 머신은 그리드 가상 조직에 의해 신뢰되는 임의의 리소스를 신뢰하지만, 모니터링이 덜 집중되는 시간인 업무 시간 이후에는 특정 리소스를 신뢰하지 않는 등의 룰을 이용할 수 있다. 2차적 리소스가 상술된 바와 같이 사용자 ID를 허가 리스트에 대해 비교함으로써 인가하기 때문에 2차적 리소스와의 인증은 상호적이다.
2차적 리소스와의 상호 허가가 성공이면, 사용자 머신(510)은 2차적 리소스와의 인증에 이용하기 위해 1차적 리소스에 대한 유효 프록시 인증서를 생성한다. 그러나, 2차적 리소스가 허가 프로세스를 실패하면, 사용자 머신(510)은 무효 프록시 인증서를 생성한다.
동작(4)에서, 사용자 머신(510)은 프록시 인증서를 1차적 리소스(520)로 전달한다. 그 후에 1차적 리소스(520)는 작업을 2차적 리소스(530)로 제공한다. 다음에 동작(5)에서 상호 인증이 실행되고, 2차적 리소스(530)는 프록시를 이용하여 작업을 실행하도록 사용자를 허가한다. 그러나, 1차적 리소스(520)가 무효 프록시 인증서를 2차적 리소스(530)에게 제시하면, 2차적 리소스는 사용자의 그리드 작업이 실행되도록 허용하지 않을 것이다. 1차적 리소스는 이러한 에러를 관찰한 다음, 동작(2)으로 되돌아가서 작업을 오프로딩할 다른 2차적 리소스를 탐색할 것이다. 따라서, 사용자 머신은 2차적 리소스가 유효 또는 무효 프록시 인증서의 생성을 통해 그리드 작업을 수용 또는 거부하게 강제함으로써 2차적 리소스와의 상호 허가를 실행한다.
다음으로 도 6을 참조하면, 본 발명의 예시적인 실시예에 따라서 그리드 컴퓨팅 시스템 내의 머신을 도시하는 블록도가 제시된다. 사용자 머신(610)은 인증 모듈(612), 인증서 생성 모듈(614), 및 허가 모듈(612)을 포함한다. 1차적 리소스 머신(620)은 인증 모듈(622) 및 작업량 밸런싱 모듈(624)을 포함한다. 2차적 리소스 머신(630)은 인증 모듈(632) 및 작업량 밸런싱 모듈(634)을 포함한다.
1차적 리소스 머신(620)이 사용자 머신(610)으로부터 그리드 작업을 수신할 때, 1차적 리소스 머신(620)은 인증 모듈(622)을 이용하여 사용자 머신과의 인증을 실행한다. 사용자 머신(610)은 인증 모듈(612)을 통해 1차적 리소스 머신과의 이러한 상호 인증을 실행한다. 1차적 리소스 머신(620)은 또한 1차적 리소스 머신 내의 인증 모듈(622) 및 2차적 리소스 머신 내의 인증 모듈(632)을 통해 2차적 리소스(630)와의 상호 인증을 실행할 수 있다.
작업량 밸런싱 모듈(624)을 이용하여, 1차적 리소스 머신(620)은 다른 리소스로 작업을 오프로딩하도록 결정할 수 있다. 예를 들면, 1차적 리소스 머신(620)은 사용자 머신(610)으로부터 수신된 그리드 작업을 2차적 리소스 머신(630)으로 오프로딩할 수 있다. 마찬가지로, 2차적 리소스 머신(630)은 작업량 밸런싱 모듈(634)을 이용하여 동일한 그리드 작업을 다른 리소스 머신(도시하지 않음)으로 오프로딩할 수 있다.
1차적 리소스 머신(620)이 사용자 머신(610)으로부터 수신된 그리드 작업을 2차적 리소스 머신(630)으로 오프로딩하도록 결정하면, 1차적 리소스 머신(620)은 인증서 요청을 사용자 머신(610)으로 전달한다. 본 발명의 예시적인 실시예에 따르면, 사용자 머신(610)은 1차적 리소스 머신(620)으로부터의 인증서 요청에 응답하여, 2차적 리소스 머신(630)과의 상호 허가를 실행한다.
인증서 요청은 예를 들면 IP 어드레스 등에 의해 2차적 리소스 머신을 식별할 수 있다. 이와 다르게, 사용자 머신(610)은 2차적 리소스의 IP 어드레스에 관하여 질의하는 질의 그리드 작업을 1차적 리소스 머신(620)에게 제공할 수 있다. 다음에 사용자 머신(610)은 허가 모듈(614)을 이용하여 2차적 리소스 머신에 기초한 허가 판정을 실행한다. 사용자 머신(610)은 허가 작업을 새로 식별된 2차적 리소스(630)로 제공할 수 있다. 이러한 허가 작업은 2차적 리소스 머신 상에서 실행될 수 있고, 2차적 리소스의 보안 구성 요소를 식별할 수 있다. 허가 모듈(614)은 또한 예를 들면, 차단 목록 및/또는 허용 목록을 구비하는 것 등과 같이 보다 고정된 결정 방식을 이용하여 상호 허가를 실행할 수 있다.
2차적 리소스 머신(630)과의 상호 허가가 성공하면, 사용자 머신(610)은 인증서 생성 모듈(616)을 이용하여 유효 프록시 인증서를 생성한다. 그러나, 2차적 리소스 머신(630)이 허가 프로세스를 실패하면, 사용자 머신(610)은 인증서 생성 모듈(616)을 이용하여 무효 프록시 인증서를 생성한다.
사용자 머신(610)은 프록시 인증서를 1차적 리소스 머신(620)으로 전달한다. 그 후에 1차적 리소스 머신(620)은 작업을 2차적 리소스 머신(630)으로 제공한다. 다음에 인증 모듈(622)과 인증 모듈(632) 사이에 상호 인증이 발생하고, 2차적 리소스(630)는 프록시를 이용하여 작업을 실행하도록 사용자를 허가한다. 그러나, 1차적 리소스 머신(620)이 2차적 리소스 머신(630)에게 무효 프록시 인증서를 제시하면, 2차적 리소스 머신은 사용자의 그리드 작업이 실행되도록 허용하지 않을 것이다. 1차적 리소스 머신은 이러한 에러를 관찰하고, 작업량 밸런싱 모듈(624)을 이용하여 작업을 오프로딩할 다른 2차적 리소스를 탐색할 것이다.
도 7은 본 발명의 예시적인 실시예에 따라서 그리드 컴퓨팅 시스템 내의 리소스 머신의 동작을 도시하는 흐름도이다. 그리드 작업을 처리하고자 하는 요청이 수신될 때 이 프로세스는 시작되고, 사용자 머신과의 상호 인증을 실행한다(블록(702)). 다음에, 인증이 성공인지 여부에 대한 판정이 이루어진다(블록(704)). 인증이 실패하였다면, 프로세스는 그리드 작업을 거부하고(블록(706)), 프로세스는 종료된다.
블록(704)에서 인증이 성공이라면, 프로세스는 사용자를 허가하고(블록(708)), 허가가 성공인지 여부에 대한 판정이 이루어진다(블록(710)). 허가가 실패했다면, 이 프로세스는 그리드 작업을 거부하고(블록(706)), 프로세스가 종료된다.
블록(710)에서 허가가 성공이면, 이 프로세스는 사용자 머신으로부터 그리드 작업을 수신하고(블록(712)), 그리드 작업을 오프로딩할 것인지 여부에 대한 판정이 이루어진다(블록(714)). 블록(714)에서의 판정은 그리드 작업이 1차적 리소스 머신에 의해 처리되기 전의 어느 시점에서도 이루어질 수 있다. 그리드 작업이 오프로딩되지 않는다면, 프로세스는 그리드 작업을 실행하고(블록(716)), 이 프로세스는 종료된다.
블록(714)에서 그리드 작업이 오프로딩되면, 이 프로세스는 그리드 작업을 전달할 2차적 리소스를 선택한다(블록(718)). 다음에, 이 프로세스는 인증서 요청을 사용자 머신으로 전달하고(블록(720)), 사용자 머신으로부터 프록시 인증서를 수신한다(블록(722)). 그 후에, 이 프로세스는 프록시 인증서를 이용하여 2차적 리소스와의 상호 인증을 실행한다(블록(724)).
2차적 리소스와의 인증이 성공인지 여부에 대한 판정이 이루어진다(블록(726)). 인증이 실패라면, 이 프로세스는 블록(718)으로 되돌아가서 다른 2차적 리소스를 선택한다. 그러나, 블록(726)에서 2차적 리소스와의 인증이 성공이면, 이 프로세스는 그리드 작업을 2차적 리소스로 오프로딩하고(블록(728)), 이 프로세스는 종료된다.
도 8은 본 발명의 예시적인 실시예에 따라서 그리드 컴퓨팅 시스템 내의 사용자 머신의 동작을 도시하는 흐름도이다. 이 프로세스는 그리드 작업이 그리드 컴퓨팅 시스템 내의 리소스에 제공될 때 시작한다. 이 프로세스는 1차적 리소스를 식별하고(블록(802)), 1차적 리소스와의 상호 인증을 실행한다(블록(804)). 인증이 성공인지 여부에 대한 판정이 이루어진다(블록(806)). 인증이 실패라면, 이 프 로세스는 블록(802)으로 되돌아가서 다른 1차적 리소스를 식별한다.
블록(806)에서 인증이 성공이면, 이 프로세스는 1차적 리소스와의 허가를 실행한다(블록(808)). 다음에, 1차적 리소스와의 허가가 성공인지 여부에 대한 판정이 이루어진다(블록(810)). 허가가 실패이면, 이 프로세스는 블록(802)으로 되돌아가서 다른 1차적 리소스를 식별한다.
블록(810)에서 허가가 성공이면, 이 프로세스는 그리드 작업을 1차적 리소스로 전달한다(블록(812)). 퇴장 조건(exit condition)이 존재하는지 여부에 대한 판정이 이루어진다(블록(814)). 퇴장 조건은 예를 들면, 사용자 머신이 꺼질 때 또는 그리드 컴퓨팅 소프트웨어가 사용자 머신에서 닫힐 때 존재할 수 있다. 퇴장 조건은 또한 그리드 작업의 결과가 수신될 때 존재할 수 있다. 퇴장 조건이 존재하면, 프로세스는 종료된다.
그러나, 블록(814)에서 퇴장 조건이 존재하지 않으면, 1차적 리소스로부터 인증서 요청이 수신되었는지 여부에 대한 판정이 이루어진다(블록(816)). 인증서 요청이 수신되지 않으면, 프로세스는 블록(814)으로 되돌아가서 퇴장 조건이 존재하는지 여부에 대한 판정이 이루어진다.
블록(816)에서 1차적 리소스로부터 인증서 요청이 수신되었다면, 프로세스는 2차적 리소스와의 허가를 실행한다(블록(818)). 다음에, 2차적 리소스와의 허가가 성공인지 여부에 대한 판정이 이루어진다(블록(820)). 블록(820)에서 허가가 성공이면, 프로세스는 유효 프록시 인증서를 생성하고(블록(822)), 실패라면, 프로세스는 무효 프록시 인증서를 생성한다(블록(824)). 블록(822) 및 블록(824) 중 하나 에서 유효 또는 무효 프록시 인증서가 생성된 후에, 프로세스는 프록시 인증서를 1차적 리소스로 리턴한다. 그 후에, 프로세스는 블록(814)으로 되돌아가서 퇴장 조건이 존재하는지 여부를 판정한다.
따라서, 본 발명은 프록시 인증서 생성을 통해 그리드 상호 허가 메커니즘을 제공함으로써 종래 기술의 단점을 해결한다. 그리드 내의 리소스 머신은 사용자 ID를 허가 리스트 또는 그리드맵 파일에 대해 비교함으로써 사용자를 허가할 수 있다. 본 발명은 그리드 리소스에서 그리드 소프트웨어를 변경하지 않고, 계속 기존의 그리드 상호 허가 및 1방향(one-way) 허가의 흐름 내에서 작동하면서 사용자 머신이 그의 그리드 작업의 분포에 대한 허가를 제어하도록 구성될 수 있게 한다. 본 발명의 메커니즘은 그리드 사용자가 작업을 제공하고 자리를 뜰 수 있게 하면서 1회 승인 체계를 유지한다.
본 발명이 최대 기능 데이터 처리 시스템과 관련하여 설명되었으나, 당업자라면 본 발명의 프로세스는 컴퓨터 판독 가능 매체의 인스트럭션의 형태 및 다양한 형태로 분포될 수 있다는 것과, 본 발명이 분포를 실행하기 위해 실제 이용되는 특정 타입의 신호 보유 매체에 무관하게 동일하게 적용될 수 있다는 것을 이해할 수 있다는 것을 유의해야 한다. 컴퓨터 판독 가능 매체의 예는 플로피 디스크, 하드 디스크 드라이브, RAM, CD-ROM, DVD-ROM 등과 같은 기록 가능 타입 매체와, 예를 들면, 무선 주파수 및 광파 전송 등과 같은 전송 형태를 이용하는 디지털 및 아날로그 통신 링크, 유선 또는 무선 통신 링크 등의 전송 타입 매체를 포함한다. 컴퓨터 판독 가능 매체는 특정 데이터 처리 시스템에서의 실제 사용을 위해 디코딩되 는 코딩 포맷의 형태를 취할 수 있다.
본 발명의 설명은 예시 및 설명의 목적을 위해 제시되었고, 본 발명을 개시된 형태로 한정 또는 제한하도록 의도되지 않았다. 당업자라면 그에 대한 여러 수정 및 변형이 명확할 것이다. 이러한 실시예는 본 발명의 원리, 실제적인 응용을 가장 잘 설명하고, 다른 당업자들이 고려되는 특정 사용에 적합하도록 여러 가지로 수정된 다양한 실시예를 가지고 본 발명을 이해하도록 하기 위해서 선택되고 설명되었다.

Claims (10)

  1. 그리드 컴퓨팅 시스템 내에서 그리드 작업(grid job)의 오프로딩을 허가하는 방법으로서,
    1차적 그리드 리소스에 그리드 작업을 제공하는 단계와,
    상기 1차적 그리드 리소스로부터의 인증서 요청에 응답하여, 상기 그리드 작업을 실행할 2차적 그리드 리소스를 식별하는 단계와,
    상기 2차적 그리드 리소스와의 허가를 실행하는 단계와,
    상기 2차적 그리드 리소스와의 허가가 실패하면, 무효 프록시 인증서(invalid proxy certificate)를 생성하고 상기 무효 프록시 인증서를 상기 1차적 그리드 리소스로 전달하는 단계를 포함하는
    그리드 작업의 오프로딩 허가 방법.
  2. 제 1 항에 있어서,
    상기 2차적 그리드 리소스와의 허가가 성공하면, 유효 프록시 인증서를 생성하는 단계와,
    상기 유효 프록시 인증서를 상기 1차적 그리드 리소스로 전달하는 단계를 더 포함하는
    그리드 작업의 오프로딩 허가 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 1차적 그리드 리소스에 그리드 작업을 제공하는 상기 단계는 그리드 스케쥴러에 상기 그리드 작업을 제공하는 단계를 포함하고,
    상기 그리드 스케쥴러는 상기 1차적 그리드 리소스를 선택하고, 상기 그리드 작업을 상기 1차적 그리드 리소스로 전달하는
    그리드 작업의 오프로딩 허가 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 그리드 작업을 실행할 상기 2차적 그리드 리소스를 식별하는 상기 단계는, 상기 2차적 리소스의 식별 정보에 관하여 질의하는 질의 그리드 작업을 상기 1차적 그리드 리소스에 대해 제공하는 단계를 포함하는
    그리드 작업의 오프로딩 허가 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 그리드 작업을 실행할 상기 2차적 그리드 리소스를 식별하는 상기 단계는, 상기 인증서 요청 내에서 상기 2차적 그리드 리소스의 어드레스를 검출하는 단계를 포함하는
    그리드 작업의 오프로딩 허가 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 2차적 그리드 리소스와의 허가를 실행하는 상기 단계는, 상기 2차적 그리드 리소스에 대해 허가 작업을 제공하는 단계를 포함하는
    그리드 작업의 오프로딩 허가 방법.
  7. 제 6 항에 있어서,
    상기 허가 작업은,
    상기 2차적 리소스의 보안 성분을 식별하는 단계와,
    상기 2차적 그리드 리소스의 운영 시스템, 상기 2차적 그리드 리소스에 설치된 보안 업데이트, 상기 2차적 리소스가 신뢰 가능(trusted) 운영 시스템을 구비하는지 여부 및 임의의 충돌하는 그리드 작업이 상기 2차적 그리드 리소스 상에서 실행되는지 여부 중 적어도 하나를 결정하는 단계와,
    주어진 커맨드가 상기 2차적 그리드 리소스에서 디스에이블(disabled)되는지 여부를 결정하는 단계 중에서 하나를 포함하는
    그리드 작업의 오프로딩 허가 방법.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 2차적 그리드 리소스와의 허가를 실행하는 상기 단계는,
    상기 2차적 그리드 리소스가 차단 목록(black list)에 포함되는지 여부를 결정하는 단계와,
    상기 2차적 그리드 리소스가 허용 목록(white list)에 포함되는지 여부를 결정하는 단계와,
    하나 이상의 룰(rules)을 이용하여 상기 2차적 그리드 리소스와의 허가를 실행하는 단계 중 하나를 포함하는
    그리드 작업의 오프로딩 허가 방법.
  9. 그리드 컴퓨팅 시스템 내에서 그리드 작업의 오프로딩을 허가하는 장치로서,
    1차적 그리드 리소스에 그리드 작업을 제공하는 수단과,
    상기 1차적 그리드 리소스로부터의 인증서 요청에 응답하여, 상기 그리드 작업을 실행할 2차적 그리드 리소스를 식별하는 수단과,
    상기 2차적 그리드 리소스와의 허가를 실행하는 수단과,
    상기 2차적 그리드 리소스와의 허가가 실패하면, 무효 프록시 인증서를 생성하고 상기 무효 프록시 인증서를 상기 1차적 그리드 리소스로 전달하는 수단을 포함하는
    그리드 작업의 오프로딩 허가 장치.
  10. 그리드 컴퓨팅 시스템 내에서 그리드 작업의 오프로딩을 허가하는 컴퓨터 판독 가능 매체 내의 컴퓨터 프로그램 제품으로서,
    1차적 그리드 리소스에 그리드 작업을 제공하는 인스트럭션과,
    상기 1차적 그리드 리소스로부터의 인증서 요청에 응답하여, 상기 그리드 작업을 실행할 2차적 그리드 리소스를 식별하는 인스트럭션과,
    상기 2차적 그리드 리소스와의 허가를 실행하는 인스트럭션과,
    상기 2차적 그리드 리소스와의 허가가 실패하면, 무효 프록시 인증서를 생성하고 상기 무효 프록시 인증서를 상기 1차적 그리드 리소스로 전달하는 인스트럭션을 포함하는
    컴퓨터 프로그램 제품.
KR1020067017466A 2004-03-25 2005-03-22 그리드 작업의 오프로딩 인증 방법, 그리드 작업의 오프로딩 인증 장치 및 컴퓨터 판독가능한 저장 매체 KR100962876B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/809,551 2004-03-25
US10/809,551 US7467303B2 (en) 2004-03-25 2004-03-25 Grid mutual authorization through proxy certificate generation

Publications (2)

Publication Number Publication Date
KR20070018859A true KR20070018859A (ko) 2007-02-14
KR100962876B1 KR100962876B1 (ko) 2010-06-09

Family

ID=34968827

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067017466A KR100962876B1 (ko) 2004-03-25 2005-03-22 그리드 작업의 오프로딩 인증 방법, 그리드 작업의 오프로딩 인증 장치 및 컴퓨터 판독가능한 저장 매체

Country Status (5)

Country Link
US (2) US7467303B2 (ko)
JP (1) JP4721191B2 (ko)
KR (1) KR100962876B1 (ko)
CN (1) CN1914881B (ko)
WO (1) WO2005094034A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006139747A (ja) * 2004-08-30 2006-06-01 Kddi Corp 通信システムおよび安全性保証装置
US7802257B1 (en) * 2005-06-20 2010-09-21 Oracle America, Inc. Mechanism for bridging a thread-oriented computing paradigm and a job-oriented computing paradigm
CN100382511C (zh) * 2005-12-26 2008-04-16 北京航空航天大学 一种网格授权实现方法
JP4745858B2 (ja) * 2006-02-20 2011-08-10 富士通株式会社 セキュリティ管理プログラム、およびセキュリティ管理方法
JP4722730B2 (ja) * 2006-03-10 2011-07-13 富士通株式会社 セキュリティ管理プログラム、セキュリティ管理装置、およびセキュリティ管理方法
US8019871B2 (en) * 2006-07-27 2011-09-13 Hewlett-Packard Development Company, L.P. Federation of grids using rings of trust
JP5188057B2 (ja) * 2006-11-14 2013-04-24 株式会社ソニー・コンピュータエンタテインメント 情報処理システム、情報処理装置、および情報処理方法
WO2008066277A1 (en) * 2006-12-01 2008-06-05 Electronics And Telecommunications Research Institute Collaboration system and method among heterogeneous nomadic and mobile communication networks using grid services
KR100901872B1 (ko) * 2006-12-01 2009-06-09 한국전자통신연구원 그리드 서비스를 이용한 이종 노매딕/이동 통신 네트워크간 협업 시스템 및 그 방법
US8181245B2 (en) * 2007-06-19 2012-05-15 Microsoft Corporation Proxy-based malware scan
US8166138B2 (en) * 2007-06-29 2012-04-24 Apple Inc. Network evaluation grid techniques
CN101222522B (zh) * 2008-01-17 2011-08-10 武汉理工大学 一种考虑网格任务重要性和时间紧迫性的网格任务调度方法
MY150173A (en) * 2009-03-16 2013-12-13 Mimos Berhad Method of generating a proxy certificate
JP5260567B2 (ja) * 2010-01-27 2013-08-14 株式会社野村総合研究所 クラウドコンピューティングシステム
JP5260566B2 (ja) * 2010-01-27 2013-08-14 株式会社野村総合研究所 クラウドコンピューティングシステム
US8645745B2 (en) * 2011-02-24 2014-02-04 International Business Machines Corporation Distributed job scheduling in a multi-nodal environment
US9104412B2 (en) * 2012-12-28 2015-08-11 International Business Machines Corporation Mobile device offloading its task to a peer device when available power is below a threshold level
US9503447B2 (en) 2014-01-30 2016-11-22 Sap Se Secure communication between processes in cloud
US9467298B1 (en) 2014-03-19 2016-10-11 National Security Agency Device for and method of multilevel chain of trust/revision
US9467299B1 (en) 2014-03-19 2016-10-11 National Security Agency Device for and method of controlled multilevel chain of trust/revision
WO2015168914A1 (zh) * 2014-05-08 2015-11-12 华为技术有限公司 一种证书获取方法和设备
US9912486B1 (en) * 2015-08-27 2018-03-06 Amazon Technologies, Inc. Countersigned certificates
US9888037B1 (en) 2015-08-27 2018-02-06 Amazon Technologies, Inc. Cipher suite negotiation
US10454689B1 (en) 2015-08-27 2019-10-22 Amazon Technologies, Inc. Digital certificate management
US20170063557A1 (en) * 2015-08-28 2017-03-02 Fortinet, Inc. Detection of fraudulent certificate authority certificates
US10579420B2 (en) 2016-07-12 2020-03-03 Proximal Systems Corporation Apparatus, system and method for proxy coupling management

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4227253A (en) * 1977-12-05 1980-10-07 International Business Machines Corporation Cryptographic communication security for multiple domain networks
US5564016A (en) 1993-12-17 1996-10-08 International Business Machines Corporation Method for controlling access to a computer resource based on a timing policy
US5796830A (en) * 1996-07-29 1998-08-18 International Business Machines Corporation Interoperable cryptographic key recovery system
US6141759A (en) * 1997-12-10 2000-10-31 Bmc Software, Inc. System and architecture for distributing, monitoring, and managing information requests on a computer network
GB2357228B (en) * 1999-12-08 2003-07-09 Hewlett Packard Co Method and apparatus for discovering a trust chain imparting a required attribute to a subject
US6754829B1 (en) * 1999-12-14 2004-06-22 Intel Corporation Certificate-based authentication system for heterogeneous environments
JP2001344207A (ja) * 2000-05-31 2001-12-14 Nec Corp 認証システムおよび認証方法
US20020150253A1 (en) * 2001-04-12 2002-10-17 Brezak John E. Methods and arrangements for protecting information in forwarded authentication messages
JP2002335239A (ja) * 2001-05-09 2002-11-22 Nippon Telegr & Teleph Corp <Ntt> シングルサインオン認証方法及びシステム装置
US7222187B2 (en) * 2001-07-31 2007-05-22 Sun Microsystems, Inc. Distributed trust mechanism for decentralized networks
US7051102B2 (en) * 2002-04-29 2006-05-23 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
US7496755B2 (en) * 2003-07-01 2009-02-24 International Business Machines Corporation Method and system for a single-sign-on operation providing grid access and network access
US20050240765A1 (en) * 2004-04-22 2005-10-27 International Business Machines Corporation Method and apparatus for authorizing access to grid resources

Also Published As

Publication number Publication date
WO2005094034A1 (en) 2005-10-06
JP2007531093A (ja) 2007-11-01
US20050216733A1 (en) 2005-09-29
US8041955B2 (en) 2011-10-18
US20090070591A1 (en) 2009-03-12
CN1914881B (zh) 2011-08-31
KR100962876B1 (ko) 2010-06-09
US7467303B2 (en) 2008-12-16
CN1914881A (zh) 2007-02-14
JP4721191B2 (ja) 2011-07-13

Similar Documents

Publication Publication Date Title
KR100962876B1 (ko) 그리드 작업의 오프로딩 인증 방법, 그리드 작업의 오프로딩 인증 장치 및 컴퓨터 판독가능한 저장 매체
US7765589B2 (en) Method and apparatus for detecting grid intrusions
US7774824B2 (en) Multifactor device authentication
JP4898328B2 (ja) トラステッド・コンピューティング・プラットフォームにおいて動的に生成された裏書き鍵に対する仮想裏書きクレデンシャルを設定するための方法、装置、およびコンピュータ・プログラム
US20070101401A1 (en) Method and apparatus for super secure network authentication
US7424610B2 (en) Remote provisioning of secure systems for mandatory control
US6189103B1 (en) Authority delegation with secure operating system queues
JP5396051B2 (ja) 承認済みファイルと信頼されたドメインのデータベースを作成及び更新する方法及びシステム
US20060236100A1 (en) System and method for enhanced layer of security to protect a file system from malicious programs
JP2005535945A (ja) コンピュータプログラムの完全性の保護方法
US7895645B2 (en) Multiple user credentials
JP2008502251A (ja) プロセスを使用するキーストアを有するコンピュータ装置及びコンピュータ装置を動作させる方法
US20100325705A1 (en) Systems and Methods for A2A and A2DB Security Using Program Authentication Factors
US7996674B2 (en) LDAP user authentication
US20060248578A1 (en) Method, system, and program product for connecting a client to a network
US20080229396A1 (en) Issuing a command and multiple user credentials to a remote system
US7308578B2 (en) Method and apparatus for authorizing execution for applications in a data processing system
US12034769B2 (en) Systems and methods for scalable zero trust security processing
US20220345491A1 (en) Systems and methods for scalable zero trust security processing
US20220311777A1 (en) Hardening remote administrator access
Jaeger et al. Security requirements for the deployment of the linux kernel in enterprise systems

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: 20130425

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140425

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150427

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160427

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170426

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190508

Year of fee payment: 10